ZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvLmdpdGlnbm9yZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDkzNTgzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsNSBAQAorLyoucGF0Y2gKKyouc3dwCisqLm9yaWcKKyoucmVqCisqfgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvQ09QWUlORy5NSVQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI5NTBkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvQ09QWUlORy5NSVQKQEAgLTAsMCArMSwxNyBAQAorUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSAKK29mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIAoraW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyAKK3RvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgCitjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgCitmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiAKK2FsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorCitUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiAKK0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCAKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSAKK0FVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCAKK09VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gCitUSEUgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL1JFQURNRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwNDk2NmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL1JFQURNRQpAQCAtMCwwICsxLDQgQEAKK0NvbGxlY3Rpb24gb2YgbGF5ZXJzIGZvciB0aGUgT0UtY29yZSB1bml2ZXJzZQorCitQbGVhc2Ugc2VlIHRoZSByZXNwZWN0aXZlIFJFQURNRXMgaW4gdGhlIGxheWVyIHN1YmRpcmVjdG9yaWVzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvY29udHJpYi9vZS1zdHlsaXplLnB5IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9jb250cmliL29lLXN0eWxpemUucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGI4YTM2MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvY29udHJpYi9vZS1zdHlsaXplLnB5CkBAIC0wLDAgKzEsNDExIEBACisjIS91c3IvYmluL2VudiBweXRob24KKworIiIiXAorU2FuaXRpemUgYSBiaXRiYWtlIGZpbGUgZm9sbG93aW5nIHRoZSBPcGVuRW1iZWRkZWQgc3R5bGUgZ3VpZGVsaW5lcywKK3NlZSBodHRwOi8vb3BlbmVtYmVkZGVkLm9yZy93aWtpL1N0eWxlR3VpZGUgCisKKyhDKSAyMDA2IEN5cmlsIFJvbWFpbiA8Y3lyaWwucm9tYWluQGdtYWlsLmNvbT4KK01JVCBsaWNlbnNlCisKK1RPRE86IAorIC0gYWRkIHRoZSBvdGhlcnMgT3BlbkVtYmVkZGVkIHZhcmlhYmxlcyBjb21tb25seSB1c2VkOgorIC0gcGFyc2UgY29tbWFuZCBhcmd1bWVudHMgYW5kIHByaW50IHVzYWdlIG9uIG1pc3VzZQorICAgIC4gcHJldmVudCBnaXZpbmcgbW9yZSB0aGFuIG9uZSAuYmIgZmlsZSBpbiBhcmd1bWVudHMKKyAtIHdyaXRlIHJlc3VsdCB0byBhIGZpbGUKKyAtIGJhY2t1cCB0aGUgb3JpZ2luYWwgLmJiIGZpbGUKKyAtIG1ha2UgYSBkaWZmIGFuZCBhc2sgY29uZmlybWF0aW9uIGZvciBwYXRjaGluZyA/CisgLSBkbyBub3QgdXNlIHN0YXJ0c3dpdGggb25seToKKyAgICAvIVwgc3RhcnRzd2l0aCgnU09NRVRISU5HJykgaXMgbm90IHRha2VuIGludG8gYWNjb3VudCBkdWUgdG8gdGhlIHByZXZpb3VzIHN0YXJ0c3dpdGgoJ1MnKS4KKyAtIGNvdW50IHJ1bGUgYnJlYWtzIGFuZCBkaXNwbGF5cyB0aGVtIGluIHRoZSBvcmRlciBmcmVxdWVuY2UKKyIiIgorCitmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uIAoraW1wb3J0IGZpbGVpbnB1dAoraW1wb3J0IHN0cmluZworaW1wb3J0IHJlCisKK19fYXV0aG9yX18gPSAiQ3lyaWwgUm9tYWluIDxjeXJpbC5yb21haW5AZ21haWwuY29tPiIKK19fdmVyc2lvbl9fID0gIiRSZXZpc2lvbjogMC41ICQiCisKKyMgVGhlIHN0YW5kYXJkIHNldCBvZiB2YXJpYWJsZXMgb2Z0ZW4gZm91bmQgaW4gLmJiIGZpbGVzIGluIHRoZSBwcmVmZXJyZWQgb3JkZXIKK09FX3ZhcnMgPSBbCisgICAgJ1NVTU1BUlknLAorICAgICdERVNDUklQVElPTicsCisgICAgJ0FVVEhPUicsCisgICAgJ0hPTUVQQUdFJywKKyAgICAnU0VDVElPTicsCisgICAgJ0xJQ0VOU0UnLAorICAgICdMSUNfRklMRVNfQ0hLU1VNJywKKyAgICAnREVQRU5EUycsCisgICAgJ1BST1ZJREVTJywKKyAgICAnU1JDUkVWJywKKyAgICAnU1JDREFURScsCisgICAgJ1BFJywKKyAgICAnUFYnLAorICAgICdQUicsCisgICAgJ0lOQ19QUicsCisgICAgJ1NSQ19VUkknLAorICAgICdTJywKKyAgICAnR1BFX1RBUkJBTExfU1VGRklYJywKKyAgICAnaW5oZXJpdCcsCisgICAgJ0VYVFJBXycsCisgICAgJ2V4cG9ydCcsCisgICAgJ2RvX2ZldGNoJywKKyAgICAnZG9fdW5wYWNrJywKKyAgICAnZG9fcGF0Y2gnLAorICAgICdXT1JLRElSJywKKyAgICAnYWNwYXRocycsCisgICAgJ2RvX2NvbmZpZ3VyZScsCisgICAgJ2RvX2NvbXBpbGUnLAorICAgICdkb19pbnN0YWxsJywKKyAgICAnUEFDS0FHRVMnLAorICAgICdQQUNLQUdFX0FSQ0gnLAorICAgICdSREVQRU5EUycsCisgICAgJ1JSRUNPTU1FTkRTJywKKyAgICAnUlNVR0dFU1RTJywKKyAgICAnUlBST1ZJREVTJywKKyAgICAnUkNPTkZMSUNUUycsCisgICAgJ0ZJTEVTJywgICAgCisgICAgJ2RvX3BhY2thZ2UnLAorICAgICdkb19zdGFnZScsCisgICAgJ2FkZGhhbmRsZXInLAorICAgICdhZGR0YXNrJywKKyAgICAnYmluZGlyJywKKyAgICAnaGVhZGVycycsCisgICAgJ2luY2x1ZGUnLAorICAgICdpbmNsdWRlZGlyJywKKyAgICAncHl0aG9uJywKKyAgICAncXRvcGlhZGlyJywKKyAgICAncGtnX3ByZWlucycsCisgICAgJ3BrZ19wcmVybScsCisgICAgJ3BrZ19wb3N0aW5zJywKKyAgICAncGtnX3Bvc3RybScsCisgICAgJ3JlcXVpcmUnLAorICAgICdzYmluZGlyJywKKyAgICAnYmFzZXN5c2NvbmZkaXInLAorICAgICdzeXNjb25mZGlyJywKKyAgICAnQUxMT1dfRU1QVFknLAorICAgICdBTFRFUk5BVElWRV9OQU1FJywKKyAgICAnQUxURVJOQVRJVkVfUEFUSCcsCisgICAgJ0FMVEVSTkFUSVZFX0xJTksnLAorICAgICdBTFRFUk5BVElWRV9QUklPUklUWScsCisgICAgJ0FMVE5BTUUnLAorICAgICdBTURfRFJJVkVSX0xBQkVMJywKKyAgICAnQU1EX0RSSVZFUl9WRVJTSU9OJywKKyAgICAnQU5HU1RST01fRVhUUkFfSU5TVEFMTCcsCisgICAgJ0FQUERFU0tUT1AnLAorICAgICdBUFBJTUFHRScsCisgICAgJ0FQUE5BTUUnLAorICAgICdBUFBUWVBFJywKKyAgICAnQVBQV0VCX0JVSUxEJywKKyAgICAnQVBQV0VCX0hPU1QnLAorICAgICdBUicsCisgICAgJ0FSQ0gnLAorICAgICdBUk1fSU5TVFJVQ1RJT05fU0VUJywKKyAgICAnQVJNX01VVEVYJywKKyAgICAnQVJUX0NPTkZJRycsCisgICAgJ0InLAorICAgICdCSkFNX09QVFMnLAorICAgICdCSkFNX1RPT0xTJywKKyAgICAnQk9OT0JPX0hFQURFUlMnLAorICAgICdCT09UU0NSSVBUUycsCisgICAgJ0JST0tFTicsCisgICAgJ0JVSUxEX0NQUEZMQUdTJywKKyAgICAnQ0ZMQUdTJywKKyAgICAnQ0NGTEFHUycsCisgICAgJ0NNRExJTkUnLAorICAgICdDT0xMSUVfTUVNT1JZX1NJWkUnLAorICAgICdDT01QQVRJQkxFX0hPU1QnLAorICAgICdDT01QQVRJQkxFX01BQ0hJTkUnLAorICAgICdDT01QSUxFX0hFUk1FUycsCisgICAgJ0NPTkZGSUxFUycsCisgICAgJ0NPTkZMSUNUUycsCisgICAgJ0NPUkVfRVhUUkFfRCcsCisgICAgJ0NPUkVfSU1BR0VfRVhUUkFfSU5TVEFMTCcsCisgICAgJ0NPUkVfUEFDS0FHRVNfRCcsCisgICAgJ0NPUkVfUEFDS0FHRVNfUkQnLAorICAgICdDUFBGTEFHUycsCisgICAgJ0NWU0RBVEUnLAorICAgICdDWFhGTEFHUycsCisgICAgJ0RFQklBTl9OT0FVVE9OQU1FJywKKyAgICAnREVCVUdfQVBQUycsCisgICAgJ0RFRkFVTFRfUFJFRkVSRU5DRScsCisgICAgJ0RCNF9DT05GSUcnLAorICAgICdFWENMVURFX0ZST01fU0hMSUJTJywKKyAgICAnRVhDTFVERV9GUk9NX1dPUkxEJywKKyAgICAnRklYRURTUkNEQVRFJywKKyAgICAnR0xJQkNfQURET05TJywKKyAgICAnR0xJQkNfRVhUUkFfT0VDT05GJywKKyAgICAnR05PTUVfVkZTX0hFQURFUlMnLAorICAgICdIRUFERVJTJywKKyAgICAnSU5ISUJJVF9ERUZBVUxUX0RFUFMnLAorICAgICdJTklUU0NSSVBUX1BBQ0tBR0VTJywKKyAgICAnSU5JVFNDUklQVF9OQU1FJywKKyAgICAnSU5JVFNDUklQVF9QQVJBTVMnLAorICAgICdJTlNBTkVfU0tJUCcsCisgICAgJ1BBQ0tBR0VfSU5TVEFMTCcsCisgICAgJ0tFUk5FTF9JTUFHRVRZUEUnLAorICAgICdLRVJORUxfSU1BR0VERVNUJywKKyAgICAnS0VSTkVMX09VVFBVVCcsCisgICAgJ0tFUk5FTF9SRUxFQVNFJywKKyAgICAnS0VSTkVMX1BSSU9SSVRZJywKKyAgICAnS0VSTkVMX1NPVVJDRScsCisgICAgJ0tFUk5FTF9TVUZGSVgnLAorICAgICdLRVJORUxfVkVSU0lPTicsCisgICAgJ0tfTUFKT1InLAorICAgICdLX01JQ1JPJywKKyAgICAnS19NSU5PUicsCisgICAgJ0hIVicsCisgICAgJ0tWJywKKyAgICAnTERGTEFHUycsCisgICAgJ0xEJywKKyAgICAnTERfU08nLAorICAgICdMRExJQlMnLAorICAgICdMRUFEX1NPTkFNRScsCisgICAgJ0xJQlRPT0wnLAorICAgICdMSUJCREJfRVhUUkEnLAorICAgICdMSUJWJywKKyAgICAnTUFDSElORV9FU1NFTlRJQUxfRVhUUkFfUkRFUEVORFMnLAorICAgICdNQUNISU5FX0VTU0VOVElBTF9FWFRSQV9SUkVDT01NRU5EUycsCisgICAgJ01BQ0hJTkVfRVhUUkFfUkRFUEVORFMnLAorICAgICdNQUNISU5FX0VYVFJBX1JSRUNPTU1FTkRTJywKKyAgICAnTUFDSElORV9GRUFUVVJFUycsCisgICAgJ01BQ0hJTkVfVEFTS1MnLAorICAgICdNQUNISU5FJywKKyAgICAnTUFDSFRZUEUnLAorICAgICdNQUtFX1RBUkdFVFMnLAorICAgICdNRVNTQUdFVVNFUicsCisgICAgJ01FU1NBR0VIT01FJywKKyAgICAnTUlSUk9SUycsCisgICAgJ01VVEVYJywKKyAgICAnT0VfUU1BS0VfSU5DRElSX1FUJywKKyAgICAnT0VfUU1BS0VfQ1hYRkxBR1MnLAorICAgICdPUkJJVF9JRExfU1JDJywKKyAgICAnUEFSQUxMRUxfTUFLRScsCisgICAgJ1BBS0NBR0VfQVJDSCcsCisgICAgJ1BDTUNJQV9NQU5BR0VSJywKKyAgICAnUEtHX0JBU0VOQU1FJywKKyAgICAnUEtHJywKKyAgICAnUUVNVScsCisgICAgJ1FNQUtFX1BST0ZJTEVTJywKKyAgICAnUVBFRElSJywKKyAgICAnUVBGX0RFU0NSSVBUSU9OJywKKyAgICAnUVBGX1BLR1BBVFRFUk4nLAorICAgICdRVF9DT05GSUdfRkxBR1MnLAorICAgICdRVF9MSUJSQVJZJywKKyAgICAnUk9PVEZTX1BPU1RQUk9DRVNTX0NPTU1BTkQnLAorICAgICdSUkVQTEFDRVMnLAorICAgICdUQVJHRVRfQ0ZMQUdTJywKKyAgICAnVEFSR0VUX0NQUEZMQUdTJywKKyAgICAnVEFSR0VUX0xERkxBR1MnLAorICAgICdVQk9PVF9NQUNISU5FJywKKyAgICAnVUNMSUJDX0JBU0UnLAorICAgICdVQ0xJQkNfUEFUQ0hFUycsCisgICAgJ1VTRVJBRERfUEFDS0FHRVMnLAorICAgICdVU0VSQUREX1BBUkFNJywKKyAgICAnVklSVFVBTF9OQU1FJywKKyAgICAnWE9SR19QTicsCisgICAgJ1hTRVJWRVInLAorICAgICdvdGhlcnMnCitdCisKK3ZhclJlZ2V4cCA9IHInXihbYS16QS1aXzAtOSR7fS1dKikoWyBcdF0qKShbKy46XT89WysuXT8pKFsgXHRdKikoW15cdF0rKScKK3JvdXRpbmVSZWdleHAgPSByJ14oW2EtekEtWjAtOV8gJHt9LV0rPylcKCcKKworIyBWYXJpYWJsZXMgc2VlbiBpbiB0aGUgcHJvY2Vzc2VkIC5iYgorc2Vlbl92YXJzID0ge30KK2ZvciB2IGluIE9FX3ZhcnM6IAorICAgIHNlZW5fdmFyc1t2XSA9IFtdCisKKyMgX0Zvcm1hdCBndWlkZWxpbmUgIzBfOiAKKyMgICBObyBzcGFjZXMgYXJlIGFsbG93ZWQgYXQgdGhlIGJlZ2lubmluZyBvZiBsaW5lcyB0aGF0IGRlZmluZSBhIHZhcmlhYmxlIG9yIAorIyAgIGEgZG9fIHJvdXRpbmUKK2RlZiByZXNwZWN0X3J1bGUwKGxpbmUpOiAKKyAgICByZXR1cm4gbGluZS5sc3RyaXAoKT09bGluZQorZGVmIGNvbmZvcm1Ub19ydWxlMChsaW5lKTogCisgICAgcmV0dXJuIGxpbmUubHN0cmlwKCkKKworIyBfRm9ybWF0IGd1aWRlbGluZSAjMV86IAorIyAgIE5vIHNwYWNlcyBhcmUgYWxsb3dlZCBiZWhpbmQgdGhlIGxpbmUgY29udGludWF0aW9uIHN5bWJvbCAnXCcKK2RlZiByZXNwZWN0X3J1bGUxKGxpbmUpOgorICAgIGlmIGxpbmUucnN0cmlwKCkuZW5kc3dpdGgoJ1xcJyk6CisgICAgICAgIHJldHVybiBsaW5lLmVuZHN3aXRoKCdcXCcpCisgICAgZWxzZTogCisgICAgICAgIHJldHVybiBUcnVlCitkZWYgY29uZm9ybVRvX3J1bGUxKGxpbmUpOgorICAgIHJldHVybiBsaW5lLnJzdHJpcCgpCisKKyMgX0Zvcm1hdCBndWlkZWxpbmUgIzJfOiAKKyMgICBUYWJzIHNob3VsZCBub3QgYmUgdXNlZCAodXNlIHNwYWNlcyBpbnN0ZWFkKS4KK2RlZiByZXNwZWN0X3J1bGUyKGxpbmUpOgorICAgIHJldHVybiBsaW5lLmNvdW50KCdcdCcpPT0wCitkZWYgY29uZm9ybVRvX3J1bGUyKGxpbmUpOgorICAgIHJldHVybiBsaW5lLmV4cGFuZHRhYnMoKQorCisjIF9Gb3JtYXQgZ3VpZGVsaW5lICMzXzoKKyMgICBDb21tZW50cyBpbnNpZGUgYmIgZmlsZXMgYXJlIGFsbG93ZWQgdXNpbmcgdGhlICcjJyBjaGFyYWN0ZXIgYXQgdGhlIAorIyAgIGJlZ2lubmluZyBvZiBhIGxpbmUuCitkZWYgcmVzcGVjdF9ydWxlMyhsaW5lKToKKyAgICBpZiBsaW5lLmxzdHJpcCgpLnN0YXJ0c3dpdGgoJyMnKToKKyAgICAgICAgcmV0dXJuIGxpbmUuc3RhcnRzd2l0aCgnIycpCisgICAgZWxzZTogCisgICAgICAgIHJldHVybiBUcnVlCitkZWYgY29uZm9ybVRvX3J1bGUzKGxpbmUpOgorICAgIHJldHVybiBsaW5lLmxzdHJpcCgpCisKKyMgX0Zvcm1hdCBndWlkZWxpbmUgIzRfOgorIyAgIFVzZSBxdW90ZXMgb24gdGhlIHJpZ2h0IGhhbmQgc2lkZSBvZiBhc3NpZ25tZW50cyBGT08gPSAiQkFSIgorZGVmIHJlc3BlY3RfcnVsZTQobGluZSk6CisgICAgciA9IHJlLnNlYXJjaCh2YXJSZWdleHAsIGxpbmUpCisgICAgaWYgciBpcyBub3QgTm9uZToKKyAgICAgICAgcjIgPSByZS5zZWFyY2gocicoIj8pKFteIlxcXSopKFsiXFxdPyknLCByLmdyb3VwKDUpKQorICAgICAgICAjIGRvIG5vdCB0ZXN0IGZvciBOb25lIGl0IGJlY2F1c2UgYWx3YXlzIG1hdGNoCisgICAgICAgIHJldHVybiByMi5ncm91cCgxKT09JyInIGFuZCByMi5ncm91cCgzKSE9JycKKyAgICByZXR1cm4gRmFsc2UKK2RlZiBjb25mb3JtVG9fcnVsZTQobGluZSk6CisgICAgciA9IHJlLnNlYXJjaCh2YXJSZWdleHAsIGxpbmUpCisgICAgcmV0dXJuICcnLmpvaW4oW3IuZ3JvdXAoMSksICcgJywgci5ncm91cCgzKSwgJyAiJywgci5ncm91cCg1KSwgci5ncm91cCg1KS5lbmRzd2l0aCgnIicpIGFuZCAnJyBvciAnIiddKQorCisjIF9Gb3JtYXQgZ3VpZGVsaW5lICM1XzoKKyMgICBUaGUgY29ycmVjdCBzcGFjaW5nIGZvciBhIHZhcmlhYmxlIGlzIEZPTyA9ICJCQVIiLgorZGVmIHJlc3BlY3RfcnVsZTUobGluZSk6CisgICAgciA9IHJlLnNlYXJjaCh2YXJSZWdleHAsIGxpbmUpCisgICAgcmV0dXJuIHIgaXMgbm90IE5vbmUgYW5kIHIuZ3JvdXAoMik9PSIgIiBhbmQgci5ncm91cCg0KT09IiAiCitkZWYgY29uZm9ybVRvX3J1bGU1KGxpbmUpOgorICAgIHIgPSByZS5zZWFyY2godmFyUmVnZXhwLCBsaW5lKQorICAgIHJldHVybiAnJy5qb2luKFtyLmdyb3VwKDEpLCAnICcsIHIuZ3JvdXAoMyksICcgJywgci5ncm91cCg1KV0pCisKKyMgX0Zvcm1hdCBndWlkZWxpbmUgIzZfOgorIyAgIERvbid0IHVzZSBzcGFjZXMgb3IgdGFicyBvbiBlbXB0eSBsaW5lcworZGVmIHJlc3BlY3RfcnVsZTYobGluZSk6CisgICAgcmV0dXJuIG5vdCBsaW5lLmlzc3BhY2UoKSBvciBsaW5lPT0iXG4iCitkZWYgY29uZm9ybVRvX3J1bGU2KGxpbmUpOgorICAgIHJldHVybiAiIgorCisjIF9Gb3JtYXQgZ3VpZGVsaW5lICM3XzoKKyMgICBJbmRlbnRhdGlvbiBvZiBtdWx0aWxpbmUgdmFyaWFibGVzIHN1Y2ggYXMgU1JDX1VSSSBpcyBkZXNpcmVhYmxlLgorZGVmIHJlc3BlY3RfcnVsZTcobGluZSk6CisgICAgcmV0dXJuIFRydWUKK2RlZiBjb25mb3JtVG9fcnVsZTcobGluZSk6CisgICAgcmV0dXJuIGxpbmUKKworcnVsZXMgPSAoCisgICAgKHJlc3BlY3RfcnVsZTAsIGNvbmZvcm1Ub19ydWxlMCwgIk5vIHNwYWNlcyBhcmUgYWxsb3dlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGxpbmVzIHRoYXQgZGVmaW5lIGEgdmFyaWFibGUgb3IgYSBkb18gcm91dGluZSIpLAorICAgIChyZXNwZWN0X3J1bGUxLCBjb25mb3JtVG9fcnVsZTEsICJObyBzcGFjZXMgYXJlIGFsbG93ZWQgYmVoaW5kIHRoZSBsaW5lIGNvbnRpbnVhdGlvbiBzeW1ib2wgJ1xcJyIpLAorICAgIChyZXNwZWN0X3J1bGUyLCBjb25mb3JtVG9fcnVsZTIsICJUYWJzIHNob3VsZCBub3QgYmUgdXNlZCAodXNlIHNwYWNlcyBpbnN0ZWFkKSIpLAorICAgIChyZXNwZWN0X3J1bGUzLCBjb25mb3JtVG9fcnVsZTMsICJDb21tZW50cyBpbnNpZGUgYmIgZmlsZXMgYXJlIGFsbG93ZWQgdXNpbmcgdGhlICcjJyBjaGFyYWN0ZXIgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUiKSwKKyAgICAocmVzcGVjdF9ydWxlNCwgY29uZm9ybVRvX3J1bGU0LCAiVXNlIHF1b3RlcyBvbiB0aGUgcmlnaHQgaGFuZCBzaWRlIG9mIGFzc2lnbm1lbnRzIEZPTyA9IFwiQkFSXCIiKSwKKyAgICAocmVzcGVjdF9ydWxlNSwgY29uZm9ybVRvX3J1bGU1LCAiVGhlIGNvcnJlY3Qgc3BhY2luZyBmb3IgYSB2YXJpYWJsZSBpcyBGT08gPSBcIkJBUlwiIiksCisgICAgKHJlc3BlY3RfcnVsZTYsIGNvbmZvcm1Ub19ydWxlNiwgIkRvbid0IHVzZSBzcGFjZXMgb3IgdGFicyBvbiBlbXB0eSBsaW5lcyIpLAorICAgIChyZXNwZWN0X3J1bGU3LCBjb25mb3JtVG9fcnVsZTcsICJJbmRlbnRhdGlvbiBvZiBtdWx0aWxpbmUgdmFyaWFibGVzIHN1Y2ggYXMgU1JDX1VSSSBpcyBkZXNpcmVhYmxlIiksCispCisKKyMgRnVuY3Rpb24gdG8gY2hlY2sgdGhhdCBhIGxpbmUgcmVzcGVjdHMgYSBydWxlLiBJZiBub3QsIGl0IHRyaWVzIHRvIGNvbmZvcm0KKyMgdGhlIGxpbmUgdG8gdGhlIHJ1bGUuIFJlbWluZGVyIG9yIERpc2dyZXNzaW9uIG1lc3NhZ2UgYXJlIGR1bXAgYWNjb3JkaW5nbHkuCitkZWYgZm9sbG93X3J1bGUoaSwgbGluZSk6CisgICAgb2xkbGluZSA9IGxpbmUKKyAgICAjIGlmIHRoZSBsaW5lIGRvZXMgbm90IHJlc3BlY3QgdGhlIHJ1bGUKKyAgICBpZiBub3QgcnVsZXNbaV1bMF0obGluZSk6CisgICAgICAgICMgdHJ5IHRvIGNvbmZvcm0gaXQgdG8gdGhlIHJ1bGUKKyAgICAgICAgbGluZSA9IHJ1bGVzW2ldWzFdKGxpbmUpCisgICAgICAgICMgaWYgdGhlIGxpbmUgc3RpbGwgZG9lcyBub3QgcmVzcGVjdCB0aGUgcnVsZQorICAgICAgICBpZiBub3QgcnVsZXNbaV1bMF0obGluZSk6CisgICAgICAgICAgICAjIHRoaXMgaXMgYSBydWxlIGRpc2dyZXNzaW9uCisgICAgICAgICAgICBwcmludCAoIiMjIERpc2dyZXNzaW9uOiAiLCBydWxlc1tpXVsyXSwgIiBpbjogJyIsIG9sZGxpbmUsICInIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMganVzdCByZW1pbmQgdXNlciBhYm91dCBoaXMvaGVyIGVycm9ycworICAgICAgICAgICAgcHJpbnQgKCIjIyBSZW1pbmRlcjogIiwgcnVsZXNbaV1bMl0sICIgaW4gOiAnIiwgb2xkbGluZSwgIiciKQorICAgIHJldHVybiBsaW5lCisKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKworICAgICMgLS0gcmV0cmlldmVzIHRoZSBsaW5lcyBvZiB0aGUgLmJiIGZpbGUgLS0KKyAgICBsaW5lcyA9IFtdCisgICAgZm9yIGxpbmUgaW4gZmlsZWlucHV0LmlucHV0KCk6CisgICAgICAgICMgdXNlICdpZiBUcnVlJyB0byB3YXJuIHVzZXIgYWJvdXQgYWxsIHRoZSBydWxlIGhlL3NoZSBicmVha3MKKyAgICAgICAgIyB1c2UgJ2lmIEZhbHNlJyB0byBjb25mb3JtIHRvIHJ1bGVzezIsMSw2fSB3aXRob3V0IHdhcm5pbmdzCisgICAgICAgIGlmIFRydWU6CisgICAgICAgICAgICBsaW5lcy5hcHBlbmQobGluZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgZXhwYW5kdGFicyBvbiBlYWNoIGxpbmUgc28gdGhhdCBydWxlMiBpcyBhbHdheXMgcmVzcGVjdGVkIAorICAgICAgICAgICAgIyByc3RyaXAgZWFjaCBsaW5lIHNvIHRoYXQgcnVsZTEgaXMgYWx3YXlzIHJlc3BlY3RlZCAKKyAgICAgICAgICAgIGxpbmUgPSBsaW5lLmV4cGFuZHRhYnMoKS5yc3RyaXAoKQorICAgICAgICAgICAgIyBpZ25vcmUgZW1wdHkgbGluZXMgKG9yIGxpbmUgZmlsbGVkIHdpdGggc3BhY2VzIG9yIHRhYnMgb25seSkKKyAgICAgICAgICAgICMgc28gdGhhdCBydWxlNiBpcyBhbHdheXMgcmVzcGVjdGVkCisgICAgICAgICAgICBpZiBsaW5lIGlzIG5vdCAnJzoKKyAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQobGluZSkKKworICAgICMgLS0gcGFyc2UgdGhlIGZpbGUgLS0KKyAgICB2YXIgPSAiIgorICAgIGluX3JvdXRpbmUgPSBGYWxzZQorICAgIGNvbW1lbnRCbG9jID0gW10KKyAgICBvbGluZXMgPSBbXQorICAgIGZvciBsaW5lIGluIGxpbmVzOiAKKyAgICAgICAgb3JpZ2luYWxMaW5lID0gbGluZQorICAgICAgICAjIHJzdHJpcCBsaW5lIHRvIHJlbW92ZSBsaW5lIGJyZWFrcyBjaGFyYWN0ZXJzCisgICAgICAgIGxpbmUgPSBsaW5lLnJzdHJpcCgpCisgICAgICAgIGxpbmUgPSBmb2xsb3dfcnVsZSgyLCBsaW5lKQorICAgICAgICBsaW5lID0gZm9sbG93X3J1bGUoMSwgbGluZSkKKyAgICAgICAgbGluZSA9IGZvbGxvd19ydWxlKDYsIGxpbmUpCisKKyAgICAgICAgIyBpZ25vcmUgZW1wdHkgbGluZXMKKyAgICAgICAgaWYgbGluZS5pc3NwYWNlKCkgb3IgbGluZSBpcyAnJzoKKyAgICAgICAgICAgICMgZmx1c2ggY29tbWVudHMgaW50byB0aGUgb2xpbmVzCisgICAgICAgICAgICBmb3IgYyBpbiBjb21tZW50QmxvYzogb2xpbmVzLmFwcGVuZChjKQorICAgICAgICAgICAgY29tbWVudEJsb2MgPSBbXQorICAgICAgICAgICAgY29udGludWUKKworICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJ30nKTogCisgICAgICAgICAgICBpbl9yb3V0aW5lPUZhbHNlCisgICAgICAgIGtlZXAgPSBsaW5lLmVuZHN3aXRoKCdcXCcpIG9yIGluX3JvdXRpbmUKKworICAgICAgICAjIGhhbmRsZXMgY29tbWVudGVkIGxpbmVzCisgICAgICAgIGlmIGxpbmUubHN0cmlwKCkuc3RhcnRzd2l0aCgnIycpOgorICAgICAgICAgICAgIyBjaGVjayBhbmQgZm9sbG93IHJ1bGUzIGlmIG5vdCBpbiBhIHZhcmlhYmxlcyBvciByb3V0aW5lcworICAgICAgICAgICAgaWYgbm90IGluX3JvdXRpbmU6CisgICAgICAgICAgICAgICAgbGluZSA9IGZvbGxvd19ydWxlKDMsIGxpbmUpCisgICAgICAgICAgICBjb21tZW50QmxvYy5hcHBlbmQobGluZSkKKyAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgaWYgdmFyIGluIHNlZW5fdmFyczoKKyAgICAgICAgICAgIGZvciBjIGluIGNvbW1lbnRCbG9jOiBzZWVuX3ZhcnNbdmFyXS5hcHBlbmQoYykKKyAgICAgICAgICAgIGNvbW1lbnRCbG9jID0gW10KKyAgICAgICAgICAgIHNlZW5fdmFyc1t2YXJdLmFwcGVuZChsaW5lKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZm9yIGsgaW4gT0VfdmFyczoKKyAgICAgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoayk6CisgICAgICAgICAgICAgICAgICAgIHZhciA9IGsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGlmIHJlLm1hdGNoKHJvdXRpbmVSZWdleHAsIGxpbmUpIGlzIG5vdCBOb25lOiAKKyAgICAgICAgICAgICAgICBpbl9yb3V0aW5lPVRydWUKKyAgICAgICAgICAgICAgICBsaW5lID0gZm9sbG93X3J1bGUoMCwgbGluZSkKKyAgICAgICAgICAgIGVsaWYgcmUubWF0Y2godmFyUmVnZXhwLCBsaW5lKSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBsaW5lID0gZm9sbG93X3J1bGUoMCwgbGluZSkKKyAgICAgICAgICAgICAgICBsaW5lID0gZm9sbG93X3J1bGUoNCwgbGluZSkKKyAgICAgICAgICAgICAgICBsaW5lID0gZm9sbG93X3J1bGUoNSwgbGluZSkKKyAgICAgICAgICAgIGlmIHZhciA9PSAiIjoKKyAgICAgICAgICAgICAgICBpZiBub3QgaW5fcm91dGluZToKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQgKCIjIyBXYXJuaW5nOiB1bmtub3duIHZhcmlhYmxlL3JvdXRpbmUgXCIlc1wiIiAlIG9yaWdpbmFsTGluZS5yc3RyaXAoJ1xuJykpCisgICAgICAgICAgICAgICAgdmFyID0gJ290aGVycycKKyAgICAgICAgICAgIGZvciBjIGluIGNvbW1lbnRCbG9jOiBzZWVuX3ZhcnNbdmFyXS5hcHBlbmQoYykKKyAgICAgICAgICAgIGNvbW1lbnRCbG9jID0gW10KKyAgICAgICAgICAgIHNlZW5fdmFyc1t2YXJdLmFwcGVuZChsaW5lKQorICAgICAgICBpZiBub3Qga2VlcCBhbmQgbm90IGluX3JvdXRpbmU6IHZhciA9ICIiCisKKyAgICAjIC0tIGR1bXAgdGhlIHNhbml0aXplZCAuYmIgZmlsZSAtLQorICAgIGFkZEVtcHR5TGluZSA9IEZhbHNlCisgICAgIyB3cml0ZSBjb21tZW50cyB0aGF0IGFyZSBub3QgcmVsYXRlZCB0byB2YXJpYWJsZXMgbm9yIHJvdXRpbmVzCisgICAgZm9yIGwgaW4gY29tbWVudEJsb2M6IG9saW5lcy5hcHBlbmQobCkKKyAgICAjIHdyaXRlIHZhcmlhYmxlcyBhbmQgcm91dGluZXMKKyAgICBwcmV2aW91clZhclByZWZpeCA9ICJ1bmtub3duIgorICAgIGZvciBrIGluIE9FX3ZhcnM6CisgICAgICAgIGlmIGs9PSdTUkNfVVJJJzogYWRkRW1wdHlMaW5lID0gVHJ1ZQorICAgICAgICBpZiBzZWVuX3ZhcnNba10gIT0gW106IAorICAgICAgICAgICAgaWYgYWRkRW1wdHlMaW5lIGFuZCBub3Qgay5zdGFydHN3aXRoKHByZXZpb3VyVmFyUHJlZml4KToKKyAgICAgICAgICAgICAgICBvbGluZXMuYXBwZW5kKCIiKQorICAgICAgICAgICAgZm9yIGwgaW4gc2Vlbl92YXJzW2tdOiAKKyAgICAgICAgICAgICAgICBvbGluZXMuYXBwZW5kKGwpCisgICAgICAgICAgICBwcmV2aW91clZhclByZWZpeCA9IGsuc3BsaXQoJ18nKVswXT09JycgYW5kICJ1bmtub3duIiBvciBrLnNwbGl0KCdfJylbMF0KKyAgICBmb3IgbGluZSBpbiBvbGluZXM6IHByaW50KGxpbmUpCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvY29udHJpYi9wdy1hbS5zaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvY29udHJpYi9wdy1hbS5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44OTg3ZWVlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9jb250cmliL3B3LWFtLnNoCkBAIC0wLDAgKzEsMTUgQEAKKyMhL2Jpbi9zaAorIworIyBJZGVhIGFuZCBpbXBsZW1lbnRhdGlvbjogIEtvZW4gS29vaQorIyBNdWx0aXBsZSBwYXRjaGVzIHN1cHBvcnQ6IE1hcmNpbiBKdXN6a2lld2ljegorIworIyBUaGlzIHNjcmlwdCB3aWxsIGZldGNoIGFuICdtYm94JyBwYXRjaCBmcm9tIHBhdGNod29yayBhbmQgZ2l0IGFtIGl0CisjIHVzYWdlOiBwdy1hbS5zaCA8bnVtYmVyPgorIyBleGFtcGxlOiAncHctYW0uc2ggMjIxJyB3aWxsIGdldCB0aGUgcGF0Y2ggZnJvbSBodHRwOi8vcGF0Y2h3b3JrLm9wZW5lbWJlZGRlZC5vcmcvcGF0Y2gvMjIxLworCitmb3IgcGF0Y2hudW1iZXIgaW4gJEA7CitkbworCXdnZXQgLW52IGh0dHA6Ly9wYXRjaGVzLm9wZW5lbWJlZGRlZC5vcmcvcGF0Y2gvJHBhdGNobnVtYmVyL21ib3gvIC1PIHB3LWFtLSRwYXRjaG51bWJlci5wYXRjaAorCWdpdCBhbSAtcyBwdy1hbS0kcGF0Y2hudW1iZXIucGF0Y2gKKwlybSBwdy1hbS0kcGF0Y2hudW1iZXIucGF0Y2gKK2RvbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvY29udHJpYi90ZXNzZXJhY3QtbGFuZ3Muc2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL2NvbnRyaWIvdGVzc2VyYWN0LWxhbmdzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUwODczYzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL2NvbnRyaWIvdGVzc2VyYWN0LWxhbmdzLnNoCkBAIC0wLDAgKzEsOTIgQEAKKyMhIC9iaW4vc2gKKworIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1BWPSczLjAyJworCisjIFNvbWV0aW1lcyB0aGUgc29mdHdhcmUgcGFja2FnZSBoYXMgYSBtaW5vciB2ZXJzaW9uLCBidXQgbGFuZ3VhZ2UKKyMgcGFja2FnZXMgaGF2ZSBub3QuICBFeGFtcGxlOiAKKyMgICBzb2Z0d2FyZSBwYWNrYWdlOiB0ZXNzZXJhY3Qtb2NyLTMuMDIuMDIudGFyLmd6CisjICAgbGFuZ3VhZ2UgcGFja2FnZTogdGVzc2VyYWN0LW9jci0zLjAyLnBvci50YXIuZ3oKK01JTk9SX1BWPTAyCisKK3JlY2lwZXNfZGlyPSQxCisKK3VzYWdlKCkgeworICAgIGVjaG8gIlVzYWdlOiBgYmFzZW5hbWUgJDBgIDxyZWNpcGVzIGRpcj4gWyA8ZG93bmxvYWQgZGlyPiBdIgorfQorCitpZiBbIC16ICIkcmVjaXBlc19kaXIiIF07IHRoZW4KKyAgICB1c2FnZQorICAgIGV4aXQgMQorZmkKK21rZGlyIC1wICIkcmVjaXBlc19kaXIiCisKK2ZpbGVfbGlzdF91cmk9J2h0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvdGVzc2VyYWN0LW9jci9kb3dubG9hZHMvbGlzdCcKK2ZpbGVfbGlzdD1gbWt0ZW1wYAorCityZW1vdmVfZGxfZGlyPQoraWYgWyAteiAiJDIiIF07IHRoZW4KKyAgICByZW1vdmVfZGxfZGlyPTEKKyAgICBkbF9kaXI9YG1rdGVtcCAtZGAKK2Vsc2UKKyAgICBkbF9kaXI9IiQyIgorZmkKKworbWtkaXIgLXAgJGRsX2RpcgorCit0ZXNzZXJhY3RfbGFuZ3MoKSB7CisgICAgd2dldCAtcSAtTyAiJGZpbGVfbGlzdCIgIiRmaWxlX2xpc3RfdXJpIgorCisgICAgZ3JlcCAtRSAnYSBocmVmPSJkZXRhaWxcP25hbWU9dGVzc2VyYWN0LW9jci0nJHtQVn0nXC5bXlwuXSsudGFyLmd6JmFtcDtjYW49MiZhbXA7cT0iPicgIiRmaWxlX2xpc3QiIHwgXAorICAgICAgICBzZWQgLXIgLWUgJ3MvLip0ZXNzZXJhY3Qtb2NyLScke1BWfSdcLiooW15cLl0rKVwudGFyXC5nei4qL1wxLycgfCBcCisgICAgICAgIGdyZXAgLUV2ICcoJyR7TUlOT1JfUFZ9J3wnJHtNSU5PUl9QVn0nLWRvYy1odG1sKScgfCBcCisgICAgICAgIHNvcnQgLXUKK30KKworZG93bmxvYWRfbGFuZ19maWxlcygpIHsKKyAgICBsb2NhbCBsYW5ncz0iJDEiCisgICAgbG9jYWwgdXJpCisgICAgZm9yIGxhbmcgaW4gJGxhbmdzOyBkbworICAgICAgICBpZiBbICEgLWUgIiRkbF9kaXIvdGVzc2VyYWN0LW9jci0ke1BWfS4ke2xhbmd9LnRhci5neiIgXTsgdGhlbgorICAgICAgICAgICAgdXJpPSJodHRwczovL3Rlc3NlcmFjdC1vY3IuZ29vZ2xlY29kZS5jb20vZmlsZXMvdGVzc2VyYWN0LW9jci0ke1BWfS4ke2xhbmd9LnRhci5neiIKKyAgICAgICAgICAgIGVjaG8gIkRvd25sb2FkaW5nICR1cmkiCisgICAgICAgICAgICB3Z2V0IC1xIC1QICIkZGxfZGlyIiAiJHVyaSIKKyAgICAgICAgZmkKKyAgICBkb25lCit9CisKK2NyZWF0ZV9yZWNpcGUoKSB7CisgICAgbG9jYWwgbGFuZz0kMQorICAgIGxvY2FsIHRhcmJhbGwKKworICAgIHRhcmJhbGw9IiRkbF9kaXIvdGVzc2VyYWN0LW9jci0ke1BWfS4ke2xhbmd9LnRhci5neiIKKworICAgIG1kNXN1bT1gbWQ1c3VtICR0YXJiYWxsIHwgYXdrICd7cHJpbnQgJDF9J2AKKyAgICBzaGEyNTZzdW09YHNoYTI1NnN1bSAkdGFyYmFsbCB8IGF3ayAne3ByaW50ICQxfSdgCisKKyAgICBjYXQgPiAkcmVjaXBlc19kaXIvdGVzc2VyYWN0LWxhbmctYGVjaG8gJHtsYW5nfSB8IHNlZCBzL18vLS9nYF8ke1BWfS5iYiA8PEVPRgorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gIiRsYW5nIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiJHttZDVzdW19IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIiR7c2hhMjU2c3VtfSIKK0VPRgorfQorCisKK0xBTkdTPWB0ZXNzZXJhY3RfbGFuZ3NgCisKK2Rvd25sb2FkX2xhbmdfZmlsZXMgIiRMQU5HUyIKKworZm9yIGxhbmcgaW4gJExBTkdTOyBkbworICAgIGNyZWF0ZV9yZWNpcGUgJGxhbmcKK2RvbmUKKworWyAtbiAiJHJlbW92ZV9kbF9kaXIiIF0gJiYgcm0gLXJmICRkbF9kaXIKK3JtIC1mICRmaWxlX2xpc3QKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvQ09QWUlORy5NSVQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL0NPUFlJTkcuTUlUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiOTUwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL0NPUFlJTkcuTUlUCkBAIC0wLDAgKzEsMTcgQEAKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgCitvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCAKK2luIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgCit0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIAorY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIAorZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gCithbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IgCitJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgCitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgCitBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIAorTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgCitPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIAorVEhFIFNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzhlZmM1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9SRUFETUUKQEAgLTAsMCArMSwxOCBAQAorVGhpcyBsYXllciBkZXBlbmRzIG9uOgorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0CiticmFuY2g6IGtyb2dvdGggCityZXZpc2lvbjogSEVBRAorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CitsYXllcnM6IG1ldGEtb2UsIG1ldGEtcHl0aG9uCiticmFuY2g6IGtyb2dvdGggCityZXZpc2lvbjogSEVBRAorCitTZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEtZWZsXVtrcm9nb3RoXScgaW4gdGhlIHN1YmplY3QnCisKK1doZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzaW5nIHNvbWV0aGluZyBsaWtlOgorJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLWVmbF1ba3JvZ290aF1bUEFUQ0gnCisKK2tyb2dvdGggYnJhbmNoIG1haW50YWluZXIocyk6CitBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jbGFzc2VzL2UtYmFzZS5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jbGFzc2VzL2UtYmFzZS5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwYWUyMjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL2NsYXNzZXMvZS1iYXNlLmJiY2xhc3MKQEAgLTAsMCArMSwxNCBAQAorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5lbmxpZ2h0ZW5tZW50Lm9yZyIKK1NSQ05BTUUgPz0gIiR7QlBOfSIKK1NSQ1ZFUiA/PSAiJHtQVn0iCisKK0VGTF9TUkNSRVYgPz0gIjgyMDcwIgorCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtTUkNWRVJ9IgorCisjIGVhY2ggZWZsIG9yIGUxNyBtb2R1bGUgaXMgaW5zdGFsbGluZyBtb2R1bGUuc28gaW4gZGlmZmVyZW50IGRpcmVjdG9yeSwgZGlzYWJsZSBzaGxpYnMgcHJvdmlkZXJzIGZvciB0aGVtCisjIGV2YXMtZW5naW5lLWdsLXgxMS0xLjcuNyBldmFzLWVuZ2luZS1zb2Z0d2FyZS0xNi0xLjcuNyBldmFzLWVuZ2luZS1zb2Z0d2FyZS0xNi14MTEtMS43LjcgZXZhcy1lbmdpbmUtc29mdHdhcmUteDExLTEuNy43IGV2YXMtZW5naW5lLXdheWxhbmQtc2htLTEuNy43IGV2YXMtY3NlcnZlMi1ibXAtMS43LjcgZXZhcy1jc2VydmUyLWVldC0xLjcuNyBldmFzLWNzZXJ2ZTItaWNvLTEuNy43IGV2YXMtY3NlcnZlMi1qcGVnLTEuNy43IGV2YXMtY3NlcnZlMi1wbWFwcy0xLjcuNyBldmFzLWNzZXJ2ZTItcG5nLTEuNy43IGV2YXMtY3NlcnZlMi1wc2QtMS43LjcgZXZhcy1jc2VydmUyLXRnYS0xLjcuNyBldmFzLWNzZXJ2ZTItdGlmZi0xLjcuNyBldmFzLWNzZXJ2ZTItd2JtcC0xLjcuNyBldmFzLWNzZXJ2ZTIteHBtLTEuNy43IGV2YXMtbG9hZGVyLWJtcC0xLjcuNyBldmFzLWxvYWRlci1nZW5lcmljLTEuNy43IGV2YXMtbG9hZGVyLWdpZi0xLjcuNyBldmFzLWxvYWRlci1pY28tMS43LjcgZXZhcy1sb2FkZXItanBlZy0xLjcuNyBldmFzLWxvYWRlci1wbWFwcy0xLjcuNyBldmFzLWxvYWRlci1wbmctMS43LjcgZXZhcy1sb2FkZXItcHNkLTEuNy43IGV2YXMtbG9hZGVyLXRnYS0xLjcuNyBldmFzLWxvYWRlci10aWZmLTEuNy43IGV2YXMtbG9hZGVyLXdibXAtMS43LjcgZXZhcy1sb2FkZXIteHBtLTEuNy43IGV2YXMtc2F2ZXItanBlZy0xLjcuNyBldmFzLXNhdmVyLXBuZy0xLjcuNyBldmFzLXNhdmVyLXRpZmYtMS43LjcgZXZhcy1lbmdpbmUtZmItMS43LjcKKyMgZW1vdGlvbi0xLjcuNyBlbGVtZW50YXJ5LTEuNy43IGVsZW1lbnRhcnktdGVzdHMtMS43LjcgZWxlbWVudGFyeS1hY2Nlc3NpYmlsaXR5LTEuNy43IGUtd20tMC4xNy4zIGVsZmUtMC4wLjErc3ZucjgyMDcwIHNoci1lLWdhZGdldHMtMC4wLjArZ2l0cjErMjdiNmMxN2Q3MyBjcHUtMC4wLjErc3ZucjgyMDcwIHBsYWNlcy0wLjEuMCtzdm5yODIwNzAgZm9yZWNhc3RzLTAuMi4wK3N2bnI4MjA3MCB1cHRpbWUtMC4wLjIrc3ZucjgyMDcwIHNjcmVlbnNob3QtMC4zLjArc3ZucjgyMDcwIGV4YWx0LWNsaWVudC0wLjAuMStzdm5yODIwNzAgZGlza2lvLTAuMC4xK3N2bnI4MjA3MCByYWluLTAuMC4zK3N2bnI4MjA3MCBuZXdzLTAuMS4wK3N2bnI4MjA3MCBmbGFtZS0wLjAuMytzdm5yODIwNzAKK1BSSVZBVEVfTElCUyA9ICJtb2R1bGUuc28iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL2NsYXNzZXMvZS5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jbGFzc2VzL2UuYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWU4MGJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jbGFzc2VzL2UuYmJjbGFzcwpAQCAtMCwwICsxLDIyIEBACitTRUNUSU9OID0gImUvYXBwcyIKKworaW5oZXJpdCBlLWJhc2UgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiaW5jb25maWcKKworZG9fcHJlcHNvdXJjZXMgKCkgeworICAgIG1ha2UgY2xlYW4gZGlzdGNsZWFuIHx8IHRydWUKK30KK2FkZHRhc2sgcHJlcHNvdXJjZXMgYWZ0ZXIgZG9fcGF0Y2ggYmVmb3JlIGRvX2NvbmZpZ3VyZQorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIGZpbmQgJHtCfSAtbmFtZSBNYWtlZmlsZSB8IHhhcmdzIHNlZCAtaSBzOictSSQoaW5jbHVkZWRpciknOictSS4nOmcKK30KKworZXhwb3J0IENVUkxfQ09ORklHID0gIiR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L2N1cmwtY29uZmlnIgorZXhwb3J0IEZSRUVUWVBFX0NPTkZJRyA9ICIke1NUQUdJTkdfQklORElSX0NST1NTfS9mcmVldHlwZS1jb25maWciCisKK1BBQ0tBR0VTID0rICIke1BOfS10aGVtZXMiCitQQUNLQUdFUyArPSAiJHtQTn0tbGliIgorCitGSUxFU18ke1BOfS1saWIgPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKK0ZJTEVTXyR7UE59LXRoZW1lcyA9ICIke2RhdGFkaXJ9LyR7UE59L3RoZW1lcyAke2RhdGFkaXJ9LyR7UE59L2RhdGEgJHtkYXRhZGlyfS8ke1BOfS9mb250cyAke2RhdGFkaXJ9LyR7UE59L3BvaW50ZXJzICR7ZGF0YWRpcn0vJHtQTn0vaW1hZ2VzICR7ZGF0YWRpcn0vJHtQTn0vdXNlcnMgJHtkYXRhZGlyfS8ke1BOfS9pbWFnZXMgJHtkYXRhZGlyfS8ke1BOfS9zdHlsZXMiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9L2xpYiouc28iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL2NsYXNzZXMvZWZsLmJiY2xhc3MgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL2NsYXNzZXMvZWZsLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWI0MGU0YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvY2xhc3Nlcy9lZmwuYmJjbGFzcwpAQCAtMCwwICsxLDY2IEBACitTRUNUSU9OID0gImUvbGlicyIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorREVQRU5EUyArPSAicGtnY29uZmlnLW5hdGl2ZSIKKworIyByZXZpc2lvbiAwZDkzZWM4NGIzMGJjMWJlZTJjYWFlZTcyZDY2N2Y4N2JjNDY4YTcwIG1hZGUgU1JDREFURSBhbmQgaGVuY2UgUFYgZ28gYmFja3dhcmRzLCBzbyB3ZSBuZWVkIHRvIHVwIFBFIHRvIHVuYnJlYWsgYnVpbGRzIGFuZCBmZWVkcyA6KAorUEUgPSAiMiIKKworaW5oZXJpdCBlLWJhc2UgYXV0b3Rvb2xzCisKKyMgZXZhcy1uYXRpdmUgbG9va3MgYXQgdGhpcyB2YXIsIHNvIGtlZXAgaXQKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgYXV0b3BvaW50IHx8IHRvdWNoIGNvbmZpZy5ycGF0aAorfQorCitkb19pbnN0YWxsX3ByZXBlbmQgKCkgeworICAgIGZvciBpIGluIGBmaW5kICR7Qn0vIC1uYW1lICIqLnBjIiAtdHlwZSBmYCA7IGRvIFwKKyAgICAgICAgc2VkIC1pIC1lICdzOi1MJHtTVEFHSU5HX0xJQkRJUn06LUxcJFx7bGliZGlyXH06ZycgLWUgJ3M6LUkke1NUQUdJTkdfTElCRElSfTotSVwkXHtsaWJkaXJcfTpnJyAtZSAnczotSSR7U1RBR0lOR19JTkNESVJ9Oi1JXCRce2luY2x1ZGVkaXJcfTpnJyAkaQorICAgIGRvbmUKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LXRoZW1lcyIKK1BBQ0tBR0VTICs9ICIke1BOfS10ZXN0cyIKK1BBQ0tBR0VTICs9ICIke1BOfS1lb2xpYW4iCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qLnNvLiogXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2VkamUvbW9kdWxlcy8ke1BOfS8qL21vZHVsZS5zbyBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vJHtQTn0vcGx1Z2lucy8qLnNvIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzLyogXAorIgorCisKK0ZJTEVTXyR7UE59LXRoZW1lcyA9ICIke2RhdGFkaXJ9LyR7UE59L3RoZW1lcyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8ke1BOfS9kYXRhIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vJHtQTn0vcGx1Z2lucy9kYXRhLyouZWRqIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59L2ZvbnRzIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59L3BvaW50ZXJzIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59L2ltYWdlcyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8ke1BOfS91c2VycyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8ke1BOfS9pbWFnZXMgXAorICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0vc3R5bGVzIgorCitGSUxFU18ke1BOfS1kZXYgICArPSAiJHtiaW5kaXJ9LyR7UE59LWNvbmZpZyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy8qIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGliKi5sYSBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9Lyouc28gXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS8ke1BOfS8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vJHtQTn0vKi8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59L2VkamVfZXh0ZXJuYWxzIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZWRqZS9tb2R1bGVzLyR7UE59LyovbW9kdWxlLmxhIFwKKyIKKworRklMRVNfJHtQTn0tZW9saWFuID0gIiBcCisgICAgJHtkYXRhZGlyfS9lb2xpYW4vaW5jbHVkZSBcCisiCisKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9LyR7QlBOfS8qLyouYSIKKworRklMRVNfJHtQTn0tZGJnICs9ICAgIiR7bGliZGlyfS8ke1BOfS8uZGVidWcgXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS8ke1BOfS8qLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2VkamUvbW9kdWxlcy8ke1BOfS8qLy5kZWJ1Zy9tb2R1bGUuc28gXAorIgorCitGSUxFU18ke1BOfS10ZXN0cyAgPSAiJHtiaW5kaXJ9LyR7UE59IFwKKyAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vKl8qIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jb25mL2Rpc3Ryby9pbmNsdWRlL2VmbC1mcm9tLXN2bi1yZWNpcGVzLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvY29uZi9kaXN0cm8vaW5jbHVkZS9lZmwtZnJvbS1zdm4tcmVjaXBlcy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjNhOGVhZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvY29uZi9kaXN0cm8vaW5jbHVkZS9lZmwtZnJvbS1zdm4tcmVjaXBlcy5pbmMKQEAgLTAsMCArMSw0MyBAQAorRUZMX1BSRUZFUlJFRF9WRVJTSU9OID89ICIxLjcuNCtzdm4lIgorRUZMX1BSRUZFUlJFRF9QWVRIT05fVkVSU0lPTiA/PSAiMS43LjArc3ZuJSIKKworUFJFRkVSUkVEX1ZFUlNJT05fZS13bSA/PSAiMC4xNy4wK3N2bnIlIgorCitQUkVGRVJSRURfVkVSU0lPTl9lY29yZSA/PSAiJHtFRkxfUFJFRkVSUkVEX1ZFUlNJT059IgorUFJFRkVSUkVEX1ZFUlNJT05fZWNvcmUtbmF0aXZlID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9lZGJ1cyA/PSAiJHtFRkxfUFJFRkVSUkVEX1ZFUlNJT059IgorUFJFRkVSUkVEX1ZFUlNJT05fZWRidXMtbmF0aXZlID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9lZGplID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9lZGplLW5hdGl2ZSA/PSAiJHtFRkxfUFJFRkVSUkVEX1ZFUlNJT059IgorUFJFRkVSUkVEX1ZFUlNJT05fZWRqZS1uYXRpdmVzZGsgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VlemUgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VlemUtbmF0aXZlID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9lZnJlZXQgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VmcmVldC1uYXRpdmUgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VpbmEgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VpbmEtbmF0aXZlID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9lbWJyeW8gPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VtYnJ5by1uYXRpdmUgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2V2YXMgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2V2YXMtZ2VuZXJpYy1sb2FkZXJzID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9ldmFzLW5hdGl2ZSA/PSAiJHtFRkxfUFJFRkVSUkVEX1ZFUlNJT059IgorUFJFRkVSUkVEX1ZFUlNJT05fZXhwZWRpdGUgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2V4cGVkaXRlLW5hdGl2ZSA/PSAiJHtFRkxfUFJFRkVSUkVEX1ZFUlNJT059IgorCitQUkVGRVJSRURfVkVSU0lPTl9lZXQgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VldC1uYXRpdmUgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKKworUFJFRkVSUkVEX1ZFUlNJT05fZWlvID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9laW8tbmF0aXZlID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9lbW90aW9uID89ICIke0VGTF9QUkVGRVJSRURfVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9ldGh1bWIgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX2VsZW1lbnRhcnkgPz0gIiR7RUZMX1BSRUZFUlJFRF9WRVJTSU9OfSIKKworUFJFRkVSUkVEX1ZFUlNJT05fcHl0aG9uLWVsZW1lbnRhcnkgPz0gIiR7RUZMX1BSRUZFUlJFRF9QWVRIT05fVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9weXRob24tZWNvcmUgPz0gIiR7RUZMX1BSRUZFUlJFRF9QWVRIT05fVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9weXRob24tZWRidXMgPz0gIiR7RUZMX1BSRUZFUlJFRF9QWVRIT05fVkVSU0lPTn0iCitQUkVGRVJSRURfVkVSU0lPTl9weXRob24tZWRqZSA/PSAiJHtFRkxfUFJFRkVSUkVEX1BZVEhPTl9WRVJTSU9OfSIKK1BSRUZFUlJFRF9WRVJTSU9OX3B5dGhvbi1lbW90aW9uID89ICIke0VGTF9QUkVGRVJSRURfUFlUSE9OX1ZFUlNJT059IgorUFJFRkVSUkVEX1ZFUlNJT05fcHl0aG9uLWV2YXMgPz0gIiR7RUZMX1BSRUZFUlJFRF9QWVRIT05fVkVSU0lPTn0iCisKK1BSRUZFUlJFRF9WRVJTSU9OX3Rlcm1pbm9sb2d5ID89ICIwLjIuMCtzdm4lIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jb25mL2xheWVyLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL2NvbmYvbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTkwY2UyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9jb25mL2xheWVyLmNvbmYKQEAgLTAsMCArMSwzNSBAQAorIyBXZSBoYXZlIGEgY29uZiBhbmQgY2xhc3NlcyBkaXJlY3RvcnksIGFwcGVuZCB0byBCQlBBVEggCitCQlBBVEggLj0gIjoke0xBWUVSRElSfSIKKworIyBXZSBoYXZlIGEgcmVjaXBlcyBkaXJlY3RvcnksIGFkZCB0byBCQkZJTEVTCitCQkZJTEVTICs9ICIke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiICR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQiCisKK0JCRklMRV9DT0xMRUNUSU9OUyArPSAiZWZsLWxheWVyIgorQkJGSUxFX1BBVFRFUk5fZWZsLWxheWVyIDo9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX2VmbC1sYXllciA9ICI3IgorCisjIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jcmVtZW50ZWQgb24gc2lnbmlmaWNhbnQgY2hhbmdlcyB0aGF0IHdpbGwKKyMgY2F1c2UgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBvdGhlciBsYXllcnMKK0xBWUVSVkVSU0lPTl9lZmwtbGF5ZXIgPSAiMSIKKworTEFZRVJERVBFTkRTX2VmbC1sYXllciA9ICJjb3JlIG9wZW5lbWJlZGRlZC1sYXllciIKKworRV9NSVJST1IgPSAiaHR0cDovL2Rvd25sb2FkLmVubGlnaHRlbm1lbnQub3JnL3JlbGVhc2VzIgorRV9SRUxFQVNFUyA9ICJodHRwOi8vZG93bmxvYWQuZW5saWdodGVubWVudC5vcmcvcmVsIgorRV9TVk4gPSAic3ZuOi8vc3ZuLmVubGlnaHRlbm1lbnQub3JnL3N2bi9lIgorCisjIFJERVBFTkRTIG9uIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcHJvdmlkZXIgb3BrZy11dGlscworU0lHR0VOX0VYQ0xVREVfU0FGRV9SRUNJUEVfREVQUyArPSAiXAorICBleHF1aXNpdGUtdGhlbWUtaWxsdW1lLT5vcGtnLXV0aWxzIFwKKyIKKworIyBSREVQRU5EUyBvbiBlLXdtCitTSUdHRU5fRVhDTFVERV9TQUZFX1JFQ0lQRV9ERVBTICs9ICJcCisgIGUtd20tdGhlbWUtaWxsdW1lLWVmZW5uaWh0LT5lLXdtIFwKKyAgZS13bS10aGVtZS1pbGx1bWUtbmVvLT5lLXdtIFwKKyAgZS13bS10aGVtZS1iLWFuZC13LT5lLXdtIFwKKyIKKworU0lHR0VOX0VYQ0xVREVfU0FGRV9SRUNJUEVfREVQUyArPSAiIFwKKyAgcGFja2FnZWdyb3VwLWVmbC1zZGstPnBhY2thZ2Vncm91cC1jb3JlLXNkayBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLWVmbC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1jb3JlL21ldGEvbWV0YS10b29sY2hhaW4tZWZsLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YjdmY2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLWVmbC5iYgpAQCAtMCwwICsxLDYgQEAKK1RPT0xDSEFJTl9UQVJHRVRfRUZMVEFTSyA/PSAicGFja2FnZWdyb3VwLWVmbC1zdGFuZGFsb25lLXNkay10YXJnZXQgcGFja2FnZWdyb3VwLWVmbC1zdGFuZGFsb25lLXNkay10YXJnZXQtZGJnIgorVE9PTENIQUlOX1RBUkdFVF9UQVNLID0gIiR7VE9PTENIQUlOX1RBUkdFVF9FRkxUQVNLfSIKK1RPT0xDSEFJTl9PVVRQVVROQU1FID0gIiR7U0RLX05BTUV9LXRvb2xjaGFpbi1lZmwtJHtESVNUUk9fVkVSU0lPTn0iCityZXF1aXJlIHJlY2lwZXMtY29yZS9tZXRhL21ldGEtdG9vbGNoYWluLmJiCisKK1RPT0xDSEFJTl9ORUVEX0NPTkZJR1NJVEVfQ0FDSEUgKz0gInpsaWIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lZGJ1cy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lZGJ1cy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U3MjI2MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWVkYnVzLmluYwpAQCAtMCwwICsxLDUwIEBACitERVNDUklQVElPTiA9ICIke1BOfSBiaW5kaW5ncyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCIKK0FVVEhPUiA9ICJHdXN0YXZvIFN2ZXJ6dXQgQmFyYmllcmkgPGJhcmJpZXJpQGdtYWlsLmNvbT4iCisjIE5PVEU6IER1ZSB0byBhIGJ1ZyBpbiBkaXN0dXRpbHMsIGV2ZW4gaWYgd2UgZG9uJ3QgdXNlIHB5cmV4IGJ1dCBjeXRob24sCisjIHdlIG5lZWQgdG8gYnVpbGQgcHlyZXggb3RoZXJ3aXNlIGN5dGhvbiBkb2Vzbid0IGdldCBjYWxsZWQgdG8gYnVpbGQKKyMgdGhlIGV4dGVuc2lvbiBtb2R1bGVzLgorREVQRU5EUyA9ICJweXRob24tY3l0aG9uLW5hdGl2ZSBweXRob24tcHlyZXgtbmF0aXZlIHB5dGhvbi1udW1lcmljIGVpbmEgZWRidXMgcHl0aG9uLWRidXMiCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLWxhbmcgcHl0aG9uLWRidXMiCisKKyMgbmVjZXNzYXJ5IHRvIGxldCB0aGUgY2FsbCBmb3IgcHl0aG9uLWNvbmZpZyBzdWNjZWVkCitleHBvcnQgQlVJTERfU1lTCitleHBvcnQgSE9TVF9TWVMKKworaW5oZXJpdCBlLWJhc2UgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0dXRpbHMtYmFzZQorCitTUkNOQU1FID0gInB5dGhvbi1lX2RidXMiCitTUkNWRVIgPSAiJHtQVn0iCisKK1NSQ19VUkkgPSAiXAorICAgICR7RV9NSVJST1J9L0JJTkRJTkdTL3B5dGhvbi8ke1NSQ05BTUV9LSR7U1JDVkVSfS50YXIuYnoyIFwKKyIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7U1JDVkVSfSIKKworCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIHByZWZpeCBDWVRIT05fLipfSU5DTFVERURJUiB3aXRoIHBhdGggdG8gU1RBR0lOR19ESVJfSE9TVCBhbHNvIHVzZSAkUEtHX0NPTkZJRyBpbnN0ZWFkIG9mIHBrZy1jb25maWcgZGlyZWN0bHkKKyAgICBzZWQgLWkgInMjPVxgXCRQS0dfQ09ORklHIC0tdmFyaWFibGU9aW5jbHVkZWRpciBcInB5dGhvbi1ldmFzIz0ke1NUQUdJTkdfRElSX0hPU1R9XGBcJFBLR19DT05GSUcgLS12YXJpYWJsZT1pbmNsdWRlZGlyIFwicHl0aG9uLWV2YXMjZyIgJHtTfS9jb25maWd1cmUuYWMKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaWYgWyAtZSBleGFtcGxlcyBdOyB0aGVuCisgICAgICAgIGZvciBpIGluIGBmaW5kIGV4YW1wbGVzIC1uYW1lICIqLmVkYyJgOyBkbworICAgICAgICAgICAgY2QgJHtTfS9gZGlybmFtZSAkaWAKKyAgICAgICAgICAgIGVjaG8gIkdlbmVyYXRpbmcgLmVkaiBmaWxlIGZvciAkaS4uLiIKKyAgICAgICAgICAgIGVkamVfY2MgYGJhc2VuYW1lICRpYAorICAgICAgICAgICAgZWNobyAiUmVtb3Zpbmcgc291cmNlcyBpbiB0aGlzIGRpcmVjdG9yeS4uLiIKKyAgICAgICAgICAgIHJtIC1mICouZWRjICoucG5nICoudHRmICouanBlZworICAgICAgICBkb25lCisgICAgICAgIGNkICR7U30KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS8ke1BOfS8KKyAgICAgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgZXhhbXBsZXMgJHtEfSR7ZGF0YWRpcn0vJHtQTn0vCisgICAgICAgIGZpbmQgJHtEfSR7ZGF0YWRpcn0vJHtQTn0vZXhhbXBsZXMgLW5hbWUgIi5zdm4iIHwgeGFyZ3Mgcm0gLXJmCisgICAgZmkKK30KKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzLyouZWdnLyovKi8uZGVidWciCisKK1BBQ0tBR0VTICs9ICIke1BOfS1leGFtcGxlcyIKK0ZJTEVTXyR7UE59LWV4YW1wbGVzID0gIiR7ZGF0YWRpcn0vJHtQTn0vZXhhbXBsZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lZGJ1c18xLjcuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWVkYnVzXzEuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNWZmMGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lZGJ1c18xLjcuMC5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitQUiA9ICJyMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjQwYjQ3OTQ0NGJiMDYxNDc0MjlhMjc2MTI3OTgxODkwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc4ZTVjYTMzNGVlMjUxODU3NDg2NjBiNGU2MTJmOTg0ZjRkM2JjZWQwMThmMDYyMjc4NzAxNDI5ODY4ZjExN2IiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lZmwuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZWZsLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmEyNmVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZWZsLmluYwpAQCAtMCwwICsxLDc1IEBACitERVNDUklQVElPTiA9ICIke1BOfSBiaW5kaW5ncyIKKworTElDRU5TRSA9ICJMR1BMLTMuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiIKKyMgdGhlcmUgaXMgYWxzbyBHUEx2My4wIGluIENPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IGJ1dCBubyBmaWxlIHNlZW1zIHRvIHVzZSB0aGF0CisKK0FVVEhPUiA9ICJHdXN0YXZvIFN2ZXJ6dXQgQmFyYmllcmkgPGJhcmJpZXJpQGdtYWlsLmNvbT4iCisjIE5PVEU6IER1ZSB0byBhIGJ1ZyBpbiBkaXN0dXRpbHMsIGV2ZW4gaWYgd2UgZG9uJ3QgdXNlIHB5cmV4IGJ1dCBjeXRob24sCisjIHdlIG5lZWQgdG8gYnVpbGQgcHlyZXggb3RoZXJ3aXNlIGN5dGhvbiBkb2Vzbid0IGdldCBjYWxsZWQgdG8gYnVpbGQKKyMgdGhlIGV4dGVuc2lvbiBtb2R1bGVzLgorREVQRU5EUyA9ICJweXRob24tY3l0aG9uLW5hdGl2ZSBweXRob24tcHlyZXgtbmF0aXZlIHB5dGhvbi1udW1lcmljIHB5dGhvbi1kYnVzIGx1YSBlZmwgZWxlbWVudGFyeSIKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24tbGFuZyIKKworUFJPVklERVMgPSAicHl0aG9uLWVjb3JlIHB5dGhvbi1lbGRidXMgcHl0aG9uLWVkamUgcHl0aG9uLWVsZW1lbnRhcnkgcHl0aG9uLWVtb3Rpb24gcHl0aG9uLWV2YXMiCisKKyMgbmVjZXNzYXJ5IHRvIGxldCB0aGUgY2FsbCBmb3IgcHl0aG9uLWNvbmZpZyBzdWNjZWVkCitleHBvcnQgQlVJTERfU1lTCitleHBvcnQgSE9TVF9TWVMKKworaW5oZXJpdCBlLWJhc2UgZGlzdHV0aWxzIHBrZ2NvbmZpZworCitTUkNWRVIgPSAiJHtQVn0iCisKK1NSQ19VUkkgPSAiXAorICAgICR7RV9SRUxFQVNFU30vYmluZGluZ3MvcHl0aG9uLyR7U1JDTkFNRX0tJHtTUkNWRVJ9LnRhci5neiBcCisiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0iCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgZHJvcCBhbGwgLnB5bywgcHljIGZpbGVzCisgICAgZmluZCAke0R9JHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcyAtbmFtZSBcKi5weW8gLW8gLW5hbWUgXCoucHljIHwgeGFyZ3Mgcm0gLWYKK30KKworUEFDS0FHRVMgKz0gInB5dGhvbi1lY29yZSBweXRob24tZWxkYnVzIHB5dGhvbi1lZGplIHB5dGhvbi1lbGVtZW50YXJ5IHB5dGhvbi1lbW90aW9uIHB5dGhvbi1ldmFzIHB5dGhvbi1ldGh1bWIgJHtQTn0tZXhhbXBsZXMiCisKK0ZJTEVTXyR7UE59ID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9weXRob25fZWZsKmVnZy1pbmZvIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2VmbC9lby5zbyBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lZmwvdXRpbHMgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZWZsL19faW5pdF9fLnB5IFwKKyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy8qLmVnZy8qLyovLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzLyovKi5sYSIKKworRklMRVNfJHtQTn0tZXhhbXBsZXMgPSAiJHtkYXRhZGlyfS8ke1BOfS9leGFtcGxlcyIKKworRklMRVNfcHl0aG9uLWVjb3JlID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lY29yZS8gXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZWZsL2Vjb3JlKi5zbyBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lZmwvZWNvcmUgXAorIgorRklMRVNfcHl0aG9uLWVsZGJ1cyA9ICIgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZV9kYnVzLyBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lZmwvZGJ1c19tYWlubG9vcC5zbyBcCisiCitGSUxFU19weXRob24tZWRqZSA9ICIgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZWRqZS8gXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZWZsL2VkamUqLnNvIFwKKyIKK0ZJTEVTX3B5dGhvbi1lbGVtZW50YXJ5ID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lbGVtZW50YXJ5LyBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lZmwvZWxlbWVudGFyeS8gXAorIgorRklMRVNfcHl0aG9uLWVtb3Rpb24gPSAiIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2Vtb3Rpb24vIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2VmbC9lbW90aW9uLnNvIFwKKyIKK0ZJTEVTX3B5dGhvbi1ldmFzID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9ldmFzLyBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9lZmwvZXZhcy5zbyBcCisiCitGSUxFU19weXRob24tZXRodW1iID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9ldGh1bWIvIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2VmbC9ldGh1bWIqc28gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZWZsXzEuMTUuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWVmbF8xLjE1LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FiYmMzMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWVmbF8xLjE1LjAuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImY3YzVkNTU3MzM2ZWE5ZGY2OWJjY2EwOWM0MjA3MTFhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjExZTYwN2I0NjVjYjY2ZGFmZTA1YzY2ZTAyZDYxZTA5MzM1YjM3MGZlOWZkMmE3NGQ4ODI4MmIzZWU1OTdiY2MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lZmxfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZWZsX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2EwMWFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZWZsX2dpdC5iYgpAQCAtMCwwICsxLDkgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitTUkNSRVYgPSAiNzFlZDIwZWJmNjYyYTdiNzJlNjA5MTNkZjk0Y2U2OTMzMjM2YmYwOSIKK1BWID0gIjEuMTIuMCtnaXQke1NSQ1BWfSIKK0RFRkFVTFRfUFJFRkVSRU5DRSA9ICItMSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuZW5saWdodGVubWVudC5vcmcvYmluZGluZ3MvcHl0aG9uLyR7QlBOfS5naXQ7YnJhbmNoPXB5dGhvbi1lZmwtMS4xMiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2NwdS9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9jcHUvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3Yzg1ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9jcHUvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiBjcHUvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY3B1Lm9yaWcvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjA6Mzk6NDguMDAwMDAwMDAwICswMDAwCisrKysgY3B1L2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIxOjM5OjU1LjMyMDU1NTg2OCArMDAwMAorQEAgLTEwLDcgKzEwLDcgQEAKKyBBQ19DQU5PTklDQUxfSE9TVAorIEFDX0lTQ19QT1NJWAorIAorLUFNX0lOSVRfQVVUT01BS0UoMS42KQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIEFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisgbTRfaWZkZWYoW0FNX1NJTEVOVF9SVUxFU10sIFtBTV9TSUxFTlRfUlVMRVMoW3llc10pXSkKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2NwdV9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9jcHVfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0ZWIwOGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9jcHVfc3ZuLmJiCkBAIC0wLDAgKzEsMTAgQEAKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzQ0ODk1ZjI1M2MzMmYzOGUxODJkY2FmMzBmZThhMzUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy1QTEFJTjttZDU9YzkxMGI2NDVlZGEwMDA1Y2NlYzQ2Zjc1MjAzZGM5NmUiCisKK1BWID0gIjAuMC4xK3N2bnIke1NSQ1JFVn0iCitQUiA9ICIke0lOQ19QUn0uMCIKKworcmVxdWlyZSBlLW1vZHVsZS5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Rpc2tpb19zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9kaXNraW9fc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyNjE4NmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9kaXNraW9fc3ZuLmJiCkBAIC0wLDAgKzEsMTAgQEAKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzQ0ODk1ZjI1M2MzMmYzOGUxODJkY2FmMzBmZThhMzUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy1QTEFJTjttZDU9NjhiZTc2ZDgxMjZmYWNlMmZiYmVjZGYxYmNiZTJiMTAiCisKK1BWID0gIjAuMC4xK3N2bnIke1NSQ1BWfSIKK1BSID0gIiR7SU5DX1BSfS4wIgorCitQTkJMQUNLTElTVFtkaXNraW9dID89ICJicm9rZW46IHN3aXRjaCB0byBodHRwczovL2dpdC5lbmxpZ2h0ZW5tZW50Lm9yZy9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvZGlza2lvLmdpdC8gYW5kIGZpeCAwLjAuMStzdm5yODIwNzAtcjAuMC9FLU1PRFVMRVMtRVhUUkEvZGlza2lvL2UtbW9kdWxlLWRpc2tpby5lZGM6NTguIGludmFsaWQgc3RhdGUgbmFtZTogJ29mZicuICJkZWZhdWx0IiBzdGF0ZSBtdXN0IGFsd2F5cyBiZSBmaXJzdC4iCisKK3JlcXVpcmUgZS1tb2R1bGUuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLW1vZHVsZS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLW1vZHVsZS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDkyMzU3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2UtbW9kdWxlLmluYwpAQCAtMCwwICsxLDE5IEBACitERVNDUklQVElPTiA9ICJFMTcgJHtQTn0gbW9kdWxlIgorU0VDVElPTiA9ICJ4MTEvbXVsdGltZWRpYSIKK0RFUEVORFMgPSAiZS13bSIKKworU1JDUkVWID0gIiR7RUZMX1NSQ1JFVn0iCitJTkNfUFIgPSAicjAiCisKK1NSQ05BTUUgPSAiRS1NT0RVTEVTLUVYVFJBLyR7UE59IgorCitpbmhlcml0IGUgZ2V0dGV4dAorU1JDX1VSSSA9ICIke0VfU1ZOfS90cnVuazttb2R1bGU9JHtTUkNOQU1FfTtwcm90b2NvbD1odHRwO3NjbWRhdGE9a2VlcCIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWVkamUtY2M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VkamVfY2MiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzLyR7UE59IgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzLyR7UE59LyovLmRlYnVnIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzLyR7UE59LyovKi5hIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXRhc2tzLzAwMDEtZGJ1cy1zdHVmZi1Db252ZXJ0LXRvLWVsZGJ1cy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2UtdGFza3MvMDAwMS1kYnVzLXN0dWZmLUNvbnZlcnQtdG8tZWxkYnVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5MmE3NzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXRhc2tzLzAwMDEtZGJ1cy1zdHVmZi1Db252ZXJ0LXRvLWVsZGJ1cy5wYXRjaApAQCAtMCwwICsxLDIwNCBAQAorRnJvbSAzNzIyMzI4OWIzZDg1ZWE4ODc2ZTdiYTdjOWZmOTdlYzQyODA3M2JhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogU2F0LCAyMiBGZWIgMjAxNCAxNDozNjozOCArMDEwMAorU3ViamVjdDogW1BBVENIXSBkYnVzLXN0dWZmOiBDb252ZXJ0IHRvIGVsZGJ1cworCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgICAgIHwgIDIgKy0KKyBzcmMvTWFrZWZpbGUuYW0gIHwgIDIgKy0KKyBzcmMvZGJ1cy1zdHVmZi5jIHwgOTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvZGJ1cy1zdHVmZi5oIHwgMTMgKystLS0tLS0KKyBzcmMvbWFpbi5jICAgICAgIHwgIDIgKy0KKyA1IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDUzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBiM2U0ZDEyLi40YWNlMzJhIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0xNSw3ICsxNSw3IEBAIEFDX0hFQURFUl9TVERDCisgCisgQU1fUFJPR19MSUJUT09MCisgCistUEtHX0NIRUNLX01PRFVMRVMoVEFTS1MsIFtlbGVtZW50YXJ5IGVpbmEgZGJ1cy0xIGVkYnVzIHNxbGl0ZTNdKQorK1BLR19DSEVDS19NT0RVTEVTKFRBU0tTLCBbZWxlbWVudGFyeSBlaW5hIGRidXMtMSBlbGRidXMgc3FsaXRlM10pCisgCisgQUNfT1VUUFVUKFsKKyBNYWtlZmlsZQorZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQoraW5kZXggMjE0M2RjOS4uMzFkNTI1MyAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL01ha2VmaWxlLmFtCitAQCAtOCw3ICs4LDcgQEAgQU1fQ1BQRkxBR1MgPSBcCisgCSQoVEFTS1NfQ0ZMQUdTKQorIAorIEFNX0NGTEFHUyA9XAorLSAgICAgICAgICQoRURCVVNfQ0ZMQUdTKSBcCisrICAgICAgICAgJChFTERCVVNfQ0ZMQUdTKSBcCisgCSAtV2FsbFwKKyAJIC1nCisgCitkaWZmIC0tZ2l0IGEvc3JjL2RidXMtc3R1ZmYuYyBiL3NyYy9kYnVzLXN0dWZmLmMKK2luZGV4IDUwODA5YmMuLjlmMDJlZjMgMTAwNjQ0CistLS0gYS9zcmMvZGJ1cy1zdHVmZi5jCisrKysgYi9zcmMvZGJ1cy1zdHVmZi5jCitAQCAtMSw4ICsxLDcgQEAKKyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogICAgICAgICAgICBkYnVzLXN0dWZmLmMKKyAgKgorLSAqICBDb3B5cmlnaHQgIDIwMDkgIGNjaGFuZGVsCistICogIDxjY2hhbmRlbEB5YWhvby5jb20+CisrICogIENvcHlyaWdodCAgMjAwOSAgY2NoYW5kZWwgPGNjaGFuZGVsQHlhaG9vLmNvbT4KKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAKKyAvKgorQEAgLTIxLDUxICsyMCw2NyBAQAorICAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCAgVVNBCisgICovCisgI2luY2x1ZGUgImRidXMtc3R1ZmYuaCIKKy0jaW5jbHVkZSA8c3RyaW5nLmg+CistI2luY2x1ZGUgPEVfREJ1cy5oPgorLSNpbmNsdWRlIDxFbGVtZW50YXJ5Lmg+CisrI2luY2x1ZGUgIkVsZGJ1cy5oIgorIAorLXZvaWQgb2NjdXB5X2NwdSh2b2lkKQorK3ZvaWQgb25fdXNhZ2VfY2Iodm9pZCAqZGF0YSBFSU5BX1VOVVNFRCwgY29uc3QgRWxkYnVzX01lc3NhZ2UgKm1zZywgRWxkYnVzX1BlbmRpbmcgKnBlbmRpbmcgRUlOQV9VTlVTRUQpCisreworKyAgICAgICAgY29uc3QgY2hhciAqZXJybmFtZSwgKmVycm1zZzsKKysgICAgICAgIGlmIChlbGRidXNfbWVzc2FnZV9lcnJvcl9nZXQobXNnLCAmZXJybmFtZSwgJmVycm1zZykpCisrCSAgICAgICAgZnByaW50ZihzdGRlcnIsICJFcnJvcjogJXMgJXNcbiIsIGVycm5hbWUsIGVycm1zZyk7CisrfQorKworK2ludCBvdXNhZ2VkX3Jlc291cmNlKGNvbnN0IGNoYXIgKnJlc291cmNlLCBpbnQgdXNlZCkKKyB7CQorLQllX2RidXNfaW5pdCgpOworLQljb25uID0gZV9kYnVzX2J1c19nZXQoREJVU19CVVNfU1lTVEVNKTsKKy0JCistCURCdXNNZXNzYWdlICptc2c7CistCW1zZyA9IGRidXNfbWVzc2FnZV9uZXdfbWV0aG9kX2NhbGwoCistCQkib3JnLmZyZWVzbWFydHBob25lLm91c2FnZWQiLAorLQkJIi9vcmcvZnJlZXNtYXJ0cGhvbmUvVXNhZ2UiLAorLQkJIm9yZy5mcmVlc21hcnRwaG9uZS5Vc2FnZSIsCistCQkiUmVxdWVzdFJlc291cmNlIgorLQkpOworLQkKKy0JY29uc3QgY2hhciAqcmVzb3VyY2UgPSAiQ1BVIjsKKy0JZGJ1c19tZXNzYWdlX2FwcGVuZF9hcmdzIChtc2csIERCVVNfVFlQRV9TVFJJTkcsICZyZXNvdXJjZSwgREJVU19UWVBFX0lOVkFMSUQpOworKwllbGRidXNfaW5pdCgpOworKwljb25zdCBjaGFyICpSRVFVRVNUID0gIlJlcXVlc3RSZXNvdXJjZSI7CisrCWNvbnN0IGNoYXIgKlJFTEVBU0UgPSAiUmVsZWFzZVJlc291cmNlIjsKKysJY29uc3QgaW50ICAgUFJFUVVFU1QgPSAxOworIAorLQllX2RidXNfbWVzc2FnZV9zZW5kKGNvbm4sIG1zZywgZGJ1c19yZXBseV9jYiwgLTEsIE5VTEwpOworLQlkYnVzX21lc3NhZ2VfdW5yZWYobXNnKTsKKy19CisrICAgICAgICBFbGRidXNfQ29ubmVjdGlvbiAqY29ubjsKKysgICAgICAgIEVsZGJ1c19PYmplY3QgKm9iajsKKysgICAgICAgIEVsZGJ1c19Qcm94eSAqdXNhZ2U7CisrICAgICAgICBFbGRidXNfUGVuZGluZyAqcGVuZGluZzsKKysJY29ubiA9IGVsZGJ1c19jb25uZWN0aW9uX2dldChFTERCVVNfQ09OTkVDVElPTl9UWVBFX1NZU1RFTSk7CisrICAgICAgICBpZiAoIWNvbm4pCisrICAgICAgICB7CisrICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3I6IGNvdWxkIG5vdCBnZXQgc3lzdGVtIGJ1c1xuIik7CisrICAgICAgICAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CisrICAgICAgICB9CisgCistdm9pZCByZWxlYXNlX2NwdSh2b2lkKQorLXsKKy0JREJ1c01lc3NhZ2UgKm1zZzsKKy0JbXNnID0gZGJ1c19tZXNzYWdlX25ld19tZXRob2RfY2FsbCgKKy0JCSJvcmcuZnJlZXNtYXJ0cGhvbmUub3VzYWdlZCIsCistCQkiL29yZy9mcmVlc21hcnRwaG9uZS9Vc2FnZSIsCistCQkib3JnLmZyZWVzbWFydHBob25lLlVzYWdlIiwKKy0JCSJSZWxlYXNlUmVzb3VyY2UiCistCSk7CistCQorLQljb25zdCBjaGFyICpyZXNvdXJjZSA9ICJDUFUiOworLQlkYnVzX21lc3NhZ2VfYXBwZW5kX2FyZ3MgKG1zZywgREJVU19UWVBFX1NUUklORywgJnJlc291cmNlLCBEQlVTX1RZUEVfSU5WQUxJRCk7CisrICAgICAgICBvYmogPSBlbGRidXNfb2JqZWN0X2dldChjb25uLCAib3JnLmZyZWVzbWFydHBob25lLm91c2FnZWQiLCAiL29yZy9mcmVlc21hcnRwaG9uZS9Vc2FnZSIpOworKyAgICAgICAgaWYgKCFvYmopCisrICAgICAgICB7CisrICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3I6IGNvdWxkIG5vdCBnZXQgb2JqZWN0XG4iKTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKKysgICAgICAgIH0KKyAKKy0JZV9kYnVzX21lc3NhZ2Vfc2VuZChjb25uLCBtc2csIGRidXNfcmVwbHlfY2IsIC0xLCBOVUxMKTsKKy0JZGJ1c19tZXNzYWdlX3VucmVmKG1zZyk7CisrICAgICAgICB1c2FnZSA9IGVsZGJ1c19wcm94eV9nZXQob2JqLCAib3JnLmZyZWVzbWFydHBob25lLlVzYWdlIik7CisrICAgICAgICBpZiAoIXVzYWdlKQorKyAgICAgICAgeworKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVycm9yOiBjb3VsZCBub3QgZ2V0IHByb3h5XG4iKTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKKysgICAgICAgIH0KKysKKysgICAgICAgIHBlbmRpbmcgPSBlbGRidXNfcHJveHlfY2FsbCh1c2FnZSwgdXNlZCA9PSBQUkVRVUVTVCA/IFJFUVVFU1QgOiBSRUxFQVNFLCBvbl91c2FnZV9jYiwgTlVMTCwgLTEsICJzcyIsIHJlc291cmNlKTsKKysgICAgICAgIGlmICghcGVuZGluZykKKysgICAgICAgIHsKKysgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFcnJvcjogY291bGQgbm90IGNhbGxcbiIpOworKyAgICAgICAgICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOworKyAgICAgICAgfQorKyAgICAgICAgZWxkYnVzX3Byb3h5X3VucmVmKHVzYWdlKTsKKysgICAgICAgIGVsZGJ1c19vYmplY3RfdW5yZWYob2JqKTsKKysgICAgICAgIGVsZGJ1c19jb25uZWN0aW9uX3VucmVmKGNvbm4pOworKworKyAgICAgICAgZWxkYnVzX3NodXRkb3duKCk7CisrCXJldHVybiBFWElUX1NVQ0NFU1M7CisgfQorIAorLXZvaWQgZGJ1c19yZXBseV9jYih2b2lkICpkYXRhLCBEQnVzTWVzc2FnZSAqcmVwbHltc2csIERCdXNFcnJvciAqZXJyb3IpCisraW50IHJlcXVlc3RfY3B1KHZvaWQpCisgeworLQlpZiAoZGJ1c19lcnJvcl9pc19zZXQoZXJyb3IpKSB7CistCQlwcmludGYoIkVycm9yOiAlcyAtICVzXG4iLCBlcnJvci0+bmFtZSwgZXJyb3ItPm1lc3NhZ2UpOworLQl9CisrICAgICAgICByZXR1cm4gb3VzYWdlZF9yZXNvdXJjZSgiQ1BVIiwgMSk7CisgfQorIAorK2ludCByZWxlYXNlX2NwdSh2b2lkKQorK3sKKysgICAgICAgIHJldHVybiBvdXNhZ2VkX3Jlc291cmNlKCJDUFUiICwgMCk7CisrfQorZGlmZiAtLWdpdCBhL3NyYy9kYnVzLXN0dWZmLmggYi9zcmMvZGJ1cy1zdHVmZi5oCitpbmRleCA4M2Q0Nzc4Li5hM2M3MmNiIDEwMDY0NAorLS0tIGEvc3JjL2RidXMtc3R1ZmYuaAorKysrIGIvc3JjL2RidXMtc3R1ZmYuaAorQEAgLTIsOCArMiw3IEBACisgICogICAgICAgICAgICBkYnVzLmgKKyAgKgorICAqICBGcmkgTWFyICA2IDEyOjMyOjU3IDIwMDkKKy0gKiAgQ29weXJpZ2h0ICAyMDA5ICBuaWRoaW4KKy0gKiAgPG5pZGhpbkBuaWRzLWxhcHRvcC5ob21lPgorKyAqICBDb3B5cmlnaHQgIDIwMDkgIG5pZGhpbiA8bmlkaGluQG5pZHMtbGFwdG9wLmhvbWU+CisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgCisgLyoKK0BAIC0yMiwxMSArMjEsNSBAQAorICAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCAgVVNBCisgICovCisgCistI2luY2x1ZGUgPEVfREJ1cy5oPgorLSNpbmNsdWRlIDxFbGVtZW50YXJ5Lmg+CistCistdm9pZCBvY2N1cHlfY3B1KHZvaWQpOworLXZvaWQgcmVsZWFzZV9jcHUodm9pZCk7Cistdm9pZCBkYnVzX3JlcGx5X2NiKHZvaWQgKmRhdGEsIERCdXNNZXNzYWdlICpyZXBseW1zZywgREJ1c0Vycm9yICplcnJvcik7CistCistRV9EQnVzX0Nvbm5lY3Rpb24gKmNvbm47CisraW50IHJlcXVlc3RfY3B1KHZvaWQpOworK2ludCByZWxlYXNlX2NwdSh2b2lkKTsKK2RpZmYgLS1naXQgYS9zcmMvbWFpbi5jIGIvc3JjL21haW4uYworaW5kZXggOTJkMjFkZS4uNGU0YmJlMiAxMDA2NDQKKy0tLSBhL3NyYy9tYWluLmMKKysrKyBiL3NyYy9tYWluLmMKK0BAIC03Niw3ICs3Niw3IEBAIGVsbV9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJLy9yZXN0b3JlIHN0YXRlCisgCXJlc3RvcmVfc3RhdGUoKTsKKyAKKy0Jb2NjdXB5X2NwdSgpOworKwlyZXF1ZXN0X2NwdSgpOworIAorIAllbG1fcnVuKCk7CisgCS8vY2xlYW4gdXAgc3R1ZmYKKy0tIAorMS44LjUuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXRhc2tzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2UtdGFza3NfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwNjUxNTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXRhc2tzX2dpdC5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gImUtdGFza3MgaXMgYSB0b2RvIHByb2dyYW0gZm9yIE9wZW5tb2tvIHBob25lcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9lLXRhc2tzLyIKK0FVVEhPUiA9ICJjY2hhbmRlbCIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04ZjBlMmNkNDBlMDUxODllYzgxMjMyZGE4NGJkNmUxYSIKK1NFQ1RJT04gPSAiZS9hcHBzIgorREVQRU5EUyA9ICJlbGVtZW50YXJ5IGVpbmEgZWxkYnVzIHNxbGl0ZTMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1NSQ1JFViA9ICI4OTBmNWVlMzdkMWE1ZmQxY2ViMjQ5NTk1MGQxNTE1MWQ0Y2Y3NTZiIgorUFYgPSAiMC4wLjIrZ2l0ciR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2hyLXByb2plY3QvZS10YXNrcy5naXQiCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1kYnVzLXN0dWZmLUNvbnZlcnQtdG8tZWxkYnVzLnBhdGNoIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICIke0R9LyR7ZGF0YWRpcn0vcGl4bWFwcyIKKyAgICBpbnN0YWxsIC1tIDA2NDQgIiR7U30vcmVzb3VyY2VzL2UtdGFza3MucG5nIiAiJHtEfS8ke2RhdGFkaXJ9L3BpeG1hcHMiCisgICAgaW5zdGFsbCAtZCAiJHtEfS8ke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucyIKKyAgICBpbnN0YWxsIC1tIDA2NDQgIiR7U30vcmVzb3VyY2VzL2UtdGFza3MuZGVza3RvcCIgIiR7RH0vJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMiCisgICAgaW5zdGFsbCAtZCAgIiR7RH0vJHtkYXRhZGlyfS9lLXRhc2tzIgorICAgIGZvciBpY28gaW4gIiR7U30vcmVzb3VyY2VzLyIqLnBuZzsgZG8KKyAgICAgICAgaWYgWyAiJChiYXNlbmFtZSAkaWNvKSIgIT0gImUtdGFza3MucG5nIiBdOyB0aGVuCisgICAgICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJGljbyAiJHtEfS8ke2RhdGFkaXJ9L2UtdGFza3MiCisgICAgICAgIGZpCisgICAgZG9uZQorfQorCitGSUxFU18ke1BOfSArPSAiL3Vzci9zaGFyZS9lLXRhc2tzLyogL3Vzci9zaGFyZS9hcHBsaWNhdGlvbnMvKiAvdXNyL3NoYXJlL3BpeG1hcHMvKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20tdGhlbWUtYi1hbmQtd19zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtLXRoZW1lLWItYW5kLXdfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlMWI4YTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtLXRoZW1lLWItYW5kLXdfc3ZuLmJiCkBAIC0wLDAgKzEsMzEgQEAKK0RFU0NSSVBUSU9OID0gImItYW5kLXcgdGhlbWUgd2FzIGRlZmF1bHQgRTE3IHRoZW1lIGJlZm9yZSBhbHBoYTMgYW5kIHNvbWUgcGVvcGxlIHN0aWxsIHByZWZlcnMgaXQuIgorU0VDVElPTiA9ICJlL3V0aWxzIgorREVQRU5EUyA9ICJlZGplLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ID0gImUtd20iCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKKyMgdXBzdHJlYW0gd2FzIGFza2VkIHRvIGluY2x1ZGUgbGljZW5zZSBpbmZvciBpbiBUSEVNRSBkaXIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL01JVDttZDU9MDgzNWFkZTY5OGUwYmNmODUwNmVjZGEyZjdiNGYzMDIiCisKK2luaGVyaXQgYWxsYXJjaAorCitTUkNSRVYgPSAiJHtFRkxfU1JDUkVWfSIKK1BWID0gIjAuMCtzdm5yJHtTUkNQVn0iCisKK2luaGVyaXQgZS1iYXNlCisKK1NSQ05BTUUgPSAiYl9hbmRfdyIKK1NSQ19VUkkgPSAiJHtFX1NWTn0vdHJ1bmsvVEhFTUVTO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHAiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS9lIgorCitkb19jb21waWxlKCkgeworICAgICMgdW5mb3J0dW5hdGVseSBoYXJkY29kZWQgZWRqZV9jYyBpbiBNYWtlZmlsZSAgICAgCisgICAgc2VkIC1pICJzI1x0ZWRqZV9jYyNcdCR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lZGplX2NjI2ciIE1ha2VmaWxlCisgICAgbWFrZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL3RoZW1lcy8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9iX2FuZF93LmVkaiAke0R9JHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvdGhlbWVzLworfQorCitGSUxFU18ke1BOfSA9ICIke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS90aGVtZXMvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bS10aGVtZS1pbGx1bWUtZWZlbm5paHQvTElDRU5TRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20tdGhlbWUtaWxsdW1lLWVmZW5uaWh0L0xJQ0VOU0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjFiYjJmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20tdGhlbWUtaWxsdW1lLWVmZW5uaWh0L0xJQ0VOU0UKQEAgLTAsMCArMSwyNSBAQAorQ29weXJpZ2h0IG5vdGljZSBmb3IgRW5saWdodGVubWVudDoKKworQ29weXJpZ2h0IChDKSAyMDAwLTIwMTAgQ2Fyc3RlbiBIYWl0emxlciBhbmQgdmFyaW91cyBjb250cmlidXRvcnMgKHNlZSBBVVRIT1JTKQorCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgCisgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgCitJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5ECitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCitDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsCitPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORworTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLAorRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20tdGhlbWUtaWxsdW1lLWVmZW5uaWh0X3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20tdGhlbWUtaWxsdW1lLWVmZW5uaWh0X3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjVlNGU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bS10aGVtZS1pbGx1bWUtZWZlbm5paHRfc3ZuLmJiCkBAIC0wLDAgKzEsMzUgQEAKK0RFU0NSSVBUSU9OID0gImVmZW5uaWh0IGlsbHVtZSB0aGVtZSAtIEVmZW5uaWh0IHdhcyBkZXZpc2VkIHRvIGJlIGNsZWFuIFwKK2FuZCBuZXV0cmFsLiBJdHMgbmFtZSAod2hpY2ggbWVhbnMgZXF1aW5veCkgY29tZXMgZnJvbSB0aGUgY2hyb21hdGljIGR1YWxpdHkgXAordGhhdCB3YXMgZGVjaWRlZCBhdCB0aGUgdmVyeSBiZWdpbm5pbmcsIHdpdGggYSBkYXJrIHRoZW1lIChibGFjayBhbmQgb3JhbmdlKSBcCithbmQgYSBicmlnaHQgb25lICh3aGl0ZSBhbmQgYmx1ZSkgdG8gYmUgZGV2ZWxvcGVkIHNvIHRoYXQgbW9yZSBwZW9wbGUgZmVlbCBcCitjb21mb3J0YWJsZSB1c2luZyBpdC4gRWZlbm5paHQgdXNlcyBmZXcgYW5pbWF0aW9ucywgZGlzY3JldGUgY29udHJhc3RzIGJldHdlZW4gXAorc2hhZGVzIG9mIGdyYXkgYW5kIGZpbmUgbGluZXMgKGNvbG9yZWQpIHRoYXQgb3V0bGluZSB0aGUgc2VsZWN0ZWQgZWxlbWVudHMuIgorU0VDVElPTiA9ICJlL3V0aWxzIgorSE9NRVBBR0UgPSAiaHR0cDovL3RyYWMuZW5saWdodGVubWVudC5vcmcvZS93aWtpL1RoZW1lcyNFZmVubmlodCIKK0RFUEVORFMgPSAiZWRqZS1uYXRpdmUiCitSREVQRU5EU18ke1BOfSA9ICJlLXdtIgorUlNVR0dFU1RTXyR7UE59ID0gImVsZW1lbnRhcnktdGhlbWUtZWZlbm5paHQiCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vTElDRU5TRTttZDU9ZjUyM2FiNTk4NmNjNzliNTJhOTBkMmFjM2Q1NDU0YTIiCisKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorUFYgPSAiMC4wK3N2bnIke1NSQ1BWfSIKKworaW5oZXJpdCBlLWJhc2UgYWxsYXJjaAorCitTUkNOQU1FID0gImVmZW5uaWh0IgorU1JDX1VSSSA9ICIke0VfU1ZOfS90cnVuay9USEVNRVM7bW9kdWxlPSR7U1JDTkFNRX07cHJvdG9jb2w9aHR0cCBcCisgICAgICAgICAgIGZpbGU6Ly9MSUNFTlNFIFwKKyIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitkb19jb21waWxlKCkgeworICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lZGplX2NjIC1pZCAke1N9L2ltYWdlcyAke1N9L2VmZW5uaWh0LmVkYyAtbyAke1N9L2VmZW5uaWh0LmVkagorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL3RoZW1lcy8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9lZmVubmlodC5lZGogJHtEfSR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL3RoZW1lcy8KK30KKworRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvdGhlbWVzLyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20uaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ0ZWM4OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20uaW5jCkBAIC0wLDAgKzEsMjAyIEBACitERVNDUklQVElPTiA9ICJUaGUgRW5saWdodGVubWVudCBXaW5kb3cgTWFuYWdlciBWZXJzaW9uIDE3IgorREVQRU5EUyA9ICJlZXQgZXZhcyBlaW5hIGVjb3JlIGVkamUgZWZyZWV0IGVkYnVzIGVlemUgZWlvIGVsZW1lbnRhcnkgbGlieGNiIHhjYi11dGlsLWtleXN5bXMiCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc2ZGUyOTBlYjNmZGRhMTIxMjE4MzAxOTFjMTUyYTdkIgorU1JDTkFNRSA9ICJlIgorCitpbmhlcml0IGUgdXBkYXRlLWFsdGVybmF0aXZlcyBnZXR0ZXh0IHBrZ2NvbmZpZworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0nLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnc3lzdGVtZCcsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS1lbmFibGUtcGFtLC0tZGlzYWJsZS1wYW0sbGlicGFtIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kLC0tZGlzYWJsZS1zeXN0ZW1kLHN5c3RlbWQiCisKKworRVhUUkFfT0VDT05GID0gIlwKKyAgICAtLXdpdGgtZWRqZS1jYz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZWRqZV9jYyBcCisgICAgLS13aXRoLWVldC1lZXQ9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VldCBcCisgICAgLS14LWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9L1gxMSBcCisgICAgLS14LWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgLS1lbmFibGUtc2ltcGxlLXgxMSBcCisiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGF1dG9wb2ludCB8fCB0cnVlCisgICAgc2VkICcvXiAqRUZMX1BLR19DSEVDS19WQVIvIHMvc3lzdGVtZHVzZXJ1bml0ZGlyL3N5c3RlbWRzeXN0ZW11bml0ZGlyL2cnIC1pICR7U30vY29uZmlndXJlLmFjCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgY3VzdG9taXNpbmcgLSBzaG91bGQgcmF0aGVyIG1ha2UgdGhpcyBzaW1wbGUgdXBzdHJlYW0KKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2VubGlnaHRlbm1lbnRfc3RhcnQub2UgJHtEfS8ke2JpbmRpcn0KKworICAgICMgc2VjdXJpdHkgcmVhc29ucywgZS13bSBjaGVja3MgdGhhdCBpbiBydW50aW1lCisgICAgIyB4aW5pdFs0MThdOiBFUlJPUjogQ09ORklHVVJBVElPTiBGSUxFIEhBUyBCQUQgUEVSTUlTU0lPTlMKKyAgICBjaG1vZCA2MDAgJHtEfS8ke3N5c2NvbmZkaXJ9L2VubGlnaHRlbm1lbnQvc3lzYWN0aW9ucy5jb25mCisKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS94ZGcvbWVudXMKKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L2FwcGxpY2F0aW9ucy5tZW51ICR7RH0vJHtzeXNjb25mZGlyfS94ZGcvbWVudXMvCisgICAgZm9yIEkgaW4gYGZpbmQgJHtEfS8ke2xpYmRpcn0vZW5saWdodGVubWVudCAtbmFtZSAiKi5hIiAtcHJpbnRgOyBkbyBybSAtZiAkSTsgZG9uZQorICAgIGZvciBJIGluIGBmaW5kICR7RH0vJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQgLW5hbWUgIioubGEiIC1wcmludGA7IGRvIHJtIC1mICRJOyBkb25lCisKKyAgICAjIHdvcmsgYXJvdW5kIGZvciBpc3N1ZSBjYXVzZWQgaW4gcjc4OTc4LCBtb3JlIGluZm9yIGluOgorICAgICMgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9tYWlsYXJjaGl2ZS9mb3J1bS5waHA/dGhyZWFkX25hbWU9MjAxMjExMTgxOTQ5MDQuR0EzNDM4JTQwamFtYS5qYW1hLm5ldCZmb3J1bV9uYW1lPWVubGlnaHRlbm1lbnQtZGV2ZWwKKyAgICBtdiAke0R9LyR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvcG9saWNpZXMgJHtEfS8ke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzL2lsbHVtZTIvIFwKKyAgICAgIHx8IGVjaG8gImlsbHVtZTIgcG9saWNpZXMgYXJlIGluIGNvcnJlY3QgcGxhY2Ugbm93IgorICAgIG12ICR7RH0vJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvbW9kdWxlcy9rZXlib2FyZHMgJHtEfS8ke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzL2lsbHVtZTIvIFwKKyAgICAgIHx8IGVjaG8gImlsbHVtZTIga2V5Ym9hcmRzIGFyZSBpbiBjb3JyZWN0IHBsYWNlIG5vdyIKK30KKworUkRFUEVORFNfJHtQTn0gKz0gIlwKKyAgICBzaGFyZWQtbWltZS1pbmZvIFwKKyAgICBtaW1lLXN1cHBvcnQgXAorICAgIHNldHhrYm1hcCBcCisgICAgZWRqZS11dGlscyBcCisgICAgJHtQTn0tdXRpbHMgXAorICAgIGRidXMteDExIFwKKyIKKworIyBVY2xpYmMgYnVpbGQgZG9uJ3QgaGF2ZSAnZ2xpYmMtdXRpbHMnCitSREVQRU5EU18ke1BOfV9hcHBlbmRfbGliYy1nbGliYyA9ICIgZ2xpYmMtdXRpbHMgIgorCisjIFRoZSBzeXN0cmF5IG1vZHVsZSB1c2VkIHRvIGJlIGV4dGVybmFsLCBidXQgaXMgcGFydCBvZiBlLXdtIG5vdworUlJFUExBQ0VTXyR7UE59ID0gInN5c3RyYXkiCisKK1JSRVBMQUNFU18ke1BOfS1jb25maWctbW9iaWxlID0gIiR7UE59LWNvbmZpZy1pbGx1bWUyIgorUkNPTkZMSUNUU18ke1BOfS1jb25maWctbW9iaWxlID0gIiR7UE59LWNvbmZpZy1pbGx1bWUyIgorUlBST1ZJREVTXyR7UE59LWNvbmZpZy1tb2JpbGUgPSAiJHtQTn0tY29uZmlnLWlsbHVtZTIiCisKK1BBQ0tBR0VTID0rICJcCisgICAgJHtQTn0tY29uZmlnLWRlZmF1bHQgXAorICAgICR7UE59LWNvbmZpZy1tb2JpbGUgXAorICAgICR7UE59LWNvbmZpZy1taW5pbWFsaXN0IFwKKyAgICAke1BOfS1jb25maWctbmV0Ym9vayBcCisgICAgJHtQTn0tY29uZmlnLXNjYWxlYWJsZSBcCisgICAgJHtQTn0tY29uZmlnLXN0YW5kYXJkIFwKKyAgICAke1BOfS1jb25maWctdGlsaW5nIFwKKyAgICAke1BOfS10aGVtZS1kZWZhdWx0IFwKKyAgICAke1BOfS1iYWNrZ3JvdW5kLWRhcmstZ3JhZGllbnQgXAorICAgICR7UE59LWJhY2tncm91bmQtbGlnaHQtZ3JhZGllbnQgXAorICAgICR7UE59LWJhY2tncm91bmRzIFwKKyAgICAke1BOfS1pbWFnZXMgXAorICAgICR7UE59LWljb25zIFwKKyAgICAke1BOfS1vdGhlciBcCisgICAgJHtQTn0taW5wdXQtbWV0aG9kcyBcCisgICAgJHtQTn0tc3lzYWN0aW9ucyBcCisgICAgJHtQTn0tdXRpbHMgXAorICAgICR7UE59LW1lbnUgXAorICAgIGVmbS1kZXNrdG9wLWljb24gXAorICAgIGlsbHVtZS1rZXlib2FyZC1kZWZhdWx0LWFscGhhIFwKKyAgICBpbGx1bWUta2V5Ym9hcmQtZGVmYXVsdC1udW1lcmljIFwKKyAgICBpbGx1bWUta2V5Ym9hcmQtZGVmYXVsdC10ZXJtaW5hbCBcCisiCisKK0VTWVNBQ1RJT05TID89ICIke1BOfS1zeXNhY3Rpb25zIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJcCisgICAgJHtQTn0tY29uZmlnLWRlZmF1bHQgXAorICAgICR7UE59LWltYWdlcyBcCisgICAgJHtQTn0taWNvbnMgXAorICAgICR7UE59LW90aGVyIFwKKyAgICAke1BOfS1pbnB1dC1tZXRob2RzIFwKKyAgICAke0VTWVNBQ1RJT05TfSBcCisgICAgZWZyZWV0IFwKKyAgICBldmFzLWdlbmVyaWMtbG9hZGVyLXN2ZyBcCisiCisKK0ZJTEVTXyR7UE59ID0gIlwKKyAgICAke2JpbmRpcn0vKiBcCisgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvdXRpbHMvKiBcCisgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvbW9kdWxlcy8qLyouKiBcCisgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvbW9kdWxlcy8qLyovKiBcCisgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvbW9kdWxlcy8qLyovLm9yZGVyIFwKKyAgICAke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzL2tleWJvYXJkcy9pZ25vcmVfYnVpbHRfaW5fa2V5Ym9hcmRzIFwKKyAgICAke2xpYmRpcn0vZW5saWdodGVubWVudC8qcGx1Z2lucy8qLyovKiBcCisgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvcHJlbG9hZC9lX3ByZWNhY2hlLnNvIFwKKyAgICAke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS9pY29ucyBcCisgICAgJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvZmF2b3JpdGVzIFwKKyAgICAke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS9pbnB1dF9tZXRob2RzIFwKKyAgICAke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS9jb25maWcvcHJvZmlsZS5jZmcgXAorICAgICR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9BVVRIT1JTIFwKKyAgICAke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvQ09QWUlORyBcCisgICAgJHtkYXRhZGlyfS94c2Vzc2lvbnMvZW5saWdodGVubWVudC5kZXNrdG9wIFwKKyAgICAke3N5c2NvbmZkaXJ9L3hkZyBcCisgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9IFwKKyIKKworRklMRVNfJHtQTn0tY29uZmlnLWRlZmF1bHQgPSAiJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvY29uZmlnL2RlZmF1bHQiCitGSUxFU18ke1BOfS1jb25maWctbW9iaWxlID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2NvbmZpZy9tb2JpbGUiCitGSUxFU18ke1BOfS1jb25maWctbWluaW1hbGlzdCA9ICIke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS9jb25maWcvbWluaW1hbGlzdCIKK0ZJTEVTXyR7UE59LWNvbmZpZy1uZXRib29rID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2NvbmZpZy9uZXRib29rIgorRklMRVNfJHtQTn0tY29uZmlnLXNjYWxlYWJsZSA9ICIke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS9jb25maWcvc2NhbGVhYmxlIgorRklMRVNfJHtQTn0tY29uZmlnLXN0YW5kYXJkID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2NvbmZpZy9zdGFuZGFyZCIKK0ZJTEVTXyR7UE59LWNvbmZpZy10aWxpbmcgPSAiJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvY29uZmlnL3RpbGluZyIKK0ZJTEVTXyR7UE59LXRoZW1lLWRlZmF1bHQgPSAiJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvdGhlbWVzL2RlZmF1bHQuZWRqIgorRklMRVNfJHtQTn0tdGhlbWUtZGVmYXVsdCA9ICIke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS90aGVtZXMvZGVmYXVsdC5lZGoiCitGSUxFU18ke1BOfS1iYWNrZ3JvdW5kLWRhcmstZ3JhZGllbnQgPSAiJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvYmFja2dyb3VuZHMvRGFya19HcmFkaWVudC5lZGoiCitGSUxFU18ke1BOfS1iYWNrZ3JvdW5kLWxpZ2h0LWdyYWRpZW50ID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2JhY2tncm91bmRzL0xpZ2h0X0dyYWRpZW50LmVkaiIKK0ZJTEVTXyR7UE59LWJhY2tncm91bmRzID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2JhY2tncm91bmRzLyouZWRqIgorRklMRVNfJHtQTn0taW1hZ2VzID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2ltYWdlcyAke2RhdGFkaXJ9L2VubGlnaHRlbm1lbnQvZGF0YS9mbGFncyIKK0ZJTEVTXyR7UE59LWljb25zID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2ljb25zIgorRklMRVNfJHtQTn0tb3RoZXIgPSAiJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RhdGEvb3RoZXIiCitGSUxFU18ke1BOfS1pbnB1dC1tZXRob2RzID0gIiR7ZGF0YWRpcn0vZW5saWdodGVubWVudC9kYXRhL2lucHV0X21ldGhvZHMiCitGSUxFU18ke1BOfS1zeXNhY3Rpb25zID0gIiR7c3lzY29uZmRpcn0vZW5saWdodGVubWVudC9zeXNhY3Rpb25zLmNvbmYiCitGSUxFU18ke1BOfS11dGlscyA9ICIke2xpYmRpcn0vZW5saWdodGVubWVudC91dGlscy8qIgorRklMRVNfJHtQTn0tbWVudSA9ICIke3N5c2NvbmZkaXJ9L3hkZy9tZW51cy9hcHBsaWNhdGlvbnMubWVudSIKKworRklMRVNfZWZtLWRlc2t0b3AtaWNvbiA9ICJcCisgICAgJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMvZWZtLmRlc2t0b3AgXAorICAgICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zL2VubGlnaHRlbm1lbnRfZmlsZW1hbmFnZXIuZGVza3RvcCBcCisgICAgJHtkYXRhZGlyfS9pY29ucy9lLW1vZHVsZS1maWxlbWFuLnBuZyBcCisiCisKK0tFWUJPQVJEU19ESVI9IiR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvaWxsdW1lLWtleWJvYXJkL2tleWJvYXJkcyIKK0ZJTEVTX2lsbHVtZS1rZXlib2FyZC1kZWZhdWx0LWFscGhhID0gIlwKKyAgICAke0tFWUJPQVJEU19ESVJ9L0RlZmF1bHQua2JkIFwKKyAgICAke0tFWUJPQVJEU19ESVJ9L2FscGhhLnBuZyBcCisiCitGSUxFU19pbGx1bWUta2V5Ym9hcmQtZGVmYXVsdC1udW1lcmljID0gIlwKKyAgICAke0tFWUJPQVJEU19ESVJ9L051bWJlcnMua2JkIFwKKyAgICAke0tFWUJPQVJEU19ESVJ9L251bWVyaWMucG5nIFwKKyIKK0ZJTEVTX2lsbHVtZS1rZXlib2FyZC1kZWZhdWx0LXRlcm1pbmFsID0gIlwKKyAgICAke0tFWUJPQVJEU19ESVJ9L1Rlcm1pbmFsLmtiZCBcCisgICAgJHtLRVlCT0FSRFNfRElSfS9xd2VydHkucG5nIFwKKyIKKworUlJFQ09NTUVORFNfJHtQTn0tY29uZmlnLWRlZmF1bHQgPSAiJHtQTn0tdGhlbWUtZGVmYXVsdCIKK1JSRUNPTU1FTkRTXyR7UE59LWNvbmZpZy1tb2JpbGUgPSAiXAorICAgIGlsbHVtZS1rZXlib2FyZC1kZWZhdWx0LWFscGhhIFwKKyAgICBpbGx1bWUta2V5Ym9hcmQtZGVmYXVsdC1udW1lcmljIFwKKyAgICBpbGx1bWUta2V5Ym9hcmQtZGVmYXVsdC10ZXJtaW5hbCBcCisiCisKK1JSRUNPTU1FTkRTXyR7UE59LWNvbmZpZy1taW5pbWFsaXN0ID0gIlwKKyAgICAke1BOfS1iYWNrZ3JvdW5kLWxpZ2h0LWdyYWRpZW50IFwKKyAgICAke1BOfS10aGVtZS1kZWZhdWx0IFwKKyIKK1JSRUNPTU1FTkRTXyR7UE59LWNvbmZpZy1uZXRib29rID0gIlwKKyAgICAke1BOfS1iYWNrZ3JvdW5kLWRhcmstZ3JhZGllbnQgXAorICAgICR7UE59LXRoZW1lLWRlZmF1bHQgXAorIgorUlJFQ09NTUVORFNfJHtQTn0tY29uZmlnLXNjYWxlYWJsZSA9ICIke1BOfS10aGVtZS1kZWZhdWx0IgorUlJFQ09NTUVORFNfJHtQTn0tY29uZmlnLXN0YW5kYXJkID0gIiR7UE59LXRoZW1lLWRlZmF1bHQiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiXAorICAgICR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvKi8qLy5kZWJ1Zy8gXAorICAgICR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvcG9saWNpZXMvLmRlYnVnLyBcCisgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvcHJlbG9hZC8uZGVidWcvIFwKKyAgICAke2xpYmRpcn0vZW5saWdodGVubWVudC91dGlscy8uZGVidWcvIFwKKyAgICAke2xpYmRpcn0vZW5saWdodGVubWVudC8qcGx1Z2lucy8qLyovLmRlYnVnIFwKKyIKKworRklMRVNfJHtQTn0tZG9jICs9ICJcCisgICAgJHtkYXRhZGlyfS9lbmxpZ2h0ZW5tZW50L2RvYyBcCisiCisKK0NPTkZGSUxFU18ke1BOfS1tZW51ID0gIiR7c3lzY29uZmRpcn0veGRnL21lbnVzL2FwcGxpY2F0aW9ucy5tZW51IgorQ09ORkZJTEVTXyR7UE59LXN5c2FjdGlvbnMgPSAiL2V0Yy9lbmxpZ2h0ZW5tZW50L3N5c2FjdGlvbnMuY29uZiIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAieC13aW5kb3ctbWFuYWdlciIKK0FMVEVSTkFUSVZFX1RBUkdFVFt4LXdpbmRvdy1tYW5hZ2VyXSA9ICIke2JpbmRpcn0vZW5saWdodGVubWVudF9zdGFydC5vZSIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZW3gtd2luZG93LW1hbmFnZXJdID0gIjE2IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bS8wMDAxLUZpeC1pbmNvcnJlY3QtbWVzc2FnZS10eXBlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bS8wMDAxLUZpeC1pbmNvcnJlY3QtbWVzc2FnZS10eXBlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3MThlZjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtLzAwMDEtRml4LWluY29ycmVjdC1tZXNzYWdlLXR5cGUucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSAwYWVmNDNjOWNkMTY1NjQxM2NmMmViM2RjN2MxOWIzNTVlZTdlZDUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgorRGF0ZTogU3VuLCAxIEp1biAyMDE0IDE0OjQ1OjQ5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBpbmNvcnJlY3QgbWVzc2FnZSB0eXBlCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CistLS0KKyBzcmMvYmluL2VfZGVzay5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9lX2Rlc2suYyBiL3NyYy9iaW4vZV9kZXNrLmMKK2luZGV4IGIxNTZlMTkuLjc3ZDc1MjAgMTAwNjQ0CistLS0gYS9zcmMvYmluL2VfZGVzay5jCisrKysgYi9zcmMvYmluL2VfZGVzay5jCitAQCAtMjIxLDcgKzIyMSw3IEBAIGVfZGVza19zaG93KEVfRGVzayAqZGVzaykKKyAgICBFX0V2ZW50X0Rlc2tfU2hvdyAqZXY7CisgICAgRV9FdmVudF9EZXNrX0JlZm9yZV9TaG93ICplZXY7CisgICAgRV9FdmVudF9EZXNrX0FmdGVyX1Nob3cgKmVlZXY7CistICAgRWRqZV9NZXNzYWdlX0Zsb2F0X1NldCAqbXNnOworKyAgIEVkamVfTWVzc2FnZV9JbnRfU2V0ICptc2c7CisgICAgRWluYV9MaXN0ICpsOworICAgIEVfU2hlbGYgKmVzOworICAgIGludCB3YXNfem9uZSA9IDAsIHgsIHksIGR4ID0gMCwgZHkgPSAwOworLS0gCisxLjguMy4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20vMDAwMS1jb25maWd1cmUuYWMtYWRkLWZvcmVpZ24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtLzAwMDEtY29uZmlndXJlLmFjLWFkZC1mb3JlaWduLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3YTU3NGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtLzAwMDEtY29uZmlndXJlLmFjLWFkZC1mb3JlaWduLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gMTllNTliNmU4MTQ4Mzg4ZTdhMTdmMTBkNDM5MDE3NmE1MGUyOTE3ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMjUgQXVnIDIwMTQgMTY6MDY6MDMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLmFjOiBhZGQgZm9yZWlnbgorCisqIGZpeGVzOgorICB8IGNvbmZpZ3VyZS5hYzozMTI6IGVycm9yOiByZXF1aXJlZCBmaWxlICcuL0FCT1VULU5MUycgbm90IGZvdW5kCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNTFhZDBiYS4uY2Q3NzczOSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMzQsNyArMzQsNyBAQCBBSF9CT1RUT00oWworICNlbmRpZiAvKiBFRkxfQ09ORklHX0hfXyAqLworIF0pCisgCistQU1fSU5JVF9BVVRPTUFLRShbMS4xMSBkaXN0LWJ6aXAyIGRpc3QteHogLVduby1wb3J0YWJpbGl0eV0pCisrQU1fSU5JVF9BVVRPTUFLRShbMS4xMSBkaXN0LWJ6aXAyIGRpc3QteHogLVduby1wb3J0YWJpbGl0eSBmb3JlaWduXSkKKyBBTV9TSUxFTlRfUlVMRVMoW3llc10pCisgCisgQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TCistLSAKKzIuMy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20vYXBwbGljYXRpb25zLm1lbnUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtL2FwcGxpY2F0aW9ucy5tZW51Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkOWI5MDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtL2FwcGxpY2F0aW9ucy5tZW51CkBAIC0wLDAgKzEsMTA1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBNZW51IFBVQkxJQyAiLS8vZnJlZWRlc2t0b3AvL0RURCBNZW51IDEuMC8vRU4iICJodHRwOi8vc3RhbmRhcmRzLmZyZWVkZXNrdG9wLm9yZy9tZW51LXNwZWMvbWVudS0xLjAuZHRkIj4KKzxNZW51PgorICA8TmFtZT5BcHBsaWNhdGlvbnM8L05hbWU+CisgIDwhLS0gICA8RGlyZWN0b3J5PkFwcGxpY2F0aW9ucy5kaXJlY3Rvcnk8L0RpcmVjdG9yeT4gLS0+CisKKyAgPCEtLSBSZWFkIHN0YW5kYXJkIC5kaXJlY3RvcnkgYW5kIC5kZXNrdG9wIGZpbGUgbG9jYXRpb25zIC0tPgorICA8RGVmYXVsdEFwcERpcnM+L3Vzci9zaGFyZS9hcHBsaWNhdGlvbnM8L0RlZmF1bHRBcHBEaXJzPgorICA8RGVmYXVsdERpcmVjdG9yeURpcnMvPgorCisgIDxNZW51PgorICAgIDxOYW1lPk9mZmljZTwvTmFtZT4KKyAgICA8RGlyZWN0b3J5Pk9mZmljZS5kaXJlY3Rvcnk8L0RpcmVjdG9yeT4KKyAgICA8SW5jbHVkZT4KKyAgICAgIDxBbmQ+CisgICAgICAgIDxDYXRlZ29yeT5PZmZpY2U8L0NhdGVnb3J5PgorICAgICAgPC9BbmQ+CisgICAgPC9JbmNsdWRlPgorICA8L01lbnU+CisgIAorICA8TWVudT4KKyAgICA8TmFtZT5NdWx0aW1lZGlhPC9OYW1lPgorICAgIDxEaXJlY3Rvcnk+TXVsdGltZWRpYS5kaXJlY3Rvcnk8L0RpcmVjdG9yeT4KKyAgICA8SW5jbHVkZT4KKyAgICAgIDxBbmQ+CisgICAgICAgIDxDYXRlZ29yeT5BdWRpb1ZpZGVvPC9DYXRlZ29yeT4KKyAgICAgIDwvQW5kPgorICAgIDwvSW5jbHVkZT4KKyAgPC9NZW51PgorCisgIDxNZW51PgorICAgIDxOYW1lPkdyYXBoaWNzPC9OYW1lPgorICAgIDxEaXJlY3Rvcnk+R3JhcGhpY3MuZGlyZWN0b3J5PC9EaXJlY3Rvcnk+CisgICAgPEluY2x1ZGU+CisgICAgICA8QW5kPgorICAgICAgICA8Q2F0ZWdvcnk+R3JhcGhpY3M8L0NhdGVnb3J5PgorICAgICAgPC9BbmQ+CisgICAgPC9JbmNsdWRlPgorICA8L01lbnU+CisKKyAgPE1lbnU+CisgICAgPE5hbWU+R2FtZXM8L05hbWU+CisgICAgPERpcmVjdG9yeT5HYW1lcy5kaXJlY3Rvcnk8L0RpcmVjdG9yeT4KKyAgICA8SW5jbHVkZT4KKyAgICAgIDxBbmQ+CisgICAgICAgIDxPcj4KKyAgICAgICAgIDxDYXRlZ29yeT5HYW1lPC9DYXRlZ29yeT4KKyAgICAgICAgIDxDYXRlZ29yeT5HYW1lczwvQ2F0ZWdvcnk+CisgICAgICAgIDwvT3I+CisgICAgICA8L0FuZD4KKyAgICA8L0luY2x1ZGU+CisgIDwvTWVudT4KKworICA8TWVudT4KKyAgICA8TmFtZT5JbnRlcm5ldDwvTmFtZT4KKyAgICA8RGlyZWN0b3J5PkludGVybmV0LmRpcmVjdG9yeTwvRGlyZWN0b3J5PgorICAgIDxJbmNsdWRlPgorICAgICAgPEFuZD4KKyAgICAgICAgPE9yPgorICAgICAgICAgPENhdGVnb3J5PkludGVybmV0PC9DYXRlZ29yeT4KKyAgICAgICAgIDxDYXRlZ29yeT5OZXR3b3JrPC9DYXRlZ29yeT4KKyAgICAgICAgPC9Pcj4KKyAgICAgIDwvQW5kPgorICAgIDwvSW5jbHVkZT4KKyAgPC9NZW51PgorCisgIDxNZW51PgorICAgIDxOYW1lPlNldHRpbmdzPC9OYW1lPgorICAgIDxEaXJlY3Rvcnk+U2V0dGluZ3MuZGlyZWN0b3J5PC9EaXJlY3Rvcnk+CisgICAgPEluY2x1ZGU+CisgICAgICA8QW5kPgorICAgICAgICA8T3I+CisgICAgICAgICAgPENhdGVnb3J5PlN5c3RlbVNldHRpbmdzPC9DYXRlZ29yeT4KKyAgICAgICAgICA8Q2F0ZWdvcnk+U2V0dGluZ3M8L0NhdGVnb3J5PgorICAgICAgICA8L09yPgorICAgICAgICA8Tm90PgorICAgICAgICAgIDxDYXRlZ29yeT5TeXN0ZW08L0NhdGVnb3J5PgorICAgICAgICA8L05vdD4KKyAgICAgIDwvQW5kPgorICAgIDwvSW5jbHVkZT4KKyAgPC9NZW51PgorCisgIDxNZW51PgorICAgIDxOYW1lPkFjY2Vzc29yaWVzPC9OYW1lPgorICAgIDxEaXJlY3Rvcnk+QWNjZXNzb3JpZXMuZGlyZWN0b3J5PC9EaXJlY3Rvcnk+CisgICAgPEluY2x1ZGU+CisgICAgICA8QW5kPgorICAgICAgICA8T3I+CisgICAgICAgICAgPENhdGVnb3J5PkFwcGxpY2F0aW9uczwvQ2F0ZWdvcnk+CisgICAgICAgICAgPENhdGVnb3J5PlV0aWxpdHk8L0NhdGVnb3J5PgorICAgICAgICA8L09yPgorICAgICAgICA8Tm90PgorICAgICAgICAgIDxDYXRlZ29yeT5TeXN0ZW08L0NhdGVnb3J5PgorICAgICAgICAgIDxDYXRlZ29yeT5PZmZpY2U8L0NhdGVnb3J5PgorICAgICAgICAgIDxDYXRlZ29yeT5JbnRlcm5ldDwvQ2F0ZWdvcnk+CisgICAgICAgICAgPENhdGVnb3J5PkF1ZGlvVmlkZW88L0NhdGVnb3J5PgorICAgICAgICAgIDxDYXRlZ29yeT5HcmFwaGljczwvQ2F0ZWdvcnk+CisgICAgICAgICAgPENhdGVnb3J5PkdhbWVzPC9DYXRlZ29yeT4KKyAgICAgICAgPC9Ob3Q+CisgICAgICA8L0FuZD4KKyAgICA8L0luY2x1ZGU+CisgIDwvTWVudT4KKyAgCis8L01lbnU+CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20vZW5saWdodGVubWVudF9zdGFydC5vZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd20vZW5saWdodGVubWVudF9zdGFydC5vZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjg2MTcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bS9lbmxpZ2h0ZW5tZW50X3N0YXJ0Lm9lCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCisKK0VfUFJPRklMRT0iIgoraWYgWyAtciAvZXRjL2VubGlnaHRlbm1lbnQvZGVmYXVsdF9wcm9maWxlIF07IHRoZW4KKyAgLiAvZXRjL2VubGlnaHRlbm1lbnQvZGVmYXVsdF9wcm9maWxlCitmaQorCityZW5pY2UgLTIgLXAgJCQKK2V4ZWMgZW5saWdodGVubWVudF9zdGFydCAkRV9QUk9GSUxFCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtXzAuMTguOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd21fMC4xOC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiNGM5ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtXzAuMTguOC5iYgpAQCAtMCwwICsxLDE1IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDTkFNRSA9ICJlbmxpZ2h0ZW5tZW50IgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworU1JDX1VSSSA9ICJcCisgICAgJHtFX1JFTEVBU0VTfS9hcHBzLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0udGFyLmd6IFwKKyAgICBmaWxlOi8vZW5saWdodGVubWVudF9zdGFydC5vZSBcCisgICAgZmlsZTovL2FwcGxpY2F0aW9ucy5tZW51IFwKKyAgICBmaWxlOi8vMDAwMS1GaXgtaW5jb3JyZWN0LW1lc3NhZ2UtdHlwZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3OWM5ZjUyNGUxZDA1MTAwNjFjNjJjNGIwMzhhOGVjZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNGM5YmRlNDMzNGQyZjhiMDc3NmM2MTEzZDAyYjkyM2FiMTU5ZWVhMWNiZjcwMTM0ODllNGYzYmYzN2E1MWJiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bV8wLjE5LjEwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZS13bV8wLjE5LjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2Y2UwM2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtXzAuMTkuMTAuYmIKQEAgLTAsMCArMSwxOSBAQAorcmVxdWlyZSAke0JQTn0uaW5jCisKK1NSQ05BTUUgPSAiZW5saWdodGVubWVudCIKKworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKKyMgY291cGxlIG9mIG1vZHVsZXMgbmVlZGVkIGZvciBpbGx1bWUyIChtb2JpbGUpIHByb2ZpbGUgd2VyZSByZW1vdmVkIGluCisjIGh0dHA6Ly9naXQuZW5saWdodGVubWVudC5vcmcvY29yZS9lbmxpZ2h0ZW5tZW50LmdpdC9jb21taXQvc3JjL21vZHVsZXMvTWFrZWZpbGUubWs/aWQ9MWJlNzZkNTk5Y2EyN2Y4MjBiNThiODE4NmM1ZjczZDk4NDRjNjdjYQorIyBhbmQgcmVwbGFjZW1lbnRzIGFyZW4ndCBpbmNsdWRlZCB5ZXQsIGlmIHlvdSB3YW50IHRvIHVzZSBlLXdtIG9uIGRldmljZSB3aXRoIHNtYWxsIHNjcmVlbiwgYmV0dGVyIHN0YXkgd2l0aCAwLjE4IHJlbGVhc2UKK0RFRkFVTFRfUFJFRkVSRU5DRSA9ICItMSIKKworU1JDX1VSSSA9ICJcCisgICAgJHtFX1JFTEVBU0VTfS9hcHBzLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0udGFyLmd6IFwKKyAgICBmaWxlOi8vZW5saWdodGVubWVudF9zdGFydC5vZSBcCisgICAgZmlsZTovL2FwcGxpY2F0aW9ucy5tZW51IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjkwNjM2MTc3NjAzMjk0NDVhZGE4NjM1MjcwYTRlNjI3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ4NGQzMDViY2Y0MDMzMDNiMThjNDZhM2E0OTg0NDViOTM2ODljZDMyNTAxMGFlOGQwNjAxNTUxOTI2NDY5ZDgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Utd21fZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllYjgzOWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lLXdtX2dpdC5iYgpAQCAtMCwwICsxLDE0IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworUFYgPSAiMC4xOS40K2dpdCR7U1JDUFZ9IgorREVGQVVMVF9QUkVGRVJFTkNFID0gIi0yIgorCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0LmVubGlnaHRlbm1lbnQub3JnL2NvcmUvZW5saWdodGVubWVudC5naXQ7YnJhbmNoPWVubGlnaHRlbm1lbnQtMC4xOSBcCisgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWFkZC1mb3JlaWduLnBhdGNoIFwKKyAgICBmaWxlOi8vZW5saWdodGVubWVudF9zdGFydC5vZSBcCisgICAgZmlsZTovL2FwcGxpY2F0aW9ucy5tZW51IFwKKyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1NSQ1JFViA9ICI0NTQ1ZDRhNzAwMzFlMGIyNTY1YjhkODNkNWY3NTZiZmYxYTU4NGQwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWRqZS12aWV3ZXJfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWRqZS12aWV3ZXJfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiOTI3YTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lZGplLXZpZXdlcl9zdm4uYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJFZGplX1ZpZXdlciBpcyBqdXN0IHRoYXQiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM0NDg5NWYyNTNjMzJmMzhlMTgyZGNhZjMwZmU4YTM1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkctUExBSU47bWQ1PWUwMTM1OTA0MTAwMWU4YmYyNGMwOWFjY2E1NTZlNzkyIgorCitERVBFTkRTID0gImVsZW1lbnRhcnkiCitQViA9ICIwLjAuMCtzdm5yJHtTUkNQVn0iCitTUkNSRVYgPSAiJHtFRkxfU1JDUkVWfSIKKworaW5oZXJpdCBlCisKK1NSQ05BTUUgPSAiZWRqZV92aWV3ZXIiCitTUkNfVVJJID0gIiR7RV9TVk59L3RydW5rO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHA7c2NtZGF0YT1rZWVwIgorUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0iCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWxib3dfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWxib3dfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2ZWQyYzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbGJvd19naXQuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJFRkwgYmFzZWQgYnJvd3NlciIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02YTZhOGUwMjA4MzhiMjM0MDZjODFiMTljMWQ0NmRmNiIKK0RFUEVORFMgPSAiZXZhcyBlY29yZSBlZGplIGVpbmEgZWxlbWVudGFyeSB3ZWJraXQtZWZsIHNxbGl0ZTMiCisKK1BWID0gIjAuMC4xK2dpdHIke1NSQ1BWfSIKK1NSQ1JFViA9ICJiNDFmZDBiYzk1MTRmZjYxYmIyYTUwZDk1N2VmZTQxNTVmYTNlNmE4IgorCisjIHdlYmtpdC1lZmwgaXNuJ3QgYXZhaWxhYmxlIGZvciA8IGFybXY3YQorQ09NUEFUSUJMRV9NQUNISU5FID0gIigtKSIKK0NPTVBBVElCTEVfTUFDSElORV94ODYgPSAiKC4qKSIKK0NPTVBBVElCTEVfTUFDSElORV94ODYtNjQgPSAiKC4qKSIKK0NPTVBBVElCTEVfTUFDSElORV9hcm12N2EgPSAiKC4qKSIKKworaW5oZXJpdCBlIGdldHRleHQgY21ha2UKKworRVhUUkFfT0VDTUFLRSA9ICItRERBVEFfSU5TVEFMTF9ESVI9JHtkYXRhZGlyfSIKKworU1JDX1VSSSA9ICIgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vYnVuaGVyZS9lbGJvdy5naXQ7cHJvdG9jb2w9aHR0cHMgXAorIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vdGhlbWVzIgorCitQTkJMQUNLTElTVFtlbGJvd10gPz0gIkRlcGVuZHMgb24gYmxhY2tsaXN0ZWQgd2Via2l0LWVmbCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2VsZmVfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWxmZV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNiOTdhOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2VsZmVfZ2l0LmJiCkBAIC0wLDAgKzEsMTUgQEAKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzQ0ODk1ZjI1M2MzMmYzOGUxODJkY2FmMzBmZThhMzUiCitQViA9ICIwLjAuMStnaXRyJHtTUkNQVn0iCitQRSA9ICIxIgorCityZXF1aXJlIGUtbW9kdWxlLmluYworCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0LmVubGlnaHRlbm1lbnQub3JnL2VubGlnaHRlbm1lbnQvbW9kdWxlcy8ke0JQTn0uZ2l0IFwKKyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1NSQ1JFViA9ICIxZWMwZTc3MTNjM2NhOTAxMDE0ODExZmY3ODI3N2Q5ZTJhYWFjOTgxIgorCitERVBFTkRTICs9ICJlbGVtZW50YXJ5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWxtZGVudGljYS9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbG1kZW50aWNhL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OWE5ODFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWxtZGVudGljYS9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IGVsbWRlbnRpY2EvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZWxtZGVudGljYS5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIxOjQ2OjE0LjcxMjU2NjIwNyArMDAwMAorKysrIGVsbWRlbnRpY2EvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjE6NTE6MzQuOTYwNTc0OTM1ICswMDAwCitAQCAtMyw3ICszLDcgQEAKKyBBTV9DT05GSUdfSEVBREVSKGNvbmZpZy5oKQorIEFDX0NPTkZJR19NQUNST19ESVIoW200XSkKKyAKKy1BTV9JTklUX0FVVE9NQUtFCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgCisgQUNfUFJPR19DQworIEFDX0dOVV9TT1VSQ0UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2VsbWRlbnRpY2Ffc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZWxtZGVudGljYV9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTZhNzRjNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2VsbWRlbnRpY2Ffc3ZuLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiQSBpbmRlbnRpLmNhIGNsaWVudCBmb3IgRSIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ2NvbmYgY3VybCBlbGVtZW50YXJ5IHNxbGl0ZTMtbmF0aXZlIGF6eSIKK0xJQ0VOU0UgPSAiR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK1NFQ1RJT04gPSAiZS9hcHBzIgorSE9NRVBBR0UgPSAiaHR0cDovL2VsbWRlbnRpY2EuZ29vZ2xlY29kZS5jb20iCitBVVRIT1IgPSAic2VhYnJhIgorCitpbmhlcml0IGUgZ2V0dGV4dAorU1JDX1VSSSA9ICIke0VfU1ZOfS90cnVuazttb2R1bGU9JHtTUkNOQU1FfTtwcm90b2NvbD1odHRwO3NjbWRhdGE9a2VlcCIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWVkamUtY2M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VkamVfY2MiCisKK1BWID0gIjAuOS45K3N2bnIke1NSQ1BWfSIKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorCitSREVQRU5EU18ke1BOfSA9ICIke1BOfS10aGVtZXMiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9jb25maWd1cmUucGF0Y2giCisKK1BOQkxBQ0tMSVNUW2VsbWRlbnRpY2FdID89ICJPTEQgYW5kIGRlcGVuZHMgb24gYnJva2VuIGF6eSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2VtcHJpbnRfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZW1wcmludF9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRjOTgxNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2VtcHJpbnRfc3ZuLmJiCkBAIC0wLDAgKzEsMTQgQEAKK0RFU0NSSVBUSU9OID0gIkVtcHJpbnQgaXMgYSB1dGlsaXR5IGZvciB0YWtpbmcgc2NyZWVuc2hvdHMgb2YgdGhlIGVudGlyZSBzY3JlZW4sIGEgc3BlY2lmaWMgd2luZG93LCBvciBhIHNwZWNpZmljIHJlZ2lvbi4iCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKK0RFUEVORFMgPSAiaW1saWIyIHZpcnR1YWwvbGlieDExIGVjb3JlIGV2YXMgZWRqZSBlaW5hIgorUFYgPSAiMC4wLjErc3ZuciR7U1JDUFZ9IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzQ0ODk1ZjI1M2MzMmYzOGUxODJkY2FmMzBmZThhMzUiCitTUkNSRVYgPSAiJHtFRkxfU1JDUkVWfSIKKworaW5oZXJpdCBlCitTUkNfVVJJID0gIiR7RV9TVk59L3RydW5rO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHA7c2NtZGF0YT1rZWVwIgorUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0iCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyR7UE59L21vZHVsZXMvLmRlYnVnIgorCitQTkJMQUNLTElTVFtlbXByaW50XSA/PSAiaWYgeW91IHdhbnQgdG8gdXNlIHRoZXNlIG1vZHVsZXMgd2l0aCBFMTgsIHRoZW4geW91IG5lZWQgdG8gdXBkYXRlIGl0IHRvIGdpdCByZWNpcGUgZmV0Y2hpbmcgbmV3ZXIgc291cmNlcyBmcm9tIGh0dHA6Ly9naXQuZW5saWdodGVubWVudC5vcmcvYXBwcy9lbXByaW50LmdpdC8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbmpveS8wMDAxLWFsd2F5cy11c2UtcG9zaXRpb24tYXMtcGVyY2VudC1hbmQtZGVmaW5lLWEtMS1zZWNvbmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbmpveS8wMDAxLWFsd2F5cy11c2UtcG9zaXRpb24tYXMtcGVyY2VudC1hbmQtZGVmaW5lLWEtMS1zZWNvbmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk2MjQ1MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Vuam95LzAwMDEtYWx3YXlzLXVzZS1wb3NpdGlvbi1hcy1wZXJjZW50LWFuZC1kZWZpbmUtYS0xLXNlY29uZC5wYXRjaApAQCAtMCwwICsxLDEzMyBAQAorRnJvbSA3NTE1MDU1MDFlMGRiMzFjZjc2NmVjMGFlOTVhNjk2OGI0ZDFlYjkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CitEYXRlOiBXZWQsIDUgU2VwIDIwMTIgMDI6NTg6MjYgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gYWx3YXlzIHVzZSBwb3NpdGlvbiBhcyBwZXJjZW50IGFuZCBkZWZpbmUgYSAxIHNlY29uZHMKKyB0b2xlcmFuY2UuCisKK0ZpeCAicmV2ZXJiIiBlZmZlY3Q6IGllIGxvb3AgYmV0d2VlbiBzZXR0aW5nIHRoZSBzbGlkZXIgdG8gbWF0Y2gKK3RoZSBwb3NpdGlvbiBhbmQgaGFuZGxpbmcgc2xpZGVyIHRvIHBvc2l0aW9uIChzZWVrKS4KKy0tLQorIGRhdGEvdGhlbWVzL2RlZmF1bHQuZWRjIHwgIDggKysrLS0tLS0KKyBzcmMvYmluL3dpbi5jICAgICAgICAgICB8IDI4ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZGF0YS90aGVtZXMvZGVmYXVsdC5lZGMgYi9kYXRhL3RoZW1lcy9kZWZhdWx0LmVkYworaW5kZXggZWJmOGJhNC4uN2E5MDZiMSAxMDA2NDQKKy0tLSBhL2RhdGEvdGhlbWVzL2RlZmF1bHQuZWRjCisrKysgYi9kYXRhL3RoZW1lcy9kZWZhdWx0LmVkYworQEAgLTE4Niw3ICsxODYsNiBAQCBjb2xsZWN0aW9ucyB7CisgICAgZ3JvdXAgeworICAgICAgIG5hbWU6ICJub3dwbGF5aW5nIjsKKyAgICAgICBzY3JpcHQgeworLSAgICAgICAgIHB1YmxpYyBjdXJfbGVuZ3RoOworICAgICAgICAgIHB1YmxpYyBtdXRlOworIAorICAgICAgICAgIHB1YmxpYyBnZXRfdGltZV9zdHIoRmxvYXQ6dGltZSwgdGltZV9zdHJbNl0pCitAQCAtMjAxLDE2ICsyMDAsMTUgQEAgY29sbGVjdGlvbnMgeworICAgICAgICAgICAgICAgIG5ldyBGbG9hdDpwb3NpdGlvbiA9IGdldGZhcmcoMik7CisgICAgICAgICAgICAgICAgbmV3IEZsb2F0Omxlbmd0aCA9IGdldGZhcmcoMyk7CisgICAgICAgICAgICAgICAgaWYgKGxlbmd0aCA+IDApCistICAgICAgICAgICAgICAgICAgZXh0ZXJuYWxfcGFyYW1fc2V0X2Zsb2F0KFBBUlQ6InByb2dyZXNzLnNsaWRlciIsICJ2YWx1ZSIsIHBvc2l0aW9uIC8gbGVuZ3RoICogMTAwKTsKKysgICAgICAgICAgICAgICAgICBleHRlcm5hbF9wYXJhbV9zZXRfZmxvYXQoUEFSVDoicHJvZ3Jlc3Muc2xpZGVyIiwgInZhbHVlIiwgcG9zaXRpb24gKiAxMDApOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICBleHRlcm5hbF9wYXJhbV9zZXRfZmxvYXQoUEFSVDoicHJvZ3Jlc3Muc2xpZGVyIiwgInZhbHVlIiwgMCk7CisgCisgICAgICAgICAgICAgICAgbmV3IHRpbWVfc3RyWzZdOworLSAgICAgICAgICAgICAgIGdldF90aW1lX3N0cihwb3NpdGlvbiwgdGltZV9zdHIpOworKyAgICAgICAgICAgICAgIGdldF90aW1lX3N0cihwb3NpdGlvbiAqIGxlbmd0aCwgdGltZV9zdHIpOworICAgICAgICAgICAgICAgIHNldF90ZXh0KFBBUlQ6ImVqeS50ZXh0LmN1cnJlbnRfdGltZSIsIHRpbWVfc3RyKTsKKyAgICAgICAgICAgICAgICBnZXRfdGltZV9zdHIobGVuZ3RoLCB0aW1lX3N0cik7CisgICAgICAgICAgICAgICAgc2V0X3RleHQoUEFSVDoiZWp5LnRleHQudG90YWxfdGltZSIsIHRpbWVfc3RyKTsKKy0gICAgICAgICAgICAgICBzZXRfZmxvYXQoY3VyX2xlbmd0aCwgbGVuZ3RoKTsKKyAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gTVNHX0lOVCAmJiBpZCA9PSBNU0dfU0hVRkZMRSkgeworICAgICAgICAgICAgICAgIGV4dGVybmFsX3BhcmFtX3NldF9ib29sKFBBUlQ6ImJ1dHRvbnMuc2h1ZmZsZSIsICJzdGF0ZSIsIGdldGFyZygyKSk7CisgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09IE1TR19JTlQgJiYgaWQgPT0gTVNHX0xPT1ApIHsKK0BAIC02ODksNyArNjg3LDcgQEAgY29sbGVjdGlvbnMgeworICAgICAgICAgICAgIHNvdXJjZTogInByb2dyZXNzLnNsaWRlciI7CisgICAgICAgICAgICAgc2lnbmFsOiAiY2hhbmdlZCI7CisgICAgICAgICAgICAgc2NyaXB0IHsKKy0gICAgICAgICAgICAgICBzZW5kX21lc3NhZ2UoTVNHX0ZMT0FULCBNU0dfUE9TSVRJT04sIChleHRlcm5hbF9wYXJhbV9nZXRfZmxvYXQoUEFSVDoicHJvZ3Jlc3Muc2xpZGVyIiwgInZhbHVlIikgKiBnZXRfZmxvYXQoY3VyX2xlbmd0aCkgLyAxMDApKTsKKysgICAgICAgICAgICAgICBzZW5kX21lc3NhZ2UoTVNHX0ZMT0FULCBNU0dfUE9TSVRJT04sIChleHRlcm5hbF9wYXJhbV9nZXRfZmxvYXQoUEFSVDoicHJvZ3Jlc3Muc2xpZGVyIiwgInZhbHVlIikgLyAxMDApKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICAgIHByb2dyYW0geworZGlmZiAtLWdpdCBhL3NyYy9iaW4vd2luLmMgYi9zcmMvYmluL3dpbi5jCitpbmRleCAyZjY1OTUzLi40MjhlMjY4IDEwMDY0NAorLS0tIGEvc3JjL2Jpbi93aW4uYworKysrIGIvc3JjL2Jpbi93aW4uYworQEAgLTE5NCw4ICsxOTQsOCBAQCBfd2luX3BsYXlfZXZhbChXaW4gKncpCisgeworICAgIEVkamVfTWVzc2FnZV9GbG9hdF9TZXQgKm1mOworIAorLSAgIHctPnBsYXkucG9zaXRpb24gPSBlbW90aW9uX29iamVjdF9wb3NpdGlvbl9nZXQody0+ZW1vdGlvbik7CisgICAgdy0+cGxheS5sZW5ndGggPSBlbW90aW9uX29iamVjdF9wbGF5X2xlbmd0aF9nZXQody0+ZW1vdGlvbik7CisrICAgdy0+cGxheS5wb3NpdGlvbiA9IGVtb3Rpb25fb2JqZWN0X3Bvc2l0aW9uX2dldCh3LT5lbW90aW9uKSAvIHctPnBsYXkubGVuZ3RoOworIAorICAgIGlmICgody0+c29uZykgJiYgKHctPnNvbmctPmxlbmd0aCAhPSAoaW50KXctPnBsYXkubGVuZ3RoKSkKKyAgICAgICBkYl9zb25nX2xlbmd0aF9zZXQody0+ZGIsIHctPnNvbmcsIHctPnBsYXkubGVuZ3RoKTsKK0BAIC01NDIsOCArNTQyLDE0IEBAIF93aW5fZWRqZV9tc2codm9pZCAqZGF0YSwgRXZhc19PYmplY3QgKm8gX19VTlVTRURfXywgRWRqZV9NZXNzYWdlX1R5cGUgdHlwZSwgaW50CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgRWRqZV9NZXNzYWdlX0Zsb2F0ICptID0gbXNnOworKworKyAgICAgICAgICAgICAgaWYgKCgoKG0tPnZhbCAtIHctPnBsYXkucG9zaXRpb24pICogdy0+cGxheS5sZW5ndGgpIDwgMS4wKQorKyAgICAgICAgICAgICAgICAgICYmICgoKHctPnBsYXkucG9zaXRpb24gLSBtLT52YWwpICogdy0+cGxheS5sZW5ndGgpIDwgMS4wKSkKKysgICAgICAgICAgICAgICAgICByZXR1cm47CisrCisgICAgICAgICAgICAgICB3LT5wbGF5LnBvc2l0aW9uID0gbS0+dmFsOworLSAgICAgICAgICAgICAgZW1vdGlvbl9vYmplY3RfcG9zaXRpb25fc2V0KHctPmVtb3Rpb24sIHctPnBsYXkucG9zaXRpb24pOworKyAgICAgICAgICAgICAgZW1vdGlvbl9vYmplY3RfcG9zaXRpb25fc2V0KHctPmVtb3Rpb24sIHctPnBsYXkucG9zaXRpb24KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHctPnBsYXkubGVuZ3RoKTsKKyAgICAgICAgICAgICAgIGVjb3JlX2V2ZW50X2FkZChFTkpPWV9FVkVOVF9QT1NJVElPTl9DSEFOR0UsIE5VTEwsIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICAgYnJlYWs7CitAQCAtNjE3LDE2ICs2MjMsMjEgQEAgZW5qb3lfY29udHJvbF9zZWVrKHVpbnQ2NF90IHBvc2l0aW9uKQorIHsKKyAgICBXaW4gKncgPSAmX3dpbjsKKyAgICBkb3VibGUgc2Vla190bzsKKysgICBkb3VibGUgbmV3X3BvcyA9IHctPnBsYXkubGVuZ3RoIC8gKChkb3VibGUpcG9zaXRpb24gLyAxZTYpOworIAorICAgIGlmICghdy0+ZGIpIHJldHVybjsKKy0gICBzZWVrX3RvID0gdy0+cGxheS5wb3NpdGlvbiArIHctPnBsYXkubGVuZ3RoIC8gKChkb3VibGUpcG9zaXRpb24gLyAxZTYpOworKworKyAgIGlmICgoKChuZXdfcG9zIC0gdy0+cGxheS5wb3NpdGlvbikgKiB3LT5wbGF5Lmxlbmd0aCkgPCAxLjApCisrICAgICAgICYmICgoKHctPnBsYXkucG9zaXRpb24gLSBuZXdfcG9zKSAqIHctPnBsYXkubGVuZ3RoKSA8IDEuMCkpIHJldHVybjsKKysKKysgICBzZWVrX3RvID0gdy0+cGxheS5wb3NpdGlvbiArIG5ld19wb3M7CisgICAgaWYgKHNlZWtfdG8gPD0gMC4wKQorICAgICAgc2Vla190byA9IDAuMDsKKyAgICBlbHNlIGlmIChzZWVrX3RvID49IDEuMCkKKyAgICAgIHNlZWtfdG8gPSAxLjA7CisgCisgICAgdy0+cGxheS5wb3NpdGlvbiA9IHNlZWtfdG87CistICAgZW1vdGlvbl9vYmplY3RfcG9zaXRpb25fc2V0KHctPmVtb3Rpb24sIHctPnBsYXkucG9zaXRpb24pOworKyAgIGVtb3Rpb25fb2JqZWN0X3Bvc2l0aW9uX3NldCh3LT5lbW90aW9uLCB3LT5wbGF5LnBvc2l0aW9uICogdy0+cGxheS5sZW5ndGgpOworICAgIGVjb3JlX2V2ZW50X2FkZChFTkpPWV9FVkVOVF9QT1NJVElPTl9DSEFOR0UsIE5VTEwsIE5VTEwsIE5VTEwpOworIH0KKyAKK0BAIC02OTIsMTUgKzcwMywyMCBAQCBFQVBJIHZvaWQKKyBlbmpveV9wb3NpdGlvbl9zZXQoaW50MzJfdCBwb3NpdGlvbikKKyB7CisgICAgV2luICp3ID0gJl93aW47CisrICAgZG91YmxlIG5ld19wb3MgPSB3LT5wbGF5Lmxlbmd0aCAvICgoZG91YmxlKXBvc2l0aW9uIC8gMWU2KTsKKyAKKyAgICBpZiAoIXctPmRiKSByZXR1cm47CistICAgdy0+cGxheS5wb3NpdGlvbiA9IHctPnBsYXkubGVuZ3RoIC8gKChkb3VibGUpcG9zaXRpb24gLyAxZTYpOworKworKyAgIGlmICgoKChuZXdfcG9zIC0gdy0+cGxheS5wb3NpdGlvbikgKiB3LT5wbGF5Lmxlbmd0aCkgPCAxLjApCisrICAgICAgICYmICgoKHctPnBsYXkucG9zaXRpb24gLSBuZXdfcG9zKSAqIHctPnBsYXkubGVuZ3RoKSA8IDEuMCkpIHJldHVybjsKKysKKysgICB3LT5wbGF5LnBvc2l0aW9uID0gbmV3X3BvczsKKyAgICBpZiAody0+cGxheS5wb3NpdGlvbiA8IDAuMCkKKyAgICAgIHctPnBsYXkucG9zaXRpb24gPSAwLjA7CisgICAgZWxzZSBpZiAody0+cGxheS5wb3NpdGlvbiA+IDEuMCkKKyAgICAgIHctPnBsYXkucG9zaXRpb24gPSAxLjA7CisgCistICAgZW1vdGlvbl9vYmplY3RfcG9zaXRpb25fc2V0KHctPmVtb3Rpb24sIHctPnBsYXkucG9zaXRpb24pOworKyAgIGVtb3Rpb25fb2JqZWN0X3Bvc2l0aW9uX3NldCh3LT5lbW90aW9uLCB3LT5wbGF5LnBvc2l0aW9uICogdy0+cGxheS5sZW5ndGgpOworICAgIGVjb3JlX2V2ZW50X2FkZChFTkpPWV9FVkVOVF9QT1NJVElPTl9DSEFOR0UsIE5VTEwsIE5VTEwsIE5VTEwpOworIH0KKyAKKy0tIAorMS44LjUuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbmpveS9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbmpveS9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmUwZWQ3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Vuam95L2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDEzIEBACitJbmRleDogZ2l0L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIxOjQ4OjUxLjI4NDU3MDQ3NCArMDAwMAorKysrIGdpdC9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMTo1MzozOS4xMDQ1NzgzMTggKzAwMDAKK0BAIC0yNiw3ICsyNiw3IEBACisgQUNfQ0FOT05JQ0FMX0hPU1QKKyBBQ19JU0NfUE9TSVgKKyAKKy1BTV9JTklUX0FVVE9NQUtFKDEuNiBkaXN0LWJ6aXAyKQorK0FNX0lOSVRfQVVUT01BS0UoW2Rpc3QtYnppcDIgZm9yZWlnbl0pCisgQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmgpCisgX1hURVJNX0NPTE9SUworIG00X2lmZGVmKFtBTV9TSUxFTlRfUlVMRVNdLCBbQU1fU0lMRU5UX1JVTEVTKFt5ZXNdKV0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbmpveV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lbmpveV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjk3Y2JkNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2Vuam95X2dpdC5iYgpAQCAtMCwwICsxLDQ4IEBACitTVU1NQVJZID0gIkVuam95IG11c2ljIHBsYXllciIKK0xJQ0VOU0UgPSAiTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYiCitERVBFTkRTID0gImV2YXMgZWNvcmUgZWRqZSBlbGVtZW50YXJ5IGVtb3Rpb24gbGlnaHRtZWRpYXNjYW5uZXIgZWxkYnVzIGdzdC1wbHVnaW5zLWdvb2QiCisKK1NSQ1JFViA9ICJhYThmZWM2OWU4ODVlZWMwNDhhODQ5YzJiMzQwNTllYzU4NDA0ZTAyIgorUFYgPSAiMC4xLjArZ2l0ciR7U1JDUFZ9IgorCisjMXN0IG5lZWRlZCBmb3IgYWxsIGZvcm1hdHMKKyMybmQgbmVlZGVkIGZvciBtcDMgcGxheWJhY2sKKyMzZCBuZWVkZWQgZm9yIG9nZyBwbGF5YmFjaworIzR0aCBuZWVkZWQgZm9yIGZsYWMgcGxheWJhY2sKKyM1dGggbmVlZGVkIGJpbmFyeSB0byBjcmVhdGUgZGIKK1JERVBFTkRTXyR7UE59ICs9ICJcCisgICAgICAgZ3N0LXBsdWdpbnMtYmFzZS10eXBlZmluZGZ1bmN0aW9ucyBnc3QtcGx1Z2lucy1iYXNlLXBsYXliaW4gZ3N0LXBsdWdpbnMtYmFzZS12b2x1bWUgZ3N0LXBsdWdpbnMtYmFzZS1kZWNvZGViaW4yIGdzdC1wbHVnaW5zLWdvb2QtYXV0b2RldGVjdCBcCisgICAgICAgZ3N0LXBsdWdpbnMtYmFzZS1vZ2cgZ3N0LXBsdWdpbnMtYmFzZS1pdm9yYmlzZGVjIFwKKyAgICAgICBnc3QtcGx1Z2lucy1nb29kLWZsYWMgXAorICAgICAgIGxpZ2h0bWVkaWFzY2FubmVyLXRlc3QgXAorIgorCitpbmhlcml0IGUgZ2V0dGV4dAorU1JDX1VSSSA9ICIgXAorICAgIGdpdDovL2dpdC5lbmxpZ2h0ZW5tZW50Lm9yZy9hcHBzL2Vuam95LmdpdCBcCisgICAgZmlsZTovLzAwMDEtYWx3YXlzLXVzZS1wb3NpdGlvbi1hcy1wZXJjZW50LWFuZC1kZWZpbmUtYS0xLXNlY29uZC5wYXRjaCBcCisgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCBcCisiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucy8iCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS13aXRoLWVkamUtY2M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VkamVfY2MgXAorIgorCitQQUNLQUdFQ09ORklHW21hZF0gPSAiLCxnc3QtcGx1Z2lucy11Z2x5LGdzdC1wbHVnaW5zLXVnbHktbWFkIgorUEFDS0FHRUNPTkZJR1tpZDNkZW11eF0gPSAiLCwsZ3N0LXBsdWdpbnMtZ29vZC1pZDNkZW11eCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgYXV0b3BvaW50IHx8IHRvdWNoIGNvbmZpZy5ycGF0aAorfQorCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworICAgIGVjaG8gImVuam95OiAgICBTQ0FOIGFuZCBMSUJSQVJZIE1BTkFHRVIgYXJlIG5vdCBpbXBsZW1ldGVkIHlldCEiCisgICAgZWNobyAiZW5qb3k6ICAgIE1lYW53aGlsZSBwbGVhc2UgcnVuOiIKKyAgICBlY2hvICJlbmpveTogICAgdGVzdC1sbXMgLW0gbW9ubyAtcCBpZDMgLWkgNTAwMCAtcyAvcGF0aC90by95b3VyL211c2ljL2RpciAvaG9tZS9yb290Ly5jb25maWcvZW5qb3kvbWVkaWEuZGIiCisgICAgZWNobyAiZW5qb3k6IgorICAgIGVjaG8gImVuam95OiAgICBVc2UgdGVzdC1sbXMgLVAgdG8gc2VlIGF2YWlsYWJsZSBmb3JtYXRzIHRoYXQgY2FuIGJlIHNjYW5uZWQiCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lcGhvdG8vY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXBob3RvL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTQ2NmY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXBob3RvL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDEzIEBACitJbmRleDogZXBob3RvL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGVwaG90by5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIxOjQ4OjUxLjAyODU3MDQ2NyArMDAwMAorKysrIGVwaG90by9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMTo1Mjo1Ni4xMjA1NzcxNDYgKzAwMDAKK0BAIC0yNyw3ICsyNyw3IEBACisgQUNfQ0FOT05JQ0FMX0hPU1QKKyBBQ19JU0NfUE9TSVgKKyAKKy1BTV9JTklUX0FVVE9NQUtFKDEuNiBkaXN0LWJ6aXAyKQorK0FNX0lOSVRfQVVUT01BS0UoW2Rpc3QtYnppcDIgZm9yZWlnbl0pCisgQU1fQ09ORklHX0hFQURFUihzcmMvYmluL2NvbmZpZy5oKQorIG00X2lmZGVmKFtBTV9TSUxFTlRfUlVMRVNdLCBbQU1fU0lMRU5UX1JVTEVTKFt5ZXNdKV0pCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9lcGhvdG9fc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXBob3RvX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2VjZGE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXBob3RvX3N2bi5iYgpAQCAtMCwwICsxLDE5IEBACitMSUNFTlNFID0gIk1JVCAmIEdQTC0zLjAiCitQViA9ICIwLjEuMCtzdm5yJHtTUkNSRVZ9IgorUFIgPSAiJHtJTkNfUFJ9LjAiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZkZmZjZGRiMzY2ZDBjYzc4ZTBlNDZjNGVhNzBjOGQ5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuaWNvbnM7bWQ1PThmMGUyY2Q0MGUwNTE4OWVjODEyMzJkYTg0YmQ2ZTFhIgorCityZXF1aXJlIGUtbW9kdWxlLmluYworCitpbmhlcml0IGdldHRleHQKKworREVQRU5EUyArPSAiZWxlbWVudGFyeSBldGh1bWIgZWNvcmUgZWlvIgorCitTUkNOQU1FID0gIiR7UE59IgorCisjIGF1dG90b29scy1icm9rZW5zZXAKK0IgPSAiJHtTfSIKKworU1JDX1VSSSArPSAiZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4YWx0LWNsaWVudC9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leGFsdC1jbGllbnQvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0ZmY4MDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leGFsdC1jbGllbnQvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0luZGV4OiBleGFsdC1jbGllbnQvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZXhhbHQtY2xpZW50Lm9yaWcvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjE6NDY6MTQuNzEyNTY2MjA3ICswMDAwCisrKysgZXhhbHQtY2xpZW50L2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIxOjQ3OjU2Ljg4MDU2ODk5MSArMDAwMAorQEAgLTEwLDcgKzEwLDcgQEAKKyBBQ19DQU5PTklDQUxfSE9TVAorIEFDX0lTQ19QT1NJWAorIAorLUFNX0lOSVRfQVVUT01BS0UoMS44KQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIEFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisgCisgQUNfUFJPR19DQworQEAgLTI5LDcgKzI5LDYgQEAKKyAKKyBtNF9pZmRlZihbQU1fR05VX0dFVFRFWFRdLCBbCisgQU1fR05VX0dFVFRFWFQoW2V4dGVybmFsXSkKKy1wb19tYWtlZmlsZV9pbj1wby9NYWtlZmlsZS5pbgorIEFNX0NPTkRJVElPTkFMKFtIQVZFX1BPXSwgW3RydWVdKQorIF0sWworIEFNX0NPTkRJVElPTkFMKFtIQVZFX1BPXSwgW2ZhbHNlXSkKK0BAIC0xMDEsNiArMTAwLDUgQEAKKyBzcmMvTWFrZWZpbGUKKyBtb2R1bGUuZGVza3RvcAorIGVfbW9kdWxlcy1leGFsdC1jbGllbnQuc3BlYworLSRwb19tYWtlZmlsZV9pbgorIF0sIFsKKyBdKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXhhbHQtY2xpZW50X3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4YWx0LWNsaWVudF9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjcwODYwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4YWx0LWNsaWVudF9zdm4uYmIKQEAgLTAsMCArMSwyNSBAQAorTElDRU5TRSA9ICJMR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IgorCitQViA9ICIwLjAuMStzdm5yJHtTUkNQVn0iCisKK3JlcXVpcmUgZS1tb2R1bGUuaW5jCisKK0RFUEVORFMgKz0gImVsZW1lbnRhcnkgZXhhbHQgZWRqZS1uYXRpdmUiCisKK0NGTEFHUyArPSAiIC1JJHtTVEFHSU5HX0lOQ0RJUn0vZXhhbHQgLUkke1NUQUdJTkdfSU5DRElSfS9leGFsdF9kYnVzIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgL3BvL2QgJHtTfS9jb25maWd1cmUuYWMKKyAgICBzZWQgLWkgLWUgczpcIHBvOjpnICR7U30vTWFrZWZpbGUuYW0KK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvKi8qLmRlc2t0b3AgXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvKi8qLmVkaiBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2VubGlnaHRlbm1lbnQvbW9kdWxlcy8qLyovKi5zbyIKKworRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzLyovKi8qLmEiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvKi8qLyoubGEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvKi8qLy5kZWJ1ZyIKKyAKK1NSQ19VUkkgKz0gImZpbGU6Ly9jb25maWd1cmUucGF0Y2giClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXhhbHRfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXhhbHRfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmMWM4NTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leGFsdF9zdm4uYmIKQEAgLTAsMCArMSwzNCBAQAorU1VNTUFSWSA9ICJFeGFsdCBpcyBhIG5ldHdvcmsgbWFuYWdlciBmb3IgdGhlIHdpbmRvd3MgbWFuYWdlciBFbmxpZ2h0ZW5tZW50IERSMTciCitIT01FUEFHRSA9ICJodHRwOi8vd2F0Y2h3b2xmLmZyL3dpa2kvZG9rdS5waHA/aWQ9ZXhhbHQiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCIKKworREVQRU5EUyA9ICJlbGVtZW50YXJ5IHZwbmMgd3BhLXN1cHBsaWNhbnQgZWNvcmUgZWV0IGVkYnVzIgorUkRFUEVORFNfJHtQTn0gPSAidnBuYyB3cGEtc3VwcGxpY2FudCIKKworUFYgPSAiMC45K3N2bnIke1NSQ1BWfSIKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorCitpbmhlcml0IGUKK1NSQ19VUkkgPSAiJHtFX1NWTn0vdHJ1bms7bW9kdWxlPSR7U1JDTkFNRX07cHJvdG9jb2w9aHR0cDtzY21kYXRhPWtlZXAiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfSIKKworRVhUUkFfT0VDT05GID0gIiBcCistLXdpdGgtd3BhX3N1cHBsaWNhbnQ9JHtzYmluZGlyfS93cGFfc3VwcGxpY2FudCBcCistLXdpdGgtdnBuYz0ke3NiaW5kaXJ9L3ZwbmMgXAorLS13aXRoLXZwbmMtZGlzY29ubmVjdD0ke3NiaW5kaXJ9L3ZwbmMtZGlzY29ubmVjdCBcCisiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgaW5zdGFsbCBkYnVzIGNvbmZpZyBmaWxlCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZGF0YS9kYWVtb24vZGJ1cy9leGFsdC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2RidXMtMS9zeXN0ZW0uZC9leGFsdC5jb25mCisKKyAgICAjIGluc3RhbGwgZGJ1cyBzZXJ2aWNlIGZpbGUKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vb3JnLmUuRXhhbHQuc2VydmljZSAke0R9JHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzLworfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZS10aGVtZS1pbGx1bWUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leHF1aXNpdGUtdGhlbWUtaWxsdW1lLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhZDA2NDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leHF1aXNpdGUtdGhlbWUtaWxsdW1lLmJiCkBAIC0wLDAgKzEsMzUgQEAKK0RERVNDUklQVElPTiA9ICJBIHRoZW1lIGZvciBleHF1aXNpdGUiCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vTElDRU5TRTttZDU9ZjUyM2FiNTk4NmNjNzliNTJhOTBkMmFjM2Q1NDU0YTIiCitTRUNUSU9OID0gIngxMSIKK0RFUEVORFMgPSAiZWRqZS1uYXRpdmUiCitQViA9ICIxLjArc3ZuciR7U1JDUFZ9IgorU1JDUkVWID0gIiR7RUZMX1NSQ1JFVn0iCisKK2luaGVyaXQgZS1iYXNlIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgYWxsYXJjaAorCitBTFRFUk5BVElWRV9OQU1FID0gImV4cXVpc2l0ZS1jb25maWciCitBTFRFUk5BVElWRV9MSU5LID0gIiR7c3lzY29uZmRpcn0vZXhxdWlzaXRlL2NvbmZpZyIKK0FMVEVSTkFUSVZFX1BBVEggPSAiJHtzeXNjb25mZGlyfS9leHF1aXNpdGUvY29uZmlnLWlsbHVtZSIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwIgorCitTUkNOQU1FID0gImJfYW5kX3ciCisKK1NSQ19VUkkgPSAiJHtFX1NWTn0vdHJ1bmsvVEhFTUVTO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHAgXAorICAgICAgICAgICBmaWxlOi8vTElDRU5TRSBcCisiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfSIKKworZG9fY29tcGlsZSgpIHsKKyAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vZWRqZV9jYyBleHF1aXNpdGUuZWRjIGlsbHVtZS5lZGoKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2V4cXVpc2l0ZQorICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZXhxdWlzaXRlL2RhdGEvdGhlbWVzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vaWxsdW1lLmVkaiAke0R9JHtkYXRhZGlyfS9leHF1aXNpdGUvZGF0YS90aGVtZXMvCisgICAgZWNobyAnVEhFTUU9Ii10IGlsbHVtZSInID4gJHtEfSR7c3lzY29uZmRpcn0vZXhxdWlzaXRlL2NvbmZpZy1pbGx1bWUKK30KKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vZXhxdWlzaXRlL2NvbmZpZy1pbGx1bWUiCitGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2V4cXVpc2l0ZSAke2RhdGFkaXJ9L2V4cXVpc2l0ZS9kYXRhL3RoZW1lcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZS10aGVtZS1pbGx1bWUvTElDRU5TRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZS10aGVtZS1pbGx1bWUvTElDRU5TRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWJiMmY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXhxdWlzaXRlLXRoZW1lLWlsbHVtZS9MSUNFTlNFCkBAIC0wLDAgKzEsMjUgQEAKK0NvcHlyaWdodCBub3RpY2UgZm9yIEVubGlnaHRlbm1lbnQ6CisKK0NvcHlyaWdodCAoQykgMjAwMC0yMDEwIENhcnN0ZW4gSGFpdHpsZXIgYW5kIHZhcmlvdXMgY29udHJpYnV0b3JzIChzZWUgQVVUSE9SUykKKworQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAgIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IAorICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIAorSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKK0lOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKK0xJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLAorT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKK05FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwKK0VWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leHF1aXNpdGUvZXhxdWlzaXRlLWluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leHF1aXNpdGUvZXhxdWlzaXRlLWluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRlNjc3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZS9leHF1aXNpdGUtaW5pdApAQCAtMCwwICsxLDQwIEBACisjIS9iaW4vc2gKKworZm9yIHggaW4gJChjYXQgL3Byb2MvY21kbGluZSk7IGRvCisgIGNhc2UgJHggaW4KKyAgICBzcGxhc2g9ZmFsc2UpCisgICAgICBlY2hvICJTcGxhc2ggRGlzYWJsZWQiCisgICAgICBleGl0IDA7CisgICAgICA7OworICBlc2FjCitkb25lCisKKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKKyMjIyBEZWZhdWx0IGNvbmZpZyBoZXJlIC0gZ2V0cyBvdmVycmlkZW4gbGF0ZXIKK1RIRU1FPSItdCBkZWZhdWx0IgorRlBTPSItZnBzIDMwIgorIyMjIE92ZXJyaWRlIGNvbmZpZyAtIGlmIHRoZXJlIGlzIGEgY29uZmlnIGZpbGUgLSBsb2FkIGl0LgoraWYgdGVzdCAtZiAvZXRjL2V4cXVpc2l0ZS9jb25maWc7IHRoZW4KKyAgLiAvZXRjL2V4cXVpc2l0ZS9jb25maWcKK2ZpCisKK2FyZ3M9JycKK2Nhc2UgYG1hY2hpbmVfaWRgIGluCisgICJocF9pcGFxX2gzMTAwInwiaHBfaXBhcV9oMzgwMCIpCisgICAgIGFyZ3M9Jy1yb3QgOTAnIDs7CisgICJocF9pcGFxXzM2MDAifCJocF9pcGFxXzM3MDAifCJocF9pcGFxX2gzOTAwInwiaHRjX3VuaXZlcnNhbCJ8KmNvbGxpZXwqcG9vZGxlfCpha2l0YXwqc3BpdHp8KmJvcnpvaSkKKyAgICAgYXJncz0nLXJvdCAyNzAnIDs7Citlc2FjCithcmdzPSRhcmdzIiAkRlBTICRUSEVNRSIKKworZXhwb3J0IEVYRElSPS9tbnQvLnNwbGFzaAorZXhwb3J0IEVYUVVJU0lURV9JUEM9JEVYRElSL2V4cXVpc2l0ZQorbW91bnQgdG1wZnMgLXQgdG1wZnMgJEVYRElSIC1vLHNpemU9NDBrCitleHF1aXNpdGUgLWZiIC1mcyAkYXJncyAmCisKK2V4cXVpc2l0ZS13cml0ZSAtd2FpdCAxMjAKK2V4cXVpc2l0ZS13cml0ZSAiUFVMU0FURSIKK3NldHRlcm0gLWJsYW5rIDAKK3NldHRlcm0gLXBvd2Vyc2F2ZSBvZmYKK3NldHRlcm0gLXBvd2VyZG93biAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leHF1aXNpdGUvc3BsYXNoZnVuY3MgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9leHF1aXNpdGUvc3BsYXNoZnVuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRhMmE5NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZS9zcGxhc2hmdW5jcwpAQCAtMCwwICsxLDI5IEBACitzdGF0dXMoKSB7CisgIGlmIHR5cGUgc3BsYXNoLXdyaXRlID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgIChUTVBESVI9Ii9tbnQvLnNwbGFzaCIgRVhRVUlTSVRFX0lQQz0iJFRNUERJUi9leHF1aXNpdGUiIHNwbGFzaC13cml0ZSAiJDEiIHx8IHRydWUpICYKKyAgZmkKK30KKworc3RhdHVzX3Bvc2l0aW9uKCkgeworICBzdGF0dXMgIlBST0dSRVNTICQxIgorfQorCitzdGF0dXNfdGl0bGUoKSB7CisgIHN0YXR1cyAiVElUTEUgJDEiCit9CisKK3N0YXR1c190ZXh0KCkgeworICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4KKyAgICBzdGF0dXMgIk1TRyAkMSIKKyAgZWxzZQorICAgIHN0YXR1cyAiQ0xFQVIiCisgIGZpCit9CisKK3N0YXR1c19wdWxzZSgpIHsKKyAgc3RhdHVzICJQVUxTQVRFIgorfQorCitzdGF0dXNfdGljaygpIHsKKyAgc3RhdHVzICJUSUNLIgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZXhxdWlzaXRlX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZV9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGYyZDI1ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2V4cXVpc2l0ZV9zdm4uYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJBIHBzcGxhc2ggcmVwbGFjZW1lbnQgZm9yIGRpc3BsYXkiCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE0ZGVmYTM3MmE5MTExOGU3NTUxMzNiYzhlNmFmZjgzIgorREVQRU5EUyA9ICJlZXQgZXZhcyBlY29yZSBlbWJyeW8gZWRqZSIKK1BWID0gIjAuMC4xK3N2bnIke1NSQ1BWfSIKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorUlJFQ09NTUVORFNfJHtQTn0gPSAiZXhxdWlzaXRlLXRoZW1lcyIKK1JDT05GTElDVFNfJHtQTn0gPSAicHNwbGFzaCB2aXJ0dWFsLXBzcGxhc2giCisKK1NSQ05BTUUgPSAiZXhxdWlzaXRlIgorCitpbmhlcml0IGUKK1NSQ19VUkkgPSAiJHtFX1NWTn0vdHJ1bms7bW9kdWxlPSR7U1JDTkFNRX07cHJvdG9jb2w9aHR0cDtzY21kYXRhPWtlZXAiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1lZGplLWNjPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lZGplX2NjIgorCitTUkNfVVJJICs9ICJmaWxlOi8vZXhxdWlzaXRlLWluaXQiCitTUkNfVVJJICs9ICJmaWxlOi8vc3BsYXNoZnVuY3MiCisKK2luaGVyaXQgdXBkYXRlLXJjLmQKKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS9tbnQvLnNwbGFzaC8KKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2V4cXVpc2l0ZS1pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9leHF1aXNpdGUKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9zcGxhc2hmdW5jcyAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3NwbGFzaGZ1bmNzCisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgbG4gLXMgZXhxdWlzaXRlLXdyaXRlICR7RH0ke2JpbmRpcn0vc3BsYXNoLXdyaXRlCit9CisKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLXJmICR7RH0ke2RhdGFkaXJ9L2V4cXVpc2l0ZS9kYXRhL2ZvbnRzLyoKK30KKworSU5JVFNDUklQVF9OQU1FID0gImV4cXVpc2l0ZSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDAxIFMgLiBzdG9wIDIwIDAgMSA2IC4iCisKK0ZJTEVTXyR7UE59ICs9ICIvbW50Ly5zcGxhc2gvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZmxhbWUvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZmxhbWUvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3Yzg1ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9mbGFtZS9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IGNwdS9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjcHUub3JpZy9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMDozOTo0OC4wMDAwMDAwMDAgKzAwMDAKKysrKyBjcHUvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjE6Mzk6NTUuMzIwNTU1ODY4ICswMDAwCitAQCAtMTAsNyArMTAsNyBAQAorIEFDX0NBTk9OSUNBTF9IT1NUCisgQUNfSVNDX1BPU0lYCisgCistQU1fSU5JVF9BVVRPTUFLRSgxLjYpCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKyBtNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSwgW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZmxhbWVfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZmxhbWVfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4Yzc5YTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9mbGFtZV9zdm4uYmIKQEAgLTAsMCArMSwxNSBAQAorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNDQ4OTVmMjUzYzMyZjM4ZTE4MmRjYWYzMGZlOGEzNSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLVBMQUlOO21kNT1jOTEwYjY0NWVkYTAwMDVjY2VjNDZmNzUyMDNkYzk2ZSIKKworUFYgPSAiMC4wLjMrc3ZuciR7U1JDUFZ9IgorUFIgPSAiJHtJTkNfUFJ9LjAiCisKK3JlcXVpcmUgZS1tb2R1bGUuaW5jCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAvcG8vZCAke1N9L2NvbmZpZ3VyZS5hYworICAgIHNlZCAtaSAtZSBzOlwgcG86OmcgJHtTfS9NYWtlZmlsZS5hbQorfQorCitTUkNfVVJJICs9ICJmaWxlOi8vY29uZmlndXJlLnBhdGNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZm9yZWNhc3RzL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2ZvcmVjYXN0cy9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdjODVkZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2ZvcmVjYXN0cy9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IGNwdS9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjcHUub3JpZy9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMDozOTo0OC4wMDAwMDAwMDAgKzAwMDAKKysrKyBjcHUvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjE6Mzk6NTUuMzIwNTU1ODY4ICswMDAwCitAQCAtMTAsNyArMTAsNyBAQAorIEFDX0NBTk9OSUNBTF9IT1NUCisgQUNfSVNDX1BPU0lYCisgCistQU1fSU5JVF9BVVRPTUFLRSgxLjYpCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKyBtNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSwgW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvZm9yZWNhc3RzX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2ZvcmVjYXN0c19zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDczYmRiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2ZvcmVjYXN0c19zdm4uYmIKQEAgLTAsMCArMSwxMCBAQAorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNDQ4OTVmMjUzYzMyZjM4ZTE4MmRjYWYzMGZlOGEzNSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLVBMQUlOO21kNT01MTMyOGNmYjczYmZlYzNlZWQ3Y2ZkM2RiZWQ3Mzk4OCIKKworUFYgPSAiMC4yLjArc3ZuciR7U1JDUkVWfSIKK1BSID0gIiR7SU5DX1BSfS4wIgorCityZXF1aXJlIGUtbW9kdWxlLmluYworCitTUkNfVVJJICs9ICJmaWxlOi8vY29uZmlndXJlLnBhdGNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvaWxsdW1lLWtleWJvYXJkcy1zaHIvMDAwMS1NYWtlZmlsZS11cGRhdGUtS0VZQk9BUkRTX0RJUi1mb3ItbmV3LWlsbHVtZTIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9pbGx1bWUta2V5Ym9hcmRzLXNoci8wMDAxLU1ha2VmaWxlLXVwZGF0ZS1LRVlCT0FSRFNfRElSLWZvci1uZXctaWxsdW1lMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMThhNjliCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvaWxsdW1lLWtleWJvYXJkcy1zaHIvMDAwMS1NYWtlZmlsZS11cGRhdGUtS0VZQk9BUkRTX0RJUi1mb3ItbmV3LWlsbHVtZTIucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorRnJvbSA5MzE2ZTM5NzNjNDRiOTgxZTczYjk1M2IyODYxMDYwYzY5MDJkZTQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogTW9uLCAyMyBBdWcgMjAxMCAxMjo1NDowNSArMDIwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZTogdXBkYXRlIEtFWUJPQVJEU19ESVIgZm9yIG5ldyBpbGx1bWUyCisKKy0tLQorIE1ha2VmaWxlIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggNDZlOTQyMC4uM2Q4NzU3YyAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTEsNSArMSw1IEBACisgCistSU5TVEJBU0UgPSAvdXNyL2xpYi9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvaWxsdW1lL2tleWJvYXJkcworK0lOU1RCQVNFID0gL3Vzci9saWIvZW5saWdodGVubWVudC9tb2R1bGVzL2lsbHVtZS1rZXlib2FyZC9rZXlib2FyZHMKKyAKKyBGSUxFUy1hcmFiaWMgPSBBcmFiaWMua2JkIEFyYWJpYy5wbmcKKyBGSUxFUy1wZXJzaWFuID0gUGVyc2lhbi5rYmQgUGVyc2lhbi5wbmcKKy0tIAorMS43LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvaWxsdW1lLWtleWJvYXJkcy1zaHIvTElDRU5TRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2lsbHVtZS1rZXlib2FyZHMtc2hyL0xJQ0VOU0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjFiYjJmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2lsbHVtZS1rZXlib2FyZHMtc2hyL0xJQ0VOU0UKQEAgLTAsMCArMSwyNSBAQAorQ29weXJpZ2h0IG5vdGljZSBmb3IgRW5saWdodGVubWVudDoKKworQ29weXJpZ2h0IChDKSAyMDAwLTIwMTAgQ2Fyc3RlbiBIYWl0emxlciBhbmQgdmFyaW91cyBjb250cmlidXRvcnMgKHNlZSBBVVRIT1JTKQorCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgCisgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgCitJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5ECitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCitDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsCitPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORworTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLAorRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2lsbHVtZS1rZXlib2FyZHMtc2hyX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L2lsbHVtZS1rZXlib2FyZHMtc2hyX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTI1Yzg3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvaWxsdW1lLWtleWJvYXJkcy1zaHJfZ2l0LmJiCkBAIC0wLDAgKzEsMTAwIEBACitTRUNUSU9OID0gIngxMS9kYXRhIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5zaHItcHJvamVjdC5vcmcvcmVwby9pbGx1bWUta2V5Ym9hcmRzLmdpdDtwcm90b2NvbD1odHRwO2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS11cGRhdGUtS0VZQk9BUkRTX0RJUi1mb3ItbmV3LWlsbHVtZTIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vTElDRU5TRSIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1NSQ1JFViA9ICI0MDY0NDg5ZjM1OWExYWRkZjU3MjA4OWI1ODJmMzE3ZGZmNWY1MGUxIgorUFYgPSAiMC4wK2dpdHIke1NSQ1BWfSIKK1BFID0gIjEiCitQUiA9ICJyNSIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtXT1JLRElSfS9MSUNFTlNFO21kNT1mNTIzYWI1OTg2Y2M3OWI1MmE5MGQyYWMzZDU0NTRhMiIKKworQ0xFQU5CUk9LRU4gPSAiMSIKKworUEFDS0FHRVMgPSAiXAoraWxsdW1lLWtleWJvYXJkLWFscGhhIFwKK2lsbHVtZS1rZXlib2FyZC1hcmFiaWMgXAoraWxsdW1lLWtleWJvYXJkLWJyb3dzZSBcCitpbGx1bWUta2V5Ym9hcmQtZGFuaXNoIFwKK2lsbHVtZS1rZXlib2FyZC1kZWZhdWx0LWFsdCBcCitpbGx1bWUta2V5Ym9hcmQtZHV0Y2ggXAoraWxsdW1lLWtleWJvYXJkLWR2b3JhayBcCitpbGx1bWUta2V5Ym9hcmQtZmlubmlzaCBcCitpbGx1bWUta2V5Ym9hcmQtZnJlbmNoIFwKK2lsbHVtZS1rZXlib2FyZC1nZXJtYW4gXAoraWxsdW1lLWtleWJvYXJkLWhlYnJldyBcCitpbGx1bWUta2V5Ym9hcmQtbnVtZXJpYy1hbHQgXAoraWxsdW1lLWtleWJvYXJkLXJ1c3NpYW4gXAoraWxsdW1lLWtleWJvYXJkLXJ1c3NpYW4tdGVybWluYWwgXAoraWxsdW1lLWtleWJvYXJkLXBlcnNpYW4gXAorIgorCitpbmhlcml0IGFsbGFyY2gKK0tFWUJPQVJEU19ESVI9IiR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvaWxsdW1lLWtleWJvYXJkL2tleWJvYXJkcyIKKworQVVUSE9SX2lsbHVtZS1rZXlib2FyZC1hbHBoYSA9ICJKZXN1cyBNY0Nsb3VkIgorREVTQ1JJUFRJT05faWxsdW1lLWtleWJvYXJkLWFscGhhID0gIklsbHVtZSBrZXlib2FyZCB3aXRoIHBob25lLWxpa2UgbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLWFscGhhID0gIiR7S0VZQk9BUkRTX0RJUn0vQWxwaGEua2JkIgorCitBVVRIT1JfaWxsdW1lLWtleWJvYXJkLWFyYWJpYyA9ICJNb2hhbW1hZCBGYWhtaSAvIFRvbSBIYWNvaGVuIgorREVTQ1JJUFRJT05faWxsdW1lLWtleWJvYXJkLWFyYWJpYyA9ICJJbGx1bWUga2V5Ym9hcmQgd2l0aCBhcmFiaWMgbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLWFyYWJpYyA9ICIke0tFWUJPQVJEU19ESVJ9L0FyYWJpYy5rYmQgJHtLRVlCT0FSRFNfRElSfS9BcmFiaWMucG5nIgorCitBVVRIT1JfaWxsdW1lLWtleWJvYXJkLWJyb3dzZSA9ICJQYW5kZXIiCitERVNDUklQVElPTl9pbGx1bWUta2V5Ym9hcmQtYnJvd3NlID0gIklsbHVtZSBrZXlib2FyZCB3aXRoIGEgbGF5b3V0IG9wdGltaXplZCBmb3IgYnJvd3NpbmciCitGSUxFU19pbGx1bWUta2V5Ym9hcmQtYnJvd3NlID0gIiR7S0VZQk9BUkRTX0RJUn0vQnJvd3NlLmtiZCAke0tFWUJPQVJEU19ESVJ9L2VuZC1icm93c2UucG5nICR7S0VZQk9BUkRTX0RJUn0vcGFnZWRvd24tYnJvd3NlLnBuZyAke0tFWUJPQVJEU19ESVJ9L2Jyb3dzZS5wbmcgJHtLRVlCT0FSRFNfRElSfS9ob21lLWJyb3dzZS5wbmcgJHtLRVlCT0FSRFNfRElSfS9wYWdldXAtYnJvd3NlLnBuZyAke0tFWUJPQVJEU19ESVJ9L3NwYWNlLWJyb3dzZS5wbmciCisKK0FVVEhPUl9pbGx1bWUta2V5Ym9hcmQtZGFuaXNoID0gIkVzYmVuIERhbWdhYXJkIgorREVTQ1JJUFRJT05faWxsdW1lLWtleWJvYXJkLWRhbmlzaCA9ICJJbGx1bWUga2V5Ym9hcmQgd2l0aCBkYW5pc2ggbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLWRhbmlzaCA9ICIke0tFWUJPQVJEU19ESVJ9L0RhbmlzaC5rYmQgJHtLRVlCT0FSRFNfRElSfS9kYW5pc2gucG5nIgorCitBVVRIT1JfaWxsdW1lLWtleWJvYXJkLWRlZmF1bHQtYWx0ID0gIlBhbmRlciIKK0RFU0NSSVBUSU9OX2lsbHVtZS1rZXlib2FyZC1kZWZhdWx0LWFsdCA9ICJJbGx1bWUga2V5Ym9hcmQgd2l0aCBhbiBhbHRlcm5hdGl2ZSBkZWZhdWx0IGxheW91dCIKK0ZJTEVTX2lsbHVtZS1rZXlib2FyZC1kZWZhdWx0LWFsdCA9ICIke0tFWUJPQVJEU19ESVJ9L0RlZmF1bHQtYWx0LmtiZCIKKworQVVUSE9SX2lsbHVtZS1rZXlib2FyZC1kdXRjaCA9ICJQYW5kZXIiCitERVNDUklQVElPTl9pbGx1bWUta2V5Ym9hcmQtZHV0Y2ggPSAiSWxsdW1lIGtleWJvYXJkIHdpdGggZHV0Y2ggbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLWR1dGNoID0gIiR7S0VZQk9BUkRTX0RJUn0vY2Fwc2xvY2stbmVnYXRpdmUucG5nICR7S0VZQk9BUkRTX0RJUn0vZW5kLnBuZyAke0tFWUJPQVJEU19ESVJ9L3BhZ2Vkb3duLnBuZyAke0tFWUJPQVJEU19ESVJ9L3F3ZXJ0eS1kdXRjaC1ubC5wbmcgJHtLRVlCT0FSRFNfRElSfS9UZXJtaW5hbC1kdXRjaC1ubC5rYmQgJHtLRVlCT0FSRFNfRElSfS9jYXBzbG9jay5wbmcgJHtLRVlCT0FSRFNfRElSfS9ob21lLnBuZyAke0tFWUJPQVJEU19ESVJ9L3BhZ2V1cC5wbmcgJHtLRVlCT0FSRFNfRElSfS9zcGFjZS5wbmciCisKK0FVVEhPUl9pbGx1bWUta2V5Ym9hcmQtZHZvcmFrID0gIkdhYm9yIEFkYW0gVE9USCIKK0RFU0NSSVBUSU9OX2lsbHVtZS1rZXlib2FyZC1kdm9yYWsgPSAiSWxsdW1lIGtleWJvYXJkIHdpdGggZHZvcmFrIGxheW91dCIKK0ZJTEVTX2lsbHVtZS1rZXlib2FyZC1kdm9yYWsgPSAiJHtLRVlCT0FSRFNfRElSfS9Edm9yYWsua2JkICR7S0VZQk9BUkRTX0RJUn0vZHZvcmFrLnBuZyIKKworQVVUSE9SX2lsbHVtZS1rZXlib2FyZC1maW5uaXNoID0gIk9sb2YgU2rDtmJlcmdoIC8gSnVzc2kgVGltcGVyaSIKK0RFU0NSSVBUSU9OX2lsbHVtZS1rZXlib2FyZC1maW5uaXNoID0gIklsbHVtZSBrZXlib2FyZCB3aXRoIGZpbm5pc2ggbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLWZpbm5pc2ggPSAiJHtLRVlCT0FSRFNfRElSfS9GaW5uaXNoLmtiZCAke0tFWUJPQVJEU19ESVJ9L0Zpbm5pc2gucG5nIgorCitERVNDUklQVElPTl9pbGx1bWUta2V5Ym9hcmQtZnJlbmNoID0gIklsbHVtZSBrZXlib2FyZCB3aXRoIGZyZW5jaCBsYXlvdXQiCitGSUxFU19pbGx1bWUta2V5Ym9hcmQtZnJlbmNoID0gIiR7S0VZQk9BUkRTX0RJUn0vQXplcnR5LmtiZCAke0tFWUJPQVJEU19ESVJ9L0F6ZXJ0eS5wbmciCisKK0FVVEhPUl9pbGx1bWUta2V5Ym9hcmQtZ2VybWFuID0gIkZsb3JpYW4gSGFja2VuYmVyZ2VyIgorREVTQ1JJUFRJT05faWxsdW1lLWtleWJvYXJkLWdlcm1hbiA9ICJJbGx1bWUga2V5Ym9hcmQgd2l0aCBnZXJtYW4gbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLWdlcm1hbiA9ICIke0tFWUJPQVJEU19ESVJ9L0dlcm1hbi5rYmQgJHtLRVlCT0FSRFNfRElSfS9HZXJtYW4ucG5nIgorCitBVVRIT1JfaWxsdW1lLWtleWJvYXJkLWhlYnJldyA9ICJUb20gSGFjb2hlbiIKK0RFU0NSSVBUSU9OX2lsbHVtZS1rZXlib2FyZC1oZWJyZXcgPSAiSWxsdW1lIGtleWJvYXJkIHdpdGggaGVicmV3IGxheW91dCIKK0ZJTEVTX2lsbHVtZS1rZXlib2FyZC1oZWJyZXcgPSAiJHtLRVlCT0FSRFNfRElSfS9IZWJyZXcua2JkICR7S0VZQk9BUkRTX0RJUn0vQWxwaGEtaGVicmV3LWlsLnBuZyIKKworQVVUSE9SX2lsbHVtZS1rZXlib2FyZC1udW1lcmljLWFsdCA9ICJQYW5kZXIiCitERVNDUklQVElPTl9pbGx1bWUta2V5Ym9hcmQtbnVtZXJpYy1hbHQgPSAiSWxsdW1lIGtleWJvYXJkIHdpdGggYW4gYWx0ZXJuYXRpdmUgbnVtZXJpYyBsYXlvdXQiCitGSUxFU19pbGx1bWUta2V5Ym9hcmQtbnVtZXJpYy1hbHQgPSAiJHtLRVlCT0FSRFNfRElSfS9OdW1iZXJzLWFsdC5rYmQgJHtLRVlCT0FSRFNfRElSfS9udW1lcmljLWFsdC5wbmciCisKK0FVVEhPUl9pbGx1bWUta2V5Ym9hcmQtcnVzc2lhbiA9ICJsdWNreSIKK0RFU0NSSVBUSU9OX2lsbHVtZS1rZXlib2FyZC1ydXNzaWFuID0gIklsbHVtZSBrZXlib2FyZCB3aXRoIHJ1c3NpYW4gbGF5b3V0IgorRklMRVNfaWxsdW1lLWtleWJvYXJkLXJ1c3NpYW4gPSAiJHtLRVlCT0FSRFNfRElSfS9YOF9SdXNzaWFuLmtiZCAke0tFWUJPQVJEU19ESVJ9L1g4LXJ1c3NpYW4tcnUucG5nIgorCitBVVRIT1JfaWxsdW1lLWtleWJvYXJkLXJ1c3NpYW4tdGVybWluYWwgPSAibHVja3kiCitERVNDUklQVElPTl9pbGx1bWUta2V5Ym9hcmQtcnVzc2lhbi10ZXJtaW5hbCA9ICJJbGx1bWUga2V5Ym9hcmQgd2l0aCBydXNzaWFuIGxheW91dCBmb3IgdGhlIFRlcm1pbmFsIgorRklMRVNfaWxsdW1lLWtleWJvYXJkLXJ1c3NpYW4tdGVybWluYWwgPSAiJHtLRVlCT0FSRFNfRElSfS9UZXJtaW5hbF9SdXNzaWFuLmtiZCAke0tFWUJPQVJEU19ESVJ9L1Rlcm1pbmFsLXJ1c3NpYW4tcnUucG5nIgorCitBVVRIT1JfaWxsdW1lLWtleWJvYXJkLXBlcnNpYW4gPSAic2xhdmUiCitERVNDUklQVElPTl9pbGx1bWUta2V5Ym9hcmQtcGVyc2lhbiA9ICJJbGx1bWUga2V5Ym9hcmQgd2l0aCBwZXJzaWFuIGxheW91dCIKK0ZJTEVTX2lsbHVtZS1rZXlib2FyZC1wZXJzaWFuID0gIiR7S0VZQk9BUkRTX0RJUn0vUGVyc2lhbi5rYmQgJHtLRVlCT0FSRFNfRElSfS9QZXJzaWFuLnBuZyIKKworZG9faW5zdGFsbCgpIHsKKyAgICBtYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L25ld3Nfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvbmV3c19zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA4Y2FiNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L25ld3Nfc3ZuLmJiCkBAIC0wLDAgKzEsMTQgQEAKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitQViA9ICIwLjEuMCtzdm5yJHtTUkNQVn0iCitQUiA9ICIke0lOQ19QUn0uMCIKKworcmVxdWlyZSBlLW1vZHVsZS5pbmMKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lIC9wby9kIGNvbmZpZ3VyZS5hYyAKKyAgICBzZWQgLWkgLWUgczpcIHBvOjpnIE1ha2VmaWxlLmFtCit9CisKK1BOQkxBQ0tMSVNUW25ld3NdID89ICJpZiB5b3Ugd2FudCB0byB1c2UgdGhlc2UgbW9kdWxlcyB3aXRoIEUxOCwgdGhlbiB5b3UgbmVlZCB0byB1cGRhdGUgaXQgdG8gZ2l0IHJlY2lwZSBmZXRjaGluZyBuZXdlciBzb3VyY2VzIGZyb20gaHR0cDovL2dpdC5lbmxpZ2h0ZW5tZW50Lm9yZy9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvbmV3cy5naXQvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcGxhY2VzL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3BsYWNlcy9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjhmNDgzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3BsYWNlcy9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IHBsYWNlcy9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwbGFjZXMub3JpZy9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMTo1MTowMS4yNzY1NzQwMTcgKzAwMDAKKysrKyBwbGFjZXMvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjE6NTI6MDcuMDk2NTc1ODEwICswMDAwCitAQCAtMTAsNyArMTAsNyBAQAorIEFDX0NBTk9OSUNBTF9IT1NUCisgQUNfSVNDX1BPU0lYCisgCistQU1fSU5JVF9BVVRPTUFLRSgxLjgpCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgbTRfaWZkZWYoW0FNX1NJTEVOVF9SVUxFU10sIFtBTV9TSUxFTlRfUlVMRVMoW3llc10pXSkKKyBBTV9DT05GSUdfSEVBREVSKGNvbmZpZy5oKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcGxhY2VzX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3BsYWNlc19zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRmMGUwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3BsYWNlc19zdm4uYmIKQEAgLTAsMCArMSwxNiBAQAorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNDQ4OTVmMjUzYzMyZjM4ZTE4MmRjYWYzMGZlOGEzNSIKKworUFYgPSAiMC4xLjArc3ZuciR7U1JDUFZ9IgorUFIgPSAiJHtJTkNfUFJ9LjAiCisKK3JlcXVpcmUgZS1tb2R1bGUuaW5jCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGF1dG9wb2ludCB8fCB0b3VjaCBjb25maWcucnBhdGgKK30KKworIyBDYWxscyAvdXNyL2Jpbi9lamVjdCBmb3IgbWVkaWEKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJlamVjdCIKKworU1JDX1VSSSArPSAiZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3JhZ2Vfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcmFnZV9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTY1YWE5ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3JhZ2Vfc3ZuLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiUmFnZSBpcyBhIG1lZGlhIGNlbnRlciBhcHBsaWNhdGlvbiBiYXNlZCBvbiBFRkwiCitBVVRIT1IgPSAiQ2Fyc3RlbiAnVGhlIFJhc3Rlcm1hbicgSGFpdHpsZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnJhc3Rlcm1hbi5jb20iCitMSUNFTlNFID0gIk1JVCAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM0NDg5NWYyNTNjMzJmMzhlMTgyZGNhZjMwZmU4YTM1IgorREVQRU5EUyA9ICJlbW90aW9uIGV2YXMgZWNvcmUgZWRqZSIKK1NFQ1RJT04gPSAieDExL211bHRpbWVkaWEiCitQViA9ICIwLjMuMC4wNDIrc3ZuciR7U1JDUFZ9IgorU1JDUkVWID0gIiR7RUZMX1NSQ1JFVn0iCisKK2luaGVyaXQgZQorU1JDX1VSSSA9ICIke0VfU1ZOfS90cnVuazttb2R1bGU9JHtTUkNOQU1FfTtwcm90b2NvbD1odHRwO3NjbWRhdGE9a2VlcCIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitQTkJMQUNLTElTVFtyYWdlXSA/PSAiaWYgeW91IHdhbnQgdG8gdXNlIHRoZXNlIG1vZHVsZXMgd2l0aCBFMTgsIHRoZW4geW91IG5lZWQgdG8gdXBkYXRlIGl0IHRvIGdpdCByZWNpcGUgZmV0Y2hpbmcgbmV3ZXIgc291cmNlcyBmcm9tICBodHRwOi8vZ2l0LmVubGlnaHRlbm1lbnQub3JnL2FwcHMvcmFnZS5naXQvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcmFpbi9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9yYWluL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2M4NWRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcmFpbi9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IGNwdS9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjcHUub3JpZy9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMDozOTo0OC4wMDAwMDAwMDAgKzAwMDAKKysrKyBjcHUvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjE6Mzk6NTUuMzIwNTU1ODY4ICswMDAwCitAQCAtMTAsNyArMTAsNyBAQAorIEFDX0NBTk9OSUNBTF9IT1NUCisgQUNfSVNDX1BPU0lYCisgCistQU1fSU5JVF9BVVRPTUFLRSgxLjYpCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKyBtNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSwgW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcmFpbl9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9yYWluX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjY3YTRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvcmFpbl9zdm4uYmIKQEAgLTAsMCArMSwxNiBAQAorTElDRU5TRSA9ICJNSVQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM0NDg5NWYyNTNjMzJmMzhlMTgyZGNhZjMwZmU4YTM1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkctUExBSU47bWQ1PWM5MTBiNjQ1ZWRhMDAwNWNjZWM0NmY3NTIwM2RjOTZlIgorCitQViA9ICIwLjAuMytzdm5yJHtTUkNQVn0iCitQUiA9ICIke0lOQ19QUn0uMCIKKworcmVxdWlyZSBlLW1vZHVsZS5pbmMKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lIC9wby9kICR7U30vY29uZmlndXJlLmFjIAorICAgIHNlZCAtaSAtZSBzOlwgcG86OmcgJHtTfS9NYWtlZmlsZS5hbQorfQorCitTUkNfVVJJICs9ICJmaWxlOi8vY29uZmlndXJlLnBhdGNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvc2NyZWVuc2hvdC9zY3JlZW5zaG90LWZpeC1ta2luc3RhbGxkaXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvc2NyZWVuc2hvdC9zY3JlZW5zaG90LWZpeC1ta2luc3RhbGxkaXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0ZjExNDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy9zY3JlZW5zaG90L3NjcmVlbnNob3QtZml4LW1raW5zdGFsbGRpcnMucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorRnJvbTogRG1pdHJ5IEVyZW1pbi1Tb2xlbmlrb3YgPGRiYXJ5c2hrb3ZAZ21haWwuY29tPgorU3ViamVjdDogZml4IHNjcmVlbnNob3QgcG8vIGJ1aWxkaW5nCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU29tZWhvdyBjb25maWd1cmUgZG9lc24ndCBzdWJzdGl0dXRlIEBNS0lOU1RBTExESVJTQCBieSBkZWZhdWx0IGFueW1vcmUsCitob3dldmVyIHRoaXMgc3Vic3RpdHV0aW9uIGlzIHJlcXVpcmVkIGZvciBwby9NYWtlZmlsZQorCitGaXggdGhhdCBieSBjYWxsaW5nIEFNX01LSU5TVEFMTERJUlMgZnJvbSBjb25maWd1cmUuYWMKKworU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEVyZW1pbi1Tb2xlbmlrb3YgPGRiYXJ5c2hrb3ZAZ21haWwuY29tPgorCitJbmRleDogRS1NT0RVTEVTLUVYVFJBL3NjcmVlbnNob3QvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gRS1NT0RVTEVTLUVYVFJBLm9yaWcvc2NyZWVuc2hvdC9jb25maWd1cmUuYWMJMjAxMS0wOC0xNyAxNTo0OToyMi4wMDAwMDAwMDAgKzA0MDAKKysrKyBFLU1PRFVMRVMtRVhUUkEvc2NyZWVuc2hvdC9jb25maWd1cmUuYWMJMjAxMS0wOC0xNyAxNTo0OTozNC4wMDAwMDAwMDAgKzA0MDAKK0BAIC0yNCw2ICsyNCw3IEBACisgZGVmaW5lKFtBQ19MSUJUT09MX0xBTkdfRjc3X0NPTkZJR10sIFs6XSlkbmwKKyBBQ19QUk9HX0xJQlRPT0wKKyAKKytBTV9NS0lOU1RBTExESVJTCisgbTRfaWZkZWYoW0FNX0dOVV9HRVRURVhUX1ZFUlNJT05dLCBbCisgQU1fR05VX0dFVFRFWFRfVkVSU0lPTihbMC4xNF0pCisgXSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3NjcmVlbnNob3Rfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvc2NyZWVuc2hvdF9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRlYzE5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3NjcmVlbnNob3Rfc3ZuLmJiCkBAIC0wLDAgKzEsMTYgQEAKK0xJQ0VOU0UgPSAiTUlUIgorUFYgPSAiMC4zLjArc3ZuciR7U1JDUkVWfSIKK1BSID0gIiR7SU5DX1BSfS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzQ0ODk1ZjI1M2MzMmYzOGUxODJkY2FmMzBmZThhMzUiCitTUkNfVVJJICs9ICJmaWxlOi8vc2NyZWVuc2hvdC1maXgtbWtpbnN0YWxsZGlycy5wYXRjaCIKKworcmVxdWlyZSBlLW1vZHVsZS5pbmMKKworREVQRU5EUyArPSAiZW1wcmludCIKK1JERVBFTkRTXyR7UE59ICs9ICJlbXByaW50IgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgJ3M6QUNfTVNHX0VSUk9SKGVtcHJpbnQgbm90IGZvdW5kKTplY2hvIGZvbzpnJyAke1N9L2NvbmZpZ3VyZS5hYworfQorCitQTkJMQUNLTElTVFtzY3JlZW5zaG90XSA/PSAiZGVwZW5kcyBvbiBibGFja2xpc3RlZCBlbXByaW50IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdGVybWlub2xvZ3kuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdGVybWlub2xvZ3kuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0Zjc4OWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy90ZXJtaW5vbG9neS5pbmMKQEAgLTAsMCArMSwyMiBAQAorREVTQ1JJUFRJT04gPSAiRW5saWdodGVubWVudCBUZXJtaW5hbCBFbXVsYXRvciIKK0xJQ0VOU0UgPSAiTUlUICYgQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGVmYWM2YjA1YjMyNTZiYTdkYTY2MzAxYWMxZWU2YzYiCitERVBFTkRTID0gImV2YXMgZWNvcmUgZWRqZSBlbGVtZW50YXJ5IGVpbmEgZWV0IGVtb3Rpb24iCisKK2luaGVyaXQgZSBnZXR0ZXh0CisKKyMgQmVjYXVzZSBsYXRlc3QgcmVsZWFzZSB3ZSBoYXZlIGlzIDAuMS4wIHdoaWNoIHNvcnRzIGxvd2VyIHRoZW4gMC4xLjArc3ZuciR7U1JDUFZ9IGFscmVhZHkgaW4gZmVlZHMKK1BFID0gIjIiCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS13aXRoLWVkamUtY2M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VkamVfY2MgXAorIgorCitGSUxFU18ke1BOfSArPSAiXAorICAgICR7ZGF0YWRpcn0vaWNvbnMvdGVybWlub2xvZ3kucG5nIFwKKyIKKworIyBkb2Vzbid0IHN0YXJ0IHdpdGhvdXQgb3duIHRoZW1lCisjIEVSUjw3NzA+OnRlcm1pbm9sb2d5IHV0aWxzLmM6MjYgdGhlbWVfYXBwbHkoKSBDb3VsZCBub3QgbG9hZCBhbnkgdGhlbWUgZm9yIGdyb3VwPXRlcm1pbm9sb2d5L2JhY2tncm91bmQ6IE5vIEVycm9yCisjIENSSTw3NzA+OnRlcm1pbm9sb2d5IG1haW4uYzo0NDggZWxtX21haW4oKSBDb3VsZG4ndCBmaW5kIHRlcm1pbm9sb2d5IHRoZW1lISBGb3Jnb3QgJ21ha2UgaW5zdGFsbCc/CitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tdGhlbWVzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdGVybWlub2xvZ3lfMC45LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy90ZXJtaW5vbG9neV8wLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODJiZDYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdGVybWlub2xvZ3lfMC45LjEuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSSA9ICJcCisgICAgJHtFX1JFTEVBU0VTfS9hcHBzLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0udGFyLmd6IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImM3Y2UyZThlYmM1ZjMxMWQzZDNmNTllY2ZkZjE4ZjYxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdmYjg2NGExNDIwMjQ5MGU5MTgxYzVmMjU0YTdlNzcyMDE5MjE2YTNhYTc1YzM5NTJkMGYxMmNkMzIxMTM4OTYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy91cHRpbWUvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdXB0aW1lL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2M4NWRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdXB0aW1lL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDEzIEBACitJbmRleDogY3B1L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNwdS5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIwOjM5OjQ4LjAwMDAwMDAwMCArMDAwMAorKysrIGNwdS9jb25maWd1cmUuYWMJMjAxNC0wNy0xNyAyMTozOTo1NS4zMjA1NTU4NjggKzAwMDAKK0BAIC0xMCw3ICsxMCw3IEBACisgQUNfQ0FOT05JQ0FMX0hPU1QKKyBBQ19JU0NfUE9TSVgKKyAKKy1BTV9JTklUX0FVVE9NQUtFKDEuNikKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKKyBBTV9DT05GSUdfSEVBREVSKGNvbmZpZy5oKQorIG00X2lmZGVmKFtBTV9TSUxFTlRfUlVMRVNdLCBbQU1fU0lMRU5UX1JVTEVTKFt5ZXNdKV0pCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy91cHRpbWVfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdXB0aW1lX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzliZmE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lMTcvdXB0aW1lX3N2bi5iYgpAQCAtMCwwICsxLDEwIEBACitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM0NDg5NWYyNTNjMzJmMzhlMTgyZGNhZjMwZmU4YTM1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkctUExBSU47bWQ1PWM5MTBiNjQ1ZWRhMDAwNWNjZWM0NmY3NTIwM2RjOTZlIgorCitQViA9ICIwLjAuMitzdm5yJHtTUkNSRVZ9IgorUFIgPSAiJHtJTkNfUFJ9LjAiCisKK3JlcXVpcmUgZS1tb2R1bGUuaW5jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9jb25maWd1cmUucGF0Y2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy93YWtlci8wMDAxLXdha2VyLXJlbW92ZS1vbGQtZWNvcmVfc3RyaW5nX2luaXQtYW5kLWVjb3JlX3N0cmluZ18ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2UxNy93YWtlci8wMDAxLXdha2VyLXJlbW92ZS1vbGQtZWNvcmVfc3RyaW5nX2luaXQtYW5kLWVjb3JlX3N0cmluZ18ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU5ZDEwNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZTE3L3dha2VyLzAwMDEtd2FrZXItcmVtb3ZlLW9sZC1lY29yZV9zdHJpbmdfaW5pdC1hbmQtZWNvcmVfc3RyaW5nXy5wYXRjaApAQCAtMCwwICsxLDU0IEBACitGcm9tIGI2Mjk2OTU4ZDU1MTZhNzM1MDUzZWU0MTQwZTg1ZTJiM2E4OTYxODIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDMwIEphbiAyMDExIDAwOjI3OjU3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHdha2VyOiByZW1vdmUgb2xkIGVjb3JlX3N0cmluZ19pbml0IGFuZCBlY29yZV9zdHJpbmdfc2h1dGRvd24KKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgc3JjL2Jpbi93YWtlcl9tYWluLmMgfCAgICAyIC0tCisgc3JjL2Jpbi93YWtlcl90b29sLmMgfCAgICAyIC0tCisgMiBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYmluL3dha2VyX21haW4uYyBiL3NyYy9iaW4vd2FrZXJfbWFpbi5jCitpbmRleCBiMjI5Y2YwLi5kZDU0YjMxIDEwMDY0NAorLS0tIGEvc3JjL2Jpbi93YWtlcl9tYWluLmMKKysrKyBiL3NyYy9iaW4vd2FrZXJfbWFpbi5jCitAQCAtNTY4LDcgKzU2OCw2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgIEVfREJ1c19Db25uZWN0aW9uICpjOworICAgIAorICAgIGVjb3JlX2luaXQoKTsKKy0gICBlY29yZV9zdHJpbmdfaW5pdCgpOworICAgIGVjb3JlX2FwcF9hcmdzX3NldChhcmdjLCAoY29uc3QgY2hhciAqKilhcmd2KTsKKyAgICBlX2RidXNfaW5pdCgpOworICAgIAorQEAgLTU4Niw3ICs1ODUsNiBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgCisgICAgZV9kYnVzX2Nvbm5lY3Rpb25fY2xvc2UoYyk7CisgICAgZV9kYnVzX3NodXRkb3duKCk7CistICAgZWNvcmVfc3RyaW5nX3NodXRkb3duKCk7CisgICAgZWNvcmVfc2h1dGRvd24oKTsKKyAgICAKKyAgICByZXR1cm4gMDsKK2RpZmYgLS1naXQgYS9zcmMvYmluL3dha2VyX3Rvb2wuYyBiL3NyYy9iaW4vd2FrZXJfdG9vbC5jCitpbmRleCAzMzQ0ZmQyLi41MjUxNWM5IDEwMDY0NAorLS0tIGEvc3JjL2Jpbi93YWtlcl90b29sLmMKKysrKyBiL3NyYy9iaW4vd2FrZXJfdG9vbC5jCitAQCAtOTMsNyArOTMsNiBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgIH0KKyAgICAKKyAgICBlY29yZV9pbml0KCk7CistICAgZWNvcmVfc3RyaW5nX2luaXQoKTsKKyAgICBlY29yZV9hcHBfYXJnc19zZXQoYXJnYywgKGNvbnN0IGNoYXIgKiopYXJndik7CisgICAgZV9kYnVzX2luaXQoKTsKKyAgICAKK0BAIC0zMDEsNyArMzAwLDYgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgICAgCisgICAgZV9kYnVzX2Nvbm5lY3Rpb25fY2xvc2UoYyk7CisgICAgZV9kYnVzX3NodXRkb3duKCk7CistICAgZWNvcmVfc3RyaW5nX3NodXRkb3duKCk7CisgICAgZWNvcmVfc2h1dGRvd24oKTsKKyAgICAKKyAgICByZXR1cm4gMDsKKy0tIAorMS43LjQucmMzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2F6eV9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9henlfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlYzI0NzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9henlfc3ZuLmJiCkBAIC0wLDAgKzEsMzcgQEAKK0RFU0NSSVBUSU9OID0gIkF6eSBpcyBhIGxpYnJhcnkgbWVhbnQgZm9yIGltcGxlbWVudGluZyBycGMgY2xpZW50cyBhbmQgc2VydmVycyBpbiBhIHNpbXBsZSBtYW5uZXIuIgorREVQRU5EUyA9ICJwa2djb25maWcgemxpYiBvcGVuc3NsIGVpbmEgZ251dGxzIGVjb3JlIGxpYnhtbDIgcmUyYy1uYXRpdmUgbXlzcWw1IGF6eS1uYXRpdmUgZ2xpYi0yLjAiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJwa2djb25maWctbmF0aXZlIHpsaWItbmF0aXZlIG9wZW5zc2wtbmF0aXZlIGVpbmEtbmF0aXZlIGdudXRscy1uYXRpdmUgZWNvcmUtbmF0aXZlIGxpYnhtbDItbmF0aXZlIHJlMmMtbmF0aXZlIG15c3FsNS1uYXRpdmUgZ2xpYi0yLjAtbmF0aXZlIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworUFYgPSAiMS4wLjArc3ZuciR7U1JDUFZ9IgorUFIgPSAicjIiCisKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorCisjIHRvIHByb3ZpZGUgbmF0aXZlIGxlbW9uIGJpbmFyeQorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK0VYVFJBX09FQ09ORiArPSAiIC0tZGlzYWJsZS1teXNxbC10ZXN0cyIKKworZG9fY29uZmlndXJlX3ByZXBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgIHNlZCAtaSAicyNcLi9sZW1vbiMke1NUQUdJTkdfQklORElSX05BVElWRX0vYXp5X2xlbW9uI2ciICR7U30vc3JjL2Jpbi9NYWtlZmlsZS5hbQorICAgIHNlZCAtaSAicyNcJCh0b3BfYnVpbGRkaXIpL3NyYy9iaW4vYXp5X3BhcnNlciAtSCAtcCAtbyMke1NUQUdJTkdfQklORElSX05BVElWRX0vYXp5X3BhcnNlciAtSCAtcCAtbyNnIiAke1N9L3NyYy90ZXN0cy9NYWtlZmlsZS5hbQorICAgIHNlZCAtaSAicyNcJCh0b3BfYnVpbGRkaXIpL3NyYy9iaW4vYXp5X3BhcnNlciAtZUhuIC1tIyR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9henlfcGFyc2VyIC1lSG4gLW0jZyIgJHtTfS9zcmMvdGVzdHMvaWRlbnRpLmNhL01ha2VmaWxlLmFtCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vc3JjL2Jpbi9sZW1vbiAke0R9LyR7YmluZGlyfS9henlfbGVtb24KK30KKworaW5oZXJpdCBlZmwKKworU1JDX1VSSSA9ICIke0VfU1ZOfS90cnVuay9QUk9UTzttb2R1bGU9JHtTUkNOQU1FfTtwcm90b2NvbD1odHRwO3NjbWRhdGE9a2VlcCIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCisjIGF6eS8yXzEuMC4wK3N2bnI4MjA3MC1yMi9henkvc3JjL2xpYi9leHRyYXMvcHVnaXhtbC5jcHA6MzM6CisjIHN5c3Jvb3RzL3FlbXVhcm0vdXNyL2luY2x1ZGUvYysrLzUuMi4wL2JpdHMvYmFzaWNfc3RyaW5nLmg6NDc4MDo1OiBlcnJvcjogcmVmZXJlbmNlIHRvICdiYXNpY19zdHJpbmcnIGlzIGFtYmlndW91cworIyAgICAgYmFzaWNfc3RyaW5nPF9DaGFyVCwgX1RyYWl0cywgX0FsbG9jPgorIyAgICAgXgorUE5CTEFDS0xJU1RbYXp5XSA/PSAiT0xEIGFuZCBkb2Vzbid0IGJ1aWxkIHdpdGggZ2NjLTUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lLXdtLWlsbHVtZS1kaWN0LXBsX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2Utd20taWxsdW1lLWRpY3QtcGxfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1N2FkY2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lLXdtLWlsbHVtZS1kaWN0LXBsX2dpdC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIlBvbGlzaCBkaWN0aW9uYXJ5IGZvciBJbGx1bWUga2V5Ym9hcmQiCitTRUNUSU9OID0gIngxMS9kYXRhIgorU1JDUkVWID0gIjM4ZmRkOWJiMGQ4Mjk2ZTk4NGJiNjQ0MzQ2NjgwMWVlYTZmNjJmMDAiCitQViA9ICIxLjArZ2l0ciR7U1JDUFZ9IgorUEUgPSAiMSIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZjUyM2FiNTk4NmNjNzliNTJhOTBkMmFjM2Q1NDU0YTIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnNoci1wcm9qZWN0Lm9yZy9yZXBvL3Noci10aGVtZXMuZ2l0O3Byb3RvY29sPWh0dHA7YnJhbmNoPW1hc3RlciIKKworUyA9ICIke1dPUktESVJ9L2dpdC9lLXdtLyR7UE59IgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vZW5saWdodGVubWVudC9tb2R1bGVzL2lsbHVtZS9kaWN0cy9Qb2xpc2guZGljIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvaWxsdW1lL2RpY3RzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vUG9saXNoLmRpYyAgICAgICAgJHtEfSR7bGliZGlyfS9lbmxpZ2h0ZW5tZW50L21vZHVsZXMvaWxsdW1lL2RpY3RzL1BvbGlzaC5kaWMKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2Vjb3JlL2ZpeC1lY29yZS1mYi1pbml0aWFsaXphdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2Vjb3JlL2ZpeC1lY29yZS1mYi1pbml0aWFsaXphdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTc3M2EzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWNvcmUvZml4LWVjb3JlLWZiLWluaXRpYWxpemF0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gNjU3NTcxMTk3YzlkMzY5ZTEyYWUzMWI2Nzc3YTE5MjlmZTM2ODBlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwgMjkgT2N0IDIwMTEgMDA6MTY6NTUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gZWNvcmUtZmI6IGZpeCB0cyBpbml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitUaGUgd2hvbGUgZWNvcmUtZmIgaW5pdCBsb2dpYyBpcyBzb21ld2hhdCBmbGF3ZWQ7IHdpdGggdGhpcyBwYXRjaCB3ZQorZ2V0IGF0IGxlYXN0IGEgd29ya2luZyB0b3VjaHNjcmVlbiB3LyB0c2xpYiBhZ2Fpbi4KKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCAnTWlja2V5JyBMYXVlciA8bWxhdWVyQHZhbmlsbGUtbWVkaWEuZGU+CitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBlY29yZS9zcmMvbGliL2Vjb3JlX2ZiL2Vjb3JlX2ZiLmMgfCAgICA0ICsrKysKKyAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWIvZWNvcmVfZmIvZWNvcmVfZmIuYyBiL3NyYy9saWIvZWNvcmVfZmIvZWNvcmVfZmIuYworaW5kZXggNWIyYjg0Yi4uYTE5MDRiMyAxMDA2NDQKKy0tLSBhL3NyYy9saWIvZWNvcmVfZmIvZWNvcmVfZmIuYworKysrIGIvc3JjL2xpYi9lY29yZV9mYi9lY29yZV9mYi5jCitAQCAtNDYsNiArNDYsOSBAQCBlY29yZV9mYl9pbml0KGNvbnN0IGNoYXIgKm5hbWUgX19VTlVTRURfXykKKyAgICBpZiAoIWVjb3JlX2ZiX3Z0X2luaXQoKSkKKyAgICAgICByZXR1cm4gLS1fZWNvcmVfZmJfaW5pdF9jb3VudDsKKyAKKysgICBpZiAoIWVjb3JlX2ZiX3RzX2luaXQoKSkKKysgICAgICByZXR1cm4gLS1fZWNvcmVfZmJfaW5pdF9jb3VudDsKKysKKyAgICBpZiAoIW9sZGhhbmQpCisgICAgICB7CisgICAgICAgICBvbGRoYW5kID0gc2lnbmFsKFNJR0lOVCwgbm9zaWdpbnQpOworQEAgLTc3LDYgKzgwLDcgQEAgZWNvcmVfZmJfc2h1dGRvd24odm9pZCkKKyAgICAgICAgIG9sZGhhbmQgPSBOVUxMOworICAgICAgfQorICAgIAorKyAgIGVjb3JlX2ZiX3RzX3NodXRkb3duKCk7CisgICAgZWNvcmVfZmJfdnRfc2h1dGRvd24oKTsKKyAKKyAgICByZXR1cm4gX2Vjb3JlX2ZiX2luaXRfY291bnQ7CistLSAKKzEuNy44LjYKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWRiX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VkYl9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M2YWJkYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VkYl9zdm4uYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJFZGIgaXMgdGhlIEVubGlnaHRlbm1lbnQgZGF0YWJhc2UgbGlicmFyeSIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDhhN2MwOGRmM2JjMzI4MDIwOGI5NTliZTcyMTVjMjUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy1QTEFJTjttZDU9ZjU5Y2FjYzA4MjM1YTU0NmIwYzM0YTU0MjIxMzMwMzUiCisKK0RFUEVORFMgPSAiemxpYiIKK1BWID0gIjEuMC41LjA1MCtzdm5yJHtTUkNQVn0iCitTUkNSRVYgPSAiJHtFRkxfU1JDUkVWfSIKKworaW5oZXJpdCBlZmwKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbmN1cnNlc10gPSAiLS1lbmFibGUtbmN1cnNlcywtLWRpc2FibGUtbmN1cnNlcyxuY3Vyc2VzIgorCitTUkNfVVJJID0gIiR7RV9TVk59L09MRDttb2R1bGU9JHtTUkNOQU1FfTtwcm90b2NvbD1odHRwO3NjbWRhdGE9a2VlcCIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWRidXMuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWRidXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzZDBlZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZGJ1cy5pbmMKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT04gPSAiREJ1cyBhbmQgSEFMIGNvbnZlbmllbmNlIHdyYXBwZXJzIGZvciBFRkwiCitERVBFTkRTID0gImRidXMgZWNvcmUgZWluYSIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTUwYjhjZWExM2RhY2M0YmYwMDUwOGE4Y2NlMTA3NGMiCisKK2luaGVyaXQgZWZsCisKKyMgLWRldiBhbmQgLWRiZyBwYWNrYWdlcyB3YW50cyAke1BOfSB3aGljaCBpcyBlbXB0eSBoZXJlCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK0lOQ19QUiA9ICJyMCIKKworU1JDTkFNRSA9ICJlX2RidXMiCisKKyMgaXQgbmVlZHMgdG8gYmUgZGlzYWJsZWQsIGJlY2F1c2UgY3JlYXRlcyBjaXJjdWxhciBkZXBlbmRlbmN5IG9uIGVsZW1lbnRhcnkKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWVkYnVzLXBlcmZvcm1hbmNlLXRlc3QiCisKK1BBQ0tBR0VTID0rICIke1BOfS1lbm90aWZ5ICR7UE59LWVkYnVzICR7UE59LWVubSAke1BOfS1laGFsICR7UE59LWVjb25ubWFuICR7UE59LWVvZm9ubyAke1BOfS1ldWtpdCAke1BOfS1lYmx1ZXoiCitGSUxFU18ke1BOfS1lbm90aWZ5ID0gIiR7bGliZGlyfS9saWJlbm90aWZ5LnNvLiogJHtiaW5kaXJ9L2Utbm90aWZ5LXNlbmQiCitGSUxFU18ke1BOfS1lZGJ1cyA9ICIke2xpYmRpcn0vbGliZWRidXMuc28uKiIKK0ZJTEVTXyR7UE59LWVubSA9ICIke2xpYmRpcn0vbGliZW5tLnNvLioiCitGSUxFU18ke1BOfS1laGFsID0gIiR7bGliZGlyfS9saWJlaGFsLnNvLioiCitGSUxFU18ke1BOfS1lY29ubm1hbiA9ICIke2xpYmRpcn0vbGliZWNvbm5tYW4uc28uKiAke2xpYmRpcn0vbGliZWNvbm5tYW4wXzd4LnNvLioiCitGSUxFU18ke1BOfS1lb2Zvbm8gPSAiJHtsaWJkaXJ9L2xpYmVvZm9uby5zby4qIgorRklMRVNfJHtQTn0tZXVraXQgPSAiJHtsaWJkaXJ9L2xpYmV1a2l0LnNvLioiCitGSUxFU18ke1BOfS1lYmx1ZXogPSAiJHtsaWJkaXJ9L2xpYmVibHVlei5zby4qIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZV9kYnVzL2xvZ28ucG5nIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZGJ1c18xLjcuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VkYnVzXzEuNy45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0ZTc3ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZGJ1c18xLjcuOS5iYgpAQCAtMCwwICsxLDggQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitTUkNfVVJJID0gIlwKKyAgICAke0VfTUlSUk9SfS8ke1NSQ05BTUV9LSR7U1JDVkVSfS50YXIuZ3ogXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGY3MmRhMTRlNTY2NGFhZDhjNDVlZWVjYTBlM2ZmNWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzMyOGM0Y2YxNDI0NjI5Y2I2N2M4MzY4OWNjYzFmOTU5NjdhYmNiNGMwM2RmZmQ0MzdlOTNiNzk5ZmYxNTFjMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VkamUtZnB1LmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VkamUtZnB1LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjJhYWNmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWRqZS1mcHUuaW5jCkBAIC0wLDAgKzEsNiBAQAorCitkZWYgZ2V0X2VkamVfZnB1X3NldHRpbmcoYmIsIGQpOgorICAgIGlmIGQuZ2V0VmFyKCdUQVJHRVRfRlBVJywgMSkgaW4gWyAnc29mdCcgXToKKyAgICAgICAgcmV0dXJuICItLWVuYWJsZS1maXhlZC1wb2ludCIKKyAgICByZXR1cm4gIiIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VmbC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzFhZmY4NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VmbC5pbmMKQEAgLTAsMCArMSwyODcgQEAKK1NVTU1BUlkgPSAiRUZMIgorTElDRU5TRSA9ICJNSVQgJiBCU0QgJiBMR1BMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNhNzg3MzIxMDUyM2RjZmQzMjY5NGI5NDI4NmRjYTYwIgorCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJmcmVldHlwZS1uYXRpdmUgbGlieGV4dC1uYXRpdmUgbGlicG5nLW5hdGl2ZSBqcGVnLW5hdGl2ZSB0aWZmLW5hdGl2ZSBsaWJmcmliaWRpLW5hdGl2ZSBnbGliLTIuMC1uYXRpdmUgZGJ1cy1uYXRpdmUgb3BlbnNzbC1uYXRpdmUiCitERVBFTkRTID0gInZpcnR1YWwvbGliaWNvbnYgdHNsaWIgY3VybCBnbGliLTIuMCBnbnV0bHMgcGtnY29uZmlnIHpsaWIganBlZyBvcGVuc3NsIGxpYnNuZGZpbGUxIGRidXMgbGliZXhpZiBsaWJyc3ZnIGZyZWV0eXBlIGxpYnBuZyB0aWZmIGxpYnhleHQgdmlydHVhbC9saWJ4MTEgbGlieGRhbWFnZSBsaWJ4cmVuZGVyIGZvbnRjb25maWcgbGliZnJpYmlkaSBnaWZsaWIgdWRldiBsaWJ4Y3Vyc29yIGxpYnhjb21wb3NpdGUgbGlieGluZXJhbWEgbGlieHJhbmRyIGxpYnh0c3QgbGlieHNjcm5zYXZlciBlZmwtbmF0aXZlIHV0aWwtbGludXggbGlidW53aW5kIgorCitpbmhlcml0IGVmbCBnZXR0ZXh0IHBrZ2NvbmZpZworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworUFJPVklERVMgKz0gImVjb3JlIGVkamUgZWV0IGVlemUgZWZyZWV0IGVpbmEgZWlvIGVtYnJ5byBlbW90aW9uIGV0aHVtYiBldmFzIGVsZGJ1cyIKKworIyB3ZSBkb24ndCBoYXZlIGJ1bGxldCBmb3IgcGh5c2ljcworIyBZb3UgaGF2ZSBjaG9zZW4gdG8gZGlzYWJsZSBwaHlzaWNzIHN1cHBvcnQuIFRoaXMgZGlzYWJsZXMgbG90cyBvZgorIyBjb3JlIGZ1bmN0aW9uYWxpdHkgYW5kIGlzIGVmZmVjdGl2ZWx5IG5ldmVyIHRlc3RlZC4gWW91IGFyZSBnb2luZworIyB0byBmaW5kIGZlYXR1cmVzIHRoYXQgc3VkZGVubHkgZG9uJ3Qgd29yayBhbmQgYXMgYSByZXN1bHQgY2F1c2UKKyMgYSBzZXJpZXMgb2YgYnJlYWthZ2VzLiBUaGlzIGlzIHNpbXBseSBub3QgdGVzdGVkIHNvIHlvdSBhcmUgb24KKyMgeW91ciBvd24gaW4gdGVybXMgb2YgZW5zdXJpbmcgZXZlcnl0aGluZyB3b3JrcyBpZiB5b3UgZG8gdGhpcworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1kaXNhYmxlLXBoeXNpY3MgXAorICAgIC0tZW5hYmxlLWktcmVhbGx5LWtub3ctd2hhdC1pLWFtLWRvaW5nLWFuZC10aGF0LXRoaXMtd2lsbC1wcm9iYWJseS1icmVhay10aGluZ3MtYW5kLWktd2lsbC1maXgtdGhlbS1teXNlbGYtYW5kLXNlbmQtcGF0Y2hlcy1hYmEgXAorIgorRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKKyAgICAtLXdpdGgtZWRqZS1jYz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZWRqZV9jYyBcCisgICAgLS13aXRoLWVvbGlhbi1nZW49JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VvbGlhbl9nZW4gXAorICAgIC0td2l0aC1lb2xpYW4tY3h4PSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lb2xpYW5fY3h4IFwKKyAgICAtLXdpdGgtZWx1YT0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZWx1YSBcCisiCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgXAorICAgIC0tZGlzYWJsZS1mb250Y29uZmlnIFwKKyAgICAtLWRpc2FibGUtYXVkaW8gXAorICAgIC0tZGlzYWJsZS1waHlzaWNzIFwKKyAgICAtLWRpc2FibGUtbXVsdGlzZW5zZSBcCisgICAgLS1kaXNhYmxlLWNzZXJ2ZSBcCisgICAgLS1kaXNhYmxlLWxpYmVlemUgXAorICAgIC0td2l0aC14MTE9bm9uZSBcCisgICAgLS1kaXNhYmxlLWltYWdlLWxvYWRlci1ibXAgXAorICAgIC0tZGlzYWJsZS1pbWFnZS1sb2FkZXItZWV0IFwKKyAgICAtLWRpc2FibGUtaW1hZ2UtbG9hZGVyLWdlbmVyaWMgXAorICAgIC0tZGlzYWJsZS1pbWFnZS1sb2FkZXItZ2lmIFwKKyAgICAtLWRpc2FibGUtaW1hZ2UtbG9hZGVyLWljbyBcCisgICAgLS1kaXNhYmxlLWltYWdlLWxvYWRlci1qcDJrIFwKKyAgICAtLWRpc2FibGUtaW1hZ2UtbG9hZGVyLXBtYXBzIFwKKyAgICAtLWRpc2FibGUtaW1hZ2UtbG9hZGVyLXBzZCBcCisgICAgLS1kaXNhYmxlLWltYWdlLWxvYWRlci10Z2EgXAorICAgIC0tZGlzYWJsZS1pbWFnZS1sb2FkZXItd2JtcCBcCisgICAgLS1kaXNhYmxlLWltYWdlLWxvYWRlci13ZWJwIFwKKyAgICAtLWRpc2FibGUtaW1hZ2UtbG9hZGVyLXhwbSBcCisgICAgLS1kaXNhYmxlLWltYWdlLWxvYWRlci10Z3YgXAorICAgIC0tZGlzYWJsZS1pbWFnZS1sb2FkZXItZGRzIFwKKyIKKworUEFDS0FHRUNPTkZJRyA/PSAiZWdsIG9wZW5nbC1lcyBnc3RyZWFtZXIxIHB1bHNlYXVkaW8gbHVhaml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnd2F5bGFuZCcsICd3YXlsYW5kJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gImx1YWppdCIKKworUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICItLWVuYWJsZS13YXlsYW5kIC0tZW5hYmxlLXdheWxhbmQtaXZpLXNoZWxsLC0tZGlzYWJsZS13YXlsYW5kIC0tZGlzYWJsZS13YXlsYW5kLWl2aS1zaGVsbCx3YXlsYW5kIgorUEFDS0FHRUNPTkZJR1tlZ2xdID0gIi0tZW5hYmxlLWVnbCwtLWRpc2FibGUtZWdsLHZpcnR1YWwvZWdsIgorIyBzb3J0IG9mIHRyaS1zdGF0ZQorUEFDS0FHRUNPTkZJR1tvcGVuZ2wtZnVsbF0gPSAiLS13aXRoLW9wZW5nbD1mdWxsLCx2aXJ0dWFsL2xpYmdsIgorUEFDS0FHRUNPTkZJR1tvcGVuZ2wtZXNdID0gIi0td2l0aC1vcGVuZ2w9ZXMsLHZpcnR1YWwvbGliZ2xlczIiCitQQUNLQUdFQ09ORklHW29wZW5nbC1ub25lXSA9ICItLXdpdGgtb3BlbmdsPW5vbmUsLCIKKyMgYmUgYXdhcmUgd2hlbiBlbmFibGluZyB0aGlzIGZvciBlZmwtbmF0aXZlLCB3ZSBkb24ndCBwcm92aWRlIGdjYy1uYXRpdmUgc28geW91IG5lZWQgdG8gbWFrZQorIyBzdXJlIHRoYXQgYWxsIHlvdXIgYnVpbGRlcnMgaGF2ZSBnKysgd2hpY2ggc3VwcG9ydHMgLXN0ZD1nbnUrKzExCitQQUNLQUdFQ09ORklHW2MrKzExXSA9ICItLWVuYWJsZS1jeHgtYmluZGluZ3MsLS1kaXNhYmxlLWN4eC1iaW5kaW5ncyIKK1BBQ0tBR0VDT05GSUdbZ3N0cmVhbWVyXSA9ICItLWVuYWJsZS1nc3RyZWFtZXIsLS1kaXNhYmxlLWdzdHJlYW1lcixnc3RyZWFtZXIiCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lcjFdID0gIi0tZW5hYmxlLWdzdHJlYW1lcjEsLS1kaXNhYmxlLWdzdHJlYW1lcjEsZ3N0cmVhbWVyMS4wIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UiCitQQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi0tZW5hYmxlLXB1bHNlYXVkaW8sLS1kaXNhYmxlLXB1bHNlYXVkaW8scHVsc2VhdWRpbyIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS1lbmFibGUtc3lzdGVtZCwtLWRpc2FibGUtc3lzdGVtZCxzeXN0ZW1kIgorUEFDS0FHRUNPTkZJR1tsdWFqaXRdID0gIi0tZGlzYWJsZS1sdWEtb2xkLC0tZW5hYmxlLWx1YS1vbGQsbHVhaml0IgorUEFDS0FHRUNPTkZJR1tsdWEtb2xkXSA9ICItLWVuYWJsZS1sdWEtb2xkLC0tZGlzYWJsZS1sdWEtb2xkLGx1YSIKK1BBQ0tBR0VDT05GSUdbYXZhaGldID0gIi0tZW5hYmxlLWF2YWhpLC0tZGlzYWJsZS1hdmFoaSxhdmFoaSIKKyMgY3VycmVudGx5IHdlIGRvbid0IHByb3ZpZGUgZG94eWdlbi1uYXRpdmUKK1BBQ0tBR0VDT05GSUdbZG9jXSA9ICItLWVuYWJsZS1kb2MsLS1kaXNhYmxlLWRvYyxkb3h5Z2VuLW5hdGl2ZSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBkb24ndCBzaGlwIHByZWNvbXBpbGVkIGx1YSBmaWxlcworICAgIHJtIC1mICR7ZGF0YWRpcn0vZWx1YS8qLyoubHVhYworfQorCitQQUNLQUdFUyA9KyAiZWRqZS11dGlscyBlbWJyeW8tdXRpbHMgZW1icnlvLXRlc3RzIGVmcmVldC10cmFzaCBlZnJlZXQtbWltZSBsaWJlZXQgbGliZWZyZWV0IGVjb3JlLWF1ZGlvIGVjb3JlLWlucHV0LWV2YXMgZWNvcmUtaW5wdXQgZWNvcmUtaW1mLWV2YXMgZWNvcmUtaW1mIGVjb3JlLWZpbGUgZWNvcmUtY29uIGVjb3JlLWlwYyBlY29yZS14IGVjb3JlLWV2YXMgbGliZW1vdGlvbiBlbyBlY29yZSBlZGplIGVldCBlZXplIGVmcmVldCBlaW5hIGVpbyBlbWJyeW8gZW1vdGlvbiBldGh1bWIgZXZhcyBlbGRidXMgZWx1YSIKKworIyB1cGdyYWRlIHBhdGggZnJvbSAxLjcKK0RFQklBTl9OT0FVVE9OQU1FX2Vjb3JlLWF1ZGlvID0gIjEiCitERUJJQU5fTk9BVVRPTkFNRV9lY29yZS1pbnB1dC1ldmFzID0gIjEiCitERUJJQU5fTk9BVVRPTkFNRV9lY29yZS1pbnB1dCA9ICIxIgorREVCSUFOX05PQVVUT05BTUVfZWNvcmUtaW1mLWV2YXMgPSAiMSIKK0RFQklBTl9OT0FVVE9OQU1FX2Vjb3JlLWltZiA9ICIxIgorREVCSUFOX05PQVVUT05BTUVfZWNvcmUtZmlsZSA9ICIxIgorREVCSUFOX05PQVVUT05BTUVfZWNvcmUtY29uID0gIjEiCitERUJJQU5fTk9BVVRPTkFNRV9lY29yZS1pcGMgPSAiMSIKK0RFQklBTl9OT0FVVE9OQU1FX2Vjb3JlLXggPSAiMSIKK0RFQklBTl9OT0FVVE9OQU1FX2Vjb3JlLWV2YXMgPSAiMSIKK0RFQklBTl9OT0FVVE9OQU1FX2VtYnJ5byA9ICIxIgorCitBTExPV19FTVBUWV9lY29yZSA9ICIxIgorUkRFUEVORFNfZWNvcmUgPSAiZWNvcmUtYXVkaW8gZWNvcmUtaW5wdXQtZXZhcyBlY29yZS1pbnB1dCBlY29yZS1pbWYtZXZhcyBlY29yZS1pbWYgZWNvcmUtZmlsZSBlY29yZS1jb24gZWNvcmUtaXBjIGVjb3JlLXggZWNvcmUtZXZhcyIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIGZvciBwbHVnaW5fdHlwZSBpbiAiZW5naW5lcyBsb2FkZXJzIHNhdmVycyIuc3BsaXQoKToKKyAgICAgICAgYmIubm90ZSggInNwbGl0dGluZyBwYWNrYWdlcyBmb3IgZXZhcyAlcy4uLiIgJSBwbHVnaW5fdHlwZSApCisgICAgICAgIGJhc2VkaXIgPSBkLmV4cGFuZCggJyR7bGliZGlyfS9ldmFzL21vZHVsZXMvJXMnICUgcGx1Z2luX3R5cGUpCisKKyAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmFzZWRpciwgJ14oLiopJywKKyAgICAgICAgb3V0cHV0X3BhdHRlcm4gPSAnZXZhcy0nICsgcGx1Z2luX3R5cGVbOi0xXSArICItJXMiLAorICAgICAgICBkZXNjcmlwdGlvbiA9ICdFdmFzIG1vZHVsZSAlcycsCisgICAgICAgIGFsbG93X2RpcnM9VHJ1ZSwgcmVjdXJzaXZlPUZhbHNlLCBleHRyYV9kZXBlbmRzPSIiICkKKyAgICAgICAgCisgICAgICAgIHBsdWdpbl90eXBlID0gImNzZXJ2ZTIiCisgICAgICAgIGJiLm5vdGUoICJzcGxpdHRpbmcgcGFja2FnZXMgZm9yIGV2YXMgJXMuLi4iICUgcGx1Z2luX3R5cGUgKQorICAgICAgICBiYXNlZGlyID0gZC5leHBhbmQoICcke2xpYmRpcn0vZXZhcy8lcy9sb2FkZXJzJyAlIHBsdWdpbl90eXBlKQorCisgICAgICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhc2VkaXIsICdeKC4qKScsCisgICAgICAgIG91dHB1dF9wYXR0ZXJuID0gJ2V2YXMtJyArIHBsdWdpbl90eXBlICsgIi0lcyIsCisgICAgICAgIGRlc2NyaXB0aW9uID0gJ0V2YXMgY3NldmVyMiBsb2FkZXIgbW9kdWxlICVzJywKKyAgICAgICAgYWxsb3dfZGlycz1UcnVlLCByZWN1cnNpdmU9RmFsc2UsIGV4dHJhX2RlcGVuZHM9IiIgKQorfQorCitQQUNLQUdFUyArPSAiZXZhcy1sb2FkZXItcG5nIGV2YXMtZW5naW5lLXNvZnR3YXJlLWdlbmVyaWMgZXZhcy1lbmdpbmUtZmIiCitQQUNLQUdFU19EWU5BTUlDICs9ICJeZXZhcy1lbmdpbmUtLiogXmV2YXMtbG9hZGVyLS4qIF5ldmFzLXNhdmVyLS4qIF5ldmFzLWNzZXJ2ZTItLioiCisKKyMgUEFDS0FHRVNfRFlOQU1JQyArIGRvX3NwbGl0X3BhY2thZ2VzIGlzbid0IHVzZWQgZm9yIGFsbCBsaWJlIGxpYnMsCisjIGJlY2F1c2UgUEFDS0FHRVNfRFlOQU1JQyB3b3VsZCBiZSBjYXRjaGluZyB0b28gbWFueSBwYXR0ZXJucworIyAob3IgbmVlZCB0byBsaXN0IGFsbCBwb3NzaWJsZSBwcmVmaXhlcykgYW5kIG5vdCBhbGwgb3JpZ2luYWwgcGFja2FnZXMKKyMgd2VyZSBzcGxpdHRlZCBsaWtlIHRoYXQsIHNvIGl0IHdvdWxkIG5lZWQgUkNPTkZMSUNUUy9SUFJPVklERVMvUlJFUExBQ0VTCisjIGNvbWJvcyBhdCBsZWFzdCBpbiBmZXcgcGxhY2VzIGZvciB1cGdyYWRlIHBhdGguCisKK0ZJTEVTX2VmcmVldC10cmFzaCA9ICIgXAorICAgICR7bGliZGlyfS9saWJlZnJlZXRfdHJhc2gke1NPTElCU30gXAorIgorRklMRVNfZWZyZWV0LW1pbWUgPSAiIFwKKyAgICAke2xpYmRpcn0vbGliZWZyZWV0X21pbWUke1NPTElCU30gXAorIgorRklMRVNfbGliZWV0ID0gIiBcCisgICAgJHtsaWJkaXJ9L2xpYmVldCR7U09MSUJTfSBcCisiCitGSUxFU19saWJlZnJlZXQgPSAiIFwKKyAgICAke2xpYmRpcn0vbGliZWZyZWV0JHtTT0xJQlN9IFwKKyIKK0ZJTEVTX2Vjb3JlLWF1ZGlvID0gIlwKKyAgICAke2xpYmRpcn0vbGliZWNvcmVfYXVkaW8ke1NPTElCU30gXAorIgorRklMRVNfZWNvcmUtaW5wdXQtZXZhcyA9ICJcCisgICAgJHtsaWJkaXJ9L2xpYmVjb3JlX2lucHV0X2V2YXMke1NPTElCU30gXAorIgorRklMRVNfZWNvcmUtaW5wdXQgPSAiXAorICAgICR7bGliZGlyfS9saWJlY29yZV9pbnB1dCR7U09MSUJTfSBcCisiCitGSUxFU19lY29yZS1pbWYtZXZhcyA9ICJcCisgICAgJHtsaWJkaXJ9L2xpYmVjb3JlX2ltZl9ldmFzJHtTT0xJQlN9IFwKKyAgICAke2xpYmRpcn0vZWNvcmUtaW1mL21vZHVsZXMvKi8qL21vZHVsZS5zbyBcCisiCitGSUxFU19lY29yZS1pbWYgPSAiXAorICAgICR7bGliZGlyfS9saWJlY29yZV9pbWYke1NPTElCU30gXAorIgorCitGSUxFU19lY29yZS1maWxlID0gIlwKKyAgICAke2xpYmRpcn0vbGliZWNvcmVfZmlsZSR7U09MSUJTfSBcCisiCitGSUxFU19lY29yZS1jb24gPSAiXAorICAgICR7bGliZGlyfS9saWJlY29yZV9jb24ke1NPTElCU30gXAorIgorRklMRVNfZWNvcmUtaXBjID0gIlwKKyAgICAke2xpYmRpcn0vbGliZWNvcmVfaXBjJHtTT0xJQlN9IFwKKyIKK0ZJTEVTX2Vjb3JlLXggPSAiXAorICAgICR7bGliZGlyfS9saWJlY29yZV94JHtTT0xJQlN9IFwKKyAgICAke2xpYmRpcn0vZWNvcmVfeC9iaW4vdi0qL2Vjb3JlX3hfdnN5bmMgXAorIgorRklMRVNfZWNvcmUtZXZhcyA9ICJcCisgICAgJHtsaWJkaXJ9L2xpYmVjb3JlX2V2YXMke1NPTElCU30gXAorICAgICR7bGliZGlyfS9lY29yZS1ldmFzL2VuZ2luZXMvKi8qL21vZHVsZS5zbyBcCisiCitGSUxFU19laW8gPSAiXAorICAgICR7bGliZGlyfS9saWJlaW8ke1NPTElCU30gXAorIgorRklMRVNfZWluYSA9ICJcCisgICAgJHtsaWJkaXJ9L2xpYmVpbmEke1NPTElCU30gXAorICAgICR7YmluZGlyfS9laW5hLWJlbmNoLWNtcCBcCisiCitGSUxFU19lZGplLXV0aWxzID0gIlwKKyAgICAke2JpbmRpcn0vZWRqZV8qIFwKKyAgICAke2RhdGFkaXJ9L2VkamUvaW5jbHVkZS9lZGplLmluYyBcCisiCitGSUxFU19lbGRidXMgPSAiXAorICAgICR7bGliZGlyfS9saWJlbGRidXMke1NPTElCU30gXAorIgorRklMRVNfZW8gPSAiXAorICAgICR7bGliZGlyfS9saWJlbyR7U09MSUJTfSBcCisiCitGSUxFU19saWJlbW90aW9uID0gIlwKKyAgICAke2xpYmRpcn0vbGliZW1vdGlvbiR7U09MSUJTfSBcCisiCitGSUxFU19lZnJlZXQgPSAiIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcy8qRWZyZWV0KiBcCisgICAgJHtsaWJkaXJ9L2VmcmVldC8qL2VmcmVldCpjcmVhdGUgXAorICAgICR7YmluZGlyfS9lZnJlZXRkIFwKKyAgICAke2RhdGFkaXJ9L2VmcmVldCBcCisiCitGSUxFU19lZXQgPSAiIFwKKyAgICAke2JpbmRpcn0vZWV0IFwKKyAgICAke2JpbmRpcn0vZWV0cGFjayBcCisgICAgJHtiaW5kaXJ9L3ZpZWV0IFwKKyAgICAke2JpbmRpcn0vZGlmZmVldCBcCisgICAgJHtsaWJkaXJ9L2xpYmVldCR7U09MSUJTfSBcCisiCitGSUxFU19lbW90aW9uID0gIiBcCisgICAgJHtkYXRhZGlyfS9lbW90aW9uIFwKKyAgICAke2xpYmRpcn0vZW1vdGlvbi9tb2R1bGVzL2dzdHJlYW1lcjEvKi9tb2R1bGUuc28gXAorIgorRklMRVNfZW1icnlvLXRlc3RzID0gIiBcCisgICAgJHtkYXRhZGlyfS9lbWJyeW8vIFwKKyIKK0ZJTEVTX2VtYnJ5by11dGlscyA9ICIgXAorICAgICR7YmluZGRpcn0vZW1icnlvXyogXAorIgorRklMRVNfZW1icnlvID0gIiBcCisgICAgJHtsaWJkaXJ9L2xpYmVtYnJ5byR7U09MSUJTfSBcCisiCitGSUxFU19ldGh1bWIgPSAiIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcy8qRXRodW1iKiBcCisgICAgJHtsaWJkaXJ9L2xpYmV0aHVtYiR7U09MSUJTfSBcCisgICAgJHtsaWJkaXJ9L2xpYmV0aHVtYl9jbGllbnQke1NPTElCU30gXAorICAgICR7YmluZGlyfS9ldGh1bWJkIFwKKyAgICAke2JpbmRpcn0vZXRodW1iZF9jbGllbnQgXAorICAgICR7YmluZGlyfS9ldGh1bWIgXAorICAgICR7bGliZGlyfS9ldGh1bWIvKi8qLyovbW9kdWxlLnNvIFwKKyAgICAke2xpYmRpcn0vZXRodW1iLyovKi8qLyouZWRqIFwKKyAgICAke2xpYmRpcn0vZXRodW1iX2NsaWVudC91dGlscy8qL2V0aHVtYmRfc2xhdmUgXAorICAgICR7ZGF0YWRpcn0vZXRodW1iKiBcCisiCitGSUxFU19lY29yZSA9ICIgXAorICAgICR7bGliZGlyfS9saWJlY29yZSR7U09MSUJTfSBcCisgICAgJHtsaWJkaXJ9L2Vjb3JlKi8qLyovKi9tb2R1bGUuc28gXAorICAgICR7ZGF0YWRpcn0vZWNvcmUqIFwKKyIKK0ZJTEVTX2V2YXMgPSAiIFwKKyAgICAke2xpYmRpcn0vbGliZXZhcyR7U09MSUJTfSBcCisgICAgJHtsaWJkaXJ9L2V2YXMqLyovKi8qLyovbW9kdWxlLnNvIFwKKyAgICAke2xpYmRpcn0vZXZhcyovKi8qLyovKi8qLmVkaiBcCisgICAgJHtsaWJkaXJ9L2V2YXMvY3NlcnZlMi9iaW4vKi9ldmFzX2NzZXJ2ZTIqIFwKKyAgICAke2RhdGFkaXJ9L2V2YXMqIFwKKyAgICAke2JpbmRpcn0vZXZhc19jc2VydmUyXyogXAorIgorCitGSUxFU19lZXplID0gIiBcCisgICAgJHtsaWJkaXJ9L2xpYmVlemUke1NPTElCU30gXAorICAgICR7bGliZGlyfS9lZXplKi8qLyovKi8qL21vZHVsZS5zbyBcCisgICAgJHtkYXRhZGlyfS9lZXplIFwKKyAgICAke2JpbmRpcn0vZWV6ZV8qIFwKKyIKK0ZJTEVTX2VkamUgPSAiIFwKKyAgICAke2xpYmRpcn0vbGliZWRqZSR7U09MSUJTfSBcCisgICAgJHtsaWJkaXJ9L2VkamUqLyovKi8qL21vZHVsZS5zbyBcCisgICAgJHtsaWJkaXJ9L2VkamUvdXRpbHMvKi9lcHAgXAorICAgICR7ZGF0YWRpcn0vZWRqZSBcCisgICAgJHtkYXRhZGlyfS9taW1lIFwKKyIKK0ZJTEVTX2VsdWEgPSAiIFwKKyAgICAke2JpbmRpcn0vZWx1YSBcCisgICAgJHtkYXRhZGlyfS9lbHVhIFwKKyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiIFwKKyAgICAke2xpYmRpcn0vZWZyZWV0LyovLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vZWNvcmUqLyovKi8qLy5kZWJ1ZyBcCisgICAgJHtsaWJkaXJ9L2Vjb3JlKi8qLyovLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vZXZhcyovKi8qLyovKi8uZGVidWcgXAorICAgICR7bGliZGlyfS9ldmFzL2NzZXJ2ZTIvYmluLyovLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vZWV6ZSovKi8qLyovKi8uZGVidWcgXAorICAgICR7bGliZGlyfS9lZGplKi8qLyovKi8uZGVidWcgXAorICAgICR7bGliZGlyfS9lZGplL3V0aWxzLyovLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vZXRodW1iLyovKi8qLy5kZWJ1ZyBcCisgICAgJHtsaWJkaXJ9L2V0aHVtYl9jbGllbnQvdXRpbHMvKi8uZGVidWcgXAorICAgICR7bGliZGlyfS9lbW90aW9uL21vZHVsZXMvZ3N0cmVhbWVyMS8qLy5kZWJ1ZyBcCisiCitGSUxFU18ke1BOfS1kZXYgKz0gIiBcCisgICAgJHtsaWJkaXJ9L2NtYWtlIFwKKyAgICAke2xpYmRpcn0vZWNvcmUqLyovKi8qL21vZHVsZS5sYSBcCisgICAgJHtsaWJkaXJ9L2V2YXMqLyovKi8qLyovbW9kdWxlLmxhIFwKKyAgICAke2xpYmRpcn0vZXRodW1iKi8qLyovKi9tb2R1bGUubGEgXAorICAgICR7bGliZGlyfS9lZXplKi8qLyovKi8qL21vZHVsZS5sYSBcCisgICAgJHtsaWJkaXJ9L2VkamUqLyovKi8qL21vZHVsZS5sYSBcCisgICAgJHtsaWJkaXJ9L2Vtb3Rpb24vbW9kdWxlcy9nc3RyZWFtZXIxLyovbW9kdWxlLmxhIFwKKyAgICAke2RhdGFkaXJ9L2dkYi9hdXRvLWxvYWQgXAorICAgICR7ZGF0YWRpcn0vZW8vZ2RiIFwKKyAgICAke2JpbmRpcn0vZWxkYnVzLWNvZGVnZW4gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLzAwMDEtY29uZmlndXJlLmFjLURvbi10LWNoZWNrLWZvci1YcHJpbnQtZXh0ZW5zaW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLzAwMDEtY29uZmlndXJlLmFjLURvbi10LWNoZWNrLWZvci1YcHJpbnQtZXh0ZW5zaW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhODVmODEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZmwvMDAwMS1jb25maWd1cmUuYWMtRG9uLXQtY2hlY2stZm9yLVhwcmludC1leHRlbnNpb24ucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSAyN2FlZGNkY2RhZmJmMDc5ZGMwMjJiYWI3MmVjMzA5Y2Y3ZGIzMTcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogRnJpLCAxMCBKYW4gMjAxNCAxNzowNzoxMyArMDEwMAorU3ViamVjdDogW1BBVENIIDEvM10gY29uZmlndXJlLmFjOiBEb24ndCBjaGVjayBmb3IgWHByaW50IGV4dGVuc2lvbgorCisqIGl0J3MgbG9uZyBnb25lCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDEgLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGMxMDhiMWIuLmYwMTliZmMgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTM0NzQsNyArMzQ3NCw2IEBAIGlmIHRlc3QgIngke3dhbnRfeDExX3hsaWJ9IiA9ICJ4eWVzIiA7IHRoZW4KKyAgICBFQ09SRV9DSEVDS19YX0VYVEVOU0lPTihbWGRwbXNdLCBbZHBtcy5oXSwgW1hleHRdLCBbRFBNU1F1ZXJ5RXh0ZW5zaW9uXSkKKyAgICBFQ09SRV9DSEVDS19YX0VYVEVOU0lPTihbWGZpeGVzXSwgW1hmaXhlcy5oXSwgW1hmaXhlc10sIFtYRml4ZXNFeHBhbmRSZWdpb25dKQorICAgIEVDT1JFX0NIRUNLX1hfRVhURU5TSU9OKFtYaW5lcmFtYV0sIFtYaW5lcmFtYS5oXSwgW1hpbmVyYW1hXSwgW1hpbmVyYW1hUXVlcnlTY3JlZW5zXSkKKy0gICBFQ09SRV9DSEVDS19YX0VYVEVOU0lPTihbWHByaW50XSwgW1ByaW50LmhdLCBbWHBdLCBbWHBRdWVyeVNjcmVlbnNdKQorICAgIEVDT1JFX0NIRUNLX1hfRVhURU5TSU9OKFtYcmFuZHJdLCBbWHJhbmRyLmhdLCBbWHJhbmRyXSwgW1hSUkdldFNjcmVlblJlc291cmNlc0N1cnJlbnRdKQorICAgIEVDT1JFX0NIRUNLX1hfRVhURU5TSU9OKFtYcmVuZGVyXSwgW1hyZW5kZXIuaF0sIFtYcmVuZGVyXSwgW1hSZW5kZXJGaW5kVmlzdWFsRm9ybWF0XSkKKyAgICBFQ09SRV9DSEVDS19YX0VYVEVOU0lPTihbWHRlc3RdLCBbWFRlc3QuaF0sIFtYdHN0XSwgW1hUZXN0RmFrZUtleUV2ZW50XSkKKy0tIAorMi4zLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLzAwMDEtZXZhc18zZC1BZGQtRWV0LmgtaW5jbHVkZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZmwvMDAwMS1ldmFzXzNkLUFkZC1FZXQuaC1pbmNsdWRlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMGYyNmM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLzAwMDEtZXZhc18zZC1BZGQtRWV0LmgtaW5jbHVkZXMucGF0Y2gKQEAgLTAsMCArMSw1MSBAQAorRnJvbSAyZTUwZmQyZGZjNjhiNzdlN2FjZGRjNzk1NTBmMjI5ODc3NzhhODk3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyIERlYyAyMDE0IDEyOjIxOjEwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGV2YXNfM2Q6IEFkZCBFZXQuaCBpbmNsdWRlcworCisqIHdpdGggc29tZSB2ZXJ5IHJlc3RyaWN0aXZlIG9wdGlvbnMgbGlrZSB3ZSB1c2UgaW4gZWZsLW5hdGl2ZSwgdGhlIGJ1aWxkIGlzIGNvbXBsYWluaW5nCisgIGFib3V0IG1pc3Npbmcgc3ltYm9scyBmcm9tIEVldC5oLCBhZGQgaW5jbHVkZSB3aGVyZSBuZWVkZWQKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgc3JjL2xpYi9ldmFzL2NhbnZhcy9ldmFzX2NhbnZhczNkX2VldC5jICAgICAgICAgICAgICAgICAgfCAxICsKKyBzcmMvbW9kdWxlcy9ldmFzL21vZGVsX2xvYWRlcnMvZWV0L2V2YXNfbW9kZWxfbG9hZF9lZXQuYyB8IDEgKworIHNyYy9tb2R1bGVzL2V2YXMvbW9kZWxfc2F2ZXJzL2VldC9ldmFzX21vZGVsX3NhdmVfZWV0LmMgIHwgMSArCisgMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9saWIvZXZhcy9jYW52YXMvZXZhc19jYW52YXMzZF9lZXQuYyBiL3NyYy9saWIvZXZhcy9jYW52YXMvZXZhc19jYW52YXMzZF9lZXQuYworaW5kZXggMjgxZjY5ZC4uYTYwNDA3NiAxMDA2NDQKKy0tLSBhL3NyYy9saWIvZXZhcy9jYW52YXMvZXZhc19jYW52YXMzZF9lZXQuYworKysrIGIvc3JjL2xpYi9ldmFzL2NhbnZhcy9ldmFzX2NhbnZhczNkX2VldC5jCitAQCAtMSwzICsxLDQgQEAKKysjaW5jbHVkZSA8RWV0Lmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgImV2YXNfY29tbW9uX3ByaXZhdGUuaCIKKyAjaW5jbHVkZSAiZXZhc19wcml2YXRlLmgiCitkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9sb2FkZXJzL2VldC9ldmFzX21vZGVsX2xvYWRfZWV0LmMgYi9zcmMvbW9kdWxlcy9ldmFzL21vZGVsX2xvYWRlcnMvZWV0L2V2YXNfbW9kZWxfbG9hZF9lZXQuYworaW5kZXggODAzODQ2ZC4uN2ViYWY4ZSAxMDA2NDQKKy0tLSBhL3NyYy9tb2R1bGVzL2V2YXMvbW9kZWxfbG9hZGVycy9lZXQvZXZhc19tb2RlbF9sb2FkX2VldC5jCisrKysgYi9zcmMvbW9kdWxlcy9ldmFzL21vZGVsX2xvYWRlcnMvZWV0L2V2YXNfbW9kZWxfbG9hZF9lZXQuYworQEAgLTMsNiArMyw3IEBACisgI2VuZGlmCisgCisgI2luY2x1ZGUgPEVvLmg+CisrI2luY2x1ZGUgPEVldC5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlICJldmFzX2NvbW1vbl9wcml2YXRlLmgiCisgI2luY2x1ZGUgImV2YXNfcHJpdmF0ZS5oIgorZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2V2YXMvbW9kZWxfc2F2ZXJzL2VldC9ldmFzX21vZGVsX3NhdmVfZWV0LmMgYi9zcmMvbW9kdWxlcy9ldmFzL21vZGVsX3NhdmVycy9lZXQvZXZhc19tb2RlbF9zYXZlX2VldC5jCitpbmRleCA3MWUwOTRhLi40ZDU2OTc3IDEwMDY0NAorLS0tIGEvc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9zYXZlcnMvZWV0L2V2YXNfbW9kZWxfc2F2ZV9lZXQuYworKysrIGIvc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9zYXZlcnMvZWV0L2V2YXNfbW9kZWxfc2F2ZV9lZXQuYworQEAgLTIsNiArMiw3IEBACisgICAgI2luY2x1ZGUgImNvbmZpZy5oIgorICNlbmRpZgorIAorKyNpbmNsdWRlIDxFZXQuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSAiZXZhc19jb21tb25fcHJpdmF0ZS5oIgorICNpbmNsdWRlICJldmFzX3ByaXZhdGUuaCIKKy0tIAorMi41LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLzAwMDItZXZhc18zZC1BZGQtRWV0LmgtaW5jbHVkZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZmwvMDAwMi1ldmFzXzNkLUFkZC1FZXQuaC1pbmNsdWRlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTdmZDRiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWZsLzAwMDItZXZhc18zZC1BZGQtRWV0LmgtaW5jbHVkZXMucGF0Y2gKQEAgLTAsMCArMSw1MSBAQAorRnJvbSBiM2NiZTMxYzM4YTA4OGFmN2IwZGFkZTgyNTQ1NDc1ZmM5YjcyNDkyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyIERlYyAyMDE0IDEyOjIxOjEwICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMi8zXSBldmFzXzNkOiBBZGQgRWV0LmggaW5jbHVkZXMKKworKiB3aXRoIHNvbWUgdmVyeSByZXN0cmljdGl2ZSBvcHRpb25zIGxpa2Ugd2UgdXNlIGluIGVmbC1uYXRpdmUsIHRoZSBidWlsZCBpcyBjb21wbGFpbmluZworICBhYm91dCBtaXNzaW5nIHN5bWJvbHMgZnJvbSBFZXQuaCwgYWRkIGluY2x1ZGUgd2hlcmUgbmVlZGVkCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9saWIvZXZhcy9jYW52YXMvZXZhc18zZF9lZXQuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgMSArCisgc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9sb2FkZXJzL2VldC9ldmFzX21vZGVsX2xvYWRfZWV0LmMgfCAxICsKKyBzcmMvbW9kdWxlcy9ldmFzL21vZGVsX3NhdmVycy9lZXQvZXZhc19tb2RlbF9zYXZlX2VldC5jICB8IDEgKworIDMgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvbGliL2V2YXMvY2FudmFzL2V2YXNfM2RfZWV0LmMgYi9zcmMvbGliL2V2YXMvY2FudmFzL2V2YXNfM2RfZWV0LmMKK2luZGV4IDE1MTVmNWEuLmE0MzgyMTcgMTAwNjQ0CistLS0gYS9zcmMvbGliL2V2YXMvY2FudmFzL2V2YXNfM2RfZWV0LmMKKysrKyBiL3NyYy9saWIvZXZhcy9jYW52YXMvZXZhc18zZF9lZXQuYworQEAgLTEsMyArMSw0IEBACisrI2luY2x1ZGUgPEVldC5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlICJldmFzX2NvbW1vbl9wcml2YXRlLmgiCisgI2luY2x1ZGUgImV2YXNfcHJpdmF0ZS5oIgorZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2V2YXMvbW9kZWxfbG9hZGVycy9lZXQvZXZhc19tb2RlbF9sb2FkX2VldC5jIGIvc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9sb2FkZXJzL2VldC9ldmFzX21vZGVsX2xvYWRfZWV0LmMKK2luZGV4IDgxNWI5ZjEuLmJmZjJjZWEgMTAwNjQ0CistLS0gYS9zcmMvbW9kdWxlcy9ldmFzL21vZGVsX2xvYWRlcnMvZWV0L2V2YXNfbW9kZWxfbG9hZF9lZXQuYworKysrIGIvc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9sb2FkZXJzL2VldC9ldmFzX21vZGVsX2xvYWRfZWV0LmMKK0BAIC0zLDYgKzMsNyBAQAorICNlbmRpZgorIAorICNpbmNsdWRlIDxFby5oPgorKyNpbmNsdWRlIDxFZXQuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSAiZXZhc19jb21tb25fcHJpdmF0ZS5oIgorICNpbmNsdWRlICJldmFzX3ByaXZhdGUuaCIKK2RpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9ldmFzL21vZGVsX3NhdmVycy9lZXQvZXZhc19tb2RlbF9zYXZlX2VldC5jIGIvc3JjL21vZHVsZXMvZXZhcy9tb2RlbF9zYXZlcnMvZWV0L2V2YXNfbW9kZWxfc2F2ZV9lZXQuYworaW5kZXggZTQ0NWRjYS4uMmUxY2Y0ZSAxMDA2NDQKKy0tLSBhL3NyYy9tb2R1bGVzL2V2YXMvbW9kZWxfc2F2ZXJzL2VldC9ldmFzX21vZGVsX3NhdmVfZWV0LmMKKysrKyBiL3NyYy9tb2R1bGVzL2V2YXMvbW9kZWxfc2F2ZXJzL2VldC9ldmFzX21vZGVsX3NhdmVfZWV0LmMKK0BAIC0yLDYgKzIsNyBAQAorICAgICNpbmNsdWRlICJjb25maWcuaCIKKyAjZW5kaWYKKyAKKysjaW5jbHVkZSA8RWV0Lmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgImV2YXNfY29tbW9uX3ByaXZhdGUuaCIKKyAjaW5jbHVkZSAiZXZhc19wcml2YXRlLmgiCistLSAKKzIuMy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VmbF8xLjE1LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZmxfMS4xNS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmMTg1MzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lZmxfMS4xNS4xLmJiCkBAIC0wLDAgKzEsMjkgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitTUkNfVVJJID0gIlwKKyAgICAke0VfUkVMRUFTRVN9L2xpYnMvJHtTUkNOQU1FfS8ke1NSQ05BTUV9LSR7U1JDVkVSfS50YXIuZ3ogXAorICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy1Eb24tdC1jaGVjay1mb3ItWHByaW50LWV4dGVuc2lvbi5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtZXZhc18zZC1BZGQtRWV0LmgtaW5jbHVkZXMucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGM5MWJjYWI3MzI3NWY2NzhlMTc0OGEyZGVhOGQ4OGEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmE2ZDBhYjI4MDIwYjQ3NDFiZTIwYjMyYWQwZmZlYjhmOTdmNzY2YzVjMzIxNzViYWNjMmYyZDBkYzUyZjk4YyIKKworIyBUZW1wb3JhcnkgZGlzYWJsZSB1bnRpbCBlcnJvciBsaWtlIHRoZSBvbmUgZm9sbG93aW5nIGFyZSBmaXhlZAorIyBlZmwtbmF0aXZlLzJfMS44LjQtcjAvZWZsLTEuOC40L3NyYy9saWIvZWV0Ly5saWJzL2xpYmVldC5zbzogZmlsZSBub3QgcmVjb2duaXplZDogRmlsZSB0cnVuY2F0ZWQKKyMgY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCisjIHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiBlcnJvcjogcmVsaW5rIGBtb2R1bGVzL2V2YXMvc2F2ZXJzL3RpZmYvbW9kdWxlLmxhJyB3aXRoIHRoZSBhYm92ZSBjb21tYW5kIGJlZm9yZSBpbnN0YWxsaW5nIGl0CisjIE1ha2VmaWxlOjExMDMxOiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbC1zYXZlcnRpZmZwa2dMVExJQlJBUklFUycgZmFpbGVkCitQQVJBTExFTF9NQUtFX2NsYXNzLW5hdGl2ZSA9ICIiCisKKyNFRkxfUlVOX0lOX1RSRUU9MSAuLi9zcmMvYmluL2VvbGlhbi9lb2xpYW5fZ2VuIC0tZW8gLS1sZWdhY3kgLUkvT0UvYnVpbGQvc2hyLWNvcmUvdG1wLWVnbGliYy93b3JrL3g4Nl82NC1saW51eC9lZmwtbmF0aXZlLzJfMS4xMC4wLXIwL2VmbC0xLjEwLjAvc3JjL2xpYi9lbyAtSS9PRS9idWlsZC9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsveDg2XzY0LWxpbnV4L2VmbC1uYXRpdmUvMl8xLjEwLjAtcjAvZWZsLTEuMTAuMC9zcmMvbGliL2V2YXMvY2FudmFzIC1JL09FL2J1aWxkL3Noci1jb3JlL3RtcC1lZ2xpYmMvd29yay94ODZfNjQtbGludXgvZWZsLW5hdGl2ZS8yXzEuMTAuMC1yMC9lZmwtMS4xMC4wL3NyYy9saWIvZWRqZSAtSS9PRS9idWlsZC9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsveDg2XzY0LWxpbnV4L2VmbC1uYXRpdmUvMl8xLjEwLjAtcjAvZWZsLTEuMTAuMC9zcmMvbGliL2Vjb3JlX2F1ZGlvIC0tZ2MgLW8gbGliL2V2YXMvY2FudmFzL2V2YXNfbGluZS5lby5jIC9PRS9idWlsZC9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsveDg2XzY0LWxpbnV4L2VmbC1uYXRpdmUvMl8xLjEwLjAtcjAvZWZsLTEuMTAuMC9zcmMvbGliL2V2YXMvY2FudmFzL2V2YXNfbGluZS5lbworI0VSUjwzMjQzOT46ZW9saWFuX2dlbiAvT0UvYnVpbGQvc2hyLWNvcmUvdG1wLWVnbGliYy93b3JrL3g4Nl82NC1saW51eC9lZmwtbmF0aXZlLzJfMS4xMC4wLXIwL2VmbC0xLjEwLjAvc3JjL2Jpbi9lb2xpYW4vbWFpbi5jOjEwMyBfZ2VuZXJhdGVfY19maWxlKCkgQ291bGRudCBvcGVuIGZpbGUgbGliL2V2YXMvY2FudmFzL2V2YXNfbGluZS5lby5jIGZvciB3cml0aW5nCisjTWFrZWZpbGU6MzA3Mzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWIvZXZhcy9jYW52YXMvZXZhc19saW5lLmVvLmMnIGZhaWxlZAorI21ha2VbMl06ICoqKiBbbGliL2V2YXMvY2FudmFzL2V2YXNfbGluZS5lby5jXSBFcnJvciAxCisjTWFrZWZpbGU6MjE2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbC1yZWN1cnNpdmUnIGZhaWxlZAorIyBhdXRvdG9vbHMtYnJva2Vuc2VwCitCID0gIiR7U30iCisKKyNsZDogZXJyb3I6IG1vZHVsZXMvZXZhcy9pbWFnZV9sb2FkZXJzL3BuZy9iaW5fZXZhc19ldmFzX2NzZXJ2ZTJfc2xhdmUtZXZhc19pbWFnZV9sb2FkX3BuZy5vOiByZXF1aXJlcyB1bnN1cHBvcnRlZCBkeW5hbWljIHJlbG9jIFJfQVJNX01PVldfQUJTX05DOyByZWNvbXBpbGUgd2l0aCAtZlBJQworI2xkOiBlcnJvcjogbW9kdWxlcy9ldmFzL2ltYWdlX2xvYWRlcnMvcG5nL2Jpbl9ldmFzX2V2YXNfY3NlcnZlMl9zbGF2ZS1ldmFzX2ltYWdlX2xvYWRfcG5nLm86IHJlcXVpcmVzIHVuc3VwcG9ydGVkIGR5bmFtaWMgcmVsb2MgUl9BUk1fTU9WV19BQlNfTkM7IHJlY29tcGlsZSB3aXRoIC1mUElDCitDRkxBR1MgKz0gIi1mUElDIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS10aGVtZS1lZmVubmlodC9MSUNFTlNFIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS10aGVtZS1lZmVubmlodC9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxYmIyZjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbGVtZW50YXJ5LXRoZW1lLWVmZW5uaWh0L0xJQ0VOU0UKQEAgLTAsMCArMSwyNSBAQAorQ29weXJpZ2h0IG5vdGljZSBmb3IgRW5saWdodGVubWVudDoKKworQ29weXJpZ2h0IChDKSAyMDAwLTIwMTAgQ2Fyc3RlbiBIYWl0emxlciBhbmQgdmFyaW91cyBjb250cmlidXRvcnMgKHNlZSBBVVRIT1JTKQorCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisgICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgCisgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgCitJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5ECitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCitDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsCitPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORworTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLAorRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VsZW1lbnRhcnktdGhlbWUtZWZlbm5paHRfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS10aGVtZS1lZmVubmlodF9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk0ZTc0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VsZW1lbnRhcnktdGhlbWUtZWZlbm5paHRfc3ZuLmJiCkBAIC0wLDAgKzEsMzggQEAKK0RFU0NSSVBUSU9OID0gImVmZW5uaWh0IGVsZW1lbnRhcnkgdGhlbWUgLSBFZmVubmlodCB3YXMgZGV2aXNlZCB0byBiZSBjbGVhbiBcCithbmQgbmV1dHJhbC4gSXRzIG5hbWUgKHdoaWNoIG1lYW5zIGVxdWlub3gpIGNvbWVzIGZyb20gdGhlIGNocm9tYXRpYyBkdWFsaXR5IFwKK3RoYXQgd2FzIGRlY2lkZWQgYXQgdGhlIHZlcnkgYmVnaW5uaW5nLCB3aXRoIGEgZGFyayB0aGVtZSAoYmxhY2sgYW5kIG9yYW5nZSkgXAorYW5kIGEgYnJpZ2h0IG9uZSAod2hpdGUgYW5kIGJsdWUpIHRvIGJlIGRldmVsb3BlZCBzbyB0aGF0IG1vcmUgcGVvcGxlIGZlZWwgXAorY29tZm9ydGFibGUgdXNpbmcgaXQuIEVmZW5uaWh0IHVzZXMgZmV3IGFuaW1hdGlvbnMsIGRpc2NyZXRlIGNvbnRyYXN0cyBiZXR3ZWVuIFwKK3NoYWRlcyBvZiBncmF5IGFuZCBmaW5lIGxpbmVzIChjb2xvcmVkKSB0aGF0IG91dGxpbmUgdGhlIHNlbGVjdGVkIGVsZW1lbnRzLiIKK1NFQ1RJT04gPSAiZS91dGlscyIKK0hPTUVQQUdFID0gImh0dHA6Ly90cmFjLmVubGlnaHRlbm1lbnQub3JnL2Uvd2lraS9UaGVtZXMjRWZlbm5paHQiCitERVBFTkRTID0gImVkamUtbmF0aXZlIgorUlNVR0dFU1RTXyR7UE59ID0gImUtd20tdGhlbWUtaWxsdW1lLWVmZW5uaWh0IgorTElDRU5TRSA9ICJNSVQgJiBCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0xJQ0VOU0U7bWQ1PWY1MjNhYjU5ODZjYzc5YjUyYTkwZDJhYzNkNTQ1NGEyIgorCitTUkNSRVZfVEhNX1JFViA/PSAiJHtFRkxfU1JDUkVWfSIKK1NSQ1JFVl9FTE1fUkVWID89ICIke0VGTF9TUkNSRVZ9IgorCitTUkNSRVZfRk9STUFUID0gIlRITV9SRVYiCitQViA9ICIwLjArc3ZuciR7U1JDUFZ9IgorUFIgPSAicjEiCisKK2luaGVyaXQgZS1iYXNlIGFsbGFyY2gKKworU1JDTkFNRSA9ICJlZmVubmlodCIKK1NSQ19VUkkgPSAiJHtFX1NWTn0vdHJ1bmsvVEhFTUVTO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHA7bmFtZT1USE1fUkVWIgorU1JDX1VSSSArPSAiJHtFX1NWTn0vdHJ1bmsvZWxlbWVudGFyeS9kYXRhO21vZHVsZT10aGVtZXM7cHJvdG9jb2w9aHR0cDtuYW1lPUVMTV9SRVYiCitTUkNfVVJJICs9ICJmaWxlOi8vTElDRU5TRSIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitkb19jb21waWxlKCkgeworICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lZGplX2NjIC1pZCAke1N9L2ltYWdlcyAtaWQgJHtXT1JLRElSfS90aGVtZXMvaW1hZ2VzICR7U30vZWxtLWVmZW5uaWh0LmVkYyAtbyAke1N9L2VsbS1lZmVubmlodC5lZGoKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2VsZW1lbnRhcnkvdGhlbWVzLworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2VsbS1lZmVubmlodC5lZGogJHtEfSR7ZGF0YWRpcn0vZWxlbWVudGFyeS90aGVtZXMvCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7ZGF0YWRpcn0vZWxlbWVudGFyeS90aGVtZXMvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbGVtZW50YXJ5LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGE5MmRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS5pbmMKQEAgLTAsMCArMSw4OSBAQAorREVTQ1JJUFRJT04gPSAiRUZMIGJhc2VkIHdpZGdldCBzZXQgZm9yIG1vYmlsZSBkZXZpY2VzIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWExNzMwNTRhOTM4OTZlOTMzZGY1M2UzMzgyZDQ3MmMyIgorREVQRU5EUyA9ICJlZXQtbmF0aXZlIGVkamUtbmF0aXZlIGVsZW1lbnRhcnktbmF0aXZlIGVmcmVldCBldmFzIGVjb3JlIGVkamUgZWV0IGVsZGJ1cyBldGh1bWIgcG9wcGxlciBlaW8iCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJlZmwtbmF0aXZlIgorCitpbmhlcml0IGVmbCBnZXR0ZXh0CisKK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIlwKKyAgICAtLXdpdGgtZWRqZS1jYz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZWRqZV9jYyBcCisgICAgLS13aXRoLWVldC1lZXQ9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VldCBcCisgICAgLS13aXRoLWVsZW1lbnRhcnktY29kZWdlbj0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZWxlbWVudGFyeV9jb2RlZ2VuIFwKKyAgICAtLXdpdGgtZWxtLXByZWZzLWNjPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lbG1fcHJlZnNfY2MgXAorICAgIC0td2l0aC1lb2xpYW4tZ2VuPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9lb2xpYW5fZ2VuIFwKKyAgICAtLXdpdGgtZW9saWFuLWN4eD0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZW9saWFuX2N4eCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitQQUNLQUdFQ09ORklHW2V3ZWF0aGVyXSA9ICItLWVuYWJsZS1ld2VhdGhlciwtLWRpc2FibGUtZXdlYXRoZXIsbGliZXdlYXRoZXIiCitQQUNLQUdFQ09ORklHW2V3ZWJraXRdID0gIi0td2l0aC1lbGVtZW50YXJ5LXdlYi1iYWNrZW5kPWV3ZWJraXQsLS13aXRoLWVsZW1lbnRhcnktd2ViLWJhY2tlbmQ9bm9uZSx3ZWJraXQtZWZsIgorIyBiZSBhd2FyZSB3aGVuIGVuYWJsaW5nIHRoaXMgZm9yIGVmbC1uYXRpdmUsIHdlIGRvbid0IHByb3ZpZGUgZ2NjLW5hdGl2ZSBzbyB5b3UgbmVlZCB0byBtYWtlCisjIHN1cmUgdGhhdCBhbGwgeW91ciBidWlsZGVycyBoYXZlIGcrKyB3aGljaCBzdXBwb3J0cyAtc3RkPWdudSsrMTEKK1BBQ0tBR0VDT05GSUdbYysrMTFdID0gIi0tZW5hYmxlLWN4eC1iaW5kaW5ncywtLWRpc2FibGUtY3h4LWJpbmRpbmdzIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIHByZWZpeCByZXR1cm5lZCBlb2xpYW4gcGF0aHMgd2l0aCBTVEFHSU5HX0RJUl9IT1NUCisgICAgc2VkIC1pICdzJV5cKERFUFNfRU9MSUFOX0ZMQUdTPWAuKlwpYCQlXDEgfCBzZWQgInMjLUlcXCR7cHJlZml4fSMtSVxcJHtTVEFHSU5HX0RJUl9IT1NUfVxcJHtwcmVmaXh9I2ciYCVnJyAke1N9L2NvbmZpZ3VyZS5hYworfQorCitkb19jb21waWxlX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgc2VkIC1pIC1lIHM6JHtTVEFHSU5HX0RJUl9UQVJHRVR9OjpnIFwKKyAgICAgICAgICAgLWUgczovJHtUQVJHRVRfU1lTfTo6ZyBcCisgICAgICAgICAgICAgIGVsZW1lbnRhcnkucGMKK30KKworUEFDS0FHRVMgKz0gIiR7UE59LWNvbmZpZ3MgJHtQTn0tYWNjZXNzaWJpbGl0eSIKKworUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgICR7UE59LXRoZW1lcyBcCisgICAgJHtQTn0tY29uZmlncyBcCisiCitSU1VHR0VTVFNfJHtQTn0gPSAiJHtQTn0tdGVzdHMgJHtQTn0tYWNjZXNzaWJpbGl0eSIKKworRklMRVNfJHtQTn0gKz0gIlwKKyAgICAke2xpYmRpcn0vZWRqZS9tb2R1bGVzL2VsbSBcCisgICAgJHtsaWJkaXJ9L2VsZW1lbnRhcnkvbW9kdWxlcy9kYXRldGltZV9pbnB1dF9jdHhwb3B1cC8qL21vZHVsZS5zbyBcCisgICAgJHtsaWJkaXJ9L2VsZW1lbnRhcnkvbW9kdWxlcy9wcmVmcy8qL21vZHVsZS5zbyBcCisgICAgJHtsaWJkaXJ9L2VsZW1lbnRhcnkvbW9kdWxlcy9wcmVmcy8qLyouZWRqIFwKKyIKKworRklMRVNfJHtQTn0tZGV2ICs9ICJcCisgICAgJHtiaW5kaXJ9L2VsbV9wcmVmc19jYyBcCisgICAgJHtsaWJkaXJ9L2VsZW1lbnRhcnkvbW9kdWxlcy8qLyovbW9kdWxlLmxhIFwKKyAgICAke2xpYmRpcn0vY21ha2UgXAorIgorCitGSUxFU18ke1BOfS10aGVtZXMgPSAiXAorICAgICR7ZGF0YWRpcn0vZWxlbWVudGFyeS90aGVtZXMgXAorIgorCitGSUxFU18ke1BOfS1jb25maWdzID0gIlwKKyAgICAke2RhdGFkaXJ9L2VsZW1lbnRhcnkvY29uZmlnIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICJcCisgICAgJHtsaWJkaXJ9L2VsZW1lbnRhcnkvbW9kdWxlcy8qLyovLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vZWRqZS9tb2R1bGVzL2VsbS8qLy5kZWJ1ZyBcCisiCisKK0ZJTEVTXyR7UE59LXRlc3RzID0gIlwKKyAgICAke2JpbmRpcn0vZWxlbWVudGFyeSogXAorICAgICR7ZGF0YWRpcn0vZWxlbWVudGFyeS9pbWFnZXMgXAorICAgICR7ZGF0YWRpcn0vZWxlbWVudGFyeS9vYmplY3RzIFwKKyAgICAke2RhdGFkaXJ9L2VsZW1lbnRhcnkvZXhhbXBsZXMgXAorICAgICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zLyogXAorICAgICR7ZGF0YWRpcn0vaWNvbnMvKiBcCisgICAgJHtsaWJkaXJ9L2VsZW1lbnRhcnkvbW9kdWxlcy90ZXN0X2VudHJ5LyogXAorICAgICR7bGliZGlyfS9lbGVtZW50YXJ5L21vZHVsZXMvdGVzdF9tYXAvKiBcCisiCisKK0ZJTEVTXyR7UE59LWFjY2Vzc2liaWxpdHkgPSAiXAorICAgICR7bGliZGlyfS9lbGVtZW50YXJ5L21vZHVsZXMvYWNjZXNzX291dHB1dC8qIFwKKyIKKworIyBTb21lIHVwZ3JhZGUgcGF0aCB0d2Vha2luZywgYXMgaW4gZXZhcworQVVUT19MSUJOQU1FX1BLR1MgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS8wMDAxLU1ha2VmaWxlLVVzZS1lbGVtZW50YXJ5X2NvZGVnZW4tZGVmaW5lZC1pbi1jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbGVtZW50YXJ5LzAwMDEtTWFrZWZpbGUtVXNlLWVsZW1lbnRhcnlfY29kZWdlbi1kZWZpbmVkLWluLWNvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTI0YzcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZWxlbWVudGFyeS8wMDAxLU1ha2VmaWxlLVVzZS1lbGVtZW50YXJ5X2NvZGVnZW4tZGVmaW5lZC1pbi1jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSA3NWQxMDRkMTA1YWEwM2RkOWQ0NDZmYTdkODRmYTk1ZTBmNTY2Y2Y5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogU2F0LCAxMSBKYW4gMjAxNCAxMjo1NTo1OSArMDEwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZTogVXNlIGVsZW1lbnRhcnlfY29kZWdlbiBkZWZpbmVkIGluIGNvbmZpZ3VyZQorCisqIHVzaW5nIGJpbmFyaWVzIGZyb20gdG9wX2J1aWxkaXIgZG9lc24ndCB3b3JrIHdoZW4gY3Jvc3MtY29tcGlsaW5nIGVsZW1lbnRhcnkKKyAgd2hlcmUgd2UgbmVlZCB0byBwYXNzIG5hdGl2ZSBiaW5hcmllcyBpbiBjb25maWd1cmUgcGFyYW1zCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9leGFtcGxlcy9NYWtlZmlsZS5hbSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9leGFtcGxlcy9NYWtlZmlsZS5hbSBiL3NyYy9leGFtcGxlcy9NYWtlZmlsZS5hbQoraW5kZXggZmMzNWM3NS4uMWUxMGIwYiAxMDA2NDQKKy0tLSBhL3NyYy9leGFtcGxlcy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2V4YW1wbGVzL01ha2VmaWxlLmFtCitAQCAtMjksNyArMjksNyBAQCBMREFERCA9IFwKKyBARUxFTUVOVEFSWV9YX0xJQlNAIFwKKyAkKHRvcF9idWlsZGRpcikvc3JjL2xpYi9saWJlbGVtZW50YXJ5LmxhCisgCistRUxFTUVOVEFSWV9DT0RFR0VOID0gJCh0b3BfYnVpbGRkaXIpL3NyYy9iaW4vQEVMRU1FTlRBUllfQ09ERUdFTl9QUkdACisrRUxFTUVOVEFSWV9DT0RFR0VOID0gQGVsZW1lbnRhcnlfY29kZWdlbkAKKyBFTEVNRU5UQVJZX0NPREVHRU5fRkxBR1MgPSAtLXByZWZpeD1jb2RlZ2VuX2V4YW1wbGUKKyAKKyBTUkNTID0gXAorLS0gCisxLjkuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbGVtZW50YXJ5XzEuMTUuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VsZW1lbnRhcnlfMS4xNS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1M2ViNDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbGVtZW50YXJ5XzEuMTUuMS5iYgpAQCAtMCwwICsxLDE2IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSSA9ICJcCisgICAgJHtFX1JFTEVBU0VTfS9saWJzLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0udGFyLmd6IFwKKyIKKworIyBvbmx5IGZvciB0YXJnZXQsIGJlY2F1c2UgY29uZmlndXJlIGRvZXNuJ3QgZGVmYXVsdCB0byBzYW5lIGRlZmF1bHQgd2hlbgorIyB0aGVzZSBwYXRocyBhcmVuJ3QgcGFzc2VkIGluIC1uYXRpdmUgYnVpbGQKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZmlsZTovLzAwMDEtTWFrZWZpbGUtVXNlLWVsZW1lbnRhcnlfY29kZWdlbi1kZWZpbmVkLWluLWNvbmZpZ3VyZS5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImJkZTRkODVmYTEwZWU4YTdjMGFlYjc0ZTY5ZDdjZDA2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFlNTU0MGMyMTAzZmNkYzY5ZmQ3NDY5Mjc3Y2UyNWE4YTAwYTBmNzAxZmMyYzIwNzcxZGMwMTA4NDAxZTUzYTAiCisKKyMgYXV0b3Rvb2xzLWJyb2tlbnNlcCAtIGNvbmZpZ3VyZSB1cGRhdGVzIEVsZW1lbnRhcnkuaCBjb3JyZWN0bHkgaW4gJHtCfSwgYnV0IHRoZW4gYnVpbGQgaXMgdXNpbmcgRWxlbWVudGFyeS5oIGZyb20gJHtTfQorIyB3aGljaCBpbmNsdWRlcyAjZGVmaW5lIEVMTV9FTUFQIChpbnN0ZWFkIG9mICN1bmRlZiBFTE1fRU1BUCkgYW5kIGJ1aWxkaW5nIGZhaWxzCitCID0gIiR7U30iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbW90aW9uLWdlbmVyaWMtcGxheWVycy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbW90aW9uLWdlbmVyaWMtcGxheWVycy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGFiODlhZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2Vtb3Rpb24tZ2VuZXJpYy1wbGF5ZXJzLmluYwpAQCAtMCwwICsxLDE0IEBACitERVNDUklQVElPTiA9ICJFbW90aW9uIGdlbmVyaWMgcGxheWVycyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hMGYxMWVlZGY4NzA2YmY2ZDRkNjYzOWZiNjdlYjhhZSIKKworREVQRU5EUyA9ICJlbW90aW9uIgorCitpbmhlcml0IGVmbAorCitTUkNOQU1FID0gImVtb3Rpb25fZ2VuZXJpY19wbGF5ZXJzIgorCisjIGNyZWF0ZXMgZW1wdHkgcGFja2FnZXMgdW50aWwgeW91IGdldCB2bGMtMiBhbmQgZW5hYmxlIGl0IGhlcmUKK1BBQ0tBR0VDT05GSUcgPz0gIiIKKyMgbmVlZHMgZWluYSBhbmQgZWNvcmUgZnJvbSBlZmwgYW5kIHZsYy0yIChjdXJyZW50bHkgd2UgaGF2ZSAxLjExKQorUEFDS0FHRUNPTkZJR1t2bGNdID0gIi0td2l0aC12bGMsLS13aXRob3V0LXZsYyx2bGMgZWZsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZW1vdGlvbi1nZW5lcmljLXBsYXllcnNfMS4xNS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZW1vdGlvbi1nZW5lcmljLXBsYXllcnNfMS4xNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhMTg0YmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbW90aW9uLWdlbmVyaWMtcGxheWVyc18xLjE1LjAuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSSA9ICJcCisgICAgJHtFX1JFTEVBU0VTfS9saWJzLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0udGFyLmd6IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjY4NjI3YzFhYWJmNWI3ZmUwODQyOTlhZGNjMGI3M2MxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwYmFkNjMzNDgwYTY5MTU4NWIwYmE0NzBjNTczYjE0ZGEwYTAxMDAwOGQ5ZDU5ZDA3OTJjZWE4YzYyMWQ0MjMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbmdyYXZlX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VuZ3JhdmVfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNGJlOTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbmdyYXZlX3N2bi5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkVuZ3JhdmUgaXMgYW4gRWRqZSBFZGl0aW5nIExpYnJhcnkiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVkZjJkOTY4YjllYjAyNmJmYTgyY2NjYmQwZTZmOWY1IgorIyBhbHNvIHJlcXVpcmVzIHlhY2MgYW5kIGxleCBvbiBob3N0CitERVBFTkRTID0gImV2YXMgZWNvcmUgZmxleCIKK1BWID0gIjAuMC4wK3N2bnIke1NSQ1BWfSIKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorCitpbmhlcml0IGVmbCBhdXRvdG9vbHMtYnJva2Vuc2VwCitTUkNfVVJJID0gIiR7RV9TVk59L09MRDttb2R1bGU9JHtTUkNOQU1FfTtwcm90b2NvbD1odHRwO3NjbWRhdGE9a2VlcCIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCisjIGVuZ3JhdmUubDo1OjM1OiBmYXRhbCBlcnJvcjogbGliZW5ncmF2ZV9sYS1lbmdyYXZlLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzU2NTk3LworUE5CTEFDS0xJU1RbZW5ncmF2ZV0gPz0gIkJST0tFTjogZmFpbHMgdG8gYnVpbGQgd2l0aCBsYXRlc3Qgb2UtY29yZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VudHJhbmNlLzAwMDEtcGFtLXVzZS1jb21tb24tYXV0aC1pbnN0ZWFkLW9mLXN5c3RlbS1hdXRoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZW50cmFuY2UvMDAwMS1wYW0tdXNlLWNvbW1vbi1hdXRoLWluc3RlYWQtb2Ytc3lzdGVtLWF1dGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTgyZDFlZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VudHJhbmNlLzAwMDEtcGFtLXVzZS1jb21tb24tYXV0aC1pbnN0ZWFkLW9mLXN5c3RlbS1hdXRoLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gMTQzOTZjNTJhMjU1NmIxYWI3NzhhMzEwYTMxOGVjMTljMjgyOTczNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjQgTm92IDIwMTEgMTM6MjU6MzMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gcGFtOiB1c2UgY29tbW9uLWF1dGggaW5zdGVhZCBvZiBzeXN0ZW0tYXV0aAorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBQUk9UTy9lbnRyYW5jZS9kYXRhL2VudHJhbmNlIHwgICAgOCArKysrLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZGF0YS9lbnRyYW5jZSBiL2RhdGEvZW50cmFuY2UKK2luZGV4IDg3MmM4M2QuLjJiOThjM2EgMTAwNjQ0CistLS0gYS9kYXRhL2VudHJhbmNlCisrKysgYi9kYXRhL2VudHJhbmNlCitAQCAtMSw0ICsxLDQgQEAKKy1hdXRoCWluY2x1ZGUJCXN5c3RlbS1hdXRoCistYWNjb3VudAlpbmNsdWRlCQlzeXN0ZW0tYXV0aAorLXBhc3N3b3JkCWluY2x1ZGUJCXN5c3RlbS1hdXRoCistc2Vzc2lvbglpbmNsdWRlCQlzeXN0ZW0tYXV0aAorK2F1dGgJaW5jbHVkZQkJY29tbW9uLWF1dGgKKythY2NvdW50CWluY2x1ZGUJCWNvbW1vbi1hY2NvdW50CisrcGFzc3dvcmQJaW5jbHVkZQkJY29tbW9uLXBhc3N3b3JkCisrc2Vzc2lvbglpbmNsdWRlCQljb21tb24tc2Vzc2lvbgorLS0gCisxLjcuOC42CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VudHJhbmNlL2VudHJhbmNlLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbnRyYW5jZS9lbnRyYW5jZS5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4Mjg2ODYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbnRyYW5jZS9lbnRyYW5jZS5zZXJ2aWNlCkBAIC0wLDAgKzEsOCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1Mb2dpbiBtYW5hZ2VyIGZvciBFbmxpZ2h0ZW5tZW50CisKK1tTZXJ2aWNlXQorRXhlY1N0YXJ0PS91c3Ivc2Jpbi9lbnRyYW5jZQorCitbSW5zdGFsbF0KK0FsaWFzPWRpc3BsYXktbWFuYWdlci5zZXJ2aWNlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbnRyYW5jZV9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lbnRyYW5jZV9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjg4OGRjOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VudHJhbmNlX3N2bi5iYgpAQCAtMCwwICsxLDQzIEBACitTVU1NQVJZID0gIkxvZ2luIG1hbmFnZXIgZm9yIEVubGlnaHRlbm1lbnQiCitERVBFTkRTID0gImVmcmVldCBlaW5hIGVldCBlY29yZSBlbGVtZW50YXJ5IgorTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK1NFQ1RJT04gPSAiZS9hcHBzIgorCitpbmhlcml0IGUgZ2V0dGV4dCBzeXN0ZW1kCitTUkNfVVJJID0gIiR7RV9TVk59L3RydW5rL1BST1RPO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHA7c2NtZGF0YT1rZWVwIFwKKyAgICBmaWxlOi8vMDAwMS1wYW0tdXNlLWNvbW1vbi1hdXRoLWluc3RlYWQtb2Ytc3lzdGVtLWF1dGgucGF0Y2ggXAorICAgIGZpbGU6Ly9lbnRyYW5jZS5zZXJ2aWNlIFwKKyIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitQTkJMQUNLTElTVFtlbnRyYW5jZV0gPz0gImJyb2tlbjogc3dpdGNoIHRvIGh0dHBzOi8vZ2l0LmVubGlnaHRlbm1lbnQub3JnL21pc2MvZW50cmFuY2UuZ2l0IGFuZCBmaXggMC4wLjQrc3ZucjgyMDcwLXI3L2VudHJhbmNlL2RhdGEvdGhlbWVzL29sZC9kZWZhdWx0LmVkYzo2NzguIGludmFsaWQgc3RhdGUgbmFtZTogJ2RlZmFhdWx0Jy4gImRlZmF1bHQiIHN0YXRlIG11c3QgYWx3YXlzIGJlIGZpcnN0LiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbY29uc29sZWtpdF0gPSAiLS1lbmFibGUtY29uc29sZWtpdCwtLWRpc2FibGUtY29uc29sZWtpdCxjb25zb2xla2l0IgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWVkamUtY2M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2VkamVfY2MgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJywgJy0tZGlzYWJsZS1wYW0nLCBkKX0iCisKK1BSID0gInI3IgorUFYgPSAiMC4wLjQrc3ZuciR7U1JDUFZ9IgorU1JDUkVWID0gIiR7RUZMX1NSQ1JFVn0iCisKK1JERVBFTkRTXyR7UE59ICs9ICIke1BOfS10aGVtZXMgc2Vzc3JlZyB4YXV0aCIKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9lbnRyYW5jZS5jb25mIgorCitSQ09ORkxJQ1RTXyR7UE59ICs9ICJ4c2VydmVyLW5vZG0taW5pdCIKK1JSRVBMQUNFU18ke1BOfSArPSAieHNlcnZlci1ub2RtLWluaXQiCisKK1JDT05GTElDVFNfJHtQTn0gKz0gInhzZXJ2ZXItbm9kbS1pbml0LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gInhzZXJ2ZXItbm9kbS1pbml0LXN5c3RlbWQiCisKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJlbnRyYW5jZS5zZXJ2aWNlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZW50cmFuY2Uuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXBkZi8wMDAxLXJlbW92ZS1hbnRpYWxpYXMtZnVuY3Rpb25zLXBvcHBsZXItaGFzLWRyb3BwZWQtdGhlbS0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lcGRmLzAwMDEtcmVtb3ZlLWFudGlhbGlhcy1mdW5jdGlvbnMtcG9wcGxlci1oYXMtZHJvcHBlZC10aGVtLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjhmZmE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXBkZi8wMDAxLXJlbW92ZS1hbnRpYWxpYXMtZnVuY3Rpb25zLXBvcHBsZXItaGFzLWRyb3BwZWQtdGhlbS0ucGF0Y2gKQEAgLTAsMCArMSwxMzIgQEAKK0Zyb20gNjY5MWFjNWZjYmFjMGU3NjZkNDQxMGFlNjQ5YTEzOTU3YWU4NTI4OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjIgT2N0IDIwMTUgMTY6Mjc6NTIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIHJlbW92ZSBhbnRpYWxpYXMgZnVuY3Rpb25zIC0gcG9wcGxlciBoYXMgZHJvcHBlZCB0aGVtIGluCisgdGhlIEFQSQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitUaGUgZnVuY3Rpb25zIHJlbW92ZWQgd2VyZSBub3QgdXNlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHNyYy9saWIvZXBkZl9tYWluLmggICAgICAgICAgICAgICAgICAgfCA0NSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHNyYy9saWIvbXVwZGYvZXBkZl9tdXBkZl9tYWluLmMgICAgICAgfCAxOCAtLS0tLS0tLS0tLS0tLQorIHNyYy9saWIvcG9wcGxlci9lcGRmX3BvcHBsZXJfbWFpbi5jcHAgfCAyMSAtLS0tLS0tLS0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCA4NCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWIvZXBkZl9tYWluLmggYi9zcmMvbGliL2VwZGZfbWFpbi5oCitpbmRleCA1NGE1N2NhLi4wYTc5YmFkIDEwMDY0NAorLS0tIGEvc3JjL2xpYi9lcGRmX21haW4uaAorKysrIGIvc3JjL2xpYi9lcGRmX21haW4uaAorQEAgLTI5LDQ5ICsyOSw0IEBAIEVBUEkgaW50IGVwZGZfc2h1dGRvd24oKTsKKyAgKi8KKyBFQVBJIGNvbnN0IGNoYXIgKmVwZGZfYmFja2VuZF92ZXJzaW9uX2dldCAodm9pZCk7CisgCistLyoqCistICogQGJyaWVmIFJldHVybiB0aGUgc3RhdGUgb2YgZm9udHMgYW50aWFsaWFzaW5nIGluIFBvcHBsZXIKKy0gKgorLSAqIEByZXR1cm4gRUlOQV9UUlVFIGlmIGZvbnRzIGFudGlhbGlhc2luZyBlbmFibGVkLCBFSU5BX0ZBTFNFIG90aGVyd2lzZS4KKy0gKgorLSAqIFJldHVybiBFSU5BX1RSVUUgaWYgdGhlIHN0YXRlIG9mIGZvbnRzIGFudGlhbGlhc2luZyBpcyBlbmFibGVkIGluCistICogUG9wcGxlciwgRUlOQV9GQUxTRSBvdGhlcndpc2UuCistICoKKy0gKiBAaW5ncm91cCBFcGRmX01haW4KKy0gKi8KKy1FQVBJIEVpbmFfQm9vbCBlcGRmX2ZvbnRzX2FudGlhbGlhc19nZXQgKHZvaWQpOworLQorLS8qKgorLSAqIEBicmllZiBTZXRzIGZvbnRzIGFudGlhbGlhc2luZyBtb2RlIGluIFBvcHBsZXIKKy0gKgorLSAqIEBwYXJhbSBvbiBFSU5BX1RSVUUgdG8gZW5hYmxlIGZvbnRzIGFudGlhbGlhc2luZywgRUlOQV9GQUxTRSB0byBkaXNhYmxlCistICoKKy0gKiBTZXQgQHAgb24gdG8gRUlOQV9UUlVFIHRvIGVuYWJsZSBmb250cyBhbnRpYWxpYXNpbmcgaW4gUG9wcGxlciwKKy0gKiBFSU5BX0ZBTFNFIHRvIGRpc2FibGUgaXQuCistICovCistRUFQSSB2b2lkIGVwZGZfZm9udHNfYW50aWFsaWFzX3NldCAoRWluYV9Cb29sIG9uKTsKKy0KKy0vKioKKy0gKiBAYnJpZWYgUmV0dXJuIHRoZSBzdGF0ZSBvZiBsaW5lcyBhbnRpYWxpYXNpbmcgaW4gUG9wcGxlcgorLSAqCistICogQHJldHVybiBFSU5BX1RSVUUgaWYgbGluZXMgYW50aWFsaWFzaW5nIGVuYWJsZWQsIEVJTkFfRkFMU0Ugb3RoZXJ3aXNlLgorLSAqCistICogUmV0dXJuIEVJTkFfVFJVRSBpZiB0aGUgc3RhdGUgb2YgbGluZXMgYW50aWFsaWFzaW5nIGlzIGVuYWJsZWQgaW4KKy0gKiBQb3BwbGVyLCBFSU5BX0ZBTFNFIG90aGVyd2lzZS4KKy0gKgorLSAqIEBpbmdyb3VwIEVwZGZfTWFpbgorLSAqLworLUVBUEkgRWluYV9Cb29sIGVwZGZfbGluZXNfYW50aWFsaWFzX2dldCAodm9pZCk7CistCistLyoqCistICogQGJyaWVmIFNldHMgbGluZXMgYW50aWFsaWFzaW5nIG1vZGUgaW4gUG9wcGxlcgorLSAqCistICogQHBhcmFtIG9uIEVJTkFfVFJVRSB0byBlbmFibGUgbGluZXMgYW50aWFsaWFzaW5nLCBFSU5BX0ZBTFNFIHRvIGRpc2FibGUKKy0gKgorLSAqIFNldCBAcCBvbiB0byBFSU5BX1RSVUUgdG8gZW5hYmxlIGxpbmVzIGFudGlhbGlhc2luZyBpbiBQb3BwbGVyLAorLSAqIEVJTkFfRkFMU0UgdG8gZGlzYWJsZSBpdC4KKy0gKi8KKy1FQVBJIHZvaWQgZXBkZl9saW5lc19hbnRpYWxpYXNfc2V0IChFaW5hX0Jvb2wgb24pOworLQorLQorICNlbmRpZiAvKiBfX0VQREZfTUFJTl9IX18gKi8KK2RpZmYgLS1naXQgYS9zcmMvbGliL211cGRmL2VwZGZfbXVwZGZfbWFpbi5jIGIvc3JjL2xpYi9tdXBkZi9lcGRmX211cGRmX21haW4uYworaW5kZXggMTdiYjgzMC4uMjdjNmRlMiAxMDA2NDQKKy0tLSBhL3NyYy9saWIvbXVwZGYvZXBkZl9tdXBkZl9tYWluLmMKKysrKyBiL3NyYy9saWIvbXVwZGYvZXBkZl9tdXBkZl9tYWluLmMKK0BAIC0zNywyMSArMzcsMyBAQCBlcGRmX2JhY2tlbmRfdmVyc2lvbl9nZXQgKHZvaWQpCisgeworICAgIHJldHVybiAiMC41IjsKKyB9CistCistRWluYV9Cb29sIGVwZGZfZm9udHNfYW50aWFsaWFzX2dldCh2b2lkKQorLXsKKy0gICByZXR1cm4gRUlOQV9UUlVFOworLX0KKy0KKy12b2lkIGVwZGZfZm9udHNfYW50aWFsaWFzX3NldChFaW5hX0Jvb2wgb24pCisteworLX0KKy0KKy1FaW5hX0Jvb2wgZXBkZl9saW5lc19hbnRpYWxpYXNfZ2V0KHZvaWQpCisteworLSAgIHJldHVybiBFSU5BX1RSVUU7CistfQorLQorLXZvaWQgZXBkZl9saW5lc19hbnRpYWxpYXNfc2V0KEVpbmFfQm9vbCBvbikKKy17CistfQorZGlmZiAtLWdpdCBhL3NyYy9saWIvcG9wcGxlci9lcGRmX3BvcHBsZXJfbWFpbi5jcHAgYi9zcmMvbGliL3BvcHBsZXIvZXBkZl9wb3BwbGVyX21haW4uY3BwCitpbmRleCA5ODQxOTg3Li45ZWZkYmU4IDEwMDY0NAorLS0tIGEvc3JjL2xpYi9wb3BwbGVyL2VwZGZfcG9wcGxlcl9tYWluLmNwcAorKysrIGIvc3JjL2xpYi9wb3BwbGVyL2VwZGZfcG9wcGxlcl9tYWluLmNwcAorQEAgLTQ2LDI0ICs0NiwzIEBAIGVwZGZfYmFja2VuZF92ZXJzaW9uX2dldCAodm9pZCkKKyB7CisgICByZXR1cm4gUE9QUExFUl9WRVJTSU9OOworIH0KKy0KKy1FaW5hX0Jvb2wgZXBkZl9mb250c19hbnRpYWxpYXNfZ2V0ICh2b2lkKQorLXsKKy0gIHJldHVybiBnbG9iYWxQYXJhbXMtPmdldEFudGlhbGlhcygpOworLX0KKy0KKy12b2lkIGVwZGZfZm9udHNfYW50aWFsaWFzX3NldCAoRWluYV9Cb29sIG9uKQorLXsKKy0gIC8qIE5pY2UgQVBJICovCistICBnbG9iYWxQYXJhbXMtPnNldEFudGlhbGlhcygoY2hhciopKG9uID8gInllcyIgOiAibm8iKSk7CistfQorLQorLUVpbmFfQm9vbCBlcGRmX2xpbmVzX2FudGlhbGlhc19nZXQgKHZvaWQpCisteworLSAgICByZXR1cm4gZ2xvYmFsUGFyYW1zLT5nZXRWZWN0b3JBbnRpYWxpYXMoKTsKKy19CistCistdm9pZCBlcGRmX2xpbmVzX2FudGlhbGlhc19zZXQgKEVpbmFfQm9vbCBvbikKKy17CistICAgIGdsb2JhbFBhcmFtcy0+c2V0VmVjdG9yQW50aWFsaWFzKChjaGFyKikob24gPyAieWVzIiA6ICJubyIpKTsKKy19CistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VwZGYvMDAwMi1lcGRmX3BvcHBsZXJfcG9zdHNjcmlwdC5jcHAtZml4LWJ1aWxkLWZvci1wb3BwbGVyLUFQLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXBkZi8wMDAyLWVwZGZfcG9wcGxlcl9wb3N0c2NyaXB0LmNwcC1maXgtYnVpbGQtZm9yLXBvcHBsZXItQVAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzlhZGFhNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2VwZGYvMDAwMi1lcGRmX3BvcHBsZXJfcG9zdHNjcmlwdC5jcHAtZml4LWJ1aWxkLWZvci1wb3BwbGVyLUFQLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gYTg0YzE2ZmRjNjA2ZjIyYjk5M2Y4NzBiMWNlYTU2ZGQwNjBhMzVlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjIgT2N0IDIwMTUgMTY6NTU6MzAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIGVwZGZfcG9wcGxlcl9wb3N0c2NyaXB0LmNwcDogZml4IGJ1aWxkIGZvciBwb3BwbGVyIEFQSQorIGNoYW5nZQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitQb3BwbGVyIEFQSSB3YXMgY2hhbmdlZCBpbiBbMV0uIFRoZSBwYXRjaCBub3Qgb25seSBzaG93cyB0aGUgY2hhbmdlIGJ1dCBhbHNvCitpbnNwaXJlcyBob3cgdG8gZml4LgorCitbMV0gaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3BvcHBsZXIvcG9wcGxlci9jb21taXQvP2lkPTljYWY3NTI1NDA5ZDY5OWMxNjg5NjY1MzUyODQ4NjQ1MTEyM2I0ODUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHNyYy9saWIvcG9wcGxlci9lcGRmX3BvcHBsZXJfcG9zdHNjcmlwdC5jcHAgfCA3ICsrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2xpYi9wb3BwbGVyL2VwZGZfcG9wcGxlcl9wb3N0c2NyaXB0LmNwcCBiL3NyYy9saWIvcG9wcGxlci9lcGRmX3BvcHBsZXJfcG9zdHNjcmlwdC5jcHAKK2luZGV4IDBjMjgzNmIuLjY1NjE5M2IgMTAwNjQ0CistLS0gYS9zcmMvbGliL3BvcHBsZXIvZXBkZl9wb3BwbGVyX3Bvc3RzY3JpcHQuY3BwCisrKysgYi9zcmMvbGliL3BvcHBsZXIvZXBkZl9wb3BwbGVyX3Bvc3RzY3JpcHQuY3BwCitAQCAtODIsMTEgKzgyLDE0IEBAIGVwZGZfcG9zdHNjcmlwdF9wcmludCAoY29uc3QgRXBkZl9Qb3N0c2NyaXB0ICpwb3N0c2NyaXB0KQorIAorICAgLy8gRklYTUU6IGZpeCBwb3N0c2NyaXB0IHRpdGxlCisgI2lmZGVmIEhBVkVfUE9QUExFUl8wXzIwCisrICBzdGQ6OnZlY3RvcjxpbnQ+IHBhZ2VzOworKyAgZm9yIChpbnQgaSA9IHBvc3RzY3JpcHQtPmZpcnN0X3BhZ2U7IGkgPD0gcG9zdHNjcmlwdC0+bGFzdF9wYWdlOyArK2kpIHsKKysgICAgcGFnZXMucHVzaF9iYWNrKGkpOworKyAgfQorICAgUFNPdXRwdXREZXYgcHNfZGV2KHBvc3RzY3JpcHQtPmZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICAgIHBvc3RzY3JpcHQtPnBkZmRvYywKKyAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSJQUyB0aXRsZSIsCistICAgICAgICAgICAgICAgICAgICAgcG9zdHNjcmlwdC0+Zmlyc3RfcGFnZSwKKy0gICAgICAgICAgICAgICAgICAgICBwb3N0c2NyaXB0LT5sYXN0X3BhZ2UsCisrICAgICAgICAgICAgICAgICAgICAgcGFnZXMsCisgICAgICAgICAgICAgICAgICAgICAgcHNNb2RlUFMsCisgICAgICAgICAgICAgICAgICAgICAgKGludClwb3N0c2NyaXB0LT53aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAoaW50KXBvc3RzY3JpcHQtPmhlaWdodCwKKy0tIAorMi4xLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXBkZl9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9lcGRmX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzJhNWZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXBkZl9zdm4uYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJFcGRmIGlzIHRoZSBnbHVlIGJldHdlZW4gRUZMIGFuZCBsaWJwb3BwbGVyIgorCitERVBFTkRTID0gInBvcHBsZXIgZXZhcyBlY29yZSIKK1BWID0gIjAuMS4wK3N2bnIke1NSQ1BWfSIKK1NSQ1JFViA9ICIke0VGTF9TUkNSRVZ9IgorCitpbmhlcml0IGVmbAorCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PTZhNmE4ZTAyMDgzOGIyMzQwNmM4MWIxOWMxZDQ2ZGY2IFwKKyIKKworU1JDX1VSSSA9ICIgXAorICAgICR7RV9TVk59L3RydW5rL1BST1RPO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHA7c2NtZGF0YT1rZWVwIFwKKyAgICBmaWxlOi8vMDAwMS1yZW1vdmUtYW50aWFsaWFzLWZ1bmN0aW9ucy1wb3BwbGVyLWhhcy1kcm9wcGVkLXRoZW0tLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1lcGRmX3BvcHBsZXJfcG9zdHNjcmlwdC5jcHAtZml4LWJ1aWxkLWZvci1wb3BwbGVyLUFQLnBhdGNoIFwKKyIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZW5hYmxlLXBvcHBsZXIgXAorICAgIC0tZGlzYWJsZS1tdXBkZiBcCisiCisKKyMgU29tZSB1cGdyYWRlIHBhdGggdHdlYWtpbmcsIGFzIGluIGV2YXMKK0FVVE9fTElCTkFNRV9QS0dTID0gIiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2V2YXMtZ2VuZXJpYy1sb2FkZXJzLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2V2YXMtZ2VuZXJpYy1sb2FkZXJzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2Q5ZWMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXZhcy1nZW5lcmljLWxvYWRlcnMuaW5jCkBAIC0wLDAgKzEsNzEgQEAKK0RFU0NSSVBUSU9OID0gIkV2YXMgZ2VuZXJpYyBsb2FkZXJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWE4NzU2M2VkMzBhZGQyYjBlMzQ2MDI3MmQzMTM4YTAwIgorREVQRU5EUyA9ICJlaW5hIHBvcHBsZXIgbGlicnN2ZyBjYWlybyIKKworaW5oZXJpdCBlZmwKKworU1JDTkFNRSA9ICJldmFzX2dlbmVyaWNfbG9hZGVycyIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1lbmFibGUtcG9wcGxlciBcCisgICAgLS1lbmFibGUtc3ZnIFwKKyAgICAtLWRpc2FibGUtZ3N0cmVhbWVyIFwKKyAgICAtLWRpc2FibGUtbGlicmF3IFwKKyAgICAtLWRpc2FibGUtc3BlY3RyZSBcCisiCisKK1BBQ0tBR0VTUExJVEZVTkNTX3ByZXBlbmQgPSAic3BsaXRfZXZhc19sb2FkZXJfcGFja2FnZXMgIgorCitweXRob24gc3BsaXRfZXZhc19sb2FkZXJfcGFja2FnZXMgKCkgeworICAgIGJiLm5vdGUoICJzcGxpdHRpbmcgcGFja2FnZXMgZm9yIGV2YXMgZ2VuZXJpYyBsb2FkZXJzIiApCisgICAgYmFzZWRpciA9IGQuZXhwYW5kKCAnJHtsaWJkaXJ9L2V2YXMvdXRpbHMnKQorCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmFzZWRpciwgJ2V2YXNfaW1hZ2VfbG9hZGVyXC4oLiopJCcsCisgICAgb3V0cHV0X3BhdHRlcm4gPSAiZXZhcy1nZW5lcmljLWxvYWRlci0lcyIsCisgICAgZGVzY3JpcHRpb24gPSAnRXZhcyBnZW5lcmljIGxvYWRlcnMgLSBtb2R1bGUgJXMnLAorICAgIGFsbG93X2RpcnM9VHJ1ZSwgcmVjdXJzaXZlPUZhbHNlLCBleHRyYV9kZXBlbmRzPSIiICkKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhc2VkaXIsICdldmFzX2dlbmVyaWNfcGRmX2xvYWRlclwuKC4qKSQnLAorICAgIG91dHB1dF9wYXR0ZXJuID0gImV2YXMtZ2VuZXJpYy1wZGYtbG9hZGVyLSVzIiwKKyAgICBkZXNjcmlwdGlvbiA9ICdFdmFzIGdlbmVyaWMgcGRmIGxvYWRlcnMgLSBtb2R1bGUgJXMnLAorICAgIGFsbG93X2RpcnM9VHJ1ZSwgcmVjdXJzaXZlPUZhbHNlLCBleHRyYV9kZXBlbmRzPSIiICkKK30KKworIyBhZGQgc3ltbGlua3MgZm9yIGRpZmZlcmVudCBmb3JtYXQgKGl0IGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlIHRvIHBhY2thZ2UgdGhlbSBpbiBzZXBhcmF0ZSBwYWNrYWdlcykKK0ZJTEVTX2V2YXMtZ2VuZXJpYy1sb2FkZXIteGNmICs9ICIgXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfaW1hZ2VfbG9hZGVyLnhjZi5neiBcCisiCitGSUxFU19ldmFzLWdlbmVyaWMtbG9hZGVyLXN2ZyArPSAiIFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2ltYWdlX2xvYWRlci5zdmcuZ3ogXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfaW1hZ2VfbG9hZGVyLnN2Z3ogXAorIgorRklMRVNfZXZhcy1nZW5lcmljLWxvYWRlci1wZGYgKz0gIiBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19pbWFnZV9sb2FkZXIuZG9jIFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2ltYWdlX2xvYWRlci5kb2N4IFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2ltYWdlX2xvYWRlci5vZHAgXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfaW1hZ2VfbG9hZGVyLm9kcyBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19pbWFnZV9sb2FkZXIub2R0IFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2ltYWdlX2xvYWRlci5wcHQgXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfaW1hZ2VfbG9hZGVyLnBwdHggXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfaW1hZ2VfbG9hZGVyLnJ0ZiBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19pbWFnZV9sb2FkZXIueGxzIFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2ltYWdlX2xvYWRlci54bHN4IFwKKyIKK0ZJTEVTX2V2YXMtZ2VuZXJpYy1wZGYtbG9hZGVyLWxpYnJlb2ZmaWNlICs9ICIgXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfZ2VuZXJpY19wZGZfbG9hZGVyLmRvYyBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19nZW5lcmljX3BkZl9sb2FkZXIuZG9jeCBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19nZW5lcmljX3BkZl9sb2FkZXIub2RwIFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2dlbmVyaWNfcGRmX2xvYWRlci5vZHMgXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfZ2VuZXJpY19wZGZfbG9hZGVyLm9kdCBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19nZW5lcmljX3BkZl9sb2FkZXIucHB0IFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2dlbmVyaWNfcGRmX2xvYWRlci5wcHR4IFwKKyAgICAke2xpYmRpcn0vZXZhcy91dGlscy9ldmFzX2dlbmVyaWNfcGRmX2xvYWRlci5ydGYgXAorICAgICR7bGliZGlyfS9ldmFzL3V0aWxzL2V2YXNfZ2VuZXJpY19wZGZfbG9hZGVyLnhscyBcCisgICAgJHtsaWJkaXJ9L2V2YXMvdXRpbHMvZXZhc19nZW5lcmljX3BkZl9sb2FkZXIueGxzeCBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2V2YXMvdXRpbHMvLmRlYnVnIgorCitQQUNLQUdFUyArPSAiZXZhcy1nZW5lcmljLWxvYWRlci1zdmciCitQQUNLQUdFU19EWU5BTUlDICs9ICJeZXZhcy1nZW5lcmljLWxvYWRlci0uKiBeZXZhcy1nZW5lcmljLXBkZi1sb2FkZXItLioiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9ldmFzLWdlbmVyaWMtbG9hZGVyc18xLjE1LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9ldmFzLWdlbmVyaWMtbG9hZGVyc18xLjE1LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTExY2U4YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2V2YXMtZ2VuZXJpYy1sb2FkZXJzXzEuMTUuMC5iYgpAQCAtMCwwICsxLDggQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitTUkNfVVJJID0gIlwKKyAgICAke0VfUkVMRUFTRVN9L2xpYnMvJHtTUkNOQU1FfS8ke1NSQ05BTUV9LSR7U1JDVkVSfS50YXIuZ3ogXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2NhODQ0M2I4Y2JmMTc3ODQ1NTk1YzVlMDJmYmM0OWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2FhMjJjOWJhMWFlOTYyOWMxNmEzZmU4MDllYTkyN2Y2MGI4ZjBkODBjZGI3ZjE0NTE1OWI5OTdiOWFlMmJjZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2V4cGVkaXRlLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2V4cGVkaXRlLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGU4NTk3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXhwZWRpdGUuaW5jCkBAIC0wLDAgKzEsMjUgQEAKK0RFU0NSSVBUSU9OID0gIkV4cGVkaXRlIGlzIGEgY29tcHJlaGVuc2l2ZSBiZW5jaG1hcmtpbmcgc3VpdGUgZm9yIEV2YXMiCitERVBFTkRTID0gImVldCBldmFzIGxpYnNkbCIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDcwYmM2NWQ0NjIzN2U0ZWYzODZiZWViZTdkMGZlNWIiCisKK0lOQ19QUiA9ICJyMCIKKworaW5oZXJpdCBlCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS14LWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9L1gxMSBcCisgICAgLS14LWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgLS1lbmFibGUtc2ltcGxlLXgxMSBcCitcCisgICAgLS1lbmFibGUtc29mdHdhcmUteDExIFwKKyAgICAtLWVuYWJsZS14cmVuZGVyLXgxMSBcCisgICAgLS1lbmFibGUtc29mdHdhcmUtMTYteDExIFwKKyAgICAtLWVuYWJsZS1vcGVuZ2wteDExIFwKKyAgICAtLWVuYWJsZS1mYiBcCisgICAgLS1kaXNhYmxlLXNvZnR3YXJlLWRkcmF3IFwKKyAgICAtLWRpc2FibGUtZGlyZWN0M2QgXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfSIKK1JERVBFTkRTXyR7UE59ID0gImV4cGVkaXRlLXRoZW1lcyBldmFzLWVuZ2luZS1mYiBldmFzLWVuZ2luZS1zb2Z0d2FyZS1nZW5lcmljIGV2YXMtZW5naW5lLXNvZnR3YXJlLXgxMSBldmFzLWVuZ2luZS1nbC14MTEgZXZhcy1sb2FkZXItcG5nIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXhwZWRpdGVfMS43LjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9leHBlZGl0ZV8xLjcuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZWUyZDYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvZXhwZWRpdGVfMS43LjkuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSSA9ICJcCisgICAgJHtFX01JUlJPUn0vJHtTUkNOQU1FfS0ke1NSQ1ZFUn0udGFyLmd6IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjk1NGZlOGU0MGZlYzZhNTYxMTkwZmYwZmI3NWI2YmRkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEwNWJlMDk2YzkxMWUwZDY2ZDRiZGM0OTdlYmI5MzVhMDRhZDIzNjk2ZGU5MDg0YWVkOTk1OWI1MTcyYTU5M2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9leHBlZGl0ZV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9leHBlZGl0ZV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWI0NGNmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2V4cGVkaXRlX2dpdC5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDUkVWID0gImE1ZTZhZjkxN2FmNTI4NzdiMzc4MDkwODExY2Y4MzZjMTZkMGJmYmIiCitQViA9ICIxLjcuOTkrZ2l0ciR7U1JDUFZ9IgorCitERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCisKK1NSQ19VUkkgPSAiXAorICAgIGdpdDovL2dpdC5lbmxpZ2h0ZW5tZW50Lm9yZy90b29scy8ke0JQTn0uZ2l0IFwKKyIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvaW1saWIyX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2ltbGliMl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU1YjMzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2ltbGliMl9naXQuYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJBIGdyYXBoaWMgbGlicmFyeSBmb3IgZmlsZSBsb2FkaW5nLCBzYXZpbmcsIHJlbmRlcmluZywgYW5kIG1hbmlwdWxhdGlvbiIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzQ0ODk1ZjI1M2MzMmYzOGUxODJkY2FmMzBmZThhMzUiCisKK0RFUEVORFMgPSAiZnJlZXR5cGUgbGlicG5nIGpwZWcgdmlydHVhbC9saWJ4MTEgbGlieGV4dCIKK1BST1ZJREVTID0gInZpcnR1YWwvaW1saWIyIgorUFYgPSAiMS40LjYrZ2l0ciR7U1JDUFZ9IgorU1JDUkVWID0gIjU2MGE1OGU2MTc3OGQ4NDk1Mzk0NGY3NDRhMDI1YWY2Y2U5ODYzMzQiCisKK2luaGVyaXQgZWZsIGJpbmNvbmZpZworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuZW5saWdodGVubWVudC5vcmcvbGVnYWN5LyR7QlBOfS5naXQiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCisjIGF1dG90b29scy1icm9rZW5zZXAKK0IgPSAiJHtTfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbZ2lmXSA9ICItLXdpdGgtZ2lmLC0td2l0aG91dC1naWYsZ2lmbGliIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItLXdpdGgtdGlmZiwtLXdpdGhvdXQtdGlmZix0aWZmIgorUEFDS0FHRUNPTkZJR1tiemlwMl0gPSAiLS13aXRoLWJ6aXAyLC0td2l0aG91dC1iemlwMixiemlwMiIKK1BBQ0tBR0VDT05GSUdbaWQzXSA9ICItLXdpdGgtaWQzLC0td2l0aG91dC1pZDMsbGliaWQzdGFnIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXggXAorICAgICAgICAgICAgICAgIC0teC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgLS14LWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSAiCisKKyMgVE9ETzogVXNlIG1vcmUgZmluZSBncmFudWxhciB2ZXJzaW9uCisjT0VfTFRfUlBBVEhfQUxMT1c9Ijoke2xpYmRpcn0vaW1saWIyL2xvYWRlcnM6JHtsaWJkaXJ9L2ltbGliMi9maWx0ZXJzOiIKK09FX0xUX1JQQVRIX0FMTE9XID0gImFueSIKK09FX0xUX1JQQVRIX0FMTE9XW2V4cG9ydF09IjEiCisKK1BBQ0tBR0VTID0rICJpbWxpYjItbG9hZGVycy1kYmcgaW1saWIyLWZpbHRlcnMtZGJnIGltbGliMi1sb2FkZXJzIGltbGliMi1maWx0ZXJzIgorRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiAke2xpYmRpcn0vaW1saWIyLyovKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyA9ICIke2xpYmRpcn0vLmRlYnVnLyAke2JpbmRpcn0vLmRlYnVnLyAke3ByZWZpeH0vc3JjL2RlYnVnLyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9L2ltbGliMi1jb25maWcgJHtsaWJkaXJ9Lyouc28gJHtpbmNsdWRlZGlyfSIKK0ZJTEVTXyR7UE59LWJpbiA9ICIke2JpbmRpcn0iCitGSUxFU19pbWxpYjItbG9hZGVycyA9ICIke2xpYmRpcn0vaW1saWIyL2xvYWRlcnMvKi5zbyIKK0ZJTEVTX2ltbGliMi1maWx0ZXJzID0gIiR7bGliZGlyfS9pbWxpYjIvZmlsdGVycy8qLnNvIgorRklMRVNfaW1saWIyLWxvYWRlcnMtZGJnICs9ICIke2xpYmRpcn0vaW1saWIyL2xvYWRlcnMvLmRlYnVnIgorRklMRVNfaW1saWIyLWZpbHRlcnMtZGJnICs9ICIke2xpYmRpcn0vaW1saWIyL2ZpbHRlcnMvLmRlYnVnIgorCisjIHBuZy5zbyBqcGVnLnNvIGlkMy5zbyBhcmUgYWxzbyBwcm92aWRlZCBieSBsaWdodG1lZGlhc2Nhbm5lcgorUFJJVkFURV9MSUJTX2ltbGliMi1sb2FkZXJzID0gInBubS5zbyBsYm0uc28gYXJnYi5zbyB0aWZmLnNvIHpsaWIuc28gYm1wLnNvIHRnYS5zbyBnaWYuc28geHBtLnNvIGJ6Mi5zbyIKKworUFJJVkFURV9MSUJTX2ltbGliMi1maWx0ZXJzID0gImJ1bXBtYXAuc28gY29sb3Jtb2Quc28gdGVzdGZpbHRlci5zbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2xpYmVmbHZhbGEvZGlzYWJsZS5laW5hLnRlc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9saWJlZmx2YWxhL2Rpc2FibGUuZWluYS50ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YmUxMzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9saWJlZmx2YWxhL2Rpc2FibGUuZWluYS50ZXN0LnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK0l0IGNhdXNlcyB0ZXN0ZWluYS5jIGJ1aWxkIHRvIGZhaWwgbGlua2luZyB0byBpbnRlcm5hbCBlaW5hXy4qX3tpbml0LHNodXRkb3dufSBzeW1ib2xzCithcyByZXBvcnRlZCBpbjoKK2h0dHA6Ly9saXN0cy5hbGlvdGguZGViaWFuLm9yZy9waXBlcm1haWwvcGtnLWZzby1tYWludC8yMDEwLU1heS8wMDMwNTYuaHRtbAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorCitkaWZmIC11TnIgdmFsYS90ZXN0cy90ZXN0ZWluYS52YWxhIC4uLy4uLy4uL2FybTkyMHR0LW9lLWxpbnV4LWdudWVhYmkvbGliZWZsdmFsYS8xXzIwMTEuMDEuMTMuMStzdm5yODIwNzAtcjIvdmFsYS90ZXN0cy90ZXN0ZWluYS52YWxhCistLS0gdmFsYS90ZXN0cy90ZXN0ZWluYS52YWxhCTIwMTQtMDEtMTMgMTY6MTY6NTMuOTg0OTk5MDM1ICswMTAwCisrKysgLi4vLi4vLi4vYXJtOTIwdHQtb2UtbGludXgtZ251ZWFiaS9saWJlZmx2YWxhLzFfMjAxMS4wMS4xMy4xK3N2bnI4MjA3MC1yMi92YWxhL3Rlc3RzL3Rlc3RlaW5hLnZhbGEJMjAxMC0wMi0yNiAwOTowMjowNi4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xNTMsMjIgKzE1MywyMiBAQAorIAorIHZvaWQgdGVzdF9laW5hX2JlbmNobWFyaygpCisgeworLSAgICBhc3NlcnQoIEVpbmEuTW9kdWxlLmluaXQoKSApOworLSAgICBhc3NlcnQoIEVpbmEuTGlzdC5pbml0KCkgKTsKKy0gICAgYXNzZXJ0KCBFaW5hLkFycmF5LmluaXQoKSApOworLSAgICBhc3NlcnQoIEVpbmEuQmVuY2htYXJrLmluaXQoKSApOworLSAgICBhc3NlcnQoIEVpbmEuTWVtcG9vbC5pbml0KCkgKTsKKysvLyAgYXNzZXJ0KCBFaW5hLk1vZHVsZS5pbml0KCkgKTsKKysvLyAgYXNzZXJ0KCBFaW5hLkxpc3QuaW5pdCgpICk7CisrLy8gIGFzc2VydCggRWluYS5BcnJheS5pbml0KCkgKTsKKysvLyAgYXNzZXJ0KCBFaW5hLkJlbmNobWFyay5pbml0KCkgKTsKKysvLyAgYXNzZXJ0KCBFaW5hLk1lbXBvb2wuaW5pdCgpICk7CisgICAgIHZhciBiID0gbmV3IEVpbmEuQmVuY2htYXJrKCAidGVzdCIsICJ0ZXN0Iik7CisgICAgIGFzc2VydCggYi5yZWdpc3RlciggImJvZ3VzIiwgc3BlY19vbmUsIDAsIDEwMCwgNSApICk7CisgICAgIHVub3duZWQgRWluYS5BcnJheTxzdHJpbmc+IHJlc3VsdCA9IGIucnVuKCk7CisgICAgIGFzc2VydCggcmVzdWx0LmNvdW50X2dldCgpID09IDIgKTsKKyAgICAgcmVzdWx0ID0gbnVsbDsKKyAgICAgYiA9IG51bGw7CistICAgIGFzc2VydCggRWluYS5NZW1wb29sLnNodXRkb3duKCkgKTsKKy0gICAgYXNzZXJ0KCBFaW5hLkJlbmNobWFyay5zaHV0ZG93bigpICk7CistICAgIGFzc2VydCggRWluYS5BcnJheS5zaHV0ZG93bigpICk7CistICAgIGFzc2VydCggRWluYS5MaXN0LnNodXRkb3duKCkgKTsKKy0gICAgYXNzZXJ0KCBFaW5hLk1vZHVsZS5zaHV0ZG93bigpICk7CisrLy8gIGFzc2VydCggRWluYS5NZW1wb29sLnNodXRkb3duKCkgKTsKKysvLyAgYXNzZXJ0KCBFaW5hLkJlbmNobWFyay5zaHV0ZG93bigpICk7CisrLy8gIGFzc2VydCggRWluYS5BcnJheS5zaHV0ZG93bigpICk7CisrLy8gIGFzc2VydCggRWluYS5MaXN0LnNodXRkb3duKCkgKTsKKysvLyAgYXNzZXJ0KCBFaW5hLk1vZHVsZS5zaHV0ZG93bigpICk7CisgfQorIAorIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9saWJlZmx2YWxhX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvZWZsL2xpYmVmbHZhbGFfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5MjJiMWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9saWJlZmx2YWxhX3N2bi5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIlZhbGEgbWVldHMgdGhlIEVubGlnaHRlbm1lbnQgRm91bmRhdGlvbiBMaWJyYXJpZXMiCitBVVRIT1IgPSAiTWljaGFlbCAnTWlja2V5JyBMYXVlciA8bWxhdWVyQHZhbmlsbGUtbWVkaWEuZGU+IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorU0VDVElPTiA9ICJkZXZlbCIKK0RFUEVORFMgPSAidmFsYS1uYXRpdmUgZ2xpYi0yLjAgZGJ1cyBkYnVzLWdsaWIgZWluYSBlZXQgZXZhcyBlY29yZSBlZGplIGVsZW1lbnRhcnkgdGlmZiIKK1BWID0gIjIwMTEuMDEuMTMuMStzdm5yJHtTUkNQVn0iCitQRSA9ICIxIgorUFIgPSAicjIiCitTUkNSRVYgPSAiJHtFRkxfU1JDUkVWfSIKK1NSQ05BTUUgPSAidmFsYSIKKworaW5oZXJpdCBlLWJhc2UgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgdmFsYQorCitTUkNfVVJJID0gIiR7RV9TVk59L3RydW5rL0JJTkRJTkdTO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHAgXAorICAgIGZpbGU6Ly9kaXNhYmxlLmVpbmEudGVzdC5wYXRjaCBcCisiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfSIKKworUEFDS0FHRVMgPSsgIiR7UE59LWV4YW1wbGVzIgorRklMRVNfJHtQTn0tZXhhbXBsZXMgPSAiJHtkYXRhZGlyfS9saWJlZmx2YWxhICR7YmluZGlyfS8qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvbGliZXdlYXRoZXJfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9lZmwvbGliZXdlYXRoZXJfc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmZjg1ODYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL2VmbC9saWJld2VhdGhlcl9zdm4uYmIKQEAgLTAsMCArMSw0NiBAQAorU1VNTUFSWSA9ICJFRkwtYmFzZWQgd2VhdGhlciB3aWRnZXQgbGlicmFyeSIKK0xJQ0VOU0UgPSAiTEdQTC0yLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLVBMQUlOO21kNT1jOTEwYjY0NWVkYTAwMDVjY2VjNDZmNzUyMDNkYzk2ZSIKKworREVQRU5EUyA9ICJlY29yZSBlZGplIgorUFYgPSAiMC4wLjArc3ZuciR7U1JDUFZ9IgorU1JDUkVWID0gIiR7RUZMX1NSQ1JFVn0iCisKK2luaGVyaXQgZWZsCitTUkNfVVJJID0gIiR7RV9TVk59L3RydW5rL1BST1RPO21vZHVsZT0ke1NSQ05BTUV9O3Byb3RvY29sPWh0dHA7c2NtZGF0YT1rZWVwIgorUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0iCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtZWRqZS1jYz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZWRqZV9jYyIKKworUlNVR0dFU1RTXyR7UE59ID0gImVsZW1lbnRhcnktdGVzdHMiCisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIHNlZCAtaSAtZSBzOiR7U1RBR0lOR19ESVJfVEFSR0VUfTo6ZyBcCisgICAgICAgICAgIC1lIHM6LyR7VEFSR0VUX1NZU306OmcgXAorICAgICAgICAgICAgICBld2VhdGhlci5wYworfQorCitQQUNLQUdFUyArPSAiJHtQTn0tcGx1Z2lucyIKKworRklMRVNfJHtQTn0tdGhlbWVzID0gIlwKKyAgICAke2RhdGFkaXJ9IFwKKyIKKworRklMRVNfJHtQTn0tcGx1Z2lucyA9ICJcCisgICAgJHtsaWJkaXJ9L2V3ZWF0aGVyL3BsdWdpbnMvKi5zbyBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiXAorICAgICR7bGliZGlyfS9ld2VhdGhlci9wbHVnaW5zLy5kZWJ1ZyBcCisiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiXAorICAgICR7bGliZGlyfS9ld2VhdGhlci9wbHVnaW5zLyouYSBcCisgICAgJHtsaWJkaXJ9L2V3ZWF0aGVyL3BsdWdpbnMvKi5sYSBcCisiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gIlwKKyAgICAke1BOfS10aGVtZXMgXAorICAgICR7UE59LXBsdWdpbnMgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1lZmwtc2RrLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1lZmwtc2RrLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlYWQ0MTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWVmbC1zZGsuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJFZmwgU29mdHdhcmUgRGV2ZWxvcG1lbnQgS2l0IgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9MSUNFTlNFO21kNT00ZDkyY2QzNzNhYmRhMzkzN2MyYmM0N2ZiYzQ5ZDY5MCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKKworUFIgPSAicjEiCisKK3JlcXVpcmUgcGFja2FnZWdyb3VwLWVmbC1zZGsuaW5jCisKK1BBQ0tBR0VTID0gIiR7UE59IgorCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgcGFja2FnZWdyb3VwLWNvcmUtc2RrIFwKKyAgICAke1NESy1FRkx9IFwKKyAgICAke1NESy1FWFRSQVN9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1lZmwtc2RrLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtZWZsLXNkay5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJiMDQ1NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtZWZsLXNkay5pbmMKQEAgLTAsMCArMSwxMiBAQAorU0RLLUVGTCA9ICIgXAorICAgICBlZmwtZGV2IFwKKyAgICAgZWxlbWVudGFyeS1kZXYgXAorICAgICBlZGJ1cy1kZXYgXAorICAgICBsdWFqaXQtZGV2IFwKKyIKKworU0RLLUVYVFJBUyA/PSAiIgorU0RLLUVYVFJBU19xZW11eDg2ID89ICIgdmFsZ3JpbmQgbHR0bmctdXN0LWRldiIKK1NESy1FWFRSQVNfcWVtdXg4Ni02NCA/PSAiIGx0dG5nLXVzdC1kZXYiCitTREstRVhUUkFTX3FlbXVwcGMgPz0gIiBsdHRuZy11c3QtZGV2IgorU0RLLUVYVFJBU19xZW11YXJtID89ICIgbHR0bmctdXN0LWRldiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtZWZsLXN0YW5kYWxvbmUtc2RrLXRhcmdldC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtZWZsLXN0YW5kYWxvbmUtc2RrLXRhcmdldC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTNmMzNkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1lZmwtc3RhbmRhbG9uZS1zZGstdGFyZ2V0LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiRWZsIFNvZnR3YXJlIERldmVsb3BtZW50IEtpdCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCisKK1BSID0gInIxIgorCityZXF1aXJlIHBhY2thZ2Vncm91cC1lZmwtc2RrLmluYworCitQQUNLQUdFUyA9ICIke1BOfSAke1BOfS1kYmciCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICBwYWNrYWdlZ3JvdXAtY29yZS1zdGFuZGFsb25lLXNkay10YXJnZXQgXAorICAgICR7U0RLLUVGTH0gXAorICAgICR7U0RLLUVYVFJBU30iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXgxMS1pbGx1bWUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXgxMS1pbGx1bWUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk5NzgyOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteDExLWlsbHVtZS5iYgpAQCAtMCwwICsxLDI0IEBACitERVNDUklQVElPTiA9ICJUaGUgSWxsdW1lIFdpbmRvd2luZyBFbnZpcm9ubWVudCAtLSBpbnN0YWxsIHRoaXMgdGFzayB0byBnZXQgdGhlIEVubGlnaHRlbm1lbnQgV2luZG93IE1hbmFnZXIgKyB0aGUgSWxsdW1lIGVudmlyb25tZW50LiIKK1NFQ1RJT04gPSAieDExL3dtIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1RPUERJUn0vbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIgorUFYgPSAiMS4wIgorUFIgPSAicjUiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwIGFsbGFyY2gKKworIyBEZWZhdWx0IHRoZW1lIGFuZCBjb25maWcKK0VUSEVNRSA/PSAiZS13bS10aGVtZS1kZWZhdWx0IgorRUNPTkZJRyA/PSAiZS13bS1jb25maWctbW9iaWxlIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJcCisgICAgJHtFVEhFTUV9IFwKKyIKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIHBhY2thZ2Vncm91cC1jb3JlLXgxMS14c2VydmVyIFwKKyAgICBwYWNrYWdlZ3JvdXAtY29yZS14MTEtdXRpbHMgXAorICAgIFwKKyAgICBlLXdtIFwKKyAgICAke0VDT05GSUd9IFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzZlZjk3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwuaW5jCkBAIC0wLDAgKzEsNjkgQEAKK0RFU0NSSVBUSU9OID0gIldlYmtpdCBicm93c2VyIGVuZ2luZSwgRUZMIGVkaXRpb24iCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ09QWUlORy5MSUI7bWQ1PWQwYzZkNjM5N2E1ZDg0Mjg2ZGRhNzU4ZGE1N2JkNjkxIFwKKyAgICBmaWxlOi8vU291cmNlL1dlYkNvcmUvTElDRU5TRS1BUFBMRTttZDU9NDY0NmY5MDA4MmM0MGJjZjI5OGMyODVmOGJhYjBiMTIgXAorICAgIGZpbGU6Ly9Tb3VyY2UvV2ViQ29yZS9MSUNFTlNFLUxHUEwtMi4xO21kNT1hNzc4YTMzZWYzMzhhYmJhZjhiOGE3YzM2YjZlZWM4MCBcCisgICAgZmlsZTovL1NvdXJjZS9XZWJDb3JlL0xJQ0VOU0UtTEdQTC0yO21kNT0zNjM1N2ZmZGUyYjY0YWUxNzdiMjQ5NDQ0NWI3OWQyMSBcCisiCisKKyMgeW91IG5lZWQgaGFyZmJ1enogd2l0aCBpY3UgZW5hYmxlZCwgeW91IGNhbiBhZGQgdGhpcyB0byB5b3VyIGNvbmZpZzoKKyMgUEFDS0FHRUNPTkZJR19hcHBlbmRfcG4taGFyZmJ1enogPSAiIGljdSIKK0RFUEVORFMgPSAiaWN1IGxpYnhzbHQgc3FsaXRlMyBncGVyZi1uYXRpdmUgYmlzb24tbmF0aXZlIGZsZXgtbmF0aXZlIGpwZWcgXAorICAgICAgICAgICBsaWJwbmcgbGlieHQgZm9udGNvbmZpZyBjYWlybyBmcmVldHlwZSBnbGliLTIuMCBsaWJzb3VwLTIuNCBcCisgICAgICAgICAgIGxpYnhtbDIgcGFuZ28gZWluYSBlY29yZSBldmFzIGVkamUgZWxkYnVzIGhhcmZidXp6IGVuY2hhbnQgXAorICAgICAgICAgICBydWJ5LW5hdGl2ZSBlbGVtZW50YXJ5IgorCitQRSA9ICIxIgorCitTUkNWRVIgPz0gIiR7UFZ9IgorU1JDX1VSSSA9ICJcCisgICAgJHtFX1JFTEVBU0VTfS9saWJzL3dlYmtpdC1lZmwvZXdlYmtpdC0ke1NSQ1ZFUn0udGFyLnh6IFwKKyIKK1MgPSAiJHtXT1JLRElSfS9ld2Via2l0IgorCitpbmhlcml0IGNtYWtlIGxpYl9wYWNrYWdlIHBrZ2NvbmZpZyBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZQorCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworRVhUUkFfT0VDTUFLRSA9ICIgXAorICAgIC1EUE9SVD1FZmwgXAorICAgIC1EU0hBUkVEX0NPUkU9T24gXAorICAgIC1ERU5BQkxFX0RSQUdfU1VQUE9SVD1PbiBcCisgICAgLURFTkFCTEVfV0VCX0FVRElPPU9mZiBcCisgICAgLURFTkFCTEVfVklERU89T2ZmIFwKKyAgICAtREVOQUJMRV9WSURFT19UUkFDSz1PZmYgXAorICAgIC1ERU5BQkxFX0FDQ0VTU0lCSUxJVFk9T2ZmIFwKKyAgICAtREVOQUJMRV9CQVRURVJZX1NUQVRVUz1PZmYgXAorIgorIyBnZW5lcmF0ZWQgQVNNIGNvZGUgaXNuJ3QgY29tcGF0aWJsZSB3aXRoIGFybXZbNDVdCisjIGl0IHdhcyByZW1vdmVkIGZyb20gbWFjcm8gYXNzZW1ibGVyIGluIHVwc3RyZWFtIGNvbW1pdCAxMjE4ODUKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMTk4CitFWFRSQV9PRUNNQUtFX2FwcGVuZF9hcm12NCA9ICIgLURFTkFCTEVfTExJTlQ9T2ZmIC1ERU5BQkxFX0pJVD1PZmYgLURFTkFCTEVfREZHX0pJVD1PZmYgLURFTkFCTEVfRlRMX0pJVD1PZmYiCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9hcm12NSA9ICIgLURFTkFCTEVfTExJTlQ9T2ZmIC1ERU5BQkxFX0pJVD1PZmYgLURFTkFCTEVfREZHX0pJVD1PZmYgLURFTkFCTEVfRlRMX0pJVD1PZmYiCisKKyMgaGFjayBpdCBpbiBPcHRpb25zRWZsLmNtYWtlIGJlY2F1c2UgdGhhdCBvdmVycnVsZXMgLURFTkFCTEVfTExJTlQ9T2ZmCitkb19jb25maWd1cmVfcHJlcGVuZF9hcm12NCgpIHsKKyAgICBzZWQgLWkgJ3MvV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xMSU5UIE9OKS9XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTExJTlQgT0ZGKS9nJyAke1N9L1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCit9Citkb19jb25maWd1cmVfcHJlcGVuZF9hcm12NSgpIHsKKyAgICBzZWQgLWkgJ3MvV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xMSU5UIE9OKS9XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTExJTlQgT0ZGKS9nJyAke1N9L1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCit9CisKKyMgYW5kIGRpc2FibGVkIExMSU5UIGN1cnJlbnRseSBpc24ndCBzdXBwb3J0ZWQsIHNvIHJlc3RyaWN0IHRvIGFybXY3YSBhbmQgeDg2KgorQ09NUEFUSUJMRV9NQUNISU5FID0gIigtKSIKK0NPTVBBVElCTEVfTUFDSElORV94ODYgPSAiKC4qKSIKK0NPTVBBVElCTEVfTUFDSElORV94ODYtNjQgPSAiKC4qKSIKK0NPTVBBVElCTEVfTUFDSElORV9hcm12N2EgPSAiKC4qKSIKKworTEVBRF9TT05BTUUgPSAibGliZXdlYmtpdC5zbyIKK1BBQ0tBR0VTID0rICIke1BOfWxhdW5jaGVyLWRiZyAke1BOfWxhdW5jaGVyICR7UE59LWluc3BlY3RvciIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZXdlYmtpdDItMS90aGVtZXMvZGVmYXVsdC5lZGoiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9jbWFrZSIKK0ZJTEVTXyR7UE59bGF1bmNoZXIgPSAiJHtiaW5kaXJ9L0VXZWJMYXVuY2hlciIKK0ZJTEVTXyR7UE59bGF1bmNoZXItZGJnID0gIiR7YmluZGlyfS8uZGVidWcvRVdlYkxhdW5jaGVyIgorRklMRVNfJHtQTn0taW5zcGVjdG9yICs9ICIke2RhdGFkaXJ9L2V3ZWJraXQyLTEvaW5zcGVjdG9yIgorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy80MDY1OS8KK1BOQkxBQ0tMSVNUW3dlYmtpdC1lZmxdID89ICJPbGQgYW5kIHVubWFpbnRhbmVkIGZvcmsgd2l0aCBtYW55IHNlY3VyaXR5IGlzc3VlcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwMS1PcHRpb25zQ29tbW9uLmNtYWtlLWRvbi10LW1peC1DWFhfRkxBR1MtaW50by1DX0ZMQUdTLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbC8wMDAxLU9wdGlvbnNDb21tb24uY21ha2UtZG9uLXQtbWl4LUNYWF9GTEFHUy1pbnRvLUNfRkxBR1MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTliN2JiOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwMS1PcHRpb25zQ29tbW9uLmNtYWtlLWRvbi10LW1peC1DWFhfRkxBR1MtaW50by1DX0ZMQUdTLnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKK0Zyb20gZTZjYWFmNmU4MGI5YzgwZGMyYjg2MGI0NzFhOGYwNWU4MjVmNmRmYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTQgQXVnIDIwMTQgMDE6MDA6MjEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzNdIE9wdGlvbnNDb21tb24uY21ha2U6IGRvbid0IG1peCBDWFhfRkxBR1MgaW50byBDX0ZMQUdTCisKKyogaXQgd2FzIGFkZGVkIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzAyNjEKKyogY2F1c2VzIGJ1aWxkIGZhaWx1cmVzIGluIHVkaXM4NiB3aGljaCBleHBsaWNpdGx5IGFza3MgZm9yIGdjYyBidXQgdGhlbgorICBnZXRzIGcrKyBmbGFncyBmcm9tIENNQUtFX0NYWF9GTEFHUy4KKworY2MxOiBlcnJvcjogY29tbWFuZCBsaW5lIG9wdGlvbiAnLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuJyBpcyB2YWxpZAorZm9yIEMrKy9PYmpDKysgYnV0IG5vdCBmb3IgQyBbLVdlcnJvcl0KK2NjMTogZXJyb3I6IGNvbW1hbmQgbGluZSBvcHRpb24gJy1mcGVybWlzc2l2ZScgaXMgdmFsaWQgZm9yIEMrKy9PYmpDKysKK2J1dCBub3QgZm9yIEMgWy1XZXJyb3JdCitjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycworU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlRmlsZXMvSmF2YVNjcmlwdENvcmUuZGlyL2J1aWxkLm1ha2U6MTExODI6CityZWNpcGUgZm9yIHRhcmdldAorJ1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUZpbGVzL0phdmFTY3JpcHRDb3JlLmRpci9kaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Ni5jLm8nCitmYWlsZWQKK21ha2VbMl06ICoqKgorW1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUZpbGVzL0phdmFTY3JpcHRDb3JlLmRpci9kaXNhc3NlbWJsZXIvdWRpczg2L3VkaXM4Ni5jLm9dCitFcnJvciAxCittYWtlWzJdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgorbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkKKycvT0UvYnVpbGQvb2UtY29yZS90bXAtZWdsaWJjL3dvcmsvY29yZTItNjQtb2UtbGludXgvd2Via2l0LWVmbC8xXzEuMTAuMCsxLjExLjAtYmV0YTEtcjAvYnVpbGQnCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIFNvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZQoraW5kZXggZTMwNGE5OS4uMDQ1YzYxNCAxMDA2NDQKKy0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCisrKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZQorQEAgLTI1LDcgKzI1LDcgQEAgZW5kaWYgKCkKKyBzZXRfcHJvcGVydHkoR0xPQkFMIFBST1BFUlRZIFVTRV9GT0xERVJTIE9OKQorIAorIGlmIChDTUFLRV9DT01QSUxFUl9JU19HTlVDWFggT1IgIiR7Q01BS0VfQ1hYX0NPTVBJTEVSX0lEfSIgU1RSRVFVQUwgIkNsYW5nIikKKy0gICAgc2V0KENNQUtFX0NfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmciKQorKyAgICBzZXQoQ01BS0VfQ19GTEFHUyAiJHtDTUFLRV9DX0ZMQUdTfSAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmciKQorICAgICBzZXQoQ01BS0VfQ1hYX0ZMQUdTICIke0NNQUtFX0NYWF9GTEFHU30gLXN0ZD1jKysxMSAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIikKKyBlbmRpZiAoKQorIAorLS0gCisyLjEuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3dlYmtpdC93ZWJraXQtZWZsLzAwMDItV2ViS2l0SGVscGVycy5jbWFrZS1BZGQtV25vLWVycm9yLWRlcHJlY2F0ZWQtZGVjbGFyYS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwMi1XZWJLaXRIZWxwZXJzLmNtYWtlLUFkZC1Xbm8tZXJyb3ItZGVwcmVjYXRlZC1kZWNsYXJhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyN2E5ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3dlYmtpdC93ZWJraXQtZWZsLzAwMDItV2ViS2l0SGVscGVycy5jbWFrZS1BZGQtV25vLWVycm9yLWRlcHJlY2F0ZWQtZGVjbGFyYS5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGRlOTM5NTFmODllODUxYjY2ODk3MTgwMjJlZWJiNGI4YjFkMTRjMDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDEzIEphbiAyMDE0IDE3OjIxOjI1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMi8zXSBXZWJLaXRIZWxwZXJzLmNtYWtlOiBBZGQKKyAtV25vLWVycm9yPWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIC1Xbm8tZXJyb3I9Y2FzdC1hbGlnbgorIC1Xbm8tZXJyb3I9dHlwZS1saW1pdHMKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UgfCAxMCArKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UKK2luZGV4IDIyN2I5ZWUuLmFlNTJlZjYgMTAwNjQ0CistLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQorKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UKK0BAIC00MCw2ICs0MCwyNSBAQCBtYWNybyhXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTIF90YXJnZXQpCisgICAgICAgICAgICAgIyBGSVhNRTogV2hlbiB3ZSB1c2UgLWZuby10cmVlLWRjZSB0byBzdXBwb3J0IHRoZSBqc0NTdGFjayBicmFuY2ggbWVyZ2UsIGJ1aWxkIGVycm9yIG9jY3VycyBkdWUgdG8gdGhlIHVuaW5pdGlhbGl6YXRpb24uIFRlbXBvcmFyaWx5IHdlIHNldAorICAgICAgICAgICAgICMgdW5pbml0aWFsaXplZCBhcyBidWlsZCB3YXJuaW5nIGluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGpzQ1N0YWNrIG1lcmdlLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3Nzc3LgorICAgICAgICAgICAgIHNldChPTERfQ09NUElMRV9GTEFHUyAiLVdlcnJvciAtV25vLWVycm9yPXVudXNlZC1wYXJhbWV0ZXIgLVduby1lcnJvcj11bmluaXRpYWxpemVkIC1Xbm8tZXJyb3I9bGl0ZXJhbC1zdWZmaXggJHtPTERfQ09NUElMRV9GTEFHU30iKQorKyAgICAgICAgICAgICMgbGlic291cC0yLjQvbGlic291cC9zb3VwLXByb3h5LXVyaS1yZXNvbHZlci5oOjEzOjg0OiBlcnJvcjogJ0dUeXBlIHNvdXBfcHJveHlfdXJpX3Jlc29sdmVyX2dldF90eXBlKCknIGlzIGRlcHJlY2F0ZWQgKGRlY2xhcmVkIGF0IC9PRS9idWlsZC9vZS1jb3JlL3RtcC1lZ2xpYmMvc3lzcm9vdHMvcWVtdXg4Ni02NC91c3IvaW5jbHVkZS9saWJzb3VwLTIuNC9saWJzb3VwL3NvdXAtcHJveHktdXJpLXJlc29sdmVyLmg6NDgpIFstV2Vycm9yPWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQorKyAgICAgICAgICAgIHNldChPTERfQ09NUElMRV9GTEFHUyAiLVduby1lcnJvcj1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucyAke09MRF9DT01QSUxFX0ZMQUdTfSIpCisrICAgICAgICAgICAgIyB3ZWJraXQtZWZsLzFfMS4xMC4wKzEuMTEuMC1iZXRhMS1yMC9ld2Via2l0L1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oOjc0Mjo4NzogZXJyb3I6IGNhc3QgZnJvbSAndWludDhfdCoge2FrYSB1bnNpZ25lZCBjaGFyKn0nIHRvICdXVEY6OlN0cmluZ0ltcGwqKicgaW5jcmVhc2VzIHJlcXVpcmVkIGFsaWdubWVudCBvZiB0YXJnZXQgdHlwZSBbLVdlcnJvcj1jYXN0LWFsaWduXQorKyAgICAgICAgICAgIHNldChPTERfQ09NUElMRV9GTEFHUyAiLVduby1lcnJvcj1jYXN0LWFsaWduICR7T0xEX0NPTVBJTEVfRkxBR1N9IikKKysgICAgICAgICAgICAjIHdlYmtpdC1lZmwvMV8xLjEwLjArMS4xMS4wLWJldGExLXIwL2V3ZWJraXQvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1dlYk1lbW9yeVNhbXBsZXJMaW51eC5jcHA6NzA6MTY6IGVycm9yOiBjb21wYXJpc29uIGlzIGFsd2F5cyBmYWxzZSBkdWUgdG8gbGltaXRlZCByYW5nZSBvZiBkYXRhIHR5cGUgWy1XZXJyb3I9dHlwZS1saW1pdHNdCisrICAgICAgICAgICAgc2V0KE9MRF9DT01QSUxFX0ZMQUdTICItV25vLWVycm9yPXR5cGUtbGltaXRzICR7T0xEX0NPTVBJTEVfRkxBR1N9IikKKysgICAgICAgICAgICAjIHdlYmtpdC1lZmwvMV8xLjExLjAtcjAvZXdlYmtpdC9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcDo4MzI6NTogZXJyb3I6IG1pc3NpbmcgaW5pdGlhbGl6ZXIgZm9yIG1lbWJlciAnX0V2YXNfR0xfQ29uZmlnOjpnbGVzX3ZlcnNpb24nIFstV2Vycm9yPW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzXQorKyAgICAgICAgICAgICMgdGhpcyBvbmUgaXMgbmV3IHdpdGggZWZsLTEuMTIKKysgICAgICAgICAgICBzZXQoT0xEX0NPTVBJTEVfRkxBR1MgIi1Xbm8tZXJyb3I9bWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgJHtPTERfQ09NUElMRV9GTEFHU30iKQorKyAgICAgICAgICAgICMgd2Via2l0LWVmbC8xXzEuMTEuMC1yMC9ld2Via2l0L1NvdXJjZS9XVEYvd3RmL2R0b2EvYmlnbnVtLmNjOjEwNToxMDogZXJyb3I6IGFzc3VtaW5nIHNpZ25lZCBvdmVyZmxvdyBkb2VzIG5vdCBvY2N1ciB3aGVuIGFzc3VtaW5nIHRoYXQgKFggKyBjKSA8IFggaXMgYWx3YXlzIGZhbHNlIFstV2Vycm9yPXN0cmljdC1vdmVyZmxvd10KKysgICAgICAgICAgICAjIHRoaXMgb25lIGlzIG5ldyB3aXRoIGdjYy01LjIKKysgICAgICAgICAgICBzZXQoT0xEX0NPTVBJTEVfRkxBR1MgIi1Xbm8tZXJyb3I9c3RyaWN0LW92ZXJmbG93ICR7T0xEX0NPTVBJTEVfRkxBR1N9IikKKysgICAgICAgICAgICAjIHdlYmtpdC1lZmwvMV8xLjExLjAtcjAvZXdlYmtpdC9Tb3VyY2UvV1RGL3d0Zi9TYXR1cmF0ZWRBcml0aG1ldGljLmg6NDY6MjY6IGVycm9yOiBzdWdnZXN0IHBhcmVudGhlc2VzIGFyb3VuZCBvcGVyYW5kIG9mICchJyBvciBjaGFuZ2UgJyYnIHRvICcmJicgb3IgJyEnIHRvICd+JyBbLVdlcnJvcj1wYXJlbnRoZXNlc10KKysgICAgICAgICAgICAjIHRoaXMgb25lIGlzIG5ldyB3aXRoIGdjYy01LjIKKysgICAgICAgICAgICBzZXQoT0xEX0NPTVBJTEVfRkxBR1MgIi1Xbm8tZXJyb3I9cGFyZW50aGVzZXMgJHtPTERfQ09NUElMRV9GTEFHU30iKQorKyAgICAgICAgICAgICMgd2Via2l0LWVmbC8xXzEuMTEuMC1yMC9ld2Via2l0L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuY3BwOjEwMzoxMDg6IGVycm9yOiBsb2dpY2FsIG5vdCBpcyBvbmx5IGFwcGxpZWQgdG8gdGhlIGxlZnQgaGFuZCBzaWRlIG9mIGNvbXBhcmlzb24gWy1XZXJyb3I9bG9naWNhbC1ub3QtcGFyZW50aGVzZXNdCisrICAgICAgICAgICAgIyB0aGlzIG9uZSBpcyBuZXcgd2l0aCBnY2MtNS4yCisrICAgICAgICAgICAgc2V0KE9MRF9DT01QSUxFX0ZMQUdTICItV25vLWVycm9yPWxvZ2ljYWwtbm90LXBhcmVudGhlc2VzICR7T0xEX0NPTVBJTEVfRkxBR1N9IikKKysKKyAgICAgICAgIGVuZGlmICgpCisgCisgICAgICAgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtfdGFyZ2V0fSBQUk9QRVJUSUVTCistLSAKKzIuMS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwMy1GRUJsZW5kTkVPTi5oLWZpeC1taXNzaW5nLXNlbWljb2xvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwMy1GRUJsZW5kTkVPTi5oLWZpeC1taXNzaW5nLXNlbWljb2xvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzE4ZWUxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbC8wMDAzLUZFQmxlbmRORU9OLmgtZml4LW1pc3Npbmctc2VtaWNvbG9uLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gYTA3NmQ3NmI4ZTg4NjJiZDY0MWNkOTkxMTkwZTgyY2ZkNDc4Y2M2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjAgQXVnIDIwMTQgMDA6NTI6MDMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzNdIEZFQmxlbmRORU9OLmg6IGZpeCBtaXNzaW5nIHNlbWljb2xvbgorCisqIE90aGVyd2lzZSBmYWlscyB3aXRoOgorSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGV3ZWJraXQvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUJsZW5kLmNwcDoyOTowOgorZXdlYmtpdC9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVCbGVuZE5FT04uaDogSW4gbWVtYmVyIGZ1bmN0aW9uICd2aXJ0dWFsIHZvaWQgV2ViQ29yZTo6RkVCbGVuZDo6cGxhdGZvcm1BcHBseVNvZnR3YXJlKCknOgorZXdlYmtpdC9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVCbGVuZE5FT04uaDoxMzA6NTogZXJyb3I6IGV4cGVjdGVkIHByaW1hcnktZXhwcmVzc2lvbiBiZWZvcmUgJ30nIHRva2VuCisgICAgIH0KKyAgICAgXgorZXdlYmtpdC9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVCbGVuZE5FT04uaDoxMzA6NTogZXJyb3I6IHJldHVybi1zdGF0ZW1lbnQgd2l0aCBhIHZhbHVlLCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgJ3ZvaWQnIFstZnBlcm1pc3NpdmVdCitld2Via2l0L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUJsZW5kTkVPTi5oOjEzMDo1OiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFQmxlbmRORU9OLmggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVCbGVuZE5FT04uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUJsZW5kTkVPTi5oCitpbmRleCAxYzUwNzY1Li5mNGI2ZjQ2IDEwMDY0NAorLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFQmxlbmRORU9OLmgKKysrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUJsZW5kTkVPTi5oCitAQCAtMTI2LDcgKzEyNiw3IEBAIHZvaWQgRkVCbGVuZDo6cGxhdGZvcm1BcHBseVNvZnR3YXJlKCkKKyAKKyAgICAgaWYgKHBpeGVsQXJyYXlMZW5ndGggPj0gOCkgeworICAgICAgICAgcGxhdGZvcm1BcHBseU5FT04oc3JjUGl4ZWxBcnJheUEtPmRhdGEoKSwgc3JjUGl4ZWxBcnJheUItPmRhdGEoKSwgZHN0UGl4ZWxBcnJheS0+ZGF0YSgpLCBwaXhlbEFycmF5TGVuZ3RoKTsKKy0gICAgICAgIHJldHVybgorKyAgICAgICAgcmV0dXJuOworICAgICB9CisgICAgIC8vIElmIHRoZXJlIGlzIGp1c3Qgb25lIHBpeGVsIHdlIGV4cGFuZCBpdCB0byB0d28uCisgICAgIEFTU0VSVChwaXhlbEFycmF5TGVuZ3RoID4gMCk7CistLSAKKzIuMS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwNC1GaXgtdGhlLWJ1aWxkLXdpdGgtRUZMLTEuMTItaHR0cHMtYnVncy53ZWJraXQub3JnLXNoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbC8wMDA0LUZpeC10aGUtYnVpbGQtd2l0aC1FRkwtMS4xMi1odHRwcy1idWdzLndlYmtpdC5vcmctc2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZhMzA1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwNC1GaXgtdGhlLWJ1aWxkLXdpdGgtRUZMLTEuMTItaHR0cHMtYnVncy53ZWJraXQub3JnLXNoLnBhdGNoCkBAIC0wLDAgKzEsMTQ2IEBACitGcm9tIGJhZWJjMDA0MTExMjg5ZWY2NThjNzhhNDJmODMzMmYzZGNlZWY0MWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAicnl1YW4uY2hvaUBuYXZlcmNvcnAuY29tIiA8cnl1YW4uY2hvaUBuYXZlcmNvcnAuY29tPgorRGF0ZTogVGh1LCAxMyBOb3YgMjAxNCAwNzowNzoxNiArMDAwMAorU3ViamVjdDogW1BBVENIIDQvNF0gRml4IHRoZSBidWlsZCB3aXRoIEVGTCAxLjEyCisgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODI0NQorCitSZXZpZXdlZCBieSBHeXV5b3VuZyBLaW0uCisKK1NvdXJjZS9XZWJLaXQyOgorCisqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwOgorRmlyc3QsIG1vZGlmaWVkIHRvIHVzZSBFdmFzX0dMIHJhdyBwb2ludGVyIGluc3RlYWQgb2YgVW5pcXVlUHRyRWZsIGJlY2F1c2UKK0V2YXNfR0wuaCBjYW4ndCBiZSBpbmNsdWRlZCBpbiBVbmlxdWVQdHJFZmwuaAorSXQgc2hvdWxkIGJlIG1vdmVkIGludG8gRXZhc0dMQ29udGV4dCBiZWNhdXNlIFdlYktpdC9FRkwgdXNlIG9ubHkgb25lIEV2YXNfR0wuCitTZWNvbmQsIHByb3ZpZGVkIHRoZSB2ZXJzaW9uIG9mIEdMRVMgaW4gRXZhc19HTF9Db25maWcgbm90IHRvIGJyZWFrIGJ1aWxkIHdpdGgKK0VGTCAxLjEyCisoRXdrVmlldzo6RXdrVmlldyk6CisoRXdrVmlldzo6fkV3a1ZpZXcpOgorKEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVkKToKKyhFd2tWaWV3OjpjcmVhdGVHTFN1cmZhY2UpOgorKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmg6CisKK1NvdXJjZS9XVEY6CisKKyogd3RmL2VmbC9VbmlxdWVQdHJFZmwuaDoKK1JlbW92ZWQgRXZhc19HTC5oIGZyb20gVW5pcXVlUHRyRWZsLmgsIHdoaWNoIGlzIGNvbW1vbmx5IGluY2x1ZGVkLCBiZWNhdXNlCitpdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIHdpdGggb2ZmaWNpYWwgR0wgaGVhZGVycy4KKworZ2l0LXN2bi1pZDogaHR0cDovL3N2bi53ZWJraXQub3JnL3JlcG9zaXRvcnkvd2Via2l0L3RydW5rQDE3NjA2NiAyNjhmNDVjYy1jZDA5LTA0MTAtYWIzYy1kNTI2OTFiNGRiZmMKKy0tLQorIFNvdXJjZS9XVEYvd3RmL2VmbC9VbmlxdWVQdHJFZmwuaCAgICAgICAgICAgIHwgIDIgLS0KKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCB8IDI0ICsrKysrKysrKysrKysrKystLS0tLS0tLQorIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaCAgIHwgIDMgKystCisgMyBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2VmbC9VbmlxdWVQdHJFZmwuaCBiL1NvdXJjZS9XVEYvd3RmL2VmbC9VbmlxdWVQdHJFZmwuaAoraW5kZXggYmEwMTEwYS4uMDM4ZDNmYiAxMDA2NDQKKy0tLSBhL1NvdXJjZS9XVEYvd3RmL2VmbC9VbmlxdWVQdHJFZmwuaAorKysrIGIvU291cmNlL1dURi93dGYvZWZsL1VuaXF1ZVB0ckVmbC5oCitAQCAtMzMsNyArMzMsNiBAQAorICNpbmNsdWRlIDxFY29yZV9JTUYuaD4KKyAjaW5jbHVkZSA8RWluYS5oPgorICNpbmNsdWRlIDxFdmFzLmg+CistI2luY2x1ZGUgPEV2YXNfR0wuaD4KKyAKKyBuYW1lc3BhY2UgV1RGIHsKKyAKK0BAIC01MSw3ICs1MCw2IEBAIHVzaW5nIEVmbFVuaXF1ZVB0ciA9IHN0ZDo6dW5pcXVlX3B0cjxULCBFZmxQdHJEZWxldGVyPFQ+PjsKKyAgICAgbWFjcm8oRWluYV9IYXNoLCBlaW5hX2hhc2hfZnJlZSkgXAorICAgICBtYWNybyhFaW5hX01vZHVsZSwgZWluYV9tb2R1bGVfZnJlZSkgXAorICAgICBtYWNybyhFdmFzX09iamVjdCwgZXZhc19vYmplY3RfZGVsKSBcCistICAgIG1hY3JvKEV2YXNfR0wsIGV2YXNfZ2xfZnJlZSkKKyAKKyAjZGVmaW5lIFdURl9ERUZJTkVfRUZMUFRSX0RFTEVURVIodHlwZU5hbWUsIGRlbGV0ZXJGdW5jKSBcCisgICAgIHRlbXBsYXRlPD4gc3RydWN0IEVmbFB0ckRlbGV0ZXI8dHlwZU5hbWU+IFwKK2RpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCitpbmRleCA1MGQzNGVkLi42ZmYzMzk0IDEwMDc1NQorLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKKysrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCitAQCAtMjk5LDkgKzI5OSwxMSBAQCBFd2tWaWV3OjpFd2tWaWV3KFdLVmlld1JlZiB2aWV3LCBFdmFzX09iamVjdCogZXZhc09iamVjdCkKKyAKKyAgICAgLy8gRklYTUU6IFJlbW92ZSB3aGVuIHBvc3NpYmxlLgorICAgICBzdGF0aWNfY2FzdDxXZWJWaWV3RWZsKj4od2ViVmlldygpKS0+c2V0RXdrVmlldyh0aGlzKTsKKy0gICAgbV9ldmFzR0wgPSBFZmxVbmlxdWVQdHI8RXZhc19HTD4oZXZhc19nbF9uZXcoZXZhc19vYmplY3RfZXZhc19nZXQobV9ldmFzT2JqZWN0KSkpOworKworKyAgICAvLyBGSVhNRTogQ29uc2lkZXIgaXQgdG8gbW92ZSBpbnRvIEV2YXNHTENvbnRleHQuCisrICAgIG1fZXZhc0dMID0gZXZhc19nbF9uZXcoZXZhc19vYmplY3RfZXZhc19nZXQobV9ldmFzT2JqZWN0KSk7CisgICAgIGlmIChtX2V2YXNHTCkKKy0gICAgICAgIG1fZXZhc0dMQ29udGV4dCA9IEV2YXNHTENvbnRleHQ6OmNyZWF0ZShtX2V2YXNHTC5nZXQoKSk7CisrICAgICAgICBtX2V2YXNHTENvbnRleHQgPSBFdmFzR0xDb250ZXh0OjpjcmVhdGUobV9ldmFzR0wpOworIAorICAgICBpZiAoIW1fZXZhc0dMQ29udGV4dCkgeworICAgICAgICAgV0FSTigiRmFpbGVkIHRvIGNyZWF0ZSBFdmFzX0dMLCBmYWxsaW5nIGJhY2sgdG8gc29mdHdhcmUgbW9kZS4iKTsKK0BAIC0zMzMsNiArMzM1LDkgQEAgRXdrVmlldzo6fkV3a1ZpZXcoKQorIHsKKyAgICAgQVNTRVJUKHdrUGFnZVRvRXZhc09iamVjdE1hcCgpLmdldCh3a1BhZ2UoKSkgPT0gbV9ldmFzT2JqZWN0KTsKKyAgICAgd2tQYWdlVG9FdmFzT2JqZWN0TWFwKCkucmVtb3ZlKHdrUGFnZSgpKTsKKysKKysgICAgaWYgKG1fZXZhc0dMKQorKyAgICAgICAgZXZhc19nbF9mcmVlKG1fZXZhc0dMKTsKKyB9CisgCisgRXdrVmlldyogRXdrVmlldzo6Y3JlYXRlKFdLVmlld1JlZiB3ZWJWaWV3LCBFdmFzKiBjYW52YXMsIEV2YXNfU21hcnQqIHNtYXJ0KQorQEAgLTU4Nyw3ICs1OTIsNyBAQCB2b2lkIEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVkKFRpbWVyPEV3a1ZpZXc+KikKKyAgICAgICAgIHJldHVybjsKKyAgICAgfQorIAorLSAgICBldmFzX2dsX21ha2VfY3VycmVudChtX2V2YXNHTC5nZXQoKSwgbV9ldmFzR0xTdXJmYWNlLT5zdXJmYWNlKCksIG1fZXZhc0dMQ29udGV4dC0+Y29udGV4dCgpKTsKKysgICAgZXZhc19nbF9tYWtlX2N1cnJlbnQobV9ldmFzR0wsIG1fZXZhc0dMU3VyZmFjZS0+c3VyZmFjZSgpLCBtX2V2YXNHTENvbnRleHQtPmNvbnRleHQoKSk7CisgCisgICAgIFdLVmlld1BhaW50VG9DdXJyZW50R0xDb250ZXh0KHdrVmlldygpKTsKKyAKK0BAIC04MjgsMjEgKzgzMywyNCBAQCBib29sIEV3a1ZpZXc6OmNyZWF0ZUdMU3VyZmFjZSgpCisgICAgICAgICBFVkFTX0dMX0RFUFRIX0JJVF84LAorICAgICAgICAgRVZBU19HTF9TVEVOQ0lMX05PTkUsCisgICAgICAgICBFVkFTX0dMX09QVElPTlNfTk9ORSwKKy0gICAgICAgIEVWQVNfR0xfTVVMVElTQU1QTEVfTk9ORQorKyAgICAgICAgRVZBU19HTF9NVUxUSVNBTVBMRV9OT05FLAorKyNpZiBkZWZpbmVkKEVWQVNfR0xfQVBJX1ZFUlNJT04pICYmIEVWQVNfR0xfQVBJX1ZFUlNJT04gPj0gMgorKyAgICAgICAgRVZBU19HTF9HTEVTXzJfWAorKyNlbmRpZgorICAgICB9OworIAorICAgICAvLyBSZWNyZWF0ZSB0byBjdXJyZW50IHNpemU6IFJlcGxhY2VzIGlmIG5vbi1udWxsLCBhbmQgZnJlZXMgZXhpc3Rpbmcgc3VyZmFjZSBhZnRlciAoT3duUHRyKS4KKy0gICAgbV9ldmFzR0xTdXJmYWNlID0gRXZhc0dMU3VyZmFjZTo6Y3JlYXRlKG1fZXZhc0dMLmdldCgpLCAmZXZhc0dMQ29uZmlnLCBkZXZpY2VTaXplKCkpOworKyAgICBtX2V2YXNHTFN1cmZhY2UgPSBFdmFzR0xTdXJmYWNlOjpjcmVhdGUobV9ldmFzR0wsICZldmFzR0xDb25maWcsIGRldmljZVNpemUoKSk7CisgICAgIGlmICghbV9ldmFzR0xTdXJmYWNlKQorICAgICAgICAgcmV0dXJuIGZhbHNlOworIAorICAgICBFdmFzX05hdGl2ZV9TdXJmYWNlIG5hdGl2ZVN1cmZhY2U7CistICAgIGV2YXNfZ2xfbmF0aXZlX3N1cmZhY2VfZ2V0KG1fZXZhc0dMLmdldCgpLCBtX2V2YXNHTFN1cmZhY2UtPnN1cmZhY2UoKSwgJm5hdGl2ZVN1cmZhY2UpOworKyAgICBldmFzX2dsX25hdGl2ZV9zdXJmYWNlX2dldChtX2V2YXNHTCwgbV9ldmFzR0xTdXJmYWNlLT5zdXJmYWNlKCksICZuYXRpdmVTdXJmYWNlKTsKKyAgICAgZXZhc19vYmplY3RfaW1hZ2VfbmF0aXZlX3N1cmZhY2Vfc2V0KHNtYXJ0RGF0YSgpLT5pbWFnZSwgJm5hdGl2ZVN1cmZhY2UpOworIAorLSAgICBldmFzX2dsX21ha2VfY3VycmVudChtX2V2YXNHTC5nZXQoKSwgbV9ldmFzR0xTdXJmYWNlLT5zdXJmYWNlKCksIG1fZXZhc0dMQ29udGV4dC0+Y29udGV4dCgpKTsKKysgICAgZXZhc19nbF9tYWtlX2N1cnJlbnQobV9ldmFzR0wsIG1fZXZhc0dMU3VyZmFjZS0+c3VyZmFjZSgpLCBtX2V2YXNHTENvbnRleHQtPmNvbnRleHQoKSk7CisgCistICAgIEV2YXNfR0xfQVBJKiBnbCA9IGV2YXNfZ2xfYXBpX2dldChtX2V2YXNHTC5nZXQoKSk7CisrICAgIEV2YXNfR0xfQVBJKiBnbCA9IGV2YXNfZ2xfYXBpX2dldChtX2V2YXNHTCk7CisgCisgICAgIFdLUG9pbnQgYm91bmRzRW5kID0gV0tWaWV3VXNlclZpZXdwb3J0VG9TY2VuZSh3a1ZpZXcoKSwgV0tQb2ludE1ha2UoZGV2aWNlU2l6ZSgpLndpZHRoKCksIGRldmljZVNpemUoKS5oZWlnaHQoKSkpOworICAgICBnbC0+Z2xWaWV3cG9ydCgwLCAwLCBib3VuZHNFbmQueCwgYm91bmRzRW5kLnkpOworZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAoraW5kZXggMWM0ODJjZi4uNjhkYWI4NyAxMDA2NDQKKy0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAorKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCitAQCAtMzksNiArMzksNyBAQAorICNlbmRpZgorIAorIHR5cGVkZWYgc3RydWN0IF9jYWlyb19zdXJmYWNlIGNhaXJvX3N1cmZhY2VfdDsKKyt0eXBlZGVmIHN0cnVjdCBfRXZhc19HTCBFdmFzX0dMOworIAorIG5hbWVzcGFjZSBXZWJLaXQgeworIGNsYXNzIENvbnRleHRNZW51Q2xpZW50RWZsOworQEAgLTI0MSw3ICsyNDIsNyBAQCBwcml2YXRlOgorICAgICBFdmFzX09iamVjdCogbV9ldmFzT2JqZWN0OworICAgICBSZWZQdHI8RXdrQ29udGV4dD4gbV9jb250ZXh0OworICAgICBSZWZQdHI8RXdrUGFnZUdyb3VwPiBtX3BhZ2VHcm91cDsKKy0gICAgRWZsVW5pcXVlUHRyPEV2YXNfR0w+IG1fZXZhc0dMOworKyAgICBFdmFzX0dMKiBtX2V2YXNHTDsKKyAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkV2YXNHTENvbnRleHQ+IG1fZXZhc0dMQ29udGV4dDsKKyAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkV2YXNHTFN1cmZhY2U+IG1fZXZhc0dMU3VyZmFjZTsKKyAgICAgYm9vbCBtX3BlbmRpbmdTdXJmYWNlUmVzaXplOworLS0gCisyLjEuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3dlYmtpdC93ZWJraXQtZWZsLzAwMDUtRml4LXRoZS1idWlsZC13aXRoLWNtYWtlLTMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3dlYmtpdC93ZWJraXQtZWZsLzAwMDUtRml4LXRoZS1idWlsZC13aXRoLWNtYWtlLTMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U4ZTI5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1lZmwvd2Via2l0L3dlYmtpdC1lZmwvMDAwNS1GaXgtdGhlLWJ1aWxkLXdpdGgtY21ha2UtMy5wYXRjaApAQCAtMCwwICsxLDEwNCBAQAorRnJvbSBhMDBhNzA5N2I4NTU2N2FlNmViN2EwMGIzY2U3ZWYwMjE4NDEyMDNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyNCBTZXAgMjAxNSAxODowMzo1MiArMDIwMAorU3ViamVjdDogW1BBVENIIDUvNV0gRml4IHRoZSBidWlsZCB3aXRoIGNtYWtlIDMKKworKiB0aGUgc2FtZSBpc3N1ZSBhcyBpbiBHVEsgcG9ydDoKKyAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTc5NgorICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xODA1MDIKKworKiBvdGhlcndpc2UgbGlua2luZyBmYWlscyB3aXRoIGNvdXBsZSB1bmRlZmluZWQgc3ltYm9scworfCBDTWFrZUZpbGVzL1dlYktpdDIuZGlyL1BsdWdpblByb2Nlc3MvdW5peC9QbHVnaW5Qcm9jZXNzTWFpblVuaXguY3BwLm86IEluIGZ1bmN0aW9uIGBXZWJLaXQ6OndlYmtpdFhFcnJvcihfWERpc3BsYXkqLCBYRXJyb3JFdmVudCopJzoKK3wgZXdlYmtpdC9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL3VuaXgvUGx1Z2luUHJvY2Vzc01haW5Vbml4LmNwcDo2MzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWEdldEVycm9yVGV4dCcKK3wgQ01ha2VGaWxlcy9XZWJLaXQyLmRpci9QbHVnaW5Qcm9jZXNzL3VuaXgvUGx1Z2luUHJvY2Vzc01haW5Vbml4LmNwcC5vOiBJbiBmdW5jdGlvbiBgV2ViS2l0OjpQbHVnaW5Qcm9jZXNzTWFpbjo6cGFyc2VDb21tYW5kTGluZShpbnQsIGNoYXIqKiknOgorfCBld2Via2l0L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvdW5peC9QbHVnaW5Qcm9jZXNzTWFpblVuaXguY3BwOjEwMjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWFNldEVycm9ySGFuZGxlcicKK3wgZXdlYmtpdC9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL3VuaXgvUGx1Z2luUHJvY2Vzc01haW5Vbml4LmNwcDoxMDI6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFhTZXRFcnJvckhhbmRsZXInCit8IENNYWtlRmlsZXMvV2ViS2l0Mi5kaXIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwLm86IEluIGZ1bmN0aW9uIGBXZWJLaXQ6OldlYlByb2Nlc3NNYWluOjpwbGF0Zm9ybUluaXRpYWxpemUoKSc6Cit8IGV3ZWJraXQvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwOjY3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBYU2V0RXh0ZW5zaW9uRXJyb3JIYW5kbGVyJworfCBld2Via2l0L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcDo2NzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWFNldEV4dGVuc2lvbkVycm9ySGFuZGxlcicKK3wgQ01ha2VGaWxlcy9XZWJLaXQyLmRpci9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcC5vOiBJbiBmdW5jdGlvbiBgV2ViS2l0OjpOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1Qb3N0SW5pdGlhbGl6ZVdpbmRvd2VkKGJvb2wsIHVuc2lnbmVkIGxvbmcpJzoKK3wgZXdlYmtpdC9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcDoxNzA6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFhGbHVzaCcKK3wgQ01ha2VGaWxlcy9XZWJLaXQyLmRpci9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcC5vOiBJbiBmdW5jdGlvbiBgV2ViS2l0OjpOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1Qb3N0SW5pdGlhbGl6ZVdpbmRvd2xlc3MoKSc6Cit8IGV3ZWJraXQvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHA6MTk1OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBYR2V0VmlzdWFsSW5mbycKK3wgZXdlYmtpdC9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcDoxOTk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYFhGcmVlJworfCBld2Via2l0L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwOjIwMjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWENyZWF0ZUNvbG9ybWFwJworfCBDTWFrZUZpbGVzL1dlYktpdDIuZGlyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwLm86IEluIGZ1bmN0aW9uIGBXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybURlc3Ryb3koKSc6Cit8IGV3ZWJraXQvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHA6MjUxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBYRnJlZUNvbG9ybWFwJworfCBld2Via2l0L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwOjI1NTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWEZyZWVQaXhtYXAnCit8IENNYWtlRmlsZXMvV2ViS2l0Mi5kaXIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHAubzogSW4gZnVuY3Rpb24gYFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtR2VvbWV0cnlEaWRDaGFuZ2UoKSc6Cit8IGV3ZWJraXQvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHA6MjkzOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBYQ3JlYXRlUGl4bWFwJworfCBld2Via2l0L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwOjI4NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWEZyZWVQaXhtYXAnCit8IGV3ZWJraXQvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHA6Mjk1OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBYU3luYycKK3wgQ01ha2VGaWxlcy9XZWJLaXQyLmRpci9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcC5vOiBJbiBmdW5jdGlvbiBgV2ViS2l0OjpOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1QYWludChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQqLCBXZWJDb3JlOjpJbnRSZWN0IGNvbnN0JiwgYm9vbCknOgorfCBld2Via2l0L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwOjM0MzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgWFN5bmMnCit8IGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cworfCBTb3VyY2UvV2ViS2l0Mi9DTWFrZUZpbGVzL1dlYktpdDIuZGlyL2J1aWxkLm1ha2U6MTYxNDU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWIvbGliZXdlYmtpdDIuc28uMS4xMS4wJyBmYWlsZWQKK3wgbWFrZVsyXTogKioqIFtsaWIvbGliZXdlYmtpdDIuc28uMS4xMS4wXSBFcnJvciAxCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIFNvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlICAgICAgICAgfCAxICsKKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSAgICAgICAgIHwgMyArKysKKyBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSAgICAgICAgICAgIHwgMSArCisgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZSB8IDEgKworIDQgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCitpbmRleCA0MWZmYzE1Li42M2I3ODYxIDEwMDY0NAorLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKKysrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCitAQCAtNDA0LDYgKzQwNCw3IEBAIGlmIChXVEZfVVNFXzNEX0dSQVBISUNTKQorICAgICAgICAgKQorICAgICBlbmRpZiAoKQorIAorKyAgICBmaW5kX3BhY2thZ2UoWDExIFJFUVVJUkVEKQorICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX0xJQlJBUklFUworICAgICAgICAgJHtYMTFfWDExX0xJQn0KKyAgICAgKQorZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKK2luZGV4IDhjNjZkMWIuLmQ5NmYwYmQgMTAwNjQ0CistLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKK0BAIC0zMzEsMTIgKzMzMSwxNSBAQCBpZiAoRU5BQkxFX1NFQ0NPTVBfRklMVEVSUykKKyBlbmRpZiAoKQorIAorIGlmIChFTkFCTEVfRUNPUkVfWCkKKysgICAgZmluZF9wYWNrYWdlKFgxMSBSRVFVSVJFRCkKKyAgICAgbGlzdChBUFBFTkQgV2ViUHJvY2Vzc19MSUJSQVJJRVMKKyAgICAgICAgICR7RUNPUkVfWF9MSUJSQVJJRVN9CisgICAgICAgICAke1gxMV9YZXh0X0xJQn0KKyAgICAgKQorICAgICBsaXN0KEFQUEVORCBXZWJLaXQyX0xJQlJBUklFUworICAgICAgICAgJHtFQ09SRV9YX0xJQlJBUklFU30KKysgICAgICAgICR7WDExX1gxMV9MSUJ9CisrICAgICAgICAke1gxMV9YZXh0X0xJQn0KKyAgICAgKQorIGVuZGlmICgpCisgCitkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQoraW5kZXggODU4NWYxOS4uMWFhOTAwMiAxMDA2NDQKKy0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorQEAgLTE4MSw2ICsxODEsNyBAQCBlbmRpZiAoKQorIAorIGlmIChXVEZfT1NfVU5JWCkKKyAgICAgc2V0KEVOQUJMRV9YMTFfVEFSR0VUIE9OKQorKyAgICBmaW5kX3BhY2thZ2UoWDExIFJFUVVJUkVEKQorICAgICBhZGRfZGVmaW5pdGlvbnMoLURYUF9VTklYKQorIGVuZGlmIChXVEZfT1NfVU5JWCkKKyAKK2RpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZsLmNtYWtlIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZQoraW5kZXggMTg3MzI3OS4uYTkwNWYyYSAxMDA2NDQKKy0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKKysrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKK0BAIC01Myw2ICs1Myw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdFRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZV9MSUJSQVJJRVMKKyApCisgCisgaWYgKEVOQUJMRV9FQ09SRV9YKQorKyAgICBmaW5kX3BhY2thZ2UoWDExIFJFUVVJUkVEKQorICAgICBsaXN0KEFQUEVORCBXZWJLaXRUZXN0UnVubmVyX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgICR7RUNPUkVfWF9JTkNMVURFX0RJUlN9CisgICAgICkKKy0tIAorMi42LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbC8wMDA2LU9wdGlvbnNFZmwuY21ha2UtRml4LWJ1aWxkLXdpdGgtbmV3ZXItQ01ha2UtMy40LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbC8wMDA2LU9wdGlvbnNFZmwuY21ha2UtRml4LWJ1aWxkLXdpdGgtbmV3ZXItQ01ha2UtMy40LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1NjI2MzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3dlYmtpdC93ZWJraXQtZWZsLzAwMDYtT3B0aW9uc0VmbC5jbWFrZS1GaXgtYnVpbGQtd2l0aC1uZXdlci1DTWFrZS0zLjQucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSA5OTM4ODJmODFmZTk5MWI4YmFmMTA5OTM5MjcwMzMzN2NjMTNmYWMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogV2VkLCAyNyBKYW4gMjAxNiAxODo0MDoyMyArMDEwMAorU3ViamVjdDogW1BBVENIXSBPcHRpb25zRWZsLmNtYWtlOiBGaXggYnVpbGQgd2l0aCBuZXdlciBDTWFrZSAzLjQKKworKiBvdGhlcndpc2UgaXQgZmFpbHMgd2l0aDoKKyAgfCBDTWFrZSBFcnJvciBhdCBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZToyNTEgKENIRUNLX0lOQ0xVREVfRklMRVMpOgorICB8ICAgVW5rbm93biBDTWFrZSBjb21tYW5kICJDSEVDS19JTkNMVURFX0ZJTEVTIi4KKyogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDExNworCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQoraW5kZXggMWFhOTAwMi4uMDUyMTZkMCAxMDA2NDQKKy0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorQEAgLTI1Myw2ICsyNTMsNyBAQCBpZiAoRU5BQkxFX1dFQkdMIE9SIFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSkKKyAgICAgICAgIHNldChXVEZfVVNFX0VHTCAxKQorICAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9FR0w9MSkKKyAgICAgZWxzZSAoKQorKyAgICAgICAgaW5jbHVkZShDaGVja0luY2x1ZGVGaWxlcykKKyAgICAgICAgIENIRUNLX0lOQ0xVREVfRklMRVMoIkdML2dseC5oIiBPUEVOR0xYX0ZPVU5EKQorICAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9HTFg9MSkKKyAgICAgZW5kaWYgKCkKKy0tIAorMi43LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbF8xLjExLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtZWZsL3dlYmtpdC93ZWJraXQtZWZsXzEuMTEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmFkODMwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLWVmbC93ZWJraXQvd2Via2l0LWVmbF8xLjExLjAuYmIKQEAgLTAsMCArMSwxMiBAQAorcmVxdWlyZSAke0JQTn0uaW5jCisKK1NSQ19VUkkgKz0gIlwKKyAgICBmaWxlOi8vMDAwMS1PcHRpb25zQ29tbW9uLmNtYWtlLWRvbi10LW1peC1DWFhfRkxBR1MtaW50by1DX0ZMQUdTLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1XZWJLaXRIZWxwZXJzLmNtYWtlLUFkZC1Xbm8tZXJyb3ItZGVwcmVjYXRlZC1kZWNsYXJhLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMy1GRUJsZW5kTkVPTi5oLWZpeC1taXNzaW5nLXNlbWljb2xvbi5wYXRjaCBcCisgICAgZmlsZTovLzAwMDQtRml4LXRoZS1idWlsZC13aXRoLUVGTC0xLjEyLWh0dHBzLWJ1Z3Mud2Via2l0Lm9yZy1zaC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDUtRml4LXRoZS1idWlsZC13aXRoLWNtYWtlLTMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA2LU9wdGlvbnNFZmwuY21ha2UtRml4LWJ1aWxkLXdpdGgtbmV3ZXItQ01ha2UtMy40LnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MGZhOTcwZWJmODY0NjMxOWQyOTJjMmJiNWJmZjVkYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkOGQyMWUyN2Y0YTIxY2Q3N2M0MTkxNDU0OGMxODRkZGI5ODY5M2JhMjM4NTFhYTY2YzhlNTFjMGJlNGI5MGI3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLW11bHRpbWVkaWEvbGlnaHRtZWRpYXNjYW5uZXIvZmlsZXMvaWQzLXBsdWdpbi1zdXBwb3J0LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLW11bHRpbWVkaWEvbGlnaHRtZWRpYXNjYW5uZXIvZmlsZXMvaWQzLXBsdWdpbi1zdXBwb3J0LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1MjhiZWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtbXVsdGltZWRpYS9saWdodG1lZGlhc2Nhbm5lci9maWxlcy9pZDMtcGx1Z2luLXN1cHBvcnQtb3V0LW9mLXRyZWUtYnVpbGQucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGEvc3JjL3BsdWdpbnMvTWFrZWZpbGUuYW0JMjAxNS0xMC0yNSAxNjoxMjoyOS4zMzE0MTU4MjMgKzAwMDAKKysrKyBiL3NyYy9wbHVnaW5zL01ha2VmaWxlLmFtCTIwMTUtMTAtMjUgMTY6MTQ6MzcuNTkzNDE1ODA4ICswMDAwCitAQCAtOTMsNyArOTMsNyBAQAorIGlkM19pZDNfbGFfU09VUkNFUyA9IGlkMy9pZDMuYyBpZDMvaWQzdjFfZ2VucmVzLmMKKyBpZDNfaWQzX2xhX0xJQkFERCA9ICQoUExVR0lOU19MSUJBREQpCisgCistaWQzL2lkM3YxX2dlbnJlcy5jOiAkKHNyY2RpcikvaWQzL2lkM3YxX2dlbnJlcy5kZWYgJChzcmNkaXIpL2lkMy9pZDN2MV9nZW5yZXNfZ2VuLmF3aworKyQoc3JjZGlyKS9pZDMvaWQzdjFfZ2VucmVzLmM6ICQoc3JjZGlyKS9pZDMvaWQzdjFfZ2VucmVzLmRlZiAkKHNyY2RpcikvaWQzL2lkM3YxX2dlbnJlc19nZW4uYXdrCisgCSQoQVdLKSAtZiAkKHNyY2RpcikvaWQzL2lkM3YxX2dlbnJlc19nZW4uYXdrICQoc3JjZGlyKS9pZDMvaWQzdjFfZ2VucmVzLmRlZiA+ICRACisgCisgRVhUUkFfRElTVCArPSBpZDMvaWQzdjFfZ2VucmVzLmRlZiBpZDMvaWQzdjFfZ2VucmVzX2dlbi5hd2sKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1tdWx0aW1lZGlhL2xpZ2h0bWVkaWFzY2FubmVyL2xpZ2h0bWVkaWFzY2FubmVyXzAuNS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLW11bHRpbWVkaWEvbGlnaHRtZWRpYXNjYW5uZXIvbGlnaHRtZWRpYXNjYW5uZXJfMC41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg3MGZhYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1lZmwvcmVjaXBlcy1tdWx0aW1lZGlhL2xpZ2h0bWVkaWFzY2FubmVyL2xpZ2h0bWVkaWFzY2FubmVyXzAuNS4xLmJiCkBAIC0wLDAgKzEsNjIgQEAKK1NVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgbWVkaWEgc2Nhbm5lciIKK0RFU0NSSVBUSU9OID0gIkxpZ2h0d2VpZ2h0IG1lZGlhIHNjYW5uZXIgbWVhbnQgdG8gYmUgdXNlZCBpbiBub3Qtc28tcG93ZXJmdWwgZGV2aWNlcywgbGlrZSBlbWJlZGRlZCBzeXN0ZW1zIG9yIG9sZCBtYWNoaW5lcy4iCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKKworTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvbGliL2xpZ2h0bWVkaWFzY2FubmVyLmM7ZW5kbGluZT0yMTttZDU9NmQ4ODg5YmNjYjRjNmMyN2U4Yjc4NjM0MmEzZWIyNjciCisKK0RFUEVORFMgPSAiZmlsZSBnYXdrIGdsaWItMi4wIHNxbGl0ZTMiCisKK1BWID0gIjAuNS4xK2dpdCR7U1JDUFZ9IgorU1JDUkVWID0gImFkZmRkYjM0ODYyNzZhNWVkMmY1MDA4YzllNDNhODExZTEyNzFjYzkiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcHJvZnVzaW9uL2xpZ2h0bWVkaWFzY2FubmVyLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9pZDMtcGx1Z2luLXN1cHBvcnQtb3V0LW9mLXRyZWUtYnVpbGQucGF0Y2ggXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zdGF0aWMgLS1kaXNhYmxlLW1wNCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm9nZyBmbGFjIHdhdmUgaWQzIG0zdSBwbHMgYXNmIHJtIGpwZWcgcG5nIgorUEFDS0FHRUNPTkZJR1tnZW5lcmljXSA9ICItLWVuYWJsZS1nZW5lcmljLC0tZGlzYWJsZS1nZW5lcmljLGxpYmF2IgorUEFDS0FHRUNPTkZJR1tvZ2ddID0gIi0tZW5hYmxlLW9nZywtLWRpc2FibGUtb2dnLGxpYm9nZyBsaWJ2b3JiaXMgbGlidGhlb3JhIgorUEFDS0FHRUNPTkZJR1tmbGFjXSA9ICItLWVuYWJsZS1mbGFjLC0tZGlzYWJsZS1mbGFjLGZsYWMiCitQQUNLQUdFQ09ORklHW3dhdmVdID0gIi0tZW5hYmxlLXdhdmUsLS1kaXNhYmxlLXdhdmUiCitQQUNLQUdFQ09ORklHW2lkM10gPSAiLS1lbmFibGUtaWQzLC0tZGlzYWJsZS1pZDMiCitQQUNLQUdFQ09ORklHW20zdV0gPSAiLS1lbmFibGUtbTN1LC0tZGlzYWJsZS1tM3UiCitQQUNLQUdFQ09ORklHW3Bsc10gPSAiLS1lbmFibGUtcGxzLC0tZGlzYWJsZS1wbHMiCitQQUNLQUdFQ09ORklHW2FzZl0gPSAiLS1lbmFibGUtYXNmLC0tZGlzYWJsZS1hc2YiCitQQUNLQUdFQ09ORklHW3JtXSA9ICItLWVuYWJsZS1ybSwtLWRpc2FibGUtcm0iCitQQUNLQUdFQ09ORklHW2pwZWddID0gIi0tZW5hYmxlLWpwZWcsLS1kaXNhYmxlLWpwZWciCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLS1lbmFibGUtcG5nLC0tZGlzYWJsZS1wbmciCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICAgICMgSW5zdGFsbCAidGVzdCIgYmluYXJ5IGZvciBjb3JyZXNwb25kaW5nIHBhY2thZ2UKKyAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgICAgaW5zdGFsbCAtbSA3NTUgJHtCfS9zcmMvYmluLy5saWJzL3Rlc3QgJHtEfS8ke2JpbmRpcn0vdGVzdC1sbXMKKyAgICAgICAjIFJlbW92ZSAubGEgZmlsZXMgZm9yIGxvYWRhYmxlIG1vZHVsZXMKKyAgICAgICBybSAtZiAke0R9LyR7bGliZGlyfS8ke1BOfS9wbHVnaW5zLyoubGEKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vJHtQTn0vcGx1Z2lucy8uZGVidWciCisKK1BBQ0tBR0VTX3ByZXBlbmQgPSAiJHtQTn0tdGVzdCAiCitGSUxFU18ke1BOfS10ZXN0X3ByZXBlbmQgPSAiJHtiaW5kaXJ9L3Rlc3QtbG1zICIKKworUEFDS0FHRVMgKz0gIiR7UE59LW1ldGEiCitBTExPV19FTVBUWV8ke1BOfS1tZXRhID0gIjEiCisKK1BBQ0tBR0VTX0RZTkFNSUMgPSAiJHtQTn0tcGx1Z2luLSoiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBsbXNfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS8ke1BOfScpCisgICAgcGtncyA9IFtdCisKKyAgICBwa2dzICs9IGRvX3NwbGl0X3BhY2thZ2VzKGQsIG9lLnBhdGguam9pbihsbXNfbGliZGlyLCAicGx1Z2lucyIpLCAnXiguKilcLnNvJCcsIGQuZXhwYW5kKCcke1BOfS1wbHVnaW4tJXMnKSwgJ0xpZ2h0TWVkaWFTY2FubmVyIHBsdWdpbiBmb3IgJXMnLCBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9ZC5leHBhbmQoJyR7UE59JykpCisgICAgbWV0YXBrZyA9IGQuZ2V0VmFyKCdQTicsIFRydWUpICsgJy1tZXRhJworICAgIGQuc2V0VmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4ocGtncykpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZWZsL3JlY2lwZXMtbmF2aWdhdGlvbi9tY25hdmkvbWNuYXZpXzAuMy40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLW5hdmlnYXRpb24vbWNuYXZpL21jbmF2aV8wLjMuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjU3MjJiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWVmbC9yZWNpcGVzLW5hdmlnYXRpb24vbWNuYXZpL21jbmF2aV8wLjMuNC5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkZyZWUgR1BTIG5hdmlnYXRpb24gZm9yIGNhciBhbmQgb3V0ZG9vciB3aXRoIE9wZW5TdHJlZXRNYXAgbWFwcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3BzLXJvdXRlcy5pbmZvL2luZGV4LnBocD9uYW1lPUNvbnRlbnQmcGE9c2hvd3BhZ2UmcGlkPTEiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGYwZTJjZDQwZTA1MTg5ZWM4MTIzMmRhODRiZDZlMWEiCitERVBFTkRTID0gImVjb3JlIGV2YXMgaW1saWIyIGdwc2QgZWRqZSBlZGplLW5hdGl2ZSBteXNxbDUgaW50bHRvb2wtbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZ3BzLXJvdXRlcy5pbmZvL2RlYmlhbi9wb29sL21haW4vbS9tY25hdmkvbWNuYXZpXyR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ODYwY2RlNWMwMmE5ZjkzYzgyOWRhNGIxMGU1YTIyNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlZTdmNjUxNTVlOTEzODYxNzU4NzVmYzRmNzJmNGJjOTRlNGU5Y2RiODI1ODExMjYzMmRhOTQ1MjBlZjJjMzQ5IgorCitTID0gIiR7V09SS0RJUn0vJHtQTn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BOQkxBQ0tMSVNUW21jbmF2aV0gPz0gIkJST0tFTjogbGF0ZXN0IHZlcnNpb24gMC4zLjQgaXMgMyB5ZWFycyBvbGQgYW5kIG5vdyBicm9rZW4gd2l0aCBtb3JlIHN0cmljdCBlamRlX2NjIGZyb20gZWZsLTEuMTMiCisjIHwgZWRqZV9jYzogRXJyb3IuIHBhcnNlIGVycm9yIDAuMy40LXIwL21jbmF2aS9kYXRhL3RoZW1lcy9EZWZhdWx0L21haW4uZWRjOjEyNi4gaW52YWxpZCBzdGF0ZSBuYW1lOiAnbm9uZScuICJkZWZhdWx0IiBzdGF0ZSBtdXN0IGFsd2F5cyBiZSBmaXJzdC4KKyMgfCBlZGplX2NjOiBFcnJvci4gcGFyc2UgZXJyb3IgMC4zLjQtcjAvbWNuYXZpL2RhdGEvdGhlbWVzL0RlZmF1bHQvaXRpbmVyYXJ5LmVkYzo4NC4gaW52YWxpZCBzdGF0ZSBuYW1lOiAnbm9uZScuICJkZWZhdWx0IiBzdGF0ZSBtdXN0IGFsd2F5cyBiZSBmaXJzdC4KKyMgfCBlZGplX2NjOiBFcnJvci4gcGFyc2UgZXJyb3IgMC4zLjQtcjAvbWNuYXZpL2RhdGEvdGhlbWVzL0RlZmF1bHQvdGV4dC5lZGM6MTEyOS4gaW52YWxpZCBzdGF0ZSBuYW1lOiAnbm9uZScuICJkZWZhdWx0IiBzdGF0ZSBtdXN0IGFsd2F5cyBiZSBmaXJzdC4KKyMgfCBlZGplX2NjOiBFcnJvci4gcGFyc2UgZXJyb3IgMC4zLjQtcjAvbWNuYXZpL2RhdGEvdGhlbWVzL0RlZmF1bHQvZmlsZW9wZW4uZWRjOjc4LiBpbnZhbGlkIHN0YXRlIG5hbWU6ICdvZmYnLiAiZGVmYXVsdCIgc3RhdGUgbXVzdCBhbHdheXMgYmUgZmlyc3QuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvQ09QWUlORy5NSVQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvQ09QWUlORy5NSVQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlkZTM1NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9DT1BZSU5HLk1JVApAQCAtMCwwICsxLDE3IEBACitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CitvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAoraW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAorY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCitmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCitJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKK09VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4KK1RIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyNmMxMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvUkVBRE1FCkBAIC0wLDAgKzEsMTQwIEBACitUaGlzIFJFQURNRSBmaWxlIGNvbnRhaW5zIGluZm9ybWF0aW9uIG9uIHRoZSBjb250ZW50cyBvZiB0aGUKK2ZpbGVzeXN0ZW1zIGxheWVyLgorCitQbGVhc2Ugc2VlIHRoZSBjb3JyZXNwb25kaW5nIHNlY3Rpb25zIGJlbG93IGZvciBkZXRhaWxzLgorCisKK0RlcGVuZGVuY2llcworPT09PT09PT09PT09CisKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworICBVUkk6IGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL2JpdGJha2UKKyAgYnJhbmNoOiAxLjI4CisKKyAgVVJJOiBnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQtY29yZQorICBsYXllcnM6IG1ldGEKKyAgYnJhbmNoOiBrcm9nb3RoCisKKyAgVVJJOiBnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9tZXRhLW9wZW5lbWJlZGRlZAorICBsYXllcnM6IG1ldGEtb2UKKyAgYnJhbmNoOiBrcm9nb3RoCisKK1BhdGNoZXMKKz09PT09PT0KKworUGxlYXNlIHN1Ym1pdCBhbnkgcGF0Y2hlcyBhZ2FpbnN0IHRoZSBmaWxlc3lzdGVtcyBsYXllciB0byB0aGUKK09wZW5FbWJlZGRlZCBkZXZlbG9wbWVudCBtYWlsaW5nIGxpc3QgKG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnKQord2l0aCAnW21ldGEtZmlsZXN5c3RlbXNdW2tyb2dvdGhdJyBpbiB0aGUgc3ViamVjdC4KKworTWFpbnRhaW5lcnMgTGlzdDoKKyAgcGh5c2ZzICAgICAgQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorCisgIGZ1c2UgICAgICAgIEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CisgICAgICAgICAgICAgIFBoaWxpcCBCYWxpc3RlciA8cGhpbGlwQGJhbGlzdGVyLm9yZz4KKyAgICAgICAgICAgICAgaG9uZ3h1IGppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCisgIGlmdXNlICAgICAgIFNhbmRlciB2YW4gR3JpZWtlbiA8c2FuZGVyQG91dHJpZ2h0c29sdXRpb25zLm5sPgorICAgICAgICAgICAgICBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorCisgIHNzaGZzLWZ1c2UgIFBoaWxpcCBCYWxpc3RlciA8cGhpbGlwQGJhbGlzdGVyLm9yZz4KKyAgICAgICAgICAgICAgS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKworICBvd2ZzICAgICAgICBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorICAgICAgICAgICAgICBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorICAgICAgICAgICAgICBob25neHUgamlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKKyAgbnRmcy0zZy1udGZzcHJvZ3MgIE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CisgICAgICAgICAgICAgICAgICAgICBob25neHUgamlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKKyAgY3JhbWZzICAgICAgS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKworICBzbWJuZXRmcyAgICBTYW5kZXIgdmFuIEdyaWVrZW4gPHNhbmRlckBvdXRyaWdodHNvbHV0aW9ucy5ubD4KKyAgICAgICAgICAgICAgS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKworICBmdXNlLWV4ZmF0ICBob25neHUgamlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKKyAgZXhmYXQtdXRpbHMgaG9uZ3h1IGppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCisgIGYyZnMtdG9vbHMgIE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKyAgICAgICAgICAgICAgS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKworICB4ZnNwcm9ncyAgICBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorICAgICAgICAgICAgICBob25neHUgamlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKK1doZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzZSBzb21ldGhpbmcgbGlrZToKKworICAgZ2l0IHNlbmQtZW1haWwgLTEgLU0gXAorICAgICAgICAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIFwKKyAgICAgICAgLS1zdWJqZWN0LXByZWZpeD1tZXRhLWZpbGVzeXN0ZW1zXVtrcm9nb3RoXVtQQVRDSAorCitrcm9nb3RoIEJyYW5jaCBNYWludGFpbmVyOgorQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKworVGFibGUgb2YgQ29udGVudHMKKz09PT09PT09PT09PT09PT09CisKKyAgSS4gQWRkaW5nIHRoZSBmaWxlc3lzdGVtcyBsYXllciB0byB5b3VyIGJ1aWxkCisgSUkuIE1pc2MKKworCitJLiBBZGRpbmcgdGhlIGZpbGVzeXN0ZW1zIGxheWVyIHRvIHlvdXIgYnVpbGQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworSW4gb3JkZXIgdG8gdXNlIHRoaXMgbGF5ZXIsIHlvdSBuZWVkIHRvIG1ha2UgdGhlIGJ1aWxkIHN5c3RlbSBhd2FyZSBvZgoraXQuCisKK0Fzc3VtaW5nIHRoZSBmaWxlc3lzdGVtcyBsYXllciBleGlzdHMgYXQgdGhlIHRvcC1sZXZlbCBvZiB5b3VyCit5b2N0byBidWlsZCB0cmVlLCB5b3UgY2FuIGFkZCBpdCB0byB0aGUgYnVpbGQgc3lzdGVtIGJ5IGFkZGluZyB0aGUKK2xvY2F0aW9uIG9mIHRoZSBmaWxlc3lzdGVtcyBsYXllciB0byBiYmxheWVycy5jb25mLCBhbG9uZyB3aXRoIGFueQorb3RoZXIgbGF5ZXJzIG5lZWRlZC4gZS5nLjoKKworICBCQkxBWUVSUyA/PSAiIFwKKyAgICAvcGF0aC90by95b2N0by9tZXRhIFwKKyAgICAvcGF0aC90by95b2N0by9tZXRhLW9lIFwKKyAgICAvcGF0aC90by95b2N0by9tZXRhLWZpbGVzeXN0ZW1zIFwKKyAgICAiCisKKworSUkuIE1pc2MKKz09PT09PT09CisKKyAgLS0tIHBoeXNmcyAtLS0KKyAgQSBsaWJyYXJ5IHRvIHByb3ZpZGUgYWJzdHJhY3QgYWNjZXNzIHRvIHZhcmlvdXMgYXJjaGl2ZXMKKworICAtLS0gZnVzZSAtLS0KKyAgRmlsZXN5c3RlbSBpbiBVc2Vyc3BhY2UgKEZVU0UpIGlzIGEgc2ltcGxlIGludGVyZmFjZSBmb3IgdXNlcnNwYWNlIHByb2dyYW1zCisgIHRvIGV4cG9ydCBhIHZpcnR1YWwgZmlsZXN5c3RlbSB0byB0aGUgTGludXgga2VybmVsLgorCisgIC0tLSBpZnVzZSAtLS0KKyAgQSBmdXNlIGZpbGVzeXN0ZW0gdG8gYWNjZXNzIHRoZSBjb250ZW50cyBvZiBhbiBpUGhvbmUgb3IgaVBvZCBUb3VjaAorCisgIC0tLSBzc2hmcy1mdXNlIC0tLQorICBBIGZpbGVzeXN0ZW0gY2xpZW50IGJhc2VkIG9uIHRoZSBTU0ggRmlsZSBUcmFuc2ZlciBQcm90b2NvbAorCisgIC0tLSBvd2ZzIC0tLQorICBBbiBlYXN5IHdheSB0byB1c2UgdGhlIDEtV2lyZSBmaWxlIHN5c3RlbQorCisgIC0tLSBudGZzLTNnLW50ZnNwcm9ncyAtLS0KKyAgVGhlIG50ZnMtM2cgaXMgYSBmcmVlbHkgYXZhaWxhYmxlIHJlYWQvd3JpdGUgTlRGUyBkcml2ZXIgZm9yIExpbnV4IGFuZAorICBudGZzcHJvZ3MgaW5jbHVkZXMgdXRpbGl0aWVzIGZvciBkb2luZyBhbGwgcmVxdWlyZWQgdGFza3MgdG8gTlRGUyBwYXJ0aXRpb25zLgorCisgIC0tLSBjcmFtZnMgLS0tCisgIEJ1aWxkcyBjcmFtZnMgZmlsZXN5c3RlbXMgZm9yIGVtYmVkZGVkIHN5c3RlbXMKKworICAtLS0gc21ibmV0ZnMgLS0tCisgIFNNQk5ldEZTIGlzIGEgTGludXgvRnJlZUJTRCBmaWxlc3lzdGVtIHRoYXQgYWxsb3cgeW91IHRvIHVzZSBzYW1iYS9taWNyb3NvZnQKKyAgbmV0d29yayBpbiB0aGUgc2FtZSBtYW5uZXIgYXMgdGhlIG5ldHdvcmsgbmVpZ2hib3Job29kIGluIE1pY3Jvc29mdCBXaW5kb3dzLgorCisgIC0tLSBmdXNlLWV4ZmF0IC0tLQorICBBIHJlYWQgYW5kIHdyaXRlIGV4RkFUIGRyaXZlciBmb3IgRlVTRQorCisgIC0tLSBleGZhdC11dGlscyAtLS0KKyAgVXRpbGl0aWVzIHRvIGNyZWF0ZSwgY2hlY2ssIGxhYmVsIGFuZCBkdW1wIGV4RkFUIGZpbGVzeXN0ZW0KKworICAtLS0gZjJmcy10b29scyAtLS0KKyAgVG9vbHMgbmVlZGVkIGZvciBjcmVhdGluZyBhbmQgbWFuYWdpbmcgZjJmcyBwYXJ0aXRpb25zCisKKyAgLS0tIHhmc3Byb2dzIC0tLQorICBJdCBwcm92aWRlcyBYRlMgZmlsZXN5c3RlbSB1dGlsaXRpZXMuCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9jb25mL2xheWVyLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvY29uZi9sYXllci5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllZDZkMWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMTYgQEAKKyMgV2UgaGF2ZSBhIGNvbmYgYW5kIGNsYXNzZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJQQVRICitCQlBBVEggLj0gIjoke0xBWUVSRElSfSIKKworIyBXZSBoYXZlIHJlY2lwZXMtKiBkaXJlY3RvcmllcywgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgXAorCSR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQiCisKK0JCRklMRV9DT0xMRUNUSU9OUyArPSAiZmlsZXN5c3RlbXMtbGF5ZXIiCitCQkZJTEVfUEFUVEVSTl9maWxlc3lzdGVtcy1sYXllciA9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX2ZpbGVzeXN0ZW1zLWxheWVyID0gIjYiCisKKyMgVGhpcyBzaG91bGQgb25seSBiZSBpbmNyZW1lbnRlZCBvbiBzaWduaWZpY2FudCBjaGFuZ2VzIHRoYXQgd2lsbAorIyBjYXVzZSBjb21wYXRpYmlsaXR5IGlzc3VlcyB3aXRoIG90aGVyIGxheWVycworTEFZRVJWRVJTSU9OX2ZpbGVzeXN0ZW1zLWxheWVyID0gIjEiCisKK0xBWUVSREVQRU5EU19maWxlc3lzdGVtcy1sYXllciA9ICJjb3JlIG9wZW5lbWJlZGRlZC1sYXllciIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2Z1c2UtZXhmYXQvZnVzZS1leGZhdF8xLjIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2Z1c2UtZXhmYXQvZnVzZS1leGZhdF8xLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzllMzNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvZnVzZS1leGZhdC9mdXNlLWV4ZmF0XzEuMi4zLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAicmVhZCBhbmQgd3JpdGUgZXhGQVQgZHJpdmVyIGZvciBGVVNFIgorREVTQ1JJUFRJT04gPSAiZnVzZS1leGZhdCBpcyBhIHJlYWQgYW5kIHdyaXRlIGRyaXZlciBpbXBsZW1lbnRpbmcgdGhlIFwKK2V4dGVuZGVkIGZpbGUgYWxsb2NhdGlvbiB0YWJsZSBhcyBhIGZpbGVzeXN0ZW0gaW4gdXNlcnNwYWNlLiBBIG1vdW50aGVscGVyIFwKK2lzIHByb3ZpZGVkIHVuZGVyIHRoZSBuYW1lIG1vdW50LmV4ZmF0LWZ1c2UuIFwKKyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9leGZhdC8iCitTRUNUSU9OID0gInVuaXZlcnNlL290aGVyb3NmcyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9mL2Z1c2UtZXhmYXQvZnVzZS1leGZhdF8ke1BWfS5vcmlnLnRhci5neiBcCisiCitERVBFTkRTID0gImZ1c2UgdmlydHVhbC9saWJjIgorUlJFQ09NTUVORFNfJHtQTn0gPSAidXRpbC1saW51eC1tb3VudCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmY2E3MWU2NTk4Zjc5ZDAzN2EzYzdjOTY5Y2I1NzEwYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMmUwNmViYTVhMjFjNjIxYWFjMWQ2ZGEyMWIxMmE1YTMyNGZkZDFlMjBmOWM4YWNkMzU3ZGQ0NjNjMjM1NWQ5IgorCitTID0gIiR7V09SS0RJUn0vJHtQTn0tJHtQVn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9pZnVzZS9pZnVzZV8xLjEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2lmdXNlL2lmdXNlXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwYjU4YjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9pZnVzZS9pZnVzZV8xLjEuMi5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkEgZnVzZSBmaWxlc3lzdGVtIHRvIGFjY2VzcyB0aGUgY29udGVudHMgb2YgYW4gaVBob25lIG9yIGlQb2QgVG91Y2giCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmFiMTdiNDE2NDA1NjQ0MzRkZGE4NWMwNmI3MTI0ZjciCitIT01FUEFHRSA9Imh0dHA6Ly93d3cubGliaW1vYmlsZWRldmljZS5vcmcvIgorCitERVBFTkRTID0gImZ1c2UgbGliaW1vYmlsZWRldmljZSIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly93d3cubGliaW1vYmlsZWRldmljZS5vcmcvZG93bmxvYWRzL2lmdXNlLSR7UFZ9LnRhci5iejIgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDE1MjUyNmIyYWMzYzUwNWNiNDE3OTdkOTk3YmUxNGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDc4MzVjOGFmYjcyNTg4YjMyMDJmZTBiMjA2ZDdlYTM3YTY4NjYzZDlhYTRlYWY3M2YwYTRiY2I2MjE1ZmMwNSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9sb2dmc3Byb2dzL2xvZ2ZzcHJvZ3NfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvbG9nZnNwcm9ncy9sb2dmc3Byb2dzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMmViZWM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvbG9nZnNwcm9ncy9sb2dmc3Byb2dzX2dpdC5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkxvZ0ZTIFByb2dyYW1zOiB1c2VkIHRvIGNyZWF0ZSBMb2dGUyBmaWxlIHN5c3RlbSIKK0RFU0NSSVBUSU9OID0gIlwKK0xvZ0ZTIGlzIGEgTGludXggbG9nLXN0cnVjdHVyZWQgYW5kIHNjYWxhYmxlIGZsYXNoIGZpbGUgc3lzdGVtLCBpbnRlbmRlZCBcCitmb3IgdXNlIG9uIGxhcmdlIGRldmljZXMgb2YgZmxhc2ggbWVtb3J5LiBJdCBpcyB3cml0dGVuIGJ5IErDtnJuIEVuZ2VsIGFuZCBcCitpbiBwYXJ0IHNwb25zb3JlZCBieSB0aGUgQ0UgTGludXggRm9ydW0uIFwKK0xvZ0ZTIGlzIGluY2x1ZGVkIGluIHRoZSBtYWlubGluZSBMaW51eCBrZXJuZWwgYW5kIHdhcyBpbnRyb2R1Y2VkIGluIFwKK3ZlcnNpb24gMi42LjM0LCByZWxlYXNlZCBvbiBNYXkgMTYsIDIwMTAuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3ByYXNhZC1qb3NoaS9sb2dmc3Byb2dzIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2ZzY2suYzttZDU9Mzg1OWRjNzNkYTk3OTA5ZmYxZDAxMjVlODhhMjdlMDIiCitERVBFTkRTID0gInpsaWIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9wcmFzYWQtam9zaGkvbG9nZnNwcm9ncy5naXQiCitTUkNSRVYgPSAiNDViNzJjODFjZTNjNmZhMTdjYTE5YmFmYzIwN2VhOTNlNzYzMTJmNCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VNQUtFID0gIkNDPSIke0NDfSIgTEQ9IiR7TER9IiBBUj0iJHtBUn0iIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBta2RpciAtcCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vbWtsb2dmcyAke0R9JHtiaW5kaXJ9L21rbG9nZnMKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvbnRmcy0zZy1udGZzcHJvZ3MvbnRmcy0zZy1udGZzcHJvZ3NfMjAxMy4xLjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvbnRmcy0zZy1udGZzcHJvZ3MvbnRmcy0zZy1udGZzcHJvZ3NfMjAxMy4xLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5NTdlYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9udGZzLTNnLW50ZnNwcm9ncy9udGZzLTNnLW50ZnNwcm9nc18yMDEzLjEuMTMuYmIKQEAgLTAsMCArMSwzOSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIE5URlMtM0cgZHJpdmVyIGlzIGFuIG9wZW4gc291cmNlLCBmcmVlbHkgYXZhaWxhYmxlIE5URlMgZHJpdmVyIGZvciBMaW51eCB3aXRoIHJlYWQgYW5kIHdyaXRlIHN1cHBvcnQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5udGZzLTNnLm9yZy8iCitERVBFTkRTID0gImZ1c2UgbGliZ2NyeXB0IgorUFJPVklERVMgPSAibnRmc3Byb2dzIG50ZnMtM2ciCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWYzMGE5NzE2ZWYzNzYyZTM0NjdhMmY2MmJmNzkwZjBhIgorCitTUkNfVVJJID0gImh0dHA6Ly90dXhlcmEuY29tL29wZW5zb3VyY2UvbnRmcy0zZ19udGZzcHJvZ3MtJHtQVn0udGd6IgorUyA9ICIke1dPUktESVJ9L250ZnMtM2dfbnRmc3Byb2dzLSR7UFZ9IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmQ2ZmI0N2RkZjYyYjUxNzMzMjI3MTI2ZmU5MjI3ZmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGIzODNmMDA3NGEzYWI3NjgzMzM5ZDFmMTgyMjJiMTA3YWFlYjQ5ODNkYjExOTI5MmM0M2MyYjI3NWNlZmIyNyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3V1aWRdID0gIi0td2l0aC11dWlkLC0td2l0aG91dC11dWlkLHV0aWwtbGludXgiCisKKyMgcmVxdWlyZWQgb3IgaXQgY2FsbHMgbGRjb25maWcgYXQgaW5zdGFsbCBzdGVwCitFWFRSQV9PRU1BS0UgPSAiTERDT05GSUc9ZWNobyIKKworUEFDS0FHRVMgPSsgIm50ZnMtM2cgbnRmc3Byb2dzIGxpYm50ZnMtM2ciCisKK0ZJTEVTX250ZnMtM2cgPSAiJHtiYXNlX3NiaW5kaXJ9LyoubnRmcy0zZyAke2JpbmRpcn0vbnRmcy0zZyogJHtiYXNlX3NiaW5kaXJ9L21vdW50Lm50ZnMiCitSREVQRU5EU19udGZzLTNnICs9ICJmdXNlIgorUlJFQ09NTUVORFNfbnRmcy0zZyA9ICJ1dGlsLWxpbnV4LW1vdW50IgorCitGSUxFU19udGZzcHJvZ3MgPSAiJHtiYXNlX3NiaW5kaXJ9LyogJHtiaW5kaXJ9LyogJHtzYmluZGlyfS8qIgorRklMRVNfbGlibnRmcy0zZyA9ICIke2xpYmRpcn0vKiR7U09MSUJTfSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBTdGFuZGFyZCBtb3VudCB3aWxsIGV4ZWN1dGUgdGhlIHByb2dyYW0gL3NiaW4vbW91bnQuVFlQRQorICAgICMgd2hlbiBjYWxsZWQuIEFkZCB0aGUgc3ltYm9saWMgdG8gbGV0IG1vdW50IGNvdWxkIGZpbmQgbnRmcy4KKyAgICBsbiAtc2YgbW91bnQubnRmcy0zZyAke0R9LyR7YmFzZV9zYmluZGlyfS9tb3VudC5udGZzCit9CisKKyMgU2F0aXNmeSB0aGUgLWRldiBydW50aW1lIGRlcGVuZGVuY3kKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9vd2ZzL293ZnMvb3dodHRwZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL293ZnMvb3dmcy9vd2h0dHBkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVkNzRkMTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9vd2ZzL293ZnMvb3dodHRwZApAQCAtMCwwICsxLDYwIEBACisjIS9iaW4vc2gKKworUEFUSD0vc2JpbjovYmluOi91c3IvYmluCisKK0RBRU1PTj0ib3dodHRwZCIKKwordGVzdCAtZiAvdXNyL2Jpbi8ke0RBRU1PTn0gfHwgZXhpdCAwCisKK2lmIHRlc3QgLWYgL2V0Yy9kZWZhdWx0LyR7REFFTU9OfSA7IHRoZW4KKy4gL2V0Yy9kZWZhdWx0LyR7REFFTU9OfQorZWxzZQorOgorZmkKKworaWYgWyAiJFNUQVJUX09XSFRUUEQiICE9ICJ5ZXMiIF0KK3RoZW4KKyAgICAgICAgZXhpdCAwCitmaQorCQorCitzdGFydGRhZW1vbigpeworCWVjaG8gLW4gIlN0YXJ0aW5nICR7REFFTU9OfTogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLXggL3Vzci9iaW4vJHtEQUVNT059ICAtLSAke0NNRExJTkV9IC0tcGlkX2ZpbGUgL3Zhci9ydW4vJHtEQUVNT059LnBpZAorCWVjaG8gImRvbmUiCit9CisKK3N0b3BkYWVtb24oKXsKKwllY2hvIC1uICJTdG9wcGluZyAke0RBRU1PTn06ICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLXAgL3Zhci9ydW4vJHtEQUVNT059LnBpZAorICAgICAgICBlY2hvICJkb25lIgorfQorCQkJCQkJCQkJCQorCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwlzdGFydGRhZW1vbgorCTs7CisgIHN0b3ApCisJc3RvcGRhZW1vbgorCTs7CisgIGZvcmNlLXJlbG9hZCkKKwlzdG9wZGFlbW9uCisJc3RhcnRkYWVtb24KKwk7OworICByZXN0YXJ0KQorCXN0b3BkYWVtb24KKwlzdGFydGRhZW1vbgorCTs7CisgIHJlbG9hZCkKKwlzdG9wZGFlbW9uCisJc3RhcnRkYWVtb24KKwk7OworICAqKQorCWVjaG8gIlVzYWdlOiAke0RBRU1PTn0geyBzdGFydCB8IHN0b3AgfCByZXN0YXJ0IHwgcmVsb2FkIH0iID4mMgorCWV4aXQgMQorCTs7Citlc2FjCisJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL293ZnMvb3dmcy9vd3NlcnZlciBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL293ZnMvb3dmcy9vd3NlcnZlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNjllYTUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvb3dmcy9vd2ZzL293c2VydmVyCkBAIC0wLDAgKzEsNTkgQEAKKyMhL2Jpbi9zaAorCitQQVRIPS9zYmluOi9iaW46L3Vzci9iaW4KKworREFFTU9OPSJvd3NlcnZlciIKKwordGVzdCAtZiAvdXNyL2Jpbi8ke0RBRU1PTn0gfHwgZXhpdCAwCisKK2lmIHRlc3QgLWYgL2V0Yy9kZWZhdWx0LyR7REFFTU9OfSA7IHRoZW4KKy4gL2V0Yy9kZWZhdWx0LyR7REFFTU9OfQorZWxzZQorOgorZmkKKworaWYgWyAiJFNUQVJUX09XU0VSVkVSIiAhPSAieWVzIiBdIAordGhlbiAgCisJZXhpdCAwCitmaQorCitzdGFydGRhZW1vbigpeworCWVjaG8gLW4gIlN0YXJ0aW5nICR7REFFTU9OfTogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLXggL3Vzci9iaW4vJHtEQUVNT059IC0tICAke0NNRExJTkV9IC0tcGlkX2ZpbGUgL3Zhci9ydW4vJHtEQUVNT059LnBpZAorCWVjaG8gImRvbmUiCit9CisKK3N0b3BkYWVtb24oKXsKKwllY2hvIC1uICJTdG9wcGluZyAke0RBRU1PTn06ICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLXAgL3Zhci9ydW4vJHtEQUVNT059LnBpZAorICAgICAgICBlY2hvICJkb25lIgorfQorCQkJCQkJCQkJCQorCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwlzdGFydGRhZW1vbgorCTs7CisgIHN0b3ApCisJc3RvcGRhZW1vbgorCTs7CisgIGZvcmNlLXJlbG9hZCkKKwlzdG9wZGFlbW9uCisJc3RhcnRkYWVtb24KKwk7OworICByZXN0YXJ0KQorCXN0b3BkYWVtb24KKwlzdGFydGRhZW1vbgorCTs7CisgIHJlbG9hZCkKKwlzdG9wZGFlbW9uCisJc3RhcnRkYWVtb24KKwk7OworICAqKQorCWVjaG8gIlVzYWdlOiAke0RBRU1PTn0geyBzdGFydCB8IHN0b3AgfCByZXN0YXJ0IHwgcmVsb2FkIH0iID4mMgorCWV4aXQgMQorCTs7Citlc2FjCisJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL293ZnMvb3dmc18yLjlwMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL293ZnMvb3dmc18yLjlwMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMWZkN2U5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvb3dmcy9vd2ZzXzIuOXAxLmJiCkBAIC0wLDAgKzEsNjggQEAKK1NVTU1BUlkgPSAiMS1XaXJlIGZpbGUgc3lzdGVtIgorREVTQ1JJUFRJT04gPSAiT1dGUyBpcyBhbiBlYXN5IHdheSB0byB1c2UgdGhlIHBvd2VyZnVsIDEtd2lyZSBzeXN0ZW0gb2YgRGFsbGFzL01heGltIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vd2ZzLm9yZy8iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKKworTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWEwYmM0MjdmNDIzYTQxMjIwYWI3OWEwYjM5MjIxOGJkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT04NjVjNGJkNjQyZDllMDRmNDM5MjVhZDdlOTI5YWU4NyIKKworREVQRU5EUyA9ICJmdXNlIHZpcnR1YWwvbGlidXNiMCIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vb3dmcy9vd2ZzLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9vd2h0dHBkIFwKKyAgICAgICAgICAgZmlsZTovL293c2VydmVyICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NmJhMTQ1YmUyMDgwMDJlNTg3NzVhNzIwMzM2OTg1MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZDIyZGJmZjcyZDIzNTQ3NjY4OGMwMjY2OWY3MTcxYjIzZTIxZGZmYWRmNDBiYmRkM2I4MjYzOTA4MjE4NDI0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1mdXNlaW5jbHVkZT0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1mdXNlbGliPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAgLS1lbmFibGUtb3dmcyBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLW93aHR0cGQgXAorICAgICAgICAgICAgICAgICAtLWVuYWJsZS13MSBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zd2lnIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW93dGNsIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW93cGhwIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW93cHl0aG9uIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW93cGVybCBcCisiCisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vb3dodHRwZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvb3dodHRwZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L293c2VydmVyICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9vd3NlcnZlcgorfQorCitQQUNLQUdFUyA9KyAib3dmdHBkIG93aHR0cGQgb3dzZXJ2ZXIgb3dzaGVsbCBsaWJvd2NhcGkgbGlib3cgbGlib3duZXQgb3dtb24gb3d0YXAiCisKK0RFU0NSSVBUSU9OX293ZnRwZCA9ICJBbm95bW91cyBGVFAgc2VydmVyIGZvciAxLXdpcmUgYWNjZXNzIgorREVTQ1JJUFRJT05fb3dodHRwZCA9ICJUaW55IHdlYnNlcnZlciBmb3IgMS13aXJlIGNvbnRyb2wiCitERVNDUklQVElPTl9vd3NlcnZlciA9ICJCYWNrZW5kIHNlcnZlciAoZGFlbW9uKSBmb3IgMS13aXJlIGNvbnRyb2wiCitERVNDUklQVElPTl9vd3NoZWxsID0gIm93ZGlyIG93cmVhZCBvd3dyaXRlIG93cHJlc2VudCBvd2dldCAtIGxpZ2h0d2VpZ2h0IG93c2VydmVyIGFjY2VzcyIKK0RFU0NSSVBUSU9OX2xpYm93Y2FwaSA9ICJlYXN5IEMtbGFuZ3VhZ2UgMS13aXJlIGludGVyZmFjZSAiCitERVNDUklQVElPTl9saWJvdyA9ICJlYXN5IEMtbGFuZ3VhZ2UgMS13aXJlIGludGVyZmFjZSB0byB0aGUgb3dzZXJ2ZXIgcHJvdG9jb2wiCitERVNDUklQVElPTl9saWJvd25ldCA9ICJlYXN5IEMtbGFuZ3VhZ2UgMS13aXJlIGludGVyZmFjZSB0byB0aGUgb3dzZXJ2ZXIgcHJvdG9jb2wiCitERVNDUklQVElPTl9vd21vbiA9ICJNb25pdG9yIGZvciBvd3NlcnZlciBzZXR0aW5ncyBhbmQgc3RhdGlzdGljcyIKK0RFU0NSSVBUSU9OX293dGFwID0gIlBhY2tldCBzbmlmZmVyIGZvciB0aGUgb3dzZXJ2ZXIgcHJvdG9jb2wiCisKK0ZJTEVTX293ZnRwZCA9ICIke2JpbmRpcn0vb3dmdHBkIgorRklMRVNfb3dodHRwZCA9ICIke2JpbmRpcn0vb3dodHRwZCAke3N5c2NvbmZkaXJ9L2luaXQuZC9vd2h0dHBkIgorRklMRVNfb3dzZXJ2ZXIgPSAiJHtiaW5kaXJ9L293c2VydmVyICR7c3lzY29uZmRpcn0vaW5pdC5kL293c2VydmVyIgorRklMRVNfb3dzaGVsbCA9ICIke2JpbmRpcn0vb3dyZWFkICR7YmluZGlyfS9vd3dyaXRlIFwKKyAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L293ZGlyICR7YmluZGlyfS9vd3ByZXNlbnQgXAorICAgICAgICAgICAgICAgICAke2JpbmRpcn0vb3dnZXQgJHtiaW5kaXJ9L293c2lkZSIKK0ZJTEVTX293bW9uID0gIiR7YmluZGlyfS9vd21vbiIKK0ZJTEVTX293dGFwID0gIiR7YmluZGlyfS9vd3RhcCIKK0ZJTEVTX2xpYm93Y2FwaSA9ICIke2xpYmRpcn0vbGlib3djYXBpLSoiCitGSUxFU19saWJvdyA9ICIke2xpYmRpcn0vbGlib3ctKiIKK0ZJTEVTX2xpYm93bmV0ID0gIiR7bGliZGlyfS9saWJvd25ldC0qIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIm93aHR0cGQgb3dzZXJ2ZXIiCitJTklUU0NSSVBUX05BTUVfb3dzZXJ2ZXIgPSAib3dzZXJ2ZXIiCitJTklUU0NSSVBUX05BTUVfb3dodHRwZCA9ICJvd2h0dHBkIgorSU5JVFNDUklQVF9QQVJBTVNfb3dzZXJ2ZXIgPSAiZGVmYXVsdHMgMjAiCitJTklUU0NSSVBUX1BBUkFNU19vd2h0dHBkID0gImRlZmF1bHRzIDIxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvc2ltcGxlLW10cGZzL3NpbXBsZS1tdHBmc19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zaW1wbGUtbXRwZnMvc2ltcGxlLW10cGZzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODU5NzdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvc2ltcGxlLW10cGZzL3NpbXBsZS1tdHBmc19naXQuYmIKQEAgLTAsMCArMSwxMyBAQAorREVTQ1JJUFRJT04gPSAiU0lNUExFLU1UUEZTIGlzIGEgRlVTRSBiYXNlZCBmaWxzeXN0ZW0gZm9yIE1UUCBkZXZpY2VzIGNvbm5lY3RlZCB2aWEgVVNCIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3BoYXRpbmEvc2ltcGxlLW10cGZzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1ODU5OTg5NTQ1ZTM3OTY4YTk5YjYzMWVmNDI3MjJlIgorCitERVBFTkRTID0gImZ1c2UgbGlibXRwIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3BoYXRpbmEvc2ltcGxlLW10cGZzLmdpdDtwcm90b2NvbD1odHRwczticmFuY2g9bWFzdGVyIgorU1JDUkVWID0gImE3YWI2NGM3ZTRkN2FjYTE1NWNiYzdjZTk0MTJhYWY2OGVmNmU0MDQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zbWJuZXRmcy9zbWJuZXRmcy9Vc2luZy1QS0dfQ0hFQ0tfTU9EVUxFUy10by1mb3VuZC1oZWFkZXJzLWFuZC1saWJyYXJpZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zbWJuZXRmcy9zbWJuZXRmcy9Vc2luZy1QS0dfQ0hFQ0tfTU9EVUxFUy10by1mb3VuZC1oZWFkZXJzLWFuZC1saWJyYXJpZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA1ZjA5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3NtYm5ldGZzL3NtYm5ldGZzL1VzaW5nLVBLR19DSEVDS19NT0RVTEVTLXRvLWZvdW5kLWhlYWRlcnMtYW5kLWxpYnJhcmllcy5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIDdhNTI0ZDQ5YjNkNDQ1OTI4MGYxODk0MmRmMjk4MDYwMzQwMGVjNTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IEZyaSwgMTkgSnVuIDIwMTUgMTE6NTQ6NDQgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNpbmcgUEtHX0NIRUNLX01PRFVMRVMgdG8gZm91bmQgaGVhZGVycyBhbmQgbGlicmFyaWVzIG9mCisgc21iY2xpZW50CisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorLS0tCisgY29uZmlndXJlLmluICAgIHwgNSArKysrKworIHNyYy9NYWtlZmlsZS5hbSB8IDMgKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggY2UyMWFlZi4uZWNkNzExOSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtMTI1LDYgKzEyNSwxMSBAQCBBQ19DSEVDS19MSUIoc21iY2xpZW50LCBzbWJjX3NldE9wdGlvblVzZXJEYXRhLAorICAgICApXQorICkKKyAKKytkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKytkbmwgKioqIENoZWNrIGxpYnNtYmNsaWVudCBieSBwa2djb25maWcgdG8gZ2V0IGNmbGFncyBhbmQgbGRmbGFncyAqKioKKytkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKytQS0dfQ0hFQ0tfTU9EVUxFUyhTTUJDTElFTlQsIHNtYmNsaWVudCkKKysKKyBkbmwgKioqKioqKioqKioqKioqKioqCisgZG5sICoqKiBGaW5hbCBzdGVwICoqKgorIGRubCAqKioqKioqKioqKioqKioqKioKK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KK2luZGV4IDQxNTE5ZDguLjlmYzk3ZTkgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAgLTE2LDMgKzE2LDYgQEAgc21ibmV0ZnNfU09VUkNFUyA9IFwKKyAJZXZlbnQuYwkJCWV2ZW50LmgJCQlcCisgCXJlY29uZmlndXJlLmMJCXJlY29uZmlndXJlLmgJCVwKKyAJbWFpbi5jCisrCisrc21ibmV0ZnNfQ0ZMQUdTPSR7U01CQ0xJRU5UX0NGTEFHU30KKytzbWJuZXRmc19MREZMQUdTPSR7U01CQ0xJRU5UX0xERkxBR1N9CistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvc21ibmV0ZnMvc21ibmV0ZnMvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvc21ibmV0ZnMvc21ibmV0ZnMvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4MGZlZDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zbWJuZXRmcy9zbWJuZXRmcy9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorSW5kZXg6IGdpdC9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9jb25maWd1cmUuaW4JMjAxNC0wNi0xOCAxNjowNjoxNi4wNDA3MjEzNDkgKzAwMDAKKysrKyBnaXQvY29uZmlndXJlLmluCTIwMTQtMDctMTggMDc6NDk6MTcuMDg1NTUyMjU2ICswMDAwCitAQCAtMSw1ICsxLDUgQEAKKyBBQ19JTklUKFtTTUJOZXRGU10sWzAuNS4z0LBdKQorLUFNX0lOSVRfQVVUT01BS0UKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKKyBBQ19DT05GSUdfSEVBREVSUyhbc3JjL2NvbmZpZy5oXSkKKyBBQ19QUk9HX0NDCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zbWJuZXRmcy9zbWJuZXRmc19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zbWJuZXRmcy9zbWJuZXRmc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE0MjBmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3NtYm5ldGZzL3NtYm5ldGZzX2dpdC5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkZVU0UgbW9kdWxlIGZvciBtb3VudGluZyBhbiBlbnRpcmUgU01CL05NQiBuZXR3b3JrIGluIGEgc2luZ2xlIGRpcmVjdG9yeSIKK0RFU0NSSVBUSU9OID0gIlNNQk5ldEZTIGlzIGEgTGludXgvRnJlZUJTRCBmaWxlc3lzdGVtIHRoYXQgYWxsb3cgeW91IHRvIHVzZSBcCisgICAgICAgICAgICAgICBzYW1iYS9taWNyb3NvZnQgbmV0d29yayBpbiB0aGUgc2FtZSBtYW5uZXIgYXMgdGhlIG5ldHdvcmsgXAorICAgICAgICAgICAgICAgbmVpZ2hib3Job29kIGluIE1pY3Jvc29mdCBXaW5kb3dzLiBQbGVhc2UgZG9uYXRlIG1lIHRvIGhlbHAgXAorICAgICAgICAgICAgICAgaW4gU01CTmV0RlMgZGV2ZWxvcG1lbnQuIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWI3MjNiNjE1MzlmZWVmMDEzZGU0NzZlNjhiNWM1MGEiCitIT01FUEFHRSA9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvc21ibmV0ZnMiCisKK0RFUEVORFMgPSAiZnVzZSBzYW1iYSIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2l0cGtndiBwa2djb25maWcKKworUEtHViA9ICIke0dJVFBLR1ZUQUd9IgorCitTUkNSRVYgPSAiYWNlMWM1MTlkNDVmZTQ4OGI5YjdlNmNjNzdhMmJjYWRiNmM4MzQ2NCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9zbWJuZXRmcy5naXQuc291cmNlZm9yZ2UubmV0L2dpdHJvb3Qvc21ibmV0ZnMvc21ibmV0ZnM7YnJhbmNoPW1hc3RlciBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vVXNpbmctUEtHX0NIRUNLX01PRFVMRVMtdG8tZm91bmQtaGVhZGVycy1hbmQtbGlicmFyaWVzLnBhdGNoIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tnbm9tZS1rZXlyaW5nXSA9ICItLXdpdGgtZ25vbWUta2V5cmluZz15ZXMsLS13aXRoLWdub21lLWtleXJpbmc9bm8sbGliZ25vbWUta2V5cmluZyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3NzaGZzLWZ1c2Uvc3NoZnMtZnVzZV8yLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zc2hmcy1mdXNlL3NzaGZzLWZ1c2VfMi41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1NGNmY2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9zc2hmcy1mdXNlL3NzaGZzLWZ1c2VfMi41LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiVGhpcyBpcyBhIGZpbGVzeXN0ZW0gY2xpZW50IGJhc2VkIG9uIHRoZSBTU0ggRmlsZSBUcmFuc2ZlciBQcm90b2NvbCB1c2luZyBGVVNFIgorQVVUSE9SID0gIk1pa2xvcyBTemVyZWRpIDxtaWtsb3NAc3plcmVkaS5odT4iCitIT01FUEFHRSA9ICJodHRwOi8vZnVzZS5zb3VyY2Vmb3JnZS5uZXQvc3NoZnMuaHRtbCIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJHUEx2MiIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZnVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9mdXNlLyR7QlB9LnRhci5neiIKK1MgPSAiJHtXT1JLRElSfS8ke0JQfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vc3Nobm9kZWxheS5zbyIKKworU1JDX1VSSVttZDVzdW1dID0gIjE3NDk0OTEwZGI4MzgzYTM2NmIxMzAxZTVmNTE0OGE5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU5MTcxNDUyZTVkMDE1MGI5YzZhMjE1OGZkMmUyZGNlZmI1ZDVkMDNiYTRkMjA4OTQ5ZTAwYTNhNDZjNmU2M2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy91bmlvbmZzLWZ1c2UvdW5pb25mcy1mdXNlXzAuMjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy91bmlvbmZzLWZ1c2UvdW5pb25mcy1mdXNlXzAuMjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RmOWMzOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3VuaW9uZnMtZnVzZS91bmlvbmZzLWZ1c2VfMC4yNi5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkEgRlVTRSBiYXNlZCBpbXBsZW1lbnRpb24gb2YgdW5pb25mcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9wb2Rnb3JueS5jei9tb2luL1VuaW9uRnNGdXNlIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0RFUEVORFMgPSAiZnVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy91bmlvbmZzLmM7YmVnaW5saW5lPTM7ZW5kbGluZT04O21kNT0zMGZhOGRlNzBmZDhhYmFiMDBiNDgzYTFiNzk0M2EzMiIKKworU1JDX1VSSSA9ICJodHRwOi8vcG9kZ29ybnkuY3ovdW5pb25mcy1mdXNlL3JlbGVhc2VzLyR7QlB9LnRhci54eiIKKworU1JDX1VSSVttZDVzdW1dID0gIjY4OWM2MzY0ODQ3NTZmNmY3YTcyOGVmMzU0Y2JlYWMyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkNWM5ZGNiNTFlY2I5YTliMDM4OTBlMTZkMTdlMzdkNjAyYjBjMWYyM2VkNmE5ZGRlYzJiMGY3MTljOWY2NjIiCisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfSBQUkVGSVg9JHtleGVjX3ByZWZpeH0KK30KKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy95YWZmczIveWFmZnMyLXV0aWxzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3lhZmZzMi95YWZmczItdXRpbHNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1M2VhNjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy95YWZmczIveWFmZnMyLXV0aWxzX2dpdC5iYgpAQCAtMCwwICsxLDM2IEBACitTVU1NQVJZID0gIllldCBBbm90aGVyIEZsYXNoIEZpbGUgU3lzdGVtIgorREVTQ1JJUFRJT04gPSAiVG9vbHMgZm9yIG1hbmFnaW5nICd5YWZmczInIGZpbGUgc3lzdGVtcy4iCisKK1NFQ1RJT04gPSAiYmFzZSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cueWFmZnMubmV0IgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdXRpbHMvbWt5YWZmczJpbWFnZS5jO2JlZ2lubGluZT0xMjtlbmRsaW5lPTE0O21kNT01ZjU0NjRmOWIzZTk4MWNhNTc0ZTY1YjAwZTQzODU2MSIKKworUFYgPSAiMC4wK2dpdCR7U1JDUFZ9IgorCitERVBFTkRTID0gIm10ZC11dGlscyIKKworIyBTb3VyY2UgaXMgdGhlIEhFQUQgb2YgbWFzdGVyIGJyYW5jaCBhdCB0aGUgdGltZSBvZiB3cml0aW5nIHRoaXMgcmVjaXBlCitTUkNfVVJJID0gImdpdDovL3d3dy5hbGVwaDEuY28udWsveWFmZnMyO3Byb3RvY29sPWdpdDticmFuY2g9bWFzdGVyIgorU1JDUkVWID0gImJjNzY2ODJkOTM5NTVjZmIzMzA1MWJlYjUwM2FkOWY4YTU0NTA1NzgiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitDRkxBR1NfYXBwZW5kID0gIiAtSS4uIC1EQ09ORklHX1lBRkZTX1VUSUwgLURDT05GSUdfWUFGRlNfREVGSU5FU19UWVBFUyIKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitkb19jb21waWxlKCkgeworICAgIGNkIHV0aWxzICYmIG9lX3J1bm1ha2UKK30KKworSU5TVEFMTF9GSUxFUyA9ICJta3lhZmZzaW1hZ2UgXAorICAgICAgICAgICAgICAgICBta3lhZmZzMmltYWdlIFwKKyAgICAgICAgICAgICAgICAiCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0vCisgICAgZm9yIGkgaW4gJHtJTlNUQUxMX0ZJTEVTfTsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1IHV0aWxzLyRpICR7RH0ke3NiaW5kaXJ9LworICAgIGRvbmUKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1zdXBwb3J0L2Z1c2UvZmlsZXMvMDAwMS1mdXNlLWZpeC10aGUtcmV0dXJuLXZhbHVlLW9mLWhlbHAtb3B0aW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9mdXNlL2ZpbGVzLzAwMDEtZnVzZS1maXgtdGhlLXJldHVybi12YWx1ZS1vZi1oZWxwLW9wdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzdkYmI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9mdXNlL2ZpbGVzLzAwMDEtZnVzZS1maXgtdGhlLXJldHVybi12YWx1ZS1vZi1oZWxwLW9wdGlvbi5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIDIxODJjNDIzYzZjZDIzNWMwNTJlNmM0MjAyMDNmMjRlYzliY2Q2YWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMdSBDaG9uZyA8Q2hvbmcuTHVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMzAgT2N0IDIwMTMgMTU6Mjc6MDAgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZnVzZTogZml4IHRoZSByZXR1cm4gdmFsdWUgb2YgIi0taGVscCIgb3B0aW9uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMdSBDaG9uZyA8Q2hvbmcuTHVAd2luZHJpdmVyLmNvbT4KKy0tLQorIHV0aWwvZnVzZXJtb3VudC5jIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvdXRpbC9mdXNlcm1vdW50LmMgYi91dGlsL2Z1c2VybW91bnQuYworaW5kZXggYjJlODdkOS4uNzBkN2M3NSAxMDA2NDQKKy0tLSBhL3V0aWwvZnVzZXJtb3VudC5jCisrKysgYi91dGlsL2Z1c2VybW91bnQuYworQEAgLTExNjgsNyArMTE2OCw3IEBAIHN0YXRpYyB2b2lkIHVzYWdlKHZvaWQpCisgCQkiIC1xCQkgICAgcXVpZXRcbiIKKyAJCSIgLXoJCSAgICBsYXp5IHVubW91bnRcbiIsCisgCQlwcm9nbmFtZSk7CistCWV4aXQoMSk7CisrCWV4aXQoMCk7CisgfQorIAorIHN0YXRpYyB2b2lkIHNob3dfdmVyc2lvbih2b2lkKQorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXN1cHBvcnQvZnVzZS9maWxlcy9hYXJjaDY0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9mdXNlL2ZpbGVzL2FhcmNoNjQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUwZDExNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXN1cHBvcnQvZnVzZS9maWxlcy9hYXJjaDY0LnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK2Z1c2U6IGFkZCBhYXJjaDY0IHN1cHBvcnQKKwordTY0L3UzMiBpcyBub3QgZGVmaW5lZCBpbiBzeXMvdHlwZXMuaCwgaW5jbHVkZSBsaW51eC90eXBlcy5oIGxpa2UKK3RoZSBrZXJuZWwgdmVyc2lvbiBvZiBmdXNlLmggZG9lcy4gUGF0Y2ggc2VudCB0byB1cHN0cmVhbSBtYWlsaW5nIGxpc3QuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCitTaWduZWQtb2ZmLWJ5OiBSaWt1IFZvaXBpbyA8cmlrdS52b2lwaW9AbGluYXJvLm9yZz4KK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGluY2x1ZGUvZnVzZV9rZXJuZWwuaCB8IDcgKy0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luY2x1ZGUvZnVzZV9rZXJuZWwuaCBiL2luY2x1ZGUvZnVzZV9rZXJuZWwuaAoraW5kZXggYzYzMmI1OC4uZTgwNDI3OCAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvZnVzZV9rZXJuZWwuaAorKysrIGIvaW5jbHVkZS9mdXNlX2tlcm5lbC5oCitAQCAtODgsMTIgKzg4LDcgQEAKKyAjaWZuZGVmIF9MSU5VWF9GVVNFX0gKKyAjZGVmaW5lIF9MSU5VWF9GVVNFX0gKKyAKKy0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+CistI2RlZmluZSBfX3U2NCB1aW50NjRfdAorLSNkZWZpbmUgX19zNjQgaW50NjRfdAorLSNkZWZpbmUgX191MzIgdWludDMyX3QKKy0jZGVmaW5lIF9fczMyIGludDMyX3QKKy0jZGVmaW5lIF9fdTE2IHVpbnQxNl90CisrI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisgCisgLyoKKyAgKiBWZXJzaW9uIG5lZ290aWF0aW9uOgorLS0gCisxLjguMS4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXN1cHBvcnQvZnVzZS9maWxlcy9mdXNlLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1zdXBwb3J0L2Z1c2UvZmlsZXMvZnVzZS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1MTdjNDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1zdXBwb3J0L2Z1c2UvZmlsZXMvZnVzZS5jb25mCkBAIC0wLDAgKzEgQEAKK2Z1c2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXN1cHBvcnQvZnVzZS9maWxlcy9nb2xkLXVudmVyc2lvbmVkLXN5bWJvbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXN1cHBvcnQvZnVzZS9maWxlcy9nb2xkLXVudmVyc2lvbmVkLXN5bWJvbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDdmNjkyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9mdXNlL2ZpbGVzL2dvbGQtdW52ZXJzaW9uZWQtc3ltYm9sLnBhdGNoCkBAIC0wLDAgKzEsOTIgQEAKK2Z1c2U6IEZpeCBsaW5raW5nIGlzc3VlcyB3aXRoIGdvbGQgbGlua2VyCisKK2Z1c2UgaGFzIHByb2JsZW1zIHdoZW4gbGlua2luZyB3aXRoIGdvbGQgc2luY2UgaXQgdXNlcyB2ZXJzaW9uCitzY3JpcHRzIGluIGEgd2F5IHRoYXRzIHNvIHBlcnRpY3VsYXIgdG8gYmZkIGxkCisKKy9ob21lL2tyYWovd29yay9hbmdzdHJvbS9idWlsZC90bXAtYW5nc3Ryb21fMjAxMF94LWVnbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYmV4ZWMvYXJtdjV0ZS1hbmdzdHJvbS1saW51eC1nbnVlYWJpL2djYy9hcm0tYW5nc3RybworZXJyb3I6IHN5bWJvbCBfX2Z1c2VfZXhpdGVkIGhhcyB1bmRlZmluZWQgdmVyc2lvbgorfCBjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cworfCBtYWtlWzFdOiAqKiogW2xpYmZ1c2UubGFdIEVycm9yIDEKK3wgbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KKworRm9yIG1vcmUgZGV0YWlscworCitodHRwOi8vYmxvZy5mbGFtZWV5ZXMuZXUvMjAxMS8wNi8wMS9nb2xkLXJlYWRpbmVzcy1vYnN0YWNsZS0yLWJhc2UtdmVyc2lvbmluZworaHR0cDovL3NvdXJjZXMucmVkaGF0LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTA4NjEKK2h0dHA6Ly9jb21tZW50cy5nbWFuZS5vcmcvZ21hbmUuY29tcC5maWxlLXN5c3RlbXMuZnVzZS5kZXZlbC85NTI0CitodHRwOi8vd3d3LmFpcnMuY29tL2Jsb2cvYXJjaGl2ZXMvMzAwCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWIvZnVzZS5jICAgICAgICAgICAgIHwgMTAgKysrKystLS0tLQorIGxpYi9mdXNlX210LmMgICAgICAgICAgfCAgMiArLQorIGxpYi9mdXNlX3ZlcnNpb25zY3JpcHQgfCAgMyArKysKKyBsaWIvaGVscGVyLmMgICAgICAgICAgIHwgIDYgKysrLS0tCisgNCBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL2Z1c2UuYyBiL2xpYi9mdXNlLmMKK2luZGV4IDA2N2QwZGMuLjZkMjc3MTEgMTAwNjQ0CistLS0gYS9saWIvZnVzZS5jCisrKysgYi9saWIvZnVzZS5jCitAQCAtNDg3MywxMSArNDg3MywxMSBAQCBzdHJ1Y3QgZnVzZSAqZnVzZV9uZXdfY29tcGF0MShpbnQgZmQsIGludCBmbGFncywKKyAJCQkJICAgICAgMTEpOworIH0KKyAKKy1GVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX2V4aXRlZCxfX2Z1c2VfZXhpdGVkQCIpOworLUZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2VfcHJvY2Vzc19jbWQsX19mdXNlX3Byb2Nlc3NfY21kQCIpOworLUZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2VfcmVhZF9jbWQsX19mdXNlX3JlYWRfY21kQCIpOworLUZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2Vfc2V0X2dldGNvbnRleHRfZnVuYyxfX2Z1c2Vfc2V0X2dldGNvbnRleHRfZnVuY0AiKTsKKy1GVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX25ld19jb21wYXQyLGZ1c2VfbmV3QCIpOworK0ZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2VfZXhpdGVkLF9fZnVzZV9leGl0ZWRARlVTRV9VTlZFUlNJT05FRCIpOworK0ZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2VfcHJvY2Vzc19jbWQsX19mdXNlX3Byb2Nlc3NfY21kQEZVU0VfVU5WRVJTSU9ORUQiKTsKKytGVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX3JlYWRfY21kLF9fZnVzZV9yZWFkX2NtZEBGVVNFX1VOVkVSU0lPTkVEIik7CisrRlVTRV9TWU1WRVIoIi5zeW12ZXIgZnVzZV9zZXRfZ2V0Y29udGV4dF9mdW5jLF9fZnVzZV9zZXRfZ2V0Y29udGV4dF9mdW5jQEZVU0VfVU5WRVJTSU9ORUQiKTsKKytGVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX25ld19jb21wYXQyLGZ1c2VfbmV3QEZVU0VfVU5WRVJTSU9ORUQiKTsKKyBGVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX25ld19jb21wYXQyMixmdXNlX25ld0BGVVNFXzIuMiIpOworIAorICNlbmRpZiAvKiBfX0ZyZWVCU0RfXyB8fCBfX05ldEJTRF9fICAqLworZGlmZiAtLWdpdCBhL2xpYi9mdXNlX210LmMgYi9saWIvZnVzZV9tdC5jCitpbmRleCBmNmRiZTcxLi5mZDVhYzIzIDEwMDY0NAorLS0tIGEvbGliL2Z1c2VfbXQuYworKysrIGIvbGliL2Z1c2VfbXQuYworQEAgLTExOSw0ICsxMTksNCBAQCBpbnQgZnVzZV9sb29wX210KHN0cnVjdCBmdXNlICpmKQorIAlyZXR1cm4gcmVzOworIH0KKyAKKy1GVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX2xvb3BfbXRfcHJvYyxfX2Z1c2VfbG9vcF9tdEAiKTsKKytGVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX2xvb3BfbXRfcHJvYyxfX2Z1c2VfbG9vcF9tdEBGVVNFX1VOVkVSU0lPTkVEIik7CitkaWZmIC0tZ2l0IGEvbGliL2Z1c2VfdmVyc2lvbnNjcmlwdCBiL2xpYi9mdXNlX3ZlcnNpb25zY3JpcHQKK2luZGV4IDhkOTE4ODcuLmRlMTZhYjIgMTAwNjQ0CistLS0gYS9saWIvZnVzZV92ZXJzaW9uc2NyaXB0CisrKysgYi9saWIvZnVzZV92ZXJzaW9uc2NyaXB0CitAQCAtMSwzICsxLDYgQEAKKytGVVNFX1VOVkVSU0lPTkVEIHsKKyt9OworKworIEZVU0VfMi4yIHsKKyAJZ2xvYmFsOgorIAkJZnVzZV9kZXN0cm95OworZGlmZiAtLWdpdCBhL2xpYi9oZWxwZXIuYyBiL2xpYi9oZWxwZXIuYworaW5kZXggYjY0NDAxMi4uYzUzNDliZiAxMDA2NDQKKy0tLSBhL2xpYi9oZWxwZXIuYworKysrIGIvbGliL2hlbHBlci5jCitAQCAtNDM2LDEwICs0MzYsMTAgQEAgaW50IGZ1c2VfbW91bnRfY29tcGF0MShjb25zdCBjaGFyICptb3VudHBvaW50LCBjb25zdCBjaGFyICphcmdzW10pCisgCXJldHVybiBmdXNlX21vdW50X2NvbXBhdDIyKG1vdW50cG9pbnQsIE5VTEwpOworIH0KKyAKKy1GVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX3NldHVwX2NvbXBhdDIsX19mdXNlX3NldHVwQCIpOworK0ZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2Vfc2V0dXBfY29tcGF0MixfX2Z1c2Vfc2V0dXBARlVTRV9VTlZFUlNJT05FRCIpOworIEZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2Vfc2V0dXBfY29tcGF0MjIsZnVzZV9zZXR1cEBGVVNFXzIuMiIpOworLUZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2VfdGVhcmRvd24sX19mdXNlX3RlYXJkb3duQCIpOworLUZVU0VfU1lNVkVSKCIuc3ltdmVyIGZ1c2VfbWFpbl9jb21wYXQyLGZ1c2VfbWFpbkAiKTsKKytGVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX3RlYXJkb3duLF9fZnVzZV90ZWFyZG93bkBGVVNFX1VOVkVSU0lPTkVEIik7CisrRlVTRV9TWU1WRVIoIi5zeW12ZXIgZnVzZV9tYWluX2NvbXBhdDIsZnVzZV9tYWluQEZVU0VfVU5WRVJTSU9ORUQiKTsKKyBGVVNFX1NZTVZFUigiLnN5bXZlciBmdXNlX21haW5fcmVhbF9jb21wYXQyMixmdXNlX21haW5fcmVhbEBGVVNFXzIuMiIpOworIAorICNlbmRpZiAvKiBfX0ZyZWVCU0RfXyB8fCBfX05ldEJTRF9fICovCistLSAKKzEuOC4xLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9mdXNlL2Z1c2VfMi45LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1zdXBwb3J0L2Z1c2UvZnVzZV8yLjkuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2M2ZGJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9mdXNlL2Z1c2VfMi45LjQuYmIKQEAgLTAsMCArMSw2NCBAQAorU1VNTUFSWSA9ICJJbXBsZW1lbnRhdGlvbiBvZiBhIGZ1bGx5IGZ1bmN0aW9uYWwgZmlsZXN5c3RlbSBpbiBhIHVzZXJzcGFjZSBwcm9ncmFtIgorREVTQ1JJUFRJT04gPSAiRlVTRSAoRmlsZXN5c3RlbSBpbiBVc2Vyc3BhY2UpIGlzIGEgc2ltcGxlIGludGVyZmFjZSBmb3IgdXNlcnNwYWNlIFwKKyAgICAgICAgICAgICAgIHByb2dyYW1zIHRvIGV4cG9ydCBhIHZpcnR1YWwgZmlsZXN5c3RlbSB0byB0aGUgTGludXgga2VybmVsLiBGVVNFIFwKKyAgICAgICAgICAgICAgIGFsc28gYWltcyB0byBwcm92aWRlIGEgc2VjdXJlIG1ldGhvZCBmb3Igbm9uIHByaXZpbGVnZWQgdXNlcnMgdG8gXAorICAgICAgICAgICAgICAgY3JlYXRlIGFuZCBtb3VudCB0aGVpciBvd24gZmlsZXN5c3RlbSBpbXBsZW1lbnRhdGlvbnMuIFwKKyAgICAgICAgICAgICAgIgorSE9NRVBBR0UgPSAiaHR0cDovL2Z1c2Uuc2YubmV0IgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZnVzZS9mdXNlLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9nb2xkLXVudmVyc2lvbmVkLXN5bWJvbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hYXJjaDY0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZnVzZS1maXgtdGhlLXJldHVybi12YWx1ZS1vZi1oZWxwLW9wdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9mdXNlLmNvbmYgXAorIgorU1JDX1VSSVttZDVzdW1dID0gImVjYjcxMmI1ZmZjNmRmZmQ1NGY0YTQwNWM5YjM3MmQ4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZiZTljMGJmZjZhZjhjNjc3NDE0OTM1ZjMxNjk5ZWE1YTdmOGY1Zjc5MWNmYTUyMDViZTAyZWExODZiOTdjZTEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJmdXNlIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiIgorCitERVBFTkRTID0gImdldHRleHQtbmF0aXZlIgorCitQQUNLQUdFUyA9KyAiZnVzZS11dGlscy1kYmcgZnVzZS11dGlscyBsaWJ1bG9ja21nciBsaWJ1bG9ja21nci1kZXYgbGlidWxvY2ttZ3ItZGJnIgorCisjIEZ1c2VybW91bnQgcmVxdWlyZXMgZmVhdHVyZXMgZnJvbSB0aGUgdXRpbC1saW51eCB2ZXJzaW9uIG9mIG1vdW50LgorUkRFUEVORFNfJHtQTn0gKz0gInV0aWwtbGludXgtbW91bnQiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtZnVzZSBsaWJ1bG9ja21nciBmdXNlLXV0aWxzIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2xpYmZ1c2Uuc28uKiIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2xpYmZ1c2UqLmxhIgorCitGSUxFU19saWJ1bG9ja21nciA9ICIke2xpYmRpcn0vbGlidWxvY2ttZ3Iuc28uKiIKK0ZJTEVTX2xpYnVsb2NrbWdyLWRldiArPSAiJHtsaWJkaXJ9L2xpYnVsb2NrKi5sYSIKK0ZJTEVTX2xpYnVsb2NrbWdyLWRiZyArPSAiJHtsaWJkaXJ9Ly5kZWJ1Zy9saWJ1bG9jayoiCisKKyMgRm9yYmlkIGF1dG8tcmVuYW1pbmcgdG8gbGliZnVzZS11dGlscworRklMRVNfZnVzZS11dGlscyA9ICIke2JpbmRpcn0gJHtiYXNlX3NiaW5kaXJ9IgorRklMRVNfZnVzZS11dGlscy1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1ZyAke2Jhc2Vfc2JpbmRpcn0vLmRlYnVnIgorREVCSUFOX05PQVVUT05BTUVfZnVzZS11dGlscyA9ICIxIgorREVCSUFOX05PQVVUT05BTUVfZnVzZS11dGlscy1kYmcgPSAiMSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLXJmICR7RH0ke2Jhc2VfcHJlZml4fS9kZXYKKworICAgICMgc3lzdGVtZCBjbGFzcyByZW1vdmUgdGhlIHN5c3ZfaW5pdGRkaXIgb25seSBpZiBzeXN0ZW1kX3N5c3RlbV91bml0ZGlyCisgICAgIyBjb250YWlucyBhbnl0aGluZywgYnV0IGl0J3Mgbm90IG5lZWRlZCBpZiBzeXN2aW5pdCBpcyBub3QgaW4gRElTVFJPX0ZFQVRVUkVTCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICdmYWxzZScsICd0cnVlJywgZCl9OyB0aGVuCisgICAgICAgIHJtIC1yZiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvCisgICAgZmkKKworICAgICMgSW5zdGFsbCBzeXN0ZW1kIHJlbGF0ZWQgY29uZmlndXJhdGlvbiBmaWxlCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9tb2R1bGVzLWxvYWQuZAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9mdXNlLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vbW9kdWxlcy1sb2FkLmQKKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzIuMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzIuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2MThmMjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1zdXBwb3J0L3BoeXNmcy9waHlzZnNfMi4wLjMuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJQaHlzaWNzRlMgaXMgYSBsaWJyYXJ5IHRvIHByb3ZpZGUgYWJzdHJhY3QgYWNjZXNzIHRvIHZhcmlvdXMgYXJjaGl2ZXMiCitIT01FQVBBR0UgPSAiaHR0cDovL2ljY3VsdXMub3JnL3BoeXNmcyIKK0xJQ0VOU0UgPSAiWmxpYiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT01ZDk0ZTNlYWFhMTBiMDBjYTgwM2JhMzVhM2U4N2NkZSIKK0RFUEVORFMgPSAicmVhZGxpbmUgemxpYiIKKworaW5oZXJpdCBjbWFrZQorCitTUkNfVVJJID0gImh0dHA6Ly9pY2N1bHVzLm9yZy8ke0JQTn0vZG93bmxvYWRzLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiYzJjNzI3YThhOGRlYjYyM2I1MjFiNTJkMDA4MGY2MTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2E4NjIwOTdjMGZiNDUxZjJjYWNkMjg2MTk0ZDA3MTI4OTM0MmMxMDdiNmZlNjkwNzljMDc5ODgzZmY2NmI2OSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWwvYXVmcy11dGlsLWFkZC10b29sLWNvbmNlcHQtdG8tTWFrZWZpbGUtZm9yLWNyb3NzLWNvbS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWwvYXVmcy11dGlsLWFkZC10b29sLWNvbmNlcHQtdG8tTWFrZWZpbGUtZm9yLWNyb3NzLWNvbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzM1NTg2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvYXVmcy11dGlsL2F1ZnMtdXRpbC9hdWZzLXV0aWwtYWRkLXRvb2wtY29uY2VwdC10by1NYWtlZmlsZS1mb3ItY3Jvc3MtY29tLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK1N1YmplY3Q6IFtQQVRDSF0gYXVmcy11dGlsOiBhZGQgdG9vbCBjb25jZXB0IHRvIE1ha2VmaWxlIGZvciBjcm9zcyBjb21waWxpbmcKKyBwdXJwb3NlCisKK0luIGEgY3Jvc3MgY29tcGlsYXRpb24gZW52aXJvbm1lbnQsIGMyc2gsIGMydG1hYyBhbmQgdmVyIG5lZWQgdG8gYmUgY3JlYXRlZCBmaXJzdC4KK0FkZCBhIHRvb2xzIHRhcmdldCB0byBNYWtlZmlsZSB0byBhbGxvdyBmb3IgdGhpcy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggMmY5MDVhZC4uNDljM2NkNSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTg1LDcgKzg1LDcgQEAgYXVmcy41OiBhdWZzLmluLjUgYzJ0bWFjCisgCWNobW9kIGEtdyAkQAorIAorIGMyc2ggYzJ0bWFjIHZlcjogQ0MgPSAke0hPU1RDQ30KKy0uSU5URVJNRURJQVRFOiBjMnNoIGMydG1hYyB2ZXIKKyt0b29sczogYzJzaCBjMnRtYWMgdmVyCisgCisgSW5zdGFsbCA9IGluc3RhbGwgLW8gcm9vdCAtZyByb290IC1wCisgaW5zdGFsbF9zYmluOiBGaWxlID0gYXVpYnVzeSBhdXBsaW5rIG1vdW50LmF1ZnMgdW1vdW50LmF1ZnMKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9hdWZzLXV0aWwvYXVmcy11dGlsL2F1ZnMtdXRpbC1kb24tdC1zdHJpcC1leGVjdXRhYmxlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWwvYXVmcy11dGlsLWRvbi10LXN0cmlwLWV4ZWN1dGFibGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlMmE2YTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9hdWZzLXV0aWwvYXVmcy11dGlsL2F1ZnMtdXRpbC1kb24tdC1zdHJpcC1leGVjdXRhYmxlcy5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDI0NDg2M2VjYTc3ZmNhYTExODc4ODQ4MzZjM2UyOGQ2YjZkMTUwNGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgOSBBcHIgMjAxMyAxODo1MDozNCAtMDcwMAorU3ViamVjdDogW1BBVENIXSBhdWZzLXV0aWw6IGRvbid0IHN0cmlwIGV4ZWN1dGFibGVzCisKK0J5IGRlZmF1bHQsIGF1ZnMtdXRpbCBzdHJpcHMgaXRzIGJpbmFyaWVzLiBUaGlzIHByb2R1Y2VzIFFBIHdhcm5pbmdzCithcyBmb2xsb3dzOgorCisgICBXQVJOSU5HOiBGaWxlICcvc2Jpbi9tb3VudC5hdWZzJyBmcm9tIGF1ZnMtdXRpbCB3YXMgYWxyZWFkeSBzdHJpcHBlZCwgdGhpcyB3aWxsIHByZXZlbnQgZnV0dXJlIGRlYnVnZ2luZyEKKyAgIFdBUk5JTkc6IEZpbGUgJy9zYmluL2F1cGxpbmsnIGZyb20gYXVmcy11dGlsIHdhcyBhbHJlYWR5IHN0cmlwcGVkLCB0aGlzIHdpbGwgcHJldmVudCBmdXR1cmUgZGVidWdnaW5nIQorICAgV0FSTklORzogRmlsZSAnL3NiaW4vdW1vdW50LmF1ZnMnIGZyb20gYXVmcy11dGlsIHdhcyBhbHJlYWR5IHN0cmlwcGVkLCB0aGlzIHdpbGwgcHJldmVudCBmdXR1cmUgZGVidWdnaW5nIQorICAgV0FSTklORzogRmlsZSAnL3NiaW4vYXVpYnVzeScgZnJvbSBhdWZzLXV0aWwgd2FzIGFscmVhZHkgc3RyaXBwZWQsIHRoaXMgd2lsbCBwcmV2ZW50IGZ1dHVyZSBkZWJ1Z2dpbmchCisgICBXQVJOSU5HOiBGaWxlICcvdXNyL2xpYi9saWJhdS5zby4yLjYnIGZyb20gYXVmcy11dGlsIHdhcyBhbHJlYWR5IHN0cmlwcGVkLCB0aGlzIHdpbGwgcHJldmVudCBmdXR1cmUgZGVidWdnaW5nIQorCitUbyBwcmV2ZW50IHRoaXMsIHdlIHJlbW92ZSAtcyBmcm9tIExERkxBR1MuCisKK1NpZ25lZC1vZmYtYnk6IEJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAyZjkwNWFkLi5lMGM2ZGNkIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtNTYsNyArNTYsNyBAQCBhbGw6IHZlcl90ZXN0ICR7TWFufSAke0Jpbn0gJHtFdGN9CisgdmVyX3Rlc3Q6IHZlcgorIAkuL3ZlcgorIAorLSR7QmlufTogb3ZlcnJpZGUgTERGTEFHUyArPSAtc3RhdGljIC1zCisrJHtCaW59OiBvdmVycmlkZSBMREZMQUdTICs9IC1zdGF0aWMKKyAke0Jpbn06IExETElCUyA9IC1MLiAtbGF1dGlsCisgJHtCaW5PYmp9OiAlLm86ICUuYyAke0xpYlV0aWxIZHJ9ICR7TGliVXRpbH0KKyAKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvYXVmcy11dGlsL2F1ZnMtdXRpbC9hdWZzX3R5cGUuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWwvYXVmc190eXBlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk0ODAzMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWwvYXVmc190eXBlLmgKQEAgLTAsMCArMSw0MTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAxNSBKdW5qaXJvIFIuIE9rYWppbWEKKyAqCisgKiBUaGlzIHByb2dyYW0sIGF1ZnMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisKKyNpZm5kZWYgX19BVUZTX1RZUEVfSF9fCisjZGVmaW5lIF9fQVVGU19UWVBFX0hfXworCisjZGVmaW5lIEFVRlNfTkFNRQkiYXVmcyIKKworI2lmZGVmIF9fS0VSTkVMX18KKy8qCisgKiBkZWZpbmUgaXQgYmVmb3JlIGluY2x1ZGluZyBhbGwgb3RoZXIgaGVhZGVycy4KKyAqIHNjaGVkLmggbWF5IHVzZSBwcl8qIG1hY3JvcyBiZWZvcmUgZGVmaW5pbmcgImN1cnJlbnQiLCBzbyBkZWZpbmUgdGhlCisgKiBuby1jdXJyZW50IHZlcnNpb24gZmlyc3QsIGFuZCByZS1kZWZpbmUgbGF0ZXIuCisgKi8KKyNkZWZpbmUgcHJfZm10KGZtdCkJQVVGU19OQU1FICIgJXM6JWQ6ICIgZm10LCBfX2Z1bmNfXywgX19MSU5FX18KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI3VuZGVmIHByX2ZtdAorI2RlZmluZSBwcl9mbXQoZm10KSBcCisJCUFVRlNfTkFNRSAiICVzOiVkOiUuKnNbJWRdOiAiIGZtdCwgX19mdW5jX18sIF9fTElORV9fLCBcCisJCShpbnQpc2l6ZW9mKGN1cnJlbnQtPmNvbW0pLCBjdXJyZW50LT5jb21tLCBjdXJyZW50LT5waWQKKyNlbHNlCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjZW5kaWYgLyogX19LRVJORUxfXyAqLworCisjaW5jbHVkZSA8bGludXgvbGltaXRzLmg+CisKKyNkZWZpbmUgQVVGU19WRVJTSU9OCSIzLjE4LTIwMTUwNDA2IgorCisvKiB0b2RvPyBtb3ZlIHRoaXMgdG8gbGludXgtMi42LjE5L2luY2x1ZGUvbWFnaWMuaCAqLworI2RlZmluZSBBVUZTX1NVUEVSX01BR0lDCSgnYScgPDwgMjQgfCAndScgPDwgMTYgfCAnZicgPDwgOCB8ICdzJykKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisjaWZkZWYgQ09ORklHX0FVRlNfQlJBTkNIX01BWF8xMjcKK3R5cGVkZWYgaW50OF90IGF1ZnNfYmluZGV4X3Q7CisjZGVmaW5lIEFVRlNfQlJBTkNIX01BWCAxMjcKKyNlbHNlCit0eXBlZGVmIGludDE2X3QgYXVmc19iaW5kZXhfdDsKKyNpZmRlZiBDT05GSUdfQVVGU19CUkFOQ0hfTUFYXzUxMQorI2RlZmluZSBBVUZTX0JSQU5DSF9NQVggNTExCisjZWxpZiBkZWZpbmVkKENPTkZJR19BVUZTX0JSQU5DSF9NQVhfMTAyMykKKyNkZWZpbmUgQVVGU19CUkFOQ0hfTUFYIDEwMjMKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FVRlNfQlJBTkNIX01BWF8zMjc2NykKKyNkZWZpbmUgQVVGU19CUkFOQ0hfTUFYIDMyNzY3CisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgX19LRVJORUxfXworI2lmbmRlZiBBVUZTX0JSQU5DSF9NQVgKKyNlcnJvciB1bmtub3duIENPTkZJR19BVUZTX0JSQU5DSF9NQVggdmFsdWUKKyNlbmRpZgorI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisjZGVmaW5lIEFVRlNfRlNUWVBFCQlBVUZTX05BTUUKKworI2RlZmluZSBBVUZTX1JPT1RfSU5PCQkyCisjZGVmaW5lIEFVRlNfRklSU1RfSU5PCQkxMQorCisjZGVmaW5lIEFVRlNfV0hfUEZYCQkiLndoLiIKKyNkZWZpbmUgQVVGU19XSF9QRlhfTEVOCQkoKGludClzaXplb2YoQVVGU19XSF9QRlgpIC0gMSkKKyNkZWZpbmUgQVVGU19XSF9UTVBfTEVOCQk0CisvKiBhIGxpbWl0IGZvciBybWRpci9yZW5hbWUgYSBkaXIgYW5kIGNvcHl1cCAqLworI2RlZmluZSBBVUZTX01BWF9OQU1FTEVOCShOQU1FX01BWCBcCisJCQkJLSBBVUZTX1dIX1BGWF9MRU4gKiAyCS8qIGRvdWJseSB3aGl0ZW91dGVkICovXAorCQkJCS0gMQkJCS8qIGRvdCAqL1wKKwkJCQktIEFVRlNfV0hfVE1QX0xFTikJLyogaGV4ICovCisjZGVmaW5lIEFVRlNfWElOT19GTkFNRQkJIi4iIEFVRlNfTkFNRSAiLnhpbm8iCisjZGVmaW5lIEFVRlNfWElOT19ERUZQQVRICSIvdG1wLyIgQVVGU19YSU5PX0ZOQU1FCisjZGVmaW5lIEFVRlNfWElOT19ERUZfU0VDCTMwIC8qIHNlY29uZHMgKi8KKyNkZWZpbmUgQVVGU19YSU5PX0RFRl9UUlVOQwk0NSAvKiBwZXJjZW50YWdlICovCisjZGVmaW5lIEFVRlNfRElSV0hfREVGCQkzCisjZGVmaW5lIEFVRlNfUkRDQUNIRV9ERUYJMTAgLyogc2Vjb25kcyAqLworI2RlZmluZSBBVUZTX1JEQ0FDSEVfTUFYCTM2MDAgLyogc2Vjb25kcyAqLworI2RlZmluZSBBVUZTX1JEQkxLX0RFRgkJNTEyIC8qIGJ5dGVzICovCisjZGVmaW5lIEFVRlNfUkRIQVNIX0RFRgkJMzIKKyNkZWZpbmUgQVVGU19XS1FfTkFNRQkJQVVGU19OQU1FICJkIgorI2RlZmluZSBBVUZTX01GU19ERUZfU0VDCTMwIC8qIHNlY29uZHMgKi8KKyNkZWZpbmUgQVVGU19NRlNfTUFYX1NFQwkzNjAwIC8qIHNlY29uZHMgKi8KKyNkZWZpbmUgQVVGU19GSFNNX0NBQ0hFX0RFRl9TRUMJMzAgLyogc2Vjb25kcyAqLworI2RlZmluZSBBVUZTX1BMSU5LX1dBUk4JCTUwIC8qIG51bWJlciBvZiBwbGlua3MgaW4gYSBzaW5nbGUgYnVja2V0ICovCisKKy8qIHBzZXVkby1saW5rIG1haW50ZW5hY2UgdW5kZXIgL3Byb2MgKi8KKyNkZWZpbmUgQVVGU19QTElOS19NQUlOVF9OQU1FCSJwbGlua19tYWludCIKKyNkZWZpbmUgQVVGU19QTElOS19NQUlOVF9ESVIJImZzLyIgQVVGU19OQU1FCisjZGVmaW5lIEFVRlNfUExJTktfTUFJTlRfUEFUSAlBVUZTX1BMSU5LX01BSU5UX0RJUiAiLyIgQVVGU19QTElOS19NQUlOVF9OQU1FCisKKyNkZWZpbmUgQVVGU19ESVJPUFFfTkFNRQlBVUZTX1dIX1BGWCAiLm9wcSIgLyogd2hpdGVvdXRlZCBkb3VibHkgKi8KKyNkZWZpbmUgQVVGU19XSF9ESVJPUFEJCUFVRlNfV0hfUEZYIEFVRlNfRElST1BRX05BTUUKKworI2RlZmluZSBBVUZTX0JBU0VfTkFNRQkJQVVGU19XSF9QRlggQVVGU19OQU1FCisjZGVmaW5lIEFVRlNfUExJTktESVJfTkFNRQlBVUZTX1dIX1BGWCAicGxuayIKKyNkZWZpbmUgQVVGU19PUlBIRElSX05BTUUJQVVGU19XSF9QRlggIm9ycGgiCisKKy8qIGRvdWJseSB3aGl0ZW91dGVkICovCisjZGVmaW5lIEFVRlNfV0hfQkFTRQkJQVVGU19XSF9QRlggQVVGU19CQVNFX05BTUUKKyNkZWZpbmUgQVVGU19XSF9QTElOS0RJUglBVUZTX1dIX1BGWCBBVUZTX1BMSU5LRElSX05BTUUKKyNkZWZpbmUgQVVGU19XSF9PUlBIRElSCQlBVUZTX1dIX1BGWCBBVUZTX09SUEhESVJfTkFNRQorCisvKiBicmFuY2ggcGVybWlzc2lvbnMgYW5kIGF0dHJpYnV0ZXMgKi8KKyNkZWZpbmUgQVVGU19CUlBFUk1fUlcJCSJydyIKKyNkZWZpbmUgQVVGU19CUlBFUk1fUk8JCSJybyIKKyNkZWZpbmUgQVVGU19CUlBFUk1fUlIJCSJyciIKKyNkZWZpbmUgQVVGU19CUkFUVFJfQ09PX1JFRwkiY29vX3JlZyIKKyNkZWZpbmUgQVVGU19CUkFUVFJfQ09PX0FMTAkiY29vX2FsbCIKKyNkZWZpbmUgQVVGU19CUkFUVFJfRkhTTQkiZmhzbSIKKyNkZWZpbmUgQVVGU19CUkFUVFJfVU5QSU4JInVucGluIgorI2RlZmluZSBBVUZTX0JSQVRUUl9JQ0VYCSJpY2V4IgorI2RlZmluZSBBVUZTX0JSQVRUUl9JQ0VYX1NFQwkiaWNleHNlYyIKKyNkZWZpbmUgQVVGU19CUkFUVFJfSUNFWF9TWVMJImljZXhzeXMiCisjZGVmaW5lIEFVRlNfQlJBVFRSX0lDRVhfVFIJImljZXh0ciIKKyNkZWZpbmUgQVVGU19CUkFUVFJfSUNFWF9VU1IJImljZXh1c3IiCisjZGVmaW5lIEFVRlNfQlJBVFRSX0lDRVhfT1RICSJpY2V4b3RoIgorI2RlZmluZSBBVUZTX0JSUkFUVFJfV0gJCSJ3aCIKKyNkZWZpbmUgQVVGU19CUldBVFRSX05MV0gJIm5vbHdoIgorI2RlZmluZSBBVUZTX0JSV0FUVFJfTU9PCSJtb28iCisKKyNkZWZpbmUgQXVCclBlcm1fUlcJCTEJCS8qIHdyaXRhYmxlLCBoYXJkbGlua2FibGUgd2ggKi8KKyNkZWZpbmUgQXVCclBlcm1fUk8JCSgxIDw8IDEpCS8qIHJlYWRvbmx5ICovCisjZGVmaW5lIEF1QnJQZXJtX1JSCQkoMSA8PCAyKQkvKiBuYXRpdmVseSByZWFkb25seSAqLworI2RlZmluZSBBdUJyUGVybV9NYXNrCQkoQXVCclBlcm1fUlcgfCBBdUJyUGVybV9STyB8IEF1QnJQZXJtX1JSKQorCisjZGVmaW5lIEF1QnJBdHRyX0NPT19SRUcJKDEgPDwgMykJLyogY29weS11cCBvbiBvcGVuICovCisjZGVmaW5lIEF1QnJBdHRyX0NPT19BTEwJKDEgPDwgNCkKKyNkZWZpbmUgQXVCckF0dHJfQ09PX01hc2sJKEF1QnJBdHRyX0NPT19SRUcgfCBBdUJyQXR0cl9DT09fQUxMKQorCisjZGVmaW5lIEF1QnJBdHRyX0ZIU00JCSgxIDw8IDUpCS8qIGZpbGUtYmFzZWQgaHNtICovCisjZGVmaW5lIEF1QnJBdHRyX1VOUElOCQkoMSA8PCA2KQkvKiByZW5hbWUtYWJsZSB0b3AgZGlyIG9mCisJCQkJCQkgICBicmFuY2guIG1lYW5pbmdsZXNzIHNpbmNlCisJCQkJCQkgICBsaW51eC0zLjE4LXJjMSAqLworCisvKiBpZ25vcmUgZXJyb3IgaW4gY29weWluZyBYQVRUUiAqLworI2RlZmluZSBBdUJyQXR0cl9JQ0VYX1NFQwkoMSA8PCA3KQorI2RlZmluZSBBdUJyQXR0cl9JQ0VYX1NZUwkoMSA8PCA4KQorI2RlZmluZSBBdUJyQXR0cl9JQ0VYX1RSCSgxIDw8IDkpCisjZGVmaW5lIEF1QnJBdHRyX0lDRVhfVVNSCSgxIDw8IDEwKQorI2RlZmluZSBBdUJyQXR0cl9JQ0VYX09USAkoMSA8PCAxMSkKKyNkZWZpbmUgQXVCckF0dHJfSUNFWAkJKEF1QnJBdHRyX0lDRVhfU0VDCVwKKwkJCQkgfCBBdUJyQXR0cl9JQ0VYX1NZUwlcCisJCQkJIHwgQXVCckF0dHJfSUNFWF9UUglcCisJCQkJIHwgQXVCckF0dHJfSUNFWF9VU1IJXAorCQkJCSB8IEF1QnJBdHRyX0lDRVhfT1RIKQorCisjZGVmaW5lIEF1QnJSQXR0cl9XSAkJKDEgPDwgMTIpCS8qIHdoaXRlb3V0LWFibGUgKi8KKyNkZWZpbmUgQXVCclJBdHRyX01hc2sJCUF1QnJSQXR0cl9XSAorCisjZGVmaW5lIEF1QnJXQXR0cl9Ob0xpbmtXSAkoMSA8PCAxMykJLyogdW4taGFyZGxpbmthYmxlIHdoaXRlb3V0cyAqLworI2RlZmluZSBBdUJyV0F0dHJfTU9PCQkoMSA8PCAxNCkJLyogbW92ZS11cCBvbiBvcGVuICovCisjZGVmaW5lIEF1QnJXQXR0cl9NYXNrCQkoQXVCcldBdHRyX05vTGlua1dIIHwgQXVCcldBdHRyX01PTykKKworI2RlZmluZSBBdUJyQXR0cl9DTU9PX01hc2sJKEF1QnJBdHRyX0NPT19NYXNrIHwgQXVCcldBdHRyX01PTykKKworLyogI3dhcm5pbmcgdGVzdCB1c2Vyc3BhY2UgKi8KKyNpZmRlZiBfX0tFUk5FTF9fCisjaWZuZGVmIENPTkZJR19BVUZTX0ZIU00KKyN1bmRlZiBBdUJyQXR0cl9GSFNNCisjZGVmaW5lIEF1QnJBdHRyX0ZIU00JCTAKKyNlbmRpZgorI2lmbmRlZiBDT05GSUdfQVVGU19YQVRUUgorI3VuZGVmCUF1QnJBdHRyX0lDRVgKKyNkZWZpbmUgQXVCckF0dHJfSUNFWAkJMAorI3VuZGVmCUF1QnJBdHRyX0lDRVhfU0VDCisjZGVmaW5lIEF1QnJBdHRyX0lDRVhfU0VDCTAKKyN1bmRlZglBdUJyQXR0cl9JQ0VYX1NZUworI2RlZmluZSBBdUJyQXR0cl9JQ0VYX1NZUwkwCisjdW5kZWYJQXVCckF0dHJfSUNFWF9UUgorI2RlZmluZSBBdUJyQXR0cl9JQ0VYX1RSCTAKKyN1bmRlZglBdUJyQXR0cl9JQ0VYX1VTUgorI2RlZmluZSBBdUJyQXR0cl9JQ0VYX1VTUgkwCisjdW5kZWYJQXVCckF0dHJfSUNFWF9PVEgKKyNkZWZpbmUgQXVCckF0dHJfSUNFWF9PVEgJMAorI2VuZGlmCisjZW5kaWYKKworLyogdGhlIGxvbmdlc3QgY29tYmluYXRpb24gKi8KKy8qIEFVRlNfQlJBVFRSX0lDRVggYW5kIEFVRlNfQlJBVFRSX0lDRVhfVFIgZG9uJ3QgYWZmZWN0IGhlcmUgKi8KKyNkZWZpbmUgQXVCclBlcm1TdHJTeglzaXplb2YoQVVGU19CUlBFUk1fUlcJCQlcCisJCQkgICAgICAgIisiIEFVRlNfQlJBVFRSX0NPT19SRUcJCVwKKwkJCSAgICAgICAiKyIgQVVGU19CUkFUVFJfRkhTTQkJXAorCQkJICAgICAgICIrIiBBVUZTX0JSQVRUUl9VTlBJTgkJXAorCQkJICAgICAgICIrIiBBVUZTX0JSQVRUUl9JQ0VYX1NFQwkJXAorCQkJICAgICAgICIrIiBBVUZTX0JSQVRUUl9JQ0VYX1NZUwkJXAorCQkJICAgICAgICIrIiBBVUZTX0JSQVRUUl9JQ0VYX1VTUgkJXAorCQkJICAgICAgICIrIiBBVUZTX0JSQVRUUl9JQ0VYX09USAkJXAorCQkJICAgICAgICIrIiBBVUZTX0JSV0FUVFJfTkxXSCkKKwordHlwZWRlZiBzdHJ1Y3QgeworCWNoYXIgYVtBdUJyUGVybVN0clN6XTsKK30gYXVfYnJfcGVybV9zdHJfdDsKKworc3RhdGljIGlubGluZSBpbnQgYXVfYnJfd3JpdGFibGUoaW50IGJycGVybSkKK3sKKwlyZXR1cm4gYnJwZXJtICYgQXVCclBlcm1fUlc7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGF1X2JyX3doYWJsZShpbnQgYnJwZXJtKQoreworCXJldHVybiBicnBlcm0gJiAoQXVCclBlcm1fUlcgfCBBdUJyUkF0dHJfV0gpOworfQorCitzdGF0aWMgaW5saW5lIGludCBhdV9icl93aF9saW5rYWJsZShpbnQgYnJwZXJtKQoreworCXJldHVybiAhKGJycGVybSAmIEF1QnJXQXR0cl9Ob0xpbmtXSCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGF1X2JyX2Ntb28oaW50IGJycGVybSkKK3sKKwlyZXR1cm4gYnJwZXJtICYgQXVCckF0dHJfQ01PT19NYXNrOworfQorCitzdGF0aWMgaW5saW5lIGludCBhdV9icl9maHNtKGludCBicnBlcm0pCit7CisJcmV0dXJuIGJycGVybSAmIEF1QnJBdHRyX0ZIU007Cit9CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyogaW9jdGwgKi8KK2VudW0geworCS8qIHJlYWRkaXIgaW4gdXNlcnNwYWNlICovCisJQXVDdGxfUkRVLAorCUF1Q3RsX1JEVV9JTk8sCisKKwlBdUN0bF9XQlJfRkQsCS8qIHBhdGhjb25mIHdyYXBwZXIgKi8KKwlBdUN0bF9JQlVTWSwJLyogYnVzeSBpbm9kZSAqLworCUF1Q3RsX01WRE9XTiwJLyogbW92ZS1kb3duICovCisJQXVDdGxfQlIsCS8qIGluZm8gYWJvdXQgYnJhbmNoZXMgKi8KKwlBdUN0bF9GSFNNX0ZECS8qIGNvbm5lY3Rpb24gZm9yIGZoc20gKi8KK307CisKKy8qIGJvcnJvd2VkIGZyb20gbGludXgvaW5jbHVkZS9saW51eC9rZXJuZWwuaCAqLworI2lmbmRlZiBBTElHTgorI2RlZmluZSBBTElHTih4LCBhKQkJX19BTElHTl9NQVNLKHgsICh0eXBlb2YoeCkpKGEpLTEpCisjZGVmaW5lIF9fQUxJR05fTUFTSyh4LCBtYXNrKQkoKCh4KSsobWFzaykpJn4obWFzaykpCisjZW5kaWYKKworLyogYm9ycm93ZWQgZnJvbSBsaW51eC9pbmNsdWRlL2xpbnV4L2NvbXBpbGVyLWdjYzMuaCAqLworI2lmbmRlZiBfX2FsaWduZWQKKyNkZWZpbmUgX19hbGlnbmVkKHgpCQkJX19hdHRyaWJ1dGVfXygoYWxpZ25lZCh4KSkpCisjZW5kaWYKKworI2lmZGVmIF9fS0VSTkVMX18KKyNpZm5kZWYgX19wYWNrZWQKKyNkZWZpbmUgX19wYWNrZWQJCQlfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQorI2VuZGlmCisjZW5kaWYKKworc3RydWN0IGF1X3JkdV9jb29raWUgeworCXVpbnQ2NF90CWhfcG9zOworCWludDE2X3QJCWJpbmRleDsKKwl1aW50OF90CQlmbGFnczsKKwl1aW50OF90CQlwYWQ7CisJdWludDMyX3QJZ2VuZXJhdGlvbjsKK30gX19hbGlnbmVkKDgpOworCitzdHJ1Y3QgYXVfcmR1X2VudCB7CisJdWludDY0X3QJaW5vOworCWludDE2X3QJCWJpbmRleDsKKwl1aW50OF90CQl0eXBlOworCXVpbnQ4X3QJCW5sZW47CisJdWludDhfdAkJd2g7CisJY2hhcgkJbmFtZVswXTsKK30gX19hbGlnbmVkKDgpOworCitzdGF0aWMgaW5saW5lIGludCBhdV9yZHVfbGVuKGludCBubGVuKQoreworCS8qIGluY2x1ZGUgdGhlIHRlcm1pbmF0aW5nIE5VTEwgKi8KKwlyZXR1cm4gQUxJR04oc2l6ZW9mKHN0cnVjdCBhdV9yZHVfZW50KSArIG5sZW4gKyAxLAorCQkgICAgIHNpemVvZih1aW50NjRfdCkpOworfQorCit1bmlvbiBhdV9yZHVfZW50X3VsIHsKKwlzdHJ1Y3QgYXVfcmR1X2VudAkqZTsKKwl1aW50NjRfdAkJCXVsOworfTsKKworZW51bSB7CisJQXVmc0N0bFJkdVZfU1osCisJQXVmc0N0bFJkdVZfRW5kCit9OworCitzdHJ1Y3QgYXVmc19yZHUgeworCS8qIGlucHV0ICovCisJdW5pb24geworCQl1aW50NjRfdAlzejsJLyogQXVDdGxfUkRVICovCisJCXVpbnQ2NF90CW5lbnQ7CS8qIEF1Q3RsX1JEVV9JTk8gKi8KKwl9OworCXVuaW9uIGF1X3JkdV9lbnRfdWwJZW50OworCXVpbnQxNl90CQl2ZXJpZnlbQXVmc0N0bFJkdVZfRW5kXTsKKworCS8qIGlucHV0L291dHB1dCAqLworCXVpbnQzMl90CQlibGs7CisKKwkvKiBvdXRwdXQgKi8KKwl1bmlvbiBhdV9yZHVfZW50X3VsCXRhaWw7CisJLyogbnVtYmVyIG9mIGVudHJpZXMgd2hpY2ggd2VyZSBhZGRlZCBpbiBhIHNpbmdsZSBjYWxsICovCisJdWludDY0X3QJCXJlbnQ7CisJdWludDhfdAkJCWZ1bGw7CisJdWludDhfdAkJCXNod2g7CisKKwlzdHJ1Y3QgYXVfcmR1X2Nvb2tpZQljb29raWU7Cit9IF9fYWxpZ25lZCg4KTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCitzdHJ1Y3QgYXVmc193YnJfZmQgeworCXVpbnQzMl90CW9mbGFnczsKKwlpbnQxNl90CQlicmlkOworfSBfX2FsaWduZWQoOCk7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworc3RydWN0IGF1ZnNfaWJ1c3kgeworCXVpbnQ2NF90CWlubywgaF9pbm87CisJaW50MTZfdAkJYmluZGV4OworfSBfX2FsaWduZWQoOCk7CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyogZXJyb3IgY29kZSBmb3IgbW92ZS1kb3duICovCisvKiB0aGUgYWN0dWFsIG1lc3NhZ2Ugc3RyaW5ncyBhcmUgaW1wbGVtZW50ZWQgaW4gYXVmcy11dGlsLmdpdCAqLworZW51bSB7CisJRUFVX01WRE9XTl9PUEFRVUUgPSAxLAorCUVBVV9NVkRPV05fV0hJVEVPVVQsCisJRUFVX01WRE9XTl9VUFBFUiwKKwlFQVVfTVZET1dOX0JPVFRPTSwKKwlFQVVfTVZET1dOX05PVVBQRVIsCisJRUFVX01WRE9XTl9OT0xPV0VSQlIsCisJRUFVX0xhc3QKK307CisKKy8qIGZsYWdzIGZvciBtb3ZlLWRvd24gKi8KKyNkZWZpbmUgQVVGU19NVkRPV05fRE1TRwkxCisjZGVmaW5lIEFVRlNfTVZET1dOX09XTE9XRVIJKDEgPDwgMSkJLyogb3ZlcndyaXRlIGxvd2VyICovCisjZGVmaW5lIEFVRlNfTVZET1dOX0tVUFBFUgkoMSA8PCAyKQkvKiBrZWVwIHVwcGVyICovCisjZGVmaW5lIEFVRlNfTVZET1dOX1JPTE9XRVIJKDEgPDwgMykJLyogZG8gZXZlbiBpZiBsb3dlciBpcyBSTyAqLworI2RlZmluZSBBVUZTX01WRE9XTl9ST0xPV0VSX1IJKDEgPDwgNCkJLyogZGlkIG9uIGxvd2VyIFJPICovCisjZGVmaW5lIEFVRlNfTVZET1dOX1JPVVBQRVIJKDEgPDwgNSkJLyogZG8gZXZlbiBpZiB1cHBlciBpcyBSTyAqLworI2RlZmluZSBBVUZTX01WRE9XTl9ST1VQUEVSX1IJKDEgPDwgNikJLyogZGlkIG9uIHVwcGVyIFJPICovCisjZGVmaW5lIEFVRlNfTVZET1dOX0JSSURfVVBQRVIJKDEgPDwgNykJLyogdXBwZXIgYnJpZCAqLworI2RlZmluZSBBVUZTX01WRE9XTl9CUklEX0xPV0VSCSgxIDw8IDgpCS8qIGxvd2VyIGJyaWQgKi8KKyNkZWZpbmUgQVVGU19NVkRPV05fRkhTTV9MT1dFUgkoMSA8PCA5KQkvKiBmaW5kIGZoc20gYXR0ciBmb3IgbG93ZXIgKi8KKyNkZWZpbmUgQVVGU19NVkRPV05fU1RGUwkoMSA8PCAxMCkJLyogcmVxLiBzdGZzICovCisjZGVmaW5lIEFVRlNfTVZET1dOX1NURlNfRkFJTEVECSgxIDw8IDExKQkvKiBvdXRwdXQ6IHN0ZnMgaXMgdW51c2FibGUgKi8KKyNkZWZpbmUgQVVGU19NVkRPV05fQk9UVE9NCSgxIDw8IDEyKQkvKiBvdXRwdXQ6IG5vIG1vcmUgbG93ZXJzICovCisKKy8qIGluZGV4IGZvciBtb3ZlLWRvd24gKi8KK2VudW0geworCUFVRlNfTVZET1dOX1VQUEVSLAorCUFVRlNfTVZET1dOX0xPV0VSLAorCUFVRlNfTVZET1dOX05BUlJBWQorfTsKKworLyoKKyAqIGFkZGl0aW9uYWwgaW5mbyBvZiBtb3ZlLWRvd24KKyAqIG51bWJlciBvZiBmcmVlIGJsb2NrcyBhbmQgaW5vZGVzLgorICogc3Vic2V0IG9mIHN0cnVjdCBrc3RhdGZzLCBidXQgc21hbGxlciBhbmQgYWx3YXlzIDY0Yml0LgorICovCitzdHJ1Y3QgYXVmc19zdGZzIHsKKwl1aW50NjRfdAlmX2Jsb2NrczsKKwl1aW50NjRfdAlmX2JhdmFpbDsKKwl1aW50NjRfdAlmX2ZpbGVzOworCXVpbnQ2NF90CWZfZmZyZWU7Cit9OworCitzdHJ1Y3QgYXVmc19zdGJyIHsKKwlpbnQxNl90CQkJYnJpZDsJLyogb3B0aW9uYWwgaW5wdXQgKi8KKwlpbnQxNl90CQkJYmluZGV4OwkvKiBvdXRwdXQgKi8KKwlzdHJ1Y3QgYXVmc19zdGZzCXN0ZnM7CS8qIG91dHB1dCB3aGVuIEFVRlNfTVZET1dOX1NURlMgc2V0ICovCit9IF9fYWxpZ25lZCg4KTsKKworc3RydWN0IGF1ZnNfbXZkb3duIHsKKwl1aW50MzJfdAkJZmxhZ3M7CQkJLyogaW5wdXQvb3V0cHV0ICovCisJc3RydWN0IGF1ZnNfc3RicglzdGJyW0FVRlNfTVZET1dOX05BUlJBWV07IC8qIGlucHV0L291dHB1dCAqLworCWludDhfdAkJCWF1X2Vycm5vOwkJLyogb3V0cHV0ICovCit9IF9fYWxpZ25lZCg4KTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCit1bmlvbiBhdWZzX2JyaW5mbyB7CisJLyogUEFUSF9NQVggbWF5IGRpZmZlciBiZXR3ZWVuIGtlcm5lbC1zcGFjZSBhbmQgdXNlci1zcGFjZSAqLworCWNoYXIJX3NwYWNlcls0MDk2XTsKKwlzdHJ1Y3QgeworCQlpbnQxNl90CWlkOworCQlpbnQJcGVybTsKKwkJY2hhcglwYXRoWzBdOworCX07Cit9IF9fYWxpZ25lZCg4KTsKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisjZGVmaW5lIEF1Q3RsVHlwZQkJJ0EnCisjZGVmaW5lIEFVRlNfQ1RMX1JEVQkJX0lPV1IoQXVDdGxUeXBlLCBBdUN0bF9SRFUsIHN0cnVjdCBhdWZzX3JkdSkKKyNkZWZpbmUgQVVGU19DVExfUkRVX0lOTwlfSU9XUihBdUN0bFR5cGUsIEF1Q3RsX1JEVV9JTk8sIHN0cnVjdCBhdWZzX3JkdSkKKyNkZWZpbmUgQVVGU19DVExfV0JSX0ZECQlfSU9XKEF1Q3RsVHlwZSwgQXVDdGxfV0JSX0ZELCBcCisJCQkJICAgICBzdHJ1Y3QgYXVmc193YnJfZmQpCisjZGVmaW5lIEFVRlNfQ1RMX0lCVVNZCQlfSU9XUihBdUN0bFR5cGUsIEF1Q3RsX0lCVVNZLCBzdHJ1Y3QgYXVmc19pYnVzeSkKKyNkZWZpbmUgQVVGU19DVExfTVZET1dOCQlfSU9XUihBdUN0bFR5cGUsIEF1Q3RsX01WRE9XTiwgXAorCQkJCSAgICAgIHN0cnVjdCBhdWZzX212ZG93bikKKyNkZWZpbmUgQVVGU19DVExfQlJJTkZPCQlfSU9XKEF1Q3RsVHlwZSwgQXVDdGxfQlIsIHVuaW9uIGF1ZnNfYnJpbmZvKQorI2RlZmluZSBBVUZTX0NUTF9GSFNNX0ZECV9JT1coQXVDdGxUeXBlLCBBdUN0bF9GSFNNX0ZELCBpbnQpCisKKyNlbmRpZiAvKiBfX0FVRlNfVFlQRV9IX18gKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWxfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvYXVmcy11dGlsL2F1ZnMtdXRpbF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk4MDk4MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2F1ZnMtdXRpbC9hdWZzLXV0aWxfZ2l0LmJiCkBAIC0wLDAgKzEsNTMgQEAKK1NVTU1BUlkgPSAiVG9vbHMgZm9yIG1hbmFnaW5nIEFVRlMgbW91bnRzIgorU0VDVElPTiA9ICJiYXNlIgorSE9NRVBBR0UgPSAiaHR0cDovL2F1ZnMuc291cmNlZm9yZ2UubmV0LyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04OTJmNTY5YTU1NWJhOWMwN2E1NjhhN2MwYzRmYTYzYSIKKworREVQRU5EUyA9ICJhdWZzLXV0aWwtbmF0aXZlIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiIgorCitTUkNSRVYgPSAiYjU5YTIxNjdhMTM1Y2VlYTM3NTgxZWUzMzk5N2RlMjc4Y2Y4YTMwYSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmNvZGUuc2YubmV0L3AvYXVmcy9hdWZzLXV0aWw7cHJvdG9jb2w9Z2l0O2JyYW5jaD1hdWZzMy4xNCBcCisgICAgICAgICAgIGZpbGU6Ly9hdWZzLXV0aWwtZG9uLXQtc3RyaXAtZXhlY3V0YWJsZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXVmcy11dGlsLWFkZC10b29sLWNvbmNlcHQtdG8tTWFrZWZpbGUtZm9yLWNyb3NzLWNvbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hdWZzX3R5cGUuaCBcCisiCisKK1BWID0gIjMuMTQrZ2l0JHtTUkNQVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLWQgJHtTfS9pbmNsdWRlL2xpbnV4LworICAgIGNwICR7V09SS0RJUn0vYXVmc190eXBlLmggJHtTfS9pbmNsdWRlL2xpbnV4LworfQorCitkb19jb25maWd1cmVfYXBwZW5kX2NsYXNzLXRhcmdldCAoKSB7CisgICAgZm9yIGkgaW4gdmVyIGMyc2ggYzJ0bWFjOyBkbworICAgICAgICBjcCAke1NUQUdJTkdfQklORElSX05BVElWRX0vYXVmcy11dGlsLSR7UFZ9LyRpIC4vCisgICAgZG9uZQorfQorCitkb19jb21waWxlICgpIHsKKyAgICBvZV9ydW5tYWtlIENQUEZMQUdTPSItSSR7U30vaW5jbHVkZSAtSSR7U30vbGliYXUiCit9CisKK2RvX2NvbXBpbGVfY2xhc3MtbmF0aXZlICgpIHsKKyAgICBvZV9ydW5tYWtlIHRvb2xzIENQUEZMQUdTPSItSSR7U30vaW5jbHVkZSAtSSR7U30vbGliYXUiCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbF9zYmluIGluc3RhbGxfdWJpbiBpbnN0YWxsX2V0YworfQorCitkb19pbnN0YWxsX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9L2F1ZnMtdXRpbC0ke1BWfQorICAgIGZvciBpIGluIHZlciBjMnNoIGMydG1hYzsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgJGkgJHtEfSR7YmluZGlyfS9hdWZzLXV0aWwtJHtQVn0vJGkKKyAgICBkb25lCit9CisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJrZXJuZWwtbW9kdWxlLWF1ZnMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvZG1hcGkvZG1hcGlfMi4yLjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvZG1hcGkvZG1hcGlfMi4yLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmZjk1ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9kbWFwaS9kbWFwaV8yLjIuMTIuYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZ1bmN0aW9ucyB0byBnZXQgYXR0cmlidXRlIGJpdHMiCitERVNDUklQVElPTiA9ICJUaGUgRGF0YSBNYW5hZ2VtZW50IEFQSSAoRE1BUEkvWERTTSkgYWxsb3dzIGltcGxlbWVudGF0aW9uIFwKKyAgICAgICAgICAgICAgIG9mIGhpZXJhcmNoaWNhbCBzdG9yYWdlIG1hbmFnZW1lbnQgc29mdHdhcmUgd2l0aCBubyBrZXJuZWwgXAorICAgICAgICAgICAgICAgbW9kaWZpY2F0aW9ucyBhcyB3ZWxsIGFzIGhpZ2gtcGVyZm9ybWFuY2UgZHVtcCBwcm9ncmFtcyBcCisgICAgICAgICAgICAgICB3aXRob3V0IHJlcXVpcmluZyAicmF3IiBhY2Nlc3MgdG8gdGhlIGRpc2sgYW5kIGtub3dsZWRnZSBcCisgICAgICAgICAgICAgICBvZiBmaWxlc3lzdGVtIHN0cnVjdHVyZXMuVGhpcyBpbnRlcmZhY2UgaXMgaW1wbGVtZW50ZWQgYnkgXAorICAgICAgICAgICAgICAgdGhlIGxpYmRtIGxpYnJhcnkuIgorCitIT01FUEFHRSA9ICJodHRwOi8vb3NzLnNnaS5jb20vcHJvamVjdHMveGZzIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9DT1BZSU5HO21kNT0xNjc4ZWRmZThkZTliZTk1NjRkMjM3NjFhZTJmYTc5NCIKK0RFUEVORFMgPSAieGZzcHJvZ3MiCisKK1NSQ19VUkkgPSAiZnRwOi8vb3NzLnNnaS5jb20vcHJvamVjdHMveGZzL2NtZF90YXJzL2RtYXBpLSR7UFZ9LnRhci5neiBcCisJICAgZmlsZTovL3JlbW92ZS1pbnN0YWxsLWFzLXVzZXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZG1hcGlfYWFyY2g2NF9jb25maWd1cmVfc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImNkODI1ZDRlMTQxYzE2MDExMzY3ZTBhMGRkOThjOWM1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIxOGUzNGY0NzM3NGY2YWRmN2MxNjQ5OTNjMjZkZjM2OTg2YTAwOWI4NmFhMDA0ZWY5NDQ0MTAyNjUzYWVhNjkiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitQQVJBTExFTF9NQUtFID0gIiIKK0VYVFJBX09FTUFLRSArPSAiTElCVE9PTD0iJHtIT1NUX1NZU30tbGlidG9vbCAtLXRhZz1DQyIgVj0xIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBleHBvcnQgRElTVF9ST09UPSR7RH0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgaW5zdGFsbC1kZXYgUEtHX0RFVkxJQl9ESVI9JHtsaWJkaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9kbWFwaS9maWxlcy9kbWFwaV9hYXJjaDY0X2NvbmZpZ3VyZV9zdXBwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvZG1hcGkvZmlsZXMvZG1hcGlfYWFyY2g2NF9jb25maWd1cmVfc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODc1M2I3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvZG1hcGkvZmlsZXMvZG1hcGlfYWFyY2g2NF9jb25maWd1cmVfc3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDM3IEBACitBZGQgY29uZmlnIHN1cHBvcnQgdG8gY3Jvc3MgY29tcGlsZSBkbWFwaSBmb3IgCithYXJjaDY0IGFyY2hpdGVjdHVyZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFnYWRlZXNoIEtyaXNobmFuamFuYXBwYSA8amtyaXNobmFuamFuYXBwYUBtdmlzdGEuY29tPgorCistLS0gZG1hcGktMi4yLjEyX29yZy9jb25maWcuc3ViCTIwMTItMTItMTIgMjM6MDM6MDUuMDAwMDAwMDAwICswNTMwCisrKysgZG1hcGktMi4yLjEyL2NvbmZpZy5zdWIJMjAxNC0wMy0yNCAxNjo0OTo1Ni43NzE5OTM1MjMgKzA1MzAKK0BAIC0yNDYsNiArMjQ2LDcgQEAgY2FzZSAkYmFzaWNfbWFjaGluZSBpbgorIAl8IGFscGhhNjQgfCBhbHBoYTY0ZXZbNC04XSB8IGFscGhhNjRldjU2IHwgYWxwaGE2NGV2Nls3OF0gfCBhbHBoYTY0cGNhNVs2N10gXAorIAl8IGFtMzNfMi4wIFwKKyAJfCBhcmMgfCBhcm0gfCBhcm1bYmxdZSB8IGFybWVbbGJdIHwgYXJtdlsyMzQ1XSB8IGFybXZbMzQ1XVtsYl0gfCBhdnIgfCBhdnIzMiBcCisrCXwgYWFyY2g2NCB8IGFhcmNoNjRiZSBcCisgCXwgYmZpbiBcCisgCXwgYzR4IHwgY2xpcHBlciBcCisgCXwgZDEwdiB8IGQzMHYgfCBkbHggfCBkc3AxNnh4IFwKK0BAIC0zMjYsNiArMzI3LDcgQEAgY2FzZSAkYmFzaWNfbWFjaGluZSBpbgorIAl8IGFscGhhNjQtKiB8IGFscGhhNjRldls0LThdLSogfCBhbHBoYTY0ZXY1Ni0qIHwgYWxwaGE2NGV2Nls3OF0tKiBcCisgCXwgYWxwaGFwY2E1WzY3XS0qIHwgYWxwaGE2NHBjYTVbNjddLSogfCBhcmMtKiBcCisgCXwgYXJtLSogIHwgYXJtYmUtKiB8IGFybWxlLSogfCBhcm1lYi0qIHwgYXJtdiotKiBcCisrCXwgYWFyY2g2NC0qIHwgYWFyY2g2NGJlLSogXAorIAl8IGF2ci0qIHwgYXZyMzItKiBcCisgCXwgYmZpbi0qIHwgYnMyMDAwLSogXAorIAl8IGNbMTIzXSogfCBjMzAtKiB8IFtjanRdOTAtKiB8IGM0eC0qIHwgYzU0eC0qIHwgYzU1eC0qIHwgYzZ4LSogXAorLS0tIGRtYXBpLTIuMi4xMl9vcmcvY29uZmlnLmd1ZXNzCTIwMTItMTItMTIgMjM6MDM6MDUuMDAwMDAwMDAwICswNTMwCisrKysgZG1hcGktMi4yLjEyL2NvbmZpZy5ndWVzcwkyMDE0LTAzLTI0IDE2OjQ5OjU2Ljc3MTk5MzUyMyArMDUzMAorQEAgLTg2NCw2ICs4NjQsOSBAQCBFT0YKKyAJICAgIGVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudWVhYmkKKyAJZmkKKyAJZXhpdCA7OworKyAgICBhYXJjaDY0KjpMaW51eDoqOiopCisrCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorKwlleGl0OzsKKyAgICAgYXZyMzIqOkxpbnV4Oio6KikKKyAJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisgCWV4aXQgOzsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2RtYXBpL2ZpbGVzL3JlbW92ZS1pbnN0YWxsLWFzLXVzZXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9kbWFwaS9maWxlcy9yZW1vdmUtaW5zdGFsbC1hcy11c2VyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3NjFkYjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9kbWFwaS9maWxlcy9yZW1vdmUtaW5zdGFsbC1hcy11c2VyLnBhdGNoCkBAIC0wLDAgKzEsMjA1IEBACityZW1vdmUgaW5zdGFsbCBhcyB1c2VyCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgaW5jbHVkZS9idWlsZG1hY3JvcyB8ICAyICstCisgaW5jbHVkZS9pbnN0YWxsLXNoICB8IDk1ICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCA4MyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luY2x1ZGUvYnVpbGRtYWNyb3MgYi9pbmNsdWRlL2J1aWxkbWFjcm9zCitpbmRleCA3YTAxODgwLi4wODQwZDU1IDEwMDY0NAorLS0tIGEvaW5jbHVkZS9idWlsZG1hY3JvcworKysrIGIvaW5jbHVkZS9idWlsZG1hY3JvcworQEAgLTMwLDcgKzMwLDcgQEAgT0JKRUNUUyA9ICQoQVNGSUxFUzoucz0ubykgXAorIAkgICQoTEZJTEVTOi5sPS5vKSBcCisgCSAgJChZRklMRVM6JS55PSUudGFiLm8pCisgCistSU5TVEFMTAk9ICQoVE9QRElSKS9pbnN0YWxsLXNoIC1vICQoUEtHX1VTRVIpIC1nICQoUEtHX0dST1VQKQorK0lOU1RBTEwJPSAkKFRPUERJUikvaW5zdGFsbC1zaAorIAorIElNQUdFU19ESVIgPSAkKFRPUERJUikvYWxsLWltYWdlcworIERJU1RfRElSID0gJChUT1BESVIpL2Rpc3QKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2luc3RhbGwtc2ggYi9pbmNsdWRlL2luc3RhbGwtc2gKK2luZGV4IGM5NTJhNzEuLmI5ZDY2ZjcgMTAwNzU1CistLS0gYS9pbmNsdWRlL2luc3RhbGwtc2gKKysrKyBiL2luY2x1ZGUvaW5zdGFsbC1zaAorQEAgLTI0LDExICsyNCwxMSBAQAorICMgICAgICAgc2V0ICAgICAgICAgICBzZXQgICAgICB8ICAgIHllcyAgICAgICAgeWVzCisgIworIF91c2FnZSgpIHsKKy0gICAgZWNobyAiVXNhZ2U6ICRwcm9nIFstbyBvd25lcl0gWy1nIGdyb3VwXSBbLW0gbW9kZV0gLWQgZGlyZWN0b3J5IgorLSAgICBlY2hvICJvciAgICAgJHByb2cgWy1EXSBbLW8gb3duZXJdIFstZyBncm91cF0gWy1tIG1vZGVdIGZpbGUgZGlyZWN0b3J5L2ZpbGUiCistICAgIGVjaG8gIm9yICAgICAkcHJvZyBbLW8gb3duZXJdIFstZyBncm91cF0gWy1tIG1vZGVdIGZpbGUgW2ZpbGUgLi4uXSBkaXJlY3RvcnkiCisrICAgIGVjaG8gIlVzYWdlOiAkcHJvZyBbLW0gbW9kZV0gLWQgZGlyZWN0b3J5IgorKyAgICBlY2hvICJvciAgICAgJHByb2cgWy1tIG1vZGVdIGZpbGUgZGlyZWN0b3J5L2ZpbGUiCisrICAgIGVjaG8gIm9yICAgICAkcHJvZyBbLW0gbW9kZV0gZmlsZSBbZmlsZSAuLi5dIGRpcmVjdG9yeSIKKyAgICAgZWNobyAib3IgICAgICRwcm9nIC1TIGZpbGUgdGFyZ2V0ICAoY3JlYXRlcyBcInRhcmdldFwiIHN5bWxpbmspIgorLSAgICBlY2hvICJvciAgICAgJHByb2cgLVQgbHRfYXJnIFstbyBvd25lcl0gWy1nIGdyb3VwXSBbLW0gbW9kZV0gbGlidG9vbC5sYWkgZGlyZWN0b3J5IgorKyAgICBlY2hvICJvciAgICAgJHByb2cgLVQgbHRfYXJnIFstbSBtb2RlXSBsaWJ0b29sLmxhaSBkaXJlY3RvcnkiCisgICAgIGVjaG8gIiIKKyAgICAgZWNobyAiVGhlIFwkRElTVF9NQU5JRkVTVCBhbmQgXCRESVNUX1JPT1QgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFmZmVjdCB0aGUiCisgICAgIGVjaG8gImJlaGF2aW91ciBvZiB0aGlzIGNvbW1hbmQgLSBzZWUgY29tbWVudHMgaW4gdGhlIHNjcmlwdC4iCitAQCAtMzgsMzIgKzM4LDYgQEAgX3VzYWdlKCkgeworICAgICBleGl0IDEKKyB9CisgCistX2Nob3duICgpCisteworLSAgICBfc3Q9MjU1CistICAgIGlmIFsgJCMgLWVxIDMgXSA7IHRoZW4KKy0JY2hvd24gJDE6JDIgJDMKKy0JX3N0PSQ/CistCWlmIFsgJF9zdCAtbmUgMCBdIDsgdGhlbgorLQkgICAgaWYgWyAkUkVBTF9VSUQgIT0gJzAnIF0gOyB0aGVuCistCQlpZiBbICEgLWYgJERJU1RfUk9PVC8uY2hvd24ucXVpZXQgXSA7IHRoZW4KKy0JCSAgICBlY2hvICc9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PScKKy0JCSAgICBlY2hvIE93bmVyc2hpcCBvZiBmaWxlcyB1bmRlciAke0RJU1RfUk9PVDotL30KKy0JCSAgICBlY2hvIGNhbm5vdCBiZSBjaGFuZ2VkCistCQkgICAgZWNobyAnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nCistCQkgICAgaWYgWyAtbiAiJERJU1RfUk9PVCIgXSA7IHRoZW4KKy0JCQl0b3VjaCAkRElTVF9ST09ULy5jaG93bi5xdWlldAorLQkJICAgIGZpCistCQlmaQorLQkgICAgICAgX3N0PTAKKy0JICAgIGZpICAgICAKKy0JZmkKKy0gICAgZmkKKy0KKy0gICAgcmV0dXJuICRfc3QKKy19CistCistCisgX21hbmlmZXN0ICgpCisgeyAKKyAgICAgZWNobyAkKiB8IHNlZCAtZSAncy9cL1wvL1wvL2cnID4+JHtESVNUX01BTklGRVNUOi0vZGV2L251bGx9CitAQCAtNzcsOSArNTEsNiBAQCBTZmxhZz1mYWxzZQorIFRmbGFnPWZhbHNlCisgRElSTU9ERT03NTUKKyBGSUxFTU9ERT02NDQKKy1PV05FUj1gaWQgLXVgCistR1JPVVA9YGlkIC1nYAorLVJFQUxfVUlEPSRPV05FUgorIAorICMgZGVmYXVsdCBpcyB0byBpbnN0YWxsIGFuZCBkb24ndCBhcHBlbmQgbWFuaWZlc3QKKyBJTlNUQUxMPXRydWUKK0BAIC05NCwyNCArNjUsMTYgQEAgTUFOSUZFU1Q9OgorIAorIGlmICRJTlNUQUxMCisgdGhlbgorLSAgICBDUD1jcDsgTE49bG47IE1LRElSPW1rZGlyOyBDSE1PRD1jaG1vZDsgQ0hPV049X2Nob3duCisrICAgIENQPWNwOyBMTj1sbjsgTUtESVI9bWtkaXI7IENITU9EPWNobW9kOworIGVsc2UKKy0gICAgQ1A9dHJ1ZTsgTE49dHJ1ZTsgTUtESVI9dHJ1ZTsgQ0hNT0Q9dHJ1ZTsgQ0hPV049dHJ1ZQorKyAgICBDUD10cnVlOyBMTj10cnVlOyBNS0RJUj10cnVlOyBDSE1PRD10cnVlOworIGZpCisgCistWyAtbiAiJERJU1RfUk9PVCIgLWEgJFJFQUxfVUlEIC1uZSAwIF0gJiYgQ0hPV049dHJ1ZQorLQorLXdoaWxlIGdldG9wdHMgIkRjbTpkOlM6bzpnOlQ6IiBjICQqCisrd2hpbGUgZ2V0b3B0cyAiRGNtOmQ6UzpUOiIgYyAkKgorIGRvCisgICAgY2FzZSAkYyBpbgorICAgIGMpCisgCTs7CistICAgZykKKy0JR1JPVVA9JE9QVEFSRworLQk7OworLSAgIG8pCistCU9XTkVSPSRPUFRBUkcKKy0JOzsKKyAgICBtKQorIAlESVJNT0RFPWBleHByICRPUFRBUkdgCisgCUZJTEVNT0RFPSRESVJNT0RFCitAQCAtMTQ2LDE4ICsxMDksNyBAQCB0aGVuCisgICAgICMgZmlyc3QgdXNhZ2UKKyAgICAgIworICAgICAkTUtESVIgLXAgJGRpciAKKy0gICAgc3RhdHVzPSQ/CistICAgIGlmIFsgJHN0YXR1cyAtZXEgMCBdCistICAgIHRoZW4KKy0JJENITU9EICRESVJNT0RFICRkaXIKKy0Jc3RhdHVzPSQ/CistICAgIGZpCistICAgIGlmIFsgJHN0YXR1cyAtZXEgMCBdCistICAgIHRoZW4KKy0JJENIT1dOICRPV05FUiAkR1JPVVAgJGRpcgorLQlzdGF0dXM9JD8KKy0gICAgZmkKKy0gICAgJE1BTklGRVNUIGQgJERJUk1PREUgJE9XTkVSICRHUk9VUCAke2RpciMkRElTVF9ST09UfQorKyAgICAkTUFOSUZFU1QgZCAkRElSTU9ERSAke2RpciMkRElTVF9ST09UfQorIGVsaWYgJFNmbGFnCisgdGhlbgorICAgICAjCitAQCAtMjAzLDcgKzE1NSw3IEBAIHRoZW4KKyAJCQlpbnN0YWxsX25hbWU9JHRhcmdldC8kc29saWIKKyAJCQkkQ1AgJHNvbGliICRpbnN0YWxsX25hbWUKKyAJCQlzdGF0dXM9JD8KKy0JCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJE9XTkVSICRHUk9VUCAkSEVSRS8kc29saWIgJHtpbnN0YWxsX25hbWUjJERJU1RfUk9PVH0KKysJCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJHNvbGliICR7aW5zdGFsbF9uYW1lIyRESVNUX1JPT1R9CisgCQkJYnJlYWsKKyAJCWZpCisgCWRvbmUKK0BAIC0yNTQsNyArMjA2LDcgQEAgdGhlbgorIAlpbnN0YWxsX25hbWU9JHRhcmdldC8kb2xkX2xpYnJhcnkKKyAJJENQICRvbGRfbGlicmFyeSAkaW5zdGFsbF9uYW1lCisgCXN0YXR1cz0kPworLQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJE9XTkVSICRHUk9VUCAkSEVSRS8kb2xkX2xpYnJhcnkgJHtpbnN0YWxsX25hbWUjJERJU1RfUk9PVH0KKysJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRIRVJFLyRvbGRfbGlicmFyeSAke2luc3RhbGxfbmFtZSMkRElTVF9ST09UfQorIAk7OworICAgICAqKQorIAllY2hvICIkcHJvZzogLVQgJGx0X2luc3RhbGwgaW52YWxpZCIKK0BAIC0yNjcsNyArMjE5LDYgQEAgdGhlbgorIAlpZiBbICRzdGF0dXMgLWVxIDAgXQorIAl0aGVuCisgCQkkQ0hNT0QgJEZJTEVNT0RFICRpbnN0YWxsX25hbWUKKy0JCSRDSE9XTiAkT1dORVIgJEdST1VQICRpbnN0YWxsX25hbWUKKyAJZmkKKyAJOzsKKyAgICAgZXNhYworQEAgLTI5MiwyMyArMjQzLDEwIEBAIGVsc2UKKyAJdGhlbiAKKyAJICAgIGlmIFsgLWYgJGRpci8kZiBdCisgCSAgICB0aGVuCistCQkkQ0hNT0QgJEZJTEVNT0RFICRkaXIvJGYKKy0JCXN0YXR1cz0kPworLQkJaWYgWyAkc3RhdHVzIC1lcSAwIF0KKy0JCXRoZW4KKy0JCSAgICAkQ0hPV04gJE9XTkVSICRHUk9VUCAkZGlyLyRmCistCQkgICAgc3RhdHVzPSQ/CistCQlmaQorLQkJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRPV05FUiAkR1JPVVAgJEhFUkUvJGYgJHtkaXIjJERJU1RfUk9PVH0vJGYKKysJCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkSEVSRS8kZiAke2RpciMkRElTVF9ST09UfS8kZgorIAkgICAgZWxzZQorIAkJJENITU9EICRGSUxFTU9ERSAkZGlyCistCQlzdGF0dXM9JD8KKy0JCWlmIFsgJHN0YXR1cyAtZXEgMCBdCistCQl0aGVuCistCQkgICAgJENIT1dOICRPV05FUiAkR1JPVVAgJGRpcgorLQkJICAgIHN0YXR1cz0kPworLQkJZmkKKy0JCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkT1dORVIgJEdST1VQICRIRVJFLyRkaXIgJHtkaXIjJERJU1RfUk9PVH0KKysJCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkSEVSRS8kZGlyICR7ZGlyIyRESVNUX1JPT1R9CisgCSAgICBmaQorIAlmaQorICAgICBlbHNlCitAQCAtMzM0LDE0ICsyNzIsNyBAQCBlbHNlCisgCSAgICBzdGF0dXM9JD8KKyAJICAgIGlmIFsgJHN0YXR1cyAtZXEgMCBdCisgCSAgICB0aGVuCistCQkkQ0hNT0QgJEZJTEVNT0RFICRkaXIvJGYKKy0JCXN0YXR1cz0kPworLQkJaWYgWyAkc3RhdHVzIC1lcSAwIF0KKy0JCXRoZW4KKy0JCSAgICAkQ0hPV04gJE9XTkVSICRHUk9VUCAkZGlyLyRmCistCQkgICAgc3RhdHVzPSQ/CistCQlmaQorLQkJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRPV05FUiAkR1JPVVAgJEhFUkUvJGYgJHtkaXIjJERJU1RfUk9PVH0vJGYKKysJCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkSEVSRS8kZiAke2RpciMkRElTVF9ST09UfS8kZgorIAkgICAgZmkKKyAJICAgIFsgJHN0YXR1cyAtbmUgMCBdICYmIGJyZWFrCisgCWRvbmUKKy0tIAorMS44LjEuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9leGZhdC11dGlscy9leGZhdC11dGlsc18xLjIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2V4ZmF0LXV0aWxzL2V4ZmF0LXV0aWxzXzEuMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwMTlkYjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9leGZhdC11dGlscy9leGZhdC11dGlsc18xLjIuMy5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gInV0aWxpdGllcyB0byBjcmVhdGUsIGNoZWNrLCBsYWJlbCBhbmQgZHVtcCBleEZBVCBmaWxlc3lzdGVtIgorREVTQ1JJUFRJT04gPSAiVXRpbGl0aWVzIHRvIG1hbmFnZSBleHRlbmRlZCBmaWxlIGFsbG9jYXRpb24gdGFibGUgZmlsZXN5c3RlbS4gXAorVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRvb2xzIHRvIGNyZWF0ZSwgY2hlY2sgYW5kIGxhYmVsIHRoZSBmaWxlc3lzdGVtLiBJdCBcCitjb250YWlucyBcCisgLSBkdW1wZXhmYXQgdG8gZHVtcCBwcm9wZXJ0aWVzIG9mIHRoZSBmaWxlc3lzdGVtIFwKKyAtIGV4ZmF0ZnNjayAvIGZzY2suZXhmYXQgdG8gcmVwb3J0IGVycm9ycyBmb3VuZCBvbiBhIGV4RkFUIGZpbGVzeXN0ZW0gXAorIC0gZXhmYXRsYWJlbCB0byBsYWJlbCBhIGV4RkFUIGZpbGVzeXN0ZW0gXAorIC0gbWtleGZhdGZzIC8gbWtmcy5leGZhdCB0byBjcmVhdGUgYSBleEZBVCBmaWxlc3lzdGVtLiBcCisiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZXhmYXQvIgorU0VDVElPTiA9ICJ1bml2ZXJzZS9vdGhlcm9zZnMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9lL2V4ZmF0LXV0aWxzL2V4ZmF0LXV0aWxzXyR7UFZ9Lm9yaWcudGFyLmd6IFwKKyIKK0RFUEVORFMgPSAidmlydHVhbC9saWJjIgorCitpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMKKworU1JDX1VSSVttZDVzdW1dID0gImY0ZTU2NDQ1MGFhODE1OWUyNmRkZTI4Njk1NjNkMjQyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgwZDNiM2YyMTI0MmQ2MGQzNmEzOGE0ZGRiMDVjYjdjYzNhN2Q0ZWVmNTc5M2U4MzE0ODE0OTM3YjkzOGZjZWEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9mMmZzLXRvb2xzL2YyZnMtdG9vbHMvMDAwMS1SZW1vdmUtQUNfQ0hFQ0tfRklMRS1mb3ItY3Jvc3MtY29tcGlsYXRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy9mMmZzLXRvb2xzL2YyZnMtdG9vbHMvMDAwMS1SZW1vdmUtQUNfQ0hFQ0tfRklMRS1mb3ItY3Jvc3MtY29tcGlsYXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Y4NDRiZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2YyZnMtdG9vbHMvZjJmcy10b29scy8wMDAxLVJlbW92ZS1BQ19DSEVDS19GSUxFLWZvci1jcm9zcy1jb21waWxhdGlvbi5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIDNiM2M2ZTYzNzZiYWJjZDlhMGIwZGIzMTJiMGUxZTNiYjNhYjgzM2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdmVuIEViZW5mZWxkIDxzdmVuLmViZW5mZWxkQHZhaWxsYW50LmRlPgorRGF0ZTogV2VkLCAyNiBOb3YgMjAxNCAxMDozNjo0NCArMDEwMAorU3ViamVjdDogW1BBVENIXSBSZW1vdmUgQUNfQ0hFQ0tfRklMRSBmb3IgY3Jvc3MgY29tcGlsYXRpb24KKworLS0tCisgY29uZmlndXJlLmFjIHwgNyArLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAwMTExZTcyLi44YzI4NmQ0IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0yMCwxNCArMjAsOSBAQCBBQ19ERUZJTkUoW0YyRlNfTUlOT1JfVkVSU0lPTl0sIG00X2JwYXRzdWJzdChmMmZzX3Rvb2xzX3ZlcnNpb24sCisgCQkJCVtcKFswLTldKlwpLlwoWzAtOV0qXClcKFx3XHxcV1wpKl0sIFtcMl0pLAorIAkJCQlbTWlub3IgdmVyc2lvbiBmb3IgZjJmcy10b29sc10pCisgCistQUNfQ0hFQ0tfRklMRSguZ2l0LAorLQlBQ19ERUZJTkUoW0YyRlNfVE9PTFNfREFURV0sCistCQkibTRfYnBhdHN1YnN0KGYyZnNfdG9vbHNfZ2l0ZGF0ZSwKKy0JCVtcKFswLTktXSpcKVwoXHdcfFxXXCkqXSwgW1wxXSkiLAorLQkJW2YyZnMtdG9vbHMgZGF0ZSBiYXNlZCBvbiBHaXQgY29tbWl0c10pLAorIAlBQ19ERUZJTkUoW0YyRlNfVE9PTFNfREFURV0sCisgCQkiZjJmc190b29sc19kYXRlIiwKKy0JCVtmMmZzLXRvb2xzIGRhdGUgYmFzZWQgb24gU291cmNlIHJlbGVhc2VzXSkpCisrCQlbZjJmcy10b29scyBkYXRlIGJhc2VkIG9uIFNvdXJjZSByZWxlYXNlc10pCisgCisgQUNfQ09ORklHX1NSQ0RJUihbY29uZmlnLmguaW5dKQorIEFDX0NPTkZJR19IRUFERVIoW2NvbmZpZy5oXSkKKy0tIAorMS44LjEucmMzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2YyZnMtdG9vbHMvZjJmcy10b29sc18xLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL2YyZnMtdG9vbHMvZjJmcy10b29sc18xLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTU1OGU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMvZjJmcy10b29scy9mMmZzLXRvb2xzXzEuNC4wLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiVG9vbHMgZm9yIEZsYXNoLUZyaWVuZGx5IEZpbGUgU3lzdGVtIChGMkZTKSIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZjJmcy10b29scy8iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNjJiNGIyNTk0Y2QzNjJiODc0YTk3NzE4ZmFhNTFkMyIKKworIyB0byBwcm92aWRlIGxpYnV1aWQKK0RFUEVORFMgPSAidXRpbC1saW51eCIKKworU1JDUkVWID0gImJhYWM0YjRlNmY0MWNlYjAyNTExZGE0OWRkMzcwNzY3NGYzZmVhMjEiCitTUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9qYWVnZXVrL2YyZnMtdG9vbHMuZ2l0IFwKKyAgICBmaWxlOi8vMDAwMS1SZW1vdmUtQUNfQ0hFQ0tfRklMRS1mb3ItY3Jvc3MtY29tcGlsYXRpb24ucGF0Y2giCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNkdW1wL2ZpbGVzL3JlbW92ZS1pbnN0YWxsLWFzLXVzZXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNkdW1wL2ZpbGVzL3JlbW92ZS1pbnN0YWxsLWFzLXVzZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc2MWRiMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL3hmc2R1bXAvZmlsZXMvcmVtb3ZlLWluc3RhbGwtYXMtdXNlci5wYXRjaApAQCAtMCwwICsxLDIwNSBAQAorcmVtb3ZlIGluc3RhbGwgYXMgdXNlcgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGluY2x1ZGUvYnVpbGRtYWNyb3MgfCAgMiArLQorIGluY2x1ZGUvaW5zdGFsbC1zaCAgfCA5NSArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgODMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2J1aWxkbWFjcm9zIGIvaW5jbHVkZS9idWlsZG1hY3JvcworaW5kZXggN2EwMTg4MC4uMDg0MGQ1NSAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvYnVpbGRtYWNyb3MKKysrKyBiL2luY2x1ZGUvYnVpbGRtYWNyb3MKK0BAIC0zMCw3ICszMCw3IEBAIE9CSkVDVFMgPSAkKEFTRklMRVM6LnM9Lm8pIFwKKyAJICAkKExGSUxFUzoubD0ubykgXAorIAkgICQoWUZJTEVTOiUueT0lLnRhYi5vKQorIAorLUlOU1RBTEwJPSAkKFRPUERJUikvaW5zdGFsbC1zaCAtbyAkKFBLR19VU0VSKSAtZyAkKFBLR19HUk9VUCkKKytJTlNUQUxMCT0gJChUT1BESVIpL2luc3RhbGwtc2gKKyAKKyBJTUFHRVNfRElSID0gJChUT1BESVIpL2FsbC1pbWFnZXMKKyBESVNUX0RJUiA9ICQoVE9QRElSKS9kaXN0CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9pbnN0YWxsLXNoIGIvaW5jbHVkZS9pbnN0YWxsLXNoCitpbmRleCBjOTUyYTcxLi5iOWQ2NmY3IDEwMDc1NQorLS0tIGEvaW5jbHVkZS9pbnN0YWxsLXNoCisrKysgYi9pbmNsdWRlL2luc3RhbGwtc2gKK0BAIC0yNCwxMSArMjQsMTEgQEAKKyAjICAgICAgIHNldCAgICAgICAgICAgc2V0ICAgICAgfCAgICB5ZXMgICAgICAgIHllcworICMKKyBfdXNhZ2UoKSB7CistICAgIGVjaG8gIlVzYWdlOiAkcHJvZyBbLW8gb3duZXJdIFstZyBncm91cF0gWy1tIG1vZGVdIC1kIGRpcmVjdG9yeSIKKy0gICAgZWNobyAib3IgICAgICRwcm9nIFstRF0gWy1vIG93bmVyXSBbLWcgZ3JvdXBdIFstbSBtb2RlXSBmaWxlIGRpcmVjdG9yeS9maWxlIgorLSAgICBlY2hvICJvciAgICAgJHByb2cgWy1vIG93bmVyXSBbLWcgZ3JvdXBdIFstbSBtb2RlXSBmaWxlIFtmaWxlIC4uLl0gZGlyZWN0b3J5IgorKyAgICBlY2hvICJVc2FnZTogJHByb2cgWy1tIG1vZGVdIC1kIGRpcmVjdG9yeSIKKysgICAgZWNobyAib3IgICAgICRwcm9nIFstbSBtb2RlXSBmaWxlIGRpcmVjdG9yeS9maWxlIgorKyAgICBlY2hvICJvciAgICAgJHByb2cgWy1tIG1vZGVdIGZpbGUgW2ZpbGUgLi4uXSBkaXJlY3RvcnkiCisgICAgIGVjaG8gIm9yICAgICAkcHJvZyAtUyBmaWxlIHRhcmdldCAgKGNyZWF0ZXMgXCJ0YXJnZXRcIiBzeW1saW5rKSIKKy0gICAgZWNobyAib3IgICAgICRwcm9nIC1UIGx0X2FyZyBbLW8gb3duZXJdIFstZyBncm91cF0gWy1tIG1vZGVdIGxpYnRvb2wubGFpIGRpcmVjdG9yeSIKKysgICAgZWNobyAib3IgICAgICRwcm9nIC1UIGx0X2FyZyBbLW0gbW9kZV0gbGlidG9vbC5sYWkgZGlyZWN0b3J5IgorICAgICBlY2hvICIiCisgICAgIGVjaG8gIlRoZSBcJERJU1RfTUFOSUZFU1QgYW5kIFwkRElTVF9ST09UIGVudmlyb25tZW50IHZhcmlhYmxlcyBhZmZlY3QgdGhlIgorICAgICBlY2hvICJiZWhhdmlvdXIgb2YgdGhpcyBjb21tYW5kIC0gc2VlIGNvbW1lbnRzIGluIHRoZSBzY3JpcHQuIgorQEAgLTM4LDMyICszOCw2IEBAIF91c2FnZSgpIHsKKyAgICAgZXhpdCAxCisgfQorIAorLV9jaG93biAoKQorLXsKKy0gICAgX3N0PTI1NQorLSAgICBpZiBbICQjIC1lcSAzIF0gOyB0aGVuCistCWNob3duICQxOiQyICQzCistCV9zdD0kPworLQlpZiBbICRfc3QgLW5lIDAgXSA7IHRoZW4KKy0JICAgIGlmIFsgJFJFQUxfVUlEICE9ICcwJyBdIDsgdGhlbgorLQkJaWYgWyAhIC1mICRESVNUX1JPT1QvLmNob3duLnF1aWV0IF0gOyB0aGVuCistCQkgICAgZWNobyAnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nCistCQkgICAgZWNobyBPd25lcnNoaXAgb2YgZmlsZXMgdW5kZXIgJHtESVNUX1JPT1Q6LS99CistCQkgICAgZWNobyBjYW5ub3QgYmUgY2hhbmdlZAorLQkJICAgIGVjaG8gJz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JworLQkJICAgIGlmIFsgLW4gIiRESVNUX1JPT1QiIF0gOyB0aGVuCistCQkJdG91Y2ggJERJU1RfUk9PVC8uY2hvd24ucXVpZXQKKy0JCSAgICBmaQorLQkJZmkKKy0JICAgICAgIF9zdD0wCistCSAgICBmaSAgICAgCistCWZpCistICAgIGZpCistCistICAgIHJldHVybiAkX3N0CistfQorLQorLQorIF9tYW5pZmVzdCAoKQorIHsgCisgICAgIGVjaG8gJCogfCBzZWQgLWUgJ3MvXC9cLy9cLy9nJyA+PiR7RElTVF9NQU5JRkVTVDotL2Rldi9udWxsfQorQEAgLTc3LDkgKzUxLDYgQEAgU2ZsYWc9ZmFsc2UKKyBUZmxhZz1mYWxzZQorIERJUk1PREU9NzU1CisgRklMRU1PREU9NjQ0CistT1dORVI9YGlkIC11YAorLUdST1VQPWBpZCAtZ2AKKy1SRUFMX1VJRD0kT1dORVIKKyAKKyAjIGRlZmF1bHQgaXMgdG8gaW5zdGFsbCBhbmQgZG9uJ3QgYXBwZW5kIG1hbmlmZXN0CisgSU5TVEFMTD10cnVlCitAQCAtOTQsMjQgKzY1LDE2IEBAIE1BTklGRVNUPToKKyAKKyBpZiAkSU5TVEFMTAorIHRoZW4KKy0gICAgQ1A9Y3A7IExOPWxuOyBNS0RJUj1ta2RpcjsgQ0hNT0Q9Y2htb2Q7IENIT1dOPV9jaG93bgorKyAgICBDUD1jcDsgTE49bG47IE1LRElSPW1rZGlyOyBDSE1PRD1jaG1vZDsKKyBlbHNlCistICAgIENQPXRydWU7IExOPXRydWU7IE1LRElSPXRydWU7IENITU9EPXRydWU7IENIT1dOPXRydWUKKysgICAgQ1A9dHJ1ZTsgTE49dHJ1ZTsgTUtESVI9dHJ1ZTsgQ0hNT0Q9dHJ1ZTsKKyBmaQorIAorLVsgLW4gIiRESVNUX1JPT1QiIC1hICRSRUFMX1VJRCAtbmUgMCBdICYmIENIT1dOPXRydWUKKy0KKy13aGlsZSBnZXRvcHRzICJEY206ZDpTOm86ZzpUOiIgYyAkKgorK3doaWxlIGdldG9wdHMgIkRjbTpkOlM6VDoiIGMgJCoKKyBkbworICAgIGNhc2UgJGMgaW4KKyAgICBjKQorIAk7OworLSAgIGcpCistCUdST1VQPSRPUFRBUkcKKy0JOzsKKy0gICBvKQorLQlPV05FUj0kT1BUQVJHCistCTs7CisgICAgbSkKKyAJRElSTU9ERT1gZXhwciAkT1BUQVJHYAorIAlGSUxFTU9ERT0kRElSTU9ERQorQEAgLTE0NiwxOCArMTA5LDcgQEAgdGhlbgorICAgICAjIGZpcnN0IHVzYWdlCisgICAgICMKKyAgICAgJE1LRElSIC1wICRkaXIgCistICAgIHN0YXR1cz0kPworLSAgICBpZiBbICRzdGF0dXMgLWVxIDAgXQorLSAgICB0aGVuCistCSRDSE1PRCAkRElSTU9ERSAkZGlyCistCXN0YXR1cz0kPworLSAgICBmaQorLSAgICBpZiBbICRzdGF0dXMgLWVxIDAgXQorLSAgICB0aGVuCistCSRDSE9XTiAkT1dORVIgJEdST1VQICRkaXIKKy0Jc3RhdHVzPSQ/CistICAgIGZpCistICAgICRNQU5JRkVTVCBkICRESVJNT0RFICRPV05FUiAkR1JPVVAgJHtkaXIjJERJU1RfUk9PVH0KKysgICAgJE1BTklGRVNUIGQgJERJUk1PREUgJHtkaXIjJERJU1RfUk9PVH0KKyBlbGlmICRTZmxhZworIHRoZW4KKyAgICAgIworQEAgLTIwMyw3ICsxNTUsNyBAQCB0aGVuCisgCQkJaW5zdGFsbF9uYW1lPSR0YXJnZXQvJHNvbGliCisgCQkJJENQICRzb2xpYiAkaW5zdGFsbF9uYW1lCisgCQkJc3RhdHVzPSQ/CistCQkJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRPV05FUiAkR1JPVVAgJEhFUkUvJHNvbGliICR7aW5zdGFsbF9uYW1lIyRESVNUX1JPT1R9CisrCQkJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRIRVJFLyRzb2xpYiAke2luc3RhbGxfbmFtZSMkRElTVF9ST09UfQorIAkJCWJyZWFrCisgCQlmaQorIAlkb25lCitAQCAtMjU0LDcgKzIwNiw3IEBAIHRoZW4KKyAJaW5zdGFsbF9uYW1lPSR0YXJnZXQvJG9sZF9saWJyYXJ5CisgCSRDUCAkb2xkX2xpYnJhcnkgJGluc3RhbGxfbmFtZQorIAlzdGF0dXM9JD8KKy0JJE1BTklGRVNUIGYgJEZJTEVNT0RFICRPV05FUiAkR1JPVVAgJEhFUkUvJG9sZF9saWJyYXJ5ICR7aW5zdGFsbF9uYW1lIyRESVNUX1JPT1R9CisrCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkSEVSRS8kb2xkX2xpYnJhcnkgJHtpbnN0YWxsX25hbWUjJERJU1RfUk9PVH0KKyAJOzsKKyAgICAgKikKKyAJZWNobyAiJHByb2c6IC1UICRsdF9pbnN0YWxsIGludmFsaWQiCitAQCAtMjY3LDcgKzIxOSw2IEBAIHRoZW4KKyAJaWYgWyAkc3RhdHVzIC1lcSAwIF0KKyAJdGhlbgorIAkJJENITU9EICRGSUxFTU9ERSAkaW5zdGFsbF9uYW1lCistCQkkQ0hPV04gJE9XTkVSICRHUk9VUCAkaW5zdGFsbF9uYW1lCisgCWZpCisgCTs7CisgICAgIGVzYWMKK0BAIC0yOTIsMjMgKzI0MywxMCBAQCBlbHNlCisgCXRoZW4gCisgCSAgICBpZiBbIC1mICRkaXIvJGYgXQorIAkgICAgdGhlbgorLQkJJENITU9EICRGSUxFTU9ERSAkZGlyLyRmCistCQlzdGF0dXM9JD8KKy0JCWlmIFsgJHN0YXR1cyAtZXEgMCBdCistCQl0aGVuCistCQkgICAgJENIT1dOICRPV05FUiAkR1JPVVAgJGRpci8kZgorLQkJICAgIHN0YXR1cz0kPworLQkJZmkKKy0JCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkT1dORVIgJEdST1VQICRIRVJFLyRmICR7ZGlyIyRESVNUX1JPT1R9LyRmCisrCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJGYgJHtkaXIjJERJU1RfUk9PVH0vJGYKKyAJICAgIGVsc2UKKyAJCSRDSE1PRCAkRklMRU1PREUgJGRpcgorLQkJc3RhdHVzPSQ/CistCQlpZiBbICRzdGF0dXMgLWVxIDAgXQorLQkJdGhlbgorLQkJICAgICRDSE9XTiAkT1dORVIgJEdST1VQICRkaXIKKy0JCSAgICBzdGF0dXM9JD8KKy0JCWZpCistCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJE9XTkVSICRHUk9VUCAkSEVSRS8kZGlyICR7ZGlyIyRESVNUX1JPT1R9CisrCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJGRpciAke2RpciMkRElTVF9ST09UfQorIAkgICAgZmkKKyAJZmkKKyAgICAgZWxzZQorQEAgLTMzNCwxNCArMjcyLDcgQEAgZWxzZQorIAkgICAgc3RhdHVzPSQ/CisgCSAgICBpZiBbICRzdGF0dXMgLWVxIDAgXQorIAkgICAgdGhlbgorLQkJJENITU9EICRGSUxFTU9ERSAkZGlyLyRmCistCQlzdGF0dXM9JD8KKy0JCWlmIFsgJHN0YXR1cyAtZXEgMCBdCistCQl0aGVuCistCQkgICAgJENIT1dOICRPV05FUiAkR1JPVVAgJGRpci8kZgorLQkJICAgIHN0YXR1cz0kPworLQkJZmkKKy0JCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkT1dORVIgJEdST1VQICRIRVJFLyRmICR7ZGlyIyRESVNUX1JPT1R9LyRmCisrCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJGYgJHtkaXIjJERJU1RfUk9PVH0vJGYKKyAJICAgIGZpCisgCSAgICBbICRzdGF0dXMgLW5lIDAgXSAmJiBicmVhaworIAlkb25lCistLSAKKzEuOC4xLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzZHVtcC94ZnNkdW1wXzMuMS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzZHVtcC94ZnNkdW1wXzMuMS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNTNhNmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNkdW1wL3hmc2R1bXBfMy4xLjQuYmIKQEAgLTAsMCArMSwzNiBAQAorU1VNTUFSWSA9ICJYRlMgRmlsZXN5c3RlbSBEdW1wIFV0aWxpdHkiCitERVNDUklQVElPTiA9ICJUaGUgeGZzZHVtcCBwYWNrYWdlIGNvbnRhaW5zIHhmc2R1bXAsIHhmc3Jlc3RvcmUgYW5kIGEgXAorICAgICAgICAgICAgICAgbnVtYmVyIG9mIG90aGVyIHV0aWxpdGllcyBmb3IgYWRtaW5pc3RlcmluZyBYRlMgZmlsZXN5c3RlbXMuXAorICAgICAgICAgICAgICAgeGZzZHVtcCBleGFtaW5lcyBmaWxlcyBpbiBhIGZpbGVzeXN0ZW0sIGRldGVybWluZXMgd2hpY2ggXAorICAgICAgICAgICAgICAgbmVlZCB0byBiZSBiYWNrZWQgdXAsIGFuZCBjb3BpZXMgdGhvc2UgZmlsZXMgdG8gYSBcCisgICAgICAgICAgICAgICBzcGVjaWZpZWQgZGlzaywgdGFwZSBvciBvdGhlciBzdG9yYWdlIG1lZGl1bS4iCitIT01FUEFHRSA9ICJodHRwOi8vb3NzLnNnaS5jb20vcHJvamVjdHMveGZzIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9DT1BZSU5HO21kNT0xNWM4MzI4OTRkMTBkZGQwMGRmY2Y1N2JlZTQ5MGVjYyIKK0RFUEVORFMgPSAieGZzcHJvZ3MgYXR0ciIKKworU1JDX1VSSSA9ICJmdHA6Ly9vc3Muc2dpLmNvbS9wcm9qZWN0cy94ZnMvY21kX3RhcnMvJHtCUE59LSR7UFZ9LnRhci5neiBcCisJICAgZmlsZTovL3JlbW92ZS1pbnN0YWxsLWFzLXVzZXIucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhOGIxNzYxYmU1ZmViMzYzMTMxZTdiNTA2NjM5YWQ0YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NzBlYWZkMDcyMTUxNWJkZDc5Y2IwZTI5NWI3MDFkNDljZGY4MWU3MWEwYTBmZjBkZjZkNGM1Y2MxOTYwOTQzIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUEFSQUxMRUxfTUFLRSA9ICIiCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tnZXR0ZXh0XSA9ICItLWVuYWJsZS1nZXR0ZXh0PXllcywtLWVuYWJsZS1nZXR0ZXh0PW5vLGdldHRleHQiCisKK0VYVFJBX09FTUFLRSArPSAiJ0xJQlRPT0w9JHtIT1NUX1NZU30tbGlidG9vbCcgVj0xIgorCitkb19jb25maWd1cmUgKCkgeworICAgIGV4cG9ydCBERUJVRz0iLUROREVCVUciCisgICAgb2VfcnVuY29uZgorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBleHBvcnQgRElTVF9ST09UPSR7RH0KKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgCisgICAgb2VfcnVubWFrZSBpbnN0YWxsLWRldgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MvZmlsZXMvZHJvcC1jb25maWd1cmUtY2hlY2stZm9yLWFpby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL3hmc3Byb2dzL2ZpbGVzL2Ryb3AtY29uZmlndXJlLWNoZWNrLWZvci1haW8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzYwMTA5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL3hmc3Byb2dzL2ZpbGVzL2Ryb3AtY29uZmlndXJlLWNoZWNrLWZvci1haW8ucGF0Y2gKQEAgLTAsMCArMSw5MyBAQAoreGZzcHJvZ3M6IGRyb3AgY29uZmlndXJlIGNoZWNrIGZvciBhaW8KKworSXQncyB1bnVzZWQgYW5kIGJyZWFrcyBjb21waWxhdGlvbiB3aXRoIHVjbGliYy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuYWMgICAgICAgICB8ICA2ICsrKy0tLQorIG00L01ha2VmaWxlICAgICAgICAgIHwgIDEgLQorIG00L3BhY2thZ2VfYWlvZGV2Lm00IHwgMzYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBiOTY4OTc3Li40ZTJhMjYzIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC00Nyw2ICs0Nyw5IEBAIEFDX0FSR19FTkFCTEUobGliNjQsCisgCWVuYWJsZV9saWI2ND15ZXMpCisgQUNfU1VCU1QoZW5hYmxlX2xpYjY0KQorIAorK2xpYnJ0PSItbHJ0IgorK0FDX1NVQlNUKGxpYnJ0KQorKworICMKKyAjIElmIHRoZSB1c2VyIHNwZWNpZmllZCBhIGxpYmRpciBlbmRpbmcgaW4gbGliNjQgZG8gbm90IGFwcGVuZCBhbm90aGVyCisgIyA2NCB0byB0aGUgbGlicmFyeSBuYW1lcy4KK0BAIC05Miw5ICs5NSw2IEBAIEFDX1BBQ0tBR0VfR0xPQkFMUyh4ZnNwcm9ncykKKyBBQ19QQUNLQUdFX1VUSUxJVElFUyh4ZnNwcm9ncykKKyBBQ19NVUxUSUxJQigkZW5hYmxlX2xpYjY0KQorIAorLUFDX1BBQ0tBR0VfTkVFRF9BSU9fSAorLUFDX1BBQ0tBR0VfTkVFRF9MSU9fTElTVElPCistCisgQUNfUEFDS0FHRV9ORUVEX1VVSURfSAorIEFDX1BBQ0tBR0VfTkVFRF9VVUlEQ09NUEFSRQorIAorZGlmZiAtLWdpdCBhL200L01ha2VmaWxlIGIvbTQvTWFrZWZpbGUKK2luZGV4IDY1NGE0ZmIuLmQyODJmMGEgMTAwNjQ0CistLS0gYS9tNC9NYWtlZmlsZQorKysrIGIvbTQvTWFrZWZpbGUKK0BAIC0xNCw3ICsxNCw2IEBAIENPTkZJR1VSRSA9IFwKKyAKKyBMU1JDRklMRVMgPSBcCisgCW1hbnVhbF9mb3JtYXQubTQgXAorLQlwYWNrYWdlX2Fpb2Rldi5tNCBcCisgCXBhY2thZ2VfYmxraWQubTQgXAorIAlwYWNrYWdlX2dsb2JhbHMubTQgXAorIAlwYWNrYWdlX2xpYmNkZXYubTQgXAorZGlmZiAtLWdpdCBhL200L3BhY2thZ2VfYWlvZGV2Lm00IGIvbTQvcGFja2FnZV9haW9kZXYubTQKK2luZGV4IDQ5MGQ5YzguLjhiMTM3ODkgMTAwNjQ0CistLS0gYS9tNC9wYWNrYWdlX2Fpb2Rldi5tNAorKysrIGIvbTQvcGFja2FnZV9haW9kZXYubTQKK0BAIC0xLDM3ICsxIEBACistIworLSMgQ2hlY2sgaWYgd2UgaGF2ZSBhIGxpYmFpby5oIGluc3RhbGxlZAorLSMKKy1BQ19ERUZVTihbQUNfUEFDS0FHRV9XQU5UX0FJT10sCistICBbIEFDX0NIRUNLX0hFQURFUlMobGliYWlvLmgsIFsgaGF2ZV9haW89dHJ1ZSBdLCBbIGhhdmVfYWlvPWZhbHNlIF0pCistICAgIEFDX1NVQlNUKGhhdmVfYWlvKQorLSAgXSkKKy0KKy0jCistIyBDaGVjayBpZiB3ZSBoYXZlIGFuIGFpby5oIGluc3RhbGxlZAorLSMKKy1BQ19ERUZVTihbQUNfUEFDS0FHRV9ORUVEX0FJT19IXSwKKy0gIFsgQUNfQ0hFQ0tfSEVBREVSUyhhaW8uaCkKKy0gICAgaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX2Fpb19oID0gbm87IHRoZW4KKy0JZWNobworLQllY2hvICdGQVRBTCBFUlJPUjogY291bGQgbm90IGZpbmQgYSB2YWxpZCA8YWlvLmg+IGhlYWRlci4nCistCWV4aXQgMQorLSAgICBmaQorLSAgXSkKKy0KKy0jCistIyBDaGVjayBpZiB3ZSBoYXZlIHRoZSBsaW9fbGlzdGlvIHJvdXRpbmUgaW4gZWl0aGVyIGxpYmMvbGlicnQKKy0jCistQUNfREVGVU4oW0FDX1BBQ0tBR0VfTkVFRF9MSU9fTElTVElPXSwKKy0gIFsgQUNfQ0hFQ0tfRlVOQ1MobGlvX2xpc3RpbykKKy0gICAgaWYgdGVzdCAkYWNfY3ZfZnVuY19saW9fbGlzdGlvID0geWVzOyB0aGVuCistCWxpYnJ0PSIiCistICAgIGVsc2UKKy0JQUNfQ0hFQ0tfTElCKHJ0LCBsaW9fbGlzdGlvLCwgWworLQkgICAgZWNobworLQkgICAgZWNobyAnRkFUQUwgRVJST1I6IGNvdWxkIG5vdCBmaW5kIGEgbGlicmFyeSB3aXRoIGxpb19saXN0aW8uJworLQkgICAgZXhpdCAxXSxbLWxwdGhyZWFkXSkKKy0JbGlicnQ9Ii1scnQiCistICAgIGZpCistICAgIEFDX1NVQlNUKGxpYnJ0KQorLSAgXSkKKyAKKy0tIAorMS44LjEuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNwcm9ncy9maWxlcy9yZW1vdmUtaW5zdGFsbC1hcy11c2VyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MvZmlsZXMvcmVtb3ZlLWluc3RhbGwtYXMtdXNlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzYxZGIzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MvZmlsZXMvcmVtb3ZlLWluc3RhbGwtYXMtdXNlci5wYXRjaApAQCAtMCwwICsxLDIwNSBAQAorcmVtb3ZlIGluc3RhbGwgYXMgdXNlcgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGluY2x1ZGUvYnVpbGRtYWNyb3MgfCAgMiArLQorIGluY2x1ZGUvaW5zdGFsbC1zaCAgfCA5NSArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgODMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2J1aWxkbWFjcm9zIGIvaW5jbHVkZS9idWlsZG1hY3JvcworaW5kZXggN2EwMTg4MC4uMDg0MGQ1NSAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvYnVpbGRtYWNyb3MKKysrKyBiL2luY2x1ZGUvYnVpbGRtYWNyb3MKK0BAIC0zMCw3ICszMCw3IEBAIE9CSkVDVFMgPSAkKEFTRklMRVM6LnM9Lm8pIFwKKyAJICAkKExGSUxFUzoubD0ubykgXAorIAkgICQoWUZJTEVTOiUueT0lLnRhYi5vKQorIAorLUlOU1RBTEwJPSAkKFRPUERJUikvaW5zdGFsbC1zaCAtbyAkKFBLR19VU0VSKSAtZyAkKFBLR19HUk9VUCkKKytJTlNUQUxMCT0gJChUT1BESVIpL2luc3RhbGwtc2gKKyAKKyBJTUFHRVNfRElSID0gJChUT1BESVIpL2FsbC1pbWFnZXMKKyBESVNUX0RJUiA9ICQoVE9QRElSKS9kaXN0CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9pbnN0YWxsLXNoIGIvaW5jbHVkZS9pbnN0YWxsLXNoCitpbmRleCBjOTUyYTcxLi5iOWQ2NmY3IDEwMDc1NQorLS0tIGEvaW5jbHVkZS9pbnN0YWxsLXNoCisrKysgYi9pbmNsdWRlL2luc3RhbGwtc2gKK0BAIC0yNCwxMSArMjQsMTEgQEAKKyAjICAgICAgIHNldCAgICAgICAgICAgc2V0ICAgICAgfCAgICB5ZXMgICAgICAgIHllcworICMKKyBfdXNhZ2UoKSB7CistICAgIGVjaG8gIlVzYWdlOiAkcHJvZyBbLW8gb3duZXJdIFstZyBncm91cF0gWy1tIG1vZGVdIC1kIGRpcmVjdG9yeSIKKy0gICAgZWNobyAib3IgICAgICRwcm9nIFstRF0gWy1vIG93bmVyXSBbLWcgZ3JvdXBdIFstbSBtb2RlXSBmaWxlIGRpcmVjdG9yeS9maWxlIgorLSAgICBlY2hvICJvciAgICAgJHByb2cgWy1vIG93bmVyXSBbLWcgZ3JvdXBdIFstbSBtb2RlXSBmaWxlIFtmaWxlIC4uLl0gZGlyZWN0b3J5IgorKyAgICBlY2hvICJVc2FnZTogJHByb2cgWy1tIG1vZGVdIC1kIGRpcmVjdG9yeSIKKysgICAgZWNobyAib3IgICAgICRwcm9nIFstbSBtb2RlXSBmaWxlIGRpcmVjdG9yeS9maWxlIgorKyAgICBlY2hvICJvciAgICAgJHByb2cgWy1tIG1vZGVdIGZpbGUgW2ZpbGUgLi4uXSBkaXJlY3RvcnkiCisgICAgIGVjaG8gIm9yICAgICAkcHJvZyAtUyBmaWxlIHRhcmdldCAgKGNyZWF0ZXMgXCJ0YXJnZXRcIiBzeW1saW5rKSIKKy0gICAgZWNobyAib3IgICAgICRwcm9nIC1UIGx0X2FyZyBbLW8gb3duZXJdIFstZyBncm91cF0gWy1tIG1vZGVdIGxpYnRvb2wubGFpIGRpcmVjdG9yeSIKKysgICAgZWNobyAib3IgICAgICRwcm9nIC1UIGx0X2FyZyBbLW0gbW9kZV0gbGlidG9vbC5sYWkgZGlyZWN0b3J5IgorICAgICBlY2hvICIiCisgICAgIGVjaG8gIlRoZSBcJERJU1RfTUFOSUZFU1QgYW5kIFwkRElTVF9ST09UIGVudmlyb25tZW50IHZhcmlhYmxlcyBhZmZlY3QgdGhlIgorICAgICBlY2hvICJiZWhhdmlvdXIgb2YgdGhpcyBjb21tYW5kIC0gc2VlIGNvbW1lbnRzIGluIHRoZSBzY3JpcHQuIgorQEAgLTM4LDMyICszOCw2IEBAIF91c2FnZSgpIHsKKyAgICAgZXhpdCAxCisgfQorIAorLV9jaG93biAoKQorLXsKKy0gICAgX3N0PTI1NQorLSAgICBpZiBbICQjIC1lcSAzIF0gOyB0aGVuCistCWNob3duICQxOiQyICQzCistCV9zdD0kPworLQlpZiBbICRfc3QgLW5lIDAgXSA7IHRoZW4KKy0JICAgIGlmIFsgJFJFQUxfVUlEICE9ICcwJyBdIDsgdGhlbgorLQkJaWYgWyAhIC1mICRESVNUX1JPT1QvLmNob3duLnF1aWV0IF0gOyB0aGVuCistCQkgICAgZWNobyAnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nCistCQkgICAgZWNobyBPd25lcnNoaXAgb2YgZmlsZXMgdW5kZXIgJHtESVNUX1JPT1Q6LS99CistCQkgICAgZWNobyBjYW5ub3QgYmUgY2hhbmdlZAorLQkJICAgIGVjaG8gJz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JworLQkJICAgIGlmIFsgLW4gIiRESVNUX1JPT1QiIF0gOyB0aGVuCistCQkJdG91Y2ggJERJU1RfUk9PVC8uY2hvd24ucXVpZXQKKy0JCSAgICBmaQorLQkJZmkKKy0JICAgICAgIF9zdD0wCistCSAgICBmaSAgICAgCistCWZpCistICAgIGZpCistCistICAgIHJldHVybiAkX3N0CistfQorLQorLQorIF9tYW5pZmVzdCAoKQorIHsgCisgICAgIGVjaG8gJCogfCBzZWQgLWUgJ3MvXC9cLy9cLy9nJyA+PiR7RElTVF9NQU5JRkVTVDotL2Rldi9udWxsfQorQEAgLTc3LDkgKzUxLDYgQEAgU2ZsYWc9ZmFsc2UKKyBUZmxhZz1mYWxzZQorIERJUk1PREU9NzU1CisgRklMRU1PREU9NjQ0CistT1dORVI9YGlkIC11YAorLUdST1VQPWBpZCAtZ2AKKy1SRUFMX1VJRD0kT1dORVIKKyAKKyAjIGRlZmF1bHQgaXMgdG8gaW5zdGFsbCBhbmQgZG9uJ3QgYXBwZW5kIG1hbmlmZXN0CisgSU5TVEFMTD10cnVlCitAQCAtOTQsMjQgKzY1LDE2IEBAIE1BTklGRVNUPToKKyAKKyBpZiAkSU5TVEFMTAorIHRoZW4KKy0gICAgQ1A9Y3A7IExOPWxuOyBNS0RJUj1ta2RpcjsgQ0hNT0Q9Y2htb2Q7IENIT1dOPV9jaG93bgorKyAgICBDUD1jcDsgTE49bG47IE1LRElSPW1rZGlyOyBDSE1PRD1jaG1vZDsKKyBlbHNlCistICAgIENQPXRydWU7IExOPXRydWU7IE1LRElSPXRydWU7IENITU9EPXRydWU7IENIT1dOPXRydWUKKysgICAgQ1A9dHJ1ZTsgTE49dHJ1ZTsgTUtESVI9dHJ1ZTsgQ0hNT0Q9dHJ1ZTsKKyBmaQorIAorLVsgLW4gIiRESVNUX1JPT1QiIC1hICRSRUFMX1VJRCAtbmUgMCBdICYmIENIT1dOPXRydWUKKy0KKy13aGlsZSBnZXRvcHRzICJEY206ZDpTOm86ZzpUOiIgYyAkKgorK3doaWxlIGdldG9wdHMgIkRjbTpkOlM6VDoiIGMgJCoKKyBkbworICAgIGNhc2UgJGMgaW4KKyAgICBjKQorIAk7OworLSAgIGcpCistCUdST1VQPSRPUFRBUkcKKy0JOzsKKy0gICBvKQorLQlPV05FUj0kT1BUQVJHCistCTs7CisgICAgbSkKKyAJRElSTU9ERT1gZXhwciAkT1BUQVJHYAorIAlGSUxFTU9ERT0kRElSTU9ERQorQEAgLTE0NiwxOCArMTA5LDcgQEAgdGhlbgorICAgICAjIGZpcnN0IHVzYWdlCisgICAgICMKKyAgICAgJE1LRElSIC1wICRkaXIgCistICAgIHN0YXR1cz0kPworLSAgICBpZiBbICRzdGF0dXMgLWVxIDAgXQorLSAgICB0aGVuCistCSRDSE1PRCAkRElSTU9ERSAkZGlyCistCXN0YXR1cz0kPworLSAgICBmaQorLSAgICBpZiBbICRzdGF0dXMgLWVxIDAgXQorLSAgICB0aGVuCistCSRDSE9XTiAkT1dORVIgJEdST1VQICRkaXIKKy0Jc3RhdHVzPSQ/CistICAgIGZpCistICAgICRNQU5JRkVTVCBkICRESVJNT0RFICRPV05FUiAkR1JPVVAgJHtkaXIjJERJU1RfUk9PVH0KKysgICAgJE1BTklGRVNUIGQgJERJUk1PREUgJHtkaXIjJERJU1RfUk9PVH0KKyBlbGlmICRTZmxhZworIHRoZW4KKyAgICAgIworQEAgLTIwMyw3ICsxNTUsNyBAQCB0aGVuCisgCQkJaW5zdGFsbF9uYW1lPSR0YXJnZXQvJHNvbGliCisgCQkJJENQICRzb2xpYiAkaW5zdGFsbF9uYW1lCisgCQkJc3RhdHVzPSQ/CistCQkJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRPV05FUiAkR1JPVVAgJEhFUkUvJHNvbGliICR7aW5zdGFsbF9uYW1lIyRESVNUX1JPT1R9CisrCQkJJE1BTklGRVNUIGYgJEZJTEVNT0RFICRIRVJFLyRzb2xpYiAke2luc3RhbGxfbmFtZSMkRElTVF9ST09UfQorIAkJCWJyZWFrCisgCQlmaQorIAlkb25lCitAQCAtMjU0LDcgKzIwNiw3IEBAIHRoZW4KKyAJaW5zdGFsbF9uYW1lPSR0YXJnZXQvJG9sZF9saWJyYXJ5CisgCSRDUCAkb2xkX2xpYnJhcnkgJGluc3RhbGxfbmFtZQorIAlzdGF0dXM9JD8KKy0JJE1BTklGRVNUIGYgJEZJTEVNT0RFICRPV05FUiAkR1JPVVAgJEhFUkUvJG9sZF9saWJyYXJ5ICR7aW5zdGFsbF9uYW1lIyRESVNUX1JPT1R9CisrCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkSEVSRS8kb2xkX2xpYnJhcnkgJHtpbnN0YWxsX25hbWUjJERJU1RfUk9PVH0KKyAJOzsKKyAgICAgKikKKyAJZWNobyAiJHByb2c6IC1UICRsdF9pbnN0YWxsIGludmFsaWQiCitAQCAtMjY3LDcgKzIxOSw2IEBAIHRoZW4KKyAJaWYgWyAkc3RhdHVzIC1lcSAwIF0KKyAJdGhlbgorIAkJJENITU9EICRGSUxFTU9ERSAkaW5zdGFsbF9uYW1lCistCQkkQ0hPV04gJE9XTkVSICRHUk9VUCAkaW5zdGFsbF9uYW1lCisgCWZpCisgCTs7CisgICAgIGVzYWMKK0BAIC0yOTIsMjMgKzI0MywxMCBAQCBlbHNlCisgCXRoZW4gCisgCSAgICBpZiBbIC1mICRkaXIvJGYgXQorIAkgICAgdGhlbgorLQkJJENITU9EICRGSUxFTU9ERSAkZGlyLyRmCistCQlzdGF0dXM9JD8KKy0JCWlmIFsgJHN0YXR1cyAtZXEgMCBdCistCQl0aGVuCistCQkgICAgJENIT1dOICRPV05FUiAkR1JPVVAgJGRpci8kZgorLQkJICAgIHN0YXR1cz0kPworLQkJZmkKKy0JCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkT1dORVIgJEdST1VQICRIRVJFLyRmICR7ZGlyIyRESVNUX1JPT1R9LyRmCisrCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJGYgJHtkaXIjJERJU1RfUk9PVH0vJGYKKyAJICAgIGVsc2UKKyAJCSRDSE1PRCAkRklMRU1PREUgJGRpcgorLQkJc3RhdHVzPSQ/CistCQlpZiBbICRzdGF0dXMgLWVxIDAgXQorLQkJdGhlbgorLQkJICAgICRDSE9XTiAkT1dORVIgJEdST1VQICRkaXIKKy0JCSAgICBzdGF0dXM9JD8KKy0JCWZpCistCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJE9XTkVSICRHUk9VUCAkSEVSRS8kZGlyICR7ZGlyIyRESVNUX1JPT1R9CisrCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJGRpciAke2RpciMkRElTVF9ST09UfQorIAkgICAgZmkKKyAJZmkKKyAgICAgZWxzZQorQEAgLTMzNCwxNCArMjcyLDcgQEAgZWxzZQorIAkgICAgc3RhdHVzPSQ/CisgCSAgICBpZiBbICRzdGF0dXMgLWVxIDAgXQorIAkgICAgdGhlbgorLQkJJENITU9EICRGSUxFTU9ERSAkZGlyLyRmCistCQlzdGF0dXM9JD8KKy0JCWlmIFsgJHN0YXR1cyAtZXEgMCBdCistCQl0aGVuCistCQkgICAgJENIT1dOICRPV05FUiAkR1JPVVAgJGRpci8kZgorLQkJICAgIHN0YXR1cz0kPworLQkJZmkKKy0JCSRNQU5JRkVTVCBmICRGSUxFTU9ERSAkT1dORVIgJEdST1VQICRIRVJFLyRmICR7ZGlyIyRESVNUX1JPT1R9LyRmCisrCQkkTUFOSUZFU1QgZiAkRklMRU1PREUgJEhFUkUvJGYgJHtkaXIjJERJU1RfUk9PVH0vJGYKKyAJICAgIGZpCisgCSAgICBbICRzdGF0dXMgLW5lIDAgXSAmJiBicmVhaworIAlkb25lCistLSAKKzEuOC4xLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MvZmlsZXMveGZzcHJvZ3MtZ2VuZXJhdGUtY3JjdGFibGUtd2hpY2gtaXMtbW92ZWQtaW50by1ydW50aS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL3hmc3Byb2dzL2ZpbGVzL3hmc3Byb2dzLWdlbmVyYXRlLWNyY3RhYmxlLXdoaWNoLWlzLW1vdmVkLWludG8tcnVudGkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjIwNDE5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL3hmc3Byb2dzL2ZpbGVzL3hmc3Byb2dzLWdlbmVyYXRlLWNyY3RhYmxlLXdoaWNoLWlzLW1vdmVkLWludG8tcnVudGkucGF0Y2gKQEAgLTAsMCArMSwxNzAgQEAKK0Zyb20gZTU4Y2IyMTBhN2MxNTM1MjA0MGE0MTFkMTFhODM4M2VhYzBkZWZkYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEppYW5jaHVhbiBXYW5nIDxqaWFuY2h1YW4ud2FuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAzMCBTZXAgMjAxNCAxMjoxNjoxNyArMDgwMAorU3ViamVjdDogW1BBVENIXSB4ZnNwcm9nczogZ2VuZXJhdGUgY3JjdGFibGUgd2hpY2ggaXMgbW92ZWQgaW50byBydW50aW1lIGZyb20KKyBjb21waWxlCisKK0FmdGVyIHVwZ3JhZGVkLCBUaGVyZSBpcyBhIGNvbXBpbGUgZXJyb3IgZXhjZXB0IHg4NiwKK0JlY2F1c2UgY3JjMzIuYyBuZWVkIHR3byBhcnJhaWVzIGNyYzMydGFibGVfbGUgYW5kIGNyYzMyY3RhYmxlX2xlIGZyb20gY3JjMzJ0YWJsZS5oLAord2hpY2ggYXJlIGdlbmVyYXRlZCBieSBnZW5fY3JjMzJ0YWJsZS5jIHJlbGF0aXZlIHRvIGRpZmZlcmVudCBwbGF0Zm9ybXMuCitGb3IgdGhpcywgbW92ZSB0aGUgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gZnJvbSBnZW5fY3JjMzJ0YWJsZS5jIHRvIGNyYy5jCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKaWFuY2h1YW4gV2FuZyA8amlhbmNodWFuLndhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGxpYnhmcy9NYWtlZmlsZSB8IDIzICsrLS0tLS0tLS0tLS0tLS0tLQorIGxpYnhmcy9jcmMzMi5jICB8IDc1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQorIDIgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJ4ZnMvTWFrZWZpbGUgYi9saWJ4ZnMvTWFrZWZpbGUKK2luZGV4IGFlMTVhNWQuLjc2NzAxNTkgMTAwNjQ0CistLS0gYS9saWJ4ZnMvTWFrZWZpbGUKKysrKyBiL2xpYnhmcy9NYWtlZmlsZQorQEAgLTEwLDcgKzEwLDcgQEAgTFRfQ1VSUkVOVCA9IDAKKyBMVF9SRVZJU0lPTiA9IDAKKyBMVF9BR0UgPSAwCisgCistSEZJTEVTID0geGZzLmggaW5pdC5oIHhmc19kaXIyX3ByaXYuaCBjcmMzMmRlZnMuaCBjcmMzMnRhYmxlLmgKKytIRklMRVMgPSB4ZnMuaCBpbml0LmggeGZzX2RpcjJfcHJpdi5oIGNyYzMyZGVmcy5oCisgQ0ZJTEVTID0gY2FjaGUuYyBcCisgCWNyYzMyLmMgXAorIAlpbml0LmMga21lbS5jIGxvZ2l0ZW0uYyByYWRpeC10cmVlLmMgcmR3ci5jIHRyYW5zLmMgdXRpbC5jIFwKK0BAIC00Myw3ICs0Myw2IEBAIENGSUxFUyA9IGNhY2hlLmMgXAorIENGSUxFUyArPSAkKFBLR19QTEFURk9STSkuYworIFBDRklMRVMgPSBkYXJ3aW4uYyBmcmVlYnNkLmMgaXJpeC5jIGxpbnV4LmMKKyBMU1JDRklMRVMgPSAkKHNoZWxsIGVjaG8gJChQQ0ZJTEVTKSB8IHNlZCAtZSAicy8kKFBLR19QTEFURk9STSkuYy8vZyIpCistTFNSQ0ZJTEVTICs9IGdlbl9jcmMzMnRhYmxlLmMKKyAKKyAjCisgIyBUcmFjaW5nIGZsYWdzOgorQEAgLTYxLDI1ICs2MCw3IEBAIExUTElCUyA9ICQoTElCUFRIUkVBRCkgJChMSUJSVCkKKyAjIGRvbid0IHRyeSBsaW5raW5nIHhmc19yZXBhaXIgd2l0aCBhIGRlYnVnIGxpYnhmcy4KKyBERUJVRyA9IC1ETkRFQlVHCisgCistTERJUlQgPSBnZW5fY3JjMzJ0YWJsZSBjcmMzMnRhYmxlLmggY3JjMzJzZWxmdGVzdAorLQorLWRlZmF1bHQ6IGNyYzMyc2VsZnRlc3QgbHRkZXBlbmQgJChMVExJQlJBUlkpCistCistY3JjMzJ0YWJsZS5oOiBnZW5fY3JjMzJ0YWJsZS5jCistCUBlY2hvICIgICAgW0NDXSAgICAgZ2VuX2NyYzMydGFibGUiCistCSQoUSkgJChDQykgJChDRkxBR1MpIC1vIGdlbl9jcmMzMnRhYmxlICQ8CistCUBlY2hvICIgICAgW0dFTkVSQVRFXSAkQCIKKy0JJChRKSAuL2dlbl9jcmMzMnRhYmxlID4gY3JjMzJ0YWJsZS5oCistCistIyBUaGUgc2VsZnRlc3QgYmluYXJ5IHdpbGwgcmV0dXJuIGFuIGVycm9yIGlmIGl0IGZhaWxzLiBUaGlzIGlzIG1hZGUgYQorLSMgZGVwZW5kZW5jeSBvZiB0aGUgYnVpbGQgcHJvY2VzcyBzbyB0aGF0IHdlIHJlZnVzZSB0byBidWlsZCB0aGUgdG9vbHMgb24gYnJva2VuCistIyBzeXN0ZW1zL2FyY2hpdGVjdHVyZXMuIEhlbmNlIHdlIG1ha2Ugc3VyZSB0aGF0IHhmc3Byb2dzIHdpbGwgbmV2ZXIgdXNlIGEKKy0jIGJ1c3RlZCBDUkMgY2FsY3VsYXRpb24gYXQgYnVpbGQgdGltZSBhbmQgaGVuY2UgYXZvaWQgcHV0dGluZyBiYWQgQ1JDcyBkb3duIG9uCistIyBkaXNrLgorLWNyYzMyc2VsZnRlc3Q6IGdlbl9jcmMzMnRhYmxlLmMgY3JjMzJ0YWJsZS5oIGNyYzMyLmMKKy0JQGVjaG8gIiAgICBbVEVTVF0gICAgQ1JDMzIiCistCSQoUSkgJChDQykgJChDRkxBR1MpIC1EIENSQzMyX1NFTEZURVNUPTEgY3JjMzIuYyAtbyAkQAorLQkkKFEpIC4vJEAKKytkZWZhdWx0OiBsdGRlcGVuZCAkKExUTElCUkFSWSkKKyAKKyBpbmNsdWRlICQoQlVJTERSVUxFUykKKyAKK2RpZmYgLS1naXQgYS9saWJ4ZnMvY3JjMzIuYyBiL2xpYnhmcy9jcmMzMi5jCitpbmRleCAwZjg0N2QyLi5iZTVmYmMzIDEwMDY0NAorLS0tIGEvbGlieGZzL2NyYzMyLmMKKysrKyBiL2xpYnhmcy9jcmMzMi5jCitAQCAtNTUsOCArNTUsNiBAQCB0eXBlZGVmIF9fdTMyCXU2NDsKKyAjIGRlZmluZSB0b2JlKHgpICh4KQorICNlbmRpZgorIAorLSNpbmNsdWRlICJjcmMzMnRhYmxlLmgiCistCisgI2lmIENSQ19MRV9CSVRTID4gOCB8fCBDUkNfQkVfQklUUyA+IDgKKyAKKyAvKiBpbXBsZW1lbnRzIHNsaWNpbmctYnktNCBvciBzbGljaW5nLWJ5LTggYWxnb3JpdGhtICovCitAQCAtMTgzLDEzICsxODEsODYgQEAgdTMyIF9fcHVyZSBjcmMzMmNfbGUodTMyIGNyYywgdW5zaWduZWQgY2hhciBjb25zdCAqcCwgc2l6ZV90IGxlbikKKyAJcmV0dXJuIGNyYzMyX2xlX2dlbmVyaWMoY3JjLCBwLCBsZW4sIE5VTEwsIENSQzMyQ19QT0xZX0xFKTsKKyB9CisgI2Vsc2UKKysKKysjaW5jbHVkZSA8c3RkaW8uaD4KKysjaW5jbHVkZSAiY3JjMzJkZWZzLmgiCisrI2luY2x1ZGUgPGludHR5cGVzLmg+CisrCisrI2RlZmluZSBFTlRSSUVTX1BFUl9MSU5FIDQKKysKKysjaWYgQ1JDX0xFX0JJVFMgPiA4CisrIyBkZWZpbmUgTEVfVEFCTEVfUk9XUyAoQ1JDX0xFX0JJVFMvOCkKKysjIGRlZmluZSBMRV9UQUJMRV9TSVpFIDI1NgorKyNlbHNlCisrIyBkZWZpbmUgTEVfVEFCTEVfUk9XUyAxCisrIyBkZWZpbmUgTEVfVEFCTEVfU0laRSAoMSA8PCBDUkNfTEVfQklUUykKKysjZW5kaWYKKysKKysjaWYgQ1JDX0JFX0JJVFMgPiA4CisrIyBkZWZpbmUgQkVfVEFCTEVfUk9XUyAoQ1JDX0JFX0JJVFMvOCkKKysjIGRlZmluZSBCRV9UQUJMRV9TSVpFIDI1NgorKyNlbHNlCisrIyBkZWZpbmUgQkVfVEFCTEVfUk9XUyAxCisrIyBkZWZpbmUgQkVfVEFCTEVfU0laRSAoMSA8PCBDUkNfQkVfQklUUykKKysjZW5kaWYKKysKKytzdGF0aWMgdWludDMyX3QgY3JjMzJ0YWJsZV9sZVtMRV9UQUJMRV9ST1dTXVsyNTZdOworK3N0YXRpYyB1aW50MzJfdCBjcmMzMmN0YWJsZV9sZVtMRV9UQUJMRV9ST1dTXVsyNTZdOworKworK3N0YXRpYyB1aW50MzJfdCBjcmMzMnRhYmxlX2xlX2luaXQgPSAwOworK3N0YXRpYyB1aW50MzJfdCBjcmMzMmN0YWJsZV9sZV9pbml0ID0gMDsKKysKKysvKgorKyAqIGJpZyBlbmRpYW4gb3JkZXJlZCBDUkMgbm90IHVzZWQgYnkgWEZTLgorK3N0YXRpYyB1aW50MzJfdCBjcmMzMnRhYmxlX2JlW0JFX1RBQkxFX1JPV1NdWzI1Nl07CisrICovCisrCisrLyoqCisrICogY3JjMzJpbml0X2xlKCkgLSBhbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBMRSB0YWJsZSBkYXRhCisrICoKKysgKiBjcmMgaXMgdGhlIGNyYyBvZiB0aGUgYnl0ZSBpOyBvdGhlciBlbnRyaWVzIGFyZSBmaWxsZWQgaW4gYmFzZWQgb24gdGhlCisrICogZmFjdCB0aGF0IGNyY3RhYmxlW2leal0gPSBjcmN0YWJsZVtpXSBeIGNyY3RhYmxlW2pdLgorKyAqCisrICovCisrc3RhdGljIHZvaWQgY3JjMzJpbml0X2xlX2dlbmVyaWMoY29uc3QgdWludDMyX3QgcG9seW5vbWlhbCwKKysJCQkJIHVpbnQzMl90ICgqdGFiKVsyNTZdKQorK3sKKysJdW5zaWduZWQgaSwgajsKKysJdWludDMyX3QgY3JjID0gMTsKKysKKysJdGFiWzBdWzBdID0gMDsKKysKKysJZm9yIChpID0gTEVfVEFCTEVfU0laRSA+PiAxOyBpOyBpID4+PSAxKSB7CisrCQljcmMgPSAoY3JjID4+IDEpIF4gKChjcmMgJiAxKSA/IHBvbHlub21pYWwgOiAwKTsKKysJCWZvciAoaiA9IDA7IGogPCBMRV9UQUJMRV9TSVpFOyBqICs9IDIgKiBpKQorKwkJCXRhYlswXVtpICsgal0gPSBjcmMgXiB0YWJbMF1bal07CisrCX0KKysJZm9yIChpID0gMDsgaSA8IExFX1RBQkxFX1NJWkU7IGkrKykgeworKwkJY3JjID0gdGFiWzBdW2ldOworKwkJZm9yIChqID0gMTsgaiA8IExFX1RBQkxFX1JPV1M7IGorKykgeworKwkJCWNyYyA9IHRhYlswXVtjcmMgJiAweGZmXSBeIChjcmMgPj4gOCk7CisrCQkJdGFiW2pdW2ldID0gY3JjOworKwkJfQorKwl9CisrfQorKworIHUzMiBfX3B1cmUgY3JjMzJfbGUodTMyIGNyYywgdW5zaWduZWQgY2hhciBjb25zdCAqcCwgc2l6ZV90IGxlbikKKyB7CisrCWlmIChjcmMzMnRhYmxlX2xlX2luaXQgPT0gMCkgeworKwkJY3JjMzJpbml0X2xlX2dlbmVyaWMoQ1JDUE9MWV9MRSwgY3JjMzJ0YWJsZV9sZSk7CisrCQljcmMzMnRhYmxlX2xlX2luaXQgPT0gMTsKKysJfQkKKysKKyAJcmV0dXJuIGNyYzMyX2xlX2dlbmVyaWMoY3JjLCBwLCBsZW4sCisgCQkJKGNvbnN0IHUzMiAoKilbMjU2XSljcmMzMnRhYmxlX2xlLCBDUkNQT0xZX0xFKTsKKyB9CisgdTMyIF9fcHVyZSBjcmMzMmNfbGUodTMyIGNyYywgdW5zaWduZWQgY2hhciBjb25zdCAqcCwgc2l6ZV90IGxlbikKKyB7CisrCWlmIChjcmMzMmN0YWJsZV9sZV9pbml0ID09IDApIHsKKysJCWNyYzMyaW5pdF9sZV9nZW5lcmljKENSQzMyQ19QT0xZX0xFLCBjcmMzMmN0YWJsZV9sZSk7CisrCQljcmMzMmN0YWJsZV9sZV9pbml0ID09IDE7CisrCX0KKysKKyAJcmV0dXJuIGNyYzMyX2xlX2dlbmVyaWMoY3JjLCBwLCBsZW4sCisgCQkJKGNvbnN0IHUzMiAoKilbMjU2XSljcmMzMmN0YWJsZV9sZSwgQ1JDMzJDX1BPTFlfTEUpOworIH0KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MveGZzcHJvZ3NfMy4yLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNwcm9ncy94ZnNwcm9nc18zLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzgyMzljCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MveGZzcHJvZ3NfMy4yLjMuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJYRlMgRmlsZXN5c3RlbSBVdGlsaXRpZXMiCitIT01FUEFHRSA9ICJodHRwOi8vb3NzLnNnaS5jb20vcHJvamVjdHMveGZzIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDRU5TRV9saWJoYW5kbGUgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2MvQ09QWUlORzttZDU9ZGJkYjVmNDMyOWI3ZTcxNDVkZTY1MGU5ZWNkNGFjMmEiCitERVBFTkRTID0gInV0aWwtbGludXgiCisKK1NSQ19VUkkgPSAiZnRwOi8vb3NzLnNnaS5jb20vcHJvamVjdHMveGZzL2NtZF90YXJzLyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovL3hmc3Byb2dzLWdlbmVyYXRlLWNyY3RhYmxlLXdoaWNoLWlzLW1vdmVkLWludG8tcnVudGkucGF0Y2ggXAorICAgIGZpbGU6Ly9yZW1vdmUtaW5zdGFsbC1hcy11c2VyLnBhdGNoIFwKKyAgICBmaWxlOi8vZHJvcC1jb25maWd1cmUtY2hlY2stZm9yLWFpby5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZjM4M2UzNjY4MjcwOWU2MmIxMmMxMjVlNWQ4Yjg5NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YTUxMjRhODgwOTk3OTM5NTUxYjUxOTYxMGEyZTU0YmQ0Y2QwYjBhZGZkNTYzY2UzZjRkZTMwODI3MTA5YWM5IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUEFDS0FHRVMgPSsgIiR7UE59LWZzY2sgJHtQTn0tbWtmcyBsaWJoYW5kbGUiCisKK1JERVBFTkRTXyR7UE59ID0gIiR7UE59LWZzY2sgJHtQTn0tbWtmcyIKKworRklMRVNfJHtQTn0tZnNjayA9ICIke2Jhc2Vfc2JpbmRpcn0vZnNjay54ZnMiCitGSUxFU18ke1BOfS1ta2ZzID0gIiR7YmFzZV9zYmluZGlyfS9ta2ZzLnhmcyIKK0ZJTEVTX2xpYmhhbmRsZSA9ICIke2Jhc2VfbGliZGlyfS9saWJoYW5kbGUke1NPTElCU30iCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1nZXR0ZXh0PW5vIgorZG9fY29uZmlndXJlICgpIHsKKyAgICAjIFByZXZlbnQgTWFrZWZpbGUgZnJvbSBjYWxsaW5nIGNvbmZpZ3VyZSB3aXRob3V0IGFyZ3VtZW50cywKKyAgICAjIHdoZW4gZG9fY29uZmlndXJlIGdldHMgY2FsbGVkIGZvciBhIHNlY29uZCB0aW1lLgorICAgIHJtIC1mIGluY2x1ZGUvYnVpbGRkZWZzIGluY2x1ZGUvcGxhdGZvcm1fZGVmcy5oCisgICAgIyBSZWNyZWF0ZSBjb25maWd1cmUgc2NyaXB0LgorICAgIHJtIC1mIGNvbmZpZ3VyZQorICAgIG9lX3J1bm1ha2UgY29uZmlndXJlCisgICAgIyBDb25maWd1cmUuCisgICAgZXhwb3J0IERFQlVHPSItRE5ERUJVRyIKKyAgICBnbnUtY29uZmlnaXplIC0tZm9yY2UKKyAgICBvZV9ydW5jb25mCit9CisKK0xJQlRPT0wgPSAiJHtIT1NUX1NZU30tbGlidG9vbCIKK0VYVFJBX09FTUFLRSA9ICInTElCVE9PTD0ke0xJQlRPT0x9JyIKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorUEFSQUxMRUxfTUFLRSA9ICIiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGV4cG9ydCBESVNUX1JPT1Q9JHtEfQorICAgIG9lX3J1bm1ha2UgaW5zdGFsbAorICAgICMgbmVlZGVkIGZvciB4ZnNkdW1wCisgICAgb2VfcnVubWFrZSBpbnN0YWxsLWRldgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveG9ycmlzby94b3JyaXNvXzEuNC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveG9ycmlzby94b3JyaXNvXzEuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNjcwOWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94b3JyaXNvL3hvcnJpc29fMS40LjAuYmIKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT04gPSAieG9ycmlzbyBjb3BpZXMgZmlsZSBvYmplY3RzIGZyb20gUE9TSVggY29tcGxpYW50IGZpbGVzeXN0ZW1zIFwKK2ludG8gUm9jayBSaWRnZSBlbmhhbmNlZCBJU08gOTY2MCBmaWxlc3lzdGVtcyBhbmQgYWxsb3dzIHNlc3Npb24td2lzZSBcCittYW5pcHVsYXRpb24gb2Ygc3VjaCBmaWxlc3lzdGVtcyIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImVjNzlmZDI3MzZiOGRhNzZlN2E4NzBlMjdjYWRmNmZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBiZDFlMDg1MDE1YjI4YzI0ZjU3Njk3ZDZkZWYyZmU4NDUxNzk2N2RjNDE3NTU0YzBjM2NjZjE2ODVlZDBlNTYiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJhY2wgYXR0ciB6bGliIGJ6aXAyIHJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1thY2xdID0gIi0tZW5hYmxlLWxpYmFjbCwtLWRpc2FibGUtbGliYWNsLGFjbCwiCitQQUNLQUdFQ09ORklHW2F0dHJdID0gIi0tZW5hYmxlLXhhdHRyLC0tZGlzYWJsZS14YXR0cixhdHRyLCIKK1BBQ0tBR0VDT05GSUdbemxpYl0gPSAiLS1lbmFibGUtemxpYiwtLWRpc2FibGUtemxpYix6bGliLCIKK1BBQ0tBR0VDT05GSUdbYnppcDJdID0gIi0tZW5hYmxlLWxpYmJ6MiwtLWRpc2FibGUtbGliYnoyLGJ6aXAyLCIKK1BBQ0tBR0VDT05GSUdbcmVhZGxpbmVdID0gIi0tZW5hYmxlLWxpYnJlYWRsaW5lLC0tZGlzYWJsZS1saWJyZWFkbGluZSxyZWFkbGluZSwiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICB0b3VjaCBORVdTCit9CisKK1JERVBFTkRTXyR7UE59ID0gInRrIgorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvQ09QWUlORy5NSVQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvQ09QWUlORy5NSVQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI5NTBkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9DT1BZSU5HLk1JVApAQCAtMCwwICsxLDE3IEBACitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IAorb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgCitpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIAordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCAKK2NvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyAKK2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIAorYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIAorSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIAorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiAKK0xJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIAorT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiAKK1RIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhODg5ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvUkVBRE1FCkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CiticmFuY2g6IGtyb2dvdGgKK3JldmlzaW9uOiBIRUFECisKK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1nbm9tZV1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0JworCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2luZyBzb21ldGhpbmcgbGlrZToKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1nbm9tZV1ba3JvZ290aF1bUEFUQ0gnCisKK2tyb2dvdGggQnJhbmNoIE1haW50YWluZXI6CitBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9jb25mL2xheWVyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThlMTJhOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9jb25mL2xheWVyLmNvbmYKQEAgLTAsMCArMSwxNSBAQAorIyBXZSBoYXZlIGEgY29uZiBhbmQgY2xhc3NlcyBkaXJlY3RvcnksIGFwcGVuZCB0byBCQlBBVEgKK0JCUEFUSCAuPSAiOiR7TEFZRVJESVJ9IgorCisjIFdlIGhhdmUgYSByZWNpcGVzIGRpcmVjdG9yeSwgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKKworQkJGSUxFX0NPTExFQ1RJT05TICs9ICJnbm9tZS1sYXllciIKK0JCRklMRV9QQVRURVJOX2dub21lLWxheWVyIDo9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX2dub21lLWxheWVyID0gIjciCisKKyMgVGhpcyBzaG91bGQgb25seSBiZSBpbmNyZW1lbnRlZCBvbiBzaWduaWZpY2FudCBjaGFuZ2VzIHRoYXQgd2lsbAorIyBjYXVzZSBjb21wYXRpYmlsaXR5IGlzc3VlcyB3aXRoIG90aGVyIGxheWVycworTEFZRVJWRVJTSU9OX2dub21lLWxheWVyID0gIjEiCisKK0xBWUVSREVQRU5EU19nbm9tZS1sYXllciA9ICJjb3JlIG9wZW5lbWJlZGRlZC1sYXllciIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWFwcHMvY2hlZXNlL2NoZWVzZV8yLjMwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2NoZWVzZS9jaGVlc2VfMi4zMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlMGUwYWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2NoZWVzZS9jaGVlc2VfMi4zMC4xLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiVGFrZSBwaG90b3MgYW5kIHZpZGVvcyB3aXRoIHlvdXIgd2ViY2FtLCB3aXRoIGZ1biBncmFwaGljYWwgZWZmZWN0cyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hMTdjYjBhODczZDI1MjQ0MGFjZmRmOWIzZDBlN2ZiZiIKKworREVQRU5EUyA9ICJndGsrIGdzdHJlYW1lciBnc3QtcGx1Z2lucy1iYXNlIGxpYmNhbmJlcnJhIHVkZXYgbGlicnN2ZyBnbm9tZS1kZXNrdG9wIGV2b2x1dGlvbi1kYXRhLXNlcnZlciBpbnRsdG9vbC1uYXRpdmUiCisKK1BSID0gInIyIgorCitpbmhlcml0IGdub21lCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjE1OTlmZGVkOGExNzk3ZWE1MWZiMDEwYWY0ZTZjNDViIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNDhmMDM0NzBjNmY1MjdjYWEwZTNiMjY5ZDNhZmNmZjg2YWUwOTM5YTc0ZjY2Y2UwMzBkNGVlZDNiYzNjYmQ5YSIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xIgorUlJFQ09NTUVORFNfJHtQTn0gPSAiZ3N0LXBsdWdpbnMtZ29vZC1tZXRhIGdzdC1wbHVnaW5zLWJhc2UtbWV0YSIKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtc2Nyb2xsa2VlcGVyIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgInM6IGhlbHAgOiA6ZyIgJHtTfS9NYWtlZmlsZS5hbQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9lcGRmdmlldy9lcGRmdmlldy9icm93c2VyX2NvbW1hbmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3L2Jyb3dzZXJfY29tbWFuZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWU0NWUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9lcGRmdmlldy9lcGRmdmlldy9icm93c2VyX2NvbW1hbmQucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorSW1wb3J0ZWQgZnJvbSBEZWJpYW4gMC4xLjgtMworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtLWdpdCBhL3NyYy9Db25maWcuY3h4IGIvc3JjL0NvbmZpZy5jeHgKK2luZGV4IDI4ZjM3YWIuLmJjNTg4MTkgMTAwNjQ0CistLS0gYS9zcmMvQ29uZmlnLmN4eAorKysrIGIvc3JjL0NvbmZpZy5jeHgKK0BAIC0yMiw3ICsyMiw3IEBACisgdXNpbmcgbmFtZXNwYWNlIGVQREZWaWV3OworIAorIC8vIENvbnN0YW50cworLXN0YXRpYyBjb25zdCBnY2hhciAqREVGQVVMVF9FWFRFUk5BTF9CUk9XU0VSX0NPTU1BTkRfTElORSA9ICJmaXJlZm94ICVzIjsKKytzdGF0aWMgY29uc3QgZ2NoYXIgKkRFRkFVTFRfRVhURVJOQUxfQlJPV1NFUl9DT01NQU5EX0xJTkUgPSAieC13d3ctYnJvd3NlciAlcyI7Cisgc3RhdGljIGNvbnN0IGdjaGFyICpERUZBVUxUX09QRU5fRklMRV9GT0xERVIgPSBOVUxMOworIHN0YXRpYyBjb25zdCBnY2hhciAqREVGQVVMVF9TQVZFX0ZJTEVfRk9MREVSID0gTlVMTDsKKyBzdGF0aWMgY29uc3QgZ2Jvb2xlYW4gREVGQVVMVF9TSE9XX1NUQVRVU0JBUiA9IFRSVUU7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3L2ZpeC1mb3JtYXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3L2ZpeC1mb3JtYXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFkNWI5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWFwcHMvZXBkZnZpZXcvZXBkZnZpZXcvZml4LWZvcm1hdC5wYXRjaApAQCAtMCwwICsxLDE5IEBACitJbXBvcnRlZCBmcm9tIERlYmlhbiAwLjEuOC0zCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC0tZ2l0IGEvc3JjL2d0ay9NYWluVmlldy5jeHggYi9zcmMvZ3RrL01haW5WaWV3LmN4eAoraW5kZXggYjk4M2JmZi4uZjg3ZGUyOCAxMDA2NDQKKy0tLSBhL3NyYy9ndGsvTWFpblZpZXcuY3h4CisrKysgYi9zcmMvZ3RrL01haW5WaWV3LmN4eAorQEAgLTYzNCw4ICs2MzQsOSBAQCBNYWluVmlldzo6c2hvd0Vycm9yTWVzc2FnZSAoY29uc3QgZ2NoYXIgKnRpdGxlLCBjb25zdCBnY2hhciAqYm9keSkKKyAgICAgICAgICAgICBHVEtfRElBTE9HX0RFU1RST1lfV0lUSF9QQVJFTlQsCisgICAgICAgICAgICAgR1RLX01FU1NBR0VfRVJST1IsCisgICAgICAgICAgICAgR1RLX0JVVFRPTlNfT0ssCisrICAgICAgICAgICAgIiVzIiwKKyAgICAgICAgICAgICB0aXRsZSk7CistICAgIGd0a19tZXNzYWdlX2RpYWxvZ19mb3JtYXRfc2Vjb25kYXJ5X3RleHQgKEdUS19NRVNTQUdFX0RJQUxPRyhlcnJvckRpYWxvZyksCisrICAgIGd0a19tZXNzYWdlX2RpYWxvZ19mb3JtYXRfc2Vjb25kYXJ5X3RleHQgKEdUS19NRVNTQUdFX0RJQUxPRyhlcnJvckRpYWxvZyksICIlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkpOworICAgICBndGtfZGlhbG9nX3J1biAoR1RLX0RJQUxPRyAoZXJyb3JEaWFsb2cpKTsKKyAgICAgZ3RrX3dpZGdldF9kZXN0cm95IChlcnJvckRpYWxvZyk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3L2dsaWItc2luZ2xlLWluY2x1ZGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3L2dsaWItc2luZ2xlLWluY2x1ZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRhNDkxMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWFwcHMvZXBkZnZpZXcvZXBkZnZpZXcvZ2xpYi1zaW5nbGUtaW5jbHVkZS5wYXRjaApAQCAtMCwwICsxLDE3IEBACitJbXBvcnRlZCBmcm9tIERlYmlhbiAwLjEuOC0zCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC0tZ2l0IGEvc3JjL2d0ay9TdG9ja0ljb25zLmggYi9zcmMvZ3RrL1N0b2NrSWNvbnMuaAoraW5kZXggYzE0MmE3YS4uNThmY2YyZSAxMDA2NDQKKy0tLSBhL3NyYy9ndGsvU3RvY2tJY29ucy5oCisrKysgYi9zcmMvZ3RrL1N0b2NrSWNvbnMuaAorQEAgLTE4LDcgKzE4LDcgQEAKKyAjaWYgIWRlZmluZWQgKF9fU1RPQ0tfSUNPTlNfSF9fKQorICNkZWZpbmUgX19TVE9DS19JQ09OU19IX18KKyAKKy0jaW5jbHVkZSA8Z2xpYi9nbWFjcm9zLmg+CisrI2luY2x1ZGUgPGdsaWIuaD4KKyAKKyBHX0JFR0lOX0RFQ0xTCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3L3N3YXAtY29sb3JzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9lcGRmdmlldy9lcGRmdmlldy9zd2FwLWNvbG9ycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODJiZmIxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9lcGRmdmlldy9lcGRmdmlldy9zd2FwLWNvbG9ycy5wYXRjaApAQCAtMCwwICsxLDQzIEBACitJbXBvcnRlZCBmcm9tIERlYmlhbiAwLjEuOC0zCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogdHJ1bmsvc3JjL1BERkRvY3VtZW50LmN4eAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHRydW5rL3NyYy9QREZEb2N1bWVudC5jeHgJKHJldmlzaW9uIDM2MSkKKysrKyB0cnVuay9zcmMvUERGRG9jdW1lbnQuY3h4CShyZXZpc2lvbiAzNjcpCitAQCAtMjEsNCArMjEsNSBAQAorICNpbmNsdWRlIDxwb3BwbGVyLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorKyNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2luY2x1ZGUgImVwZGZ2aWV3LmgiCisgCitAQCAtMzMsNCArMzQsMjIgQEAKKyBzdGF0aWMgUGFnZU1vZGUgY29udmVydFBhZ2VNb2RlIChnaW50IHBhZ2VNb2RlKTsKKyBzdGF0aWMgZ2NoYXIgKmdldEFic29sdXRlRmlsZU5hbWUgKGNvbnN0IGdjaGFyICpmaWxlTmFtZSk7CisrCisrbmFtZXNwYWNlCisreworKyAgICB2b2lkCisrICAgIGNvbnZlcnRfYmdyYV90b19yZ2JhIChndWludDggKmRhdGEsIGludCB3aWR0aCwgaW50IGhlaWdodCkKKysgICAgeworKyAgICAgICAgdXNpbmcgc3RkOjpzd2FwOworKworKyAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBoZWlnaHQ7IHkrKykKKysgICAgICAgIHsKKysgICAgICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IHdpZHRoOyB4KyspCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICBzd2FwKGRhdGFbMF0sIGRhdGFbMl0pOworKyAgICAgICAgICAgICAgICBkYXRhICs9IDQ7CisrICAgICAgICAgICAgfQorKyAgICAgICAgfQorKyAgICB9CisrfQorIAorIC8vLworQEAgLTY1MSw0ICs2NzAsNSBAQAorICAgICAgICAgY2Fpcm9fZGVzdHJveShjb250ZXh0KTsKKyAgICAgICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveSAoc3VyZmFjZSk7CisrICAgICAgICBjb252ZXJ0X2JncmFfdG9fcmdiYShyZW5kZXJlZFBhZ2UtPmdldERhdGEgKCksIHdpZHRoLCBoZWlnaHQpOworICNlbHNlIC8vICFIQVZFX1BPUFBMRVJfMF8xN18wCisgICAgICAgICAvLyBDcmVhdGUgdGhlIHBpeGJ1ZiBmcm9tIHRoZSBkYXRhIGFuZCByZW5kZXIgdG8gaXQuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2VwZGZ2aWV3L2VwZGZ2aWV3XzAuMS44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9lcGRmdmlldy9lcGRmdmlld18wLjEuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDBmNTFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9lcGRmdmlldy9lcGRmdmlld18wLjEuOC5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIkEgbGlnaHR3ZWlnaHQgUERGIHZpZXdlciBiYXNlZCBvbiBndGsgYW5kIHBvcHBsZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmVtbWEtc29mdC5jb20vcHJvamVjdHMvZXBkZnZpZXcvIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9ucyIKK0RFUEVORFMgPSAiZ3RrKyBwb3BwbGVyIgorCitQUiA9ICJyMyIKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGhvdXQtY3VwcyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dAorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZW1tYS1zb2Z0LmNvbS9wcm9qZWN0cy8ke0JQTn0vY2hyb21lL3NpdGUvcmVsZWFzZXMvJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9icm93c2VyX2NvbW1hbmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LWZvcm1hdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nbGliLXNpbmdsZS1pbmNsdWRlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3N3YXAtY29sb3JzLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNTAyODViMDE2MTIxNjliMjU5NGZlYTM3NWY1M2FlNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NDg2NDhhZTdjOWQ3YjNiNDA4ZDczOGJkNGY0OGQ4NzM3NWIxMTk2Y2FlMTEyOWQ2Yjg0NmE4ZGUwZjJmOGYwIgorCitQTkJMQUNLTElTVFtlcGRmdmlld10gPz0gIkJST0tFTjogaW1hZ2VzIGFyZSBub3QgZGlzcGxheWVkIGFueW1vcmUiCisjIFRoZXJlIHdpbGwgYmUgbm8gZnVydGhlciBkZXZlbG9wbWVudCAvIHVwc3RyZWFtIGlzIGdvbmUgWzFdCisjIFsxXSBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTkwNjEyMQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9nbm9tZS1tcGxheWVyL2dtdGtfMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL2dub21lLW1wbGF5ZXIvZ210a18xLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDU1ZjE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9nbm9tZS1tcGxheWVyL2dtdGtfMS4wLjUuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJHVEsrIHdpZGdldCBhbmQgZnVuY3Rpb24gbGlicmFyaWVzIGZvciBnbm9tZS1tcGxheWVyIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dtdGsiCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKKworREVQRU5EUyA9ICJndGsrIGFsc2EtbGliIGdsaWItMi4wIHZpcnR1YWwvbGlieDExIGludGx0b29sLW5hdGl2ZSBwdWxzZWF1ZGlvIGd0ayszIgorCitTUkNfVVJJID0gImh0dHA6Ly8ke0JQTn0uZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImUwNmU5Y2E4ZDYxZDc0OTEwMzQzYmIzZWY0MzQ4ZjdmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEwNzEzMGQ2MjcxOWU4YzEyNDRmODQwNWRkOTc0NDU3OThkZjUyMDRmYzBmM2YyZjJiNjY5YjEyNTExNGI0NjgiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZ2NvbmYgLS13aXRoLWdpbyAtLXdpdGgtYWxzYSAtLWVuYWJsZS1rZXlzdG9yZSIKKworaW5oZXJpdCBnZXR0ZXh0IHBrZ2NvbmZpZyBhdXRvdG9vbHMgZ2NvbmYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWFwcHMvZ25vbWUtbXBsYXllci9nbm9tZS1tcGxheWVyXzEuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtYXBwcy9nbm9tZS1tcGxheWVyL2dub21lLW1wbGF5ZXJfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY0NjBmMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWFwcHMvZ25vbWUtbXBsYXllci9nbm9tZS1tcGxheWVyXzEuMC41LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiQSBHVEsrIGludGVyZmFjZSB0byBNUGxheWVyIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dub21lLW1wbGF5ZXIiCitTRUNUSU9OID0gIm11bHRpbWVkaWEiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK1BOQkxBQ0tMSVNUW2dub21lLW1wbGF5ZXJdID89ICJyZGVwZW5kcyBvbiBibGFja2xpc3RlZCBtcGxheWVyIgorUFIgPSAicjIiCisKK0RFUEVORFMgPSAiZ210ayBndGsrIGFsc2EtbGliIGxpYm5vdGlmeSBnbGliLTIuMCBkYnVzLWdsaWIgdmlydHVhbC9saWJ4MTEgbGlieHNjcm5zYXZlciIKKworU1JDX1VSSSA9ICJodHRwOi8vJHtCUE59Lmdvb2dsZWNvZGUuY29tL2ZpbGVzLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxZDNhYjI0YzU1MDFiNTUyOGUzNTc5MzFjYTRkYzZkYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYzNjMTc5MzQ1YmFlY2I0Y2E1MjM3NzgyYWEzM2U4MzI1M2E4N2JmOGI0MmNlNmViM2E5MjA3YTM0MGY2MWIyIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWdpbyAtLXdpdGgtYWxzYSAtLXdpdGgtZGJ1cyAtLXdpdGgtbGlibm90aWZ5IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9nbm9tZS1jb250cm9sLWNlbnRlci9kZWZhdWx0LWFwcHMvJHtQTn0ueG1sIgorUEFDS0FHRVMgPSsgIiR7UE59LW5hdXRpbHVzLWV4dGVuc2lvbiIKK0ZJTEVTXyR7UE59LW5hdXRpbHVzLWV4dGVuc2lvbiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyouc28gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbmF1dGlsdXMvZXh0ZW5zaW9ucy0zLjAvKi5zbyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyoubGEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbmF1dGlsdXMvZXh0ZW5zaW9ucy0zLjAvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyouYSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9uYXV0aWx1cy9leHRlbnNpb25zLTMuMC8qLmEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9uYXV0aWx1cy9leHRlbnNpb25zLTIuMC8uZGVidWcgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbmF1dGlsdXMvZXh0ZW5zaW9ucy0zLjAvLmRlYnVnIgorCitpbmhlcml0IGdldHRleHQgcGtnY29uZmlnIG1pbWUgZ3RrLWljb24tY2FjaGUgYXV0b3Rvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gIm1wbGF5ZXIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL3BpbnBvaW50L3BpbnBvaW50X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWFwcHMvcGlucG9pbnQvcGlucG9pbnRfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5MGU1Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1hcHBzL3BpbnBvaW50L3BpbnBvaW50X2dpdC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkEgc2ltcGxlIHByZXNlbnRhdGlvbiB0b29sIGZvciBoYWNrZXJzIgorREVTQ1JJUFRJT04gPSAiUGlucG9pbnQgaXMgYSBzaW1wbGUgcHJlc2VudGF0aW9uIHRvb2wgdGhhdCBob3BlcyB0byBhdm9pZCBhdWRpZW5jZSBkZWF0aCBcCisgICAgICAgICAgICAgICBieSBidWxsZXQgcG9pbnQgYW5kIGluc3RlYWQgZW5jb3VyYWdlIHByZXNlbnRhdGlvbnMgY29udGFpbmluZyBiZWF1dGlmdWwgXAorICAgICAgICAgICAgICAgaW1hZ2VzIGFuZCBzbWFsbCBhbW91bnRzIG9mIGNvbmNpc2UgdGV4dCBpbiBzbGlkZXMuIgorU0VDVElPTiA9ICJ4MTEvbXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9waW5wb2ludC5jO2JlZ2lubGluZT02O2VuZGxpbmU9MTc7bWQ1PTIwMWQ0MzgyODM2MDdkYTM5M2ZhZTZhY2EwODU0NTRjIgorCitERVBFTkRTID0gImdub21lLWNvbW1vbiBnbGliLTIuMCBnZGstcGl4YnVmIGNvZ2wtMS4wIGNsdXR0ZXItMS4wIGNsdXR0ZXItZ3N0LTMuMCBsaWJyc3ZnIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZworCitTUkNfVVJJID0gImdpdDovL2dpdC5nbm9tZS5vcmcvcGlucG9pbnQiCisKK1NSQ1JFViA9ICI4MGEwNTZjNTdlODE5ZDBiNzUwMzU0MjQ2Mzg4MTNiMDY3MDgzMGUxIgorUFYgPSAiMC4xLjQrZ2l0ciR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJnZGstcGl4YnVmLWxvYWRlci1qcGVnIGdkay1waXhidWYtbG9hZGVyLXBuZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrLW1hbmFnZXItYXBwbGV0L25ldHdvcmstbWFuYWdlci1hcHBsZXRfMS4wLjEwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmstbWFuYWdlci1hcHBsZXQvbmV0d29yay1tYW5hZ2VyLWFwcGxldF8xLjAuMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNlMDhjYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrLW1hbmFnZXItYXBwbGV0L25ldHdvcmstbWFuYWdlci1hcHBsZXRfMS4wLjEwLmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiR1RLKyBhcHBsZXQgZm9yIE5ldHdvcmtNYW5hZ2VyIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorCitERVBFTkRTID0gImd0ayszIGxpYm5vdGlmeSBsaWJzZWNyZXQgbmV0d29ya21hbmFnZXIgZGJ1cy1nbGliIGdjb25mIGxpYmdub21lLWtleXJpbmcgaXNvLWNvZGVzIG5zcyIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ3NldHRpbmdzIGd0ay1pY29uLWNhY2hlIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitHTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI4NmIxN2UxYmYxYTM3YzY0OTg3NDg4M2I1ODdjNmRiNiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImIwNDVhYzNlYWE2OGNjYmJlZmU5MTUxMGFkNjdiNDAwMmE3ZTA5ZDFlNWNlMWM0YmY5YTY3NjE5YmQyY2YwZWIiCisKK1BBQ0tBR0VDT05GSUdbYmx1ZXRvb3RoXSA9ICItLXdpdGgtYmx1ZXRvb3RoLC0td2l0aG91dC1ibHVldG9vdGgsZ25vbWUtYmx1ZXRvb3RoLGdub21lLWJsdWV0b290aCIKK1BBQ0tBR0VDT05GSUdbbW9kZW1tYW5hZ2VyXSA9ICItLXdpdGgtbW9kZW0tbWFuYWdlci0xLC0td2l0aG91dC1tb2RlbS1tYW5hZ2VyLTEsbW9kZW1tYW5hZ2VyIgorUEFDS0FHRUNPTkZJRyA/Pz0gIiIKKworZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKyAgICAjIFNpZ2guLi4gLS1lbmFibGUtY29tcGlsZS13YXJuaW5ncz1ubyBkb2Vzbid0IGFjdHVhbGx5IHR1cm4gb2ZmIC1XZXJyb3IKKyAgICBmb3IgaSBpbiAkKGZpbmQgJHtCfSAtbmFtZSAiTWFrZWZpbGUiKSA7IGRvCisgICAgICAgIHNlZCAtaSAtZSBzOi1XZXJyb3I6OmcgJGkKKyAgICBkb25lCit9CisKK1JERVBFTkRTXyR7UE59ID0rICJuZXR3b3JrbWFuYWdlciIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKKyAgICAke2RhdGFkaXJ9L25tLWFwcGxldC8gXAorICAgICR7ZGF0YWRpcn0vbGlibm0tZ3RrL3dpZmkudWkgXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dub21lLWJsdWV0b290aC9wbHVnaW5zLyouc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nbm9tZS1ibHVldG9vdGgvcGx1Z2lucy9saWJubWEubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9nbm9tZS1ibHVldG9vdGgvcGx1Z2lucy9saWJubWEuYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dub21lLWJsdWV0b290aC9wbHVnaW5zLy5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vYmV4ZC9zc2l6ZV90X2RlZmluaXRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vYmV4ZC9zc2l6ZV90X2RlZmluaXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjAwOWRjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29iZXhkL3NzaXplX3RfZGVmaW5pdGlvbi5wYXRjaApAQCAtMCwwICsxLDMyIEBACitpbmNsdWRlIHVuaXN0ZC5oIHRvIGdldCBzc2l6ZV90IGRlZmluaXRpb25zCisKK0ZpeGVzIGVycm9ycyBsaWtlCisKK3wgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHBsdWdpbnMvbWFzLmM6MzY6MDoKK3wgLi9zcmMvb2JleC5oOjM5OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnc3NpemVfdCcKK3wgLi9zcmMvb2JleC5oOjQ5OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnc3NpemVfdCcKK3wgLi9zcmMvb2JleC5oOjUwOjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnc3NpemVfdCcKK3wgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHBsdWdpbnMvbWFzLmM6Mzg6MDoKK3wgLi9zcmMvbWltZXR5cGUuaDozNjoyOiBlcnJvcjogZXhwZWN0ZWQgc3BlY2lmaWVyLXF1YWxpZmllci1saXN0IGJlZm9yZSAnc3NpemVfdCcKK3wgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHBsdWdpbnMvbWFzLmM6Mzk6MDoKK3wgcGx1Z2lucy9maWxlc3lzdGVtLmg6MjQ6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdzc2l6ZV90JworfCBwbHVnaW5zL21hcy5jOjU1MDoxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3NzaXplX3QnCit8IHBsdWdpbnMvbWFzLmM6NTU3OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnc3NpemVfdCcKK3wgcGx1Z2lucy9tYXMuYzogSW4gZnVuY3Rpb24gJ2FueV9yZWFkJzoKK3wgcGx1Z2lucy9tYXMuYzo1NjA6MjogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdzc2l6ZV90JworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0luZGV4OiBvYmV4ZC0wLjQ0L3BsdWdpbnMvbWFzLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBvYmV4ZC0wLjQ0Lm9yaWcvcGx1Z2lucy9tYXMuYwkyMDEyLTAxLTExIDE0OjUzOjUzLjAwMDAwMDAwMCAtMDgwMAorKysrIG9iZXhkLTAuNDQvcGx1Z2lucy9tYXMuYwkyMDEzLTAxLTA4IDEyOjUxOjEyLjY4MTg4MjE3NCAtMDgwMAorQEAgLTI5LDYgKzI5LDcgQEAKKyAjaW5jbHVkZSA8Z2xpYi5oPgorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDxpbnR0eXBlcy5oPgorKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyAKKyAjaW5jbHVkZSAib2JleGQuaCIKKyAjaW5jbHVkZSAicGx1Z2luLmgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vYmV4ZF8wLjQ4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXgvb2JleGRfMC40OC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDk2YmVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXgvb2JleGRfMC40OC5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIk9CRVggU2VydmVyIGFuZCBDbGllbnQiCisjIG9iZXhkIHdhcyBpbnRlZ3JhdGVkIGludG8gYmx1ZXo1CitERVBFTkRTID0gImdsaWItMi4wIGRidXMgbGliaWNhbCIKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdibHVlejUnLCdibHVlejUnLCdibHVlejQnLGQpfSIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTEyZjg4NGQyYWUxZmY4N2MwOWU1YjdjY2MyYzRjYTdlIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvYmx1ZXRvb3RoL29iZXhkLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9zc2l6ZV90X2RlZmluaXRpb24ucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImQwM2NmOWJhZDI5ODMyNDM4MzdmNGY2ZDc2ZWYxNGE2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVhYTlkOGQ5NTQyNzAwZTY3NTA5MThkNzJhM2NlMDBmOGNmM2EyNzcxZDNlMjUxNmVmZDFiZTVhMDVmNzg1ODIiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworUEFDS0FHRVMgPSsgIm9iZXgtY2xpZW50IG9iZXgtcGx1Z2lucyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzLyR7UE59LnNlcnZpY2UiCitGSUxFU19vYmV4LWNsaWVudCA9ICIke2xpYmV4ZWNkaXJ9L29iZXgtY2xpZW50IFwKKyAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzL29iZXgtY2xpZW50LnNlcnZpY2UiCisjIGN1cnJlbnRseSB0aGUgcGx1Z2lucyBhcmUgZW1wdHkKK0ZJTEVTX29iZXgtcGx1Z2lucyA9ICIke2xpYmRpcn0vb2JleC9wbHVnaW5zIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZGV2dG9vbHMvZ2xhZGUvZ2xhZGUzXyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1kZXZ0b29scy9nbGFkZS9nbGFkZTNfJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWJhY2ZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZGV2dG9vbHMvZ2xhZGUvZ2xhZGUzXyUuYmJhcHBlbmQKQEAgLTAsMCArMSBAQAorUEFDS0FHRUNPTkZJRyA/Pz0gImdub21lIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9maWxlcy9ncGFydGVkX3BvbGtpdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWV4dGVuZGVkL2dwYXJ0ZWQvZmlsZXMvZ3BhcnRlZF9wb2xraXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVhYmQwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWV4dGVuZGVkL2dwYXJ0ZWQvZmlsZXMvZ3BhcnRlZF9wb2xraXQKQEAgLTAsMCArMSwxMCBAQAorIyEvYmluL3NoCisKKyMgcG9sa2l0IGluc3RhbGxlZD8KK2lmIFsgJCh3aGljaCBwa2V4ZWMpIF07IHRoZW4KKwlwa2V4ZWMgLS1kaXNhYmxlLWludGVybmFsLWFnZW50ICIlc2JpbmRpciUvZ3BhcnRlZCIgIiRAIgorZWxzZQorCSVzYmluZGlyJS9ncGFydGVkICIkQCIKK2ZpCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9maWxlcy9vcmcueW9jdG9wcm9qZWN0LnBrZXhlYy5ydW4tZ3BhcnRlZC5wb2xpY3kgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1leHRlbmRlZC9ncGFydGVkL2ZpbGVzL29yZy55b2N0b3Byb2plY3QucGtleGVjLnJ1bi1ncGFydGVkLnBvbGljeQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43N2E5MTkyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9maWxlcy9vcmcueW9jdG9wcm9qZWN0LnBrZXhlYy5ydW4tZ3BhcnRlZC5wb2xpY3kKQEAgLTAsMCArMSwyMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBwb2xpY3ljb25maWcgUFVCTElDCisgIi0vL2ZyZWVkZXNrdG9wLy9EVEQgUG9saWN5S2l0IFBvbGljeSBDb25maWd1cmF0aW9uIDEuMC8vRU4iCisgImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3N0YW5kYXJkcy9Qb2xpY3lLaXQvMS9wb2xpY3ljb25maWcuZHRkIj4KKzxwb2xpY3ljb25maWc+CisKKyAgPGFjdGlvbiBpZD0ib3JnLnlvY3RvcHJvamVjdC5wa2V4ZWMucnVuLWdwYXJ0ZWQiPgorICAgIDxkZXNjcmlwdGlvbj5SdW4gdGhlIEdQYXJ0ZWQgcHJvZ3JhbTwvZGVzY3JpcHRpb24+CisgICAgPG1lc3NhZ2U+QXV0aGVudGljYXRpb24gaXMgcmVxdWlyZWQgdG8gcnVuIHRoZSBHUGFydGVkIFBhcnRpdGlvbiBFZGl0b3I8L21lc3NhZ2U+CisgICAgPGljb25fbmFtZT5ncGFydGVkPC9pY29uX25hbWU+CisgICAgPGRlZmF1bHRzPgorICAgICAgPGFsbG93X2FueT5hdXRoX2FkbWluPC9hbGxvd19hbnk+CisgICAgICA8YWxsb3dfaW5hY3RpdmU+YXV0aF9hZG1pbjwvYWxsb3dfaW5hY3RpdmU+CisgICAgICA8YWxsb3dfYWN0aXZlPmF1dGhfYWRtaW48L2FsbG93X2FjdGl2ZT4KKyAgICA8L2RlZmF1bHRzPgorICAgIDxhbm5vdGF0ZSBrZXk9Im9yZy5mcmVlZGVza3RvcC5wb2xpY3lraXQuZXhlYy5wYXRoIj4vdXNyL3NiaW4vZ3BhcnRlZDwvYW5ub3RhdGU+CisgICAgPGFubm90YXRlIGtleT0ib3JnLmZyZWVkZXNrdG9wLnBvbGljeWtpdC5leGVjLmFsbG93X2d1aSI+dHJ1ZTwvYW5ub3RhdGU+CisgIDwvYWN0aW9uPgorCis8L3BvbGljeWNvbmZpZz4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWV4dGVuZGVkL2dwYXJ0ZWQvZ3BhcnRlZF8wLjI0LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1leHRlbmRlZC9ncGFydGVkL2dwYXJ0ZWRfMC4yNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmMzg5NzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1leHRlbmRlZC9ncGFydGVkL2dwYXJ0ZWRfMC4yNC4wLmJiCkBAIC0wLDAgKzEsMzggQEAKK1NVTU1BUlkgPSAiQSBwYXJ0aXRpb24gZWRpdG9yIHRvIGdyYXBoaWNhbGx5IG1hbmFnZSBkaXNrIHBhcnRpdGlvbnMgIgorSE9NRVBBR0UgPSAiaHR0cDovL2dwYXJ0ZWQub3JnL2luZGV4LnBocCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1pY29uLWNhY2hlCisKK1NSQ19VUkkgPSAiIFwKKyAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC8ke0JQTn0vJHtCUE59LyR7QlBOfS0ke1BWfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgZmlsZTovL29yZy55b2N0b3Byb2plY3QucGtleGVjLnJ1bi1ncGFydGVkLnBvbGljeSBcCisgICAgZmlsZTovL2dwYXJ0ZWRfcG9sa2l0IFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiODQ4MDI3NGM2ODg3NmFjZmY1OTY1ZDQzNDY3MTBlNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMjM5OGFiMzM4OTRhNTliMGJkODcwN2U1OThjNDZkOGJiNTZmMTQxM2NkNTRkZTQ4ZWVkNjFlMjkyMGVjZDYwIgorCitERVBFTkRTID0gImdsaWItMi4wIGd0a21tIHBhcnRlZCBnbm9tZS1kb2MtdXRpbHMtbmF0aXZlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIEFkZCBhIHNjcmlwdCB3aGljaCBjaGVja3MgaWYgcG9sa2l0IGlzIGluc3RhbGxlZC4KKyAgICAjIElmIHllczogYSBwb2xpY3kgaXMgcmVxdWVzdGVkIGZyb20gcG9sa2l0IC8gb3RoZXJ3aXNlIHN0YXJ0IGFzIHVzdWFsCisgICAgaW5zdGFsbCAke1dPUktESVJ9L2dwYXJ0ZWRfcG9sa2l0ICR7RH0ke3NiaW5kaXJ9CisgICAgc2VkIC1pICdzOiVzYmluZGlyJToke3NiaW5kaXJ9OmcnICR7RH0ke3NiaW5kaXJ9L2dwYXJ0ZWRfcG9sa2l0CisgICAgIyByZWxpbmsgbWVudSBlbnRyeSB0byB1c2Ugb3VyIHNjcmlwdAorICAgIHNlZCAtaSAnczoke3NiaW5kaXJ9L2dwYXJ0ZWQ6JHtzYmluZGlyfS9ncGFydGVkX3BvbGtpdDpnJyAke0R9JHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMvZ3BhcnRlZC5kZXNrdG9wCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L3BvbGtpdC0xL2FjdGlvbnMKKyAgICBpbnN0YWxsICR7V09SS0RJUn0vb3JnLnlvY3RvcHJvamVjdC5wa2V4ZWMucnVuLWdwYXJ0ZWQucG9saWN5ICR7RH0ke2RhdGFkaXJ9L3BvbGtpdC0xL2FjdGlvbnMvb3JnLnlvY3RvcHJvamVjdC5wa2V4ZWMucnVuLWdwYXJ0ZWQucG9saWN5Cit9CisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtc2Nyb2xsa2VlcGVyIC0tZGlzYWJsZS1kb2MiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vYXBwZGF0YSBcCisgICAgJHtkYXRhZGlyfS9pY29ucyBcCisgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisiCisKK1JERVBFTkRTXyR7UE59ID0gImRvc2ZzdG9vbHMgbXRvb2xzIGUyZnNwcm9ncyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWV4dGVuZGVkL2d0ay10aGVtZS10b3J0dXJlci9ndGstdGhlbWUtdG9ydHVyZXJfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3RrLXRoZW1lLXRvcnR1cmVyL2d0ay10aGVtZS10b3J0dXJlcl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjYyMWQxNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWV4dGVuZGVkL2d0ay10aGVtZS10b3J0dXJlci9ndGstdGhlbWUtdG9ydHVyZXJfZ2l0LmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiR1RLKyBUaGVtZSBiZW5jaG1hcmsgcHJvZ3JhbSIKK0RFUEVORFMgPSAiZ3RrKyIKK0hPTUVQQUdFID0gImh0dHA6Ly93aWtpLmxhcHRvcC5vcmcvZ28vR1RLX2Zvcl9PTFBDIgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9hcHB3aW5kb3cuYztlbmRsaW5lPTEzO21kNT04YzA5OTIwZGU0NjBjN2VhMWY2NGVlNTY5ODZhYWJkOSIKKworU1JDUkVWID0gIjk5OTYyYWUzOWJiNWFhZGIzMTkyOWIyNWM1OGUxYTA1M2Y5Yzk1NDUiCitQViA9ICIwLjAuMCtnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9kZXYubGFwdG9wLm9yZy9wcm9qZWN0cy9zb2MtZ3RrLyIKK1MgPSAiJHtXT1JLRElSfS9naXQvZ3RrLXRoZW1lLXRvcnR1cmVyIgorCitDRkxBR1MgKz0gIi1XbCwtcnBhdGgtbGluaywke1NUQUdJTkdfTElCRElSfSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKK0FOWV9PRl9ESVNUUk9fRkVBVFVSRVMgPSAiJHtHVEsyRElTVFJPRkVBVFVSRVN9IgorCitkb19pbnN0YWxsKCkgeworCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorCWluc3RhbGwgLW0gMDc1NSB0b3J0dXJlciAke0R9JHtiaW5kaXJ9Cit9CisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzM1MTMyLworUE5CTEFDS0xJU1RbZ3RrLXRoZW1lLXRvcnR1cmVyXSA/PSAiQlJPS0VOOiBnbWFjcm9zLmg6MTgyOjUzOiBlcnJvcjogc2l6ZSBvZiBhcnJheSAnX0dTdGF0aWNBc3NlcnRDb21waWxlVGltZUFzc2VydGlvbl8yJyBpcyBuZWdhdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2FiaXdvcmQvYWJpd29yZC8wMDAxLXBsdWdpbnMtYWlrc2F1cnVzLU1ha2VmaWxlLmFtLXJlbW92ZS11bmNvbXBsZXRlLW9wdGkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9hYml3b3JkL2FiaXdvcmQvMDAwMS1wbHVnaW5zLWFpa3NhdXJ1cy1NYWtlZmlsZS5hbS1yZW1vdmUtdW5jb21wbGV0ZS1vcHRpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkZmYxNDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9hYml3b3JkL2FiaXdvcmQvMDAwMS1wbHVnaW5zLWFpa3NhdXJ1cy1NYWtlZmlsZS5hbS1yZW1vdmUtdW5jb21wbGV0ZS1vcHRpLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gYzY0NjE1OWNlODE3NTA2MTMxYjU4ZmRhYjFjZGMxY2Q2MzY0ZGY3YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFN1biwgNyBGZWIgMjAxNiAyMTo0NToyMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBwbHVnaW5zL2Fpa3NhdXJ1cy9NYWtlZmlsZS5hbTogcmVtb3ZlIHVuY29tcGxldGUgb3B0aW9ucworIFdJVEhfQlVJTFRJTl9BSUtTQVVSVVNfR1RLCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKKyogd2l0aCBndGsyIHdlIHdvbid0IHVzZSBpdAorKiBpdCBpcyBtaXNzaW5nIGluIGNvbmZpZ3VyZS5hYyBjYXVzaW5nCisKK3wgcGx1Z2lucy9haWtzYXVydXMvTWFrZWZpbGUuYW06NTogZXJyb3I6IFdJVEhfQlVJTFRJTl9BSUtTQVVSVVNfR1RLIGRvZXMgbm90IGFwcGVhciBpbiBBTV9DT05ESVRJT05BTAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgcGx1Z2lucy9haWtzYXVydXMvTWFrZWZpbGUuYW0gfCA0IC0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3BsdWdpbnMvYWlrc2F1cnVzL01ha2VmaWxlLmFtIGIvcGx1Z2lucy9haWtzYXVydXMvTWFrZWZpbGUuYW0KK2luZGV4IGQ0MDJjNTguLjEwMzRlMmEgMTAwNjQ0CistLS0gYS9wbHVnaW5zL2Fpa3NhdXJ1cy9NYWtlZmlsZS5hbQorKysrIGIvcGx1Z2lucy9haWtzYXVydXMvTWFrZWZpbGUuYW0KK0BAIC0yLDEwICsyLDYgQEAgU1VCRElSUyA9CisgCisgaWYgVE9PTEtJVF9HVEsKKyAKKy1pZiBXSVRIX0JVSUxUSU5fQUlLU0FVUlVTX0dUSworLVNVQkRJUlMgKz0gYWlrc2F1cnVzZ3RrMworLXBsYXRmb3JtX2xpYiA9IGFpa3NhdXJ1c2d0azMvbGliQWlrc2F1cnVzR3RrMy5sYQorLWVuZGlmCisgCisgZW5kaWYKKyAKKy0tIAorMi41LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYWJpd29yZC9hYml3b3JkXzMuMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYWJpd29yZC9hYml3b3JkXzMuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2MmE1NmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9hYml3b3JkL2FiaXdvcmRfMy4wLjEuYmIKQEAgLTAsMCArMSwxMjQgQEAKK1NVTU1BUlkgPSAiQWJpV29yZCBpcyBmcmVlIHdvcmQgcHJvY2Vzc2luZyBwcm9ncmFtIHNpbWlsYXIgdG8gTWljcm9zb2Z0KHIpIFdvcmQiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmFiaXdvcmQub3JnIgorU0VDVElPTiA9ICJ4MTEvb2ZmaWNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVjZDNhYzMyOWZjYTc3ZTJkMGU0MTJiZWMzOGUxYzIwIgorREVQRU5EUyAgICAgPSAicGVybC1uYXRpdmUgd3YgbGliZ2xhZGUgbGliZnJpYmlkaSBqcGVnIGxpYnBuZyBcCisgICAgICAgICAgICAgICBsaWJyc3ZnIGxpYndtZi1uYXRpdmUgZ3RrbWF0aHZpZXcgYXNpbyBndGsrIGV2b2x1dGlvbi1kYXRhLXNlcnZlciBcCisgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnQkJGSUxFX0NPTExFQ1RJT05TJywgJ29mZmljZS1sYXllcicsICdyZWRsYW5kIHJhc3FhbCcsICcnLCBkKX0iCitSREVQRU5EU18ke1BOfSAgICA9ICJnbGliYy1nY29udi1pYm04NTAgZ2xpYmMtZ2NvbnYtY3AxMjUyIFwKKyAgICAgICAgICAgICAgIGdsaWJjLWdjb252LWlzbzg4NTktMTUgZ2xpYmMtZ2NvbnYtaXNvODg1OS0xIgorUkNPTkZMSUNUU18ke1BOfSA9ICIke1BOfS1lbWJlZGRlZCIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly93d3cuYWJpc291cmNlLmNvbS9kb3dubG9hZHMvJHtCUE59LyR7UFZ9L3NvdXJjZS8ke0JQfS50YXIuZ3ogXAorICAgIGZpbGU6Ly8wMDAxLXBsdWdpbnMtYWlrc2F1cnVzLU1ha2VmaWxlLmFtLXJlbW92ZS11bmNvbXBsZXRlLW9wdGkucGF0Y2ggXAorIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jNWVkY2MzY2NkODY0YjE5MDA0ZDE0ZTljMWM5YTI2YSIKKworU1JDX1VSSVttZDVzdW1dID0gImYzZjgwNTJlN2I0OTc5YTQzYjc1Nzc1YTM4MWU2Y2I4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUwOTRmNmZiZjBhZmM1YzU1MzhiNDg5NDg4OGU3YzM0NmY4ZWU4ZjQ5YzlkMjQ4MjFkZDY5NmQwNzM0ODY1YzYiCisKKyN3YW50IDMueCBmcm9tIDMueC55IGZvciB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeQorU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMV19IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgIGNvbGxhYi1iYWNrZW5kLXhtcHAgY29sbGFiLWJhY2tlbmQtdGNwIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnQkJGSUxFX0NPTExFQ1RJT05TJywgJ29mZmljZS1sYXllcicsICdsaWJpY2FsJywgJycsIGQpfSBcCisiCitQQUNLQUdFQ09ORklHW2xpYmljYWxdID0gIi0td2l0aC1saWJpY2FsLC0td2l0aG91dC1saWJpY2FsLGxpYmljYWwgcmFwdG9yMiIKK1BBQ0tBR0VDT05GSUdbc3BlbGxdID0gIi0tZW5hYmxlLXNwZWxsLC0tZGlzYWJsZS1zcGVsbCxlbmNoYW50IgorUEFDS0FHRUNPTkZJR1tjb2xsYWItYmFja2VuZC14bXBwXSA9ICItLWVuYWJsZS1jb2xsYWItYmFja2VuZC14bXBwLC0tZGlzYWJsZS1jb2xsYWItYmFja2VuZC14bXBwLGxpYmdzZiBsaWJ4bWwyIGxvdWRtb3V0aCIKK1BBQ0tBR0VDT05GSUdbY29sbGFiLWJhY2tlbmQtdGNwXSA9ICItLWVuYWJsZS1jb2xsYWItYmFja2VuZC10Y3AsLS1kaXNhYmxlLWNvbGxhYi1iYWNrZW5kLXRjcCxsaWJnc2YgbGlieG1sMiIKK1BBQ0tBR0VDT05GSUdbY29sbGFiLWJhY2tlbmQtc2VydmljZV0gPSAiLS1lbmFibGUtY29sbGFiLWJhY2tlbmQtc2VydmljZSwtLWRpc2FibGUtY29sbGFiLWJhY2tlbmQtc2VydmljZSxsaWJnc2YgbGlieG1sMiBsaWJzb3VwLTIuNCBnbnV0bHMiCitQQUNLQUdFQ09ORklHW2NvbGxhYi1iYWNrZW5kLXRlbGVwYXRoeV0gPSAiLS1lbmFibGUtY29sbGFiLWJhY2tlbmQtdGVsZXBhdGh5LC0tZGlzYWJsZS1jb2xsYWItYmFja2VuZC10ZWxlcGF0aHksbGliZ3NmIGxpYnhtbDIgdGVsZXBhdGh5LWdsaWIgdGVsZXBhdGh5LW1pc3Npb24tY29udHJvbCIKK1BBQ0tBR0VDT05GSUdbY29sbGFiLWJhY2tlbmQtc3VnYXJdID0gIi0tZW5hYmxlLWNvbGxhYi1iYWNrZW5kLXN1Z2FyLC0tZGlzYWJsZS1jb2xsYWItYmFja2VuZC1zdWdhcixsaWJnc2YgbGlieG1sMiBkYnVzLWdsaWIiCisKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLXN0YXRpYyAgXAorICAgICAgICAgICAgICAgICAtLWVuYWJsZS1wbHVnaW5zIFwKKyAgICAgICAgICAgICAgICAgLS1lbmFibGUtY2xpcGFydCBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLXRlbXBsYXRlcyBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1nbm9tZXZmcyBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1ndGsyIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWxpYndtZi1jb25maWc9JHtTVEFHSU5HX0RJUn0gXAorIgorCitkb19jb21waWxlKCkgeworICAgIGNkIGdvZmZpY2UtYml0czIKKyAgICBtYWtlIGdvZmZpY2UtcGF0aHMuaAorICAgIG1ha2UgbGliZ29mZmljZS5sYQorICAgIGNkICR7Qn0KKyAgICBvZV9ydW5tYWtlCit9CisKK1BBQ0tBR0VTICs9ICIgJHtQTn0tY2xpcGFydCAke1BOfS1zdHJpbmdzICR7UE59LXN5c3RlbXByb2ZpbGVzICR7UE59LXRlbXBsYXRlcyAiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWIke1BOfS0qLnNvIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L21pbWUtaW5mbyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9pY29ucy8qIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59LSR7U0hSVF9WRVJ9L2dsYWRlIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59LSR7U0hSVF9WRVJ9L3NjcmlwdHMgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vc3lzdGVtLnByb2ZpbGUtZW4gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vc3lzdGVtLnByb2ZpbGUtZW5fR0IgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vdGVtcGxhdGVzL25vcm1hbC5hd3QgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vdGVtcGxhdGVzL25vcm1hbC5hd3QtZW5fR0IgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vdGVtcGxhdGVzL0VtcGxveWVlLURpcmVjdG9yeS5hd3QgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vdGVtcGxhdGVzL0J1c2luZXNzLVJlcG9ydC5hd3QgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vdGVtcGxhdGVzL0ZheC1Db3ZlcnNoZWV0LmF3dCBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS90ZW1wbGF0ZXMvUmVzdW1lLmF3dCBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS90ZW1wbGF0ZXMvVHdvLUNvbHVtbnMuYXd0IFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59LSR7U0hSVF9WRVJ9L3RlbXBsYXRlcy9NZW1vLmF3dCBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS90ZW1wbGF0ZXMvUHJlc3MtUmVsZWFzZS5hd3QgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vY2VydHMgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vdWkgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0veHNsKiBcIAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vbWltZS1pbmZvIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7UE59LSR7U0hSVF9WRVJ9L1ByKi54bWwgXAorIgorCisjIGRvbid0IHN0ZWFsIC91c3IvbGliL2xpYmFiaXdvcmQtMy4wLnNvIGZyb20gJHtQTn0KKyMgaW4gdGhpcyBjYXNlIGl0J3MgbmVlZGVkIGluICR7UE59CitGSUxFU18ke1BOfS1kZXYgPSAiIFwKKyAgICAgICAgICAgICAgICAgICR7aW5jbHVkZWRpcn0gXAorICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZyBcCisgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vJHtQTn0qLmxhIFwKKyAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWIke1BOfSoubGEgXAorICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyR7UE59LSR7U0hSVF9WRVJ9L3BsdWdpbnMvKi5sYSBcCisiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS9wbHVnaW5zLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS8ke1BOfS0qL3JlYWRtZSoiCisKK0ZJTEVTXyR7UE59LXN0cmluZ3MgICAgICAgICs9ICIke2RhdGFkaXJ9LyR7UE59LSR7U0hSVF9WRVJ9L3N0cmluZ3MiCitGSUxFU18ke1BOfS1zeXN0ZW1wcm9maWxlcyArPSAiJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS9zeXN0ZW0ucHJvZmlsZSoiCitGSUxFU18ke1BOfS1jbGlwYXJ0ICAgICAgICArPSAiJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS9jbGlwYXJ0IgorRklMRVNfJHtQTn0tc3RyaW5ncyAgICAgICAgKz0gIiR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vQWJpV29yZC9zdHJpbmdzIgorRklMRVNfJHtQTn0tc3lzdGVtcHJvZmlsZXMgKz0gIiR7ZGF0YWRpcn0vJHtQTn0tJHtTSFJUX1ZFUn0vQWJpV29yZC9zeXN0ZW0ucHJvZmlsZSoiCitGSUxFU18ke1BOfS10ZW1wbGF0ZXMgICAgICArPSAiJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS90ZW1wbGF0ZXMiCisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS1tZXRhLiogXiR7UE59LXBsdWdpbi0uKiIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIGFiaXdvcmRfbGliZGlyICAgID0gZC5leHBhbmQoJyR7bGliZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS9wbHVnaW5zJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBhYml3b3JkX2xpYmRpciwgJyguKilcLnNvJCcsICdhYml3b3JkLXBsdWdpbi0lcycsICdBYml3b3JkIHBsdWdpbiBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnKQorCisgICAgbWV0YXBrZyA9ICJhYml3b3JkLW1ldGEiCisgICAgZC5zZXRWYXIoJ0FMTE9XX0VNUFRZXycgKyBtZXRhcGtnLCAiMSIpCisgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBtZXRhcGtnLCAiIikKKyAgICBibGFja2xpc3QgPSBbICdhYml3b3JkLXBsdWdpbnMtZGJnJywgJ2FiaXdvcmQtcGx1Z2lucycsICdhYml3b3JkLXBsdWdpbnMtZG9jJywgJ2FiaXdvcmQtcGx1Z2lucy1kZXYnLCAnYWJpd29yZC1wbHVnaW5zLWxvY2FsZScgXQorICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbXQorICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgMSkuc3BsaXQoKQorICAgIGZvciBwa2cgaW4gcGFja2FnZXNbMTpdOgorICAgICAgICBpZiBub3QgcGtnIGluIGJsYWNrbGlzdCBhbmQgbm90IHBrZyBpbiBtZXRhcGtnX3JkZXBlbmRzIGFuZCBub3QgcGtnLmNvdW50KCItZGV2IikgYW5kIG5vdCBwa2cuY291bnQoIi1kYmciKSBhbmQgbm90IHBrZy5jb3VudCgic3RhdGljIikgYW5kIG5vdCBwa2cuY291bnQoImxvY2FsZSIpIGFuZCBub3QgcGtnLmNvdW50KCJhYml3b3JkLWRvYyIpOgorICAgICAgICAgICAgcHJpbnQgIk1vZGlmeWluZyAiLCBwa2cKKyAgICAgICAgICAgIG1ldGFwa2dfcmRlcGVuZHMuYXBwZW5kKHBrZykKKyAgICBkLnNldFZhcignUkRFUEVORFNfJyArIG1ldGFwa2csICcgJy5qb2luKG1ldGFwa2dfcmRlcGVuZHMpKQorICAgIGQuc2V0VmFyKCdERVNDUklQVElPTl8nICsgbWV0YXBrZywgJ2FiaXdvcmQtcGx1Z2luIG1ldGEgcGFja2FnZScpCisgICAgcGFja2FnZXMuYXBwZW5kKG1ldGFwa2cpCisgICAgZC5zZXRWYXIoJ1BBQ0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZXMpKQorfQorCitGSUxFU18ke1BOfS1wbHVnaW4tb3BlbnhtbCArPSAiJHtkYXRhZGlyfS8ke1BOfS0ke1NIUlRfVkVSfS9vbW1sX3hzbHQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vZmlsZXMvZ2NjNS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Jvbm9iby9maWxlcy9nY2M1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3NTI4YWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vZmlsZXMvZ2NjNS5wYXRjaApAQCAtMCwwICsxLDEyIEBACitJbmRleDogbGliYm9ub2JvdWktMi4yNC41L3Rvb2xzL2Jyb3dzZXIvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJib25vYm91aS0yLjI0LjUub3JpZy90b29scy9icm93c2VyL01ha2VmaWxlLmFtCisrKysgbGliYm9ub2JvdWktMi4yNC41L3Rvb2xzL2Jyb3dzZXIvTWFrZWZpbGUuYW0KK0BAIC0yLDcgKzIsNiBAQCBJTkNMVURFUyA9CVwKKyAJLURCT05PQk9fQlJPV1NFUl9EQVRBRElSPVwiIiQoZGF0YWRpcikiXCIJXAorICAgICAgICAgLURCT05PQk9fU1VQUE9SVF9MT0NBTEVESVI9XCIiJChkYXRhZGlyKS9sb2NhbGUiXCIgICAgICAgIFwKKyAJLUkkKHNyY2RpcikgLUkkKHRvcF9zcmNkaXIpIAkJCVwKKy0JLUkkKHRvcF9zcmNkaXIpL2Jvbm9iby1icm93c2VyCQkJXAorIAkkKEJPTk9CT1VJX0NGTEFHUykJCQkJXAorIAkkKFdBUk5fQ0ZMQUdTKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2ZpbGVzL2d0ay1kb2MubTQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vZmlsZXMvZ3RrLWRvYy5tNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWM0MTY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2ZpbGVzL2d0ay1kb2MubTQKQEAgLTAsMCArMSw1MyBAQAorZG5sIC0qLSBtb2RlOiBhdXRvY29uZiAtKi0KKworIyBzZXJpYWwgMQorCitkbmwgVXNhZ2U6CitkbmwgICBHVEtfRE9DX0NIRUNLKFttaW5pbXVtLWd0ay1kb2MtdmVyc2lvbl0pCitBQ19ERUZVTihbR1RLX0RPQ19DSEVDS10sCitbCisgIEFDX0JFRk9SRShbQUNfUFJPR19MSUJUT09MXSxbJDBdKWRubCBzZXR1cCBsaWJ0b29sIGZpcnN0CisgIEFDX0JFRk9SRShbQU1fUFJPR19MSUJUT09MXSxbJDBdKWRubCBzZXR1cCBsaWJ0b29sIGZpcnN0CisgIGRubCBmb3Igb3ZlcnJpZGluZyB0aGUgZG9jdW1lbnRhdGlvbiBpbnN0YWxsYXRpb24gZGlyZWN0b3J5CisgIEFDX0FSR19XSVRIKGh0bWwtZGlyLAorICAgIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtaHRtbC1kaXI9UEFUSF0sIFtwYXRoIHRvIGluc3RhbGxlZCBkb2NzXSksLAorICAgIFt3aXRoX2h0bWxfZGlyPScke2RhdGFkaXJ9L2d0ay1kb2MvaHRtbCddKQorICBIVE1MX0RJUj0iJHdpdGhfaHRtbF9kaXIiCisgIEFDX1NVQlNUKEhUTUxfRElSKQorCisgIGRubCBlbmFibGUvZGlzYWJsZSBkb2N1bWVudGF0aW9uIGJ1aWxkaW5nCisgIEFDX0FSR19FTkFCTEUoZ3RrLWRvYywKKyAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZ3RrLWRvY10sCisgICAgICAgICAgICAgICAgICAgW3VzZSBndGstZG9jIHRvIGJ1aWxkIGRvY3VtZW50YXRpb24gW2RlZmF1bHQ9bm9dXSksLAorICAgIGVuYWJsZV9ndGtfZG9jPW5vKQorCisgIGhhdmVfZ3RrX2RvYz1ubworICBpZiB0ZXN0IC16ICIkUEtHX0NPTkZJRyI7IHRoZW4KKyAgICBBQ19QQVRIX1BST0coUEtHX0NPTkZJRywgcGtnLWNvbmZpZywgbm8pCisgIGZpCisgIGlmIHRlc3QgIiRQS0dfQ09ORklHIiAhPSAibm8iICYmICRQS0dfQ09ORklHIC0tZXhpc3RzIGd0ay1kb2M7IHRoZW4KKyAgICBoYXZlX2d0a19kb2M9eWVzCisgIGZpCisKKyAgZG5sIGRvIHdlIHdhbnQgdG8gZG8gYSB2ZXJzaW9uIGNoZWNrPworaWZlbHNlKFskMV0sW10sLAorICBbZ3RrX2RvY19taW5fdmVyc2lvbj0kMQorICBpZiB0ZXN0ICIkaGF2ZV9ndGtfZG9jIiA9IHllczsgdGhlbgorICAgIEFDX01TR19DSEVDS0lORyhbZ3RrLWRvYyB2ZXJzaW9uID49ICRndGtfZG9jX21pbl92ZXJzaW9uXSkKKyAgICBpZiAkUEtHX0NPTkZJRyAtLWF0bGVhc3QtdmVyc2lvbiAkZ3RrX2RvY19taW5fdmVyc2lvbiBndGstZG9jOyB0aGVuCisgICAgICBBQ19NU0dfUkVTVUxUKHllcykKKyAgICBlbHNlCisgICAgICBBQ19NU0dfUkVTVUxUKG5vKQorICAgICAgaGF2ZV9ndGtfZG9jPW5vCisgICAgZmkKKyAgZmkKK10pCisgIGlmIHRlc3QgeCRlbmFibGVfZ3RrX2RvYyA9IHh5ZXM7IHRoZW4KKyAgICBpZiB0ZXN0ICIkaGF2ZV9ndGtfZG9jIiAhPSB5ZXM7IHRoZW4KKyAgICAgIGVuYWJsZV9ndGtfZG9jPW5vCisgICAgZmkKKyAgZmkKKworICBBTV9DT05ESVRJT05BTChFTkFCTEVfR1RLX0RPQywgdGVzdCB4JGVuYWJsZV9ndGtfZG9jID0geHllcykKKyAgQU1fQ09ORElUSU9OQUwoR1RLX0RPQ19VU0VfTElCVE9PTCwgdGVzdCAtbiAiJExJQlRPT0wiKQorXSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Jvbm9iby9maWxlcy9ndGstZG9jLm1ha2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vZmlsZXMvZ3RrLWRvYy5tYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1NGZmYjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vZmlsZXMvZ3RrLWRvYy5tYWtlCkBAIC0wLDAgKzEsMTczIEBACisjIC0qLSBtb2RlOiBtYWtlZmlsZSAtKi0KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEV2ZXJ5dGhpbmcgYmVsb3cgaGVyZSBpcyBnZW5lcmljICMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitpZiBHVEtfRE9DX1VTRV9MSUJUT09MCitHVEtET0NfQ0MgPSAkKExJQlRPT0wpIC0tbW9kZT1jb21waWxlICQoQ0MpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykKK0dUS0RPQ19MRCA9ICQoTElCVE9PTCkgLS1tb2RlPWxpbmsgJChDQykgJChBTV9DRkxBR1MpICQoQ0ZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykKK2Vsc2UKK0dUS0RPQ19DQyA9ICQoQ0MpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykKK0dUS0RPQ19MRCA9ICQoQ0MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykgJChBTV9MREZMQUdTKSAkKExERkxBR1MpCitlbmRpZgorCisjIFdlIHNldCBHUEFUSCBoZXJlOyB0aGlzIGdpdmVzIHVzIHNlbWFudGljcyBmb3IgR05VIG1ha2UKKyMgd2hpY2ggYXJlIG1vcmUgbGlrZSBvdGhlciBtYWtlJ3MgVlBBVEgsIHdoZW4gaXQgY29tZXMgdG8KKyMgd2hldGhlciBhIHNvdXJjZSB0aGF0IGlzIGEgdGFyZ2V0IG9mIG9uZSBydWxlIGlzIHRoZW4KKyMgc2VhcmNoZWQgZm9yIGluIFZQQVRIL0dQQVRILgorIworR1BBVEggPSAkKHNyY2RpcikKKworVEFSR0VUX0RJUj0kKEhUTUxfRElSKS8kKERPQ19NT0RVTEUpCisKK0VYVFJBX0RJU1QgPSAJCQkJXAorCSQoY29udGVudF9maWxlcykJCVwKKwkkKEhUTUxfSU1BR0VTKQkJCVwKKwkkKERPQ19NQUlOX1NHTUxfRklMRSkJCVwKKwkkKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dAlcCisJJChET0NfTU9EVUxFKS1vdmVycmlkZXMudHh0CisKK0RPQ19TVEFNUFM9c2Nhbi1idWlsZC5zdGFtcCB0bXBsLWJ1aWxkLnN0YW1wIHNnbWwtYnVpbGQuc3RhbXAgaHRtbC1idWlsZC5zdGFtcCBcCisJICAgJChzcmNkaXIpL3RtcGwuc3RhbXAgJChzcmNkaXIpL3NnbWwuc3RhbXAgJChzcmNkaXIpL2h0bWwuc3RhbXAKKworU0NBTk9CSl9GSUxFUyA9IAkJIFwKKwkkKERPQ19NT0RVTEUpLmFyZ3MgCSBcCisJJChET0NfTU9EVUxFKS5oaWVyYXJjaHkgIFwKKwkkKERPQ19NT0RVTEUpLmludGVyZmFjZXMgXAorCSQoRE9DX01PRFVMRSkucHJlcmVxdWlzaXRlcyBcCisJJChET0NfTU9EVUxFKS5zaWduYWxzCisKK1JFUE9SVF9GSUxFUyA9IFwKKwkkKERPQ19NT0RVTEUpLXVuZG9jdW1lbnRlZC50eHQgXAorCSQoRE9DX01PRFVMRSktdW5kZWNsYXJlZC50eHQgXAorCSQoRE9DX01PRFVMRSktdW51c2VkLnR4dAorCitDTEVBTkZJTEVTID0gJChTQ0FOT0JKX0ZJTEVTKSAkKFJFUE9SVF9GSUxFUykgJChET0NfU1RBTVBTKQorCitpZiBFTkFCTEVfR1RLX0RPQworYWxsLWxvY2FsOiBodG1sLWJ1aWxkLnN0YW1wCitlbHNlCithbGwtbG9jYWw6CitlbmRpZgorCitkb2NzOiBodG1sLWJ1aWxkLnN0YW1wCisKKyMjIyMgc2NhbiAjIyMjCisKK3NjYW4tYnVpbGQuc3RhbXA6ICQoSEZJTEVfR0xPQikgJChDRklMRV9HTE9CKQorCUBlY2hvICdndGstZG9jOiBTY2FubmluZyBoZWFkZXIgZmlsZXMnCisJQC1jaG1vZCAtUiB1K3cgJChzcmNkaXIpCisJY2QgJChzcmNkaXIpICYmIFwKKwkgIGd0a2RvYy1zY2FuIC0tbW9kdWxlPSQoRE9DX01PRFVMRSkgLS1zb3VyY2UtZGlyPSQoRE9DX1NPVVJDRV9ESVIpIC0taWdub3JlLWhlYWRlcnM9IiQoSUdOT1JFX0hGSUxFUykiICQoU0NBTl9PUFRJT05TKSAkKEVYVFJBX0hGSUxFUykKKwlpZiBncmVwIC1sICdeLi4qJCQnICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLnR5cGVzID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuIFwKKwkgICAgQ0M9IiQoR1RLRE9DX0NDKSIgTEQ9IiQoR1RLRE9DX0xEKSIgQ0ZMQUdTPSIkKEdUS0RPQ19DRkxBR1MpIiBMREZMQUdTPSIkKEdUS0RPQ19MSUJTKSIgZ3RrZG9jLXNjYW5nb2JqICQoU0NBTkdPQkpfT1BUSU9OUykgLS1tb2R1bGU9JChET0NfTU9EVUxFKSAtLW91dHB1dC1kaXI9JChzcmNkaXIpIDsgXAorCWVsc2UgXAorCSAgICBjZCAkKHNyY2RpcikgOyBcCisJICAgIGZvciBpIGluICQoU0NBTk9CSl9GSUxFUykgOyBkbyBcCisgICAgICAgICAgICAgICB0ZXN0IC1mICQkaSB8fCB0b3VjaCAkJGkgOyBcCisJICAgIGRvbmUgXAorCWZpCisJdG91Y2ggc2Nhbi1idWlsZC5zdGFtcAorCiskKERPQ19NT0RVTEUpLWRlY2wudHh0ICQoU0NBTk9CSl9GSUxFUykgJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQgJChET0NfTU9EVUxFKS1vdmVycmlkZXMudHh0OiBzY2FuLWJ1aWxkLnN0YW1wCisJQHRydWUKKworIyMjIyB0ZW1wbGF0ZXMgIyMjIworCit0bXBsLWJ1aWxkLnN0YW1wOiAkKERPQ19NT0RVTEUpLWRlY2wudHh0ICQoU0NBTk9CSl9GSUxFUykgJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQgJChET0NfTU9EVUxFKS1vdmVycmlkZXMudHh0CisJQGVjaG8gJ2d0ay1kb2M6IFJlYnVpbGRpbmcgdGVtcGxhdGUgZmlsZXMnCisJQC1jaG1vZCAtUiB1K3cgJChzcmNkaXIpCisJY2QgJChzcmNkaXIpICYmIGd0a2RvYy1ta3RtcGwgLS1tb2R1bGU9JChET0NfTU9EVUxFKSAkKE1LVE1QTF9PUFRJT05TKQorCXRvdWNoIHRtcGwtYnVpbGQuc3RhbXAKKwordG1wbC5zdGFtcDogdG1wbC1idWlsZC5zdGFtcAorCUB0cnVlCisKK3RtcGwvKi5zZ21sOgorCUB0cnVlCisKKworIyMjIyB4bWwgIyMjIworCitzZ21sLWJ1aWxkLnN0YW1wOiB0bXBsLnN0YW1wICQoSEZJTEVfR0xPQikgJChDRklMRV9HTE9CKSAkKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dCAkKHNyY2RpcikvdG1wbC8qLnNnbWwgJChleHBhbmRfY29udGVudF9maWxlcykKKwlAZWNobyAnZ3RrLWRvYzogQnVpbGRpbmcgWE1MJworCUAtY2htb2QgLVIgdSt3ICQoc3JjZGlyKQorCWNkICQoc3JjZGlyKSAmJiBcCisJZ3RrZG9jLW1rZGIgLS1tb2R1bGU9JChET0NfTU9EVUxFKSAtLXNvdXJjZS1kaXI9JChET0NfU09VUkNFX0RJUikgLS1vdXRwdXQtZm9ybWF0PXhtbCAtLWV4cGFuZC1jb250ZW50LWZpbGVzPSIkKGV4cGFuZF9jb250ZW50X2ZpbGVzKSIgLS1tYWluLXNnbWwtZmlsZT0kKERPQ19NQUlOX1NHTUxfRklMRSkgJChNS0RCX09QVElPTlMpCisJdG91Y2ggc2dtbC1idWlsZC5zdGFtcAorCitzZ21sLnN0YW1wOiBzZ21sLWJ1aWxkLnN0YW1wCisJQHRydWUKKworIyMjIyBodG1sICMjIyMKKworaHRtbC1idWlsZC5zdGFtcDogc2dtbC5zdGFtcCAkKERPQ19NQUlOX1NHTUxfRklMRSkgJChjb250ZW50X2ZpbGVzKQorCUBlY2hvICdndGstZG9jOiBCdWlsZGluZyBIVE1MJworCUAtY2htb2QgLVIgdSt3ICQoc3JjZGlyKQorCXJtIC1yZiAkKHNyY2RpcikvaHRtbAorCW1rZGlyICQoc3JjZGlyKS9odG1sCisJY2QgJChzcmNkaXIpL2h0bWwgJiYgZ3RrZG9jLW1raHRtbCAkKERPQ19NT0RVTEUpIC4uLyQoRE9DX01BSU5fU0dNTF9GSUxFKQorCXRlc3QgIngkKEhUTUxfSU1BR0VTKSIgPSAieCIgfHwgKCBjZCAkKHNyY2RpcikgJiYgY3AgJChIVE1MX0lNQUdFUykgaHRtbCApCisJQGVjaG8gJ2d0ay1kb2M6IEZpeGluZyBjcm9zcy1yZWZlcmVuY2VzJworCWNkICQoc3JjZGlyKSAmJiBndGtkb2MtZml4eHJlZiAtLW1vZHVsZS1kaXI9aHRtbCAtLWh0bWwtZGlyPSQoSFRNTF9ESVIpICQoRklYWFJFRl9PUFRJT05TKQorCXRvdWNoIGh0bWwtYnVpbGQuc3RhbXAKKworIyMjIyMjIyMjIyMjIyMKKworY2xlYW4tbG9jYWw6CisJcm0gLWYgKn4gKi5iYWsKKwlybSAtcmYgLmxpYnMKKworZGlzdGNsZWFuLWxvY2FsOgorCWNkICQoc3JjZGlyKSAmJiBcCisJICBybSAtcmYgeG1sICQoUkVQT1JUX0ZJTEVTKSBcCisJICAgICAgICAgJChET0NfTU9EVUxFKS1kZWNsLWxpc3QudHh0ICQoRE9DX01PRFVMRSktZGVjbC50eHQKKworbWFpbnRhaW5lci1jbGVhbi1sb2NhbDogY2xlYW4KKwljZCAkKHNyY2RpcikgJiYgcm0gLXJmIHhtbCBodG1sCisKK2luc3RhbGwtZGF0YS1sb2NhbDoKKwktaW5zdGFsbGZpbGVzPWBlY2hvICQoc3JjZGlyKS9odG1sLypgOyBcCisJaWYgdGVzdCAiJCRpbnN0YWxsZmlsZXMiID0gJyQoc3JjZGlyKS9odG1sLyonOyBcCisJdGhlbiBlY2hvICctLSBOb3RoaW5nIHRvIGluc3RhbGwnIDsgXAorCWVsc2UgXAorCSAgJChta2luc3RhbGxkaXJzKSAkKERFU1RESVIpJChUQVJHRVRfRElSKTsgXAorCSAgZm9yIGkgaW4gJCRpbnN0YWxsZmlsZXM7IGRvIFwKKwkgICAgZWNobyAnLS0gSW5zdGFsbGluZyAnJCRpIDsgXAorCSAgICAkKElOU1RBTExfREFUQSkgJCRpICQoREVTVERJUikkKFRBUkdFVF9ESVIpOyBcCisJICBkb25lOyBcCisJICBlY2hvICctLSBJbnN0YWxsaW5nICQoc3JjZGlyKS9odG1sL2luZGV4LnNnbWwnIDsgXAorCSAgJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS9odG1sL2luZGV4LnNnbWwgJChERVNURElSKSQoVEFSR0VUX0RJUikgfHwgOjsgXAorCSAgd2hpY2ggZ3RrZG9jLXJlYmFzZSA+L2Rldi9udWxsICYmIFwKKwkgICAgZ3RrZG9jLXJlYmFzZSAtLXJlbGF0aXZlIC0tZGVzdC1kaXI9JChERVNURElSKSAtLWh0bWwtZGlyPSQoREVTVERJUikkKFRBUkdFVF9ESVIpIDsgXAorCWZpCisJCisKK3VuaW5zdGFsbC1sb2NhbDoKKwlybSAtZiAkKERFU1RESVIpJChUQVJHRVRfRElSKS8qCisKKyMKKyMgUmVxdWlyZSBndGstZG9jIHdoZW4gbWFraW5nIGRpc3QKKyMKK2lmIEVOQUJMRV9HVEtfRE9DCitkaXN0LWNoZWNrLWd0a2RvYzoKK2Vsc2UKK2Rpc3QtY2hlY2stZ3RrZG9jOgorCUBlY2hvICIqKiogZ3RrLWRvYyBtdXN0IGJlIGluc3RhbGxlZCBhbmQgZW5hYmxlZCBpbiBvcmRlciB0byBtYWtlIGRpc3QiCisJQGZhbHNlCitlbmRpZgorCitkaXN0LWhvb2s6IGRpc3QtY2hlY2stZ3RrZG9jIGRpc3QtaG9vay1sb2NhbAorCW1rZGlyICQoZGlzdGRpcikvdG1wbAorCW1rZGlyICQoZGlzdGRpcikveG1sCisJbWtkaXIgJChkaXN0ZGlyKS9odG1sCisJLWNwICQoc3JjZGlyKS90bXBsLyouc2dtbCAkKGRpc3RkaXIpL3RtcGwKKwktY3AgJChzcmNkaXIpL3htbC8qLnhtbCAkKGRpc3RkaXIpL3htbAorCWNwICQoc3JjZGlyKS9odG1sLyogJChkaXN0ZGlyKS9odG1sCisJLWNwICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLnR5cGVzICQoZGlzdGRpcikvCisJLWNwICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dCAkKGRpc3RkaXIpLworCWNkICQoZGlzdGRpcikgJiYgcm0gLWYgJChESVNUQ0xFQU5GSUxFUykKKwktZ3RrZG9jLXJlYmFzZSAtLW9ubGluZSAtLXJlbGF0aXZlIC0taHRtbC1kaXI9JChkaXN0ZGlyKS9odG1sCisKKy5QSE9OWSA6IGRpc3QtaG9vay1sb2NhbCBkb2NzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vbGliYm9ub2JvLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Jvbm9iby9saWJib25vYm8uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwZjYxNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vbGliYm9ub2JvLmluYwpAQCAtMCwwICsxLDI5IEBACitERVNDUklQVElPTiA9ICJCb25vYm8gQ09SQkEgaW50ZXJmYWNlcyBsaWJyYXJ5IgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgorU0VDVElPTiA9ICJ4MTEvZ25vbWUvbGlicyIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgb3JiaXQyIGludGx0b29sLW5hdGl2ZSBsaWJ4bWwyIGRidXMgZGJ1cy1nbGliIgorCitpbmhlcml0IGdub21lYmFzZSBndGstZG9jIGxpYl9wYWNrYWdlCisKK09SQklUX0lETF9TUkMgPSAiJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L29yYml0LWlkbC0yIgorCitSREVQRU5EU18ke1BOfS1iaW4gPSAiJHtQTn0gcGVybCIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vb3JiaXQtMi4wLyouc28gJHtsaWJkaXJ9L2Jvbm9iby9tb25pa2Vycy8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vYm9ub2JvL21vbmlrZXJzLy5kZWJ1ZyBcCisgICAgJHtsaWJkaXJ9L2Jvbm9iby0yLjAvc2FtcGxlcy8uZGVidWcgJHtsaWJkaXJ9L29yYml0LTIuMC8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9vcmJpdC0yLjAvKi5sYSAke2xpYmRpcn0vYm9ub2JvL21vbmlrZXJzLyoubGEgJHtsaWJkaXJ9L2Jvbm9iby0yLjAvc2FtcGxlcyIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L29yYml0LTIuMC8qLmEgJHtsaWJkaXJ9L2Jvbm9iby9tb25pa2Vycy8qLmEiCisKK0xFQURfU09OQU1FID0gImxpYmJvbm9iby0yLnNvIgorCitQQVJBTExFTF9NQUtFID0gIiIKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIE9SQklUX0lETD0iJHtPUkJJVF9JRExfU1JDfSIKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIE9SQklUX0lETD0iJHtPUkJJVF9JRExfU1JDfSIgREVTVERJUj0iJHtEfSIgaW5zdGFsbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9iby8wMDAxLVJlbW92ZS11c2Utb2YtR19ESVNBQkxFX0RFUFJFQ0FURUQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vbGliYm9ub2JvLzAwMDEtUmVtb3ZlLXVzZS1vZi1HX0RJU0FCTEVfREVQUkVDQVRFRC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGNmMWY5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9iby8wMDAxLVJlbW92ZS11c2Utb2YtR19ESVNBQkxFX0RFUFJFQ0FURUQucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSBmZWYxM2EzNzFmYzkxZjZkOWI0MjUxODEyNmMyYThiNDU5ZmRmMGU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ29saW4gV2FsdGVycyA8d2FsdGVyc0B2ZXJidW0ub3JnPgorRGF0ZTogVGh1LCAyIE1heSAyMDEzIDE0OjE3OjM4IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlbW92ZSB1c2Ugb2YgR19ESVNBQkxFX0RFUFJFQ0FURUQKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVGhpcyBub3cgdHJpcHMgdXAgb24gR1N0YXRpY1JlY011dGV4OyBJJ20gbm90IGdvaW5nIHRvIGJvdGhlciB0byBwb3J0LAorcmVhbGlzdGljYWxseSBubyBvbmUgaXMgYWN0aXZlbHkgbWFpbnRhaW5pbmcgdGhpcyBjb2RlIGFueW1vcmUuCisKK1Vwc3RyZWFtLVN0YXR1czogQXBwbGllZAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBhY3RpdmF0aW9uLXNlcnZlci9NYWtlZmlsZS5hbSB8ICAgIDEgLQorIGNvbmZpZ3VyZS5pbiAgICAgICAgICAgICAgICAgIHwgICAgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWN0aXZhdGlvbi1zZXJ2ZXIvTWFrZWZpbGUuYW0gYi9hY3RpdmF0aW9uLXNlcnZlci9NYWtlZmlsZS5hbQoraW5kZXggZWZiMThhOC4uZmZhOTBmNiAxMDA2NDQKKy0tLSBhL2FjdGl2YXRpb24tc2VydmVyL01ha2VmaWxlLmFtCisrKysgYi9hY3RpdmF0aW9uLXNlcnZlci9NYWtlZmlsZS5hbQorQEAgLTE3LDcgKzE3LDYgQEAgSU5DTFVERVM9CQkJCQlcCisgCSQoU0VSVkVSX0NGTEFHUykJCQlcCisgCSQoV0FSTl9DRkxBR1MpCQkJCVwKKyAJLURTRVJWRVJfQ09ORkRJUj1cIiQoc3lzY29uZmRpcilcIglcCistCS1ER19ESVNBQkxFX0RFUFJFQ0FURUQJCQlcCisgCS1ER19MT0dfRE9NQUlOPVwiQm9ub2JvLUFjdGl2YXRpb24tU2VydmVyXCIgXAorIAkkKE5VTEwpCisgCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCA3MGE0ZTI2Li42YmUyYmNhIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0xMzIsNyArMTMyLDcgQEAgQUNfU1VCU1QoU0VSVkVSX0xJQlMpCisgQUNfU1VCU1QoU0VSVkVSX0NGTEFHUykKKyAKKyBpZiB0ZXN0ICIkZW5hYmxlX21haW50YWluZXJfbW9kZSIgPSAieWVzIjsgdGhlbgorLQlESVNBQkxFX0RFUFJFQ0FURURfQ0ZMQUdTPSItREdfRElTQUJMRV9ERVBSRUNBVEVEIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyIKKysJRElTQUJMRV9ERVBSRUNBVEVEX0NGTEFHUz0iLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIgorIAlBQ19TVUJTVChESVNBQkxFX0RFUFJFQ0FURURfQ0ZMQUdTKQorIGZpCisgCistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9iby9kby1ub3QtdXNlLXNyY2Rpci12YXJpYWJsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Jvbm9iby9saWJib25vYm8vZG8tbm90LXVzZS1zcmNkaXItdmFyaWFibGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTIwZWRkYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Jvbm9iby9saWJib25vYm8vZG8tbm90LXVzZS1zcmNkaXItdmFyaWFibGUucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorfCB0ZXN0cy9NYWtlZmlsZS5hbTo1NTogZXJyb3I6IHVzaW5nICckKHNyY2RpciknIGluIFRFU1RTIGlzIGN1cnJlbnRseSBicm9rZW46ICckKHNyY2RpcikvdGUKK3N0LXByb3BlcnRpZXMuc2gnCit8IHRlc3RzL3Rlc3QtYWN0aXZhdGlvbi9NYWtlZmlsZS5hbTo3Njogd2FybmluZzogJ0lOQ0xVREVTJyBpcyB0aGUgb2xkIG5hbWUgZm9yICdBTV9DUFBGTEFHUworJyAob3IgJypfQ1BQRkxBR1MnKQorfCB1dGlscy9NYWtlZmlsZS5hbTo5OiB3YXJuaW5nOiAnSU5DTFVERVMnIGlzIHRoZSBvbGQgbmFtZSBmb3IgJ0FNX0NQUEZMQUdTJyAob3IgJypfQ1BQRkxBR1MKKycpCit8IGF1dG9yZWNvbmY6IGF1dG9tYWtlIGZhaWxlZCB3aXRoIGV4aXQgc3RhdHVzOiAxCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitVcHN0cmVhbS1TdGF0dXM6IE5vdCBTdWJtaXR0ZWQKKworSW5kZXg6IGxpYmJvbm9iby0yLjMyLjEvdGVzdHMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJib25vYm8tMi4zMi4xLm9yaWcvdGVzdHMvTWFrZWZpbGUuYW0JMjAxMC0wOC0yOSAwNDo1NjowMC4wMDAwMDAwMDAgLTA3MDAKKysrKyBsaWJib25vYm8tMi4zMi4xL3Rlc3RzL01ha2VmaWxlLmFtCTIwMTQtMDQtMjUgMTU6Mzg6MjIuMDI0NzQ0Mzg0IC0wNzAwCitAQCAtNTUsNyArNTUsNyBAQAorIAlNT0RFTFNfRElSPSIkKHNyY2RpcikvbW9kZWxzIgorIAorIFRFU1RTID0gdGVzdC1tb25pa2VyJChFWEVFWFQpIHRlc3QtZXZlbnQtc291cmNlJChFWEVFWFQpIHRlc3Qtb2JqZWN0JChFWEVFWFQpIFwKKy0JdGVzdC1zdHJlYW0tbWVtJChFWEVFWFQpICQoc3JjZGlyKS90ZXN0LXByb3BlcnRpZXMuc2ggdGVzdC1zdG9yYWdlLW1lbSQoRVhFRVhUKSBcCisrCXRlc3Qtc3RyZWFtLW1lbSQoRVhFRVhUKSB0ZXN0LXByb3BlcnRpZXMuc2ggdGVzdC1zdG9yYWdlLW1lbSQoRVhFRVhUKSBcCisgCXRlc3QtbWFpbi1sb29wJChFWEVFWFQpCisgCisgIyBURVNUUyArPSB0ZXN0LWdlbmVyaWMtZmFjdG9yeS5zaApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9ib18yLjMyLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vbGliYm9ub2JvXzIuMzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDRkODEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9ib18yLjMyLjEuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIGxpYmJvbm9iby5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtUmVtb3ZlLXVzZS1vZi1HX0RJU0FCTEVfREVQUkVDQVRFRC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vZG8tbm90LXVzZS1zcmNkaXItdmFyaWFibGUucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIyN2ZhOTAyZDRmZGY2NzYyZWUwMTBlNzA1M2FhZjc3YiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjkxNjBkNGYyNzc2NDY0MDBkM2JiNmI0ZmE3MzYzNmNjNmQxYTg2NWEzMmI5ZDA3NjBlMWU5ZTZlZTYyNDk3NmIiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ib25vYm8vbGliYm9ub2JvdWlfMi4yNC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9ib3VpXzIuMjQuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjdmMzdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvYm9ub2JvL2xpYmJvbm9ib3VpXzIuMjQuNS5iYgpAQCAtMCwwICsxLDIxIEBACitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgorCitpbmhlcml0IGdub21lYmFzZSBwa2djb25maWcgZ3RrLWRvYworCitTUkNfVVJJICs9ICJmaWxlOi8vZ2NjNS5wYXRjaCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiODUzYmU4ZTI4YWFhNGNlNDhiYTYwYmU3ZDkwNDZiZjQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJmYWI1ZjJhYzZjODQyZDk0OTg2MWMwN2NiNTIwYWZlNWJlZTNkY2U1NTgwNTE1MWNlOWNkMDFiZTBlYzQ2ZmNkIgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitERVBFTkRTID0gImxpYmdub21lY2FudmFzIGxpYmJvbm9ibyBsaWJnbm9tZSBnbGliLTIuMCBnY29uZiBsaWJ4bWwyIGxpYmdsYWRlIGdub21lLWNvbW1vbiBpbnRsdG9vbC1uYXRpdmUiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGliZ2xhZGUvMi4wLyouc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9saWJnbGFkZS8yLjAvKi5sYSAke2RhdGFkaXJ9L2dub21lLTIuMC91aSBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9ib25vYm8tMi4wL3NhbXBsZXMiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9saWJnbGFkZS8yLjAvKi5hIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vYm9ub2JvLTIuMC9zYW1wbGVzLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJnbGFkZS8yLjAvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmZfMC4xOC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmZfMC4xOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNmYxNWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZl8wLjE4LjAuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJjb25maWd1YXRpb24gZGF0YWJhc2Ugc3lzdGVtIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIgorCitTRUNUSU9OID0gIngxMS9nbm9tZSIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ3NldHRpbmdzCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI2OWExMmVkNjg4OTNmMmUxZTgxYWM0ZTUzMWJjMTUxNSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjEwOWIxYmM2MDc4NjkwYWYxZWQ4OGNiMTQ0ZWY1YzVhZWU3MzA0NzY5ZDhiZGM4MmVkNDhjMzY5NmYxMGM5NTUiCitHTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgorCitERVBFTkRTID0gImdsaWItMi4wIGd0ayszIGxpYnhtbDIiCisKK2luaGVyaXQgdmFsYSBndGstZG9jCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLW1hbiIKKworUEFDS0FHRVMgPSsgImRjb25mLWVkaXRvciIKKworRklMRVNfJHtQTn0gKz0gIiBcCisJJHtkYXRhZGlyfS9kYnVzLTEgXAorCSR7bGliZGlyfS9naW8vbW9kdWxlcy8qLnNvIFwKKyIKK0ZJTEVTX2Rjb25mLWVkaXRvciA9ICIgXAorCSR7YmluZGlyfS9kY29uZi1lZGl0b3IgXAorCSR7ZGF0YWRpcn0vaWNvbnMgXAorCSR7ZGF0YWRpcn0vYmFzaC1jb21wbGV0aW9uIFwKKyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dpby9tb2R1bGVzLy5kZWJ1Zy9saWJkY29uZnNldHRpbmdzLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGVza3RvcC1maWxlLXV0aWxzL2Rlc2t0b3AtZmlsZS11dGlsc18wLjE4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGVza3RvcC1maWxlLXV0aWxzL2Rlc2t0b3AtZmlsZS11dGlsc18wLjE4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YTg3MjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kZXNrdG9wLWZpbGUtdXRpbHMvZGVza3RvcC1maWxlLXV0aWxzXzAuMTguYmIKQEAgLTAsMCArMSwxOCBAQAorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9kZXNrdG9wLWZpbGUtdXRpbHMiCitERVNDUklQVElPTiA9ICJkZXNrdG9wLWZpbGUtdXRpbHMgY29udGFpbnMgYSBmZXcgY29tbWFuZCBsaW5lIHV0aWxpdGllcyBmb3Igd29ya2luZyB3aXRoIGRlc2t0b3AgZW50cmllczoiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitERVBFTkRTID0gImdsaWItMi4wIgorCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9kZXNrdG9wLWZpbGUtdXRpbHMvcmVsZWFzZXMvZGVza3RvcC1maWxlLXV0aWxzLSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZDk2NmI3NDNlYjM5NDY1MGY5OGQ1ZGQ1NmI5YWVjZTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDk0NDk5NTZjMWM4Y2FhNzUyODFhMzMyMmIyYmI0MzNkYjQyNjEwOTQyZjBjZWVhYTY1Y2NkOTYzNmMwNDIzMSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9wcm9nX0VNQUNTPW5vIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Rldmlsc3BpZS9kZXZpbHNwaWUyXzAuMzMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kZXZpbHNwaWUvZGV2aWxzcGllMl8wLjMzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwMGE0NDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kZXZpbHNwaWUvZGV2aWxzcGllMl8wLjMzLmJiCkBAIC0wLDAgKzEsMzAgQEAKK0RFU0NSSVBUSU9OID0gIkRldmlsc3BpZTIgaXMgYSB3aW5kb3cgbWF0Y2hpbmcgdXRpbGl0eSwgYWxsb3dpbmcgdGhlIHVzZXIgdG8gcGVyZm9ybSBzY3JpcHRlZCBhY3Rpb25zIG9uIHdpbmRvd3MgYXMgdGhleSBhcmUgY3JlYXRlZCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3VzbmFuLnNlL2Rldmlsc3BpZTIiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDBhZWZhYTUwYWFkNzVjMjEzNjdkZjY2MTAyZDU0MmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vR1BMMy50eHQ7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTID0gImd0aysgZ2xpYi0yLjAgbGlid25jayBsdWEgdmlydHVhbC9saWJ4MTEiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vd3d3Lmd1c25hbi5zZS9kZXZpbHNwaWUyL2Rvd25sb2FkL2Rldmlsc3BpZTJfJHtQVn0tc3JjLnRhci5neiBcCisgICAgZmlsZTovL2RlZmF1bHQubHVhIFwKKyAgICBmaWxlOi8vZGV2aWxzcGllMi5kZXNrdG9wIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5OWM4OGY3MDJlMTM0ZDJiMmYyZjhjYWFkNGIxZWYwMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMWEyZWJjZWNlMTQwNjVjOWEyZTQ3ZGVjZDgxMzQxZTJhNmY2M2UzYmY0M2ZmNDQ2MTAzNjg2NzE4NzQ4MzU2IgorCitpbmhlcml0IHBrZ2NvbmZpZworCitkb19jb21waWxlKCkgeworICAgIGV4cG9ydCBHVEsyPTEKKyAgICBvZV9ydW5tYWtlIENDPSIke0NDfSIgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IiBMREZMQUdTPSIgLWxkbCAtbG0gJHtMREZMQUdTfSIKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9IiR7RH0iIFBSRUZJWD0iJHtwcmVmaXh9IiBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vZGV2aWxzcGllMgorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vZGVmYXVsdC5sdWEgJHtEfS8ke3N5c2NvbmZkaXJ9L2Rldmlsc3BpZTIKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS94ZGcvYXV0b3N0YXJ0CisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9kZXZpbHNwaWUyLmRlc2t0b3AgJHtEfS8ke3N5c2NvbmZkaXJ9L3hkZy9hdXRvc3RhcnQKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Rldmlsc3BpZS9maWxlcy9kZWZhdWx0Lmx1YSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Rldmlsc3BpZS9maWxlcy9kZWZhdWx0Lmx1YQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMmExN2ZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGV2aWxzcGllL2ZpbGVzL2RlZmF1bHQubHVhCkBAIC0wLDAgKzEsNDYgQEAKKy0tIENvcHlyaWdodCAoYykgMjAxMiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLQorLS0gdGhpcyBpcyBhbiBleGFtcGxlIAorLS0gKiB1bmRlY29yYXRpbmcgYWxsIHdpbmRvd3Mgb3BlbmVkIG1heGltaXplZAorLS0gKiBtYXhpbWl6aW5nIGFuZCB1bmRlY29yYXRpbmcgYWxsIGFwcHBsaWNhdGlvbidzIHdpbmRvd3MgaW4gYXBwc19saXN0CistLSBmb3IgZnVydGhlciBpbmZvcm1hdGlvbiBzZWUKKy0tIGh0dHA6Ly93d3cuZ3VzbmFuLnNlL2Rldmlsc3BpZTIvbWFudWFsLnBocAorCit3bmRfdHlwZSA9IGdldF93aW5kb3dfdHlwZSgpCisKK2lmKHduZF90eXBlID09ICJXSU5ET1dfVFlQRV9OT1JNQUwiKSB0aGVuCisKKwktLSBhZGQgb25seSBhcHBsaWNhdGlvbnMgeW91IHdhbnQgbWF4aW1pemVkK3VuZGVjb3JhdGVkIGFuZAorCS0tIHdoaWNoIGRvbid0IGtlZXAgbWF4aW1pemVkIHN0YXRlCisJYXBwc19saXN0ID0gCisJeworCQkiVGVybWluYWwiLAorCQkicmlzdHJldHRvIiwKKwkJInhhcmNoaXZlciIsCisJfQorCisJYXBwX25hbWUgPSBnZXRfYXBwbGljYXRpb25fbmFtZSgpCisKKwktLSB0byBoYXZlIHNvbWUgaW5mb3JtYXRpb25hbCBvdXRwdXQsIHN0YXJ0IGRldmlsc3BpZTIgd2l0aCAtLWRlYnVnIAorCS0tIG9wdGlvbiBhbmQgdW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZXM6CisKKwktLWRlYnVnX3ByaW50ICgiV2luZG93IE5hbWU6ICIgLi4gZ2V0X3dpbmRvd19uYW1lKCkpCisJLS1kZWJ1Z19wcmludCAoIkFwcGxpY2F0aW9uIG5hbWU6ICIgLi4gYXBwX25hbWUpCisJLS1kZWJ1Z19wcmludCAoIndpbmRvdy10eXBlOiAiIC4uIHduZF90eXBlKQorCisJLS0gdW5kZWNvcmF0ZSBhbGwgd2luZG93cyBzdGFydGluZyBtYXhpbWl6ZWQgCisJaWYgKGdldF93aW5kb3dfaXNfbWF4aW1pemVkKCkpIHRoZW4KKwkJdW5kZWNvcmF0ZV93aW5kb3coKQorCisJLS0gbWF4aW1pemUvdW5kZWNvcmF0ZSBhbGwgd2luZG93cyBpbiBhcHBzX2xpc3QKKwktLSAodW5mb3J0dW5hdGVseSBmb3Igc29tZSBhbHNvIHRoZWlyIHNldHRpbmdzKQorCWVsc2UKKwkJZm9yIGxpbmUsIHN0ciBpbiBpcGFpcnMoYXBwc19saXN0KSBkbworCQkJaWYgKHN0cmluZy5maW5kKGFwcF9uYW1lLCBzdHIpKSB0aGVuCisJCQkJbWF4aW1pemUoKQorCQkJCXVuZGVjb3JhdGVfd2luZG93KCkKKwkJCQlicmVhaworCQkJZW5kCisJCWVuZAorCWVuZAorZW5kCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kZXZpbHNwaWUvZmlsZXMvZGV2aWxzcGllMi5kZXNrdG9wIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGV2aWxzcGllL2ZpbGVzL2Rldmlsc3BpZTIuZGVza3RvcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzRlODgxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGV2aWxzcGllL2ZpbGVzL2Rldmlsc3BpZTIuZGVza3RvcApAQCAtMCwwICsxLDUgQEAKK1tEZXNrdG9wIEVudHJ5XQorVHlwZT1BcHBsaWNhdGlvbgorTmFtZT1EZXZpbHNwaWUyCitFeGVjPWRldmlsc3BpZTIgLWYgL2V0Yy9kZXZpbHNwaWUyCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwMS1jb250YWN0LVJlcGxhY2UtdGhlLU5vdmVsbC1zYW1wbGUtY29udGFjdC13aXRoLXNvbWV0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci8wMDAxLWNvbnRhY3QtUmVwbGFjZS10aGUtTm92ZWxsLXNhbXBsZS1jb250YWN0LXdpdGgtc29tZXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc3ZTdiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwMS1jb250YWN0LVJlcGxhY2UtdGhlLU5vdmVsbC1zYW1wbGUtY29udGFjdC13aXRoLXNvbWV0LnBhdGNoCkBAIC0wLDAgKzEsMjE1IEBACitGcm9tIDRkZjhiZDhhZTQyNTgyODk2NjNiMjdhZjEyMDcwMjdjN2VlMDYzNDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDQgQXVnIDIwMTMgMDk6MTM6MjUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzVdIGNvbnRhY3Q6IFJlcGxhY2UgdGhlIE5vdmVsbCBzYW1wbGUgY29udGFjdCB3aXRoIHNvbWV0aGluZworIG1vcmUgYXBwcm9wcmlhdGUKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgYWRkcmVzc2Jvb2svYmFja2VuZHMvZmlsZS9NYWtlZmlsZS5hbSAgICB8ICAgMSArCisgYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay94aW1pYW4tdmNhcmQuaCB8IDE3OSArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKSwgNzcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hZGRyZXNzYm9vay9iYWNrZW5kcy9maWxlL01ha2VmaWxlLmFtIGIvYWRkcmVzc2Jvb2svYmFja2VuZHMvZmlsZS9NYWtlZmlsZS5hbQoraW5kZXggMDhjZjU4Zi4uMTdlNzE0OSAxMDA2NDQKKy0tLSBhL2FkZHJlc3Nib29rL2JhY2tlbmRzL2ZpbGUvTWFrZWZpbGUuYW0KKysrKyBiL2FkZHJlc3Nib29rL2JhY2tlbmRzL2ZpbGUvTWFrZWZpbGUuYW0KK0BAIC0yLDYgKzIsNyBAQCBlYm9va19iYWNrZW5kX0xUTElCUkFSSUVTID0gbGliZWJvb2tiYWNrZW5kZmlsZS5sYQorIAorIGxpYmVib29rYmFja2VuZGZpbGVfbGFfQ1BQRkxBR1MgPSBcCisgCSQoQU1fQ1BQRkxBR1MpCQkJCQlcCisrCS1EQ1JFQVRFX0RFRkFVTFRfVkNBUkQgXAorIAktREdfTE9HX0RPTUFJTj1cImxpYmVib29rYmFja2VuZFwiCQlcCisgCS1JJCh0b3Bfc3JjZGlyKQkJCQkJXAorIAktSSQodG9wX2J1aWxkZGlyKQkJCQlcCitkaWZmIC0tZ2l0IGEvYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay94aW1pYW4tdmNhcmQuaCBiL2FkZHJlc3Nib29rL2xpYmVkYXRhLWJvb2sveGltaWFuLXZjYXJkLmgKK2luZGV4IDc4MmQzN2IuLjViMGIyNTAgMTAwNjQ0CistLS0gYS9hZGRyZXNzYm9vay9saWJlZGF0YS1ib29rL3hpbWlhbi12Y2FyZC5oCisrKysgYi9hZGRyZXNzYm9vay9saWJlZGF0YS1ib29rL3hpbWlhbi12Y2FyZC5oCitAQCAtMSw4MCArMSwxMDUgQEAKKyAjZGVmaW5lIFhJTUlBTl9WQ0FSRCBcCisgIkJFR0lOOlZDQVJEXG4iIFwKKy0iWC1FVk9MVVRJT04tRklMRS1BUzpOb3ZlbGwgWGltaWFuIEdyb3VwXG4iIFwKKy0iQURSO1RZUEU9V09SSzo7U3VpdGUgNTAwOzggQ2FtYnJpZGdlIENlbnRlcjtDYW1icmlkZ2U7TUE7MDIxNDI7VVNBXG4iIFwKKy0iTEFCRUw7VFlQRT1XT1JLOjggQ2FtYnJpZGdlIENlbnRlciwgU3VpdGUgNTAwXFxuQ2FtYnJpZGdlXFwsIE1BXFxuMDIxNDJcXG5VU0FcbiIgXAorLSJURUw7V09SSztWT0lDRTooNjE3KSA2MTMtMjAwMFxuIiBcCistIlRFTDtXT1JLO0ZBWDooNjE3KSA2MTMtMjAwMVxuIiBcCistIkVNQUlMO0lOVEVSTkVUOmhlbGxvQHhpbWlhbi5jb21cbiIgXAorLSJVUkw6aHR0cDovL3d3dy54aW1pYW4uY29tL1xuIiBcCistIk9SRzpOb3ZlbGw7WGltaWFuIEdyb3VwXG4iIFwKKy0iUEhPVE87RU5DT0RJTkc9YjtUWVBFPUpQRUc6LzlqLzRBQVFTa1pKUmdBQkFRRUFSd0JIQUFELy9nQVhRM0psWVhSbFpDQjNhWFJvXG4iIFwKKy0iIElGUm9aU0JIU1UxUS85c0FRd0FJQmdZSEJnVUlCd2NIQ1FrSUNnd1VEUXdMQ3d3WkVoTVBGQjBhSHg0ZEdod2NJQ1F1SnlBaUxDTVxuIiBcCistIiBjSENnM0tTd3dNVFEwTkI4bk9UMDRNand1TXpReS85c0FRd0VKQ1FrTUN3d1lEUTBZTWlFY0lUSXlNakl5TWpJeU1qSXlNakl5TWpcbiIgXAorLSIgSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeS84QUFFUWdBYmdCa0F3RWlBQUlSQVFNUkFmL0VBXG4iIFwKKy0iIEJ3QUFBSURBUUVCQVFBQUFBQUFBQUFBQUFBSEJRWUlCQU1CQXYvRUFFWVFBQUVEQXdFRkJnTUVCZ1FQQUFBQUFBRUNBd1FBQlJFR1xuIiBcCistIiBCeEloTVdFVElrRlJjWUVVa2FFSU1rTEJGU05Tc2JMUkZtSnlkUmdrTXpZM1EwUkdncEtUb3NMaDhQL0VBQnNCQVFBQ0F3RUJBQUFcbiIgXAorLSIgQUFBQUFBQUFBQUFBRUJRSURCZ0VILzhRQUxSRUFBUU1DQXdZR0FnTUFBQUFBQUFBQUFRQUNBd1FSRWlGUkJSTWlNVUZoTW5HQmtiXG4iIFwKKy0iIEhSQnNFVW9mRC8yZ0FNQXdFQUFoRURFUUEvQUgvUlJSUkVWd1hlOVcyd3dGemJwTlppeGtjMXVxd1BRZVo2Q29IWGV2TGZvbTFkc1xuIiBcCistIiA5aDZhNkQ4UEdDc0ZaSE1rK0NSNG44Nnl6ZGJycWZhWnFZQlNucDBoUlBaTW9HNjJ5bm9PU1IxUHVhOExnMFhQSmVnWDVKdjZrKzBcbiIgXAorLSIgYkJqcld4cDIyTGxrY0JJbEhzMEhxRWppUjY0cGVUOXVtdXBxeVdyaEhocFA0V0k2ZUh1cmVOVzdUbXcrREdhVEkxRkpWSmR4a3NNXG4iIFwKKy0iIHFLRzA5Q3JtZmJGTUNIcEN3MnhBVERzOEpySDRneWtxK1o0bXFpZmJNVVpzeHBkL1FVbGxLNTNNMlNDYjJ4YStiWHZmMGdjVjBVd1xuIiBcCistIiAwUi9EVmt0SDJoZFV3bHBGeGpRcmcxNDkwdExQdU9IMHB2djJxRTRqZGNoeDFwOGxOQWo5MVZhODdPdE0zUkN0KzJOeDNEeWNpL3FcbiIgXAorLSIgeVBZY0Q3ZzFFWitSUjRyU01JOWIvUzJtaGRiaEtzbWtkdFdtTlR1TnhuWFZXMmN2Z0daUkFTbytTVjhqNzRQU21PbFFVTXBPUldQXG4iIFwKKy0iIE5VN01yalkwcmxRRm1kRFR4T0U0Y1FPbzhSMUh5cWUyWjdaSjJtMzJiWGZIbkpWcEpDVXVxTzh1UDcrS2VuaDRlVlhrRlJGVU14eFxuIiBcCistIiBHNFVPU04wWnM0TFUxRmVFT1d4T2l0eVl6cUhXWEVoU0ZvT1FvSGtRYTk2M3JCRkZGRkVSVWRmcjFFMDlZNWQxbXIzWThac3JWNW5cbiIgXAorLSIgeUE2azRBNm1wR2tMOW9qVXltMFcvVHJMbUFzR1UrQWVZQndnZlBKLzRSUkVxcnJjYjF0SjFvVXBCWExtT2JxVVo3clNCeVQwU2taXG4iIFwKKy0iIEo4emsxcEhRbWlMWG8renBiYWJDM1NBcDU1UTd6eXZNOVBJVXVkaUdtVVJiUzdmcENNdnpGRnRvbjhMU1R4eDZxSDBGTTdWVjlWWVxuIiBcCistIiA5TXpaN2FRdDV0QVN3MysyNm9oS0IvekVWU1ZGVnZaekdNdzAydHFlL2twYkk4TE1SNi9DL1h4cTlRYWdmYmJQK0lXMVFRNFJ5Y2ZcbiIgXAorLSIgeG5jSFJBSUovckVmc211MmE5RmdzbDJYSVpqdGo4YnF3Z2ZNMSs5TDJWRmtzRVNBVjlvNmhHODg2ZWJqcWp2TFdlcFVTYXJ1dGRuXG4iIFwKKy0iIE1YVitvYlJjWmtzL0N3Q1E1REtNcGVCT1R4end6Z0E5S3dmVHRmeFBPU0I1R1FVWGM5cE9qb0MrelhlMkhWNXhpT0M2UG1rRWZXcFxuIiBcCistIiB4ZTZ0QVdnaFNWRElJT1FSWHhla05PeDRiMFdQWllMTFRyYW0xOW13bEpLU01IampOVXpRZDJkWk03U054Y3pjTE9zdHRxVnpkWXpcbiIgXAorLSIgM0Zld0k5aUtwSzJtak1aZEZlN2VkOU5mVDlxWkRJNE9BZDFWa2tvNTBuZG91aTIya3VYcTJOQk9POUpaU09IOXNEOS96ODZjOGdjXG4iIFwKKy0iIERVSk5RbGFGSlVrS1NvWUlJNEVWR29LcDlQSUh0OWU2bHlSTmxaaGNxbHNKMmd1UXB5ZEwzRjRtTzdrdzFLUDNGY3lqMFBFanJuelxuIiBcCistIiByU0FJSXlPVllmdnNKM1RHcWxDS3BUZll1SmZqTEhNRE9SOGp3OXEyRm95K28xRnBXQmNrWS9YTXBVb2VSeHhIc2NpdS9qZUpHQjdcbiIgXAorLSIgZVJYUHZhV3VMVDBVL1JSUldheFFlVlk4MngzQlZ3Mm9YYkp5aGdvWlIwQVFNL1VtdGhLKzZmU3NXYlJRVzlwVjczeC90WlB0d05FXG4iIFwKKy0iIFdqOU53MFd1d3dJS1FBR0k2Ry9jQVordFJXMGx4NW5URVc0TnRxZGF0OXhqeTVDRWpKTFNGWlA1SDJxYVlkQ2twVWs1QkdRYTdBcFxuIiBcCistIiBEclNtM0VwV2hZS1ZKVU1nZzh3Ulh6K2txeXlURzdWWFVzVjIyQ2xyZmM0OCtDek1pUEllanZJQzIzRUhJVURYTmU3OWI3SGJYYmhcbiIgXAorLSIgYzVTSThadm10WjVueUE1azlCUzdkMG5mZE1QdVNkRDNKdEVaYWl0ZG9tNVV6bngzRHpUNmNQV2t2cS9WMTYxMWZHVzVuWnRCQ2d5XG4iIFwKKy0iIHpGYlhodEN5Y0U1SnhrbnhQaFhSMDdSVWVCM0QxMUgrOWxBZndjeG1ycnFMYnhjSHBpa1dHQXcxRlNjQnlVa3FXdnJnRUJQcHhxaVxuIiBcCistIiB6dGRYV2RxbU5xSUlqeDdneWtKVXBoSkNYQU0vZUJKNWc0UFFDbUJaTmlES1dFdTM2NHVGMGpKWWg0QVQ2cVVEbjJGVnU2YlBJa1RcbiIgXAorLSIgYVRCMDh4S2VNT1UySDk5ZUN0S1J2WkdRTVo3aHdjZU5aeFZHenNibU16SUJ2NWRmTmVPam5zQ2RVd2JUdEtzVjhuSmdJY2Naa3F3XG4iIFwKKy0iIGxKY1RoRHF2Skp6OHM0elV0TFZ6cGMydlpaS3QrcUJJa3lVS3QwVjBPTktTZSs3ZzVTQ1BEcjlLdjB0em5YUDFjTk15UWZ4blhCQ1xuIiBcCistIiB0cVV5dUIzZ3NsZnRQakpMa0dXQjN1ODJvL0lqODZiZjJlN2lxUm94eUlwV2ZocEMwSkhRNFYvNUdsVnRKY0J0MFJQaVhpZiswMHdcbiIgXAorLSIgUHM1QlF0TnhQNFRKUDhLYTZyWlpKcFczNy9LcTY4QVRsUGVpaWlyQlEwSGxXUjl0OXFWYnRwRXAvZHdpWTBoNUo4TWdicC9oK3RhXG4iIFwKKy0iIDRwTTdmZEtMdW1uMnJ4R2JLbjRCS2w0SEV0bjczeXdEN0dpTDdvMjhKdXVsTGJLQ3NxTEtVTC90SjdwK29xeUllNGM2Ukd5elU0Z1xuIiBcCistIiBUSExOSmMzV3BDdDlnazhBNTRqM0dQY2RhWnVvb3N5ODJWMjNRcGFZcGtFSWRlSUpLVWVJQUhpZVhQa1RYQTExRHVhc3NKc0NlZllcbiIgXAorLSIgL1N2WVpONUZpR1pVOWVkUndMREFYSm55Mm1SdWtvU3RRQldRT1FIalNqZzdQWUU3Wm16Y1piN2NHNktLNUNaRDZ0eE9DY0pRdlBnXG4iIFwKKy0iIFFBUWZBbjJxNlJOT1dpMUQ5SjNSNWR3bFIyeG1aUFZ2OW1sSThCeVRqNTlhcjA5TG0walVJUWw1WTB6QVVNclFTUGlYZkhIcHl6NFxuIiBcCistIiBEMXFUUnZNUUlpZVFBUVhPdGxsZklEcmUvWDJXcVZtSThRejZEOXEwYlA5U08zN1NyU3BXOFpVVlh3N3ErWWNLZVNnZVJ5TVo2NXFcbiIgXAorLSIgcWFtbXZXVGFsRXYxeWpPSnRhV2ZoMjVDQnZCT1VrSFBseFVlSGx5cS9NaVBDaXR4b3JTR1dHMDdxRzBEQVNLNDV4Wmx4M0dKRGFIXG4iIFwKKy0iIFdsakNrTEdRUjZWR2luWTJvZklHOExyaTJnT2kzN2h4WUczekMrdVQySFk2WkRieUZNckFVbHdLN3BCNUhOUmNwN254cXB6ZE4zR1xuIiBcCistIiBDRlE3Tk9iVGEzbkFwY2FTTi9zdU9lNFNEdzZWSzNPNHN3b2pzcDlXR214azlmSURyVzRVeldrYnQySy92NjkxdmplYzhZdFpVVGFcbiIgXAorLSIgQkwrSXVNYUlqaVdXeXRYUW4vd0JENjA4dGd0clZDMFcyK3RPRlNGcWQ5aWNENkFWbm1GRmw2bjFBaG9BbVJQZHdjZmdSNG4ySDdxXG4iIFwKKy0iIDJQcGkxTjJleFJvamFRbEtFQklIa0FLN0dtaTNNVFdhTG42aVRlU0YrcW1hS0tLM3JTaXVlZEVhblEzSTdxUXBDMGtFRVp6WFJSUlxuIiBcCistIiBGam5hUm9TVm9xL0tjWVF2OUhPcjNtSEIvcXp6M1NlbmhWaTBmdEFibk5Od0xvNkc1aVFFb2RVY0pkOWZKWDc2MFpxTFRrSFVkc2RcbiIgXAorLSIgaFRXRU90dUp3UW9WbC9YR3lTN2Fha09Qd0duSmNET1J1akswRHFQSDJxSlYwY2RVekMvME9pM1FUdWhkZHFZODRJdUZ1a3duRkZLXG4iIFwKKy0iIEpEU21sRWN3RkRHUjg2SVNJMXRndFE0allhWWFUdW9TUC91ZEpTMWF6dkZvQVpMbmJzcDRkbS9rbFBRSG1LczBmYVZFV2tmRXczMlxuIiBcCistIiAxZjFDRmo4cTU2WFpOU3dZRzV0N2ZTdDQ2eUI1dWNpbU01TDRjNjQzcFhXcVU1dEN0ZU1wUktVZklJSDg2aXBtdm5uQVV3b1FTZjJcbiIgXAorLSIgM2xaK2cvbldFZXk1eWZDdHJxdUJvOFN1MCs0c1E0NnBFcDFMVFNlWlVmb1BPbG5mcjY3ZlpLUWxLMFFrSy9WdGZpY1Y1bnJYT2tYXG4iIFwKKy0iIFhVazlLUUhwMGduZ2hJN3FQeUFwMWJPZGtDbUgycm5lUUhIeHhRakhkYjlPdldyMmoyYzJEaWRtNzRWWlZWcGxHRnVRWFJzYzJmT1xuIiBcCistIiBRZ2IxY21zU1hRTjFKSCtUVDREK2RQRUFBQURrSzg0OGR1TXlscHBJU2tER0JYclZrb0NLS0tLSWlpcXJyYlg5bTBKQVJJdWExcmVcbiIgXAorLSIgZEpETWRvQXJjSTU4K0FBOHpWTHNPMjZScWlTOUdzdWtwY3Q1bEhhS2JUTGFTcmQ4d0ZFWjlzMFJONnZHUkdaa3RsRHFBb0h6RktxXG4iIFwKKy0iIEp0b216clBPdXpHalp2d0VCUlRKZmNrdHRwYlVPYWU5ako1Y0JrOFI1MTRXcmJvN2U0ODkrM2FUbHZ0UUdUSWtxRWxzZG0yTWtxNFxuIiBcCistIiA0enlQS2lLZjFIc2owOWZsS2RYRVFoNC9qUjNWZk1VdkovMmV0MVpNT2U4a2VTZ0ZmeXF6MkxiZkoxTTlJWnMya0pzeDJPMFhuRU5cbiIgXAorLSIgeUVBaEE0WndjWjU4aHhyN1pkdGt2VVM1U2JUbzJmSk1Sc3VQa1BvU0cwanpLc0RQUGh6NEh5b2lwRGV3QzQ3K0ZYRldPallINTFZXG4iIFwKKy0iIGJUc0FndHJTcWM4OC9qd1dyQStReFVsWXR1anVwWjZvTm8wbkxsU1V0cWRLRXlXMDRTTVpPVllIaUtqUDhBQ1V0NS93QjNwWC9YVFxuIiBcCistIiAvS2lKbldMUTFuc1RTVVJvcmFkMzlsSUZXWktVb1RoSUFIU2xOcURiTFAwc2lLdTk2TW5RMHlnU3lWeUd6dll4bmxuQjRqZ2E4N0ZcbiIgXAorLSIgdHRsYW1YSmJzMmo1MHhjWnZ0WFV0eUVaQ2ZQQjUrZ3lhSW05UlNldG0zSjY4UmJoSmdhU21QTTI1dnRaYXZpVzA5a25qeElPTThqXG4iIFwKKy0iIHk4cTdMSHR6c3R3di9BT2hybEJmdGtrdWRrRk9MUzQzdjV4Z3FTZUhIeDVkYUltclJYNVF0SzBoU1RrR2lpTE1QMmhvOHdhMWlTblxuIiBcCistIiBRb3hWUlEyMGZBS0NsRlE5ZUlxcTdMTEplN3ZyZUc3WlpDb1pocUQ4aVpqdXN0am5ud09Sa1k4YytXYTFacWJTdHQxUEJNYTRNSWRcbiIgXAorLSIgUno3d3pnK2RMOGJFYkExdnBhN1J0SytDa3BkV0FmWGpSRkI3VXBDTmU2S2RtNk5uSmZ0MXFsdUt1VUpsdmRLem5QYllIM2h6UFhKXG4iIFwKKy0iIFBNR3Fac2svemMyZ2YzRzUvQ3VtYzNzUnNUTzkyUmNiM3VCM1hWalAxcjRqWWZZR3dvTjc2UXNZVUV1ckdSNUhqUkV1ZGhVdDJCUFxuIiBcCistIiAxVE1ZSUQwZXl1dW9KR1J2SklJK29xOTZJMml3dFZ6N3JiN1paV2JhbHl6eUo5d0tVakxzcktFa2pINGNFOCtKejA0OWJldyt3TmJcbiIgXAorLSIgM1o3Nk40WU82NnNaSGx6b2IySDJCa2t0YjZDUmdsTHF4a2VYT2lKWmJBdjlJTWorN1gvd0I2YWc5bEduRWFqMTdDUkpBK0JoWm15XG4iIFwKKy0iIGxLKzZFSTQ0UFFxM1I2RTA2VzloOWdaVnZOYjZGWXhsTHF3Y2ZPaHZZaFlXdDdzOTlHOE1LM1hWakk2OGFJbzdVeGdiUjlJYWpoUVxuIiBcCistIiA3L0R1OXlpU0YzUzN0TU5yU3Rsa0FBdDk0RFBESTRlSkZVdllmTmV0cU5ZejR4QWZqV1p4NXNrWkFVbkpIRDFGTVZyWWhZV1ZieldcbiIgXAorLSIgKzJvakdVT3JCeDg2RWJEN0EwRkJ2ZlJ2REN0MTFZeVBJOGFJbzIzemRQNmkyZTYyMVRhVUppWENmYTFJdWNGUEp0NUtWbmZIUldTXG4iIFwKKy0iIGV1UFBOWjJZYWRma05zc3BVcDFhZ2xDVTh5VHlyVFNOaDlnYkNnamZTRmpDZ2wxWXlQSThhbDlQYkl0UDJXYW1VeXdrdUo1S09WRVxuIiBcCistIiBlbWVWRVZ3MDJaSDlINFlrRXFkRFlDaWZFNG9xWGJhUzAybENSaElHQlJSRi8vWlxuIiBcCisrIlZFUlNJT046My4wXG4iIFwKKysiRk46WW9jdG8gUHJvamVjdFxuIiBcCisrIlVSTDpodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvXG4iIFwKKysiRU1BSUw6eW9jdG9AeW9jdG9wcm9qZWN0Lm9yZ1xuIiBcCisrIlRFTDtUWVBFPVZPSUNFOiswMCAwMDAgMDAwIDAwMDBcbiIgXAorKyJBRFI7VFlQRT1IT01FOjsxNzIwIEJlYXZlciBDcmVlaztEYW0gIzQ7UGxhbmV0IEVhcnRoXG4iIFwKKysiTEFCRUw6MTcyMCBCZWF2ZXIgQ3JlZWtcXG5EYW0gIzRcXG5QbGFuZXQgRWFydGhcbiIgXAorKyJQSE9UTztFTkNPRElORz1iOmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFHUUFBQUJrQ0FZQUFBQnc0cFZcbiIgXAorKyIgVUFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUFBbHdTRmx6QUFBTEV3QUFDeE1CQUpxY0dBQUFGRTlKUkVGVWVKenRuWG1RSE5WOXh6XG4iIFwKKysiICt2ZTg2ZHZVL3RhblVpQ1Z3UlF1YUloU0VPTXNJaUVzYkdSdGlWR0Z5NEVzZFU0YklOT0lDUFV0a1FIT3hnWW9pRFRWSnhDQml3TVxuIiBcCisrIiBDQnhCakFsc0lVbEVReklTQWhaTjVKVzJsM3R2Yk56OUpVL2Z1L043Q3dnVnF1Vm1FcjE5NC90N2VudTk3cDczdmY5enZjYkNCRWlcbiIgXAorKyIgUklnUUlVS0VDREg1VUIvMERZd1h3WnYvTWg4QUszSVNnQnM0QXdBUjI5b0N3TndGZlFCS0xYWS9tRHVjSEZnZjlBMkVLRVhaTWlUXG4iIFwKKysiIFlkdGRVQURmZitRQ0E1US85QlFCK1hrN3c5YTI3dnB4UDhnMEFPOUo0SVlBNjQvcU9FM20vazRXUUlXV0dzbUpJL3EwZm4yUCt0NVxuIiBcCisrIiB6ZXJ3RllESzBBQ0FnQ0FNc1hSdUNMcVBEVFE3THZCZ29nU0RZOERPRFdMdmd1UU9Ma3Y5dDZRbTUra2hBeXBNd1FmaUZsaGttWnNcbiIgXAorKyIgdlkvOXJPekFYSzU5RWtBRWM4N0JERDljOTljQzZDVTh0N3R1bUQvUFEwQS91Q09Id0Y0Vm02cE9XYm5jMjBBbHZJRE9UblFGOG5VXG4iIFwKKysiIGhKT1QzWFEvQUs3anlKUldVU1hISXcxdkFRUVYwNzhCRUoxLzdmOU13cU1lZDRRTUtUTk1pQ0YvdVAvT05nQzdZL09EQUY1MllDRVxuIiBcCisrIiBBcmhjQndNSURpTVppTGtBc1ZYOGZ3Q2xmdmZPckFMbGRkNXdHWUdlNkhnUlFRZnBrQUJYeGkvZmpDS2tDWDZpaHRKNnJ0RkFQOGlcbiIgXAorKyIgTnkzbkFmQUo0ZGsvT2lDUUJzWlNuNXZMb1hJSithZXpWQXhmeHZQRENSWno1UkNCbFNacGdRUXpiZStxWHpBWUxjd0FNQWdSTTBBXG4iIFwKKysiIFVUUTA3MlNmNkpLbW84SFdRVmdOU2M3QVU2K1lHNEFFTGlaS1hJVElpYzhnc0w5Mko1dXl6WGl4ekJHYngxdElBNzN5SU1rSzJWclxuIiBcCisrIiB4L1I1Y2c5S2FYVTQwZ0NBSDIvL2xPa2pzbTNXa3dCOTdLb0V5T0hVQTJUVHc5SjVVME1Xd05tNXJ3OWczdGZ1ekIzbHF6cHFoQXdcbiIgXAorKyIgcE0wUW1jbEUwa25JQnZPeXdEK0FwQjRCQUcydTJFbW9Fbm53K3hFQUFzT0REN1MwQXVHTE1LWlJSbllSQlJwTUNmTU1NTFROVUlQXG4iIFwKKysiIHZLYzB1MldQb2FTeitLYmV1UFBRWGdlOEkrNVhlTERBcXNYNWsrT25LN2J3SndlNTBiQUhMWmZCV0FvOXYyRG5mSzNkbnh0UUN2M1xuIiBcCisrIiB2SDFXd0IyVFBub1dvRExMcnZzWGJYSFkwSElrRExEaEJoaXp6eDFKNEM3dFhjWVFBVk9DNEN0UllBVnlLaDIvRFFBODg2Wm9RQVNcbiIgXAorKyIgVlZHZ2FFcW9zVEpzRkVPVU44YUp5TmpCNkpkZVkrbXhGWlEycVN3dFF6dzUwYzRlU0poalVXL3dId0YyNzVPK1VwWDFJdHMwdzcyXG4iIFwKKysiIDg4ZVNQTEFad29pTWZBV2oxMTMxYUgzaU9TVWJJa0RMRGhCaHkybWUvdkI5Z3cyMVhQUVFRSDh6Y0FPQXJtZEFESjZNQXBwNVNCMFxuIiBcCisrIiBEMWxLcVM2d3RqT0RCR3VMWXQvRkd4SlNNN2ZETm1nbEYvUVJrZm8yYU9SZWw1Wmx2c3k5Tk1LZmJSMENMWEpQWklHNDRuNTFoS1BcbiIgXAorKyIgbmNMZmNwKzNza25BTHhNdW5ic081a3NoQXdwTTB5SUlRYUxycjNyUm9EMXQxNVpCNUFZNnZ4N2dHaEtSbHhOZTYxb09MWXRvMU5mXG4iIFwKKysiIEYyaG1LRS9MQlROcU5WTmdsUDNoeXZ5dUN0Zkl2bS9jWXlxcHQ3WStUMnQ4WTVsU3Vxc3ZFZjYwejRnRDhNYXJZdlZYMVdpYlJaL1xuIiBcCisrIiBzYUhubHFPUVdnRmpEekZmZSs2MGNHMEtHbEJrbU5VQzEvdDlYbmdmUTFuVGcxd0RUWjlqaXpTM00yM3A0K3FaejNYMUV4b1d5N0VcbiIgXAorKyIgSmJnWEh5YXUxSkcvMG9mMHhidW8zQTFaOTdwWlo5Z1gzdW1DMmdIUVJraHJJQXZMeGVMSFRiRW9ZWVpudFdiQmpBcjV0NkhjREhyXG4iIFwKKysiIDczOTUwZDREY2VFa0NGbGhtT1NJV094Nkx3cW1ZeXpOZFVBWHJhdjVMaXlwVHNWRTM5VHdZWXdFN3czeWc3Um1vN1J0Z2pNeURmWFxuIiBcCisrIiAySHJQN0JzbUdjMUlVOHBZOHJicHNpaW5ESXRpQ2ZFVTE5YUx6ZExaS1l4SlZOYnRBbkFxNjM4Q2NNRnhaSVpCeUpBeXc2VElrR0RcbiIgXAorKyIgdmM3TUJ2TTVuTmdDb1lLQUpJTkREMWRJZVZ4UExBTkdFS1BpckhOUFNxRWFOdkRITVVLVmJZNW5iaGltYUlmcTRyNEl4VndXNnVWXG4iIFwKKysiIEVXdnlmM1kybFowdE5yZFFGczNoYjdLWUNUYUg0VTRJSnJiMy9qL2Q3QlpDRmtTSmxoVW1SSUx1Y2tBR0tEMlNZQW5Bd0FGbUw1WlxuIiBcCisrIiBqS1pBQ0NURmdzK095ekhzM2tKTHpnNjJTMmZMeExXMDh5d3RXeUl4dVJZTENHM1hCR1hiVlYxQlFDcFNuMnRsaFdXSGRWUEtHSXRcbiIgXAorKyIgTUhaS2lTRWliZmlhYlRYTkVsUDV5Mm1OandHb2o5eHl3cGhoRURLa3pEQXBERW5NVy9ZbVFHN0REeVMyUHNCWEFGN2RzUE5pZ0RlXG4iIFwKKysiIDI3bXNEQ0l6ZnlaWlJhK21SR1RFeGpGRVN6Vkt4a2o2TTFWendlM25DTWlmZnI5dVE0dzNWMG5aenN6VFdXQzk5TkRiSzZFOVdKZ1xuIiBcCisrIiB0dHFtaEM3STdLYXZGaHhXcWJBZHhJNVpTamZRZVRoWkFoWllid0N5a3pUS3BoR0Y5MDR5Yjk3MVVBdjFsNWhRUFEzdVpkTFoxSnRcbiIgXAorKyIgS25nWE5UK0VFdVpnRlZ4ZlBnRmhkVUlZYXRrejF6ckcvVllxN001VHhTRnZRZGxmOU4yMlIvSlNEaTJycW80TDg2Y0pwckF3dmwyXG4iIFwKKysiIEwwQkZXNjM0VldLUkQyeU5TY2lRTXNPa01zUmc2N3JWVlFERDY5YWNCb0NxMXU3M1VvZWc3NWU2UTd4UnJoTy80SWZVenNQUkhnK1xuIiBcCisrIiBLTEROWCtKYWNrTlRxYmp3cVI2cXJkTEJKRzZYNVVRR3EvZjM2MnIyVjF3Rjh0TDcxZndGaW5UTStzSXo1a0NGbGh1UENrTnhiVzJcbiIgXAorKyIgWUFKT3hZRzBDdnR0WWVmV1VuQUdmT3FBZmc5RmJaNXJYajBMT0w4N3V2S2VJYUVWSEl1ZFl1a0RIbktXMzRZUnRub3p4YWp6WkNhXG4iIFwKKysiIDVLaTdsYU0wcWFyNG5vbjBab0JpQy85NXVhSlBPOWtJbVJJbWVHNE1DVGlaV1lEeEpPUmFRRFBicFRsZnZzbEs0aFVwNHphczJiS1xuIiBcCisrIiBmQjl4U21VTEZJMUVJenNLM25odmpMTlJsVExINE0yREF3QThzV2svQU9kOXFBMkFEMCtyTDU2a1U0eWk1Qy9Xbnp3NDdvYzhUZ2dcbiIgXAorKyIgWlVtWTRMZ3l4TFc4dWdCOTRjWUFEZzdtU2xGRVROSXBvR25nNmRCdFJ4ZkhoYW9lamp1N2lHUVlZZDNzcElRcGFtUWxvZFE4S0MxXG4iIFwKKysiIDB0Vy9iM3lmNkhXb3BhVmtWU1pJaWJIVDdsNkoveStDQmtTSmxoVWhueXA2ZWVpZ1BrOXY1MkZrQlVCNkMweDV6K3JJemUyWTJTT1xuIiBcCisrIiBLZkdXT3lqMDBCTndvTUphcG5BazlMNmxUVkc3Smdvc0dGS2JVcTBLcytYNVFvWlI2L2E5WW9HamE5NUZuaE9KVUFRQkRGOVAvbWpcbiIgXAorKyIgZmZiSlFzaVFNc09rTWlUYTJha0EwazVPZk9DT2hHYVh6VzhIb0NjdCs2ZTMxd0NRMGRwVlhzc0xOZHIvcnVWSm9CbGlaSXJKQjFLXG4iIFwKKysiIDJEdGtXQnJ6OFkzU3cyVTNDd25rNjZOU2lBMW14YUhFTUtsOENhSzRublcxLytqNlRpQjB5SklSZ1VobXlaK1pNRjZCeXk1WnVLT1xuIiBcCisrIiBha1RhdVMrWHg2ald6TnFEYm1oeGZJdU9qdU9seG9LMW1SQXFENXpMTUJtRHAvQVFBZEw2NEZZSERQZGdCYzdadUt4b1dVUml0TGFcbiIgXAorKyIgYXQvK2Z4cFFISGtHYzh5Z0d1cVF5amxBc3hiZHZuZ0JCNmJUWnMydEFOWUZmRTVBUFBuTFB5RE9hYVVHanFhdGtLR2xCa21sU0dMXG4iIFwKKysiIEYwdXRxZzAvdmU0RkFLV2lWd1BrQTZjS0lIQjhuYXFwU3VJaVJ2TnBiR2dvdEdWa1FWV3JSRk5ycGs0SDRHQzdiTDBka244UVQxU1xuIiBcCisrIiBVM29SeFpXa1pGTGVNYkZIdmNBZDRudndmajlkTWFLbjBzOC9mZnpIQWE1czJyZ0Y0Zk5VYUFCb2FHM2FiYzM1ODY4ckxBSzY1L25cbiIgXAorKyIgdmpTdEFPR1ZKbU9DN1ZnRllHSWhUTy8rZHI3Z0RJRFhkK0NTRGllVW1BU0NGenV2UXU3RkZ0Rk9aOGJVM2JLZEhNUmdZbFBUV3FsXG4iIFwKKysiIDVzWkpjdkVPNHlaa2ROWkViNWVoT1BwNHprVktkajRxcUx1QllEUGZ1L3VqeC9OOHozeDlIMmZrcmJkVlFCNzN6NFlBM2p1OGFjRFxuIiBcCisrIiBnUDd1bnNKN2JablNsZ0dZZmZLc0N3RnV2ZTN1M3g2cDdaQWhaWVlUVWk5cnpjMWYvaTVBOThHM3Z3OVFveGYzVnlWRmhNVUxEcXZcbiIgXAorKyIgUmxycDhaaFZTUXNkRUc4ZkUxTTNXSzBRRzVleXNGK1FBUE10K0hjQ0pWajVpK3ZpYlcvN3pObmp2NGpqdmVJNDF2MWdFNE9GTFRTXG4iIFwKKysiIDdzTmdCbGk5OWdvSDlRQVR5Mytxa0NDL2RzMjZrQW1xYzBEd0VzWFhyUkpRQlhYM2Y5OCsvV1I4aVFNc054OGZZYUdOL1F2WGRkZFxuIiBcCisrIiBUN0F6cjFpQU8vYXVRY0ExeEdwWWV2UlBtOW1NWWt0RVpOWVNUSXFXOXNzM0RGTWNPVWFOeWVEZXlBdCs0UGErTEYwNGtoZVcvLzFcbiIgXAorKyIgN1czYkFTSm5ULzlYMDhkNG1mSExYOTgxRnlEdnVxS05SV3lkK0llK0Y2RjJNaVVhMytLTExpeFEvWW4wNmdCZ3NLdXJDdUIzdjN2XG4iIFwKKysiIHVoL3JRR2UvV1Y4aVFNa1A0aFpRWmpvdFFmK1dYUDI4RWNCUCt6d0NHNHNHbkFRYjZoeTJBN2wxYkZjQ2lPZ212YnU4V2o4WGF0NFxuIiBcCisrIiB2RmRtcnJxZ0ZJSkhYMUIxTVZWbWM5WkxLNmpzcVFUSU5idHN2K25zT3kvY3haY24wa0lWcEJxcVZPQWJUSHB6MW0rdmpLZC82dFVcbiIgXAorKyIgQm5vM2ZEb293OU1BM0M5WVVrQWpGcDFVSFQxZURyRElnaE10UWg5NFNnbmFXNUVWbVA5NnIvdWxSWEptWHdId0EvdnV2TjBnSVVMXG4iIFwKKysiIHora2EzV2ZJa0RMRE1USGs5ZisrTmdVUVQwZWFBRWFjM0pVQXZWMkh2ZzZ3cjNlZ0dtRDNpSXpxczViL0ZRQ1JFVW5yUENzaUF5K1xuIiBcCisrIiBibDFGMHk3cUJRdHRWemJMVXBMSkNDL1dvS0FDT05naEhSb1FKKzNkMUE5Q3hSNWd5TkNMSC8zeU9GQjQ2YzM0ckFOczZEd1lBRmZcbiIgXAorKyIgM0ZSU2dOemUxdkFjU1RrUnNBYWxNdFVyWjhTbnNHd0crczNnaGdSVzBwNm15cTIyblhqNmV0VU04a1hoZ2FCNk1Xb1VURnk5blhJXG4iIFwKKysiIFVSNDV1SEhmZ1R3OUF2ci8rR2RielJrU05saFFtcnZsdi80OWd5QTZORHc3UUQ1Yk44bEFQNndlSnJOaUxlYVdnS0F6dGUzSzRDOFxuIiBcCisrIiAvdjQ3QjJVQVJkTlNOM0hKS2NLQ2w5NHFFbmE3VHVhMElpYlpRYTZKYTg5SGhUWVlHNGZrZUkxT2ZxaE55U085OGJhRWJyZDNTcjVcbiIgXAorKyIgb2RWUm1nem5Wc2NMb2pYWHZQd1VnbjBpc0JoaXBFcGJWVG0wR1FOdXRPTm9MYWxuV0VXZVVJQ2hsRUlDbjFmRG1sdGJWOE43TU1BXG4iIFwKKysiIGdaVW1ZWU4wTjJyLzFGb2M1VWRzdHIzd0lnMTM4SlFLQVRDTnhBaHJFS1pDUTVWbElCWExya1BBQ2FEdTBEWU9mbUhRQU1XNUk1RlxuIiBcCisrIiAzeFk1dm1WRnhiNysvNGEwYmptYXRuUnBqUG1EdWRsZ0wrbzVWS1Z6bXFvVHNqeFhwMUNHdEdHcGFrRTBaZVRlencwVkpRaGxRbHBcbiIgXAorKyIgTzZtckdGSGZxQUEyYkpUNDB2d3pUcGY3bnRxcVE3MjYzdU9ZRktSZ1RPWjNhV0s0OVJpQVcydDlnWEVnWkVpWllkd002ZDM4WmlFXG4iIFwKKysiIEhNNTRmT2dQQXo0dW1rOG5MTU0yN2twdnBPVEpFTnEyWG1FeFNqNXp6VzhTMVVOOGoybFRQZEFtN1psNFRPMlQrMW1JSTk1OHFwSVxuIiBcCisrIiAyV0thSnREYytlQVVEdDFsMEEvRzFDMktVQ0dmbU5ta2tIdFVQK3FSSFpmMTNIaVd0MEZRbDNPRjNvdzYvWE5YNHJFckphV0FlNzlcbiIgXAorKyIgdTRRKzJqWDlyMEFYSEw1WmRKM2t3VFFYTE8rUGlqWm9IU3VVaENvOWFZUDIvYS9DbkRGMGl1S0hSOEJJVVBLRE9QWHNwTEZVR2ttXG4iIFwKKysiIEkzT3VuNVhSbWRhak1LMFpNNUFWYmFWclVPVEFxb3lNcUZQckpDVW4xeW8yd3V0L0V0Mjh0VU9PVndjRk1VV3RrUy9hWXU4K1l4RVxuIiBcCisrIiBBVFh0RURqVnJtUkJUSWl0U01XSEViSjFnbDlkMWZkZjN5M2s5U050V3R1Z05tSzNsajYwMW9iZ2VuaFZWY3A5OTNhS3ByYjUzRlFcbiIgXAorKyIgQ1hYaWxpSUZrdENSaWVYbUZrR2RQY3NnNENwSkkxMTVzK1ZueHl4ZHNjQlVLR2xCbkd6WkRUVHpxdjRITjVxWGZWaXdCWlY1MEpNXG4iIFwKKysiIEp5Unl0V0RPV0hJN2w1SmJONmFrZTk3ZDgxc2tURTFMUXJnMmtzL0JzQ1Q5ejBOd09ZK3NiYVhucnVnME4rZGEzNFB3RVU3SkdRN1xuIiBcCisrIiBjNzk0dm5kb1A5S2QvUkxTbmFiWG9YOXhrU1RqUGZ1YWVBRWU3aGRac2xXWmVyNXlYcktZN01EMm5oRUZVRjhoc2l6V0k5YjhTWE9cbiIgXAorKyIgbUs0QlgrNlJ2TnlzT3RHZFdQNmtBUG5ISjhnQWdrVXBxSDVicUFyRHR4T2NCVm54eXhlL2U4MFcrRDBLR2xCbkd6UkMxdVBoemRDXG4iIFwKKysiIC8rOU5zL0FSZ2VHSmdHMERHVVhRTFFQVEI4QUdCenQ1U3VQaGh0T0IzQXIydElBR3c0Sk14NS9oV3hRN3B5MHYzNlBnbnBMcG96dFxuIiBcCisrIiA5RGY3bVlaNlZjZjBybHJHWk1ZWWNLK3dvQWZ6Skg5dEMreTVPNEQwbFpYWElKZGtaU01mcy84UkZJdVU3QkR0ZzFrMGdEVkthY1hcbiIgXAorKyIgZ003TjB3RG1uSGxtTDhDZkxad2ZBL2pqeTVzcUFib1BDSU5lZW5hdEFqaDM2WkpCZ0dnc2NUbkFGeTc5d2hFVEdNYURrQ0ZsaG1QXG4iIFwKKysiIHk5cjY5NnJZa3dNK2ZXZjk1Z0cyNzluOE9vTE0vUFJXZ0k4ZkpBSjJwS1ZHQWtYcEplaXZRVW50TG5SSFJxTTZlMTFab2U1dGVrdFxuIiBcCisrIiBhVEx5MHVZSXppdU9RdXNFVGNUZ3hwTC9EdmU2VDFJS0szK2duamZRY0JhQm9wMmpxdEZYWmVONW9HVUw1YkJ6QjlTdVBOQUJkLzhcbiIgXAorKyIgWXUvQVhqdDVaY2ZBWGp6ajMrc0IxQlcwQWZ3aWVVWFhRbnd0V3UrczJZY3IydGNDQmxTWmpnbWh0ejA3ZXRPQXRqODZzYU5BRTVtXG4iIFwKKysiIHBCWWdsM2N0QUUvbjZneGxaVW5iem54S0FmUTB6QUlnU0lodFlHcjBXbjdSU1JRb1BlZnJ5dGFCK1hVRW5TSnFLbG1iS2tBbUxjalxuIiBcCisrIiBUbjFzNkNUdlpLM2JMOUx5SWljWlV0TkNKcmJNcnpISzV2RjRFV2xGVkdRQzB6NXAxR3NBNTV5dytBT0E3MmNVQTZlendhd0RYWEhcbiIgXAorKyIgUGpycU40WGVOQ3lKQXl3ekV4NUlwUGZmd0pBQytmV3dhUTFkWnpvTnROWnlVdU1xTGozM2tkRCs5MFJmTTVWSzEvVGlRcWxxL3lpXG4iIFwKKysiIHBFMlc3bU9mT1ptQUd4TkVVOVhDQWdzS3duZ1d6cnJ6cEtOMG5IdTZOQkJCVEF6SXpaT295NllHbzBVeDJDaHJLUGV1dHBHc1hXOVxuIiBcCisrIiAzcWJXMXVjQlZqMzY1SktqZnpzVFE4aVFNc09FSW9iZitQSmZud3JRc1hmM3FRQzVqS2hDdnY2Vm01ejJhYmxCYWNWcVN5OE5hTElcbiIgXAorKyIga1VoanBrL205WHpQRWloZnJYaXo3Mk1kdUJWaXg1TnlIQUpZdFc5WUY4TUlMTHpRQi9PU0J4eThDMkxaMzMwVUFuUU5EQ3dHQzlFXG4iIFwKKysiIEFLb0NVdjJsUzlEdnRGRERQVWFJWVlRaGJjdHZJY091NlJUNCtjZTNSdjV0Z1JNcVRNRUg0aFpZWUpUVm1lRTlRQStMNVVxalNyYVxuIiBcCisrIiBBTkxWL1h4U2pQU2k5KzdXVzByYm81cVc4NVBlcEwxb0xMRmNrQ25wT3hmQVN4ZnZuekxtTzQ3OVhZendMcDE2eDRDK09iMU56NENcbiIgXAorKyIgTUpUdldRQ1FpcHJxUURwTFh0K1Rza2I5SklhcFlsNVlBMTlhTjhWeDgvSDNleGVUalpBaFpZWUpNU1RyY3hnZzcwdUJ3K0lhRFRuXG4iIFwKKysiIHVqZDJhV2xkYXJUU1Y1Rnk5VHR3UHhFQ3JiNmo5amVuaitwdHVlaFBnaHB0dlB1SzlaTHE2K2dIc3dCVWRXN1BROVdTczJWclZEbVxuIiBcCisrIiB6ekcwa2xZMUJTUVkyRFpVeGxvVmk4WWtLcmNvOEZJVVBLREJOaXlKZXV1cndENEk1YmJ0OElNSkx1YmdmSVpYTVdqS3FYYUtyQ21cbiIgXAorKyIgYTFadUs1TE50VFUxaDhHYUcrZnRoTGcvb2NldXN2MG9WUXhrSFFrWFBDWnovUUEzSFBQUFNzQW5uN3k4U3NCZXJvT253dGc0eThBXG4iIFwKKysiIHlPZXo4cU9Samx1UUMrWUhKSDFmbGwxRjdVZ09JSmxLN2dPWVBtdnViWExtcFA4NjNuc2laRWlaWVZLV0k2eGMrYTJGQUh2L3RQMVxuIiBcCisrIiBjZ003T3ptcUF3TGRhQVJ6UDZRQ29iYWpyQTVnemErNUxBTGZlZnVKK0JzS2d0N2QzeHRqUDZ1cnF4UDJ1MU9GM1huRmlFVElrUklcbiIgXAorKyIgZ1FJVUtFK0grQy93TUdYOElhczFzNkNRQUFBQUJKUlU1RXJrSmdnZz09XG4iIFwKKyAiRU5EOlZDQVJEIgorLS0gCisxLjguMy4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwMi1GaXgtZm9yLWF1dG9tYWtlLTEuMTIueC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwMi1GaXgtZm9yLWF1dG9tYWtlLTEuMTIueC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjIyMmFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci8wMDAyLUZpeC1mb3ItYXV0b21ha2UtMS4xMi54LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gZjQ2NDIzYzllNGI4YjE5ZWRhMjdiMzA3NDU2YTcxN2RlNzliNzVmMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+CitEYXRlOiBTdW4sIDQgQXVnIDIwMTMgMDk6MTU6NDMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzVdIEZpeCBmb3IgYXV0b21ha2UtMS4xMi54CisKK0ZpeGVkIHRoZXNlIGtpbmRzIGlmIHdhcm5pbmctZXJyb3JzCisKK3dhcm5pbmc6ICdsaWJlYm9va2JhY2tlbmRmaWxlLmxhJzogbGlua2luZyBsaWJ0b29sIGxpYnJhcmllcyB1c2luZyBhIG5vbi1QT1NJWCBhcmNoaXZlciByZXF1aXJlcyAnQU1fUFJPR19BUicgaW4gJ2NvbmZpZ3VyZS5hYycKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1PZmYtQnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggOWJkOTdkYi4uNDlkNzUwNiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMzEsNiArMzEsNyBAQCBBQ19MQU5HKEMpCisgCisgZG5sIEF1dG9tYWtlIDEuMTEgLSBTaWxlbnQgQnVpbGQgUnVsZXMKKyBtNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSwgW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldKQorK200X2lmZGVmKFtBTV9QUk9HX0FSXSwgW0FNX1BST0dfQVJdKSAjIHJlcXVpcmVkIGJ5IGF1dG9tYWtlIDEuMTIKKyAKKyBkbmwgUmVxdWlyZWQgUGFja2FnZSBWZXJzaW9ucworIG00X2RlZmluZShbZ2xpYl9taW5pbXVtX3ZlcnNpb25dLCBbMi4yOF0pCistLSAKKzEuOC4zLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci8wMDAzLURpc2FibGUtV2Vycm9yLWZvci1hdXRvbWFrZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwMy1EaXNhYmxlLVdlcnJvci1mb3ItYXV0b21ha2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE4MmQ0ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwMy1EaXNhYmxlLVdlcnJvci1mb3ItYXV0b21ha2UucGF0Y2gKQEAgLTAsMCArMSw5NyBAQAorRnJvbSAzN2IyMjdjZmY3OGZkNGM2NTI2NTE2NjJkYWZkNzE1MzcyODA4MjRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KK0RhdGU6IFN1biwgNCBBdWcgMjAxMyAwOToxNjo1OSArMDIwMAorU3ViamVjdDogW1BBVENIIDMvNV0gRGlzYWJsZSBXZXJyb3IgZm9yIGF1dG9tYWtlCisKK0F2b2lkIHRoZXNlIHdhcm5pbmctZXJyb3JzCisKK2F1dG9tYWtlOiB3YXJuaW5ncyBhcmUgdHJlYXRlZCBhcyBlcnJvcnMKK01ha2VmaWxlLmFtOjE1OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK01ha2VmaWxlLmFtOjIxOiB3YXJuaW5nOiBwa2djb25maWdfREFUQTotJChBUElfVkVSU0lPTjogbm9uLVBPU0lYIHZhcmlhYmxlIG5hbWUKK2FkZHJlc3Nib29rL2JhY2tlbmRzL2ZpbGUvTWFrZWZpbGUuYW06IGluc3RhbGxpbmcgJy4vZGVwY29tcCcKK2FkZHJlc3Nib29rL2xpYmVib29rL01ha2VmaWxlLmFtOjU1OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2FkZHJlc3Nib29rL2xpYmVib29rL01ha2VmaWxlLmFtOjY1OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2FkZHJlc3Nib29rL2xpYmVib29rL01ha2VmaWxlLmFtOjY2OiB3YXJuaW5nOiBzdWJzdCAtLF8sJCo6IG5vbi1QT1NJWCB2YXJpYWJsZSBuYW1lCithZGRyZXNzYm9vay9saWJlYm9vay9NYWtlZmlsZS5hbTo2NjogKHByb2JhYmx5IGEgR05VIG1ha2UgZXh0ZW5zaW9uKQorYWRkcmVzc2Jvb2svbGliZWJvb2svTWFrZWZpbGUuYW06NzI6IHdhcm5pbmc6IHBrZ2NvbmZpZ19EQVRBOi0kKEFQSV9WRVJTSU9OOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay9NYWtlZmlsZS5hbToyOiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2FkZHJlc3Nib29rL2xpYmVkYXRhLWJvb2svTWFrZWZpbGUuYW06Mzogd2FybmluZzogc3Vic3QgLSxfLCQqOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay9NYWtlZmlsZS5hbTozOiAocHJvYmFibHkgYSBHTlUgbWFrZSBleHRlbnNpb24pCitnbGliLWdlbi5tYWs6OTogd2FybmluZzogJyUnLXN0eWxlIHBhdHRlcm4gcnVsZXMgYXJlIGEgR05VIG1ha2UgZXh0ZW5zaW9uCithZGRyZXNzYm9vay9saWJlZGF0YS1ib29rL01ha2VmaWxlLmFtOjU6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6MTM6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay9NYWtlZmlsZS5hbTo1OiAgICdnbGliLWdlbi5tYWsnIGluY2x1ZGVkIGZyb20gaGVyZQorZ2xpYi1nZW4ubWFrOjE4OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2FkZHJlc3Nib29rL2xpYmVkYXRhLWJvb2svTWFrZWZpbGUuYW06NTogICAnZ2xpYi1nZW4ubWFrJyBpbmNsdWRlZCBmcm9tIGhlcmUKK2dsaWItZ2VuLm1hazoyNjogd2FybmluZzogJyUnLXN0eWxlIHBhdHRlcm4gcnVsZXMgYXJlIGEgR05VIG1ha2UgZXh0ZW5zaW9uCithZGRyZXNzYm9vay9saWJlZGF0YS1ib29rL01ha2VmaWxlLmFtOjU6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6Mzg6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay9NYWtlZmlsZS5hbTo1OiAgICdnbGliLWdlbi5tYWsnIGluY2x1ZGVkIGZyb20gaGVyZQorZ2xpYi1nZW4ubWFrOjQxOiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2FkZHJlc3Nib29rL2xpYmVkYXRhLWJvb2svTWFrZWZpbGUuYW06NTogICAnZ2xpYi1nZW4ubWFrJyBpbmNsdWRlZCBmcm9tIGhlcmUKK2FkZHJlc3Nib29rL2xpYmVkYXRhLWJvb2svTWFrZWZpbGUuYW06ODY6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorYWRkcmVzc2Jvb2svbGliZWRhdGEtYm9vay9NYWtlZmlsZS5hbToxMDE6IHdhcm5pbmc6IHBrZ2NvbmZpZ19EQVRBOi0kKEFQSV9WRVJTSU9OOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorY2FsZW5kYXIvYmFja2VuZHMvd2VhdGhlci9NYWtlZmlsZS5hbTo0NDogd2FybmluZzogJyUnLXN0eWxlIHBhdHRlcm4gcnVsZXMgYXJlIGEgR05VIG1ha2UgZXh0ZW5zaW9uCitjYWxlbmRhci9saWJlY2FsL01ha2VmaWxlLmFtOjUzOiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2NhbGVuZGFyL2xpYmVjYWwvTWFrZWZpbGUuYW06NjE6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWNhbC9NYWtlZmlsZS5hbTo2Mjogd2FybmluZzogc3Vic3QgLSxfLCQqOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorY2FsZW5kYXIvbGliZWNhbC9NYWtlZmlsZS5hbTo2MjogKHByb2JhYmx5IGEgR05VIG1ha2UgZXh0ZW5zaW9uKSBjYWxlbmRhci9saWJlY2FsL01ha2VmaWxlLmFtOjY4OiB3YXJuaW5nOiBwa2djb25maWdfREFUQTotJChBUElfVkVSU0lPTjogbm9uLVBPU0lYIHZhcmlhYmxlIG5hbWUKK2NhbGVuZGFyL2xpYmVkYXRhLWNhbC9NYWtlZmlsZS5hbTo1OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2NhbGVuZGFyL2xpYmVkYXRhLWNhbC9NYWtlZmlsZS5hbTo2OiB3YXJuaW5nOiBzdWJzdCAtLF8sJCo6IG5vbi1QT1NJWCB2YXJpYWJsZSBuYW1lCitjYWxlbmRhci9saWJlZGF0YS1jYWwvTWFrZWZpbGUuYW06NjogKHByb2JhYmx5IGEgR05VIG1ha2UgZXh0ZW5zaW9uKQorZ2xpYi1nZW4ubWFrOjk6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6MTM6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6MTg6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6MjY6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6Mzg6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitnbGliLWdlbi5tYWs6NDE6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg6ICAgJ2dsaWItZ2VuLm1haycgaW5jbHVkZWQgZnJvbSBoZXJlCitjYWxlbmRhci9saWJlZGF0YS1jYWwvTWFrZWZpbGUuYW06NzE6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorY2FsZW5kYXIvbGliZWRhdGEtY2FsL01ha2VmaWxlLmFtOjg2OiB3YXJuaW5nOiBwa2djb25maWdfREFUQTotJChBUElfVkVSU0lPTjogbm9uLVBPU0lYIHZhcmlhYmxlIG5hbWUKK2NhbWVsL01ha2VmaWxlLmFtOjE3OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2xpYmViYWNrZW5kL01ha2VmaWxlLmFtOjM1OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2xpYmViYWNrZW5kL01ha2VmaWxlLmFtOjQxOiB3YXJuaW5nOiBwa2djb25maWdfREFUQTotJChBUElfVkVSU0lPTjogbm9uLVBPU0lYIHZhcmlhYmxlIG5hbWUKK2xpYmVkYXRhc2VydmVyL01ha2VmaWxlLmFtOjkxOiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2xpYmVkYXRhc2VydmVyL01ha2VmaWxlLmFtOjk3OiB3YXJuaW5nOiBwa2djb25maWdfREFUQTotJChBUElfVkVSU0lPTjogbm9uLVBPU0lYIHZhcmlhYmxlIG5hbWUKK2xpYmVkYXRhc2VydmVydWkvTWFrZWZpbGUuYW06MTA4OiB3YXJuaW5nOiAnJSctc3R5bGUgcGF0dGVybiBydWxlcyBhcmUgYSBHTlUgbWFrZSBleHRlbnNpb24KK2xpYmVkYXRhc2VydmVydWkvTWFrZWZpbGUuYW06MTE4OiB3YXJuaW5nOiBwa2djb25maWdfREFUQTotJChBUElfVkVSU0lPTjogbm9uLVBPU0lYIHZhcmlhYmxlIG5hbWUKK3NlcnZlcnMvZ29vZ2xlL2xpYmdkYXRhLWdvb2dsZS9NYWtlZmlsZS5hbToyNzogd2FybmluZzogJyUnLXN0eWxlIHBhdHRlcm4gcnVsZXMgYXJlIGEgR05VIG1ha2UgZXh0ZW5zaW9uCitzZXJ2ZXJzL2dvb2dsZS9saWJnZGF0YS1nb29nbGUvTWFrZWZpbGUuYW06MzM6IHdhcm5pbmc6IHBrZ2NvbmZpZ19EQVRBOi0kKEFQSV9WRVJTSU9OOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorc2VydmVycy9nb29nbGUvbGliZ2RhdGEvTWFrZWZpbGUuYW06MzE6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorc2VydmVycy9nb29nbGUvbGliZ2RhdGEvTWFrZWZpbGUuYW06Mzc6IHdhcm5pbmc6IHBrZ2NvbmZpZ19EQVRBOi0kKEFQSV9WRVJTSU9OOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorc2VydmVycy9ncm91cHdpc2UvTWFrZWZpbGUuYW06ODU6IHdhcm5pbmc6ICclJy1zdHlsZSBwYXR0ZXJuIHJ1bGVzIGFyZSBhIEdOVSBtYWtlIGV4dGVuc2lvbgorc2VydmVycy9ncm91cHdpc2UvTWFrZWZpbGUuYW06OTE6IHdhcm5pbmc6IHBrZ2NvbmZpZ19EQVRBOi0kKEFQSV9WRVJTSU9OOiBub24tUE9TSVggdmFyaWFibGUgbmFtZQorYXV0b3JlY29uZjogYXV0b21ha2UgZmFpbGVkIHdpdGggZXhpdCBzdGF0dXM6IDEKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLU9mZi1CeTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKworQ29uZmxpY3RzOgorCWNvbmZpZ3VyZS5hYworLS0tCisgY29uZmlndXJlLmFjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA0OWQ3NTA2Li4xYzgwMmZmIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0yMSw3ICsyMSw3IEBAIG00X2RlZmluZShbYXBpX3ZlcnNpb25dLCBbMS4yXSkKKyBkbmwgQXV0b2NvbmYgLyBBdXRvbWFrZSBJbml0aWFsaXphdGlvbgorIEFDX1BSRVJFUSgyLjYyKQorIEFDX0lOSVQoW2V2b2x1dGlvbi1kYXRhLXNlcnZlcl0sW2Vkc192ZXJzaW9uXSxbaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9RXZvbHV0aW9uLURhdGEtU2VydmVyXSkKKy1BTV9JTklUX0FVVE9NQUtFKFtnbnUgMS4xMCB0YXItdXN0YXIgZGlzdC14eiBuby1kaXN0LWd6aXAgLVdhbGwgLVduby1wb3J0YWJpbGl0eSAtV2Vycm9yIGZvcmVpZ25dKQorK0FNX0lOSVRfQVVUT01BS0UoW2dudSAxLjEwIHRhci11c3RhciBkaXN0LXh6IG5vLWRpc3QtZ3ppcCAtV2FsbCAtV25vLXBvcnRhYmlsaXR5IGZvcmVpZ25dKQorIEFDX0NPTkZJR19NQUNST19ESVIoW200XSkKKyBBQ19DT05GSUdfU1JDRElSKFJFQURNRSkKKyBBQ19DT05GSUdfSEVBREVSUyhjb25maWcuaCkKKy0tIAorMS44LjMuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9lZHMvZXZvbHV0aW9uLWRhdGEtc2VydmVyLzAwMDQtY29uZmlndXJlLUZpeC1saWJpY2FsLXBrZy1jb25maWctdHJ5aW5nLXRvLXVzZS1ob3N0LS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwNC1jb25maWd1cmUtRml4LWxpYmljYWwtcGtnLWNvbmZpZy10cnlpbmctdG8tdXNlLWhvc3QtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzODMzNDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9lZHMvZXZvbHV0aW9uLWRhdGEtc2VydmVyLzAwMDQtY29uZmlndXJlLUZpeC1saWJpY2FsLXBrZy1jb25maWctdHJ5aW5nLXRvLXVzZS1ob3N0LS5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDJjNzNiNTg4YjkwMThjYjU5YzY2NmVhZTNhMTVmYTFhZjQyYzU2YmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDQgQXVnIDIwMTMgMTA6NTc6MDggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCA0LzVdIGNvbmZpZ3VyZTogRml4IGxpYmljYWwgcGtnLWNvbmZpZyB0cnlpbmcgdG8gdXNlIGhvc3QKKyBwYXRocworCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBjYWxlbmRhci9saWJlY2FsL2xpYmVjYWwucGMuaW4gfCAyICstCisgY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgIHwgMyArKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NhbGVuZGFyL2xpYmVjYWwvbGliZWNhbC5wYy5pbiBiL2NhbGVuZGFyL2xpYmVjYWwvbGliZWNhbC5wYy5pbgoraW5kZXggZmM2YjM1OS4uZDM0MzViYiAxMDA2NDQKKy0tLSBhL2NhbGVuZGFyL2xpYmVjYWwvbGliZWNhbC5wYy5pbgorKysrIGIvY2FsZW5kYXIvbGliZWNhbC9saWJlY2FsLnBjLmluCitAQCAtMTIsNCArMTIsNCBAQCBEZXNjcmlwdGlvbjogQ2xpZW50IGxpYnJhcnkgZm9yIGV2b2x1dGlvbiBjYWxlbmRhcnMKKyBWZXJzaW9uOiBAVkVSU0lPTkAKKyBSZXF1aXJlczogbGliaWNhbCA+PSBATElCSUNBTF9SRVFVSVJFREAgbGliZWRhdGFzZXJ2ZXItMS4yIGdpby0yLjAKKyBMaWJzOiAtTCR7bGliZGlyfSAtbGVjYWwtMS4yCistQ2ZsYWdzOiAtSSR7cHJpdmluY2x1ZGVkaXJ9IEBMSUJJQ0FMX0VYVFJBX0NGTEFHU0AKKytDZmxhZ3M6IC1JJHtwcml2aW5jbHVkZWRpcn0KK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDFjODAyZmYuLmYxZDRjZTggMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEzNTEsNyArMTM1MSw4IEBAIGRubCB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gPGxpYmljYWwvaWNhbC5oPiBhbmQgPGljYWwuaD4KKyBkbmwgV2UgaGF2ZSBmaXhlZCBhbGwgb3VyIGluc3RhbmNlcyB0byB1c2UgPGxpYmljYWwvaWNhbC5oPi4gVW50aWwgdGhlIC5wYyBmcm9tCisgZG5sIGxpYmljYWwgaXMgZml4ZWQsIHdlIGhhdmUgdG8gd29yay1hcm91bmQgdGhlIGJ1Z2d5IENGbGFncy4KKyBkbmwgKioqKioKKy0JTElCSUNBTF9FWFRSQV9DRkxBR1M9IiAtSWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWluY2x1ZGVkaXIgbGliaWNhbGAgIgorKwltNF9wYXR0ZXJuX2FsbG93KFteUEtHX0NPTkZJR19TWVNST09UX0RJUiRdKQorKwlMSUJJQ0FMX0VYVFJBX0NGTEFHUz0iIC1JJFBLR19DT05GSUdfU1lTUk9PVF9ESVJgJFBLR19DT05GSUcgLS12YXJpYWJsZT1pbmNsdWRlZGlyIGxpYmljYWxgICIKKyAJTElCSUNBTF9FWFRSQV9MSUJTPSIiCisgCUFDX1NVQlNUKExJQklDQUxfRVhUUkFfQ0ZMQUdTKQorIAlBQ19TVUJTVChMSUJJQ0FMX0VYVFJBX0xJQlMpCistLSAKKzEuOC4zLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci8wMDA1LXNvdXAtYWRhcHQtdG8tbmV3LWxpYnhtbDItQVBJLWZyb20tMi45LjAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9lZHMvZXZvbHV0aW9uLWRhdGEtc2VydmVyLzAwMDUtc291cC1hZGFwdC10by1uZXctbGlieG1sMi1BUEktZnJvbS0yLjkuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZGRmMmVlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci8wMDA1LXNvdXAtYWRhcHQtdG8tbmV3LWxpYnhtbDItQVBJLWZyb20tMi45LjAucGF0Y2gKQEAgLTAsMCArMSw3NyBAQAorRnJvbSBhYzk1ZTg5NzQ5YTAxNjE4Zjk4YjU1NGE5OGU3OGQ3Yzk4OGJmYzEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNyBOb3YgMjAxMiAwODo0Njo1MSArMDEwMAorU3ViamVjdDogW1BBVENIIDUvNV0gc291cDogYWRhcHQgdG8gbmV3IGxpYnhtbDIgQVBJIGZyb20gMi45LjAKKworKiBmb3IgbW9yZSBpbmZvIHNlZQorICBodHRwczovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8yMDEyLUF1Z3VzdC9tc2cwMDAwNS5odG1sCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIGNhbGVuZGFyL2JhY2tlbmRzL2NhbGRhdi9lLWNhbC1iYWNrZW5kLWNhbGRhdi5jIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2NhbGVuZGFyL2JhY2tlbmRzL2NhbGRhdi9lLWNhbC1iYWNrZW5kLWNhbGRhdi5jIGIvY2FsZW5kYXIvYmFja2VuZHMvY2FsZGF2L2UtY2FsLWJhY2tlbmQtY2FsZGF2LmMKK2luZGV4IDEyZjhmMjIuLjU1NTVhM2UgMTAwNjQ0CistLS0gYS9jYWxlbmRhci9iYWNrZW5kcy9jYWxkYXYvZS1jYWwtYmFja2VuZC1jYWxkYXYuYworKysrIGIvY2FsZW5kYXIvYmFja2VuZHMvY2FsZGF2L2UtY2FsLWJhY2tlbmQtY2FsZGF2LmMKK0BAIC0xMTcyLDggKzExNzIsMTMgQEAgY2hlY2tfY2FsZW5kYXJfY2hhbmdlZF9vbl9zZXJ2ZXIgKEVDYWxCYWNrZW5kQ2FsREFWICpjYmRhdikKKyAJc291cF9tZXNzYWdlX3NldF9yZXF1ZXN0IChtZXNzYWdlLAorIAkJCQkgICJhcHBsaWNhdGlvbi94bWwiLAorIAkJCQkgIFNPVVBfTUVNT1JZX0NPUFksCisrI2lmZGVmIExJQlhNTDJfTkVXX0JVRkZFUgorKwkJCQkgIChnY2hhciAqKSB4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50KGJ1ZiksCisrCQkJCSAgeG1sT3V0cHV0QnVmZmVyR2V0U2l6ZShidWYpKTsKKysjZWxzZQorIAkJCQkgIChnY2hhciAqKSBidWYtPmJ1ZmZlci0+Y29udGVudCwKKyAJCQkJICBidWYtPmJ1ZmZlci0+dXNlKTsKKysjZW5kaWYKKyAKKyAJLyogU2VuZCB0aGUgcmVxdWVzdCBub3cgKi8KKyAJc2VuZF9hbmRfaGFuZGxlX3JlZGlyZWN0aW9uIChwcml2LT5zZXNzaW9uLCBtZXNzYWdlLCBOVUxMKTsKK0BAIC0xMzIxLDggKzEzMjYsMTMgQEAgY2FsZGF2X3NlcnZlcl9saXN0X29iamVjdHMgKEVDYWxCYWNrZW5kQ2FsREFWICpjYmRhdiwKKyAJc291cF9tZXNzYWdlX3NldF9yZXF1ZXN0IChtZXNzYWdlLAorIAkJCQkgICJhcHBsaWNhdGlvbi94bWwiLAorIAkJCQkgIFNPVVBfTUVNT1JZX0NPUFksCisrI2lmZGVmIExJQlhNTDJfTkVXX0JVRkZFUgorKwkJCQkgIChnY2hhciAqKSB4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50KGJ1ZiksCisrCQkJCSAgeG1sT3V0cHV0QnVmZmVyR2V0U2l6ZShidWYpKTsKKysjZWxzZQorIAkJCQkgIChnY2hhciAqKSBidWYtPmJ1ZmZlci0+Y29udGVudCwKKyAJCQkJICBidWYtPmJ1ZmZlci0+dXNlKTsKKysjZW5kaWYKKyAKKyAJLyogU2VuZCB0aGUgcmVxdWVzdCBub3cgKi8KKyAJc2VuZF9hbmRfaGFuZGxlX3JlZGlyZWN0aW9uIChwcml2LT5zZXNzaW9uLCBtZXNzYWdlLCBOVUxMKTsKK0BAIC0xNzE1LDggKzE3MjUsMTQgQEAgY2FsZGF2X3JlY2VpdmVfc2NoZWR1bGVfb3V0Ym94X3VybCAoRUNhbEJhY2tlbmRDYWxEQVYgKmNiZGF2KQorIAlzb3VwX21lc3NhZ2Vfc2V0X3JlcXVlc3QgKG1lc3NhZ2UsCisgCQkJCSAgImFwcGxpY2F0aW9uL3htbCIsCisgCQkJCSAgU09VUF9NRU1PUllfQ09QWSwKKysjaWZkZWYgTElCWE1MMl9ORVdfQlVGRkVSCisrCQkJCSAgKGdjaGFyICopIHhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQoYnVmKSwKKysJCQkJICB4bWxPdXRwdXRCdWZmZXJHZXRTaXplKGJ1ZikpOworKyNlbHNlCisgCQkJCSAgKGdjaGFyICopIGJ1Zi0+YnVmZmVyLT5jb250ZW50LAorIAkJCQkgIGJ1Zi0+YnVmZmVyLT51c2UpOworKyNlbmRpZgorKworIAorIAkvKiBTZW5kIHRoZSByZXF1ZXN0IG5vdyAqLworIAlzZW5kX2FuZF9oYW5kbGVfcmVkaXJlY3Rpb24gKHByaXYtPnNlc3Npb24sIG1lc3NhZ2UsIE5VTEwpOworQEAgLTE3NjUsOCArMTc4MSwxMyBAQCBjYWxkYXZfcmVjZWl2ZV9zY2hlZHVsZV9vdXRib3hfdXJsIChFQ2FsQmFja2VuZENhbERBViAqY2JkYXYpCisgCQlzb3VwX21lc3NhZ2Vfc2V0X3JlcXVlc3QgKG1lc3NhZ2UsCisgCQkJCSAgImFwcGxpY2F0aW9uL3htbCIsCisgCQkJCSAgU09VUF9NRU1PUllfQ09QWSwKKysjaWZkZWYgTElCWE1MMl9ORVdfQlVGRkVSCisrCQkJCSAgKGdjaGFyICopIHhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQoYnVmKSwKKysJCQkJICB4bWxPdXRwdXRCdWZmZXJHZXRTaXplKGJ1ZikpOworKyNlbHNlCisgCQkJCSAgKGdjaGFyICopIGJ1Zi0+YnVmZmVyLT5jb250ZW50LAorIAkJCQkgIGJ1Zi0+YnVmZmVyLT51c2UpOworKyNlbmRpZgorIAorIAkJLyogU2VuZCB0aGUgcmVxdWVzdCBub3cgKi8KKyAJCXNlbmRfYW5kX2hhbmRsZV9yZWRpcmVjdGlvbiAocHJpdi0+c2Vzc2lvbiwgbWVzc2FnZSwgTlVMTCk7CistLSAKKzEuOC4zLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci8wMDA2LWNvbmZpZ3VyZS5hYy1kby1ub3Qtb3ZlcndyaXRlLWxvY2FsZWRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwNi1jb25maWd1cmUuYWMtZG8tbm90LW92ZXJ3cml0ZS1sb2NhbGVkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQxZTVlOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvMDAwNi1jb25maWd1cmUuYWMtZG8tbm90LW92ZXJ3cml0ZS1sb2NhbGVkaXIucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSAzZmVhZWE4ZTg0YjNhZDhkYzJkNTUxZTQyMjI0ZjNiNGE5NDEzZTdkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVGh1LCAzIFNlcCAyMDE1IDExOjE0OjI0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYzogZG8gbm90IG92ZXJ3cml0ZSBsb2NhbGVkaXIKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbMV0KKworWzFdIGh0dHBzOi8vZ2l0Lmdub21lLm9yZy9icm93c2UvZXZvbHV0aW9uLWRhdGEtc2VydmVyL3RyZWUvY29uZmlndXJlLmFjI24yOTgKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMyAtLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZjFkNGNlOC4uY2VlODQ3ZiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMjU3LDkgKzI1Nyw2IEBAIEdFVFRFWFRfUEFDS0FHRT1ldm9sdXRpb24tZGF0YS1zZXJ2ZXItJEJBU0VfVkVSU0lPTgorIEFDX1NVQlNUKEdFVFRFWFRfUEFDS0FHRSkKKyBBQ19ERUZJTkVfVU5RVU9URUQoR0VUVEVYVF9QQUNLQUdFLCAiJEdFVFRFWFRfUEFDS0FHRSIsIFtQYWNrYWdlIG5hbWUgZm9yIGdldHRleHRdKQorIAorLWxvY2FsZWRpcj0nJChwcmVmaXgpLyQoREFUQURJUk5BTUUpL2xvY2FsZScKKy1BQ19TVUJTVChsb2NhbGVkaXIpCistCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCBJbml0aWFsaXplIGxpYnRvb2wKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvaWNvbnYtZGV0ZWN0LmggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9lZHMvZXZvbHV0aW9uLWRhdGEtc2VydmVyL2ljb252LWRldGVjdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2ZjQ3NmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9lZHMvZXZvbHV0aW9uLWRhdGEtc2VydmVyL2ljb252LWRldGVjdC5oCkBAIC0wLDAgKzEsNSBAQAorLyogVGhpcyBpcyBhbiBhdXRvLWdlbmVyYXRlZCBoZWFkZXIsIERPIE5PVCBFRElUISAqLworCisjZGVmaW5lIElDT05WX0lTT19EX0ZPUk1BVCAiaXNvLSVkLSVkIgorI2RlZmluZSBJQ09OVl9JU09fU19GT1JNQVQgImlzby0lZC0lcyIKKyNkZWZpbmUgSUNPTlZfMTA2NDYgImlzby0xMDY0NiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXJfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlcl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTU2NjRiMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXJfZ2l0LmJiCkBAIC0wLDAgKzEsMTE3IEBACitTVU1NQVJZID0gIkV2b2x1dGlvbiBkYXRhYmFzZSBiYWNrZW5kIHNlcnZlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ25vbWUub3JnL3Byb2plY3RzL2V2b2x1dGlvbi8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJMR1BMdjIgJiBMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmE2ZTY4OWQxOTI1NWNmMDU1N2YzZmU3ZDcwNjgyMTIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vY2FtZWwvY2FtZWwuaDtlbmRsaW5lPTI0O21kNT1iMDIxNzVjODhmODIxMjI0NzQ2YjM0N2E4OTczMWEyYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJlZGF0YXNlcnZlci9lLWRhdGEtc2VydmVyLXV0aWwuaDtlbmRsaW5lPTIwO21kNT05MzQ1MDJmMDNjODQ1MjNhYTA1OWQ0ODI1ODg3YjM4MCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9jYWxlbmRhci9saWJlY2FsL2UtY2FsLmg7ZW5kbGluZT0yNDttZDU9NWQ0OTZiOWI2ZmQyYTRmZGJiZmMzMWVmOTQ1NWM5ZDAiCisKK0RFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIGdsaWItMi4wIGd0ayszIGdjb25mIGRidXMgZGIgZ25vbWUtY29tbW9uIHZpcnR1YWwvbGliaWNvbnYgemxpYiBsaWJzb3VwLTIuNCBsaWJnbGFkZSBsaWJpY2FsIGxpYmdub21lLWtleXJpbmcgZ3BlcmYtbmF0aXZlIGxpYmdkYXRhIG5zcyIKKworU1JDUkVWID0gImE5ZTRlNzRlYzQ0NzNhNGZkMDllNTZiNjkwYmQ0ZmE3MmY2ODY2ODciCisKKyMgMy40IHNlcmllcyBuZWVkcyBsaWJnZGF0YS0wLjEwKiwgMy44IHNlcmllcyBuZWVkcyBhbHNvIGxpYnNlY3JldCBpbnN0ZWFkIG9mIGdub21lLWtleXJpbmcKK1BWID0gIjMuMi4zK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0Lmdub21lLm9yZy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXI7YnJhbmNoPWdub21lLTMtMiBcCisgICAgZmlsZTovLzAwMDEtY29udGFjdC1SZXBsYWNlLXRoZS1Ob3ZlbGwtc2FtcGxlLWNvbnRhY3Qtd2l0aC1zb21ldC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItRml4LWZvci1hdXRvbWFrZS0xLjEyLngucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAzLURpc2FibGUtV2Vycm9yLWZvci1hdXRvbWFrZS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDQtY29uZmlndXJlLUZpeC1saWJpY2FsLXBrZy1jb25maWctdHJ5aW5nLXRvLXVzZS1ob3N0LS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDUtc291cC1hZGFwdC10by1uZXctbGlieG1sMi1BUEktZnJvbS0yLjkuMC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDYtY29uZmlndXJlLmFjLWRvLW5vdC1vdmVyd3JpdGUtbG9jYWxlZGlyLnBhdGNoIFwKKyAgICBmaWxlOi8vaWNvbnYtZGV0ZWN0LmggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBndGstZG9jIHBrZ2NvbmZpZyBnZXR0ZXh0IGdvYmplY3QtaW50cm9zcGVjdGlvbgorCisjIC1sZGIgbmVlZHMgdGhpcyBvbiBzb21lIHBsYXRmb3JtcworTERGTEFHUyArPSAiLWxwdGhyZWFkIgorCisjIFBhcmFsbGVsIG1ha2Ugc2hvd3MgbWFueSBpc3N1ZXMgd2l0aCB0aGlzIHNvdXJjZSBjb2RlLgorIyBDdXJyZW50IHByb2JsZW1zIHNlZW0gdG8gYmUgZHVwbGljYXRlIGV4ZWN1dGlvbiBvZiB0aGUgY2FsYW5kZXIvYmFja2VuZHMKKyMgZGlyZWN0b3JpZXMgYnkgbWFrZSByZXN1bHRpbmcgaW4gdHJ1bmNhdGVkL2NvcnJ1cHQgLmxhIGZpbGVzCisjUEFSQUxMRUxfTUFLRSA9ICIiCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQgKCkgeworICAgIGNwICR7V09SS0RJUn0vaWNvbnYtZGV0ZWN0LmggJHtTfQorfQorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgICAgIGV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSIke0J9L2NhbWVsLy5saWJzOiR7Qn0vbGliZWRhdGFzZXJ2ZXIvLmxpYnMiCit9CisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGhvdXQtb3BlbmxkYXAgXAorICAgICAgICAgICAgICAgIC0td2l0aC1saWJkYj0ke1NUQUdJTkdfRElSX0hPU1R9JHtwcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbm50cCAtLWRpc2FibGUtZ29hIC0tZGlzYWJsZS13ZWF0aGVyIgorCitQQUNLQUdFUyA9KyAibGliY2FtZWwgbGliY2FtZWwtZGV2IGxpYmVib29rIGxpYmVib29rLWRldiBsaWJlY2FsIGxpYmVjYWwtZGV2IFwKKyAgICAgICAgICAgICBsaWJlZGF0YS1ib29rIGxpYmVkYXRhLWJvb2stZGV2IGxpYmVkYXRhLWNhbCBsaWJlZGF0YS1jYWwtZGV2IFwKKyAgICAgICAgICAgICBsaWJlZGF0YXNlcnZlciBsaWJlZGF0YXNlcnZlci1kZXYgXAorICAgICAgICAgICAgIGxpYmVkYXRhc2VydmVydWkgbGliZWRhdGFzZXJ2ZXJ1aS1kZXYiCisKK0ZJTEVTXyR7UE59ID0rICIke2RhdGFkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlci0qL3VpLyIKK0ZJTEVTXyR7UE59LWRldiA9KyAiJHtsaWJkaXJ9L3BrZ2NvbmZpZy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXItKi5wYyIKK0ZJTEVTXyR7UE59LWRiZyA9KyAiJHtsaWJkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlciovY2FtZWwtcHJvdmlkZXJzLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIqL2NhbGVuZGFyLWJhY2tlbmRzLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIqL2FkZHJlc3Nib29rLWJhY2tlbmRzLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIqL2V4dGVuc2lvbnMvLmRlYnVnLyIKKworUlJFQ09NTUVORFNfJHtQTn0tZGV2ICs9ICJsaWJlY2FsLWRldiBsaWJlYm9vay1kZXYiCisKK0ZJTEVTX2xpYmNhbWVsID0gIiR7bGliZGlyfS9saWJjYW1lbC0qLnNvLiogXAorICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYmNhbWVsLXByb3ZpZGVyLSouc28uKiBcCisgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyKi9jYW1lbC1wcm92aWRlcnMvKi5zbyBcCisgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyKi9jYW1lbC1wcm92aWRlcnMvKi51cmxzIgorRklMRVNfbGliY2FtZWwtZGV2ID0gIiR7bGliZGlyfS9saWJjYW1lbC0qLnNvICR7bGliZGlyfS9saWJjYW1lbC1wcm92aWRlci0qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL2NhbWVsKnBjIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyKi9jYW1lbC1wcm92aWRlcnMvKi5sYSBcCisgICAgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIqL2NhbWVsIgorCitGSUxFU19saWJlYm9vayA9ICIke2xpYmRpcn0vbGliZWJvb2stKi5zby4qIgorRklMRVNfbGliZWJvb2stZGV2ID0gIiR7bGliZGlyfS9saWJlYm9vay0xLjIuc28gXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wa2djb25maWcvbGliZWJvb2stKi5wYyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIqL2xpYmVib29rLyouaCIKK1JSRUNPTU1FTkRTX2xpYmVib29rID0gImxpYmVkYXRhLWJvb2siCisKK0ZJTEVTX2xpYmVjYWwgPSAiJHtsaWJkaXJ9L2xpYmVjYWwtKi5zby4qIFwKKyAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXItMS40L3pvbmVpbmZvIgorRklMRVNfbGliZWNhbC1kZXYgPSAiJHtsaWJkaXJ9L2xpYmVjYWwtKi5zbyAke2xpYmRpcn0vcGtnY29uZmlnL2xpYmVjYWwtKi5wYyBcCisgICAgICAgICAgICAgICAgICAgICAke2luY2x1ZGVkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlciovbGliZWNhbC8qLmggXAorICAgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIqL2xpYmljYWwvKi5oIgorUlJFQ09NTUVORFNfbGliZWNhbCA9ICJsaWJlZGF0YS1jYWwgdHpkYXRhIgorCitGSUxFU19saWJlZGF0YS1ib29rID0gIiR7bGliZXhlY2Rpcn0vZS1hZGRyZXNzYm9vay1mYWN0b3J5IFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMvKi5BZGRyZXNzQm9vay5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYmVkYXRhLWJvb2stKi5zby4qIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlci0qL2V4dGVuc2lvbnMvbGliZWJvb2sqLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXItMS40L3dlYXRoZXIvTG9jYXRpb25zLnhtbCIKK0ZJTEVTX2xpYmVkYXRhLWJvb2stZGV2ID0gIiR7bGliZGlyfS9saWJlZGF0YS1ib29rLSouc28gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy9saWJlZGF0YS1ib29rLSoucGMgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlci0qL2V4dGVuc2lvbnMvbGliZWJvb2sqLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aW5jbHVkZWRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyLSovbGliZWRhdGEtYm9vayIKKworRklMRVNfbGliZWRhdGEtY2FsID0gIiR7bGliZXhlY2Rpcn0vZS1jYWxlbmRhci1mYWN0b3J5IFwKKyAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcy8qLkNhbGVuZGFyLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJlZGF0YS1jYWwtKi5zby4qIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyLSovZXh0ZW5zaW9ucy9saWJlY2FsKi5zbyIKK0ZJTEVTX2xpYmVkYXRhLWNhbC1kZXYgPSAiJHtsaWJkaXJ9L2xpYmVkYXRhLWNhbC0qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy9saWJlZGF0YS1jYWwtKi5wYyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7aW5jbHVkZWRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyLSovbGliZWRhdGEtY2FsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlci0qL2V4dGVuc2lvbnMvbGliZWNhbCoubGEiCisKK0ZJTEVTX2xpYmVkYXRhc2VydmVyID0gIiR7bGliZGlyfS9saWJlZGF0YXNlcnZlci0qLnNvLioiCitGSUxFU19saWJlZGF0YXNlcnZlci1kZXYgPSAiJHtsaWJkaXJ9L2xpYmVkYXRhc2VydmVyLSouc28gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wa2djb25maWcvbGliZWRhdGFzZXJ2ZXItKi5wYyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXItKi9saWJlZGF0YXNlcnZlci8qLmgiCisKK0ZJTEVTX2xpYmVkYXRhc2VydmVydWkgPSAiJHtsaWJkaXJ9L2xpYmVkYXRhc2VydmVydWktKi5zby4qICR7ZGF0YWRpcn0vZXZvbHV0aW9uLWRhdGEtc2VydmVyLTEuNC9nbGFkZS8qLmdsYWRlIgorRklMRVNfbGliZWRhdGFzZXJ2ZXJ1aS1kZXYgPSAiJHtsaWJkaXJ9L2xpYmVkYXRhc2VydmVydWktKi5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL2xpYmVkYXRhc2VydmVydWktKi5wYyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2luY2x1ZGVkaXJ9L2V2b2x1dGlvbi1kYXRhLXNlcnZlci0qL2xpYmVkYXRhc2VydmVydWkvKi5oIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ldmluY2UvZXZpbmNlLzAwMDEtaGVscC1yZW1vdmUtWUVMUC1tYWNyby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2V2aW5jZS9ldmluY2UvMDAwMS1oZWxwLXJlbW92ZS1ZRUxQLW1hY3JvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5MmY0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ldmluY2UvZXZpbmNlLzAwMDEtaGVscC1yZW1vdmUtWUVMUC1tYWNyby5wYXRjaApAQCAtMCwwICsxLDI0IEBACitGcm9tIDQwOTIxMDM3ZDhlNzIwNWEzODg5ZDUyOWZiNGUwNmY3OWUxZTg4YjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTkgRmViIDIwMTYgMTY6NTI6MTggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gaGVscDogcmVtb3ZlIFlFTFAgbWFjcm8KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZC1zcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgaGVscC9NYWtlZmlsZS5hbSB8IDIgLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2hlbHAvTWFrZWZpbGUuYW0gYi9oZWxwL01ha2VmaWxlLmFtCitpbmRleCA3ODM1ODEwLi4zN2M4OGNlIDEwMDY0NAorLS0tIGEvaGVscC9NYWtlZmlsZS5hbQorKysrIGIvaGVscC9NYWtlZmlsZS5hbQorQEAgLTEsNSArMSwzIEBACistQFlFTFBfSEVMUF9SVUxFU0AKKy0KKyBTVUJESVJTID0gcmVmZXJlbmNlCisgCisgSEVMUF9JRCA9IGV2aW5jZQorLS0gCisyLjcuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ldmluY2UvZXZpbmNlXzMuMTguMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2V2aW5jZS9ldmluY2VfMy4xOC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlNjMwOTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ldmluY2UvZXZpbmNlXzMuMTguMi5iYgpAQCAtMCwwICsxLDQ4IEBACitTVU1NQVJZID0gIkV2aW5jZSBpcyBhIGRvY3VtZW50IHZpZXdlciBmb3IgZG9jdW1lbnQgZm9ybWF0cyBsaWtlIHBkZiwgcHMsIGRqdnUiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTZmMmY4ZDVlZTU3NmEyMTYzOTc3OTM4ZWEzNmZhN2IiCitTRUNUSU9OID0gIngxMS9vZmZpY2UiCitERVBFTkRTID0gImd0ayszIGxpYnNlY3JldCBnbm9tZS1kZXNrdG9wMyBwb3BwbGVyIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2Ugb3JjIGFkd2FpdGEtaWNvbi10aGVtZSIKK1BSID0gInI1IgorCitpbmhlcml0IGdub21lIHBrZ2NvbmZpZyBndGstaWNvbi1jYWNoZSBnc2V0dGluZ3MgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImMzOWFmNmI4YjFjNDRkNDM5M2VmOGFjOWRhYjk5YzBiIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNDJhZDZjNzM1NGQ4ODFhOWVjYWIxMzZlYTg0ZmY4NjdhY2I5NDI2MDViY2ZhYzQ4YjZjMTJlMWMyZDhlY2IxNyIKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtaGVscC1yZW1vdmUtWUVMUC1tYWNyby5wYXRjaCIKKworRVhUUkFfT0VDT05GID0gIiAtLWVuYWJsZS10aHVtYm5haWxlciBcCisiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICAgICAgZXhwb3J0IEdJUl9FWFRSQV9MSUJTX1BBVEg9IiR7Qn0vbGliZG9jdW1lbnQvLmxpYnMiCit9CisKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L3BpeG1hcHMKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9kYXRhL2ljb25zLzQ4eDQ4L2FwcHMvZXZpbmNlLnBuZyAke0R9JHtkYXRhZGlyfS9waXhtYXBzLworfQorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tuYXV0aWx1c10gPSAiLS1lbmFibGUtbmF1dGlsdXMsLS1kaXNhYmxlLW5hdXRpbHVzLG5hdXRpbHVzIgorUEFDS0FHRUNPTkZJR1ticm93c2VyLXBsdWdpbl0gPSAiLS1lbmFibGUtYnJvd3Nlci1wbHVnaW4sLS1kaXNhYmxlLWJyb3dzZXItcGx1Z2luLCIKKworUkRFUEVORFNfJHtQTn0gKz0gImdsaWItMi4wLXV0aWxzIgorUlJFQ09NTU1FTkRTXyR7UE59ID0gImFkd2FpdGEtaWNvbi10aGVtZSIKKworUEFDS0FHRVMgPSsgIiR7UE59LW5hdXRpbHVzLWV4dGVuc2lvbiIKK1BBQ0tBR0VTID0rICIke1BOfS1icm93c2VyLXBsdWdpbiIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMSBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3RodW1ibmFpbGVycyBcCisgICAgICAgICAgICAgICAiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8qLyovLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyovKi8qLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyoubGEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZXZpbmNlLyovYmFja2VuZHMvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyouYSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9ldmluY2UvKi9iYWNrZW5kcy8qLmEiCitGSUxFU18ke1BOfS1uYXV0aWx1cy1leHRlbnNpb24gPSAiJHtsaWJkaXJ9L25hdXRpbHVzLyovKnNvIgorRklMRVNfJHtQTn0tYnJvd3Nlci1wbHVnaW4gPSAiJHtsaWJkaXJ9L21vemlsbGEvKi8qc28iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9mYWVuemEtaWNvbi10aGVtZS9mYWVuemEtaWNvbi10aGVtZV8xLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9mYWVuemEtaWNvbi10aGVtZS9mYWVuemEtaWNvbi10aGVtZV8xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM5YjFhMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2ZhZW56YS1pY29uLXRoZW1lL2ZhZW56YS1pY29uLXRoZW1lXzEuMy5iYgpAQCAtMCwwICsxLDI2IEBACitERVNDUklQVElPTiA9ICJBbiBpY29uIHRoZW1lIGZvciBHbm9tZSIKK1NFQ1RJT04gPSAieDExL3dtIgorTElDRU5TRSA9ICJHUEx2MyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9mYWVuemEtaWNvbi10aGVtZS8iCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworaW5oZXJpdCBhbGxhcmNoIGd0ay1pY29uLWNhY2hlCisKK1MgPSAiJHtXT1JLRElSfSIKKworU1JDX1VSSSA9ICJodHRwOi8vZmFlbnphLWljb24tdGhlbWUuZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtQTn1fJHtQVn0uemlwIgorU1JDX1VSSVttZDVzdW1dID0gImU5YmQ2MTA2ZDEzMDE3Y2UwNmQyNGI1ODYyNTlhZTljIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ0NDg2ZmRhMDQxM2Y4YTgxYTg3ZTBkZDIzMjlmNTBmMmE4YTdjYjQxNDdiNDhjZjE0N2YwMTYwYWRkODE3NGEiCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9pY29ucworICAgIGZvciB0aGVtZSBpbiBgZmluZCAtbmFtZSAnRmFlbnphKi50YXIuZ3onYDsgZG8KKyAgICAgICAgdGFyIC14ZiAke3RoZW1lfSAtQyAke0R9JHtkYXRhZGlyfS9pY29ucworICAgIGRvbmUKKyAgICB0YXIgLXhmIGVtZXNlbmUtZmFlbnphLXRoZW1lLnRhci5neiAtQyAke0R9JHtkYXRhZGlyfQorICAgIG12IC1mICR7RH0ke2RhdGFkaXJ9L2VtZXNlbmUvdGhlbWVzICR7RH0ke2RhdGFkaXJ9L3RoZW1lcworICAgIHJtIC1yZiAke0R9JHtkYXRhZGlyfS9lbWVzZW5lCisgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0ke2RhdGFkaXJ9Cit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zICR7ZGF0YWRpcn0vdGhlbWVzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2NhbGN0b29sL2djYWxjdG9vbC9maXgtaW5jbHVkZWRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2djYWxjdG9vbC9nY2FsY3Rvb2wvZml4LWluY2x1ZGVkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWViMDJhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2djYWxjdG9vbC9nY2FsY3Rvb2wvZml4LWluY2x1ZGVkaXIucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorLS0tCisgTWFrZWZpbGUuYW0gICAgICAgICAgIHwgICAgMiArLQorIGdjYWxjdG9vbC9NYWtlZmlsZS5hbSB8ICAgIDIgLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAzIGRlbGV0aW9ucygtKQorCitJbmRleDogZ2NhbGN0b29sLTUuOC4xNy9nY2FsY3Rvb2wvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnY2FsY3Rvb2wtNS44LjE3Lm9yaWcvZ2NhbGN0b29sL01ha2VmaWxlLmFtCTIwMDUtMTItMTkgMTU6NDY6NTcuMDAwMDAwMDAwICswMDAwCisrKysgZ2NhbGN0b29sLTUuOC4xNy9nY2FsY3Rvb2wvTWFrZWZpbGUuYW0JMjAwNy0wNS0xNiAxNjowMzoyNi4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xLDggKzEsNiBAQAorICMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbgorIAorIElOQ0xVREVTID0gXAorLQktSSQoaW5jbHVkZWRpcikgXAorLQktREdfRElTQUJMRV9ERVBSRUNBVEVEIFwKKyAJLURHREtfUElYQlVGX0RJU0FCTEVfREVQUkVDQVRFRCBcCisgCS1ER0RLX0RJU0FCTEVfREVQUkVDQVRFRCBcCisgCS1ER05PTUVfRElTQUJMRV9ERVBSRUNBVEVEIFwKK0luZGV4OiBnY2FsY3Rvb2wtNS44LjE3L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2NhbGN0b29sLTUuOC4xNy5vcmlnL01ha2VmaWxlLmFtCTIwMDctMDUtMTYgMTU6MzU6NDQuMDAwMDAwMDAwICswMTAwCisrKysgZ2NhbGN0b29sLTUuOC4xNy9NYWtlZmlsZS5hbQkyMDA3LTA1LTE2IDE2OjA2OjQ2LjAwMDAwMDAwMCArMDEwMAorQEAgLTI5LDcgKzI5LDcgQEAgRElTVENMRUFORklMRVMgPSAgICAgICAgICAgICAgICBcCisgCWdub21lLWRvYy11dGlscy5tYWtlCVwKKyAJZ2NhbGN0b29sLmRlc2t0b3AKKyAKKy1TVUJESVJTID0gcG8gZ2NhbGN0b29sIGhlbHAKKytTVUJESVJTID0gcG8gZ2NhbGN0b29sCisgCisgU0NIRU1BU19GSUxFID0gZ2NhbGN0b29sLnNjaGVtYXMKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2djYWxjdG9vbC9nY2FsY3Rvb2xfNS4zMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2NhbGN0b29sL2djYWxjdG9vbF81LjMyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM5MWJiYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2djYWxjdG9vbC9nY2FsY3Rvb2xfNS4zMi4wLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiZ2NhbGN0b29sIGlzIGEgcG93ZXJmdWwgY2FsY3VsYXRvciIKK1NFQ1RJT04gPSAieDExIgorREVQRU5EUyA9ICJndGsrIGdub21lLWRvYy11dGlscyIKKworTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicsMSkuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzFdfSIKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2VzLyR7QlBOfS8ke1NIUlRfVkVSfS8ke0JQfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0OGRiOTI3YzZlN2VlMWQ1Mzk1Zjk1M2E4YzE4NGM5OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNDZmNjQ1YzBmZGVmOTAwNjQyZjZlOWEyYzE4ZTdiYTlhN2NhOWJjNjJmZTJiMDhlYjQxOGYwNjVhNDI1Yzg5IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3NldHRpbmdzCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAiczogaGVscDogOmciICR7U30vTWFrZWZpbGUuYW0KK30KKworUE5CTEFDS0xJU1RbZ2NhbGN0b29sXSA/PSAiYnJva2VuIGF0IGxlYXN0IHNpbmNlIEFwcmlsIDIwMTMgaHR0cDovL3Blcm1hbGluay5nbWFuZS5vcmcvZ21hbmUuY29tcC5oYW5kaGVsZHMub3BlbmVtYmVkZGVkLzU3OTIwIGFuZCBub2JvZHkgY29tcGxhaW5lZCwgaXQncyBhbHNvIHJlcGxhY2VkIGJ5IGdub21lIGNhbGN1bGF0b3IiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtLyVnY29uZi10cmVlLnhtbCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vJWdjb25mLXRyZWUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4YzJlOWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtLyVnY29uZi10cmVlLnhtbApAQCAtMCwwICsxLDQ5MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Z2NvbmY+CisgICAgICAgIDxkaXIgbmFtZT0iZGVza3RvcCI+CisgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJnbm9tZSI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9InVybC1oYW5kbGVycyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0ieW1zZ3IiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9InhtcHAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9IndlYmNhbCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0idXZveCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0idHJhc2giPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9InNpcCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0icnRzcCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0icnRwIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJwbm0iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Im5vdGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Im5ldCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0ibXNuaW0iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Im1tc2giPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Im1tcyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0ibWFuIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJtYWlsdG8iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Imxhc3RmbSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iaXRwYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iaXRtcyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iaXJjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJpbmZvIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJpY3l4Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJpY3kiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImljcSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iaHR0cHMiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Imh0dHAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImgzMjMiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImdoZWxwIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJnZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iZnRwIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJmaWxlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJmZWVkIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJjZGRhIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJjYWxsdG8iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImFpbSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iYWJvdXQiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT4vYmluL3RydWU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImxvY2tkb3duIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImRpc2FibGVfdXJsX2hhbmRsZXJzIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0iYm9vbCIgdmFsdWU9InRydWUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iZGlzYWJsZV9zYXZlX3RvX2Rpc2siIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJib29sIiB2YWx1ZT0idHJ1ZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJkaXNhYmxlX3ByaW50X3NldHVwIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0iYm9vbCIgdmFsdWU9InRydWUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iZGlzYWJsZV9wcmludGluZyIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9ImJvb2wiIHZhbHVlPSJ0cnVlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImRpc2FibGVfbG9ja19zY3JlZW4iIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJib29sIiB2YWx1ZT0idHJ1ZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJkaXNhYmxlX2NvbW1hbmRfbGluZSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9ImJvb2wiIHZhbHVlPSJ0cnVlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJhcHBsaWNhdGlvbnMiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9InRlcm1pbmFsIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iZXhlYyIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+L2Jpbi90cnVlPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJhY2Nlc3NpYmlsaXR5Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJrZXlib2FyZCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImVuYWJsZSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9ImJvb2wiIHZhbHVlPSJ0cnVlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICA8L2Rpcj4KKyAgICAgICAgPGRpciBuYW1lPSJhcHBzIj4KKyAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9Imdub21lX3NldHRpbmdzX2RhZW1vbiI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImtleWJpbmRpbmdzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9Ind3dyIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJzdG9wIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InNsZWVwIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InNlYXJjaCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJzY3JlZW5zYXZlciIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJwcmV2aW91cyIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJwb3dlciIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJwbGF5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InBhdXNlIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9Im5leHQiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT48L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0ibWVkaWEiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT48L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iaG9tZSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJoZWxwIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImVtYWlsIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNhbGN1bGF0b3IiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT48L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iZWplY3QiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT48L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJtZXRhY2l0eSI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImtleWJpbmRpbmdfY29tbWFuZHMiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZF93aW5kb3dfc2NyZWVuc2hvdCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPi9iaW4vdHJ1ZTwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kX3NjcmVlbnNob3QiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5nZG0tc2NyZWVuc2hvdDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0iZ2xvYmFsX2tleWJpbmRpbmdzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InN3aXRjaF90b193b3Jrc3BhY2VfdXAiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5kaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJzd2l0Y2hfdG9fd29ya3NwYWNlX3JpZ2h0IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+ZGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0ic3dpdGNoX3RvX3dvcmtzcGFjZV9sZWZ0IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+ZGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0ic3dpdGNoX3RvX3dvcmtzcGFjZV9kb3duIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+ZGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0ic3dpdGNoX2dyb3VwIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+ZGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0ic2hvd19kZXNrdG9wIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+ZGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmRfd2luZG93X3NjcmVlbnNob3QiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5kaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZF9zY3JlZW5zaG90IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+UHJpbnQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icGFuZWxfcnVuX2RpYWxvZyIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPmRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InBhbmVsX21haW5fbWVudSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPmRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJnZW5lcmFsIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9Im51bV93b3Jrc3BhY2VzIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0iaW50IiB2YWx1ZT0iMSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImNvbXBpeiI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImdlbmVyYWwiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9ImFsbHNjcmVlbnMiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0ib3B0aW9ucyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQxMV9rZXkiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDExX2J1dHRvbiIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kMTBfa2V5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQxMF9idXR0b24iIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDhfa2V5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQ4X2J1dHRvbiIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kN19rZXkiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDdfYnV0dG9uIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQ2X2tleSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kNl9idXR0b24iIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDVfa2V5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQ1X2J1dHRvbiIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kNF9rZXkiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDRfYnV0dG9uIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQzX2tleSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kM19idXR0b24iIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDJfa2V5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQyX2J1dHRvbiIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kMV9rZXkiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fY29tbWFuZDFfYnV0dG9uIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2NvbW1hbmQwX2tleSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InJ1bl9jb21tYW5kMF9idXR0b24iIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJydW5fa2V5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icnVuX2J1dHRvbiIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5EaXNhYmxlZDwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9Im1haW5fbWVudV9rZXkiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+RGlzYWJsZWQ8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJtYWluX21lbnVfYnV0dG9uIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPkRpc2FibGVkPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZF93aW5kb3dfc2NyZWVuc2hvdCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT48L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeSBuYW1lPSJjb21tYW5kMTEiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZDEwIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQ5IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQ4IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQ3IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQ2IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQ1IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQ0IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQzIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQyIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQxIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmQwIiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9ImNvbW1hbmRfdGVybWluYWwiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iY29tbWFuZF9zY3JlZW5zaG90IiBtdGltZT0iMTIyNzE3MzE5NyIgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPmdkbS1zY3JlZW5zaG90PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0iYWN0aXZlX3BsdWdpbnMiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJsaXN0IiBsdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPmN1YmU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+ZGVjb3JhdGlvbjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5nY29uZjwvc3RyaW5ndmFsdWU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSB0eXBlPSJzdHJpbmciPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJpbmd2YWx1ZT5nbGliPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPm1vdmU8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+cGxhY2U8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+cmVzaXplPC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9InN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cmluZ3ZhbHVlPnNjcmVlbnNob3Q8L3N0cmluZ3ZhbHVlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5ndmFsdWU+d29iYmx5PC9zdHJpbmd2YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGlyPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJnbm9tZS1wb3dlci1tYW5hZ2VyIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkaXIgbmFtZT0idWkiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0ic2hvd19jb250ZXh0X21lbnUiIG10aW1lPSIxMjI3MTczMTk3IiB0eXBlPSJib29sIiB2YWx1ZT0iZmFsc2UiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJnbm9tZS1zY3JlZW5zYXZlciI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZW50cnkgbmFtZT0icG93ZXJfbWFuYWdlbWVudF9kZWxheSIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9ImludCIgdmFsdWU9IjMwIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgPC9kaXI+CisgICAgICAgICAgICAgICAgPGRpciBuYW1lPSJuYXV0aWx1cyI+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGlyIG5hbWU9InByZWZlcmVuY2VzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5IG5hbWU9InNob3dfZGVza3RvcCIgbXRpbWU9IjEyMjcxNzMxOTciIHR5cGU9ImJvb2wiIHZhbHVlPSJmYWxzZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgICAgICAgICA8L2Rpcj4KKyAgICAgICAgPC9kaXI+Cis8L2djb25mPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS8wMDAxLVJlbW92ZS11c2VyLXN3aXRjaC1hcHBsZXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtLzAwMDEtUmVtb3ZlLXVzZXItc3dpdGNoLWFwcGxldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWFmZjVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS8wMDAxLVJlbW92ZS11c2VyLXN3aXRjaC1hcHBsZXQucGF0Y2gKQEAgLTAsMCArMSwyMjgxIEBACitGcm9tIDBhNGZlODAyZWRiZDJlOGEwMTYxNjFmMDgyODNlNGI0NjdjNjc2MmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogVHVlLCAyMSBKdW4gMjAxMSAxMjo0ODozOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBSZW1vdmUgdXNlciBzd2l0Y2ggYXBwbGV0CisKK1RoaXMgaGFzbid0IGJlZW4gdXBkYXRlZCB0byB3b3JrIHdpdGggZ25vbWUtcGFuZWwgPiAyLjMwLjAsIHNvIGp1c3QgZHJvcCBpdAorCitVcHN0cmVhbS1TdGF0dXM6IHVuYWNjZXB0YWJsZSwgYmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgOCAtCisgZ3VpL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyIC0KKyAuLi4vR05PTUVfRmFzdFVzZXJTd2l0Y2hBcHBsZXQuc2VydmVyLmluLmluICAgICAgICB8ICAgMzggLQorIC4uLi9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC54bWwgICAgICAgICAgICAgICAgIHwgICAyMCAtCisgZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgfCAgIDY3IC0KKyBndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2FwcGxldC5jICAgICAgICAgICAgICAgICAgICB8IDE2NjIgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2dkbS1lbnRyeS1tZW51LWl0ZW0uYyAgICAgICB8ICAzMDQgLS0tLQorIGd1aS91c2VyLXN3aXRjaC1hcHBsZXQvZ2RtLWVudHJ5LW1lbnUtaXRlbS5oICAgICAgIHwgICA1MSAtCisgcG8vUE9URklMRVMuaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0IC0KKyBwby9QT1RGSUxFUy5za2lwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgLQorIDEwIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgMjE1NyBkZWxldGlvbnMoLSkKKyBkZWxldGUgbW9kZSAxMDA2NDQgZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC5zZXJ2ZXIuaW4uaW4KKyBkZWxldGUgbW9kZSAxMDA2NDQgZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC54bWwKKyBkZWxldGUgbW9kZSAxMDA2NDQgZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9NYWtlZmlsZS5hbQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2FwcGxldC5jCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGd1aS91c2VyLXN3aXRjaC1hcHBsZXQvZ2RtLWVudHJ5LW1lbnUtaXRlbS5jCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGd1aS91c2VyLXN3aXRjaC1hcHBsZXQvZ2RtLWVudHJ5LW1lbnUtaXRlbS5oCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDg0MWVmZTAuLmE4MzQxMTAgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTE0OSwxMyArMTQ5LDYgQEAgUEtHX0NIRUNLX01PRFVMRVMoU0lNUExFX0NIT09TRVIsCisgQUNfU1VCU1QoU0lNUExFX0NIT09TRVJfQ0ZMQUdTKQorIEFDX1NVQlNUKFNJTVBMRV9DSE9PU0VSX0xJQlMpCisgCistUEtHX0NIRUNLX01PRFVMRVMoQVBQTEVULAorLSAgICAgICAgZGJ1cy1nbGliLTEgPj0gJERCVVNfR0xJQl9SRVFVSVJFRF9WRVJTSU9OCistICAgICAgICBndGsrLTIuMCA+PSAkR1RLX1JFUVVJUkVEX1ZFUlNJT04KKy0gICAgICAgIGxpYnBhbmVsYXBwbGV0LTIuMCA+PSAkR05PTUVfUEFORUxfUkVRVUlSRURfVkVSU0lPTikKKy1BQ19TVUJTVChBUFBMRVRfQ0ZMQUdTKQorLUFDX1NVQlNUKEFQUExFVF9MSUJTKQorLQorIFBMVUdJTl9MSUJUT09MX0ZMQUdTPSItZXhwb3J0X2R5bmFtaWMgLW1vZHVsZSAtYXZvaWQtdmVyc2lvbiIKKyBBQ19TVUJTVChQTFVHSU5fTElCVE9PTF9GTEFHUykKKyAKK0BAIC0xMzQwLDcgKzEzMzMsNiBAQCBndWkvTWFrZWZpbGUKKyBndWkvc2ltcGxlLWdyZWV0ZXIvTWFrZWZpbGUKKyBndWkvc2ltcGxlLWdyZWV0ZXIvbGlibm90aWZpY2F0aW9uYXJlYS9NYWtlZmlsZQorIGd1aS9zaW1wbGUtY2hvb3Nlci9NYWtlZmlsZQorLWd1aS91c2VyLXN3aXRjaC1hcHBsZXQvTWFrZWZpbGUKKyB1dGlscy9NYWtlZmlsZQorIGRhdGEvZ2RtLmNvbmYKKyBkYXRhL01ha2VmaWxlCitkaWZmIC0tZ2l0IGEvZ3VpL01ha2VmaWxlLmFtIGIvZ3VpL01ha2VmaWxlLmFtCitpbmRleCAzMjYyMzlmLi5iZGEzZjdhIDEwMDY0NAorLS0tIGEvZ3VpL01ha2VmaWxlLmFtCisrKysgYi9ndWkvTWFrZWZpbGUuYW0KK0BAIC0yLDcgKzIsNiBAQCBOVUxMID0KKyAKKyBTVUJESVJTID0JCQlcCisgCXNpbXBsZS1ncmVldGVyCQlcCistCXVzZXItc3dpdGNoLWFwcGxldAlcCisgCSQoTlVMTCkKKyAKKyBpZiBYRE1DUF9TVVBQT1JUCitAQCAtMTIsNSArMTEsNCBAQCBlbmRpZgorIERJU1RfU1VCRElSUyA9CQkJXAorIAlzaW1wbGUtY2hvb3NlcgkJXAorIAlzaW1wbGUtZ3JlZXRlcgkJXAorLQl1c2VyLXN3aXRjaC1hcHBsZXQJXAorIAkkKE5VTEwpCitkaWZmIC0tZ2l0IGEvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC5zZXJ2ZXIuaW4uaW4gYi9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L0dOT01FX0Zhc3RVc2VyU3dpdGNoQXBwbGV0LnNlcnZlci5pbi5pbgorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBhOWI3NzVmLi4wMDAwMDAwCistLS0gYS9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L0dOT01FX0Zhc3RVc2VyU3dpdGNoQXBwbGV0LnNlcnZlci5pbi5pbgorKysrIC9kZXYvbnVsbAorQEAgLTEsMzggKzAsMCBAQAorLTxvYWZfaW5mbz4KKy0gIDxvYWZfc2VydmVyIGlpZD0iT0FGSUlEOkdOT01FX0Zhc3RVc2VyU3dpdGNoQXBwbGV0X0ZhY3RvcnkiIHR5cGU9ImV4ZSIKKy0gICAgICAgICAgICAgIGxvY2F0aW9uPSJATElCRVhFQ0RJUkAvZ2RtLXVzZXItc3dpdGNoLWFwcGxldCI+CistCistICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9InJlcG9faWRzIiB0eXBlPSJzdHJpbmd2Ij4KKy0gICAgICA8aXRlbSB2YWx1ZT0iSURMOkJvbm9iby9HZW5lcmljRmFjdG9yeToxLjAiLz4KKy0gICAgICA8aXRlbSB2YWx1ZT0iSURMOkJvbm9iby9Vbmtub3duOjEuMCIvPgorLSAgICA8L29hZl9hdHRyaWJ1dGU+CistICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InN0cmluZyIgX3ZhbHVlPSJVc2VyIFN3aXRjaGVyIEFwcGxldCBGYWN0b3J5Ii8+CistICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9ImRlc2NyaXB0aW9uIiB0eXBlPSJzdHJpbmciIF92YWx1ZT0iVXNlciBTd2l0Y2hlciBBcHBsZXQgRmFjdG9yeSIvPgorLSAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJib25vYm86ZW52aXJvbm1lbnQiIHR5cGU9InN0cmluZ3YiPgorLSAgICAgICA8aXRlbSB2YWx1ZT0iREJVU19TRVNTSU9OX0JVU19BRERSRVNTIi8+CistICAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJidWd6aWxsYTpidWd6aWxsYSIgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iR05PTUUiLz4KKy0gICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9ImJ1Z3ppbGxhOnByb2R1Y3QiIHR5cGU9InN0cmluZyIgdmFsdWU9ImdkbSIvPgorLSAgICAgPG9hZl9hdHRyaWJ1dGUgbmFtZT0iYnVnemlsbGE6Y29tcG9uZW50IiB0eXBlPSJzdHJpbmciIHZhbHVlPSJnZW5lcmFsIi8+CistICAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJidWd6aWxsYTp2ZXJzaW9uIiB0eXBlPSJzdHJpbmciIHZhbHVlPSJAVkVSU0lPTkAiLz4KKy0gICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9ImJ1Z3ppbGxhOm90aGVyX2JpbmFyaWVzIiB0eXBlPSJzdHJpbmciIHZhbHVlPSJnZG0tdXNlci1zd2l0Y2gtYXBwbGV0Ii8+CistICAgIDwvb2FmX2F0dHJpYnV0ZT4KKy0gIDwvb2FmX3NlcnZlcj4KKy0KKy0gIDxvYWZfc2VydmVyIGlpZD0iT0FGSUlEOkdOT01FX0Zhc3RVc2VyU3dpdGNoQXBwbGV0IiB0eXBlPSJmYWN0b3J5IgorLSAgICAgICAgICAgICAgbG9jYXRpb249Ik9BRklJRDpHTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldF9GYWN0b3J5Ij4KKy0KKy0gICAgPG9hZl9hdHRyaWJ1dGUgbmFtZT0icmVwb19pZHMiIHR5cGU9InN0cmluZ3YiPgorLSAgICAgIDxpdGVtIHZhbHVlPSJJREw6R05PTUUvVmVydGlnby9QYW5lbEFwcGxldFNoZWxsOjEuMCIvPgorLSAgICAgIDxpdGVtIHZhbHVlPSJJREw6Qm9ub2JvL0NvbnRyb2w6MS4wIi8+CistICAgICAgPGl0ZW0gdmFsdWU9IklETDpCb25vYm8vVW5rbm93bjoxLjAiLz4KKy0gICAgPC9vYWZfYXR0cmlidXRlPgorLSAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJuYW1lIiB0eXBlPSJzdHJpbmciIF92YWx1ZT0iVXNlciBTd2l0Y2hlciIvPgorLSAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJkZXNjcmlwdGlvbiIgdHlwZT0ic3RyaW5nIiBfdmFsdWU9IkEgbWVudSB0byBxdWlja2x5IHN3aXRjaCBiZXR3ZWVuIHVzZXJzIi8+CistICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9InBhbmVsOmljb24iIHR5cGU9InN0cmluZyIgdmFsdWU9InN0b2NrX3Blb3BsZSIvPgorLSAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJidWd6aWxsYTpidWd6aWxsYSIgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iR05PTUUiLz4KKy0gICAgPG9hZl9hdHRyaWJ1dGUgbmFtZT0iYnVnemlsbGE6cHJvZHVjdCIgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iZ2RtIi8+CistICAgIDxvYWZfYXR0cmlidXRlIG5hbWU9ImJ1Z3ppbGxhOmNvbXBvbmVudCIgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iZ2VuZXJhbCIvPgorLSAgICA8b2FmX2F0dHJpYnV0ZSBuYW1lPSJidWd6aWxsYTp2ZXJzaW9uIiB0eXBlPSJzdHJpbmciIHZhbHVlPSJAVkVSU0lPTkAiLz4KKy0gICAgPG9hZl9hdHRyaWJ1dGUgbmFtZT0iYnVnemlsbGE6b3RoZXJfYmluYXJpZXMiIHR5cGU9InN0cmluZyIgdmFsdWU9ImdkbS11c2VyLXN3aXRjaC1hcHBsZXQiLz4KKy0gIDwvb2FmX3NlcnZlcj4KKy08L29hZl9pbmZvPgorZGlmZiAtLWdpdCBhL2d1aS91c2VyLXN3aXRjaC1hcHBsZXQvR05PTUVfRmFzdFVzZXJTd2l0Y2hBcHBsZXQueG1sIGIvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC54bWwKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggZTE4NDVjOC4uMDAwMDAwMAorLS0tIGEvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC54bWwKKysrKyAvZGV2L251bGwKK0BAIC0xLDIwICswLDAgQEAKKy08Um9vdD4KKy0gIDxwb3B1cHM+CistICAgIDxwb3B1cCBuYW1lPSJidXR0b24zIj4KKy0gICAgICA8bWVudWl0ZW0KKy0gICAgICAgbmFtZT0iQWJvdXQgTWUgSXRlbSIKKy0gICAgICAgdmVyYj0iR2RtQWJvdXRNZSIKKy0gICAgICAgX2xhYmVsPSJFZGl0IFBlcnNvbmFsIF9JbmZvcm1hdGlvbiIvPgorLSAgICAgIDxtZW51aXRlbQorLSAgICAgICBuYW1lPSJVc2VycyBhbmQgR3JvdXBzIEFkbWluIEl0ZW0iCistICAgICAgIHZlcmI9IkdkbVVzZXJzR3JvdXBzQWRtaW4iCistICAgICAgIF9sYWJlbD0iX0VkaXQgVXNlcnMgYW5kIEdyb3VwcyIvPgorLSAgICAgIDxtZW51aXRlbQorLSAgICAgICBuYW1lPSJBYm91dCBJdGVtIgorLSAgICAgICB2ZXJiPSJHZG1BYm91dCIKKy0gICAgICAgX2xhYmVsPSJfQWJvdXQiCistICAgICAgIHBpeHR5cGU9InN0b2NrIgorLSAgICAgICBwaXhuYW1lPSJndGstYWJvdXQiLz4KKy0gICAgPC9wb3B1cD4KKy0gIDwvcG9wdXBzPgorLTwvUm9vdD4KK2RpZmYgLS1naXQgYS9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L01ha2VmaWxlLmFtIGIvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9NYWtlZmlsZS5hbQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAyZDJjZGMwLi4wMDAwMDAwCistLS0gYS9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L01ha2VmaWxlLmFtCisrKysgL2Rldi9udWxsCitAQCAtMSw2NyArMCwwIEBACistTlVMTCA9CistCistQU1fQ1BQRkxBR1MgPSBcCistCS1JJCh0b3Bfc3JjZGlyKS9ndWkvc2ltcGxlLWdyZWV0ZXIJCVwKKy0JLUkkKHRvcF9zcmNkaXIpL2NvbW1vbgkJCQlcCistCS1EUFJFRklYPVwiIiQocHJlZml4KSJcIiAJCQlcCistCS1ETElCRElSPVwiIiQobGliZGlyKSJcIiAJCQlcCistCS1EREFUQURJUj1cIiIkKGRhdGFkaXIpIlwiCQkgCVwKKy0JLURTWVNDT05GRElSPVwiIiQoc3lzY29uZmRpcikiXCIJCVwKKy0JLURMSUJMT0NBTEVESVI9XCIiJChwcmVmaXgpL2xpYi9sb2NhbGUiXCIJXAorLQktREdOT01FTE9DQUxFRElSPVwiIiQoZGF0YWRpcikvbG9jYWxlIlwiCVwKKy0JLURHTEFERURJUj1cIiIkKHBrZ2RhdGFkaXIpIlwiIAkJCVwKKy0JLURMSUJFWEVDRElSPVwiIiQobGliZXhlY2RpcikiXCIgCQlcCistCS1EU0JJTkRJUj1cIiIkKHNiaW5kaXIpIlwiCQkgCVwKKy0JLURHRE1DT05GRElSPVwiJChnZG1jb25mZGlyKVwiCQkJXAorLQkkKEdUS19DRkxBR1MpCQkJCQlcCistCSQoQVBQTEVUX0NGTEFHUykJCQkJXAorLQkkKE5VTEwpCistCistbGliZXhlY19QUk9HUkFNUyA9CQkJXAorLQlnZG0tdXNlci1zd2l0Y2gtYXBwbGV0CQlcCistCSQoTlVMTCkKKy0KKy1nZG1fdXNlcl9zd2l0Y2hfYXBwbGV0X1NPVVJDRVMgPSAgCVwKKy0JYXBwbGV0LmMgCQkJXAorLQlnZG0tZW50cnktbWVudS1pdGVtLmgJCVwKKy0JZ2RtLWVudHJ5LW1lbnUtaXRlbS5jCQlcCistCSQoTlVMTCkKKy0KKy1nZG1fdXNlcl9zd2l0Y2hfYXBwbGV0X0xEQUREID0gCQlcCistCSQodG9wX2J1aWxkZGlyKS9ndWkvc2ltcGxlLWdyZWV0ZXIvbGliZ2RtdXNlci5sYQlcCistCSQodG9wX2J1aWxkZGlyKS9jb21tb24vbGliZ2RtY29tbW9uLmxhCQlcCistCSQoQ09NTU9OX0xJQlMpCQkJCQlcCistCSQoQVBQTEVUX0xJQlMpCQkJCQlcCistCSQoTlVMTCkKKy0KKy0jIEJvbm9ibyBVSQorLXVpZGlyID0JJChkYXRhZGlyKS9nbm9tZS0yLjAvdWkKKy11aV9EQVRBID0JCQkJCVwKKy0JR05PTUVfRmFzdFVzZXJTd2l0Y2hBcHBsZXQueG1sCQlcCistCSQoTlVMTCkKKy0KKy0jIEJvbm9ibyAuc2VydmVyCistc2VydmVyZGlyID0gJChsaWJkaXIpL2Jvbm9iby9zZXJ2ZXJzCistc2VydmVyX2luX2ZpbGVzID0JCQkJXAorLQlHTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC5zZXJ2ZXIuaW4JXAorLQkkKE5VTEwpCistc2VydmVyX0RBVEEgPSAkKHNlcnZlcl9pbl9maWxlczouc2VydmVyLmluPS5zZXJ2ZXIpCistCistJChzZXJ2ZXJfaW5fZmlsZXMpOiAkKHNlcnZlcl9pbl9maWxlczouc2VydmVyLmluPS5zZXJ2ZXIuaW4uaW4pCistCXNlZCAtZSAic3xcQExJQkVYRUNESVJcQHwkKGxpYmV4ZWNkaXIpfCIgLWUgInN8XEBWRVJTSU9OXEB8JChWRVJTSU9OKXwiICQ8ID4gJEAKKy0KKy1ASU5UTFRPT0xfU0VSVkVSX1JVTEVACistCistRVhUUkFfRElTVCA9IAkJCVwKKy0JJCh1aV9EQVRBKQkJXAorLQlHTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC5zZXJ2ZXIuaW4uaW4JXAorLQkkKE5VTEwpCistCistRElTVENMRUFORklMRVMgPSAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0JJChzZXJ2ZXJfaW5fZmlsZXMpCQlcCistCSQoc2VydmVyX0RBVEEpCQkJXAorLSAgICAgICAgJChOVUxMKQorLQorLU1BSU5UQUlORVJDTEVBTkZJTEVTID0gICAgICAgICAgICAgICAgICBcCistICAgICAgICAqfiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgIE1ha2VmaWxlLmluCitkaWZmIC0tZ2l0IGEvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9hcHBsZXQuYyBiL2d1aS91c2VyLXN3aXRjaC1hcHBsZXQvYXBwbGV0LmMKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggYjRmOTQ0Yy4uMDAwMDAwMAorLS0tIGEvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9hcHBsZXQuYworKysrIC9kZXYvbnVsbAorQEAgLTEsMTY2MiArMCwwIEBACistLyogLSotIE1vZGU6IEM7IHRhYi13aWR0aDogODsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogOCAtKi0KKy0gKgorLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA1IEphbWVzIE0uIENhcGUgPGpjYXBlQGlnbm9yZS15b3VyLnR2Pi4KKy0gKiBDb3B5cmlnaHQgKEMpIDIwMDggICAgICBSZWQgSGF0LCBJbmMuCistICoKKy0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CistICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLSAqCistICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCistICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0gKgorLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCistICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy0gKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCistICovCistCistI2luY2x1ZGUgImNvbmZpZy5oIgorLQorLSNpbmNsdWRlIDxzdHJpbmcuaD4KKy0jaW5jbHVkZSA8dW5pc3RkLmg+CistI2luY2x1ZGUgPHN0ZGxpYi5oPgorLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKy0KKy0jaW5jbHVkZSA8Z2xpYi9naTE4bi5oPgorLSNpbmNsdWRlIDxnZGsvZ2Rra2V5c3ltcy5oPgorLSNpbmNsdWRlIDxndGsvZ3RrLmg+CistCistI2luY2x1ZGUgPGdjb25mL2djb25mLmg+CistI2luY2x1ZGUgPGdjb25mL2djb25mLWNsaWVudC5oPgorLQorLSNpbmNsdWRlIDxkYnVzL2RidXMtZ2xpYi5oPgorLQorLSNpbmNsdWRlIDxib25vYm8vYm9ub2JvLW1haW4uaD4KKy0jaW5jbHVkZSA8Ym9ub2JvL2Jvbm9iby11aS11dGlsLmg+CistCistI2luY2x1ZGUgPHBhbmVsLWFwcGxldC5oPgorLSNpbmNsdWRlIDxwYW5lbC1hcHBsZXQtZ2NvbmYuaD4KKy0KKy0jaW5jbHVkZSAiZ2RtLXVzZXItbWFuYWdlci5oIgorLSNpbmNsdWRlICJnZG0tZW50cnktbWVudS1pdGVtLmgiCistI2luY2x1ZGUgImdkbS1zZXR0aW5ncy1jbGllbnQuaCIKKy0KKy0jZGVmaW5lIExPQ0tET1dOX0RJUiAgICAiL2Rlc2t0b3AvZ25vbWUvbG9ja2Rvd24iCistI2RlZmluZSBMT0NLRE9XTl9VU0VSX1NXSVRDSElOR19LRVkgTE9DS0RPV05fRElSICIvZGlzYWJsZV91c2VyX3N3aXRjaGluZyIKKy0jZGVmaW5lIExPQ0tET1dOX0xPQ0tfU0NSRUVOX0tFWSAgICBMT0NLRE9XTl9ESVIgIi9kaXNhYmxlX2xvY2tfc2NyZWVuIgorLSNkZWZpbmUgTE9DS0RPV05fQ09NTUFORF9MSU5FX0tFWSAgIExPQ0tET1dOX0RJUiAiL2Rpc2FibGVfY29tbWFuZF9saW5lIgorLQorLXR5cGVkZWYgZW51bSB7CistICAgICAgICBHU01fUFJFU0VOQ0VfU1RBVFVTX0FWQUlMQUJMRSA9IDAsCistICAgICAgICBHU01fUFJFU0VOQ0VfU1RBVFVTX0lOVklTSUJMRSwKKy0gICAgICAgIEdTTV9QUkVTRU5DRV9TVEFUVVNfQlVTWSwKKy0gICAgICAgIEdTTV9QUkVTRU5DRV9TVEFUVVNfSURMRSwKKy19IEdzbVByZXNlbmNlU3RhdHVzOworLQorLXR5cGVkZWYgc3RydWN0IF9HZG1BcHBsZXREYXRhCisteworLSAgICAgICAgUGFuZWxBcHBsZXQgICAgKmFwcGxldDsKKy0KKy0gICAgICAgIEdDb25mQ2xpZW50ICAgICpjbGllbnQ7CistICAgICAgICBHZG1Vc2VyTWFuYWdlciAqbWFuYWdlcjsKKy0gICAgICAgIEdkbVVzZXIgICAgICAgICp1c2VyOworLQorLSAgICAgICAgR3RrV2lkZ2V0ICAgICAgKm1lbnViYXI7CistICAgICAgICBHdGtXaWRnZXQgICAgICAqbWVudWl0ZW07CistICAgICAgICBHdGtXaWRnZXQgICAgICAqbWVudTsKKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy0gICAgICAgIEd0a1dpZGdldCAgICAgICp1c2VyX2l0ZW07CistI2VuZGlmCistICAgICAgICBHdGtXaWRnZXQgICAgICAqY29udHJvbF9wYW5lbF9pdGVtOworLSAgICAgICAgR3RrV2lkZ2V0ICAgICAgKmFjY291bnRfaXRlbTsKKy0gICAgICAgIEd0a1dpZGdldCAgICAgICpsb2NrX3NjcmVlbl9pdGVtOworLSAgICAgICAgR3RrV2lkZ2V0ICAgICAgKmxvZ2luX3NjcmVlbl9pdGVtOworLSAgICAgICAgR3RrV2lkZ2V0ICAgICAgKnF1aXRfc2Vzc2lvbl9pdGVtOworLQorLSAgICAgICAgZ3VpbnQgICAgICAgICAgIGNsaWVudF9ub3RpZnlfbG9ja2Rvd25faWQ7CistCistICAgICAgICBndWludCAgICAgICAgICAgY3VycmVudF9zdGF0dXM7CistICAgICAgICBndWludCAgICAgICAgICAgdXNlcl9sb2FkZWRfbm90aWZ5X2lkOworLSAgICAgICAgZ3VpbnQgICAgICAgICAgIHVzZXJfY2hhbmdlZF9ub3RpZnlfaWQ7CistICAgICAgICBnaW50OCAgICAgICAgICAgcGl4ZWxfc2l6ZTsKKy0gICAgICAgIGdpbnQgICAgICAgICAgICBwYW5lbF9zaXplOworLSAgICAgICAgR3RrSWNvblNpemUgICAgIGljb25fc2l6ZTsKKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy0gICAgICAgIERCdXNHUHJveHkgICAgICpwcmVzZW5jZV9wcm94eTsKKy0jZW5kaWYKKy19IEdkbUFwcGxldERhdGE7CistCistdHlwZWRlZiBzdHJ1Y3QgX1NlbGVjdG9yUmVzcG9uc2VEYXRhCisteworLSAgICAgICAgR2RtQXBwbGV0RGF0YSAgKmFkYXRhOworLSAgICAgICAgR3RrUmFkaW9CdXR0b24gKnJhZGlvOworLX0gU2VsZWN0b3JSZXNwb25zZURhdGE7CistCistc3RhdGljIHZvaWQgcmVzZXRfaWNvbiAgIChHZG1BcHBsZXREYXRhICphZGF0YSk7Cistc3RhdGljIHZvaWQgdXBkYXRlX2xhYmVsIChHZG1BcHBsZXREYXRhICphZGF0YSk7CistCistc3RhdGljIGdib29sZWFuIGFwcGxldF9mYWN0b3J5IChQYW5lbEFwcGxldCAgICphcHBsZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICAgICppaWQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRlciAgICAgICBkYXRhKTsKKy0KKy1QQU5FTF9BUFBMRVRfQk9OT0JPX0ZBQ1RPUlkgKCJPQUZJSUQ6R05PTUVfRmFzdFVzZXJTd2l0Y2hBcHBsZXRfRmFjdG9yeSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQU5FTF9UWVBFX0FQUExFVCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZG0tdXNlci1zd2l0Y2gtYXBwbGV0IiwgIjAiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFBhbmVsQXBwbGV0RmFjdG9yeUNhbGxiYWNrKWFwcGxldF9mYWN0b3J5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCkKKy0KKy1zdGF0aWMgdm9pZAorLWFib3V0X21lX2NiIChCb25vYm9VSUNvbXBvbmVudCAqdWlfY29udGFpbmVyLAorLSAgICAgICAgICAgICBncG9pbnRlciAgICAgICAgICAgZGF0YSwKKy0gICAgICAgICAgICAgY29uc3QgY2hhciAgICAgICAgKmNuYW1lKQorLXsKKy0gICAgICAgIEdFcnJvciAqZXJyOworLQorLSAgICAgICAgZXJyID0gTlVMTDsKKy0gICAgICAgIGlmICghIGdfc3Bhd25fY29tbWFuZF9saW5lX2FzeW5jICgiZ25vbWUtYWJvdXQtbWUiLCAmZXJyKSkgeworLSAgICAgICAgICAgICAgICBnX2NyaXRpY2FsICgiQ291bGQgbm90IHJ1biBgZ25vbWUtYWJvdXQtbWUnOiAlcyIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgIGdfZXJyb3JfZnJlZSAoZXJyKTsKKy0gICAgICAgICAgICAgICAgYm9ub2JvX3VpX2NvbXBvbmVudF9zZXRfcHJvcCAodWlfY29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2NvbW1hbmRzL0dkbUFib3V0TWUiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlkZGVuIiwgIjEiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0gICAgICAgIH0KKy19CistCistLyoKKy0gKiBnbm9tZS1wYW5lbC9hcHBsZXRzL3duY2tsZXQvd2luZG93LW1lbnUuYzp3aW5kb3dfZmlsdGVyX2J1dHRvbl9wcmVzcygpCistICoKKy0gKiBDb3B5cmlnaHQgKEMpIDIwMDUgSmFtZXMgTS4gQ2FwZS4KKy0gKiBDb3B5cmlnaHQgKEMpIDIwMDMgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLgorLSAqIENvcHlyaWdodCAoQykgMjAwMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy0gKiBDb3B5cmlnaHQgKEMpIDIwMDAgSGVsaXggQ29kZSwgSW5jLgorLSAqLworLXN0YXRpYyBnYm9vbGVhbgorLW1lbnViYXJfYnV0dG9uX3ByZXNzX2V2ZW50X2NiIChHdGtXaWRnZXQgICAgICAqbWVudWJhciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RrRXZlbnRCdXR0b24gKmV2ZW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICAqYWRhdGEpCisteworLSAgICAgICAgaWYgKGV2ZW50LT5idXR0b24gIT0gMSkgeworLSAgICAgICAgICAgICAgICBnX3NpZ25hbF9zdG9wX2VtaXNzaW9uX2J5X25hbWUgKG1lbnViYXIsICJidXR0b24tcHJlc3MtZXZlbnQiKTsKKy0gICAgICAgICAgICAgICAgLyogUmVzZXQgdGhlIGxvZ2luIHdpbmRvdyBpdGVtICovCistICAgICAgICB9CistCistICAgICAgICByZXR1cm4gRkFMU0U7CistfQorLQorLXN0YXRpYyB2b2lkCistYWJvdXRfY2IgKEJvbm9ib1VJQ29tcG9uZW50ICp1aV9jb250YWluZXIsCistICAgICAgICAgIGdwb2ludGVyICAgICAgICAgICBkYXRhLAorLSAgICAgICAgICBjb25zdCBjaGFyICAgICAgICAqY25hbWUpCisteworLSAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgKmF1dGhvcnNbXSA9IHsKKy0gICAgICAgICAgICAgICAgIkphbWVzIE0uIENhcGUgPGpjYXBlQGlnbm9yZS15b3VyLnR2PiIsCistICAgICAgICAgICAgICAgICJUaG9tYXMgVGh1cm1hbiA8dGhvbWFzQHRodXJtYW4ub3JnLnVrPiIsCistICAgICAgICAgICAgICAgICJXaWxsaWFtIEpvbiBNY0Nhbm4gPGptY2Nhbm5AcmVkaGF0LmNvbT4iLAorLSAgICAgICAgICAgICAgICBOVUxMCistICAgICAgICB9OworLSAgICAgICAgc3RhdGljIGNoYXIgKmxpY2Vuc2VbXSA9IHsKKy0gICAgICAgICAgICAgICAgTl8oIlRoZSBVc2VyIFN3aXRjaCBBcHBsZXQgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSAiCistICAgICAgICAgICAgICAgICAgICJpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSAiCistICAgICAgICAgICAgICAgICAgICJ0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAiCistICAgICAgICAgICAgICAgICAgICIoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiIpLAorLSAgICAgICAgICAgICAgICBOXygiVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICIKKy0gICAgICAgICAgICAgICAgICAgImJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mICIKKy0gICAgICAgICAgICAgICAgICAgIk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgIgorLSAgICAgICAgICAgICAgICAgICAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4iKSwKKy0gICAgICAgICAgICAgICAgTl8oIllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlICIKKy0gICAgICAgICAgICAgICAgICAgImFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlICIKKy0gICAgICAgICAgICAgICAgICAgIkZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBICIpLAorLSAgICAgICAgICAgICAgICBOVUxMCistICAgICAgICB9OworLSAgICAgICAgY2hhciAqbGljZW5zZV9pMThuOworLQorLSAgICAgICAgbGljZW5zZV9pMThuID0gZ19zdHJjb25jYXQgKF8obGljZW5zZVswXSksICJcblxuIiwgXyhsaWNlbnNlWzFdKSwgIlxuXG4iLCBfKGxpY2Vuc2VbMl0pLCBOVUxMKTsgCistCistICAgICAgICBndGtfc2hvd19hYm91dF9kaWFsb2cgKE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiwgVkVSU0lPTiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvcHlyaWdodCIsICJDb3B5cmlnaHQgXHhjMlx4YTkgMjAwNC0yMDA1IEphbWVzIE0uIENhcGUuXG4iCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb3B5cmlnaHQgXHhjMlx4YTkgMjAwNiBUaG9tYXMgVGh1cm1hbi5cbiIKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvcHlyaWdodCBceGMyXHhhOSAyMDA4IFJlZCBIYXQsIEluYy4iLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tbWVudHMiLCBfKCJBIG1lbnUgdG8gcXVpY2tseSBzd2l0Y2ggYmV0d2VlbiB1c2Vycy4iKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImF1dGhvcnMiLCBhdXRob3JzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGljZW5zZSIsIGxpY2Vuc2VfaTE4biwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndyYXAtbGljZW5zZSIsIFRSVUUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0cmFuc2xhdG9yLWNyZWRpdHMiLCBfKCJ0cmFuc2xhdG9yLWNyZWRpdHMiKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvZ28taWNvbi1uYW1lIiwgInN0b2NrX3Blb3BsZSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworLQorLSAgICAgICAgZ19mcmVlIChsaWNlbnNlX2kxOG4pOworLX0KKy0KKy0KKy1zdGF0aWMgdm9pZAorLWFkbWluX2NiIChCb25vYm9VSUNvbXBvbmVudCAqdWlfY29udGFpbmVyLAorLSAgICAgICAgICBncG9pbnRlciAgICAgICAgICAgZGF0YSwKKy0gICAgICAgICAgY29uc3QgY2hhciAgICAgICAgKmNuYW1lKQorLXsKKy0jaWZkZWYgVVNFUlNfQURNSU4KKy0gICAgICAgIGNoYXIgICAqKmFyZ3M7CistICAgICAgICBnYm9vbGVhbiByZXM7CistICAgICAgICBHRXJyb3IgICplcnI7CistCistICAgICAgICBlcnIgPSBOVUxMOworLSAgICAgICAgaWYgKCFnX3NoZWxsX3BhcnNlX2FyZ3YgKFVTRVJTX0FETUlOLCBOVUxMLCAmYXJncywgJmVycikpIHsKKy0gICAgICAgICAgICAgICAgZ19jcml0aWNhbCAoIkNvdWxkIG5vdCBwYXJzZSB1c2VycyBhbmQgZ3JvdXBzIG1hbmFnZW1lbnQgY29tbWFuZCBsaW5lIGAlcyc6ICVzIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNFUlNfQURNSU4sIGVyci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIHJlcyA9IGdfc3Bhd25fYXN5bmMgKGdfZ2V0X2hvbWVfZGlyICgpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR19TUEFXTl9TVERPVVRfVE9fREVWX05VTEwgfAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfU1BBV05fU1RERVJSX1RPX0RFVl9OVUxMIHwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1NQQVdOX1NFQVJDSF9QQVRIKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZlcnIpOworLSAgICAgICAgaWYgKCEgcmVzKSB7CistICAgICAgICAgICAgICAgIGdfY3JpdGljYWwgKCJDb3VsZCBub3QgcnVuIGAlcycgdG8gbWFuYWdlIHVzZXJzIGFuZCBncm91cHM6ICVzIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNFUlNfQURNSU4sIGVyci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgIGdfZXJyb3JfZnJlZSAoZXJyKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGdfc3RyZnJlZXYgKGFyZ3MpOworLSNlbmRpZiAvKiBVU0VSU19BRE1JTiAqLworLX0KKy0KKy1zdGF0aWMgdm9pZAorLXNldF9tZW51aXRlbV9pY29uIChCb25vYm9VSUNvbXBvbmVudCAqY29tcG9uZW50LAorLSAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICAgICAgICAqaXRlbV9wYXRoLAorLSAgICAgICAgICAgICAgICAgICBHdGtJY29uVGhlbWUgICAgICAqdGhlbWUsCistICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgICAgICAgICppY29uX25hbWUsCistICAgICAgICAgICAgICAgICAgIGdpbnQgICAgICAgICAgICAgICBpY29uX3NpemUpCisteworLSAgICAgICAgR2RrUGl4YnVmICpwaXhidWY7CistICAgICAgICBpbnQgICAgICAgIHdpZHRoOworLSAgICAgICAgaW50ICAgICAgICBoZWlnaHQ7CistCistICAgICAgICBwaXhidWYgPSBndGtfaWNvbl90aGVtZV9sb2FkX2ljb24gKHRoZW1lLCBpY29uX25hbWUsIGljb25fc2l6ZSwgMCwgTlVMTCk7CistICAgICAgICBpZiAocGl4YnVmID09IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuOworLSAgICAgICAgfQorLQorLSAgICAgICAgd2lkdGggPSBnZGtfcGl4YnVmX2dldF93aWR0aCAocGl4YnVmKTsKKy0gICAgICAgIGhlaWdodCA9IGdka19waXhidWZfZ2V0X2hlaWdodCAocGl4YnVmKTsKKy0gICAgICAgIGlmICh3aWR0aCA+IGljb25fc2l6ZSArIDQgfHwgaGVpZ2h0ID4gaWNvbl9zaXplICsgNCkgeworLSAgICAgICAgICAgICAgICBHZGtQaXhidWYgKnRtcDsKKy0gICAgICAgICAgICAgICAgaWYgKGhlaWdodCA+IHdpZHRoKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggKj0gKGdkb3VibGUpIGljb25fc2l6ZSAvIChnZG91YmxlKSBoZWlnaHQ7CistICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ID0gaWNvbl9zaXplOworLSAgICAgICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAqPSAoZ2RvdWJsZSkgaWNvbl9zaXplIC8gKGdkb3VibGUpIHdpZHRoOworLSAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoID0gaWNvbl9zaXplOworLSAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgICAgIHRtcCA9IGdka19waXhidWZfc2NhbGVfc2ltcGxlIChwaXhidWYsIHdpZHRoLCBoZWlnaHQsIEdES19JTlRFUlBfQklMSU5FQVIpOworLSAgICAgICAgICAgICAgICBnX29iamVjdF91bnJlZiAocGl4YnVmKTsKKy0gICAgICAgICAgICAgICAgcGl4YnVmID0gdG1wOworLSAgICAgICAgfQorLQorLSAgICAgICAgYm9ub2JvX3VpX3V0aWxfc2V0X3BpeGJ1ZiAoY29tcG9uZW50LCBpdGVtX3BhdGgsIHBpeGJ1ZiwgTlVMTCk7CistICAgICAgICBnX29iamVjdF91bnJlZiAocGl4YnVmKTsKKy19CistCistc3RhdGljIHZvaWQKKy1hcHBsZXRfc3R5bGVfc2V0X2NiIChHdGtXaWRnZXQgKndpZGdldCwKKy0gICAgICAgICAgICAgICAgICAgICBHdGtTdHlsZSAgKm9sZF9zdHlsZSwKKy0gICAgICAgICAgICAgICAgICAgICBncG9pbnRlciAgIGRhdGEpCisteworLSAgICAgICAgQm9ub2JvVUlDb21wb25lbnQgKmNvbXBvbmVudDsKKy0gICAgICAgIEdka1NjcmVlbiAgICAgICAgICpzY3JlZW47CistICAgICAgICBHdGtJY29uVGhlbWUgICAgICAqdGhlbWU7CistICAgICAgICBpbnQgICAgICAgICAgICAgICAgd2lkdGg7CistICAgICAgICBpbnQgICAgICAgICAgICAgICAgaGVpZ2h0OworLSAgICAgICAgaW50ICAgICAgICAgICAgICAgIGljb25fc2l6ZTsKKy0KKy0gICAgICAgIGlmIChndGtfd2lkZ2V0X2hhc19zY3JlZW4gKHdpZGdldCkpIHsKKy0gICAgICAgICAgICAgICAgc2NyZWVuID0gZ3RrX3dpZGdldF9nZXRfc2NyZWVuICh3aWRnZXQpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgc2NyZWVuID0gZ2RrX3NjcmVlbl9nZXRfZGVmYXVsdCAoKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGlmIChndGtfaWNvbl9zaXplX2xvb2t1cF9mb3Jfc2V0dGluZ3MgKGd0a19zZXR0aW5nc19nZXRfZm9yX3NjcmVlbiAoc2NyZWVuKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdUS19JQ09OX1NJWkVfTUVOVSwgJndpZHRoLCAmaGVpZ2h0KSkgeworLSAgICAgICAgICAgICAgICBpY29uX3NpemUgPSBNQVggKHdpZHRoLCBoZWlnaHQpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgaWNvbl9zaXplID0gMTY7CistICAgICAgICB9CistCistICAgICAgICB0aGVtZSA9IGd0a19pY29uX3RoZW1lX2dldF9mb3Jfc2NyZWVuIChzY3JlZW4pOworLSAgICAgICAgY29tcG9uZW50ID0gcGFuZWxfYXBwbGV0X2dldF9wb3B1cF9jb21wb25lbnQgKFBBTkVMX0FQUExFVCAod2lkZ2V0KSk7CistCistICAgICAgICBzZXRfbWVudWl0ZW1faWNvbiAoY29tcG9uZW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICIvY29tbWFuZHMvR2RtQWJvdXRNZSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZXItaW5mbyIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbl9zaXplKTsKKy0gICAgICAgIHNldF9tZW51aXRlbV9pY29uIChjb21wb25lbnQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9jb21tYW5kcy9HZG1Vc2Vyc0dyb3Vwc0FkbWluIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAic3RvY2tfcGVvcGxlIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uX3NpemUpOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLWFwcGxldF9jaGFuZ2VfYmFja2dyb3VuZF9jYiAoUGFuZWxBcHBsZXQgICAgICAgICAgICAgICAqYXBwbGV0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFuZWxBcHBsZXRCYWNrZ3JvdW5kVHlwZSAgdHlwZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdka0NvbG9yICAgICAgICAgICAgICAgICAgKmNvbG9yLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RrUGl4bWFwICAgICAgICAgICAgICAgICAqcGl4bWFwLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAgICAgICAgICAgICAqYWRhdGEpCisteworLSAgICAgICAgR3RrUmNTdHlsZSAqcmNfc3R5bGU7CistICAgICAgICBHdGtTdHlsZSAgICpzdHlsZTsKKy0KKy0gICAgICAgIGd0a193aWRnZXRfc2V0X3N0eWxlIChhZGF0YS0+bWVudWJhciwgTlVMTCk7CistICAgICAgICByY19zdHlsZSA9IGd0a19yY19zdHlsZV9uZXcgKCk7CistICAgICAgICBndGtfd2lkZ2V0X21vZGlmeV9zdHlsZSAoR1RLX1dJREdFVCAoYWRhdGEtPm1lbnViYXIpLCByY19zdHlsZSk7CistICAgICAgICBnX29iamVjdF91bnJlZiAocmNfc3R5bGUpOworLQorLSAgICAgICAgc3dpdGNoICh0eXBlKSB7CistICAgICAgICBjYXNlIFBBTkVMX05PX0JBQ0tHUk9VTkQ6CistICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgY2FzZSBQQU5FTF9DT0xPUl9CQUNLR1JPVU5EOgorLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X21vZGlmeV9iZyAoYWRhdGEtPm1lbnViYXIsIEdUS19TVEFURV9OT1JNQUwsIGNvbG9yKTsKKy0gICAgICAgICAgICAgICAgYnJlYWs7CistICAgICAgICBjYXNlIFBBTkVMX1BJWE1BUF9CQUNLR1JPVU5EOgorLSAgICAgICAgICAgICAgICBzdHlsZSA9IGd0a19zdHlsZV9jb3B5IChndGtfd2lkZ2V0X2dldF9zdHlsZSAoYWRhdGEtPm1lbnViYXIpKTsKKy0gICAgICAgICAgICAgICAgaWYgKHN0eWxlLT5iZ19waXhtYXBbR1RLX1NUQVRFX05PUk1BTF0pIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBnX29iamVjdF91bnJlZiAoc3R5bGUtPmJnX3BpeG1hcFtHVEtfU1RBVEVfTk9STUFMXSk7CistICAgICAgICAgICAgICAgIH0KKy0KKy0gICAgICAgICAgICAgICAgc3R5bGUtPmJnX3BpeG1hcFtHVEtfU1RBVEVfTk9STUFMXSA9IGdfb2JqZWN0X3JlZiAocGl4bWFwKTsKKy0gICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9zZXRfc3R5bGUgKGFkYXRhLT5tZW51YmFyLCBzdHlsZSk7CistICAgICAgICAgICAgICAgIGdfb2JqZWN0X3VucmVmIChzdHlsZSk7CistICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgfQorLX0KKy0KKy0vKgorLSAqIGdub21lLXBhbmVsL2FwcGxldHMvd25ja2xldC93aW5kb3ctbWVudS5jOndpbmRvd19tZW51X2tleV9wcmVzc19ldmVudCgpCistICoKKy0gKiBDb3B5cmlnaHQgKEMpIDIwMDMgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLgorLSAqIENvcHlyaWdodCAoQykgMjAwMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy0gKiBDb3B5cmlnaHQgKEMpIDIwMDAgSGVsaXggQ29kZSwgSW5jLgorLSAqLworLXN0YXRpYyBnYm9vbGVhbgorLWFwcGxldF9rZXlfcHJlc3NfZXZlbnRfY2IgKEd0a1dpZGdldCAgICAgKndpZGdldCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBHZGtFdmVudEtleSAgICpldmVudCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHdGtNZW51U2hlbGwgKm1lbnVfc2hlbGw7CistCistICAgICAgICBzd2l0Y2ggKGV2ZW50LT5rZXl2YWwpIHsKKy0gICAgICAgIGNhc2UgR0RLX0tQX0VudGVyOgorLSAgICAgICAgY2FzZSBHREtfSVNPX0VudGVyOgorLSAgICAgICAgY2FzZSBHREtfMzI3MF9FbnRlcjoKKy0gICAgICAgIGNhc2UgR0RLX1JldHVybjoKKy0gICAgICAgIGNhc2UgR0RLX3NwYWNlOgorLSAgICAgICAgY2FzZSBHREtfS1BfU3BhY2U6CistICAgICAgICAgICAgICAgIG1lbnVfc2hlbGwgPSBHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnViYXIpOworLSAgICAgICAgICAgICAgICAvKgorLSAgICAgICAgICAgICAgICAgKiBXZSBuZWVkIHRvIGNhbGwgX2d0a19tZW51X3NoZWxsX2FjdGl2YXRlKCkgaGVyZSBhcyBpcyBkb25lIGluCistICAgICAgICAgICAgICAgICAqIHdpbmRvd19rZXlfcHJlc3NfaGFuZGxlciBpbiBndGttZW51YmFyLmMgd2hpY2ggcG9wcyB1cCBtZW51CistICAgICAgICAgICAgICAgICAqIHdoZW4gRjEwIGlzIHByZXNzZWQuCistICAgICAgICAgICAgICAgICAqCistICAgICAgICAgICAgICAgICAqIEFzIHRoYXQgZnVuY3Rpb24gaXMgcHJpdmF0ZSBpdHMgY29kZSBpcyByZXBsaWNhdGVkIGhlcmUuCistICAgICAgICAgICAgICAgICAqLworLSAgICAgICAgICAgICAgICBpZiAoIW1lbnVfc2hlbGwtPmFjdGl2ZSkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGd0a19ncmFiX2FkZCAoR1RLX1dJREdFVCAobWVudV9zaGVsbCkpOworLSAgICAgICAgICAgICAgICAgICAgICAgIG1lbnVfc2hlbGwtPmhhdmVfZ3JhYiA9IFRSVUU7CistICAgICAgICAgICAgICAgICAgICAgICAgbWVudV9zaGVsbC0+YWN0aXZlID0gVFJVRTsKKy0gICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICBndGtfbWVudV9zaGVsbF9zZWxlY3RfZmlyc3QgKG1lbnVfc2hlbGwsIEZBTFNFKTsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIFRSVUU7CistICAgICAgICBkZWZhdWx0OgorLSAgICAgICAgICAgICAgICBicmVhazsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIHJldHVybiBGQUxTRTsKKy19CistCistc3RhdGljIHZvaWQKKy1zZXRfaXRlbV90ZXh0X2FuZ2xlX2FuZF9hbGlnbm1lbnQgKEd0a1dpZGdldCAqaXRlbSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSAgICAgdGV4dF9hbmdsZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0ICAgICAgeGFsaWduLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgICAgICB5YWxpZ24pCisteworLSAgICAgICAgR3RrV2lkZ2V0ICpsYWJlbDsKKy0KKy0gICAgICAgIGxhYmVsID0gZ3RrX2Jpbl9nZXRfY2hpbGQgKEdUS19CSU4gKGl0ZW0pKTsKKy0KKy0gICAgICAgIGd0a19sYWJlbF9zZXRfYW5nbGUgKEdUS19MQUJFTCAobGFiZWwpLCB0ZXh0X2FuZ2xlKTsKKy0KKy0gICAgICAgIGd0a19taXNjX3NldF9hbGlnbm1lbnQgKEdUS19NSVNDIChsYWJlbCksIHhhbGlnbiwgeWFsaWduKTsKKy19CistCistLyoKKy0gKiBnbm9tZS1wYW5lbC9hcHBsZXRzL3duY2tsZXQvd2luZG93LW1lbnUuYzp3aW5kb3dfbWVudV9zaXplX2FsbG9jYXRlKCkKKy0gKgorLSAqIENvcHlyaWdodCAoQykgMjAwMyBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuCistICogQ29weXJpZ2h0IChDKSAyMDAxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLSAqIENvcHlyaWdodCAoQykgMjAwMCBIZWxpeCBDb2RlLCBJbmMuCistICovCistc3RhdGljIHZvaWQKKy1hcHBsZXRfc2l6ZV9hbGxvY2F0ZV9jYiAoR3RrV2lkZ2V0ICAgICAqd2lkZ2V0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICBHdGtBbGxvY2F0aW9uICphbGxvY2F0aW9uLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHTGlzdCAgICAgICAgICAgICpjaGlsZHJlbjsKKy0gICAgICAgIEd0a1dpZGdldCAgICAgICAgKnRvcF9pdGVtOworLSAgICAgICAgUGFuZWxBcHBsZXRPcmllbnQgb3JpZW50OworLSAgICAgICAgZ2ludCAgICAgICAgICAgICAgcGl4ZWxfc2l6ZTsKKy0gICAgICAgIGdkb3VibGUgICAgICAgICAgIHRleHRfYW5nbGU7CistICAgICAgICBHdGtQYWNrRGlyZWN0aW9uICBwYWNrX2RpcmVjdGlvbjsKKy0gICAgICAgIGZsb2F0ICAgICAgICAgICAgIHRleHRfeGFsaWduOworLSAgICAgICAgZmxvYXQgICAgICAgICAgICAgdGV4dF95YWxpZ247CistCistICAgICAgICBwYWNrX2RpcmVjdGlvbiA9IEdUS19QQUNLX0RJUkVDVElPTl9MVFI7CistICAgICAgICB0ZXh0X2FuZ2xlID0gMC4wOworLSAgICAgICAgdGV4dF94YWxpZ24gPSAwLjA7CistICAgICAgICB0ZXh0X3lhbGlnbiA9IDAuNTsKKy0KKy0gICAgICAgIGNoaWxkcmVuID0gZ3RrX2NvbnRhaW5lcl9nZXRfY2hpbGRyZW4gKEdUS19DT05UQUlORVIgKGFkYXRhLT5tZW51YmFyKSk7CistICAgICAgICB0b3BfaXRlbSA9IEdUS19XSURHRVQgKGNoaWxkcmVuLT5kYXRhKTsKKy0gICAgICAgIGdfbGlzdF9mcmVlIChjaGlsZHJlbik7CistCistICAgICAgICBvcmllbnQgPSBwYW5lbF9hcHBsZXRfZ2V0X29yaWVudCAoUEFORUxfQVBQTEVUICh3aWRnZXQpKTsKKy0KKy0gICAgICAgIHN3aXRjaCAob3JpZW50KSB7CistICAgICAgICBjYXNlIFBBTkVMX0FQUExFVF9PUklFTlRfVVA6CistICAgICAgICBjYXNlIFBBTkVMX0FQUExFVF9PUklFTlRfRE9XTjoKKy0gICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9zZXRfc2l6ZV9yZXF1ZXN0ICh0b3BfaXRlbSwgLTEsIGFsbG9jYXRpb24tPmhlaWdodCk7CistICAgICAgICAgICAgICAgIHBpeGVsX3NpemUgPSBhbGxvY2F0aW9uLT5oZWlnaHQgLSBndGtfd2lkZ2V0X2dldF9zdHlsZSAodG9wX2l0ZW0pLT55dGhpY2tuZXNzICogMjsKKy0gICAgICAgICAgICAgICAgYnJlYWs7CistICAgICAgICBjYXNlIFBBTkVMX0FQUExFVF9PUklFTlRfTEVGVDoKKy0gICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9zZXRfc2l6ZV9yZXF1ZXN0ICh0b3BfaXRlbSwgYWxsb2NhdGlvbi0+d2lkdGgsIC0xKTsKKy0gICAgICAgICAgICAgICAgcGl4ZWxfc2l6ZSA9IGFsbG9jYXRpb24tPndpZHRoIC0gZ3RrX3dpZGdldF9nZXRfc3R5bGUgKHRvcF9pdGVtKS0+eHRoaWNrbmVzcyAqIDI7CistICAgICAgICAgICAgICAgIHBhY2tfZGlyZWN0aW9uID0gR1RLX1BBQ0tfRElSRUNUSU9OX1RUQjsKKy0gICAgICAgICAgICAgICAgdGV4dF9hbmdsZSA9IDI3MC4wOworLSAgICAgICAgICAgICAgICB0ZXh0X3hhbGlnbiA9IDAuNTsKKy0gICAgICAgICAgICAgICAgdGV4dF95YWxpZ24gPSAwLjA7CistICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgY2FzZSBQQU5FTF9BUFBMRVRfT1JJRU5UX1JJR0hUOgorLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3NldF9zaXplX3JlcXVlc3QgKHRvcF9pdGVtLCBhbGxvY2F0aW9uLT53aWR0aCwgLTEpOworLSAgICAgICAgICAgICAgICBwaXhlbF9zaXplID0gYWxsb2NhdGlvbi0+d2lkdGggLSBndGtfd2lkZ2V0X2dldF9zdHlsZSAodG9wX2l0ZW0pLT54dGhpY2tuZXNzICogMjsKKy0gICAgICAgICAgICAgICAgcGFja19kaXJlY3Rpb24gPSBHVEtfUEFDS19ESVJFQ1RJT05fQlRUOworLSAgICAgICAgICAgICAgICB0ZXh0X2FuZ2xlID0gOTAuMDsKKy0gICAgICAgICAgICAgICAgdGV4dF94YWxpZ24gPSAwLjU7CistICAgICAgICAgICAgICAgIHRleHRfeWFsaWduID0gMC4wOworLSAgICAgICAgICAgICAgICBicmVhazsKKy0gICAgICAgIGRlZmF1bHQ6CistICAgICAgICAgICAgICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkICgpOworLSAgICAgICAgICAgICAgICBicmVhazsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGd0a19tZW51X2Jhcl9zZXRfcGFja19kaXJlY3Rpb24gKEdUS19NRU5VX0JBUiAoYWRhdGEtPm1lbnViYXIpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFja19kaXJlY3Rpb24pOworLSAgICAgICAgZ3RrX21lbnVfYmFyX3NldF9jaGlsZF9wYWNrX2RpcmVjdGlvbiAoR1RLX01FTlVfQkFSIChhZGF0YS0+bWVudWJhciksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWNrX2RpcmVjdGlvbik7CistCistICAgICAgICBzZXRfaXRlbV90ZXh0X2FuZ2xlX2FuZF9hbGlnbm1lbnQgKGFkYXRhLT5tZW51aXRlbSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF9hbmdsZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF94YWxpZ24sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRfeWFsaWduKTsKKy0KKy0gICAgICAgIGlmIChhZGF0YS0+cGFuZWxfc2l6ZSAhPSBwaXhlbF9zaXplKSB7CistICAgICAgICAgICAgICAgIGFkYXRhLT5wYW5lbF9zaXplID0gcGl4ZWxfc2l6ZTsKKy0gICAgICAgICAgICAgICAgcmVzZXRfaWNvbiAoYWRhdGEpOworLSAgICAgICAgfQorLX0KKy0KKy0KKy1zdGF0aWMgdm9pZAorLWdkbV9hcHBsZXRfZGF0YV9mcmVlIChHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBnY29uZl9jbGllbnRfbm90aWZ5X3JlbW92ZSAoYWRhdGEtPmNsaWVudCwgYWRhdGEtPmNsaWVudF9ub3RpZnlfbG9ja2Rvd25faWQpOworLQorLSAgICAgICAgaWYgKGFkYXRhLT51c2VyX2xvYWRlZF9ub3RpZnlfaWQgIT0gMCkgeworLSAgICAgICAgICAgICAgICBnX3NpZ25hbF9oYW5kbGVyX2Rpc2Nvbm5lY3QgKGFkYXRhLT51c2VyLCBhZGF0YS0+dXNlcl9sb2FkZWRfbm90aWZ5X2lkKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGlmIChhZGF0YS0+dXNlcl9jaGFuZ2VkX25vdGlmeV9pZCAhPSAwKSB7CistICAgICAgICAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJfZGlzY29ubmVjdCAoYWRhdGEtPnVzZXIsIGFkYXRhLT51c2VyX2NoYW5nZWRfbm90aWZ5X2lkKTsKKy0gICAgICAgIH0KKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy0gICAgICAgIGlmIChhZGF0YS0+cHJlc2VuY2VfcHJveHkgIT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICBnX29iamVjdF91bnJlZiAoYWRhdGEtPnByZXNlbmNlX3Byb3h5KTsKKy0gICAgICAgIH0KKy0jZW5kaWYKKy0KKy0gICAgICAgIGlmIChhZGF0YS0+dXNlciAhPSBOVUxMKSB7CistICAgICAgICAgICAgICAgIGdfb2JqZWN0X3VucmVmIChhZGF0YS0+dXNlcik7CistICAgICAgICB9CistICAgICAgICBnX29iamVjdF91bnJlZiAoYWRhdGEtPmNsaWVudCk7CistICAgICAgICBnX29iamVjdF91bnJlZiAoYWRhdGEtPm1hbmFnZXIpOworLQorLSAgICAgICAgZ19mcmVlIChhZGF0YSk7CistfQorLQorLQorLS8qCistICogZ25vbWUtcGFuZWwvYXBwbGV0cy93bmNrbGV0L3dpbmRvdy1tZW51LmM6d2luZG93X21lbnVfb25fZXhwb3NlKCkKKy0gKgorLSAqIENvcHlyaWdodCAoQykgMjAwMyBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuCistICogQ29weXJpZ2h0IChDKSAyMDAxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLSAqIENvcHlyaWdodCAoQykgMjAwMCBIZWxpeCBDb2RlLCBJbmMuCistICovCistc3RhdGljIGdib29sZWFuCistbWVudWJhcl9leHBvc2VfZXZlbnRfY2IgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgIEdka0V2ZW50RXhwb3NlICpldmVudCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAgKmFkYXRhKQorLXsKKy0gICAgICAgIGlmIChndGtfd2lkZ2V0X2hhc19mb2N1cyAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpKQorLSAgICAgICAgICAgICAgICBndGtfcGFpbnRfZm9jdXMgKGd0a193aWRnZXRfZ2V0X3N0eWxlICh3aWRnZXQpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd0a193aWRnZXRfZ2V0X3dpbmRvdyAod2lkZ2V0KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X2dldF9zdGF0ZSAod2lkZ2V0KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCB3aWRnZXQsICJtZW51LWFwcGxldCIsIDAsIDAsIC0xLCAtMSk7CistCistICAgICAgICByZXR1cm4gRkFMU0U7CistfQorLQorLXN0YXRpYyB2b2lkCistbWVudV9zdHlsZV9zZXRfY2IgKEd0a1dpZGdldCAgICAgKm1lbnUsCistICAgICAgICAgICAgICAgICAgIEd0a1N0eWxlICAgICAgKm9sZF9zdHlsZSwKKy0gICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgR3RrU2V0dGluZ3MgKnNldHRpbmdzOworLSAgICAgICAgaW50ICAgICAgICAgIHdpZHRoOworLSAgICAgICAgaW50ICAgICAgICAgIGhlaWdodDsKKy0KKy0gICAgICAgIGFkYXRhLT5pY29uX3NpemUgPSBndGtfaWNvbl9zaXplX2Zyb21fbmFtZSAoInBhbmVsLW1lbnUiKTsKKy0KKy0gICAgICAgIGlmIChhZGF0YS0+aWNvbl9zaXplID09IEdUS19JQ09OX1NJWkVfSU5WQUxJRCkgeworLSAgICAgICAgICAgICAgICBhZGF0YS0+aWNvbl9zaXplID0gZ3RrX2ljb25fc2l6ZV9yZWdpc3RlciAoInBhbmVsLW1lbnUiLCAyNCwgMjQpOworLSAgICAgICAgfQorLQorLSAgICAgICAgaWYgKGd0a193aWRnZXRfaGFzX3NjcmVlbiAobWVudSkpIHsKKy0gICAgICAgICAgICAgICAgc2V0dGluZ3MgPSBndGtfc2V0dGluZ3NfZ2V0X2Zvcl9zY3JlZW4gKGd0a193aWRnZXRfZ2V0X3NjcmVlbiAobWVudSkpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgc2V0dGluZ3MgPSBndGtfc2V0dGluZ3NfZ2V0X2RlZmF1bHQgKCk7CistICAgICAgICB9CistCistICAgICAgICBpZiAoIWd0a19pY29uX3NpemVfbG9va3VwX2Zvcl9zZXR0aW5ncyAoc2V0dGluZ3MsIGFkYXRhLT5pY29uX3NpemUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJndpZHRoLCAmaGVpZ2h0KSkgeworLSAgICAgICAgICAgICAgICBhZGF0YS0+cGl4ZWxfc2l6ZSA9IC0xOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgYWRhdGEtPnBpeGVsX3NpemUgPSBNQVggKHdpZHRoLCBoZWlnaHQpOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLW1lbnVpdGVtX3N0eWxlX3NldF9jYiAoR3RrV2lkZ2V0ICAgICAqbWVudWl0ZW0sCistICAgICAgICAgICAgICAgICAgICAgICBHdGtTdHlsZSAgICAgICpvbGRfc3R5bGUsCistICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHdGtXaWRnZXQgKmltYWdlOworLQorLSAgICAgICAgaWYgKEdETV9JU19FTlRSWV9NRU5VX0lURU0gKG1lbnVpdGVtKSkgeworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaWNvbl9uYW1lOworLQorLSAgICAgICAgICAgICAgICBpZiAobWVudWl0ZW0gPT0gYWRhdGEtPmxvZ2luX3NjcmVlbl9pdGVtKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgaWNvbl9uYW1lID0gInN5c3RlbS11c2VycyI7CistICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobWVudWl0ZW0gPT0gYWRhdGEtPmxvY2tfc2NyZWVuX2l0ZW0pIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBpY29uX25hbWUgPSAic3lzdGVtLWxvY2stc2NyZWVuIjsKKy0gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtZW51aXRlbSA9PSBhZGF0YS0+cXVpdF9zZXNzaW9uX2l0ZW0pIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBpY29uX25hbWUgPSAic3lzdGVtLWxvZy1vdXQiOworLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1lbnVpdGVtID09IGFkYXRhLT5hY2NvdW50X2l0ZW0pIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBpY29uX25hbWUgPSAidXNlci1pbmZvIjsKKy0gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtZW51aXRlbSA9PSBhZGF0YS0+Y29udHJvbF9wYW5lbF9pdGVtKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgaWNvbl9uYW1lID0gInByZWZlcmVuY2VzLWRlc2t0b3AiOworLSAgICAgICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGljb25fbmFtZSA9IEdUS19TVE9DS19NSVNTSU5HX0lNQUdFOworLSAgICAgICAgICAgICAgICB9CistCistICAgICAgICAgICAgICAgIGltYWdlID0gZ3RrX2ltYWdlX21lbnVfaXRlbV9nZXRfaW1hZ2UgKEdUS19JTUFHRV9NRU5VX0lURU0gKG1lbnVpdGVtKSk7CistICAgICAgICAgICAgICAgIGd0a19pbWFnZV9zZXRfcGl4ZWxfc2l6ZSAoR1RLX0lNQUdFIChpbWFnZSksIGFkYXRhLT5waXhlbF9zaXplKTsKKy0gICAgICAgICAgICAgICAgZ3RrX2ltYWdlX3NldF9mcm9tX2ljb25fbmFtZSAoR1RLX0lNQUdFIChpbWFnZSksIGljb25fbmFtZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRhdGEtPmljb25fc2l6ZSk7CistICAgICAgICB9CistfQorLQorLXN0YXRpYyB2b2lkCistb25fdXNlcl9jaGFuZ2VkIChHZG1Vc2VyICAgICAgICAgKnVzZXIsCistICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICAgKmFkYXRhKQorLXsKKy0gICAgICAgIGdfZGVidWcgKCJ1c2VyIGNoYW5nZWQiKTsKKy0gICAgICAgIHVwZGF0ZV9sYWJlbCAoYWRhdGEpOworLSAgICAgICAgcmVzZXRfaWNvbiAoYWRhdGEpOworLX0KKy0KKy0vKiBDYWxsZWQgZXZlcnkgdGltZSB0aGUgbWVudSBpcyBkaXNwbGF5ZWQgKGFuZCBhbHNvIGZvciBzb21lIHJlYXNvbgorLSAqIGltbWVkaWF0ZWx5IGl0J3MgY3JlYXRlZCwgd2hpY2ggZG9lcyBubyBoYXJtKS4gQWxsIHdlIGhhdmUgdG8gZG8KKy0gKiBoZXJlIGlzIGtpY2sgb2ZmIGEgcmVxdWVzdCB0byBHRE0gdG8gbGV0IHVzIGtub3cgd2hpY2ggdXNlcnMgYXJlCistICogbG9nZ2VkIGluLCBzbyB3ZSBjYW4gZGlzcGxheSBjaGVjayBtYXJrcyBuZXh0IHRvIHRoZWlyIG5hbWVzLgorLSAqLworLXN0YXRpYyBnYm9vbGVhbgorLW1lbnVfZXhwb3NlX2NiIChHdGtXaWRnZXQgKm1lbnUsCistICAgICAgICAgICAgICAgIGdwb2ludGVyICAgZGF0YSkKKy17CistICAgICAgICBjaGFyICpwcm9ncmFtOworLSAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEgPSBkYXRhOworLQorLSAgICAgICAgcHJvZ3JhbSA9IGdfZmluZF9wcm9ncmFtX2luX3BhdGggKCJnbm9tZS1jb250cm9sLWNlbnRlciIpOworLSAgICAgICAgaWYgKHByb2dyYW0gIT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGFkYXRhLT5jb250cm9sX3BhbmVsX2l0ZW0pOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9oaWRlIChhZGF0YS0+Y29udHJvbF9wYW5lbF9pdGVtKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGdfZnJlZSAocHJvZ3JhbSk7CistICAgICAgICByZXR1cm4gRkFMU0U7CistfQorLQorLXN0YXRpYyB2b2lkCistbWF5YmVfbG9ja19zY3JlZW4gKEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgIGNoYXIgICAgICAqYXJnc1szXTsKKy0gICAgICAgIEdFcnJvciAgICAqZXJyOworLSAgICAgICAgR2RrU2NyZWVuICpzY3JlZW47CistICAgICAgICBnYm9vbGVhbiAgIHVzZV9nc2NyZWVuc2F2ZXIgPSBUUlVFOworLSAgICAgICAgZ2Jvb2xlYW4gICByZXM7CistCistICAgICAgICBnX2RlYnVnICgiQXR0ZW1wdGluZyB0byBsb2NrIHNjcmVlbiIpOworLQorLSAgICAgICAgYXJnc1swXSA9IGdfZmluZF9wcm9ncmFtX2luX3BhdGggKCJnbm9tZS1zY3JlZW5zYXZlci1jb21tYW5kIik7CistICAgICAgICBpZiAoYXJnc1swXSA9PSBOVUxMKSB7CistICAgICAgICAgICAgICAgIGFyZ3NbMF0gPSBnX2ZpbmRfcHJvZ3JhbV9pbl9wYXRoICgieHNjcmVlbnNhdmVyLWNvbW1hbmQiKTsKKy0gICAgICAgICAgICAgICAgdXNlX2dzY3JlZW5zYXZlciA9IEZBTFNFOworLSAgICAgICAgfQorLQorLSAgICAgICAgaWYgKGFyZ3NbMF0gPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICByZXR1cm47CistICAgICAgICB9CistCistICAgICAgICBpZiAodXNlX2dzY3JlZW5zYXZlcikgeworLSAgICAgICAgICAgICAgICBhcmdzWzFdID0gIi0tbG9jayI7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBhcmdzWzFdID0gIi1sb2NrIjsKKy0gICAgICAgIH0KKy0gICAgICAgIGFyZ3NbMl0gPSBOVUxMOworLQorLSAgICAgICAgaWYgKGd0a193aWRnZXRfaGFzX3NjcmVlbiAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpKSB7CistICAgICAgICAgICAgICAgIHNjcmVlbiA9IGd0a193aWRnZXRfZ2V0X3NjcmVlbiAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgc2NyZWVuID0gZ2RrX3NjcmVlbl9nZXRfZGVmYXVsdCAoKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGVyciA9IE5VTEw7CistICAgICAgICByZXMgPSBnZGtfc3Bhd25fb25fc2NyZWVuIChzY3JlZW4sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX2dldF9ob21lX2RpciAoKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZlcnIpOworLSAgICAgICAgaWYgKCEgcmVzKSB7CistICAgICAgICAgICAgICAgIGdfd2FybmluZyAoXygiQ2FuJ3QgbG9jayBzY3JlZW46ICVzIiksIGVyci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgIGdfZXJyb3JfZnJlZSAoZXJyKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGlmICh1c2VfZ3NjcmVlbnNhdmVyKSB7CistICAgICAgICAgICAgICAgIGFyZ3NbMV0gPSAiLS10aHJvdHRsZSI7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBhcmdzWzFdID0gIi10aHJvdHRsZSI7CistICAgICAgICB9CistCistICAgICAgICBlcnIgPSBOVUxMOworLSAgICAgICAgcmVzID0gZ2RrX3NwYXduX29uX3NjcmVlbiAoc2NyZWVuLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19nZXRfaG9tZV9kaXIgKCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChHX1NQQVdOX1NUREVSUl9UT19ERVZfTlVMTAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBHX1NQQVdOX1NURE9VVF9UT19ERVZfTlVMTCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyKTsKKy0gICAgICAgIGlmICghIHJlcykgeworLSAgICAgICAgICAgICAgICBnX3dhcm5pbmcgKF8oIkNhbid0IHRlbXBvcmFyaWx5IHNldCBzY3JlZW5zYXZlciB0byBibGFuayBzY3JlZW46ICVzIiksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyLT5tZXNzYWdlKTsKKy0gICAgICAgICAgICAgICAgZ19lcnJvcl9mcmVlIChlcnIpOworLSAgICAgICAgfQorLQorLSAgICAgICAgZ19mcmVlIChhcmdzWzBdKTsKKy19CistCistc3RhdGljIHZvaWQKKy1kb19zd2l0Y2ggKEdkbUFwcGxldERhdGEgKmFkYXRhLAorLSAgICAgICAgICAgR2RtVXNlciAgICAgICAqdXNlcikKKy17CistICAgICAgICBndWludCBudW1fc2Vzc2lvbnM7CistCistICAgICAgICBnX2RlYnVnICgiRG8gdXNlciBzd2l0Y2giKTsKKy0KKy0gICAgICAgIGlmICh1c2VyID09IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgZ2RtX3VzZXJfbWFuYWdlcl9nb3RvX2xvZ2luX3Nlc3Npb24gKGFkYXRhLT5tYW5hZ2VyKTsKKy0gICAgICAgICAgICAgICAgZ290byBvdXQ7CistICAgICAgICB9CistCistICAgICAgICBudW1fc2Vzc2lvbnMgPSBnZG1fdXNlcl9nZXRfbnVtX3Nlc3Npb25zICh1c2VyKTsKKy0gICAgICAgIGlmIChudW1fc2Vzc2lvbnMgPiAwKSB7CistICAgICAgICAgICAgICAgIGdkbV91c2VyX21hbmFnZXJfYWN0aXZhdGVfdXNlcl9zZXNzaW9uIChhZGF0YS0+bWFuYWdlciwgdXNlcik7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBnZG1fdXNlcl9tYW5hZ2VyX2dvdG9fbG9naW5fc2Vzc2lvbiAoYWRhdGEtPm1hbmFnZXIpOworLSAgICAgICAgfQorLSBvdXQ6CistICAgICAgICBtYXliZV9sb2NrX3NjcmVlbiAoYWRhdGEpOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLXVwZGF0ZV9zd2l0Y2hfdXNlciAoR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgZ2Jvb2xlYW4gY2FuX3N3aXRjaDsKKy0gICAgICAgIGdib29sZWFuIGhhc19vdGhlcl91c2VyczsKKy0KKy0gICAgICAgIGNhbl9zd2l0Y2ggPSBnZG1fdXNlcl9tYW5hZ2VyX2Nhbl9zd2l0Y2ggKGFkYXRhLT5tYW5hZ2VyKTsKKy0gICAgICAgIGdfb2JqZWN0X2dldCAoYWRhdGEtPm1hbmFnZXIsCistICAgICAgICAgICAgICAgICAgICAgICJoYXMtbXVsdGlwbGUtdXNlcnMiLCAmaGFzX290aGVyX3VzZXJzLAorLSAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0KKy0gICAgICAgIGlmIChjYW5fc3dpdGNoICYmIGhhc19vdGhlcl91c2VycykgeworLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGFkYXRhLT5sb2dpbl9zY3JlZW5faXRlbSk7CistICAgICAgICB9IGVsc2UgeworLQorLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X2hpZGUgKGFkYXRhLT5sb2dpbl9zY3JlZW5faXRlbSk7CistICAgICAgICB9CistfQorLQorLXN0YXRpYyB2b2lkCistb25fbWFuYWdlcl9pc19sb2FkZWRfY2hhbmdlZCAoR2RtVXNlck1hbmFnZXIgKm1hbmFnZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BhcmFtU3BlYyAgICAgKnBzcGVjLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdkbUFwcGxldERhdGEgICphZGF0YSkKKy17CistICAgICAgICB1cGRhdGVfc3dpdGNoX3VzZXIgKGFkYXRhKTsKKy19CistCistc3RhdGljIHZvaWQKKy1vbl9tYW5hZ2VyX2hhc19tdWx0aXBsZV91c2Vyc19jaGFuZ2VkIChHZG1Vc2VyTWFuYWdlciAgICAgICAqbWFuYWdlciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUGFyYW1TcGVjICAgICAgICAgICAqcHNwZWMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAgICAgICAgKmFkYXRhKQorLXsKKy0gICAgICAgIHVwZGF0ZV9zd2l0Y2hfdXNlciAoYWRhdGEpOworLX0KKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy1zdGF0aWMgdm9pZAorLW9uX3VzZXJfaXRlbV9hY3RpdmF0ZSAoR3RrTWVudUl0ZW0gICAqaXRlbSwKKy0gICAgICAgICAgICAgICAgICAgICAgIEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgIGdfc2lnbmFsX3N0b3BfZW1pc3Npb25fYnlfbmFtZSAoaXRlbSwgImFjdGl2YXRlIik7CistfQorLSNlbmRpZgorLQorLXN0YXRpYyB2b2lkCistb25fY29udHJvbF9wYW5lbF9hY3RpdmF0ZSAoR3RrTWVudUl0ZW0gICAqaXRlbSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBjaGFyICAgICAgKmFyZ3NbMl07CistICAgICAgICBHRXJyb3IgICAgKmVycm9yOworLSAgICAgICAgR2RrU2NyZWVuICpzY3JlZW47CistICAgICAgICBnYm9vbGVhbiAgIHJlczsKKy0KKy0gICAgICAgIGFyZ3NbMF0gPSBnX2ZpbmRfcHJvZ3JhbV9pbl9wYXRoICgiZ25vbWUtY29udHJvbC1jZW50ZXIiKTsKKy0gICAgICAgIGlmIChhcmdzWzBdID09IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuOworLSAgICAgICAgfQorLSAgICAgICAgYXJnc1sxXSA9IE5VTEw7CistCistICAgICAgICBpZiAoZ3RrX3dpZGdldF9oYXNfc2NyZWVuIChHVEtfV0lER0VUIChhZGF0YS0+YXBwbGV0KSkpIHsKKy0gICAgICAgICAgICAgICAgc2NyZWVuID0gZ3RrX3dpZGdldF9nZXRfc2NyZWVuIChHVEtfV0lER0VUIChhZGF0YS0+YXBwbGV0KSk7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBzY3JlZW4gPSBnZGtfc2NyZWVuX2dldF9kZWZhdWx0ICgpOworLSAgICAgICAgfQorLQorLSAgICAgICAgZXJyb3IgPSBOVUxMOworLSAgICAgICAgcmVzID0gZ2RrX3NwYXduX29uX3NjcmVlbiAoc2NyZWVuLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19nZXRfaG9tZV9kaXIgKCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3IpOworLSAgICAgICAgaWYgKCEgcmVzKSB7CistICAgICAgICAgICAgICAgIGdfd2FybmluZyAoXygiQ2FuJ3QgbG9jayBzY3JlZW46ICVzIiksIGVycm9yLT5tZXNzYWdlKTsKKy0gICAgICAgICAgICAgICAgZ19lcnJvcl9mcmVlIChlcnJvcik7CistICAgICAgICB9CistCistICAgICAgICBnX2ZyZWUgKGFyZ3NbMF0pOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLW9uX2FjY291bnRfYWN0aXZhdGUgKEd0a01lbnVJdGVtICAgKml0ZW0sCistICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgY2hhciAgICAgICphcmdzWzJdOworLSAgICAgICAgR0Vycm9yICAgICplcnJvcjsKKy0gICAgICAgIEdka1NjcmVlbiAqc2NyZWVuOworLSAgICAgICAgZ2Jvb2xlYW4gICByZXM7CistCistICAgICAgICBhcmdzWzBdID0gZ19maW5kX3Byb2dyYW1faW5fcGF0aCAoImFjY291bnRzLWRpYWxvZyIpOworLSAgICAgICAgaWYgKGFyZ3NbMF0gPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICBhcmdzWzBdID0gZ19maW5kX3Byb2dyYW1faW5fcGF0aCAoImdub21lLWFib3V0LW1lIik7CistICAgICAgICAgICAgICAgIGlmIChhcmdzWzBdID09IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CistICAgICAgICAgICAgICAgIH0KKy0gICAgICAgIH0KKy0gICAgICAgIGFyZ3NbMV0gPSBOVUxMOworLQorLSAgICAgICAgaWYgKGd0a193aWRnZXRfaGFzX3NjcmVlbiAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpKSB7CistICAgICAgICAgICAgICAgIHNjcmVlbiA9IGd0a193aWRnZXRfZ2V0X3NjcmVlbiAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgc2NyZWVuID0gZ2RrX3NjcmVlbl9nZXRfZGVmYXVsdCAoKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGVycm9yID0gTlVMTDsKKy0gICAgICAgIHJlcyA9IGdka19zcGF3bl9vbl9zY3JlZW4gKHNjcmVlbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfZ2V0X2hvbWVfZGlyICgpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yKTsKKy0gICAgICAgIGlmICghIHJlcykgeworLSAgICAgICAgICAgICAgICBnX3dhcm5pbmcgKF8oIkNhbid0IGxvY2sgc2NyZWVuOiAlcyIpLCBlcnJvci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgIGdfZXJyb3JfZnJlZSAoZXJyb3IpOworLSAgICAgICAgfQorLQorLSAgICAgICAgZ19mcmVlIChhcmdzWzBdKTsKKy19CistCistc3RhdGljIHZvaWQKKy1vbl9sb2NrX3NjcmVlbl9hY3RpdmF0ZSAoR3RrTWVudUl0ZW0gICAqaXRlbSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgbWF5YmVfbG9ja19zY3JlZW4gKGFkYXRhKTsKKy19CistCistc3RhdGljIHZvaWQKKy1vbl9sb2dpbl9zY3JlZW5fYWN0aXZhdGUgKEd0a01lbnVJdGVtICAgKml0ZW0sCistICAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHZG1Vc2VyICp1c2VyOworLQorLSAgICAgICAgdXNlciA9IE5VTEw7CistCistICAgICAgICBkb19zd2l0Y2ggKGFkYXRhLCB1c2VyKTsKKy19CistCistc3RhdGljIHZvaWQKKy1vbl9xdWl0X3Nlc3Npb25fYWN0aXZhdGUgKEd0a01lbnVJdGVtICAgKml0ZW0sCistICAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBjaGFyICAgICAgKmFyZ3NbM107CistICAgICAgICBHRXJyb3IgICAgKmVycm9yOworLSAgICAgICAgR2RrU2NyZWVuICpzY3JlZW47CistICAgICAgICBnYm9vbGVhbiAgIHJlczsKKy0KKy0gICAgICAgIGFyZ3NbMF0gPSBnX2ZpbmRfcHJvZ3JhbV9pbl9wYXRoICgiZ25vbWUtc2Vzc2lvbi1zYXZlIik7CistICAgICAgICBpZiAoYXJnc1swXSA9PSBOVUxMKSB7CistICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGFyZ3NbMV0gPSAiLS1sb2dvdXQtZGlhbG9nIjsKKy0gICAgICAgIGFyZ3NbMl0gPSBOVUxMOworLQorLSAgICAgICAgaWYgKGd0a193aWRnZXRfaGFzX3NjcmVlbiAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpKSB7CistICAgICAgICAgICAgICAgIHNjcmVlbiA9IGd0a193aWRnZXRfZ2V0X3NjcmVlbiAoR1RLX1dJREdFVCAoYWRhdGEtPmFwcGxldCkpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgc2NyZWVuID0gZ2RrX3NjcmVlbl9nZXRfZGVmYXVsdCAoKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGVycm9yID0gTlVMTDsKKy0gICAgICAgIHJlcyA9IGdka19zcGF3bl9vbl9zY3JlZW4gKHNjcmVlbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfZ2V0X2hvbWVfZGlyICgpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yKTsKKy0gICAgICAgIGlmICghIHJlcykgeworLSAgICAgICAgICAgICAgICBnX3dhcm5pbmcgKF8oIkNhbid0IGxvZyBvdXQ6ICVzIiksIGVycm9yLT5tZXNzYWdlKTsKKy0gICAgICAgICAgICAgICAgZ19lcnJvcl9mcmVlIChlcnJvcik7CistICAgICAgICB9CistCistICAgICAgICBnX2ZyZWUgKGFyZ3NbMF0pOworLX0KKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy1zdGF0aWMgZ2Jvb2xlYW4KKy1vbl9tZW51X2tleV9wcmVzc19ldmVudCAoR3RrV2lkZ2V0ICAgICAqd2lkZ2V0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICBHZGtFdmVudEtleSAgICpldmVudCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgR3RrV2lkZ2V0ICplbnRyeTsKKy0KKy0gICAgICAgIGVudHJ5ID0gZ2RtX2VudHJ5X21lbnVfaXRlbV9nZXRfZW50cnkgKEdETV9FTlRSWV9NRU5VX0lURU0gKGFkYXRhLT51c2VyX2l0ZW0pKTsKKy0KKy0gICAgICAgIGlmIChHVEtfV0lER0VUX0hBU19GT0NVUyAoZW50cnkpKSB7CistICAgICAgICAgICAgICAgIGd0a193aWRnZXRfZXZlbnQgKGVudHJ5LCAoR2RrRXZlbnQgKilldmVudCk7CistICAgICAgICAgICAgICAgIHJldHVybiBUUlVFOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIEZBTFNFOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLXNhdmVfc3RhdHVzIChHZG1BcHBsZXREYXRhICphZGF0YSwKKy0gICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgc3RhdHVzKQorLXsKKy0gICAgICAgIGlmIChhZGF0YS0+Y3VycmVudF9zdGF0dXMgIT0gc3RhdHVzKSB7CistICAgICAgICAgICAgICAgIEdFcnJvciAqZXJyb3I7CistCistICAgICAgICAgICAgICAgIGFkYXRhLT5jdXJyZW50X3N0YXR1cyA9IHN0YXR1czsKKy0KKy0gICAgICAgICAgICAgICAgZ19kZWJ1ZyAoIlNhdmluZyBzdGF0dXM6ICV1Iiwgc3RhdHVzKTsKKy0gICAgICAgICAgICAgICAgZXJyb3IgPSBOVUxMOworLSAgICAgICAgICAgICAgICBkYnVzX2dfcHJveHlfY2FsbCAoYWRhdGEtPnByZXNlbmNlX3Byb3h5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNldFN0YXR1cyIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3IsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfVUlOVCwgc3RhdHVzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX0lOVkFMSUQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfSU5WQUxJRCk7CistCistICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPSBOVUxMKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgZ193YXJuaW5nICgiQ291bGRuJ3Qgc2F2ZSBwcmVzZW5jZSBzdGF0dXM6ICVzIiwgZXJyb3ItPm1lc3NhZ2UpOworLSAgICAgICAgICAgICAgICAgICAgICAgIGdfZXJyb3JfZnJlZSAoZXJyb3IpOworLSAgICAgICAgICAgICAgICB9CistICAgICAgICB9CistfQorLQorLXN0YXRpYyB2b2lkCistb25fc3RhdHVzX2F2YWlsYWJsZV9hY3RpdmF0ZSAoR3RrV2lkZ2V0ICAgICAqd2lkZ2V0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0KKy0gICAgICAgIGlmIChndGtfY2hlY2tfbWVudV9pdGVtX2dldF9hY3RpdmUgKEdUS19DSEVDS19NRU5VX0lURU0gKHdpZGdldCkpKSB7CistICAgICAgICAgICAgICAgIHNhdmVfc3RhdHVzIChhZGF0YSwgR1NNX1BSRVNFTkNFX1NUQVRVU19BVkFJTEFCTEUpOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLW9uX3N0YXR1c19idXN5X2FjdGl2YXRlIChHdGtXaWRnZXQgICAgICp3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgIEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgICBpZiAoZ3RrX2NoZWNrX21lbnVfaXRlbV9nZXRfYWN0aXZlIChHVEtfQ0hFQ0tfTUVOVV9JVEVNICh3aWRnZXQpKSkgeworLSAgICAgICAgICAgICAgICAgc2F2ZV9zdGF0dXMgKGFkYXRhLCBHU01fUFJFU0VOQ0VfU1RBVFVTX0JVU1kpOworLSAgICAgICAgIH0KKy19CistCistc3RhdGljIHZvaWQKKy1vbl9zdGF0dXNfaW52aXNpYmxlX2FjdGl2YXRlIChHdGtXaWRnZXQgICAgICp3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgIGlmIChndGtfY2hlY2tfbWVudV9pdGVtX2dldF9hY3RpdmUgKEdUS19DSEVDS19NRU5VX0lURU0gKHdpZGdldCkpKSB7CistICAgICAgICAgICAgICAgICBzYXZlX3N0YXR1cyAoYWRhdGEsIEdTTV9QUkVTRU5DRV9TVEFUVVNfSU5WSVNJQkxFKTsKKy0gICAgICAgICB9CistfQorLQorLXN0YXRpYyBzdHJ1Y3QgeworLSAgICAgICAgY2hhciAgICAgICppY29uX25hbWU7CistICAgICAgICBjaGFyICAgICAgKmRpc3BsYXlfbmFtZTsKKy0gICAgICAgIHZvaWQgICAgICAqbWVudV9jYWxsYmFjazsKKy0gICAgICAgIEd0a1dpZGdldCAqd2lkZ2V0OworLX0gc3RhdHVzZXNbXSA9IHsKKy0gICAgICAgIHsgInVzZXItb25saW5lIiwgTl8oIkF2YWlsYWJsZSIpLCBvbl9zdGF0dXNfYXZhaWxhYmxlX2FjdGl2YXRlLCBOVUxMIH0sCistICAgICAgICB7ICJ1c2VyLWludmlzaWJsZSIsIE5fKCJJbnZpc2libGUiKSwgb25fc3RhdHVzX2ludmlzaWJsZV9hY3RpdmF0ZSwgTlVMTCB9LAorLSAgICAgICAgeyAidXNlci1idXN5IiwgTl8oIkJ1c3kiKSwgb25fc3RhdHVzX2J1c3lfYWN0aXZhdGUsIE5VTEwgfSwKKy0gICAgICAgIHsgInVzZXItYXdheSIsIE5fKCJBd2F5IiksIE5VTEwsIE5VTEwgfSwKKy19OworLSNlbmRpZgorLQorLXN0YXRpYyB2b2lkCistdXBkYXRlX2xhYmVsIChHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHdGtXaWRnZXQgKmxhYmVsOworLSAgICAgICAgY2hhciAgICAgICptYXJrdXA7CistCistICAgICAgICBsYWJlbCA9IGd0a19iaW5fZ2V0X2NoaWxkIChHVEtfQklOIChhZGF0YS0+bWVudWl0ZW0pKTsKKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy0gICAgICAgIG1hcmt1cCA9IGdfc3RyZHVwX3ByaW50ZiAoIjxiPiVzPC9iPiA8c21hbGw+KCVzKTwvc21hbGw+IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2RtX3VzZXJfZ2V0X3JlYWxfbmFtZSAoR0RNX1VTRVIgKGFkYXRhLT51c2VyKSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oc3RhdHVzZXNbYWRhdGEtPmN1cnJlbnRfc3RhdHVzXS5kaXNwbGF5X25hbWUpKTsKKy0jZWxzZQorLSAgICAgICAgbWFya3VwID0gZ19zdHJkdXBfcHJpbnRmICgiPGI+JXM8L2I+IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2RtX3VzZXJfZ2V0X3JlYWxfbmFtZSAoR0RNX1VTRVIgKGFkYXRhLT51c2VyKSkpOworLSNlbmRpZgorLSAgICAgICAgZ3RrX2xhYmVsX3NldF9tYXJrdXAgKEdUS19MQUJFTCAobGFiZWwpLCBtYXJrdXApOworLSAgICAgICAgZ19mcmVlIChtYXJrdXApOworLX0KKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy1zdGF0aWMgdm9pZAorLXNhdmVfc3RhdHVzX3RleHQgKEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgIEd0a1dpZGdldCAgICAgKmVudHJ5OworLSAgICAgICAgR3RrVGV4dEJ1ZmZlciAqYnVmZmVyOworLSAgICAgICAgY2hhciAgICAgICAgICAqZXNjYXBlZF90ZXh0OworLSAgICAgICAgY2hhciAgICAgICAgICAqdGV4dDsKKy0gICAgICAgIEd0a1RleHRJdGVyICAgIHN0YXJ0LCBlbmQ7CistCistICAgICAgICBlbnRyeSA9IGdkbV9lbnRyeV9tZW51X2l0ZW1fZ2V0X2VudHJ5IChHRE1fRU5UUllfTUVOVV9JVEVNIChhZGF0YS0+dXNlcl9pdGVtKSk7CistICAgICAgICBidWZmZXIgPSBndGtfdGV4dF92aWV3X2dldF9idWZmZXIgKEdUS19URVhUX1ZJRVcgKGVudHJ5KSk7CistICAgICAgICBndGtfdGV4dF9idWZmZXJfZ2V0X2JvdW5kcyAoYnVmZmVyLCAmc3RhcnQsICZlbmQpOworLSAgICAgICAgdGV4dCA9IGd0a190ZXh0X2J1ZmZlcl9nZXRfdGV4dCAoYnVmZmVyLCAmc3RhcnQsICZlbmQsIEZBTFNFKTsKKy0gICAgICAgIGVzY2FwZWRfdGV4dCA9IGdfbWFya3VwX2VzY2FwZV90ZXh0ICh0ZXh0LCAtMSk7CistCistICAgICAgICBpZiAoZXNjYXBlZF90ZXh0ICE9IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgR0Vycm9yICplcnJvcjsKKy0KKy0gICAgICAgICAgICAgICAgZXJyb3IgPSBOVUxMOworLSAgICAgICAgICAgICAgICBkYnVzX2dfcHJveHlfY2FsbCAoYWRhdGEtPnByZXNlbmNlX3Byb3h5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNldFN0YXR1c1RleHQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklORywgZXNjYXBlZF90ZXh0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX0lOVkFMSUQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfSU5WQUxJRCk7CistCistICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPSBOVUxMKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgZ193YXJuaW5nICgiQ291bGRuJ3Qgc2V0IHByZXNlbmNlIHN0YXR1cyB0ZXh0OiAlcyIsIGVycm9yLT5tZXNzYWdlKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgfQorLQorLSAgICAgICAgZ19mcmVlICh0ZXh0KTsKKy0gICAgICAgIGdfZnJlZSAoZXNjYXBlZF90ZXh0KTsKKy19CistCistc3RhdGljIHZvaWQKKy1vbl91c2VyX2l0ZW1fZGVzZWxlY3QgKEd0a1dpZGdldCAgICAgKml0ZW0sCistICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBzYXZlX3N0YXR1c190ZXh0IChhZGF0YSk7CistfQorLSNlbmRpZgorLQorLXN0YXRpYyB2b2lkCistY3JlYXRlX3N1Yl9tZW51IChHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHdGtXaWRnZXQgKml0ZW07CistI2lmZGVmIEJVSUxEX1BSRVNFTlNFX1NUVUZGCistICAgICAgICBpbnQgICAgICAgIGk7CistICAgICAgICBHU0xpc3QgICAgKnJhZGlvX2dyb3VwOworLSNlbmRpZgorLQorLSAgICAgICAgYWRhdGEtPm1lbnUgPSBndGtfbWVudV9uZXcgKCk7CistI2lmZGVmIEJVSUxEX1BSRVNFTlNFX1NUVUZGCistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+bWVudSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICJrZXktcHJlc3MtZXZlbnQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAob25fbWVudV9rZXlfcHJlc3NfZXZlbnQpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgYWRhdGEpOworLSNlbmRpZgorLSAgICAgICAgZ3RrX21lbnVfaXRlbV9zZXRfc3VibWVudSAoR1RLX01FTlVfSVRFTSAoYWRhdGEtPm1lbnVpdGVtKSwgYWRhdGEtPm1lbnUpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPm1lbnUsICJzdHlsZS1zZXQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAobWVudV9zdHlsZV9zZXRfY2IpLCBhZGF0YSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+bWVudSwgInNob3ciLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAobWVudV9leHBvc2VfY2IpLCBhZGF0YSk7CistCistI2lmZGVmIEJVSUxEX1BSRVNFTlNFX1NUVUZGCistICAgICAgICBhZGF0YS0+dXNlcl9pdGVtID0gZ2RtX2VudHJ5X21lbnVfaXRlbV9uZXcgKCk7CistICAgICAgICBndGtfbWVudV9zaGVsbF9hcHBlbmQgKEdUS19NRU5VX1NIRUxMIChhZGF0YS0+bWVudSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXRhLT51c2VyX2l0ZW0pOworLSAgICAgICAgZ3RrX3dpZGdldF9zaG93IChhZGF0YS0+dXNlcl9pdGVtKTsKKy0gICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QgKGFkYXRhLT51c2VyX2l0ZW0sICJhY3RpdmF0ZSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChvbl91c2VyX2l0ZW1fYWN0aXZhdGUpLCBhZGF0YSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+dXNlcl9pdGVtLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgImRlc2VsZWN0IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX3VzZXJfaXRlbV9kZXNlbGVjdCksCistICAgICAgICAgICAgICAgICAgICAgICAgICBhZGF0YSk7CistCistICAgICAgICBpdGVtID0gZ3RrX3NlcGFyYXRvcl9tZW51X2l0ZW1fbmV3ICgpOworLSAgICAgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kIChHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnUpLCBpdGVtKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoaXRlbSk7CistCistICAgICAgICByYWRpb19ncm91cCA9IE5VTEw7CistICAgICAgICBmb3IgKGkgPSAwOyBpIDwgR19OX0VMRU1FTlRTIChzdGF0dXNlcyk7IGkrKykgeworLSAgICAgICAgICAgICAgICBHdGtXaWRnZXQgKmhib3g7CistICAgICAgICAgICAgICAgIEd0a1dpZGdldCAqbGFiZWw7CistICAgICAgICAgICAgICAgIEd0a1dpZGdldCAqaW1hZ2U7CistICAgICAgICAgICAgICAgIEd0a1dpZGdldCAqaXRlbTsKKy0KKy0gICAgICAgICAgICAgICAgaWYgKHN0YXR1c2VzW2ldLm1lbnVfY2FsbGJhY2sgPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworLSAgICAgICAgICAgICAgICB9CistCistICAgICAgICAgICAgICAgIGl0ZW0gPSBndGtfcmFkaW9fbWVudV9pdGVtX25ldyAocmFkaW9fZ3JvdXApOworLSAgICAgICAgICAgICAgICByYWRpb19ncm91cCA9IGd0a19yYWRpb19tZW51X2l0ZW1fZ2V0X2dyb3VwIChHVEtfUkFESU9fTUVOVV9JVEVNIChpdGVtKSk7CistICAgICAgICAgICAgICAgIGhib3ggPSBndGtfaGJveF9uZXcgKEZBTFNFLCAzKTsKKy0gICAgICAgICAgICAgICAgbGFiZWwgPSBndGtfbGFiZWxfbmV3IChfKHN0YXR1c2VzW2ldLmRpc3BsYXlfbmFtZSkpOworLSAgICAgICAgICAgICAgICBndGtfbGFiZWxfc2V0X2p1c3RpZnkgKEdUS19MQUJFTChsYWJlbCksIEdUS19KVVNUSUZZX0xFRlQpOworLSAgICAgICAgICAgICAgICBndGtfbWlzY19zZXRfYWxpZ25tZW50IChHVEtfTUlTQyAobGFiZWwpLCAwLjAsIDAuNSk7CistICAgICAgICAgICAgICAgIGd0a19ib3hfcGFja19zdGFydCAoR1RLX0JPWCAoaGJveCksIGxhYmVsLCBUUlVFLCBUUlVFLCAwKTsKKy0gICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9zaG93IChsYWJlbCk7CistICAgICAgICAgICAgICAgIGltYWdlID0gZ3RrX2ltYWdlX25ld19mcm9tX2ljb25fbmFtZSAoc3RhdHVzZXNbaV0uaWNvbl9uYW1lLCBHVEtfSUNPTl9TSVpFX01FTlUpOworLSAgICAgICAgICAgICAgICBndGtfYm94X3BhY2tfc3RhcnQgKEdUS19CT1ggKGhib3gpLCBpbWFnZSwgRkFMU0UsIFRSVUUsIDApOworLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGltYWdlKTsKKy0gICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9zaG93IChoYm94KTsKKy0gICAgICAgICAgICAgICAgZ3RrX2NvbnRhaW5lcl9hZGQgKEdUS19DT05UQUlORVIgKGl0ZW0pLCBoYm94KTsKKy0KKy0gICAgICAgICAgICAgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kIChHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0pOworLSAgICAgICAgICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChpdGVtLCAiYWN0aXZhdGUiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChzdGF0dXNlc1tpXS5tZW51X2NhbGxiYWNrKSwgYWRhdGEpOworLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGl0ZW0pOworLQorLSAgICAgICAgICAgICAgICBzdGF0dXNlc1tpXS53aWRnZXQgPSBpdGVtOworLSAgICAgICAgfQorLQorLSAgICAgICAgaXRlbSA9IGd0a19zZXBhcmF0b3JfbWVudV9pdGVtX25ldyAoKTsKKy0gICAgICAgIGd0a19tZW51X3NoZWxsX2FwcGVuZCAoR1RLX01FTlVfU0hFTEwgKGFkYXRhLT5tZW51KSwgaXRlbSk7CistICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGl0ZW0pOworLSNlbmRpZgorLQorLSAgICAgICAgYWRhdGEtPmFjY291bnRfaXRlbSA9IGd0a19pbWFnZV9tZW51X2l0ZW1fbmV3X3dpdGhfbGFiZWwgKF8oIkFjY291bnQgSW5mb3JtYXRpb24iKSk7CistICAgICAgICBndGtfaW1hZ2VfbWVudV9pdGVtX3NldF9pbWFnZSAoR1RLX0lNQUdFX01FTlVfSVRFTSAoYWRhdGEtPmFjY291bnRfaXRlbSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3RrX2ltYWdlX25ldyAoKSk7CistICAgICAgICBndGtfbWVudV9zaGVsbF9hcHBlbmQgKEdUS19NRU5VX1NIRUxMIChhZGF0YS0+bWVudSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXRhLT5hY2NvdW50X2l0ZW0pOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPmFjY291bnRfaXRlbSwgInN0eWxlLXNldCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChtZW51aXRlbV9zdHlsZV9zZXRfY2IpLCBhZGF0YSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+YWNjb3VudF9pdGVtLCAiYWN0aXZhdGUiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAob25fYWNjb3VudF9hY3RpdmF0ZSksIGFkYXRhKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoYWRhdGEtPmFjY291bnRfaXRlbSk7CistCistCistICAgICAgICBhZGF0YS0+Y29udHJvbF9wYW5lbF9pdGVtID0gZ3RrX2ltYWdlX21lbnVfaXRlbV9uZXdfd2l0aF9sYWJlbCAoXygiU3lzdGVtIFByZWZlcmVuY2VzIikpOworLSAgICAgICAgZ3RrX2ltYWdlX21lbnVfaXRlbV9zZXRfaW1hZ2UgKEdUS19JTUFHRV9NRU5VX0lURU0gKGFkYXRhLT5jb250cm9sX3BhbmVsX2l0ZW0pLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd0a19pbWFnZV9uZXcgKCkpOworLSAgICAgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kIChHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGF0YS0+Y29udHJvbF9wYW5lbF9pdGVtKTsKKy0gICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QgKGFkYXRhLT5jb250cm9sX3BhbmVsX2l0ZW0sICJzdHlsZS1zZXQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAobWVudWl0ZW1fc3R5bGVfc2V0X2NiKSwgYWRhdGEpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPmNvbnRyb2xfcGFuZWxfaXRlbSwgImFjdGl2YXRlIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX2NvbnRyb2xfcGFuZWxfYWN0aXZhdGUpLCBhZGF0YSk7CistCistICAgICAgICBpdGVtID0gZ3RrX3NlcGFyYXRvcl9tZW51X2l0ZW1fbmV3ICgpOworLSAgICAgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kIChHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnUpLCBpdGVtKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoaXRlbSk7CistCistICAgICAgICBhZGF0YS0+bG9ja19zY3JlZW5faXRlbSA9IGd0a19pbWFnZV9tZW51X2l0ZW1fbmV3X3dpdGhfbGFiZWwgKF8oIkxvY2sgU2NyZWVuIikpOworLSAgICAgICAgZ3RrX2ltYWdlX21lbnVfaXRlbV9zZXRfaW1hZ2UgKEdUS19JTUFHRV9NRU5VX0lURU0gKGFkYXRhLT5sb2NrX3NjcmVlbl9pdGVtKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndGtfaW1hZ2VfbmV3ICgpKTsKKy0gICAgICAgIGd0a19tZW51X3NoZWxsX2FwcGVuZCAoR1RLX01FTlVfU0hFTEwgKGFkYXRhLT5tZW51KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRhdGEtPmxvY2tfc2NyZWVuX2l0ZW0pOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPmxvY2tfc2NyZWVuX2l0ZW0sICJzdHlsZS1zZXQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAobWVudWl0ZW1fc3R5bGVfc2V0X2NiKSwgYWRhdGEpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPmxvY2tfc2NyZWVuX2l0ZW0sICJhY3RpdmF0ZSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChvbl9sb2NrX3NjcmVlbl9hY3RpdmF0ZSksIGFkYXRhKTsKKy0gICAgICAgIC8qIE9ubHkgc2hvdyBpZiBub3QgbG9ja2VkIGRvd24gKi8KKy0KKy0gICAgICAgIGFkYXRhLT5sb2dpbl9zY3JlZW5faXRlbSA9IGd0a19pbWFnZV9tZW51X2l0ZW1fbmV3X3dpdGhfbGFiZWwgKF8oIlN3aXRjaCBVc2VyIikpOworLSAgICAgICAgZ3RrX2ltYWdlX21lbnVfaXRlbV9zZXRfaW1hZ2UgKEdUS19JTUFHRV9NRU5VX0lURU0gKGFkYXRhLT5sb2dpbl9zY3JlZW5faXRlbSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3RrX2ltYWdlX25ldyAoKSk7CistICAgICAgICBndGtfbWVudV9zaGVsbF9hcHBlbmQgKEdUS19NRU5VX1NIRUxMIChhZGF0YS0+bWVudSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXRhLT5sb2dpbl9zY3JlZW5faXRlbSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+bG9naW5fc2NyZWVuX2l0ZW0sICJzdHlsZS1zZXQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAobWVudWl0ZW1fc3R5bGVfc2V0X2NiKSwgYWRhdGEpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPmxvZ2luX3NjcmVlbl9pdGVtLCAiYWN0aXZhdGUiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAob25fbG9naW5fc2NyZWVuX2FjdGl2YXRlKSwgYWRhdGEpOworLSAgICAgICAgLyogT25seSBzaG93IHN3aXRjaCB1c2VyIGlmIHRoZXJlIGFyZSBvdGhlciB1c2VycyAqLworLQorLSAgICAgICAgYWRhdGEtPnF1aXRfc2Vzc2lvbl9pdGVtID0gZ3RrX2ltYWdlX21lbnVfaXRlbV9uZXdfd2l0aF9sYWJlbCAoXygiUXVpdOKApiIpKTsKKy0gICAgICAgIGd0a19pbWFnZV9tZW51X2l0ZW1fc2V0X2ltYWdlIChHVEtfSU1BR0VfTUVOVV9JVEVNIChhZGF0YS0+cXVpdF9zZXNzaW9uX2l0ZW0pLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd0a19pbWFnZV9uZXcgKCkpOworLSAgICAgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kIChHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGF0YS0+cXVpdF9zZXNzaW9uX2l0ZW0pOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYWRhdGEtPnF1aXRfc2Vzc2lvbl9pdGVtLCAic3R5bGUtc2V0IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG1lbnVpdGVtX3N0eWxlX3NldF9jYiksIGFkYXRhKTsKKy0gICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QgKGFkYXRhLT5xdWl0X3Nlc3Npb25faXRlbSwgImFjdGl2YXRlIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX3F1aXRfc2Vzc2lvbl9hY3RpdmF0ZSksIGFkYXRhKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoYWRhdGEtPnF1aXRfc2Vzc2lvbl9pdGVtKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoYWRhdGEtPm1lbnUpOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLWRlc3Ryb3lfc3ViX21lbnUgKEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgIGd0a19tZW51X2l0ZW1fc2V0X3N1Ym1lbnUgKEdUS19NRU5VX0lURU0gKGFkYXRhLT5tZW51aXRlbSksIE5VTEwpOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLXNldF9tZW51X3Zpc2liaWxpdHkgKEdkbUFwcGxldERhdGEgKmFkYXRhLAorLSAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgIHZpc2libGUpCisteworLQorLSAgICAgICAgaWYgKHZpc2libGUpIHsKKy0gICAgICAgICAgICAgICAgY3JlYXRlX3N1Yl9tZW51IChhZGF0YSk7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBkZXN0cm95X3N1Yl9tZW51IChhZGF0YSk7CistICAgICAgICB9CistfQorLQorLXN0YXRpYyB2b2lkCistY2xpZW50X25vdGlmeV9sb2NrZG93bl9mdW5jIChHQ29uZkNsaWVudCAgICpjbGllbnQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAgICAgICBjbnhuX2lkLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0NvbmZFbnRyeSAgICAqZW50cnksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBHQ29uZlZhbHVlICp2YWx1ZTsKKy0gICAgICAgIGNvbnN0IGNoYXIgKmtleTsKKy0KKy0gICAgICAgIHZhbHVlID0gZ2NvbmZfZW50cnlfZ2V0X3ZhbHVlIChlbnRyeSk7CistICAgICAgICBrZXkgPSBnY29uZl9lbnRyeV9nZXRfa2V5IChlbnRyeSk7CistCistICAgICAgICBpZiAodmFsdWUgPT0gTlVMTCB8fCBrZXkgPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICByZXR1cm47CistICAgICAgICB9CistCistICAgICAgICBpZiAoc3RyY21wIChrZXksIExPQ0tET1dOX1VTRVJfU1dJVENISU5HX0tFWSkgPT0gMCkgeworLSAgICAgICAgICAgICAgICBpZiAoZ2NvbmZfdmFsdWVfZ2V0X2Jvb2wgKHZhbHVlKSkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIHNldF9tZW51X3Zpc2liaWxpdHkgKGFkYXRhLCBGQUxTRSk7CistICAgICAgICAgICAgICAgIH0gZWxzZSB7CistICAgICAgICAgICAgICAgICAgICAgICAgc2V0X21lbnVfdmlzaWJpbGl0eSAoYWRhdGEsIFRSVUUpOworLSAgICAgICAgICAgICAgICB9CistICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcCAoa2V5LCBMT0NLRE9XTl9MT0NLX1NDUkVFTl9LRVkpID09IDApIHsKKy0gICAgICAgICAgICAgICAgaWYgKGdjb25mX3ZhbHVlX2dldF9ib29sICh2YWx1ZSkpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X2hpZGUgKGFkYXRhLT5sb2NrX3NjcmVlbl9pdGVtKTsKKy0gICAgICAgICAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGFkYXRhLT5sb2NrX3NjcmVlbl9pdGVtKTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLXJlc2V0X2ljb24gKEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgIEdka1BpeGJ1ZiAqcGl4YnVmOworLSAgICAgICAgR3RrV2lkZ2V0ICppbWFnZTsKKy0KKy0gICAgICAgIGlmIChhZGF0YS0+dXNlciA9PSBOVUxMIHx8ICFndGtfd2lkZ2V0X2hhc19zY3JlZW4gKEdUS19XSURHRVQgKGFkYXRhLT5tZW51aXRlbSkpKSB7CistICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy0gICAgICAgIGlmIChhZGF0YS0+dXNlcl9pdGVtICE9IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgaW1hZ2UgPSBnZG1fZW50cnlfbWVudV9pdGVtX2dldF9pbWFnZSAoR0RNX0VOVFJZX01FTlVfSVRFTSAoYWRhdGEtPnVzZXJfaXRlbSkpOworLSAgICAgICAgICAgICAgICBwaXhidWYgPSBnZG1fdXNlcl9yZW5kZXJfaWNvbiAoYWRhdGEtPnVzZXIsIGFkYXRhLT5wYW5lbF9zaXplICogMyk7CistICAgICAgICAgICAgICAgIGlmIChwaXhidWYgPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICBndGtfaW1hZ2Vfc2V0X2Zyb21fcGl4YnVmIChHVEtfSU1BR0UgKGltYWdlKSwgcGl4YnVmKTsKKy0gICAgICAgICAgICAgICAgZ19vYmplY3RfdW5yZWYgKHBpeGJ1Zik7CistICAgICAgICB9CistI2Vsc2UKKy0gICAgICAgIHBpeGJ1ZiA9IGdkbV91c2VyX3JlbmRlcl9pY29uIChhZGF0YS0+dXNlciwgYWRhdGEtPnBhbmVsX3NpemUpOworLQorLSAgICAgICAgaWYgKHBpeGJ1ZiA9PSBOVUxMKSB7CistICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGltYWdlID0gZ3RrX2ltYWdlX21lbnVfaXRlbV9nZXRfaW1hZ2UgKEdUS19JTUFHRV9NRU5VX0lURU0gKGFkYXRhLT5tZW51aXRlbSkpOworLSAgICAgICAgZ3RrX2ltYWdlX3NldF9mcm9tX3BpeGJ1ZiAoR1RLX0lNQUdFIChpbWFnZSksIHBpeGJ1Zik7CistICAgICAgICBnX29iamVjdF91bnJlZiAocGl4YnVmKTsKKy0jZW5kaWYKKy19CistCistc3RhdGljIHZvaWQKKy1zZXR1cF9jdXJyZW50X3VzZXJfbm93IChHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBnX2Fzc2VydCAoYWRhdGEtPnVzZXIgIT0gTlVMTCk7CistCistICAgICAgICBpZiAoYWRhdGEtPnVzZXJfbG9hZGVkX25vdGlmeV9pZCAhPSAwKSB7CistICAgICAgICAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJfZGlzY29ubmVjdCAoYWRhdGEtPnVzZXIsIGFkYXRhLT51c2VyX2xvYWRlZF9ub3RpZnlfaWQpOworLSAgICAgICAgfQorLSAgICAgICAgYWRhdGEtPnVzZXJfbG9hZGVkX25vdGlmeV9pZCA9IDA7CistCistICAgICAgICB1cGRhdGVfbGFiZWwgKGFkYXRhKTsKKy0gICAgICAgIHJlc2V0X2ljb24gKGFkYXRhKTsKKy0gICAgICAgIGFkYXRhLT51c2VyX2NoYW5nZWRfbm90aWZ5X2lkID0KKy0gICAgICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+dXNlciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhbmdlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAob25fdXNlcl9jaGFuZ2VkKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGF0YSk7CistfQorLQorLXN0YXRpYyB2b2lkCistb25fY3VycmVudF91c2VyX2xvYWRlZCAoR2RtVXNlciAgICAgICAqdXNlciwKKy0gICAgICAgICAgICAgICAgICAgICAgICBHUGFyYW1TcGVjICAgICpwc3BlYywKKy0gICAgICAgICAgICAgICAgICAgICAgICBHZG1BcHBsZXREYXRhICphZGF0YSkKKy17CistICAgICAgICBpZiAoIWdkbV91c2VyX2lzX2xvYWRlZCAodXNlcikpIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuOworLSAgICAgICAgfQorLQorLSAgICAgICAgc2V0dXBfY3VycmVudF91c2VyX25vdyAoYWRhdGEpOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLXNldHVwX2N1cnJlbnRfdXNlciAoR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgYWRhdGEtPnVzZXIgPSBnZG1fdXNlcl9tYW5hZ2VyX2dldF91c2VyX2J5X3VpZCAoYWRhdGEtPm1hbmFnZXIsIGdldHVpZCAoKSk7CistCistICAgICAgICBpZiAoYWRhdGEtPnVzZXIgPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICBnX3dhcm5pbmcgKCJDb3VsZCBub3Qgc2V0dXAgY3VycmVudCB1c2VyIik7CistICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGdfb2JqZWN0X3JlZiAoYWRhdGEtPnVzZXIpOworLQorLSAgICAgICAgYWRhdGEtPm1lbnVpdGVtID0gZ3RrX2ltYWdlX21lbnVfaXRlbV9uZXdfd2l0aF9sYWJlbCAoIiIpOworLSNpZm5kZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy0gICAgICAgIGd0a19pbWFnZV9tZW51X2l0ZW1fc2V0X2ltYWdlIChHVEtfSU1BR0VfTUVOVV9JVEVNIChhZGF0YS0+bWVudWl0ZW0pLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd0a19pbWFnZV9uZXcgKCkpOworLSNlbmRpZgorLSAgICAgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kIChHVEtfTUVOVV9TSEVMTCAoYWRhdGEtPm1lbnViYXIpLCBhZGF0YS0+bWVudWl0ZW0pOworLSAgICAgICAgZ3RrX3dpZGdldF9zaG93IChhZGF0YS0+bWVudWl0ZW0pOworLQorLSAgICAgICAgaWYgKGdkbV91c2VyX2lzX2xvYWRlZCAoYWRhdGEtPnVzZXIpKSB7CistICAgICAgICAgICAgICAgIHNldHVwX2N1cnJlbnRfdXNlcl9ub3cgKGFkYXRhKTsKKy0gICAgICAgICAgICAgICAgcmV0dXJuOworLSAgICAgICAgfQorLQorLSAgICAgICAgYWRhdGEtPnVzZXJfbG9hZGVkX25vdGlmeV9pZCA9IGdfc2lnbmFsX2Nvbm5lY3QgKGFkYXRhLT51c2VyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub3RpZnk6OmlzLWxvYWRlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAob25fY3VycmVudF91c2VyX2xvYWRlZCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRhdGEpOworLX0KKy0KKy0jaWZkZWYgQlVJTERfUFJFU0VOU0VfU1RVRkYKKy1zdGF0aWMgdm9pZAorLXNldF9zdGF0dXMgKEdkbUFwcGxldERhdGEgKmFkYXRhLAorLSAgICAgICAgICAgIGd1aW50IHN0YXR1cykKKy17CistICAgICAgICBpbnQgaTsKKy0KKy0gICAgICAgIGdfZGVidWcgKCJTZXR0aW5nIGN1cnJlbnQgc3RhdHVzOiAldSIsIHN0YXR1cyk7CistICAgICAgICBhZGF0YS0+Y3VycmVudF9zdGF0dXMgPSBzdGF0dXM7CistICAgICAgICBmb3IgKGkgPSAwOyBpIDwgR19OX0VMRU1FTlRTIChzdGF0dXNlcyk7IGkrKykgeworLSAgICAgICAgICAgICAgICBpZiAoc3RhdHVzZXNbaV0ud2lkZ2V0ID09IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICBpZiAoaSA9PSBzdGF0dXMpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBndGtfY2hlY2tfbWVudV9pdGVtX3NldF9hY3RpdmUgKEdUS19DSEVDS19NRU5VX0lURU0gKHN0YXR1c2VzW2ldLndpZGdldCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFKTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgfQorLQorLSAgICAgICAgdXBkYXRlX2xhYmVsIChhZGF0YSk7CistfQorLQorLXN0YXRpYyB2b2lkCistb25fcHJlc2VuY2Vfc3RhdHVzX2NoYW5nZWQgKERCdXNHUHJveHkgICAgKnByZXNlbmNlX3Byb3h5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAgICAgICBzdGF0dXMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdkbUFwcGxldERhdGEgKmFkYXRhKQorLXsKKy0gICAgICAgIGdfZGVidWcgKCJTdGF0dXMgY2hhbmdlZDogJXUiLCBzdGF0dXMpOworLQorLSAgICAgICAgc2V0X3N0YXR1cyAoYWRhdGEsIHN0YXR1cyk7CistfQorLQorLXN0YXRpYyB2b2lkCistc2V0X3N0YXR1c190ZXh0IChHZG1BcHBsZXREYXRhICphZGF0YSwKKy0gICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgICAgKnN0YXR1c190ZXh0KQorLXsKKy0gICAgICAgIEd0a1dpZGdldCAgICAgKmVudHJ5OworLSAgICAgICAgR3RrVGV4dEJ1ZmZlciAqYnVmZmVyOworLQorLSAgICAgICAgZ19kZWJ1ZyAoIlN0YXR1cyB0ZXh0IGNoYW5nZWQ6ICVzIiwgc3RhdHVzX3RleHQpOworLQorLSAgICAgICAgZW50cnkgPSBnZG1fZW50cnlfbWVudV9pdGVtX2dldF9lbnRyeSAoR0RNX0VOVFJZX01FTlVfSVRFTSAoYWRhdGEtPnVzZXJfaXRlbSkpOworLSAgICAgICAgYnVmZmVyID0gZ3RrX3RleHRfdmlld19nZXRfYnVmZmVyIChHVEtfVEVYVF9WSUVXIChlbnRyeSkpOworLSAgICAgICAgZ3RrX3RleHRfYnVmZmVyX3NldF90ZXh0IChidWZmZXIsIHN0YXR1c190ZXh0LCAtMSk7CistfQorLQorLXN0YXRpYyB2b2lkCistb25fcHJlc2VuY2Vfc3RhdHVzX3RleHRfY2hhbmdlZCAoREJ1c0dQcm94eSAgICAqcHJlc2VuY2VfcHJveHksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAgICAqc3RhdHVzX3RleHQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RtQXBwbGV0RGF0YSAqYWRhdGEpCisteworLSAgICAgICAgc2V0X3N0YXR1c190ZXh0IChhZGF0YSwgc3RhdHVzX3RleHQpOworLX0KKy0jZW5kaWYKKy0KKy1zdGF0aWMgZ2Jvb2xlYW4KKy1maWxsX2FwcGxldCAoUGFuZWxBcHBsZXQgKmFwcGxldCkKKy17CistICAgICAgICBzdGF0aWMgY29uc3QgQm9ub2JvVUlWZXJiIG1lbnVfdmVyYnNbXSA9IHsKKy0gICAgICAgICAgICAgICAgQk9OT0JPX1VJX1ZFUkIgKCJHZG1BYm91dE1lIiwgYWJvdXRfbWVfY2IpLAorLSAgICAgICAgICAgICAgICBCT05PQk9fVUlfVkVSQiAoIkdkbVVzZXJzR3JvdXBzQWRtaW4iLCBhZG1pbl9jYiksCistICAgICAgICAgICAgICAgIEJPTk9CT19VSV9WRVJCICgiR2RtQWJvdXQiLCBhYm91dF9jYiksCistICAgICAgICAgICAgICAgIEJPTk9CT19VSV9WRVJCX0VORAorLSAgICAgICAgfTsKKy0gICAgICAgIHN0YXRpYyBnYm9vbGVhbiAgICBmaXJzdF90aW1lID0gRkFMU0U7CistICAgICAgICBjaGFyICAgICAgICAgICAgICAqdG1wOworLSAgICAgICAgQm9ub2JvVUlDb21wb25lbnQgKnBvcHVwX2NvbXBvbmVudDsKKy0gICAgICAgIEdkbUFwcGxldERhdGEgICAgICphZGF0YTsKKy0gICAgICAgIEdFcnJvciAgICAgICAgICAgICplcnJvcjsKKy0gICAgICAgIERCdXNHQ29ubmVjdGlvbiAgICpidXM7CistCistICAgICAgICBpZiAoIWZpcnN0X3RpbWUpIHsKKy0gICAgICAgICAgICAgICAgZmlyc3RfdGltZSA9IFRSVUU7CistCistICAgICAgICAgICAgICAgIC8qIERvIHRoaXMgaGVyZSBzbyBpdCdzIG9ubHkgZG9uZSBvbmNlLiAqLworLSAgICAgICAgICAgICAgICBndGtfcmNfcGFyc2Vfc3RyaW5nICgic3R5bGUgXCJnZG0tdXNlci1zd2l0Y2gtbWVudWJhci1zdHlsZVwiXG4iCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ7XG4iCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHdGtNZW51QmFyOjpzaGFkb3ctdHlwZSA9IG5vbmVcbiIKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkd0a01lbnVCYXI6OmludGVybmFsLXBhZGRpbmcgPSAwXG4iCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ9XG4iCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHlsZSBcImdkbS11c2VyLXN3aXRjaC1hcHBsZXQtc3R5bGVcIlxuIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAie1xuIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR3RrV2lkZ2V0Ojpmb2N1cy1saW5lLXdpZHRoID0gMFxuIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR3RrV2lkZ2V0Ojpmb2N1cy1wYWRkaW5nID0gMFxuIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAifVxuIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2lkZ2V0IFwiKi5nZG0tdXNlci1zd2l0Y2gtbWVudWJhclwiIHN0eWxlIFwiZ2RtLXVzZXItc3dpdGNoLW1lbnViYXItc3R5bGVcIlxuIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2lkZ2V0IFwiKi5nZG0tdXNlci1zd2l0Y2gtYXBwbGV0XCIgc3R5bGUgXCJnZG0tdXNlci1zd2l0Y2gtYXBwbGV0LXN0eWxlXCJcbiIpOworLSAgICAgICAgICAgICAgICBndGtfd2luZG93X3NldF9kZWZhdWx0X2ljb25fbmFtZSAoInN0b2NrX3Blb3BsZSIpOworLSAgICAgICAgICAgICAgICBnX3NldF9hcHBsaWNhdGlvbl9uYW1lIChfKCJVc2VyIFN3aXRjaCBBcHBsZXQiKSk7CistCistICAgICAgICAgICAgICAgIGlmICghIGdkbV9zZXR0aW5nc19jbGllbnRfaW5pdCAoREFUQURJUiAiL2dkbS9nZG0uc2NoZW1hcyIsICIvIikpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBnX2NyaXRpY2FsICgiVW5hYmxlIHRvIGluaXRpYWxpemUgc2V0dGluZ3MgY2xpZW50Iik7CistICAgICAgICAgICAgICAgICAgICAgICAgZXhpdCAoMSk7CistICAgICAgICAgICAgICAgIH0KKy0KKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGFkYXRhID0gZ19uZXcwIChHZG1BcHBsZXREYXRhLCAxKTsKKy0gICAgICAgIGFkYXRhLT5hcHBsZXQgPSBhcHBsZXQ7CistICAgICAgICBhZGF0YS0+cGFuZWxfc2l6ZSA9IDI0OworLQorLSAgICAgICAgYWRhdGEtPmNsaWVudCA9IGdjb25mX2NsaWVudF9nZXRfZGVmYXVsdCAoKTsKKy0KKy0gICAgICAgIGd0a193aWRnZXRfc2V0X3Rvb2x0aXBfdGV4dCAoR1RLX1dJREdFVCAoYXBwbGV0KSwgXygiQ2hhbmdlIGFjY291bnQgc2V0dGluZ3MgYW5kIHN0YXR1cyIpKTsKKy0gICAgICAgIGd0a19jb250YWluZXJfc2V0X2JvcmRlcl93aWR0aCAoR1RLX0NPTlRBSU5FUiAoYXBwbGV0KSwgMCk7CistICAgICAgICBndGtfd2lkZ2V0X3NldF9uYW1lIChHVEtfV0lER0VUIChhcHBsZXQpLCAiZ2RtLXVzZXItc3dpdGNoLWFwcGxldCIpOworLSAgICAgICAgcGFuZWxfYXBwbGV0X3NldF9mbGFncyAoYXBwbGV0LCBQQU5FTF9BUFBMRVRfRVhQQU5EX01JTk9SKTsKKy0gICAgICAgIHBhbmVsX2FwcGxldF9zZXR1cF9tZW51X2Zyb21fZmlsZSAoYXBwbGV0LCBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQVRBRElSICIvZ25vbWUtMi4wL3VpL0dOT01FX0Zhc3RVc2VyU3dpdGNoQXBwbGV0LnhtbCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIG1lbnVfdmVyYnMsIGFkYXRhKTsKKy0KKy0gICAgICAgIHBvcHVwX2NvbXBvbmVudCA9IHBhbmVsX2FwcGxldF9nZXRfcG9wdXBfY29tcG9uZW50IChhcHBsZXQpOworLQorLSAgICAgICAgLyogSGlkZSB0aGUgYWRtaW4gY29udGV4dCBtZW51IGl0ZW1zIGlmIGxvY2tlZCBkb3duIG9yIG5vIGNtZC1saW5lICovCistICAgICAgICBpZiAoZ2NvbmZfY2xpZW50X2dldF9ib29sIChhZGF0YS0+Y2xpZW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTE9DS0RPV05fQ09NTUFORF9MSU5FX0tFWSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpIHx8CistICAgICAgICAgICAgcGFuZWxfYXBwbGV0X2dldF9sb2NrZWRfZG93biAoYXBwbGV0KSkgeworLSAgICAgICAgICAgICAgICBib25vYm9fdWlfY29tcG9uZW50X3NldF9wcm9wIChwb3B1cF9jb21wb25lbnQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvcG9wdXBzL2J1dHRvbjMvR2RtU2VwYXJhdG9yIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiIsICIxIiwgTlVMTCk7CistICAgICAgICAgICAgICAgIGJvbm9ib191aV9jb21wb25lbnRfc2V0X3Byb3AgKHBvcHVwX2NvbXBvbmVudCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9jb21tYW5kcy9HZG1Vc2Vyc0dyb3Vwc0FkbWluIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiIsICIxIiwgTlVMTCk7CistICAgICAgICB9IGVsc2UgeworLSNpZm5kZWYgVVNFUlNfQURNSU4KKy0jICBpZmRlZiBHRE1fU0VUVVAKKy0gICAgICAgICAgICAgICAgYm9ub2JvX3VpX2NvbXBvbmVudF9zZXRfcHJvcCAocG9wdXBfY29tcG9uZW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL3BvcHVwcy9idXR0b24zL0dkbVNlcGFyYXRvciIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaWRkZW4iLCAiMSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworLSMgIGVuZGlmIC8qICFHRE1fU0VUVVAgKi8KKy0gICAgICAgICAgICAgICAgYm9ub2JvX3VpX2NvbXBvbmVudF9zZXRfcHJvcCAocG9wdXBfY29tcG9uZW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2NvbW1hbmRzL0dkbVVzZXJzR3JvdXBzQWRtaW4iLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlkZGVuIiwgIjEiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0jZW5kaWYgLyogIVVTRVJTX0FETUlOICovCistICAgICAgICB9CistCistICAgICAgICAvKiBIaWRlIHRoZSBnZG1waG90b3NldHVwIGl0ZW0gaWYgaXQgY2FuJ3QgYmUgZm91bmQgaW4gdGhlIHBhdGguICovCistICAgICAgICB0bXAgPSBnX2ZpbmRfcHJvZ3JhbV9pbl9wYXRoICgiZ25vbWUtYWJvdXQtbWUiKTsKKy0gICAgICAgIGlmICghdG1wKSB7CistICAgICAgICAgICAgICAgIGJvbm9ib191aV9jb21wb25lbnRfc2V0X3Byb3AgKHBvcHVwX2NvbXBvbmVudCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9jb21tYW5kcy9HZG1BYm91dE1lIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiIsICIxIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBnX2ZyZWUgKHRtcCk7CistICAgICAgICB9CistCistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+YXBwbGV0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgInN0eWxlLXNldCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChhcHBsZXRfc3R5bGVfc2V0X2NiKSwgYWRhdGEpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYXBwbGV0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgImNoYW5nZS1iYWNrZ3JvdW5kIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKGFwcGxldF9jaGFuZ2VfYmFja2dyb3VuZF9jYiksIGFkYXRhKTsKKy0gICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QgKGFwcGxldCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICJzaXplLWFsbG9jYXRlIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKGFwcGxldF9zaXplX2FsbG9jYXRlX2NiKSwgYWRhdGEpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdCAoYXBwbGV0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgImtleS1wcmVzcy1ldmVudCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChhcHBsZXRfa2V5X3ByZXNzX2V2ZW50X2NiKSwgYWRhdGEpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdF9hZnRlciAoYXBwbGV0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvY3VzLWluLWV2ZW50IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKGd0a193aWRnZXRfcXVldWVfZHJhdyksIE5VTEwpOworLSAgICAgICAgZ19zaWduYWxfY29ubmVjdF9hZnRlciAoYXBwbGV0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvY3VzLW91dC1ldmVudCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChndGtfd2lkZ2V0X3F1ZXVlX2RyYXcpLCBOVUxMKTsKKy0gICAgICAgIGdfb2JqZWN0X3NldF9kYXRhX2Z1bGwgKEdfT0JKRUNUIChhcHBsZXQpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdkbS1hcHBsZXQtZGF0YSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGF0YSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChHRGVzdHJveU5vdGlmeSkgZ2RtX2FwcGxldF9kYXRhX2ZyZWUpOworLQorLSAgICAgICAgYWRhdGEtPm1lbnViYXIgPSBndGtfbWVudV9iYXJfbmV3ICgpOworLSAgICAgICAgZ3RrX3dpZGdldF9zZXRfbmFtZSAoYWRhdGEtPm1lbnViYXIsICJnZG0tdXNlci1zd2l0Y2gtbWVudWJhciIpOworLSAgICAgICAgZ3RrX3dpZGdldF9zZXRfY2FuX2ZvY3VzIChhZGF0YS0+bWVudWJhciwgVFJVRSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+bWVudWJhciwgImJ1dHRvbi1wcmVzcy1ldmVudCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChtZW51YmFyX2J1dHRvbl9wcmVzc19ldmVudF9jYiksIGFkYXRhKTsKKy0gICAgICAgIGdfc2lnbmFsX2Nvbm5lY3RfYWZ0ZXIgKGFkYXRhLT5tZW51YmFyLCAiZXhwb3NlLWV2ZW50IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG1lbnViYXJfZXhwb3NlX2V2ZW50X2NiKSwgYWRhdGEpOworLSAgICAgICAgZ3RrX2NvbnRhaW5lcl9hZGQgKEdUS19DT05UQUlORVIgKGFwcGxldCksIGFkYXRhLT5tZW51YmFyKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoYWRhdGEtPm1lbnViYXIpOworLQorLSAgICAgICAgYWRhdGEtPm1hbmFnZXIgPSBnZG1fdXNlcl9tYW5hZ2VyX3JlZl9kZWZhdWx0ICgpOworLSAgICAgICAgZ19vYmplY3Rfc2V0IChhZGF0YS0+bWFuYWdlciwgImluY2x1ZGUtYWxsIiwgVFJVRSwgTlVMTCk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChhZGF0YS0+bWFuYWdlciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICJub3RpZnk6OmlzLWxvYWRlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChvbl9tYW5hZ2VyX2lzX2xvYWRlZF9jaGFuZ2VkKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXRhKTsKKy0gICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QgKGFkYXRhLT5tYW5hZ2VyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vdGlmeTo6aGFzLW11bHRpcGxlLXVzZXJzIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX21hbmFnZXJfaGFzX211bHRpcGxlX3VzZXJzX2NoYW5nZWQpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgYWRhdGEpOworLQorLSAgICAgICAgZ2RtX3VzZXJfbWFuYWdlcl9xdWV1ZV9sb2FkIChhZGF0YS0+bWFuYWdlcik7CistICAgICAgICBzZXR1cF9jdXJyZW50X3VzZXIgKGFkYXRhKTsKKy0KKy0gICAgICAgIGdjb25mX2NsaWVudF9hZGRfZGlyIChhZGF0YS0+Y2xpZW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExPQ0tET1dOX0RJUiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ09ORl9DTElFTlRfUFJFTE9BRF9PTkVMRVZFTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0KKy0gICAgICAgIGFkYXRhLT5jbGllbnRfbm90aWZ5X2xvY2tkb3duX2lkID0gZ2NvbmZfY2xpZW50X25vdGlmeV9hZGQgKGFkYXRhLT5jbGllbnQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMT0NLRE9XTl9ESVIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR0NvbmZDbGllbnROb3RpZnlGdW5jKWNsaWVudF9ub3RpZnlfbG9ja2Rvd25fZnVuYywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXRhLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworLQorLSAgICAgICAgaWYgKGdjb25mX2NsaWVudF9nZXRfYm9vbCAoYWRhdGEtPmNsaWVudCwgTE9DS0RPV05fVVNFUl9TV0lUQ0hJTkdfS0VZLCBOVUxMKSkgeworLSAgICAgICAgICAgICAgICBzZXRfbWVudV92aXNpYmlsaXR5IChhZGF0YSwgRkFMU0UpOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgc2V0X21lbnVfdmlzaWJpbGl0eSAoYWRhdGEsIFRSVUUpOworLSAgICAgICAgfQorLSAgICAgICAgaWYgKGdjb25mX2NsaWVudF9nZXRfYm9vbCAoYWRhdGEtPmNsaWVudCwgTE9DS0RPV05fTE9DS19TQ1JFRU5fS0VZLCBOVUxMKSkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGd0a193aWRnZXRfaGlkZSAoYWRhdGEtPmxvY2tfc2NyZWVuX2l0ZW0pOworLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGFkYXRhLT5sb2NrX3NjcmVlbl9pdGVtKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGVycm9yID0gTlVMTDsKKy0gICAgICAgIGJ1cyA9IGRidXNfZ19idXNfZ2V0IChEQlVTX0JVU19TRVNTSU9OLCAmZXJyb3IpOworLSAgICAgICAgaWYgKGJ1cyA9PSBOVUxMKSB7CistICAgICAgICAgICAgICAgIGdfd2FybmluZyAoIlVuYWJsZSB0byBnZXQgc2Vzc2lvbiBidXM6ICVzIiwgZXJyb3ItPm1lc3NhZ2UpOworLSAgICAgICAgICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKKy0gICAgICAgICAgICAgICAgZ290byBkb25lOworLSAgICAgICAgfQorLQorLSNpZmRlZiBCVUlMRF9QUkVTRU5TRV9TVFVGRgorLSAgICAgICAgYWRhdGEtPnByZXNlbmNlX3Byb3h5ID0gZGJ1c19nX3Byb3h5X25ld19mb3JfbmFtZSAoYnVzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3JnLmdub21lLlNlc3Npb25NYW5hZ2VyIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9vcmcvZ25vbWUvU2Vzc2lvbk1hbmFnZXIvUHJlc2VuY2UiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3JnLmdub21lLlNlc3Npb25NYW5hZ2VyLlByZXNlbmNlIik7CistICAgICAgICBpZiAoYWRhdGEtPnByZXNlbmNlX3Byb3h5ICE9IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgREJ1c0dQcm94eSAqcHJveHk7CistCistICAgICAgICAgICAgICAgIGRidXNfZ19wcm94eV9hZGRfc2lnbmFsIChhZGF0YS0+cHJlc2VuY2VfcHJveHksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3RhdHVzQ2hhbmdlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfVUlOVCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9JTlZBTElEKTsKKy0gICAgICAgICAgICAgICAgZGJ1c19nX3Byb3h5X2Nvbm5lY3Rfc2lnbmFsIChhZGF0YS0+cHJlc2VuY2VfcHJveHksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN0YXR1c0NoYW5nZWQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX3ByZXNlbmNlX3N0YXR1c19jaGFuZ2VkKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGF0YSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0gICAgICAgICAgICAgICAgZGJ1c19nX3Byb3h5X2FkZF9zaWduYWwgKGFkYXRhLT5wcmVzZW5jZV9wcm94eSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdGF0dXNUZXh0Q2hhbmdlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfU1RSSU5HLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX0lOVkFMSUQpOworLSAgICAgICAgICAgICAgICBkYnVzX2dfcHJveHlfY29ubmVjdF9zaWduYWwgKGFkYXRhLT5wcmVzZW5jZV9wcm94eSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3RhdHVzVGV4dENoYW5nZWQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX3ByZXNlbmNlX3N0YXR1c190ZXh0X2NoYW5nZWQpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXRhLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworLQorLQorLSAgICAgICAgICAgICAgICBwcm94eSA9IGRidXNfZ19wcm94eV9uZXdfZnJvbV9wcm94eSAoYWRhdGEtPnByZXNlbmNlX3Byb3h5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9yZy5mcmVlZGVza3RvcC5EQnVzLlByb3BlcnRpZXMiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9vcmcvZ25vbWUvU2Vzc2lvbk1hbmFnZXIvUHJlc2VuY2UiKTsKKy0gICAgICAgICAgICAgICAgaWYgKHByb3h5ICE9IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAgICBzdGF0dXM7CistICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3RhdHVzX3RleHQ7CistICAgICAgICAgICAgICAgICAgICAgICAgR1ZhbHVlICAgICAgdmFsdWUgPSB7IDAsIH07CistCistICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gMDsKKy0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNfdGV4dCA9IE5VTEw7CistCistICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBOVUxMOworLSAgICAgICAgICAgICAgICAgICAgICAgIGRidXNfZ19wcm94eV9jYWxsIChwcm94eSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdldCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZlcnJvciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklORywgIm9yZy5nbm9tZS5TZXNzaW9uTWFuYWdlci5QcmVzZW5jZSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9TVFJJTkcsICJzdGF0dXMiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfSU5WQUxJRCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1ZBTFVFLCAmdmFsdWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9JTlZBTElEKTsKKy0KKy0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgIT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ193YXJuaW5nICgiQ291bGRuJ3QgZ2V0IHByZXNlbmNlIHN0YXR1czogJXMiLCBlcnJvci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gZ192YWx1ZV9nZXRfdWludCAoJnZhbHVlKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICB9CistCistICAgICAgICAgICAgICAgICAgICAgICAgZ192YWx1ZV91bnNldCAoJnZhbHVlKTsKKy0KKy0gICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA9IE5VTEw7CistICAgICAgICAgICAgICAgICAgICAgICAgZGJ1c19nX3Byb3h5X2NhbGwgKHByb3h5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR2V0IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfU1RSSU5HLCAib3JnLmdub21lLlNlc3Npb25NYW5hZ2VyLlByZXNlbmNlIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX1NUUklORywgInN0YXR1cy10ZXh0IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX0lOVkFMSUQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9WQUxVRSwgJnZhbHVlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfSU5WQUxJRCk7CistCistICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yICE9IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfd2FybmluZyAoIkNvdWxkbid0IGdldCBwcmVzZW5jZSBzdGF0dXMgdGV4dDogJXMiLCBlcnJvci0+bWVzc2FnZSk7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzX3RleHQgPSBnX3ZhbHVlX2dldF9zdHJpbmcgKCZ2YWx1ZSk7CistICAgICAgICAgICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICAgICAgICAgIHNldF9zdGF0dXMgKGFkYXRhLCBzdGF0dXMpOworLSAgICAgICAgICAgICAgICAgICAgICAgIHNldF9zdGF0dXNfdGV4dCAoYWRhdGEsIHN0YXR1c190ZXh0KTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgZ193YXJuaW5nICgiRmFpbGVkIHRvIGdldCBzZXNzaW9uIHByZXNlbmNlIHByb3h5Iik7CistICAgICAgICB9CistI2VuZGlmCistCistIGRvbmU6CistICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKEdUS19XSURHRVQgKGFkYXRhLT5hcHBsZXQpKTsKKy0KKy0gICAgICAgIHJldHVybiBUUlVFOworLX0KKy0KKy1zdGF0aWMgZ2Jvb2xlYW4KKy1hcHBsZXRfZmFjdG9yeSAoUGFuZWxBcHBsZXQgICAqYXBwbGV0LAorLSAgICAgICAgICAgICAgICBjb25zdCBjaGFyICAgICppaWQsCistICAgICAgICAgICAgICAgIGdwb2ludGVyICAgICAgIGRhdGEpCisteworLSAgICAgICAgZ2Jvb2xlYW4gcmV0OworLSAgICAgICAgcmV0ID0gRkFMU0U7CistICAgICAgICBpZiAoc3RyY21wIChpaWQsICJPQUZJSUQ6R05PTUVfRmFzdFVzZXJTd2l0Y2hBcHBsZXQiKSA9PSAwKSB7CistICAgICAgICAgICAgICAgIHJldCA9IGZpbGxfYXBwbGV0IChhcHBsZXQpOworLSAgICAgICAgfQorLSAgICAgICAgcmV0dXJuIHJldDsKKy19CitkaWZmIC0tZ2l0IGEvZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9nZG0tZW50cnktbWVudS1pdGVtLmMgYi9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2dkbS1lbnRyeS1tZW51LWl0ZW0uYworZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBkNjU3ZTdhLi4wMDAwMDAwCistLS0gYS9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2dkbS1lbnRyeS1tZW51LWl0ZW0uYworKysrIC9kZXYvbnVsbAorQEAgLTEsMzA0ICswLDAgQEAKKy0vKiAtKi0gTW9kZTogQzsgdGFiLXdpZHRoOiA4OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiA4IC0qLQorLSAqCistICogQ29weXJpZ2h0IChDKSAyMDA4IFJlZCBIYXQsIEluYy4KKy0gKgorLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCistICoKKy0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLSAqCistICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy0gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorLSAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKy0gKi8KKy0KKy0jaW5jbHVkZSAiY29uZmlnLmgiCistCistI2luY2x1ZGUgPHVuaXN0ZC5oPgorLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKy0KKy0jaW5jbHVkZSA8c3RyaW5nLmg+CistCistI2luY2x1ZGUgPGdsaWIvZ2kxOG4uaD4KKy0jaW5jbHVkZSA8Z3RrL2d0ay5oPgorLQorLSNpbmNsdWRlICJnZG0tZW50cnktbWVudS1pdGVtLmgiCistCistLyogc2FtZSBhcyB0d2l0dGVyICovCistI2RlZmluZSBURVhUX0JVRkZFUl9NQVhfQ0hBUlMgNjQKKy0KKy1lbnVtCisteworLSAgICAgICAgUFJPUF8wLAorLX07CistCistc3RydWN0IF9HZG1FbnRyeU1lbnVJdGVtCisteworLSAgICAgICAgR3RrTWVudUl0ZW0gICAgICBwYXJlbnQ7CistCistICAgICAgICBHdGtXaWRnZXQgICAgICAgKmhib3g7CistICAgICAgICBHdGtXaWRnZXQgICAgICAgKmltYWdlOworLSAgICAgICAgR3RrV2lkZ2V0ICAgICAgICplbnRyeTsKKy19OworLQorLXN0cnVjdCBfR2RtRW50cnlNZW51SXRlbUNsYXNzCisteworLSAgICAgICAgR3RrTWVudUl0ZW1DbGFzcyBwYXJlbnRfY2xhc3M7CistfTsKKy0KKy1HX0RFRklORV9UWVBFIChHZG1FbnRyeU1lbnVJdGVtLCBnZG1fZW50cnlfbWVudV9pdGVtLCBHVEtfVFlQRV9NRU5VX0lURU0pCistCistc3RhdGljIHZvaWQKKy1nZG1fZW50cnlfbWVudV9pdGVtX3NldF9wcm9wZXJ0eSAoR09iamVjdCAgICAgICpvYmplY3QsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50ICAgICAgICAgcGFyYW1faWQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdWYWx1ZSAqdmFsdWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQYXJhbVNwZWMgICAqcHNwZWMpCisteworLSAgICAgICAgR2RtRW50cnlNZW51SXRlbSAqaXRlbTsKKy0KKy0gICAgICAgIGl0ZW0gPSBHRE1fRU5UUllfTUVOVV9JVEVNIChvYmplY3QpOworLQorLSAgICAgICAgc3dpdGNoIChwYXJhbV9pZCkgeworLSAgICAgICAgZGVmYXVsdDoKKy0gICAgICAgICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEIChvYmplY3QsIHBhcmFtX2lkLCBwc3BlYyk7CistICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLWdkbV9lbnRyeV9tZW51X2l0ZW1fZ2V0X3Byb3BlcnR5IChHT2JqZWN0ICAgICpvYmplY3QsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50ICAgICAgIHBhcmFtX2lkLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVmFsdWUgICAgICp2YWx1ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BhcmFtU3BlYyAqcHNwZWMpCisteworLSAgICAgICAgR2RtRW50cnlNZW51SXRlbSAqaXRlbTsKKy0KKy0gICAgICAgIGl0ZW0gPSBHRE1fRU5UUllfTUVOVV9JVEVNIChvYmplY3QpOworLQorLSAgICAgICAgc3dpdGNoIChwYXJhbV9pZCkgeworLSAgICAgICAgZGVmYXVsdDoKKy0gICAgICAgICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEIChvYmplY3QsIHBhcmFtX2lkLCBwc3BlYyk7CistICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLWdkbV9lbnRyeV9tZW51X2l0ZW1fZGlzcG9zZSAoR09iamVjdCAqb2JqZWN0KQorLXsKKy0KKy0gICAgICAgICgqR19PQkpFQ1RfQ0xBU1MgKGdkbV9lbnRyeV9tZW51X2l0ZW1fcGFyZW50X2NsYXNzKS0+ZGlzcG9zZSkgKG9iamVjdCk7CistfQorLQorLXN0YXRpYyBnYm9vbGVhbgorLWdkbV9lbnRyeV9tZW51X2l0ZW1fYnV0dG9uX3JlbGVhc2UgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RrRXZlbnRCdXR0b24gKmV2ZW50KQorLXsKKy0gICAgICAgIHJldHVybiBUUlVFOworLX0KKy0KKy0vKiBDdXQgYW5kIHBhc3RlIGZyb20gZ3Rrd2luZG93LmMgKi8KKy1zdGF0aWMgdm9pZAorLXNlbmRfZm9jdXNfY2hhbmdlIChHdGtXaWRnZXQgKndpZGdldCwKKy0gICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICBpbikKKy17CistICAgICAgICBHZGtFdmVudCAqZmV2ZW50ID0gZ2RrX2V2ZW50X25ldyAoR0RLX0ZPQ1VTX0NIQU5HRSk7CistCistICAgICAgICBnX29iamVjdF9yZWYgKHdpZGdldCk7CistCistICAgICAgICBndGtfd2lkZ2V0X3NldF9jYW5fZm9jdXMgKHdpZGdldCwgaW4pOworLQorLSAgICAgICAgZmV2ZW50LT5mb2N1c19jaGFuZ2UudHlwZSA9IEdES19GT0NVU19DSEFOR0U7CistICAgICAgICBmZXZlbnQtPmZvY3VzX2NoYW5nZS53aW5kb3cgPSBnX29iamVjdF9yZWYgKGd0a193aWRnZXRfZ2V0X3dpbmRvdyAod2lkZ2V0KSk7CistICAgICAgICBmZXZlbnQtPmZvY3VzX2NoYW5nZS5pbiA9IGluOworLQorLSAgICAgICAgZ3RrX3dpZGdldF9ldmVudCAod2lkZ2V0LCBmZXZlbnQpOworLQorLSAgICAgICAgZ19vYmplY3Rfbm90aWZ5IChHX09CSkVDVCAod2lkZ2V0KSwgImhhcy1mb2N1cyIpOworLQorLSAgICAgICAgZ19vYmplY3RfdW5yZWYgKHdpZGdldCk7CistICAgICAgICBnZGtfZXZlbnRfZnJlZSAoZmV2ZW50KTsKKy19CistCistc3RhdGljIGdib29sZWFuCistZ2RtX2VudHJ5X21lbnVfaXRlbV9idXR0b25fcHJlc3MgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdka0V2ZW50QnV0dG9uICpldmVudCkKKy17CistICAgICAgICBHdGtXaWRnZXQgKmVudHJ5OworLQorLSAgICAgICAgZW50cnkgPSBHRE1fRU5UUllfTUVOVV9JVEVNICh3aWRnZXQpLT5lbnRyeTsKKy0KKy0gICAgICAgIGlmIChndGtfd2lkZ2V0X2dldF93aW5kb3cgKGVudHJ5KSAhPSBOVUxMKSB7CistICAgICAgICAgICAgICAgIGdka193aW5kb3dfcmFpc2UgKGd0a193aWRnZXRfZ2V0X3dpbmRvdyAoZW50cnkpKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGlmICghZ3RrX3dpZGdldF9oYXNfZm9jdXMgKGVudHJ5KSkgeworLSAgICAgICAgICAgICAgICBndGtfd2lkZ2V0X2dyYWJfZm9jdXMgKGVudHJ5KTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIHJldHVybiBGQUxTRTsKKy19CistCistc3RhdGljIHZvaWQKKy1nZG1fZW50cnlfbWVudV9pdGVtX3JlYWxpemUgKEd0a1dpZGdldCAqd2lkZ2V0KQorLXsKKy0gICAgICAgIGlmIChHVEtfV0lER0VUX0NMQVNTIChnZG1fZW50cnlfbWVudV9pdGVtX3BhcmVudF9jbGFzcyktPnJlYWxpemUpIHsKKy0gICAgICAgICAgICAgICAgR1RLX1dJREdFVF9DTEFTUyAoZ2RtX2VudHJ5X21lbnVfaXRlbV9wYXJlbnRfY2xhc3MpLT5yZWFsaXplICh3aWRnZXQpOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLWdkbV9lbnRyeV9tZW51X2l0ZW1fc2VsZWN0IChHdGtJdGVtICppdGVtKQorLXsKKy0gICAgICAgIGdfcmV0dXJuX2lmX2ZhaWwgKEdETV9JU19FTlRSWV9NRU5VX0lURU0gKGl0ZW0pKTsKKy0gICAgICAgIHNlbmRfZm9jdXNfY2hhbmdlIChHVEtfV0lER0VUIChHRE1fRU5UUllfTUVOVV9JVEVNIChpdGVtKS0+ZW50cnkpLCBUUlVFKTsKKy19CistCistc3RhdGljIHZvaWQKKy1nZG1fZW50cnlfbWVudV9pdGVtX2Rlc2VsZWN0IChHdGtJdGVtICppdGVtKQorLXsKKy0gICAgICAgIGdfcmV0dXJuX2lmX2ZhaWwgKEdETV9JU19FTlRSWV9NRU5VX0lURU0gKGl0ZW0pKTsKKy0KKy0gICAgICAgIHNlbmRfZm9jdXNfY2hhbmdlIChHVEtfV0lER0VUIChHRE1fRU5UUllfTUVOVV9JVEVNIChpdGVtKS0+ZW50cnkpLCBGQUxTRSk7CistfQorLQorLXN0YXRpYyB2b2lkCistZ2RtX2VudHJ5X21lbnVfaXRlbV9jbGFzc19pbml0IChHZG1FbnRyeU1lbnVJdGVtQ2xhc3MgKmtsYXNzKQorLXsKKy0gICAgICAgIEdPYmplY3RDbGFzcyAgICAgKmdvYmplY3RfY2xhc3M7CistICAgICAgICBHdGtXaWRnZXRDbGFzcyAgICp3aWRnZXRfY2xhc3M7CistICAgICAgICBHdGtNZW51SXRlbUNsYXNzICptZW51X2l0ZW1fY2xhc3M7CistICAgICAgICBHdGtJdGVtQ2xhc3MgICAgICppdGVtX2NsYXNzOworLQorLSAgICAgICAgZ29iamVjdF9jbGFzcyA9IEdfT0JKRUNUX0NMQVNTIChrbGFzcyk7CistICAgICAgICB3aWRnZXRfY2xhc3MgPSBHVEtfV0lER0VUX0NMQVNTIChrbGFzcyk7CistICAgICAgICBtZW51X2l0ZW1fY2xhc3MgPSBHVEtfTUVOVV9JVEVNX0NMQVNTIChrbGFzcyk7CistICAgICAgICBpdGVtX2NsYXNzID0gR1RLX0lURU1fQ0xBU1MgKGtsYXNzKTsKKy0KKy0gICAgICAgIGdvYmplY3RfY2xhc3MtPnNldF9wcm9wZXJ0eSA9IGdkbV9lbnRyeV9tZW51X2l0ZW1fc2V0X3Byb3BlcnR5OworLSAgICAgICAgZ29iamVjdF9jbGFzcy0+Z2V0X3Byb3BlcnR5ID0gZ2RtX2VudHJ5X21lbnVfaXRlbV9nZXRfcHJvcGVydHk7CistICAgICAgICBnb2JqZWN0X2NsYXNzLT5kaXNwb3NlID0gZ2RtX2VudHJ5X21lbnVfaXRlbV9kaXNwb3NlOworLQorLSAgICAgICAgd2lkZ2V0X2NsYXNzLT5idXR0b25fcmVsZWFzZV9ldmVudCA9IGdkbV9lbnRyeV9tZW51X2l0ZW1fYnV0dG9uX3JlbGVhc2U7CistICAgICAgICB3aWRnZXRfY2xhc3MtPmJ1dHRvbl9wcmVzc19ldmVudCA9IGdkbV9lbnRyeV9tZW51X2l0ZW1fYnV0dG9uX3ByZXNzOworLSAgICAgICAgd2lkZ2V0X2NsYXNzLT5yZWFsaXplID0gZ2RtX2VudHJ5X21lbnVfaXRlbV9yZWFsaXplOworLQorLSAgICAgICAgaXRlbV9jbGFzcy0+c2VsZWN0ID0gZ2RtX2VudHJ5X21lbnVfaXRlbV9zZWxlY3Q7CistICAgICAgICBpdGVtX2NsYXNzLT5kZXNlbGVjdCA9IGdkbV9lbnRyeV9tZW51X2l0ZW1fZGVzZWxlY3Q7CistCistICAgICAgICBtZW51X2l0ZW1fY2xhc3MtPmhpZGVfb25fYWN0aXZhdGUgPSBGQUxTRTsKKy19CistCistc3RhdGljIHZvaWQKKy1vbl9lbnRyeV9zaG93IChHdGtXaWRnZXQgICAgICAgICp3aWRnZXQsCistICAgICAgICAgICAgICAgR2RtRW50cnlNZW51SXRlbSAqaXRlbSkKKy17CistICAgICAgICBpZiAoZ3RrX3dpZGdldF9nZXRfd2luZG93ICh3aWRnZXQpICE9IE5VTEwpIHsKKy0gICAgICAgICAgICAgICAgZ2RrX3dpbmRvd19yYWlzZSAoZ3RrX3dpZGdldF9nZXRfd2luZG93ICh3aWRnZXQpKTsKKy0gICAgICAgIH0KKy0gICAgICAgIHNlbmRfZm9jdXNfY2hhbmdlICh3aWRnZXQsIFRSVUUpOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLW9uX3RleHRfYnVmZmVyX2NoYW5nZWQgKEd0a1RleHRCdWZmZXIgICAgKmJ1ZmZlciwKKy0gICAgICAgICAgICAgICAgICAgICAgICBHZG1FbnRyeU1lbnVJdGVtICppdGVtKQorLXsKKy0gICAgICAgIGludCBsZW47CistCistICAgICAgICBsZW4gPSBndGtfdGV4dF9idWZmZXJfZ2V0X2NoYXJfY291bnQgKGJ1ZmZlcik7CistICAgICAgICBpZiAobGVuID4gVEVYVF9CVUZGRVJfTUFYX0NIQVJTKSB7CistICAgICAgICAgICAgICAgIGdka193aW5kb3dfYmVlcCAoZ3RrX3dpZGdldF9nZXRfd2luZG93IChHVEtfV0lER0VUIChpdGVtKSkpOworLSAgICAgICAgfQorLX0KKy0KKy1zdGF0aWMgdm9pZAorLW9uX2VudHJ5X21vdmVfZm9jdXMgKEd0a1dpZGdldCAgICAgICAgKndpZGdldCwKKy0gICAgICAgICAgICAgICAgICAgICBHdGtEaXJlY3Rpb25UeXBlICBkaXJlY3Rpb24sCistICAgICAgICAgICAgICAgICAgICAgR2RtRW50cnlNZW51SXRlbSAqaXRlbSkKKy17CistICAgICAgICBnX2RlYnVnICgiZm9jdXMgbW92ZSIpOworLSAgICAgICAgc2VuZF9mb2N1c19jaGFuZ2UgKEdUS19XSURHRVQgKEdETV9FTlRSWV9NRU5VX0lURU0gKGl0ZW0pLT5lbnRyeSksIEZBTFNFKTsKKy0gICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSAoaXRlbSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1vdmUtZm9jdXMiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVEtfRElSX1RBQl9GT1JXQVJEKTsKKy19CistCistc3RhdGljIHZvaWQKKy1nZG1fZW50cnlfbWVudV9pdGVtX2luaXQgKEdkbUVudHJ5TWVudUl0ZW0gKml0ZW0pCisteworLSAgICAgICAgUGFuZ29Gb250RGVzY3JpcHRpb24gKmZvbnRkZXNjOworLSAgICAgICAgUGFuZ29Gb250TWV0cmljcyAgICAgKm1ldHJpY3M7CistICAgICAgICBQYW5nb0NvbnRleHQgICAgICAgICAqY29udGV4dDsKKy0gICAgICAgIFBhbmdvTGFuZ3VhZ2UgICAgICAgICpsYW5nOworLSAgICAgICAgaW50ICAgICAgICAgICAgICAgICAgIGFzY2VudDsKKy0gICAgICAgIEd0a1RleHRCdWZmZXIgICAgICAgICpidWZmZXI7CistCistICAgICAgICBpdGVtLT5oYm94ID0gZ3RrX2hib3hfbmV3IChGQUxTRSwgNik7CistICAgICAgICBndGtfY29udGFpbmVyX2FkZCAoR1RLX0NPTlRBSU5FUiAoaXRlbSksIGl0ZW0tPmhib3gpOworLQorLSAgICAgICAgaXRlbS0+aW1hZ2UgPSBndGtfaW1hZ2VfbmV3ICgpOworLSAgICAgICAgZ3RrX2JveF9wYWNrX3N0YXJ0IChHVEtfQk9YIChpdGVtLT5oYm94KSwgaXRlbS0+aW1hZ2UsIEZBTFNFLCBGQUxTRSwgMCk7CistCistICAgICAgICBpdGVtLT5lbnRyeSA9IGd0a190ZXh0X3ZpZXdfbmV3ICgpOworLSAgICAgICAgZ3RrX3RleHRfdmlld19zZXRfYWNjZXB0c190YWIgKEdUS19URVhUX1ZJRVcgKGl0ZW0tPmVudHJ5KSwgRkFMU0UpOworLSAgICAgICAgZ3RrX3RleHRfdmlld19zZXRfZWRpdGFibGUgKEdUS19URVhUX1ZJRVcgKGl0ZW0tPmVudHJ5KSwgVFJVRSk7CistICAgICAgICBndGtfdGV4dF92aWV3X3NldF93cmFwX21vZGUgKEdUS19URVhUX1ZJRVcgKGl0ZW0tPmVudHJ5KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1RLX1dSQVBfV09SRCk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChpdGVtLT5lbnRyeSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICJzaG93IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX2VudHJ5X3Nob3cpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChpdGVtLT5lbnRyeSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICJtb3ZlLWZvY3VzIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKG9uX2VudHJ5X21vdmVfZm9jdXMpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSk7CistCistICAgICAgICBidWZmZXIgPSBndGtfdGV4dF92aWV3X2dldF9idWZmZXIgKEdUS19URVhUX1ZJRVcgKGl0ZW0tPmVudHJ5KSk7CistICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChidWZmZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhbmdlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChvbl90ZXh0X2J1ZmZlcl9jaGFuZ2VkKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0pOworLQorLSAgICAgICAgLyogZ2V0IHRoZSBmb250IGFzY2VudCBmb3IgdGhlIGN1cnJlbnQgZm9udCBhbmQgbGFuZ3VhZ2UgKi8KKy0gICAgICAgIGNvbnRleHQgPSBndGtfd2lkZ2V0X2dldF9wYW5nb19jb250ZXh0IChpdGVtLT5lbnRyeSk7CistICAgICAgICBmb250ZGVzYyA9IHBhbmdvX2NvbnRleHRfZ2V0X2ZvbnRfZGVzY3JpcHRpb24gKGNvbnRleHQpOworLSAgICAgICAgbGFuZyA9IHBhbmdvX2NvbnRleHRfZ2V0X2xhbmd1YWdlIChjb250ZXh0KTsKKy0gICAgICAgIG1ldHJpY3MgPSBwYW5nb19jb250ZXh0X2dldF9tZXRyaWNzIChjb250ZXh0LCBmb250ZGVzYywgbGFuZyk7CistICAgICAgICBhc2NlbnQgPSBwYW5nb19mb250X21ldHJpY3NfZ2V0X2FzY2VudCAobWV0cmljcykgKiAxLjUgLyBQQU5HT19TQ0FMRTsKKy0gICAgICAgIHBhbmdvX2ZvbnRfbWV0cmljc191bnJlZiAobWV0cmljcyk7CistCistICAgICAgICAvKiBzaXplIG91ciBwcm9ncmVzcyBiYXIgdG8gYmUgZml2ZSBhc2NlbnRzIGxvbmcgKi8KKy0gICAgICAgIGd0a193aWRnZXRfc2V0X3NpemVfcmVxdWVzdCAoaXRlbS0+ZW50cnksIGFzY2VudCAqIDUsIC0xKTsKKy0KKy0gICAgICAgIGd0a19ib3hfcGFja19zdGFydCAoR1RLX0JPWCAoaXRlbS0+aGJveCksIGl0ZW0tPmVudHJ5LCBUUlVFLCBUUlVFLCAwKTsKKy0KKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoaXRlbS0+aGJveCk7CistICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKGl0ZW0tPmltYWdlKTsKKy0gICAgICAgIGd0a193aWRnZXRfc2hvdyAoaXRlbS0+ZW50cnkpOworLX0KKy0KKy1HdGtXaWRnZXQgKgorLWdkbV9lbnRyeV9tZW51X2l0ZW1fbmV3ICh2b2lkKQorLXsKKy0gICAgICAgIHJldHVybiBnX29iamVjdF9uZXcgKEdETV9UWVBFX0VOVFJZX01FTlVfSVRFTSwgTlVMTCk7CistfQorLQorLUd0a1dpZGdldCAqCistZ2RtX2VudHJ5X21lbnVfaXRlbV9nZXRfZW50cnkgKEdkbUVudHJ5TWVudUl0ZW0gKml0ZW0pCisteworLSAgICAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKEdETV9JU19FTlRSWV9NRU5VX0lURU0gKGl0ZW0pLCBOVUxMKTsKKy0KKy0gICAgICAgIHJldHVybiBpdGVtLT5lbnRyeTsKKy19CistCistR3RrV2lkZ2V0ICoKKy1nZG1fZW50cnlfbWVudV9pdGVtX2dldF9pbWFnZSAoR2RtRW50cnlNZW51SXRlbSAqaXRlbSkKKy17CistICAgICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoR0RNX0lTX0VOVFJZX01FTlVfSVRFTSAoaXRlbSksIE5VTEwpOworLQorLSAgICAgICAgcmV0dXJuIGl0ZW0tPmltYWdlOworLX0KK2RpZmYgLS1naXQgYS9ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2dkbS1lbnRyeS1tZW51LWl0ZW0uaCBiL2d1aS91c2VyLXN3aXRjaC1hcHBsZXQvZ2RtLWVudHJ5LW1lbnUtaXRlbS5oCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDMwMzE2MDkuLjAwMDAwMDAKKy0tLSBhL2d1aS91c2VyLXN3aXRjaC1hcHBsZXQvZ2RtLWVudHJ5LW1lbnUtaXRlbS5oCisrKysgL2Rldi9udWxsCitAQCAtMSw1MSArMCwwIEBACistLyogLSotIE1vZGU6IEM7IHRhYi13aWR0aDogODsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9mZnNldDogOCAtKi0KKy0gKgorLSAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA1IEphbWVzIE0uIENhcGUgPGpjYXBlQGlnbm9yZS15b3VyLnR2Pi4KKy0gKgorLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCistICoKKy0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLSAqCistICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy0gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorLSAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKy0gKi8KKy0KKy0jaWZuZGVmIF9fR0RNX0VOVFJZX01FTlVfSVRFTV9fCistI2RlZmluZSBfX0dETV9FTlRSWV9NRU5VX0lURU1fXworLQorLSNpbmNsdWRlIDxndGsvZ3RrLmg+CistCistR19CRUdJTl9ERUNMUworLQorLSNkZWZpbmUgR0RNX1RZUEVfRU5UUllfTUVOVV9JVEVNIFwKKy0gIChnZG1fZW50cnlfbWVudV9pdGVtX2dldF90eXBlICgpKQorLSNkZWZpbmUgR0RNX0VOVFJZX01FTlVfSVRFTShvYmplY3QpIFwKKy0gIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCAoKG9iamVjdCksIEdETV9UWVBFX0VOVFJZX01FTlVfSVRFTSwgR2RtRW50cnlNZW51SXRlbSkpCistI2RlZmluZSBHRE1fRU5UUllfTUVOVV9JVEVNX0NMQVNTKGtsYXNzKSBcCistICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QgKChrbGFzcyksIEdETV9UWVBFX0VOVFJZX01FTlVfSVRFTSwgR2RtRW50cnlNZW51SXRlbUNsYXNzKSkKKy0jZGVmaW5lIEdETV9JU19FTlRSWV9NRU5VX0lURU0ob2JqZWN0KSBcCistICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUgKChvYmplY3QpLCBHRE1fVFlQRV9FTlRSWV9NRU5VX0lURU0pKQorLSNkZWZpbmUgR0RNX0lTX0VOVFJZX01FTlVfSVRFTV9DTEFTUyhrbGFzcykgXAorLSAgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFICgoa2xhc3MpLCBHRE1fVFlQRV9FTlRSWV9NRU5VX0lURU0pKQorLSNkZWZpbmUgR0RNX0VOVFJZX01FTlVfSVRFTV9HRVRfQ0xBU1Mob2JqZWN0KSBcCistICAoR19UWVBFX0lOU1RBTkNFX0dFVF9DTEFTUyAoKG9iamVjdCksIEdETV9UWVBFX0VOVFJZX01FTlVfSVRFTSwgR2RtRW50cnlNZW51SXRlbUNsYXNzKSkKKy0KKy10eXBlZGVmIHN0cnVjdCBfR2RtRW50cnlNZW51SXRlbSBHZG1FbnRyeU1lbnVJdGVtOworLXR5cGVkZWYgc3RydWN0IF9HZG1FbnRyeU1lbnVJdGVtQ2xhc3MgR2RtRW50cnlNZW51SXRlbUNsYXNzOworLQorLUdUeXBlICAgICAgZ2RtX2VudHJ5X21lbnVfaXRlbV9nZXRfdHlwZSAgICAgICh2b2lkKSBHX0dOVUNfQ09OU1Q7CistCistR3RrV2lkZ2V0ICpnZG1fZW50cnlfbWVudV9pdGVtX25ldyAgICAgICAgICAgKHZvaWQpOworLUd0a1dpZGdldCAqZ2RtX2VudHJ5X21lbnVfaXRlbV9nZXRfZW50cnkgICAgIChHZG1FbnRyeU1lbnVJdGVtICppdGVtKTsKKy1HdGtXaWRnZXQgKmdkbV9lbnRyeV9tZW51X2l0ZW1fZ2V0X2ltYWdlICAgICAoR2RtRW50cnlNZW51SXRlbSAqaXRlbSk7CistCistR19FTkRfREVDTFMKKy0KKy0jZW5kaWYgLyogX19HRE1fRU5UUllfTUVOVV9JVEVNX18gKi8KK2RpZmYgLS1naXQgYS9wby9QT1RGSUxFUy5pbiBiL3BvL1BPVEZJTEVTLmluCitpbmRleCAxZmNjYjkwLi5jYzFhM2ZkIDEwMDY0NAorLS0tIGEvcG8vUE9URklMRVMuaW4KKysrKyBiL3BvL1BPVEZJTEVTLmluCitAQCAtODQsMTAgKzg0LDYgQEAgZ3VpL3NpbXBsZS1ncmVldGVyL2dkbS10aW1lci5jCisgZ3VpL3NpbXBsZS1ncmVldGVyL2dkbS11c2VyLmMKKyBndWkvc2ltcGxlLWdyZWV0ZXIvZ2RtLXVzZXItY2hvb3Nlci13aWRnZXQuYworIGd1aS9zaW1wbGUtZ3JlZXRlci9ncmVldGVyLW1haW4uYworLWd1aS91c2VyLXN3aXRjaC1hcHBsZXQvYXBwbGV0LmMKKy1ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L2dkbS1lbnRyeS1tZW51LWl0ZW0uYworLWd1aS91c2VyLXN3aXRjaC1hcHBsZXQvR05PTUVfRmFzdFVzZXJTd2l0Y2hBcHBsZXQuc2VydmVyLmluLmluCistZ3VpL3VzZXItc3dpdGNoLWFwcGxldC9HTk9NRV9GYXN0VXNlclN3aXRjaEFwcGxldC54bWwKKyB1dGlscy9nZG1mbGV4aXNlcnZlci5jCisgdXRpbHMvZ2RtLXNjcmVlbnNob3QuYworIAorZGlmZiAtLWdpdCBhL3BvL1BPVEZJTEVTLnNraXAgYi9wby9QT1RGSUxFUy5za2lwCitpbmRleCAwMjY5YTBmLi5lZTNkNzUzIDEwMDY0NAorLS0tIGEvcG8vUE9URklMRVMuc2tpcAorKysrIGIvcG8vUE9URklMRVMuc2tpcAorQEAgLTcsNyArNyw2IEBACisgIyByZW1vdmUgdGhlc2UgdW5sZXNzIHlvdSBmaXggIm1ha2UgZGlzdGNoZWNrIiBhIGRpZmZlcmVudCB3YXkuCisgIworIGRhdGEvZ2RtLnNjaGVtYXMuaW4KKy1ndWkvdXNlci1zd2l0Y2gtYXBwbGV0L0dOT01FX0Zhc3RVc2VyU3dpdGNoQXBwbGV0LnNlcnZlci5pbgorIGRhdGEvZ3JlZXRlci1hdXRvc3RhcnQvYXQtc3BpLXJlZ2lzdHJ5ZC13cmFwcGVyLmRlc2t0b3AuaW4KKyBkYXRhL2dyZWV0ZXItYXV0b3N0YXJ0L2dkbS1zaW1wbGUtZ3JlZXRlci5kZXNrdG9wLmluCisgZGF0YS9ncmVldGVyLWF1dG9zdGFydC9nbm9tZS1wb3dlci1tYW5hZ2VyLmRlc2t0b3AuaW4KKy0tIAorMS42LjYuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtLzAwMDItZ2RtLXVzZXItbWFuYWdlci5jLWF2b2lkLWRpc3BsYXlpbmctc3lzdGVtLXVzZXJzLWluLS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vMDAwMi1nZG0tdXNlci1tYW5hZ2VyLmMtYXZvaWQtZGlzcGxheWluZy1zeXN0ZW0tdXNlcnMtaW4tLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkMjEwNzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtLzAwMDItZ2RtLXVzZXItbWFuYWdlci5jLWF2b2lkLWRpc3BsYXlpbmctc3lzdGVtLXVzZXJzLWluLS5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIDQzZTU5ZjNkZWFkYjM5MTRhMWNjOTMxYWUxOGQ0MDIzODc0Y2RlY2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBGcmksIDI2IEFwciAyMDEzIDE3OjE1OjQ4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGdkbS11c2VyLW1hbmFnZXIuYzogYXZvaWQgZGlzcGxheWluZyBzeXN0ZW0gdXNlcnMgaW4KKyBncmVldGVyJ3MgbGlzdAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCit5b2N0byBlbnZpcm9ubWVudCBzeXN0ZW0gdXNlcnMgaGF2ZSBVSUQgYmVsb3cgMTAwMAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGd1aS9zaW1wbGUtZ3JlZXRlci9nZG0tdXNlci1tYW5hZ2VyLmMgfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ndWkvc2ltcGxlLWdyZWV0ZXIvZ2RtLXVzZXItbWFuYWdlci5jIGIvZ3VpL3NpbXBsZS1ncmVldGVyL2dkbS11c2VyLW1hbmFnZXIuYworaW5kZXggYzYzMTk4OS4uZjE4ZTQ3OCAxMDA2NDQKKy0tLSBhL2d1aS9zaW1wbGUtZ3JlZXRlci9nZG0tdXNlci1tYW5hZ2VyLmMKKysrKyBiL2d1aS9zaW1wbGUtZ3JlZXRlci9nZG0tdXNlci1tYW5hZ2VyLmMKK0BAIC02Myw3ICs2Myw3IEBACisgI2lmZGVmIF9fc3VuCisgI2RlZmluZSBGQUxMQkFDS19NSU5JTUFMX1VJRCAgICAgMTAwCisgI2Vsc2UKKy0jZGVmaW5lIEZBTExCQUNLX01JTklNQUxfVUlEICAgICA1MDAKKysjZGVmaW5lIEZBTExCQUNLX01JTklNQUxfVUlEICAgICAxMDAwCisgI2VuZGlmCisgCisgI2lmbmRlZiBfUEFUSF9TSEVMTFMKKy0tIAorMS43LjQuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL0RlZmF1bHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL0RlZmF1bHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTdhN2ZjZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vRGVmYXVsdApAQCAtMCwwICsxLDk2IEBACisjIS9iaW4vc2gKKyMgU3RvbGVuIGZyb20gdGhlIGRlYmlhbiBrZG0gc2V0dXAsIGFyZW4ndCBJIHNuZWFreQorIyBQbHVzIGEgbG90IG9mIGZ1biBzdHVmZiBhZGRlZAorIyAgLUdlb3JnZQorCitQQVRIPSIvdXNyL2JpbjokUEFUSCIKK09MRF9JRlM9JElGUworCitnZG13aGljaCAoKSB7CisgIENPTU1BTkQ9IiQxIgorICBPVVRQVVQ9CisgIElGUz06CisgIGZvciBkaXIgaW4gJFBBVEgKKyAgZG8KKyAgICBpZiB0ZXN0IC14ICIkZGlyLyRDT01NQU5EIiA7IHRoZW4KKyAgICAgIGlmIHRlc3QgIngkT1VUUFVUIiA9ICJ4IiA7IHRoZW4KKyAgICAgICAgT1VUUFVUPSIkZGlyLyRDT01NQU5EIgorICAgICAgZmkKKyAgICBmaQorICBkb25lCisgIElGUz0kT0xEX0lGUworICBlY2hvICIkT1VUUFVUIgorfQorCitzeXNyZXNvdXJjZXM9L2V0Yy9YMTEvWHJlc291cmNlcworCisjIG1lcmdlIGluIGRlZmF1bHRzCitpZiBbIC1mICIkc3lzcmVzb3VyY2VzIiBdOyB0aGVuCisgICAgeHJkYiAtbWVyZ2UgIiRzeXNyZXNvdXJjZXMiCitmaQorCitzeXNtb2RtYXA9L2V0Yy9YMTEvWG1vZG1hcAorCitYTU9ETUFQPWBnZG13aGljaCB4bW9kbWFwYAoraWYgWyAieCRYTU9ETUFQIiAhPSAieCIgXSA7IHRoZW4KKyAgaWYgWyAieCRHRE1fUEFSRU5UX0RJU1BMQVkiID0gIngiIF07IHRoZW4KKyAgICBpZiBbIC1mICRzeXNtb2RtYXAgXTsgdGhlbgorICAgICAgJFhNT0RNQVAgJHN5c21vZG1hcAorICAgIGZpCisgIGVsc2UKKyAgICAoIERJU1BMQVk9JEdETV9QQVJFTlRfRElTUExBWSBYQVVUSE9SSVRZPSRHRE1fUEFSRU5UX1hBVVRIT1JJVFkgJFhNT0RNQVAgLXBrZSApIHwgJFhNT0RNQVAgLQorICBmaQorCisgICMKKyAgIyBTd2l0Y2ggU3VuJ3MgQWx0IGFuZCBNZXRhIG1vZCBtYXBwaW5ncworICAjCisKKyAgVU5BTUU9YGdkbXdoaWNoIHVuYW1lYAorICBQUk9DRVNTT1I9YCRVTkFNRSAtcGAKKyAgaWYgWyAieCRQUk9DRVNTT1IiID0gInhzcGFyYyIgXTsgdGhlbgorICAgIGlmICRYTU9ETUFQIHwgL3Vzci9iaW4vZ3JlcCBtb2Q0IHwgL3Vzci9iaW4vZ3JlcCBBbHQgPiAvZGV2L251bGwgMj4vZGV2L251bGwKKyAgICB0aGVuCisgICAgICAkWE1PRE1BUCAtZSAiY2xlYXIgTW9kMSIgXAorICAgICAgICAgICAgICAgLWUgImNsZWFyIE1vZDQiIFwKKyAgICAgICAgICAgICAgIC1lICJhZGQgTW9kMSA9IEFsdF9MIiBcCisgICAgICAgICAgICAgICAtZSAiYWRkIE1vZDEgPSBBbHRfUiIgXAorICAgICAgICAgICAgICAgLWUgImFkZCBNb2Q0ID0gTWV0YV9MIiBcCisgICAgICAgICAgICAgICAtZSAiYWRkIE1vZDQgPSBNZXRhX1IiCisgICAgZmkKKyAgZmkKK2ZpCisKK1NFVFhLQk1BUD1gZ2Rtd2hpY2ggc2V0eGtibWFwYAoraWYgWyAieCRTRVRYS0JNQVAiICE9ICJ4IiBdIDsgdGhlbgorICAjIEZJWE1FOiBpcyB0aGlzIGFsbCByaWdodD8gIElzIHRoaXMgY29tcGxldGVseSBvbiBjcmFjaz8KKyAgIyBXaGF0IHRoaXMgZG9lcyBpcyBtb3ZlIHRoZSB4a2IgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBHRE1fUEFSRU5UX0RJU1BMQVkKKyAgIyBGSVhNRTogVGhpcyBzaG91bGQgYmUgZG9uZSBpbiBjb2RlLiAgT3IgdGhlcmUgbXVzdCBiZSBhbiBlYXNpZXIgd2F5IC4uLgorICBpZiBbIC1uICIkR0RNX1BBUkVOVF9ESVNQTEFZIiBdOyB0aGVuCisgICAgWEtCU0VUVVA9YCggRElTUExBWT0kR0RNX1BBUkVOVF9ESVNQTEFZIFhBVVRIT1JJVFk9JEdETV9QQVJFTlRfWEFVVEhPUklUWSAkU0VUWEtCTUFQIC12IClgCisgICAgaWYgWyAtbiAiJFhLQlNFVFVQIiBdOyB0aGVuCisgICAgICBYS0JLRVlNQVA9YGVjaG8gIiRYS0JTRVRVUCIgfCBncmVwICdea2V5bWFwJyB8IGF3ayAneyBwcmludCAkMiB9J2AKKyAgICAgIFhLQlRZUEVTPWBlY2hvICIkWEtCU0VUVVAiIHwgZ3JlcCAnXnR5cGVzJyB8IGF3ayAneyBwcmludCAkMiB9J2AKKyAgICAgIFhLQkNPTVBBVD1gZWNobyAiJFhLQlNFVFVQIiB8IGdyZXAgJ15jb21wYXQnIHwgYXdrICd7IHByaW50ICQyIH0nYAorICAgICAgWEtCU1lNQk9MUz1gZWNobyAiJFhLQlNFVFVQIiB8IGdyZXAgJ15zeW1ib2xzJyB8IGF3ayAneyBwcmludCAkMiB9J2AKKyAgICAgIFhLQkdFT01FVFJZPWBlY2hvICIkWEtCU0VUVVAiIHwgZ3JlcCAnXmdlb21ldHJ5JyB8IGF3ayAneyBwcmludCAkMiB9J2AKKyAgICAgIGlmIFsgLW4gIiRYS0JLRVlNQVAiIF07IHRoZW4KKyAgICAgICAgJFNFVFhLQk1BUCAta2V5bWFwICIkWEtCS0VZTUFQIgorICAgICAgZWxpZiBbIC1uICIkWEtCVFlQRVMiIC1hIC1uICIkWEtCQ09NUEFUIiAtYSAtbiAiJFhLQlNZTUJPTFMiIC1hIC1uICIkWEtCR0VPTUVUUlkiIF07IHRoZW4KKyAgICAgICAgJFNFVFhLQk1BUCAtdHlwZXMgIiRYS0JUWVBFUyIgLWNvbXBhdCAiJFhLQkNPTVBBVCIgLXN5bWJvbHMgIiRYS0JTWU1CT0xTIiAtZ2VvbWV0cnkgIiRYS0JHRU9NRVRSWSIKKyAgICAgIGVsaWYgWyAtbiAiJFhLQlRZUEVTIiAtYSAtbiAiJFhLQkNPTVBBVCIgLWEgLW4gIiRYS0JTWU1CT0xTIiBdOyB0aGVuCisgICAgICAgICRTRVRYS0JNQVAgLXR5cGVzICIkWEtCVFlQRVMiIC1jb21wYXQgIiRYS0JDT01QQVQiIC1zeW1ib2xzICIkWEtCU1lNQk9MUyIKKyAgICAgIGVsaWYgWyAtbiAiJFhLQlNZTUJPTFMiIF07IHRoZW4KKyAgICAgICAgJFNFVFhLQk1BUCAtc3ltYm9scyAiJFhLQlNZTUJPTFMiCisgICAgICBmaQorICAgIGZpCisgIGZpCitmaQorCisjIEZJWE1FOiB0aGUgaG91c2VrZWVwaW5nIGJlbG93IHJlYWxseSBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHBvc3RpbnN0IG9mIHBhY2thZ2VzIHRoYXQgcmVxdWlyZSBpdAorIyBicnV0ZSBmb3JjZSBhcHByb2FjaCBmb3Igbm93Cit1cGRhdGUtZGVza3RvcC1kYXRhYmFzZQorZ2xpYi1jb21waWxlLXNjaGVtYXMgL3Vzci9zaGFyZS9nbGliLTIuMC9zY2hlbWFzLworCisjeDExdm5jICAtcSAtYmcgLWRpc3BsYXkgOjAgLWZvcmV2ZXIgLWF2YWhpIC14a2IKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL2Nyb3NzLXhkZXRlY3Rpb24uZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vY3Jvc3MteGRldGVjdGlvbi5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZTM1MTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL2Nyb3NzLXhkZXRlY3Rpb24uZGlmZgpAQCAtMCwwICsxLDk2IEBACitGcm9tIDYwMDg0ZTdlOTczNjM0OTcxYzk2NDNmMjQ1OWU1ZDNlMjQ4ZWUzZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogVGh1LCA5IEp1biAyMDExIDE4OjEyOjQ1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkLXN5czogaGFyZGNvZGUgeCBwYXRocyB0byBmaXggY3Jvc3Njb21waWxpbmcKKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgNzIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDY3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBlZWFmM2RjLi44NDFlZmUwIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0xMTAxLDczICsxMTAxLDExIEBAIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBkbmwgLSBDaGVjayBmb3IgWCBTZXJ2ZXIgbG9jYXRpb24KKyBkbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCistIyBGaXJzdCBjaGVjayB3aXRoICIhIC1oIiBmb3IgL3Vzci9YMTFSNiBhbmQgL3Vzci9YMTEgc2luY2UgdGhleSBvZnRlbgorLSMgc3ltbGluayB0byBlYWNoIG90aGVyLCBhbmQgY29uZmlndXJlIHNob3VsZCB1c2UgdGhlIG1vcmUgc3RhYmxlCistIyBsb2NhdGlvbiAodGhlIHJlYWwgZGlyZWN0b3J5KSBpZiBwb3NzaWJsZS4KKy0jCistIyBPbiBTb2xhcmlzLCB0aGUgL3Vzci9iaW4vWHNlcnZlciBzY3JpcHQgaXMgdXNlZCB0byBkZWNpZGUgd2hldGhlciB0bworLSMgdXNlIFhzdW4gb3IgWG9yZywgc28gdGhpcyBpcyB1c2VkIG9uIFNvbGFyaXMuCistIworLSMgV2hlbiB0ZXN0aW5nIGZvciAvdXNyL1gxMVI2LCBmaXJzdCBjaGVjayB3aXRoICIhIC1oIiBmb3IgL3Vzci9YMTFSNgorLSMgYW5kIC91c3IvWDExIHNpbmNlIHRoZXkgb2Z0ZW4gc3ltbGluayB0byBlYWNoIG90aGVyLCBhbmQgY29uZmlndXJlCistIyBzaG91bGQgdXNlIHRoZSBtb3JlIHN0YWJsZSBsb2NhdGlvbiAodGhlIHJlYWwgZGlyZWN0b3J5KSBpZiBwb3NzaWJsZS4KKy0jCistaWYgdGVzdCAteCAvdXNyL1gxMS9iaW4vWHNlcnZlcjsgdGhlbgorLSAgIFhfUEFUSD0iL3Vzci9YMTEvYmluIgorLSAgIFhfU0VSVkVSX1BBVEg9Ii91c3IvWDExL2JpbiIKKy0gICBYX1NFUlZFUj0iL3Vzci9YMTEvYmluL1hzZXJ2ZXIiCistICAgWF9DT05GSUdfT1BUSU9OUz0iLWF1ZGl0IDAiCistZWxpZiB0ZXN0ICEgLWggL3Vzci9YMTFSNiAtYSAteCAvdXNyL1gxMVI2L2Jpbi9YOyB0aGVuCistICAgWF9QQVRIPSIvdXNyL1gxMVI2L2JpbiIKKy0gICBYX1NFUlZFUl9QQVRIPSIvdXNyL1gxMVI2L2JpbiIKKy0gICBYX1NFUlZFUj0iL3Vzci9YMTFSNi9iaW4vWCIKKy0gICBYX0NPTkZJR19PUFRJT05TPSItYXVkaXQgMCIKKy1lbGlmIHRlc3QgISAtaCAvdXNyL1gxMSAtYSAteCAvdXNyL1gxMS9iaW4vWDsgdGhlbgorLSAgIFhfUEFUSD0iL3Vzci9YMTEvYmluIgorLSAgIFhfU0VSVkVSX1BBVEg9Ii91c3IvWDExL2JpbiIKKy0gICBYX1NFUlZFUj0iL3Vzci9YMTEvYmluL1giCistICAgWF9DT05GSUdfT1BUSU9OUz0iLWF1ZGl0IDAiCistZWxpZiB0ZXN0IC14IC91c3IvWDExUjYvYmluL1g7IHRoZW4KKy0gICBYX1BBVEg9Ii91c3IvWDExUjYvYmluIgorLSAgIFhfU0VSVkVSX1BBVEg9Ii91c3IvWDExUjYvYmluIgorLSAgIFhfU0VSVkVSPSIvdXNyL1gxMVI2L2Jpbi9YIgorLSAgIFhfQ09ORklHX09QVElPTlM9Ii1hdWRpdCAwIgorLWVsaWYgdGVzdCAteCAvdXNyL2Jpbi9Yb3JnOyB0aGVuCistICAgWF9QQVRIPSIvdXNyL2JpbiIKKy0gICBYX1NFUlZFUl9QQVRIPSIvdXNyL2JpbiIKKy0gICBYX1NFUlZFUj0iL3Vzci9iaW4vWG9yZyIKKy0gICBYX0NPTkZJR19PUFRJT05TPSItYXVkaXQgMCIKKy1lbGlmIHRlc3QgLXggL3Vzci9YMTEvYmluL1g7IHRoZW4KKy0gICBYX1BBVEg9Ii91c3IvWDExL2JpbiIKKy0gICBYX1NFUlZFUl9QQVRIPSIvdXNyL1gxMS9iaW4iCistICAgWF9TRVJWRVI9Ii91c3IvWDExL2Jpbi9YIgorLSAgIFhfQ09ORklHX09QVElPTlM9Ii1hdWRpdCAwIgorLWVsaWYgdGVzdCAteCAvdXNyL29wZW53aW4vYmluL1hzdW47IHRoZW4KKy0gICAjIERvIG5vdCBhZGQgL3Vzci9vcGVud2luL2JpbiBoZXJlIGJlY2F1c2Ugb24gU29sYXJpcyB5b3UgbmVlZAorLSAgICMgL3Vzci9vcGVud2luL2JpbiBpbiB5b3VyIFBBVEggZXZlbiBpZiB5b3UgYXJlIHVzaW5nIHRoZSBYb3JnCistICAgIyBYc2VydmVyLiAgV2UgYWRkIHRoaXMgdG8gdGhlIHBhdGggYmVsb3cuCistICAgWF9QQVRIPSIvdXNyL29wZW53aW4vYmluIgorLSAgIFhfU0VSVkVSX1BBVEg9Ii91c3Ivb3Blbndpbi9iaW4iCistICAgWF9TRVJWRVI9Ii91c3Ivb3Blbndpbi9iaW4vWHN1biIKKy0gICBYX0NPTkZJR19PUFRJT05TPSItYXVkaXQgMCAtbm9iYW5uZXIiCistZWxpZiB0ZXN0IC14IC9vcHQvWDExUjYvYmluL1g7IHRoZW4KKy0gICBYX1BBVEg9Ii9vcHQvWDExUjYvYmluIgorLSAgIFhfU0VSVkVSX1BBVEg9Ii9vcHQvWDExUjYvYmluIgorLSAgIFhfU0VSVkVSPSIvb3B0L1gxMVI2L2Jpbi9YIgorLSAgIFhfQ09ORklHX09QVElPTlM9Ii1hdWRpdCAwIgorLWVsaWYgdGVzdCAteCAvdXNyL2Jpbi9YOyB0aGVuCistICAgWF9QQVRIPSIvdXNyL2JpbiIKKy0gICBYX1NFUlZFUl9QQVRIPSIvdXNyL2JpbiIKKy0gICBYX1NFUlZFUj0iL3Vzci9iaW4vWCIKKy0gICBYX0NPTkZJR19PUFRJT05TPSItYXVkaXQgMCIKKy1lbHNlCistICAgIyB3aGF0IHRvIGRvLCB3aGF0IHRvIGRvLCB0aGlzIGlzIHdyb25nLCBidXQgdGhpcyBqdXN0IHNldHMgdGhlCistICAgIyBkZWZhdWx0cywgcGVyaGFwcyB0aGlzIHVzZXIgaXMgY3Jvc3MgY29tcGlsaW5nIG9yIHNvbWUgc3VjaAorLSAgIFhfUEFUSD0iL3Vzci9iaW4vWDExOi91c3IvWDExUjYvYmluOi9vcHQvWDExUjYvYmluIgorLSAgIFhfU0VSVkVSX1BBVEg9Ii91c3IvYmluIgorLSAgIFhfU0VSVkVSPSIvdXNyL2Jpbi9YIgorLSAgIFhfQ09ORklHX09QVElPTlM9Ii1hdWRpdCAwIgorLWZpCisrIyBXZSBoYXJkY29kZSB0aGUgWCBwYXRocyBzaW5jZSB3ZSBrbm93IHdoZXJlIGl0IHdpbGwgYmUgaW4gdGhlIE9FIHVuaXZlcnMKKytYX1BBVEg9Ii91c3IvYmluIgorK1hfU0VSVkVSX1BBVEg9Ii91c3IvYmluIgorK1hfU0VSVkVSPSIvdXNyL2Jpbi9YIgorK1hfQ09ORklHX09QVElPTlM9Ii1hdWRpdCAwIgorIAorIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBkbmwgLSBDaGVjayBmb3IgWG5lc3QgLyBYZXBoeXIgc3VwcG9ydAorLS0gCisxLjYuNi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vZ2RtIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9nZG0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmI1YjQxOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vZ2RtCkBAIC0wLDAgKzEsODkgQEAKKyMhIC9iaW4vc2gKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIGdkbQorIyBTaG91bGQtU3RhcnQ6ICAgICAgY29uc29sZS1zY3JlZW4gYWNwaWQgZGJ1cyBoYWwgbmV0d29yay1tYW5hZ2VyCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkbG9jYWxfZnMgJHJlbW90ZV9mcworIyBSZXF1aXJlZC1TdG9wOiAgICAgJGxvY2FsX2ZzICRyZW1vdGVfZnMKKyMgRGVmYXVsdC1TdGFydDogICAgIDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSAyIDMgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogR05PTUUgRGlzcGxheSBNYW5hZ2VyCisjIERlc2NyaXB0aW9uOiAgICAgICBEZWJpYW4gaW5pdCBzY3JpcHQgZm9yIHRoZSBHTk9NRSBEaXNwbGF5IE1hbmFnZXIKKyMjIyBFTkQgSU5JVCBJTkZPCisjCisjIEF1dGhvcjogICAgICAgUnlhbiBNdXJyYXkgPHJtdXJyYXlAZGViaWFuLm9yZz4KKyMKK3NldCAtZQorCitQQVRIPS9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluCitEQUVNT049L3Vzci9zYmluL2dkbQorCit0ZXN0IC14ICREQUVNT04gfHwgZXhpdCAwCisKK2lmIFsgLXIgL2V0Yy9kZWZhdWx0L2xvY2FsZSBdOyB0aGVuCisgIC4gL2V0Yy9kZWZhdWx0L2xvY2FsZQorICBleHBvcnQgTEFORyBMQU5HVUFHRQorZmkKKworIyBUbyBzdGFydCBnZG0gZXZlbiBpZiBpdCBpcyBub3QgdGhlIGRlZmF1bHQgZGlzcGxheSBtYW5hZ2VyLCBjaGFuZ2UKKyMgSEVFRF9ERUZBVUxUX0RJU1BMQVlfTUFOQUdFUiB0byAiZmFsc2UuIgorSEVFRF9ERUZBVUxUX0RJU1BMQVlfTUFOQUdFUj10cnVlCitERUZBVUxUX0RJU1BMQVlfTUFOQUdFUl9GSUxFPS9ldGMvWDExL2RlZmF1bHQtZGlzcGxheS1tYW5hZ2VyCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwkjIG1ha2UgbmVlZGVkIGRpcmVjdG9yaWVzIGluIHZvbGF0aWxlCisKKwlpZiBbIC1lIC92YXIvbG9nL2dkbSBdIDsgdGhlbiAKKwkJcm0gLXJmIC92YXIvbG9nL2dkbQorCWZpCisKKwlta2RpciAtbSAwMTc3MCAvdmFyL2xvZy9nZG0KKwljaG93biBnZG06Z2RtIC92YXIvbG9nL2dkbQorCisJaWYgWyAtZSAvdG1wLy5JQ0UtdW5peCBdIDsgdGhlbiAKKwkJcm0gLXJmIC90bXAvLklDRS11bml4CisJZmkKKworCW1rZGlyIC1tIDAxNzc3IC90bXAvLklDRS11bml4CisJY2hvd24gcm9vdDpyb290IC90bXAvLklDRS11bml4CisKKyAgICAgICAgQ09ORklHVVJFRF9EQUVNT049JChiYXNlbmFtZSAiJChjYXQgJERFRkFVTFRfRElTUExBWV9NQU5BR0VSX0ZJTEUgMj4gL2Rldi9udWxsKSIpCisgICAgICAgIGlmIGdyZXAgLXdxcyB0ZXh0IC9wcm9jL2NtZGxpbmU7IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIk5vdCBzdGFydGluZyBHTk9NRSBEaXNwbGF5IE1hbmFnZXIgKGdkbSk7IGZvdW5kICd0ZXh0JyBpbiBrZXJuZWwgY29tbWFuZGxpbmUuIgorICAgICAgICBlbGlmIFsgLWUgIiRERUZBVUxUX0RJU1BMQVlfTUFOQUdFUl9GSUxFIiBdICYmIFwKKyAgICAgICAgICAgWyAiJEhFRURfREVGQVVMVF9ESVNQTEFZX01BTkFHRVIiID0gInRydWUiIF0gJiYgXAorICAgICAgICAgICBbICIkQ09ORklHVVJFRF9EQUVNT04iICE9IGdkbSBdIDsgdGhlbgorICAgICAgICAgICAgICAgIGVjaG8gIk5vdCBzdGFydGluZyBHTk9NRSBEaXNwbGF5IE1hbmFnZXI7IGl0IGlzIG5vdCB0aGUgZGVmYXVsdCBkaXNwbGF5IG1hbmFnZXIiCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hvICJTdGFydGluZyBHTk9NRSBEaXNwbGF5IE1hbmFnZXIiICJnZG0iCisgICAgICAgICAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtYiAtLWV4ZWMgJERBRU1PTiAKKyAgICAgICAgZmkKKyAgOzsKKyAgc3RvcCkKKyAgICAgICAgZWNobyAiU3RvcHBpbmcgR05PTUUgRGlzcGxheSBNYW5hZ2VyIiAiZ2RtIgorICAgICAgICBzZXQgK2UKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1waWRmaWxlIC92YXIvcnVuL2dkbS5waWQgXAorICAgICAgICAgICAgICAgIC0tbmFtZSBnZG0gLS1yZXRyeSA1CisgICAgICAgIHNldCAtZQorICA7OworICByZWxvYWQpCisgICAgICAgIGVjaG8gIlNjaGVkdWxpbmcgcmVsb2FkIG9mIEdOT01FIERpc3BsYXkgTWFuYWdlciBjb25maWd1cmF0aW9uIiAiZ2RtIgorICAgICAgICBzZXQgK2UKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tc2lnbmFsIFVTUjEgLS1xdWlldCAtLXBpZGZpbGUgXAorICAgICAgICAgICAgICAgIC92YXIvcnVuL2dkbS5waWQgLS1uYW1lIGdkbQorICAgICAgICBzZXQgLWUKKyAgOzsKKyAgc3RhdHVzKQorICAgICAgICBzdGF0dXNfb2ZfcHJvYyAtcCAiJFBJREZJTEUiICIkREFFTU9OIiBnZG0gJiYgZXhpdCAwIHx8IGV4aXQgJD8KKyAgOzsKKyAgcmVzdGFydHxmb3JjZS1yZWxvYWQpCisgICAgICAgICQwIHN0b3AKKyAgICAgICAgJDAgc3RhcnQKKyAgOzsKKyAgKikKKyAgICAgICAgZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kL2dkbSB7c3RhcnR8c3RvcHxyZXN0YXJ0fHJlbG9hZHxmb3JjZS1yZWxvYWR8c3RhdHVzfSIKKyAgICAgICAgZXhpdCAxCisgIDs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9nZG0tcGFtIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9nZG0tcGFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5ZmFmZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL2dkbS1wYW0KQEAgLTAsMCArMSwxMSBAQAorIworIyBkZWZhdWx0OyBzdGFuZGFyZCBVTipYIGFjY2VzcworIworYXV0aCAgICAgcmVxdWlyZWQgICAgICAgcGFtX3VuaXguc28KK2FjY291bnQgIHJlcXVpcmVkICAgICAgIHBhbV91bml4LnNvCitwYXNzd29yZCByZXF1aXJlZCAgICAgICBwYW1fdW5peC5zbworc2Vzc2lvbiAgcmVxdWlyZWQgICAgICAgcGFtX3VuaXguc28KKworYXV0aCAgICAgb3B0aW9uYWwgICAgICAgcGFtX2dub21lX2tleXJpbmcuc28KK3Nlc3Npb24gIG9wdGlvbmFsICAgICAgIHBhbV9nbm9tZV9rZXlyaW5nLnNvICBhdXRvX3N0YXJ0CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG0vZ2RtLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL2dkbS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1OTgyM2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL2dkbS5jb25mCkBAIC0wLDAgKzEsODAgQEAKKyMgR0RNIEN1c3RvbSBDb25maWd1cmF0aW9uIGZpbGUuCisjCisjIFRoaXMgZmlsZSBpcyB0aGUgYXBwcm9wcmlhdGUgcGxhY2UgZm9yIHNwZWNpZnlpbmcgeW91ciBjdXN0b21pemF0aW9ucyB0byB0aGUKKyMgR0RNIGNvbmZpZ3VyYXRpb24uICAgSWYgeW91IHJ1biBnZG1zZXR1cCwgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IGVkaXQgdGhpcworIyBmaWxlIGZvciB5b3UgYW5kIHdpbGwgY2F1c2UgdGhlIGRhZW1vbiBhbmQgYW55IHJ1bm5pbmcgR0RNIEdVSSBwcm9ncmFtcyB0bworIyBhdXRvbWF0aWNhbGx5IHVwZGF0ZSB3aXRoIHRoZSBuZXcgY29uZmlndXJhdGlvbi4gIE5vdCBhbGwgY29uZmlndXJhdGlvbgorIyBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgYnkgZ2Rtc2V0dXAsIHNvIHRvIG1vZGlmeSBzb21lIHZhbHVlcyBpdCBtYXkgYmUKKyMgbmVjZXNzYXJ5IHRvIG1vZGlmeSB0aGlzIGZpbGUgZGlyZWN0bHkgYnkgaGFuZC4KKyMKKyMgVGhpcyBmaWxlIG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIHNldHRpbmdzLiAgVGhlc2Ugc2V0dGluZ3MgCisjIGFyZSBzdG9yZWQgaW4gdGhlIEdETSBTeXN0ZW0gRGVmYXVsdHMgY29uZmlndXJhdGlvbiBmaWxlLCB3aGljaCBpcyBmb3VuZAorIyBhdCB0aGUgZm9sbG93aW5nIGxvY2F0aW9uLgorIworIyAvdXNyL3NoYXJlL2dkbS9kZWZhdWx0cy5jb25mLiAgCisjCisjIFRoaXMgZmlsZSBjb250YWlucyBjb21tZW50cyBhYm91dCB0aGUgbWVhbmluZyBvZiBlYWNoIGNvbmZpZ3VyYXRpb24gb3B0aW9uLAorIyBzbyBpcyBhbHNvIGEgdXNlZnVsIHJlZmVyZW5jZS4gIEFsc28gcmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gbGlua3MgYXQKKyMgdGhlIGVuZCBvZiB0aGlzIGNvbW1lbnQgZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24uICBJbiBzaG9ydCwgdG8gaGFuZC1lZGl0CisjIHRoaXMgZmlsZSwgc2ltcGx5IGFkZCBvciBtb2RpZnkgdGhlIGtleT12YWx1ZSBjb21iaW5hdGlvbiBpbiB0aGUKKyMgYXBwcm9wcmlhdGUgc2VjdGlvbiBpbiB0aGUgdGVtcGxhdGUgYmVsb3cgdGhpcyBjb21tZW50IHNlY3Rpb24uCisjCisjIEZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byBzcGVjaWZ5IGEgZGlmZmVyZW50IHZhbHVlIGZvciB0aGUgRW5hYmxlIGtleQorIyBpbiB0aGUgIltkZWJ1Z10iIHNlY3Rpb24gb2YgeW91ciBHRE0gU3lzdGVtIERlZmF1bHRzIGNvbmZpZ3VyYXRpb24gZmlsZSwKKyMgdGhlbiBhZGQgIkVuYWJsZT10cnVlIiBpbiB0aGUgIltkZWJ1Z10iIHNlY3Rpb24gb2YgdGhpcyBmaWxlLiAgSWYgdGhlCisjIGtleSBhbHJlYWR5IGV4aXN0cyBpbiB0aGlzIGZpbGUsIHRoZW4gc2ltcGx5IG1vZGlmeSBpdC4KKyMKKyMgT2xkZXIgdmVyc2lvbnMgb2YgR0RNIHVzZWQgdGhlICJnZG0uY29uZiIgZmlsZSBmb3IgY29uZmlndXJhdGlvbi4gIElmIHlvdXIKKyMgc3lzdGVtIGhhcyBhbiBvbGQgZ2RtLmNvbmYgZmlsZSBvbiB0aGUgc3lzdGVtLCBpdCB3aWxsIGJlIHVzZWQgaW5zdGVhZCBvZgorIyB0aGlzIGZpbGUgLSBzbyBjaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgbm90IHRha2UgZWZmZWN0LiAgQ29uc2lkZXIKKyMgbWlncmF0aW5nIHlvdXIgY29uZmlndXJhdGlvbiB0byB0aGlzIGZpbGUgYW5kIHJlbW92aW5nIHRoZSBnZG0uY29uZiBmaWxlLgorIworIyBJZiB5b3UgaGFuZCBlZGl0IGEgR0RNIGNvbmZpZ3VyYXRpb24gZmlsZSwgeW91IGNhbiBydW4gdGhlIGZvbGxvd2luZworIyBjb21tYW5kIGFuZCB0aGUgR0RNIGRhZW1vbiB3aWxsIGltbWVkaWF0ZWx5IHJlZmxlY3QgdGhlIGNoYW5nZS4gIEFueQorIyBydW5uaW5nIEdETSBHVUkgcHJvZ3JhbXMgd2lsbCBhbHNvIGJlIG5vdGlmaWVkIHRvIHVwZGF0ZSB3aXRoIHRoZSBuZXcKKyMgY29uZmlndXJhdGlvbi4KKyMKKyMgZ2RtZmxleGlzZXJ2ZXIgLS1jb21tYW5kPSJVUERBVEVfQ09ORklHIDxjb25maWd1cmF0aW9uIGtleT4iCisjCisjIGUuZywgdGhlICJFbmFibGUiIGtleSBpbiB0aGUgIltkZWJ1Z10iIHNlY3Rpb24gd291bGQgYmUgImRlYnVnL0VuYWJsZSIuCisjCisjIFlvdSBjYW4gYWxzbyBydW4gZ2RtLXJlc3RhcnQgb3IgZ2RtLXNhZmUtcmVzdGFydCB0byBjYXVzZSBHRE0gdG8gcmVzdGFydCBhbmQKKyMgcmUtcmVhZCB0aGUgbmV3IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MuICBZb3UgY2FuIGFsc28gcmVzdGFydCBHRE0gYnkgc2VuZGluZworIyBhIEhVUCBvciBVU1IxIHNpZ25hbCB0byB0aGUgZGFlbW9uLiAgSFVQIGJlaGF2ZXMgbGlrZSBnZG0tcmVzdGFydCBhbmQgY2F1c2VzCisjIGFueSB1c2VyIHNlc3Npb24gc3RhcnRlZCBieSBHRE0gdG8gZXhpdCBpbW1lZGlhdGVseSB3aGlsZSBVU1IxIGJlaGF2ZXMgbGlrZQorIyBnZG0tc2FmZS1yZXN0YXJ0IGFuZCB3aWxsIHdhaXQgdW50aWwgYWxsIHVzZXJzIGxvZyBvdXQgYmVmb3JlIHJlc3RhcnRpbmcgR0RNLgorIworIyBGb3IgZnVsbCByZWZlcmVuY2UgZG9jdW1lbnRhdGlvbiBzZWUgdGhlIGdub21lIGhlbHAgYnJvd3NlciB1bmRlcgorIyBHTk9NRXxTeXN0ZW0gY2F0ZWdvcnkuICBZb3UgY2FuIGFsc28gZmluZCB0aGUgZG9jcyBpbiBIVE1MIGZvcm0gb24KKyMgaHR0cDovL3d3dy5nbm9tZS5vcmcvcHJvamVjdHMvZ2RtLworIworIyBOT1RFOiBMaW5lcyB0aGF0IGJlZ2luIHdpdGggIiMiIGFyZSBjb25zaWRlcmVkIGNvbW1lbnRzLgorIworIyBIYXZlIGZ1biEKKworW2RhZW1vbl0KKworW3NlY3VyaXR5XQorCitbeGRtY3BdCisKK1tndWldCisKK1tncmVldGVyXQorCitbY2hvb3Nlcl0KKworW2RlYnVnXQorCisjIE5vdGUgdGhhdCB0byBkaXNhYmxlIHNlcnZlcnMgZGVmaW5lZCBpbiB0aGUgR0RNIFN5c3RlbSBEZWZhdWx0cworIyBjb25maWd1cmF0aW9uIGZpbGUgKHN1Y2ggYXMgMD1TdGFuZGFyZCwgeW91IG11c3QgcHV0IGEgbGluZSBpbiB0aGlzIGZpbGUKKyMgdGhhdCBzYXlzIDA9aW5hY3RpdmUsIGFzIGRlc2NyaWJlZCBpbiB0aGUgQ29uZmlndXJhdGlvbiBzZWN0aW9uIG9mIHRoZSBHRE0KKyMgZG9jdW1lbnRhdGlvbi4KKyMKK1tzZXJ2ZXJzXQorCisjIEFsc28gbm90ZSwgdGhhdCBpZiB5b3UgcmVkZWZpbmUgYSBbc2VydmVyLWZvb10gc2VjdGlvbiwgdGhlbiBHRE0gd2lsbAorIyB1c2UgdGhlIGRlZmluaXRpb24gaW4gdGhpcyBmaWxlLCBub3QgdGhlIEdETSBTeXN0ZW0gRGVmYXVsdHMgY29uZmlndXJhdGlvbgorIyBmaWxlLiAgSXQgaXMgY3VycmVudGx5IG5vdCBwb3NzaWJsZSB0byBkaXNhYmxlIGEgW3NlcnZlci1mb29dIHNlY3Rpb24KKyMgZGVmaW5lZCBpbiB0aGUgR0RNIFN5c3RlbSBEZWZhdWx0cyBjb25maWd1cmF0aW9uIGZpbGUuCisjCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL2dkbS5zZXJ2aWNlLmluIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9nZG0uc2VydmljZS5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTE1NTZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9nZG0uc2VydmljZS5pbgpAQCAtMCwwICsxLDEwIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUdub21lIERpc3BsYXkgTWFuYWdlcgorQWZ0ZXI9c3lzdGVtZC11c2VyLXNlc3Npb25zLnNlcnZpY2UKKworW1NlcnZpY2VdCitFeGVjU3RhcnQ9JXNiaW5kaXIlL2dkbSAtbm9kYWVtb24KK1N0YW5kYXJkT3V0cHV0PXN5c2xvZworCitbSW5zdGFsbF0KK0FsaWFzPWRpc3BsYXktbWFuYWdlci5zZXJ2aWNlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZG0vZ2RtL3N5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9zeXNyb290ZWQtcGtnLWNvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjlmYTJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbS9zeXNyb290ZWQtcGtnLWNvbmZpZy5wYXRjaApAQCAtMCwwICsxLDM3IEBACitJbiBjcm9zcyBlbnZpcm9ubWVudCB3ZSBoYXZlIHRvIHByZXBlbmQgdGhlIHN5c3Jvb3QgdG8gdGhlIHBhdGggZm91bmQgYnkKK3BrZ2NvbmZpZyBzaW5jZSB0aGUgcGF0aCByZXR1cm5lZCBmcm9tIHBrZ2NvbmZpZyBkb2VzIG5vdCBoYXZlIHN5c3Jvb3QgcHJlZml4ZWQKK2l0IGVuZHMgdXAgdXNpbmcgdGhlIGZpbGVzIGZyb20gaG9zdCBzeXN0ZW0uIE5vdyB1c3VhbGx5IHBlb3BsZSBoYXZlIGdub21lIGluc3RhbGxlZAorc28gdGhlIGJ1aWxkIHN1Y2NlZWRzIGJ1dCBpZiB5b3UgZG9udCBoYXZlIGdub21lIGluc3RhbGxlZCBvbiBidWlsZCBob3N0IHRoZW4KK2l0IHdvbnQgZmluZCB0aGUgZmlsZXMgb24gaG9zdCBzeXN0ZW0gYW5kIHBhY2thZ2VzIHVzaW5nIGdub21lLWRvYy11dGlscyB3b250Citjb21waWxlLgorCitUaGlzIHNob3VsZCB3b3JrIG9rIHdpdGggbm9uIHN5c3Jvb3RlZCBidWlsZHMgdG9vIHNpbmNlIGluIHRob3NlIGNhc2VzIFBLR19DT05GSUdfU1lTUk9PVF9ESVIKK3dpbGwgYmUgZW1wdHkKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK0luZGV4OiBnZG0tMi4zMi4yL2dub21lLWRvYy11dGlscy5tYWtlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RtLTIuMzIuMi5vcmlnL2dub21lLWRvYy11dGlscy5tYWtlCTIwMTEtMDUtMzEgMDg6MDY6NTkuMDAwMDAwMDAwIC0wNzAwCisrKysgZ2RtLTIuMzIuMi9nbm9tZS1kb2MtdXRpbHMubWFrZQkyMDExLTA5LTI1IDE1OjMyOjM5LjU0MDk5MjUyMSAtMDcwMAorQEAgLTEzMywxMiArMTMzLDEyIEBACisgX3htbDJwbyA/PSBgd2hpY2ggeG1sMnBvYAorIF94bWwycG9fbW9kZSA9ICQoaWYgJChET0NfSUQpLG1hbGxhcmQsZG9jYm9vaykKKyAKKy1fZGIyaHRtbCA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMmh0bWwgZ25vbWUtZG9jLXV0aWxzYAorLV9kYjJvbWYgID89IGAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgZGIyb21mIGdub21lLWRvYy11dGlsc2AKKy1fbWFscm5nICA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIG1hbHJuZyBnbm9tZS1kb2MtdXRpbHNgCistX2NodW5rcyAgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvY2h1bmtzLnhzbAorLV9jcmVkaXRzID89IGAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2NyZWRpdHMueHNsCistX2lkcyA/PSAkKHNoZWxsICQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzKS9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvaWRzLnhzbAorK19kYjJodG1sID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMmh0bWwgZ25vbWUtZG9jLXV0aWxzYAorK19kYjJvbWYgID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMm9tZiBnbm9tZS1kb2MtdXRpbHNgCisrX21hbHJuZyAgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgbWFscm5nIGdub21lLWRvYy11dGlsc2AKKytfY2h1bmtzICA/PSAke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9YCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvY2h1bmtzLnhzbAorK19jcmVkaXRzID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHNgL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9jcmVkaXRzLnhzbAorK19pZHMgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfSQoc2hlbGwgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHMpL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9pZHMueHNsCisgCisgaWYgRU5BQkxFX1NLCisgX0VOQUJMRV9TSyA9IHRydWUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG1fMi4zMi4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2RtL2dkbV8yLjMyLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU5YzYwOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dkbS9nZG1fMi4zMi4yLmJiCkBAIC0wLDAgKzEsMTA1IEBACitTVU1NQVJZID0gIkdyYXBoaWNhbCBsb2dpbiBtYW5hZ2VyIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitERVBFTkRTID0gInhpbnB1dCBnbm9tZS1wYW5lbCB0Y3Atd3JhcHBlcnMgbGliY2FuYmVycmEgbGlieGtsYXZpZXIgZ3JlcCBjb25zb2xla2l0IGxpYnBhbSBnbm9tZS1kb2MtdXRpbHMgZ3RrKyB4cmRiIgorCitQUiA9ICJyMTgiCisKK2luaGVyaXQgZ25vbWUgdXBkYXRlLXJjLmQgc3lzdGVtZCB1c2VyYWRkCisKK1NSQ19VUkkgKz0gIiBcCisgICAgZmlsZTovL2Nyb3NzLXhkZXRlY3Rpb24uZGlmZiBcCisgICAgZmlsZTovLzAwMDEtUmVtb3ZlLXVzZXItc3dpdGNoLWFwcGxldC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItZ2RtLXVzZXItbWFuYWdlci5jLWF2b2lkLWRpc3BsYXlpbmctc3lzdGVtLXVzZXJzLWluLS5wYXRjaCBcCisgICAgZmlsZTovL3N5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoIFwKKyAgICBmaWxlOi8vJWdjb25mLXRyZWUueG1sIFwKKyAgICBmaWxlOi8vZ2RtIFwKKyAgICBmaWxlOi8vZ2RtLmNvbmYgXAorICAgIGZpbGU6Ly9nZG0tcGFtIFwKKyAgICBmaWxlOi8vRGVmYXVsdCBcCisgICAgZmlsZTovL2dkbS5zZXJ2aWNlLmluIFwKKyIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZGJlNTE4N2EyZTE3ODgxY2M0NTRlMzEzZTBhZThkMWUiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIwMzRkMjNhZjBlYTE4ZDg2ZTU1NDNlNzA3MjEyZDkyOTdlYzdkODNmMjIxODA4OTY4YWYyNjZkYmViYzBlNzAzIgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWVuYWJsZS1hdXRoZW50aWNhdGlvbi1zY2hlbWU9c2hhZG93IFwKKyAgICAtLWVuYWJsZS1kZWJ1Zz15ZXMgXAorICAgIC0td2l0aC1jb25zb2xlLWtpdCBcCisgICAgLS1kaXNhYmxlLXNjcm9sbGtlZXBlciBcCisiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAiczpcYmRvY3M6OmciICR7U30vTWFrZWZpbGUuYW0KK30KKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9nZG0vLmdjb25mLm1hbmRhdG9yeQorICAgIGluc3RhbGwgJHtXT1JLRElSfS8lZ2NvbmYtdHJlZS54bWwgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9nZG0vLmdjb25mLm1hbmRhdG9yeS8KK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZ2RtICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvCisKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9nZG0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9nZG0uY29uZiAke0R9LyR7c3lzY29uZmRpcn0vZ2RtLworCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vcGFtLmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9nZG0tcGFtICAgICAgICR7RH0vJHtzeXNjb25mZGlyfS9wYW0uZC9nZG0KKyAgICBybSAtZiAke0R9LyR7c3lzY29uZmRpcn0vcGFtLmQvZ2RtLWF1dG9sb2dpbgorCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vZ2RtL0luaXQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9EZWZhdWx0ICR7RH0vJHtzeXNjb25mZGlyfS9nZG0vSW5pdAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtZSAncywlc2JpbmRpciUsJHtzYmluZGlyfSxnJyBcCisgICAgICAgIDwgJHtXT1JLRElSfS9nZG0uc2VydmljZS5pbiBcCisgICAgICAgID4gJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZ2RtLnNlcnZpY2UKKworICAgIGNob3duIC1SIGdkbTpnZG0gJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2dkbQorICAgIGNobW9kIDA3NTAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2dkbQorCisgICAgcm0gLXJmICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9IgorCisgICAgcm0gLWYgJHtEfSR7ZGF0YWRpcn0vZ2RtL2F1dG9zdGFydC9Mb2dpbldpbmRvdy9hdC1zcGktcmVnaXN0cnlkLXdyYXBwZXIuZGVza3RvcAorICAgIHJtIC1mICR7RH0ke2RhdGFkaXJ9L2dkbS9hdXRvc3RhcnQvTG9naW5XaW5kb3cvb3JjYS1zY3JlZW4tcmVhZGVyLmRlc2t0b3AKKyAgICBybSAtZiAke0R9JHtkYXRhZGlyfS9nZG0vYXV0b3N0YXJ0L0xvZ2luV2luZG93L2dub21lLW1hZy5kZXNrdG9wCisgICAgcm0gLWYgJHtEfSR7ZGF0YWRpcn0vZ2RtL2F1dG9zdGFydC9Mb2dpbldpbmRvdy9nb2suZGVza3RvcAorICAgIHJtIC1mICR7RH0ke2RhdGFkaXJ9L2dkbS9hdXRvc3RhcnQvTG9naW5XaW5kb3cvbWV0YWNpdHkuZGVza3RvcAorfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29uKiBcCisgICAgJHtkYXRhZGlyfS94c2Vzc2lvbiogXAorIgorCitSREVQRU5EU18ke1BOfSArPSAiZ3JlcCBkYnVzLXgxMSBzaGFkb3ciCisjICJsaWJwYW0tYmFzZS1maWxlcyIKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9nZG0vZ2RtLmNvbmYgJHtzeXNjb25mZGlyfS9pbml0LmQvZ2RtIgorUlJFQ09NTUVORFNfJHtQTn0gKz0gIm9wZW5zc2gtbWlzYyBkZXNrdG9wLWZpbGUtdXRpbHMgZ2xpYi0yLjAtdXRpbHMgbWV0YWNpdHkgZ25vbWUtc2Vzc2lvbiBwb2xraXQtZ25vbWUgY29uc29sZWtpdCIKKworUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJnZG0uc2VydmljZSIKKworSU5JVFNDUklQVF9OQU1FID0gImdkbSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDk5IDUgLiBzdG9wIDIwIDAgMSAyIDMgNiAuIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0taG9tZSAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9nZG0gLS11c2VyLWdyb3VwIGdkbSIKKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyMgUmVnaXN0ZXIgdXAgYXMgZGVmYXVsdCBkbQorbWtkaXIgLXAgJEQke3N5c2NvbmZkaXJ9L1gxMS8KK2VjaG8gIiR7YmluZGlyfS9nZG0iID4gJEQke3N5c2NvbmZkaXJ9L1gxMS9kZWZhdWx0LWRpc3BsYXktbWFuYWdlcgorfQorCitwa2dfcG9zdHJtXyR7UE59ICgpIHsKKyAgICBkZWx1c2VyIGdkbSB8fCB0cnVlCisgICAgZGVsZ3JvdXAgZ2RtIHx8IHRydWUKKyAgICBzZWQgLWkgL2dkbS9kICR7c3lzY29uZmRpcn0vWDExL2RlZmF1bHQtZGlzcGxheS1tYW5hZ2VyIHx8IHRydWUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dlZGl0L2ZpbGVzLzAwMDEtd29ya2Fyb3VuZC12b2lkLXBvaW50ZXItYXJpdGhtZXRpYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dlZGl0L2ZpbGVzLzAwMDEtd29ya2Fyb3VuZC12b2lkLXBvaW50ZXItYXJpdGhtZXRpYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjg4MDhiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2VkaXQvZmlsZXMvMDAwMS13b3JrYXJvdW5kLXZvaWQtcG9pbnRlci1hcml0aG1ldGljLnBhdGNoCkBAIC0wLDAgKzEsNTcgQEAKK0Zyb20gOGUwY2JmYWMxNDJkMzgzMjBkZDAyNDE2NjAxZTE0YzY1NTg1Y2QxNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFNhdCwgOSBNYXIgMjAxMyAxMjo0NzowNiArMDEwMAorU3ViamVjdDogW1BBVENIXSB3b3JrYXJvdW5kIHZvaWQgcG9pbnRlciBhcml0aG1ldGljCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK2ZpeGVzIGVycm9ycyBsaWtlOgorZXJyb3I6IHBvaW50ZXIgb2YgdHlwZSAndm9pZCAqJyB1c2VkIGluIGFyaXRobWV0aWMgWy1XZXJyb3I9cG9pbnRlci1hcml0aF0KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBnZWRpdC9nZWRpdC1kb2N1bWVudC1pbnB1dC1zdHJlYW0uYyAgIHwgICAgNCArKy0tCisgZ2VkaXQvZ2VkaXQtc21hcnQtY2hhcnNldC1jb252ZXJ0ZXIuYyB8ICAgIDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dlZGl0L2dlZGl0LWRvY3VtZW50LWlucHV0LXN0cmVhbS5jIGIvZ2VkaXQvZ2VkaXQtZG9jdW1lbnQtaW5wdXQtc3RyZWFtLmMKK2luZGV4IDVhMWY5NjEuLjM4MzE2ZTcgMTAwNjQ0CistLS0gYS9nZWRpdC9nZWRpdC1kb2N1bWVudC1pbnB1dC1zdHJlYW0uYworKysrIGIvZ2VkaXQvZ2VkaXQtZG9jdW1lbnQtaW5wdXQtc3RyZWFtLmMKK0BAIC00MjYsNyArNDI2LDcgQEAgZ2VkaXRfZG9jdW1lbnRfaW5wdXRfc3RyZWFtX3JlYWQgKEdJbnB1dFN0cmVhbSAgKnN0cmVhbSwKKyAKKyAJZG8KKyAJeworLQkJbiA9IHJlYWRfbGluZSAoZHN0cmVhbSwgYnVmZmVyICsgcmVhZCwgc3BhY2VfbGVmdCk7CisrCQluID0gcmVhZF9saW5lIChkc3RyZWFtLCAoKGNoYXIqKWJ1ZmZlcikgKyByZWFkLCBzcGFjZV9sZWZ0KTsKKyAJCXJlYWQgKz0gbjsKKyAJCXNwYWNlX2xlZnQgLT0gbjsKKyAJfSB3aGlsZSAoc3BhY2VfbGVmdCA+IDAgJiYgbiAhPSAwICYmIGRzdHJlYW0tPnByaXYtPmJ5dGVzX3BhcnRpYWwgPT0gMCk7CitAQCAtNDUxLDcgKzQ1MSw3IEBAIGdlZGl0X2RvY3VtZW50X2lucHV0X3N0cmVhbV9yZWFkIChHSW5wdXRTdHJlYW0gICpzdHJlYW0sCisgCisgCQkJbmV3bGluZSA9IGdldF9uZXdfbGluZSAoZHN0cmVhbSk7CisgCistCQkJbWVtY3B5IChidWZmZXIgKyByZWFkLCBuZXdsaW5lLCBuZXdsaW5lX3NpemUpOworKwkJCW1lbWNweSAoKChjaGFyKilidWZmZXIpICsgcmVhZCwgbmV3bGluZSwgbmV3bGluZV9zaXplKTsKKyAKKyAJCQlyZWFkICs9IG5ld2xpbmVfc2l6ZTsKKyAJCQlkc3RyZWFtLT5wcml2LT5uZXdsaW5lX2FkZGVkID0gVFJVRTsKK2RpZmYgLS1naXQgYS9nZWRpdC9nZWRpdC1zbWFydC1jaGFyc2V0LWNvbnZlcnRlci5jIGIvZ2VkaXQvZ2VkaXQtc21hcnQtY2hhcnNldC1jb252ZXJ0ZXIuYworaW5kZXggZTMyYjBiMS4uNjc0NWNlMyAxMDA2NDQKKy0tLSBhL2dlZGl0L2dlZGl0LXNtYXJ0LWNoYXJzZXQtY29udmVydGVyLmMKKysrKyBiL2dlZGl0L2dlZGl0LXNtYXJ0LWNoYXJzZXQtY29udmVydGVyLmMKK0BAIC0xNTMsNyArMTUzLDcgQEAgdHJ5X2NvbnZlcnQgKEdDaGFyc2V0Q29udmVydGVyICpjb252ZXJ0ZXIsCisgCWRvCisgCXsKKyAJCXJlcyA9IGdfY29udmVydGVyX2NvbnZlcnQgKEdfQ09OVkVSVEVSIChjb252ZXJ0ZXIpLAorLQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5idWYgKyBucmVhZCwKKysJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICgoY29uc3QgY2hhciopaW5idWYpICsgbnJlYWQsCisgCQkgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmJ1Zl9zaXplIC0gbnJlYWQsCisgCQkgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgKyBud3JpdHRlbiwKKyAJCSAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dF9zaXplIC0gbndyaXR0ZW4sCistLSAKKzEuNy40LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2VkaXQvZ2VkaXRfMi4zMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ2VkaXQvZ2VkaXRfMi4zMC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjN2I3ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nZWRpdC9nZWRpdF8yLjMwLjQuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJHTk9NRSBlZGl0b3IiCitTRUNUSU9OID0gIngxMS9nbm9tZSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorUFIgPSAicjIiCisKK0RFUEVORFMgPSAiZ3ZmcyBlbmNoYW50IGdjb25mIGdub21lLWRvYy11dGlscyBnbm9tZS1kb2MtdXRpbHMtbmF0aXZlIGdsaWItMi4wIGd0aysgZ3Rrc291cmNldmlldzIgaXNvLWNvZGVzIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworaW5oZXJpdCBnbm9tZSBnZXR0ZXh0IHB5dGhvbm5hdGl2ZQorU1JDX1VSSSs9ICJmaWxlOi8vMDAwMS13b3JrYXJvdW5kLXZvaWQtcG9pbnRlci1hcml0aG1ldGljLnBhdGNoIgorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZTFlZWNiMGE5MmExYTM2M2IzZDM3NWVjNWFjMGZiM2IiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJhNTYxZmUzZGQxZDE5OWJhZWRlMWJkMDdjNGVlNjVmMDZmYzdjNDk0ZGQ0ZDMzMjcxMTdmMDQxNDlhNjA4ZTNjIgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXNjcm9sbGtlZXBlciBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtZ3Zmcy1tZXRhZGF0YSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgY2QgJHtTfQorICAgIGdub21lLWRvYy1jb21tb24gLS1jb3B5IHx8IHRydWUKKyAgICBnbm9tZS1kb2MtcHJlcGFyZSAtLWZvcmNlIC0tY29weSB8fCB0cnVlCisgICAgY2QgJHtCfQorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dlZGl0LTIvcGx1Z2luKiAke2RhdGFkaXJ9L2dlZGl0LTIiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9nZWRpdC0yL3BsdWdpbi1sb2FkZXJzLy5kZWJ1ZyAke2xpYmRpcn0vZ2VkaXQtMi9wbHVnaW5zLy5kZWJ1ZyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtYmFja2dyb3VuZHMvZ25vbWUtYmFja2dyb3VuZHNfMi4zMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtYmFja2dyb3VuZHMvZ25vbWUtYmFja2dyb3VuZHNfMi4zMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhZGI4MWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1iYWNrZ3JvdW5kcy9nbm9tZS1iYWNrZ3JvdW5kc18yLjMyLjAuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJHbm9tZSBiYWNrZ3JvdW5kIGltYWdlcyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTRUNUSU9OID0gIngxMS9nbm9tZSIKKworIyBnbGliLTIuMCBmb3IgZ2xpYi1nZXR0ZXh0Lm00IHdoaWNoIHByb3ZpZGVzIEFNX0dMSUJfR05VX0dFVFRFWFQKKyMgaW50bHRvb2wtbmF0aXZlIGZvciBJVF9QUk9HX0lOVExUT09MKDAuMzUuMCkKK0RFUEVORFMgPSAiZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IGdub21lYmFzZQorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzZGYyNjYyNjQ4M2IwMmU1MWFkZWZjNmFiNTk0NWE4ZCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjRkN2I2MGI1YmE3NjhiZjg4MzRiNWZhM2EzNDcxY2Q5YTllMTRiNTg4NGJjMjEwZGMyZDNjZGJmMWZhZGRjZWYiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2dub21lLWJhY2tncm91bmQtcHJvcGVydGllcyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtYmx1ZXRvb3RoL2dub21lLWJsdWV0b290aF8zLjE4LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1ibHVldG9vdGgvZ25vbWUtYmx1ZXRvb3RoXzMuMTguMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjA2NGMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtYmx1ZXRvb3RoL2dub21lLWJsdWV0b290aF8zLjE4LjIuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJHTk9NRSBibHVldG9vdGggbWFuYWdlciIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWViNzIzYjYxNTM5ZmVlZjAxM2RlNDc2ZTY4YjVjNTBhIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyBcCisiCisKK1NFQ1RJT04gPSAieDExL2dub21lIgorCitERVBFTkRTID0gInVkZXYgZ3RrKzMgbGlibm90aWZ5IGxpYmNhbmJlcnJhIgorREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ2JsdWV6NScsJ2JsdWV6NScsJ2JsdWV6NCcsZCl9IgorCitpbmhlcml0IGdub21lYmFzZSBndGstaWNvbi1jYWNoZSBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNzVkMDljOTI0NDY4ZWMwYzY4N2Y5YWIzYWNmN2YxMTMiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJkOGRmMDczYzMzMWRmMGY5NzI2MTg2OWZiNzdmZmNkYmY0ZTNlNGVhZjQ2MGQzYzNlZDJiMTZlMDNkOWM1Mzk4IgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9nbm9tZS1ibHVldG9vdGgvcGx1Z2lucy8uZGVidWcvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtY29udHJvbC1jZW50ZXIvZ25vbWUtY29udHJvbC1jZW50ZXJfMi4zMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtY29udHJvbC1jZW50ZXIvZ25vbWUtY29udHJvbC1jZW50ZXJfMi4zMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2YjkxM2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1jb250cm9sLWNlbnRlci9nbm9tZS1jb250cm9sLWNlbnRlcl8yLjMyLjEuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJHTk9NRSBjb250cm9sIGNlbnRlciIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJkZXNrdG9wLWZpbGUtdXRpbHMtbmF0aXZlIGdub21lLW1lbnVzIGxpYnVuaXF1ZSBkYnVzLWdsaWIgZ25vbWUtZGVza3RvcCBsaWJ4bWwyIG1ldGFjaXR5IGdjb25mIGdub21lLXNldHRpbmdzLWRhZW1vbiBsaWJyc3ZnIHBhbmdvIGxpYmdub21la2JkIGxpYnhrbGF2aWVyIGxpYmNhbmJlcnJhIGxpYmd0b3AgbGlieHNjcm5zYXZlciIKKworUFIgPSAicjEiCisKK2luaGVyaXQgZ25vbWUKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiYjRlOGFiNWM3NTU2YWUwN2FkZGJmY2ZiNGZhMmY3NjEiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI3YzU2OGI1NzM1OGU1YzA4ZjRkOGRkNzZkYmFjN2RmMjUzOTEzNWFkMDgxODcyYjYwNTE0YjdhOGFjNzk3ZTY2IgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitMREZMQUdTICs9ICItbGd0aHJlYWQtMi4wIC1seG1sMiIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIHM6aGVscDo6ZyAke1N9L01ha2VmaWxlLmFtCit9Citkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAtcmYgJHtEfSR7ZGF0YWRpcn0vbWltZQorfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29uKiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS94c2Vzc2lvbiogXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS93aW5kb3ctbWFuYWdlci1zZXR0aW5ncy8qLnNvIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2dub21lIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2Rlc2t0b3AtZGlyZWN0b3JpZXMgXAorIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vd2luZG93LW1hbmFnZXItc2V0dGluZ3MvLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vd2luZG93LW1hbmFnZXItc2V0dGluZ3MvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L3dpbmRvdy1tYW5hZ2VyLXNldHRpbmdzLyouYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRlc2t0b3AvZ25vbWUtZGVza3RvcF8yLjMyLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kZXNrdG9wL2dub21lLWRlc2t0b3BfMi4zMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwM2MzOTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kZXNrdG9wL2dub21lLWRlc2t0b3BfMi4zMi4xLmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiR05PTUUgbGlicmFyeSBmb3IgcmVhZGluZyAuZGVza3RvcCBmaWxlcyIKK1NFQ1RJT04gPSAieDExL2dub21lIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiIKKworUFIgPSAicjYiCisKK2luaGVyaXQgZ25vbWUgcGtnY29uZmlnCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjVjODBkNjI4YTI0MGViOWQ5ZmY3ODkxM2IzMWYyZjY3IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNTVjYmVjZjY3ZWZlMWZhMWU1N2FjOTY2NTIwYTdjNDZkNzk5YzhiYTNjNjUyYTEyMTlmNjBjYWZjY2IzNzM5ZCIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworREVQRU5EUyArPSAiZ2NvbmYgbGlieHJhbmRyIHZpcnR1YWwvbGlieDExIGd0aysgZ2xpYi0yLjAgZ25vbWUtZG9jLXV0aWxzIHN0YXJ0dXAtbm90aWZpY2F0aW9uIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXNjcm9sbGtlZXBlciAtLWRpc2FibGUtZGVza3RvcC1kb2NzIC0tZGlzYWJsZS1nbm9tZS1hYm91dCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIHNlZCAtaSAtZSBzOl4jIUBQWVRIT05AOiMhJHtiaW5kaXJ9L3B5dGhvbjogJHtTfS9nbm9tZS1hYm91dC9nbm9tZS1hYm91dC5pbgorfQorCitQQUNLQUdFUyA9KyAibGliZ25vbWUtZGVza3RvcCIKK0ZJTEVTX2xpYmdub21lLWRlc2t0b3AgPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30gJHtkYXRhZGlyfS9saWJnbm9tZS1kZXNrdG9wL3BucC5pZHMiCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9nbm9tZS1hYm91dCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvMDAwMS1BZGQtc3VwcG9ydC1mb3ItRGV2aWNlQXV0b21vdW50SGludC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvMDAwMS1BZGQtc3VwcG9ydC1mb3ItRGV2aWNlQXV0b21vdW50SGludC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDVlOTM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eS8wMDAxLUFkZC1zdXBwb3J0LWZvci1EZXZpY2VBdXRvbW91bnRIaW50LnBhdGNoCkBAIC0wLDAgKzEsNzQgQEAKK0Zyb20gN2RkZTViYzc1YTFkOTZiZTk1MTBjZTFlOThkMjhmOWQzMzUyMDkxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERhdmlkIFpldXRoZW4gPGRhdmlkekByZWRoYXQuY29tPgorRGF0ZTogRnJpLCA4IEp1bCAyMDExIDExOjAzOjUyIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzdXBwb3J0IGZvciBEZXZpY2VBdXRvbW91bnRIaW50CisKK0Jhc2VkIG9uIHRoZSBwYXRjaCBpbiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzMTg0CisKK1Vwc3RyZWFtLVN0YXR1czogQXBwbGllZCBbMV0KKworWzFdIGh0dHBzOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMvY29tbWl0cy1saXN0LzIwMTEtSnVseS9tc2cwMzIwNy5odG1sCisKK1NpZ25lZC1vZmYtYnk6IERhdmlkIFpldXRoZW4gPGRhdmlkekByZWRoYXQuY29tPgorLS0tCisgc3JjL2dkdS9nZHUtZGV2aWNlLmMgfCAgIDEwICsrKysrKysrKysKKyBzcmMvZ2R1L2dkdS1kZXZpY2UuaCB8ICAgIDEgKworIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9nZHUvZ2R1LWRldmljZS5jIGIvc3JjL2dkdS9nZHUtZGV2aWNlLmMKK2luZGV4IDZhNWFmYWQuLjRiZTM5Y2YgMTAwNjQ0CistLS0gYS9zcmMvZ2R1L2dkdS1kZXZpY2UuYworKysrIGIvc3JjL2dkdS9nZHUtZGV2aWNlLmMKK0BAIC04Miw2ICs4Miw3IEBAIHR5cGVkZWYgc3RydWN0CisgICBnYm9vbGVhbiBkZXZpY2VfcHJlc2VudGF0aW9uX25vcG9saWN5OworICAgY2hhciAqZGV2aWNlX3ByZXNlbnRhdGlvbl9uYW1lOworICAgY2hhciAqZGV2aWNlX3ByZXNlbnRhdGlvbl9pY29uX25hbWU7CisrICBjaGFyICpkZXZpY2VfYXV0b21vdW50X2hpbnQ7CisgICBndWludDY0IGRldmljZV9zaXplOworICAgZ3VpbnQ2NCBkZXZpY2VfYmxvY2tfc2l6ZTsKKyAKK0BAIC0yNzksNiArMjgwLDggQEAgY29sbGVjdF9wcm9wcyAoY29uc3QgY2hhciAqa2V5LAorICAgICBwcm9wcy0+ZGV2aWNlX3ByZXNlbnRhdGlvbl9uYW1lID0gZ19zdHJkdXAgKGdfdmFsdWVfZ2V0X3N0cmluZyAodmFsdWUpKTsKKyAgIGVsc2UgaWYgKHN0cmNtcCAoa2V5LCAiRGV2aWNlUHJlc2VudGF0aW9uSWNvbk5hbWUiKSA9PSAwKQorICAgICBwcm9wcy0+ZGV2aWNlX3ByZXNlbnRhdGlvbl9pY29uX25hbWUgPSBnX3N0cmR1cCAoZ192YWx1ZV9nZXRfc3RyaW5nICh2YWx1ZSkpOworKyAgZWxzZSBpZiAoc3RyY21wIChrZXksICJEZXZpY2VBdXRvbW91bnRIaW50IikgPT0gMCkKKysgICAgcHJvcHMtPmRldmljZV9hdXRvbW91bnRfaGludCA9IGdfc3RyZHVwIChnX3ZhbHVlX2dldF9zdHJpbmcgKHZhbHVlKSk7CisgICBlbHNlIGlmIChzdHJjbXAgKGtleSwgIkRldmljZVNpemUiKSA9PSAwKQorICAgICBwcm9wcy0+ZGV2aWNlX3NpemUgPSBnX3ZhbHVlX2dldF91aW50NjQgKHZhbHVlKTsKKyAgIGVsc2UgaWYgKHN0cmNtcCAoa2V5LCAiRGV2aWNlQmxvY2tTaXplIikgPT0gMCkKK0BAIC01NDksNiArNTUyLDcgQEAgZGV2aWNlX3Byb3BlcnRpZXNfZnJlZSAoRGV2aWNlUHJvcGVydGllcyAqcHJvcHMpCisgICBnX3N0cmZyZWV2IChwcm9wcy0+ZGV2aWNlX21vdW50X3BhdGhzKTsKKyAgIGdfZnJlZSAocHJvcHMtPmRldmljZV9wcmVzZW50YXRpb25fbmFtZSk7CisgICBnX2ZyZWUgKHByb3BzLT5kZXZpY2VfcHJlc2VudGF0aW9uX2ljb25fbmFtZSk7CisrICBnX2ZyZWUgKHByb3BzLT5kZXZpY2VfYXV0b21vdW50X2hpbnQpOworICAgZ19mcmVlIChwcm9wcy0+am9iX2lkKTsKKyAgIGdfZnJlZSAocHJvcHMtPmlkX3VzYWdlKTsKKyAgIGdfZnJlZSAocHJvcHMtPmlkX3R5cGUpOworQEAgLTEyOTQsNiArMTI5OCwxMiBAQCBnZHVfZGV2aWNlX2RyaXZlX2dldF9tZWRpYV9jb21wYXRpYmlsaXR5IChHZHVEZXZpY2UgKmRldmljZSkKKyB9CisgCisgY29uc3QgY2hhciAqCisrZ2R1X2RldmljZV9nZXRfYXV0b21vdW50X2hpbnQgKEdkdURldmljZSAqZGV2aWNlKQorK3sKKysgICAgICAgIHJldHVybiBkZXZpY2UtPnByaXYtPnByb3BzLT5kZXZpY2VfYXV0b21vdW50X2hpbnQ7CisrfQorKworK2NvbnN0IGNoYXIgKgorIGdkdV9kZXZpY2VfZHJpdmVfZ2V0X21lZGlhIChHZHVEZXZpY2UgKmRldmljZSkKKyB7CisgICAgICAgICByZXR1cm4gZGV2aWNlLT5wcml2LT5wcm9wcy0+ZHJpdmVfbWVkaWE7CitkaWZmIC0tZ2l0IGEvc3JjL2dkdS9nZHUtZGV2aWNlLmggYi9zcmMvZ2R1L2dkdS1kZXZpY2UuaAoraW5kZXggNGMxMzAyYi4uOGNmZDdhOSAxMDA2NDQKKy0tLSBhL3NyYy9nZHUvZ2R1LWRldmljZS5oCisrKysgYi9zcmMvZ2R1L2dkdS1kZXZpY2UuaAorQEAgLTE0Myw2ICsxNDMsNyBAQCBjb25zdCBjaGFyICpnZHVfZGV2aWNlX2RyaXZlX2dldF93d24gKEdkdURldmljZSAqZGV2aWNlKTsKKyBjb25zdCBjaGFyICpnZHVfZGV2aWNlX2RyaXZlX2dldF9jb25uZWN0aW9uX2ludGVyZmFjZSAoR2R1RGV2aWNlICpkZXZpY2UpOworIGd1aW50NjQgZ2R1X2RldmljZV9kcml2ZV9nZXRfY29ubmVjdGlvbl9zcGVlZCAoR2R1RGV2aWNlICpkZXZpY2UpOworIGNoYXIgKipnZHVfZGV2aWNlX2RyaXZlX2dldF9tZWRpYV9jb21wYXRpYmlsaXR5IChHZHVEZXZpY2UgKmRldmljZSk7CisrY29uc3QgZ2NoYXIgKmdkdV9kZXZpY2VfZ2V0X2F1dG9tb3VudF9oaW50KEdkdURldmljZSAqZGV2aWNlKTsKKyBjb25zdCBjaGFyICpnZHVfZGV2aWNlX2RyaXZlX2dldF9tZWRpYSAoR2R1RGV2aWNlICpkZXZpY2UpOworIGdib29sZWFuIGdkdV9kZXZpY2VfZHJpdmVfZ2V0X2lzX21lZGlhX2VqZWN0YWJsZSAoR2R1RGV2aWNlICpkZXZpY2UpOworIGdib29sZWFuIGdkdV9kZXZpY2VfZHJpdmVfZ2V0X3JlcXVpcmVzX2VqZWN0IChHZHVEZXZpY2UgKmRldmljZSk7CistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eS8wMDAyLVJlcXVpcmUtbGlibm90aWZ5LTAuNi4xLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eS8wMDAyLVJlcXVpcmUtbGlibm90aWZ5LTAuNi4xLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiYzk3MDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kaXNrLXV0aWxpdHkvZ25vbWUtZGlzay11dGlsaXR5LzAwMDItUmVxdWlyZS1saWJub3RpZnktMC42LjEucGF0Y2gKQEAgLTAsMCArMSw0OSBAQAorRnJvbSBmOGRlYThkZDQxMWNiYTEwYTU0ZWMwODNjM2Q1YzlkNjQxZWMzNmMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2lsbGlhbSBKb24gTWNDYW5uIDxqbWNjYW5uQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDEyIE9jdCAyMDEwIDAwOjEyOjQ5IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlcXVpcmUgbGlibm90aWZ5IDAuNi4xCisKK2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzE5NDAKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbMV0KKworWzFdIGh0dHBzOi8vZ2l0Lmdub21lLm9yZy9icm93c2UvZ25vbWUtZGlzay11dGlsaXR5L2NvbW1pdC8/aWQ9ZjhkZWE4ZGQ0MTFjYmExMGE1NGVjMDgzYzNkNWM5ZDY0MWVjMzZjMAorCitTaWduZWQtb2ZmLWJ5OiBEYXZpZCBaZXV0aGVuIDxkYXZpZHpAcmVkaGF0LmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBzcmMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi1tYWluLmMgfCA1ICstLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGM2MTIxMmUuLjM3OTBmY2YgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEyOCw3ICsxMjgsNyBAQCBEQlVTX0dMSUJfUkVRVUlSRUQ9MC43NAorIEdOT01FX0tFWVJJTkdfUkVRVUlSRUQ9Mi4yMgorIEdUSzJfUkVRVUlSRUQ9Mi4yMC4wCisgVU5JUVVFX1JFUVVJUkVEPTEuMAorLUxJQk5PVElGWV9SRVFVSVJFRD0wLjMuMAorK0xJQk5PVElGWV9SRVFVSVJFRD0wLjYuMQorIE5BVVRJTFVTX1JFUVVJUkVEPTIuMjQuMAorIEFWQUhJX1VJX1JFUVVJUkVEPTAuNi4yNQorIAorZGlmZiAtLWdpdCBhL3NyYy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLW1haW4uYyBiL3NyYy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLW1haW4uYworaW5kZXggMThlOTY3Mi4uYjZhNzEzZiAxMDA2NDQKKy0tLSBhL3NyYy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLW1haW4uYworKysrIGIvc3JjL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24tbWFpbi5jCitAQCAtNTM1LDEwICs1MzUsNyBAQCB1cGRhdGVfc3RhdHVzX2ljb24gKE5vdGlmaWNhdGlvbkRhdGEgKmRhdGEpCisgICAgICAgICAgICAgICAgICAgICBfKCJBIGhhcmQgZGlzayBtYXkgYmUgZmFpbGluZyIpLAorICAgICAgICAgICAgICAgICAgICAgLyogVHJhbnNsYXRvcnM6IFRoaXMgaXMgdXNlZCBhcyB0aGUgdGV4dCBvZiB0aGUgbm90aWZpY2F0aW9uKi8KKyAgICAgICAgICAgICAgICAgICAgIF8oIk9uZSBvciBtb3JlIGhhcmQgZGlza3MgcmVwb3J0IGhlYWx0aCBwcm9ibGVtcy4gQ2xpY2sgdGhlIGljb24gdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uIiksCistICAgICAgICAgICAgICAgICAgICAiZ3RrLWRpYWxvZy13YXJuaW5nIiwKKy0gICAgICAgICAgICAgICAgICAgIE5VTEwpOworLSAgICAgICAgICAgICAgICBub3RpZnlfbm90aWZpY2F0aW9uX2F0dGFjaF90b19zdGF0dXNfaWNvbiAoZGF0YS0+YXRhX3NtYXJ0X25vdGlmaWNhdGlvbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtPnN0YXR1c19pY29uKTsKKysgICAgICAgICAgICAgICAgICAgICJndGstZGlhbG9nLXdhcm5pbmciKTsKKyAgICAgICAgICAgICAgICAgbm90aWZ5X25vdGlmaWNhdGlvbl9zZXRfdXJnZW5jeSAoZGF0YS0+YXRhX3NtYXJ0X25vdGlmaWNhdGlvbiwgTk9USUZZX1VSR0VOQ1lfQ1JJVElDQUwpOworICAgICAgICAgICAgICAgICBub3RpZnlfbm90aWZpY2F0aW9uX3NldF90aW1lb3V0IChkYXRhLT5hdGFfc21hcnRfbm90aWZpY2F0aW9uLCBOT1RJRllfRVhQSVJFU19ORVZFUik7CisgICAgICAgICAgICAgICAgIHNob3dfbm90aWZpY2F0aW9uIChkYXRhKTsKKy0tIAorMi4xLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eS9kaXNhYmxlLXNjcm9sbGtlZXBlci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvZGlzYWJsZS1zY3JvbGxrZWVwZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM2OTQyZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvZGlzYWJsZS1zY3JvbGxrZWVwZXIucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbTogRG1pdHJ5IEVyZW1pbi1Tb2xlbmlrb3YgPGRiYXJ5c2hrb3ZAZ21haWwuY29tPgorU3ViamVjdDogRGlzYWJsZSBzY3JvbGxrZWVwZXItY29uZmlnIG5vdCBmb3VuZCBtZXNzYWdlCitVcHN0cmVhbS1TdGF0dXM6IE5vdC1BcHBsaWNhYmxlCisKK0lmIHNjcm9sbGtlZXBlci1jb25maWcgaXNuJ3QgZm91bmQsIGNvbmZpZ3VyZSBmYWlscyB3aXRoIGFuIGVycm9yLgorRml4IHRoYXQgYnkgY29tbWVudGluZyBvdXQgdGhlIGNoZWNrLgorCitTaWduZWQtT2ZmLUJ5OiBEbWl0cnkgRXJlbWluLVNvbGVuaWtvdiA8ZGJhcnlzaGtvdkBnbWFpbC5jb20+CisKKworSW5kZXg6IGdub21lLWRpc2stdXRpbGl0eS0yLjMyLjAvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ25vbWUtZGlzay11dGlsaXR5LTIuMzIuMC5vcmlnL2NvbmZpZ3VyZS5hYwkyMDEwLTA5LTE1IDE5OjA3OjI1LjAwMDAwMDAwMCArMDQwMAorKysrIGdub21lLWRpc2stdXRpbGl0eS0yLjMyLjAvY29uZmlndXJlLmFjCTIwMTEtMDgtMjAgMDE6Mjk6NDguMDAwMDAwMDAwICswNDAwCitAQCAtMTg4LDkgKzE4OCw5IEBACisgIyAqKioqKioqKioqKioqCisKKyBBQ19QQVRIX1BST0coU0NST0xMS0VFUEVSX0NPTkZJRywgc2Nyb2xsa2VlcGVyLWNvbmZpZyxubykKKy1pZiB0ZXN0IHgkU0NST0xMS0VFUEVSX0NPTkZJRyA9IHhubzsgdGhlbgorLSAgQUNfTVNHX0VSUk9SKENvdWxkbid0IGZpbmQgc2Nyb2xsa2VlcGVyLWNvbmZpZywgcGxlYXNlIGluc3RhbGwgdGhlIHNjcm9sbGtlZXBlciBwYWNrYWdlKQorLWZpCisrZG5sIGlmIHRlc3QgeCRTQ1JPTExLRUVQRVJfQ09ORklHID0geG5vOyB0aGVuCisrZG5sICBBQ19NU0dfRVJST1IoW0NvdWxkbid0IGZpbmQgc2Nyb2xsa2VlcGVyLWNvbmZpZywgcGxlYXNlIGluc3RhbGwgdGhlIHNjcm9sbGtlZXBlciBwYWNrYWdlXSkKKytkbmwgZmkKKworICMgKioqKioqKioqKioqKioqKioqKioKKyAjIEludGVybmF0aW9uYWxpemF0aW9uCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kaXNrLXV0aWxpdHkvZ25vbWUtZGlzay11dGlsaXR5L2ZpeC1kYnVzLWludGVyZmFjZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kaXNrLXV0aWxpdHkvZ25vbWUtZGlzay11dGlsaXR5L2ZpeC1kYnVzLWludGVyZmFjZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJhMzk3OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvZml4LWRidXMtaW50ZXJmYWNlcy5wYXRjaApAQCAtMCwwICsxLDM0IEBACitJbmRleDogZ25vbWUtZGlzay11dGlsaXR5LTIuMzIuMC9zcmMvZ2R1L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ25vbWUtZGlzay11dGlsaXR5LTIuMzIuMC5vcmlnL3NyYy9nZHUvTWFrZWZpbGUuYW0JMjAxMS0wOC0yMCAwMTo1OToxNi4wMDAwMDAwMDAgKzA0MDAKKysrKyBnbm9tZS1kaXNrLXV0aWxpdHktMi4zMi4wL3NyYy9nZHUvTWFrZWZpbGUuYW0JMjAxMS0wOC0yMCAwMjowODoxOC4wMDAwMDAwMDAgKzA0MDAKK0BAIC0xNCwyMCArMTQsMjAgQEAKKyBnZHUtbWFyc2hhbC5jOiBnZHUtbWFyc2hhbC5saXN0CisJZWNobyAiI2luY2x1ZGUgXCJnZHUtbWFyc2hhbC5oXCIiID4gJEAgJiYgZ2xpYi1nZW5tYXJzaGFsICQ8IC0tcHJlZml4PWdkdV9tYXJzaGFsIC0tYm9keSA+PiAkQAorCistdWRpc2tzLWRhZW1vbi1nbHVlLmg6IC91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy54bWwgTWFrZWZpbGUuYW0KKy0JZGJ1cy1iaW5kaW5nLXRvb2wgLS1wcmVmaXg9ZGV2a2l0X2Rpc2tzX2RhZW1vbiAtLW1vZGU9Z2xpYi1jbGllbnQgLS1vdXRwdXQ9dWRpc2tzLWRhZW1vbi1nbHVlLmggL3Vzci9zaGFyZS9kYnVzLTEvaW50ZXJmYWNlcy9vcmcuZnJlZWRlc2t0b3AuVURpc2tzLnhtbAorK3VkaXNrcy1kYWVtb24tZ2x1ZS5oOiAkKFBLR19DT05GSUdfU1lTUk9PVF9ESVIpL3Vzci9zaGFyZS9kYnVzLTEvaW50ZXJmYWNlcy9vcmcuZnJlZWRlc2t0b3AuVURpc2tzLnhtbCBNYWtlZmlsZS5hbQorKwlkYnVzLWJpbmRpbmctdG9vbCAtLXByZWZpeD1kZXZraXRfZGlza3NfZGFlbW9uIC0tbW9kZT1nbGliLWNsaWVudCAtLW91dHB1dD11ZGlza3MtZGFlbW9uLWdsdWUuaCAkKFBLR19DT05GSUdfU1lTUk9PVF9ESVIpL3Vzci9zaGFyZS9kYnVzLTEvaW50ZXJmYWNlcy9vcmcuZnJlZWRlc2t0b3AuVURpc2tzLnhtbAorCistdWRpc2tzLWRldmljZS1nbHVlLmg6IC91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5EZXZpY2UueG1sIE1ha2VmaWxlLmFtCistCWRidXMtYmluZGluZy10b29sIC0tcHJlZml4PWRldmtpdF9kaXNrc19kYWVtb24gLS1tb2RlPWdsaWItY2xpZW50IC0tb3V0cHV0PXVkaXNrcy1kZXZpY2UtZ2x1ZS5oIC91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5EZXZpY2UueG1sCisrdWRpc2tzLWRldmljZS1nbHVlLmg6ICQoUEtHX0NPTkZJR19TWVNST09UX0RJUikvdXNyL3NoYXJlL2RidXMtMS9pbnRlcmZhY2VzL29yZy5mcmVlZGVza3RvcC5VRGlza3MuRGV2aWNlLnhtbCBNYWtlZmlsZS5hbQorKwlkYnVzLWJpbmRpbmctdG9vbCAtLXByZWZpeD1kZXZraXRfZGlza3NfZGFlbW9uIC0tbW9kZT1nbGliLWNsaWVudCAtLW91dHB1dD11ZGlza3MtZGV2aWNlLWdsdWUuaCAkKFBLR19DT05GSUdfU1lTUk9PVF9ESVIpL3Vzci9zaGFyZS9kYnVzLTEvaW50ZXJmYWNlcy9vcmcuZnJlZWRlc2t0b3AuVURpc2tzLkRldmljZS54bWwKKworLXVkaXNrcy1hZGFwdGVyLWdsdWUuaDogL3Vzci9zaGFyZS9kYnVzLTEvaW50ZXJmYWNlcy9vcmcuZnJlZWRlc2t0b3AuVURpc2tzLkFkYXB0ZXIueG1sIE1ha2VmaWxlLmFtCistCWRidXMtYmluZGluZy10b29sIC0tcHJlZml4PWRldmtpdF9kaXNrc19kYWVtb24gLS1tb2RlPWdsaWItY2xpZW50IC0tb3V0cHV0PXVkaXNrcy1hZGFwdGVyLWdsdWUuaCAvdXNyL3NoYXJlL2RidXMtMS9pbnRlcmZhY2VzL29yZy5mcmVlZGVza3RvcC5VRGlza3MuQWRhcHRlci54bWwKKyt1ZGlza3MtYWRhcHRlci1nbHVlLmg6ICQoUEtHX0NPTkZJR19TWVNST09UX0RJUikvdXNyL3NoYXJlL2RidXMtMS9pbnRlcmZhY2VzL29yZy5mcmVlZGVza3RvcC5VRGlza3MuQWRhcHRlci54bWwgTWFrZWZpbGUuYW0KKysJZGJ1cy1iaW5kaW5nLXRvb2wgLS1wcmVmaXg9ZGV2a2l0X2Rpc2tzX2RhZW1vbiAtLW1vZGU9Z2xpYi1jbGllbnQgLS1vdXRwdXQ9dWRpc2tzLWFkYXB0ZXItZ2x1ZS5oICQoUEtHX0NPTkZJR19TWVNST09UX0RJUikvdXNyL3NoYXJlL2RidXMtMS9pbnRlcmZhY2VzL29yZy5mcmVlZGVza3RvcC5VRGlza3MuQWRhcHRlci54bWwKKworLXVkaXNrcy1leHBhbmRlci1nbHVlLmg6IC91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5FeHBhbmRlci54bWwgTWFrZWZpbGUuYW0KKy0JZGJ1cy1iaW5kaW5nLXRvb2wgLS1wcmVmaXg9ZGV2a2l0X2Rpc2tzX2RhZW1vbiAtLW1vZGU9Z2xpYi1jbGllbnQgLS1vdXRwdXQ9dWRpc2tzLWV4cGFuZGVyLWdsdWUuaCAvdXNyL3NoYXJlL2RidXMtMS9pbnRlcmZhY2VzL29yZy5mcmVlZGVza3RvcC5VRGlza3MuRXhwYW5kZXIueG1sCisrdWRpc2tzLWV4cGFuZGVyLWdsdWUuaDogJChQS0dfQ09ORklHX1NZU1JPT1RfRElSKS91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5FeHBhbmRlci54bWwgTWFrZWZpbGUuYW0KKysJZGJ1cy1iaW5kaW5nLXRvb2wgLS1wcmVmaXg9ZGV2a2l0X2Rpc2tzX2RhZW1vbiAtLW1vZGU9Z2xpYi1jbGllbnQgLS1vdXRwdXQ9dWRpc2tzLWV4cGFuZGVyLWdsdWUuaCAkKFBLR19DT05GSUdfU1lTUk9PVF9ESVIpL3Vzci9zaGFyZS9kYnVzLTEvaW50ZXJmYWNlcy9vcmcuZnJlZWRlc2t0b3AuVURpc2tzLkV4cGFuZGVyLnhtbAorCistdWRpc2tzLXBvcnQtZ2x1ZS5oOiAvdXNyL3NoYXJlL2RidXMtMS9pbnRlcmZhY2VzL29yZy5mcmVlZGVza3RvcC5VRGlza3MuUG9ydC54bWwgTWFrZWZpbGUuYW0KKy0JZGJ1cy1iaW5kaW5nLXRvb2wgLS1wcmVmaXg9ZGV2a2l0X2Rpc2tzX2RhZW1vbiAtLW1vZGU9Z2xpYi1jbGllbnQgLS1vdXRwdXQ9dWRpc2tzLXBvcnQtZ2x1ZS5oIC91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5Qb3J0LnhtbAorK3VkaXNrcy1wb3J0LWdsdWUuaDogJChQS0dfQ09ORklHX1NZU1JPT1RfRElSKS91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5Qb3J0LnhtbCBNYWtlZmlsZS5hbQorKwlkYnVzLWJpbmRpbmctdG9vbCAtLXByZWZpeD1kZXZraXRfZGlza3NfZGFlbW9uIC0tbW9kZT1nbGliLWNsaWVudCAtLW91dHB1dD11ZGlza3MtcG9ydC1nbHVlLmggJChQS0dfQ09ORklHX1NZU1JPT1RfRElSKS91c3Ivc2hhcmUvZGJ1cy0xL2ludGVyZmFjZXMvb3JnLmZyZWVkZXNrdG9wLlVEaXNrcy5Qb3J0LnhtbAorCisgbGliX0xUTElCUkFSSUVTPWxpYmdkdS5sYQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eS9zeXNyb290ZWQtcGtnLWNvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvc3lzcm9vdGVkLXBrZy1jb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDhlNjNiMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRpc2stdXRpbGl0eS9nbm9tZS1kaXNrLXV0aWxpdHkvc3lzcm9vdGVkLXBrZy1jb25maWcucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorSW4gY3Jvc3MgZW52aXJvbm1lbnQgd2UgaGF2ZSB0byBwcmVwZW5kIHRoZSBzeXNyb290IHRvIHRoZSBwYXRoIGZvdW5kIGJ5Citwa2djb25maWcgc2luY2UgdGhlIHBhdGggcmV0dXJuZWQgZnJvbSBwa2djb25maWcgZG9lcyBub3QgaGF2ZSBzeXNyb290IHByZWZpeGVkCitpdCBlbmRzIHVwIHVzaW5nIHRoZSBmaWxlcyBmcm9tIGhvc3Qgc3lzdGVtLiBOb3cgdXN1YWxseSBwZW9wbGUgaGF2ZSBnbm9tZSBpbnN0YWxsZWQKK3NvIHRoZSBidWlsZCBzdWNjZWVkcyBidXQgaWYgeW91IGRvbnQgaGF2ZSBnbm9tZSBpbnN0YWxsZWQgb24gYnVpbGQgaG9zdCB0aGVuCitpdCB3b250IGZpbmQgdGhlIGZpbGVzIG9uIGhvc3Qgc3lzdGVtIGFuZCBwYWNrYWdlcyB1c2luZyBnbm9tZS1kb2MtdXRpbHMgd29udAorY29tcGlsZS4KKworVGhpcyBzaG91bGQgd29yayBvayB3aXRoIG5vbiBzeXNyb290ZWQgYnVpbGRzIHRvbyBzaW5jZSBpbiB0aG9zZSBjYXNlcyBQS0dfQ09ORklHX1NZU1JPT1RfRElSCit3aWxsIGJlIGVtcHR5CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitJbmRleDogZ25vbWUtZGlzay11dGlsaXR5LTIuMzIuMC9nbm9tZS1kb2MtdXRpbHMubWFrZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdub21lLWRpc2stdXRpbGl0eS0yLjMyLjAub3JpZy9nbm9tZS1kb2MtdXRpbHMubWFrZQkyMDEwLTA5LTE1IDA4OjI3OjQ2LjAwMDAwMDAwMCAtMDcwMAorKysrIGdub21lLWRpc2stdXRpbGl0eS0yLjMyLjAvZ25vbWUtZG9jLXV0aWxzLm1ha2UJMjAxMS0wOS0yNSAxNjowNDozMC42OTM3OTU1OTEgLTA3MDAKK0BAIC0xMzMsMTIgKzEzMywxMiBAQAorIF94bWwycG8gPz0gYHdoaWNoIHhtbDJwb2AKKyBfeG1sMnBvX21vZGUgPSAkKGlmICQoRE9DX0lEKSxtYWxsYXJkLGRvY2Jvb2spCisgCistX2RiMmh0bWwgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSBkYjJodG1sIGdub21lLWRvYy11dGlsc2AKKy1fZGIyb21mICA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMm9tZiBnbm9tZS1kb2MtdXRpbHNgCistX21hbHJuZyAgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSBtYWxybmcgZ25vbWUtZG9jLXV0aWxzYAorLV9jaHVua3MgID89IGAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2NodW5rcy54c2wKKy1fY3JlZGl0cyA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHNgL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9jcmVkaXRzLnhzbAorLV9pZHMgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvaWRzLnhzbAorK19kYjJodG1sID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMmh0bWwgZ25vbWUtZG9jLXV0aWxzYAorK19kYjJvbWYgID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMm9tZiBnbm9tZS1kb2MtdXRpbHNgCisrX21hbHJuZyAgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgbWFscm5nIGdub21lLWRvYy11dGlsc2AKKytfY2h1bmtzICA/PSAke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9YCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvY2h1bmtzLnhzbAorK19jcmVkaXRzID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHNgL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9jcmVkaXRzLnhzbAorK19pZHMgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2lkcy54c2wKKyAKKyBpZiBFTkFCTEVfU0sKKyBfRU5BQkxFX1NLID0gdHJ1ZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eV8yLjMyLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kaXNrLXV0aWxpdHkvZ25vbWUtZGlzay11dGlsaXR5XzIuMzIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjQyN2U3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGlzay11dGlsaXR5L2dub21lLWRpc2stdXRpbGl0eV8yLjMyLjAuYmIKQEAgLTAsMCArMSwzNyBAQAorU1VNTUFSWSA9ICJHTk9NRSBkaXNrIHV0aWxpdHkiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTkxMTVkMTE3OTdhNWU2Yjc0NmI0ZTliOTAxOTQ1NjQiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ3RrKyBsaWJub3RpZnkgbGlidW5pcXVlIHVkaXNrcyBhdmFoaS11aSB2aXJ0dWFsL2xpYngxMSBsaWJhdGFzbWFydCBnbm9tZS1kb2MtdXRpbHMgaW50bHRvb2wtbmF0aXZlIGxpYmdub21lLWtleXJpbmciCisKK1BSID0gInI0IgorCitpbmhlcml0IGdub21lYmFzZSBndGstaWNvbi1jYWNoZQorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZjAzNjZjOGJhZWJjYTA0MDRkMTkwYjJkNzhmMzU4MmQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIwM2U0NjFiNmJkYTdmNzczZjgwMThkMjVmYTMyMTNkMzA3M2Q0ZGM4M2E3NmU2YjM5ZDk2MjY1MmY0ZGU2YTk4IgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitTUkNfVVJJICs9ICJcCisgICAgZmlsZTovL2Rpc2FibGUtc2Nyb2xsa2VlcGVyLnBhdGNoIFwKKyAgICBmaWxlOi8vZml4LWRidXMtaW50ZXJmYWNlcy5wYXRjaCBcCisgICAgZmlsZTovL3N5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1BZGQtc3VwcG9ydC1mb3ItRGV2aWNlQXV0b21vdW50SGludC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItUmVxdWlyZS1saWJub3RpZnktMC42LjEucGF0Y2ggXAorIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1zY3JvbGxrZWVwZXIiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW25hdXRpbHVzXSA9ICItLWVuYWJsZS1uYXV0aWx1cywtLWRpc2FibGUtbmF1dGlsdXMsbmF1dGlsdXMiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAiczogaGVscCA6IDpnIiAke1N9L01ha2VmaWxlLmFtCit9CisKK1BBQ0tBR0VTID0rICIke1BOfS1uYXV0aWx1cy1leHRlbnNpb24gJHtQTn0tbGlicyIKK0ZJTEVTXyR7UE59LW5hdXRpbHVzLWV4dGVuc2lvbiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyouc28iCitGSUxFU18ke1BOfS1saWJzICs9ICIke2xpYmRpcn0vbGliZ2R1Ki5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vbmF1dGlsdXMvZXh0ZW5zaW9ucy0yLjAvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyouYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLy5kZWJ1ZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWtleXJpbmcvZ25vbWUta2V5cmluZy9lZ2ctYXNuMXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1rZXlyaW5nL2dub21lLWtleXJpbmcvZWdnLWFzbjF4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkOGE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1rZXlyaW5nL2dub21lLWtleXJpbmcvZWdnLWFzbjF4LnBhdGNoCkBAIC0wLDAgKzEsNTUgQEAKK0ZpeGVkIGJ1aWxkIGVycm9yIHdpdGggZ2NjIDQuOAorCitFcnJvcnMgbGlrZSBiZWxvdworCitlZ2ctYXNuMXguYzogSW4gZnVuY3Rpb24gJ2Fub2RlX2VuY29kZV9idWlsZCc6CitlZ2ctYXNuMXguYzoxMjgwOjc6IHdhcm5pbmc6IHZhcmlhYmxlICd0eXBlJyBzZXQgYnV0IG5vdCB1c2VkIFstV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlXQorZWdnLWFzbjF4LmM6IEluIGZ1bmN0aW9uICd0cmF2ZXJzZV9hbmRfcHJlcGFyZSc6CitlZ2ctYXNuMXguYzozMzU0OjM6IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiAnZWdnX2FzbjF4X2NyZWF0ZScgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFtlbmFibGVkIGJ5IGRlZmF1bHRdCitJbiBmaWxlIGluY2x1ZGVkIGZyb20gZWdnLWFzbjF4LmM6NTA6MDoKK2VnZy1hc24xeC5oOjM4Ojg6IG5vdGU6IGV4cGVjdGVkICdjb25zdCBzdHJ1Y3Qgc3RhdGljX3N0cnVjdF9hc24gKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ2NvbnN0IHN0cnVjdCBhc24xX3N0YXRpY19ub2RlIConCitlZ2ctYXNuMXguYzogQXQgdG9wIGxldmVsOgorZWdnLWFzbjF4LmM6MzUwOToxOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdlZ2dfYXNuMXhfY3JlYXRlJworSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGVnZy1hc24xeC5jOjUwOjA6CitlZ2ctYXNuMXguaDozODo4OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnZWdnX2FzbjF4X2NyZWF0ZScgd2FzIGhlcmUKK2VnZy1hc24xeC5jOjM1NzI6MTogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnZWdnX2FzbjF4X2NyZWF0ZV9xdWFyaycKK0luIGZpbGUgaW5jbHVkZWQgZnJvbSBlZ2ctYXNuMXguYzo1MDowOgorZWdnLWFzbjF4Lmg6NDE6ODogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2VnZ19hc24xeF9jcmVhdGVfcXVhcmsnIHdhcyBoZXJlCitlZ2ctYXNuMXguYzozNTc5OjE6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2VnZ19hc24xeF9jcmVhdGVfYW5kX2RlY29kZScKK0luIGZpbGUgaW5jbHVkZWQgZnJvbSBlZ2ctYXNuMXguYzo1MDowOgorZWdnLWFzbjF4Lmg6NDQ6ODogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ2VnZ19hc24xeF9jcmVhdGVfYW5kX2RlY29kZScgd2FzIGhlcmUKK21ha2VbNF06ICoqKiBbbGliZWdnX2xhLWVnZy1hc24xeC5sb10gRXJyb3IgMQorCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworSW5kZXg6IGdub21lLWtleXJpbmctMi4zMi4xL2VnZy9lZ2ctYXNuMXguaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdub21lLWtleXJpbmctMi4zMi4xLm9yaWcvZWdnL2VnZy1hc24xeC5oCTIwMTAtMTAtMTggMTk6MTE6MzguMDAwMDAwMDAwIC0wNzAwCisrKysgZ25vbWUta2V5cmluZy0yLjMyLjEvZWdnL2VnZy1hc24xeC5oCTIwMTMtMDYtMTEgMTU6MTU6MDAuNjc1Mzk5MjYzIC0wNzAwCitAQCAtMjUsNiArMjUsNyBAQAorICNkZWZpbmUgRUdHX0FTTjFYX0hfCisgCisgI2luY2x1ZGUgPGdsaWIuaD4KKysjaW5jbHVkZSA8bGlidGFzbjEuaD4KKyAKKyAjaWZuZGVmIEhBVkVfRUdHX0FMTE9DQVRPUgorIHR5cGVkZWYgdm9pZCogKCpFZ2dBbGxvY2F0b3IpICh2b2lkKiBwLCBnc2l6ZSk7CitAQCAtMzUsMTMgKzM2LDEzIEBACisgCisgc3RydWN0IHN0YXRpY19zdHJ1Y3RfYXNuOworIAorLUdOb2RlKiAgICAgICAgICAgICAgZWdnX2FzbjF4X2NyZWF0ZSAgICAgICAgICAgICAgICAgKGNvbnN0IHN0cnVjdCBzdGF0aWNfc3RydWN0X2FzbiAqZGVmcywKKytHTm9kZSogICAgICAgICAgICAgIGVnZ19hc24xeF9jcmVhdGUgICAgICAgICAgICAgICAgIChjb25zdCBBU04xX0FSUkFZX1RZUEUgKmRlZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKnR5cGUpOworIAorLUdOb2RlKiAgICAgICAgICAgICAgZWdnX2FzbjF4X2NyZWF0ZV9xdWFyayAgICAgICAgICAgKGNvbnN0IHN0cnVjdCBzdGF0aWNfc3RydWN0X2FzbiAqZGVmcywKKytHTm9kZSogICAgICAgICAgICAgIGVnZ19hc24xeF9jcmVhdGVfcXVhcmsgICAgICAgICAgIChjb25zdCBBU04xX0FSUkFZX1RZUEUgKmRlZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1F1YXJrIHR5cGUpOworIAorLUdOb2RlKiAgICAgICAgICAgICAgZWdnX2FzbjF4X2NyZWF0ZV9hbmRfZGVjb2RlICAgICAgKGNvbnN0IHN0cnVjdCBzdGF0aWNfc3RydWN0X2FzbiAqZGVmcywKKytHTm9kZSogICAgICAgICAgICAgIGVnZ19hc24xeF9jcmVhdGVfYW5kX2RlY29kZSAgICAgIChjb25zdCBBU04xX0FSUkFZX1RZUEUgKmRlZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKnR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2NvbnN0cG9pbnRlciBkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzaXplIG5fZGF0YSk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1rZXlyaW5nL2dub21lLWtleXJpbmdfMi4zMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUta2V5cmluZy9nbm9tZS1rZXlyaW5nXzIuMzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOGY1ZGRkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUta2V5cmluZy9nbm9tZS1rZXlyaW5nXzIuMzIuMS5iYgpAQCAtMCwwICsxLDQzIEBACitTVU1NQVJZID0gIlBhc3N3b3JkIGFuZCBrZXlyaW5nIG1hbmFnaW5nIGRhZW1vbiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ25vbWUub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgorCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2MisgJiBMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nY3IvZ2NyLmg7ZW5kbGluZT0yMjttZDU9YTI3MmRmMWU2MzNlMjdlY2YzNWU3NGZiNTU3NjI1MGUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZWdnL2VnZy1kYnVzLmg7ZW5kbGluZT0yNTttZDU9ZWI2ZjUzMWFmMzcxNjVkYzUzNDIwYzA3M2Q3NzRlNjEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3AxMS9ncDExLmg7ZW5kbGluZT0yNDttZDU9YmQ4YzdhOGEyMWQ2YzI4ZDQwNTM2ZDk2YTM1ZTM0NjkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGtjczExL3BrY3MxMWkuaDtlbmRsaW5lPTI0O21kNT1lNzJjZmJiNzE4Mzg5Yjc2YTRkYWU4MzhkMWMxZjQzOSIKKworU0VDVElPTiA9ICJ4MTEvZ25vbWUiCisKK1BSID0gInIxMiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ25vbWUgZ3RrLWRvYyBwa2djb25maWcgZ3NldHRpbmdzCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9lZ2ctYXNuMXgucGF0Y2giCisKK0RFUEVORFMgPSAiZ3RrKyBsaWJnY3J5cHQgbGlidGFzbjEgbGlidGFzbjEtbmF0aXZlIGdjb25mICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0gaW50bHRvb2wtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAibGliZ25vbWUta2V5cmluZyBnbGliLTIuMC11dGlscyIKKworRVhUUkFfT0VDT05GID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJy0tZW5hYmxlLXBhbSAtLXdpdGgtcGFtLWRpcj0ke2Jhc2VfbGliZGlyfS9zZWN1cml0eScsICctLWRpc2FibGUtcGFtJywgZCl9IgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI5YThhYTc0ZTAzMzYxNjc2ZjI5ZDZlNzMxNTU3ODZmYyIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjMxZmVjZWMxNDMwYTk3ZjU5YTYxNTlhNWEyZWE4ZDZhMWI0NDI4N2YxZTllNTk1YjM1OTRkZjQ2YmY3ZjE4ZjkiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcyAke2RhdGFkaXJ9L2djciBcCisgICAgICAgICAgICAgICAgJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvKiR7U09MSUJTREVWfSBcCisgICAgICAgICAgICAgICAiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyR7QlBOfS9kZXZlbC8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyR7QlBOfS9kZXZlbC8qJHtTT0xJQlNERVZ9IFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyR7QlBOfS9zdGFuZGFsb25lLyoubGEgXAorICAgICAgICAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS9zZWN1cml0eS8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyR7QlBOfS9zdGFuZGFsb25lLy5kZWJ1Zy8gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vJHtCUE59L2RldmVsLy5kZWJ1Zy8gXAorICAgICAgICAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS9zZWN1cml0eS8uZGVidWcvIgorCitQTkJMQUNLTElTVFtnbm9tZS1rZXlyaW5nXSA/PSAiVGhpcyB2ZXJzaW9uIGNvbmZsaWN0cyB3aXRoIGdjciBmcm9tIG9lLWNvcmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1rZXlyaW5nL2xpYmdub21lLWtleXJpbmdfMi4zMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUta2V5cmluZy9saWJnbm9tZS1rZXlyaW5nXzIuMzIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjQxODgyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUta2V5cmluZy9saWJnbm9tZS1rZXlyaW5nXzIuMzIuMC5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIkNvbXBhdGliaWxpdHkgbGlicmFyeSBmb3IgYWNjZXNzaW5nIHNlY3JldHMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmdub21lLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJMR1BMdjIgJiBMR1BMdjIrICYgTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDkxNGI5ZDNlYmFiYTQxZWYyZTNlMGFlMTZmMjk2Y2YgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGlicmFyeS9nbm9tZS1rZXlyaW5nLmg7ZW5kbGluZT0yNTttZDU9NjhlYTY0ZjgxYzE2MGQ2NzBjMzdkYTVmMTM3YmU0ZmIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGlicmFyeS9nbm9tZS1rZXlyaW5nLmM7ZW5kbGluZT0yNjttZDU9OGQ3YTRmYjY3NGFhYTAxMmVhNWE5OGU3YzM2OGI0YTUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZWdnL2VnZy1kaC5oO2VuZGxpbmU9MjI7bWQ1PTE2MjZjMTZhZjJhOGRhMWY4ODMyNGNmM2NlZDMzZjA4IgorCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorUFIgPSAicjMiCisKK2luaGVyaXQgZ25vbWViYXNlIGd0ay1kb2MKKworREVQRU5EUyA9ICJkYnVzIGxpYmdjcnlwdCBnbGliLTIuMCBpbnRsdG9vbC1uYXRpdmUiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImM0MmIyY2E2NjIwNDgzNWQ5MDFkM2RiZmMxZmE1YWU2IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNTYzODhjMGQ4MWRkZmRiNTdkMzBlNDk2M2M4M2VjYzFjMTg0OThhYWI5OTM5NTQyMGUwZmZmNjk5MjlhMGYwYyIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1lbnVzL2dub21lLW1lbnVzM18zLjEwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1tZW51cy9nbm9tZS1tZW51czNfMy4xMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmNTUxOTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1tZW51cy9nbm9tZS1tZW51czNfMy4xMC4xLmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NVTU1BUlkgPSAiR05PTUUgbWVudXMiCitTRUNUSU9OID0gIngxMS9nbm9tZSIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIiCisKK1BOQkxBQ0tMSVNUW2dub21lLW1lbnVzM10gPz0gIkNPTkZMSUNUOiAyNCBmaWxlcyBhcmUgY29uZmxpY3Rpbmcgd2l0aCBnbm9tZS1tZW51cyIKKyMgZS5nLiBzeXNyb290cy9xZW11eDg2LTY0L3Vzci9zaGFyZS9kZXNrdG9wLWRpcmVjdG9yaWVzL1gtR05PTUUtT3RoZXIuZGlyZWN0b3J5CisKK0RFUEVORFMgPSAicHl0aG9uIGxpYnhtbDIgZ2NvbmYgcG9wdCBndGsrMyIKKworaW5oZXJpdCBnbm9tZWJhc2UgcGtnY29uZmlnIHB5dGhvbi1kaXIgcHl0aG9ubmF0aXZlIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitCUE4gPSAiZ25vbWUtbWVudXMiCisKK1NIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicsMSkuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzFdfSIKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7QlBOfS8ke1NIUlRfVkVSfS8ke0JQTn0tJHtQVn0udGFyLnh6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNmRiMDI1ZTc5ZTJiNjlmMzlmYzdhYTA3NTNmNDMwODEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDY5NTBhYmEyNzRjMWFkNTgyMzQzNzRmYTliMjM1MjU4NjUwNzM3MzA3ZjNiYzM5NmFmNDhlYjk4MzY2OGE3MSIKKworUEFDS0FHRVMgKz0gIiR7UE59LXB5dGhvbiIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2Rlc2t0b3AtZGlyZWN0b3JpZXMvIgorRklMRVNfJHtQTn0tcHl0aG9uID0gIiR7bGliZGlyfS9weXRob24qIgorRklMRVNfJHtQTn0tZGJnICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9Ly5kZWJ1ZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1lbnVzL2dub21lLW1lbnVzXzIuMzAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1lbnVzL2dub21lLW1lbnVzXzIuMzAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjg0YTU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtbWVudXMvZ25vbWUtbWVudXNfMi4zMC41LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiR05PTUUgbWVudXMiCitTRUNUSU9OID0gIngxMS9nbm9tZSIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIiCitQUiA9ICJyMSIKKworREVQRU5EUyA9ICJweXRob24gbGlieG1sMiBnY29uZiBwb3B0IGd0aysiCisKK2luaGVyaXQgZ25vbWViYXNlIHBrZ2NvbmZpZyBweXRob24tZGlyIHB5dGhvbm5hdGl2ZSBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiY2FhNjc3MmU2M2VkNTg3MGNmNDNkYzNkMzU0ZTA2MjQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI2ZGNjNTY1MDA2ZDZlOGMyMDI1YWU4M2FiMWY4MmVkZjZiZDA0ZDYxYzgwNGMwZGM5YmY1ZWE1MDYyOWM0Y2FhIgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitQQUNLQUdFUyArPSAiJHtQTn0tcHl0aG9uIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGVza3RvcC1kaXJlY3Rvcmllcy8iCitGSUxFU18ke1BOfS1weXRob24gPSAiJHtsaWJkaXJ9L3B5dGhvbioiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyovLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vLmRlYnVnIgorCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1pbWUtZGF0YS9nbm9tZS1taW1lLWRhdGEvcGtnY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtbWltZS1kYXRhL2dub21lLW1pbWUtZGF0YS9wa2djb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDkwMzQyNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1pbWUtZGF0YS9nbm9tZS1taW1lLWRhdGEvcGtnY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworSW5kZXg6IGdub21lLW1pbWUtZGF0YS0yLjE4LjAvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbm9tZS1taW1lLWRhdGEtMi4xOC4wLm9yaWcvTWFrZWZpbGUuYW0JMjAwOS0wNi0xMSAxNzoyNzo0OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnbm9tZS1taW1lLWRhdGEtMi4xOC4wL01ha2VmaWxlLmFtCTIwMDktMDYtMTEgMTc6Mjc6NTkuMDAwMDAwMDAwICswMTAwCitAQCAtMSw2ICsxLDYgQEAKKyBTVUJESVJTID0gbWFuIHBvCisgCistcGtnY29uZmlnZGlyID0gJChkYXRhZGlyKS9wa2djb25maWcKKytwa2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCisgcGtnY29uZmlnX0RBVEEgPSBnbm9tZS1taW1lLWRhdGEtMi4wLnBjCisgCisgTlVMTD0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1pbWUtZGF0YS9nbm9tZS1taW1lLWRhdGFfMi4xOC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtbWltZS1kYXRhL2dub21lLW1pbWUtZGF0YV8yLjE4LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTMxZWI1NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLW1pbWUtZGF0YS9nbm9tZS1taW1lLWRhdGFfMi4xOC4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQmFzZSBNSU1FIGFuZCBBcHBsaWNhdGlvbiBkYXRhYmFzZSBmb3IgR05PTUUiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmdub21lLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2NoZWNrLW1pbWUucGw7ZW5kbGluZT0yNjttZDU9YTk1YjYzYzkyYzMzZDRjYTFhZjYxYTMxNTg4OGY0NTAiCisKK2luaGVyaXQgZ25vbWViYXNlIG1pbWUKK1BSID0gInI0IgorCitTUkNfVVJJICs9ICJmaWxlOi8vcGtnY29uZmlnLnBhdGNoIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI1NDE4NTgxODhmODAwOTBkMTJhMzNiNWE3YzM0ZDQyYyIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjM3MTk2YjViMzcwODViYmNkNDVjMzM4YzM2ZTI2ODk4ZmUzNWRkNTk3NTI5NWY2OWY0ODAyOGIxZTg0MzZmZDciCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCisKK0RFUEVORFMgKz0gInNoYXJlZC1taW1lLWluZm8gaW50bHRvb2wtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAic2hhcmVkLW1pbWUtaW5mbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsLzAwMDEtRml4LWJ1aWxkLXdpdGgtZ2NjLTUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wYW5lbC9nbm9tZS1wYW5lbC8wMDAxLUZpeC1idWlsZC13aXRoLWdjYy01LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiN2ZjNWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wYW5lbC9nbm9tZS1wYW5lbC8wMDAxLUZpeC1idWlsZC13aXRoLWdjYy01LnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gMjA4MTBmY2YzMjljNmUwYjQ4YjhlNzYwMjU2NWNjYzcwYzdjZTYyYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDEwIE1heSAyMDE1IDAyOjEwOjU5IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCB3aXRoIGdjYyA1CisKK2NjMTogZXJyb3I6IC4uLy4uL2dub21lLXBhbmVsL2xpYnBhbmVsLWFwcGxldHMtcHJpdmF0ZTogTm8gc3VjaCBmaWxlIG9yCitkaXJlY3RvcnkgWy1XZXJyb3I9bWlzc2luZy1pbmNsdWRlLWRpcnNdCitjYzE6IGVycm9yOiAuLi8uLi9nbm9tZS1wYW5lbC9saWJwYW5lbC1hcHBsZXRzLXByaXZhdGU6IE5vIHN1Y2ggZmlsZSBvcgorZGlyZWN0b3J5IFstV2Vycm9yPW1pc3NpbmctaW5jbHVkZS1kaXJzXQorY2MxOiBlcnJvcjogLi4vLi4vZ25vbWUtcGFuZWwvbGlicGFuZWwtYXBwbGV0cy1wcml2YXRlOiBObyBzdWNoIGZpbGUgb3IKK2RpcmVjdG9yeSBbLVdlcnJvcj1taXNzaW5nLWluY2x1ZGUtZGlyc10KK2NjMTogc29tZSB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworIGdub21lLXBhbmVsL2xpYnBhbmVsLWFwcGxldC1wcml2YXRlL01ha2VmaWxlLmFtIHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2dub21lLXBhbmVsL2xpYnBhbmVsLWFwcGxldC1wcml2YXRlL01ha2VmaWxlLmFtIGIvZ25vbWUtcGFuZWwvbGlicGFuZWwtYXBwbGV0LXByaXZhdGUvTWFrZWZpbGUuYW0KK2luZGV4IGYxMmRlZTguLmQ1NTZmMTIgMTAwNjQ0CistLS0gYS9nbm9tZS1wYW5lbC9saWJwYW5lbC1hcHBsZXQtcHJpdmF0ZS9NYWtlZmlsZS5hbQorKysrIGIvZ25vbWUtcGFuZWwvbGlicGFuZWwtYXBwbGV0LXByaXZhdGUvTWFrZWZpbGUuYW0KK0BAIC04LDcgKzgsNiBAQCBBTV9DUFBGTEFHUyA9CQkJCQkJCVwKKyAJLUkkKHNyY2RpcikJCQkJCQlcCisgCS1JJCh0b3Bfc3JjZGlyKS9nbm9tZS1wYW5lbAkJCQlcCisgCS1JJCh0b3BfYnVpbGRkaXIpL2dub21lLXBhbmVsCQkJCVwKKy0JLUkkKHRvcF9idWlsZGRpcikvZ25vbWUtcGFuZWwvbGlicGFuZWwtYXBwbGV0cy1wcml2YXRlCVwKKyAJLUkkKHRvcF9idWlsZGRpcikvZ25vbWUtcGFuZWwvbGlicGFuZWwtdXRpbAkJXAorIAktRERBVEFESVI9XCIiJChkYXRhZGlyKSJcIgkJCQlcCisgCS1EUEFORUxfQVBQTEVUU19ESVI9XCIkKGFwcGxldHNkaXIpXCIJCQlcCistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsL2FzLW5lZWRlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsL2FzLW5lZWRlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzhlM2U0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtcGFuZWwvZ25vbWUtcGFuZWwvYXMtbmVlZGVkLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gYzY1ZjFhZTM0NzJjZmQ0Y2Q5NmZkMzc2YjdiYmQ5NWZiYTVlZWYwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFZpbmNlbnQgVW50eiA8dnVudHpAZ25vbWUub3JnPgorRGF0ZTogRnJpLCAyNyBNYXkgMjAxMSAxNzowMDoxNCArMDAwMAorU3ViamVjdDogYnVpbGQ6IEZpeCBidWlsZCB3aXRoIC0tYXMtbmVlZGVkCisKK3Vwc3RyZWFtLXN0YXR1czogYmFja3BvcnQKKworLS0tCitkaWZmIC0tZ2l0IGEvYXBwbGV0cy9ub3RpZmljYXRpb25fYXJlYS9NYWtlZmlsZS5hbSBiL2FwcGxldHMvbm90aWZpY2F0aW9uX2FyZWEvTWFrZWZpbGUuYW0KK2luZGV4IDBhZmM2YzUuLjk3MzQ1MzYgMTAwNjQ0CistLS0gYS9hcHBsZXRzL25vdGlmaWNhdGlvbl9hcmVhL01ha2VmaWxlLmFtCisrKysgYi9hcHBsZXRzL25vdGlmaWNhdGlvbl9hcmVhL01ha2VmaWxlLmFtCitAQCAtMjksMTcgKzI5LDE3IEBAIGxpYnRyYXlfbGFfU09VUkNFUyA9CQlcCisgTk9USUZJQ0FUSU9OX0FSRUFfU09VUkNFUyA9IG1haW4uYyBtYWluLmgKKyAKKyBOT1RJRklDQVRJT05fQVJFQV9MREFERCA9CQkJCVwKKysJbGlidHJheS5sYQkJCQkJXAorIAkuLi8uLi9saWJwYW5lbC1hcHBsZXQvbGlicGFuZWwtYXBwbGV0LTQubGEJXAorIAkkKFhfTElCUykJCQkJCVwKKyAJJChOT1RJRklDQVRJT05fQVJFQV9MSUJTKQkJCVwKKy0JJChMSUJQQU5FTF9BUFBMRVRfTElCUykJCQkJXAorLQlsaWJ0cmF5LmxhCisrCSQoTElCUEFORUxfQVBQTEVUX0xJQlMpCisgCisgdGVzdHRyYXlfU09VUkNFUyA9IHRlc3R0cmF5LmMKKyB0ZXN0dHJheV9MREFERCA9CQkJXAorKwlsaWJ0cmF5LmxhCQkJXAorIAkkKFhfTElCUykJCQlcCistCSQoTk9USUZJQ0FUSU9OX0FSRUFfTElCUykJXAorLQlsaWJ0cmF5LmxhCisrCSQoTk9USUZJQ0FUSU9OX0FSRUFfTElCUykKKyAKKyBpZiBOT1RJRklDQVRJT05fQVJFQV9JTlBST0NFU1MKKyBBUFBMRVRfSU5fUFJPQ0VTUyA9IHRydWUKKy0tCitjZ2l0IHYwLjkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsL2lkbC1zeXNyb290LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtcGFuZWwvZ25vbWUtcGFuZWwvaWRsLXN5c3Jvb3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU0Y2Q4NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsL2lkbC1zeXNyb290LnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKKy0tLSAvdG1wL01ha2VmaWxlLmFtCTIwMDktMTAtMjYgMTY6NTM6MjAuMDAwMDAwMDAwICswMTAwCisrKysgZ25vbWUtcGFuZWwtMi4yOC4wL2dub21lLXBhbmVsL01ha2VmaWxlLmFtCTIwMDktMTAtMjYgMTY6NTM6NTEuMDAwMDAwMDAwICswMTAwCitAQCAtNDMsNyArNDMsNyBAQAorIAkkKE5VTEwpCisgCisgJChDT1JCQV9TUkNMSVNUKTogJCh0b3Bfc3JjZGlyKS9pZGwvR05PTUVfUGFuZWwuaWRsICQoT1JCSVRfSURMKQorLQkkKEFNX1ZfR0VOKSQoT1JCSVRfSURMKSAtSSAkKEJPTk9CT19JRExESVIpIC1JICQoQk9OT0JPX0FDVF9JRExESVIpICQodG9wX3NyY2RpcikvaWRsL0dOT01FX1BhbmVsLmlkbAorKwkkKEFNX1ZfR0VOKSQoT1JCSVRfSURMKSAtSSAkKFNZU1JPT1QpJChCT05PQk9fSURMRElSKSAtSSAkKFNZU1JPT1QpJChCT05PQk9fQUNUX0lETERJUikgJCh0b3Bfc3JjZGlyKS9pZGwvR05PTUVfUGFuZWwuaWRsCisgCisgQlVJTFRfU09VUkNFUyA9IFwKKyAJJChDT1JCQV9TUkNMSVNUKQlcCistLS0gL3RtcC9NYWtlZmlsZS5hbQkyMDA5LTEwLTI2IDE2OjU0OjE3LjAwMDAwMDAwMCArMDEwMAorKysrIGdub21lLXBhbmVsLTIuMjguMC9saWJwYW5lbC1hcHBsZXQvTWFrZWZpbGUuYW0JMjAwOS0xMC0yNiAxNjo1NDozNC4wMDAwMDAwMDAgKzAxMDAKK0BAIC00NSw3ICs0NSw3IEBACisgCUdOT01FX1BhbmVsLmgKKyAKKyAkKENPUkJBX1NSQ0xJU1QpOiAkKHRvcF9zcmNkaXIpL2lkbC9HTk9NRV9QYW5lbC5pZGwgJChPUkJJVF9JREwpCistCSQoQU1fVl9HRU4pJChPUkJJVF9JREwpIC1JICQoQk9OT0JPX0lETERJUikgLUkgJChCT05PQk9fQUNUX0lETERJUikgJCh0b3Bfc3JjZGlyKS9pZGwvR05PTUVfUGFuZWwuaWRsCisrCSQoQU1fVl9HRU4pJChPUkJJVF9JREwpIC1JICQoU1lTUk9PVCkkKEJPTk9CT19JRExESVIpIC1JICQoU1lTUk9PVCkkKEJPTk9CT19BQ1RfSURMRElSKSAkKHRvcF9zcmNkaXIpL2lkbC9HTk9NRV9QYW5lbC5pZGwKKyAKKyBub2luc3RfUFJPR1JBTVMgPSB0ZXN0LWJvbm9iby1hcHBsZXQKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsM18zLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsM18zLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmNmNzZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtcGFuZWwvZ25vbWUtcGFuZWwzXzMuMC4yLmJiCkBAIC0wLDAgKzEsNTEgQEAKK1NVTU1BUlkgPSAiR05PTUUgcGFuZWwiCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyICYgR0ZETC0xLjEiCisKK0JQTiA9ICJnbm9tZS1wYW5lbCIKK1BSID0gInIxIgorCitQTkJMQUNLTElTVFtnbm9tZS1wYW5lbDNdID89ICJDT05GTElDVDogZGVwZW5kcyBvbiBsaWJnd2VhdGhlcjMgd2hpY2ggY29uZmxpY3RzIHdpdGggbGliZ3dlYXRoZXIiCisKKyMgY29uZmxpY3RzIHdpdGggZ25vbWUtcGFuZWwsIGJlY2F1c2UgdGhleSBwcm92aWRlIHRoZSBzYW1lIHBhY2thZ2UKKyMgaHR0cDovL3BhdGNoZXMub3BlbmVtYmVkZGVkLm9yZy9wYXRjaC80MzEwNS8KK0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgorREVGQVVMVF9QUkVGRVJFTkNFID0gIi0xIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLURPQ1M7bWQ1PWM5MjExZGFiM2FlNjFlNTgwZjQ4NDMyMDIwNzg0MzI0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiIKKworU0VDVElPTiA9ICJ4MTEvZ25vbWUiCisKK0RFUEVORFMgPSAiZ25vbWUtZG9jLXV0aWxzLW5hdGl2ZSBndGsrMyBkY29uZiBnY29uZiBnbGliLTIuMCBnbm9tZS1kZXNrdG9wMyBndGsrIHBhbmdvIGxpYnduY2szIGdub21lLW1lbnVzIGNhaXJvIGxpYmd3ZWF0aGVyMyBkYnVzLWdsaWIgbGlicnN2ZyBsaWJjYW5iZXJyYSIgCisKK2luaGVyaXQgZ3RrLWRvYyBnbm9tZSBnZXR0ZXh0IHBrZ2NvbmZpZworCitTUkNfVVJJICs9ICJmaWxlOi8vYXMtbmVlZGVkLnBhdGNoICIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMGYyZjY0NGRjNDA4MWI3MmY2ZGY3YTY1MjgyYWY3YzYiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIyNWRiOGVjMDI2YzRiZjQ3ZjBlZjVjYzdlMjcxMmYyYWFkMTc1YmQ3ZmI4ZTQ5NTJlZjVmOGIyMDBmMTdmMTk2IgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXNjcm9sbGtlZXBlciAtLWRpc2FibGUtZWRzIC0tZW5hYmxlLWJvbm9ibz1ubyAtLXdpdGgtaW4tcHJvY2Vzcy1hcHBsZXRzPW5vbmUiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGdub21lLWRvYy1wcmVwYXJlIC0tYXV0b21ha2UKKyAgICBzZWQgLWkgLWUgczpoZWxwOjogJHtTfS9NYWtlZmlsZS5hbQorfQorCitwa2dfcG9zdGluc3RfJHtQTn1fYXBwZW5kICgpIHsKKyAgICBnY29uZnRvb2wtMiAtLWNvbmZpZy1zb3VyY2U9eG1sOnJlYWR3cml0ZTovZXRjL2djb25mL2djb25mLnhtbC5kZWZhdWx0cyBcCisgICAgICAgIC0tZGlyZWN0IC0tbG9hZCAvZXRjL2djb25mL3NjaGVtYXMvcGFuZWwtZGVmYXVsdC1zZXR1cC5lbnRyaWVzCit9CisKK1BBQ0tBR0VTID0rICJsaWJwYW5lbC1hcHBsZXQiCitGSUxFU19saWJwYW5lbC1hcHBsZXQgPSAiJHtsaWJkaXJ9L2xpYnBhbmVsLWFwcGxldC0zLnNvLioiCisKK0ZJTEVTXyR7UE59ID0rICIke2RhdGFkaXJ9L2dub21lKiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vaWNvbnMgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vUG9saWN5S2l0IFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vYm9ub2JvIFwKKyIKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wYW5lbC9nbm9tZS1wYW5lbF8yLjMyLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wYW5lbC9nbm9tZS1wYW5lbF8yLjMyLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJlMmVjMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBhbmVsL2dub21lLXBhbmVsXzIuMzIuMS5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIkdOT01FIHBhbmVsIgorTElDRU5TRSA9ICJHUEwtMi4wICYgTEdQTC0yLjAgJiBHRkRMLTEuMSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy1ET0NTO21kNT1jOTIxMWRhYjNhZTYxZTU4MGY0ODQzMjAyMDc4NDMyNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIiCisKK1NFQ1RJT04gPSAieDExL2dub21lIgorCitQUiA9ICJyNyIKKworREVQRU5EUyA9ICJnbm9tZS1kb2MtdXRpbHMtbmF0aXZlIGdjb25mIGdsaWItMi4wIGdub21lLWRlc2t0b3AgZ3RrKyBcCisgICAgICAgICAgIHBhbmdvIGxpYnduY2sgZ25vbWUtbWVudXMgY2Fpcm8gbGliZ3dlYXRoZXIgZGJ1cyBkYnVzLWdsaWIgXAorCSAgIGxpYnJzdmcgbGliY2FuYmVycmEiCitSREVQRU5EU18ke1BOfSA9ICJweXRob24iCisKK2luaGVyaXQgZ3RrLWRvYyBnbm9tZSBhdXRvdG9vbHMtYnJva2Vuc2VwIGdldHRleHQgcGtnY29uZmlnIGdjb25mIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitTUkNSRVYgPSAiODI5MmJkMmI4YTM2ZGY3ZWVkM2M3NjA4OTk0MDA3OTBjZGU2ODU5MCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lmdub21lLm9yZy9nbm9tZS1wYW5lbDticmFuY2g9Z25vbWUtMi0zMiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aXRoLWdjYy01LnBhdGNoIFwKKwkgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1zY3JvbGxrZWVwZXIgLS1kaXNhYmxlLWVkcyAtLWVuYWJsZS1ib25vYm89bm8gLS13aXRoLWluLXByb2Nlc3MtYXBwbGV0cz1ub25lIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tuZXR3b3JrbWFuYWdlcl0gPSAiLS1lbmFibGUtbmV0d29yay1tYW5hZ2VyLC0tZGlzYWJsZS1uZXR3b3JrLW1hbmFnZXIsbmV0d29ya21hbmFnZXIiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGdub21lLWRvYy1wcmVwYXJlIC0tYXV0b21ha2UKKyAgICBzZWQgLWkgLWUgczpoZWxwOjogJHtTfS9NYWtlZmlsZS5hbQorICAgIHNlZCAtaSAtZSBzOl4jIUBQWVRIT05AOiMhL3Vzci9iaW4vcHl0aG9uOiAke1N9L2dub21lLXBhbmVsL2dub21lLXBhbmVsLWFkZC5pbgorfQorCitQQUNLQUdFUyA9KyAibGlicGFuZWwtYXBwbGV0IgorRklMRVNfbGlicGFuZWwtYXBwbGV0ID0gIiR7bGliZGlyfS9saWJwYW5lbC1hcHBsZXQtKi5zby4qIgorCitGSUxFU18ke1BOfSA9KyAiJHtkYXRhZGlyfS9nbm9tZSogXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2ljb25zIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L1BvbGljeUtpdCBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2Jvbm9ibyBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wb3dlci1tYW5hZ2VyL2dub21lLXBvd2VyLW1hbmFnZXItMi4zMi4wLzAwMDEtTWFrZWZpbGUuYW0tZG9uLXQtYnVpbGQtaGVscC1tYW4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wb3dlci1tYW5hZ2VyL2dub21lLXBvd2VyLW1hbmFnZXItMi4zMi4wLzAwMDEtTWFrZWZpbGUuYW0tZG9uLXQtYnVpbGQtaGVscC1tYW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZkNDliYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBvd2VyLW1hbmFnZXIvZ25vbWUtcG93ZXItbWFuYWdlci0yLjMyLjAvMDAwMS1NYWtlZmlsZS5hbS1kb24tdC1idWlsZC1oZWxwLW1hbi5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDNlZDE1YTNjNmFlNGFiOTRjN2UzYWYzMDY2NDRiYjVkN2YzZmQxZmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBNb24sIDI5IEFwciAyMDEzIDEzOjA4OjEwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlLmFtOiBkb24ndCBidWlsZCBoZWxwL21hbgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitoZWxwIGNyYXNoZXMgd2l0aDoKKworfCB4c2x0cHJvYyAtbyBnbm9tZS1wb3dlci1tYW5hZ2VyLUMub21mIC0tc3RyaW5ncGFyYW0gZGIyb21mLmJhc2VuYW1lIGdub21lLXBvd2VyLW1hbmFnZXIgLS1zdHJpbmdwYXJhbSBkYjJvbWYuZm9ybWF0ICdkb2Nib29rJyAtLXN0cmluZ3BhcmFtIGRiMm9tZi5kdGQgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMy8vRU4iIC0tc3RyaW5ncGFyYW0gZGIyb21mLmxhbmcgQyAtLXN0cmluZ3BhcmFtIGRiMm9tZi5vbWZfZGlyICIvdXNyL3NoYXJlL29tZiIgLS1zdHJpbmdwYXJhbSBkYjJvbWYuaGVscF9kaXIgIi91c3Ivc2hhcmUvZ25vbWUvaGVscCIgLS1zdHJpbmdwYXJhbSBkYjJvbWYub21mX2luICIvaG9tZS9qZW5raW5zL29lL3Noci1jb3JlLWJyYW5jaGVzL3Noci1jb3JlL3RtcC1lZ2xpYmMvd29yay9hcm12NXRlLW9lLWxpbnV4LWdudWVhYmkvZ25vbWUtcG93ZXItbWFuYWdlci8yLjMyLjAtcjIvZ25vbWUtcG93ZXItbWFuYWdlci0yLjMyLjAvaGVscC9nbm9tZS1wb3dlci1tYW5hZ2VyLm9tZi5pbiIgIC9ob21lL2plbmtpbnMvb2Uvc2hyLWNvcmUtYnJhbmNoZXMvc2hyLWNvcmUvdG1wLWVnbGliYy9zeXNyb290cy9xZW11YXJtYC9ob21lL2plbmtpbnMvb2Uvc2hyLWNvcmUtYnJhbmNoZXMvc2hyLWNvcmUvdG1wLWVnbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2Jpbi9wa2ctY29uZmlnIC0tdmFyaWFibGUgZGIyb21mIGdub21lLWRvYy11dGlsc2AgQy9nbm9tZS1wb3dlci1tYW5hZ2VyLnhtbCB8fCB7IHJtIC1mICJnbm9tZS1wb3dlci1tYW5hZ2VyLUMub21mIjsgZXhpdCAxOyB9Cit8IHVuYWJsZSB0byBwYXJzZSBmci9nbm9tZS1wb3dlci1tYW5hZ2VyLnhtbAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgICAgMiAtLQorIDEgZmlsZXMgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggMDA1YjhhMC4uNWI5ZTMxOCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTUsOSArNSw3IEBAIFNVQkRJUlMgPSAJCQkJCQlcCisgCXNyYwkJCQkJCVwKKyAJcG8JCQkJCQlcCisgCWRvY3MJCQkJCQlcCistCW1hbgkJCQkJCVwKKyAJZGF0YQkJCQkJCVwKKy0JaGVscAkJCQkJCVwKKyAJcG9saWN5CQkJCQkJXAorIAl0b29scworIAorLS0gCisxLjcuNi41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBvd2VyLW1hbmFnZXIvZ25vbWUtcG93ZXItbWFuYWdlci0yLjMyLjAvc3lzcm9vdGVkLXBrZy1jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wb3dlci1tYW5hZ2VyL2dub21lLXBvd2VyLW1hbmFnZXItMi4zMi4wL3N5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzZGI3YWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1wb3dlci1tYW5hZ2VyL2dub21lLXBvd2VyLW1hbmFnZXItMi4zMi4wL3N5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0luIGNyb3NzIGVudmlyb25tZW50IHdlIGhhdmUgdG8gcHJlcGVuZCB0aGUgc3lzcm9vdCB0byB0aGUgcGF0aCBmb3VuZCBieQorcGtnY29uZmlnIHNpbmNlIHRoZSBwYXRoIHJldHVybmVkIGZyb20gcGtnY29uZmlnIGRvZXMgbm90IGhhdmUgc3lzcm9vdCBwcmVmaXhlZAoraXQgZW5kcyB1cCB1c2luZyB0aGUgZmlsZXMgZnJvbSBob3N0IHN5c3RlbS4gTm93IHVzdWFsbHkgcGVvcGxlIGhhdmUgZ25vbWUgaW5zdGFsbGVkCitzbyB0aGUgYnVpbGQgc3VjY2VlZHMgYnV0IGlmIHlvdSBkb250IGhhdmUgZ25vbWUgaW5zdGFsbGVkIG9uIGJ1aWxkIGhvc3QgdGhlbgoraXQgd29udCBmaW5kIHRoZSBmaWxlcyBvbiBob3N0IHN5c3RlbSBhbmQgcGFja2FnZXMgdXNpbmcgZ25vbWUtZG9jLXV0aWxzIHdvbnQKK2NvbXBpbGUuCisKK1RoaXMgc2hvdWxkIHdvcmsgb2sgd2l0aCBub24gc3lzcm9vdGVkIGJ1aWxkcyB0b28gc2luY2UgaW4gdGhvc2UgY2FzZXMgUEtHX0NPTkZJR19TWVNST09UX0RJUgord2lsbCBiZSBlbXB0eQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworSW5kZXg6IGdub21lLXBvd2VyLW1hbmFnZXItMi4zMi4wL2dub21lLWRvYy11dGlscy5tYWtlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ25vbWUtcG93ZXItbWFuYWdlci0yLjMyLjAub3JpZy9nbm9tZS1kb2MtdXRpbHMubWFrZQkyMDEwLTAxLTI3IDA4OjI4OjMxLjAwMDAwMDAwMCAtMDgwMAorKysrIGdub21lLXBvd2VyLW1hbmFnZXItMi4zMi4wL2dub21lLWRvYy11dGlscy5tYWtlCTIwMTEtMDktMjUgMTY6MTY6MDQuOTE0ODEzODAwIC0wNzAwCitAQCAtMTI0LDExICsxMjQsMTEgQEAKKyAKKyBfeG1sMnBvID89IGB3aGljaCB4bWwycG9gCisgCistX2RiMmh0bWwgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSBkYjJodG1sIGdub21lLWRvYy11dGlsc2AKKy1fZGIyb21mICA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIGRiMm9tZiBnbm9tZS1kb2MtdXRpbHNgCistX2NodW5rcyAgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvY2h1bmtzLnhzbAorLV9jcmVkaXRzID89IGAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2NyZWRpdHMueHNsCistX2lkcyA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHNgL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9pZHMueHNsCisrX2RiMmh0bWwgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgZGIyaHRtbCBnbm9tZS1kb2MtdXRpbHNgCisrX2RiMm9tZiAgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgZGIyb21mIGdub21lLWRvYy11dGlsc2AKKytfY2h1bmtzICA/PSAke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9YCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvY2h1bmtzLnhzbAorK19jcmVkaXRzID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHNgL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9jcmVkaXRzLnhzbAorK19pZHMgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2lkcy54c2wKKyAKKyBpZiBFTkFCTEVfU0sKKyBfRU5BQkxFX1NLID0gdHJ1ZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtcG93ZXItbWFuYWdlci9nbm9tZS1wb3dlci1tYW5hZ2VyXzIuMzIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBvd2VyLW1hbmFnZXIvZ25vbWUtcG93ZXItbWFuYWdlcl8yLjMyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdiZDcyMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXBvd2VyLW1hbmFnZXIvZ25vbWUtcG93ZXItbWFuYWdlcl8yLjMyLjAuYmIKQEAgLTAsMCArMSw1NCBAQAorU1VNTUFSWSA9ICJQb3dlciBtYW5hZ2VtZW50IGRhZW1vbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworUFIgPSAicjQiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ3RrKyBnY29uZiBsaWJnbm9tZS1rZXlyaW5nIGRidXMgZGJ1cy1nbGliIGxpYm5vdGlmeSBsaWJ3bmNrIGNhaXJvIGxpYnVuaXF1ZSB4cmFuZHIgdmlydHVhbC9saWJ4MTEgbGlieHJlbmRlciBsaWJjYW5iZXJyYSB1cG93ZXIgZ25vbWUtZG9jLXV0aWxzIgorUlJFQ09NTUVORFNfJHtQTn0gKz0gImdub21lLWtleXJpbmciCisKK2luaGVyaXQgZ25vbWUKKworU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vc3lzcm9vdGVkLXBrZy1jb25maWcucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLWRvbi10LWJ1aWxkLWhlbHAtbWFuLnBhdGNoIFwKKyIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOWEwOGU4NWRjZTNmZmI5MDc3NWYxNWUzYmRhNGFkZGEiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIxN2ZhMzAxYmY3ZTEzMzI4NWMwZTA1NGFlM2JlMmIwZjY5MGM0OGY1OWIwOWY2N2UwNGQ2ZWQzMzliMzMwNDc2IgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1zY3JvbGxrZWVwZXIgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtYXBwbGV0cyBcCisgICAgICAgICAgICAgICAgIC0teC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgIC0teC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgICAtLWVuYWJsZS1jb21waWxlLXdhcm5pbmdzPW5vIFwKKyAgICAgICAgICAgICAgICAgYWNfY3ZfaGVhZGVyX1gxMV9leHRlbnNpb25zX2RwbXNfaD15ZXMgXAorIgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgICMgU2lnaC4uLiAtLWVuYWJsZS1jb21waWxlLXdhcm5pbmdzPW5vIGRvZXNuJ3QgYWN0dWFsbHkgdHVybiBvZmYgLVdlcnJvcgorICAgIGZvciBpIGluICQoZmluZCAke0J9IC1uYW1lICJNYWtlZmlsZSIpIDsgZG8KKyAgICAgICAgc2VkIC1pIC1lIHM6LVdlcnJvcjo6ZyAkaQorICAgIGRvbmUKKyAgICBzZWQgLWUgInMvbGlidG9vbCAtLS8ke1RBUkdFVF9TWVN9LWxpYnRvb2wgLS0vIiAtaSAke0J9L3NyYy9NYWtlZmlsZQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tYXBwbGV0cyIKKworRklMRVNfJHtQTn0tYXBwbGV0cyA9ICIke2JpbmRpcn0vKmFwcGxldCogXAorICAgICR7bGliZGlyfS9ib25vYm8vc2VydmVycyBcCisgICAgJHtkYXRhZGlyfS9nbm9tZS0yLjAvdWkgXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucyBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorICAgICR7ZGF0YWRpcn0vZ25vbWUvYXV0b3N0YXJ0IFwKKyIKKworRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L29tZiBcCisgICAgJHtkYXRhZGlyfS9nbm9tZS9oZWxwIFwKKyIKKworIyBnbm9tZS1wb3dlci1tYW5hZ2VyLTIuMzIuMC9zcmMvZ3BtLW1hbmFnZXIuYzo0ODg6MTg6IGVycm9yOiB0b28gbWFueSBhcmd1bWVudHMgdG8gZnVuY3Rpb24gJ25vdGlmeV9ub3RpZmljYXRpb25fbmV3JworUE5CTEFDS0xJU1RbZ25vbWUtcG93ZXItbWFuYWdlcl0gPz0gIkJST0tFTjogbm90IGNvbXBhdGlibGUgd2l0aCBjdXJyZW50IGxpYm5vdGlmeSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXNlc3Npb24vZ25vbWUtc2Vzc2lvbi91c2VfR19HSU5UNjRfRk9STUFULnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc2Vzc2lvbi9nbm9tZS1zZXNzaW9uL3VzZV9HX0dJTlQ2NF9GT1JNQVQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA5ZjhkMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXNlc3Npb24vZ25vbWUtc2Vzc2lvbi91c2VfR19HSU5UNjRfRk9STUFULnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK1RoaXMgcGF0Y2ggZml4ZXMgdGhlIGJ1aWxkIGVycm9ycyB3aGVuIGJ1aWxkaW5nIGdub21lLXNlc3Npb24gZm9yIDY0Yml0IHRhcmdldCB1c2luZyBnY2MgNC44CisKK3wgZ3MtaWRsZS1tb25pdG9yLmM6IEluIGZ1bmN0aW9uICdoYW5kbGVfYWxhcm1fbm90aWZ5X2V2ZW50JzoKK3wgZ3MtaWRsZS1tb25pdG9yLmM6MTk2Ojk6IGVycm9yOiBmb3JtYXQgJyVsbGQnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnbG9uZyBsb25nIGludCcsIGJ1dCBhcmd1bWVudCA1IGhhcyB0eXBlICdnaW50NjQnIFstV2Vycm9yPWZvcm1hdD1dCit8ICAgICAgICAgIGdfZGVidWcgKCJXYXRjaCAlZCBmaXJlZCwgaWRsZSB0aW1lID0gJWxsZCIsCit8ICAgICAgICAgIF4KK3wgZ3MtaWRsZS1tb25pdG9yLmM6IEluIGZ1bmN0aW9uICdfeHN5bmNfYWxhcm1fc2V0JzoKK3wgZ3MtaWRsZS1tb25pdG9yLmM6NDUzOjE3OiBlcnJvcjogZm9ybWF0ICclbGxkJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgbG9uZyBpbnQnLCBidXQgYXJndW1lbnQgNCBoYXMgdHlwZSAnZ2ludDY0JyBbLVdlcnJvcj1mb3JtYXQ9XQorfCAgICAgICAgICAgICAgICAgIGdfZGVidWcgKCJHU0lkbGVNb25pdG9yOiB1cGRhdGluZyBhbGFybSBmb3IgcG9zaXRpdmUgdHJhbnNpdGlvbiB3YWl0PSVsbGQiLAorfCAgICAgICAgICAgICAgICAgIF4KK3wgZ3MtaWRsZS1tb25pdG9yLmM6NDU3OjE3OiBlcnJvcjogZm9ybWF0ICclbGxkJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgbG9uZyBpbnQnLCBidXQgYXJndW1lbnQgNCBoYXMgdHlwZSAnZ2ludDY0JyBbLVdlcnJvcj1mb3JtYXQ9XQorfCAgICAgICAgICAgICAgICAgIGdfZGVidWcgKCJHU0lkbGVNb25pdG9yOiBjcmVhdGluZyBuZXcgYWxhcm0gZm9yIHBvc2l0aXZlIHRyYW5zaXRpb24gd2FpdD0lbGxkIiwKK3wgICAgICAgICAgICAgICAgICBeCit8IGdzLWlkbGUtbW9uaXRvci5jOjQ2NDoxNzogZXJyb3I6IGZvcm1hdCAnJWxsZCcgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICdsb25nIGxvbmcgaW50JywgYnV0IGFyZ3VtZW50IDQgaGFzIHR5cGUgJ2dpbnQ2NCcgWy1XZXJyb3I9Zm9ybWF0PV0KK3wgICAgICAgICAgICAgICAgICBnX2RlYnVnICgiR1NJZGxlTW9uaXRvcjogdXBkYXRpbmcgYWxhcm0gZm9yIG5lZ2F0aXZlIHRyYW5zaXRpb24gd2FpdD0lbGxkIiwKK3wgICAgICAgICAgICAgICAgICBeCit8IGdzLWlkbGUtbW9uaXRvci5jOjQ2ODoxNzogZXJyb3I6IGZvcm1hdCAnJWxsZCcgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICdsb25nIGxvbmcgaW50JywgYnV0IGFyZ3VtZW50IDQgaGFzIHR5cGUgJ2dpbnQ2NCcgWy1XZXJyb3I9Zm9ybWF0PV0KKworVXBzdHJlYW0tU3RhdHVzOiBVbmtub3duCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitJbmRleDogZ25vbWUtc2Vzc2lvbi0yLjMyLjEvZ25vbWUtc2Vzc2lvbi9ncy1pZGxlLW1vbml0b3IuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdub21lLXNlc3Npb24tMi4zMi4xLm9yaWcvZ25vbWUtc2Vzc2lvbi9ncy1pZGxlLW1vbml0b3IuYwkyMDEwLTExLTE3IDAzOjE3OjA0LjAwMDAwMDAwMCAtMDgwMAorKysrIGdub21lLXNlc3Npb24tMi4zMi4xL2dub21lLXNlc3Npb24vZ3MtaWRsZS1tb25pdG9yLmMJMjAxMy0wNi0xMSAyMzozMzoxMi4yMzk5NjAwODIgLTA3MDAKK0BAIC0xOTMsNyArMTkzLDcgQEAKKyAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgfQorIAorLSAgICAgICAgZ19kZWJ1ZyAoIldhdGNoICVkIGZpcmVkLCBpZGxlIHRpbWUgPSAlbGxkIiwKKysgICAgICAgIGdfZGVidWcgKCJXYXRjaCAlZCBmaXJlZCwgaWRsZSB0aW1lID0gJSIgR19HSU5UNjRfRk9STUFUICIiLAorICAgICAgICAgICAgICAgICAgd2F0Y2gtPmlkLAorICAgICAgICAgICAgICAgICAgX3hzeW5jdmFsdWVfdG9faW50NjQgKGFsYXJtX2V2ZW50LT5jb3VudGVyX3ZhbHVlKSk7CisgCitAQCAtNDUwLDIyICs0NTAsMjIgQEAKKyAKKyAgICAgICAgIGF0dHIudHJpZ2dlci50ZXN0X3R5cGUgPSBYU3luY1Bvc2l0aXZlVHJhbnNpdGlvbjsKKyAgICAgICAgIGlmICh3YXRjaC0+eGFsYXJtX3Bvc2l0aXZlICE9IE5vbmUpIHsKKy0gICAgICAgICAgICAgICAgZ19kZWJ1ZyAoIkdTSWRsZU1vbml0b3I6IHVwZGF0aW5nIGFsYXJtIGZvciBwb3NpdGl2ZSB0cmFuc2l0aW9uIHdhaXQ9JWxsZCIsCisrICAgICAgICAgICAgICAgIGdfZGVidWcgKCJHU0lkbGVNb25pdG9yOiB1cGRhdGluZyBhbGFybSBmb3IgcG9zaXRpdmUgdHJhbnNpdGlvbiB3YWl0PSUiIEdfR0lOVDY0X0ZPUk1BVCAiIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgX3hzeW5jdmFsdWVfdG9faW50NjQgKGF0dHIudHJpZ2dlci53YWl0X3ZhbHVlKSk7CisgICAgICAgICAgICAgICAgIFhTeW5jQ2hhbmdlQWxhcm0gKEdES19ESVNQTEFZICgpLCB3YXRjaC0+eGFsYXJtX3Bvc2l0aXZlLCBmbGFncywgJmF0dHIpOworICAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgZ19kZWJ1ZyAoIkdTSWRsZU1vbml0b3I6IGNyZWF0aW5nIG5ldyBhbGFybSBmb3IgcG9zaXRpdmUgdHJhbnNpdGlvbiB3YWl0PSVsbGQiLAorKyAgICAgICAgICAgICAgICBnX2RlYnVnICgiR1NJZGxlTW9uaXRvcjogY3JlYXRpbmcgbmV3IGFsYXJtIGZvciBwb3NpdGl2ZSB0cmFuc2l0aW9uIHdhaXQ9JSIgR19HSU5UNjRfRk9STUFUICIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBfeHN5bmN2YWx1ZV90b19pbnQ2NCAoYXR0ci50cmlnZ2VyLndhaXRfdmFsdWUpKTsKKyAgICAgICAgICAgICAgICAgd2F0Y2gtPnhhbGFybV9wb3NpdGl2ZSA9IFhTeW5jQ3JlYXRlQWxhcm0gKEdES19ESVNQTEFZICgpLCBmbGFncywgJmF0dHIpOworICAgICAgICAgfQorIAorICAgICAgICAgYXR0ci50cmlnZ2VyLnRlc3RfdHlwZSA9IFhTeW5jTmVnYXRpdmVUcmFuc2l0aW9uOworICAgICAgICAgaWYgKHdhdGNoLT54YWxhcm1fbmVnYXRpdmUgIT0gTm9uZSkgeworLSAgICAgICAgICAgICAgICBnX2RlYnVnICgiR1NJZGxlTW9uaXRvcjogdXBkYXRpbmcgYWxhcm0gZm9yIG5lZ2F0aXZlIHRyYW5zaXRpb24gd2FpdD0lbGxkIiwKKysgICAgICAgICAgICAgICAgZ19kZWJ1ZyAoIkdTSWRsZU1vbml0b3I6IHVwZGF0aW5nIGFsYXJtIGZvciBuZWdhdGl2ZSB0cmFuc2l0aW9uIHdhaXQ9JSIgR19HSU5UNjRfRk9STUFUICIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBfeHN5bmN2YWx1ZV90b19pbnQ2NCAoYXR0ci50cmlnZ2VyLndhaXRfdmFsdWUpKTsKKyAgICAgICAgICAgICAgICAgWFN5bmNDaGFuZ2VBbGFybSAoR0RLX0RJU1BMQVkgKCksIHdhdGNoLT54YWxhcm1fbmVnYXRpdmUsIGZsYWdzLCAmYXR0cik7CisgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBnX2RlYnVnICgiR1NJZGxlTW9uaXRvcjogY3JlYXRpbmcgbmV3IGFsYXJtIGZvciBuZWdhdGl2ZSB0cmFuc2l0aW9uIHdhaXQ9JWxsZCIsCisrICAgICAgICAgICAgICAgIGdfZGVidWcgKCJHU0lkbGVNb25pdG9yOiBjcmVhdGluZyBuZXcgYWxhcm0gZm9yIG5lZ2F0aXZlIHRyYW5zaXRpb24gd2FpdD0lIiBHX0dJTlQ2NF9GT1JNQVQgIiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIF94c3luY3ZhbHVlX3RvX2ludDY0IChhdHRyLnRyaWdnZXIud2FpdF92YWx1ZSkpOworICAgICAgICAgICAgICAgICB3YXRjaC0+eGFsYXJtX25lZ2F0aXZlID0gWFN5bmNDcmVhdGVBbGFybSAoR0RLX0RJU1BMQVkgKCksIGZsYWdzLCAmYXR0cik7CisgICAgICAgICB9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zZXNzaW9uL2dub21lLXNlc3Npb25fMi4zMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc2Vzc2lvbi9nbm9tZS1zZXNzaW9uXzIuMzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmZiNzViCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc2Vzc2lvbi9nbm9tZS1zZXNzaW9uXzIuMzIuMS5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkdub21lIHNlc3Npb24gbWFuYWdlciIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworUFIgPSAicjMiCisKK1NFQ1RJT04gPSAieDExL2dub21lIgorREVQRU5EUyA9ICJsaWJ4dHN0IGd0aysgZ2xpYi0yLjAgdXBvd2VyIGRidXMtZ2xpYiBnY29uZiBwYW5nbyBnZGstcGl4YnVmLW5hdGl2ZSBzdGFydHVwLW5vdGlmaWNhdGlvbiIKKworaW5oZXJpdCBnbm9tZQorCitTUkNfVVJJICs9ICJmaWxlOi8vdXNlX0dfR0lOVDY0X0ZPUk1BVC5wYXRjaCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMjIyYmFkNmI0NDZjYjE5YTZiOTAyOGVhMjQ1MzgwMDIiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIyMmQ5M2NlNDMzZmNmOWM3Y2U2YjVmMzZkZDgxZjY0ZTY5MmVhMGU0MWZhYWEwZjYxMTU5ZGRhYzI4YzM2ODZhIgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aC1ndGs9Mi4wIGFjX2N2X3BhdGhfR0NPTkZfU0FOSVRZX0NIRUNLPXNldCAtLWRpc2FibGUtZG9jYm9vay1kb2NzIgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIGZvciBpIGluICQoZmluZCAke1N9IC1uYW1lICJNYWtlZmlsZSIpIDsgZG8KKyAgICAgICAgc2VkIC1pIC1lIHM6IkdDT05GVE9PTCA9IC4qL3Vzci9iaW4vZ2NvbmZ0b29sLTIiOiJHQ09ORlRPT0wgPSAvdXNyL2Jpbi9nY29uZnRvb2wtMiI6ZyAkaQorICAgICAgICBzZWQgLWkgLWUgczoiR0NPTkZfU0FOSVRZX0NIRUNLID0gc2V0IjoiR0NPTkZfU0FOSVRZX0NIRUNLID0gL3Vzci9saWJleGVjL2djb25mLXNhbml0eS1jaGVjay0yIjpnICRpCisgICAgZG9uZSAgICAKK30KKworUlJFQ09NTUVORFNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbS1wbHVnaW4tY2stY29ubmVjdG9yJywgJycsIGQpfSIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hzZXNzaW9ucyAke2RhdGFkaXJ9L2ljb25zICR7ZGF0YWRpcn0vZ25vbWUgJHtsaWJkaXJ9L2dub21lLXNlc3Npb24vaGVscGVycyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJleGVjZGlyfS9nbm9tZS1zZXNzaW9uL2hlbHBlcnMvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc2V0dGluZ3MtZGFlbW9uL2ZpbGVzLzAwMDEtUmVxdWlyZS1saWJub3RpZnktMC42LjAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zZXR0aW5ncy1kYWVtb24vZmlsZXMvMDAwMS1SZXF1aXJlLWxpYm5vdGlmeS0wLjYuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZGQzM2YzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc2V0dGluZ3MtZGFlbW9uL2ZpbGVzLzAwMDEtUmVxdWlyZS1saWJub3RpZnktMC42LjAucGF0Y2gKQEAgLTAsMCArMSw4MSBAQAorRnJvbSBlMWFiNTcwYjBkY2U0NzliYTIzNWU1NTQyZWEwN2QxYjViYWZjNGM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2lsbGlhbSBKb24gTWNDYW5uIDxqbWNjYW5uQHJlZGhhdC5jb20+CitEYXRlOiBNb24sIDExIE9jdCAyMDEwIDIzOjM1OjQ1IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlcXVpcmUgbGlibm90aWZ5IDAuNi4wCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCistLS0KKyBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBwbHVnaW5zL2ExMXkta2V5Ym9hcmQvZ3NkLWExMXkta2V5Ym9hcmQtbWFuYWdlci5jIHwgIDggKystLS0tLS0KKyBwbHVnaW5zL3hyYW5kci9nc2QteHJhbmRyLW1hbmFnZXIuYyAgICAgICAgICAgICAgIHwgMTMgKysrLS0tLS0tLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggOGE5MDA1My4uODYyNGIyYSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNTQsNyArNTQsNyBAQCBHVEtfUkVRVUlSRURfVkVSU0lPTj0yLjkxLjAKKyBHQ09ORl9SRVFVSVJFRF9WRVJTSU9OPTIuNi4xCisgR0lPX1JFUVVJUkVEX1ZFUlNJT049Mi4xNy4zCisgR05PTUVfREVTS1RPUF9SRVFVSVJFRF9WRVJTSU9OPTIuMjkuOTIKKy1MSUJOT1RJRllfUkVRVUlSRURfVkVSU0lPTj0wLjQuMworK0xJQk5PVElGWV9SRVFVSVJFRF9WRVJTSU9OPTAuNi4xCisgCisgRVhUUkFfQ09NUElMRV9XQVJOSU5HUyh5ZXMpCisgCitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9hMTF5LWtleWJvYXJkL2dzZC1hMTF5LWtleWJvYXJkLW1hbmFnZXIuYyBiL3BsdWdpbnMvYTExeS1rZXlib2FyZC9nc2QtYTExeS1rZXlib2FyZC1tYW5hZ2VyLmMKK2luZGV4IDljYTgyMGEuLmY1OTY0YjkgMTAwNjQ0CistLS0gYS9wbHVnaW5zL2ExMXkta2V5Ym9hcmQvZ3NkLWExMXkta2V5Ym9hcmQtbWFuYWdlci5jCisrKysgYi9wbHVnaW5zL2ExMXkta2V5Ym9hcmQvZ3NkLWExMXkta2V5Ym9hcmQtbWFuYWdlci5jCitAQCAtNjA4LDkgKzYwOCw3IEBAIGF4X3Nsb3drZXlzX3dhcm5pbmdfcG9zdF9idWJibGUgKEdzZEExMXlLZXlib2FyZE1hbmFnZXIgKm1hbmFnZXIsCisgICAgICAgICBnc2RfYTExeV9rZXlib2FyZF9tYW5hZ2VyX2Vuc3VyZV9zdGF0dXNfaWNvbiAobWFuYWdlcik7CisgICAgICAgICBtYW5hZ2VyLT5wcml2LT5ub3RpZmljYXRpb24gPSBub3RpZnlfbm90aWZpY2F0aW9uX25ldyAodGl0bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlZmVyZW5jZXMtZGVza3RvcC1hY2Nlc3NpYmlsaXR5IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKy0gICAgICAgIG5vdGlmeV9ub3RpZmljYXRpb25fYXR0YWNoX3RvX3N0YXR1c19pY29uIChtYW5hZ2VyLT5wcml2LT5ub3RpZmljYXRpb24sIG1hbmFnZXItPnByaXYtPnN0YXR1c19pY29uKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlZmVyZW5jZXMtZGVza3RvcC1hY2Nlc3NpYmlsaXR5Iik7CisgICAgICAgICBub3RpZnlfbm90aWZpY2F0aW9uX3NldF90aW1lb3V0IChtYW5hZ2VyLT5wcml2LT5ub3RpZmljYXRpb24sIE5PVElGSUNBVElPTl9USU1FT1VUICogMTAwMCk7CisgCisgICAgICAgICBub3RpZnlfbm90aWZpY2F0aW9uX2FkZF9hY3Rpb24gKG1hbmFnZXItPnByaXYtPm5vdGlmaWNhdGlvbiwKK0BAIC03NDcsOSArNzQ1LDcgQEAgYXhfc3RpY2t5a2V5c193YXJuaW5nX3Bvc3RfYnViYmxlIChHc2RBMTF5S2V5Ym9hcmRNYW5hZ2VyICptYW5hZ2VyLAorICAgICAgICAgZ3NkX2ExMXlfa2V5Ym9hcmRfbWFuYWdlcl9lbnN1cmVfc3RhdHVzX2ljb24gKG1hbmFnZXIpOworICAgICAgICAgbWFuYWdlci0+cHJpdi0+bm90aWZpY2F0aW9uID0gbm90aWZ5X25vdGlmaWNhdGlvbl9uZXcgKHRpdGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWZlcmVuY2VzLWRlc2t0b3AtYWNjZXNzaWJpbGl0eSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CistICAgICAgICBub3RpZnlfbm90aWZpY2F0aW9uX2F0dGFjaF90b19zdGF0dXNfaWNvbiAobWFuYWdlci0+cHJpdi0+bm90aWZpY2F0aW9uLCBtYW5hZ2VyLT5wcml2LT5zdGF0dXNfaWNvbik7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWZlcmVuY2VzLWRlc2t0b3AtYWNjZXNzaWJpbGl0eSIpOworICAgICAgICAgbm90aWZ5X25vdGlmaWNhdGlvbl9zZXRfdGltZW91dCAobWFuYWdlci0+cHJpdi0+bm90aWZpY2F0aW9uLCBOT1RJRklDQVRJT05fVElNRU9VVCAqIDEwMDApOworIAorICAgICAgICAgbm90aWZ5X25vdGlmaWNhdGlvbl9hZGRfYWN0aW9uIChtYW5hZ2VyLT5wcml2LT5ub3RpZmljYXRpb24sCitkaWZmIC0tZ2l0IGEvcGx1Z2lucy94cmFuZHIvZ3NkLXhyYW5kci1tYW5hZ2VyLmMgYi9wbHVnaW5zL3hyYW5kci9nc2QteHJhbmRyLW1hbmFnZXIuYworaW5kZXggMDI1MzZhMy4uZWY1N2Q1YiAxMDA2NDQKKy0tLSBhL3BsdWdpbnMveHJhbmRyL2dzZC14cmFuZHItbWFuYWdlci5jCisrKysgYi9wbHVnaW5zL3hyYW5kci9nc2QteHJhbmRyLW1hbmFnZXIuYworQEAgLTEwODQsMTYgKzEwODQsOSBAQCBlcnJvcl9tZXNzYWdlIChHc2RYcmFuZHJNYW5hZ2VyICptZ3IsIGNvbnN0IGNoYXIgKnByaW1hcnlfdGV4dCwgR0Vycm9yICplcnJvcl90bworIAorICAgICAgICAgZ19hc3NlcnQgKGVycm9yX3RvX2Rpc3BsYXkgPT0gTlVMTCB8fCBzZWNvbmRhcnlfdGV4dCA9PSBOVUxMKTsKKyAKKy0gICAgICAgIGlmIChwcml2LT5zdGF0dXNfaWNvbikKKy0gICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uID0gbm90aWZ5X25vdGlmaWNhdGlvbl9uZXdfd2l0aF9zdGF0dXNfaWNvbiAocHJpbWFyeV90ZXh0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl90b19kaXNwbGF5ID8gZXJyb3JfdG9fZGlzcGxheS0+bWVzc2FnZSA6IHNlY29uZGFyeV90ZXh0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHU0RfWFJBTkRSX0lDT05fTkFNRSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdi0+c3RhdHVzX2ljb24pOworLSAgICAgICAgZWxzZQorLSAgICAgICAgICAgICAgICBub3RpZmljYXRpb24gPSBub3RpZnlfbm90aWZpY2F0aW9uX25ldyAocHJpbWFyeV90ZXh0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfdG9fZGlzcGxheSA/IGVycm9yX3RvX2Rpc3BsYXktPm1lc3NhZ2UgOiBzZWNvbmRhcnlfdGV4dCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdTRF9YUkFORFJfSUNPTl9OQU1FLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisrICAgICAgICBub3RpZmljYXRpb24gPSBub3RpZnlfbm90aWZpY2F0aW9uX25ldyAocHJpbWFyeV90ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX3RvX2Rpc3BsYXkgPyBlcnJvcl90b19kaXNwbGF5LT5tZXNzYWdlIDogc2Vjb25kYXJ5X3RleHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NEX1hSQU5EUl9JQ09OX05BTUUpOworIAorICAgICAgICAgbm90aWZ5X25vdGlmaWNhdGlvbl9zaG93IChub3RpZmljYXRpb24sIE5VTEwpOyAvKiBOVUxMLUdFcnJvciAqLworICNlbHNlCistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXNldHRpbmdzLWRhZW1vbi9nbm9tZS1zZXR0aW5ncy1kYWVtb25fMi4zMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc2V0dGluZ3MtZGFlbW9uL2dub21lLXNldHRpbmdzLWRhZW1vbl8yLjMyLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzkzZWIyNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXNldHRpbmdzLWRhZW1vbi9nbm9tZS1zZXR0aW5ncy1kYWVtb25fMi4zMi4xLmJiCkBAIC0wLDAgKzEsNDIgQEAKK1NVTU1BUlkgPSAiR05PTUUgc2V0dGluZ3MgZGFlbW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorCitQUiA9ICJyNyIKKworREVQRU5EUyA9ICJpbnRsdG9vbCBsaWJ4eGY4Nm1pc2MgbGlic25kZmlsZTEgbGlieHRzdCBnbGliLTIuMCBwb2xraXQgZ3RrKyBnY29uZiBkYnVzLWdsaWIgbGlibm90aWZ5IGxpYmdub21la2JkIGxpYnhrbGF2aWVyIGdub21lLWRvYy11dGlscyBnbm9tZS1kZXNrdG9wIgorCitpbmhlcml0IGdub21lCisKK1NSQ19VUkkgPSAiIFwKKyAgICBnaXQ6Ly9naXQuZ25vbWUub3JnL2dub21lLXNldHRpbmdzLWRhZW1vbjticmFuY2g9Z25vbWUtMi0zMiBcCisgICAgZmlsZTovLzAwMDEtUmVxdWlyZS1saWJub3RpZnktMC42LjAucGF0Y2ggXAorIgorU1JDUkVWID0gIjAxNjBmNjcyNWNmYjg3MmUwMTdmMzk1OGYxMDg3OTJjM2I4ODI4NzIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCAncHVsc2VhdWRpbycsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi0tZW5hYmxlLXB1bHNlLC0tZGlzYWJsZS1wdWxzZSxwdWxzZWF1ZGlvIGdsaWItMi4wIGxpYmNhbmJlcnJhIgorUEFDS0FHRUNPTkZJR1tzbWFydGNhcmRdID0gIi0tZW5hYmxlLXNtYXJ0Y2FyZC1zdXBwb3J0LC0tZGlzYWJsZS1zbWFydGNhcmQtc3VwcG9ydCxuc3MiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0teC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgLS14LWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgLS1lbmFibGUtcG9sa2l0IFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lICdzOi1MJGxpYmRpcjo6ZycgLWUgJ3M6LUkkaW5jbHVkZWRpcjo6ZycgJHtTfS9jb25maWd1cmUuYWMKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9nbm9tZS1zZXR0aW5ncy1kYWVtb24tMi4wLyouc28gJHtsaWJkaXJ9L2dub21lLXNldHRpbmdzLWRhZW1vbi0yLjAvKnBsdWdpbiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2ljb24qIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2dub21lLWNvbnRyb2wtY2VudGVyIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3hzZXNzaW9uKiIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ25vbWUtc2V0dGluZ3MtZGFlbW9uLTIuMC8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nbm9tZS1zZXR0aW5ncy1kYWVtb24tMi4wLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9nbm9tZS1zZXR0aW5ncy1kYWVtb24tMi4wLyouYSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZmlsZXMvMDAwMS1GaXgtZ2xpYi1pbmNsdWRlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2ZpbGVzLzAwMDEtRml4LWdsaWItaW5jbHVkZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNlMWIwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2ZpbGVzLzAwMDEtRml4LWdsaWItaW5jbHVkZXMucGF0Y2gKQEAgLTAsMCArMSwxMDEgQEAKK0Zyb20gODU4N2UzNWFmNTJmNzc3M2Y2MjM2MWJlMmU3MmRkZjI4NmE1OTE4NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTUgTWF5IDIwMTIgMTM6MDI6MDIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGdsaWIgaW5jbHVkZXMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKK1Vwc3RyZWFtLVN0YXR1czogdW5rbm93bgorCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHNyYy9pbnRlcmZhY2UuaCAgICAgICB8ICAgIDIgKy0KKyBzcmMvbG9hZC1ncmFwaC5oICAgICAgfCAgICAyICstCisgc3JjL2xzb2YuaCAgICAgICAgICAgIHwgICAgMiArLQorIHNyYy9vcGVuZmlsZXMuaCAgICAgICB8ICAgIDIgKy0KKyBzcmMvcHJvY21hbl9nbm9tZXN1LmggfCAgICAyICstCisgc3JjL3V0aWwuY3BwICAgICAgICAgIHwgICAgMiArLQorIDYgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZS5oIGIvc3JjL2ludGVyZmFjZS5oCitpbmRleCA0YmRhMzVhLi5iMjZiNjcwIDEwMDY0NAorLS0tIGEvc3JjL2ludGVyZmFjZS5oCisrKysgYi9zcmMvaW50ZXJmYWNlLmgKK0BAIC0yMCw3ICsyMCw3IEBACisgI2lmbmRlZiBfUFJPQ01BTl9JTlRFUkZBQ0VfSF8KKyAjZGVmaW5lIF9QUk9DTUFOX0lOVEVSRkFDRV9IXworIAorLSNpbmNsdWRlIDxnbGliL2d0eXBlcy5oPgorKyNpbmNsdWRlIDxnbGliLmg+CisgI2luY2x1ZGUgPGd0ay9ndGsuaD4KKyAjaW5jbHVkZSAicHJvY21hbi5oIgorIAorZGlmZiAtLWdpdCBhL3NyYy9sb2FkLWdyYXBoLmggYi9zcmMvbG9hZC1ncmFwaC5oCitpbmRleCA2MTExYzc4Li42ZTdhNTk5IDEwMDY0NAorLS0tIGEvc3JjL2xvYWQtZ3JhcGguaAorKysrIGIvc3JjL2xvYWQtZ3JhcGguaAorQEAgLTEsNyArMSw3IEBACisgI2lmbmRlZiBfUFJPQ01BTl9MT0FEX0dSQVBIX0hfCisgI2RlZmluZSBfUFJPQ01BTl9MT0FEX0dSQVBIX0hfCisgCistI2luY2x1ZGUgPGdsaWIvZ3R5cGVzLmg+CisrI2luY2x1ZGUgPGdsaWIuaD4KKyAjaW5jbHVkZSA8Z2xpYnRvcC9jcHUuaD4KKyAKKyBlbnVtCitkaWZmIC0tZ2l0IGEvc3JjL2xzb2YuaCBiL3NyYy9sc29mLmgKK2luZGV4IGFkN2YxMTEuLmRhNDIwZTIgMTAwNjQ0CistLS0gYS9zcmMvbHNvZi5oCisrKysgYi9zcmMvbHNvZi5oCitAQCAtMSw3ICsxLDcgQEAKKyAjaWZuZGVmIEhfUFJPQ01BTl9MU09GXzExNjExNzkyMDIKKyAjZGVmaW5lIEhfUFJPQ01BTl9MU09GXzExNjExNzkyMDIKKyAKKy0jaW5jbHVkZSA8Z2xpYi9nbWFjcm9zLmg+CisrI2luY2x1ZGUgPGdsaWIuaD4KKyAjaW5jbHVkZSAicHJvY21hbi5oIgorIAorIHZvaWQgcHJvY21hbl9sc29mKFByb2NEYXRhICpkYXRhKTsKK2RpZmYgLS1naXQgYS9zcmMvb3BlbmZpbGVzLmggYi9zcmMvb3BlbmZpbGVzLmgKK2luZGV4IDM4YjFjYzguLmE4YjdiMDUgMTAwNjQ0CistLS0gYS9zcmMvb3BlbmZpbGVzLmgKKysrKyBiL3NyYy9vcGVuZmlsZXMuaAorQEAgLTEsNyArMSw3IEBACisgI2lmbmRlZiBfT1BFTkZJTEVTX0hfCisgI2RlZmluZSBfT1BFTkZJTEVTX0hfCisgCistI2luY2x1ZGUgPGdsaWIvZ3R5cGVzLmg+CisrI2luY2x1ZGUgPGdsaWIuaD4KKyAKKyAjaW5jbHVkZSAicHJvY21hbi5oIgorIAorZGlmZiAtLWdpdCBhL3NyYy9wcm9jbWFuX2dub21lc3UuaCBiL3NyYy9wcm9jbWFuX2dub21lc3UuaAoraW5kZXggZmVjMjY1MC4uNDc0Y2E5YSAxMDA2NDQKKy0tLSBhL3NyYy9wcm9jbWFuX2dub21lc3UuaAorKysrIGIvc3JjL3Byb2NtYW5fZ25vbWVzdS5oCitAQCAtMSw3ICsxLDcgQEAKKyAjaWZuZGVmIEhfR05PTUVfU1lTVEVNX01PTklUT1JfR05PTUVTVV9IXzExMzIxNzE5MTcKKyAjZGVmaW5lIEhfR05PTUVfU1lTVEVNX01PTklUT1JfR05PTUVTVV9IXzExMzIxNzE5MTcKKyAKKy0jaW5jbHVkZSA8Z2xpYi9ndHlwZXMuaD4KKysjaW5jbHVkZSA8Z2xpYi5oPgorIAorIGdib29sZWFuCisgcHJvY21hbl9nbm9tZXN1X2NyZWF0ZV9yb290X3Bhc3N3b3JkX2RpYWxvZyhjb25zdCBjaGFyICogbWVzc2FnZSk7CitkaWZmIC0tZ2l0IGEvc3JjL3V0aWwuY3BwIGIvc3JjL3V0aWwuY3BwCitpbmRleCA5YjFjOWY1Li45MDA3M2ZlIDEwMDY0NAorLS0tIGEvc3JjL3V0aWwuY3BwCisrKysgYi9zcmMvdXRpbC5jcHAKK0BAIC0xLDcgKzEsNyBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAKKyAjaW5jbHVkZSA8Z2xpYi9naTE4bi5oPgorLSNpbmNsdWRlIDxnbGliL2dzdHJpbmcuaD4KKysjaW5jbHVkZSA8Z2xpYi5oPgorICNpbmNsdWRlIDxndGsvZ3RrLmg+CisgCisgI2luY2x1ZGUgPGdsaWJ0b3AvcHJvY3RpbWUuaD4KKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9maWxlcy8wMDAyLXNyYy1wcm9jbWFuLmNwcC1pbmNsdWRlLW1haW4tZ3RrbW0uaC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2ZpbGVzLzAwMDItc3JjLXByb2NtYW4uY3BwLWluY2x1ZGUtbWFpbi1ndGttbS5oLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNjcyODEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9maWxlcy8wMDAyLXNyYy1wcm9jbWFuLmNwcC1pbmNsdWRlLW1haW4tZ3RrbW0uaC5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitGcm9tIGFjZmY3MTk5ODNhYTEyOTQxNDhkYzRhMzY3YzQ4OTU3ZjU1MTBlZmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBGcmksIDE3IE1heSAyMDEzIDE4OjI1OjU2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHNyYy9wcm9jbWFuLmNwcDogaW5jbHVkZSBtYWluIGd0a21tLmgKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworYWZ0ZXIgdXBkYXRlIG9mIGd0a21tIGJ1aWxkIGZhaWxlZCB3aXRoOgorCitJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvU3VwZXJhbmR5L3RtcC9vZS1jb3JlLWVnbGliYy9zeXNyb290cy9vdmVyby91c3IvaW5jbHVkZS9ndGttbS0yLjQvZ3RrbW0vbWFpbi5oOjMzOjAsCisgICAgICAgICAgICAgICAgIGZyb20gcHJvY21hbi5jcHA6MjY6CisvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3N5c3Jvb3RzL292ZXJvL3Vzci9pbmNsdWRlL2dka21tLTIuNC9nZGttbS90eXBlcy5oOjkyOjc6IGVycm9yOiAnVmFsdWUnIGlzIG5vdCBhIHRlbXBsYXRlCisvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3N5c3Jvb3RzL292ZXJvL3Vzci9pbmNsdWRlL2dka21tLTIuNC9nZGttbS90eXBlcy5oOjkyOjU0OiBlcnJvcjogZXhwZWN0ZWQgdGVtcGxhdGUtbmFtZSBiZWZvcmUgJzwnIHRva2VuCisvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3N5c3Jvb3RzL292ZXJvL3Vzci9pbmNsdWRlL2dka21tLTIuNC9nZGttbS90eXBlcy5oOjkyOjU0OiBlcnJvcjogZXhwZWN0ZWQgJ3snIGJlZm9yZSAnPCcgdG9rZW4KKy9ob21lL1N1cGVyYW5keS90bXAvb2UtY29yZS1lZ2xpYmMvc3lzcm9vdHMvb3Zlcm8vdXNyL2luY2x1ZGUvZ2RrbW0tMi40L2dka21tL3R5cGVzLmg6OTI6NTQ6IGVycm9yOiBleHBlY3RlZCB1bnF1YWxpZmllZC1pZCBiZWZvcmUgJzwnIHRva2VuCisvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3N5c3Jvb3RzL292ZXJvL3Vzci9pbmNsdWRlL2dka21tLTIuNC9nZGttbS90eXBlcy5oOjE3NDo3OiBlcnJvcjogJ1ZhbHVlJyBpcyBub3QgYSB0ZW1wbGF0ZQorL2hvbWUvU3VwZXJhbmR5L3RtcC9vZS1jb3JlLWVnbGliYy9zeXNyb290cy9vdmVyby91c3IvaW5jbHVkZS9nZGttbS0yLjQvZ2RrbW0vdHlwZXMuaDoxNzQ6MzA6IGVycm9yOiAnR2xpYjo6VmFsdWUnIGlzIG5vdCBhIHRlbXBsYXRlIHR5cGUKKy9ob21lL1N1cGVyYW5keS90bXAvb2UtY29yZS1lZ2xpYmMvc3lzcm9vdHMvb3Zlcm8vdXNyL2luY2x1ZGUvZ2RrbW0tMi40L2dka21tL3R5cGVzLmg6MTc0OjU4OiBlcnJvcjogZXhwZWN0ZWQgdGVtcGxhdGUtbmFtZSBiZWZvcmUgJzwnIHRva2VuCisvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3N5c3Jvb3RzL292ZXJvL3Vzci9pbmNsdWRlL2dka21tLTIuNC9nZGttbS90eXBlcy5oOjIwNzo3OiBlcnJvcjogJ1ZhbHVlJyBpcyBub3QgYSB0ZW1wbGF0ZQorL2hvbWUvU3VwZXJhbmR5L3RtcC9vZS1jb3JlLWVnbGliYy9zeXNyb290cy9vdmVyby91c3IvaW5jbHVkZS9nZGttbS0yLjQvZ2RrbW0vdHlwZXMuaDoyMDc6MjQ6IGVycm9yOiAnR2xpYjo6VmFsdWUnIGlzIG5vdCBhIHRlbXBsYXRlIHR5cGUKKy9ob21lL1N1cGVyYW5keS90bXAvb2UtY29yZS1lZ2xpYmMvc3lzcm9vdHMvb3Zlcm8vdXNyL2luY2x1ZGUvZ2RrbW0tMi40L2dka21tL3R5cGVzLmg6MjA3OjUxOiBlcnJvcjogZXhwZWN0ZWQgdGVtcGxhdGUtbmFtZSBiZWZvcmUgJzwnIHRva2VuCisvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3N5c3Jvb3RzL292ZXJvL3Vzci9pbmNsdWRlL2dka21tLTIuNC9nZGttbS90eXBlcy5oOjI3NDo3OiBlcnJvcjogJ1ZhbHVlJyBpcyBub3QgYSB0ZW1wbGF0ZQorL2hvbWUvU3VwZXJhbmR5L3RtcC9vZS1jb3JlLWVnbGliYy9zeXNyb290cy9vdmVyby91c3IvaW5jbHVkZS9nZGttbS0yLjQvZ2RrbW0vdHlwZXMuaDoyNzQ6MzI6IGVycm9yOiAnR2xpYjo6VmFsdWUnIGlzIG5vdCBhIHRlbXBsYXRlIHR5cGUKKzwuLi4+CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgc3JjL3Byb2NtYW4uY3BwIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3Byb2NtYW4uY3BwIGIvc3JjL3Byb2NtYW4uY3BwCitpbmRleCBiNWMwZDBhLi5kOWI0YjNmIDEwMDY0NAorLS0tIGEvc3JjL3Byb2NtYW4uY3BwCisrKysgYi9zcmMvcHJvY21hbi5jcHAKK0BAIC0yMyw3ICsyMyw3IEBACisgCisgI2luY2x1ZGUgPGxvY2FsZS5oPgorIAorLSNpbmNsdWRlIDxndGttbS9tYWluLmg+CisrI2luY2x1ZGUgPGd0a21tLmg+CisgI2luY2x1ZGUgPGdpb21tL3ZvbHVtZW1vbml0b3IuaD4KKyAjaW5jbHVkZSA8Z2lvbW0vaW5pdC5oPgorICNpbmNsdWRlIDxnbGliLmg+CistLSAKKzEuNy40LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZmlsZXMvUmVtb3ZlLXBrZy1jb25maWctY2hlY2stZm9yLWdub21lLWljb24tdGhlbWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9maWxlcy9SZW1vdmUtcGtnLWNvbmZpZy1jaGVjay1mb3ItZ25vbWUtaWNvbi10aGVtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzUxNjllCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZmlsZXMvUmVtb3ZlLXBrZy1jb25maWctY2hlY2stZm9yLWdub21lLWljb24tdGhlbWUucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSAzNmZkMmFhMjNlNzEyZjA1ZjBjY2U0YTFiZTM0NTNmY2Y0MDVkMDI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KK0RhdGU6IFR1ZSwgMTUgU2VwIDIwMTUgMTY6Mjg6MTggKzAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlIHBrZy1jb25maWcgY2hlY2sgZm9yIGdub21lLWljb24tdGhlbWUKKworVGhlbWUgaXMgbm90IHJlcXVpcmVkIGZvciBidWlsZGluZywgYW5kIHRoZSBpY29ucyBhcmUgcHJvdmlkZWQgYnkKK2Fkd2FpdGEtaWNvbi10aGVtZSBhbnl3YXkKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtGaXhlZCBpbiBjdXJyZW50IHZlcnNpb25zXQorU2lnbmVkLW9mZi1ieTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggMzYwMDgyMy4uNDIyNjJmMiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtMzcsNyArMzcsNyBAQCBMSUJYTUxfUkVRVUlSRUQ9Mi4wCisgUlNWR19SRVFVSVJFRD0yLjEyCisgREJVU19SRVFVSVJFRD0wLjcKKyAKKy1QS0dfQ0hFQ0tfTU9EVUxFUyhQUk9DTUFOLCBnbGliLTIuMCA+PSAkR0xJQl9SRVFVSVJFRCBnY29uZi0yLjAgPj0gJEdDT05GX1JFUVVJUkVEIGxpYmd0b3AtMi4wID49ICRMSUJHVE9QX1JFUVVJUkVEIGxpYnduY2stMS4wID49ICRMSUJXTkNLX1JFUVVJUkVEIGd0aystMi4wID49ICRHVEtfUkVRVUlSRUQgZ25vbWUtaWNvbi10aGVtZSA+PSAkR05PTUVfSUNPTl9USEVNRV9SRVFVSVJFRCBndGttbS0yLjQgPj0gJEdUS01NX1JFUVVJUkVEIGxpYnhtbC0yLjAgPj0gJExJQlhNTF9SRVFVSVJFRCBsaWJyc3ZnLTIuMCA+PSAkUlNWR19SRVFVSVJFRCBnbGlibW0tMi40ID49ICRHTElCTU1fUkVRVUlSRUQgZ2lvbW0tMi40ID49ICRHSU9NTV9SRVFVSVJFRCBkYnVzLWdsaWItMSA+PSAkREJVU19SRVFVSVJFRCkKKytQS0dfQ0hFQ0tfTU9EVUxFUyhQUk9DTUFOLCBnbGliLTIuMCA+PSAkR0xJQl9SRVFVSVJFRCBnY29uZi0yLjAgPj0gJEdDT05GX1JFUVVJUkVEIGxpYmd0b3AtMi4wID49ICRMSUJHVE9QX1JFUVVJUkVEIGxpYnduY2stMS4wID49ICRMSUJXTkNLX1JFUVVJUkVEIGd0aystMi4wID49ICRHVEtfUkVRVUlSRUQgZ3RrbW0tMi40ID49ICRHVEtNTV9SRVFVSVJFRCBsaWJ4bWwtMi4wID49ICRMSUJYTUxfUkVRVUlSRUQgbGlicnN2Zy0yLjAgPj0gJFJTVkdfUkVRVUlSRUQgZ2xpYm1tLTIuNCA+PSAkR0xJQk1NX1JFUVVJUkVEIGdpb21tLTIuNCA+PSAkR0lPTU1fUkVRVUlSRUQgZGJ1cy1nbGliLTEgPj0gJERCVVNfUkVRVUlSRUQpCisgCisgCisgQUNfQVJHX0VOQUJMRShtb3JlLXdhcm5pbmdzLAorLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9nbm9tZS1zeXN0ZW0tbW9uaXRvcl8yLjI4LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9nbm9tZS1zeXN0ZW0tbW9uaXRvcl8yLjI4LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU3NzhmNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yXzIuMjguMi5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIkdub21lIHN5c3RlbSBtb25pdG9yIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorU0VDVElPTiA9ICJ4MTEvZ25vbWUiCitQUiA9ICJyMiIKKworREVQRU5EUyA9ICJsaWJndG9wIGd0a21tIGdsaWJtbSBnbm9tZS1kb2MtdXRpbHMgbGlid25jayBndGsrIGRidXMtZ2xpYiBsaWJyc3ZnIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCBnbm9tZQorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiM2YwYmNhOWIwZWJjN2EzNjU0NjY4NTFjZDU4MGQxNjciCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJiNjI4ZWRmZDM5ZTNhNmIzNzRjZTEzM2YzNjdkMzU2ODQ3NWViNGU5ODFhMzY3ZjRmOWQ2MmE5Nzg0ZTVhZTU5IgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vMDAwMS1GaXgtZ2xpYi1pbmNsdWRlcy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItc3JjLXByb2NtYW4uY3BwLWluY2x1ZGUtbWFpbi1ndGttbS5oLnBhdGNoIFwKKyAgICBmaWxlOi8vUmVtb3ZlLXBrZy1jb25maWctY2hlY2stZm9yLWdub21lLWljb24tdGhlbWUucGF0Y2ggXAorIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgczpoZWxwOjpnICR7U30vTWFrZWZpbGUuYW0KK30KKworUlJFQ09NTUVORFNfJHtQTn0gPSAiYWR3YWl0YS1pY29uLXRoZW1lIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ25vbWUvYXV0b3N0YXJ0IFwKKyIKKworRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L29tZiBcCisgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ25vbWUvaGVscCAiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXZmcy9nbm9tZS12ZnMtMi4yNC40LzAwMDEtbXVsdGlwbGUtTWFrZWZpbGUuYW0tcmVtb3ZlLURHX0RJU0FCTEVfREVQUkVDQVRFRC10by5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXZmcy9nbm9tZS12ZnMtMi4yNC40LzAwMDEtbXVsdGlwbGUtTWFrZWZpbGUuYW0tcmVtb3ZlLURHX0RJU0FCTEVfREVQUkVDQVRFRC10by5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODMzMjk5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvMDAwMS1tdWx0aXBsZS1NYWtlZmlsZS5hbS1yZW1vdmUtREdfRElTQUJMRV9ERVBSRUNBVEVELXRvLnBhdGNoCkBAIC0wLDAgKzEsNzcgQEAKK0Zyb20gNTM2ZTliNTdjYWRhNGE5ZjkyZTA3M2ZkZjAxY2RmMWRlZjQzNWI2YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNyBNYXkgMjAxMyAxNDo1NjowNiArMDIwMAorU3ViamVjdDogW1BBVENIXSBtdWx0aXBsZSBNYWtlZmlsZS5hbTogcmVtb3ZlIC1ER19ESVNBQkxFX0RFUFJFQ0FURUQgdG8gZml4CisgYnVpbGQgd2l0aCBnbGliLTIuMzYKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgZGFlbW9uL01ha2VmaWxlLmFtICAgICAgfCAgICAxIC0KKyBsaWJnbm9tZXZmcy9NYWtlZmlsZS5hbSB8ICAgIDEgLQorIDIgZmlsZXMgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitJbmRleDogZ25vbWUtdmZzLTIuMjQuNC9kYWVtb24vTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbm9tZS12ZnMtMi4yNC40Lm9yaWcvZGFlbW9uL01ha2VmaWxlLmFtCTIwMTMtMTAtMTcgMTY6Mzk6MzkuMDgxMDI0Nzk4IC0wNzAwCisrKysgZ25vbWUtdmZzLTIuMjQuNC9kYWVtb24vTWFrZWZpbGUuYW0JMjAxMy0xMC0xNyAxNjozOTozOS4yMTMwMjQ3OTQgLTA3MDAKK0BAIC04LDcgKzgsNiBAQAorIAktRF9MQVJHRUZJTEU2NF9TT1VSQ0UgICAgICAgICAgICAgICAgICAgXAorIAktRF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUwkJXAorIAktRF9SRUVOVFJBTlQJCQkJXAorLQktREdfRElTQUJMRV9ERVBSRUNBVEVECQkJXAorIAktREdOT01FX1ZGU19QUkVGSVg9XCIkKHByZWZpeClcIglcCisgCS1ER05PTUVfVkZTX0RBVEFESVI9XCIkKGRhdGFkaXIpXCIJXAorIAktREdOT01FX1ZGU19MSUJESVI9XCIkKGxpYmRpcilcIglcCitJbmRleDogZ25vbWUtdmZzLTIuMjQuNC9saWJnbm9tZXZmcy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdub21lLXZmcy0yLjI0LjQub3JpZy9saWJnbm9tZXZmcy9NYWtlZmlsZS5hbQkyMDEzLTEwLTE3IDE2OjM5OjM5LjA4MTAyNDc5OCAtMDcwMAorKysrIGdub21lLXZmcy0yLjI0LjQvbGliZ25vbWV2ZnMvTWFrZWZpbGUuYW0JMjAxMy0xMC0xNyAxNjozOTozOS4yMTMwMjQ3OTQgLTA3MDAKK0BAIC0xOSw3ICsxOSw2IEBACisgCS1EX0xBUkdFRklMRTY0X1NPVVJDRSAgICAgICAgICAgICAgICAgICBcCisgCS1EX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTCQlcCisgCS1EX1JFRU5UUkFOVAkJCQlcCistCS1ER19ESVNBQkxFX0RFUFJFQ0FURUQJCQlcCisgCS1ER05PTUVfVkZTX1BSRUZJWD1cIiQocHJlZml4KVwiCVwKKyAJLURHTk9NRV9WRlNfQklORElSPVwiJChiaW5kaXIpXCIJXAorIAktREdOT01FX1ZGU19EQVRBRElSPVwiJChkYXRhZGlyKVwiCVwKK0luZGV4OiBnbm9tZS12ZnMtMi4yNC40L21vZHVsZXMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbm9tZS12ZnMtMi4yNC40Lm9yaWcvbW9kdWxlcy9NYWtlZmlsZS5hbQkyMDEzLTEwLTE3IDE2OjM5OjM5LjA4MTAyNDc5OCAtMDcwMAorKysrIGdub21lLXZmcy0yLjI0LjQvbW9kdWxlcy9NYWtlZmlsZS5hbQkyMDEzLTEwLTE3IDE2OjM5OjM5LjIxMzAyNDc5NCAtMDcwMAorQEAgLTE4LDcgKzE4LDYgQEAKKyAJLURfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MJCVwKKyAJLURfUkVFTlRSQU5UCQkJCVwKKyAJLURTU0hfUFJPR1JBTT1cIiQoU1NIX1BST0dSQU0pXCIJXAorLQktREdfRElTQUJMRV9ERVBSRUNBVEVECQkJXAorIAktREdOT01FX1ZGU19QUkVGSVg9XCIkKHByZWZpeClcIglcCisgCS1ER05PTUVfVkZTX0RBVEFESVI9XCIkKGRhdGFkaXIpXCIJXAorIAktREdOT01FX1ZGU19MSUJESVI9XCIkKGxpYmRpcilcIglcCitJbmRleDogZ25vbWUtdmZzLTIuMjQuNC9wcm9ncmFtcy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdub21lLXZmcy0yLjI0LjQub3JpZy9wcm9ncmFtcy9NYWtlZmlsZS5hbQkyMDEzLTEwLTE3IDE2OjM5OjM5LjA4MTAyNDc5OCAtMDcwMAorKysrIGdub21lLXZmcy0yLjI0LjQvcHJvZ3JhbXMvTWFrZWZpbGUuYW0JMjAxMy0xMC0xNyAxNjozOTozOS4yMTMwMjQ3OTQgLTA3MDAKK0BAIC00LDggKzQsNyBAQAorIAktSSQodG9wX3NyY2RpcikJCQkJXAorIAktSSQodG9wX2J1aWxkZGlyKQkJCVwKKyAJJChURVNUX0NGTEFHUykJCQkJXAorLQkkKFZGU19DRkxBR1MpCQkJCVwKKy0JLURHX0RJU0FCTEVfREVQUkVDQVRFRAorKwkkKFZGU19DRkxBR1MpCisgCisgbGlicmFyaWVzID0JCQkJCQlcCisgCSQodG9wX2J1aWxkZGlyKS9saWJnbm9tZXZmcy9saWJnbm9tZXZmcy0yLmxhCVwKK0luZGV4OiBnbm9tZS12ZnMtMi4yNC40L3Rlc3QvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbm9tZS12ZnMtMi4yNC40Lm9yaWcvdGVzdC9NYWtlZmlsZS5hbQkyMDEwLTAyLTA5IDA0OjE2OjE0LjAwMDAwMDAwMCAtMDgwMAorKysrIGdub21lLXZmcy0yLjI0LjQvdGVzdC9NYWtlZmlsZS5hbQkyMDEzLTEwLTE3IDE2OjQyOjQ5LjEwOTAxOTE3MiAtMDcwMAorQEAgLTYsNyArNiw2IEBACisgCS1JJCh0b3BfYnVpbGRkaXIpL2xpYmdub21ldmZzICAgICAgICAgICBcCisgCSQoVEVTVF9DRkxBR1MpCQkJCVwKKyAJJChWRlNfQ0ZMQUdTKQkJCQlcCistCS1ER19ESVNBQkxFX0RFUFJFQ0FURUQJCQlcCisgCS1ETU9EVUxFU19QQVRIPVwiJChsaWJkaXIpL3Zmcy9tb2R1bGVzXCIKKyAKKyBpZiBPU19XSU4zMgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvZG8tbm90LXVzZS1zcmNkaXItdmFyaWFibGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS12ZnMvZ25vbWUtdmZzLTIuMjQuNC9kby1ub3QtdXNlLXNyY2Rpci12YXJpYWJsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMGNhMjliCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvZG8tbm90LXVzZS1zcmNkaXItdmFyaWFibGUucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorRml4ZXMgZXJyb3JzIHdpdGggbmV3IGF1dG90b29scworCit8IGF1dG9tYWtlOiBlcnJvcjogdXNpbmcgJyQoc3JjZGlyKScgaW4gVEVTVFMgaXMgY3VycmVudGx5IGJyb2tlbjogJyQoc3JjZGlyKS9hdXRvLXRlc3QnCit8IGF1dG9yZWNvbmY6IGF1dG9tYWtlIGZhaWxlZCB3aXRoIGV4aXQgc3RhdHVzOiAxCit8IEVSUk9SOiBhdXRvcmVjb25mIGV4ZWN1dGlvbiBmYWlsZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogTm90IFN1Ym1pdHRlZAorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworSW5kZXg6IGdub21lLXZmcy0yLjI0LjQvdGVzdC9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdub21lLXZmcy0yLjI0LjQub3JpZy90ZXN0L01ha2VmaWxlLmFtCTIwMTMtMTAtMTcgMTY6NDM6MzYuNjc3MDE3NzY0IC0wNzAwCisrKysgZ25vbWUtdmZzLTIuMjQuNC90ZXN0L01ha2VmaWxlLmFtCTIwMTMtMTAtMTcgMTY6NDg6NDcuMzY5MDA4NTY2IC0wNzAwCitAQCAtNjQsNyArNjQsNyBAQAorIAl0ZXN0LWFzeW5jLWNhbmNlbCBcCisgCXRlc3QtZXNjYXBlICAgICAgIFwKKyAJdGVzdC11cmkgICAgICAgCSAgXAorLQkkKHNyY2RpcikvYXV0by10ZXN0CQorKwlhdXRvLXRlc3QKKyAKKyBsaWJyYXJpZXMgPQkJCQkJCVwKKyAJJCh0b3BfYnVpbGRkaXIpL2xpYmdub21ldmZzL2xpYmdub21ldmZzLTIubGEJXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvZ2NvbmZ0b29sLWxvc3NhZ2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS12ZnMvZ25vbWUtdmZzLTIuMjQuNC9nY29uZnRvb2wtbG9zc2FnZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjUyMTM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvZ2NvbmZ0b29sLWxvc3NhZ2UucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCistLS0gZ25vbWUtdmZzLTIuNi4wL2NvbmZpZ3VyZS5pbn4JMjAwNC0wMy0yMiAxMjozNjoyMy4wMDAwMDAwMDAgKzAwMDAKKysrKyBnbm9tZS12ZnMtMi42LjAvY29uZmlndXJlLmluCTIwMDQtMDYtMDcgMTY6MDQ6MzQuMDAwMDAwMDAwICswMTAwCitAQCAtMTU0LDcgKzE1NCw3IEBACisgQUNfUEFUSF9QUk9HKEdDT05GVE9PTCwgZ2NvbmZ0b29sLTIsIG5vKQorIAorIGlmIHRlc3QgeCIkR0NPTkZUT09MIiA9IHhubzsgdGhlbgorLSAgQUNfTVNHX0VSUk9SKFtnY29uZnRvb2wtMiBleGVjdXRhYmxlIG5vdCBmb3VuZCBpbiB5b3VyIHBhdGggLSBzaG91bGQgYmUgaW5zdGFsbGVkIHdpdGggR0NvbmZdKQorKyAgQUNfTVNHX1dBUk4oW2djb25mdG9vbC0yIGV4ZWN1dGFibGUgbm90IGZvdW5kIGluIHlvdXIgcGF0aCAtIHNob3VsZCBiZSBpbnN0YWxsZWQgd2l0aCBHQ29uZl0pCisgZmkKKyAKKyBBTV9HQ09ORl9TT1VSQ0VfMgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvZ25vbWUtdmZzLW5vLWtlcmJlcm9zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmcy0yLjI0LjQvZ25vbWUtdmZzLW5vLWtlcmJlcm9zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhYmVjMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS12ZnMvZ25vbWUtdmZzLTIuMjQuNC9nbm9tZS12ZnMtbm8ta2VyYmVyb3MucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCityZW1vdmVzIGtlcmJlcm9zIGNvbXBsZXRlbHkgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggaW5zdGFsbGVkIGtlcmJlcm9zCistLS0gY29uZmlndXJlLmluLm9yaWcJMjAwNy0wMS0wNSAxOTo0MjoyNi40MTg1NDE2MTAgKzAyMDAKKysrKyBjb25maWd1cmUuaW4JMjAwNy0wMS0wNSAxOTo0Mjo1Ni42MDQyNjE3OTcgKzAyMDAKK0BAIC00MzYsNDcgKzQzNiw2IEBACisgXSkKKyBBTV9DT05ESVRJT05BTChIQVZFX0NEREEsIHRlc3QgJGhhdmVfY2RkYSA9IHllcykKKyBBQ19TVUJTVChDRERBX0xJQlMpCistCistZG5sIEdTU0FQSQorLWRubCBDaGVjayBmb3IgS2VyYmVyb3MgaW5zdGFsbGF0aW9uCistaGF2ZV9nc3NhcGk9bm8KKy1BQ19QQVRIX1BST0coW0tSQjVfQ09ORklHXSwga3JiNS1jb25maWcsIG5vbmUsICRQQVRIOi91c3Iva2VyYmVyb3MvYmluKQorLQkJCQkJICAgCistaWYgdGVzdCAieCRLUkI1X0NPTkZJRyIgIT0gInhub25lIjsgdGhlbgorLSAgIEdTU0FQSV9MSUJTPSJgJHtLUkI1X0NPTkZJR30gLS1saWJzIGdzc2FwaWAiCistICAgR1NTQVBJX0NGTEFHUz0iYCR7S1JCNV9DT05GSUd9IC0tY2ZsYWdzIGdzc2FwaWAiCistICAgCistICAgc2F2ZWRfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKy0gICBzYXZlZF9MSUJTPSIkTElCUyIKKy0gICBMSUJTPSIkTElCUyAkR1NTQVBJX0xJQlMiCistICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAkR1NTQVBJX0NGTEFHUyIKKy0gICAjIE1JVCBhbmQgSGVpbWRhbCBwdXQgZ3NzYXBpLmggaW4gZGlmZmVyZW50IHBsYWNlcworLSAgIEFDX0NIRUNLX0hFQURFUlMoZ3NzYXBpL2dzc2FwaS5oIGdzc2FwaS5oLCBbCistICAgICAgIEFDX0NIRUNLX0ZVTkNTKGdzc19pbml0X3NlY19jb250ZXh0LCBbCistICAgICAgICAgICBBQ19NU0dfTk9USUNFKFtHU1NBUEkgYXV0aGVudGljYXRpb24gc3VwcG9ydCBlbmFibGVkXSkKKy0gICAgICAgICAgIEFDX0RFRklORShIQVZFX0dTU0FQSSwgMSwgW0RlZmluZSBpZiBHU1NBUEkgc3VwcG9ydCBpcyBlbmFibGVkXSkKKy0gICAgICAgICAgIEFDX0NIRUNLX0hFQURFUlMoZ3NzYXBpL2dzc2FwaV9nZW5lcmljLmgpCistCQkgaGF2ZV9nc3NhcGk9eWVzCistCSAKKy0gICAgICAgIyBNSVQgS2VyYmVyb3MgbGFja3MgR1NTX0NfTlRfSE9TVEJBU0VEX1NFUlZJQ0UKKy0gICAgICAgQUNfQ0hFQ0tfREVDTChbR1NTX0NfTlRfSE9TVEJBU0VEX1NFUlZJQ0VdLCwKKy0gICAgICAgICAgW0FDX0RFRklORShbR1NTX0NfTlRfSE9TVEJBU0VEX1NFUlZJQ0VdLCBnc3NfbnRfc2VydmljZV9uYW1lLCAKKy0gICAgICAgICAgICAgW0RlZmluZSBpZiBHU1NfQ19OVF9IT1NUQkFTRURfU0VSVklDRSBpcyBub3QgZGVmaW5lZCBvdGhlcndpc2VdKQorLQkJXSwgWworLQkJICAgICNpZmRlZiBIQVZFX0dTU0FQSV9HU1NBUElfSAorLQkJICAgICNpbmNsdWRlIDxnc3NhcGkvZ3NzYXBpLmg+CistCQkgICAgI2Vsc2UJICAgCistCQkgICAgI2luY2x1ZGUgPGdzc2FwaS5oPgorLQkJICAgICNlbmRpZgorLQkJXSkKKy0JICBdKQorLSAgICAgYnJlYWsKKy0gICBdKQorLSAgIExJQlM9IiRzYXZlZF9MSUJTIiAKKy0gICBDUFBGTEFHUz0iJHNhdmVkX0NQUEZMQUdTIiAKKy1maSAgIAorLUFDX1NVQlNUKEdTU0FQSV9MSUJTKQorLUFDX1NVQlNUKEdTU0FQSV9DRkxBR1MpCisgCSAgIAorIGRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyBkbmwgaHR0cC1tZXRob2QgKG5lb24gY2hlY2tzKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmc18yLjI0LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS12ZnMvZ25vbWUtdmZzXzIuMjQuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWIwMmIxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtdmZzL2dub21lLXZmc18yLjI0LjQuYmIKQEAgLTAsMCArMSw2MCBAQAorU1VNTUFSWSA9ICJhIHVzZXJzcGFjZSB2aXJ0dWFsIGZpbGVzeXN0ZW0iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmdub21lLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliZ25vbWV2ZnMvZ25vbWUtdmZzLmg7ZW5kbGluZT0yNTttZDU9MTcwNzFlNjk3MDdhOGY0Mjg4N2Q4ODQxM2YyNjIzY2IgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcHJvZ3JhbXMvZ25vbWV2ZnMtbHMuYztlbmRsaW5lPTIzO21kNT02NzhhMmU4YmVkYWVmNTgxOGNjYWJlNjMzODQwMTk2YiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kYWVtb24vdmZzLWRhZW1vbi5jO2VuZGxpbmU9MjE7bWQ1PTVmMmM2MTU1M2ZiMTZhYmIwN2ZjOTQ5OGNhMDNmZTFmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL21vZHVsZXMvY2RkYS1jZGRiLmg7ZW5kbGluZT0yMjttZDU9MjBlZDMyNGNhNjQ5MDdjMzY2ZWNkN2YyMmI4ZTBjNTQiCisKK0RFUEVORFMgPSAibGlieG1sMiBnY29uZiBkYnVzIGJ6aXAyIGdub21lLW1pbWUtZGF0YSB6bGliIGludGx0b29sLW5hdGl2ZSIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImdub21lLXZmcy1wbHVnaW4tZmlsZSBzaGFyZWQtbWltZS1pbmZvIgorIyBTb21lIGxlZ2FjeSBwYWNrYWdlcyB3aWxsIHJlcXVpcmUgZ25vbWUtbWltZS1kYXRhIHRvIGJlIGluc3RhbGxlZCwgYnV0IHVzZSBvZgorIyBpdCBpcyBkZXByZWNhdGVkLgorUFIgPSAicjMiCisKK2luaGVyaXQgZ25vbWUKKworIyBUaGlzIGlzIHRvIHByb3ZpZGUgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBnbm9tZS12ZnMgREJ1cyBmb3JrCitSUFJPVklERVNfJHtQTn0gPSAiZ25vbWUtdmZzLXBsdWdpbi1kYnVzIgorCitTUkNfVVJJICs9ICIgXAorICAgIGZpbGU6Ly9nY29uZnRvb2wtbG9zc2FnZS5wYXRjaCBcCisgICAgZmlsZTovL2dub21lLXZmcy1uby1rZXJiZXJvcy5wYXRjaDtzdHJpcGxldmVsPTAgXAorICAgIGZpbGU6Ly8wMDAxLW11bHRpcGxlLU1ha2VmaWxlLmFtLXJlbW92ZS1ER19ESVNBQkxFX0RFUFJFQ0FURUQtdG8ucGF0Y2ggXAorICAgIGZpbGU6Ly9kby1ub3QtdXNlLXNyY2Rpci12YXJpYWJsZS5wYXRjaCBcCisiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImEwNWZhYjAzZWVlZjEwYTQ3ZGQxNTZiNzU4OTgyZjJlIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNjJkZTY0YjViODA0ZWIwNDEwNGZmOThmY2Q2YThiNzI3NmQ1MTBhNDlmYmQ5YzBmZWI1NjhmODk5NjQ0NGZhYSIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnemVyb2NvbmYnLCAnYXZhaGknLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1thdmFoaV0gPSAiLS1lbmFibGUtYXZhaGksLS1kaXNhYmxlLWF2YWhpLGF2YWhpIgorUEFDS0FHRUNPTkZJR1tmYW1dID0gIi0tZW5hYmxlLWZhbSwtLWRpc2FibGUtZmFtLGdhbWluIgorCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1oYWwgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtb3BlbnNzbCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zYW1iYSBcCisgICAgICAgICAgICAgICAgIGFjX2N2X2xpYl9hY2xfYWNsX2dldF9maWxlPW5vIFwKKyAgICAgICAgICAgICAgICAgYWNfY3ZfbGliX3NlY19hY2w9bm8gXAorICAgICAgICAgICAgICAgICBndmZzX2N2X0hBVkVfU09MQVJJU19BQ0xTPW5vIFwKKyAgICAgICAgICAgICAgICAgZ3Zmc19jdl9IQVZFX1BPU0lYX0FDTFM9bm8gXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3ZmcyAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dub21lLXZmcy0yLjAvbW9kdWxlcy8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nbm9tZS12ZnMtMi4wL2luY2x1ZGUvKiAke2xpYmRpcn0vZ25vbWUtdmZzLTIuMC9tb2R1bGVzLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9nbm9tZS12ZnMtMi4wL21vZHVsZXMvKi5hIgorRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L2d0ay1kb2MiCisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5nbm9tZS12ZnMtcGx1Z2luLS4qIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgcHJpbnQgZC5nZXRWYXIoJ0ZJTEVTX2dub21lLXZmcycsIDEpCisKKyAgICBwbHVnaW5kaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L2dub21lLXZmcy0yLjAvbW9kdWxlcy8nKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbmRpciwgJ15saWIoLiopXC5zbyQnLCAnZ25vbWUtdmZzLXBsdWdpbi0lcycsICdHTk9NRSBWRlMgcGx1Z2luIGZvciAlcycpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9nbm9tZS10ZXJtaW5hbC8wMDAxLU1ha2VmaWxlLmFtLWRvLW5vdC1idWlsZC1oZWxwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvZ25vbWUtdGVybWluYWwvMDAwMS1NYWtlZmlsZS5hbS1kby1ub3QtYnVpbGQtaGVscC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzg3NGU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvZ25vbWUtdGVybWluYWwvMDAwMS1NYWtlZmlsZS5hbS1kby1ub3QtYnVpbGQtaGVscC5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIGQyNTQ5ZDNlZjA4NTM2YmU2ZDE0MTUyNGUzMzgyZmVmMDdmZWE4YmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBUdWUsIDMwIEFwciAyMDEzIDE5OjQ4OjI3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlLmFtOiBkbyBub3QgYnVpbGQgaGVscAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggODlmN2VlNC4uMzFlMTFhYiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTEsNCArMSw0IEBACistU1VCRElSUyA9IHNyYyBwbyBoZWxwCisrU1VCRElSUyA9IHNyYyBwbworIAorIE5VTEwgPQorIAorLS0gCisxLjcuNi41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2dub21lLXRlcm1pbmFsXzIuMzAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2dub21lLXRlcm1pbmFsXzIuMzAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWMyYjIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvZ25vbWUtdGVybWluYWxfMi4zMC4yLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiR05PTUUgVGVybWluYWwiCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01YjUxZWJhNGJhNGNhZmU2NDA3MzIyNzUzMGMwNjFlZCIKK0RFUEVORFMgPSAiZ3RrKyBnbGliLTIuMCBzdGFydHVwLW5vdGlmaWNhdGlvbiBkYnVzLWdsaWIgdnRlIGdub21lLWRvYy11dGlscyBpbnRsdG9vbC1uYXRpdmUiCitQUiA9ICJyMSIKKworaW5oZXJpdCBnbm9tZQorCitTUkNfVVJJICs9ICIgXAorICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLWRvLW5vdC1idWlsZC1oZWxwLnBhdGNoIFwKKyIKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtc2Nyb2xsa2VlcGVyIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI3NGM0NTI4ZjAwMDY3MDcyYzJiZDg2N2QxZjhmZTg0NCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjJjN2FmMjI1MDY5OGI5ZjlmNTNjNmVhYTkzMjExYzExMThjZjJjN2UyOWNiYmFjZmQxZThhNmExMDA2OWUwN2EiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJnbm9tZS1jb21tb24tc2NoZW1hcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lY3Vwcy9saWJnbm9tZWN1cHMtMC4yLjMtY3Vwcy0xLjYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJnbm9tZWN1cHMvbGliZ25vbWVjdXBzLTAuMi4zLWN1cHMtMS42LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiYTYwY2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJnbm9tZWN1cHMvbGliZ25vbWVjdXBzLTAuMi4zLWN1cHMtMS42LnBhdGNoCkBAIC0wLDAgKzEsMjg4IEBACitJbXBvcnRlZCBmcm9tIGdlbnRvbzoKK2h0dHA6Ly9zb3VyY2VzLmdlbnRvby5vcmcvY2dpLWJpbi92aWV3dmMuY2dpL2dlbnRvby14ODYvbmV0LXByaW50L2xpYmdub21lY3Vwcy9maWxlcy9saWJnbm9tZWN1cHMtMC4yLjMtY3Vwcy0xLjYucGF0Y2gKKworRnJvbSBhZTc4M2VmZGU0ZmE2OTU3ODY1MTk5NDUwNTQ2MmYwMmI4NjM5MjIwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZHJlIFJvc3RvdnRzZXYgPHRldHJvbWlub0BnZW50b28ub3JnPgorRGF0ZTogVHVlLCA3IEF1ZyAyMDEyIDA2OjUzOjA5IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBDVVBTLTEuNiBJUFAgQVBJIGdldHRlci9zZXR0ZXIgZnVuY3Rpb25zCisKK0NVUFMgMS42IG1ha2VzIHZhcmlvdXMgc3RydWN0dXJlcyBwcml2YXRlIGFuZCBpbnRyb2R1Y2VzIHRoZXNlIGlwcEdldAorYW5kIGlwcFNldCBmdW5jdGlvbnMgZm9yIGFsbCBvZiB0aGUgZmllbGRzIGluIHRoZXNlIHN0cnVjdHVyZXMuCitodHRwOi8vd3d3LmN1cHMub3JnL3N0ci5waHA/TDM5MjgKKworV2UgZGVmaW5lIG91ciBvd24gYWNjZXNzb3JzIHdoZW4gYnVpbGRpbmcgYWdhaW5zdCBDVVBTIDwgMS42LgorCitCYXNlZCBvbiB3b3JrIGJ5IEppcmkgUG9wZWxrYSA8anBvcGVsa2FAcmVkaGF0LmNvbT4gYXQKK2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NTkKKy0tLQorIGxpYmdub21lY3Vwcy9nbm9tZS1jdXBzLXByaW50ZXIuYyB8ICAgNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCisgbGliZ25vbWVjdXBzL2dub21lLWN1cHMtcXVldWUuYyAgIHwgICA0MyArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KKyBsaWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1yZXF1ZXN0LmMgfCAgIDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtcHJpbnRlci5jIGIvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtcHJpbnRlci5jCitpbmRleCBjOTI0YWYwLi5mNWUxZWY3IDEwMDY0NAorLS0tIGEvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtcHJpbnRlci5jCisrKysgYi9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1wcmludGVyLmMKK0BAIC0zNyw2ICszNywzNCBAQAorIAorICNkZWZpbmUgVVBEQVRFX1RJTUVPVVQgNTAwMAorIAorKyNpZiAoQ1VQU19WRVJTSU9OX01BSk9SID4gMSkgfHwgKENVUFNfVkVSU0lPTl9NSU5PUiA+IDUpCisrI2RlZmluZSBIQVZFX0NVUFNfMV82IDEKKysjZW5kaWYKKysKKysjaWZuZGVmIEhBVkVfQ1VQU18xXzYKKysjZGVmaW5lIGlwcEdldENvdW50KGF0dHIpICAgICBhdHRyLT5udW1fdmFsdWVzCisrI2RlZmluZSBpcHBHZXROYW1lKGF0dHIpICAgICAgYXR0ci0+bmFtZQorKyNkZWZpbmUgaXBwR2V0SW50ZWdlcihhdHRyLCBlbGVtZW50KSBhdHRyLT52YWx1ZXNbZWxlbWVudF0uaW50ZWdlcgorKyNkZWZpbmUgaXBwR2V0U3RyaW5nKGF0dHIsIGVsZW1lbnQsIGxhbmd1YWdlKSBhdHRyLT52YWx1ZXNbZWxlbWVudF0uc3RyaW5nLnRleHQKKysKKytzdGF0aWMgaXBwX2F0dHJpYnV0ZV90ICoKKytpcHBGaXJzdEF0dHJpYnV0ZShpcHBfdCAqaXBwKQorK3sKKysgIGlmICghaXBwKQorKyAgICByZXR1cm4gKE5VTEwpOworKyAgcmV0dXJuIChpcHAtPmN1cnJlbnQgPSBpcHAtPmF0dHJzKTsKKyt9CisrCisrc3RhdGljIGlwcF9hdHRyaWJ1dGVfdCAqCisraXBwTmV4dEF0dHJpYnV0ZShpcHBfdCAqaXBwKQorK3sKKysgIGlmICghaXBwIHx8ICFpcHAtPmN1cnJlbnQpCisrICAgIHJldHVybiAoTlVMTCk7CisrICByZXR1cm4gKGlwcC0+Y3VycmVudCA9IGlwcC0+Y3VycmVudC0+bmV4dCk7CisrfQorKyNlbmRpZgorKworKworIHN0cnVjdCBfR25vbWVDdXBzUFBERmlsZSB7CisgCWNoYXIgbmFtZVsxXTsKKyB9OworQEAgLTE3Myw5ICsyMDEsOSBAQCBtYXBfcmVhc29ucyAoR25vbWVDdXBzUHJpbnRlciAqcHJpbnRlciwKKyAJcHJpbnRlci0+ZGV0YWlscy0+c3RhdGVfcmVhc29ucyA9IE5VTEw7CisgCisgCS8qIGNmLiBSRkMyOTExIDQuNC4xMiAqLworLQlmb3IgKGkgPSAwOyBpIDwgYXR0ci0+bnVtX3ZhbHVlczsgaSsrKSB7CisrCWZvciAoaSA9IDA7IGkgPCBpcHBHZXRDb3VudCAoYXR0cik7IGkrKykgeworIAkJY29uc3QgY2hhciAqcDsKKy0JCWNvbnN0IGNoYXIgKmtleXdvcmQgPSBhdHRyLT52YWx1ZXMgW2ldLnN0cmluZy50ZXh0OworKwkJY29uc3QgY2hhciAqa2V5d29yZCA9IGlwcEdldFN0cmluZyAoYXR0ciwgaSwgTlVMTCk7CisgCisgCQlyZWFzb24gPSBnX25ldyAoR25vbWVDdXBzUHJpbnRlclJlYXNvbiwgMSk7CisgCitAQCAtMjI0LDggKzI1Miw4IEBAIGdub21lX2N1cHNfcHJpbnRlcl9nZXRfaW5mbyAoR25vbWVDdXBzUHJpbnRlciAqcHJpbnRlcikKKyAJcmV0dXJuIHByaW50ZXItPmRldGFpbHMtPmluZm87CisgfQorIAorLSNkZWZpbmUgTUFQX0lOVCh2LGEpIHtpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcCAoYXR0ci0+bmFtZSwgKGEpKSkgeyBpZiAoKHYpICE9IGF0dHItPnZhbHVlc1swXS5pbnRlZ2VyKSB7IGNoYW5nZWQgPSBUUlVFOyB9ICh2KSA9IGF0dHItPnZhbHVlc1swXS5pbnRlZ2VyOyB9fQorLSNkZWZpbmUgTUFQX1NUUklORyh2LGEpIHtpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcCAoYXR0ci0+bmFtZSwgKGEpKSkgeyBpZiAoIXYgfHwgc3RyY21wICh2LCBhdHRyLT52YWx1ZXNbMF0uc3RyaW5nLnRleHQpKSB7IGdfZnJlZSAodik7IGNoYW5nZWQgPSBUUlVFOyAodikgPSBnX3N0cmR1cCAoYXR0ci0+dmFsdWVzWzBdLnN0cmluZy50ZXh0KTsgfX19CisrI2RlZmluZSBNQVBfSU5UKHYsYSkge2lmICghZ19hc2NpaV9zdHJjYXNlY21wIChpcHBHZXROYW1lIChhdHRyKSwgKGEpKSkgeyBpZiAoKHYpICE9IGlwcEdldEludGVnZXIgKGF0dHIsIDApKSB7IGNoYW5nZWQgPSBUUlVFOyB9ICh2KSA9IGlwcEdldEludGVnZXIgKGF0dHIsIDApOyB9fQorKyNkZWZpbmUgTUFQX1NUUklORyh2LGEpIHtpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcCAoaXBwR2V0TmFtZSAoYXR0ciksIChhKSkpIHsgaWYgKCF2IHx8IHN0cmNtcCAodiwgaXBwR2V0U3RyaW5nIChhdHRyLCAwLCBOVUxMKSkpIHsgZ19mcmVlICh2KTsgY2hhbmdlZCA9IFRSVUU7ICh2KSA9IGdfc3RyZHVwIChpcHBHZXRTdHJpbmcgKGF0dHIsIDAsIE5VTEwpKTsgfX19CisgCisgc3RhdGljIHZvaWQKKyBhdHRyaWJ1dGVzX3VwZGF0ZV9jYiAoZ3VpbnQgaWQsCitAQCAtMjQzLDE0ICsyNzEsMTQgQEAgYXR0cmlidXRlc191cGRhdGVfY2IgKGd1aW50IGlkLAorIAljaGFuZ2VkID0gRkFMU0U7CisgCisgCWlmICghZXJyb3IgJiYgcmVzcG9uc2UpIHsKKy0JCWZvciAoYXR0ciA9IHJlc3BvbnNlLT5hdHRyczsgYXR0ciAhPSBOVUxMOyBhdHRyID0gYXR0ci0+bmV4dCkgeworLQkJCWlmICghYXR0ci0+bmFtZSkgeworKwkJZm9yIChhdHRyID0gaXBwRmlyc3RBdHRyaWJ1dGUgKHJlc3BvbnNlKTsgYXR0ciAhPSBOVUxMOyBhdHRyID0gaXBwTmV4dEF0dHJpYnV0ZSAocmVzcG9uc2UpKSB7CisrCQkJaWYgKCFpcHBHZXROYW1lIChhdHRyKSkgeworIAkJCQljb250aW51ZTsKKyAJCQl9IAorLQkJCWlmICghZ19hc2NpaV9zdHJjYXNlY21wIChhdHRyLT5uYW1lLCAiYXR0cmlidXRlcy1jaGFyc2V0IikgfHwgIXN0cmNtcCAoYXR0ci0+bmFtZSwgImF0dHJpYnV0ZXMtY2hhcnNldCIpKSB7CisrCQkJaWYgKCFnX2FzY2lpX3N0cmNhc2VjbXAgKGlwcEdldE5hbWUgKGF0dHIpLCAiYXR0cmlidXRlcy1jaGFyc2V0IikgfHwgIXN0cmNtcCAoaXBwR2V0TmFtZSAoYXR0ciksICJhdHRyaWJ1dGVzLWNoYXJzZXQiKSkgeworIAkJCQljb250aW51ZTsKKyAJCQl9CistCQkJaWYgKCFnX2FzY2lpX3N0cmNhc2VjbXAgKGF0dHItPm5hbWUsICJwcmludGVyLXN0YXRlLXJlYXNvbnMiKSkgeworKwkJCWlmICghZ19hc2NpaV9zdHJjYXNlY21wIChpcHBHZXROYW1lIChhdHRyKSwgInByaW50ZXItc3RhdGUtcmVhc29ucyIpKSB7CisgCQkJCW1hcF9yZWFzb25zIChwcmludGVyLCBhdHRyKTsKKyAJCQl9CisgCQkJTUFQX0lOVCAocHJpbnRlci0+ZGV0YWlscy0+c3RhdGUsICJwcmludGVyLXN0YXRlIik7CitAQCAtNTcwLDcgKzU5OCw3IEBAIGdldF9kZWZhdWx0ICh2b2lkKQorIAkKKyAJYXR0ciA9IGlwcEZpbmRBdHRyaWJ1dGUgKHJlc3BvbnNlLCAicHJpbnRlci1uYW1lIiwgSVBQX1RBR19OQU1FKTsKKyAJaWYgKGF0dHIpIHsKKy0JCW5hbWUgPSBnX3N0cmR1cCAoYXR0ci0+dmFsdWVzWzBdLnN0cmluZy50ZXh0KTsKKysJCW5hbWUgPSBnX3N0cmR1cCAoaXBwR2V0U3RyaW5nIChhdHRyLCAwLCBOVUxMKSk7CisgCX0gZWxzZSB7CisgCQluYW1lID0gTlVMTDsKKyAJfQorQEAgLTY5OCw3ICs3MjYsNyBAQCBnZXRfcHJpbnRlcl9uYW1lcyAodm9pZCkKKyAJYXR0ciA9IGlwcEZpbmRBdHRyaWJ1dGUgKHJlc3BvbnNlLCAicHJpbnRlci1uYW1lIiwgSVBQX1RBR19OQU1FKTsKKyAJd2hpbGUgKGF0dHIpIHsKKyAJCXJldCA9IGdfbGlzdF9wcmVwZW5kIChyZXQsIAorLQkJCQkgICAgICBnX3N0cmR1cCAoYXR0ci0+dmFsdWVzWzBdLnN0cmluZy50ZXh0KSk7CisrCQkJCSAgICAgIGdfc3RyZHVwIChpcHBHZXRTdHJpbmcgKGF0dHIsIDAsIE5VTEwpKSk7CisgCQkKKyAJCWF0dHIgPSBpcHBGaW5kTmV4dEF0dHJpYnV0ZSAocmVzcG9uc2UsIAorIAkJCQkJICAgICAicHJpbnRlci1uYW1lIiwgCitkaWZmIC0tZ2l0IGEvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtcXVldWUuYyBiL2xpYmdub21lY3Vwcy9nbm9tZS1jdXBzLXF1ZXVlLmMKK2luZGV4IDlmOThlZDkuLjI5OGRiNDIgMTAwNjQ0CistLS0gYS9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1xdWV1ZS5jCisrKysgYi9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1xdWV1ZS5jCitAQCAtMTUsNiArMTUsMzMgQEAKKyAKKyAjZGVmaW5lIFVQREFURV9USU1FT1VUIDMwMDAKKyAKKysjaWYgKENVUFNfVkVSU0lPTl9NQUpPUiA+IDEpIHx8IChDVVBTX1ZFUlNJT05fTUlOT1IgPiA1KQorKyNkZWZpbmUgSEFWRV9DVVBTXzFfNiAxCisrI2VuZGlmCisrCisrI2lmbmRlZiBIQVZFX0NVUFNfMV82CisrI2RlZmluZSBpcHBHZXROYW1lKGF0dHIpICAgICAgYXR0ci0+bmFtZQorKyNkZWZpbmUgaXBwR2V0SW50ZWdlcihhdHRyLCBlbGVtZW50KSBhdHRyLT52YWx1ZXNbZWxlbWVudF0uaW50ZWdlcgorKyNkZWZpbmUgaXBwR2V0U3RyaW5nKGF0dHIsIGVsZW1lbnQsIGxhbmd1YWdlKSBhdHRyLT52YWx1ZXNbZWxlbWVudF0uc3RyaW5nLnRleHQKKysKKytzdGF0aWMgaXBwX2F0dHJpYnV0ZV90ICoKKytpcHBGaXJzdEF0dHJpYnV0ZShpcHBfdCAqaXBwKQorK3sKKysgIGlmICghaXBwKQorKyAgICByZXR1cm4gKE5VTEwpOworKyAgcmV0dXJuIChpcHAtPmN1cnJlbnQgPSBpcHAtPmF0dHJzKTsKKyt9CisrCisrc3RhdGljIGlwcF9hdHRyaWJ1dGVfdCAqCisraXBwTmV4dEF0dHJpYnV0ZShpcHBfdCAqaXBwKQorK3sKKysgIGlmICghaXBwIHx8ICFpcHAtPmN1cnJlbnQpCisrICAgIHJldHVybiAoTlVMTCk7CisrICByZXR1cm4gKGlwcC0+Y3VycmVudCA9IGlwcC0+Y3VycmVudC0+bmV4dCk7CisrfQorKyNlbmRpZgorKworKworIHN0cnVjdCBfR25vbWVDdXBzUXVldWVEZXRhaWxzIHsKKyAJY2hhciAqcXVldWVfbmFtZTsKKyAJR0xpc3QgKmpvYnM7CitAQCAtMTk5LDggKzIyNiw4IEBAIGZpbmlzaF9qb2IgKEdub21lQ3Vwc0pvYiAqam9iKQorIAlqb2ItPnNpemUgPSBqb2ItPnNpemUgKiAxMDI0OworIH0KKyAKKy0jZGVmaW5lIE1BUF9TVFIoZGVzdCwgc3JjKSB7IGlmICghZ19hc2NpaV9zdHJjYXNlY21wIChhdHRyLT5uYW1lLCAoc3JjKSkpIHsgaWYgKChkZXN0KSAhPSBOVUxMKSBnX2ZyZWUgKGRlc3QpOyAoZGVzdCkgPSBnX3N0cmR1cCAoYXR0ci0+dmFsdWVzWzBdLnN0cmluZy50ZXh0KTt9fQorLSNkZWZpbmUgTUFQX0lOVChkZXN0LCBzcmMpIHsgaWYgKCFnX2FzY2lpX3N0cmNhc2VjbXAgKGF0dHItPm5hbWUsIChzcmMpKSkgeyAoZGVzdCkgPSBhdHRyLT52YWx1ZXNbMF0uaW50ZWdlcjsgfSB9CisrI2RlZmluZSBNQVBfU1RSKGRlc3QsIHNyYykgeyBpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcCAoaXBwR2V0TmFtZSAoYXR0ciksIChzcmMpKSkgeyBpZiAoKGRlc3QpICE9IE5VTEwpIGdfZnJlZSAoZGVzdCk7IChkZXN0KSA9IGdfc3RyZHVwIChpcHBHZXRTdHJpbmcgKGF0dHIsIDAsIE5VTEwpKTt9fQorKyNkZWZpbmUgTUFQX0lOVChkZXN0LCBzcmMpIHsgaWYgKCFnX2FzY2lpX3N0cmNhc2VjbXAgKGlwcEdldE5hbWUgKGF0dHIpLCAoc3JjKSkpIHsgKGRlc3QpID0gaXBwR2V0SW50ZWdlciAoYXR0ciwgMCk7IH0gfQorIAorIHN0YXRpYyB2b2lkCisgZ2V0X2pvYnNfY2IgKGd1aW50IGlkLAorQEAgLTIzMSw4ICsyNTgsOCBAQCBnZXRfam9ic19jYiAoZ3VpbnQgaWQsCisgCQorIAlpZiAocmVzcG9uc2UpIHsKKyAJCWpvYiA9IGdfbmV3MCAoR25vbWVDdXBzSm9iLCAxKTsKKy0JCWZvciAoYXR0ciA9IHJlc3BvbnNlLT5hdHRyczsgYXR0ciAhPSBOVUxMOyBhdHRyID0gYXR0ci0+bmV4dCkgeworLQkJCWlmIChhdHRyLT5uYW1lID09IE5VTEwpIHsKKysJCWZvciAoYXR0ciA9IGlwcEZpcnN0QXR0cmlidXRlIChyZXNwb25zZSk7IGF0dHIgIT0gTlVMTDsgYXR0ciA9IGlwcE5leHRBdHRyaWJ1dGUgKHJlc3BvbnNlKSkgeworKwkJCWlmIChpcHBHZXROYW1lIChhdHRyKSA9PSBOVUxMKSB7CisgCQkJCWlmIChqb2ItPm5hbWUpIHsKKyAJCQkJCWZpbmlzaF9qb2IgKGpvYik7CisgCQkJCQlqb2JzID0gZ19saXN0X3ByZXBlbmQgKGpvYnMsIGpvYik7CQorQEAgLTI0NCw3ICsyNzEsNyBAQCBnZXRfam9ic19jYiAoZ3VpbnQgaWQsCisgCQkJCWNvbnRpbnVlOworIAkJCX0KKyAJCQkKKy0JCQlpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcCAoYXR0ci0+bmFtZSwgImF0dHJpYnV0ZXMtY2hhcnNldCIpIHx8ICFnX2FzY2lpX3N0cmNhc2VjbXAgKGF0dHItPm5hbWUsICJhdHRyaWJ1dGVzLWNoYXJzZXQiKSkgeworKwkJCWlmICghZ19hc2NpaV9zdHJjYXNlY21wIChpcHBHZXROYW1lIChhdHRyKSwgImF0dHJpYnV0ZXMtY2hhcnNldCIpIHx8ICFnX2FzY2lpX3N0cmNhc2VjbXAgKGlwcEdldE5hbWUgKGF0dHIpLCAiYXR0cmlidXRlcy1jaGFyc2V0IikpIHsKKyAJCQkJY29udGludWU7CisgCQkJCQorIAkJCX0KK0BAIC0zNTUsOCArMzgyLDggQEAgZ25vbWVfY3Vwc19xdWV1ZV9nZXRfam9iX25vY2FjaGUgKEdub21lQ3Vwc1F1ZXVlICpxdWV1ZSwKKyAKKyAJaWYgKHJlc3BvbnNlKSB7CisgCQlqb2IgPSBnX25ldzAgKEdub21lQ3Vwc0pvYiwgMSk7CistCQlmb3IgKGF0dHIgPSByZXNwb25zZS0+YXR0cnM7IGF0dHIgIT0gTlVMTDsgYXR0ciA9IGF0dHItPm5leHQpIHsKKy0JCQlpZiAoYXR0ci0+bmFtZSA9PSBOVUxMKSB7CisrCQlmb3IgKGF0dHIgPSBpcHBGaXJzdEF0dHJpYnV0ZSAocmVzcG9uc2UpOyBhdHRyICE9IE5VTEw7IGF0dHIgPSBpcHBOZXh0QXR0cmlidXRlIChyZXNwb25zZSkpIHsKKysJCQlpZiAoaXBwR2V0TmFtZSAoYXR0cikgPT0gTlVMTCkgeworIAkJCQlpZiAoam9iLT5uYW1lKSB7CisgCQkJCQlmaW5pc2hfam9iIChqb2IpOworIAkJCQl9IGVsc2UgeworQEAgLTM2Niw3ICszOTMsNyBAQCBnbm9tZV9jdXBzX3F1ZXVlX2dldF9qb2Jfbm9jYWNoZSAoR25vbWVDdXBzUXVldWUgKnF1ZXVlLAorIAkJCQlicmVhazsKKyAJCQl9CisgCQkJCistCQkJaWYgKCFnX2FzY2lpX3N0cmNhc2VjbXAgKGF0dHItPm5hbWUsICJhdHRyaWJ1dGVzLWNoYXJzZXQiKSB8fCAhZ19hc2NpaV9zdHJjYXNlY21wIChhdHRyLT5uYW1lLCAiYXR0cmlidXRlcy1jaGFyc2V0IikpIHsKKysJCQlpZiAoIWdfYXNjaWlfc3RyY2FzZWNtcCAoaXBwR2V0TmFtZSAoYXR0ciksICJhdHRyaWJ1dGVzLWNoYXJzZXQiKSB8fCAhZ19hc2NpaV9zdHJjYXNlY21wIChpcHBHZXROYW1lIChhdHRyKSwgImF0dHJpYnV0ZXMtY2hhcnNldCIpKSB7CisgCQkJCWNvbnRpbnVlOworIAkJCX0KKyAJCQkKK2RpZmYgLS1naXQgYS9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1yZXF1ZXN0LmMgYi9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1yZXF1ZXN0LmMKK2luZGV4IGM5NGY2MjMuLjEzZjA5NDggMTAwNjQ0CistLS0gYS9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1yZXF1ZXN0LmMKKysrKyBiL2xpYmdub21lY3Vwcy9nbm9tZS1jdXBzLXJlcXVlc3QuYworQEAgLTE5LDYgKzE5LDM2IEBACisgI2RlZmluZSBTVE9QX1VOVVNFRF9USFJFQURTX1RJTUVPVVQgNjAKKyAjZGVmaW5lIENMT1NFX1VOVVNFRF9DT05ORUNUSU9OU19USU1FT1VUIDMwCisgCisrI2lmIChDVVBTX1ZFUlNJT05fTUFKT1IgPiAxKSB8fCAoQ1VQU19WRVJTSU9OX01JTk9SID4gNSkKKysjZGVmaW5lIEhBVkVfQ1VQU18xXzYgMQorKyNlbmRpZgorKworKyNpZm5kZWYgSEFWRV9DVVBTXzFfNgorKyNkZWZpbmUgaXBwR2V0Q291bnQoYXR0cikgICAgIGF0dHItPm51bV92YWx1ZXMKKysjZGVmaW5lIGlwcEdldFZhbHVlVGFnKGF0dHIpICBhdHRyLT52YWx1ZV90YWcKKysjZGVmaW5lIGlwcEdldE5hbWUoYXR0cikgICAgICBhdHRyLT5uYW1lCisrI2RlZmluZSBpcHBHZXRCb29sZWFuKGF0dHIsIGVsZW1lbnQpIGF0dHItPnZhbHVlc1tlbGVtZW50XS5ib29sZWFuCisrI2RlZmluZSBpcHBHZXRJbnRlZ2VyKGF0dHIsIGVsZW1lbnQpIGF0dHItPnZhbHVlc1tlbGVtZW50XS5pbnRlZ2VyCisrI2RlZmluZSBpcHBHZXRTdHJpbmcoYXR0ciwgZWxlbWVudCwgbGFuZ3VhZ2UpIGF0dHItPnZhbHVlc1tlbGVtZW50XS5zdHJpbmcudGV4dAorKworK3N0YXRpYyBpcHBfYXR0cmlidXRlX3QgKgorK2lwcEZpcnN0QXR0cmlidXRlKGlwcF90ICppcHApCisreworKyAgaWYgKCFpcHApCisrICAgIHJldHVybiAoTlVMTCk7CisrICByZXR1cm4gKGlwcC0+Y3VycmVudCA9IGlwcC0+YXR0cnMpOworK30KKysKKytzdGF0aWMgaXBwX2F0dHJpYnV0ZV90ICoKKytpcHBOZXh0QXR0cmlidXRlKGlwcF90ICppcHApCisreworKyAgaWYgKCFpcHAgfHwgIWlwcC0+Y3VycmVudCkKKysgICAgcmV0dXJuIChOVUxMKTsKKysgIHJldHVybiAoaXBwLT5jdXJyZW50ID0gaXBwLT5jdXJyZW50LT5uZXh0KTsKKyt9CisrI2VuZGlmCisrCisrCisgdHlwZWRlZiBzdHJ1Y3QKKyB7CisgCUdNdXRleCAqbXV0ZXg7CitAQCAtMjc2LDE0ICszMDYsMTQgQEAgZHVtcF9yZXF1ZXN0IChpcHBfdCBjb25zdCAqcmVxKQorIAl1bnNpZ25lZCBpOworIAlpcHBfYXR0cmlidXRlX3QgKmF0dHI7CisgCistCWZvciAoYXR0ciA9IHJlcS0+YXR0cnM7IGF0dHIgIT0gTlVMTDsgYXR0ciA9IGF0dHItPm5leHQpIHsKKy0JCWdfcHJpbnQgKCIlcyIsIGF0dHItPm5hbWUpOworLQkJZm9yIChpID0gMCA7IGkgPCBhdHRyLT5udW1fdmFsdWVzIDsgaSsrKSB7CisrCWZvciAoYXR0ciA9IGlwcEZpcnN0QXR0cmlidXRlIChyZXEpOyBhdHRyICE9IE5VTEw7IGF0dHIgPSBpcHBOZXh0QXR0cmlidXRlIChyZXEpKSB7CisrCQlnX3ByaW50ICgiJXMiLCBpcHBHZXROYW1lIChhdHRyKSk7CisrCQlmb3IgKGkgPSAwIDsgaSA8IGlwcEdldENvdW50IChhdHRyKSA7IGkrKykgeworIAkJCWdfcHJpbnQgKCJcdFslZF0gPSAiLCBpKTsKKy0JCQlzd2l0Y2ggKGF0dHItPnZhbHVlX3RhZyAmIH5JUFBfVEFHX0NPUFkpIHsKKysJCQlzd2l0Y2ggKGlwcEdldFZhbHVlVGFnIChhdHRyKSAmIH5JUFBfVEFHX0NPUFkpIHsKKyAJCQljYXNlIElQUF9UQUdfSU5URUdFUjoKKyAJCQljYXNlIElQUF9UQUdfRU5VTToKKy0JCQkJZ19wcmludCAoIiVkXG4iLCBhdHRyLT52YWx1ZXNbaV0uaW50ZWdlcik7CisrCQkJCWdfcHJpbnQgKCIlZFxuIiwgaXBwR2V0SW50ZWdlciAoYXR0ciwgaSkpOworIAkJCQlicmVhazsKKyAKKyAJCQljYXNlIElQUF9UQUdfU1RSSU5HOgorQEAgLTI5NCwxMSArMzI0LDExIEBAIGR1bXBfcmVxdWVzdCAoaXBwX3QgY29uc3QgKnJlcSkKKyAJCQljYXNlIElQUF9UQUdfQ0hBUlNFVDoKKyAJCQljYXNlIElQUF9UQUdfTEFOR1VBR0U6CisgCQkJY2FzZSBJUFBfVEFHX01JTUVUWVBFOgorLQkJCQlnX3ByaW50ICgiJyVzJ1xuIiwgYXR0ci0+dmFsdWVzW2ldLnN0cmluZy50ZXh0KTsKKysJCQkJZ19wcmludCAoIiclcydcbiIsIGlwcEdldFN0cmluZyAoYXR0ciwgaSwgTlVMTCkpOworIAkJCQlicmVhazsKKyAKKyAJCQljYXNlIElQUF9UQUdfQk9PTEVBTjoKKy0JCQkJZ19wcmludCAoIiVzXG4iLCAoaW50KWF0dHItPnZhbHVlc1tpXS5ib29sZWFuID8gInRydWUiIDogImZhbHNlIik7CisrCQkJCWdfcHJpbnQgKCIlc1xuIiwgKGludClpcHBHZXRCb29sZWFuIChhdHRyLCBpKSA/ICJ0cnVlIiA6ICJmYWxzZSIpOworIAkJCQlicmVhazsKKyAKKyAJCQlkZWZhdWx0OgorLS0gCisxLjcuOC42CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lY3Vwcy9saWJnbm9tZWN1cHMtMC4yLjMtZ2xpYi5oLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliZ25vbWVjdXBzL2xpYmdub21lY3Vwcy0wLjIuMy1nbGliLmgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzdiNjE2NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lY3Vwcy9saWJnbm9tZWN1cHMtMC4yLjMtZ2xpYi5oLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0ltcG9ydGVkIGZyb20gZ2VudG9vOgorCitodHRwOi8vc291cmNlcy5nZW50b28ub3JnL2NnaS1iaW4vdmlld3ZjLmNnaS9nZW50b28teDg2L25ldC1wcmludC9saWJnbm9tZWN1cHMvZmlsZXMvbGliZ25vbWVjdXBzLTAuMi4zLWdsaWIuaC5wYXRjaAorCitGcm9tIGQ4NGVlZTk0NTBiM2I2ZjYxNTUwNzQ5MTVlZmM2MWJlZGNjOGQ0NDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEb21pbmlxdWUgTGV1ZW5iZXJnZXIgPGRpbXN0YXJAb3BlbnN1c2Uub3JnPgorRGF0ZTogU3VuLCAyNyBOb3YgMjAxMSAyMTozNjo0MSArMDEwMAorU3ViamVjdDogW1BBVENIXSBGaXg6IE9ubHkgZ2xpYi5oIGNhbiBiZSBpbmNsdWRlZAorCistLS0KKyBsaWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1pMThuLmMgfCAgICAyICstCisgbGliZ25vbWVjdXBzL2dub21lLWN1cHMtaW5pdC5oIHwgICAgMyArLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmdub21lY3Vwcy9nbm9tZS1jdXBzLWkxOG4uYyBiL2xpYmdub21lY3Vwcy9nbm9tZS1jdXBzLWkxOG4uYworaW5kZXggODk4N2M1Yy4uMTI3NzU2ZCAxMDA2NDQKKy0tLSBhL2xpYmdub21lY3Vwcy9nbm9tZS1jdXBzLWkxOG4uYworKysrIGIvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtaTE4bi5jCitAQCAtMSw1ICsxLDUgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CistI2luY2x1ZGUgPGdsaWIvZ21hY3Jvcy5oPgorKyNpbmNsdWRlIDxnbGliLmg+CisgI2luY2x1ZGUgImdub21lLWN1cHMtaTE4bi5oIgorIAorICNpZmRlZiBFTkFCTEVfTkxTCitkaWZmIC0tZ2l0IGEvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtaW5pdC5oIGIvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtaW5pdC5oCitpbmRleCAyMmI2ODJhLi5jNDYwMGZjIDEwMDY0NAorLS0tIGEvbGliZ25vbWVjdXBzL2dub21lLWN1cHMtaW5pdC5oCisrKysgYi9saWJnbm9tZWN1cHMvZ25vbWUtY3Vwcy1pbml0LmgKK0BAIC0xLDggKzEsNyBAQAorICNpZm5kZWYgR05PTUVfQ1VQU19JTklUCisgI2RlZmluZSBHTk9NRV9DVVBTX0lOSVQKKyAKKy0jaW5jbHVkZSA8Z2xpYi9ndHlwZXMuaD4KKy0jaW5jbHVkZSA8Z2xpYi9nbWFjcm9zLmg+CisrI2luY2x1ZGUgPGdsaWIuaD4KKyAKKyBHX0JFR0lOX0RFQ0xTCisgCistLSAKKzEuNy43CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lY3Vwc18wLjIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lY3Vwc18wLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmI2ODE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliZ25vbWVjdXBzXzAuMi4zLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OPSJHbm9tZSBDdXBzIE1hbmFnZXIiCitMSUNFTlNFPSJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitERVBFTkRTPSJnbGliLTIuMCBndGsrIHBhbmdvIGN1cHMgaW50bHRvb2wgbGliZ25vbWV1aSIKKworUFIgPSAicjIiCisKK2luaGVyaXQgZ25vbWViYXNlIHBrZ2NvbmZpZworCitkb19jb21waWxlX2FwcGVuZCAoKSB7CisgICAgY3AgbGliZ25vbWVjdXBzLTEuMC5wYyBsaWJnbm9tZWN1cHMtMS4wLnBjLm9sZAorICAgIHNlZCAnczoke1NUQUdJTkdfRElSX0hPU1R9OjonIDwgbGliZ25vbWVjdXBzLTEuMC5wYy5vbGQgPiBsaWJnbm9tZWN1cHMtMS4wLnBjCit9CisKK1NSQ19VUkkgKz0gIlwKKyAgICBmaWxlOi8vbGliZ25vbWVjdXBzLTAuMi4zLWdsaWIuaC5wYXRjaCBcCisgICAgZmlsZTovL2xpYmdub21lY3Vwcy0wLjIuMy1jdXBzLTEuNi5wYXRjaCBcCisiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImRjNDkyMGMxNWM5Zjg4NmY3M2VhNzRmYmZmMGFlNDhiIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZTEzMGU4MDk0MmIzODZkZTE5YTI4OGE0YzE5NGZmM2RiZTkxNDAzMTViMzFlOTgyMDU4YzhiZmZiYjZhMWQyOSIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnQvMDAwMS1jb25maWd1cmUtdXNlLXBrZ2NvbmZpZy1mb3ItZnJlZXR5cGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJnbm9tZXByaW50LzAwMDEtY29uZmlndXJlLXVzZS1wa2djb25maWctZm9yLWZyZWV0eXBlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3NDk4NWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJnbm9tZXByaW50LzAwMDEtY29uZmlndXJlLXVzZS1wa2djb25maWctZm9yLWZyZWV0eXBlLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gZWQzMWZkODlmNGM3N2Q4OTM5MDc3NGQyOTQyNzg5OGE4NWIyNWFiMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBGcmksIDEgQXVnIDIwMTQgMTM6NTg6MzYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgcGtnY29uZmlnIGZvciBmcmVldHlwZQorCitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKyBjb25maWd1cmUuaW4gfCAxMiArKysrKy0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCA3MjkyNzhkLi5lNTY5NDI5IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0xNjQsMTMgKzE2NCwxMSBAQCBkbmwgQ2hlY2tpbmcgZm9yIGZyZWV0eXBlMgorIGRubCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyBGUkVFVFlQRV9MSUJTPQorIEZSRUVUWVBFX0NGTEFHUz0KKy1BQ19QQVRIX1BST0coRlJFRVRZUEVfQ09ORklHLCBmcmVldHlwZS1jb25maWcsIG5vKQorLWlmIHRlc3QgIngkRlJFRVRZUEVfQ09ORklHIiA9ICJ4bm8iIDsgdGhlbgorLQlBQ19NU0dfRVJST1IoWW91IG5lZWQgRnJlZVR5cGUyIChmcmVldHlwZS1kZXZlbCB2IDIueCBwYWNrYWdlKSBmb3IgdGhpcyB2ZXJzaW9uIG9mIGxpYmdub21lcHJpbnQpCistZWxzZQorLQlGUkVFVFlQRV9DRkxBR1M9YCRGUkVFVFlQRV9DT05GSUcgLS1jZmxhZ3NgCistCUZSRUVUWVBFX0xJQlM9YCRGUkVFVFlQRV9DT05GSUcgLS1saWJzYAorLWZpCisrUEtHX0NIRUNLX01PRFVMRVMoRlJFRVRZUEUyLCBmcmVldHlwZTIsIAorKyAgICBGUkVFVFlQRV9DRkxBR1M9IiRDRkxBR1MgJEZSRUVUWVBFMl9DRkxBR1MiCisrICAgIEZSRUVUWVBFX0xJQlM9IiRMSUJTICRGUkVFVFlQRTJfTElCUyIsCisrICAgIEFDX01TR19FUlJPUihbKioqIFVuYWJsZSB0byBmaW5kIEZyZWVUeXBlMiBsaWJyYXJ5IChodHRwOi8vd3d3LmZyZWV0eXBlLm9yZy8pXSkKKyspCisgCisgbGliZ25vbWVwcmludF9zYXZlX2xkZmxhZ3M9JExERkxBR1MKKyBMREZMQUdTPSIkTERGTEFHUyAkRlJFRVRZUEVfTElCUyIKKy0tIAorMS45LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliZ25vbWVwcmludC9iaXNvbjMtc3VwcG9ydC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnQvYmlzb24zLXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjlkNDEwYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnQvYmlzb24zLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorSW5kZXg6IGxpYmdub21lcHJpbnQtMi4xOC44L2xpYmdub21lcHJpbnQvZ3JhbW1hci55Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGliZ25vbWVwcmludC0yLjE4Ljgub3JpZy9saWJnbm9tZXByaW50L2dyYW1tYXIueQorKysrIGxpYmdub21lcHJpbnQtMi4xOC44L2xpYmdub21lcHJpbnQvZ3JhbW1hci55CitAQCAtOTksNyArOTksNyBAQCBnbm9tZV9wcmludF9maWx0ZXJfcGFyc2VfcHJvcCAoR25vbWVQcmluCisgfQorIAorIHN0YXRpYyBpbnQgeXlsZXggKHZvaWQgKmx2YWxwKTsKKy1zdGF0aWMgaW50IHl5ZXJyb3IgKGNvbnN0IGNoYXIgKnMpOworK3N0YXRpYyBpbnQgeXllcnJvciAoZ3JhcGhfdCAqZywgY29uc3QgY2hhciAqcyk7CisgJX0KKyAKKyAldW5pb24geworQEAgLTExNyw2ICsxMTcsNyBAQCBzdGF0aWMgaW50IHl5ZXJyb3IgKGNvbnN0IGNoYXIgKnMpOworICV0eXBlIDxwPiBwb29sCisgCisgJXB1cmVfcGFyc2VyCisrJXBhcnNlLXBhcmFtIHsgZ3JhcGhfdCAqZ3JhcGggfQorIAorICVzdGFydCBncmFwaAorICUlCitAQCAtMTg1LDcgKzE4Niw3IEBAIGdyYXBoOiBmaWx0ZXIgeworICUlCisgCisgc3RhdGljIGludAorLXl5ZXJyb3IgKGNvbnN0IGNoYXIgKnMpCisreXllcnJvciAoZ3JhcGhfdCAqZywgY29uc3QgY2hhciAqcykKKyB7CisgCXJldHVybiAtMTsKKyB9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJnbm9tZXByaW50L2ZpeC5pbmNsdWRlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnQvZml4LmluY2x1ZGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzMjM1YTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJnbm9tZXByaW50L2ZpeC5pbmNsdWRlcy5wYXRjaApAQCAtMCwwICsxLDExIEBACitkaWZmIC11TnIgbGliZ25vbWVwcmludC0yLjE4Ljcub3JpZy9saWJnbm9tZXByaW50L21vZHVsZXMvY3Vwcy9nbm9tZS1wcmludC1jdXBzLXRyYW5zcG9ydC5jIGxpYmdub21lcHJpbnQtMi4xOC43L2xpYmdub21lcHJpbnQvbW9kdWxlcy9jdXBzL2dub21lLXByaW50LWN1cHMtdHJhbnNwb3J0LmMKKy0tLSBsaWJnbm9tZXByaW50LTIuMTguNy5vcmlnL2xpYmdub21lcHJpbnQvbW9kdWxlcy9jdXBzL2dub21lLXByaW50LWN1cHMtdHJhbnNwb3J0LmMJMjAwOS0wNC0xOSAxOTo0NTozNi4wMDAwMDAwMDAgKzAyMDAKKysrKyBsaWJnbm9tZXByaW50LTIuMTguNy9saWJnbm9tZXByaW50L21vZHVsZXMvY3Vwcy9nbm9tZS1wcmludC1jdXBzLXRyYW5zcG9ydC5jCTIwMTItMTItMjMgMTI6MzQ6NTIuMDU4NjQzNTM3ICswMTAwCitAQCAtMzUsNiArMzUsNyBAQAorICNpbmNsdWRlIDxzeXMvc3RhdC5oPgorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKysjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8bG9jYWxlLmg+CisgCisgI2luY2x1ZGUgPGN1cHMvY3Vwcy5oPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliZ25vbWVwcmludC9mcmVldHlwZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnQvZnJlZXR5cGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2EyN2VjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnQvZnJlZXR5cGUucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorVXNlIHByb3BlciBtZXRob2QgdG8gaW5jbHVkZSBmcmVldHlwZSBoZWFkZXJzCisKK0ZyZWVUeXBlIHdhbnRzIHRvIHVzZSB0aGVzZSBzcGVjaWFsIG1hY3JvcyB0byBpbmNsdWRlIGl0cyBBUElzCitzbyBiZSBpdC4KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogbGliZ25vbWVwcmludC0yLjE4LjcvbGliZ25vbWVwcmludC9nbm9tZS1mb250LWZhY2UuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYmdub21lcHJpbnQtMi4xOC43Lm9yaWcvbGliZ25vbWVwcmludC9nbm9tZS1mb250LWZhY2UuYworKysrIGxpYmdub21lcHJpbnQtMi4xOC43L2xpYmdub21lcHJpbnQvZ25vbWUtZm9udC1mYWNlLmMKK0BAIC0zNiw3ICszNiw5IEBACisgI2luY2x1ZGUgPHN0ZGFyZy5oPgorICNpbmNsdWRlIDxsb2NhbGUuaD4KKyAKKy0jaW5jbHVkZSA8ZnJlZXR5cGUvZnRvdXRsbi5oPgorKyNpbmNsdWRlIDxmdDJidWlsZC5oPgorKyNpbmNsdWRlIEZUX0ZSRUVUWVBFX0gKKysKKyAKKyAjaW5jbHVkZSA8bGliZ25vbWVwcmludC9nbm9tZS1wcmludC1wcml2YXRlLmg+CisgI2luY2x1ZGUgPGxpYmdub21lcHJpbnQvZ25vbWUtZm9udC1wcml2YXRlLmg+CitJbmRleDogbGliZ25vbWVwcmludC0yLjE4LjcvbGliZ25vbWVwcmludC9nbm9tZS1yZm9udC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGliZ25vbWVwcmludC0yLjE4Ljcub3JpZy9saWJnbm9tZXByaW50L2dub21lLXJmb250LmMKKysrKyBsaWJnbm9tZXByaW50LTIuMTguNy9saWJnbm9tZXByaW50L2dub21lLXJmb250LmMKK0BAIC0yOCw4ICsyOCw4IEBACisgCisgI2luY2x1ZGUgPGZ0MmJ1aWxkLmg+CisgI2luY2x1ZGUgRlRfRlJFRVRZUEVfSAorLSNpbmNsdWRlIDxmcmVldHlwZS9mdGdseXBoLmg+CistI2luY2x1ZGUgPGZyZWV0eXBlL2Z0YmJveC5oPgorKyNpbmNsdWRlIEZUX0dMWVBIX0gKKysjaW5jbHVkZSBGVF9CQk9YX0gKKyAjaW5jbHVkZSA8bGliYXJ0X2xncGwvYXJ0X21pc2MuaD4KKyAjaW5jbHVkZSA8bGliYXJ0X2xncGwvYXJ0X2FmZmluZS5oPgorICNpbmNsdWRlIDxsaWJhcnRfbGdwbC9hcnRfdnBhdGguaD4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnRfMi4xOC44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliZ25vbWVwcmludF8yLjE4LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQ0MTkxNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lL2xpYmdub21lcHJpbnRfMi4xOC44LmJiCkBAIC0wLDAgKzEsMjYgQEAKK0xJQ0VOU0UgPSAiR1BMdjIiCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorCitERVBFTkRTID0gImJpc29uLW5hdGl2ZSBmbGV4LW5hdGl2ZSBsaWJ4bWwyIGxpYmdub21lY3VwcyBnbGliLTIuMCBwYW5nbyBsaWJhcnQtbGdwbCBmb250Y29uZmlnIHBvcHQgZ25vbWUtY29tbW9uIGZyZWV0eXBlIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworaW5oZXJpdCBnbm9tZWJhc2UKKworU1JDX1VSSSArPSAiZmlsZTovL2ZpeC5pbmNsdWRlcy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vZnJlZXR5cGUucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLXVzZS1wa2djb25maWctZm9yLWZyZWV0eXBlLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9iaXNvbjMtc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjYzYjA1ZmZiNTM4NmUxMzE0ODdjNmFmMzBmNGM1NmFjIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMTAzNGVjODY1MTA1MWY4NGQyNDI0ZTdhMWRhNjFjNTMwNDIyY2MyMGNlNWIyZDllMTA3ZTFlNDY3NzhkOTY5MSIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworRklMRVNfJHtQTn0tZGJnICs9ICJcCisgICAgJHtsaWJkaXJ9LyR7UE59LyR7UFZ9L21vZHVsZXMvLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vJHtQTn0vJHtQVn0vbW9kdWxlcy8qLy5kZWJ1ZyBcCisiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIlwKKyAgICAke2xpYmRpcn0vJHtQTn0vJHtQVn0vbW9kdWxlcy8qLmEgXAorICAgICR7bGliZGlyfS8ke1BOfS8ke1BWfS9tb2R1bGVzLyovKi5hIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dudW1lcmljL2dudW1lcmljLzAwMDEtY29uZmlndXJlLmluLWRyb3AtaW50cm9zcGVjdGlvbi1tYWNyb3MtcmVwbGFjZS10aGVtLS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dudW1lcmljL2dudW1lcmljLzAwMDEtY29uZmlndXJlLmluLWRyb3AtaW50cm9zcGVjdGlvbi1tYWNyb3MtcmVwbGFjZS10aGVtLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTRkMmNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ251bWVyaWMvZ251bWVyaWMvMDAwMS1jb25maWd1cmUuaW4tZHJvcC1pbnRyb3NwZWN0aW9uLW1hY3Jvcy1yZXBsYWNlLXRoZW0tLnBhdGNoCkBAIC0wLDAgKzEsODQgQEAKK0Zyb20gZGU1ZjBhNTM1ZDZlYTE5MzJkMmM3ZGU1M2JkMzM1MTBjODY4MmVlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogTW9uLCAyMiBGZWIgMjAxNiAxNjozNDowMyArMDIwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuaW46IGRyb3AgaW50cm9zcGVjdGlvbiBtYWNyb3MsIHJlcGxhY2UgdGhlbSB3aXRoIGEKKyBzdGFuZGFyZCBvbmUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8IDU3ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNTYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IDhlMWFhMzcuLjMwODY1MDMgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTkzNCw2MyArOTM0LDggQEAgQUNfU1VCU1QoTU9OT19DRkxBR1MpCisgQUNfU1VCU1QoTU9OT19MSUJTKQorIF0pCisgCistIyBHT2JqZWN0IEludHJvc3BlY3Rpb24KKy1HSVJfUkVRPTEuMC4wCistQUNfQVJHX0VOQUJMRShpbnRyb3NwZWN0aW9uLAorLSAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtaW50cm9zcGVjdGlvbls9QDw6QG5vL2F1dG8veWVzQDo+QF1dLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBbRW5hYmxlIGludHJvc3BlY3Rpb24gZm9yIHRoaXMgYnVpbGRdKSwsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlX2ludHJvc3BlY3Rpb249bm9dKQorLQorLUFDX01TR19DSEVDS0lORyhbZm9yIGdvYmplY3QtaW50cm9zcGVjdGlvbl0pCistCistZG5sIHByZXNlbmNlL3ZlcnNpb24gY2hlY2tpbmcKKy1BU19DQVNFKFskZW5hYmxlX2ludHJvc3BlY3Rpb25dLAorLVtub10sIFsKKy0gICAgZm91bmRfaW50cm9zcGVjdGlvbj0ibm8gKGRpc2FibGVkLCB1c2UgLS1lbmFibGUtaW50cm9zcGVjdGlvbiB0byBlbmFibGUpIgorLV0sCistW3llc10sWworLSAgICBQS0dfQ0hFQ0tfRVhJU1RTKFtnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wXSwsCistICAgICAgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wIGlzIG5vdCBpbnN0YWxsZWRdKSkKKy0gICAgUEtHX0NIRUNLX0VYSVNUUyhbZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMCA+PSAkR0lSX1JFUV0sCistICAgICAgICAgICAgICAgICAgICAgZm91bmRfaW50cm9zcGVjdGlvbj15ZXMsCistICAgICAgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtZb3UgbmVlZCB0byBoYXZlIGdvYmplY3QtaW50cm9zcGVjdGlvbiA+PSAkMSBpbnN0YWxsZWQgdG8gYnVpbGQgQUNfUEFDS0FHRV9OQU1FXSkpCistXSwKKy1bYXV0b10sWworLSAgICBQS0dfQ0hFQ0tfRVhJU1RTKFtnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wID49ICRHSVJfUkVRXSwgZm91bmRfaW50cm9zcGVjdGlvbj15ZXMsIGZvdW5kX2ludHJvc3BlY3Rpb249bm8pCistZG5sIENhbm9uaWNhbGl6ZSBlbmFibGVfaW50cm9zcGVjdGlvbgorLWVuYWJsZV9pbnRyb3NwZWN0aW9uPSRmb3VuZF9pbnRyb3NwZWN0aW9uCistXSwKKy1bCQorLSAgICBBQ19NU0dfRVJST1IoW2ludmFsaWQgYXJndW1lbnQgcGFzc2VkIHRvIC0tZW5hYmxlLWludHJvc3BlY3Rpb24sIHNob3VsZCBiZSBvbmUgb2YgQDw6QG5vL2F1dG8veWVzQDo+QF0pCistXSkKKytHT0JKRUNUX0lOVFJPU1BFQ1RJT05fQ0hFQ0soWzEuNDYuMF0pCisgCistQUNfTVNHX1JFU1VMVChbJGZvdW5kX2ludHJvc3BlY3Rpb25dKQorLQorLUlOVFJPU1BFQ1RJT05fU0NBTk5FUj0KKy1JTlRST1NQRUNUSU9OX0NPTVBJTEVSPQorLUlOVFJPU1BFQ1RJT05fR0VORVJBVEU9CistSU5UUk9TUEVDVElPTl9HSVJESVI9CistSU5UUk9TUEVDVElPTl9UWVBFTElCRElSPQorLWlmIHRlc3QgIngkZm91bmRfaW50cm9zcGVjdGlvbiIgPSAieHllcyI7IHRoZW4KKy0gICBJTlRST1NQRUNUSU9OX1NDQU5ORVI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9Z19pcl9zY2FubmVyIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCistICAgSU5UUk9TUEVDVElPTl9DT01QSUxFUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1nX2lyX2NvbXBpbGVyIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCistICAgSU5UUk9TUEVDVElPTl9HRU5FUkFURT1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1nX2lyX2dlbmVyYXRlIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCistICAgSU5UUk9TUEVDVElPTl9HSVJESVI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9Z2lyZGlyIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCistICAgSU5UUk9TUEVDVElPTl9UWVBFTElCRElSPSIkKCRQS0dfQ09ORklHIC0tdmFyaWFibGU9dHlwZWxpYmRpciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wKSIKKy0gICBJTlRST1NQRUNUSU9OX0NGTEFHUz1gJFBLR19DT05GSUcgLS1jZmxhZ3MgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKy0gICBJTlRST1NQRUNUSU9OX0xJQlM9YCRQS0dfQ09ORklHIC0tbGlicyBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYAorLSAgIElOVFJPU1BFQ1RJT05fTUFLRUZJTEU9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9ZGF0YWRpciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYC9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wL01ha2VmaWxlLmludHJvc3BlY3Rpb24KKy1maQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fU0NBTk5FUikKKy1BQ19TVUJTVChJTlRST1NQRUNUSU9OX0NPTVBJTEVSKQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fR0VORVJBVEUpCistQUNfU1VCU1QoSU5UUk9TUEVDVElPTl9HSVJESVIpCistQUNfU1VCU1QoSU5UUk9TUEVDVElPTl9UWVBFTElCRElSKQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fQ0ZMQUdTKQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fTElCUykKKy1BQ19TVUJTVChJTlRST1NQRUNUSU9OX01BS0VGSUxFKQorLQorLUFNX0NPTkRJVElPTkFMKEhBVkVfSU5UUk9TUEVDVElPTiwgdGVzdCAieCRmb3VuZF9pbnRyb3NwZWN0aW9uIiA9ICJ4eWVzIikKKyBkbmwgd2UgbmVlZCB0byBjaGFuZ2UgdGhlIGluc3RhbGwgZGlyZWN0b3JpZXMgZm9yIGRpc3RjaGVjaworIEFDX0FSR19XSVRIKFtnaXItZGlyXSwKKyAJQVNfSEVMUF9TVFJJTkcoCistLSAKKzIuNy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dudW1lcmljL2dudW1lcmljL2RvLW5vdC11c2Utc3JjZGlyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ251bWVyaWMvZ251bWVyaWMvZG8tbm90LXVzZS1zcmNkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2M4MWIxZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dudW1lcmljL2dudW1lcmljL2RvLW5vdC11c2Utc3JjZGlyLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK0luZGV4OiBnbnVtZXJpYy0xLjEyLjAvdGVzdC9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdudW1lcmljLTEuMTIuMC5vcmlnL3Rlc3QvTWFrZWZpbGUuYW0JMjAxMS0wNS0xNyAxNzo1NDoyNC4wMDAwMDAwMDAgLTA3MDAKKysrKyBnbnVtZXJpYy0xLjEyLjAvdGVzdC9NYWtlZmlsZS5hbQkyMDEzLTEwLTE3IDIwOjI4OjE5LjkyMDYxODU5NiAtMDcwMAorQEAgLTI1LDcgKzI1LDkgQEAKKyAjCisgIyA5MHh4OiBNaXNjIHN0dWZmLgorIAorLVRFU1RTID0gJChzb3J0ICQod2lsZGNhcmQgJChzcmNkaXIpL3RbMC05XVswLTldWzAtOV1bMC05XS0qLnBsKSkKKytURVNUU19FWFRFTlNJT05TPS5wbAorK1RFU1RTID0gQGF1dG9fZmluZF90ZXN0c0AKKysKKyBTVVBQUyA9IGNvbW1vbi5zdXBwIGNvbW1vbmRvdHMuc3VwcCBndWkuc3VwcCB0ODAwMy12YWxncmluZC1wZGYuc3VwcAorIAorIGltcG9ydC1kYjoKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dudW1lcmljL2dudW1lcmljXzEuMTIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dudW1lcmljL2dudW1lcmljXzEuMTIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDMxMThhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ251bWVyaWMvZ251bWVyaWNfMS4xMi4wLmJiCkBAIC0wLDAgKzEsNDcgQEAKK0xJQ0VOU0UgPSAiR1BMdjIgfCBHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJlMGRlNDE3YWY3OGRkMzQwNTU4ODEwZDFjZWQ1MmU2IgorU0VDVElPTiA9ICJ4MTEvdXRpbHMiCitTID0gIiR7V09SS0RJUn0vZ251bWVyaWMtJHtQVn0iCitERVBFTkRTID0gImdkay1waXhidWYgbGliZ3NmIGd0ayszIGxpYnhtbDIgbGliZ2xhZGUgbGliYXJ0LWxncGwgaW50bHRvb2wtbmF0aXZlIGxpYmdub21lY2FudmFzIGxpYmdub21lcHJpbnQgbGliYm9ub2JvdWkgb3JiaXQyLW5hdGl2ZSBnb2ZmaWNlIgorU1VNTUFSWSA9ICJHbnVtZXJpYyBzcHJlYWRzaGVldCBmb3IgR05PTUUiCisKK0dOT01FX0NPTVBSRVNTX1RZUEUgPSAieHoiCisKK2luaGVyaXQgZ25vbWUgcHl0aG9ubmF0aXZlIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitTUkNfVVJJICs9ICJmaWxlOi8vZG8tbm90LXVzZS1zcmNkaXIucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmluLWRyb3AtaW50cm9zcGVjdGlvbi1tYWNyb3MtcmVwbGFjZS10aGVtLS5wYXRjaCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiM2ZkODdjY2E5NTMzNGI1ZDhhYzkyMjk4OTY3MGZlMjciCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIwMzdiNTNkOTA5ZTVkMTQ1NGIyYWZkYThjNGZiMWU3ODM4ZTI2MDM0M2UzNmQ0ZTM2MjQ1ZjRhNWQwZTA0MTExIgorCisKK0VYVFJBX09FQ09ORj0iIC0td2l0aG91dC1wZXJsICIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiZ251bWVyaWMtcGx1Z2luLSoiCitQQUNLQUdFUyArPSAibGlic3ByZWFkc2hlZXQgbGlic3ByZWFkc2hlZXQtZGV2IGdudW1lcmljLWdvZmZpY2UgZ251bWVyaWMtZ29mZmljZS1kYmciCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dudW1lcmljLyR7UFZ9L3BsdWdpbnMvKi8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSAke2xpYmRpcn0vcGtnY29uZmlnIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJzcHJlYWRzaGVldC5sYSIKK0ZJTEVTX2xpYnNwcmVhZHNoZWV0ID0gIiR7bGliZGlyfS9saWJzcHJlYWRzaGVldC0ke1BWfS5zbyIKK0ZJTEVTX2xpYnNwcmVhZHNoZWV0LWRldiA9ICIke2xpYmRpcn0vbGlic3ByZWFkc2hlZXQuc28iCitGSUxFU19nbnVtZXJpYy1nb2ZmaWNlLWRiZyArPSAiJHtsaWJkaXJ9L2dvZmZpY2UvKi9wbHVnaW5zL2dudW1lcmljLy5kZWJ1ZyIKK0ZJTEVTX2dudW1lcmljLWdvZmZpY2UgPSAiJHtsaWJkaXJ9L2dvZmZpY2UvKi9wbHVnaW5zL2dudW1lcmljLyoiCisKKyMgVGhpcyBoYWNrIHdvcmtzIGFyb3VuZCB0aGUgcHJvYmxlbSBtZW50aW9uZWQgaGVyZToKKyMgaHR0cHM6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy9nbnVtZXJpYy1saXN0LzIwMTAtRmVicnVhcnkvbXNnMDAwMDYuaHRtbAorZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAke0J9L2RvYy9DL01ha2VmaWxlIC1lICdzL1x0Zm9yIGZpbGUgaW4gJChvbWZmaWxlKTsgZG8vXHQtZm9yIGZpbGUgaW4gJChvbWZmaWxlKTsgZG8vJworfQorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgZ251bWVyaWNfbGliZGlyID0gYmIuZGF0YS5leHBhbmQoJyR7bGliZGlyfS9nbnVtZXJpYy8ke1BWfS9wbHVnaW5zJywgZCkKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdudW1lcmljX2xpYmRpciwgJ14oLiopLy4qJCcsCisgICAgICAgIG91dHB1dF9wYXR0ZXJuPSdnbnVtZXJpYy1wbHVnaW4tJXMnLAorICAgICAgICBkZXNjcmlwdGlvbj0nR251bWVyaWMgcGx1Z2luICVzJywKKyAgICAgICAgZXh0cmFfZGVwZW5kcz0nJywKKyAgICAgICAgcmVjdXJzaXZlPVRydWUsCisgICAgICAgIHByZXBlbmQ9VHJ1ZSkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0aHVtYi9maWxlcy9wYXJhbGxlbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0aHVtYi9maWxlcy9wYXJhbGxlbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGNlNWM1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3RodW1iL2ZpbGVzL3BhcmFsbGVsLnBhdGNoCkBAIC0wLDAgKzEsMTU4IEBACitGcm9tIDM0OTY5Y2RlMWRjYjc3NDBiNGE3YzNiNmUzZDA0ZDQ4MWU1OTgwYjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorRGF0ZTogVHVlLCAzMSBKdWwgMjAxMiAxNzoyNjoyNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBidWlsZDogRml4IHBhcmFsbGVsIGJ1aWxkIHByb2JsZW1zIHdpdGggZW51bSBnZW5lcmF0aW9uCisKK1RoaXMgaXMgYSBiYWNrcG9ydCBmcm9tIGEgcGF0Y2ggYWdhaW5zdCBtYXN0ZXIuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwOTI1XQorLS0tCisgZXh0ZW5zaW9ucy9maWxlX3Rvb2xzL01ha2VmaWxlLmFtICAgIHwgICAxMCArKysrLS0tLS0tCisgZXh0ZW5zaW9ucy9pbXBvcnRlci9NYWtlZmlsZS5hbSAgICAgIHwgICAxMCArKysrLS0tLS0tCisgZXh0ZW5zaW9ucy9waXhidWZfc2F2ZXJzL01ha2VmaWxlLmFtIHwgICAxMCArKysrLS0tLS0tCisgZ3RodW1iL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysrLS0tLS0tCisgNCBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2V4dGVuc2lvbnMvZmlsZV90b29scy9NYWtlZmlsZS5hbSBiL2V4dGVuc2lvbnMvZmlsZV90b29scy9NYWtlZmlsZS5hbQoraW5kZXggNzc4NWVmZi4uZDcwYThhNSAxMDA2NDQKKy0tLSBhL2V4dGVuc2lvbnMvZmlsZV90b29scy9NYWtlZmlsZS5hbQorKysrIGIvZXh0ZW5zaW9ucy9maWxlX3Rvb2xzL01ha2VmaWxlLmFtCitAQCAtMjQsMTcgKzI0LDE2IEBAIEhFQURFUl9GSUxFUyA9IAkJCQlcCisgCWd0aC1maWxlLXRvb2wtdW5kby5oCQlcCisgCXByZWZlcmVuY2VzLmgKKyAKKy1lbnVtLXR5cGVzLmg6ICQoSEVBREVSX0ZJTEVTKSAkKEdMSUJfTUtFTlVNUykKKytlbnVtLXR5cGVzLmg6ICQoSEVBREVSX0ZJTEVTKQorIAkkKEFNX1ZfR0VOKSggJChHTElCX01LRU5VTVMpIFwKKyAJCS0tZmhlYWQgIiNpZm5kZWYgRU5VTV9UWVBFU19IXG4jZGVmaW5lIEVOVU1fVFlQRVNfSFxuXG4jaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD5cblxuR19CRUdJTl9ERUNMU1xuIiBcCisgCQktLWZwcm9kICIvKiBlbnVtZXJhdGlvbnMgZnJvbSBcIkBmaWxlbmFtZUBcIiAqL1xuIiBcCisgCQktLXZoZWFkICJHVHlwZSBAZW51bV9uYW1lQF9nZXRfdHlwZSAodm9pZCk7XG4jZGVmaW5lIEdUSF9UWVBFX0BFTlVNU0hPUlRAIChAZW51bV9uYW1lQF9nZXRfdHlwZSgpKVxuIiBcCisgCQktLWZ0YWlsICJHX0VORF9ERUNMU1xuXG4jZW5kaWYgLyogRU5VTV9UWVBFU19IICovIiBcCisgCQkkXj4geGdlbi0kKEBGKSBcCistCSYmIChjbXAgLXMgeGdlbi0kKEBGKSBlbnVtLXR5cGVzLmggfHwgY3AgeGdlbi0kKEBGKSBlbnVtLXR5cGVzLmggKSBcCistCSYmIHJtIC1mIHhnZW4tJChARikgKQorKwkmJiBtdiAtZiB4Z2VuLSQoQEYpIGVudW0tdHlwZXMuaCApCisgCistZW51bS10eXBlcy5jOiAkKEhFQURFUl9GSUxFUykgZW51bS10eXBlcy5oCisrZW51bS10eXBlcy5jOiAkKEhFQURFUl9GSUxFUykKKyAJJChBTV9WX0dFTikoICQoR0xJQl9NS0VOVU1TKSBcCisgCQktLWZoZWFkICIjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD5cbiIgXAorIAkJLS1mcHJvZCAiXG4vKiBlbnVtZXJhdGlvbnMgZnJvbSBcIkBmaWxlbmFtZUBcIiAqL1xuI2luY2x1ZGUgXCJAZmlsZW5hbWVAXCIiIFwKK0BAIC00Miw4ICs0MSw3IEBAIGVudW0tdHlwZXMuYzogJChIRUFERVJfRklMRVMpIGVudW0tdHlwZXMuaAorIAkJLS12cHJvZCAiICAgICAgeyBAVkFMVUVOQU1FQCwgXCJAVkFMVUVOQU1FQFwiLCBcIkB2YWx1ZW5pY2tAXCIgfSwiIFwKKyAJCS0tdnRhaWwgIiAgICAgIHsgMCwgTlVMTCwgTlVMTCB9XG4gICAgfTtcbiAgICBldHlwZSA9IGdfQHR5cGVAX3JlZ2lzdGVyX3N0YXRpYyAoXCJARW51bU5hbWVAXCIsIHZhbHVlcyk7XG4gIH1cbiAgcmV0dXJuIGV0eXBlO1xufVxuIiBcCisgCQkkXj4geGdlbi0kKEBGKSBcCistCSYmIChjbXAgLXMgeGdlbi0kKEBGKSBlbnVtLXR5cGVzLmMgfHwgY3AgeGdlbi0kKEBGKSBlbnVtLXR5cGVzLmMgKSBcCistCSYmIHJtIC1mIHhnZW4tJChARikgKQorKwkmJiBtdiAtZiB4Z2VuLSQoQEYpIGVudW0tdHlwZXMuYyApCisgCisgbGliZmlsZV90b29sc19sYV9TT1VSQ0VTID0gCQlcCisgCSQoRU5VTV9UWVBFUykJCQlcCitkaWZmIC0tZ2l0IGEvZXh0ZW5zaW9ucy9pbXBvcnRlci9NYWtlZmlsZS5hbSBiL2V4dGVuc2lvbnMvaW1wb3J0ZXIvTWFrZWZpbGUuYW0KK2luZGV4IDI5ZTdmMmMuLjA3YzFlYmEgMTAwNjQ0CistLS0gYS9leHRlbnNpb25zL2ltcG9ydGVyL01ha2VmaWxlLmFtCisrKysgYi9leHRlbnNpb25zL2ltcG9ydGVyL01ha2VmaWxlLmFtCitAQCAtMTQsMTcgKzE0LDE2IEBAIEhFQURFUl9GSUxFUyA9IAkJCQkJXAorIAlwcmVmZXJlbmNlcy5oCQkJCVwKKyAJdXRpbHMuaAorIAorLWd0aC1pbXBvcnQtZW51bS10eXBlcy5oOiAkKEhFQURFUl9GSUxFUykgJChHTElCX01LRU5VTVMpCisrZ3RoLWltcG9ydC1lbnVtLXR5cGVzLmg6ICQoSEVBREVSX0ZJTEVTKQorIAkkKEFNX1ZfR0VOKSggJChHTElCX01LRU5VTVMpIFwKKyAJCS0tZmhlYWQgIiNpZm5kZWYgRU5VTV9UWVBFU19IXG4jZGVmaW5lIEVOVU1fVFlQRVNfSFxuXG4jaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD5cblxuR19CRUdJTl9ERUNMU1xuIiBcCisgCQktLWZwcm9kICIvKiBlbnVtZXJhdGlvbnMgZnJvbSBcIkBmaWxlbmFtZUBcIiAqL1xuIiBcCisgCQktLXZoZWFkICJHVHlwZSBAZW51bV9uYW1lQF9nZXRfdHlwZSAodm9pZCk7XG4jZGVmaW5lIEdUSF9UWVBFX0BFTlVNU0hPUlRAIChAZW51bV9uYW1lQF9nZXRfdHlwZSgpKVxuIiBcCisgCQktLWZ0YWlsICJHX0VORF9ERUNMU1xuXG4jZW5kaWYgLyogRU5VTV9UWVBFU19IICovIiBcCisgCQkkXj4geGdlbi0kKEBGKSBcCistCSYmIChjbXAgLXMgeGdlbi0kKEBGKSBndGgtaW1wb3J0LWVudW0tdHlwZXMuaCB8fCBjcCB4Z2VuLSQoQEYpIGd0aC1pbXBvcnQtZW51bS10eXBlcy5oICkgXAorLQkmJiBybSAtZiB4Z2VuLSQoQEYpICkKKysJJiYgbXYgLWYgeGdlbi0kKEBGKSBndGgtaW1wb3J0LWVudW0tdHlwZXMuaCApCisgCistZ3RoLWltcG9ydC1lbnVtLXR5cGVzLmM6ICQoSEVBREVSX0ZJTEVTKSBndGgtaW1wb3J0LWVudW0tdHlwZXMuaAorK2d0aC1pbXBvcnQtZW51bS10eXBlcy5jOiAkKEhFQURFUl9GSUxFUykKKyAJJChBTV9WX0dFTikoICQoR0xJQl9NS0VOVU1TKSBcCisgCQktLWZoZWFkICIjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD5cbiIgXAorIAkJLS1mcHJvZCAiXG4vKiBlbnVtZXJhdGlvbnMgZnJvbSBcIkBmaWxlbmFtZUBcIiAqL1xuI2luY2x1ZGUgXCJAZmlsZW5hbWVAXCIiIFwKK0BAIC0zMiw4ICszMSw3IEBAIGd0aC1pbXBvcnQtZW51bS10eXBlcy5jOiAkKEhFQURFUl9GSUxFUykgZ3RoLWltcG9ydC1lbnVtLXR5cGVzLmgKKyAJCS0tdnByb2QgIiAgICAgIHsgQFZBTFVFTkFNRUAsIFwiQFZBTFVFTkFNRUBcIiwgXCJAdmFsdWVuaWNrQFwiIH0sIiBcCisgCQktLXZ0YWlsICIgICAgICB7IDAsIE5VTEwsIE5VTEwgfVxuICAgIH07XG4gICAgZXR5cGUgPSBnX0B0eXBlQF9yZWdpc3Rlcl9zdGF0aWMgKFwiQEVudW1OYW1lQFwiLCB2YWx1ZXMpO1xuICB9XG4gIHJldHVybiBldHlwZTtcbn1cbiIgXAorIAkJJF4+IHhnZW4tJChARikgXAorLQkmJiAoY21wIC1zIHhnZW4tJChARikgZ3RoLWltcG9ydC1lbnVtLXR5cGVzLmMgfHwgY3AgeGdlbi0kKEBGKSBndGgtaW1wb3J0LWVudW0tdHlwZXMuYyApIFwKKy0JJiYgcm0gLWYgeGdlbi0kKEBGKSApCisrCSYmIG12IC1mIHhnZW4tJChARikgZ3RoLWltcG9ydC1lbnVtLXR5cGVzLmMgKQorIAorIGxpYmltcG9ydGVyX2xhX1NPVVJDRVMgPSAJCQlcCisgCSQoRU5VTV9UWVBFUykJCQkJXAorZGlmZiAtLWdpdCBhL2V4dGVuc2lvbnMvcGl4YnVmX3NhdmVycy9NYWtlZmlsZS5hbSBiL2V4dGVuc2lvbnMvcGl4YnVmX3NhdmVycy9NYWtlZmlsZS5hbQoraW5kZXggYmZlOWYzNC4uNDc2NGMzMiAxMDA2NDQKKy0tLSBhL2V4dGVuc2lvbnMvcGl4YnVmX3NhdmVycy9NYWtlZmlsZS5hbQorKysrIGIvZXh0ZW5zaW9ucy9waXhidWZfc2F2ZXJzL01ha2VmaWxlLmFtCitAQCAtMTAsMTcgKzEwLDE2IEBAIEVOVU1fVFlQRVMgPQkJCQlcCisgSEVBREVSX0ZJTEVTID0gCQkJCVwKKyAJcHJlZmVyZW5jZXMuaAorIAorLWVudW0tdHlwZXMuaDogJChIRUFERVJfRklMRVMpICQoR0xJQl9NS0VOVU1TKQorK2VudW0tdHlwZXMuaDogJChIRUFERVJfRklMRVMpCisgCSQoQU1fVl9HRU4pKCAkKEdMSUJfTUtFTlVNUykgXAorIAkJLS1maGVhZCAiI2lmbmRlZiBFTlVNX1RZUEVTX0hcbiNkZWZpbmUgRU5VTV9UWVBFU19IXG5cbiNpbmNsdWRlIDxnbGliLW9iamVjdC5oPlxuXG5HX0JFR0lOX0RFQ0xTXG4iIFwKKyAJCS0tZnByb2QgIi8qIGVudW1lcmF0aW9ucyBmcm9tIFwiQGZpbGVuYW1lQFwiICovXG4iIFwKKyAJCS0tdmhlYWQgIkdUeXBlIEBlbnVtX25hbWVAX2dldF90eXBlICh2b2lkKTtcbiNkZWZpbmUgR1RIX1RZUEVfQEVOVU1TSE9SVEAgKEBlbnVtX25hbWVAX2dldF90eXBlKCkpXG4iIFwKKyAJCS0tZnRhaWwgIkdfRU5EX0RFQ0xTXG5cbiNlbmRpZiAvKiBFTlVNX1RZUEVTX0ggKi8iIFwKKyAJCSRePiB4Z2VuLSQoQEYpIFwKKy0JJiYgKGNtcCAtcyB4Z2VuLSQoQEYpIGVudW0tdHlwZXMuaCB8fCBjcCB4Z2VuLSQoQEYpIGVudW0tdHlwZXMuaCApIFwKKy0JJiYgcm0gLWYgeGdlbi0kKEBGKSApCisrCSYmIG12IC1mIHhnZW4tJChARikgZW51bS10eXBlcy5oICkKKyAKKy1lbnVtLXR5cGVzLmM6ICQoSEVBREVSX0ZJTEVTKSBlbnVtLXR5cGVzLmgKKytlbnVtLXR5cGVzLmM6ICQoSEVBREVSX0ZJTEVTKQorIAkkKEFNX1ZfR0VOKSggJChHTElCX01LRU5VTVMpIFwKKyAJCS0tZmhlYWQgIiNpbmNsdWRlIDxnbGliLW9iamVjdC5oPlxuIiBcCisgCQktLWZwcm9kICJcbi8qIGVudW1lcmF0aW9ucyBmcm9tIFwiQGZpbGVuYW1lQFwiICovXG4jaW5jbHVkZSBcIkBmaWxlbmFtZUBcIiIgXAorQEAgLTI4LDggKzI3LDcgQEAgZW51bS10eXBlcy5jOiAkKEhFQURFUl9GSUxFUykgZW51bS10eXBlcy5oCisgCQktLXZwcm9kICIgICAgICB7IEBWQUxVRU5BTUVALCBcIkBWQUxVRU5BTUVAXCIsIFwiQHZhbHVlbmlja0BcIiB9LCIgXAorIAkJLS12dGFpbCAiICAgICAgeyAwLCBOVUxMLCBOVUxMIH1cbiAgICB9O1xuICAgIGV0eXBlID0gZ19AdHlwZUBfcmVnaXN0ZXJfc3RhdGljIChcIkBFbnVtTmFtZUBcIiwgdmFsdWVzKTtcbiAgfVxuICByZXR1cm4gZXR5cGU7XG59XG4iIFwKKyAJCSRePiB4Z2VuLSQoQEYpIFwKKy0JJiYgKGNtcCAtcyB4Z2VuLSQoQEYpIGVudW0tdHlwZXMuYyB8fCBjcCB4Z2VuLSQoQEYpIGVudW0tdHlwZXMuYyApIFwKKy0JJiYgcm0gLWYgeGdlbi0kKEBGKSApCisrCSYmIG12IC1mIHhnZW4tJChARikgZW51bS10eXBlcy5jICkKKyAKKyBsaWJwaXhidWZfc2F2ZXJzX2xhX1NPVVJDRVMgPSAJXAorIAkkKEVOVU1fVFlQRVMpCQlcCitkaWZmIC0tZ2l0IGEvZ3RodW1iL01ha2VmaWxlLmFtIGIvZ3RodW1iL01ha2VmaWxlLmFtCitpbmRleCBlOWUzODVlLi4yZjE0ZTAzIDEwMDY0NAorLS0tIGEvZ3RodW1iL01ha2VmaWxlLmFtCisrKysgYi9ndGh1bWIvTWFrZWZpbGUuYW0KK0BAIC0yOTYsMTcgKzI5NiwxNiBAQCBndGh1bWJfQ0ZMQUdTID0JCQkJCQkJXAorIAktREdUSFVNQl9FWFRFTlNJT05TX0RJUj1cIiQoZXh0ZW5zaW9uc19kaXIpXCIJCVwKKyAJJChOVUxMKQorIAorLWd0aC1lbnVtLXR5cGVzLmg6ICQoUFVCTElDX0hFQURFUl9GSUxFUykgJChHTElCX01LRU5VTVMpCisrZ3RoLWVudW0tdHlwZXMuaDogJChQVUJMSUNfSEVBREVSX0ZJTEVTKQorIAkkKEFNX1ZfR0VOKSggJChHTElCX01LRU5VTVMpIFwKKyAJCS0tZmhlYWQgIiNpZm5kZWYgR1RIX0VOVU1fVFlQRVNfSFxuI2RlZmluZSBHVEhfRU5VTV9UWVBFU19IXG5cbiNpbmNsdWRlIDxnbGliLW9iamVjdC5oPlxuXG5HX0JFR0lOX0RFQ0xTXG4iIFwKKyAJCS0tZnByb2QgIi8qIGVudW1lcmF0aW9ucyBmcm9tIFwiQGZpbGVuYW1lQFwiICovXG4iIFwKKyAJCS0tdmhlYWQgIkdUeXBlIEBlbnVtX25hbWVAX2dldF90eXBlICh2b2lkKTtcbiNkZWZpbmUgR1RIX1RZUEVfQEVOVU1TSE9SVEAgKEBlbnVtX25hbWVAX2dldF90eXBlKCkpXG4iIFwKKyAJCS0tZnRhaWwgIkdfRU5EX0RFQ0xTXG5cbiNlbmRpZiAvKiBHVEhfRU5VTV9UWVBFU19IICovIiBcCisgCQkkXj4geGdlbi0kKEBGKSBcCistCSYmIChjbXAgLXMgeGdlbi0kKEBGKSBndGgtZW51bS10eXBlcy5oIHx8IGNwIHhnZW4tJChARikgZ3RoLWVudW0tdHlwZXMuaCApIFwKKy0JJiYgcm0gLWYgeGdlbi0kKEBGKSApCisrCSYmIG12IC1mIHhnZW4tJChARikgZ3RoLWVudW0tdHlwZXMuaCApCisgCistZ3RoLWVudW0tdHlwZXMuYzogJChQVUJMSUNfSEVBREVSX0ZJTEVTKSBndGgtZW51bS10eXBlcy5oCisrZ3RoLWVudW0tdHlwZXMuYzogJChQVUJMSUNfSEVBREVSX0ZJTEVTKQorIAkkKEFNX1ZfR0VOKSggJChHTElCX01LRU5VTVMpIFwKKyAJCS0tZmhlYWQgIiNpbmNsdWRlIDxnbGliLW9iamVjdC5oPlxuIiBcCisgCQktLWZwcm9kICJcbi8qIGVudW1lcmF0aW9ucyBmcm9tIFwiQGZpbGVuYW1lQFwiICovXG4jaW5jbHVkZSBcIkBmaWxlbmFtZUBcIiIgXAorQEAgLTMxNCw4ICszMTMsNyBAQCBndGgtZW51bS10eXBlcy5jOiAkKFBVQkxJQ19IRUFERVJfRklMRVMpIGd0aC1lbnVtLXR5cGVzLmgKKyAJCS0tdnByb2QgIiAgICAgIHsgQFZBTFVFTkFNRUAsIFwiQFZBTFVFTkFNRUBcIiwgXCJAdmFsdWVuaWNrQFwiIH0sIiBcCisgCQktLXZ0YWlsICIgICAgICB7IDAsIE5VTEwsIE5VTEwgfVxuICAgIH07XG4gICAgZXR5cGUgPSBnX0B0eXBlQF9yZWdpc3Rlcl9zdGF0aWMgKFwiQEVudW1OYW1lQFwiLCB2YWx1ZXMpO1xuICB9XG4gIHJldHVybiBldHlwZTtcbn1cbiIgXAorIAkJJF4+IHhnZW4tJChARikgXAorLQkmJiAoY21wIC1zIHhnZW4tJChARikgZ3RoLWVudW0tdHlwZXMuYyB8fCBjcCB4Z2VuLSQoQEYpIGd0aC1lbnVtLXR5cGVzLmMgKSBcCistCSYmIHJtIC1mIHhnZW4tJChARikgKQorKwkmJiBtdiAtZiB4Z2VuLSQoQEYpIGd0aC1lbnVtLXR5cGVzLmMgKQorIAorIGd0aC1tYXJzaGFsLmg6IGd0aC1tYXJzaGFsLmxpc3QgJChHTElCX0dFTk1BUlNIQUwpCisgCSQoQU1fVl9HRU4pKCAkKEdMSUJfR0VOTUFSU0hBTCkgJChzcmNkaXIpL2d0aC1tYXJzaGFsLmxpc3QgLS1oZWFkZXIgLS1wcmVmaXg9Z3RoX21hcnNoYWwgPiAkQCApCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0aHVtYi9ndGh1bWJfMi4xMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3RodW1iL2d0aHVtYl8yLjEyLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJmMTMyMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0aHVtYi9ndGh1bWJfMi4xMi40LmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiZ1RodW1iIGlzIGFuIGltYWdlIHZpZXdlciBhbmQgYnJvd3NlciBmb3IgdGhlIEdOT01FIERlc2t0b3AiCitTRUNUSU9OID0gIngxMS9nbm9tZSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ3RrKyBsaWJ4bWwyIGdub21lLWRvYy11dGlscyBsaWJ1bmlxdWUgZ2NvbmYgbGlicG5nIGdzdHJlYW1lciBqcGVnIHRpZmYgZ3N0LXBsdWdpbnMtYmFzZSIKKworUFIgPSAicjQiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZ25vbWUta2V5cmluZyAtLWRpc2FibGUtbGlic291cCAtLWRpc2FibGUtZXhpdjIgLS1kaXNhYmxlLWNsdXR0ZXIiCisKK2luaGVyaXQgZ25vbWUgcGtnY29uZmlnCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjk3ZmMxMzIyMWIwYzVkODBjMjdhMmUyNWEzYTNhYzZmIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiY2Y4MDk2OTUyMzBhYjg4OTJhMDc4YmU0NTRhNDJhZGU4NjU3NTRjNzJlYzFkYTdjM2Q3NGQ0MzEwZGU1NGYxZCIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworU1JDX1VSSSArPSAiZmlsZTovL3BhcmFsbGVsLnBhdGNoIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgcm0gLWYgJHtEfSR7bGliZGlyfS8ke0JQTn0vZXh0ZW5zaW9ucy8qLmEKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vaWNvbnMiCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9LyR7QlBOfS9leHRlbnNpb25zLyouc28gXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS8ke0JQTn0vZXh0ZW5zaW9ucy8qLmV4dGVuc2lvbiIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyR7QlBOfS9leHRlbnNpb25zLyoubGEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8ke0JQTn0vZXh0ZW5zaW9ucy8uZGVidWcvIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndGtzb3VyY2V2aWV3L2d0a3NvdXJjZXZpZXcyL2FjaW5jbHVkZS5tNCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzIvYWNpbmNsdWRlLm00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzNTE4ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndGtzb3VyY2V2aWV3L2d0a3NvdXJjZXZpZXcyL2FjaW5jbHVkZS5tNApAQCAtMCwwICsxLDkwIEBACisjIyB0aGlzIG9uZSBpcyBjb21tb25seSB1c2VkIHdpdGggQU1fUEFUSF9QWVRIT05ESVIgLi4uCitkbmwgQU1fQ0hFQ0tfUFlNT0QoTU9ETkFNRSBbLFNZTUJPTCBbLEFDVElPTi1JRi1GT1VORCBbLEFDVElPTi1JRi1OT1QtRk9VTkRdXV0pCitkbmwgQ2hlY2sgaWYgYSBtb2R1bGUgY29udGFpbmluZyBhIGdpdmVuIHN5bWJvbCBpcyB2aXNpYmxlIHRvIHB5dGhvbi4KK0FDX0RFRlVOKEFNX0NIRUNLX1BZTU9ELAorW0FDX1JFUVVJUkUoW0FNX1BBVEhfUFlUSE9OXSkKK3B5X21vZF92YXI9YGVjaG8gJDFbJ18nXSQyIHwgc2VkICd5JS4vKy0lX19wXyUnYAorQUNfTVNHX0NIRUNLSU5HKGZvciBpZmVsc2UoWyQyXSxbXSwsWyQyIGluIF0pcHl0aG9uIG1vZHVsZSAkMSkKK0FDX0NBQ0hFX1ZBTChweV9jdl9tb2RfJHB5X21vZF92YXIsIFsKK2lmZWxzZShbJDJdLFtdLCBbcHJvZz0iCitpbXBvcnQgc3lzCit0cnk6CisgICAgICAgIGltcG9ydCAkMQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgICAgICBzeXMuZXhpdCgxKQorZXhjZXB0OgorICAgICAgICBzeXMuZXhpdCgwKQorc3lzLmV4aXQoMCkiXSwgW3Byb2c9IgoraW1wb3J0ICQxCiskMS4kMiJdKQoraWYgJFBZVEhPTiAtYyAiJHByb2ciIDE+JkFDX0ZEX0NDIDI+JkFDX0ZEX0NDCisgIHRoZW4KKyAgICBldmFsICJweV9jdl9tb2RfJHB5X21vZF92YXI9eWVzIgorICBlbHNlCisgICAgZXZhbCAicHlfY3ZfbW9kXyRweV9tb2RfdmFyPW5vIgorICBmaQorXSkKK3B5X3ZhbD1gZXZhbCAiZWNobyBcYGVjaG8gJyRweV9jdl9tb2RfJyRweV9tb2RfdmFyXGAiYAoraWYgdGVzdCAieCRweV92YWwiICE9IHhubzsgdGhlbgorICBBQ19NU0dfUkVTVUxUKHllcykKKyAgaWZlbHNlKFskM10sIFtdLCwgWyQzCitdKWRubAorZWxzZQorICBBQ19NU0dfUkVTVUxUKG5vKQorICBpZmVsc2UoWyQ0XSwgW10sLCBbJDQKK10pZG5sCitmaQorXSkKKworZG5sIGEgbWFjcm8gdG8gY2hlY2sgZm9yIGFiaWxpdHkgdG8gY3JlYXRlIHB5dGhvbiBleHRlbnNpb25zCitkbmwgIEFNX0NIRUNLX1BZVEhPTl9IRUFERVJTKFtBQ1RJT04tSUYtUE9TU0lCTEVdLCBbQUNUSU9OLUlGLU5PVC1QT1NTSUJMRV0pCitkbmwgZnVuY3Rpb24gYWxzbyBkZWZpbmVzIFBZVEhPTl9JTkNMVURFUworQUNfREVGVU4oW0FNX0NIRUNLX1BZVEhPTl9IRUFERVJTXSwKK1tBQ19SRVFVSVJFKFtBTV9QQVRIX1BZVEhPTl0pCitBQ19NU0dfQ0hFQ0tJTkcoZm9yIGhlYWRlcnMgcmVxdWlyZWQgdG8gY29tcGlsZSBweXRob24gZXh0ZW5zaW9ucykKK2RubCBkZWR1Y2UgUFlUSE9OX0lOQ0xVREVTCitBQ19BUkdfV0lUSChweXRob24taW5jbHVkZXMsCisJWyAgLS13aXRoLXB5dGhvbi1pbmNsdWRlcz1ESVIgIHBhdGggdG8gUHl0aG9uIGluY2x1ZGVzXSwgcHlfZXhlY19wcmVmaXg9JHdpdGh2YWwpCitpZiB0ZXN0IHgkcHlfZXhlY19wcmVmaXggIT0geDsgdGhlbgorUFlUSE9OX0lOQ0xVREVTPSItSSR7cHlfZXhlY19wcmVmaXh9L2luY2x1ZGUvcHl0aG9uJHtQWVRIT05fVkVSU0lPTn0iCitlbHNlCitweV9wcmVmaXg9YCRQWVRIT04gLWMgImltcG9ydCBzeXM7IHByaW50IHN5cy5wcmVmaXgiYAorcHlfZXhlY19wcmVmaXg9YCRQWVRIT04gLWMgImltcG9ydCBzeXM7IHByaW50IHN5cy5leGVjX3ByZWZpeCJgCitQWVRIT05fSU5DTFVERVM9Ii1JJHtweV9wcmVmaXh9L2luY2x1ZGUvcHl0aG9uJHtQWVRIT05fVkVSU0lPTn0iCitpZiB0ZXN0ICIkcHlfcHJlZml4IiAhPSAiJHB5X2V4ZWNfcHJlZml4IjsgdGhlbgorICBQWVRIT05fSU5DTFVERVM9IiRQWVRIT05fSU5DTFVERVMgLUkke3B5X2V4ZWNfcHJlZml4fS9pbmNsdWRlL3B5dGhvbiR7UFlUSE9OX1ZFUlNJT059IgorZmkKK2ZpCitBQ19TVUJTVChQWVRIT05fSU5DTFVERVMpCitkbmwgY2hlY2sgaWYgdGhlIGhlYWRlcnMgZXhpc3Q6CitzYXZlX0NQUEZMQUdTPSIkQ1BQRkxBR1MiCitDUFBGTEFHUz0iJENQUEZMQUdTICRQWVRIT05fSU5DTFVERVMiCitBQ19UUllfQ1BQKFsjaW5jbHVkZSA8UHl0aG9uLmg+XSxkbmwKK1tBQ19NU0dfUkVTVUxUKGZvdW5kKQorJDFdLGRubAorW0FDX01TR19SRVNVTFQobm90IGZvdW5kKQorJDJdKQorQ1BQRkxBR1M9IiRzYXZlX0NQUEZMQUdTIgorXSkKKworZG5sCitkbmwgSkhfQUREX0NGTEFHKEZMQUcpCitkbmwgY2hlY2tzIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgdGhlIGdpdmVuIGZsYWcsIGFuZCBpZiBzbywgYWRkcworZG5sIGl0IHRvICRDRkxBR1MuICBJZiB0aGUgZmxhZyBpcyBhbHJlYWR5IHByZXNlbnQgaW4gdGhlIGxpc3QsIHRoZW4gdGhlCitkbmwgY2hlY2sgaXMgbm90IHBlcmZvcm1lZC4KK0FDX0RFRlVOKFtKSF9BRERfQ0ZMQUddLAorWworY2FzZSAiICRDRkxBR1MgIiBpbgorKkA8OkBcCVwgQDo+QCQxQDw6QFwJXCBAOj5AKikKKyAgOzsKKyopCisgIHNhdmVfQ0ZMQUdTPSIkQ0ZMQUdTIgorICBDRkxBR1M9IiRDRkxBR1MgJDEiCisgIEFDX01TR19DSEVDS0lORyhbd2hldGhlciBbJF1DQyB1bmRlcnN0YW5kcyAkMV0pCisgIEFDX1RSWV9DT01QSUxFKFtdLCBbXSwgW2poX2hhc19vcHRpb249eWVzXSwgW2poX2hhc19vcHRpb249bm9dKQorICBBQ19NU0dfUkVTVUxUKCRqaF9oYXNfb3B0aW9uKQorICBpZiB0ZXN0ICRqaF9oYXNfb3B0aW9uID0gbm87IHRoZW4KKyAgICBDRkxBR1M9IiRzYXZlX0NGTEFHUyIKKyAgZmkKKyAgOzsKK2VzYWNdKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Rrc291cmNldmlldy9ndGtzb3VyY2V2aWV3Mi9ndGstZG9jLm00IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Rrc291cmNldmlldy9ndGtzb3VyY2V2aWV3Mi9ndGstZG9jLm00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlYzQxNjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndGtzb3VyY2V2aWV3L2d0a3NvdXJjZXZpZXcyL2d0ay1kb2MubTQKQEAgLTAsMCArMSw1MyBAQAorZG5sIC0qLSBtb2RlOiBhdXRvY29uZiAtKi0KKworIyBzZXJpYWwgMQorCitkbmwgVXNhZ2U6CitkbmwgICBHVEtfRE9DX0NIRUNLKFttaW5pbXVtLWd0ay1kb2MtdmVyc2lvbl0pCitBQ19ERUZVTihbR1RLX0RPQ19DSEVDS10sCitbCisgIEFDX0JFRk9SRShbQUNfUFJPR19MSUJUT09MXSxbJDBdKWRubCBzZXR1cCBsaWJ0b29sIGZpcnN0CisgIEFDX0JFRk9SRShbQU1fUFJPR19MSUJUT09MXSxbJDBdKWRubCBzZXR1cCBsaWJ0b29sIGZpcnN0CisgIGRubCBmb3Igb3ZlcnJpZGluZyB0aGUgZG9jdW1lbnRhdGlvbiBpbnN0YWxsYXRpb24gZGlyZWN0b3J5CisgIEFDX0FSR19XSVRIKGh0bWwtZGlyLAorICAgIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtaHRtbC1kaXI9UEFUSF0sIFtwYXRoIHRvIGluc3RhbGxlZCBkb2NzXSksLAorICAgIFt3aXRoX2h0bWxfZGlyPScke2RhdGFkaXJ9L2d0ay1kb2MvaHRtbCddKQorICBIVE1MX0RJUj0iJHdpdGhfaHRtbF9kaXIiCisgIEFDX1NVQlNUKEhUTUxfRElSKQorCisgIGRubCBlbmFibGUvZGlzYWJsZSBkb2N1bWVudGF0aW9uIGJ1aWxkaW5nCisgIEFDX0FSR19FTkFCTEUoZ3RrLWRvYywKKyAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZ3RrLWRvY10sCisgICAgICAgICAgICAgICAgICAgW3VzZSBndGstZG9jIHRvIGJ1aWxkIGRvY3VtZW50YXRpb24gW2RlZmF1bHQ9bm9dXSksLAorICAgIGVuYWJsZV9ndGtfZG9jPW5vKQorCisgIGhhdmVfZ3RrX2RvYz1ubworICBpZiB0ZXN0IC16ICIkUEtHX0NPTkZJRyI7IHRoZW4KKyAgICBBQ19QQVRIX1BST0coUEtHX0NPTkZJRywgcGtnLWNvbmZpZywgbm8pCisgIGZpCisgIGlmIHRlc3QgIiRQS0dfQ09ORklHIiAhPSAibm8iICYmICRQS0dfQ09ORklHIC0tZXhpc3RzIGd0ay1kb2M7IHRoZW4KKyAgICBoYXZlX2d0a19kb2M9eWVzCisgIGZpCisKKyAgZG5sIGRvIHdlIHdhbnQgdG8gZG8gYSB2ZXJzaW9uIGNoZWNrPworaWZlbHNlKFskMV0sW10sLAorICBbZ3RrX2RvY19taW5fdmVyc2lvbj0kMQorICBpZiB0ZXN0ICIkaGF2ZV9ndGtfZG9jIiA9IHllczsgdGhlbgorICAgIEFDX01TR19DSEVDS0lORyhbZ3RrLWRvYyB2ZXJzaW9uID49ICRndGtfZG9jX21pbl92ZXJzaW9uXSkKKyAgICBpZiAkUEtHX0NPTkZJRyAtLWF0bGVhc3QtdmVyc2lvbiAkZ3RrX2RvY19taW5fdmVyc2lvbiBndGstZG9jOyB0aGVuCisgICAgICBBQ19NU0dfUkVTVUxUKHllcykKKyAgICBlbHNlCisgICAgICBBQ19NU0dfUkVTVUxUKG5vKQorICAgICAgaGF2ZV9ndGtfZG9jPW5vCisgICAgZmkKKyAgZmkKK10pCisgIGlmIHRlc3QgeCRlbmFibGVfZ3RrX2RvYyA9IHh5ZXM7IHRoZW4KKyAgICBpZiB0ZXN0ICIkaGF2ZV9ndGtfZG9jIiAhPSB5ZXM7IHRoZW4KKyAgICAgIGVuYWJsZV9ndGtfZG9jPW5vCisgICAgZmkKKyAgZmkKKworICBBTV9DT05ESVRJT05BTChFTkFCTEVfR1RLX0RPQywgdGVzdCB4JGVuYWJsZV9ndGtfZG9jID0geHllcykKKyAgQU1fQ09ORElUSU9OQUwoR1RLX0RPQ19VU0VfTElCVE9PTCwgdGVzdCAtbiAiJExJQlRPT0wiKQorXSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzIvZ3RrLWRvYy5tYWtlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Rrc291cmNldmlldy9ndGtzb3VyY2V2aWV3Mi9ndGstZG9jLm1ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU0ZmZiNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzIvZ3RrLWRvYy5tYWtlCkBAIC0wLDAgKzEsMTczIEBACisjIC0qLSBtb2RlOiBtYWtlZmlsZSAtKi0KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEV2ZXJ5dGhpbmcgYmVsb3cgaGVyZSBpcyBnZW5lcmljICMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitpZiBHVEtfRE9DX1VTRV9MSUJUT09MCitHVEtET0NfQ0MgPSAkKExJQlRPT0wpIC0tbW9kZT1jb21waWxlICQoQ0MpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykKK0dUS0RPQ19MRCA9ICQoTElCVE9PTCkgLS1tb2RlPWxpbmsgJChDQykgJChBTV9DRkxBR1MpICQoQ0ZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykKK2Vsc2UKK0dUS0RPQ19DQyA9ICQoQ0MpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykKK0dUS0RPQ19MRCA9ICQoQ0MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykgJChBTV9MREZMQUdTKSAkKExERkxBR1MpCitlbmRpZgorCisjIFdlIHNldCBHUEFUSCBoZXJlOyB0aGlzIGdpdmVzIHVzIHNlbWFudGljcyBmb3IgR05VIG1ha2UKKyMgd2hpY2ggYXJlIG1vcmUgbGlrZSBvdGhlciBtYWtlJ3MgVlBBVEgsIHdoZW4gaXQgY29tZXMgdG8KKyMgd2hldGhlciBhIHNvdXJjZSB0aGF0IGlzIGEgdGFyZ2V0IG9mIG9uZSBydWxlIGlzIHRoZW4KKyMgc2VhcmNoZWQgZm9yIGluIFZQQVRIL0dQQVRILgorIworR1BBVEggPSAkKHNyY2RpcikKKworVEFSR0VUX0RJUj0kKEhUTUxfRElSKS8kKERPQ19NT0RVTEUpCisKK0VYVFJBX0RJU1QgPSAJCQkJXAorCSQoY29udGVudF9maWxlcykJCVwKKwkkKEhUTUxfSU1BR0VTKQkJCVwKKwkkKERPQ19NQUlOX1NHTUxfRklMRSkJCVwKKwkkKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dAlcCisJJChET0NfTU9EVUxFKS1vdmVycmlkZXMudHh0CisKK0RPQ19TVEFNUFM9c2Nhbi1idWlsZC5zdGFtcCB0bXBsLWJ1aWxkLnN0YW1wIHNnbWwtYnVpbGQuc3RhbXAgaHRtbC1idWlsZC5zdGFtcCBcCisJICAgJChzcmNkaXIpL3RtcGwuc3RhbXAgJChzcmNkaXIpL3NnbWwuc3RhbXAgJChzcmNkaXIpL2h0bWwuc3RhbXAKKworU0NBTk9CSl9GSUxFUyA9IAkJIFwKKwkkKERPQ19NT0RVTEUpLmFyZ3MgCSBcCisJJChET0NfTU9EVUxFKS5oaWVyYXJjaHkgIFwKKwkkKERPQ19NT0RVTEUpLmludGVyZmFjZXMgXAorCSQoRE9DX01PRFVMRSkucHJlcmVxdWlzaXRlcyBcCisJJChET0NfTU9EVUxFKS5zaWduYWxzCisKK1JFUE9SVF9GSUxFUyA9IFwKKwkkKERPQ19NT0RVTEUpLXVuZG9jdW1lbnRlZC50eHQgXAorCSQoRE9DX01PRFVMRSktdW5kZWNsYXJlZC50eHQgXAorCSQoRE9DX01PRFVMRSktdW51c2VkLnR4dAorCitDTEVBTkZJTEVTID0gJChTQ0FOT0JKX0ZJTEVTKSAkKFJFUE9SVF9GSUxFUykgJChET0NfU1RBTVBTKQorCitpZiBFTkFCTEVfR1RLX0RPQworYWxsLWxvY2FsOiBodG1sLWJ1aWxkLnN0YW1wCitlbHNlCithbGwtbG9jYWw6CitlbmRpZgorCitkb2NzOiBodG1sLWJ1aWxkLnN0YW1wCisKKyMjIyMgc2NhbiAjIyMjCisKK3NjYW4tYnVpbGQuc3RhbXA6ICQoSEZJTEVfR0xPQikgJChDRklMRV9HTE9CKQorCUBlY2hvICdndGstZG9jOiBTY2FubmluZyBoZWFkZXIgZmlsZXMnCisJQC1jaG1vZCAtUiB1K3cgJChzcmNkaXIpCisJY2QgJChzcmNkaXIpICYmIFwKKwkgIGd0a2RvYy1zY2FuIC0tbW9kdWxlPSQoRE9DX01PRFVMRSkgLS1zb3VyY2UtZGlyPSQoRE9DX1NPVVJDRV9ESVIpIC0taWdub3JlLWhlYWRlcnM9IiQoSUdOT1JFX0hGSUxFUykiICQoU0NBTl9PUFRJT05TKSAkKEVYVFJBX0hGSUxFUykKKwlpZiBncmVwIC1sICdeLi4qJCQnICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLnR5cGVzID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuIFwKKwkgICAgQ0M9IiQoR1RLRE9DX0NDKSIgTEQ9IiQoR1RLRE9DX0xEKSIgQ0ZMQUdTPSIkKEdUS0RPQ19DRkxBR1MpIiBMREZMQUdTPSIkKEdUS0RPQ19MSUJTKSIgZ3RrZG9jLXNjYW5nb2JqICQoU0NBTkdPQkpfT1BUSU9OUykgLS1tb2R1bGU9JChET0NfTU9EVUxFKSAtLW91dHB1dC1kaXI9JChzcmNkaXIpIDsgXAorCWVsc2UgXAorCSAgICBjZCAkKHNyY2RpcikgOyBcCisJICAgIGZvciBpIGluICQoU0NBTk9CSl9GSUxFUykgOyBkbyBcCisgICAgICAgICAgICAgICB0ZXN0IC1mICQkaSB8fCB0b3VjaCAkJGkgOyBcCisJICAgIGRvbmUgXAorCWZpCisJdG91Y2ggc2Nhbi1idWlsZC5zdGFtcAorCiskKERPQ19NT0RVTEUpLWRlY2wudHh0ICQoU0NBTk9CSl9GSUxFUykgJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQgJChET0NfTU9EVUxFKS1vdmVycmlkZXMudHh0OiBzY2FuLWJ1aWxkLnN0YW1wCisJQHRydWUKKworIyMjIyB0ZW1wbGF0ZXMgIyMjIworCit0bXBsLWJ1aWxkLnN0YW1wOiAkKERPQ19NT0RVTEUpLWRlY2wudHh0ICQoU0NBTk9CSl9GSUxFUykgJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQgJChET0NfTU9EVUxFKS1vdmVycmlkZXMudHh0CisJQGVjaG8gJ2d0ay1kb2M6IFJlYnVpbGRpbmcgdGVtcGxhdGUgZmlsZXMnCisJQC1jaG1vZCAtUiB1K3cgJChzcmNkaXIpCisJY2QgJChzcmNkaXIpICYmIGd0a2RvYy1ta3RtcGwgLS1tb2R1bGU9JChET0NfTU9EVUxFKSAkKE1LVE1QTF9PUFRJT05TKQorCXRvdWNoIHRtcGwtYnVpbGQuc3RhbXAKKwordG1wbC5zdGFtcDogdG1wbC1idWlsZC5zdGFtcAorCUB0cnVlCisKK3RtcGwvKi5zZ21sOgorCUB0cnVlCisKKworIyMjIyB4bWwgIyMjIworCitzZ21sLWJ1aWxkLnN0YW1wOiB0bXBsLnN0YW1wICQoSEZJTEVfR0xPQikgJChDRklMRV9HTE9CKSAkKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dCAkKHNyY2RpcikvdG1wbC8qLnNnbWwgJChleHBhbmRfY29udGVudF9maWxlcykKKwlAZWNobyAnZ3RrLWRvYzogQnVpbGRpbmcgWE1MJworCUAtY2htb2QgLVIgdSt3ICQoc3JjZGlyKQorCWNkICQoc3JjZGlyKSAmJiBcCisJZ3RrZG9jLW1rZGIgLS1tb2R1bGU9JChET0NfTU9EVUxFKSAtLXNvdXJjZS1kaXI9JChET0NfU09VUkNFX0RJUikgLS1vdXRwdXQtZm9ybWF0PXhtbCAtLWV4cGFuZC1jb250ZW50LWZpbGVzPSIkKGV4cGFuZF9jb250ZW50X2ZpbGVzKSIgLS1tYWluLXNnbWwtZmlsZT0kKERPQ19NQUlOX1NHTUxfRklMRSkgJChNS0RCX09QVElPTlMpCisJdG91Y2ggc2dtbC1idWlsZC5zdGFtcAorCitzZ21sLnN0YW1wOiBzZ21sLWJ1aWxkLnN0YW1wCisJQHRydWUKKworIyMjIyBodG1sICMjIyMKKworaHRtbC1idWlsZC5zdGFtcDogc2dtbC5zdGFtcCAkKERPQ19NQUlOX1NHTUxfRklMRSkgJChjb250ZW50X2ZpbGVzKQorCUBlY2hvICdndGstZG9jOiBCdWlsZGluZyBIVE1MJworCUAtY2htb2QgLVIgdSt3ICQoc3JjZGlyKQorCXJtIC1yZiAkKHNyY2RpcikvaHRtbAorCW1rZGlyICQoc3JjZGlyKS9odG1sCisJY2QgJChzcmNkaXIpL2h0bWwgJiYgZ3RrZG9jLW1raHRtbCAkKERPQ19NT0RVTEUpIC4uLyQoRE9DX01BSU5fU0dNTF9GSUxFKQorCXRlc3QgIngkKEhUTUxfSU1BR0VTKSIgPSAieCIgfHwgKCBjZCAkKHNyY2RpcikgJiYgY3AgJChIVE1MX0lNQUdFUykgaHRtbCApCisJQGVjaG8gJ2d0ay1kb2M6IEZpeGluZyBjcm9zcy1yZWZlcmVuY2VzJworCWNkICQoc3JjZGlyKSAmJiBndGtkb2MtZml4eHJlZiAtLW1vZHVsZS1kaXI9aHRtbCAtLWh0bWwtZGlyPSQoSFRNTF9ESVIpICQoRklYWFJFRl9PUFRJT05TKQorCXRvdWNoIGh0bWwtYnVpbGQuc3RhbXAKKworIyMjIyMjIyMjIyMjIyMKKworY2xlYW4tbG9jYWw6CisJcm0gLWYgKn4gKi5iYWsKKwlybSAtcmYgLmxpYnMKKworZGlzdGNsZWFuLWxvY2FsOgorCWNkICQoc3JjZGlyKSAmJiBcCisJICBybSAtcmYgeG1sICQoUkVQT1JUX0ZJTEVTKSBcCisJICAgICAgICAgJChET0NfTU9EVUxFKS1kZWNsLWxpc3QudHh0ICQoRE9DX01PRFVMRSktZGVjbC50eHQKKworbWFpbnRhaW5lci1jbGVhbi1sb2NhbDogY2xlYW4KKwljZCAkKHNyY2RpcikgJiYgcm0gLXJmIHhtbCBodG1sCisKK2luc3RhbGwtZGF0YS1sb2NhbDoKKwktaW5zdGFsbGZpbGVzPWBlY2hvICQoc3JjZGlyKS9odG1sLypgOyBcCisJaWYgdGVzdCAiJCRpbnN0YWxsZmlsZXMiID0gJyQoc3JjZGlyKS9odG1sLyonOyBcCisJdGhlbiBlY2hvICctLSBOb3RoaW5nIHRvIGluc3RhbGwnIDsgXAorCWVsc2UgXAorCSAgJChta2luc3RhbGxkaXJzKSAkKERFU1RESVIpJChUQVJHRVRfRElSKTsgXAorCSAgZm9yIGkgaW4gJCRpbnN0YWxsZmlsZXM7IGRvIFwKKwkgICAgZWNobyAnLS0gSW5zdGFsbGluZyAnJCRpIDsgXAorCSAgICAkKElOU1RBTExfREFUQSkgJCRpICQoREVTVERJUikkKFRBUkdFVF9ESVIpOyBcCisJICBkb25lOyBcCisJICBlY2hvICctLSBJbnN0YWxsaW5nICQoc3JjZGlyKS9odG1sL2luZGV4LnNnbWwnIDsgXAorCSAgJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS9odG1sL2luZGV4LnNnbWwgJChERVNURElSKSQoVEFSR0VUX0RJUikgfHwgOjsgXAorCSAgd2hpY2ggZ3RrZG9jLXJlYmFzZSA+L2Rldi9udWxsICYmIFwKKwkgICAgZ3RrZG9jLXJlYmFzZSAtLXJlbGF0aXZlIC0tZGVzdC1kaXI9JChERVNURElSKSAtLWh0bWwtZGlyPSQoREVTVERJUikkKFRBUkdFVF9ESVIpIDsgXAorCWZpCisJCisKK3VuaW5zdGFsbC1sb2NhbDoKKwlybSAtZiAkKERFU1RESVIpJChUQVJHRVRfRElSKS8qCisKKyMKKyMgUmVxdWlyZSBndGstZG9jIHdoZW4gbWFraW5nIGRpc3QKKyMKK2lmIEVOQUJMRV9HVEtfRE9DCitkaXN0LWNoZWNrLWd0a2RvYzoKK2Vsc2UKK2Rpc3QtY2hlY2stZ3RrZG9jOgorCUBlY2hvICIqKiogZ3RrLWRvYyBtdXN0IGJlIGluc3RhbGxlZCBhbmQgZW5hYmxlZCBpbiBvcmRlciB0byBtYWtlIGRpc3QiCisJQGZhbHNlCitlbmRpZgorCitkaXN0LWhvb2s6IGRpc3QtY2hlY2stZ3RrZG9jIGRpc3QtaG9vay1sb2NhbAorCW1rZGlyICQoZGlzdGRpcikvdG1wbAorCW1rZGlyICQoZGlzdGRpcikveG1sCisJbWtkaXIgJChkaXN0ZGlyKS9odG1sCisJLWNwICQoc3JjZGlyKS90bXBsLyouc2dtbCAkKGRpc3RkaXIpL3RtcGwKKwktY3AgJChzcmNkaXIpL3htbC8qLnhtbCAkKGRpc3RkaXIpL3htbAorCWNwICQoc3JjZGlyKS9odG1sLyogJChkaXN0ZGlyKS9odG1sCisJLWNwICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLnR5cGVzICQoZGlzdGRpcikvCisJLWNwICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dCAkKGRpc3RkaXIpLworCWNkICQoZGlzdGRpcikgJiYgcm0gLWYgJChESVNUQ0xFQU5GSUxFUykKKwktZ3RrZG9jLXJlYmFzZSAtLW9ubGluZSAtLXJlbGF0aXZlIC0taHRtbC1kaXI9JChkaXN0ZGlyKS9odG1sCisKKy5QSE9OWSA6IGRpc3QtaG9vay1sb2NhbCBkb2NzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndGtzb3VyY2V2aWV3L2d0a3NvdXJjZXZpZXcyXzIuMTAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzJfMi4xMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3NDVlMzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndGtzb3VyY2V2aWV3L2d0a3NvdXJjZXZpZXcyXzIuMTAuNS5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIlBvcnRhYmxlIEMgbGlicmFyeSBmb3IgbXVsdGlsaW5lIHRleHQgZWRpdGluZyIKK0hPTUVQQUdFID0gImh0dHA6Ly9wcm9qZWN0cy5nbm9tZS5vcmcvZ3Rrc291cmNldmlldy8iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJndGsrIGxpYnhtbDIiCisKK1BOQU1FID0gImd0a3NvdXJjZXZpZXciCisKK1MgPSAiJHtXT1JLRElSfS8ke1BOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBnbm9tZWJhc2UgbGliX3BhY2thZ2UgZ2V0dGV4dAorCisjIG92ZXJydWxlIFNSQ19VUkkgZnJvbSBnbm9tZS5jb25mCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke1BOQU1FfS8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9LyR7UE5BTUV9LSR7UFZ9LnRhci5iejI7bmFtZT1hcmNoaXZlIFwKKyAgICAgICAgICAgZmlsZTovL2d0ay1kb2MubWFrZSBcCisiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIxMjE5YWQxNjk0ZGYxMzZmMTI2NTA3NDY2YWViNDFhYSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImM1ODU3NzM3NDNiMWRmOGEwNGIxYmU3ZjdkOTBlZWNkZjIyNjgxNDkwZDY4MTBiZTU0YzgxYTdhZTE1MjE5MWUiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGNwICR7V09SS0RJUn0vZ3RrLWRvYy5tYWtlICR7U30vCisgICAgc2VkIC1pIC1lIHM6ZG9jczo6ZyAke1N9L01ha2VmaWxlLmFtCisgICAgZWNobyAiRVhUUkFfRElTVCA9IHZlcnNpb24ueG1sIiA+IGdub21lLWRvYy11dGlscy5tYWtlCit9CisKK0ZJTEVTXyR7UE59ICs9ICIgJHtkYXRhZGlyfS9ndGtzb3VyY2V2aWV3LTIuMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d2ZnMvZmlsZXMvMDAwMS1BZGQtc3VwcG9ydC1mb3ItbGlic3lzdGVtZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d2ZnMvZmlsZXMvMDAwMS1BZGQtc3VwcG9ydC1mb3ItbGlic3lzdGVtZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWM5NTA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Zmcy9maWxlcy8wMDAxLUFkZC1zdXBwb3J0LWZvci1saWJzeXN0ZW1kLnBhdGNoCkBAIC0wLDAgKzEsNDkgQEAKK0Zyb20gMzliZThiMjc3YzY2NmRiMjE5NjVkNTRkNWI3MjQxOGNlNTdhNDUwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgQmllYmwgPGJpZWJsQGRlYmlhbi5vcmc+CitEYXRlOiBUdWUsIDE5IE1heSAyMDE1IDIzOjM4OjExICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzdXBwb3J0IGZvciBsaWJzeXN0ZW1kCisKK0luIHN5c3RlbWQgdjIwOSB0aGUgdmFyaW91cyBsaWJzeXN0ZW1kLSogbGlicmFyaWVzIHdlcmUgbWVyZ2VkIGludG8gYQorc2luZ2xlIGxpYnN5c3RlbWQgbGlicmFyeS4gU28gZmlyc3QgY2hlY2sgZm9yIHRoaXMgbGlicmFyeSBhbmQgZmFsbCBiYWNrCit0byBsaWJzeXN0ZW1kLWxvZ2luIGlmIG5vdCBmb3VuZC4KKworQnVnOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAzCitCdWctRGViaWFuOiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTc3OTc2NgorCitVcHN0cmVhbS1TdGF0dXM6IEFwcGxpZWQKKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDEwICsrKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBlZTM0NzVkLi5iZDVjMDQzIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0yNjQsMTggKzI2NCwyMCBAQCBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCAqKiogQ2hlY2sgZm9yIGxpYnN5c3RlbWQtbG9naW4gKioqCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAKKy1BQ19BUkdfRU5BQkxFKGxpYnN5c3RlbWRfbG9naW4sIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbGlic3lzdGVtZC1sb2dpbl0sW2J1aWxkIHdpdGhvdXQgbGlibGlic3lzdGVtZC1sb2dpbl0pKQorK0FDX0FSR19FTkFCTEUobGlic3lzdGVtZF9sb2dpbiwgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1saWJzeXN0ZW1kLWxvZ2luXSxbYnVpbGQgd2l0aG91dCBsaWJzeXN0ZW1kLWxvZ2luXSkpCisgbXNnX2xpYnN5c3RlbWRfbG9naW49bm8KKyBMSUJTWVNURU1EX0xPR0lOX0xJQlM9CisgTElCU1lTVEVNRF9MT0dJTl9DRkxBR1M9CisgTElCU1lTVEVNRF9MT0dJTl9SRVFVSVJFRD00NAorIAorIGlmIHRlc3QgIngkZW5hYmxlX2xpYnN5c3RlbWRfbG9naW4iICE9ICJ4bm8iOyB0aGVuCistICBQS0dfQ0hFQ0tfRVhJU1RTKFtsaWJzeXN0ZW1kLWxvZ2luID49ICRMSUJTWVNURU1EX0xPR0lOX1JFUVVJUkVEXSwgbXNnX2xpYnN5c3RlbWRfbG9naW49eWVzKQorKyAgUEtHX0NIRUNLX0VYSVNUUyhbbGlic3lzdGVtZF0sIFttc2dfbGlic3lzdGVtZF9sb2dpbj15ZXNdLAorKyAgICAgICAgICAgICAgICAgICBbUEtHX0NIRUNLX0VYSVNUUyhbbGlic3lzdGVtZC1sb2dpbiA+PSAkTElCU1lTVEVNRF9MT0dJTl9SRVFVSVJFRF0sIG1zZ19saWJzeXN0ZW1kX2xvZ2luPXllcyldKQorIAorICAgaWYgdGVzdCAieCRtc2dfbGlic3lzdGVtZF9sb2dpbiIgPSAieHllcyI7IHRoZW4KKy0gICAgUEtHX0NIRUNLX01PRFVMRVMoW0xJQlNZU1RFTURfTE9HSU5dLFtsaWJzeXN0ZW1kLWxvZ2luID49ICRMSUJTWVNURU1EX0xPR0lOX1JFUVVJUkVEXSkKKy0gICAgQUNfREVGSU5FKEhBVkVfTElCU1lTVEVNRF9MT0dJTiwgMSwgW0RlZmluZSB0byAxIGlmIGxpYmxpYnN5c3RlbWRfbG9naW4gaXMgYXZhaWxhYmxlXSkKKysgICAgUEtHX0NIRUNLX01PRFVMRVMoW0xJQlNZU1RFTURfTE9HSU5dLFtsaWJzeXN0ZW1kXSwsCisrICAgICAgICAgICAgICAgICAgICAgIFtQS0dfQ0hFQ0tfTU9EVUxFUyhbTElCU1lTVEVNRF9MT0dJTl0sW2xpYnN5c3RlbWQtbG9naW4gPj0gJExJQlNZU1RFTURfTE9HSU5fUkVRVUlSRURdKV0pCisrICAgIEFDX0RFRklORShIQVZFX0xJQlNZU1RFTURfTE9HSU4sIDEsIFtEZWZpbmUgdG8gMSBpZiBsaWJzeXN0ZW1kX2xvZ2luIGlzIGF2YWlsYWJsZV0pCisgICBmaQorIGZpCisgCistLSAKKzIuNS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d2ZnMvZ3Zmc18xLjI0LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS4yNC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhNjIwNzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS4yNC4yLmJiCkBAIC0wLDAgKzEsNjIgQEAKK0RFU0NSSVBUSU9OID0gImd2ZnMgaXMgYSB1c2Vyc3BhY2UgdmlydHVhbCBmaWxlc3lzdGVtIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNWRmMzhkZDc3YzM1ZWM4NDMxZjIxMjQxMGEzMzI5ZSIKKworaW5oZXJpdCBnbm9tZQorCitERVBFTkRTICs9ICJsaWJzZWNyZXQgZ2xpYi0yLjAgZ2NvbmYgaW50bHRvb2wtbmF0aXZlIGxpYmd1ZGV2IHVkaXNrczIiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjgzZWQzMTdlYjJhNTI2NDcxNWQ0MjczZTkwYTVjZmQ4IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMDk0OWVhZWRkMWRmNzE3NWY4ZDdlZTI3MDBkZjgyMTBkMWY4NTRiOGVlMzdkOTYzYmMzMmVlNzA5MWVlYjIyOCIKK1NSQ19VUkkgKz0gIiBcCisgICAgZmlsZTovLzAwMDEtQWRkLXN1cHBvcnQtZm9yLWxpYnN5c3RlbWQucGF0Y2ggXAorIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtZ2R1IFwKKyAgICAtLWVuYWJsZS11ZGlza3MyIFwKKyAgICAtLWRpc2FibGUtZG9jdW1lbnRhdGlvbiBcCisgICAgLS13aXRoLWFyY2hpdmUtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgIC0td2l0aC1hcmNoaXZlLWxpYnM9JHtTVEFHSU5HX0xJQkRJUn0gXAorIgorCitQQUNLQUdFUyA9KyAiZ3Zmc2QtZnRwIGd2ZnNkLXNmdHAgZ3Zmc2QtdHJhc2giCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZ2xpYi0yLjAgXAorICAgICR7ZGF0YWRpcn0vR0NvbmYgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzIFwKKyAgICAke2xpYmRpcn0vZ2lvL21vZHVsZXMvKi5zbyBcCisgICAgJHtsaWJkaXJ9L3RtcGZpbGVzLmQgXAorIgorUkRFUEVORFNfJHtQTn0gPSAidWRpc2tzMiIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvLmRlYnVnLyoiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9naW8vbW9kdWxlcy8qLmxhIgorCitGSUxFU19ndmZzZC1mdHAgPSAiJHtsaWJleGVjZGlyfS9ndmZzZC1mdHAgJHtkYXRhZGlyfS9ndmZzL21vdW50cy9mdHAubW91bnQiCitGSUxFU19ndmZzZC1zZnRwID0gIiR7bGliZXhlY2Rpcn0vZ3Zmc2Qtc2Z0cCAke2RhdGFkaXJ9L2d2ZnMvbW91bnRzL3NmdHAubW91bnQiCitGSUxFU19ndmZzZC10cmFzaCA9ICIke2xpYmV4ZWNkaXJ9L2d2ZnNkLXRyYXNoICR7ZGF0YWRpcn0vZ3Zmcy9tb3VudHMvdHJhc2gubW91bnQiCisKK1JSRUNPTU1FTkRTX2d2ZnNkLWZ0cCArPSAib3BlbnNzaC1zZnRwIG9wZW5zc2gtc3NoIgorCitQQUNLQUdFUyArPSAiJHtQTn0tYmFzaC1jb21wbGV0aW9uIgorRklMRVNfJHtQTn0tYmFzaC1jb21wbGV0aW9uID0gIiR7ZGF0YWRpcn0vYmFzaC1jb21wbGV0aW9uIgorUkRFUEVORFNfJHtQTn0tYmFzaC1jb21wbGV0aW9uID0gImJhc2gtY29tcGxldGlvbiIKKworUEFDS0FHRUNPTkZJRyA/PSAibGliZ3Bob3RvMiIKKworUEFDS0FHRUNPTkZJR1thZmNdID0gIi0tZW5hYmxlLWFmYywgLS1kaXNhYmxlLWFmYywgbGliaW1vYmlsZWRldmljZSBsaWJwbGlzdCIKK1BBQ0tBR0VDT05GSUdbYXJjaGl2ZV0gPSAiLS1lbmFibGUtYXJjaGl2ZSwgLS1kaXNhYmxlLWFyY2hpdmUsIGxpYmFyY2hpdmUiCitQQUNLQUdFQ09ORklHW2F2YWhpXSA9ICItLWVuYWJsZS1hdmFoaSwgLS1kaXNhYmxlLWF2YWhpLCBhdmFoaSIKK1BBQ0tBR0VDT05GSUdbZ3RrXSA9ICItLWVuYWJsZS1ndGssIC0tZGlzYWJsZS1ndGssIGd0ayszIgorUEFDS0FHRUNPTkZJR1todHRwXSA9ICItLWVuYWJsZS1odHRwLCAtLWRpc2FibGUtaHR0cCwgbGlic291cC0yLjQiCitQQUNLQUdFQ09ORklHW2xpYm10cF0gPSAiLS1lbmFibGUtbGlibXRwLCAtLWRpc2FibGUtbGlibXRwLCBsaWJtdHAiCitQQUNLQUdFQ09ORklHW2xpYmdwaG90bzJdID0gIi0tZW5hYmxlLWdwaG90bzIsIC0tZGlzYWJsZS1ncGhvdG8yLCBsaWJncGhvdG8yIgorUEFDS0FHRUNPTkZJR1tzYW1iYV0gPSAiLS1lbmFibGUtc2FtYmEsIC0tZGlzYWJsZS1zYW1iYSwgc2FtYmEiCisKKyMgbmVlZHMgbWV0YS1maWxlc3lzdGVtcworUEFDS0FHRUNPTkZJR1tmdXNlXSA9ICItLWVuYWJsZS1mdXNlLCAtLWRpc2FibGUtZnVzZSwgZnVzZSIKKworIyBsaWJjZGlvLXBhcmFub2lhIHJlY2lwZSBkb2Vzbid0IGV4aXN0IHlldAorUEFDS0FHRUNPTkZJR1tjZGRhXSA9ICItLWVuYWJsZS1jZGRhLCAtLWRpc2FibGUtY2RkYSwgbGliY2Rpby1wYXJhbm9pYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d3ZWF0aGVyL2xpYmd3ZWF0aGVyM18zLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d3ZWF0aGVyL2xpYmd3ZWF0aGVyM18zLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTE5OTdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3dlYXRoZXIvbGliZ3dlYXRoZXIzXzMuMC4yLmJiCkBAIC0wLDAgKzEsMjggQEAKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworU0VDVElPTiA9ICJ4MTEvZ25vbWUvbGlicyIKK0RFUEVORFMgPSAibGlieG1sMiBnY29uZiBsaWJzb3VwLTIuNCBndGsrMyIKKworUE5CTEFDS0xJU1RbbGliZ3dlYXRoZXIzXSA/PSAiQ09ORkxJQ1Q6IDg3NiBmaWxlcyBhcmUgY29uZmxpY3Rpbmcgd2l0aCBsaWJnd2VhdGhlciIKKyMgZS5nLiBzeXNyb290cy9xZW11eDg2LTY0L3Vzci9zaGFyZS9saWJnd2VhdGhlci9sb2NhdGlvbnMuZHRkCisjICAgICAgc3lzcm9vdHMvcWVtdXg4Ni02NC91c3Ivc2hhcmUvbGliZ3dlYXRoZXIvTG9jYXRpb25zLnpoX1RXLnhtbAorCitCUE4gPSAibGliZ3dlYXRoZXIiCisKK2luaGVyaXQgZ25vbWUKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImYxYTk2YzZmMTljOWEwYmM2YjRlMTJhY2M5YThhODVkIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiOTA0MTUyNmZhMDQ2NmI5OWRhZTVjZjA2YzJjYzcwMzc2ZjI1NTMxZWVjNWQ1OGIxZTEzNzhhY2ZiMzAyNDEwYyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lICdzOiBkb2MgOiA6ZycgJHtTfS9NYWtlZmlsZS5hbQorfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9nbm9tZSogXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vaWNvbnMiCisKK1BBQ0tBR0VTID0rICIke1BOfS1sb2NhdGlvbmRhdGEiCitGSUxFU18ke1BOfS1sb2NhdGlvbmRhdGEgPSAiJHtkYXRhZGlyfS9saWJnd2VhdGhlci8qb2NhdGlvbnMqIgorCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3dlYXRoZXIvbGliZ3dlYXRoZXJfMi4zMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3dlYXRoZXIvbGliZ3dlYXRoZXJfMi4zMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlZWMyZDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nd2VhdGhlci9saWJnd2VhdGhlcl8yLjMwLjMuYmIKQEAgLTAsMCArMSwyMyBAQAorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorREVQRU5EUyA9ICJsaWJ4bWwyIGdjb25mIGxpYnNvdXAtMi40IGd0aysgbGliZ25vbWUta2V5cmluZyIKKworaW5oZXJpdCBnbm9tZQorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJiZjZhMGEwNTA1MTM0MWVjYjI1MGYzMzJlM2VkZmI4OCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImI4MzUzNzQ2NjE0MjNmMzdjNDZhYThlMzczNjhhZTI0YTY4ODU2ZjExN2I3YzIxZTQ3NWEyMWVmZGJhNTI2NGMiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAnczogZG9jIDogOmcnICR7U30vTWFrZWZpbGUuYW0KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZ25vbWUqIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2ljb25zIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbG9jYXRpb25kYXRhIgorRklMRVNfJHtQTn0tbG9jYXRpb25kYXRhID0gIiR7ZGF0YWRpcn0vbGliZ3dlYXRoZXIvTG9jYXRpb25zKiIKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9NYWtlZmlsZS5hbS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL01ha2VmaWxlLmFtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MGJhOTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9NYWtlZmlsZS5hbS5wYXRjaApAQCAtMCwwICsxLDE3IEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiBsaWJhcnRfbGdwbC0yLjMuMjEvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJhcnRfbGdwbC0yLjMuMjEub3JpZy9NYWtlZmlsZS5hbQkyMDA5LTA0LTE4IDA1OjI5OjI1LjAwMDAwMDAwMCAtMDcwMAorKysrIGxpYmFydF9sZ3BsLTIuMy4yMS9NYWtlZmlsZS5hbQkyMDEwLTExLTIzIDIzOjEyOjMyLjQ0NTQ1MDA3NSAtMDgwMAorQEAgLTcsOCArNyw4IEBACisgCisgQlVJTFRfU09VUkNFUyA9IGFydF9jb25maWcuaAorIAorLWFydF9jb25maWcuaDoKKy0JLi9nZW5fYXJ0X2NvbmZpZy5zaCA+IGFydF9jb25maWcuaAorKyNhcnRfY29uZmlnLmg6CisrIwkuL2dlbl9hcnRfY29uZmlnLnNoID4gYXJ0X2NvbmZpZy5oCisgCisgRVhUUkFfRElTVCA9IAkJCVwKKyAJbGliYXJ0LmRlZgkJXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYWFyY2g2NC9hcnRfY29uZmlnLmggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9hYXJjaDY0L2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDBmZmMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYWFyY2g2NC9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA4CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYWFyY2g2NGJlL2FydF9jb25maWcuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL2FhcmNoNjRiZS9hcnRfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAwZmZjMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL2FhcmNoNjRiZS9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA4CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYWFyY2g2NGJlXzMyL2FydF9jb25maWcuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL2FhcmNoNjRiZV8zMi9hcnRfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjBlNzRhZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL2FhcmNoNjRiZV8zMi9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYXJtL2FydF9jb25maWcuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL2FybS9hcnRfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjBlNzRhZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL2FybS9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYXJtZWIvYXJ0X2NvbmZpZy5oIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvYXJtZWIvYXJ0X2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwZTc0YWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9hcm1lYi9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvaTM4Ni9hcnRfY29uZmlnLmggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9pMzg2L2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGU3NGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvaTM4Ni9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvaTU4Ni9hcnRfY29uZmlnLmggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9pNTg2L2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGU3NGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvaTU4Ni9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvaTY4Ni9hcnRfY29uZmlnLmggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9pNjg2L2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGU3NGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvaTY4Ni9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvbWlwcy9hcnRfY29uZmlnLmggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9taXBzL2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGU3NGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvbWlwcy9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcuYyAqLworCisjZGVmaW5lIEFSVF9TSVpFT0ZfQ0hBUiAxCisjZGVmaW5lIEFSVF9TSVpFT0ZfU0hPUlQgMgorI2RlZmluZSBBUlRfU0laRU9GX0lOVCA0CisjZGVmaW5lIEFSVF9TSVpFT0ZfTE9ORyA0CisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBhcnRfdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGFydF91MTY7Cit0eXBlZGVmIHVuc2lnbmVkIGludCBhcnRfdTMyOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvbWlwczY0L2FydF9jb25maWcuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL21pcHM2NC9hcnRfY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDEwY2Q5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL21pcHM2NC9hcnRfY29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuX2FydF9jb25maWcgKi8KKworI2RlZmluZSBBUlRfU0laRU9GX0NIQVIgMQorI2RlZmluZSBBUlRfU0laRU9GX1NIT1JUIDIKKyNkZWZpbmUgQVJUX1NJWkVPRl9JTlQgNAorI2RlZmluZSBBUlRfU0laRU9GX0xPTkcgOAorCit0eXBlZGVmIHVuc2lnbmVkIGNoYXIgYXJ0X3U4OwordHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBhcnRfdTE2OwordHlwZWRlZiB1bnNpZ25lZCBpbnQgYXJ0X3UzMjsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL21pcHM2NGVsL2FydF9jb25maWcuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL21pcHM2NGVsL2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTBjZDk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvbWlwczY0ZWwvYXJ0X2NvbmZpZy5oCkBAIC0wLDAgKzEsMTAgQEAKKy8qIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbl9hcnRfY29uZmlnICovCisKKyNkZWZpbmUgQVJUX1NJWkVPRl9DSEFSIDEKKyNkZWZpbmUgQVJUX1NJWkVPRl9TSE9SVCAyCisjZGVmaW5lIEFSVF9TSVpFT0ZfSU5UIDQKKyNkZWZpbmUgQVJUX1NJWkVPRl9MT05HIDgKKwordHlwZWRlZiB1bnNpZ25lZCBjaGFyIGFydF91ODsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgYXJ0X3UxNjsKK3R5cGVkZWYgdW5zaWduZWQgaW50IGFydF91MzI7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9taXBzZWwvYXJ0X2NvbmZpZy5oIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvbWlwc2VsL2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGU3NGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvbWlwc2VsL2FydF9jb25maWcuaApAQCAtMCwwICsxLDEwIEBACisvKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5fYXJ0X2NvbmZpZy5jICovCisKKyNkZWZpbmUgQVJUX1NJWkVPRl9DSEFSIDEKKyNkZWZpbmUgQVJUX1NJWkVPRl9TSE9SVCAyCisjZGVmaW5lIEFSVF9TSVpFT0ZfSU5UIDQKKyNkZWZpbmUgQVJUX1NJWkVPRl9MT05HIDQKKwordHlwZWRlZiB1bnNpZ25lZCBjaGFyIGFydF91ODsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgYXJ0X3UxNjsKK3R5cGVkZWYgdW5zaWduZWQgaW50IGFydF91MzI7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9wb3dlcnBjL2FydF9jb25maWcuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsL3Bvd2VycGMvYXJ0X2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwZTc0YWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9wb3dlcnBjL2FydF9jb25maWcuaApAQCAtMCwwICsxLDEwIEBACisvKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5fYXJ0X2NvbmZpZy5jICovCisKKyNkZWZpbmUgQVJUX1NJWkVPRl9DSEFSIDEKKyNkZWZpbmUgQVJUX1NJWkVPRl9TSE9SVCAyCisjZGVmaW5lIEFSVF9TSVpFT0ZfSU5UIDQKKyNkZWZpbmUgQVJUX1NJWkVPRl9MT05HIDQKKwordHlwZWRlZiB1bnNpZ25lZCBjaGFyIGFydF91ODsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgYXJ0X3UxNjsKK3R5cGVkZWYgdW5zaWduZWQgaW50IGFydF91MzI7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC9wb3dlcnBjNjQvYXJ0X2NvbmZpZy5oIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvcG93ZXJwYzY0L2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDBmZmMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwvcG93ZXJwYzY0L2FydF9jb25maWcuaApAQCAtMCwwICsxLDEwIEBACisvKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5fYXJ0X2NvbmZpZy5jICovCisKKyNkZWZpbmUgQVJUX1NJWkVPRl9DSEFSIDEKKyNkZWZpbmUgQVJUX1NJWkVPRl9TSE9SVCAyCisjZGVmaW5lIEFSVF9TSVpFT0ZfSU5UIDQKKyNkZWZpbmUgQVJUX1NJWkVPRl9MT05HIDgKKwordHlwZWRlZiB1bnNpZ25lZCBjaGFyIGFydF91ODsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgYXJ0X3UxNjsKK3R5cGVkZWYgdW5zaWduZWQgaW50IGFydF91MzI7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbC94ODZfNjQvYXJ0X2NvbmZpZy5oIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwveDg2XzY0L2FydF9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDBmZmMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0LWxncGwveDg2XzY0L2FydF9jb25maWcuaApAQCAtMCwwICsxLDEwIEBACisvKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5fYXJ0X2NvbmZpZy5jICovCisKKyNkZWZpbmUgQVJUX1NJWkVPRl9DSEFSIDEKKyNkZWZpbmUgQVJUX1NJWkVPRl9TSE9SVCAyCisjZGVmaW5lIEFSVF9TSVpFT0ZfSU5UIDQKKyNkZWZpbmUgQVJUX1NJWkVPRl9MT05HIDgKKwordHlwZWRlZiB1bnNpZ25lZCBjaGFyIGFydF91ODsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgYXJ0X3UxNjsKK3R5cGVkZWYgdW5zaWduZWQgaW50IGFydF91MzI7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbF8yLjMuMjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJhcnQtbGdwbC9saWJhcnQtbGdwbF8yLjMuMjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk2NmVhNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmFydC1sZ3BsL2xpYmFydC1sZ3BsXzIuMy4yMS5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIkxpYnJhcnkgb2YgZnVuY3Rpb25zIGZvciAyRCBncmFwaGljcyIKK1NFQ1RJT04gPSAieDExL2dub21lIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyIKK1BSID0gInIyIgorCitBUlRfQ09ORklHID0gIiR7SE9TVF9BUkNIfS9hcnRfY29uZmlnLmgiCisKKyMgY2FuJ3QgdXNlIGdub21lLm9lY2xhc3MgZHVlIHRvIF8gaW4gZmlsZW5hbWUKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L2xpYmFydF9sZ3BsLzIuMy9saWJhcnRfbGdwbC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICBmaWxlOi8vJHtBUlRfQ09ORklHfSBcCisgICAgICAgZmlsZTovL01ha2VmaWxlLmFtLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDg1NTlmZjNjNjdmZDk1ZDU3YjBjNWU5MWE2YjQzMDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmRjMTFlNzRjMTBmYzlmZmU0MTg4NTM3ZTJiMzcwYzBhYmFjY2E3ZDg5MDIxZDRkMzAzYWZkZjdmZDc0NzZmYSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0RFUEVORFMgPSAiIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0vbGliYXJ0Mi1jb25maWciCisKK1MgPSAiJHtXT1JLRElSfS9saWJhcnRfbGdwbC0ke1BWfSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisJY3AgJHtXT1JLRElSfS8ke0FSVF9DT05GSUd9ICR7U30vYXJ0X2NvbmZpZy5oCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnZGF0YS9saWJnZGF0YV8wLjE2LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnZGF0YS9saWJnZGF0YV8wLjE2LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE2ZjA0YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdkYXRhL2xpYmdkYXRhXzAuMTYuMS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkdMaWItYmFzZWQgbGlicmFyeSBmb3IgYWNjZXNzaW5nIG9ubGluZSBzZXJ2aWNlIEFQSXMgdXNpbmcgdGhlIEdEYXRhIHByb3RvY29sIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL2xpYmdkYXRhIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nZGF0YS9nZGF0YS5oO2VuZGxpbmU9MjA7bWQ1PTA3OWE1NTRlZmNmNjVkNDZmOTZhNTE1ODA2ZTdlOTlhIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dkYXRhL2dkYXRhLXR5cGVzLmg7ZW5kbGluZT0yMDttZDU9NzM5OWIxMTFhYWM4NzE4ZGExMzg4OGZjNjM0YmU2ZWYiCisKK0RFUEVORFMgPSAibGlieG1sMiBnbGliLTIuMCBsaWJzb3VwLTIuNCBpbnRsdG9vbC1uYXRpdmUgbGlib2F1dGggZ2NyIGpzb24tZ2xpYiIKKworaW5oZXJpdCBnbm9tZWJhc2UgcGtnY29uZmlnIGF1dG90b29scy1icm9rZW5zZXAgZ2V0dGV4dCBndGstZG9jIHZhbGEgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kX2NsYXNzLXRhcmdldCAoKSB7CisgICAgIyBpbnRyb3NwZWN0aW9uLm00IHByZS1wYWNrYWdlZCB3aXRoIHVwc3RyZWFtIHRhcmJhbGxzIGRvZXMgbm90IHlldAorICAgICMgaGF2ZSBvdXIgZml4ZXMKKyAgICBybSAtZiAke1N9L2ludHJvc3BlY3Rpb24ubTQKK30KKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSIke0J9L2dkYXRhLy5saWJzIgorfQorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1nb2EgLS1kaXNhYmxlLXRlc3RzIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJlYjU1MmE4YTg0ODJlNDIzMWEzZDFiYWY3MjYyZTY0ZCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjg3NDBlMDcxZWNiMmFlMGQyYTRiOWYxODBkMmFlNWZkZjlkYzRjNDFlN2ZmOWRjN2UwNTdmNjI0NDI4MDA4MjciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZS8wMDAxLWxpYmdub21lLU1ha2VmaWxlLmFtLWFsbG93LWRlcHJlY2F0ZWQtc3ltYm9scy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdub21lL2xpYmdub21lLzAwMDEtbGliZ25vbWUtTWFrZWZpbGUuYW0tYWxsb3ctZGVwcmVjYXRlZC1zeW1ib2xzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2NTgzMDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZS8wMDAxLWxpYmdub21lLU1ha2VmaWxlLmFtLWFsbG93LWRlcHJlY2F0ZWQtc3ltYm9scy5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIGNlMWNkMjBmY2VlYTdkYmNjNWI5ODNkOTRkZTc3MTQ2MWVjY2Y3Y2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBNb24sIDI5IEFwciAyMDEzIDE0OjE3OjEzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpYmdub21lL01ha2VmaWxlLmFtOiBhbGxvdyBkZXByZWNhdGVkIHN5bWJvbHMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworZml4ZXM6CisKK3wgZ25vbWUtcHJvZ3JhbS5jOiBJbiBmdW5jdGlvbiAnZ25vbWVfcHJvZ3JhbV9pbml0X2NvbW1vbic6Cit8IGdub21lLXByb2dyYW0uYzoyMDY3OjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZ19hdGV4aXQnIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGxpYmdub21lL01ha2VmaWxlLmFtIHwgICAgMSAtCisgMSBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJnbm9tZS9NYWtlZmlsZS5hbSBiL2xpYmdub21lL01ha2VmaWxlLmFtCitpbmRleCA5YzhjZDNlLi5hYTAxZjZjIDEwMDY0NAorLS0tIGEvbGliZ25vbWUvTWFrZWZpbGUuYW0KKysrKyBiL2xpYmdub21lL01ha2VmaWxlLmFtCitAQCAtMTcsNyArMTcsNiBAQCBJTkNMVURFUyA9IFwKKyAJLUkkKHNyY2RpcikvLi4JCQkJCQlcCisgCSQoV0FSTl9DRkxBR1MpCQkJCQkJXAorIAkkKExJQkdOT01FX0NGTEFHUykJCQkJCVwKKy0JLURHX0RJU0FCTEVfREVQUkVDQVRFRAkJCQkJXAorIAktRExJQkdOT01FX1BSRUZJWD1cIiIkKHByZWZpeCkiXCIJCQlcCisgCS1ETElCR05PTUVfTElCRElSPVwiIiQobGliZGlyKSJcIgkJCVwKKyAJLURMSUJHTk9NRV9EQVRBRElSPVwiIiQoZGF0YWRpcikiXCIJCQlcCistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVfMi4zMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVfMi4zMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3YjhiOWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZV8yLjMyLjEuYmIKQEAgLTAsMCArMSwzNiBAQAorU1VNTUFSWSA9ICJHbm9tZSBhcHBsaWNhdGlvbiBwcm9ncmFtbWluZyBsaWJyYXJpZXMiCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSIKK1NFQ1RJT04gPSAieDExL2dub21lL2xpYnMiCisKK2luaGVyaXQgZ25vbWUgbGliX3BhY2thZ2UKKworUFIgPSAicjIiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImE0MzQ1ZTYwODdhZTYxOTVkNjVhNDY3NGZmZGNhNTU5IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiYjJjNjM5MTY4NjY0ODU3OTNiODczOTgyNjZkZDc3Nzg1NDhjMTczNDkyM2MyNzJhOTRkODRlZTAxMWI2ZjdhNCIKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLWxpYmdub21lLU1ha2VmaWxlLmFtLWFsbG93LWRlcHJlY2F0ZWQtc3ltYm9scy5wYXRjaCIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworREVQRU5EUyArPSAibGliY2FuYmVycmEgZ2NvbmYtbmF0aXZlIGdub21lLXZmcyBsaWJib25vYm8gZXNvdW5kIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1ndGstZG9jIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgczpkb2NzOjpnICR7U30vTWFrZWZpbGUuYW0KKyAgICBlY2hvICJFWFRSQV9ESVNUID0gdmVyc2lvbi54bWwiID4gZ25vbWUtZG9jLXV0aWxzLm1ha2UKKyAgICBlY2hvICJFWFRSQV9ESVNUID0gdmVyc2lvbi54bWwiID4gZ3RrLWRvYy5tYWtlCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vYm9ub2JvL3NlcnZlcnMgJHtsaWJkaXJ9L2Jvbm9iby9tb25pa2Vycy8qLnNvIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2dub21lLWJhY2tncm91bmQtcHJvcGVydGllcyAke2RhdGFkaXJ9L3BpeG1hcHMiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9ib25vYm8vbW9uaWtlcnMvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2Jvbm9iby9tb25pa2Vycy8qLmEiCisKK1BBQ0tBR0VTID0rICJnbm9tZS1jb21tb24tc2NoZW1hcyIKKworRklMRVNfZ25vbWUtY29tbW9uLXNjaGVtYXMgPSAiJHtkYXRhZGlyfS9nbm9tZS1iYWNrZ3JvdW5kLXByb3BlcnRpZXMgJHtkYXRhZGlyfS9waXhtYXBzICR7c3lzY29uZmRpcn0iCisKK1JERVBFTkRTXyR7UE59ID0gImdub21lLWNvbW1vbi1zY2hlbWFzIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9ib25vYm8vbW9uaWtlcnMvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVjYW52YXNfMi4zMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVjYW52YXNfMi4zMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwZjBiNTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZWNhbnZhc18yLjMwLjMuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJBIHBvd2VyZnVsIG9iamVjdC1vcmllbnRlZCBkaXNwbGF5IgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUiCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorCitpbmhlcml0IGdub21lYmFzZSBndGstZG9jCisKKyMgaW50bHRvb2wgdG8gcHJvdmlkZSBJVF9QUk9HX0lOVExUT09MCisjIGNvbmZpZ3VyZTogbGluZSAxMjY1NDogc3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgMC4zNS4wJworIyBjb25maWd1cmU6IGxpbmUgMTI2NTQ6IGBJVF9QUk9HX0lOVExUT09MKDAuMzUuMCknCitERVBFTkRTID0gImd0aysgbGliZ2xhZGUgbGliYXJ0LWxncGwgeGluZXJhbWFwcm90byBpbnRsdG9vbC1uYXRpdmUiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImZmY2JiNzE5YzY3MWZmNWNkODZlNTlhZWJhOGQwYjkyIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiODU5Yjc4ZTA4NDg5ZmNlNGQ1YzE1YzY3NmZlYzFjZDc5NzgyZjExNWY1MTZlOGFkOGJlZDZhYmNiOGRlZGQ0MCIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9saWJnbGFkZS8qL2xpYmNhbnZhcy5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2xpYmdsYWRlLyovLmRlYnVnLyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2xpYmdsYWRlLyovbGliY2FudmFzKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2xpYmdsYWRlLyovbGliY2FudmFzKi5hIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVrYmRfMi4zMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVrYmRfMi4zMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2OWRmM2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZWtiZF8yLjMyLjAuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJHTk9NRSBrZXlib2FyZCBsaWJyYXJ5IgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NmUyOWM2ODhkOTEyZGExMmI2NmI3M2UzMmIwM2Q4MTIiCisKK1NFQ1RJT04gPSAieDExL2dub21lL2xpYnMiCisKK0RFUEVORFMgPSAiZ2NvbmYgZ3RrKyBnbGliLTIuMCBsaWJ4a2xhdmllciIKKworaW5oZXJpdCBnbm9tZQorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJkZTMyYTZlM2UzNDY0YjU2NmVlY2RjNDMzMmJmMzRiZCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImRkZDUyYzRjYzdkODNhZDdlZjk2NGExYmNiNGRiODc0MDdlNjViMDBmZmMzZTcwYzA4OGNhNGVlNzM4M2QyNTYiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgZmluZCAke0J9IC1uYW1lIE1ha2VmaWxlIHwgeGFyZ3Mgc2VkIC1pIHM6Jy1JJChpbmNsdWRlZGlyKSc6Jy1JLic6ZworICAgIGZpbmQgJHtCfSAtbmFtZSBNYWtlZmlsZSB8IHhhcmdzIHNlZCAtaSBzOictSS91c3IvaW5jbHVkZSc6Jy1JJHtTVEFHSU5HX0lOQ0RJUn0nOmcKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWV1aS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZXVpLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjk5N2I4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWV1aS5pbmMKQEAgLTAsMCArMSwyNCBAQAorREVTQ1JJUFRJT04gPSAiR05PTUUgVXNlciBJbnRlcmZhY2UgTGlicmFyeSIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IgorCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorREVQRU5EUyA9ICJsaWJnbm9tZSBsaWJnbm9tZWNhbnZhcyBsaWJib25vYm91aSBsaWJnbm9tZS1rZXlyaW5nIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCBnbm9tZSAKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9ndGstMi4wLyovZmlsZXN5c3RlbXMvbGliKi5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYmdsYWRlLyovbGliKi5zbyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9waXhtYXBzL2dub21lLWFib3V0LWxvZ28ucG5nIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ3RrLTIuMC8qL2ZpbGVzeXN0ZW1zLyoubGEgJHtsaWJkaXJ9L2d0ay0yLjAvKi9maWxlc3lzdGVtcy8qLmEgJHtsaWJkaXJ9L2xpYmdsYWRlLyovKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2xpYmdsYWRlLyovKi5hIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ3RrLTIuMC8qL2ZpbGVzeXN0ZW1zLy5kZWJ1Zy8gJHtsaWJkaXJ9L2xpYmdsYWRlLyovLmRlYnVnLyIKKworU1JDX1VSSSArPSAiZmlsZTovL2dub21lLXN0b2NrLXBpeGJ1ZnMuaCBmaWxlOi8vbm8tcGl4YnVmLWNzb3VyY2UucGF0Y2giCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZ3RrLWRvYyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZ25vbWUtc3RvY2stcGl4YnVmcy5oICR7U30vbGliZ25vbWV1aS9waXhtYXBzL2dub21lLXN0b2NrLXBpeGJ1ZnMuaAorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZXVpL2dub21lLXN0b2NrLXBpeGJ1ZnMuaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdub21lL2xpYmdub21ldWkvZ25vbWUtc3RvY2stcGl4YnVmcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1M2E4YWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZXVpL2dub21lLXN0b2NrLXBpeGJ1ZnMuaApAQCAtMCwwICsxLDQwMzAgQEAKKy8qIGdub21lIHN0b2NrIGljb25zIGluIEdkbVBpeGJ1ZiB1c2FibGUgcmdiIGRhdGEKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTcgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorICoKKyAqIHRoZSBwaXhtYXBzIGZvciBidXR0b25fY2FuY2VsLCBzYXZlX2FzLCB0cmFzaCwgbWFpbF9yZWNlaXZlLCBzdG9wCisgKiByaWdodF9hcnJvdywgaG9tZSwgc2F2ZSwgYm9va19ibHVlLCB0cmFzaF9mdWxsLCB1bmRvLCBzZWFyY2gsIG1haWxfZm9yd2FyZAorICogcmV2ZXJ0LCBtYWlsX2NvbXBvc2UsIG1pYywgY29weSwganVtcF90bywgY29udmVydCwgYnV0dG9uX2FwcGx5LCB0aW1lcgorICogbWFpbCwgYm9va19yZWQsIGJvb2tfeWVsbG93LCBoZWxwLCByZWRvLCBuZXcsIG1haWxfc2VuZCwgYnV0dG9uX3llcywgY3V0CisgKiBwcm9wZXJ0aWVzLCBwcmludCwgbWFpbF9yZXBseSwgcmVmcmVzaCwgc2VhcmNoX3JlcGxhY2UsIG9wZW4sIHByZWZlcmVuY2VzCisgKiBsZWZ0X2Fycm93LCB1bmRlbGV0ZSwgY2xvc2UsIHZvbHVtZSwgYnV0dG9uX25vLCBleGl0LCBib29rX2dyZWVuCisgKiBib29rX29wZW4sIHBhc3RlLCBsaW5lX2luLCBzcGVsbGNoZWNrLCB0aW1lcl9zdG9wcGVkCisgKiBhcmUgQ29weXJpZ2h0IChDKSAxOTk4IFR1b21hcyBLdW9zbWFuZW4KKyAqLworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX2F0dGFjaCkKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX2F0dGFjaFtdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfYXR0YWNoW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwY1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMjZcMCIKKyAgIlwwXDBcIlwwXDBcMCRcMFwwXDAlXDBcMFwwJVwwXDBcMFwzNzdcMFwwXDBsXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBcMTBcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcIlwwXDBcMFwyMFwwIgorICAiXDBcMCRcMFwwXDB+XDFcMVwxXDM3N1FRUVwzNzdcMjMyXDIzMlwyMzJcMzc3XDMxN1wzMTdcMzE3XDM3N29vb1wzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDE2XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wwXDBcMHhcMFwwXDAiCisgICJcMzc3RkZGXDM3N1wyNDVcMjQ1XDI0NVwzNzdcMzQyXDM0MlwzNDJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzY2XDM2NlwzNjZcMzc3XDIxMlwyMTJcMjEyXDM3Nzk5OVwzNzdcMFwwXDAoXDBcMFwwXDEwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNFwwXDBcMCIKKyAgIkJcMFwwXDBcMzc3XDM0XDM0XDM0XDM3N1wyMTNcMjEzXDIxM1wzNzdcMzQ2XDM0NlwzNDZcMzc3XDM1NlwzNTZcMzU2IgorICAiXDM3N1wzNDFcMzQxXDM0MVwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDMxNFwzMTRcMzE0XDM3N1ZWVlwzNzdcMFwwXDBeXDBcMFwwXDEyXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwQFwwXDBcMFwzNzc+Pj5cMzc3XDIwMVwyMDFcMjAxIgorICAiXDM3N1wzMjRcMzI0XDMyNFwzNzdcMzRcMzRcMzRcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzMjdcMzI3XDMyN1wzNzdcMzcyIgorICAiXDM3MlwzNzJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzAyXDMwMlwzMDJcMzc3XDMxM1wzMTMiCisgICJcMzEzXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzMxXDMzMVwzMzFcMzc3XDIwMVwyMDFcMjAxXDM3N1wwXDBcMFwzNzdcMCIKKyAgIlwwXDBcMjVcMFwwXDBcM1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMDpcM1wzXDNcMzc3VFRUXDM3N1wzNDZcMzQ2IgorICAiXDM0NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDMyNyIKKyAgIlwzMjdcMzI3XDM3N1wzMzZcMzM2XDMzNlwzNzdcMjYzXDI2M1wyNjNcMzc3eXl5XDM3N1wwXDBcMFwzNzdcMzQyXDM0MiIKKyAgIlwzNDJcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY0XDM2NFwzNjRcMzc3XDIzNVwyMzVcMjM1IgorICAiXDM3NygoKFwzNzdcMFwwXDApXDBcMFwwXDEwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNjZcMzY2IgorICAiXDM2NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzJcMzcyXDM3MlwzNzdcMzcyXDM3MlwzNzIiCisgICJcMzc3XDM3M1wzNzNcMzczXDM3N1wwXDBcMFwzNzdcMjQ2XDI0NlwyNDZcMzc3XDMwNVwzMDVcMzA1XDM3N1wzNjBcMzYwIgorICAiXDM2MFwzNzdcMzcwXDM3MFwzNzBcMzc3XDBcMFwwXDM3N1wzNDJcMzQyXDM0MlwzNzdcMzAyXDMwMlwzMDJcMzc3XDMxMiIKKyAgIlwzMTJcMzEyXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzA3XDMwN1wzMDdcMzc3VlZWXDM3N1wwXDBcMF5cMFwwXDBcMTJcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxIgorICAiXDM3MVwzNzFcMzc3XDMxNlwzMTZcMzE2XDM3N1wzMDRcMzA0XDMwNFwzNzdcMzA1XDMwNVwzMDVcMzc3XDBcMFwwXDM3NyIKKyAgIlwzMjVcMzI1XDMyNVwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMFwwIgorICAiXDBcMzc3XDI2M1wyNjNcMjYzXDM3N1wzMzJcMzMyXDMzMlwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNjNcMzYzXDM2M1wzNzd5eXlcMzc3XDBcMFwwXDM3N1wwXDBcMFwyNVwwXDBcMFwzXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMGhcMjA1XDIwNVwyMDVcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMjc2XDI3NlwyNzZcMzc3IgorICAiXDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzdcMFwwXDBcMzc3XDMyM1wzMjNcMzIzXDM3N1wzMzRcMzM0XDMzNCIKKyAgIlwzNzdcMzAyXDMwMlwzMDJcMzc3XDMwMlwzMDJcMzAyXDM3N1wwXDBcMFwzNzdcMzQyXDM0MlwzNDJcMzc3XDM2NVwzNjUiCisgICJcMzY1XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2MlwzNjJcMzYyXDM3N1wyMzRcMjM0XDIzNCIKKyAgIlwzNzcoKChcMzc3XDBcMFwwKVwwXDBcMFwxMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNDBISEhcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MFwzNzciCisgICJcMFwwXDBcMzc3XDI0N1wyNDdcMjQ3XDM3N1wzMjZcMzI2XDMyNlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2NlwzNjZcMzY2IgorICAiXDM3N1wwXDBcMFwzNzdcMzQyXDM0MlwzNDJcMzc3XDM2NFwzNjRcMzY0XDM3N1wzMDRcMzA0XDMwNFwzNzdcMzEwXDMxMCIKKyAgIlwzMTBcMzc3XDM2MlwzNjJcMzYyXDM3N1wzMDZcMzA2XDMwNlwzNzdMTExcMzc3XDBcMFwwXlwwXDBcMFwxMlwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwzNzdcMzUyXDM1MlwzNTJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjZcMzY2IgorICAiXDM2NlwzNzdcMjc2XDI3NlwyNzZcMzc3XDMwMlwzMDJcMzAyXDM3N1wwXDBcMFwzNzdcMzQ1XDM0NVwzNDVcMzc3XDMzMCIKKyAgIlwzMzBcMzMwXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY1XDM2NVwzNjVcMzc3XDBcMFwwXDM3N1wyNTVcMjU1XDI1NVwzNzciCisgICJcMjc0XDI3NFwyNzRcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNDBcMzQwXDM0MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM1MiIKKyAgIlwzNTJcMzUyXDM3N1wyMjBcMjIwXDIyMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDI1XDBcMFwwXDNcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwaWhoaFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2IgorICAiXDM2NlwzNjZcMzc3XDI0MlwyNDJcMjQyXDM3N1wwXDBcMFwzNzdcMzAwXDMwMFwzMDBcMzc3XDMwMVwzMDFcMzAxXDM3NyIKKyAgIlwwXDBcMFwzNzd4eHhcMzc3XDMyNlwzMjZcMzI2XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MSIKKyAgIlwzNjFcMzYxXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzI1XDMyNVwzMjVcMzc3XDI1NlwyNTZcMjU2XDM3N1wyNVwyNVwyNSIKKyAgIlwzNzdcMFwwXDApXDBcMFwwXDEwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0IiI5OTlcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzMzJcMzMyXDMzMlwzNzdcMjMyIgorICAiXDIzMlwyMzJcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzd5eXlcMzc3XDMyNlwzMjZcMzI2XDM3N1wzNjJcMzYyXDM2MlwzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzMjZcMzI2XDMyNlwzNzdcMzIwXDMyMFwzMjBcMzc3XDIyNyIKKyAgIlwyMjdcMjI3XDM3N3JyclwzNzdKSkpcMzc3XDBcMFwwLlwwXDBcMFwxMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwzNzdcMzU0XDM1NFwzNTRcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjRcMzY0XDM2NFwzNzdcMjU0XDI1NFwyNTQiCisgICJcMzc3XDI3MlwyNzJcMjcyXDM3N1wzMzVcMzM1XDMzNVwzNzdcMzYzXDM2M1wzNjNcMzc3XDMxNlwzMTZcMzE2XDM3NyIKKyAgIlwzMzNcMzMzXDMzM1wzNzdcMzU0XDM1NFwzNTRcMzc3XDMyN1wzMjdcMzI3XDM3N1wzMjZcMzI2XDMyNlwzNzdcMjYxIgorICAiXDI2MVwyNjFcMzc3XDIwMVwyMDFcMjAxXDM3N1ZWVlwzNzcjIyNcMzc3XDBcMFwwXDM3N1wwXDBcMHFcMFwwXDApXDAiCisgICJcMFwwXDEwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwaGlpaVwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjJcMzYyXDM2MiIKKyAgIlwzNzdcMzYyXDM2MlwzNjJcMzc3XDMyN1wzMjdcMzI3XDM3N1wyNjdcMjY3XDI2N1wzNzdcMjAyXDIwMlwyMDJcMzc3IgorICAiQEBAXDM3NyMjI1wzNzdcMFwwXDBcMzc3XDBcMFwwXDIwNFwwXDBcMCIiMlwwXDBcMC5cMFwwXDApXDBcMFwwXDI1XDAiCisgICJcMFwwXDNcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNCgoKFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDMyN1wzMjdcMzI3XDM3N1wyNzZcMjc2XDI3NiIKKyAgIlwzNzdcMjI2XDIyNlwyMjZcMzc3MjIyXDM3NyMjI1wzNzdcMFwwXDBcMzc3XDBcMFwwdVwwXDBcMEhcMFwwXDAvXDBcMCIKKyAgIlwwKlwwXDBcMFwzMVwwXDBcMFwxM1wwXDBcMFwxMFwwXDBcMFwzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM1MFwzNTBcMzUwXDM3N1wzMTRcMzE0XDMxNFwzNzciCisgICJcMjMyXDIzMlwyMzJcMzc3QEBAXDM3NyMjI1wzNzdcMFwwXDBcMzc3XDBcMFwwXDIyMVwwXDBcMElcMFwwXDAvXDBcMCIKKyAgIlwwKlwwXDBcMFwzMFwwXDBcMFwxNlwwXDBcMFwxMVwwXDBcMFw0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMDs5OTlcMzc3XDIwMlwyMDJcMjAyXDM3Nzk5OVwzNzciCisgICJcMjJcMjJcMjJcMzc3XDBcMFwwXDIwNFwwXDBcMElcMFwwXDAvXDBcMFwwKlwwXDBcMFwzM1wwXDBcMFwxNlwwXDBcMCIKKyAgIlwxMVwwXDBcMFwzXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDB1XDBcMCIKKyAgIlwwIiIxXDBcMFwwKlwwXDBcMFwzMVwwXDBcMFwxNlwwXDBcMFwxMVwwXDBcMFw0XDBcMFwwXDFcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDExXDBcMFwwJlwwXDBcMClcMFwwXDBcMjdcMFwwXDAiCisgICJcMTJcMFwwXDBcNFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDdcMFwwXDBcMTBcMFwwXDBcM1wwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfYm9va19ibHVlKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfYm9va19ibHVlW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19ib29rX2JsdWVbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMCIiOVwwXDBcMFwzMDJcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzU3XDBcMFwwXDM1NlwwXDBcMFwzNDZcMFwwXDBcMzQyXDBcMFwwd1wwXDBcMFwxM1wwXDAiCisgICJcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzMlwyMVwyNlwzNVwzNzdcMjI3IgorICAiXDI1MFwyNzZcMzc3fVwyMjNcMjU0XDM3N3NcMjEyXDI0M1wzNzdsXDIwNFwyMzRcMzc3ZHxcMjI2XDM3N152XDIxN1wzNzciCisgICJXb1wyMTBcMzc3UGlcMjAyXDM3N1BpXDIwMlwzNzdQaVwyMDJcMzc3UGlcMjAyXDM3N1BpXDIwMlwzNzdWblwyMDZcMzc3IgorICAiSVhpXDM3N1wyMVwzMFwiXDM3NlwwXDBcMC5cMFwwXDBcMTBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDI3M3ZcMjEzXDI0MlwzNzdcMjE2XDI0MlwyNzBcMzc3dlwyMTVcMjQ3XDM3N1ZyXDIyMFwzNzciCisgICJOalwyMTBcMzc3RmJcMjAwXDM3Nz1aeFwzNzc1UnBcMzc3MU5rXDM3NzFOa1wzNzc2Um9cMzc3NlJvXDM3NzxXc1wzNzciCisgICI2Um9cMzc3M0BPXDM3N1wyNVwzNCVcMzcyXDBcMFwwTlwwXDBcMFwyMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDIyXDEyXDE1XDIxXDM3N1wyMzFcMjU0XDMwMFwzNzdcMjAwXDIyNlwyNTZcMzc3W3ZcMjI0XDM3NyIKKyAgIlNvXDIxNVwzNzdKZ1wyMDVcMzc3Ql99XDM3NzpXdVwzNzcyT21cMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3MU5rXDM3NyIKKyAgIjtXclwzNzctRFxcXDM3NyMvNlwzNzdcMFwwXDBeXDBcMFwwRFwwXDBcMFwxNlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDI1NVtpeVwzNzdcMjMxXDI1NFwzMDBcMzc3dVwyMTVcMjQ2XDM3N1dzXDIyMVwzNzdPa1wyMTAiCisgICJcMzc3R2NcMjAxXDM3N1w3N1t5XDM3NzZTcVwzNzcxTmtcMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3NFBtXDM3NztXciIKKyAgIlwzNzcpXDc3VlwzNzc1PEFcMzc1XDBcMFwwXDM3N1wwXDBcMCVcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwyMVwwXDBcMFwzNzdcMjMxXDI1NFwzMDBcMzc3XDIwMFwyMjdcMjYwXDM3N1xceFwyMjZcMzc3VHBcMjE2IgorICAiXDM3N0toXDIwNlwzNzdDYH5cMzc3O1h2XDM3NzNQblwzNzcxTmtcMzc3MU5rXDM3NzNQa1wzNzcxTmtcMzc3OVVxXDM3NyIKKyAgIi1EXFxcMzc3XDI3XCIsXDM3N35cMjAyXDIwNVwzNzc1NzhcMzc3XDBcMFwwRlwwXDBcMFwxNVwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwyMzJbaXlcMzc3XDIxN1wyNDNcMjcxXDM3N3VcMjE1XDI0NlwzNzdYdFwyMjJcMzc3UGwiCisgICJcMjEyXDM3N0hkXDIwMlwzNzdAXFx6XDM3NzhUclwzNzcxTmtcMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3Mk9sXDM3NyIKKyAgIj1ZdFwzNzcpXDc3VlwzNzchJy5cMzc2SkxNXDM3N1wyMTZcMjIwXDIyMlwzNzdcMFwwXDBRXDBcMFwwXDIwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwyMFwwXDBcMFwzNzdcMjMwXDI1M1wyNzdcMzc1XDE3N1wyMjZcMjU3XDM3N115XDIyN1wzNzciCisgICJVcVwyMTdcMzc3TWlcMjA3XDM3N0RhXDE3N1wzNzc8WXdcMzc3NFFvXDM3NzFOa1wzNzcxTmtcMzc3MU5rXDM3NzFOayIKKyAgIlwzNzc4VHBcMzc3L0ZdXDM3N1wzMCQtXDM3N1RXWVwzNjZlaWpcMzc3MzM0XDM3N1wwXDBcMFFcMFwwXDBcMjBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDMzNWV1XDIwM1wzNzdcMjE1XDI0MlwyNzFcMzc3dlwyMTVcMjQ3XDM3N1p1XDIyM1wzNzciCisgICJRbVwyMTNcMzc3SWVcMjAzXDM3N0Fde1wzNzc5VXNcMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3MU5rXDM3NzFOa1wzNzciCisgICI8V3NcMzc3KkJaXDM3NyMrMlwzNzdGSEpcMzc3XDIyMFwyMjJcMjI1XDM3N1wwXDBcMFwzNzdcMFwwXDBjXDBcMFwwXDIxIgorICAiXDBcMFwwXDBcMFwwXDAhXDBcMFwwXDM3N1wyMzNcMjU0XDI3M1wzNzdcMjA3XDIzNFwyNjRcMzc3Y35cMjMzXDM3N1YiCisgICJyXDIyMFwzNzdOalwyMTBcMzc3RmJcMjAwXDM3Nz1aeFwzNzc1UnBcMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3MU5rXDM3NyIKKyAgIjVSblwzNzc0S2JcMzc3XDMxJC1cMzc3ZGhrXDM3N21vcFwzNzcwR11cMzc3XDBcMFwwXDM3M1wwXDBcMFJcMFwwXDBcMjUiCisgICJcMFwwXDBcMFwwXDBcMFwyNDVlcH1cMzc3XDIyMVwyNDVcMjc0XDM3N3FcMjEzXDI0NlwzNzdcXHhcMjI2XDM3N1RwXDIxNiIKKyAgIlwzNzdLaFwyMDZcMzc3Q2B+XDM3NztYdlwzNzczUG5cMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3MU5rXDM3Nz1ZdFwzNzciCisgICIpXDc3VlwzNzcmLjNcMzc3V1hZXDM3N1wyMTNcMjE3XDIyNVwzNzdcMTFcMTVcMjFcMzcyXDBcMFwwXDIzNFwwXDBcMCIKKyAgIklcMFwwXDBcMTdcMFwwXDBcMTNcMFwwXDBcMzc3flwyMTZcMjM3XDMzN1wyMTJcMjM3XDI2NlwzNzdsXDIwNVwyNDFcMzc3IgorICAiWHRcMjIyXDM3N1BsXDIxMlwzNzdIZFwyMDJcMzc3QFxcelwzNzc4VHJcMzc3MU5rXDM3NzFOa1wzNzcxTmtcMzc3MU4iCisgICJrXDM3NzFOa1wzNzc1TGNcMzc3XDMyJTBcMzc3SExOXDM3N3N1dlwzNzdDW3NcMzcwXDBcMFwwXDM2NFwwXDBcMFVcMCIKKyAgIlwwXDArXDBcMFwwXDdcMFwwXDBcMjA2dXd3XDM3N1wyNzVcMzA2XDMyM1wzNzVcMjU2XDI3NlwzMTRcMzc3XDI0N1wyNjYiCisgICJcMzA2XDM3N1wyNDNcMjYyXDMwMlwzNzdcMjM2XDI1NVwyNzVcMzc3XDIzMlwyNTJcMjcxXDM3N1wyMjBcMjQwXDI2MCIKKyAgIlwzNzd7XDIxN1wyNDFcMzc3eVwyMTRcMjM3XDM3N3lcMjE0XDIzN1wzNzd5XDIxNFwyMzdcMzc3eVwyMTRcMjM3XDM3NyIKKyAgInBcMjA0XDIzMVwzNzdVZnlcMzc3MjU7XDM3N1teYVwzNzdcMjE2XDIyM1wyMzBcMzc3XDEyXDE2XDIxXDM3MlwwXDBcMCIKKyAgIlwyMzNcMFwwXDBHXDBcMFwwXDIxXDBcMFwwXDFcMlw3XDExXDMzMVwyNjBcMjcyXDMwNFwzNzcsPlFcMzc3JDZKXDM3NyIKKyAgIiQ2SlwzNzckNkpcMzc3JDZKXDM3NyQ2SlwzNzckNkpcMzc3JDZKXDM3NyQ2SlwzNzckNkpcMzc3JDZKXDM3NyQ2SlwzNzciCisgICIkNkpcMzc3KzVcNzdcMzc3XmJoXDM3N3d4elwzNzdGYHpcMzc3XDBcMFwwXDM2NVwwXDBcMFVcMFwwXDAqXDBcMFwwXDYiCisgICJcMFwwXDBcMFwxNVwxN1wyMVwzNzdcMjA3XDIyM1wyMzVcMzc3QEFFXDM3N19gYFwzNzN0dHRcMzc3XDIyNlwyMjZcMjI2IgorICAiXDM3N1wyNjFcMjYxXDI2MVwzNzdcMjU3XDI1N1wyNjBcMzc3XDMwNVwzMDVcMzA2XDM3N1wzMTZcMzE2XDMxN1wzNzciCisgICJcMjY0XDI3M1wzMDFcMzc3XDI3NFwzMDJcMzExXDM3N1wyNzVcMzA0XDMxMlwzNzdcMzA0XDMxM1wzMjJcMzc3XDMxMyIKKyAgIlwzMjJcMzMxXDM3N1wzMjZcMzMyXDMzNlwzNzdcMjIwXDIyNlwyMzNcMzc3XDIwNVwyMTJcMjE3XDM3N1wyNFwzMyFcMzcxIgorICAiXDBcMFwwXDIzNFwwXDBcMEhcMFwwXDBcMjJcMFwwXDBcMVwwXDBcMFwwXDE0XDE2XDE3XDM3N2t7XDIxM1wzNzdXV1ciCisgICJcMzc3fX5cMjAwXDM3N1wzNDJcMzQ0XDM0NlwzNzdcMzQyXDM0NFwzNDZcMzc3XDM0MVwzNDFcMzQxXDM3N1wzMzdcMzM3IgorICAiXDM0MFwzNzdcMzM3XDMzN1wzNDBcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNzVcMzc1XDM3NlwzNzdcMzYxXDM2M1wzNjUiCisgICJcMzc3XDM2MVwzNjNcMzY1XDM3N1wzNjFcMzYzXDM2NVwzNzdcMjQ3XDI1MFwyNTJcMzc3XDI2MlwyNjVcMjcxXDM3NyIKKyAgImltcVwzNzdGYHpcMzc3XDBcMVwyXDM3MFwwXDBcMFVcMFwwXDAqXDBcMFwwXDZcMFwwXDBcMFwwXDBcMFwwJCUnXDM3NyIKKyAgImNyXDIwMVwzNzdpfFwyMTZcMzc3VGtcMjAzXDM3N0VdeFwzNzdcMzI2XDMzNFwzNDFcMzc3XDM0N1wzNTJcMzU1XDM3NyIKKyAgIlwzNTVcMzU3XDM2MVwzNzdcMzU1XDM1N1wzNjJcMzc3XDM0NVwzNDZcMzQ3XDM3N1wzMzZcMzM2XDMzN1wzNzdcMzQxIgorICAiXDM0MVwzNDJcMzc3XDM0MVwzNDFcMzQyXDM3N1wzMzdcMzM3XDM0MFwzNzdcMzQxXDM0MlwzNDNcMzc3cnpcMjAzXDM3NyIKKyAgIlwyMTNcMjE3XDIyNFwzNzdcMjVcMzMhXDM2N1wwXDBcMFwyMzRcMFwwXDBJXDBcMFwwXDIyXDBcMFwwXDFcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwIiI5XDBcMFwwXDM3N1w0XDZcMTJcMzU0OEpdXDM2M01ieFwzNTFUaFwxNzdcMzU3U2pcMjAyIgorICAiXDM3N1dvXDIwNlwzNzdcMjA3XDIyN1wyNDdcMzc3XDMyN1wzMzVcMzQxXDM3N1wzNDJcMzQ2XDM1MVwzNzdcMzUxXDM1NCIKKyAgIlwzNTZcMzc3XDM3MFwzNzFcMzcyXDM3N1wzNzBcMzcxXDM3MlwzNzdcMjAxXDIwNVwyMTJcMzc3XDI0NVwyNDdcMjUwIgorICAiXDM3N1wyMzRcMjQyXDI1MFwzNzdcMVwyXDNcMzcwXDBcMFwwVVwwXDBcMCpcMFwwXDBcN1wwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwJlwwXDBcMGVcMFwwXDBcMjc2XDBcMFwwXDM0NlwwXDBcMFwzNjBcMFwwXDBcMzYzIgorICAiO0teXDM3MURWaVwzNzFUZ31cMzY3VWtcMjAwXDM2NlZsXDIwM1wzNzdcMjU0XDI3MFwzMDNcMzc3XDMzNFwzNDFcMzQ1IgorICAiXDM3N1wzNTBcMzUzXDM1NVwzNzdcMjM3XDI0M1wyNDZcMzc3XDI1XDM1JFwzNzNcMFwwXDBcMjM0XDBcMFwwSFwwXDAiCisgICJcMFwyMlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNlwwXDBcMFwxN1wwXDBcMCIKKyAgIlwzNFwwXDBcMCIiNFwwXDBcMENcMFwwXDBnXDBcMFwwXDI1MVwwXDBcMFwzNDRcMFwwXDBcMzYxXDBcMFwwXDM1NjA+IgorICAiTVwzNjU9TmBcMzcxT19zXDM3MlNle1wzNjdMY3xcMzU3XDFcM1w1XDM2N1wwXDBcMFVcMFwwXDArXDBcMFwwXDdcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDEyIgorICAiXDBcMFwwXDE1XDBcMFwwXDIwXDBcMFwwXDMzXDBcMFwwIiIwXDBcMFwwQ1wwXDBcMF9cMFwwXDBcMjM1XDBcMFwwXDMyNyIKKyAgIlwwXDBcMFwzNTZcMFwwXDBcMzU0XDBcMFwwXDM0N1wwXDBcMHtcMFwwXDBGXDBcMFwwXDIxXDBcMFwwXDFcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDBcMTBcMFwwXDBcMTVcMFwwXDBcMjBcMFwwXDBcMzBcMFwwXDAsXDBcMFwwIgorICAiXDc3XDBcMFwwSFwwXDBcMEhcMFwwXDBAXDBcMFwwXDM3XDBcMFwwXDVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDdcMFwwXDBcMTNcMFwwXDBcMTZcMCIKKyAgIlwwXDBcMTZcMFwwXDBcMTRcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfYm9va19ncmVlbikKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX2Jvb2tfZ3JlZW5bXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX2Jvb2tfZ3JlZW5bXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMCIiOVwwXDBcMFwzMDJcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzU3XDBcMFwwXDM1NlwwXDBcMFwzNDZcMFwwXDBcMzQyXDBcMFwwd1wwXDBcMFwxM1wwXDAiCisgICJcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzMlwyMVwzNFwyMVwzNzdcMjI1IgorICAiXDI3NlwyMjVcMzc3eVwyNTV5XDM3N25cMjQ2blwzNzdlXDI0MWVcMzc3XlwyMzNeXDM3N1lcMjIyWVwzNzdTXDIxMlMiCisgICJcMzc3T1wyMDJPXDM3N09cMjAyT1wzNzdPXDIwMk9cMzc3T1wyMDJPXDM3N09cMjAyT1wzNzdSXDIxMFJcMzc3Q25DXDM3NyIKKyAgIlwyMlwzNlwyMlwzNzZcMFwwXDAuXDBcMFwwXDEwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwyNzNvXDI0N29cMzc3XDIxNFwyNzFcMjE0XDM3N3JcMjUxclwzNzdWXDIxNlZcMzc3UFwyMDRQXDM3N0p6IgorICAiSlwzNzdDb0NcMzc3PWU9XDM3NzpgOlwzNzc6YDpcMzc3PWU9XDM3Nz1lPVwzNzdBa0FcMzc3PWU9XDM3NzBQMFwzNzciCisgICJcMjYjXDI2XDM3MlwwXDBcME5cMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyMiIKKyAgIlwxMVwxN1wxMVwzNzdcMjI3XDI3N1wyMjdcMzc3fVwyNjB9XDM3N1lcMjIzWVwzNzdUXDIxM1RcMzc3TVwxNzdNXDM3NyIKKyAgIkd1R1wzNzdBa0FcMzc3O2E7XDM3NzpgOlwzNzc6YDpcMzc3OmA6XDM3NzpgOlwzNzdAakBcMzc3M1QzXDM3NyE2IVwzNzciCisgICJcMFwwXDBeXDBcMFwwRFwwXDBcMFwxNlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDI1NU9cMjAzIgorICAiT1wzNzdcMjI3XDI3N1wyMjdcMzc3cVwyNTBxXDM3N1dcMjE3V1wzNzdQXDIwNFBcMzc3S3xLXDM3N0VyRVwzNzc+Zj4iCisgICJcMzc3OmA6XDM3NzpgOlwzNzc6YDpcMzc3OmA6XDM3NzxjPFwzNzdAakBcMzc3L04vXDM3NyxJLFwzNzVcMFwwXDBcMzc3IgorICAiXDBcMFwwJVwwXDBcMFw1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIxXDBcMFwwXDM3N1wyMjdcMjc3XDIyNyIKKyAgIlwzNzd+XDI2MH5cMzc3W1wyMjZbXDM3N1VcMjE0VVwzNzdOXDIwMU5cMzc3SHdIXDM3N0JtQlwzNzc8YzxcMzc3OmA6IgorICAiXDM3NzpgOlwzNzc7YTtcMzc3OmA6XDM3N0BpQFwzNzczVDNcMzc3XDMwKFwzMFwzNzdcMjAxXDIwMVwyMDFcMzc3KEIiCisgICIoXDM3N1wwXDBcMEZcMFwwXDBcMTVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjMyT1wyMDNPXDM3N1wyMTUiCisgICJcMjcxXDIxNVwzNzdxXDI1MHFcMzc3WFwyMjFYXDM3N1JcMjA3UlwzNzdMfUxcMzc3RnNGXDM3N0BpQFwzNzc6YDpcMzc3IgorICAiOmA6XDM3NzpgOlwzNzc6YDpcMzc3O2E7XDM3N0JtQlwzNzcvTi9cMzc3XDM1IiIwXDM1XDM3NktLS1wzNzdcMjIwXDIyMCIKKyAgIlwyMjBcMzc3XDBcMFwwUVwwXDBcMFwyMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjBcMFwwXDBcMzc3XDIyNlwyNzdcMjI2IgorICAiXDM3NX1cMjYwfVwzNzdcXFwyMjdcXFwzNzdWXDIxNVZcMzc3T1wyMDNPXDM3N0l4SVwzNzdDbkNcMzc3PWQ9XDM3NzoiCisgICJgOlwzNzc6YDpcMzc3OmA6XDM3NzpgOlwzNzdcNzdoXDc3XDM3NzRWNFwzNzdcMzEqXDMxXDM3N1ZWVlwzNjZnZ2dcMzc3IgorICAiMzMzXDM3N1wwXDBcMFFcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDMzNVdcMjE3V1wzNzdcMjE0XDI3MVwyMTQiCisgICJcMzc3clwyNTFyXDM3N1lcMjIyWVwzNzdSXDIxMFJcMzc3TH5MXDM3N0Z0RlwzNzdAakBcMzc3OmA6XDM3NzpgOlwzNzciCisgICI6YDpcMzc3OmA6XDM3NzpgOlwzNzdBa0FcMzc3MVExXDM3N1wzNyIiM1wzN1wzNzdISEhcMzc3d1wyNTR3XDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBjXDBcMFwwXDIxXDBcMFwwXDBcMFwwXDAhXDBcMFwwXDM3N1wyMjZcMjc3XDIyNlwzNzdcMjA0XDI2NCIKKyAgIlwyMDRcMzc3X1wyMzVfXDM3N1ZcMjE2VlwzNzdQXDIwNFBcMzc3SnpKXDM3N0NvQ1wzNzc9ZT1cMzc3OmA6XDM3NzpgIgorICAiOlwzNzc6YDpcMzc3OmA6XDM3Nz1kPVwzNzc4XThcMzc3XDMyK1wzMlwzNzdnZ2dcMzc3bm5uXDM3NzRWNFwzNzdcMFwwIgorICAiXDBcMzczXDBcMFwwUlwwXDBcMFwyNVwwXDBcMFwwXDBcMFwwXDI0NVVcMjE0VVwzNzdcMjIwXDI3M1wyMjBcMzc3blwyNDYiCisgICJuXDM3N1tcMjI2W1wzNzdVXDIxNFVcMzc3TlwyMDFOXDM3N0h3SFwzNzdCbUJcMzc3PGM8XDM3NzpgOlwzNzc6YDpcMzc3IgorICAiOmA6XDM3NzpgOlwzNzdCbUJcMzc3L04vXDM3NyE2IVwzNzdYWFhcMzc3dFwyNTN0XDM3N1wxMVwxN1wxMVwzNzJcMFwwIgorICAiXDBcMjM0XDBcMFwwSVwwXDBcMFwxN1wwXDBcMFwxM1wwXDBcMFwzNzd0XDI0N3RcMzM3XDIxMFwyNjZcMjEwXDM3N2giCisgICJcMjQzaFwzNzdYXDIyMVhcMzc3UlwyMDdSXDM3N0x9TFwzNzdGc0ZcMzc3QGlAXDM3NzpgOlwzNzc6YDpcMzc3OmA6XDM3NyIKKyAgIjpgOlwzNzc6YDpcMzc3OV45XDM3N1wzMy5cMzNcMzc3S0tLXDM3N3R0dFwzNzdFcEVcMzcwXDBcMFwwXDM2NFwwXDBcMCIKKyAgIlVcMFwwXDArXDBcMFwwXDdcMFwwXDBcMjA2WVwyMjJZXDM3N1wyNzJcMzI1XDI3MlwzNzVcMjU0XDMxNFwyNTRcMzc3IgorICAiXDI0M1wzMDdcMjQzXDM3N1wyMzdcMzA0XDIzN1wzNzdcMjMwXDMwMFwyMzBcMzc3XDIyM1wyNzVcMjIzXDM3N1wyMTAiCisgICJcMjY2XDIxMFwzNzdyXDI1MXJcMzc3b1wyNDdvXDM3N29cMjQ3b1wzNzdvXDI0N29cMzc3b1wyNDdvXDM3N2VcMjQxZSIKKyAgIlwzNzdNXDE3N01cMzc3KEIoXDM3N15eXlwzNzd4XDI1NXhcMzc3XDExXDE3XDExXDM3MlwwXDBcMFwyMzNcMFwwXDBHIgorICAiXDBcMFwwXDIxXDBcMFwwXDFcM1w1XDNcMzMxXDI1MFwzMTJcMjUwXDM3Ny5MLlwzNzcpRClcMzc3KUQpXDM3NylEKVwzNzciCisgICIpRClcMzc3KUQpXDM3NylEKVwzNzcpRClcMzc3KUQpXDM3NylEKVwzNzcpRClcMzc3KUQpXDM3NylEKVwzNzcnQSdcMzc3IgorICAiY2NjXDM3N3h4eFwzNzdId0hcMzc3XDBcMFwwXDM2NVwwXDBcMFVcMFwwXDAqXDBcMFwwXDZcMFwwXDBcMFwxM1wyMlwxMyIKKyAgIlwzNzd3XDI1NHdcMzc3MVExXDM3N19fX1wzNzN0dHRcMzc3XDIyNlwyMjZcMjI2XDM3N1wyNjFcMjYxXDI2MVwzNzdcMjU3IgorICAiXDI1N1wyNTdcMzc3XDMwNVwzMDVcMzA1XDM3N1wzMTZcMzE2XDMxNlwzNzdcMjcyXDI3MlwyNzJcMzc3XDMwMlwzMDIiCisgICJcMzAyXDM3N1wzMDNcMzAzXDMwM1wzNzdcMzEzXDMxM1wzMTNcMzc3XDMyMlwzMjJcMzIyXDM3N1wzMzJcMzMyXDMzMiIKKyAgIlwzNzdcMjI1XDIyNVwyMjVcMzc3bVwyNDZtXDM3N1wyM1wzN1wyM1wzNzFcMFwwXDBcMjM0XDBcMFwwSFwwXDBcMFwyMiIKKyAgIlwwXDBcMFwxXDBcMFwwXDBcMTFcMTdcMTFcMzc3XFxcMjMwXFxcMzc3QWtBXDM3N35+flwzNzdcMzQ0XDM0NFwzNDRcMzc3IgorICAiXDM0NFwzNDRcMzQ0XDM3N1wzNDFcMzQxXDM0MVwzNzdcMzM3XDMzN1wzMzdcMzc3XDMzN1wzMzdcMzM3XDM3N1wzNjIiCisgICJcMzYyXDM2MlwzNzdcMzc1XDM3NVwzNzVcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2MyIKKyAgIlwzNjNcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNjVcMjY1XDI2NVwzNzdtbW1cMzc3SHdIXDM3N1wwXDFcMFwzNzBcMFwwIgorICAiXDBVXDBcMFwwKlwwXDBcMFw2XDBcMFwwXDBcMFwwXDBcMFwzMy5cMzNcMzc3VlwyMTVWXDM3N1xcXDIzMFxcXDM3N1AiCisgICJcMjA0UFwzNzdGdEZcMzc3XDMzM1wzMzNcMzMzXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzM2XDMzNlwzMzZcMzc3XDM0MVwzNDFcMzQxXDM3N1wzNDFcMzQxIgorICAiXDM0MVwzNzdcMzM3XDMzN1wzMzdcMzc3XDM0MlwzNDJcMzQyXDM3N3p6elwzNzdzXDI1MnNcMzc3XDI0XDQwXDI0XDM2NyIKKyAgIlwwXDBcMFwyMzRcMFwwXDBJXDBcMFwwXDIyXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIiI5XDBcMFwwXDM3NyIKKyAgIlw1XDEwXDVcMzU0OFs4XDM2M014TVwzNTFRXDIwMFFcMzU3T1wyMDNPXDM3N1JcMjEwUlwzNzdcMjI3XDIyN1wyMjdcMzc3IgorICAiXDMzNFwzMzRcMzM0XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzUzXDM1M1wzNTNcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMjA1XDIwNVwyMDVcMzc3XDI0NlwyNDZcMjQ2XDM3N1wyMTNcMjcwXDIxM1wzNzdcMVwyXDFcMzcwIgorICAiXDBcMFwwVVwwXDBcMCpcMFwwXDBcN1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwJlwwXDBcMGUiCisgICJcMFwwXDBcMjc2XDBcMFwwXDM0NlwwXDBcMFwzNjBcMFwwXDBcMzYzOV05XDM3MUFqQVwzNzFPXDIwME9cMzY3UVwyMDMiCisgICJRXDM2NlFcMjA2UVwzNzdcMjQ1XDMxMFwyNDVcMzc3XDM0MFwzNDBcMzQwXDM3N1wzNTJcMzUyXDM1MlwzNzdcMjEzXDI3MCIKKyAgIlwyMTNcMzc3XDI1XCJcMjVcMzczXDBcMFwwXDIzNFwwXDBcMEhcMFwwXDBcMjJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDZcMFwwXDBcMTdcMFwwXDBcMzRcMFwwXDAiIjRcMFwwXDBDXDBcMFwwZ1wwIgorICAiXDBcMFwyNTFcMFwwXDBcMzQ0XDBcMFwwXDM2MVwwXDBcMFwzNTYvTC9cMzY1O2E7XDM3MUh2SFwzNzJNfU1cMzY3THoiCisgICJMXDM1N1wyXDNcMlwzNjdcMFwwXDBVXDBcMFwwK1wwXDBcMFw3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMFwxMlwwXDBcMFwxNVwwXDBcMFwyMFwwXDBcMFwzMyIKKyAgIlwwXDBcMCIiMFwwXDBcMENcMFwwXDBfXDBcMFwwXDIzNVwwXDBcMFwzMjdcMFwwXDBcMzU2XDBcMFwwXDM1NFwwXDBcMCIKKyAgIlwzNDdcMFwwXDB7XDBcMFwwRlwwXDBcMFwyMVwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwIgorICAiXDEwXDBcMFwwXDE1XDBcMFwwXDIwXDBcMFwwXDMwXDBcMFwwLFwwXDBcMFw3N1wwXDBcMEhcMFwwXDBIXDBcMFwwQFwwIgorICAiXDBcMFwzN1wwXDBcMFw1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMlwwXDBcMFw3XDBcMFwwXDEzXDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE0XDBcMFwwXDVcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX2Jvb2tfb3BlbikKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX2Jvb2tfb3BlbltdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfYm9va19vcGVuW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDNPT09EXDBcMFwwXDM3N1w0XDVcNiIKKyAgIlwzNzdcMFwwXDA7XDBcMFwwXDIwXDBcMFwwXDZcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzTk5ORVwxM1wxN1wyMlwzNzdcMjI1XDIzN1wyNTJcMzc3XDMwM1wzMDYiCisgICJcMzEyXDM1NlwwXDBcMFwzNzdcMFwwXDAmXDBcMFwwXDIyXDBcMFwwXDVcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDAuXDEzXDE3XDIyXDM3N1wyMDJcMjIwXDIzNlwzNzdcMzYxXDM2MSIKKyAgIlwzNjFcMzc3XDMyNVwzMjdcMzMwXDM3N1wxMlwxNVwyMFwzNzdcMFwwXDBfXDBcMFwwXDQwXDBcMFwwXDEzXDBcMFwwIgorICAiXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMC5cMjFcMjdcMzRcMzc3XDIwNlwyMjNcMjQwIgorICAiXDM3N1wzNTdcMzYwXDM2MFwzNzdcMzM2XDMzNlwzMzZcMzc3XDMyNVwzMjVcMzI1XDM3N1wyMzNcMjM3XDI0NFwzMjQiCisgICJcMFwwXDBcMzc3XDBcMFwwL1wwXDBcMFwyNFwwXDBcMFw1XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwIgorICAiLlwxNlwyM1wyN1wzNzdcMjA1XDIyMlwyMzdcMzc3XDM1N1wzNjBcMzYwXDM3N1wzMzNcMzMzXDMzM1wzNzdcMzEyXDMxMiIKKyAgIlwzMTJcMzc3XDMxMFwzMTBcMzEwXDM3N1wzMTBcMzExXDMxMlwzNzdcMTRcMTdcMjNcMzc3XDBcMFwwW1wwXDBcMFw0MCIKKyAgIlwwXDBcMFwxM1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDAuXDI0XDMyXDQwXDM3N3lcMjEwXDIyNVwzNzBcMzYxXDM2MSIKKyAgIlwzNjFcMzc3XDMyNVwzMjVcMzI1XDM3N1wzMTJcMzEyXDMxMlwzNzdcMzIyXDMyMlwzMjJcMzc3XDMwM1wzMDNcMzAzIgorICAiXDM3N1wzMTVcMzE1XDMxNVwzNzd0eX5cMjc1XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjRcMFwwXDBcNlwwXDBcMFwyIgorICAiXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMC1cMjdcMzcmXDM3N1wxNzdcMjE1XDIzMlwzNjFcMzU3XDM2MFwzNjBcMzc3XDMzMlwzMzJcMzMyXDM3N1wzMjNcMzIzIgorICAiXDMyM1wzNzdcMzA0XDMwNFwzMDRcMzc3XDMxNlwzMTZcMzE2XDM3N1wzMDBcMzAwXDMwMFwzNzdcMzEyXDMxMlwzMTIiCisgICJcMzc3XDI2MVwyNjFcMjYxXDMzNlwxNVwyMVwyNVwzNzdcMFwwXDBZXDBcMFwwI1wwXDBcMFwyMlwwXDBcMFwxNFwwXDAiCisgICJcMFwxMlwwXDBcMFwxMlwwXDBcMFwxMlwwXDBcMFwxMVwwXDBcMFw3XDBcMFwwXDRcMFwwXDBcMVwwXDBcMFwwXDBcMCIKKyAgIlwwXDM3N3ZcMjA1XDIyMlwzNTBcMzU2XDM1N1wzNTdcMzc3XDMzMVwzMzFcMzMxXDM3N1wzMjNcMzIzXDMyM1wzNzdcMzIwIgorICAiXDMyMFwzMjBcMzc3XDMwMlwzMDJcMzAyXDM3N1wzMTNcMzEzXDMxM1wzNzdcMzExXDMxMVwzMTFcMzc3XDI3NFwyNzQiCisgICJcMjc0XDM3N1wyNDRcMjQ3XDI1MVwzNDRoa2xcMzUxMzMzXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM1MlwwXDBcMFwxNzdcMFwwXDA9XDBcMFwwXDIwXDBcMFwwXDZcMFwwIgorICAiXDBcMUFPXVwzNzdcMjU1XDI2NVwyNzRcMzYzXDM1MlwzNTJcMzUyXDM3N1wzMjJcMzIyXDMyMlwzNzdcMjc3XDI3N1wyNzciCisgICJcMzc3XDMxNVwzMTVcMzE1XDM3N1wzMTNcMzEzXDMxM1wzNzdcMjc1XDI3NVwyNzVcMzc3XDMwNlwzMDZcMzA2XDM3NyIKKyAgIlwyNjVcMjY2XDI2N1wzNjVcMjExXDIyMFwyMjZcMzcwXDI3MFwyNzBcMjcwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdAQUJcMzQyXDBcMFwwXDE3N1wwXDBcMCVcMFwwXDBcMjBcMFwwXDBcNFwwXDAiCisgICJcMFwzNzdNYHRcMzQwXDM1M1wzNTNcMzUzXDM3N1wzMjFcMzIxXDMyMVwzNzdcMzAzXDMwM1wzMDNcMzc3XDMwMVwzMDEiCisgICJcMzAxXDM3N1wzMTBcMzEwXDMxMFwzNzdcMjY3XDI2N1wyNjdcMzc3XDMwM1wzMDNcMzAzXDM3N1wyMjdcMjM3XDI0NyIKKyAgIlwzNDdcMjQxXDI0M1wyNDRcMzc2XDM3NFwzNzVcMzc1XDM3N1wzNjNcMzY0XDM2NFwzNzdcMzUzXDM1NFwzNTVcMzc3IgorICAiXDM1MlwzNTNcMzU0XDM3N1wzNTFcMzUyXDM1M1wzNzdcMzU2XDM1N1wzNjFcMzc3XDM2NlwzNjdcMzcwXDM3N1wzNDQiCisgICJcMzQ1XDM0NlwzNzZcMjIyXDIyM1wyMjVcMzc1XDBcMFwwXDM3N1wwXDBcMCIiOVwwXDBcMFwzM1wwXDBcMFw3XDBcMCIKKyAgIlwwPTJBT1wzNzdcMjE0XDIzMFwyNDJcMzYyXDM0N1wzNDdcMzQ3XDM3N1wzMTFcMzExXDMxMVwzNzdcMjczXDI3M1wyNzMiCisgICJcMzc3XDMwNFwzMDRcMzA0XDM3N1wzMDJcMzAyXDMwMlwzNzdcMjQ0XDI0N1wyNTNcMzQ2XDIyM1wyMjZcMjMxXDM3NSIKKyAgIlwzMjdcMzMwXDMzMFwzNzdcMzc0XDM3NVwzNzVcMzc3XDM3MlwzNzRcMzc0XDM3N1wzNzFcMzcyXDM3M1wzNzdcMzcwIgorICAiXDM3MVwzNzJcMzc3XDM2N1wzNzBcMzcxXDM3N1wzNjVcMzY2XDM3MFwzNzdcMzY3XDM2N1wzNzFcMzc3XDMwNlwzMDciCisgICJcMzA3XDM3N09ealwzNzVcMFwwXDBcMzYwXDBcMFwwQlwwXDBcMFwzN1wwXDBcMFwxMVwwXDBcMFwyM1wwXDBcMFwzNzciCisgICJMX3JcMzQwXDM1MFwzNTBcMzUwXDM3N1wzMDZcMzA2XDMwNlwzNzdcMjc2XDI3NlwyNzZcMzc3XDI3MFwyNzBcMjcwXDM3NyIKKyAgIlwyNjVcMjY1XDI2NlwzNjFcMjI3XDIzNlwyNDRcMzU2XDI1MFwyNTBcMjUwXDM3N1wzNzVcMzc2XDM3NlwzNzdcMzY1IgorICAiXDM2NlwzNjZcMzc3XDM0N1wzNTFcMzUxXDM3N1wzNTNcMzU0XDM1NVwzNzdcMzUyXDM1M1wzNTRcMzc3XDM2MFwzNjEiCisgICJcMzYyXDM3N1wzNzBcMzcxXDM3MlwzNzdcMzQwXDM0MlwzNDNcMzc3XDIxN1wyMjZcMjM1XDM3NlwyNVwzNFwiXDM3NyIKKyAgIlwwXDBcMFwyMDFcMFwwXDA+XDBcMFwwXDM0XDBcMFwwXDEwXDBcMFwwXDEzXDBcMFwwQTVEU1wzNzdcMjE1XDIzMVwyNDIiCisgICJcMzYzXDM0M1wzNDNcMzQzXDM3N1wzMDFcMzAxXDMwMVwzNzdcMjc2XDI3NlwyNzZcMzc3XDIxNlwyMjRcMjMyXDMxNiIKKyAgIlwyMzVcMjM3XDIzN1wzNzZcMzc3XDM3N1wzNzdcMzc3XDM3NVwzNzZcMzc2XDM3N1wzNzRcMzc1XDM3NVwzNzdcMzcyIgorICAiXDM3NFwzNzRcMzc3XDM2MlwzNjNcMzY0XDM3N1wzNjFcMzYyXDM2M1wzNzdcMzY3XDM3MFwzNzFcMzc3XDM2NlwzNjYiCisgICJcMzY3XDM3N1wyNDZcMjUwXDI1M1wzNzdzXDE3N1wyMTJcMzc2XDRcNVw2XDM3N1wwXDBcMFBcMFwwXDAiIjFcMFwwXDAiCisgICJcMjRcMFwwXDBcNVwwXDBcMFw1XDBcMFwwXDI0XDBcMFwwXDM3N0tfcVwzNDBcMzQ1XDM0NVwzNDVcMzc3XDMwMVwzMDEiCisgICJcMzAxXDM3N1wyMzZcMjM3XDI0MFwzMjZcMjI3XDIzMVwyMzNcMzc1XDMzMVwzMzFcMzMxXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzQ3XDM1MFwzNTBcMzc3XDM1NlwzNTdcMzU3XDM3N1wzNjRcMzY1XDM2NVwzNzdcMzcxXDM3MlwzNzNcMzc3IgorICAiXDM3MFwzNzFcMzcyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzMwXDMzMFwzMzJcMzc3XDIyM1wyMzNcMjQzXDM3N1wxN1wyNCIKKyAgIlwzMFwzNzdcMFwwXDB0XDBcMFwwQlwwXDBcMFwiXDBcMFwwXDE0XDBcMFwwXDNcMFwwXDBcMlwwXDBcMFwxM1wwXDBcMCIKKyAgIkE5SVdcMzc3XDIwMlwyMTdcMjI3XDM2MFwzMzNcMzMzXDMzM1wzNzBcMjEyXDIxNlwyMjJcMzQ3XDI2NFwyNjRcMjY0IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NVwzNzZcMzc2XDM3N1wzNjVcMzY2XDM2NlwzNzciCisgICJcMzU0XDM1NlwzNTZcMzc3XDM0NlwzNDdcMzUwXDM3N1wzNzJcMzcyXDM3M1wzNzdcMzY1XDM2NVwzNjdcMzc3XDI1NiIKKyAgIlwyNjJcMjY2XDM3N1xcbHxcMzc3XDBcMFwwXDM3N1wwXDBcMFBcMFwwXDAiIjFcMFwwXDBcMjVcMFwwXDBcNlwwXDBcMCIKKyAgIlwxXDBcMFwwXDBcMFwwXDBcNVwwXDBcMFwyNFwwXDBcMFwzNzdKXXBcMzM2XDI3M1wyNzNcMjczXDMyMVwyNTNcMjUzIgorICAiXDI1M1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzU3XDM2MFwzNjAiCisgICJcMzc3XDM3NFwzNzVcMzc1XDM3N1wzNzJcMzczXDM3M1wzNzdcMzcxXDM3MlwzNzNcMzc3XDM3M1wzNzRcMzc0XDM3NyIKKyAgIlwzMzZcMzQxXDM0M1wzNzdcMjM1XDI0NlwyNTZcMzc3XDEyXDE1XDIwXDM3N1wwXDBcMHRcMFwwXDBBXDBcMFwwXCJcMCIKKyAgIlwwXDBcMTNcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwxM1wwXDBcMEEkLzpcMzc3aW1xXDM0NiIKKyAgInd4eVwzNzdcMzYyXDM2M1wzNjNcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM2MFwzNjBcMzYwXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzczXDM3NFwzNzRcMzc3XDM3MVwzNzFcMzcyXDM3N1wyNzMiCisgICJcMjc3XDMwNFwzNzdWZ3lcMzc3XDBcMFwwXDM3N1wwXDBcMFBcMFwwXDAiIjFcMFwwXDBcMjVcMFwwXDBcNlwwXDBcMCIKKyAgIlwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDVcMFwwXDBcMjRcMFwwXDBcMzc3Sl90XDM3MDE+S1wzNzZcMjYzIgorICAiXDI3NVwzMDZcMzc1XDMyMVwzMjdcMzM1XDM3N1wzMzFcMzM2XDM0M1wzNzdcMzY2XDM2N1wzNjdcMzc3XDM2NVwzNjUiCisgICJcMzY1XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDMyMVwzMjJcMzI0XDM3N1wyMzJcMjQzXDI1NCIKKyAgIlwzNzdcNFw1XDZcMzc3XDBcMFwwdFwwXDBcMEFcMFwwXDAhXDBcMFwwXDEzXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDEzXDBcMFwwIiI3XDBcMFwwXDI1Nis0PFwzNjYpMjtcMzc3T18iCisgICJwXDM3N15xXDIwNFwzNzZcMjIxXDIzNlwyNTNcMzc1XDIzN1wyNTNcMjY2XDM3NVwyNzdcMzA3XDMyMFwzNzdcMzUwXDM1NCIKKyAgIlwzNTZcMzc3XDI2MlwyNzBcMjc2XDM3N3F9XDIxMFwzNzZcMFwwXDBcMzc3XDBcMFwwUFwwXDBcMCIiMVwwXDBcMFwyNSIKKyAgIlwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDVcMFwwIgorICAiXDBcMjJcMFwwXDAmXDBcMFwwOlwwXDBcMFlcMFwwXDBcMjAwXDBcMFwwXDMwMSUtNVwzNzdRYXJcMzc3Vmd5XDM3NXoiCisgICJcMjA2XDIyNVwzNzV2XDIwNVwyMjRcMzc0XDBcMFwwXDM3N1wwXDBcMHJcMFwwXDBcNzdcMFwwXDAhXDBcMFwwXDEzXDAiCisgICJcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMCIKKyAgIlw2XDBcMFwwXDIwXDBcMFwwXDM0XDBcMFwwJVwwXDBcMC1cMFwwXDAiIjhcMFwwXDBYXDBcMFwwXDIwMFwwXDBcMFwyNzUiCisgICIsND1cMzc3IScuXDM3N1wwXDBcMHBcMFwwXDBEXDBcMFwwKlwwXDBcMFwyM1wwXDBcMFw1XDBcMFwwXDFcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDRcMFwwIgorICAiXDBcMTBcMFwwXDBcMTRcMFwwXDBcMjFcMFwwXDBcMzFcMFwwXDBcIlwwXDBcMCxcMFwwXDAiIjdcMFwwXDBBXDBcMFwwIgorICAiQ1wwXDBcMDtcMFwwXDApXDBcMFwwXDI2XDBcMFwwXDEwXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDIiCisgICJcMFwwXDBcNFwwXDBcMFw2XDBcMFwwXDEzXDBcMFwwXDIwXDBcMFwwXDMwXDBcMFwwXDM3XDBcMFwwXDQwXDBcMFwwXDMzIgorICAiXDBcMFwwXDIxXDBcMFwwXDEwXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFw0XDBcMFwwXDZcMFwwXDBcMTBcMFwwXDBcMTFcMFwwXDBcN1wwXDBcMFw0IgorICAiXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX2Jvb2tfcmVkKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfYm9va19yZWRbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX2Jvb2tfcmVkW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDAiIjlcMFwwXDBcMzAyXDBcMFwwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMCIKKyAgIlwwXDBcMzc3XDBcMFwwXDM1N1wwXDBcMFwzNTZcMFwwXDBcMzQ2XDBcMFwwXDM0MlwwXDBcMHdcMFwwXDBcMTNcMFwwIgorICAiXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzJcMzdcMjFcMTZcMzc3XDMxMCIKKyAgIlwyMjVcMjEzXDM3N1wyNzJ5bVwzNzdcMjY0bmBcMzc3XDI2MGZXXDM3N1wyNTJeT1wzNzdcMjQwWUtcMzc3XDIyNlNGIgorICAiXDM3N1wyMTZPQ1wzNzdcMjE2T0NcMzc3XDIxNk9DXDM3N1wyMTZPQ1wzNzdcMjE2T0NcMzc3XDIyNVJGXDM3N3hDOFwzNzciCisgICIhXDIyXDE3XDM3NlwwXDBcMC5cMFwwXDBcMTBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDI3M1wyNjVwYlwzNzdcMzAzXDIxNFwyMDFcMzc3XDI2NnJlXDM3N1wyMzRXSVwzNzdcMjIxUERcMzc3XDIwNiIKKyAgIko+XDM3N3pEOVwzNzdvPjRcMzc3aTsxXDM3N2k7MVwzNzdvPjRcMzc3bz40XDM3N3ZBN1wzNzdvPjRcMzc3WDApXDM3NyIKKyAgIidcMjZcMjJcMzcyXDBcMFwwTlwwXDBcMFwyMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIyIgorICAiXDIxXDExXDEwXDM3N1wzMTFcMjI3XDIxNVwzNzdcMjc0fXFcMzc3XDI0MVpLXDM3N1wyMzBUR1wzNzdcMjE0TUFcMzc3IgorICAiXDIwMUc8XDM3N3ZBN1wzNzdrOzJcMzc3aTsxXDM3N2k7MVwzNzdpOzFcMzc3aTsxXDM3N3RBNlwzNzdcXDMrXDM3NzsiCisgICIhXDMzXDM3N1wwXDBcMF5cMFwwXDBEXDBcMFwwXDE2XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMjU1XDIxN09DXDM3N1wzMTFcMjI3XDIxNVwzNzdcMjY1cWNcMzc3XDIzNVdJXDM3N1wyMjFQRFwzNzdcMjEwS1w3NyIKKyAgIlwzNzd8RTpcMzc3cD40XDM3N2k7MVwzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzdsPDNcMzc3dEE2XDM3N1UvKFwzNzdPIgorICAiLCVcMzc1XDBcMFwwXDM3N1wwXDBcMCVcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyMVwwXDAiCisgICJcMFwzNzdcMzExXDIyN1wyMTVcMzc3XDI3NX5yXDM3N1wyNDRbTFwzNzdcMjMxVUhcMzc3XDIxNU5CXDM3N1wyMDJIPCIKKyAgIlwzNzd3QjhcMzc3bDwzXDM3N2k7MVwzNzdpOzFcMzc3azsyXDM3N2k7MVwzNzdzQDZcMzc3XFwzK1wzNzcsXDMwXDI0IgorICAiXDM3N1wyMDFcMjAxXDIwMVwzNzdJKFwiXDM3N1wwXDBcMEZcMFwwXDBcMTVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMjMyXDIxN09DXDM3N1wzMDRcMjE1XDIwMlwzNzdcMjY1cWNcMzc3XDIzN1hKXDM3N1wyMjNSRVwzNzdcMjExIgorICAiTEBcMzc3fkY7XDM3N3NANlwzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzdpOzFcMzc3azsyXDM3N3dCOFwzNzdVLyhcMzc3IgorICAiNFwzNVwzMFwzNzZLS0tcMzc3XDIyMFwyMjBcMjIwXDM3N1wwXDBcMFFcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDIwXDBcMFwwXDM3N1wzMTBcMjI2XDIxNFwzNzVcMjc0fXFcMzc3XDI0NVxcTVwzNzdcMjMyVkhcMzc3XDIxNyIKKyAgIk9DXDM3N1wyMDNJPVwzNzd4QzhcMzc3bT0zXDM3N2k7MVwzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzdxXDc3IiI1XDM3NyIKKyAgIl80LFwzNzctXDMxXDI1XDM3N1ZWVlwzNjZnZ2dcMzc3MzMzXDM3N1wwXDBcMFFcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDMzNVwyMzVXSVwzNzdcMzAzXDIxNFwyMDFcMzc3XDI2NnJlXDM3N1wyNDBZS1wzNzdcMjI1UkZcMzc3IgorICAiXDIxMkxAXDM3N1wxNzdHO1wzNzd0QTZcMzc3aTsxXDM3N2k7MVwzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzd2QTdcMzc3IgorICAiWTEpXDM3NzhcMzdcMzJcMzc3SEhIXDM3N1wyNzB3alwzNzdcMFwwXDBcMzc3XDBcMFwwY1wwXDBcMFwyMVwwXDBcMFwwIgorICAiXDBcMFwwIVwwXDBcMFwzNzdcMzEwXDIyNlwyMTRcMzc3XDMwMFwyMDV5XDM3N1wyNTRgUFwzNzdcMjM0V0lcMzc3XDIyMSIKKyAgIlBEXDM3N1wyMDZKPlwzNzd6RDlcMzc3bz40XDM3N2k7MVwzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzdtPTNcMzc3ZjgvIgorICAiXDM3Ny9cMzJcMjZcMzc3Z2dnXDM3N25ublwzNzdfNCxcMzc3XDBcMFwwXDM3M1wwXDBcMFJcMFwwXDBcMjVcMFwwXDAiCisgICJcMFwwXDBcMFwyNDVcMjMxVUhcMzc3XDMwNVwyMjBcMjA1XDM3N1wyNjRuYFwzNzdcMjQ0W0xcMzc3XDIzMVVIXDM3NyIKKyAgIlwyMTVOQlwzNzdcMjAySDxcMzc3d0I4XDM3N2w8M1wzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzdpOzFcMzc3d0I4XDM3NyIKKyAgIlUvKFwzNzc7IVwzM1wzNzdYWFhcMzc3XDI2N3RnXDM3N1wyMVwxMVwxMFwzNzJcMFwwXDBcMjM0XDBcMFwwSVwwXDBcMCIKKyAgIlwxN1wwXDBcMFwxM1wwXDBcMFwzNzdcMjYydGhcMzM3XDMwMlwyMTB9XDM3N1wyNjFoWVwzNzdcMjM3WEpcMzc3XDIyMyIKKyAgIlJFXDM3N1wyMTFMQFwzNzd+RjtcMzc3c0A2XDM3N2k7MVwzNzdpOzFcMzc3aTsxXDM3N2k7MVwzNzdpOzFcMzc3ZzkwIgorICAiXDM3NzJcMzNcMjdcMzc3S0tLXDM3N3R0dFwzNzd6RTpcMzcwXDBcMFwwXDM2NFwwXDBcMFVcMFwwXDArXDBcMFwwXDciCisgICJcMFwwXDBcMjA2XDI0MFlLXDM3N1wzMzNcMjcyXDI2NFwzNzVcMzI0XDI1NFwyNDRcMzc3XDMyMFwyNDNcMjMzXDM3NyIKKyAgIlwzMTVcMjM3XDIyNlwzNzdcMzEyXDIzMVwyMTdcMzc3XDMwN1wyMjRcMjExXDM3N1wzMDJcMjEwfVwzNzdcMjY2cmVcMzc3IgorICAiXDI2NXBiXDM3N1wyNjVwYlwzNzdcMjY1cGJcMzc3XDI2NXBiXDM3N1wyNjBmV1wzNzdcMjE0TUFcMzc3SShcIlwzNzciCisgICJeXl5cMzc3XDI3MXhrXDM3N1wyMVwxMVwxMFwzNzJcMFwwXDBcMjMzXDBcMFwwR1wwXDBcMFwyMVwwXDBcMFwxXDZcMyIKKyAgIlwzXDMzMVwzMjJcMjUwXDI0MFwzNzdULidcMzc3SikjXDM3N0opI1wzNzdKKSNcMzc3SikjXDM3N0opI1wzNzdKKSNcMzc3IgorICAiSikjXDM3N0opI1wzNzdKKSNcMzc3SikjXDM3N0opI1wzNzdKKSNcMzc3RychXDM3N2NjY1wzNzd4eHhcMzc3XDIwMkgiCisgICI8XDM3N1wwXDBcMFwzNjVcMFwwXDBVXDBcMFwwKlwwXDBcMFw2XDBcMFwwXDBcMjRcMTNcMTFcMzc3XDI3MHdqXDM3NyIKKyAgIlkxKVwzNzdfX19cMzczdHR0XDM3N1wyMjZcMjI2XDIyNlwzNzdcMjYxXDI2MVwyNjFcMzc3XDI1N1wyNTdcMjU3XDM3NyIKKyAgIlwzMDVcMzA1XDMwNVwzNzdcMzE2XDMxNlwzMTZcMzc3XDI3MlwyNzJcMjcyXDM3N1wzMDJcMzAyXDMwMlwzNzdcMzAzIgorICAiXDMwM1wzMDNcMzc3XDMxM1wzMTNcMzEzXDM3N1wzMjJcMzIyXDMyMlwzNzdcMzMyXDMzMlwzMzJcMzc3XDIyNVwyMjUiCisgICJcMjI1XDM3N1wyNjRtX1wzNzdcIlwyM1wyMFwzNzFcMFwwXDBcMjM0XDBcMFwwSFwwXDBcMFwyMlwwXDBcMFwxXDBcMCIKKyAgIlwwXDBcMjFcMTFcMTBcMzc3XDI0N11OXDM3N3ZBN1wzNzd+fn5cMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NCIKKyAgIlwzNzdcMzQxXDM0MVwzNDFcMzc3XDMzN1wzMzdcMzM3XDM3N1wzMzdcMzM3XDMzN1wzNzdcMzYyXDM2MlwzNjJcMzc3IgorICAiXDM3NVwzNzVcMzc1XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wyNTAiCisgICJcMjUwXDI1MFwzNzdcMjY1XDI2NVwyNjVcMzc3bW1tXDM3N1wyMDJIPFwzNzdcMVwwXDBcMzcwXDBcMFwwVVwwXDBcMCIKKyAgIipcMFwwXDBcNlwwXDBcMFwwXDBcMFwwXDAiIjJcMzNcMjdcMzc3XDIzMlZIXDM3N1wyNDddTlwzNzdcMjIxUERcMzc3IgorICAiXDE3N0c7XDM3N1wzMzNcMzMzXDMzM1wzNzdcMzUyXDM1MlwzNTJcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTdcMzU3XDM1NyIKKyAgIlwzNzdcMzQ2XDM0NlwzNDZcMzc3XDMzNlwzMzZcMzM2XDM3N1wzNDFcMzQxXDM0MVwzNzdcMzQxXDM0MVwzNDFcMzc3IgorICAiXDMzN1wzMzdcMzM3XDM3N1wzNDJcMzQyXDM0MlwzNzd6enpcMzc3XDI2N3NmXDM3NyRcMjRcMjFcMzY3XDBcMFwwXDIzNCIKKyAgIlwwXDBcMElcMFwwXDBcMjJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiIjlcMFwwXDBcMzc3XDExXDVcNFwzNTQiCisgICJjODBcMzYzXDIwM01CXDM1MVwyMTRRRVwzNTdcMjE3T0NcMzc3XDIyNVJGXDM3N1wyMjdcMjI3XDIyN1wzNzdcMzM0XDMzNCIKKyAgIlwzMzRcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNTNcMzUzXDM1M1wzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MVwzNzFcMzcxIgorICAiXDM3N1wyMDVcMjA1XDIwNVwzNzdcMjQ2XDI0NlwyNDZcMzc3XDMwM1wyMTNcMjAwXDM3N1wyXDFcMVwzNzBcMFwwXDAiCisgICJVXDBcMFwwKlwwXDBcMFw3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAmXDBcMFwwZVwwXDBcMCIKKyAgIlwyNzZcMFwwXDBcMzQ2XDBcMFwwXDM2MFwwXDBcMFwzNjNmOjFcMzcxc0E3XDM3MVwyMTRPQ1wzNjdcMjE3UUVcMzY2IgorICAiXDIyMlFEXDM3N1wzMjBcMjQ1XDIzNFwzNzdcMzQwXDM0MFwzNDBcMzc3XDM1MlwzNTJcMzUyXDM3N1wzMDNcMjEzXDIwMCIKKyAgIlwzNzclXDI1XDIxXDM3M1wwXDBcMFwyMzRcMFwwXDBIXDBcMFwwXDIyXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFw2XDBcMFwwXDE3XDBcMFwwXDM0XDBcMFwwIiI0XDBcMFwwQ1wwXDBcMGdcMFwwXDBcMjUxIgorICAiXDBcMFwwXDM0NFwwXDBcMFwzNjFcMFwwXDBcMzU2Uy8oXDM2NWo7MlwzNzFcMjAxST1cMzcyXDIxMU1CXDM2N1wyMDUiCisgICJMQVwzNTdcM1wyXDFcMzY3XDBcMFwwVVwwXDBcMCtcMFwwXDBcN1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDBcMTJcMFwwXDBcMTVcMFwwXDBcMjBcMFwwXDBcMzMiCisgICJcMFwwXDAiIjBcMFwwXDBDXDBcMFwwX1wwXDBcMFwyMzVcMFwwXDBcMzI3XDBcMFwwXDM1NlwwXDBcMFwzNTRcMFwwXDAiCisgICJcMzQ3XDBcMFwwe1wwXDBcMEZcMFwwXDBcMjFcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMCIKKyAgIlwxMFwwXDBcMFwxNVwwXDBcMFwyMFwwXDBcMFwzMFwwXDBcMCxcMFwwXDBcNzdcMFwwXDBIXDBcMFwwSFwwXDBcMEBcMCIKKyAgIlwwXDBcMzdcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDJcMFwwXDBcN1wwXDBcMFwxM1wwXDBcMFwxNlwwXDBcMFwxNlwwXDBcMFwxNFwwXDBcMFw1XDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIn07CisKKworLyogR2RrUGl4YnVmIFJHQkEgQy1Tb3VyY2UgaW1hZ2UgZHVtcCAqLworCisjaWZkZWYgX19TVU5QUk9fQworI3ByYWdtYSBhbGlnbiA0IChzdG9ja19ib29rX3llbGxvdykKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX2Jvb2tfeWVsbG93W10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19ib29rX3llbGxvd1tdID0gCisjZW5kaWYKK3sgIiIKKyAgLyogUGl4YnVmIG1hZ2ljICgweDQ3NjQ2YjUwKSAqLworICAiR2RrUCIKKyAgLyogbGVuZ3RoOiBoZWFkZXIgKDI0KSArIHBpeGVsX2RhdGEgKDIzMDQpICovCisgICJcMFwwXDExXDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDk2KSAqLworICAiXDBcMFwwYCIKKyAgLyogd2lkdGggKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBoZWlnaHQgKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwIiI5XDBcMFwwXDMwMlwwXDBcMFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNTdcMFwwXDBcMzU2XDBcMFwwXDM0NlwwXDBcMFwzNDJcMFwwXDB3XDBcMFwwXDEzXDBcMCIKKyAgIlwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDMyKFw0MFw1XDM3N1wzNTJcMzE1IgorICAiaVwzNzdcMzQ0XDMwMENcMzc3XDM0MlwyNzMzXDM3N1wzNDFcMjY3JlwzNzdcMzMzXDI2MVwzNlwzNzdcMzE3XDI0N1wzNCIKKyAgIlwzNzdcMzAzXDIzNVwzMlwzNzdcMjcwXDIyNFwzMVwzNzdcMjcwXDIyNFwzMVwzNzdcMjcwXDIyNFwzMVwzNzdcMjcwIgorICAiXDIyNFwzMVwzNzdcMjcwXDIyNFwzMVwzNzdcMzAxXDIzNFwzMlwzNzdcMjM0flwyNVwzNzcqXCJcNlwzNzZcMFwwXDAiCisgICIuXDBcMFwwXDEwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyNzNcMzQzXDI3NCIKKyAgIjRcMzc3XDM1MFwzMTFdXDM3N1wzNDNcMjc1OFwzNzdcMzEyXDI0M1wzM1wzNzdcMjczXDIyN1wzMlwzNzdcMjU1XDIxNCIKKyAgIlwzMFwzNzdcMjM2XDE3N1wyNVwzNzdcMjIwdFwyM1wzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjIwdFwyM1wzNzciCisgICJcMjIwdFwyM1wzNzdcMjMwe1wyNVwzNzdcMjIwdFwyM1wzNzdyXFxcMTdcMzc3MShcN1wzNzJcMFwwXDBOXDBcMFwwXDIwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjJcMjZcMjJcM1wzNzdcMzUyXDMxNm1cMzc3XDM0NSIKKyAgIlwzMDJIXDM3N1wzMjFcMjUwXDM0XDM3N1wzMDRcMjM2XDMzXDM3N1wyNjRcMjIyXDMxXDM3N1wyNDZcMjA2XDI3XDM3NyIKKyAgIlwyMzB7XDI1XDM3N1wyMTJwXDIzXDM3N1wyMTFuXDIyXDM3N1wyMTFuXDIyXDM3N1wyMTFuXDIyXDM3N1wyMTFuXDIyIgorICAiXDM3N1wyMjd5XDI0XDM3N3dgXDIwXDM3N00+XDEyXDM3N1wwXDBcMF5cMFwwXDBEXDBcMFwwXDE2XDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjU1XDI3MlwyMjZcMzFcMzc3XDM1MlwzMTZtXDM3N1wzNDNcMjc0NlwzNzciCisgICJcMzEzXDI0NFwzNFwzNzdcMjczXDIyN1wzMlwzNzdcMjU3XDIxNVwzMFwzNzdcMjQxXDIwMlwyNlwzNzdcMjIxdVwyNCIKKyAgIlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjE0cVwyM1wzNzdcMjI3IgorICAieVwyNFwzNzduWVwxN1wzNzdmUlwxNlwzNzVcMFwwXDBcMzc3XDBcMFwwJVwwXDBcMFw1XDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDIxXDBcMFwwXDM3N1wzNTJcMzE2bVwzNzdcMzQ1XDMwM0pcMzc3XDMyNFwyNTNcMzVcMzc3XDMwNiIKKyAgIlwyNDBcMzNcMzc3XDI2NlwyMjNcMzFcMzc3XDI1MFwyMTBcMjdcMzc3XDIzMnxcMjVcMzc3XDIxNHFcMjNcMzc3XDIxMSIKKyAgIm5cMjJcMzc3XDIxMW5cMjJcMzc3XDIxMnBcMjNcMzc3XDIxMW5cMjJcMzc3XDIyNXhcMjRcMzc3d2BcMjBcMzc3OS5cMTAiCisgICJcMzc3XDIwMVwyMDFcMjAxXDM3N15MXDE1XDM3N1wwXDBcMEZcMFwwXDBcMTVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMjMyXDI3MlwyMjZcMzFcMzc3XDM1MFwzMTJfXDM3N1wzNDNcMjc0NlwzNzdcMzE1XDI0NVwzNFwzNzdcMjc3IgorICAiXDIzMlwzMlwzNzdcMjYxXDIxN1wzMFwzNzdcMjQzXDIwM1wyNlwzNzdcMjI1eFwyNFwzNzdcMjExblwyMlwzNzdcMjExIgorICAiblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjEycFwyM1wzNzdcMjMyfFwyNVwzNzduWVwxN1wzNzdDNlwxMSIKKyAgIlwzNzZLS0tcMzc3XDIyMFwyMjBcMjIwXDM3N1wwXDBcMFFcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIwIgorICAiXDBcMFwwXDM3N1wzNTFcMzE1a1wzNzVcMzQ1XDMwMkhcMzc3XDMyNlwyNTVcMzVcMzc3XDMxMFwyNDFcMzNcMzc3XDI3MiIKKyAgIlwyMjZcMzFcMzc3XDI1MlwyMTFcMjdcMzc3XDIzNH5cMjVcMzc3XDIxNnJcMjNcMzc3XDIxMW5cMjJcMzc3XDIxMW5cMjIiCisgICJcMzc3XDIxMW5cMjJcMzc3XDIxMW5cMjJcMzc3XDIyM3dcMjRcMzc3emNcMjFcMzc3OzBcMTBcMzc3VlZWXDM2NmdnZyIKKyAgIlwzNzczMzNcMzc3XDBcMFwwUVwwXDBcMFwyMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzM1XDMxM1wyNDRcMzRcMzc3IgorICAiXDM1MFwzMTFdXDM3N1wzNDNcMjc1OFwzNzdcMzE3XDI0N1wzNFwzNzdcMzAxXDIzNFwzMlwzNzdcMjYzXDIyMFwzMFwzNzciCisgICJcMjQ1XDIwNVwyNlwzNzdcMjI3eVwyNFwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExbiIKKyAgIlwyMlwzNzdcMjExblwyMlwzNzdcMjMwe1wyNVwzNzdzXVwyMFwzNzdJO1wxMlwzNzdISEhcMzc3XDM0NFwyNzdcNzdcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMGNcMFwwXDBcMjFcMFwwXDBcMFwwXDBcMCFcMFwwXDBcMzc3XDM1MlwzMTZrXDM3N1wzNDciCisgICJcMzA2UlwzNzdcMzM3XDI2NFwzNlwzNzdcMzEyXDI0M1wzM1wzNzdcMjczXDIyN1wzMlwzNzdcMjU1XDIxNFwzMFwzNzciCisgICJcMjM2XDE3N1wyNVwzNzdcMjIwdFwyM1wzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExbiIKKyAgIlwyMlwzNzdcMjE2clwyM1wzNzdcMjAzalwyMlwzNzc9MVwxMFwzNzdnZ2dcMzc3bm5uXDM3N3pjXDIxXDM3N1wwXDBcMCIKKyAgIlwzNzNcMFwwXDBSXDBcMFwwXDI1XDBcMFwwXDBcMFwwXDBcMjQ1XDMwNlwyNDBcMzNcMzc3XDM1MVwzMTNiXDM3N1wzNDIiCisgICJcMjczM1wzNzdcMzI0XDI1M1wzNVwzNzdcMzA2XDI0MFwzM1wzNzdcMjY2XDIyM1wzMVwzNzdcMjUwXDIxMFwyN1wzNzciCisgICJcMjMyfFwyNVwzNzdcMjE0cVwyM1wzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMlwzNzdcMjExblwyMiIKKyAgIlwzNzdcMjMyfFwyNVwzNzduWVwxN1wzNzdNPlwxMlwzNzdYWFhcMzc3XDM0NFwyNzY7XDM3N1wyNVwyMVwzXDM3MlwwIgorICAiXDBcMFwyMzRcMFwwXDBJXDBcMFwwXDE3XDBcMFwwXDEzXDBcMFwwXDM3N1wzMjZcMjY2RFwzMzdcMzQ3XDMwN1hcMzc3IgorICAiXDM0MVwyNzAqXDM3N1wzMTVcMjQ1XDM0XDM3N1wyNzdcMjMyXDMyXDM3N1wyNjFcMjE3XDMwXDM3N1wyNDNcMjAzXDI2IgorICAiXDM3N1wyMjV4XDI0XDM3N1wyMTFuXDIyXDM3N1wyMTFuXDIyXDM3N1wyMTFuXDIyXDM3N1wyMTFuXDIyXDM3N1wyMTEiCisgICJuXDIyXDM3N1wyMDVrXDIyXDM3N0E0XDEwXDM3N0tLS1wzNzd0dHRcMzc3XDIzNFwxNzdcMzBcMzcwXDBcMFwwXDM2NCIKKyAgIlwwXDBcMFVcMFwwXDArXDBcMFwwXDdcMFwwXDBcMjA2XDMxN1wyNDdcMzRcMzc3XDM2MFwzMzZcMjM2XDM3NVwzNTZcMzMwIgorICAiXDIxM1wzNzdcMzU1XDMyNH5cMzc3XDM1NFwzMjJ3XDM3N1wzNTNcMzE3blwzNzdcMzUyXDMxNGdcMzc3XDM0N1wzMDciCisgICJYXDM3N1wzNDNcMjc1OFwzNzdcMzQzXDI3NDRcMzc3XDM0M1wyNzQ0XDM3N1wzNDNcMjc0NFwzNzdcMzQzXDI3NDRcMzc3IgorICAiXDM0MVwyNjcmXDM3N1wyNjRcMjIyXDMxXDM3N15MXDE1XDM3N15eXlwzNzdcMzQ0XDMwMEFcMzc3XDI1XDIxXDNcMzcyIgorICAiXDBcMFwwXDIzM1wwXDBcMEdcMFwwXDBcMjFcMFwwXDBcMVw3XDZcMVwzMzFcMzU2XDMyNlwyMDVcMzc3bFdcMTdcMzc3IgorICAiYE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTUiCisgICJcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3YE5cMTVcMzc3XUtcMTRcMzc3Y2NjXDM3N3h4eFwzNzdcMjUwXDIxMCIKKyAgIlwyN1wzNzdcMFwwXDBcMzY1XDBcMFwwVVwwXDBcMCpcMFwwXDBcNlwwXDBcMFwwXDMyXDI1XDNcMzc3XDM0NFwyNzdcNzciCisgICJcMzc3c11cMjBcMzc3X19fXDM3M3R0dFwzNzdcMjI2XDIyNlwyMjZcMzc3XDI2MVwyNjFcMjYxXDM3N1wyNTdcMjU3XDI1NyIKKyAgIlwzNzdcMzA1XDMwNVwzMDVcMzc3XDMxNlwzMTZcMzE2XDM3N1wyNzJcMjcyXDI3MlwzNzdcMzAyXDMwMlwzMDJcMzc3IgorICAiXDMwM1wzMDNcMzAzXDM3N1wzMTNcMzEzXDMxM1wzNzdcMzIyXDMyMlwzMjJcMzc3XDMzMlwzMzJcMzMyXDM3N1wyMjUiCisgICJcMjI1XDIyNVwzNzdcMzQyXDI3MjFcMzc3LCNcNlwzNzFcMFwwXDBcMjM0XDBcMFwwSFwwXDBcMFwyMlwwXDBcMFwxXDAiCisgICJcMFwwXDBcMjZcMjJcM1wzNzdcMzMwXDI1NlwzNVwzNzdcMjMwe1wyNVwzNzd+fn5cMzc3XDM0NFwzNDRcMzQ0XDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdcMzQxXDM0MVwzNDFcMzc3XDMzN1wzMzdcMzM3XDM3N1wzMzdcMzM3XDMzN1wzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wyNTBcMjUwXDI1MFwzNzdcMjY1XDI2NVwyNjVcMzc3bW1tXDM3N1wyNTBcMjEwXDI3XDM3N1wxXDFcMCIKKyAgIlwzNzBcMFwwXDBVXDBcMFwwKlwwXDBcMFw2XDBcMFwwXDBcMFwwXDBcMEE0XDEwXDM3N1wzMTBcMjQxXDMzXDM3N1wzMzAiCisgICJcMjU2XDM1XDM3N1wyNzNcMjI3XDMyXDM3N1wyNDVcMjA1XDI2XDM3N1wzMzNcMzMzXDMzM1wzNzdcMzUyXDM1MlwzNTIiCisgICJcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzQ2XDM0NlwzNDZcMzc3XDMzNlwzMzZcMzM2XDM3NyIKKyAgIlwzNDFcMzQxXDM0MVwzNzdcMzQxXDM0MVwzNDFcMzc3XDMzN1wzMzdcMzM3XDM3N1wzNDJcMzQyXDM0MlwzNzd6enpcMzc3IgorICAiXDM0M1wyNzU6XDM3Ny0lXDdcMzY3XDBcMFwwXDIzNFwwXDBcMElcMFwwXDBcMjJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDAiIjlcMFwwXDBcMzc3XDEzXDEwXDFcMzU0fmVcMjVcMzYzXDI0M1wyMDYhXDM1MVwyNjBcMjIwXDQwXDM1NyIKKyAgIlwyNzJcMjI2XDMxXDM3N1wzMDFcMjM0XDMyXDM3N1wyMjdcMjI3XDIyN1wzNzdcMzM0XDMzNFwzMzRcMzc3XDM0NVwzNDUiCisgICJcMzQ1XDM3N1wzNTNcMzUzXDM1M1wzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wyMDVcMjA1XDIwNSIKKyAgIlwzNzdcMjQ2XDI0NlwyNDZcMzc3XDM1MFwzMTBbXDM3N1wyXDJcMFwzNzBcMFwwXDBVXDBcMFwwKlwwXDBcMFw3XDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAmXDBcMFwwZVwwXDBcMFwyNzZcMFwwXDBcMzQ2XDBcMFwwIgorICAiXDM2MFwwXDBcMFwzNjNcMjAyaVwyNFwzNzFcMjI0d1wyNlwzNzFcMjYyXDIyMFwzNVwzNjdcMjY2XDIyNFwzNlwzNjYiCisgICJcMjc1XDIzMVwzMlwzNzdcMzU1XDMyNVwyMDBcMzc3XDM0MFwzNDBcMzQwXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUwXDMxMCIKKyAgIltcMzc3MCZcNlwzNzNcMFwwXDBcMjM0XDBcMFwwSFwwXDBcMFwyMlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcNlwwXDBcMFwxN1wwXDBcMFwzNFwwXDBcMCIiNFwwXDBcMENcMFwwXDBnXDBcMFwwXDI1MSIKKyAgIlwwXDBcMFwzNDRcMFwwXDBcMzYxXDBcMFwwXDM1NmlVXDIxXDM2NVwyMDduXDI1XDM3MVwyNDVcMjA2XDMxXDM3MlwyNTciCisgICJcMjE1XDMzXDM2N1wyNTBcMjExXDM2XDM1N1w0XDNcMFwzNjdcMFwwXDBVXDBcMFwwK1wwXDBcMFw3XDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMFwxMlwwXDBcMCIKKyAgIlwxNVwwXDBcMFwyMFwwXDBcMFwzM1wwXDBcMCIiMFwwXDBcMENcMFwwXDBfXDBcMFwwXDIzNVwwXDBcMFwzMjdcMFwwIgorICAiXDBcMzU2XDBcMFwwXDM1NFwwXDBcMFwzNDdcMFwwXDB7XDBcMFwwRlwwXDBcMFwyMVwwXDBcMFwxXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDEwXDBcMFwwXDE1XDBcMFwwXDIwXDBcMFwwXDMwXDBcMFwwLFwwXDBcMFw3NyIKKyAgIlwwXDBcMEhcMFwwXDBIXDBcMFwwQFwwXDBcMFwzN1wwXDBcMFw1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFw3XDBcMFwwXDEzXDBcMFwwXDE2XDBcMCIKKyAgIlwwXDE2XDBcMFwwXDE0XDBcMFwwXDVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX2xpbmVfaW4pCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19saW5lX2luW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19saW5lX2luW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMC0uLlwyNTcjIyNcMzc3XDEwXDEwXDEweFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwyNVwyNVwyNVwzNzdcMzQ1XDM0NVwzNDZcMzc3IyMjXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMGZmZlwzMTVcMzU2XDM1NlwzNTZcMzc3TU1NXDIxN1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwyXDJcMlwzMzdcMjc3XDI3N1wyNzdcMzc3XDNcM1wzXDMyNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzNcMFwwXDBpXDBcMFwwc1wwXDBcMF9cMFwwIgorICAiXDA9XDBcMFwwIVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIxIgorICAiXDIxXDIyXDM3N1wzNTRcMzU0XDM1NVwzNzdcMjJcMjJcMjJcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBgXDBcMFwwXDI2MlwyMTZcMjE2XDIxNlwyNjBcMjEwXDIxMFwyMTAiCisgICJcMjMzVFRUXDIxMCQkJHZcMFwwXDBiXDBcMFwwRlwwXDBcMCZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwJCQlXDI0M1wyNzNcMjczXDI3M1wzNzdcMFwwXDBPXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIxMmxsbFwzMjZcMzE2XDMxNlwzMTZcMzExXDI0NVwyNDVcMjQ1XDI3NFwwIgorICAiXDBcMFwyNDJcMFwwXDBcMjE0XDBcMFwwdlwwXDBcMFVcMFwwXDA7XDBcMFwwK1wwXDBcMFwiXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM1MlwzNTJcMzUyXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIzMG1tbVwzNDdcMzE2XDMxNlwzMTZcMzQ1XDEwXDEwXDEwIgorICAiXDMxM1wxMFwxMFwxMFwyMzFcMFwwXDBHXDBcMFwwPVwwXDBcMCIiMVwwXDBcMDpcMFwwXDAiIjJcMFwwXDAjXDBcMFwwIgorICAiXDM3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1JSUlwzNzdcMzMyXDMzMlwzMzRcMzc3PT09XDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNDNcMjY1XDI2NVwyNjVcMzYzS0siCisgICJLXDM1MVwwXDBcME1cMFwwXDBcMjFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDMzIgorICAiXDBcMFwwXDM1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDM3M1wzNzNcMzczXDM3N1wyMzRcMjMzIgorICAiXDIzNFwzNzdcMzI0XDMyNFwzMjRcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIzMSIKKyAgIkdHR1wzNjFcMjQ0XDI0NFwyNDRcMzY1XDBcMFwwXDI0MlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDBcMzFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wyMjFcMjIxIgorICAiXDIyMVwzNzc9PT1cMzc3PT09XDM3N1wzNlwzNlwzNlwzNzdcNzdcNzdcNzdcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMzMxX19fXDM2NyMjI1wzNjJcMFwwXDBCXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMjIxIgorICAiXDIyMVwyMjFcMzc3PT09XDM3Nz09PVwzNzdcMzZcMzZcMzZcMzc3QkJCXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDM0MlNTU1wzNTVcMFwwXDBcMzUzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3NyIKKyAgIlwyMjFcMjIxXDIyMVwzNzc9PT1cMzc3PT09XDM3N1wzNlwzNlwzNlwzNzdCQkJcMzc3XDBcMFwwXDM3N1wwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMzMwU1NTXDM1M1wwXDBcMFwzNTVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMzc3XDIyMVwyMjFcMjIxXDM3Nz09PVwzNzc9PT1cMzc3XDM2XDM2XDM2XDM3N0JCQlwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwyNjInJydcMzMyXCJcIlwiXDM2N1wwXDBcMDxcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDM3N1wyMjFcMjIxXDIyMVwzNzc9PT1cMzc3PT09XDM3N1wzNlwzNlwzNlwzNzdCQkJcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBEXDBcMFwwXDMxNVVVVVwzNjJcMFwwXDBcMzEzXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwzNzdcMjIxXDIyMVwyMjFcMzc3PT09XDM3Nz09PVwzNzdcMzZcMzZcMzZcMzc3RUVFXDM3N1wwXDBcMCIKKyAgIlwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjQxTExMXDMyMkZGRlwzMzZcMFwwXDBcMjM0XDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMzc3QUFBXDM3N2RkZFwzNzclJSVcMzc3LCwsXDM3Nzw8PFwzNzdcMFwwXDBcMzc3XDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM1XDBcMFwwXDIzNlhYWFwyNTdGRkZcMjczXDBcMFwwcVwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDM3N1wyNVwyNVwyNVwzNzdcN1w3XDdcMzc3KCgoXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIiI5XDBcMFwwXDIwNVpaWlwyMzNcMFwwXDBcMjM2XDBcMFwwYlwwXDAiCisgICJcMFwiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDM3NysrK1wzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBAXDBcMFwwY1hYWHtcMFwwXDB7XDBcMFwwIiIzXDBcMFwwJVwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzI0IgorICAiKysrXDMyNFwwXDBcMFwzMjRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwIiI3XDBcMFwwVFwwXDBcMF9cMFwwXDBeXDBcMFwwI1wwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjUyKysrXDI1MlwwXDBcMFwyNTIiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDEzXDBcMFwwQFwwXDBcMEZcMFwwXDBKXDBcMFwwIiIyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxNzcrKytcMTc3XDBcMFwwXDE3N1wwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIiMSIKKyAgIlwwXDBcMDpcN1w3XDdAXDBcMFwwLFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBVKysrVVwwXDBcMFVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDI3XDBcMFwwL1wwXDBcMCIiMlwxMFwxMFwxMCIiNVwwIgorICAiXDBcMCtcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwKisrKypcMFwwXDAqXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMjNcMFwwXDAiIjBcMFwwXDAtXDE0XDE0XDE0LVwwXDBcMCtcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwIn07CisKKworLyogR2RrUGl4YnVmIFJHQkEgQy1Tb3VyY2UgaW1hZ2UgZHVtcCAqLworCisjaWZkZWYgX19TVU5QUk9fQworI3ByYWdtYSBhbGlnbiA0IChzdG9ja19tYWlsKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbFtdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbFtdID0gCisjZW5kaWYKK3sgIiIKKyAgLyogUGl4YnVmIG1hZ2ljICgweDQ3NjQ2YjUwKSAqLworICAiR2RrUCIKKyAgLyogbGVuZ3RoOiBoZWFkZXIgKDI0KSArIHBpeGVsX2RhdGEgKDIzMDQpICovCisgICJcMFwwXDExXDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDk2KSAqLworICAiXDBcMFwwYCIKKyAgLyogd2lkdGggKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBoZWlnaHQgKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFwyIgorICAiXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDAiCisgICJcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDFcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMGZcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMG1cMCIKKyAgIlwwXDBcMTBcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwzNzdTU1NcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzZcMzc2XDM3NlwzNzciCisgICJcMzc1XDM3NVwzNzVcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MCIKKyAgIlwzNzBcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjRcMzY0IgorICAiXDM2NFwzNzdcMzQzXDM0M1wzNDNcMzc3U1NTXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzFcMFwwXDBcMTBcMFwwXDBcMVwwIgorICAiXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM1NlwzNTZcMzU2XDM3N09PT1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjUiCisgICJcMzY1XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MiIKKyAgIlwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTdcMzc3IgorICAiXDM1NlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzQzXDM0M1wzNDNcMzc3T09PXDM3N1wyNTZcMjU2XDI1NlwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwKFwwXDBcMFwxN1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM0NFwzNDRcMzQ0XDM3N0NDQ1wzNzdcMzc1XDM3NVwzNzVcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjJcMzYyIgorICAiXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTciCisgICJcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU1XDM1NVwzNTVcMzc3XDM0M1wzNDNcMzQzXDM3NyIKKyAgIk9PT1wzNzdcMjU0XDI1NFwyNTRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMCIKKyAgIlwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDQiCisgICJcMzQ0XDM3N09PT1wzNzdcMzczXDM3M1wzNzNcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MCIKKyAgIlwzNjBcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NVwzNTVcMzU1IgorICAiXDM3N1wzNDNcMzQzXDM0M1wzNzdDQ0NcMzc3XDI0MFwyNDBcMjQwXDM3N1wzMjRcMzI0XDMyNFwzNzdcMzEwXDMxMFwzMTAiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzNcMzczXDM3M1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N0NDQ1wzNzdcMzcwIgorICAiXDM3MFwzNzBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTUiCisgICJcMzU1XDM3N1wzNTRcMzU0XDM1NFwzNzdcMzQzXDM0M1wzNDNcMzc3T09PXDM3N1wyMjVcMjI1XDIyNVwzNzdcMzI0XDMyNCIKKyAgIlwzMjRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwIgorICAiXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjUiCisgICJcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3Nz4+PlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM1NiIKKyAgIlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU0XDM1NFwzNTRcMzc3XDM0M1wzNDNcMzQzXDM3N01NTVwzNzdcMjAxIgorICAiXDIwMVwyMDFcMzc3XDMwNlwzMDZcMzA2XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTAiCisgICJcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzczXDM3M1wzNzNcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0IgorICAiXDM0NFwzNDRcMzc3ampqXDM3N0NDQ1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNDNcMzQzXDM0MyIKKyAgIlwzNzdPT09cMzc3ampqXDM3N1wzMDZcMzA2XDMwNlwzNzdcMzA2XDMwNlwzMDZcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDQiCisgICJcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMCIKKyAgIlwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3IgorICAiXDM0NFwzNDRcMzQ0XDM3N2NjY1wzNzdcMzc3XDM3N1wzNzdcMzc3XDI3MVwyNzFcMjcxXDM3N09PT1wzNzdcMzYwXDM2MCIKKyAgIlwzNjBcMzc3T09PXDM3N1wyMjVcMjI1XDIyNVwzNzdcMzA2XDMwNlwzMDZcMzc3c3NzXDM3N1wzMDZcMzA2XDMwNlwzNzciCisgICJcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDAiCisgICJcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3M1wzNzNcMzczXDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdjY2NcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3IgorICAiXDMyNFwzMjRcMzI0XDM3N09PT1wzNzdcMjU0XDI1NFwyNTRcMzc3XDMwNlwzMDZcMzA2XDM3N1wzNDRcMzQ0XDM0NFwzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3fHx8XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTBcMzEwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzQ0XDM0NFwzNDRcMzc3c3NzXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjUiCisgICJcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NCIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3IgorICAifHx8XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwIgorICAiXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N3x8fFwzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDQiCisgICJcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NCIKKyAgIlwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3fHx8XDM3N1wzMTBcMzEwIgorICAiXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzciCisgICJzc3NcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3NyIKKyAgIlwyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0IgorICAiXDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzQiCisgICJcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3Y2NjXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMCIKKyAgIlwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwbVwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDIwN1wwXDBcMChcMFwwXDBcMTdcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMTBcMFwwXDBcMzEiCisgICJcMFwwXDAoXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAiCisgICItXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwKFwwXDBcMFwzMVwwXDBcMFwxMCIKKyAgIlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDEwXDBcMFwwXDE2XDBcMFwwXDIxXDBcMFwwXDIxIgorICAiXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwIgorICAiXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDE2XDBcMFwwXDEwXDAiCisgICJcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDJcMFwwXDBcMlwwXDBcMCIKKyAgIlwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwIgorICAiXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwxXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfbWFpbF9jb21wb3NlKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbF9jb21wb3NlW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19tYWlsX2NvbXBvc2VbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMzIxXDI1NyIKKyAgImFcMzc3XDM2MVwzNDNcMjU0XDM3N1wzNzNcMjUxXDE3XDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wyNjVcMjY1IgorICAiXDI2NVwzNzdcMjQwa1wxMVwzNzdcMzYxXDM0M1wyNTRcMzc3XDM3M1wyNTFcMTdcMzc3XDIwMWBcMFwzNzdcMFwwXDAiCisgICJcMzc3XDM0MFwzNDBcMzQwXDM3N1wzMDFcMzAxXDMwMVwzNzdcMFwwXDBcMzc3XDBcMFwwRFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc1XDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wwXDBcMFwzNzdcMzQ2XDMwM3BcMzc3XDM2MVwzMjNcMjA3XDM3NyIKKyAgIlwzMjVcMjE3XDE0XDM3N1wwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDMwM1wzMDNcMzAzXDM3N1wzNzNcMzczXDM3MyIKKyAgIlwzNzdcMjUwXDI1MFwyNTBcMzc3XDBcMFwwXDM3N1wwXDBcMFZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMjYzXDI2MyIKKyAgIlwyNjNcMzc3XDI0MGtcMTFcMzc3XDM2MVwzNDNcMjU0XDM3N1wzNzNcMjUxXDE3XDM3N1wyMDFgXDBcMzc3XDBcMFwwIgorICAiXDM3N1wzNzJcMzcyXDM3MlwzNzdcMjU1XDI1NVwyNTVcMzc3dnZ2XDM3N11dXVwzNzdAQEBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzczXDM3M1wzNzNcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzNcMzczXDM3M1wzNzdcMzczXDM3MyIKKyAgIlwzNzNcMzc3XDM3MFwzNzBcMzcwXDM3N1wwXDBcMFwzNzdcMzQ2XDMwM3BcMzc3XDM2MVwzMjB+XDM3N1wzMjVcMjE3IgorICAiXDE0XDM3N1wwXDBcMFwzNzdcMjU0XDI1NFwyNTRcMzc3XDM3MFwzNzBcMzY2XDM3N1wzNDJcMzQyXDM0MlwzNzdcMjA1IgorICAiXDIwNVwyMDVcMzc3S0tJXDM3N1wyNlwyNlwyNlwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NSIKKyAgIlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzNcMzczXDM3MlwzNzd9fX1cMzc3XDI0MGtcMTFcMzc3IgorICAiXDM2MVwzNDNcMjU0XDM3N1wzNzNcMjUxXDE3XDM3N1wyMDFgXDBcMzc3XDBcMFwwXDM3N1wzNjRcMzY0XDM2NFwzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzI1XDMyNVwzMjVcMzc3XDI1NSIKKyAgIlwyNTVcMjU1XDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzcxXDM3MVwzNzFcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzciCisgICJcMzY2XDM2NlwzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wwXDBcMFwzNzdcMzQ2XDMwM3BcMzc3XDM2MVwzMjB+XDM3NyIKKyAgIlwzMjVcMjE3XDE0XDM3N1wwXDBcMFwzNzdcMjA3XDIwN1wyMDZcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNDJcMzQyXDM0MiIKKyAgIlwzNzdcMzM3XDMzN1wzMzdcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNDJcMzQyXDM0MlwzNzdcMzAxXDMwMVwzMDFcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjAiCisgICJcMzYwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM2NiIKKyAgIlwzNzdcMjU2XDI1NlwyNTZcMzc3e1NcN1wzNzdcMzYxXDM0M1wyNTRcMzc3XDM3M1wyNTFcMTdcMzc3XDIwMWBcMFwzNzciCisgICJcMFwwXDBcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTNcMzUzXDM1M1wzNzdcMzUzXDM1M1wzNTFcMzc3XDM1MVwzNTFcMzQ3IgorICAiXDM3N1wzNTFcMzUxXDM0N1wzNzdcMzQwXDM0MFwzMzZcMzc3XDI3N1wyNzdcMjc3XDM3N1wwXDBcMFwzNzdcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYzXDM2MyIKKyAgIlwzNjNcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM1NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDBcMFwwXDM3N1wzNDYiCisgICJcMzAzcFwzNzdcMzYxXDMyMlwyMDRcMzc3XDMxMlwyMDdcMTNcMzc3XDBcMFwwXDM3N1wyMzZcMjM2XDIzNFwzNzdcMzM0IgorICAiXDMzNFwzMzFcMzc3XDMzMVwzMzFcMzMxXDM3N1wzMzFcMzMxXDMyNlwzNzdcMzI2XDMyNlwzMjRcMzc3XDM0NVwzNDUiCisgICJcMzQ0XDM3N1wzMzFcMzMxXDMyN1wzNzdcMjcyXDI3MlwyNzJcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY0IgorICAiXDM2NFwzNjRcMzc3XDM2MlwzNjJcMzYyXDM3N1wyNTJcMjUyXDI1MlwzNzdcMjQwa1wxMVwzNzdcMzYxXDM0M1wyNTQiCisgICJcMzc3XDM3M1wyNTFcMTdcMzc3XDIwMWBcMFwzNzdcMFwwXDBcMzc3XDM0N1wzNDdcMzQ1XDM3N1wzNDVcMzQ1XDM0NCIKKyAgIlwzNzdcMzQ1XDM0NVwzNDRcMzc3XDM0NFwzNDRcMzQyXDM3N1wzNDBcMzQwXDMzNlwzNzdcMzQyXDM0MlwzNDBcMzc3IgorICAiXDMzMVwzMzFcMzI3XDM3N1wyNzJcMjcyXDI3MlwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NlwzNTZcMzU0XDM3N1wzNDdcMzQ3XDM0NSIKKyAgIlwzNzdcMzQ1XDM0NVwzNDVcMzc3XDBcMFwwXDM3N1wzNDZcMzAzcFwzNzdcMzYxXDMyMlwyMDRcMzc3XDMxMlwyMDdcMTMiCisgICJcMzc3XDBcMFwwXDM3N1wyMjdcMjI3XDIyNlwzNzdcMzI0XDMyNFwzMjFcMzc3XDM0MlwzNDJcMzQwXDM3N1wzNDBcMzQwIgorICAiXDMzNlwzNzdcMzM2XDMzNlwzMzRcMzc3XDMzNlwzMzZcMzMzXDM3N1wzMzZcMzM2XDMzNFwzNzdcMzMxXDMzMVwzMjciCisgICJcMzc3XDI3NVwyNzVcMjc0XDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNDdcMzQ3XDM0N1wzNzdcMzU3XDM1N1wzNTVcMzc3XDM1M1wzNTNcMzUzXDM3N1wyNDZcMjQ2IgorICAiXDI0NVwzNzdcMjcyfFwxMlwzNzdcMzczXDI1MVwxN1wzNzdcMzczXDI1MVwxN1wzNzd6W1wwXDM3N1wwXDBcMFwzNzciCisgICJcMzQyXDM0MlwzNDBcMzc3XDM0MFwzNDBcMzM2XDM3N1wzMzZcMzM2XDMzNFwzNzdcMzM2XDMzNlwzMzNcMzc3XDMzNCIKKyAgIlwzMzRcMzMxXDM3N1wzMzNcMzMzXDMzMVwzNzdcMzMzXDMzM1wzMzFcMzc3XDMyNVwzMjVcMzIzXDM3N1wyNzRcMjc0IgorICAiXDI3NFwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzQ1XDM0NVwzNDVcMzc3XDM0M1wzNDNcMzQzXDM3N1wzMzFcMzMxXDMzMVwzNzdcMFwwXDBcMzc3XDM2MlwzNDZcMjY2IgorICAiXDM3N3t7e1wzNzdwS1w1XDM3N1wwXDBcMFwzNzdnZ2RcMzc3XDMxM1wzMTNcMzA3XDM3N1wzMTFcMzExXDMwN1wzNzciCisgICJcMzM0XDMzNFwzMzFcMzc3XDMzM1wzMzNcMzI3XDM3N1wzMzFcMzMxXDMyN1wzNzdcMzI3XDMyN1wzMjVcMzc3XDMzMSIKKyAgIlwzMzFcMzI3XDM3N1wzMjdcMzI3XDMyM1wzNzdcMjY0XDI2NFwyNjRcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM0MlwzNDJcMzQwXDM3N1wzNDVcMzQ1XDM0NFwzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3XDBcMFwwXDM3N1wzMzNcMzI1XDMwMVwzNzd+b1dcMzc3dVhcMFwzNzdcMFwwXDBcMzc3XDMzNCIKKyAgIlwzMzRcMzMxXDM3N1wzMzNcMzMzXDMzMVwzNzdcMzMzXDMzM1wzMjdcMzc3XDMzMVwzMzFcMzI1XDM3N1wzMjdcMzI3IgorICAiXDMyM1wzNzdcMzI1XDMyNVwzMjNcMzc3XDMyNVwzMjVcMzIxXDM3N1wzMjdcMzI3XDMyM1wzNzdcMzIwXDMyMFwzMTYiCisgICJcMzc3XDI3MlwyNzJcMjcwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzMzZcMzM2XDMzNFwzNzdcMzM1XDMzNVwzMzNcMzc3XDMyMVwzMjFcMzE3XDM3N1wxNlwxNlwxNiIKKyAgIlwzNzdTU1NcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMjE1XDIxNVwyMTNcMzc3XDMwNFwzMDRcMzAxXDM3N1wzMDRcMzA0IgorICAiXDI3N1wzNzdcMzAxXDMwMVwyNzRcMzc3XDMyNVwzMjVcMzIxXDM3N1wzMjVcMzI1XDMyMVwzNzdcMzIzXDMyM1wzMjAiCisgICJcMzc3XDMyMVwzMjFcMzIwXDM3N1wzMjNcMzIzXDMyMFwzNzdcMzIwXDMyMFwzMTZcMzc3XDI3MlwyNzJcMjcwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzMzRcMzM0IgorICAiXDMzM1wzNzdcMzQwXDM0MFwzMzRcMzc3XDMzNVwzMzVcMzMzXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDIxMVwyMTEiCisgICJcMjA3XDM3N1wzMTFcMzExXDMwNlwzNzdcMzE1XDMxNVwzMTJcMzc3XDMyMFwzMjBcMzE1XDM3N1wzMTZcMzE2XDMxMyIKKyAgIlwzNzdcMzIwXDMyMFwzMTVcMzc3XDMyMFwzMjBcMzE1XDM3N1wzMjBcMzIwXDMxNVwzNzdcMzIwXDMyMFwzMTVcMzc3IgorICAiXDMxN1wzMTdcMzE0XDM3N1wzMjBcMzIwXDMxNVwzNzdcMzIwXDMyMFwzMTRcMzc3XDI2NlwyNjZcMjY2XDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzMzNcMzMzXDMzMSIKKyAgIlwzNzdcMzI0XDMyNFwzMjBcMzc3XDMwM1wzMDNcMzAwXDM3N1tbW1wzNzdcMjIxXDIyMVwyMTVcMzc3XDIyMVwyMjFcMjE3IgorICAiXDM3N1wyMzdcMjM3XDIzNVwzNzdcMjU3XDI1N1wyNTRcMzc3XDI3MVwyNzFcMjY2XDM3N1wyNzZcMjc2XDI3M1wzNzciCisgICJcMzAzXDMwM1wzMDBcMzc3XDMwNVwzMDVcMzAyXDM3N1wzMTBcMzEwXDMwNVwzNzdcMzEyXDMxMlwzMDdcMzc3XDMxMyIKKyAgIlwzMTNcMzEwXDM3N1wzMTRcMzE0XDMxMVwzNzdcMzE0XDMxNFwzMTBcMzc3XDI2MlwyNjJcMjYyXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzMjJcMzIyXDMyMFwzNzdcMzIyIgorICAiXDMyMlwzMTdcMzc3XDMxN1wzMTdcMzE0XDM3N1wyNzdcMjc3XDI3NVwzNzdcMjM3XDIzN1wyMzRcMzc3XDIxMFwyMTAiCisgICJcMjA2XDM3N1wyMDdcMjA3XDIwNVwzNzdcMjE0XDIxNFwyMTJcMzc3XDIyNVwyMjVcMjIzXDM3N1wyMzRcMjM0XDIzMiIKKyAgIlwzNzdcMjUwXDI1MFwyNDVcMzc3XDI2MVwyNjFcMjU2XDM3N1wyNjVcMjY1XDI2M1wzNzdcMjczXDI3M1wyNzBcMzc3IgorICAiXDI3NlwyNzZcMjczXDM3N1wyNzdcMjc3XDI3NFwzNzdcMzAyXDMwMlwyNzZcMzc3XDI2MlwyNjJcMjYyXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzMjFcMzIxXDMxNiIKKyAgIlwzNzdcMzIwXDMyMFwzMTRcMzc3XDMxNFwzMTRcMzExXDM3N1wzMTdcMzE3XDMxNFwzNzdcMzAzXDMwM1wzMDBcMzc3IgorICAiXDI1NlwyNTZcMjUzXDM3N1wyMzVcMjM1XDIzMlwzNzdcMjI3XDIyN1wyMjRcMzc3XDIyN1wyMjdcMjI0XDM3N1wyMjQiCisgICJcMjI0XDIyMVwzNzdcMjMyXDIzMlwyMjdcMzc3XDIzN1wyMzdcMjM0XDM3N1wyNDNcMjQzXDI0MFwzNzdcMjUwXDI1MCIKKyAgIlwyNDVcMzc3XDI1MlwyNTJcMjQ3XDM3N1wyNjBcMjYwXDI1NFwzNzdcMjcwXDI3MFwyNjVcMzc3XDI2MFwyNjBcMjU2IgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzMjIiCisgICJcMzIyXDMxN1wzNzdcMzIxXDMyMVwzMTZcMzc3XDMyMVwzMjFcMzE2XDM3N1wzMjFcMzIxXDMxNlwzNzdcMzE3XDMxNyIKKyAgIlwzMTVcMzc3XDMxM1wzMTNcMzEwXDM3N1wyNzZcMjc2XDI3NFwzNzdcMjY0XDI2NFwyNjBcMzc3XDI1NFwyNTRcMjUwIgorICAiXDM3N1wyNDRcMjQ0XDI0MlwzNzdcMjQwXDI0MFwyMzRcMzc3XDI0MFwyNDBcMjM0XDM3N1wyNDRcMjQ0XDI0MFwzNzciCisgICJcMjQ0XDI0NFwyNDJcMzc3XDI1MFwyNTBcMjQ2XDM3N1wyNTNcMjUzXDI0N1wzNzdcMjYyXDI2MlwyNTZcMzc3XDI0NCIKKyAgIlwyNDRcMjQ0XDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzMjFcMzIxXDMyMFwzNzdcMzIxXDMyMVwzMTZcMzc3XDMyMFwzMjBcMzE2XDM3N1wzMTZcMzE2XDMxNFwzNzciCisgICJcMzE2XDMxNlwzMTJcMzc3XDMxNlwzMTZcMzEyXDM3N1wzMTRcMzE0XDMxMFwzNzdcMzA2XDMwNlwzMDJcMzc3XDI3NCIKKyAgIlwyNzRcMjcxXDM3N1wyNjNcMjYzXDI1N1wzNzdcMjY0XDI2NFwyNjBcMzc3XDI1M1wyNTNcMjUxXDM3N1wyNDZcMjQ2IgorICAiXDI0M1wzNzdcMjQwXDI0MFwyMzVcMzc3XDI0NlwyNDZcMjQzXDM3N1wyNTJcMjUyXDI0N1wzNzdcMjU0XDI1NFwyNTEiCisgICJcMzc3XDI0MVwyNDFcMjQxXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wyNjFcMjYxXDI1N1wzNzdcMjY0XDI2NFwyNjNcMzc3XDI2NFwyNjRcMjYxXDM3N1wyNjRcMjY0IgorICAiXDI2MVwzNzdcMjY0XDI2NFwyNjFcMzc3XDI2M1wyNjNcMjYxXDM3N1wyNjNcMjYzXDI2MVwzNzdcMjYyXDI2MlwyNTYiCisgICJcMzc3XDI1NlwyNTZcMjUyXDM3N1wyNDdcMjQ3XDI0NFwzNzdcMjQyXDI0MlwyNDBcMzc3XDI0NVwyNDVcMjQxXDM3NyIKKyAgIlwyNDVcMjQ1XDI0MVwzNzdcMjMxXDIzMVwyMjdcMzc3XDIyMlwyMjJcMjIwXDM3N1wyMjRcMjI0XDIyMFwzNzdcMjM1IgorICAiXDIzNVwyMzNcMzc3XDIwNVwyMDVcMjAzXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMHJcMFwwIgorICAiXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfbWFpbF9mb3J3YXJkKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbF9mb3J3YXJkW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19tYWlsX2ZvcndhcmRbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMSIKKyAgIlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwIgorICAiXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDIiCisgICJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwZlwwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwbVwwXDBcMFwxMFwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDM3NyIKKyAgIlNTU1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3NlwzNzZcMzc2XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNDNcMzQzXDM0M1wzNzdTU1NcMzc3XDBcMFwwXDM3N1wwXDBcMFwzMVwwIgorICAiXDBcMFwxMFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzU2XDM1NlwzNTZcMzc3T09PXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYyXDM2MiIKKyAgIlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNDNcMzQzXDM0M1wzNzciCisgICJPT09cMzc3XDI1NlwyNTZcMjU2XDM3N1wwXDBcMFwzNzdcMFwwXDAoXDBcMFwwXDE3XDBcMFwwXDJcMFwwXDBcMFwwXDAiCisgICJcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3N1wzNzVcMzc1XDM3NVwzNzciCisgICJcMzYzXDM2M1wzNjNcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MCIKKyAgIlwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTVcMzU1IgorICAiXDM1NVwzNzdcMzQzXDM0M1wzNDNcMzc3T09PXDM3N1wyNTRcMjU0XDI1NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwIgorICAiXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3T09PXDM3N1wzNzNcMzczXDM3M1wzNzdcMzYxXDM2MVwzNjFcMzc3IgorICAiXDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTUiCisgICJcMzU1XDM1NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM0M1wzNDNcMzQzXDM3N0NDQ1wzNzdcMjQwXDI0MFwyNDBcMzc3XDMyNCIKKyAgIlwzMjRcMzI0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwIgorICAiXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3M1wzNzNcMzczXDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM1N1wzNTdcMzU3XDM3NyIKKyAgIlwzNTZcMzU2XDM1NlwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNDNcMzQzXDM0M1wzNzdPT09cMzc3IgorICAiXDIyNVwyMjVcMjI1XDM3N1wzMjRcMzI0XDMyNFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3IgorICAiPj4+XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTRcMzU0XDM1NFwzNzciCisgICJcMzQzXDM0M1wzNDNcMzc3TU1NXDM3N1wyMDFcMjAxXDIwMVwzNzdcMzA2XDMwNlwzMDZcMzc3XDM0NFwzNDRcMzQ0XDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwIgorICAiXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzNcMzczXDM3M1wzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdqampcMzc3Q0NDXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzU0IgorICAiXDM1NFwzNTRcMzc3XDM0M1wzNDNcMzQzXDM3N09PT1wzNzdqampcMzc3XDMwNlwzMDZcMzA2XDM3N1wzMDZcMzA2XDMwNiIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDBcMFwwXDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMCIKKyAgIlwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3NyIKKyAgIlwzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3Y2NjXDM3N1wzNzdcMzc3XDM3N1wzNzdcMjcxXDI3MVwyNzFcMzc3IgorICAiT09PXDM3N1wzNjBcMzYwXDM2MFwzNzdPT09cMzc3XDIyNVwyMjVcMjI1XDM3N1wzMDZcMzA2XDMwNlwzNzdzc3NcMzc3IgorICAiXDMwNlwzMDZcMzA2XDM3N1wzNjVcMzY1XDM2NVwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDAiCisgICItXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzczXDM3MyIKKyAgIlwzNzNcMzc3XDM0NFwzNDRcMzQ0XDM3N2NjY1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0IgorICAiXDM0NFwzNzdcMzI0XDMyNFwzMjRcMzc3T09PXDM3N1wyNTRcMjU0XDI1NFwzNzdcMzA2XDMwNlwzMDZcMzc3XDM0NFwzNDQiCisgICJcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzd8fHxcMzc3XDM0NFwzNDRcMzQ0XDM3N1wwXDBcMFwzNzdbXDIxMFwyNjJcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNDRcMzQ0XDM0NFwzNzdzc3NcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wyMzZcMjcwXDMyMSIKKyAgIlwzNzdQXDIwMFwyNTVcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3fHx8XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMFwwIgorICAiXDBcMzc3XDI2NVwzMTFcMzM0XDM3N1wyNTdcMzA1XDMzMlwzNzdcMjYyXDMwN1wzMzNcMzc3XDI2NlwzMTJcMzM1XDM3NyIKKyAgIlwyNjZcMzEyXDMzNVwzNzdcMjY2XDMxMlwzMzVcMzc3XDI0NFwyNzVcMzI1XDM3N1wyMzRcMjY3XDMyMVwzNzdQXDIwMCIKKyAgIlwyNTVcMzc3XDEwXDE1XDIxXDM3N1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdzc3NcMzc3XDI3NFwyNzQiCisgICJcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NCIKKyAgIlwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMFwwXDBcMzc3XDIzM1wyNjYiCisgICJcMzIwXDM3N1wyNDBcMjcyXDMyM1wzNzdcMjM0XDI2N1wzMjFcMzc3XDIzNFwyNjdcMzIxXDM3N1wyMzNcMjY2XDMyMCIKKyAgIlwzNzdcMjMyXDI2NVwzMTdcMzc3XDI0MFwyNzJcMzIzXDM3N1wyMzRcMjY3XDMyMVwzNzdcMjI3XDI2M1wzMTZcMzc3IgorICAiX1wyMTNcMjY0XDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwyXDBcMFwwbVwwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMjIxXDI2MFwzMTRcMzc3XDIzNlwyNzBcMzIxXDM3N1wyMzJcMjY1XDMxN1wzNzdcMjMyXDI2NVwzMTciCisgICJcMzc3XDIzM1wyNjZcMzIwXDM3N1wyMzRcMjY3XDMyMVwzNzdcMjM0XDI2N1wzMjFcMzc3XDIzNFwyNjdcMzIxXDM3NyIKKyAgIlwyNDBcMjcyXDMyM1wzNzdcMjI1XDI2MlwzMTZcMzc3THlcMjQzXDM3N1wwXDBcMFwzNzdcMFwwXDBcMVwwXDBcMFwxMCIKKyAgIlwwXDBcMFwzMVwwXDBcMChcMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMCIKKyAgIlwwXDM3N0l0XDIzNFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlIgorICAiXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzcqQ1tcMzc3XDBcMFwwXDM3N1wwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwxMFwwXDBcMFwxNlwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMSIKKyAgIlwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwzNzdFb1wyMjZcMzc3N1l4XDM3NzdZeFwzNzc3WXhcMzc3IgorICAiN1l4XDM3NzdZeFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzcqQ1tcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDAiCisgICJcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1w3N2VcMjEwXDM3NypDW1wzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwzNzcqQ1tcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3IgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIn07CisKKworLyogR2RrUGl4YnVmIFJHQkEgQy1Tb3VyY2UgaW1hZ2UgZHVtcCAqLworCisjaWZkZWYgX19TVU5QUk9fQworI3ByYWdtYSBhbGlnbiA0IChzdG9ja19tYWlsX3JlY2VpdmUpCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19tYWlsX3JlY2VpdmVbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX21haWxfcmVjZWl2ZVtdID0gCisjZW5kaWYKK3sgIiIKKyAgLyogUGl4YnVmIG1hZ2ljICgweDQ3NjQ2YjUwKSAqLworICAiR2RrUCIKKyAgLyogbGVuZ3RoOiBoZWFkZXIgKDI0KSArIHBpeGVsX2RhdGEgKDIzMDQpICovCisgICJcMFwwXDExXDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDk2KSAqLworICAiXDBcMFwwYCIKKyAgLyogd2lkdGggKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBoZWlnaHQgKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDM3N1wzMTFcMzMzXDMwN1wzNzdcMzExXDMzMlwzMDdcMzc3XDMxMVwzMzJcMzA3XDM3N1wyMDFcMjMyeVwzNzciCisgICJYdU1cMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDI2MlwzMTFcMjYwXDM3N1wyNTFcMzA0XDI0N1wzNzdcMjU1XDMxMFwyNTMiCisgICJcMzc3W3lQXDM3N01nRFwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMjczXDMyMFwyNzFcMzc3XDI1NlwzMDdcMjU0XDM3NyIKKyAgIlwyNTZcMzA3XDI1NFwzNzdbeVBcMzc3TWdEXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDMyNFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wyNzFcMzE2XDI2NyIKKyAgIlwzNzdcMjU2XDMwN1wyNTRcMzc3XDI1MlwzMDdcMjUwXDM3N1t5UFwzNzdNZ0RcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzE1XDMzNlwzMTMiCisgICJcMzc3XDI2MVwzMTFcMjYwXDM3N1wyNjVcMzE2XDI2NVwzNzdcMjYwXDMxMVwyNjBcMzc3XDI1NVwzMDZcMjUzXDM3NyIKKyAgIlt5UFwzNzdbeVBcMzc3W3lQXDM3N01oRFwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwyXDAiCisgICJcMFwwXDJcMFwwXDBcMlwwXDBcMFwzNzdcMzE1XDMzNlwzMTNcMzc3XDI2NFwzMTNcMjYyXDM3N1wyNjNcMzEyXDI2MSIKKyAgIlwzNzdcMjU1XDMwNlwyNTNcMzc3W3lQXDM3N1t5UFwzNzdNaERcMzc3XDBcMFwwXDM3N1wwXDBcMFwyXDBcMFwwXDJcMCIKKyAgIlwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiZlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzMTVcMzM2IgorICAiXDMxM1wzNzdcMjUyXDMwN1wyNTBcMzc3XDI2MFwzMDdcMjU2XDM3N1t5UFwzNzdNaERcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwbVwwXDBcMFwxMFwwXDBcMCIKKyAgIlwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDM3N1NTU1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NlwzNzZcMzc2XDM3N1wwXDBcMFwzNzdcMzE1XDMzNiIKKyAgIlwzMTNcMzc3XDI1NVwzMTBcMjUzXDM3N1RxSlwzNzdcMFwwXDBcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjZcMzY2XDM2NiIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNDNcMzQzXDM0M1wzNzdTU1NcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzMVwwXDBcMFwxMFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzU2XDM1NlwzNTZcMzc3IgorICAiT09PXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjNcMzYzXDM2M1wzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDBcMFwwXDM3N1wzMTdcMzM3XDMxNFwzNzdcMFwwXDBcMzc3XDM2MFwzNjBcMzYwXDM3NyIKKyAgIlwzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNDNcMzQzXDM0M1wzNzdPT09cMzc3IgorICAiXDI1NlwyNTZcMjU2XDM3N1wwXDBcMFwzNzdcMFwwXDAoXDBcMFwwXDE3XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDAiCisgICJcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3N1wzNzVcMzc1XDM3NVwzNzdcMzYzXDM2MyIKKyAgIlwzNjNcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYxXDM2MVwzNjFcMzc3LS0tXDM3N1wzNTdcMzU3IgorICAiXDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzQzXDM0M1wzNDMiCisgICJcMzc3T09PXDM3N1wyNTRcMjU0XDI1NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjEiCisgICJcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0IgorICAiXDM0NFwzNDRcMzc3T09PXDM3N1wzNzNcMzczXDM3M1wzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjAiCisgICJcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU1XDM1NSIKKyAgIlwzNTVcMzc3XDM0M1wzNDNcMzQzXDM3N0NDQ1wzNzdcMjQwXDI0MFwyNDBcMzc3XDMyNFwzMjRcMzI0XDM3N1wzMTBcMzEwIgorICAiXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3M1wzNzNcMzczXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3NyIKKyAgIlwzNzBcMzcwXDM3MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU1IgorICAiXDM1NVwzNTVcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNDNcMzQzXDM0M1wzNzdPT09cMzc3XDIyNVwyMjVcMjI1XDM3N1wzMjQiCisgICJcMzI0XDMyNFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxIgorICAiXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NSIKKyAgIlwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3Pj4+XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzU2IgorICAiXDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTRcMzU0XDM1NFwzNzdcMzQzXDM0M1wzNDNcMzc3TU1NXDM3N1wyMDEiCisgICJcMjAxXDIwMVwzNzdcMzA2XDMwNlwzMDZcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMCIKKyAgIlwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzNcMzczXDM3M1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDQiCisgICJcMzQ0XDM0NFwzNzdqampcMzc3Q0NDXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzU0XDM1NFwzNTRcMzc3XDM0M1wzNDNcMzQzIgorICAiXDM3N09PT1wzNzdqampcMzc3XDMwNlwzMDZcMzA2XDM3N1wzMDZcMzA2XDMwNlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NCIKKyAgIlwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwIgorICAiXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3Y2NjXDM3N1wzNzdcMzc3XDM3N1wzNzdcMjcxXDI3MVwyNzFcMzc3T09PXDM3N1wzNjBcMzYwIgorICAiXDM2MFwzNzdPT09cMzc3XDIyNVwyMjVcMjI1XDM3N1wzMDZcMzA2XDMwNlwzNzdzc3NcMzc3XDMwNlwzMDZcMzA2XDM3NyIKKyAgIlwzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMCIKKyAgIlwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzczXDM3M1wzNzNcMzc3IgorICAiXDM0NFwzNDRcMzQ0XDM3N2NjY1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzciCisgICJcMzI0XDMyNFwzMjRcMzc3T09PXDM3N1wyNTRcMjU0XDI1NFwzNzdcMzA2XDMwNlwzMDZcMzc3XDM0NFwzNDRcMzQ0XDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzd8fHxcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNDRcMzQ0XDM0NFwzNzdzc3NcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0IgorICAiXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzciCisgICJ8fHxcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDAiCisgICJcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3fHx8XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NCIKKyAgIlwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0IgorICAiXDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzd8fHxcMzc3XDMxMFwzMTAiCisgICJcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3NyIKKyAgInNzc1wzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3IgorICAiXDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzQiCisgICJcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NCIKKyAgIlwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdjY2NcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwIgorICAiXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBtXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMjA3XDBcMFwwKFwwXDBcMFwxN1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwxMFwwXDBcMFwzMSIKKyAgIlwwXDBcMChcMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMCIKKyAgIi1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAoXDBcMFwwXDMxXDBcMFwwXDEwIgorICAiXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMTBcMFwwXDBcMTZcMFwwXDBcMjFcMFwwXDBcMjEiCisgICJcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDAiCisgICJcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMjFcMFwwXDBcMTZcMFwwXDBcMTBcMCIKKyAgIlwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFwyXDBcMFwwIgorICAiXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDAiCisgICJcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDFcMFwwXDBcMFwwXDBcMCIKKyAgIlwwIn07CisKKworLyogR2RrUGl4YnVmIFJHQkEgQy1Tb3VyY2UgaW1hZ2UgZHVtcCAqLworCisjaWZkZWYgX19TVU5QUk9fQworI3ByYWdtYSBhbGlnbiA0IChzdG9ja19tYWlsX3JlcGx5KQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbF9yZXBseVtdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbF9yZXBseVtdID0gCisjZW5kaWYKK3sgIiIKKyAgLyogUGl4YnVmIG1hZ2ljICgweDQ3NjQ2YjUwKSAqLworICAiR2RrUCIKKyAgLyogbGVuZ3RoOiBoZWFkZXIgKDI0KSArIHBpeGVsX2RhdGEgKDIzMDQpICovCisgICJcMFwwXDExXDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDk2KSAqLworICAiXDBcMFwwYCIKKyAgLyogd2lkdGggKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBoZWlnaHQgKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDAiCisgICJcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMiIKKyAgIlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwZlwwXDBcMCIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwbVwwXDBcMFwxMFwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwxXDBcMFwwXDM3N1NTU1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc0XDM3NFwzNzRcMzc3IgorICAiXDM3M1wzNzNcMzczXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjYiCisgICJcMzY2XDM2NlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNDNcMzQzXDM0M1wzNzdTU1NcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzMVwwXDBcMFwxMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzU2XDM1NiIKKyAgIlwzNTZcMzc3T09PXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYwXDM2MFwzNjAiCisgICJcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3NyIKKyAgIlwzNDNcMzQzXDM0M1wzNzdPT09cMzc3XDI1NlwyNTZcMjU2XDM3N1wwXDBcMFwzNzdcMFwwXDAoXDBcMFwwXDE3XDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3NyIKKyAgIlwzNzVcMzc1XDM3NVwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYxIgorICAiXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NlwzNTYiCisgICJcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzQzXDM0M1wzNDNcMzc3T09PXDM3N1wyNTRcMjU0XDI1NFwzNzdcMzEwXDMxMCIKKyAgIlwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3T09PXDM3N1wzNzNcMzczXDM3M1wzNzciCisgICJcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1NiIKKyAgIlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM0M1wzNDNcMzQzXDM3N0NDQ1wzNzdcMjQwIgorICAiXDI0MFwyNDBcMzc3XDMyNFwzMjRcMzI0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMSIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3M1wzNzNcMzczXDM3N1wzNjUiCisgICJcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNDNcMzQzIgorICAiXDM0M1wzNzdPT09cMzc3XDIyNVwyMjVcMjI1XDM3N1wzMjRcMzI0XDMyNFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTAiCisgICJcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0IgorICAiXDM0NFwzNDRcMzc3Pj4+XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTQiCisgICJcMzU0XDM1NFwzNzdcMzQzXDM0M1wzNDNcMzc3TU1NXDM3N1wyMDFcMjAxXDIwMVwzNzdcMzA2XDMwNlwzMDZcMzc3XDM0NCIKKyAgIlwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjEiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzNcMzczXDM3M1wzNzc9XDMyIgorICAiXDIzXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3ampqXDM3N0NDQ1wzNzdcMzYzXDM2M1wzNjNcMzc3IgorICAiXDM1NFwzNTRcMzU0XDM3N1wzNDNcMzQzXDM0M1wzNzdPT09cMzc3ampqXDM3N1wzMDZcMzA2XDMwNlwzNzdcMzA2XDMwNiIKKyAgIlwzMDZcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMC1cMFwwXDBcMjFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMzc3XDM0NFwzNDRcMzQ0XDM3N2NjY1wzNzdcMzc3XDM3N1wzNzdcMzc3XDI3MVwyNzFcMjcxXDM3NyIKKyAgIk9PT1wzNzdcMzYwXDM2MFwzNjBcMzc3T09PXDM3N1wyMjVcMjI1XDIyNVwzNzdcMzA2XDMwNlwzMDZcMzc3c3NzXDM3NyIKKyAgIlwzMDZcMzA2XDMwNlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMFwwXDBcMzc3XDM1MiIKKyAgIlwzMDBcMjcyXDM3N1wwXDBcMFwzNzdjY2NcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NCIKKyAgIlwzNDRcMzc3XDMyNFwzMjRcMzI0XDM3N09PT1wzNzdcMjU0XDI1NFwyNTRcMzc3XDMwNlwzMDZcMzA2XDM3N1wzNDRcMzQ0IgorICAiXDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3fHx8XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTAiCisgICJcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3NyIKKyAgIlwzNTJcMzAwXDI3MlwzNzdcMzM3XDIzNlwyMjVcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NSIKKyAgIlwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NFwzNDRcMzc3fHx8XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwIgorICAiXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNTIiCisgICJcMzAwXDI3MlwzNzdcMzQwXDI0MVwyMzBcMzc3XDM0MVwyNDVcMjM1XDM3N1wzNDJcMjQ3XDIzNlwzNzdcMzQzXDI1MyIKKyAgIlwyNDNcMzc3XDM0MlwyNDdcMjM2XDM3N1wzNDNcMjUyXDI0MlwzNzdcMzM3XDIzNlwyMjVcMzc3XDMxNGJTXDM3N1wwIgorICAiXDBcMFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDQiCisgICJcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzd8fHxcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDBcMFwwXDBcMzc3XDM1MlwzMDBcMjcyXDM3N1wzMzVcMjI3XDIxNVwzNzdcMzM3IgorICAiXDIzN1wyMjdcMzc3XDMzN1wyMzZcMjI1XDM3N1wzMzZcMjMyXDIyMFwzNzdcMzM1XDIyNlwyMTRcMzc3XDMzNVwyMjYiCisgICJcMjE0XDM3N1wzMzZcMjMyXDIyMFwzNzdcMzM1XDIyNFwyMTJcMzc3XDI2MUM0XDM3N1wwXDBcMFwzNzdcMjc0XDI3NCIKKyAgIlwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0IgorICAiXDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3Y2NjXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxIgorICAiQ1wzMVwyM1wzNzdcMzUyXDMwMlwyNzRcMzc3XDMzNlwyMzJcMjIwXDM3N1wzMzdcMjM0XDIyMlwzNzdcMzM1XDIzMVwyMTciCisgICJcMzc3XDMzNVwyMzFcMjE3XDM3N1wzMzVcMjI3XDIxNVwzNzdcMzM2XDIzMlwyMjBcMzc3XDMzNlwyMzJcMjIwXDM3NyIKKyAgIlwzMzZcMjMyXDIyMFwzNzdcMzM2XDIzMlwyMjBcMzc3XDI2NUU1XDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMFwyMDdcMFwwXDAoXDBcMFwwXDE3XDBcMFwwXDBcMFwwXDBcMzc3ZSZcMzVcMzc3XDIzMDosXDM3N1wyMzA6LFwzNzciCisgICJcMjMwOixcMzc3XDIzMDosXDM3N1wyMzA6LFwzNzdcMjMwOixcMzc3XDIzMDosXDM3N1wyMzA6LFwzNzd8LyRcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMCIKKyAgIlwwKFwwXDBcMFwzMVwwXDBcMFwxMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3ZSZcMzVcMzc3XDIzMDosXDM3N1wyMzAiCisgICI6LFwzNzdjJVwzNVwzNzdjJVwzNVwzNzdjJVwzNVwzNzdjJVwzNVwzNzdjJVwzNVwzNzdsKVwzN1wzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwXDIxXDBcMFwwIgorICAiXDIxXDBcMFwwXDE2XDBcMFwwXDEwXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3ZSZcMzUiCisgICJcMzc3XDIzMDosXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwIgorICAiXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMzc3ZSZcMzVcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX21haWxfc2VuZCkKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX21haWxfc2VuZFtdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWFpbF9zZW5kW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwT1w3N1wxMlwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzciCisgICJcMzY0XDM0NlwyNjVcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM2NFwzNDUiCisgICJcMjYzXDM3N1wzNTVcMzI2XDIwNFwzNzd1X1wyMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNjRcMzQ1IgorICAiXDI2M1wzNzdcMzU1XDMyNVwyMDBcMzc3XDM1NlwzMjZcMjA1XDM3N1wyNTdcMjE1XDMwXDM3N3VfXDIwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwzNzdcMzY0XDM0NVwyNjNcMzc3XDM1N1wzMzFcMjE0XDM3N1wzNTZcMzMwXDIxM1wzNzdcMzU1XDMyNVwyMDIiCisgICJcMzc3XDI1N1wyMTVcMzBcMzc3XDI1N1wyMTVcMzBcMzc3dV9cMjBcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMVwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMzc3XDM2NFwzNDVcMjYzXDM3N1wzNTZcMzMwXDIxMVwzNzciCisgICJcMzU3XDMzMlwyMjJcMzc3XDM1NlwzMzBcMjExXDM3N1wzNTVcMzI1XDIwMlwzNzdcMjU3XDIxNVwzMFwzNzdcMjU3XDIxNSIKKyAgIlwzMFwzNzdcMjU3XDIxNVwzMFwzNzd1X1wyMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMCIKKyAgIlwwXDJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwZlwwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNjBcMzMzXDIyM1wzNzdcMzU1XDMyNlwyMDQiCisgICJcMzc3XDM1NVwzMjVcMjAwXDM3N1wyNTdcMjE1XDMwXDM3N3NdXDIwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMG1cMFwwXDBcMTBcMFwwXDBcMlwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwzNzdTU1NcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wwXDBcMFwzNzdcMzYwXDMzNFwyMjdcMzc3XDM1NVwzMjZcMjA0XDM3NyIKKyAgIlwzNTVcMzI2XDIwNFwzNzdcMjU3XDIxNVwzMFwzNzdzXVwyMFwzNzdcMFwwXDBcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjUiCisgICJcMzY1XDM2NVwzNzdcMzY0XDM2NFwzNjRcMzc3XDM0M1wzNDNcMzQzXDM3N1NTU1wzNzdcMFwwXDBcMzc3XDBcMFwwXDMxIgorICAiXDBcMFwwXDEwXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNTZcMzU2XDM1NlwzNzdPT09cMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY0XDM2NFwzNjRcMzc3XDBcMFwwXDM3N1wzNTZcMzMwXDIxMVwzNzciCisgICJcMzU1XDMyM3xcMzc3XDM1NVwzMjZcMjA0XDM3N1wyNTdcMjE1XDMwXDM3N3NdXDIwXDM3N1wwXDBcMFwzNzdcMzU2XDM1NiIKKyAgIlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNDNcMzQzXDM0M1wzNzdPT09cMzc3XDI1NlwyNTZcMjU2XDM3N1wwXDBcMCIKKyAgIlwzNzdcMFwwXDAoXDBcMFwwXDE3XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3Q0NDXDM3N1wzNzVcMzc1XDM3NVwzNzdcMzYzXDM2M1wzNjNcMzc3XDBcMFwwXDM3N1wzNDQiCisgICJcMjc3PVwzNzdcMzEzXDI0NFwzNFwzNzdcMzIxXDI1MFwzNFwzNzdcMjIwdFwyM1wzNzd8ZFwyMVwzNzdcMFwwXDBcMzc3IgorICAiXDM1NVwzNTVcMzU1XDM3N1wzNDNcMzQzXDM0M1wzNzdPT09cMzc3XDI1NFwyNTRcMjU0XDM3N1wzMTBcMzEwXDMxMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdPT09cMzc3XDM3M1wzNzNcMzczXDM3N1wwXDBcMCIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMzQzIgorICAiXDM0M1wzNDNcMzc3Q0NDXDM3N1wyNDBcMjQwXDI0MFwzNzdcMzI0XDMyNFwzMjRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzczXDM3M1wzNzNcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdDQ0NcMzc3XDM3MFwzNzBcMzcwIgorICAiXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzciCisgICJcMzU0XDM1NFwzNTRcMzc3XDM0M1wzNDNcMzQzXDM3N09PT1wzNzdcMjI1XDIyNVwyMjVcMzc3XDMyNFwzMjRcMzI0XDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwIgorICAiXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzc+Pj5cMzc3XDM2NVwzNjVcMzY1XDM3N1wzNTZcMzU2XDM1NiIKKyAgIlwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNDNcMzQzXDM0M1wzNzdNTU1cMzc3XDIwMVwyMDFcMjAxIgorICAiXDM3N1wzMDZcMzA2XDMwNlwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3M1wzNzNcMzczXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0IgorICAiXDM3N2pqalwzNzdDQ0NcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzQzXDM0M1wzNDNcMzc3T08iCisgICJPXDM3N2pqalwzNzdcMzA2XDMwNlwzMDZcMzc3XDMwNlwzMDZcMzA2XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzQ0XDM0NCIKKyAgIlwzNDRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDBcMFwwIgorICAiXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDQiCisgICJcMzQ0XDM0NFwzNzdjY2NcMzc3XDM3N1wzNzdcMzc3XDM3N1wyNzFcMjcxXDI3MVwzNzdPT09cMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N09PT1wzNzdcMjI1XDIyNVwyMjVcMzc3XDMwNlwzMDZcMzA2XDM3N3Nzc1wzNzdcMzA2XDMwNlwzMDZcMzc3XDM2NSIKKyAgIlwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzEwXDMxMFwzMTBcMzc3XDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjEiCisgICJcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzNcMzczXDM3M1wzNzdcMzQ0IgorICAiXDM0NFwzNDRcMzc3Y2NjXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMjQiCisgICJcMzI0XDMyNFwzNzdPT09cMzc3XDI1NFwyNTRcMjU0XDM3N1wzMDZcMzA2XDMwNlwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NCIKKyAgIlwzNDRcMzQ0XDM3N3x8fFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzMTBcMzEwXDMxMFwzNzdcMCIKKyAgIlwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM0NFwzNDRcMzQ0XDM3N3Nzc1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NSIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3IgorICAiXDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N3x8fFwzNzciCisgICJcMzQ0XDM0NFwzNDRcMzc3XDMxMFwzMTBcMzEwXDM3N1wwXDBcMFwzNzdcMFwwXDAtXDBcMFwwXDIxXDBcMFwwXDJcMCIKKyAgIlwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzd8fHxcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNDRcMzQ0IgorICAiXDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDQiCisgICJcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NFwzNDRcMzQ0XDM3N3x8fFwzNzdcMzEwXDMxMFwzMTBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMC1cMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMzc3c3NzXDM3N1wyNzQiCisgICJcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NCIKKyAgIlwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0IgorICAiXDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N1wyNzRcMjc0XDI3NFwzNzciCisgICJcMjc0XDI3NFwyNzRcMzc3XDI3NFwyNzRcMjc0XDM3N2NjY1wzNzdcMFwwXDBcMzc3XDBcMFwwLVwwXDBcMFwyMVwwXDAiCisgICJcMFwyXDBcMFwwXDBcMFwwXDBcMlwwXDBcMG1cMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMDciCisgICJcMFwwXDAoXDBcMFwwXDE3XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDEwXDBcMFwwXDMxXDBcMFwwKFwwXDAiCisgICJcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMC1cMCIKKyAgIlwwXDAtXDBcMFwwLVwwXDBcMC1cMFwwXDAtXDBcMFwwLVwwXDBcMChcMFwwXDBcMzFcMFwwXDBcMTBcMFwwXDBcMVwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwxMFwwXDBcMFwxNlwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwIgorICAiXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMSIKKyAgIlwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwyMVwwXDBcMFwxNlwwXDBcMFwxMFwwXDBcMFwyXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDAiCisgICJcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMCIKKyAgIlwyXDBcMFwwXDJcMFwwXDBcMlwwXDBcMFwyXDBcMFwwXDJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX21lbnVfYWJvdXQpCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19tZW51X2Fib3V0W10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19tZW51X2Fib3V0W10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMTAyNCkgKi8KKyAgIlwwXDBcNFwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg2NCkgKi8KKyAgIlwwXDBcMEAiCisgIC8qIHdpZHRoICgxNikgKi8KKyAgIlwwXDBcMFwyMCIKKyAgLyogaGVpZ2h0ICgxNikgKi8KKyAgIlwwXDBcMFwyMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAhXCJcMTBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBMTlwyM2xcMFwwXDBcMzc3XDI1XDI2XDYjXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDExXDBcMFwwXDM3N1wzNTZcMzY2PlwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIwXDIxXDRcN2RnXDMyIgorICAieFwwXDBcMFwzNzdcMFwwXDBcMzc3XDM1MlwzNjE9XDM3N1wzNjBcMzcwXDc3XDM3N1wzMTNcMzIyNVwzNzBcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N0pMXDIza1wwXDBcMFwwXDIwXDIxXDRcMGRnXDMyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMzRcMzVcN1wwXDBcMFwwXDM3N1wzNjBcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNjAiCisgICJcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNTFcMzYwPVwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzdcMzdcMTAlXDBcMFwwIgorICAiXDM3N1wzNjBcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNjBcMzcwXDc3XDM3N1wzNDUiCisgICJcMzU0PFwzNzdcMFwwXDBcMzc3XDVcNVwxXDdcMFwwXDBcMFwwXDBcMFwwXDM3XDM3XDEwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNTBcMzYwPVwzNzdcMzYwXDM3MFw3N1wzNzdcMzYwIgorICAiXDM3MFw3N1wzNzdcMzYwXDM3MFw3N1wzNzdcMjUzXDI2MC1cMzcyXDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzYwXDM3MCIKKyAgIlw3N1wzNzdcMzU0XDM2Mz5cMzc3XDBcMFwwXDM3N1wzNTdcMzY3XDc3XDM3N1wzMTZcMzI2NlwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDM3N1wyNjRcMjcyL1wzNjNcMFwwXDBcMzc3XDMwXDMwXDZcNzdcMFwwXDBcMzc3XDMxNVwzMjQ1XDM3NSIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMzZcMzdcMTBnXDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzciCisgICJcMjZcMjdcNUZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfbWVudV9ibGFuaykKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX21lbnVfYmxhbmtbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX21lbnVfYmxhbmtbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgxMDI0KSAqLworICAiXDBcMFw0XDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDY0KSAqLworICAiXDBcMFwwQCIKKyAgLyogd2lkdGggKDE2KSAqLworICAiXDBcMFwwXDIwIgorICAvKiBoZWlnaHQgKDE2KSAqLworICAiXDBcMFwwXDIwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX3Njb3JlcykKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3Njb3Jlc1tdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfc2NvcmVzW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzXDBcMFwwXDRcMFwwXDBcNFwwXDBcMFw0XDBcMCIKKyAgIlwwXDNcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDIxNVwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDIyN1wwXDBcMFwyMlwwXDBcMFw2XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzQxXDM0MVwzNDFcMzc3XDBcMFwwXDM3N1wwXDBcMCIiMlwwXDBcMFwyMlwwXDBcMFwyXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM1MyIKKyAgIlwzNTNcMzUzXDM3N1wwXDBcMFwzNzdcMzU1XDM1NVwzNTVcMzc3XDMyMlwzMjJcMzIyXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBMXDBcMFwwXDM0XDBcMFwwXDRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0XDBcMCIKKyAgIlwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNTZcMzU2XDM1NlwzNzdcMzIyXDMyMlwzMjIiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMFRcMFwwXDBcNDBcMFwwXDBcNFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcM1wwIgorICAiXDBcMFw0XDBcMFwwXDEwXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzU1XDM1NVwzNTVcMzc3XDBcMFwwXDM3N1wzNTciCisgICJcMzU3XDM1N1wzNzdcMzIzXDMyM1wzMjNcMzc3XDBcMFwwXDM3N1wwXDBcMFVcMFwwXDBcNDBcMFwwXDBcNFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwyMTVcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzU2XDM1NlwzNTZcMzc3XDBcMFwwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzI0XDMyNFwzMjRcMzc3XDBcMFwwIgorICAiXDM3N1wwXDBcMFdcMFwwXDAkXDBcMFwwXDEwXDBcMFwwXDRcMFwwXDBcM1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzMjVcMzI1XDMyNVwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMDVcMFwwXDBcMjBcMFwwXDBcNVwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wwXDBcMFwzNzdcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjFcMzYxIgorICAiXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIjFcMFwwXDBcMjFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0XDBcMFwwXDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NFwzNTRcMzU0XDM3N1wwXDBcMFwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0IgorICAiXDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDMzM1wzMzNcMzMzXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBLXDBcMFwwXDM0XDBcMFwwXDRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNFwwIgorICAiXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDM1N1wzNTdcMzU3XDM3NyIKKyAgIlwzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY1IgorICAiXDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDBcMFwwXDM3NyIKKyAgIlwzMzRcMzM0XDMzNFwzNzdcMFwwXDBcMzc3XDBcMFwwVFwwXDBcMFw0MFwwXDBcMFw0XDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDRcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wwXDBcMFwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMzM1XDMzNVwzMzVcMzc3XDBcMFwwXDM3N1wwXDBcMFVcMFwwXDBcNDBcMCIKKyAgIlwwXDBcNFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2MyIKKyAgIlwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3IgorICAiXDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMFwwXDBcMzc3XDMzNlwzMzZcMzM2XDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBVXDBcMFwwXDQwXDBcMFwwXDRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNFwwXDBcMFwzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjIiCisgICJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NiIKKyAgIlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzMzciCisgICJcMzM3XDMzN1wzNzdcMFwwXDBcMzc3XDBcMFwwVVwwXDBcMFw0MFwwXDBcMFw0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDRcMFwwXDBcMzc3XDM0MVwzNDFcMzQxXDM3N1wzMjNcMzIzXDMyM1wzNzdcMzI0XDMyNFwzMjRcMzc3IgorICAiXDMyNVwzMjVcMzI1XDM3N1wzMjZcMzI2XDMyNlwzNzdcMzI3XDMyN1wzMjdcMzc3XDMzMFwzMzBcMzMwXDM3N1wzMzEiCisgICJcMzMxXDMzMVwzNzdcMzMxXDMzMVwzMzFcMzc3XDMzMlwzMzJcMzMyXDM3N1wzMzNcMzMzXDMzM1wzNzdcMzM0XDMzNCIKKyAgIlwzMzRcMzc3XDMzNVwzMzVcMzM1XDM3N1wzMzdcMzM3XDMzN1wzNzdcMzQwXDM0MFwzNDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFRcMFwwXDBcNDBcMFwwXDBcNFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0XDBcMFwwXDI1NFwwXDAiCisgICJcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMCIKKyAgIlwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwyNzNcMFwwXDBMXDBcMFwwXDM0XDBcMFwwXDRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMlwwXDBcMFwyM1wwXDBcMCIiNVwwXDBcME1cMFwwXDBUXDBcMFwwVVwwXDBcMFVcMFwwXDBVXDBcMFwwVSIKKyAgIlwwXDBcMFVcMFwwXDBVXDBcMFwwVVwwXDBcMFVcMFwwXDBVXDBcMFwwVVwwXDBcMFVcMFwwXDBUXDBcMFwwTFwwXDBcMCIKKyAgIjJcMFwwXDBcMjJcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDZcMFwwXDBcMjNcMCIKKyAgIlwwXDBcMzVcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDAiCisgICJcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcNDBcMFwwXDBcMzdcMFwwXDBcMzRcMFwwXDAiCisgICJcMjJcMFwwXDBcNlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyXDAiCisgICJcMFwwXDNcMFwwXDBcNFwwXDBcMFw0XDBcMFwwXDRcMFwwXDBcNFwwXDBcMFw0XDBcMFwwXDRcMFwwXDBcNFwwXDBcMCIKKyAgIlw0XDBcMFwwXDRcMFwwXDBcNFwwXDBcMFw0XDBcMFwwXDRcMFwwXDBcNFwwXDBcMFwzXDBcMFwwXDJcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX21pYykKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX21pY1tdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbWljW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwPFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwPFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwPFJSUlwzNzdcMzMyIgorICAiXDMzMlwzMzNcMzc3XDM3MlwzNzJcMzczXDM3N1wzNjFcMzYxXDM2M1wzNzdcMzcwXDM3MFwzNzFcMzc3XDMzNVwzMzQiCisgICJcMzM1XDM3N1wwXDBcMFwzNzdcMFwwXDBFXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDM3N1wzMzJcMzMxXDMzMlwzNzdcMzYzXDM2MlwzNjVcMzc3XDMyNlwzMjVcMzM0XDM3N1wzNTAiCisgICJcMzUwXDM1M1wzNzdcMjY3XDI2NVwyNzVcMzc3XDMyNFwzMjJcMzI3XDM3N2lmbFwzNzdcMFwwXDBcMzc3XDBcMFwwXDEzIgorICAiXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzcyXDM3MlwzNzNcMzc3IgorICAiXDMzNFwzMzRcMzQyXDM3N1wzNTRcMzUzXDM1NlwzNzdcMzAxXDI3N1wzMDdcMzc3XDMzMFwzMjZcMzMzXDM3N1wyMjAiCisgICJcMjE3XDIyNlwzNzdcMjE0XDIxMlwyMTdcMzc3XDBcMFwwXDM3N1wwXDBcMFwyNlwwXDBcMFw0XDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM2M1wzNjFcMzY0XDM3N1wzNTdcMzU3XDM2MlwzNzdcMzEyIgorICAiXDMwN1wzMjFcMzc3XDMzN1wzMzZcMzQzXDM3N1wyMzVcMjM0XDI0NFwzNzdcMjc1XDI3M1wzMDFcMzc3Q0JGXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzFcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwSVwwXDBcMF1cMFwwXDBcMVwwXDBcMFwzNzciCisgICJcMzcyXDM3MlwzNzJcMzc3XDMyNFwzMjJcMzMxXDM3N1wzNTBcMzQ2XDM1M1wzNzdcMjYxXDI2MFwyNzJcMzc3XDMxMSIKKyAgIlwzMDdcMzE2XDM3N3RxelwzNzdxcHZcMzc3XDBcMFwwXDM3N1wwXDBcMFwzMVwwXDBcMF9cMFwwXDBKXDBcMFwwXDFcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXVwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNjFcMzYwXDM2M1wzNzdcMzU1XDM1NFwzNjBcMzc3XDMwM1wzMDEiCisgICJcMzEyXDM3N1wzMzBcMzI2XDMzNVwzNzdcMjE0XDIxMVwyMjVcMzc3XDI1MFwyNDZcMjU3XDM3NzIyNlwzNzdcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBiXDBcMFwwXDdcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMzc3XDBcMFwwXDI2XDBcMFwwXDM3NyIKKyAgIlwzNzFcMzcxXDM3MlwzNzdcMzE3XDMxNlwzMjZcMzc3XDM0NFwzNDJcMzQ3XDM3N1wyNTBcMjQ3XDI2MVwzNzdcMzAzIgorICAiXDMwMVwzMTBcMzc3ZWJsXDM3N2FhZVwzNzdcMFwwXDBcMzc3XDBcMFwwXDM0XDBcMFwwXDM3N1wwXDBcMFwyN1wwXDAiCisgICJcMFwxMlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMjVcMFwwXDBcMzc3XDM2MFwzNTZcMzYxXDM3N1wzNTNcMzUyXDM1NlwzNzciCisgICJcMjc2XDI3M1wzMDZcMzc3XDMyNVwzMjRcMzMyXDM3N1wyMDRcMjAwXDIxNFwzNzdcMjM2XDIzNVwyNDZcMzc3LSwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzJcMFwwXDBcMzc3XDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDBcMFwwXDI0IgorICAiXDBcMFwwXDM3N1wzNzBcMzcwXDM3MVwzNzdcMzEyXDMwN1wzMjFcMzc3XDMzN1wzMzZcMzQyXDM3N1wyMzRcMjMyXDI0NCIKKyAgIlwzNzdcMjcwXDI2NlwyNzZcMzc3WVdfXDM3N11bYVwzNzdcMFwwXDBcMzc3XDBcMFwwXDMxXDBcMFwwXDM3N1wwXDBcMCIKKyAgIlwyNFwwXDBcMFw1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wwXDBcMFwyNFwwXDBcMFwzNzdcMzU0XDM1MlwzNTVcMzc3XDM0M1wzNDJcMzQ2IgorICAiXDM3N1wyNTBcMjQ3XDI2MFwzNzdcMzA3XDMwNVwzMTRcMzc3cnF4XDM3N1wyMjJcMjIwXDIzMVwzNzcoJipcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzMVwwXDBcMFwzNzdcMFwwXDBcMjRcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMjRcMCIKKyAgIlwwXDBcMzc3XDM1MFwzNDdcMzUyXDM3N1wyNjVcMjYzXDI3MlwzNzdcMzE0XDMxNFwzMjJcMzc3XDIwNVwyMDRcMjEyIgorICAiXDM3N1wyNDVcMjQ0XDI1M1wzNzdKSU9cMzc3TUxRXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzFcMFwwXDBcMzc3XDBcMFwwIgorICAiXDI0XDBcMFwwXDVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDBcMFwwXDI0XDBcMFwwQ1wwXDBcMFwzNzdcMjA2XDIwNFwyMTBcMzc3NzYiCisgICI6XDM3N2FhY1wzNzckIyZcMzc3RERJXDM3N1wwXDBcMFwzNzdcMFwwXDBcMjMyXDBcMFwwXDMwXDBcMFwwXDM3N1wwXDAiCisgICJcMFwyNFwwXDBcMFw1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wwXDBcMFwyNFwwXDBcMFw2XDBcMFwwRFwwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDIzMlwwXDBcMFwzMlwwXDBcMFwxN1wwXDBcMFwzNzciCisgICJcMFwwXDBcMjRcMFwwXDBcNVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMGtcMFwwXDBcMjA2XDBcMFwwXDZcMFwwXDBcM1wwXDBcMFwxM1wwXDBcMCIKKyAgIlwyNlwwXDBcMHtcMFwwXDBcMzJcMFwwXDBcMzFcMFwwXDBcMjdcMFwwXDBcMTdcMFwwXDBcMjAwXDBcMFwwbVwwXDBcMCIKKyAgIlwyMlwwXDBcMFw0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBvXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwbVwwXDBcMFwxM1wwIgorICAiXDBcMFwxM1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMFwxM1wwXDBcMFwyMlwwXDBcMFwyNEtLS1wzNzciCisgICJhYWFcMzc3XDBcMFwwXDM3N1wwXDBcMFwzMFwwXDBcMFwyNVwwXDBcMFwyNFwwXDBcMFwyMlwwXDBcMFwxM1wwXDBcMCIKKyAgIlwzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcNFwwXDBcMFw1S0tLXDM3N1wxNzdcMTc3IgorICAiXDE3N1wzNzdcMFwwXDBcMzc3XDBcMFwwbVwwXDBcMDtcMFwwXDBcNlwwXDBcMFw1XDBcMFwwXDJcMFwwXDBcMzNcMFwwIgorICAiXDBdXDBcMFwwXDM0XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBLS0tcMzc3XDE3N1wxNzdcMTc3XDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzJcMFwwXDBcMTJcMFwwXDBMXDBcMFwwXDJcMFwwXDBcMFwwXDBcMElcMFwwXDBcNFwwIgorICAiXDBcME1cMFwwXDBcMzdcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIiIzXDQwXDQwXDQwXDM3N2hoaFwzNzdcMFwwXDAiCisgICJcMzc3XDBcMFwwR1wwXDBcMFw3XDBcMFwwXDJcMFwwXDBrXDBcMFwwXVwwXDBcMFwyXDBcMFwwXDVcMFwwXDBcM1wwXDAiCisgICJcMGxcMFwwXDBcNFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXFxcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdnZFtcMzc3XDBcMFwwXDM3N1ZSSFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBgXDBcMFwwIgorICAiXDJcMFwwXDBvXDBcMFwwXDdcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzM1wzM1wzM1wzNzdcMjU3XDI1NSIKKyAgIlwyNTFcMzc3XDIwNVwyMDJ7XDM3N3d0bFwzNzdWUkhcMzc3VlJIXDM3N1ZSSFwzNzdWUkhcMzc3VlJIXDM3N1ZSSFwzNzciCisgICJWUkhcMzc3VlJIXDM3N1ZSSFwzNzdMSUBcMzc3OzoyXDM3N1w0MFwzN1wzMlwzNzdcMFwwXDBcMzc3XDBcMFwwXDE0XDAiCisgICJcMFwwXDM3XDBcMFwwXDdcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDI3XDBcMFwwXDVcMFwwXDBLXDBcMFwwV1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFw0XDBcMFwwXDI1XDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDAiCisgICJcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxXDBcMFwwXDMxIgorICAiXDBcMFwwXDMxXDBcMFwwXDI1XDBcMFwwXDRcMFwwXDBcMVwwXDBcMFw1In07CisKKworLyogR2RrUGl4YnVmIFJHQkEgQy1Tb3VyY2UgaW1hZ2UgZHVtcCAqLworCisjaWZkZWYgX19TVU5QUk9fQworI3ByYWdtYSBhbGlnbiA0IChzdG9ja19tdWx0aXBsZV9maWxlKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbXVsdGlwbGVfZmlsZVtdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbXVsdGlwbGVfZmlsZVtdID0gCisjZW5kaWYKK3sgIiIKKyAgLyogUGl4YnVmIG1hZ2ljICgweDQ3NjQ2YjUwKSAqLworICAiR2RrUCIKKyAgLyogbGVuZ3RoOiBoZWFkZXIgKDI0KSArIHBpeGVsX2RhdGEgKDQwOTYpICovCisgICJcMFwwXDIwXDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDEyOCkgKi8KKyAgIlwwXDBcMFwyMDAiCisgIC8qIHdpZHRoICgzMikgKi8KKyAgIlwwXDBcMFw0MCIKKyAgLyogaGVpZ2h0ICgzMikgKi8KKyAgIlwwXDBcMFw0MCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzM1wwXDBcMFwxNFwwXDBcMFwyXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQwXDM0MFwzNDBcMzc3IgorICAiXDMwMVwzMDFcMzAxXDM3N1wwXDBcMFwzNzdcMFwwXDArXDBcMFwwXDE2XDBcMFwwXDNcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwLVwwIgorICAiXDBcMFwxNlwwXDBcMFwzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM0MFwzNDBcMzQwXDM3N1wzMDFcMzAxXDMwMVwzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiLVwwXDBcMFwxNlwwXDBcMFwzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzczXDM3M1wzNzNcMzc3IgorICAiXDM3MlwzNzJcMzcxXDM3N1wzMDNcMzAzXDMwM1wzNzdcMzczXDM3M1wzNzNcMzc3XDI1MFwyNTBcMjUwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDAtXDBcMFwwXDIwXDBcMFwwXDZcMFwwXDBcNFwwXDBcMFwzXDBcMFwwXDFcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDMzXDBcMFwwXDE0XDBcMFwwXDJcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wwXDBcMFwzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQwXDM0MFwzNDBcMzc3XDMwMVwzMDEiCisgICJcMzAxXDM3N1wwXDBcMFwzNzdcMFwwXDArXDBcMFwwXDE2XDBcMFwwXDNcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcyIgorICAiXDM3MlwzNzFcMzc3XDMwM1wzMDNcMzAzXDM3N1wzNzNcMzczXDM3M1wzNzdcMjUwXDI1MFwyNTBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMC1cMFwwXDBcMTZcMFwwXDBcM1wwXDBcMFwwXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzIxXDMyMVwzMjFcMzc3IgorICAiXDI1MlwyNTJcMjUyXDM3N1wzMjNcMzIzXDMyM1wzNzdcMzc3XDM3N1wzNzdcMzc3XDMyM1wzMjNcMzIzXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMjUyXDI1MlwyNTJcMzc3XDI1MlwyNTJcMjUyXDM3N1wzNzVcMzc1XDM3NVwzNzdcMzIwXDMyMCIKKyAgIlwzMjBcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzFcMzcxXDM3MFwzNzdcMzY3XDM2N1wzNjZcMzc3XDI1NVwyNTVcMjU1IgorICAiXDM3N3Z2dlwzNzddXV1cMzc3QEBAXDM3N1wwXDBcMFwzNzdcMFwwXDArXDBcMFwwXDE0XDBcMFwwXDBcMFwwXDBcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NFwzNzRcMzc0XDM3N1wwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzc0XDM3NFwzNzRcMzc3IgorICAiXDM3M1wzNzNcMzcyXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2NlwzNjZcMzY1XDM3N1wzNjQiCisgICJcMzY0XDM2NFwzNzdcMzQyXDM0MlwzNDJcMzc3XDIwNVwyMDVcMjA1XDM3N0tLSVwzNzdcMjZcMjZcMjZcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcME5cMFwwXDBcMzNcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc2XDM3NlwzNzZcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzNcMzczXDM3MlwzNzdcMzcxXDM3MSIKKyAgIlwzNzFcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDI1MlwyNTJcMjUyXDM3N1wyNzEiCisgICJcMjcxXDI3MVwzNzdcMzIzXDMyM1wzMjNcMzc3XDMyM1wzMjNcMzIzXDM3N1wzNzZcMzc2XDM3NlwzNzdcMjUwXDI1MCIKKyAgIlwyNTBcMzc3XDIzNlwyMzZcMjM2XDM3N1wyMzVcMjM1XDIzNVwzNzdcMjQ1XDI0NVwyNDRcMzc3XDM2NlwzNjZcMzY2IgorICAiXDM3N1wyNDNcMjQzXDI0MlwzNzdcMzExXDMxMVwzMTBcMzc3XDM2MlwzNjJcMzYxXDM3N1wzNjBcMzYwXDM1N1wzNzciCisgICJcMzU2XDM1NlwzNTVcMzc3XDM1NVwzNTVcMzUzXDM3N1wyMzVcMjM1XDIzNVwzNzdcMFwwXDBcMzc3XDBcMFwwXVwwXDAiCisgICJcMCNcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzczXDM3MyIKKyAgIlwzNzNcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM2N1wzNzdcMzY2XDM2NlwzNjZcMzc3XDBcMFwwXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcyXDM3MlwzNzFcMzc3XDM3MFwzNzBcMzcwIgorICAiXDM3N1wzNjdcMzY3XDM2NlwzNzdcMzY1XDM2NVwzNjRcMzc3XDM2NFwzNjRcMzYzXDM3N1wzNjJcMzYyXDM2MVwzNzciCisgICJcMzYwXDM2MFwzNTdcMzc3XDM1N1wzNTdcMzU2XDM3N1wzNTVcMzU1XDM1NFwzNzdcMzU0XDM1NFwzNTJcMzc3XDM1MiIKKyAgIlwzNTJcMzUwXDM3N1wyNDRcMjQ0XDI0M1wzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM2N1wzNjdcMzY2IgorICAiXDM3N1wzNjVcMzY1XDM2NFwzNzdcMzY0XDM2NFwzNjNcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDI1MlwyNTJcMjUyXDM3N1wzMjFcMzIxXDMyMVwzNzdcMzc0XDM3NFwzNzRcMzc3XDMxNlwzMTZcMzE2IgorICAiXDM3N1wzNzFcMzcxXDM3MFwzNzdcMjQ0XDI0NFwyNDRcMzc3XDI0M1wyNDNcMjQzXDM3N1wyMzJcMjMyXDIzMVwzNzciCisgICJcMjU3XDI1N1wyNTZcMzc3XDM2MVwzNjFcMzYwXDM3N1wyMzdcMjM3XDIzNlwzNzdycnFcMzc3XDIyNVwyMjVcMjI0XDM3NyIKKyAgIlwyMjNcMjIzXDIyM1wzNzdcMzUxXDM1MVwzNDdcMzc3XDM0N1wzNDdcMzQ2XDM3N1wyNDRcMjQ0XDI0NFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzYzXDM3N1wzNjJcMzYyXDM2MVwzNzdcMzYxXDM2MSIKKyAgIlwzNjBcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc2XDM3NlwzNzZcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzMiCisgICJcMzczXDM3MlwzNzdcMzcxXDM3MVwzNzFcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjZcMzY2XDM2NVwzNzdcMzY0XDM2NCIKKyAgIlwzNjRcMzc3XDM2M1wzNjNcMzYyXDM3N1wzNjFcMzYxXDM2MFwzNzdcMzYwXDM2MFwzNTZcMzc3XDM1NlwzNTZcMzU1IgorICAiXDM3N1wzNTRcMzU0XDM1M1wzNzdcMzUzXDM1M1wzNTFcMzc3XDM1MVwzNTFcMzUwXDM3N1wzNTBcMzUwXDM0NlwzNzciCisgICJcMzQ2XDM0NlwzNDRcMzc3XDM0NVwzNDVcMzQzXDM3N1wyNDJcMjQyXDI0MlwzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDAiCisgICJcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzYzXDM2MyIKKyAgIlwzNjJcMzc3XDM2MVwzNjFcMzYwXDM3N1wzNjBcMzYwXDM1NlwzNzdcMzU2XDM1NlwzNTVcMzc3XDBcMFwwXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzczXDM3M1wzNzNcMzc3XDI2NFwyNjRcMjY0XDM3N1wyNjNcMjYzXDI2M1wzNzdcMzY2XDM2NiIKKyAgIlwzNjZcMzc3XDI2MVwyNjFcMjYxXDM3N1wyNjBcMjYwXDI1N1wzNzdcMjMwXDIzMFwyMzBcMzc3XDIyN1wyMjdcMjI2IgorICAiXDM3N1wzNTZcMzU2XDM1NVwzNzdvb25cMzc3bm5uXDM3N25ubVwzNzdtbWxcMzc3bGxrXDM3N2tralwzNzdcMzQzXDM0MyIKKyAgIlwzNDFcMzc3XDM0MlwzNDJcMzQwXDM3N1wyNDJcMjQyXDI0MlwzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwIgorICAiXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzYwXDM2MFwzNTciCisgICJcMzc3XDM1NlwzNTZcMzU1XDM3N1wzNTVcMzU1XDM1M1wzNzdcMzUzXDM1M1wzNTJcMzc3XDBcMFwwXDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM2N1wzNjdcMzY2XDM3N1wzNjVcMzY1XDM2NFwzNzdcMzY0XDM2NFwzNjMiCisgICJcMzc3XDM2MlwzNjJcMzYxXDM3N1wzNjBcMzYwXDM1N1wzNzdcMzU3XDM1N1wzNTZcMzc3XDM1NVwzNTVcMzU0XDM3NyIKKyAgIlwzNTRcMzU0XDM1MlwzNzdubm1cMzc3XDIwN1wyMjZcMjQ1XDM3N1wyMDZcMjI2XDI0NFwzNzdcMjA1XDIyNVwyNDNcMzc3IgorICAiXDIwNVwyMjRcMjQzXDM3N2pqaVwzNzdcMzQxXDM0MVwzMzZcMzc3XDMzN1wzMzdcMzM1XDM3N1wyNDNcMjQzXDI0MlwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzU1XDM1NVwzNTRcMzc3XDM1NFwzNTRcMzUyXDM3N1wzNTJcMzUyXDM1MFwzNzdcMzUxIgorICAiXDM1MVwzNDdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDI2MVwyNjFcMjYwXDM3NyIKKyAgIlwyMzBcMjMwXDIzMFwzNzdcMzA3XDMwN1wzMDZcMzc3XDMwNVwzMDVcMzA0XDM3N1wzNTZcMzU2XDM1NFwzNzdcMzAzIgorICAiXDMwM1wzMDJcMzc3XDMwMVwzMDFcMzAwXDM3N1wzNTFcMzUxXDM0N1wzNzdsbGxcMzc3XDIxN1wyMzZcMjU0XDM3N1wyNzUiCisgICJcMjcwXDIyNVwzNzdwfGlcMzc3XDIxNFwyMzNcMjUyXDM3N2lpaFwzNzdcMzM2XDMzNlwzMzNcMzc3XDMzNFwzMzRcMzMyIgorICAiXDM3N1wyNDNcMjQzXDI0MlwzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzUyXDM1MlwzNTFcMzc3XDM1MVwzNTFcMzQ3XDM3N1wzNDciCisgICJcMzQ3XDM0NlwzNzdcMzQ2XDM0NlwzNDRcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzYzXDM2M1wzNjJcMzc3IgorICAiXDM2MVwzNjFcMzYwXDM3N1wzNjBcMzYwXDM1NlwzNzdcMzU2XDM1NlwzNTVcMzc3XDM1NFwzNTRcMzUzXDM3N1wzNTMiCisgICJcMzUzXDM1MVwzNzdcMzUxXDM1MVwzNTBcMzc3XDM1MFwzNTBcMzQ2XDM3N1wzNDZcMzQ2XDM0NFwzNzdra2pcMzc3XDIyNiIKKyAgIlwyNDVcMjY0XDM3N1wzMjNcMzA3XDIxNVwzNzdcMjM3XDIzNGRcMzc3b1wxNzd3XDM3N2hoZlwzNzdcMzMzXDMzM1wzMzAiCisgICJcMzc3XDMzMlwzMzJcMzI3XDM3N1wyNDBcMjQwXDIzN1wzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMCIKKyAgIlwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzUwXDM1MFwzNDZcMzc3IgorICAiXDM0NlwzNDZcMzQ0XDM3N1wzNDVcMzQ1XDM0M1wzNzdcMzQzXDM0M1wzNDFcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzYwXDM2MFwzNTdcMzc3XDI0M1wyNDNcMjQyXDM3N1wyMjVcMjI1XDIyNFwzNzdcMjI0XDIyNFwyMjNcMzc3IgorICAiXDI1MVwyNTFcMjUwXDM3N1wyMzJcMjMyXDIzMVwzNzdcMjQ3XDI0N1wyNDZcMzc3XDI3NVwyNzVcMjczXDM3N1wzNDMiCisgICJcMzQzXDM0MVwzNzdqamlcMzc3XDIzNVwyNTRcMjczXDM3N1wzMTVcMzA0XDIyNlwzNzdmc1dcMzc3XDIzM1wyNTJcMjcxIgorICAiXDM3N2ZmZVwzNzdcMzMwXDMzMFwzMjVcMzc3XDMyN1wzMjdcMzI0XDM3N1wyNDJcMjQyXDI0MVwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzQ1XDM0NVwzNDNcMzc3XDM0M1wzNDNcMzQxXDM3N1wzNDJcMzQyXDM0MFwzNzdcMzQwXDM0MFwzMzZcMzc3IgorICAiXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzU1XDM1NVwzNTRcMzc3XDM1NFwzNTRcMzUyXDM3N1wzNTJcMzUyXDM1MCIKKyAgIlwzNzdcMzUxXDM1MVwzNDdcMzc3XDM0N1wzNDdcMzQ1XDM3N1wzNDVcMzQ1XDM0M1wzNzdcMzQ0XDM0NFwzNDJcMzc3IgorICAiXDM0MlwzNDJcMzQwXDM3N1wzNDFcMzQxXDMzNlwzNzdoaGhcMzc3XDI0NVwyNjRcMzAzXDM3N1wzMTNcMzA1XDIzNVwzNzciCisgICJsfW9cMzc3b1wyMDBzXDM3N2VlY1wzNzdcMzI2XDMyNlwzMjJcMzc3XDMyNFwzMjRcMzIxXDM3N1wyNDJcMjQyXDI0MSIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwIgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQyXDM0MlwzNDBcMzc3XDM0MVwzNDFcMzM2XDM3N1wzMzdcMzM3XDMzNVwzNzciCisgICJcMzM2XDMzNlwzMzNcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzUyXDM1MlwzNTFcMzc3XDIzM1wyMzNcMjMyIgorICAiXDM3N1wyMTVcMjE1XDIxNFwzNzdcMzQ2XDM0NlwzNDRcMzc3XDI3NFwyNzRcMjczXDM3N1wyMTdcMjE3XDIxNVwzNzciCisgICJcMjE2XDIxNlwyMTRcMzc3XDI3MVwyNzFcMjY2XDM3N1wzMzZcMzM2XDMzM1wzNzdnZ2ZcMzc3Z2dlXDM3N2ZmZFwzNzciCisgICJlZWRcMzc3ZGRjXDM3N2RkYlwzNzdcMzIzXDMyM1wzMjBcMzc3XDMyMVwzMjFcMzE2XDM3N1wyNDFcMjQxXDI0MFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMzIwXDMyMFwzMjBcMzc3XDBcMFwwXDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzQwXDM0MFwzMzVcMzc3XDMzNlwzMzZcMzMzXDM3N1wzMzRcMzM0XDMzMlwzNzdcMzMzIgorICAiXDMzM1wzMzBcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzUwXDM1MFwzNDZcMzc3XDM0NlwzNDZcMzQ0XDM3NyIKKyAgIlwzNDVcMzQ1XDM0M1wzNzdcMzQzXDM0M1wzNDFcMzc3XDM0MVwzNDFcMzM3XDM3N1wzNDBcMzQwXDMzNlwzNzdcMzM2IgorICAiXDMzNlwzMzRcMzc3XDMzNVwzMzVcMzMyXDM3N1wzMzNcMzMzXDMzMFwzNzdcMzMyXDMzMlwzMjdcMzc3XDMzMFwzMzAiCisgICJcMzI1XDM3N1wzMjZcMzI2XDMyM1wzNzdcMzI1XDMyNVwzMjJcMzc3XDMyM1wzMjNcMzIwXDM3N1wzMjJcMzIyXDMxNiIKKyAgIlwzNzdcMzIwXDMyMFwzMTVcMzc3XDMxN1wzMTdcMzEzXDM3N1wyNDBcMjQwXDIzN1wzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzM1XDMzNSIKKyAgIlwzMzJcMzc3XDMzM1wzMzNcMzMwXDM3N1wzMzJcMzMyXDMyN1wzNzdcMzMwXDMzMFwzMjVcMzc3XDBcMFwwXDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzQ1XDM0NVwzNDNcMzc3XDIyN1wyMjdcMjI2XDM3N1wyMTZcMjE2XDIxNVwzNzdcMjE1XDIxNSIKKyAgIlwyMTRcMzc3XDIxNFwyMTRcMjEyXDM3N1wzMzVcMzM1XDMzM1wzNzdcMjIyXDIyMlwyMjBcMzc3XDIzNlwyMzZcMjMzIgorICAiXDM3N1wyMzRcMjM0XDIzMlwzNzdcMjA3XDIwN1wyMDVcMzc3XDMyNVwzMjVcMzIyXDM3N1wyNTdcMjU3XDI1NFwzNzciCisgICJcMjMwXDIzMFwyMjZcMzc3XDIxM1wyMTNcMjEwXDM3N1wyNTNcMjUzXDI0N1wzNzdcMzE1XDMxNVwzMTJcMzc3XDMxNCIKKyAgIlwzMTRcMzEwXDM3N1wyNDJcMjQyXDI0MVwzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFw0MCIKKyAgIlwwXDBcMFRcMFwwXDBcMzc3XDMyMFwzMjBcMzIwXDM3N1wyNjFcMjYxXDI1N1wzNzdcMjY0XDI2NFwyNjNcMzc3XDI2NCIKKyAgIlwyNjRcMjYxXDM3N1wyNDBcMjQwXDIzNVwzNzdcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNDJcMzQyXDM0MFwzNzciCisgICJcMzQxXDM0MVwzMzZcMzc3XDMzN1wzMzdcMzM1XDM3N1wzMzZcMzM2XDMzM1wzNzdcMzM0XDMzNFwzMzFcMzc3XDMzMiIKKyAgIlwzMzJcMzMwXDM3N1wzMzFcMzMxXDMyNlwzNzdcMzI3XDMyN1wzMjRcMzc3XDMyNlwzMjZcMzIyXDM3N1wzMjRcMzI0IgorICAiXDMyMVwzNzdcMzIzXDMyM1wzMTdcMzc3XDMyMVwzMjFcMzE1XDM3N1wzMTdcMzE3XDMxNFwzNzdcMzE2XDMxNlwzMTIiCisgICJcMzc3XDMxNFwzMTRcMzEwXDM3N1wzMTRcMzE0XDMwN1wzNzdcMzE0XDMxNFwzMDdcMzc3XDI0MlwyNDJcMjQwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBfXDBcMFwwJFwwXDBcMFwwXDBcMFwwXDEyXDBcMFwwXDM3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzQwIgorICAiXDM0MFwzMzVcMzc3XDIyNFwyMjRcMjIyXDM3N1wyNjZcMjY2XDI2NFwzNzdcMzMzXDMzM1wzMzBcMzc3XDIzNVwyMzUiCisgICJcMjMzXDM3N1wyMTBcMjEwXDIwNlwzNzdcMzI2XDMyNlwzMjNcMzc3XDMyNVwzMjVcMzIxXDM3N1wyMTRcMjE0XDIxMiIKKyAgIlwzNzdcMjE3XDIxN1wyMTVcMzc3XDIwM1wyMDNcMjAwXDM3N1wzMTZcMzE2XDMxMlwzNzdcMjI0XDIyNFwyMjFcMzc3IgorICAiXDIyNFwyMjRcMjIwXDM3N1wzMTRcMzE0XDMwN1wzNzdcMzE0XDMxNFwzMDdcMzc3XDMxNFwzMTRcMzA3XDM3N1wyMzciCisgICJcMjM3XDIzN1wzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDEwXDBcMFwwJSIKKyAgIlwwXDBcMFRcMFwwXDBqXDBcMFwwbVwwXDBcMG1cMFwwXDBvXDBcMFwwXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzM1XDMzNSIKKyAgIlwzMzJcMzc3XDMzM1wzMzNcMzMwXDM3N1wzMzJcMzMyXDMyN1wzNzdcMzMwXDMzMFwzMjVcMzc3XDMyNlwzMjZcMzIzIgorICAiXDM3N1wzMjVcMzI1XDMyMlwzNzdcMzIzXDMyM1wzMjBcMzc3XDMyMlwzMjJcMzE2XDM3N1wzMjBcMzIwXDMxNVwzNzciCisgICJcMzE3XDMxN1wzMTNcMzc3XDMxNVwzMTVcMzExXDM3N1wzMTRcMzE0XDMwN1wzNzdcMzE0XDMxNFwzMDdcMzc3XDMxNCIKKyAgIlwzMTRcMzA3XDM3N1wzMTRcMzE0XDMwN1wzNzdcMzE0XDMxNFwzMDdcMzc3XDMxNFwzMTRcMzA3XDM3N1wyNDBcMjQwIgorICAiXDIzN1wzNzdcMFwwXDBcMzc3XDBcMFwwX1wwXDBcMCRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMTNcMFwwIgorICAiXDBcMzRcMFwwXDAmXDBcMFwwKFwwXDBcMChcMFwwXDAsXDBcMFwwXDM3N1wzMjBcMzIwXDMyMFwzNzdcMjYxXDI2MVwyNTciCisgICJcMzc3XDI2NFwyNjRcMjYzXDM3N1wyNjRcMjY0XDI2MVwzNzdcMjQwXDI0MFwyMzVcMzc3XDI0MFwyNDBcMjM1XDM3NyIKKyAgIlwyMzdcMjM3XDIzNVwzNzdcMjM3XDIzN1wyMzVcMzc3XDIzN1wyMzdcMjMzXDM3N1wyMzFcMjMxXDIyNVwzNzdcMjE1IgorICAiXDIxNVwyMTFcMzc3XDIxM1wyMTNcMjExXDM3N1wyMTNcMjEzXDIxMVwzNzdcMjEzXDIxM1wyMTFcMzc3XDIxMVwyMTEiCisgICJcMjExXDM3N1wyMTFcMjExXDIxMVwzNzdcMjAzXDIwM1wxNzdcMzc3XDIwNFwyMDRcMjAyXDM3N11dXFxcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMF5cMFwwXDAkXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcNFwwXDBcMFw2IgorICAiXDBcMFwwXDdcMFwwXDBcN1wwXDBcMFwxM1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDI2M1wwXDBcMFRcMFwwXDBcMzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDRcMFwwXDAhXDBcMFwwU1wwXDAiCisgICJcMGlcMFwwXDBtXDBcMFwwbVwwXDBcMG1cMFwwXDBuXDBcMFwwblwwXDBcMG5cMFwwXDBuXDBcMFwwblwwXDBcMG5cMCIKKyAgIlwwXDBuXDBcMFwwblwwXDBcMG5cMFwwXDBuXDBcMFwwblwwXDBcMG5cMFwwXDBuXDBcMFwwbFwwXDBcMGBcMFwwXDA6IgorICAiXDBcMFwwXDIzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwxXDBcMFwwXDEyXDBcMFwwXDM0XDBcMFwwJlwwXDBcMChcMFwwXDAoXDBcMFwwKFwwXDBcMClcMFwwIgorICAiXDApXDBcMFwwKVwwXDBcMClcMFwwXDApXDBcMFwwKVwwXDBcMClcMFwwXDApXDBcMFwwKVwwXDBcMClcMFwwXDApXDAiCisgICJcMFwwKVwwXDBcMClcMFwwXDAoXDBcMFwwI1wwXDBcMFwyNVwwXDBcMFw3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcNFwwXDBcMCIKKyAgIlw2XDBcMFwwXDdcMFwwXDBcN1wwXDBcMFw3XDBcMFwwXDdcMFwwXDBcN1wwXDBcMFw3XDBcMFwwXDdcMFwwXDBcN1wwIgorICAiXDBcMFw3XDBcMFwwXDdcMFwwXDBcN1wwXDBcMFw3XDBcMFwwXDdcMFwwXDBcN1wwXDBcMFw3XDBcMFwwXDdcMFwwXDAiCisgICJcN1wwXDBcMFw2XDBcMFwwXDRcMFwwXDBcMSJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfbm90KQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfbm90W10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19ub3RbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwYlwwXDBcMFwyNjBcMFwwXDBcMzQyIgorICAiXDBcMFwwXDM3M1wwXDBcMFwzNzNcMFwwXDBcMzQzXDBcMFwwXDI2M1wwXDBcMGpcMFwwXDBcMTNcMFwwXDBcNVwwXDAiCisgICJcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMGJcMFwwXDBcMzQxblwzNVwxNVwzNzdcMjY3MFwyNVwzNzdcMzE1IgorICAiNFwyN1wzNzdcMzE3M1wyN1wzNzdcMzE1MlwyNlwzNzdcMzEwL1wyNVwzNzdcMjYwKFwyMlwzNzdoXDI3XDEyXDM3N1wwIgorICAiXDBcMFwzNDVcMFwwXDBvXDBcMFwwXDE0XDBcMFwwXDRcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMjI1S1wyNFwxMVwzNzdcMzEwNVwyN1wzNzciCisgICJcMzIzN1wzMVwzNzdcMzIxNVwzMFwzNzdcMzE3M1wyN1wzNzdcMzE1MVwyNlwzNzdcMzE0MFwyNVwzNzdcMzEyLlwyNSIKKyAgIlwzNzdcMzEwLFwyNFwzNzdcMzA2K1wyM1wzNzdcMjcwJ1wyMVwzNzdEXDE2XDVcMzc3XDBcMFwwXDI0M1wwXDBcMFwyNCIKKyAgIlwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwIgorICAiXDBcMjI1b1wzNlwxNVwzNzdcMzIzOFwzMVwzNzdcMzIzNlwzMFwzNzdcMzMxX0hcMzc3XDM2MVwzMTdcMzExXDM3N1wzNzEiCisgICJcMzY0XDM2M1wzNzdcMzcxXDM3MVwzNzFcMzc3XDM2NFwzNTNcMzUyXDM3N1wzNTBcMjczXDI2NVwzNzdcMzI1dmpcMzc3IgorICAiXDMwN1w3Ny1cMzc3XDMwMidcMjFcMzc3XDMwMCVcMjFcMzc3Y1wyMlwxMFwzNzdcMFwwXDBcMjQ2XDBcMFwwXDI2XDAiCisgICJcMFwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwYktcMjRcMTFcMzc3XDMyMyIKKyAgIjhcMzFcMzc3XDMyMjZcMzBcMzc3XDM1M1wyNjFcMjQ2XDM3N1wzNzJcMzcyXDM3MlwzNzdcMzcyXDM3MlwzNzJcMzc3IgorICAiXDM3MlwzNzJcMzcyXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNTUiCisgICJcMzI0XDMyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc2I1wyMFwzNzdcMjc0IVwxN1wzNzdCXDEzXDVcMzc3IgorICAiXDBcMFwwfFwwXDBcMFwyNFwwXDBcMFw0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMzQxXDMwNyIKKyAgIjRcMjdcMzc3XDMyMjZcMzBcMzc3XDM1M1wyNjFcMjQ2XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcyXDM3MlwzNzJcMzc3IgorICAiXDM3MlwzNzJcMzcyXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNTUiCisgICJcMzI0XDMyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjcyXDM3XDE2IgorICAiXDM3N1wyNTVcMzRcMTRcMzc3XDBcMFwwXDM1MVwwXDBcMChcMFwwXDBcMTRcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBibVwzNFwxNFwzNzdcMzIyNVwzMFwzNzdcMzI2V0FcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzJcMzcyXDM3MiIKKyAgIlwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcwXDM3MFwzNzBcMzc3IgorICAiXDM1NVwzMjRcMzIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzciCisgICIjXDIwXDM3N1wzMDNDNlwzNzdcMjY2XDM0XDE0XDM3N15cMTZcNVwzNzdcMFwwXDBcMjA0XDBcMFwwXDMxXDBcMFwwXDUiCisgICJcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDI2MFwyNjYuXDI0XDM3N1wzMTczXDI3XDM3N1wzNDFcMjMyXDIyMFwzNzdcMzcyIgorICAiXDM3MlwzNzJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzAiCisgICJcMzcwXDM3N1wzNTVcMzI0XDMyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMCIKKyAgIlwzNzdcMjc3I1wyMFwzNzdcMzQ3XDMwNlwzMDJcMzc3XDMzNVwyNDdcMjQyXDM3N1wyNjRcMzJcMTNcMzc3XDIzM1wyNSIKKyAgIlwxMVwzNzdcMFwwXDBcMzA0XDBcMFwwJ1wwXDBcMFwxM1wwXDBcMFwxXDBcMFwwXDJcMFwwXDBcMzQyXDMxMzJcMjZcMzc3IgorICAiXDMxNTFcMjZcMzc3XDM1M1wzMDZcMzAyXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MFwzNzAiCisgICJcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzU1XDMyNFwzMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyIKKyAgIiNcMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDM0N1wzMDZcMzAyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzQ3IgorICAiXDMxMlwzMDZcMzc3XDI2MlwzMFwxMlwzNzdcMjU1XDI2XDEyXDM3N1wwXDBcMFwzNTJcMFwwXDAiIjRcMFwwXDBcMjIiCisgICJcMFwwXDBcMlwwXDBcMFwzXDBcMFwwXDM3M1wzMTQxXDI2XDM3N1wzMTMvXDI1XDM3N1wzNjFcMzM3XDMzNVwzNzdcMzcxIgorICAiXDM3MVwzNzFcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzU1XDMyNFwzMjBcMzc3XDI3NyNcMjAiCisgICJcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDM0N1wzMDZcMzAyXDM3NyIKKyAgIlwzNjJcMzYyXDM2MlwzNzdcMzYxXDM2MVwzNjFcMzc3XDM1NVwzNDNcMzQyXDM3N1wyNjBcMjZcMTJcMzc3XDI1NlwyNCIKKyAgIlwxMVwzNzdcMFwwXDBcMzc0XDBcMFwwPFwwXDBcMFwyNlwwXDBcMFwzXDBcMFwwXDNcMFwwXDBcMzczXDMxMi9cMjVcMzc3IgorICAiXDMxMS1cMjRcMzc3XDM2MVwzMzdcMzM1XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzY3XDM2N1wzNjdcMzc3XDM1NVwzMjQiCisgICJcMzIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3NyIKKyAgIlwzNDdcMzA2XDMwMlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzUxIgorICAiXDMyN1wzMjVcMzc3XDI1NlwyNFwxMVwzNzdcMjU0XDIyXDEwXDM3N1wwXDBcMFwzNzRcMFwwXDBBXDBcMFwwXDMwXDAiCisgICJcMFwwXDNcMFwwXDBcM1wwXDBcMFwzNDNcMzA1LFwyM1wzNzdcMzA3K1wyM1wzNzdcMzQ3XDI3MlwyNjVcMzc3XDM2NyIKKyAgIlwzNjdcMzY3XDM3N1wzNTVcMzI0XDMyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3IgorICAiI1wyMFwzNzdcMjc3I1wyMFwzNzdcMzQ3XDMwNlwzMDJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjFcMzYxXDM2MVwzNzciCisgICJcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNDZcMzIxXDMxNlwzNzdcMjU1XDIyXDEwXDM3N1wyNDdcMjAiCisgICJcN1wzNzdcMFwwXDBcMzUzXDBcMFwwQVwwXDBcMFwzMFwwXDBcMFwzXDBcMFwwXDNcMFwwXDBcMjYzXDI1NSVcMjBcMzc3IgorICAiXDMwNSlcMjJcMzc3XDMzNVwyMjZcMjE1XDM3N1wzNTJcMzEwXDMwNFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzciCisgICJcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMjc3I1wyMFwzNzdcMzQ3XDMwNlwzMDJcMzc3XDM2MlwzNjJcMzYyXDM3NyIKKyAgIlwzNjFcMzYxXDM2MVwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzMzIgorICAiXDI1NFwyNTBcMzc3XDI1M1wyMFw3XDM3N1wyMjNcMTRcNVwzNzdcMFwwXDBcMzEwXDBcMFwwPVwwXDBcMFwyNlwwXDAiCisgICJcMFwzXDBcMFwwXDJcMFwwXDBqZlwyNVwxMVwzNzdcMzAyJ1wyMVwzNzdcMzA3QTFcMzc3XDI3NyNcMjBcMzc3XDI3NyIKKyAgIiNcMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDM0N1wzMDVcMzAxXDM3N1wzNjJcMzYyIgorICAiXDM2MlwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTciCisgICJcMzc3XDM1NlwzNTZcMzU2XDM3N1wyNjc6M1wzNzdcMjUwXDE2XDZcMzc3Vlw2XDJcMzc3XDBcMFwwXDIyMlwwXDBcMCIKKyAgIjRcMFwwXDBcMjJcMFwwXDBcMlwwXDBcMFwxXDBcMFwwXDEzXDBcMFwwXDM0NVwyNjQjXDIwXDM3N1wyNzcjXDIwXDM3NyIKKyAgIlwyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wyNzcjXDIwXDM3N1wzNDdcMzA1XDMwMVwzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM1N1wzNTciCisgICJcMzU3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzIxXDIyM1wyMTdcMzc3XDI1MFwxNlw2XDM3N1wyMzNcMTNcNVwzNzdcMCIKKyAgIlwwXDBcMzUzXDBcMFwwSVwwXDBcMCdcMFwwXDBcMTNcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDVcMFwwXDBvQ1wxNFw1IgorICAiXDM3N1wyNzQhXDE3XDM3N1wyNzNcNDBcMTZcMzc3XDI3NyNcMjBcMzc3XDI3NyNcMjBcMzc3XDM0NFwyNzNcMjY2XDM3NyIKKyAgIlwzNjJcMzYyXDM2MlwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzU3IgorICAiXDM1N1wzNTdcMzc3XDM1NVwzNTVcMzU1XDM3N1wzMjFcMjIzXDIxN1wzNzdcMjQ3XDE1XDZcMzc3XDI0NVwxM1w1XDM3NyIKKyAgIjlcM1wxXDM3N1wwXDBcMFwyMjRcMFwwXDA7XDBcMFwwXDMxXDBcMFwwXDVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMCIKKyAgIlwwXDBcMTRcMFwwXDBcMjQzYVwyMFw3XDM3N1wyNzBcMzZcMTVcMzc3XDI2N1wzNFwxNFwzNzdcMzAwPTFcMzc3XDMyNiIKKyAgIlwyMTJcMjAxXDM3N1wzMzdcMjU1XDI0NlwzNzdcMzQ0XDMwM1wyNzZcMzc3XDM1NFwzNDNcMzQxXDM3N1wzNDZcMzIxIgorICAiXDMxNlwzNzdcMzMyXDI1M1wyNDdcMzc3XDI2NzgwXDM3N1wyNDdcMTVcNVwzNzdcMjQ0XDEzXDVcMzc3VVw1XDFcMzc3IgorICAiXDBcMFwwXDI2N1wwXDBcMEZcMFwwXDAoXDBcMFwwXDE0XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcNFwwXDBcMFwyNFwwXDBcMFwyNDZAXDEyXDNcMzc3XDI1MVwzMVwxMlwzNzdcMjYzXDMwXDEzXDM3N1wyNjFcMjYiCisgICJcMTJcMzc3XDI1N1wyNVwxMVwzNzdcMjU1XDIzXDEwXDM3N1wyNTNcMjFcMTBcMzc3XDI1MlwyMFw3XDM3N1wyNTBcMTYiCisgICJcNlwzNzdcMjQ2XDE0XDVcMzc3XDIzMlwxMlw0XDM3NzlcM1wxXDM3N1wwXDBcMFwyNjdcMFwwXDBJXDBcMFwwL1wwXDAiCisgICJcMFwyNFwwXDBcMFw0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw2XDBcMFwwXDI2IgorICAiXDBcMFwwfFwwXDBcMFwzNTFcXFwxM1w1XDM3N1wyMzBcMjJcMTBcMzc3XDI1MlwyM1wxMFwzNzdcMjUzXDIxXDdcMzc3IgorICAiXDI1MVwxN1w3XDM3N1wyNDRcMTZcNlwzNzdcMjIxXDEzXDRcMzc3VVw1XDJcMzc3XDBcMFwwXDM1M1wwXDBcMFwyMjQiCisgICJcMFwwXDBGXDBcMFwwL1wwXDBcMFwyNlwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNlwwXDBcMFwyNFwwXDBcMChcMFwwXDBcMjA0XDBcMFwwXDMwNFwwXDBcMCIKKyAgIlwzNTJcMFwwXDBcMzc0XDBcMFwwXDM3NFwwXDBcMFwzNTNcMFwwXDBcMzEwXDBcMFwwXDIyMlwwXDBcMElcMFwwXDA7IgorICAiXDBcMFwwKFwwXDBcMFwyNFwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDRcMFwwXDBcMTRcMFwwXDBcMzFcMFwwXDAnXDBcMFwwIiI0IgorICAiXDBcMFwwPFwwXDBcMEFcMFwwXDBBXDBcMFwwPFwwXDBcMCIiNFwwXDBcMCdcMFwwXDBcMzFcMFwwXDBcMTRcMFwwXDAiCisgICJcNFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1XDBcMFwwXDEzXDBcMFwwXDIyXDBcMFwwXDI2XDBcMCIKKyAgIlwwXDMwXDBcMFwwXDMwXDBcMFwwXDI2XDBcMFwwXDIyXDBcMFwwXDEzXDBcMFwwXDVcMFwwXDBcMVwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwyXDBcMFwwXDNcMFwwXDBcM1wwXDAiCisgICJcMFwzXDBcMFwwXDNcMFwwXDBcMlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdGFibGVfYm9yZGVycykKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RhYmxlX2JvcmRlcnNbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RhYmxlX2JvcmRlcnNbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDE2XDBcMFwwXDNcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc1XDM3NVwzNzVcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzM2XDMzNlwzMzZcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMEVcMFwwXDBcMTZcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzciCisgICJcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjJcMzYyXDM2MlwzNzdubm5cMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2IgorICAiXDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzQ2XDM0NlwzNDZcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjAiCisgICJcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MCIKKyAgIlwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzIgorICAiXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzQ2XDM0NlwzNDZcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzciCisgICJcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdqampcMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2IgorICAiXDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzQ3XDM0N1wzNDdcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjAiCisgICJcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MSIKKyAgIlwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0IgorICAiXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzUwXDM1MFwzNTBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdra2tcMzc3XDM2NVwzNjVcMzY1XDM3NyIKKyAgIlwzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3IgorICAiXDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzUwXDM1MFwzNTBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjAiCisgICJcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MiIKKyAgIlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1IgorICAiXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzciCisgICJcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzUxXDM1MVwzNTFcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzciCisgICJcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjVcMzY1XDM2NVwzNzdra2tcMzc3XDM2NlwzNjZcMzY2XDM3NyIKKyAgIlwzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxIgorICAiXDM3MVwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzUxXDM1MVwzNTFcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjEiCisgICJcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2MyIKKyAgIlwzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2IgorICAiXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzciCisgICJcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzUyXDM1MlwzNTJcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc2XDM3NlwzNzZcMzc3a2trXDM3N1wzNjJcMzYyIgorICAiXDM2MlwzNzdqampcMzc3XDM2M1wzNjNcMzYzXDM3N2pqalwzNzdcMzY0XDM2NFwzNjRcMzc3a2trXDM3N1wzNjZcMzY2IgorICAiXDM2NlwzNzdsbGxcMzc3XDM2N1wzNjdcMzY3XDM3N2xsbFwzNzdcMzcwXDM3MFwzNzBcMzc3bW1tXDM3N1wzNzFcMzcxIgorICAiXDM3MVwzNzdtbW1cMzc3XDM3MlwzNzJcMzcyXDM3N25ublwzNzdcMzUzXDM1M1wzNTNcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyIgorICAiXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3NyIKKyAgIlwzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzcyIgorICAiXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzUzXDM1M1wzNTNcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjMiCisgICJcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdsbGxcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxIgorICAiXDM3MVwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzMiCisgICJcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzRcMzc0XDM3NFwzNzdcMzU0XDM1NFwzNTRcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjYiCisgICJcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3NyIKKyAgIlwzNzFcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzc0IgorICAiXDM3NFwzNzRcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzU0XDM1NFwzNTRcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjQiCisgICJcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NiIKKyAgIlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdtbW1cMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyIgorICAiXDM3MlwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc0XDM3NFwzNzQiCisgICJcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1IgorICAiXDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjciCisgICJcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3NyIKKyAgIlwzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1IgorICAiXDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzU2XDM1NlwzNTZcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjUiCisgICJcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2NyIKKyAgIlwzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdtbW1cMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzNcMzczIgorICAiXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1XDM3NVwzNzUiCisgICJcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2IgorICAiXDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3NyIKKyAgIlwzNzRcMzc0XDM3NFwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc2IgorICAiXDM3NlwzNzZcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjYiCisgICJcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MSIKKyAgIlwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdubm5cMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzRcMzc0IgorICAiXDM3NFwzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMCIKKyAgIlwwXDBcMFwwXDBcMFwxNVwwXDBcMERcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwIgorICAiXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDAiCisgICJcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwRVwwXDBcMFwxNlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMTVcMFwwXDBcMjAiCisgICJcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDAiCisgICJcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMCIKKyAgIlwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMTZcMFwwXDBcMyJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdGFibGVfZmlsbCkKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RhYmxlX2ZpbGxbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RhYmxlX2ZpbGxbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDE2XDBcMFwwXDNcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI2MlwyNjJcMjYyXDM3N1wyNjIiCisgICJcMjYyXDI2MlwzNzdcMjYyXDI2MlwyNjJcMzc3XDI2MlwyNjJcMjYyXDM3N1wyNjJcMjYyXDI2MlwzNzdcMjYyXDI2MiIKKyAgIlwyNjJcMzc3XDI2MlwyNjJcMjYyXDM3N1wyNjJcMjYyXDI2MlwzNzdcMjYwXDI2MFwyNjBcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzM2XDMzNlwzMzZcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMEVcMFwwXDBcMTZcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3IgorICAiXDM3N1wyNDdcMjQ3XDI0N1wzNzdcMjQ3XDI0N1wyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDdcMjQ3XDI0N1wzNzciCisgICJcMjQ3XDI0N1wyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNTBcMjUwXDI1MFwzNzdMTExcMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2IgorICAiXDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzQ2XDM0NlwzNDZcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDciCisgICJcMjQ3XDI0N1wzNzdcMjQ3XDI0N1wyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDdcMjQ3XDI0N1wzNzdcMjQ3XDI0NyIKKyAgIlwyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNTBcMjUwXDI1MFwzNzdcMjUwXDI1MFwyNTBcMzc3XDM2M1wzNjNcMzYzIgorICAiXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzQ2XDM0NlwzNDZcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3IgorICAiXDM3N1wyNDdcMjQ3XDI0N1wzNzdcMjQ3XDI0N1wyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDdcMjQ3XDI0N1wzNzciCisgICJcMjQ3XDI0N1wyNDdcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTBcMjUwXDI1MFwzNzdJSUlcMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2IgorICAiXDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzQ3XDM0N1wzNDdcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDciCisgICJcMjQ3XDI0N1wzNzdcMjQ3XDI0N1wyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDdcMjQ3XDI0N1wzNzdcMjUwXDI1MCIKKyAgIlwyNTBcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTFcMjUxXDI1MVwzNzdcMjUxXDI1MVwyNTFcMzc3XDM2NFwzNjRcMzY0IgorICAiXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzUwXDM1MFwzNTBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3IgorICAiXDM3N1wyNDdcMjQ3XDI0N1wzNzdcMjQ3XDI0N1wyNDdcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNTBcMjUwXDI1MFwzNzciCisgICJcMjUwXDI1MFwyNTBcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTFcMjUxXDI1MVwzNzdKSkpcMzc3XDM2NVwzNjVcMzY1XDM3NyIKKyAgIlwzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3IgorICAiXDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzUwXDM1MFwzNTBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3XDM3N1wyNDciCisgICJcMjQ3XDI0N1wzNzdcMjQ3XDI0N1wyNDdcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTBcMjUwXDI1MFwzNzdcMjUwXDI1MCIKKyAgIlwyNTBcMzc3XDI1MVwyNTFcMjUxXDM3N1wyNTJcMjUyXDI1MlwzNzdcMjUzXDI1M1wyNTNcMzc3XDM2NVwzNjVcMzY1IgorICAiXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzciCisgICJcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzUxXDM1MVwzNTFcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI0N1wyNDdcMjQ3IgorICAiXDM3N1wyNDdcMjQ3XDI0N1wzNzdcMjUwXDI1MFwyNTBcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTBcMjUwXDI1MFwzNzciCisgICJcMjUxXDI1MVwyNTFcMzc3XDI1MVwyNTFcMjUxXDM3N1wyNTNcMjUzXDI1M1wzNzdKSkpcMzc3XDM2NlwzNjZcMzY2XDM3NyIKKyAgIlwzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxIgorICAiXDM3MVwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzUxXDM1MVwzNTFcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYyXDI2MlwyNjJcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTAiCisgICJcMjUwXDI1MFwzNzdcMjUwXDI1MFwyNTBcMzc3XDI1MFwyNTBcMjUwXDM3N1wyNTFcMjUxXDI1MVwzNzdcMjUxXDI1MSIKKyAgIlwyNTFcMzc3XDI1MlwyNTJcMjUyXDM3N1wyNTNcMjUzXDI1M1wzNzdcMjUzXDI1M1wyNTNcMzc3XDM2NlwzNjZcMzY2IgorICAiXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzciCisgICJcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzUyXDM1MlwzNTJcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMjYxXDI2MVwyNjFcMzc3SkpKXDM3N1wyNTBcMjUwIgorICAiXDI1MFwzNzdJSUlcMzc3XDI1MVwyNTFcMjUxXDM3N0lJSVwzNzdcMjUyXDI1MlwyNTJcMzc3SkpKXDM3N1wyNTNcMjUzIgorICAiXDI1M1wzNzdLS0tcMzc3XDI1NFwyNTRcMjU0XDM3N0tLS1wzNzdcMjU1XDI1NVwyNTVcMzc3TExMXDM3N1wyNTVcMjU1IgorICAiXDI1NVwzNzdMTExcMzc3XDI1NlwyNTZcMjU2XDM3N0xMTFwzNzdcMjQ0XDI0NFwyNDRcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyIgorICAiXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMjU0XDI1NFwyNTRcMzc3XDI1NFwyNTRcMjU0XDM3NyIKKyAgIlwyNTVcMjU1XDI1NVwzNzdcMjU1XDI1NVwyNTVcMzc3XDI1NVwyNTVcMjU1XDM3N1wyNTZcMjU2XDI1NlwzNzdcMjU2IgorICAiXDI1NlwyNTZcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNTdcMjU3XDI1N1wzNzdcMjQ0XDI0NFwyNDRcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjMiCisgICJcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdLS0tcMzc3XDI1NVwyNTVcMjU1XDM3N1wyNTVcMjU1IgorICAiXDI1NVwzNzdcMjU1XDI1NVwyNTVcMzc3XDI1NlwyNTZcMjU2XDM3N1wyNTZcMjU2XDI1NlwzNzdcMjU3XDI1N1wyNTciCisgICJcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNTdcMjU3XDI1N1wzNzdcMjQ0XDI0NFwyNDRcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjYiCisgICJcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMjU1XDI1NVwyNTVcMzc3XDI1NVwyNTVcMjU1XDM3NyIKKyAgIlwyNTVcMjU1XDI1NVwzNzdcMjU2XDI1NlwyNTZcMzc3XDI1NlwyNTZcMjU2XDM3N1wyNTdcMjU3XDI1N1wzNzdcMjU3IgorICAiXDI1N1wyNTdcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNjBcMjYwXDI2MFwzNzdcMjQ0XDI0NFwyNDRcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjQiCisgICJcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NiIKKyAgIlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdMTExcMzc3XDI1NVwyNTVcMjU1XDM3N1wyNTZcMjU2IgorICAiXDI1NlwzNzdcMjU2XDI1NlwyNTZcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNTdcMjU3XDI1N1wzNzdcMjU3XDI1N1wyNTciCisgICJcMzc3XDI2MFwyNjBcMjYwXDM3N1wyNjBcMjYwXDI2MFwzNzdcMjQ1XDI0NVwyNDVcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1IgorICAiXDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjciCisgICJcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzFcMzcxXDM3MVwzNzdcMjU1XDI1NVwyNTVcMzc3XDI1NlwyNTZcMjU2XDM3NyIKKyAgIlwyNTZcMjU2XDI1NlwzNzdcMjU3XDI1N1wyNTdcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNTdcMjU3XDI1N1wzNzdcMjYwIgorICAiXDI2MFwyNjBcMzc3XDI2MFwyNjBcMjYwXDM3N1wyNjFcMjYxXDI2MVwzNzdcMjQ2XDI0NlwyNDZcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjUiCisgICJcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2NyIKKyAgIlwzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdMTExcMzc3XDI1NlwyNTZcMjU2XDM3N1wyNTdcMjU3IgorICAiXDI1N1wzNzdcMjU3XDI1N1wyNTdcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNjBcMjYwXDI2MFwzNzdcMjYwXDI2MFwyNjAiCisgICJcMzc3XDI2MVwyNjFcMjYxXDM3N1wyNjJcMjYyXDI2MlwzNzdcMjQ2XDI0NlwyNDZcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2IgorICAiXDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMjU2XDI1NlwyNTZcMzc3XDI1N1wyNTdcMjU3XDM3NyIKKyAgIlwyNTdcMjU3XDI1N1wzNzdcMjU3XDI1N1wyNTdcMzc3XDI2MFwyNjBcMjYwXDM3N1wyNjBcMjYwXDI2MFwzNzdcMjYxIgorICAiXDI2MVwyNjFcMzc3XDI2MlwyNjJcMjYyXDM3N1wyNjJcMjYyXDI2MlwzNzdcMjQ2XDI0NlwyNDZcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjYiCisgICJcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MSIKKyAgIlwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdMTExcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNTdcMjU3IgorICAiXDI1N1wzNzdcMjYwXDI2MFwyNjBcMzc3XDI2MFwyNjBcMjYwXDM3N1wyNjFcMjYxXDI2MVwzNzdcMjYyXDI2MlwyNjIiCisgICJcMzc3XDI2MlwyNjJcMjYyXDM3N1wyNjJcMjYyXDI2MlwzNzdcMjQ2XDI0NlwyNDZcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMzU2XDM1NlwzNTZcMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDZcMzQ2IgorICAiXDM0NlwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUwXDM1MFwzNTAiCisgICJcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMjQ0XDI0NFwyNDRcMzc3XDI0NFwyNDRcMjQ0XDM3NyIKKyAgIlwyNDRcMjQ0XDI0NFwzNzdcMjQ0XDI0NFwyNDRcMzc3XDI0NVwyNDVcMjQ1XDM3N1wyNDZcMjQ2XDI0NlwzNzdcMjQ2IgorICAiXDI0NlwyNDZcMzc3XDI0NlwyNDZcMjQ2XDM3N1wyNDZcMjQ2XDI0NlwzNzdcMjMyXDIzMlwyMzJcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFJcMFwwXDBcMjBcMFwwXDBcMFwwXDBcMFwxNVwwXDBcMCIKKyAgIkRcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwIgorICAiXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDBcMFwwUlwwXDBcMFJcMFwwXDBSXDAiCisgICJcMFwwRVwwXDBcMFwxNlwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMTVcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMCIKKyAgIlwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjAiCisgICJcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDBcMjBcMFwwXDAiCisgICJcMjBcMFwwXDBcMTZcMFwwXDBcMyJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdGV4dF9idWxsZXRlZF9saXN0KQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfdGV4dF9idWxsZXRlZF9saXN0W10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja190ZXh0X2J1bGxldGVkX2xpc3RbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwyN1wwXDBcMFwyMjRcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMjMyIgorICAiXDBcMFwwJ1wwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMjI0XDM0MlwzNDJcMzQyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjRcMzY0XDM2NCIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3IgorICAiXDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM2NFwzNjRcMzY0XDM3N1wzMzMiCisgICJcMzMzXDMzM1wzNzdcMFwwXDBcMjQzXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNDAiCisgICJcMzQwXDM0MFwzNzdcMzQwXDM0MFwzNDBcMzc3XDM0MVwzNDFcMzQxXDM3N1wzNDJcMzQyXDM0MlwzNzdcMzQzXDM0MyIKKyAgIlwzNDNcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3IgorICAiXDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzciCisgICJcMzUzXDM1M1wzNTNcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNTVcMzU1XDM1NVwzNzdcMFwwXDBcMzc3XDBcMFwwKVwwXDBcMFwxNlwwXDBcMFwzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3XDM0MVwzNDFcMzQxXDM3N1wzNDFcMzQxXDM0MVwzNzdcMzQyXDM0MlwzNDJcMzc3XDM0M1wzNDMiCisgICJcMzQzXDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ1XDM0NVwzNDVcMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDdcMzQ3XDM0NyIKKyAgIlwzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUyXDM1MlwzNTJcMzc3IgorICAiXDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTciCisgICJcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wwXDBcMFwzNzdcMFwwXDAiIjhcMFwwXDAiCisgICJcMjVcMFwwXDBcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNDJcMzQyXDM0MlwzNzdcMzQzXDM0M1wzNDNcMzc3XDIzNlwyMzYiCisgICJcMjM2XDM3N21tbVwzNzdcMjM3XDIzN1wyMzdcMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDdcMzQ3XDM0N1wzNzdvb29cMzc3IgorICAicHBwXDM3N3BwcFwzNzdxcXFcMzc3cXFxXDM3N3FxcVwzNzdycnJcMzc3cnJyXDM3N3Nzc1wzNzdcMzYwXDM2MFwzNjAiCisgICJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMCIKKyAgIlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM0M1wzNDNcMzQzXDM3N1wzNDRcMzQ0XDM0NFwzNzdubm5cMzc3bm5uXDM3N25uIgorICAiblwzNzdcMzQ3XDM0N1wzNDdcMzc3XDM1MFwzNTBcMzUwXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyXDM1MlwzNTJcMzc3IgorICAiXDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTYiCisgICJcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYyXDM2MiIKKyAgIlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NVwzNDVcMzQ1XDM3N1wyNDBcMjQwXDI0MFwzNzdvb29cMzc3XDI0MVwyNDEiCisgICJcMjQxXDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3cHBwXDM3N3FxcVwzNzdxcXFcMzc3cnJyXDM3NyIKKyAgInJyclwzNzdzc3NcMzc3c3NzXDM3N3Nzc1wzNzd0dHRcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0IgorICAiXDM2NFwzNjRcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNDUiCisgICJcMzQ1XDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MSIKKyAgIlwzNTFcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NFwzNTRcMzU0IgorICAiXDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzciCisgICJcMzU2XDM1NlwzNTZcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NCIKKyAgIlwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY0IgorICAiXDM2NFwzNjRcMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDdcMzQ3XDM0N1wzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTEiCisgICJcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N3FxcVwzNzdycnJcMzc3IgorICAicnJyXDM3N3Nzc1wzNzdzc3NcMzc3dHR0XDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wwXDBcMFwzNzdcMCIKKyAgIlwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzQ3XDM0N1wzNDdcMzc3XDM1MFwzNTBcMzUwIgorICAiXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzciCisgICJcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MCIKKyAgIlwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0IgorICAiXDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjciCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNTBcMzUwXDM1MCIKKyAgIlwzNzdcMzUxXDM1MVwzNTFcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3IgorICAiXDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjAiCisgICJcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NCIKKyAgIlwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3IgorICAiXDM3N1wzNzBcMzcwXDM3MFwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NFwzNTRcMzU0XDM3NyIKKyAgIlwzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwIgorICAiXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjQiCisgICJcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MCIKKyAgIlwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwIgorICAiXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzciCisgICJcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MSIKKyAgIlwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0IgorICAiXDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzcyXDM3MlwzNzJcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIj1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3IgorICAiXDMwM1wzMDNcMzAzXDM3N3JyclwzNzdcMzA0XDMwNFwzMDRcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzciCisgICJ0dHRcMzc3dXV1XDM3N1wyMDNcMjAzXDIwM1wzNzd1dXVcMzc3dnZ2XDM3N3Z2dlwzNzd3d3dcMzc3d3d3XDM3N3h4eCIKKyAgIlwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY3XDM2N1wzNjdcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTVcMzU1XDM1NVwzNzciCisgICJycnJcMzc3c3NzXDM3N3Nzc1wzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzciCisgICJcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NyIKKyAgIlwzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzNcMzczIgorICAiXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzVcMzc1XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDAiCisgICJcMFwwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzMDRcMzA0XDMwNCIKKyAgIlwzNzdzc3NcMzc3XDMwNlwzMDZcMzA2XDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3dXV1XDM3N3Z2IgorICAidlwzNzd2dnZcMzc3d3d3XDM3N3d3d1wzNzd3d3dcMzc3eHh4XDM3N3h4eFwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzQiCisgICJcMzc0XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc2XDM3NlwzNzZcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMCIKKyAgIlwwXDBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyIgorICAiXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MiIKKyAgIlwzNzJcMzcyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1IgorICAiXDM3NVwzNzdcMzc2XDM3NlwzNzZcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MiIKKyAgIlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3IgorICAiXDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzIiCisgICJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1XDM3NSIKKyAgIlwzNzVcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjIiCisgICJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3NyIKKyAgIlwzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcyIgorICAiXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NlwzNzYiCisgICJcMzc2XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzU0XDM1NFwzNTRcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMjMyXDMxMVwzMTFcMzExIgorICAiXDM3N1wzNTVcMzU1XDM1NVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MiIKKyAgIlwzNzJcMzcyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzZcMzc2IgorICAiXDM3NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM1NlwzNTZcMzU2XDM3N1wyNzVcMjc1XDI3NVwzNzdcMFwwXDBcMzI0XDBcMFwwOlwwXDBcMFwyNlwwXDBcMCIKKyAgIlwzNFwwXDBcMFwyNDNcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzI0XDAiCisgICJcMFwwWVwwXDBcMC1cMFwwXDBcMjBcMFwwXDBcNlwwXDBcMFwyNFwwXDBcMClcMFwwXDAiIjhcMFwwXDA8XDBcMFwwPSIKKyAgIlwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMCIKKyAgIj1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwIiI5XDBcMFwwLVwwXDBcMFwzMVwwXDBcMFw3XDBcMFwwIgorICAiXDFcMFwwXDBcNlwwXDBcMFwxNlwwXDBcMFwyNFwwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDAiCisgICJcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyNyIKKyAgIlwwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyNVwwXDBcMFwyMFwwXDBcMFw3XDBcMFwwIgorICAiXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDAiCisgICJcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMCIKKyAgIlwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcMlwwXDBcMFwxXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX3RleHRfaW5kZW50KQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfdGV4dF9pbmRlbnRbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RleHRfaW5kZW50W10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMjdcMFwwXDBcMjI0XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDIzMiIKKyAgIlwwXDBcMCdcMFwwXDBcNlwwXDBcMFwxXDBcMFwwXDIyNFwzNDJcMzQyXDM0MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MiIKKyAgIlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY0XDM2NFwzNjQiCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3NyIKKyAgIlwzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzMzIgorICAiXDMzM1wzMzNcMzc3XDBcMFwwXDI0M1wwXDBcMFwyNVwwXDBcMFw2XDBcMFwwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzQwIgorICAiXDM0MFwzNDBcMzc3XDM0MFwzNDBcMzQwXDM3N1wzNDFcMzQxXDM0MVwzNzdcMzQyXDM0MlwzNDJcMzc3XDM0M1wzNDMiCisgICJcMzQzXDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ1XDM0NVwzNDVcMzc3XDI1NlwyNTZcMjU2XDM3N1wzNDdcMzQ3XDM0NyIKKyAgIlwzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MFwzNTBcMzUwXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyXDM1MlwzNTJcMzc3IgorICAiXDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTciCisgICJcMzU3XDM1N1wzNzdcMzQzXDM0M1wzNDNcMzc3XDBcMFwwXDM3N1wwXDBcMClcMFwwXDBcMTZcMFwwXDBcMzc3XDM2MiIKKyAgIlwzNjJcMzYyXDM3N1wzNDFcMzQxXDM0MVwzNzdcMzQxXDM0MVwzNDFcMzc3XDM0MlwzNDJcMzQyXDM3N1wzNDNcMzQzIgorICAiXDM0M1wzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzQ3XDM0N1wzNDciCisgICJcMzc3XDM1MFwzNTBcMzUwXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1MlwzNTJcMzUyXDM3NyIKKyAgIlwzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3IgorICAiXDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNDdcMzQ3XDM0N1wzNzdcMFwwXDBcMzc3XDBcMFwwIiI4XDBcMFwwIgorICAiXDI1XDBcMFwwXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzQyXDM0MlwzNDJcMzc3XDI1NFwyNTRcMjU0XDM3N1wyNTRcMjU0IgorICAiXDI1NFwzNzdcMjU1XDI1NVwyNTVcMzc3XDI1NlwyNTZcMjU2XDM3N1wyNTZcMjU2XDI1NlwzNzdcMjU3XDI1N1wyNTciCisgICJcMzc3XDI2MFwyNjBcMjYwXDM3N1wyNjFcMjYxXDI2MVwzNzdcMjYyXDI2MlwyNjJcMzc3XDI2MlwyNjJcMjYyXDM3NyIKKyAgIlwyNjNcMjYzXDI2M1wzNzdcMjYzXDI2M1wyNjNcMzc3XDI2NFwyNjRcMjY0XDM3N1wyNjVcMjY1XDI2NVwzNzdcMjY1IgorICAiXDI2NVwyNjVcMzc3XDI2NlwyNjZcMjY2XDM3N1wzNjFcMzYxXDM2MVwzNzdcMzUwXDM1MFwzNTBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNDNcMzQzXDM0M1wzNzdcMzQ0XDM0NFwzNDQiCisgICJcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3NyIKKyAgIlwzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0IgorICAiXDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTciCisgICJcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNTFcMzUxXDM1MSIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzYzXDM2M1wzNjNcMzc3XDM0NFwzNDRcMzQ0IgorICAiXDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNDdcMzQ3XDM0N1wzNzciCisgICJcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NCIKKyAgIlwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTdcMzU3IgorICAiXDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjMiCisgICJcMzc3XDM1MlwzNTJcMzUyXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjNcMzYzXDM2MyIKKyAgIlwzNzdcMzQ1XDM0NVwzNDVcMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDdcMzQ3XDM0N1wzNzdcMzUwXDM1MFwzNTBcMzc3IgorICAiXDM1MVwzNTFcMzUxXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyXDM1MlwzNTJcMzc3dXV1XDM3N3Z2dlwzNzd2dnZcMzc3IgorICAid3d3XDM3N3d3d1wzNzd4eHhcMzc3eHh4XDM3N3h4eFwzNzd5eXlcMzc3eXl5XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzUzIgorICAiXDM1M1wzNTNcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNDYiCisgICJcMzQ2XDM0NlwzNzdcMzQ3XDM0N1wzNDdcMzc3XDM1MFwzNTBcMzUwXDM3N1wyNTJcMjUyXDI1MlwzNzdcMzUyXDM1MiIKKyAgIlwzNTJcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1IgorICAiXDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NSIKKyAgIlwzNjVcMzY1XDM3N1wzNTRcMzU0XDM1NFwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY0IgorICAiXDM2NFwzNjRcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDBcMFwwXDM3NyIKKyAgIlwyNTRcMjU0XDI1NFwzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NFwzNTRcMzU0XDM3N3Z2dlwzNzd3d3dcMzc3d3d3XDM3NyIKKyAgInh4eFwzNzd4eHhcMzc3eXl5XDM3N3l5eVwzNzd6enpcMzc3enp6XDM3N3p6elwzNzdcMzY2XDM2NlwzNjZcMzc3XDM1NSIKKyAgIlwzNTVcMzU1XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjVcMzY1XDM2NVwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wyNTVcMjU1XDI1NVwzNzdcMzU2XDM1NiIKKyAgIlwzNTZcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxIgorICAiXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyIgorICAiXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wwXDBcMFwzNzdcMjU1XDI1NVwyNTVcMzc3XDM1NlwzNTZcMzU2XDM3NyIKKyAgIlwzNTdcMzU3XDM1N1wzNzd4eHhcMzc3eHh4XDM3N3h4eFwzNzd5eXlcMzc3eXl5XDM3N3p6elwzNzd6enpcMzc3e3t7IgorICAiXDM3N3t7e1wzNzd8fHxcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMFwwXDBcMzc3XDBcMFwwPVwwIgorICAiXDBcMFwyN1wwXDBcMFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0IgorICAiXDM1NFwzNTRcMzc3XDI1NVwyNTVcMjU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjAiCisgICJcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2MyIKKyAgIlwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3IgorICAiXDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM2MFwzNjBcMzYwXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NCIKKyAgIlwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjBcMzYwIgorICAiXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3eXl5XDM3N3l5eVwzNzd6enpcMzc3enp6XDM3N3p6elwzNzdcMzY2XDM2NlwzNjYiCisgICJcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3NyIKKyAgIlwzNzNcMzczXDM3M1wzNzdcMzYyXDM2MlwzNjJcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3IgorICAiXDM2N1wzNjdcMzY3XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTciCisgICJcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2MyIKKyAgIlwzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2IgorICAiXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzciCisgICJcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNjNcMzYzXDM2M1wzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDAiCisgICJcMFwyN1wwXDBcMFwzNzdcMzY3XDM2N1wzNjdcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU3XDM1NyIKKyAgIlwzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzIgorICAiXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MyIKKyAgIlwzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1XDM3NVwzNzVcMzc3XDM2NFwzNjRcMzY0XDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDI2N1wyNjdcMjY3IgorICAiXDM3N1wyNzBcMjcwXDI3MFwzNzdcMjcwXDI3MFwyNzBcMzc3XDI3MFwyNzBcMjcwXDM3N1wyNzFcMjcxXDI3MVwzNzciCisgICJcMjcyXDI3MlwyNzJcMzc3XDI3M1wyNzNcMjczXDM3N1wyNzNcMjczXDI3M1wzNzdcMjc0XDI3NFwyNzRcMzc3XDI3NSIKKyAgIlwyNzVcMjc1XDM3N1wyNzZcMjc2XDI3NlwzNzdcMjc2XDI3NlwyNzZcMzc3XDI3NlwyNzZcMjc2XDM3N1wyNzdcMjc3IgorICAiXDI3N1wzNzdcMzAwXDMwMFwzMDBcMzc3XDMwMVwzMDFcMzAxXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjFcMzYxXDM2MSIKKyAgIlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY0XDM2NFwzNjRcMzc3IgorICAiXDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1XDM3NSIKKyAgIlwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNjVcMzY1XDM2NVwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzYyXDM2MlwzNjIiCisgICJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3NyIKKyAgIlwzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wyNzRcMjc0XDI3NFwzNzdcMzcxIgorICAiXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzUiCisgICJcMzc1XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDMzMVwzMzFcMzMxXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwIgorICAiXDIzMlwzMTFcMzExXDMxMVwzNzdcMzMyXDMzMlwzMzJcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTNcMzUzXDM1M1wzNzciCisgICJcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjUiCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNDRcMzQ0XDM0NFwzNzdcMjc1XDI3NVwyNzVcMzc3XDBcMFwwXDMyNFwwXDBcMCIKKyAgIjpcMFwwXDBcMjZcMFwwXDBcMzRcMFwwXDBcMjQzXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDMyNFwwXDBcMFlcMFwwXDAtXDBcMFwwXDIwXDBcMFwwXDZcMFwwXDBcMjRcMFwwXDApXDBcMFwwIiI4XDAiCisgICJcMFwwPFwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPSIKKyAgIlwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMCIiOVwwXDBcMC1cMFwwXDBcMzFcMCIKKyAgIlwwXDBcN1wwXDBcMFwxXDBcMFwwXDZcMFwwXDBcMTZcMFwwXDBcMjRcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMCIKKyAgIlwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjciCisgICJcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjdcMFwwXDBcMjVcMFwwXDBcMjBcMFwwXDAiCisgICJcN1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDJcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMCIKKyAgIlwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwIgorICAiXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDJcMFwwXDBcMVwwXDBcMFwwIn07CisKKworLyogR2RrUGl4YnVmIFJHQkEgQy1Tb3VyY2UgaW1hZ2UgZHVtcCAqLworCisjaWZkZWYgX19TVU5QUk9fQworI3ByYWdtYSBhbGlnbiA0IChzdG9ja190ZXh0X251bWJlcmVkX2xpc3QpCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja190ZXh0X251bWJlcmVkX2xpc3RbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RleHRfbnVtYmVyZWRfbGlzdFtdID0gCisjZW5kaWYKK3sgIiIKKyAgLyogUGl4YnVmIG1hZ2ljICgweDQ3NjQ2YjUwKSAqLworICAiR2RrUCIKKyAgLyogbGVuZ3RoOiBoZWFkZXIgKDI0KSArIHBpeGVsX2RhdGEgKDIzMDQpICovCisgICJcMFwwXDExXDMwIgorICAvKiBwaXhkYXRhX3R5cGUgKDB4MTAxMDAwMikgKi8KKyAgIlwxXDFcMFwyIgorICAvKiByb3dzdHJpZGUgKDk2KSAqLworICAiXDBcMFwwYCIKKyAgLyogd2lkdGggKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBoZWlnaHQgKDI0KSAqLworICAiXDBcMFwwXDMwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDI3XDBcMFwwXDIyNFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMzIiCisgICJcMFwwXDAnXDBcMFwwXDZcMFwwXDBcMVwwXDBcMFwyMjRcMzQyXDM0MlwzNDJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjIiCisgICJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2MyIKKyAgIlwzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NFwzNjRcMzY0IgorICAiXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY0XDM2NFwzNjRcMzc3XDMzMyIKKyAgIlwzMzNcMzMzXDM3N1wwXDBcMFwyNDNcMFwwXDBcMjVcMFwwXDBcNlwwXDBcMFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM0MCIKKyAgIlwzNDBcMzQwXDM3N1wzNDBcMzQwXDM0MFwzNzdcMzQxXDM0MVwzNDFcMzc3XDM0MlwzNDJcMzQyXDM3N1wzNDNcMzQzIgorICAiXDM0M1wzNzdcMzQ0XDM0NFwzNDRcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzQ3XDM0N1wzNDciCisgICJcMzc3XDM1MFwzNTBcMzUwXDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDM1MlwzNTJcMzUyXDM3NyIKKyAgIlwzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3IgorICAiXDM1N1wzNTdcMzc3XDM1NVwzNTVcMzU1XDM3N1wwXDBcMFwzNzdcMFwwXDApXDBcMFwwXDE2XDBcMFwwXDM3N1wzNjIiCisgICJcMzYyXDM2MlwzNzdcMzQxXDM0MVwzNDFcMzc3XDM0MVwzNDFcMzQxXDM3N1wzMTRcMzE0XDMxNFwzNzdtbW1cMzc3XDM0NCIKKyAgIlwzNDRcMzQ0XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNTBcMzUwIgorICAiXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTMiCisgICJcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3NyIKKyAgIlwzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDBcMFwwXDM3N1wwXDBcMCIiOFwwXDBcMFwyNVwwXDBcMFwzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDM0MlwzNDJcMzQyXDM3N1wzMTVcMzE1XDMxNVwzNzdtbW1cMzc3bW1tXDM3N1wzNDVcMzQ1IgorICAiXDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N29vb1wzNzdwcHBcMzc3cHBwXDM3N3FxcVwzNzciCisgICJxcXFcMzc3cXFxXDM3N3JyclwzNzdycnJcMzc3c3NzXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MiIKKyAgIlwzNjJcMzYyXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzQzIgorICAiXDM0M1wzNDNcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDVcMzQ1XDM0NVwzNzdubm5cMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDciCisgICJcMzQ3XDM0N1wzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1MyIKKyAgIlwzNTNcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2IgorICAiXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzciCisgICJcMzYzXDM2M1wzNjNcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNDRcMzQ0XDM0NFwzNzdcMzQ1XDM0NVwzNDVcMzc3XDM0NlwzNDZcMzQ2XDM3N29vb1wzNzdcMzQ3XDM0N1wzNDdcMzc3IgorICAiXDM1MFwzNTBcMzUwXDM3N1wzNTFcMzUxXDM1MVwzNzdwcHBcMzc3cXFxXDM3N3FxcVwzNzdycnJcMzc3cnJyXDM3N3MiCisgICJzc1wzNzdzc3NcMzc3c3NzXDM3N3R0dFwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NCIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzYzXDM2M1wzNjNcMzc3XDM0NVwzNDVcMzQ1IgorICAiXDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzQ3XDM0N1wzNDdcMzc3b29vXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUxXDM1MVwzNTEiCisgICJcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3NyIKKyAgIlwzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTZcMzU2XDM1NlwzNzdcMzYwIgorICAiXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjUiCisgICJcMzY1XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzQ2XDM0NiIKKyAgIlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDM1MlwzNTJcMzUyIgorICAiXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTNcMzc3XDIwNlwyMDZcMjA2XDM3N3JyclwzNzdycnJcMzc3c3MiCisgICJzXDM3N3Nzc1wzNzd0dHRcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NCIKKyAgIlwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjciCisgICJcMFwwXDBcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNDdcMzQ3XDM0N1wzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxIgorICAiXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTNcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNTRcMzU0XDM1NFwzNzciCisgICJcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MSIKKyAgIlwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1IgorICAiXDM2NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM1MFwzNTBcMzUwXDM3N1wzNTFcMzUxXDM1MSIKKyAgIlwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3IgorICAiXDM1NlwzNTZcMzU2XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjEiCisgICJcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwIgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzUxXDM1MVwzNTEiCisgICJcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3NyIKKyAgIlwzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxIgorICAiXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjUiCisgICJcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MCIKKyAgIlwzNzdcMzcxXDM3MVwzNzFcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NVwzNjVcMzY1IgorICAiXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUzXDM1M1wzNTNcMzc3XDMwM1wzMDNcMzAzXDM3N3JyclwzNzdcMzI3XDMyN1wzMjciCisgICJcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3NyIKKyAgIlwzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2IgorICAiXDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzIiCisgICJcMzcyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY2XDM2NiIKKyAgIlwzNjZcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdycnJcMzc3XDM1NlwzNTZcMzU2XDM3N3Nzc1wzNzciCisgICJcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N3R0dFwzNzd1dXVcMzc3XDIwM1wyMDNcMjAzXDM3N3V1dVwzNzciCisgICJ2dnZcMzc3dnZ2XDM3N3d3d1wzNzd3d3dcMzc3eHh4XDM3N1wzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NCIKKyAgIlwzNzRcMzc0XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzU1IgorICAiXDM1NVwzNTVcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzMwXDMzMFwzMzBcMzc3c3NzXDM3N1wzNjEiCisgICJcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NSIKKyAgIlwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwIgorICAiXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzciCisgICJcMzc1XDM3NVwzNzVcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2N1wzNjdcMzY3XDM3NyIKKyAgIlwzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDMzMFwzMzBcMzMwXDM3N3Nzc1wzNzdcMzMyXDMzMlwzMzJcMzc3IgorICAiXDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzd1dXVcMzc3dnZ2XDM3N3Z2dlwzNzd3d3dcMzc3d3d3XDM3N3ciCisgICJ3d1wzNzd4eHhcMzc3eHh4XDM3N1wzNzNcMzczXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzVcMzc1XDM3NyIKKyAgIlwzNzZcMzc2XDM3NlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzcwXDM3MFwzNzBcMzc3IgorICAiXDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzd0dHRcMzc3dHR0XDM3N3V1dVwzNzdcMzY0XDM2NFwzNjRcMzc3IgorICAiXDM2NVwzNjVcMzY1XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzNcMzczXDM3M1wzNzdcMzc0XDM3NCIKKyAgIlwzNzRcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzYxXDM2MVwzNjEiCisgICJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NFwzNjRcMzY0XDM3NyIKKyAgIlwzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxIgorICAiXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzUiCisgICJcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc2XDM3NlwzNzZcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2MlwzNjJcMzYyIgorICAiXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzciCisgICJcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MSIKKyAgIlwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1IgorICAiXDM3NVwzNzdcMzc2XDM3NlwzNzZcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNTRcMzU0XDM1NFwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMCIKKyAgIlwyMzJcMzExXDMxMVwzMTFcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzY1XDM2NVwzNjVcMzc3IgorICAiXDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1XDM3NSIKKyAgIlwzNzVcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDI3NVwyNzVcMjc1XDM3N1wwXDBcMFwzMjRcMFwwXDAiCisgICI6XDBcMFwwXDI2XDBcMFwwXDM0XDBcMFwwXDI0M1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzMjRcMFwwXDBZXDBcMFwwLVwwXDBcMFwyMFwwXDBcMFw2XDBcMFwwXDI0XDBcMFwwKVwwXDBcMCIiOFwwIgorICAiXDBcMDxcMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD0iCisgICJcMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDAiIjlcMFwwXDAtXDBcMFwwXDMxXDAiCisgICJcMFwwXDdcMFwwXDBcMVwwXDBcMFw2XDBcMFwwXDE2XDBcMFwwXDI0XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDAiCisgICJcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3IgorICAiXDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI3XDBcMFwwXDI1XDBcMFwwXDIwXDBcMFwwIgorICAiXDdcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwyXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDAiCisgICJcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMCIKKyAgIlwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwyXDBcMFwwXDFcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdGV4dF91bmluZGVudCkKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RleHRfdW5pbmRlbnRbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RleHRfdW5pbmRlbnRbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwyN1wwXDBcMFwyMjRcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMjMyIgorICAiXDBcMFwwJ1wwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMjI0XDM0MlwzNDJcMzQyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjRcMzY0XDM2NCIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3IgorICAiXDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM2NFwzNjRcMzY0XDM3N1wzMzMiCisgICJcMzMzXDMzM1wzNzdcMFwwXDBcMjQzXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNDAiCisgICJcMzQwXDM0MFwzNzdcMzQwXDM0MFwzNDBcMzc3XDM0MVwzNDFcMzQxXDM3N1wzNDJcMzQyXDM0MlwzNzdcMzQzXDM0MyIKKyAgIlwzNDNcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMjU2XDI1NlwyNTZcMzc3XDM0N1wzNDdcMzQ3IgorICAiXDM3N1wzNTBcMzUwXDM1MFwzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzciCisgICJcMzUzXDM1M1wzNTNcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNDNcMzQzXDM0M1wzNzdcMFwwXDBcMzc3XDBcMFwwKVwwXDBcMFwxNlwwXDBcMFwzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3XDM0MVwzNDFcMzQxXDM3N1wzNDFcMzQxXDM0MVwzNzdcMzQyXDM0MlwzNDJcMzc3XDM0M1wzNDMiCisgICJcMzQzXDM3N1wzNDRcMzQ0XDM0NFwzNzdcMzQ1XDM0NVwzNDVcMzc3XDM0NlwzNDZcMzQ2XDM3N1wzNDdcMzQ3XDM0NyIKKyAgIlwzNzdcMzUwXDM1MFwzNTBcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzUyXDM1MlwzNTJcMzc3IgorICAiXDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTciCisgICJcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM0N1wzNDdcMzQ3XDM3N1wwXDBcMFwzNzdcMFwwXDAiIjhcMFwwXDAiCisgICJcMjVcMFwwXDBcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNDJcMzQyXDM0MlwzNzdcMjU0XDI1NFwyNTRcMzc3XDI1NFwyNTQiCisgICJcMjU0XDM3N1wyNTVcMjU1XDI1NVwzNzdcMjU2XDI1NlwyNTZcMzc3XDI1NlwyNTZcMjU2XDM3N1wyNTdcMjU3XDI1NyIKKyAgIlwzNzdcMjYwXDI2MFwyNjBcMzc3XDI2MVwyNjFcMjYxXDM3N1wyNjJcMjYyXDI2MlwzNzdcMjYyXDI2MlwyNjJcMzc3IgorICAiXDI2M1wyNjNcMjYzXDM3N1wyNjNcMjYzXDI2M1wzNzdcMjY0XDI2NFwyNjRcMzc3XDI2NVwyNjVcMjY1XDM3N1wyNjUiCisgICJcMjY1XDI2NVwzNzdcMjY2XDI2NlwyNjZcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNTBcMzUwXDM1MFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzYzXDM2M1wzNjNcMzc3XDM0M1wzNDNcMzQzXDM3N1wzNDRcMzQ0XDM0NCIKKyAgIlwzNzdcMzQ1XDM0NVwzNDVcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzQ3XDM0N1wzNDdcMzc3IgorICAiXDM1MFwzNTBcMzUwXDM3N1wzNTFcMzUxXDM1MVwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNTQiCisgICJcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1NyIKKyAgIlwzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM1MVwzNTFcMzUxIgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzQ0XDM0NFwzNDQiCisgICJcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzQ3XDM0N1wzNDdcMzc3XDM0N1wzNDdcMzQ3XDM3NyIKKyAgIlwzNTBcMzUwXDM1MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0IgorICAiXDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1N1wzNTciCisgICJcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2MyIKKyAgIlwzNzdcMzUyXDM1MlwzNTJcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2M1wzNjNcMzYzIgorICAiXDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNTBcMzUwXDM1MFwzNzciCisgICJcMzUxXDM1MVwzNTFcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyXDM1MlwzNzd1dXVcMzc3dnZ2XDM3N3Z2dlwzNzciCisgICJ3d3dcMzc3d3d3XDM3N3h4eFwzNzd4eHhcMzc3eHh4XDM3N3l5eVwzNzd5eXlcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNTMiCisgICJcMzUzXDM1M1wzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY0XDM2NFwzNjRcMzc3XDM0NiIKKyAgIlwzNDZcMzQ2XDM3N1wzNDdcMzQ3XDM0N1wzNzdcMjUyXDI1MlwyNTJcMzc3XDM1MVwzNTFcMzUxXDM3N1wzNTJcMzUyIgorICAiXDM1MlwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTUiCisgICJcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3NyIKKyAgIlwzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1IgorICAiXDM2NVwzNjVcMzc3XDM1NFwzNTRcMzU0XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjQiCisgICJcMzY0XDM2NFwzNzdcMzQ3XDM0N1wzNDdcMzc3XDI1MlwyNTJcMjUyXDM3N1wwXDBcMFwzNzdcMzUyXDM1MlwzNTJcMzc3IgorICAiXDM1M1wzNTNcMzUzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU0XDM1NFwzNTRcMzc3dnZ2XDM3N3d3d1wzNzd3d3dcMzc3IgorICAieHh4XDM3N3h4eFwzNzd5eXlcMzc3eXl5XDM3N3p6elwzNzd6enpcMzc3enp6XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzU1IgorICAiXDM1NVwzNTVcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NVwzNjVcMzY1XDM3N1wyNTIiCisgICJcMjUyXDI1MlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wzNTZcMzU2IgorICAiXDM1NlwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjEiCisgICJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3NyIKKyAgIlwzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMFwwIgorICAiXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM1MVwzNTFcMzUxXDM3N1wyNTMiCisgICJcMjUzXDI1M1wzNzdcMFwwXDBcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3IgorICAiXDM1N1wzNTdcMzU3XDM3N3h4eFwzNzd4eHhcMzc3eHh4XDM3N3l5eVwzNzd5eXlcMzc3enp6XDM3N3p6elwzNzd7e3siCisgICJcMzc3e3t7XDM3N3x8fFwzNzdcMzcwXDM3MFwzNzBcMzc3XDM1N1wzNTdcMzU3XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDAiCisgICJcMFwwXDI3XDBcMFwwXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzUyXDM1MlwzNTJcMzc3XDM1M1wzNTNcMzUzXDM3N1wyNTUiCisgICJcMjU1XDI1NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzYwXDM2MCIKKyAgIlwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzIgorICAiXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzciCisgICJcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzYwXDM2MFwzNjBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNTNcMzUzXDM1M1wzNzdcMzU0IgorICAiXDM1NFwzNTRcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3XDM1N1wzNTdcMzc3XDM2MFwzNjAiCisgICJcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzd5eXlcMzc3eXl5XDM3N3p6elwzNzd6enpcMzc3enp6XDM3N1wzNjZcMzY2XDM2NiIKKyAgIlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3IgorICAiXDM3M1wzNzNcMzczXDM3N1wzNjJcMzYyXDM2MlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NyIKKyAgIlwzNTdcMzU3XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYxXDM2MVwzNjFcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjNcMzYzIgorICAiXDM2M1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjYiCisgICJcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MlwzNzJcMzcyXDM3NyIKKyAgIlwzNzNcMzczXDM3M1wzNzdcMzc0XDM3NFwzNzRcMzc3XDM2M1wzNjNcMzYzXDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMCIKKyAgIlwwXDI3XDBcMFwwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTdcMzU3IgorICAiXDM1N1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjMiCisgICJcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2N1wzNjdcMzY3XDM3NyIKKyAgIlwzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzczIgorICAiXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzY0XDM2NFwzNjRcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMD1cMFwwXDBcMjdcMFwwXDBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMjY3XDI2N1wyNjciCisgICJcMzc3XDI3MFwyNzBcMjcwXDM3N1wyNzBcMjcwXDI3MFwzNzdcMjcwXDI3MFwyNzBcMzc3XDI3MVwyNzFcMjcxXDM3NyIKKyAgIlwyNzJcMjcyXDI3MlwzNzdcMjczXDI3M1wyNzNcMzc3XDI3M1wyNzNcMjczXDM3N1wyNzRcMjc0XDI3NFwzNzdcMjc1IgorICAiXDI3NVwyNzVcMzc3XDI3NlwyNzZcMjc2XDM3N1wyNzZcMjc2XDI3NlwzNzdcMjc2XDI3NlwyNzZcMzc3XDI3N1wyNzciCisgICJcMjc3XDM3N1wzMDBcMzAwXDMwMFwzNzdcMzAxXDMwMVwzMDFcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjVcMzY1XDM2NSIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwyN1wwXDBcMFwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2MVwzNjFcMzYxIgorICAiXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjRcMzY0XDM2NFwzNzciCisgICJcMzY1XDM2NVwzNjVcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MSIKKyAgIlwzNzFcMzcxXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzVcMzc1IgorICAiXDM3NVwzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM2NVwzNjVcMzY1XDM3N1wwXDBcMFwzNzdcMFwwXDA9XDBcMFwwXDI3XDBcMFwwXDM3N1wzNjJcMzYyXDM2MiIKKyAgIlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3IgorICAiXDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDI3NFwyNzRcMjc0XDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1XDM3NSIKKyAgIlwzNzVcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzMxXDMzMVwzMzFcMzc3XDBcMFwwXDM3N1wwXDBcMD1cMFwwXDBcMjdcMFwwXDAiCisgICJcMjMyXDMxMVwzMTFcMzExXDM3N1wzMzJcMzMyXDMzMlwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1M1wzNTNcMzUzXDM3NyIKKyAgIlwzNTRcMzU0XDM1NFwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU3IgorICAiXDM1N1wzNTdcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2M1wzNjMiCisgICJcMzYzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjVcMzY1XDM2NSIKKyAgIlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM0NFwzNDRcMzQ0XDM3N1wyNzVcMjc1XDI3NVwzNzdcMFwwXDBcMzI0XDBcMFwwIgorICAiOlwwXDBcMFwyNlwwXDBcMFwzNFwwXDBcMFwyNDNcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzI0XDBcMFwwWVwwXDBcMC1cMFwwXDBcMjBcMFwwXDBcNlwwXDBcMFwyNFwwXDBcMClcMFwwXDAiIjhcMCIKKyAgIlwwXDA8XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9IgorICAiXDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwPVwwXDBcMD1cMFwwXDA9XDBcMFwwIiI5XDBcMFwwLVwwXDBcMFwzMVwwIgorICAiXDBcMFw3XDBcMFwwXDFcMFwwXDBcNlwwXDBcMFwxNlwwXDBcMFwyNFwwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwIgorICAiXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyNyIKKyAgIlwwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyN1wwXDBcMFwyNVwwXDBcMFwyMFwwXDBcMCIKKyAgIlw3XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwIgorICAiXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDAiCisgICJcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDNcMFwwXDBcMlwwXDBcMFwxXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX3RpbWVyKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfdGltZXJbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RpbWVyW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDIzXDAiCisgICJcMFwwb1wwXDBcMFwyNjZcMFwwXDBcMzQ0XDBcMFwwXDM3M1wwXDBcMFwzNzNcMFwwXDBcMzQ1XDBcMFwwXDI3MFwwXDAiCisgICJcMHRcMFwwXDBcMzFcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMjA1XDBcMFwwIgorICAiXDM3M1wyMDdcMjA3XDIwN1wzNzdcMzAwXDMwMFwzMDBcMzc3XDMyM1wzMjNcMzIzXDM3N1wzMjZcMzI2XDMyNlwzNzciCisgICJcMzI1XDMyNVwzMjVcMzc3XDMyMlwzMjJcMzIyXDM3N1wyNzVcMjc1XDI3NVwzNzdcMjA0XDIwNFwyMDRcMzc3XDBcMCIKKyAgIlwwXDM3NFwwXDBcMFwyMTdcMFwwXDBcMTBcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3W1wyMTBcMjYyXDM3N1wwXDBcMFwzNzdcMzI0XDMyNCIKKyAgIlwzMjRcMzc3XDM0MlwzNDJcMzQyXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NFwzNzRcMzc0IgorICAiXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzczXDM3M1wzNzNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNTRcMzU0XDM1NFwzNzciCisgICJcMzQxXDM0MVwzNDFcMzc3XDIyMFwyMjBcMjIwXDM3N1wwXDBcMFwzMjRcMFwwXDAiIjZcMFwwXDBcM1wwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDIzNiIKKyAgIlwyNzBcMzIxXDM3N1BcMjAwXDI1NVwzNzdcMFwwXDBcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1IgorICAiXDM3NVwzNzVcMzc3XDMxNlwzMTZcMzE2XDM3N1wzMTBcMzEwXDMxMFwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3M1wzNzMiCisgICJcMzczXDM3N1wzNzNcMzczXDM3M1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM1MFwzNTBcMzUwXDM3N1wyNzJcMjcyXDI3MiIKKyAgIlwzNzdcMFwwXDBcMzUyXDBcMFwwXDc3XDBcMFwwXDVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wyNzdcMzIxXDM0MSIKKyAgIlwzNzdcMjU3XDMwNVwzMzJcMzc3XDI2MlwzMDdcMzMzXDM3N1wyNjZcMzEyXDMzNVwzNzdcMjQ0XDI3NVwzMjVcMzc3IgorICAiXDIzNFwyNjdcMzIxXDM3N1BcMjAwXDI1NVwzNzdcMTBcMTVcMjFcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NSIKKyAgIlwzNzdcMjc3XDI3N1wyNzdcMzc3XDI3MFwyNzBcMjcwXDM3N1wzNzNcMzczXDM3M1wzNzdcMzczXDM3M1wzNzNcMzc3IgorICAiXDM3MlwzNzJcMzcyXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM1MFwzNTBcMzUwXDM3N1wzMDEiCisgICJcMzAxXDMwMVwzNzdcMFwwXDBcMzMwXDBcMFwwXDMyXDBcMFwwXDRcMFwwXDBcMFwwXDBcMFwzNzdcMzAyXDMyMlwzNDEiCisgICJcMzc3XDI0MFwyNzJcMzIzXDM3N1wyMzRcMjY3XDMyMVwzNzdcMjMyXDI2NVwzMTdcMzc3XDI0MFwyNzJcMzIzXDM3NyIKKyAgIlwyMzRcMjY3XDMyMVwzNzdcMjI3XDI2M1wzMTZcMzc3X1wyMTNcMjY0XDM3N1wwXDBcMFwzNzdcMzc1XDM3NVwzNzVcMzc3IgorICAiXDI2MFwyNjBcMjYwXDM3N1wyNTFcMjUxXDI1MVwzNzdcMzczXDM3M1wzNzNcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzEiCisgICJcMzcxXDM3MVwzNzdcMzcxXDM3MVwzNzFcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzQ1XDM0NSIKKyAgIlwzNDVcMzc3XDIxN1wyMTdcMjE3XDM3N1wwXDBcMFwyNDJcMFwwXDBcMjBcMFwwXDBcMVwwXDBcMFwzNzdcMzEwXDMyNiIKKyAgIlwzNDRcMzc3XDIzNlwyNzBcMzIxXDM3N1wyMzJcMjY1XDMxN1wzNzdcMjM0XDI2N1wzMjFcMzc3XDIzNFwyNjdcMzIxIgorICAiXDM3N1wyMzRcMjY3XDMyMVwzNzdcMjQwXDI3MlwzMjNcMzc3XDIyNVwyNjJcMzE2XDM3N0x5XDI0M1wzNzdcMFwwXDAiCisgICJcMzc3XDI0MVwyNDFcMjQxXDM3N1wyMzFcMjMxXDIzMVwzNzdcMzczXDM3M1wzNzNcMzc3XDM3MlwzNzJcMzcyXDM3NyIKKyAgIlwzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzYzIgorICAiXDM2M1wzNjNcMzc3XDM1MFwzNTBcMzUwXDM3N1wwXDBcMFwzNzRcMFwwXDA+XDBcMFwwXDExXDBcMFwwXDM3N2dcMjEzIgorICAiXDI1NFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzdcNzdlXDIxMFwzNzciCisgICJcNzdlXDIxMFwzNzcqQ1tcMzc3XDBcMFwwXDM3N1wzNzVcMzc1XDM3NVwzNzdcMjIxXDIyMVwyMjFcMzc3XDIxMlwyMTIiCisgICJcMjEyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MCIKKyAgIlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzU1XDM1NVwzNTVcMzc3IgorICAiXDIxNlwyMTZcMjE2XDM3N1wwXDBcMFwyMjdcMFwwXDBcMjVcMFwwXDBcMzc3ZFwyMDdcMjQ3XDM3NzdZeFwzNzc3WXgiCisgICJcMzc3N1l4XDM3N1w3N2VcMjEwXDM3N1w3N2VcMjEwXDM3NypDW1wzNzdcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzZcMzc2XDM3NlwzNzdcMjAxXDIwMVwyMDFcMzc3enp6XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcxXDM3MVwzNzFcMzc3IgorICAiXDM3MFwzNzBcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjIiCisgICJcMzYyXDM2MlwzNzdcMzU3XDM1N1wzNTdcMzc3XDMyM1wzMjNcMzIzXDM3N1wwXDBcMFwzMTRcMFwwXDAoXDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcNzdlXDIxMFwzNzcqQ1tcMzc3XDBcMFwwXDM3NyIKKyAgIlwzNzVcMzc1XDM3NVwzNzdcMzc2XDM3NlwzNzZcMzc3XDM3NVwzNzVcMzc1XDM3N3JyclwzNzdra2tcMzc3XDM1NlwzNTYiCisgICJcMzU2XDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjRcMzY0XDM2NCIKKyAgIlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzY3XDM2N1wzNjdcMzc3IgorICAiXDBcMFwwXDM1NFwwXDBcMCIiOVwwXDBcMFwwXDBcMFwwXDM3M1wzNTBcMzUwXDM1MFwzNzdcMzcyXDM3MlwzNzJcMzc3IgorICAiXDBcMFwwXDM3NypDW1wzNzdcMFwwXDBcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc0XDM3NFwzNzQiCisgICJcMzc3XDM3NFwzNzRcMzc0XDM3N2NjY1wzNzdbW1tcMzc3XDMxM1wzMTNcMzEzXDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzY3IgorICAiXDM2N1wzNjdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzYyXDM2MlwzNjJcMzc3XDI3M1wyNzMiCisgICJcMjczXDM3N1wzNTZcMzU2XDM1NlwzNzdcMzcwXDM3MFwzNzBcMzc3XDBcMFwwXDM3NFwwXDBcMERcMFwwXDBcMFwwXDAiCisgICJcMFwzNzNcMzM2XDMzNlwzMzZcMzc3XDM3MVwzNzFcMzcxXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDM3M1wzNzNcMzczIgorICAiXDM3N1wzNzNcMzczXDM3M1wzNzdcMzczXDM3M1wzNzNcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzNcMzczXDM3M1wzNzciCisgICJcMjIxXDIyMVwyMjFcMzc3TExMXDM3N0VFRVwzNzdiYmJcMzc3XDMwMFwzMDBcMzAwXDM3N1wzMzVcMzM1XDMzNVwzNzciCisgICJcMzYyXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wyNjVcMjY1XDI2NVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM3MCIKKyAgIlwzNzBcMzcwXDM3N1wwXDBcMFwzNzRcMFwwXDBKXDBcMFwwXDBcMFwwXDBcMzQ2XDMzMlwzMzJcMzMyXDM3N1wzNzBcMzcwIgorICAiXDM3MFwzNzdcMFwwXDBcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MiIKKyAgIlwzNzJcMzcyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzcyXDM3MlwzNzJcMzc3XDM1MlwzNTJcMzUyXDM3N1wyNzZcMjc2IgorICAiXDI3NlwzNzdkZGRcMzc3Li4uXDM3NycnJ1wzNzdJSUlcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNTdcMzU3XDM1N1wzNzciCisgICJcMzU1XDM1NVwzNTVcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNjdcMzY3XDM2N1wzNzdcMFwwXDBcMzU1XDBcMFwwSlwwXDAiCisgICJcMFwwXDBcMFwwXDI3M1wyNzVcMjc1XDI3NVwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNzBcMzcwIgorICAiXDM3MFwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY2XDM2NlwzNjZcMzc3XDMzNVwzMzVcMzM1XDM3NyIKKyAgIlwyNzZcMjc2XDI3NlwzNzdXV1dcMzc3eHh4XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NFwzNTQiCisgICJcMzU0XDM3N1wzNzFcMzcxXDM3MVwzNzdcMzIzXDMyM1wzMjNcMzc3XDBcMFwwXDMxNlwwXDBcMERcMFwwXDBcMFwwXDAiCisgICJcMHRcMTc3XDE3N1wxNzdcMzc3XDM0MVwzNDFcMzQxXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NiIKKyAgIlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2IgorICAiXDM2NlwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzYyXDM2MlwzNjIiCisgICJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NVwzNTVcMzU1XDM3NyIKKyAgIlwzNjRcMzY0XDM2NFwzNzdcMzcwXDM3MFwzNzBcMzc3XDIxNFwyMTRcMjE0XDM3N1wwXDBcMFwyMzdcMFwwXDAiIjlcMCIKKyAgIlwwXDBcMFwwXDBcMFwzMVwwXDBcMFwzNzRcMzIwXDMyMFwzMjBcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNjRcMzY0XDM2NCIKKyAgIlwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY0XDM2NFwzNjRcMzc3IgorICAiXDM2NFwzNjRcMzY0XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjAiCisgICJcMzYwXDM2MFwzNzdcMzU3XDM1N1wzNTdcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzU0XDM1NCIKKyAgIlwzNTRcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMFwwXDBcMzc0XDBcMFwwX1wwXDBcMChcMFwwIgorICAiXDBcMFwwXDBcMFwyXDBcMFwwXDIxN1wyMTFcMjExXDIxMVwzNzdcMzI0XDMyNFwzMjRcMzc3XDM2MlwzNjJcMzYyXDM3NyIKKyAgIlwzNjJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYxIgorICAiXDM2MVwzNjFcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM1N1wzNTciCisgICJcMzU3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1NFwzNTRcMzU0XDM3N1wzNzFcMzcxXDM3MSIKKyAgIlwzNzdcMzcwXDM3MFwzNzBcMzc3XDIzMFwyMzBcMjMwXDM3N1wwXDBcMFwyNjBcMFwwXDBIXDBcMFwwXDI1XDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwxMFwwXDBcMFwzMjRcMjUzXDI1M1wyNTNcMzc3XDMyM1wzMjNcMzIzXDM3N1wzNjBcMzYwIgorICAiXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMzYwXDM2MFwzNjAiCisgICJcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NlwzNTZcMzU2XDM3NyIKKyAgIlwzNTVcMzU1XDM1NVwzNzdcMzU0XDM1NFwzNTRcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzA0IgorICAiXDMwNFwzMDRcMzc3XDBcMFwwXDMzNVwwXDBcMFFcMFwwXDAuXDBcMFwwXDExXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxIgorICAiXDBcMFwwIiI2XDBcMFwwXDM1MlwyNTNcMjUzXDI1M1wzNzdcMzIyXDMyMlwzMjJcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNTYiCisgICJcMzU2XDM1NlwzNzdcMzU2XDM1NlwzNTZcMzc3XDM1NlwzNTZcMzU2XDM3N1wyNTZcMjU2XDI1NlwzNzdcMjU1XDI1NSIKKyAgIlwyNTVcMzc3XDM1NVwzNTVcMzU1XDM3N1wzNTRcMzU0XDM1NFwzNzdcMzUzXDM1M1wzNTNcMzc3XDM3MFwzNzBcMzcwIgorICAiXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzAyXDMwMlwzMDJcMzc3XDBcMFwwXDM1NVwwXDBcMHBcMFwwXDA8XDBcMFwwXDIwIgorICAiXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNFwwXDBcMFw3N1wwXDBcMFwzMzBcMjAyXDIwMlwyMDIiCisgICJcMzc3XDMxNVwzMTVcMzE1XDM3N1wzMzFcMzMxXDMzMVwzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NFwzNTRcMzU0XDM3NyIKKyAgIlwzNTRcMzU0XDM1NFwzNzdcMzU0XDM1NFwzNTRcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzcwIgorICAiXDM3MFwzNzBcMzc3XDM2N1wzNjdcMzY3XDM3N1wyMTRcMjE0XDIxNFwzNzdcMFwwXDBcMzM1XDBcMFwwcVwwXDBcMEIiCisgICJcMFwwXDBcMzJcMFwwXDBcNFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNVwwXDAiCisgICJcMFwzMlwwXDBcMFwyNDJcMFwwXDBcMzc0XDIxMFwyMTBcMjEwXDM3N1wzMTBcMzEwXDMxMFwzNzdcMzM1XDMzNVwzMzUiCisgICJcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzY3XDM2N1wzNjdcMzc3XDM2MVwzNjFcMzYxXDM3NyIKKyAgIlwzMDBcMzAwXDMwMFwzNzdcMFwwXDBcMzc0XDBcMFwwXDI2MFwwXDBcMFFcMFwwXDA8XDBcMFwwXDMyXDBcMFwwXDVcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0XDBcMFwwIgorICAiXDIwXDBcMFwwPlwwXDBcMFwyMjdcMFwwXDBcMzE0XDBcMFwwXDM1NFwwXDBcMFwzNzRcMFwwXDBcMzc0XDBcMFwwXDM1NSIKKyAgIlwwXDBcMFwzMTZcMFwwXDBcMjM3XDBcMFwwX1wwXDBcMEhcMFwwXDAuXDBcMFwwXDIwXDBcMFwwXDRcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMVwwXDBcMFwxMFwwXDBcMFwyNVwwXDBcMChcMFwwXDAiIjlcMFwwXDBEXDBcMFwwSlwwXDBcMEpcMFwwXDBEXDBcMCIKKyAgIlwwIiI5XDBcMFwwKFwwXDBcMFwyNVwwXDBcMFwxMFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDFcMFwwXDBcNlwwXDBcMFwxMlwwXDBcMFwxNVwwXDBcMFwxN1wwXDBcMFwxN1wwXDBcMFwxNVwwXDBcMFwxMiIKKyAgIlwwXDBcMFw2XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX3RpbWVyX3N0b3BwZWQpCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja190aW1lcl9zdG9wcGVkW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja190aW1lcl9zdG9wcGVkW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyM1wwXDAiCisgICJcMG9cMFwwXDBcMjY2XDBcMFwwXDM0NFwwXDBcMFwzNzNcMFwwXDBcMzczXDBcMFwwXDM0NVwwXDBcMFwyNzBcMFwwXDAiCisgICJ0XDBcMFwwXDMxXDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjA1XDBcMFwwXDM3M1wyMDciCisgICJcMjA3XDIwN1wzNzdcMzAwXDMwMFwzMDBcMzc3XDMyM1wzMjNcMzIzXDM3N1wzMjZcMzI2XDMyNlwzNzdcMzI1XDMyNSIKKyAgIlwzMjVcMzc3XDMyMlwzMjJcMzIyXDM3N1wyNzVcMjc1XDI3NVwzNzdcMjA0XDIwNFwyMDRcMzc3XDBcMFwwXDM3NFwwIgorICAiXDBcMFwyMTdcMFwwXDBcMTBcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDApXDBcMFwwXDMxNFwyMjNcMjIzXDIyM1wzNzdcMzI0XDMyNFwzMjRcMzc3IgorICAiXDM0MlwzNDJcMzQyXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzQiCisgICJcMzc0XDM3NFwzNzdcMzczXDM3M1wzNzNcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzQxXDM0MSIKKyAgIlwzNDFcMzc3XDIyMFwyMjBcMjIwXDM3N1wwXDBcMFwzMjRcMFwwXDAiIjZcMFwwXDBcM1wwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMClcMFwwXDBcMzQ0XDI3N1wyNzdcMjc3XDM3N1wzMzZcMzM2IgorICAiXDMzNlwzNzdcMzYwXDM2MFwzNjBcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1XDM3NVwzNzUiCisgICJcMzc3XDMxNlwzMTZcMzE2XDM3N1wzMTBcMzEwXDMxMFwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3M1wzNzNcMzczXDM3NyIKKyAgIlwzNzNcMzczXDM3M1wzNzdcMzY3XDM2N1wzNjdcMzc3XDM1MFwzNTBcMzUwXDM3N1wyNzJcMjcyXDI3MlwzNzdcMFwwIgorICAiXDBcMzUyXDBcMFwwXDc3XDBcMFwwXDVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDMxNFwyNjdcMjY3XDI2N1wzNzdcMzQyXDM0MlwzNDJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzVcMzc1XDM3NVwzNzciCisgICJcMzc1XDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMjc3XDI3N1wyNzdcMzc3XDI3MCIKKyAgIlwyNzBcMjcwXDM3N1wzNzNcMzczXDM3M1wzNzdcMzczXDM3M1wzNzNcMzc3XDM3MlwzNzJcMzcyXDM3N1wzNzFcMzcxIgorICAiXDM3MVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM1MFwzNTBcMzUwXDM3N1wzMDFcMzAxXDMwMVwzNzdcMFwwXDBcMzMwXDAiCisgICJcMFwwXDMyXDBcMFwwXDRcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjA1XDIwN1wyMDdcMjA3XDM3N1wzMzYiCisgICJcMzM2XDMzNlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1XDM3NSIKKyAgIlwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMjYwXDI2MFwyNjBcMzc3XDI1MVwyNTFcMjUxIgorICAiXDM3N1wzNzNcMzczXDM3M1wzNzdcMzczXDM3M1wzNzNcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMjE3XDIxN1wyMTdcMzc3XDBcMCIKKyAgIlwwXDI0MlwwXDBcMFwyMFwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMjNcMFwwXDBcMzczXDMyNFwzMjRcMzI0XDM3N1wzNjciCisgICJcMzY3XDM2N1wzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1XDM3NSIKKyAgIlwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMjQxXDI0MVwyNDFcMzc3XDIzMVwyMzFcMjMxIgorICAiXDM3N1wzNzNcMzczXDM3M1wzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MFwzNzciCisgICJcMzY3XDM2N1wzNjdcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzUwXDM1MFwzNTBcMzc3XDBcMCIKKyAgIlwwXDM3NFwwXDBcMD5cMFwwXDBcMTFcMFwwXDBcMFwwXDBcMG9cMjA3XDIwN1wyMDdcMzc3XDM0MlwzNDJcMzQyXDM3NyIKKyAgIlwzNzRcMzc0XDM3NFwzNzdcMzc1XDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzVcMzc1XDM3NVwzNzdcMzc1IgorICAiXDM3NVwzNzVcMzc3XDM3NlwzNzZcMzc2XDM3N1wzNzVcMzc1XDM3NVwzNzdcMjIxXDIyMVwyMjFcMzc3XDIxMlwyMTIiCisgICJcMjEyXDM3N1wzNzNcMzczXDM3M1wzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MCIKKyAgIlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzU1XDM1NVwzNTVcMzc3IgorICAiXDIxNlwyMTZcMjE2XDM3N1wwXDBcMFwyMjdcMFwwXDBcMjVcMFwwXDBcMFwwXDBcMFwyNjZcMzAwXDMwMFwzMDBcMzc3IgorICAiXDM2NFwzNjRcMzY0XDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc0XDM3NFwzNzRcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzUiCisgICJcMzc1XDM3NVwzNzdcMzc2XDM3NlwzNzZcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzZcMzc2XDM3NlwzNzdcMjAxXDIwMSIKKyAgIlwyMDFcMzc3enp6XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcxXDM3MVwzNzFcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjdcMzY3IgorICAiXDM2N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NFwzNjRcMzY0XDM3N1wzNjJcMzYyXDM2MlwzNzdcMzU3XDM1N1wzNTciCisgICJcMzc3XDMyM1wzMjNcMzIzXDM3N1wwXDBcMFwzMTRcMFwwXDAoXDBcMFwwXDBcMFwwXDBcMzQ2XDMyM1wzMjNcMzIzXDM3NyIKKyAgIlwzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc1IgorICAiXDM3NVwzNzVcMzc3XDM3NVwzNzVcMzc1XDM3N1wzNzZcMzc2XDM3NlwzNzdcMzc1XDM3NVwzNzVcMzc3cnJyXDM3N2siCisgICJra1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzY2XDM2NlwzNjZcMzc3IgorICAiXDM2NFwzNjRcMzY0XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYxXDM2MVwzNjFcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNjciCisgICJcMzY3XDM2N1wzNzdcMFwwXDBcMzU0XDBcMFwwIiI5XDBcMFwwXDBcMFwwXDBcMzczXDM1MFwzNTBcMzUwXDM3N1wzNzIiCisgICJcMzcyXDM3MlwzNzdcMzM3XDMzN1wzMzdcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc0XDM3NCIKKyAgIlwzNzRcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzRcMzc0XDM3NFwzNzdcMzc0XDM3NFwzNzRcMzc3Y2NjXDM3N1tbW1wzNzciCisgICJcMzEzXDMxM1wzMTNcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY1XDM2NVwzNjVcMzc3XDM2NCIKKyAgIlwzNjRcMzY0XDM3N1wzNjJcMzYyXDM2MlwzNzdcMjczXDI3M1wyNzNcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNzBcMzcwIgorICAiXDM3MFwzNzdcMFwwXDBcMzc0XDBcMFwwRFwwXDBcMFwwXDBcMFwwXDM3M1wzMzZcMzM2XDMzNlwzNzdcMzcxXDM3MVwzNzEiCisgICJcMzc3XDMzMlwzMzJcMzMyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzczXDM3M1wzNzNcMzc3XDM3M1wzNzNcMzczXDM3NyIKKyAgIlwzNzNcMzczXDM3M1wzNzdcMzczXDM3M1wzNzNcMzc3XDM3M1wzNzNcMzczXDM3N1wyMjFcMjIxXDIyMVwzNzdMTExcMzc3IgorICAiRUVFXDM3N2JiYlwzNzdcMzAwXDMwMFwzMDBcMzc3XDMzNVwzMzVcMzM1XDM3N1wzNjJcMzYyXDM2MlwzNzdcMzYxXDM2MSIKKyAgIlwzNjFcMzc3XDI2NVwyNjVcMjY1XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzcwXDM3MFwzNzBcMzc3XDBcMFwwXDM3NFwwIgorICAiXDBcMEpcMFwwXDBcMFwwXDBcMFwzNDZcMzMyXDMzMlwzMzJcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzFcMzcxXDM3MVwzNzciCisgICJcMzcxXDM3MVwzNzFcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzFcMzcxXDM3MVwzNzdcMzcyXDM3MlwzNzJcMzc3XDM3MiIKKyAgIlwzNzJcMzcyXDM3N1wzNzJcMzcyXDM3MlwzNzdcMzUyXDM1MlwzNTJcMzc3XDI3NlwyNzZcMjc2XDM3N2RkZFwzNzcuIgorICAiLi5cMzc3JycnXDM3N0lJSVwzNzdcMzYxXDM2MVwzNjFcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTVcMzU1XDM1NVwzNzciCisgICJcMzcxXDM3MVwzNzFcMzc3XDM2N1wzNjdcMzY3XDM3N1wwXDBcMFwzNTVcMFwwXDBKXDBcMFwwXDBcMFwwXDBcMjczXDI3NSIKKyAgIlwyNzVcMjc1XDM3N1wzNjVcMzY1XDM2NVwzNzdcMzY3XDM2N1wzNjdcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwIgorICAiXDM3MFwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDM2N1wzNjdcMzY3XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzM1XDMzNVwzMzVcMzc3XDI3NlwyNzZcMjc2XDM3NyIKKyAgIldXV1wzNzd4eHhcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU0XDM1NFwzNTRcMzc3XDM3MVwzNzEiCisgICJcMzcxXDM3N1wzMjNcMzIzXDMyM1wzNzdcMFwwXDBcMzE2XDBcMFwwRFwwXDBcMFwwXDBcMFwwdFwxNzdcMTc3XDE3NyIKKyAgIlwzNzdcMzQxXDM0MVwzNDFcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjZcMzY2XDM2NlwzNzdcMzY2XDM2NlwzNjZcMzc3IgorICAiXDM2NlwzNjZcMzY2XDM3N1wzNjdcMzY3XDM2N1wzNzdcMzY2XDM2NlwzNjZcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjUiCisgICJcMzY1XDM2NVwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NFwzNjRcMzY0XDM3N3l5eVwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMzQiCisgICJcMFwwXDBcMFwwXDBcMFwzMVwwXDBcMFwzNzRcMzIwXDMyMFwzMjBcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNjRcMzY0XDM2NCIKKyAgIlwzNzdcMzY0XDM2NFwzNjRcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNjRcMzY0XDM2NFwzNzdcMzY0XDM2NFwzNjRcMzc3IgorICAiXDM2NFwzNjRcMzY0XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MVwzNjFcMzYxXDM3N1wwXDAiCisgICJcMFwzNzdcMzUxXFxcMjNcMzc3XDM2MmdcMzdcMzc3XDM1NmJcMzJcMzc3XDM0NVlcMjNcMzc3XDMzM1RcMjJcMzc3XDMyMiIKKyAgIlNcMjdcMzc3XDMxMlJcMzNcMzc3XDI3NkRcMTdcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMjE3IgorICAiXDIxMVwyMTFcMjExXDM3N1wzMjRcMzI0XDMyNFwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjIiCisgICJcMzYyXDM2MlwzNzdcMzYyXDM2MlwzNjJcMzc3XDM2MlwzNjJcMzYyXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzYxXDM2MSIKKyAgIlwzNjFcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwXDM2MFwzNzdcMFwwXDBcMzc3XDM1M2FcMzNcMzc3XDM3NlwzNjIiCisgICJcMzUzXDM3N1wzNzRcMzQ2XDMzM1wzNzdcMzUwayxcMzc3XDMzN2UpXDM3N1wzNzBcMzQyXDMzMFwzNzdcMzczXDM2MSIKKyAgIlwzNTVcMzc3XDMwMEtcMzBcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMTBcMFwwXDBcMzI0XDI1MyIKKyAgIlwyNTNcMjUzXDM3N1wzMjNcMzIzXDMyM1wzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNjBcMzYwIgorICAiXDM2MFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM2MFwzNjBcMzYwXDM3N1wzNTdcMzU3XDM1N1wzNzdcMzU3XDM1N1wzNTciCisgICJcMzc3XDM1NlwzNTZcMzU2XDM3N1wwXDBcMFwzNzdcMzQ1W1wyNlwzNzdcMzcyXDMzN1wzMjJcMzc3XDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzJcMzQ2XDMzNFwzNzdcMzcyXDM0NFwzMzFcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNjRcMzM0XDMyMlwzNzciCisgICJcMjc1R1wyM1wzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwIiI2XDBcMFwwXDM1MlwyNTMiCisgICJcMjUzXDI1M1wzNzdcMzIyXDMyMlwzMjJcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNTZcMzU2XDM1NlwzNzdcMzU2XDM1NiIKKyAgIlwzNTZcMzc3XDM1NlwzNTZcMzU2XDM3N1wyNTZcMjU2XDI1NlwzNzdcMjU1XDI1NVwyNTVcMzc3XDM1NVwzNTVcMzU1IgorICAiXDM3N1wwXDBcMFwzNzdcMzM1VVwyMlwzNzdcMzQyZCVcMzc3XDM3MVwzNDBcMzI0XDM3N1wzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3XDM3N1wzNzdcMzc3XDM2NVwzMzZcMzIzXDM3N1wzMDdVXCJcMzc3XDI3MUJcMTZcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw0XDBcMFwwXDc3XDBcMFwwXDMzMFwyMDJcMjAyXDIwMlwzNzdcMzE1XDMxNSIKKyAgIlwzMTVcMzc3XDMzMVwzMzFcMzMxXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzU0XDM1NFwzNTRcMzc3XDM1NFwzNTRcMzU0IgorICAiXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzUzXDM1M1wzNTNcMzc3XDBcMFwwXDM3N1wzMjNPXDIxXDM3N1wzMzJhKVwzNzciCisgICJcMzcxXDM0M1wzMzFcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY2XDM0NFwzMzNcMzc3XDMwNCIKKyAgIlcoXDM3N1wyNjVAXDE2XDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFw1IgorICAiXDBcMFwwXDMyXDBcMFwwXDI0MlwwXDBcMFwzNzRcMjEwXDIxMFwyMTBcMzc3XDMxMFwzMTBcMzEwXDM3N1wzMzVcMzM1IgorICAiXDMzNVwzNzdcMzcwXDM3MFwzNzBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjdcMzY3XDM2N1wzNzdcMFwwXDBcMzc3XDMxMiIKKyAgIk5cMjNcMzc3XDM2N1wzNDFcMzI3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY0XDMzNVwzMjNcMzc3XDM2NFwzMzVcMzIzIgorICAiXDM3N1wzNzdcMzc3XDM3N1wzNzdcMzY0XDM0MlwzMzJcMzc3XDI2MkJcMjNcMzc3XDBcMFwwXDM3N1wwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNFwwXDBcMFwyMFwwXDBcMD5cMFwwXDBcMjI3XDBcMCIKKyAgIlwwXDMxNFwwXDBcMFwzNTRcMFwwXDBcMzc0XDBcMFwwXDM3NFwwXDBcMFwzNTVcMFwwXDBcMzc3XDMwMktcMjZcMzc3IgorICAiXDM3MFwzNTNcMzQ1XDM3N1wzNjNcMzMzXDMyMVwzNzdcMzA0U1wiXDM3N1wzMDBSXCJcMzc3XDM2MVwzMzJcMzIwXDM3NyIKKyAgIlwzNjdcMzUzXDM0N1wzNzdcMjU1QVwyNVwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMTBcMFwwXDBcMjVcMFwwXDAoXDBcMFwwIiI5XDBcMFwwRFwwIgorICAiXDBcMEpcMFwwXDBKXDBcMFwwXDM3N1wyNjdAXDE2XDM3N1wyNzJFXDIzXDM3N1wyNzBDXDIxXDM3N1wyNjZAXDE2XDM3NyIKKyAgIlwyNjM+XDE1XDM3N1wyNjA+XDIwXDM3N1wyNTNcNzdcMjNcMzc3XDI0NDdcMTRcMzc3XDBcMFwwXDM3N1wwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDAiCisgICJcMFw2XDBcMFwwXDEyXDBcMFwwXDE1XDBcMFwwXDE3XDBcMFwwXDE3XDBcMFwwXDIwNlwwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDE3NyJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdHJhc2gpCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja190cmFzaFtdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfdHJhc2hbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBSXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiWFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcNVwwXDBcMFwyMjBcMzRcMzQiCisgICJcMzRcMzc3dnZ2XDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzIzXDMyM1wzMjNcMzc3XDMwM1wzMDNcMzAzXDM3N1wyMjBcMjIwIgorICAiXDIyMFwzNzdJSUlcMzc3XDBcMFwwXDM3N1wwXDBcMFwyNzZcMFwwXDAsXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwRVwwXDBcMFwyNDBcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N0hHPVwzNzdcMjcyXDI3MFwyNDZcMzc3XDM0MlwzNDJcMzM3XDM3N1wzNjFcMzYxXDM2MFwzNzciCisgICJcMzUyXDM1MVwzNDZcMzc3XDM2MlwzNjJcMzU2XDM3N1wzNTNcMzUyXDM0NVwzNzdcMzAxXDMwMFwyNjVcMzc3V1ZKXDM3NyIKKyAgIlJRRlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMjdcMFwwXDAiIjNcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwVFwwXDBcMFwzNzdcMjUwXDI0NlwyMTdcMzc3XDI3NVwyNzNcMjQxXDM3N1wzMDAiCisgICJcMjc2XDI0M1wzNzdcMjQzXDI0MVwyMTJcMzc3bWxcXFwzNzd8fHJcMzc3TExJXDM3N0VFXDc3XDM3N0RDOlwzNzdvbyIKKyAgImdcMzc3XDMwNlwzMDVcMjcxXDM3N1wyNjZcMjY1XDIzM1wzNzdtbF1cMzc3XDI2M1wyNjFcMjMzXDM3N1wyNDdcMjQ2IgorICAiXDIxNlwzNzdcMjIwXDIxN3pcMzc3XDBcMFwwXDM3N1wwXDBcMEVcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwzNzdcMjUyXDI1MVwyMjNcMzc3XDMxNFwzMTNcMjY1XDM3N1wzMjBcMzE2XDI3MlwzNzdcMzI1XDMyMyIKKyAgIlwzMDFcMzc3XDI1NlwyNTVcMjQzXDM3N1wyMjRcMjIzXDIxMlwzNzdFREJcMzc3IyMhXDM3NzU0MVwzNzcpKCNcMzc3IgorICAiXDM2XDM2XDMyXDM3N1NSRlwzNzdcMjU1XDI1NFwyMjNcMzc3XDIyMlwyMjFcMjExXDM3N1wzMDJcMzAxXDI1N1wzNzciCisgICJcMjYxXDI1N1wyMjZcMzc3XDI1NFwyNTJcMjIyXDM3N1wyMjNcMjIyfVwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMTBcMTBcMTBcMzc3XDMyMVwzMjBcMzAxXDM3N1wzMTRcMzEzXDI2NVwzNzdcMzI2XDMyNSIKKyAgIlwzMDRcMzc3XDMzN1wzMzZcMzIxXDM3N1wzMTZcMzE1XDMwMFwzNzdcMjU0XDI1NFwyNDZcMzc3XDIyMFwyMTdcMjEyIgorICAiXDM3N359d1wzNzdcXFxcVVwzNzdHRj5cMzc3ZWRWXDM3N3d2ZVwzNzdcMjAwfm9cMzc3XDI3NlwyNzVcMjQ3XDM3N1wyNjUiCisgICJcMjYzXDIzMlwzNzdcMjY2XDI2NVwyMzNcMzc3XDI2NVwyNjNcMjMyXDM3N1wyNDFcMjM3XDIxMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzc3XDMzMVwzMzBcMzE0XDM3N1wzNjZcMzY1XDM2MiIKKyAgIlwzNzdcMzMzXDMzMlwzMjFcMzc3XDMzMlwzMzFcMzE2XDM3N1wzNDVcMzQ0XDMzMVwzNzdcMzIwXDMxN1wzMDNcMzc3IgorICAiXDMyM1wzMjNcMzExXDM3N1wzMTJcMzExXDI3NFwzNzdcMjY3XDI2NlwyNDZcMzc3XDI3MFwyNjZcMjQxXDM3N1wyNjAiCisgICJcMjU3XDIyNlwzNzdcMjQxXDIzN1wyMTBcMzc3XDI3MVwyNzBcMjM1XDM3N1wyNzFcMjY3XDIzNVwzNzdcMjcwXDI2NiIKKyAgIlwyMzRcMzc3XDMwNFwzMDJcMjUxXDM3N1wyNTdcMjU1XDIyN1wzNzdcMjEzXDIxMXZcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wyNTJcMjUxXDIzMFwzNzdcMjY2XDI2NlwyNjJcMzc3IgorICAiXDM3MVwzNzFcMzY3XDM3N1wzNzJcMzcyXDM3MFwzNzdcMzY0XDM2NFwzNjBcMzc3XDM0MlwzNDFcMzMyXDM3N1wzMzEiCisgICJcMzMxXDMxNlwzNzdcMzMzXDMzMlwzMTdcMzc3XDMyNVwzMjNcMzAxXDM3N1wzMjNcMzIxXDI3NlwzNzdcMzA0XDMwMiIKKyAgIlwyNTFcMzc3XDMwMFwyNzZcMjQzXDM3N1wzMDVcMzA0XDI1NFwzNzdcMzI2XDMyNVwzMDNcMzc3XDMxNVwzMTRcMjc3IgorICAiXDM3N1wyNzNcMjcyXDI1NVwzNzd8emlcMzc3cXBgXDM3N1wwXDBcMFwzMzZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwyM1wyM1wyM1wzMTZcMjMxXDIzMFwyMDJcMzc3XDI1N1wyNTZcMjM1XDM3N1wzMDNcMzAzXDI3NlwzNzciCisgICJcMzM2XDMzNlwzMzRcMzc3XDM1MVwzNTFcMzUwXDM3N1wzNzNcMzczXDM3MlwzNzdcMzc1XDM3NVwzNzRcMzc3XDM3NSIKKyAgIlwzNzVcMzc1XDM3N1wzNzRcMzczXDM3MlwzNzdcMzcxXDM3MVwzNjdcMzc3XDM2MlwzNjJcMzU3XDM3N1wzNTJcMzUxIgorICAiXDM0M1wzNzdcMzMzXDMzMlwzMjFcMzc3XDMwMFwyNzdcMjYxXDM3N1wyMjVcMjI0XDIwNFwzNzd4d2ZcMzc3bm1dXDM3NyIKKyAgIltbTVwzNzdcMFwwXDBcMzE1XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMjIyXVxcT1wzNzdcMjIzIgorICAiXDIyMn1cMzc3XDI0M1wyNDJcMjIzXDM3N1wyNzBcMjY3XDI0NlwzNzdcMzMwXDMyN1wzMjBcMzc3XDMzM1wzMzNcMzI0IgorICAiXDM3N1wzMjNcMzIyXDMxMlwzNzdcMzEwXDMxMFwzMDNcMzc3XDMwNlwzMDVcMjc1XDM3N1wyNzVcMjc0XDI1NVwzNzciCisgICJcMjcyXDI3MFwyNTBcMzc3XDIzN1wyMzZcMjEzXDM3N1wyMTZcMjE0eFwzNzdcMjE0XDIxM3dcMzc3XDIxNlwyMTR4XDM3NyIKKyAgInp5aFwzNzdsa11cMzc3Tk1FXDM3N1wwXDBcMHlcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIiMiIKKyAgIlwwXDBcMFwzNzdCQkJcMzc3e3tzXDM3N1wyMzdcMjM3XDIyNlwzNzdcMzIyXDMyMVwzMDdcMzc3XDMzNFwzMzNcMzIyIgorICAiXDM3N1wzMTRcMzEzXDI3NlwzNzdcMzIxXDMyMFwzMDJcMzc3XDMwNFwzMDNcMjY2XDM3N1wyNjFcMjU3XDIyNlwzNzciCisgICJcMjYxXDI1N1wyMjZcMzc3XDI2MVwyNTdcMjI2XDM3N1wyMzJcMjMwXDIwM1wzNzdcMjAwXDE3N21cMzc3fXxrXDM3NyIKKyAgImppXlwzNzdAQD5cMzc3XDBcMFwwXDM3N1wwXDBcMCIiM1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMzc3NzctXDM3N1wxN1wxN1wxN1wzNzc4NzRcMzc3eHh1XDM3N1wyMzFcMjMwXDIyM1wzNzdcMjEyIgorICAiXDIxMX5cMzc3XDI2M1wyNjJcMjQ0XDM3N1wyNTJcMjUyXDIzNlwzNzdcMjQzXDI0MVwyMTJcMzc3XDIwN1wyMDZzXDM3NyIKKyAgIlwyMTdcMjE1eVwzNzdiYVVcMzc3VFRRXDM3NzExLlwzNzdcMFwwXDBcMzc3KysjXDM3N1wwXDBcMFwzNzdcMFwwXDBcMTciCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N3FxXVwzNzdXV0tcMzc3QkI6XDM3NyIKKyAgIiYmXDQwXDM3NyEhIVwzNzdcMzNcMzNcMzNcMzc3XDBcMFwwXDM3NyQkJFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDI2XDI2XDIzXDM3NyoqXCJcMzc3MDAnXDM3N1w3N1w3NyIiNFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N3p6ZVwzNzdbW1EiCisgICJcMzc3XDIwNVwyMDV2XDM3N3Z2a1wzNzdcMjMwXDIzMFwyMTZcMzc3dXVrXDM3N1FRRlwzNzdcMTc3XDE3N3RcMzc3aiIKKyAgImpYXDM3N0BANVwzNzdiYlFcMzc3VFRFXDM3Nz4+M1wzNzdVVUZcMzc3NDQrXDM3N1FRQ1wzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wyMDVcMjA1blwzNzddIgorICAiXVRcMzc3XDIyMVwyMjFcMjAyXDM3N1wyMDJcMjAyeFwzNzdcMjUyXDI1MlwyNDNcMzc3enpxXDM3N05ORVwzNzdcMjEyIgorICAiXDIxMlwyMDBcMzc3fHxtXDM3N0JCN1wzNzdgYFJcMzc3WlpKXDM3Nzw8MlwzNzdOTkFcMzc3NTUsXDM3N1RURVwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwzXDBcMFwwXDM3NyIKKyAgIlwyMDVcMjA1blwzNzdbW1FcMzc3XDI1NFwyNTRcMjM0XDM3N1wyMDVcMjA1e1wzNzdcMjczXDI3M1wyNjNcMzc3XDI0MyIKKyAgIlwyNDNcMjMyXDM3N1RUS1wzNzdcMjIzXDIyM1wyMTJcMzc3XDIyMVwyMjFcMjA1XDM3N0JCN1wzNzdgYFJcMzc3aGhWIgorICAiXDM3N0FBNlwzNzdqalhcMzc3Q0M3XDM3N2pqWFwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDFcMFwwXDBcNVwwXDBcMFwxMFwwXDBcMFwzNzdcMjA1XDIwNW5cMzc3W1tRXDM3N1wyNDRcMjQ0XDIyM1wzNzciCisgICJcMjA1XDIwNXtcMzc3XDMwMVwzMDFcMjY2XDM3N1wyNjFcMjYxXDI0MlwzNzdra19cMzc3XDI2MVwyNjFcMjQyXDM3NyIKKyAgIlwyMzVcMjM1XDIxM1wzNzdUVEVcMzc3XDIwNFwyMDRwXDM3N3FxXlwzNzdDQzdcMzc3ampYXDM3N0NDN1wzNzdqalhcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFw2XDBcMFwwXDNcMFwwXDBcMFwwXDBcMFwyXDBcMFwwXDEyXDBcMFwwXDI0XDBcMFwwXDM3NyIKKyAgIlwyMDVcMjA1blwzNzdbW1FcMzc3XDI0NVwyNDVcMjI0XDM3N1wyMDVcMjA1e1wzNzdcMzAyXDMwMlwyNjdcMzc3XDI2MSIKKyAgIlwyNjFcMjQyXDM3N2trX1wzNzdcMjYxXDI2MVwyNDJcMzc3XDIzNVwyMzVcMjEzXDM3N1RURVwzNzdcMjA0XDIwNHBcMzc3IgorICAicXFeXDM3N0NDN1wzNzdqalhcMzc3Q0M3XDM3N2pqWFwzNzdcMFwwXDBcMzc3XDBcMFwwXDI2XDBcMFwwXDEzXDBcMFwwIgorICAiXDJcMFwwXDBcM1wwXDBcMFwyNlwwXDBcMCtcMFwwXDBcMzc3XDIwNVwyMDVuXDM3N1tbUVwzNzdcMjM1XDIzNVwyMTMiCisgICJcMzc3XDIwNVwyMDV7XDM3N1wzMDFcMzAxXDI2NlwzNzdcMjYxXDI2MVwyNDJcMzc3a2tfXDM3N1wyNjFcMjYxXDI0MiIKKyAgIlwzNzdcMjM1XDIzNVwyMTNcMzc3VFRFXDM3N1wyMDRcMjA0cFwzNzdxcV5cMzc3Q0M3XDM3N2pqWFwzNzdDQzdcMzc3IgorICAiampYXDM3N1wwXDBcMFwzNzdcMFwwXDAiIjFcMFwwXDBcMzJcMFwwXDBcNFwwXDBcMFw3XDBcMFwwI1wwXDBcMElcMFwwIgorICAiXDBcMzc3e3tlXDM3N1tbUVwzNzdcMjQ0XDI0NFwyMjNcMzc3XDIwNVwyMDV7XDM3N1wzMDFcMzAxXDI2NlwzNzdcMjYxIgorICAiXDI2MVwyNDJcMzc3a2tfXDM3N1wyNjFcMjYxXDI0MlwzNzdcMjM1XDIzNVwyMTNcMzc3VFRFXDM3N1wyMDRcMjA0cFwzNzciCisgICJxcV5cMzc3Q0M3XDM3N2pqWFwzNzdDQzdcMzc3X19PXDM3N1wwXDBcMFwzNzdcMFwwXDBIXDBcMFwwKlwwXDBcMFw3XDAiCisgICJcMFwwXDEyXDBcMFwwLFwwXDBcMFhcMFwwXDBcMzc3ZmZUXDM3N1tbUVwzNzdcMjQ0XDI0NFwyMjNcMzc3XDIwMlwyMDIiCisgICJ4XDM3N1wzMDFcMzAxXDI2NlwzNzdcMjYxXDI2MVwyNDJcMzc3a2tfXDM3N1wyNjFcMjYxXDI0MlwzNzdcMjM1XDIzNSIKKyAgIlwyMTNcMzc3VFRFXDM3N1wyMDRcMjA0cFwzNzdxcV5cMzc3Q0M3XDM3N2pqWFwzNzdJSTxcMzc3V1dIXDM3N1wwXDBcMCIKKyAgIlwzNzdcMFwwXDBQXDBcMFwwKlwwXDBcMFw3XDBcMFwwXDZcMFwwXDBcMzVcMFwwXDBDXDBcMFwwclwwXDBcMFwzNzdXIgorICAiV0pcMzc3fX1tXDM3N3Z2aVwzNzdcMjYzXDI2M1wyNTBcMzc3XDI0MVwyNDFcMjI0XDM3N21tYVwzNzdcMjYzXDI2M1wyNDUiCisgICJcMzc3XDIzNVwyMzVcMjEzXDM3N1RURVwzNzdcMjA0XDIwNHBcMzc3aWlXXDM3N0FBNVwzNzdWVkdcMzc3REQ4XDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMTc3XDBcMFwwQ1wwXDBcMFwzNVwwXDBcMFw0XDBcMFwwXDFcMFwwXDBcMTNcMFwwXDBcMzQiCisgICJcMFwwXDAiIjJcMFwwXDBnXDBcMFwwXDMyMFwwXDBcMFwzNzdcMFwwXDBcMzc3WVlRXDM3N1hYSVwzNzdOTkBcMzc3dCIKKyAgInRnXDM3N2FhU1wzNzdOTkFcMzc3SUk8XDM3N0lJPFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzMDRcMFwwIgorICAiXDB0XDBcMFwwPlwwXDBcMCVcMFwwXDBcMTFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNlwwXDBcMFwxN1wwIgorICAiXDBcMFwzMVwwXDBcMFwzN1wwXDBcMHJcMFwwXDBcMjY0XDBcMFwwXDMwMlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwIgorICAiXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwyNzFcMFwwXDBcMjE3XDBcMFwwU1wwXDBcMCwiCisgICJcMFwwXDAqXDBcMFwwXDMzXDBcMFwwXDEwXDBcMFwwXDFcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdHJhc2hfZnVsbCkKKyNlbmRpZgorI2lmZGVmIF9fR05VQ19fCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RyYXNoX2Z1bGxbXSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18gKDQpKSkgPSAKKyNlbHNlCitzdGF0aWMgY29uc3QgZ3VpbnQ4IHN0b2NrX3RyYXNoX2Z1bGxbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxMFwxMCIKKyAgIlwxMFwzNzdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcNlw2XDZcMjFcNlw2XDZLXDE2XDE2XDE2XDM3N0JCQlwzNzdKSkpcMzc3Pj4+XDM3NywsLFwzNzdcMCIKKyAgIlwwXDBcMzc3XDZcNlw2Plw2XDZcNiFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMTBcMTBcMTBcMzc3XDEwXDEwXDEwIgorICAiXDM3N1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcNlw2XDY6XDBcMFwwXDM3N1wwXDBcMFwzNzdcMjA1XDIwM3FcMzc3XDM2MFwzNTVcMzMwXDM3N1wzNjJcMzYxXDM1MSIKKyAgIlwzNzdcMzU2XDM1NVwzNDRcMzc3XDMwN1wzMDZcMjcyXDM3N1NSRlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1w2XDZcNiIKKyAgIktcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDZcNlw2PlwyMFwyMFwyMFwzNzdcMzAyXDMwMFwyNDVcMzc3XDMwMVwyNzdcMjQ1IgorICAiXDM3N3p5Z1wzNzdIR0BcMzc3JyclXDM3NzY1LlwzNzdcMjA3XDIwNXJcMzc3XDI0MFwyMzZcMjEwXDM3N1wyNDNcMjQxIgorICAiXDIxMlwzNzdcMjQ1XDI0M1wyMTRcMzc3XDBcMFwwXDM3N1w2XDZcNiFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCsrK1wzNzdcMzIzXDMyMVwyNzQiCisgICJcMzc3XDMzNFwzMzJcMzA0XDM3N1wzNDJcMzQwXDMxN1wzNzdcMjcxXDI2N1wyNDJcMzc3ZGJbXDM3Nzk4NlwzNzc8PCIKKyAgIjNcMzc3YWBTXDM3N1wyMzJcMjMwXDIwM1wzNzdcMjY3XDI2NVwyMzNcMzc3XDI2M1wyNjJcMjMwXDM3N1wyNDRcMjQyIgorICAiXDIxM1wzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxMFwxMFwxMFwzNzciCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNzdcMzUwXDM0NFwzMjNcMzc3XDM2NFwzNjFcMzUxIgorICAiXDM3N1wzNjJcMzYxXDM0NFwzNzdcMzUyXDM1MVwzMzJcMzc3XDM0NVwzNDJcMzIyXDM3N1wzMjVcMzIyXDI3NlwzNzciCisgICJcMzAzXDMwMVwyNDdcMzc3XDI1N1wyNTVcMjI0XDM3N1wzMDBcMjc2XDI0NFwzNzdcMzA2XDMwNFwyNTRcMzc3XDI3MCIKKyAgIlwyNjZcMjM0XDM3N3l3ZlwzNzdcMFwwXDBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwxMFwxMFwxMFwzNzdcMTBcMTBcMTBcMzc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wyMTJcMjExIgorICAidVwzNzdcMzYxXDM1NVwzMjJcMzc3XDM3M1wzNzBcMzUxXDM3N1wzNzFcMzY1XDM1NVwzNzdcMzcwXDM2N1wzNTZcMzc3IgorICAiXDM3MFwzNjdcMzU0XDM3N1wzNjVcMzYzXDM0NlwzNzdcMzU0XDM1MlwzMzFcMzc3XDMzNlwzMzVcMzEzXDM3N1wwXDAiCisgICJcMFwzNzdcMFwwXDBcMzc3QkE4XDM3N1wwXDBcMFwzNzdcMFwwXDBcMFwwXDBcMD5cMFwwXDBcMzc3XDBcMFwwV1wwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwyMDJSUUZcMzc3c3FlXDM3NyIKKyAgIlwyMzdcMjM1XDIyMVwzNzdcMzQ0XDM0MVwzMTBcMzc3XDM1MVwzNDVcMzE3XDM3N1wzNDJcMzQwXDMxM1wzNzdcMzIxIgorICAiXDMyMVwzMTNcMzc3XDIxNlwyMTVcMTc3XDM3N1wwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDMwMVwzMDFcMzAxXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMjQwXDBcMFwwTFwwXDBcMFwzNzdcMzc3XDM3N1wzNzdcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3XDM3XDMzXDM3NzQ0MFwzNzciCisgICJLSURcMzc3aGdiXDM3N3BvZlwzNzdra2RcMzc3bmxdXDM3N1hXS1wzNzcrKyVcMzc3XDBcMFwwXDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMjIyXDIyMlwyMjJcMzc3XDJcMlwyXDM3N1wwXDBcMFwzNzdcMzQ2XDM0NlwzNDZcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMD5cMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCoqI1wzNzciCisgICJcMjQwXDI0MFwyMjVcMzc3TU1AXDM3NzY2MFwzNzcqKiZcMzc3Ly8qXDM3N1wxN1wxN1wxNVwzNzdcMTNcMTNcMTFcMzc3IgorICAiXDIwXDIwXDE1XDM3NygoJFwzNzdcMFwwXDBcMzc3XDI3NFwyNzRcMjc0XDM3N25ublwzNzdcMzU1XDM1NVwzNTVcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMExcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwKyskXDM3N1wyNDVcMjQ0XDIzMVwzNzdcMjY3XDI2NlwyNTZcMzc3cXBnXDM3N1wyNDFcMjQxXDIyMiIKKyAgIlwzNzd0c2NcMzc3QEA1XDM3N2lpW1wzNzclJVwzNlwzNzdcMzRcMzRcMzRcMzc3XDM1NFwzNTRcMzU0XDM3N1wzMTdcMzE3IgorICAiXDMxN1wzNzdvb29cMzc3XDI1N1wyNTdcMjU3XDM3N1wwXDBcMFwzNzdcMFwwXDAhXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCwsJVwzNzdcMjU1XDI1NVwyNDNcMzc3XDMzMSIKKyAgIlwzMzFcMzIyXDM3N1wyMTNcMjEzXDE3N1wzNzdcMzI2XDMyNVwzMTZcMzc3XDIxMFwyMTB7XDM3N1hXT1wzNzdcMTc3IgorICAiXDE3N3VcMzc3XDBcMFwwXDM3N1wzMzZcMzM2XDMzNlwzNzdcMzc3XDM3N1wzNzdcMzc3XDMzNlwzMzZcMzM2XDM3N1wzMzYiCisgICJcMzM2XDMzNlwzNzdcMzExXDMxMVwzMTFcMzc3XDBcMFwwXDM3N1wwXDBcMFw3N1wwXDBcMFwxXDBcMFwwXDFcMFwwXDAiCisgICJcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDYsLCVcMzc3XDI1NVwyNTVcMjQzXDM3N1wzMzIiCisgICJcMzMyXDMyM1wzNzdcMjE3XDIxNlwyMDFcMzc3XDMzNVwzMzVcMzI0XDM3N1wyNTRcMjUzXDIzMVwzNzddXVJcMzc3aSIKKyAgImlgXDM3N21tbVwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM0N1wzNDdcMzQ3XDM3N1wyMjNcMjIzXDIyM1wzNzdcMFwwXDBcMzc3XDBcMFwwK1wwXDBcMFwxM1wwIgorICAiXDBcMFw3XDBcMFwwXDNcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDVcMFwwXDBcMjErKyRcMzc3fn51XDM3N1wzMzBcMzMwIgorICAiXDMyMVwzNzdcMjE1XDIxNVwyMDBcMzc3XDMzNVwzMzVcMzIzXDM3N1wyNTRcMjUzXDIzMVwzNzdQUEdcMzc3XDMwXDMwIgorICAiXDMwXDM3N1wzMTFcMzExXDMxMVwzNzdcMzA3XDM0MFwzMDdcMzc3eFwyNjV4XDM3N1wyMzNcMzEwXDIzM1wzNzdcMzc3IgorICAiXDM3N1wzNzdcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzMDZcMzA2XDMwNlwzNzdcMFwwXDBcMzc3XDBcMFwwVVwwXDBcMFwzNSIKKyAgIlwwXDBcMFwyN1wwXDBcMFwxNVwwXDBcMFwzXDBcMFwwXDFcMFwwXDBcMTFcMFwwXDBcMzQnJyFcMzc3Q0M9XDM3N1wyMTYiCisgICJcMjE2XDIwNlwzNzdeXlVcMzc3XDMzMlwzMzJcMzIwXDM3N1wyNTRcMjUzXDIzMVwzNzc1NS5cMzc3XV1dXDM3N1wzMjQiCisgICJcMzQ3XDMyNFwzNzddXDI0Nl1cMzc3XDMwN1wzNDBcMzA3XDM3N1wzNzdcMzc3XDM3N1wzNzddXDI0Nl1cMzc3XDIxNSIKKyAgIlwyNzJcMjE1XDM3N1wzNDVcMzQ1XDM0NVwzNzdcMjA2XDIwNlwyMDZcMzc3XDBcMFwwXDM3N1wwXDBcMEdcMFwwXDAnIgorICAiXDBcMFwwXDMxXDBcMFwwXDEwXDBcMFwwXDFcMFwwXDBcMTFcMFwwXDBcMzRcNFw0XDRrXDZcNlw2XDM3N1w2XDZcNlwzNzciCisgICJCQTpcMzc3XDIxN1wyMTd7XDM3N3p6bFwzNzdcMFwwXDBcMzc3XDMwNFwzMDRcMzA0XDM3N3NcMjYyc1wzNzdcMzA3XDM0MCIKKyAgIlwzMDdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzd4XDI2NXhcMzc3blwyNTNuXDM3N1wzNDVcMzQ1IgorICAiXDM0NVwzNzdcMjIwXDIyMFwyMjBcMzc3XDBcMFwwXDM3N1wwXDBcMHdcMFwwXDAuXDBcMFwwXCJcMFwwXDBcMTZcMFwwIgorICAiXDBcMVwwXDBcMFw1XDBcMFwwXDIzXDBcMFwwJlwwXDBcMCIiMFw0XDRcNHlcNlw2XDZcMzc3XDBcMFwwXDM3N1wxN1wxNyIKKyAgIlwxN1wzNzdcMFwwXDBcMzc3XDMyN1wzMjdcMzI3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgIlwzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM2NFwzNjRcMzY0XDM3N1NcMjM1U1wzNzciCisgICJcMjc3XDI3N1wyNzdcMzc3SkpKXDM3N1wwXDBcMFwzNzdcMFwwXDAiIjFcMFwwXDAoXDBcMFwwXDIzXDBcMFwwXDBcMCIKKyAgIlwwXDBcMVwwXDBcMFw2XDBcMFwwXDIzXDBcMFwwXDQwXDBcMFwwKVwwXDBcMC1cMFwwXDAuXDBcMFwwIiIwXDBcMFwwIgorICAiXDM3N1wzNTRcMzU0XDM1NFwzNzd4XDI2NXhcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzc3XDM3N1wzNzdcMzA3XDM0MCIKKyAgIlwzMDdcMzc3XDM3N1wzNzdcMzc3XDM3N1wyNzJcMzIzXDI3MlwzNzdcMjEyXDI3MFwyMTJcMzc3XDIxMlwyNjdcMjEyIgorICAiXDM3N3FxcVwzNzdcMFwwXDBcMzc3XDBcMFwwIiIyXDBcMFwwKlwwXDBcMFwyN1wwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMVwwXDBcMFwzXDBcMFwwXDEyXDBcMFwwXDIxXDBcMFwwXDI2XDBcMFwwXDMzXDBcMFwwXCJcMFwwXDBcMzc3XDI1NCIKKyAgIlwyNTRcMjU0XDM3N1wzNTRcMzU0XDM1NFwzNzdvXDI1NG9cMzc3b1wyNTRvXDM3N25cMjUzblwzNzdUXDIzNVRcMzc3IgorICAiXDI2MlwzMTRcMjYyXDM3N1wyMTJcMjcwXDIxMlwzNzdcMjIyXDIyMlwyMjJcMzc3YWFhXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDAiIjFcMFwwXDAnXDBcMFwwXDIzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxIgorICAiXDBcMFwwXDJcMFwwXDBcMTBcMFwwXDBcMjJcMFwwXDBVXDBcMFwwXDM3N1wwXDBcMFwzNzdpaWlcMzc3XDIwMFwyMDAiCisgICJcMjAwXDM3N31cMjIwfVwzNzdcMjQxXDI0MVwyNDFcMzc3XDIwM1wyMDNcMjAzXDM3N3p6elwzNzdDQ0NcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMHdcMFwwXDAqXDBcMFwwXDM0XDBcMFwwXDEyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw3XDBcMFwwXDIxXDBcMFwwIiI5XDBcMFwwcFwwIgorICAiXDBcMFwyMzRcMFwwXDBcMzA0XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3KCgoXDM3NzQ0NFwyNjM4ODhxXDAiCisgICJcMFwwI1wwXDBcMFwzMlwwXDBcMFwxM1wwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDZcMFwwXDBcMTRcMFwwXDBcMjFcMFwwXDBcMjMiCisgICJcMFwwXDBcMjRcMFwwXDBcMjZcMFwwXDBcMjZcMFwwXDBcMjZcMFwwXDBcMjVcMFwwXDBcMjVcMFwwXDBcMjRcMFwwXDAiCisgICJcMTdcMFwwXDBcMTBcMFwwXDBcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwXDBcMFw0XDBcMFwwXDZcMFwwIgorICAiXDBcNlwwXDBcMFw3XDBcMFwwXDEwXDBcMFwwXDdcMFwwXDBcNlwwXDBcMFw2XDBcMFwwXDRcMFwwXDBcMlwwXDBcMFwxIgorICAiXDBcMFwwXDBcMFwwXDBcMCJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfdm9sdW1lKQorI2VuZGlmCisjaWZkZWYgX19HTlVDX18KK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfdm9sdW1lW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja192b2x1bWVbXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICgyMzA0KSAqLworICAiXDBcMFwxMVwzMCIKKyAgLyogcGl4ZGF0YV90eXBlICgweDEwMTAwMDIpICovCisgICJcMVwxXDBcMiIKKyAgLyogcm93c3RyaWRlICg5NikgKi8KKyAgIlwwXDBcMGAiCisgIC8qIHdpZHRoICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogaGVpZ2h0ICgyNCkgKi8KKyAgIlwwXDBcMFwzMCIKKyAgLyogcGl4ZWxfZGF0YTogKi8KKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMCxcMFwwXDBcMzc3XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBJQGZcMzIwSUBmK1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMC1cMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwSUBmXDM3N0lAZitcMFwwXDBcMElAZitJQGYiCisgICJcMjUySUBmK1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwLVwwXDBcMFwzNzdcMjU2XDI1M1wyMzdcMzc3XDBcMFwwXDM3N1wwXDBcMCIKKyAgIlwyMVwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMElAZitJQGZcMzc3SUBmK1wwXDBcMFwwSUBmXDIxM0lAZk9cMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBvXDBcMFwwXDM3N1wyNTZcMjUzXDIzN1wzNzdcMzM0XDMzMVwzMjNcMzc3XDBcMFwwXDM3N1wwXDBcMFwyMjEiCisgICJcMFwwXDBcNElAZlwzNzdJQGYrXDBcMFwwXDBJQGZcMjUySUBmT1wwXDBcMFwwSUBmY0lAZlwyMTNcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDdcMFwwXDBcMzc3XDIzM1wyMzBcMjEyXDM3N1wyMDB+ciIKKyAgIlwzNzdcMFwwXDBcMzc3XDI1NlwyNTNcMjM3XDM3N1wzNDJcMzQxXDMzNFwzNzdcMzYyXDM2MlwzNjBcMzc3XDBcMFwwIgorICAiXDM3N1wwXDBcMFwzNDdcMFwwXDBcMTJJQGYrSUBmXDM3N1wwXDBcMFwwSUBmT0lAZlwyNTJcMFwwXDBcMElAZkBJQGYiCisgICJcMjUyXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwyMlwwXDBcMFwzNzdcMzQzXDM0MiIKKyAgIlwzMzVcMzc3XDI2NlwyNjZcMjYxXDM3N1wwXDBcMFwzNzdcMzU2XDM1NVwzNTJcMzc3XDM1MlwzNTJcMzQ2XDM3N1wzMDUiCisgICJcMzAxXDI2N1wzNzdcMFwwXDBcMzc3SUlJXDM3N1wwXDBcMFwyNFwwXDBcMFwwSUBmXDM3N1wwXDBcMFwwSUBmK0lAZiIKKyAgIlwzMjBcMFwwXDBcMElAZiNJQGZcMzIwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMCIKKyAgIlwzMFwwXDBcMFwzNzdcMjYwXDI1NFwyMzRcMzc3XDIyMlwyMTZcMjAxXDM3N1wwXDBcMFwzNzdcMzE1XDMxMlwzMDFcMzc3IgorICAiXDI3MFwyNjRcMjQ2XDM3N1wyNzdcMjczXDI1N1wzNzdcMFwwXDBcMzc3XDExXDExXDExXDM3N1wwXDBcMFwzMFwwXDAiCisgICJcMFwwSUBmXDM3N1wwXDBcMFwwXDBcMFwwXDBJQGZcMzc3XDBcMFwwXDBcMFwwXDBcMElAZlwzNzdcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDMxXDBcMFwwXDM3N1wyMzNcMjMwXDIxMlwzNzdcMjAwfiIKKyAgInJcMzc3XDBcMFwwXDM3N1wyMzZcMjMyXDIxNFwzNzdcMjYwXDI1NFwyMzRcMzc3XDI2MFwyNTRcMjM0XDM3N1wwXDBcMCIKKyAgIlwzNzcrKytcMzc3XDBcMFwwXDI3XDBcMFwwXDBJQGZcMzc3XDBcMFwwXDBJQGYrSUBmXDMyMFwwXDBcMFwwSUBmI0lAIgorICAiZlwzMjBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDMxXDBcMFwwXDM3N3l2bFwzNzciCisgICJkYllcMzc3XDBcMFwwXDM3N1wyMzZcMjMyXDIxNFwzNzdcMjM2XDIzMlwyMTRcMzc3XDIzNlwyMzJcMjE0XDM3N1wwXDAiCisgICJcMFwzNzdcMTBcMTBcMTBcMzc2XDBcMFwwXDI3SUBmK0lAZlwzNzdcMFwwXDBcMElAZk9JQGZcMjUyXDBcMFwwXDBJQCIKKyAgImZASUBmXDI1MlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDBcMzFcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMjQwXDBcMFwwXDM3N1wyMTVcMjEyfVwzNzdcMjM2XDIzMlwyMTRcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzMDBcMFwwXDBcMzBJQGZcMzc3SUBmK1wwXDBcMFwwSUBmXDI1MklAZk9cMFwwXDBcMEkiCisgICJAZllJQGZcMjEzXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcM1wwXDBcMFwzMFwwXDBcMD5cMCIKKyAgIlwwXDBTXDBcMFwwU1wwXDBcMFFcMFwwXDByXDBcMFwwXDM3N357cFwzNzdcMFwwXDBcMzc3XDBcMFwwPVwwXDBcMFwzMiIKKyAgIlwwXDBcMFwwXDBcMFwwXDBJQGYrSUBmXDMyMElAZitcMFwwXDBcMElAZlwyMTNJQGZPXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMlwwXDBcMFwyMlwwXDBcMC9cMFwwXDA9XDBcMFwwO1wwXDBcMCIiOFwwXDBcMEMiCisgICJcMFwwXDBvXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDAiIjFcMFwwXDBcMjZcMFwwXDBcMFwwXDBcMFwwSUBmXDM3NyIKKyAgIklAZitcMFwwXDBcMElAZitJQGZcMjEzSUBmK1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMCIKKyAgIlwwXDBcN1wwXDBcMFwyMlwwXDBcMFwyN1wwXDBcMFwyNlwwXDBcMFwyNlwwXDBcMCVcMFwwXDA+XDBcMFwwbFwwXDBcMCIKKyAgIlwzNzdcMFwwXDBcIlwwXDBcMFwxM1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBJQGZcMzIwIgorICAiSUBmK1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDIiCisgICJcMFwwXDBcM1wwXDBcMFwzXDBcMFwwXDRcMFwwXDBcMTVcMFwwXDAjXDBcMFwwO1wwXDBcMCIiOFwwXDBcMFwzMFwwXDAiCisgICJcMFw0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDNcMFwwXDBcMTVcMFwwXDBcMzdcMFwwXDAlXDBcMFwwXDIxXDBcMFwwXDJcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDExXDBcMFwwXDE1XDBcMFwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifTsKKworCisvKiBHZGtQaXhidWYgUkdCQSBDLVNvdXJjZSBpbWFnZSBkdW1wICovCisKKyNpZmRlZiBfX1NVTlBST19DCisjcHJhZ21hIGFsaWduIDQgKHN0b2NrX21pZGkpCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19taWRpW10gX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICg0KSkpID0gCisjZWxzZQorc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19taWRpW10gPSAKKyNlbmRpZgoreyAiIgorICAvKiBQaXhidWYgbWFnaWMgKDB4NDc2NDZiNTApICovCisgICJHZGtQIgorICAvKiBsZW5ndGg6IGhlYWRlciAoMjQpICsgcGl4ZWxfZGF0YSAoMjMwNCkgKi8KKyAgIlwwXDBcMTFcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoOTYpICovCisgICJcMFwwXDBgIgorICAvKiB3aWR0aCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIGhlaWdodCAoMjQpICovCisgICJcMFwwXDBcMzAiCisgIC8qIHBpeGVsX2RhdGE6ICovCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMjRcMFwwXDBuXDBcMFwwXDI0XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzNlwwXDAiCisgICJcMFwyMDZcMFwwXDAkXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMCRcMFwwXDBeXDBcMFwwdVwwXDBcMFwyMzFcMFwwXDBcMjMxXDBcMFwwUVwwXDBcMDxcMFwwXDAiCisgICIoXDBcMFwwXDE3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwLlwwXDBcMFwyNzZcMFwwXDBYXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXlwwXDBcMENcMFwwXDB1XDBcMFwwJFwwXDBcMFwyNFwwXDBcMEVcMFwwXDB3XDBcMFwwfVwwXDBcMFhcMFwwXDAiIjciCisgICJcMFwwXDBcMTVcMFwwXDBBXDBcMFwwXDIyNVwwXDBcMCIiOFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDI3MVwwXDBcMCRcMFwwXDAiCisgICJcMTc3XDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAhXDBcMFwwPlwwXDBcMFwyMDFcMFwwXDBcMzExIgorICAiXDBcMFwwXDIwMFwwXDBcMEdcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMEVcMFwwXDBcMzY0XDBcMFwwYlwwXDBcMFwzNjJcMFwwXDAiCisgICJVXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMzU1XDM3N1wzNzdcMzc3XDM3N1wwXDBcMFwzNTVcMzc3XDM3N1wzNzdcMzc3IgorICAiXDBcMFwwXDM1NlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3NlwyNTBcMjUwXDI1MFwzNzdcMFwwXDBcMzU1XDI2N1wyNjciCisgICJcMjY3XDM3N1wwXDBcMFwzNTZcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMHtcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMHpcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDM3N1wzMjNcMzIxXDMxNlwzNzdcMjc0XDI3MlwyNjUiCisgICJcMzc3XDI1NFwyNTJcMjQ0XDM3N1wyMzBcMjI2XDIxN1wzNzdcMjMwXDIyNlwyMTdcMzc3XDIzMFwyMjZcMjE3XDM3NyIKKyAgIlwyMzBcMjI2XDIxN1wzNzdcMjMwXDIyNlwyMTdcMzc3XDIzMFwyMjZcMjE3XDM3N1wyMzBcMjI2XDIxN1wzNzdcMjMwIgorICAiXDIyNlwyMTdcMzc3XDIzMFwyMjZcMjE3XDM3N1wyMzBcMjI2XDIxN1wzNzdcMjMwXDIyNlwyMTdcMzc3XDIzMFwyMjYiCisgICJcMjE3XDM3N1wyMzBcMjI2XDIxN1wzNzdcMjMwXDIyNlwyMTdcMzc3enhyXDM3N2JgW1wzNzdVU09cMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwyM1wwXDBcMFwwXDBcMFwwXDM3N1wyNTdcMjU1XDI1MVwzNzdcMjM0XDIzMlwyMjVcMzc3XDIwNFwyMDJ8IgorICAiXDM3N2ZkXVwzNzdmZF1cMzc3ZmRdXDM3N2ZkXVwzNzdmZF1cMzc3ZmRdXDM3N2ZkXVwzNzdmZF1cMzc3ZmRdXDM3N2YiCisgICJkXVwzNzdmZF1cMzc3ZmRdXDM3N2ZkXVwzNzdmZF1cMzc3UlBKXDM3N1JQSlwzNzdBQDtcMzc3XDBcMFwwXDM3N1wwXDAiCisgICJcMCxcMFwwXDBcM1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDAiIjZcMFwwXDBcN1wwXDBcMFwzNzdcMzE1XDMxNVwzMTVcMzc3VlZWXDM3NyIKKyAgIlwwXDBcMFwzNzdcMzEyXDMxMlwzMTJcMzc3VlZWXDM3N1wwXDBcMFwzNzdcMzEwXDMxMFwzMTBcMzc3VlZWXDM3N1wwIgorICAiXDBcMFwzNzdcMzA1XDMwNVwzMDVcMzc3XDMwMlwzMDJcMzAyXDM3N1wyNzFcMjcxXDI3MVwzNzdcMzAzXDMwM1wzMDMiCisgICJcMzc3VlZWXDM3N1wwXDBcMFwzNzdcMzAwXDMwMFwzMDBcMzc3VlZWXDM3N1wwXDBcMFwzNzdcMjc2XDI3NlwyNzZcMzc3IgorICAiXDI3MFwyNzBcMjcwXDM3N1wwXDBcMFwzNzdcMFwwXDBcNzdcMFwwXDBcMTRcMFwwXDBcMzc3XDM3N1wzNzdcMzc3XDM3NyIKKyAgImtra1wzNzdcMFwwXDBcMzc3XDM3NFwzNzRcMzc0XDM3N2tra1wzNzdcMFwwXDBcMzc3XDM3MFwzNzBcMzcwXDM3N2trIgorICAia1wzNzdcMFwwXDBcMzc3XDM2NlwzNjZcMzY2XDM3N1wzNjFcMzYxXDM2MVwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM2MlwzNjIiCisgICJcMzYyXDM3N2tra1wzNzdcMFwwXDBcMzc3XDM2MFwzNjBcMzYwXDM3N2tra1wzNzdcMFwwXDBcMzc3XDM1NVwzNTVcMzU1IgorICAiXDM3N1wzNDZcMzQ2XDM0NlwzNzdcMFwwXDBcMzc3XDBcMFwwRVwwXDBcMFwyMlwwXDBcMFwzNzdcMzc3XDM3N1wzNzciCisgICJcMzc3a2trXDM3N1wwXDBcMFwzNzdcMzczXDM3M1wzNzNcMzc3a2trXDM3N1wwXDBcMFwzNzdcMzY3XDM2N1wzNjdcMzc3IgorICAia2trXDM3N1wwXDBcMFwzNzdcMzY1XDM2NVwzNjVcMzc3XDM2MVwzNjFcMzYxXDM3N1wzNDVcMzQ1XDM0NVwzNzdcMzYyIgorICAiXDM2MlwzNjJcMzc3a2trXDM3N1wwXDBcMFwzNzdcMzU3XDM1N1wzNTdcMzc3a2trXDM3N1wwXDBcMFwzNzdcMzU0XDM1NCIKKyAgIlwzNTRcMzc3XDM0NVwzNDVcMzQ1XDM3N1wwXDBcMFwzNzdcMFwwXDBEXDBcMFwwXDIzXDBcMFwwXDM3N1wzNzdcMzc3IgorICAiXDM3N1wzNzdra2tcMzc3XDBcMFwwXDM3N1wzNzJcMzcyXDM3MlwzNzdra2tcMzc3XDBcMFwwXDM3N1wzNjdcMzY3XDM2NyIKKyAgIlwzNzdra2tcMzc3XDBcMFwwXDM3N1wzNjVcMzY1XDM2NVwzNzdcMzYwXDM2MFwzNjBcMzc3XDM0NFwzNDRcMzQ0XDM3NyIKKyAgIlwzNjJcMzYyXDM2MlwzNzdra2tcMzc3XDBcMFwwXDM3N1wzNTZcMzU2XDM1NlwzNzdra2tcMzc3XDBcMFwwXDM3N1wzNTMiCisgICJcMzUzXDM1M1wzNzdcMzQ0XDM0NFwzNDRcMzc3XDBcMFwwXDM3N1wwXDBcMERcMFwwXDBcMjBcMFwwXDBcMzc3XDM3NiIKKyAgIlwzNzZcMzc2XDM3N05OTlwzNzdcMFwwXDBcMzc3XDM3MlwzNzJcMzcyXDM3N05OTlwzNzdcMFwwXDBcMzc3XDM2NlwzNjYiCisgICJcMzY2XDM3N05OTlwzNzdcMFwwXDBcMzc3XDM2NVwzNjVcMzY1XDM3N1wzNTdcMzU3XDM1N1wzNzdcMzQ0XDM0NFwzNDQiCisgICJcMzc3XDM2MVwzNjFcMzYxXDM3N05OTlwzNzdcMFwwXDBcMzc3XDM1NlwzNTZcMzU2XDM3N05OTlwzNzdcMFwwXDBcMzc3IgorICAiXDM1M1wzNTNcMzUzXDM3N1wzNDNcMzQzXDM0M1wzNzdcMFwwXDBcMzc3XDBcMFwwRFwwXDBcMFwxNlwwXDBcMFwzNzciCisgICJcMzc1XDM3NVwzNzVcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNjBcMzYwXDM2MFwzNzdcMzcyXDM3MlwzNzJcMzc3XDM2NyIKKyAgIlwzNjdcMzY3XDM3N1wzNTRcMzU0XDM1NFwzNzdcMzY2XDM2NlwzNjZcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNDdcMzQ3IgorICAiXDM0N1wzNzdcMzY0XDM2NFwzNjRcMzc3XDM1NlwzNTZcMzU2XDM3N1wzNDNcMzQzXDM0M1wzNzdcMzYwXDM2MFwzNjAiCisgICJcMzc3XDM1MlwzNTJcMzUyXDM3N1wzMzZcMzM2XDMzNlwzNzdcMzU2XDM1NlwzNTZcMzc3XDM0NlwzNDZcMzQ2XDM3NyIKKyAgIlwzMzJcMzMyXDMzMlwzNzdcMzUzXDM1M1wzNTNcMzc3XDM0M1wzNDNcMzQzXDM3N1wwXDBcMFwzNzdcMFwwXDBEXDBcMCIKKyAgIlwwXDE2XDBcMFwwXDM3N1wzNzRcMzc0XDM3NFwzNzdcMzczXDM3M1wzNzNcMzc3XDM1N1wzNTdcMzU3XDM3N1wzNzJcMzcyIgorICAiXDM3MlwzNzdcMzY2XDM2NlwzNjZcMzc3XDM1M1wzNTNcMzUzXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzYyXDM2MlwzNjIiCisgICJcMzc3XDM0N1wzNDdcMzQ3XDM3N1wzNjNcMzYzXDM2M1wzNzdcMzU2XDM1NlwzNTZcMzc3XDM0MlwzNDJcMzQyXDM3NyIKKyAgIlwzNjBcMzYwXDM2MFwzNzdcMzUxXDM1MVwzNTFcMzc3XDMzNlwzMzZcMzM2XDM3N1wzNTVcMzU1XDM1NVwzNzdcMzQ1IgorICAiXDM0NVwzNDVcMzc3XDMzMVwzMzFcMzMxXDM3N1wzNTJcMzUyXDM1MlwzNzdcMzQyXDM0MlwzNDJcMzc3XDBcMFwwXDM3NyIKKyAgIlwwXDBcMERcMFwwXDBcMTZcMFwwXDBcMzc3XDM3NFwzNzRcMzc0XDM3N1wzNzNcMzczXDM3M1wzNzdcMzcwXDM3MFwzNzAiCisgICJcMzc3XDM3M1wzNzNcMzczXDM3N1wzNzNcMzczXDM3M1wzNzdcMzY2XDM2NlwzNjZcMzc3XDM3M1wzNzNcMzczXDM3NyIKKyAgIlwzNzFcMzcxXDM3MVwzNzdcMzY2XDM2NlwzNjZcMzc3XDM3MVwzNzFcMzcxXDM3N1wzNzBcMzcwXDM3MFwzNzdcMzYzIgorICAiXDM2M1wzNjNcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNjZcMzY2XDM2NlwzNzdcMzYxXDM2MVwzNjFcMzc3XDM3MFwzNzAiCisgICJcMzcwXDM3N1wzNjRcMzY0XDM2NFwzNzdcMzYwXDM2MFwzNjBcMzc3XDM3MFwzNzBcMzcwXDM3N1wzNDFcMzQxXDM0MSIKKyAgIlwzNzdcMFwwXDBcMzc3XDBcMFwwRFwwXDBcMFwxNlwwXDBcMFwzNzdcMzAxXDMwMVwzMDFcMzc3XDMwMFwzMDBcMzAwIgorICAiXDM3N1wyNjdcMjY3XDI2N1wzNzdcMzAxXDMwMVwzMDFcMzc3XDI3NVwyNzVcMjc1XDM3N1wyNzBcMjcwXDI3MFwzNzciCisgICJcMjc1XDI3NVwyNzVcMzc3XDI3MlwyNzJcMjcyXDM3N1wyNjRcMjY0XDI2NFwzNzdcMjcyXDI3MlwyNzJcMzc3XDI3MCIKKyAgIlwyNzBcMjcwXDM3N1wyNTFcMjUxXDI1MVwzNzdcMjcyXDI3MlwyNzJcMzc3XDI2M1wyNjNcMjYzXDM3N1wyNTFcMjUxIgorICAiXDI1MVwzNzdcMjY2XDI2NlwyNjZcMzc3XDI1N1wyNTdcMjU3XDM3N1wyNDZcMjQ2XDI0NlwzNzdcMjY0XDI2NFwyNjQiCisgICJcMzc3XDI1NVwyNTVcMjU1XDM3N1wwXDBcMFwzNzdcMFwwXDBEXDBcMFwwXDE2XDBcMFwwblwwXDBcMFwzNzdcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMCIKKyAgIlwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwIgorICAiXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDIyN1wwXDBcMFw3N1wwIgorICAiXDBcMFwxNFwwXDBcMFw2XDBcMFwwI1wwXDBcMD5cMFwwXDBEXDBcMFwwRFwwXDBcMERcMFwwXDBEXDBcMFwwRFwwXDAiCisgICJcMERcMFwwXDBEXDBcMFwwRFwwXDBcMERcMFwwXDBEXDBcMFwwRFwwXDBcMERcMFwwXDBEXDBcMFwwRFwwXDBcMERcMCIKKyAgIlwwXDBEXDBcMFwwRFwwXDBcMERcMFwwXDBcNzdcMFwwXDAjXDBcMFwwXDZcMFwwXDBcMVwwXDBcMFw2XDBcMFwwXDE0IgorICAiXDBcMFwwXDE1XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwIgorICAiXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDAiCisgICJcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE2XDBcMFwwXDE0XDBcMFwwXDZcMFwwXDBcMSJ9OworCisKKy8qIEdka1BpeGJ1ZiBSR0JBIEMtU291cmNlIGltYWdlIGR1bXAgKi8KKworI2lmZGVmIF9fU1VOUFJPX0MKKyNwcmFnbWEgYWxpZ24gNCAoc3RvY2tfYXV0aGVudGljYXRpb24pCisjZW5kaWYKKyNpZmRlZiBfX0dOVUNfXworc3RhdGljIGNvbnN0IGd1aW50OCBzdG9ja19hdXRoZW50aWNhdGlvbltdIF9fYXR0cmlidXRlX18gKChfX2FsaWduZWRfXyAoNCkpKSA9IAorI2Vsc2UKK3N0YXRpYyBjb25zdCBndWludDggc3RvY2tfYXV0aGVudGljYXRpb25bXSA9IAorI2VuZGlmCit7ICIiCisgIC8qIFBpeGJ1ZiBtYWdpYyAoMHg0NzY0NmI1MCkgKi8KKyAgIkdka1AiCisgIC8qIGxlbmd0aDogaGVhZGVyICgyNCkgKyBwaXhlbF9kYXRhICg5MjE2KSAqLworICAiXDBcMCRcMzAiCisgIC8qIHBpeGRhdGFfdHlwZSAoMHgxMDEwMDAyKSAqLworICAiXDFcMVwwXDIiCisgIC8qIHJvd3N0cmlkZSAoMTkyKSAqLworICAiXDBcMFwwXDMwMCIKKyAgLyogd2lkdGggKDQ4KSAqLworICAiXDBcMFwwIiIwIgorICAvKiBoZWlnaHQgKDQ4KSAqLworICAiXDBcMFwwIiIwIgorICAvKiBwaXhlbF9kYXRhOiAqLworICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDJcMFwwXDBcMyIKKyAgIlwwXDBcMFw0XDBcMFwwXDVcMFwwXDBcNVwwXDBcMFw1XDBcMFwwXDRcMFwwXDBcM1wwXDBcMFwyXDBcMFwwXDFcMFwwIgorICAiXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwxXDBcMFwwXDJcMFwwXDBcNFwwXDBcMFw3XDBcMFwwXDEyXDBcMFwwXDE2XDBcMFwwXDIxXDBcMFwwXDIzXDBcMCIKKyAgIlwwXDIzXDBcMFwwXDIzXDBcMFwwXDIxXDBcMFwwXDE2XDBcMFwwXDEyXDBcMFwwXDdcMFwwXDBcNFwwXDBcMFwyXDBcMCIKKyAgIlwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw0XDBcMFwwXDEwXDBcMCIKKyAgIlwwXDE2XDBcMFwwZ1wwXDBcMFwyNTNcMFwwXDBcMzMyXDBcMFwwXDM2NlwxXDFcMVwzNzdcMFwwXDBcMzY2XDBcMFwwIgorICAiXDMzNFwwXDBcMFwyNjBcMFwwXDBxXDBcMFwwXDM2XDBcMFwwXDI1XDBcMFwwXDE2XDBcMFwwXDEwXDBcMFwwXDRcMFwwIgorICAiXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDJcMFwwXDBcNVwwXDBcMFwxNFwwXDBcMFwyMDNcMFwwXDBcMzU0IgorICAiXDFcMVwxXDM3N1wyMzNcMjMzXDIzM1wzNzdcMzIwXDMyMFwzMjBcMzc3XDM0M1wzNDNcMzQzXDM3N1wzNTFcMzUxXDM1MSIKKyAgIlwzNzdcMzM1XDMzNVwzMzVcMzc3XDMwNlwzMDZcMzA2XDM3N1wyMjFcMjIxXDIyMVwzNzdcMVwxXDFcMzc3XDBcMFwwIgorICAiXDM1NlwwXDBcMFwyMjFcMFwwXDAjXDBcMFwwXDI3XDBcMFwwXDE1XDBcMFwwXDVcMFwwXDBcMlwwXDBcMFwxXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcMlwwIgorICAiXDBcMFw3XDBcMFwwPlwwXDBcMFwzMjBcMVwxXDFcMzc3XDI3NlwyNzZcMjc2XDM3N1wzNTJcMzUyXDM1MlwzNzdcMzYxIgorICAiXDM2MVwzNjFcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzU1XDM1NVwzNTVcMzc3XDM1MlwzNTIiCisgICJcMzUyXDM3N1wzNDZcMzQ2XDM0NlwzNzdcMzQyXDM0MlwzNDJcMzc3XDMzMFwzMzBcMzMwXDM3N1wyMzRcMjM0XDIzNCIKKyAgIlwzNzdcMVwxXDFcMzc3XDBcMFwwXDMzMFwwXDBcMFdcMFwwXDBcMzZcMFwwXDBcMjBcMFwwXDBcN1wwXDBcMFwyXDBcMCIKKyAgIlwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcNyIKKyAgIlwwXDBcMFJcMFwwXDBcMzY2YGBgXDM3N1wzNDNcMzQzXDM0M1wzNzdcMzYzXDM2M1wzNjNcMzc3XDM2MFwzNjBcMzYwIgorICAiXDM3N1wzNTRcMzU0XDM1NFwzNzdcMzQ2XDM0NlwzNDZcMzc3XDM0NFwzNDRcMzQ0XDM3N1wzNDNcMzQzXDM0M1wzNzciCisgICJcMzQyXDM0MlwzNDJcMzc3XDM0MlwzNDJcMzQyXDM3N1wzNDJcMzQyXDM0MlwzNzdcMzQxXDM0MVwzNDFcMzc3XDMyNiIKKyAgIlwzMjZcMzI2XDM3N1wyNjdcMjY3XDI2N1wzNzdFRUVcMzc3XDBcMFwwXDM2N1wwXDBcMG1cMFwwXDBcIlwwXDBcMFwyMiIKKyAgIlwwXDBcMFw3XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMCIKKyAgIlwwXDVcMFwwXDA+XDBcMFwwXDM2NlwyMDVcMjA1XDIwNVwzNzdcMzU0XDM1NFwzNTRcMzc3XDM2M1wzNjNcMzYzXDM3NyIKKyAgIlwzNTJcMzUyXDM1MlwzNzdcMzQzXDM0M1wzNDNcMzc3XDMzMVwzMzFcMzMxXDM3N1wzMTZcMzE2XDMxNlwzNzdcMzAyIgorICAiXDMwMlwzMDJcMzc3XDMwMlwzMDJcMzAyXDM3N1wzMTRcMzE0XDMxNFwzNzdcMzI1XDMyNVwzMjVcMzc3XDMzNFwzMzQiCisgICJcMzM0XDM3N1wzNDBcMzQwXDM0MFwzNzdcMzM1XDMzNVwzMzVcMzc3XDMxMFwzMTBcMzEwXDM3N1wyNzFcMjcxXDI3MSIKKyAgIlwzNzdiYmJcMzc3XDBcMFwwXDM3MFwwXDBcMFlcMFwwXDAhXDBcMFwwXDE3XDBcMFwwXDVcMFwwXDBcMVwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw0XDBcMFwwXDE1XDBcMFwwXDMyMF5eXlwzNzdcMzU0XDM1NFwzNTQiCisgICJcMzc3XDM2M1wzNjNcMzYzXDM3N1wzNTBcMzUwXDM1MFwzNzdcMzM0XDMzNFwzMzRcMzc3XDI3NFwyNzRcMjc0XDM3MCIKKyAgIlhYWFwzNjBcMjRcMjRcMjRcMzQxXDBcMFwwXDMzM1wwXDBcMFwzMjZcMFwwXDBcMzI0e3t7XDM1MlwyNzZcMjc2XDI3NiIKKyAgIlwzNjZcMzQwXDM0MFwzNDBcMzc3XDMzN1wzMzdcMzM3XDM3N1wzMzRcMzM0XDMzNFwzNzdcMzAzXDMwM1wzMDNcMzc3IgorICAiXDI3M1wyNzNcMjczXDM3N0xMTFwzNzdcMFwwXDBcMjczXDBcMFwwIiI1XDBcMFwwXDMzXDBcMFwwXDEzXDBcMFwwXDMiCisgICJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMTBcMFwwXDBcMjAzXDFcMVwxXDM3N1wzNDJcMzQyIgorICAiXDM0MlwzNzdcMzYzXDM2M1wzNjNcMzc3XDM1MVwzNTFcMzUxXDM3N1wzMzBcMzMwXDMzMFwzNzdcMjI3XDIyN1wyMjciCisgICJcMzU0XDBcMFwwXDM1MlwwXDBcMFwyNzRcMFwwXDBnXDBcMFwwWVwwXDBcMFNcMFwwXDBRXDBcMFwwWVwwXDBcMFwzMDUiCisgICJcMjM0XDIzNFwyMzRcMzUxXDMzNVwzMzVcMzM1XDM3MVwzNDBcMzQwXDM0MFwzNzdcMzMwXDMzMFwzMzBcMzc3XDI3MyIKKyAgIlwyNzNcMjczXDM3N1wyNjZcMjY2XDI2NlwzNzdcMVwxXDFcMzc3XDBcMFwweFwwXDBcMCpcMFwwXDBcMjNcMFwwXDBcNyIKKyAgIlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcM1wwXDBcMFwxNVwwXDBcMFwzNTRcMjcxXDI3MVwyNzFcMzc3XDM2MyIKKyAgIlwzNjNcMzYzXDM3N1wzNTNcMzUzXDM1M1wzNzdcMzMwXDMzMFwzMzBcMzc3XDIxMlwyMTJcMjEyXDM1NlwwXDBcMFwzNDIiCisgICJcMFwwXDB9XDBcMFwwV1wwXDBcMEZcMFwwXDAiIjlcMFwwXDAiIjBcMFwwXDAuXDBcMFwwIiIxXDBcMFwwO1wwXDBcMCIKKyAgIlwyMjRcMjIyXDIyMlwyMjJcMzM3XDMzM1wzMzNcMzMzXDM2N1wzMzdcMzM3XDMzN1wzNzdcMzE2XDMxNlwzMTZcMzc3IgorICAiXDI2M1wyNjNcMjYzXDM3N1wyMjNcMjIzXDIyM1wzNzdcMFwwXDBcMzEzXDBcMFwwOlwwXDBcMFwzNlwwXDBcMFwxM1wwIgorICAiXDBcMFwzXDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNlwwXDBcMEVcMVwxXDFcMzc3XDM1MlwzNTJcMzUyXDM3N1wzNjFcMzYxIgorICAiXDM2MVwzNzdcMzM1XDMzNVwzMzVcMzc3XDMwMFwzMDBcMzAwXDM3N1wyXDJcMlwzNTBcMFwwXDBcMjE0XDBcMFwwVFwwIgorICAiXDBcMDxcMFwwXDApXDBcMFwwXDM0XDBcMFwwXDI1XDBcMFwwXDIzXDBcMFwwXDI2XDBcMFwwXDM3XDBcMFwwLlwwXDAiCisgICJcMFwyNDBcMjQyXDI0MlwyNDJcMzM3XDM0NVwzNDVcMzQ1XDM3N1wzMzVcMzM1XDMzNVwzNzdcMzAwXDMwMFwzMDBcMzc3IgorICAiXDI2NlwyNjZcMjY2XDM3N1wxXDFcMVwzNzdcMFwwXDBhXDBcMFwwKVwwXDBcMFwyMlwwXDBcMFw1XDBcMFwwXDFcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDJcMFwwXDBcMTFcMFwwXDBwXDI0MFwyNDBcMjQwXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzUwXDM1MFwzNTBcMzc3IgorICAiXDMwNlwzMDZcMzA2XDM3N1wyMDFcMjAxXDIwMVwzNTRcMFwwXDBcMzIyXDBcMFwwWlwwXDBcMD5cMFwwXDAlXDBcMFwwIgorICAiXDI0XDBcMFwwXDEzXDBcMFwwXDdcMFwwXDBcNVwwXDBcMFw3XDBcMFwwXDE1XDBcMFwwXDMwXDBcMFwwIiIwXDJcMlwyIgorICAiXDMxM1wzMzRcMzM0XDMzNFwzNTdcMzUyXDM1MlwzNTJcMzc3XDMyMVwzMjFcMzIxXDM3N1wyNTZcMjU2XDI1NlwzNzciCisgICJ2dnZcMzc3XDBcMFwwXDIyMFwwXDBcMCIiNFwwXDBcMFwzMFwwXDBcMFwxMFwwXDBcMFwyXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDE0IgorICAiXDBcMFwwXDIyM1wzMjBcMzIwXDMyMFwzNzdcMzYyXDM2MlwzNjJcMzc3XDMzMVwzMzFcMzMxXDM3N1wzMDBcMzAwXDMwMCIKKyAgIlwzNzcvLy9cMzQ1XDBcMFwwXDIxM1wwXDBcMEpcMFwwXDAsXDBcMFwwXDI1XDBcMFwwXDExXDBcMFwwXDNcMFwwXDBcMSIKKyAgIlwwXDBcMFwxXDBcMFwwXDJcMFwwXDBcNFwwXDBcMFwxM1wwXDBcMFwzMVwwXDBcMG5cMjAyXDIwMlwyMDJcMzQwXDM1NiIKKyAgIlwzNTZcMzU2XDM3N1wzMzRcMzM0XDMzNFwzNzdcMjY1XDI2NVwyNjVcMzc3XDIzN1wyMzdcMjM3XDM3N1wwXDBcMFwyNzQiCisgICJcMFwwXDA+XDBcMFwwXDM3XDBcMFwwXDEzXDBcMFwwXDNcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDRcMFwwXDBcMTZcMFwwXDBcMzI1XDM0MVwzNDFcMzQxIgorICAiXDM3N1wzNjFcMzYxXDM2MVwzNzdcMzE0XDMxNFwzMTRcMzc3XDMwMFwzMDBcMzAwXDM3N1wxN1wxN1wxN1wzMzFcMFwwIgorICAiXDBlXDBcMFwwPVwwXDBcMFw0MFwwXDBcMFwxNlwwXDBcMFw1XDBcMFwwXDJcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDEiCisgICJcMFwwXDBcMlwwXDBcMFw1XDBcMFwwXDE3XDBcMFwwI1wzN1wzN1wzN1wzMjNcMzU0XDM1NFwzNTRcMzc3XDM0MlwzNDIiCisgICJcMzQyXDM3N1wzMDBcMzAwXDMwMFwzNzdcMjUwXDI1MFwyNTBcMzc3XDBcMFwwXDMyNVwwXDBcMEdcMFwwXDAlXDBcMCIKKyAgIlwwXDE2XDBcMFwwXDRcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwyXDBcMFwwXDdcMFwwXDBcMjRcMFwwXDBcMzM2XDM0NlwzNDZcMzQ2XDM3N1wzNTdcMzU3XDM1N1wzNzciCisgICJcMzEzXDMxM1wzMTNcMzc3XDI2N1wyNjdcMjY3XDM3N1wwXDBcMFwzMjJcMFwwXDBXXDBcMFwwIiI2XDBcMFwwXDM0XDAiCisgICJcMFwwXDE1XDBcMFwwXDEwXDBcMFwwXDVcMFwwXDBcNVwwXDBcMFw1XDBcMFwwXDVcMFwwXDBcNVwwXDBcMFwxMFwwXDAiCisgICJcMFwxNlwwXDBcMFwzNVwwXDBcMFwzMDFcMzUxXDM1MVwzNTFcMzc3XDM0NVwzNDVcMzQ1XDM3N1wzMDVcMzA1XDMwNSIKKyAgIlwzNzdcMjU2XDI1NlwyNTZcMzc3XDBcMFwwXDM2MFwwXDBcME9cMFwwXDAuXDBcMFwwXDI1XDBcMFwwXDEwXDBcMFwwIgorICAiXDNcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDJcMFwwXDBcNlwwXDBcMCIKKyAgIlwxN1wwXDBcMFwzN1wwXDBcMFwzNTRcMzMyXDMzMlwzMzJcMzc3XDM1M1wzNTNcMzUzXDM3N1wzMTJcMzEyXDMxMlwzNzciCisgICJcMjUzXDI1M1wyNTNcMzc3XDBcMFwwXDMyMlwwXDBcMFlcMFwwXDA8XDBcMFwwJVwwXDBcMFwzMlwwXDBcMFwyNlwwXDAiCisgICJcMFwyNVwwXDBcMFwyNVwwXDBcMFwyNVwwXDBcMFwyNVwwXDBcMFwyNVwwXDBcMFwyNlwwXDBcMFwzMlwwXDBcMCZcMCIKKyAgIlwwXDBcMzAwXDM0NFwzNDRcMzQ0XDM3N1wzNDNcMzQzXDM0M1wzNzdcMzEyXDMxMlwzMTJcMzc3XDI1NVwyNTRcMjUyIgorICAiXDM3N1wwXDBcMFwzNzFcMFwwXDBZXDBcMFwwO1wwXDBcMFwiXDBcMFwwXDIzXDBcMFwwXDEyXDBcMFwwXDVcMFwwXDAiCisgICJcMlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1IiIxXDI2XDdmN1wzMVwxMFwzNzc3XDMxXDEwXDM3NyIKKyAgIjdcMzFcMTBcMzc3XDIzNFJcMjdcMzc3XDI3MG4lXDM3N1wyNzFrJlwzNzdcMjQ3WlwzNFwzNzc3XDMxXDEwXDM3NzdcMzEiCisgICJcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTAiCisgICJcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3IgorICAiN1wzMVwxMFwzNzdcMjQ1XlwzN1wzNzdcMjc0cypcMzc3XDI3MG8nXDM3N1wyMjdVXDMyXDM3NzdcMzFcMTBcMzc3N1wzMSIKKyAgIlwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3JVwyMFw1X1wwXDBcMFwzM1wwXDBcMFwxNlwwXDBcMFw1XDBcMFwwIgorICAiXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwzXDBcMFwwXDEyIiI3XDMxXDEwXDM3N1wzMTFcMjM0YlwzNzdcMzY0XDM0MVwzMTMiCisgICJcMzc3XDM2NFwzNDBcMzExXDM3N1wzNTdcMzMzXDI3NlwzNzdcMzU0XDMyNVwyNjdcMzc3XDM1M1wzMjJcMjY0XDM3NyIKKyAgIlwzNTJcMzIyXDI2M1wzNzdcMzUzXDMxN1wyNjBcMzc3XDM1MVwzMTZcMjU2XDM3N1wzNTBcMzE0XDI1M1wzNzdcMzQ3IgorICAiXDMxNFwyNTBcMzc3XDM1MFwzMDdcMjQxXDM3N1wzNDZcMzA2XDI0MVwzNzdcMzQ2XDMwNlwyNDFcMzc3XDM0NlwzMDYiCisgICJcMjQxXDM3N1wzNDZcMzA2XDI0MVwzNzdcMzQ2XDMwNlwyNDFcMzc3XDM1MFwzMDdcMjQxXDM3N1wzNTBcMzA3XDI0MSIKKyAgIlwzNzdcMzQ2XDMwNlwyNDFcMzc3XDM0NVwzMDVcMjQwXDM3N1wzNDVcMzA1XDI0MFwzNzdcMzQzXDMwMlwyMzJcMzc3IgorICAiXDM0MFwzMDBcMjMzXDM3N1wzNDBcMjc1XDIyM1wzNzdcMzM3XDI3MlwyMjJcMzc3XDMzN1wyNzJcMjE2XDM3N1wzMzUiCisgICJcMjYzXDIwNlwzNzdcMzI1XDI1NHxcMzc3XDI0MmFcMzNcMzc3N1wzMVwxMFwzNzdcMFwwXDAiIjFcMFwwXDBcMzJcMCIKKyAgIlwwXDBcMTJcMFwwXDBcM1wwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDRcMFwwXDBcMjAiIjdcMzFcMTBcMzc3XDM2NVwzNDZcMzIwIgorICAiXDM3N1wzNTJcMzIzXDI1N1wzNzdcMzUyXDMxN1wyNTdcMzc3XDM0M1wzMDJcMjMyXDM3N1wzMzJcMjcwXDIxM1wzNzciCisgICJcMzMyXDI2NlwyMDdcMzc3XDMzMFwyNjBcMjAxXDM3N1wzMjZcMjU2XDE3N1wzNzdcMzIzXDI1M3xcMzc3XDMyMVwyNTEiCisgICJ0XDM3N1wzMTdcMjQ1blwzNzdcMzE0XDI0M21cMzc3XDMxMlwyMzdnXDM3N1wzMTJcMjM3Z1wzNzdcMzEyXDIzN2dcMzc3IgorICAiXDMxMlwyMzdnXDM3N1wzMTJcMjM3Z1wzNzdcMzEyXDIzN2dcMzc3XDMxMlwyMzdnXDM3N1wzMTBcMjM2Z1wzNzdcMzA2IgorICAiXDIzM2NcMzc3XDMwMlwyMzBhXDM3N1wzMDJcMjIzW1wzNzdcMjc3XDIyMFJcMzc3XDI3NFwyMTBLXDM3N1wyNzVcMjA0IgorICAiQFwzNzdcMjcyfj1cMzc3XDI2M3Y0XDM3N1wyNDdqXCJcMzc3XDIxNVNcMjRcMzc3N1wzMVwxMFwzNzdcMFwwXDBFXDAiCisgICJcMFwwJlwwXDBcMFwxN1wwXDBcMFw0XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNVwwXDBcMFwyMyIiN1wzMVwxMFwzNzdcMzY1IgorICAiXDM0NFwzMTZcMzc3XDM1MVwzMTZcMjU2XDM3N1wzNDdcMzE1XDI1MFwzNzdcMzM3XDI3NVwyMjBcMzc3XDMzMFwyNjEiCisgICJcMjAzXDM3N1wzMjVcMjU1flwzNzdcMzIyXDI1MntcMzc3XDMyMlwyNDZ3XDM3N1wzMjBcMjQ3cVwzNzdcMzE1XDI0MyIKKyAgImxcMzc3XDMxMFwyMzdoXDM3N1wzMDVcMjMzZFwzNzdcMzA0XDIzMWFcMzc3XDMwNFwyMzFhXDM3N1wzMDRcMjMxYVwzNzciCisgICJcMzA1XDIzMmJcMzc3XDMwNVwyMzJiXDM3N1wzMDVcMjMyYlwzNzdcMzA1XDIzMmJcMzc3XDMwNFwyMzFhXDM3N1wzMDIiCisgICJcMjMwXVwzNzdcMzAxXDIyNFpcMzc3XDI3N1wyMjBUXDM3N1wyNzZcMjE2T1wzNzdcMjc0XDIwN0lcMzc3XDI3MlwyMDIiCisgICJcNzdcMzc3XDI3Mn49XDM3N1wyNjF0MlwzNzdcMjQ3alwiXDM3N1wyMTNSXDI0XDM3NzdcMzFcMTBcMzc3XDBcMFwwUSIKKyAgIlwwXDBcMC5cMFwwXDBcMjNcMFwwXDBcNVwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDVcMFwwXDBcMjQiIjdcMzFcMTBcMzc3XDM2NSIKKyAgIlwzNDZcMzIwXDM3N1wzNTNcMzE3XDI2MFwzNzdcMzUxXDMxNlwyNTZcMzc3XDM0MFwyNzdcMjI3XDM3N1wzMzNcMjY0IgorICAiXDIwNlwzNzdcMzMwXDI2MFwyMDFcMzc3XDMyN1wyNTdcMjAwXDM3N1wzMjJcMjU0e1wzNzdcMzIyXDI0NndcMzc3XDMyMCIKKyAgIlwyNDZvXDM3N1wzMTRcMjQzbVwzNzdcMjY1XDIxNlxcXDM3N1wyNDB+UFwzNzdcMjMyeU1cMzc3XDIzMnlNXDM3N1wyNjIiCisgICJcMjE0WVwzNzdcMzA3XDIzNGRcMzc3XDMwN1wyMzRkXDM3N1wzMDdcMjM0ZFwzNzdcMzA1XDIzMmJcMzc3XDMwMlwyMjciCisgICJfXDM3N1wzMDJcMjIzW1wzNzdcMjc3XDIyMFRcMzc3XDI3NlwyMTZPXDM3N1wyNzRcMjA0QVwzNzdcMjcyXDIwMlw3NyIKKyAgIlwzNzdcMjY1fDhcMzc3XDI1N3MsXDM3N1wyNDNmXDM2XDM3N1wyMDdQXDI0XDM3NzdcMzFcMTBcMzc3XDBcMFwwV1wwIgorICAiXDBcMCIiMlwwXDBcMFwyNVwwXDBcMFw1XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNVwwXDBcMFwyNSIiN1wzMVwxMFwzNzdcMzY1IgorICAiXDM0NFwzMTZcMzc3XDM1MlwzMTdcMjU3XDM3N1wzNTBcMzE1XDI1MVwzNzdcMzM3XDI3NFwyMjJcMzc3XDMyNVwyNTUiCisgICJ+XDM3N1wzMjJcMjUzfVwzNzdcMzIyXDI1MntcMzc3XDMyMFwyNTN1XDM3N1wzMjBcMjQ2b1wzNzdcMzE1XDI0M2xcMzc3IgorICAiXDI2M1wyMTZdXDM3N1wyMjR0SlwzNzd3XjxcMzc3XDQwXDMxXDIwXDM3N1wwXDBcMFwzNzdcNDBcMzFcMjBcMzc3eWAiCisgICI+XDM3N1wzMTBcMjM3aFwzNzdcMzEyXDIzN2dcMzc3XDMwN1wyMzVmXDM3N1wzMDVcMjMzZFwzNzdcMzA0XDIzMWFcMzc3IgorICAiXDMwMlwyMzBdXDM3N1wyNzdcMjIxVlwzNzdcMjc2XDIxNk9cMzc3XDI3NlwyMDZFXDM3N1wyNzRcMjAzXDc3XDM3N1wyNjYiCisgICJ8N1wzNzdcMjUybCNcMzc3XDIxNVVcMjRcMzc3N1wzMVwxMFwzNzdcMFwwXDBYXDBcMFwwIiIzXDBcMFwwXDI1XDBcMCIKKyAgIlwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1XDBcMFwwXDI1IiI3XDMxXDEwXDM3N1wzNjVcMzQ0XDMxNlwzNzdcMzUxXDMxNiIKKyAgIlwyNTZcMzc3XDM1MFwzMTZcMjUxXDM3N1wzNDFcMjc0XDIyNFwzNzdcMzMyXDI2NFwyMDdcMzc3XDMzMFwyNjJcMjAxIgorICAiXDM3N1wzMjdcMjU3XDIwMFwzNzdcMzIyXDI1MntcMzc3XDMyMFwyNTBzXDM3N1wzMTdcMjQ1blwzNzdcMjIydE1cMzc3IgorICAiemA+XDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3eWBcNzdcMzc3XDMxMiIKKyAgIlwyMzdnXDM3N1wzMDVcMjMzZFwzNzdcMzA1XDIzMmJcMzc3XDMwMlwyMjdfXDM3N1wzMDFcMjI0WlwzNzdcMjc2XDIxNyIKKyAgIlFcMzc3XDI3NFwyMDdJXDM3N1wyNzJcMjAxPVwzNzdcMjY3fjpcMzc3XDI2M3k0XDM3N1wyNDZpIVwzNzdcMjEzUlwyNCIKKyAgIlwzNzc3XDMxXDEwXDM3N1wwXDBcMFhcMFwwXDAiIjNcMFwwXDBcMjVcMFwwXDBcNlwwXDBcMFwxXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDUiCisgICJcMFwwXDBcMjUiIjdcMzFcMTBcMzc3XDM2NFwzNDFcMzEzXDM3N1wzNTBcMzE1XDI1MVwzNzdcMzQ1XDMxMVwyNDRcMzc3IgorICAiXDMzNVwyNzJcMjIwXDM3N1wzMjVcMjU1flwzNzdcMzIyXDI1MntcMzc3XDMyMlwyNTJ7XDM3N1wzMjJcMjQ1dVwzNzciCisgICJcMzIxXDI0N3BcMzc3XDMxNFwyNDNtXDM3N1wyMjV1TFwzNzdcNDBcMzJcMjBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzchXDMyXDIwXDM3N1wzMjdcMjY3XDIxNlwzNzdcMzEwXDIzNmdcMzc3IgorICAiXDMwNlwyMzNjXDM3N1wzMDRcMjMxYVwzNzdcMzAyXDIyN19cMzc3XDI3N1wyMjFWXDM3N1wyNzVcMjE0TFwzNzdcMjc0IgorICAiXDIxMEVcMzc3XDI3M1wyMDI+XDM3N1wyNjZ8N1wzNzdcMjUxa1wiXDM3N1wyMTVTXDI0XDM3NzdcMzFcMTBcMzc3XDAiCisgICJcMFwwWFwwXDBcMCIiM1wwXDBcMFwyNVwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNVwwXDBcMFwyNSIiN1wzMVwxMCIKKyAgIlwzNzdcMzY1XDM0NFwzMTZcMzc3XDM1MVwzMTVcMjU0XDM3N1wzNDdcMzEzXDI0NlwzNzdcMzM3XDI3NFwyMjJcMzc3IgorICAiXDMzMFwyNjBcMjAxXDM3N1wzMjZcMjU2XDE3N1wzNzdcMzIyXDI1M31cMzc3XDMyMlwyNTJ7XDM3N1wzMjFcMjQ1clwzNzciCisgICJcMzE1XDI0M2xcMzc3XDIyNndOXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDAiCisgICJcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMzQxXDMxM1wyNTVcMzc3XDMwN1wyMzVmXDM3N1wzMDRcMjMxYVwzNzdcMzAyIgorICAiXDIyN19cMzc3XDMwMFwyMjNZXDM3N1wyNzZcMjE3UVwzNzdcMjc1XDIxNExcMzc3XDI3NFwyMDVDXDM3N1wyNzJ+PVwzNzciCisgICJcMjYzeDJcMzc3XDI0N2pcIlwzNzdcMjEzUlwyNFwzNzc3XDMxXDEwXDM3N1wwXDBcMFhcMFwwXDAiIjNcMFwwXDBcMjUiCisgICJcMFwwXDBcNlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDVcMFwwXDBcMjUiIjdcMzFcMTBcMzc3XDM2NFwzNDFcMzEzXDM3N1wzNTAiCisgICJcMzE0XDI0N1wzNzdcMzQ1XDMxMlwyNDRcMzc3XDMzNFwyNzFcMjE3XDM3N1wzMjZcMjU2XDE3N1wzNzdcMzIzXDI1MyIKKyAgInxcMzc3XDMyMlwyNTJ7XDM3N1wzMjJcMjQ1dVwzNzdcMzE3XDI0NW5cMzc3XDMxMlwyNDFrXDM3N1wyMjV1TFwzNzdcNDAiCisgICJcMzFcMjBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcNDBcMzFcMTciCisgICJcMzc3XDMzNlwzMDZcMjQ3XDM3N1wzMDJcMjMwYVwzNzdcMzAxXDIyMlZcMzc3XDI3N1wyMjBUXDM3N1wyNzVcMjE1TiIKKyAgIlwzNzdcMjc0XDIwN0lcMzc3XDI3MlwyMDJcNzdcMzc3XDI2NX06XDM3N1wyNjV4NlwzNzdcMjU1cixcMzc3XDI0NGZcMzUiCisgICJcMzc3XDIwN1BcMjRcMzc3N1wzMVwxMFwzNzdcMFwwXDBYXDBcMFwwIiIzXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMSIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMVwwXDBcMFw1XDBcMFwwXDI1IiI3XDMxXDEwXDM3N1wzNjVcMzQ0XDMxNlwzNzdcMzUxXDMxNVwyNTRcMzc3XDM0NyIKKyAgIlwzMTNcMjQ2XDM3N1wzMzVcMjcyXDIyMFwzNzdcMzI1XDI1NX5cMzc3XDMyMlwyNTN5XDM3N1wzMjFcMjUwclwzNzdcMzE3IgorICAiXDI0NW5cMzc3XDMxMlwyNDFrXDM3N1wzMTBcMjM3aFwzNzdcMzA1XDIzMmJcMzc3dVxcOFwzNzdcMFwwXDBcMzc3XDAiCisgICJcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N3VbN1wzNzdcMzM1XDMwN1wyNDdcMzc3XDMwMlwyMjMiCisgICJbXDM3N1wzMDFcMjIyVlwzNzdcMjc3XDIyMFJcMzc3XDI3NlwyMTZPXDM3N1wyNzRcMjEwS1wzNzdcMjc0XDIwM1w3NyIKKyAgIlwzNzdcMjY3XDE3NzxcMzc3XDI2Nnw3XDM3N1wyNjB1L1wzNzdcMjQ0aCFcMzc3XDIxMVFcMjRcMzc3N1wzMVwxMFwzNzciCisgICJcMFwwXDBYXDBcMFwwIiIzXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1XDBcMFwwXDI1IiI3XDMxXDEwIgorICAiXDM3N1wzNjVcMzQ2XDMyMFwzNzdcMzUyXDMxN1wyNTdcMzc3XDM1MVwzMTZcMjUyXDM3N1wzNDFcMjc0XDIyNFwzNzciCisgICJcMzMzXDI2NFwyMDZcMzc3XDMzMlwyNjNcMjA1XDM3N1wzMzJcMjYzXDIwNVwzNzdcMzI2XDI1NlwxNzdcMzc3XDMyMiIKKyAgIlwyNTN5XDM3N1wzMjBcMjUwc1wzNzdcMzE3XDI0NW5cMzc3XDMxNFwyNDNtXDM3N3pgPlwzNzchXDMyXDIwXDM3N1wwIgorICAiXDBcMFwzNzdcNDBcMzJcMjFcMzc3XDIyMn5jXDM3N1wzNDNcMzE3XDI2M1wzNzdcMzI0XDI2M1wyMTBcMzc3XDMwNlwyMzMiCisgICJjXDM3N1wzMDJcMjMwXVwzNzdcMzAxXDIyNFpcMzc3XDI3N1wyMjBUXDM3N1wyNzVcMjE0TFwzNzdcMjczXDIwNERcMzc3IgorICAiXDI2N1wxNzc8XDM3N1wyNjZ6OVwzNzdcMjYxdjBcMzc3XDI0NGghXDM3N1wyMTNSXDI0XDM3NzdcMzFcMTBcMzc3XDAiCisgICJcMFwwWFwwXDBcMCIiM1wwXDBcMFwyNVwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNVwwXDBcMFwyNSIiN1wzMVwxMCIKKyAgIlwzNzdcMzY0XDM0MVwzMTNcMzc3XDM1MVwzMTZcMjUyXDM3N1wzNDVcMzExXDI0NFwzNzdcMzMyXDI3MFwyMTNcMzc3IgorICAiXDMyMlwyNTR3XDM3N1wzMjJcMjQ1dVwzNzdcMzIxXDI1MHJcMzc3XDMxNVwyNDRuXDM3N1wzMTJcMjQxa1wzNzdcMzEwIgorICAiXDIzNmdcMzc3XDMwNFwyMzFhXDM3N1wzMDJcMjMwXVwzNzdcMjQ1fU1cMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwIgorICAiXDBcMzc3XDMzMVwyNzdcMjM2XDM3N1wzMTJcMjQzcVwzNzdcMzA0XDIzMWFcMzc3XDMwMlwyMzBhXDM3N1wzMDJcMjIzIgorICAiW1wzNzdcMjc3XDIyMVZcMzc3XDI3N1wyMjBUXDM3N1wyNzVcMjE0TFwzNzdcMjc0XDIxMEVcMzc3XDI3MlwyMDJcNzciCisgICJcMzc3XDI2N304XDM3N1wyNjN4MlwzNzdcMjU1byZcMzc3XDIxMVFcMjRcMzc3N1wzMVwxMFwzNzdcMFwwXDBYXDBcMCIKKyAgIlwwIiIzXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1XDBcMFwwXDI1IiI3XDMxXDEwXDM3N1wzNjUiCisgICJcMzQ0XDMxNlwzNzdcMzUxXDMxNlwyNTJcMzc3XDM0N1wzMTNcMjQ2XDM3N1wzMzRcMjcxXDIxN1wzNzdcMzI2XDI1NiIKKyAgIlwxNzdcMzc3XDMyM1wyNTN8XDM3N1wzMjJcMjUye1wzNzdcMzIyXDI0NXVcMzc3XDMyMFwyNDZvXDM3N1wzMTJcMjQxIgorICAia1wzNzdcMzEwXDIzNmdcMzc3XDI3MlwyMjNeXDM3N1wyMjV0SlwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMzA1XDI2M1wyMzNcMzc3XDMwNFwyMzFhXDM3N1wzMDRcMjMxYVwzNzdcMzAyXDIzMGFcMzc3XDMwMVwyMjJWXDM3NyIKKyAgIlwyNzdcMjIxVlwzNzdcMjc2XDIxNk9cMzc3XDI3NFwyMDdJXDM3N1wyNzRcMjAzXDc3XDM3N1wyNjd+OlwzNzdcMjY1IgorICAieThcMzc3XDI1NXYuXDM3N1wyNTdyKlwzNzdcMjA3UFwyNFwzNzc3XDMxXDEwXDM3N1wwXDBcMFhcMFwwXDAiIjNcMFwwIgorICAiXDBcMjVcMFwwXDBcNlwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMFwwXDVcMFwwXDBcMjUiIjdcMzFcMTBcMzc3XDM2NVwzNDZcMzIwXDM3NyIKKyAgIlwzNTJcMzE3XDI1N1wzNzdcMzUxXDMxNlwyNTJcMzc3XDM0MVwyNzVcMjI2XDM3N1wzMzNcMjY0XDIwNlwzNzdcMzMwIgorICAiXDI2MFwyMDFcMzc3XDMyNlwyNTZcMTc3XDM3N1wzMjJcMjU0e1wzNzdcMzIwXDI1MHNcMzc3XDMxNVwyNDNsXDM3N1wzMTIiCisgICJcMjQwaVwzNzdcMjY1XDIxN11cMzc3XDIwM2ZBXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wyMTd1VCIKKyAgIlwzNzdcMzM2XDMwNlwyNDdcMzc3XDMwNFwyMzFhXDM3N1wzMDJcMjMwXVwzNzdcMzAxXDIyMlZcMzc3XDI3N1wyMjBUIgorICAiXDM3N1wyNzVcMjE1TlwzNzdcMjc0XDIxMUdcMzc3XDI3NFwyMDNcNzdcMzc3XDI2N346XDM3N1wyNjV5OFwzNzdcMjU3IgorICAicyxcMzc3XDI3NVwyMDJCXDM3N1wyMDdQXDI0XDM3NzdcMzFcMTBcMzc3XDBcMFwwWFwwXDBcMCIiM1wwXDBcMFwyNVwwIgorICAiXDBcMFw2XDBcMFwwXDFcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDFcMFwwXDBcNVwwXDBcMFwyNSIiN1wzMVwxMFwzNzdcMzY0XDM0MVwzMTNcMzc3XDM0NyIKKyAgIlwzMTRcMjUwXDM3N1wzNDZcMzA2XDI0MVwzNzdcMzMzXDI3MFwyMTZcMzc3XDMyM1wyNTN8XDM3N1wzMjJcMjUzeVwzNzciCisgICJcMzIxXDI0N3ZcMzc3XDMyMFwyNDZvXDM3N1wzMTRcMjQya1wzNzdcMzEyXDIzN2dcMzc3XDMwNVwyMzJiXDM3N1wyNjQiCisgICJcMjE1WVwzNzdsVDNcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3bVU2XDM3N1wzMzZcMzA2XDI0N1wzNzciCisgICJcMzA0XDIzMWFcMzc3XDMwMlwyMzBhXDM3N1wzMDJcMjIzW1wzNzdcMzAxXDIyMlZcMzc3XDI3N1wyMjBSXDM3N1wyNzQiCisgICJcMjEwS1wzNzdcMjczXDIwNERcMzc3XDI3Mn49XDM3N1wyNjR7N1wzNzdcMjYxdjBcMzc3XDMwMFwyMTVRXDM3N1wyMTEiCisgICJOXDI0XDM3NzdcMzFcMTBcMzc3XDBcMFwwWFwwXDBcMCIiM1wwXDBcMFwyNVwwXDBcMFw2XDBcMFwwXDFcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDFcMFwwIgorICAiXDBcNVwwXDBcMFwyNSIiN1wzMVwxMFwzNzdcMzY0XDM0MFwzMTFcMzc3XDM0N1wzMTNcMjQ2XDM3N1wzNDZcMzA2XDI0MSIKKyAgIlwzNzdcMzM0XDI2M1wyMDdcMzc3XDMyMVwyNTN2XDM3N1wzMjFcMjQ1clwzNzdcMzIwXDI0Nm9cMzc3XDMxNVwyNDNsIgorICAiXDM3N1wzMTBcMjM3aFwzNzdcMzA0XDIzMWFcMzc3XDI2MlwyMTNXXDM3N1wyNTRcMjAzTlwzNzdcNzciIjBcMzRcMzc3IgorICAiXDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3QDJcMzZcMzc3XDMyMlwyNzVcMjM3XDM3N1wzMTBcMjQycVwzNzciCisgICJcMzAyXDIyM1tcMzc3XDI3N1wyMjFWXDM3N1wyNzdcMjIwVFwzNzdcMjc1XDIxNU5cMzc3XDI3NFwyMTFHXDM3N1wyNzAiCisgICJcMjAwPVwzNzdcMjY1fDhcMzc3XDI2NXg2XDM3N1wyNTd0LlwzNzdcMzAwXDIxNVFcMzc3XDIwNkxcMjNcMzc3N1wzMSIKKyAgIlwxMFwzNzdcMFwwXDBYXDBcMFwwIiIzXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1XDBcMFwwXDI1IgorICAiN1wzMVwxMFwzNzdcMzY0XDM0MVwzMTNcMzc3XDM0NlwzMTJcMjQ1XDM3N1wzNDZcMzA2XDI0MVwzNzdcMzMzXDI2NFwyMDYiCisgICJcMzc3XDMyMVwyNTN2XDM3N1wzMjBcMjQ3cVwzNzdcMzE3XDI0NW5cMzc3XDMxMlwyNDFrXDM3N1wzMTBcMjM2Z1wzNzciCisgICJcMzA0XDIzMWFcMzc3XDI2MlwyMDdTXDM3N1wyMzJ1RVwzNzdcNzciIjBcMzRcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzciCisgICJcMFwwXDBcMzc3XDc3IiIwXDM0XDM3N1wyMTFoPlwzNzdcMzMyXDMwMVwyNDBcMzc3XDI3NVwyMTZQXDM3N1wyNzVcMjE1IgorICAiTlwzNzdcMjc0XDIxMEtcMzc3XDI3M1wyMDREXDM3N1wyNzJcMjAyXDc3XDM3N1wyNjd+OlwzNzdcMjY0ezdcMzc3XDI2MSIKKyAgIncyXDM3N1wyNTVxKlwzNzdcMzEyXDIzNWNcMzc3XDIwN01cMjRcMzc3N1wzMVwxMFwzNzdcMFwwXDBYXDBcMFwwIiIzIgorICAiXDBcMFwwXDI1XDBcMFwwXDZcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw1XDBcMFwwXDI1IiI3XDMxXDEwXDM3N1wzNjRcMzQxXDMxMyIKKyAgIlwzNzdcMzUwXDMxNFwyNDdcMzc3XDM0NFwzMTBcMjQzXDM3N1wzMzJcMjcwXDIxNVwzNzdcMzIzXDI1M3xcMzc3XDMyMiIKKyAgIlwyNDZ3XDM3N1wzMjBcMjUzdVwzNzdcMzIwXDI0Nm9cMzc3XDMxM1wyNDJsXDM3N1wzMTBcMjM3aFwzNzdcMjY3XDIxNyIKKyAgIltcMzc3XDE3N2NcNzdcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdcMFwwXDBcMzc3XDBcMFwwXDM3N1wwXDBcMFwzNzdyIgorICAiWThcMzc3XDMyM1wyNjNcMjExXDM3N1wzMDJcMjMwYVwzNzdcMzAxXDIyMlZcMzc3XDI3N1wyMjFWXDM3N1wyNzZcMjE3IgorICAiUVwzNzdcMjc0XDIxMEtcMzc3XDI3NFwyMDRBXDM3N1wyNjV9OlwzNzdcMjY1fDhcMzc3XDI2MXYwXDM3N1wzMTRcMjM3IgorICAiaVwzNzdcMjExUVwyNFwzNzc3XDMxXDEwXDM3N1wwXDBcMFhcMFwwXDAiIjNcMFwwXDBcMjVcMFwwXDBcNlwwXDBcMFwxIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwxXDBcMFwwXDVcMFwwXDBcMjUiIjdcMzFcMTBcMzc3XDM2NVwzNDRcMzE2XDM3N1wzNTBcMzE1XDI1MVwzNzdcMzQ1IgorICAiXDMxMVwyNDRcMzc3XDMzNFwyNzFcMjE3XDM3N1wzMjVcMjU1flwzNzdcMzIyXDI1MntcMzc3XDMyMlwyNTN5XDM3N1wzMjEiCisgICJcMjQ3cFwzNzdcMzE3XDI0NW5cMzc3XDMxMlwyNDFrXDM3N1wzMTBcMjM3aFwzNzdcMzA1XDIzMmJcMzc3XDMwNVwyMzIiCisgICJiXDM3N1wzMDVcMjMyYlwzNzdcMzA1XDIzMmJcMzc3XDMwNVwyMzJiXDM3N1wzMDVcMjMyYlwzNzdcMzA1XDIzMmJcMzc3IgorICAiXDMwNVwyMzJiXDM3N1wzMDRcMjMxYVwzNzdcMzAyXDIyM1tcMzc3XDI3N1wyMjFWXDM3N1wyNzdcMjIwUlwzNzdcMjc0IgorICAiXDIwN0lcMzc3XDI3NFwyMDNcNzdcMzc3XDI2N346XDM3N1wyNzBcMTc3O1wzNzdcMjc0XDIwMj1cMzc3XDMxNlwyNDEiCisgICJrXDM3N1wyMTFOXDI0XDM3NzdcMzFcMTBcMzc3XDBcMFwwWFwwXDBcMCIiM1wwXDBcMFwyNVwwXDBcMFw2XDBcMFwwXDEiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDFcMFwwXDBcNVwwXDBcMFwyNSIiN1wzMVwxMFwzNzdcMzY0XDM0MVwzMTNcMzc3XDM1MFwzMTNcMjQ1XDM3N1wzNDUiCisgICJcMzExXDI0NFwzNzdcMzMyXDI3MFwyMTNcMzc3XDMyMlwyNTJ7XDM3N1wzMjJcMjQ1dVwzNzdcMzIxXDI0N3BcMzc3XDMxNSIKKyAgIlwyNDRuXDM3N1wzMTJcMjM3Z1wzNzdcMzA3XDIzNGRcMzc3XDMwNFwyMzFhXDM3N1wzMDFcMjI3XFxcMzc3XDMwMFwyMjMiCisgICJZXDM3N1wzMDBcMjIyV1wzNzdcMzAwXDIyMldcMzc3XDMwMFwyMjJXXDM3N1wzMDBcMjIyV1wzNzdcMzAwXDIyMldcMzc3IgorICAiXDMwMFwyMjJXXDM3N1wyNzdcMjIxVlwzNzdcMjc3XDIyMFJcMzc3XDI3NlwyMTZPXDM3N1wyNzRcMjExR1wzNzdcMjczIgorICAiXDIwNERcMzc3XDI3MVwyMDE+XDM3N1wyNjV8OFwzNzdcMjcwXDE3NztcMzc3XDI3NFwyMDVFXDM3N1wzMTVcMjQwalwzNzciCisgICJcMjA3UFwyNFwzNzc3XDMxXDEwXDM3N1wwXDBcMFhcMFwwXDAiIjNcMFwwXDBcMjVcMFwwXDBcNlwwXDBcMFwxXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxIgorICAiXDBcMFwwXDVcMFwwXDBcMjUiIjdcMzFcMTBcMzc3XDM2NFwzNDBcMzExXDM3N1wzNDZcMzExXDI0M1wzNzdcMzQ1XDMwNSIKKyAgIlwyNDBcMzc3XDMzMVwyNzBcMjEwXDM3N1wzMjNcMjQ2dlwzNzdcMzIwXDI0N3FcMzc3XDMxN1wyNDVuXDM3N1wzMTNcMjQyIgorICAibFwzNzdcMzEyXDIzN2dcMzc3XDMwNlwyMzNjXDM3N1wzMDVcMjMyYlwzNzdcMzA0XDIzMWFcMzc3XDMwMlwyMzBdXDM3NyIKKyAgIlwzMDJcMjMwYVwzNzdcMzAyXDIzMGFcMzc3XDMwNFwyMzFhXDM3N1wzMDRcMjMxYVwzNzdcMzA1XDIzMmJcMzc3XDMwNSIKKyAgIlwyMzJiXDM3N1wzMDRcMjMxYVwzNzdcMzAxXDIyNFpcMzc3XDMwMFwyMjNZXDM3N1wyNzdcMjIwVFwzNzdcMjc0XDIxNCIKKyAgIk1cMzc3XDI3NFwyMTFHXDM3N1wyNzZcMjEyTVwzNzdcMzA0XDIzMWFcMzc3XDI3NlwyMTNPXDM3N1wzMDdcMjM1YFwzNzciCisgICJcMjExTlwyNFwzNzc3XDMxXDEwXDM3N1wwXDBcMFdcMFwwXDAiIjNcMFwwXDBcMjVcMFwwXDBcNVwwXDBcMFwxXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxIgorICAiXDBcMFwwXDVcMFwwXDBcMjQiIjdcMzFcMTBcMzc3XDM2NFwzNDBcMzExXDM3N1wzNDZcMzEwXDI0MVwzNzdcMzQxXDMwMyIKKyAgIlwyMzRcMzc3XDMzMlwyNjNcMjA1XDM3N1wzMjFcMjQ1clwzNzdcMzE3XDI0NW5cMzc3XDMxNVwyNDNsXDM3N1wzMTBcMjM3IgorICAiaFwzNzdcMzA1XDIzM2RcMzc3XDMwMlwyMzFfXDM3N1wzMDJcMjIzW1wzNzdcMzAwXDIyMldcMzc3XDI3N1wyMjFWXDM3NyIKKyAgIlwyNzdcMjIxVlwzNzdcMzAwXDIyMldcMzc3XDMwMlwyMjNbXDM3N1wzMDFcMjI3XFxcMzc3XDMwNVwyMzJiXDM3N1wzMTAiCisgICJcMjM2Z1wzNzdcMzE1XDI0M2xcMzc3XDMxNVwyNDNsXDM3N1wzMTZcMjQxa1wzNzdcMzE2XDI0MWtcMzc3XDMyMlwyNTMiCisgICJ5XDM3N1wzMjJcMjUyd1wzNzdcMzIxXDI0NXJcMzc3XDMyNFwyNDdzXDM3N1wyNzdcMjEyTFwzNzdcMjYxczBcMzc3XDIwNyIKKyAgIk1cMjRcMzc3N1wzMVwxMFwzNzdcMFwwXDBUXDBcMFwwIiIwXDBcMFwwXDI0XDBcMFwwXDVcMFwwXDBcMVwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDAiCisgICJcMFw1XDBcMFwwXDIyIiIzXDI3XDdcMzAxXDI2MnUtXDM3N1wzMDdcMjM1YFwzNzdcMzA0XDIzMl1cMzc3XDI3NVwyMTQiCisgICJMXDM3N1wyNzJ+PVwzNzdcMjcwfjlcMzc3XDI2Nno5XDM3N1wyNjV4NlwzNzdcMjYzdTJcMzc3XDI1N3cuXDM3N1wyNTUiCisgICJyLFwzNzdcMjU0dCtcMzc3XDI1MnIpXDM3N1wyNTJyKVwzNzdcMjUycilcMzc3XDI1NnEpXDM3N1wyNTZxKVwzNzdcMjU2IgorICAicSlcMzc3XDI1NnEpXDM3N1wyNTJyKVwzNzdcMjUxbSZcMzc3XDI1MmwjXDM3N1wyNDVpXCJcMzc3XDI0M2dcNDBcMzc3IgorICAiXDI0MmVcMzVcMzc3XDIzNmFcMzFcMzc3XDIzM19cMzBcMzc3XDIzMV1cMjZcMzc3XDIyMlZcMjVcMzc3WDBcMTVcMzc3IgorICAiJlwyMVw1XDI2NFwwXDBcMEtcMFwwXDAqXDBcMFwwXDIxXDBcMFwwXDRcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFw0XDBcMFwwXDE2IgorICAiK1wyM1w2cTFcMjZcN1wzMDc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTAiCisgICJcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3IgorICAiN1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMSIKKyAgIlwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMCIKKyAgIlwzNzc3XDMxXDEwXDM3NzdcMzFcMTBcMzc3N1wzMVwxMFwzNzc3XDMxXDEwXDM3NyZcMjFcNVwyNjRcMTRcNVwxZVwwIgorICAiXDBcMDtcMFwwXDBcNDBcMFwwXDBcMTRcMFwwXDBcM1wwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDJcMFwwXDBcMTFcMFwwXDBcMzAiCisgICJcMFwwXDAsXDBcMFwwQVwwXDBcME9cMFwwXDBVXDBcMFwwV1wwXDBcMFhcMFwwXDBYXDBcMFwwWFwwXDBcMFhcMFwwXDAiCisgICJYXDBcMFwwWFwwXDBcMFhcMFwwXDBYXDBcMFwwWFwwXDBcMFhcMFwwXDBYXDBcMFwwWFwwXDBcMFhcMFwwXDBYXDBcMCIKKyAgIlwwWFwwXDBcMFhcMFwwXDBYXDBcMFwwWFwwXDBcMFhcMFwwXDBYXDBcMFwwWFwwXDBcMFhcMFwwXDBXXDBcMFwwU1wwIgorICAiXDBcMEtcMFwwXDA7XDBcMFwwJ1wwXDBcMFwyNFwwXDBcMFw3XDBcMFwwXDJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwxXDBcMCIKKyAgIlwwXDRcMFwwXDBcMTVcMFwwXDBcMzBcMFwwXDAkXDBcMFwwLFwwXDBcMCIiMFwwXDBcMCIiM1wwXDBcMCIiM1wwXDBcMCIKKyAgIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwIgorICAiXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjMiCisgICJcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjNcMFwwXDAiIjJcMFwwXDAiIjBcMFwwXDAiCisgICIqXDBcMFwwXDQwXDBcMFwwXDI0XDBcMFwwXDExXDBcMFwwXDNcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMlwwXDBcMFw0XDBcMFwwXDExXDBcMFwwXDE2XDBcMFwwXDIyXDBcMFwwXDI0XDBcMFwwXDI1XDBcMFwwXDI1XDAiCisgICJcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1IgorICAiXDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwIgorICAiXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI1XDBcMFwwXDI0XDAiCisgICJcMFwwXDIxXDBcMFwwXDE0XDBcMFwwXDdcMFwwXDBcM1wwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwyXDBcMFwwXDRcMFwwXDBcNVwwXDBcMFw1XDBcMFwwXDVcMFwwXDBcNVwwXDAiCisgICJcMFw1XDBcMFwwXDZcMFwwXDBcNlwwXDBcMFw2XDBcMFwwXDZcMFwwXDBcNlwwXDBcMFw2XDBcMFwwXDZcMFwwXDBcNiIKKyAgIlwwXDBcMFw2XDBcMFwwXDZcMFwwXDBcNlwwXDBcMFw2XDBcMFwwXDZcMFwwXDBcNlwwXDBcMFw2XDBcMFwwXDZcMFwwIgorICAiXDBcNlwwXDBcMFw2XDBcMFwwXDZcMFwwXDBcNVwwXDBcMFw1XDBcMFwwXDVcMFwwXDBcNFwwXDBcMFwzXDBcMFwwXDIiCisgICJcMFwwXDBcMVwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIKKyAgIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIgorICAiXDBcMFwwXDBcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDAiCisgICJcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMSIKKyAgIlwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwIgorICAiXDBcMVwwXDBcMFwxXDBcMFwwXDFcMFwwXDBcMVwwXDBcMFwxXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAiCisgICJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDAifTsKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZXVpL25vLXBpeGJ1Zi1jc291cmNlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWV1aS9uby1waXhidWYtY3NvdXJjZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDc2NWJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWV1aS9uby1waXhidWYtY3NvdXJjZS5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gbGliZ25vbWV1aS0yLjYuMS4xL2NvbmZpZ3VyZS5pbi5vbGQJMjAwNC0wOC0wNCAwMDoyODo0My41ODIyNjY2NjQgKzAxMDAKKysrKyBsaWJnbm9tZXVpLTIuNi4xLjEvY29uZmlndXJlLmluCTIwMDQtMDgtMDQgMDA6Mjk6MjcuNDk2NTkwNjcyICswMTAwCitAQCAtMjM1LDcgKzIzNSw3IEBACisgCisgZG5sIFRoaXMgaXMgaW5zdGFsbGVkIGZyb20gR1RLKyAyLjAncyBnZGstcGl4YnVmCisgQUNfUEFUSF9QUk9HKEdES19QSVhCVUZfQ1NPVVJDRSwgZ2RrLXBpeGJ1Zi1jc291cmNlKQorLXRlc3QgLXogIiRHREtfUElYQlVGX0NTT1VSQ0UiICYmIEFDX01TR19FUlJPUihbCisrdGVzdCAteiAiJEdES19QSVhCVUZfQ1NPVVJDRSIgJiYgQUNfTVNHX1dBUk4oWworICoqKiBZb3UgbmVlZCB0aGUgZ2RrLXBpeGJ1Zi1jc291cmNlIHRvb2wgd2hpY2ggaXMgaW5zdGFsbGVkCisgKioqIGZyb20gR1RLKyAyLjAncyBnZGstcGl4YnVmLgorICoqKgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWV1aV8yLjI0LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZXVpXzIuMjQuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmIyNzg2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWV1aV8yLjI0LjMuYmIKQEAgLTAsMCArMSw3IEBACityZXF1aXJlIGxpYmdub21ldWkuaW5jCisKK1BSID0gInIxIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJjZWFiNmY0MzcwNTgxZDFhMDNjMDlmMTVjYzEwMzA5OSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjA0YzgxZjNiYjVhMzM3Y2RmM2VkMTIzMDkxNmY4MmQyOTg1N2VlOTVlYjg4NGY1OGRkMmY1YzY4NjBlZmU4MDMiCitHTk9NRV9DT01QUkVTU19UWVBFPSJiejIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvZmlsZXMvMDAwMS1jb25maWd1cmUuYWMtZHJvcC1hLWNvcHktcGFzdGUtb2YtaW50cm9zcGVjdGlvbi5tNC1tLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3NmL2ZpbGVzLzAwMDEtY29uZmlndXJlLmFjLWRyb3AtYS1jb3B5LXBhc3RlLW9mLWludHJvc3BlY3Rpb24ubTQtbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzAwOTBlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3NmL2ZpbGVzLzAwMDEtY29uZmlndXJlLmFjLWRyb3AtYS1jb3B5LXBhc3RlLW9mLWludHJvc3BlY3Rpb24ubTQtbS5wYXRjaApAQCAtMCwwICsxLDEwMyBAQAorRnJvbSAxNmQyYzJlNzQzNTBmZGE1NTA1OTgyZmIxNTBlNzJhZjdhZWU3NDU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE5IEZlYiAyMDE2IDE2OjIzOjU2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYzogZHJvcCBhIGNvcHktcGFzdGUgb2YgaW50cm9zcGVjdGlvbi5tNCBtYWNyb3MKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDc4ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNzcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDU0Zjc2NjMuLjMwMzg1MzUgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTc3LDgzICs3Nyw3IEBAIGxpYmdzZl9yZXFzPSIKKyAiCisgCisgUEtHX0NIRUNLX01PRFVMRVMoTElCR1NGLCAkbGliZ3NmX3JlcXMpCistIyBHT2JqZWN0IEludHJvc3BlY3Rpb24KKy1HSVJfUkVRPTEuMC4wCistQUNfQVJHX0VOQUJMRShpbnRyb3NwZWN0aW9uLAorLSAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtaW50cm9zcGVjdGlvbls9QDw6QG5vL2F1dG8veWVzQDo+QF1dLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBbRW5hYmxlIGludHJvc3BlY3Rpb24gZm9yIHRoaXMgYnVpbGRdKSwsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlX2ludHJvc3BlY3Rpb249bm9dKQorLQorLUFDX01TR19DSEVDS0lORyhbZm9yIGdvYmplY3QtaW50cm9zcGVjdGlvbl0pCistCistZG5sIHByZXNlbmNlL3ZlcnNpb24gY2hlY2tpbmcKKy1BU19DQVNFKFskZW5hYmxlX2ludHJvc3BlY3Rpb25dLAorLVtub10sIFsKKy0gICAgZm91bmRfaW50cm9zcGVjdGlvbj0ibm8gKGRpc2FibGVkLCB1c2UgLS1lbmFibGUtaW50cm9zcGVjdGlvbiB0byBlbmFibGUpIgorLV0sCistW3llc10sWworLSAgICBQS0dfQ0hFQ0tfRVhJU1RTKFtnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wXSwsCistICAgICAgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wIGlzIG5vdCBpbnN0YWxsZWRdKSkKKy0gICAgUEtHX0NIRUNLX0VYSVNUUyhbZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMCA+PSAkR0lSX1JFUV0sCistICAgICAgICAgICAgICAgICAgICAgZm91bmRfaW50cm9zcGVjdGlvbj15ZXMsCistICAgICAgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtZb3UgbmVlZCB0byBoYXZlIGdvYmplY3QtaW50cm9zcGVjdGlvbiA+PSAkMSBpbnN0YWxsZWQgdG8gYnVpbGQgQUNfUEFDS0FHRV9OQU1FXSkpCistXSwKKy1bYXV0b10sWworLSAgICBQS0dfQ0hFQ0tfRVhJU1RTKFtnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wID49ICRHSVJfUkVRXSwgZm91bmRfaW50cm9zcGVjdGlvbj15ZXMsIGZvdW5kX2ludHJvc3BlY3Rpb249bm8pCistZG5sIENhbm9uaWNhbGl6ZSBlbmFibGVfaW50cm9zcGVjdGlvbgorLWVuYWJsZV9pbnRyb3NwZWN0aW9uPSRmb3VuZF9pbnRyb3NwZWN0aW9uCistXSwKKy1bCQorLSAgICBBQ19NU0dfRVJST1IoW2ludmFsaWQgYXJndW1lbnQgcGFzc2VkIHRvIC0tZW5hYmxlLWludHJvc3BlY3Rpb24sIHNob3VsZCBiZSBvbmUgb2YgQDw6QG5vL2F1dG8veWVzQDo+QF0pCistXSkKKy0KKy1BQ19NU0dfUkVTVUxUKFskZm91bmRfaW50cm9zcGVjdGlvbl0pCistCistaWYgdGVzdCAieCRmb3VuZF9pbnRyb3NwZWN0aW9uIiA9ICJ4eWVzIjsgdGhlbgorLSAgIGRubCBZb3UgY2FuIG92ZXJyaWRlIElOVFJPU1BFQ1RJT05fR0lSRElSIGFuZCBJTlRST1NQRUNUSU9OX1RZUEVMSUJESVIKKy0gICBkbmwgaWYgeW91IHdpc2guICBJZiB5b3Ugb3ZlcnJpZGUgdGhlIGxhdHRlciwgeW91IG1pZ2h0IHdhbnQgdG8gc2V0CistICAgZG5sIEdJX1RZUEVMSUJfUEFUSCB0byBpbmNsdWRlIHRoZSBzYW1lIGRpcmVjdG9yeS4gIEZvciBleGFtcGxlCistICAgZG5sCistICAgZG5sIEdJX1RZUEVMSUJfUEFUSD0kUFJFRklYL2xpYjY0L2dpcmVwb3NpdG9yeS0xLjAKKy0gICBkbmwgSU5UUk9TUEVDVElPTl9UWVBFTElCRElSPSRHSV9UWVBFTElCX1BBVEgKKy0gICBkbmwgSU5UUk9TUEVDVElPTl9HSVJESVI9JFBSRUZJWC9zaGFyZS9naXItMS4wCistICAgZG5sCistICAgZG5sIE5vdGUsIHRoYXQgdW5saWtlIGJpbmFyaWVzIHByb2R1Y2VkIHdpdGggbGliZ3NmLCBub3RoaW5nIHRlbGxzCistICAgZG5sIHB5dGhvbiB3aGVyZSB0byBmaW5kIGxpYmdzZiwgc28geW91IG1pZ2h0IGFsc28gbmVlZCB0byBzZXQKKy0gICBkbmwgTERfTElCUkFSWV9QQVRILgorLQorLSAgIElOVFJPU1BFQ1RJT05fU0NBTk5FUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1nX2lyX3NjYW5uZXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKy0gICBJTlRST1NQRUNUSU9OX0NPTVBJTEVSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWdfaXJfY29tcGlsZXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKy0gICBJTlRST1NQRUNUSU9OX0dFTkVSQVRFPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWdfaXJfZ2VuZXJhdGUgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKy0gICBpZiB0ZXN0ICJ4JElOVFJPU1BFQ1RJT05fR0lSRElSIiA9IHg7IHRoZW4KKy0gICAgIElOVFJPU1BFQ1RJT05fR0lSRElSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWdpcmRpciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYAorLSAgIGZpCistICAgaWYgdGVzdCAieCRJTlRST1NQRUNUSU9OX1RZUEVMSUJESVIiID0geDsgdGhlbgorLSAgICAgSU5UUk9TUEVDVElPTl9UWVBFTElCRElSPSIkKCRQS0dfQ09ORklHIC0tdmFyaWFibGU9dHlwZWxpYmRpciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wKSIKKy0gICBmaQorLSAgIElOVFJPU1BFQ1RJT05fQ0ZMQUdTPWAkUEtHX0NPTkZJRyAtLWNmbGFncyBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYAorLSAgIElOVFJPU1BFQ1RJT05fTElCUz1gJFBLR19DT05GSUcgLS1saWJzIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCistICAgSU5UUk9TUEVDVElPTl9NQUtFRklMRT1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1kYXRhZGlyIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgL2dvYmplY3QtaW50cm9zcGVjdGlvbi0xLjAvTWFrZWZpbGUuaW50cm9zcGVjdGlvbgorLWVsc2UKKy0gICBJTlRST1NQRUNUSU9OX1NDQU5ORVI9CistICAgSU5UUk9TUEVDVElPTl9DT01QSUxFUj0KKy0gICBJTlRST1NQRUNUSU9OX0dFTkVSQVRFPQorLSAgIElOVFJPU1BFQ1RJT05fR0lSRElSPQorLSAgIElOVFJPU1BFQ1RJT05fVFlQRUxJQkRJUj0KKy0gICBJTlRST1NQRUNUSU9OX0NGTEFHUz0KKy0gICBJTlRST1NQRUNUSU9OX0xJQlM9CistICAgSU5UUk9TUEVDVElPTl9NQUtFRklMRT0KKy1maQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fU0NBTk5FUikKKy1BQ19TVUJTVChJTlRST1NQRUNUSU9OX0NPTVBJTEVSKQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fR0VORVJBVEUpCistQUNfU1VCU1QoSU5UUk9TUEVDVElPTl9HSVJESVIpCistQUNfU1VCU1QoSU5UUk9TUEVDVElPTl9UWVBFTElCRElSKQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fQ0ZMQUdTKQorLUFDX1NVQlNUKElOVFJPU1BFQ1RJT05fTElCUykKKy1BQ19TVUJTVChJTlRST1NQRUNUSU9OX01BS0VGSUxFKQorLQorLUFNX0NPTkRJVElPTkFMKEhBVkVfSU5UUk9TUEVDVElPTiwgdGVzdCAieCRmb3VuZF9pbnRyb3NwZWN0aW9uIiA9ICJ4eWVzIikKKytHT0JKRUNUX0lOVFJPU1BFQ1RJT05fQ0hFQ0soWzEuNDYuMF0pCisgZG5sIHdlIG5lZWQgdG8gY2hhbmdlIHRoZSBpbnN0YWxsIGRpcmVjdG9yaWVzIGZvciBkaXN0Y2hlY2sKKyBBQ19BUkdfV0lUSChbZ2lyLWRpcl0sCisgCUFTX0hFTFBfU1RSSU5HKAorLS0gCisyLjcuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvbGliZ3NmXzEuMTQuMjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvbGliZ3NmXzEuMTQuMjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU3OWVjMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdzZi9saWJnc2ZfMS4xNC4yOS5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkdOT01FIFN0cnVjdHVyZWQgRmlsZSBMaWJyYXJ5IgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGM3MzcxYjUwODE2Yzk2ZTE0NWZhMGY4YWRlOGUyNGQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTYxNDY0Y2ZlMzQyNzk4ZWVjZWQ4MmVmZTlhZTU1ZjYzIgorCitTRUNUSU9OID0gImxpYnMiCisKK0RFUEVORFM9ICJsaWJ4bWwyIGJ6aXAyIGdsaWItMi4wIHpsaWIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnbm9tZSBnY29uZiBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWRyb3AtYS1jb3B5LXBhc3RlLW9mLWludHJvc3BlY3Rpb24ubTQtbS5wYXRjaCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMzA1NmI5NGJiMzI4MWRiYzgzMTEzNzFiZmMyM2NmNzIiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI0ZDhiY2EzMzQyNGViNzExYWNkYjZhMDYwY2I0ODhiMTMyMDYzZDY5OWM0ZmEyMDFkYjI0YzJjODljNjI1MjljIgorCitHTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tnZGstcGl4YnVmXSA9ICItLXdpdGgtZ2RrLXBpeGJ1ZiwtLXdpdGhvdXQtZ2RrLXBpeGJ1ZixnZGstcGl4YnVmIgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZGlzYWJsZS1ndGstZG9jIFwKKyAgICAtLXdpdGgtYnoyIFwKKyIKKworUkRFUEVORFNfJHtQTn0gPSAiZ2NvbmYiIAorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90aHVtYm5haWxlcnMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJndGtzdHlsdXMvZmlsZXMvZ3Rrc3R5bHVzLnNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3Rrc3R5bHVzL2ZpbGVzL2d0a3N0eWx1cy5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTMwMmVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3Rrc3R5bHVzL2ZpbGVzL2d0a3N0eWx1cy5zaApAQCAtMCwwICsxLDUgQEAKKyMhL2Jpbi9zaAorCitHVEtfTU9EVUxFUz1saWJndGtzdHlsdXMuc28KKworZXhwb3J0IEdUS19NT0RVTEVTCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJndGtzdHlsdXMvbGliZ3Rrc3R5bHVzXzAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmd0a3N0eWx1cy9saWJndGtzdHlsdXNfMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjZDc5MTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJndGtzdHlsdXMvbGliZ3Rrc3R5bHVzXzAuNS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkdUSyBwbHVnaW4gZm9yIHN0eWx1cyBiYXNlZCBzeXN0ZW1zIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJndGsrIgorTElDRU5TRSA9ICJMR1BMLTIuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly90YXAuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIwO21kNT03MTc1NmVlYjE0NGU5ZWViMTc3YzY5YWE2NzJiMTYzNSIKK1BSID0gInI0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworU1JDX1VSSSA9ICJodHRwOi8vYnVydG9uaW5pLmNvbS90ZW1wLyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovL2d0a3N0eWx1cy5zaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYTFjODJjZDlmZDJmYWZkN2ZmMTBkNzhlYjU3ODFjNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzODNlMGEyMmE1MzdmNjUzYjhkNDE2ODgyNzc1NjBmOTU2NzhhMDQyOTY3MTk4MDg1ZWM3Y2FhMWE1Y2MyZjRjIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9YMTEvWHNlc3Npb24uZAorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vZ3Rrc3R5bHVzLnNoICR7RH0vJHtzeXNjb25mZGlyfS9YMTEvWHNlc3Npb24uZC80NWd0a3N0eWx1cworfQorCisjIEhvcnJpYmxlIGJ1dCBycG0gZmFsbHMgb3ZlciBpZiB5b3UgdXNlICcqJworR1RLVkVSID0gIjIuMTAuMCIKKworRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfSBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vZ3RrLTIuMC8ke0dUS1ZFUn0vbW9kdWxlcy9saWJndGtzdHlsdXMuc28uKiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2d0ay0yLjAvJHtHVEtWRVJ9L21vZHVsZXMvLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ3RrLTIuMC8ke0dUS1ZFUn0vbW9kdWxlcy9saWJndGtzdHlsdXMuc28iCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9ndGstMi4wLyR7R1RLVkVSfS9tb2R1bGVzL2xpYmd0a3N0eWx1cy4qYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmd0b3AvbGliZ3RvcF8yLjMwLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJndG9wL2xpYmd0b3BfMi4zMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3OWI5ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJndG9wL2xpYmd0b3BfMi4zMC4wLmJiCkBAIC0wLDAgKzEsMTIgQEAKK1NVTU1BUlkgPSAiTGliR1RvcDIiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2NvcHlyaWdodC50eHQ7bWQ1PWRiYzgzOWJmMTU4ZDE5YTIwZTY2MWRiMTRkYjdhNThjIgorCitpbmhlcml0IGdub21lYmFzZSBsaWJfcGFja2FnZSBndGstZG9jIGRpc3Ryb19mZWF0dXJlc19jaGVjayBnb2JqZWN0LWludHJvc3BlY3Rpb24KKyMgZGVwZW5kcyBvbiBsaWJ4YXUKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImVlMjlhOWVmNjA2NTllYmY0YjA3NWFjMjgxZjcxY2IyIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNDYzYmNiZTU3MzdiMWI5M2YzMzQ1ZWUzNGFiZjYwMWU4ZWI4NjRmNTA3YzQ5ZmYxOTIxYzI3MzdhYmFmYzFlNSIKKworREVQRU5EUyA9ICJnbGliLTIuMCBpbnRsdG9vbC1uYXRpdmUgbGlieGF1IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliaWRsL2xpYmlkbC1uYXRpdmVfMC44LjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliaWRsL2xpYmlkbC1uYXRpdmVfMC44LjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyN2RhNWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJpZGwvbGliaWRsLW5hdGl2ZV8wLjguMTQuYmIKQEAgLTAsMCArMSwxMCBAQAorU0VDVElPTiA9ICJsaWJzIgorcmVxdWlyZSBsaWJpZGxfJHtQVn0uYmIKK2luaGVyaXQgbmF0aXZlCisKK1BSID0gInIxIgorCitERVBFTkRTID0gImJpc29uLW5hdGl2ZSBnbGliLTIuMC1uYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiYjhlMTBhMjE4ZmFjNzkzYTUyZDQwNGQxNGFkZWRjYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNWQyNGQ4YzA5NjU0NjM1M2ZiYzdjZWRmMjA4MzkyZDVhMDJhZmU5ZDU2ZWJjYzFjY2NiMjU4ZDdjNGQyMjIwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliaWRsL2xpYmlkbC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJpZGwvbGliaWRsLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDAyMDM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliaWRsL2xpYmlkbC5pbmMKQEAgLTAsMCArMSwxMiBAQAorREVTQ1JJUFRJT04gPSAiTGlicmFyeSBmb3IgcGFyc2luZyBDT1JCQSBJREwgZmlsZXMiCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorTElDRU5TRSA9ICJMR1BMdjIrIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9saWJJREwvMC44L2xpYklETC0ke1BWfS50YXIuYnoyIgorCitTID0gIiR7V09SS0RJUn0vbGliSURMLSR7UFZ9IgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIgJHtiaW5kaXJ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliaWRsL2xpYmlkbF8wLjguMTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJpZGwvbGliaWRsXzAuOC4xNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmRmY2YyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliaWRsL2xpYmlkbF8wLjguMTQuYmIKQEAgLTAsMCArMSwxMyBAQAorcmVxdWlyZSBsaWJpZGwuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IgorCitERVBFTkRTID0gImdsaWItMi4wIGZsZXgtbmF0aXZlIGxpYmlkbC1uYXRpdmUiCisKK1BSID0gInIxIgorCitCSU5DT05GSUdfR0xPQiA9ICIqLWNvbmZpZy0yIgoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZworCitTUkNfVVJJW21kNXN1bV0gPSAiYmI4ZTEwYTIxOGZhYzc5M2E1MmQ0MDRkMTRhZGVkY2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzVkMjRkOGMwOTY1NDYzNTNmYmM3Y2VkZjIwODM5MmQ1YTAyYWZlOWQ1NmViY2MxY2NjYjI1OGQ3YzRkMjIyMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYnduY2svbGlid25ja18yLjMxLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJ3bmNrL2xpYnduY2tfMi4zMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNzNlNmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJ3bmNrL2xpYnduY2tfMi4zMS4wLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiV2luZG93IG5hdmlnYXRpb24gY29uc3RydWN0aW9uIHRvb2xraXQiCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmMzBmMDcxNmRmZGQwZDkxZWI0MzllYmVjNTIyZWMyIgorCitTRUNUSU9OID0gIngxMS9saWJzIgorREVQRU5EUyA9ICJpbnRsdG9vbC1uYXRpdmUgZ3RrKyBnZGstcGl4YnVmLW5hdGl2ZSBsaWJ4cmVzIgorCitQQUNLQUdFQ09ORklHID8/PSAic3RhcnR1cC1ub3RpZmljYXRpb24iCitQQUNLQUdFQ09ORklHW3N0YXJ0dXAtbm90aWZpY2F0aW9uXSA9ICItLWVuYWJsZS1zdGFydHVwLW5vdGlmaWNhdGlvbiwtLWRpc2FibGUtc3RhcnR1cC1ub3RpZmljYXRpb24sc3RhcnR1cC1ub3RpZmljYXRpb24iCisKK2luaGVyaXQgZ25vbWViYXNlIGdvYmplY3QtaW50cm9zcGVjdGlvbgorR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImYwM2UxMTM5Mjk2ZTJhM2E5MmUzYjY1YTMwODBjZDMyIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiODNmNzMyZDIwNzgxZmM4OGIyMmNkYzZhYWYyZDRmMzg4ZGI2ZDNkNGZmMjhkMWE4ZmQ0NWJlOWZiNzc0M2E5ZSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyB0byBhdm9pZCBjb25mbGljdHMgd2l0aCBsaWJ3bmNrMyByZW1vdmUgY21kbGluZSB0b29scworICAgICMgaWYgdGhlIHRvb2xzIGFyZSByZXF1cmlyZWQgYWRkIGxpYnduY2szIHRvIHlvdXIgaW1hZ2UKKyAgICBybSAke0R9JHtiaW5kaXJ9L3duY2twcm9wCisgICAgcm0gJHtEfSR7YmluZGlyfS93bmNrLXVyZ2VuY3ktbW9uaXRvcgorICAgIHJtZGlyICR7RH0ke2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYnhrbGF2aWVyL2xpYnhrbGF2aWVyXzUuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYnhrbGF2aWVyL2xpYnhrbGF2aWVyXzUuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODQ4NDFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGlieGtsYXZpZXIvbGlieGtsYXZpZXJfNS4zLmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NVTU1BUlkgPSAiSGVscGVyIGxpYiBmb3Iga2V5Ym9hcmQgbWFuYWdlbWVudCIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTZlMjljNjg4ZDkxMmRhMTJiNjZiNzNlMzJiMDNkODEyIgorCitERVBFTkRTID0gInhrYmNvbXAgZ3RrKyBpc28tY29kZXMgbGlieGkgbGlieG1sMiIKKworR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ2V0dGV4dCBnb2JqZWN0LWludHJvc3BlY3Rpb24KK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjI5MGVhMmE4YWJjNDBmNzhhM2ExNmJkYWU2ZjAyODA4IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZWJlYzNiYzU0YjU2NTI4Mzg1MDJiOTYyMjMxNTJmYjFjZDhmY2IxNGFjZTVjYjAyZDcxOGZjMzI3NmJiZDQwNCIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC14a2ItYmluLWJhc2U9JHtiaW5kaXJ9IgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIGZpbmQgJHtCfSAtbmFtZSBNYWtlZmlsZSB8IHhhcmdzIHNlZCAtaSBzOictSSQoaW5jbHVkZWRpciknOictSS4nOmcKKyAgICBmaW5kICR7Qn0gLW5hbWUgTWFrZWZpbGUgfCB4YXJncyBzZWQgLWkgczonLUkvdXNyL2luY2x1ZGUnOictSSR7U1RBR0lOR19JTkNESVJ9JzpnCit9CisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIHNlZCAtaSAtZSBzOiR7U1RBR0lOR19ESVJfVEFSR0VUfTo6ZyBcCisgICAgICAgICAgIC1lIHM6LyR7VEFSR0VUX1NZU306OmcgXAorICAgICAgICAgICAgICBsaWJ4a2xhdmllci5wYworfQorCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL21ldGFjaXR5L21ldGFjaXR5L3JlbW92ZS15ZWxwLWhlbHAtcnVsZXMtdmFyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHkvcmVtb3ZlLXllbHAtaGVscC1ydWxlcy12YXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk3MGU5YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL21ldGFjaXR5L21ldGFjaXR5L3JlbW92ZS15ZWxwLWhlbHAtcnVsZXMtdmFyLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK1JlbW92ZSB1bnVzZWQgdmFyaWFibGUgKFlFTFBfSEVMUF9SVUxFUykKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+CisKK0luZGV4OiBtZXRhY2l0eS0yLjM0LjEzL2RvYy9jcmVhdGluZ190aGVtZXMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBtZXRhY2l0eS0yLjM0LjEzLm9yaWcvZG9jL2NyZWF0aW5nX3RoZW1lcy9NYWtlZmlsZS5hbQorKysrIG1ldGFjaXR5LTIuMzQuMTMvZG9jL2NyZWF0aW5nX3RoZW1lcy9NYWtlZmlsZS5hbQorQEAgLTEsNiArMSw1IEBACisgIyMjIFRoaXMgcGFydCBvZiBNYWtlZmlsZS5hbSBjYW4gYmUgY3VzdG9taXplZCBieSB5b3UuCisgCistQFlFTFBfSEVMUF9SVUxFU0AKKyAKKyAjIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgaW4gL3Vzci9zaGFyZS9nbm9tZS9oZWxwLywgCisgIyBhbmQgdGhlIG5hbWUgb2YgdGhlIG1haW4gLnhtbCBmaWxlOgorSW5kZXg6IG1ldGFjaXR5LTIuMzQuMTMvZG9jL2NyZWF0aW5nX3RoZW1lcy9NYWtlZmlsZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG1ldGFjaXR5LTIuMzQuMTMub3JpZy9kb2MvY3JlYXRpbmdfdGhlbWVzL01ha2VmaWxlLmluCisrKysgbWV0YWNpdHktMi4zNC4xMy9kb2MvY3JlYXRpbmdfdGhlbWVzL01ha2VmaWxlLmluCitAQCAtNDU1LDcgKzQ1NSw2IEBAIHVuaW5zdGFsbC1hbToKKyAJbW9zdGx5Y2xlYW4tbGlidG9vbCBwZGYgcGRmLWFtIHBzIHBzLWFtIHVuaW5zdGFsbCB1bmluc3RhbGwtYW0KKyAKKyAKKy1AWUVMUF9IRUxQX1JVTEVTQAorIAorICMgVGVsbCB2ZXJzaW9ucyBbMy41OSwzLjYzKSBvZiBHTlUgbWFrZSB0byBub3QgZXhwb3J0IGFsbCB2YXJpYWJsZXMuCisgIyBPdGhlcndpc2UgYSBzeXN0ZW0gbGltaXQgKGZvciBTeXNWIGF0IGxlYXN0KSBtYXkgYmUgZXhjZWVkZWQuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9tZXRhY2l0eS9tZXRhY2l0eV8yLjM0LjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHlfMi4zNC4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjJjOTBkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHlfMi4zNC4xMy5iYgpAQCAtMCwwICsxLDMyIEBACitTRUNUSU9OID0gIngxMS93bSIKK1NVTU1BUlkgPSAiTWV0YWNpdHkgaXMgdGhlIGJvcmluZyB3aW5kb3cgbWFuYWdlciBmb3IgdGhlIGFkdWx0IGluIHlvdSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2luY2x1ZGUvbWFpbi5oO2VuZGxpbmU9MjQ7bWQ1PWMyMjQyZGY1NTJjODgwMjgwMzE1OTg5YmFiNjI2YjkwIgorCitERVBFTkRTID0gImdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMgc3RhcnR1cC1ub3RpZmljYXRpb24gZ3RrKyBnY29uZiBnZGstcGl4YnVmLW5hdGl2ZSBsaWJjYW5iZXJyYSBnbm9tZS1kb2MtdXRpbHMgbGliZ3RvcCBpbnRsdG9vbC1uYXRpdmUiCitQUiA9ICJyMSIKKworaW5oZXJpdCBnbm9tZWJhc2UgdXBkYXRlLWFsdGVybmF0aXZlcyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiBzdGFydHVwLW5vdGlmaWNhdGlvbiB3aGljaCBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitHTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgorCitTUkNfVVJJICs9ICJmaWxlOi8vcmVtb3ZlLXllbHAtaGVscC1ydWxlcy12YXIucGF0Y2giCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI2ZDg5YjcxNjcyZDRmYTQ5ZmM4N2Y4M2Q2MTBkMGVmNiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjhjZjRkYmYwZGEwYTZmMzYzNTdjZTdkYjdmODI5ZWM2ODU5MDhhNzc5MjQ1M2M2NjJmYjgxODQ1NzJiOTEwNzUiCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gIngtd2luZG93LW1hbmFnZXIiCitBTFRFUk5BVElWRV9UQVJHRVRbeC13aW5kb3ctbWFuYWdlcl0gPSAiJHtiaW5kaXJ9L21ldGFjaXR5IgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXhpbmVyYW1hIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgJ3M6JFpFTklUWTokTk9aRU5JVFk6ZycgLWUgJ3M6LVdlcnJvcjo6ZycgJHtTfS9jb25maWd1cmUuaW4KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vdGhlbWVzICR7ZGF0YWRpcn0vZ25vbWUtY29udHJvbC1jZW50ZXIgJHtkYXRhZGlyfS9nbm9tZSIKK1JERVBFTkRTXyR7UE59ICs9ICJnc2V0dGluZ3MtZGVza3RvcC1zY2hlbWFzIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1cy9pZGwtc3lzcm9vdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzL2lkbC1zeXNyb290LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwNjJjZmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1cy9pZGwtc3lzcm9vdC5wYXRjaApAQCAtMCwwICsxLDcgQEAKK0luZGV4OiBuYXV0aWx1cy0yLjI0LjIvYWRkLWluY2x1ZGUtcHJlZml4Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmF1dGlsdXMtMi4yNC4yLm9yaWcvYWRkLWluY2x1ZGUtcHJlZml4CTIwMDgtMTAtMDYgMTc6MjI6MjEuMDAwMDAwMDAwICswMDAwCisrKysgbmF1dGlsdXMtMi4yNC4yL2FkZC1pbmNsdWRlLXByZWZpeAkyMDA5LTA0LTA5IDE2OjAwOjA1LjAwMDAwMDAwMCArMDAwMAorQEAgLTEgKzEgQEAKKy1zZWQgLWUgJ3MvXi8gLycgLWUgJ3MvICAqLyAvZycgLWUgJ3MvIC8gLUkgL2cnIC1lICdzLyAtSSAkLy8nCisrc2VkIC1lICdzOl46IDonIC1lICdzOiAgKjogOmcnIC1lICdzOiA6IC1JICciJFNZU1JPT1QiJzpnJyAtZSAnczogLUkgJyIkU1lTUk9PVCInJDo6JwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbmF1dGlsdXMvbmF1dGlsdXMvbm8tR19ESVNBQkxFX0RFUFJFQ0FURUQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1cy9uby1HX0RJU0FCTEVfREVQUkVDQVRFRC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2E2MTUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbmF1dGlsdXMvbmF1dGlsdXMvbm8tR19ESVNBQkxFX0RFUFJFQ0FURUQucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorRnJvbSBlNzIzM2Q5OGMxMTRiMDNjN2M4Yjk2ZDFmNDE3NzA0NTJkYTE0YWE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdteC5kZT4KK0RhdGU6IE1vbiwgMTcgT2N0IDIwMTEgMDA6NTk6MDEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbmF1dGlsdXMgYnVpbGQgZmFpbHMgZm9yIG5ld2VyIGdsaWIgdmVyc2lvbnMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworYnVpbGQgd2l0aCBnbGliLTIuMCB2Mi4zMC4wIHJ1biBpbnRvIGVycm9ycyBmb3IgYXQgbGVhc3QgR19DT05TVF9SRVRVUk4gbWlzc2luZworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ214LmRlPgorLS0tCisgY29uZmlndXJlLmluICAgIHwgICAgMiArLQorIGVlbC9NYWtlZmlsZS5hbSB8ICAgIDEgLQorIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCA5N2UxNzFlLi44NTlhMDk3IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0zNDIsNyArMzQyLDcgQEAgQUNfU1VCU1QoQ09SRV9DRkxBR1MpCisgQ09SRV9MSUJTPSJgJFBLR19DT05GSUcgLS1saWJzICRDT1JFX01PRFVMRVNgICR4X2xpYnMiCisgQUNfU1VCU1QoQ09SRV9MSUJTKQorIAorLURJU0FCTEVfREVQUkVDQVRFRF9DRkxBR1M9Ii1ER19ESVNBQkxFX0RFUFJFQ0FURUQgLURHREtfUElYQlVGX0RJU0FCTEVfREVQUkVDQVRFRCIKKytESVNBQkxFX0RFUFJFQ0FURURfQ0ZMQUdTPSItREdES19QSVhCVUZfRElTQUJMRV9ERVBSRUNBVEVEIgorIEFDX1NVQlNUKERJU0FCTEVfREVQUkVDQVRFRF9DRkxBR1MpCisgCisgZG5sIE11bHRpbWVkaWEga2V5cworZGlmZiAtLWdpdCBhL2VlbC9NYWtlZmlsZS5hbSBiL2VlbC9NYWtlZmlsZS5hbQoraW5kZXggYjFmZTM1Ni4uYzFkNTZjZCAxMDA2NDQKKy0tLSBhL2VlbC9NYWtlZmlsZS5hbQorKysrIGIvZWVsL01ha2VmaWxlLmFtCitAQCAtMTAsNyArMTAsNiBAQCBJTkNMVURFUyA9CQkJCQkJXAorIAktRERBVEFESVI9XCIiJChkYXRhZGlyKSJcIgkJCVwKKyAJLURTT1VSQ0VfREFUQURJUj1cIiIkKHRvcF9zcmNkaXIpL2RhdGEiXCIJXAorIAktREdOT01FTE9DQUxFRElSPVwiIiQocHJlZml4KS8ke0RBVEFESVJOQU1FfS9sb2NhbGUiXCIJXAorLQktREdfRElTQUJMRV9ERVBSRUNBVEVECQkJCVwKKyAJLURHREtfUElYQlVGX0RJU0FCTEVfREVQUkVDQVRFRAkJCVwKKyAJLURHTUVOVV9JX0tOT1dfVEhJU19JU19VTlNUQUJMRQkJCVwKKyAJJChOVUxMKQorLS0gCisxLjcuNC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzL25vLXRyeS1ydW4tc3RyZnRpbWUuZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzL25vLXRyeS1ydW4tc3RyZnRpbWUuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jY2QyOTM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbmF1dGlsdXMvbmF1dGlsdXMvbm8tdHJ5LXJ1bi1zdHJmdGltZS5kaWZmCkBAIC0wLDAgKzEsMjggQEAKKy0tLSAvdG1wL2NvbmZpZ3VyZS5pbgkyMDA5LTA0LTEzIDExOjI2OjQzLjAwMDAwMDAwMCArMDIwMAorKysrIG5hdXRpbHVzLTIuMjYuMS9jb25maWd1cmUuaW4JMjAwOS0wNC0xMyAxMToyODozNy4wMDAwMDAwMDAgKzAyMDAKK0BAIC0zNzUsMjUgKzM3NSw2IEBACisgCisgZG5sID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorLWRubCBzdHJmdGltZSBjaGVja3MKKy0KKy1BQ19UUllfUlVOKFsjaW5jbHVkZSA8dGltZS5oPgorLSAgICAgICAgICAgICAgICBpbnQgbWFpbiAoKQorLSAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgY2hhciBidWZbMTAwXTsKKy0gICAgICAgICAgICAgICAgICBzdHJ1Y3QgdG0gdG0gPSB7MH07CistICAgICAgICAgICAgICAgICAgdG0udG1feWVhciA9IDk5OworLSAgICAgICAgICAgICAgICAgIGlmIChzdHJmdGltZShidWYsIDEwMCwgIiVFWSIsICZ0bSkgPT0gNCAmJgorLQkJICAgICAgc3RyY21wIChidWYsICIxOTk5Iik9PTApCistICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKy0gICAgICAgICAgICAgICAgICByZXR1cm4gMTsKKy0gICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIF0sCistCSAgICBBQ19ERUZJTkUoSEFWRV9TVFJGVElNRV9FWFRFTlNJT04sIDEsIFtEZWZpbmUgaWYgc3RyZnRpbWUgc3VwcG9ydHMgJUUgYW5kICVPIG1vZGlmaWVycy5dKQorLSAgICAgICAgICAgICkKKy0KKy1kbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistCisgIworICMgQ2hlY2tzIGZvciBYZnQvWFJlbmRlcgorICMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzMy9uby10cnktcnVuLXN0cmZ0aW1lLmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1czMvbm8tdHJ5LXJ1bi1zdHJmdGltZS5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2ZDJlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1czMvbm8tdHJ5LXJ1bi1zdHJmdGltZS5kaWZmCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gZGM5YzhjZjI2NzZjOGM5MWVhMGFlMjUwY2ZlZGY4NjMzNTJmM2NjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBGcmksIDI0IEp1biAyMDExIDIwOjI0OjA4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGhhY2sgb3V0IGNoZWNrIHRoYXQgdHJpZXMgdG8gcnVuIGdlbmVyYXRlZCBiaW5hcmllcworCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorLS0tCisgY29uZmlndXJlLmluIHwgICAxNyArLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggYzNhYTM3MS4uMWQzZWNkYyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtMjUxLDIyICsyNTEsNyBAQCBBQ19TVUJTVChXQVJOSU5HX0NGTEFHUykKKyAKKyBkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgCistZG5sIHN0cmZ0aW1lIGNoZWNrcworLQorLUFDX1RSWV9SVU4oWyNpbmNsdWRlIDx0aW1lLmg+CistICAgICAgICAgICAgICAgIGludCBtYWluICgpCistICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICBjaGFyIGJ1ZlsxMDBdOworLSAgICAgICAgICAgICAgICAgIHN0cnVjdCB0bSB0bSA9IHswfTsKKy0gICAgICAgICAgICAgICAgICB0bS50bV95ZWFyID0gOTk7CistICAgICAgICAgICAgICAgICAgaWYgKHN0cmZ0aW1lKGJ1ZiwgMTAwLCAiJUVZIiwgJnRtKSA9PSA0ICYmCistCQkgICAgICBzdHJjbXAgKGJ1ZiwgIjE5OTkiKT09MCkKKy0gICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworLSAgICAgICAgICAgICAgICAgIHJldHVybiAxOworLSAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgXSwKKy0JICAgIEFDX0RFRklORShIQVZFX1NUUkZUSU1FX0VYVEVOU0lPTiwgMSwgW0RlZmluZSBpZiBzdHJmdGltZSBzdXBwb3J0cyAlRSBhbmQgJU8gbW9kaWZpZXJzLl0pCistICAgICAgICAgICAgKQorK0FDX0RFRklORShIQVZFX1NUUkZUSU1FX0VYVEVOU0lPTiwgMSwgW0RlZmluZSBpZiBzdHJmdGltZSBzdXBwb3J0cyAlRSBhbmQgJU8gbW9kaWZpZXJzLl0pCisgCisgZG5sID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgCQorLS0gCisxLjYuNi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzM18zLjIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzM18zLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjU1YzgzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbmF1dGlsdXMvbmF1dGlsdXMzXzMuMi4xLmJiCkBAIC0wLDAgKzEsNTQgQEAKKyMgbmF1dGlsdXMgT0UgYnVpbGQgZmlsZQorIyBDb3B5cmlnaHQgKEMpIDIwMDUsIEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgcGFja2FnZXMvQ09QWUlORykKKworTElDRU5TRT0iR1BMdjIgJiBMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mMDhhNDQ2ODA5OTEzZmM5YjNjNzE4ZjBlYWVhMDQyNiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZjMwYTk3MTZlZjM3NjJlMzQ2N2EyZjYyYmY3OTBmMGEiCisKK1BSID0gInI0IgorCitERVBFTkRTID0gImxpYm5vdGlmeSBndGsrMyBsaWJ1bmlxdWUgZ3ZmcyBsaWJyc3ZnIGxpYmV4aWYgZ25vbWUtZGVza3RvcDMiCisjIG9wdGlvbmFsOiB0cmFja2VyCisKKyMgdG8gaW5jbHVkZSBuYXV0aWx1czMvbm8tdHJ5LXJ1bi1zdHJmdGltZS5kaWZmIGJlZm9yZSB0aGUgcmVzdAorRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7VEhJU0RJUn0vJHtCUE59OiIKK0JQTiA9ICJuYXV0aWx1cyIKK2luaGVyaXQgZ25vbWUKKworU1JDX1VSSSArPSAiZmlsZTovL25vLXRyeS1ydW4tc3RyZnRpbWUuZGlmZiIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjEyMzE0MzI4YjU5YWExZGZkODM2MTlmNzE4YjgxYmQ1IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiYzQ4MmQ2ZTdiYWJjYzIzODMwNGNmNTU1ODZjZGY3ZTJiMjgwNjAyNTIxNGExNDNlZDM1NWYwZDg5YjMzYjE1NCIKKworRVhUUkFfT0VDT05GID0gIiAtLWRpc2FibGUtZ3RrLWRvYyAgLS1kaXNhYmxlLXVwZGF0ZS1taW1lZGIgLS1lbmFibGUtbnN0LWV4dGVuc2lvbiIKK2V4cG9ydCBTWVNST09UID0gIiR7U1RBR0lOR19ESVJfSE9TVH0iCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBzZWQgLWkgLWUgL2RvY3MvZCAke1N9L01ha2VmaWxlLmFtCisgICAgYXV0b3Rvb2xzX2RvX2NvbmZpZ3VyZQorfQorCitSREVQRU5EU18ke1BOfSA9ICJndmZzIGd2ZnNkLWZ0cCBndmZzZC1zZnRwIGd2ZnNkLXRyYXNoIGdsaWItMi4wLXV0aWxzIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vaWNvbnMgXAorICAgICAgICAgICAgICAgIC91c3IvbGliZXhlYy8gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vbmF1dGlsdXMqIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMSBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMqLyouc28gXAorIgorRklMRVNfJHtQTn0tZGJnICs9ICIvdXNyL2xpYmV4ZWMvLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vbmF1dGlsdXMvZXh0ZW5zaW9ucyovLmRlYnVnIgorCisjIERvbid0IG1ha2UgbmF1dGlscyBkcmFnIHVzIGluCitQUklWQVRFX0xJQlMgPSAibGlibmF1dGlsdXMtZXh0ZW5zaW9uLnNvLjEiCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CitpZiBbIC1uICIkRCIgXTsgdGhlbgorICAgIGV4aXQgMQorZmkKKworZ2xpYi1jb21waWxlLXNjaGVtYXMgJHtkYXRhZGlyfS9nbGliLTIuMC9zY2hlbWFzCit9CisKKyMgMy4yLjEtcjQvbmF1dGlsdXMtMy4yLjEvZWVsL2VlbC1nbm9tZS1leHRlbnNpb25zLmM6MzQ6NTA6IGZhdGFsIGVycm9yOiBsaWJnbm9tZS1kZXNrdG9wL2dub21lLWRlc2t0b3AtdXRpbHMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorIyAzLjIuMS1yNC9uYXV0aWx1cy0zLjIuMS9lZWwvZWVsLWVkaXRhYmxlLWxhYmVsLmM6MzEwNTo1NTogZXJyb3I6ICdHVEtfU1RPQ0tfQ1VUJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKK1BOQkxBQ0tMSVNUW25hdXRpbHVzM10gPz0gIkJST0tFTjogZmFpbHMgdG8gYnVpbGQsIG1heWJlIG1pc3NpbmcgZGVwZW5kZW5jeSBvbiBnbm9tZS1kZXNrdG9wLXV0aWxzLmggcHJvdmlkZXIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1c18yLjMyLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9uYXV0aWx1cy9uYXV0aWx1c18yLjMyLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI5Mzg1ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL25hdXRpbHVzL25hdXRpbHVzXzIuMzIuMi5iYgpAQCAtMCwwICsxLDQxIEBACisjIG5hdXRpbHVzIE9FIGJ1aWxkIGZpbGUKKyMgQ29weXJpZ2h0IChDKSAyMDA1LCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuICBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIHBhY2thZ2VzL0NPUFlJTkcpCisKK0xJQ0VOU0U9IkdQTHYyICYgTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2MwMDQ4NTM2ZTQzNjQyYTFmM2E3MjRjMjkwOTg3MmIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWYzMGE5NzE2ZWYzNzYyZTM0NjdhMmY2MmJmNzkwZjBhIgorCitQUiA9ICJyNiIKKworREVQRU5EUyA9ICJnZGstcGl4YnVmIGd0aysgbGlidW5pcXVlIGd2ZnMgbGlicnN2ZyBsaWJleGlmIGVzb3VuZCBnbm9tZS1kZXNrdG9wIG9yYml0Mi1uYXRpdmUiCisjIG9wdGlvbmFsOiB0cmFja2VyCisKK2luaGVyaXQgZ25vbWUgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjUxNTY1YWExMGQxNjI1ZGZmNTZlMzgxMjI4MzQ2OTExIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMmQ0ZmYyOGM3YTdhYTVkNDBlYjI0NjgxNDk5NTRhNTY0YzI1N2EzMDUxODM3NzMwNTc1ODRkMjJkMTUzNDdhMiIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKKworU1JDX1VSSSArPSAiZmlsZTovL2lkbC1zeXNyb290LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9uby10cnktcnVuLXN0cmZ0aW1lLmRpZmYgXAorICAgICAgICAgICAgZmlsZTovL25vLUdfRElTQUJMRV9ERVBSRUNBVEVELnBhdGNoIFwKKyIKKworCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1ndGstZG9jICAtLWRpc2FibGUtdXBkYXRlLW1pbWVkYiAiCitleHBvcnQgU1lTUk9PVCA9ICIke1NUQUdJTkdfRElSX0hPU1R9IgorCitkb19jb25maWd1cmUoKSB7CisgICAgc2VkIC1pIC1lIC9kb2NzL2QgJHtTfS9NYWtlZmlsZS5hbQorICAgIGF1dG90b29sc19kb19jb25maWd1cmUKKyAgICAjIFdlIG5lZWQgbmF0aXZlIG9yYml0LWlkbCB3aXRoIHRhcmdldCBpZGwgZmlsZXMuIE5vIHdheSB0byBzYXkgaXQgaW4gYSBjbGVhbiB3YXk6CisgICAgZmluZCAke0J9IC1uYW1lIE1ha2VmaWxlIC1leGVjIHNlZCAtaSAnL1wvdXNyXC9iaW5cL29yYml0LWlkbC0yL3tzOi91c3IvYmluOiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfTo7czovdXNyL3NoYXJlOiR7U1RBR0lOR19EQVRBRElSfTpnfScge30gXDsKK30KKworUkRFUEVORFNfJHtQTn0gPSAiZ3ZmcyBndmZzZC1mdHAgZ3Zmc2Qtc2Z0cCBndmZzZC10cmFzaCBnbGliLW5ldHdvcmtpbmciCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucyIKKworIyBEb24ndCBtYWtlIG5hdXRpbHMzIGRyYWcgdXMgaW4KK1BSSVZBVEVfTElCUyA9ICJsaWJuYXV0aWx1cy1leHRlbnNpb24uc28uMSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvb3JiaXQyL29yYml0Mi8wMDAxLWxpbmMyLXNyYy1NYWtlZmlsZS5hbS1maXgtYnVpbGQtd2l0aC1nbGliLTIuMzYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyLzAwMDEtbGluYzItc3JjLU1ha2VmaWxlLmFtLWZpeC1idWlsZC13aXRoLWdsaWItMi4zNi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWY3NDY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvb3JiaXQyL29yYml0Mi8wMDAxLWxpbmMyLXNyYy1NYWtlZmlsZS5hbS1maXgtYnVpbGQtd2l0aC1nbGliLTIuMzYucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSAxMGJkODA5NGUxZDk0ZTVjNzM3NzkxYzdmNGI2Yjg0NGY1MzVjMTIwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogRnJpLCAzIE1heSAyMDEzIDEwOjAwOjE2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpbmMyL3NyYy9NYWtlZmlsZS5hbTogZml4IGJ1aWxkIHdpdGggZ2xpYiAyLjM2CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFsxXQorCitbMV0gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjkwMAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBsaW5jMi9zcmMvTWFrZWZpbGUuYW0gfCAgICAzICstLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGluYzIvc3JjL01ha2VmaWxlLmFtIGIvbGluYzIvc3JjL01ha2VmaWxlLmFtCitpbmRleCAzNTdhMmRkLi5iYTBlMzQ3IDEwMDY0NAorLS0tIGEvbGluYzIvc3JjL01ha2VmaWxlLmFtCisrKysgYi9saW5jMi9zcmMvTWFrZWZpbGUuYW0KK0BAIC0xMiw4ICsxMiw3IEBAIElOQ0xVREVTID0gICAgICAgICAgICAgICAgICAgICAgICAgXAorIAktSSQodG9wX2J1aWxkZGlyKS9saW5jMi9pbmNsdWRlICBcCisgCS1JJCh0b3Bfc3JjZGlyKS9saW5jMi9pbmNsdWRlICAgIFwKKyAJJChMSU5DX0NGTEFHUykgICAgICAgICAgICAgXAorLQkkKFdBUk5fQ0ZMQUdTKSAgICAgICAgICAgICBcCistCS1ER19ESVNBQkxFX0RFUFJFQ0FURUQKKysJJChXQVJOX0NGTEFHUykKKyAKKyBpZiBPU19XSU4zMgorIGVsc2UKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyLzAwMDItVXNlLUFNX0NQUEZMQUdTLWluc3RlYWQtb2YtSU5DTFVERVMtYW5kLWZpeC1wcm9ibGVtLS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL29yYml0Mi9vcmJpdDIvMDAwMi1Vc2UtQU1fQ1BQRkxBR1MtaW5zdGVhZC1vZi1JTkNMVURFUy1hbmQtZml4LXByb2JsZW0tLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5OTNhYmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyLzAwMDItVXNlLUFNX0NQUEZMQUdTLWluc3RlYWQtb2YtSU5DTFVERVMtYW5kLWZpeC1wcm9ibGVtLS5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIGQ5MWRiYjQyZGMzYjYwNzM3MjAwMjdmNjg4MjdhY2QwYWJlZTZkNzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLamFydGFuIE1hcmFhcyA8a21hcmFhc0Bnbm9tZS5vcmc+CitEYXRlOiBUdWUsIDE0IE1heSAyMDEzIDEzOjI5OjUzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBBTV9DUFBGTEFHUyBpbnN0ZWFkIG9mIElOQ0xVREVTIGFuZCBmaXggcHJvYmxlbSB1c2luZworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFsxXQorCitbMV0gaHR0cHM6Ly9naXQuZ25vbWUub3JnL2Jyb3dzZS9PUkJpdDIvY29tbWl0L3Rlc3QvZXZlcnl0aGluZy9NYWtlZmlsZS5hbT9pZD1kOTFkYmI0MmRjM2I2MDczNzIwMDI3ZjY4ODI3YWNkMGFiZWU2ZDc1CisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHRlc3QvZXZlcnl0aGluZy9NYWtlZmlsZS5hbSB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0L2V2ZXJ5dGhpbmcvTWFrZWZpbGUuYW0gYi90ZXN0L2V2ZXJ5dGhpbmcvTWFrZWZpbGUuYW0KK2luZGV4IDMyYmViMzYuLmNiNGIxZDYgMTAwNjQ0CistLS0gYS90ZXN0L2V2ZXJ5dGhpbmcvTWFrZWZpbGUuYW0KKysrKyBiL3Rlc3QvZXZlcnl0aGluZy9NYWtlZmlsZS5hbQorQEAgLTEwLDcgKzEwLDcgQEAgRVZFUllUSElOR19JRExPVVQgPSAgICAgICAgICBcCisgCSQoRVZFUllUSElOR19CVUlMVCkgIFwKKyAJZXZlcnl0aGluZy1pbW9kdWxlLmMKKyAKKy1JTkNMVURFUyA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorK0FNX0NQUEZMQUdTID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgCS1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlICAgICAgICAgICAgXAorIAktSSQodG9wX2J1aWxkZGlyKS9pbmNsdWRlICAgICAgICAgIFwKKyAJLUkkKHRvcF9idWlsZGRpcikvc3JjICAgICAgICAgICAgICBcCitAQCAtNzgsNyArNzgsNyBAQCBpbmNsdWRlICQodG9wX3NyY2RpcikvTWFrZWZpbGUuc2hhcmVkCisgQlVJTFRfU09VUkNFUyA9ICR7RVZFUllUSElOR19CVUlMVH0gZXZlcnl0aGluZy1pbW9kdWxlLmMKKyBDTEVBTkZJTEVTID0gJHtCVUlMVF9TT1VSQ0VTfSBpb3JmaWxlCisgCistVEVTVFMgPSAkKHNyY2RpcikvdGVzdC5zaAorK1RFU1RTID0gJCh0b3BfYnVpbGRkaXIpL3Rlc3QvZXZlcnl0aGluZy90ZXN0LnNoCisgCisgRVhUUkFfRElTVCA9ICQoSURMX0ZJTEVTKSB0ZXN0LnNoICQoaW5jbHVkZWRfc3JjKQorIAorLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL29yYml0Mi9vcmJpdDIvY29uZmlndXJlLWxvc3NhZ2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyL2NvbmZpZ3VyZS1sb3NzYWdlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmYzFkZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyL2NvbmZpZ3VyZS1sb3NzYWdlLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKKy0tLSBPUkJpdDItMi4xNC4xNy9jb25maWd1cmUuaW4tb3JpZwkyMDA5LTAxLTEwIDA5OjM2OjE4LjAwMDAwMDAwMCAtMDgwMAorKysrIE9SQml0Mi0yLjE0LjE3L2NvbmZpZ3VyZS5pbgkyMDA5LTA2LTE3IDE1OjEwOjU5LjAwMDAwMDAwMCAtMDcwMAorQEAgLTIxNywyMCArMjE3LDIwIEBAIGRubAorIGRubCAgIFNvIG1hbnkgcGVvcGxlIHdpdGggYnJva2VuIGxpbmtpbmcgc2V0dXBzIGFza2VkIGFib3V0IHRoaXMKKyBkbmwgaXQgdHVybmVkIG91dCB0byBiZSBuZWNlc3NhcnkgdG8gY2hlY2sgZm9yIHRoaXMuCisgZG5sCistZG9mdXNfc2F2ZV9saWJzPSIkTElCUyIKKy1MSUJTPSIkT1JCSVRfTElCUyAkTElCUyIKKy1BQ19UUllfUlVOKFsgI2luY2x1ZGUgPHN0ZGlvLmg+CistICAgICAgICAgICAgIG1haW4gKCkKKy0gICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgIHJldHVybiAwOworLSAgICAgICAgICAgICB9IF0sLAorLSAgICAgICAgICAgQUNfTVNHX0VSUk9SKFsKKy1MaW5raW5nIGlzIGJhZGx5IGJvcmtlZCBvbiB5b3VyIHN5c3RlbS4gUGxlYXNlIGVuc3VyZSB5b3VyIGxpYnJhcnkgcGF0aCBpcyBjb3JyZWN0CistQ2hlY2sgY29uZmlnLmxvZyBmb3IgZGV0YWlscyAtIGNoZWNrIG5lYXIgdGhlIGVuZCBvZiB0aGUgbG9nIGFib3ZlICdmYWlsZWQgcHJvZ3JhbSB3YXMnCistQWx0ZXJuYXRpdmVseSBlbnN1cmUgdGhhdCB5b3VyIC9ldGMvbGQuc28uY29uZiAoYW5kL29yIExEX0xJQlJBUllfUEFUSCkgaW5jbHVkZXMgdGhlCistcHJlZml4IHlvdSdyZSBjb21waWxpbmcgb246ICcke3ByZWZpeH0nIF0pLCAKKy1BQ19NU0dfV0FSTihbQ291bGQgbm90IGNoZWNrIGZvciBib3JrZWQgbGlua2luZyB3aGlsZSBjcm9zcy1jb21waWxpbmddKSkKKy1MSUJTPSIkZG9mdXNfc2F2ZV9saWJzIgorK2RubCBkb2Z1c19zYXZlX2xpYnM9IiRMSUJTIgorK2RubCBMSUJTPSIkT1JCSVRfTElCUyAkTElCUyIKKytkbmwgQUNfVFJZX1JVTihbICNpbmNsdWRlIDxzdGRpby5oPgorK2RubCAgICAgICAgICAgICBtYWluICgpCisrZG5sICAgICAgICAgICAgICB7CisrZG5sICAgICAgICAgICAgICAgIHJldHVybiAwOworK2RubCAgICAgICAgICAgICAgfSBdLCwKKytkbmwgICAgICAgICAgICBBQ19NU0dfRVJST1IoWworK2RubCBMaW5raW5nIGlzIGJhZGx5IGJvcmtlZCBvbiB5b3VyIHN5c3RlbS4gUGxlYXNlIGVuc3VyZSB5b3VyIGxpYnJhcnkgcGF0aCBpcyBjb3JyZWN0CisrZG5sIENoZWNrIGNvbmZpZy5sb2cgZm9yIGRldGFpbHMgLSBjaGVjayBuZWFyIHRoZSBlbmQgb2YgdGhlIGxvZyBhYm92ZSAnZmFpbGVkIHByb2dyYW0gd2FzJworK2RubCBBbHRlcm5hdGl2ZWx5IGVuc3VyZSB0aGF0IHlvdXIgL2V0Yy9sZC5zby5jb25mIChhbmQvb3IgTERfTElCUkFSWV9QQVRIKSBpbmNsdWRlcyB0aGUKKytkbmwgcHJlZml4IHlvdSdyZSBjb21waWxpbmcgb246ICcke3ByZWZpeH0nIF0pLCAKKytkbmwgQUNfTVNHX1dBUk4oW0NvdWxkIG5vdCBjaGVjayBmb3IgYm9ya2VkIGxpbmtpbmcgd2hpbGUgY3Jvc3MtY29tcGlsaW5nXSkpCisrZG5sIExJQlM9IiRkb2Z1c19zYXZlX2xpYnMiCisgCisgb3JpZ19DUFBGTEFHUz0kQ1BQRkxBR1MKKyBDUFBGTEFHUz0iJENQUEZMQUdTICRPUkJJVF9DRkxBR1MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyL3BrZ2NvbmZpZy1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9vcmJpdDIvb3JiaXQyL3BrZ2NvbmZpZy1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYyOWU1MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL29yYml0Mi9vcmJpdDIvcGtnY29uZmlnLWZpeC5wYXRjaApAQCAtMCwwICsxLDEyIEBACitkaWZmIC11ck4gT1JCaXQyLTIuMTQuMTIub3JpZy9PUkJpdC0yLjAucGMuaW4gT1JCaXQyLTIuMTQuMTIvT1JCaXQtMi4wLnBjLmluCistLS0gT1JCaXQyLTIuMTQuMTIub3JpZy9PUkJpdC0yLjAucGMuaW4JMjAwOC0wMS0yOSAxMzo0NToyMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBPUkJpdDItMi4xNC4xMi9PUkJpdC0yLjAucGMuaW4JMjAwOC0wOS0yMyAyMDoxMzowNy4wMDAwMDAwMDAgKzAyMDAKK0BAIC0yLDcgKzIsNyBAQAorIGV4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKKyBsaWJkaXI9QGxpYmRpckAKKyBpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorLW9yYml0X2lkbD1AYmluZGlyQC9vcmJpdC1pZGwtMkBFWEVFWFRACisrb3JiaXRfaWRsPUBleGVjX3ByZWZpeEAvYmluL29yYml0LWlkbC0yQEVYRUVYVEAKKyAKKyAKKyBOYW1lOiBPUkJpdC0yLjAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL29yYml0Mi9vcmJpdDJfMi4xNC4xOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL29yYml0Mi9vcmJpdDJfMi4xNC4xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWZjZDQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvb3JiaXQyL29yYml0Ml8yLjE0LjE5LmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiQ09SQkEgT1JCIgorU0VDVElPTiA9ICJ4MTEvZ25vbWUvbGlicyIKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorU1JDX05BTUUgPSAiT1JCaXQyIgorU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMV19IgorU1JDX1VSSSA9ICIgXAorICAgICR7R05PTUVfTUlSUk9SfS8ke1NSQ19OQU1FfS8ke1NIUlRfVkVSfS8ke1NSQ19OQU1FfS0ke1BWfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vY29uZmlndXJlLWxvc3NhZ2UucGF0Y2ggXAorICAgIGZpbGU6Ly9wa2djb25maWctZml4LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1saW5jMi1zcmMtTWFrZWZpbGUuYW0tZml4LWJ1aWxkLXdpdGgtZ2xpYi0yLjM2LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1Vc2UtQU1fQ1BQRkxBR1MtaW5zdGVhZC1vZi1JTkNMVURFUy1hbmQtZml4LXByb2JsZW0tLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MDgyZDMxN2E5NTczYWIzMzgzMDIyNDMwODJkMTBkMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NWM5MDBhOTA1NDgyOTkyNzMwZjU3NWYzZWVmMzRkNTBiZGE3MTdjMTk3Yzk3YzA4ZmE1YTZlYWZkODU3NTUwIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworSURMX0NPTVBJTEVSX0RFUEVORFMgPSAib3JiaXQyLW5hdGl2ZSIKK0lETF9DT01QSUxFUl9ERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICIgIgorREVQRU5EUyA9ICJsaWJpZGwgcG9wdCAke0lETF9DT01QSUxFUl9ERVBFTkRTfSIKKworIyBJRExfQ09NUElMRVJfREVQRU5EU19jbGFzcy1uYXRpdmUgZm9yIHNvbWUgcmVhc29uIGRpZG4ndCB3b3JrIGFuZCBvcmJpdDItbmF0aXZlCisjIHdhcyBzdGlsbCBpbiBvcmJpdDItbmF0aXZlIERFUEVORFMgY2F1c2luZyBjaXJjdWxhciBkZXBlbmRlbmN5CitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJsaWJpZGwtbmF0aXZlIHBvcHQtbmF0aXZlIgorUEFSQUxMRUxfTUFLRSA9ICIiCisKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9vcmJpdC0yLjAvKi5zbyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L29yYml0LTIuMC8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vb3JiaXQtMi4wLyouYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L29yYml0LTIuMC8uZGVidWciCisKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ19OQU1FfS0ke1BWfSIKKworTEVBRF9TT05BTUUgPSAibGliT1JCaXQtMi5zbyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MKKworRVhUUkFfT0VNQUtFID0gIklETF9DT01QSUxFUj0nJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L29yYml0LWlkbC0yJyIKK0VYVFJBX09FTUFLRV9jbGFzcy1uYXRpdmUgPSAiICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHMuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVkZDIyMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHMuaW5jCkBAIC0wLDAgKzEsMjggQEAKK0RFU0NSSVBUSU9OID0gIkFkZHJlc3MtYm9vayBhcHBsaWNhdGlvbi4iCitIT01FUEFHRSA9ICJodHRwOi8vcGltbGljby1wcm9qZWN0Lm9yZy9jb250YWN0cy5odG1sIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCisKK0xJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MisgJiBHUEx2MysgIgorU0VDVElPTiA9ICJ4MTEiCitERVBFTkRTID0gImdsaWItMi4wIGd0aysgZXZvbHV0aW9uLWRhdGEtc2VydmVyIGludGx0b29sLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ID0gImxpYmVkYXRhLWJvb2siCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnY29uZgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1nbm9tZS12ZnMiCitFWFRSQV9PRU1BS0UgKz0gIkdDT05GX0RJU0FCTEVfTUFLRUZJTEVfU0NIRU1BX0lOU1RBTEw9MSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L3BpeG1hcHMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zdG9ja19jb250YWN0LnBuZyAke0R9LyR7ZGF0YWRpcn0vcGl4bWFwcworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3N0b2NrX3BlcnNvbi5wbmcgJHtEfS8ke2RhdGFkaXJ9L3BpeG1hcHMKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vcGl4bWFwcy9zdG9ja19jb250YWN0LnBuZyBcCisgICAgICAgICR7ZGF0YWRpcn0vcGl4bWFwcy9zdG9ja19wZXJzb24ucG5nIFwKKyAgICAgICAgJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yIgorCitTUkNfVVJJID0gImZpbGU6Ly9zdG9ja19jb250YWN0LnBuZyBcCisgICAgICAgICAgIGZpbGU6Ly9zdG9ja19wZXJzb24ucG5nIFwKKyAgICAgICAgICAgZmlsZTovL2NvbnRhY3RzLWNvbmRpdGlvbmFsbHktaW5zdGFsbC1zY2hlbWEucGF0Y2ggXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy9jb250YWN0cy1jb25kaXRpb25hbGx5LWluc3RhbGwtc2NoZW1hLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy9jb250YWN0cy1jb25kaXRpb25hbGx5LWluc3RhbGwtc2NoZW1hLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhYjc4ODIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2NvbnRhY3RzL2NvbnRhY3RzLWNvbmRpdGlvbmFsbHktaW5zdGFsbC1zY2hlbWEucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorSW5zdGFsbCBzY2hlbWEgc2hvdWxkIHJlc3BlY3QgdG8gR0NPTkZfRElTQUJMRV9NQUtFRklMRV9TQ0hFTUFfSU5TVEFMTAorCitJZiBHQ09ORl9ESVNBQkxFX01BS0VGSUxFX1NDSEVNQV9JTlNUQUxMIGlzIHNldCwgdGhlIHNjaGVtYSBzaG91bGQgbm90CitiZSBpbnN0YWxsZWQuCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIGRhdGEvTWFrZWZpbGUuYW0gfCAgICA3ICsrKystLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RhdGEvTWFrZWZpbGUuYW0gYi9kYXRhL01ha2VmaWxlLmFtCitpbmRleCBmNzkwODIzLi5iNmZkNjQzIDEwMDY0NAorLS0tIGEvZGF0YS9NYWtlZmlsZS5hbQorKysrIGIvZGF0YS9NYWtlZmlsZS5hbQorQEAgLTE0LDEzICsxNCwxNCBAQCBkaXN0X21hbjFfTUFOUyA9IGNvbnRhY3RzLjEKKyAKKyBpZiBIQVZFX0dDT05GCisgaW5zdGFsbC1kYXRhLWxvY2FsOgorLQlHQ09ORl9DT05GSUdfU09VUkNFPSQoR0NPTkZfU0NIRU1BX0NPTkZJR19TT1VSQ0UpIFwKKysJaWYgWyAiJChHQ09ORl9ESVNBQkxFX01BS0VGSUxFX1NDSEVNQV9JTlNUQUxMKSIgIT0gIjEiIF07IHRoZW4gXAorKwkJR0NPTkZfQ09ORklHX1NPVVJDRT0kKEdDT05GX1NDSEVNQV9DT05GSUdfU09VUkNFKSBcCisgCQkkKEdDT05GVE9PTCkgLS1tYWtlZmlsZS1pbnN0YWxsLXJ1bGUgJChzY2hlbWFfREFUQSkgfHwgXAorIAkJKGVjaG8gO1wKKyAJCWVjaG8gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIjsgXAorIAkJZWNobyAiSW5zdGFsbGF0aW9uIG9mIHNjaGVtYXMgZmFpbGVkLCBpbnN0YWxsIHRoZW0gbWFudWFsbHkiOyBcCistCQllY2hvICIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiI7KQorLQkJQHRydWUKKysJCWVjaG8gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIjspOyBcCisrCWZpCisgZW5kaWYKKyAKKyBDTEVBTkZJTEVTID0gJChkZXNrdG9wX0RBVEEpCistLSAKKzEuNy43LjYKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy9tYWtlLTM4Mi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHMvbWFrZS0zODIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdjZmVlMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHMvbWFrZS0zODIucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorRml4IGZvciBzdHJpY3RlciBwYXJzZXIgaW4gbWFrZSAzLjgyLiBUaGlzIGZpeCBoYXMgYmVlbiBwdXNoZWQgdG8gdXBzdHJlYW0gZ2l0LgorCitKTCAtIDE1LzEyLzEwCisKK1Vwc3RyZWFtLVN0YXR1czogQWNjZXB0ZWQKKworSW5kZXg6IGdpdC9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL01ha2VmaWxlLmFtCisrKysgZ2l0L01ha2VmaWxlLmFtCitAQCAtMTEsNCArMTEsNCBAQCBESVNUQ0xFQU5GSUxFUyA9ICQoSU5UTFRPT0xfQlVJTFQpCisgTUFJTlRBSU5FUkNMRUFORklMRVMgPSBhY2xvY2FsLm00IGNvbXBpbGUgY29uZmlnLmd1ZXNzIGNvbmZpZy5zdWIgY29uZmlndXJlIGRlcGNvbXAgJChJTlRMVE9PTF9CVUlMVDo9LmluKSBpbnN0YWxsLXNoIGx0bWFpbi5zaCBta2luc3RhbGxkaXJzIE1ha2VmaWxlLmluIG1pc3NpbmcKKyAKKyBzbmFwc2hvdDoKKy0gICAgICAgICQoTUFLRSkgZGlzdCBkaXN0ZGlyPSQoUEFDS0FHRSktc25hcGBkYXRlICsiJVklbSVkImAKKysJJChNQUtFKSBkaXN0IGRpc3RkaXI9JChQQUNLQUdFKS1zbmFwYGRhdGUgKyIlWSVtJWQiYApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy9zdG9ja19jb250YWN0LnBuZyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHMvc3RvY2tfY29udGFjdC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTIzYjQ0OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHMvc3RvY2tfY29udGFjdC5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy9zdG9ja19wZXJzb24ucG5nIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0cy9zdG9ja19wZXJzb24ucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiMTMyOGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2NvbnRhY3RzL3N0b2NrX3BlcnNvbi5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0c18wLjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2NvbnRhY3RzXzAuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGM3ZjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0c18wLjkuYmIKQEAgLTAsMCArMSwxOCBAQAorcmVxdWlyZSBjb250YWN0cy5pbmMKKworUFIgPSAicjgiCisKK1NSQ19VUkkgPSsgImh0dHA6Ly9waW1saWNvLXByb2plY3Qub3JnL3NvdXJjZXMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhYWI1YWZmYmY5M2Q2ZmE3Yjk3OGIzMjNhOGQ0NGRlMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5Y2FjZWM5OGY4MTIzOTkzMDMzYWFhMjU1ZjNmNGMwNGM4NmExYmU2NWU0ODdkZDIxZjBhYWE1NDM4NGE2ZjZkIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvY29udGFjdHMtbWFpbi5oO2VuZGxpbmU9MTg7bWQ1PTAzNzFhZjQ2ZmJjNzJlMzM1NzVlMDA3MmRjYTVmYjE5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9jb250YWN0cy1kYnVzLmM7ZW5kbGluZT0xODttZDU9ZTRkYTlhYzFhMDUzOWZhZmM3ZGY0MzEwMTA5MDRmZDUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2NvbnRhY3RzLWd0ay5jO2VuZGxpbmU9MjE7bWQ1PTFjMmUzZjU1YjIxNTYzNWVmZjRiYTc2Zjc2OTZmOGVlIgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgIyBJdCB1c2VkIDggc3BhY2VzIHRvIGluc3RlYWQgb2YgYSB0YWIsIGJ1dCBpdCBkb2Vzbid0IHdvcmsgZm9yIHVzCisgICAgc2VkIC1pICdzL14gICAgICAgICQoTUFLRSkgZGlzdCBkaXN0ZGlyPS9cdCQoTUFLRSkgZGlzdCBkaXN0ZGlyLycgTWFrZWZpbGUuYW0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9jb250YWN0c19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE0YTA3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vY29udGFjdHNfZ2l0LmJiCkBAIC0wLDAgKzEsMTkgQEAKK3JlcXVpcmUgY29udGFjdHMuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9jb250YWN0cy1tYWluLmg7ZW5kbGluZT0yMDttZDU9OWRjMzUzMWM5MTRmYjZkNmQ0YThkMWFlZTQ1MTlmZWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2NvbnRhY3RzLWRidXMuYztlbmRsaW5lPTIwO21kNT05NWUwMmQ3N2YxNTVmYmQwN2ExNGRiYTMzNDhiOWIwMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvY29udGFjdHMtZ3RrLmM7ZW5kbGluZT0yMzttZDU9ZTFlZTliOWU3MjA0NWYyZDNhYTQ0Y2YxNzMxM2I0NmUiCisKK1NSQ1JFViA9ICIxOTg1Mzg5M2ZkYjU5NWRlNmFhNTlkYjBkOWRjMmY5NDUxZWQyOTMzIgorUFYgPSAiMC4xMitnaXQke1NSQ1BWfSIKK1BSID0gInI0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitTUkNfVVJJID0rICJnaXQ6Ly9naXQuZ25vbWUub3JnLyR7QlBOfSBcCisgICAgICAgIGZpbGU6Ly9tYWtlLTM4Mi5wYXRjaCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2RhdGVzLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vZGF0ZXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyZDJmODMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2RhdGVzLmluYwpAQCAtMCwwICsxLDExIEBACitERVNDUklQVElPTiA9ICJEYXRlcyBpcyBhIGNhbGVuZGFyIGFwcGxpY2F0aW9uLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9waW1saWNvLXByb2plY3Qub3JnL2RhdGVzLmh0bWwiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyAmIExHUEx2MisiCisKK1NFQ1RJT04gPSAieDExIgorREVQRU5EUyA9ICJnbGliLTIuMCBndGsrIGxpYmdsYWRlIGV2b2x1dGlvbi1kYXRhLXNlcnZlciBpbnRsdG9vbC1uYXRpdmUiCitSREVQRU5EU18ke1BOfSA9ICJsaWJlZGF0YS1jYWwiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIGd0ay1pY29uLWNhY2hlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2RhdGVzLzAwMDEtVXBkYXRlLXRvLW5ldy1ldm9sdXRpb24tZGF0YS1zZXJ2ZXItZV9zb3VyY2VfLWNvbG9yLS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vZGF0ZXMvMDAwMS1VcGRhdGUtdG8tbmV3LWV2b2x1dGlvbi1kYXRhLXNlcnZlci1lX3NvdXJjZV8tY29sb3ItLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1NTBkMjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2RhdGVzLzAwMDEtVXBkYXRlLXRvLW5ldy1ldm9sdXRpb24tZGF0YS1zZXJ2ZXItZV9zb3VyY2VfLWNvbG9yLS5wYXRjaApAQCAtMCwwICsxLDcyIEBACitGcm9tIGE4ZGRmYzRiOTFmMmFiM2Q5NTVmZTUyOGRkYjk4Y2UyYzU1NDU3OTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDQgQXVnIDIwMTMgMTM6NDQ6NTAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXBkYXRlIHRvIG5ldyBldm9sdXRpb24tZGF0YS1zZXJ2ZXIgZV9zb3VyY2VfKmNvbG9yIEFQSXMKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgc3JjL2RhdGVzX2d0ay5jICB8IDYgKysrLS0tCisgc3JjL2RhdGVzX21haW4uYyB8IDIgKy0KKyBzcmMvZGF0ZXNfdmlldy5jIHwgNiArKysrKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9kYXRlc19ndGsuYyBiL3NyYy9kYXRlc19ndGsuYworaW5kZXggNzhlNzFiYi4uYWM1MzlkMiAxMDA2NDQKKy0tLSBhL3NyYy9kYXRlc19ndGsuYworKysrIGIvc3JjL2RhdGVzX2d0ay5jCitAQCAtMTA3Miw3ICsxMDcyLDcgQEAgY2FsZW5kYXJfZG9fbmV3X2RpYWxvZyAoR3RrV2luZG93ICpwYXJlbnQsIERhdGVzRGF0YSAqZCkKKyAjZW5kaWYKKyAKKyAJCQkvKiBTZXQgdGhlIGNvbG91ciAqLworLQkJCWVfc291cmNlX3NldF9jb2xvciAoc291cmNlLCBuZXdfY29sb3VyKTsKKysJCQllX3NvdXJjZV9zZXRfY29sb3Jfc3BlYyAoc291cmNlLCBuZXdfY29sb3VyKTsKKyAKKyAJCQkvKiBTZXQgdGhlIGdyb3VwIGZvciB0aGUgc291cmNlICovCisgCQkJZV9zb3VyY2Vfc2V0X2dyb3VwIChzb3VyY2UsIGdyb3VwKTsKK0BAIC0xMzM1LDcgKzEzMzUsNyBAQCBjYWxlbmRhcl9kb19lZGl0X2RpYWxvZyAoR3RrV2luZG93ICpwYXJlbnQsIEVTb3VyY2UgKnNvdXJjZSwgRGF0ZXNEYXRhICpkKQorIAlndGtfbWlzY19zZXRfYWxpZ25tZW50IChHVEtfTUlTQyAobGFiZWwpLCAwLCAwLjUpOworIAorIAkvKiBHZXQgdGhlIGNvbG91ciBmcm9tIHRoZSB0aGUgc291cmNlICovCistCWVfc291cmNlX2dldF9jb2xvciAoc291cmNlLCAmcmF3X2NvbG91cik7CisrCXJhd19jb2xvdXIgPSBlX3NvdXJjZV9wZWVrX2NvbG9yX3NwZWMgKHNvdXJjZSk7CisgCisgCS8qIE11bmdlIHRoaXMgaW50byBzb21ldGhpbmcgdXNhYmxlICovCisgCWNvbG91ci5yZWQgPSAoZ3VpbnQxNikoKChyYXdfY29sb3VyICYgMHhmZjAwMDApID4+IDE2KSA8PCA4KTsKK0BAIC0xNDU5LDcgKzE0NTksNyBAQCBjYWxlbmRhcl9kb19lZGl0X2RpYWxvZyAoR3RrV2luZG93ICpwYXJlbnQsIEVTb3VyY2UgKnNvdXJjZSwgRGF0ZXNEYXRhICpkKQorIAkJCW5ld19jb2xvdXIgPDw9IDg7CisgI2VuZGlmCisgCQkJLyogVXBkYXRlIHRoZSBjb2xvdXIgKi8KKy0JCQllX3NvdXJjZV9zZXRfY29sb3IgKHNvdXJjZSwgbmV3X2NvbG91cik7CisrCQkJZV9zb3VyY2Vfc2V0X2NvbG9yX3NwZWMgKHNvdXJjZSwgbmV3X2NvbG91cik7CisgCisgCQkJLyogQW5kIHRoZSBuYW1lICovCisgCQkJZV9zb3VyY2Vfc2V0X25hbWUgKHNvdXJjZSwgKGd0a19lbnRyeV9nZXRfdGV4dCAoR1RLX0VOVFJZIChuYW1lX2VudHJ5KSkpKTsKK2RpZmYgLS1naXQgYS9zcmMvZGF0ZXNfbWFpbi5jIGIvc3JjL2RhdGVzX21haW4uYworaW5kZXggY2UwNWZlOC4uNzI3M2M2MyAxMDA2NDQKKy0tLSBhL3NyYy9kYXRlc19tYWluLmMKKysrKyBiL3NyYy9kYXRlc19tYWluLmMKK0BAIC0xMTIsNyArMTEyLDcgQEAgZGF0ZXNfbG9hZF9jYWxlbmRhcnMgKERhdGVzRGF0YSAqZCkKKyAJCXN5c3RlbV9zb3VyY2UgPSBlX3NvdXJjZV9uZXcgKF8oIlBlcnNvbmFsIiksICJzeXN0ZW0iKTsKKyAKKyAJCS8qIERlZmF1bHQgRXZvbHV0aW9uIGNvbG91ciAqLworLQkJZV9zb3VyY2Vfc2V0X2NvbG9yIChzeXN0ZW1fc291cmNlLCAweEJFQ0VERCk7CisrCQllX3NvdXJjZV9zZXRfY29sb3Jfc3BlYyAoc3lzdGVtX3NvdXJjZSwgMHhCRUNFREQpOworIAorIAkJLyogU2V0IHRoZSBncm91cCBmb3IgdGhlIHNvdXJjZSBhbmQgcHV0IGl0IGluIHRoZSBncm91cCAqLworIAkJZV9zb3VyY2Vfc2V0X2dyb3VwIChzeXN0ZW1fc291cmNlLCBsb2NhbF9ncm91cCk7CitkaWZmIC0tZ2l0IGEvc3JjL2RhdGVzX3ZpZXcuYyBiL3NyYy9kYXRlc192aWV3LmMKK2luZGV4IGQ2NWRiMmYuLmY4ZWZiOWMgMTAwNjQ0CistLS0gYS9zcmMvZGF0ZXNfdmlldy5jCisrKysgYi9zcmMvZGF0ZXNfdmlldy5jCitAQCAtNDg3Niw3ICs0ODgwLDcgQEAgZGF0ZXNfdmlld19hZGRfY2FsZW5kYXIgKERhdGVzVmlldyAqdmlldywgRUNhbCAqZWNhbCkKKyAJY2FsLT50ZXh0X2djID0gZ2RrX2djX25ldyAoCisgCQlHREtfRFJBV0FCTEUgKHByaXYtPm1haW4tPndpbmRvdykpOworIAorLQlpZiAoZV9zb3VyY2VfZ2V0X2NvbG9yIChzb3VyY2UsICZjb2xvdXIpKSB7CisrCWlmIChjb2xvdXIgPSBlX3NvdXJjZV9wZWVrX2NvbG9yX3NwZWMgKHNvdXJjZSkpIHsKKyAJCUdka0NvbG9yIGdjb2xvdXIsIGRnY29sb3VyLCB0Z2NvbG91cjsKKyAJCWdjb2xvdXIucmVkID0gKChjb2xvdXIgJiAweEZGMDAwMCkgPj4gMTYpICogMHgxMDE7CisgCQlnY29sb3VyLmdyZWVuID0gKChjb2xvdXIgJiAweEZGMDApID4+IDgpICAqIDB4MTAxOworLS0gCisxLjguMy4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vZGF0ZXMvZHNvX2xpbmtpbmdfY2hhbmdlX2J1aWxkX2ZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vZGF0ZXMvZHNvX2xpbmtpbmdfY2hhbmdlX2J1aWxkX2ZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDlkNTlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9kYXRlcy9kc29fbGlua2luZ19jaGFuZ2VfYnVpbGRfZml4LnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK2FmdGVyIGdjYyBsaW5raW5nIGhhcyBjaGFuZ2VkLCBhbGwgdGhlIGxpYnJhcmllcyBtdXN0IGJlIGV4cGxpY2l0ZWx5IHNwZWNpZmllZCAKK1RoaXMgcGF0Y2ggYXZvaWRzIHRoZXNlIGxpbmtpbmcgZXJyb3JzOgorCisKK3wgbWFrZVsyXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvZGlzazAvcG9reWJ1aWxkL2J1aWxkMS90bXAvd29yay9pNTg2LXBva3ktbGludXgvZGF0ZXMtMC40LjExK2dpdDArNTE0MTg1ZGMxZjY1ODgwODVmZGE0MWViNTk4OThiOTNkMDQ4N2RkNC1yMi9naXQvc3JjJ15NCisuLi4KK3wgL2Rpc2swL3Bva3lidWlsZC9idWlsZDEvdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliZXhlYy9pNTg2LXBva3ktbGludXgvZ2NjL2k1ODYtcG9reS1saW51eC80LjUuMS9sZDogZTogaW52YWxpZCBEU08gZm9yIHN5bWJvbCBgcG93QEBHTElCQ18yLjAnIGRlZmluaXRpb25eTQorfCAvZGlzazAvcG9reWJ1aWxkL2J1aWxkMS90bXAvc3lzcm9vdHMvaTU4Ni1wb2t5LWxpbnV4L3Vzci9saWIvbGlibS5zbzogY291bGQgbm90IHJlYWQgc3ltYm9sczogQmFkIHZhbHVlXk0KK3wgY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXNeTQorfCBtYWtlWzJdOiAqKiogW2RhdGVzXSBFcnJvciAxCisKKworCit8IC9kaXNrMC9wb2t5YnVpbGQvYnVpbGQxL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYmV4ZWMvaTU4Ni1wb2t5LWxpbnV4L2djYy9pNTg2LXBva3ktbGludXgvNC41LjEvbGQ6IHo6IGludmFsaWQgRFNPIGZvciBzeW1ib2wgYHBhbmdvX2xheW91dF9nZXRfZXh0ZW50cycgZGVmaW5pdGlvbgorfCAvZGlzazAvcG9reWJ1aWxkL2J1aWxkMS90bXAvc3lzcm9vdHMvaTU4Ni1wb2t5LWxpbnV4L3Vzci9saWIvbGlicGFuZ28tMS4wLnNvOiBjb3VsZCBub3QgcmVhZCBzeW1ib2xzOiBCYWQgdmFsdWUKK3wgY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKK3wgbWFrZVsyXTogKioqIFtkYXRlc10gRXJyb3IgMQorCisKK05pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+CitEYXRlOiAyMDExLzAxLzExCisKK1VwZGF0ZToKK1RoaXMgaXMgaWRlbnRpZmllZCBhcyBhIGxpYnRvb2wgaXNzdWUuIFdoaWxlIGNyZWF0aW5nIHRoZSBsaWJndGtkYXRlc3ZpZXcubGEgCitmaWxlLCBsaWJ0b29sIHNob3VsZCBoYXZlIGFkZGVkIHRoZXNlIG5lZWRlZCBsaWJyYXJpZXMgaW4gdGhlcmUuCisgQSBidWcgaGFzIGJlZW4gY3JlYXRlZCBmb3IgdGhpcyBpc3N1ZTogCisgICBodHRwOi8vYnVnemlsbGEucG9reWxpbnV4Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0CitOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgorRGF0ZTogMjAxMS8wMS8xOQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSW5kZXg6IGdpdC9zcmMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9zcmMvTWFrZWZpbGUuYW0KKysrKyBnaXQvc3JjL01ha2VmaWxlLmFtCitAQCAtMzQsNiArMzQsNiBAQCBkYXRlc19TT1VSQ0VTID0gJChwbGF0Zm9ybSkgCVwKKyAJZ2NvbmYtYnJpZGdlLmgJCVwKKyAJZ2NvbmYtYnJpZGdlLmMKKyAKKy1kYXRlc19MREFERCA9ICQoREFURVNfTElCUykgJChPV0xfTElCUykgbGliZ3RrZGF0ZXN2aWV3LmxhCisrZGF0ZXNfTERBREQgPSAkKERBVEVTX0xJQlMpICQoT1dMX0xJQlMpIGxpYmd0a2RhdGVzdmlldy5sYSAtbG0gLWxwYW5nby0xLjAKKyAKKyBNQUlOVEFJTkVSQ0xFQU5GSUxFUyA9IGNvbmZpZy5oLmluIE1ha2VmaWxlLmluCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2RhdGVzL21ha2UtMzgyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9kYXRlcy9tYWtlLTM4Mi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWQzYzU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9kYXRlcy9tYWtlLTM4Mi5wYXRjaApAQCAtMCwwICsxLDE4IEBACitNYWtlIDMuODIgaXMgb2ZmZW5kZWQgYnkgdGhlIHVzZSBvZiBzcGFjZXMgaW5zdGVhZCBvZiB0YWJzLiBUaGlzIGhhcyBiZWVuIGZpeGVkCitpbiB1cHN0cmVhbSBnaXQuCisKK0pMIC0gMTUvMTIvMTAKKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZAorCitJbmRleDogZ2l0L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvTWFrZWZpbGUuYW0KKysrKyBnaXQvTWFrZWZpbGUuYW0KK0BAIC03LDUgKzcsNSBAQCBESVNUQ0xFQU5GSUxFUyA9IGludGx0b29sLWV4dHJhY3QgaW50bHRvCisgTUFJTlRBSU5FUkNMRUFORklMRVMgPSAkKERJU1RDTEVBTkZJTEVTKSBhY2xvY2FsLm00IGNvbXBpbGUgY29uZmlnLmd1ZXNzIGNvbmZpZy5zdWIgY29uZmlndXJlIGRlcGNvbXAgaW5zdGFsbC1zaCBsdG1haW4uc2ggTWFrZWZpbGUuaW4gbWlzc2luZworIAorIHNuYXBzaG90OgorLSAgICAgICAgJChNQUtFKSBkaXN0IGRpc3RkaXI9JChQQUNLQUdFKS1zbmFwYGRhdGUgKyIlWSVtJWQiYAorKwkkKE1BS0UpIGRpc3QgZGlzdGRpcj0kKFBBQ0tBR0UpLXNuYXBgZGF0ZSArIiVZJW0lZCJgCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL2RhdGVzL3VjbGliYy1OTF9USU1FX0ZJUlNUX1dFRUtEQVktYWJzZW50LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9kYXRlcy91Y2xpYmMtTkxfVElNRV9GSVJTVF9XRUVLREFZLWFic2VudC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWRlNDcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9kYXRlcy91Y2xpYmMtTkxfVElNRV9GSVJTVF9XRUVLREFZLWFic2VudC5wYXRjaApAQCAtMCwwICsxLDM3IEBACit1Y2xpYmMgaGFzIGxhbmdpbmZvLmggYnV0IGl0IGRvZXMgbm90IGRlZmluZSBfTkxfVElNRV9GSVJTVF9XRUVLREFZCit0aGVyZWZvcmUgd2UgaW50cm9kdWNlIGEgY2hlY2sgaW4gY29uZmlndXJlIGZvciB0aGUgdGhpcyBkZWZpbmUKK2FuZCB0aGVuIHdlIG1ha2Ugc3VyZSB0aGF0IHdlIHVzZSBpdCB3aGVuIGl0IHJlYWxseSBleGlzdHMKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0luZGV4OiBnaXQvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvY29uZmlndXJlLmFjCTIwMTEtMDctMTggMTA6MzQ6MTUuMDAwMDAwMDAwIC0wNzAwCisrKysgZ2l0L2NvbmZpZ3VyZS5hYwkyMDExLTA3LTE4IDEwOjU0OjI2LjQwMzc5ODE4OCAtMDcwMAorQEAgLTk4LDYgKzk4LDggQEAKKyAJCXNyYy9saWJndGtkYXRlc3ZpZXcucGMKKyBdKQorIAorK0FDX0NIRUNLX0RFQ0xTKFtfTkxfVElNRV9GSVJTVF9XRUVLREFZXSxbXSxbXSxbWyNpbmNsdWRlIDxsYW5naW5mby5oPl1dKQorKworIEFDX09VVFBVVAorIAorIGVjaG8gIiAiCitJbmRleDogZ2l0L3NyYy9kYXRlc192aWV3LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9zcmMvZGF0ZXNfdmlldy5jCTIwMTEtMDctMTggMTA6MzQ6MTUuMDAwMDAwMDAwIC0wNzAwCisrKysgZ2l0L3NyYy9kYXRlc192aWV3LmMJMjAxMS0wNy0xOCAxMDo1ODo0Ni4wOTM3OTgxMzYgLTA3MDAKK0BAIC0xNTA1LDcgKzE1MDUsMTEgQEAKKyAJcHJpdi0+ZGF5cyA9IDE7CisgCXByaXYtPm1vbnRocyA9IDA7CisgCXByaXYtPm1vbnRoc19pbl9yb3cgPSA0OworKyNpZiBIQVZFX0RFQ0xfX05MX1RJTUVfRklSU1RfV0VFS0RBWQorIAlwcml2LT53ZWVrX3N0YXJ0ID0gKm5sX2xhbmdpbmZvIChfTkxfVElNRV9GSVJTVF9XRUVLREFZKSAtIDE7CisrI2Vsc2UKKysJcHJpdi0+d2Vla19zdGFydCA9IDA7CisrI2VuZGlmCisgCXByaXYtPmRyYWdib3ggPSBUUlVFOworIAlwcml2LT5zaW5nbGVfY2xpY2sgPSBUUlVFOworIAlwcml2LT5kb3VibGVfY2xpY2sgPSBGQUxTRTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vZGF0ZXNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby9kYXRlc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRhNTcyZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vZGF0ZXNfZ2l0LmJiCkBAIC0wLDAgKzEsMTkgQEAKK3JlcXVpcmUgZGF0ZXMuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9kYXRlc192aWV3Lmg7ZW5kbGluZT0yMjttZDU9MjlmOTM0ZjM1NmViOTcwMzA5Y2RlYjY2OTNiMzEyM2EgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2RhdGVzX2hpbGRvbi5jO2VuZGxpbmU9MTk7bWQ1PTYzOTM4OTA0MTk4YjI1ZGU0MjlhYmI2NWZiZGJkYjhhIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9nY29uZi1icmlkZ2UuYztlbmRsaW5lPTIyO21kNT1hZDc2MjZjNmRhZjRhZWM1OTA0NzRhMjQzZjQ5MTJmYSIKKworU1JDUkVWID0gIjUxNDE4NWRjMWY2NTg4MDg1ZmRhNDFlYjU5ODk4YjkzZDA0ODdkZDQiCitQViA9ICIwLjQuMTErZ2l0JHtTUkNQVn0iCitQUiA9ICJyOSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuZ25vbWUub3JnLyR7QlBOfSBcCisgICAgZmlsZTovL21ha2UtMzgyLnBhdGNoIFwKKyAgICBmaWxlOi8vZHNvX2xpbmtpbmdfY2hhbmdlX2J1aWxkX2ZpeC5wYXRjaCBcCisgICAgZmlsZTovL3VjbGliYy1OTF9USU1FX0ZJUlNUX1dFRUtEQVktYWJzZW50LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1VcGRhdGUtdG8tbmV3LWV2b2x1dGlvbi1kYXRhLXNlcnZlci1lX3NvdXJjZV8tY29sb3ItLnBhdGNoIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vdGFza3MuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby90YXNrcy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjgyMTdkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vdGFza3MuaW5jCkBAIC0wLDAgKzEsMTAgQEAKK0RFU0NSSVBUSU9OID0gIlRhc2sgbGlzdCBhcHBsaWNhdGlvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9waW1saWNvLXByb2plY3Qub3JnL3Rhc2tzLmh0bWwiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyIKKworU0VDVElPTiA9ICJ4MTEiCitERVBFTkRTID0gImdsaWItMi4wIGd0aysgZXZvbHV0aW9uLWRhdGEtc2VydmVyIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1pY29uLWNhY2hlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL3Rhc2tzXzAuMTkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9waW1saWNvL3Rhc2tzXzAuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTkyNTk2ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vdGFza3NfMC4xOS5iYgpAQCAtMCwwICsxLDEzIEBACityZXF1aXJlIHRhc2tzLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZ3RrL21haW4uYztlbmRsaW5lPTE5O21kNT04NjU5ZDBiN2ZkNjhhMmFkNmFjMzBjNjUzOWVhNWI4MiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvb21va28vb3Blbm1va28tdGFza3MuYztlbmRsaW5lPTIwO21kNT0wNGQ1NmE0Njg2M2M5ZjQyNDc2OTRmNDAyNTdhODM2YSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvaGlsZG9uL2hpbGRvbi10YXNrcy5jO2VuZGxpbmU9MjE7bWQ1PTQ4OGRkZjMxZGMxNGIyMTk2ZGVjN2NjNzM2MjExYjUyIgorCitTUkNfVVJJID0gImh0dHA6Ly9waW1saWNvLXByb2plY3Qub3JnL3NvdXJjZXMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYWZkOTY5NzU4NTYxNTk5ZmQ3ODJlMWVmZmIzOWMwOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYTdmZGM1Zjk1YTIxOTNhMWEyNWZkYjEzZjA3MTg2N2ZiN2U0MjI0NWNlMTljY2VlNGJjY2NiNjllNTU3ZjJlIgorCitQUiA9ICJyMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vdGFza3NfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvcGltbGljby90YXNrc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmEwNmRhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3BpbWxpY28vdGFza3NfZ2l0LmJiCkBAIC0wLDAgKzEsOSBAQAorcmVxdWlyZSB0YXNrcy5pbmMKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuZ25vbWUub3JnLyR7QlBOfSIKKworU1JDUkVWID0gImVhNTJkNDZkNjkxYzVmY2U0NDczZWE0ZTI0YTM1NDExMzgxZjNhNjUiCitQViA9ICIwLjEzK2dpdCR7U1JDUFZ9IgorUFIgPSAicjMiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9zeXN0ZW0tdG9vbHMvc3lzdGVtLXRvb2xzLWJhY2tlbmRzLTIuMTAuMi9hZGQtYW5nc3Ryb20tZGlzdHJvLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvc3lzdGVtLXRvb2xzL3N5c3RlbS10b29scy1iYWNrZW5kcy0yLjEwLjIvYWRkLWFuZ3N0cm9tLWRpc3Ryby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjAzZmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvc3lzdGVtLXRvb2xzL3N5c3RlbS10b29scy1iYWNrZW5kcy0yLjEwLjIvYWRkLWFuZ3N0cm9tLWRpc3Ryby5wYXRjaApAQCAtMCwwICsxLDQxIEBACitGcm9tIGI1MDg0NjE2YTNiYzJhMGQ0ODVmNDNhZWFlNjljNjAyNWYzZjg1N2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogRnJpLCAxMCBKdW4gMjAxMSAxODo0NDoyMSArMDIwMAorU3ViamVjdDogW1BBVENIXSBhZGQgc3VwcG9ydCBmb3IgdGhlIGFuZ3N0cm9tIGRpc3RyaWJ0aW9uCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKyBVdGlscy9QbGF0Zm9ybS5wbSB8ICAgIDMgKysrCisgMSBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9VdGlscy9QbGF0Zm9ybS5wbSBiL1V0aWxzL1BsYXRmb3JtLnBtCitpbmRleCBmYzc2MzYwLi44YjhjNzcwIDEwMDY0NAorLS0tIGEvVXRpbHMvUGxhdGZvcm0ucG0KKysrKyBiL1V0aWxzL1BsYXRmb3JtLnBtCitAQCAtOTIsNiArOTIsNyBAQCBteSAkUExBVEZPUk1fSU5GTyA9IHsKKyAgICJuZXhlbnRhLTEuMCIgICAgID0+IFsgIk5leGVudGEgR05VL1NvbGFyaXMiLCAiMS4wIiwgIkVsbGF0ZSIgXSwKKyAgICJ5ZWxsb3dkb2ctNC4xIiAgID0+IFsgIlllbGxvdyBEb2cgTGludXgiLCAiNC4xIiwgIlNhZ2l0dGEiIF0sCisgICAiZ3VhZGFsaW5leC12NCIgICA9PiBbICJHdWFkYWxpbmV4IiwgInY0IiwgIlRvcm8iIF0sCisrICAiYW5nc3Ryb20iICAgICAgICA9PiBbICJBbmdzdHJvbSIsICIiLCAiIiBdLAorIH07CisgCisgc3ViIGdldF9wbGF0Zm9ybV9pbmZvCitAQCAtMTQzLDYgKzE0NCw3IEBAIHN1YiBlbnN1cmVfZGlzdHJvX21hcAorICAgICAgInZpbmUtMy4xIiAgICAgICAgID0+ICJ2aW5lLTMuMCIsCisgICAgICAidmxvcy0xLjIiICAgICAgICAgPT4gImdlbnRvbyIsCisgICAgICAibmV4ZW50YS0xLjAiICAgICAgPT4gInNvbGFyaXMtMi4xMSIsCisrICAgICAiYW5nc3Ryb20iICAgICAgICAgPT4gImRlYmlhbiIsCisgICAgICApOworIAorICAgcmV0dXJuICRtZXRhbWFweyRkaXN0cm99IGlmICgkbWV0YW1hcHskZGlzdHJvfSk7CitAQCAtMzc1LDYgKzM3Nyw3IEBAIHN1YiBndWVzcworICAgICAgICAgICAgICAgICAgIFsgXCZjaGVja19hcmsgXSwKKyAgICAgICAgICAgICAgICAgICBbIFwmY2hlY2tfeW9wZXIgXSwKKyAgICAgICAgICAgICAgICAgICBbIFwmY2hlY2tfZGlzdHJvX2ZpbGUsICIvZXRjL3llbGxvd2RvZy1yZWxlYXNlIiwgInllbGxvd2RvZyIsICJeWWVsbG93IERvZyBMaW51eCByZWxlYXNlIChcXFMrKSIgXSwKKysgICAgICAgICAgICAgICAgICBbIFwmY2hlY2tfZmlsZV9leGlzdHMsICIvZXRjL2FuZ3N0cm9tLXZlcnNpb24iLCAiYW5nc3Ryb20iIF0sCisgICAgICAgICAgICAgICAgICBdLAorICAgICAiRnJlZUJTRCIgPT4gW1sgXCZjaGVja19mcmVlYnNkIF1dLAorICAgICAiU3VuT1MiICAgPT4gW1sgXCZjaGVja19zb2xhcmlzIF1dCistLSAKKzEuNi42LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvc3lzdGVtLXRvb2xzL3N5c3RlbS10b29scy1iYWNrZW5kcy0yLjEwLjIvc3lzdGVtLXRvb2xzLWJhY2tlbmRzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvc3lzdGVtLXRvb2xzL3N5c3RlbS10b29scy1iYWNrZW5kcy0yLjEwLjIvc3lzdGVtLXRvb2xzLWJhY2tlbmRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwNGMzNmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9zeXN0ZW0tdG9vbHMvc3lzdGVtLXRvb2xzLWJhY2tlbmRzLTIuMTAuMi9zeXN0ZW0tdG9vbHMtYmFja2VuZHMKQEAgLTAsMCArMSw3NCBAQAorIyEgL2Jpbi9zaAorIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgc3lzdGVtLXRvb2xzLWJhY2tlbmRzCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkbG9jYWxfZnMgZGJ1cworIyBSZXF1aXJlZC1TdG9wOiAgICAgJGxvY2FsX2ZzIGRidXMKKyMgU2hvdWxkLVN0YXJ0OgkgICAgICRzeXNsb2cKKyMgU2hvdWxkLVN0b3A6ICAgICAgICRzeXNsb2cKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDEKKyMgU2hvcnQtRGVzY3JpcHRpb246IEdub21lIFN5c3RlbSBUb29scyBCYWNrZW5kcworIyBEZXNjcmlwdGlvbjogICAgICAgVGhlIEdub21lIFN5c3RlbSBUb29scyBCYWNrZW5kcyBkYWVtb24gaGFuZGxlcyByb290LW5lZWRlZAorIyAgICAgICAgICAgICAgICAgICAgb3BlcmF0aW9ucyB0byBjb25maWd1cmUgeW91ciBtYWNoaW5lIHdpdGggdGhlIEdub21lIFN5c3RlbQorIwkJICAgICBUb29scy4KKyMjIyBFTkQgSU5JVCBJTkZPCisKK1BBVEg9L3Vzci9sb2NhbC9zYmluOi91c3IvbG9jYWwvYmluOi9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluCitEQUVNT049L3Vzci9iaW4vc3lzdGVtLXRvb2xzLWJhY2tlbmRzCitQSURESVI9L3Zhci9ydW4KK1BJREZJTEU9JFBJRERJUi9zeXN0ZW0tdG9vbHMtYmFja2VuZHMucGlkCitOQU1FPXN5c3RlbS10b29scy1iYWNrZW5kcworREVTQz0iU3lzdGVtIFRvb2xzIEJhY2tlbmRzIgorCit0ZXN0IC14ICREQUVNT04gfHwgZXhpdCAwCisKK3NldCAtZQorCitkb19zdGFydCgpIHsKKyAgICBlY2hvICJTdGFydGluZyAkREVTQyIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tc3RhcnRhcyAkREFFTU9OIC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFCit9CisKK2RvX3N0b3AoKSB7CisgICAgZWNobyAiU3RvcHBpbmcgJERFU0MiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tb2tub2RvIC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFIC0tc3RhcnRhcyAkREFFTU9OCit9CisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBkb19zdGFydAorICAgIDs7CisgIHN0b3ApCisgICAgZG9fc3RvcAorICAgIDs7CisgICNyZWxvYWQpCisgICAgIworICAgICMgSWYgdGhlIGRhZW1vbiBjYW4gcmVsb2FkIGl0cyBjb25maWcgZmlsZXMgb24gdGhlIGZseQorICAgICMgZm9yIGV4YW1wbGUgYnkgc2VuZGluZyBpdCBTSUdIVVAsIGRvIGl0IGhlcmUuCisgICAgIworICAgICMgSWYgdGhlIGRhZW1vbiByZXNwb25kcyB0byBjaGFuZ2VzIGluIGl0cyBjb25maWcgZmlsZQorICAgICMgZGlyZWN0bHkgYW55d2F5LCBtYWtlIHRoaXMgYSBkby1ub3RoaW5nIGVudHJ5LgorICAgICMKKyAgICAjIGVjaG8gIlJlbG9hZGluZyAkREVTQyBjb25maWd1cmF0aW9uIGZpbGVzLiIKKyAgICAjIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXNpZ25hbCAxIC0tcXVpZXQgLS1waWRmaWxlIFwKKyAgICAjICAgL3Zhci9ydW4vJE5BTUUucGlkIC0tZXhlYyAkREFFTU9OCisgICM7OworICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKyAgICAjCisgICAgIyAgIElmIHRoZSAicmVsb2FkIiBvcHRpb24gaXMgaW1wbGVtZW50ZWQsIG1vdmUgdGhlICJmb3JjZS1yZWxvYWQiCisgICAgIyAgIG9wdGlvbiB0byB0aGUgInJlbG9hZCIgZW50cnkgYWJvdmUuIElmIG5vdCwgImZvcmNlLXJlbG9hZCIgaXMKKyAgICAjICAganVzdCB0aGUgc2FtZSBhcyAicmVzdGFydCIuCisgICAgIworICAgIGRvX3N0b3AKKyAgICBzbGVlcCA1CisgICAgZG9fc3RhcnQKKyAgICA7OworICAqKQorICAgIE49L2V0Yy9pbml0LmQvJE5BTUUKKyAgICBlY2hvICJVc2FnZTogJE4ge3N0YXJ0fHN0b3B8cmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfHN0YXR1c30iID4mMgorICAgIGV4aXQgMQorICAgIDs7Citlc2FjCisKK2V4aXQgMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9zeXN0ZW0tdG9vbHMvc3lzdGVtLXRvb2xzLWJhY2tlbmRzXzIuMTAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3N5c3RlbS10b29scy9zeXN0ZW0tdG9vbHMtYmFja2VuZHNfMi4xMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2OTNmMzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9zeXN0ZW0tdG9vbHMvc3lzdGVtLXRvb2xzLWJhY2tlbmRzXzIuMTAuMi5iYgpAQCAtMCwwICsxLDU0IEBACitTVU1NQVJZID0gImdub21lIHN5c3RlbSB0b29scyBiYWNrZW5kcyIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJkYnVzIGRidXMtZ2xpYiBnbGliLTIuMCBwb2xraXQiCisKK2luaGVyaXQgZ25vbWUgcGtnY29uZmlnIHVwZGF0ZS1yYy5kIGdldHRleHQKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZWRhZTE0OGIzMTM0MmFlY2FlMDM1MDUxYWRjNzBjNzQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIxZGJlNTE3N2RmNDZhOWM3MjUwNzM1ZTA1ZTc3MTI5ZmU3ZWMwNDg0MDc3MWFjY2ZhODc2OTAxMTFjYTJjNjcwIgorCitTUkNfVVJJICs9ICIgXAorICAgICAgICAgICAgZmlsZTovL3N5c3RlbS10b29scy1iYWNrZW5kcyBcCisiCisKKyMgVGhpcyBuZWVkcyB0byBtb3ZlIHRvIG1ldGEtYW5nc3Ryb20KK1NSQ19VUklfYXBwZW5kX2FuZ3N0cm9tID0gIiBcCisgICAgICAgICAgICBmaWxlOi8vYWRkLWFuZ3N0cm9tLWRpc3Ryby5wYXRjaCBcCisiCisKK0VYVFJBX09FQ09ORiA9ICIgLS13aXRoLW5ldC1kYnVzPSR7bGliZGlyfS9wZXJsNSAiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBybSBtaXNzaW5nIHx8IHRydWUKKyAgICBhdXRvbWFrZSAtLWFkZC1taXNzaW5nCisgICAgc2VkIC1pIC1lICdzOkNDPSQoQ0MpOkNDPSIkKENDKSI6ZycgJHtTfS9OZXQtREJ1cy9NYWtlZmlsZS5hbQorICAgIHNlZCAtaSAtZSAnczpDQz0kKENDKTpDQz0iJChDQykiOmcnICR7U30vTmV0LURCdXMvTWFrZWZpbGUuaW4KKyAgICBsaWJ0b29saXplIC0tZm9yY2UgLS1pbnN0YWxsCisgICAgYWNsb2NhbAorICAgIGdudS1jb25maWdpemUKKyAgICBvZV9ydW5jb25mCisgICAgY3AgJHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vJHtIT1NUX1NZU30tbGlidG9vbCAke1N9Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9zeXN0ZW0tdG9vbHMtYmFja2VuZHMgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC8gICAgCit9CisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJzeXN0ZW0tdG9vbHMtYmFja2VuZHMiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA1MCAyIDMgNCA1IC4gc3RvcCA3MCAxIC4iCisKKyMgU2hhZG93IGFkZGVkIHNvIHRoZXJlIGlzIGEgZnVsbCBhZGR1c2VyL2RlbHVzZXIKKyMgKEdub21lIGltYWdlcyB0ZW5kIHRvIHB1bGwgaW4gc2hhZG93IGFueXdheSkKK1JERVBFTkRTXyR7UE59ID0gInNoYWRvdyIKKworRklMRVNfJHtQTn0gKz0gIiAke3N5c2NvbmZkaXJ9L2RidXMtMS9zeXN0ZW0uZCIKK0ZJTEVTXyR7UE59ICs9ICIgJHtsaWJkaXJ9L3BrZ2NvbmZpZyIKK0ZJTEVTXyR7UE59ICs9ICIgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIgorRklMRVNfJHtQTn0gKz0gIiAke2RhdGFkaXJ9L3N5c3RlbS10b29scy1iYWNrZW5kcy0yLjAvZmlsZXMiCitGSUxFU18ke1BOfSArPSAiICR7ZGF0YWRpcn0vc3lzdGVtLXRvb2xzLWJhY2tlbmRzLTIuMC9zY3JpcHRzIgorRklMRVNfJHtQTn0gKz0gIiAke2RhdGFkaXJ9L3BvbGtpdCoiCisKK1BOQkxBQ0tMSVNUW3N5c3RlbS10b29scy1iYWNrZW5kc10gPz0gImRvZXMgbm90IGJ1aWxkIHdpdGggZGlzdHJvbGVzcyBxZW11YXJtIGFzIHJlcG9ydGVkIGluICdTdGF0ZSBvZiBiaXRiYWtlIHdvcmxkJyB0aHJlYWQsIG5vYm9keSB2b2x1bnRlZXJlZCB0byBmaXggdGhlbSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3RoZW1lcy9nbm9tZS10aGVtZXMvZHJvcC1sb2NhbGVkaXItb3ZlcnJpZGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS90aGVtZXMvZ25vbWUtdGhlbWVzL2Ryb3AtbG9jYWxlZGlyLW92ZXJyaWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzNzQ4MmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS90aGVtZXMvZ25vbWUtdGhlbWVzL2Ryb3AtbG9jYWxlZGlyLW92ZXJyaWRlLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0NhdXNlcyBsb2NhbGUgZmlsZSB0byBiZSBpbnN0YWxsZWQgaW4gL3Vzci9sb2NhbGUgaW5zdGVhZCBvZiAvdXNyL3NoYXJlL2xvY2FsZQorCitBcHBseSB0aGUgc2FtZSBmaXggYXMgaW4gZXZvbHV0aW9uLWRhdGEtc2VydmVyOgoraHR0cHM6Ly9naXQuZ25vbWUub3JnL2Jyb3dzZS9ldm9sdXRpb24tZGF0YS1zZXJ2ZXIvY29tbWl0L2NvbmZpZ3VyZS5hYz9pZD1lYzQ2Yzc2M2U5MzQyZjYwNGI3MjI4YzY2MDYyM2QyNzFkZmViMTAxCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC11TnIgZ25vbWUtdGhlbWVzLTIuMzIuMS5vcmlnL2NvbmZpZ3VyZS5pbiBnbm9tZS10aGVtZXMtMi4zMi4xL2NvbmZpZ3VyZS5pbgorLS0tIGdub21lLXRoZW1lcy0yLjMyLjEub3JpZy9jb25maWd1cmUuaW4JMjAxNS0wOS0xOCAxNTowMToyNS4xNTIwNTU3MjkgKzAyMDAKKysrKyBnbm9tZS10aGVtZXMtMi4zMi4xL2NvbmZpZ3VyZS5pbgkyMDE1LTA5LTE4IDE1OjA5OjAzLjMxMjA3MjE1NiArMDIwMAorQEAgLTE5LDExICsxOSw2IEBACisgCisgQU1fR0xJQl9HTlVfR0VUVEVYVAorIAorLSMgQU1fR0xJQl9HTlVfR0VUVEVYVCBhYm92ZSBzdWJzdC4gJERBVEFESVJOQU1FCistIyB0aGlzIGlzIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlICoue21vLGdtb30gZmlsZXMgYXJlIGluc3RhbGxlZAorLWxvY2FsZWRpcj0nJHtwcmVmaXh9LyR7REFUQURJUk5BTUV9L2xvY2FsZScKKy1BQ19TVUJTVChsb2NhbGVkaXIpCistCisgIyBXb3JrYXJvdW5kIHRvIG1ha2UgYWNsb2NhbCBnZXQgdGhlIHJpZ2h0IGZsYWdzCisgQUNfU1VCU1QoQUNMT0NBTF9BTUZMQUdTLCAiXCR7QUNMT0NBTF9GTEFHU30iKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvdGhlbWVzL2dub21lLXRoZW1lcy9pY29ucGF0aC1vcHRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS90aGVtZXMvZ25vbWUtdGhlbWVzL2ljb25wYXRoLW9wdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjQwOTZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvdGhlbWVzL2dub21lLXRoZW1lcy9pY29ucGF0aC1vcHRpb24ucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorCitUaGUgcGF0Y2ggaXMgcG9ydGVkIGZyb20gc2F0by1pY29uLXRoZW1lLgorCitwa2ctY29uZmlnIHdpbGwgb25seSBzZWFyY2ggdGhlIHRhcmdldCBzeXNyb290IGFuZCB3ZSB3YW50IHRoZSBuYXRpdmUgc2NyaXB0LiBUaGlzIAorcGF0Y2ggYWRkcyBhbiBvcHRpb24gdG8gYWxsb3cgdGhlIHBhdGggdG8gdGhlIHRvb2wgdG8gYmUgc3BlY2lmaWVkLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuaW4gfCAgIDI2ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCA1ZjdhMThjLi5lOGZjMzFlIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC03NCwxNiArNzQsMjIgQEAgQUNfQVJHX0VOQUJMRShbaWNvbi1tYXBwaW5nXSwKKyBJQ09OTUFQPSJ0cnVlIgorIGlmIHRlc3QgIngkZW5hYmxlX21hcHBpbmciICE9ICJ4bm8iOyB0aGVuCisgICAgVVRJTFNfUkVRVUlSRUQ9MC44LjcKKy0KKy0gICBBQ19NU0dfQ0hFQ0tJTkcoW2ljb24tbmFtaW5nLXV0aWxzID49ICRVVElMU19SRVFVSVJFRF0pCistICAgUEtHX0NIRUNLX0VYSVNUUyhpY29uLW5hbWluZy11dGlscyA+PSAkVVRJTFNfUkVRVUlSRUQsIGhhdmVfdXRpbHM9eWVzLCBoYXZlX3V0aWxzPW5vKQorLSAgIGlmIHRlc3QgIngkaGF2ZV91dGlscyIgPSAieHllcyI7IHRoZW4KKy0gICAgICBVVElMU19QQVRIPSJgJFBLR19DT05GSUcgLS12YXJpYWJsZT1wcm9ncmFtX3BhdGggaWNvbi1uYW1pbmctdXRpbHNgIgorLSAgICAgIElDT05NQVA9IiRVVElMU19QQVRIL2ljb24tbmFtZS1tYXBwaW5nIgorLSAgICAgIEFDX01TR19SRVNVTFQoW3llc10pCistICAgZWxzZQorLQlBQ19NU0dfUkVTVUxUKFtub10pCistICAgCUFDX01TR19FUlJPUihbaWNvbi1uYW1pbmctdXRpbHMgPj0gJFVUSUxTX1JFUVVJUkVEIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIGFuZCBpbnN0YWxsIGdub21lLXRoZW1lc10pCisrICAgUEtHX1BST0dfUEtHX0NPTkZJRygpCisrICAgQUNfQVJHX1dJVEgoaWNvbm1hcCwKKysgICAJICAgIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtaWNvbm1hcD08ZGlyPl0sIFtUaGUgbG9jYXRpb24gb2YgdGhlIGljb24tbmFtZS1tYXBwaW5nIHNjcmlwdCB0byB1c2VdKSwKKysgICAJICAgIElDT05NQVA9JHdpdGh2YWwsIElDT05NQVA9IiIpCisrICAgaWYgdGVzdCAieCRJQ09OTUFQIiA9ICJ4IjsgdGhlbgorKyAgICAgIEFDX01TR19DSEVDS0lORyhbaWNvbi1uYW1pbmctdXRpbHMgPj0gJFVUSUxTX1JFUVVJUkVEXSkKKysgICAgICBQS0dfQ0hFQ0tfRVhJU1RTKGljb24tbmFtaW5nLXV0aWxzID49ICRVVElMU19SRVFVSVJFRCwgaGF2ZV91dGlscz15ZXMsIGhhdmVfdXRpbHM9bm8pCisrICAgICAgaWYgdGVzdCAieCRoYXZlX3V0aWxzIiA9ICJ4eWVzIjsgdGhlbgorKyAgICAgICAgIFVUSUxTX1BBVEg9ImAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPXByb2dyYW1fcGF0aCBpY29uLW5hbWluZy11dGlsc2AiCisrICAgICAgICAgSUNPTk1BUD0iJFVUSUxTX1BBVEgvaWNvbi1uYW1lLW1hcHBpbmciCisrCisrICAgICAgICAgQUNfTVNHX1JFU1VMVChbeWVzXSkKKysgICAgICBlbHNlCisrICAgICAgICAgQUNfTVNHX1JFU1VMVChbbm9dKQorKyAgICAgICAgIEFDX01TR19FUlJPUihbaWNvbi1uYW1pbmctdXRpbHMgPj0gJFVUSUxTX1JFUVVJUkVEIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIGFuZCBpbnN0YWxsIGdub21lLXRoZW1lcyJdKQorKyAgICAgIGZpCisgICAgZmkKKyBmaQorIEFDX1NVQlNUKElDT05NQVApCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvdGhlbWVzL2dub21lLXRoZW1lc18yLjMyLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS90aGVtZXMvZ25vbWUtdGhlbWVzXzIuMzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWE3NDNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvdGhlbWVzL2dub21lLXRoZW1lc18yLjMyLjEuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJHTk9NRSB0aGVtZXMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmI1NDNkYzk3ZWI3NTk0ZDAyNmFmMzlkOWI1NDIwNGIiCisKK1BSID0gInIzIgorCitTRUNUSU9OID0gIngxMS9nbm9tZSIKK0RFUEVORFMgPSAiZ3RrLWVuZ2luZXMgaWNvbi1uYW1pbmctdXRpbHMgaWNvbi1uYW1pbmctdXRpbHMtbmF0aXZlIGdsaWItMi4wIGludGx0b29sLW5hdGl2ZSBsaWJ4bWwtc2ltcGxlLXBlcmwtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiYWR3YWl0YS1pY29uLXRoZW1lIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWFsbC10aGVtZXMgXAorICAgIC0td2l0aC1pY29ubWFwPSR7U1RBR0lOR19MSUJFWEVDRElSX05BVElWRX0vaWNvbi1uYW1lLW1hcHBpbmcgXAorIgorCitpbmhlcml0IGdub21lYmFzZSBwZXJsbmF0aXZlCisKK1BBQ0tBR0VTID0rICIgZ25vbWUtdGhlbWUtY3J1eCBnbm9tZS10aGVtZS1oaWdoY29udHJhc3QgZ25vbWUtdGhlbWUtaGlnaGNvbnRyYXN0aW52ZXJzZSBnbm9tZS10aGVtZS1oaWdoY29udHJhc3RsYXJnZXByaW50IGdub21lLXRoZW1lLWhpZ2hjb250cmFzdGxhcmdlcHJpbnRpbnZlcnNlIGdub21lLXRoZW1lLWxhcmdlcHJpbnQgZ25vbWUtdGhlbWUtbWlzdCIKK0ZJTEVTX2dub21lLXRoZW1lLWNydXggPSAiJHtkYXRhZGlyfS90aGVtZXMvQ3J1eCAke2RhdGFkaXJ9L2ljb25zL0NydXgiCitGSUxFU19nbm9tZS10aGVtZS1oaWdoY29udHJhc3QgPSAiJHtkYXRhZGlyfS90aGVtZXMvSGlnaENvbnRyYXN0ICR7ZGF0YWRpcn0vaWNvbnMvSGlnaENvbnRyYXN0IgorRklMRVNfZ25vbWUtdGhlbWUtaGlnaGNvbnRyYXN0aW52ZXJzZSA9ICIke2RhdGFkaXJ9L3RoZW1lcy9IaWdoQ29udHJhc3RJbnZlcnNlICR7ZGF0YWRpcn0vaWNvbnMvSGlnaENvbnRyYXN0SW52ZXJzZSIKK0ZJTEVTX2dub21lLXRoZW1lLWhpZ2hjb250cmFzdGxhcmdlcHJpbnQgPSAiJHtkYXRhZGlyfS90aGVtZXMvSGlnaENvbnRyYXN0TGFyZ2VQcmludCAke2RhdGFkaXJ9L2ljb25zL0hpZ2hDb250cmFzdExhcmdlUHJpbnQiCitGSUxFU19nbm9tZS10aGVtZS1oaWdoY29udHJhc3RsYXJnZXByaW50aW52ZXJzZSA9ICIke2RhdGFkaXJ9L3RoZW1lcy9IaWdoQ29udHJhc3RMYXJnZVByaW50SW52ZXJzZSAke2RhdGFkaXJ9L2ljb25zL0hpZ2hDb250cmFzdExhcmdlUHJpbnRJbnZlcnNlIgorRklMRVNfZ25vbWUtdGhlbWUtbGFyZ2VwcmludCA9ICIke2RhdGFkaXJ9L3RoZW1lcy9MYXJnZVByaW50ICR7ZGF0YWRpcn0vaWNvbnMvTGFyZ2VQcmludCIKK0ZJTEVTX2dub21lLXRoZW1lLW1pc3QgPSAiJHtkYXRhZGlyfS90aGVtZXMvTWlzdCAke2RhdGFkaXJ9L2ljb25zL01pc3QiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3RoZW1lcyAke2RhdGFkaXJ9L2ljb25zIgorCitTUkNfVVJJICs9ICJmaWxlOi8vaWNvbnBhdGgtb3B0aW9uLnBhdGNoIFwKKyAgICBmaWxlOi8vZHJvcC1sb2NhbGVkaXItb3ZlcnJpZGUucGF0Y2ggXAorIiAKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjQxZGI5ZTNjYjI1ZDM1YWYyNjc1YzU5OWU2Nzk0NGQxIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiODYwMWVlMjRjMmUwOTY1OTMyMjFjYmQ2ZWJkYjY2ODYwNDIyMjVhMDNjMDJhMDFjMGQ2N2MxNjNmOWZlYmQxYSIKK0dOT01FX0NPTVBSRVNTX1RZUEU9ImJ6MiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2LTEuMi40LzAwMDEtY29uZmlndXJlLXVzZS1mb3JlaWduLW1vZGUtdG8tYXZvaWQtZXJyb3JzLXdpdGgtbWlzcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2LTEuMi40LzAwMDEtY29uZmlndXJlLXVzZS1mb3JlaWduLW1vZGUtdG8tYXZvaWQtZXJyb3JzLXdpdGgtbWlzcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGM1YmM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvd3Yvd3YtMS4yLjQvMDAwMS1jb25maWd1cmUtdXNlLWZvcmVpZ24tbW9kZS10by1hdm9pZC1lcnJvcnMtd2l0aC1taXNzLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gZWViZTFmMjdmNGIyN2IwNWViNGI5YjU1ZjlkZjExMjRhY2Y0ZDA5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBGcmksIDEgQXVnIDIwMTQgMTI6MjU6MjQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgJ2ZvcmVpZ24nIG1vZGUgdG8gYXZvaWQgZXJyb3JzIHdpdGggbWlzc2luZworIE5FV1MvQVVUSE9SUy9ldGMKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKyBjb25maWd1cmUuYWMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDNkN2VlZjYuLjE3ODRiZGQgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTQxLDcgKzQxLDcgQEAgVkVSU0lPTj0kV1ZfVkVSU0lPTgorIFBBQ0tBR0U9d3YKKyAKKyBkbmwgSW5pdGlhbGl6ZSBhdXRvbWFrZSBzdHVmZgorLUFNX0lOSVRfQVVUT01BS0UoJFBBQ0tBR0UsICRWRVJTSU9OKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIAorICMgU3BlY2lmeSBhIGNvbmZpZ3VyYXRpb24gZmlsZQorIEFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCistLSAKKzEuOS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2LTEuMi40L3BrZ2NvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2LTEuMi40L3BrZ2NvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzZkODkzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvd3Yvd3YtMS4yLjQvcGtnY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiB3di0xLjIuMC93di0xLjAucGMuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB3di0xLjIuMC5vcmlnL3d2LTEuMC5wYy5pbgkyMDA4LTAzLTE5IDIyOjI1OjE4LjAwMDAwMDAwMCArMDAwMAorKysrIHd2LTEuMi4wL3d2LTEuMC5wYy5pbgkyMDA4LTAzLTE5IDIyOjI2OjMyLjAwMDAwMDAwMCArMDAwMAorQEAgLTYsNSArNiw2IEBACisgTmFtZTogd3ZXYXJlCisgRGVzY3JpcHRpb246IFdvcmQgRG9jdW1lbnQgRmlsdGVyIGxpYnJhcnkgYW5kIHV0aWxpdGllcworIFZlcnNpb246IEBWRVJTSU9OQAorLUxpYnM6IC1MJHtsaWJkaXJ9IC1sd3YgQFdNRl9MSUJTQCBAWE1MX0xJQlNAIEBHTElCX0xJQlNAIEBHU0ZfTElCU0AgQFBOR19MSUJTQCBAWkxJQl9MSUJTQCBATElCU0AgLWxtCistQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0vd3YgQEdTRl9DRkxBR1NACisrUmVxdWlyZXM6IGxpYmdzZi0xCisrTGliczogLUwke2xpYmRpcn0gLWx3diBAV01GX0xJQlNAIEBYTUxfTElCU0AgQFBOR19MSUJTQCBAWkxJQl9MSUJTQCBATElCU0AgLWxtCisrQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0vd3YKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2XzEuMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvd3Yvd3ZfMS4yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQ4OWM2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2XzEuMi40LmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiUHJvZ3JhbXMgZm9yIGFjY2Vzc2luZyBNaWNyb3NvZnQgV29yZCBkb2N1bWVudHMiCitIT01FUEFHRSA9ICJodHRwOi8vd3Z3YXJlLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmNiY2EwMWYxYzkxNzhhY2EyODBlOGZmNjRkODViMmYiCisKK0RFUEVORFMgPSAibGliZ3NmIGdsaWItMi4wIGxpYnBuZyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vd3Z3YXJlL3d2LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9wa2djb25maWcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtdXNlLWZvcmVpZ24tbW9kZS10by1hdm9pZC1lcnJvcnMtd2l0aC1taXNzLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMTg2MWM1NjA0OTFmMTIxZTEyOTE3ZmE3Njk3MGFjNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2NzMxMDk5MTBlMjJkNGNmOTRjYzhiZTRkY2I5YTBjNDFiNWZiZGIxNzM2ZDRiN2JkYzc3Nzg4OTRkNTdjMmQ2IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUyA9ICIke1dPUktESVJ9LyR7UE59LSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvemVuaXR5L2ZpbGVzLzAwMDEtTWFrZWZpbGUuYW0tZG9uLXQtYnVpbGQtaGVscC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3plbml0eS9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLWRvbi10LWJ1aWxkLWhlbHAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTBjOWNiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3plbml0eS9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLWRvbi10LWJ1aWxkLWhlbHAucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSAxN2U1NjA2ZjhjNGM4ZmYyNmJhMTg0ODlhYWQ0YzQ4NGNmOGUyOTQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogTW9uLCAyOSBBcHIgMjAxMyAxMTozNDoyNyArMDIwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogZG9uJ3QgYnVpbGQgaGVscAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitpdCBjcmFzaGVzIHdpdGg6CisKK3wgd2FybmluZzogZmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgZW50aXR5ICIvdXNyL3NoYXJlL3htbC9nbm9tZS94c2x0L2RvY2Jvb2svb21mL2RiMm9tZi54c2wiCit8IGNhbm5vdCBwYXJzZSAvdXNyL3NoYXJlL3htbC9nbm9tZS94c2x0L2RvY2Jvb2svb21mL2RiMm9tZi54c2wKK3wgbWFrZVsyXTogKioqIFt6ZW5pdHktYmcub21mXSBFcnJvciAxCit8IG1ha2VbMl06IExlYXZpbmcgZGlyZWN0b3J5IGAvaG9tZS9hbmRyZWFzL3RtcC9vZS1jb3JlLWVnbGliYy93b3JrL2FybXY3YS12ZnAtbmVvbi1hbmdzdHJvbS1saW51eC1nbnVlYWJpL3plbml0eS8yLjMyLjEtcjIvemVuaXR5LTIuMzIuMS9oZWxwJworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgICAgMyArLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IDAzYWNjYzEuLmNhZWM3ZjAgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0xLDggKzEsNyBAQAorIFNVQkRJUlMgPSBcCisgCXNyYwlcCisgCXBvCVwKKy0JZGF0YQlcCistCWhlbHAKKysJZGF0YQorIAorIEVYVFJBX0RJU1QgPSBcCisgCWF1dG9nZW4uc2gJCVwKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS96ZW5pdHkvemVuaXR5XzIuMzIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3plbml0eS96ZW5pdHlfMi4zMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlMDFjNWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS96ZW5pdHkvemVuaXR5XzIuMzIuMS5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkRpc3BsYXkgZGlhbG9nIGJveGVzIGZyb20gdGhlIGNvbW1hbmRsaW5lIGFuZCBzaGVsbCBzY3JpcHRzIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyIKKworUFIgPSAicjIiCisKK1BOQkxBQ0tMSVNUW3plbml0eV0gPz0gIkJST0tFTjogZG9lc24ndCBidWlsZCB3aXRoIEIhPVMiCisKK0RFUEVORFMgPSAiZ3RrKyBnbGliLTIuMCBsaWJub3RpZnkgZ25vbWUtZG9jLXV0aWxzIgorCitpbmhlcml0IGdub21lYmFzZQorU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tZG9uLXQtYnVpbGQtaGVscC5wYXRjaCIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImFhNjZlYzM1NDUxYjE2ZTQyNDUxOWI0OTczMDgyMTcwIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiODgzOGJlMDQxYTA3MzY0YjYyYTQyODFjOTcxMzkyZTRhMDliYjAxYmIzMjM3YTgzNmVjMDQ1N2VjMGVhMThhYyIKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtc2Nyb2xsa2VlcGVyIgorIyByZW1vdmUgLUkvdXNyL2luY2x1ZGUgZnJvbSB6ZW5pdHlfQ1BQRkxBR1MKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAnLy1JJChpbmNsdWRlZGlyKS9kJyBzcmMvTWFrZWZpbGUuYW0KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9mbG9yZW5jZS9maWxlcy8wMDAxLUZpeC1nbGliLWluY2x1ZGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9mbG9yZW5jZS9maWxlcy8wMDAxLUZpeC1nbGliLWluY2x1ZGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzZTU5OGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2Zsb3JlbmNlL2ZpbGVzLzAwMDEtRml4LWdsaWItaW5jbHVkZXMucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSBjODQxOWVmMDVmZjkyZmZhM2RlMmU2MjZlYjZhY2Q1ZDJkZjNiYWExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVHVlLCAxNSBNYXkgMjAxMiAxMzo0MDowNSArMDIwMAorU3ViamVjdDogW1BBVENIXSBGaXggZ2xpYiBpbmNsdWRlcworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorVXBzdHJlYW0tU3RhdHVzOiB1bmtub3duCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHNyYy90cmFjZS5jIHwgICAgNSArLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3RyYWNlLmMgYi9zcmMvdHJhY2UuYworaW5kZXggNWVhNWMxMy4uNzc0YzU2ZCAxMDA2NDQKKy0tLSBhL3NyYy90cmFjZS5jCisrKysgYi9zcmMvdHJhY2UuYworQEAgLTIxLDEwICsyMSw3IEBACisgCisgI2luY2x1ZGUgInRyYWNlLmgiCisgI2luY2x1ZGUgInN5c3RlbS5oIgorLSNpbmNsdWRlIDxnbGliL2dwcmludGYuaD4KKy0jaW5jbHVkZSA8Z2xpYi9ndXRpbHMuaD4KKy0jaW5jbHVkZSA8Z2xpYi9nc2xpc3QuaD4KKy0jaW5jbHVkZSA8Z2xpYi9nc3RyZnVuY3MuaD4KKysjaW5jbHVkZSA8Z2xpYi5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzdGRhcmcuaD4KKyAKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2Zsb3JlbmNlL2Zsb3JlbmNlXzAuNS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9mbG9yZW5jZS9mbG9yZW5jZV8wLjUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTAxNGYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9mbG9yZW5jZS9mbG9yZW5jZV8wLjUuMS5iYgpAQCAtMCwwICsxLDIwIEBACitERVNDUklQVElPTiA9ICJGbG9yZW5jZSBpcyBhIHZpcnR1YWwga2V5Ym9hcmQgKGFsc28gY2FsbGVkIG9uLXNjcmVlbi1rZXlib2FyZCksIHdoaWNoIGFsbG93cyB0aGUgdXNlciB0byBpbnB1dCB0ZXh0IHRocm91Z2ggYSB0b3VjaHNjcmVlbi4iCitIT01FUEFHRSA9ICJodHRwOi8vZmxvcmVuY2Uuc291cmNlZm9yZ2UubmV0L2VuZ2xpc2guaHRtbCIKKworI05PVElDRTogSWYgZmxvcmVuY2UgY2FuJ3QgZmluZCBpdHMgZ2NvbmYgc2V0dGluZ3MsIHlvdSBuZWVkIHRvIHN0YXJ0IGZsb3JlbmNlIHdpdGggLS1jb25maWcgZm9yIG9uZSB0aW1lIGFuZCBzYXZlIHRoZSBjb25maWd1cmF0aW9uIG9uY2UuCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKKworUFIgPSAicjEiCisKK0RFUEVORFMgPSAiZ3RrKyBsaWJ4bWwyIGxpYmdsYWRlIGxpYnJzdmcgbGlieHRzdCBnY29uZiBjYWlybyBpbnRsdG9vbC1uYXRpdmUgZ25vbWUtZG9jLXV0aWxzIGxpYm5vdGlmeSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZmxvcmVuY2UvZmxvcmVuY2UvJHtQVn0vZmxvcmVuY2UtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1nbGliLWluY2x1ZGVzLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjU2ZDEyZTViNDdjMTAwZDlkZjE3MmFhNWRkYzBmNjA5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdiMDZlZDg0ZWYyYjdiMjJkOGQyY2YwYzdkMDEzYTA1NDA5YmQ4MjAyODI0MGFjODcxOWE2OGIxOTJkNWJjNjIiCisKK2luaGVyaXQgZ2V0dGV4dCBhdXRvdG9vbHMgZ2NvbmYgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtc2Nyb2xsa2VlcGVyIC0td2l0aG91dC1kb2NzIC0td2l0aG91dC1hdC1zcGkgLS13aXRob3V0LXBhbmVsYXBwbGV0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9nb2ZmaWNlL2dvZmZpY2UvMDAwMS1jb25maWd1cmUuYWMtZml4LXBhdGhzLXRvLWludHJvc3BlY3Rpb24tdG9vbHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZS8wMDAxLWNvbmZpZ3VyZS5hYy1maXgtcGF0aHMtdG8taW50cm9zcGVjdGlvbi10b29scy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjQ1OTc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9nb2ZmaWNlL2dvZmZpY2UvMDAwMS1jb25maWd1cmUuYWMtZml4LXBhdGhzLXRvLWludHJvc3BlY3Rpb24tdG9vbHMucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSA4ZTE1OGMxNmNkMTVmZmYwOGI0MmVkODZlZGM1NTgxNmQzMzg3ODM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE5IEZlYiAyMDE2IDE2OjA0OjI0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYzogZml4IHBhdGhzIHRvIGludHJvc3BlY3Rpb24gdG9vbHMKKworVGhleSBuZWVkIHRvIGJlIHByZWZpeGVkIHdpdGggJFBLR19DT05GSUdfU1lTUk9PVF9ESVIKKworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCA4ICsrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNmQyYjc0Ny4uM2IyODQ2MyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNzA2LDkgKzcwNiw5IEBAIGlmIHRlc3QgIngkZm91bmRfaW50cm9zcGVjdGlvbiIgPSAieHllcyI7IHRoZW4KKyAgICBkbmwgcHl0aG9uIHdoZXJlIHRvIGZpbmQgbGliZ29mZmljZSwgc28geW91IG1pZ2h0IGFsc28gbmVlZCB0byBzZXQKKyAgICBkbmwgTERfTElCUkFSWV9QQVRILgorIAorLSAgIElOVFJPU1BFQ1RJT05fU0NBTk5FUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1nX2lyX3NjYW5uZXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKy0gICBJTlRST1NQRUNUSU9OX0NPTVBJTEVSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWdfaXJfY29tcGlsZXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKy0gICBJTlRST1NQRUNUSU9OX0dFTkVSQVRFPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWdfaXJfZ2VuZXJhdGUgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKysgICBJTlRST1NQRUNUSU9OX1NDQU5ORVI9JFBLR19DT05GSUdfU1lTUk9PVF9ESVJgJFBLR19DT05GSUcgLS12YXJpYWJsZT1nX2lyX3NjYW5uZXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKysgICBJTlRST1NQRUNUSU9OX0NPTVBJTEVSPSRQS0dfQ09ORklHX1NZU1JPT1RfRElSYCRQS0dfQ09ORklHIC0tdmFyaWFibGU9Z19pcl9jb21waWxlciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYAorKyAgIElOVFJPU1BFQ1RJT05fR0VORVJBVEU9JFBLR19DT05GSUdfU1lTUk9PVF9ESVJgJFBLR19DT05GSUcgLS12YXJpYWJsZT1nX2lyX2dlbmVyYXRlIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCisgICAgaWYgdGVzdCAieCRJTlRST1NQRUNUSU9OX0dJUkRJUiIgPSB4OyB0aGVuCisgICAgICBJTlRST1NQRUNUSU9OX0dJUkRJUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1naXJkaXIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKyAgICBmaQorQEAgLTcxNyw3ICs3MTcsNyBAQCBpZiB0ZXN0ICJ4JGZvdW5kX2ludHJvc3BlY3Rpb24iID0gInh5ZXMiOyB0aGVuCisgICAgZmkKKyAgICBJTlRST1NQRUNUSU9OX0NGTEFHUz1gJFBLR19DT05GSUcgLS1jZmxhZ3MgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKyAgICBJTlRST1NQRUNUSU9OX0xJQlM9YCRQS0dfQ09ORklHIC0tbGlicyBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYAorLSAgIElOVFJPU1BFQ1RJT05fTUFLRUZJTEU9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9ZGF0YWRpciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYC9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wL01ha2VmaWxlLmludHJvc3BlY3Rpb24KKysgICBJTlRST1NQRUNUSU9OX01BS0VGSUxFPSRQS0dfQ09ORklHX1NZU1JPT1RfRElSYCRQS0dfQ09ORklHIC0tdmFyaWFibGU9ZGF0YWRpciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYC9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wL01ha2VmaWxlLmludHJvc3BlY3Rpb24KKyBlbHNlCisgICAgSU5UUk9TUEVDVElPTl9TQ0FOTkVSPQorICAgIElOVFJPU1BFQ1RJT05fQ09NUElMRVI9CistLSAKKzIuNy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvZ29mZmljZS9nb2ZmaWNlL2M5OW1hdGgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZS9jOTltYXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZTZjMzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZS9jOTltYXRoLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK0luZGV4OiBnb2ZmaWNlLTAuNy4xNC9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnb2ZmaWNlLTAuNy4xNC5vcmlnL2NvbmZpZ3VyZS5pbgkyMDA5LTExLTE0IDE5OjE0OjM3LjEwNjEwOTUwMSArMDEwMAorKysrIGdvZmZpY2UtMC43LjE0L2NvbmZpZ3VyZS5pbgkyMDA5LTExLTE0IDE5OjE5OjQwLjkwNzMzMzE4OCArMDEwMAorQEAgLTY2LDYgKzY2LDcgQEAKKyAKKyBBQ19JU0NfUE9TSVgKKyBBQ19QUk9HX0NDCisrQUNfUFJPR19DQ19DOTkKKyBBQ19QUk9HX1lBQ0MKKyBBTV9QUk9HX0xFWAorIEFDX1BST0dfTE5fUwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9nb2ZmaWNlL2dvZmZpY2Uvbm9kb2x0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC9nb2ZmaWNlL2dvZmZpY2Uvbm9kb2x0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhMTc3N2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZS9ub2RvbHQucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorSW5kZXg6IGdvZmZpY2UtMC43LjE0L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvZmZpY2UtMC43LjE0Lm9yaWcvY29uZmlndXJlLmluCisrKysgZ29mZmljZS0wLjcuMTQvY29uZmlndXJlLmluCitAQCAtNzEsNyArNzEsNiBAQCBBQ19QUk9HX1lBQ0MKKyBBTV9QUk9HX0xFWAorIEFDX1BST0dfTE5fUworIEFNX1BST0dfTElCVE9PTAorLURPTFQKKyBBQ19TVERDX0hFQURFUlMKKyBBQ19TWVNfTEFSR0VGSUxFCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZS9wY3JlLTguMzAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZS9wY3JlLTguMzAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWU5MzcwYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvZ29mZmljZS9nb2ZmaWNlL3BjcmUtOC4zMC5wYXRjaApAQCAtMCwwICsxLDE5IEBACitUYWtlbiBmcm9tIGh0dHA6Ly90cmFjLm1hY3BvcnRzLm9yZy90aWNrZXQvMzQ4MTIKKworRml4ZXMgYWJpd29yZCBidWlsZCBmYWlsaW5nIHdpdGg6CisvdXNyL2xpYi9saWJnb2ZmaWNlLTAuOC5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcGNyZV9pbmZvJworCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworaHR0cDovL3d3dy5saW51eGZyb21zY3JhdGNoLm9yZy9ibGZzL3ZpZXcvY3ZzL3gvZ29mZmljZS5odG1sCistLS0gYS9nb2ZmaWNlL3V0aWxzL3JlZ3V0ZjguYy5vcmlnCTIwMDktMDktMDUgMTg6NTI6MDkuMDAwMDAwMDAwIC0wNTAwCisrKysgYi9nb2ZmaWNlL3V0aWxzL3JlZ3V0ZjguYwkyMDEyLTA2LTA5IDE4OjA0OjI5LjAwMDAwMDAwMCAtMDUwMAorQEAgLTE1NSw3ICsxNTUsNyBAQAorIAkJZGVmYXVsdDogcmV0dXJuIEdPX1JFR19CQURQQVQ7CisgCQl9CisgCX0gZWxzZSB7CistCQlnb3ItPnJlX25zdWIgPSBwY3JlX2luZm8gKHIsIE5VTEwsIE5VTEwpOworKwkJZ29yLT5yZV9uc3ViID0gcGNyZV9mdWxsaW5mbyAociwgTlVMTCwgMCwgTlVMTCk7CisgCQlnb3ItPm5vc3ViID0gKGNmbGFncyAmIEdPX1JFR19OT1NVQikgIT0gMDsKKyAJCXJldHVybiAwOworIAl9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZV8wLjEwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L2dvZmZpY2UvZ29mZmljZV8wLjEwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE5YWE3YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvZ29mZmljZS9nb2ZmaWNlXzAuMTAuMS5iYgpAQCAtMCwwICsxLDQ5IEBACitERVNDUklQVElPTj0iR25vbWUgT2ZmaWNlIExpYnJhcnkiCisKK0xJQ0VOU0U9IkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmRjMzNmZjIxZTFiYTFhYzFhMmExMDY5ZDM2MWUyOWUiCisKK0RFUEVORFMgPSAibGlieG1sLXBhcnNlci1wZXJsLW5hdGl2ZSBnbGliLTIuMCBndGsrMyBwYW5nbyBjYWlybyBsaWJnc2YgbGlicGNyZSBsaWJ4bWwyIGxpYmFydC1sZ3BsIGxpYnJzdmcgaW50bHRvb2wiCisKK2luaGVyaXQgZ25vbWViYXNlIHBrZ2NvbmZpZyBwZXJsbmF0aXZlIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitHTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtZml4LXBhdGhzLXRvLWludHJvc3BlY3Rpb24tdG9vbHMucGF0Y2giCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjkwZmQxN2M2ZmUyMDViNzc5NTcxZTAwZDliMGI0NzI3IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNWMzOGY0ZTgxZTg3NGNjOGU4OTQ4MWIwODBmNzdjNDdjNzJiZmQ2ZmUyNTI2ZjRmYzJlZjg3YzE3Zjk2Y2FkMCIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ29mZmljZS8ke1BWfS9wbHVnaW5zLyovLmRlYnVnIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICIgXAorICAgIGdvZmZpY2UtcGx1Z2luLXBsb3QtYmFyY29sIFwKKyAgICBnb2ZmaWNlLXBsdWdpbi1wbG90LWRpc3RyaWIgXAorICAgIGdvZmZpY2UtcGx1Z2luLXBsb3QtcGllIFwKKyAgICBnb2ZmaWNlLXBsdWdpbi1wbG90LXJhZGFyIFwKKyAgICBnb2ZmaWNlLXBsdWdpbi1wbG90LXN1cmZhY2UgXAorICAgIGdvZmZpY2UtcGx1Z2luLXBsb3QteHkgXAorICAgIGdvZmZpY2UtcGx1Z2luLXJlZy1saW5lYXIgXAorICAgIGdvZmZpY2UtcGx1Z2luLXJlZy1sb2dmaXQgXAorICAgIGdvZmZpY2UtcGx1Z2luLXNtb290aGluZyBcCisiCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS8qICR7c2JpbmRpcn0vKiAke2xpYmV4ZWNkaXJ9LyogJHtsaWJkaXJ9L2xpYioke1NPTElCU30gXAorICAgICR7c3lzY29uZmRpcn0gJHtzaGFyZWRzdGF0ZWRpcn0gJHtsb2NhbHN0YXRlZGlyfSBcCisgICAgJHtiYXNlX2JpbmRpcn0vKiAke2Jhc2Vfc2JpbmRpcn0vKiBcCisgICAgJHtiYXNlX2xpYmRpcn0vKiR7U09MSUJTfSBcCisgICAgJHtkYXRhZGlyfS8ke1BOfSBcCisgICAgJHtkYXRhZGlyfS9waXhtYXBzICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zIFwKKyAgICAke2RhdGFkaXJ9L2lkbCAke2RhdGFkaXJ9L29tZiAke2RhdGFkaXJ9L3NvdW5kcyBcCisgICAgJHtsaWJkaXJ9L2Jvbm9iby9zZXJ2ZXJzIgorCitGSUxFU18ke1BOfS1sb2NhbGUgPSAiJHtsaWJkaXJ9L2xvY2FsZSIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXmdvZmZpY2UtcGx1Z2luLS4qIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgZ29mZmljZV9saWJkaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L2dvZmZpY2UvJHtQVn0vcGx1Z2lucy8nKQorCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZ29mZmljZV9saWJkaXIsICcoLiopJywgJ2dvZmZpY2UtcGx1Z2luLSVzJywgJ0dvZmZpY2UgcGx1Z2luIGZvciAlcycsIGFsbG93X2RpcnM9VHJ1ZSkKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC90cmFja2VyL2ZpbGVzLzkwdHJhY2tlciBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci9maWxlcy85MHRyYWNrZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTU5NGI5MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci9maWxlcy85MHRyYWNrZXIKQEAgLTAsMCArMSw0IEBACisjIS9iaW4vc2gKKworL3Vzci9iaW4vdHJhY2tlcmQgLW0gJgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3RyYWNrZXIvZmlsZXMvdHJhY2tlci1kYnVzLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3RyYWNrZXIvZmlsZXMvdHJhY2tlci1kYnVzLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk3ZjQ5YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci9maWxlcy90cmFja2VyLWRidXMuc2VydmljZQpAQCAtMCwwICsxLDE1IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPXRyYWNrZXIgREJ1cyBzZXNzaW9uIGJ1cyBoYW5kbGVyCitCZWZvcmU9dHJhY2tlci1zdG9yZS5zZXJ2aWNlCitBZnRlcj1kYnVzLnNlcnZpY2UKK1JlcXVpcmVzPWRidXMuc2VydmljZQorQmluZFRvPXRyYWNrZXItc3RvcmUuc2VydmljZQorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS0vdG1wL3RyYWNrZXIuZW52CitFeGVjU3RhcnRQcmU9QEJBU0VfQklORElSQC9ybSAtcmYgL3RtcC90cmFja2VyLmVudgorRXhlY1N0YXJ0PS9iaW4vc2ggLWMgJ2VjaG8gIkRCVVNfU0VTU0lPTl9CVVNfQUREUkVTUz1gZGJ1cy1kYWVtb24gLS1mb3JrIC0tc2Vzc2lvbiAtLXByaW50LWFkZHJlc3NgIiA+IC90bXAvdHJhY2tlci5lbnYnCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci9maWxlcy90cmFja2VyLW1pbmVyLWZzLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3RyYWNrZXIvZmlsZXMvdHJhY2tlci1taW5lci1mcy5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ZDlhMWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3RyYWNrZXIvZmlsZXMvdHJhY2tlci1taW5lci1mcy5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249dHJhY2tlci1taW5lci1mcworQWZ0ZXI9c3lzbG9nLnRhcmdldCBsb2NhbC1mcy50YXJnZXQgdWRldi5zZXJ2aWNlIGRidXMuc2VydmljZSB0cmFja2VyLXN0b3JlLnNlcnZpY2UKK1JlcXVpcmVzPXRyYWNrZXItc3RvcmUuc2VydmljZQorCitbU2VydmljZV0KK0Vudmlyb25tZW50PUhPTUU9L2hvbWUvcm9vdAorRW52aXJvbm1lbnRGaWxlPS0vdG1wL3RyYWNrZXIuZW52CitFeGVjU3RhcnQ9QExJQkVYRUNESVJAL3RyYWNrZXItbWluZXItZnMKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC90cmFja2VyL2ZpbGVzL3RyYWNrZXItc3RvcmUuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci9maWxlcy90cmFja2VyLXN0b3JlLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzUwMzdmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci9maWxlcy90cmFja2VyLXN0b3JlLnNlcnZpY2UKQEAgLTAsMCArMSwxMiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj10cmFja2VyLXN0b3JlCitBZnRlcj1zeXNsb2cudGFyZ2V0IGxvY2FsLWZzLnRhcmdldCBkYnVzLnNlcnZpY2UKK1JlcXVpcmVzPWRidXMuc2VydmljZSB0cmFja2VyLWRidXMuc2VydmljZQorQmluZFRvPXRyYWNrZXItZGJ1cy5zZXJ2aWNlCisKK1tTZXJ2aWNlXQorRW52aXJvbm1lbnRGaWxlPS0vdG1wL3RyYWNrZXIuZW52CitFeGVjU3RhcnQ9QExJQkVYRUNESVJAL3RyYWNrZXItc3RvcmUKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC90cmFja2VyL3RyYWNrZXItMC4xNC4yLzAwMDUtRml4LW1pc3NpbmctZ29iamVjdC1pbnRyb3NwZWN0aW9uLWNoZWNrcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyLTAuMTQuMi8wMDA1LUZpeC1taXNzaW5nLWdvYmplY3QtaW50cm9zcGVjdGlvbi1jaGVja3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODcwMWY1OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyLTAuMTQuMi8wMDA1LUZpeC1taXNzaW5nLWdvYmplY3QtaW50cm9zcGVjdGlvbi1jaGVja3MucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorZGlmZiAtTmF1ciAuLi90cmFja2VyLTAuMTAuOC9jb25maWd1cmUuYWMgdHJhY2tlci0wLjEwLjgvL2NvbmZpZ3VyZS5hYworLS0tIC4uL3RyYWNrZXItMC4xMC44L2NvbmZpZ3VyZS5hYwkyMDExLTA0LTA4IDE1OjAzOjMwLjAwMDAwMDAwMCArMDMwMAorKysrIHRyYWNrZXItMC4xMC44Ly9jb25maWd1cmUuYWMJMjAxMS0wNC0xMSAxMzo0NzoxNi42MjU5MTQwMDIgKzAzMDAKK0BAIC0yMTgsNyArMjE4LDEyIEBACisgCisgIyBOZWVkZWQgdG8gZ2VuZXJhdGUgLmdpciBmaWxlcywKKyAjIHNlZSBodHRwOi8vbGl2ZS5nbm9tZS5vcmcvR25vbWVHb2Fscy9BZGRHT2JqZWN0SW50cm9zcGVjdGlvblN1cHBvcnQKKy1HT0JKRUNUX0lOVFJPU1BFQ1RJT05fQ0hFQ0soWzAuOS41XSkKKysjR09CSkVDVF9JTlRST1NQRUNUSU9OX0NIRUNLKFswLjkuNV0pCisrIyBTYXRpc2Z5IG1pc3NpbmcgaW50cm9zcGVjdGlvbiBmb28KKytBTV9DT05ESVRJT05BTChIQVZFX0lOVFJPU1BFQ1RJT04sIHRlc3QgIjAiID09ICIxIikKKysKKytJTlRST1NQRUNUSU9OX0NGTEFHUz0iIgorK0FDX1NVQlNUKElOVFJPU1BFQ1RJT05fQ0ZMQUdTKQorIAorICMgTk9URTogZGJ1cyBhbmQgZGJ1cy1nbGliLTEgYXJlIG9ubHkgdXNlZCBub3cgZm9yIGxpYnRyYWNrZXItY2xpZW50CisgIyB3aGljaCBpcyBkZXByZWNhdGVkIGFuZCB0cmFja2VyLXdyaXRlYmFjayB3aGljaCB3aWxsIGJlIHJlZmFjdG9yZWQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyLTAuMTQuMi9lbmFibGUtc3FsaXRlLWNyb3NzY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyLTAuMTQuMi9lbmFibGUtc3FsaXRlLWNyb3NzY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGFkZGEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC90cmFja2VyL3RyYWNrZXItMC4xNC4yL2VuYWJsZS1zcWxpdGUtY3Jvc3Njb21waWxlLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiB0cmFja2VyLTAuMTAuMTcvbTQvc3FsaXRlLXRocmVhZHNhZmUubTQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB0cmFja2VyLTAuMTAuMTcub3JpZy9tNC9zcWxpdGUtdGhyZWFkc2FmZS5tNAorKysrIHRyYWNrZXItMC4xMC4xNy9tNC9zcWxpdGUtdGhyZWFkc2FmZS5tNAorQEAgLTQ1LDcgKzQ1LDcgQEAgaW50IG1haW4gKCkKKyAgIF1dKV0sCisgICAgICAgIFtheF9jdl9zcWxpdGVfdGhyZWFkc2FmZT15ZXNdLAorICAgICAgICBbYXhfY3Zfc3FsaXRlX3RocmVhZHNhZmU9bm9dLAorLSAgICAgICBbYXhfY3Zfc3FsaXRlX3RocmVhZHNhZmU9bm9dKV0pCisrICAgICAgIFtheF9jdl9zcWxpdGVfdGhyZWFkc2FmZT15ZXNdKV0pCisgCisgICBMSUJTPSIkc2F2ZV9MSUJTIgorIF0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3RyYWNrZXIvdHJhY2tlci0wLjE0LjIvZml4LXJlbW92YWJsZS1tZWRpYS1kZXRlY3Rpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3RyYWNrZXIvdHJhY2tlci0wLjE0LjIvZml4LXJlbW92YWJsZS1tZWRpYS1kZXRlY3Rpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmMzZDlkZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyLTAuMTQuMi9maXgtcmVtb3ZhYmxlLW1lZGlhLWRldGVjdGlvbi5wYXRjaApAQCAtMCwwICsxLDMwIEBACitJbmRleDogdHJhY2tlci0wLjE0LjIvc3JjL2xpYnRyYWNrZXItbWluZXIvdHJhY2tlci1zdG9yYWdlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB0cmFja2VyLTAuMTQuMi5vcmlnL3NyYy9saWJ0cmFja2VyLW1pbmVyL3RyYWNrZXItc3RvcmFnZS5jCTIwMTEtMDgtMDMgMTM6NTM6MTYuMDAwMDAwMDAwICswMTAwCisrKysgdHJhY2tlci0wLjE0LjIvc3JjL2xpYnRyYWNrZXItbWluZXIvdHJhY2tlci1zdG9yYWdlLmMJMjAxMi0wOS0xMCAwODoyNToxOC4zMjIyMTUxMjYgKzAxMDAKK0BAIC0yMCw2ICsyMCw3IEBACisgI2luY2x1ZGUgImNvbmZpZy5oIgorIAorICNpbmNsdWRlIDxzdHJpbmcuaD4KKysjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyAKKyAjaW5jbHVkZSA8Z2lvL2dpby5oPgorICNpbmNsdWRlIDxnaW8vZ3VuaXhtb3VudHMuaD4KK0BAIC02NDYsNiArNjQ3LDE3IEBACisgCQkJCWdjaGFyICpjb250ZW50X3R5cGU7CisgCQkJCWdib29sZWFuIGlzX211bHRpbWVkaWE7CisgCQkJCWdib29sZWFuIGlzX2JsYW5rOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHN0YXQgc3Q7CisrCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogQ29uc2lkZXIgYWxsIGZpbGVzIHVuZGVyIC9tZWRpYSB0byBiZQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogcmVtb3ZhYmxlIHVubGVzcyB0aGUgZmlsZSAudGhpcy1pcy1yb290IGlzCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBwcmVzZW50LgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0cm5jbXAgKG1vdW50X3BhdGgsICIvbWVkaWEvIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RybGVuICgiL21lZGlhLyIpKSAmJgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXQgKCIvbWVkaWEvLnRoaXMtaXMtcm9vdCIsICZzdCkpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX3JlbW92YWJsZSA9IFRSVUU7CisgCisgCQkJCWNvbnRlbnRfdHlwZSA9IG1vdW50X2d1ZXNzX2NvbnRlbnRfdHlwZSAobW91bnQsICZpc19vcHRpY2FsLCAmaXNfbXVsdGltZWRpYSwgJmlzX2JsYW5rKTsKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyXzAuMTQuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdHJhY2tlci90cmFja2VyXzAuMTQuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTJkOTVlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC90cmFja2VyL3RyYWNrZXJfMC4xNC4yLmJiCkBAIC0wLDAgKzEsODIgQEAKK0RFU0NSSVBUSU9OID0gIlRyYWNrZXIgaXMgYSB0b29sIGRlc2lnbmVkIHRvIGV4dHJhY3QgaW5mb3JtYXRpb24gYW5kIG1ldGFkYXRhIGFib3V0IHlvdXIgcGVyc29uYWwgZGF0YSBzbyB0aGF0IGl0IGNhbiBiZSBzZWFyY2hlZCBlYXNpbHkgYW5kIHF1aWNrbHkuIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVlMzEwMTJiZjkwZTdiOGMxMDhjNjlmMTk3ZjNlM2E0IgorREVQRU5EUyA9ICJmaWxlIGdzdHJlYW1lciBkYnVzIGxpYmV4aWYgZ2V0dGV4dCBzcWxpdGUzIGljdSBnc3QtcGx1Z2lucy1iYXNlIGxpYmdub21lLWtleXJpbmcgcG9wcGxlciB0aWZmIGVuY2EgbGliZ3NmIGxpYnVuaXN0cmluZyBnaWZsaWIgdGFnbGliIGJ6aXAyIHVwb3dlciBndGsrMyBsaWJnZWUgbmV0d29ya21hbmFnZXIiCisKK1JERVBFTkRTXyR7UE59ICs9ICIgZ3ZmcyBnc2V0dGluZ3MtZGVza3RvcC1zY2hlbWFzIgorSE9NRVBBR0UgPSAiaHR0cDovL3Byb2plY3RzLmdub21lLm9yZy90cmFja2VyLyIKKworUFIgPSAicjciCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnbm9tZWJhc2UgZ2V0dGV4dCBnc2V0dGluZ3Mgc3lzdGVtZCBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworVkVSX0RJUiA9ICIke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9IgorU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy90cmFja2VyLyR7VkVSX0RJUn0vdHJhY2tlci0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vZW5hYmxlLXNxbGl0ZS1jcm9zc2NvbXBpbGUucGF0Y2ggXAorCSAgIGZpbGU6Ly9maXgtcmVtb3ZhYmxlLW1lZGlhLWRldGVjdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly85MHRyYWNrZXIgXAorICAgICAgICAgICBmaWxlOi8vdHJhY2tlci1zdG9yZS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3RyYWNrZXItbWluZXItZnMuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly90cmFja2VyLWRidXMuc2VydmljZSBcCisgICAgICAgICAgICIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiB0cmFja2VyLXN0b3JlLnNlcnZpY2UgdHJhY2tlci1taW5lci1mcy5zZXJ2aWNlIHRyYWNrZXItZGJ1cy5zZXJ2aWNlICIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworRVhUUkFfT0VDT05GICs9ICIgdHJhY2tlcl9jdl9oYXZlX2lvcHJpbz15ZXMiCisKK1BBQ0tBR0VDT05GSUcgPz0gIm5hdXRpbHVzIgorUEFDS0FHRUNPTkZJR1tuYXV0aWx1c10gPSAiLS1lbmFibGUtbmF1dGlsdXMtZXh0ZW5zaW9uLC0tZGlzYWJsZS1uYXV0aWx1cy1leHRlbnNpb24sbmF1dGlsdXMiCisKKyMgRGlzYWJsZSB0aGUgZGVza3RvcC1jZW50cmljIG1pbmVycworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtbWluZXItdGh1bmRlcmJpcmQgLS1kaXNhYmxlLW1pbmVyLWZpcmVmb3ggXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtbWluZXItZXZvbHV0aW9uIC0tZGlzYWJsZS1taW5lci1mbGlja3IiCisKK0xFQURfU09OQU1FID0gImxpYnRyYWNrZXJjbGllbnQuc28uMCIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgICAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9zcmMvbGlidHJhY2tlci1zcGFycWwtYmFja2VuZC8ubGliczoke0J9L3NyYy9saWJ0cmFja2VyLWRhdGEvLmxpYnM6JHtCfS9zcmMvbGlidHJhY2tlci1jb21tb24vLmxpYnMiCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGNwIC1QcFIgJHtEfSR7U1RBR0lOR19EQVRBRElSfS8qICR7RH0ke2RhdGFkaXJ9LyB8fCB0cnVlCisjICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vWDExL1hzZXNzaW9uLmQvCisjICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vOTB0cmFja2VyICAke0R9LyR7c3lzY29uZmRpcn0vWDExL1hzZXNzaW9uLmQvCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdHJhY2tlci1zdG9yZS5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdHJhY2tlci1taW5lci1mcy5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdHJhY2tlci1kYnVzLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MsQExJQkVYRUNESVJALCR7bGliZXhlY2Rpcn0sZycgXAorICAgICAgICAgICAtZSAncyxAQkFTRV9CSU5ESVJALCR7YmFzZV9iaW5kaXJ9LGcnIFwKKyAgICAgICAgICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tdGVzdHMgJHtQTn0tdmFsYSAke1BOfS1uYXV0aWx1cy1leHRlbnNpb24iCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS8gXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS90cmFja2VyLSR7VkVSX0RJUn0vKi5zby4qIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vdHJhY2tlci0ke1ZFUl9ESVJ9L2V4dHJhY3QtbW9kdWxlcy8qLnNvIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vdHJhY2tlci0ke1ZFUl9ESVJ9L3dyaXRlYmFjay1tb2R1bGVzLyouc28gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vaWNvbnMvaGljb2xvci8qL2FwcHMvdHJhY2tlci4qIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vbmF1dGlsdXMvZXh0ZW5zaW9ucy0yLjAvKi5sYSBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9nbGliLTIuMC9zY2hlbWFzLyogXAorICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vdHJhY2tlci1zdG9yZS5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3RyYWNrZXItbWluZXItZnMuc2VydmljZSBcCisgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS90cmFja2VyLWRidXMuc2VydmljZSBcCisiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3RyYWNrZXItJHtWRVJfRElSfS8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3RyYWNrZXItJHtWRVJfRElSfS8qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3RyYWNrZXItJHtWRVJfRElSfS8qLyoubGEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vdHJhY2tlci0ke1ZFUl9ESVJ9L2V4dHJhY3QtbW9kdWxlcy8qLmxhIgorCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9uYXV0aWx1cy9leHRlbnNpb25zLTIuMC8qLmEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8qLyovLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyovLmRlYnVnIgorRklMRVNfJHtQTn0tdGVzdHMgPSAiJHtkYXRhZGlyfS90cmFja2VyLXRlc3RzLyIKK0ZJTEVTXyR7UE59LXZhbGEgPSAiJHtkYXRhZGlyfS92YWxhLyIKK0ZJTEVTXyR7UE59LW5hdXRpbHVzLWV4dGVuc2lvbiArPSAiJHtsaWJkaXJ9L25hdXRpbHVzL2V4dGVuc2lvbnMtMi4wLyouc28iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmM2E4NzFiZWVlYmY4NmZkNzUyODYzZWJkMjJhZjlhYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5YjU5MzMwYWEyZTllMDlmZWVlNTg3ZGVkODk1ZTkyNDdmNzFmYzI1ZjQ2YjAyM2Q2MTZkOTk2OTMxNGJjN2YxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3NpdGUvYXJtLTY0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3NpdGUvYXJtLTY0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NzRkMmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvc2l0ZS9hcm0tNjQKQEAgLTAsMCArMSwxMyBAQAorIyBPUkJpdDIKK2FjX2N2X2FsaWdub2ZfQ09SQkFfYm9vbGVhbj0xCithY19jdl9hbGlnbm9mX0NPUkJBX2NoYXI9MQorYWNfY3ZfYWxpZ25vZl9DT1JCQV9kb3VibGU9OAorYWNfY3ZfYWxpZ25vZl9DT1JCQV9mbG9hdD00CithY19jdl9hbGlnbm9mX0NPUkJBX2xvbmc9NAorYWNfY3ZfYWxpZ25vZl9DT1JCQV9sb25nX2RvdWJsZT04CithY19jdl9hbGlnbm9mX0NPUkJBX2xvbmdfbG9uZz04CithY19jdl9hbGlnbm9mX0NPUkJBX29jdGV0PTEKK2FjX2N2X2FsaWdub2ZfQ09SQkFfcG9pbnRlcj00CithY19jdl9hbGlnbm9mX0NPUkJBX3Nob3J0PTIKK2FjX2N2X2FsaWdub2ZfQ09SQkFfc3RydWN0PTEKK2FjX2N2X2FsaWdub2ZfQ09SQkFfd2NoYXI9MgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3NpdGUveDg2XzY0LWxpbnV4IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3NpdGUveDg2XzY0LWxpbnV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViYTFmZWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvc2l0ZS94ODZfNjQtbGludXgKQEAgLTAsMCArMSwxNyBAQAorIyBPUkJpdDIKK2FjX2N2X2FsaWdub2ZfQ09SQkFfYm9vbGVhbj0xCithY19jdl9hbGlnbm9mX0NPUkJBX2NoYXI9MQorYWNfY3ZfYWxpZ25vZl9DT1JCQV9kb3VibGU9OAorYWNfY3ZfYWxpZ25vZl9DT1JCQV9mbG9hdD00CithY19jdl9hbGlnbm9mX0NPUkJBX2xvbmc9NAorYWNfY3ZfYWxpZ25vZl9DT1JCQV9sb25nX2RvdWJsZT04CithY19jdl9hbGlnbm9mX0NPUkJBX2xvbmdfbG9uZz04CithY19jdl9hbGlnbm9mX0NPUkJBX29jdGV0PTEKK2FjX2N2X2FsaWdub2ZfQ09SQkFfcG9pbnRlcj04CithY19jdl9hbGlnbm9mX0NPUkJBX3Nob3J0PTIKK2FjX2N2X2FsaWdub2ZfQ09SQkFfc3RydWN0PTEKK2FjX2N2X2FsaWdub2ZfQ09SQkFfd2NoYXI9MgorCitsZl9jdl9zYW5lX3JlYWxsb2M9eWVzCithc19jdl91bmFsaWduZWRfYWNjZXNzPSR7YXNfY3ZfdW5hbGlnbmVkX2FjY2Vzcz15ZXN9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvUkVBRE1FIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzAwNTVhZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvUkVBRE1FCkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CiticmFuY2g6IGtyb2dvdGgKK3JldmlzaW9uOiBIRUFECisKK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1ncGVdW2tyb2dvdGhdJyBpbiB0aGUgc3ViamVjdCcKKworV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNpbmcgc29tZXRoaW5nIGxpa2U6CisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtZ3BlXVtrcm9nb3RoXVtQQVRDSCcKKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvY29uZi9sYXllci5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwZjM5MjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL2NvbmYvbGF5ZXIuY29uZgpAQCAtMCwwICsxLDE1IEBACisjIFdlIGhhdmUgYSBjb25mIGFuZCBjbGFzc2VzIGRpcmVjdG9yeSwgYXBwZW5kIHRvIEJCUEFUSAorQkJQQVRIIC49ICI6JHtMQVlFUkRJUn0iCisKKyMgV2UgaGF2ZSBhIHJlY2lwZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJGSUxFUworQkJGSUxFUyArPSAiJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYiAke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgorCitCQkZJTEVfQ09MTEVDVElPTlMgKz0gImdwZS1sYXllciIKK0JCRklMRV9QQVRURVJOX2dwZS1sYXllciA6PSAiXiR7TEFZRVJESVJ9LyIKK0JCRklMRV9QUklPUklUWV9ncGUtbGF5ZXIgPSAiNyIKKworIyBUaGlzIHNob3VsZCBvbmx5IGJlIGluY3JlbWVudGVkIG9uIHNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCB3aWxsCisjIGNhdXNlIGNvbXBhdGliaWxpdHkgaXNzdWVzIHdpdGggb3RoZXIgbGF5ZXJzCitMQVlFUlZFUlNJT05fZ3BlLWxheWVyID0gIjEiCisKK0xBWUVSREVQRU5EU19ncGUtbGF5ZXIgPSAiY29yZSBvcGVuZW1iZWRkZWQtbGF5ZXIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvZ3BlLXNjYXAvZ3BlLXNjYXAvMDAwMS1GaXgtdGhlLW9yZGVyaW5nLW9mLUxEQURELW9wdGlvbnMtdG8tZml4LWEtY29tcGlsYXRpLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2dwZS1zY2FwL2dwZS1zY2FwLzAwMDEtRml4LXRoZS1vcmRlcmluZy1vZi1MREFERC1vcHRpb25zLXRvLWZpeC1hLWNvbXBpbGF0aS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTc2ZmY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2dwZS1zY2FwL2dwZS1zY2FwLzAwMDEtRml4LXRoZS1vcmRlcmluZy1vZi1MREFERC1vcHRpb25zLXRvLWZpeC1hLWNvbXBpbGF0aS5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIGM1NTFkZWNlNjc2OGY2N2I3NGI1MDhlOWMwMTMzMzIwMjA1ZWYyZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogTW9uLCAyMyBNYXkgMjAxMSAxNTowMzoyOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBGaXggdGhlIG9yZGVyaW5nIG9mIExEQUREIG9wdGlvbnMgdG8gZml4IGEgY29tcGlsYXRpb24gZmFpbHVyZS4KKworImludmFsaWQgRFNPIGZvciBzeW1ib2wgYFhVbmdyYWJTZXJ2ZXInIGRlZmluaXRpb24gIgorCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorLS0tCisgc3JjL01ha2VmaWxlLmFtIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCitpbmRleCAyZmRkYzk4Li40NWJkODUwIDEwMDY0NAorLS0tIGEvc3JjL01ha2VmaWxlLmFtCisrKysgYi9zcmMvTWFrZWZpbGUuYW0KK0BAIC02LDcgKzYsNyBAQCBJTkNMVURFUyA9IC1EUEtHREFUQURJUj1cIiQocGtnZGF0YWRpcilcIiBcCisgCSAgICQoR0xBREVfQ0ZMQUdTKSBcCisgICAgICAgIC1EX0dOVV9TT1VSQ0UKKyAKKy1MSUJTID0gJChHVEtfTElCUykgJChHTEFERV9MSUJTKSAkKFhTSEFQRV9MSUJTKQorK0xJQlMgPSAtbFgxMSAkKFhTSEFQRV9MSUJTKSAkKEdMQURFX0xJQlMpICQoR1RLX0xJQlMpIAorIAorIGJpbl9QUk9HUkFNUyA9IGdwZS1zY2FwCisgZ3BlX3NjYXBfU09VUkNFUyA9IHNjci1pMThuLmggXAorLS0gCisxLjYuNi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1ncmFwaGljcy9ncGUtc2NhcC9ncGUtc2NhcC91c2UubGlic291cC0yLjQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvZ3BlLXNjYXAvZ3BlLXNjYXAvdXNlLmxpYnNvdXAtMi40LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjZmU1ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvZ3BlLXNjYXAvZ3BlLXNjYXAvdXNlLmxpYnNvdXAtMi40LnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK2RpZmYgLXVOciBncGUtc2NhcC0xLjQub3JpZy9jb25maWd1cmUuYWMgZ3BlLXNjYXAtMS40L2NvbmZpZ3VyZS5hYworLS0tIGdwZS1zY2FwLTEuNC5vcmlnL2NvbmZpZ3VyZS5hYwkyMDA5LTAzLTA1IDE4OjUzOjUzLjAwMDAwMDAwMCArMDEwMAorKysrIGdwZS1zY2FwLTEuNC9jb25maWd1cmUuYWMJMjAxMi0wNS0wNiAxMDoxODoyOS4zNDgzMDgzMjIgKzAyMDAKK0BAIC0yNCw3ICsyNCw3IEBACisgQUNfU1VCU1QoTERGTEFHUykKKyAKKyBkbmwgbGlicmFyaWVzCistR1RLX01PRFVMRVM9Imd0aystMi4wID49IDIuNi4wIGd0aHJlYWQtMi4wIGxpYnNvdXAtMi4yIgorK0dUS19NT0RVTEVTPSJndGsrLTIuMCA+PSAyLjYuMCBndGhyZWFkLTIuMCBsaWJzb3VwLTIuNCIKKyBQS0dfQ0hFQ0tfTU9EVUxFUyhHVEssICRHVEtfTU9EVUxFUykKKyBBQ19TVUJTVChHVEtfQ0ZMQUdTKQorIEFDX1NVQlNUKEdUS19MSUJTKQorZGlmZiAtdU5yIGdwZS1zY2FwLTEuNC5vcmlnL3NyYy9zY3Itc2hvdC1jb21tb24uYyBncGUtc2NhcC0xLjQvc3JjL3Njci1zaG90LWNvbW1vbi5jCistLS0gZ3BlLXNjYXAtMS40Lm9yaWcvc3JjL3Njci1zaG90LWNvbW1vbi5jCTIwMDktMDMtMDUgMTI6MTM6MjAuMDAwMDAwMDAwICswMTAwCisrKysgZ3BlLXNjYXAtMS40L3NyYy9zY3Itc2hvdC1jb21tb24uYwkyMDEyLTA1LTA2IDEwOjMwOjUyLjI5OTM3MTU3NiArMDIwMAorQEAgLTE4MiwxMiArMTgyLDEyIEBACisgICAvKiBjcmVhdGUgc2Vzc2lvbiBhbmQgbWVzc2FnZSAqLworICAgc2Vzc2lvbiA9IHNvdXBfc2Vzc2lvbl9zeW5jX25ldyAoKTsKKyAgIG1lc3NhZ2UgPSBzb3VwX21lc3NhZ2VfbmV3ICgiUE9TVCIsIHVybCk7CistICBzb3VwX21lc3NhZ2VfYWRkX2hlYWRlciAobWVzc2FnZS0+cmVxdWVzdF9oZWFkZXJzLCAiVXNlci1BZ2VudCIsICJncGUtc2NhcC8iIFZFUlNJT04pOworLSAgc291cF9tZXNzYWdlX2FkZF9oZWFkZXIgKG1lc3NhZ2UtPnJlcXVlc3RfaGVhZGVycywgIkFjY2VwdCIsCisrICBzb3VwX21lc3NhZ2VfaGVhZGVyc19hcHBlbmQgKG1lc3NhZ2UtPnJlcXVlc3RfaGVhZGVycywgIlVzZXItQWdlbnQiLCAiZ3BlLXNjYXAvIiBWRVJTSU9OKTsKKysgIHNvdXBfbWVzc2FnZV9oZWFkZXJzX2FwcGVuZCAobWVzc2FnZS0+cmVxdWVzdF9oZWFkZXJzLCAiQWNjZXB0IiwKKyAJCQkgICAidGV4dC94bWwsYXBwbGljYXRpb24veG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCx0ZXh0L2h0bWw7cT0wLjksdGV4dC9wbGFpbjtxPTAuOCxpbWFnZS9wbmcsKi8qO3E9MC41Iik7CistLyogIHNvdXBfbWVzc2FnZV9hZGRfaGVhZGVyIChtZXNzYWdlLT5yZXF1ZXN0X2hlYWRlcnMsICJBY2NlcHQtQ2hhcnNldCIsICJBY2NlcHQtQ2hhcnNldD1JU08tODg1OS0xLHV0Zi04O3E9MC43LCo7cT0wLjciKTsKKy0gIHNvdXBfbWVzc2FnZV9hZGRfaGVhZGVyIChtZXNzYWdlLT5yZXF1ZXN0X2hlYWRlcnMsICJLZWVwLUFsaXZlIiwgIjEwMCIpOworLSAgc291cF9tZXNzYWdlX2FkZF9oZWFkZXIgKG1lc3NhZ2UtPnJlcXVlc3RfaGVhZGVycywgIkNvbm5lY3Rpb24iLCAia2VlcC1hbGl2ZSIpOworKy8qICBzb3VwX21lc3NhZ2VfaGVhZGVyc19hcHBlbmQgKG1lc3NhZ2UtPnJlcXVlc3RfaGVhZGVycywgIkFjY2VwdC1DaGFyc2V0IiwgIkFjY2VwdC1DaGFyc2V0PUlTTy04ODU5LTEsdXRmLTg7cT0wLjcsKjtxPTAuNyIpOworKyAgc291cF9tZXNzYWdlX2hlYWRlcnNfYXBwZW5kIChtZXNzYWdlLT5yZXF1ZXN0X2hlYWRlcnMsICJLZWVwLUFsaXZlIiwgIjEwMCIpOworKyAgc291cF9tZXNzYWdlX2hlYWRlcnNfYXBwZW5kIChtZXNzYWdlLT5yZXF1ZXN0X2hlYWRlcnMsICJDb25uZWN0aW9uIiwgImtlZXAtYWxpdmUiKTsKKyAgIHNvdXBfbWVzc2FnZV93aXJlCWFkZF9oZWFkZXIgKG1lc3NhZ2UtPnJlcXVlc3RfaGVhZGVycywgIkFjY2VwdC1FbmNvZGluZyIsICJnemlwLGRlZmxhdGUiKTsKKyAqLworICAgLyogYnVpbGQgbWVzc2FnZSBib2R5ICovCitAQCAtMjA3LDcgKzIwNyw3IEBACisgICBtZW1jcHkgKGJvZHkgKyBzdHJsZW4gKGNtZCkgKyBsZW4sIHRhaWwsIHN0cmxlbiAodGFpbCkpOworIAorICAgc291cF9tZXNzYWdlX3NldF9yZXF1ZXN0IChtZXNzYWdlLCAibXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9IlNFUCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgU09VUF9CVUZGRVJfU1lTVEVNX09XTkVELCBib2R5LCBjb250ZW50X2xlbik7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNPVVBfTUVNT1JZX1RBS0UsIGJvZHksIGNvbnRlbnRfbGVuKTsKKyAKKyAgIHNvdXBfc2Vzc2lvbl9zZW5kX21lc3NhZ2UgKHNlc3Npb24sIG1lc3NhZ2UpOworIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2dwZS1zY2FwL2dwZS1zY2FwXzEuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1ncmFwaGljcy9ncGUtc2NhcC9ncGUtc2NhcF8xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YxZTI3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1ncmFwaGljcy9ncGUtc2NhcC9ncGUtc2NhcF8xLjQuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJBIEdQRSBhcHBsaWNhdGlvbiB0aGF0IGFsbG93cyB5b3UgdG8gdGFrZSBzY3JlZW5zaG90cyIKK1NFQ1RJT04gPSAiZ3BlIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzkzYTVjYTQ0NWY2OTY1ODczZWNhMDI1OWExN2Y4MzMiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ3RrKyBsaWJncGV3aWRnZXQgbGliZ2xhZGUgbGlic291cC0yLjQiCisKK1BSID0gInIzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWFmNTQ1NTYxYjBhZDk4MWM5ZDAxODMzZjMwZmNmOTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzYyNzc4NDIxZmFlN2M2MmQ1ZWM2YTlkMjc5ODYxNjZjMGRiYmUyZmY1MWZjMTBiYjliOGJhZmY1YzM2NzUzNCIKKworR1BFX1RBUkJBTExfU1VGRklYID0gImJ6MiIKKworaW5oZXJpdCBncGUgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1GaXgtdGhlLW9yZGVyaW5nLW9mLUxEQURELW9wdGlvbnMtdG8tZml4LWEtY29tcGlsYXRpLnBhdGNoIFwKKyAgICBmaWxlOi8vdXNlLmxpYnNvdXAtMi40LnBhdGNoIFwKKyIKKworUlJFUExBQ0VTXyR7UE59ID0gImdwZS1zY3JlZW5zaG90IgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbGliZ3Bld2lkZ2V0L2xpYmdwZXdpZGdldC9nbGliLTIuMzIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbGliZ3Bld2lkZ2V0L2xpYmdwZXdpZGdldC9nbGliLTIuMzIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU5MGNhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1ncmFwaGljcy9saWJncGV3aWRnZXQvbGliZ3Bld2lkZ2V0L2dsaWItMi4zMi5wYXRjaApAQCAtMCwwICsxLDExIEBACitkaWZmIC11TnIgbGliZ3Bld2lkZ2V0LTAuMTE3Lm9yaWcvZ3BlaGVscC5jIGxpYmdwZXdpZGdldC0wLjExNy9ncGVoZWxwLmMKKy0tLSBsaWJncGV3aWRnZXQtMC4xMTcub3JpZy9ncGVoZWxwLmMJMjAwNi0xMC0xMiAxMjoyMDozMy4wMDAwMDAwMDAgKzAyMDAKKysrKyBsaWJncGV3aWRnZXQtMC4xMTcvZ3BlaGVscC5jCTIwMTItMDQtMzAgMDc6NDU6NTcuODEzMjkzNzkyICswMjAwCitAQCAtMzMsNyArMzMsNiBAQAorICNpbmNsdWRlIDxnZGstcGl4YnVmL2dkay1waXhidWYuaD4KKyAjaW5jbHVkZSA8Z2RrL2dkay5oPgorICNpbmNsdWRlIDxnbGliLmg+CistI2luY2x1ZGUgPGdsaWIvZ2tleWZpbGUuaD4KKyAKKyAKKyAvKiBoZWxwZXIgZnVuY3Rpb24gZGVmaW5pdGlvbnMqLwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmdwZXdpZGdldC9saWJncGV3aWRnZXQvcGtnY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmdwZXdpZGdldC9saWJncGV3aWRnZXQvcGtnY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxN2UwMWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbGliZ3Bld2lkZ2V0L2xpYmdwZXdpZGdldC9wa2djb25maWcucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGNvbmZpZ3VyZS5hYy5vcmlnCTIwMDYtMDItMDQgMTc6Mzc6NTUuMDAwMDAwMDAwICswMTAwCisrKysgY29uZmlndXJlLmFjCTIwMDYtMDItMDYgMDA6NTY6MjguMDAwMDAwMDAwICswMTAwCitAQCAtMzYsNyArMzYsNyBAQAorIAlFTkFCTEVfQ0FJUk89JGVuYWJsZXZhbAorIF0sCisgWworLSAgICAgICAJUEtHX0NIRUNLX0VYSVNUUyhjYWlybywgW0VOQUJMRV9DQUlSTz15ZXNdLCBbRU5BQkxFX0NBSVJPPW5vXSkKKysgICAgICAgCVBLR19DSEVDS19NT0RVTEVTKGNhaXJvLCBbRU5BQkxFX0NBSVJPPXllc10sIFtFTkFCTEVfQ0FJUk89bm9dKQorIF0pCisgCisgRU5BQkxFX0hJTERPTj1mYWxzZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmdwZXdpZGdldC9saWJncGV3aWRnZXRfMC4xMTcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbGliZ3Bld2lkZ2V0L2xpYmdwZXdpZGdldF8wLjExNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjc3NGVlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmdwZXdpZGdldC9saWJncGV3aWRnZXRfMC4xMTcuYmIKQEAgLTAsMCArMSwyMyBAQAorREVTQ1JJUFRJT04gPSAibGliZ3Bld2lkZ2V0IGNvbnRhaW5zIGEgY29sbGVjdGlvbiBvZiB3aWRnZXRzIGFuZCBvdGhlciBjb21tb24gY29kZSBzaGFyZWQgYnkgbWFueSBHUEUgYXBwbGljYXRpb25zLiIKK1NFQ1RJT04gPSAiZ3BlL2xpYnMiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkiCisKK0RFUEVORFMgPSAiZ3RrKyBjYWlybyBsaWJ4aW5lcmFtYSBsaWJ4Y29tcG9zaXRlIGxpYnhyZW5kZXIiIAorUFIgPSAicjUiCisKK2luaGVyaXQgZ3BlIHBrZ2NvbmZpZyBhdXRvdG9vbHMgZ3RrLWRvYworCitTUkNfVVJJICs9ICJmaWxlOi8vcGtnY29uZmlnLnBhdGNoO3N0cmlwbGV2ZWw9MCBcCisgICAgZmlsZTovL2dsaWItMi4zMi5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiYjg1YTgzOTI2NGEzNWQwZmFmOWExYTM4YzQ4NmUxODkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjk2ZDMwYzA5YjAzOTVlYTRlMTQ2NzMwZmQ1MmQ5ZWEzMDNiNjE5YmIxMzkwNTFkOWYxMmQzZjg2OGE5ZTE4YyIKKworR1BFX1RBUkJBTExfU1VGRklYID0gImJ6MiIKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWNhaXJvIgorTERGTEFHUyArPSAiIC1MJHtTVEFHSU5HX0xJQkRJUn0iCisKK1BBQ0tBR0VTID0rICIke1BOfS1iaW4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbWluaWxpdGUvbWluaWxpdGUvbWFrZWZpbGUtZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL21pbmlsaXRlL21pbmlsaXRlL21ha2VmaWxlLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYmU2Y2VhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLWdyYXBoaWNzL21pbmlsaXRlL21pbmlsaXRlL21ha2VmaWxlLWZpeC5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gL3RtcC9NYWtlZmlsZS5vbGQJMjAwNi0wMS0xNiAyMjo1MTozNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBtaW5pbGl0ZS0wNTAvTWFrZWZpbGUJMjAwOS0wNS0wMSAxNjozNjozMi4wMDAwMDAwMDAgKzAyMDAKK0BAIC00NSw3ICs0NSw3IEBACisgCisgaW5zdGFsbC1wcm9ncmFtOiBhbGwKKyAJbWtkaXIgLXAgJChERVNURElSKSQoUFJFRklYKS9iaW4KKy0JJChJTlNUQUxMKSAtcyAkKFBBQ0tBR0UpICQoREVTVERJUikkKFBSRUZJWCkvYmluLyQoUEFDS0FHRSkKKysJJChJTlNUQUxMKSAkKFBBQ0tBR0UpICQoREVTVERJUikkKFBSRUZJWCkvYmluLyQoUEFDS0FHRSkKKyAJbWtkaXIgLXAgJChERVNURElSKSQoUFJFRklYKS9zaGFyZS9hcHBsaWNhdGlvbnMKKyAJJChJTlNUQUxMKSAtbSA2NDQgJChQQUNLQUdFKS5kZXNrdG9wICQoREVTVERJUikkKFBSRUZJWCkvc2hhcmUvYXBwbGljYXRpb25zLyQoUEFDS0FHRSkuZGVza3RvcAorIAlta2RpciAtcCAkKERFU1RESVIpJChQUkVGSVgpL3NoYXJlL3BpeG1hcHMvCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbWluaWxpdGUvbWluaWxpdGVfMC41MC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1ncmFwaGljcy9taW5pbGl0ZS9taW5pbGl0ZV8wLjUwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwOTYwYTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtZ3JhcGhpY3MvbWluaWxpdGUvbWluaWxpdGVfMC41MC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIkdQRSBTY3JlZW4gbGlnaHQgY29udHJvbCBkb2NrYXBwIgorU0VDVElPTiA9ICJncGUiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9taW5pbGl0ZS5jO2JlZ2lubGluZT04O2VuZGxpbmU9MTE7bWQ1PWZlOTMzMmFhZWNiY2U5Zjc0Y2UyYmZlYjkxNjgwZWQxIgorCitERVBFTkRTID0gImxpYmdwZXdpZGdldCIKKworaW5oZXJpdCBncGUKKworU1JDX1VSSSA9ICIke0dQRV9NSVJST1J9LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlZmlsZS1maXgucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiZDgxY2VjZjI2OWFkN2JhYjBkYTk2MGU2ZTcyMjgzMzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmIyOTk0MjUyMDMyNDYwOTBhNDk0OWUwMzRmMWQwZWZiM2ZmOTljZDE1OTFkMGUxNmM1NzM3MGE1MzBiMzYxZSIKKworZXhwb3J0IENWU0JVSUxEPSJubyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1zdXBwb3J0L2ZicmVhZGVyL2ZicmVhZGVyLTAuMTIuMTAvTWFrZWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtc3VwcG9ydC9mYnJlYWRlci9mYnJlYWRlci0wLjEyLjEwL01ha2VmaWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlNDk4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtc3VwcG9ydC9mYnJlYWRlci9mYnJlYWRlci0wLjEyLjEwL01ha2VmaWxlLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK2RpZmYgLXVyaSBmYnJlYWRlci0wLjEyLjEub3JpZy9mYnJlYWRlci9NYWtlZmlsZSBmYnJlYWRlci0wLjEyLjEvZmJyZWFkZXIvTWFrZWZpbGUKKy0tLSBmYnJlYWRlci0wLjEyLjEub3JpZy9mYnJlYWRlci9NYWtlZmlsZQkyMDA5LTEyLTEzIDA5OjAzOjExLjAwMDAwMDAwMCArMDEwMAorKysrIGZicmVhZGVyLTAuMTIuMS9mYnJlYWRlci9NYWtlZmlsZQkyMDA5LTEyLTE0IDE3OjE4OjQ3LjU0ODYzODc4MyArMDEwMAorQEAgLTM3LDcgKzM3LDYgQEAKKyAJQGluc3RhbGwgJChUQVJHRVQpICQoREVTVERJUikkKEJJTkRJUikvRkJSZWFkZXIKKyAJQGluc3RhbGwgLWQgJChGQlNIQVJFRElSKQorIAlAaW5zdGFsbCAtZCAkKEZCU0hBUkVESVIpL2hlbHAKKy0JQC4vc2NyaXB0cy9pbnN0YWxsX2hlbHAuc2ggJChWQVJJQU5UKSAkKEZCU0hBUkVESVIpL2hlbHAKKyAJQGluc3RhbGwgLWQgJChGQlNIQVJFRElSKS9uZXR3b3JrCisgCUBpbnN0YWxsIC1tIDA2NDQgJCh3aWxkY2FyZCBkYXRhL25ldHdvcmsvKi54bWwpICQoRkJTSEFSRURJUikvbmV0d29yaworIAlAaW5zdGFsbCAtZCAkKEZCU0hBUkVESVIpL25ldHdvcmsvY2VydGlmaWNhdGVzCitAQCAtNTgsOCArNTcsOCBAQAorIAlAaW5zdGFsbCAtZCAkKEZCU0hBUkVESVIpL3Jlc291cmNlcworIAlAaW5zdGFsbCAtbSAwNjQ0ICQod2lsZGNhcmQgZGF0YS9yZXNvdXJjZXMvKi54bWwpICQoRkJTSEFSRURJUikvcmVzb3VyY2VzCisgCUBpbnN0YWxsIC1kICQoREVTVERJUikkKEFQUElNQUdFRElSX1JFQUwpCistCUBpbnN0YWxsIC1tIDA2NDQgJCh3aWxkY2FyZCBkYXRhL2ljb25zL3Rvb2xiYXIvJChWQVJJQU5UKS8qLiopICQoREVTVERJUikkKEFQUElNQUdFRElSX1JFQUwpCistCUBpbnN0YWxsIC1tIDA2NDQgJCh3aWxkY2FyZCBkYXRhL2ljb25zL2ZpbGV0cmVlLyQoVkFSSUFOVCkvKi4qKSAkKERFU1RESVIpJChBUFBJTUFHRURJUl9SRUFMKQorKwlAaW5zdGFsbCAtbSAwNjQ0ICQod2lsZGNhcmQgZGF0YS9pY29ucy90b29sYmFyLyQoVEFSR0VUX0FSQ0gpLyouKikgJChERVNURElSKSQoQVBQSU1BR0VESVJfUkVBTCkKKysJQGluc3RhbGwgLW0gMDY0NCAkKHdpbGRjYXJkIGRhdGEvaWNvbnMvZmlsZXRyZWUvJChUQVJHRVRfQVJDSCkvKi4qKSAkKERFU1RESVIpJChBUFBJTUFHRURJUl9SRUFMKQorIAlAaW5zdGFsbCAtbSAwNjQ0ICQod2lsZGNhcmQgZGF0YS9pY29ucy9ib29rdHJlZS9uZXcvKi4qKSAkKERFU1RESVIpJChBUFBJTUFHRURJUl9SRUFMKQorIAlAbWFrZSAtQyAkKFRBUkdFVF9BUkNIKSBSRVNPTFVUSU9OPSQoUkVTT0xVVElPTikgaW5zdGFsbAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmJyZWFkZXItMC4xMi4xMC9nY2M0NS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1zdXBwb3J0L2ZicmVhZGVyL2ZicmVhZGVyLTAuMTIuMTAvZ2NjNDUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBjYmExMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ncGUvcmVjaXBlcy1zdXBwb3J0L2ZicmVhZGVyL2ZicmVhZGVyLTAuMTIuMTAvZ2NjNDUucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorICBGaXggY29tcGlsYXRpb24gd2l0aCBnY2MgNC41CisKKyAgW0ZCcmVhZGVyIFRpY2tldCAjMzQwXSAtLSBodHRwOi8vb2xkLmZicmVhZGVyLm9yZy9tYW50aXMvdmlldy5waHA/aWQ9MzQwCisKKyAgV2l0aG91dCB0aGF0IHBhdGNoIHdlIGhhdmU6CisgICAgQ29tcGlsaW5nIExpYnJhcnkubyAuLi5MaWJyYXJ5LmNwcDo0MjoxOiBlcnJvcjogJ0xpYnJhcnk6OkxpYnJhcnknIG5hbWVzIHRoZSBjb25zdHJ1Y3Rvciwgbm90IHRoZSB0eXBlCisKKyAgVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZCBbRml4ZWQgaW4gVmVyc2lvbiAwLjE0LjBdCisKKy0tLSBmYnJlYWRlci0wLjEyLjEwLW9yaWcvZmJyZWFkZXIvc3JjL2xpYnJhcnkvTGlicmFyeS5jcHAJMjAxMC0wNC0wMSAxNToxNDoyNC4wMDAwMDAwMDAgKzAyMDAKKysrKyBmYnJlYWRlci0wLjEyLjEwL2ZicmVhZGVyL3NyYy9saWJyYXJ5L0xpYnJhcnkuY3BwCTIwMTAtMDQtMTMgMTM6MzQ6MDYuMDAwMDAwMDAwICswMjAwCitAQCAtMzksNyArMzksNyBAQAorIHNoYXJlZF9wdHI8TGlicmFyeT4gTGlicmFyeTo6b3VySW5zdGFuY2U7CisgY29uc3Qgc2l6ZV90IExpYnJhcnk6Ok1heFJlY2VudExpc3RTaXplID0gMTA7CisgCistTGlicmFyeTo6TGlicmFyeSAmTGlicmFyeTo6SW5zdGFuY2UoKSB7CisrTGlicmFyeSAmTGlicmFyeTo6SW5zdGFuY2UoKSB7CisgCWlmIChvdXJJbnN0YW5jZS5pc051bGwoKSkgeworIAkJb3VySW5zdGFuY2UgPSBuZXcgTGlicmFyeSgpOworIAl9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtc3VwcG9ydC9mYnJlYWRlci9mYnJlYWRlcl8wLjEyLjEwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmJyZWFkZXJfMC4xMi4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWVhZDBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmJyZWFkZXJfMC4xMi4xMC5iYgpAQCAtMCwwICsxLDQyIEBACitTVU1NQVJZID0gIkZCcmVhZGVyIGlzIGFuIGVib29rIHJlYWRlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZmJyZWFkZXIub3JnIgorU0VDVElPTiA9ICJ4MTEvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2ZicmVhZGVyL0xJQ0VOU0U7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJndGsrIGVuY2EgZXhwYXQgYnppcDIgbGliZ3Bld2lkZ2V0IHZpcnR1YWwvbGliaWNvbnYgbGlibGluZWJyZWFrIGxpYmZyaWJpZGkgY3VybCBzcWxpdGUzIgorCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZicmVhZGVyLm9yZy9mYnJlYWRlci1zb3VyY2VzLSR7UFZ9LnRneiBcCitmaWxlOi8vTWFrZWZpbGUucGF0Y2ggXAorZmlsZTovL2djYzQ1LnBhdGNoIgorCisjIFNldCB0aGUgZGVmYXVsdHMKK1JFQURFUl9SRVNPTFVUSU9OID89ICIxMDI0eDYwMCIKK1JFQURFUl9BUkNIICAgICAgID89ICJkZXNrdG9wIgorUkVBREVSX1VJICAgICAgICAgPz0gImd0ayIKK1JFQURFUl9TVEFUVVMgICAgID89ICJyZWxlYXNlIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9GQlJlYWRlciAke2RhdGFkaXJ9L3psaWJyYXJ5ICR7bGliZGlyfS96bGlicmFyeSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3psaWJyYXJ5L3VpLy5kZWJ1Zy8iCisKK0NGTEFHU19hcHBlbmQgPSAiIFJFU09MVVRJT049JHtSRUFERVJfUkVTT0xVVElPTn0gSU5TVEFMTERJUj0ke3ByZWZpeH0iCitFWFRSQV9PRU1BS0UgPSAiQ0M9JyR7Q1hYfScgTEQ9JyR7Q1hYfScgTERGTEFHUz0nJHtMREZMQUdTfScgSU5DUEFUSD0nJHtTVEFHSU5HX0lOQ0RJUn0nIExJQlBBVEg9JyR7U1RBR0lOR19MSUJESVJ9JyIKKworaW5oZXJpdCBwa2djb25maWcKKworZG9fY29uZmlndXJlKCkgeworICAgIGNkICR7V09SS0RJUn0vJHtQTn0tJHtQVn0KKyAgICBtdiBtYWtlZmlsZXMvdGFyZ2V0Lm1rIG1ha2VmaWxlcy90YXJnZXQubWsub3JpZworCisgICAgZWNobyAiVEFSR0VUX0FSQ0ggPSAke1JFQURFUl9BUkNIfSIgPiBtYWtlZmlsZXMvdGFyZ2V0Lm1rCisgICAgZWNobyAiVUlfVFlQRSA9ICR7UkVBREVSX1VJfSIgPj4gbWFrZWZpbGVzL3RhcmdldC5taworICAgIGVjaG8gIlRBUkdFVF9TVEFUVVMgPSAke1JFQURFUl9TVEFUVVN9IiA+PiBtYWtlZmlsZXMvdGFyZ2V0Lm1rCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfSBSRVNPTFVUSU9OPSR7UkVBREVSX1JFU09MVVRJT059Cit9CisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYTllYzQ3MjFlZmRiMGVjMGFhYTE4MmJmZjE2YWQ4MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMjhhZWM0NTRkYjgwZTIyNWFhMGI1YzMxYWRlZjc0YmY2MmExNDM1NzQ4Mjk0N2U4N2U5NzMxNjg2YjNjNjI0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmJyZWFkZXJfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmJyZWFkZXJfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2Mzg4OWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtc3VwcG9ydC9mYnJlYWRlci9mYnJlYWRlcl9naXQuYmIKQEAgLTAsMCArMSw0MiBAQAorU1VNTUFSWSA9ICJGQnJlYWRlciBpcyBhbiBlYm9vayByZWFkZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZicmVhZGVyLm9yZyIKK1NFQ1RJT04gPSAieDExL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9mYnJlYWRlci9MSUNFTlNFO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK0RFUEVORFMgPSAiZ3RrKyBlbmNhIGV4cGF0IGJ6aXAyIGxpYmdwZXdpZGdldCB2aXJ0dWFsL2xpYmljb252IGxpYmxpbmVicmVhayBsaWJmcmliaWRpIGN1cmwgc3FsaXRlMyIKK1NSQ1JFViA9ICIyY2YxZWMwZTMwNmUxMTIyZGJlZDg1MGJmYTAwNWNkNTlhNjE2OGVlIgorUFYgPSAiMC45OS41K2dpdHIke1NSQ1BWfSIKKworUFIgPSAicjEiCisKK0RFRkFVTFRfUFJFRkVSRU5DRSA9ICItMSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2dlb21ldGVyL0ZCUmVhZGVyLmdpdDtwcm90b2NvbD1odHRwO2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtaW5zdGFsbGF0aW9uLW9mLXRoZS1pY29ucy13aGVuLVJFU09MVVRJT04taXMtc2V0LnBhdGNoIgorCisjIFNldCB0aGUgZGVmYXVsdHMKK1JFQURFUl9SRVNPTFVUSU9OID89ICIxMDI0eDYwMCIKK1JFQURFUl9BUkNIICAgICAgID89ICJkZXNrdG9wIgorUkVBREVSX1VJICAgICAgICAgPz0gImd0ayIKK1JFQURFUl9TVEFUVVMgICAgID89ICJyZWxlYXNlIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9GQlJlYWRlciAke2RhdGFkaXJ9L3psaWJyYXJ5ICR7bGliZGlyfS96bGlicmFyeSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3psaWJyYXJ5L3VpLy5kZWJ1Zy8iCisKK0NGTEFHU19hcHBlbmQgPSAiIFJFU09MVVRJT049JHtSRUFERVJfUkVTT0xVVElPTn0gSU5TVEFMTERJUj0ke3ByZWZpeH0iCitFWFRSQV9PRU1BS0UgPSAiQ0M9JyR7Q1hYfScgTEQ9JyR7Q1hYfScgSU5DUEFUSD0nJHtTVEFHSU5HX0lOQ0RJUn0nIExJQlBBVEg9JyR7U1RBR0lOR19MSUJESVJ9JyIKK2luaGVyaXQgcGtnY29uZmlnCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBjZCAiJHtTfSIKKworICAgIGVjaG8gIlRBUkdFVF9BUkNIID0gJHtSRUFERVJfQVJDSH0iID4gbWFrZWZpbGVzL3RhcmdldC5taworICAgIGVjaG8gIlVJX1RZUEUgPSAke1JFQURFUl9VSX0iID4+IG1ha2VmaWxlcy90YXJnZXQubWsKKyAgICBlY2hvICJUQVJHRVRfU1RBVFVTID0gJHtSRUFERVJfU1RBVFVTfSIgPj4gbWFrZWZpbGVzL3RhcmdldC5taworfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0gUkVTT0xVVElPTj0ke1JFQURFUl9SRVNPTFVUSU9OfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmlsZXMvMDAwMS1GaXgtaW5zdGFsbGF0aW9uLW9mLXRoZS1pY29ucy13aGVuLVJFU09MVVRJT04taXMtc2V0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdwZS9yZWNpcGVzLXN1cHBvcnQvZmJyZWFkZXIvZmlsZXMvMDAwMS1GaXgtaW5zdGFsbGF0aW9uLW9mLXRoZS1pY29ucy13aGVuLVJFU09MVVRJT04taXMtc2V0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZTEyMDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ3BlL3JlY2lwZXMtc3VwcG9ydC9mYnJlYWRlci9maWxlcy8wMDAxLUZpeC1pbnN0YWxsYXRpb24tb2YtdGhlLWljb25zLXdoZW4tUkVTT0xVVElPTi1pcy1zZXQucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSBkYTQxNzBiNjFiYjQxZWZmMGFmMTcwZDFkNzdiZmQ5MGY5ZWJlNWRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGVuaXMgJ0dOVXRvbycgQ2FyaWtsaSA8R05VdG9vQG5vLWxvZy5vcmc+CitEYXRlOiBGcmksIDIwIEphbiAyMDEyIDExOjM0OjQyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBpbnN0YWxsYXRpb24gb2YgdGhlIGljb25zIHdoZW4gUkVTT0xVVElPTiBpcyBzZXQKKworV2hlbiByZXNvbHV0aW9uIGlzIHNldCwgdGhlIGZvbGxvd2luZyBjb2RlKGluIGZicmVhZGVyL01ha2VmaWxlKSBpcyBleGVjdXRlZDoKKyAgVkFSSUFOVCA9ICQoVEFSR0VUX0FSQ0gpCisgIGlmbmVxICIkKFJFU09MVVRJT04pIiAiIgorICAgIFZBUklBTlQgPSAkKFRBUkdFVF9BUkNIKV8kKFJFU09MVVRJT04pCisgIGVuZGlmCisKK1RoaXMgZml4IGlzIGJhc2VkIG9uIGEgcGF0Y2ggZnJvbSB0aGUgb3BlbmVtYmVkZGVkIHByb2plY3QsCisgIHdoaWNoIGNhbiBiZSBmb3VuZCBoZXJlOgorICAgIGh0dHA6Ly9jZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkL3RyZWUvcmVjaXBlcy9mYnJlYWRlci9mYnJlYWRlci0wLjEyLjEvTWFrZWZpbGUucGF0Y2gKKworU2lnbmVkLW9mZi1ieTogRGVuaXMgJ0dOVXRvbycgQ2FyaWtsaSA8R05VdG9vQG5vLWxvZy5vcmc+CistLS0KKyBTdWJtaXR0ZWQgdHJvdWdoIGdpdGh1YiB0byBnaXQ6Ly9naXRodWIuY29tL2dlb21ldGVyL0ZCUmVhZGVyLmdpdCBhcyBhIHB1bGwgcmVxdWVzdAorCisgZmJyZWFkZXIvTWFrZWZpbGUgfCAgICA0ICsrLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2ZicmVhZGVyL01ha2VmaWxlIGIvZmJyZWFkZXIvTWFrZWZpbGUKK2luZGV4IGJmYTkyNDIuLjAzZTZjYzMgMTAwNjQ0CistLS0gYS9mYnJlYWRlci9NYWtlZmlsZQorKysrIGIvZmJyZWFkZXIvTWFrZWZpbGUKK0BAIC02MCw4ICs2MCw4IEBAIGRvX2luc3RhbGw6CisgCUBpbnN0YWxsIC1kICQoRkJTSEFSRURJUikvcmVzb3VyY2VzCisgCUBpbnN0YWxsIC1tIDA2NDQgJCh3aWxkY2FyZCBkYXRhL3Jlc291cmNlcy8qLnhtbCkgJChGQlNIQVJFRElSKS9yZXNvdXJjZXMKKyAJQGluc3RhbGwgLWQgJChERVNURElSKSQoQVBQSU1BR0VESVJfUkVBTCkKKy0JQGluc3RhbGwgLW0gMDY0NCAkKHdpbGRjYXJkIGRhdGEvaWNvbnMvdG9vbGJhci8kKFZBUklBTlQpLyouKikgJChERVNURElSKSQoQVBQSU1BR0VESVJfUkVBTCkKKy0JQGluc3RhbGwgLW0gMDY0NCAkKHdpbGRjYXJkIGRhdGEvaWNvbnMvZmlsZXRyZWUvJChWQVJJQU5UKS8qLiopICQoREVTVERJUikkKEFQUElNQUdFRElSX1JFQUwpCisrCUBpbnN0YWxsIC1tIDA2NDQgJCh3aWxkY2FyZCBkYXRhL2ljb25zL3Rvb2xiYXIvJChUQVJHRVRfQVJDSCkvKi4qKSAkKERFU1RESVIpJChBUFBJTUFHRURJUl9SRUFMKQorKwlAaW5zdGFsbCAtbSAwNjQ0ICQod2lsZGNhcmQgZGF0YS9pY29ucy9maWxldHJlZS8kKFRBUkdFVF9BUkNIKS8qLiopICQoREVTVERJUikkKEFQUElNQUdFRElSX1JFQUwpCisgCUBpbnN0YWxsIC1tIDA2NDQgJCh3aWxkY2FyZCBkYXRhL2ljb25zL2Jvb2t0cmVlL25ldy8qLiopICQoREVTVERJUikkKEFQUElNQUdFRElSX1JFQUwpCisgCUBtYWtlIC1DICQoVEFSR0VUX0FSQ0gpIFJFU09MVVRJT049JChSRVNPTFVUSU9OKSBpbnN0YWxsCisgCistLSAKKzEuNy40LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvQ09QWUlORy5NSVQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI5NTBkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvQ09QWUlORy5NSVQKQEAgLTAsMCArMSwxNyBAQAorUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSAKK29mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIAoraW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyAKK3RvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgCitjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgCitmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiAKK2FsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorCitUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiAKK0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCAKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSAKK0FVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCAKK09VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gCitUSEUgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL1JFQURNRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhMDNhMWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL1JFQURNRQpAQCAtMCwwICsxLDM3IEBACittZXRhLWluaXRyYW1mcworPT09PT09PT09PT09PT0KKworVGhpcyBsYXllciBjb250YWlucyB0aGUgbWV0YWRhdGEgbmVjZXNzYXJ5IHRvIGJ1aWxkIHRoZSBrbGliYyBsaWJyYXJ5IGFuZAordXRpbGl0aWVzIChzaGFyZWQgYW5kIHN0YXRpYykgcGx1cyBvdGhlciB0b29scyB1c2VmdWwgZm9yIHRoZSBjcmVhdGlvbiBvZgorc21hbGwtc2l6ZWQgaW5pdHJhbWZzLgorCisKK0RlcGVuZGVuY2llcworLS0tLS0tLS0tLS0tCisKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCisKK01haW50ZW5hbmNlCistLS0tLS0tLS0tLQorCitTZW5kIHBhdGNoZXMgLyBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnCit3aXRoICdbbWV0YS1pbml0cmFtZnNdW2tyb2dvdGhdJyBpbiB0aGUgc3ViamVjdC4KKworV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNpbmcgc29tZXRoaW5nIGxpa2U6CisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtaW5pdHJhbWZzXVtrcm9nb3RoXVtQQVRDSCcKKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKKworTGljZW5zZQorLS0tLS0tLQorCitBbGwgbWV0YWRhdGEgaXMgTUlUIGxpY2Vuc2VkIHVubGVzcyBvdGhlcndpc2Ugc3RhdGVkLiBTb3VyY2UgY29kZSBpbmNsdWRlZAoraW4gdHJlZSBmb3IgaW5kaXZpZHVhbCByZWNpcGVzIGlzIHVuZGVyIHRoZSBMSUNFTlNFIHN0YXRlZCBpbiBlYWNoIHJlY2lwZQorKC5iYiBmaWxlKSB1bmxlc3Mgb3RoZXJ3aXNlIHN0YXRlZC4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY2xhc3Nlcy9rbGliYy5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9jbGFzc2VzL2tsaWJjLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg2NDEwNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY2xhc3Nlcy9rbGliYy5iYmNsYXNzCkBAIC0wLDAgKzEsMTUgQEAKKyMga2xjYy1jcm9zcyBkZXBlbmRzIG9uIGtsaWJjCitERVBFTkRTID0rICJrbGNjLWNyb3NzIgorCisjIERlZmF1bHQgZm9yIGtsY2MgaXMgdG8gYnVpbGQgc3RhdGljIGJpbmFyaWVzLgorIyBTZXQgQ0MgPSAiJHtUQVJHRVRfUFJFRklYfWtsY2MgLXNoYXJlZCIgdG8gYnVpbGQgdGhlIGR5bmFtaWMgdmVyc2lvbi4KKworZXhwb3J0IENDID0gIiR7VEFSR0VUX1BSRUZJWH1rbGNjICR7VE9PTENIQUlOX09QVElPTlN9IgorZXhwb3J0IENDX2FybXY0X2xpbnV4LWdudWVhYmkgPSAiJHtUQVJHRVRfUFJFRklYfWtsY2MgJHtUT09MQ0hBSU5fT1BUSU9OU30gLW1hcmNoPWFybXY0IC1tdGh1bWItaW50ZXJ3b3JrIgorCitleHBvcnQgQ1BQID0gIiR7Q0N9IC1FIgorCisjIGtsY2MgdXNlcyBvd24gb3B0aW1pemF0aW9ucyBieSBkZWZhdWx0LiBTZWUga2xjYygxKSBtYW4gZmlsZS4KK2V4cG9ydCBDRkxBR1M9IiIKK2V4cG9ydCBDUFBGTEFHUz0iIgorZXhwb3J0IExERkxBR1M9IiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY29uZi9sYXllci5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9jb25mL2xheWVyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDliN2M0YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMjEgQEAKKyMgTGF5ZXIgY29uZmlndXJhdGlvbiBmb3IgbWV0YS1pbml0cmFtZnMgbGF5ZXIKKworIyBXZSBoYXZlIGEgY29uZiBhbmQgY2xhc3NlcyBkaXJlY3RvcnksIGFwcGVuZCB0byBCQlBBVEgKK0JCUEFUSCAuPSAiOiR7TEFZRVJESVJ9IgorCisjIFdlIGhhdmUgYSByZWNpcGVzIGRpcmVjdG9yeSwgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKKworQkJGSUxFX0NPTExFQ1RJT05TICs9ICJtZXRhLWluaXRyYW1mcyIKK0JCRklMRV9QQVRURVJOX21ldGEtaW5pdHJhbWZzIDo9ICJeJHtMQVlFUkRJUn0vIgorCisjIERlZmluZSB0aGUgcHJpb3JpdHkgZm9yIHJlY2lwZXMgKC5iYiBmaWxlcykgZnJvbSB0aGlzIGxheWVyLAorIyBjaG9vc2luZyBjYXJlZnVsbHkgaG93IHRoaXMgbGF5ZXIgaW50ZXJhY3RzIHdpdGggYWxsIG9mIHRoZQorIyBvdGhlciBsYXllcnMuCisKK0JCRklMRV9QUklPUklUWV9tZXRhLWluaXRyYW1mcyA9ICI4IgorTEFZRVJERVBFTkRTX21ldGEtaW5pdHJhbWZzID0gImNvcmUiCisKK1NJR0dFTl9FWENMVURFX1NBRkVfUkVDSVBFX0RFUFMgKz0gIiBcCisgIGRyYWN1dC0+dmlydHVhbC9rZXJuZWwgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbWFnZXMvaW5pdHJhbWZzLWRlYnVnLWltYWdlLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbWFnZXMvaW5pdHJhbWZzLWRlYnVnLWltYWdlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlNzM1MGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2ltYWdlcy9pbml0cmFtZnMtZGVidWctaW1hZ2UuYmIKQEAgLTAsMCArMSwyMiBAQAorIyBTaW1wbGUgaW5pdHJhbWZzIGltYWdlLiBNb3N0bHkgdXNlZCBmb3IgbGl2ZSBpbWFnZXMuCitERVNDUklQVElPTiA9ICJTbWFsbCBpbWFnZSBjYXBhYmxlIG9mIGJvb3RpbmcgYSBkZXZpY2UuIFRoZSBrZXJuZWwgaW5jbHVkZXMgXAordGhlIE1pbmltYWwgUkFNLWJhc2VkIEluaXRpYWwgUm9vdCBGaWxlc3lzdGVtIChpbml0cmFtZnMpLCB3aGljaCBvbmUgY2FuIHVzZSBcCit0byBjaGVjayB0aGUgaGFyZHdhcmUgZWZmaWNpZW50bHkuIgorCitQQUNLQUdFX0lOU1RBTEwgPSAiaW5pdHJhbWZzLWRlYnVnIGJ1c3lib3ggYmFzZS1wYXNzd2QgJHtST09URlNfQk9PVFNUUkFQX0lOU1RBTEx9IgorCisjIERvIG5vdCBwb2xsdXRlIHRoZSBpbml0cmQgaW1hZ2Ugd2l0aCByb290ZnMgZmVhdHVyZXMKK0lNQUdFX0ZFQVRVUkVTID0gIiIKKworZXhwb3J0IElNQUdFX0JBU0VOQU1FID0gImluaXRyYW1mcy1kZWJ1Zy1pbWFnZSIKK0lNQUdFX0xJTkdVQVMgPSAiIgorCitMSUNFTlNFID0gIk1JVCIKKworSU1BR0VfRlNUWVBFUyA9ICIke0lOSVRSQU1GU19GU1RZUEVTfSIKK2luaGVyaXQgY29yZS1pbWFnZQorCitJTUFHRV9ST09URlNfU0laRSA9ICI4MTkyIgorSU1BR0VfUk9PVEZTX0VYVFJBX1NQQUNFID0gIjAiCisKK0JBRF9SRUNPTU1FTkRBVElPTlMgKz0gImJ1c3lib3gtc3lzbG9nIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbWFnZXMvaW5pdHJhbWZzLWtleGVjYm9vdC1pbWFnZS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3AvaW1hZ2VzL2luaXRyYW1mcy1rZXhlY2Jvb3QtaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDVmZjUwZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3AvaW1hZ2VzL2luaXRyYW1mcy1rZXhlY2Jvb3QtaW1hZ2UuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJJbml0cmFtZnMgaW1hZ2UgZm9yIGtleGVjYm9vdCBrZXJuZWwiCitERVNDUklQVElPTiA9ICJUaGlzIGltYWdlIHByb3ZpZGVzIGtleGVjYm9vdCAobGludXggYXMgYm9vdGxvYWRlcikgYW5kIGhlbHBlcnMuIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKKworSU1BR0VfRlNUWVBFUyA9ICIke0lOSVRSQU1GU19GU1RZUEVTfSIKKworIyBhdm9pZCBjaXJjdWxhciBkZXBlbmRlbmNpZXMKK0VYVFJBX0lNQUdFREVQRU5EUyA9ICIiCisKKyMgV2UgcmVhbGx5IG5lZWQganVzdCBrZXhlY2Jvb3QsIGtleGVjIGFuZCB1YmlhdHRhY2gKK0lNQUdFX0lOU1RBTEwgPSAia2V4ZWNib290IGtleGVjIG10ZC11dGlscy11YmlmcyIKKworIyBEbyBub3QgcG9sbHV0ZSB0aGUgaW5pdHJkIGltYWdlIHdpdGggcm9vdGZzIGZlYXR1cmVzCitJTUFHRV9GRUFUVVJFUyA9ICIiCisKK0lNQUdFX0xJTkdVQVMgPSAiIgorCitGRUVEX0RFUExPWURJUl9CQVNFX1VSSSA9ICIiCitMRENPTkZJR0RFUEVORCA9ICIiCisKK0lNQUdFX1JPT1RGU19FWFRSQV9TUEFDRSA9ICIwIgorCitpbmhlcml0IGltYWdlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2ltYWdlcy9pbml0cmFtZnMta2V4ZWNib290LWtsaWJjLWltYWdlLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbWFnZXMvaW5pdHJhbWZzLWtleGVjYm9vdC1rbGliYy1pbWFnZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjk3NTExCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbWFnZXMvaW5pdHJhbWZzLWtleGVjYm9vdC1rbGliYy1pbWFnZS5iYgpAQCAtMCwwICsxLDcgQEAKK3JlcXVpcmUgaW5pdHJhbWZzLWtleGVjYm9vdC1pbWFnZS5iYgorCitTVU1NQVJZID0gIkluaXRyYW1mcyBpbWFnZSBmb3Iga2V4ZWNib290IGtlcm5lbCAoa2xpYmMtc3RhdGljIGJpbmFyaWVzKSIKKworIyBXZSByZWFsbHkgbmVlZCBqdXN0IGtleGVjYm9vdCwga2V4ZWMgYW5kIHViaWF0dGFjaAorIyBzdGF0aWNhbGx5IGNvbXBpbGVkIGFnYWluc3Qga2xpYmMKK0lNQUdFX0lOU1RBTEwgPSAia2V4ZWNib290LWtsaWJjIGtleGVjLWtsaWJjIHViaWF0dGFjaC1rbGliYyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3AvaW5pdHJkc2NyaXB0cy9maWxlcy9pbml0LWRlYnVnLnNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbml0cmRzY3JpcHRzL2ZpbGVzL2luaXQtZGVidWcuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2VkYmQ3MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3AvaW5pdHJkc2NyaXB0cy9maWxlcy9pbml0LWRlYnVnLnNoCkBAIC0wLDAgKzEsMzEgQEAKKyMhL2Jpbi9zaAorCitQQVRIPS9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluCisKK2RvX21vdW50X2ZzKCkgeworCWdyZXAgLXEgIiQxIiAvcHJvYy9maWxlc3lzdGVtcyB8fCByZXR1cm4KKwl0ZXN0IC1kICIkMiIgfHwgbWtkaXIgLXAgIiQyIgorCW1vdW50IC10ICIkMSIgIiQxIiAiJDIiCit9CisKK2RvX21rbm9kKCkgeworCXRlc3QgLWUgIiQxIiB8fCBta25vZCAiJDEiICIkMiIgIiQzIiAiJDQiCit9CisKK21rZGlyIC1wIC9wcm9jCittb3VudCAtdCBwcm9jIHByb2MgL3Byb2MKKworZG9fbW91bnRfZnMgc3lzZnMgL3N5cworZG9fbW91bnRfZnMgZGVidWdmcyAvc3lzL2tlcm5lbC9kZWJ1ZworZG9fbW91bnRfZnMgZGV2dG1wZnMgL2RldgorZG9fbW91bnRfZnMgZGV2cHRzIC9kZXYvcHRzCitkb19tb3VudF9mcyB0bXBmcyAvZGV2L3NobQorCitta2RpciAtcCAvcnVuCitta2RpciAtcCAvdmFyL3J1bgorCitkb19ta25vZCAvZGV2L2NvbnNvbGUgYyA1IDEKK2RvX21rbm9kIC9kZXYvbnVsbCBjIDEgMworZG9fbWtub2QgL2Rldi96ZXJvIGMgMSA1CisKK2V4ZWMgc2ggPC9kZXYvY29uc29sZSA+L2Rldi9jb25zb2xlIDI+L2Rldi9jb25zb2xlIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1kZWJ1Z18xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWRlYnVnXzEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iN2RlZmZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1kZWJ1Z18xLjAuYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJFeHRyZW1lbHkgYmFzaWMgbGl2ZSBpbWFnZSBpbml0IHNjcmlwdCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCitTUkNfVVJJID0gImZpbGU6Ly9pbml0LWRlYnVnLnNoIgorCitTID0gIiR7V09SS0RJUn0iCisKK2RvX2luc3RhbGwoKSB7CisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQtZGVidWcuc2ggJHtEfS9pbml0Cit9CisKK2luaGVyaXQgYWxsYXJjaAorCitGSUxFU18ke1BOfSArPSAiIC9pbml0ICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDEta2V4ZWNib290LWZpeC1idWlsZC13aGVuLVMtQi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDEta2V4ZWNib290LWZpeC1idWlsZC13aGVuLVMtQi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDMyNzBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwMS1rZXhlY2Jvb3QtZml4LWJ1aWxkLXdoZW4tUy1CLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK0Zyb20gODUxOWQ2MWE3MDk3NDk4YjBlZTkzZmI4ZGM4MjYyMjg2ODI1ZjNlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMSBNYXkgMjAxNCAyMzo1ODo1MSArMDIwMAorU3ViamVjdDogW1BBVENIIDEvNF0ga2V4ZWNib290OiBmaXggYnVpbGQgd2hlbiBTICE9IEIKKworKiBmYXRhbCBlcnJvcjogLi4vY29uZmlnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorLS0tCisgbWFjaGluZS96YXVydXMuYyB8IDIgKy0KKyByZXMvdGhlbWUtZ3VpLmggIHwgMiArLQorIHJlcy90aGVtZS10dWkuaCAgfCA0ICsrLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21hY2hpbmUvemF1cnVzLmMgYi9tYWNoaW5lL3phdXJ1cy5jCitpbmRleCBlYTIxMDQ3Li44M2JlMTNiIDEwMDY0NAorLS0tIGEvbWFjaGluZS96YXVydXMuYworKysrIGIvbWFjaGluZS96YXVydXMuYworQEAgLTI1LDcgKzI1LDcgQEAKKyAgKgorICAqLworIAorLSNpbmNsdWRlICIuLi9jb25maWcuaCIKKysjaW5jbHVkZSAiY29uZmlnLmgiCisgCisgI2lmZGVmIFVTRV9aQVVSVVMKKyAKK2RpZmYgLS1naXQgYS9yZXMvdGhlbWUtZ3VpLmggYi9yZXMvdGhlbWUtZ3VpLmgKK2luZGV4IGY4ZmVmN2YuLjc5YmVkMzkgMTAwNjQ0CistLS0gYS9yZXMvdGhlbWUtZ3VpLmgKKysrKyBiL3Jlcy90aGVtZS1ndWkuaAorQEAgLTE1LDcgKzE1LDcgQEAKKyAgKgorICAqLworIAorLSNpbmNsdWRlICIuLi9jb25maWcuaCIKKysjaW5jbHVkZSAiY29uZmlnLmgiCisgCisgI2lmZGVmIFVTRV9JQ09OUworIC8qKiBJY29ucyAqKi8KK2RpZmYgLS1naXQgYS9yZXMvdGhlbWUtdHVpLmggYi9yZXMvdGhlbWUtdHVpLmgKK2luZGV4IDk0ZTc2OTMuLjkwOWJlNTYgMTAwNjQ0CistLS0gYS9yZXMvdGhlbWUtdHVpLmgKKysrKyBiL3Jlcy90aGVtZS10dWkuaAorQEAgLTE1LDExICsxNSwxMSBAQAorICAqCisgICovCisgCistI2luY2x1ZGUgIi4uL2NvbmZpZy5oIgorKyNpbmNsdWRlICJjb25maWcuaCIKKyAKKyAjaWZkZWYgVVNFX1RFWFRVSQorIC8qKiBURVhUIFVJIGNvbG9ycyAqKi8KKy0jaW5jbHVkZSAiLi4vdGVybXNlcS5oIgorKyNpbmNsdWRlICJ0ZXJtc2VxLmgiCisgCisgLyogQmFja2dyb3VuZCBjb2xvciBwYWlyICovCisgI2RlZmluZSBUVUlfQ0xSX0JHCQlURVJNX0NTSSBURVJNX0JHX0JMQUNLICI7IiBURVJNX0ZHX1dISVRFIFRFUk1fU0dSCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDIta2V4ZWNib290LWZpeC1jb25maWd1cmUtd2FybmluZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9maWxlcy8wMDAyLWtleGVjYm9vdC1maXgtY29uZmlndXJlLXdhcm5pbmdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjZjQyMmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9maWxlcy8wMDAyLWtleGVjYm9vdC1maXgtY29uZmlndXJlLXdhcm5pbmdzLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gYjg5MzhhY2MzZjFhYjM1MjczZmE5YTJmYTc3MjgwNTBlZjcyZmY2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMiBNYXkgMjAxNCAwMDoxOToyNCArMDIwMAorU3ViamVjdDogW1BBVENIIDIvNF0ga2V4ZWNib290OiBmaXggY29uZmlndXJlIHdhcm5pbmdzCisKK01ha2VmaWxlLmFtOjU6IHdhcm5pbmc6IHNvdXJjZSBmaWxlICdmc3R5cGUvZnN0eXBlLmMnIGlzIGluIGEgc3ViZGlyZWN0b3J5LAorTWFrZWZpbGUuYW06NTogYnV0IG9wdGlvbiAnc3ViZGlyLW9iamVjdHMnIGlzIGRpc2FibGVkCithdXRvbWFrZTogd2FybmluZzogcG9zc2libGUgZm9yd2FyZC1pbmNvbXBhdGliaWxpdHkuCisuLi4KK01ha2VmaWxlLmFtOjU6IHdhcm5pbmc6IHNvdXJjZSBmaWxlICdtYWNoaW5lL3phdXJ1cy5jJyBpcyBpbiBhIHN1YmRpcmVjdG9yeSwKKy4uLgorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDBjYTRiODEuLjY2ZWM1NGUgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEsNyArMSw3IEBACisgQUNfUFJFUkVRKDIuNTMpCisgQUNfSU5JVChba2V4ZWNib290XSwgWzAuNl0sIFtrZXhlY2Jvb3QtZGV2ZWxAbGludXh0b2dvLm9yZ10pCisgQUNfQ0FOT05JQ0FMX0hPU1QKKy1BTV9JTklUX0FVVE9NQUtFKFstV2FsbCBmb3JlaWduXSkKKytBTV9JTklUX0FVVE9NQUtFKFstV2FsbCBmb3JlaWduXSBbc3ViZGlyLW9iamVjdHNdKQorIEFDX0NPTkZJR19TUkNESVIoa2V4ZWNib290LmMpCisgQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmgpCisgQU1fTUFJTlRBSU5FUl9NT0RFCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDMta2V4ZWNib290LWRvLW5vdC1oYXJkY29kZS1NT1VOVFBPSU5ULnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwMy1rZXhlY2Jvb3QtZG8tbm90LWhhcmRjb2RlLU1PVU5UUE9JTlQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNhYTBkNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDMta2V4ZWNib290LWRvLW5vdC1oYXJkY29kZS1NT1VOVFBPSU5ULnBhdGNoCkBAIC0wLDAgKzEsOTcgQEAKK0Zyb20gODAwZGFlMGQzNGY4NjI5YTM0YzYzOGE2MTIxNjZiNzZkZGEwM2UyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwgMiBBdWcgMjAxNCAwMToxMzowOCArMDIwMAorU3ViamVjdDogW1BBVENIIDMvNF0ga2V4ZWNib290OiBkbyBub3QgaGFyZGNvZGUgTU9VTlRQT0lOVAorCitBdm9pZCB0byBoYXJkY29kZSBpdDogY291bGQgYmUgcmVxdWVzdGVkIGFzIGEgbmV3IGNvbmZpZ3VyZSBvcHRpb24uCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KKy0tLQorIGNmZ3BhcnNlci5jIHwgIDYgKysrLS0tCisga2V4ZWNib290LmMgfCAxOCArKysrKysrKysrLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY2ZncGFyc2VyLmMgYi9jZmdwYXJzZXIuYworaW5kZXggOGY2Njg4Yy4uZGVjMjdiMSAxMDA2NDQKKy0tLSBhL2NmZ3BhcnNlci5jCisrKysgYi9jZmdwYXJzZXIuYworQEAgLTE0MSw3ICsxNDEsNyBAQCBzdGF0aWMgaW50IHNldF9rZXJuZWwoc3RydWN0IGNmZ2RhdGFfdCAqY2ZnZGF0YSwgY2hhciAqdmFsdWUpCisgCQlyZXR1cm4gLTE7CisgCX0KKyAKKy0Jc3RyY3B5KHNjLT5rZXJuZWxwYXRoLCAiL21udCIpOworKwlzdHJjcHkoc2MtPmtlcm5lbHBhdGgsIE1PVU5UUE9JTlQpOworIAlzdHJjYXQoc2MtPmtlcm5lbHBhdGgsIHZhbHVlKTsKKyAJcmV0dXJuIDA7CisgfQorQEAgLTE1NSw3ICsxNTUsNyBAQCBzdGF0aWMgaW50IHNldF9pY29uKHN0cnVjdCBjZmdkYXRhX3QgKmNmZ2RhdGEsIGNoYXIgKnZhbHVlKQorIAorIAlkaXNwb3NlKHNjLT5pY29ucGF0aCk7CisgCS8qIEFkZCBvdXIgbW91bnRwb2ludCwgc2luY2UgdGhlIGVuZHVzZXIgd29uJ3Qga25vdyBpdCAqLworLQlzYy0+aWNvbnBhdGggPSBtYWxsb2Moc2l6ZW9mKE1PVU5UUE9JTlQpK3N0cmxlbih2YWx1ZSkpOworKwlzYy0+aWNvbnBhdGggPSBtYWxsb2Moc3RybGVuKE1PVU5UUE9JTlQpK3N0cmxlbih2YWx1ZSkrMSk7CisgCWlmIChOVUxMID09IHNjLT5pY29ucGF0aCkgeworIAkJRFBSSU5URigiQ2FuJ3QgYWxsb2NhdGUgbWVtb3J5IHRvIHN0b3JlIGljb25wYXRoICclcyciLCB2YWx1ZSk7CisgCQlyZXR1cm4gLTE7CitAQCAtMTk0LDcgKzE5NCw3IEBAIHN0YXRpYyBpbnQgc2V0X2luaXRyZChzdHJ1Y3QgY2ZnZGF0YV90ICpjZmdkYXRhLCBjaGFyICp2YWx1ZSkKKyAJCXJldHVybiAtMTsKKyAJfQorIAorLQlzdHJjcHkoc2MtPmluaXRyZCwgIi9tbnQiKTsKKysJc3RyY3B5KHNjLT5pbml0cmQsIE1PVU5UUE9JTlQpOworIAlzdHJjYXQoc2MtPmluaXRyZCwgdmFsdWUpOworIAlyZXR1cm4gMDsKKyB9CitkaWZmIC0tZ2l0IGEva2V4ZWNib290LmMgYi9rZXhlY2Jvb3QuYworaW5kZXggZDY2NTdhMC4uNzI2OGQ2YiAxMDA2NDQKKy0tLSBhL2tleGVjYm9vdC5jCisrKysgYi9rZXhlY2Jvb3QuYworQEAgLTU3LDIwICs1NywyMiBAQAorICNlbmRpZgorIAorICNpZmRlZiBVU0VfTUFDSElORV9LRVJORUwKKy0vKiBNYWNoaW5lLWRlcGVuZGVudCBrZXJuZWwgcGF0Y2ggKi8KKysvKiBNYWNoaW5lLWRlcGVuZGVudCBrZXJuZWwgcGF0aCAqLworIGNoYXIgKm1hY2hpbmVfa2VybmVsID0gTlVMTDsKKyAjZW5kaWYKKyAKKysjZGVmaW5lIFBSRVBFTkRfTU9VTlRQQVRIKHN0cmluZykgTU9VTlRQT0lOVCIic3RyaW5nCisrCisgLyogTlVMTC10ZXJtaW5hdGVkIGFycmF5IG9mIGtlcm5lbCBzZWFyY2ggcGF0aHMKKyAgKiBGaXJzdCBpdGVtIHNob3VsZCBiZSBmaWxsZWQgd2l0aCBtYWNoaW5lLWRlcGVuZGVudCBwYXRoICovCisgY2hhciAqZGVmYXVsdF9rZXJuZWxzW10gPSB7CisgI2lmZGVmIFVTRV9aSU1BR0UKKy0JIi9tbnQvYm9vdC96SW1hZ2UiLAorLQkiL21udC96SW1hZ2UiLAorKwlQUkVQRU5EX01PVU5UUEFUSCgiL2Jvb3QvekltYWdlIiksCisrCVBSRVBFTkRfTU9VTlRQQVRIKCIvekltYWdlIiksCisgI2VuZGlmCisgI2lmZGVmIFVTRV9VSU1BR0UKKy0JIi9tbnQvYm9vdC91SW1hZ2UiLAorLQkiL21udC91SW1hZ2UiLAorKwlQUkVQRU5EX01PVU5UUEFUSCgiL2Jvb3QvdUltYWdlIiksCisrCVBSRVBFTkRfTU9VTlRQQVRIKCIvdUltYWdlIiksCisgI2VuZGlmCisgCU5VTEwKKyB9OworQEAgLTE0OSwxNCArMTUxLDE0IEBAIGNoYXIgKmdldF9tYWNoaW5lX2tlcm5lbHBhdGgoKSB7CisgCQkJKyt0bXA7CisgCQl9CisgCistCQkvKiBQcmVwZW5kICIvbW50L2Jvb3QvekltYWdlLSIgdG8gaHcgKi8KKy0JCXRtcCA9IG1hbGxvYyhzdHJsZW4oaHcpICsgMTcgKyAxKTsJLyogc3RybGVuKCIvbW50L2Jvb3QvekltYWdlLSIpICovCisrCQkvKiBQcmVwZW5kICBNT1VOVFBPSU5UIi9ib290L3pJbWFnZS0iIHRvIGh3ICovCisrCQl0bXAgPSBtYWxsb2Moc3RybGVuKFBSRVBFTkRfTU9VTlRQQVRIKCIvYm9vdC96SW1hZ2UtIikpICsgc3RybGVuKGh3KSArIDEpOworIAkJaWYgKE5VTEwgPT0gdG1wKSB7CisgCQkJRFBSSU5URigiQ2FuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBtYWNoaW5lLXNwZWNpZmljIGtlcm5lbCBwYXRoIik7CisgCQkJcmV0dXJuIE5VTEw7CisgCQl9CisgCistCQlzdHJjcHkodG1wLCAiL21udC9ib290L3pJbWFnZS0iKTsKKysJCXN0cmNweSh0bXAsIFBSRVBFTkRfTU9VTlRQQVRIKCIvYm9vdC96SW1hZ2UtIikpOworIAkJc3RyY2F0KHRtcCwgaHcpOworIAorIAkJcmV0dXJuIHRtcDsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwNC1rZXhlY2Jvb3QuYy13b3JrYXJvdW5kLWZvci1hYnNvbHV0ZS1rZXJuZWwtYW5kLWluaXRyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwNC1rZXhlY2Jvb3QuYy13b3JrYXJvdW5kLWZvci1hYnNvbHV0ZS1rZXJuZWwtYW5kLWluaXRyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkODFkODMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9maWxlcy8wMDA0LWtleGVjYm9vdC5jLXdvcmthcm91bmQtZm9yLWFic29sdXRlLWtlcm5lbC1hbmQtaW5pdHIucGF0Y2gKQEAgLTAsMCArMSwxMzUgQEAKK0Zyb20gZGU5YTYyODRkZjhhZGQ2ZWMwM2UxZDk5ODFkMGI2ZDA1OTViYmM2OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTAgTm92IDIwMTQgMjM6Mzc6MjMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCA0LzRdIGtleGVjYm9vdC5jOiB3b3JrYXJvdW5kIGZvciBhYnNvbHV0ZSBrZXJuZWwgYW5kIGluaXRyZAorIHN5bWxpbmtzCisKK0FkZCBNT1VOVFBPSU5UIHByZWZpeCBpZiB0aGUga2VybmVsL2luaXRyZCBzeW1saW5rcyBzdGFydCB3aXRoICcvJy4KK0RvIG5vdGhpbmcgaWYgdGhlIHBhdGggaXMgYSByZWxhdGl2ZSBzeW1ib2xpYyBsaW5rIG9yIG5vdCBhIHN5bWxpbmsuCisKK0ZpeCBmb2xsb3dpbmcgc2l0dWF0aW9uOgorCityb290QG1pemFyOi92YXIvdG1wIyBscyAtYWwgYm9vdC8KK3RvdGFsIDIwNzYKK2Ryd3hyLXhyLXggMiByb290IHJvb3QgICAgNDA5NiBsdWcgIDUgMDE6MzggLgorZHJ3eHJ3eHJ3dCA0IHJvb3Qgcm9vdCAgICA0MDk2IGx1ZyAgNSAxMjoyNiAuLgorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAgICAgODMxIGx1ZyAgNSAwMToyNCBib290LmNmZworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAgICAxMzIyIGx1ZyAgNSAwMToyNCBpY29uLnhwbQorbHJ3eHJ3eHJ3eCAxIHJvb3Qgcm9vdCAgICAgIDM0IGx1ZyAgNSAxMjoyNiB6SW1hZ2UgLT4KKy9ib290L3pJbWFnZS0zLjE0LjUteW9jdG8tc3RhbmRhcmQKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMjEwNjgzMiBsdWcgIDUgMDE6MjAgekltYWdlLTMuMTQuNS15b2N0by1zdGFuZGFyZAorCitDYW5ub3Qgb3BlbiBgL21udC9ib290L3pJbWFnZSc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK05vdGhpbmcgaGFzIGJlZW4gbG9hZGVkIQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CistLS0KKyBrZXhlY2Jvb3QuYyB8IDUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9rZXhlY2Jvb3QuYyBiL2tleGVjYm9vdC5jCitpbmRleCA3MjY4ZDZiLi44YTdhN2QyIDEwMDY0NAorLS0tIGEva2V4ZWNib290LmMKKysrKyBiL2tleGVjYm9vdC5jCitAQCAtMjA4LDExICsyMDgsMTYgQEAgdm9pZCBzdGFydF9rZXJuZWwoc3RydWN0IHBhcmFtc190ICpwYXJhbXMsIGludCBjaG9pY2UpCisgCWNvbnN0IGNoYXIgKmxvYWRfYXJndltdID0geyBOVUxMLCAiLWwiLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMIH07CisgCWNvbnN0IGNoYXIgKmV4ZWNfYXJndltdID0geyBOVUxMLCAiLWUiLCBOVUxMLCBOVUxMfTsKKyAKKy0JY2hhciAqY21kbGluZV9hcmcgPSBOVUxMLCAqaW5pdHJkX2FyZyA9IE5VTEw7CisrCWNoYXIgKmNtZGxpbmVfYXJnID0gTlVMTCwgKmluaXRyZF9hcmcgPSBOVUxMLCAqa2VybmVsX2FyZyA9IE5VTEw7CisgCWludCBuLCBpZHgsIHU7CisgCXN0cnVjdCBzdGF0IHNpbmZvOworIAlzdHJ1Y3QgYm9vdF9pdGVtX3QgKml0ZW07CisgCisrCS8qIGJ1ZmZlciBmb3IgcmVhZGxpbmsgKGNvdWxkIGJlIHRydW5jYXRlZCkgKi8KKysJY2hhciBidWZbNTEyXTsKKysJaW50IGxlbjsKKysKKysKKyAJaXRlbSA9IHBhcmFtcy0+Ym9vdGNmZy0+bGlzdFtjaG9pY2VdOworIAorIAlleGVjX2FyZ3ZbMF0gPSBrZXhlY19wYXRoOworQEAgLTMwNiwxMCArMzExLDE3IEBAIHZvaWQgc3RhcnRfa2VybmVsKHN0cnVjdCBwYXJhbXNfdCAqcGFyYW1zLCBpbnQgY2hvaWNlKQorIAkJfQorIAl9CisgCisrCS8qIE1vdW50IGJvb3QgZGV2aWNlICovCisrCWlmICggLTEgPT0gbW91bnQobW91bnRfZGV2LCBtb3VudF9wb2ludCwgbW91bnRfZnN0eXBlLAorKwkJCU1TX1JET05MWSwgTlVMTCkgKSB7CisrCQlwZXJyb3IoIkNhbid0IG1vdW50IGJvb3QgZGV2aWNlIik7CisrCQlleGl0KC0xKTsKKysJfQorKworIAkvKiBmaWxsICctLWluaXRyZCcgb3B0aW9uICovCisgCWlmIChpdGVtLT5pbml0cmQpIHsKKyAJCS8qIGFsbG9jYXRlIHNwYWNlICovCistCQluID0gc2l6ZW9mKHN0cl9pbml0cmRfc3RhcnQpICsgc3RybGVuKGl0ZW0tPmluaXRyZCk7CisrCQluID0gc2l6ZW9mKHN0cl9pbml0cmRfc3RhcnQpICsgc3RybGVuKGl0ZW0tPmluaXRyZCkgKyAxICsgc2l6ZW9mKG1vdW50X3BvaW50KSArIHNpemVvZihidWYpOworIAorIAkJaW5pdHJkX2FyZyA9IChjaGFyICopbWFsbG9jKG4pOworIAkJaWYgKE5VTEwgPT0gaW5pdHJkX2FyZykgeworQEAgLTMxNywyNCArMzI5LDQ2IEBAIHZvaWQgc3RhcnRfa2VybmVsKHN0cnVjdCBwYXJhbXNfdCAqcGFyYW1zLCBpbnQgY2hvaWNlKQorIAkJfSBlbHNlIHsKKyAJCQlzdHJjcHkoaW5pdHJkX2FyZywgc3RyX2luaXRyZF9zdGFydCk7CS8qIC0taW5pdHJkPSAqLworIAkJCXN0cmNhdChpbml0cmRfYXJnLCBpdGVtLT5pbml0cmQpOworKworKwkJCWlmICgobGVuID0gcmVhZGxpbmsoaXRlbS0+aW5pdHJkLCBidWYsIHNpemVvZihidWYpLTEpKSAhPSAtMSkgeworKwkJCQlidWZbbGVuXSA9ICdcMCc7CisrCQkJCS8qIEZpeCBhYnNvbHV0ZSBzeW1saW5rczogcHJlcGVuZCBNT1VOVFBPSU5UICovCisrCQkJCWlmIChidWZbMF0gPT0gJy8nKSB7CisrCQkJCQlzdHJjcHkoaW5pdHJkX2FyZywgc3RyX2luaXRyZF9zdGFydCk7CS8qIC0taW5pdHJkPSAqLworKwkJCQkJc3RyY2F0KGluaXRyZF9hcmcsIG1vdW50X3BvaW50KTsKKysJCQkJCXN0cmNhdChpbml0cmRfYXJnLCBidWYpOworKwkJCQl9CisrCQkJfQorIAkJCWxvYWRfYXJndltpZHhdID0gaW5pdHJkX2FyZzsKKyAJCQkrK2lkeDsKKyAJCX0KKyAJfQorIAorIAkvKiBBcHBlbmQga2VybmVscGF0aCBhcyBsYXN0IGFyZyBvZiBrZXhlYyAqLworLQlsb2FkX2FyZ3ZbaWR4XSA9IGl0ZW0tPmtlcm5lbHBhdGg7CisrCQkvKiBhbGxvY2F0ZSBzcGFjZSAqLworKwkJbiA9IHN0cmxlbihpdGVtLT5rZXJuZWxwYXRoKSArIDEgKyBzaXplb2YobW91bnRfcG9pbnQpICsgc2l6ZW9mKGJ1Zik7CisrCisrCQlrZXJuZWxfYXJnID0gKGNoYXIgKiltYWxsb2Mobik7CisrCQlpZiAoTlVMTCA9PSBrZXJuZWxfYXJnKSB7CisrCQkJcGVycm9yKCJDYW4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGtlcm5lbF9hcmciKTsKKysJCX0gZWxzZSB7CisrCQkJc3RyY3B5KGtlcm5lbF9hcmcsIGl0ZW0tPmtlcm5lbHBhdGgpOworKworKwkJCWlmICgobGVuID0gcmVhZGxpbmsoaXRlbS0+a2VybmVscGF0aCwgYnVmLCBzaXplb2YoYnVmKS0xKSkgIT0gLTEpIHsKKysJCQkJYnVmW2xlbl0gPSAnXDAnOworKwkJCQkvKiBGaXggYWJzb2x1dGUgc3ltbGlua3M6IHByZXBlbmQgTU9VTlRQT0lOVCAqLworKwkJCQlpZiAoYnVmWzBdID09ICcvJykgeworKwkJCQkJc3RyY3B5KGtlcm5lbF9hcmcsIG1vdW50X3BvaW50KTsKKysJCQkJCXN0cmNhdChrZXJuZWxfYXJnLCBidWYpOworKwkJCQl9CisrCQkJfQorKwkJCWxvYWRfYXJndltpZHhdID0ga2VybmVsX2FyZzsKKysJCX0KKyAKKyAJRFBSSU5URigibG9hZF9hcmd2OiAlcywgJXMsICVzLCAlcywgJXMiLCBsb2FkX2FyZ3ZbMF0sCisgCQkJbG9hZF9hcmd2WzFdLCBsb2FkX2FyZ3ZbMl0sCisgCQkJbG9hZF9hcmd2WzNdLCBsb2FkX2FyZ3ZbNF0pOworIAorLQkvKiBNb3VudCBib290IGRldmljZSAqLworLQlpZiAoIC0xID09IG1vdW50KG1vdW50X2RldiwgbW91bnRfcG9pbnQsIG1vdW50X2ZzdHlwZSwKKy0JCQlNU19SRE9OTFksIE5VTEwpICkgeworLQkJcGVycm9yKCJDYW4ndCBtb3VudCBib290IGRldmljZSIpOworLQkJZXhpdCgtMSk7CistCX0KKyAKKyAJLyogTG9hZCBrZXJuZWwgKi8KKyAJbiA9IGZleGVjdyhrZXhlY19wYXRoLCAoY2hhciAqY29uc3QgKilsb2FkX2FyZ3YsIGVudnApOworQEAgLTM0Nyw2ICszODEsNyBAQCB2b2lkIHN0YXJ0X2tlcm5lbChzdHJ1Y3QgcGFyYW1zX3QgKnBhcmFtcywgaW50IGNob2ljZSkKKyAKKyAJZGlzcG9zZShjbWRsaW5lX2FyZyk7CisgCWRpc3Bvc2UoaW5pdHJkX2FyZyk7CisrCWRpc3Bvc2Uoa2VybmVsX2FyZyk7CisgCisgCS8qIENoZWNrIC9wcm9jL3N5cy9uZXQgcHJlc2VuY2UgKi8KKyAJaWYgKCAtMSA9PSBzdGF0KCIvcHJvYy9zeXMvbmV0IiwgJnNpbmZvKSApIHsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwNS1yZ2IuaC1maXgtYnVpbGQtd2l0aC1nY2M1LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwNS1yZ2IuaC1maXgtYnVpbGQtd2l0aC1nY2M1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1NDE5OWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9maWxlcy8wMDA1LXJnYi5oLWZpeC1idWlsZC13aXRoLWdjYzUucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSBiMmM0ZmM2OTg2OGE0ODMxZWM3OThhZDk4ZjVlN2ZjZTIwMGNmMGUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyNCBTZXAgMjAxNSAwMDowMjo0OCArMDIwMAorU3ViamVjdDogW1BBVENIXSByZ2IuaDogZml4IGJ1aWxkIHdpdGggZ2NjIDUgKEM5OSBpbmxpbmUgc2VtYW50aWMpCisKK0J1aWxkaW5nIHdpdGggZ2NjIDUuMiB3ZSB0cmlnZ2VyIHRoZSBmb2xsb3dpbmcgZXJyb3I6CisKK3JnYi5oOjU1OjE6IHdhcm5pbmc6IGlubGluZSBmdW5jdGlvbiAncmdiYTJjb21wJyBkZWNsYXJlZCBidXQgbmV2ZXIgZGVmaW5lZAorfCAgcmdiYTJjb21wKGt4X3JnYmEgcmdiYSwga3hfY2NvbXAgKnJlZCwga3hfY2NvbXAgKmdyZWVuLAorfCAgXgorCitodHRwczovL2djYy5nbnUub3JnL2djYy01L3BvcnRpbmdfdG8uaHRtbAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CistLS0KKyByZ2IuaCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3JnYi5oIGIvcmdiLmgKK2luZGV4IDBiYTk4N2EuLjRmNjQ2MjIgMTAwNjQ0CistLS0gYS9yZ2IuaAorKysrIGIvcmdiLmgKK0BAIC01MSw4ICs1MSw3IEBAIHR5cGVkZWYgc3RydWN0IHsKKyB9IGt4X25hbWVkX2NvbG9yOworIAorIC8qIENvbnZlcnQgUkdCQSB1aW50MzIgdG8gcmVkL2dyZWVuL2JsdWUvYWxwaGEgY29tcG9uZW50cyAqLworLWlubGluZSB2b2lkCistcmdiYTJjb21wKGt4X3JnYmEgcmdiYSwga3hfY2NvbXAgKnJlZCwga3hfY2NvbXAgKmdyZWVuLAorK3ZvaWQgcmdiYTJjb21wKGt4X3JnYmEgcmdiYSwga3hfY2NvbXAgKnJlZCwga3hfY2NvbXAgKmdyZWVuLAorIAkJa3hfY2NvbXAgKmJsdWUsIGt4X2Njb21wICphbHBoYSk7CisgCisgLyogQ29udmVydCBoZXggcmdiIGNvbG9yIHRvIHJnYmEgY29sb3IgKi8KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3Qva2V4ZWNib290LWNmZy9pY29uLnhwbSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2tleGVjYm9vdC1jZmcvaWNvbi54cG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmU2ZmQ3NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2tleGVjYm9vdC1jZmcvaWNvbi54cG0KQEAgLTAsMCArMSw0MyBAQAorLyogWFBNICovCitzdGF0aWMgY2hhciAqIGljb25feHBtW10gPSB7CisiMzIgMzIgOCAxIiwKKyIgCWMgTm9uZSIsCisiLgljICNENkRCREUiLAorIisJYyAjOUJBNkFFIiwKKyJACWMgIzYwNzI3RCIsCisiIwljICNCOEJGQzUiLAorIiQJYyAjQTlFOEY2IiwKKyIlCWMgIzEyQkNFNCIsCisiJgljICM1N0QyRUMiLAorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIsCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLAorIiAgICAgICAgICAgLisrQEBAQCsrLiAgICAgICAgICAgIiwKKyIgICAgICAgICArQEBAQEBAQEBAQEBAKyAgICAgICAgICIsCisiICAgICAgICNAQEBAQEBAQEBAQEBAQEBAIyAgICAgICAiLAorIiAgICAgICtAQEBAQEBAQEBAQEBAQEBAQEArICAgICAgIiwKKyIgICAgLkBAQEBAQEBAKysjIytAQEBAQEBAQEAuICAgICIsCisiICAgIEBAQEBAQEAuICAgICAgICAuQEBAQEBAQCAgICAiLAorIiAgICtAQEBAQCsgICAgJCQkJCAgICAjQEBAQEArICAgIiwKKyIgICNAQEBAQC4gICQlJSUlJSUlJSQgIC5AQEBAQCMgICIsCisiICBAQEBAQC4gICYlJSUlJSUlJSUlJiAgLkBAQEBAICAiLAorIiAjQEBAQCsgICUlJSUlJSUlJSUlJSUlICArQEBAQCMgIiwKKyIgQEBAQEAgICYlJSUlJSUlJSUlJSUlJSYgIEBAQEBAICIsCisiLkBAQEAuICQlJSUlJSYgICAkJSUlJSUmICAuQEBAQC4iLAorIitAQEBAICAlJSUlJSAgICAkJSUlJSUmICAgIEBAQEArIiwKKyIrQEBAKyAgJSUlJSQgICAkJSUlJSUmICAkJCArQEBAKyIsCisiQEBAQCsgJCUlJSUgICAkJSUlJSUmICAkJSQgK0BAQEAiLAorIkBAQEAjICYlJSUmICAgJiUlJSUmICAkJSUmICNAQEBAIiwKKyJAQEBALiAmJSUlJiAgICUlJSUmICAkJSUlJiAuQEBAQCIsCisiQEBAQCMgJCUlJSYgICAmJSUmICAgJiUlJSQgI0BAQEAiLAorIitAQEArICQlJSUlICAgICAgICAgICUlJSUkICtAQEArIiwKKyIrQEBAQCAgJSUlJSYgICAgICAgICYlJSUlICBAQEBAKyIsCisiI0BAQEAgICYlJSUlJiAgICAgICYlJSUlJiAgQEBAQCMiLAorIiBAQEBAKyAgJSUlJSUlJiQkJiUlJSUlJSAgK0BAQEAgIiwKKyIgK0BAQEAuICQlJSUlJSUlJSUlJSUlJSQgLkBAQEArICIsCisiIC5AQEBAQCAgJCUlJSUlJSUlJSUlJSQgIEBAQEBALiAiLAorIiAgIysrKysuICAgJiUlJSUlJSUlJiAgIC4rKysrIyAgIiwKKyIgICAgICAgICAgICAkJiYlJSYmJCAgICAgICAgICAgICIsCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLAorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ9OwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3Qva2V4ZWNib290LWNmZ18wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3QtY2ZnXzAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OWYzODcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3Qva2V4ZWNib290LWNmZ18wLjIuYmIKQEAgLTAsMCArMSw2MCBAQAorU1VNTUFSWSA9ICJDb25maWd1cmF0aW9uIGZpbGVzIGZvciBrZXhlY2Jvb3QiCitERVNDUklQVElPTiA9ICJEZWZhdWx0IGljb24gYW5kIGJvb3QuY2ZnIGZvciBrZXhlY2Jvb3QgbGludXgtYXMtYm9vdGxvYWRlci4iCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIgorCitTUkNfVVJJID0gImZpbGU6Ly9pY29uLnhwbSIKKworUyA9ICIke1dPUktESVJ9IgorCitkb19pbnN0YWxsX3ByZXBlbmQgKCkgeworZWNobyAnIyAvYm9vdC9ib290LmNmZyAtIEtFWEVDQk9PVCBjb25maWd1cmF0aW9uIGZpbGUuCisjCisjIEZpcnN0IGtlcm5lbCBzdGFuemEuCisjIFNob3cgdGhpcyBsYWJlbCBpbiBrZXhlY2Jvb3QgbWVudS4KKyMKK0xBQkVMPSR7S0VYRUNCT09UX0xBQkVMfQorIworIyBTcGVjaWZ5IGZ1bGwga2VybmVsIHBhdGggb24gdGFyZ2V0LgorS0VSTkVMPS9ib290LyR7S0VSTkVMX0lNQUdFVFlQRX0KKyMKKyMgQXBwZW5kIHRoaXMgdGFncyB0byB0aGUga2VybmVsIGNtZGxpbmUuCitBUFBFTkQ9JHtDTURMSU5FfSAke0NNRExJTkVfREVCVUd9CisjCisjIFNwZWNpZnkgb3B0aW9uYWwgaW5pdHJkL2luaXRyYW1mcy4KKyMgSU5JVFJEPS9ib290L2luaXRyYW1mcy5jcGlvLmd6CisjCisjIFNwZWNpZnkgZnVsbCBwYXRoIGZvciBhIGN1c3RvbSBpY29uIGZvciB0aGUgbWVudS1pdGVtLgorIyBJZiBub3Qgc2V0LCB1c2UgZGV2aWNlLWljb25zIGFzIGRlZmF1bHQgKE5BTkQsIFNELCBDRiwgLi4uKS4KKyMgSUNPTj0vYm9vdC9pY29uLnhwbQorIworIyBQcmlvcml0eSBvZiBpdGVtIGluIGtleGVjYm9vdCBtZW51LgorIyBJdGVtcyB3aXRoIGhpZ2hlc3QgcHJpb3JpdHkgd2lsbCBiZSBzaG93biBhdCB0b3Agb2YgbWVudS4KKyMgRGVmYXVsdDogMCAobG93ZXN0LCBvcmRlcmVkIGJ5IGRldmljZSBvcmRlcmluZykKKyMgUFJJT1JJVFk9MTAKKyMKKyMKKyMgU2Vjb25kIGtlcm5lbCBzdGFuemEuCisjIExBQkVMPSR7S0VYRUNCT09UX0xBQkVMfS10ZXN0CisjIEtFUk5FTD0vYm9vdC8ke0tFUk5FTF9JTUFHRVRZUEV9LXRlc3QKKyMgQVBQRU5EPSR7Q01ETElORX0KKyMnID4gJHtTfS9ib290LmNmZworfQorZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9L2Jvb3QKKyAgICBpbnN0YWxsIC1tIDA2NDQgYm9vdC5jZmcgJHtEfS9ib290L2Jvb3QuY2ZnCisgICAgaW5zdGFsbCAtbSAwNjQ0IGljb24ueHBtICR7RH0vYm9vdC9pY29uLnhwbQorfQorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitGSUxFU18ke1BOfSArPSAiL2Jvb3QvKiIKKworQ01ETElORSA/PSAiIgorQ01ETElORV9ERUJVRyA/PSAicXVpZXQiCisKK0lOSElCSVRfREVGQVVMVF9ERVBTID0gIjEiCisKKyMgTm90ZTogZm9yIHF2Z2EgdGhlIGxhYmVsIGlzIGN1cnJlbnRseSBsaW1pdGVkIHRvIGFib3V0IDI0IGNoYXJzCitLRVhFQ0JPT1RfTEFCRUwgPz0gIiR7QGQuZ2V0VmFyKCdESVNUUk8nLCBUcnVlKSBvciBkLmdldFZhcignRElTVFJPX1ZFUlNJT04nLCBUcnVlKX0tJHtNQUNISU5FfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2tleGVjYm9vdF8wLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3RfMC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1MDk1ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3RfMC42LmJiCkBAIC0wLDAgKzEsNzUgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBDb25maWd1cmUgb3B0aW9uczoKKyMKKyMgIC0tZW5hYmxlLXN0YXRpYy1saW5raW5nIGNvbXBpbGUga2V4ZWNib290IGFzIHN0YXRpYyBleGVjdXRhYmxlIFtkZWZhdWx0PW5vXQorIyAgLS1lbmFibGUtZmJ1aSAgICAgICAgICAgc3VwcG9ydCBmcmFtZWJ1ZmZlciBtZW51IFtkZWZhdWx0PXllc10KKyMgIC0tZW5hYmxlLWZidWktd2lkdGggICAgIGxpbWl0IEZCIFVJIHdpZHRoIHRvIHNwZWNpZmllZCB2YWx1ZSBbZGVmYXVsdD1ub10KKyMgIC0tZW5hYmxlLWZidWktaGVpZ2h0ICAgIGxpbWl0IEZCIFVJIGhlaWdodCB0byBzcGVjaWZpZWQgdmFsdWUgW2RlZmF1bHQ9bm9dCisjICAtLWVuYWJsZS10ZXh0dWkgICAgICAgICBzdXBwb3J0IGNvbnNvbGUgdGV4dCB1c2VyIGludGVyZmFjZSBbZGVmYXVsdD1ub10KKyMgIC0tZW5hYmxlLWNmZ2ZpbGVzICAgICAgIHN1cHBvcnQgY29uZmlnIGZpbGVzIFtkZWZhdWx0PXllc10KKyMgIC0tZW5hYmxlLWljb25zICAgICAgICAgIHN1cHBvcnQgY3VzdG9tIGljb25zIChkZXBlbmRzIG9uIGZidWkpIFtkZWZhdWx0PXllc10KKyMgIC0tZW5hYmxlLXphdXJ1cyAgICAgICAgIGNvbXBpbGUgU2hhcnAgWmF1cnVzIHNwZWNpZmljIGNvZGUgW2RlZmF1bHQ9bm9dCisjICAtLWVuYWJsZS16aW1hZ2UgICAgICAgICBjb21waWxlIHdpdGggekltYWdlIHN1cHBvcnQgW2RlZmF1bHQ9eWVzXQorIyAgLS1lbmFibGUtdWltYWdlICAgICAgICAgY29tcGlsZSB3aXRoIHVJbWFnZSBzdXBwb3J0IFtkZWZhdWx0PW5vXQorIyAgLS1lbmFibGUtbWFjaGluZS1rZXJuZWwgbG9vayBmb3IgbWFjaGluZS1zcGVjaWZpYyB6SW1hZ2Uga2VybmVsIFtkZWZhdWx0PW5vXQorIyAgLS1lbmFibGUtZGV2aWNlcy1yZWNyZWF0aW5nCisjICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUgZGV2aWNlcyByZS1jcmVhdGluZyBbZGVmYXVsdD15ZXNdCisjICAtLWVuYWJsZS1kZWJ1ZyAgICAgICAgICBlbmFibGUgZGVidWcgb3V0cHV0IFtkZWZhdWx0PW5vXQorIyAgLS1lbmFibGUtaG9zdC1kZWJ1ZyAgICAgYWxsb3cgZm9yIG5vbi1kZXN0cnVjdGl2ZSBleGVjdXRpbmcgb2Yga2V4ZWNib290IG9uCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3Qgc3lzdGVtIFtkZWZhdWx0PW5vXQorIyAgLS1lbmFibGUtbnVta2V5cyAgICAgICAgZW5hYmxlIG1lbnUgaXRlbSBzZWxlY3Rpb24gYnkga2V5cyBbMC05XSBbZGVmYXVsdD15ZXNdCisjICAtLWVuYWJsZS1iZy1idWZmZXIgICAgICBlbmFibGUgYnVmZmVyIGZvciBwcmUtZHJhd2VkIEZCIEdVSSBiYWNrZ3JvdW5kCisjCisjICAtLWVuYWJsZS10aW1lb3V0ICAgICAgICBhbGxvdyB0byBib290IDFzdCBrZXJuZWwgYWZ0ZXIgdGltZW91dCBpbiBzZWNvbmRzCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0PW5vXQorIyAgLS1lbmFibGUtZGVsYXkgICAgICAgICAgc3BlY2lmeSBkZWxheSBiZWZvcmUgZGV2aWNlIHNjYW5uaW5nLCBhbGxvd2luZworIyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBvZiBvbGQgQ0YvU0QgY2FyZHMgW2RlZmF1bHQ9MV0KKyMgIC0tZW5hYmxlLWJwcCAgICAgICAgICAgIGVuYWJsZSBzdXBwb3J0IG9mIHNwZWNpZmllZCBicHAgbW9kZXMKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFsbCwzMiwyNCwxOCwxNiw0LDIsMSkgW2RlZmF1bHQ9YWxsXQorIyAgLS1lbmFibGUtZXZkZXYtcmF0ZSAgICAgY2hhbmdlIGV2ZGV2IChrZXlib2FyZC9tb3VzZSkgcmVwZWF0IHJhdGUKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbWlsbGlzZWNvbmRzIGUuZy4gIjEwMDAsMjUwIiBbZGVmYXVsdD1ub10KKyMgIC0td2l0aC1rZXhlYy1iaW5hcnkgICAgIGxvb2sgZm9yIGtleGVjIGJpbmFyeSBhdCBwYXRoCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0PSIvdXNyL3NiaW4va2V4ZWMiXQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK1NVTU1BUlkgPSAia2V4ZWNib290IGxpbnV4LWFzLWJvb3Rsb2FkZXIiCitERVNDUklQVElPTiA9ICJrZXhlY2Jvb3QgaXMgYSBncmFwaGljYWwgbGludXgtYXMtYm9vdGxvYWRlciBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBrZXhlYy4iCitIT01FUEFHRSA9ICJodHRwOi8va2V4ZWNib290Lm9yZyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworUyA9ICIke1dPUktESVJ9L2tleGVjYm9vdC0ke1BWfSIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2tleGVjYm9vdC9rZXhlY2Jvb3QvYXJjaGl2ZS92JHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjQ2YjdjMWE2ZjIwNTMxYmU1NjQ0NWViYjg2NjlhMmI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZiMzYwYjhhYTU5YmM1ZDY4YTk2NzA1MzQ5YTBkZDQxNmY4ZWQ3MDRlOTMxZmEwYWM3ODQ5Mjk4MjU4ZjBmMTUiCisKK1NSQ19VUkkgKz0gIlwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWtleGVjYm9vdC1maXgtYnVpbGQtd2hlbi1TLUIucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDIta2V4ZWNib290LWZpeC1jb25maWd1cmUtd2FybmluZ3MucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDMta2V4ZWNib290LWRvLW5vdC1oYXJkY29kZS1NT1VOVFBPSU5ULnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDA0LWtleGVjYm9vdC5jLXdvcmthcm91bmQtZm9yLWFic29sdXRlLWtlcm5lbC1hbmQtaW5pdHIucGF0Y2ggXAorICAgICAgICAgICAgXAorICAgICAgICAgICAgZmlsZTovLzAwMDUtcmdiLmgtZml4LWJ1aWxkLXdpdGgtZ2NjNS5wYXRjaCBcCisgICAgICAgICAgICAiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS10ZXh0dWkgLS1lbmFibGUtZGVsYXk9MiAtLWVuYWJsZS1ldmRldi1yYXRlPTEwMDAsMjUwIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUga2V4ZWNib290ICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0vcHJvYworICAgIGluc3RhbGwgLWQgJHtEfS9tbnQKKyAgICBpbnN0YWxsIC1kICR7RH0vZGV2CisgICAgaW5zdGFsbCAtZCAke0R9L3N5cworfQorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitGSUxFU18ke1BOfSArPSAiICR7YmluZGlyfS9rZXhlY2Jvb3QgL2luaXQgL3Byb2MgL21udCAvZGV2IC9zeXMiCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgbG4gLXNmICR7YmluZGlyfS9rZXhlY2Jvb3QgJEQvaW5pdAorfQorCitCQkNMQVNTRVhURU5EID0gImtsaWJjIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2RyYWN1dC9kcmFjdXRfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2RyYWN1dC9kcmFjdXRfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NzgyNjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvZHJhY3V0L2RyYWN1dF9naXQuYmIKQEAgLTAsMCArMSw2MSBAQAorU1VNTUFSWSA9ICJJbml0cmFtZnMgZ2VuZXJhdG9yIHVzaW5nIHVkZXYiCitERVNDUklQVElPTiA9ICJEcmFjdXQgaXMgYW4gZXZlbnQgZHJpdmVuIGluaXRyYW1mcyBpbmZyYXN0cnVjdHVyZS4gZHJhY3V0ICh0aGUgdG9vbCkgaXMgdXNlZCB0byBjcmVhdGUgYW4gaW5pdHJhbWZzIGltYWdlIGJ5IGNvcHlpbmcgdG9vbHMgYW5kIGZpbGVzIGZyb20gYW4gaW5zdGFsbGVkIHN5c3RlbSBhbmQgY29tYmluaW5nIGl0IHdpdGggdGhlIGRyYWN1dCBmcmFtZXdvcmssIHVzdWFsbHkgZm91bmQgaW4gL3Vzci9saWIvZHJhY3V0L21vZHVsZXMuZC4iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworUEUgPSAiMSIKK1BWID0gIjA0NCtnaXQke1NSQ1JFVn0iCisKKyMgdjA0NCB0YWcKK1NSQ1JFViA9ICIxYmMzZTczM2Y5NjAzM2E1MDg4NDFlOTdmZTA4ZGE3YTEyODUxNzgyIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2Jvb3QvZHJhY3V0L2RyYWN1dC5naXQ7cHJvdG9jb2w9aHR0cCIKKworaW5oZXJpdCBiYXNoLWNvbXBsZXRpb24KKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDT05GID0gIi0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgICAgICAgICAgICAgLS1saWJkaXI9JHtwcmVmaXh9L2xpYiBcCisgICAgICAgICAgICAgICAgLS1kYXRhZGlyPSR7ZGF0YWRpcn0gXAorICAgICAgICAgICAgICAgIC0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9IFwKKyAgICAgICAgICAgICAgICAtLXNiaW5kaXI9JHtzYmluZGlyfSBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gXAorICAgICAgICAgICAgICAgIC0tYmluZGlyPSR7YmluZGlyfSBcCisgICAgICAgICAgICAgICAgLS1pbmNsdWRlZGlyPSR7aW5jbHVkZWRpcn0gXAorICAgICAgICAgICAgICAgIC0tbG9jYWxzdGF0ZWRpcj0ke2xvY2Fsc3RhdGVkaXJ9IFwKKyAgICAgICAgICAgICAgICIKKworIyBSREVQRU5EIG9uIHN5c3RlbWQgb3B0aW9uYWxseQorUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLCwsc3lzdGVtZCIKKworRVhUUkFfT0VNQUtFICs9ICdsaWJkaXI9JHtwcmVmaXh9L2xpYicKKworZG9fY29uZmlndXJlKCkgeworICAgIC4vY29uZmlndXJlICR7RVhUUkFfT0VDT05GfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KKyAgICAjIEl0cyBNYWtlZmlsZSB1c2VzIGNwIC1hcnggdG8gaW5zdGFsbCBtb2R1bGVzLmQsIHNvIGZpeCB0aGUgb3duZXIKKyAgICAjIHRvIHJvb3Q6cm9vdAorICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9LyR7cHJlZml4fS9saWIvZHJhY3V0L21vZHVsZXMuZAorfQorCitGSUxFU18ke1BOfSArPSAiJHtwcmVmaXh9L2xpYi9rZXJuZWwgXAorICAgICAgICAgICAgICAgICR7cHJlZml4fS9saWIvZHJhY3V0IFwKKyAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0gXAorICAgICAgICAgICAgICAgIgorRklMRVNfJHtQTn0tZGJnICs9ICIke3ByZWZpeH0vbGliL2RyYWN1dC8uZGVidWciCisKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9kcmFjdXQuY29uZiIKKworUkRFUEVORFNfJHtQTn0gPSAiZmluZHV0aWxzIGNwaW8gdXRpbC1saW51eC1ibGtpZCB1dGlsLWxpbnV4LWdldG9wdCB1dGlsLWxpbnV4IGJhc2ggbGRkIgorCisjIFRoaXMgY291bGQgYmUgb3B0aW1pemVkIGEgYml0LCBidXQgbGV0J3MgYXZvaWQgbm9uLWJvb3Rpbmcgc3lzdGVtcyA6KQorUlJFQ09NTUVORFNfJHtQTn0gPSAiIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGVzIFwKKyAgICAgICAgICAgICAgICAgICAgIGJ1c3lib3ggXAorICAgICAgICAgICAgICAgICAgICAgY29yZXV0aWxzIFwgCisgICAgICAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGNjLWNyb3NzXzIuMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsY2MtY3Jvc3NfMi4wLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY0YWZjZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGNjLWNyb3NzXzIuMC40LmJiCkBAIC0wLDAgKzEsNDAgQEAKK1NVTU1BUlkgPSAiVGhlIGtsY2MgY3Jvc3Njb21waWxlciBmb3Iga2xpYmMiCisKK3JlcXVpcmUga2xpYmMuaW5jCitERVBFTkRTID0gImtsaWJjIgorCitGSUxFU1BBVEggPS4gIiR7RklMRV9ESVJOQU1FfS9rbGliYy0ke1BWfToiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly91c2UtZW52LWZvci1wZXJsLnBhdGNoIgorCisjIGRpc2FibGUgdGFzayBhbHJlYWR5IHJ1biBpbiBrbGliYyByZWNpcGUKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSAnSU5TVEFMTERJUj0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2xpYmRpcn0va2xpYmMnIGtsY2MKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworICAgIGluc3RhbGwgLW0gMDc1NSBrbGNjL2tsY2MgJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vJHtUQVJHRVRfUFJFRklYfWtsY2MKKyAgICAjIEluc2VydCBhbiB1bmVuY29kZWQgcGF0aCBhcyBhIGNvbW1lbnQgdG8gdHJpZ2dlciB0aGUgc3N0YXRlIHJlbmFtaW5nIGZ1bmN0aW9ucworICAgIHNlZCAtaSAnMmkgIyR7U1RBR0lOR19ESVJfVEFSR0VUfScgJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vJHtUQVJHRVRfUFJFRklYfWtsY2MKK30KKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJrbGNjX3N5c3Jvb3RfcHJlcHJvY2VzcyIKKwora2xjY19zeXNyb290X3ByZXByb2Nlc3MgKCkgeworICAgICAgIHN5c3Jvb3Rfc3RhZ2VfZGlyICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9ICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30KK30KKworZGVsdGFzayBkb19wYWNrYWdlCitkZWx0YXNrIGRvX3BhY2thZ2VkYXRhCitkZWx0YXNrIGRvX3BhY2thZ2Vfd3JpdGVfaXBrCitkZWx0YXNrIGRvX3BhY2thZ2Vfd3JpdGVfcnBtCitkZWx0YXNrIGRvX3BhY2thZ2Vfd3JpdGVfZGViCitkZWx0YXNrIGRvX3BhY2thZ2Vfd3JpdGVfdGFyCisKK1NTVEFURV9TQ0FOX0ZJTEVTID0gIioiCitFWFRSQV9TVEFHSU5HX0ZJWE1FUyA9ICJNQU5HTEVEU1RBR0lOR0RJUlRBUkdFVCBNQU5HTEVEU1RBR0lOR0RJUiIKK01BTkdMRURTVEFHSU5HRElSID0gIiR7QGQuZ2V0VmFyKCJTVEFHSU5HX0RJUiIsIFRydWUpLnJlcGxhY2UoIi8iLCAiXFxcXC8iKS5yZXBsYWNlKCItIiwgIlxcXFwtIil9IgorTUFOR0xFRFNUQUdJTkdESVJUQVJHRVQgPSAiJHtAZC5nZXRWYXIoIlNUQUdJTkdfRElSX1RBUkdFVCIsIFRydWUpLnJlcGxhY2UoIi8iLCAiXFxcXC8iKS5yZXBsYWNlKCItIiwgIlxcXFwtIil9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2FybXY0LWZpeC12NGJ4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2FybXY0LWZpeC12NGJ4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiYjM4NGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvYXJtdjQtZml4LXY0YngucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorU3RhdHVzOiBub3QgYXBwbGljYWJsZSB1cHN0cmVhbSwgaW4gT0UvWW9jdG8gd2UgdXNlICQoRklYX1Y0QlgpCit3aGljaCBpcyAiIiBpbiBjYXNlIG9mIGFybXY1IG9yIHRodW1icy4KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorCistLS0gYS91c3Iva2xpYmMvYXJjaC9hcm0vTUNPTkZJRwkyMDEzLTAxLTA5IDAxOjEyOjAyLjAwMDAwMDAwMCArMDEwMAorKysrIGIvdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcJMjAxMy0wMS0wOCAyMzo0NTo1OS4wMDAwMDAwMDAgKzAxMDAKK0BAIC0yOSw2ICsyOSw3IEBACisgS0xJQkNTSEFSRURGTEFHUyA9IC1UdGV4dCAweDAxODAwMjAwCisgaWZlcSAoJChDT05GSUdfQUVBQkkpLHkpCisgS0xJQkNSRVFGTEFHUyArPSAtbWFiaT1hYXBjcy1saW51eCAtbW5vLXRodW1iLWludGVyd29yaworK0tMSUJDTERGTEFHUyArPSAkKEZJWF9BUk1WNF9FQUJJX0JYKQorIGVsc2UKKyBLTElCQ1JFUUZMQUdTICs9IC1tYWJpPWFwY3MtZ251IC1tbm8tdGh1bWItaW50ZXJ3b3JrCisgZW5kaWYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGNjLWNvbnNpZGVyLXN5c3Jvb3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xjYy1jb25zaWRlci1zeXNyb290LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliYzQ4MzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xjYy1jb25zaWRlci1zeXNyb290LnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKK2RpZmYgLS1naXQgYS9rbGNjL2tsY2MuaW4gYi9rbGNjL2tsY2MuaW4KK2luZGV4IDQzZDA5ODQuLjYxZTkzODUgMTAwNjQ0CistLS0gYS9rbGNjL2tsY2MuaW4KKysrKyBiL2tsY2Mva2xjYy5pbgorQEAgLTIwNCw2ICsyMDQsOSBAQCB3aGlsZSAoIGRlZmluZWQoJGEgPSBzaGlmdChAQVJHVikpICkgeworIAkjIExpYnJhcmllcworIAlwdXNoKEBsaWJzLCAkYSk7CisgCXB1c2goQGxpYnMsIHNoaWZ0KEBBUkdWKSkgaWYgKCAkMiBlcSAnJyApOworKyAgICB9IGVsc2lmICggJGEgPX4gL14tLShbc3lzcm9vdD1dKSguKikkLyApIHsKKysJIyBPdmVycmlkZSBnY2MgZW5jb2RlZCBzeXNyb290CisrCXB1c2goQGNjb3B0LCAkYSk7CisgICAgIH0gZWxzZSB7CisgCWRpZSAiJDA6IHVua25vd24gb3B0aW9uOiAkYVxuIjsKKyAgICAgfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2tsaWJjLWNvbmZpZy1lYWJpLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2tsaWJjLWNvbmZpZy1lYWJpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxNmM4MGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xpYmMtY29uZmlnLWVhYmkucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorUGF0Y2ggd2FzIGltcG9ydGVkIGZyb20gdGhlIE9wZW5FbWJlZGRlZCBnaXQgc2VydmVyCisoZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkKQorYXMgb2YgY29tbWl0IGlkIGI2NzY0Y2YzMmVjOTM1NDc1MzExMzBkY2EzNjRmYjk1ZTFjNDk1ZjQKK1NpZ25lZC1vZmYtYnk6IFRob21hcyBLdW56ZSA8dGhvbW15Y2hlY2tAZ214LmRlPgorCitkaWZmIC1OdXIga2xpYmMtMS41L2RlZmNvbmZpZyBrbGliYy0xLjVwL2RlZmNvbmZpZworLS0tIGtsaWJjLTEuNS9kZWZjb25maWcJMjAwNy0wMy0wNCAwMjo1MjoxMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBrbGliYy0xLjVwL2RlZmNvbmZpZwkyMDA4LTAyLTA4IDE5OjI0OjIyLjMzNzEyNzc1NiArMDEwMAorQEAgLTUsNCArNSw0IEBACisgQ09ORklHX1JFR1BBUk09eQorICMgQVJNIG9wdGlvbnMKKyAjIENPTkZJR19LTElCQ19USFVNQiBpcyBub3Qgc2V0CistIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAorK0NPTkZJR19BRUFCST15CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xpYmMtbGludXgtbGliYy1kZXYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xpYmMtbGludXgtbGliYy1kZXYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA0MzA2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1saW51eC1saWJjLWRldi5wYXRjaApAQCAtMCwwICsxLDIyIEBACitjb21taXQgNDNhZGY2OTA2MjI1NGZiNGY4ZDRkMTFmYjVmZTM2YTYwYWUyNWQ1YQorQXV0aG9yOiBCZW4gSHV0Y2hpbmdzIDxiZW5AZGVjYWRlbnQub3JnLnVrPgorRGF0ZTogICBTdW4gTWFyIDE0IDE4OjQxOjU2IDIwMTAgKzAwMDAKKworICAgIFRha2VuIGZyb20gZGViaWFuICJGaXgga2xpYmMgRGViaWFuIHNwZWNpZmljIGJ1aWxkIHRyb3VibGUiCisgICAgQWRhcHRlZCBmb3Iga2xpYmNfMi4wLjIKKworSW5kZXg6IGtsaWJjLTIuMH5yYzIvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGtsaWJjLTIuMH5yYzIub3JpZy9zY3JpcHRzL0tidWlsZC5pbnN0YWxsCTIwMTItMDItMTEgMTg6NTA6MjEuMDAwMDAwMDAwICswMDAwCisrKysga2xpYmMtMi4wfnJjMi9zY3JpcHRzL0tidWlsZC5pbnN0YWxsCTIwMTItMDItMTEgMTk6MDQ6NTIuMDAwMDAwMDAwICswMDAwCitAQCAtOTUsNyArOTUsOSBAQAorIAkkKFEpbWtkaXIgLXAgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUKKyAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylsaWIKKyAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUyliaW4KKy0JJChRKSQoTUFLRSkgLUMgJChLTElCQ0tFUk5FTFNSQykgQVJDSD0kKEtMSUJDQVJDSCkgSU5TVEFMTF9IRFJfUEFUSD0kKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpIGhlYWRlcnNfaW5zdGFsbAorKwkkKFEpZm9yIHggaW4gLi4vLi4vLi4vaW5jbHVkZS9hc20gLi4vLi4vLi4vaW5jbHVkZS9hc20tZ2VuZXJpYyAuLi8uLi8uLi9pbmNsdWRlL2xpbnV4IC4uLy4uLy4uL2luY2x1ZGUvbXRkOyBkbyBcCisrCQlsbiAtc2YgJCR7eH0gJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUvIHx8IGV4aXQ7IFwKKysJZG9uZQorIAkkKFEpY3AgLXJmIHVzci9pbmNsdWRlLy4gJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUvLgorIAkkKFEpY2htb2QgLVIgYStyWCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZQorIAkkKFEpJChpbnN0YWxsLWRhdGEpICQoc3JjdHJlZSkva2xjYy9rbGNjLjEgJChJTlNUQUxMUk9PVCkkKG1hbmRpcikvbWFuMS8kKEtDUk9TUylrbGNjLjEKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9zdGFnaW5nLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L3N0YWdpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzAxYzcxMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9zdGFnaW5nLnBhdGNoCkBAIC0wLDAgKzEsMTQ0IEBACitQYXRjaCB3YXMgaW1wb3J0ZWQgZnJvbSB0aGUgT3BlbkVtYmVkZGVkIGdpdCBzZXJ2ZXIKKyhnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQpCithcyBvZiBjb21taXQgaWQgZWVmYjk5YTMxM2JiY2M4ZjM0YzhiMzJiZjBjNWFhMmRkMjU4MDczNQorU2lnbmVkLW9mZi1ieTogVGhvbWFzIEt1bnplIDx0aG9tbXljaGVja0BnbXguZGU+CisKK01pbm9yIGVkaXRzIGZvbGxvd2luZyB1cHN0cmVhbSBjaGFuZ2VzCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CisKK0luZGV4OiBrbGliYy0xLjUuMjQvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAkyMDExLTA3LTI3IDE1OjUwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGIvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAkyMDExLTA4LTAxIDAwOjAzOjAzLjAwMDAwMDAwMCArMDIwMAorQEAgLTg4LDEzICs4OCwxMCBAQAorIGhlYWRlcjoKKyAJJChRKWVjaG8gIiAgSU5TVEFMTCBoZWFkZXJzICsgbWFuIHBhZ2VzIHRvICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKSIKKyAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChiaW5kaXIpCistCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQobWFuZGlyKS9tYW4xCistCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoU0hMSUJESVIpCisgCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikKKyAJJChRKS1ybSAtcmYgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUKKyAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlCisgCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpbGliCistCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpYmluCisgCSQoUSlmb3IgeCBpbiAuLi8uLi8uLi9pbmNsdWRlL2FzbSAuLi8uLi8uLi9pbmNsdWRlL2FzbS1nZW5lcmljIC4uLy4uLy4uL2luY2x1ZGUvbGludXggLi4vLi4vLi4vaW5jbHVkZS9tdGQ7IGRvIFwKKyAJCWxuIC1zZiAkJHt4fSAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZS8gfHwgZXhpdDsgXAorIAlkb25lCitAQCAtMTAzLDcgKzEwMCw2IEBACisgCWRvbmUKKyAJJChRKWNwIC1yZiB1c3IvaW5jbHVkZS8uICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlLy4KKyAJJChRKWNobW9kIC1SIGErclgsZ28tdyAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZQorLQkkKFEpJChpbnN0YWxsLWRhdGEpICQoc3JjdHJlZSkva2xjYy9rbGNjLjEgJChJTlNUQUxMUk9PVCkkKG1hbmRpcikvbWFuMS8kKEtDUk9TUylrbGNjLjEKKyAJJChRKSQoaW5zdGFsbC1iaW4pICQob2JqdHJlZSkva2xjYy8kKEtDUk9TUylrbGNjICQoSU5TVEFMTFJPT1QpJChiaW5kaXIpCisgCisgZm9vdGVyOiBoZWFkZXIKKworSW5kZXg6IGtsaWJjLTEuNS4yNC91c3IvZGFzaC9LYnVpbGQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3Vzci9kYXNoL0tidWlsZAkyMDExLTA3LTI3IDE1OjUwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGIvdXNyL2Rhc2gvS2J1aWxkCTIwMTEtMDgtMDEgMDA6MDc6NTYuMDAwMDAwMDAwICswMjAwCitAQCAtOTIsNSArOTIsMyBAQAorICQob2JqKS9zeW50YXguaDogJChvYmopL3N5bnRheC5jCisgCSQoUSk6CisgCistIyBUYXJnZXRzIHRvIGluc3RhbGwKKy1pbnN0YWxsLXkgOj0gc2guc2hhcmVkCisKK0luZGV4OiBrbGliYy0xLjUuMjQvdXNyL2d6aXAvS2J1aWxkCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYS91c3IvZ3ppcC9LYnVpbGQJMjAxMS0wNy0yNyAxNTo1MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3Vzci9nemlwL0tidWlsZAkyMDExLTA4LTAxIDAwOjA2OjM5LjAwMDAwMDAwMCArMDIwMAorQEAgLTIxLDUgKzIxLDMgQEAKKyAjIENsZWFuaW5nCisgdGFyZ2V0cyA6PSBnemlwIGd6aXAuZyBndW56aXAgemNhdAorIAorLSMgVGFyZ2V0cyB0byBpbnN0YWxsCistaW5zdGFsbC15IDo9IGd6aXAgZ3VuemlwIHpjYXQKKworSW5kZXg6IGtsaWJjLTEuNS4yNC91c3Iva2luaXQvZnN0eXBlL0tidWlsZAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvdXNyL2tpbml0L2ZzdHlwZS9LYnVpbGQJMjAxMS0wNy0yNyAxNTo1MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3Vzci9raW5pdC9mc3R5cGUvS2J1aWxkCTIwMTEtMDgtMDEgMDA6MDk6MTIuMDAwMDAwMDAwICswMjAwCitAQCAtMjEsNSArMjEsMyBAQAorICMgQ2xlYW5pbmcKKyBjbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKKyAKKy0jIGluc3RhbGwgYmluYXJ5CistaW5zdGFsbC15IDo9ICQoc2hhcmVkLXkpCisKK0luZGV4OiBrbGliYy0xLjUuMjQvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAkyMDExLTA3LTI3IDE1OjUwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGIvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAkyMDExLTA4LTAxIDAwOjEwOjUyLjAwMDAwMDAwMCArMDIwMAorQEAgLTI3LDUgKzI3LDMgQEAKKyAjIENsZWFuaW5nCisgY2xlYW4tZGlycyA6PSBzdGF0aWMgc2hhcmVkCisgCistIyBpbnN0YWxsIGJpbmFyeQorLWluc3RhbGwteSA6PSAkKHNoYXJlZC15KQorCitJbmRleDoga2xpYmMtMS41LjI0L3Vzci9raW5pdC9LYnVpbGQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3Vzci9raW5pdC9LYnVpbGQJMjAxMS0wNy0yNyAxNTo1MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3Vzci9raW5pdC9LYnVpbGQJMjAxMS0wOC0wMSAwMDoyMDoxOC4wMDAwMDAwMDAgKzAyMDAKK0BAIC0zMyw1ICszMywzIEBACisgc3ViZGlyLSA6PSBmc3R5cGUgaXBjb25maWcgbmZzbW91bnQgcmVzdW1lIHJ1bi1pbml0CisgCisgCistIyBpbnN0YWxsIGJpbmFyeQorLWluc3RhbGwteSA6PSBraW5pdCBraW5pdC5zaGFyZWQKKworSW5kZXg6IGtsaWJjLTEuNS4yNC91c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYS91c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkCTIwMTEtMDctMjcgMTU6NTA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgYi91c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkCTIwMTEtMDgtMDEgMDA6MTI6NTIuMDAwMDAwMDAwICswMjAwCitAQCAtMjMsNSArMjMsMyBAQAorIAorIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAorIAorLSMgSW5zdGFsbCBiaW5hcnkKKy1pbnN0YWxsLXkgOj0gJChzaGFyZWQteSkKKworSW5kZXg6IGtsaWJjLTEuNS4yNC91c3Iva2luaXQvcmVzdW1lL0tidWlsZAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvdXNyL2tpbml0L3Jlc3VtZS9LYnVpbGQJMjAxMS0wNy0yNyAxNTo1MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCTIwMTEtMDgtMDEgMDA6MTM6NTEuMDAwMDAwMDAwICswMjAwCitAQCAtMjYsNSArMjYsMyBAQAorICMgQ2xlYW5pbmcKKyBjbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKKyAKKy0jIGluc3RhbGwgYmluYXJ5CistaW5zdGFsbC15IDo9ICQoc2hhcmVkLXkpCisKK0luZGV4OiBrbGliYy0xLjUuMjQvdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZAkyMDExLTA3LTI3IDE1OjUwOjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGIvdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZAkyMDExLTA4LTAxIDAwOjE0OjQxLjAwMDAwMDAwMCArMDIwMAorQEAgLTI1LDUgKzI1LDMgQEAKKyAjIENsZWFuaW5nCisgY2xlYW4tZGlycyA6PSBzdGF0aWMgc2hhcmVkCisgCistIyBpbnN0YWxsIGJpbmFyeQorLWluc3RhbGwteSA6PSAkKHNoYXJlZC15KQorCitJbmRleDoga2xpYmMtMS41LjI0L3Vzci9rbGliYy9LYnVpbGQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3Vzci9rbGliYy9LYnVpbGQJMjAxMS0wNy0yNyAxNTo1MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3Vzci9rbGliYy9LYnVpbGQJMjAxMS0wOC0wMSAwMDoxODoxMS4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xNzcsNSArMTc3LDMgQEAKKyAJICAgICAgICAgICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtMSUJDQ1JPU1MpbGliKSkKKyAJJChRKSQoaW5zdGFsbC1saWIpICQob2JqKS9rbGliYy0kKFNPTElCSEFTSCkuc28gXAorIAkgICAgICAgICAgICAgICAgICAgICAgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0xJQkNDUk9TUylsaWIKKy0JJChRKSQoaW5zdGFsbC1saWIpICQob2JqKS9rbGliYy0kKFNPTElCSEFTSCkuc28gXAorLQkgICAgICAgICAgICAgICAgICAgICAgJChJTlNUQUxMUk9PVCkkKFNITElCRElSKQorCitJbmRleDoga2xpYmMtMS41LjI0L3Vzci91dGlscy9LYnVpbGQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3Vzci91dGlscy9LYnVpbGQJMjAxMS0wNy0yNyAxNTo1MDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL3Vzci91dGlscy9LYnVpbGQJMjAxMS0wOC0wMSAwMDoxOToxMy4wMDAwMDAwMDAgKzAyMDAKK0BAIC03Miw1ICs3MiwzIEBACisgIyBDbGVhbiBkZWxldGVzIHRoZSBzdGF0aWMgYW5kIHNoYXJlZCBkaXIKKyBjbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKKyAKKy0jIGluc3RhbGwgb25seSBpbnN0YWxsIHRoZSBzaGFyZWQgYmluYXJpZXMKKy1pbnN0YWxsLXkgOj0gJChzaGFyZWQteSkgc2hhcmVkL3JlYm9vdCBzaGFyZWQvcG93ZXJvZmYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC91c2UtZW52LWZvci1wZXJsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L3VzZS1lbnYtZm9yLXBlcmwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWFjMTI4YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC91c2UtZW52LWZvci1wZXJsLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK1BhdGNoIHdhcyBpbXBvcnRlZCBmcm9tIHRoZSBPcGVuRW1iZWRkZWQgZ2l0IHNlcnZlcgorKGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL29wZW5lbWJlZGRlZCkKK2FzIG9mIGNvbW1pdCBpZCA2NzZjYmI1NGQ0MmM4OWE0ODMyODcxMDY0Y2ZjYjdlZTJhZDM3MmVlCisKK2tsY2MtY3Jvc3M6IEFkZCBwYXRjaCB0byB1c2UgL3Vzci9iaW4vZW52IHBlcmwKK0NlcnRhaW4gY29uZmlndXJhdGlvbnMgKHN1Y2ggYXMgYXV0b2J1aWxkZXJzKSBtYXkgYnVpbGQgaW4gdmVyeQorZGVlcCBwYXRocyAodGhhdCBhcmUgbG9uZ2VyIHRoYW4gdGhlICMhIG1lY2hhbmlzbSBhbGxvd3MpIHdoaWNoCittYWtlcyBpdCB1bnNhZmUgdG8gdXNlIHRoZSBkaXJlY3QgcGF0aCBmb3IgcGVybC4gIEluIG91ciBjYXNlIHdlIGtub3cKK3RoYXQgL3Vzci9iaW4vZW52IHBlcmwgd2lsbCBhbHdheXMgcmV0dXJuIG91cnMgKGlmIGl0IGhhcyBiZWVuIGJ1aWx0KS4KKworU2lnbmVkLW9mZi1ieTogVG9tIFJpbmkgPHRvbV9yaW5pQG1lbnRvci5jb20+CisKK0luZGV4OiBrbGliYy0xLjUuMjAva2xjYy9tYWtla2xjYy5wbAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEva2xjYy9tYWtla2xjYy5wbAorKysrIGIva2xjYy9tYWtla2xjYy5wbAorQEAgLTI2LDcgKzI2LDcgQEAgc3ViIHBhdGhzZWFyY2goJCkgeworICAgICByZXR1cm4gdW5kZWY7CisgfQorIAorLXByaW50ICIjISR7cGVybHBhdGh9XG4iOworK3ByaW50ICIjIS91c3IvYmluL2VudiBwZXJsXG4iOworIAorIG9wZW4oS0xJQkNDT05GLCAiPCAka2xpYmNjb25mXDAiKQorICAgICBvciBkaWUgIiQwOiBjYW5ub3Qgb3BlbiAka2xpYmNjb25mOiAkIVxuIjsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy1zdGF0aWMtdXRpbHNfMi4wLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtc3RhdGljLXV0aWxzXzIuMC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4MzVmZDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtc3RhdGljLXV0aWxzXzIuMC40LmJiCkBAIC0wLDAgKzEsMTIgQEAKK1NVTU1BUlkgPSAia2xpYmMgdXRpbHMgZm9yIGluaXRyYW1mcyBzdGF0aWNhbGx5IGNvbXBpbGVkIgorCitGSUxFU1BBVEggPS4gIiR7RklMRV9ESVJOQU1FfS9rbGliYy0ke1BWfToiCisKK1BBQ0tBR0VTID0gIiR7UE59IgorRklMRVNfJHtQTn0gPSAiIgorCitLTElCQ19VVElMU19WQVJJQU5UID0gInN0YXRpYyIKK0tMSUJDX1VUSUxTX1BLR05BTUUgPSAia2xpYmMtc3RhdGljLXV0aWxzIgorCityZXF1aXJlIGtsaWJjLXV0aWxzLmluYworcmVxdWlyZSBrbGliYy5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy11dGlscy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtdXRpbHMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMTRmNTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtdXRpbHMuaW5jCkBAIC0wLDAgKzEsNjAgQEAKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2Vfc2JpbmRpcn0KKyAgICAjIGRlYmlhbiBwYWNrYWdlcyBraW5pdCArIGtpbml0LnNoYXJlZCBidXQgb25seSBzaC5zaGFyZWQKKyAgICBpZiBbICIke0tMSUJDX1VUSUxTX1ZBUklBTlR9IiA9ICJzaGFyZWQiIF07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2tpbml0L2tpbml0ICR7RH0ke2Jhc2VfYmluZGlyfS9raW5pdAorICAgICAgICBpbnN0YWxsIC1tIDc1NSB1c3Iva2luaXQva2luaXQuc2hhcmVkICR7RH0ke2Jhc2VfYmluZGlyfS9raW5pdC5zaGFyZWQKKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2Rhc2gvc2guc2hhcmVkICR7RH0ke2Jhc2VfYmluZGlyfS9zaC5zaGFyZWQKKyAgICBlbHNlCisgICAgICAgIGluc3RhbGwgLW0gNzU1IHVzci9kYXNoL3NoICR7RH0ke2Jhc2VfYmluZGlyfS9zaAorICAgICAgICBpbnN0YWxsIC1tIDc1NSB1c3Iva2luaXQva2luaXQgJHtEfSR7YmFzZV9iaW5kaXJ9L2tpbml0CisgICAgZmkKKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvZ3ppcC9nemlwICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci9raW5pdC9mc3R5cGUvJHtLTElCQ19VVElMU19WQVJJQU5UfS9mc3R5cGUgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2tpbml0L2lwY29uZmlnLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vaXBjb25maWcgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2tpbml0L25mc21vdW50LyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vbmZzbW91bnQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2tpbml0L3Jlc3VtZS8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L3Jlc3VtZSAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3Iva2luaXQvcnVuLWluaXQvJHtLTElCQ19VVElMU19WQVJJQU5UfS9ydW4taW5pdCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9jYXQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vY2hyb290ICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L2NwaW8gJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vZGQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vZG1lc2cgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vZmFsc2UgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vaGFsdCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9raWxsICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L2xuICR7RH0ke2Jhc2VfYmluZGlyfQorICAgICMgbG9zZXR1cCBnb2VzIGluICR7YmFzZV9zYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L2xvc2V0dXAgJHtEfSR7YmFzZV9zYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L2xzICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L21pbmlwcyAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9ta2RpciAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9ta2ZpZm8gJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vbWtub2QgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vbW91bnQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vbXYgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vbnVrZSAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9waXZvdF9yb290ICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L3Bvd2Vyb2ZmICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L3JlYWRsaW5rICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L3JlYm9vdCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9zbGVlcCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSB1c3IvdXRpbHMvJHtLTElCQ19VVElMU19WQVJJQU5UfS9zeW5jICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L3RydWUgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL3V0aWxzLyR7S0xJQkNfVVRJTFNfVkFSSUFOVH0vdW1vdW50ICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci91dGlscy8ke0tMSUJDX1VUSUxTX1ZBUklBTlR9L3VuYW1lICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGxuIC1zIGd6aXAgJHtEfSR7YmFzZV9iaW5kaXJ9L2d1bnppcAorICAgIGxuIC1zIGd6aXAgJHtEfSR7YmFzZV9iaW5kaXJ9L3pjYXQKK30KKworRVhUUkFfS0xJQkNfREVQUyA9ICIke0BiYXNlX2NvbmRpdGlvbmFsKCdLTElCQ19VVElMU19WQVJJQU5UJywgJ3NoYXJlZCcsICcke1RISVNfTElCS0xJQkN9JywgJycsIGQpfSIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7S0xJQkNfVVRJTFNfUEtHTkFNRX0tLioiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBiYXNlX2Jpbl9kaXIgPSBkLmV4cGFuZCgnJHtiYXNlX2JpbmRpcn0nKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhc2VfYmluX2RpciwgJyguKiknLCAnJHtLTElCQ19VVElMU19QS0dOQU1FfS0lcycsICdLbGliYyB1dGlsIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JyR7RVhUUkFfS0xJQkNfREVQU30nLCBhbGxvd19saW5rcz1UcnVlLCBhbGxvd19kaXJzPVRydWUpCisgICAgYmFzZV9zYmluX2RpciA9IGQuZXhwYW5kKCcke2Jhc2Vfc2JpbmRpcn0nKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhc2Vfc2Jpbl9kaXIsICcoLiopJywgJyR7S0xJQkNfVVRJTFNfUEtHTkFNRX0tJXMnLCAnS2xpYmMgdXRpbCBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScke0VYVFJBX0tMSUJDX0RFUFN9JywgYWxsb3dfZGlycz1UcnVlKQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzXzIuMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzXzIuMC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2ZTcxY2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtdXRpbHNfMi4wLjQuYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJrbGliYyB1dGlscyBmb3IgaW5pdHJhbWZzIgorCitGSUxFU1BBVEggPS4gIiR7RklMRV9ESVJOQU1FfS9rbGliYy0ke1BWfToiCisKK1BBQ0tBR0VTID0gIiR7UE59IgorRklMRVNfJHtQTn0gPSAiIgorCitLTElCQ19VVElMU19WQVJJQU5UID0gInNoYXJlZCIKK0tMSUJDX1VUSUxTX1BLR05BTUUgPSAia2xpYmMtdXRpbHMiCisKK3JlcXVpcmUga2xpYmMtdXRpbHMuaW5jCityZXF1aXJlIGtsaWJjLmluYworCitERVBFTkRTID0gImtsaWJjIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjVlZTg2OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy5pbmMKQEAgLTAsMCArMSw1MSBAQAorREVTQ1JJUFRJT04gPSAia2xpYmMgaXMgaW50ZW5kZWQgdG8gYmUgYSBtaW5pbWFsaXN0aWMgbGliYyBzdWJzZXQgZm9yIFwKK3VzZSB3aXRoIGluaXRyYW1mcy4gIEl0IGlzIGRlbGliZXJhdGVseSB3cml0dGVuIGZvciBzbWFsbCBzaXplLCBcCittaW5pbWFsIGVudGFnbGVtZW50LCBhbmQgcG9ydGFiaWxpdHksIG5vdCBzcGVlZC4iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSAmIEdQTC0yLjAgJiBNSVQgJiBabGliIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdXNyL2tsaWJjL0xJQ0VOU0U7bWQ1PWQ3NTE4MWYxMGU5OThjMjFlYjE0N2Y2ZDJlNDNjZThiIgorREVQRU5EUyA9ICJsaW51eC1saWJjLWhlYWRlcnMgcGVybC1uYXRpdmUiCitTUkNSRVYgPSAiNGQxOTk3NGQ3MDIwNDg4ZjYzNjUxMjQ0ZTFmOWY1MTcyN2MzZjY2YyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpYnMva2xpYmMva2xpYmMuZ2l0IgorU1JDX1VSSV9hcHBlbmRfbGludXgtZ251ZWFiaSA9ICIgZmlsZTovL2tsaWJjLWNvbmZpZy1lYWJpLnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9hcm12NC1maXgtdjRieC5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9saW51eC11Y2xpYmNlYWJpID0gIiBmaWxlOi8va2xpYmMtY29uZmlnLWVhYmkucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2FybXY0LWZpeC12NGJ4LnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKK1NSQ19VUkkgKz0gImZpbGU6Ly9rbGliYy1saW51eC1saWJjLWRldi5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vc3RhZ2luZy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8va2xjYy1jb25zaWRlci1zeXNyb290LnBhdGNoIFwKKyAgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VNQUtFID0gIidLTElCQ0FSQ0g9JHtLTElCQ19BUkNIfScgXAorICAgICAgICAgICAgICAgICdDUk9TU19DT01QSUxFPSR7VEFSR0VUX1BSRUZJWH0nIFwKKyAgICAgICAgICAgICAgICAnS0xJQkNLRVJORUxTUkM9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtleGVjX3ByZWZpeH0nIFwKKyAgICAgICAgICAgICAgICAnS0xJQkNMSUJHQ0M9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtsaWJkaXJ9LyR7VEFSR0VUX1NZU30vKi9saWJnY2MuYScgXAorICAgICAgICAgICAgICAgICdwcmVmaXg9JHtleGVjX3ByZWZpeH0nIFwKKyAgICAgICAgICAgICAgICAnSU5TVEFMTFJPT1Q9JHtEfScgXAorICAgICAgICAgICAgICAgICdTSExJQkRJUj0ke2xpYmRpcn0nIFwKKyAgICAgICAgICAgICAgICAiCisKK2V4cG9ydCBGSVhfQVJNVjRfRUFCSV9CWCA9ICIke0ZJWF9WNEJYfSIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICBsbiAtc2YgIiR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IiBsaW51eAorfQorCitJTkhJQklUX1BBQ0tBR0VfU1RSSVAgPSAiMSIKK0lOSElCSVRfUEFDS0FHRV9ERUJVR19TUExJVCA9ICIxIgorSU5TQU5FX1NLSVBfJHtQTn0gPSAiYWxyZWFkeS1zdHJpcHBlZCIKK0lOU0FORV9TS0lQX2xpYmtsaWJjLWRldiA9ICJkZXYtZWxmIgorS0xJQkNfQVJDSCA9ICIke1RBUkdFVF9BUkNIfSIKK0tMSUJDX0FSQ0hfYWFyY2g2NCA9ICJhcm02NCIKK0tMSUJDX0FSQ0hfYXJtZWIgPSAiYXJtIgorS0xJQkNfQVJDSF9taXBzZWwgPSAibWlwcyIKK0tMSUJDX0FSQ0hfeDg2ID0gImkzODYiCitLTElCQ19BUkNIX3g4Ni02NCA9ICJ4ODZfNjQiCitLTElCQ19BUkNIX3Bvd2VycGMgPSAicHBjIgorS0xJQkNfQVJDSF9wb3dlcnBjNjQgPSAicHBjNjQiCitUSElTX0xJQktMSUJDID0gImxpYmtsaWJjICg9ICR7UFZ9LSR7UFJ9KSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliY18yLjAuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliY18yLjAuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzgwZjM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjXzIuMC40LmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAia2xpYmMsIGEgc21hbGwgQyBsaWJyYXJ5IGZvciB1c2Ugd2l0aCBpbml0cmFtZnMiCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsCisgICAgIyB0aGUgY3Jvc3Njb21waWxlciBpcyBwYWNrYWdlZCBieSBrbGNjLWNyb3NzCisgICAgIyByZW1vdmUga2xjYworICAgIHJtICR7RH0ke2JpbmRpcn0va2xjYworICAgICMgcmVtb3ZlIG5vdyBlbXB0eSBkaXIKKyAgICBybWRpciAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2tsaWJjL2tsaWJjLSouc28gJHtEfSR7bGliZGlyfQorICAgIChjZCAgJHtEfSR7bGliZGlyfTsgbG4gLXMga2xpYmMtKi5zbyBrbGliYy5zbykKK30KKworUEFDS0FHRVMgPSAibGlia2xpYmMgbGlia2xpYmMtc3RhdGljZGV2IGxpYmtsaWJjLWRldiIKKworRklMRVNfbGlia2xpYmMgPSAiJHtsaWJkaXJ9L2tsaWJjLSouc28iCitGSUxFU19saWJrbGliYy1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2tsaWJjL2xpYi9saWJjLmEiCitGSUxFU19saWJrbGliYy1kZXYgPSAiJHtsaWJkaXJ9L2tsaWJjLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0va2xpYmMvbGliLyogXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9rbGliYy9pbmNsdWRlLyogXAorICAgICAgICAgICAgICAgICAgICAgICIKKworcmVxdWlyZSBrbGliYy5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9tdGQvdWJpLXV0aWxzLWtsaWJjLzAwMDEtTWFrZWZpbGUtb25seS1idWlsZC11YmktdXRpbHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDAxLU1ha2VmaWxlLW9ubHktYnVpbGQtdWJpLXV0aWxzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkNWU0ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDAxLU1ha2VmaWxlLW9ubHktYnVpbGQtdWJpLXV0aWxzLnBhdGNoCkBAIC0wLDAgKzEsODcgQEAKK0Zyb20gYzRlNmJkOTM3ODY0NWQ1NzdlOWQ5Zjg1ZGE4NWYxNDM4YWZlN2M1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjkgSnVuIDIwMTQgMDA6MzI6MjkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzZdIE1ha2VmaWxlOiBidWlsZCB1YmktdXRpbHMgb25seQorCitXZSBidWlsZCBhbGwgdGhlIHN0YXRpYyB1YmktdXRpbHMgYnV0IGFjdHVhbGx5IG9ubHkgdWJpYXR0YWNoIGlzIG5lZWRlZCBpbgorYSBtaW5pbWFsaXN0aWMgaW5pdHJhbWZzIGZvciB0aGUgbW91bnQgb2YgdWJpIHZvbHVtZXMuCisKK01vcmUgZml4ZXMgYXJlIG5lZWRlZCBpbiBvcmRlciB0byBidWlsZCB0aGUgZnVsbCBtdGQtdXRpbHMuCitUaGUgZmlyc3QgaXNzdWUgaXM6CisKK3wgbWtmcy5qZmZzMi5jOjY0OjIwOiBmYXRhbCBlcnJvcjogbGliZ2VuLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK3wgICNpbmNsdWRlIDxsaWJnZW4uaD4KKworUmVtb3ZpbmcgdGhlIGluY2x1ZGUgdGhlbiB0aGUgc2Vjb25kIGVycm9yIGlzOgorCit8IG1rZnMuamZmczIuYzoxNTcwOjIyOiBlcnJvcjogJ19TQ19QQUdFU0laRScgdW5kZWNsYXJlZAorfCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCit8ICAgcGFnZV9zaXplID0gc3lzY29uZihfU0NfUEFHRVNJWkUpOworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZSB8IDI0ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggZWFkZTIzNC4uMjI3NTg2NSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTE2LDI4ICsxNiwxMyBAQCBlbmRpZgorIAorIFRFU1RTID0gdGVzdHMKKyAKKy1NVERfQklOUyA9IFwKKy0JZnRsX2Zvcm1hdCBmbGFzaF9lcmFzZSBuYW5kZHVtcCBkb2NfbG9hZGJpb3MgXAorLQlmdGxfY2hlY2sgbWtmcy5qZmZzMiBmbGFzaF9sb2NrIGZsYXNoX3VubG9jayBcCistCWZsYXNoX290cF9pbmZvIGZsYXNoX290cF9kdW1wIGZsYXNoX290cF9sb2NrIGZsYXNoX290cF93cml0ZSBcCistCW10ZF9kZWJ1ZyBmbGFzaGNwIG5hbmR3cml0ZSBuYW5kdGVzdCBcCistCWpmZnMyZHVtcCBcCistCW5mdGxkdW1wIG5mdGxfZm9ybWF0IGRvY2ZkaXNrIFwKKy0JcmZkZHVtcCByZmRmb3JtYXQgXAorLQlzZXJ2ZV9pbWFnZSByZWN2X2ltYWdlIFwKKy0Jc3VtdG9vbCBqZmZzMnJlYWRlcgorIFVCSV9CSU5TID0gXAorIAl1Yml1cGRhdGV2b2wgdWJpbWt2b2wgdWJpcm12b2wgdWJpY3JjMzIgdWJpbmZvIHViaWF0dGFjaCBcCisgCXViaWRldGFjaCB1YmluaXplIHViaWZvcm1hdCB1YmlyZW5hbWUgbXRkaW5mbyB1Ymlyc3ZvbCB1YmlibG9jaworIAorLUJJTlMgPSAkKE1URF9CSU5TKQorLUJJTlMgKz0gbWtmcy51Ymlmcy9ta2ZzLnViaWZzCistQklOUyArPSAkKGFkZHByZWZpeCB1YmktdXRpbHMvLCQoVUJJX0JJTlMpKQorLVNDUklQVFMgPSBmbGFzaF9lcmFzZWFsbAorK0JJTlMgPSAkKGFkZHByZWZpeCB1YmktdXRpbHMvLCQoVUJJX0JJTlMpKQorIAorIFRBUkdFVFMgPSAkKEJJTlMpCistVEFSR0VUUyArPSBsaWIvbGlibXRkLmEKKy1UQVJHRVRTICs9IHViaS11dGlscy9saWJ1YmkuYQorIAorIE9CSkRFUFMgPSAkKEJVSUxERElSKS9pbmNsdWRlL3ZlcnNpb24uaAorIAorQEAgLTYxLDEyICs0Niw5IEBAIGVuZGlmCisgCXJtIC1mICQoQlVJTERESVIpL2luY2x1ZGUvdmVyc2lvbi5oCisgCSQoTUFLRSkgLUMgJChURVNUUykgY2xlYW4KKyAKKy1pbnN0YWxsOjogJChhZGRwcmVmaXggJChCVUlMRERJUikvLCR7QklOU30pICR7U0NSSVBUU30KKytpbnN0YWxsOjogJChhZGRwcmVmaXggJChCVUlMRERJUikvLCR7QklOU30pCisgCW1rZGlyIC1wICR7REVTVERJUn0vJHtTQklORElSfQorIAlpbnN0YWxsIC1tIDA3NTUgJF4gJHtERVNURElSfS8ke1NCSU5ESVJ9LworLQlta2RpciAtcCAke0RFU1RESVJ9LyR7TUFORElSfS9tYW4xCistCWluc3RhbGwgLW0gMDY0NCBta2ZzLmpmZnMyLjEgJHtERVNURElSfS8ke01BTkRJUn0vbWFuMS8KKy0JLWd6aXAgLTlmICR7REVTVERJUn0vJHtNQU5ESVJ9L21hbjEvKi4xCisgCisgdGVzdHM6OgorIAkkKE1BS0UpIC1DICQoVEVTVFMpCitAQCAtOTEsOCArNzMsNiBAQCBMRExJQlNfbWtmcy5qZmZzMiAgPSAtbHogJChMWk9MRExJQlMpCisgTERGTEFHU19qZmZzMnJlYWRlciA9ICQoWkxJQkxERkxBR1MpICQoTFpPTERGTEFHUykKKyBMRExJQlNfamZmczJyZWFkZXIgID0gLWx6ICQoTFpPTERMSUJTKQorIAorLSQoZm9yZWFjaCB2LCQoTVREX0JJTlMpLCQoZXZhbCAkKGNhbGwgbWtkZXAsLCQodikpKSkKKy0KKyAjCisgIyBDb21tb24gbGlibXRkCisgIworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDAyLWNvbW1vbi5tay1mb3Ita2xpYmMtQ0MtaXMta2xjYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9tdGQvdWJpLXV0aWxzLWtsaWJjLzAwMDItY29tbW9uLm1rLWZvci1rbGliYy1DQy1pcy1rbGNjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NjgyNGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDAyLWNvbW1vbi5tay1mb3Ita2xpYmMtQ0MtaXMta2xjYy5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIGYzNjA5YzdjMDQ1MGI0YzMxZTFkNDYwM2ZjZjJjZmIxYmE0NmY5OTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDI5IEp1biAyMDE0IDAwOjM3OjI4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi82XSBjb21tb24ubWs6IGZvciBrbGliYyAkKENDKSBpcyBrbGNjCisKK0RvIG5vdCBoYXJkY29kZTogYXNzaWduIHRoZSB2YWx1ZSB0byB0aGUgdmFyaWFibGUgaWYgaXQgaXMgbm90IGFscmVhZHkgZGVmaW5lZC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KKy0tLQorIGNvbW1vbi5tayB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbW1vbi5tayBiL2NvbW1vbi5taworaW5kZXggYmE4NzM3Ny4uNTljNTZkZiAxMDA2NDQKKy0tLSBhL2NvbW1vbi5taworKysrIGIvY29tbW9uLm1rCitAQCAtMSw0ICsxLDQgQEAKKy1DQyA6PSAkKENST1NTKWdjYworK0NDID89ICQoQ1JPU1MpZ2NjCisgQVIgOj0gJChDUk9TUylhcgorIFJBTkxJQiA6PSAkKENST1NTKXJhbmxpYgorIAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDAzLWxpYnViaS5jLWFkZC1rbGliYy1zcGVjaWZpYy1maXhlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9tdGQvdWJpLXV0aWxzLWtsaWJjLzAwMDMtbGlidWJpLmMtYWRkLWtsaWJjLXNwZWNpZmljLWZpeGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2MmIzNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDAzLWxpYnViaS5jLWFkZC1rbGliYy1zcGVjaWZpYy1maXhlcy5wYXRjaApAQCAtMCwwICsxLDc2IEBACitGcm9tIDcyYTM5YmIzMjkwYTc5ZTc2YjBkYmY1OWVlZjgzZWEyZDliNTc3YTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDI5IEp1biAyMDE0IDAwOjQwOjE1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMy82XSBsaWJ1YmkuYzogYWRkIGtsaWJjIHNwZWNpZmljIGZpeGVzIGZvciBpb2N0bAorCitGaXJzdCBpc3N1ZSBpcyB0aGF0IGlvY3RsKCkgaW4ga2xpYmMgZG9lc24ndCBleHBlY3QgYSBjb25zdGFudCBhcyBhcmczLgorU2Vjb25kIGlzc3VlIGlzIHRoYXQgYXJnMyBpbiBrbGliYyBpb2N0bCgpIGltcGxlbWVudGF0aW9uIGlzIG5vdCBvcHRpb25hbC4KKworRml4ZXM6CisKK3wgdWJpLXV0aWxzL2xpYnViaS5jOiBJbiBmdW5jdGlvbiAnZG9fYXR0YWNoJzoKK3wgdWJpLXV0aWxzL2xpYnViaS5jOjY5ODo4OiB3YXJuaW5nOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2YgJ2lvY3RsJyBkaXNjYXJkcworfCAnY29uc3QnIHF1YWxpZmllciBmcm9tIHBvaW50ZXIgdGFyZ2V0IHR5cGUKK3wgICByZXQgPSBpb2N0bChmZCwgVUJJX0lPQ0FUVCwgcik7Cit8ICAgICAgICAgXgorfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gdWJpLXV0aWxzL2xpYnViaS5jOjMyOjA6Cit8IC4uLi9saWIva2xpYmMvaW5jbHVkZS9zeXMvaW9jdGwuaDoxNToxNDogbm90ZTogZXhwZWN0ZWQgJ3ZvaWQgKicgYnV0IGFyZ3VtZW50Cit8IGlzIG9mIHR5cGUgJ2NvbnN0IHN0cnVjdCB1YmlfYXR0YWNoX3JlcSAqJworfCAgX19leHRlcm4gaW50IGlvY3RsKGludCwgaW50LCB2b2lkICopOworfCAgICAgICAgICAgICAgIF4KKworfCB1YmktdXRpbHMvbGlidWJpLmM6IEluIGZ1bmN0aW9uICd1Ymlfdm9sX2Jsb2NrX2NyZWF0ZSc6Cit8IHViaS11dGlscy9saWJ1YmkuYzoxMTE4Ojk6IGVycm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiAnaW9jdGwnCit8ICAgcmV0dXJuIGlvY3RsKGZkLCBVQklfSU9DVk9MQ1JCTEspOworfCAgICAgICAgICBeCit8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSB1YmktdXRpbHMvbGlidWJpLmM6MzI6MDoKK3wgLi4uL2xpYi9rbGliYy9pbmNsdWRlL3N5cy9pb2N0bC5oOjE1OjE0OiBub3RlOiBkZWNsYXJlZCBoZXJlCit8ICBfX2V4dGVybiBpbnQgaW9jdGwoaW50LCBpbnQsIHZvaWQgKik7Cit8ICAgICAgICAgICAgICAgXgorfCB1YmktdXRpbHMvbGlidWJpLmM6IEluIGZ1bmN0aW9uICd1Ymlfdm9sX2Jsb2NrX3JlbW92ZSc6Cit8IHViaS11dGlscy9saWJ1YmkuYzoxMTIzOjk6IGVycm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiAnaW9jdGwnCit8ICAgcmV0dXJuIGlvY3RsKGZkLCBVQklfSU9DVk9MUk1CTEspOworfCAgICAgICAgICBeCit8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSB1YmktdXRpbHMvbGlidWJpLmM6MzI6MDoKK3wgLi4uL3Vzci9saWIva2xpYmMvaW5jbHVkZS9zeXMvaW9jdGwuaDoxNToxNDogbm90ZTogZGVjbGFyZWQgaGVyZQorfCAgX19leHRlcm4gaW50IGlvY3RsKGludCwgaW50LCB2b2lkICopOworfCAgICAgICAgICAgICAgIF4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtrbGliYyBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorLS0tCisgdWJpLXV0aWxzL2xpYnViaS5jIHwgNiArKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdWJpLXV0aWxzL2xpYnViaS5jIGIvdWJpLXV0aWxzL2xpYnViaS5jCitpbmRleCAxZTA4YjdkLi40OTFlNTI1IDEwMDY0NAorLS0tIGEvdWJpLXV0aWxzL2xpYnViaS5jCisrKysgYi91YmktdXRpbHMvbGlidWJpLmMKK0BAIC02ODcsNyArNjg3LDcgQEAgdm9pZCBsaWJ1YmlfY2xvc2UobGlidWJpX3QgZGVzYykKKyAgKiBzdWNjZXNzIGFuZCAlLTEgaW4gY2FzZSBvZiBmYWlsdXJlLiBAci0+dWJpX251bSBjb250YWlucyBuZXdseSBjcmVhdGVkIFVCSQorICAqIGRldmljZSBudW1iZXIuCisgICovCistc3RhdGljIGludCBkb19hdHRhY2goY29uc3QgY2hhciAqbm9kZSwgY29uc3Qgc3RydWN0IHViaV9hdHRhY2hfcmVxICpyKQorK3N0YXRpYyBpbnQgZG9fYXR0YWNoKGNvbnN0IGNoYXIgKm5vZGUsIHN0cnVjdCB1YmlfYXR0YWNoX3JlcSAqcikKKyB7CisgCWludCBmZCwgcmV0OworIAorQEAgLTExMTUsMTIgKzExMTUsMTIgQEAgaW50IHViaV9yc3ZvbChsaWJ1YmlfdCBkZXNjLCBjb25zdCBjaGFyICpub2RlLCBpbnQgdm9sX2lkLCBsb25nIGxvbmcgYnl0ZXMpCisgCisgaW50IHViaV92b2xfYmxvY2tfY3JlYXRlKGludCBmZCkKKyB7CistCXJldHVybiBpb2N0bChmZCwgVUJJX0lPQ1ZPTENSQkxLKTsKKysJcmV0dXJuIGlvY3RsKGZkLCBVQklfSU9DVk9MQ1JCTEssIE5VTEwpOworIH0KKyAKKyBpbnQgdWJpX3ZvbF9ibG9ja19yZW1vdmUoaW50IGZkKQorIHsKKy0JcmV0dXJuIGlvY3RsKGZkLCBVQklfSU9DVk9MUk1CTEspOworKwlyZXR1cm4gaW9jdGwoZmQsIFVCSV9JT0NWT0xSTUJMSywgTlVMTCk7CisgfQorIAorIGludCB1YmlfdXBkYXRlX3N0YXJ0KGxpYnViaV90IGRlc2MsIGludCBmZCwgbG9uZyBsb25nIGJ5dGVzKQorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDA0LWNvbW1vbi5oLWtsaWJjLWZpeGVzLTEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDA0LWNvbW1vbi5oLWtsaWJjLWZpeGVzLTEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVlMWNiYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9tdGQvdWJpLXV0aWxzLWtsaWJjLzAwMDQtY29tbW9uLmgta2xpYmMtZml4ZXMtMS5wYXRjaApAQCAtMCwwICsxLDg0IEBACitGcm9tIGU1Njc2N2I5Y2FhMDJlN2M0MTgwMzQ5OWM3N2RjOTM5ZDVhN2Y2NGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUaG9yc3RlbiBHbGFzZXIgPHRnQG1pcmJzZC5vcmc+CitEYXRlOiBGcmksIDIwIEp1biAyMDE0IDEwOjU2OjI3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggNC82XSBSZXN0b3JlIGNvbXBhdGliaWxpdHkgdG8gZGlldGxpYmMsIGtsaWJjLCBtdXNsIGxpYmMgYWZ0ZXIgY29tbWl0IDRmMWIxMDgKKworRWFjaCBDIGxpYnJhcnkgaGFzIHRoZWlyIG93biB3YXkgdG8gZGVmaW5lIG9mZl90LCBhbmQgdGhlIDxmZWF0dXJlcy5oPgoraGVhZGVyIGlzIG5vbnN0YW5kYXJkIGFuZCBzcGVjaWZpYyB0byB0aGUgR05VIGxpYmMgYW5kIHRob3NlIHRoYXQgY2xvbmUKK2l0ICh1Q2xpYmMpLiBGZWZl4oCZcyBkaWV0bGliYyB1c2VzIGRpZmZlcmVudCBmbGFncywgYW5kIGtsaWJjIGFsd2F5cyB1c2VzCithIDY0LWJpdCBvZmZfdCAobGlrZSB0aGUgQlNEcyk7IG11c2wgbGliYyBjYW5ub3QgYmUgcmVjb2duaXNlZCB1c2luZyBjcHAKK2luc3RydWN0aW9ucywgc28gd2UgYXNzdW1lIDY0IGJpdCB0aGVyZSAoYW5kIG9uIHVua25vd24gQyBsaWJyYXJpZXMpIGFuZAorbGVhdmUgaXQgdG8gdGhlIHVzZXIgdG8gc3VibWl0IGEgZm9sbG93LXVwIGZpeCBpZiB3ZSBndWVzcyB3cm9uZy4gSSBhbHNvCithZGRlZCBhIHN0YXRpYyBhc3NlcnRpb24gdG8gdmVyaWZ5IHRoZSA2NCBiaXQgZ3Vlc3MgaXMgY29ycmVjdC4KKworSXQgd291bGQgYmUgcmVhbGx5IGJldHRlciB1c2luZyBhIGNvbmZpZ3VyZSBzY3JpcHQgZm9yIHRoaXMgaW5zdGVhZC4KKworRml4ZXM6Cit8ICAgQ0MgICAgICBsaWIvbGlibXRkLm8KK3wgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHViaS11dGlscy91Yml1dGlscy1jb21tb24uYzozNTowOgorfCAuL2luY2x1ZGUvY29tbW9uLmg6Mjk6MjI6IGZhdGFsIGVycm9yOiBmZWF0dXJlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cit8ICAjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KK3wgICAgICAgICAgICAgICAgICAgICAgIF4KK3wgY29tcGlsYXRpb24gdGVybWluYXRlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFRob3JzdGVuIEdsYXNlciA8dGdAbWlyYnNkLm9yZz4KK1NpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KKy0tLQorIGluY2x1ZGUvY29tbW9uLmggfCAyNCArKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jb21tb24uaCBiL2luY2x1ZGUvY29tbW9uLmgKK2luZGV4IDY4OTVlNWMuLjc3ZjNmN2QgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2NvbW1vbi5oCisrKysgYi9pbmNsdWRlL2NvbW1vbi5oCitAQCAtMjYsNyArMjYsOSBAQAorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKysjaWYgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19VQ0xJQkNfXykKKyAjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyAjaW5jbHVkZSAidmVyc2lvbi5oIgorIAorQEAgLTUyLDYgKzU0LDIxIEBAIGV4dGVybiAiQyIgeworICNlbmRpZgorIAorIC8qIGRlZmluZSBhIHByaW50IGZvcm1hdCBzcGVjaWZpZXIgZm9yIG9mZl90ICovCisrI2lmIGRlZmluZWQoX19LTElCQ19fKQorKy8qIGFsd2F5cyA2NCBiaXQgb24ga2xpYmMgKi8KKysjZGVmaW5lIFBSSXhvZmZfdCBQUkl4NjQKKysjZGVmaW5lIFBSSWRvZmZfdCBQUklkNjQKKysjZWxpZiBkZWZpbmVkKF9fZGlldGxpYmNfXykKKysvKiBkZXBlbmRzIG9uIGNvbXBpbGVyIGZsYWdzIG9uIGRpZXRsaWJjICovCisrI2lmIGRlZmluZWQoX0ZJTEVfT0ZGU0VUX0JJVFMpICYmIChfRklMRV9PRkZTRVRfQklUUyA9PSA2NCkKKysjZGVmaW5lIFBSSXhvZmZfdCBQUkl4NjQKKysjZGVmaW5lIFBSSWRvZmZfdCBQUklkNjQKKysjZWxzZQorKyNkZWZpbmUgUFJJeG9mZl90ICJsIlBSSXgzMgorKyNkZWZpbmUgUFJJZG9mZl90ICJsIlBSSWQzMgorKyNlbmRpZgorKyNlbGlmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fVUNMSUJDX18pCisrLyogZGVwZW5kcyBvbiBjb21waWxlciBmbGFncyBvbiBnbGliYyBhbmQgdUNsaWJjICovCisgI2lmZGVmIF9fVVNFX0ZJTEVfT0ZGU0VUNjQKKyAjZGVmaW5lIFBSSXhvZmZfdCBQUkl4NjQKKyAjZGVmaW5lIFBSSWRvZmZfdCBQUklkNjQKK0BAIC01OSw2ICs3NiwxMyBAQCBleHRlcm4gIkMiIHsKKyAjZGVmaW5lIFBSSXhvZmZfdCAibCJQUkl4MzIKKyAjZGVmaW5lIFBSSWRvZmZfdCAibCJQUklkMzIKKyAjZW5kaWYKKysjZWxzZQorKy8qIHVua25vd24gbGliYyBvciBtdXNsICovCisrI2RlZmluZSBQUkl4b2ZmX3QgUFJJeDY0CisrI2RlZmluZSBQUklkb2ZmX3QgUFJJZDY0CisrLyogdmVyaWZ5IG91ciBndWVzcyBvZiA2NCBiaXQgaXMgY29ycmVjdCAqLworK3N0YXRpYyBjaGFyIF9fUFJJeG9mZl90X3N0YXRpY19hc3NlcnRbc2l6ZW9mKG9mZl90KSA9PSA4ID8gMSA6IC0xXTsKKysjZW5kaWYKKyAKKyAvKiBWZXJib3NlIG1lc3NhZ2VzICovCisgI2RlZmluZSBiYXJldmVyYm9zZSh2ZXJib3NlLCBmbXQsIC4uLikgZG8geyAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL210ZC91YmktdXRpbHMta2xpYmMvMDAwNS1jb21tb24uaC1rbGliYy1maXhlcy0yLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL210ZC91YmktdXRpbHMta2xpYmMvMDAwNS1jb21tb24uaC1rbGliYy1maXhlcy0yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlNDNkNWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDA1LWNvbW1vbi5oLWtsaWJjLWZpeGVzLTIucGF0Y2gKQEAgLTAsMCArMSw2MSBAQAorRnJvbSA4MzE4ODUyZWY0Zjc2OGJlZDMxMDcyYWE3YjU3ZTExYWRjMWY2MzljIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorRGF0ZTogU3VuLCAyOSBKdW4gMjAxNCAwMDo0NDowMyArMDIwMAorU3ViamVjdDogW1BBVENIIDUvNl0gY29tbW9uLmg6IG1vcmUgd29ya2Fyb3VuZHMgZm9yIGtsaWJjIGNvbXBhdGliaWxpdHkKKworUGF0Y2ggaXMgYWRkcmVzc2luZyB0d28gaXNzdWVzOgorKiBGaXJzdCwgIEtsaWJjIGRvZXNuJ3QgaGF2ZSBycG1hdGNoKCkuCisqIFNlY29uZCwgS2xpYmMgbGFja3MgZ2V0bGluZSgpCisKK0ZpeGVzOgorfCAgIExEICAgICAgdWJpLXV0aWxzL3ViaWZvcm1hdAorfCAuLi4vZ2l0L3ViaS11dGlscy91Ymlmb3JtYXQubzogSW4gZnVuY3Rpb24gYHByb21wdCc6Cit8IC4uLi9naXQvLi9pbmNsdWRlL2NvbW1vbi5oOjE1NzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ2V0bGluZScKK3wgLi4uL2dpdC8uL2luY2x1ZGUvY29tbW9uLmg6MTY0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBycG1hdGNoJworfCAuLi4vZ2l0Ly4vaW5jbHVkZS9jb21tb24uaDoxNTc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdldGxpbmUnCit8IC4uLi9naXQvLi9pbmNsdWRlL2NvbW1vbi5oOjE2NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcnBtYXRjaCcKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KKy0tLQorIGluY2x1ZGUvY29tbW9uLmggfCAxMCArKysrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29tbW9uLmggYi9pbmNsdWRlL2NvbW1vbi5oCitpbmRleCA3N2YzZjdkLi4yY2JlZTBmIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9jb21tb24uaAorKysrIGIvaW5jbHVkZS9jb21tb24uaAorQEAgLTEyNiw3ICsxMjYsNyBAQCBzdGF0aWMgY2hhciBfX1BSSXhvZmZfdF9zdGF0aWNfYXNzZXJ0W3NpemVvZihvZmZfdCkgPT0gOCA/IDEgOiAtMV07CisgCWZwcmludGYoc3RkZXJyLCAiJXM6IHdhcm5pbmchOiAiIGZtdCAiXG4iLCBQUk9HUkFNX05BTUUsICMjX19WQV9BUkdTX18pOyBcCisgfSB3aGlsZSgwKQorIAorLSNpZiBkZWZpbmVkKF9fVUNMSUJDX18pCisrI2lmIGRlZmluZWQoX19VQ0xJQkNfXykgfHwgZGVmaW5lZChfX0tMSUJDX18pCisgLyogdUNsaWJjIHZlcnNpb25zIGJlZm9yZSAwLjkuMzQgZG9uJ3QgaGF2ZSBycG1hdGNoKCkgKi8KKyAjaWYgX19VQ0xJQkNfTUFKT1JfXyA9PSAwICYmIFwKKyAJCShfX1VDTElCQ19NSU5PUl9fIDwgOSB8fCBcCitAQCAtMTQ2LDE1ICsxNDYsMTcgQEAgc3RhdGljIGlubGluZSBpbnQgX19ycG1hdGNoKGNvbnN0IGNoYXIgKnJlc3ApCisgICovCisgc3RhdGljIGlubGluZSBib29sIHByb21wdChjb25zdCBjaGFyICptc2csIGJvb2wgZGVmKQorIHsKKy0JY2hhciAqbGluZSA9IE5VTEw7CistCXNpemVfdCBsZW47CisrCWNoYXIgKmxpbmU7CisgCWJvb2wgcmV0ID0gZGVmOworIAorKwljb25zdCBpbnQgc2l6ZW9mX2xpbmUgPSAyOworKwlsaW5lID0gbWFsbG9jKHNpemVvZl9saW5lKTsKKysKKyAJZG8geworIAkJbm9ybXNnX2NvbnQoIiVzICglYy8lYykgIiwgbXNnLCBkZWYgPyAnWScgOiAneScsIGRlZiA/ICduJyA6ICdOJyk7CisgCQlmZmx1c2goc3Rkb3V0KTsKKyAKKy0JCXdoaWxlIChnZXRsaW5lKCZsaW5lLCAmbGVuLCBzdGRpbikgPT0gLTEpIHsKKysJCXdoaWxlIChmZ2V0cyhsaW5lLCBzaXplb2ZfbGluZSwgc3RkaW4pID09IE5VTEwpIHsKKyAJCQlwcmludGYoImZhaWxlZCB0byByZWFkIHByb21wdDsgYXNzdW1pbmcgJyVzJ1xuIiwKKyAJCQkJZGVmID8gInllcyIgOiAibm8iKTsKKyAJCQlicmVhazsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL210ZC91YmktdXRpbHMta2xpYmMvMDAwNi1saWJpbmlwYXJzZXItcmVtb3ZlLXVudXNlZC1mdW5jdGlvbi1uZWVkaW5nLWZsb2F0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL210ZC91YmktdXRpbHMta2xpYmMvMDAwNi1saWJpbmlwYXJzZXItcmVtb3ZlLXVudXNlZC1mdW5jdGlvbi1uZWVkaW5nLWZsb2F0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0M2E4OWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliYy8wMDA2LWxpYmluaXBhcnNlci1yZW1vdmUtdW51c2VkLWZ1bmN0aW9uLW5lZWRpbmctZmxvYXQucGF0Y2gKQEAgLTAsMCArMSw4NSBAQAorRnJvbSA3MmEwNGE5YjllZDMzYzg4OWQyZTJiODZmMzA2YzViZTlmNmNkZTM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorRGF0ZTogU3VuLCAyOSBKdW4gMjAxNCAwMDo0NDo1NyArMDIwMAorU3ViamVjdDogW1BBVENIIDYvNl0gbGliaW5pcGFyc2VyOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9uIG5lZWRpbmcgZmxvYXQKKworRml4ZXM6Cit8ICAgTEQgICAgICB1YmktdXRpbHMvdWJpZm9ybWF0Cit8IC4uLi9naXQvdWJpLXV0aWxzL2xpYmluaXBhcnNlci5hKGxpYmluaXBhcnNlci5vKTogSW4gZnVuY3Rpb24KK3wgYCAgTEQgICAgICB1YmktdXRpbHMvdWJpcmVuYW1lCit8IGluaXBhcnNlcl9nZXRkb3VibGUnOgorfCAuLi4vZ2l0L3ViaS11dGlscy9saWJpbmlwYXJzZXIuYzozMzY6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGF0b2YnCisKK0dyZXAgZG9lc24ndCByZXZlYWwgYW55IG9jY3VycmVuY2Ugb2YgaW5pcGFyc2VyX2dldGRvdWJsZSgpLCB1c2luZyBhdG9mKCkgc28KK3JlbW92ZSBpdDogZmxvYXRpbmctcG9pbnQgaXMgbm90IHN1cHBvcnRlZCBpbiBrbGliYworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorLS0tCisgdWJpLXV0aWxzL2luY2x1ZGUvbGliaW5pcGFyc2VyLmggfCAxNSAtLS0tLS0tLS0tLS0tLS0KKyB1YmktdXRpbHMvbGliaW5pcGFyc2VyLmMgICAgICAgICB8IDIyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDM3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdWJpLXV0aWxzL2luY2x1ZGUvbGliaW5pcGFyc2VyLmggYi91YmktdXRpbHMvaW5jbHVkZS9saWJpbmlwYXJzZXIuaAoraW5kZXggYmUzYzY2Ny4uYWJkNzdhYSAxMDA2NDQKKy0tLSBhL3ViaS11dGlscy9pbmNsdWRlL2xpYmluaXBhcnNlci5oCisrKysgYi91YmktdXRpbHMvaW5jbHVkZS9saWJpbmlwYXJzZXIuaAorQEAgLTE1OCwyMSArMTU4LDYgQEAgaW50IGluaXBhcnNlcl9nZXRpbnQoZGljdGlvbmFyeSAqIGQsIGNvbnN0IGNoYXIgKiBrZXksIGludCBub3Rmb3VuZCk7CisgCisgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyAvKioKKy0gIEBicmllZiAgICBHZXQgdGhlIHN0cmluZyBhc3NvY2lhdGVkIHRvIGEga2V5LCBjb252ZXJ0IHRvIGEgZG91YmxlCistICBAcGFyYW0gICAgZCBEaWN0aW9uYXJ5IHRvIHNlYXJjaAorLSAgQHBhcmFtICAgIGtleSBLZXkgc3RyaW5nIHRvIGxvb2sgZm9yCistICBAcGFyYW0gICAgbm90Zm91bmQgVmFsdWUgdG8gcmV0dXJuIGluIGNhc2Ugb2YgZXJyb3IKKy0gIEByZXR1cm4gICBkb3VibGUKKy0KKy0gIFRoaXMgZnVuY3Rpb24gcXVlcmllcyBhIGRpY3Rpb25hcnkgZm9yIGEga2V5LiBBIGtleSBhcyByZWFkIGZyb20gYW4KKy0gIGluaSBmaWxlIGlzIGdpdmVuIGFzICJzZWN0aW9uOmtleSIuIElmIHRoZSBrZXkgY2Fubm90IGJlIGZvdW5kLAorLSAgdGhlIG5vdGZvdW5kIHZhbHVlIGlzIHJldHVybmVkLgorLSAqLworLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLWRvdWJsZSBpbmlwYXJzZXJfZ2V0ZG91YmxlKGRpY3Rpb25hcnkgKiBkLCBjaGFyICoga2V5LCBkb3VibGUgbm90Zm91bmQpOworLQorLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCistLyoqCisgICBAYnJpZWYgICAgR2V0IHRoZSBzdHJpbmcgYXNzb2NpYXRlZCB0byBhIGtleSwgY29udmVydCB0byBhIGJvb2xlYW4KKyAgIEBwYXJhbSAgICBkIERpY3Rpb25hcnkgdG8gc2VhcmNoCisgICBAcGFyYW0gICAga2V5IEtleSBzdHJpbmcgdG8gbG9vayBmb3IKK2RpZmYgLS1naXQgYS91YmktdXRpbHMvbGliaW5pcGFyc2VyLmMgYi91YmktdXRpbHMvbGliaW5pcGFyc2VyLmMKK2luZGV4IDg5OGY1N2YuLmJhNzBjMDggMTAwNjQ0CistLS0gYS91YmktdXRpbHMvbGliaW5pcGFyc2VyLmMKKysrKyBiL3ViaS11dGlscy9saWJpbmlwYXJzZXIuYworQEAgLTMxNiwyOCArMzE2LDYgQEAgaW50IGluaXBhcnNlcl9nZXRpbnQoZGljdGlvbmFyeSAqIGQsIGNvbnN0IGNoYXIgKiBrZXksIGludCBub3Rmb3VuZCkKKyAKKyAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworIC8qKgorLSAgQGJyaWVmICAgIEdldCB0aGUgc3RyaW5nIGFzc29jaWF0ZWQgdG8gYSBrZXksIGNvbnZlcnQgdG8gYSBkb3VibGUKKy0gIEBwYXJhbSAgICBkIERpY3Rpb25hcnkgdG8gc2VhcmNoCistICBAcGFyYW0gICAga2V5IEtleSBzdHJpbmcgdG8gbG9vayBmb3IKKy0gIEBwYXJhbSAgICBub3Rmb3VuZCBWYWx1ZSB0byByZXR1cm4gaW4gY2FzZSBvZiBlcnJvcgorLSAgQHJldHVybiAgIGRvdWJsZQorLQorLSAgVGhpcyBmdW5jdGlvbiBxdWVyaWVzIGEgZGljdGlvbmFyeSBmb3IgYSBrZXkuIEEga2V5IGFzIHJlYWQgZnJvbSBhbgorLSAgaW5pIGZpbGUgaXMgZ2l2ZW4gYXMgInNlY3Rpb246a2V5Ii4gSWYgdGhlIGtleSBjYW5ub3QgYmUgZm91bmQsCistICB0aGUgbm90Zm91bmQgdmFsdWUgaXMgcmV0dXJuZWQuCistICovCistLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCistZG91YmxlIGluaXBhcnNlcl9nZXRkb3VibGUoZGljdGlvbmFyeSAqIGQsIGNoYXIgKiBrZXksIGRvdWJsZSBub3Rmb3VuZCkKKy17CistICAgIGNoYXIgICAgKiAgIHN0ciA7CistCistICAgIHN0ciA9IGluaXBhcnNlcl9nZXRzdHJpbmcoZCwga2V5LCBJTklfSU5WQUxJRF9LRVkpOworLSAgICBpZiAoc3RyPT1JTklfSU5WQUxJRF9LRVkpIHJldHVybiBub3Rmb3VuZCA7CistICAgIHJldHVybiBhdG9mKHN0cik7CistfQorLQorLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCistLyoqCisgICBAYnJpZWYgICAgR2V0IHRoZSBzdHJpbmcgYXNzb2NpYXRlZCB0byBhIGtleSwgY29udmVydCB0byBhIGJvb2xlYW4KKyAgIEBwYXJhbSAgICBkIERpY3Rpb25hcnkgdG8gc2VhcmNoCisgICBAcGFyYW0gICAga2V5IEtleSBzdHJpbmcgdG8gbG9vayBmb3IKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL210ZC91YmktdXRpbHMta2xpYmNfMS41LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMvbXRkL3ViaS11dGlscy1rbGliY18xLjUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2ExY2E3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL210ZC91YmktdXRpbHMta2xpYmNfMS41LjEuYmIKQEAgLTAsMCArMSw1MCBAQAorU1VNTUFSWSA9ICJVQkkgdXRpbHMgc3RhdGljYWxseSBjb21waWxlZCBhZ2FpbnN0IGtsaWJjIgorREVTQ1JJUFRJT04gPSAiU21hbGwgc2l6ZWQgdG9vbHMgZnJvbSBtdGQtdXRpbHMgZm9yIHVzZSB3aXRoIGluaXRyYW1mcy4iCitTRUNUSU9OID0gImJhc2UiCitERVBFTkRTID0gInpsaWIgbHpvIGUyZnNwcm9ncyB1dGlsLWxpbnV4IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saW51eC1tdGQuaW5mcmFkZWFkLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luY2x1ZGUvY29tbW9uLmg7YmVnaW5saW5lPTE7ZW5kbGluZT0xNzttZDU9YmEwNWIwNzkxMmE0NGVhMmJmODFjZTQwOTM4MDA0OWMiCisKK2luaGVyaXQga2xpYmMKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuaW5mcmFkZWFkLm9yZy9tdGQtdXRpbHMuZ2l0O3RhZz1iNzQ1NWQ4NDdhYjRmOWVlZWI2YTcyOWVmYzMwNmJmZGE3YmRkYzk5IFwKKyAgICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS1vbmx5LWJ1aWxkLXViaS11dGlscy5wYXRjaCBcCisgICAgICAgICAgICAgZmlsZTovLzAwMDItY29tbW9uLm1rLWZvci1rbGliYy1DQy1pcy1rbGNjLnBhdGNoIFwKKyAgICAgICAgICAgICBmaWxlOi8vMDAwMy1saWJ1YmkuYy1hZGQta2xpYmMtc3BlY2lmaWMtZml4ZXMucGF0Y2ggXAorICAgICAgICAgICAgIGZpbGU6Ly8wMDA0LWNvbW1vbi5oLWtsaWJjLWZpeGVzLTEucGF0Y2ggXAorICAgICAgICAgICAgIGZpbGU6Ly8wMDA1LWNvbW1vbi5oLWtsaWJjLWZpeGVzLTIucGF0Y2ggXAorICAgICAgICAgICAgIGZpbGU6Ly8wMDA2LWxpYmluaXBhcnNlci1yZW1vdmUtdW51c2VkLWZ1bmN0aW9uLW5lZWRpbmctZmxvYXQucGF0Y2ggXAorICAgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdC8iCisKK0VYVFJBX09FTUFLRSA9ICInQ0M9JHtDQ30nICdSQU5MSUI9JHtSQU5MSUJ9JyAnQVI9JHtBUn0nICdDRkxBR1M9JHtDRkxBR1N9IC1JJHtTfWluY2x1ZGUgLURXSVRIT1VUX1hBVFRSJyAnQlVJTERESVI9JHtTfSciCisKK2RvX2luc3RhbGwgKCkgeworCisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIG9lX3J1bm1ha2UgREVTVERJUj0iJHtEfSIgaW5zdGFsbAorCit9CisKK1BBQ0tBR0VTID0gInViaS11dGlscy1rbGliYy1kYmciCisKK1BBQ0tBR0VTID0rICJtdGRpbmZvLWtsaWJjIHViaWF0dGFjaC1rbGliYyB1YmlibG9jay1rbGliYyB1YmljcmMzMi1rbGliYyB1YmlkZXRhY2gta2xpYmMgXAorICAgICAgICAgICAgIHViaWZvcm1hdC1rbGliYyB1Ymlta3ZvbC1rbGliYyB1YmluZm8ta2xpYmMgdWJpbml6ZS1rbGliYyB1YmlyZW5hbWUta2xpYmMgXAorICAgICAgICAgICAgIHViaXJtdm9sLWtsaWJjIHViaXJzdm9sLWtsaWJjIHViaXVwZGF0ZXZvbC1rbGliYyIKKworRklMRVNfbXRkaW5mby1rbGliYyA9ICIke3NiaW5kaXJ9L210ZGluZm8iCitGSUxFU191YmlhdHRhY2gta2xpYmMgPSAiJHtzYmluZGlyfS91YmlhdHRhY2giCitGSUxFU191YmlibG9jay1rbGliYyA9ICIke3NiaW5kaXJ9L3ViaWJsb2NrIgorRklMRVNfdWJpY3JjMzIta2xpYmMgPSAiJHtzYmluZGlyfS91YmljcmMzMiIKK0ZJTEVTX3ViaWRldGFjaC1rbGliYyA9ICIke3NiaW5kaXJ9L3ViaWRldGFjaCIKK0ZJTEVTX3ViaWZvcm1hdC1rbGliYyA9ICIke3NiaW5kaXJ9L3ViaWZvcm1hdCIKK0ZJTEVTX3ViaW1rdm9sLWtsaWJjID0gIiR7c2JpbmRpcn0vdWJpbWt2b2wiCitGSUxFU191YmluZm8ta2xpYmMgPSAiJHtzYmluZGlyfS91YmluZm8iCitGSUxFU191YmluaXplLWtsaWJjID0gIiR7c2JpbmRpcn0vdWJpbml6ZSIKK0ZJTEVTX3ViaXJlbmFtZS1rbGliYyA9ICIke3NiaW5kaXJ9L3ViaXJlbmFtZSIKK0ZJTEVTX3ViaXJtdm9sLWtsaWJjID0gIiR7c2JpbmRpcn0vdWJpcm12b2wiCitGSUxFU191Ymlyc3ZvbC1rbGliYyA9ICIke3NiaW5kaXJ9L3ViaXJzdm9sIgorRklMRVNfdWJpdXBkYXRldm9sLWtsaWJjID0gIiR7c2JpbmRpcn0vdWJpdXBkYXRldm9sIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9hcm1fY3Jhc2hkdW1wLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9hcm1fY3Jhc2hkdW1wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmZjYxZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL2FybV9jcmFzaGR1bXAucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorLS0tIGEva2V4ZWMvYXJjaC9hcm0vY3Jhc2hkdW1wLWFybS5jCisrKysgYi9rZXhlYy9hcmNoL2FybS9jcmFzaGR1bXAtYXJtLmMKK0BAIC0yMCw3ICsyMCw3IEBACisgICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAgKi8KKy0jaW5jbHVkZSA8ZWxmLmg+CisrI2luY2x1ZGUgIi4uLy4uLy4uL2luY2x1ZGUvZWxmLmgiCisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL2NmbGFnc19zdGF0aWMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL2NmbGFnc19zdGF0aWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUxMDBhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvY2ZsYWdzX3N0YXRpYy5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC00Niw3ICs0Niw3IEBACisgIyB3aGVyZSBuZWNlc3NhcnkuCisgQ1BQRkxBR1MJPSBAQ1BQRkxBR1NAIC1JJChzcmNkaXIpL2luY2x1ZGUgLUkkKHNyY2RpcikvdXRpbF9saWIvaW5jbHVkZSBcCisJCQktSWluY2x1ZGUvCistQ0ZMQUdTCQk9IEBDRkxBR1NAIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMKKytDRkxBR1MJCT0gQENGTEFHU0AgLXN0YXRpYyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2FsbCAtV3N0cmljdC1wcm90b3R5cGVzCisgUFVSR0FUT1JZX0VYVFJBX0NGTEFHUyA9IEBQVVJHQVRPUllfRVhUUkFfQ0ZMQUdTQAorIEFTRkxBR1MJCT0gQEFTRkxBR1NACisgTERGTEFHUwkJPSBATERGTEFHU0AKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvZml4LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9maXgtb3V0LW9mLXRyZWUtYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NiYjI0ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvZml4LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsNTQgQEAKK0Zyb20gMzc3Mzc1Mjc3MjVlNDY1ODMzYmU2NDkxMDFjNGE2ZjgzNTJjNWQ1ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFR5bGVyIEhhbGwgPHR5bGVyd2hhbGxAZ21haWwuY29tPgorRGF0ZTogVHVlLCA3IEZlYiAyMDEyIDE4OjUwOjA1IC0wNTAwCitTdWJqZWN0OiBGaXggb3V0LW9mLXRyZWUgYnVpbGQKKworVXNlIGF1dG9tYXRpYyB2YXJpYWJsZXMgZm9yIHByZXJlcXVpc2l0ZXMgd2hlbiBjb3B5aW5nIG1hbiBwYWdlcyBhbmQKK2luY2x1ZGUgYSBtYWtlZmlsZSByZWxhdGl2ZSB0byAkKHNyY2RpcikuCisKK0JhY2twb3J0ZWQgdG8gMi4wLjIta2xpYmMKKworU2lnbmVkLW9mZi1ieTogVHlsZXIgSGFsbCA8dHlsZXJ3aGFsbEBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQHZlcmdlLm5ldC5hdT4KKworZGlmZiAtLWdpdCBhL2tkdW1wL01ha2VmaWxlIGIva2R1bXAvTWFrZWZpbGUKK2luZGV4IDFlMmI3MmMuLjVkZmE5MjggMTAwNjQ0CistLS0gYS9rZHVtcC9NYWtlZmlsZQorKysrIGIva2R1bXAvTWFrZWZpbGUKK0BAIC0yMiw3ICsyMiw3IEBAICQoS0RVTVApOiAkKEtEVU1QX09CSlMpCisgCisgJChLRFVNUF9NQU5QQUdFKToga2R1bXAva2R1bXAuOAorIAkkKE1LRElSKSAtcCAgICAgJChNQU5ESVIpL21hbjgKKy0JY3Aga2R1bXAva2R1bXAuOCAkKEtEVU1QX01BTlBBR0UpCisrCWNwICReICQoS0RVTVBfTUFOUEFHRSkKKyBlY2hvOjoKKyAJQGVjaG8gIktEVU1QX1NSQ1MgJChLRFVNUF9TUkNTKSIKKyAJQGVjaG8gIktEVU1QX0RFUFMgJChLRFVNUF9ERVBTKSIKK2RpZmYgLS1naXQgYS9rZXhlYy9NYWtlZmlsZSBiL2tleGVjL01ha2VmaWxlCitpbmRleCAyMTM3Y2FiLi44YzgxNWI1IDEwMDY0NAorLS0tIGEva2V4ZWMvTWFrZWZpbGUKKysrKyBiL2tleGVjL01ha2VmaWxlCitAQCAtODIsNyArODIsNyBAQCAkKEtFWEVDKTogQ1BQRkxBR1MrPS1JJChzcmNkaXIpL2tleGVjL2FyY2gvJChBUkNIKS9pbmNsdWRlCisgCisgJChLRVhFQ19NQU5QQUdFKToga2V4ZWMva2V4ZWMuOAorIAlAJChNS0RJUikgLXAgICAgICQoTUFORElSKS9tYW44CistCWNwIGtleGVjL2tleGVjLjggJChLRVhFQ19NQU5QQUdFKQorKwljcCAkXiAkKEtFWEVDX01BTlBBR0UpCisgZWNobzo6CisgCUBlY2hvICJLRVhFQ19TUkNTICQoS0VYRUNfU1JDUykiCisgCUBlY2hvICJLRVhFQ19ERVBTICQoS0VYRUNfREVQUykiCitkaWZmIC0tZ2l0IGEva2V4ZWMvYXJjaC9wcGMvTWFrZWZpbGUgYi9rZXhlYy9hcmNoL3BwYy9NYWtlZmlsZQoraW5kZXggM2RiYTdjZi4uNDEyNDJhNSAxMDA2NDQKKy0tLSBhL2tleGVjL2FyY2gvcHBjL01ha2VmaWxlCisrKysgYi9rZXhlYy9hcmNoL3BwYy9NYWtlZmlsZQorQEAgLTEsNyArMSw3IEBACisgIworICMga2V4ZWMgcHBjIChsaW51eCBib290aW5nIGxpbnV4KQorICMKKy1pbmNsdWRlIGtleGVjL2FyY2gvcHBjL2xpYmZkdC9NYWtlZmlsZS5saWJmZHQKKytpbmNsdWRlICQoc3JjZGlyKS9rZXhlYy9hcmNoL3BwYy9saWJmZHQvTWFrZWZpbGUubGliZmR0CisgCisgcHBjX0tFWEVDX1NSQ1MgPSAga2V4ZWMvYXJjaC9wcGMva2V4ZWMtcHBjLmMKKyBwcGNfS0VYRUNfU1JDUyArPSBrZXhlYy9hcmNoL3BwYy9rZXhlYy1lbGYtcHBjLmMKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL2lmZG93bl9lcnJuby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvaWZkb3duX2Vycm5vLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmOGNkZGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL2lmZG93bl9lcnJuby5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gYS9rZXhlYy9pZmRvd24uYworKysrIGIva2V4ZWMvaWZkb3duLmMKK0BAIC0xNCw3ICsxNCw3IEBACisgI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisgI2luY2x1ZGUgPHN5cy90aW1lLmg+CistI2luY2x1ZGUgPHN5cy9lcnJuby5oPgorKyNpbmNsdWRlIDxlcnJuby5oPgorIAorICNpbmNsdWRlIDxuZXQvaWYuaD4KKyAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9rZXhlYy1lbGYtcmVsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9rZXhlYy1lbGYtcmVsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NjZhZmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL2tleGVjLWVsZi1yZWwucGF0Y2gKQEAgLTAsMCArMSw2MSBAQAorLS0tIGEva2V4ZWMva2V4ZWMtZWxmLXJlbC5jCisrKysgYi9rZXhlYy9rZXhlYy1lbGYtcmVsLmMKK0BAIC00LDcgKzQsNyBAQAorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKy0jaW5jbHVkZSAiZWxmLmgiCisrI2luY2x1ZGUgIi4uL2luY2x1ZGUvZWxmLmgiCisgI2luY2x1ZGUgPGJvb3QvZWxmX2Jvb3QuaD4KKyAjaW5jbHVkZSAia2V4ZWMuaCIKKyAjaW5jbHVkZSAia2V4ZWMtZWxmLmgiCisKKy0tLSBhL2tleGVjL2FyY2gvYXJtL2tleGVjLWVsZi1yZWwtYXJtLmMKKysrKyBiL2tleGVjL2FyY2gvYXJtL2tleGVjLWVsZi1yZWwtYXJtLmMKK0BAIC0xLDUgKzEsNSBAQAorICNpbmNsdWRlIDxzdGRpby5oPgorLSNpbmNsdWRlIDxlbGYuaD4KKysjaW5jbHVkZSAiLi4vLi4vLi4vaW5jbHVkZS9lbGYuaCIKKyAjaW5jbHVkZSAiLi4vLi4va2V4ZWMuaCIKKyAjaW5jbHVkZSAiLi4vLi4va2V4ZWMtZWxmLmgiCisgCisKKy0tLSBhL2tleGVjL2FyY2gvaTM4Ni9rZXhlYy1lbGYtcmVsLXg4Ni5jCisrKysgYi9rZXhlYy9hcmNoL2kzODYva2V4ZWMtZWxmLXJlbC14ODYuYworQEAgLTEsNSArMSw1IEBACisgI2luY2x1ZGUgPHN0ZGlvLmg+CistI2luY2x1ZGUgPGVsZi5oPgorKyNpbmNsdWRlICIuLi8uLi8uLi9pbmNsdWRlL2VsZi5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy1lbGYuaCIKKyAKKworLS0tIGEva2V4ZWMvYXJjaC9wcGMva2V4ZWMtZWxmLXJlbC1wcGMuYworKysrIGIva2V4ZWMvYXJjaC9wcGMva2V4ZWMtZWxmLXJlbC1wcGMuYworQEAgLTEsNSArMSw1IEBACisgI2luY2x1ZGUgPHN0ZGlvLmg+CistI2luY2x1ZGUgPGVsZi5oPgorKyNpbmNsdWRlICIuLi8uLi8uLi9pbmNsdWRlL2VsZi5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy1lbGYuaCIKKyAKKworLS0tIGEva2V4ZWMvYXJjaC9wcGM2NC9rZXhlYy1lbGYtcmVsLXBwYzY0LmMKKysrKyBiL2tleGVjL2FyY2gvcHBjNjQva2V4ZWMtZWxmLXJlbC1wcGM2NC5jCitAQCAtMSw1ICsxLDUgQEAKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKy0jaW5jbHVkZSA8ZWxmLmg+CisrI2luY2x1ZGUgIi4uLy4uLy4uL2luY2x1ZGUvZWxmLmgiCisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy1lbGYuaCIKKworLS0tIGEva2V4ZWMvYXJjaC94ODZfNjQva2V4ZWMtZWxmLXJlbC14ODZfNjQuYworKysrIGIva2V4ZWMvYXJjaC94ODZfNjQva2V4ZWMtZWxmLXJlbC14ODZfNjQuYworQEAgLTEsNSArMSw1IEBACisgI2luY2x1ZGUgPHN0ZGlvLmg+CistI2luY2x1ZGUgPGVsZi5oPgorKyNpbmNsdWRlICIuLi8uLi8uLi9pbmNsdWRlL2VsZi5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy5oIgorICNpbmNsdWRlICIuLi8uLi9rZXhlYy1lbGYuaCIKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIva2V4ZWMtc3lzY2FsbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIva2V4ZWMtc3lzY2FsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODFkZTFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9rZXhlYy1zeXNjYWxsLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKKy0tLSBhL2tleGVjL2tleGVjLXN5c2NhbGwuaAorKysrIGIva2V4ZWMva2V4ZWMtc3lzY2FsbC5oCitAQCAtMiw3ICsyLDcgQEAKKyAjZGVmaW5lIEtFWEVDX1NZU0NBTExfSAorIAorICNkZWZpbmUgX19MSUJSQVJZX18KKy0jaW5jbHVkZSA8c3lzY2FsbC5oPgorKy8qI2luY2x1ZGUgPHN5c2NhbGwuaD4qLworICNpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAKK0BAIC0yMyw2ICsyMyw3IEBACisgI2RlZmluZSBMSU5VWF9SRUJPT1RfQ01EX0tFWEVDCQkweDQ1NTg0NTQzCisgCisgI2lmbmRlZiBfX05SX2tleGVjX2xvYWQKKysvKgorICNpZmRlZiBfX2kzODZfXworICNkZWZpbmUgX19OUl9rZXhlY19sb2FkCQkyODMKKyAjZW5kaWYKK0BAIC02MSwxOSArNjIsMjEgQEAKKyAjaWZuZGVmIF9fTlJfa2V4ZWNfbG9hZAorICNlcnJvciBVbmtub3duIHByb2Nlc3NvciBhcmNoaXRlY3R1cmUuICBOZWVkcyBhIGtleGVjX2xvYWQgc3lzY2FsbCBudW1iZXIuCisgI2VuZGlmCisrKi8KKyAjZW5kaWYgLyppZm5kZWYgX19OUl9rZXhlY19sb2FkKi8KKyAKKyBzdHJ1Y3Qga2V4ZWNfc2VnbWVudDsKKy0KKysvKgorIHN0YXRpYyBpbmxpbmUgbG9uZyBrZXhlY19sb2FkKHZvaWQgKmVudHJ5LCB1bnNpZ25lZCBsb25nIG5yX3NlZ21lbnRzLAorIAkJCXN0cnVjdCBrZXhlY19zZWdtZW50ICpzZWdtZW50cywgdW5zaWduZWQgbG9uZyBmbGFncykKKyB7CisgCXJldHVybiAobG9uZykgc3lzY2FsbChfX05SX2tleGVjX2xvYWQsIGVudHJ5LCBucl9zZWdtZW50cywgc2VnbWVudHMsIGZsYWdzKTsKKyB9CistCisrKi8KKyBzdGF0aWMgaW5saW5lIGxvbmcga2V4ZWNfcmVib290KHZvaWQpCisgeworLQlyZXR1cm4gKGxvbmcpIHN5c2NhbGwoX19OUl9yZWJvb3QsIExJTlVYX1JFQk9PVF9NQUdJQzEsIExJTlVYX1JFQk9PVF9NQUdJQzIsIExJTlVYX1JFQk9PVF9DTURfS0VYRUMsIDApOworKwkvL3JldHVybiAobG9uZykgc3lzY2FsbChfX05SX3JlYm9vdCwgTElOVVhfUkVCT09UX01BR0lDMSwgTElOVVhfUkVCT09UX01BR0lDMiwgTElOVVhfUkVCT09UX0NNRF9LRVhFQywgMCk7CisrCXJldHVybiBfX3JlYm9vdChMSU5VWF9SRUJPT1RfTUFHSUMxLCBMSU5VWF9SRUJPT1RfTUFHSUMyLCBMSU5VWF9SRUJPT1RfQ01EX0tFWEVDLCAwKTsKKyB9CisgCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3BwY19fbHNocmRpMy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvcHBjX19sc2hyZGkzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2Y2RmYjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3BwY19fbHNocmRpMy5wYXRjaApAQCAtMCwwICsxLDE4IEBACistLS0gYS9wdXJnYXRvcnkvYXJjaC9wcGMvY3J0LlMKKysrKyBiL3B1cmdhdG9yeS9hcmNoL3BwYy9jcnQuUworQEAgLTI0OSw2ICsyNDksNyBAQAorICAqCisgICovCisgCisrLyogYWxyZWFkeSBkZWZpbmVkIGluIG1pc2MuUworIF9HTE9CQUwoX19sc2hyZGkzKQorIAlzdWJmaWMJNiw1LDMyCisgCXNydwk0LDQsNQkjIExTVyA9IGNvdW50ID4gMzEgPyAwIDogTFNXID4+IGNvdW50CitAQCAtMjU5LDUgKzI2MCw3IEBACisgCXNydwkzLDMsNQkjIE1TVyA9IE1TVyA+PiBjb3VudAorIAlvcgk0LDQsNwkjIExTVyB8PSB0MgorIAlibHIKKysqLworKworICNlbmRpZgorICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9wdXJnYXRvcnlfZmxhZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3B1cmdhdG9yeV9mbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWZjMTE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9wdXJnYXRvcnlfZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorLS0tIGEvcHVyZ2F0b3J5L01ha2VmaWxlCisrKysgYi9wdXJnYXRvcnkvTWFrZWZpbGUKK0BAIC00Nyw3ICs0Nyw3IEBACisgJChQVVJHQVRPUlkpOiBDQz0kKFRBUkdFVF9DQykKKyAkKFBVUkdBVE9SWSk6IENGTEFHUys9JChQVVJHQVRPUllfRVhUUkFfQ0ZMQUdTKSBcCisJCSAgICAgICQoJChBUkNIKV9QVVJHQVRPUllfRVhUUkFfQ0ZMQUdTKSBcCistCQkgICAgICAtT3MgLWZuby1idWlsdGluIC1mZnJlZXN0YW5kaW5nCisrCQkgICAgICAtT3MgLWZuby1idWlsdGluIC1mZnJlZXN0YW5kaW5nIC1ub3N0ZGluYworIAorICQoUFVSR0FUT1JZKTogQ1BQRkxBR1M9JCgkKEFSQ0gpX1BVUkdBVE9SWV9FWFRSQV9DRkxBR1MpIFwKKwkJCS1JJChzcmNkaXIpL3B1cmdhdG9yeS9pbmNsdWRlIFwKK0BAIC02MSw3ICs2MSw4IEBACisgCisgJChQVVJHQVRPUlkpOiAkKFBVUkdBVE9SWV9PQkpTKQorCSQoTUtESVIpIC1wICQoQEQpCistCSQoQ0MpICQoTERGTEFHUykgLW8gJEAgJF4KKysjCSQoQ0MpICQoTERGTEFHUykgLW8gJEAgJF4KKysJJChMRCkgJChMREZMQUdTKSAtbyAkQCAkXgorIAorICMJJChMRCkgJChMREZMQUdTKSAkKEVYVFJBX0xERkxBR1MpIC0tbm8tdW5kZWZpbmVkIC1lIHB1cmdhdG9yeV9zdGFydCAtciAtbyAkQCAkKFBVUkdBVE9SWV9PQkpTKSAkKFVUSUxfTElCKQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3B1cmdhdG9yeV9zdHJpbmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3B1cmdhdG9yeV9zdHJpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTcxMDU2MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvcHVyZ2F0b3J5X3N0cmluZy5wYXRjaApAQCAtMCwwICsxLDkgQEAKKy0tLSBhL3B1cmdhdG9yeS9zdHJpbmcuYworKysrIGIvcHVyZ2F0b3J5L3N0cmluZy5jCitAQCAtMSw1ICsxLDUgQEAKKyAjaW5jbHVkZSA8c3RkZGVmLmg+CistI2luY2x1ZGUgPHN0cmluZy5oPgorKy8qICNpbmNsdWRlIDxzdHJpbmcuaD4gKi8KKyAKKyBzaXplX3Qgc3Rybmxlbihjb25zdCBjaGFyICpzLCBzaXplX3QgbWF4KQorIHsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvc2hhMjU2LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9zaGEyNTYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODViZjdhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvc2hhMjU2LnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKKy0tLSBhL3V0aWxfbGliL2luY2x1ZGUvc2hhMjU2LmgKKysrKyBiL3V0aWxfbGliL2luY2x1ZGUvc2hhMjU2LmgKK0BAIC0xLDcgKzEsOCBAQAorICNpZm5kZWYgU0hBMjU2X0gKKyAjZGVmaW5lIFNIQTI1Nl9ICisgCistI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorKy8vI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisgdHlwZWRlZiBzdHJ1Y3QKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi9zeXNjb25mX25ycHJvY2Vzc29ycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvc3lzY29uZl9ucnByb2Nlc3NvcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDRhOTdlNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIvc3lzY29uZl9ucnByb2Nlc3NvcnMucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGEva2V4ZWMvY3Jhc2hkdW1wLWVsZi5jCisrKysgYi9rZXhlYy9jcmFzaGR1bXAtZWxmLmMKK0BAIC00Nyw3ICs0Nyw4IEBACisJaWYgKHhlbl9wcmVzZW50KCkpCisJCW5yX2NwdXMgPSB4ZW5fZ2V0X25yX3BoeXNfY3B1cygpOworCWVsc2UKKy0JCW5yX2NwdXMgPSBzeXNjb25mKF9TQ19OUFJPQ0VTU09SU19DT05GKTsKKysJCS8qbnJfY3B1cyA9IHN5c2NvbmYoX1NDX05QUk9DRVNTT1JTX0NPTkYpOyovCisrCQlucl9jcHVzID0gMTsKKyAKKwlpZiAobnJfY3B1cyA8IDApIHsKKwkJcmV0dXJuIC0xOworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3g4Nl9iYXNlbmFtZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIveDg2X2Jhc2VuYW1lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3YTFjMDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3g4Nl9iYXNlbmFtZS5wYXRjaApAQCAtMCwwICsxLDE0IEBACistLS0gYS9rZXhlYy9hcmNoL2kzODYveDg2LWxpbnV4LXNldHVwLmMKKysrKyBiL2tleGVjL2FyY2gvaTM4Ni94ODYtbGludXgtc2V0dXAuYworQEAgLTI4MCw5ICsyODAsOSBAQCBzdGF0aWMgaW50IGFkZF9lZGRfZW50cnkoc3RydWN0IHg4Nl9saW51CisJbWVtc2V0KGVkZF9pbmZvLCAwLCBzaXplb2Yoc3RydWN0IGVkZF9pbmZvKSk7CisgCisgCS8qIGV4dHJhY3QgdGhlIGRldmljZSBudW1iZXIgKi8KKy0JaWYgKHNzY2FuZihiYXNlbmFtZShzeXNmc19uYW1lKSwgImludDEzX2RldiVoaHgiLCAmZGV2bnVtKSAhPSAxKSB7CisrCWlmIChzc2NhbmYoc3RycmNocihzeXNmc19uYW1lLCcvJykgKyAxLCAiaW50MTNfZGV2JWhoeCIsICZkZXZudW0pICE9IDEpIHsKKyAJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBmb3JtYXQgb2YgaW50MTNfZGV2IGRpciAiCistCQkJCSJlbnRyeTogJXNcbiIsIGJhc2VuYW1lKHN5c2ZzX25hbWUpKTsKKysJCQkJImVudHJ5OiAlc1xuIiwgc3RycmNocihzeXNmc19uYW1lLCcvJykgKyAxKTsKKyAJCXJldHVybiAtMTsKKyAJfQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi94ODZfa2V4ZWNfdGVzdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIveDg2X2tleGVjX3Rlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTUwMGJkNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIveDg2X2tleGVjX3Rlc3QucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGEvTWFrZWZpbGUuaW4KKysrKyBiL01ha2VmaWxlLmluCitAQCAtMTA2LDggKzEwNiw4IEBACisgCisgTUFOX1BBR0VTOj0ga2V4ZWMva2V4ZWMuOAorIE1BTl9QQUdFUys9IGtkdW1wL2tkdW1wLjgKKy1CSU5BUklFU19pMzg2Oj0gICQoU0JJTkRJUikva2V4ZWMgJChQS0dMSUJESVIpL2tleGVjX3Rlc3QKKy1CSU5BUklFU194ODZfNjQ6PSQoU0JJTkRJUikva2V4ZWMgJChQS0dMSUJESVIpL2tleGVjX3Rlc3QKKytCSU5BUklFU19pMzg2Oj0gICQoU0JJTkRJUikva2V4ZWMKKytCSU5BUklFU194ODZfNjQ6PSQoU0JJTkRJUikva2V4ZWMKKyBCSU5BUklFUzo9JChTQklORElSKS9rZXhlYyAkKFNCSU5ESVIpL2tkdW1wICQoQklOQVJJRVNfJChBUkNIKSkKKyAKKyBUQVJHRVRTOj0kKEJJTkFSSUVTKSAkKE1BTl9QQUdFUykKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIveDg2X3N5c19pby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMtMi4wLjIveDg2X3N5c19pby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDk3YzlhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi94ODZfc3lzX2lvLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKKy0tLSBhL3B1cmdhdG9yeS9hcmNoL2kzODYvcGljLmMKKysrKyBiL3B1cmdhdG9yeS9hcmNoL2kzODYvcGljLmMKK0BAIC0xNiw3ICsxNiw3IEBACisgICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAgKi8KKy0jaW5jbHVkZSA8c3lzL2lvLmg+CisrI2luY2x1ZGUgImluY2x1ZGUvYXJjaC9pby5oIgorICNpbmNsdWRlIDxwdXJnYXRvcnkuaD4KKyAjaW5jbHVkZSAicHVyZ2F0b3J5LXg4Ni5oIgorIAorCistLS0gYS9wdXJnYXRvcnkvYXJjaC9pMzg2L3ZnYS5jCisrKysgYi9wdXJnYXRvcnkvYXJjaC9pMzg2L3ZnYS5jCitAQCAtMSw0ICsxLDQgQEAKKy0jaW5jbHVkZSA8c3lzL2lvLmg+CisrI2luY2x1ZGUgImluY2x1ZGUvYXJjaC9pby5oIgorICNpbmNsdWRlIDxwdXJnYXRvcnkuaD4KKyAjaW5jbHVkZSAicHVyZ2F0b3J5LXg4Ni5oIgorIAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLTIuMC4yL3g4Nl92ZnNjYW5mLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi94ODZfdmZzY2FuZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWQ2OTUxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy0yLjAuMi94ODZfdmZzY2FuZi5wYXRjaApAQCAtMCwwICsxLDI3IEBACistLS0gYS9rZXhlYy9hcmNoL2kzODYveDg2LWxpbnV4LXNldHVwLmMKKysrKyBiL2tleGVjL2FyY2gvaTM4Ni94ODYtbGludXgtc2V0dXAuYworQEAgLTE3Niw2ICsxNzYsOCBAQCBzdGF0aWMgaW50IGZpbGVfc2NhbmYoY29uc3QgY2hhciAqZGlyLCBjCisgCUZJTEUgKmZwOworIAlpbnQgcmV0bm87CisgCWNoYXIgZmlsZW5hbWVbUEFUSF9NQVhdOworKwlsb25nIGxpbmVfc2l6ZSA9IE1BWF9MSU5FOworKwljaGFyICpsaW5lOworIAorIAlzbnByaW50ZihmaWxlbmFtZSwgUEFUSF9NQVgsICIlcy8lcyIsIGRpciwgZmlsZSk7CisgCWZpbGVuYW1lW1BBVEhfTUFYLTFdID0gMDsKK0BAIC0xODYsNyArMTg4LDE0IEBAIHN0YXRpYyBpbnQgZmlsZV9zY2FuZihjb25zdCBjaGFyICpkaXIsIGMKKyAJfQorIAorIAl2YV9zdGFydChhcmdwdHIsIHNjYW5mX2xpbmUpOworLQlyZXRubyA9IHZmc2NhbmYoZnAsIHNjYW5mX2xpbmUsIGFyZ3B0cik7CisrCisrCWxpbmUgPSB4bWFsbG9jKHNpemVvZihsaW5lKSAqIGxpbmVfc2l6ZSk7CisrCXdoaWxlKGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgZnApICE9IE5VTEwgKSB7CisrCQlsaW5lX3NpemUgKz0gTUFYX0xJTkU7CisrCQlsaW5lID0geHJlYWxsb2MobGluZSxsaW5lX3NpemUpOworKwl9CisrCXJldG5vID0gdnNzY2FuZihsaW5lLCBzY2FuZl9saW5lLCBhcmdwdHIpOworKworIAl2YV9lbmQoYXJncHRyKTsKKyAKKyAJZmNsb3NlKGZwKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmNfMi4wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjXzIuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ZmVjMjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjXzIuMC4yLmJiCkBAIC0wLDAgKzEsNDAgQEAKKyMgdGhlIGJpbmFyaWVzIGFyZSBzdGF0aWNhbGx5IGxpbmtlZCBhZ2FpbnN0IGtsaWJjCityZXF1aXJlIHJlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLmluYworU1VNTUFSWSA9ICJLZXhlYyB0b29scywgc3RhdGljYWxseSBjb21waWxlZCBhZ2FpbnN0IGtsaWJjIgorU1JDX1VSSVttZDVzdW1dID0gIjkyZWZmOTNiMDk3NDc1Yjc3NjdmOGM5OGRmODQ0MDhhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA5ZTE4MGZmMzZkZWUwODcxODJjZGM5MzliYTZjNjkxN2I2YWRiYjVmYzEyZDU4OWYzMWZkMzY1OWI2NDcxZjIiCisKK2luaGVyaXQga2xpYmMKKworRklMRVNQQVRIID0uICIke0ZJTEVfRElSTkFNRX0va2V4ZWMtdG9vbHMtJHtQVn06IgorCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMva2VybmVsL2tleGVjL2tleGVjLXRvb2xzLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSSArPSAiIFwKKyAgICAgICAgICAgIGZpbGU6Ly9rZXhlYy1lbGYtcmVsLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9rZXhlYy1zeXNjYWxsLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9jZmxhZ3Nfc3RhdGljLnBhdGNoICBcCisgICAgICAgICAgICBmaWxlOi8vaWZkb3duX2Vycm5vLnBhdGNoICBcCisgICAgICAgICAgICBmaWxlOi8vcHVyZ2F0b3J5X2ZsYWdzLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9wdXJnYXRvcnlfc3RyaW5nLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9zaGEyNTYucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3N5c2NvbmZfbnJwcm9jZXNzb3JzLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9maXgtb3V0LW9mLXRyZWUtYnVpbGQucGF0Y2ggXAorICAgICAgICAgICAgIgorCitTUkNfVVJJX2FwcGVuZF9hcm0gPSAiIGZpbGU6Ly9hcm1fY3Jhc2hkdW1wLnBhdGNoIgorU1JDX1VSSV9hcHBlbmRfcG93ZXJwYyA9ICIgZmlsZTovL3BwY19fbHNocmRpMy5wYXRjaCIKK1NSQ19VUklfYXBwZW5kX3g4NiA9ICIgZmlsZTovL3g4Nl9zeXNfaW8ucGF0Y2ggZmlsZTovL3g4Nl9iYXNlbmFtZS5wYXRjaCBmaWxlOi8veDg2X3Zmc2NhbmYucGF0Y2ggZmlsZTovL3g4Nl9rZXhlY190ZXN0LnBhdGNoIgorU1JDX1VSSV9hcHBlbmRfeDg2LTY0ID0gIiBmaWxlOi8veDg2X3N5c19pby5wYXRjaCBmaWxlOi8veDg2X2Jhc2VuYW1lLnBhdGNoIGZpbGU6Ly94ODZfdmZzY2FuZi5wYXRjaCBmaWxlOi8veDg2X2tleGVjX3Rlc3QucGF0Y2giCisKK1MgPSAiJHtXT1JLRElSfS9rZXhlYy10b29scy0ke1BWfSIKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGhvdXQtemxpYiAtLXdpdGhvdXQtbHptYSAtLXdpdGhvdXQteGVuIgorCitDRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZGlyfS9rbGliYy9pbmNsdWRlIC1JJHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZGlyfS9rbGliYy9pbmNsdWRlL2JpdHMzMiIKK0NGTEFHU194ODYtNjQgKz0gIi1JJHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZGlyfS9rbGliYy9pbmNsdWRlIC1JJHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZGlyfS9rbGliYy9pbmNsdWRlL2JpdHM2NCIKKworUEFDS0FHRVMgPSsgImtleGVjLWtsaWJjIGtkdW1wLWtsaWJjIgorCitGSUxFU19rZXhlYy1rbGliYyA9ICIke3NiaW5kaXJ9L2tleGVjIgorRklMRVNfa2R1bXAta2xpYmMgPSAiJHtzYmluZGlyfS9rZHVtcCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tdGlueS1rZXhlY2Jvb3QvcmV2ZXJ0LWNoZWNrLWNvbnNvbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnkta2V4ZWNib290L3JldmVydC1jaGVjay1jb25zb2xlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlNWU4ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnkta2V4ZWNib290L3JldmVydC1jaGVjay1jb25zb2xlLnBhdGNoCkBAIC0wLDAgKzEsNDcgQEAKK0Zyb20gYTc0ZTBiZjUxYWRjYzg2N2I3M2ZjNDQwNTBlYjliZGU5ODVjOWNiYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjggRmViIDIwMTYgMDE6MDk6MTkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWFpbi5jOiByZXZlcnQgY2hlY2sgb24gY29uc29sZSBkZXZpY2UKKworRml4IGtlcm5lbCBwYW5pYyBiZWNhdXNlIG9mIHRoZSBtaXNzaW5nIC9kZXYvY29uc29sZS4KKworUmV2ZXJ0IFlvY3RvLXNwZWNpZmljIDogImNoZWNrIGNvbnNvbGUgZGV2aWNlIGZpbGUgb24gZnMgd2hlbiBib290aW5nIi4KKworVGhlIGluaXRyYW1mcyB1c2VkIGluIHRoaXMga2VybmVsIG5lZWRzIHRvIGJlIG9mIHRoZSBzbWFsbGVzdCBwb3NzaWJsZQorc2l6ZSBzbyB3ZSBzYXZlIGEgZmV3IGtiIGJ5IGRlcGxveWluZyBhbiBlbXB0eSAvZGV2IHdoaWNoIGlzIHBvcHVsYXRlZAorYWZ0ZXIgYm9vdCBieSB0aGUgaW5pdCAoa2V4ZWNib290IGNoZWNrcyBhbmQgcmVjcmVhdGVzIHRoZSBkZXZpY2VzCit3aXRoIG9yIHdpdGhvdXQgZGV2dG1wZnMpLgorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CistLS0KKyBpbml0L21haW4uYyB8IDcgLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW5pdC9tYWluLmMgYi9pbml0L21haW4uYworaW5kZXggZDE5MWQyYS4uOWU2NGQ3MCAxMDA2NDQKKy0tLSBhL2luaXQvbWFpbi5jCisrKysgYi9pbml0L21haW4uYworQEAgLTk3Niw3ICs5NzYsNiBAQCBzdGF0aWMgaW50IF9fcmVmIGtlcm5lbF9pbml0KHZvaWQgKnVudXNlZCkKKyAKKyBzdGF0aWMgbm9pbmxpbmUgdm9pZCBfX2luaXQga2VybmVsX2luaXRfZnJlZWFibGUodm9pZCkKKyB7CistCXN0cnVjdCBzdGF0IGNvbnNvbGVfc3RhdDsKKyAJLyoKKyAJICogV2FpdCB1bnRpbCBrdGhyZWFkZCBpcyBhbGwgc2V0LXVwLgorIAkgKi8KK0BAIC0xMDA4LDEyICsxMDA3LDYgQEAgc3RhdGljIG5vaW5saW5lIHZvaWQgX19pbml0IGtlcm5lbF9pbml0X2ZyZWVhYmxlKHZvaWQpCisgCisgCWRvX2Jhc2ljX3NldHVwKCk7CisgCistCS8qIFVzZSAvZGV2L2NvbnNvbGUgdG8gaW5mZXIgaWYgdGhlIHJvb3RmcyBpcyBzZXR1cCBwcm9wZXJseSAqLworLQlpZiAoc3lzX25ld2xzdGF0KChjaGFyIF9fdXNlciAqKSAiL2Rldi9jb25zb2xlIiwgKHN0cnVjdCBzdGF0IF9fdXNlciAqKSAmY29uc29sZV9zdGF0KQorLQkJCXx8ICFTX0lTQ0hSKGNvbnNvbGVfc3RhdC5zdF9tb2RlKSkgeworLQkJcGFuaWMoIi9kZXYvY29uc29sZSBpcyBtaXNzaW5nIG9yIG5vdCBhIGNoYXJhY3RlciBkZXZpY2UhXG5QbGVhc2UgZW5zdXJlIHlvdXIgcm9vdGZzIGlzIHByb3Blcmx5IGNvbmZpZ3VyZWRcbiIpOworLQl9CistCisgCS8qIE9wZW4gdGhlIC9kZXYvY29uc29sZSBvbiB0aGUgcm9vdGZzLCB0aGlzIHNob3VsZCBuZXZlciBmYWlsICovCisgCWlmIChzeXNfb3BlbigoY29uc3QgY2hhciBfX3VzZXIgKikgIi9kZXYvY29uc29sZSIsIE9fUkRXUiwgMCkgPCAwKQorIAkJcHJfZXJyKCJXYXJuaW5nOiB1bmFibGUgdG8gb3BlbiBhbiBpbml0aWFsIGNvbnNvbGUuXG4iKTsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55LWtleGVjYm9vdF80LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnkta2V4ZWNib290XzQuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmUwZTUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55LWtleGVjYm9vdF80LjQuYmIKQEAgLTAsMCArMSwyOSBAQAorcmVxdWlyZSByZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55XyR7UFZ9LmJiCitTVU1NQVJZID0gIllvY3RvIHRpbnkga2VybmVsIGVtYmVkZGluZyBhIG1pbmltYWxpc3RpYyBrZXhlY2Jvb3QgaW5pdHJhbWZzIgorCitTUkNfVVJJICs9ICJmaWxlOi8vcmV2ZXJ0LWNoZWNrLWNvbnNvbGUucGF0Y2giCisKK1BBQ0tBR0VTID0gIiIKK1BST1ZJREVTID0gIiIKKworS0VSTkVMX0lNQUdFX0JBU0VfTkFNRSA9ICIke0tFUk5FTF9JTUFHRVRZUEV9LXlvY3RvLXRpbnkta2V4ZWNib290LSR7UFZ9LSR7TUFDSElORX0iCitLRVJORUxfSU1BR0VfU1lNTElOS19OQU1FID0gIiR7S0VSTkVMX0lNQUdFVFlQRX0teW9jdG8tdGlueS1rZXhlY2Jvb3QtJHtNQUNISU5FfSIKKworSU5JVFJBTUZTX0lNQUdFID0gImluaXRyYW1mcy1rZXhlY2Jvb3Qta2xpYmMtaW1hZ2UiCitJTklUUkFNRlNfVEFTSyA9ICIke0lOSVRSQU1GU19JTUFHRX06ZG9faW1hZ2VfY29tcGxldGUiCisKKyMgZGlzYWJsZSB1bm5lZWRlZCB0YXNrcworZG9fc2hhcmVkX3dvcmtkaXJbbm9leGVjXSA9ICIxIgorZG9faW5zdGFsbFtub2V4ZWNdID0gIjEiCitkb19wYWNrYWdlW25vZXhlY10gPSAiMSIKK2RvX3BhY2thZ2VfcWFbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZWRhdGFbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV9kZWJbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV9pcGtbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV9ycG1bbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV90YXJbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV93cml0ZV9kZWJbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV93cml0ZV9pcGtbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV93cml0ZV9ycG1bbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZV93cml0ZV90YXJbbm9leGVjXSA9ICIxIgorZG9fcG9wdWxhdGVfc3lzcm9vdFtub2V4ZWNdID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL0NPUFlJTkcuTUlUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiOTUwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9DT1BZSU5HLk1JVApAQCAtMCwwICsxLDE3IEBACitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IAorb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgCitpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIAordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCAKK2NvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyAKK2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIAorYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIAorSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIAorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiAKK0xJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIAorT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiAKK1RIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL1JFQURNRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzY0NjE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvUkVBRE1FCkBAIC0wLDAgKzEsMjAgQEAKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CitsYXllcnM6IG1ldGEtb2UsIG1ldGEtcnVieQorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCitTZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEtbXVsdGltZWRpYV1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0JworCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2Ugc29tZXRoaW5nIGxpa2U6CisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtbXVsdGltZWRpYV1ba3JvZ290aF1bUEFUQ0gKKworWW91IGFyZSBlbmNvdXJhZ2VkIHRvIGZvcmsgdGhlIG1pcnJvciBvbiBnaXRodWIgaHR0cHM6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLyB0byBzaGFyZSB5b3VyIHBhdGNoZXMsIHRoaXMgaXMgcHJlZmVycmVkIGZvciBwYXRjaCBzZXRzIGNvbnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBwYXRjaC4gT3RoZXIgc2VydmljZXMgbGlrZSBnaXRvcmlvdXMsIHJlcG8ub3IuY3ogb3Igc2VsZiBob3N0ZWQgc2V0dXBzIGFyZSBvZiBjb3Vyc2UgYWNjZXB0ZWQgYXMgd2VsbCwgJ2dpdCBmZXRjaCA8cmVtb3RlPicgd29ya3MgdGhlIHNhbWUgb24gYWxsIG9mIHRoZW0uIFdlIHJlY29tbWVuZCBnaXRodWIgYmVjYXVzZSBpdCBpcyBmcmVlLCBlYXN5IHRvIHVzZSwgaGFzIGJlZW4gcHJvdmVuIHRvIGJlIHJlbGlhYmxlIGFuZCBoYXMgYSByZWFsbHkgZ29vZCB3ZWIgR1VJLgorCitrcm9nb3RoIEJyYW5jaCBNYWludGFpbmVyOgorQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2NvbmYvbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGEwYTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMjUgQEAKKyMgSXQgcmVhbGx5IGRlcGVuZHMgb24gb3JkZXIgb2YgdGhlIGxheWVycyBhcHBlYXJpbmcgaW4gQkJMQVlFUlMKKyMgdmFyaWFibGUgaW4gdG9wbGV2ZWwgYmJsYXllcnMuY29uZiBmaWxlLCB3aGVyZSBiaXRiYWtlIHdpbGwgc2VhcmNoCisjIGZvciAuaW5jIGZpbGVzIGFuZCBvdGhlcnMgd2hlcmUgYml0YmFrZSB1c2VzIEJCUEFUSCBzaW5jZSBpdCB3aWxsCisjIHNlYXJjaCB0aGUgZGlyZWN0b3JpZXMgZnJvbSBmaXJzdCB0byBsYXN0IGFzIHNwZWNpZmllZCBpbiBCQlBBVEgKKyMgVGhlcmVmb3JlIGlmIHlvdSB3YW50IGEgZ2l2ZW4gbGF5ZXIgdG8gYmUgY29uc2lkZXJlZCBoaWdoIHByaW9yaXR5CisjIGZvciB0aGUgLmluYyBhbmQgLmNvbmYgZXRjLiB0aGVuIGNvbnNpZGVyIGl0IGFkZGluZyBhdCB0aGUgYmVnaW5uaW5nCisjIG9mIEJCUEFUSC4gRm9yIGJibGF5ZXJzIGJpdGJha2Ugd2lsbCB1c2UgQkJGSUxFU19QUklPUklUWSB0byByZXNvbHZlCisjIHRoZSByZWNpcGUgY29udGVudGlvbiBzbyB0aGUgb3JkZXIgb2YgZGlyZWN0b3JpZXMgaW4gQkJGSUxFUyBkb2VzIAorIyBub3QgbWF0dGVyLgorCisjIFdlIGhhdmUgYSBjb25mIGFuZCBjbGFzc2VzIGRpcmVjdG9yeSwgYXBwZW5kIHRvIEJCUEFUSAorQkJQQVRIIC49ICI6JHtMQVlFUkRJUn0iCisKKyMgV2UgaGF2ZSBhIHJlY2lwZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJGSUxFUworQkJGSUxFUyArPSAiJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYiAke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgorCitCQkZJTEVfQ09MTEVDVElPTlMgKz0gIm11bHRpbWVkaWEtbGF5ZXIiCitCQkZJTEVfUEFUVEVSTl9tdWx0aW1lZGlhLWxheWVyIDo9ICJeJHtMQVlFUkRJUn0vIgorCisjIERlZmluZSB0aGUgcHJpb3JpdHkgZm9yIHJlY2lwZXMgKC5iYiBmaWxlcykgZnJvbSB0aGlzIGxheWVyLAorIyBjaG9vc2luZyBjYXJlZnVsbHkgaG93IHRoaXMgbGF5ZXIgaW50ZXJhY3RzIHdpdGggYWxsIG9mIHRoZQorIyBvdGhlciBsYXllcnMuCisKK0JCRklMRV9QUklPUklUWV9tdWx0aW1lZGlhLWxheWVyID0gIjYiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2dzc2RwLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2dzc2RwLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yM2YxN2VkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3NzZHAuaW5jCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiUmVzb3VyY2UgZGlzY292ZXJ5IGFuZCBhbm5vdW5jZW1lbnQgb3ZlciBTU0RQIgorREVTQ1JJUFRJT04gPSAiR1NTRFAgaW1wbGVtZW50cyByZXNvdXJjZSBkaXNjb3ZlcnkgYW5kIGFubm91bmNlbWVudCBvdmVyIFNTRFAgKFNpbXBlIFNlcnZpY2UgRGlzY292ZXJ5IFByb3RvY29sKS4iCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IgorREVQRU5EUyA9ICJnbGliLTIuMCBsaWJzb3VwLTIuNCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdvYmplY3QtaW50cm9zcGVjdGlvbiB2YWxhCisKKyMgQ29weSB2YXBpZ2VuLm00IHNvIHRoYXQgaXQgZG9lc24ndCBnZXQgcmVtb3ZlZCBieSB2YWxhIGNsYXNzCisjIChub3JtYWxseSB0aGlzIHdvdWxkIGJlIHRoZSByaWdodCB0aGluZyB0byBkbywgYnV0IGluIGdzc2RwIHRoZSB2YXBpZ2VuLm00IGhhcyBvbmx5IGEgY3VzdG9tIG1hY3JvKQorZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgICAgIGNwIC1mICR7U30vbTQvdmFwaWdlbi5tNCAke1N9L200L3ZhcGlnZW4tY3VzdG9tLm00IHx8IHRydWUKK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ2d0aycsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLS13aXRoLWd0aywtLXdpdGhvdXQtZ3RrLGd0aysiCisKK1BBQ0tBR0VTID0rICJnc3NkcC10b29scyIKKworRklMRVNfZ3NzZHAtdG9vbHMgPSAiJHtiaW5kaXJ9L2dzc2RwKiAke2RhdGFkaXJ9L2dzc2RwLyouZ2xhZGUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9nc3NkcF8wLjE0LjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9nc3NkcF8wLjE0LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQ1N2FiYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2dzc2RwXzAuMTQuOC5iYgpAQCAtMCwwICsxLDkgQEAKK3JlcXVpcmUgZ3NzZHAuaW5jCisKK2luaGVyaXQgZ3RrLWRvYworCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLS13aXRoLWd0aywtLXdpdGhvdXQtZ3RrLGd0ayszIgorCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vMC4xNC8ke0JQTn0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gImI4NjU4ZTQ4MGQwNDdjYWYyZDkyYmFhNGE1MWI5YWU3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRjM2ZmYTAxNDM1ZTg0ZGMzMWM5NTRlNjY5ZTFjYTA3NDliOTYyZjc2YTMzM2U3NGY1YzJjYjBkZTU4MDNhMTMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC1hdi5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC1hdi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDU0NDUwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2d1cG5wLWF2LmluYwpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIkhlbHBlcnMgZm9yIEFWIGFwcGxpY2F0aW9ucyB1c2luZyBVUG5QIgorREVTQ1JJUFRJT04gPSAiR1VQblAtQVYgaXMgYSBjb2xsZWN0aW9uIG9mIGhlbHBlcnMgZm9yIGJ1aWxkaW5nIEFWIChhdWRpby92aWRlbykgYXBwbGljYXRpb25zIHVzaW5nIEdVUG5QLiIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorREVQRU5EUyA9ICJndXBucCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdvYmplY3QtaW50cm9zcGVjdGlvbiB2YWxhCisKKyMgQ29weSB2YXBpZ2VuLm00IHNvIHRoYXQgaXQgZG9lc24ndCBnZXQgcmVtb3ZlZCBieSB2YWxhIGNsYXNzCisjIChub3JtYWxseSB0aGlzIHdvdWxkIGJlIHRoZSByaWdodCB0aGluZyB0byBkbywgYnV0IGluIGd1cG5wLWF2IHRoZSB2YXBpZ2VuLm00IGhhcyBvbmx5IGEgY3VzdG9tIG1hY3JvKQorZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgICAgIGNwIC1mICR7U30vbTQvdmFwaWdlbi5tNCAke1N9L200L3ZhcGlnZW4tY3VzdG9tLm00IHx8IHRydWUKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAtYXZfMC4xMi42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAtYXZfMC4xMi42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4Y2ZhMjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC1hdl8wLjEyLjYuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIGd1cG5wLWF2LmluYworCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vMC4xMi8ke0JQTn0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gImY1NmNkYjI2OTM3NmE5ZTZjYjA2MmViOTk2MGNjZjU3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUwNTUzZDYwZGQ3YzcyNzdjNjVjMDJhNjhhMjcwYzRkY2I5MDM2YTRjNzA3NWM5MDJmYzgxMTFjNmE1ZTZhNDQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYmd1cG5wLWF2L2d1cG5wLWF2Lmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yMjttZDU9MmI0N2I3YjVmNzk5ZDJlYmFiZTYyYjg5NWU4NDg4MjAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC1kbG5hXzAuOS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAtZGxuYV8wLjkuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTM2MDRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAtZGxuYV8wLjkuNC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkhlbHBlcnMgZm9yIEFWIGFwcGxpY2F0aW9ucyB1c2luZyBETE5BIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJndXBucC1kbG5hL2d1cG5wLWRsbmEtcHJvZmlsZS5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MjI7bWQ1PTFiODU0NTlmNjVjYjFlNzNhODg1Y2ExMzdhYWI2Mjc0IgorCitERVBFTkRTID0gImxpYnhtbDIgZ2xpYi0yLjAiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2VzLyR7QlBOfS8wLjkvJHtCUE59LSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmOTM2NjVlNTM1YTUxMmU0ZDUxNWE4NjMxMTQzNWNiNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2OTk2OTcxM2YzNmMwZTgxNWZiYmJjZmRmYjNhZDliZDQ0N2NmZDEwZDBmZDg2MjI3ZDgyZGZkOGVkYjZjODA3IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHZhbGEKKworUEFDS0FHRUNPTkZJRyA/PSAiZ3N0cmVhbWVyIgorUEFDS0FHRUNPTkZJR1tnc3RyZWFtZXJdID0gIi0tZW5hYmxlLWdzdHJlYW1lci1tZXRhZGF0YS1iYWNrZW5kLC0tZGlzYWJsZS1nc3RyZWFtZXItbWV0YWRhdGEtYmFja2VuZCxnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZ3VwbnAtZGxuYS0yLjAvZGxuYS1wcm9maWxlcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2d1cG5wLWlnZF8wLjIuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2d1cG5wLWlnZF8wLjIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wY2M0YTNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAtaWdkXzAuMi4yLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiSGVscGVycyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBJbnRlcm5ldCBHYXRld2F5IERldmljZXMgb3ZlciBVUG5QIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJndXBucC1pZ2QvZ3VwbnAtc2ltcGxlLWlnZC5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PWFhMjkyYzBkOTM5MDQ2M2E2ZTEwNTVkYzVmYzY4ZTgwIgorCitERVBFTkRTID0gImdsaWItMi4wIGd1cG5wIHNxbGl0ZTMiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2VzLyR7QlBOfS8wLjIvJHtCUE59LSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmODgxMzIzMzA0MTg1YzAyNjM0MDM0ZTNiZGE3MTRiYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3M2I2YTk4YTBmMTNiMjliMzRjM2JmYzA3Zjk5Zjc4YjEzMTkyMTFjYjk1YTg1ODU3NTI4NzNhZjJiOTA2N2QzIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3RrLWRvYyBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1weXRob24iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC10b29sc18wLjguMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC10b29sc18wLjguMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODIxYjVhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2d1cG5wLXRvb2xzXzAuOC4xMC5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIlRvb2xzIGZvciBHVVBuUCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL25ldHdvcmstbGlnaHQvbWFpbi5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PTJjMzliM2EwMDA0OTVkYWJkNDkzMmYyMzFjN2VmZWQ4IgorREVQRU5EUyA9ICJndXBucCBndXBucC1hdiBndGsrMyIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImFkd2FpdGEtaWNvbi10aGVtZSIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuZ25vbWUub3JnL3NvdXJjZXMvJHtCUE59LzAuOC8ke0JQTn0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gImFkODQyM2QwMzZlOThiYzZmODc3NTI4ZDZiODQ2ZjZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU5MmM1MzI4OWZmMWNkNzBlNjc2NDA1YzU2Y2E4N2IyOGQyZGEzN2EzODVkMzRhM2JiOWI5NDRiYTkxMDhkMTciCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ3VwbnAvZ3VwbnAuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZTk2MzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucC5pbmMKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJVUG5QIGZyYW1ld29yayIKK0RFU0NSSVBUSU9OID0gIkdVUG5QIGlzIGFuIGVsZWdhbnQsIG9iamVjdC1vcmllbnRlZCBvcGVuIHNvdXJjZSBmcmFtZXdvcmsgZm9yIGNyZWF0aW5nIFVQblAgIGRldmljZXMgYW5kIGNvbnRyb2wgcG9pbnRzLCB3cml0dGVuIGluIEMgdXNpbmcgR09iamVjdCBhbmQgbGlic291cC4gVGhlIEdVUG5QIEFQSSBpcyBpbnRlbmRlZCB0byBiZSBlYXN5IHRvIHVzZSwgZWZmaWNpZW50IGFuZCBmbGV4aWJsZS4gSXQgcHJvdmlkZXMgdGhlIHNhbWUgc2V0IG9mIGZlYXR1cmVzIGFzIGxpYnVwbnAsIGJ1dCBzaGllbGRzIHRoZSBkZXZlbG9wZXIgZnJvbSBtb3N0IG9mIFVQblAncyBpbnRlcm5hbHMuIgorTElDRU5TRSA9ICJMR1BMdjIrIgorCitERVBFTkRTID0gImUyZnNwcm9ncyBnc3NkcCBsaWJzb3VwLTIuNCBsaWJ4bWwyIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworIyBDb3B5IHZhcGlnZW4ubTQgc28gdGhhdCBpdCBkb2Vzbid0IGdldCByZW1vdmVkIGJ5IHZhbGEgY2xhc3MKKyMgKG5vcm1hbGx5IHRoaXMgd291bGQgYmUgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvLCBidXQgaW4gZ3VwbnAgdGhlIHZhcGlnZW4ubTQgaGFzIG9ubHkgYSBjdXN0b20gbWFjcm8pCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAgICAgY3AgLWYgJHtTfS9tNC92YXBpZ2VuLm00ICR7U30vbTQvdmFwaWdlbi1jdXN0b20ubTQgfHwgdHJ1ZQorfQorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0vZ3VwbnAtYmluZGluZy10b29sIgorCitSREVQRU5EU18ke1BOfS1kZXYgPSAicHl0aG9uLXRleHR1dGlscyBweXRob24teG1sIgorCitTWVNST09UX1BSRVBST0NFU1NfRlVOQ1MgKz0gImd1cG5wX3N5c3Jvb3RfcHJlcHJvY2VzcyIKKworZ3VwbnBfc3lzcm9vdF9wcmVwcm9jZXNzICgpIHsKKyAgICBpbnN0YWxsIC1kICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vCisgICAgaW5zdGFsbCAtbSA3NTUgJHtEfSR7YmluZGlyfS9ndXBucC1iaW5kaW5nLXRvb2wgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS8KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2d1cG5wL2d1cG5wXzAuMjAuMTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucF8wLjIwLjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkMDcxNzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ndXBucC9ndXBucF8wLjIwLjE0LmJiCkBAIC0wLDAgKzEsOCBAQAorcmVxdWlyZSBndXBucC5pbmMKKworU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtCUE59LzAuMjAvJHtCUE59LSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MzM0NmVmOTBhYzVjZDkyNWMzYTk0MWY1MWQ4YmNhNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3N2ZmYjk0MGJhNzdjNGE2NDI2ZDA5ZDQxMDA0Yzc1ZDkyNjUyZGNiZGU4NmM4NGFjMWM4NDdkYmQ5YWQ1OWJkIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJndXBucC9ndXBucC5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MjA7bWQ1PWQ3OGE2OWQ5YjZlNjNlZTJkYzcyZTdiNjc0ZDk3NTIwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXBucC9saWJ1cG5wL2F2b2lkLXJlZGVmaW5pbmctc3Rybmxlbi1hbmQtc3RybmR1cC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnVwbnAvbGlidXBucC9hdm9pZC1yZWRlZmluaW5nLXN0cm5sZW4tYW5kLXN0cm5kdXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2MzZjIzMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnVwbnAvbGlidXBucC9hdm9pZC1yZWRlZmluaW5nLXN0cm5sZW4tYW5kLXN0cm5kdXAucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSAyMmZiYTRmMjc2NWY5MmNkNTkyYTU4ZTFmZTVjNDUwYjE4N2UzMGUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMyBKdW4gMjAxNSAyMTozOTowMyAtMDcwMAorU3ViamVjdDogW1BBVENIXSBhdm9pZCByZWRlZmluaW5nIHN0cm5sZW4oKSBhbmQgc3RybmR1cCgpCisKK1JlbHkgb24gc3RyaW5nLmggZGVmaW5pdGlvbnMgaW5zdGVhZC4gV29ya2Fyb3VuZCBmb3IgY29tcGlsZXIgZXJyb3JzIHN1Y2ggYXM6CisKKyAgfCBpNjg2LXJkay1saW51eC1saWJ0b29sOiBjb21waWxlOiAgaTY4Ni1yZGstbGludXgtZ2NjIC1tMzIgLW1hcmNoPWF0b20gLW10dW5lPWF0b20gLWZzY2hlZHVsZS1pbnNucyAtZnNjaGVkLXByZXNzdXJlIC1tc3NlMyAtbWZwbWF0aD1zc2UgLS1zeXNyb290PS9ob21lL2FuZHJlL2J1aWxkL3RtcC9zeXNyb290cy83NDAxIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkvaG9tZS9hbmRyZS9idWlsZC90bXAvd29yay9jb3JlMi0zMi1yZGstbGludXgvbGlidXBucC8xLjYuMTktcjAvbGlidXBucC0xLjYuMTkvdXBucCAtSS4uIC1JLi4vdXBucC9pbmMgLUkvaG9tZS9hbmRyZS9idWlsZC90bXAvd29yay9jb3JlMi0zMi1yZGstbGludXgvbGlidXBucC8xLjYuMTktcjAvbGlidXBucC0xLjYuMTkvdXBucC9pbmMgLUkvaG9tZS9hbmRyZS9idWlsZC90bXAvd29yay9jb3JlMi0zMi1yZGstbGludXgvbGlidXBucC8xLjYuMTktcjAvbGlidXBucC0xLjYuMTkvdGhyZWFkdXRpbC9pbmMgLUkvaG9tZS9hbmRyZS9idWlsZC90bXAvd29yay9jb3JlMi0zMi1yZGstbGludXgvbGlidXBucC8xLjYuMTktcjAvbGlidXBucC0xLjYuMTkvaXhtbC9pbmMgLUkvaG9tZS9hbmRyZS9idWlsZC90bXAvd29yay9jb3JlMi0zMi1yZGstbGludXgvbGlidXBucC8xLjYuMTktcjAvbGlidXBucC0xLjYuMTkvdXBucC9zcmMvaW5jIC1wdGhyZWFkIC1PMiAtcGlwZSAtZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMgLU9zIC1XYWxsIC1jIC9ob21lL2FuZHJlL2J1aWxkL3RtcC93b3JrL2NvcmUyLTMyLXJkay1saW51eC9saWJ1cG5wLzEuNi4xOS1yMC9saWJ1cG5wLTEuNi4xOS91cG5wL3NyYy9nZW5hL2dlbmFfY2FsbGJhY2syLmMgLW8gc3JjL2dlbmEvbGlidXBucF9sYS1nZW5hX2NhbGxiYWNrMi5vID4vZGV2L251bGwgMj4mMQorICB8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9hbmRyZS9idWlsZC90bXAvc3lzcm9vdHMvNzQwMS91c3IvaW5jbHVkZS9zdHJpbmcuaDo2MzQ6MCwKKyAgfCAgICAgICAgICAgICAgICAgIGZyb20gL2hvbWUvYW5kcmUvYnVpbGQvdG1wL3dvcmsvY29yZTItMzItcmRrLWxpbnV4L2xpYnVwbnAvMS42LjE5LXIwL2xpYnVwbnAtMS42LjE5L3VwbnAvc3JjL2FwaS9VcG5wU3RyaW5nLmM6MjM6CisgIHwgL2hvbWUvYW5kcmUvYnVpbGQvdG1wL3dvcmsvY29yZTItMzItcmRrLWxpbnV4L2xpYnVwbnAvMS42LjE5LXIwL2xpYnVwbnAtMS42LjE5L3VwbnAvc3JjL2FwaS9VcG5wU3RyaW5nLmM6NDc6MTU6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yICcoJyBiZWZvcmUgJ19fZXh0ZW5zaW9uX18nCisgIHwgICBleHRlcm4gY2hhciAqc3RybmR1cChfX2NvbnN0IGNoYXIgKl9fc3RyaW5nLCBzaXplX3QgX19uKTsKKyAgfCAgICAgICAgICAgICAgICBeCisgIHwgbWFrZVszXTogKioqIFtzcmMvYXBpL2xpYnVwbnBfbGEtVXBucFN0cmluZy5sb10gRXJyb3IgMQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KKy0tLQorIHVwbnAvc3JjL2FwaS9VcG5wU3RyaW5nLmMgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdXBucC9zcmMvYXBpL1VwbnBTdHJpbmcuYyBiL3VwbnAvc3JjL2FwaS9VcG5wU3RyaW5nLmMKK2luZGV4IDQxYzk4OTguLjJmYTA5ZDcgMTAwNjQ0CistLS0gYS91cG5wL3NyYy9hcGkvVXBucFN0cmluZy5jCisrKysgYi91cG5wL3NyYy9hcGkvVXBucFN0cmluZy5jCitAQCAtMzIsNyArMzIsNyBAQAorIAkvKiBWQyBoYXMgc3RybmxlbiB3aGljaCBpcyBhbHJlYWR5IGluY2x1ZGVkIGJ1dCB3aXRoIChwb3RlbnRpYWxseSkgZGlmZmVyZW50IGxpbmthZ2UgKi8KKyAJLyogc3RybmxlbigpIGlzIGEgR05VIGV4dGVuc2lvbi4gKi8KKyAJI2lmIEhBVkVfU1RSTkxFTgorLQkJZXh0ZXJuIHNpemVfdCBzdHJubGVuKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBtYXhsZW4pOworKy8vCQlleHRlcm4gc2l6ZV90IHN0cm5sZW4oY29uc3QgY2hhciAqcywgc2l6ZV90IG1heGxlbik7CisgCSNlbHNlIC8qIEhBVkVfU1RSTkxFTiAqLworIAkJc3RhdGljIHNpemVfdCBzdHJubGVuKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBuKQorIAkJeworQEAgLTQ0LDcgKzQ0LDcgQEAKKyAKKyAvKiBzdHJuZHVwKCkgaXMgYSBHTlUgZXh0ZW5zaW9uLiAqLworICNpZiBIQVZFX1NUUk5EVVAgJiYgIWRlZmluZWQoV0lOMzIpCistCWV4dGVybiBjaGFyICpzdHJuZHVwKF9fY29uc3QgY2hhciAqX19zdHJpbmcsIHNpemVfdCBfX24pOworKy8vCWV4dGVybiBjaGFyICpzdHJuZHVwKF9fY29uc3QgY2hhciAqX19zdHJpbmcsIHNpemVfdCBfX24pOworICNlbHNlIC8qIEhBVkVfU1RSTkRVUCAmJiAhZGVmaW5lZChXSU4zMikgKi8KKyAJc3RhdGljIGNoYXIgKnN0cm5kdXAoY29uc3QgY2hhciAqX19zdHJpbmcsIHNpemVfdCBfX24pCisgCXsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXBucC9saWJ1cG5wL3NlcGJ1aWxkZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXBucC9saWJ1cG5wL3NlcGJ1aWxkZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkOTc2OGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1cG5wL2xpYnVwbnAvc2VwYnVpbGRmaXgucGF0Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJvbSBlMTk4ZjBhODc2NjBhMDQ4MTY0Y2EwZTE2ZDE4NTE3ZDBhZWU4NDZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgOSBKdW4gMjAxNSAxMjoyMDo0NSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGRzIHdoZW4gdXNpbmcgc2VwYXJhdGUgc291cmNlIGFuZCBidWlsZCBkaXJlY3Rvcmllcy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgICAgICAgICAgIHwgOCArKysrLS0tLQorIGl4bWwvTWFrZWZpbGUuYW0gICAgICAgfCAyICstCisgdGhyZWFkdXRpbC9NYWtlZmlsZS5hbSB8IDIgKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZTJjM2Y0Ny4uMTFkNWUyMiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNzE0LDggKzcxNCw4IEBAIEFDX09VVFBVVAorICMKKyAjIEZpbGVzIGNvcGllZCBmb3Igd2luZG93cyBjb21waWxhdGlvbi4KKyAjCistZWNobyAiY29uZmlndXJlOiBjb3B5aW5nIFwiYXV0b2NvbmZpZy5oXCIgICAgICAgICAgdG8gXCJidWlsZC9pbmMvYXV0b2NvbmZpZy5oXCIiCistY3AgYXV0b2NvbmZpZy5oIGJ1aWxkL2luYy9hdXRvY29uZmlnLmgKKy1lY2hvICJjb25maWd1cmU6IGNvcHlpbmcgXCJ1cG5wL2luYy91cG5wY29uZmlnLmhcIiB0byBcImJ1aWxkL2luYy91cG5wY29uZmlnLmhcIiIKKy1jcCB1cG5wL2luYy91cG5wY29uZmlnLmggYnVpbGQvaW5jL3VwbnBjb25maWcuaAorK2VjaG8gImNvbmZpZ3VyZTogY29weWluZyBcImF1dG9jb25maWcuaFwiICAgICAgICAgIHRvIFwiXCRzcmNkaXIvYnVpbGQvaW5jL2F1dG9jb25maWcuaFwiIgorK2NwIGF1dG9jb25maWcuaCAkc3JjZGlyL2J1aWxkL2luYy9hdXRvY29uZmlnLmgKKytlY2hvICJjb25maWd1cmU6IGNvcHlpbmcgXCJ1cG5wL2luYy91cG5wY29uZmlnLmhcIiB0byBcIlwkc3JjZGlyL2J1aWxkL2luYy91cG5wY29uZmlnLmhcIiIKKytjcCB1cG5wL2luYy91cG5wY29uZmlnLmggJHNyY2Rpci9idWlsZC9pbmMvdXBucGNvbmZpZy5oCisgCitkaWZmIC0tZ2l0IGEvaXhtbC9NYWtlZmlsZS5hbSBiL2l4bWwvTWFrZWZpbGUuYW0KK2luZGV4IDQ5ZGE3NjYuLjBlOWFiMmMgMTAwNjQ0CistLS0gYS9peG1sL01ha2VmaWxlLmFtCisrKysgYi9peG1sL01ha2VmaWxlLmFtCitAQCAtNyw3ICs3LDcgQEAKKyAKKyBTVUJESVJTIAkJPSBkb2MKKyAKKy1BTV9DUFBGTEFHUwkJPSAtSSQoc3JjZGlyKS9pbmMgLUkkKHNyY2Rpcikvc3JjL2luYworK0FNX0NQUEZMQUdTCQk9IC1JJCh0b3Bfc3JjZGlyKS91cG5wL2luYyAtSSQoc3JjZGlyKS9pbmMgLUkkKHNyY2Rpcikvc3JjL2luYworIEFNX0NGTEFHUwkJPSAKKyAKKyBMREFERAkJCT0gbGliaXhtbC5sYQorZGlmZiAtLWdpdCBhL3RocmVhZHV0aWwvTWFrZWZpbGUuYW0gYi90aHJlYWR1dGlsL01ha2VmaWxlLmFtCitpbmRleCBhNGVkMzI1Li40MmQwNzI2IDEwMDY0NAorLS0tIGEvdGhyZWFkdXRpbC9NYWtlZmlsZS5hbQorKysrIGIvdGhyZWFkdXRpbC9NYWtlZmlsZS5hbQorQEAgLTQsNyArNCw3IEBACisgIyAoQykgQ29weXJpZ2h0IDIwMDUgUmVtaSBUdXJib3VsdCA8cjNtaUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisgIworIAorLUFNX0NQUEZMQUdTCQk9IC1JJChzcmNkaXIpL2luYyAtSSQoc3JjZGlyKS9zcmMvaW5jCisrQU1fQ1BQRkxBR1MJCT0gLUkkKHRvcF9zcmNkaXIpL3VwbnAvaW5jIC1JJChzcmNkaXIpL2luYyAtSSQoc3JjZGlyKS9zcmMvaW5jCisgCisgaWYgRU5BQkxFX0RFQlVHCisgICAgIEFNX0NQUEZMQUdTCQkrPSAtRERFQlVHIC1EU1RBVFMKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXBucC9saWJ1cG5wXzEuNi4xOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnVwbnAvbGlidXBucF8xLjYuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTMzYThlYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnVwbnAvbGlidXBucF8xLjYuMTkuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJQb3J0YWJsZSBTREsgZm9yIFVQblAqIERldmljZXMiCitERVNDUklQVElPTiA9ICJUaGUgUG9ydGFibGUgU0RLIGZvciBVUG5QIERldmljZXMgaXMgYW4gU0RLIGZvciBkZXZlbG9wbWVudCBvZiBcCitVUG5QIGRldmljZSBhbmQgY29udHJvbCBwb2ludCBhcHBsaWNhdGlvbnMuIEl0IGNvbnNpc3RzIG9mIHRoZSBjb3JlIFVQblAgXAorcHJvdG9jb2xzIGFsb25nIHdpdGggYSBVUG5QLXNwZWNpZmljIGVYdGVuc2libGUgTWFya3VwIExhbmd1YWdlIChYTUwpIHBhcnNlciBcCitzdXBwb3J0aW5nIHRoZSBEb2N1bWVudCBPYmplY3QgTW9kZWwgKERPTSkgTGV2ZWwgMiBBUEkgYW5kIGFuIG9wdGlvbmFsLCBcCitpbnRlZ3JhdGVkIG1pbmkgd2ViIHNlcnZlciBmb3Igc2VydmluZyBVUG5QIHJlbGF0ZWQgZG9jdW1lbnRzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9wdXBucC5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iMzE5MGQ1MjQ0ZTA4ZTc4ZTRjOGVlNzg1NDRmNDg2MyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHVwbnAvJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9hdm9pZC1yZWRlZmluaW5nLXN0cm5sZW4tYW5kLXN0cm5kdXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2VwYnVpbGRmaXgucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWUxNmU1ZDMzYTNlYTc1MDZmMzhkNzFmYWNjMDU3ZGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjMxNDJiMzk2MDEyNDNiNTA1MzJlZWM5MGY0YTI3ZGJhODVlYjg2ZjU4ZDRiODQ5YWM5NGVkZWIyOWQ5YjIyYSIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3J5Z2VsL3J5Z2VsXzAuMjguMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3J5Z2VsL3J5Z2VsXzAuMjguMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2I3ZDQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvcnlnZWwvcnlnZWxfMC4yOC4yLmJiCkBAIC0wLDAgKzEsNTkgQEAKK1NVTU1BUlkgPSAiQSBVUG5QIEFWIG1lZGlhIHNlcnZlciBhbmQgcmVuZGVyZXIiCitERVNDUklQVElPTiA9ICJSeWdlbCBpcyBhIGhvbWUgbWVkaWEgc29sdXRpb24gKFVQblAgQVYgTWVkaWFTZXJ2ZXIpIHRoYXQgXAorYWxsb3cgeW91IHRvIGVhc2lseSBzaGFyZSBhdWRpbywgdmlkZW8gYW5kIHBpY3R1cmVzIHRvIG90aGVyIGRldmljZXMuIFwKK0FkZGl0aW9uYWxseSwgbWVkaWEgcGxheWVyIHNvZnR3YXJlIG1heSB1c2UgUnlnZWwgdG8gYmVjb21lIGEgTWVkaWFSZW5kZXJlciBcCit0aGF0IG1heSBiZSBjb250cm9sbGVkIHJlbW90ZWx5IGJ5IGEgVVBuUCBvciBETE5BIENvbnRyb2xsZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL1J5Z2VsIgorCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvcnlnZWwvcnlnZWwtbWFpbi52YWxhO2VuZGxpbmU9Mjc7bWQ1PTk5MzI0MTE4ZGE0YzAxMmQyNWVkYWUyZjc3OWFlOWIzIgorCitERVBFTkRTID0gImxpYnhtbDIgZ2xpYi0yLjAgZ3NzZHAgZ3VwbnAgZ3VwbnAtYXYgZ3VwbnAtZGxuYSBnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSBvc3NwLXV1aWQgbGliZ2VlIGxpYnNvdXAtMi40IGxpYm1lZGlhYXJ0LTIuMCBsaWJ1bmlzdHJpbmcgc3FsaXRlMyIKK1JERVBFTkRTXyR7UE59ID0gImdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UtcGxheWJhY2sgc2hhcmVkLW1pbWUtaW5mbyIKK1JSRUNPTU1FTkRTXyR7UE59ID0gInJ5Z2VsLXBsdWdpbi1tZWRpYS1leHBvcnQiCisKK0dOT01FX0NPTVBSRVNTX1RZUEUgPSAieHoiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI5ZmJlNGZiNTNiNmNmYTJmM2YzNzIzYjc2NDlhMjIxNSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjllYTIzZGY3MTg2Y2FhYzVmMWFhZDMxMzdlZGY2ZDUwN2QzMzliOWE0NjlmYzMxMzNkZjQwNDNmYTY2YjYxZjUiCisKK2luaGVyaXQgZ25vbWViYXNlIHZhbGEgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdHJhY2tlci1wbHVnaW4gLS13aXRoLW1lZGlhLWVuZ2luZT1nc3RyZWFtZXIiCisKK1BBQ0tBR0VDT05GSUcgPz0gImV4dGVybmFsIG1wcmlzIG1lZGlhdGhlayBydWloIG1lZGlhLWV4cG9ydCBnc3QtbGF1bmNoIGd0ayszIgorUEFDS0FHRUNPTkZJR1tleHRlcm5hbF0gPSAiLS1lbmFibGUtZXh0ZXJuYWwtcGx1Z2luLC0tZGlzYWJsZS1leHRlcm5hbC1wbHVnaW4iCitQQUNLQUdFQ09ORklHW21wcmlzXSA9ICItLWVuYWJsZS1tcHJpcy1wbHVnaW4sLS1kaXNhYmxlLW1wcmlzLXBsdWdpbiIKK1BBQ0tBR0VDT05GSUdbbWVkaWF0aGVrXSA9ICItLWVuYWJsZS1tZWRpYXRoZWstcGx1Z2luLC0tZGlzYWJsZS1tZWRpYXRoZWstcGx1Z2luIgorUEFDS0FHRUNPTkZJR1tydWloXSA9ICItLWVuYWJsZS1ydWloLXBsdWdpbiwtLWRpc2FibGUtcnVpaC1wbHVnaW4iCitQQUNLQUdFQ09ORklHW21lZGlhLWV4cG9ydF0gPSAiLS1lbmFibGUtbWVkaWEtZXhwb3J0LXBsdWdpbiwtLWRpc2FibGUtbWVkaWEtZXhwb3J0LXBsdWdpbiIKK1BBQ0tBR0VDT05GSUdbZ3N0LWxhdW5jaF0gPSAiLS1lbmFibGUtZ3N0LWxhdW5jaC1wbHVnaW4sLS1kaXNhYmxlLWdzdC1sYXVuY2gtcGx1Z2luIgorUEFDS0FHRUNPTkZJR1tndGsrM10gPSAiLC0td2l0aG91dC11aSxndGsrMyIKKworTElCViA9ICIyLjYiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICAgICMgUmVtb3ZlIC5sYSBmaWxlcyBmb3IgbG9hZGFibGUgbW9kdWxlcworICAgICAgIHJtIC1mICR7RH0vJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vZW5naW5lcy8qLmxhCisgICAgICAgcm0gLWYgJHtEfS8ke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9wbHVnaW5zLyoubGEKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9L2VuZ2luZXMgJHtkYXRhZGlyfS9kYnVzLTEgJHtkYXRhZGlyfS9pY29ucyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vZW5naW5lcy8uZGVidWcgJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vcGx1Z2lucy8uZGVidWciCisKK1BBQ0tBR0VTICs9ICIke1BOfS1tZXRhIgorQUxMT1dfRU1QVFlfJHtQTn0tbWV0YSA9ICIxIgorCitQQUNLQUdFU19EWU5BTUlDID0gIiR7UE59LXBsdWdpbi0qIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgcnlnZWxfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9JykKKyAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwbHVnaW5fcG9zdGluc3QnLCBUcnVlKQorICAgIHBrZ3MgPSBbXQorCisgICAgcGtncyArPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBvZS5wYXRoLmpvaW4ocnlnZWxfbGliZGlyLCAicGx1Z2lucyIpLCAnbGlicnlnZWwtKC4qKVwuc28kJywgZC5leHBhbmQoJyR7UE59LXBsdWdpbi0lcycpLCAnUnlnZWwgcGx1Z2luIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPWQuZXhwYW5kKCcke1BOfScpKQorICAgIHBrZ3MgKz0gZG9fc3BsaXRfcGFja2FnZXMoZCwgb2UucGF0aC5qb2luKHJ5Z2VsX2xpYmRpciwgInBsdWdpbnMiKSwgJyguKilcLnBsdWdpbiQnLCBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJyksICdSeWdlbCBwbHVnaW4gZm9yICVzJywgcG9zdGluc3Q9cG9zdGluc3QsIGV4dHJhX2RlcGVuZHM9ZC5leHBhbmQoJyR7UE59JykpCisKKyAgICBtZXRhcGtnID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkgKyAnLW1ldGEnCisgICAgZC5zZXRWYXIoJ1JERVBFTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihwa2dzKSkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL2R2Yi1hcHBzL2R2Yi1hcHBzXzEuMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvZHZiLWFwcHMvZHZiLWFwcHNfMS4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWMwZDY4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL2R2Yi1hcHBzL2R2Yi1hcHBzXzEuMS4xLmJiCkBAIC0wLDAgKzEsMTA2IEBACitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpbnV4dHYub3JnIgorU1VNTUFSWSA9ICJMaW51eCBEVkIgQVBJIGFwcGxpY2F0aW9ucyBhbmQgdXRpbGl0aWVzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NSQ19VUkkgPSAiaGc6Ly9saW51eHR2Lm9yZy9oZzttb2R1bGU9ZHZiLWFwcHM7cHJvdG9jb2w9aHR0cCIKK1NSQ1JFViA9ICIzZmM3ZGZhNjg0ODQiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBzZWQgLWkgLWUgczovdXNyL2luY2x1ZGU6JHtTVEFHSU5HX0lOQ0RJUn06ZyB1dGlsL2F2NzExMF9sb2Fka2V5cy9nZW5lcmF0ZS1rZXluYW1lcy5zaCAKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBtYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfS8ke2RvY2Rpcn0vZHZiLWFwcHMKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtkb2NkaXJ9L2R2Yi1hcHBzL3NjYW4KKyAgICBpbnN0YWxsIC1kICR7RH0vJHtkb2NkaXJ9L2R2Yi1hcHBzL3N6YXAKKyAgICBjaG1vZCBhK3J4ICR7RH0vJHtsaWJkaXJ9Lyouc28qCisKKyAgICAjIEluc3RhbGwgdGVzdHMKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS90ZXN0L3NldHZvbHRhZ2UgICAgICAke0R9JHtiaW5kaXJ9L3Rlc3Rfc2V0dm9sdGFnZQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Rlc3Qvc2V0MjJrICAgICAgICAgICR7RH0ke2JpbmRpcn0vdGVzdF9zZXQyMmsKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS90ZXN0L3NlbmRidXJzdCAgICAgICAke0R9JHtiaW5kaXJ9L3Rlc3Rfc2VuZGJ1cnN0CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vdGVzdC9kaXNlcWMgICAgICAgICAgJHtEfSR7YmluZGlyfS90ZXN0X2Rpc2VxYworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Rlc3QvdGVzdF9zZWN0aW9ucyAgICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vdGVzdC90ZXN0X2F2X3BsYXkgICAgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS90ZXN0L3Rlc3Rfc3RpbGxpbWFnZSAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Rlc3QvdGVzdF9kdnJfcGxheSAgICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vdGVzdC90ZXN0X3R0ICAgICAgICAgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS90ZXN0L3Rlc3Rfc2VjX25lICAgICAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Rlc3QvdGVzdF9zdGMgICAgICAgICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vdGVzdC90ZXN0X2F2ICAgICAgICAgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS90ZXN0L3Rlc3RfdmV2ZW50ICAgICAke0R9JHtiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Rlc3QvdGVzdF9wZXMgICAgICAgICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vdGVzdC90ZXN0X2R2ciAgICAgICAgJHtEfSR7YmluZGlyfS8KKworICAgIGNwIC1wUFIgJHtTfS91dGlsL3N6YXAvY2hhbm5lbHMtY29uZiogJHtEfS8ke2RvY2Rpcn0vZHZiLWFwcHMvc3phcC8KKyAgICBjcCAtcFBSICR7U30vdXRpbC9zemFwL1JFQURNRSAgICR7RH0vJHtkb2NkaXJ9L2R2Yi1hcHBzL3N6YXAvCit9CisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBkdmJfbGliZGlyID0gYmIuZGF0YS5leHBhbmQoJyR7bGliZGlyfScsIGQpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZHZiX2xpYmRpciwgJ15saWIoLiopXC5zbyQnLCAnbGliJXMnLCAnRFZCICVzIHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGR2Yl9saWJkaXIsICdebGliKC4qKVwubGEkJywgJ2xpYiVzLWRldicsICdEVkIgJXMgZGV2ZWxvcG1lbnQgcGFja2FnZScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LWRldicpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZHZiX2xpYmRpciwgJ15saWIoLiopXC5hJCcsICdsaWIlcy1kZXYnLCAnRFZCICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGR2Yl9saWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnRFZCICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorfQorCitQQUNLQUdFUyA9KyAiZHZiLWV2dGVzdCBkdmItZXZ0ZXN0LWRiZyBcCisgICAgICAgICAgICAgZHZiYXBwLXRlc3RzIGR2YmFwcC10ZXN0cy1kYmcgXAorICAgICAgICAgICAgIGR2YmRhdGUgZHZiZGF0ZS1kYmcgXAorICAgICAgICAgICAgIGR2YnRyYWZmaWMgZHZidHJhZmZpYy1kYmcgXAorICAgICAgICAgICAgIGR2Ym5ldCBkdmJuZXQtZGJnIFwKKyAgICAgICAgICAgICBkdmItc2NhbiBkdmItc2Nhbi1kYmcgZHZiLXNjYW4tZGF0YSBcCisgICAgICAgICAgICAgZHZiLWF6YXAgZHZiLWF6YXAtZGJnIFwKKyAgICAgICAgICAgICBkdmItY3phcCBkdmItY3phcC1kYmcgXAorICAgICAgICAgICAgIGR2Yi1zemFwIGR2Yi1zemFwLWRiZyBcCisgICAgICAgICAgICAgZHZiLXR6YXAgZHZiLXR6YXAtZGJnIFwKKyAgICAgICAgICAgICBkdmItZmVtb24gZHZiLWZlbW9uLWRiZyBcCisgICAgICAgICAgICAgZHZiLXphcC1kYXRhIgorCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfSAke2RhdGFkaXJ9L2R2YiIKK0ZJTEVTXyR7UE59LWRvYyA9ICIiCitGSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSIKKworRklMRVNfZHZiLWV2dGVzdCA9ICIke2JpbmRpcn0vZXZ0ZXN0IgorRklMRVNfZHZiLWV2dGVzdC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9ldnRlc3QiCitSQ09ORkxJQ1RTX2R2Yi1ldnRlc3QgPSAiZXZ0ZXN0IgorCitGSUxFU19kdmJhcHAtdGVzdHMgPSAiJHtiaW5kaXJ9Lyp0ZXN0KiAiCitGSUxFU19kdmJhcHAtdGVzdHMtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvKnRlc3QqIgorCitGSUxFU19kdmJkYXRlID0gIiR7YmluZGlyfS9kdmJkYXRlIgorRklMRVNfZHZiZGF0ZS1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9kdmJkYXRlIgorCitGSUxFU19kdmJ0cmFmZmljID0gIiR7YmluZGlyfS9kdmJ0cmFmZmljIgorRklMRVNfZHZidHJhZmZpYy1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9kdmJ0cmFmZmljIgorCitGSUxFU19kdmJuZXQgPSAiJHtiaW5kaXJ9L2R2Ym5ldCIKK0ZJTEVTX2R2Ym5ldC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9kdmJuZXQiCisKK0ZJTEVTX2R2Yi1zY2FuID0gIiR7YmluZGlyfS8qc2NhbiAiCitGSUxFU19kdmItc2Nhbi1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy8qc2NhbiIKK0ZJTEVTX2R2Yi1zY2FuLWRhdGEgPSAiJHtkb2NkaXJ9L2R2Yi1hcHBzL3NjYW4iCisKK0ZJTEVTX2R2Yi1hemFwID0gIiR7YmluZGlyfS9hemFwIgorRklMRVNfZHZiLWF6YXAtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvYXphcCIKKworRklMRVNfZHZiLWN6YXAgPSAiJHtiaW5kaXJ9L2N6YXAiCitGSUxFU19kdmItY3phcC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9jemFwIgorCitGSUxFU19kdmItc3phcCA9ICIke2JpbmRpcn0vc3phcCIKK0ZJTEVTX2R2Yi1zemFwLWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnL3N6YXAiCisKK0ZJTEVTX2R2Yi10emFwID0gIiR7YmluZGlyfS90emFwIgorRklMRVNfZHZiLXR6YXAtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvdHphcCIKKworRklMRVNfZHZiLWZlbW9uID0gIiR7YmluZGlyfS9mZW1vbiIKK0ZJTEVTX2R2Yi1mZW1vbi1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9mZW1vbiIKKworRklMRVNfZHZiLXphcC1kYXRhID0gIiR7ZG9jZGlyfS9kdmItYXBwcy9zemFwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW0vcmVzcGVjdC1jZmxhZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi9vc2NhbS9vc2NhbS9yZXNwZWN0LWNmbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzlkMDRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW0vcmVzcGVjdC1jZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAoraHR0cDovL3d3dy5zdHJlYW1ib2FyZC50di9vc2NhbS9jaGFuZ2VzZXQvMTAwNjgKK2h0dHA6Ly93d3cuc3RyZWFtYm9hcmQudHYvb3NjYW0vY2hhbmdlc2V0LzEwMDcwCisKK0luZGV4OiAvQ01ha2VMaXN0cy50eHQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMDA2NykKKysrKyBiL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMDA2OCkKK0BAIC02MjUsOCArNjI1LDggQEAKKyAgICAgbGlzdChHRVQgR0NDX1ZFUlNJT05fQ09NUE9ORU5UUyAwIEdDQ19NSU5PUikKKyAgICAgYWRkX2RlZmluaXRpb25zICgiLVcgLVdhbGwgIikKKy0gICAgc2V0IChDTUFLRV9DX0ZMQUdTICItV2FsbCAtTzIiKQorLQlzZXQgKENNQUtFX0NYWF9GTEFHUyAiLVdhbGwgLU8yIikKKy0gICAgc2V0IChDTUFLRV9DX0ZMQUdTX0RFQlVHICItTzAgLWdnZGIiKQorLSAgICBzZXQgKENNQUtFX0NYWF9GTEFHU19ERUJVRyAiLU8wIC1nZ2RiIikKKysgICAgc2V0IChDTUFLRV9DX0ZMQUdTICIke0NNQUtFX0NfRkxBR1N9IC1XYWxsIC1PMiIpCisrCXNldCAoQ01BS0VfQ1hYX0ZMQUdTICIke0NNQUtFX0NYWF9GTEFHU30gLVdhbGwgLU8yIikKKysgICAgc2V0IChDTUFLRV9DX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NfRkxBR1NfREVCVUd9IC1PMCAtZ2dkYiIpCisrICAgIHNldCAoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICIke0NNQUtFX0NYWF9GTEFHU19ERUJVR30gLU8wIC1nZ2RiIikKKyBlbmRpZiAoQ01BS0VfQ09NUElMRVJfSVNfR05VQ0MpCisgIyBzb21lIG9wdGltaXNhdGlvbnMKK0luZGV4OiAvY3NjdGFwaS9DTWFrZUxpc3RzLnR4dAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvY3NjdGFwaS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTAwNjkpCisrKysgYi9jc2N0YXBpL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMDA3MCkKK0BAIC02LDggKzYsOCBAQAorICAgICBsaXN0KEdFVCBHQ0NfVkVSU0lPTl9DT01QT05FTlRTIDAgR0NDX01JTk9SKQorICAgICBhZGRfZGVmaW5pdGlvbnMgKCItVyAtV2FsbCAiKQorLSAgICBzZXQgKENNQUtFX0NfRkxBR1MgIi1XYWxsIC1PMiIpCistCXNldCAoQ01BS0VfQ1hYX0ZMQUdTICItV2FsbCAtTzIiKQorLSAgICBzZXQgKENNQUtFX0NfRkxBR1NfREVCVUcgIi1PMCAtZ2dkYiIpCistICAgIHNldCAoQ01BS0VfQ1hYX0ZMQUdTX0RFQlVHICItTzAgLWdnZGIiKQorKyAgICBzZXQgKENNQUtFX0NfRkxBR1MgIiR7Q01BS0VfQ19GTEFHU30gLVdhbGwgLU8yIikKKysJc2V0IChDTUFLRV9DWFhfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAtV2FsbCAtTzIiKQorKyAgICBzZXQgKENNQUtFX0NfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ19GTEFHU19ERUJVR30gLU8wIC1nZ2RiIikKKysgICAgc2V0IChDTUFLRV9DWFhfRkxBR1NfREVCVUcgIiR7Q01BS0VfQ1hYX0ZMQUdTX0RFQlVHfSAtTzAgLWdnZGIiKQorIGVuZGlmIChDTUFLRV9DT01QSUxFUl9JU19HTlVDQykKKyAjIE1hYyBleHRyYSByZW1vdmVzIHRvIGF2b2lkIHJhbmxpYiB3YXJuaW5ncyBpbiBzb21lIHNpdHVhdGlvbnMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL29zY2FtL29zY2FtX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL29zY2FtL29zY2FtX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWM1MTdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW1fc3ZuLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiT1NDYW06IE9wZW4gU291cmNlIENvbmRpdGlvbmFsIEFjY2VzcyBNb2R1bGUiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnN0cmVhbWJvYXJkLnR2L29zY2FtLyIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTID0gImxpYnVzYjEgb3BlbnNzbCBwY3NjLWxpdGUiCisKK1NSQ19VUkkgPSAic3ZuOi8vd3d3LnN0cmVhbWJvYXJkLnR2L3N2bi9vc2NhbTttb2R1bGU9dHJ1bms7cHJvdG9jb2w9aHR0cCBcCisgICAgZmlsZTovL3Jlc3BlY3QtY2ZsYWdzLnBhdGNoIFwKKyIKK1NSQ1JFViA9ICI5MTY0IgorUFYgPSAiMS4xMCske1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L3RydW5rIgorCitpbmhlcml0IGNtYWtlCisKK0VYVFJBX09FQ01BS0UgPSAiLURERUZBVUxUX0NTX0NPTkZESVI9JHtzeXNjb25mZGlyfSAtRENNQUtFX0JVSUxEX1RZUEU9RGVidWciCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL3R2aGVhZGVuZC90dmhlYWRlbmQvMDAwMS1Nb3ZlLXR2aGVhZGVuZC1zcGVjaWZpYy1MRC1DRkxBR1MtaW50by1hLWhlbHBlci12YXJpLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvdHZoZWFkZW5kL3R2aGVhZGVuZC8wMDAxLU1vdmUtdHZoZWFkZW5kLXNwZWNpZmljLUxELUNGTEFHUy1pbnRvLWEtaGVscGVyLXZhcmkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRmY2NlMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL3R2aGVhZGVuZC90dmhlYWRlbmQvMDAwMS1Nb3ZlLXR2aGVhZGVuZC1zcGVjaWZpYy1MRC1DRkxBR1MtaW50by1hLWhlbHBlci12YXJpLnBhdGNoCkBAIC0wLDAgKzEsOTIgQEAKK0Zyb20gMmVlNjRiMzU5NDY0YjQ4Zjc1MTY4M2ZhYTVkZWQzZWU4MjAwZmU5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBGcmksIDIxIERlYyAyMDEyIDEwOjE1OjQyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIE1vdmUgdHZoZWFkZW5kIHNwZWNpZmljIExEL0NGTEFHUyBpbnRvIGEgaGVscGVyIHZhcmlhYmxlIHRvCisgYXZvaWQgYmVpbmcgb3ZlcndyaXR0ZW4KKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKy0tLQorIE1ha2VmaWxlICAgICAgICAgICAgICB8ICAgMjAgKysrKysrKysrKy0tLS0tLS0tLS0KKyBzdXBwb3J0L2NvbmZpZ3VyZS5pbmMgfCAgICA4ICsrKystLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDhjNmIyOTMuLmRhZjVmMTQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0yNywxMiArMjcsMTIgQEAgUFJPRyA9ICR7QlVJTERESVJ9L3R2aGVhZGVuZAorICMgQ29tbW9uIGNvbXBpbGVyIGZsYWdzCisgIworIAorLUNGTEFHUyAgKz0gLVdhbGwgLVdlcnJvciAtV3dyaXRlLXN0cmluZ3MgLVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucworLUNGTEFHUyAgKz0gLVdtaXNzaW5nLXByb3RvdHlwZXMgLWZtcy1leHRlbnNpb25zCistQ0ZMQUdTICArPSAtZyAtZnVuc2lnbmVkLWNoYXIgLU8yIAorLUNGTEFHUyAgKz0gLURfRklMRV9PRkZTRVRfQklUUz02NAorLUNGTEFHUyAgKz0gLUkke0JVSUxERElSfSAtSSR7Q1VSRElSfS9zcmMgLUkke0NVUkRJUn0KKy1MREZMQUdTICs9IC1scnQgLWxkbCAtbHB0aHJlYWQgLWxtCisrVFZIX0NGTEFHUyAgKz0gLVdhbGwgLVdlcnJvciAtV3dyaXRlLXN0cmluZ3MgLVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucworK1RWSF9DRkxBR1MgICs9IC1XbWlzc2luZy1wcm90b3R5cGVzIC1mbXMtZXh0ZW5zaW9ucworK1RWSF9DRkxBR1MgICs9IC1nIC1mdW5zaWduZWQtY2hhciAtTzIgCisrVFZIX0NGTEFHUyAgKz0gLURfRklMRV9PRkZTRVRfQklUUz02NAorK1RWSF9DRkxBR1MgICs9IC1JJHtCVUlMRERJUn0gLUkke0NVUkRJUn0vc3JjIC1JJHtDVVJESVJ9CisrVFZIX0xERkxBR1MgKz0gLWxydCAtbGRsIC1scHRocmVhZCAtbG0KKyAKKyAjCisgIyBPdGhlciBjb25maWcKK0BAIC0xNzksOCArMTc5LDggQEAgU1JDUy0ke0NPTkZJR19DV0N9ICArPSBzcmMvZmZkZWNzYS9mZmRlY3NhX2ludGVyZmFjZS5jIFwKKyAJc3JjL2ZmZGVjc2EvZmZkZWNzYV9pbnQuYworIFNSQ1MtJHtDT05GSUdfTU1YfSAgKz0gc3JjL2ZmZGVjc2EvZmZkZWNzYV9tbXguYworIFNSQ1MtJHtDT05GSUdfU1NFMn0gKz0gc3JjL2ZmZGVjc2EvZmZkZWNzYV9zc2UyLmMKKy0ke0JVSUxERElSfS9zcmMvZmZkZWNzYS9mZmRlY3NhX21teC5vICA6IENGTEFHUyArPSAtbW1teAorLSR7QlVJTERESVJ9L3NyYy9mZmRlY3NhL2ZmZGVjc2Ffc3NlMi5vIDogQ0ZMQUdTICs9IC1tc3NlMgorKyR7QlVJTERESVJ9L3NyYy9mZmRlY3NhL2ZmZGVjc2FfbW14Lm8gIDogVFZIX0NGTEFHUyArPSAtbW1teAorKyR7QlVJTERESVJ9L3NyYy9mZmRlY3NhL2ZmZGVjc2Ffc3NlMi5vIDogVFZIX0NGTEFHUyArPSAtbXNzZTIKKyBlbmRpZgorIAorICMgRmlsZSBidW5kbGVzCitAQCAtMjE3LDEyICsyMTcsMTIgQEAgYWxsOiAke1BST0d9CisgCisgIyBCaW5hcnkKKyAke1BST0d9OiAkKE9CSlMpICQoQUxMREVQUykKKy0JJChDQykgLW8gJEAgJChPQkpTKSAkKENGTEFHUykgJChMREZMQUdTKQorKwkkKENDKSAtbyAkQCAkKE9CSlMpICQoVFZIX0NGTEFHUykgJChUVkhfTERGTEFHUykgJChDRkxBR1MpICQoTERGTEFHUykKKyAKKyAjIE9iamVjdAorICR7QlVJTERESVJ9LyUubzogJS5jCisgCUBta2RpciAtcCAkKGRpciAkQCkKKy0JJChDQykgLU1EIC1NUCAkKENGTEFHUykgLWMgLW8gJEAgJChDVVJESVIpLyQ8CisrCSQoQ0MpIC1NRCAtTVAgJChUVkhfQ0ZMQUdTKSAkKENGTEFHUykgLWMgLW8gJEAgJChDVVJESVIpLyQ8CisgCisgIyBBZGQtb24KKyAke0JVSUxERElSfS8lLnNvOiAke1NSQ1NfRVhUUkF9CitkaWZmIC0tZ2l0IGEvc3VwcG9ydC9jb25maWd1cmUuaW5jIGIvc3VwcG9ydC9jb25maWd1cmUuaW5jCitpbmRleCAwMTMwODgwLi4zMzI1MTFlIDEwMDY0NAorLS0tIGEvc3VwcG9ydC9jb25maWd1cmUuaW5jCisrKysgYi9zdXBwb3J0L2NvbmZpZ3VyZS5pbmMKK0BAIC00NjQsOCArNDY0LDggQEAgaWZlcSAoXCQob3JpZ2luIENDKSxkZWZhdWx0KQorIENDICAgICAgICA9ICR7Q0N9CisgZW5kaWYKKyBQWVRIT04gICA/PSAke1BZVEhPTn0KKy1DRkxBR1MgICArPSAke0NGTEFHU30KKy1MREZMQUdTICArPSAke0xERkxBR1N9CisrVFZIX0NGTEFHUyAgICs9ICR7Q0ZMQUdTfQorK1RWSF9MREZMQUdTICArPSAke0xERkxBR1N9CisgcHJlZml4ICAgID0gJHtwcmVmaXh9CisgYmluZGlyICAgID0gJHtiaW5kaXJ9CisgbWFuZGlyICAgID0gJHttYW5kaXJ9CitAQCAtNDgyLDggKzQ4Miw4IEBAIEVPRgorICAgIyBBZGQgcGFja2FnZSBjb25maWcKKyAgIGZvciBwa2cgaW4gJHtQQUNLQUdFU1sqXX07IGRvCisgICAgIGNhdCA+PiR7Q09ORklHX01LfSA8PEVPRgorLUxERkxBR1MgKz0gJChwa2ctY29uZmlnIC0tbGlicyAkcGtnKQorLUNGTEFHUyAgKz0gJChwa2ctY29uZmlnIC0tY2ZsYWdzICRwa2cpCisrVFZIX0xERkxBR1MgKz0gJChwa2ctY29uZmlnIC0tbGlicyAkcGtnKQorK1RWSF9DRkxBR1MgICs9ICQocGtnLWNvbmZpZyAtLWNmbGFncyAkcGtnKQorIEVPRgorICAgZG9uZQorIAorLS0gCisxLjcuNy42CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL3R2aGVhZGVuZC90dmhlYWRlbmRfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvdHZoZWFkZW5kL3R2aGVhZGVuZF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjVkNDNjNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL3R2aGVhZGVuZC90dmhlYWRlbmRfZ2l0LmJiCkBAIC0wLDAgKzEsMzEgQEAKK1NVTU1BUlkgPSAiVHZoZWFkZW5kIFRWIHN0cmVhbWluZyBzZXJ2ZXIiCitIT01FUEFHRSA9ICJodHRwczovL3d3dy5sb25lbHljb2Rlci5jb20vcmVkbWluZS9wcm9qZWN0cy90dmhlYWRlbmQiCisKK0RFUEVORFMgPSAiYXZhaGkgemxpYiBvcGVuc3NsIHB5dGhvbi1uYXRpdmUiCisKK0xJQ0VOU0UgPSAiR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OWVlZjkxMTQ4YTliMTRlYzdmOWRmMzMzZGFlYmM3NDYiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90dmhlYWRlbmQvdHZoZWFkZW5kLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1vdmUtdHZoZWFkZW5kLXNwZWNpZmljLUxELUNGTEFHUy1pbnRvLWEtaGVscGVyLXZhcmkucGF0Y2ggXAorIgorU1JDUkVWID0gImE0MjBjODNhMGUwZDJjMzFjMmMxNWQwZmVjNmZlZGMzZjVhMzZkZmUiCitQViA9ICIzLjMiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gXAorICAgICAgICAgICAgICAgIC0tbGliZGlyPSR7bGliZGlyfSBcCisgICAgICAgICAgICAgICAgLS1iaW5kaXI9JHtiaW5kaXJ9IFwKKyAgICAgICAgICAgICAgICAtLWRhdGFkaXI9JHtkYXRhZGlyfSBcCisgICAgICAgICAgICAgICAgLS1hcmNoPSR7VEFSR0VUX0FSQ0h9IFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZHZic2NhbiBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWJ1bmRsZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vJHtCUE59IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWMvMDAwMS1jb25maWd1cmUtZG9uLXQtcnVuLXB5dGhvbi1kaXN0dXRpbHMtdG8tZmluZC1TVEFHSU5HLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWMvMDAwMS1jb25maWd1cmUtZG9uLXQtcnVuLXB5dGhvbi1kaXN0dXRpbHMtdG8tZmluZC1TVEFHSU5HLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmYzM5NTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy8wMDAxLWNvbmZpZ3VyZS1kb24tdC1ydW4tcHl0aG9uLWRpc3R1dGlscy10by1maW5kLVNUQUdJTkcucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAwZGNlNWEyYWJkOWY0Mjg3NjYxNmMzNTc3MmE0ZDcxYzUzOTk1NDNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KK0RhdGU6IFNhdCwgMTcgRGVjIDIwMTEgMTE6Mzg6MTUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzRdIGNvbmZpZ3VyZTogZG9uJ3QgcnVuIHB5dGhvbiBkaXN0dXRpbHMgdG8gZmluZCBTVEFHSU5HX0lOQ0RJUi9weXRob24sIGl0IGlzIG5vdCBzYWZlIGZvciBwZXItbWFjaGluZSBzeXNyb290cworCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorLS0tCisgbTQvYXhfcHl0aG9uX2RldmVsLm00IHwgICAgNyArLS0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tNC9heF9weXRob25fZGV2ZWwubTQgYi9tNC9heF9weXRob25fZGV2ZWwubTQKK2luZGV4IGFkYmQyMDcuLmRlZTcwZjYgMTAwNjQ0CistLS0gYS9tNC9heF9weXRob25fZGV2ZWwubTQKKysrKyBiL200L2F4X3B5dGhvbl9kZXZlbC5tNAorQEAgLTE1MSwxMiArMTUxLDcgQEAgJGFjX2Rpc3R1dGlsc19yZXN1bHRdKQorIAkjCisgCUFDX01TR19DSEVDS0lORyhbZm9yIFB5dGhvbiBpbmNsdWRlIHBhdGhdKQorIAlpZiB0ZXN0IC16ICIkUFlUSE9OX0NQUEZMQUdTIjsgdGhlbgorLQkJcHl0aG9uX3BhdGg9YCRQWVRIT04gLWMgImltcG9ydCBkaXN0dXRpbHMuc3lzY29uZmlnOyBcCistCQkJcHJpbnQgKGRpc3R1dGlscy5zeXNjb25maWcuZ2V0X3B5dGhvbl9pbmMgKCkpOyJgCistCQlpZiB0ZXN0IC1uICIke3B5dGhvbl9wYXRofSI7IHRoZW4KKy0JCQlweXRob25fcGF0aD0iLUkkcHl0aG9uX3BhdGgiCistCQlmaQorLQkJUFlUSE9OX0NQUEZMQUdTPSRweXRob25fcGF0aAorKwkJUFlUSE9OX0NQUEZMQUdTPSItSSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCisgCWZpCisgCUFDX01TR19SRVNVTFQoWyRQWVRIT05fQ1BQRkxBR1NdKQorIAlBQ19TVUJTVChbUFlUSE9OX0NQUEZMQUdTXSkKKy0tIAorMS43LjIuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy8wMDAyLVJldmVydC1maXhlZC1pb3MtQWRkLW1lbW9yeS1iYXJyaWVycy10by1hdG9taWMtQWRkLVMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy8wMDAyLVJldmVydC1maXhlZC1pb3MtQWRkLW1lbW9yeS1iYXJyaWVycy10by1hdG9taWMtQWRkLVMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBhNDAzNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWVkaWFjZW50cmUveGJtYy94Ym1jLzAwMDItUmV2ZXJ0LWZpeGVkLWlvcy1BZGQtbWVtb3J5LWJhcnJpZXJzLXRvLWF0b21pYy1BZGQtUy5wYXRjaApAQCAtMCwwICsxLDk3IEBACitGcm9tIDdiMmE4YTc4NjlkMjU3Y2JhMzVmNTNmNmQ4Nzc4NzdjMjljZGFjMjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQYXVsIE1lbnplbCA8cGF1bGVwYW50ZXJAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorRGF0ZTogU3VuLCAxNCBBdWcgMjAxMSAyMTo1Mzo0NyArMDIwMAorU3ViamVjdDogW1BBVENIIDIvNF0gUmV2ZXJ0ICJmaXhlZDpbaW9zXSBBZGQgbWVtb3J5IGJhcnJpZXJzIHRvIGF0b21pYyBBZGQvU3VidHJhY3QgYW5kIEluY3JlbWVudC9EZWNyZW1lbnQgZnVuY3Rpb25zIHRvIGVuc3VyZSBzeW5jaHJvbml6ZWQgYWNjZXNzZXMuIgorCitUaGlzIHJldmVydHMgY29tbWl0IDlhMTBjNDg3MTBkZjc5MTE4ZTM5ZTliM2JiMGExNWJmMWZlNjk0ZDEuCisKK1RoZSBidWlsZCAoT3BlbkVtYmVkZGVkIGBhbmdzdHJvbS0yMDEwLnhgIGZvciBgTUFDSElORSA9ICJiZWFnbGVib2FyZCIpIGZhaWxzIHdpdGggdGhlIGZvbGxvd2luZyBlcnJvci4KKworICAgICAgICBtYWtlIC1DIHhibWMvdGhyZWFkcworICAgICAgICBtYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9vZS9idWlsZC1hbmdzdHJvbS1uZXh0L2FuZ3N0cm9tLWRldi93b3JrL2FybXY3YS1hbmdzdHJvbS1saW51eC1nbnVlYWJpL3hibWMtMTAuMDUtcjExK2dpdHIwKzlhMTBjNDg3MTBkZjc5MTE4ZTM5ZTliM2JiMGExNWJmMWZlNjk0ZDEvZ2l0L3hibWMvdGhyZWFkcycKKyAgICAgICAgQ1BQICAgICBBdG9taWNzLm8KKyAgICAgICAgL3RtcC9jY0l6VG0zTC5zOiBBc3NlbWJsZXIgbWVzc2FnZXM6CisgICAgICAgIC90bXAvY2NJelRtM0wuczo0MDogRXJyb3I6IGdhcmJhZ2UgZm9sbG93aW5nIGluc3RydWN0aW9uIC0tIGBkbWIgaXNoJworICAgICAgICAvdG1wL2NjSXpUbTNMLnM6NDg6IEVycm9yOiBnYXJiYWdlIGZvbGxvd2luZyBpbnN0cnVjdGlvbiAtLSBgZG1iIGlzaCcKKyAgICAgICAgL3RtcC9jY0l6VG0zTC5zOjc2OiBFcnJvcjogZ2FyYmFnZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb24gLS0gYGRtYiBpc2gnCisgICAgICAgIC90bXAvY2NJelRtM0wuczo4MzogRXJyb3I6IGdhcmJhZ2UgZm9sbG93aW5nIGluc3RydWN0aW9uIC0tIGBkbWIgaXNoJworICAgICAgICAvdG1wL2NjSXpUbTNMLnM6MTExOiBFcnJvcjogZ2FyYmFnZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb24gLS0gYGRtYiBpc2gnCisgICAgICAgIC90bXAvY2NJelRtM0wuczoxMTg6IEVycm9yOiBnYXJiYWdlIGZvbGxvd2luZyBpbnN0cnVjdGlvbiAtLSBgZG1iIGlzaCcKKyAgICAgICAgL3RtcC9jY0l6VG0zTC5zOjE0NTogRXJyb3I6IGdhcmJhZ2UgZm9sbG93aW5nIGluc3RydWN0aW9uIC0tIGBkbWIgaXNoJworICAgICAgICAvdG1wL2NjSXpUbTNMLnM6MTUyOiBFcnJvcjogZ2FyYmFnZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb24gLS0gYGRtYiBpc2gnCisgICAgICAgIC90bXAvY2NJelRtM0wuczoxODA6IEVycm9yOiBnYXJiYWdlIGZvbGxvd2luZyBpbnN0cnVjdGlvbiAtLSBgZG1iIGlzaCcKKyAgICAgICAgL3RtcC9jY0l6VG0zTC5zOjE4NzogRXJyb3I6IGdhcmJhZ2UgZm9sbG93aW5nIGluc3RydWN0aW9uIC0tIGBkbWIgaXNoJworICAgICAgICBtYWtlWzFdOiAqKiogW0F0b21pY3Mub10gRXJyb3IgMQorICAgICAgICBtYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL29lL2J1aWxkLWFuZ3N0cm9tLW5leHQvYW5nc3Ryb20tZGV2L3dvcmsvYXJtdjdhLWFuZ3N0cm9tLWxpbnV4LWdudWVhYmkveGJtYy0xMC4wNS1yMTErZ2l0cjArOWExMGM0ODcxMGRmNzkxMThlMzllOWIzYmIwYTE1YmYxZmU2OTRkMS9naXQveGJtYy90aHJlYWRzJworICAgICAgICBtYWtlOiAqKiogW3hibWMvdGhyZWFkcy90aHJlYWRzLmFdIEVycm9yIDIKKy0tLQorIHhibWMvdGhyZWFkcy9BdG9taWNzLmNwcCB8ICAgIDggLS0tLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3hibWMvdGhyZWFkcy9BdG9taWNzLmNwcCBiL3hibWMvdGhyZWFkcy9BdG9taWNzLmNwcAoraW5kZXggNWIwOWYxOC4uMGE5OGE3ZSAxMDA2NDQKKy0tLSBhL3hibWMvdGhyZWFkcy9BdG9taWNzLmNwcAorKysrIGIveGJtYy90aHJlYWRzL0F0b21pY3MuY3BwCitAQCAtMTk0LDE0ICsxOTQsMTIgQEAgbG9uZyBBdG9taWNJbmNyZW1lbnQodm9sYXRpbGUgbG9uZyogcEFkZHIpCisgeworICAgcmVnaXN0ZXIgbG9uZyB2YWw7CisgICBhc20gdm9sYXRpbGUgKAorLSAgICAgICAgICAgICAgICAiZG1iICAgICAgaXNoICAgICAgICAgICAgXG4iIC8vIE1lbW9yeSBiYXJyaWVyLiBNYWtlIHN1cmUgYWxsIG1lbW9yeSBhY2Nlc3NlcyBhcHBlYXJpbmcgYmVmb3JlIHRoaXMgY29tcGxldGUgYmVmb3JlIGFueSB0aGF0IGFwcGVhciBhZnRlcgorICAgICAgICAgICAgICAgICAiMTogICAgICAgICAgICAgICAgICAgICBcbiIgCisgICAgICAgICAgICAgICAgICJsZHJleCAgICUwLCBbJTFdICAgICAgIFxuIiAvLyAodmFsID0gKnBBZGRyKQorICAgICAgICAgICAgICAgICAiYWRkICAgICAlMCwgICMxICAgICAgICBcbiIgLy8gKHZhbCArPSAxKQorICAgICAgICAgICAgICAgICAic3RyZXggICByMSwgICUwLCBbJTFdCVxuIgorICAgICAgICAgICAgICAgICAiY21wICAgICByMSwgICAjMCAgICAgICBcbiIKKyAgICAgICAgICAgICAgICAgImJuZSAgICAgMWIgICAgICAgICAgICAgXG4iCistICAgICAgICAgICAgICAgICJkbWIgICAgIGlzaCAgICAgICAgICAgIFxuIiAvLyBNZW1vcnkgYmFycmllci4KKyAgICAgICAgICAgICAgICAgOiAiPSZyIiAodmFsKQorICAgICAgICAgICAgICAgICA6ICJyIihwQWRkcikKKyAgICAgICAgICAgICAgICAgOiAicjEiCitAQCAtMjczLDE0ICsyNzEsMTIgQEAgbG9uZyBBdG9taWNBZGQodm9sYXRpbGUgbG9uZyogcEFkZHIsIGxvbmcgYW1vdW50KQorIHsKKyAgIHJlZ2lzdGVyIGxvbmcgdmFsOworICAgYXNtIHZvbGF0aWxlICgKKy0gICAgICAgICAgICAgICAgImRtYiAgICAgIGlzaCAgICAgICAgICAgIFxuIiAvLyBNZW1vcnkgYmFycmllci4gTWFrZSBzdXJlIGFsbCBtZW1vcnkgYWNjZXNzZXMgYXBwZWFyaW5nIGJlZm9yZSB0aGlzIGNvbXBsZXRlIGJlZm9yZSBhbnkgdGhhdCBhcHBlYXIgYWZ0ZXIKKyAgICAgICAgICAgICAgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgXG4iIAorICAgICAgICAgICAgICAgICAibGRyZXggICAlMCwgWyUxXSAgICAgICBcbiIgLy8gKHZhbCA9ICpwQWRkcikKKyAgICAgICAgICAgICAgICAgImFkZCAgICAgJTAsICAlMiAgICAgICAgXG4iIC8vICh2YWwgKz0gYW1vdW50KQorICAgICAgICAgICAgICAgICAic3RyZXggICByMSwgICUwLCBbJTFdCVxuIgorICAgICAgICAgICAgICAgICAiY21wICAgICByMSwgICAjMCAgICAgICBcbiIKKyAgICAgICAgICAgICAgICAgImJuZSAgICAgMWIgICAgICAgICAgICAgXG4iCistICAgICAgICAgICAgICAgICJkbWIgICAgIGlzaCAgICAgICAgICAgIFxuIiAvLyBNZW1vcnkgYmFycmllci4KKyAgICAgICAgICAgICAgICAgOiAiPSZyIiAodmFsKQorICAgICAgICAgICAgICAgICA6ICJyIihwQWRkciksICJyIihhbW91bnQpCisgICAgICAgICAgICAgICAgIDogInIxIgorQEAgLTM1MSwxNCArMzQ3LDEyIEBAIGxvbmcgQXRvbWljRGVjcmVtZW50KHZvbGF0aWxlIGxvbmcqIHBBZGRyKQorIHsKKyAgIHJlZ2lzdGVyIGxvbmcgdmFsOworICAgYXNtIHZvbGF0aWxlICgKKy0gICAgICAgICAgICAgICAgImRtYiAgICAgIGlzaCAgICAgICAgICAgIFxuIiAvLyBNZW1vcnkgYmFycmllci4gTWFrZSBzdXJlIGFsbCBtZW1vcnkgYWNjZXNzZXMgYXBwZWFyaW5nIGJlZm9yZSB0aGlzIGNvbXBsZXRlIGJlZm9yZSBhbnkgdGhhdCBhcHBlYXIgYWZ0ZXIKKyAgICAgICAgICAgICAgICAgIjE6ICAgICAgICAgICAgICAgICAgICAgXG4iIAorICAgICAgICAgICAgICAgICAibGRyZXggICAlMCwgWyUxXSAgICAgICBcbiIgLy8gKHZhbCA9ICpwQWRkcikKKyAgICAgICAgICAgICAgICAgInN1YiAgICAgJTAsICAjMSAgICAgICAgXG4iIC8vICh2YWwgLT0gMSkKKyAgICAgICAgICAgICAgICAgInN0cmV4ICAgcjEsICAlMCwgWyUxXQlcbiIKKyAgICAgICAgICAgICAgICAgImNtcCAgICAgcjEsICAgIzAgICAgICAgXG4iCisgICAgICAgICAgICAgICAgICJibmUgICAgIDFiICAgICAgICAgICAgIFxuIgorLSAgICAgICAgICAgICAgICAiZG1iICAgICBpc2ggICAgICAgICAgICBcbiIgLy8gTWVtb3J5IGJhcnJpZXIuCisgICAgICAgICAgICAgICAgIDogIj0mciIgKHZhbCkKKyAgICAgICAgICAgICAgICAgOiAiciIocEFkZHIpCisgICAgICAgICAgICAgICAgIDogInIxIgorQEAgLTQzMSwxNCArNDI1LDEyIEBAIGxvbmcgQXRvbWljU3VidHJhY3Qodm9sYXRpbGUgbG9uZyogcEFkZHIsIGxvbmcgYW1vdW50KQorIHsKKyAgIHJlZ2lzdGVyIGxvbmcgdmFsOworICAgYXNtIHZvbGF0aWxlICgKKy0gICAgICAgICAgICAgICAgImRtYiAgICAgaXNoICAgICAgICAgICAgXG4iIC8vIE1lbW9yeSBiYXJyaWVyLiBNYWtlIHN1cmUgYWxsIG1lbW9yeSBhY2Nlc3NlcyBhcHBlYXJpbmcgYmVmb3JlIHRoaXMgY29tcGxldGUgYmVmb3JlIGFueSB0aGF0IGFwcGVhciBhZnRlcgorICAgICAgICAgICAgICAgICAiMTogICAgICAgICAgICAgICAgICAgICBcbiIgCisgICAgICAgICAgICAgICAgICJsZHJleCAgICUwLCBbJTFdICAgICAgIFxuIiAvLyAodmFsID0gKnBBZGRyKQorICAgICAgICAgICAgICAgICAic3ViICAgICAlMCwgICUyICAgICAgICBcbiIgLy8gKHZhbCAtPSBhbW91bnQpCisgICAgICAgICAgICAgICAgICJzdHJleCAgIHIxLCAgJTAsIFslMV0JXG4iCisgICAgICAgICAgICAgICAgICJjbXAgICAgIHIxLCAgICMwICAgICAgIFxuIgorICAgICAgICAgICAgICAgICAiYm5lICAgICAxYiAgICAgICAgICAgICBcbiIKKy0gICAgICAgICAgICAgICAgImRtYiAgICAgaXNoICAgICAgICAgICAgXG4iIC8vIE1lbW9yeSBiYXJyaWVyLgorICAgICAgICAgICAgICAgICA6ICI9JnIiICh2YWwpCisgICAgICAgICAgICAgICAgIDogInIiKHBBZGRyKSwgInIiKGFtb3VudCkKKyAgICAgICAgICAgICAgICAgOiAicjEiCistLSAKKzEuNy4yLjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWMvMDAwMy1SZXZlcnQtZml4ZWQtaW9zLUFkZC1tZW1vcnktYmFycmllcnMtdG8tY2FzLWFzc2VtYmx5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWMvMDAwMy1SZXZlcnQtZml4ZWQtaW9zLUFkZC1tZW1vcnktYmFycmllcnMtdG8tY2FzLWFzc2VtYmx5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyOTAxN2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy8wMDAzLVJldmVydC1maXhlZC1pb3MtQWRkLW1lbW9yeS1iYXJyaWVycy10by1jYXMtYXNzZW1ibHkucGF0Y2gKQEAgLTAsMCArMSw2OSBAQAorRnJvbSBhYWFlMTYxNmEwOWQzNTliNTJlOTI5Zjk0NGNhMGNlYjRiYjdmODMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGF1bCBNZW56ZWwgPHBhdWxlcGFudGVyQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KK0RhdGU6IFN1biwgMTQgQXVnIDIwMTEgMjE6NTU6MDkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzRdIFJldmVydCAiZml4ZWQ6W2lvc10gQWRkIG1lbW9yeSBiYXJyaWVycyB0byBjYXMoKSBhc3NlbWJseSB0byBlbnN1cmUgYWxpZ25tZW50IG9mIG1lbW9yeSBhY2Nlc3Nlcy4iCisKK1RoaXMgcmV2ZXJ0cyBjb21taXQgOTJiYWI2NTFlMjI1M2QxNzI4Nzk5OTViNTA5ODU2NDViNzdmZWNkMi4KKworVGhlIGJ1aWxkIChPcGVuRW1iZWRkZWQgYGFuZ3N0cm9tLTIwMTAueGAgZm9yIGBNQUNISU5FID0gImJlYWdsZWJvYXJkIikgZmFpbHMgd2l0aCB0aGUgZm9sbG93aW5nIGVycm9yLgorCisgICAgICAgIENQUCAgICAgQXRvbWljcy5vCisgICAgICAgIG1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL29lL2J1aWxkLWFuZ3N0cm9tLW5leHQvYW5nc3Ryb20tZGV2L3dvcmsvYXJtdjdhLWFuZ3N0cm9tLWxpbnV4LWdudWVhYmkveGJtYy0xMC4wNS1yMTErZ2l0cjArOTJiYWI2NTFlMjI1M2QxNzI4Nzk5OTViNTA5ODU2NDViNzdmZWNkMi9naXQveGJtYy93aW5kb3dzJworICAgICAgICBDUFAgICAgIEdVSU1lZGlhV2luZG93Lm8KKyAgICAgICAgL3RtcC9jY3JzeXd1Vi5zOiBBc3NlbWJsZXIgbWVzc2FnZXM6CisgICAgICAgIC90bXAvY2Nyc3l3dVYuczo0MDogRXJyb3I6IGdhcmJhZ2UgZm9sbG93aW5nIGluc3RydWN0aW9uIC0tIGBkbWIgaXNoJworICAgICAgICAvdG1wL2NjcnN5d3VWLnM6NDg6IEVycm9yOiBnYXJiYWdlIGZvbGxvd2luZyBpbnN0cnVjdGlvbiAtLSBgZG1iIGlzaCcKKyAgICAgICAgbWFrZVsxXTogKioqIFtBdG9taWNzLm9dIEVycm9yIDEKKyAgICAgICAgbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9vZS9idWlsZC1hbmdzdHJvbS1uZXh0L2FuZ3N0cm9tLWRldi93b3JrL2FybXY3YS1hbmdzdHJvbS1saW51eC1nbnVlYWJpL3hibWMtMTAuMDUtcjExK2dpdHIwKzkyYmFiNjUxZTIyNTNkMTcyODc5OTk1YjUwOTg1NjQ1Yjc3ZmVjZDIvZ2l0L3hibWMvdGhyZWFkcycKKyAgICAgICAgbWFrZTogKioqIFt4Ym1jL3RocmVhZHMvdGhyZWFkcy5hXSBFcnJvciAyCistLS0KKyB4Ym1jL3RocmVhZHMvQXRvbWljcy5jcHAgfCAgIDMzICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS94Ym1jL3RocmVhZHMvQXRvbWljcy5jcHAgYi94Ym1jL3RocmVhZHMvQXRvbWljcy5jcHAKK2luZGV4IDBhOThhN2UuLjA5NjdlYjIgMTAwNjQ0CistLS0gYS94Ym1jL3RocmVhZHMvQXRvbWljcy5jcHAKKysrKyBiL3hibWMvdGhyZWFkcy9BdG9taWNzLmNwcAorQEAgLTQ5LDIzICs0OSwyMiBAQCBsb25nIGNhcyh2b2xhdGlsZSBsb25nICpwQWRkciwgbG9uZyBleHBlY3RlZFZhbCwgbG9uZyBzd2FwVmFsKQorICNlbGlmIGRlZmluZWQoX19hcm1fXykKKyBsb25nIGNhcyh2b2xhdGlsZSBsb25nKiBwQWRkciwgbG9uZyBleHBlY3RlZFZhbCwgbG9uZyBzd2FwVmFsKQorIHsKKy0gIHJlZ2lzdGVyIGxvbmcgcHJldjsKKy0gIGFzbSB2b2xhdGlsZSAoCistICAgICAgICAgICAgICAgICJkbWIgICAgICBpc2ggICAgICAgICAgICBcbiIgLy8gTWVtb3J5IGJhcnJpZXIuIE1ha2Ugc3VyZSBhbGwgbWVtb3J5IGFjY2Vzc2VzIGFwcGVhcmluZyBiZWZvcmUgdGhpcyBjb21wbGV0ZSBiZWZvcmUgYW55IHRoYXQgYXBwZWFyIGFmdGVyCistICAgICAgICAgICAgICAgICIxOiAgICAgICAgICAgICAgICAgICAgICBcbiIKKy0gICAgICAgICAgICAgICAgImxkcmV4ICAgICUwLCBbJTFdICAgICAgIFxuIiAvLyBMb2FkIHRoZSBjdXJyZW50IHZhbHVlIG9mICpwQWRkciglMSkgaW50byBwcmV2ICglMCkgYW5kIGxvY2sgcEFkZHIsCistICAgICAgICAgICAgICAgICJjbXAgICAgICAlMCwgICUyICAgICAgICBcbiIgLy8gVmVyaWZ5IHRoYXQgdGhlIGN1cnJlbnQgdmFsdWUgKCUwKSA9PSBvbGQgdmFsdWUgKCUyKQorLSAgICAgICAgICAgICAgICAiYm5lICAgICAgMmYgICAgICAgICAgICAgXG4iIC8vIEJhaWwgaWYgdGhlIHR3byB2YWx1ZXMgYXJlIG5vdCBlcXVhbCBbbm90IGFzIGV4cGVjdGVkXQorLSAgICAgICAgICAgICAgICAic3RyZXggICAgcjEsICAlMywgWyUxXSAgXG4iCistICAgICAgICAgICAgICAgICJjbXAgICAgICByMSwgICMwICAgICAgICBcbiIKKy0gICAgICAgICAgICAgICAgImJuZSAgICAgIDFiICAgICAgICAgICAgIFxuIgorLSAgICAgICAgICAgICAgICAiZG1iICAgICAgaXNoICAgICAgICAgICAgXG4iIC8vIE1lbW9yeSBiYXJyaWVyLgorLSAgICAgICAgICAgICAgICAiMjogICAgICAgICAgICAgICAgICAgICAgXG4iCistICAgICAgICAgICAgICAgIDogIj0mciIgKHByZXYpCistICAgICAgICAgICAgICAgIDogInIiKHBBZGRyKSwgInIiKGV4cGVjdGVkVmFsKSwiciIoc3dhcFZhbCkKKy0gICAgICAgICAgICAgICAgOiAicjEiCistICAgICAgICAgICAgICAgICk7CistICByZXR1cm4gcHJldjsKKysgIHJldHVybihfX3N5bmNfdmFsX2NvbXBhcmVfYW5kX3N3YXAocEFkZHIsIGV4cGVjdGVkVmFsLCBzd2FwVmFsKSk7CisrLy8gIHJlZ2lzdGVyIGxvbmcgcHJldjsKKysvLyAgYXNtIHZvbGF0aWxlICgKKysvLyAgICAgICAgICAgICAgICAiMTogICAgICAgICAgICAgICAgICAgICAgXG4iCisrLy8gICAgICAgICAgICAgICAgImxkcmV4ICAgICUwLCBbJTFdICAgICAgIFxuIiAvKiBMb2FkIHRoZSBjdXJyZW50IHZhbHVlIG9mICpwQWRkciglMSkgaW50byBwcmV2ICglMCkgYW5kIGxvY2sgcEFkZHIsICAqLworKy8vICAgICAgICAgICAgICAgICJjbXAgICAgICAlMCwgICUyICAgICAgICBcbiIgLyogVmVyaWZ5IHRoYXQgdGhlIGN1cnJlbnQgdmFsdWUgKCUwKSA9PSBvbGQgdmFsdWUgKCUyKSAqLworKy8vICAgICAgICAgICAgICAgICJibmUgICAgICAyZiAgICAgICAgICAgICBcbiIgLyogQmFpbCBpZiB0aGUgdHdvIHZhbHVlcyBhcmUgbm90IGVxdWFsIFtub3QgYXMgZXhwZWN0ZWRdICovCisrLy8gICAgICAgICAgICAgICAgInN0cmV4ICAgIHIxLCAgJTMsIFslMV0gIFxuIgorKy8vICAgICAgICAgICAgICAgICJjbXAgICAgICByMSwgICMwICAgICAgICBcbiIgICAgICAgICAgICAgICAgCisrLy8gICAgICAgICAgICAgICAgImJuZSAgICAgIDFiICAgICAgICAgICAgIFxuIgorKy8vICAgICAgICAgICAgICAgICIyOiAgICAgICAgICAgICAgICAgICAgICAgICIKKysvLyAgICAgICAgICAgICAgICA6ICI9JnIiIChwcmV2KQorKy8vICAgICAgICAgICAgICAgIDogInIiKHBBZGRyKSwgInIiKGV4cGVjdGVkVmFsKSwiciIoc3dhcFZhbCkKKysvLyAgICAgICAgICAgICAgICA6ICJyMSIKKysvLyAgICAgICAgICAgICAgICApOworKy8vICByZXR1cm4gcHJldjsKKyB9CisgCisgI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKy0tIAorMS43LjIuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy8wMDA0LWNvbmZpZ3VyZS1jb3BlLXdpdGgtbGQtaXMtZ29sZC1ESVNUUk9fRkVBVFVSRS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWVkaWFjZW50cmUveGJtYy94Ym1jLzAwMDQtY29uZmlndXJlLWNvcGUtd2l0aC1sZC1pcy1nb2xkLURJU1RST19GRUFUVVJFLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0NWUyMGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy8wMDA0LWNvbmZpZ3VyZS1jb3BlLXdpdGgtbGQtaXMtZ29sZC1ESVNUUk9fRkVBVFVSRS5wYXRjaApAQCAtMCwwICsxLDQzIEBACitGcm9tIGZkOGY3MzgyNjI0MGFhZTU0M2E0MWEyYmZlZWEwMDU2ZTJmZTU5NGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogTW9uLCAxMSBNYXIgMjAxMyAxMTowNDoyOSArMDEwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmU6IGNvcGUgd2l0aCBsZC1pcy1nb2xkIERJU1RST19GRUFUVVJFCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKworVXBzdHJlYW0tU3RhdHVyZTogYmFja3BvcnQKKworIGNvbmZpZ3VyZS5pbiB8ICAgMTIgKysrKysrKy0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IGVmOTQ2ODMuLmM4YjQ1OWIgMTAwNzU1CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTE4LDkgKzE4LDE0IEBAIHRvbG93ZXIoKXsKKyAjIGNoZWNrIGZvciBsaWJyYXJ5IGJhc2VuYW1lcworIEFDX0RFRlVOKFtYQl9GSU5EX1NPTkFNRV0sCisgWworKyAgI3NldCAteAorICAgaWYgW1sgIiRob3N0X3ZlbmRvciIgIT0gImFwcGxlIiBdXTsgdGhlbgorICAgICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBsaWIkMiBzb25hbWVdKQorICAgICAkMV9GSUxFTkFNRT0kKCRDQyAtbm9zdGRsaWIgLW8gL2Rldi9udWxsICRMREZMQUdTIC1sJDIgLVdsLC1NIDI+L2Rldi9udWxsIHwgZ3JlcCAiXkxPQUQuKiQyIiB8IGF3ayAne1Y9MjsgcHJpbnQgJFZ9JykKKysgICAgaWYgW1sgLXogJCQxX0ZJTEVOQU1FIF1dOyB0aGVuCisrICAgICAgI3RyeSBnb2xkIGxpbmtlciBzeW50YXgKKysgICAgICAkMV9GSUxFTkFNRT0kKCRDQyAtbm9zdGRsaWIgLW8gL2Rldi9udWxsICRMREZMQUdTIC1sJDIgLVdsLC10IDM+JjEgMT4mMiAyPiYzIHwgZ3JlcCAiJDIiKQorKyAgICBmaQorICAgICBpZiBbWyAhIC16ICQkMV9GSUxFTkFNRSBdXTsgdGhlbgorICAgICAgICQxX1NPTkFNRT0kKG9iamR1bXAgLXAgJCQxX0ZJTEVOQU1FIHwgZ3JlcCAiU09OQU1FLiokMiIgfCBhd2sgJ3tWPTI7IHByaW50ICRWfScpCisgICAgIGZpCitAQCAtNTUsNiArNjAsNyBAQCBBQ19ERUZVTihbWEJfRklORF9TT05BTUVdLAorICAgICBBQ19NU0dfUkVTVUxUKFskJDFfU09OQU1FXSkKKyAgICAgQUNfU1VCU1QoJDFfU09OQU1FKQorICAgZmkKKysgICNzZXQgK3gKKyBdKQorIAorICMgRnVuY3Rpb24gdG8gcHVzaCBhbmQgcG9wIGxpYnMgYW5kIGluY2x1ZGVzIGZvciBhIGNvbW1hbmQKKy0tIAorMS43LjcuNgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1lZGlhY2VudHJlL3hibWMveGJtYy9jb25maWd1cmUuaW4tQXZvaWQtcnVubmluZy1jb2RlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWMvY29uZmlndXJlLmluLUF2b2lkLXJ1bm5pbmctY29kZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzE0MDU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWMvY29uZmlndXJlLmluLUF2b2lkLXJ1bm5pbmctY29kZS5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIGNmZDg1MTY2MGE1OTQ4MDFhNTkxZTgwZGM4MjBjNjVjYjdiZDc4MzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorRGF0ZTogU2F0LCA2IE9jdCAyMDEyIDA2OjQwOjAzIC0wMzAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5pbjogQXZvaWQgcnVubmluZyBjb2RlIG9yIHdlIGJyZWFrIGNyb3NzLWNvbXBpbGUKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbc2ltaWxhciBjaGFuZ2UgZG9uZSBmb3IgMTIuMF0KKworU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8ICAgIDYgKy0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IGVmOTQ2ODMuLmQ3ZWZjYjAgMTAwNzU1CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTEyNDYsMTEgKzEyNDYsNyBAQCBpZiB0ZXN0ICIkdXNlX2V4dGVybmFsX2ZmbXBlZyIgPSAieWVzIjsgdGhlbgorICAgQUNfREVGSU5FKFtVU0VfRVhURVJOQUxfRkZNUEVHXSwgWzFdLCBbV2hldGhlciB0byB1c2UgZXh0ZXJuYWwgRkZtcGVnIGxpYnJhcmllcy5dKQorIAorICAgIyBEaXNhYmxlIHZkcGF1IHN1cHBvcnQgaWYgZXh0ZXJuYWwgbGliYXZjb2RlYyBkb2Vzbid0IGhhdmUgaXQKKy0gIEFDX1JVTl9JRkVMU0UoCistICAgIEFDX0xBTkdfUFJPR1JBTShbWyNpbmNsdWRlIDxsaWJhdmNvZGVjL2F2Y29kZWMuaD5dXSwKKy0gICAgICBbW2F2Y29kZWNfcmVnaXN0ZXJfYWxsKCk7CistICAgICAgICBBVkNvZGVjICpjb2RlYyA9IGF2Y29kZWNfZmluZF9kZWNvZGVyX2J5X25hbWUoInZjMV92ZHBhdSIpOworLSAgICAgICAgcmV0dXJuIChjb2RlYykgPyAwIDogMTtdXSksLAorKyAgQUNfQ0hFQ0tfTElCKFthdmNvZGVjXSwgW2ZmX3ZkcGF1X3ZjMV9kZWNvZGVfcGljdHVyZV0sLAorICAgICBbaWYgdGVzdCAieCR1c2VfdmRwYXUiID0gInh5ZXMiOyB0aGVuCisgICAgICAgQUNfTVNHX0VSUk9SKCRmZm1wZWdfdmRwYXVfbm90X3N1cHBvcnRlZCkKKyAgICAgZWxzZQorLS0gCisxLjcuMi41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWVkaWFjZW50cmUveGJtYy94Ym1jX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWVkaWFjZW50cmUveGJtYy94Ym1jX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTRkNGUxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tZWRpYWNlbnRyZS94Ym1jL3hibWNfZ2l0LmJiCkBAIC0wLDAgKzEsOTkgQEAKK1NVTU1BUlkgPSAiWEJNQyBNZWRpYSBDZW50ZXIiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLkdQTDttZDU9NmViNjMxYjZkYTdmZGIwMTUwOGE4MDIxM2ZmYzM1ZmYiCisKK0RFUEVORFMgPSAibGlidXNiMSBsaWJjZWMgbGlicGxpc3QgZXhwYXQgeWFqbCBncGVyZi1uYXRpdmUgbGlieG11IGZyaWJpZGkgbXBlZzJkZWMgZmZtcGVnIHNhbWJhIGZvbnRjb25maWcgY3VybCBweXRob24gbGliYXNzIGxpYm1vZHBsdWcgbGlibWljcm9odHRwZCB3YXZwYWNrIGxpYm1tcyBjbWFrZS1uYXRpdmUgbGlic2RsLWltYWdlIGxpYnNkbC1taXhlciB2aXJ0dWFsL2VnbCBteXNxbDUgc3FsaXRlMyBsaWJtbXMgZmFhZDIgbGliY2RpbyBsaWJwY3JlIGJvb3N0IGx6byBlbmNhIGF2YWhpIGxpYnNhbXBsZXJhdGUwIGxpYnhpbmVyYW1hIGxpYnhyYW5kciBsaWJ4dHN0IGJ6aXAyIHZpcnR1YWwvbGlic2RsIGphc3BlciB6aXAtbmF0aXZlIHpsaWIgbGlidGlueXhtbCBsaWJtYWQiCisjcmVxdWlyZSByZWNpcGVzL2VnbC9lZ2wuaW5jCisKKworU1JDUkVWID0gIjgyMzg4ZDU1ZGFlNzljYmIyZTQ4NmUzMDdlMjMyMDJlNzZhNDNlZmEiCisKKyMgbXVsdGlwbGUgaXNzdWVzCitQTkJMQUNLTElTVFt4Ym1jXSA/PSAiL3Vzci9pbmNsdWRlL2MrKy9jdGltZTo3MDoxMTogZXJyb3I6ICc6OmdtdGltZScgaGFzIG5vdCBiZWVuIGRlY2xhcmVkIgorCitQViA9ICIxMS4wK2dpdHIke1NSQ1BWfSIKK1BSID0gInIxNCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS94Ym1jL3hibWMuZ2l0O2JyYW5jaD1FZGVuIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLWRvbi10LXJ1bi1weXRob24tZGlzdHV0aWxzLXRvLWZpbmQtU1RBR0lORy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLVJldmVydC1maXhlZC1pb3MtQWRkLW1lbW9yeS1iYXJyaWVycy10by1hdG9taWMtQWRkLVMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1SZXZlcnQtZml4ZWQtaW9zLUFkZC1tZW1vcnktYmFycmllcnMtdG8tY2FzLWFzc2VtYmx5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtY29uZmlndXJlLWNvcGUtd2l0aC1sZC1pcy1nb2xkLURJU1RST19GRUFUVVJFLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5pbi1Bdm9pZC1ydW5uaW5nLWNvZGUucGF0Y2ggXAorIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHB5dGhvbi1kaXIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworIyBicmVha3MgY29tcGlsYXRpb24KK0NDQUNIRSA9ICIiCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICIgXAorICAgIGFjX2N2X3BhdGhfUFlUSE9OPSIke1NUQUdJTkdfQklORElSX05BVElWRX0vcHl0aG9uLW5hdGl2ZS9weXRob24iIFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ29wZW5nbCcsICdvcGVuZ2xlc3YyJywgZCl9IgorUEFDS0FHRUNPTkZJR1tvcGVuZ2xdID0gIi0tZW5hYmxlLWdsLC0tZW5hYmxlLWdsZXMsZ2xldyIKK1BBQ0tBR0VDT05GSUdbb3BlbmdsZXN2Ml0gPSAiLS1lbmFibGUtZ2xlcywtLWVuYWJsZS1nbCwiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1ycGF0aCBcCisgICAgLS1lbmFibGUtbGlidXNiIFwKKyAgICAtLWVuYWJsZS1haXJwbGF5IFwKKyAgICAtLWRpc2FibGUtb3B0aWNhbC1kcml2ZSBcCisgICAgLS1lbmFibGUtZXh0ZXJuYWwtbGlicmFyaWVzIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ29wZW5nbCcsICctLWVuYWJsZS1nbCcsICctLWVuYWJsZS1nbGVzJywgZCl9IFwKKyIKKworRlVMTF9PUFRJTUlaQVRJT05fYXJtdjdhID0gIi1mZXhwZW5zaXZlLW9wdGltaXphdGlvbnMgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLU80IC1mZmFzdC1tYXRoIgorQlVJTERfT1BUSU1JWkFUSU9OID0gIiR7RlVMTF9PUFRJTUlaQVRJT059IgorCitFWFRSQV9PRUNPTkZfYXBwZW5kX2FybXY3YSA9ICItLWNwdT1jb3J0ZXgtYTgiCisKKyMgZm9yIHB5dGhvbiBtb2R1bGVzCitleHBvcnQgSE9TVF9TWVMKK2V4cG9ydCBCVUlMRF9TWVMKK2V4cG9ydCBTVEFHSU5HX0xJQkRJUgorZXhwb3J0IFNUQUdJTkdfSU5DRElSCitleHBvcnQgUFlUSE9OX0RJUgorCitkb19jb25maWd1cmUoKSB7CisgICAgc2ggYm9vdHN0cmFwCisgICAgb2VfcnVuY29uZgorfQorCitQQVJBTExFTF9NQUtFID0gIiIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGZvciBpIGluICQoZmluZCAuIC1uYW1lICJNYWtlZmlsZSIpIDsgZG8KKyAgICAgICAgc2VkIC1pIC1lICdzOkkvdXNyL2luY2x1ZGU6SSR7U1RBR0lOR19JTkNESVJ9OmcnICRpCisgICAgZG9uZQorCisgICAgZm9yIGkgaW4gJChmaW5kIC4gLW5hbWUgIioubWFrKiIgLW8gICAgLW5hbWUgIk1ha2VmaWxlIikgOyBkbworICAgICAgICBzZWQgLWkgLWUgJ3M6SS91c3IvaW5jbHVkZTpJJHtTVEFHSU5HX0lOQ0RJUn06ZycgLWUgJ3M6LXJwYXRoIFwkKGxpYmRpcik6LXJwYXRoICR7bGliZGlyfTpnJyAkaQorICAgIGRvbmUKK30KKworSU5TQU5FX1NLSVBfJHtQTn0gPSAicnBhdGhzIgorCisjIG9uIEFSTSBhcmNoaXRlY3R1cmVzIHhibWMgd2lsbCB1c2UgR0xFUyB3aGljaCB3aWxsIG1ha2UgdGhlIHJlZ3VsYXIgd3JhcHBlciBmYWlsLCBzbyBzdGFydCBpdCBkaXJlY3RseQorZG9faW5zdGFsbF9hcHBlbmRfYXJtKCkgeworICAgIHNlZCAtaSAtZSAnczpFeGVjPXhibWM6RXhlYz0ke2xpYmRpcn0veGJtYy94Ym1jLmJpbjpnJyAke0R9JHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMveGJtYy5kZXNrdG9wCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hzZXNzaW9ucyAke2RhdGFkaXJ9L2ljb25zIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0veGJtYy8uZGVidWcgJHtsaWJkaXJ9L3hibWMvKi8uZGVidWcgJHtsaWJkaXJ9L3hibWMvKi8qLy5kZWJ1ZyAke2xpYmRpcn0veGJtYy8qLyovKi8uZGVidWciCisKKyMgeGJtYyB1c2VzIHNvbWUga2luZCBvZiBkbG9wZW4oKSBtZXRob2QgZm9yIGxpYmNlYyBzbyB3ZSBuZWVkIHRvIGFkZCBpdCBtYW51YWxseQorIyBPcGVuR0wgYnVpbGRzIG5lZWQgZ2x4aW5mbywgdGhhdCdzIGluIG1lc2EtZGVtb3MKK1JSRUNPTU1FTkRTXyR7UE59X2FwcGVuZCA9ICIgbGliY2VjIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLWxhbmcgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBweXRob24tcmUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBweXRob24tbmV0Y2xpZW50IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGliY3VybCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhkcHlpbmZvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnbWVzYS1kZW1vcycsICcnLCBkKX0gXAorIgorUlJFQ09NTUVORFNfJHtQTn1fYXBwZW5kX2xpYmMtZ2xpYmMgPSAiIGdsaWJjLWNoYXJtYXAtaWJtODUwIGdsaWJjLWdjb252LWlibTg1MCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWt2L2xpYmVibWwvbGliZWJtbF8xLjMuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWt2L2xpYmVibWwvbGliZWJtbF8xLjMuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MWUyYmZjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1ta3YvbGliZWJtbC9saWJlYm1sXzEuMy4wLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAibGliZWJtbCBpcyBhIEMrKyBsaWJhcnkgdG8gcGFyc2UgRUJNTCBmaWxlcyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLkxHUEw7bWQ1PWYxNDU5OWEyZjA4OWY2ZmY4Yzk3ZTJiYWE0ZTNkNTc1IgorCitTUkNfVVJJID0gImh0dHA6Ly9kbC5tYXRyb3NrYS5vcmcvZG93bmxvYWRzL2xpYmVibWwvbGliZWJtbC0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImVmZWM3MjliZjVhNTFlNjQ5ZTFkOWQxZjYxYzBhZTdhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgzYjA3NGQ2YjYyNzE1YWEwMDgwNDA2ZWE4NGQzM2RmMmU0NGI1ZDg3NDA5NjY0MDIzM2E0ZGI0OWI4MDk2ZGUiCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitkb19jb21waWxlKCkgeworICAgIGNkICR7U30vbWFrZS9saW51eAorICAgIG9lX3J1bm1ha2UgQ1JPU1M9IiR7VEFSR0VUX1BSRUZJWH0iCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgY2QgJHtTfS9tYWtlL2xpbnV4CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgbGliZWJtbC5hICR7RH0ke2xpYmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgbGliZWJtbC5zby4qICR7RH0ke2xpYmRpcn0KKyAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiBsaWJlYm1sLnNvICR7RH0ke2xpYmRpcn0KKworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vZWJtbAorICAgIGZvciBpIGluIC4uLy4uL2VibWwvKi5oOyBkbworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJGkgJHtEfSR7aW5jbHVkZWRpcn0vZWJtbAorICAgIGRvbmUKKworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vZWJtbC9jCisgICAgZm9yIGkgaW4gLi4vLi4vZWJtbC9jLyouaDsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICRpICR7RH0ke2luY2x1ZGVkaXJ9L2VibWwvYworICAgIGRvbmUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWt2L2xpYm1hdHJvc2thL2xpYm1hdHJvc2thXzEuNC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1ta3YvbGlibWF0cm9za2EvbGlibWF0cm9za2FfMS40LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFkODdjYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWt2L2xpYm1hdHJvc2thL2xpYm1hdHJvc2thXzEuNC4xLmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAibGlibWF0cm9za2EgaXMgYSBDKysgbGliYXJ5IHRvIHBhcnNlIE1hdHJvc2thIGZpbGVzICgubWt2IGFuZCAubWthKSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLkxHUEw7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitERVBFTkRTID0gImxpYmVibWwiCisKK1NSQ19VUkkgPSAiaHR0cDovL2RsLm1hdHJvc2thLm9yZy9kb3dubG9hZHMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImY2MWIyZTUwODZmNGJiOWQyNGE0M2NjOGFmNDNhNzE5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA4NmYyMTg3M2U5MjU2NzliYWJkYWJmNzkzYzNiYjg1YzM1M2QwY2Q3OTQyMzU0M2EzMzU1ZTA4ZThhNGVmYjciCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitkb19jb21waWxlKCkgeworICAgIGNkICR7U30vbWFrZS9saW51eAorICAgIG9lX3J1bm1ha2UgQ1JPU1M9IiR7VEFSR0VUX1BSRUZJWH0iCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgY2QgJHtTfS9tYWtlL2xpbnV4CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgbGlibWF0cm9za2EuYSAke0R9JHtsaWJkaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IGxpYm1hdHJvc2thLnNvLiogJHtEfSR7bGliZGlyfQorICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12IGxpYm1hdHJvc2thLnNvICR7RH0ke2xpYmRpcn0KKworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vbWF0cm9za2EKKyAgICBmb3IgaSBpbiAuLi8uLi9tYXRyb3NrYS8qLmg7IGRvCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAkaSAke0R9JHtpbmNsdWRlZGlyfS9tYXRyb3NrYQorICAgIGRvbmUKKworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vbWF0cm9za2EvYworICAgIGZvciBpIGluIC4uLy4uL21hdHJvc2thL2MvKi5oOyBkbworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJGkgJHtEfSR7aW5jbHVkZWRpcn0vbWF0cm9za2EvYworICAgIGRvbmUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbWt2L21rdnRvb2xuaXgvbWt2dG9vbG5peF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1rdi9ta3Z0b29sbml4L21rdnRvb2xuaXhfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlNDRjY2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW1rdi9ta3Z0b29sbml4L21rdnRvb2xuaXhfZ2l0LmJiCkBAIC0wLDAgKzEsNTcgQEAKK1NVTU1BUlkgPSAiTUtWVG9vbE5peCAtLSBDcm9zcy1wbGF0Zm9ybSB0b29scyBmb3IgTWF0cm9za2EiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmJ1bmt1cy5vcmcvdmlkZW90b29scy9ta3Z0b29sbml4L3NvdXJjZS5odG1sIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK0RFUEVORFMgPSAiY3VybCBib29zdCBleHBhdCB6bGliIGxpYmVibWwgbGlibWF0cm9za2EgbGlib2dnIGxpYnZvcmJpcyBiemlwMiBsem8gZmlsZSBydWJ5LW5hdGl2ZSIKKworUFYgPSAiOC40LjArZ2l0JHtTUkNQVn0iCitTUkNSRVZfbWt2dG9vbG5peCA9ICI3ZjYzZWE0OGVlNDc0NzU0YTk1ODM4ZjM3YWJhOGY2MTE4Yzk0YTY1IgorU1JDUkVWX2xpYmVibWwgPSAiMDRiMzRiMGRiZGVkNDBlMGNlYzkzY2FmYTZhNGY0YzhlOTBjMzIwNiIKK1NSQ1JFVl9saWJtYXRyb3NrYSA9ICJkYjVkNjI3YjViZjQ4NTE2YzllMGI1NDAyNTRjMGQzNjU5NTc2MGMzIgorU1JDUkVWX0ZPUk1BVCA9ICJta3Z0b29sbml4IgorU1JDX1VSSSA9ICIgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL21idW5rdXMvbWt2dG9vbG5peC5naXQ7bmFtZT1ta3Z0b29sbml4IFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9NYXRyb3NrYS1PcmcvbGliZWJtbC5naXQ7bmFtZT1saWJlYm1sO2Rlc3RzdWZmaXg9Z2l0L2xpYi9saWJlYm1sIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9NYXRyb3NrYS1PcmcvbGlibWF0cm9za2EuZ2l0O25hbWU9bGlibWF0cm9za2E7ZGVzdHN1ZmZpeD1naXQvbGliL2xpYm1hdHJvc2thIFwKKyAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBnZXR0ZXh0CisKKyMgbWFrZSBzdXJlIHJiIGZpbGVzIGFyZSB1c2VkIGZyb20gc3lzcm9vdCwgbm90IGZyb20gaG9zdAorIyBydWJ5LTEuOS4zLWFsd2F5cy11c2UtaTM4Ni5wYXRjaCBpcyBkb2luZyB0YXJnZXRfY3B1PWBlY2hvICR0YXJnZXRfY3B1IHwgc2VkIHMvaS44Ni9pMzg2L2AKKyMgd2UgbmVlZCB0byByZXBsYWNlIGl0IHRvbyAoYSBiaXQgbG9uZ2VyIHZlcnNpb24gd2l0aG91dCBpbXBvcnRpbmcgcmUpCitSVUJZX1NZUyA9ICIke0AgJyR7QlVJTERfU1lTfScucmVwbGFjZSgnaTQ4NicsICdpMzg2JykucmVwbGFjZSgnaTU4NicsICdpMzg2JykucmVwbGFjZSgnaTY4NicsICdpMzg2JykgfSIKK2V4cG9ydCBSVUJZTElCPSIke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L3J1YnlnZW1zOiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9ydWJ5OiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9ydWJ5LyR7UlVCWV9TWVN9IgorCitQQUNLQUdFQ09ORklHID8/PSAiZmxhYyAke0BiYi51dGlscy5jb250YWlucygnQkJGSUxFX0NPTExFQ1RJT05TJywgJ3F0NS1sYXllcicsICdxdDUnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tmbGFjXSA9ICItLXdpdGgtZmxhYywtLXdpdGhvdXQtZmxhYyxmbGFjIgorUEFDS0FHRUNPTkZJR1txdDVdID0gIi0tZW5hYmxlLXF0IC0td2l0aC1tb2M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3F0NS9tb2MgLS13aXRoLXVpYz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vcXQ1L3VpYyAtLXdpdGgtcmNjPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9xdDUvcmNjLC0tZGlzYWJsZS1xdCxxdGJhc2UiCisKK0VYVFJBX09FQ09ORiA9ICIgLS13aXRoLWJvb3N0LWxpYmRpcj0ke1NUQUdJTkdfTElCRElSfSBcCisiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9IgorCisjIHJlbW92ZSBzb21lIGhhcmRjb2RlZCBzZWFyY2hwYXRocworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lIHM6L3Vzci9sb2NhbC9saWI6JHtTVEFHSU5HX0xJQkRJUn06ZyAtZSBzOi91c3IvbG9jYWwvaW5jbHVkZToke1NUQUdJTkdfSU5DRElSfTpnICR7U30vYWMvcXQ1Lm00Cit9CisKKyMgWWVhaCwgbm8gbWFrZWZpbGUKK2RvX2NvbXBpbGUoKSB7CisgICAgTENfQUxMPSJlbl9VUy5VVEYtOCIgJHtTfS9kcmFrZSAke1BBUkFMTEVMX01BS0V9Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgTENfQUxMPSJlbl9VUy5VVEYtOCIgJHtTfS9kcmFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCisjIHwgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHNyYy9jb21tb24vdXRmOF9jb2RlY3Z0X2ZhY2V0LmNwcDoyMjowOgorIyB8IHNyYy9jb21tb24vLi4vLi4vbGliL2Jvb3N0L3V0ZjhfY29kZWN2dF9mYWNldC91dGY4X2NvZGVjdnRfZmFjZXQuY3BwOjE3NDo1OiBlcnJvcjogJ2ludCBtdHg6OnV0ZjhfY29kZWN2dF9mYWNldDo6ZG9fbGVuZ3RoJyBpcyBub3QgYSBzdGF0aWMgZGF0YSBtZW1iZXIgb2YgJ3N0cnVjdCBtdHg6OnV0ZjhfY29kZWN2dF9mYWNldCcKKyMgfCAgICAgIEJPT1NUX0NPREVDVlRfRE9fTEVOR1RIX0NPTlNUIHN0ZDo6bWJzdGF0ZV90ICYsCisjIHwgICAgICBeCitQTkJMQUNLTElTVFtta3Z0b29sbml4XSA/PSAiQlJPS0VOOiBGYWlseCB0byBidWlsZCB3aXRoIGdjYy01IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NkcGFyYW5vaWEvY2RwYXJhbm9pYV8xMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NkcGFyYW5vaWEvY2RwYXJhbm9pYV8xMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2YmE1MjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvY2RwYXJhbm9pYS9jZHBhcmFub2lhXzEwLjIuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJjZHBhcmFub2lhIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJsaWJyYXJ5IHVzZWQgdG8gcmVhZCBhdWRpbyBDRHMsIHdoaWNoIGlzIGFibGUgdG8gcGVyZm9ybSBcCitlcnJvciBjb3JyZWN0aW9ucywgaGVuY2UgdGhlIG5hbWUgcGFyYW5vaWEuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cueGlwaC5vcmcvIgorU0VDVElPTiA9ICJtdWx0aW1lZGlhIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy1MR1BMO21kNT1kMzcwZmVhYTFjOWVkY2RiZDI5Y2EyN2VhM2QyMzA0ZCIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnhpcGgub3JnL3JlbGVhc2VzL2NkcGFyYW5vaWEvY2RwYXJhbm9pYS1JSUktJHtQVn0uc3JjLnRneiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1ERVNURElSLWluLWluc3RhbGwtTWFrZWZpbGUtcnVsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWludGVyZmFjZS1yZW1vdmUtQy1yZXNlcnZlZC1rZXl3b3JkLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiMzA0YmJlOGFiNjMzNzM5MjRhNzQ0ZWFjOWViYzY1MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMDVkYjQ1ZWY0ZWUwMTdmNWMzMmVjMTI0ZjkxM2EwNTQ2ZTc3MDE0MjY2YzZhMWM1MGRmOTAyYTU1ZmU2NGRmIgorCisjIFVwcGVyY2FzZSBsZXR0ZXJzIGFyZSBub3QgYWxsb3dlZCBpbiB0aGUgcmVjaXBlIG5hbWUsIHRodXMgdGhlIHJlY2lwZSBjYW4gbm90IGJlIG5hbWVkIGNkcGFyYW5vaWEtSUlJIGFuZAorIyB3ZSBuZWVkIHRvIGFkZCB0aGUgcGF0aCB0byB0aGUgZXh0cmFjdGVkIHNvdXJjZXMgZXhwbGljaXRlbHk6CitTID0gIiR7V09SS0RJUn0vY2RwYXJhbm9pYS1JSUktJHtQVn0iCisKKyMgY2RwYXJhbm9pYSBNYWtlZmlsZSBjYW4gbm90IGJlIHVzZWQgd2l0aCBzZXZlcmFsIHRocmVhZHMgKGJlY2F1c2UgdGhlIHN0YXRpYyBsaWJyYXJ5IHRhcmdldCBhbmQgdGhlIHNoYXJlZAorIyBsaWJyYXJ5IHRhcmdldCB1c2Ugb2JqZWN0IGZpbGVzIHdoaWNoIGFyZSBjb21waWxlZCBpbiB0aGUgc2FtZSBkaXJlY3RvcnksIHRoZSBvYmplY3QgZmlsZXMgYXJlIGp1c3QgcmVtb3ZlZAorIyBiZXR3ZWVuIHRoZSBjb21waWxhdGlvbiBvZiB0aG9zZSB0d28gdGFyZ2V0cykKK1BBUkFMTEVMX01BS0UgPSAiIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jZHBhcmFub2lhL2ZpbGVzLzAwMDEtVXNlLURFU1RESVItaW4taW5zdGFsbC1NYWtlZmlsZS1ydWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NkcGFyYW5vaWEvZmlsZXMvMDAwMS1Vc2UtREVTVERJUi1pbi1pbnN0YWxsLU1ha2VmaWxlLXJ1bGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IwODMwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jZHBhcmFub2lhL2ZpbGVzLzAwMDEtVXNlLURFU1RESVItaW4taW5zdGFsbC1NYWtlZmlsZS1ydWxlLnBhdGNoCkBAIC0wLDAgKzEsNzAgQEAKK0Zyb20gOTdjMDZhZTk1NWIyNzA4NTFmNGZkMjM5NmM3MTVmOWM3NjU5MWYzNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEV0aWVubmUgQ29yZG9ubmllciA8ZXRpZW5uZS5jb3Jkb25uaWVyQHN0cmVhbXVubGltaXRlZC5jb20+CitEYXRlOiBUaHUsIDIgQXByIDIwMTUgMTA6MTU6MDggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIERFU1RESVIgaW4gImluc3RhbGwiIE1ha2VmaWxlIHJ1bGUKKworVGhpcyBjaGFuZ2UgYWxsb3dzIHRvIHBlcmZvcm0gaW5zdGFsbGF0aW9ucyBpbiBhIHN5c3Jvb3QgZm9sZGVyLCB3aGljaCBpcyByZXF1aXJlZCBlLmcuIGJ5Cit0aGUgcmVjaXBlcyBpbmhlcml0aW5nIHlvY3RvIGF1dG90b29sIGNsYXNzLCBhbmQgaXMgYW4gYXV0b3Rvb2wgc3RhbmRhcmQ6CittYWtlIGluc3RhbGwgREVTVERJUj1+L215c3lzcm9vdAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgKHRoZSB1cHN0cmVhbSBwcm9qZWN0IGlzIGRlYWQpCisKK1NpZ25lZC1vZmYtYnk6IEV0aWVubmUgQ29yZG9ubmllciA8ZXRpZW5uZS5jb3Jkb25uaWVyQHN0cmVhbXVubGltaXRlZC5jb20+CistLS0KKyBNYWtlZmlsZS5pbiB8IDM2ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KK2luZGV4IDNkMjM1YWQuLmRmNTQ0YzcgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC02MywyOCArNjMsMjggQEAgc2xpYjoKKyAJY2QgcGFyYW5vaWEgJiYgJChNQUtFKSBzbGliCisgCisgaW5zdGFsbDoKKy0JJChJTlNUQUxMKSAtZCAtbSAwNzU1ICQoQklORElSKQorLQkkKElOU1RBTEwpIC1tIDc1NSAkKHNyY2RpcikvY2RwYXJhbm9pYSAkKEJJTkRJUikKKy0JJChJTlNUQUxMKSAtZCAtbSAwNzU1ICQoTUFORElSKQorLQkkKElOU1RBTEwpIC1kIC1tIDA3NTUgJChNQU5ESVIpL21hbjEKKy0JJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS9jZHBhcmFub2lhLjEgJChNQU5ESVIpL21hbjEKKy0JJChJTlNUQUxMKSAtZCAtbSAwNzU1ICQoSU5DTFVERURJUikKKy0JJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS9wYXJhbm9pYS9jZGRhX3BhcmFub2lhLmggJChJTkNMVURFRElSKQorLQkkKElOU1RBTEwpIC1kIC1tIDA3NTUgJChMSUJESVIpCistCSQoSU5TVEFMTCkgLW0gMDY0NCAkKHNyY2RpcikvcGFyYW5vaWEvbGliY2RkYV9wYXJhbm9pYS5zby4wLiQoVkVSU0lPTikgJChMSUJESVIpCistCSQoSU5TVEFMTCkgLW0gMDY0NCAkKHNyY2RpcikvcGFyYW5vaWEvbGliY2RkYV9wYXJhbm9pYS5hICQoTElCRElSKQorLQkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL2ludGVyZmFjZS9jZGRhX2ludGVyZmFjZS5oICQoSU5DTFVERURJUikKKy0JJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS9pbnRlcmZhY2UvbGliY2RkYV9pbnRlcmZhY2Uuc28uMC4kKFZFUlNJT04pICQoTElCRElSKQorLQkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL2ludGVyZmFjZS9saWJjZGRhX2ludGVyZmFjZS5hICQoTElCRElSKQorLQkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL3V0aWxzLmggJChJTkNMVURFRElSKQorKwkkKElOU1RBTEwpIC1kIC1tIDA3NTUgJChERVNURElSKSQoQklORElSKQorKwkkKElOU1RBTEwpIC1tIDc1NSAkKHNyY2RpcikvY2RwYXJhbm9pYSAkKERFU1RESVIpJChCSU5ESVIpCisrCSQoSU5TVEFMTCkgLWQgLW0gMDc1NSAkKERFU1RESVIpJChNQU5ESVIpCisrCSQoSU5TVEFMTCkgLWQgLW0gMDc1NSAkKERFU1RESVIpJChNQU5ESVIpL21hbjEKKysJJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS9jZHBhcmFub2lhLjEgJChERVNURElSKSQoTUFORElSKS9tYW4xCisrCSQoSU5TVEFMTCkgLWQgLW0gMDc1NSAkKERFU1RESVIpJChJTkNMVURFRElSKQorKwkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL3BhcmFub2lhL2NkZGFfcGFyYW5vaWEuaCAkKERFU1RESVIpJChJTkNMVURFRElSKQorKwkkKElOU1RBTEwpIC1kIC1tIDA3NTUgJChERVNURElSKSQoTElCRElSKQorKwkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL3BhcmFub2lhL2xpYmNkZGFfcGFyYW5vaWEuc28uMC4kKFZFUlNJT04pICQoREVTVERJUikkKExJQkRJUikKKysJJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS9wYXJhbm9pYS9saWJjZGRhX3BhcmFub2lhLmEgJChERVNURElSKSQoTElCRElSKQorKwkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL2ludGVyZmFjZS9jZGRhX2ludGVyZmFjZS5oICQoREVTVERJUikkKElOQ0xVREVESVIpCisrCSQoSU5TVEFMTCkgLW0gMDY0NCAkKHNyY2RpcikvaW50ZXJmYWNlL2xpYmNkZGFfaW50ZXJmYWNlLnNvLjAuJChWRVJTSU9OKSAkKERFU1RESVIpJChMSUJESVIpCisrCSQoSU5TVEFMTCkgLW0gMDY0NCAkKHNyY2RpcikvaW50ZXJmYWNlL2xpYmNkZGFfaW50ZXJmYWNlLmEgJChERVNURElSKSQoTElCRElSKQorKwkkKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL3V0aWxzLmggJChERVNURElSKSQoSU5DTFVERURJUikKKyAJbG4gLWZzIGxpYmNkZGFfaW50ZXJmYWNlLnNvLjAuJChWRVJTSU9OKSBcCistCQkkKExJQkRJUikvbGliY2RkYV9pbnRlcmZhY2Uuc28uMAorKwkJJChERVNURElSKSQoTElCRElSKS9saWJjZGRhX2ludGVyZmFjZS5zby4wCisgCWxuIC1mcyBsaWJjZGRhX2ludGVyZmFjZS5zby4wLiQoVkVSU0lPTikgXAorLQkJJChMSUJESVIpL2xpYmNkZGFfaW50ZXJmYWNlLnNvCisrCQkkKERFU1RESVIpJChMSUJESVIpL2xpYmNkZGFfaW50ZXJmYWNlLnNvCisgCWxuIC1mcyBsaWJjZGRhX3BhcmFub2lhLnNvLjAuJChWRVJTSU9OKSBcCistCQkkKExJQkRJUikvbGliY2RkYV9wYXJhbm9pYS5zby4wCisrCQkkKERFU1RESVIpJChMSUJESVIpL2xpYmNkZGFfcGFyYW5vaWEuc28uMAorIAlsbiAtZnMgbGliY2RkYV9wYXJhbm9pYS5zby4wLiQoVkVSU0lPTikgXAorLQkJJChMSUJESVIpL2xpYmNkZGFfcGFyYW5vaWEuc28KKysJCSQoREVTVERJUikkKExJQkRJUikvbGliY2RkYV9wYXJhbm9pYS5zbworIAorIGNkcGFyYW5vaWE6CSQoT0ZJTEVTKSAkKExJQkRFUCkKKyAJCSQoTEQpICQoQ0ZMQUdTKSAkKExERkxBR1MpICQoT0ZJTEVTKSBcCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jZHBhcmFub2lhL2ZpbGVzLzAwMDItaW50ZXJmYWNlLXJlbW92ZS1DLXJlc2VydmVkLWtleXdvcmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvY2RwYXJhbm9pYS9maWxlcy8wMDAyLWludGVyZmFjZS1yZW1vdmUtQy1yZXNlcnZlZC1rZXl3b3JkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1NjAwYTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvY2RwYXJhbm9pYS9maWxlcy8wMDAyLWludGVyZmFjZS1yZW1vdmUtQy1yZXNlcnZlZC1rZXl3b3JkLnBhdGNoCkBAIC0wLDAgKzEsNjA1IEBACitGcm9tIDEyZWEyODM5OGY4ZTVkNGE0YTIzYzYyZDUxMWZjNGY1MzU4NGU1MWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBFdGllbm5lIENvcmRvbm5pZXIgPGV0aWVubmUuY29yZG9ubmllckBzdHJlYW11bmxpbWl0ZWQuY29tPgorRGF0ZTogVHVlLCA3IEFwciAyMDE1IDExOjA3OjU2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGludGVyZmFjZTogcmVtb3ZlIEMrKyByZXNlcnZlZCBrZXl3b3JkCisKK0JlY2F1c2UgInByaXZhdGUiIHdhcyB1c2VkIGluIGNkZGFfaW50ZXJmYWNlLmgsIHRoaXMgaGVhZGVyIGZpbGUgY291bGQgbm90IGJlCitjb21waWxlZCBpbiBDKysuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSAodGhlIHVwc3RyZWFtIHByb2plY3QgaXMgZGVhZCkKKworU2lnbmVkLW9mZi1ieTogRXRpZW5uZSBDb3Jkb25uaWVyIDxldGllbm5lLmNvcmRvbm5pZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KKy0tLQorIGludGVyZmFjZS9jZGRhX2ludGVyZmFjZS5oICAgfCAgIDIgKy0KKyBpbnRlcmZhY2UvY29va2VkX2ludGVyZmFjZS5jIHwgICA4ICstLQorIGludGVyZmFjZS9pbnRlcmZhY2UuYyAgICAgICAgfCAgIDggKy0tCisgaW50ZXJmYWNlL3NjYW5fZGV2aWNlcy5jICAgICB8ICAyMiArKysrLS0tLQorIGludGVyZmFjZS9zY3NpX2ludGVyZmFjZS5jICAgfCAxMjggKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGludGVyZmFjZS90ZXN0X2ludGVyZmFjZS5jICAgfCAgIDQgKy0KKyA2IGZpbGVzIGNoYW5nZWQsIDg2IGluc2VydGlvbnMoKyksIDg2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW50ZXJmYWNlL2NkZGFfaW50ZXJmYWNlLmggYi9pbnRlcmZhY2UvY2RkYV9pbnRlcmZhY2UuaAoraW5kZXggODQ4N2NiNy4uYjczODgyNSAxMDA2NDQKKy0tLSBhL2ludGVyZmFjZS9jZGRhX2ludGVyZmFjZS5oCisrKysgYi9pbnRlcmZhY2UvY2RkYV9pbnRlcmZhY2UuaAorQEAgLTg0LDcgKzg0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgY2Ryb21fZHJpdmV7CisgICBpbnQgaXNfYXRhcGk7CisgICBpbnQgaXNfbW1jOworIAorLSAgY2RkYV9wcml2YXRlX2RhdGFfdCAqcHJpdmF0ZTsKKysgIGNkZGFfcHJpdmF0ZV9kYXRhX3QgKnByaXY7IC8qIHByaXZhdGUgaXMgYSBDKysgcmVzZXJ2ZWQga2V5d29yZCAqLworICAgdm9pZCAgICAgICAgICpyZXNlcnZlZDsKKyAgIHVuc2lnbmVkIGNoYXIgaW5xYnl0ZXNbNF07CisgCitkaWZmIC0tZ2l0IGEvaW50ZXJmYWNlL2Nvb2tlZF9pbnRlcmZhY2UuYyBiL2ludGVyZmFjZS9jb29rZWRfaW50ZXJmYWNlLmMKK2luZGV4IGRlMjkwNTUuLmVhOWQwZmMgMTAwNjQ0CistLS0gYS9pbnRlcmZhY2UvY29va2VkX2ludGVyZmFjZS5jCisrKysgYi9pbnRlcmZhY2UvY29va2VkX2ludGVyZmFjZS5jCitAQCAtMTMsMTMgKzEzLDEzIEBACisgc3RhdGljIGludCB0aW1lZF9pb2N0bChjZHJvbV9kcml2ZSAqZCwgaW50IGZkLCBpbnQgY29tbWFuZCwgdm9pZCAqYXJnKXsKKyAgIHN0cnVjdCB0aW1lc3BlYyB0djE7CisgICBzdHJ1Y3QgdGltZXNwZWMgdHYyOworLSAgaW50IHJldDE9Y2xvY2tfZ2V0dGltZShkLT5wcml2YXRlLT5jbG9jaywmdHYxKTsKKysgIGludCByZXQxPWNsb2NrX2dldHRpbWUoZC0+cHJpdi0+Y2xvY2ssJnR2MSk7CisgICBpbnQgcmV0Mj1pb2N0bChmZCwgY29tbWFuZCxhcmcpOworLSAgaW50IHJldDM9Y2xvY2tfZ2V0dGltZShkLT5wcml2YXRlLT5jbG9jaywmdHYyKTsKKysgIGludCByZXQzPWNsb2NrX2dldHRpbWUoZC0+cHJpdi0+Y2xvY2ssJnR2Mik7CisgICBpZihyZXQxPDAgfHwgcmV0MzwwKXsKKy0gICAgZC0+cHJpdmF0ZS0+bGFzdF9taWxsaXNlY29uZHM9LTE7CisrICAgIGQtPnByaXYtPmxhc3RfbWlsbGlzZWNvbmRzPS0xOworICAgfWVsc2V7CistICAgIGQtPnByaXZhdGUtPmxhc3RfbWlsbGlzZWNvbmRzID0gKHR2Mi50dl9zZWMtdHYxLnR2X3NlYykqMTAwMC4gKyAodHYyLnR2X25zZWMtdHYxLnR2X25zZWMpLzEwMDAwMDAuOworKyAgICBkLT5wcml2LT5sYXN0X21pbGxpc2Vjb25kcyA9ICh0djIudHZfc2VjLXR2MS50dl9zZWMpKjEwMDAuICsgKHR2Mi50dl9uc2VjLXR2MS50dl9uc2VjKS8xMDAwMDAwLjsKKyAgIH0KKyAgIHJldHVybiByZXQyOworIH0KK2RpZmYgLS1naXQgYS9pbnRlcmZhY2UvaW50ZXJmYWNlLmMgYi9pbnRlcmZhY2UvaW50ZXJmYWNlLmMKK2luZGV4IGU4YTkwY2QuLjUyNmMyYTkgMTAwNjQ0CistLS0gYS9pbnRlcmZhY2UvaW50ZXJmYWNlLmMKKysrKyBiL2ludGVyZmFjZS9pbnRlcmZhY2UuYworQEAgLTM5LDkgKzM5LDkgQEAgaW50IGNkZGFfY2xvc2UoY2Ryb21fZHJpdmUgKmQpeworICAgICBpZihkLT5kcml2ZV9tb2RlbClmcmVlKGQtPmRyaXZlX21vZGVsKTsKKyAgICAgaWYoZC0+Y2RkYV9mZCE9LTEpY2xvc2UoZC0+Y2RkYV9mZCk7CisgICAgIGlmKGQtPmlvY3RsX2ZkIT0tMSAmJiBkLT5pb2N0bF9mZCE9ZC0+Y2RkYV9mZCljbG9zZShkLT5pb2N0bF9mZCk7CistICAgIGlmKGQtPnByaXZhdGUpeworLSAgICAgIGlmKGQtPnByaXZhdGUtPnNnX2hkKWZyZWUoZC0+cHJpdmF0ZS0+c2dfaGQpOworLSAgICAgIGZyZWUoZC0+cHJpdmF0ZSk7CisrICAgIGlmKGQtPnByaXYpeworKyAgICAgIGlmKGQtPnByaXYtPnNnX2hkKWZyZWUoZC0+cHJpdi0+c2dfaGQpOworKyAgICAgIGZyZWUoZC0+cHJpdik7CisgICAgIH0KKyAKKyAgICAgZnJlZShkKTsKK0BAIC0xMjcsNyArMTI3LDcgQEAgbG9uZyBjZGRhX3JlYWRfdGltZWQoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKmJ1ZmZlciwgbG9uZyBiZWdpbnNlY3RvciwgbG9uZyBzZWN0b3IKKyAJfQorICAgICAgIH0JCisgICAgIH0KKy0gICAgaWYobXMpKm1zPWQtPnByaXZhdGUtPmxhc3RfbWlsbGlzZWNvbmRzOworKyAgICBpZihtcykqbXM9ZC0+cHJpdi0+bGFzdF9taWxsaXNlY29uZHM7CisgICAgIHJldHVybihzZWN0b3JzKTsKKyAgIH0KKyAgIAorZGlmZiAtLWdpdCBhL2ludGVyZmFjZS9zY2FuX2RldmljZXMuYyBiL2ludGVyZmFjZS9zY2FuX2RldmljZXMuYworaW5kZXggZmM1ODExMC4uNWY2YzRlMyAxMDA2NDQKKy0tLSBhL2ludGVyZmFjZS9zY2FuX2RldmljZXMuYworKysrIGIvaW50ZXJmYWNlL3NjYW5fZGV2aWNlcy5jCitAQCAtMjY0LDExICsyNjQsMTEgQEAgY2Ryb21fZHJpdmUgKmNkZGFfaWRlbnRpZnlfY29va2VkKGNvbnN0IGNoYXIgKmRldiwgaW50IG1lc3NhZ2VkZXN0LAorICAgZC0+aW50ZXJmYWNlPUNPT0tFRF9JT0NUTDsKKyAgIGQtPmJpZ2VuZGlhbnA9LTE7IC8qIFdlIGRvbid0IGtub3cgeWV0Li4uICovCisgICBkLT5uc2VjdG9ycz0tMTsKKy0gIGQtPnByaXZhdGU9Y2FsbG9jKDEsc2l6ZW9mKCpkLT5wcml2YXRlKSk7CisrICBkLT5wcml2PWNhbGxvYygxLHNpemVvZigqZC0+cHJpdikpOworICAgeworICAgICAvKiBnb2RkYW1uaXQgKi8KKyAgICAgc3RydWN0IHRpbWVzcGVjIHR2OworLSAgICBkLT5wcml2YXRlLT5jbG9jaz0oY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsJnR2KTwwP0NMT0NLX1JFQUxUSU1FOkNMT0NLX01PTk9UT05JQyk7CisrICAgIGQtPnByaXYtPmNsb2NrPShjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywmdHYpPDA/Q0xPQ0tfUkVBTFRJTUU6Q0xPQ0tfTU9OT1RPTklDKTsKKyAgIH0KKyAgIGlkbWVzc2FnZShtZXNzYWdlZGVzdCxtZXNzYWdlcywiXHRcdENEUk9NIHNlbnNlZDogJXNcbiIsZGVzY3JpcHRpb24pOworICAgcmV0dXJuKGQpOworQEAgLTY3NCwxNSArNjc0LDE1IEBAIGNkcm9tX2RyaXZlICpjZGRhX2lkZW50aWZ5X3Njc2koY29uc3QgY2hhciAqZ2VuZXJpY19kZXZpY2UsCisgICBkLT5iaWdlbmRpYW5wPS0xOyAvKiBXZSBkb24ndCBrbm93IHlldC4uLiAqLworICAgZC0+bnNlY3RvcnM9LTE7CisgICBkLT5tZXNzYWdlZGVzdCA9IG1lc3NhZ2VkZXN0OworLSAgZC0+cHJpdmF0ZT1jYWxsb2MoMSxzaXplb2YoKmQtPnByaXZhdGUpKTsKKysgIGQtPnByaXY9Y2FsbG9jKDEsc2l6ZW9mKCpkLT5wcml2KSk7CisgICB7CisgICAgIC8qIGdvZGRhbW5pdCAqLworICAgICBzdHJ1Y3QgdGltZXNwZWMgdHY7CistICAgIGQtPnByaXZhdGUtPmNsb2NrPShjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywmdHYpPDA/Q0xPQ0tfUkVBTFRJTUU6Q0xPQ0tfTU9OT1RPTklDKTsKKysgICAgZC0+cHJpdi0+Y2xvY2s9KGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCZ0dik8MD9DTE9DS19SRUFMVElNRTpDTE9DS19NT05PVE9OSUMpOworICAgfQorICAgaWYodXNlX3NnaW8peworICAgICBkLT5pbnRlcmZhY2U9U0dJT19TQ1NJOworLSAgICBkLT5wcml2YXRlLT5zZ19idWZmZXI9KHVuc2lnbmVkIGNoYXIgKikoZC0+cHJpdmF0ZS0+c2dfaGQ9bWFsbG9jKE1BWF9CSUdfQlVGRl9TSVpFKSk7CisrICAgIGQtPnByaXYtPnNnX2J1ZmZlcj0odW5zaWduZWQgY2hhciAqKShkLT5wcml2LT5zZ19oZD1tYWxsb2MoTUFYX0JJR19CVUZGX1NJWkUpKTsKKyAgICAgZ19mZD1kLT5jZGRhX2ZkPWR1cChkLT5pb2N0bF9mZCk7CisgICB9ZWxzZXsKKyAgICAgdmVyc2lvbj12ZXJpZnlfU0dfdmVyc2lvbihkLG1lc3NhZ2VkZXN0LG1lc3NhZ2VzKTsKK0BAIC02OTYsOCArNjk2LDggQEAgY2Ryb21fZHJpdmUgKmNkZGFfaWRlbnRpZnlfc2NzaShjb25zdCBjaGFyICpnZW5lcmljX2RldmljZSwKKyAgICAgfQorIAorICAgICAvKiBtYWxsb2Mgb3VyIGJpZyBidWZmZXIgZm9yIHNjc2kgY29tbWFuZHMgKi8KKy0gICAgZC0+cHJpdmF0ZS0+c2dfaGQ9bWFsbG9jKE1BWF9CSUdfQlVGRl9TSVpFKTsKKy0gICAgZC0+cHJpdmF0ZS0+c2dfYnVmZmVyPSgodW5zaWduZWQgY2hhciAqKWQtPnByaXZhdGUtPnNnX2hkKStTR19PRkY7CisrICAgIGQtPnByaXYtPnNnX2hkPW1hbGxvYyhNQVhfQklHX0JVRkZfU0laRSk7CisrICAgIGQtPnByaXYtPnNnX2J1ZmZlcj0oKHVuc2lnbmVkIGNoYXIgKilkLT5wcml2LT5zZ19oZCkrU0dfT0ZGOworICAgfQorIAorICAgeworQEAgLTc3Miw5ICs3NzIsOSBAQCBjZGRhX2lkZW50aWZ5X3Njc2lfZmFpbDoKKyAgIGlmKGlfZmQhPS0xKWNsb3NlKGlfZmQpOworICAgaWYoZ19mZCE9LTEpY2xvc2UoZ19mZCk7CisgICBpZihkKXsKKy0gICAgaWYoZC0+cHJpdmF0ZSl7CistICAgICAgaWYoZC0+cHJpdmF0ZS0+c2dfaGQpZnJlZShkLT5wcml2YXRlLT5zZ19oZCk7CistICAgICAgZnJlZShkLT5wcml2YXRlKTsKKysgICAgaWYoZC0+cHJpdil7CisrICAgICAgaWYoZC0+cHJpdi0+c2dfaGQpZnJlZShkLT5wcml2LT5zZ19oZCk7CisrICAgICAgZnJlZShkLT5wcml2KTsKKyAgICAgfQorICAgICBmcmVlKGQpOworICAgfQorQEAgLTgyMSw3ICs4MjEsNyBAQCBjZHJvbV9kcml2ZSAqY2RkYV9pZGVudGlmeV90ZXN0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbWVzc2FnZWRlc3QsCisgICBkLT5pbnRlcmZhY2U9VEVTVF9JTlRFUkZBQ0U7CisgICBkLT5iaWdlbmRpYW5wPS0xOyAvKiBXZSBkb24ndCBrbm93IHlldC4uLiAqLworICAgZC0+bnNlY3RvcnM9LTE7CistICBkLT5wcml2YXRlPWNhbGxvYygxLHNpemVvZigqZC0+cHJpdmF0ZSkpOworKyAgZC0+cHJpdj1jYWxsb2MoMSxzaXplb2YoKmQtPnByaXYpKTsKKyAgIGQtPmRyaXZlX21vZGVsPWNvcHlzdHJpbmcoIkZpbGUgYmFzZWQgdGVzdCBpbnRlcmZhY2UiKTsKKyAgIGlkbWVzc2FnZShtZXNzYWdlZGVzdCxtZXNzYWdlcywiXHRcdENEUk9NIHNlbnNlZDogJXNcbiIsZC0+ZHJpdmVfbW9kZWwpOworICAgCitkaWZmIC0tZ2l0IGEvaW50ZXJmYWNlL3Njc2lfaW50ZXJmYWNlLmMgYi9pbnRlcmZhY2Uvc2NzaV9pbnRlcmZhY2UuYworaW5kZXggYWRiYjliZi4uNzVkOTBkNCAxMDA2NDQKKy0tLSBhL2ludGVyZmFjZS9zY3NpX2ludGVyZmFjZS5jCisrKysgYi9pbnRlcmZhY2Uvc2NzaV9pbnRlcmZhY2UuYworQEAgLTE1LDEzICsxNSwxMyBAQAorIHN0YXRpYyBpbnQgdGltZWRfaW9jdGwoY2Ryb21fZHJpdmUgKmQsIGludCBmZCwgaW50IGNvbW1hbmQsIHZvaWQgKmFyZyl7CisgICBzdHJ1Y3QgdGltZXNwZWMgdHYxOworICAgc3RydWN0IHRpbWVzcGVjIHR2MjsKKy0gIGludCByZXQxPWNsb2NrX2dldHRpbWUoZC0+cHJpdmF0ZS0+Y2xvY2ssJnR2MSk7CisrICBpbnQgcmV0MT1jbG9ja19nZXR0aW1lKGQtPnByaXYtPmNsb2NrLCZ0djEpOworICAgaW50IHJldDI9aW9jdGwoZmQsIGNvbW1hbmQsYXJnKTsKKy0gIGludCByZXQzPWNsb2NrX2dldHRpbWUoZC0+cHJpdmF0ZS0+Y2xvY2ssJnR2Mik7CisrICBpbnQgcmV0Mz1jbG9ja19nZXR0aW1lKGQtPnByaXYtPmNsb2NrLCZ0djIpOworICAgaWYocmV0MTwwIHx8IHJldDM8MCl7CistICAgIGQtPnByaXZhdGUtPmxhc3RfbWlsbGlzZWNvbmRzPS0xOworKyAgICBkLT5wcml2LT5sYXN0X21pbGxpc2Vjb25kcz0tMTsKKyAgIH1lbHNleworLSAgICBkLT5wcml2YXRlLT5sYXN0X21pbGxpc2Vjb25kcyA9ICh0djIudHZfc2VjLXR2MS50dl9zZWMpKjEwMDAuICsgKHR2Mi50dl9uc2VjLXR2MS50dl9uc2VjKS8xMDAwMDAwLjsKKysgICAgZC0+cHJpdi0+bGFzdF9taWxsaXNlY29uZHMgPSAodHYyLnR2X3NlYy10djEudHZfc2VjKSoxMDAwLiArICh0djIudHZfbnNlYy10djEudHZfbnNlYykvMTAwMDAwMC47CisgICB9CisgICByZXR1cm4gcmV0MjsKKyB9CitAQCAtOTYsNyArOTYsNyBAQCBzdGF0aWMgdm9pZCB0d2Vha19TR19idWZmZXIoY2Ryb21fZHJpdmUgKmQpIHsKKyBzdGF0aWMgdm9pZCBjbGVhcl9nYXJiYWdlKGNkcm9tX2RyaXZlICpkKXsKKyAgIGZkX3NldCBmZHNldDsKKyAgIHN0cnVjdCB0aW1ldmFsIHR2OworLSAgc3RydWN0IHNnX2hlYWRlciAqc2dfaGQ9ZC0+cHJpdmF0ZS0+c2dfaGQ7CisrICBzdHJ1Y3Qgc2dfaGVhZGVyICpzZ19oZD1kLT5wcml2LT5zZ19oZDsKKyAgIGludCBmbGFnPTA7CisgCisgICAvKiBjbGVhciBvdXQgYW55IHBvc3NpYmx5IHByZWV4aXN0aW5nIGdhcmJhZ2UgKi8KK0BAIC0xODUsNyArMTg1LDcgQEAgc3RhdGljIGludCBzZzJfaGFuZGxlX3Njc2lfY21kKGNkcm9tX2RyaXZlICpkLAorICAgc3RydWN0IHRpbWVzcGVjIHR2MjsKKyAgIGludCB0cmV0MSx0cmV0MjsKKyAgIGludCBzdGF0dXMgPSAwOworLSAgc3RydWN0IHNnX2hlYWRlciAqc2dfaGQ9ZC0+cHJpdmF0ZS0+c2dfaGQ7CisrICBzdHJ1Y3Qgc2dfaGVhZGVyICpzZ19oZD1kLT5wcml2LT5zZ19oZDsKKyAgIGxvbmcgd3JpdGVieXRlcz1TR19PRkYrY21kX2xlbitpbl9zaXplOworIAorICAgLyogZ2VuZXJpYyBzY3NpIGRldmljZSBzZXJ2aWNlcyAqLworQEAgLTE5NSw3ICsxOTUsNyBAQCBzdGF0aWMgaW50IHNnMl9oYW5kbGVfc2NzaV9jbWQoY2Ryb21fZHJpdmUgKmQsCisgCisgICBtZW1zZXQoc2dfaGQsMCxzaXplb2Yoc2dfaGQpKTsgCisgICBtZW1zZXQoc2Vuc2VfYnVmZmVyLDAsU0dfTUFYX1NFTlNFKTsgCistICBtZW1jcHkoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyLGNtZCxjbWRfbGVuK2luX3NpemUpOworKyAgbWVtY3B5KGQtPnByaXYtPnNnX2J1ZmZlcixjbWQsY21kX2xlbitpbl9zaXplKTsKKyAgIHNnX2hkLT50d2VsdmVfYnl0ZSA9IGNtZF9sZW4gPT0gMTI7CisgICBzZ19oZC0+cmVzdWx0ID0gMDsKKyAgIHNnX2hkLT5yZXBseV9sZW4gPSBTR19PRkYgKyBvdXRfc2l6ZTsKK0BAIC0yMDksNyArMjA5LDcgQEAgc3RhdGljIGludCBzZzJfaGFuZGxlX3Njc2lfY21kKGNkcm9tX2RyaXZlICpkLAorICAgICAgdGVsbCBpZiB0aGUgY29tbWFuZCBmYWlsZWQuICBTY2FyZWQgeWV0PyAqLworIAorICAgaWYoYnl0ZWNoZWNrICYmIG91dF9zaXplPmluX3NpemUpeworLSAgICBtZW1zZXQoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyK2NtZF9sZW4raW5fc2l6ZSxieXRlZmlsbCxvdXRfc2l6ZS1pbl9zaXplKTsgCisrICAgIG1lbXNldChkLT5wcml2LT5zZ19idWZmZXIrY21kX2xlbitpbl9zaXplLGJ5dGVmaWxsLG91dF9zaXplLWluX3NpemUpOyAKKyAgICAgLyogdGhlIHNpemUgZG9lcyBub3QgcmVtb3ZlIGNtZF9sZW4gZHVlIHRvIHRoZSB3YXkgdGhlIGtlcm5lbAorICAgICAgICBkcml2ZXIgY29waWVzIGJ1ZmZlcnMgKi8KKyAgICAgd3JpdGVieXRlcys9KG91dF9zaXplLWluX3NpemUpOworQEAgLTI0Myw3ICsyNDMsNyBAQCBzdGF0aWMgaW50IHNnMl9oYW5kbGVfc2NzaV9jbWQoY2Ryb21fZHJpdmUgKmQsCisgICB9CisgCisgICBzaWdwcm9jbWFzayAoU0lHX0JMT0NLLCAmKGQtPnNpZ3NldCksIE5VTEwgKTsKKy0gIHRyZXQxPWNsb2NrX2dldHRpbWUoZC0+cHJpdmF0ZS0+Y2xvY2ssJnR2MSk7ICAKKysgIHRyZXQxPWNsb2NrX2dldHRpbWUoZC0+cHJpdi0+Y2xvY2ssJnR2MSk7ICAKKyAgIGVycm5vPTA7CisgICBzdGF0dXMgPSB3cml0ZShkLT5jZGRhX2ZkLCBzZ19oZCwgd3JpdGVieXRlcyApOworIAorQEAgLTI4OSw3ICsyODksNyBAQCBzdGF0aWMgaW50IHNnMl9oYW5kbGVfc2NzaV9jbWQoY2Ryb21fZHJpdmUgKmQsCisgICAgIH0KKyAgIH0KKyAKKy0gIHRyZXQyPWNsb2NrX2dldHRpbWUoZC0+cHJpdmF0ZS0+Y2xvY2ssJnR2Mik7ICAKKysgIHRyZXQyPWNsb2NrX2dldHRpbWUoZC0+cHJpdi0+Y2xvY2ssJnR2Mik7ICAKKyAgIGVycm5vPTA7CisgICBzdGF0dXMgPSByZWFkKGQtPmNkZGFfZmQsIHNnX2hkLCBTR19PRkYgKyBvdXRfc2l6ZSk7CisgICBzaWdwcm9jbWFzayAoIFNJR19VTkJMT0NLLCAmKGQtPnNpZ3NldCksIE5VTEwgKTsKK0BAIC0zMTMsNyArMzEzLDcgQEAgc3RhdGljIGludCBzZzJfaGFuZGxlX3Njc2lfY21kKGNkcm9tX2RyaXZlICpkLAorICAgaWYoYnl0ZWNoZWNrICYmIGluX3NpemUrY21kX2xlbjxvdXRfc2l6ZSl7CisgICAgIGxvbmcgaSxmbGFnPTA7CisgICAgIGZvcihpPWluX3NpemU7aTxvdXRfc2l6ZTtpKyspCistICAgICAgaWYoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyW2ldIT1ieXRlZmlsbCl7CisrICAgICAgaWYoZC0+cHJpdi0+c2dfYnVmZmVyW2ldIT1ieXRlZmlsbCl7CisgCWZsYWc9MTsKKyAJYnJlYWs7CisgICAgICAgfQorQEAgLTMyNiw5ICszMjYsOSBAQCBzdGF0aWMgaW50IHNnMl9oYW5kbGVfc2NzaV9jbWQoY2Ryb21fZHJpdmUgKmQsCisgCisgICBlcnJubz0wOworICAgaWYodHJldDE8MCB8fCB0cmV0MjwwKXsKKy0gICAgZC0+cHJpdmF0ZS0+bGFzdF9taWxsaXNlY29uZHM9LTE7CisrICAgIGQtPnByaXYtPmxhc3RfbWlsbGlzZWNvbmRzPS0xOworICAgfWVsc2V7CistICAgIGQtPnByaXZhdGUtPmxhc3RfbWlsbGlzZWNvbmRzID0gKHR2Mi50dl9zZWMtdHYxLnR2X3NlYykqMTAwMCArICh0djIudHZfbnNlYy10djEudHZfbnNlYykvMTAwMDAwMDsKKysgICAgZC0+cHJpdi0+bGFzdF9taWxsaXNlY29uZHMgPSAodHYyLnR2X3NlYy10djEudHZfc2VjKSoxMDAwICsgKHR2Mi50dl9uc2VjLXR2MS50dl9uc2VjKS8xMDAwMDAwOworICAgfQorICAgcmV0dXJuKDApOworIH0KK0BAIC0zNDcsNyArMzQ3LDcgQEAgc3RhdGljIGludCBzZ2lvX2hhbmRsZV9zY3NpX2NtZChjZHJvbV9kcml2ZSAqZCwKKyAKKyAgIG1lbXNldCgmaGRyLDAsc2l6ZW9mKGhkcikpOworICAgbWVtc2V0KHNlbnNlLDAsc2l6ZW9mKHNlbnNlKSk7CistICBtZW1jcHkoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyLGNtZCtjbWRfbGVuLGluX3NpemUpOworKyAgbWVtY3B5KGQtPnByaXYtPnNnX2J1ZmZlcixjbWQrY21kX2xlbixpbl9zaXplKTsKKyAKKyAgIGhkci5jbWRwID0gY21kOworICAgaGRyLmNtZF9sZW4gPSBjbWRfbGVuOworQEAgLTM1NSw3ICszNTUsNyBAQCBzdGF0aWMgaW50IHNnaW9faGFuZGxlX3Njc2lfY21kKGNkcm9tX2RyaXZlICpkLAorICAgaGRyLm14X3NiX2xlbiA9IFNHX01BWF9TRU5TRTsKKyAgIGhkci50aW1lb3V0ID0gNTAwMDA7CisgICBoZHIuaW50ZXJmYWNlX2lkID0gJ1MnOworLSAgaGRyLmR4ZmVycCA9ICBkLT5wcml2YXRlLT5zZ19idWZmZXI7CisrICBoZHIuZHhmZXJwID0gIGQtPnByaXYtPnNnX2J1ZmZlcjsKKyAgIGhkci5mbGFncyA9IFNHX0ZMQUdfRElSRUNUX0lPOyAgLyogZGlyZWN0IElPIGlmIHdlIGNhbiBnZXQgaXQgKi8KKyAKKyAgIC8qIHNjYXJ5IGJ1ZmZlciBmaWxsIGhhY2sgKi8KK0BAIC00MDAsNyArNDAwLDcgQEAgc3RhdGljIGludCBzZ2lvX2hhbmRsZV9zY3NpX2NtZChjZHJvbV9kcml2ZSAqZCwKKyAgIGlmKGJ5dGVjaGVjayAmJiBpbl9zaXplPG91dF9zaXplKXsKKyAgICAgbG9uZyBpLGZsYWc9MDsKKyAgICAgZm9yKGk9aW5fc2l6ZTtpPG91dF9zaXplO2krKykKKy0gICAgICBpZihkLT5wcml2YXRlLT5zZ19idWZmZXJbaV0hPWJ5dGVmaWxsKXsKKysgICAgICBpZihkLT5wcml2LT5zZ19idWZmZXJbaV0hPWJ5dGVmaWxsKXsKKyAJZmxhZz0xOworIAlicmVhazsKKyAgICAgICB9CitAQCAtNDEyLDcgKzQxMiw3IEBAIHN0YXRpYyBpbnQgc2dpb19oYW5kbGVfc2NzaV9jbWQoY2Ryb21fZHJpdmUgKmQsCisgICB9CisgCisgICAvKiBDYW4ndCByZWx5IG9uIC5kdXJhdGlvbiBiZWNhdXNlIHdlIGNhbid0IGJlIGNlcnRhaW4ga2VybmVsIGhhcyBIWiBzZXQgdG8gc29tZXRoaW5nIHVzZWZ1bCAqLworLSAgLyogZC0+cHJpdmF0ZS0+bGFzdF9taWxsaXNlY29uZHMgPSBoZHIuZHVyYXRpb247ICovCisrICAvKiBkLT5wcml2LT5sYXN0X21pbGxpc2Vjb25kcyA9IGhkci5kdXJhdGlvbjsgKi8KKyAKKyAgIGVycm5vID0gMDsKKyAgIHJldHVybiAwOworQEAgLTQ0NSw5ICs0NDUsOSBAQCBzdGF0aWMgaW50IHRlc3RfdW5pdF9yZWFkeShjZHJvbV9kcml2ZSAqZCl7CisgCisgICBoYW5kbGVfc2NzaV9jbWQoZCwgY21kLCA2LCAwLCA1NiwgMCwwLCBzZW5zZSk7CisgCistICBrZXkgPSBkLT5wcml2YXRlLT5zZ19idWZmZXJbMl0gJiAweGY7CistICBBU0MgPSBkLT5wcml2YXRlLT5zZ19idWZmZXJbMTJdOworLSAgQVNDUSA9IGQtPnByaXZhdGUtPnNnX2J1ZmZlclsxM107CisrICBrZXkgPSBkLT5wcml2LT5zZ19idWZmZXJbMl0gJiAweGY7CisrICBBU0MgPSBkLT5wcml2LT5zZ19idWZmZXJbMTJdOworKyAgQVNDUSA9IGQtPnByaXYtPnNnX2J1ZmZlclsxM107CisgICAKKyAgIGlmKGtleSA9PSAyICYmIEFTQyA9PSA0ICYmIEFTQ1EgPT0gMSkgcmV0dXJuIDA7CisgICByZXR1cm4gMTsKK0BAIC00OTIsNyArNDkyLDcgQEAgc3RhdGljIGludCBtb2RlX3NlbnNlX2F0YXBpKGNkcm9tX2RyaXZlICpkLGludCBzaXplLGludCBwYWdlKXsKKyAgIGlmIChoYW5kbGVfc2NzaV9jbWQgKGQsIGNtZCwgMTAsIDAsIHNpemUrNCwnXDM3NycsMSxzZW5zZSkpIHJldHVybigxKTsKKyAKKyAgIHsKKy0gICAgdW5zaWduZWQgY2hhciAqYj1kLT5wcml2YXRlLT5zZ19idWZmZXI7CisrICAgIHVuc2lnbmVkIGNoYXIgKmI9ZC0+cHJpdi0+c2dfYnVmZmVyOworICAgICBpZihiWzBdKXJldHVybigxKTsgLyogSGFuZGxlcyBvbmx5IHVwIHRvIDI1NiBieXRlcyAqLworICAgICBpZihiWzZdKXJldHVybigxKTsgLyogSGFuZGxlcyBvbmx5IHVwIHRvIDI1NiBieXRlcyAqLworIAorQEAgLTYwNCw4ICs2MDQsOCBAQCBzdGF0aWMgaW50IG1vZGVfc2VsZWN0KGNkcm9tX2RyaXZlICpkLGludCBkZW5zaXR5LGludCBzZWNzaXplKXsKKyBzdGF0aWMgdW5zaWduZWQgaW50IGdldF9vcmlnX3NlY3RvcnNpemUoY2Ryb21fZHJpdmUgKmQpeworICAgaWYobW9kZV9zZW5zZShkLDEyLDB4MDEpKXJldHVybigtMSk7CisgCistICBkLT5vcmdkZW5zID0gZC0+cHJpdmF0ZS0+c2dfYnVmZmVyWzRdOworLSAgcmV0dXJuKGQtPm9yZ3NpemUgPSAoKGludCkoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyWzEwXSk8PDgpK2QtPnByaXZhdGUtPnNnX2J1ZmZlclsxMV0pOworKyAgZC0+b3JnZGVucyA9IGQtPnByaXYtPnNnX2J1ZmZlcls0XTsKKysgIHJldHVybihkLT5vcmdzaXplID0gKChpbnQpKGQtPnByaXYtPnNnX2J1ZmZlclsxMF0pPDw4KStkLT5wcml2LT5zZ19idWZmZXJbMTFdKTsKKyB9CisgCisgLyogc3dpdGNoIENEUk9NIHNjc2kgZHJpdmVzIHRvIGdpdmVuIHNlY3RvciBzaXplICAqLworQEAgLTY2NCw4ICs2NjQsOCBAQCBzdGF0aWMgaW50IHNjc2lfcmVhZF90b2MgKGNkcm9tX2RyaXZlICpkKXsKKyAgICAgcmV0dXJuKC00KTsKKyAgIH0KKyAKKy0gIGZpcnN0PWQtPnByaXZhdGUtPnNnX2J1ZmZlclsyXTsKKy0gIGxhc3Q9ZC0+cHJpdmF0ZS0+c2dfYnVmZmVyWzNdOworKyAgZmlyc3Q9ZC0+cHJpdi0+c2dfYnVmZmVyWzJdOworKyAgbGFzdD1kLT5wcml2LT5zZ19idWZmZXJbM107CisgICB0cmFja3M9bGFzdC1maXJzdCsxOworIAorICAgaWYgKGxhc3QgPiBNQVhUUksgfHwgZmlyc3QgPiBNQVhUUksgfHwgbGFzdDwwIHx8IGZpcnN0PDApIHsKK0BAIC02ODMsNyArNjgzLDcgQEAgc3RhdGljIGludCBzY3NpX3JlYWRfdG9jIChjZHJvbV9kcml2ZSAqZCl7CisgICAgICAgcmV0dXJuKC01KTsKKyAgICAgfQorICAgICB7CistICAgICAgc2NzaV9UT0MgKnRvYz0oc2NzaV9UT0MgKikoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyKzQpOworKyAgICAgIHNjc2lfVE9DICp0b2M9KHNjc2lfVE9DICopKGQtPnByaXYtPnNnX2J1ZmZlcis0KTsKKyAKKyAgICAgICBkLT5kaXNjX3RvY1tpLWZpcnN0XS5iRmxhZ3M9dG9jLT5iRmxhZ3M7CisgICAgICAgZC0+ZGlzY190b2NbaS1maXJzdF0uYlRyYWNrPWk7CitAQCAtNzA0LDcgKzcwNCw3IEBAIHN0YXRpYyBpbnQgc2NzaV9yZWFkX3RvYyAoY2Ryb21fZHJpdmUgKmQpeworICAgICByZXR1cm4oLTIpOworICAgfQorICAgeworLSAgICBzY3NpX1RPQyAqdG9jPShzY3NpX1RPQyAqKShkLT5wcml2YXRlLT5zZ19idWZmZXIrNCk7CisrICAgIHNjc2lfVE9DICp0b2M9KHNjc2lfVE9DICopKGQtPnByaXYtPnNnX2J1ZmZlcis0KTsKKyAgICAgCisgICAgIGQtPmRpc2NfdG9jW2ktZmlyc3RdLmJGbGFncz10b2MtPmJGbGFnczsKKyAgICAgZC0+ZGlzY190b2NbaS1maXJzdF0uYlRyYWNrPTB4QUE7CitAQCAtNzM4LDcgKzczOCw3IEBAIHN0YXRpYyBpbnQgc2NzaV9yZWFkX3RvYzIgKGNkcm9tX2RyaXZlICpkKXsKKyAgIH0KKyAKKyAgIC8qIGNvcHkgdG8gb3VyIHN0cnVjdHVyZSBhbmQgY29udmVydCBzdGFydCBzZWN0b3IgKi8KKy0gIHRyYWNrcyA9IGQtPnByaXZhdGUtPnNnX2J1ZmZlclsxXTsKKysgIHRyYWNrcyA9IGQtPnByaXYtPnNnX2J1ZmZlclsxXTsKKyAgIGlmICh0cmFja3MgPiBNQVhUUkspIHsKKyAgICAgY2RlcnJvcihkLCIwMDM6IENEUk9NIHJlcG9ydGluZyBpbGxlZ2FsIG51bWJlciBvZiB0cmFja3NcbiIpOworICAgICByZXR1cm4oLTMpOworQEAgLTc1NCwzMyArNzU0LDMzIEBAIHN0YXRpYyBpbnQgc2NzaV9yZWFkX3RvYzIgKGNkcm9tX2RyaXZlICpkKXsKKyAgICAgICByZXR1cm4oLTUpOworICAgICB9CisgICAgIAorLSAgICBkLT5kaXNjX3RvY1tpXS5iRmxhZ3MgPSBkLT5wcml2YXRlLT5zZ19idWZmZXJbMTBdOworKyAgICBkLT5kaXNjX3RvY1tpXS5iRmxhZ3MgPSBkLT5wcml2LT5zZ19idWZmZXJbMTBdOworICAgICBkLT5kaXNjX3RvY1tpXS5iVHJhY2sgPSBpICsgMTsKKyAKKyAgICAgZC0+ZGlzY190b2NbaV0uZHdTdGFydFNlY3Rvcj0gZC0+YWRqdXN0X3NzaXplICogCistCSgoKHNpZ25lZCBjaGFyKShkLT5wcml2YXRlLT5zZ19idWZmZXJbMl0pPDwyNCkgfCAKKy0JIChkLT5wcml2YXRlLT5zZ19idWZmZXJbM108PDE2KXwKKy0JIChkLT5wcml2YXRlLT5zZ19idWZmZXJbNF08PDgpfAorLQkgKGQtPnByaXZhdGUtPnNnX2J1ZmZlcls1XSkpOworKwkoKChzaWduZWQgY2hhcikoZC0+cHJpdi0+c2dfYnVmZmVyWzJdKTw8MjQpIHwgCisrCSAoZC0+cHJpdi0+c2dfYnVmZmVyWzNdPDwxNil8CisrCSAoZC0+cHJpdi0+c2dfYnVmZmVyWzRdPDw4KXwKKysJIChkLT5wcml2LT5zZ19idWZmZXJbNV0pKTsKKyAgIH0KKyAKKyAgIGQtPmRpc2NfdG9jW2ldLmJGbGFncyA9IDA7CisgICBkLT5kaXNjX3RvY1tpXS5iVHJhY2sgPSBpICsgMTsKKy0gIG1lbWNweSAoJmZvbywgZC0+cHJpdmF0ZS0+c2dfYnVmZmVyKzIsIDQpOworLSAgbWVtY3B5ICgmYmFyLCBkLT5wcml2YXRlLT5zZ19idWZmZXIrNiwgNCk7CisrICBtZW1jcHkgKCZmb28sIGQtPnByaXYtPnNnX2J1ZmZlcisyLCA0KTsKKysgIG1lbWNweSAoJmJhciwgZC0+cHJpdi0+c2dfYnVmZmVyKzYsIDQpOworICAgZC0+ZGlzY190b2NbaV0uZHdTdGFydFNlY3RvciA9IGQtPmFkanVzdF9zc2l6ZSAqIChiZTMyX3RvX2NwdShmb28pICsKKyAJCQkJCQkgICAgYmUzMl90b19jcHUoYmFyKSk7CisgCisgICBkLT5kaXNjX3RvY1tpXS5kd1N0YXJ0U2VjdG9yPSBkLT5hZGp1c3Rfc3NpemUgKiAKKy0gICAgKCgoKHNpZ25lZCBjaGFyKShkLT5wcml2YXRlLT5zZ19idWZmZXJbMl0pPDwyNCkgfCAKKy0gICAgICAoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyWzNdPDwxNil8CistICAgICAgKGQtPnByaXZhdGUtPnNnX2J1ZmZlcls0XTw8OCl8CistICAgICAgKGQtPnByaXZhdGUtPnNnX2J1ZmZlcls1XSkpKworKyAgICAoKCgoc2lnbmVkIGNoYXIpKGQtPnByaXYtPnNnX2J1ZmZlclsyXSk8PDI0KSB8IAorKyAgICAgIChkLT5wcml2LT5zZ19idWZmZXJbM108PDE2KXwKKysgICAgICAoZC0+cHJpdi0+c2dfYnVmZmVyWzRdPDw4KXwKKysgICAgICAoZC0+cHJpdi0+c2dfYnVmZmVyWzVdKSkrCisgICAgICAKKy0gICAgICgoKChzaWduZWQgY2hhcikoZC0+cHJpdmF0ZS0+c2dfYnVmZmVyWzZdKTw8MjQpIHwgCistICAgICAgIChkLT5wcml2YXRlLT5zZ19idWZmZXJbN108PDE2KXwKKy0gICAgICAgKGQtPnByaXZhdGUtPnNnX2J1ZmZlcls4XTw8OCl8CistICAgICAgIChkLT5wcml2YXRlLT5zZ19idWZmZXJbOV0pKSkpOworKyAgICAgKCgoKHNpZ25lZCBjaGFyKShkLT5wcml2LT5zZ19idWZmZXJbNl0pPDwyNCkgfCAKKysgICAgICAgKGQtPnByaXYtPnNnX2J1ZmZlcls3XTw8MTYpfAorKyAgICAgICAoZC0+cHJpdi0+c2dfYnVmZmVyWzhdPDw4KXwKKysgICAgICAgKGQtPnByaXYtPnNnX2J1ZmZlcls5XSkpKSk7CisgCisgCisgICBkLT5jZF9leHRyYSA9IEZpeHVwVE9DKGQsdHJhY2tzKzEpOworQEAgLTgxNyw3ICs4MTcsNyBAQCBzdGF0aWMgaW50IGlfcmVhZF8yOCAoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sIGxvbmcgc2VjdG9ycywgdW5zaWduZQorICAgY21kWzhdID0gc2VjdG9yczsKKyAgIGlmKChyZXQ9aGFuZGxlX3Njc2lfY21kKGQsY21kLDEwLDAsc2VjdG9ycyAqIENEX0ZSQU1FU0laRV9SQVcsJ1wxNzcnLDEsc2Vuc2UpKSkKKyAgICAgcmV0dXJuKHJldCk7CistICBpZihwKW1lbWNweShwLGQtPnByaXZhdGUtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworKyAgaWYocCltZW1jcHkocCxkLT5wcml2LT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKyAgIHJldHVybigwKTsKKyB9CisgCitAQCAtODM2LDcgKzgzNiw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX0E4IChjZHJvbV9kcml2ZSAqZCwgdm9pZCAqcCwgbG9uZyBiZWdpbiwgbG9uZyBzZWN0b3JzLCB1bnNpZ25lCisgICBjbWRbOV0gPSBzZWN0b3JzOworICAgaWYoKHJldD1oYW5kbGVfc2NzaV9jbWQoZCxjbWQsMTIsMCxzZWN0b3JzICogQ0RfRlJBTUVTSVpFX1JBVywnXDE3NycsMSxzZW5zZSkpKQorICAgICByZXR1cm4ocmV0KTsKKy0gIGlmKHApbWVtY3B5KHAsZC0+cHJpdmF0ZS0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisrICBpZihwKW1lbWNweShwLGQtPnByaXYtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworICAgcmV0dXJuKDApOworIH0KKyAKK0BAIC04NTQsNyArODU0LDcgQEAgc3RhdGljIGludCBpX3JlYWRfRDRfMTAgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2kKKyAgIGNtZFs4XSA9IHNlY3RvcnM7CisgICBpZigocmV0PWhhbmRsZV9zY3NpX2NtZChkLGNtZCwxMCwwLHNlY3RvcnMgKiBDRF9GUkFNRVNJWkVfUkFXLCdcMTc3JywxLHNlbnNlKSkpCisgICAgIHJldHVybihyZXQpOworLSAgaWYocCltZW1jcHkocCxkLT5wcml2YXRlLT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKysgIGlmKHApbWVtY3B5KHAsZC0+cHJpdi0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisgICByZXR1cm4oMCk7CisgfQorIAorQEAgLTg3Miw3ICs4NzIsNyBAQCBzdGF0aWMgaW50IGlfcmVhZF9ENF8xMiAoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sIGxvbmcgc2VjdG9ycywgdW5zaQorICAgY21kWzldID0gc2VjdG9yczsKKyAgIGlmKChyZXQ9aGFuZGxlX3Njc2lfY21kKGQsY21kLDEyLDAsc2VjdG9ycyAqIENEX0ZSQU1FU0laRV9SQVcsJ1wxNzcnLDEsc2Vuc2UpKSkKKyAgICAgcmV0dXJuKHJldCk7CistICBpZihwKW1lbWNweShwLGQtPnByaXZhdGUtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworKyAgaWYocCltZW1jcHkocCxkLT5wcml2LT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKyAgIHJldHVybigwKTsKKyB9CisgCitAQCAtODkwLDcgKzg5MCw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX0Q1IChjZHJvbV9kcml2ZSAqZCwgdm9pZCAqcCwgbG9uZyBiZWdpbiwgbG9uZyBzZWN0b3JzLCB1bnNpZ25lCisgICBjbWRbOF0gPSBzZWN0b3JzOworICAgaWYoKHJldD1oYW5kbGVfc2NzaV9jbWQoZCxjbWQsMTAsMCxzZWN0b3JzICogQ0RfRlJBTUVTSVpFX1JBVywnXDE3NycsMSxzZW5zZSkpKQorICAgICByZXR1cm4ocmV0KTsKKy0gIGlmKHApbWVtY3B5KHAsZC0+cHJpdmF0ZS0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisrICBpZihwKW1lbWNweShwLGQtPnByaXYtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworICAgcmV0dXJuKDApOworIH0KKyAKK0BAIC05MDgsNyArOTA4LDcgQEAgc3RhdGljIGludCBpX3JlYWRfRDggKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2lnbmUKKyAgIGNtZFs5XSA9IHNlY3RvcnM7CisgICBpZigocmV0PWhhbmRsZV9zY3NpX2NtZChkLGNtZCwxMiwwLHNlY3RvcnMgKiBDRF9GUkFNRVNJWkVfUkFXLCdcMTc3JywxLHNlbnNlKSkpCisgICAgIHJldHVybihyZXQpOworLSAgaWYocCltZW1jcHkocCxkLT5wcml2YXRlLT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKysgIGlmKHApbWVtY3B5KHAsZC0+cHJpdi0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisgICByZXR1cm4oMCk7CisgfQorIAorQEAgLTkyMiw3ICs5MjIsNyBAQCBzdGF0aWMgaW50IGlfcmVhZF9tbWMgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2lnbgorICAgY21kWzhdID0gc2VjdG9yczsKKyAgIGlmKChyZXQ9aGFuZGxlX3Njc2lfY21kKGQsY21kLDEyLDAsc2VjdG9ycyAqIENEX0ZSQU1FU0laRV9SQVcsJ1wxNzcnLDEsc2Vuc2UpKSkKKyAgICAgcmV0dXJuKHJldCk7CistICBpZihwKW1lbWNweShwLGQtPnByaXZhdGUtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworKyAgaWYocCltZW1jcHkocCxkLT5wcml2LT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKyAgIHJldHVybigwKTsKKyB9CisgCitAQCAtOTM2LDcgKzkzNiw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX21tY0IgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2lnCisgICBjbWRbOF0gPSBzZWN0b3JzOworICAgaWYoKHJldD1oYW5kbGVfc2NzaV9jbWQoZCxjbWQsMTIsMCxzZWN0b3JzICogQ0RfRlJBTUVTSVpFX1JBVywnXDE3NycsMSxzZW5zZSkpKQorICAgICByZXR1cm4ocmV0KTsKKy0gIGlmKHApbWVtY3B5KHAsZC0+cHJpdmF0ZS0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisrICBpZihwKW1lbWNweShwLGQtPnByaXYtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworICAgcmV0dXJuKDApOworIH0KKyAKK0BAIC05NTAsNyArOTUwLDcgQEAgc3RhdGljIGludCBpX3JlYWRfbW1jMiAoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sIGxvbmcgc2VjdG9ycywgdW5zaWcKKyAgIGNtZFs4XSA9IHNlY3RvcnM7CisgICBpZigocmV0PWhhbmRsZV9zY3NpX2NtZChkLGNtZCwxMiwwLHNlY3RvcnMgKiBDRF9GUkFNRVNJWkVfUkFXLCdcMTc3JywxLHNlbnNlKSkpCisgICAgIHJldHVybihyZXQpOworLSAgaWYocCltZW1jcHkocCxkLT5wcml2YXRlLT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKysgIGlmKHApbWVtY3B5KHAsZC0+cHJpdi0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisgICByZXR1cm4oMCk7CisgfQorIAorQEAgLTk2NCw3ICs5NjQsNyBAQCBzdGF0aWMgaW50IGlfcmVhZF9tbWMyQiAoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sIGxvbmcgc2VjdG9ycywgdW5zaQorICAgY21kWzhdID0gc2VjdG9yczsKKyAgIGlmKChyZXQ9aGFuZGxlX3Njc2lfY21kKGQsY21kLDEyLDAsc2VjdG9ycyAqIENEX0ZSQU1FU0laRV9SQVcsJ1wxNzcnLDEsc2Vuc2UpKSkKKyAgICAgcmV0dXJuKHJldCk7CistICBpZihwKW1lbWNweShwLGQtPnByaXZhdGUtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworKyAgaWYocCltZW1jcHkocCxkLT5wcml2LT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKyAgIHJldHVybigwKTsKKyB9CisgCitAQCAtOTc4LDcgKzk3OCw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX21tYzMgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2lnCisgICBjbWRbOF0gPSBzZWN0b3JzOworICAgaWYoKHJldD1oYW5kbGVfc2NzaV9jbWQoZCxjbWQsMTIsMCxzZWN0b3JzICogQ0RfRlJBTUVTSVpFX1JBVywnXDE3NycsMSxzZW5zZSkpKQorICAgICByZXR1cm4ocmV0KTsKKy0gIGlmKHApbWVtY3B5KHAsZC0+cHJpdmF0ZS0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisrICBpZihwKW1lbWNweShwLGQtPnByaXYtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworICAgcmV0dXJuKDApOworIH0KKyAKK0BAIC05OTIsNyArOTkyLDcgQEAgc3RhdGljIGludCBpX3JlYWRfbW1jM0IgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2kKKyAgIGNtZFs4XSA9IHNlY3RvcnM7CisgICBpZigocmV0PWhhbmRsZV9zY3NpX2NtZChkLGNtZCwxMiwwLHNlY3RvcnMgKiBDRF9GUkFNRVNJWkVfUkFXLCdcMTc3JywxLHNlbnNlKSkpCisgICAgIHJldHVybihyZXQpOworLSAgaWYocCltZW1jcHkocCxkLT5wcml2YXRlLT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKysgIGlmKHApbWVtY3B5KHAsZC0+cHJpdi0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisgICByZXR1cm4oMCk7CisgfQorIAorQEAgLTEwMjYsNyArMTAyNiw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX21zZiAoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sIGxvbmcgc2VjdG9ycywgdW5zaWduCisgCisgICBpZigocmV0PWhhbmRsZV9zY3NpX2NtZChkLGNtZCwxMiwwLHNlY3RvcnMgKiBDRF9GUkFNRVNJWkVfUkFXLCdcMTc3JywxLHNlbnNlKSkpCisgICAgIHJldHVybihyZXQpOworLSAgaWYocCltZW1jcHkocCxkLT5wcml2YXRlLT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKysgIGlmKHApbWVtY3B5KHAsZC0+cHJpdi0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisgICByZXR1cm4oMCk7CisgfQorIAorQEAgLTEwMzksNyArMTAzOSw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX21zZjIgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2lnCisgCisgICBpZigocmV0PWhhbmRsZV9zY3NpX2NtZChkLGNtZCwxMiwwLHNlY3RvcnMgKiBDRF9GUkFNRVNJWkVfUkFXLCdcMTc3JywxLHNlbnNlKSkpCisgICAgIHJldHVybihyZXQpOworLSAgaWYocCltZW1jcHkocCxkLT5wcml2YXRlLT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKysgIGlmKHApbWVtY3B5KHAsZC0+cHJpdi0+c2dfYnVmZmVyLHNlY3RvcnMqQ0RfRlJBTUVTSVpFX1JBVyk7CisgICByZXR1cm4oMCk7CisgfQorIAorQEAgLTEwNTIsNyArMTA1Miw3IEBAIHN0YXRpYyBpbnQgaV9yZWFkX21zZjMgKGNkcm9tX2RyaXZlICpkLCB2b2lkICpwLCBsb25nIGJlZ2luLCBsb25nIHNlY3RvcnMsIHVuc2lnCisgICAKKyAgIGlmKChyZXQ9aGFuZGxlX3Njc2lfY21kKGQsY21kLDEyLDAsc2VjdG9ycyAqIENEX0ZSQU1FU0laRV9SQVcsJ1wxNzcnLDEsc2Vuc2UpKSkKKyAgICAgcmV0dXJuKHJldCk7CistICBpZihwKW1lbWNweShwLGQtPnByaXZhdGUtPnNnX2J1ZmZlcixzZWN0b3JzKkNEX0ZSQU1FU0laRV9SQVcpOworKyAgaWYocCltZW1jcHkocCxkLT5wcml2LT5zZ19idWZmZXIsc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXKTsKKyAgIHJldHVybigwKTsKKyB9CisgCitAQCAtMTI3NSw3ICsxMjc1LDcgQEAgbG9uZyBzY3NpX3JlYWRfbXNmMyAoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sCisgc3RhdGljIGludCBjb3VudF8yMzUyX2J5dGVzKGNkcm9tX2RyaXZlICpkKXsKKyAgIGxvbmcgaTsKKyAgIGZvcihpPTIzNTE7aT49MDtpLS0pCistICAgIGlmKGQtPnByaXZhdGUtPnNnX2J1ZmZlcltpXSE9KHVuc2lnbmVkIGNoYXIpJ1wxNzcnKQorKyAgICBpZihkLT5wcml2LT5zZ19idWZmZXJbaV0hPSh1bnNpZ25lZCBjaGFyKSdcMTc3JykKKyAgICAgICByZXR1cm4oKChpKzMpPj4yKTw8Mik7CisgCisgICByZXR1cm4oMCk7CitAQCAtMTI4NCw3ICsxMjg0LDcgQEAgc3RhdGljIGludCBjb3VudF8yMzUyX2J5dGVzKGNkcm9tX2RyaXZlICpkKXsKKyBzdGF0aWMgaW50IHZlcmlmeV9ub256ZXJvKGNkcm9tX2RyaXZlICpkKXsKKyAgIGxvbmcgaSxmbGFnPTA7CisgICBmb3IoaT0wO2k8MjM1MjtpKyspCistICAgIGlmKGQtPnByaXZhdGUtPnNnX2J1ZmZlcltpXSE9MCl7CisrICAgIGlmKGQtPnByaXYtPnNnX2J1ZmZlcltpXSE9MCl7CisgICAgICAgZmxhZz0xOworICAgICAgIGJyZWFrOworICAgICB9CitAQCAtMTYyNSw3ICsxNjI1LDcgQEAgc3RhdGljIGludCBjaGVja19tbWMoY2Ryb21fZHJpdmUgKmQpeworICAgZC0+aXNfbW1jPTA7CisgICBpZihtb2RlX3NlbnNlKGQsMjIsMHgyQSk9PTApeworICAgCistICAgIGI9ZC0+cHJpdmF0ZS0+c2dfYnVmZmVyOworKyAgICBiPWQtPnByaXYtPnNnX2J1ZmZlcjsKKyAgICAgYis9YlszXSs0OworICAgICAKKyAgICAgaWYoKGJbMF0mMHgzRik9PTB4MkEpeworQEAgLTE2NzMsNyArMTY3Myw3IEBAIHVuc2lnbmVkIGNoYXIgKnNjc2lfaW5xdWlyeShjZHJvbV9kcml2ZSAqZCl7CisgICAgIGNkZXJyb3IoZCwiMDA4OiBVbmFibGUgdG8gaWRlbnRpZnkgQ0RST00gbW9kZWxcbiIpOworICAgICByZXR1cm4oTlVMTCk7CisgICB9CistICByZXR1cm4gKGQtPnByaXZhdGUtPnNnX2J1ZmZlcik7CisrICByZXR1cm4gKGQtPnByaXYtPnNnX2J1ZmZlcik7CisgfQorIAorIGludCBzY3NpX2luaXRfZHJpdmUoY2Ryb21fZHJpdmUgKmQpeworQEAgLTE3NDIsOCArMTc0Miw4IEBAIGludCBzY3NpX2luaXRfZHJpdmUoY2Ryb21fZHJpdmUgKmQpeworICAgY2hlY2tfY2FjaGUoZCk7CisgCisgICBkLT5lcnJvcl9yZXRyeT0xOworLSAgZC0+cHJpdmF0ZS0+c2dfaGQ9cmVhbGxvYyhkLT5wcml2YXRlLT5zZ19oZCxkLT5uc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXICsgU0dfT0ZGICsgMTI4KTsKKy0gIGQtPnByaXZhdGUtPnNnX2J1ZmZlcj0oKHVuc2lnbmVkIGNoYXIgKilkLT5wcml2YXRlLT5zZ19oZCkrU0dfT0ZGOworKyAgZC0+cHJpdi0+c2dfaGQ9cmVhbGxvYyhkLT5wcml2LT5zZ19oZCxkLT5uc2VjdG9ycypDRF9GUkFNRVNJWkVfUkFXICsgU0dfT0ZGICsgMTI4KTsKKysgIGQtPnByaXYtPnNnX2J1ZmZlcj0oKHVuc2lnbmVkIGNoYXIgKilkLT5wcml2LT5zZ19oZCkrU0dfT0ZGOworICAgZC0+cmVwb3J0X2FsbD0xOworICAgcmV0dXJuKDApOworIH0KK2RpZmYgLS1naXQgYS9pbnRlcmZhY2UvdGVzdF9pbnRlcmZhY2UuYyBiL2ludGVyZmFjZS90ZXN0X2ludGVyZmFjZS5jCitpbmRleCAxMWJlYzI1Li5lMWNlZmFhIDEwMDY0NAorLS0tIGEvaW50ZXJmYWNlL3Rlc3RfaW50ZXJmYWNlLmMKKysrKyBiL2ludGVyZmFjZS90ZXN0X2ludGVyZmFjZS5jCitAQCAtNjYsOSArNjYsOSBAQCBzdGF0aWMgbG9uZyB0ZXN0X3JlYWQoY2Ryb21fZHJpdmUgKmQsIHZvaWQgKnAsIGxvbmcgYmVnaW4sIGxvbmcgc2VjdG9ycyl7CisgICBpZighZmQpZmQ9ZmRvcGVuKGQtPmNkZGFfZmQsInIiKTsKKyAKKyAgIGlmKGJlZ2luPGxhc3RyZWFkKQorLSAgICBkLT5wcml2YXRlLT5sYXN0X21pbGxpc2Vjb25kcz0yMDsKKysgICAgZC0+cHJpdi0+bGFzdF9taWxsaXNlY29uZHM9MjA7CisgICBlbHNlCistICAgIGQtPnByaXZhdGUtPmxhc3RfbWlsbGlzZWNvbmRzPXNlY3RvcnM7CisrICAgIGQtPnByaXYtPmxhc3RfbWlsbGlzZWNvbmRzPXNlY3RvcnM7CisgCisgI2lmZGVmIENEREFfVEVTVF9VTkRFUlJVTgorICAgc2VjdG9ycy09MTsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NvcmlhbmRlci9jb3JpYW5kZXIvY3Jvc3MtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jb3JpYW5kZXIvY29yaWFuZGVyL2Nyb3NzLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDkzNTBmZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jb3JpYW5kZXIvY29yaWFuZGVyL2Nyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorSW4gYSBjcm9zcyBjb21waWxlIGVudmlyb25tZW50IGFkZGluZyBwYXRocyBsaWtlIC91c3IgYXJlIG5vdCBjb3JyZWN0LgorV2l0aCB0aGlzIHBhdGNoIHdlIG1ha2UgaXQgc28gdGhhdCBpdHMgcmVsYXRpdmUgdG8gc3lzcm9vdCBpZiB0aGUgY29tcGlsZXIKK2RlZmluZXMgb25lLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitJbmRleDogYS9zcmMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9NYWtlZmlsZS5hbQkyMDEzLTAyLTA4IDIyOjM1OjA4LjAwMDAwMDAwMCAtMDgwMAorKysrIGIvc3JjL01ha2VmaWxlLmFtCTIwMTMtMTAtMTMgMDE6MzE6MzguODEyODY5MDgwIC0wNzAwCitAQCAtMzMsNSArMzMsNSBAQAorIAl2aWRlb19lbmNvZGUuYyB2aWRlb19lbmNvZGUuaCBcCisgCXN1YnRpdGxlcy5jIHN1YnRpdGxlcy5oIAorIAorLWNvcmlhbmRlcl9MREFERCA9IC1ML3Vzci9YMTFSNi9saWIvIEBQQUNLQUdFX0xJQlNAICQoSU5UTExJQlMpICQoTElCVElGRl9MSUJTKSAkKEZUUExJQl9MSUJTKSAkKFNETExJQl9MSUJTKSAkKExJQkRDX0xJQlMpICQoTElCUkFXX0xJQlMpICQoWFZfTElCUykgJChDT1JfTEZTX0xERkxBR1MpIC1sZ3RocmVhZC0yLjAgJChGRk1QRUdfTElCUykgJChYMTFfTElCUykKKytjb3JpYW5kZXJfTERBREQgPSAtTD0vdXNyL1gxMVI2L2xpYi8gQFBBQ0tBR0VfTElCU0AgJChJTlRMTElCUykgJChMSUJUSUZGX0xJQlMpICQoRlRQTElCX0xJQlMpICQoU0RMTElCX0xJQlMpICQoTElCRENfTElCUykgJChMSUJSQVdfTElCUykgJChYVl9MSUJTKSAkKENPUl9MRlNfTERGTEFHUykgLWxndGhyZWFkLTIuMCAkKEZGTVBFR19MSUJTKSAkKFgxMV9MSUJTKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NvcmlhbmRlci9jb3JpYW5kZXJfMi4wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvY29yaWFuZGVyL2NvcmlhbmRlcl8yLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOWY1MmNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NvcmlhbmRlci9jb3JpYW5kZXJfMi4wLjIuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJDb250cm9sIGFuZCBjYXB0dXJlIEdVSSBmb3IgSUlEQyBjb21wbGlhbnQgY2FtZXJhcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9kYW1pZW4uZG91eGNoYW1wcy5uZXQvaWVlZTEzOTQvY29yaWFuZGVyLyIKK1NFQ1RJT04gPSAiYXBwbGljYXRpb25zIgorTElDRU5TRSA9ICJHUEwtMy4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitERVBFTkRTID0gImd0aysgbGliZ25vbWV1aSBsaWJyYXcxMzk0IGxpYmRjMTM5NCBsaWJ4diB0aWZmIgorCitQTkJMQUNLTElTVFtjb3JpYW5kZXJdID89ICJCUk9LRU46IGZhaWxzIHRvIHVzZSBTREwgcHJvYmFibHkgYmVjYXVzZSBsaWJzZGwtY29uZmlnIHdhcyByZW1vdmVkLCBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ1NETF9PdmVybGF5JyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC8ke0JQTn0vY29yaWFuZGVyLTIvJHtQVn0vJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2Nyb3NzLWNvbXBpbGUucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjQzMWQ5OGZiMDEzMjE3NjgxZjk3YWRlMTY4MjAxZmI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVjN2ZkMzFjYjU4ZDM5OGUyNzQyMzUyYmYxZmZiZDJjYTIyZTA2Njg2YzY2NjhlY2ZkNDM3NzM1YzJiNzkxMjMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kbGV5bmEvZGxleW5hLWNvbm5lY3Rvci1kYnVzXzAuMy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9kbGV5bmEtY29ubmVjdG9yLWRidXNfMC4zLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjIzYmM2YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kbGV5bmEvZGxleW5hLWNvbm5lY3Rvci1kYnVzXzAuMy4wLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiRC1CdXMgY29ubmVjdG9yIGZvciBkTGV5bmEgbGlicmFyaWVzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly8wMS5vcmcvZGxleW5hLyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvY29ubmVjdG9yLWRidXMuYztlbmRsaW5lPTIxO21kNT0wYTE2OTVjZWY1M2JlZWZjMzY2NTFkZTQzOWY2NDNiNSIKKworREVQRU5EUyA9ICJnbGliLTIuMCBkYnVzIGRsZXluYS1jb3JlIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vMDFvcmcvJHtCUE59LmdpdCIKK1NSQ1JFViA9ICJkZTkxM2MzNWU1YzkzNmUyZDQwZGRiZDI3NmVlOTAyY2Q4MDJiZDNhIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZGxleW5hLTEuMC9jb25uZWN0b3JzLyouc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9kbGV5bmEtMS4wL2Nvbm5lY3RvcnMvKi5sYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2RsZXluYS0xLjAvY29ubmVjdG9ycy8uZGVidWcvKi5zbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kbGV5bmEvZGxleW5hLWNvcmVfMC42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL2RsZXluYS1jb3JlXzAuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzYjI3OTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL2RsZXluYS1jb3JlXzAuNi4wLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGRMZXluYSBsaWJyYXJpZXMiCitERVNDUklQVElPTiA9ICJkbGV5bmEtY29yZSBpcyBhIGxpYnJhcnkgb2YgdXRpbGl0eSBmdW5jdGlvbnMgdGhhdCBhcmUgdXNlZCBcCitieSB0aGUgaGlnaGVyIGxldmVsIGRMZXluYSBsaWJyYXJpZXMgdGhhdCBjb21tdW5pY2F0ZSB3aXRoIERMTkEgZGV2aWNlcywgXAorZS5nLiwgZGxleW5hLXNlcnZlci4gSW4gYnJpZWYsIGl0IHByb3ZpZGVzIEFQSXMgZm9yIGxvZ2dpbmcsIGVycm9yLCBzZXR0aW5ncyBcCithbmQgdGFzayBtYW5hZ2VtZW50IGFuZCBhbiBJUEMgYXNic3RyYWN0aW9uIEFQSS4iCitIT01FUEFHRSA9ICJodHRwczovLzAxLm9yZy9kbGV5bmEvIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYmRsZXluYS9jb3JlL2NvcmUuYztlbmRsaW5lPTIxO21kNT0xMzljYmEwYzYzNDM0NGFiYzk0NTY2OTRmYmI1MDgzYiIKKworREVQRU5EUyA9ICJnbGliLTIuMCBndXBucCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tLzAxb3JnLyR7QlBOfS5naXQiCitTUkNSRVYgPSAiMjdhMzc4NmVjMDEzZjY0ZmQ1ODI0MzQxMGE2MDc5OGY4MjRhY2VjMyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9kbGV5bmEtcmVuZGVyZXJfMC42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL2RsZXluYS1yZW5kZXJlcl8wLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzBhZWU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9kbGV5bmEtcmVuZGVyZXJfMC42LjAuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJETE5BIHJlbmRlcmVyIGxpYnJhcmllcyIKK0RFU0NSSVBUSU9OID0gImRsZXluYS1yZW5kZXJlciBpcyBhIGxpYnJhcnkgZm9yIGltcGxlbWVudGluZyBzZXJ2aWNlcyBcCit0aGF0IGFsbG93IGNsaWVudHMgdG8gZGlzY292ZXIgYW5kIG1hbmlwdWxhdGUgRGlnaXRhbCBNZWRpYSBSZW5kZXJlcnMuIFwKK0FuIGltcGxlbWVudGF0aW9uIG9mIHN1Y2ggYSBzZXJ2aWNlIGZvciBsaW51eCBpcyBhbHNvIGluY2x1ZGVkLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vMDEub3JnL2RsZXluYS8iCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliZGxleW5hL3JlbmRlcmVyL3NlcnZlci5jO2VuZGxpbmU9MjE7bWQ1PWY1MWFjZDQ3NTdmYjZhNzc5YTg3MTIyYzQzY2YxMzQ2IgorCitERVBFTkRTID0gImdsaWItMi4wIGdzc2RwIGd1cG5wIGd1cG5wLWF2IGd1cG5wLWRsbmEgbGlic291cC0yLjQgZGxleW5hLWNvcmUiCitSREVQRU5EU18ke1BOfSA9ICJkbGV5bmEtY29ubmVjdG9yLWRidXMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS8wMW9yZy8ke0JQTn0uZ2l0IgorU1JDUkVWID0gIjUwZmQxZWM5ZDUxMzI4ZTdkZWE5ODg3NDEyOWRjOGQ2ZmUzZWExZGQiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworQ0ZMQUdTICs9ICIgLUkke1N9IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8ke1BOfS8qLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9kbGV5bmEtc2VydmVyXzAuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9kbGV5bmEtc2VydmVyXzAuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlMTY3NjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL2RsZXluYS1zZXJ2ZXJfMC42LjAuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJETE5BIHNlcnZlciBsaWJyYXJpZXMiCitERVNDUklQVElPTiA9ICJkbGV5bmEtc2VydmVyIGlzIGEgbGlicmFyeSBmb3IgaW1wbGVtZW50aW5nIHNlcnZpY2VzIHRoYXQgXAorYWxsb3cgY2xpZW50cyB0byBkaXNjb3ZlciwgYnJvd3NlIGFuZCBtYW5pcHVsYXRlIERpZ2l0YWwgTWVkaWEgU2VydmVycy4gXAorQW4gaW1wbGVtZW50YXRpb24gb2Ygc3VjaCBhIHNlcnZpY2UgZm9yIGxpbnV4IGlzIGFsc28gaW5jbHVkZWQuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly8wMS5vcmcvZGxleW5hLyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJkbGV5bmEvc2VydmVyL3NlcnZlci5jO2VuZGxpbmU9MjI7bWQ1PWRmYTZkYzNmOTE0MjA2YzI0MDhjMDUxMGMyMzRmOGM4IgorCitERVBFTkRTID0gImdsaWItMi4wIGdzc2RwIGd1cG5wIGd1cG5wLWF2IGd1cG5wLWRsbmEgbGlic291cC0yLjQgbGlieG1sMiBkbGV5bmEtY29yZSIKK1JERVBFTkRTXyR7UE59ID0gImRsZXluYS1jb25uZWN0b3ItZGJ1cyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tLzAxb3JnLyR7QlBOfS5naXQiCitTUkNSRVYgPSAiMzg2NTE3ODM5MTRjNzZiZDg2MWY3ZmU4NjUxYjI1ZTM5ODZkN2JlOCIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8ke1BOfS8qLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9tZWRpYS1zZXJ2aWNlLXVwbnBfMC41LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL21lZGlhLXNlcnZpY2UtdXBucF8wLjUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYWFmNDJiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2RsZXluYS9tZWRpYS1zZXJ2aWNlLXVwbnBfMC41LjAuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJkaXNjb3ZlciwgYnJvd3NlIGFuZCBzZWFyY2ggVVBOUC9ETE5BIG1lZGlhIHNlcnZlcnMiCitIT01FUEFHRSA9ICJodHRwczovLzAxLm9yZy9kbGV5bmEvIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL21lZGlhLXNlcnZpY2UtdXBucC5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PTU4NGViMTAzYjRmNmYzNDMyYzQzZDE2OWI2YTEyM2ExIgorCitERVBFTkRTID0gImRidXMgZ2xpYi0yLjAgZ3NzZHAgZ3VwbnAgZ3VwbnAtYXYgZ3VwbnAtZGxuYSBsaWJzb3VwLTIuNCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tLzAxb3JnLyR7QlBOfS5naXQiCitTUkNSRVYgPSAiMGRiYzc0YTc5YWEwN2E4ZjhjN2QzMmUxZDJkZTZjNGQzYTBmOTViYyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgZG1zLWluZm8gJHtEfSR7YmluZGlyfQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tdGVzdHMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcy8qLnNlcnZpY2UiCitGSUxFU18ke1BOfS10ZXN0cyA9ICIke2JpbmRpcn0vZG1zLWluZm8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL3JlbmRlcmVyLXNlcnZpY2UtdXBucF8wLjMuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kbGV5bmEvcmVuZGVyZXItc2VydmljZS11cG5wXzAuMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZDU5ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZGxleW5hL3JlbmRlcmVyLXNlcnZpY2UtdXBucF8wLjMuMC5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gImRpc2NvdmVyIGFuZCBtYW5pcHVsYXRlIFVQTlAvRExOQSBtZWRpYSByZW5kZXJlcnMiCitIT01FUEFHRSA9ICJodHRwczovLzAxLm9yZy9kbGV5bmEvIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3JlbmRlcmVyLXNlcnZpY2UtdXBucC5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PWMyNWMzMDgyNjg0ZWI0Y2E4NzQ3NGI3NTI4YzZkYzE1IgorCitQTkJMQUNLTElTVFtyZW5kZXJlci1zZXJ2aWNlLXVwbnBdID89ICJCUk9LRU46IGRvZXNuJ3QgYnVpbGQgd2l0aCBCIT1TICh0cnlpbmcgdG8gaW5zdGFsbCByZW5kZXJlcmNvbnNvbGUucHkgZnJvbSAke0J9IGluc3RlYWQgb2YgJHtTfSkiCisKK0RFUEVORFMgPSAiZGJ1cyBnbGliLTIuMCBnc3NkcCBndXBucCBndXBucC1hdiBndXBucC1kbG5hIGxpYnNvdXAtMi40IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vMDFvcmcvJHtCUE59LmdpdCIKK1NSQ1JFViA9ICI0YTBiMWQ3Y2Q4ZTIyZDNjYjBlMDljNzdjMzQ0Y2VjY2JjYmJkMzRmIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSB0ZXN0L3JlbmRlcmVyY29uc29sZS5weSAke0R9JHtiaW5kaXJ9Cit9CisKK1BBQ0tBR0VTID0rICIke1BOfS10ZXN0cyIKKworUkRFUEVORFNfJHtQTn0tdGVzdHMgPSAicHl0aG9uLWRidXMgcHl0aG9uLWpzb24gcHl0aG9uLW1pc2MgcHl0aG9uLXBrZ3V0aWwgcHl0aG9uLXhtbCIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzLyouc2VydmljZSIKKyMgV2hlbiB3ZSBoYXZlIEdJLCBwYWNrYWdlIGNhcAorRklMRVNfJHtQTn0tdGVzdHMgPSAiJHtiaW5kaXJ9L3JlbmRlcmVyY29uc29sZS5weSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZhYWNfMS4yOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZhYWNfMS4yOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTZjMWE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmFhY18xLjI4LmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiRnJlZXdhcmUgQWR2YW5jZWQgQXVkaW8gQ29kZXIgKE1QRUcyLUFBQywgTVBFRzQtQUFDKSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNiZjUwMDAyYWVmZDAwMmY0OWU3YmI4NTQwNjNmN2U3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYmZhYWMvY29kZXIuaDtiZWdpbmxpbmU9NTtlbmRsaW5lPTE3O21kNT1mYTFmZDZhNWZhOGNkYzg3N2Q2M2ExMjUzMGQyNzNlMCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2ZhYWMvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2J1aWxkLWZpeC5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjgwNzYzNzI4ZDM5MmM3ZDc4OWNkZTI1NjE0Yzg3OGY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM1MTQxMTk5ZjRjZmIxN2Q3NDljMzZiYThjZmU0YjI1ZjgzOGRhNjdjMjJmMGZlYzQwMjI4YjZiOWMzZDE5ZGYiCisKK1BBQ0tBR0VTID0rICJsaWIke0JQTn0gbGliJHtCUE59LWRldiIKKworRklMRVNfJHtQTn0gPSAiICR7YmluZGlyfS9mYWFjICIKK0ZJTEVTX2xpYiR7UE59ID0gIiAke2xpYmRpcn0vbGliZmFhYy5zby4qIgorRklMRVNfbGliJHtQTn0tZGV2ID0gIiR7aW5jbHVkZWRpcn0vZmFhYy5oICR7aW5jbHVkZWRpcn0vZmFhY2NmZy5oICR7bGliZGlyfS9saWJmYWFjLnNvICR7bGliZGlyfS9saWJmYWFjLmxhIgorRklMRVNfbGliJHtQTn0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJmYWFjLmEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZpbGVzL2J1aWxkLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZpbGVzL2J1aWxkLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2NmZjhmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmlsZXMvYnVpbGQtZml4LnBhdGNoCkBAIC0wLDAgKzEsMzMyIEBACitQYXRjaCBmaXhpbmcgYnVpbGQgZXJyb3IgYW5kIHdhcm5pbmdzLiBFcnJvciBjb25zaXN0ZWQgb2YgcmVkZWZpbmluZworc3RyY2FzZXN0ciBmdW5jdGlvbiBmcm9tIHN0cmluZy5oLiBXYXJuaW5ncyBjb25zaXN0ZWQgb2YgZGVwcmVjYXRlZCBjb252ZXJzaW9ucworb2Ygc3RyaW5nIGNvbnN0YW50cyB0byBjaGFyKiwgdXNpbmcgJyVsbHUnIGZvciB0eXBlIHVpbnQ2NF90ICh3aGljaCBvbiA2NCBiaXQKK3N5c3RlbXMsIGlzIGRlZmluZWQgYXMgdW5zaWduZWQgbG9uZyBpbnQgYnkgc3RkaW50LmgpLCBhbmQgdXNpbmcgJz09JyBmb3IKK2VxdWFsaXR5IG9mIHR3byBzdHJpbmdzLgorCitQYXRjaCBvcmlnaW5hbGx5IGZyb20gRGViaWFuLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL2NvbW1vbi9tcDR2Mi9tcGVnNGlwLmgKKysrKyBiL2NvbW1vbi9tcDR2Mi9tcGVnNGlwLmgKK0BAIC0xMjAsMTQgKzEyMCw2IEBACisgI2VuZGlmCisgI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorIAorLSNpZmRlZiBfX2NwbHVzcGx1cworLWV4dGVybiAiQyIgeworLSNlbmRpZgorLWNoYXIgKnN0cmNhc2VzdHIoY29uc3QgY2hhciAqaGF5c3RhY2ssIGNvbnN0IGNoYXIgKm5lZWRsZSk7CistI2lmZGVmIF9fY3BsdXNwbHVzCistfQorLSNlbmRpZgorLQorICNkZWZpbmUgT1BFTl9SRFdSIE9fUkRXUgorICNkZWZpbmUgT1BFTl9DUkVBVCBPX0NSRUFUIAorICNkZWZpbmUgT1BFTl9SRE9OTFkgT19SRE9OTFkKK0BAIC0xMzUsNyArMTI3LDYgQEAKKyAjZGVmaW5lIGNsb3Nlc29ja2V0IGNsb3NlCisgI2RlZmluZSBJT1NCSU5BUlkgaW9zOjpiaW4KKyAKKy0jaWYgU0laRU9GX0xPTkcgPT0gOAorICNkZWZpbmUgTUFYX1VJTlQ2NCAtMUxVCisgI2RlZmluZSBENjRGICJsZCIKKyAjZGVmaW5lIFU2NEYgICJsdSIKK0BAIC0xNDMsMTUgKzEzNCw2IEBACisgCisgI2RlZmluZSBUT19ENjQoYSkgKGEjI0wpCisgI2RlZmluZSBUT19VNjQoYSkgKGEjI0xVKQorLSNlbHNlCistI2RlZmluZSBNQVhfVUlOVDY0IC0xTExVCistI2RlZmluZSBENjRGICJsbGQiCistI2RlZmluZSBVNjRGICAibGx1IgorLSNkZWZpbmUgWDY0RiAibGx4IgorLQorLSNkZWZpbmUgVE9fRDY0KGEpIChhIyNMTCkKKy0jZGVmaW5lIFRPX1U2NChhKSAoYSMjTExVKQorLSNlbmRpZgorIAorICNpZmRlZiBIQVZFX0ZQT1NfVF9fX1BPUworICNkZWZpbmUgRlBPU19UT19WQVIoZnBvcywgdHlwZWQsIHZhcikgKHZhcikgPSAodHlwZWQpKChmcG9zKS5fX3BvcykKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtNCw2ICs0LDkgQEAKKyBBTV9JTklUX0FVVE9NQUtFCisgCisgQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKytBSF9UT1AoWyNpZm5kZWYgQ09ORklHX0gKKysjZGVmaW5lIENPTkZJR19IXSkKKytBSF9CT1RUT00oWyNlbmRpZiAvKiBDT05GSUdfSCAqL10pCisgCisgQUNfQVJHX1dJVEgoIG1wNHYyLCAgWyAgLS13aXRoLW1wNHYyICAgICAgICAgICAgY29tcGlsZSBsaWJtcDR2Ml0sV0lUSE1QNFYyPSR3aXRodmFsLCBXSVRITVA0VjI9eWVzKQorIEFDX0FSR19FTkFCTEUoIGRybSwgIFsgIC0tZW5hYmxlLWRybSAgICAgICAgICAgIERpZ2l0YWwgUmFkaW8gTW9uZGlhbGUgc3VwcG9ydF0sIGVuYWJsZV9kcm09JGVuYWJsZXZhbCwgZW5hYmxlX2RybT1ubykKKy0tLSBhL2NvbW1vbi9tcDR2Mi9hdG9tX2F2Y0MuY3BwCisrKysgYi9jb21tb24vbXA0djIvYXRvbV9hdmNDLmNwcAorQEAgLTI5LDcgKzI5LDcgQEAKKyBjbGFzcyBTaXplVGFibGVQcm9wZXJ0eSA6IHB1YmxpYyBNUDRUYWJsZVByb3BlcnR5IAorIHsKKyAgcHVibGljOgorLSAgU2l6ZVRhYmxlUHJvcGVydHkoY2hhciAqbmFtZSwgTVA0SW50ZWdlclByb3BlcnR5ICpwQ291bnRQcm9wZXJ0eSkgOgorKyAgU2l6ZVRhYmxlUHJvcGVydHkoY29uc3QgY2hhciAqbmFtZSwgTVA0SW50ZWdlclByb3BlcnR5ICpwQ291bnRQcm9wZXJ0eSkgOgorICAgICBNUDRUYWJsZVByb3BlcnR5KG5hbWUsIHBDb3VudFByb3BlcnR5KSB7fTsKKyAgcHJvdGVjdGVkOgorICAgdm9pZCBSZWFkRW50cnkoTVA0RmlsZSAqcEZpbGUsIHVfaW50MzJfdCBpbmRleCkgeworLS0tIGEvY29tbW9uL21wNHYyL2F0b21fb2hkci5jcHAKKysrKyBiL2NvbW1vbi9tcDR2Mi9hdG9tX29oZHIuY3BwCitAQCAtMjEsNyArMjEsNyBAQAorICAgICAgIFxwYXJhbSB1c2VDb3VudGVkRm9ybWF0ICAgIGNvdW50ZWQgZm9ybWF0IGZsYWcuCisgICAgICAgXHBhcmFtIHVzZVVuaWNvZGUgICAgICAgICAgdW5pY29kZSBmbGFnLgorICAgKi8KKy0JT2hkck1QNFN0cmluZ1Byb3BlcnR5KGNoYXIqIG5hbWUsIGJvb2wgdXNlQ291bnRlZEZvcm1hdCA9IGZhbHNlLAorKwlPaGRyTVA0U3RyaW5nUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSwgYm9vbCB1c2VDb3VudGVkRm9ybWF0ID0gZmFsc2UsCisgICAgIGJvb2wgdXNlVW5pY29kZSA9IGZhbHNlKTogTVA0U3RyaW5nUHJvcGVydHkobmFtZSwgdXNlQ291bnRlZEZvcm1hdCwKKyAgICAgdXNlVW5pY29kZSkgeworICAgfQorLS0tIGEvY29tbW9uL21wNHYyL2F0b21fc3R6Mi5jcHAKKysrKyBiL2NvbW1vbi9tcDR2Mi9hdG9tX3N0ejIuY3BwCitAQCAtMzAsNyArMzAsNyBAQAorIGNsYXNzIE1QNEhhbGZTaXplVGFibGVQcm9wZXJ0eSA6IHB1YmxpYyBNUDRUYWJsZVByb3BlcnR5CisgeworIHB1YmxpYzoKKy0gIE1QNEhhbGZTaXplVGFibGVQcm9wZXJ0eShjaGFyICpuYW1lLCBNUDRJbnRlZ2VyUHJvcGVydHkgKnBDb3VudFByb3BlcnR5KSA6CisrICBNUDRIYWxmU2l6ZVRhYmxlUHJvcGVydHkoY29uc3QgY2hhciAqbmFtZSwgTVA0SW50ZWdlclByb3BlcnR5ICpwQ291bnRQcm9wZXJ0eSkgOgorICAgICBNUDRUYWJsZVByb3BlcnR5KG5hbWUsIHBDb3VudFByb3BlcnR5KSB7fTsKKyAKKyAgIC8vIFRoZSBjb3VudCBpcyBoYWxmIHRoZSBhY3R1YWwgc2l6ZQorLS0tIGEvY29tbW9uL21wNHYyL21wNGF0b20uY3BwCisrKysgYi9jb21tb24vbXA0djIvbXA0YXRvbS5jcHAKK0BAIC04MDYsNyArODA2LDcgQEAKKyAJQWRkUHJvcGVydHkobmV3IE1QNEludGVnZXIyNFByb3BlcnR5KCJmbGFncyIpKTsKKyB9CisgCistdm9pZCBNUDRBdG9tOjpBZGRSZXNlcnZlZChjaGFyKiBuYW1lLCB1X2ludDMyX3Qgc2l6ZSkgCisrdm9pZCBNUDRBdG9tOjpBZGRSZXNlcnZlZChjb25zdCBjaGFyKiBuYW1lLCB1X2ludDMyX3Qgc2l6ZSkKKyB7CisgCU1QNEJ5dGVzUHJvcGVydHkqIHBSZXNlcnZlZCA9IG5ldyBNUDRCeXRlc1Byb3BlcnR5KG5hbWUsIHNpemUpOyAKKyAJcFJlc2VydmVkLT5TZXRSZWFkT25seSgpOworLS0tIGEvY29tbW9uL21wNHYyL21wNGF0b20uaAorKysrIGIvY29tbW9uL21wNHYyL21wNGF0b20uaAorQEAgLTIwNCw3ICsyMDQsNyBAQAorIAorIAl2b2lkIEFkZFZlcnNpb25BbmRGbGFncygpOworIAorLQl2b2lkIEFkZFJlc2VydmVkKGNoYXIqIG5hbWUsIHVfaW50MzJfdCBzaXplKTsKKysJdm9pZCBBZGRSZXNlcnZlZChjb25zdCBjaGFyKiBuYW1lLCB1X2ludDMyX3Qgc2l6ZSk7CisgCisgCXZvaWQgRXhwZWN0Q2hpbGRBdG9tKGNvbnN0IGNoYXIqIG5hbWUsIAorIAkJYm9vbCBtYW5kYXRvcnksIGJvb2wgb25seU9uZSA9IHRydWUpOworLS0tIGEvY29tbW9uL21wNHYyL21wNGZpbGUuY3BwCisrKysgYi9jb21tb24vbXA0djIvbXA0ZmlsZS5jcHAKK0BAIC03MTgsNyArNzE4LDcgQEAKKyAJfQorIH0KKyAKKy12b2lkIE1QNEZpbGU6OlByb3RlY3RXcml0ZU9wZXJhdGlvbihjaGFyKiB3aGVyZSkKKyt2b2lkIE1QNEZpbGU6OlByb3RlY3RXcml0ZU9wZXJhdGlvbihjb25zdCBjaGFyKiB3aGVyZSkKKyB7CisgCWlmIChtX21vZGUgPT0gJ3InKSB7CisgCQl0aHJvdyBuZXcgTVA0RXJyb3IoIm9wZXJhdGlvbiBub3QgcGVybWl0dGVkIGluIHJlYWQgbW9kZSIsIHdoZXJlKTsKK0BAIC0xMjc0LDcgKzEyNzQsNyBAQAorIH0KKyAKKyAvLyBOVUxMIHRlcm1pbmF0ZWQgbGlzdCBvZiBicmFuZHMgd2hpY2ggcmVxdWlyZSB0aGUgSU9EUyBhdG9tCistY2hhciAqYnJhbmRzV2l0aElvZHNbXSA9IHsgIm1wNDIiLAorK2NvbnN0IGNoYXIgKmJyYW5kc1dpdGhJb2RzW10gPSB7ICJtcDQyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXNvbSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTH07CisgCitAQCAtMjIxMSwxMSArMjIxMSwxMSBAQAorIAlmb3IgKHVfaW50MzJfdCBpID0gMDsgaSA8IG1fcFRyYWNrcy5TaXplKCk7IGkrKykgeworIAkJaWYgKCFzdHJjbXAobm9ybVR5cGUsIG1fcFRyYWNrc1tpXS0+R2V0VHlwZSgpKSkgeworIAkJCWlmIChzdWJUeXBlKSB7CistCQkJCWlmIChub3JtVHlwZSA9PSBNUDRfQVVESU9fVFJBQ0tfVFlQRSkgeworKwkJCQlpZiAoIXN0cmNtcChub3JtVHlwZSxNUDRfQVVESU9fVFJBQ0tfVFlQRSkpIHsKKyAJCQkJCWlmIChzdWJUeXBlICE9IEdldFRyYWNrRXNkc09iamVjdFR5cGVJZChtX3BUcmFja3NbaV0tPkdldElkKCkpKSB7CisgCQkJCQkJY29udGludWU7CisgCQkJCQl9CistCQkJCX0gZWxzZSBpZiAobm9ybVR5cGUgPT0gTVA0X1ZJREVPX1RSQUNLX1RZUEUpIHsKKysJCQkJfSBlbHNlIGlmICghc3RyY21wKG5vcm1UeXBlLE1QNF9WSURFT19UUkFDS19UWVBFKSkgeworIAkJCQkJaWYgKHN1YlR5cGUgIT0gR2V0VHJhY2tFc2RzT2JqZWN0VHlwZUlkKG1fcFRyYWNrc1tpXS0+R2V0SWQoKSkpIHsKKyAJCQkJCQljb250aW51ZTsKKyAJCQkJCX0KK0BAIC0yMjc4LDExICsyMjc4LDExIEBACisgICBmb3IgKHVfaW50MzJfdCBpID0gMDsgaSA8IG1fcFRyYWNrcy5TaXplKCk7IGkrKykgeworICAgICBpZiAoIXN0cmNtcChub3JtVHlwZSwgbV9wVHJhY2tzW2ldLT5HZXRUeXBlKCkpKSB7CisgICAgICAgaWYgKHN1YlR5cGUpIHsKKy0JaWYgKG5vcm1UeXBlID09IE1QNF9BVURJT19UUkFDS19UWVBFKSB7CisrCWlmICghc3RyY21wKG5vcm1UeXBlLE1QNF9BVURJT19UUkFDS19UWVBFKSkgeworIAkgIGlmIChzdWJUeXBlICE9IEdldFRyYWNrRXNkc09iamVjdFR5cGVJZChtX3BUcmFja3NbaV0tPkdldElkKCkpKSB7CisgCSAgICBjb250aW51ZTsKKyAJICB9CistCX0gZWxzZSBpZiAobm9ybVR5cGUgPT0gTVA0X1ZJREVPX1RSQUNLX1RZUEUpIHsKKysJfSBlbHNlIGlmICghc3RyY21wKG5vcm1UeXBlLE1QNF9WSURFT19UUkFDS19UWVBFKSkgeworIAkgIGlmIChzdWJUeXBlICE9IEdldFRyYWNrRXNkc09iamVjdFR5cGVJZChtX3BUcmFja3NbaV0tPkdldElkKCkpKSB7CisgCSAgICBjb250aW51ZTsKKyAJICB9CistLS0gYS9jb21tb24vbXA0djIvbXA0ZmlsZS5oCisrKysgYi9jb21tb24vbXA0djIvbXA0ZmlsZS5oCitAQCAtNzAwLDcgKzcwMCw3IEBACisgCWNvbnN0IGNoYXIqIFRlbXBGaWxlTmFtZSgpOworIAl2b2lkIFJlbmFtZShjb25zdCBjaGFyKiBleGlzdGluZ0ZpbGVOYW1lLCBjb25zdCBjaGFyKiBuZXdGaWxlTmFtZSk7CisgCistCXZvaWQgUHJvdGVjdFdyaXRlT3BlcmF0aW9uKGNoYXIqIHdoZXJlKTsKKysJdm9pZCBQcm90ZWN0V3JpdGVPcGVyYXRpb24oY29uc3QgY2hhciogd2hlcmUpOworIAorIAl2b2lkIEZpbmRJbnRlZ2VyUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSwgCisgCQlNUDRQcm9wZXJ0eSoqIHBwUHJvcGVydHksIHVfaW50MzJfdCogcEluZGV4ID0gTlVMTCk7CistLS0gYS9jb21tb24vbXA0djIvbXA0cHJvcGVydHkuY3BwCisrKysgYi9jb21tb24vbXA0djIvbXA0cHJvcGVydHkuY3BwCitAQCAtMzEzLDcgKzMxMyw3IEBACisgCisgLy8gTVA0U3RyaW5nUHJvcGVydHkKKyAKKy1NUDRTdHJpbmdQcm9wZXJ0eTo6TVA0U3RyaW5nUHJvcGVydHkoY2hhciogbmFtZSwgCisrTVA0U3RyaW5nUHJvcGVydHk6Ok1QNFN0cmluZ1Byb3BlcnR5KGNvbnN0IGNoYXIqIG5hbWUsCisgCWJvb2wgdXNlQ291bnRlZEZvcm1hdCwgYm9vbCB1c2VVbmljb2RlKQorIAk6IE1QNFByb3BlcnR5KG5hbWUpCisgeworQEAgLTQyMCw3ICs0MjAsNyBAQAorIAorIC8vIE1QNEJ5dGVzUHJvcGVydHkKKyAKKy1NUDRCeXRlc1Byb3BlcnR5OjpNUDRCeXRlc1Byb3BlcnR5KGNoYXIqIG5hbWUsIHVfaW50MzJfdCB2YWx1ZVNpemUsCisrTVA0Qnl0ZXNQcm9wZXJ0eTo6TVA0Qnl0ZXNQcm9wZXJ0eShjb25zdCBjaGFyKiBuYW1lLCB1X2ludDMyX3QgdmFsdWVTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdV9pbnQzMl90IGRlZmF1bHRWYWx1ZVNpemUpCisgCTogTVA0UHJvcGVydHkobmFtZSkKKyB7CitAQCAtNTQ5LDcgKzU0OSw3IEBACisgCisgLy8gTVA0VGFibGVQcm9wZXJ0eQorIAorLU1QNFRhYmxlUHJvcGVydHk6Ok1QNFRhYmxlUHJvcGVydHkoY2hhciogbmFtZSwgTVA0SW50ZWdlclByb3BlcnR5KiBwQ291bnRQcm9wZXJ0eSkKKytNUDRUYWJsZVByb3BlcnR5OjpNUDRUYWJsZVByb3BlcnR5KGNvbnN0IGNoYXIqIG5hbWUsIE1QNEludGVnZXJQcm9wZXJ0eSogcENvdW50UHJvcGVydHkpCisgCTogTVA0UHJvcGVydHkobmFtZSkgCisgeworIAltX3BDb3VudFByb3BlcnR5ID0gcENvdW50UHJvcGVydHk7CitAQCAtNzI1LDcgKzcyNSw3IEBACisgCisgLy8gTVA0RGVzY3JpcHRvclByb3BlcnR5CisgICAKKy1NUDREZXNjcmlwdG9yUHJvcGVydHk6Ok1QNERlc2NyaXB0b3JQcm9wZXJ0eShjaGFyKiBuYW1lLCAKKytNUDREZXNjcmlwdG9yUHJvcGVydHk6Ok1QNERlc2NyaXB0b3JQcm9wZXJ0eShjb25zdCBjaGFyKiBuYW1lLAorIAl1X2ludDhfdCB0YWdzU3RhcnQsIHVfaW50OF90IHRhZ3NFbmQsIGJvb2wgbWFuZGF0b3J5LCBib29sIG9ubHlPbmUpCisgCTogTVA0UHJvcGVydHkobmFtZSkgCisgeyAKKy0tLSBhL2NvbW1vbi9tcDR2Mi9tcDRwcm9wZXJ0eS5oCisrKysgYi9jb21tb24vbXA0djIvbXA0cHJvcGVydHkuaAorQEAgLTEwMCw3ICsxMDAsNyBAQAorIAorIGNsYXNzIE1QNEludGVnZXJQcm9wZXJ0eSA6IHB1YmxpYyBNUDRQcm9wZXJ0eSB7CisgcHJvdGVjdGVkOgorLQlNUDRJbnRlZ2VyUHJvcGVydHkoY2hhciogbmFtZSkKKysJTVA0SW50ZWdlclByb3BlcnR5KGNvbnN0IGNoYXIqIG5hbWUpCisgCQk6IE1QNFByb3BlcnR5KG5hbWUpIHsgfTsKKyAKKyBwdWJsaWM6CitAQCAtMTE4LDcgKzExOCw3IEBACisgI2RlZmluZSBNUDRJTlRFR0VSX1BST1BFUlRZX0RFQ0wyKGlzaXplLCB4c2l6ZSkgXAorIAljbGFzcyBNUDRJbnRlZ2VyIyN4c2l6ZSMjUHJvcGVydHkgOiBwdWJsaWMgTVA0SW50ZWdlclByb3BlcnR5IHsgXAorIAlwdWJsaWM6IFwKKy0JCU1QNEludGVnZXIjI3hzaXplIyNQcm9wZXJ0eShjaGFyKiBuYW1lKSBcCisrCQlNUDRJbnRlZ2VyIyN4c2l6ZSMjUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSkgXAorIAkJCTogTVA0SW50ZWdlclByb3BlcnR5KG5hbWUpIHsgXAorIAkJCVNldENvdW50KDEpOyBcCisgCQkJbV92YWx1ZXNbMF0gPSAwOyBcCitAQCAtMTg4LDcgKzE4OCw3IEBACisgCisgY2xhc3MgTVA0Qml0ZmllbGRQcm9wZXJ0eSA6IHB1YmxpYyBNUDRJbnRlZ2VyNjRQcm9wZXJ0eSB7CisgcHVibGljOgorLQlNUDRCaXRmaWVsZFByb3BlcnR5KGNoYXIqIG5hbWUsIHVfaW50OF90IG51bUJpdHMpCisrCU1QNEJpdGZpZWxkUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSwgdV9pbnQ4X3QgbnVtQml0cykKKyAJCTogTVA0SW50ZWdlcjY0UHJvcGVydHkobmFtZSkgeworIAkJQVNTRVJUKG51bUJpdHMgIT0gMCk7CisgCQlBU1NFUlQobnVtQml0cyA8PSA2NCk7CitAQCAtMjEzLDcgKzIxMyw3IEBACisgCisgY2xhc3MgTVA0RmxvYXQzMlByb3BlcnR5IDogcHVibGljIE1QNFByb3BlcnR5IHsKKyBwdWJsaWM6CistCU1QNEZsb2F0MzJQcm9wZXJ0eShjaGFyKiBuYW1lKQorKwlNUDRGbG9hdDMyUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSkKKyAJCTogTVA0UHJvcGVydHkobmFtZSkgeworIAkJbV91c2VGaXhlZDE2Rm9ybWF0ID0gZmFsc2U7CisgCQltX3VzZUZpeGVkMzJGb3JtYXQgPSBmYWxzZTsKK0BAIC0yODAsNyArMjgwLDcgQEAKKyAKKyBjbGFzcyBNUDRTdHJpbmdQcm9wZXJ0eSA6IHB1YmxpYyBNUDRQcm9wZXJ0eSB7CisgcHVibGljOgorLQlNUDRTdHJpbmdQcm9wZXJ0eShjaGFyKiBuYW1lLCAKKysJTVA0U3RyaW5nUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSwKKyAJICBib29sIHVzZUNvdW50ZWRGb3JtYXQgPSBmYWxzZSwgYm9vbCB1c2VVbmljb2RlID0gZmFsc2UpOworIAorIAl+TVA0U3RyaW5nUHJvcGVydHkoKTsKK0BAIC0zNTUsNyArMzU1LDcgQEAKKyAKKyBjbGFzcyBNUDRCeXRlc1Byb3BlcnR5IDogcHVibGljIE1QNFByb3BlcnR5IHsKKyBwdWJsaWM6CistCU1QNEJ5dGVzUHJvcGVydHkoY2hhciogbmFtZSwgdV9pbnQzMl90IHZhbHVlU2l6ZSA9IDAsCisrCU1QNEJ5dGVzUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSwgdV9pbnQzMl90IHZhbHVlU2l6ZSA9IDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVfaW50MzJfdCBkZWZhdWx0VmFsdWVTaXplID0gMCk7CisgCisgCX5NUDRCeXRlc1Byb3BlcnR5KCk7CitAQCAtNDE5LDcgKzQxOSw3IEBACisgCisgY2xhc3MgTVA0VGFibGVQcm9wZXJ0eSA6IHB1YmxpYyBNUDRQcm9wZXJ0eSB7CisgcHVibGljOgorLQlNUDRUYWJsZVByb3BlcnR5KGNoYXIqIG5hbWUsIE1QNEludGVnZXJQcm9wZXJ0eSogcENvdW50UHJvcGVydHkpOworKwlNUDRUYWJsZVByb3BlcnR5KGNvbnN0IGNoYXIqIG5hbWUsIE1QNEludGVnZXJQcm9wZXJ0eSogcENvdW50UHJvcGVydHkpOworIAorIAl+TVA0VGFibGVQcm9wZXJ0eSgpOworIAorQEAgLTQ2OSw3ICs0NjksNyBAQAorIAorIGNsYXNzIE1QNERlc2NyaXB0b3JQcm9wZXJ0eSA6IHB1YmxpYyBNUDRQcm9wZXJ0eSB7CisgcHVibGljOgorLQlNUDREZXNjcmlwdG9yUHJvcGVydHkoY2hhciogbmFtZSA9IE5VTEwsIAorKwlNUDREZXNjcmlwdG9yUHJvcGVydHkoY29uc3QgY2hhciogbmFtZSA9IE5VTEwsCisgCSAgdV9pbnQ4X3QgdGFnc1N0YXJ0ID0gMCwgdV9pbnQ4X3QgdGFnc0VuZCA9IDAsCisgCSAgYm9vbCBtYW5kYXRvcnkgPSBmYWxzZSwgYm9vbCBvbmx5T25lID0gZmFsc2UpOworIAorQEAgLTUzMSw3ICs1MzEsNyBAQAorIAorIGNsYXNzIE1QNFFvc1F1YWxpZmllclByb3BlcnR5IDogcHVibGljIE1QNERlc2NyaXB0b3JQcm9wZXJ0eSB7CisgcHVibGljOgorLQlNUDRRb3NRdWFsaWZpZXJQcm9wZXJ0eShjaGFyKiBuYW1lID0gTlVMTCwgCisrCU1QNFFvc1F1YWxpZmllclByb3BlcnR5KGNvbnN0IGNoYXIqIG5hbWUgPSBOVUxMLAorIAkgIHVfaW50OF90IHRhZ3NTdGFydCA9IDAsIHVfaW50OF90IHRhZ3NFbmQgPSAwLAorIAkgIGJvb2wgbWFuZGF0b3J5ID0gZmFsc2UsIGJvb2wgb25seU9uZSA9IGZhbHNlKSA6CisgCU1QNERlc2NyaXB0b3JQcm9wZXJ0eShuYW1lLCB0YWdzU3RhcnQsIHRhZ3NFbmQsIG1hbmRhdG9yeSwgb25seU9uZSkgeyB9CistLS0gYS9jb21tb24vbXA0djIvbXA0dHJhY2suY3BwCisrKysgYi9jb21tb24vbXA0djIvbXA0dHJhY2suY3BwCitAQCAtMTM2MCw3ICsxMzYwLDcgQEAKKyAgIH0KKyB9CisgCistTVA0QXRvbSogTVA0VHJhY2s6OkFkZEF0b20oY2hhciogcGFyZW50TmFtZSwgY2hhciogY2hpbGROYW1lKQorK01QNEF0b20qIE1QNFRyYWNrOjpBZGRBdG9tKGNvbnN0IGNoYXIqIHBhcmVudE5hbWUsIGNvbnN0IGNoYXIqIGNoaWxkTmFtZSkKKyB7CisgCU1QNEF0b20qIHBDaGlsZEF0b20gPSBNUDRBdG9tOjpDcmVhdGVBdG9tKGNoaWxkTmFtZSk7CisgCistLS0gYS9jb21tb24vbXA0djIvbXA0dHJhY2suaAorKysrIGIvY29tbW9uL21wNHYyL21wNHRyYWNrLmgKK0BAIC0xNjgsNyArMTY4LDcgQEAKKyAJdm9pZCBVcGRhdGVTeW5jU2FtcGxlcyhNUDRTYW1wbGVJZCBzYW1wbGVJZCwgCisgCQlib29sIGlzU3luY1NhbXBsZSk7CisgCistCU1QNEF0b20qIEFkZEF0b20oY2hhciogcGFyZW50TmFtZSwgY2hhciogY2hpbGROYW1lKTsKKysJTVA0QXRvbSogQWRkQXRvbShjb25zdCBjaGFyKiBwYXJlbnROYW1lLCBjb25zdCBjaGFyKiBjaGlsZE5hbWUpOworIAorIAl2b2lkIFVwZGF0ZUR1cmF0aW9ucyhNUDREdXJhdGlvbiBkdXJhdGlvbik7CisgCU1QNER1cmF0aW9uIFRvTW92aWVEdXJhdGlvbihNUDREdXJhdGlvbiB0cmFja0R1cmF0aW9uKTsKKy0tLSBhL2NvbW1vbi9tcDR2Mi9vY2lkZXNjcmlwdG9ycy5jcHAKKysrKyBiL2NvbW1vbi9tcDR2Mi9vY2lkZXNjcmlwdG9ycy5jcHAKK0BAIC0xNzEsNyArMTcxLDcgQEAKKyAKKyBjbGFzcyBNUDRDcmVhdG9yVGFibGVQcm9wZXJ0eSA6IHB1YmxpYyBNUDRUYWJsZVByb3BlcnR5IHsKKyBwdWJsaWM6CistCU1QNENyZWF0b3JUYWJsZVByb3BlcnR5KGNoYXIqIG5hbWUsIE1QNEludGVnZXI4UHJvcGVydHkqIHBDb3VudFByb3BlcnR5KSA6CisrCU1QNENyZWF0b3JUYWJsZVByb3BlcnR5KGNvbnN0IGNoYXIqIG5hbWUsIE1QNEludGVnZXI4UHJvcGVydHkqIHBDb3VudFByb3BlcnR5KSA6CisgCQlNUDRUYWJsZVByb3BlcnR5KG5hbWUsIHBDb3VudFByb3BlcnR5KSB7CisgCX07CisgcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aF8xLjEuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGhfMS4xLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRlODY5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGhfMS4xLjYuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJGbHVpZHN5bnRoIGlzIGEgc29mdHdhcmUgc3ludGhlc2l6ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZsdWlkc3ludGgub3JnLyIKK1NFQ1RJT04gPSAibGlicy9tdWx0aW1lZGlhIgorTElDRU5TRSA9ICJMR1BMLTIuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lMTk4ZTlhYWM5NDk0M2QwZWMyOWE3ZGFlOGMyOTQxNiIKKworREVQRU5EUyA9ICJhbHNhLWxpYiBuY3Vyc2VzIGdsaWItMi4wIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0LyR7QlBOfS8ke0JQfS8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYWU1YWNhNmRlODI0YjQxNzM2NjdjYmQzYTMxMGIyNjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTA4NTMzOTFkOWViZWRhOWI0ZGI3ODdlZmIyM2Y5OGIxZTI2YjcyOTZkZDJiYjVkMGQ5NmI1YmNjZWUyMTcxYyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBsaWJfcGFja2FnZQorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgJ3B1bHNlYXVkaW8nLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzbmRmaWxlXSA9ICItLWVuYWJsZS1saWJzbmRmaWxlLXN1cHBvcnQsLS1kaXNhYmxlLWxpYnNuZGZpbGUtc3VwcG9ydCxsaWJzbmRmaWxlMSIKK1BBQ0tBR0VDT05GSUdbamFja10gPSAiLS1lbmFibGUtamFjay1zdXBwb3J0LC0tZGlzYWJsZS1qYWNrLXN1cHBvcnQsamFjayIKK1BBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLS1lbmFibGUtcHVsc2Utc3VwcG9ydCwtLWRpc2FibGUtcHVsc2Utc3VwcG9ydCxwdWxzZWF1ZGlvIgorUEFDS0FHRUNPTkZJR1twb3J0YXVkaW9dID0gIi0tZW5hYmxlLXBvcnRhdWRpby1zdXBwb3J0LC0tZGlzYWJsZS1wb3J0YXVkaW8tc3VwcG9ydCxwb3J0YXVkaW8tdjE5IgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgcm0gLWYgJHtTfS9tNC8qCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYWFjZGVjLWNoZWNrLWNoYW5uZWwtY291bnQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYWFjZGVjLWNoZWNrLWNoYW5uZWwtY291bnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RhMGUxNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hYWNkZWMtY2hlY2stY2hhbm5lbC1jb3VudC5wYXRjaApAQCAtMCwwICsxLDM0IEBACitnc3QtZmZtcGVnOiBhYWNkZWM6IGNoZWNrIGNoYW5uZWwgY291bnQKKworUHJldmVudCBvdXQgb2YgYXJyYXkgYWNjZXNzZXMKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOTZmNDUyYWM2NDdkYWUzM2M1M2MyNDJlZjMyNjZiNjVhOWJlYWZiNikKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliYXZjb2RlYy9hYWNkZWMuYyB8ICAgIDUgKysrKysKKyAxIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFjZGVjLmMgYi9saWJhdmNvZGVjL2FhY2RlYy5jCitpbmRleCAyMzkxNTNhLi42YzE3YzMzIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvYWFjZGVjLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2FhY2RlYy5jCitAQCAtOTE0LDYgKzkxNCwxMSBAQCBzdGF0aWMgYXZfY29sZCBpbnQgYWFjX2RlY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKKyAgICAgICAgIH0KKyAgICAgfQorIAorKyAgICBpZiAoYXZjdHgtPmNoYW5uZWxzID4gTUFYX0NIQU5ORUxTKSB7CisrICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIlRvbyBtYW55IGNoYW5uZWxzXG4iKTsKKysgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworKyAgICB9CisrCisgICAgIEFBQ19JTklUX1ZMQ19TVEFUSUMoIDAsIDMwNCk7CisgICAgIEFBQ19JTklUX1ZMQ19TVEFUSUMoIDEsIDI3MCk7CisgICAgIEFBQ19JTklUX1ZMQ19TVEFUSUMoIDIsIDU1MCk7CistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWFsYWMtZml4LW5iX3NhbXBsZXMtb3JkZXItY2FzZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hbGFjLWZpeC1uYl9zYW1wbGVzLW9yZGVyLWNhc2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBjZTBmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hbGFjLWZpeC1uYl9zYW1wbGVzLW9yZGVyLWNhc2UucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSBlMDg4NGVhZGY2YTE1ZTkzMTQyMTMxYjY5NWY0ODc3NmY5YTBhYzMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KK0RhdGU6IFNhdCwgMTAgTm92IDIwMTIgMTc6MTQ6MDQgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gYWxhYzogZml4IG5iX3NhbXBsZXMgPCBvcmRlciBjYXNlCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworQ29tbWl0IGUwODg0ZWFkZjZhMTVlOTMxNDIxMzFiNjk1ZjQ4Nzc2ZjlhMGFjMzEgcmVsZWFzZS8xLjAKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZmQ0ZjQ5MjNjY2U2YTJjYmY0ZjQ4NjQwYjRhYzcwNmU2MTRhMTU5NCkKKy0tLQorIGxpYmF2Y29kZWMvYWxhYy5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hbGFjLmMgYi9saWJhdmNvZGVjL2FsYWMuYworaW5kZXggOWNkMTczNy4uZThlODQ0YSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2FsYWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvYWxhYy5jCitAQCAtMjc4LDcgKzI3OCw3IEBAIHN0YXRpYyB2b2lkIHByZWRpY3Rvcl9kZWNvbXByZXNzX2Zpcl9hZGEKKyAKKyAgICAgLyogcmVhZCB3YXJtLXVwIHNhbXBsZXMgKi8KKyAgICAgaWYgKHByZWRpY3Rvcl9jb2VmX251bSA+IDApCistICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcHJlZGljdG9yX2NvZWZfbnVtOyBpKyspIHsKKysgICAgICAgIGZvciAoaSA9IDA7IGkgPCBwcmVkaWN0b3JfY29lZl9udW0gJiYgaSA8IG91dHB1dF9zaXplOyBpKyspIHsKKyAgICAgICAgICAgICBpbnQzMl90IHZhbDsKKyAKKyAgICAgICAgICAgICB2YWwgPSBidWZmZXJfb3V0W2ldICsgZXJyb3JfYnVmZmVyW2krMV07CistLSAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hbHNkZWMtY2hlY2stYmxvY2stbGVuZ3RoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWFsc2RlYy1jaGVjay1ibG9jay1sZW5ndGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM5ODBmNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hbHNkZWMtY2hlY2stYmxvY2stbGVuZ3RoLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK0Zyb20gNmRmMGQzZTI5MTZjMjIzZGJlNDI2MmJmMWI4NzZkZmYxY2IzZjk4MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBXZWQsIDEyIERlYyAyMDEyIDEyOjI4OjQ1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGFsc2RlYzogY2hlY2sgYmxvY2sgbGVuZ3RoCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworQ29tbWl0IDZkZjBkM2UyOTE2YzIyM2RiZTQyNjJiZjFiODc2ZGZmMWNiM2Y5ODAgcmVsZWFzZS8xLjAKKworRml4IHdyaXRpbmcgb3ZlciB0aGUgZW5kCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDBjZWNhMjY5YjY2ZWMxMmEyM2JmMDkwN2JkMmMyMjA1MTNjZGJmMTYpCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CistLS0KKyBsaWJhdmNvZGVjL2Fsc2RlYy5jIHwgMTAgKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL2Fsc2RlYy5jIGIvbGliYXZjb2RlYy9hbHNkZWMuYworaW5kZXggNDZkZDBiNC4uMTA5NWIwMSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2Fsc2RlYy5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9hbHNkZWMuYworQEAgLTU1MiwxMiArNTUyLDE1IEBAIHN0YXRpYyB2b2lkIGdldF9ibG9ja19zaXplcyhBTFNEZWNDb250ZXh0ICpjdHgsIHVuc2lnbmVkIGludCAqZGl2X2Jsb2NrcywKKyAKKyAvKiogUmVhZCB0aGUgYmxvY2sgZGF0YSBmb3IgYSBjb25zdGFudCBibG9jaworICAqLworLXN0YXRpYyB2b2lkIHJlYWRfY29uc3RfYmxvY2tfZGF0YShBTFNEZWNDb250ZXh0ICpjdHgsIEFMU0Jsb2NrRGF0YSAqYmQpCisrc3RhdGljIGludCByZWFkX2NvbnN0X2Jsb2NrX2RhdGEoQUxTRGVjQ29udGV4dCAqY3R4LCBBTFNCbG9ja0RhdGEgKmJkKQorIHsKKyAgICAgQUxTU3BlY2lmaWNDb25maWcgKnNjb25mID0gJmN0eC0+c2NvbmY7CisgICAgIEFWQ29kZWNDb250ZXh0ICphdmN0eCAgICA9IGN0eC0+YXZjdHg7CisgICAgIEdldEJpdENvbnRleHQgKmdiICAgICAgICA9ICZjdHgtPmdiOworIAorKyAgICBpZiAoYmQtPmJsb2NrX2xlbmd0aCA8PSAwKQorKyAgICAgICAgcmV0dXJuIC0xOworKworICAgICAqYmQtPnJhd19zYW1wbGVzID0gMDsKKyAgICAgKmJkLT5jb25zdF9ibG9jayA9IGdldF9iaXRzMShnYik7ICAgIC8vIDEgPSBjb25zdGFudCB2YWx1ZSwgMCA9IHplcm8gYmxvY2sgKHNpbGVuY2UpCisgICAgIGJkLT5qc19ibG9ja3MgICAgPSBnZXRfYml0czEoZ2IpOworQEAgLTU3Miw2ICs1NzUsOCBAQCBzdGF0aWMgdm9pZCByZWFkX2NvbnN0X2Jsb2NrX2RhdGEoQUxTRGVjQ29udGV4dCAqY3R4LCBBTFNCbG9ja0RhdGEgKmJkKQorIAorICAgICAvLyBlbnN1cmUgY29uc3RhbnQgYmxvY2sgZGVjb2RpbmcgYnkgcmV1c2luZyB0aGlzIGZpZWxkCisgICAgICpiZC0+Y29uc3RfYmxvY2sgPSAxOworKworKyAgICByZXR1cm4gMDsKKyB9CisgCisgCitAQCAtOTcxLDcgKzk3Niw4IEBAIHN0YXRpYyBpbnQgcmVhZF9ibG9jayhBTFNEZWNDb250ZXh0ICpjdHgsIEFMU0Jsb2NrRGF0YSAqYmQpCisgICAgICAgICBpZiAocmVhZF92YXJfYmxvY2tfZGF0YShjdHgsIGJkKSkKKyAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgIH0gZWxzZSB7CistICAgICAgICByZWFkX2NvbnN0X2Jsb2NrX2RhdGEoY3R4LCBiZCk7CisrICAgICAgICBpZiAocmVhZF9jb25zdF9ibG9ja19kYXRhKGN0eCwgYmQpIDwgMCkKKysgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgIH0KKyAKKyAgICAgcmV0dXJuIDA7CistLSAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdHJhYzNkZWMtQ2hlY2stY29kaW5nLW1vZGUtYWdhaW5zdC1jaGFubmVscy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdHJhYzNkZWMtQ2hlY2stY29kaW5nLW1vZGUtYWdhaW5zdC1jaGFubmVscy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmNiNWY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWF0cmFjM2RlYy1DaGVjay1jb2RpbmctbW9kZS1hZ2FpbnN0LWNoYW5uZWxzLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gMjUwMjkxNGM1ZjhlYjc3NjU5ZDdjMDg2ODM5Njg2MjU1N2E2MzI0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBGcmksIDkgTm92IDIwMTIgMTM6MjY6MjAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXRyYWMzZGVjOiBDaGVjayBjb2RpbmcgbW9kZSBhZ2FpbnN0IGNoYW5uZWxzLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0NvbW1pdCAyNTAyOTE0YzVmOGViNzc2NTlkN2MwODY4Mzk2ODYyNTU3YTYzMjQ1IHJlbGVhc2UvMS4wCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDEzNDUxZjU1MjBjZTZiMGFmZGU4NjFiMjI4NWRkYTY1OWY4ZDRmYjQpCisKK0NvbmZsaWN0czoKKworCWxpYmF2Y29kZWMvYXRyYWMzLmMKKy0tLQorIGxpYmF2Y29kZWMvYXRyYWMzLmMgfCA1ICsrKysrCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hdHJhYzMuYyBiL2xpYmF2Y29kZWMvYXRyYWMzLmMKK2luZGV4IDdkMDc2YmUuLjFkYTRjNzggMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9hdHJhYzMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvYXRyYWMzLmMKK0BAIC05NTUsNiArOTU1LDExIEBAIHN0YXRpYyBhdl9jb2xkIGludCBhdHJhYzNfZGVjb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQorICAgICB9CisgICAgIC8qIENoZWNrIHRoZSBleHRyYWRhdGEuICovCisgCisrICAgIGlmIChxLT5jb2RpbmdNb2RlID09IEpPSU5UX1NURVJFTyAmJiBhdmN0eC0+Y2hhbm5lbHMgPCAyKSB7CisrICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIkludmFsaWQgY29kaW5nIG1vZGVcbiIpOworKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisrICAgIH0KKysKKyAgICAgaWYgKHEtPmF0cmFjM3ZlcnNpb24gIT0gNCkgeworICAgICAgICAgYXZfbG9nKGF2Y3R4LEFWX0xPR19FUlJPUiwiVmVyc2lvbiAlZCAhPSA0LlxuIixxLT5hdHJhYzN2ZXJzaW9uKTsKKyAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworLS0gCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1kc3B1dGlsLWZpeC1zaWduZWRuZXNzLWluLXNpemVvZi1jb21wYXJpc3Npby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdmNvZGVjLWRzcHV0aWwtZml4LXNpZ25lZG5lc3MtaW4tc2l6ZW9mLWNvbXBhcmlzc2lvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxZmE1MWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1kc3B1dGlsLWZpeC1zaWduZWRuZXNzLWluLXNpemVvZi1jb21wYXJpc3Npby5wYXRjaApAQCAtMCwwICsxLDQwIEBACitGcm9tIGE5OWFmZjRlNGJiZWY4ZTY0YjUxZjI2N2NkMTc2OTIxNGUxYjRlODAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorRGF0ZTogRnJpLCAzMCBBdWcgMjAxMyAyMzo0MDo0NyArMDIwMAorU3ViamVjdDogW1BBVENIXSBhdmNvZGVjL2RzcHV0aWw6IGZpeCBzaWduZWRuZXNzIGluIHNpemVvZigpIGNvbXBhcmlzc2lvbnMKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDQ1NGExMWExYzljNjg2Yzc4YWE5Nzk1NDMwNmZiNjM0NTMyOTk3NjApCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvZHNwdXRpbC5jIHwgICAgNCArKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL2RzcHV0aWwuYyBiL2xpYmF2Y29kZWMvZHNwdXRpbC5jCitpbmRleCA1M2RjMmViLi42MjY0ODMyIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvZHNwdXRpbC5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9kc3B1dGlsLmMKK0BAIC0xOTEyLDcgKzE5MTIsNyBAQCB2b2lkIGZmX3NldF9jbXAoRFNQQ29udGV4dCogYywgbWVfY21wX2Z1bmMgKmNtcCwgaW50IHR5cGUpeworIAorIHN0YXRpYyB2b2lkIGFkZF9ieXRlc19jKHVpbnQ4X3QgKmRzdCwgdWludDhfdCAqc3JjLCBpbnQgdyl7CisgICAgIGxvbmcgaTsKKy0gICAgZm9yKGk9MDsgaTw9dy1zaXplb2YobG9uZyk7IGkrPXNpemVvZihsb25nKSl7CisrICAgIGZvcihpPTA7IGk8PXctKGludClzaXplb2YobG9uZyk7IGkrPXNpemVvZihsb25nKSl7CisgICAgICAgICBsb25nIGEgPSAqKGxvbmcqKShzcmMraSk7CisgICAgICAgICBsb25nIGIgPSAqKGxvbmcqKShkc3QraSk7CisgICAgICAgICAqKGxvbmcqKShkc3QraSkgPSAoKGEmcGJfN2YpICsgKGImcGJfN2YpKSBeICgoYV5iKSZwYl84MCk7CitAQCAtMTkzNyw3ICsxOTM3LDcgQEAgc3RhdGljIHZvaWQgZGlmZl9ieXRlc19jKHVpbnQ4X3QgKmRzdCwgdWludDhfdCAqc3JjMSwgdWludDhfdCAqc3JjMiwgaW50IHcpeworICAgICAgICAgfQorICAgICB9ZWxzZQorICNlbmRpZgorLSAgICBmb3IoaT0wOyBpPD13LXNpemVvZihsb25nKTsgaSs9c2l6ZW9mKGxvbmcpKXsKKysgICAgZm9yKGk9MDsgaTw9dy0oaW50KXNpemVvZihsb25nKTsgaSs9c2l6ZW9mKGxvbmcpKXsKKyAgICAgICAgIGxvbmcgYSA9ICoobG9uZyopKHNyYzEraSk7CisgICAgICAgICBsb25nIGIgPSAqKGxvbmcqKShzcmMyK2kpOworICAgICAgICAgKihsb25nKikoZHN0K2kpID0gKChhfHBiXzgwKSAtIChiJnBiXzdmKSkgXiAoKGFeYl5wYl84MCkmcGJfODApOworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdmNvZGVjLW1zcmxlLXVzZS1hdl9pbWFnZV9nZXRfbGluZXNpemUtdG8tY2FsY3VsYXRlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWF2Y29kZWMtbXNybGUtdXNlLWF2X2ltYWdlX2dldF9saW5lc2l6ZS10by1jYWxjdWxhdGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjBhM2ZiMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdmNvZGVjLW1zcmxlLXVzZS1hdl9pbWFnZV9nZXRfbGluZXNpemUtdG8tY2FsY3VsYXRlLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20gNTczZDVmZGVkYWU3MmJmNTlkOGMwYjA3NjZmZGVlMTcxMDYzZDM2ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBTdW4sIDE2IEZlYiAyMDE0IDIzOjA4OjUyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGF2Y29kZWMvbXNybGU6IHVzZSBhdl9pbWFnZV9nZXRfbGluZXNpemUoKSB0byBjYWxjdWxhdGUgdGhlCisgbGluZXNpemUKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitDb21taXQgNTczZDVmZGVkYWU3MmJmNTlkOGMwYjA3NjZmZGVlMTcxMDYzZDM2ZiByZWxlYXNlLzAuOQorCitGaXhlcyBvdXQgb2YgYXJyYXkgYWNjZXNzCitGaXhlczogMTRhNzRhMGEyZGM2N2VkZTU0M2YwZTM1ZDgzNGZiYmUtYXNhbl9oZWFwLW9vYl80OTU3MmNfNTU2X2Nvdl8yMTU0NjY0NDRfNDRfMDAxX2VuZ2luZV9yb29tLm1vdgorRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYzkxOWUxY2EyZWNmYzQ3ZDc5NjM4Mjk3M2JhMGU0OGI4ZjZmOTJhMikKKworQ29uZmxpY3RzOgorCisJbGliYXZjb2RlYy9tc3JsZS5jCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBiYzFjOGVjNWU2NTA5OGZkMmNjZDg0NTZmNjY3MTUxZGZjOWNkYTQyKQorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorLS0tCisgbGliYXZjb2RlYy9tc3JsZS5jIHwgICAgMyArKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbXNybGUuYyBiL2xpYmF2Y29kZWMvbXNybGUuYworaW5kZXggMzAxNTliYi4uYzM5YWU3YiAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL21zcmxlLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL21zcmxlLmMKK0BAIC0zNSw2ICszNSw3IEBACisgI2luY2x1ZGUgImF2Y29kZWMuaCIKKyAjaW5jbHVkZSAiZHNwdXRpbC5oIgorICNpbmNsdWRlICJtc3JsZWRlYy5oIgorKyNpbmNsdWRlICJsaWJhdnV0aWwvaW1ndXRpbHMuaCIKKyAKKyB0eXBlZGVmIHN0cnVjdCBNc3JsZUNvbnRleHQgeworICAgICBBVkNvZGVjQ29udGV4dCAqYXZjdHg7CitAQCAtMTA3LDcgKzEwOCw3IEBAIHN0YXRpYyBpbnQgbXNybGVfZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwKKyAKKyAgICAgLyogRklYTUUgaG93IHRvIGNvcnJlY3RseSBkZXRlY3QgUkxFID8/PyAqLworICAgICBpZiAoYXZjdHgtPmhlaWdodCAqIGlzdHJpZGUgPT0gYXZwa3QtPnNpemUpIHsgLyogYXNzdW1lIHVuY29tcHJlc3NlZCAqLworLSAgICAgICAgaW50IGxpbmVzaXplID0gYXZjdHgtPndpZHRoICogYXZjdHgtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSAvIDg7CisrICAgICAgICBpbnQgbGluZXNpemUgPSBhdl9pbWFnZV9nZXRfbGluZXNpemUoYXZjdHgtPnBpeF9mbXQsIGF2Y3R4LT53aWR0aCwgMCk7CisgICAgICAgICB1aW50OF90ICpwdHIgPSBzLT5mcmFtZS5kYXRhWzBdOworICAgICAgICAgdWludDhfdCAqYnVmID0gYXZwa3QtPmRhdGEgKyAoYXZjdHgtPmhlaWdodC0xKSppc3RyaWRlOworICAgICAgICAgaW50IGksIGo7CistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWF2Y29kZWMtcGFyc2VyLXJlc2V0LWluZGV4ZXMtb24tcmVhbGxvYy1mYWlsdXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWF2Y29kZWMtcGFyc2VyLXJlc2V0LWluZGV4ZXMtb24tcmVhbGxvYy1mYWlsdXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmZjY1ODMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1wYXJzZXItcmVzZXQtaW5kZXhlcy1vbi1yZWFsbG9jLWZhaWx1cmUucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorZ3N0LWZmbXBlZzogYXZjb2RlYy9wYXJzZXI6IHJlc2V0IGluZGV4ZXMgb24gcmVhbGxvYyBmYWlsdXJlCisKK0ZpeGVzIFRpY2tldDI5ODIKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGYzMTAxMWU5YWJmYjJhZTc1YmIzMmJjNDRlMmMzNDE5NGM4ZGM0MGEpCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgCisKK1NpZ25lZC1vZmYtYnk6IFl1ZSBUYW8gPHl1ZS50YW9Ad2luZHJpdmVyLmNvbT4KKworLS0tCisgbGliYXZjb2RlYy9wYXJzZXIuYyB8ICAgMTAgKysrKysrKy0tLQorIDEgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9wYXJzZXIuYyBiL2xpYmF2Y29kZWMvcGFyc2VyLmMKK2luZGV4IDJjNmRlNmUuLjY2ZWNhMDYgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9wYXJzZXIuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcGFyc2VyLmMKK0BAIC0yNDEsOCArMjQxLDEwIEBAIGludCBmZl9jb21iaW5lX2ZyYW1lKFBhcnNlQ29udGV4dCAqcGMsIGludCBuZXh0LCBjb25zdCB1aW50OF90ICoqYnVmLCBpbnQgKmJ1Zl9zCisgICAgIGlmKG5leHQgPT0gRU5EX05PVF9GT1VORCl7CisgICAgICAgICB2b2lkKiBuZXdfYnVmZmVyID0gYXZfZmFzdF9yZWFsbG9jKHBjLT5idWZmZXIsICZwYy0+YnVmZmVyX3NpemUsICgqYnVmX3NpemUpICsgcGMtPmluZGV4ICsgRkZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSk7CisgCistICAgICAgICBpZighbmV3X2J1ZmZlcikKKysgICAgICAgIGlmKCFuZXdfYnVmZmVyKSB7CisrICAgICAgICAgICAgcGMtPmluZGV4ID0gMDsKKyAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworKyAgICAgICAgfQorICAgICAgICAgcGMtPmJ1ZmZlciA9IG5ld19idWZmZXI7CisgICAgICAgICBtZW1jcHkoJnBjLT5idWZmZXJbcGMtPmluZGV4XSwgKmJ1ZiwgKmJ1Zl9zaXplKTsKKyAgICAgICAgIHBjLT5pbmRleCArPSAqYnVmX3NpemU7CitAQCAtMjU1LDkgKzI1NywxMSBAQCBpbnQgZmZfY29tYmluZV9mcmFtZShQYXJzZUNvbnRleHQgKnBjLCBpbnQgbmV4dCwgY29uc3QgdWludDhfdCAqKmJ1ZiwgaW50ICpidWZfcworICAgICAvKiBhcHBlbmQgdG8gYnVmZmVyICovCisgICAgIGlmKHBjLT5pbmRleCl7CisgICAgICAgICB2b2lkKiBuZXdfYnVmZmVyID0gYXZfZmFzdF9yZWFsbG9jKHBjLT5idWZmZXIsICZwYy0+YnVmZmVyX3NpemUsIG5leHQgKyBwYy0+aW5kZXggKyBGRl9JTlBVVF9CVUZGRVJfUEFERElOR19TSVpFKTsKKy0KKy0gICAgICAgIGlmKCFuZXdfYnVmZmVyKQorKyAgICAgICAgaWYoIW5ld19idWZmZXIpIHsKKysgICAgICAgICAgICBwYy0+b3ZlcnJlYWRfaW5kZXggPQorKyAgICAgICAgICAgIHBjLT5pbmRleCA9IDA7CisgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKKysgICAgICAgIH0KKyAgICAgICAgIHBjLT5idWZmZXIgPSBuZXdfYnVmZmVyOworICAgICAgICAgaWYgKG5leHQgPiAtRkZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSkKKyAgICAgICAgICAgICBtZW1jcHkoJnBjLT5idWZmZXJbcGMtPmluZGV4XSwgKmJ1ZiwKKy0tIAorMS43LjUuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1ycHphLVBlcmZvcm0tcG9pbnRlci1hZHZhbmNlLWFuZC1jaGVja3MtYmVmby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdmNvZGVjLXJwemEtUGVyZm9ybS1wb2ludGVyLWFkdmFuY2UtYW5kLWNoZWNrcy1iZWZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNmViNDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1ycHphLVBlcmZvcm0tcG9pbnRlci1hZHZhbmNlLWFuZC1jaGVja3MtYmVmby5wYXRjaApAQCAtMCwwICsxLDgxIEBACitnc3QtZmZtcGVnOiBhdmNvZGVjL3JwemE6IFBlcmZvcm0gcG9pbnRlciBhZHZhbmNlIGFuZCBjaGVja3MgYmVmb3JlCisgdXNpbmcgdGhlIHBvaW50ZXJzCisKK0ZpeGVzIG91dCBvZiBhcnJheSBhY2Nlc3NlcworRml4ZXMgVGlja2V0Mjg1MAorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMzgxOWRiNzQ1ZGEyYWM3ZmIzZmFhY2IxMTY3ODhjMzJmNDc1M2YzNCkKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworU2luZ2VkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorCistLS0KKyBsaWJhdmNvZGVjL3JwemEuYyB8ICAgIDggKysrKy0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvcnB6YS5jIGIvbGliYXZjb2RlYy9ycHphLmMKK2luZGV4IDYzNWI0MDYuLmYyOTFhOTUgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9ycHphLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3JwemEuYworQEAgLTgzLDcgKzgzLDcgQEAgc3RhdGljIHZvaWQgcnB6YV9kZWNvZGVfc3RyZWFtKFJwemFDb250ZXh0ICpzKQorICAgICB1bnNpZ25lZCBzaG9ydCAqcGl4ZWxzID0gKHVuc2lnbmVkIHNob3J0ICopcy0+ZnJhbWUuZGF0YVswXTsKKyAKKyAgICAgaW50IHJvd19wdHIgPSAwOworLSAgICBpbnQgcGl4ZWxfcHRyID0gMDsKKysgICAgaW50IHBpeGVsX3B0ciA9IC00OworICAgICBpbnQgYmxvY2tfcHRyOworICAgICBpbnQgcGl4ZWxfeCwgcGl4ZWxfeTsKKyAgICAgaW50IHRvdGFsX2Jsb2NrczsKK0BAIC0xMzksNiArMTM5LDcgQEAgc3RhdGljIHZvaWQgcnB6YV9kZWNvZGVfc3RyZWFtKFJwemFDb250ZXh0ICpzKQorICAgICAgICAgICAgIGNvbG9yQSA9IEFWX1JCMTYgKCZzLT5idWZbc3RyZWFtX3B0cl0pOworICAgICAgICAgICAgIHN0cmVhbV9wdHIgKz0gMjsKKyAgICAgICAgICAgICB3aGlsZSAobl9ibG9ja3MtLSkgeworKyAgICAgICAgICAgICAgICBBRFZBTkNFX0JMT0NLKCkKKyAgICAgICAgICAgICAgICAgYmxvY2tfcHRyID0gcm93X3B0ciArIHBpeGVsX3B0cjsKKyAgICAgICAgICAgICAgICAgZm9yIChwaXhlbF95ID0gMDsgcGl4ZWxfeSA8IDQ7IHBpeGVsX3krKykgeworICAgICAgICAgICAgICAgICAgICAgZm9yIChwaXhlbF94ID0gMDsgcGl4ZWxfeCA8IDQ7IHBpeGVsX3grKyl7CitAQCAtMTQ3LDcgKzE0OCw2IEBAIHN0YXRpYyB2b2lkIHJwemFfZGVjb2RlX3N0cmVhbShScHphQ29udGV4dCAqcykKKyAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIGJsb2NrX3B0ciArPSByb3dfaW5jOworICAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgICAgIEFEVkFOQ0VfQkxPQ0soKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgYnJlYWs7CisgCitAQCAtMTg0LDYgKzE4NCw3IEBAIHN0YXRpYyB2b2lkIHJwemFfZGVjb2RlX3N0cmVhbShScHphQ29udGV4dCAqcykKKyAgICAgICAgICAgICBjb2xvcjRbMl0gfD0gKCgyMSAqIHRhICsgMTEgKiB0YikgPj4gNSk7CisgCisgICAgICAgICAgICAgd2hpbGUgKG5fYmxvY2tzLS0pIHsKKysgICAgICAgICAgICAgICAgQURWQU5DRV9CTE9DSygpOworICAgICAgICAgICAgICAgICBibG9ja19wdHIgPSByb3dfcHRyICsgcGl4ZWxfcHRyOworICAgICAgICAgICAgICAgICBmb3IgKHBpeGVsX3kgPSAwOyBwaXhlbF95IDwgNDsgcGl4ZWxfeSsrKSB7CisgICAgICAgICAgICAgICAgICAgICBpbmRleCA9IHMtPmJ1ZltzdHJlYW1fcHRyKytdOworQEAgLTE5NCwxMiArMTk1LDEyIEBAIHN0YXRpYyB2b2lkIHJwemFfZGVjb2RlX3N0cmVhbShScHphQ29udGV4dCAqcykKKyAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIGJsb2NrX3B0ciArPSByb3dfaW5jOworICAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgICAgIEFEVkFOQ0VfQkxPQ0soKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgYnJlYWs7CisgCisgICAgICAgICAvKiBGaWxsIGJsb2NrIHdpdGggMTYgY29sb3JzICovCisgICAgICAgICBjYXNlIDB4MDA6CisrICAgICAgICAgICAgQURWQU5DRV9CTE9DSygpOworICAgICAgICAgICAgIGJsb2NrX3B0ciA9IHJvd19wdHIgKyBwaXhlbF9wdHI7CisgICAgICAgICAgICAgZm9yIChwaXhlbF95ID0gMDsgcGl4ZWxfeSA8IDQ7IHBpeGVsX3krKykgeworICAgICAgICAgICAgICAgICBmb3IgKHBpeGVsX3ggPSAwOyBwaXhlbF94IDwgNDsgcGl4ZWxfeCsrKXsKK0BAIC0yMTMsNyArMjE0LDYgQEAgc3RhdGljIHZvaWQgcnB6YV9kZWNvZGVfc3RyZWFtKFJwemFDb250ZXh0ICpzKQorICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgIGJsb2NrX3B0ciArPSByb3dfaW5jOworICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBBRFZBTkNFX0JMT0NLKCk7CisgICAgICAgICAgICAgYnJlYWs7CisgCisgICAgICAgICAvKiBVbmtub3duIG9wY29kZSAqLworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdmNvZGVjLXNtYy1maXgtb2ZmLWJ5LTEtZXJyb3IucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1zbWMtZml4LW9mZi1ieS0xLWVycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjYTZmYzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZjb2RlYy1zbWMtZml4LW9mZi1ieS0xLWVycm9yLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gYzE3YTBhZDFkZjE1YTk0ZDBiMTIzOWFkYzJhZmI1OTNiZGYwYTE1MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBGcmksIDMgT2N0IDIwMTQgMjI6NTA6NDUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIGF2Y29kZWMvc21jOiBmaXggb2ZmIGJ5IDEgZXJyb3IKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitGaXhlcyBvdXQgb2YgYXJyYXkgYWNjZXNzCitGaXhlczogYXNhbl9oZWFwLW9vYl8xNjg1YmYwXzVfYXNhbl9oZWFwLW9vYl8xZjM1MTE2XzQzMF9zbWMubW92CisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvc21jLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9zbWMuYyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3NtYy5jCitpbmRleCAzY2Q1ZTUzLi5kZWM5ZjcxIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvc21jLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3NtYy5jCitAQCAtNjksNyArNjksNyBAQCB0eXBlZGVmIHN0cnVjdCBTbWNDb250ZXh0IHsKKyAgICAgICAgIHJvd19wdHIgKz0gc3RyaWRlICogNDsgXAorICAgICB9IFwKKyAgICAgdG90YWxfYmxvY2tzLS07IFwKKy0gICAgaWYgKHRvdGFsX2Jsb2NrcyA8IDApIFwKKysgICAgaWYgKHRvdGFsX2Jsb2NrcyA8IDAgKyAhIW5fYmxvY2tzKSBcCisgICAgIHsgXAorICAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfSU5GTywgIndhcm5pbmc6IGJsb2NrIGNvdW50ZXIganVzdCB3ZW50IG5lZ2F0aXZlICh0aGlzIHNob3VsZCBub3QgaGFwcGVuKVxuIik7IFwKKyAgICAgICAgIHJldHVybjsgXAorLS0gCisyLjEuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZmb3JtYXQtbXBlZ3RzZW5jLUNoZWNrLWRhdGEtYXJyYXktc2l6ZS1pbi1tcGVndHNfdy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1hdmZvcm1hdC1tcGVndHNlbmMtQ2hlY2stZGF0YS1hcnJheS1zaXplLWluLW1wZWd0c193LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4YmI2NmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtYXZmb3JtYXQtbXBlZ3RzZW5jLUNoZWNrLWRhdGEtYXJyYXktc2l6ZS1pbi1tcGVndHNfdy5wYXRjaApAQCAtMCwwICsxLDY5IEBACitGcm9tIDEyNzcwNzAxODU2YTA1YjZiM2NkNzA2ZjcwOGY4ZTlhNGU4YTEzMzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorRGF0ZTogVGh1LCAxMyBGZWIgMjAxNCAxMzo1OTo1MSArMDEwMAorU3ViamVjdDogW1BBVENIXSBhdmZvcm1hdC9tcGVndHNlbmM6IENoZWNrIGRhdGEgYXJyYXkgc2l6ZSBpbgorIG1wZWd0c193cml0ZV9wbXQoKQorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0NPbW1pdCAxMjc3MDcwMTg1NmEwNWI2YjNjZDcwNmY3MDhmOGU5YTRlOGExMzM2IHJlbGVhc2UvMC4xMQorCitQcmV2ZW50cyBvdXQgb2YgYXJyYXkgd3JpdGVzCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA4NDJiNmMxNGJjZmMxYzVkYTFhMmQyODhmZDY1Mzg2ZWI4YzE1OGFkKQorCitDb25mbGljdHM6CisKKwlsaWJhdmZvcm1hdC9tcGVndHNlbmMuYworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZTg3ZGUzZjUwYjc2NTEzNDU4OGQwYjA0OGMzMmVkNGI4YWNjMTZmYikKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Zm9ybWF0L21wZWd0c2VuYy5jIHwgICAgOSArKysrKysrLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21wZWd0c2VuYy5jIGIvbGliYXZmb3JtYXQvbXBlZ3RzZW5jLmMKK2luZGV4IDc5M2UyMDUuLmExMmQxOWYgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZmb3JtYXQvbXBlZ3RzZW5jLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmZvcm1hdC9tcGVndHNlbmMuYworQEAgLTI0MCw3ICsyNDAsNyBAQCBzdGF0aWMgdm9pZCBtcGVndHNfd3JpdGVfcGF0KEFWRm9ybWF0Q29udGV4dCAqcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsIHEgLSBkYXRhKTsKKyB9CisgCistc3RhdGljIHZvaWQgbXBlZ3RzX3dyaXRlX3BtdChBVkZvcm1hdENvbnRleHQgKnMsIE1wZWdUU1NlcnZpY2UgKnNlcnZpY2UpCisrc3RhdGljIGludCBtcGVndHNfd3JpdGVfcG10KEFWRm9ybWF0Q29udGV4dCAqcywgTXBlZ1RTU2VydmljZSAqc2VydmljZSkKKyB7CisgICAgIC8vICAgIE1wZWdUU1dyaXRlICp0cyA9IHMtPnByaXZfZGF0YTsKKyAgICAgdWludDhfdCBkYXRhWzEwMTJdLCAqcSwgKmRlc2NfbGVuZ3RoX3B0ciwgKnByb2dyYW1faW5mb19sZW5ndGhfcHRyOworQEAgLTI5Myw2ICsyOTMsMTAgQEAgc3RhdGljIHZvaWQgbXBlZ3RzX3dyaXRlX3BtdChBVkZvcm1hdENvbnRleHQgKnMsIE1wZWdUU1NlcnZpY2UgKnNlcnZpY2UpCisgICAgICAgICAgICAgc3RyZWFtX3R5cGUgPSBTVFJFQU1fVFlQRV9QUklWQVRFX0RBVEE7CisgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICB9CisrCisrICAgICAgICBpZiAocSAtIGRhdGEgPiBzaXplb2YoZGF0YSkgLSAzMikKKysgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOworKworICAgICAgICAgKnErKyA9IHN0cmVhbV90eXBlOworICAgICAgICAgcHV0MTYoJnEsIDB4ZTAwMCB8IHRzX3N0LT5waWQpOworICAgICAgICAgZGVzY19sZW5ndGhfcHRyID0gcTsKK0BAIC0zMjQsNyArMzI4LDcgQEAgc3RhdGljIHZvaWQgbXBlZ3RzX3dyaXRlX3BtdChBVkZvcm1hdENvbnRleHQgKnMsIE1wZWdUU1NlcnZpY2UgKnNlcnZpY2UpCisgICAgICAgICAgICAgICAgIGxlbl9wdHIgPSBxKys7CisgICAgICAgICAgICAgICAgICpsZW5fcHRyID0gMDsKKyAKKy0gICAgICAgICAgICAgICAgZm9yIChwID0gbGFuZy0+dmFsdWU7IG5leHQgJiYgKmxlbl9wdHIgPCAyNTUgLyA0ICogNDsgcCA9IG5leHQgKyAxKSB7CisrICAgICAgICAgICAgICAgIGZvciAocCA9IGxhbmctPnZhbHVlOyBuZXh0ICYmICpsZW5fcHRyIDwgMjU1IC8gNCAqIDQgJiYgcSAtIGRhdGEgPCBzaXplb2YoZGF0YSkgLSA0OyBwID0gbmV4dCArIDEpIHsKKyAgICAgICAgICAgICAgICAgICAgIG5leHQgPSBzdHJjaHIocCwgJywnKTsKKyAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJsZW4ocCkgIT0gMyAmJiAoIW5leHQgfHwgbmV4dCAhPSBwICsgMykpCisgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7IC8qIG5vdCBhIDMtbGV0dGVyIGNvZGUgKi8KK0BAIC0zODYsNiArMzkwLDcgQEAgc3RhdGljIHZvaWQgbXBlZ3RzX3dyaXRlX3BtdChBVkZvcm1hdENvbnRleHQgKnMsIE1wZWdUU1NlcnZpY2UgKnNlcnZpY2UpCisgICAgIH0KKyAgICAgbXBlZ3RzX3dyaXRlX3NlY3Rpb24xKCZzZXJ2aWNlLT5wbXQsIFBNVF9USUQsIHNlcnZpY2UtPnNpZCwgMCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsIHEgLSBkYXRhKTsKKysgICAgcmV0dXJuIDA7CisgfQorIAorIC8qIE5PVEU6IHN0ciA9PSBOVUxMIGlzIGFjY2VwdGVkIGZvciBhbiBlbXB0eSBzdHJpbmcgKi8KKy0tIAorMS43LjUuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZWFtYWQtZml4LW91dC1vZi1hcnJheS1hY2Nlc3Nlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1lYW1hZC1maXgtb3V0LW9mLWFycmF5LWFjY2Vzc2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NWUzZmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZWFtYWQtZml4LW91dC1vZi1hcnJheS1hY2Nlc3Nlcy5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDYzYWM2NDg2NGM2ZTBlODQzNTVhYTNjYWE1YjkyMjA4OTk3YTlhOGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorRGF0ZTogU2F0LCAxNyBOb3YgMjAxMiAxNjoyNjo1NSArMDEwMAorU3ViamVjdDogW1BBVENIXSBlYW1hZDogZml4IG91dCBvZiBhcnJheSBhY2Nlc3NlcworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0NvbW1pdCA2M2FjNjQ4NjRjNmUwZTg0MzU1YWEzY2FhNWI5MjIwODk5N2E5YThkIHJlbGVhc2UvMS4xCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvZWFtYWQuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZWFtYWQuYyBiL2xpYmF2Y29kZWMvZWFtYWQuYworaW5kZXggMjgwNTE5NS4uZTM4NjUwZSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2VhbWFkLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2VhbWFkLmMKK0BAIC0yMzcsNyArMjM3LDcgQEAgc3RhdGljIGludCBkZWNvZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAorICAgICBpbnQgY2h1bmtfdHlwZTsKKyAgICAgaW50IGludGVyOworIAorLSAgICBpZiAoYnVmX3NpemUgPCAxNykgeworKyAgICBpZiAoYnVmX3NpemUgPCAyNikgeworICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsICJJbnB1dCBidWZmZXIgdG9vIHNtYWxsXG4iKTsKKyAgICAgICAgICpkYXRhX3NpemUgPSAwOworICAgICAgICAgcmV0dXJuIC0xOworLS0gCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZXJyb3ItY29uY2VhbG1lbnQtaW5pdGlhbGl6ZS1ibG9jay1pbmRleC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1lcnJvci1jb25jZWFsbWVudC1pbml0aWFsaXplLWJsb2NrLWluZGV4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwZTQyMzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZXJyb3ItY29uY2VhbG1lbnQtaW5pdGlhbGl6ZS1ibG9jay1pbmRleC5wYXRjaApAQCAtMCwwICsxLDI5IEBACitnc3QtZmZtcGVnOiBlcnJvciBjb25jZWFsbWVudDogaW5pdGlhbGl6ZSBibG9jayBpbmRleC4KKworRml4ZXMgQ1ZFLTIwMTEtMzk0MSAob3V0IG9mIGJvdW5kcyB3cml0ZSkKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorLS0tCisgbGliYXZjb2RlYy9lcnJvcl9yZXNpbGllbmNlLmMgfCAgICAzICsrKworIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9lcnJvcl9yZXNpbGllbmNlLmMgYi9saWJhdmNvZGVjL2Vycm9yX3Jlc2lsaWVuY2UuYworaW5kZXggOGJiNWQwYy4uZDU1YzAwMCAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2Vycm9yX3Jlc2lsaWVuY2UuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvZXJyb3JfcmVzaWxpZW5jZS5jCitAQCAtNDUsNiArNDUsOSBAQCBzdGF0aWMgdm9pZCBkZWNvZGVfbWIoTXBlZ0VuY0NvbnRleHQgKnMsIGludCByZWYpeworICAgICBzLT5kZXN0WzFdID0gcy0+Y3VycmVudF9waWN0dXJlLmRhdGFbMV0gKyAocy0+bWJfeSAqICgxNj4+cy0+Y2hyb21hX3lfc2hpZnQpICogcy0+dXZsaW5lc2l6ZSkgKyBzLT5tYl94ICogKDE2Pj5zLT5jaHJvbWFfeF9zaGlmdCk7CisgICAgIHMtPmRlc3RbMl0gPSBzLT5jdXJyZW50X3BpY3R1cmUuZGF0YVsyXSArIChzLT5tYl95ICogKDE2Pj5zLT5jaHJvbWFfeV9zaGlmdCkgKiBzLT51dmxpbmVzaXplKSArIHMtPm1iX3ggKiAoMTY+PnMtPmNocm9tYV94X3NoaWZ0KTsKKyAKKysgICAgZmZfaW5pdF9ibG9ja19pbmRleChzKTsKKysgICAgZmZfdXBkYXRlX2Jsb2NrX2luZGV4KHMpOworKworICAgICBpZihDT05GSUdfSDI2NF9ERUNPREVSICYmIHMtPmNvZGVjX2lkID09IENPREVDX0lEX0gyNjQpeworICAgICAgICAgSDI2NENvbnRleHQgKmg9ICh2b2lkKilzOworICAgICAgICAgaC0+bWJfeHk9IHMtPm1iX3ggKyBzLT5tYl95KnMtPm1iX3N0cmlkZTsKKy0tIAorMS43LjUuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZXJyb3JfY29uY2VhbG1lbnQtQ2hlY2stdGhhdC10aGUtcGljdHVyZS1pcy1ub3QtaW4tYS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1lcnJvcl9jb25jZWFsbWVudC1DaGVjay10aGF0LXRoZS1waWN0dXJlLWlzLW5vdC1pbi1hLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlZWY2ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZXJyb3JfY29uY2VhbG1lbnQtQ2hlY2stdGhhdC10aGUtcGljdHVyZS1pcy1ub3QtaW4tYS5wYXRjaApAQCAtMCwwICsxLDM3IEBACitnc3QtZmZtcGVnOiBlcnJvcl9jb25jZWFsbWVudDogQ2hlY2sgdGhhdCB0aGUgcGljdHVyZSBpcyBub3QgaW4gYSBoYWxmCisKK0ZpeGVzIHN0YXRlIGJlY29taW5nIGluY29uc2lzdGVudAorRml4ZXMgYSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjMzMThhNTczNTgzNThlN2E0ZGM1NTFlODMwZTQ1MDNmMDYzOGNmZSkKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorCistLS0KKyBsaWJhdmNvZGVjL2Vycm9yX3Jlc2lsaWVuY2UuYyB8ICAgIDYgKysrKysrCisgMSBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL2Vycm9yX3Jlc2lsaWVuY2UuYyBiL2xpYmF2Y29kZWMvZXJyb3JfcmVzaWxpZW5jZS5jCitpbmRleCAwMWY3NDI0Li4yYjZiYzQyIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvZXJyb3JfcmVzaWxpZW5jZS5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9lcnJvcl9yZXNpbGllbmNlLmMKK0BAIC03OTMsNiArNzkzLDEyIEBAIHZvaWQgZmZfZXJfZnJhbWVfZW5kKE1wZWdFbmNDb250ZXh0ICpzKXsKKyAgICAgICAgcy0+cGljdHVyZV9zdHJ1Y3R1cmUgIT0gUElDVF9GUkFNRSB8fCAvLyB3ZSBkb250IHN1cHBvcnQgRVIgb2YgZmllbGQgcGljdHVyZXMgeWV0LCB0aG91Z2ggaXQgc2hvdWxkIG5vdCBjcmFzaCBpZiBlbmFibGVkCisgICAgICAgIHMtPmVycm9yX2NvdW50PT0zKnMtPm1iX3dpZHRoKihzLT5hdmN0eC0+c2tpcF90b3AgKyBzLT5hdmN0eC0+c2tpcF9ib3R0b20pKSByZXR1cm47CisgCisrICAgIGlmICggICBzLT5waWN0dXJlX3N0cnVjdHVyZSA9PSBQSUNUX0ZSQU1FCisrICAgICAgICAmJiBzLT5jdXJyZW50X3BpY3R1cmUubGluZXNpemVbMF0gIT0gcy0+Y3VycmVudF9waWN0dXJlX3B0ci0+bGluZXNpemVbMF0pIHsKKysgICAgICAgIGF2X2xvZyhzLT5hdmN0eCwgQVZfTE9HX0VSUk9SLCAiRXJyb3IgY29uY2VhbG1lbnQgbm90IHBvc3NpYmxlLCBmcmFtZSBub3QgZnVsbHkgaW5pdGlhbGl6ZWRcbiIpOworKyAgICAgICAgcmV0dXJuOworKyAgICB9CisrCisgICAgIGlmKHMtPmN1cnJlbnRfcGljdHVyZS5tb3Rpb25fdmFsWzBdID09IE5VTEwpeworICAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfRVJST1IsICJXYXJuaW5nIE1WcyBub3QgYXZhaWxhYmxlXG4iKTsKKyAKKy0tIAorMS43LjUuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZmZzZXJ2ZXItc2V0LW9mb3JtYXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtZmZzZXJ2ZXItc2V0LW9mb3JtYXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODAzMjVkYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1mZnNlcnZlci1zZXQtb2Zvcm1hdC5wYXRjaApAQCAtMCwwICsxLDM2IEBACitnc3QtZmZtcGVnOiBmZnNlcnZlcjogc2V0IG9mb3JtYXQKKworRml4IFRpY2tldDE5ODYKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGNiZTQzZTYyYzlhYzdkNGFlZmRjMTM0NzZmNmY2OTFiZDYyNjUyNWYpCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgCisKKy0tLQorIGZmc2VydmVyLmMgfCAgICA0ICsrKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Zmc2VydmVyLmMgYi9mZnNlcnZlci5jCitpbmRleCA0MDQ0ZDBmLi44NzQwMTQwIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2Zmc2VydmVyLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9mZnNlcnZlci5jCitAQCAtMjkzNywxMiArMjkzNywxNCBAQCBzdGF0aWMgaW50IHByZXBhcmVfc2RwX2Rlc2NyaXB0aW9uKEZGU3RyZWFtICpzdHJlYW0sIHVpbnQ4X3QgKipwYnVmZmVyLAorIHsKKyAgICAgQVZGb3JtYXRDb250ZXh0ICphdmM7CisgICAgIEFWU3RyZWFtICphdnMgPSBOVUxMOworKyAgICBBVk91dHB1dEZvcm1hdCAqcnRwX2Zvcm1hdCA9IGF2X2d1ZXNzX2Zvcm1hdCgicnRwIiwgTlVMTCwgTlVMTCk7CisgICAgIGludCBpOworIAorICAgICBhdmMgPSAgYXZmb3JtYXRfYWxsb2NfY29udGV4dCgpOworLSAgICBpZiAoYXZjID09IE5VTEwpIHsKKysgICAgaWYgKGF2YyA9PSBOVUxMIHx8ICFydHBfZm9ybWF0KSB7CisgICAgICAgICByZXR1cm4gLTE7CisgICAgIH0KKysgICAgYXZjLT5vZm9ybWF0ID0gcnRwX2Zvcm1hdDsKKyAgICAgYXZfZGljdF9zZXQoJmF2Yy0+bWV0YWRhdGEsICJ0aXRsZSIsCisgICAgICAgICAgICAgICAgc3RyZWFtLT50aXRsZVswXSA/IHN0cmVhbS0+dGl0bGUgOiAiTm8gVGl0bGUiLCAwKTsKKyAgICAgYXZjLT5uYl9zdHJlYW1zID0gc3RyZWFtLT5uYl9zdHJlYW1zOworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1oMjY0LWNvcnJlY3QtcmVmLWNvdW50LWNoZWNrLWFuZC1saW1pdC1maXgtb3V0LW9mLWFyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWgyNjQtY29ycmVjdC1yZWYtY291bnQtY2hlY2stYW5kLWxpbWl0LWZpeC1vdXQtb2YtYXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDRmNTViMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1oMjY0LWNvcnJlY3QtcmVmLWNvdW50LWNoZWNrLWFuZC1saW1pdC1maXgtb3V0LW9mLWFyLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gZDZjMTg0ODgwZWUyZTA5ZmQ2OGMwYWUyMTcxNzM4MzJjZWU1YWZjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBTdW4sIDE4IE5vdiAyMDEyIDE2OjI5OjA0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGgyNjQ6IGNvcnJlY3QgcmVmIGNvdW50IGNoZWNrIGFuZCBsaW1pdCwgZml4IG91dCBvZiBhcnJheQorIGFjY2Vzc2VzLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvaDI2NC5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oMjY0LmMgYi9saWJhdmNvZGVjL2gyNjQuYworaW5kZXggZGE0M2YxZS4uMzJjZWRlNSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjQuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NC5jCitAQCAtMjg3MCw2ICsyODcwLDkgQEAgc3RhdGljIGludCBkZWNvZGVfc2xpY2VfaGVhZGVyKEgyNjRDb250ZQorICAgICAgICAgICAgIGgtPnJlZl9jb3VudFswXT0gZ2V0X3VlX2dvbG9tYigmcy0+Z2IpICsgMTsKKyAgICAgICAgICAgICBpZihoLT5zbGljZV90eXBlX25vcz09QVZfUElDVFVSRV9UWVBFX0IpCisgICAgICAgICAgICAgICAgIGgtPnJlZl9jb3VudFsxXT0gZ2V0X3VlX2dvbG9tYigmcy0+Z2IpICsgMTsKKysgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgIC8vIGZ1bGwgcmFuZ2UgaXMgc3BlYy1vayBpbiB0aGlzIGNhc2UsIGV2ZW4gZm9yIGZyYW1lcworKyAgICAgICAgICAgICAgICBoLT5yZWZfY291bnRbMV0gPSAxOworIAorICAgICAgICAgICAgIGlmKGgtPnJlZl9jb3VudFswXS0xID4gMzItMSB8fCBoLT5yZWZfY291bnRbMV0tMSA+IDMyLTEpeworICAgICAgICAgICAgICAgICBhdl9sb2coaC0+cy5hdmN0eCwgQVZfTE9HX0VSUk9SLCAicmVmZXJlbmNlIG92ZXJmbG93XG4iKTsKKy0tIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWgyNjQtc2V0LXBhcmFtZXRlcnMtZnJvbS1TUFMtd2hlbmV2ZXItaXQtY2hhbmdlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1oMjY0LXNldC1wYXJhbWV0ZXJzLWZyb20tU1BTLXdoZW5ldmVyLWl0LWNoYW5nZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDVhOWRlMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1oMjY0LXNldC1wYXJhbWV0ZXJzLWZyb20tU1BTLXdoZW5ldmVyLWl0LWNoYW5nZXMucGF0Y2gKQEAgLTAsMCArMSwxNDUgQEAKK2dzdC1mZm1wZWc6IGgyNjQ6IHNldCBwYXJhbWV0ZXJzIGZyb20gU1BTIHdoZW5ldmVyIGl0IGNoYW5nZXMKKyAgICAKK0ZpeGVzIGEgY3Jhc2ggaW4gdGhlIGZ1enplZCBzYW1wbGUgc2FtcGxlX3ZhclBBUi5hdmlfczI2NjM4IHdpdGgKK2FsdGVybmF0aW5nIGJpdCBkZXB0aHMuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorCitkaWZmIC0tZ2l0IGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NC5jLm9sZCBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjQuYworaW5kZXggMzYyMWY0MS4uNzE4OTA2YSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjQuYy5vbGQKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjQuYworQEAgLTI0OTEsNiArMjQ5MSwzNCBAQCBpbnQgZmZfaDI2NF9nZXRfcHJvZmlsZShTUFMgKnNwcykKKyAgICAgcmV0dXJuIHByb2ZpbGU7CisgfQorIAorK3N0YXRpYyBpbnQgaDI2NF9zZXRfcGFyYW1ldGVyX2Zyb21fc3BzKEgyNjRDb250ZXh0ICpoKQorK3sKKysgICAgTXBlZ0VuY0NvbnRleHQgKnMgPSAmaC0+czsKKysgICAgQVZDb2RlY0NvbnRleHQgKiBhdmN0eD0gcy0+YXZjdHg7CisrCisrICAgIGlmIChzLT5mbGFncyYgQ09ERUNfRkxBR19MT1dfREVMQVkgfHwKKysgICAgICAgIChoLT5zcHMuYml0c3RyZWFtX3Jlc3RyaWN0aW9uX2ZsYWcgJiYgIWgtPnNwcy5udW1fcmVvcmRlcl9mcmFtZXMpKQorKyAgICAgICAgcy0+bG93X2RlbGF5PTE7CisrCisrICAgIGlmKGF2Y3R4LT5oYXNfYl9mcmFtZXMgPCAyKQorKyAgICAgICAgYXZjdHgtPmhhc19iX2ZyYW1lcz0gIXMtPmxvd19kZWxheTsKKysKKysgICAgaWYgKGF2Y3R4LT5iaXRzX3Blcl9yYXdfc2FtcGxlICE9IGgtPnNwcy5iaXRfZGVwdGhfbHVtYSkgeworKyAgICAgICAgaWYgKGgtPnNwcy5iaXRfZGVwdGhfbHVtYSA+PSA4ICYmIGgtPnNwcy5iaXRfZGVwdGhfbHVtYSA8PSAxMCkgeworKyAgICAgICAgICAgIGF2Y3R4LT5iaXRzX3Blcl9yYXdfc2FtcGxlID0gaC0+c3BzLmJpdF9kZXB0aF9sdW1hOworKyAgICAgICAgICAgIGgtPnBpeGVsX3NoaWZ0ID0gaC0+c3BzLmJpdF9kZXB0aF9sdW1hID4gODsKKysKKysgICAgICAgICAgICBmZl9oMjY0ZHNwX2luaXQoJmgtPmgyNjRkc3AsIGgtPnNwcy5iaXRfZGVwdGhfbHVtYSk7CisrICAgICAgICAgICAgZmZfaDI2NF9wcmVkX2luaXQoJmgtPmhwYywgcy0+Y29kZWNfaWQsIGgtPnNwcy5iaXRfZGVwdGhfbHVtYSk7CisrICAgICAgICAgICAgZHNwdXRpbF9pbml0KCZzLT5kc3AsIHMtPmF2Y3R4KTsKKysgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfREVCVUcsICJVbnN1cHBvcnRlZCBiaXQgZGVwdGg6ICVkXG4iLCBoLT5zcHMuYml0X2RlcHRoX2x1bWEpOworKyAgICAgICAgICAgIHJldHVybiAtMTsKKysgICAgICAgIH0KKysgICAgfQorKyAgICByZXR1cm4gMDsKKyt9CisrCisgLyoqCisgICogZGVjb2RlcyBhIHNsaWNlIGhlYWRlci4KKyAgKiBUaGlzIHdpbGwgYWxzbyBjYWxsIE1QVl9jb21tb25faW5pdCgpIGFuZCBmcmFtZV9zdGFydCgpIGFzIG5lZWRlZC4KK0BAIC0yNTA1LDcgKzI1MzMsNyBAQCBzdGF0aWMgaW50IGRlY29kZV9zbGljZV9oZWFkZXIoSDI2NENvbnRleHQgKmgsIEgyNjRDb250ZXh0ICpoMCl7CisgICAgIE1wZWdFbmNDb250ZXh0ICogY29uc3QgczAgPSAmaDAtPnM7CisgICAgIHVuc2lnbmVkIGludCBmaXJzdF9tYl9pbl9zbGljZTsKKyAgICAgdW5zaWduZWQgaW50IHBwc19pZDsKKy0gICAgaW50IG51bV9yZWZfaWR4X2FjdGl2ZV9vdmVycmlkZV9mbGFnOworKyAgICBpbnQgbnVtX3JlZl9pZHhfYWN0aXZlX292ZXJyaWRlX2ZsYWcsIHJldDsKKyAgICAgdW5zaWduZWQgaW50IHNsaWNlX3R5cGUsIHRtcCwgaSwgajsKKyAgICAgaW50IGRlZmF1bHRfcmVmX2xpc3RfZG9uZSA9IDA7CisgICAgIGludCBsYXN0X3BpY19zdHJ1Y3R1cmU7CitAQCAtMjU2OSw3ICsyNTk3LDE3IEBAIHN0YXRpYyBpbnQgZGVjb2RlX3NsaWNlX2hlYWRlcihIMjY0Q29udGV4dCAqaCwgSDI2NENvbnRleHQgKmgwKXsKKyAgICAgICAgIGF2X2xvZyhoLT5zLmF2Y3R4LCBBVl9MT0dfRVJST1IsICJub24tZXhpc3RpbmcgU1BTICV1IHJlZmVyZW5jZWRcbiIsIGgtPnBwcy5zcHNfaWQpOworICAgICAgICAgcmV0dXJuIC0xOworICAgICB9CistICAgIGgtPnNwcyA9ICpoMC0+c3BzX2J1ZmZlcnNbaC0+cHBzLnNwc19pZF07CisrCisrICAgIGlmIChoLT5wcHMuc3BzX2lkICE9IGgtPmN1cnJlbnRfc3BzX2lkIHx8CisrICAgICAgICBoMC0+c3BzX2J1ZmZlcnNbaC0+cHBzLnNwc19pZF0tPm5ldykgeworKyAgICAgICAgaDAtPnNwc19idWZmZXJzW2gtPnBwcy5zcHNfaWRdLT5uZXcgPSAwOworKworKyAgICAgICAgaC0+Y3VycmVudF9zcHNfaWQgPSBoLT5wcHMuc3BzX2lkOworKyAgICAgICAgaC0+c3BzICAgICAgICAgICAgPSAqaDAtPnNwc19idWZmZXJzW2gtPnBwcy5zcHNfaWRdOworKworKyAgICAgICAgaWYgKChyZXQgPSBoMjY0X3NldF9wYXJhbWV0ZXJfZnJvbV9zcHMoaCkpIDwgMCkKKysgICAgICAgICAgICByZXR1cm4gcmV0OworKyAgICB9CisgCisgICAgIHMtPmF2Y3R4LT5wcm9maWxlID0gZmZfaDI2NF9nZXRfcHJvZmlsZSgmaC0+c3BzKTsKKyAgICAgcy0+YXZjdHgtPmxldmVsICAgPSBoLT5zcHMubGV2ZWxfaWRjOworQEAgLTM4MTEsMjYgKzM4MTEsOCBAQCBzdGF0aWMgaW50IGRlY29kZV9uYWxfdW5pdHMoSDI2NENvbnRleHQgKmgsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplKXsKKyAgICAgICAgIGNhc2UgTkFMX1NQUzoKKyAgICAgICAgICAgICBpbml0X2dldF9iaXRzKCZzLT5nYiwgcHRyLCBiaXRfbGVuZ3RoKTsKKyAgICAgICAgICAgICBmZl9oMjY0X2RlY29kZV9zZXFfcGFyYW1ldGVyX3NldChoKTsKKy0KKy0gICAgICAgICAgICBpZiAocy0+ZmxhZ3MmIENPREVDX0ZMQUdfTE9XX0RFTEFZIHx8CistICAgICAgICAgICAgICAgIChoLT5zcHMuYml0c3RyZWFtX3Jlc3RyaWN0aW9uX2ZsYWcgJiYgIWgtPnNwcy5udW1fcmVvcmRlcl9mcmFtZXMpKQorLSAgICAgICAgICAgICAgICBzLT5sb3dfZGVsYXk9MTsKKy0KKy0gICAgICAgICAgICBpZihhdmN0eC0+aGFzX2JfZnJhbWVzIDwgMikKKy0gICAgICAgICAgICAgICAgYXZjdHgtPmhhc19iX2ZyYW1lcz0gIXMtPmxvd19kZWxheTsKKy0KKy0gICAgICAgICAgICBpZiAoYXZjdHgtPmJpdHNfcGVyX3Jhd19zYW1wbGUgIT0gaC0+c3BzLmJpdF9kZXB0aF9sdW1hKSB7CistICAgICAgICAgICAgICAgIGlmIChoLT5zcHMuYml0X2RlcHRoX2x1bWEgPj0gOCAmJiBoLT5zcHMuYml0X2RlcHRoX2x1bWEgPD0gMTApIHsKKy0gICAgICAgICAgICAgICAgICAgIGF2Y3R4LT5iaXRzX3Blcl9yYXdfc2FtcGxlID0gaC0+c3BzLmJpdF9kZXB0aF9sdW1hOworLSAgICAgICAgICAgICAgICAgICAgaC0+cGl4ZWxfc2hpZnQgPSBoLT5zcHMuYml0X2RlcHRoX2x1bWEgPiA4OworLQorLSAgICAgICAgICAgICAgICAgICAgZmZfaDI2NGRzcF9pbml0KCZoLT5oMjY0ZHNwLCBoLT5zcHMuYml0X2RlcHRoX2x1bWEpOworLSAgICAgICAgICAgICAgICAgICAgZmZfaDI2NF9wcmVkX2luaXQoJmgtPmhwYywgcy0+Y29kZWNfaWQsIGgtPnNwcy5iaXRfZGVwdGhfbHVtYSk7CistICAgICAgICAgICAgICAgICAgICBkc3B1dGlsX2luaXQoJnMtPmRzcCwgcy0+YXZjdHgpOworLSAgICAgICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfREVCVUcsICJVbnN1cHBvcnRlZCBiaXQgZGVwdGg6ICVkXG4iLCBoLT5zcHMuYml0X2RlcHRoX2x1bWEpOworLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworLSAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgaWYgKGgyNjRfc2V0X3BhcmFtZXRlcl9mcm9tX3NwcyhoKSA8IDApIHsKKysgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIGNhc2UgTkFMX1BQUzoKK2RpZmYgLS1naXQgYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9oMjY0Lmgub2xkIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NC5oCitpbmRleCBlM2NjODE1Li5iNzdhZDk4IDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NC5oLm9sZAorKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NC5oCitAQCAtMjAyLDYgKzIwMiw3IEBAIHR5cGVkZWYgc3RydWN0IFNQU3sKKyAgICAgaW50IGJpdF9kZXB0aF9jaHJvbWE7ICAgICAgICAgICAgICAvLy88IGJpdF9kZXB0aF9jaHJvbWFfbWludXM4ICsgOAorICAgICBpbnQgcmVzaWR1YWxfY29sb3JfdHJhbnNmb3JtX2ZsYWc7IC8vLzwgcmVzaWR1YWxfY29sb3VyX3RyYW5zZm9ybV9mbGFnCisgICAgIGludCBjb25zdHJhaW50X3NldF9mbGFnczsgICAgICAgICAgLy8vPCBjb25zdHJhaW50X3NldFswLTNdX2ZsYWcKKysgICAgaW50IG5ldzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy88IGZsYWcgdG8ga2VlcCB0cmFjayBpZiB0aGUgZGVjb2RlciBjb250ZXh0IG5lZWRzIHJlLWluaXQgZHVlIHRvIGNoYW5nZWQgU1BTCisgfVNQUzsKKyAKKyAvKioKK0BAIC0zMzMsNiArMzM0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgSDI2NENvbnRleHR7CisgICAgIGludCBlbXVfZWRnZV93aWR0aDsKKyAgICAgaW50IGVtdV9lZGdlX2hlaWdodDsKKyAKKysgICAgdW5zaWduZWQgY3VycmVudF9zcHNfaWQ7IC8vLzwgaWQgb2YgdGhlIGN1cnJlbnQgU1BTCisgICAgIFNQUyBzcHM7IC8vLzwgY3VycmVudCBzcHMKKyAKKyAgICAgLyoqCitkaWZmIC0tZ2l0IGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NF9wcy5jLm9sZCBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjRfcHMuYworaW5kZXggNzQ5MTgwNy4uMDkyOTA5OCAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjRfcHMuYy5vbGQKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2gyNjRfcHMuYworQEAgLTQzOCwxMCArNDM4LDEzIEBAIGludCBmZl9oMjY0X2RlY29kZV9zZXFfcGFyYW1ldGVyX3NldChIMjY0Q29udGV4dCAqaCl7CisgICAgICAgICAgICAgICAgc3BzLT50aW1pbmdfaW5mb19wcmVzZW50X2ZsYWcgPyBzcHMtPnRpbWVfc2NhbGUgOiAwCisgICAgICAgICAgICAgICAgKTsKKyAgICAgfQorKyAgICBzcHMtPm5ldyA9IDE7CisgCisgICAgIGF2X2ZyZWUoaC0+c3BzX2J1ZmZlcnNbc3BzX2lkXSk7CistICAgIGgtPnNwc19idWZmZXJzW3Nwc19pZF09IHNwczsKKy0gICAgaC0+c3BzID0gKnNwczsKKysgICAgaC0+c3BzX2J1ZmZlcnNbc3BzX2lkXSA9IHNwczsKKysgICAgaC0+c3BzICAgICAgICAgICAgICAgICA9ICpzcHM7CisrICAgIGgtPmN1cnJlbnRfc3BzX2lkICAgICAgPSBzcHNfaWQ7CisrCisgICAgIHJldHVybiAwOworIGZhaWw6CisgICAgIGF2X2ZyZWUoc3BzKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1oMjY0LXNraXAtZXJyb3ItY29uY2VhbG1lbnQtd2hlbi1TUFMtYW5kLXNsaWNlcy1hcmUtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWgyNjQtc2tpcC1lcnJvci1jb25jZWFsbWVudC13aGVuLVNQUy1hbmQtc2xpY2VzLWFyZS0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ0NWMxYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1oMjY0LXNraXAtZXJyb3ItY29uY2VhbG1lbnQtd2hlbi1TUFMtYW5kLXNsaWNlcy1hcmUtLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK2dzdC1mZm1wZWc6IGgyNjQ6IHNraXAgZXJyb3IgY29uY2VhbG1lbnQgd2hlbiBTUFMgYW5kIHNsaWNlcyBhcmUKKyBtaXNtYXRjaGluZworCitGaXhlcyBvdXQgb2YgYXJyYXkgYWNjZXNzZXMKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNjk1YWY4ZWVkNjQyZmYwMTA0ODM0NDk1NjUyZDFlZTc4NGE0YzE0ZCkKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliYXZjb2RlYy9oMjY0LmMgfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL2gyNjQuYyBiL2xpYmF2Y29kZWMvaDI2NC5jCitpbmRleCBkYTE0NGRiLi4wYWFiNGU3IDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NC5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9oMjY0LmMKK0BAIC0yMzUxLDcgKzIzNTEsNyBAQCBzdGF0aWMgaW50IGZpZWxkX2VuZChIMjY0Q29udGV4dCAqaCwgaW50IGluX3NldHVwKQorICAgICAgKiBwYXN0IGVuZCBieSBvbmUgKGNhbGxlcnMgZmF1bHQpIGFuZCByZXN5bmNfbWJfeSAhPSAwCisgICAgICAqIGNhdXNlcyBwcm9ibGVtcyBmb3IgdGhlIGZpcnN0IE1CIGxpbmUsIHRvby4KKyAgICAgICovCistICAgIGlmICghRklFTERfUElDVFVSRSkKKysgICAgaWYgKCFGSUVMRF9QSUNUVVJFICYmIGgtPmN1cnJlbnRfc2xpY2UgJiYgIWgtPnNwcy5uZXcpCisgICAgICAgICBmZl9lcl9mcmFtZV9lbmQocyk7CisgCisgICAgIGZmX01QVl9mcmFtZV9lbmQocyk7CistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWgyNjRfc2VpLUZpeC1pbmZpbml0ZS1sb29wLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWgyNjRfc2VpLUZpeC1pbmZpbml0ZS1sb29wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNjJiNTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtaDI2NF9zZWktRml4LWluZmluaXRlLWxvb3AucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorZ3N0LWZmbXBlZzogaDI2NF9zZWk6IEZpeCBpbmZpbml0ZSBsb29wLgorCitGaXhzb3QgeWV0IGZpeGVkIHBhcnRzIG9mIENWRS0yMDExLTM5NDYuCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorCistLS0KKyBsaWJhdmNvZGVjL2gyNjRfc2VpLmMgfCAgICA0ICsrKysKKyAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oMjY0X3NlaS5jIGIvbGliYXZjb2RlYy9oMjY0X3NlaS5jCitpbmRleCAzNzRlNTNkLi44MGQ3MGU1IDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NF9zZWkuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvaDI2NF9zZWkuYworQEAgLTE2OSwxMSArMTY5LDE1IEBAIGludCBmZl9oMjY0X2RlY29kZV9zZWkoSDI2NENvbnRleHQgKmgpeworIAorICAgICAgICAgdHlwZT0wOworICAgICAgICAgZG97CisrICAgICAgICAgICAgaWYgKGdldF9iaXRzX2xlZnQoJnMtPmdiKSA8IDgpCisrICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICB0eXBlKz0gc2hvd19iaXRzKCZzLT5nYiwgOCk7CisgICAgICAgICB9d2hpbGUoZ2V0X2JpdHMoJnMtPmdiLCA4KSA9PSAyNTUpOworIAorICAgICAgICAgc2l6ZT0wOworICAgICAgICAgZG97CisrICAgICAgICAgICAgaWYgKGdldF9iaXRzX2xlZnQoJnMtPmdiKSA8IDgpCisrICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICBzaXplKz0gc2hvd19iaXRzKCZzLT5nYiwgOCk7CisgICAgICAgICB9d2hpbGUoZ2V0X2JpdHMoJnMtPmdiLCA4KSA9PSAyNTUpOworIAorLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1odWZmeXV2ZGVjLUNoZWNrLWluaXRfdmxjLXJldHVybi1jb2Rlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1odWZmeXV2ZGVjLUNoZWNrLWluaXRfdmxjLXJldHVybi1jb2Rlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODU5ZTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWh1ZmZ5dXZkZWMtQ2hlY2staW5pdF92bGMtcmV0dXJuLWNvZGVzLnBhdGNoCkBAIC0wLDAgKzEsODcgQEAKK0Zyb20gYjY2NmRlYmZmZWMxZmNiYjE5ZWYzNzc2MzVhNTNiOWE1OGJjYThhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBUdWUsIDI5IEphbiAyMDEzIDE4OjI5OjQxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGh1ZmZ5dXZkZWM6IENoZWNrIGluaXRfdmxjKCkgcmV0dXJuIGNvZGVzLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0NvbW1pdCBiNjY2ZGViZmZlYzFmY2JiMTllZjM3NzYzNWE1M2I5YTU4YmNhOGE0IHJlbGVhc2UvMS4wCisKK1ByZXZlbnRzIG91dCBvZiBhcnJheSB3cml0ZXMKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZjY3YTBkMTE1MjU0NDYxNjQ5NDcwNDUyMDU4ZmEzYzI4YzBkZjI5NCkKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvaHVmZnl1di5jIHwgMTQgKysrKysrKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaHVmZnl1di5jIGIvbGliYXZjb2RlYy9odWZmeXV2LmMKK2luZGV4IDU4ZGE3ODkuLjk5M2U1MjQgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9odWZmeXV2LmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2h1ZmZ5dXYuYworQEAgLTMzLDYgKzMzLDcgQEAKKyAjaW5jbHVkZSAicHV0X2JpdHMuaCIKKyAjaW5jbHVkZSAiZHNwdXRpbC5oIgorICNpbmNsdWRlICJ0aHJlYWQuaCIKKysjaW5jbHVkZSAibGliYXZ1dGlsL2F2YXNzZXJ0LmgiCisgCisgI2RlZmluZSBWTENfQklUUyAxMQorIAorQEAgLTI4Nyw2ICsyODcsNyBAQCBzdGF0aWMgdm9pZCBnZW5lcmF0ZV9qb2ludF90YWJsZXMoSFl1dkNvCisgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuMSA9IHMtPmxlbltwXVt1XTsKKyAgICAgICAgICAgICAgICAgICAgIGlmIChsZW4xID4gbGltaXQgfHwgIWxlbjEpCisgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisrICAgICAgICAgICAgICAgICAgICBhdl9hc3NlcnQwKGkgPCAoMSA8PCBWTENfQklUUykpOworICAgICAgICAgICAgICAgICAgICAgbGVuW2ldID0gbGVuMCArIGxlbjE7CisgICAgICAgICAgICAgICAgICAgICBiaXRzW2ldID0gKHMtPmJpdHNbMF1beV0gPDwgbGVuMSkgKyBzLT5iaXRzW3BdW3VdOworICAgICAgICAgICAgICAgICAgICAgc3ltYm9sc1tpXSA9ICh5PDw4KSArIHU7CitAQCAtMzIwLDYgKzMyMSw3IEBAIHN0YXRpYyB2b2lkIGdlbmVyYXRlX2pvaW50X3RhYmxlcyhIWXV2Q28KKyAgICAgICAgICAgICAgICAgICAgIGludCBsZW4yID0gcy0+bGVuWzJdW3ImMjU1XTsKKyAgICAgICAgICAgICAgICAgICAgIGlmIChsZW4yID4gbGltaXQxIHx8ICFsZW4yKQorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworKyAgICAgICAgICAgICAgICAgICAgYXZfYXNzZXJ0MChpIDwgKDEgPDwgVkxDX0JJVFMpKTsKKyAgICAgICAgICAgICAgICAgICAgIGxlbltpXSA9IGxlbjAgKyBsZW4xICsgbGVuMjsKKyAgICAgICAgICAgICAgICAgICAgIGJpdHNbaV0gPSAoY29kZSA8PCBsZW4yKSArIHMtPmJpdHNbMl1bciYyNTVdOworICAgICAgICAgICAgICAgICAgICAgaWYocy0+ZGVjb3JyZWxhdGUpeworQEAgLTM0Myw2ICszNDUsNyBAQCBzdGF0aWMgdm9pZCBnZW5lcmF0ZV9qb2ludF90YWJsZXMoSFl1dkNvCisgc3RhdGljIGludCByZWFkX2h1ZmZtYW5fdGFibGVzKEhZdXZDb250ZXh0ICpzLCBjb25zdCB1aW50OF90ICpzcmMsIGludCBsZW5ndGgpeworICAgICBHZXRCaXRDb250ZXh0IGdiOworICAgICBpbnQgaTsKKysgICAgaW50IHJldDsKKyAKKyAgICAgaW5pdF9nZXRfYml0cygmZ2IsIHNyYywgbGVuZ3RoKjgpOworIAorQEAgLTM1Myw3ICszNTYsOSBAQCBzdGF0aWMgaW50IHJlYWRfaHVmZm1hbl90YWJsZXMoSFl1dkNvbnRlCisgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgfQorICAgICAgICAgZnJlZV92bGMoJnMtPnZsY1tpXSk7CistICAgICAgICBpbml0X3ZsYygmcy0+dmxjW2ldLCBWTENfQklUUywgMjU2LCBzLT5sZW5baV0sIDEsIDEsIHMtPmJpdHNbaV0sIDQsIDQsIDApOworKyAgICAgICAgaWYgKChyZXQgPSBpbml0X3ZsYygmcy0+dmxjW2ldLCBWTENfQklUUywgMjU2LCBzLT5sZW5baV0sIDEsIDEsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+Yml0c1tpXSwgNCwgNCwgMCkpIDwgMCkKKysgICAgICAgICAgICByZXR1cm4gcmV0OworICAgICB9CisgCisgICAgIGdlbmVyYXRlX2pvaW50X3RhYmxlcyhzKTsKK0BAIC0zNjUsNiArMzcwLDcgQEAgc3RhdGljIGludCByZWFkX29sZF9odWZmbWFuX3RhYmxlcyhIWXV2QworICNpZiAxCisgICAgIEdldEJpdENvbnRleHQgZ2I7CisgICAgIGludCBpOworKyAgICBpbnQgcmV0OworIAorICAgICBpbml0X2dldF9iaXRzKCZnYiwgY2xhc3NpY19zaGlmdF9sdW1hLCBzaXplb2YoY2xhc3NpY19zaGlmdF9sdW1hKSo4KTsKKyAgICAgaWYocmVhZF9sZW5fdGFibGUocy0+bGVuWzBdLCAmZ2IpPDApCitAQCAtMzg1LDcgKzM5MSw5IEBAIHN0YXRpYyBpbnQgcmVhZF9vbGRfaHVmZm1hbl90YWJsZXMoSFl1dkMKKyAKKyAgICAgZm9yKGk9MDsgaTwzOyBpKyspeworICAgICAgICAgZnJlZV92bGMoJnMtPnZsY1tpXSk7CistICAgICAgICBpbml0X3ZsYygmcy0+dmxjW2ldLCBWTENfQklUUywgMjU2LCBzLT5sZW5baV0sIDEsIDEsIHMtPmJpdHNbaV0sIDQsIDQsIDApOworKyAgICAgICAgaWYgKChyZXQgPSBpbml0X3ZsYygmcy0+dmxjW2ldLCBWTENfQklUUywgMjU2LCBzLT5sZW5baV0sIDEsIDEsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPmJpdHNbaV0sIDQsIDQsIDApKSA8IDApCisrICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgfQorIAorICAgICBnZW5lcmF0ZV9qb2ludF90YWJsZXMocyk7CistLSAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1odWZmeXV2ZGVjLVNraXAtbGVuLTAtY2FzZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtaHVmZnl1dmRlYy1Ta2lwLWxlbi0wLWNhc2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0YmY0YjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtaHVmZnl1dmRlYy1Ta2lwLWxlbi0wLWNhc2VzLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK0Zyb20gZGIwZjdmNzM5NGUxZjk5NGVkMzhkYjA0M2Y3OGVkMGYxMGJkZTBkYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBUdWUsIDI5IEphbiAyMDEzIDE5OjIyOjMzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGh1ZmZ5dXZkZWM6IFNraXAgbGVuPT0wIGNhc2VzCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworQ29tbWl0IGRiMGY3ZjczOTRlMWY5OTRlZDM4ZGIwNDNmNzhlZDBmMTBiZGUwZGEgcmVsZWFzZS8xLjAKKworRml4ZXMgdmxjIGRlY29kaW5nIGZvciBoeXBvdGhldGljYWwgZmlsZXMgdGhhdCB3b3VsZCBjb250YWluIHN1Y2ggY2FzZXMuCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwZGZjMDFjMmJiZjRiNzFiYjU2MjAxYmM0YTM5MzMyMWUxNWQxYjMxKQorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorLS0tCisgbGliYXZjb2RlYy9odWZmeXV2LmMgfCAxMCArKysrKy0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaHVmZnl1di5jIGIvbGliYXZjb2RlYy9odWZmeXV2LmMKK2luZGV4IDk5M2U1MjQuLjcyZWQzNTEgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9odWZmeXV2LmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2h1ZmZ5dXYuYworQEAgLTI4MSwxMSArMjgxLDExIEBAIHN0YXRpYyB2b2lkIGdlbmVyYXRlX2pvaW50X3RhYmxlcyhIWXV2Q28KKyAgICAgICAgICAgICBmb3IoaT15PTA7IHk8MjU2OyB5KyspeworICAgICAgICAgICAgICAgICBpbnQgbGVuMCA9IHMtPmxlblswXVt5XTsKKyAgICAgICAgICAgICAgICAgaW50IGxpbWl0ID0gVkxDX0JJVFMgLSBsZW4wOworLSAgICAgICAgICAgICAgICBpZihsaW1pdCA8PSAwKQorKyAgICAgICAgICAgICAgICBpZihsaW1pdCA8PSAwIHx8ICFsZW4wKQorICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgIGZvcih1PTA7IHU8MjU2OyB1KyspeworICAgICAgICAgICAgICAgICAgICAgaW50IGxlbjEgPSBzLT5sZW5bcF1bdV07CistICAgICAgICAgICAgICAgICAgICBpZihsZW4xID4gbGltaXQpCisrICAgICAgICAgICAgICAgICAgICBpZiAobGVuMSA+IGxpbWl0IHx8ICFsZW4xKQorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICAgbGVuW2ldID0gbGVuMCArIGxlbjE7CisgICAgICAgICAgICAgICAgICAgICBiaXRzW2ldID0gKHMtPmJpdHNbMF1beV0gPDwgbGVuMSkgKyBzLT5iaXRzW3BdW3VdOworQEAgLTMwOCwxNyArMzA4LDE3IEBAIHN0YXRpYyB2b2lkIGdlbmVyYXRlX2pvaW50X3RhYmxlcyhIWXV2Q28KKyAgICAgICAgIGZvcihpPTAsIGc9LTE2OyBnPDE2OyBnKyspeworICAgICAgICAgICAgIGludCBsZW4wID0gcy0+bGVuW3AwXVtnJjI1NV07CisgICAgICAgICAgICAgaW50IGxpbWl0MCA9IFZMQ19CSVRTIC0gbGVuMDsKKy0gICAgICAgICAgICBpZihsaW1pdDAgPCAyKQorKyAgICAgICAgICAgIGlmIChsaW1pdDAgPCAyIHx8ICFsZW4wKQorICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICBmb3IoYj0tMTY7IGI8MTY7IGIrKyl7CisgICAgICAgICAgICAgICAgIGludCBsZW4xID0gcy0+bGVuW3AxXVtiJjI1NV07CisgICAgICAgICAgICAgICAgIGludCBsaW1pdDEgPSBsaW1pdDAgLSBsZW4xOworLSAgICAgICAgICAgICAgICBpZihsaW1pdDEgPCAxKQorKyAgICAgICAgICAgICAgICBpZiAobGltaXQxIDwgMSB8fCAhbGVuMSkKKyAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICBjb2RlID0gKHMtPmJpdHNbcDBdW2cmMjU1XSA8PCBsZW4xKSArIHMtPmJpdHNbcDFdW2ImMjU1XTsKKyAgICAgICAgICAgICAgICAgZm9yKHI9LTE2OyByPDE2OyByKyspeworICAgICAgICAgICAgICAgICAgICAgaW50IGxlbjIgPSBzLT5sZW5bMl1bciYyNTVdOworLSAgICAgICAgICAgICAgICAgICAgaWYobGVuMiA+IGxpbWl0MSkKKysgICAgICAgICAgICAgICAgICAgIGlmIChsZW4yID4gbGltaXQxIHx8ICFsZW4yKQorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICAgbGVuW2ldID0gbGVuMCArIGxlbjEgKyBsZW4yOworICAgICAgICAgICAgICAgICAgICAgYml0c1tpXSA9IChjb2RlIDw8IGxlbjIpICsgcy0+Yml0c1syXVtyJjI1NV07CistLSAKKzEuOC41LjIuMjMzLmc5MzJmN2U0CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1sYXZmLWNvbXB1dGUtcHJvYmUtYnVmZmVyLXNpemUtbW9yZS1yZWxpYWJseS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1sYXZmLWNvbXB1dGUtcHJvYmUtYnVmZmVyLXNpemUtbW9yZS1yZWxpYWJseS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTRhYTIyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLWxhdmYtY29tcHV0ZS1wcm9iZS1idWZmZXItc2l6ZS1tb3JlLXJlbGlhYmx5LnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK2dzdC1mZm1wZWc6IGxhdmY6IGNvbXB1dGUgcHJvYmUgYnVmZmVyIHNpemUgbW9yZSByZWxpYWJseS4KKworVGhlIHByZXZpb3VzIGNvZGUgY29tcHV0ZXMgdGhlIG9mZnNldCBieSByZXZlcnNpbmcgdGhlIGdyb3d0aAorb2YgdGhlIGFsbG9jYXRlZCBidWZmZXIgc2l6ZTogaXQgaXMgY29tcGxleCBhbmQgZGlkIGxlYWQgdG8KK2luY29uc2lzdGVuY2llcyB3aGVuIHRoZSBzaXplIGxpbWl0IGlzIHJlYWNoZWQuCisKK0ZpeCB0cmFjIHRpY2tldCAjMTk5MS4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDAzODQ3ZWI4MjU5MjkxYjRmZjFiZDg0MGJkNzc5ZDA2OTlkNzFmOTYpCisKK0NvbmZsaWN0czoKKwlsaWJhdmZvcm1hdC91dGlscy5jCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorCistLS0KKyBsaWJhdmZvcm1hdC91dGlscy5jIHwgICAgNCArKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmZvcm1hdC91dGlscy5jIGIvbGliYXZmb3JtYXQvdXRpbHMuYworaW5kZXggNzk0MDAzNy4uYmU3M2M0YSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmZvcm1hdC91dGlscy5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZmb3JtYXQvdXRpbHMuYworQEAgLTQ1OSw3ICs0NTksNyBAQCBpbnQgYXZfcHJvYmVfaW5wdXRfYnVmZmVyKEFWSU9Db250ZXh0ICpwYiwgQVZJbnB1dEZvcm1hdCAqKmZtdCwKKyB7CisgICAgIEFWUHJvYmVEYXRhIHBkID0geyBmaWxlbmFtZSA/IGZpbGVuYW1lIDogIiIsIE5VTEwsIC1vZmZzZXQgfTsKKyAgICAgdW5zaWduZWQgY2hhciAqYnVmID0gTlVMTDsKKy0gICAgaW50IHJldCA9IDAsIHByb2JlX3NpemU7CisrICAgIGludCByZXQgPSAwLCBwcm9iZV9zaXplLCBidWZfb2Zmc2V0ID0gMDsKKyAKKyAgICAgaWYgKCFtYXhfcHJvYmVfc2l6ZSkgeworICAgICAgICAgbWF4X3Byb2JlX3NpemUgPSBQUk9CRV9CVUZfTUFYOworQEAgLTQ5OSw3ICs0OTksNyBAQCBpbnQgYXZfcHJvYmVfaW5wdXRfYnVmZmVyKEFWSU9Db250ZXh0ICpwYiwgQVZJbnB1dEZvcm1hdCAqKmZtdCwKKyAgICAgICAgICAgICBzY29yZSA9IDA7CisgICAgICAgICAgICAgcmV0ID0gMDsgICAgICAgICAgICAvKiBlcnJvciB3YXMgZW5kIG9mIGZpbGUsIG5vdGhpbmcgcmVhZCAqLworICAgICAgICAgfQorLSAgICAgICAgcGQuYnVmX3NpemUgKz0gcmV0OworKyAgICAgICAgcGQuYnVmX3NpemUgPSBidWZfb2Zmc2V0ICs9IHJldDsKKyAgICAgICAgIHBkLmJ1ZiA9ICZidWZbb2Zmc2V0XTsKKyAKKyAgICAgICAgIG1lbXNldChwZC5idWYgKyBwZC5idWZfc2l6ZSwgMCwgQVZQUk9CRV9QQURESU5HX1NJWkUpOworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1tanBlZ2RlYy1jaGVjay1TRS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1tanBlZ2RlYy1jaGVjay1TRS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTBiYWZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLW1qcGVnZGVjLWNoZWNrLVNFLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gMWY0MWNmZmUxZTNlNzk2MjBmNTg3NTQ1YmRmY2JkN2U2ZTY4ZWQyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBTdW4sIDExIE5vdiAyMDEyIDAwOjAxOjI0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1qcGVnZGVjOiBjaGVjayBTRS4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitDb21taXQgMWY0MWNmZmUxZTNlNzk2MjBmNTg3NTQ1YmRmY2JkN2U2ZTY4ZWQyOSByZWxlYXNlLzEuMQorCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CistLS0KKyBsaWJhdmNvZGVjL21qcGVnZGVjLmMgfCA1ICsrKysrCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9tanBlZ2RlYy5jIGIvbGliYXZjb2RlYy9tanBlZ2RlYy5jCitpbmRleCA2YjUyNjZkLi4wYTcxYTZmIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvbWpwZWdkZWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvbWpwZWdkZWMuYworQEAgLTkwNSw2ICs5MDUsMTEgQEAgc3RhdGljIGludCBtanBlZ19kZWNvZGVfc2Nhbl9wcm9ncmVzc2l2ZQorICAgICBpbnQxNl90ICpxdWFudF9tYXRyaXggPSBzLT5xdWFudF9tYXRyaXhlc1sgcy0+cXVhbnRfaW5kZXhbY10gXTsKKyAgICAgR2V0Qml0Q29udGV4dCBtYl9iaXRtYXNrX2diOworIAorKyAgICBpZiAoc2UgPiA2MykgeworKyAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfRVJST1IsICJTRSAlZCBpcyB0b28gbGFyZ2VcbiIsIHNlKTsKKysgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOworKyAgICB9CisrCisgICAgIGlmIChtYl9iaXRtYXNrKSB7CisgICAgICAgICBpbml0X2dldF9iaXRzKCZtYl9iaXRtYXNrX2diLCBtYl9iaXRtYXNrLCBzLT5tYl93aWR0aCpzLT5tYl9oZWlnaHQpOworICAgICB9CistLSAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1wZ3NzdWJkZWMtY2hlY2stUkxFLXNpemUtYmVmb3JlLWNvcHlpbmcuLUZpeC1vdXQtb2YtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXBnc3N1YmRlYy1jaGVjay1STEUtc2l6ZS1iZWZvcmUtY29weWluZy4tRml4LW91dC1vZi0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA0MTM0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1wZ3NzdWJkZWMtY2hlY2stUkxFLXNpemUtYmVmb3JlLWNvcHlpbmcuLUZpeC1vdXQtb2YtLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gMjhiZjY4NWJmYzZkMGM3NDQzNjljZGYzNjdmNjFhNzhkODBkMGIwMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBUaHUsIDE1IE5vdiAyMDEyIDE2OjQxOjI4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHBnc3N1YmRlYzogY2hlY2sgUkxFIHNpemUgYmVmb3JlIGNvcHlpbmcuIEZpeCBvdXQgb2YgYXJyYXkKKyBhY2Nlc3NlcworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0NvbW1pdCAyOGJmNjg1YmZjNmQwYzc0NDM2OWNkZjM2N2Y2MWE3OGQ4MGQwYjAxIHJlbGVhc2UvMS4xCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGMwZDY4YmU1NTVmNTg1ODcwMzM4MzA0MGUwNGZjZDY1Mjk3NzcwNjEpCistLS0KKyBsaWJhdmNvZGVjL3Bnc3N1YmRlYy5jIHwgNSArKysrKworIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvcGdzc3ViZGVjLmMgYi9saWJhdmNvZGVjL3Bnc3N1YmRlYy5jCitpbmRleCA3MjhmMTc4Li4yNmEzYzJhIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcGdzc3ViZGVjLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3Bnc3N1YmRlYy5jCitAQCAtMjAyLDYgKzIwMiwxMSBAQCBzdGF0aWMgaW50IHBhcnNlX3BpY3R1cmVfc2VnbWVudChBVkNvZGVjCisgICAgICAgICByZXR1cm4gLTE7CisgICAgIH0KKyAKKysgICAgaWYgKGJ1Zl9zaXplID4gcmxlX2JpdG1hcF9sZW4pIHsKKysgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VSUk9SLCAidG9vIG11Y2ggUkxFIGRhdGFcbiIpOworKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisrICAgIH0KKysKKyAgICAgY3R4LT5waWN0dXJlLncgPSB3aWR0aDsKKyAgICAgY3R4LT5waWN0dXJlLmggPSBoZWlnaHQ7CisgCistLSAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1wbmdkZWMtZmlsdGVyLWRvbnQtYWNjZXNzLW91dC1vZi1hcnJheS1lbGVtZW50cy1hdC10LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXBuZ2RlYy1maWx0ZXItZG9udC1hY2Nlc3Mtb3V0LW9mLWFycmF5LWVsZW1lbnRzLWF0LXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWU1ZmI3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1wbmdkZWMtZmlsdGVyLWRvbnQtYWNjZXNzLW91dC1vZi1hcnJheS1lbGVtZW50cy1hdC10LnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK2dzdC1mZm1wZWc6IHBuZ2RlYy9maWx0ZXI6IGRvbnQgYWNjZXNzIG91dCBvZiBhcnJheSBlbGVtZW50cyBhdCB0aGUgZW5kCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IAorCitTaWduZWQtb2ZmLWJ5OiBZdWUgVGFvIDx5dWUudGFvQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJhdmNvZGVjL3BuZ2RlYy5jIHwgICAxMiArKysrLS0tLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvcG5nZGVjLmMgYi9saWJhdmNvZGVjL3BuZ2RlYy5jCitpbmRleCA5N2MwYWQxLi4xOTNlMzVlIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcG5nZGVjLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3BuZ2RlYy5jCitAQCAtMTkwLDcgKzE5MCw3IEBAIHZvaWQgZmZfYWRkX3BuZ19wYWV0aF9wcmVkaWN0aW9uKHVpbnQ4X3QgKmRzdCwgdWludDhfdCAqc3JjLCB1aW50OF90ICp0b3AsIGludCB3CisgICAgIGlmKGJwcCA+PSAyKSBnID0gZHN0WzFdO1wKKyAgICAgaWYoYnBwID49IDMpIGIgPSBkc3RbMl07XAorICAgICBpZihicHAgPj0gNCkgYSA9IGRzdFszXTtcCistICAgIGZvcig7IGkgPCBzaXplOyBpKz1icHApIHtcCisrICAgIGZvcig7IGkgPD0gc2l6ZSAtIGJwcDsgaSs9YnBwKSB7XAorICAgICAgICAgZHN0W2krMF0gPSByID0gb3Aociwgc3JjW2krMF0sIGxhc3RbaSswXSk7XAorICAgICAgICAgaWYoYnBwID09IDEpIGNvbnRpbnVlO1wKKyAgICAgICAgIGRzdFtpKzFdID0gZyA9IG9wKGcsIHNyY1tpKzFdLCBsYXN0W2krMV0pO1wKK0BAIC0yMDYsMTMgKzIwNiw5IEBAIHZvaWQgZmZfYWRkX3BuZ19wYWV0aF9wcmVkaWN0aW9uKHVpbnQ4X3QgKmRzdCwgdWludDhfdCAqc3JjLCB1aW50OF90ICp0b3AsIGludCB3CisgICAgIGVsc2UgaWYoYnBwID09IDIpIFVOUk9MTDEoMiwgb3ApXAorICAgICBlbHNlIGlmKGJwcCA9PSAzKSBVTlJPTEwxKDMsIG9wKVwKKyAgICAgZWxzZSBpZihicHAgPT0gNCkgVU5ST0xMMSg0LCBvcClcCistICAgIGVsc2Uge1wKKy0gICAgICAgIGZvciAoOyBpIDwgc2l6ZTsgaSArPSBicHApIHtcCistICAgICAgICAgICAgaW50IGo7XAorLSAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBicHA7IGorKylcCistICAgICAgICAgICAgICAgIGRzdFtpK2pdID0gb3AoZHN0W2krai1icHBdLCBzcmNbaStqXSwgbGFzdFtpK2pdKTtcCistICAgICAgICB9XAorLSAgICB9CisrICAgIGZvciAoOyBpIDwgc2l6ZTsgaSsrKSB7XAorKyAgICAgICAgZHN0W2ldID0gb3AoZHN0W2ktYnBwXSwgc3JjW2ldLCBsYXN0W2ldKTtcCisrICAgIH1cCisgCisgLyogTk9URTogJ2RzdCcgY2FuIGJlIGVxdWFsIHRvICdsYXN0JyAqLworIHN0YXRpYyB2b2lkIHBuZ19maWx0ZXJfcm93KFBOR0RTUENvbnRleHQgKmRzcCwgdWludDhfdCAqZHN0LCBpbnQgZmlsdGVyX3R5cGUsCistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXFkbTItY2hlY2stYXJyYXktaW5kZXgtYmVmb3JlLXVzZS1maXgtb3V0LW9mLWFycmF5LWEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtcWRtMi1jaGVjay1hcnJheS1pbmRleC1iZWZvcmUtdXNlLWZpeC1vdXQtb2YtYXJyYXktYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Yzk0MjMyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXFkbTItY2hlY2stYXJyYXktaW5kZXgtYmVmb3JlLXVzZS1maXgtb3V0LW9mLWFycmF5LWEucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorZ3N0LWZmbXBlZzogcWRtMjogY2hlY2sgYXJyYXkgaW5kZXggYmVmb3JlIHVzZSwgZml4IG91dCBvZiBhcnJheQorIGFjY2Vzc2VzCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvcWRtMi5jIHwgICAgNSArKysrKworIDEgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9xZG0yLmMgYi9saWJhdmNvZGVjL3FkbTIuYworaW5kZXggNGNmNGIyZi4uMWRmYjhkNSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3FkbTIuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcWRtMi5jCitAQCAtMTI1Nyw2ICsxMjU3LDExIEBAIHN0YXRpYyB2b2lkIHFkbTJfZGVjb2RlX3N1cGVyX2Jsb2NrIChRRE0yQ29udGV4dCAqcSkKKyAgICAgZm9yIChpID0gMDsgcGFja2V0X2J5dGVzID4gMDsgaSsrKSB7CisgICAgICAgICBpbnQgajsKKyAKKysgICAgICAgIGlmIChpPj1GRl9BUlJBWV9FTEVNUyhxLT5zdWJfcGFja2V0X2xpc3RfQSkpIHsKKysgICAgICAgICAgICBTQU1QTEVTX05FRURFRF8yKCJ0b28gbWFueSBwYWNrZXQgYnl0ZXMiKTsKKysgICAgICAgICAgICByZXR1cm47CisrICAgICAgICB9CisrCisgICAgICAgICBxLT5zdWJfcGFja2V0X2xpc3RfQVtpXS5uZXh0ID0gTlVMTDsKKyAKKyAgICAgICAgIGlmIChpID4gMCkgeworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1xZG0yZGVjLWZpeC1idWZmZXItb3ZlcmZsb3cucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtcWRtMmRlYy1maXgtYnVmZmVyLW92ZXJmbG93LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzZmZjMDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtcWRtMmRlYy1maXgtYnVmZmVyLW92ZXJmbG93LnBhdGNoCkBAIC0wLDAgKzEsNTggQEAKK2dzdC1mZm1wZWc6IHFkbTJkZWM6IGZpeCBidWZmZXIgb3ZlcmZsb3cuIEZpeGVzIE5HUzAwMTQ0CisKK1RoaXMgYWxzbyBhZGRzIGEgZmV3IGxpbmVzIG9mIGNvZGUgZnJvbSBtYXN0ZXIgdGhhdCBhcmUgbmVlZGVkIGZvciB0aGlzIGZpeC4KKworVGhhbmtzIHRvIFBoaWxsaXAgZm9yIHN1Z2dlc3Rpb25zIHRvIGltcHJvdmUgdGhlIHBhdGNoLgorRm91bmQtYnk6IFBoaWxsaXAgTGFuZ2xvaXMKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvcWRtMi5jIHwgICAgOSArKysrKysrLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvcWRtMi5jIGIvbGliYXZjb2RlYy9xZG0yLmMKK2luZGV4IDNhYTllNWIuLmUwMDBkZjggMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9xZG0yLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3FkbTIuYworQEAgLTc2LDYgKzc2LDcgQEAgZG8geyBcCisgI2RlZmluZSBTQU1QTEVTX05FRURFRF8yKHdoeSkgXAorICAgICAgYXZfbG9nIChOVUxMLEFWX0xPR19JTkZPLCJUaGlzIGZpbGUgdHJpZ2dlcnMgc29tZSBtaXNzaW5nIGNvZGUuIFBsZWFzZSBjb250YWN0IHRoZSBkZXZlbG9wZXJzLlxuUG9zaXRpb246ICVzXG4iLHdoeSk7CisgCisrI2RlZmluZSBRRE0yX01BWF9GUkFNRV9TSVpFIDUxMgorIAorIHR5cGVkZWYgaW50OF90IHNiX2ludDhfYXJyYXlbMl1bMzBdWzY0XTsKKyAKK0BAIC0xNjgsNyArMTY5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgeworICAgICAvLy8gSS9PIGRhdGEKKyAgICAgY29uc3QgdWludDhfdCAqY29tcHJlc3NlZF9kYXRhOworICAgICBpbnQgY29tcHJlc3NlZF9zaXplOworLSAgICBmbG9hdCBvdXRwdXRfYnVmZmVyWzEwMjRdOworKyAgICBmbG9hdCBvdXRwdXRfYnVmZmVyW1FETTJfTUFYX0ZSQU1FX1NJWkUgKiBNUEFfTUFYX0NIQU5ORUxTICogMl07CisgCisgICAgIC8vLyBTeW50aGVzaXMgZmlsdGVyCisgICAgIE1QQURTUENvbnRleHQgbXBhZHNwOworQEAgLTE4MTksNiArMTgyMCw5IEBAIHN0YXRpYyBhdl9jb2xkIGludCBxZG0yX2RlY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKKyAgICAgcy0+Z3JvdXBfb3JkZXIgPSBhdl9sb2cyKHMtPmdyb3VwX3NpemUpICsgMTsKKyAgICAgcy0+ZnJhbWVfc2l6ZSA9IHMtPmdyb3VwX3NpemUgLyAxNjsgLy8gMTYgaXRlcmF0aW9ucyBwZXIgc3VwZXIgYmxvY2sKKyAKKysgICAgaWYgKHMtPmZyYW1lX3NpemUgPiBRRE0yX01BWF9GUkFNRV9TSVpFKQorKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisrCisgICAgIHMtPnN1Yl9zYW1wbGluZyA9IHMtPmZmdF9vcmRlciAtIDc7CisgICAgIHMtPmZyZXF1ZW5jeV9yYW5nZSA9IDI1NSAvICgxIDw8ICgyIC0gcy0+c3ViX3NhbXBsaW5nKSk7CisgCitAQCAtMTg4Nyw2ICsxODkxLDkgQEAgc3RhdGljIGludCBxZG0yX2RlY29kZSAoUURNMkNvbnRleHQgKnEsIGNvbnN0IHVpbnQ4X3QgKmluLCBpbnQxNl90ICpvdXQpCisgICAgIGludCBjaCwgaTsKKyAgICAgY29uc3QgaW50IGZyYW1lX3NpemUgPSAocS0+ZnJhbWVfc2l6ZSAqIHEtPmNoYW5uZWxzKTsKKyAKKysgICAgaWYoKHVuc2lnbmVkKWZyYW1lX3NpemUgPiBGRl9BUlJBWV9FTEVNUyhxLT5vdXRwdXRfYnVmZmVyKS8yKQorKyAgICAgICAgcmV0dXJuIC0xOworKworICAgICAvKiBzZWxlY3QgaW5wdXQgYnVmZmVyICovCisgICAgIHEtPmNvbXByZXNzZWRfZGF0YSA9IGluOworICAgICBxLT5jb21wcmVzc2VkX3NpemUgPSBxLT5jaGVja3N1bV9zaXplOworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1yb3F2aWRlb2RlYy1jaGVjay1kaW1lbnNpb25zLXZhbGlkaXR5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXJvcXZpZGVvZGVjLWNoZWNrLWRpbWVuc2lvbnMtdmFsaWRpdHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U1OGFmYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS1yb3F2aWRlb2RlYy1jaGVjay1kaW1lbnNpb25zLXZhbGlkaXR5LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gMzkxZTBmYzZjOTBjZWQ2NjU2Yjc0ZjUwZjNhNDg3YjZkYzc2ZWE2MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBUaHUsIDI5IE5vdiAyMDEyIDE1OjE4OjE3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHJvcXZpZGVvZGVjOiBjaGVjayBkaW1lbnNpb25zIHZhbGlkaXR5CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworQ29tbWl0IDM5MWUwZmM2YzkwY2VkNjY1NmI3NGY1MGYzYTQ4N2I2ZGM3NmVhNjMgcmVsZWFzZS8wLjcKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgM2FlNjEwNDUxMTcwY2Q1YTI4YjMzOTUwMDA2ZmYwYmQyMzAzNjg0NSkKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvcm9xdmlkZW9kZWMuYyB8IDYgKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9yb3F2aWRlb2RlYy5jIGIvbGliYXZjb2RlYy9yb3F2aWRlb2RlYy5jCitpbmRleCBmMDk3N2Y2Li40ZTM0MjMxIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcm9xdmlkZW9kZWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcm9xdmlkZW9kZWMuYworQEAgLTE1Nyw2ICsxNTcsMTIgQEAgc3RhdGljIGF2X2NvbGQgaW50IHJvcV9kZWNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCisgICAgIFJvcUNvbnRleHQgKnMgPSBhdmN0eC0+cHJpdl9kYXRhOworIAorICAgICBzLT5hdmN0eCA9IGF2Y3R4OworKworKyAgICBpZiAoYXZjdHgtPndpZHRoJTE2IHx8IGF2Y3R4LT5oZWlnaHQlMTYpIHsKKysgICAgICAgICBhdl9sb2dfYXNrX2Zvcl9zYW1wbGUoYXZjdHgsICJkaW1lbnNpb25zIG5vdCBiZWluZyBhIG11bHRpcGxlIG9mIDE2IGFyZSB1bnN1cHBvcnRlZFxuIik7CisrICAgICAgICAgcmV0dXJuIEFWRVJST1JfUEFUQ0hXRUxDT01FOworKyAgICB9CisrCisgICAgIHMtPndpZHRoID0gYXZjdHgtPndpZHRoOworICAgICBzLT5oZWlnaHQgPSBhdmN0eC0+aGVpZ2h0OworICAgICBhdmNvZGVjX2dldF9mcmFtZV9kZWZhdWx0cygmcy0+ZnJhbWVzWzBdKTsKKy0tIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXNtYWNrZXJkZWMtQ2hlY2stdGhhdC10aGUtbGFzdC1pbmRleGVzLWFyZS13aXRoaW4tdGgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtc21hY2tlcmRlYy1DaGVjay10aGF0LXRoZS1sYXN0LWluZGV4ZXMtYXJlLXdpdGhpbi10aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNWIxNjE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXNtYWNrZXJkZWMtQ2hlY2stdGhhdC10aGUtbGFzdC1pbmRleGVzLWFyZS13aXRoaW4tdGgucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorZ3N0LWZmbXBlZzogc21hY2tlcmRlYzogQ2hlY2sgdGhhdCB0aGUgbGFzdCBpbmRleGVzIGFyZSB3aXRoaW4gdGhlCisgdGFibGUuCisKK0ZpeGVzIENWRS0yMDExLTM5NDQKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorLS0tCisgbGliYXZjb2RlYy9zbWFja2VyLmMgfCAgICA1ICsrKysrCisgMSBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL3NtYWNrZXIuYyBiL2xpYmF2Y29kZWMvc21hY2tlci5jCitpbmRleCAzMGY5OWI0Li4yYThiYWU4IDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvc21hY2tlci5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9zbWFja2VyLmMKK0BAIC0yNTksNiArMjU5LDExIEBAIHN0YXRpYyBpbnQgc21hY2tlcl9kZWNvZGVfaGVhZGVyX3RyZWUoU21hY2tWQ29udGV4dCAqc21rLCBHZXRCaXRDb250ZXh0ICpnYiwgaW50CisgICAgIGlmKGN0eC5sYXN0WzBdID09IC0xKSBjdHgubGFzdFswXSA9IGh1ZmYuY3VycmVudCsrOworICAgICBpZihjdHgubGFzdFsxXSA9PSAtMSkgY3R4Lmxhc3RbMV0gPSBodWZmLmN1cnJlbnQrKzsKKyAgICAgaWYoY3R4Lmxhc3RbMl0gPT0gLTEpIGN0eC5sYXN0WzJdID0gaHVmZi5jdXJyZW50Kys7CisrICAgIGlmKGh1ZmYuY3VycmVudCA+IGh1ZmYubGVuZ3RoKXsKKysgICAgICAgIGN0eC5sYXN0WzBdID0gY3R4Lmxhc3RbMV0gPSBjdHgubGFzdFsyXSA9IDE7CisrICAgICAgICBhdl9sb2coc21rLT5hdmN0eCwgQVZfTE9HX0VSUk9SLCAiYmlndHJlZSBkYW1hZ2VkXG4iKTsKKysgICAgICAgIHJldHVybiAtMTsKKysgICAgfQorIAorICAgICAqcmVjb2RlcyA9IGh1ZmYudmFsdWVzOworIAorLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS12cDMtQ29weS1hbGwtMy1mcmFtZXMtZm9yLXRocmVhZC11cGRhdGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXZwMy1Db3B5LWFsbC0zLWZyYW1lcy1mb3ItdGhyZWFkLXVwZGF0ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE5ODljZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS12cDMtQ29weS1hbGwtMy1mcmFtZXMtZm9yLXRocmVhZC11cGRhdGVzLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK2dzdC1mZm1wZWc6IHZwMzogQ29weSBhbGwgMyBmcmFtZXMgZm9yIHRocmVhZCB1cGRhdGVzLgorCitUaGlzIGZpeGVzIGEgZG91YmxlIHJlbGVhc2Ugb2YgdGhlIGN1cnJlbnQgZnJhbWUgb24gZGVpbml0LgorRml4ZXMgQ1ZFLTIwMTEtMzkzNAorCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogWXVlLlRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorCistLS0KKyBsaWJhdmNvZGVjL3ZwMy5jIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy92cDMuYyBiL2xpYmF2Y29kZWMvdnAzLmMKK2luZGV4IDczOGFlOWYuLmI1ZGFhZmMgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy92cDMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvdnAzLmMKK0BAIC0xODU5LDcgKzE4NTksNyBAQCBzdGF0aWMgaW50IHZwM191cGRhdGVfdGhyZWFkX2NvbnRleHQoQVZDb2RlY0NvbnRleHQgKmRzdCwgY29uc3QgQVZDb2RlY0NvbnRleHQgKgorICAgICAgICAgfHxzLT53aWR0aCAhPSBzMS0+d2lkdGgKKyAgICAgICAgIHx8cy0+aGVpZ2h0IT0gczEtPmhlaWdodCkgeworICAgICAgICAgaWYgKHMgIT0gczEpCistICAgICAgICAgICAgY29weV9maWVsZHMocywgczEsIGdvbGRlbl9mcmFtZSwgY3VycmVudF9mcmFtZSk7CisrICAgICAgICAgICAgY29weV9maWVsZHMocywgczEsIGdvbGRlbl9mcmFtZSwga2V5ZnJhbWUpOworICAgICAgICAgcmV0dXJuIC0xOworICAgICB9CisgCistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXZwMy1maXgtb29iLXJlYWQtZm9yLW5lZ2F0aXZlLXRva2Vucy1hbmQtbWVtbGVha3Mtb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzLzAwMDEtdnAzLWZpeC1vb2ItcmVhZC1mb3ItbmVnYXRpdmUtdG9rZW5zLWFuZC1tZW1sZWFrcy1vbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODNkOGY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXZwMy1maXgtb29iLXJlYWQtZm9yLW5lZ2F0aXZlLXRva2Vucy1hbmQtbWVtbGVha3Mtb24ucGF0Y2gKQEAgLTAsMCArMSwxODMgQEAKK2dzdC1mZm1wZWc6IHZwMzogZml4IG9vYiByZWFkIGZvciBuZWdhdGl2ZSB0b2tlbnMgYW5kIG1lbWxlYWtzIG9uIGVycm9yLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IAorCitTaWduZWQtb2ZmLWJ5OiBZdWUuVGFvIDx5dWUudGFvQHdpbmRyaXZlci5jb20+CisKKy0tLQorIGxpYmF2Y29kZWMvdnAzLmMgfCAgIDU5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnAzLmMgYi9saWJhdmNvZGVjL3ZwMy5jCitpbmRleCAzNjcxNWJiLi5jZTE0ZTYzIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvdnAzLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3ZwMy5jCitAQCAtNDUsNiArNDUsNyBAQAorICNkZWZpbmUgRlJBR01FTlRfUElYRUxTIDgKKyAKKyBzdGF0aWMgYXZfY29sZCBpbnQgdnAzX2RlY29kZV9lbmQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KTsKKytzdGF0aWMgdm9pZCB2cDNfZGVjb2RlX2ZsdXNoKEFWQ29kZWNDb250ZXh0ICphdmN0eCk7CisgCisgLy9GSVhNRSBzcGxpdCB0aGluZ3Mgb3V0IGludG8gdGhlaXIgb3duIGFycmF5cworIHR5cGVkZWYgc3RydWN0IFZwM0ZyYWdtZW50IHsKK0BAIC04OTAsNyArODkxLDcgQEAgc3RhdGljIGludCB1bnBhY2tfdmxjcyhWcDNEZWNvZGVDb250ZXh0ICpzLCBHZXRCaXRDb250ZXh0ICpnYiwKKyAgICAgICAgICAgICAvKiBkZWNvZGUgYSBWTEMgaW50byBhIHRva2VuICovCisgICAgICAgICAgICAgdG9rZW4gPSBnZXRfdmxjMihnYiwgdmxjX3RhYmxlLCAxMSwgMyk7CisgICAgICAgICAgICAgLyogdXNlIHRoZSB0b2tlbiB0byBnZXQgYSB6ZXJvIHJ1biwgYSBjb2VmZmljaWVudCwgYW5kIGFuIGVvYiBydW4gKi8KKy0gICAgICAgICAgICBpZiAodG9rZW4gPD0gNikgeworKyAgICAgICAgICAgIGlmICgodW5zaWduZWQpIHRva2VuIDw9IDZVKSB7CisgICAgICAgICAgICAgICAgIGVvYl9ydW4gPSBlb2JfcnVuX2Jhc2VbdG9rZW5dOworICAgICAgICAgICAgICAgICBpZiAoZW9iX3J1bl9nZXRfYml0c1t0b2tlbl0pCisgICAgICAgICAgICAgICAgICAgICBlb2JfcnVuICs9IGdldF9iaXRzKGdiLCBlb2JfcnVuX2dldF9iaXRzW3Rva2VuXSk7CitAQCAtOTA4LDcgKzkwOSw3IEBAIHN0YXRpYyBpbnQgdW5wYWNrX3ZsY3MoVnAzRGVjb2RlQ29udGV4dCAqcywgR2V0Qml0Q29udGV4dCAqZ2IsCisgICAgICAgICAgICAgICAgICAgICBjb2VmZl9pICAgICAgICArPSBlb2JfcnVuOworICAgICAgICAgICAgICAgICAgICAgZW9iX3J1biA9IDA7CisgICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgIH0gZWxzZSBpZiAodG9rZW4gPj0gMCkgeworICAgICAgICAgICAgICAgICBiaXRzX3RvX2dldCA9IGNvZWZmX2dldF9iaXRzW3Rva2VuXTsKKyAgICAgICAgICAgICAgICAgaWYgKGJpdHNfdG9fZ2V0KQorICAgICAgICAgICAgICAgICAgICAgYml0c190b19nZXQgPSBnZXRfYml0cyhnYiwgYml0c190b19nZXQpOworQEAgLTk0Miw2ICs5NDMsMTAgQEAgc3RhdGljIGludCB1bnBhY2tfdmxjcyhWcDNEZWNvZGVDb250ZXh0ICpzLCBHZXRCaXRDb250ZXh0ICpnYiwKKyAgICAgICAgICAgICAgICAgZm9yIChpID0gY29lZmZfaW5kZXgrMTsgaSA8PSBjb2VmZl9pbmRleCt6ZXJvX3J1bjsgaSsrKQorICAgICAgICAgICAgICAgICAgICAgcy0+bnVtX2NvZGVkX2ZyYWdzW3BsYW5lXVtpXS0tOworICAgICAgICAgICAgICAgICBjb2VmZl9pKys7CisrICAgICAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfRVJST1IsCisrICAgICAgICAgICAgICAgICAgICAgICAiSW52YWxpZCB0b2tlbiAlZFxuIiwgdG9rZW4pOworKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgfQorICAgICB9CisgCitAQCAtOTkxLDYgKzk5Niw4IEBAIHN0YXRpYyBpbnQgdW5wYWNrX2RjdF9jb2VmZnMoVnAzRGVjb2RlQ29udGV4dCAqcywgR2V0Qml0Q29udGV4dCAqZ2IpCisgICAgIC8qIHVucGFjayB0aGUgWSBwbGFuZSBEQyBjb2VmZmljaWVudHMgKi8KKyAgICAgcmVzaWR1YWxfZW9iX3J1biA9IHVucGFja192bGNzKHMsIGdiLCAmcy0+ZGNfdmxjW2RjX3lfdGFibGVdLCAwLAorICAgICAgICAgMCwgcmVzaWR1YWxfZW9iX3J1bik7CisrICAgIGlmIChyZXNpZHVhbF9lb2JfcnVuIDwgMCkKKysgICAgICAgIHJldHVybiByZXNpZHVhbF9lb2JfcnVuOworIAorICAgICAvKiByZXZlcnNlIHByZWRpY3Rpb24gb2YgdGhlIFktcGxhbmUgREMgY29lZmZpY2llbnRzICovCisgICAgIHJldmVyc2VfZGNfcHJlZGljdGlvbihzLCAwLCBzLT5mcmFnbWVudF93aWR0aFswXSwgcy0+ZnJhZ21lbnRfaGVpZ2h0WzBdKTsKK0BAIC05OTgsOCArMTAwNSwxMiBAQCBzdGF0aWMgaW50IHVucGFja19kY3RfY29lZmZzKFZwM0RlY29kZUNvbnRleHQgKnMsIEdldEJpdENvbnRleHQgKmdiKQorICAgICAvKiB1bnBhY2sgdGhlIEMgcGxhbmUgREMgY29lZmZpY2llbnRzICovCisgICAgIHJlc2lkdWFsX2VvYl9ydW4gPSB1bnBhY2tfdmxjcyhzLCBnYiwgJnMtPmRjX3ZsY1tkY19jX3RhYmxlXSwgMCwKKyAgICAgICAgIDEsIHJlc2lkdWFsX2VvYl9ydW4pOworKyAgICBpZiAocmVzaWR1YWxfZW9iX3J1biA8IDApCisrICAgICAgICByZXR1cm4gcmVzaWR1YWxfZW9iX3J1bjsKKyAgICAgcmVzaWR1YWxfZW9iX3J1biA9IHVucGFja192bGNzKHMsIGdiLCAmcy0+ZGNfdmxjW2RjX2NfdGFibGVdLCAwLAorICAgICAgICAgMiwgcmVzaWR1YWxfZW9iX3J1bik7CisrICAgIGlmIChyZXNpZHVhbF9lb2JfcnVuIDwgMCkKKysgICAgICAgIHJldHVybiByZXNpZHVhbF9lb2JfcnVuOworIAorICAgICAvKiByZXZlcnNlIHByZWRpY3Rpb24gb2YgdGhlIEMtcGxhbmUgREMgY29lZmZpY2llbnRzICovCisgICAgIGlmICghKHMtPmF2Y3R4LT5mbGFncyAmIENPREVDX0ZMQUdfR1JBWSkpCitAQCAtMTAzNiwxMSArMTA0NywxNyBAQCBzdGF0aWMgaW50IHVucGFja19kY3RfY29lZmZzKFZwM0RlY29kZUNvbnRleHQgKnMsIEdldEJpdENvbnRleHQgKmdiKQorICAgICBmb3IgKGkgPSAxOyBpIDw9IDYzOyBpKyspIHsKKyAgICAgICAgICAgICByZXNpZHVhbF9lb2JfcnVuID0gdW5wYWNrX3ZsY3MocywgZ2IsIHlfdGFibGVzW2ldLCBpLAorICAgICAgICAgICAgICAgICAwLCByZXNpZHVhbF9lb2JfcnVuKTsKKysgICAgICAgICAgICBpZiAocmVzaWR1YWxfZW9iX3J1biA8IDApCisrICAgICAgICAgICAgICAgIHJldHVybiByZXNpZHVhbF9lb2JfcnVuOworIAorICAgICAgICAgICAgIHJlc2lkdWFsX2VvYl9ydW4gPSB1bnBhY2tfdmxjcyhzLCBnYiwgY190YWJsZXNbaV0sIGksCisgICAgICAgICAgICAgICAgIDEsIHJlc2lkdWFsX2VvYl9ydW4pOworKyAgICAgICAgICAgIGlmIChyZXNpZHVhbF9lb2JfcnVuIDwgMCkKKysgICAgICAgICAgICAgICAgcmV0dXJuIHJlc2lkdWFsX2VvYl9ydW47CisgICAgICAgICAgICAgcmVzaWR1YWxfZW9iX3J1biA9IHVucGFja192bGNzKHMsIGdiLCBjX3RhYmxlc1tpXSwgaSwKKyAgICAgICAgICAgICAgICAgMiwgcmVzaWR1YWxfZW9iX3J1bik7CisrICAgICAgICAgICAgaWYgKHJlc2lkdWFsX2VvYl9ydW4gPCAwKQorKyAgICAgICAgICAgICAgICByZXR1cm4gcmVzaWR1YWxfZW9iX3J1bjsKKyAgICAgfQorIAorICAgICByZXR1cm4gMDsKK0BAIC0xNzc3LDEwICsxNzk0LDE1IEBAIHN0YXRpYyBpbnQgdnAzX3VwZGF0ZV90aHJlYWRfY29udGV4dChBVkNvZGVjQ29udGV4dCAqZHN0LCBjb25zdCBBVkNvZGVjQ29udGV4dCAqCisgICAgIFZwM0RlY29kZUNvbnRleHQgKnMgPSBkc3QtPnByaXZfZGF0YSwgKnMxID0gc3JjLT5wcml2X2RhdGE7CisgICAgIGludCBxcHNfY2hhbmdlZCA9IDAsIGksIGVycjsKKyAKKysjZGVmaW5lIGNvcHlfZmllbGRzKHRvLCBmcm9tLCBzdGFydF9maWVsZCwgZW5kX2ZpZWxkKSBtZW1jcHkoJnRvLT5zdGFydF9maWVsZCwgJmZyb20tPnN0YXJ0X2ZpZWxkLCAoY2hhciopJnRvLT5lbmRfZmllbGQgLSAoY2hhciopJnRvLT5zdGFydF9maWVsZCkKKysKKyAgICAgaWYgKCFzMS0+Y3VycmVudF9mcmFtZS5kYXRhWzBdCisgICAgICAgICB8fHMtPndpZHRoICE9IHMxLT53aWR0aAorLSAgICAgICAgfHxzLT5oZWlnaHQhPSBzMS0+aGVpZ2h0KQorKyAgICAgICAgfHxzLT5oZWlnaHQhPSBzMS0+aGVpZ2h0KSB7CisrICAgICAgICBpZiAocyAhPSBzMSkKKysgICAgICAgICAgICBjb3B5X2ZpZWxkcyhzLCBzMSwgZ29sZGVuX2ZyYW1lLCBjdXJyZW50X2ZyYW1lKTsKKyAgICAgICAgIHJldHVybiAtMTsKKysgICAgfQorIAorICAgICBpZiAocyAhPSBzMSkgeworICAgICAgICAgLy8gaW5pdCB0YWJsZXMgaWYgdGhlIGZpcnN0IGZyYW1lIGhhc24ndCBiZWVuIGRlY29kZWQKK0BAIC0xNzk2LDggKzE4MTgsNiBAQCBzdGF0aWMgaW50IHZwM191cGRhdGVfdGhyZWFkX2NvbnRleHQoQVZDb2RlY0NvbnRleHQgKmRzdCwgY29uc3QgQVZDb2RlY0NvbnRleHQgKgorICAgICAgICAgICAgIG1lbWNweShzLT5tb3Rpb25fdmFsWzFdLCBzMS0+bW90aW9uX3ZhbFsxXSwgY19mcmFnbWVudF9jb3VudCAqIHNpemVvZigqcy0+bW90aW9uX3ZhbFsxXSkpOworICAgICAgICAgfQorIAorLSNkZWZpbmUgY29weV9maWVsZHModG8sIGZyb20sIHN0YXJ0X2ZpZWxkLCBlbmRfZmllbGQpIG1lbWNweSgmdG8tPnN0YXJ0X2ZpZWxkLCAmZnJvbS0+c3RhcnRfZmllbGQsIChjaGFyKikmdG8tPmVuZF9maWVsZCAtIChjaGFyKikmdG8tPnN0YXJ0X2ZpZWxkKQorLQorICAgICAgICAgLy8gY29weSBwcmV2aW91cyBmcmFtZSBkYXRhCisgICAgICAgICBjb3B5X2ZpZWxkcyhzLCBzMSwgZ29sZGVuX2ZyYW1lLCBkc3ApOworIAorQEAgLTE5ODcsOSArMjAwNyw2IEBAIHN0YXRpYyBhdl9jb2xkIGludCB2cDNfZGVjb2RlX2VuZChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCisgICAgIFZwM0RlY29kZUNvbnRleHQgKnMgPSBhdmN0eC0+cHJpdl9kYXRhOworICAgICBpbnQgaTsKKyAKKy0gICAgaWYgKGF2Y3R4LT5pc19jb3B5ICYmICFzLT5jdXJyZW50X2ZyYW1lLmRhdGFbMF0pCistICAgICAgICByZXR1cm4gMDsKKy0KKyAgICAgYXZfZnJlZShzLT5zdXBlcmJsb2NrX2NvZGluZyk7CisgICAgIGF2X2ZyZWUocy0+YWxsX2ZyYWdtZW50cyk7CisgICAgIGF2X2ZyZWUocy0+Y29kZWRfZnJhZ21lbnRfbGlzdFswXSk7CitAQCAtMjAxNiwxMiArMjAzMyw3IEBAIHN0YXRpYyBhdl9jb2xkIGludCB2cDNfZGVjb2RlX2VuZChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCisgICAgIGZyZWVfdmxjKCZzLT5tb3Rpb25fdmVjdG9yX3ZsYyk7CisgCisgICAgIC8qIHJlbGVhc2UgYWxsIGZyYW1lcyAqLworLSAgICBpZiAocy0+Z29sZGVuX2ZyYW1lLmRhdGFbMF0pCistICAgICAgICBmZl90aHJlYWRfcmVsZWFzZV9idWZmZXIoYXZjdHgsICZzLT5nb2xkZW5fZnJhbWUpOworLSAgICBpZiAocy0+bGFzdF9mcmFtZS5kYXRhWzBdICYmIHMtPmxhc3RfZnJhbWUudHlwZSAhPSBGRl9CVUZGRVJfVFlQRV9DT1BZKQorLSAgICAgICAgZmZfdGhyZWFkX3JlbGVhc2VfYnVmZmVyKGF2Y3R4LCAmcy0+bGFzdF9mcmFtZSk7CistICAgIC8qIG5vIG5lZWQgdG8gcmVsZWFzZSB0aGUgY3VycmVudF9mcmFtZSBzaW5jZSBpdCB3aWxsIGFsd2F5cyBiZSBwb2ludGluZworLSAgICAgKiB0byB0aGUgc2FtZSBmcmFtZSBhcyBlaXRoZXIgdGhlIGdvbGRlbiBvciBsYXN0IGZyYW1lICovCisrICAgIHZwM19kZWNvZGVfZmx1c2goYXZjdHgpOworIAorICAgICByZXR1cm4gMDsKKyB9CitAQCAtMjM0MSw2ICsyMzUzLDIzIEBAIHN0YXRpYyB2b2lkIHZwM19kZWNvZGVfZmx1c2goQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQorICAgICAgICAgZmZfdGhyZWFkX3JlbGVhc2VfYnVmZmVyKGF2Y3R4LCAmcy0+Y3VycmVudF9mcmFtZSk7CisgfQorIAorK3N0YXRpYyBpbnQgdnAzX2luaXRfdGhyZWFkX2NvcHkoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQorK3sKKysgICAgVnAzRGVjb2RlQ29udGV4dCAqcyA9IGF2Y3R4LT5wcml2X2RhdGE7CisrCisrICAgIHMtPnN1cGVyYmxvY2tfY29kaW5nICAgICAgPSBOVUxMOworKyAgICBzLT5hbGxfZnJhZ21lbnRzICAgICAgICAgID0gTlVMTDsKKysgICAgcy0+Y29kZWRfZnJhZ21lbnRfbGlzdFswXSA9IE5VTEw7CisrICAgIHMtPmRjdF90b2tlbnNfYmFzZSAgICAgICAgPSBOVUxMOworKyAgICBzLT5zdXBlcmJsb2NrX2ZyYWdtZW50cyAgID0gTlVMTDsKKysgICAgcy0+bWFjcm9ibG9ja19jb2RpbmcgICAgICA9IE5VTEw7CisrICAgIHMtPm1vdGlvbl92YWxbMF0gICAgICAgICAgPSBOVUxMOworKyAgICBzLT5tb3Rpb25fdmFsWzFdICAgICAgICAgID0gTlVMTDsKKysgICAgcy0+ZWRnZV9lbXVfYnVmZmVyICAgICAgICA9IE5VTEw7CisrCisrICAgIHJldHVybiAwOworK30KKysKKyBBVkNvZGVjIGZmX3RoZW9yYV9kZWNvZGVyID0geworICAgICAubmFtZSAgICAgICAgICAgPSAidGhlb3JhIiwKKyAgICAgLnR5cGUgICAgICAgICAgID0gQVZNRURJQV9UWVBFX1ZJREVPLAorQEAgLTIzNTIsNiArMjM4MSw3IEBAIEFWQ29kZWMgZmZfdGhlb3JhX2RlY29kZXIgPSB7CisgICAgIC5jYXBhYmlsaXRpZXMgICA9IENPREVDX0NBUF9EUjEgfCBDT0RFQ19DQVBfRFJBV19IT1JJWl9CQU5EIHwgQ09ERUNfQ0FQX0ZSQU1FX1RIUkVBRFMsCisgICAgIC5mbHVzaCA9IHZwM19kZWNvZGVfZmx1c2gsCisgICAgIC5sb25nX25hbWUgPSBOVUxMX0lGX0NPTkZJR19TTUFMTCgiVGhlb3JhIiksCisrICAgIC5pbml0X3RocmVhZF9jb3B5ICAgICAgPSBPTkxZX0lGX1RIUkVBRFNfRU5BQkxFRCh2cDNfaW5pdF90aHJlYWRfY29weSksCisgICAgIC51cGRhdGVfdGhyZWFkX2NvbnRleHQgPSBPTkxZX0lGX1RIUkVBRFNfRU5BQkxFRCh2cDNfdXBkYXRlX3RocmVhZF9jb250ZXh0KQorIH07CisgI2VuZGlmCitAQCAtMjM2Nyw1ICsyMzk3LDYgQEAgQVZDb2RlYyBmZl92cDNfZGVjb2RlciA9IHsKKyAgICAgLmNhcGFiaWxpdGllcyAgID0gQ09ERUNfQ0FQX0RSMSB8IENPREVDX0NBUF9EUkFXX0hPUklaX0JBTkQgfCBDT0RFQ19DQVBfRlJBTUVfVEhSRUFEUywKKyAgICAgLmZsdXNoID0gdnAzX2RlY29kZV9mbHVzaCwKKyAgICAgLmxvbmdfbmFtZSA9IE5VTExfSUZfQ09ORklHX1NNQUxMKCJPbjIgVlAzIiksCisrICAgIC5pbml0X3RocmVhZF9jb3B5ICAgICAgPSBPTkxZX0lGX1RIUkVBRFNfRU5BQkxFRCh2cDNfaW5pdF90aHJlYWRfY29weSksCisgICAgIC51cGRhdGVfdGhyZWFkX2NvbnRleHQgPSBPTkxZX0lGX1RIUkVBRFNfRU5BQkxFRCh2cDNfdXBkYXRlX3RocmVhZF9jb250ZXh0KQorIH07CistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAxLXZxYXZpZGVvLWNoZWNrLWNodW5rLXNpemVzLWJlZm9yZS1yZWFkaW5nLWNodW5rcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS12cWF2aWRlby1jaGVjay1jaHVuay1zaXplcy1iZWZvcmUtcmVhZGluZy1jaHVua3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U0ZjY4MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMS12cWF2aWRlby1jaGVjay1jaHVuay1zaXplcy1iZWZvcmUtcmVhZGluZy1jaHVua3MucGF0Y2gKQEAgLTAsMCArMSw1MSBAQAorRnJvbSAyY2FjMzUwODZjOWUxMDNmYTk4OTYwYzU0NmQ1MDE3ZTczNjM4MDNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KK0RhdGU6IEZyaSwgMjUgSmFuIDIwMTMgMDY6MTE6NTkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gdnFhdmlkZW86IGNoZWNrIGNodW5rIHNpemVzIGJlZm9yZSByZWFkaW5nIGNodW5rcworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0NvbW1pdCAyY2FjMzUwODZjOWUxMDNmYTk4OTYwYzU0NmQ1MDE3ZTczNjM4MDNhIHJlbGVhc2UvMC43CisKK0ZpeGVzIG91dCBvZiBhcnJheSB3cml0ZXMKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYWI2YzkzMzJiZmExZTIwMTI3YTE2MzkyYTBiODVhNGFhNDg0MDg4OSkKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKy0tLQorIGxpYmF2Y29kZWMvdnFhdmlkZW8uYyB8ICAgMTAgKysrKysrKysrKworIDEgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnFhdmlkZW8uYyBiL2xpYmF2Y29kZWMvdnFhdmlkZW8uYworaW5kZXggZDFlYWI1Yi4uNmUxY2U2YyAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3ZxYXZpZGVvLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3ZxYXZpZGVvLmMKK0BAIC01MjcsNiArNTI3LDExIEBAIHN0YXRpYyB2b2lkIHZxYV9kZWNvZGVfY2h1bmsoVnFhQ29udGV4dCAqcykKKyAgICAgICAgIGNodW5rX3NpemUgPSBBVl9SQjMyKCZzLT5idWZbY2JwMF9jaHVuayArIDRdKTsKKyAgICAgICAgIGNicDBfY2h1bmsgKz0gQ0hVTktfUFJFQU1CTEVfU0laRTsKKyAKKysgICAgICAgIGlmIChjaHVua19zaXplID4gTUFYX0NPREVCT09LX1NJWkUgLSBzLT5uZXh0X2NvZGVib29rX2J1ZmZlcl9pbmRleCkgeworKyAgICAgICAgICAgIGF2X2xvZyhzLT5hdmN0eCwgQVZfTE9HX0VSUk9SLCAiY2JwMCBjaHVuayB0b28gbGFyZ2UgKDB4JVggYnl0ZXMpXG4iLCBjaHVua19zaXplKTsKKysgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKKysgICAgICAgIH0KKysKKyAgICAgICAgIC8qIGFjY3VtdWxhdGUgcGFydGlhbCBjb2RlYm9vayAqLworICAgICAgICAgbWVtY3B5KCZzLT5uZXh0X2NvZGVib29rX2J1ZmZlcltzLT5uZXh0X2NvZGVib29rX2J1ZmZlcl9pbmRleF0sCisgICAgICAgICAgICAgJnMtPmJ1ZltjYnAwX2NodW5rXSwgY2h1bmtfc2l6ZSk7CitAQCAtNTUwLDYgKzU1NSwxMSBAQCBzdGF0aWMgdm9pZCB2cWFfZGVjb2RlX2NodW5rKFZxYUNvbnRleHQgKnMpCisgICAgICAgICBjaHVua19zaXplID0gQVZfUkIzMigmcy0+YnVmW2NicHpfY2h1bmsgKyA0XSk7CisgICAgICAgICBjYnB6X2NodW5rICs9IENIVU5LX1BSRUFNQkxFX1NJWkU7CisgCisrICAgICAgICBpZiAoY2h1bmtfc2l6ZSA+IE1BWF9DT0RFQk9PS19TSVpFIC0gcy0+bmV4dF9jb2RlYm9va19idWZmZXJfaW5kZXgpIHsKKysgICAgICAgICAgICBhdl9sb2cocy0+YXZjdHgsIEFWX0xPR19FUlJPUiwgImNicHogY2h1bmsgdG9vIGxhcmdlICgweCVYIGJ5dGVzKVxuIiwgY2h1bmtfc2l6ZSk7CisrICAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERBVEE7CisrICAgICAgICB9CisrCisgICAgICAgICAvKiBhY2N1bXVsYXRlIHBhcnRpYWwgY29kZWJvb2sgKi8KKyAgICAgICAgIG1lbWNweSgmcy0+bmV4dF9jb2RlYm9va19idWZmZXJbcy0+bmV4dF9jb2RlYm9va19idWZmZXJfaW5kZXhdLAorICAgICAgICAgICAgICZzLT5idWZbY2Jwel9jaHVua10sIGNodW5rX3NpemUpOworLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMi1hdmNvZGVjLW1qcGVnZGVjLWNoZWNrLWJpdHMtcGVyLXBpeGVsLWZvci1jaGFuZ2VzLXNpLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy8wMDAyLWF2Y29kZWMtbWpwZWdkZWMtY2hlY2stYml0cy1wZXItcGl4ZWwtZm9yLWNoYW5nZXMtc2kucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhiYWZkNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvMDAwMi1hdmNvZGVjLW1qcGVnZGVjLWNoZWNrLWJpdHMtcGVyLXBpeGVsLWZvci1jaGFuZ2VzLXNpLnBhdGNoCkBAIC0wLDAgKzEsNjggQEAKK0Zyb20gNjA0M2M0MzFjOTdkNTUxNzNmMzM5ZmFmYmQwMzNkM2MwNjQyZTJlOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBGcmksIDMgT2N0IDIwMTQgMDE6NTA6MjcgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIGF2Y29kZWMvbWpwZWdkZWM6IGNoZWNrIGJpdHMgcGVyIHBpeGVsIGZvciBjaGFuZ2VzCisgc2ltaWxhciB0byBkaW1lbnNpb25zCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworRml4ZXMgb3V0IG9mIGFycmF5IGFjY2Vzc2VzCitGaXhlczogYXNhbl9oZWFwLW9vYl8xNjY2OGU5XzJfYXNhbl9oZWFwLW9vYl8xNjY2OGU5XzM0Nl9taXNzX2NvbmdlbmlhbGl0eV9wZWdhc3VzX21qcGcuYXZpCisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KKworQ29uZmxpY3RzOgorCWxpYmF2Y29kZWMvbWpwZWdkZWMuYworLS0tCisgbGliYXZjb2RlYy9tanBlZ2RlYy5jIHwgMTUgKysrKysrKystLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL21qcGVnZGVjLmMgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9tanBlZ2RlYy5jCitpbmRleCA4NDM0M2MwLi5jMDEzN2Q4IDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvbWpwZWdkZWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvbWpwZWdkZWMuYworQEAgLTIxMCwxNiArMjEwLDE2IEBAIGludCBmZl9tanBlZ19kZWNvZGVfZGh0KE1KcGVnRGVjb2RlQ29udGV4dCAqcykKKyAKKyBpbnQgZmZfbWpwZWdfZGVjb2RlX3NvZihNSnBlZ0RlY29kZUNvbnRleHQgKnMpCisgeworLSAgICBpbnQgbGVuLCBuYl9jb21wb25lbnRzLCBpLCB3aWR0aCwgaGVpZ2h0LCBwaXhfZm10X2lkOworKyAgICBpbnQgbGVuLCBuYl9jb21wb25lbnRzLCBpLCBiaXRzLCB3aWR0aCwgaGVpZ2h0LCBwaXhfZm10X2lkOworIAorICAgICAvKiBYWFg6IHZlcmlmeSBsZW4gZmllbGQgdmFsaWRpdHkgKi8KKyAgICAgbGVuID0gZ2V0X2JpdHMoJnMtPmdiLCAxNik7CistICAgIHMtPmJpdHM9IGdldF9iaXRzKCZzLT5nYiwgOCk7CisrICAgIGJpdHM9IGdldF9iaXRzKCZzLT5nYiwgOCk7CisgCistICAgIGlmKHMtPnBlZ2FzdXNfcmN0KSBzLT5iaXRzPTk7CistICAgIGlmKHMtPmJpdHM9PTkgJiYgIXMtPnBlZ2FzdXNfcmN0KSBzLT5yY3Q9MTsgICAgLy9GSVhNRSB1Z2x5CisrICAgIGlmKHMtPnBlZ2FzdXNfcmN0KSBiaXRzPTk7CisrICAgIGlmKGJpdHM9PTkgJiYgIXMtPnBlZ2FzdXNfcmN0KSBzLT5yY3Q9MTsgICAgLy9GSVhNRSB1Z2x5CisgCistICAgIGlmIChzLT5iaXRzICE9IDggJiYgIXMtPmxvc3NsZXNzKXsKKysgICAgaWYgKGJpdHMgIT0gOCAmJiAhcy0+bG9zc2xlc3MpeworICAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfRVJST1IsICJvbmx5IDggYml0cy9jb21wb25lbnQgYWNjZXB0ZWRcbiIpOworICAgICAgICAgcmV0dXJuIC0xOworICAgICB9CitAQCAtMjM5LDcgKzIzOSw3IEBAIGludCBmZl9tanBlZ19kZWNvZGVfc29mKE1KcGVnRGVjb2RlQ29udGV4dCAqcykKKyAgICAgaWYgKG5iX2NvbXBvbmVudHMgPD0gMCB8fAorICAgICAgICAgbmJfY29tcG9uZW50cyA+IE1BWF9DT01QT05FTlRTKQorICAgICAgICAgcmV0dXJuIC0xOworLSAgICBpZiAocy0+bHMgJiYgIShzLT5iaXRzIDw9IDggfHwgbmJfY29tcG9uZW50cyA9PSAxKSl7CisrICAgIGlmIChzLT5scyAmJiAhKGJpdHMgPD0gOCB8fCBuYl9jb21wb25lbnRzID09IDEpKXsKKyAgICAgICAgIGF2X2xvZyhzLT5hdmN0eCwgQVZfTE9HX0VSUk9SLCAib25seSA8PSA4IGJpdHMvY29tcG9uZW50IG9yIDE2LWJpdCBncmF5IGFjY2VwdGVkIGZvciBKUEVHLUxTXG4iKTsKKyAgICAgICAgIHJldHVybiAtMTsKKyAgICAgfQorQEAgLTI3MiwxMCArMjcyLDExIEBAIGludCBmZl9tanBlZ19kZWNvZGVfc29mKE1KcGVnRGVjb2RlQ29udGV4dCAqcykKKyAKKyAgICAgLyogaWYgZGlmZmVyZW50IHNpemUsIHJlYWxsb2MvYWxsb2MgcGljdHVyZSAqLworICAgICAvKiBYWFg6IGFsc28gY2hlY2sgaF9jb3VudCBhbmQgdl9jb3VudCAqLworLSAgICBpZiAod2lkdGggIT0gcy0+d2lkdGggfHwgaGVpZ2h0ICE9IHMtPmhlaWdodCkgeworKyAgICBpZiAod2lkdGggIT0gcy0+d2lkdGggfHwgaGVpZ2h0ICE9IHMtPmhlaWdodCB8fCBiaXRzICE9IHMtPmJpdHMpIHsKKyAgICAgICAgIGF2X2ZyZWVwKCZzLT5xc2NhbGVfdGFibGUpOworIAorICAgICAgICAgcy0+d2lkdGggPSB3aWR0aDsKKysgICAgICAgIHMtPmJpdHM9IGJpdHM7CisgICAgICAgICBzLT5oZWlnaHQgPSBoZWlnaHQ7CisgICAgICAgICBzLT5pbnRlcmxhY2VkID0gMDsKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvY29uZmlndXJlLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvY29uZmlndXJlLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZWY2ZjdjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9jb25maWd1cmUtZml4LnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0Rpc2FibGUgeWFzbSBmb3IgbGliYXYgd2hlbiAtLWRpc2FibGUteWFzbQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IFNoYW5lIFdhbmcgPHNoYW5lLndhbmdAaW50ZWwuY29tPgorCitkaWZmIC1yIGYyZjhmNzRjNmUzMCBjb25maWd1cmUuYWMKKy0tLSBhL2NvbmZpZ3VyZS5hYwlUaHUgRGVjIDIyIDIzOjU2OjA5IDIwMTEgKzA4MDAKKysrKyBiL2NvbmZpZ3VyZS5hYwlUaHUgRGVjIDIyIDIzOjU3OjM3IDIwMTEgKzA4MDAKK0BAIC0zMjUsNiArMzI1LDEyIEBACisgICAgICAgICAtLWVuYWJsZS1ncGwiCisgICBmaQorIAorKyBBQ19BUkdfRU5BQkxFKHlhc20sCisrICAgICAgICAgICAgICBbQUNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS15YXNtXSwgW2Rpc2FibGUgdXNlIG9mIHlhc20gYXNzZW1ibGVyXSldKQorKyAgaWYgdGVzdCAieCRlbmFibGVfeWFzbSIgPSAieG5vIjsgdGhlbgorKyAgICBlbWJmZm1wZWdfY29uZmlndXJlX2FyZ3M9IiRlbWJmZm1wZWdfY29uZmlndXJlX2FyZ3MgLS1kaXNhYmxlLXlhc20iCisrICBmaQorKworICAgIyBpZiB3ZSBhcmUgY3Jvc3MtY29tcGlsaW5nLCB0ZWxsIGZmbXBlZyBzbworICAgdGFyZ2V0X29zPWBlY2hvICRob3N0X29zIHwgc2VkICdzLy1nbnUvLydgCisgICBpZiB0ZXN0ICJ4JGNyb3NzX2NvbXBpbGluZyIgPSB4eWVzOyB0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctQ1ZFLTIwMTMtMDg1NS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1DVkUtMjAxMy0wODU1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjOGQ4ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctQ1ZFLTIwMTMtMDg1NS5wYXRjaApAQCAtMCwwICsxLDEwMCBAQAorZ3N0LWZmbXBlZzogU2VjdXJpdHkgQWR2aXNvcnkgLSBmZm1wZWcgLSBDVkUtMjAxMy0wODU1CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgCisKK1NpZ25lZC1vZmYtYnk6IFl1ZSBUYW8gPHl1ZS50YW9Ad2luZHJpdmVyLmNvbT4KKworZGlmZiAtLWdpdCBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2FsYWMuYy5vbGQgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9hbGFjLmMKK2luZGV4IDJhMGRmOGMuLmJjYmQ1NmQgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9hbGFjLmMub2xkCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9hbGFjLmMKK0BAIC04NywxOCArODcsNDQgQEAgdHlwZWRlZiBzdHJ1Y3QgeworICAgICBpbnQgd2FzdGVkX2JpdHM7CisgfSBBTEFDQ29udGV4dDsKKyAKKy1zdGF0aWMgdm9pZCBhbGxvY2F0ZV9idWZmZXJzKEFMQUNDb250ZXh0ICphbGFjKQorK3N0YXRpYyBhdl9jb2xkIGludCBhbGFjX2RlY29kZV9jbG9zZShBVkNvZGVjQ29udGV4dCAqYXZjdHgpCisreworKyAgICBBTEFDQ29udGV4dCAqYWxhYyA9IGF2Y3R4LT5wcml2X2RhdGE7CisrCisrICAgIGludCBjaGFuOworKyAgICBmb3IgKGNoYW4gPSAwOyBjaGFuIDwgTUFYX0NIQU5ORUxTOyBjaGFuKyspIHsKKysgICAgICAgIGF2X2ZyZWVwKCZhbGFjLT5wcmVkaWN0ZXJyb3JfYnVmZmVyW2NoYW5dKTsKKysgICAgICAgIGF2X2ZyZWVwKCZhbGFjLT5vdXRwdXRzYW1wbGVzX2J1ZmZlcltjaGFuXSk7CisrICAgICAgICBhdl9mcmVlcCgmYWxhYy0+d2FzdGVkX2JpdHNfYnVmZmVyW2NoYW5dKTsKKysgICAgfQorKworKyAgICByZXR1cm4gMDsKKyt9CisrCisrc3RhdGljIGludCBhbGxvY2F0ZV9idWZmZXJzKEFMQUNDb250ZXh0ICphbGFjKQorIHsKKyAgICAgaW50IGNoYW47CisrICAgIGludCBidWZfc2l6ZTsKKysKKysgICAgaWYgKGFsYWMtPnNldGluZm9fbWF4X3NhbXBsZXNfcGVyX2ZyYW1lID4gSU5UX01BWCAvIHNpemVvZihpbnQzMl90KSkKKysgICAgICAgIGdvdG8gYnVmX2FsbG9jX2ZhaWw7CisrICAgIGJ1Zl9zaXplID0gYWxhYy0+c2V0aW5mb19tYXhfc2FtcGxlc19wZXJfZnJhbWUgKiBzaXplb2YoaW50MzJfdCk7CisrCisgICAgIGZvciAoY2hhbiA9IDA7IGNoYW4gPCBNQVhfQ0hBTk5FTFM7IGNoYW4rKykgeworLSAgICAgICAgYWxhYy0+cHJlZGljdGVycm9yX2J1ZmZlcltjaGFuXSA9CistICAgICAgICAgICAgYXZfbWFsbG9jKGFsYWMtPnNldGluZm9fbWF4X3NhbXBsZXNfcGVyX2ZyYW1lICogNCk7CisgCistICAgICAgICBhbGFjLT5vdXRwdXRzYW1wbGVzX2J1ZmZlcltjaGFuXSA9CistICAgICAgICAgICAgYXZfbWFsbG9jKGFsYWMtPnNldGluZm9fbWF4X3NhbXBsZXNfcGVyX2ZyYW1lICogNCk7CisrICAgICAgICBGRl9BTExPQ19PUl9HT1RPKGFsYWMtPmF2Y3R4LCBhbGFjLT5wcmVkaWN0ZXJyb3JfYnVmZmVyW2NoYW5dLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBidWZfc2l6ZSwgYnVmX2FsbG9jX2ZhaWwpOworIAorLSAgICAgICAgYWxhYy0+d2FzdGVkX2JpdHNfYnVmZmVyW2NoYW5dID0gYXZfbWFsbG9jKGFsYWMtPnNldGluZm9fbWF4X3NhbXBsZXNfcGVyX2ZyYW1lICogNCk7CisrICAgICAgICBGRl9BTExPQ19PUl9HT1RPKGFsYWMtPmF2Y3R4LCBhbGFjLT5vdXRwdXRzYW1wbGVzX2J1ZmZlcltjaGFuXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgYnVmX3NpemUsIGJ1Zl9hbGxvY19mYWlsKTsKKysKKysgICAgICAgIEZGX0FMTE9DX09SX0dPVE8oYWxhYy0+YXZjdHgsIGFsYWMtPndhc3RlZF9iaXRzX2J1ZmZlcltjaGFuXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgYnVmX3NpemUsIGJ1Zl9hbGxvY19mYWlsKTsKKyAgICAgfQorKyAgICByZXR1cm4gMDsKKytidWZfYWxsb2NfZmFpbDoKKysgICAgYWxhY19kZWNvZGVfY2xvc2UoYWxhYy0+YXZjdHgpOworKyAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOworIH0KKyAKKyBzdGF0aWMgaW50IGFsYWNfc2V0X2luZm8oQUxBQ0NvbnRleHQgKmFsYWMpCitAQCAtMTMxLDggKzE1Nyw2IEBAIHN0YXRpYyBpbnQgYWxhY19zZXRfaW5mbyhBTEFDQ29udGV4dCAqYWxhYykKKyAgICAgYnl0ZXN0cmVhbV9nZXRfYmUzMigmcHRyKTsgICAgICAvKiBiaXRyYXRlID8gKi8KKyAgICAgYnl0ZXN0cmVhbV9nZXRfYmUzMigmcHRyKTsgICAgICAvKiBzYW1wbGVyYXRlICovCisgCistICAgIGFsbG9jYXRlX2J1ZmZlcnMoYWxhYyk7CistCisgICAgIHJldHVybiAwOworIH0KKyAKK0BAIC02NTksNiArNjgzLDcgQEAgc3RhdGljIGludCBhbGFjX2RlY29kZV9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsCisgCisgc3RhdGljIGF2X2NvbGQgaW50IGFsYWNfZGVjb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKiBhdmN0eCkKKyB7CisrICAgIGludCByZXQ7CisgICAgIEFMQUNDb250ZXh0ICphbGFjID0gYXZjdHgtPnByaXZfZGF0YTsKKyAgICAgYWxhYy0+YXZjdHggPSBhdmN0eDsKKyAgICAgYWxhYy0+bnVtY2hhbm5lbHMgPSBhbGFjLT5hdmN0eC0+Y2hhbm5lbHM7CitAQCAtNjc0LDE4ICs2OTksOSBAQCBzdGF0aWMgYXZfY29sZCBpbnQgYWxhY19kZWNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqIGF2Y3R4KQorICAgICAgICAgcmV0dXJuIC0xOworICAgICB9CisgCistICAgIHJldHVybiAwOworLX0KKy0KKy1zdGF0aWMgYXZfY29sZCBpbnQgYWxhY19kZWNvZGVfY2xvc2UoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQorLXsKKy0gICAgQUxBQ0NvbnRleHQgKmFsYWMgPSBhdmN0eC0+cHJpdl9kYXRhOworLQorLSAgICBpbnQgY2hhbjsKKy0gICAgZm9yIChjaGFuID0gMDsgY2hhbiA8IE1BWF9DSEFOTkVMUzsgY2hhbisrKSB7CistICAgICAgICBhdl9mcmVlcCgmYWxhYy0+cHJlZGljdGVycm9yX2J1ZmZlcltjaGFuXSk7CistICAgICAgICBhdl9mcmVlcCgmYWxhYy0+b3V0cHV0c2FtcGxlc19idWZmZXJbY2hhbl0pOworLSAgICAgICAgYXZfZnJlZXAoJmFsYWMtPndhc3RlZF9iaXRzX2J1ZmZlcltjaGFuXSk7CisrICAgIGlmICgocmV0ID0gYWxsb2NhdGVfYnVmZmVycyhhbGFjKSkgPCAwKSB7CisrICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIkVycm9yIGFsbG9jYXRpbmcgYnVmZmVyc1xuIik7CisrICAgICAgICByZXR1cm4gcmV0OworICAgICB9CisgCisgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLUNWRS0yMDEzLTM2NzQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctQ1ZFLTIwMTMtMzY3NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTM4NWY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLUNWRS0yMDEzLTM2NzQucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorYXZjb2RlYy9jZGdyYXBoaWNzOiBjaGVjayBidWZmZXIgc2l6ZSBiZWZvcmUgdXNlCisKK0ZpeGVzIG91dCBvZiBhcnJheSBhY2Nlc3NlcworCitCYWNrcG9ydGVkIGZyb206aHR0cDovL2dpdC52aWRlb2xhbi5vcmcvP3A9ZmZtcGVnLmdpdDthPWNvbW1pdDtoPWFkMDAyZTFhMTNhOGRmOTM0YmQ2Y2IyYzg0MTc1YTQ3ODBhYjg5NDIKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitTaWduZWQtb2ZmLWJ5OiBNaW5nIExpdSA8bWluZy5saXVAd2luZHJpdmVyLmNvbT4KKworZGlmZiAtdXJwTiBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2NkZ3JhcGhpY3MuYyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2NkZ3JhcGhpY3MuYworLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvY2RncmFwaGljcy5jCTIwMTMtMDctMTggMTM6MTc6MDguMzk5ODc2NTc1ICswODAwCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9jZGdyYXBoaWNzLmMJMjAxMy0wNy0xOCAxMzoxODowNS44ODA1MDIyNjcgKzA4MDAKK0BAIC0yOTEsNyArMjkxLDkgQEAgc3RhdGljIGludCBjZGdfZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZQorICAgICBpbnN0ICAgID0gYnl0ZXN0cmVhbV9nZXRfYnl0ZSgmYnVmKTsKKyAgICAgaW5zdCAgICAmPSBDREdfTUFTSzsKKyAgICAgYnVmICs9IDI7ICAvLy8gc2tpcHBpbmcgMiB1bm5lZWRlZCBieXRlcworLSAgICBieXRlc3RyZWFtX2dldF9idWZmZXIoJmJ1ZiwgY2RnX2RhdGEsIGJ1Zl9zaXplIC0gQ0RHX0hFQURFUl9TSVpFKTsKKysKKysgICAgaWYgKGJ1Zl9zaXplID4gQ0RHX0hFQURFUl9TSVpFKQorKyAgICAgICAgYnl0ZXN0cmVhbV9nZXRfYnVmZmVyKCZidWYsIGNkZ19kYXRhLCBidWZfc2l6ZSAtIENER19IRUFERVJfU0laRSk7CisgCisgICAgIGlmICgoY29tbWFuZCAmIENER19NQVNLKSA9PSBDREdfQ09NTUFORCkgeworICAgICAgICAgc3dpdGNoIChpbnN0KSB7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDExLTQzNTIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDExLTQzNTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBmM2ZkMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTEtNDM1Mi5wYXRjaApAQCAtMCwwICsxLDY0IEBACitGcm9tIDhiOTRkZjBmMjA0N2U5NzI4Y2I4NzJhZGM5ZTY0NTU3YjdhNTE1MmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSZWluaGFyZCBUYXJ0bGVyIDxzaXJldGFydEB0YXV3YXJlLmRlPgorRGF0ZTogU3VuLCA0IERlYyAyMDExIDEwOjEwOjMzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHZwM2RlYzogQ2hlY2sgY29lZmZpY2llbnQgaW5kZXggaW4gdnAzX2RlcXVhbnQoKQorCitCYXNlZCBvbiBhIHBhdGNoIGJ5IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CisKK0ZpeGVzIE5HUzAwMTQ1LCBDVkUtMjAxMS00MzUyCisKK0ZvdW5kLWJ5OiBQaGlsbGlwIExhbmdsb2lzCitTaWduZWQtb2ZmLWJ5OiBSZWluaGFyZCBUYXJ0bGVyIDxzaXJldGFydEB0YXV3YXJlLmRlPgorCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworaHR0cDovL2dpdC52aWRlb2xhbi5vcmcvP3A9ZmZtcGVnLmdpdDthPWNvbW1pdDtoPThiOTRkZjBmMjA0N2U5NzI4Y2I4NzJhZGM5ZTY0NTU3YjdhNTE1MmYKKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJhdmNvZGVjL3ZwMy5jIHwgMTQgKysrKysrKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnAzLmMgYi9saWJhdmNvZGVjL3ZwMy5jCitpbmRleCA1MWFiMDQ4Li5mNDRkMDg0IDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvdnAzLmMKKysrKyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3ZwMy5jCitAQCAtMTM2Myw2ICsxMzYzLDEwIEBAIHN0YXRpYyBpbmxpbmUgaW50IHZwM19kZXF1YW50KFZwM0RlY29kZUNvbnRleHQgKnMsIFZwM0ZyYWdtZW50ICpmcmFnLAorICAgICAgICAgY2FzZSAxOiAvLyB6ZXJvIHJ1bgorICAgICAgICAgICAgIHMtPmRjdF90b2tlbnNbcGxhbmVdW2ldKys7CisgICAgICAgICAgICAgaSArPSAodG9rZW4gPj4gMikgJiAweDdmOworKyAgICAgICAgICAgIGlmIChpID4gNjMpIHsKKysgICAgICAgICAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfRVJST1IsICJDb2VmZmljaWVudCBpbmRleCBvdmVyZmxvd1xuIik7CisrICAgICAgICAgICAgICAgIHJldHVybiBpOworKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBibG9ja1twZXJtW2ldXSA9ICh0b2tlbiA+PiA5KSAqIGRlcXVhbnRpemVyW3Blcm1baV1dOworICAgICAgICAgICAgIGkrKzsKKyAgICAgICAgICAgICBicmVhazsKK0BAIC0xNTY2LDcgKzE1NzAsMTAgQEAgc3RhdGljIHZvaWQgcmVuZGVyX3NsaWNlKFZwM0RlY29kZUNvbnRleHQgKnMsIGludCBzbGljZSkKKyAgICAgICAgICAgICAgICAgICAgIC8qIGludmVydCBEQ1QgYW5kIHBsYWNlIChvciBhZGQpIGluIGZpbmFsIG91dHB1dCAqLworIAorICAgICAgICAgICAgICAgICAgICAgaWYgKHMtPmFsbF9mcmFnbWVudHNbaV0uY29kaW5nX21ldGhvZCA9PSBNT0RFX0lOVFJBKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgdnAzX2RlcXVhbnQocywgcy0+YWxsX2ZyYWdtZW50cyArIGksIHBsYW5lLCAwLCBibG9jayk7CisrICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluZGV4OworKyAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ID0gdnAzX2RlcXVhbnQocywgcy0+YWxsX2ZyYWdtZW50cyArIGksIHBsYW5lLCAwLCBibG9jayk7CisrICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gNjMpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHMtPmF2Y3R4LT5pZGN0X2FsZ28hPUZGX0lEQ1RfVlAzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja1swXSArPSAxMjg8PDM7CisgICAgICAgICAgICAgICAgICAgICAgICAgcy0+ZHNwLmlkY3RfcHV0KAorQEAgLTE1NzQsNyArMTU4MSwxMCBAQCBzdGF0aWMgdm9pZCByZW5kZXJfc2xpY2UoVnAzRGVjb2RlQ29udGV4dCAqcywgaW50IHNsaWNlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrKTsKKyAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CistICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZwM19kZXF1YW50KHMsIHMtPmFsbF9mcmFnbWVudHMgKyBpLCBwbGFuZSwgMSwgYmxvY2spKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluZGV4ID0gdnAzX2RlcXVhbnQocywgcy0+YWxsX2ZyYWdtZW50cyArIGksIHBsYW5lLCAxLCBibG9jayk7CisrICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gNjMpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBzLT5kc3AuaWRjdF9hZGQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9wbGFuZSArIGZpcnN0X3BpeGVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpZGUsCistLSAKKzIuMS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtNzkzMy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtNzkzMy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzUzN2M3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC03OTMzLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gMjI2NmI4YmMzMzcwODU2ZDg3NDMzNGJhNjJiMzM3Y2U0ZjFlYjI1NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCAxMyBNYXkgMjAxNSAxNjo0NjowNiArMDgwMAorU3ViamVjdDogW1BBVENIIDIvMl0gZ3N0LWZmbXBlZzogZml4IENWRS0yMDE0LTc5MzMKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitodHRwOi8vZ2l0LnZpZGVvbGFuLm9yZy8/cD1mZm1wZWcuZ2l0O2E9Y29tbWl0O2g9MzMzMDFmMDAKKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBnc3QtbGlicy9leHQvbGliYXYvbGliYXZmb3JtYXQvbWF0cm9za2FkZWMuYyB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Zm9ybWF0L21hdHJvc2thZGVjLmMgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZmb3JtYXQvbWF0cm9za2FkZWMuYworaW5kZXggNTlkY2U0Zi4uZTVmNWZjMSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmZvcm1hdC9tYXRyb3NrYWRlYy5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZmb3JtYXQvbWF0cm9za2FkZWMuYworQEAgLTE5MTYsNyArMTkxNiw3IEBAIHN0YXRpYyBpbnQgbWF0cm9za2FfcmVhZF9zZWVrKEFWRm9ybWF0Q29udGV4dCAqcywgaW50IHN0cmVhbV9pbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IHRpbWVzdGFtcCwgaW50IGZsYWdzKQorIHsKKyAgICAgTWF0cm9za2FEZW11eENvbnRleHQgKm1hdHJvc2thID0gcy0+cHJpdl9kYXRhOworLSAgICBNYXRyb3NrYVRyYWNrICp0cmFja3MgPSBtYXRyb3NrYS0+dHJhY2tzLmVsZW07CisrICAgIE1hdHJvc2thVHJhY2sgKnRyYWNrcyA9IE5VTEw7CisgICAgIEFWU3RyZWFtICpzdCA9IHMtPnN0cmVhbXNbc3RyZWFtX2luZGV4XTsKKyAgICAgaW50IGksIGluZGV4LCBpbmRleF9zdWIsIGluZGV4X21pbjsKKyAKK0BAIC0xOTM5LDYgKzE5MzksNyBAQCBzdGF0aWMgaW50IG1hdHJvc2thX3JlYWRfc2VlayhBVkZvcm1hdENvbnRleHQgKnMsIGludCBzdHJlYW1faW5kZXgsCisgICAgICAgICByZXR1cm4gMDsKKyAKKyAgICAgaW5kZXhfbWluID0gaW5kZXg7CisrICAgIHRyYWNrcyA9IG1hdHJvc2thLT50cmFja3MuZWxlbTsKKyAgICAgZm9yIChpPTA7IGkgPCBtYXRyb3NrYS0+dHJhY2tzLm5iX2VsZW07IGkrKykgeworICAgICAgICAgdHJhY2tzW2ldLmF1ZGlvLnBrdF9jbnQgPSAwOworICAgICAgICAgdHJhY2tzW2ldLmF1ZGlvLnN1Yl9wYWNrZXRfY250ID0gMDsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhNDdjODEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTg1NDIucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSAxMDU2NTRlMzc2YTczNmQyNDNhZWY0YTFkMTIxYWJlYmNlOTEyZTZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KK0RhdGU6IEZyaSwgMyBPY3QgMjAxNCAwNDozMDo1OCArMDIwMAorU3ViamVjdDogW1BBVENIXSBhdmNvZGVjL3V0aWxzOiBBZGQgY2FzZSBmb3IganYgdG8KKyBhdmNvZGVjX2FsaWduX2RpbWVuc2lvbnMyKCkKKworKFVwc3RyZWFtIGNvbW1pdCAxMDU2NTRlMzc2YTczNmQyNDNhZWY0YTFkMTIxYWJlYmNlOTEyZTZiKQorCitGaXhlcyBvdXQgb2YgYXJyYXkgYWNjZXNzZXMKK0ZpeGVzOiBhc2FuX2hlYXAtb29iXzEyMzA0YWFfOF9hc2FuX2hlYXAtb29iXzRkYTRmM18zMDBfaW50cm8uanYKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitTaWduZWQtb2ZmLWJ5OiBZdWUgVGFvIDx5dWUudGFvQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJhdmNvZGVjL3V0aWxzLmMgfCAgICA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL3V0aWxzLmMgYi9saWJhdmNvZGVjL3V0aWxzLmMKK2luZGV4IGQ0ZjU1MzIuLmMyYzU1NzkgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy91dGlscy5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy91dGlscy5jCitAQCAtMTczLDYgKzE3MywxMCBAQCB2b2lkIGF2Y29kZWNfYWxpZ25fZGltZW5zaW9uczIoQVZDb2RlY0NvbnRleHQgKnMsIGludCAqd2lkdGgsIGludCAqaGVpZ2h0LCBpbnQgbAorICAgICAgICAgICAgIHdfYWxpZ249NDsKKyAgICAgICAgICAgICBoX2FsaWduPTQ7CisgICAgICAgICB9CisrICAgICAgICBpZiAocy0+Y29kZWNfaWQgPT0gQ09ERUNfSURfSlYpeworKyAgICAgICAgICAgIHdfYWxpZ24gPSA4OworKyAgICAgICAgICAgIGhfYWxpZ24gPSA4OworKyAgICAgICAgfQorICAgICAgICAgYnJlYWs7CisgICAgIGNhc2UgUElYX0ZNVF9CR1IyNDoKKyAgICAgICAgIGlmKChzLT5jb2RlY19pZCA9PSBDT0RFQ19JRF9NU1pIKSB8fCAocy0+Y29kZWNfaWQgPT0gQ09ERUNfSURfWkxJQikpeworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0My5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0My5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjVlNTVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQzLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gOGIwZTk2ZTFmMjFiNzYxY2ExNWRiYjQ3MGNkNjE5YTFlYmY4NmMzZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBGcmksIDMgT2N0IDIwMTQgMTQ6NDU6MDQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXZjb2RlYy9tbXZpZGVvOiBCb3VuZHMgY2hlY2sgMm5kIGxpbmUgb2YgSEhWIEludHJhIGJsb2NrcworCisoVXBzdHJlYW0gY29tbWl0IDhiMGU5NmUxZjIxYjc2MWNhMTVkYmI0NzBjZDYxOWExZWJmODZjM2UpCisKK0ZpeGVzIG91dCBvZiBhcnJheSBhY2Nlc3MKK0ZpeGVzOiBhc2FuX2hlYXAtb29iXzRkYTRmM184X2FzYW5faGVhcC1vb2JfNGRhNGYzXzQxOV9zY2VuZTFhLm1tCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworRm91bmQtYnk6IE1hdGV1c3ogImowMHJ1IiBKdXJjenlrIGFuZCBHeW52YWVsIENvbGR3aW5kCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliYXZjb2RlYy9tbXZpZGVvLmMgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL21tdmlkZW8uYyBiL2xpYmF2Y29kZWMvbW12aWRlby5jCitpbmRleCAwMjZkNDYzLi45ZmY2MzkzIDEwMDY0NAorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvbW12aWRlby5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9tbXZpZGVvLmMKK0BAIC0xMDQsNyArMTA0LDcgQEAgc3RhdGljIHZvaWQgbW1fZGVjb2RlX2ludHJhKE1tQ29udGV4dCAqIHMsIGludCBoYWxmX2hvcml6LCBpbnQgaGFsZl92ZXJ0LCBjb25zdAorIAorICAgICAgICAgaWYgKGNvbG9yKSB7CisgICAgICAgICAgICAgbWVtc2V0KHMtPmZyYW1lLmRhdGFbMF0gKyB5KnMtPmZyYW1lLmxpbmVzaXplWzBdICsgeCwgY29sb3IsIHJ1bl9sZW5ndGgpOworLSAgICAgICAgICAgIGlmIChoYWxmX3ZlcnQpCisrICAgICAgICAgICAgaWYgKGhhbGZfdmVydCAmJiB5ICsgaGFsZl92ZXJ0IDwgcy0+YXZjdHgtPmhlaWdodCkKKyAgICAgICAgICAgICAgICAgbWVtc2V0KHMtPmZyYW1lLmRhdGFbMF0gKyAoeSsxKSpzLT5mcmFtZS5saW5lc2l6ZVswXSArIHgsIGNvbG9yLCBydW5fbGVuZ3RoKTsKKyAgICAgICAgIH0KKyAgICAgICAgIHgrPSBydW5fbGVuZ3RoOworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0NC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTI0ZTNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQ0LnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAKK0Zyb20gZTFjMGNmYWE0MTlhYTVkMzIwNTQwZDVhMWIzZjhmZDliODJhYjdlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBGcmksIDMgT2N0IDIwMTQgMTY6MDg6MzIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXZjb2RlYy90aWZmOiBtb3JlIGNvbXBsZXRlbHkgY2hlY2sgYnBwL2JwcGNvdW50CisKKyhVcHN0cmVhbSBjb21taXQgZTFjMGNmYWE0MTlhYTVkMzIwNTQwZDVhMWIzZjhmZDliODJhYjdlNSkKKworRml4ZXMgcGl4ZWwgZm9ybWF0IHNlbGVjdGlvbgorRml4ZXMgb3V0IG9mIGFycmF5IGFjY2Vzc2VzCitGaXhlczogYXNhbl9oZWFwLW9vYl8xNzY2MDI5XzZfYXNhbl9oZWFwLW9vYl8yMGFhMDQ1XzMzMl9jb3ZfMTgyMzIxNjc1N19tMi1kMWQzNjZkNzk2NWRiNzY2YzE5YTY2YzdhMmNjYmI2Yi50aWYKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitTaWduZWQtb2ZmLWJ5OiBZdWUgVGFvIDx5dWUudGFvQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJhdmNvZGVjL3RpZmYuYyB8ICAgMTMgKysrKysrKysrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy90aWZmLmMgYi9saWJhdmNvZGVjL3RpZmYuYworaW5kZXggNmUyMDk2Zi4uMDg3MGUzMSAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3RpZmYuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvdGlmZi5jCitAQCAtMzI0LDExICszMjQsMTEgQEAgc3RhdGljIGludCB0aWZmX2RlY29kZV90YWcoVGlmZkNvbnRleHQgKnMsIGNvbnN0IHVpbnQ4X3QgKnN0YXJ0LCBjb25zdCB1aW50OF90ICoKKyAgICAgICAgIHMtPmhlaWdodCA9IHZhbHVlOworICAgICAgICAgYnJlYWs7CisgICAgIGNhc2UgVElGRl9CUFA6CistICAgICAgICBzLT5icHBjb3VudCA9IGNvdW50OworLSAgICAgICAgaWYoY291bnQgPiA0KXsKKy0gICAgICAgICAgICBhdl9sb2cocy0+YXZjdHgsIEFWX0xPR19FUlJPUiwgIlRoaXMgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQgKGJwcD0lZCwgJWQgY29tcG9uZW50cylcbiIsIHMtPmJwcCwgY291bnQpOworKyAgICAgICAgaWYoY291bnQgPiA0VSl7CisrICAgICAgICAgICAgYXZfbG9nKHMtPmF2Y3R4LCBBVl9MT0dfRVJST1IsICJUaGlzIGZvcm1hdCBpcyBub3Qgc3VwcG9ydGVkIChicHA9JWQsICVkIGNvbXBvbmVudHMpXG4iLCB2YWx1ZSwgY291bnQpOworICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgIH0KKysgICAgICAgIHMtPmJwcGNvdW50ID0gY291bnQ7CisgICAgICAgICBpZihjb3VudCA9PSAxKSBzLT5icHAgPSB2YWx1ZTsKKyAgICAgICAgIGVsc2V7CisgICAgICAgICAgICAgc3dpdGNoKHR5cGUpeworQEAgLTM0NCw2ICszNDQsMTMgQEAgc3RhdGljIGludCB0aWZmX2RlY29kZV90YWcoVGlmZkNvbnRleHQgKnMsIGNvbnN0IHVpbnQ4X3QgKnN0YXJ0LCBjb25zdCB1aW50OF90ICoKKyAgICAgICAgICAgICAgICAgcy0+YnBwID0gLTE7CisgICAgICAgICAgICAgfQorICAgICAgICAgfQorKyAgICAgICAgaWYgKHMtPmJwcCA+IDY0VSkgeworKyAgICAgICAgICAgIGF2X2xvZyhzLT5hdmN0eCwgQVZfTE9HX0VSUk9SLAorKyAgICAgICAgICAgICAgICAgICAiVGhpcyBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZCAoYnBwPSVkLCAlZCBjb21wb25lbnRzKVxuIiwKKysgICAgICAgICAgICAgICAgICAgcy0+YnBwLCBjb3VudCk7CisrICAgICAgICAgICAgcy0+YnBwID0gMDsKKysgICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKKysgICAgICAgIH0KKyAgICAgICAgIGJyZWFrOworICAgICBjYXNlIFRJRkZfU0FNUExFU19QRVJfUElYRUw6CisgICAgICAgICBpZiAoY291bnQgIT0gMSkgeworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0NS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0NS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWQ1Zjc3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQ1LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gM2UyYjc0NTAyMGMyZGJmMDIwMWZlN2RmM2RhZDllN2UwYjJlMWJiNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitEYXRlOiBGcmksIDMgT2N0IDIwMTQgMTc6MzU6NTggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXZjb2RlYy9wbmdkZWM6IENoZWNrIGJpdHMgcGVyIHBpeGVsIGJlZm9yZSBzZXR0aW5nCisgbW9ub2JsYWNrIHBpeGVsIGZvcm1hdAorCisoVXBzdHJlYW0gY29tbWl0IDNlMmI3NDUwMjBjMmRiZjAyMDFmZTdkZjNkYWQ5ZTdlMGIyZTFiYjYpCisKK0ZpeGVzIG91dCBvZiBhcnJheSBhY2Nlc3NlcworRml4ZXM6IGFzYW5faGVhcC1vb2JfMTRkYmZjZl80X2FzYW5faGVhcC1vb2JfMWNlNTc2N18xNzlfYWRkX21ldGhvZF9zbWFsbC5wbmcKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTmllZGVybWF5ZXIgPG1pY2hhZWxuaUBnbXguYXQ+CitTaWduZWQtb2ZmLWJ5OiBZdWUgVGFvIDx5dWUudGFvQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJhdmNvZGVjL3BuZ2RlYy5jIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9wbmdkZWMuYyBiL2xpYmF2Y29kZWMvcG5nZGVjLmMKK2luZGV4IGRhOTFhYWIuLmYzNjAzYjMgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9wbmdkZWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcG5nZGVjLmMKK0BAIC00ODEsNyArNDgxLDcgQEAgc3RhdGljIGludCBkZWNvZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAorICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHMtPmJpdF9kZXB0aCA9PSAxNiAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPmNvbG9yX3R5cGUgPT0gUE5HX0NPTE9SX1RZUEVfUkdCKSB7CisgICAgICAgICAgICAgICAgICAgICBhdmN0eC0+cGl4X2ZtdCA9IFBJWF9GTVRfUkdCNDhCRTsKKy0gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzLT5iaXRfZGVwdGggPT0gMSAmJgorKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHMtPmJpdF9kZXB0aCA9PSAxICYmIHMtPmJpdHNfcGVyX3BpeGVsID09IDEgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5jb2xvcl90eXBlID09IFBOR19DT0xPUl9UWVBFX0dSQVkpIHsKKyAgICAgICAgICAgICAgICAgICAgIGF2Y3R4LT5waXhfZm10ID0gUElYX0ZNVF9NT05PQkxBQ0s7CisgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocy0+Y29sb3JfdHlwZSA9PSBQTkdfQ09MT1JfVFlQRV9QQUxFVFRFKSB7CistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQ2LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQ2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NWQ5ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTg1NDYucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSBlN2U1MTE0YzUwNjk1N2Y0MGFhZmQ3OTRlMDZkZTFhN2UzNDFlOWQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KK0RhdGU6IEZyaSwgMyBPY3QgMjAxNCAxOTozMzowMSArMDIwMAorU3ViamVjdDogW1BBVENIXSBhdmNvZGVjL2NpbmVwYWs6IGZpeCBpbnRlZ2VyIHVuZGVyZmxvdworCisoVXBzdHJlYW0gY29tbWl0IGU3ZTUxMTRjNTA2OTU3ZjQwYWFmZDc5NGUwNmRlMWE3ZTM0MWU5ZDUpCisKK0ZpeGVzIG91dCBvZiBhcnJheSBhY2Nlc3MKK0ZpeGVzOiBhc2FuX2hlYXAtb29iXzRkYTBiYV82X2FzYW5faGVhcC1vb2JfNGRhMGJhXzI0MV9jdmlkX2NyYXNoLmF2aQorCitVcHN0cmVhbS1zdGF0dXM6IEJhY2twb3J0CisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KK1NpZ25lZC1vZmYtYnk6IFl1ZSBUYW8gPHl1ZS50YW9Ad2luZHJpdmVyLmNvbT4KKy0tLQorIGxpYmF2Y29kZWMvY2luZXBhay5jIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9jaW5lcGFrLmMgYi9saWJhdmNvZGVjL2NpbmVwYWsuYworaW5kZXggNDc0NjI4OS4uZjY1MWM0OCAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL2NpbmVwYWsuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvY2luZXBhay5jCitAQCAtMTI1LDcgKzEyNSw3IEBAIHN0YXRpYyBpbnQgY2luZXBha19kZWNvZGVfdmVjdG9ycyAoQ2luZXBha0NvbnRleHQgKnMsIGN2aWRfc3RyaXAgKnN0cmlwLAorICAgICBjb25zdCB1aW50OF90ICAgKmVvZCA9IChkYXRhICsgc2l6ZSk7CisgICAgIHVpbnQzMl90ICAgICAgICAgZmxhZywgbWFzazsKKyAgICAgY3ZpZF9jb2RlYm9vayAgICpjb2RlYm9vazsKKy0gICAgdW5zaWduZWQgaW50ICAgICB4LCB5OworKyAgICBpbnQgICAgICAgICAgICAgeCwgeTsKKyAgICAgdWludDMyX3QgICAgICAgICBpeVs0XTsKKyAgICAgdWludDMyX3QgICAgICAgICBpdVsyXTsKKyAgICAgdWludDMyX3QgICAgICAgICBpdlsyXTsKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTg1NDcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTg1NDcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg2MTZmYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0Ny5wYXRjaApAQCAtMCwwICsxLDU5IEBACitGcm9tIDhmMTQ1Nzg2NGJlOGZiOTY1MzY0MzUxOWRlYTFjNjQ5MmYxZGRlNTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorRGF0ZTogRnJpLCAzIE9jdCAyMDE0IDIwOjE1OjUyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGF2Y29kZWMvZ2lmZGVjOiBmYWN0b3JpemUgaW50ZXJsZWF2ZSBlbmQgaGFuZGxpbmcgb3V0CisKKyhVcHN0cmVhbSBjb21taXQgOGYxNDU3ODY0YmU4ZmI5NjUzNjQzNTE5ZGVhMWM2NDkyZjFkZGU1NykKKworYWxzbyBjaGFuZ2UgaXQgdG8gYSBsb29wCitGaXhlcyBvdXQgb2YgYXJyYXkgYWNjZXNzCitGaXhlczogYXNhbl9oZWFwLW9vYl9jYTU0MTBfOF9hc2FuX2hlYXAtb29iX2NhNTQxMF85N19JRF9MU0RfU2l6ZV9MZXNzX1RoZW5fRGF0YV9JbnRlcl8zLmdpZgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0ZvdW5kLWJ5OiBNYXRldXN6ICJqMDBydSIgSnVyY3p5ayBhbmQgR3ludmFlbCBDb2xkd2luZAorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFlbG5pQGdteC5hdD4KK1NpZ25lZC1vZmYtYnk6IFl1ZSBUYW8gPHl1ZS50YW9Ad2luZHJpdmVyLmNvbT4KKy0tLQorIGxpYmF2Y29kZWMvZ2lmZGVjLmMgfCAgIDE1ICsrKysrLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9naWZkZWMuYyBiL2xpYmF2Y29kZWMvZ2lmZGVjLmMKK2luZGV4IGRlZTQ4ZjUuLjkwZGUzOGIgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9naWZkZWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvZ2lmZGVjLmMKK0BAIC0yNzEsMjYgKzI3MSwyMSBAQCBzdGF0aWMgaW50IGdpZl9yZWFkX2ltYWdlKEdpZlN0YXRlICpzLCBBVkZyYW1lICpmcmFtZSkKKyAgICAgICAgICAgICBjYXNlIDE6CisgICAgICAgICAgICAgICAgIHkxICs9IDg7CisgICAgICAgICAgICAgICAgIHB0ciArPSBsaW5lc2l6ZSAqIDg7CistICAgICAgICAgICAgICAgIGlmICh5MSA+PSBoZWlnaHQpIHsKKy0gICAgICAgICAgICAgICAgICAgIHkxID0gcGFzcyA/IDIgOiA0OworLSAgICAgICAgICAgICAgICAgICAgcHRyID0gcHRyMSArIGxpbmVzaXplICogeTE7CistICAgICAgICAgICAgICAgICAgICBwYXNzKys7CistICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgY2FzZSAyOgorICAgICAgICAgICAgICAgICB5MSArPSA0OworICAgICAgICAgICAgICAgICBwdHIgKz0gbGluZXNpemUgKiA0OworLSAgICAgICAgICAgICAgICBpZiAoeTEgPj0gaGVpZ2h0KSB7CistICAgICAgICAgICAgICAgICAgICB5MSA9IDE7CistICAgICAgICAgICAgICAgICAgICBwdHIgPSBwdHIxICsgbGluZXNpemU7CistICAgICAgICAgICAgICAgICAgICBwYXNzKys7CistICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgY2FzZSAzOgorICAgICAgICAgICAgICAgICB5MSArPSAyOworICAgICAgICAgICAgICAgICBwdHIgKz0gbGluZXNpemUgKiAyOworICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICB9CisrICAgICAgICAgICAgd2hpbGUgKHkxID49IGhlaWdodCkgeworKyAgICAgICAgICAgICAgICB5MSA9IDQgPj4gcGFzczsKKysgICAgICAgICAgICAgICAgcHRyID0gcHRyMSArIGxpbmVzaXplICogeTE7CisrICAgICAgICAgICAgICAgIHBhc3MrKzsKKysgICAgICAgICAgICB9CisgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgIHB0ciArPSBsaW5lc2l6ZTsKKyAgICAgICAgIH0KKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTkzMTgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTkzMTgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDU1M2NlZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtOTMxOC5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDBkM2EzYjlmODkwNzYyNWIzNjE0MjBkNDhmZTA1NzE2ODU5NjIwZmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorRGF0ZTogV2VkLCAyNiBOb3YgMjAxNCAxODo1NjozOSArMDEwMAorU3ViamVjdDogW1BBVENIXSBhdmNvZGVjL3Jhd2RlYzogQ2hlY2sgdGhlIHJldHVybiBjb2RlIG9mCisgYXZwaWN0dXJlX2dldF9zaXplKCkKKworKFVwc3RyZWFtIGNvbW1pdCAxZDNhM2I5Zjg5MDc2MjViMzYxNDIwZDQ4ZmUwNTcxNjg1OTYyMGZmKQorCitGaXhlcyBvdXQgb2YgYXJyYXkgYWNjZXNzCitGaXhlczogYXNhbl9oZWFwLW9vYl8yMjM4OGQwXzM0MzVfY292XzMyOTcxMjg5MTBfc21hbGxfcm9sbDVfRmxhc2hDaW5lMS5jaW5lCitGb3VuZC1ieTogTWF0ZXVzeiAiajAwcnUiIEp1cmN6eWsgYW5kIEd5bnZhZWwgQ29sZHdpbmQKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsbmlAZ214LmF0PgorU2lnbmVkLW9mZi1ieTogWXVlIFRhbyA8eXVlLnRhb0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliYXZjb2RlYy9yYXdkZWMuYyB8ICAgIDMgKysrCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9yYXdkZWMuYyBiL2xpYmF2Y29kZWMvcmF3ZGVjLmMKK2luZGV4IDI4NzkyYTEuLjY0N2RmYTkgMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy9yYXdkZWMuYworKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvcmF3ZGVjLmMKK0BAIC04Nyw2ICs4Nyw5IEBAIHN0YXRpYyBhdl9jb2xkIGludCByYXdfaW5pdF9kZWNvZGVyKEFWQ29kZWNDb250ZXh0ICphdmN0eCkKKyAKKyAgICAgZmZfc2V0X3N5c3RlbWF0aWNfcGFsMihjb250ZXh0LT5wYWxldHRlLCBhdmN0eC0+cGl4X2ZtdCk7CisgICAgIGNvbnRleHQtPmxlbmd0aCA9IGF2cGljdHVyZV9nZXRfc2l6ZShhdmN0eC0+cGl4X2ZtdCwgYXZjdHgtPndpZHRoLCBhdmN0eC0+aGVpZ2h0KTsKKysgICAgaWYgKGNvbnRleHQtPmxlbmd0aCA8IDApCisrICAgICAgICByZXR1cm4gY29udGV4dC0+bGVuZ3RoOworKworICAgICBpZigoYXZjdHgtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSA9PSA0IHx8IGF2Y3R4LT5iaXRzX3Blcl9jb2RlZF9zYW1wbGUgPT0gMikgJiYKKyAgICAgICAgYXZjdHgtPnBpeF9mbXQ9PVBJWF9GTVRfUEFMOCAmJgorICAgICAgICAoIWF2Y3R4LT5jb2RlY190YWcgfHwgYXZjdHgtPmNvZGVjX3RhZyA9PSBNS1RBRygncicsJ2EnLCd3JywnICcpKSl7CistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC05NjAzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC05NjAzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkZGE0Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTk2MDMucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSBkYzY4ZmFmODMzOWE4ODViYzU1ZmFiZTViMDFmMWRlNGY4ZjM3ODJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDEzIE1heSAyMDE1IDE2OjMwOjUzICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBnc3QtZmZtcGVnOiBmaXggQ1ZFLTIwMTQtOTYwMworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1Vwc3RyZWFtIGlzIHZlcnNpb24gMi54IGFuZCB2bWRhdi5jIGlzIHNwbGl0dGVkIGludG8gMiBmaWxlcyB2bWRhdWRpby5jCithbmQgdm1kdmlkZW8uYy4gQmVjdWFzZSBzb3VyY2UgY29kZSBjaGFuZ2VzLCBqdXN0IHBhcnRseSBiYWNrcG9ydCBjb21taXQgd2hpY2gKK2lzIGFwcGxpY2FibGUgdG8gdmVyc2lvbiAwLjEwLjEzIHRvIGZpeCBDVkUtMjAxNC05NjAzLgorCitodHRwOi8vZ2l0LnZpZGVvbGFuLm9yZy8/cD1mZm1wZWcuZ2l0O2E9Y29tbWl0O2g9MzAzMGZiN2UwZDQxODM2ZjhhZGQ2Mzk5ZTlhN2M3Yjc0MGI0OGJmZAorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGdzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3ZtZGF2LmMgfCA3ICsrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMvdm1kYXYuYyBiL2dzdC1saWJzL2V4dC9saWJhdi9saWJhdmNvZGVjL3ZtZGF2LmMKK2luZGV4IGQyNTgyNTIuLmJhODhhZDggMTAwNjQ0CistLS0gYS9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy92bWRhdi5jCisrKysgYi9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy92bWRhdi5jCitAQCAtMjk0LDEwICsyOTQsMTMgQEAgc3RhdGljIHZvaWQgdm1kX2RlY29kZShWbWRWaWRlb0NvbnRleHQgKnMpCisgICAgICAgICAgICAgICAgICAgICBsZW4gPSAqcGIrKzsKKyAgICAgICAgICAgICAgICAgICAgIGlmIChsZW4gJiAweDgwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gKGxlbiAmIDB4N0YpICsgMTsKKy0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKnBiKysgPT0gMHhGRikKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKnBiKysgPT0gMHhGRikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSBybGVfdW5wYWNrKHBiLCAmZHBbb2ZzXSwgbGVuLCBmcmFtZV93aWR0aCAtIG9mcyk7CistICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvZnMgKyBsZW4gPiBmcmFtZV93aWR0aCkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtY3B5KCZkcFtvZnNdLCBwYiwgbGVuKTsKKysgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgcGIgKz0gbGVuOworICAgICAgICAgICAgICAgICAgICAgICAgIG9mcyArPSBsZW47CisgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2gyNjRfcXBlbF9tbXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2gyNjRfcXBlbF9tbXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRlMjRkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvaDI2NF9xcGVsX21teC5wYXRjaApAQCAtMCwwICsxLDU3IEBACitCYWNrcG9ydCBodHRwOi8vZ2l0LnZpZGVvbGFuLm9yZy8/cD1mZm1wZWcuZ2l0O2E9Y29tbWl0ZGlmZjtoPTVmNjU0ODk3ZTMyNTM0OWRhY2YyNTQ2Njc0ZTA1MTBiYjcyZWNiNTA7aHA9MjUwY2ViZWIzYjM0OGMzZGE3MWY5OTcyZWI1MDBkNjAwNWRjMDFmMQorCitGaXhlcyB0aGVzZSBlcnJvcnMgb24geDg2CisKK2xpYmF2Y29kZWMveDg2L2gyNjRfcXBlbF9tbXguYzogQXNzZW1ibGVyIG1lc3NhZ2VzOgorbGliYXZjb2RlYy94ODYvaDI2NF9xcGVsX21teC5jOjEyOTQ6IEVycm9yOiBvcGVyYW5kIHR5cGUgbWlzbWF0Y2ggZm9yIGBjbXAnCitsaWJhdmNvZGVjL3g4Ni9oMjY0X3FwZWxfbW14LmM6MTI5NDogRXJyb3I6IG9wZXJhbmQgdHlwZSBtaXNtYXRjaCBmb3IgYGNtcCcKK2xpYmF2Y29kZWMveDg2L2gyNjRfcXBlbF9tbXguYzoxMjk4OiBFcnJvcjogb3BlcmFuZCB0eXBlIG1pc21hdGNoIGZvciBgY21wJworbGliYXZjb2RlYy94ODYvaDI2NF9xcGVsX21teC5jOjEyOTg6IEVycm9yOiBvcGVyYW5kIHR5cGUgbWlzbWF0Y2ggZm9yIGBjbXAnCitsaWJhdmNvZGVjL3g4Ni9oMjY0X3FwZWxfbW14LmM6OTY0OiBFcnJvcjogb3BlcmFuZCB0eXBlIG1pc21hdGNoIGZvciBgY21wJworbGliYXZjb2RlYy94ODYvaDI2NF9xcGVsX21teC5jOjk2NDogRXJyb3I6IG9wZXJhbmQgdHlwZSBtaXNtYXRjaCBmb3IgYGNtcCcKK2xpYmF2Y29kZWMveDg2L2gyNjRfcXBlbF9tbXguYzo5NjQ6IEVycm9yOiBvcGVyYW5kIHR5cGUgbWlzbWF0Y2ggZm9yIGBjbXAnCittYWtlWzVdOiAqKiogW2xpYmF2Y29kZWMveDg2L2RzcHV0aWxfbW14Lm9dIEVycm9yIDEKKworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorSW5kZXg6IGdzdC1mZm1wZWctMC4xMC4xMy9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy94ODYvaDI2NF9xcGVsX21teC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZ3N0LWxpYnMvZXh0L2xpYmF2L2xpYmF2Y29kZWMveDg2L2gyNjRfcXBlbF9tbXguYwkyMDEyLTAzLTMwIDExOjM5OjQxLjMyNDUyMjA1MSAtMDcwMAorKysrIGdzdC1mZm1wZWctMC4xMC4xMy9nc3QtbGlicy9leHQvbGliYXYvbGliYXZjb2RlYy94ODYvaDI2NF9xcGVsX21teC5jCTIwMTItMDMtMzAgMTE6NTQ6MDguMTUyNTY0MDc1IC0wNzAwCitAQCAtMzk4LDcgKzM5OCw3IEBACisgICAgICAgICAgICAgIjI6ICAgICAgICAgICAgICAgICAgICAgICAgIFxuXHQiXAorICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICA6ICIrYSIoc3JjKSwgIitjIihkc3QpXAorLSAgICAgICAgICAgIDogIlMiKCh4ODZfcmVnKXNyY1N0cmlkZSksICJEIigoeDg2X3JlZylkc3RTdHJpZGUpLCAiZyIoaClcCisrICAgICAgICAgICAgOiAiUyIoKHg4Nl9yZWcpc3JjU3RyaWRlKSwgIkQiKCh4ODZfcmVnKWRzdFN0cmlkZSksICJybSIoaClcCisgICAgICAgICAgICAgOiAibWVtb3J5IlwKKyAgICAgICAgICk7XAorICAgICAgICAgc3JjICs9IDQtKGgrNSkqc3JjU3RyaWRlO1wKK0BAIC00NDYsNyArNDQ2LDcgQEAKKyAgICAgICAgICAgICBRUEVMX0gyNjRIViglJW1tMywgJSVtbTQsICUlbW01LCAlJW1tMCwgJSVtbTEsICUlbW0yLCAxNSo0OClcCisgICAgICAgICAgICAgIjI6ICAgICAgICAgICAgICAgICAgICAgXG5cdCJcCisgICAgICAgICAgICAgOiAiK2EiKHNyYylcCistICAgICAgICAgICAgOiAiYyIodG1wKSwgIlMiKCh4ODZfcmVnKXNyY1N0cmlkZSksICJnIihzaXplKVwKKysgICAgICAgICAgICA6ICJjIih0bXApLCAiUyIoKHg4Nl9yZWcpc3JjU3RyaWRlKSwgInJtIihzaXplKVwKKyAgICAgICAgICAgICA6ICJtZW1vcnkiXAorICAgICAgICAgICAgICk7XAorICAgICAgICAgdG1wICs9IDQ7XAorQEAgLTgyMyw3ICs4MjMsNyBAQAorICAgICAgICAgIjI6ICAgICAgICAgICAgICAgICAgICAgICAgICBcblx0IlwKKyAgICAgICAgIFwKKyAgICAgICAgIDogIithIihzcmMpLCAiK2MiKGRzdClcCistICAgICAgICA6ICJTIigoeDg2X3JlZylzcmNTdHJpZGUpLCAiRCIoKHg4Nl9yZWcpZHN0U3RyaWRlKSwgImciKGgpXAorKyAgICAgICAgOiAiUyIoKHg4Nl9yZWcpc3JjU3RyaWRlKSwgIkQiKCh4ODZfcmVnKWRzdFN0cmlkZSksICJybSIoaClcCisgICAgICAgICA6IFhNTV9DTE9CQkVSUygiJXhtbTAiLCAiJXhtbTEiLCAiJXhtbTIiLCAiJXhtbTMiLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAiJXhtbTQiLCAiJXhtbTUiLCAiJXhtbTYiLCAiJXhtbTciLClcCisgICAgICAgICAgICJtZW1vcnkiXAorQEAgLTg3OCw3ICs4NzgsNyBAQAorICAgICAgICAgICAgIFFQRUxfSDI2NEhWX1hNTSglJXhtbTMsICUleG1tNCwgJSV4bW01LCAlJXhtbTAsICUleG1tMSwgJSV4bW0yLCAxNSo0OCkKKyAgICAgICAgICAgICAiMjogICAgICAgICAgICAgICAgICAgICAgICAgXG5cdCIKKyAgICAgICAgICAgICA6ICIrYSIoc3JjKQorLSAgICAgICAgICAgIDogImMiKHRtcCksICJTIigoeDg2X3JlZylzcmNTdHJpZGUpLCAiZyIoc2l6ZSkKKysgICAgICAgICAgICA6ICJjIih0bXApLCAiUyIoKHg4Nl9yZWcpc3JjU3RyaWRlKSwgInJtIihzaXplKQorICAgICAgICAgICAgIDogWE1NX0NMT0JCRVJTKCIleG1tMCIsICIleG1tMSIsICIleG1tMiIsICIleG1tMyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiV4bW00IiwgIiV4bW01IiwgIiV4bW02IiwgIiV4bW03IiwpCisgICAgICAgICAgICAgICAibWVtb3J5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9saWJhdi05LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9saWJhdi05LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NjA3NTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2xpYmF2LTkucGF0Y2gKQEAgLTAsMCArMSw5MzA0IEBACitUYWtlbiBmcm9tIGdlbnRvbyBwYXRjaHNldDoKK2h0dHA6Ly9kZXYuZ2VudG9vLm9yZy9+dGV0cm9taW5vL2Rpc3RmaWxlcy9nc3QtcGx1Z2lucy1mZm1wZWcvZ3N0LWZmbXBlZy0wLjEwLjEzX3AyMDEyLjExLWxpYmF2LTktcGF0Y2hlcy50YXIueHoKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0NvbnRhaW5zIGZvbGxvd2luZyBjaGFuZ2VzLCByZWJhc2VkIHRvIGFwcGx5IG9uIHRvcCBvZiBvdXIgY2hhbmdlcworMDAwMi1GaXgtaW5jbHVkZXMtZm9yLXN5c3RlbXdpZGUtYnVpbGQucGF0Y2gKKzAwMDMtbGliYXYtU3dpdGNoLXRvLW5vbi1kZXByZWNhdGVkLXN5bWJvbHMucGF0Y2gKKzAwMDUtYXYtVXBkYXRlLWZvci1zb21lLWNvbnN0YW50LWNoYW5nZXMucGF0Y2gKKzAwMDYtYXYtUmVtb3ZlLXBhbGV0dGUtc3VwcG9ydC1mb3Itbm93LnBhdGNoCiswMDA3LWF2LVBvcnQtcmVtYWluaW5nLXNpbXBsZS1iaXRzLnBhdGNoCiswMDA4LWF2LVVzZS1hdl9jb2RlY19pc18tZW4tZGUtY29kZXItQVBJLWluc3RlYWQtb2YtcHJpdmEucGF0Y2gKKzAwMDktYXZwcm90b2NvbC1Qb3J0LWZyb20tdGhlLVVSTC1wcm90b2NvbC1oYW5kbGVyLXRvLXNhbi5wYXRjaAorMDAxMC1hdmRlYy1kb24tdC13YWl0LWZvci1rZXlmcmFtZS5wYXRjaAorCitGb2xsb3dpbmcgY2hhbmdlcyB3ZXJlIHNraXBwZWQ6CiswMDAxLVBhcnRpYWxseS1yZXZlcnQtY29tbWl0LTAzMDA4MDFiLnBhdGNoCiswMDA0LWF2LXVwZGF0ZS10by11c2UtQVZPcHRpb24tdmFyaWFudHMucGF0Y2gKKzAwMTEtYXZfZ2V0X2JpdHNfcGVyX3NhbXBsZV9mb3JtYXQtd2FzLXJlbW92ZWQtaW4tbGliYXYtOS5wYXRjaAorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CisKK2RpZmYgLXVOciBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZy5jIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZy5jCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWcuYwkyMDExLTEwLTMxIDExOjE0OjAzLjAwMDAwMDAwMCArMDEwMAorKysrIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZy5jCTIwMTQtMDgtMDggMTU6MjY6MDcuODcyODU3NTU1ICswMjAwCitAQCAtMTUxLDkgKzE1MSw2IEBACisgI2VuZGlmCisgICBnc3RfZmZtcGVnYXVkaW9yZXNhbXBsZV9yZWdpc3RlciAocGx1Z2luKTsKKyAKKy0gIGF2X3JlZ2lzdGVyX3Byb3RvY29sMiAoJmdzdHJlYW1lcl9wcm90b2NvbCwgc2l6ZW9mIChVUkxQcm90b2NvbCkpOworLSAgYXZfcmVnaXN0ZXJfcHJvdG9jb2wyICgmZ3N0cGlwZV9wcm90b2NvbCwgc2l6ZW9mIChVUkxQcm90b2NvbCkpOworLQorICAgLyogTm93IHdlIGNhbiByZXR1cm4gdGhlIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGNyZWF0ZWQgUGx1Z2luIG9iamVjdC4gKi8KKyAgIHJldHVybiBUUlVFOworIH0KK2RpZmYgLXVOciBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZy5oIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZy5oCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWcuaAkyMDExLTA1LTE3IDEwOjUzOjE2LjAwMDAwMDAwMCArMDIwMAorKysrIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZy5oCTIwMTQtMDgtMDggMTU6MjY6MDcuODcyODU3NTU1ICswMjAwCitAQCAtNTgsMTAgKzU4LDEzIEBACisgaW50IGdzdF9mZm1wZWdfYXZjb2RlY19jbG9zZSAoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KTsKKyBpbnQgZ3N0X2ZmbXBlZ19hdl9maW5kX3N0cmVhbV9pbmZvKEFWRm9ybWF0Q29udGV4dCAqaWMpOworIAorLUdfRU5EX0RFQ0xTCisraW50IGdzdF9mZm1wZWdkYXRhX29wZW4gKEdzdFBhZCAqIHBhZCwgaW50IGZsYWdzLCBBVklPQ29udGV4dCAqKiBjb250ZXh0KTsKKytpbnQgZ3N0X2ZmbXBlZ2RhdGFfY2xvc2UgKEFWSU9Db250ZXh0ICogaCk7CisrdHlwZWRlZiBzdHJ1Y3QgX0dzdEZGTXBlZ1BpcGUgR3N0RkZNcGVnUGlwZTsKKytpbnQgZ3N0X2ZmbXBlZ19waXBlX29wZW4gKEdzdEZGTXBlZ1BpcGUgKmZmcGlwZSwgaW50IGZsYWdzLCBBVklPQ29udGV4dCAqKiBjb250ZXh0KTsKKytpbnQgZ3N0X2ZmbXBlZ19waXBlX2Nsb3NlIChBVklPQ29udGV4dCAqIGgpOworIAorLWV4dGVybiBVUkxQcm90b2NvbCBnc3RyZWFtZXJfcHJvdG9jb2w7CistZXh0ZXJuIFVSTFByb3RvY29sIGdzdHBpcGVfcHJvdG9jb2w7CisrR19FTkRfREVDTFMKKyAKKyAvKiB1c2UgR1NUX0ZGTVBFRyBVUkxfU1RSRUFNSEVBREVSIHdpdGggVVJMX1dST05MWSBpZiB0aGUgZmlyc3QKKyAgKiBidWZmZXIgc2hvdWxkIGJlIHVzZWQgYXMgc3RyZWFtaGVhZGVyIHByb3BlcnR5IG9uIHRoZSBwYWQncyBjYXBzLiAqLworZGlmZiAtdU5yIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY2ZnLmMgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY2ZnLmMKKy0tLSBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ2NmZy5jCTIwMTEtMDctMTIgMTY6MzU6MjcuMDAwMDAwMDAwICswMjAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY2ZnLmMJMjAxNC0wOC0wOCAxNToyNDoxNy44OTk4NTM2MTIgKzAyMDAKK0BAIC0xNDcsNyArMTQ3LDYgQEAKKyAgICAgICB7RkZfRENUX0ZBU1RJTlQsICJGYXN0IEludGVnZXIiLCAiZmFzdGludCJ9LAorICAgICAgIHtGRl9EQ1RfSU5ULCAiQWNjdXJhdGUgSW50ZWdlciIsICJpbnQifSwKKyAgICAgICB7RkZfRENUX01NWCwgIk1NWCIsICJtbXgifSwKKy0gICAgICB7RkZfRENUX01MSUIsICJNTElCIiwgIm1saWIifSwKKyAgICAgICB7RkZfRENUX0FMVElWRUMsICJBTFRJVkVDIiwgImFsdGl2ZWMifSwKKyAgICAgICB7RkZfRENUX0ZBQU4sICJGQUFOIiwgImZhYW4ifSwKKyAgICAgICB7MCwgTlVMTCwgTlVMTH0sCitAQCAtMTczLDggKzE3Miw2IEBACisgICAgICAge0ZGX0lEQ1RfU0lNUExFLCAiU2ltcGxlIiwgInNpbXBsZSJ9LAorICAgICAgIHtGRl9JRENUX1NJTVBMRU1NWCwgIlNpbXBsZSBNTVgiLCAic2ltcGxlbW14In0sCisgICAgICAge0ZGX0lEQ1RfTElCTVBFRzJNTVgsICJMSUJNUEVHMk1NWCIsICJsaWJtcGVnMm1teCJ9LAorLSAgICAgIHtGRl9JRENUX1BTMiwgIlBTMiIsICJwczIifSwKKy0gICAgICB7RkZfSURDVF9NTElCLCAiTUxJQiIsICJtbGliIn0sCisgICAgICAge0ZGX0lEQ1RfQVJNLCAiQVJNIiwgImFybSJ9LAorICAgICAgIHtGRl9JRENUX0FMVElWRUMsICJBTFRJVkVDIiwgImFsdGl2ZWMifSwKKyAgICAgICB7RkZfSURDVF9TSDQsICJTSDQiLCAic2g0In0sCitAQCAtMjYzLDE2ICsyNjAsMTEgQEAKKyAKKyAgIGlmICghZmZtcGVnX2ZsYWdzX3R5cGUpIHsKKyAgICAgc3RhdGljIGNvbnN0IEdGbGFnc1ZhbHVlIGZmbXBlZ19mbGFnc1tdID0geworLSAgICAgIHtDT0RFQ19GTEFHX09CTUMsICJVc2Ugb3ZlcmxhcHBlZCBibG9jayBtb3Rpb24gY29tcGVuc2F0aW9uIChoMjYzKykiLAorLSAgICAgICAgICAib2JtYyJ9LAorICAgICAgIHtDT0RFQ19GTEFHX1FTQ0FMRSwgIlVzZSBmaXhlZCBxc2NhbGUiLCAicXNjYWxlIn0sCisgICAgICAge0NPREVDX0ZMQUdfNE1WLCAiQWxsb3cgNCBNViBwZXIgTUIiLCAiNG12In0sCistICAgICAge0NPREVDX0ZMQUdfSDI2M1BfQUlWLCAiSC4yNjMgYWx0ZXJuYXRpdmUgaW50ZXIgVkxDIiwgImFpdiJ9LAorICAgICAgIHtDT0RFQ19GTEFHX1FQRUwsICJRdWFydGVsIFBlbCBNb3Rpb24gQ29tcGVuc2F0aW9uIiwgInFwZWwifSwKKyAgICAgICB7Q09ERUNfRkxBR19HTUMsICJHTUMiLCAiZ21jIn0sCisgICAgICAge0NPREVDX0ZMQUdfTVYwLCAiQWx3YXlzIHRyeSBhIE1CIHdpdGggTVYgKDAsMCkiLCAibXYwIn0sCistICAgICAge0NPREVDX0ZMQUdfUEFSVCwKKy0gICAgICAgICAgIlN0b3JlIE1WLCBEQyBhbmQgQUMgY29lZmZpY2llbnRzIGluIHNlcGVyYXRlIHBhcnRpdGlvbnMiLCAicGFydCJ9LAorICAgICAgIHtDT0RFQ19GTEFHX0xPT1BfRklMVEVSLCAiTG9vcCBmaWx0ZXIiLCAibG9vcC1maWx0ZXIifSwKKyAgICAgICB7Q09ERUNfRkxBR19HUkFZLCAiT25seSBkZWNvZGUvZW5jb2RlIGdyYXlzY2FsZSIsICJncmF5In0sCisgICAgICAge0NPREVDX0ZMQUdfTk9STUFMSVpFX0FRUCwKK0BAIC0yODIsMTMgKzI3NCw5IEBACisgICAgICAgICAgICJnbG9iYWwtaGVhZGVycyJ9LAorICAgICAgIHtDT0RFQ19GTEFHX0FDX1BSRUQsICJIMjYzIEFkdmFuY2VkIEludHJhIENvZGluZyAvIE1QRUc0IEFDIHByZWRpY3Rpb24iLAorICAgICAgICAgICAiYWljIn0sCistICAgICAge0NPREVDX0ZMQUdfSDI2M1BfVU1WLCAiVW5saW1pdGVkIE1vdGlvbiBWZWN0b3IiLCAidW12In0sCisgICAgICAge0NPREVDX0ZMQUdfQ0JQX1JELCAiUmF0ZSBEaXN0b3JhdGlvbiBPcHRpbWl6YXRpb24gZm9yIENCUCIsICJjYnAtcmQifSwKKyAgICAgICB7Q09ERUNfRkxBR19RUF9SRCwgIlJhdGUgRGlzdG9yYXRpb24gT3B0aW1pemF0aW9uIGZvciBRUCBzZWxlY3Rpb24iLAorICAgICAgICAgICAicXAtcmQifSwKKy0gICAgICB7Q09ERUNfRkxBR19IMjYzUF9TTElDRV9TVFJVQ1QsICJIMjYzIHNsaWNlIHN0cnVjdCIsICJzcyJ9LAorLSAgICAgIHtDT0RFQ19GTEFHX1NWQ0RfU0NBTl9PRkZTRVQsCistICAgICAgICAgICJSZXNlcnZlIHNwYWNlIGZvciBTVkNEIHNjYW4gb2Zmc2V0IHVzZXIgZGF0YSIsICJzY2Fub2Zmc2V0In0sCisgICAgICAge0NPREVDX0ZMQUdfQ0xPU0VEX0dPUCwgIkNsb3NlZCBHT1AiLCAiY2xvc2VkZ29wIn0sCisgICAgICAgezAsIE5VTEwsIE5VTEx9LAorICAgICB9OworZGlmZiAtdU5yIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY29kZWNtYXAuYyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jCTIwMTEtMTAtMzEgMTE6MTQ6MDMuMDAwMDAwMDAwICswMTAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY29kZWNtYXAuYwkyMDE0LTA4LTA4IDE1OjMxOjMwLjk2ODg2OTEzOSArMDIwMAorQEAgLTI1LDggKzI1LDEwIEBACisgI2luY2x1ZGUgPGdzdC9nc3QuaD4KKyAjaWZkZWYgSEFWRV9GRk1QRUdfVU5JTlNUQUxMRUQKKyAjaW5jbHVkZSA8YXZjb2RlYy5oPgorKyNpbmNsdWRlIDxjaGFubmVsX2xheW91dC5oPgorICNlbHNlCisgI2luY2x1ZGUgPGxpYmF2Y29kZWMvYXZjb2RlYy5oPgorKyNpbmNsdWRlIDxsaWJhdnV0aWwvY2hhbm5lbF9sYXlvdXQuaD4KKyAjZW5kaWYKKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgCitAQCAtMzUsNDMgKzM3LDYgQEAKKyAKKyAjaW5jbHVkZSA8Z3N0L3BidXRpbHMvY29kZWMtdXRpbHMuaD4KKyAKKy0vKgorLSAqIFJlYWQgYSBwYWxldHRlIGZyb20gYSBjYXBzLgorLSAqLworLQorLXN0YXRpYyB2b2lkCistZ3N0X2ZmbXBlZ19nZXRfcGFsZXR0ZSAoY29uc3QgR3N0Q2FwcyAqIGNhcHMsIEFWQ29kZWNDb250ZXh0ICogY29udGV4dCkKKy17CistICBHc3RTdHJ1Y3R1cmUgKnN0ciA9IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUgKGNhcHMsIDApOworLSAgY29uc3QgR1ZhbHVlICpwYWxldHRlX3Y7CistICBjb25zdCBHc3RCdWZmZXIgKnBhbGV0dGU7CistCistICAvKiBkbyB3ZSBoYXZlIGEgcGFsZXR0ZT8gKi8KKy0gIGlmICgocGFsZXR0ZV92ID0gZ3N0X3N0cnVjdHVyZV9nZXRfdmFsdWUgKHN0ciwgInBhbGV0dGVfZGF0YSIpKSAmJiBjb250ZXh0KSB7CistICAgIHBhbGV0dGUgPSBnc3RfdmFsdWVfZ2V0X2J1ZmZlciAocGFsZXR0ZV92KTsKKy0gICAgaWYgKEdTVF9CVUZGRVJfU0laRSAocGFsZXR0ZSkgPj0gQVZQQUxFVFRFX1NJWkUpIHsKKy0gICAgICBpZiAoY29udGV4dC0+cGFsY3RybCkKKy0gICAgICAgIGF2X2ZyZWUgKGNvbnRleHQtPnBhbGN0cmwpOworLSAgICAgIGNvbnRleHQtPnBhbGN0cmwgPSBhdl9tYWxsb2MgKHNpemVvZiAoQVZQYWxldHRlQ29udHJvbCkpOworLSAgICAgIGNvbnRleHQtPnBhbGN0cmwtPnBhbGV0dGVfY2hhbmdlZCA9IDE7CistICAgICAgbWVtY3B5IChjb250ZXh0LT5wYWxjdHJsLT5wYWxldHRlLCBHU1RfQlVGRkVSX0RBVEEgKHBhbGV0dGUpLAorLSAgICAgICAgICBBVlBBTEVUVEVfU0laRSk7CistICAgIH0KKy0gIH0KKy19CistCistc3RhdGljIHZvaWQKKy1nc3RfZmZtcGVnX3NldF9wYWxldHRlIChHc3RDYXBzICogY2FwcywgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0KQorLXsKKy0gIGlmIChjb250ZXh0LT5wYWxjdHJsKSB7CistICAgIEdzdEJ1ZmZlciAqcGFsZXR0ZSA9IGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYyAoQVZQQUxFVFRFX1NJWkUpOworLQorLSAgICBtZW1jcHkgKEdTVF9CVUZGRVJfREFUQSAocGFsZXR0ZSksIGNvbnRleHQtPnBhbGN0cmwtPnBhbGV0dGUsCistICAgICAgICBBVlBBTEVUVEVfU0laRSk7CistICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsICJwYWxldHRlX2RhdGEiLCBHU1RfVFlQRV9CVUZGRVIsIHBhbGV0dGUsIE5VTEwpOworLSAgfQorLX0KKy0KKyAvKiBJTVBPUlRBTlQ6IEtlZXAgdGhpcyBzb3J0ZWQgYnkgdGhlIGZmbXBlZyBjaGFubmVsIG1hc2tzICovCisgc3RhdGljIGNvbnN0IHN0cnVjdAorIHsKK0BAIC03OSwyNiArNDQsMjYgQEAKKyAgIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uIGdzdDsKKyB9IF9mZl90b19nc3RfbGF5b3V0W10gPSB7CisgICB7CistICBDSF9GUk9OVF9MRUZULCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9MRUZUfSwgeworLSAgQ0hfRlJPTlRfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUfSwgeworLSAgQ0hfRlJPTlRfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9DRU5URVJ9LCB7CistICBDSF9MT1dfRlJFUVVFTkNZLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9MRkV9LCB7CistICBDSF9CQUNLX0xFRlQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX1JFQVJfTEVGVH0sIHsKKy0gIENIX0JBQ0tfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX1JFQVJfUklHSFR9LCB7CistICBDSF9GUk9OVF9MRUZUX09GX0NFTlRFUiwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVF9PRl9DRU5URVJ9LCB7CistICBDSF9GUk9OVF9SSUdIVF9PRl9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUX09GX0NFTlRFUn0sIHsKKy0gIENIX0JBQ0tfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9SRUFSX0NFTlRFUn0sIHsKKy0gIENIX1NJREVfTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fU0lERV9MRUZUfSwgeworLSAgQ0hfU0lERV9SSUdIVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fU0lERV9SSUdIVH0sIHsKKy0gIENIX1RPUF9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CistICBDSF9UT1BfRlJPTlRfTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fTk9ORX0sIHsKKy0gIENIX1RPUF9GUk9OVF9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CistICBDSF9UT1BfRlJPTlRfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CistICBDSF9UT1BfQkFDS19MRUZULCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FfSwgeworLSAgQ0hfVE9QX0JBQ0tfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FfSwgeworLSAgQ0hfVE9QX0JBQ0tfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CistICBDSF9TVEVSRU9fTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVH0sIHsKKy0gIENIX1NURVJFT19SSUdIVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfUklHSFR9CisrICBBVl9DSF9GUk9OVF9MRUZULCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9MRUZUfSwgeworKyAgQVZfQ0hfRlJPTlRfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUfSwgeworKyAgQVZfQ0hfRlJPTlRfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9DRU5URVJ9LCB7CisrICBBVl9DSF9MT1dfRlJFUVVFTkNZLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9MRkV9LCB7CisrICBBVl9DSF9CQUNLX0xFRlQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX1JFQVJfTEVGVH0sIHsKKysgIEFWX0NIX0JBQ0tfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX1JFQVJfUklHSFR9LCB7CisrICBBVl9DSF9GUk9OVF9MRUZUX09GX0NFTlRFUiwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVF9PRl9DRU5URVJ9LCB7CisrICBBVl9DSF9GUk9OVF9SSUdIVF9PRl9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUX09GX0NFTlRFUn0sIHsKKysgIEFWX0NIX0JBQ0tfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9SRUFSX0NFTlRFUn0sIHsKKysgIEFWX0NIX1NJREVfTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fU0lERV9MRUZUfSwgeworKyAgQVZfQ0hfU0lERV9SSUdIVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fU0lERV9SSUdIVH0sIHsKKysgIEFWX0NIX1RPUF9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9UT1BfRlJPTlRfTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fTk9ORX0sIHsKKysgIEFWX0NIX1RPUF9GUk9OVF9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9UT1BfRlJPTlRfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9UT1BfQkFDS19MRUZULCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FfSwgeworKyAgQVZfQ0hfVE9QX0JBQ0tfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FfSwgeworKyAgQVZfQ0hfVE9QX0JBQ0tfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9TVEVSRU9fTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVH0sIHsKKysgIEFWX0NIX1NURVJFT19SSUdIVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfUklHSFR9CisgfTsKKyAKKyBzdGF0aWMgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24gKgorQEAgLTM0Miw4ICszMDcsOCBAQAorIAorICAgICBpZiAoY2hhbm5lbF9sYXlvdXQgPT0gMCkgeworICAgICAgIGNvbnN0IGd1aW50NjQgZGVmYXVsdF9jaGFubmVsX3NldFtdID0geworLSAgICAgICAgMCwgMCwgQ0hfTEFZT1VUX1NVUlJPVU5ELCBDSF9MQVlPVVRfUVVBRCwgQ0hfTEFZT1VUXzVQT0lOVDAsCistICAgICAgICBDSF9MQVlPVVRfNVBPSU5UMSwgMCwgQ0hfTEFZT1VUXzdQT0lOVDEKKysgICAgICAgIDAsIDAsIEFWX0NIX0xBWU9VVF9TVVJST1VORCwgQVZfQ0hfTEFZT1VUX1FVQUQsIEFWX0NIX0xBWU9VVF81UE9JTlQwLAorKyAgICAgICAgQVZfQ0hfTEFZT1VUXzVQT0lOVDEsIDAsIEFWX0NIX0xBWU9VVF83UE9JTlQxCisgICAgICAgfTsKKyAKKyAgICAgICBzd2l0Y2ggKGNvZGVjX2lkKSB7CitAQCAtMTI2Nyw4ICsxMjMyLDYgQEAKKyAgICAgY2FzZSBDT0RFQ19JRF9GTElDOgorICAgICBjYXNlIENPREVDX0lEX1ZNRFZJREVPOgorICAgICBjYXNlIENPREVDX0lEX1ZNREFVRElPOgorLSAgICBjYXNlIENPREVDX0lEX1NPTklDOgorLSAgICBjYXNlIENPREVDX0lEX1NPTklDX0xTOgorICAgICBjYXNlIENPREVDX0lEX1NOT1c6CisgICAgIGNhc2UgQ09ERUNfSURfVklYTDoKKyAgICAgY2FzZSBDT0RFQ19JRF9RUEVHOgorQEAgLTE2ODksMTEgKzE2NTIsNiBAQAorICAgICAgIGdzdF9idWZmZXJfdW5yZWYgKGRhdGEpOworICAgICB9CisgCistICAgIC8qIHBhbGV0dGUgKi8KKy0gICAgaWYgKGNvbnRleHQpIHsKKy0gICAgICBnc3RfZmZtcGVnX3NldF9wYWxldHRlIChjYXBzLCBjb250ZXh0KTsKKy0gICAgfQorLQorICAgICBHU1RfTE9HICgiY2FwcyBmb3IgY29kZWNfaWQ9JWQ6ICUiIEdTVF9QVFJfRk9STUFULCBjb2RlY19pZCwgY2Fwcyk7CisgCisgICB9IGVsc2UgeworQEAgLTE4MzAsOSArMTc4OCw2IEBACisgICAgICAgICAgICAgImJwcCIsIEdfVFlQRV9JTlQsIGJwcCwKKyAgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCBkZXB0aCwKKyAgICAgICAgICAgICAiZW5kaWFubmVzcyIsIEdfVFlQRV9JTlQsIGVuZGlhbm5lc3MsIE5VTEwpOworLSAgICAgICAgaWYgKGNhcHMgJiYgY29udGV4dCkgeworLSAgICAgICAgICBnc3RfZmZtcGVnX3NldF9wYWxldHRlIChjYXBzLCBjb250ZXh0KTsKKy0gICAgICAgIH0KKyAgICAgICB9CisgICAgIH0gZWxzZSBpZiAoZm10KSB7CisgICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1yYXcteXV2IiwKK0BAIC0xODU3LDcgKzE4MTIsNyBAQAorICAqLworIAorIHN0YXRpYyBHc3RDYXBzICoKKy1nc3RfZmZtcGVnX3NtcGZtdF90b19jYXBzIChlbnVtIFNhbXBsZUZvcm1hdCBzYW1wbGVfZm10LAorK2dzdF9mZm1wZWdfc21wZm10X3RvX2NhcHMgKGVudW0gQVZTYW1wbGVGb3JtYXQgc2FtcGxlX2ZtdCwKKyAgICAgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LCBlbnVtIENvZGVjSUQgY29kZWNfaWQpCisgeworICAgR3N0Q2FwcyAqY2FwcyA9IE5VTEw7CitAQCAtMTg2NywyMiArMTgyMiwyMiBAQAorICAgZ2Jvb2xlYW4gc2lnbmVkbmVzcyA9IEZBTFNFOworIAorICAgc3dpdGNoIChzYW1wbGVfZm10KSB7CistICAgIGNhc2UgU0FNUExFX0ZNVF9TMTY6CisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9TMTY6CisgICAgICAgc2lnbmVkbmVzcyA9IFRSVUU7CisgICAgICAgYnBwID0gMTY7CisgICAgICAgYnJlYWs7CisgCistICAgIGNhc2UgU0FNUExFX0ZNVF9TMzI6CisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9TMzI6CisgICAgICAgc2lnbmVkbmVzcyA9IFRSVUU7CisgICAgICAgYnBwID0gMzI7CisgICAgICAgYnJlYWs7CisgCistICAgIGNhc2UgU0FNUExFX0ZNVF9GTFQ6CisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9GTFQ6CisgICAgICAgaW50ZWdlciA9IEZBTFNFOworICAgICAgIGJwcCA9IDMyOworICAgICAgIGJyZWFrOworIAorLSAgICBjYXNlIFNBTVBMRV9GTVRfREJMOgorKyAgICBjYXNlIEFWX1NBTVBMRV9GTVRfREJMOgorICAgICAgIGludGVnZXIgPSBGQUxTRTsKKyAgICAgICBicHAgPSA2NDsKKyAgICAgICBicmVhazsKK0BAIC0xOTQxLDEyICsxODk2LDEyIEBACisgICAgIH0KKyAgIH0gZWxzZSB7CisgICAgIEdzdENhcHMgKnRlbXA7CistICAgIGVudW0gU2FtcGxlRm9ybWF0IGk7CisrICAgIGVudW0gQVZTYW1wbGVGb3JtYXQgaTsKKyAgICAgQVZDb2RlY0NvbnRleHQgY3R4ID0geyAwLCB9OworIAorICAgICBjdHguY2hhbm5lbHMgPSAtMTsKKyAgICAgY2FwcyA9IGdzdF9jYXBzX25ld19lbXB0eSAoKTsKKy0gICAgZm9yIChpID0gMDsgaSA8PSBTQU1QTEVfRk1UX0RCTDsgaSsrKSB7CisrICAgIGZvciAoaSA9IDA7IGkgPD0gQVZfU0FNUExFX0ZNVF9EQkw7IGkrKykgeworICAgICAgIHRlbXAgPSBnc3RfZmZtcGVnX3NtcGZtdF90b19jYXBzIChpLCBlbmNvZGUgPyAmY3R4IDogTlVMTCwgY29kZWNfaWQpOworICAgICAgIGlmICh0ZW1wICE9IE5VTEwpIHsKKyAgICAgICAgIGdzdF9jYXBzX2FwcGVuZCAoY2FwcywgdGVtcCk7CitAQCAtMjA0OSw5ICsyMDA0LDkgQEAKKyAgICAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiZW5kaWFubmVzcyIsICZlbmRpYW5uZXNzKSkgeworICAgICAgIGlmIChlbmRpYW5uZXNzID09IEdfQllURV9PUkRFUikgeworICAgICAgICAgaWYgKHdpZHRoID09IDMyKQorLSAgICAgICAgICBjb250ZXh0LT5zYW1wbGVfZm10ID0gU0FNUExFX0ZNVF9GTFQ7CisrICAgICAgICAgIGNvbnRleHQtPnNhbXBsZV9mbXQgPSBBVl9TQU1QTEVfRk1UX0ZMVDsKKyAgICAgICAgIGVsc2UgaWYgKHdpZHRoID09IDY0KQorLSAgICAgICAgICBjb250ZXh0LT5zYW1wbGVfZm10ID0gU0FNUExFX0ZNVF9EQkw7CisrICAgICAgICAgIGNvbnRleHQtPnNhbXBsZV9mbXQgPSBBVl9TQU1QTEVfRk1UX0RCTDsKKyAgICAgICB9CisgICAgIH0KKyAgIH0gZWxzZSB7CitAQCAtMjA2Miw5ICsyMDE3LDkgQEAKKyAgICAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiZW5kaWFubmVzcyIsICZlbmRpYW5uZXNzKSkgeworICAgICAgIGlmICgoZW5kaWFubmVzcyA9PSBHX0JZVEVfT1JERVIpICYmIChzaWduZWRuZXNzID09IFRSVUUpKSB7CisgICAgICAgICBpZiAoKHdpZHRoID09IDE2KSAmJiAoZGVwdGggPT0gMTYpKQorLSAgICAgICAgICBjb250ZXh0LT5zYW1wbGVfZm10ID0gU0FNUExFX0ZNVF9TMTY7CisrICAgICAgICAgIGNvbnRleHQtPnNhbXBsZV9mbXQgPSBBVl9TQU1QTEVfRk1UX1MxNjsKKyAgICAgICAgIGVsc2UgaWYgKCh3aWR0aCA9PSAzMikgJiYgKGRlcHRoID09IDMyKSkKKy0gICAgICAgICAgY29udGV4dC0+c2FtcGxlX2ZtdCA9IFNBTVBMRV9GTVRfUzMyOworKyAgICAgICAgICBjb250ZXh0LT5zYW1wbGVfZm10ID0gQVZfU0FNUExFX0ZNVF9TMzI7CisgICAgICAgfQorICAgICB9CisgICB9CitAQCAtMjE5MCw3ICsyMTQ1LDYgQEAKKyAgICAgICB9IGVsc2UgeworICAgICAgICAgaWYgKGJwcCA9PSA4KSB7CisgICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1BBTDg7CistICAgICAgICAgIGdzdF9mZm1wZWdfZ2V0X3BhbGV0dGUgKGNhcHMsIGNvbnRleHQpOworICAgICAgICAgfQorICAgICAgIH0KKyAgICAgfQorQEAgLTI1NzYsNyArMjUzMCw2IEBACisgICBzd2l0Y2ggKGNvZGVjX3R5cGUpIHsKKyAgICAgY2FzZSBBVk1FRElBX1RZUEVfVklERU86CisgICAgICAgZ3N0X2ZmbXBlZ19jYXBzX3RvX3BpeGZtdCAoY2FwcywgY29udGV4dCwgY29kZWNfaWQgPT0gQ09ERUNfSURfUkFXVklERU8pOworLSAgICAgIGdzdF9mZm1wZWdfZ2V0X3BhbGV0dGUgKGNhcHMsIGNvbnRleHQpOworICAgICAgIGJyZWFrOworICAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKKyAgICAgICBnc3RfZmZtcGVnX2NhcHNfdG9fc21wZm10IChjYXBzLCBjb250ZXh0LCBGQUxTRSk7CitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jLm9yaWcgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY29kZWNtYXAuYy5vcmlnCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jLm9yaWcJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jLm9yaWcJMjAxNC0wOC0wOCAxNTozMDozNC4wMDY4NjcwOTcgKzAyMDAKK0BAIC0wLDAgKzEsMzQ0NyBAQAorKy8qIEdTdHJlYW1lcgorKyAqIENvcHlyaWdodCAoQykgPDE5OTk+IEVyaWsgV2FsdGhpbnNlbiA8b21lZ2FAY3NlLm9naS5lZHU+CisrICogVGhpcyBmaWxlOgorKyAqIENvcHlyaWdodCAoYykgMjAwMi0yMDA0IFJvbmFsZCBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KKysgKgorKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKysgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysgKgorKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKysgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysgKgorKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisrICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUKKysgKiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKysgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKysgKi8KKysKKysjaWZkZWYgSEFWRV9DT05GSUdfSAorKyNpbmNsdWRlICJjb25maWcuaCIKKysjZW5kaWYKKysjaW5jbHVkZSA8Z3N0L2dzdC5oPgorKyNpZmRlZiBIQVZFX0ZGTVBFR19VTklOU1RBTExFRAorKyNpbmNsdWRlIDxhdmNvZGVjLmg+CisrI2luY2x1ZGUgPGNoYW5uZWxfbGF5b3V0Lmg+PgorKyNlbHNlCisrI2luY2x1ZGUgPGxpYmF2Y29kZWMvYXZjb2RlYy5oPgorKyNpbmNsdWRlIDxsaWJhdnV0aWwvY2hhbm5lbF9sYXlvdXQuaD4KKysjZW5kaWYKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisrI2luY2x1ZGUgImdzdGZmbXBlZy5oIgorKyNpbmNsdWRlICJnc3RmZm1wZWdjb2RlY21hcC5oIgorKworKyNpbmNsdWRlIDxnc3QvcGJ1dGlscy9jb2RlYy11dGlscy5oPgorKworKy8qCisrICogUmVhZCBhIHBhbGV0dGUgZnJvbSBhIGNhcHMuCisrICovCisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnX2dldF9wYWxldHRlIChjb25zdCBHc3RDYXBzICogY2FwcywgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0KQorK3sKKysgIEdzdFN0cnVjdHVyZSAqc3RyID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgMCk7CisrICBjb25zdCBHVmFsdWUgKnBhbGV0dGVfdjsKKysgIGNvbnN0IEdzdEJ1ZmZlciAqcGFsZXR0ZTsKKysKKysgIC8qIGRvIHdlIGhhdmUgYSBwYWxldHRlPyAqLworKyAgaWYgKChwYWxldHRlX3YgPSBnc3Rfc3RydWN0dXJlX2dldF92YWx1ZSAoc3RyLCAicGFsZXR0ZV9kYXRhIikpICYmIGNvbnRleHQpIHsKKysgICAgcGFsZXR0ZSA9IGdzdF92YWx1ZV9nZXRfYnVmZmVyIChwYWxldHRlX3YpOworKyAgICBpZiAoR1NUX0JVRkZFUl9TSVpFIChwYWxldHRlKSA+PSBBVlBBTEVUVEVfU0laRSkgeworKyAgICAgIGlmIChjb250ZXh0LT5wYWxjdHJsKQorKyAgICAgICAgYXZfZnJlZSAoY29udGV4dC0+cGFsY3RybCk7CisrICAgICAgY29udGV4dC0+cGFsY3RybCA9IGF2X21hbGxvYyAoc2l6ZW9mIChBVlBhbGV0dGVDb250cm9sKSk7CisrICAgICAgY29udGV4dC0+cGFsY3RybC0+cGFsZXR0ZV9jaGFuZ2VkID0gMTsKKysgICAgICBtZW1jcHkgKGNvbnRleHQtPnBhbGN0cmwtPnBhbGV0dGUsIEdTVF9CVUZGRVJfREFUQSAocGFsZXR0ZSksCisrICAgICAgICAgIEFWUEFMRVRURV9TSVpFKTsKKysgICAgfQorKyAgfQorK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdfc2V0X3BhbGV0dGUgKEdzdENhcHMgKiBjYXBzLCBBVkNvZGVjQ29udGV4dCAqIGNvbnRleHQpCisreworKyAgaWYgKGNvbnRleHQtPnBhbGN0cmwpIHsKKysgICAgR3N0QnVmZmVyICpwYWxldHRlID0gZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jIChBVlBBTEVUVEVfU0laRSk7CisrCisrICAgIG1lbWNweSAoR1NUX0JVRkZFUl9EQVRBIChwYWxldHRlKSwgY29udGV4dC0+cGFsY3RybC0+cGFsZXR0ZSwKKysgICAgICAgIEFWUEFMRVRURV9TSVpFKTsKKysgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywgInBhbGV0dGVfZGF0YSIsIEdTVF9UWVBFX0JVRkZFUiwgcGFsZXR0ZSwgTlVMTCk7CisrICB9CisrfQorKworKy8qIElNUE9SVEFOVDogS2VlcCB0aGlzIHNvcnRlZCBieSB0aGUgZmZtcGVnIGNoYW5uZWwgbWFza3MgKi8KKytzdGF0aWMgY29uc3Qgc3RydWN0CisreworKyAgZ3VpbnQ2NCBmZjsKKysgIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uIGdzdDsKKyt9IF9mZl90b19nc3RfbGF5b3V0W10gPSB7CisrICB7CisrICBBVl9DSF9GUk9OVF9MRUZULCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9MRUZUfSwgeworKyAgQVZfQ0hfRlJPTlRfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUfSwgeworKyAgQVZfQ0hfRlJPTlRfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9DRU5URVJ9LCB7CisrICBBVl9DSF9MT1dfRlJFUVVFTkNZLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9MRkV9LCB7CisrICBBVl9DSF9CQUNLX0xFRlQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX1JFQVJfTEVGVH0sIHsKKysgIEFWX0NIX0JBQ0tfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX1JFQVJfUklHSFR9LCB7CisrICBBVl9DSF9GUk9OVF9MRUZUX09GX0NFTlRFUiwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVF9PRl9DRU5URVJ9LCB7CisrICBBVl9DSF9GUk9OVF9SSUdIVF9PRl9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUX09GX0NFTlRFUn0sIHsKKysgIEFWX0NIX0JBQ0tfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9SRUFSX0NFTlRFUn0sIHsKKysgIEFWX0NIX1NJREVfTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fU0lERV9MRUZUfSwgeworKyAgQVZfQ0hfU0lERV9SSUdIVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fU0lERV9SSUdIVH0sIHsKKysgIEFWX0NIX1RPUF9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9UT1BfRlJPTlRfTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fTk9ORX0sIHsKKysgIEFWX0NIX1RPUF9GUk9OVF9DRU5URVIsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9UT1BfRlJPTlRfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9UT1BfQkFDS19MRUZULCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FfSwgeworKyAgQVZfQ0hfVE9QX0JBQ0tfQ0VOVEVSLCBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FfSwgeworKyAgQVZfQ0hfVE9QX0JBQ0tfUklHSFQsIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkV9LCB7CisrICBBVl9DSF9TVEVSRU9fTEVGVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVH0sIHsKKysgIEFWX0NIX1NURVJFT19SSUdIVCwgR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfUklHSFR9CisrfTsKKysKKytzdGF0aWMgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24gKgorK2dzdF9mZl9jaGFubmVsX2xheW91dF90b19nc3QgKGd1aW50NjQgY2hhbm5lbF9sYXlvdXQsIGd1aW50IGNoYW5uZWxzKQorK3sKKysgIGd1aW50IG5jaGFubmVscyA9IDAsIGksIGo7CisrICBHc3RBdWRpb0NoYW5uZWxQb3NpdGlvbiAqcG9zID0gTlVMTDsKKysgIGdib29sZWFuIG5vbmVfbGF5b3V0ID0gRkFMU0U7CisrCisrICBmb3IgKGkgPSAwOyBpIDwgNjQ7IGkrKykgeworKyAgICBpZiAoKGNoYW5uZWxfbGF5b3V0ICYgKEdfR1VJTlQ2NF9DT05TVEFOVCAoMSkgPDwgaSkpICE9IDApIHsKKysgICAgICBuY2hhbm5lbHMrKzsKKysgICAgfQorKyAgfQorKworKyAgaWYgKGNoYW5uZWxfbGF5b3V0ID09IDApIHsKKysgICAgbmNoYW5uZWxzID0gY2hhbm5lbHM7CisrICAgIG5vbmVfbGF5b3V0ID0gVFJVRTsKKysgIH0KKysKKysgIGlmIChuY2hhbm5lbHMgIT0gY2hhbm5lbHMpIHsKKysgICAgR1NUX0VSUk9SICgiTnVtYmVyIG9mIGNoYW5uZWxzIGlzIGRpZmZlcmVudCAoJXUgIT0gJXUpIiwgY2hhbm5lbHMsCisrICAgICAgICBuY2hhbm5lbHMpOworKyAgICByZXR1cm4gTlVMTDsKKysgIH0KKysKKysgIHBvcyA9IGdfbmV3IChHc3RBdWRpb0NoYW5uZWxQb3NpdGlvbiwgbmNoYW5uZWxzKTsKKysKKysgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgR19OX0VMRU1FTlRTIChfZmZfdG9fZ3N0X2xheW91dCk7IGkrKykgeworKyAgICBpZiAoKGNoYW5uZWxfbGF5b3V0ICYgX2ZmX3RvX2dzdF9sYXlvdXRbaV0uZmYpICE9IDApIHsKKysgICAgICBwb3NbaisrXSA9IF9mZl90b19nc3RfbGF5b3V0W2ldLmdzdDsKKysKKysgICAgICBpZiAoX2ZmX3RvX2dzdF9sYXlvdXRbaV0uZ3N0ID09IEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX05PTkUpCisrICAgICAgICBub25lX2xheW91dCA9IFRSVUU7CisrICAgIH0KKysgIH0KKysKKysgIGlmIChqICE9IG5jaGFubmVscykgeworKyAgICBHU1RfV0FSTklORyAoIlVua25vd24gY2hhbm5lbHMgaW4gY2hhbm5lbCBsYXlvdXQgLSBhc3N1bWluZyBOT05FIGxheW91dCIpOworKyAgICBub25lX2xheW91dCA9IFRSVUU7CisrICB9CisrCisrICBpZiAoIW5vbmVfbGF5b3V0ICYmICFnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMgKHBvcywgbmNoYW5uZWxzKSkgeworKyAgICBHU1RfRVJST1IgKCJJbnZhbGlkIGNoYW5uZWwgbGF5b3V0ICUiIEdfR1VJTlQ2NF9GT1JNQVQKKysgICAgICAgICIgLSBhc3N1bWluZyBOT05FIGxheW91dCIsIGNoYW5uZWxfbGF5b3V0KTsKKysgICAgbm9uZV9sYXlvdXQgPSBUUlVFOworKyAgfQorKworKyAgaWYgKG5vbmVfbGF5b3V0KSB7CisrICAgIGlmIChuY2hhbm5lbHMgPT0gMSkgeworKyAgICAgIHBvc1swXSA9IEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX01PTk87CisrICAgIH0gZWxzZSBpZiAobmNoYW5uZWxzID09IDIpIHsKKysgICAgICBwb3NbMF0gPSBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9MRUZUOworKyAgICAgIHBvc1sxXSA9IEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX1JJR0hUOworKyAgICB9IGVsc2UgaWYgKGNoYW5uZWxfbGF5b3V0ID09IDApIHsKKysgICAgICBnX2ZyZWUgKHBvcyk7CisrICAgICAgcG9zID0gTlVMTDsKKysgICAgfSBlbHNlIHsKKysgICAgICBmb3IgKGkgPSAwOyBpIDwgbmNoYW5uZWxzOyBpKyspCisrICAgICAgICBwb3NbaV0gPSBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9OT05FOworKyAgICB9CisrICB9CisrCisrICBpZiAobmNoYW5uZWxzID09IDEgJiYgcG9zWzBdID09IEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0ZST05UX0NFTlRFUikgeworKyAgICBHU1RfREVCVUcgKCJtb25vIGNvbW1vbiBjYXNlOyB3b24ndCBzZXQgY2hhbm5lbCBwb3NpdGlvbnMiKTsKKysgICAgZ19mcmVlIChwb3MpOworKyAgICBwb3MgPSBOVUxMOworKyAgfSBlbHNlIGlmIChuY2hhbm5lbHMgPT0gMiAmJiBwb3NbMF0gPT0gR1NUX0FVRElPX0NIQU5ORUxfUE9TSVRJT05fRlJPTlRfTEVGVAorKyAgICAgICYmIHBvc1sxXSA9PSBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9GUk9OVF9SSUdIVCkgeworKyAgICBHU1RfREVCVUcgKCJzdGVyZW8gY29tbW9uIGNhc2U7IHdvbid0IHNldCBjaGFubmVsIHBvc2l0aW9ucyIpOworKyAgICBnX2ZyZWUgKHBvcyk7CisrICAgIHBvcyA9IE5VTEw7CisrICB9CisrCisrICByZXR1cm4gcG9zOworK30KKysKKysvKiB0aGlzIG1hY3JvIG1ha2VzIGEgY2FwcyB3aWR0aCBmaXhlZCBvciB1bmZpeGVkIHdpZHRoL2hlaWdodAorKyAqIHByb3BlcnRpZXMgZGVwZW5kaW5nIG9uIHdoZXRoZXIgd2UndmUgZ290IGEgY29udGV4dC4KKysgKgorKyAqIFNlZSBiZWxvdyBmb3Igd2h5IHdlIHVzZSB0aGlzLgorKyAqCisrICogV2Ugc2hvdWxkIGFjdHVhbGx5IGRvIHRoaXMgc3R1ZmYgYXQgdGhlIGVuZCwgbGlrZSBpbiByaWZmLW1lZGlhLmMsCisrICogYnV0IEknbSB0b28gbGF6eSB0b2RheS4gTWF5YmUgbGF0ZXIuCisrICovCisrc3RhdGljIEdzdENhcHMgKgorK2dzdF9mZl92aWRfY2Fwc19uZXcgKEFWQ29kZWNDb250ZXh0ICogY29udGV4dCwgZW51bSBDb2RlY0lEIGNvZGVjX2lkLAorKyAgICBjb25zdCBjaGFyICptaW1ldHlwZSwgY29uc3QgY2hhciAqZmllbGRuYW1lLCAuLi4pCisreworKyAgR3N0U3RydWN0dXJlICpzdHJ1Y3R1cmUgPSBOVUxMOworKyAgR3N0Q2FwcyAqY2FwcyA9IE5VTEw7CisrICB2YV9saXN0IHZhcl9hcmdzOworKyAgZ2ludCBpOworKworKyAgR1NUX0xPRyAoImNvbnRleHQ6JXAsIGNvZGVjX2lkOiVkLCBtaW1ldHlwZTolcyIsIGNvbnRleHQsIGNvZGVjX2lkLCBtaW1ldHlwZSk7CisrCisrICAvKiBmaXhlZCwgbm9uIHByb2JpbmcgY29udGV4dCAqLworKyAgaWYgKGNvbnRleHQgIT0gTlVMTCAmJiBjb250ZXh0LT53aWR0aCAhPSAtMSkgeworKyAgICBnaW50IG51bSwgZGVub207CisrCisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlIChtaW1ldHlwZSwKKysgICAgICAgICJ3aWR0aCIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPndpZHRoLAorKyAgICAgICAgImhlaWdodCIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmhlaWdodCwgTlVMTCk7CisrCisrICAgIG51bSA9IGNvbnRleHQtPnRpbWVfYmFzZS5kZW4gLyBjb250ZXh0LT50aWNrc19wZXJfZnJhbWU7CisrICAgIGRlbm9tID0gY29udGV4dC0+dGltZV9iYXNlLm51bTsKKysKKysgICAgaWYgKCFkZW5vbSkgeworKyAgICAgIEdTVF9MT0cgKCJpbnZhbGlkIGZyYW1lcmF0ZTogJWQvMCwgLT4gJWQvMSIsIG51bSwgbnVtKTsKKysgICAgICBkZW5vbSA9IDE7CisrICAgIH0KKysgICAgaWYgKGdzdF91dGlsX2ZyYWN0aW9uX2NvbXBhcmUgKG51bSwgZGVub20sIDEwMDAsIDEpID4gMCkgeworKyAgICAgIEdTVF9MT0cgKCJleGNlc3NpdmUgZnJhbWVyYXRlOiAlZC8lZCwgLT4gMC8xIiwgbnVtLCBkZW5vbSk7CisrICAgICAgbnVtID0gMDsKKysgICAgICBkZW5vbSA9IDE7CisrICAgIH0KKysgICAgR1NUX0xPRyAoInNldHRpbmcgZnJhbWVyYXRlOiAlZC8lZCIsIG51bSwgZGVub20pOworKyAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLAorKyAgICAgICAgImZyYW1lcmF0ZSIsIEdTVF9UWVBFX0ZSQUNUSU9OLCBudW0sIGRlbm9tLCBOVUxMKTsKKysgIH0gZWxzZSB7CisrICAgIC8qIHNvIHdlIGFyZSBhZnRlciByZXN0cmljdGVkIGNhcHMgaW4gdGhpcyBjYXNlICovCisrICAgIHN3aXRjaCAoY29kZWNfaWQpIHsKKysgICAgICBjYXNlIENPREVDX0lEX0gyNjE6CisrICAgICAgeworKyAgICAgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKG1pbWV0eXBlLAorKyAgICAgICAgICAgICJ3aWR0aCIsIEdfVFlQRV9JTlQsIDM1MiwKKysgICAgICAgICAgICAiaGVpZ2h0IiwgR19UWVBFX0lOVCwgMjg4LAorKyAgICAgICAgICAgICJmcmFtZXJhdGUiLCBHU1RfVFlQRV9GUkFDVElPTl9SQU5HRSwgMCwgMSwgR19NQVhJTlQsIDEsIE5VTEwpOworKyAgICAgICAgZ3N0X2NhcHNfYXBwZW5kIChjYXBzLCBnc3RfY2Fwc19uZXdfc2ltcGxlIChtaW1ldHlwZSwKKysgICAgICAgICAgICAgICAgIndpZHRoIiwgR19UWVBFX0lOVCwgMTc2LAorKyAgICAgICAgICAgICAgICAiaGVpZ2h0IiwgR19UWVBFX0lOVCwgMTQ0LAorKyAgICAgICAgICAgICAgICAiZnJhbWVyYXRlIiwgR1NUX1RZUEVfRlJBQ1RJT05fUkFOR0UsIDAsIDEsIEdfTUFYSU5ULCAxLCBOVUxMKSk7CisrICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAgY2FzZSBDT0RFQ19JRF9IMjYzOgorKyAgICAgIHsKKysgICAgICAgIC8qIDEyOHg5NiwgMTc2eDE0NCwgMzUyeDI4OCwgNzA0eDU3NiwgYW5kIDE0MDh4MTE1Mi4gc2xpZ2h0bHkgcmVvcmRlcmVkCisrICAgICAgICAgKiBiZWNhdXNlIHdlIHdhbnQgYXV0b21hdGljIG5lZ290aWF0aW9uIHRvIGdvIGFzIGNsb3NlIHRvIDMyMHgyNDAgYXMKKysgICAgICAgICAqIHBvc3NpYmxlLiAqLworKyAgICAgICAgY29uc3Qgc3RhdGljIGdpbnQgd2lkdGhzW10gPSB7IDM1MiwgNzA0LCAxNzYsIDE0MDgsIDEyOCB9OworKyAgICAgICAgY29uc3Qgc3RhdGljIGdpbnQgaGVpZ2h0c1tdID0geyAyODgsIDU3NiwgMTQ0LCAxMTUyLCA5NiB9OworKyAgICAgICAgR3N0Q2FwcyAqdGVtcDsKKysgICAgICAgIGdpbnQgbl9zaXplcyA9IEdfTl9FTEVNRU5UUyAod2lkdGhzKTsKKysKKysgICAgICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfZW1wdHkgKCk7CisrICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbl9zaXplczsgaSsrKSB7CisrICAgICAgICAgIHRlbXAgPSBnc3RfY2Fwc19uZXdfc2ltcGxlIChtaW1ldHlwZSwKKysgICAgICAgICAgICAgICJ3aWR0aCIsIEdfVFlQRV9JTlQsIHdpZHRoc1tpXSwKKysgICAgICAgICAgICAgICJoZWlnaHQiLCBHX1RZUEVfSU5ULCBoZWlnaHRzW2ldLAorKyAgICAgICAgICAgICAgImZyYW1lcmF0ZSIsIEdTVF9UWVBFX0ZSQUNUSU9OX1JBTkdFLCAwLCAxLCBHX01BWElOVCwgMSwgTlVMTCk7CisrCisrICAgICAgICAgIGdzdF9jYXBzX2FwcGVuZCAoY2FwcywgdGVtcCk7CisrICAgICAgICB9CisrICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAgY2FzZSBDT0RFQ19JRF9EVlZJREVPOgorKyAgICAgIHsKKysgICAgICAgIHN0YXRpYyBzdHJ1Y3QKKysgICAgICAgIHsKKysgICAgICAgICAgZ3VpbnQzMiBjc3A7CisrICAgICAgICAgIGdpbnQgd2lkdGgsIGhlaWdodDsKKysgICAgICAgICAgZ2ludCBwYXJfbiwgcGFyX2Q7CisrICAgICAgICAgIGdpbnQgZnJhbWVyYXRlX24sIGZyYW1lcmF0ZV9kOworKyAgICAgICAgfSBwcm9maWxlc1tdID0geworKyAgICAgICAgICB7CisrICAgICAgICAgIEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcxJywgJ0InKSwgNzIwLCA0ODAsIDEwLCAxMSwgMzAwMDAsIDEwMDF9LCB7CisrICAgICAgICAgIEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcxJywgJ0InKSwgNzIwLCA0ODAsIDQwLCAzMywgMzAwMDAsIDEwMDF9LCB7CisrICAgICAgICAgIEdTVF9NQUtFX0ZPVVJDQyAoJ0knLCAnNCcsICcyJywgJzAnKSwgNzIwLCA1NzYsIDU5LCA1NCwgMjUsIDF9LCB7CisrICAgICAgICAgIEdTVF9NQUtFX0ZPVVJDQyAoJ0knLCAnNCcsICcyJywgJzAnKSwgNzIwLCA1NzYsIDExOCwgODEsIDI1LCAxfSwgeworKyAgICAgICAgICBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJzQnLCAnMScsICdCJyksIDcyMCwgNTc2LCA1OSwgNTQsIDI1LCAxfSwgeworKyAgICAgICAgICBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJzQnLCAnMScsICdCJyksIDcyMCwgNTc2LCAxMTgsIDgxLCAyNSwgMX0KKysgICAgICAgIH07CisrICAgICAgICBHc3RDYXBzICp0ZW1wOworKyAgICAgICAgZ2ludCBuX3NpemVzID0gR19OX0VMRU1FTlRTIChwcm9maWxlcyk7CisrCisrICAgICAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X2VtcHR5ICgpOworKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG5fc2l6ZXM7IGkrKykgeworKyAgICAgICAgICB0ZW1wID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAobWltZXR5cGUsCisrICAgICAgICAgICAgICAid2lkdGgiLCBHX1RZUEVfSU5ULCBwcm9maWxlc1tpXS53aWR0aCwKKysgICAgICAgICAgICAgICJoZWlnaHQiLCBHX1RZUEVfSU5ULCBwcm9maWxlc1tpXS5oZWlnaHQsCisrICAgICAgICAgICAgICAiZnJhbWVyYXRlIiwgR1NUX1RZUEVfRlJBQ1RJT04sIHByb2ZpbGVzW2ldLmZyYW1lcmF0ZV9uLAorKyAgICAgICAgICAgICAgcHJvZmlsZXNbaV0uZnJhbWVyYXRlX2QsICJwaXhlbC1hc3BlY3QtcmF0aW8iLCBHU1RfVFlQRV9GUkFDVElPTiwKKysgICAgICAgICAgICAgIHByb2ZpbGVzW2ldLnBhcl9uLCBwcm9maWxlc1tpXS5wYXJfZCwgTlVMTCk7CisrCisrICAgICAgICAgIGdzdF9jYXBzX2FwcGVuZCAoY2FwcywgdGVtcCk7CisrICAgICAgICB9CisrICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAgY2FzZSBDT0RFQ19JRF9ETlhIRDoKKysgICAgICB7CisrICAgICAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAobWltZXR5cGUsCisrICAgICAgICAgICAgIndpZHRoIiwgR19UWVBFX0lOVCwgMTkyMCwKKysgICAgICAgICAgICAiaGVpZ2h0IiwgR19UWVBFX0lOVCwgMTA4MCwKKysgICAgICAgICAgICAiZnJhbWVyYXRlIiwgR1NUX1RZUEVfRlJBQ1RJT05fUkFOR0UsIDAsIDEsIEdfTUFYSU5ULCAxLCBOVUxMKTsKKysgICAgICAgIGdzdF9jYXBzX2FwcGVuZCAoY2FwcywgZ3N0X2NhcHNfbmV3X3NpbXBsZSAobWltZXR5cGUsCisrICAgICAgICAgICAgICAgICJ3aWR0aCIsIEdfVFlQRV9JTlQsIDEyODAsCisrICAgICAgICAgICAgICAgICJoZWlnaHQiLCBHX1RZUEVfSU5ULCA3MjAsCisrICAgICAgICAgICAgICAgICJmcmFtZXJhdGUiLCBHU1RfVFlQRV9GUkFDVElPTl9SQU5HRSwgMCwgMSwgR19NQVhJTlQsIDEsIE5VTEwpKTsKKysgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgICBkZWZhdWx0OgorKyAgICAgICAgYnJlYWs7CisrICAgIH0KKysgIH0KKysKKysgIC8qIG5vIGZpeGVkIGNhcHMgb3Igc3BlY2lhbCByZXN0cmljdGlvbnMgYXBwbGllZDsKKysgICAqIGRlZmF1bHQgdW5maXhlZCBzZXR0aW5nICovCisrICBpZiAoIWNhcHMpIHsKKysgICAgR1NUX0RFQlVHICgiQ3JlYXRpbmcgZGVmYXVsdCBjYXBzIik7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlIChtaW1ldHlwZSwKKysgICAgICAgICJ3aWR0aCIsIEdTVF9UWVBFX0lOVF9SQU5HRSwgMTYsIDQwOTYsCisrICAgICAgICAiaGVpZ2h0IiwgR1NUX1RZUEVfSU5UX1JBTkdFLCAxNiwgNDA5NiwKKysgICAgICAgICJmcmFtZXJhdGUiLCBHU1RfVFlQRV9GUkFDVElPTl9SQU5HRSwgMCwgMSwgR19NQVhJTlQsIDEsIE5VTEwpOworKyAgfQorKworKyAgZm9yIChpID0gMDsgaSA8IGdzdF9jYXBzX2dldF9zaXplIChjYXBzKTsgaSsrKSB7CisrICAgIHZhX3N0YXJ0ICh2YXJfYXJncywgZmllbGRuYW1lKTsKKysgICAgc3RydWN0dXJlID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgaSk7CisrICAgIGdzdF9zdHJ1Y3R1cmVfc2V0X3ZhbGlzdCAoc3RydWN0dXJlLCBmaWVsZG5hbWUsIHZhcl9hcmdzKTsKKysgICAgdmFfZW5kICh2YXJfYXJncyk7CisrICB9CisrCisrICByZXR1cm4gY2FwczsKKyt9CisrCisrLyogc2FtZSBmb3IgYXVkaW8gLSBub3cgd2l0aCBjaGFubmVscy9zYW1wbGUgcmF0ZQorKyAqLworK3N0YXRpYyBHc3RDYXBzICoKKytnc3RfZmZfYXVkX2NhcHNfbmV3IChBVkNvZGVjQ29udGV4dCAqIGNvbnRleHQsIGVudW0gQ29kZWNJRCBjb2RlY19pZCwKKysgICAgY29uc3QgY2hhciAqbWltZXR5cGUsIGNvbnN0IGNoYXIgKmZpZWxkbmFtZSwgLi4uKQorK3sKKysgIEdzdENhcHMgKmNhcHMgPSBOVUxMOworKyAgR3N0U3RydWN0dXJlICpzdHJ1Y3R1cmUgPSBOVUxMOworKyAgZ2ludCBpOworKyAgdmFfbGlzdCB2YXJfYXJnczsKKysKKysgIC8qIGZpeGVkLCBub24tcHJvYmluZyBjb250ZXh0ICovCisrICBpZiAoY29udGV4dCAhPSBOVUxMICYmIGNvbnRleHQtPmNoYW5uZWxzICE9IC0xKSB7CisrICAgIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uICpwb3M7CisrICAgIGd1aW50NjQgY2hhbm5lbF9sYXlvdXQgPSBjb250ZXh0LT5jaGFubmVsX2xheW91dDsKKysKKysgICAgaWYgKGNoYW5uZWxfbGF5b3V0ID09IDApIHsKKysgICAgICBjb25zdCBndWludDY0IGRlZmF1bHRfY2hhbm5lbF9zZXRbXSA9IHsKKysgICAgICAgIDAsIDAsIEFWX0NIX0xBWU9VVF9TVVJST1VORCwgQVZfQ0hfTEFZT1VUX1FVQUQsIEFWX0NIX0xBWU9VVF81UE9JTlQwLAorKyAgICAgICAgQVZfQ0hfTEFZT1VUXzVQT0lOVDEsIDAsIEFWX0NIX0xBWU9VVF83UE9JTlQxCisrICAgICAgfTsKKysKKysgICAgICBzd2l0Y2ggKGNvZGVjX2lkKSB7CisrICAgICAgICBjYXNlIENPREVDX0lEX0VBQzM6CisrICAgICAgICBjYXNlIENPREVDX0lEX0FDMzoKKysgICAgICAgIGNhc2UgQ09ERUNfSURfRFRTOgorKyAgICAgICAgICBpZiAoY29udGV4dC0+Y2hhbm5lbHMgPiAwCisrICAgICAgICAgICAgICAmJiBjb250ZXh0LT5jaGFubmVscyA8IEdfTl9FTEVNRU5UUyAoZGVmYXVsdF9jaGFubmVsX3NldCkpCisrICAgICAgICAgICAgY2hhbm5lbF9sYXlvdXQgPSBkZWZhdWx0X2NoYW5uZWxfc2V0W2NvbnRleHQtPmNoYW5uZWxzIC0gMV07CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgZGVmYXVsdDoKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgfQorKyAgICB9CisrCisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlIChtaW1ldHlwZSwKKysgICAgICAgICJyYXRlIiwgR19UWVBFX0lOVCwgY29udGV4dC0+c2FtcGxlX3JhdGUsCisrICAgICAgICAiY2hhbm5lbHMiLCBHX1RZUEVfSU5ULCBjb250ZXh0LT5jaGFubmVscywgTlVMTCk7CisrCisrICAgIHBvcyA9IGdzdF9mZl9jaGFubmVsX2xheW91dF90b19nc3QgKGNoYW5uZWxfbGF5b3V0LCBjb250ZXh0LT5jaGFubmVscyk7CisrICAgIGlmIChwb3MgIT0gTlVMTCkgeworKyAgICAgIGdzdF9hdWRpb19zZXRfY2hhbm5lbF9wb3NpdGlvbnMgKGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUgKGNhcHMsIDApLCBwb3MpOworKyAgICAgIGdfZnJlZSAocG9zKTsKKysgICAgfQorKyAgfSBlbHNlIHsKKysgICAgZ2ludCBtYXhjaGFubmVscyA9IDI7CisrICAgIGNvbnN0IGdpbnQgKnJhdGVzID0gTlVMTDsKKysgICAgZ2ludCBuX3JhdGVzID0gMDsKKysKKysgICAgLyogc28gd2UgbXVzdCBiZSBhZnRlciByZXN0cmljdGVkIGNhcHMgaW4gdGhpcyBjYXNlICovCisrICAgIHN3aXRjaCAoY29kZWNfaWQpIHsKKysgICAgICBjYXNlIENPREVDX0lEX0FBQzoKKysgICAgICBjYXNlIENPREVDX0lEX0FBQ19MQVRNOgorKyAgICAgIGNhc2UgQ09ERUNfSURfRFRTOgorKyAgICAgICAgbWF4Y2hhbm5lbHMgPSA2OworKyAgICAgICAgYnJlYWs7CisrICAgICAgY2FzZSBDT0RFQ19JRF9NUDI6CisrICAgICAgeworKyAgICAgICAgY29uc3Qgc3RhdGljIGdpbnQgbF9yYXRlc1tdID0KKysgICAgICAgICAgICB7IDQ4MDAwLCA0NDEwMCwgMzIwMDAsIDI0MDAwLCAyMjA1MCwgMTYwMDAgfTsKKysgICAgICAgIG5fcmF0ZXMgPSBHX05fRUxFTUVOVFMgKGxfcmF0ZXMpOworKyAgICAgICAgcmF0ZXMgPSBsX3JhdGVzOworKyAgICAgICAgYnJlYWs7CisrICAgICAgfQorKyAgICAgIGNhc2UgQ09ERUNfSURfRUFDMzoKKysgICAgICBjYXNlIENPREVDX0lEX0FDMzoKKysgICAgICB7CisrICAgICAgICBjb25zdCBzdGF0aWMgZ2ludCBsX3JhdGVzW10gPSB7IDQ4MDAwLCA0NDEwMCwgMzIwMDAgfTsKKysgICAgICAgIG1heGNoYW5uZWxzID0gNjsKKysgICAgICAgIG5fcmF0ZXMgPSBHX05fRUxFTUVOVFMgKGxfcmF0ZXMpOworKyAgICAgICAgcmF0ZXMgPSBsX3JhdGVzOworKyAgICAgICAgYnJlYWs7CisrICAgICAgfQorKyAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRzcyMjoKKysgICAgICB7CisrICAgICAgICBjb25zdCBzdGF0aWMgZ2ludCBsX3JhdGVzW10gPSB7IDE2MDAwIH07CisrICAgICAgICBuX3JhdGVzID0gR19OX0VMRU1FTlRTIChsX3JhdGVzKTsKKysgICAgICAgIHJhdGVzID0gbF9yYXRlczsKKysgICAgICAgIG1heGNoYW5uZWxzID0gMTsKKysgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0c3MjY6CisrICAgICAgeworKyAgICAgICAgY29uc3Qgc3RhdGljIGdpbnQgbF9yYXRlc1tdID0geyA4MDAwIH07CisrICAgICAgICBuX3JhdGVzID0gR19OX0VMRU1FTlRTIChsX3JhdGVzKTsKKysgICAgICAgIHJhdGVzID0gbF9yYXRlczsKKysgICAgICAgIG1heGNoYW5uZWxzID0gMTsKKysgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgICBjYXNlIENPREVDX0lEX0FEUENNX1NXRjoKKysgICAgICB7CisrICAgICAgICBjb25zdCBzdGF0aWMgZ2ludCBsX3JhdGVzW10gPSB7IDExMDI1LCAyMjA1MCwgNDQxMDAgfTsKKysgICAgICAgIG5fcmF0ZXMgPSBHX05fRUxFTUVOVFMgKGxfcmF0ZXMpOworKyAgICAgICAgcmF0ZXMgPSBsX3JhdGVzOworKyAgICAgICAgYnJlYWs7CisrICAgICAgfQorKyAgICAgIGNhc2UgQ09ERUNfSURfUk9RX0RQQ006CisrICAgICAgeworKyAgICAgICAgY29uc3Qgc3RhdGljIGdpbnQgbF9yYXRlc1tdID0geyAyMjA1MCB9OworKyAgICAgICAgbl9yYXRlcyA9IEdfTl9FTEVNRU5UUyAobF9yYXRlcyk7CisrICAgICAgICByYXRlcyA9IGxfcmF0ZXM7CisrICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAgY2FzZSBDT0RFQ19JRF9BTVJfTkI6CisrICAgICAgeworKyAgICAgICAgY29uc3Qgc3RhdGljIGdpbnQgbF9yYXRlc1tdID0geyA4MDAwIH07CisrICAgICAgICBtYXhjaGFubmVscyA9IDE7CisrICAgICAgICBuX3JhdGVzID0gR19OX0VMRU1FTlRTIChsX3JhdGVzKTsKKysgICAgICAgIHJhdGVzID0gbF9yYXRlczsKKysgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgICBjYXNlIENPREVDX0lEX0FNUl9XQjoKKysgICAgICB7CisrICAgICAgICBjb25zdCBzdGF0aWMgZ2ludCBsX3JhdGVzW10gPSB7IDE2MDAwIH07CisrICAgICAgICBtYXhjaGFubmVscyA9IDE7CisrICAgICAgICBuX3JhdGVzID0gR19OX0VMRU1FTlRTIChsX3JhdGVzKTsKKysgICAgICAgIHJhdGVzID0gbF9yYXRlczsKKysgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgICBkZWZhdWx0OgorKyAgICAgICAgYnJlYWs7CisrICAgIH0KKysKKysgICAgLyogVE9ETzogaGFuZGxlIGNvbnRleHQtPmNoYW5uZWxfbGF5b3V0cyBoZXJlIHRvIHNldAorKyAgICAgKiB0aGUgbGlzdCBvZiBjaGFubmVsIGxheW91dHMgc3VwcG9ydGVkIGJ5IHRoZSBlbmNvZGVyLgorKyAgICAgKiBVbmZvcnR1bmF0ZWx5IG5vIGVuY29kZXIgdXNlcyB0aGlzIHlldC4uLi4KKysgICAgICovCisrICAgIC8qIHJlZ2FyZGxlc3Mgb2YgZW5jb2RlL2RlY29kZSwgb3BlbiB1cCBjaGFubmVscyBpZiBhcHBsaWNhYmxlICovCisrICAgIC8qIFVudGlsIGRlY29kZXJzL2VuY29kZXJzIGV4cG9zZSB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2hhbm5lbHMKKysgICAgICogdGhleSBzdXBwb3J0LCB3ZSB3aGl0ZWxpc3QgdGhlbSBoZXJlLiAqLworKyAgICBzd2l0Y2ggKGNvZGVjX2lkKSB7CisrICAgICAgY2FzZSBDT0RFQ19JRF9XTUFQUk86CisrICAgICAgY2FzZSBDT0RFQ19JRF9UUlVFSEQ6CisrICAgICAgICBtYXhjaGFubmVscyA9IDg7CisrICAgICAgICBicmVhazsKKysgICAgICBkZWZhdWx0OgorKyAgICAgICAgYnJlYWs7CisrICAgIH0KKysKKysgICAgaWYgKG1heGNoYW5uZWxzID09IDEpCisrICAgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKG1pbWV0eXBlLAorKyAgICAgICAgICAiY2hhbm5lbHMiLCBHX1RZUEVfSU5ULCBtYXhjaGFubmVscywgTlVMTCk7CisrICAgIGVsc2UKKysgICAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAobWltZXR5cGUsCisrICAgICAgICAgICJjaGFubmVscyIsIEdTVF9UWVBFX0lOVF9SQU5HRSwgMSwgbWF4Y2hhbm5lbHMsIE5VTEwpOworKyAgICBpZiAobl9yYXRlcykgeworKyAgICAgIEdWYWx1ZSBsaXN0ID0geyAwLCB9OworKyAgICAgIEdzdFN0cnVjdHVyZSAqc3RydWN0dXJlOworKworKyAgICAgIGdfdmFsdWVfaW5pdCAoJmxpc3QsIEdTVF9UWVBFX0xJU1QpOworKyAgICAgIGZvciAoaSA9IDA7IGkgPCBuX3JhdGVzOyBpKyspIHsKKysgICAgICAgIEdWYWx1ZSB2ID0geyAwLCB9OworKworKyAgICAgICAgZ192YWx1ZV9pbml0ICgmdiwgR19UWVBFX0lOVCk7CisrICAgICAgICBnX3ZhbHVlX3NldF9pbnQgKCZ2LCByYXRlc1tpXSk7CisrICAgICAgICBnc3RfdmFsdWVfbGlzdF9hcHBlbmRfdmFsdWUgKCZsaXN0LCAmdik7CisrICAgICAgICBnX3ZhbHVlX3Vuc2V0ICgmdik7CisrICAgICAgfQorKyAgICAgIHN0cnVjdHVyZSA9IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUgKGNhcHMsIDApOworKyAgICAgIGdzdF9zdHJ1Y3R1cmVfc2V0X3ZhbHVlIChzdHJ1Y3R1cmUsICJyYXRlIiwgJmxpc3QpOworKyAgICAgIGdfdmFsdWVfdW5zZXQgKCZsaXN0KTsKKysgICAgfSBlbHNlCisrICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywgInJhdGUiLCBHU1RfVFlQRV9JTlRfUkFOR0UsIDQwMDAsIDk2MDAwLCBOVUxMKTsKKysgIH0KKysKKysgIGZvciAoaSA9IDA7IGkgPCBnc3RfY2Fwc19nZXRfc2l6ZSAoY2Fwcyk7IGkrKykgeworKyAgICB2YV9zdGFydCAodmFyX2FyZ3MsIGZpZWxkbmFtZSk7CisrICAgIHN0cnVjdHVyZSA9IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUgKGNhcHMsIGkpOworKyAgICBnc3Rfc3RydWN0dXJlX3NldF92YWxpc3QgKHN0cnVjdHVyZSwgZmllbGRuYW1lLCB2YXJfYXJncyk7CisrICAgIHZhX2VuZCAodmFyX2FyZ3MpOworKyAgfQorKworKyAgcmV0dXJuIGNhcHM7CisrfQorKworKy8qIENvbnZlcnQgYSBGRk1QRUcgY29kZWMgSUQgYW5kIG9wdGlvbmFsIEFWQ29kZWNDb250ZXh0CisrICogdG8gYSBHc3RDYXBzLiBJZiB0aGUgY29udGV4dCBpcyBvbW1pdHRlZCwgbm8gZml4ZWQgdmFsdWVzCisrICogZm9yIHZpZGVvL2F1ZGlvIHNpemUgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgR3N0Q2FwcworKyAqCisrICogQ29kZWNJRCBpcyBwcmltYXJpbHkgbWVhbnQgZm9yIGNvbXByZXNzZWQgZGF0YSBHc3RDYXBzIQorKyAqCisrICogZW5jb2RlIGlzIGEgc3BlY2lhbCBwYXJhbWV0ZXIuIGdzdGZmbXBlZ2RlYyB3aWxsIHNheQorKyAqIEZBTFNFLCBnc3RmZm1wZWdlbmMgd2lsbCBzYXkgVFJVRS4gVGhlIG91dHB1dCBjYXBzCisrICogZGVwZW5kcyBvbiB0aGlzLCBpbiBzdWNoIGEgd2F5IHRoYXQgaXQgd2lsbCBiZSB2ZXJ5CisrICogc3BlY2lmaWMsIGRlZmluZWQsIGZpeGVkIGFuZCBjb3JyZWN0IGNhcHMgZm9yIGVuY29kZXJzLAorKyAqIHlldCB2ZXJ5IHdpZGUsICJmb3JnaXZpbmciIGNhcHMgZm9yIGRlY29kZXJzLiBFeGFtcGxlCisrICogZm9yIG1wMzogZGVjb2RlOiBhdWRpby9tcGVnLG1wZWd2ZXJzaW9uPTEsbGF5ZXI9WzEtM10KKysgKiBidXQgZW5jb2RlOiBhdWRpby9tcGVnLG1wZWd2ZXJzaW9uPTEsbGF5ZXI9MyxiaXRyYXRlPXgsCisrICogcmF0ZT14LGNoYW5uZWxzPXguCisrICovCisrCisrR3N0Q2FwcyAqCisrZ3N0X2ZmbXBlZ19jb2RlY2lkX3RvX2NhcHMgKGVudW0gQ29kZWNJRCBjb2RlY19pZCwKKysgICAgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LCBnYm9vbGVhbiBlbmNvZGUpCisreworKyAgR3N0Q2FwcyAqY2FwcyA9IE5VTEw7CisrICBnYm9vbGVhbiBidWlsZGNhcHMgPSBGQUxTRTsKKysKKysgIEdTVF9MT0cgKCJjb2RlY19pZDolZCwgY29udGV4dDolcCwgZW5jb2RlOiVkIiwgY29kZWNfaWQsIGNvbnRleHQsIGVuY29kZSk7CisrCisrICBzd2l0Y2ggKGNvZGVjX2lkKSB7CisrICAgIGNhc2UgQ09ERUNfSURfTVBFRzFWSURFTzoKKysgICAgICAvKiBGSVhNRTogYml0cmF0ZSAqLworKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL21wZWciLAorKyAgICAgICAgICAibXBlZ3ZlcnNpb24iLCBHX1RZUEVfSU5ULCAxLAorKyAgICAgICAgICAic3lzdGVtc3RyZWFtIiwgR19UWVBFX0JPT0xFQU4sIEZBTFNFLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NUEVHMlZJREVPOgorKyAgICAgIGlmIChlbmNvZGUpIHsKKysgICAgICAgIC8qIEZJWE1FOiBiaXRyYXRlICovCisrICAgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby9tcGVnIiwKKysgICAgICAgICAgICAibXBlZ3ZlcnNpb24iLCBHX1RZUEVfSU5ULCAyLAorKyAgICAgICAgICAgICJzeXN0ZW1zdHJlYW0iLCBHX1RZUEVfQk9PTEVBTiwgRkFMU0UsIE5VTEwpOworKyAgICAgIH0gZWxzZSB7CisrICAgICAgICAvKiBkZWNvZGUgYm90aCBNUEVHLTEgYW5kIE1QRUctMjsgd2lkdGgvaGVpZ2h0L2ZwcyBhcmUgYWxsIGluCisrICAgICAgICAgKiB0aGUgTVBFRyB2aWRlbyBzdHJlYW0gaGVhZGVycywgc28gbWF5IGJlIG9taXR0ZWQgZnJvbSBjYXBzLiAqLworKyAgICAgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby9tcGVnIiwKKysgICAgICAgICAgICAibXBlZ3ZlcnNpb24iLCBHU1RfVFlQRV9JTlRfUkFOR0UsIDEsIDIsCisrICAgICAgICAgICAgInN5c3RlbXN0cmVhbSIsIEdfVFlQRV9CT09MRUFOLCBGQUxTRSwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX01QRUcyVklERU9fWFZNQzoKKysgICAgICAvKiB0aGlzIGlzIGEgc3BlY2lhbCBJRCAtIGRvbid0IG5lZWQgaXQgaW4gR1N0cmVhbWVyLCBJIHRoaW5rICovCisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfSDI2MzoKKysgICAgICBpZiAoZW5jb2RlKSB7CisrICAgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LWgyNjMiLAorKyAgICAgICAgICAgICJ2YXJpYW50IiwgR19UWVBFX1NUUklORywgIml0dSIsCisrICAgICAgICAgICAgImgyNjN2ZXJzaW9uIiwgR19UWVBFX1NUUklORywgImgyNjMiLCBOVUxMKTsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgLyogZG9uJ3QgcGFzcyBjb2RlY19pZCwgd2UgY2FuIGRlY29kZSBvdGhlciB2YXJpYW50cyB3aXRoIHRoZSBIMjYzCisrICAgICAgICAgKiBkZWNvZGVyIHRoYXQgZG9uJ3QgaGF2ZSBzcGVjaWZpYyBzaXplIHJlcXVpcmVtZW50cworKyAgICAgICAgICovCisrICAgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgQ09ERUNfSURfTk9ORSwgInZpZGVvL3gtaDI2MyIsCisrICAgICAgICAgICAgInZhcmlhbnQiLCBHX1RZUEVfU1RSSU5HLCAiaXR1IiwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0gyNjNQOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtaDI2MyIsCisrICAgICAgICAgICJ2YXJpYW50IiwgR19UWVBFX1NUUklORywgIml0dSIsCisrICAgICAgICAgICJoMjYzdmVyc2lvbiIsIEdfVFlQRV9TVFJJTkcsICJoMjYzcCIsIE5VTEwpOworKyAgICAgIGlmIChlbmNvZGUgJiYgY29udGV4dCkgeworKworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAiYW5uZXgtZiIsIEdfVFlQRV9CT09MRUFOLCBjb250ZXh0LT5mbGFncyAmIENPREVDX0ZMQUdfNE1WLAorKyAgICAgICAgICAgICJhbm5leC1qIiwgR19UWVBFX0JPT0xFQU4sIGNvbnRleHQtPmZsYWdzICYgQ09ERUNfRkxBR19MT09QX0ZJTFRFUiwKKysgICAgICAgICAgICAiYW5uZXgtaSIsIEdfVFlQRV9CT09MRUFOLCBjb250ZXh0LT5mbGFncyAmIENPREVDX0ZMQUdfQUNfUFJFRCwKKysgICAgICAgICAgICAiYW5uZXgtdCIsIEdfVFlQRV9CT09MRUFOLCBjb250ZXh0LT5mbGFncyAmIENPREVDX0ZMQUdfQUNfUFJFRCwKKysgICAgICAgICAgICBOVUxMKTsKKysgICAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfSDI2M0k6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1pbnRlbC1oMjYzIiwKKysgICAgICAgICAgInZhcmlhbnQiLCBHX1RZUEVfU1RSSU5HLCAiaW50ZWwiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9IMjYxOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtaDI2MSIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1JWMTA6CisrICAgIGNhc2UgQ09ERUNfSURfUlYyMDoKKysgICAgY2FzZSBDT0RFQ19JRF9SVjMwOgorKyAgICBjYXNlIENPREVDX0lEX1JWNDA6CisrICAgIHsKKysgICAgICBnaW50IHZlcnNpb247CisrCisrICAgICAgc3dpdGNoIChjb2RlY19pZCkgeworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9SVjQwOgorKyAgICAgICAgICB2ZXJzaW9uID0gNDsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX1JWMzA6CisrICAgICAgICAgIHZlcnNpb24gPSAzOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfUlYyMDoKKysgICAgICAgICAgdmVyc2lvbiA9IDI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgZGVmYXVsdDoKKysgICAgICAgICAgdmVyc2lvbiA9IDE7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysKKysgICAgICAvKiBGSVhNRTogY29udGV4dC0+c3ViX2lkIG11c3QgYmUgZmlsbGVkIGluIGR1cmluZyBkZWNvZGluZyAqLworKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtcG4tcmVhbHZpZGVvIiwKKysgICAgICAgICAgInN5c3RlbXN0cmVhbSIsIEdfVFlQRV9CT09MRUFOLCBGQUxTRSwKKysgICAgICAgICAgInJtdmVyc2lvbiIsIEdfVFlQRV9JTlQsIHZlcnNpb24sIE5VTEwpOworKyAgICAgIGlmIChjb250ZXh0KSB7CisrICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLCAiZm9ybWF0IiwgR19UWVBFX0lOVCwgY29udGV4dC0+c3ViX2lkLCBOVUxMKTsKKysgICAgICAgIGlmIChjb250ZXh0LT5leHRyYWRhdGFfc2l6ZSA+PSA4KSB7CisrICAgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgICAic3ViZm9ybWF0IiwgR19UWVBFX0lOVCwgR1NUX1JFQURfVUlOVDMyX0JFIChjb250ZXh0LT5leHRyYWRhdGEpLAorKyAgICAgICAgICAgICAgTlVMTCk7CisrICAgICAgICB9CisrICAgICAgfQorKyAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfTVAxOgorKyAgICAgIC8qIEZJWE1FOiBiaXRyYXRlICovCisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8vbXBlZyIsCisrICAgICAgICAgICJtcGVndmVyc2lvbiIsIEdfVFlQRV9JTlQsIDEsICJsYXllciIsIEdfVFlQRV9JTlQsIDEsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX01QMjoKKysgICAgICAvKiBGSVhNRTogYml0cmF0ZSAqLworKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL21wZWciLAorKyAgICAgICAgICAibXBlZ3ZlcnNpb24iLCBHX1RZUEVfSU5ULCAxLCAibGF5ZXIiLCBHX1RZUEVfSU5ULCAyLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NUDM6CisrICAgICAgaWYgKGVuY29kZSkgeworKyAgICAgICAgLyogRklYTUU6IGJpdHJhdGUgKi8KKysgICAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL21wZWciLAorKyAgICAgICAgICAgICJtcGVndmVyc2lvbiIsIEdfVFlQRV9JTlQsIDEsICJsYXllciIsIEdfVFlQRV9JTlQsIDMsIE5VTEwpOworKyAgICAgIH0gZWxzZSB7CisrICAgICAgICAvKiBEZWNvZGVzIE1QRUctMSBsYXllciAxLzIvMy4gU2FtcGxlcmF0ZSwgY2hhbm5lbHMgZXQgYWwgYXJlCisrICAgICAgICAgKiBpbiB0aGUgTVBFRyBhdWRpbyBoZWFkZXIsIHNvIG1heSBiZSBvbWl0dGVkIGZyb20gY2Fwcy4gKi8KKysgICAgICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXVkaW8vbXBlZyIsCisrICAgICAgICAgICAgIm1wZWd2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMSwKKysgICAgICAgICAgICAibGF5ZXIiLCBHU1RfVFlQRV9JTlRfUkFOR0UsIDEsIDMsIE5VTEwpOworKyAgICAgIH0KKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NVVNFUEFDSzc6CisrICAgICAgY2FwcyA9CisrICAgICAgICAgIGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLAorKyAgICAgICAgICAiYXVkaW8veC1mZm1wZWctcGFyc2VkLW11c2VwYWNrIiwgInN0cmVhbXZlcnNpb24iLCBHX1RZUEVfSU5ULCA3LAorKyAgICAgICAgICBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NVVNFUEFDSzg6CisrICAgICAgY2FwcyA9CisrICAgICAgICAgIGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLAorKyAgICAgICAgICAiYXVkaW8veC1mZm1wZWctcGFyc2VkLW11c2VwYWNrIiwgInN0cmVhbXZlcnNpb24iLCBHX1RZUEVfSU5ULCA4LAorKyAgICAgICAgICBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9BQzM6CisrICAgICAgLyogRklYTUU6IGJpdHJhdGUgKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWFjMyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0VBQzM6CisrICAgICAgLyogRklYTUU6IGJpdHJhdGUgKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWVhYzMiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9UUlVFSEQ6CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC10cnVlLWhkIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQVRSQUMxOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtdm5kLnNvbnkuYXRyYWMxIiwKKysgICAgICAgICAgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQVRSQUMzOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtdm5kLnNvbnkuYXRyYWMzIiwKKysgICAgICAgICAgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfRFRTOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtZHRzIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQVBFOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtZmZtcGVnLXBhcnNlZC1hcGUiLAorKyAgICAgICAgICBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCBjb250ZXh0LT5iaXRzX3Blcl9jb2RlZF9zYW1wbGUsIE5VTEwpOworKyAgICAgIH0KKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NTFA6CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC1tbHAiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9JTUM6CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC1pbWMiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgICAvKiBNSlBFRyBpcyBub3JtYWwgSlBFRywgTW90aW9uLUpQRUcgYW5kIFF1aWNrdGltZSBNSlBFRy1BLiBNSlBFR0IKKysgICAgICAgKiBpcyBRdWlja3RpbWUncyBNSlBFRy1CLiBMSlBFRyBpcyBsb3NzbGVzcyBKUEVHLiBJIGRvbid0IGtub3cgd2hhdAorKyAgICAgICAqIHNwNXggaXMsIGJ1dCBpdCdzIGFwcGFyZW50bHkgc29tZXRoaW5nIEpQRUcuLi4gV2UgZG9uJ3Qgc2VwYXJhdGUKKysgICAgICAgKiBiZXR3ZWVuIHRob3NlIGluIEdTdHJlYW1lci4gU2hvdWxkIHdlIChhdCBsZWFzdCBiZXR3ZWVuIE1KUEVHLAorKyAgICAgICAqIE1KUEVHLUIgYW5kIHNwNXggZGVjb2RpbmcuLi4pPyAqLworKyAgICBjYXNlIENPREVDX0lEX01KUEVHOgorKyAgICBjYXNlIENPREVDX0lEX0xKUEVHOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImltYWdlL2pwZWciLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9TUDVYOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3NwNXgiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NSlBFR0I6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1tanBlZy1iIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfTVBFRzQ6CisrICAgICAgaWYgKGVuY29kZSAmJiBjb250ZXh0ICE9IE5VTEwpIHsKKysgICAgICAgIC8qIEknbSBub3QgZXhhY3RseSBzdXJlIHdoYXQgZmZtcGVnIG91dHB1dHMuLi4gZmZtcGVnIGl0c2VsZiB1c2VzCisrICAgICAgICAgKiB0aGUgQVZJIGZvdXJjYyAnRElWWCcsIGJ1dCAnbXA0dicgZm9yIFF1aWNrdGltZS4uLiAqLworKyAgICAgICAgc3dpdGNoIChjb250ZXh0LT5jb2RlY190YWcpIHsKKysgICAgICAgICAgY2FzZSBHU1RfTUFLRV9GT1VSQ0MgKCdEJywgJ0knLCAnVicsICdYJyk6CisrICAgICAgICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1kaXZ4IiwKKysgICAgICAgICAgICAgICAgImRpdnh2ZXJzaW9uIiwgR19UWVBFX0lOVCwgNSwgTlVMTCk7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGNhc2UgR1NUX01BS0VfRk9VUkNDICgnbScsICdwJywgJzQnLCAndicpOgorKyAgICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICAgIC8qIEZJWE1FOiBiaXRyYXRlICovCisrICAgICAgICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8vbXBlZyIsCisrICAgICAgICAgICAgICAgICJzeXN0ZW1zdHJlYW0iLCBHX1RZUEVfQk9PTEVBTiwgRkFMU0UsCisrICAgICAgICAgICAgICAgICJtcGVndmVyc2lvbiIsIEdfVFlQRV9JTlQsIDQsIE5VTEwpOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgfQorKyAgICAgIH0gZWxzZSB7CisrICAgICAgICAvKiBUaGUgdHJpY2sgaGVyZSBpcyB0byBzZXBhcmF0ZSB4dmlkLCBkaXZ4LCBtcGVnNCwgM2l2eCBldCBhbCAqLworKyAgICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8vbXBlZyIsCisrICAgICAgICAgICAgIm1wZWd2ZXJzaW9uIiwgR19UWVBFX0lOVCwgNCwKKysgICAgICAgICAgICAic3lzdGVtc3RyZWFtIiwgR19UWVBFX0JPT0xFQU4sIEZBTFNFLCBOVUxMKTsKKysgICAgICAgIGlmIChlbmNvZGUpIHsKKysgICAgICAgICAgZ3N0X2NhcHNfYXBwZW5kIChjYXBzLCBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwKKysgICAgICAgICAgICAgICAgICAidmlkZW8veC1kaXZ4IiwgImRpdnh2ZXJzaW9uIiwgR19UWVBFX0lOVCwgNSwgTlVMTCkpOworKyAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgZ3N0X2NhcHNfYXBwZW5kIChjYXBzLCBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwKKysgICAgICAgICAgICAgICAgICAidmlkZW8veC1kaXZ4IiwgImRpdnh2ZXJzaW9uIiwgR1NUX1RZUEVfSU5UX1JBTkdFLCA0LCA1LAorKyAgICAgICAgICAgICAgICAgIE5VTEwpKTsKKysgICAgICAgICAgZ3N0X2NhcHNfYXBwZW5kIChjYXBzLCBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwKKysgICAgICAgICAgICAgICAgICAidmlkZW8veC14dmlkIiwgTlVMTCkpOworKyAgICAgICAgICBnc3RfY2Fwc19hcHBlbmQgKGNhcHMsIGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLAorKyAgICAgICAgICAgICAgICAgICJ2aWRlby94LTNpdngiLCBOVUxMKSk7CisrICAgICAgICB9CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1JBV1ZJREVPOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZtcGVnX2NvZGVjdHlwZV90b19jYXBzIChBVk1FRElBX1RZUEVfVklERU8sIGNvbnRleHQsIGNvZGVjX2lkLAorKyAgICAgICAgICBlbmNvZGUpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX01TTVBFRzRWMToKKysgICAgY2FzZSBDT0RFQ19JRF9NU01QRUc0VjI6CisrICAgIGNhc2UgQ09ERUNfSURfTVNNUEVHNFYzOgorKyAgICB7CisrICAgICAgZ2ludCB2ZXJzaW9uID0gNDEgKyBjb2RlY19pZCAtIENPREVDX0lEX01TTVBFRzRWMTsKKysKKysgICAgICAvKiBlbmNvZGUtRklYTUU6IGJpdHJhdGUgKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LW1zbXBlZyIsCisrICAgICAgICAgICJtc21wZWd2ZXJzaW9uIiwgR19UWVBFX0lOVCwgdmVyc2lvbiwgTlVMTCk7CisrICAgICAgaWYgKCFlbmNvZGUgJiYgY29kZWNfaWQgPT0gQ09ERUNfSURfTVNNUEVHNFYzKSB7CisrICAgICAgICBnc3RfY2Fwc19hcHBlbmQgKGNhcHMsIGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLAorKyAgICAgICAgICAgICAgICAidmlkZW8veC1kaXZ4IiwgImRpdnh2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMywgTlVMTCkpOworKyAgICAgIH0KKysgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1dNVjE6CisrICAgIGNhc2UgQ09ERUNfSURfV01WMjoKKysgICAgeworKyAgICAgIGdpbnQgdmVyc2lvbiA9IChjb2RlY19pZCA9PSBDT0RFQ19JRF9XTVYxKSA/IDEgOiAyOworKworKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtd212IiwKKysgICAgICAgICAgIndtdnZlcnNpb24iLCBHX1RZUEVfSU5ULCB2ZXJzaW9uLCBOVUxMKTsKKysgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0ZMVjE6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1mbGFzaC12aWRlbyIsCisrICAgICAgICAgICJmbHZ2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfU1ZRMToKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXN2cSIsCisrICAgICAgICAgICJzdnF2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfU1ZRMzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXN2cSIsCisrICAgICAgICAgICJzdnF2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMywgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfRFZBVURJTzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWR2IiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfRFZWSURFTzoKKysgICAgeworKyAgICAgIGlmIChlbmNvZGUgJiYgY29udGV4dCkgeworKyAgICAgICAgZ3VpbnQzMiBmb3VyY2M7CisrCisrICAgICAgICBzd2l0Y2ggKGNvbnRleHQtPnBpeF9mbXQpIHsKKysgICAgICAgICAgY2FzZSBQSVhfRk1UX1lVWVY0MjI6CisrICAgICAgICAgICAgZm91cmNjID0gR1NUX01BS0VfRk9VUkNDICgnWScsICdVJywgJ1knLCAnMicpOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBjYXNlIFBJWF9GTVRfWVVWNDIwUDoKKysgICAgICAgICAgICBmb3VyY2MgPSBHU1RfTUFLRV9GT1VSQ0MgKCdJJywgJzQnLCAnMicsICcwJyk7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGNhc2UgUElYX0ZNVF9ZVVZBNDIwUDoKKysgICAgICAgICAgICBmb3VyY2MgPSBHU1RfTUFLRV9GT1VSQ0MgKCdBJywgJzQnLCAnMicsICcwJyk7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGNhc2UgUElYX0ZNVF9ZVVY0MTFQOgorKyAgICAgICAgICAgIGZvdXJjYyA9IEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcxJywgJ0InKTsKKysgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgY2FzZSBQSVhfRk1UX1lVVjQyMlA6CisrICAgICAgICAgICAgZm91cmNjID0gR1NUX01BS0VfRk9VUkNDICgnWScsICc0JywgJzInLCAnQicpOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBjYXNlIFBJWF9GTVRfWVVWNDEwUDoKKysgICAgICAgICAgICBmb3VyY2MgPSBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJ1UnLCAnVicsICc5Jyk7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGRlZmF1bHQ6CisrICAgICAgICAgICAgR1NUX1dBUk5JTkcKKysgICAgICAgICAgICAgICAgKCJDb3VsZG50JyBmaW5kIGZvdXJjYyBmb3IgcGl4Zm10ICVkLCBkZWZhdWx0aW5nIHRvIEk0MjAiLAorKyAgICAgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10KTsKKysgICAgICAgICAgICBmb3VyY2MgPSBHU1RfTUFLRV9GT1VSQ0MgKCdJJywgJzQnLCAnMicsICcwJyk7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICB9CisrICAgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LWR2IiwKKysgICAgICAgICAgICAic3lzdGVtc3RyZWFtIiwgR19UWVBFX0JPT0xFQU4sIEZBTFNFLAorKyAgICAgICAgICAgICJmb3JtYXQiLCBHU1RfVFlQRV9GT1VSQ0MsIGZvdXJjYywgTlVMTCk7CisrICAgICAgfSBlbHNlIHsKKysgICAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtZHYiLAorKyAgICAgICAgICAgICJzeXN0ZW1zdHJlYW0iLCBHX1RZUEVfQk9PTEVBTiwgRkFMU0UsIE5VTEwpOworKyAgICAgIH0KKysgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1dNQVYxOgorKyAgICBjYXNlIENPREVDX0lEX1dNQVYyOgorKyAgICB7CisrICAgICAgZ2ludCB2ZXJzaW9uID0gKGNvZGVjX2lkID09IENPREVDX0lEX1dNQVYxKSA/IDEgOiAyOworKworKyAgICAgIGlmIChjb250ZXh0KSB7CisrICAgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LXdtYSIsCisrICAgICAgICAgICAgIndtYXZlcnNpb24iLCBHX1RZUEVfSU5ULCB2ZXJzaW9uLAorKyAgICAgICAgICAgICJibG9ja19hbGlnbiIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJsb2NrX2FsaWduLAorKyAgICAgICAgICAgICJiaXRyYXRlIiwgR19UWVBFX0lOVCwgY29udGV4dC0+Yml0X3JhdGUsIE5VTEwpOworKyAgICAgIH0gZWxzZSB7CisrICAgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LXdtYSIsCisrICAgICAgICAgICAgIndtYXZlcnNpb24iLCBHX1RZUEVfSU5ULCB2ZXJzaW9uLAorKyAgICAgICAgICAgICJibG9ja19hbGlnbiIsIEdTVF9UWVBFX0lOVF9SQU5HRSwgMCwgR19NQVhJTlQsCisrICAgICAgICAgICAgImJpdHJhdGUiLCBHU1RfVFlQRV9JTlRfUkFOR0UsIDAsIEdfTUFYSU5ULCBOVUxMKTsKKysgICAgICB9CisrICAgIH0KKysgICAgICBicmVhazsKKysgICAgY2FzZSBDT0RFQ19JRF9XTUFQUk86CisrICAgIHsKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LXdtYSIsCisrICAgICAgICAgICJ3bWF2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMywgTlVMTCk7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysKKysgICAgY2FzZSBDT0RFQ19JRF9XTUFWT0lDRToKKysgICAgeworKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtd21zIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysKKysgICAgY2FzZSBDT0RFQ19JRF9NQUNFMzoKKysgICAgY2FzZSBDT0RFQ19JRF9NQUNFNjoKKysgICAgeworKyAgICAgIGdpbnQgdmVyc2lvbiA9IChjb2RlY19pZCA9PSBDT0RFQ19JRF9NQUNFMykgPyAzIDogNjsKKysKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LW1hY2UiLAorKyAgICAgICAgICAibWFjZXZlcnNpb24iLCBHX1RZUEVfSU5ULCB2ZXJzaW9uLCBOVUxMKTsKKysgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0hVRkZZVVY6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1odWZmeXV2IiwgTlVMTCk7CisrICAgICAgaWYgKGNvbnRleHQpIHsKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgImJwcCIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0NZVVY6CisrICAgICAgY2FwcyA9CisrICAgICAgICAgIGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1jb21wcmVzc2VkLXl1diIsCisrICAgICAgICAgIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0gyNjQ6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1oMjY0IiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfSU5ERU81OgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtaW5kZW8iLAorKyAgICAgICAgICAiaW5kZW92ZXJzaW9uIiwgR19UWVBFX0lOVCwgNSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfSU5ERU8zOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtaW5kZW8iLAorKyAgICAgICAgICAiaW5kZW92ZXJzaW9uIiwgR19UWVBFX0lOVCwgMywgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfSU5ERU8yOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtaW5kZW8iLAorKyAgICAgICAgICAiaW5kZW92ZXJzaW9uIiwgR19UWVBFX0lOVCwgMiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfRkxBU0hTVjoKKysgICAgICBjYXBzID0KKysgICAgICAgICAgZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LWZsYXNoLXNjcmVlbiIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1ZQMzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXZwMyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1ZQNToKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXZwNSIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1ZQNjoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXZwNiIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1ZQNkY6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC12cDYtZmxhc2giLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9WUDZBOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtdnA2LWFscGhhIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfVlA4OgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtdnA4IiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfVEhFT1JBOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtdGhlb3JhIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQUFDOgorKyAgICB7CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8vbXBlZyIsIE5VTEwpOworKworKyAgICAgIGlmICghZW5jb2RlKSB7CisrICAgICAgICBHVmFsdWUgYXJyID0geyAwLCB9OworKyAgICAgICAgR1ZhbHVlIGl0ZW0gPSB7IDAsIH07CisrCisrICAgICAgICBnX3ZhbHVlX2luaXQgKCZhcnIsIEdTVF9UWVBFX0xJU1QpOworKyAgICAgICAgZ192YWx1ZV9pbml0ICgmaXRlbSwgR19UWVBFX0lOVCk7CisrICAgICAgICBnX3ZhbHVlX3NldF9pbnQgKCZpdGVtLCAyKTsKKysgICAgICAgIGdzdF92YWx1ZV9saXN0X2FwcGVuZF92YWx1ZSAoJmFyciwgJml0ZW0pOworKyAgICAgICAgZ192YWx1ZV9zZXRfaW50ICgmaXRlbSwgNCk7CisrICAgICAgICBnc3RfdmFsdWVfbGlzdF9hcHBlbmRfdmFsdWUgKCZhcnIsICZpdGVtKTsKKysgICAgICAgIGdfdmFsdWVfdW5zZXQgKCZpdGVtKTsKKysKKysgICAgICAgIGdzdF9jYXBzX3NldF92YWx1ZSAoY2FwcywgIm1wZWd2ZXJzaW9uIiwgJmFycik7CisrICAgICAgICBnX3ZhbHVlX3Vuc2V0ICgmYXJyKTsKKysKKysgICAgICAgIGdfdmFsdWVfaW5pdCAoJmFyciwgR1NUX1RZUEVfTElTVCk7CisrICAgICAgICBnX3ZhbHVlX2luaXQgKCZpdGVtLCBHX1RZUEVfU1RSSU5HKTsKKysgICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyAoJml0ZW0sICJyYXciKTsKKysgICAgICAgIGdzdF92YWx1ZV9saXN0X2FwcGVuZF92YWx1ZSAoJmFyciwgJml0ZW0pOworKyAgICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nICgmaXRlbSwgImFkdHMiKTsKKysgICAgICAgIGdzdF92YWx1ZV9saXN0X2FwcGVuZF92YWx1ZSAoJmFyciwgJml0ZW0pOworKyAgICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nICgmaXRlbSwgImFkaWYiKTsKKysgICAgICAgIGdzdF92YWx1ZV9saXN0X2FwcGVuZF92YWx1ZSAoJmFyciwgJml0ZW0pOworKyAgICAgICAgZ192YWx1ZV91bnNldCAoJml0ZW0pOworKworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3ZhbHVlIChjYXBzLCAic3RyZWFtLWZvcm1hdCIsICZhcnIpOworKyAgICAgICAgZ192YWx1ZV91bnNldCAoJmFycik7CisrICAgICAgfSBlbHNlIHsKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsICJtcGVndmVyc2lvbiIsIEdfVFlQRV9JTlQsIDQsCisrICAgICAgICAgICAgInN0cmVhbS1mb3JtYXQiLCBHX1RZUEVfU1RSSU5HLCAicmF3IiwKKysgICAgICAgICAgICAiYmFzZS1wcm9maWxlIiwgR19UWVBFX1NUUklORywgImxjIiwgTlVMTCk7CisrCisrICAgICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0LT5leHRyYWRhdGFfc2l6ZSA+IDApCisrICAgICAgICAgIGdzdF9jb2RlY191dGlsc19hYWNfY2Fwc19zZXRfbGV2ZWxfYW5kX3Byb2ZpbGUgKGNhcHMsCisrICAgICAgICAgICAgICBjb250ZXh0LT5leHRyYWRhdGEsIGNvbnRleHQtPmV4dHJhZGF0YV9zaXplKTsKKysgICAgICB9CisrCisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgY2FzZSBDT0RFQ19JRF9BQUNfTEFUTTogICAgLyogTEFUTS9MT0FTIEFBQyBzeW50YXggKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby9tcGVnIiwKKysgICAgICAgICAgIm1wZWd2ZXJzaW9uIiwgR19UWVBFX0lOVCwgNCwgInN0cmVhbS1mb3JtYXQiLCBHX1RZUEVfU1RSSU5HLCAibG9hcyIsCisrICAgICAgICAgIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0FTVjE6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1hc3VzIiwKKysgICAgICAgICAgImFzdXN2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgQ09ERUNfSURfQVNWMjoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LWFzdXMiLAorKyAgICAgICAgICAiYXN1c3ZlcnNpb24iLCBHX1RZUEVfSU5ULCAyLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9GRlYxOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtZmZ2IiwKKysgICAgICAgICAgImZmdnZlcnNpb24iLCBHX1RZUEVfSU5ULCAxLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF80WE06CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC00eG0iLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9YQU5fV0MzOgorKyAgICBjYXNlIENPREVDX0lEX1hBTl9XQzQ6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC14YW4iLAorKyAgICAgICAgICAid2N2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMyAtIENPREVDX0lEX1hBTl9XQzMgKyBjb2RlY19pZCwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQ0xKUjoKKysgICAgICBjYXBzID0KKysgICAgICAgICAgZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsCisrICAgICAgICAgICJ2aWRlby94LWNpcnJ1cy1sb2dpYy1hY2N1cGFrIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfRlJBUFM6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1mcmFwcyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX01ERUM6CisrICAgIGNhc2UgQ09ERUNfSURfUk9ROgorKyAgICBjYXNlIENPREVDX0lEX0lOVEVSUExBWV9WSURFTzoKKysgICAgICBidWlsZGNhcHMgPSBUUlVFOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1ZDUjE6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1hdGktdmNyIiwKKysgICAgICAgICAgInZjcnZlcnNpb24iLCBHX1RZUEVfSU5ULCAxLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9SUFpBOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtYXBwbGUtdmlkZW8iLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9DSU5FUEFLOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtY2luZXBhayIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICAgIC8qIFdTX1ZRQSBiZWxvZ25zIGhlcmUgKG9yZGVyKSAqLworKworKyAgICBjYXNlIENPREVDX0lEX01TUkxFOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtcmxlIiwKKysgICAgICAgICAgImxheW91dCIsIEdfVFlQRV9TVFJJTkcsICJtaWNyb3NvZnQiLCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCAoZ2ludCkgY29udGV4dC0+Yml0c19wZXJfY29kZWRfc2FtcGxlLCBOVUxMKTsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywgImRlcHRoIiwgR1NUX1RZUEVfSU5UX1JBTkdFLCAxLCA2NCwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1FUUkxFOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtcmxlIiwKKysgICAgICAgICAgImxheW91dCIsIEdfVFlQRV9TVFJJTkcsICJxdWlja3RpbWUiLCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCAoZ2ludCkgY29udGV4dC0+Yml0c19wZXJfY29kZWRfc2FtcGxlLCBOVUxMKTsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywgImRlcHRoIiwgR1NUX1RZUEVfSU5UX1JBTkdFLCAxLCA2NCwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX01TVklERU8xOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtbXN2aWRlb2NvZGVjIiwKKysgICAgICAgICAgIm1zdmlkZW92ZXJzaW9uIiwgR19UWVBFX0lOVCwgMSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfV01WMzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXdtdiIsCisrICAgICAgICAgICJ3bXZ2ZXJzaW9uIiwgR19UWVBFX0lOVCwgMywgTlVMTCk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgQ09ERUNfSURfVkMxOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtd212IiwKKysgICAgICAgICAgIndtdnZlcnNpb24iLCBHX1RZUEVfSU5ULCAzLCAiZm9ybWF0IiwgR1NUX1RZUEVfRk9VUkNDLAorKyAgICAgICAgICBHU1RfTUFLRV9GT1VSQ0MgKCdXJywgJ1YnLCAnQycsICcxJyksIE5VTEwpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIENPREVDX0lEX1FETTI6CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC1xZG0yIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfTVNaSDoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LW1zemgiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9aTElCOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtemxpYiIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1RSVUVNT1RJT04xOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtdHJ1ZW1vdGlvbiIsCisrICAgICAgICAgICJ0cnVldmVyc2lvbiIsIEdfVFlQRV9JTlQsIDEsIE5VTEwpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIENPREVDX0lEX1RSVUVNT1RJT04yOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtdHJ1ZW1vdGlvbiIsCisrICAgICAgICAgICJ0cnVldmVyc2lvbiIsIEdfVFlQRV9JTlQsIDIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1VMVEk6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC11bHRpbW90aW9uIiwKKysgICAgICAgICAgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfVFNDQzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LWNhbXRhc2lhIiwgTlVMTCk7CisrICAgICAgaWYgKGNvbnRleHQpIHsKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgImRlcHRoIiwgR19UWVBFX0lOVCwgKGdpbnQpIGNvbnRleHQtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSwgTlVMTCk7CisrICAgICAgfSBlbHNlIHsKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsICJkZXB0aCIsIEdTVF9UWVBFX0lOVF9SQU5HRSwgOCwgMzIsIE5VTEwpOworKyAgICAgIH0KKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9LTVZDOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gta212YyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX05VVjoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LW51diIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0dJRjoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJpbWFnZS9naWYiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9QTkc6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiaW1hZ2UvcG5nIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfUFBNOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImltYWdlL3BwbSIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1BCTToKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJpbWFnZS9wYm0iLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9QQU06CisrICAgICAgY2FwcyA9CisrICAgICAgICAgIGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiaW1hZ2UveC1wb3J0YWJsZS1hbnltYXAiLAorKyAgICAgICAgICBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9QR006CisrICAgICAgY2FwcyA9CisrICAgICAgICAgIGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiaW1hZ2UveC1wb3J0YWJsZS1ncmF5bWFwIiwKKysgICAgICAgICAgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfUENYOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImltYWdlL3gtcGN4IiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfU0dJOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImltYWdlL3gtc2dpIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfVEFSR0E6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiaW1hZ2UveC10Z2EiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9USUZGOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImltYWdlL3RpZmYiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9TVU5SQVNUOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImltYWdlL3gtc3VuLXJhc3RlciIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1NNQzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXNtYyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1FEUkFXOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtcWRydyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0ROWEhEOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtZG54aGQiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9NSU1JQzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LW1pbWljIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfVk1OQzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXZtbmMiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9UUlVFU1BFRUNIOgorKyAgICAgIGNhcHMgPQorKyAgICAgICAgICBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtdHJ1ZXNwZWVjaCIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1FDRUxQOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3FjZWxwIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQU1WOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtYW12IiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQUFTQzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LWFhc2MiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9MT0NPOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtbG9jbyIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1pNQlY6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC16bWJ2IiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfTEFHQVJJVEg6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1sYWdhcml0aCIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0NTQ0Q6CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1jYW1zdHVkaW8iLCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCAoZ2ludCkgY29udGV4dC0+Yml0c19wZXJfY29kZWRfc2FtcGxlLCBOVUxMKTsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywgImRlcHRoIiwgR1NUX1RZUEVfSU5UX1JBTkdFLCA4LCAzMiwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1dTX1ZRQToKKysgICAgY2FzZSBDT0RFQ19JRF9JRENJTjoKKysgICAgY2FzZSBDT0RFQ19JRF84QlBTOgorKyAgICBjYXNlIENPREVDX0lEX0ZMSUM6CisrICAgIGNhc2UgQ09ERUNfSURfVk1EVklERU86CisrICAgIGNhc2UgQ09ERUNfSURfVk1EQVVESU86CisrICAgIGNhc2UgQ09ERUNfSURfU05PVzoKKysgICAgY2FzZSBDT0RFQ19JRF9WSVhMOgorKyAgICBjYXNlIENPREVDX0lEX1FQRUc6CisrICAgIGNhc2UgQ09ERUNfSURfUEdNWVVWOgorKyAgICBjYXNlIENPREVDX0lEX0ZGVkhVRkY6CisrICAgIGNhc2UgQ09ERUNfSURfV05WMToKKysgICAgY2FzZSBDT0RFQ19JRF9NUDNBRFU6CisrICAgIGNhc2UgQ09ERUNfSURfTVAzT040OgorKyAgICBjYXNlIENPREVDX0lEX1dFU1RXT09EX1NORDE6CisrICAgIGNhc2UgQ09ERUNfSURfTU1WSURFTzoKKysgICAgY2FzZSBDT0RFQ19JRF9BVlM6CisrICAgIGNhc2UgQ09ERUNfSURfQ0FWUzoKKysgICAgICBidWlsZGNhcHMgPSBUUlVFOworKyAgICAgIGJyZWFrOworKworKyAgICAgIC8qIHdlaXJkIHF1YXNpLWNvZGVjcyBmb3IgdGhlIGRlbXV4ZXJzIG9ubHkgKi8KKysgICAgY2FzZSBDT0RFQ19JRF9QQ01fUzE2TEU6CisrICAgIGNhc2UgQ09ERUNfSURfUENNX1MxNkJFOgorKyAgICBjYXNlIENPREVDX0lEX1BDTV9VMTZMRToKKysgICAgY2FzZSBDT0RFQ19JRF9QQ01fVTE2QkU6CisrICAgIGNhc2UgQ09ERUNfSURfUENNX1M4OgorKyAgICBjYXNlIENPREVDX0lEX1BDTV9VODoKKysgICAgeworKyAgICAgIGdpbnQgd2lkdGggPSAwLCBkZXB0aCA9IDAsIGVuZGlhbm5lc3MgPSAwOworKyAgICAgIGdib29sZWFuIHNpZ25lZG5lc3MgPSBGQUxTRTsgICAgICAvKiBibGFibGEgKi8KKysKKysgICAgICBzd2l0Y2ggKGNvZGVjX2lkKSB7CisrICAgICAgICBjYXNlIENPREVDX0lEX1BDTV9TMTZMRToKKysgICAgICAgICAgd2lkdGggPSAxNjsKKysgICAgICAgICAgZGVwdGggPSAxNjsKKysgICAgICAgICAgZW5kaWFubmVzcyA9IEdfTElUVExFX0VORElBTjsKKysgICAgICAgICAgc2lnbmVkbmVzcyA9IFRSVUU7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9QQ01fUzE2QkU6CisrICAgICAgICAgIHdpZHRoID0gMTY7CisrICAgICAgICAgIGRlcHRoID0gMTY7CisrICAgICAgICAgIGVuZGlhbm5lc3MgPSBHX0JJR19FTkRJQU47CisrICAgICAgICAgIHNpZ25lZG5lc3MgPSBUUlVFOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfUENNX1UxNkxFOgorKyAgICAgICAgICB3aWR0aCA9IDE2OworKyAgICAgICAgICBkZXB0aCA9IDE2OworKyAgICAgICAgICBlbmRpYW5uZXNzID0gR19MSVRUTEVfRU5ESUFOOworKyAgICAgICAgICBzaWduZWRuZXNzID0gRkFMU0U7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9QQ01fVTE2QkU6CisrICAgICAgICAgIHdpZHRoID0gMTY7CisrICAgICAgICAgIGRlcHRoID0gMTY7CisrICAgICAgICAgIGVuZGlhbm5lc3MgPSBHX0JJR19FTkRJQU47CisrICAgICAgICAgIHNpZ25lZG5lc3MgPSBGQUxTRTsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX1BDTV9TODoKKysgICAgICAgICAgd2lkdGggPSA4OworKyAgICAgICAgICBkZXB0aCA9IDg7CisrICAgICAgICAgIGVuZGlhbm5lc3MgPSBHX0JZVEVfT1JERVI7CisrICAgICAgICAgIHNpZ25lZG5lc3MgPSBUUlVFOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfUENNX1U4OgorKyAgICAgICAgICB3aWR0aCA9IDg7CisrICAgICAgICAgIGRlcHRoID0gODsKKysgICAgICAgICAgZW5kaWFubmVzcyA9IEdfQllURV9PUkRFUjsKKysgICAgICAgICAgc2lnbmVkbmVzcyA9IEZBTFNFOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGRlZmF1bHQ6CisrICAgICAgICAgIGdfYXNzZXJ0ICgwKTsgICAgICAgICAvKiBkb24ndCB3b3JyeSwgd2UgbmV2ZXIgZ2V0IGhlcmUgKi8KKysgICAgICAgICAgYnJlYWs7CisrICAgICAgfQorKworKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtcmF3LWludCIsCisrICAgICAgICAgICJ3aWR0aCIsIEdfVFlQRV9JTlQsIHdpZHRoLAorKyAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCBkZXB0aCwKKysgICAgICAgICAgImVuZGlhbm5lc3MiLCBHX1RZUEVfSU5ULCBlbmRpYW5uZXNzLAorKyAgICAgICAgICAic2lnbmVkIiwgR19UWVBFX0JPT0xFQU4sIHNpZ25lZG5lc3MsIE5VTEwpOworKyAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfUENNX01VTEFXOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtbXVsYXciLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9QQ01fQUxBVzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWFsYXciLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9HNzIyOgorKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL0c3MjIiLCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgImJsb2NrX2FsaWduIiwgR19UWVBFX0lOVCwgY29udGV4dC0+YmxvY2tfYWxpZ24sCisrICAgICAgICAgICAgImJpdHJhdGUiLCBHX1RZUEVfSU5ULCBjb250ZXh0LT5iaXRfcmF0ZSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRzcyNjoKKysgICAgeworKyAgICAgIC8qIHRoZSBHNzI2IGRlY29kZXIgY2FuIGFsc28gaGFuZGxlIEc3MjEgKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWFkcGNtIiwKKysgICAgICAgICAgImxheW91dCIsIEdfVFlQRV9TVFJJTkcsICJnNzI2IiwgTlVMTCk7CisrICAgICAgaWYgKGNvbnRleHQpCisrICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLAorKyAgICAgICAgICAgICJibG9ja19hbGlnbiIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJsb2NrX2FsaWduLAorKyAgICAgICAgICAgICJiaXRyYXRlIiwgR19UWVBFX0lOVCwgY29udGV4dC0+Yml0X3JhdGUsIE5VTEwpOworKworKyAgICAgIGlmICghZW5jb2RlKSB7CisrICAgICAgICBnc3RfY2Fwc19hcHBlbmQgKGNhcHMsIGdzdF9jYXBzX25ld19zaW1wbGUgKCJhdWRpby94LWFkcGNtIiwKKysgICAgICAgICAgICAgICAgImxheW91dCIsIEdfVFlQRV9TVFJJTkcsICJnNzIxIiwKKysgICAgICAgICAgICAgICAgImNoYW5uZWxzIiwgR19UWVBFX0lOVCwgMSwgInJhdGUiLCBHX1RZUEVfSU5ULCA4MDAwLCBOVUxMKSk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKyAgICB9CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fSU1BX1FUOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9XQVY6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fSU1BX0RLMzoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfREs0OgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9XUzoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfU01KUEVHOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9BTVY6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fSU1BX0lTUzoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfRUFfRUFDUzoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfRUFfU0VBRDoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9NUzoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV80WE06CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fWEE6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fQURYOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX0VBOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX0NUOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX1NXRjoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9ZQU1BSEE6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fU0JQUk9fMjoKKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9TQlBST18zOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX1NCUFJPXzQ6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfUjE6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfUjI6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfUjM6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfTUFYSVNfWEE6CisrICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfWEFTOgorKyAgICBjYXNlIENPREVDX0lEX0FEUENNX1RIUDoKKysgICAgeworKyAgICAgIGNvbnN0IGdjaGFyICpsYXlvdXQgPSBOVUxMOworKworKyAgICAgIHN3aXRjaCAoY29kZWNfaWQpIHsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fSU1BX1FUOgorKyAgICAgICAgICBsYXlvdXQgPSAicXVpY2t0aW1lIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9XQVY6CisrICAgICAgICAgIGxheW91dCA9ICJkdmkiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fSU1BX0RLMzoKKysgICAgICAgICAgbGF5b3V0ID0gImRrMyI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfREs0OgorKyAgICAgICAgICBsYXlvdXQgPSAiZGs0IjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9XUzoKKysgICAgICAgICAgbGF5b3V0ID0gIndlc3R3b29kIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9TTUpQRUc6CisrICAgICAgICAgIGxheW91dCA9ICJzbWpwZWciOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fSU1BX0FNVjoKKysgICAgICAgICAgbGF5b3V0ID0gImFtdiI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfSVNTOgorKyAgICAgICAgICBsYXlvdXQgPSAiaXNzIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0lNQV9FQV9FQUNTOgorKyAgICAgICAgICBsYXlvdXQgPSAiZWEtZWFjcyI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9JTUFfRUFfU0VBRDoKKysgICAgICAgICAgbGF5b3V0ID0gImVhLXNlYWQiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fTVM6CisrICAgICAgICAgIGxheW91dCA9ICJtaWNyb3NvZnQiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fNFhNOgorKyAgICAgICAgICBsYXlvdXQgPSAiNHhtIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX1hBOgorKyAgICAgICAgICBsYXlvdXQgPSAieGEiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fQURYOgorKyAgICAgICAgICBsYXlvdXQgPSAiYWR4IjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0VBOgorKyAgICAgICAgICBsYXlvdXQgPSAiZWEiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fQ1Q6CisrICAgICAgICAgIGxheW91dCA9ICJjdCI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9TV0Y6CisrICAgICAgICAgIGxheW91dCA9ICJzd2YiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fWUFNQUhBOgorKyAgICAgICAgICBsYXlvdXQgPSAieWFtYWhhIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX1NCUFJPXzI6CisrICAgICAgICAgIGxheW91dCA9ICJzYnBybzIiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fU0JQUk9fMzoKKysgICAgICAgICAgbGF5b3V0ID0gInNicHJvMyI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9TQlBST180OgorKyAgICAgICAgICBsYXlvdXQgPSAic2Jwcm80IjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0VBX1IxOgorKyAgICAgICAgICBsYXlvdXQgPSAiZWEtcjEiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfUjI6CisrICAgICAgICAgIGxheW91dCA9ICJlYS1yMyI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9FQV9SMzoKKysgICAgICAgICAgbGF5b3V0ID0gImVhLXIzIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX0VBX01BWElTX1hBOgorKyAgICAgICAgICBsYXlvdXQgPSAiZWEtbWF4aXMteGEiOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfQURQQ01fRUFfWEFTOgorKyAgICAgICAgICBsYXlvdXQgPSAiZWEteGFzIjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX0FEUENNX1RIUDoKKysgICAgICAgICAgbGF5b3V0ID0gInRocCI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgZGVmYXVsdDoKKysgICAgICAgICAgZ19hc3NlcnQgKDApOyAgICAgICAgIC8qIGRvbid0IHdvcnJ5LCB3ZSBuZXZlciBnZXQgaGVyZSAqLworKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrCisrICAgICAgLyogRklYTUU6IHNvbWVvbmUgcGxlYXNlIGNoZWNrIHdoZXRoZXIgd2UgbmVlZCBhZGRpdGlvbmFsIHByb3BlcnRpZXMKKysgICAgICAgKiBpbiB0aGlzIGNhcHMgZGVmaW5pdGlvbi4gKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWFkcGNtIiwKKysgICAgICAgICAgImxheW91dCIsIEdfVFlQRV9TVFJJTkcsIGxheW91dCwgTlVMTCk7CisrICAgICAgaWYgKGNvbnRleHQpCisrICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLAorKyAgICAgICAgICAgICJibG9ja19hbGlnbiIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJsb2NrX2FsaWduLAorKyAgICAgICAgICAgICJiaXRyYXRlIiwgR19UWVBFX0lOVCwgY29udGV4dC0+Yml0X3JhdGUsIE5VTEwpOworKyAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQU1SX05COgorKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL0FNUiIsIE5VTEwpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0FNUl9XQjoKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby9BTVItV0IiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9HU006CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC1nc20iLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9HU01fTVM6CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8vbXMtZ3NtIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfTkVMTFlNT1NFUjoKKysgICAgICBjYXBzID0KKysgICAgICAgICAgZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LW5lbGx5bW9zZXIiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9TSVBSOgorKyAgICB7CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC1zaXBybyIsIE5VTEwpOworKyAgICAgIGlmIChjb250ZXh0KSB7CisrICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLAorKyAgICAgICAgICAgICJsZWFmX3NpemUiLCBHX1RZUEVfSU5ULCBjb250ZXh0LT5ibG9ja19hbGlnbiwKKysgICAgICAgICAgICAiYml0cmF0ZSIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJpdF9yYXRlLCBOVUxMKTsKKysgICAgICB9CisrICAgIH0KKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9SQV8xNDQ6CisrICAgIGNhc2UgQ09ERUNfSURfUkFfMjg4OgorKyAgICBjYXNlIENPREVDX0lEX0NPT0s6CisrICAgIHsKKysgICAgICBnaW50IHZlcnNpb24gPSAwOworKworKyAgICAgIHN3aXRjaCAoY29kZWNfaWQpIHsKKysgICAgICAgIGNhc2UgQ09ERUNfSURfUkFfMTQ0OgorKyAgICAgICAgICB2ZXJzaW9uID0gMTsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIENPREVDX0lEX1JBXzI4ODoKKysgICAgICAgICAgdmVyc2lvbiA9IDI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9DT09LOgorKyAgICAgICAgICB2ZXJzaW9uID0gODsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrCisrICAgICAgLyogRklYTUU6IHByb3BlcnRpZXM/ICovCisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC1wbi1yZWFsYXVkaW8iLAorKyAgICAgICAgICAicmF2ZXJzaW9uIiwgR19UWVBFX0lOVCwgdmVyc2lvbiwgTlVMTCk7CisrICAgICAgaWYgKGNvbnRleHQpIHsKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgImxlYWZfc2l6ZSIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJsb2NrX2FsaWduLAorKyAgICAgICAgICAgICJiaXRyYXRlIiwgR19UWVBFX0lOVCwgY29udGV4dC0+Yml0X3JhdGUsIE5VTEwpOworKyAgICAgIH0KKysgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX1JPUV9EUENNOgorKyAgICBjYXNlIENPREVDX0lEX0lOVEVSUExBWV9EUENNOgorKyAgICBjYXNlIENPREVDX0lEX1hBTl9EUENNOgorKyAgICBjYXNlIENPREVDX0lEX1NPTF9EUENNOgorKyAgICB7CisrICAgICAgY29uc3QgZ2NoYXIgKmxheW91dCA9IE5VTEw7CisrCisrICAgICAgc3dpdGNoIChjb2RlY19pZCkgeworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9ST1FfRFBDTToKKysgICAgICAgICAgbGF5b3V0ID0gInJvcSI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9JTlRFUlBMQVlfRFBDTToKKysgICAgICAgICAgbGF5b3V0ID0gImludGVycGxheSI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9YQU5fRFBDTToKKysgICAgICAgICAgbGF5b3V0ID0gInhhbiI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBDT0RFQ19JRF9TT0xfRFBDTToKKysgICAgICAgICAgbGF5b3V0ID0gInNvbCI7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgZGVmYXVsdDoKKysgICAgICAgICAgZ19hc3NlcnQgKDApOyAgICAgICAgIC8qIGRvbid0IHdvcnJ5LCB3ZSBuZXZlciBnZXQgaGVyZSAqLworKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrCisrICAgICAgLyogRklYTUU6IHNvbWVvbmUgcGxlYXNlIGNoZWNrIHdoZXRoZXIgd2UgbmVlZCBhZGRpdGlvbmFsIHByb3BlcnRpZXMKKysgICAgICAgKiBpbiB0aGlzIGNhcHMgZGVmaW5pdGlvbi4gKi8KKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWRwY20iLAorKyAgICAgICAgICAibGF5b3V0IiwgR19UWVBFX1NUUklORywgbGF5b3V0LCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkKKysgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgImJsb2NrX2FsaWduIiwgR19UWVBFX0lOVCwgY29udGV4dC0+YmxvY2tfYWxpZ24sCisrICAgICAgICAgICAgImJpdHJhdGUiLCBHX1RZUEVfSU5ULCBjb250ZXh0LT5iaXRfcmF0ZSwgTlVMTCk7CisrICAgIH0KKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9TSE9SVEVOOgorKyAgICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXVkaW8veC1zaG9ydGVuIiwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfQUxBQzoKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LWFsYWMiLCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAic2FtcGxlc2l6ZSIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0ZMQUM6CisrICAgICAgLyogTm90ZSB0aGF0IGZmbXBlZyBoYXMgbm8gZW5jb2RlciB5ZXQsIGJ1dCBqdXN0IGZvciBzYWZldHkuIEluIHRoZQorKyAgICAgICAqIGVuY29kZXIgY2FzZSwgd2Ugd2FudCB0byBhZGQgdGhpbmdzIGxpa2Ugc2FtcGxlcmF0ZSwgY2hhbm5lbHMuLi4gKi8KKysgICAgICBpZiAoIWVuY29kZSkgeworKyAgICAgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJhdWRpby94LWZsYWMiLCBOVUxMKTsKKysgICAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfRFZEX1NVQlRJVExFOgorKyAgICBjYXNlIENPREVDX0lEX0RWQl9TVUJUSVRMRToKKysgICAgICBjYXBzID0gTlVMTDsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBDT0RFQ19JRF9CTVA6CisrICAgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJpbWFnZS9ibXAiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBDT0RFQ19JRF9UVEE6CisrICAgICAgY2FwcyA9IGdzdF9mZl9hdWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAiYXVkaW8veC10dGEiLCBOVUxMKTsKKysgICAgICBpZiAoY29udGV4dCkgeworKyAgICAgICAgZ3N0X2NhcHNfc2V0X3NpbXBsZSAoY2FwcywKKysgICAgICAgICAgICAic2FtcGxlc2l6ZSIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSwgTlVMTCk7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKyAgICBjYXNlIENPREVDX0lEX1RXSU5WUToKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LXR3aW4tdnEiLCBOVUxMKTsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBHU1RfREVCVUcgKCJVbmtub3duIGNvZGVjIElEICVkLCBwbGVhc2UgYWRkIG1hcHBpbmcgaGVyZSIsIGNvZGVjX2lkKTsKKysgICAgICBicmVhazsKKysgIH0KKysKKysgIGlmIChidWlsZGNhcHMpIHsKKysgICAgQVZDb2RlYyAqY29kZWM7CisrCisrICAgIGlmICgoY29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2RlciAoY29kZWNfaWQpKSB8fAorKyAgICAgICAgKGNvZGVjID0gYXZjb2RlY19maW5kX2VuY29kZXIgKGNvZGVjX2lkKSkpIHsKKysgICAgICBnY2hhciAqbWltZSA9IE5VTEw7CisrCisrICAgICAgR1NUX0xPRyAoIkNvdWxkIG5vdCBjcmVhdGUgc3RyZWFtIGZvcm1hdCBjYXBzIGZvciAlcyIsIGNvZGVjLT5uYW1lKTsKKysKKysgICAgICBzd2l0Y2ggKGNvZGVjLT50eXBlKSB7CisrICAgICAgICBjYXNlIEFWTUVESUFfVFlQRV9WSURFTzoKKysgICAgICAgICAgbWltZSA9IGdfc3RyZHVwX3ByaW50ZiAoInZpZGVvL3gtZ3N0X2ZmLSVzIiwgY29kZWMtPm5hbWUpOworKyAgICAgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsIG1pbWUsIE5VTEwpOworKyAgICAgICAgICBnX2ZyZWUgKG1pbWUpOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgQVZNRURJQV9UWVBFX0FVRElPOgorKyAgICAgICAgICBtaW1lID0gZ19zdHJkdXBfcHJpbnRmICgiYXVkaW8veC1nc3RfZmYtJXMiLCBjb2RlYy0+bmFtZSk7CisrICAgICAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgbWltZSwgTlVMTCk7CisrICAgICAgICAgIGlmIChjb250ZXh0KQorKyAgICAgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsCisrICAgICAgICAgICAgICAgICJibG9ja19hbGlnbiIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJsb2NrX2FsaWduLAorKyAgICAgICAgICAgICAgICAiYml0cmF0ZSIsIEdfVFlQRV9JTlQsIGNvbnRleHQtPmJpdF9yYXRlLCBOVUxMKTsKKysgICAgICAgICAgZ19mcmVlIChtaW1lKTsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysgIH0KKysKKysgIGlmIChjYXBzICE9IE5VTEwpIHsKKysKKysgICAgLyogc2V0IHByaXZhdGUgZGF0YSAqLworKyAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0LT5leHRyYWRhdGFfc2l6ZSA+IDApIHsKKysgICAgICBHc3RCdWZmZXIgKmRhdGEgPSBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MgKGNvbnRleHQtPmV4dHJhZGF0YV9zaXplKTsKKysKKysgICAgICBtZW1jcHkgKEdTVF9CVUZGRVJfREFUQSAoZGF0YSksIGNvbnRleHQtPmV4dHJhZGF0YSwKKysgICAgICAgICAgY29udGV4dC0+ZXh0cmFkYXRhX3NpemUpOworKyAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsICJjb2RlY19kYXRhIiwgR1NUX1RZUEVfQlVGRkVSLCBkYXRhLCBOVUxMKTsKKysgICAgICBnc3RfYnVmZmVyX3VucmVmIChkYXRhKTsKKysgICAgfQorKworKyAgICAvKiBwYWxldHRlICovCisrICAgIGlmIChjb250ZXh0KSB7CisrICAgICAgZ3N0X2ZmbXBlZ19zZXRfcGFsZXR0ZSAoY2FwcywgY29udGV4dCk7CisrICAgIH0KKysKKysgICAgR1NUX0xPRyAoImNhcHMgZm9yIGNvZGVjX2lkPSVkOiAlIiBHU1RfUFRSX0ZPUk1BVCwgY29kZWNfaWQsIGNhcHMpOworKworKyAgfSBlbHNlIHsKKysgICAgR1NUX0xPRyAoIk5vIGNhcHMgZm91bmQgZm9yIGNvZGVjX2lkPSVkIiwgY29kZWNfaWQpOworKyAgfQorKworKyAgcmV0dXJuIGNhcHM7CisrfQorKworKy8qIENvbnZlcnQgYSBGRk1QRUcgUGl4ZWwgRm9ybWF0IGFuZCBvcHRpb25hbCBBVkNvZGVjQ29udGV4dAorKyAqIHRvIGEgR3N0Q2Fwcy4gSWYgdGhlIGNvbnRleHQgaXMgb21taXR0ZWQsIG5vIGZpeGVkIHZhbHVlcworKyAqIGZvciB2aWRlby9hdWRpbyBzaXplIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIEdzdENhcHMKKysgKgorKyAqIFNlZSBiZWxvdyBmb3IgdXNlZnVsbG5lc3MKKysgKi8KKysKKytHc3RDYXBzICoKKytnc3RfZmZtcGVnX3BpeGZtdF90b19jYXBzIChlbnVtIFBpeGVsRm9ybWF0IHBpeF9mbXQsIEFWQ29kZWNDb250ZXh0ICogY29udGV4dCwKKysgICAgZW51bSBDb2RlY0lEIGNvZGVjX2lkKQorK3sKKysgIEdzdENhcHMgKmNhcHMgPSBOVUxMOworKworKyAgaW50IGJwcCA9IDAsIGRlcHRoID0gMCwgZW5kaWFubmVzcyA9IDA7CisrICBndWxvbmcgZ19tYXNrID0gMCwgcl9tYXNrID0gMCwgYl9tYXNrID0gMCwgYV9tYXNrID0gMDsKKysgIGd1aW50MzIgZm10ID0gMDsKKysKKysgIHN3aXRjaCAocGl4X2ZtdCkgeworKyAgICBjYXNlIFBJWF9GTVRfWVVWSjQyMFA6CisrICAgIGNhc2UgUElYX0ZNVF9ZVVY0MjBQOgorKyAgICAgIGZtdCA9IEdTVF9NQUtFX0ZPVVJDQyAoJ0knLCAnNCcsICcyJywgJzAnKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQSVhfRk1UX1lVVkE0MjBQOgorKyAgICAgIGZtdCA9IEdTVF9NQUtFX0ZPVVJDQyAoJ0EnLCAnNCcsICcyJywgJzAnKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQSVhfRk1UX1lVWVY0MjI6CisrICAgICAgZm10ID0gR1NUX01BS0VfRk9VUkNDICgnWScsICdVJywgJ1knLCAnMicpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBJWF9GTVRfUkdCMjQ6CisrICAgICAgYnBwID0gZGVwdGggPSAyNDsKKysgICAgICBlbmRpYW5uZXNzID0gR19CSUdfRU5ESUFOOworKyAgICAgIHJfbWFzayA9IDB4ZmYwMDAwOworKyAgICAgIGdfbWFzayA9IDB4MDBmZjAwOworKyAgICAgIGJfbWFzayA9IDB4MDAwMGZmOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBJWF9GTVRfQkdSMjQ6CisrICAgICAgYnBwID0gZGVwdGggPSAyNDsKKysgICAgICBlbmRpYW5uZXNzID0gR19CSUdfRU5ESUFOOworKyAgICAgIHJfbWFzayA9IDB4MDAwMGZmOworKyAgICAgIGdfbWFzayA9IDB4MDBmZjAwOworKyAgICAgIGJfbWFzayA9IDB4ZmYwMDAwOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBJWF9GTVRfWVVWSjQyMlA6CisrICAgIGNhc2UgUElYX0ZNVF9ZVVY0MjJQOgorKyAgICAgIGZtdCA9IEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcyJywgJ0InKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQSVhfRk1UX1lVVko0NDRQOgorKyAgICBjYXNlIFBJWF9GTVRfWVVWNDQ0UDoKKysgICAgICBmbXQgPSBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJzQnLCAnNCcsICc0Jyk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUElYX0ZNVF9SR0IzMjoKKysgICAgICBicHAgPSAzMjsKKysgICAgICBkZXB0aCA9IDMyOworKyAgICAgIGVuZGlhbm5lc3MgPSBHX0JJR19FTkRJQU47CisrI2lmIChHX0JZVEVfT1JERVIgPT0gR19CSUdfRU5ESUFOKQorKyAgICAgIHJfbWFzayA9IDB4MDBmZjAwMDA7CisrICAgICAgZ19tYXNrID0gMHgwMDAwZmYwMDsKKysgICAgICBiX21hc2sgPSAweDAwMDAwMGZmOworKyAgICAgIGFfbWFzayA9IDB4ZmYwMDAwMDA7CisrI2Vsc2UKKysgICAgICByX21hc2sgPSAweDAwMDBmZjAwOworKyAgICAgIGdfbWFzayA9IDB4MDBmZjAwMDA7CisrICAgICAgYl9tYXNrID0gMHhmZjAwMDAwMDsKKysgICAgICBhX21hc2sgPSAweDAwMDAwMGZmOworKyNlbmRpZgorKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBJWF9GTVRfWVVWNDEwUDoKKysgICAgICBmbXQgPSBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJ1UnLCAnVicsICc5Jyk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUElYX0ZNVF9ZVVY0MTFQOgorKyAgICAgIGZtdCA9IEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcxJywgJ0InKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQSVhfRk1UX1JHQjU2NToKKysgICAgICBicHAgPSBkZXB0aCA9IDE2OworKyAgICAgIGVuZGlhbm5lc3MgPSBHX0JZVEVfT1JERVI7CisrICAgICAgcl9tYXNrID0gMHhmODAwOworKyAgICAgIGdfbWFzayA9IDB4MDdlMDsKKysgICAgICBiX21hc2sgPSAweDAwMWY7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUElYX0ZNVF9SR0I1NTU6CisrICAgICAgYnBwID0gMTY7CisrICAgICAgZGVwdGggPSAxNTsKKysgICAgICBlbmRpYW5uZXNzID0gR19CWVRFX09SREVSOworKyAgICAgIHJfbWFzayA9IDB4N2MwMDsKKysgICAgICBnX21hc2sgPSAweDAzZTA7CisrICAgICAgYl9tYXNrID0gMHgwMDFmOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBJWF9GTVRfUEFMODoKKysgICAgICBicHAgPSBkZXB0aCA9IDg7CisrICAgICAgZW5kaWFubmVzcyA9IEdfQllURV9PUkRFUjsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQSVhfRk1UX0dSQVk4OgorKyAgICAgIGJwcCA9IGRlcHRoID0gODsKKysgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXJhdy1ncmF5IiwKKysgICAgICAgICAgImJwcCIsIEdfVFlQRV9JTlQsIGJwcCwgImRlcHRoIiwgR19UWVBFX0lOVCwgZGVwdGgsIE5VTEwpOworKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIC8qIGdpdmUgdXAgLi4uICovCisrICAgICAgYnJlYWs7CisrICB9CisrCisrICBpZiAoY2FwcyA9PSBOVUxMKSB7CisrICAgIGlmIChicHAgIT0gMCkgeworKyAgICAgIGlmIChyX21hc2sgIT0gMCkgeworKyAgICAgICAgaWYgKGFfbWFzaykgeworKyAgICAgICAgICBjYXBzID0gZ3N0X2ZmX3ZpZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJ2aWRlby94LXJhdy1yZ2IiLAorKyAgICAgICAgICAgICAgImJwcCIsIEdfVFlQRV9JTlQsIGJwcCwKKysgICAgICAgICAgICAgICJkZXB0aCIsIEdfVFlQRV9JTlQsIGRlcHRoLAorKyAgICAgICAgICAgICAgInJlZF9tYXNrIiwgR19UWVBFX0lOVCwgcl9tYXNrLAorKyAgICAgICAgICAgICAgImdyZWVuX21hc2siLCBHX1RZUEVfSU5ULCBnX21hc2ssCisrICAgICAgICAgICAgICAiYmx1ZV9tYXNrIiwgR19UWVBFX0lOVCwgYl9tYXNrLAorKyAgICAgICAgICAgICAgImFscGhhX21hc2siLCBHX1RZUEVfSU5ULCBhX21hc2ssCisrICAgICAgICAgICAgICAiZW5kaWFubmVzcyIsIEdfVFlQRV9JTlQsIGVuZGlhbm5lc3MsIE5VTEwpOworKyAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1yYXctcmdiIiwKKysgICAgICAgICAgICAgICJicHAiLCBHX1RZUEVfSU5ULCBicHAsCisrICAgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCBkZXB0aCwKKysgICAgICAgICAgICAgICJyZWRfbWFzayIsIEdfVFlQRV9JTlQsIHJfbWFzaywKKysgICAgICAgICAgICAgICJncmVlbl9tYXNrIiwgR19UWVBFX0lOVCwgZ19tYXNrLAorKyAgICAgICAgICAgICAgImJsdWVfbWFzayIsIEdfVFlQRV9JTlQsIGJfbWFzaywKKysgICAgICAgICAgICAgICJlbmRpYW5uZXNzIiwgR19UWVBFX0lOVCwgZW5kaWFubmVzcywgTlVMTCk7CisrICAgICAgICB9CisrICAgICAgfSBlbHNlIHsKKysgICAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgInZpZGVvL3gtcmF3LXJnYiIsCisrICAgICAgICAgICAgImJwcCIsIEdfVFlQRV9JTlQsIGJwcCwKKysgICAgICAgICAgICAiZGVwdGgiLCBHX1RZUEVfSU5ULCBkZXB0aCwKKysgICAgICAgICAgICAiZW5kaWFubmVzcyIsIEdfVFlQRV9JTlQsIGVuZGlhbm5lc3MsIE5VTEwpOworKyAgICAgICAgaWYgKGNhcHMgJiYgY29udGV4dCkgeworKyAgICAgICAgICBnc3RfZmZtcGVnX3NldF9wYWxldHRlIChjYXBzLCBjb250ZXh0KTsKKysgICAgICAgIH0KKysgICAgICB9CisrICAgIH0gZWxzZSBpZiAoZm10KSB7CisrICAgICAgY2FwcyA9IGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCAidmlkZW8veC1yYXcteXV2IiwKKysgICAgICAgICAgImZvcm1hdCIsIEdTVF9UWVBFX0ZPVVJDQywgZm10LCBOVUxMKTsKKysgICAgfQorKyAgfQorKworKyAgaWYgKGNhcHMgIT0gTlVMTCkgeworKyAgICBHU1RfREVCVUcgKCJjYXBzIGZvciBwaXhfZm10PSVkOiAlIiBHU1RfUFRSX0ZPUk1BVCwgcGl4X2ZtdCwgY2Fwcyk7CisrICB9IGVsc2UgeworKyAgICBHU1RfTE9HICgiTm8gY2FwcyBmb3VuZCBmb3IgcGl4X2ZtdD0lZCIsIHBpeF9mbXQpOworKyAgfQorKworKyAgcmV0dXJuIGNhcHM7CisrfQorKworKy8qIENvbnZlcnQgYSBGRk1QRUcgU2FtcGxlIEZvcm1hdCBhbmQgb3B0aW9uYWwgQVZDb2RlY0NvbnRleHQKKysgKiB0byBhIEdzdENhcHMuIElmIHRoZSBjb250ZXh0IGlzIG9tbWl0dGVkLCBubyBmaXhlZCB2YWx1ZXMKKysgKiBmb3IgdmlkZW8vYXVkaW8gc2l6ZSB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBHc3RDYXBzCisrICoKKysgKiBTZWUgYmVsb3cgZm9yIHVzZWZ1bGxuZXNzCisrICovCisrCisrc3RhdGljIEdzdENhcHMgKgorK2dzdF9mZm1wZWdfc21wZm10X3RvX2NhcHMgKGVudW0gQVZTYW1wbGVGb3JtYXQgc2FtcGxlX2ZtdCwKKysgICAgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LCBlbnVtIENvZGVjSUQgY29kZWNfaWQpCisreworKyAgR3N0Q2FwcyAqY2FwcyA9IE5VTEw7CisrCisrICBpbnQgYnBwID0gMDsKKysgIGdib29sZWFuIGludGVnZXIgPSBUUlVFOworKyAgZ2Jvb2xlYW4gc2lnbmVkbmVzcyA9IEZBTFNFOworKworKyAgc3dpdGNoIChzYW1wbGVfZm10KSB7CisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9TMTY6CisrICAgICAgc2lnbmVkbmVzcyA9IFRSVUU7CisrICAgICAgYnBwID0gMTY7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9TMzI6CisrICAgICAgc2lnbmVkbmVzcyA9IFRSVUU7CisrICAgICAgYnBwID0gMzI7CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9GTFQ6CisrICAgICAgaW50ZWdlciA9IEZBTFNFOworKyAgICAgIGJwcCA9IDMyOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIEFWX1NBTVBMRV9GTVRfREJMOgorKyAgICAgIGludGVnZXIgPSBGQUxTRTsKKysgICAgICBicHAgPSA2NDsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICAvKiAuLiAqLworKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgaWYgKGJwcCkgeworKyAgICBpZiAoaW50ZWdlcikgeworKyAgICAgIGNhcHMgPSBnc3RfZmZfYXVkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgImF1ZGlvL3gtcmF3LWludCIsCisrICAgICAgICAgICJzaWduZWQiLCBHX1RZUEVfQk9PTEVBTiwgc2lnbmVkbmVzcywKKysgICAgICAgICAgImVuZGlhbm5lc3MiLCBHX1RZUEVfSU5ULCBHX0JZVEVfT1JERVIsCisrICAgICAgICAgICJ3aWR0aCIsIEdfVFlQRV9JTlQsIGJwcCwgImRlcHRoIiwgR19UWVBFX0lOVCwgYnBwLCBOVUxMKTsKKysgICAgfSBlbHNlIHsKKysgICAgICBjYXBzID0gZ3N0X2ZmX2F1ZF9jYXBzX25ldyAoY29udGV4dCwgY29kZWNfaWQsICJhdWRpby94LXJhdy1mbG9hdCIsCisrICAgICAgICAgICJlbmRpYW5uZXNzIiwgR19UWVBFX0lOVCwgR19CWVRFX09SREVSLAorKyAgICAgICAgICAid2lkdGgiLCBHX1RZUEVfSU5ULCBicHAsIE5VTEwpOworKyAgICB9CisrICB9CisrCisrICBpZiAoY2FwcyAhPSBOVUxMKSB7CisrICAgIEdTVF9MT0cgKCJjYXBzIGZvciBzYW1wbGVfZm10PSVkOiAlIiBHU1RfUFRSX0ZPUk1BVCwgc2FtcGxlX2ZtdCwgY2Fwcyk7CisrICB9IGVsc2UgeworKyAgICBHU1RfTE9HICgiTm8gY2FwcyBmb3VuZCBmb3Igc2FtcGxlX2ZtdD0lZCIsIHNhbXBsZV9mbXQpOworKyAgfQorKworKyAgcmV0dXJuIGNhcHM7CisrfQorKworK0dzdENhcHMgKgorK2dzdF9mZm1wZWdfY29kZWN0eXBlX3RvX2F1ZGlvX2NhcHMgKEFWQ29kZWNDb250ZXh0ICogY29udGV4dCwKKysgICAgZW51bSBDb2RlY0lEIGNvZGVjX2lkLCBnYm9vbGVhbiBlbmNvZGUsIEFWQ29kZWMgKiBjb2RlYykKKyt7CisrICBHc3RDYXBzICpjYXBzID0gTlVMTDsKKysKKysgIEdTVF9ERUJVRyAoImNvbnRleHQ6JXAsIGNvZGVjX2lkOiVkLCBlbmNvZGU6JWQsIGNvZGVjOiVwIiwKKysgICAgICBjb250ZXh0LCBjb2RlY19pZCwgZW5jb2RlLCBjb2RlYyk7CisrICBpZiAoY29kZWMpCisrICAgIEdTVF9ERUJVRyAoInNhbXBsZV9mbXRzOiVwLCBzYW1wbGVyYXRlczolcCIsCisrICAgICAgICBjb2RlYy0+c2FtcGxlX2ZtdHMsIGNvZGVjLT5zdXBwb3J0ZWRfc2FtcGxlcmF0ZXMpOworKworKyAgaWYgKGNvbnRleHQpIHsKKysgICAgLyogU3BlY2lmaWMgY29kZWMgY29udGV4dCAqLworKyAgICBjYXBzID0gZ3N0X2ZmbXBlZ19zbXBmbXRfdG9fY2FwcyAoY29udGV4dC0+c2FtcGxlX2ZtdCwgY29udGV4dCwgY29kZWNfaWQpOworKyAgfSBlbHNlIGlmIChjb2RlYyAmJiBjb2RlYy0+c2FtcGxlX2ZtdHMpIHsKKysgICAgR3N0Q2FwcyAqdGVtcDsKKysgICAgaW50IGk7CisrCisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfZW1wdHkgKCk7CisrICAgIGZvciAoaSA9IDA7IGNvZGVjLT5zYW1wbGVfZm10c1tpXSAhPSAtMTsgaSsrKSB7CisrICAgICAgdGVtcCA9CisrICAgICAgICAgIGdzdF9mZm1wZWdfc21wZm10X3RvX2NhcHMgKGNvZGVjLT5zYW1wbGVfZm10c1tpXSwgY29udGV4dCwgY29kZWNfaWQpOworKyAgICAgIGlmICh0ZW1wICE9IE5VTEwpCisrICAgICAgICBnc3RfY2Fwc19hcHBlbmQgKGNhcHMsIHRlbXApOworKyAgICB9CisrICB9IGVsc2UgeworKyAgICBHc3RDYXBzICp0ZW1wOworKyAgICBlbnVtIEFWU2FtcGxlRm9ybWF0IGk7CisrICAgIEFWQ29kZWNDb250ZXh0IGN0eCA9IHsgMCwgfTsKKysKKysgICAgY3R4LmNoYW5uZWxzID0gLTE7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfZW1wdHkgKCk7CisrICAgIGZvciAoaSA9IDA7IGkgPD0gQVZfU0FNUExFX0ZNVF9EQkw7IGkrKykgeworKyAgICAgIHRlbXAgPSBnc3RfZmZtcGVnX3NtcGZtdF90b19jYXBzIChpLCBlbmNvZGUgPyAmY3R4IDogTlVMTCwgY29kZWNfaWQpOworKyAgICAgIGlmICh0ZW1wICE9IE5VTEwpIHsKKysgICAgICAgIGdzdF9jYXBzX2FwcGVuZCAoY2FwcywgdGVtcCk7CisrICAgICAgfQorKyAgICB9CisrICB9CisrICByZXR1cm4gY2FwczsKKyt9CisrCisrR3N0Q2FwcyAqCisrZ3N0X2ZmbXBlZ19jb2RlY3R5cGVfdG9fdmlkZW9fY2FwcyAoQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LAorKyAgICBlbnVtIENvZGVjSUQgY29kZWNfaWQsIGdib29sZWFuIGVuY29kZSwgQVZDb2RlYyAqIGNvZGVjKQorK3sKKysgIEdzdENhcHMgKmNhcHM7CisrCisrICBHU1RfTE9HICgiY29udGV4dDolcCwgY29kZWNfaWQ6JWQsIGVuY29kZTolZCwgY29kZWM6JXAiLAorKyAgICAgIGNvbnRleHQsIGNvZGVjX2lkLCBlbmNvZGUsIGNvZGVjKTsKKysKKysgIGlmIChjb250ZXh0KSB7CisrICAgIGNhcHMgPSBnc3RfZmZtcGVnX3BpeGZtdF90b19jYXBzIChjb250ZXh0LT5waXhfZm10LCBjb250ZXh0LCBjb2RlY19pZCk7CisrICB9IGVsc2UgeworKyAgICBHc3RDYXBzICp0ZW1wOworKyAgICBlbnVtIFBpeGVsRm9ybWF0IGk7CisrICAgIEFWQ29kZWNDb250ZXh0IGN0eCA9IHsgMCwgfTsKKysKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19lbXB0eSAoKTsKKysgICAgZm9yIChpID0gMDsgaSA8IFBJWF9GTVRfTkI7IGkrKykgeworKyAgICAgIGN0eC53aWR0aCA9IC0xOworKyAgICAgIGN0eC5waXhfZm10ID0gaTsKKysgICAgICB0ZW1wID0gZ3N0X2ZmbXBlZ19waXhmbXRfdG9fY2FwcyAoaSwgZW5jb2RlID8gJmN0eCA6IE5VTEwsIGNvZGVjX2lkKTsKKysgICAgICBpZiAodGVtcCAhPSBOVUxMKSB7CisrICAgICAgICBnc3RfY2Fwc19hcHBlbmQgKGNhcHMsIHRlbXApOworKyAgICAgIH0KKysgICAgfQorKyAgfQorKyAgcmV0dXJuIGNhcHM7CisrfQorKworKy8qIENvbnZlcnQgYSBGRk1QRUcgY29kZWMgVHlwZSBhbmQgb3B0aW9uYWwgQVZDb2RlY0NvbnRleHQKKysgKiB0byBhIEdzdENhcHMuIElmIHRoZSBjb250ZXh0IGlzIG9tbWl0dGVkLCBubyBmaXhlZCB2YWx1ZXMKKysgKiBmb3IgdmlkZW8vYXVkaW8gc2l6ZSB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBHc3RDYXBzCisrICoKKysgKiBBVk1lZGlhVHlwZSBpcyBwcmltYXJpbHkgbWVhbnQgZm9yIHVuY29tcHJlc3NlZCBkYXRhIEdzdENhcHMhCisrICovCisrCisrR3N0Q2FwcyAqCisrZ3N0X2ZmbXBlZ19jb2RlY3R5cGVfdG9fY2FwcyAoZW51bSBBVk1lZGlhVHlwZSBjb2RlY190eXBlLAorKyAgICBBVkNvZGVjQ29udGV4dCAqIGNvbnRleHQsIGVudW0gQ29kZWNJRCBjb2RlY19pZCwgZ2Jvb2xlYW4gZW5jb2RlKQorK3sKKysgIEdzdENhcHMgKmNhcHM7CisrCisrICBzd2l0Y2ggKGNvZGVjX3R5cGUpIHsKKysgICAgY2FzZSBBVk1FRElBX1RZUEVfVklERU86CisrICAgICAgY2FwcyA9CisrICAgICAgICAgIGdzdF9mZm1wZWdfY29kZWN0eXBlX3RvX3ZpZGVvX2NhcHMgKGNvbnRleHQsIGNvZGVjX2lkLCBlbmNvZGUsIE5VTEwpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKKysgICAgICBjYXBzID0KKysgICAgICAgICAgZ3N0X2ZmbXBlZ19jb2RlY3R5cGVfdG9fYXVkaW9fY2FwcyAoY29udGV4dCwgY29kZWNfaWQsIGVuY29kZSwgTlVMTCk7CisrICAgICAgYnJlYWs7CisrICAgIGRlZmF1bHQ6CisrICAgICAgY2FwcyA9IE5VTEw7CisrICAgICAgYnJlYWs7CisrICB9CisrCisrICByZXR1cm4gY2FwczsKKyt9CisrCisrLyogQ29udmVydCBhIEdzdENhcHMgKGF1ZGlvL3JhdykgdG8gYSBGRk1QRUcgU2FtcGxlRm10CisrICogYW5kIG90aGVyIGF1ZGlvIHByb3BlcnRpZXMgaW4gYSBBVkNvZGVjQ29udGV4dC4KKysgKgorKyAqIEZvciB1c2VmdWxsbmVzcywgc2VlIGJlbG93CisrICovCisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnX2NhcHNfdG9fc21wZm10IChjb25zdCBHc3RDYXBzICogY2FwcywKKysgICAgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LCBnYm9vbGVhbiByYXcpCisreworKyAgR3N0U3RydWN0dXJlICpzdHJ1Y3R1cmU7CisrICBnaW50IGRlcHRoID0gMCwgd2lkdGggPSAwLCBlbmRpYW5uZXNzID0gMDsKKysgIGdib29sZWFuIHNpZ25lZG5lc3MgPSBGQUxTRTsKKysgIGNvbnN0IGdjaGFyICpuYW1lOworKworKyAgZ19yZXR1cm5faWZfZmFpbCAoZ3N0X2NhcHNfZ2V0X3NpemUgKGNhcHMpID09IDEpOworKyAgc3RydWN0dXJlID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgMCk7CisrCisrICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImNoYW5uZWxzIiwgJmNvbnRleHQtPmNoYW5uZWxzKTsKKysgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAicmF0ZSIsICZjb250ZXh0LT5zYW1wbGVfcmF0ZSk7CisrICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImJsb2NrX2FsaWduIiwgJmNvbnRleHQtPmJsb2NrX2FsaWduKTsKKysgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiYml0cmF0ZSIsICZjb250ZXh0LT5iaXRfcmF0ZSk7CisrCisrICBpZiAoIXJhdykKKysgICAgcmV0dXJuOworKworKyAgbmFtZSA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X25hbWUgKHN0cnVjdHVyZSk7CisrCisrICBpZiAoIXN0cmNtcCAobmFtZSwgImF1ZGlvL3gtcmF3LWZsb2F0IikpIHsKKysgICAgLyogRkxPQVQgKi8KKysgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAid2lkdGgiLCAmd2lkdGgpICYmCisrICAgICAgICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImVuZGlhbm5lc3MiLCAmZW5kaWFubmVzcykpIHsKKysgICAgICBpZiAoZW5kaWFubmVzcyA9PSBHX0JZVEVfT1JERVIpIHsKKysgICAgICAgIGlmICh3aWR0aCA9PSAzMikKKysgICAgICAgICAgY29udGV4dC0+c2FtcGxlX2ZtdCA9IEFWX1NBTVBMRV9GTVRfRkxUOworKyAgICAgICAgZWxzZSBpZiAod2lkdGggPT0gNjQpCisrICAgICAgICAgIGNvbnRleHQtPnNhbXBsZV9mbXQgPSBBVl9TQU1QTEVfRk1UX0RCTDsKKysgICAgICB9CisrICAgIH0KKysgIH0gZWxzZSB7CisrICAgIC8qIElOVCAqLworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJ3aWR0aCIsICZ3aWR0aCkgJiYKKysgICAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiZGVwdGgiLCAmZGVwdGgpICYmCisrICAgICAgICBnc3Rfc3RydWN0dXJlX2dldF9ib29sZWFuIChzdHJ1Y3R1cmUsICJzaWduZWQiLCAmc2lnbmVkbmVzcykgJiYKKysgICAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiZW5kaWFubmVzcyIsICZlbmRpYW5uZXNzKSkgeworKyAgICAgIGlmICgoZW5kaWFubmVzcyA9PSBHX0JZVEVfT1JERVIpICYmIChzaWduZWRuZXNzID09IFRSVUUpKSB7CisrICAgICAgICBpZiAoKHdpZHRoID09IDE2KSAmJiAoZGVwdGggPT0gMTYpKQorKyAgICAgICAgICBjb250ZXh0LT5zYW1wbGVfZm10ID0gQVZfU0FNUExFX0ZNVF9TMTY7CisrICAgICAgICBlbHNlIGlmICgod2lkdGggPT0gMzIpICYmIChkZXB0aCA9PSAzMikpCisrICAgICAgICAgIGNvbnRleHQtPnNhbXBsZV9mbXQgPSBBVl9TQU1QTEVfRk1UX1MzMjsKKysgICAgICB9CisrICAgIH0KKysgIH0KKyt9CisrCisrCisrLyogQ29udmVydCBhIEdzdENhcHMgKHZpZGVvL3JhdykgdG8gYSBGRk1QRUcgUGl4Rm10CisrICogYW5kIG90aGVyIHZpZGVvIHByb3BlcnRpZXMgaW4gYSBBVkNvZGVjQ29udGV4dC4KKysgKgorKyAqIEZvciB1c2VmdWxsbmVzcywgc2VlIGJlbG93CisrICovCisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnX2NhcHNfdG9fcGl4Zm10IChjb25zdCBHc3RDYXBzICogY2FwcywKKysgICAgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LCBnYm9vbGVhbiByYXcpCisreworKyAgR3N0U3RydWN0dXJlICpzdHJ1Y3R1cmU7CisrICBjb25zdCBHVmFsdWUgKmZwczsKKysgIGNvbnN0IEdWYWx1ZSAqcGFyID0gTlVMTDsKKysKKysgIEdTVF9ERUJVRyAoImNvbnZlcnRpbmcgY2FwcyAlIiBHU1RfUFRSX0ZPUk1BVCwgY2Fwcyk7CisrICBnX3JldHVybl9pZl9mYWlsIChnc3RfY2Fwc19nZXRfc2l6ZSAoY2FwcykgPT0gMSk7CisrICBzdHJ1Y3R1cmUgPSBnc3RfY2Fwc19nZXRfc3RydWN0dXJlIChjYXBzLCAwKTsKKysKKysgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAid2lkdGgiLCAmY29udGV4dC0+d2lkdGgpOworKyAgZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJoZWlnaHQiLCAmY29udGV4dC0+aGVpZ2h0KTsKKysgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiYnBwIiwgJmNvbnRleHQtPmJpdHNfcGVyX2NvZGVkX3NhbXBsZSk7CisrCisrICBmcHMgPSBnc3Rfc3RydWN0dXJlX2dldF92YWx1ZSAoc3RydWN0dXJlLCAiZnJhbWVyYXRlIik7CisrICBpZiAoZnBzICE9IE5VTEwgJiYgR1NUX1ZBTFVFX0hPTERTX0ZSQUNUSU9OIChmcHMpKSB7CisrCisrICAgIC8qIHNvbWVob3cgdGhlc2Ugc2VlbSBtaXhlZCB1cC4uICovCisrICAgIGNvbnRleHQtPnRpbWVfYmFzZS5kZW4gPSBnc3RfdmFsdWVfZ2V0X2ZyYWN0aW9uX251bWVyYXRvciAoZnBzKTsKKysgICAgY29udGV4dC0+dGltZV9iYXNlLm51bSA9IGdzdF92YWx1ZV9nZXRfZnJhY3Rpb25fZGVub21pbmF0b3IgKGZwcyk7CisrICAgIGNvbnRleHQtPnRpY2tzX3Blcl9mcmFtZSA9IDE7CisrCisrICAgIEdTVF9ERUJVRyAoInNldHRpbmcgZnJhbWVyYXRlICVkLyVkID0gJWxmIiwKKysgICAgICAgIGNvbnRleHQtPnRpbWVfYmFzZS5kZW4sIGNvbnRleHQtPnRpbWVfYmFzZS5udW0sCisrICAgICAgICAxLiAqIGNvbnRleHQtPnRpbWVfYmFzZS5kZW4gLyBjb250ZXh0LT50aW1lX2Jhc2UubnVtKTsKKysgIH0KKysKKysgIHBhciA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3ZhbHVlIChzdHJ1Y3R1cmUsICJwaXhlbC1hc3BlY3QtcmF0aW8iKTsKKysgIGlmIChwYXIgJiYgR1NUX1ZBTFVFX0hPTERTX0ZSQUNUSU9OIChwYXIpKSB7CisrCisrICAgIGNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8ubnVtID0gZ3N0X3ZhbHVlX2dldF9mcmFjdGlvbl9udW1lcmF0b3IgKHBhcik7CisrICAgIGNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8uZGVuID0gZ3N0X3ZhbHVlX2dldF9mcmFjdGlvbl9kZW5vbWluYXRvciAocGFyKTsKKysKKysgICAgR1NUX0RFQlVHICgic2V0dGluZyBwaXhlbC1hc3BlY3QtcmF0aW8gJWQvJWQgPSAlbGYiLAorKyAgICAgICAgY29udGV4dC0+c2FtcGxlX2FzcGVjdF9yYXRpby5kZW4sIGNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8ubnVtLAorKyAgICAgICAgMS4gKiBjb250ZXh0LT5zYW1wbGVfYXNwZWN0X3JhdGlvLmRlbiAvCisrICAgICAgICBjb250ZXh0LT5zYW1wbGVfYXNwZWN0X3JhdGlvLm51bSk7CisrICB9CisrCisrICBpZiAoIXJhdykKKysgICAgcmV0dXJuOworKworKyAgZ19yZXR1cm5faWZfZmFpbCAoZnBzICE9IE5VTEwgJiYgR1NUX1ZBTFVFX0hPTERTX0ZSQUNUSU9OIChmcHMpKTsKKysKKysgIGlmIChzdHJjbXAgKGdzdF9zdHJ1Y3R1cmVfZ2V0X25hbWUgKHN0cnVjdHVyZSksICJ2aWRlby94LXJhdy15dXYiKSA9PSAwKSB7CisrICAgIGd1aW50MzIgZm91cmNjOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfZm91cmNjIChzdHJ1Y3R1cmUsICJmb3JtYXQiLCAmZm91cmNjKSkgeworKyAgICAgIHN3aXRjaCAoZm91cmNjKSB7CisrICAgICAgICBjYXNlIEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnVScsICdZJywgJzInKToKKysgICAgICAgICAgY29udGV4dC0+cGl4X2ZtdCA9IFBJWF9GTVRfWVVZVjQyMjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIEdTVF9NQUtFX0ZPVVJDQyAoJ0knLCAnNCcsICcyJywgJzAnKToKKysgICAgICAgICAgY29udGV4dC0+cGl4X2ZtdCA9IFBJWF9GTVRfWVVWNDIwUDsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIEdTVF9NQUtFX0ZPVVJDQyAoJ0EnLCAnNCcsICcyJywgJzAnKToKKysgICAgICAgICAgY29udGV4dC0+cGl4X2ZtdCA9IFBJWF9GTVRfWVVWQTQyMFA7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJzQnLCAnMScsICdCJyk6CisrICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lVVjQxMVA7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJzQnLCAnMicsICdCJyk6CisrICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lVVjQyMlA7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSBHU1RfTUFLRV9GT1VSQ0MgKCdZJywgJ1UnLCAnVicsICc5Jyk6CisrICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lVVjQxMFA7CisrICAgICAgICAgIGJyZWFrOworKyNpZiAwCisrICAgICAgICBjYXNlIEZJWE1FOgorKyAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9ZVVY0NDRQOworKyAgICAgICAgICBicmVhazsKKysjZW5kaWYKKysgICAgICB9CisrICAgIH0KKysgIH0gZWxzZSBpZiAoc3RyY21wIChnc3Rfc3RydWN0dXJlX2dldF9uYW1lIChzdHJ1Y3R1cmUpLAorKyAgICAgICAgICAidmlkZW8veC1yYXctcmdiIikgPT0gMCkgeworKyAgICBnaW50IGJwcCA9IDAsIHJtYXNrID0gMCwgZW5kaWFubmVzcyA9IDA7CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImJwcCIsICZicHApICYmCisrICAgICAgICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImVuZGlhbm5lc3MiLCAmZW5kaWFubmVzcykpIHsKKysgICAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJyZWRfbWFzayIsICZybWFzaykpIHsKKysgICAgICAgIHN3aXRjaCAoYnBwKSB7CisrICAgICAgICAgIGNhc2UgMzI6CisrI2lmIChHX0JZVEVfT1JERVIgPT0gR19CSUdfRU5ESUFOKQorKyAgICAgICAgICAgIGlmIChybWFzayA9PSAweDAwZmYwMDAwKQorKyNlbHNlCisrICAgICAgICAgICAgaWYgKHJtYXNrID09IDB4MDAwMGZmMDApCisrI2VuZGlmCisrICAgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9SR0IzMjsKKysgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgY2FzZSAyNDoKKysgICAgICAgICAgICBpZiAocm1hc2sgPT0gMHgwMDAwRkYpCisrICAgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9CR1IyNDsKKysgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9SR0IyNDsKKysgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgY2FzZSAxNjoKKysgICAgICAgICAgICBpZiAoZW5kaWFubmVzcyA9PSBHX0JZVEVfT1JERVIpCisrICAgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9SR0I1NjU7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGNhc2UgMTU6CisrICAgICAgICAgICAgaWYgKGVuZGlhbm5lc3MgPT0gR19CWVRFX09SREVSKQorKyAgICAgICAgICAgICAgY29udGV4dC0+cGl4X2ZtdCA9IFBJWF9GTVRfUkdCNTU1OworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICAgIC8qIG5vdGhpbmcgKi8KKysgICAgICAgICAgICBicmVhazsKKysgICAgICAgIH0KKysgICAgICB9IGVsc2UgeworKyAgICAgICAgaWYgKGJwcCA9PSA4KSB7CisrICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1BBTDg7CisrICAgICAgICAgIGdzdF9mZm1wZWdfZ2V0X3BhbGV0dGUgKGNhcHMsIGNvbnRleHQpOworKyAgICAgICAgfQorKyAgICAgIH0KKysgICAgfQorKyAgfSBlbHNlIGlmIChzdHJjbXAgKGdzdF9zdHJ1Y3R1cmVfZ2V0X25hbWUgKHN0cnVjdHVyZSksCisrICAgICAgICAgICJ2aWRlby94LXJhdy1ncmF5IikgPT0gMCkgeworKyAgICBnaW50IGJwcCA9IDA7CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImJwcCIsICZicHApKSB7CisrICAgICAgc3dpdGNoIChicHApIHsKKysgICAgICAgIGNhc2UgODoKKysgICAgICAgICAgY29udGV4dC0+cGl4X2ZtdCA9IFBJWF9GTVRfR1JBWTg7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgfQorKyAgfQorK30KKysKKysvKiBDb252ZXJ0IGEgR3N0Q2FwcyBhbmQgYSBGRk1QRUcgY29kZWMgVHlwZSB0byBhCisrICogQVZDb2RlY0NvbnRleHQuIElmIHRoZSBjb250ZXh0IGlzIG9tbWl0dGVkLCBubyBmaXhlZCB2YWx1ZXMKKysgKiBmb3IgdmlkZW8vYXVkaW8gc2l6ZSB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBjb250ZXh0CisrICoKKysgKiBBVk1lZGlhVHlwZSBpcyBwcmltYXJpbHkgbWVhbnQgZm9yIHVuY29tcHJlc3NlZCBkYXRhIEdzdENhcHMhCisrICovCisrCisrdm9pZAorK2dzdF9mZm1wZWdfY2Fwc193aXRoX2NvZGVjdHlwZSAoZW51bSBBVk1lZGlhVHlwZSB0eXBlLAorKyAgICBjb25zdCBHc3RDYXBzICogY2FwcywgQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0KQorK3sKKysgIGlmIChjb250ZXh0ID09IE5VTEwpCisrICAgIHJldHVybjsKKysKKysgIHN3aXRjaCAodHlwZSkgeworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9WSURFTzoKKysgICAgICBnc3RfZmZtcGVnX2NhcHNfdG9fcGl4Zm10IChjYXBzLCBjb250ZXh0LCBUUlVFKTsKKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBBVk1FRElBX1RZUEVfQVVESU86CisrICAgICAgZ3N0X2ZmbXBlZ19jYXBzX3RvX3NtcGZtdCAoY2FwcywgY29udGV4dCwgVFJVRSk7CisrICAgICAgYnJlYWs7CisrCisrICAgIGRlZmF1bHQ6CisrICAgICAgLyogdW5rbm93biAqLworKyAgICAgIGJyZWFrOworKyAgfQorK30KKysKKysjaWYgMAorK3N0YXRpYyB2b2lkCisrbmFsX2VzY2FwZSAoZ3VpbnQ4ICogZHN0LCBndWludDggKiBzcmMsIGd1aW50IHNpemUsIGd1aW50ICogZGVzdHNpemUpCisreworKyAgZ3VpbnQ4ICpkc3RwID0gZHN0OworKyAgZ3VpbnQ4ICpzcmNwID0gc3JjOworKyAgZ3VpbnQ4ICplbmQgPSBzcmMgKyBzaXplOworKyAgZ2ludCBjb3VudCA9IDA7CisrCisrICB3aGlsZSAoc3JjcCA8IGVuZCkgeworKyAgICBpZiAoY291bnQgPT0gMiAmJiAqc3JjcCA8PSAweDAzKSB7CisrICAgICAgR1NUX0RFQlVHICgiYWRkZWQgZXNjYXBlIGNvZGUiKTsKKysgICAgICAqZHN0cCsrID0gMHgwMzsKKysgICAgICBjb3VudCA9IDA7CisrICAgIH0KKysgICAgaWYgKCpzcmNwID09IDApCisrICAgICAgY291bnQrKzsKKysgICAgZWxzZQorKyAgICAgIGNvdW50ID0gMDsKKysKKysgICAgR1NUX0RFQlVHICgiY29weSAlMDJ4LCBjb3VudCAlZCIsICpzcmNwLCBjb3VudCk7CisrICAgICpkc3RwKysgPSAqc3JjcCsrOworKyAgfQorKyAgKmRlc3RzaXplID0gZHN0cCAtIGRzdDsKKyt9CisrCisrLyogY29weSB0aGUgY29uZmlnLCBlc2NhcGluZyBOQUwgdW5pdHMgYXMgd2UgaXRlcmF0ZSB0aGVtLCBpZiBzb21ldGhpbmcgZmFpbHMgd2UKKysgKiBjb3B5IGV2ZXJ5dGhpbmcgYW5kIGhvcGUgZm9yIHRoZSBiZXN0LiAqLworK3N0YXRpYyB2b2lkCisrY29weV9jb25maWcgKGd1aW50OCAqIGRzdCwgZ3VpbnQ4ICogc3JjLCBndWludCBzaXplLCBndWludCAqIGRlc3RzaXplKQorK3sKKysgIGd1aW50OCAqZHN0cCA9IGRzdDsKKysgIGd1aW50OCAqc3JjcCA9IHNyYzsKKysgIGdpbnQgY250LCBpOworKyAgZ3VpbnQgbmFsc2l6ZSwgZXNpemU7CisrCisrICAvKiBjaGVjayBzaXplICovCisrICBpZiAoc2l6ZSA8IDcpCisrICAgIGdvdG8gZnVsbF9jb3B5OworKworKyAgLyogY2hlY2sgdmVyc2lvbiAqLworKyAgaWYgKCpzcmNwICE9IDEpCisrICAgIGdvdG8gZnVsbF9jb3B5OworKworKyAgY250ID0gKihzcmNwICsgNSkgJiAweDFmOyAgICAgLyogTnVtYmVyIG9mIHNwcyAqLworKworKyAgR1NUX0RFQlVHICgibnVtIFNQUyAlZCIsIGNudCk7CisrCisrICBtZW1jcHkgKGRzdHAsIHNyY3AsIDYpOworKyAgc3JjcCArPSA2OworKyAgZHN0cCArPSA2OworKworKyAgZm9yIChpID0gMDsgaSA8IGNudDsgaSsrKSB7CisrICAgIEdTVF9ERUJVRyAoImNvcHkgU1BTICVkIiwgaSk7CisrICAgIG5hbHNpemUgPSAoc3JjcFswXSA8PCA4KSB8IHNyY3BbMV07CisrICAgIG5hbF9lc2NhcGUgKGRzdHAgKyAyLCBzcmNwICsgMiwgbmFsc2l6ZSwgJmVzaXplKTsKKysgICAgZHN0cFswXSA9IGVzaXplID4+IDg7CisrICAgIGRzdHBbMV0gPSBlc2l6ZSAmIDB4ZmY7CisrICAgIGRzdHAgKz0gZXNpemUgKyAyOworKyAgICBzcmNwICs9IG5hbHNpemUgKyAyOworKyAgfQorKworKyAgY250ID0gKihkc3RwKyspID0gKihzcmNwKyspOyAgLyogTnVtYmVyIG9mIHBwcyAqLworKworKyAgR1NUX0RFQlVHICgibnVtIFBQUyAlZCIsIGNudCk7CisrCisrICBmb3IgKGkgPSAwOyBpIDwgY250OyBpKyspIHsKKysgICAgR1NUX0RFQlVHICgiY29weSBQUFMgJWQiLCBpKTsKKysgICAgbmFsc2l6ZSA9IChzcmNwWzBdIDw8IDgpIHwgc3JjcFsxXTsKKysgICAgbmFsX2VzY2FwZSAoZHN0cCArIDIsIHNyY3AgKyAyLCBuYWxzaXplLCAmZXNpemUpOworKyAgICBkc3RwWzBdID0gZXNpemUgPj4gODsKKysgICAgZHN0cFsxXSA9IGVzaXplICYgMHhmZjsKKysgICAgZHN0cCArPSBlc2l6ZSArIDI7CisrICAgIHNyY3AgKz0gbmFsc2l6ZSArIDI7CisrICB9CisrICAqZGVzdHNpemUgPSBkc3RwIC0gZHN0OworKworKyAgcmV0dXJuOworKworK2Z1bGxfY29weToKKysgIHsKKysgICAgR1NUX0RFQlVHICgic29tZXRoaW5nIHVuZXhwZWN0ZWQsIGRvaW5nIGZ1bGwgY29weSIpOworKyAgICBtZW1jcHkgKGRzdCwgc3JjLCBzaXplKTsKKysgICAgKmRlc3RzaXplID0gc2l6ZTsKKysgICAgcmV0dXJuOworKyAgfQorK30KKysjZW5kaWYKKysKKysvKgorKyAqIGNhcHNfd2l0aF9jb2RlY2lkICgpIHRyYW5zZm9ybXMgYSBHc3RDYXBzIGZvciBhIGtub3duIGNvZGVjCisrICogSUQgaW50byBhIGZpbGxlZC1pbiBjb250ZXh0LgorKyAqIGNvZGVjX2RhdGEgZnJvbSBjYXBzIHdpbGwgb3ZlcnJpZGUgcG9zc2libGUgZXh0cmFkYXRhIGFscmVhZHkgaW4gdGhlIGNvbnRleHQKKysgKi8KKysKKyt2b2lkCisrZ3N0X2ZmbXBlZ19jYXBzX3dpdGhfY29kZWNpZCAoZW51bSBDb2RlY0lEIGNvZGVjX2lkLAorKyAgICBlbnVtIEFWTWVkaWFUeXBlIGNvZGVjX3R5cGUsIGNvbnN0IEdzdENhcHMgKiBjYXBzLCBBVkNvZGVjQ29udGV4dCAqIGNvbnRleHQpCisreworKyAgR3N0U3RydWN0dXJlICpzdHI7CisrICBjb25zdCBHVmFsdWUgKnZhbHVlOworKyAgY29uc3QgR3N0QnVmZmVyICpidWY7CisrCisrICBHU1RfTE9HICgiY29kZWNfaWQ6JWQsIGNvZGVjX3R5cGU6JWQsIGNhcHM6JSIgR1NUX1BUUl9GT1JNQVQgIiBjb250ZXh0OiVwIiwKKysgICAgICBjb2RlY19pZCwgY29kZWNfdHlwZSwgY2FwcywgY29udGV4dCk7CisrCisrICBpZiAoIWNvbnRleHQgfHwgIWdzdF9jYXBzX2dldF9zaXplIChjYXBzKSkKKysgICAgcmV0dXJuOworKworKyAgc3RyID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgMCk7CisrCisrICAvKiBleHRyYWRhdGEgcGFyc2luZyAoZXNkcyBbbXBlZzRdLCB3bWEvd212LCBtc21wZWc0djEvMi8zLCBldGMuKSAqLworKyAgaWYgKCh2YWx1ZSA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3ZhbHVlIChzdHIsICJjb2RlY19kYXRhIikpKSB7CisrICAgIGd1aW50IHNpemU7CisrICAgIGd1aW50OCAqZGF0YTsKKysKKysgICAgYnVmID0gR1NUX0JVRkZFUl9DQVNUIChnc3RfdmFsdWVfZ2V0X21pbmlfb2JqZWN0ICh2YWx1ZSkpOworKyAgICBzaXplID0gR1NUX0JVRkZFUl9TSVpFIChidWYpOworKyAgICBkYXRhID0gR1NUX0JVRkZFUl9EQVRBIChidWYpOworKworKyAgICAvKiBmcmVlIHRoZSBvbGQgb25lIGlmIGl0IGlzIHRoZXJlICovCisrICAgIGlmIChjb250ZXh0LT5leHRyYWRhdGEpCisrICAgICAgYXZfZnJlZSAoY29udGV4dC0+ZXh0cmFkYXRhKTsKKysKKysjaWYgMAorKyAgICBpZiAoY29kZWNfaWQgPT0gQ09ERUNfSURfSDI2NCkgeworKyAgICAgIGd1aW50IGV4dHJhc2l6ZTsKKysKKysgICAgICBHU1RfREVCVUcgKCJjb3B5LCBlc2NhcGluZyBjb2RlY19kYXRhICVkIiwgc2l6ZSk7CisrICAgICAgLyogZmZtcGVnIGgyNjQgZXhwZWN0cyB0aGUgY29kZWNfZGF0YSB0byBiZSBlc2NhcGVkLCB0aGVyZSBpcyBubyByZWFsCisrICAgICAgICogcmVhc29uIGZvciB0aGlzIGJ1dCBsZXQncyBqdXN0IGVzY2FwZSBpdCBmb3Igbm93LiBTdGFydCBieSBhbGxvY2F0aW5nCisrICAgICAgICogZW5vdWdoIHNwYWNlLCB4MiBpcyBtb3JlIHRoYW4gZW5vdWdoLgorKyAgICAgICAqCisrICAgICAgICogRklYTUUsIHdlIGRpc2FibGVkIGVzY2FwaW5nIGJlY2F1c2Ugc29tZSBmaWxlIGFscmVhZHkgY29udGFpbiBlc2NhcGVkCisrICAgICAgICogY29kZWNfZGF0YSBhbmQgdGhlbiB3ZSBlc2NhcGUgdHdpY2UgYW5kIGZhaWwuIEl0J3MgYmV0dGVyIHRvIGxlYXZlIGl0CisrICAgICAgICogYXMgaXMsIGFzIHRoYXQgaXMgd2hhdCBtb3N0IHBsYXllcnMgZG8uICovCisrICAgICAgY29udGV4dC0+ZXh0cmFkYXRhID0KKysgICAgICAgICAgYXZfbWFsbG9jeiAoR1NUX1JPVU5EX1VQXzE2IChzaXplICogMiArCisrICAgICAgICAgICAgICBGRl9JTlBVVF9CVUZGRVJfUEFERElOR19TSVpFKSk7CisrICAgICAgY29weV9jb25maWcgKGNvbnRleHQtPmV4dHJhZGF0YSwgZGF0YSwgc2l6ZSwgJmV4dHJhc2l6ZSk7CisrICAgICAgR1NUX0RFQlVHICgiZXNjYXBlZCBzaXplOiAlZCIsIGV4dHJhc2l6ZSk7CisrICAgICAgY29udGV4dC0+ZXh0cmFkYXRhX3NpemUgPSBleHRyYXNpemU7CisrICAgIH0gZWxzZQorKyNlbmRpZgorKyAgICB7CisrICAgICAgLyogYWxsb2NhdGUgd2l0aCBlbm91Z2ggcGFkZGluZyAqLworKyAgICAgIEdTVF9ERUJVRyAoImNvcHkgY29kZWNfZGF0YSIpOworKyAgICAgIGNvbnRleHQtPmV4dHJhZGF0YSA9CisrICAgICAgICAgIGF2X21hbGxvY3ogKEdTVF9ST1VORF9VUF8xNiAoc2l6ZSArIEZGX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkUpKTsKKysgICAgICBtZW1jcHkgKGNvbnRleHQtPmV4dHJhZGF0YSwgZGF0YSwgc2l6ZSk7CisrICAgICAgY29udGV4dC0+ZXh0cmFkYXRhX3NpemUgPSBzaXplOworKyAgICB9CisrCisrICAgIC8qIEhhY2sgZm9yIFZDMS4gU29tZXRpbWVzIHRoZSBmaXJzdCAobGVuZ3RoKSBieXRlIGlzIDAgZm9yIHNvbWUgZmlsZXMgKi8KKysgICAgaWYgKGNvZGVjX2lkID09IENPREVDX0lEX1ZDMSAmJiBzaXplID4gMCAmJiBkYXRhWzBdID09IDApIHsKKysgICAgICBjb250ZXh0LT5leHRyYWRhdGFbMF0gPSAoZ3VpbnQ4KSBzaXplOworKyAgICB9CisrCisrICAgIEdTVF9ERUJVRyAoImhhdmUgY29kZWMgZGF0YSBvZiBzaXplICVkIiwgc2l6ZSk7CisrICB9IGVsc2UgaWYgKGNvbnRleHQtPmV4dHJhZGF0YSA9PSBOVUxMICYmIGNvZGVjX2lkICE9IENPREVDX0lEX0FBQ19MQVRNICYmCisrICAgICAgY29kZWNfaWQgIT0gQ09ERUNfSURfRkxBQykgeworKyAgICAvKiBubyBleHRyYWRhdGEsIGFsbG9jIGR1bW15IHdpdGggMCBzaXplZCwgc29tZSBjb2RlY3MgaW5zaXN0IG9uIHJlYWRpbmcKKysgICAgICogZXh0cmFkYXRhIGFueXdheSB3aGljaCBtYWtlcyB0aGVuIHNlZ2ZhdWx0LiAqLworKyAgICBjb250ZXh0LT5leHRyYWRhdGEgPQorKyAgICAgICAgYXZfbWFsbG9jeiAoR1NUX1JPVU5EX1VQXzE2IChGRl9JTlBVVF9CVUZGRVJfUEFERElOR19TSVpFKSk7CisrICAgIGNvbnRleHQtPmV4dHJhZGF0YV9zaXplID0gMDsKKysgICAgR1NUX0RFQlVHICgibm8gY29kZWMgZGF0YSIpOworKyAgfQorKworKyAgc3dpdGNoIChjb2RlY19pZCkgeworKyAgICBjYXNlIENPREVDX0lEX01QRUc0OgorKyAgICB7CisrICAgICAgY29uc3QgZ2NoYXIgKm1pbWUgPSBnc3Rfc3RydWN0dXJlX2dldF9uYW1lIChzdHIpOworKworKyAgICAgIGlmICghc3RyY21wIChtaW1lLCAidmlkZW8veC1kaXZ4IikpCisrICAgICAgICBjb250ZXh0LT5jb2RlY190YWcgPSBHU1RfTUFLRV9GT1VSQ0MgKCdEJywgJ0knLCAnVicsICdYJyk7CisrICAgICAgZWxzZSBpZiAoIXN0cmNtcCAobWltZSwgInZpZGVvL3gteHZpZCIpKQorKyAgICAgICAgY29udGV4dC0+Y29kZWNfdGFnID0gR1NUX01BS0VfRk9VUkNDICgnWCcsICdWJywgJ0knLCAnRCcpOworKyAgICAgIGVsc2UgaWYgKCFzdHJjbXAgKG1pbWUsICJ2aWRlby94LTNpdngiKSkKKysgICAgICAgIGNvbnRleHQtPmNvZGVjX3RhZyA9IEdTVF9NQUtFX0ZPVVJDQyAoJzMnLCAnSScsICdWJywgJzEnKTsKKysgICAgICBlbHNlIGlmICghc3RyY21wIChtaW1lLCAidmlkZW8vbXBlZyIpKQorKyAgICAgICAgY29udGV4dC0+Y29kZWNfdGFnID0gR1NUX01BS0VfRk9VUkNDICgnbScsICdwJywgJzQnLCAndicpOworKyAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfU1ZRMzoKKysgICAgICAvKiBGSVhNRTogdGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIG9sZGVyIGdzdC1wbHVnaW5zIHJlbGVhc2VzCisrICAgICAgICogKDw9IDAuOC45KS4gVGhpcyBzaG91bGQgYmUgcmVtb3ZlZCBhdCBzb21lIHBvaW50LCBiZWNhdXNlCisrICAgICAgICogaXQgY2F1c2VzIHdyb25nIGRlY29kZWQgZnJhbWUgb3JkZXIuICovCisrICAgICAgaWYgKCFjb250ZXh0LT5leHRyYWRhdGEpIHsKKysgICAgICAgIGdpbnQgaGFsZnBlbF9mbGFnLCB0aGlyZHBlbF9mbGFnLCBsb3dfZGVsYXksIHVua25vd25fc3ZxM19mbGFnOworKyAgICAgICAgZ3VpbnQxNiBmbGFnczsKKysKKysgICAgICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0ciwgImhhbGZwZWxfZmxhZyIsICZoYWxmcGVsX2ZsYWcpIHx8CisrICAgICAgICAgICAgZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHIsICJ0aGlyZHBlbF9mbGFnIiwgJnRoaXJkcGVsX2ZsYWcpIHx8CisrICAgICAgICAgICAgZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHIsICJsb3dfZGVsYXkiLCAmbG93X2RlbGF5KSB8fAorKyAgICAgICAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RyLCAidW5rbm93bl9zdnEzX2ZsYWciLAorKyAgICAgICAgICAgICAgICAmdW5rbm93bl9zdnEzX2ZsYWcpKSB7CisrICAgICAgICAgIGNvbnRleHQtPmV4dHJhZGF0YSA9IChndWludDggKikgYXZfbWFsbG9jeiAoMHg2NCk7CisrICAgICAgICAgIGdfc3RwY3B5ICgoZ2NoYXIgKikgY29udGV4dC0+ZXh0cmFkYXRhLCAiU1ZRMyIpOworKyAgICAgICAgICBmbGFncyA9IDEgPDwgMzsKKysgICAgICAgICAgZmxhZ3MgfD0gbG93X2RlbGF5OworKyAgICAgICAgICBmbGFncyA9IGZsYWdzIDw8IDI7CisrICAgICAgICAgIGZsYWdzIHw9IHVua25vd25fc3ZxM19mbGFnOworKyAgICAgICAgICBmbGFncyA9IGZsYWdzIDw8IDY7CisrICAgICAgICAgIGZsYWdzIHw9IGhhbGZwZWxfZmxhZzsKKysgICAgICAgICAgZmxhZ3MgPSBmbGFncyA8PCAxOworKyAgICAgICAgICBmbGFncyB8PSB0aGlyZHBlbF9mbGFnOworKyAgICAgICAgICBmbGFncyA9IGZsYWdzIDw8IDM7CisrCisrICAgICAgICAgIGZsYWdzID0gR1VJTlQxNl9GUk9NX0xFIChmbGFncyk7CisrCisrICAgICAgICAgIG1lbWNweSAoKGdjaGFyICopIGNvbnRleHQtPmV4dHJhZGF0YSArIDB4NjIsICZmbGFncywgMik7CisrICAgICAgICAgIGNvbnRleHQtPmV4dHJhZGF0YV9zaXplID0gMHg2NDsKKysgICAgICAgIH0KKysgICAgICB9CisrICAgICAgYnJlYWs7CisrCisrICAgIGNhc2UgQ09ERUNfSURfTVNSTEU6CisrICAgIGNhc2UgQ09ERUNfSURfUVRSTEU6CisrICAgIGNhc2UgQ09ERUNfSURfVFNDQzoKKysgICAgY2FzZSBDT0RFQ19JRF9DU0NEOgorKyAgICBjYXNlIENPREVDX0lEX0FQRToKKysgICAgeworKyAgICAgIGdpbnQgZGVwdGg7CisrCisrICAgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RyLCAiZGVwdGgiLCAmZGVwdGgpKSB7CisrICAgICAgICBjb250ZXh0LT5iaXRzX3Blcl9jb2RlZF9zYW1wbGUgPSBkZXB0aDsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgR1NUX1dBUk5JTkcgKCJObyBkZXB0aCBmaWVsZCBpbiBjYXBzICUiIEdTVF9QVFJfRk9STUFULCBjYXBzKTsKKysgICAgICB9CisrCisrICAgIH0KKysgICAgICBicmVhazsKKysKKysgICAgY2FzZSBDT0RFQ19JRF9SVjEwOgorKyAgICBjYXNlIENPREVDX0lEX1JWMjA6CisrICAgIGNhc2UgQ09ERUNfSURfUlYzMDoKKysgICAgY2FzZSBDT0RFQ19JRF9SVjQwOgorKyAgICB7CisrICAgICAgZ2ludCBmb3JtYXQ7CisrCisrICAgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RyLCAiZm9ybWF0IiwgJmZvcm1hdCkpCisrICAgICAgICBjb250ZXh0LT5zdWJfaWQgPSBmb3JtYXQ7CisrCisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgY2FzZSBDT0RFQ19JRF9DT09LOgorKyAgICBjYXNlIENPREVDX0lEX1JBXzI4ODoKKysgICAgY2FzZSBDT0RFQ19JRF9SQV8xNDQ6CisrICAgIGNhc2UgQ09ERUNfSURfU0lQUjoKKysgICAgeworKyAgICAgIGdpbnQgbGVhZl9zaXplOworKyAgICAgIGdpbnQgYml0cmF0ZTsKKysKKysgICAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHIsICJsZWFmX3NpemUiLCAmbGVhZl9zaXplKSkKKysgICAgICAgIGNvbnRleHQtPmJsb2NrX2FsaWduID0gbGVhZl9zaXplOworKyAgICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0ciwgImJpdHJhdGUiLCAmYml0cmF0ZSkpCisrICAgICAgICBjb250ZXh0LT5iaXRfcmF0ZSA9IGJpdHJhdGU7CisrICAgIH0KKysgICAgY2FzZSBDT0RFQ19JRF9BTEFDOgorKyAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RyLCAic2FtcGxlc2l6ZSIsCisrICAgICAgICAgICZjb250ZXh0LT5iaXRzX3Blcl9jb2RlZF9zYW1wbGUpOworKyAgICAgIGJyZWFrOworKworKyAgICBjYXNlIENPREVDX0lEX0RWVklERU86CisrICAgIHsKKysgICAgICBndWludDMyIGZvdXJjYzsKKysKKysgICAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfZm91cmNjIChzdHIsICJmb3JtYXQiLCAmZm91cmNjKSkKKysgICAgICAgIHN3aXRjaCAoZm91cmNjKSB7CisrICAgICAgICAgIGNhc2UgR1NUX01BS0VfRk9VUkNDICgnWScsICdVJywgJ1knLCAnMicpOgorKyAgICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lVWVY0MjI7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGNhc2UgR1NUX01BS0VfRk9VUkNDICgnSScsICc0JywgJzInLCAnMCcpOgorKyAgICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lVVjQyMFA7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgIGNhc2UgR1NUX01BS0VfRk9VUkNDICgnQScsICc0JywgJzInLCAnMCcpOgorKyAgICAgICAgICAgIGNvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lVVkE0MjBQOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBjYXNlIEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcxJywgJ0InKToKKysgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9ZVVY0MTFQOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBjYXNlIEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnNCcsICcyJywgJ0InKToKKysgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9ZVVY0MjJQOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBjYXNlIEdTVF9NQUtFX0ZPVVJDQyAoJ1knLCAnVScsICdWJywgJzknKToKKysgICAgICAgICAgICBjb250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9ZVVY0MTBQOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICAgIEdTVF9XQVJOSU5HICgiY291bGRuJ3QgY29udmVydCBmb3VyY2MgJSIgR1NUX0ZPVVJDQ19GT1JNQVQKKysgICAgICAgICAgICAgICAgIiB0byBhIHBpeGVsIGZvcm1hdCIsIEdTVF9GT1VSQ0NfQVJHUyAoZm91cmNjKSk7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICB9CisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgY2FzZSBDT0RFQ19JRF9IMjYzUDoKKysgICAgeworKyAgICAgIGdib29sZWFuIHZhbDsKKysKKysgICAgICBpZiAoIWdzdF9zdHJ1Y3R1cmVfZ2V0X2Jvb2xlYW4gKHN0ciwgImFubmV4LWYiLCAmdmFsKSB8fCB2YWwpCisrICAgICAgICBjb250ZXh0LT5mbGFncyB8PSBDT0RFQ19GTEFHXzRNVjsKKysgICAgICBlbHNlCisrICAgICAgICBjb250ZXh0LT5mbGFncyAmPSB+Q09ERUNfRkxBR180TVY7CisrICAgICAgaWYgKCghZ3N0X3N0cnVjdHVyZV9nZXRfYm9vbGVhbiAoc3RyLCAiYW5uZXgtaSIsICZ2YWwpIHx8IHZhbCkgJiYKKysgICAgICAgICAgKCFnc3Rfc3RydWN0dXJlX2dldF9ib29sZWFuIChzdHIsICJhbm5leC10IiwgJnZhbCkgfHwgdmFsKSkKKysgICAgICAgIGNvbnRleHQtPmZsYWdzIHw9IENPREVDX0ZMQUdfQUNfUFJFRDsKKysgICAgICBlbHNlCisrICAgICAgICBjb250ZXh0LT5mbGFncyAmPSB+Q09ERUNfRkxBR19BQ19QUkVEOworKyAgICAgIGlmICghZ3N0X3N0cnVjdHVyZV9nZXRfYm9vbGVhbiAoc3RyLCAiYW5uZXgtaiIsICZ2YWwpIHx8IHZhbCkKKysgICAgICAgIGNvbnRleHQtPmZsYWdzIHw9IENPREVDX0ZMQUdfTE9PUF9GSUxURVI7CisrICAgICAgZWxzZQorKyAgICAgICAgY29udGV4dC0+ZmxhZ3MgJj0gfkNPREVDX0ZMQUdfTE9PUF9GSUxURVI7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgY2FzZSBDT0RFQ19JRF9BRFBDTV9HNzI2OgorKyAgICB7CisrICAgICAgY29uc3QgZ2NoYXIgKmxheW91dDsKKysKKysgICAgICBpZiAoKGxheW91dCA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3N0cmluZyAoc3RyLCAibGF5b3V0IikpKSB7CisrICAgICAgICBpZiAoIXN0cmNtcCAobGF5b3V0LCAiZzcyMSIpKSB7CisrICAgICAgICAgIGNvbnRleHQtPnNhbXBsZV9yYXRlID0gODAwMDsKKysgICAgICAgICAgY29udGV4dC0+Y2hhbm5lbHMgPSAxOworKyAgICAgICAgICBjb250ZXh0LT5iaXRfcmF0ZSA9IDMyMDAwOworKyAgICAgICAgfQorKyAgICAgIH0KKysgICAgICBicmVhazsKKysgICAgfQorKyAgICBkZWZhdWx0OgorKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgaWYgKCFnc3RfY2Fwc19pc19maXhlZCAoY2FwcykpCisrICAgIHJldHVybjsKKysKKysgIC8qIGNvbW1vbiBwcm9wZXJ0aWVzICh3aWR0aCwgaGVpZ2h0LCBmcHMpICovCisrICBzd2l0Y2ggKGNvZGVjX3R5cGUpIHsKKysgICAgY2FzZSBBVk1FRElBX1RZUEVfVklERU86CisrICAgICAgZ3N0X2ZmbXBlZ19jYXBzX3RvX3BpeGZtdCAoY2FwcywgY29udGV4dCwgY29kZWNfaWQgPT0gQ09ERUNfSURfUkFXVklERU8pOworKyAgICAgIGdzdF9mZm1wZWdfZ2V0X3BhbGV0dGUgKGNhcHMsIGNvbnRleHQpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKKysgICAgICBnc3RfZmZtcGVnX2NhcHNfdG9fc21wZm10IChjYXBzLCBjb250ZXh0LCBGQUxTRSk7CisrICAgICAgYnJlYWs7CisrICAgIGRlZmF1bHQ6CisrICAgICAgYnJlYWs7CisrICB9CisrCisrICAvKiBmaXh1cCBvZiBkZWZhdWx0IHNldHRpbmdzICovCisrICBzd2l0Y2ggKGNvZGVjX2lkKSB7CisrICAgIGNhc2UgQ09ERUNfSURfUUNFTFA6CisrICAgICAgLyogUUNFTFAgaXMgYWx3YXlzIG1vbm8sIG5vIG1hdHRlciB3aGF0IHRoZSBjYXBzIHNheSAqLworKyAgICAgIGNvbnRleHQtPmNoYW5uZWxzID0gMTsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBicmVhazsKKysgIH0KKyt9CisrCisrLyogX2Zvcm1hdGlkX3RvX2NhcHMgKCkgaXMgbWVhbnQgZm9yIG11eGVycy9kZW11eGVycywgaXQKKysgKiB0cmFuc2Zvcm1zIGEgbmFtZSAoZmZtcGVnIHdheSBvZiBJRCdpbmcgdGhlc2UsIHdoeSBkb24ndAorKyAqIHRoZXkgaGF2ZSB1bmlxdWUgbnVtZXJpY2FsIElEcz8pIHRvIHRoZSBjb3JyZXNwb25kaW5nCisrICogY2FwcyBiZWxvbmdpbmcgdG8gdGhhdCBtdXgtZm9ybWF0CisrICoKKysgKiBOb3RlOiB3ZSBkb24ndCBuZWVkIGFueSBhZGRpdGlvbmFsIGluZm8gYmVjYXVzZSB0aGUgY2FwcworKyAqIGlzbid0IHN1cHBvc2VkIHRvIGNvbnRhaW4gYW55IHVzZWZ1bCBpbmZvIGJlc2lkZXMgdGhlCisrICogbWVkaWEgdHlwZSBhbnl3YXkKKysgKi8KKysKKytHc3RDYXBzICoKKytnc3RfZmZtcGVnX2Zvcm1hdGlkX3RvX2NhcHMgKGNvbnN0IGdjaGFyICogZm9ybWF0X25hbWUpCisreworKyAgR3N0Q2FwcyAqY2FwcyA9IE5VTEw7CisrCisrICBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJtcGVnIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby9tcGVnIiwKKysgICAgICAgICJzeXN0ZW1zdHJlYW0iLCBHX1RZUEVfQk9PTEVBTiwgVFJVRSwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibXBlZ3RzIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby9tcGVndHMiLAorKyAgICAgICAgInN5c3RlbXN0cmVhbSIsIEdfVFlQRV9CT09MRUFOLCBUUlVFLCBOVUxMKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJybSIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXBwbGljYXRpb24veC1wbi1yZWFsbWVkaWEiLAorKyAgICAgICAgInN5c3RlbXN0cmVhbSIsIEdfVFlQRV9CT09MRUFOLCBUUlVFLCBOVUxMKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJhc2YiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAoInZpZGVvL3gtbXMtYXNmIiwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiYXZpIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby94LW1zdmlkZW8iLCBOVUxMKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJ3YXYiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAoImF1ZGlvL3gtd2F2IiwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiYXBlIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJhcHBsaWNhdGlvbi94LWFwZSIsIE5VTEwpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgInN3ZiIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giLCBOVUxMKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJhdSIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXVkaW8veC1hdSIsIE5VTEwpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgImR2IikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby94LWR2IiwKKysgICAgICAgICJzeXN0ZW1zdHJlYW0iLCBHX1RZUEVfQk9PTEVBTiwgVFJVRSwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiNHhtIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby94LTR4bSIsIE5VTEwpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgIm1hdHJvc2thIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby94LW1hdHJvc2thIiwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibXAzIikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJhcHBsaWNhdGlvbi94LWlkMyIsIE5VTEwpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgImZsaWMiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAoInZpZGVvL3gtZmxpIiwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiZmx2IikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX25ld19zaW1wbGUgKCJ2aWRlby94LWZsdiIsIE5VTEwpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgInR0YSIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXVkaW8veC10dGFmaWxlIiwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiYWlmZiIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXVkaW8veC1haWZmIiwgTlVMTCk7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibW92X21wNF9tNGFfM2dwXzNnMiIpKSB7CisrICAgIGNhcHMgPQorKyAgICAgICAgZ3N0X2NhcHNfZnJvbV9zdHJpbmcKKysgICAgICAgICgiYXBwbGljYXRpb24veC0zZ3A7IHZpZGVvL3F1aWNrdGltZTsgYXVkaW8veC1tNGEiKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJtb3YiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJ2aWRlby9xdWlja3RpbWUsdmFyaWFudD0oc3RyaW5nKWFwcGxlIik7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibXA0IikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX2Zyb21fc3RyaW5nICgidmlkZW8vcXVpY2t0aW1lLHZhcmlhbnQ9KHN0cmluZylpc28iKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICIzZ3AiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJ2aWRlby9xdWlja3RpbWUsdmFyaWFudD0oc3RyaW5nKTNncHAiKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICIzZzIiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJ2aWRlby9xdWlja3RpbWUsdmFyaWFudD0oc3RyaW5nKTNnMiIpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgInBzcCIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19mcm9tX3N0cmluZyAoInZpZGVvL3F1aWNrdGltZSx2YXJpYW50PShzdHJpbmcpcHNwIik7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiaXBvZCIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19mcm9tX3N0cmluZyAoInZpZGVvL3F1aWNrdGltZSx2YXJpYW50PShzdHJpbmcpaXBvZCIpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgImFhYyIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19uZXdfc2ltcGxlICgiYXVkaW8vbXBlZyIsCisrICAgICAgICAibXBlZ3ZlcnNpb24iLCBHX1RZUEVfSU5ULCA0LCBOVUxMKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJnaWYiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJpbWFnZS9naWYiKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJvZ2ciKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJhcHBsaWNhdGlvbi9vZ2ciKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJteGYiKSB8fCAhc3RyY21wIChmb3JtYXRfbmFtZSwgIm14Zl9kMTAiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJhcHBsaWNhdGlvbi9teGYiKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJneGYiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJhcHBsaWNhdGlvbi9neGYiKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJ5dXY0bXBlZ3BpcGUiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAoImFwcGxpY2F0aW9uL3gteXV2NG1wZWciLAorKyAgICAgICAgInk0bXZlcnNpb24iLCBHX1RZUEVfSU5ULCAyLCBOVUxMKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJtcGMiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJhdWRpby94LW11c2VwYWNrLCBzdHJlYW12ZXJzaW9uID0gKGludCkgNyIpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgInZxZiIpKSB7CisrICAgIGNhcHMgPSBnc3RfY2Fwc19mcm9tX3N0cmluZyAoImF1ZGlvL3gtdnFmIik7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibnN2IikpIHsKKysgICAgY2FwcyA9IGdzdF9jYXBzX2Zyb21fc3RyaW5nICgidmlkZW8veC1uc3YiKTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJhbXIiKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJhdWRpby94LWFtci1uYi1zaCIpOworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgIndlYm0iKSkgeworKyAgICBjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJ2aWRlby93ZWJtIik7CisrICB9IGVsc2UgeworKyAgICBnY2hhciAqbmFtZTsKKysKKysgICAgR1NUX0xPRyAoIkNvdWxkIG5vdCBjcmVhdGUgc3RyZWFtIGZvcm1hdCBjYXBzIGZvciAlcyIsIGZvcm1hdF9uYW1lKTsKKysgICAgbmFtZSA9IGdfc3RyZHVwX3ByaW50ZiAoImFwcGxpY2F0aW9uL3gtZ3N0X2ZmLSVzIiwgZm9ybWF0X25hbWUpOworKyAgICBjYXBzID0gZ3N0X2NhcHNfbmV3X3NpbXBsZSAobmFtZSwgTlVMTCk7CisrICAgIGdfZnJlZSAobmFtZSk7CisrICB9CisrCisrICByZXR1cm4gY2FwczsKKyt9CisrCisrZ2Jvb2xlYW4KKytnc3RfZmZtcGVnX2Zvcm1hdGlkX2dldF9jb2RlY2lkcyAoY29uc3QgZ2NoYXIgKiBmb3JtYXRfbmFtZSwKKysgICAgZW51bSBDb2RlY0lEICoqIHZpZGVvX2NvZGVjX2xpc3QsIGVudW0gQ29kZWNJRCAqKiBhdWRpb19jb2RlY19saXN0LAorKyAgICBBVk91dHB1dEZvcm1hdCAqIHBsdWdpbikKKyt7CisrICBzdGF0aWMgZW51bSBDb2RlY0lEIHRtcF92bGlzdFtdID0geworKyAgICBDT0RFQ19JRF9OT05FLAorKyAgICBDT0RFQ19JRF9OT05FCisrICB9OworKyAgc3RhdGljIGVudW0gQ29kZWNJRCB0bXBfYWxpc3RbXSA9IHsKKysgICAgQ09ERUNfSURfTk9ORSwKKysgICAgQ09ERUNfSURfTk9ORQorKyAgfTsKKysKKysgIEdTVF9MT0cgKCJmb3JtYXRfbmFtZSA6ICVzIiwgZm9ybWF0X25hbWUpOworKworKyAgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibXA0IikpIHsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBtcDRfdmlkZW9fbGlzdFtdID0geworKyAgICAgIENPREVDX0lEX01QRUc0LCBDT0RFQ19JRF9IMjY0LAorKyAgICAgIENPREVDX0lEX01KUEVHLAorKyAgICAgIENPREVDX0lEX05PTkUKKysgICAgfTsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBtcDRfYXVkaW9fbGlzdFtdID0geworKyAgICAgIENPREVDX0lEX0FBQywgQ09ERUNfSURfTVAzLAorKyAgICAgIENPREVDX0lEX05PTkUKKysgICAgfTsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSBtcDRfdmlkZW9fbGlzdDsKKysgICAgKmF1ZGlvX2NvZGVjX2xpc3QgPSBtcDRfYXVkaW9fbGlzdDsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJtcGVnIikpIHsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBtcGVnX3ZpZGVvX2xpc3RbXSA9IHsgQ09ERUNfSURfTVBFRzFWSURFTywKKysgICAgICBDT0RFQ19JRF9NUEVHMlZJREVPLAorKyAgICAgIENPREVDX0lEX0gyNjQsCisrICAgICAgQ09ERUNfSURfTk9ORQorKyAgICB9OworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIG1wZWdfYXVkaW9fbGlzdFtdID0geyBDT0RFQ19JRF9NUDEsCisrICAgICAgQ09ERUNfSURfTVAyLAorKyAgICAgIENPREVDX0lEX01QMywKKysgICAgICBDT0RFQ19JRF9OT05FCisrICAgIH07CisrCisrICAgICp2aWRlb19jb2RlY19saXN0ID0gbXBlZ192aWRlb19saXN0OworKyAgICAqYXVkaW9fY29kZWNfbGlzdCA9IG1wZWdfYXVkaW9fbGlzdDsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJkdmQiKSkgeworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIG1wZWdfdmlkZW9fbGlzdFtdID0geyBDT0RFQ19JRF9NUEVHMlZJREVPLAorKyAgICAgIENPREVDX0lEX05PTkUKKysgICAgfTsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBtcGVnX2F1ZGlvX2xpc3RbXSA9IHsgQ09ERUNfSURfTVAyLAorKyAgICAgIENPREVDX0lEX0FDMywKKysgICAgICBDT0RFQ19JRF9EVFMsCisrICAgICAgQ09ERUNfSURfUENNX1MxNkJFLAorKyAgICAgIENPREVDX0lEX05PTkUKKysgICAgfTsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSBtcGVnX3ZpZGVvX2xpc3Q7CisrICAgICphdWRpb19jb2RlY19saXN0ID0gbXBlZ19hdWRpb19saXN0OworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgIm1wZWd0cyIpKSB7CisrICAgIHN0YXRpYyBlbnVtIENvZGVjSUQgbXBlZ3RzX3ZpZGVvX2xpc3RbXSA9IHsgQ09ERUNfSURfTVBFRzFWSURFTywKKysgICAgICBDT0RFQ19JRF9NUEVHMlZJREVPLAorKyAgICAgIENPREVDX0lEX0gyNjQsCisrICAgICAgQ09ERUNfSURfTk9ORQorKyAgICB9OworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIG1wZWd0c19hdWRpb19saXN0W10gPSB7IENPREVDX0lEX01QMiwKKysgICAgICBDT0RFQ19JRF9NUDMsCisrICAgICAgQ09ERUNfSURfQUMzLAorKyAgICAgIENPREVDX0lEX0RUUywKKysgICAgICBDT0RFQ19JRF9BQUMsCisrICAgICAgQ09ERUNfSURfTk9ORQorKyAgICB9OworKworKyAgICAqdmlkZW9fY29kZWNfbGlzdCA9IG1wZWd0c192aWRlb19saXN0OworKyAgICAqYXVkaW9fY29kZWNfbGlzdCA9IG1wZWd0c19hdWRpb19saXN0OworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgInZvYiIpKSB7CisrICAgIHN0YXRpYyBlbnVtIENvZGVjSUQgdm9iX3ZpZGVvX2xpc3RbXSA9CisrICAgICAgICB7IENPREVDX0lEX01QRUcyVklERU8sIENPREVDX0lEX05PTkUgfTsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCB2b2JfYXVkaW9fbGlzdFtdID0geyBDT0RFQ19JRF9NUDIsIENPREVDX0lEX0FDMywKKysgICAgICBDT0RFQ19JRF9EVFMsIENPREVDX0lEX05PTkUKKysgICAgfTsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSB2b2JfdmlkZW9fbGlzdDsKKysgICAgKmF1ZGlvX2NvZGVjX2xpc3QgPSB2b2JfYXVkaW9fbGlzdDsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJmbHYiKSkgeworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIGZsdl92aWRlb19saXN0W10gPSB7IENPREVDX0lEX0ZMVjEsIENPREVDX0lEX05PTkUgfTsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBmbHZfYXVkaW9fbGlzdFtdID0geyBDT0RFQ19JRF9NUDMsIENPREVDX0lEX05PTkUgfTsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSBmbHZfdmlkZW9fbGlzdDsKKysgICAgKmF1ZGlvX2NvZGVjX2xpc3QgPSBmbHZfYXVkaW9fbGlzdDsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJhc2YiKSkgeworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIGFzZl92aWRlb19saXN0W10gPQorKyAgICAgICAgeyBDT0RFQ19JRF9XTVYxLCBDT0RFQ19JRF9XTVYyLCBDT0RFQ19JRF9NU01QRUc0VjMsIENPREVDX0lEX05PTkUgfTsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBhc2ZfYXVkaW9fbGlzdFtdID0KKysgICAgICAgIHsgQ09ERUNfSURfV01BVjEsIENPREVDX0lEX1dNQVYyLCBDT0RFQ19JRF9NUDMsIENPREVDX0lEX05PTkUgfTsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSBhc2ZfdmlkZW9fbGlzdDsKKysgICAgKmF1ZGlvX2NvZGVjX2xpc3QgPSBhc2ZfYXVkaW9fbGlzdDsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAoZm9ybWF0X25hbWUsICJkdiIpKSB7CisrICAgIHN0YXRpYyBlbnVtIENvZGVjSUQgZHZfdmlkZW9fbGlzdFtdID0geyBDT0RFQ19JRF9EVlZJREVPLCBDT0RFQ19JRF9OT05FIH07CisrICAgIHN0YXRpYyBlbnVtIENvZGVjSUQgZHZfYXVkaW9fbGlzdFtdID0geyBDT0RFQ19JRF9QQ01fUzE2TEUsIENPREVDX0lEX05PTkUgfTsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSBkdl92aWRlb19saXN0OworKyAgICAqYXVkaW9fY29kZWNfbGlzdCA9IGR2X2F1ZGlvX2xpc3Q7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibW92IikpIHsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBtb3ZfdmlkZW9fbGlzdFtdID0geworKyAgICAgIENPREVDX0lEX1NWUTEsIENPREVDX0lEX1NWUTMsIENPREVDX0lEX01QRUc0LAorKyAgICAgIENPREVDX0lEX0gyNjMsIENPREVDX0lEX0gyNjNQLAorKyAgICAgIENPREVDX0lEX0gyNjQsIENPREVDX0lEX0RWVklERU8sCisrICAgICAgQ09ERUNfSURfTUpQRUcsCisrICAgICAgQ09ERUNfSURfTk9ORQorKyAgICB9OworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIG1vdl9hdWRpb19saXN0W10gPSB7CisrICAgICAgQ09ERUNfSURfUENNX01VTEFXLCBDT0RFQ19JRF9QQ01fQUxBVywgQ09ERUNfSURfQURQQ01fSU1BX1FULAorKyAgICAgIENPREVDX0lEX01BQ0UzLCBDT0RFQ19JRF9NQUNFNiwgQ09ERUNfSURfQUFDLAorKyAgICAgIENPREVDX0lEX0FNUl9OQiwgQ09ERUNfSURfQU1SX1dCLAorKyAgICAgIENPREVDX0lEX1BDTV9TMTZCRSwgQ09ERUNfSURfUENNX1MxNkxFLAorKyAgICAgIENPREVDX0lEX01QMywgQ09ERUNfSURfTk9ORQorKyAgICB9OworKworKyAgICAqdmlkZW9fY29kZWNfbGlzdCA9IG1vdl92aWRlb19saXN0OworKyAgICAqYXVkaW9fY29kZWNfbGlzdCA9IG1vdl9hdWRpb19saXN0OworKyAgfSBlbHNlIGlmICgoIXN0cmNtcCAoZm9ybWF0X25hbWUsICIzZ3AiKSB8fCAhc3RyY21wIChmb3JtYXRfbmFtZSwgIjNnMiIpKSkgeworKyAgICBzdGF0aWMgZW51bSBDb2RlY0lEIHRncF92aWRlb19saXN0W10gPSB7CisrICAgICAgQ09ERUNfSURfTVBFRzQsIENPREVDX0lEX0gyNjMsIENPREVDX0lEX0gyNjNQLCBDT0RFQ19JRF9IMjY0LAorKyAgICAgIENPREVDX0lEX05PTkUKKysgICAgfTsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCB0Z3BfYXVkaW9fbGlzdFtdID0geworKyAgICAgIENPREVDX0lEX0FNUl9OQiwgQ09ERUNfSURfQU1SX1dCLAorKyAgICAgIENPREVDX0lEX0FBQywKKysgICAgICBDT0RFQ19JRF9OT05FCisrICAgIH07CisrCisrICAgICp2aWRlb19jb2RlY19saXN0ID0gdGdwX3ZpZGVvX2xpc3Q7CisrICAgICphdWRpb19jb2RlY19saXN0ID0gdGdwX2F1ZGlvX2xpc3Q7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAibW1mIikpIHsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBtbWZfYXVkaW9fbGlzdFtdID0geworKyAgICAgIENPREVDX0lEX0FEUENNX1lBTUFIQSwgQ09ERUNfSURfTk9ORQorKyAgICB9OworKyAgICAqdmlkZW9fY29kZWNfbGlzdCA9IE5VTEw7CisrICAgICphdWRpb19jb2RlY19saXN0ID0gbW1mX2F1ZGlvX2xpc3Q7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKGZvcm1hdF9uYW1lLCAiYW1yIikpIHsKKysgICAgc3RhdGljIGVudW0gQ29kZWNJRCBhbXJfYXVkaW9fbGlzdFtdID0geworKyAgICAgIENPREVDX0lEX0FNUl9OQiwgQ09ERUNfSURfQU1SX1dCLAorKyAgICAgIENPREVDX0lEX05PTkUKKysgICAgfTsKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSBOVUxMOworKyAgICAqYXVkaW9fY29kZWNfbGlzdCA9IGFtcl9hdWRpb19saXN0OworKyAgfSBlbHNlIGlmICghc3RyY21wIChmb3JtYXRfbmFtZSwgImdpZiIpKSB7CisrICAgIHN0YXRpYyBlbnVtIENvZGVjSUQgZ2lmX2ltYWdlX2xpc3RbXSA9IHsKKysgICAgICBDT0RFQ19JRF9SQVdWSURFTywgQ09ERUNfSURfTk9ORQorKyAgICB9OworKyAgICAqdmlkZW9fY29kZWNfbGlzdCA9IGdpZl9pbWFnZV9saXN0OworKyAgICAqYXVkaW9fY29kZWNfbGlzdCA9IE5VTEw7CisrICB9IGVsc2UgaWYgKChwbHVnaW4tPmF1ZGlvX2NvZGVjICE9IENPREVDX0lEX05PTkUpIHx8CisrICAgICAgKHBsdWdpbi0+dmlkZW9fY29kZWMgIT0gQ09ERUNfSURfTk9ORSkpIHsKKysgICAgdG1wX3ZsaXN0WzBdID0gcGx1Z2luLT52aWRlb19jb2RlYzsKKysgICAgdG1wX2FsaXN0WzBdID0gcGx1Z2luLT5hdWRpb19jb2RlYzsKKysKKysgICAgKnZpZGVvX2NvZGVjX2xpc3QgPSB0bXBfdmxpc3Q7CisrICAgICphdWRpb19jb2RlY19saXN0ID0gdG1wX2FsaXN0OworKyAgfSBlbHNlIHsKKysgICAgR1NUX0xPRyAoIkZvcm1hdCAlcyBub3QgZm91bmQiLCBmb3JtYXRfbmFtZSk7CisrICAgIHJldHVybiBGQUxTRTsKKysgIH0KKysKKysgIHJldHVybiBUUlVFOworK30KKysKKysvKiBDb252ZXJ0IGEgR3N0Q2FwcyB0byBhIEZGTVBFRyBjb2RlYyBJRC4gU2l6ZSBldCBhbGwKKysgKiBhcmUgb21pdHRlZCwgdGhhdCBjYW4gYmUgcXVlcmllZCBieSB0aGUgdXNlciBpdHNlbGYsCisrICogd2UncmUgbm90IGVhdGluZyB0aGUgR3N0Q2FwcyBvciBhbnl0aGluZworKyAqIEEgcG9pbnRlciB0byBhbiBhbGxvY2F0ZWQgY29udGV4dCBpcyBhbHNvIG5lZWRlZCBmb3IKKysgKiBvcHRpb25hbCBleHRyYSBpbmZvCisrICovCisrCisrZW51bSBDb2RlY0lECisrZ3N0X2ZmbXBlZ19jYXBzX3RvX2NvZGVjaWQgKGNvbnN0IEdzdENhcHMgKiBjYXBzLCBBVkNvZGVjQ29udGV4dCAqIGNvbnRleHQpCisreworKyAgZW51bSBDb2RlY0lEIGlkID0gQ09ERUNfSURfTk9ORTsKKysgIGNvbnN0IGdjaGFyICptaW1ldHlwZTsKKysgIGNvbnN0IEdzdFN0cnVjdHVyZSAqc3RydWN0dXJlOworKyAgZ2Jvb2xlYW4gdmlkZW8gPSBGQUxTRSwgYXVkaW8gPSBGQUxTRTsgICAgICAgIC8qIHdlIHdhbnQgdG8gYmUgc3VyZSEgKi8KKysKKysgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChjYXBzICE9IE5VTEwsIENPREVDX0lEX05PTkUpOworKyAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGdzdF9jYXBzX2dldF9zaXplIChjYXBzKSA9PSAxLCBDT0RFQ19JRF9OT05FKTsKKysgIHN0cnVjdHVyZSA9IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUgKGNhcHMsIDApOworKworKyAgbWltZXR5cGUgPSBnc3Rfc3RydWN0dXJlX2dldF9uYW1lIChzdHJ1Y3R1cmUpOworKworKyAgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1yYXctcmdiIikgfHwKKysgICAgICAhc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtcmF3LXl1diIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfUkFXVklERU87CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby94LXJhdy1pbnQiKSkgeworKyAgICBnaW50IGRlcHRoLCB3aWR0aCwgZW5kaWFubmVzczsKKysgICAgZ2Jvb2xlYW4gc2lnbmVkbmVzczsKKysKKysgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAiZW5kaWFubmVzcyIsICZlbmRpYW5uZXNzKSAmJgorKyAgICAgICAgZ3N0X3N0cnVjdHVyZV9nZXRfYm9vbGVhbiAoc3RydWN0dXJlLCAic2lnbmVkIiwgJnNpZ25lZG5lc3MpICYmCisrICAgICAgICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgIndpZHRoIiwgJndpZHRoKSAmJgorKyAgICAgICAgZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJkZXB0aCIsICZkZXB0aCkgJiYgZGVwdGggPT0gd2lkdGgpIHsKKysgICAgICBzd2l0Y2ggKGRlcHRoKSB7CisrICAgICAgICBjYXNlIDg6CisrICAgICAgICAgIGlmIChzaWduZWRuZXNzKSB7CisrICAgICAgICAgICAgaWQgPSBDT0RFQ19JRF9QQ01fUzg7CisrICAgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgaWQgPSBDT0RFQ19JRF9QQ01fVTg7CisrICAgICAgICAgIH0KKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIDE2OgorKyAgICAgICAgICBzd2l0Y2ggKGVuZGlhbm5lc3MpIHsKKysgICAgICAgICAgICBjYXNlIEdfQklHX0VORElBTjoKKysgICAgICAgICAgICAgIGlmIChzaWduZWRuZXNzKSB7CisrICAgICAgICAgICAgICAgIGlkID0gQ09ERUNfSURfUENNX1MxNkJFOworKyAgICAgICAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgaWQgPSBDT0RFQ19JRF9QQ01fVTE2QkU7CisrICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICBjYXNlIEdfTElUVExFX0VORElBTjoKKysgICAgICAgICAgICAgIGlmIChzaWduZWRuZXNzKSB7CisrICAgICAgICAgICAgICAgIGlkID0gQ09ERUNfSURfUENNX1MxNkxFOworKyAgICAgICAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgaWQgPSBDT0RFQ19JRF9QQ01fVTE2TEU7CisrICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgfQorKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAgaWYgKGlkICE9IENPREVDX0lEX05PTkUpCisrICAgICAgICBhdWRpbyA9IFRSVUU7CisrICAgIH0KKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby94LW11bGF3IikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9QQ01fTVVMQVc7CisrICAgIGF1ZGlvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby94LWFsYXciKSkgeworKyAgICBpZCA9IENPREVDX0lEX1BDTV9BTEFXOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1kdiIpKSB7CisrICAgIGdib29sZWFuIHN5c19zdHJtOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfYm9vbGVhbiAoc3RydWN0dXJlLCAic3lzdGVtc3RyZWFtIiwgJnN5c19zdHJtKSAmJgorKyAgICAgICAgIXN5c19zdHJtKSB7CisrICAgICAgaWQgPSBDT0RFQ19JRF9EVlZJREVPOworKyAgICAgIHZpZGVvID0gVFJVRTsKKysgICAgfQorKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtZHYiKSkgeyAgICAgICAgLyogPz8/ICovCisrICAgIGlkID0gQ09ERUNfSURfRFZBVURJTzsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtaDI2MyIpKSB7CisrICAgIGNvbnN0IGdjaGFyICpoMjYzdmVyc2lvbiA9CisrICAgICAgICBnc3Rfc3RydWN0dXJlX2dldF9zdHJpbmcgKHN0cnVjdHVyZSwgImgyNjN2ZXJzaW9uIik7CisrICAgIGlmIChoMjYzdmVyc2lvbiAmJiAhc3RyY21wIChoMjYzdmVyc2lvbiwgImgyNjNwIikpCisrICAgICAgaWQgPSBDT0RFQ19JRF9IMjYzUDsKKysgICAgZWxzZQorKyAgICAgIGlkID0gQ09ERUNfSURfSDI2MzsKKysgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtaW50ZWwtaDI2MyIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfSDI2M0k7CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LWgyNjEiKSkgeworKyAgICBpZCA9IENPREVDX0lEX0gyNjE7CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby9tcGVnIikpIHsKKysgICAgZ2Jvb2xlYW4gc3lzX3N0cm07CisrICAgIGdpbnQgbXBlZ3ZlcnNpb247CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9ib29sZWFuIChzdHJ1Y3R1cmUsICJzeXN0ZW1zdHJlYW0iLCAmc3lzX3N0cm0pICYmCisrICAgICAgICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgIm1wZWd2ZXJzaW9uIiwgJm1wZWd2ZXJzaW9uKSAmJgorKyAgICAgICAgIXN5c19zdHJtKSB7CisrICAgICAgc3dpdGNoIChtcGVndmVyc2lvbikgeworKyAgICAgICAgY2FzZSAxOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX01QRUcxVklERU87CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSAyOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX01QRUcyVklERU87CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSA0OgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX01QRUc0OworKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysgICAgaWYgKGlkICE9IENPREVDX0lEX05PTkUpCisrICAgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImltYWdlL2pwZWciKSkgeworKyAgICBpZCA9IENPREVDX0lEX01KUEVHOyAgICAgICAgLyogQS4uLiBCLi4uICovCisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LWpwZWctYiIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfTUpQRUdCOworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC13bXYiKSkgeworKyAgICBnaW50IHdtdnZlcnNpb24gPSAwOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJ3bXZ2ZXJzaW9uIiwgJndtdnZlcnNpb24pKSB7CisrICAgICAgc3dpdGNoICh3bXZ2ZXJzaW9uKSB7CisrICAgICAgICBjYXNlIDE6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfV01WMTsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIDI6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfV01WMjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIDM6CisrICAgICAgICB7CisrICAgICAgICAgIGd1aW50MzIgZm91cmNjOworKworKyAgICAgICAgICAvKiBXTVYzIHVubGVzcyB0aGUgZm91cmNjIGV4aXN0cyBhbmQgc2F5cyBvdGhlcndpc2UgKi8KKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9XTVYzOworKworKyAgICAgICAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfZm91cmNjIChzdHJ1Y3R1cmUsICJmb3JtYXQiLCAmZm91cmNjKSkgeworKyAgICAgICAgICAgIGlmICgoZm91cmNjID09IEdTVF9NQUtFX0ZPVVJDQyAoJ1cnLCAnVicsICdDJywgJzEnKSkgfHwKKysgICAgICAgICAgICAgICAgKGZvdXJjYyA9PSBHU1RfTUFLRV9GT1VSQ0MgKCdXJywgJ00nLCAnVicsICdBJykpKSB7CisrICAgICAgICAgICAgICBpZCA9IENPREVDX0lEX1ZDMTsKKysgICAgICAgICAgICB9CisrICAgICAgICAgIH0KKysgICAgICAgIH0KKysgICAgICAgICAgYnJlYWs7CisrICAgICAgfQorKyAgICB9CisrICAgIGlmIChpZCAhPSBDT0RFQ19JRF9OT05FKQorKyAgICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby94LXZvcmJpcyIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfVk9SQklTOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1xZG0yIikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9RRE0yOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8vbXBlZyIpKSB7CisrICAgIGdpbnQgbGF5ZXIgPSAwOworKyAgICBnaW50IG1wZWd2ZXJzaW9uID0gMDsKKysKKysgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAibXBlZ3ZlcnNpb24iLCAmbXBlZ3ZlcnNpb24pKSB7CisrICAgICAgc3dpdGNoIChtcGVndmVyc2lvbikgeworKyAgICAgICAgY2FzZSAyOiAgICAgICAgICAgICAgICAvKiBmZm1wZWcgdXNlcyBmYWFkIGZvciBib3RoLi4uICovCisrICAgICAgICBjYXNlIDQ6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfQUFDOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgMToKKysgICAgICAgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAibGF5ZXIiLCAmbGF5ZXIpKSB7CisrICAgICAgICAgICAgc3dpdGNoIChsYXllcikgeworKyAgICAgICAgICAgICAgY2FzZSAxOgorKyAgICAgICAgICAgICAgICBpZCA9IENPREVDX0lEX01QMTsKKysgICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgICBjYXNlIDI6CisrICAgICAgICAgICAgICAgIGlkID0gQ09ERUNfSURfTVAyOworKyAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgICAgICAgaWQgPSBDT0RFQ19JRF9NUDM7CisrICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgIH0KKysgICAgICAgICAgfQorKyAgICAgIH0KKysgICAgfQorKyAgICBpZiAoaWQgIT0gQ09ERUNfSURfTk9ORSkKKysgICAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1tdXNlcGFjayIpKSB7CisrICAgIGdpbnQgc3RyZWFtdmVyc2lvbiA9IC0xOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJzdHJlYW12ZXJzaW9uIiwgJnN0cmVhbXZlcnNpb24pKSB7CisrICAgICAgaWYgKHN0cmVhbXZlcnNpb24gPT0gNykKKysgICAgICAgIGlkID0gQ09ERUNfSURfTVVTRVBBQ0s3OworKyAgICB9IGVsc2UgeworKyAgICAgIGlkID0gQ09ERUNfSURfTVVTRVBBQ0s3OworKyAgICB9CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC13bWEiKSkgeworKyAgICBnaW50IHdtYXZlcnNpb24gPSAwOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJ3bWF2ZXJzaW9uIiwgJndtYXZlcnNpb24pKSB7CisrICAgICAgc3dpdGNoICh3bWF2ZXJzaW9uKSB7CisrICAgICAgICBjYXNlIDE6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfV01BVjE7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSAyOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX1dNQVYyOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9XTUFQUk87CisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgfQorKyAgICBpZiAoaWQgIT0gQ09ERUNfSURfTk9ORSkKKysgICAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC13bXMiKSkgeworKyAgICBpZCA9IENPREVDX0lEX1dNQVZPSUNFOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1hYzMiKSkgeworKyAgICBpZCA9IENPREVDX0lEX0FDMzsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtZWFjMyIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfRUFDMzsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtdm5kLnNvbnkuYXRyYWMzIikgfHwKKysgICAgICAhc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL2F0cmFjMyIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfQVRSQUMzOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1kdHMiKSkgeworKyAgICBpZCA9IENPREVDX0lEX0RUUzsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImFwcGxpY2F0aW9uL3gtYXBlIikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9BUEU7CisrICAgIGF1ZGlvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LW1zbXBlZyIpKSB7CisrICAgIGdpbnQgbXNtcGVndmVyc2lvbiA9IDA7CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgIm1zbXBlZ3ZlcnNpb24iLCAmbXNtcGVndmVyc2lvbikpIHsKKysgICAgICBzd2l0Y2ggKG1zbXBlZ3ZlcnNpb24pIHsKKysgICAgICAgIGNhc2UgNDE6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfTVNNUEVHNFYxOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgNDI6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfTVNNUEVHNFYyOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgNDM6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfTVNNUEVHNFYzOworKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysgICAgaWYgKGlkICE9IENPREVDX0lEX05PTkUpCisrICAgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtc3ZxIikpIHsKKysgICAgZ2ludCBzdnF2ZXJzaW9uID0gMDsKKysKKysgICAgaWYgKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAic3ZxdmVyc2lvbiIsICZzdnF2ZXJzaW9uKSkgeworKyAgICAgIHN3aXRjaCAoc3ZxdmVyc2lvbikgeworKyAgICAgICAgY2FzZSAxOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX1NWUTE7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSAzOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX1NWUTM7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgfQorKyAgICBpZiAoaWQgIT0gQ09ERUNfSURfTk9ORSkKKysgICAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1odWZmeXV2IikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9IVUZGWVVWOworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1tYWNlIikpIHsKKysgICAgZ2ludCBtYWNldmVyc2lvbiA9IDA7CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgIm1hY2V2ZXJzaW9uIiwgJm1hY2V2ZXJzaW9uKSkgeworKyAgICAgIHN3aXRjaCAobWFjZXZlcnNpb24pIHsKKysgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9NQUNFMzsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIDY6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfTUFDRTY7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgfQorKyAgICBpZiAoaWQgIT0gQ09ERUNfSURfTk9ORSkKKysgICAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC10aGVvcmEiKSkgeworKyAgICBpZCA9IENPREVDX0lEX1RIRU9SQTsKKysgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtdnAzIikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9WUDM7CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LXZwNSIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfVlA1OworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC12cDYiKSkgeworKyAgICBpZCA9IENPREVDX0lEX1ZQNjsKKysgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtdnA2LWZsYXNoIikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9WUDZGOworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC12cDYtYWxwaGEiKSkgeworKyAgICBpZCA9IENPREVDX0lEX1ZQNkE7CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LXZwOCIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfVlA4OworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1mbGFzaC1zY3JlZW4iKSkgeworKyAgICBpZCA9IENPREVDX0lEX0ZMQVNIU1Y7CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LWluZGVvIikpIHsKKysgICAgZ2ludCBpbmRlb3ZlcnNpb24gPSAwOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJpbmRlb3ZlcnNpb24iLCAmaW5kZW92ZXJzaW9uKSkgeworKyAgICAgIHN3aXRjaCAoaW5kZW92ZXJzaW9uKSB7CisrICAgICAgICBjYXNlIDU6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfSU5ERU81OworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9JTkRFTzM7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSAyOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX0lOREVPMjsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgfQorKyAgICAgIGlmIChpZCAhPSBDT0RFQ19JRF9OT05FKQorKyAgICAgICAgdmlkZW8gPSBUUlVFOworKyAgICB9CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1kaXZ4IikpIHsKKysgICAgZ2ludCBkaXZ4dmVyc2lvbiA9IDA7CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImRpdnh2ZXJzaW9uIiwgJmRpdnh2ZXJzaW9uKSkgeworKyAgICAgIHN3aXRjaCAoZGl2eHZlcnNpb24pIHsKKysgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9NU01QRUc0VjM7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSA0OgorKyAgICAgICAgY2FzZSA1OgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX01QRUc0OworKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysgICAgaWYgKGlkICE9IENPREVDX0lEX05PTkUpCisrICAgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtM2l2eCIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfTVBFRzQ7CisrICAgIHZpZGVvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJ2aWRlby94LXh2aWQiKSkgeworKyAgICBpZCA9IENPREVDX0lEX01QRUc0OworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1mZnYiKSkgeworKyAgICBnaW50IGZmdnZlcnNpb24gPSAwOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJmZnZ2ZXJzaW9uIiwgJmZmdnZlcnNpb24pICYmCisrICAgICAgICBmZnZ2ZXJzaW9uID09IDEpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0ZGVjE7CisrICAgICAgdmlkZW8gPSBUUlVFOworKyAgICB9CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1hZHBjbSIpKSB7CisrICAgIGNvbnN0IGdjaGFyICpsYXlvdXQ7CisrCisrICAgIGxheW91dCA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3N0cmluZyAoc3RydWN0dXJlLCAibGF5b3V0Iik7CisrICAgIGlmIChsYXlvdXQgPT0gTlVMTCkgeworKyAgICAgIC8qIGJyZWFrICovCisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAicXVpY2t0aW1lIikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX0lNQV9RVDsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJtaWNyb3NvZnQiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fTVM7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAiZHZpIikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX0lNQV9XQVY7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAiNHhtIikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNXzRYTTsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJzbWpwZWciKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fSU1BX1NNSlBFRzsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJkazMiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fSU1BX0RLMzsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJkazQiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fSU1BX0RLNDsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJ3ZXN0d29vZCIpKSB7CisrICAgICAgaWQgPSBDT0RFQ19JRF9BRFBDTV9JTUFfV1M7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAiaXNzIikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX0lNQV9JU1M7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAieGEiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fWEE7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAiYWR4IikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX0FEWDsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJlYSIpKSB7CisrICAgICAgaWQgPSBDT0RFQ19JRF9BRFBDTV9FQTsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJnNzI2IikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX0c3MjY7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAiZzcyMSIpKSB7CisrICAgICAgaWQgPSBDT0RFQ19JRF9BRFBDTV9HNzI2OworKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAgKGxheW91dCwgImN0IikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX0NUOworKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAgKGxheW91dCwgInN3ZiIpKSB7CisrICAgICAgaWQgPSBDT0RFQ19JRF9BRFBDTV9TV0Y7CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAieWFtYWhhIikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0FEUENNX1lBTUFIQTsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJzYnBybzIiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fU0JQUk9fMjsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJzYnBybzMiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fU0JQUk9fMzsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJzYnBybzQiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfQURQQ01fU0JQUk9fNDsKKysgICAgfQorKyAgICBpZiAoaWQgIT0gQ09ERUNfSURfTk9ORSkKKysgICAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC00eG0iKSkgeworKyAgICBpZCA9IENPREVDX0lEXzRYTTsKKysgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtZHBjbSIpKSB7CisrICAgIGNvbnN0IGdjaGFyICpsYXlvdXQ7CisrCisrICAgIGxheW91dCA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3N0cmluZyAoc3RydWN0dXJlLCAibGF5b3V0Iik7CisrICAgIGlmICghbGF5b3V0KSB7CisrICAgICAgLyogLi4gKi8KKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJyb3EiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfUk9RX0RQQ007CisrICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAobGF5b3V0LCAiaW50ZXJwbGF5IikpIHsKKysgICAgICBpZCA9IENPREVDX0lEX0lOVEVSUExBWV9EUENNOworKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAgKGxheW91dCwgInhhbiIpKSB7CisrICAgICAgaWQgPSBDT0RFQ19JRF9YQU5fRFBDTTsKKysgICAgfSBlbHNlIGlmICghc3RyY21wIChsYXlvdXQsICJzb2wiKSkgeworKyAgICAgIGlkID0gQ09ERUNfSURfU09MX0RQQ007CisrICAgIH0KKysgICAgaWYgKGlkICE9IENPREVDX0lEX05PTkUpCisrICAgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtZmxhYyIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfRkxBQzsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtc2hvcnRlbiIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfU0hPUlRFTjsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtYWxhYyIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfQUxBQzsKKysgICAgYXVkaW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtY2luZXBhayIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfQ0lORVBBSzsKKysgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gtcG4tcmVhbHZpZGVvIikpIHsKKysgICAgZ2ludCBybXZlcnNpb247CisrCisrICAgIGlmIChnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgInJtdmVyc2lvbiIsICZybXZlcnNpb24pKSB7CisrICAgICAgc3dpdGNoIChybXZlcnNpb24pIHsKKysgICAgICAgIGNhc2UgMToKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9SVjEwOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgMjoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9SVjIwOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9SVjMwOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgNDoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9SVjQwOworKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysgICAgaWYgKGlkICE9IENPREVDX0lEX05PTkUpCisrICAgICAgdmlkZW8gPSBUUlVFOworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL3gtc2lwcm8iKSkgeworKyAgICBpZCA9IENPREVDX0lEX1NJUFI7CisrICAgIGF1ZGlvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby94LXBuLXJlYWxhdWRpbyIpKSB7CisrICAgIGdpbnQgcmF2ZXJzaW9uOworKworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJyYXZlcnNpb24iLCAmcmF2ZXJzaW9uKSkgeworKyAgICAgIHN3aXRjaCAocmF2ZXJzaW9uKSB7CisrICAgICAgICBjYXNlIDE6CisrICAgICAgICAgIGlkID0gQ09ERUNfSURfUkFfMTQ0OworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgMjoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9SQV8yODg7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSA4OgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX0NPT0s7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgfQorKyAgICBpZiAoaWQgIT0gQ09ERUNfSURfTk9ORSkKKysgICAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1ybGUiKSkgeworKyAgICBjb25zdCBnY2hhciAqbGF5b3V0OworKworKyAgICBpZiAoKGxheW91dCA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3N0cmluZyAoc3RydWN0dXJlLCAibGF5b3V0IikpKSB7CisrICAgICAgaWYgKCFzdHJjbXAgKGxheW91dCwgIm1pY3Jvc29mdCIpKSB7CisrICAgICAgICBpZCA9IENPREVDX0lEX01TUkxFOworKyAgICAgICAgdmlkZW8gPSBUUlVFOworKyAgICAgIH0KKysgICAgfQorKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgInZpZGVvL3gteGFuIikpIHsKKysgICAgZ2ludCB3Y3ZlcnNpb24gPSAwOworKworKyAgICBpZiAoKGdzdF9zdHJ1Y3R1cmVfZ2V0X2ludCAoc3RydWN0dXJlLCAid2N2ZXJzaW9uIiwgJndjdmVyc2lvbikpKSB7CisrICAgICAgc3dpdGNoICh3Y3ZlcnNpb24pIHsKKysgICAgICAgIGNhc2UgMzoKKysgICAgICAgICAgaWQgPSBDT0RFQ19JRF9YQU5fV0MzOworKyAgICAgICAgICB2aWRlbyA9IFRSVUU7CisrICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSA0OgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX1hBTl9XQzQ7CisrICAgICAgICAgIHZpZGVvID0gVFJVRTsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby9BTVIiKSkgeworKyAgICBhdWRpbyA9IFRSVUU7CisrICAgIGlkID0gQ09ERUNfSURfQU1SX05COworKyAgfSBlbHNlIGlmICghc3RyY21wIChtaW1ldHlwZSwgImF1ZGlvL0FNUi1XQiIpKSB7CisrICAgIGlkID0gQ09ERUNfSURfQU1SX1dCOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAiYXVkaW8vcWNlbHAiKSkgeworKyAgICBpZCA9IENPREVDX0lEX1FDRUxQOworKyAgICBhdWRpbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1oMjY0IikpIHsKKysgICAgaWQgPSBDT0RFQ19JRF9IMjY0OworKyAgICB2aWRlbyA9IFRSVUU7CisrICB9IGVsc2UgaWYgKCFzdHJjbXAgKG1pbWV0eXBlLCAidmlkZW8veC1mbGFzaC12aWRlbyIpKSB7CisrICAgIGdpbnQgZmx2dmVyc2lvbiA9IDA7CisrCisrICAgIGlmICgoZ3N0X3N0cnVjdHVyZV9nZXRfaW50IChzdHJ1Y3R1cmUsICJmbHZ2ZXJzaW9uIiwgJmZsdnZlcnNpb24pKSkgeworKyAgICAgIHN3aXRjaCAoZmx2dmVyc2lvbikgeworKyAgICAgICAgY2FzZSAxOgorKyAgICAgICAgICBpZCA9IENPREVDX0lEX0ZMVjE7CisrICAgICAgICAgIHZpZGVvID0gVFJVRTsKKysgICAgICAgICAgYnJlYWs7CisrICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgIH0KKysKKysgIH0gZWxzZSBpZiAoIXN0cmNtcCAobWltZXR5cGUsICJhdWRpby94LW5lbGx5bW9zZXIiKSkgeworKyAgICBpZCA9IENPREVDX0lEX05FTExZTU9TRVI7CisrICAgIGF1ZGlvID0gVFJVRTsKKysgIH0gZWxzZSBpZiAoIXN0cm5jbXAgKG1pbWV0eXBlLCAiYXVkaW8veC1nc3RfZmYtIiwgMTUpKSB7CisrICAgIGdjaGFyIGV4dFsxNl07CisrICAgIEFWQ29kZWMgKmNvZGVjOworKworKyAgICBpZiAoc3RybGVuIChtaW1ldHlwZSkgPD0gMzAgJiYKKysgICAgICAgIHNzY2FuZiAobWltZXR5cGUsICJhdWRpby94LWdzdF9mZi0lcyIsIGV4dCkgPT0gMSkgeworKyAgICAgIGlmICgoY29kZWMgPSBhdmNvZGVjX2ZpbmRfZGVjb2Rlcl9ieV9uYW1lIChleHQpKSB8fAorKyAgICAgICAgICAoY29kZWMgPSBhdmNvZGVjX2ZpbmRfZW5jb2Rlcl9ieV9uYW1lIChleHQpKSkgeworKyAgICAgICAgaWQgPSBjb2RlYy0+aWQ7CisrICAgICAgICBhdWRpbyA9IFRSVUU7CisrICAgICAgfQorKyAgICB9CisrICB9IGVsc2UgaWYgKCFzdHJuY21wIChtaW1ldHlwZSwgInZpZGVvL3gtZ3N0X2ZmLSIsIDE1KSkgeworKyAgICBnY2hhciBleHRbMTZdOworKyAgICBBVkNvZGVjICpjb2RlYzsKKysKKysgICAgaWYgKHN0cmxlbiAobWltZXR5cGUpIDw9IDMwICYmCisrICAgICAgICBzc2NhbmYgKG1pbWV0eXBlLCAidmlkZW8veC1nc3RfZmYtJXMiLCBleHQpID09IDEpIHsKKysgICAgICBpZiAoKGNvZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXJfYnlfbmFtZSAoZXh0KSkgfHwKKysgICAgICAgICAgKGNvZGVjID0gYXZjb2RlY19maW5kX2VuY29kZXJfYnlfbmFtZSAoZXh0KSkpIHsKKysgICAgICAgIGlkID0gY29kZWMtPmlkOworKyAgICAgICAgdmlkZW8gPSBUUlVFOworKyAgICAgIH0KKysgICAgfQorKyAgfQorKworKyAgaWYgKGNvbnRleHQgIT0gTlVMTCkgeworKyAgICBpZiAodmlkZW8gPT0gVFJVRSkgeworKyAgICAgIGNvbnRleHQtPmNvZGVjX3R5cGUgPSBBVk1FRElBX1RZUEVfVklERU87CisrICAgIH0gZWxzZSBpZiAoYXVkaW8gPT0gVFJVRSkgeworKyAgICAgIGNvbnRleHQtPmNvZGVjX3R5cGUgPSBBVk1FRElBX1RZUEVfQVVESU87CisrICAgIH0gZWxzZSB7CisrICAgICAgY29udGV4dC0+Y29kZWNfdHlwZSA9IEFWTUVESUFfVFlQRV9VTktOT1dOOworKyAgICB9CisrICAgIGNvbnRleHQtPmNvZGVjX2lkID0gaWQ7CisrICAgIGdzdF9mZm1wZWdfY2Fwc193aXRoX2NvZGVjaWQgKGlkLCBjb250ZXh0LT5jb2RlY190eXBlLCBjYXBzLCBjb250ZXh0KTsKKysgIH0KKysKKysgIGlmIChpZCAhPSBDT0RFQ19JRF9OT05FKSB7CisrICAgIEdTVF9ERUJVRyAoIlRoZSBpZD0lZCBiZWxvbmdzIHRvIHRoZSBjYXBzICUiIEdTVF9QVFJfRk9STUFULCBpZCwgY2Fwcyk7CisrICB9IGVsc2UgeworKyAgICBHU1RfV0FSTklORyAoIkNvdWxkbid0IGZpZ3VyZSBvdXQgdGhlIGlkIGZvciBjYXBzICUiIEdTVF9QVFJfRk9STUFULCBjYXBzKTsKKysgIH0KKysKKysgIHJldHVybiBpZDsKKyt9CitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jLnJlaiBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jLnJlagorLS0tIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnY29kZWNtYXAuYy5yZWoJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jLnJlagkyMDE0LTA4LTA4IDE1OjMxOjA2LjA1NTg2ODI0NiArMDIwMAorQEAgLTAsMCArMSwxMiBAQAorKy0tLSBleHQvZmZtcGVnL2dzdGZmbXBlZ2NvZGVjbWFwLmMKKysrKysgZXh0L2ZmbXBlZy9nc3RmZm1wZWdjb2RlY21hcC5jCisrQEAgLTE4ODQsOSArMTg0Miw2IEBACisrICAgICAgICAgICAgIGdzdF9mZl92aWRfY2Fwc19uZXcgKGNvbnRleHQsIGNvZGVjX2lkLCBlbmNvZGUsICJ2aWRlby94LXJhdy1yZ2IiLAorKyAgICAgICAgICAgICAiYnBwIiwgR19UWVBFX0lOVCwgYnBwLCAiZGVwdGgiLCBHX1RZUEVfSU5ULCBkZXB0aCwgImVuZGlhbm5lc3MiLAorKyAgICAgICAgICAgICBHX1RZUEVfSU5ULCBlbmRpYW5uZXNzLCBOVUxMKTsKKystICAgICAgICBpZiAoY2FwcyAmJiBjb250ZXh0KSB7CisrLSAgICAgICAgICBnc3RfZmZtcGVnX3NldF9wYWxldHRlIChjYXBzLCBjb250ZXh0KTsKKystICAgICAgICB9CisrICAgICAgIH0KKysgICAgIH0gZWxzZSBpZiAoZm10KSB7CisrICAgICAgIGNhcHMgPSBnc3RfZmZfdmlkX2NhcHNfbmV3IChjb250ZXh0LCBjb2RlY19pZCwgZW5jb2RlLCAidmlkZW8veC1yYXcteXV2IiwKK2RpZmYgLXVOciBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZWMuYwkyMDE0LTA4LTA4IDE0OjQ2OjMxLjQ2Mjc3MjM1MSArMDIwMAorKysrIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jCTIwMTQtMDgtMDggMTU6MzI6MTguNjA4ODcwODQ3ICswMjAwCitAQCAtODgsNyArODgsNiBAQAorICAgICAgIGdpbnQgZGVwdGg7CisgICAgIH0gYXVkaW87CisgICB9IGZvcm1hdDsKKy0gIGdib29sZWFuIHdhaXRpbmdfZm9yX2tleTsKKyAgIGdib29sZWFuIGRpc2NvbnQ7CisgICBnYm9vbGVhbiBjbGVhcl90czsKKyAKK0BAIC00MzgsNyArNDM3LDYgQEAKKyAgIGZmbXBlZ2RlYy0+cGNhY2hlID0gTlVMTDsKKyAgIGZmbXBlZ2RlYy0+cGFyID0gTlVMTDsKKyAgIGZmbXBlZ2RlYy0+b3BlbmVkID0gRkFMU0U7CistICBmZm1wZWdkZWMtPndhaXRpbmdfZm9yX2tleSA9IFRSVUU7CisgICBmZm1wZWdkZWMtPnNraXBfZnJhbWUgPSBmZm1wZWdkZWMtPmxvd3JlcyA9IDA7CisgICBmZm1wZWdkZWMtPmRpcmVjdF9yZW5kZXJpbmcgPSBERUZBVUxUX0RJUkVDVF9SRU5ERVJJTkc7CisgICBmZm1wZWdkZWMtPmRvX3BhZGRpbmcgPSBERUZBVUxUX0RPX1BBRERJTkc7CitAQCAtNjA4LDExICs2MDYsNiBAQAorICAgICBnc3RfZmZtcGVnX2F2Y29kZWNfY2xvc2UgKGZmbXBlZ2RlYy0+Y29udGV4dCk7CisgICBmZm1wZWdkZWMtPm9wZW5lZCA9IEZBTFNFOworIAorLSAgaWYgKGZmbXBlZ2RlYy0+Y29udGV4dC0+cGFsY3RybCkgeworLSAgICBhdl9mcmVlIChmZm1wZWdkZWMtPmNvbnRleHQtPnBhbGN0cmwpOworLSAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnBhbGN0cmwgPSBOVUxMOworLSAgfQorLQorICAgaWYgKGZmbXBlZ2RlYy0+Y29udGV4dC0+ZXh0cmFkYXRhKSB7CisgICAgIGF2X2ZyZWUgKGZmbXBlZ2RlYy0+Y29udGV4dC0+ZXh0cmFkYXRhKTsKKyAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5leHRyYWRhdGEgPSBOVUxMOworQEAgLTg2NCw3ICs4NTcsNyBAQAorIAorICAgLyogd29ya2Fyb3VuZCBlbmNvZGVyIGJ1Z3MgKi8KKyAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+d29ya2Fyb3VuZF9idWdzIHw9IEZGX0JVR19BVVRPREVURUNUOworLSAgZmZtcGVnZGVjLT5jb250ZXh0LT5lcnJvcl9yZWNvZ25pdGlvbiA9IDE7CisrICBmZm1wZWdkZWMtPmNvbnRleHQtPmVycl9yZWNvZ25pdGlvbiA9IDE7CisgCisgICAvKiBmb3Igc2xvdyBjcHVzICovCisgICBmZm1wZWdkZWMtPmNvbnRleHQtPmxvd3JlcyA9IGZmbXBlZ2RlYy0+bG93cmVzOworQEAgLTk0NCw3ICs5MzcsNyBAQAorICAgZnNpemUgPSBnc3RfZmZtcGVnX2F2cGljdHVyZV9nZXRfc2l6ZSAoZmZtcGVnZGVjLT5jb250ZXh0LT5waXhfZm10LAorICAgICAgIHdpZHRoLCBoZWlnaHQpOworIAorLSAgaWYgKCFmZm1wZWdkZWMtPmNvbnRleHQtPnBhbGN0cmwgJiYgZmZtcGVnZGVjLT5jYW5fYWxsb2NhdGVfYWxpZ25lZCkgeworKyAgaWYgKGZmbXBlZ2RlYy0+Y2FuX2FsbG9jYXRlX2FsaWduZWQpIHsKKyAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImNhbGxpbmcgcGFkX2FsbG9jIik7CisgICAgIC8qIG5vIHBhbGxldGUsIHdlIGNhbiB1c2UgdGhlIGJ1ZmZlciBzaXplIHRvIGFsbG9jICovCisgICAgIHJldCA9IGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcyAoZmZtcGVnZGVjLT5zcmNwYWQsCitAQCAtMTA4Myw3ICsxMDc2LDYgQEAKKyAgIC8qIHRlbGwgZmZtcGVnIHdlIG93biB0aGlzIGJ1ZmZlciwgdHJhbmZlciB0aGUgcmVmIHdlIGhhdmUgb24gdGhlIGJ1ZmZlciB0bworICAgICogdGhlIG9wYXF1ZSBkYXRhLiAqLworICAgcGljdHVyZS0+dHlwZSA9IEZGX0JVRkZFUl9UWVBFX1VTRVI7CistICBwaWN0dXJlLT5hZ2UgPSAyNTYgKiAyNTYgKiAyNTYgKiA2NDsKKyAgIHBpY3R1cmUtPm9wYXF1ZSA9IGJ1ZjsKKyAKKyAjaWZkZWYgRVhUUkFfUkVGCitAQCAtMTQxNCwxMCArMTQwNiw2IEBACisgICB9IGVsc2UgeworICAgICBpZiAoZGlmZiA+PSAwKSB7CisgICAgICAgLyogd2UncmUgdG9vIHNsb3csIHRyeSB0byBzcGVlZCB1cCAqLworLSAgICAgIGlmIChmZm1wZWdkZWMtPndhaXRpbmdfZm9yX2tleSkgeworLSAgICAgICAgLyogd2Ugd2VyZSB3YWl0aW5nIGZvciBhIGtleWZyYW1lLCB0aGF0J3Mgb2sgKi8KKy0gICAgICAgIGdvdG8gc2tpcHBpbmc7CistICAgICAgfQorICAgICAgIC8qIHN3aXRjaCB0byBza2lwX2ZyYW1lIG1vZGUgKi8KKyAgICAgICBnb3RvIHNraXBfZnJhbWU7CisgICAgIH0KK0BAIC0xNDI3LDExICsxNDE1LDYgQEAKKyAgIGZmbXBlZ2RlYy0+cHJvY2Vzc2VkKys7CisgICByZXR1cm4gVFJVRTsKKyAKKy1za2lwcGluZzoKKy0gIHsKKy0gICAgcmVzID0gRkFMU0U7CistICAgIGdvdG8gZHJvcF9xb3M7CistICB9Cisgbm9ybWFsX21vZGU6CisgICB7CisgICAgIGlmIChmZm1wZWdkZWMtPmNvbnRleHQtPnNraXBfZnJhbWUgIT0gQVZESVNDQVJEX0RFRkFVTFQpIHsKK0BAIC0xNTI4LDQzICsxNTExLDYgQEAKKyB9CisgCisgCistLyogZmlndXJlIG91dCBpZiB0aGUgY3VycmVudCBwaWN0dXJlIGlzIGEga2V5ZnJhbWUsIHJldHVybiBUUlVFIGlmIHRoYXQgaXMKKy0gKiB0aGUgY2FzZS4gKi8KKy1zdGF0aWMgZ2Jvb2xlYW4KKy1jaGVja19rZXlmcmFtZSAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjKQorLXsKKy0gIEdzdEZGTXBlZ0RlY0NsYXNzICpvY2xhc3M7CistICBnYm9vbGVhbiBpc19pdHlwZSA9IEZBTFNFOworLSAgZ2Jvb2xlYW4gaXNfcmVmZXJlbmNlID0gRkFMU0U7CistICBnYm9vbGVhbiBpc2tleWZyYW1lOworLQorLSAgLyogZmlndXJlIG91dCBpZiB3ZSBhcmUgZGVhbGluZyB3aXRoIGEga2V5ZnJhbWUgKi8KKy0gIG9jbGFzcyA9IChHc3RGRk1wZWdEZWNDbGFzcyAqKSAoR19PQkpFQ1RfR0VUX0NMQVNTIChmZm1wZWdkZWMpKTsKKy0KKy0gIC8qIHJlbWVtYmVyIHRoYXQgd2UgaGF2ZSBCIGZyYW1lcywgd2UgbmVlZCB0aGlzIGZvciB0aGUgRFRTIC0+IFBUUyBjb252ZXJzaW9uCistICAgKiBjb2RlICovCistICBpZiAoIWZmbXBlZ2RlYy0+aGFzX2JfZnJhbWVzICYmIGZmbXBlZ2RlYy0+cGljdHVyZS0+cGljdF90eXBlID09IEZGX0JfVFlQRSkgeworLSAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJ3ZSBoYXZlIEIgZnJhbWVzIik7CistICAgIGZmbXBlZ2RlYy0+aGFzX2JfZnJhbWVzID0gVFJVRTsKKy0gIH0KKy0KKy0gIGlzX2l0eXBlID0gKGZmbXBlZ2RlYy0+cGljdHVyZS0+cGljdF90eXBlID09IEZGX0lfVFlQRSk7CistICBpc19yZWZlcmVuY2UgPSAoZmZtcGVnZGVjLT5waWN0dXJlLT5yZWZlcmVuY2UgPT0gMSk7CistCistICBpc2tleWZyYW1lID0gKGlzX2l0eXBlIHx8IGlzX3JlZmVyZW5jZSB8fCBmZm1wZWdkZWMtPnBpY3R1cmUtPmtleV9mcmFtZSkKKy0gICAgICB8fCAob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX0lOREVPMykKKy0gICAgICB8fCAob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX01TWkgpCistICAgICAgfHwgKG9jbGFzcy0+aW5fcGx1Z2luLT5pZCA9PSBDT0RFQ19JRF9aTElCKQorLSAgICAgIHx8IChvY2xhc3MtPmluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfVlAzKQorLSAgICAgIHx8IChvY2xhc3MtPmluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfSFVGRllVVik7CistCistICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLAorLSAgICAgICJjdXJyZW50IHBpY3R1cmU6IHR5cGU6ICVkLCBpc19rZXlmcmFtZTolZCwgaXNfaXR5cGU6JWQsIGlzX3JlZmVyZW5jZTolZCIsCistICAgICAgZmZtcGVnZGVjLT5waWN0dXJlLT5waWN0X3R5cGUsIGlza2V5ZnJhbWUsIGlzX2l0eXBlLCBpc19yZWZlcmVuY2UpOworLQorLSAgcmV0dXJuIGlza2V5ZnJhbWU7CistfQorLQorIC8qIGdldCBhbiBvdXRidWYgYnVmZmVyIHdpdGggdGhlIGN1cnJlbnQgcGljdHVyZSAqLworIHN0YXRpYyBHc3RGbG93UmV0dXJuCisgZ2V0X291dHB1dF9idWZmZXIgKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYywgR3N0QnVmZmVyICoqIG91dGJ1ZikKK0BAIC0xNjk0LDcgKzE2NDAsNiBAQAorIHsKKyAgIGdpbnQgbGVuID0gLTE7CisgICBnaW50IGhhdmVfZGF0YTsKKy0gIGdib29sZWFuIGlza2V5ZnJhbWU7CisgICBnYm9vbGVhbiBtb2RlX3N3aXRjaDsKKyAgIGdib29sZWFuIGRlY29kZTsKKyAgIGdpbnQgc2tpcF9mcmFtZSA9IEFWRElTQ0FSRF9ERUZBVUxUOworQEAgLTE4MDksNyArMTc1NCw2IEBACisgICAgIGdzdF9mZm1wZWdkZWNfbmVnb3RpYXRlIChmZm1wZWdkZWMsIFRSVUUpOworICAgfQorIAorLQorICAgLyogV2hldGhlciBhIGZyYW1lIGlzIGludGVybGFjZWQgb3Igbm90IGlzIHVua25vd24gYXQgdGhlIHRpbWUgb2YKKyAgICAgIGJ1ZmZlciBhbGxvY2F0aW9uLCBzbyBjYXBzIG9uIHRoZSBidWZmZXIgaW4gb3BhcXVlIHdpbGwgaGF2ZQorICAgICAgdGhlIHByZXZpb3VzIGZyYW1lJ3MgaW50ZXJsYWNlZCBmbGFnIHNldC4gU28gaWYgaW50ZXJsYWNlZG5lc3MKK0BAIC0xODMxLDEwICsxNzc1LDYgQEAKKyAgICAgfQorICAgfQorIAorLSAgLyogY2hlY2sgaWYgd2UgYXJlIGRlYWxpbmcgd2l0aCBhIGtleWZyYW1lIGhlcmUsIHRoaXMgd2lsbCBhbHNvIGNoZWNrIGlmIHdlCistICAgKiBhcmUgZGVhbGluZyB3aXRoIEIgZnJhbWVzLiAqLworLSAgaXNrZXlmcmFtZSA9IGNoZWNrX2tleWZyYW1lIChmZm1wZWdkZWMpOworLQorICAgLyogY2hlY2sgdGhhdCB0aGUgdGltZXN0YW1wcyBnbyB1cHdhcmRzICovCisgICBpZiAoZmZtcGVnZGVjLT5sYXN0X291dCAhPSAtMSAmJiBmZm1wZWdkZWMtPmxhc3Rfb3V0ID4gb3V0X3B0cykgeworICAgICAvKiB0aW1lc3RhbXBzIGdvIGJhY2t3YXJkcywgdGhpcyBtZWFucyBmcmFtZXMgd2VyZSByZW9yZGVyZWQgYW5kIHdlIG11c3QKK0BAIC0xODY1LDcgKzE4MDUsNyBAQAorICAgICogdGltZXN0YW1wcyAqLworICAgaWYgKCFmZm1wZWdkZWMtPnJlb3JkZXJlZF9pbiAmJiBmZm1wZWdkZWMtPnJlb3JkZXJlZF9vdXQpIHsKKyAgICAgLyogUFRTIGFuZCBEVFMgYXJlIHRoZSBzYW1lIGZvciBrZXlmcmFtZXMgKi8KKy0gICAgaWYgKCFpc2tleWZyYW1lICYmIGZmbXBlZ2RlYy0+bmV4dF9vdXQgIT0gLTEpIHsKKysgICAgaWYgKGZmbXBlZ2RlYy0+bmV4dF9vdXQgIT0gLTEpIHsKKyAgICAgICAvKiBpbnRlcnBvbGF0ZSBhbGwgdGltZXN0YW1wcyBleGNlcHQgZm9yIGtleWZyYW1lcywgRklYTUUsIHRoaXMgaXMKKyAgICAgICAgKiB3cm9uZyB3aGVuIFFvUyBpcyBhY3RpdmUuICovCisgICAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiaW50ZXJwb2xhdGUgdGltZXN0YW1wcyIpOworQEAgLTE4NzQsMTYgKzE4MTQsNiBAQAorICAgICB9CisgICB9CisgCistICAvKiB3aGVuIHdlJ3JlIHdhaXRpbmcgZm9yIGEga2V5ZnJhbWUsIHNlZSBpZiB3ZSBoYXZlIG9uZSBvciBkcm9wIHRoZSBjdXJyZW50CistICAgKiBub24ta2V5ZnJhbWUgKi8KKy0gIGlmIChHX1VOTElLRUxZIChmZm1wZWdkZWMtPndhaXRpbmdfZm9yX2tleSkpIHsKKy0gICAgaWYgKEdfTElLRUxZICghaXNrZXlmcmFtZSkpCistICAgICAgZ290byBkcm9wX25vbl9rZXlmcmFtZTsKKy0KKy0gICAgLyogd2UgaGF2ZSBhIGtleWZyYW1lLCB3ZSBjYW4gc3RvcCB3YWl0aW5nIGZvciBvbmUgKi8KKy0gICAgZmZtcGVnZGVjLT53YWl0aW5nX2Zvcl9rZXkgPSBGQUxTRTsKKy0gIH0KKy0KKyAgIC8qIGdldCBhIGhhbmRsZSB0byB0aGUgb3V0cHV0IGJ1ZmZlciAqLworICAgKnJldCA9IGdldF9vdXRwdXRfYnVmZmVyIChmZm1wZWdkZWMsIG91dGJ1Zik7CisgICBpZiAoR19VTkxJS0VMWSAoKnJldCAhPSBHU1RfRkxPV19PSykpCitAQCAtMjAwMCwyMCArMTkzMCwxMSBAQAorICAgZWxzZQorICAgICBmZm1wZWdkZWMtPm5leHRfb3V0ID0gLTE7CisgCistICAvKiBwYWxldHRlIGlzIG5vdCBwYXJ0IG9mIHJhdyB2aWRlbyBmcmFtZSBpbiBnc3QgYW5kIHRoZSBzaXplCistICAgKiBvZiB0aGUgb3V0Z29pbmcgYnVmZmVyIG5lZWRzIHRvIGJlIGFkanVzdGVkIGFjY29yZGluZ2x5ICovCistICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0LT5wYWxjdHJsICE9IE5VTEwpCistICAgIEdTVF9CVUZGRVJfU0laRSAoKm91dGJ1ZikgLT0gQVZQQUxFVFRFX1NJWkU7CistCisgICAvKiBub3cgc2VlIGlmIHdlIG5lZWQgdG8gY2xpcCB0aGUgYnVmZmVyIGFnYWluc3QgdGhlIHNlZ21lbnQgYm91bmRhcmllcy4gKi8KKyAgIGlmIChHX1VOTElLRUxZICghY2xpcF92aWRlb19idWZmZXIgKGZmbXBlZ2RlYywgKm91dGJ1Ziwgb3V0X3RpbWVzdGFtcCwKKyAgICAgICAgICAgICAgIG91dF9kdXJhdGlvbikpKQorICAgICBnb3RvIGNsaXBwZWQ7CisgCistICAvKiBtYXJrIGFzIGtleWZyYW1lIG9yIGRlbHRhIHVuaXQgKi8KKy0gIGlmICghaXNrZXlmcmFtZSkKKy0gICAgR1NUX0JVRkZFUl9GTEFHX1NFVCAoKm91dGJ1ZiwgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQpOworLQorICAgaWYgKGZmbXBlZ2RlYy0+cGljdHVyZS0+dG9wX2ZpZWxkX2ZpcnN0KQorICAgICBHU1RfQlVGRkVSX0ZMQUdfU0VUICgqb3V0YnVmLCBHU1RfVklERU9fQlVGRkVSX1RGRik7CisgCitAQCAtMjAyNCwxMSArMTk0NSw2IEBACisgICByZXR1cm4gbGVuOworIAorICAgLyogc3BlY2lhbCBjYXNlcyAqLworLWRyb3Bfbm9uX2tleWZyYW1lOgorLSAgeworLSAgICBHU1RfV0FSTklOR19PQkpFQ1QgKGZmbXBlZ2RlYywgIkRyb3BwaW5nIG5vbi1rZXlmcmFtZSAoc2Vlay9pbml0KSIpOworLSAgICBnb3RvIGJlYWNoOworLSAgfQorIG5vX291dHB1dDoKKyAgIHsKKyAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAibm8gb3V0cHV0IGJ1ZmZlciIpOworQEAgLTI0MjIsNyArMjMzOCw2IEBACisgICAgICAgZ3N0X2ZmbXBlZ2RlY19yZXNldF90cyAoZmZtcGVnZGVjKTsKKyAgICAgICBnc3RfZmZtcGVnZGVjX3Jlc2V0X3FvcyAoZmZtcGVnZGVjKTsKKyAgICAgICBnc3RfZmZtcGVnZGVjX2ZsdXNoX3BjYWNoZSAoZmZtcGVnZGVjKTsKKy0gICAgICBmZm1wZWdkZWMtPndhaXRpbmdfZm9yX2tleSA9IFRSVUU7CisgICAgICAgZ3N0X3NlZ21lbnRfaW5pdCAoJmZmbXBlZ2RlYy0+c2VnbWVudCwgR1NUX0ZPUk1BVF9USU1FKTsKKyAgICAgICBjbGVhcl9xdWV1ZWQgKGZmbXBlZ2RlYyk7CisgICAgICAgYnJlYWs7CitAQCAtMjU2MCwxNyArMjQ3NSw2IEBACisgCisgICBvY2xhc3MgPSAoR3N0RkZNcGVnRGVjQ2xhc3MgKikgKEdfT0JKRUNUX0dFVF9DTEFTUyAoZmZtcGVnZGVjKSk7CisgCistICAvKiBkbyBlYXJseSBrZXlmcmFtZSBjaGVjayBwcmV0dHkgYmFkIHRvIHJlbHkgb24gdGhlIGtleWZyYW1lIGZsYWcgaW4gdGhlCistICAgKiBzb3VyY2UgZm9yIHRoaXMgYXMgaXQgbWlnaHQgbm90IGV2ZW4gYmUgcGFyc2VkIChVRFAvZmlsZS8uLikuICAqLworLSAgaWYgKEdfVU5MSUtFTFkgKGZmbXBlZ2RlYy0+d2FpdGluZ19mb3Jfa2V5KSkgeworLSAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJ3YWl0aW5nIGZvciBrZXlmcmFtZSIpOworLSAgICBpZiAoR1NUX0JVRkZFUl9GTEFHX0lTX1NFVCAoaW5idWYsIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUKSAmJgorLSAgICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPnR5cGUgIT0gQVZNRURJQV9UWVBFX0FVRElPKQorLSAgICAgIGdvdG8gc2tpcF9rZXlmcmFtZTsKKy0KKy0gICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiZ290IGtleWZyYW1lIik7CistICAgIGZmbXBlZ2RlYy0+d2FpdGluZ19mb3Jfa2V5ID0gRkFMU0U7CistICB9CisgICAvKiBwYXJzZSBjYWNoZSBqb2luaW5nLiBJZiB0aGVyZSBpcyBjYWNoZWQgZGF0YSAqLworICAgaWYgKGZmbXBlZ2RlYy0+cGNhY2hlKSB7CisgICAgIC8qIGpvaW4gd2l0aCBwcmV2aW91cyBkYXRhICovCitAQCAtMjgwNSwxMiArMjcwOSw2IEBACisgICAgIGdzdF9idWZmZXJfdW5yZWYgKGluYnVmKTsKKyAgICAgcmV0dXJuIEdTVF9GTE9XX05PVF9ORUdPVElBVEVEOworICAgfQorLXNraXBfa2V5ZnJhbWU6CistICB7CistICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInNraXBwaW5nIG5vbiBrZXlmcmFtZSIpOworLSAgICBnc3RfYnVmZmVyX3VucmVmIChpbmJ1Zik7CistICAgIHJldHVybiBHU1RfRkxPV19PSzsKKy0gIH0KKyB9CisgCisgc3RhdGljIEdzdFN0YXRlQ2hhbmdlUmV0dXJuCitAQCAtMjkzNiw3ICsyODM0LDcgQEAKKyAgICAgZ2NoYXIgKnBsdWdpbl9uYW1lOworIAorICAgICAvKiBvbmx5IGRlY29kZXJzICovCistICAgIGlmICghaW5fcGx1Z2luLT5kZWNvZGUpIHsKKysgICAgaWYgKCFhdl9jb2RlY19pc19kZWNvZGVyIChpbl9wbHVnaW4pKSB7CisgICAgICAgZ290byBuZXh0OworICAgICB9CisgCitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZWMuYy5vcmlnIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jLm9yaWcKKy0tLSBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jLm9yaWcJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZWMuYy5vcmlnCTIwMTQtMDgtMDggMTU6MzE6MDYuMDU3ODY4MjQ2ICswMjAwCitAQCAtMCwwICsxLDI5NzMgQEAKKysvKiBHU3RyZWFtZXIKKysgKiBDb3B5cmlnaHQgKEMpIDwxOTk5PiBFcmlrIFdhbHRoaW5zZW4gPG9tZWdhQGNzZS5vZ2kuZWR1PgorKyAqCisrICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisrICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisrICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyAqCisrICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyAqCisrICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKysgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorKyAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorKyAqLworKworKyNpZmRlZiBIQVZFX0NPTkZJR19ICisrI2luY2x1ZGUgImNvbmZpZy5oIgorKyNlbmRpZgorKworKyNpbmNsdWRlIDxhc3NlcnQuaD4KKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisrI2lmZGVmIEhBVkVfRkZNUEVHX1VOSU5TVEFMTEVECisrI2luY2x1ZGUgPGF2Y29kZWMuaD4KKysjZWxzZQorKyNpbmNsdWRlIDxsaWJhdmNvZGVjL2F2Y29kZWMuaD4KKysjZW5kaWYKKysKKysjaW5jbHVkZSA8Z3N0L2dzdC5oPgorKyNpbmNsdWRlIDxnc3QvdmlkZW8vdmlkZW8uaD4KKysKKysjaW5jbHVkZSAiZ3N0ZmZtcGVnLmgiCisrI2luY2x1ZGUgImdzdGZmbXBlZ2NvZGVjbWFwLmgiCisrI2luY2x1ZGUgImdzdGZmbXBlZ3V0aWxzLmgiCisrCisrLyogZGVmaW5lIHRvIGVuYWJsZSBhbHRlcm5hdGl2ZSBidWZmZXIgcmVmY291bnRpbmcgYWxnb3JpdGhtICovCisrI3VuZGVmIEVYVFJBX1JFRgorKworK3R5cGVkZWYgc3RydWN0IF9Hc3RGRk1wZWdEZWMgR3N0RkZNcGVnRGVjOworKworKyNkZWZpbmUgTUFYX1RTX01BU0sgMHhmZgorKworKy8qIGZvciBlYWNoIGluY29tbWluZyBidWZmZXIgd2Uga2VlcCBhbGwgdGltaW5nIGluZm8gaW4gYSBzdHJ1Y3R1cmUgbGlrZSB0aGlzLgorKyAqIFdlIGtlZXAgYSBjaXJjdWxhciBhcnJheSBvZiB0aGVzZSBzdHJ1Y3R1cmVzIGFyb3VuZCB0byBzdG9yZSB0aGUgdGltaW5nIGluZm8uCisrICogVGhlIGluZGV4IGluIHRoZSBhcnJheSBpcyB3aGF0IHdlIHBhc3MgYXMgb3BhcXVlIGRhdGEgKHRvIHBpY3R1cmVzKSBhbmQKKysgKiBwdHMgKHRvIHBhcnNlcnMpIHNvIHRoYXQgZmZtcGVnIGNhbiByZW1lbWJlciB0aGVtIGZvciB1cy4gKi8KKyt0eXBlZGVmIHN0cnVjdAorK3sKKysgIGdpbnQgaWR4OworKyAgR3N0Q2xvY2tUaW1lIHRpbWVzdGFtcDsKKysgIEdzdENsb2NrVGltZSBkdXJhdGlvbjsKKysgIGdpbnQ2NCBvZmZzZXQ7CisrfSBHc3RUU0luZm87CisrCisrc3RydWN0IF9Hc3RGRk1wZWdEZWMKKyt7CisrICBHc3RFbGVtZW50IGVsZW1lbnQ7CisrCisrICAvKiBXZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2Ygb3VyIHBhZHMsIHNvIHdlIGRvIHNvIGhlcmUuICovCisrICBHc3RQYWQgKnNyY3BhZDsKKysgIEdzdFBhZCAqc2lua3BhZDsKKysKKysgIC8qIGRlY29kaW5nICovCisrICBBVkNvZGVjQ29udGV4dCAqY29udGV4dDsKKysgIEFWRnJhbWUgKnBpY3R1cmU7CisrICBnYm9vbGVhbiBvcGVuZWQ7CisrICB1bmlvbgorKyAgeworKyAgICBzdHJ1Y3QKKysgICAgeworKyAgICAgIGdpbnQgd2lkdGgsIGhlaWdodDsKKysgICAgICBnaW50IGNsaXBfd2lkdGgsIGNsaXBfaGVpZ2h0OworKyAgICAgIGdpbnQgcGFyX24sIHBhcl9kOworKyAgICAgIGdpbnQgZnBzX24sIGZwc19kOworKyAgICAgIGdpbnQgb2xkX2Zwc19uLCBvbGRfZnBzX2Q7CisrICAgICAgZ2Jvb2xlYW4gaW50ZXJsYWNlZDsKKysKKysgICAgICBlbnVtIFBpeGVsRm9ybWF0IHBpeF9mbXQ7CisrICAgIH0gdmlkZW87CisrICAgIHN0cnVjdAorKyAgICB7CisrICAgICAgZ2ludCBjaGFubmVsczsKKysgICAgICBnaW50IHNhbXBsZXJhdGU7CisrICAgICAgZ2ludCBkZXB0aDsKKysgICAgfSBhdWRpbzsKKysgIH0gZm9ybWF0OworKyAgZ2Jvb2xlYW4gZGlzY29udDsKKysgIGdib29sZWFuIGNsZWFyX3RzOworKworKyAgLyogZm9yIHRyYWNraW5nIERUUy9QVFMgKi8KKysgIGdib29sZWFuIGhhc19iX2ZyYW1lczsKKysgIGdib29sZWFuIHJlb3JkZXJlZF9pbjsKKysgIEdzdENsb2NrVGltZSBsYXN0X2luOworKyAgR3N0Q2xvY2tUaW1lIGxhc3RfZGlmZjsKKysgIGd1aW50IGxhc3RfZnJhbWVzOworKyAgZ2Jvb2xlYW4gcmVvcmRlcmVkX291dDsKKysgIEdzdENsb2NrVGltZSBsYXN0X291dDsKKysgIEdzdENsb2NrVGltZSBuZXh0X291dDsKKysKKysgIC8qIHBhcnNpbmcgKi8KKysgIGdib29sZWFuIHR1cm5vZmZfcGFyc2VyOyAgICAgIC8qIHVzZWQgZm9yIHR1cm5pbmcgb2ZmIGFhYyByYXcgcGFyc2luZworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogU2VlIGJ1ZyAjNTY2MjUwICovCisrICBBVkNvZGVjUGFyc2VyQ29udGV4dCAqcGN0eDsKKysgIEdzdEJ1ZmZlciAqcGNhY2hlOworKyAgZ3VpbnQ4ICpwYWRkZWQ7CisrICBndWludCBwYWRkZWRfc2l6ZTsKKysKKysgIEdWYWx1ZSAqcGFyOyAgICAgICAgICAgICAgICAgIC8qIHBpeGVsIGFzcGVjdCByYXRpbyBvZiBpbmNvbWluZyBkYXRhICovCisrICBnYm9vbGVhbiBjdXJyZW50X2RyOyAgICAgICAgICAvKiBpZiBkaXJlY3QgcmVuZGVyaW5nIGlzIGVuYWJsZWQgKi8KKysgIGdib29sZWFuIGV4dHJhX3JlZjsgICAgICAgICAgIC8qIGtlZXAgZXh0cmEgcmVmIGFyb3VuZCBpbiBnZXQvcmVsZWFzZSAqLworKworKyAgLyogc29tZSBwcm9wZXJ0aWVzICovCisrICBlbnVtIEFWRGlzY2FyZCBza2lwX2ZyYW1lOworKyAgZ2ludCBsb3dyZXM7CisrICBnYm9vbGVhbiBkaXJlY3RfcmVuZGVyaW5nOworKyAgZ2Jvb2xlYW4gZG9fcGFkZGluZzsKKysgIGdib29sZWFuIGRlYnVnX212OworKyAgZ2Jvb2xlYW4gY3JvcDsKKysgIGludCBtYXhfdGhyZWFkczsKKysKKysgIC8qIFFvUyBzdHVmZiAqLy8qIHdpdGggTE9DSyAqLworKyAgZ2RvdWJsZSBwcm9wb3J0aW9uOworKyAgR3N0Q2xvY2tUaW1lIGVhcmxpZXN0X3RpbWU7CisrICBnaW50NjQgcHJvY2Vzc2VkOworKyAgZ2ludDY0IGRyb3BwZWQ7CisrCisrICAvKiBjbGlwcGluZyBzZWdtZW50ICovCisrICBHc3RTZWdtZW50IHNlZ21lbnQ7CisrCisrICBnYm9vbGVhbiBpc19yZWFsdmlkZW87CisrCisrICBHc3RUU0luZm8gdHNfaW5mb1tNQVhfVFNfTUFTSyArIDFdOworKyAgZ2ludCB0c19pZHg7CisrCisrICAvKiByZXZlcnNlIHBsYXliYWNrIHF1ZXVlICovCisrICBHTGlzdCAqcXVldWVkOworKworKyAgLyogQ2FuIGRvd25zdHJlYW0gYWxsb2NhdGUgMTZieXRlcyBhbGlnbmVkIGRhdGEuICovCisrICBnYm9vbGVhbiBjYW5fYWxsb2NhdGVfYWxpZ25lZDsKKyt9OworKworK3R5cGVkZWYgc3RydWN0IF9Hc3RGRk1wZWdEZWNDbGFzcyBHc3RGRk1wZWdEZWNDbGFzczsKKysKKytzdHJ1Y3QgX0dzdEZGTXBlZ0RlY0NsYXNzCisreworKyAgR3N0RWxlbWVudENsYXNzIHBhcmVudF9jbGFzczsKKysKKysgIEFWQ29kZWMgKmluX3BsdWdpbjsKKysgIEdzdFBhZFRlbXBsYXRlICpzcmN0ZW1wbCwgKnNpbmt0ZW1wbDsKKyt9OworKworKyNkZWZpbmUgR1NUX1RTX0lORk9fTk9ORSAmdHNfaW5mb19ub25lCisrc3RhdGljIGNvbnN0IEdzdFRTSW5mbyB0c19pbmZvX25vbmUgPSB7IC0xLCAtMSwgLTEsIC0xIH07CisrCisrc3RhdGljIGNvbnN0IEdzdFRTSW5mbyAqCisrZ3N0X3RzX2luZm9fc3RvcmUgKEdzdEZGTXBlZ0RlYyAqIGRlYywgR3N0Q2xvY2tUaW1lIHRpbWVzdGFtcCwKKysgICAgR3N0Q2xvY2tUaW1lIGR1cmF0aW9uLCBnaW50NjQgb2Zmc2V0KQorK3sKKysgIGdpbnQgaWR4ID0gZGVjLT50c19pZHg7CisrICBkZWMtPnRzX2luZm9baWR4XS5pZHggPSBpZHg7CisrICBkZWMtPnRzX2luZm9baWR4XS50aW1lc3RhbXAgPSB0aW1lc3RhbXA7CisrICBkZWMtPnRzX2luZm9baWR4XS5kdXJhdGlvbiA9IGR1cmF0aW9uOworKyAgZGVjLT50c19pbmZvW2lkeF0ub2Zmc2V0ID0gb2Zmc2V0OworKyAgZGVjLT50c19pZHggPSAoaWR4ICsgMSkgJiBNQVhfVFNfTUFTSzsKKysKKysgIHJldHVybiAmZGVjLT50c19pbmZvW2lkeF07CisrfQorKworK3N0YXRpYyBjb25zdCBHc3RUU0luZm8gKgorK2dzdF90c19pbmZvX2dldCAoR3N0RkZNcGVnRGVjICogZGVjLCBnaW50IGlkeCkKKyt7CisrICBpZiAoR19VTkxJS0VMWSAoaWR4IDwgMCB8fCBpZHggPiBNQVhfVFNfTUFTSykpCisrICAgIHJldHVybiBHU1RfVFNfSU5GT19OT05FOworKworKyAgcmV0dXJuICZkZWMtPnRzX2luZm9baWR4XTsKKyt9CisrCisrI2RlZmluZSBHU1RfVFlQRV9GRk1QRUdERUMgXAorKyAgKGdzdF9mZm1wZWdkZWNfZ2V0X3R5cGUoKSkKKysjZGVmaW5lIEdTVF9GRk1QRUdERUMob2JqKSBcCisrICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX0NBU1QoKG9iaiksR1NUX1RZUEVfRkZNUEVHREVDLEdzdEZGTXBlZ0RlYykpCisrI2RlZmluZSBHU1RfRkZNUEVHREVDX0NMQVNTKGtsYXNzKSBcCisrICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNzKSxHU1RfVFlQRV9GRk1QRUdERUMsR3N0RkZNcGVnRGVjQ2xhc3MpKQorKyNkZWZpbmUgR1NUX0lTX0ZGTVBFR0RFQyhvYmopIFwKKysgIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSxHU1RfVFlQRV9GRk1QRUdERUMpKQorKyNkZWZpbmUgR1NUX0lTX0ZGTVBFR0RFQ19DTEFTUyhrbGFzcykgXAorKyAgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksR1NUX1RZUEVfRkZNUEVHREVDKSkKKysKKysjZGVmaW5lIERFRkFVTFRfTE9XUkVTCQkJMAorKyNkZWZpbmUgREVGQVVMVF9TS0lQRlJBTUUJCTAKKysjZGVmaW5lIERFRkFVTFRfRElSRUNUX1JFTkRFUklORwlUUlVFCisrI2RlZmluZSBERUZBVUxUX0RPX1BBRERJTkcJCVRSVUUKKysjZGVmaW5lIERFRkFVTFRfREVCVUdfTVYJCUZBTFNFCisrI2RlZmluZSBERUZBVUxUX0NST1AJCQlUUlVFCisrI2RlZmluZSBERUZBVUxUX01BWF9USFJFQURTCQkxCisrCisrZW51bQorK3sKKysgIFBST1BfMCwKKysgIFBST1BfTE9XUkVTLAorKyAgUFJPUF9TS0lQRlJBTUUsCisrICBQUk9QX0RJUkVDVF9SRU5ERVJJTkcsCisrICBQUk9QX0RPX1BBRERJTkcsCisrICBQUk9QX0RFQlVHX01WLAorKyAgUFJPUF9DUk9QLAorKyAgUFJPUF9NQVhfVEhSRUFEUywKKysgIFBST1BfTEFTVAorK307CisrCisrLyogQSBudW1iZXIgb2YgZnVuY3Rpb24gcHJvdG90eXBlcyBhcmUgZ2l2ZW4gc28gd2UgY2FuIHJlZmVyIHRvIHRoZW0gbGF0ZXIuICovCisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ2RlY19iYXNlX2luaXQgKEdzdEZGTXBlZ0RlY0NsYXNzICoga2xhc3MpOworK3N0YXRpYyB2b2lkIGdzdF9mZm1wZWdkZWNfY2xhc3NfaW5pdCAoR3N0RkZNcGVnRGVjQ2xhc3MgKiBrbGFzcyk7Cisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ2RlY19pbml0IChHc3RGRk1wZWdEZWMgKiBmZm1wZWdkZWMpOworK3N0YXRpYyB2b2lkIGdzdF9mZm1wZWdkZWNfZmluYWxpemUgKEdPYmplY3QgKiBvYmplY3QpOworKworK3N0YXRpYyBnYm9vbGVhbiBnc3RfZmZtcGVnZGVjX3F1ZXJ5IChHc3RQYWQgKiBwYWQsIEdzdFF1ZXJ5ICogcXVlcnkpOworK3N0YXRpYyBnYm9vbGVhbiBnc3RfZmZtcGVnZGVjX3NyY19ldmVudCAoR3N0UGFkICogcGFkLCBHc3RFdmVudCAqIGV2ZW50KTsKKysKKytzdGF0aWMgZ2Jvb2xlYW4gZ3N0X2ZmbXBlZ2RlY19zZXRjYXBzIChHc3RQYWQgKiBwYWQsIEdzdENhcHMgKiBjYXBzKTsKKytzdGF0aWMgZ2Jvb2xlYW4gZ3N0X2ZmbXBlZ2RlY19zaW5rX2V2ZW50IChHc3RQYWQgKiBwYWQsIEdzdEV2ZW50ICogZXZlbnQpOworK3N0YXRpYyBHc3RGbG93UmV0dXJuIGdzdF9mZm1wZWdkZWNfY2hhaW4gKEdzdFBhZCAqIHBhZCwgR3N0QnVmZmVyICogYnVmKTsKKysKKytzdGF0aWMgR3N0U3RhdGVDaGFuZ2VSZXR1cm4gZ3N0X2ZmbXBlZ2RlY19jaGFuZ2Vfc3RhdGUgKEdzdEVsZW1lbnQgKiBlbGVtZW50LAorKyAgICBHc3RTdGF0ZUNoYW5nZSB0cmFuc2l0aW9uKTsKKysKKytzdGF0aWMgdm9pZCBnc3RfZmZtcGVnZGVjX3NldF9wcm9wZXJ0eSAoR09iamVjdCAqIG9iamVjdCwKKysgICAgZ3VpbnQgcHJvcF9pZCwgY29uc3QgR1ZhbHVlICogdmFsdWUsIEdQYXJhbVNwZWMgKiBwc3BlYyk7Cisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ2RlY19nZXRfcHJvcGVydHkgKEdPYmplY3QgKiBvYmplY3QsCisrICAgIGd1aW50IHByb3BfaWQsIEdWYWx1ZSAqIHZhbHVlLCBHUGFyYW1TcGVjICogcHNwZWMpOworKworK3N0YXRpYyBnYm9vbGVhbiBnc3RfZmZtcGVnZGVjX25lZ290aWF0ZSAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjLAorKyAgICBnYm9vbGVhbiBmb3JjZSk7CisrCisrLyogc29tZSBzb3J0IG9mIGJ1ZmZlcnBvb2wgaGFuZGxpbmcsIGJ1dCBkaWZmZXJlbnQgKi8KKytzdGF0aWMgaW50IGdzdF9mZm1wZWdkZWNfZ2V0X2J1ZmZlciAoQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LAorKyAgICBBVkZyYW1lICogcGljdHVyZSk7Cisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ2RlY19yZWxlYXNlX2J1ZmZlciAoQVZDb2RlY0NvbnRleHQgKiBjb250ZXh0LAorKyAgICBBVkZyYW1lICogcGljdHVyZSk7CisrCisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ2RlY19kcmFpbiAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjKTsKKysKKysjZGVmaW5lIEdTVF9GRkRFQ19QQVJBTVNfUURBVEEgZ19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcoImZmZGVjLXBhcmFtcyIpCisrCisrc3RhdGljIEdzdEVsZW1lbnRDbGFzcyAqcGFyZW50X2NsYXNzID0gTlVMTDsKKysKKysjZGVmaW5lIEdTVF9GRk1QRUdERUNfVFlQRV9MT1dSRVMgKGdzdF9mZm1wZWdkZWNfbG93cmVzX2dldF90eXBlKCkpCisrc3RhdGljIEdUeXBlCisrZ3N0X2ZmbXBlZ2RlY19sb3dyZXNfZ2V0X3R5cGUgKHZvaWQpCisreworKyAgc3RhdGljIEdUeXBlIGZmbXBlZ2RlY19sb3dyZXNfdHlwZSA9IDA7CisrCisrICBpZiAoIWZmbXBlZ2RlY19sb3dyZXNfdHlwZSkgeworKyAgICBzdGF0aWMgY29uc3QgR0VudW1WYWx1ZSBmZm1wZWdkZWNfbG93cmVzW10gPSB7CisrICAgICAgezAsICIwIiwgImZ1bGwifSwKKysgICAgICB7MSwgIjEiLCAiMS8yLXNpemUifSwKKysgICAgICB7MiwgIjIiLCAiMS80LXNpemUifSwKKysgICAgICB7MCwgTlVMTCwgTlVMTH0sCisrICAgIH07CisrCisrICAgIGZmbXBlZ2RlY19sb3dyZXNfdHlwZSA9CisrICAgICAgICBnX2VudW1fcmVnaXN0ZXJfc3RhdGljICgiR3N0RkZNcGVnRGVjTG93cmVzIiwgZmZtcGVnZGVjX2xvd3Jlcyk7CisrICB9CisrCisrICByZXR1cm4gZmZtcGVnZGVjX2xvd3Jlc190eXBlOworK30KKysKKysjZGVmaW5lIEdTVF9GRk1QRUdERUNfVFlQRV9TS0lQRlJBTUUgKGdzdF9mZm1wZWdkZWNfc2tpcGZyYW1lX2dldF90eXBlKCkpCisrc3RhdGljIEdUeXBlCisrZ3N0X2ZmbXBlZ2RlY19za2lwZnJhbWVfZ2V0X3R5cGUgKHZvaWQpCisreworKyAgc3RhdGljIEdUeXBlIGZmbXBlZ2RlY19za2lwZnJhbWVfdHlwZSA9IDA7CisrCisrICBpZiAoIWZmbXBlZ2RlY19za2lwZnJhbWVfdHlwZSkgeworKyAgICBzdGF0aWMgY29uc3QgR0VudW1WYWx1ZSBmZm1wZWdkZWNfc2tpcGZyYW1lW10gPSB7CisrICAgICAgezAsICIwIiwgIlNraXAgbm90aGluZyJ9LAorKyAgICAgIHsxLCAiMSIsICJTa2lwIEItZnJhbWVzIn0sCisrICAgICAgezIsICIyIiwgIlNraXAgSURDVC9EZXF1YW50aXphdGlvbiJ9LAorKyAgICAgIHs1LCAiNSIsICJTa2lwIGV2ZXJ5dGhpbmcifSwKKysgICAgICB7MCwgTlVMTCwgTlVMTH0sCisrICAgIH07CisrCisrICAgIGZmbXBlZ2RlY19za2lwZnJhbWVfdHlwZSA9CisrICAgICAgICBnX2VudW1fcmVnaXN0ZXJfc3RhdGljICgiR3N0RkZNcGVnRGVjU2tpcEZyYW1lIiwgZmZtcGVnZGVjX3NraXBmcmFtZSk7CisrICB9CisrCisrICByZXR1cm4gZmZtcGVnZGVjX3NraXBmcmFtZV90eXBlOworK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdkZWNfYmFzZV9pbml0IChHc3RGRk1wZWdEZWNDbGFzcyAqIGtsYXNzKQorK3sKKysgIEdzdEVsZW1lbnRDbGFzcyAqZWxlbWVudF9jbGFzcyA9IEdTVF9FTEVNRU5UX0NMQVNTIChrbGFzcyk7CisrICBHc3RQYWRUZW1wbGF0ZSAqc2lua3RlbXBsLCAqc3JjdGVtcGw7CisrICBHc3RDYXBzICpzaW5rY2FwcywgKnNyY2NhcHM7CisrICBBVkNvZGVjICppbl9wbHVnaW47CisrICBnY2hhciAqbG9uZ25hbWUsICpjbGFzc2lmaWNhdGlvbiwgKmRlc2NyaXB0aW9uOworKworKyAgaW5fcGx1Z2luID0KKysgICAgICAoQVZDb2RlYyAqKSBnX3R5cGVfZ2V0X3FkYXRhIChHX09CSkVDVF9DTEFTU19UWVBFIChrbGFzcyksCisrICAgICAgR1NUX0ZGREVDX1BBUkFNU19RREFUQSk7CisrICBnX2Fzc2VydCAoaW5fcGx1Z2luICE9IE5VTEwpOworKworKyAgLyogY29uc3RydWN0IHRoZSBlbGVtZW50IGRldGFpbHMgc3RydWN0ICovCisrICBsb25nbmFtZSA9IGdfc3RyZHVwX3ByaW50ZiAoIkZGbXBlZyAlcyBkZWNvZGVyIiwgaW5fcGx1Z2luLT5sb25nX25hbWUpOworKyAgY2xhc3NpZmljYXRpb24gPSBnX3N0cmR1cF9wcmludGYgKCJDb2RlYy9EZWNvZGVyLyVzIiwKKysgICAgICAoaW5fcGx1Z2luLT50eXBlID09IEFWTUVESUFfVFlQRV9WSURFTykgPyAiVmlkZW8iIDogIkF1ZGlvIik7CisrICBkZXNjcmlwdGlvbiA9IGdfc3RyZHVwX3ByaW50ZiAoIkZGbXBlZyAlcyBkZWNvZGVyIiwgaW5fcGx1Z2luLT5uYW1lKTsKKysgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSAoZWxlbWVudF9jbGFzcywgbG9uZ25hbWUsIGNsYXNzaWZpY2F0aW9uLAorKyAgICAgIGRlc2NyaXB0aW9uLAorKyAgICAgICJXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPiwgIgorKyAgICAgICJSb25hbGQgQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+LCAiCisrICAgICAgIkVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+Iik7CisrICBnX2ZyZWUgKGxvbmduYW1lKTsKKysgIGdfZnJlZSAoY2xhc3NpZmljYXRpb24pOworKyAgZ19mcmVlIChkZXNjcmlwdGlvbik7CisrCisrICAvKiBnZXQgdGhlIGNhcHMgKi8KKysgIHNpbmtjYXBzID0gZ3N0X2ZmbXBlZ19jb2RlY2lkX3RvX2NhcHMgKGluX3BsdWdpbi0+aWQsIE5VTEwsIEZBTFNFKTsKKysgIGlmICghc2lua2NhcHMpIHsKKysgICAgR1NUX0RFQlVHICgiQ291bGRuJ3QgZ2V0IHNpbmsgY2FwcyBmb3IgZGVjb2RlciAnJXMnIiwgaW5fcGx1Z2luLT5uYW1lKTsKKysgICAgc2lua2NhcHMgPSBnc3RfY2Fwc19mcm9tX3N0cmluZyAoInVua25vd24vdW5rbm93biIpOworKyAgfQorKyAgaWYgKGluX3BsdWdpbi0+dHlwZSA9PSBBVk1FRElBX1RZUEVfVklERU8pIHsKKysgICAgc3JjY2FwcyA9IGdzdF9jYXBzX2Zyb21fc3RyaW5nICgidmlkZW8veC1yYXctcmdiOyB2aWRlby94LXJhdy15dXYiKTsKKysgIH0gZWxzZSB7CisrICAgIHNyY2NhcHMgPSBnc3RfZmZtcGVnX2NvZGVjdHlwZV90b19hdWRpb19jYXBzIChOVUxMLAorKyAgICAgICAgaW5fcGx1Z2luLT5pZCwgRkFMU0UsIGluX3BsdWdpbik7CisrICB9CisrICBpZiAoIXNyY2NhcHMpIHsKKysgICAgR1NUX0RFQlVHICgiQ291bGRuJ3QgZ2V0IHNvdXJjZSBjYXBzIGZvciBkZWNvZGVyICclcyciLCBpbl9wbHVnaW4tPm5hbWUpOworKyAgICBzcmNjYXBzID0gZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJ1bmtub3duL3Vua25vd24iKTsKKysgIH0KKysKKysgIC8qIHBhZCB0ZW1wbGF0ZXMgKi8KKysgIHNpbmt0ZW1wbCA9IGdzdF9wYWRfdGVtcGxhdGVfbmV3ICgic2luayIsIEdTVF9QQURfU0lOSywKKysgICAgICBHU1RfUEFEX0FMV0FZUywgc2lua2NhcHMpOworKyAgc3JjdGVtcGwgPSBnc3RfcGFkX3RlbXBsYXRlX25ldyAoInNyYyIsIEdTVF9QQURfU1JDLCBHU1RfUEFEX0FMV0FZUywgc3JjY2Fwcyk7CisrCisrICBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRlIChlbGVtZW50X2NsYXNzLCBzcmN0ZW1wbCk7CisrICBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRlIChlbGVtZW50X2NsYXNzLCBzaW5rdGVtcGwpOworKworKyAga2xhc3MtPmluX3BsdWdpbiA9IGluX3BsdWdpbjsKKysgIGtsYXNzLT5zcmN0ZW1wbCA9IHNyY3RlbXBsOworKyAga2xhc3MtPnNpbmt0ZW1wbCA9IHNpbmt0ZW1wbDsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX2NsYXNzX2luaXQgKEdzdEZGTXBlZ0RlY0NsYXNzICoga2xhc3MpCisreworKyAgR09iamVjdENsYXNzICpnb2JqZWN0X2NsYXNzID0gR19PQkpFQ1RfQ0xBU1MgKGtsYXNzKTsKKysgIEdzdEVsZW1lbnRDbGFzcyAqZ3N0ZWxlbWVudF9jbGFzcyA9IEdTVF9FTEVNRU5UX0NMQVNTIChrbGFzcyk7CisrCisrICBwYXJlbnRfY2xhc3MgPSBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQgKGtsYXNzKTsKKysKKysgIGdvYmplY3RfY2xhc3MtPmZpbmFsaXplID0gZ3N0X2ZmbXBlZ2RlY19maW5hbGl6ZTsKKysKKysgIGdvYmplY3RfY2xhc3MtPnNldF9wcm9wZXJ0eSA9IGdzdF9mZm1wZWdkZWNfc2V0X3Byb3BlcnR5OworKyAgZ29iamVjdF9jbGFzcy0+Z2V0X3Byb3BlcnR5ID0gZ3N0X2ZmbXBlZ2RlY19nZXRfcHJvcGVydHk7CisrCisrICBpZiAoa2xhc3MtPmluX3BsdWdpbi0+dHlwZSA9PSBBVk1FRElBX1RZUEVfVklERU8pIHsKKysgICAgaW50IGNhcHM7CisrCisrICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkgKGdvYmplY3RfY2xhc3MsIFBST1BfU0tJUEZSQU1FLAorKyAgICAgICAgZ19wYXJhbV9zcGVjX2VudW0gKCJza2lwLWZyYW1lIiwgIlNraXAgZnJhbWVzIiwKKysgICAgICAgICAgICAiV2hpY2ggdHlwZXMgb2YgZnJhbWVzIHRvIHNraXAgZHVyaW5nIGRlY29kaW5nIiwKKysgICAgICAgICAgICBHU1RfRkZNUEVHREVDX1RZUEVfU0tJUEZSQU1FLCAwLAorKyAgICAgICAgICAgIEdfUEFSQU1fUkVBRFdSSVRFIHwgR19QQVJBTV9TVEFUSUNfU1RSSU5HUykpOworKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5IChnb2JqZWN0X2NsYXNzLCBQUk9QX0xPV1JFUywKKysgICAgICAgIGdfcGFyYW1fc3BlY19lbnVtICgibG93cmVzIiwgIkxvdyByZXNvbHV0aW9uIiwKKysgICAgICAgICAgICAiQXQgd2hpY2ggcmVzb2x1dGlvbiB0byBkZWNvZGUgaW1hZ2VzIiwgR1NUX0ZGTVBFR0RFQ19UWVBFX0xPV1JFUywKKysgICAgICAgICAgICAwLCBHX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKysgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSAoZ29iamVjdF9jbGFzcywgUFJPUF9ESVJFQ1RfUkVOREVSSU5HLAorKyAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4gKCJkaXJlY3QtcmVuZGVyaW5nIiwgIkRpcmVjdCBSZW5kZXJpbmciLAorKyAgICAgICAgICAgICJFbmFibGUgZGlyZWN0IHJlbmRlcmluZyIsIERFRkFVTFRfRElSRUNUX1JFTkRFUklORywKKysgICAgICAgICAgICBHX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKysgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSAoZ29iamVjdF9jbGFzcywgUFJPUF9ET19QQURESU5HLAorKyAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4gKCJkby1wYWRkaW5nIiwgIkRvIFBhZGRpbmciLAorKyAgICAgICAgICAgICJBZGQgMCBwYWRkaW5nIGJlZm9yZSBkZWNvZGluZyBkYXRhIiwgREVGQVVMVF9ET19QQURESU5HLAorKyAgICAgICAgICAgIEdfUEFSQU1fUkVBRFdSSVRFIHwgR19QQVJBTV9TVEFUSUNfU1RSSU5HUykpOworKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5IChnb2JqZWN0X2NsYXNzLCBQUk9QX0RFQlVHX01WLAorKyAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4gKCJkZWJ1Zy1tdiIsICJEZWJ1ZyBtb3Rpb24gdmVjdG9ycyIsCisrICAgICAgICAgICAgIldoZXRoZXIgZmZtcGVnIHNob3VsZCBwcmludCBtb3Rpb24gdmVjdG9ycyBvbiB0b3Agb2YgdGhlIGltYWdlIiwKKysgICAgICAgICAgICBERUZBVUxUX0RFQlVHX01WLCBHX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKysjaWYgMAorKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5IChnb2JqZWN0X2NsYXNzLCBQUk9QX0NST1AsCisrICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbiAoImNyb3AiLCAiQ3JvcCIsCisrICAgICAgICAgICAgIkNyb3AgaW1hZ2VzIHRvIHRoZSBkaXNwbGF5IHJlZ2lvbiIsCisrICAgICAgICAgICAgREVGQVVMVF9DUk9QLCBHX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKysjZW5kaWYKKysKKysgICAgY2FwcyA9IGtsYXNzLT5pbl9wbHVnaW4tPmNhcGFiaWxpdGllczsKKysgICAgaWYgKGNhcHMgJiAoQ09ERUNfQ0FQX0ZSQU1FX1RIUkVBRFMgfCBDT0RFQ19DQVBfU0xJQ0VfVEhSRUFEUykpIHsKKysgICAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5IChHX09CSkVDVF9DTEFTUyAoa2xhc3MpLCBQUk9QX01BWF9USFJFQURTLAorKyAgICAgICAgICBnX3BhcmFtX3NwZWNfaW50ICgibWF4LXRocmVhZHMiLCAiTWF4aW11bSBkZWNvZGUgdGhyZWFkcyIsCisrICAgICAgICAgICAgICAiTWF4aW11bSBudW1iZXIgb2Ygd29ya2VyIHRocmVhZHMgdG8gc3Bhd24uICgwID0gYXV0bykiLAorKyAgICAgICAgICAgICAgMCwgR19NQVhJTlQsIERFRkFVTFRfTUFYX1RIUkVBRFMsCisrICAgICAgICAgICAgICBHX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKysgICAgfQorKyAgfQorKworKyAgZ3N0ZWxlbWVudF9jbGFzcy0+Y2hhbmdlX3N0YXRlID0gZ3N0X2ZmbXBlZ2RlY19jaGFuZ2Vfc3RhdGU7CisrfQorKworK3N0YXRpYyB2b2lkCisrZ3N0X2ZmbXBlZ2RlY19pbml0IChHc3RGRk1wZWdEZWMgKiBmZm1wZWdkZWMpCisreworKyAgR3N0RkZNcGVnRGVjQ2xhc3MgKm9jbGFzczsKKysKKysgIG9jbGFzcyA9IChHc3RGRk1wZWdEZWNDbGFzcyAqKSAoR19PQkpFQ1RfR0VUX0NMQVNTIChmZm1wZWdkZWMpKTsKKysKKysgIC8qIHNldHVwIHBhZHMgKi8KKysgIGZmbXBlZ2RlYy0+c2lua3BhZCA9IGdzdF9wYWRfbmV3X2Zyb21fdGVtcGxhdGUgKG9jbGFzcy0+c2lua3RlbXBsLCAic2luayIpOworKyAgZ3N0X3BhZF9zZXRfc2V0Y2Fwc19mdW5jdGlvbiAoZmZtcGVnZGVjLT5zaW5rcGFkLAorKyAgICAgIEdTVF9ERUJVR19GVU5DUFRSIChnc3RfZmZtcGVnZGVjX3NldGNhcHMpKTsKKysgIGdzdF9wYWRfc2V0X2V2ZW50X2Z1bmN0aW9uIChmZm1wZWdkZWMtPnNpbmtwYWQsCisrICAgICAgR1NUX0RFQlVHX0ZVTkNQVFIgKGdzdF9mZm1wZWdkZWNfc2lua19ldmVudCkpOworKyAgZ3N0X3BhZF9zZXRfY2hhaW5fZnVuY3Rpb24gKGZmbXBlZ2RlYy0+c2lua3BhZCwKKysgICAgICBHU1RfREVCVUdfRlVOQ1BUUiAoZ3N0X2ZmbXBlZ2RlY19jaGFpbikpOworKyAgZ3N0X2VsZW1lbnRfYWRkX3BhZCAoR1NUX0VMRU1FTlQgKGZmbXBlZ2RlYyksIGZmbXBlZ2RlYy0+c2lua3BhZCk7CisrCisrICBmZm1wZWdkZWMtPnNyY3BhZCA9IGdzdF9wYWRfbmV3X2Zyb21fdGVtcGxhdGUgKG9jbGFzcy0+c3JjdGVtcGwsICJzcmMiKTsKKysgIGdzdF9wYWRfdXNlX2ZpeGVkX2NhcHMgKGZmbXBlZ2RlYy0+c3JjcGFkKTsKKysgIGdzdF9wYWRfc2V0X2V2ZW50X2Z1bmN0aW9uIChmZm1wZWdkZWMtPnNyY3BhZCwKKysgICAgICBHU1RfREVCVUdfRlVOQ1BUUiAoZ3N0X2ZmbXBlZ2RlY19zcmNfZXZlbnQpKTsKKysgIGdzdF9wYWRfc2V0X3F1ZXJ5X2Z1bmN0aW9uIChmZm1wZWdkZWMtPnNyY3BhZCwKKysgICAgICBHU1RfREVCVUdfRlVOQ1BUUiAoZ3N0X2ZmbXBlZ2RlY19xdWVyeSkpOworKyAgZ3N0X2VsZW1lbnRfYWRkX3BhZCAoR1NUX0VMRU1FTlQgKGZmbXBlZ2RlYyksIGZmbXBlZ2RlYy0+c3JjcGFkKTsKKysKKysgIC8qIHNvbWUgZmZtcGVnIGRhdGEgKi8KKysgIGZmbXBlZ2RlYy0+Y29udGV4dCA9IGF2Y29kZWNfYWxsb2NfY29udGV4dCAoKTsKKysgIGZmbXBlZ2RlYy0+cGljdHVyZSA9IGF2Y29kZWNfYWxsb2NfZnJhbWUgKCk7CisrICBmZm1wZWdkZWMtPnBjdHggPSBOVUxMOworKyAgZmZtcGVnZGVjLT5wY2FjaGUgPSBOVUxMOworKyAgZmZtcGVnZGVjLT5wYXIgPSBOVUxMOworKyAgZmZtcGVnZGVjLT5vcGVuZWQgPSBGQUxTRTsKKysgIGZmbXBlZ2RlYy0+c2tpcF9mcmFtZSA9IGZmbXBlZ2RlYy0+bG93cmVzID0gMDsKKysgIGZmbXBlZ2RlYy0+ZGlyZWN0X3JlbmRlcmluZyA9IERFRkFVTFRfRElSRUNUX1JFTkRFUklORzsKKysgIGZmbXBlZ2RlYy0+ZG9fcGFkZGluZyA9IERFRkFVTFRfRE9fUEFERElORzsKKysgIGZmbXBlZ2RlYy0+ZGVidWdfbXYgPSBERUZBVUxUX0RFQlVHX01WOworKyAgZmZtcGVnZGVjLT5jcm9wID0gREVGQVVMVF9DUk9QOworKyAgZmZtcGVnZGVjLT5tYXhfdGhyZWFkcyA9IERFRkFVTFRfTUFYX1RIUkVBRFM7CisrCisrICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5wYXJfbiA9IC0xOworKyAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX24gPSAtMTsKKysgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLm9sZF9mcHNfbiA9IC0xOworKyAgZ3N0X3NlZ21lbnRfaW5pdCAoJmZmbXBlZ2RlYy0+c2VnbWVudCwgR1NUX0ZPUk1BVF9USU1FKTsKKysKKysgIC8qIFdlIGluaXRpYWxseSBhc3N1bWUgZG93bnN0cmVhbSBjYW4gYWxsb2NhdGUgMTYgYnl0ZXMgYWxpZ25lZCBidWZmZXJzICovCisrICBmZm1wZWdkZWMtPmNhbl9hbGxvY2F0ZV9hbGlnbmVkID0gVFJVRTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX2ZpbmFsaXplIChHT2JqZWN0ICogb2JqZWN0KQorK3sKKysgIEdzdEZGTXBlZ0RlYyAqZmZtcGVnZGVjID0gKEdzdEZGTXBlZ0RlYyAqKSBvYmplY3Q7CisrCisrICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0ICE9IE5VTEwpIHsKKysgICAgYXZfZnJlZSAoZmZtcGVnZGVjLT5jb250ZXh0KTsKKysgICAgZmZtcGVnZGVjLT5jb250ZXh0ID0gTlVMTDsKKysgIH0KKysKKysgIGlmIChmZm1wZWdkZWMtPnBpY3R1cmUgIT0gTlVMTCkgeworKyAgICBhdl9mcmVlIChmZm1wZWdkZWMtPnBpY3R1cmUpOworKyAgICBmZm1wZWdkZWMtPnBpY3R1cmUgPSBOVUxMOworKyAgfQorKworKyAgR19PQkpFQ1RfQ0xBU1MgKHBhcmVudF9jbGFzcyktPmZpbmFsaXplIChvYmplY3QpOworK30KKysKKytzdGF0aWMgZ2Jvb2xlYW4KKytnc3RfZmZtcGVnZGVjX3F1ZXJ5IChHc3RQYWQgKiBwYWQsIEdzdFF1ZXJ5ICogcXVlcnkpCisreworKyAgR3N0RkZNcGVnRGVjICpmZm1wZWdkZWM7CisrICBHc3RQYWQgKnBlZXI7CisrICBnYm9vbGVhbiByZXM7CisrCisrICBmZm1wZWdkZWMgPSAoR3N0RkZNcGVnRGVjICopIGdzdF9wYWRfZ2V0X3BhcmVudCAocGFkKTsKKysKKysgIHJlcyA9IEZBTFNFOworKworKyAgaWYgKChwZWVyID0gZ3N0X3BhZF9nZXRfcGVlciAoZmZtcGVnZGVjLT5zaW5rcGFkKSkpIHsKKysgICAgLyoganVzdCBmb3J3YXJkIHRvIHBlZXIgKi8KKysgICAgcmVzID0gZ3N0X3BhZF9xdWVyeSAocGVlciwgcXVlcnkpOworKyAgICBnc3Rfb2JqZWN0X3VucmVmIChwZWVyKTsKKysgIH0KKysjaWYgMAorKyAgeworKyAgICBHc3RGb3JtYXQgYmZtdDsKKysKKysgICAgYmZtdCA9IEdTVF9GT1JNQVRfQllURVM7CisrCisrICAgIC8qIG9rLCBkbyBiaXRyYXRlIGNhbGMuLi4gKi8KKysgICAgaWYgKCh0eXBlICE9IEdTVF9RVUVSWV9QT1NJVElPTiAmJiB0eXBlICE9IEdTVF9RVUVSWV9UT1RBTCkgfHwKKysgICAgICAgICpmbXQgIT0gR1NUX0ZPUk1BVF9USU1FIHx8IGZmbXBlZ2RlYy0+Y29udGV4dC0+Yml0X3JhdGUgPT0gMCB8fAorKyAgICAgICAgIWdzdF9wYWRfcXVlcnkgKHBlZXIsIHR5cGUsICZiZm10LCB2YWx1ZSkpCisrICAgICAgcmV0dXJuIEZBTFNFOworKworKyAgICBpZiAoZmZtcGVnZGVjLT5wY2FjaGUgJiYgdHlwZSA9PSBHU1RfUVVFUllfUE9TSVRJT04pCisrICAgICAgKnZhbHVlIC09IEdTVF9CVUZGRVJfU0laRSAoZmZtcGVnZGVjLT5wY2FjaGUpOworKyAgICAqdmFsdWUgKj0gR1NUX1NFQ09ORCAvIGZmbXBlZ2RlYy0+Y29udGV4dC0+Yml0X3JhdGU7CisrICB9CisrI2VuZGlmCisrCisrICBnc3Rfb2JqZWN0X3VucmVmIChmZm1wZWdkZWMpOworKworKyAgcmV0dXJuIHJlczsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX3Jlc2V0X3RzIChHc3RGRk1wZWdEZWMgKiBmZm1wZWdkZWMpCisreworKyAgZmZtcGVnZGVjLT5sYXN0X2luID0gR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysgIGZmbXBlZ2RlYy0+bGFzdF9kaWZmID0gR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysgIGZmbXBlZ2RlYy0+bGFzdF9mcmFtZXMgPSAwOworKyAgZmZtcGVnZGVjLT5sYXN0X291dCA9IEdTVF9DTE9DS19USU1FX05PTkU7CisrICBmZm1wZWdkZWMtPm5leHRfb3V0ID0gR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysgIGZmbXBlZ2RlYy0+cmVvcmRlcmVkX2luID0gRkFMU0U7CisrICBmZm1wZWdkZWMtPnJlb3JkZXJlZF9vdXQgPSBGQUxTRTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX3VwZGF0ZV9xb3MgKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYywgZ2RvdWJsZSBwcm9wb3J0aW9uLAorKyAgICBHc3RDbG9ja1RpbWUgdGltZXN0YW1wKQorK3sKKysgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJ1cGRhdGUgUU9TOiAlZiwgJSIgR1NUX1RJTUVfRk9STUFULAorKyAgICAgIHByb3BvcnRpb24sIEdTVF9USU1FX0FSR1MgKHRpbWVzdGFtcCkpOworKworKyAgR1NUX09CSkVDVF9MT0NLIChmZm1wZWdkZWMpOworKyAgZmZtcGVnZGVjLT5wcm9wb3J0aW9uID0gcHJvcG9ydGlvbjsKKysgIGZmbXBlZ2RlYy0+ZWFybGllc3RfdGltZSA9IHRpbWVzdGFtcDsKKysgIEdTVF9PQkpFQ1RfVU5MT0NLIChmZm1wZWdkZWMpOworK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdkZWNfcmVzZXRfcW9zIChHc3RGRk1wZWdEZWMgKiBmZm1wZWdkZWMpCisreworKyAgZ3N0X2ZmbXBlZ2RlY191cGRhdGVfcW9zIChmZm1wZWdkZWMsIDAuNSwgR1NUX0NMT0NLX1RJTUVfTk9ORSk7CisrICBmZm1wZWdkZWMtPnByb2Nlc3NlZCA9IDA7CisrICBmZm1wZWdkZWMtPmRyb3BwZWQgPSAwOworK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdkZWNfcmVhZF9xb3MgKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYywgZ2RvdWJsZSAqIHByb3BvcnRpb24sCisrICAgIEdzdENsb2NrVGltZSAqIHRpbWVzdGFtcCkKKyt7CisrICBHU1RfT0JKRUNUX0xPQ0sgKGZmbXBlZ2RlYyk7CisrICAqcHJvcG9ydGlvbiA9IGZmbXBlZ2RlYy0+cHJvcG9ydGlvbjsKKysgICp0aW1lc3RhbXAgPSBmZm1wZWdkZWMtPmVhcmxpZXN0X3RpbWU7CisrICBHU1RfT0JKRUNUX1VOTE9DSyAoZmZtcGVnZGVjKTsKKyt9CisrCisrc3RhdGljIGdib29sZWFuCisrZ3N0X2ZmbXBlZ2RlY19zcmNfZXZlbnQgKEdzdFBhZCAqIHBhZCwgR3N0RXZlbnQgKiBldmVudCkKKyt7CisrICBHc3RGRk1wZWdEZWMgKmZmbXBlZ2RlYzsKKysgIGdib29sZWFuIHJlczsKKysKKysgIGZmbXBlZ2RlYyA9IChHc3RGRk1wZWdEZWMgKikgZ3N0X3BhZF9nZXRfcGFyZW50IChwYWQpOworKworKyAgc3dpdGNoIChHU1RfRVZFTlRfVFlQRSAoZXZlbnQpKSB7CisrICAgIGNhc2UgR1NUX0VWRU5UX1FPUzoKKysgICAgeworKyAgICAgIGdkb3VibGUgcHJvcG9ydGlvbjsKKysgICAgICBHc3RDbG9ja1RpbWVEaWZmIGRpZmY7CisrICAgICAgR3N0Q2xvY2tUaW1lIHRpbWVzdGFtcDsKKysKKysgICAgICBnc3RfZXZlbnRfcGFyc2VfcW9zIChldmVudCwgJnByb3BvcnRpb24sICZkaWZmLCAmdGltZXN0YW1wKTsKKysKKysgICAgICAvKiB1cGRhdGUgb3VyIFFvUyB2YWx1ZXMgKi8KKysgICAgICBnc3RfZmZtcGVnZGVjX3VwZGF0ZV9xb3MgKGZmbXBlZ2RlYywgcHJvcG9ydGlvbiwgdGltZXN0YW1wICsgZGlmZik7CisrCisrICAgICAgLyogZm9yd2FyZCB1cHN0cmVhbSAqLworKyAgICAgIHJlcyA9IGdzdF9wYWRfcHVzaF9ldmVudCAoZmZtcGVnZGVjLT5zaW5rcGFkLCBldmVudCk7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgZGVmYXVsdDoKKysgICAgICAvKiBmb3J3YXJkIHVwc3RyZWFtICovCisrICAgICAgcmVzID0gZ3N0X3BhZF9wdXNoX2V2ZW50IChmZm1wZWdkZWMtPnNpbmtwYWQsIGV2ZW50KTsKKysgICAgICBicmVhazsKKysgIH0KKysKKysgIGdzdF9vYmplY3RfdW5yZWYgKGZmbXBlZ2RlYyk7CisrCisrICByZXR1cm4gcmVzOworK30KKysKKysvKiB3aXRoIExPQ0sgKi8KKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdkZWNfY2xvc2UgKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYykKKyt7CisrICBpZiAoIWZmbXBlZ2RlYy0+b3BlbmVkKQorKyAgICByZXR1cm47CisrCisrICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiY2xvc2luZyBmZm1wZWcgY29kZWMiKTsKKysKKysgIGlmIChmZm1wZWdkZWMtPnBhcikgeworKyAgICBnX2ZyZWUgKGZmbXBlZ2RlYy0+cGFyKTsKKysgICAgZmZtcGVnZGVjLT5wYXIgPSBOVUxMOworKyAgfQorKworKyAgaWYgKGZmbXBlZ2RlYy0+Y29udGV4dC0+cHJpdl9kYXRhKQorKyAgICBnc3RfZmZtcGVnX2F2Y29kZWNfY2xvc2UgKGZmbXBlZ2RlYy0+Y29udGV4dCk7CisrICBmZm1wZWdkZWMtPm9wZW5lZCA9IEZBTFNFOworKworKyAgaWYgKGZmbXBlZ2RlYy0+Y29udGV4dC0+ZXh0cmFkYXRhKSB7CisrICAgIGF2X2ZyZWUgKGZmbXBlZ2RlYy0+Y29udGV4dC0+ZXh0cmFkYXRhKTsKKysgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5leHRyYWRhdGEgPSBOVUxMOworKyAgfQorKworKyAgaWYgKGZmbXBlZ2RlYy0+cGN0eCkgeworKyAgICBpZiAoZmZtcGVnZGVjLT5wY2FjaGUpIHsKKysgICAgICBnc3RfYnVmZmVyX3VucmVmIChmZm1wZWdkZWMtPnBjYWNoZSk7CisrICAgICAgZmZtcGVnZGVjLT5wY2FjaGUgPSBOVUxMOworKyAgICB9CisrICAgIGF2X3BhcnNlcl9jbG9zZSAoZmZtcGVnZGVjLT5wY3R4KTsKKysgICAgZmZtcGVnZGVjLT5wY3R4ID0gTlVMTDsKKysgIH0KKysKKysgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLnBhcl9uID0gLTE7CisrICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5mcHNfbiA9IC0xOworKyAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ub2xkX2Zwc19uID0gLTE7CisrICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5pbnRlcmxhY2VkID0gRkFMU0U7CisrfQorKworKy8qIHdpdGggTE9DSyAqLworK3N0YXRpYyBnYm9vbGVhbgorK2dzdF9mZm1wZWdkZWNfb3BlbiAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjKQorK3sKKysgIEdzdEZGTXBlZ0RlY0NsYXNzICpvY2xhc3M7CisrCisrICBvY2xhc3MgPSAoR3N0RkZNcGVnRGVjQ2xhc3MgKikgKEdfT0JKRUNUX0dFVF9DTEFTUyAoZmZtcGVnZGVjKSk7CisrCisrICBpZiAoZ3N0X2ZmbXBlZ19hdmNvZGVjX29wZW4gKGZmbXBlZ2RlYy0+Y29udGV4dCwgb2NsYXNzLT5pbl9wbHVnaW4pIDwgMCkKKysgICAgZ290byBjb3VsZF9ub3Rfb3BlbjsKKysKKysgIGZmbXBlZ2RlYy0+b3BlbmVkID0gVFJVRTsKKysgIGZmbXBlZ2RlYy0+aXNfcmVhbHZpZGVvID0gRkFMU0U7CisrCisrICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiT3BlbmVkIGZmbXBlZyBjb2RlYyAlcywgaWQgJWQiLAorKyAgICAgIG9jbGFzcy0+aW5fcGx1Z2luLT5uYW1lLCBvY2xhc3MtPmluX3BsdWdpbi0+aWQpOworKworKyAgLyogb3BlbiBhIHBhcnNlciBpZiB3ZSBjYW4gKi8KKysgIHN3aXRjaCAob2NsYXNzLT5pbl9wbHVnaW4tPmlkKSB7CisrICAgIGNhc2UgQ09ERUNfSURfTVBFRzQ6CisrICAgIGNhc2UgQ09ERUNfSURfTUpQRUc6CisrICAgIGNhc2UgQ09ERUNfSURfVkMxOgorKyAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJub3QgdXNpbmcgcGFyc2VyLCBibGFja2xpc3RlZCBjb2RlYyIpOworKyAgICAgIGZmbXBlZ2RlYy0+cGN0eCA9IE5VTEw7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgQ09ERUNfSURfSDI2NDoKKysgICAgICAvKiBGb3IgSDI2NCwgb25seSB1c2UgYSBwYXJzZXIgaWYgdGhlcmUgaXMgbm8gY29udGV4dCBkYXRhLCBpZiB0aGVyZSBpcywgCisrICAgICAgICogd2UncmUgdGFsa2luZyBBVkMgKi8KKysgICAgICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0LT5leHRyYWRhdGFfc2l6ZSA9PSAwKSB7CisrICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiSDI2NCB3aXRoIG5vIGV4dHJhZGF0YSwgY3JlYXRpbmcgcGFyc2VyIik7CisrICAgICAgICBmZm1wZWdkZWMtPnBjdHggPSBhdl9wYXJzZXJfaW5pdCAob2NsYXNzLT5pbl9wbHVnaW4tPmlkKTsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywKKysgICAgICAgICAgICAiSDI2NCB3aXRoIGV4dHJhZGF0YSBpbXBsaWVzIGZyYW1lZCBkYXRhIC0gbm90IHVzaW5nIHBhcnNlciIpOworKyAgICAgICAgZmZtcGVnZGVjLT5wY3R4ID0gTlVMTDsKKysgICAgICB9CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgQ09ERUNfSURfUlYxMDoKKysgICAgY2FzZSBDT0RFQ19JRF9SVjMwOgorKyAgICBjYXNlIENPREVDX0lEX1JWMjA6CisrICAgIGNhc2UgQ09ERUNfSURfUlY0MDoKKysgICAgICBmZm1wZWdkZWMtPmlzX3JlYWx2aWRlbyA9IFRSVUU7CisrICAgICAgYnJlYWs7CisrICAgIGRlZmF1bHQ6CisrICAgICAgaWYgKCFmZm1wZWdkZWMtPnR1cm5vZmZfcGFyc2VyKSB7CisrICAgICAgICBmZm1wZWdkZWMtPnBjdHggPSBhdl9wYXJzZXJfaW5pdCAob2NsYXNzLT5pbl9wbHVnaW4tPmlkKTsKKysgICAgICAgIGlmIChmZm1wZWdkZWMtPnBjdHgpCisrICAgICAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJVc2luZyBwYXJzZXIgJXAiLCBmZm1wZWdkZWMtPnBjdHgpOworKyAgICAgICAgZWxzZQorKyAgICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiTm8gcGFyc2VyIGZvciBjb2RlYyIpOworKyAgICAgIH0gZWxzZSB7CisrICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiUGFyc2VyIGRlYWN0aXZhdGVkIGZvciBmb3JtYXQiKTsKKysgICAgICB9CisrICAgICAgYnJlYWs7CisrICB9CisrCisrICBzd2l0Y2ggKG9jbGFzcy0+aW5fcGx1Z2luLT50eXBlKSB7CisrICAgIGNhc2UgQVZNRURJQV9UWVBFX1ZJREVPOgorKyAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLndpZHRoID0gMDsKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5oZWlnaHQgPSAwOworKyAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmNsaXBfd2lkdGggPSAtMTsKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX2hlaWdodCA9IC0xOworKyAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLnBpeF9mbXQgPSBQSVhfRk1UX05COworKyAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmludGVybGFjZWQgPSBGQUxTRTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBBVk1FRElBX1RZUEVfQVVESU86CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uc2FtcGxlcmF0ZSA9IDA7CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uY2hhbm5lbHMgPSAwOworKyAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LmF1ZGlvLmRlcHRoID0gMDsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBicmVhazsKKysgIH0KKysKKysgIGdzdF9mZm1wZWdkZWNfcmVzZXRfdHMgKGZmbXBlZ2RlYyk7CisrICAvKiBGSVhNRSwgcmVzZXRfcW9zIGhvbGRzIHRoZSBMT0NLICovCisrICBmZm1wZWdkZWMtPnByb3BvcnRpb24gPSAwLjA7CisrICBmZm1wZWdkZWMtPmVhcmxpZXN0X3RpbWUgPSAtMTsKKysKKysgIHJldHVybiBUUlVFOworKworKyAgLyogRVJST1JTICovCisrY291bGRfbm90X29wZW46CisrICB7CisrICAgIGdzdF9mZm1wZWdkZWNfY2xvc2UgKGZmbXBlZ2RlYyk7CisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgImZmZGVjXyVzOiBGYWlsZWQgdG8gb3BlbiBGRk1QRUcgY29kZWMiLAorKyAgICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPm5hbWUpOworKyAgICByZXR1cm4gRkFMU0U7CisrICB9CisrfQorKworK3N0YXRpYyBnYm9vbGVhbgorK2dzdF9mZm1wZWdkZWNfc2V0Y2FwcyAoR3N0UGFkICogcGFkLCBHc3RDYXBzICogY2FwcykKKyt7CisrICBHc3RGRk1wZWdEZWMgKmZmbXBlZ2RlYzsKKysgIEdzdEZGTXBlZ0RlY0NsYXNzICpvY2xhc3M7CisrICBHc3RTdHJ1Y3R1cmUgKnN0cnVjdHVyZTsKKysgIGNvbnN0IEdWYWx1ZSAqcGFyOworKyAgY29uc3QgR1ZhbHVlICpmcHM7CisrICBnYm9vbGVhbiByZXQgPSBUUlVFOworKworKyAgZmZtcGVnZGVjID0gKEdzdEZGTXBlZ0RlYyAqKSAoZ3N0X3BhZF9nZXRfcGFyZW50IChwYWQpKTsKKysgIG9jbGFzcyA9IChHc3RGRk1wZWdEZWNDbGFzcyAqKSAoR19PQkpFQ1RfR0VUX0NMQVNTIChmZm1wZWdkZWMpKTsKKysKKysgIEdTVF9ERUJVR19PQkpFQ1QgKHBhZCwgInNldGNhcHMgY2FsbGVkIik7CisrCisrICBHU1RfT0JKRUNUX0xPQ0sgKGZmbXBlZ2RlYyk7CisrCisrICAvKiBzdHVwaWQgY2hlY2sgZm9yIFZDMSAqLworKyAgaWYgKChvY2xhc3MtPmluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfV01WMykgfHwKKysgICAgICAob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX1ZDMSkpCisrICAgIG9jbGFzcy0+aW5fcGx1Z2luLT5pZCA9IGdzdF9mZm1wZWdfY2Fwc190b19jb2RlY2lkIChjYXBzLCBOVUxMKTsKKysKKysgIC8qIGNsb3NlIG9sZCBzZXNzaW9uICovCisrICBpZiAoZmZtcGVnZGVjLT5vcGVuZWQpIHsKKysgICAgR1NUX09CSkVDVF9VTkxPQ0sgKGZmbXBlZ2RlYyk7CisrICAgIGdzdF9mZm1wZWdkZWNfZHJhaW4gKGZmbXBlZ2RlYyk7CisrICAgIEdTVF9PQkpFQ1RfTE9DSyAoZmZtcGVnZGVjKTsKKysgICAgZ3N0X2ZmbXBlZ2RlY19jbG9zZSAoZmZtcGVnZGVjKTsKKysKKysgICAgLyogYW5kIHJlc2V0IHRoZSBkZWZhdWx0cyB0aGF0IHdlcmUgc2V0IHdoZW4gYSBjb250ZXh0IGlzIGNyZWF0ZWQgKi8KKysgICAgYXZjb2RlY19nZXRfY29udGV4dF9kZWZhdWx0cyAoZmZtcGVnZGVjLT5jb250ZXh0KTsKKysgIH0KKysKKysgIC8qIHNldCBidWZmZXIgZnVuY3Rpb25zICovCisrICBmZm1wZWdkZWMtPmNvbnRleHQtPmdldF9idWZmZXIgPSBnc3RfZmZtcGVnZGVjX2dldF9idWZmZXI7CisrICBmZm1wZWdkZWMtPmNvbnRleHQtPnJlbGVhc2VfYnVmZmVyID0gZ3N0X2ZmbXBlZ2RlY19yZWxlYXNlX2J1ZmZlcjsKKysgIGZmbXBlZ2RlYy0+Y29udGV4dC0+ZHJhd19ob3Jpel9iYW5kID0gTlVMTDsKKysKKysgIC8qIGRlZmF1bHQgaXMgdG8gbGV0IGZvcm1hdCBkZWNpZGUgaWYgaXQgbmVlZHMgYSBwYXJzZXIgKi8KKysgIGZmbXBlZ2RlYy0+dHVybm9mZl9wYXJzZXIgPSBGQUxTRTsKKysKKysgIGZmbXBlZ2RlYy0+aGFzX2JfZnJhbWVzID0gRkFMU0U7CisrCisrICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAic2l6ZSAlZHglZCIsIGZmbXBlZ2RlYy0+Y29udGV4dC0+d2lkdGgsCisrICAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5oZWlnaHQpOworKworKyAgLyogZ2V0IHNpemUgYW5kIHNvICovCisrICBnc3RfZmZtcGVnX2NhcHNfd2l0aF9jb2RlY2lkIChvY2xhc3MtPmluX3BsdWdpbi0+aWQsCisrICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPnR5cGUsIGNhcHMsIGZmbXBlZ2RlYy0+Y29udGV4dCk7CisrCisrICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAic2l6ZSBhZnRlciAlZHglZCIsIGZmbXBlZ2RlYy0+Y29udGV4dC0+d2lkdGgsCisrICAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5oZWlnaHQpOworKworKyAgaWYgKCFmZm1wZWdkZWMtPmNvbnRleHQtPnRpbWVfYmFzZS5kZW4gfHwgIWZmbXBlZ2RlYy0+Y29udGV4dC0+dGltZV9iYXNlLm51bSkgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJmb3JjaW5nIDI1LzEgZnJhbWVyYXRlIik7CisrICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+dGltZV9iYXNlLm51bSA9IDE7CisrICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+dGltZV9iYXNlLmRlbiA9IDI1OworKyAgfQorKworKyAgLyogZ2V0IHBpeGVsIGFzcGVjdCByYXRpbyBpZiBpdCdzIHNldCAqLworKyAgc3RydWN0dXJlID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgMCk7CisrCisrICBwYXIgPSBnc3Rfc3RydWN0dXJlX2dldF92YWx1ZSAoc3RydWN0dXJlLCAicGl4ZWwtYXNwZWN0LXJhdGlvIik7CisrICBpZiAocGFyKSB7CisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInNpbmsgY2FwcyBoYXZlIHBpeGVsLWFzcGVjdC1yYXRpbyBvZiAlZDolZCIsCisrICAgICAgICBnc3RfdmFsdWVfZ2V0X2ZyYWN0aW9uX251bWVyYXRvciAocGFyKSwKKysgICAgICAgIGdzdF92YWx1ZV9nZXRfZnJhY3Rpb25fZGVub21pbmF0b3IgKHBhcikpOworKyAgICAvKiBzaG91bGQgYmUgTlVMTCAqLworKyAgICBpZiAoZmZtcGVnZGVjLT5wYXIpCisrICAgICAgZ19mcmVlIChmZm1wZWdkZWMtPnBhcik7CisrICAgIGZmbXBlZ2RlYy0+cGFyID0gZ19uZXcwIChHVmFsdWUsIDEpOworKyAgICBnc3RfdmFsdWVfaW5pdF9hbmRfY29weSAoZmZtcGVnZGVjLT5wYXIsIHBhcik7CisrICB9CisrCisrICAvKiBnZXQgdGhlIGZyYW1lcmF0ZSBmcm9tIGluY29taW5nIGNhcHMuIGZwc19uIGlzIHNldCB0byAtMSB3aGVuCisrICAgKiB0aGVyZSBpcyBubyB2YWxpZCBmcmFtZXJhdGUgKi8KKysgIGZwcyA9IGdzdF9zdHJ1Y3R1cmVfZ2V0X3ZhbHVlIChzdHJ1Y3R1cmUsICJmcmFtZXJhdGUiKTsKKysgIGlmIChmcHMgIT0gTlVMTCAmJiBHU1RfVkFMVUVfSE9MRFNfRlJBQ1RJT04gKGZwcykpIHsKKysgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX24gPSBnc3RfdmFsdWVfZ2V0X2ZyYWN0aW9uX251bWVyYXRvciAoZnBzKTsKKysgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX2QgPSBnc3RfdmFsdWVfZ2V0X2ZyYWN0aW9uX2Rlbm9taW5hdG9yIChmcHMpOworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJVc2luZyBmcmFtZXJhdGUgJWQvJWQgZnJvbSBpbmNvbWluZyBjYXBzIiwKKysgICAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmZwc19uLCBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5mcHNfZCk7CisrICB9IGVsc2UgeworKyAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5mcHNfbiA9IC0xOworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJVc2luZyBmcmFtZXJhdGUgZnJvbSBjb2RlYyIpOworKyAgfQorKworKyAgLyogZmlndXJlIG91dCBpZiB3ZSBjYW4gdXNlIGRpcmVjdCByZW5kZXJpbmcgKi8KKysgIGZmbXBlZ2RlYy0+Y3VycmVudF9kciA9IEZBTFNFOworKyAgZmZtcGVnZGVjLT5leHRyYV9yZWYgPSBGQUxTRTsKKysgIGlmIChmZm1wZWdkZWMtPmRpcmVjdF9yZW5kZXJpbmcpIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAidHJ5aW5nIHRvIGVuYWJsZSBkaXJlY3QgcmVuZGVyaW5nIik7CisrICAgIGlmIChvY2xhc3MtPmluX3BsdWdpbi0+Y2FwYWJpbGl0aWVzICYgQ09ERUNfQ0FQX0RSMSkgeworKyAgICAgIGlmIChvY2xhc3MtPmluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfSDI2NCkgeworKyAgICAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiZGlzYWJsZSBkaXJlY3QgcmVuZGVyaW5nIHNldHVwIGZvciBIMjY0Iik7CisrICAgICAgICAvKiBkb2VzIG5vdCB3b3JrLCBtYW55IHN0dWZmIHJlYWRzIG91dHNpZGUgb2YgdGhlIHBsYW5lcyAqLworKyAgICAgICAgZmZtcGVnZGVjLT5jdXJyZW50X2RyID0gRkFMU0U7CisrICAgICAgICBmZm1wZWdkZWMtPmV4dHJhX3JlZiA9IFRSVUU7CisrICAgICAgfSBlbHNlIGlmICgob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX1NWUTEpIHx8CisrICAgICAgICAgIChvY2xhc3MtPmluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfVlA1KSB8fAorKyAgICAgICAgICAob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX1ZQNikgfHwKKysgICAgICAgICAgKG9jbGFzcy0+aW5fcGx1Z2luLT5pZCA9PSBDT0RFQ19JRF9WUDZGKSB8fAorKyAgICAgICAgICAob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX1ZQNkEpKSB7CisrICAgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAgICAgImRpc2FibGUgZGlyZWN0IHJlbmRlcmluZyBzZXR1cCBmb3IgYnJva2VuIHN0cmlkZSBzdXBwb3J0Iik7CisrICAgICAgICAvKiBkb2VzIG5vdCB3b3JrLCB1c2VzIGEgaW5jb21wYXRpYmxlIHN0cmlkZS4gU2VlICM2MTA2MTMgKi8KKysgICAgICAgIGZmbXBlZ2RlYy0+Y3VycmVudF9kciA9IEZBTFNFOworKyAgICAgICAgZmZtcGVnZGVjLT5leHRyYV9yZWYgPSBUUlVFOworKyAgICAgIH0gZWxzZSB7CisrICAgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJlbmFibGVkIGRpcmVjdCByZW5kZXJpbmciKTsKKysgICAgICAgIGZmbXBlZ2RlYy0+Y3VycmVudF9kciA9IFRSVUU7CisrICAgICAgfQorKyAgICB9IGVsc2UgeworKyAgICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgImRpcmVjdCByZW5kZXJpbmcgbm90IHN1cHBvcnRlZCIpOworKyAgICB9CisrICB9CisrICBpZiAoZmZtcGVnZGVjLT5jdXJyZW50X2RyKSB7CisrICAgIC8qIGRvICpub3QqIGRyYXcgZWRnZXMgd2hlbiBpbiBkaXJlY3QgcmVuZGVyaW5nLCBmb3Igc29tZSByZWFzb24gaXQgZHJhd3MKKysgICAgICogb3V0c2lkZSBvZiB0aGUgbWVtb3J5LiAqLworKyAgICBmZm1wZWdkZWMtPmNvbnRleHQtPmZsYWdzIHw9IENPREVDX0ZMQUdfRU1VX0VER0U7CisrICB9CisrCisrICAvKiBmb3IgQUFDIHdlIG9ubHkgdXNlIGF2X3BhcnNlIGlmIG5vdCBvbiBzdHJlYW0tZm9ybWF0PT1yYXcgb3IgPT1sb2FzICovCisrICBpZiAob2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX0FBQworKyAgICAgIHx8IG9jbGFzcy0+aW5fcGx1Z2luLT5pZCA9PSBDT0RFQ19JRF9BQUNfTEFUTSkgeworKyAgICBjb25zdCBnY2hhciAqZm9ybWF0ID0gZ3N0X3N0cnVjdHVyZV9nZXRfc3RyaW5nIChzdHJ1Y3R1cmUsICJzdHJlYW0tZm9ybWF0Iik7CisrCisrICAgIGlmIChmb3JtYXQgPT0gTlVMTCB8fCBzdHJjbXAgKGZvcm1hdCwgInJhdyIpID09IDApIHsKKysgICAgICBmZm1wZWdkZWMtPnR1cm5vZmZfcGFyc2VyID0gVFJVRTsKKysgICAgfQorKyAgfQorKworKyAgLyogZm9yIEZMQUMsIGRvbid0IHBhcnNlIGlmIGl0J3MgYWxyZWFkeSBwYXJzZWQgKi8KKysgIGlmIChvY2xhc3MtPmluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfRkxBQykgeworKyAgICBpZiAoZ3N0X3N0cnVjdHVyZV9oYXNfZmllbGQgKHN0cnVjdHVyZSwgInN0cmVhbWhlYWRlciIpKQorKyAgICAgIGZmbXBlZ2RlYy0+dHVybm9mZl9wYXJzZXIgPSBUUlVFOworKyAgfQorKworKyAgLyogd29ya2Fyb3VuZCBlbmNvZGVyIGJ1Z3MgKi8KKysgIGZmbXBlZ2RlYy0+Y29udGV4dC0+d29ya2Fyb3VuZF9idWdzIHw9IEZGX0JVR19BVVRPREVURUNUOworKyAgZmZtcGVnZGVjLT5jb250ZXh0LT5lcnJfcmVjb2duaXRpb24gPSAxOworKworKyAgLyogZm9yIHNsb3cgY3B1cyAqLworKyAgZmZtcGVnZGVjLT5jb250ZXh0LT5sb3dyZXMgPSBmZm1wZWdkZWMtPmxvd3JlczsKKysgIGZmbXBlZ2RlYy0+Y29udGV4dC0+c2tpcF9mcmFtZSA9IGZmbXBlZ2RlYy0+c2tpcF9mcmFtZTsKKysKKysgIC8qIGZmbXBlZyBjYW4gZHJhdyBtb3Rpb24gdmVjdG9ycyBvbiB0b3Agb2YgdGhlIGltYWdlIChub3QgZXZlcnkgZGVjb2RlcgorKyAgICogc3VwcG9ydHMgaXQpICovCisrICBmZm1wZWdkZWMtPmNvbnRleHQtPmRlYnVnX212ID0gZmZtcGVnZGVjLT5kZWJ1Z19tdjsKKysKKysgIGlmIChmZm1wZWdkZWMtPm1heF90aHJlYWRzID09IDApCisrICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+dGhyZWFkX2NvdW50ID0gZ3N0X2ZmbXBlZ19hdXRvX21heF90aHJlYWRzICgpOworKyAgZWxzZQorKyAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnRocmVhZF9jb3VudCA9IGZmbXBlZ2RlYy0+bWF4X3RocmVhZHM7CisrCisrICAvKiBvcGVuIGNvZGVjIC0gd2UgZG9uJ3Qgc2VsZWN0IGFuIG91dHB1dCBwaXhfZm10IHlldCwKKysgICAqIHNpbXBseSBiZWNhdXNlIHdlIGRvbid0IGtub3chIFdlIG9ubHkgZ2V0IGl0CisrICAgKiBkdXJpbmcgcGxheWJhY2suLi4gKi8KKysgIGlmICghZ3N0X2ZmbXBlZ2RlY19vcGVuIChmZm1wZWdkZWMpKQorKyAgICBnb3RvIG9wZW5fZmFpbGVkOworKworKyAgLyogY2xpcHBpbmcgcmVnaW9uICovCisrICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgIndpZHRoIiwKKysgICAgICAmZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uY2xpcF93aWR0aCk7CisrICBnc3Rfc3RydWN0dXJlX2dldF9pbnQgKHN0cnVjdHVyZSwgImhlaWdodCIsCisrICAgICAgJmZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmNsaXBfaGVpZ2h0KTsKKysKKysgIEdTVF9ERUJVR19PQkpFQ1QgKHBhZCwgImNsaXBwaW5nIHRvICVkeCVkIiwKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX3dpZHRoLCBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX2hlaWdodCk7CisrCisrICAvKiB0YWtlIGludG8gYWNjb3VudCB0aGUgbG93cmVzIHByb3BlcnR5ICovCisrICBpZiAoZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uY2xpcF93aWR0aCAhPSAtMSkKKysgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uY2xpcF93aWR0aCA+Pj0gZmZtcGVnZGVjLT5sb3dyZXM7CisrICBpZiAoZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uY2xpcF9oZWlnaHQgIT0gLTEpCisrICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmNsaXBfaGVpZ2h0ID4+PSBmZm1wZWdkZWMtPmxvd3JlczsKKysKKysgIEdTVF9ERUJVR19PQkpFQ1QgKHBhZCwgImZpbmFsIGNsaXBwaW5nIHRvICVkeCVkIiwKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX3dpZHRoLCBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX2hlaWdodCk7CisrCisrZG9uZToKKysgIEdTVF9PQkpFQ1RfVU5MT0NLIChmZm1wZWdkZWMpOworKworKyAgZ3N0X29iamVjdF91bnJlZiAoZmZtcGVnZGVjKTsKKysKKysgIHJldHVybiByZXQ7CisrCisrICAvKiBFUlJPUlMgKi8KKytvcGVuX2ZhaWxlZDoKKysgIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiRmFpbGVkIHRvIG9wZW4iKTsKKysgICAgaWYgKGZmbXBlZ2RlYy0+cGFyKSB7CisrICAgICAgZ19mcmVlIChmZm1wZWdkZWMtPnBhcik7CisrICAgICAgZmZtcGVnZGVjLT5wYXIgPSBOVUxMOworKyAgICB9CisrICAgIHJldCA9IEZBTFNFOworKyAgICBnb3RvIGRvbmU7CisrICB9CisrfQorKworK3N0YXRpYyBHc3RGbG93UmV0dXJuCisrYWxsb2Nfb3V0cHV0X2J1ZmZlciAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjLCBHc3RCdWZmZXIgKiogb3V0YnVmLAorKyAgICBnaW50IHdpZHRoLCBnaW50IGhlaWdodCkKKyt7CisrICBHc3RGbG93UmV0dXJuIHJldDsKKysgIGdpbnQgZnNpemU7CisrCisrICByZXQgPSBHU1RfRkxPV19FUlJPUjsKKysgICpvdXRidWYgPSBOVUxMOworKworKyAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImFsbG9jIG91dHB1dCBidWZmZXIiKTsKKysKKysgIC8qIHNlZSBpZiB3ZSBuZWVkIHJlbmVnb3RpYXRpb24gKi8KKysgIGlmIChHX1VOTElLRUxZICghZ3N0X2ZmbXBlZ2RlY19uZWdvdGlhdGUgKGZmbXBlZ2RlYywgRkFMU0UpKSkKKysgICAgZ290byBuZWdvdGlhdGVfZmFpbGVkOworKworKyAgLyogZ2V0IHRoZSBzaXplIG9mIHRoZSBnc3RyZWFtZXIgb3V0cHV0IGJ1ZmZlciBnaXZlbiBhCisrICAgKiB3aWR0aC9oZWlnaHQvZm9ybWF0ICovCisrICBmc2l6ZSA9IGdzdF9mZm1wZWdfYXZwaWN0dXJlX2dldF9zaXplIChmZm1wZWdkZWMtPmNvbnRleHQtPnBpeF9mbXQsCisrICAgICAgd2lkdGgsIGhlaWdodCk7CisrCisrICBpZiAoZmZtcGVnZGVjLT5jYW5fYWxsb2NhdGVfYWxpZ25lZCkgeworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiY2FsbGluZyBwYWRfYWxsb2MiKTsKKysgICAgLyogbm8gcGFsbGV0ZSwgd2UgY2FuIHVzZSB0aGUgYnVmZmVyIHNpemUgdG8gYWxsb2MgKi8KKysgICAgcmV0ID0gZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzIChmZm1wZWdkZWMtPnNyY3BhZCwKKysgICAgICAgIEdTVF9CVUZGRVJfT0ZGU0VUX05PTkUsIGZzaXplLAorKyAgICAgICAgR1NUX1BBRF9DQVBTIChmZm1wZWdkZWMtPnNyY3BhZCksIG91dGJ1Zik7CisrICAgIGlmIChHX1VOTElLRUxZIChyZXQgIT0gR1NUX0ZMT1dfT0spKQorKyAgICAgIGdvdG8gYWxsb2NfZmFpbGVkOworKworKyAgICAvKiBJZiBidWZmZXIgaXNuJ3QgMTI4LWJpdCBhbGlnbmVkLCBjcmVhdGUgYSBtZW1hbGlnbmVkIG9uZSBvdXJzZWx2ZXMgKi8KKysgICAgaWYgKCgodWludHB0cl90KSBHU1RfQlVGRkVSX0RBVEEgKCpvdXRidWYpKSAlIDE2KSB7CisrICAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgICAiRG93bnN0cmVhbSBjYW4ndCBhbGxvY2F0ZSBhbGlnbmVkIGJ1ZmZlcnMuIik7CisrICAgICAgZmZtcGVnZGVjLT5jYW5fYWxsb2NhdGVfYWxpZ25lZCA9IEZBTFNFOworKyAgICAgIGdzdF9idWZmZXJfdW5yZWYgKCpvdXRidWYpOworKyAgICAgICpvdXRidWYgPSBuZXdfYWxpZ25lZF9idWZmZXIgKGZzaXplLCBHU1RfUEFEX0NBUFMgKGZmbXBlZ2RlYy0+c3JjcGFkKSk7CisrICAgIH0KKysgIH0gZWxzZSB7CisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAibm90IGNhbGxpbmcgcGFkX2FsbG9jLCB3ZSBoYXZlIGEgcGFsbGV0ZSBvciBkb3duc3RyZWFtIGNhbid0IGdpdmUgMTYgYnl0ZSBhbGlnbmVkIGJ1ZmZlcnMuIik7CisrICAgIC8qIGZvciBwYWxldHRlZCBkYXRhIHdlIGNhbid0IHVzZSBwYWRfYWxsb2NfYnVmZmVyKCksIGJlY2F1c2UKKysgICAgICogZnNpemUgY29udGFpbnMgdGhlIHNpemUgb2YgdGhlIHBhbGV0dGUsIHNvIHRoZSBvdmVyYWxsIHNpemUKKysgICAgICogaXMgYmlnZ2VyIHRoYW4gZmZtcGVnY29sb3JzcGFjZSdzIHVuaXQgc2l6ZSwgd2hpY2ggd2lsbAorKyAgICAgKiBwcm9tcHQgR3N0QmFzZVRyYW5zZm9ybSB0byBjb21wbGFpbiBlbmRsZXNzbHkgLi4uICovCisrICAgICpvdXRidWYgPSBuZXdfYWxpZ25lZF9idWZmZXIgKGZzaXplLCBHU1RfUEFEX0NBUFMgKGZmbXBlZ2RlYy0+c3JjcGFkKSk7CisrICAgIHJldCA9IEdTVF9GTE9XX09LOworKyAgfQorKyAgLyogc2V0IGNhcHMsIHdlIGRvIHRoaXMgaGVyZSBiZWNhdXNlIHRoZSBidWZmZXIgaXMgc3RpbGwgd3JpdGFibGUgaGVyZSBhbmQgd2UKKysgICAqIGFyZSBzdXJlIHRvIGJlIG5lZ290aWF0ZWQgKi8KKysgIGdzdF9idWZmZXJfc2V0X2NhcHMgKCpvdXRidWYsIEdTVF9QQURfQ0FQUyAoZmZtcGVnZGVjLT5zcmNwYWQpKTsKKysKKysgIHJldHVybiByZXQ7CisrCisrICAvKiBzcGVjaWFsIGNhc2VzICovCisrbmVnb3RpYXRlX2ZhaWxlZDoKKysgIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAibmVnb3RpYXRlIGZhaWxlZCIpOworKyAgICByZXR1cm4gR1NUX0ZMT1dfTk9UX05FR09USUFURUQ7CisrICB9CisrYWxsb2NfZmFpbGVkOgorKyAgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJwYWRfYWxsb2MgZmFpbGVkICVkICglcykiLCByZXQsCisrICAgICAgICBnc3RfZmxvd19nZXRfbmFtZSAocmV0KSk7CisrICAgIHJldHVybiByZXQ7CisrICB9CisrfQorKworK3N0YXRpYyBpbnQKKytnc3RfZmZtcGVnZGVjX2dldF9idWZmZXIgKEFWQ29kZWNDb250ZXh0ICogY29udGV4dCwgQVZGcmFtZSAqIHBpY3R1cmUpCisreworKyAgR3N0QnVmZmVyICpidWYgPSBOVUxMOworKyAgR3N0RkZNcGVnRGVjICpmZm1wZWdkZWM7CisrICBnaW50IHdpZHRoLCBoZWlnaHQ7CisrICBnaW50IGNvZGVkX3dpZHRoLCBjb2RlZF9oZWlnaHQ7CisrICBnaW50IHJlczsKKysKKysgIGZmbXBlZ2RlYyA9IChHc3RGRk1wZWdEZWMgKikgY29udGV4dC0+b3BhcXVlOworKworKyAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiZ2V0dGluZyBidWZmZXIiKTsKKysKKysgIC8qIGFwcGx5IHRoZSBsYXN0IGluZm8gd2UgaGF2ZSBzZWVuIHRvIHRoaXMgcGljdHVyZSwgd2hlbiB3ZSBnZXQgdGhlCisrICAgKiBwaWN0dXJlIGJhY2sgZnJvbSBmZm1wZWcgd2UgY2FuIHVzZSB0aGlzIHRvIGNvcnJlY3RseSB0aW1lc3RhbXAgdGhlIG91dHB1dAorKyAgICogYnVmZmVyICovCisrICBwaWN0dXJlLT5yZW9yZGVyZWRfb3BhcXVlID0gY29udGV4dC0+cmVvcmRlcmVkX29wYXF1ZTsKKysgIC8qIG1ha2Ugc3VyZSB3ZSBkb24ndCBmcmVlIHRoZSBidWZmZXIgd2hlbiBpdCdzIG5vdCBvdXJzICovCisrICBwaWN0dXJlLT5vcGFxdWUgPSBOVUxMOworKworKyAgLyogdGFrZSB3aWR0aCBhbmQgaGVpZ2h0IGJlZm9yZSBjbGlwcGluZyAqLworKyAgd2lkdGggPSBjb250ZXh0LT53aWR0aDsKKysgIGhlaWdodCA9IGNvbnRleHQtPmhlaWdodDsKKysgIGNvZGVkX3dpZHRoID0gY29udGV4dC0+Y29kZWRfd2lkdGg7CisrICBjb2RlZF9oZWlnaHQgPSBjb250ZXh0LT5jb2RlZF9oZWlnaHQ7CisrCisrICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiZGltZW5zaW9uICVkeCVkLCBjb2RlZCAlZHglZCIsIHdpZHRoLCBoZWlnaHQsCisrICAgICAgY29kZWRfd2lkdGgsIGNvZGVkX2hlaWdodCk7CisrICBpZiAoIWZmbXBlZ2RlYy0+Y3VycmVudF9kcikgeworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiZGlyZWN0IHJlbmRlcmluZyBkaXNhYmxlZCwgZmFsbGJhY2sgYWxsb2MiKTsKKysgICAgcmVzID0gYXZjb2RlY19kZWZhdWx0X2dldF9idWZmZXIgKGNvbnRleHQsIHBpY3R1cmUpOworKworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAibGluc2l6ZSAlZCAlZCAlZCIsIHBpY3R1cmUtPmxpbmVzaXplWzBdLAorKyAgICAgICAgcGljdHVyZS0+bGluZXNpemVbMV0sIHBpY3R1cmUtPmxpbmVzaXplWzJdKTsKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImRhdGEgJXUgJXUgJXUiLCAwLAorKyAgICAgICAgKGd1aW50KSAocGljdHVyZS0+ZGF0YVsxXSAtIHBpY3R1cmUtPmRhdGFbMF0pLAorKyAgICAgICAgKGd1aW50KSAocGljdHVyZS0+ZGF0YVsyXSAtIHBpY3R1cmUtPmRhdGFbMF0pKTsKKysgICAgcmV0dXJuIHJlczsKKysgIH0KKysKKysgIHN3aXRjaCAoY29udGV4dC0+Y29kZWNfdHlwZSkgeworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9WSURFTzoKKysgICAgICAvKiBzb21lIGZmbXBlZyB2aWRlbyBwbHVnaW5zIGRvbid0IHNlZSB0aGUgcG9pbnQgaW4gc2V0dGluZyBjb2RlY190eXBlIC4uLiAqLworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9VTktOT1dOOgorKyAgICB7CisrICAgICAgR3N0Rmxvd1JldHVybiByZXQ7CisrICAgICAgZ2ludCBjbGlwX3dpZHRoLCBjbGlwX2hlaWdodDsKKysKKysgICAgICAvKiB0YWtlIGZpbmFsIGNsaXBwZWQgb3V0cHV0IHNpemUgKi8KKysgICAgICBpZiAoKGNsaXBfd2lkdGggPSBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX3dpZHRoKSA9PSAtMSkKKysgICAgICAgIGNsaXBfd2lkdGggPSB3aWR0aDsKKysgICAgICBpZiAoKGNsaXBfaGVpZ2h0ID0gZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uY2xpcF9oZWlnaHQpID09IC0xKQorKyAgICAgICAgY2xpcF9oZWlnaHQgPSBoZWlnaHQ7CisrCisrICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgInJhdyBvdXRzaXplICVkLyVkIiwgd2lkdGgsIGhlaWdodCk7CisrCisrICAgICAgLyogdGhpcyBpcyB0aGUgc2l6ZSBmZm1wZWcgbmVlZHMgZm9yIHRoZSBidWZmZXIgKi8KKysgICAgICBhdmNvZGVjX2FsaWduX2RpbWVuc2lvbnMgKGNvbnRleHQsICZ3aWR0aCwgJmhlaWdodCk7CisrCisrICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImFsaWduZWQgb3V0c2l6ZSAlZC8lZCwgY2xpcCAlZC8lZCIsCisrICAgICAgICAgIHdpZHRoLCBoZWlnaHQsIGNsaXBfd2lkdGgsIGNsaXBfaGVpZ2h0KTsKKysKKysgICAgICBpZiAod2lkdGggIT0gY2xpcF93aWR0aCB8fCBoZWlnaHQgIT0gY2xpcF9oZWlnaHQpIHsKKysgICAgICAgIC8qIFdlIGNhbid0IGFsbG9jIGlmIHdlIG5lZWQgdG8gY2xpcCB0aGUgb3V0cHV0IGJ1ZmZlciBsYXRlciAqLworKyAgICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgIndlIG5lZWQgY2xpcHBpbmcsIGZhbGxiYWNrIGFsbG9jIik7CisrICAgICAgICByZXR1cm4gYXZjb2RlY19kZWZhdWx0X2dldF9idWZmZXIgKGNvbnRleHQsIHBpY3R1cmUpOworKyAgICAgIH0KKysKKysgICAgICAvKiBhbGxvYyB3aXRoIGFsaWduZWQgZGltZW5zaW9ucyBmb3IgZmZtcGVnICovCisrICAgICAgcmV0ID0gYWxsb2Nfb3V0cHV0X2J1ZmZlciAoZmZtcGVnZGVjLCAmYnVmLCB3aWR0aCwgaGVpZ2h0KTsKKysgICAgICBpZiAoR19VTkxJS0VMWSAocmV0ICE9IEdTVF9GTE9XX09LKSkgeworKyAgICAgICAgLyogYWxsb2MgZGVmYXVsdCBidWZmZXIgd2hlbiB3ZSBjYW4ndCBnZXQgb25lIGZyb20gZG93bnN0cmVhbSAqLworKyAgICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImFsbG9jIGZhaWxlZCwgZmFsbGJhY2sgYWxsb2MiKTsKKysgICAgICAgIHJldHVybiBhdmNvZGVjX2RlZmF1bHRfZ2V0X2J1ZmZlciAoY29udGV4dCwgcGljdHVyZSk7CisrICAgICAgfQorKworKyAgICAgIC8qIGNvcHkgdGhlIHJpZ2h0IHBvaW50ZXJzIGFuZCBzdHJpZGVzIGluIHRoZSBwaWN0dXJlIG9iamVjdCAqLworKyAgICAgIGdzdF9mZm1wZWdfYXZwaWN0dXJlX2ZpbGwgKChBVlBpY3R1cmUgKikgcGljdHVyZSwKKysgICAgICAgICAgR1NUX0JVRkZFUl9EQVRBIChidWYpLCBjb250ZXh0LT5waXhfZm10LCB3aWR0aCwgaGVpZ2h0KTsKKysgICAgICBicmVhazsKKysgICAgfQorKyAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKKysgICAgZGVmYXVsdDoKKysgICAgICBHU1RfRVJST1JfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAgICJfZ2V0X2J1ZmZlcigpIHNob3VsZCBuZXZlciBnZXQgY2FsbGVkIGZvciBub24tdmlkZW8gYnVmZmVycyAhIik7CisrICAgICAgZ19hc3NlcnRfbm90X3JlYWNoZWQgKCk7CisrICAgICAgYnJlYWs7CisrICB9CisrCisrICAvKiB0ZWxsIGZmbXBlZyB3ZSBvd24gdGhpcyBidWZmZXIsIHRyYW5mZXIgdGhlIHJlZiB3ZSBoYXZlIG9uIHRoZSBidWZmZXIgdG8KKysgICAqIHRoZSBvcGFxdWUgZGF0YS4gKi8KKysgIHBpY3R1cmUtPnR5cGUgPSBGRl9CVUZGRVJfVFlQRV9VU0VSOworKyAgcGljdHVyZS0+b3BhcXVlID0gYnVmOworKworKyNpZmRlZiBFWFRSQV9SRUYKKysgIGlmIChwaWN0dXJlLT5yZWZlcmVuY2UgIT0gMCB8fCBmZm1wZWdkZWMtPmV4dHJhX3JlZikgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJhZGRpbmcgZXh0cmEgcmVmIik7CisrICAgIGdzdF9idWZmZXJfcmVmIChidWYpOworKyAgfQorKyNlbmRpZgorKworKyAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgInJldHVybmVkIGJ1ZmZlciAlcCIsIGJ1Zik7CisrCisrICByZXR1cm4gMDsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX3JlbGVhc2VfYnVmZmVyIChBVkNvZGVjQ29udGV4dCAqIGNvbnRleHQsIEFWRnJhbWUgKiBwaWN0dXJlKQorK3sKKysgIGdpbnQgaTsKKysgIEdzdEJ1ZmZlciAqYnVmOworKyAgR3N0RkZNcGVnRGVjICpmZm1wZWdkZWM7CisrCisrICBmZm1wZWdkZWMgPSAoR3N0RkZNcGVnRGVjICopIGNvbnRleHQtPm9wYXF1ZTsKKysKKysgIC8qIGNoZWNrIGlmIGl0IHdhcyBvdXIgYnVmZmVyICovCisrICBpZiAocGljdHVyZS0+b3BhcXVlID09IE5VTEwpIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiZGVmYXVsdCByZWxlYXNlIGJ1ZmZlciIpOworKyAgICBhdmNvZGVjX2RlZmF1bHRfcmVsZWFzZV9idWZmZXIgKGNvbnRleHQsIHBpY3R1cmUpOworKyAgICByZXR1cm47CisrICB9CisrCisrICAvKiB3ZSByZW1vdmUgdGhlIG9wYXF1ZSBkYXRhIG5vdyAqLworKyAgYnVmID0gR1NUX0JVRkZFUl9DQVNUIChwaWN0dXJlLT5vcGFxdWUpOworKyAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAicmVsZWFzZSBidWZmZXIgJXAiLCBidWYpOworKyAgcGljdHVyZS0+b3BhcXVlID0gTlVMTDsKKysKKysjaWZkZWYgRVhUUkFfUkVGCisrICBpZiAocGljdHVyZS0+cmVmZXJlbmNlICE9IDAgfHwgZmZtcGVnZGVjLT5leHRyYV9yZWYpIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAicmVtb3ZlIGV4dHJhIHJlZiIpOworKyAgICBnc3RfYnVmZmVyX3VucmVmIChidWYpOworKyAgfQorKyNlbHNlCisrICBnc3RfYnVmZmVyX3VucmVmIChidWYpOworKyNlbmRpZgorKworKyAgLyogemVybyBvdXQgdGhlIHJlZmVyZW5jZSBpbiBmZm1wZWcgKi8KKysgIGZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKKysgICAgcGljdHVyZS0+ZGF0YVtpXSA9IE5VTEw7CisrICAgIHBpY3R1cmUtPmxpbmVzaXplW2ldID0gMDsKKysgIH0KKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX2FkZF9waXhlbF9hc3BlY3RfcmF0aW8gKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYywKKysgICAgR3N0U3RydWN0dXJlICogcykKKyt7CisrICBnYm9vbGVhbiBkZW11eGVyX3Bhcl9zZXQgPSBGQUxTRTsKKysgIGdib29sZWFuIGRlY29kZXJfcGFyX3NldCA9IEZBTFNFOworKyAgZ2ludCBkZW11eGVyX251bSA9IDEsIGRlbXV4ZXJfZGVub20gPSAxOworKyAgZ2ludCBkZWNvZGVyX251bSA9IDEsIGRlY29kZXJfZGVub20gPSAxOworKworKyAgR1NUX09CSkVDVF9MT0NLIChmZm1wZWdkZWMpOworKworKyAgaWYgKGZmbXBlZ2RlYy0+cGFyKSB7CisrICAgIGRlbXV4ZXJfbnVtID0gZ3N0X3ZhbHVlX2dldF9mcmFjdGlvbl9udW1lcmF0b3IgKGZmbXBlZ2RlYy0+cGFyKTsKKysgICAgZGVtdXhlcl9kZW5vbSA9IGdzdF92YWx1ZV9nZXRfZnJhY3Rpb25fZGVub21pbmF0b3IgKGZmbXBlZ2RlYy0+cGFyKTsKKysgICAgZGVtdXhlcl9wYXJfc2V0ID0gVFJVRTsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiRGVtdXhlciBQQVI6ICVkOiVkIiwgZGVtdXhlcl9udW0sCisrICAgICAgICBkZW11eGVyX2Rlbm9tKTsKKysgIH0KKysKKysgIGlmIChmZm1wZWdkZWMtPmNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8ubnVtICYmCisrICAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5zYW1wbGVfYXNwZWN0X3JhdGlvLmRlbikgeworKyAgICBkZWNvZGVyX251bSA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+c2FtcGxlX2FzcGVjdF9yYXRpby5udW07CisrICAgIGRlY29kZXJfZGVub20gPSBmZm1wZWdkZWMtPmNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8uZGVuOworKyAgICBkZWNvZGVyX3Bhcl9zZXQgPSBUUlVFOworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJEZWNvZGVyIFBBUjogJWQ6JWQiLCBkZWNvZGVyX251bSwKKysgICAgICAgIGRlY29kZXJfZGVub20pOworKyAgfQorKworKyAgR1NUX09CSkVDVF9VTkxPQ0sgKGZmbXBlZ2RlYyk7CisrCisrICBpZiAoIWRlbXV4ZXJfcGFyX3NldCAmJiAhZGVjb2Rlcl9wYXJfc2V0KQorKyAgICBnb3RvIG5vX3BhcjsKKysKKysgIGlmIChkZW11eGVyX3Bhcl9zZXQgJiYgIWRlY29kZXJfcGFyX3NldCkKKysgICAgZ290byB1c2VfZGVtdXhlcl9wYXI7CisrCisrICBpZiAoZGVjb2Rlcl9wYXJfc2V0ICYmICFkZW11eGVyX3Bhcl9zZXQpCisrICAgIGdvdG8gdXNlX2RlY29kZXJfcGFyOworKworKyAgLyogQm90aCB0aGUgZGVtdXhlciBhbmQgdGhlIGRlY29kZXIgcHJvdmlkZSBhIFBBUi4gSWYgb25lIG9mCisrICAgKiB0aGUgdHdvIFBBUnMgaXMgMToxIGFuZCB0aGUgb3RoZXIgb25lIGlzIG5vdCwgdXNlIHRoZSBvbmUKKysgICAqIHRoYXQgaXMgbm90IDE6MS4gKi8KKysgIGlmIChkZW11eGVyX251bSA9PSBkZW11eGVyX2Rlbm9tICYmIGRlY29kZXJfbnVtICE9IGRlY29kZXJfZGVub20pCisrICAgIGdvdG8gdXNlX2RlY29kZXJfcGFyOworKworKyAgaWYgKGRlY29kZXJfbnVtID09IGRlY29kZXJfZGVub20gJiYgZGVtdXhlcl9udW0gIT0gZGVtdXhlcl9kZW5vbSkKKysgICAgZ290byB1c2VfZGVtdXhlcl9wYXI7CisrCisrICAvKiBCb3RoIFBBUnMgYXJlIG5vbi0xOjEsIHNvIHVzZSB0aGUgUEFSIHByb3ZpZGVkIGJ5IHRoZSBkZW11eGVyICovCisrICBnb3RvIHVzZV9kZW11eGVyX3BhcjsKKysKKyt1c2VfZGVjb2Rlcl9wYXI6CisrICB7CisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywKKysgICAgICAgICJTZXR0aW5nIGRlY29kZXIgcHJvdmlkZWQgcGl4ZWwtYXNwZWN0LXJhdGlvIG9mICV1OiV1IiwgZGVjb2Rlcl9udW0sCisrICAgICAgICBkZWNvZGVyX2Rlbm9tKTsKKysgICAgZ3N0X3N0cnVjdHVyZV9zZXQgKHMsICJwaXhlbC1hc3BlY3QtcmF0aW8iLCBHU1RfVFlQRV9GUkFDVElPTiwgZGVjb2Rlcl9udW0sCisrICAgICAgICBkZWNvZGVyX2Rlbm9tLCBOVUxMKTsKKysgICAgcmV0dXJuOworKyAgfQorKworK3VzZV9kZW11eGVyX3BhcjoKKysgIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgIlNldHRpbmcgZGVtdXhlciBwcm92aWRlZCBwaXhlbC1hc3BlY3QtcmF0aW8gb2YgJXU6JXUiLCBkZW11eGVyX251bSwKKysgICAgICAgIGRlbXV4ZXJfZGVub20pOworKyAgICBnc3Rfc3RydWN0dXJlX3NldCAocywgInBpeGVsLWFzcGVjdC1yYXRpbyIsIEdTVF9UWVBFX0ZSQUNUSU9OLCBkZW11eGVyX251bSwKKysgICAgICAgIGRlbXV4ZXJfZGVub20sIE5VTEwpOworKyAgICByZXR1cm47CisrICB9Cisrbm9fcGFyOgorKyAgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAiTmVpdGhlciBkZW11eGVyIG5vciBjb2RlYyBwcm92aWRlIGEgcGl4ZWwtYXNwZWN0LXJhdGlvIik7CisrICAgIHJldHVybjsKKysgIH0KKyt9CisrCisrc3RhdGljIGdib29sZWFuCisrZ3N0X2ZmbXBlZ2RlY19uZWdvdGlhdGUgKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYywgZ2Jvb2xlYW4gZm9yY2UpCisreworKyAgR3N0RkZNcGVnRGVjQ2xhc3MgKm9jbGFzczsKKysgIEdzdENhcHMgKmNhcHM7CisrCisrICBvY2xhc3MgPSAoR3N0RkZNcGVnRGVjQ2xhc3MgKikgKEdfT0JKRUNUX0dFVF9DTEFTUyAoZmZtcGVnZGVjKSk7CisrCisrICBzd2l0Y2ggKG9jbGFzcy0+aW5fcGx1Z2luLT50eXBlKSB7CisrICAgIGNhc2UgQVZNRURJQV9UWVBFX1ZJREVPOgorKyAgICAgIGlmICghZm9yY2UgJiYgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ud2lkdGggPT0gZmZtcGVnZGVjLT5jb250ZXh0LT53aWR0aAorKyAgICAgICAgICAmJiBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5oZWlnaHQgPT0gZmZtcGVnZGVjLT5jb250ZXh0LT5oZWlnaHQKKysgICAgICAgICAgJiYgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX24gPT0gZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ub2xkX2Zwc19uCisrICAgICAgICAgICYmIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmZwc19kID09IGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLm9sZF9mcHNfZAorKyAgICAgICAgICAmJiBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5waXhfZm10ID09IGZmbXBlZ2RlYy0+Y29udGV4dC0+cGl4X2ZtdAorKyAgICAgICAgICAmJiBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5wYXJfbiA9PQorKyAgICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8ubnVtCisrICAgICAgICAgICYmIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLnBhcl9kID09CisrICAgICAgICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+c2FtcGxlX2FzcGVjdF9yYXRpby5kZW4pCisrICAgICAgICByZXR1cm4gVFJVRTsKKysgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAgICJSZW5lZ290aWF0aW5nIHZpZGVvIGZyb20gJWR4JWRAICVkOiVkIFBBUiAlZC8lZCBmcHMgdG8gJWR4JWRAICVkOiVkIFBBUiAlZC8lZCBmcHMiLAorKyAgICAgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby53aWR0aCwgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uaGVpZ2h0LAorKyAgICAgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5wYXJfbiwgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ucGFyX2QsCisrICAgICAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLm9sZF9mcHNfbiwgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ub2xkX2Zwc19uLAorKyAgICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPndpZHRoLCBmZm1wZWdkZWMtPmNvbnRleHQtPmhlaWdodCwKKysgICAgICAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5zYW1wbGVfYXNwZWN0X3JhdGlvLm51bSwKKysgICAgICAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5zYW1wbGVfYXNwZWN0X3JhdGlvLmRlbiwKKysgICAgICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX24sIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmZwc19kKTsKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby53aWR0aCA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+d2lkdGg7CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uaGVpZ2h0ID0gZmZtcGVnZGVjLT5jb250ZXh0LT5oZWlnaHQ7CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ub2xkX2Zwc19uID0gZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX247CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ub2xkX2Zwc19kID0gZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX2Q7CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ucGl4X2ZtdCA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+cGl4X2ZtdDsKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5wYXJfbiA9CisrICAgICAgICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+c2FtcGxlX2FzcGVjdF9yYXRpby5udW07CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8ucGFyX2QgPQorKyAgICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNhbXBsZV9hc3BlY3RfcmF0aW8uZGVuOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKKysgICAgeworKyAgICAgIGdpbnQgZGVwdGggPSBhdl9zbXBfZm9ybWF0X2RlcHRoIChmZm1wZWdkZWMtPmNvbnRleHQtPnNhbXBsZV9mbXQpOworKyAgICAgIGlmICghZm9yY2UgJiYgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uc2FtcGxlcmF0ZSA9PQorKyAgICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNhbXBsZV9yYXRlICYmCisrICAgICAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LmF1ZGlvLmNoYW5uZWxzID09IGZmbXBlZ2RlYy0+Y29udGV4dC0+Y2hhbm5lbHMgJiYKKysgICAgICAgICAgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uZGVwdGggPT0gZGVwdGgpCisrICAgICAgICByZXR1cm4gVFJVRTsKKysgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAgICJSZW5lZ290aWF0aW5nIGF1ZGlvIGZyb20gJWRIekAlZGNoYW5uZWxzICglZCkgdG8gJWRIekAlZGNoYW5uZWxzICglZCkiLAorKyAgICAgICAgICBmZm1wZWdkZWMtPmZvcm1hdC5hdWRpby5zYW1wbGVyYXRlLCBmZm1wZWdkZWMtPmZvcm1hdC5hdWRpby5jaGFubmVscywKKysgICAgICAgICAgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uZGVwdGgsCisrICAgICAgICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+c2FtcGxlX3JhdGUsIGZmbXBlZ2RlYy0+Y29udGV4dC0+Y2hhbm5lbHMsIGRlcHRoKTsKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC5hdWRpby5zYW1wbGVyYXRlID0gZmZtcGVnZGVjLT5jb250ZXh0LT5zYW1wbGVfcmF0ZTsKKysgICAgICBmZm1wZWdkZWMtPmZvcm1hdC5hdWRpby5jaGFubmVscyA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+Y2hhbm5lbHM7CisrICAgICAgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uZGVwdGggPSBkZXB0aDsKKysgICAgfQorKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgY2FwcyA9IGdzdF9mZm1wZWdfY29kZWN0eXBlX3RvX2NhcHMgKG9jbGFzcy0+aW5fcGx1Z2luLT50eXBlLAorKyAgICAgIGZmbXBlZ2RlYy0+Y29udGV4dCwgb2NsYXNzLT5pbl9wbHVnaW4tPmlkLCBGQUxTRSk7CisrCisrICBpZiAoY2FwcyA9PSBOVUxMKQorKyAgICBnb3RvIG5vX2NhcHM7CisrCisrICBzd2l0Y2ggKG9jbGFzcy0+aW5fcGx1Z2luLT50eXBlKSB7CisrICAgIGNhc2UgQVZNRURJQV9UWVBFX1ZJREVPOgorKyAgICB7CisrICAgICAgZ2ludCB3aWR0aCwgaGVpZ2h0OworKyAgICAgIGdib29sZWFuIGludGVybGFjZWQ7CisrCisrICAgICAgd2lkdGggPSBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX3dpZHRoOworKyAgICAgIGhlaWdodCA9IGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmNsaXBfaGVpZ2h0OworKyAgICAgIGludGVybGFjZWQgPSBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5pbnRlcmxhY2VkOworKworKyAgICAgIGlmICh3aWR0aCAhPSAtMSAmJiBoZWlnaHQgIT0gLTEpIHsKKysgICAgICAgIC8qIG92ZXJ3cml0ZSB0aGUgb3V0cHV0IHNpemUgd2l0aCB0aGUgZGltZW5zaW9uIG9mIHRoZQorKyAgICAgICAgICogY2xpcHBpbmcgcmVnaW9uIGJ1dCBvbmx5IGlmIHRoZXkgYXJlIHNtYWxsZXIuICovCisrICAgICAgICBpZiAod2lkdGggPCBmZm1wZWdkZWMtPmNvbnRleHQtPndpZHRoKQorKyAgICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLCAid2lkdGgiLCBHX1RZUEVfSU5ULCB3aWR0aCwgTlVMTCk7CisrICAgICAgICBpZiAoaGVpZ2h0IDwgZmZtcGVnZGVjLT5jb250ZXh0LT5oZWlnaHQpCisrICAgICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUgKGNhcHMsICJoZWlnaHQiLCBHX1RZUEVfSU5ULCBoZWlnaHQsIE5VTEwpOworKyAgICAgIH0KKysgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLCAiaW50ZXJsYWNlZCIsIEdfVFlQRV9CT09MRUFOLCBpbnRlcmxhY2VkLAorKyAgICAgICAgICBOVUxMKTsKKysKKysgICAgICAvKiBJZiBhIGRlbXV4ZXIgcHJvdmlkZWQgYSBmcmFtZXJhdGUgdGhlbiB1c2UgaXQgKCMzMTM5NzApICovCisrICAgICAgaWYgKGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmZwc19uICE9IC0xKSB7CisrICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlIChjYXBzLCAiZnJhbWVyYXRlIiwKKysgICAgICAgICAgICBHU1RfVFlQRV9GUkFDVElPTiwgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX24sCisrICAgICAgICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX2QsIE5VTEwpOworKyAgICAgIH0KKysgICAgICBnc3RfZmZtcGVnZGVjX2FkZF9waXhlbF9hc3BlY3RfcmF0aW8gKGZmbXBlZ2RlYywKKysgICAgICAgICAgZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgMCkpOworKyAgICAgIGJyZWFrOworKyAgICB9CisrICAgIGNhc2UgQVZNRURJQV9UWVBFX0FVRElPOgorKyAgICB7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgZGVmYXVsdDoKKysgICAgICBicmVhazsKKysgIH0KKysKKysgIGlmICghZ3N0X3BhZF9zZXRfY2FwcyAoZmZtcGVnZGVjLT5zcmNwYWQsIGNhcHMpKQorKyAgICBnb3RvIGNhcHNfZmFpbGVkOworKworKyAgZ3N0X2NhcHNfdW5yZWYgKGNhcHMpOworKworKyAgcmV0dXJuIFRSVUU7CisrCisrICAvKiBFUlJPUlMgKi8KKytub19jYXBzOgorKyAgeworKyNpZmRlZiBIQVZFX0ZGTVBFR19VTklOU1RBTExFRAorKyAgICAvKiB1c2luZyBpbnRlcm5hbCBmZm1wZWcgc25hcHNob3QgKi8KKysgICAgR1NUX0VMRU1FTlRfRVJST1IgKGZmbXBlZ2RlYywgQ09SRSwgTkVHT1RJQVRJT04sCisrICAgICAgICAoIkNvdWxkIG5vdCBmaW5kIEdTdHJlYW1lciBjYXBzIG1hcHBpbmcgZm9yIEZGbXBlZyBjb2RlYyAnJXMnLiIsCisrICAgICAgICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPm5hbWUpLCAoTlVMTCkpOworKyNlbHNlCisrICAgIC8qIHVzaW5nIGV4dGVybmFsIGZmbXBlZyAqLworKyAgICBHU1RfRUxFTUVOVF9FUlJPUiAoZmZtcGVnZGVjLCBDT1JFLCBORUdPVElBVElPTiwKKysgICAgICAgICgiQ291bGQgbm90IGZpbmQgR1N0cmVhbWVyIGNhcHMgbWFwcGluZyBmb3IgRkZtcGVnIGNvZGVjICclcycsIGFuZCAiCisrICAgICAgICAgICAgInlvdSBhcmUgdXNpbmcgYW4gZXh0ZXJuYWwgbGliYXZjb2RlYy4gVGhpcyBpcyBtb3N0IGxpa2VseSBkdWUgdG8gIgorKyAgICAgICAgICAgICJhIHBhY2thZ2luZyBwcm9ibGVtIGFuZC9vciBsaWJhdmNvZGVjIGhhdmluZyBiZWVuIHVwZ3JhZGVkIHRvIGEgIgorKyAgICAgICAgICAgICJ2ZXJzaW9uIHRoYXQgaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0aGlzIHZlcnNpb24gb2YgIgorKyAgICAgICAgICAgICJnc3RyZWFtZXItZmZtcGVnLiBNYWtlIHN1cmUgeW91ciBnc3RyZWFtZXItZmZtcGVnIGFuZCBsaWJhdmNvZGVjICIKKysgICAgICAgICAgICAicGFja2FnZXMgY29tZSBmcm9tIHRoZSBzYW1lIHNvdXJjZS9yZXBvc2l0b3J5LiIsCisrICAgICAgICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPm5hbWUpLCAoTlVMTCkpOworKyNlbmRpZgorKyAgICByZXR1cm4gRkFMU0U7CisrICB9CisrY2Fwc19mYWlsZWQ6CisrICB7CisrICAgIEdTVF9FTEVNRU5UX0VSUk9SIChmZm1wZWdkZWMsIENPUkUsIE5FR09USUFUSU9OLCAoTlVMTCksCisrICAgICAgICAoIkNvdWxkIG5vdCBzZXQgY2FwcyBmb3IgZmZtcGVnIGRlY29kZXIgKCVzKSwgbm90IGZpeGVkPyIsCisrICAgICAgICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPm5hbWUpKTsKKysgICAgZ3N0X2NhcHNfdW5yZWYgKGNhcHMpOworKworKyAgICByZXR1cm4gRkFMU0U7CisrICB9CisrfQorKworKy8qIHBlcmZvcm0gcW9zIGNhbGN1bGF0aW9ucyBiZWZvcmUgZGVjb2RpbmcgdGhlIG5leHQgZnJhbWUuCisrICoKKysgKiBTZXRzIHRoZSBza2lwX2ZyYW1lIGZsYWcgYW5kIGlmIHRoaW5ncyBhcmUgcmVhbGx5IGJhZCwgc2tpcHMgdG8gdGhlIG5leHQKKysgKiBrZXlmcmFtZS4KKysgKiAKKysgKiBSZXR1cm5zIFRSVUUgaWYgdGhlIGZyYW1lIHNob3VsZCBiZSBkZWNvZGVkLCBGQUxTRSBpZiB0aGUgZnJhbWUgY2FuIGJlIGRyb3BwZWQKKysgKiBlbnRpcmVseS4KKysgKi8KKytzdGF0aWMgZ2Jvb2xlYW4KKytnc3RfZmZtcGVnZGVjX2RvX3FvcyAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjLCBHc3RDbG9ja1RpbWUgdGltZXN0YW1wLAorKyAgICBnYm9vbGVhbiAqIG1vZGVfc3dpdGNoKQorK3sKKysgIEdzdENsb2NrVGltZURpZmYgZGlmZjsKKysgIGdkb3VibGUgcHJvcG9ydGlvbjsKKysgIEdzdENsb2NrVGltZSBxb3N0aW1lLCBlYXJsaWVzdF90aW1lOworKyAgZ2Jvb2xlYW4gcmVzID0gVFJVRTsKKysKKysgICptb2RlX3N3aXRjaCA9IEZBTFNFOworKworKyAgLyogbm8gdGltZXN0YW1wLCBjYW4ndCBkbyBRb1MgKi8KKysgIGlmIChHX1VOTElLRUxZICghR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKHRpbWVzdGFtcCkpKQorKyAgICBnb3RvIG5vX3FvczsKKysKKysgIC8qIGdldCBsYXRlc3QgUW9TIG9ic2VydmF0aW9uIHZhbHVlcyAqLworKyAgZ3N0X2ZmbXBlZ2RlY19yZWFkX3FvcyAoZmZtcGVnZGVjLCAmcHJvcG9ydGlvbiwgJmVhcmxpZXN0X3RpbWUpOworKworKyAgLyogc2tpcCBxb3MgaWYgd2UgaGF2ZSBubyBvYnNlcnZhdGlvbiAoeWV0KSAqLworKyAgaWYgKEdfVU5MSUtFTFkgKCFHU1RfQ0xPQ0tfVElNRV9JU19WQUxJRCAoZWFybGllc3RfdGltZSkpKSB7CisrICAgIC8qIG5vIHNraXBfZnJhbWUgaW5pdGlhbHkgKi8KKysgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5za2lwX2ZyYW1lID0gQVZESVNDQVJEX0RFRkFVTFQ7CisrICAgIGdvdG8gbm9fcW9zOworKyAgfQorKworKyAgLyogcW9zIGlzIGRvbmUgb24gcnVubmluZyB0aW1lIG9mIHRoZSB0aW1lc3RhbXAgKi8KKysgIHFvc3RpbWUgPSBnc3Rfc2VnbWVudF90b19ydW5uaW5nX3RpbWUgKCZmZm1wZWdkZWMtPnNlZ21lbnQsIEdTVF9GT1JNQVRfVElNRSwKKysgICAgICB0aW1lc3RhbXApOworKworKyAgLyogdGltZXN0YW1wIGNhbiBiZSBvdXQgb2Ygc2VnbWVudCwgdGhlbiB3ZSBkb24ndCBkbyBRb1MgKi8KKysgIGlmIChHX1VOTElLRUxZICghR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKHFvc3RpbWUpKSkKKysgICAgZ290byBub19xb3M7CisrCisrICAvKiBzZWUgaG93IG91ciBuZXh0IHRpbWVzdGFtcCByZWxhdGVzIHRvIHRoZSBsYXRlc3QgcW9zIHRpbWVzdGFtcC4gbmVnYXRpdmUKKysgICAqIHZhbHVlcyBtZWFuIHdlIGFyZSBlYXJseSwgcG9zaXRpdmUgdmFsdWVzIG1lYW4gd2UgYXJlIHRvbyBsYXRlLiAqLworKyAgZGlmZiA9IEdTVF9DTE9DS19ESUZGIChxb3N0aW1lLCBlYXJsaWVzdF90aW1lKTsKKysKKysgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgIlFPUzogcW9zdGltZSAlIiBHU1RfVElNRV9GT1JNQVQKKysgICAgICAiLCBlYXJsaWVzdCAlIiBHU1RfVElNRV9GT1JNQVQsIEdTVF9USU1FX0FSR1MgKHFvc3RpbWUpLAorKyAgICAgIEdTVF9USU1FX0FSR1MgKGVhcmxpZXN0X3RpbWUpKTsKKysKKysgIC8qIGlmIHdlIHVzaW5nIGxlc3MgdGhhbiA0MCUgb2YgdGhlIGF2YWlsYWJsZSB0aW1lLCB3ZSBjYW4gdHJ5IHRvCisrICAgKiBzcGVlZCB1cCBhZ2FpbiB3aGVuIHdlIHdlcmUgc2xvdy4gKi8KKysgIGlmIChwcm9wb3J0aW9uIDwgMC40ICYmIGRpZmYgPCAwKSB7CisrICAgIGdvdG8gbm9ybWFsX21vZGU7CisrICB9IGVsc2UgeworKyAgICBpZiAoZGlmZiA+PSAwKSB7CisrICAgICAgLyogd2UncmUgdG9vIHNsb3csIHRyeSB0byBzcGVlZCB1cCAqLworKyAgICAgIC8qIHN3aXRjaCB0byBza2lwX2ZyYW1lIG1vZGUgKi8KKysgICAgICBnb3RvIHNraXBfZnJhbWU7CisrICAgIH0KKysgIH0KKysKKytub19xb3M6CisrICBmZm1wZWdkZWMtPnByb2Nlc3NlZCsrOworKyAgcmV0dXJuIFRSVUU7CisrCisrbm9ybWFsX21vZGU6CisrICB7CisrICAgIGlmIChmZm1wZWdkZWMtPmNvbnRleHQtPnNraXBfZnJhbWUgIT0gQVZESVNDQVJEX0RFRkFVTFQpIHsKKysgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNraXBfZnJhbWUgPSBBVkRJU0NBUkRfREVGQVVMVDsKKysgICAgICAqbW9kZV9zd2l0Y2ggPSBUUlVFOworKyAgICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgIlFPUzogbm9ybWFsIG1vZGUgJWcgPCAwLjQiLCBwcm9wb3J0aW9uKTsKKysgICAgfQorKyAgICBmZm1wZWdkZWMtPnByb2Nlc3NlZCsrOworKyAgICByZXR1cm4gVFJVRTsKKysgIH0KKytza2lwX2ZyYW1lOgorKyAgeworKyAgICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0LT5za2lwX2ZyYW1lICE9IEFWRElTQ0FSRF9OT05SRUYpIHsKKysgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNraXBfZnJhbWUgPSBBVkRJU0NBUkRfTk9OUkVGOworKyAgICAgICptb2RlX3N3aXRjaCA9IFRSVUU7CisrICAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgICAiUU9TOiBodXJyeSB1cCwgZGlmZiAlIiBHX0dJTlQ2NF9GT1JNQVQgIiA+PSAwIiwgZGlmZik7CisrICAgIH0KKysgICAgZ290byBkcm9wX3FvczsKKysgIH0KKytkcm9wX3FvczoKKysgIHsKKysgICAgR3N0Q2xvY2tUaW1lIHN0cmVhbV90aW1lLCBqaXR0ZXI7CisrICAgIEdzdE1lc3NhZ2UgKnFvc19tc2c7CisrCisrICAgIGZmbXBlZ2RlYy0+ZHJvcHBlZCsrOworKyAgICBzdHJlYW1fdGltZSA9CisrICAgICAgICBnc3Rfc2VnbWVudF90b19zdHJlYW1fdGltZSAoJmZmbXBlZ2RlYy0+c2VnbWVudCwgR1NUX0ZPUk1BVF9USU1FLAorKyAgICAgICAgdGltZXN0YW1wKTsKKysgICAgaml0dGVyID0gR1NUX0NMT0NLX0RJRkYgKHFvc3RpbWUsIGVhcmxpZXN0X3RpbWUpOworKyAgICBxb3NfbXNnID0KKysgICAgICAgIGdzdF9tZXNzYWdlX25ld19xb3MgKEdTVF9PQkpFQ1RfQ0FTVCAoZmZtcGVnZGVjKSwgRkFMU0UsIHFvc3RpbWUsCisrICAgICAgICBzdHJlYW1fdGltZSwgdGltZXN0YW1wLCBHU1RfQ0xPQ0tfVElNRV9OT05FKTsKKysgICAgZ3N0X21lc3NhZ2Vfc2V0X3Fvc192YWx1ZXMgKHFvc19tc2csIGppdHRlciwgcHJvcG9ydGlvbiwgMTAwMDAwMCk7CisrICAgIGdzdF9tZXNzYWdlX3NldF9xb3Nfc3RhdHMgKHFvc19tc2csIEdTVF9GT1JNQVRfQlVGRkVSUywKKysgICAgICAgIGZmbXBlZ2RlYy0+cHJvY2Vzc2VkLCBmZm1wZWdkZWMtPmRyb3BwZWQpOworKyAgICBnc3RfZWxlbWVudF9wb3N0X21lc3NhZ2UgKEdTVF9FTEVNRU5UX0NBU1QgKGZmbXBlZ2RlYyksIHFvc19tc2cpOworKworKyAgICByZXR1cm4gcmVzOworKyAgfQorK30KKysKKysvKiByZXR1cm5zIFRSVUUgaWYgYnVmZmVyIGlzIHdpdGhpbiBzZWdtZW50LCBlbHNlIEZBTFNFLgorKyAqIGlmIEJ1ZmZlciBpcyBvbiBzZWdtZW50IGJvcmRlciwgaXQncyB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uIHdpbGwgYmUgY2xpcHBlZCAqLworK3N0YXRpYyBnYm9vbGVhbgorK2NsaXBfdmlkZW9fYnVmZmVyIChHc3RGRk1wZWdEZWMgKiBkZWMsIEdzdEJ1ZmZlciAqIGJ1ZiwgR3N0Q2xvY2tUaW1lIGluX3RzLAorKyAgICBHc3RDbG9ja1RpbWUgaW5fZHVyKQorK3sKKysgIGdib29sZWFuIHJlcyA9IFRSVUU7CisrICBnaW50NjQgY3N0YXJ0LCBjc3RvcDsKKysgIEdzdENsb2NrVGltZSBzdG9wOworKworKyAgR1NUX0xPR19PQkpFQ1QgKGRlYywKKysgICAgICAidGltZXN0YW1wOiUiIEdTVF9USU1FX0ZPUk1BVCAiICwgZHVyYXRpb246JSIgR1NUX1RJTUVfRk9STUFULAorKyAgICAgIEdTVF9USU1FX0FSR1MgKGluX3RzKSwgR1NUX1RJTUVfQVJHUyAoaW5fZHVyKSk7CisrCisrICAvKiBjYW4ndCBjbGlwIHdpdGhvdXQgVElNRSBzZWdtZW50ICovCisrICBpZiAoR19VTkxJS0VMWSAoZGVjLT5zZWdtZW50LmZvcm1hdCAhPSBHU1RfRk9STUFUX1RJTUUpKQorKyAgICBnb3RvIGJlYWNoOworKworKyAgLyogd2UgbmVlZCBhIHN0YXJ0IHRpbWUgKi8KKysgIGlmIChHX1VOTElLRUxZICghR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKGluX3RzKSkpCisrICAgIGdvdG8gYmVhY2g7CisrCisrICAvKiBnZW5lcmF0ZSB2YWxpZCBzdG9wLCBpZiBkdXJhdGlvbiB1bmtub3duLCB3ZSBoYXZlIHVua25vd24gc3RvcCAqLworKyAgc3RvcCA9CisrICAgICAgR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKGluX2R1cikgPyAoaW5fdHMgKyBpbl9kdXIpIDogR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysKKysgIC8qIG5vdyBjbGlwICovCisrICByZXMgPQorKyAgICAgIGdzdF9zZWdtZW50X2NsaXAgKCZkZWMtPnNlZ21lbnQsIEdTVF9GT1JNQVRfVElNRSwgaW5fdHMsIHN0b3AsICZjc3RhcnQsCisrICAgICAgJmNzdG9wKTsKKysgIGlmIChHX1VOTElLRUxZICghcmVzKSkKKysgICAgZ290byBiZWFjaDsKKysKKysgIC8qIHdlJ3JlIHByZXR0eSBzdXJlIHRoZSBkdXJhdGlvbiBvZiB0aGlzIGJ1ZmZlciBpcyBub3QgdGlsbCB0aGUgZW5kIG9mIHRoaXMKKysgICAqIHNlZ21lbnQgKHdoaWNoIF9jbGlwIHdpbGwgYXNzdW1lIHdoZW4gdGhlIHN0b3AgaXMgLTEpICovCisrICBpZiAoc3RvcCA9PSBHU1RfQ0xPQ0tfVElNRV9OT05FKQorKyAgICBjc3RvcCA9IEdTVF9DTE9DS19USU1FX05PTkU7CisrCisrICAvKiB1cGRhdGUgdGltZXN0YW1wIGFuZCBwb3NzaWJseSBkdXJhdGlvbiBpZiB0aGUgY2xpcHBlZCBzdG9wIHRpbWUgaXMKKysgICAqIHZhbGlkICovCisrICBHU1RfQlVGRkVSX1RJTUVTVEFNUCAoYnVmKSA9IGNzdGFydDsKKysgIGlmIChHU1RfQ0xPQ0tfVElNRV9JU19WQUxJRCAoY3N0b3ApKQorKyAgICBHU1RfQlVGRkVSX0RVUkFUSU9OIChidWYpID0gY3N0b3AgLSBjc3RhcnQ7CisrCisrICBHU1RfTE9HX09CSkVDVCAoZGVjLAorKyAgICAgICJjbGlwcGVkIHRpbWVzdGFtcDolIiBHU1RfVElNRV9GT1JNQVQgIiAsIGR1cmF0aW9uOiUiIEdTVF9USU1FX0ZPUk1BVCwKKysgICAgICBHU1RfVElNRV9BUkdTIChjc3RhcnQpLCBHU1RfVElNRV9BUkdTIChHU1RfQlVGRkVSX0RVUkFUSU9OIChidWYpKSk7CisrCisrYmVhY2g6CisrICBHU1RfTE9HX09CSkVDVCAoZGVjLCAiJXNkcm9wcGluZyIsIChyZXMgPyAibm90ICIgOiAiIikpOworKyAgcmV0dXJuIHJlczsKKyt9CisrCisrCisrLyogZ2V0IGFuIG91dGJ1ZiBidWZmZXIgd2l0aCB0aGUgY3VycmVudCBwaWN0dXJlICovCisrc3RhdGljIEdzdEZsb3dSZXR1cm4KKytnZXRfb3V0cHV0X2J1ZmZlciAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjLCBHc3RCdWZmZXIgKiogb3V0YnVmKQorK3sKKysgIEdzdEZsb3dSZXR1cm4gcmV0OworKworKyAgcmV0ID0gR1NUX0ZMT1dfT0s7CisrICAqb3V0YnVmID0gTlVMTDsKKysKKysgIGlmIChmZm1wZWdkZWMtPnBpY3R1cmUtPm9wYXF1ZSAhPSBOVUxMKSB7CisrICAgIC8qIHdlIGFsbG9jYXRlZCBhIHBpY3R1cmUgYWxyZWFkeSBmb3IgZmZtcGVnIHRvIGRlY29kZSBpbnRvLCBsZXQncyBwaWNrIGl0CisrICAgICAqIHVwIGFuZCB1c2UgaXQgbm93LiAqLworKyAgICAqb3V0YnVmID0gKEdzdEJ1ZmZlciAqKSBmZm1wZWdkZWMtPnBpY3R1cmUtPm9wYXF1ZTsKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgInVzaW5nIG9wYXF1ZSBidWZmZXIgJXAiLCAqb3V0YnVmKTsKKysjaWZuZGVmIEVYVFJBX1JFRgorKyAgICBnc3RfYnVmZmVyX3JlZiAoKm91dGJ1Zik7CisrI2VuZGlmCisrICB9IGVsc2UgeworKyAgICBBVlBpY3R1cmUgcGljLCAqb3V0cGljOworKyAgICBnaW50IHdpZHRoLCBoZWlnaHQ7CisrCisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJnZXQgb3V0cHV0IGJ1ZmZlciIpOworKworKyAgICAvKiBmaWd1cmUgb3V0IHNpemUgb2Ygb3V0cHV0IGJ1ZmZlciwgdGhpcyBpcyB0aGUgY2xpcHBlZCBvdXRwdXQgc2l6ZSBiZWNhdXNlCisrICAgICAqIHdlIHdpbGwgY29weSB0aGUgcGljdHVyZSBpbnRvIGl0IGJ1dCBvbmx5IHdoZW4gdGhlIGNsaXBwaW5nIHJlZ2lvbiBpcworKyAgICAgKiBzbWFsbGVyIHRoYW4gdGhlIGFjdHVhbCBwaWN0dXJlIHNpemUuICovCisrICAgIGlmICgod2lkdGggPSBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5jbGlwX3dpZHRoKSA9PSAtMSkKKysgICAgICB3aWR0aCA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+d2lkdGg7CisrICAgIGVsc2UgaWYgKHdpZHRoID4gZmZtcGVnZGVjLT5jb250ZXh0LT53aWR0aCkKKysgICAgICB3aWR0aCA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+d2lkdGg7CisrCisrICAgIGlmICgoaGVpZ2h0ID0gZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uY2xpcF9oZWlnaHQpID09IC0xKQorKyAgICAgIGhlaWdodCA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+aGVpZ2h0OworKyAgICBlbHNlIGlmIChoZWlnaHQgPiBmZm1wZWdkZWMtPmNvbnRleHQtPmhlaWdodCkKKysgICAgICBoZWlnaHQgPSBmZm1wZWdkZWMtPmNvbnRleHQtPmhlaWdodDsKKysKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImNsaXAgd2lkdGggJWQvaGVpZ2h0ICVkIiwgd2lkdGgsIGhlaWdodCk7CisrCisrICAgIHJldCA9IGFsbG9jX291dHB1dF9idWZmZXIgKGZmbXBlZ2RlYywgb3V0YnVmLCB3aWR0aCwgaGVpZ2h0KTsKKysgICAgaWYgKEdfVU5MSUtFTFkgKHJldCAhPSBHU1RfRkxPV19PSykpCisrICAgICAgZ290byBhbGxvY19mYWlsZWQ7CisrCisrICAgIC8qIG9yaWdpbmFsIGZmbXBlZyBjb2RlIGRvZXMgbm90IGhhbmRsZSBvZGQgc2l6ZXMgY29ycmVjdGx5LgorKyAgICAgKiBUaGlzIHBhdGNoZWQgdXAgdmVyc2lvbiBkb2VzICovCisrICAgIGdzdF9mZm1wZWdfYXZwaWN0dXJlX2ZpbGwgKCZwaWMsIEdTVF9CVUZGRVJfREFUQSAoKm91dGJ1ZiksCisrICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnBpeF9mbXQsIHdpZHRoLCBoZWlnaHQpOworKworKyAgICBvdXRwaWMgPSAoQVZQaWN0dXJlICopIGZmbXBlZ2RlYy0+cGljdHVyZTsKKysKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImxpbnNpemUgJWQgJWQgJWQiLCBvdXRwaWMtPmxpbmVzaXplWzBdLAorKyAgICAgICAgb3V0cGljLT5saW5lc2l6ZVsxXSwgb3V0cGljLT5saW5lc2l6ZVsyXSk7CisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJkYXRhICV1ICV1ICV1IiwgMCwKKysgICAgICAgIChndWludCkgKG91dHBpYy0+ZGF0YVsxXSAtIG91dHBpYy0+ZGF0YVswXSksCisrICAgICAgICAoZ3VpbnQpIChvdXRwaWMtPmRhdGFbMl0gLSBvdXRwaWMtPmRhdGFbMF0pKTsKKysKKysgICAgYXZfcGljdHVyZV9jb3B5ICgmcGljLCBvdXRwaWMsIGZmbXBlZ2RlYy0+Y29udGV4dC0+cGl4X2ZtdCwgd2lkdGgsIGhlaWdodCk7CisrICB9CisrICBmZm1wZWdkZWMtPnBpY3R1cmUtPnJlb3JkZXJlZF9vcGFxdWUgPSAtMTsKKysKKysgIHJldHVybiByZXQ7CisrCisrICAvKiBzcGVjaWFsIGNhc2VzICovCisrYWxsb2NfZmFpbGVkOgorKyAgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJwYWRfYWxsb2MgZmFpbGVkIik7CisrICAgIHJldHVybiByZXQ7CisrICB9CisrfQorKworK3N0YXRpYyB2b2lkCisrY2xlYXJfcXVldWVkIChHc3RGRk1wZWdEZWMgKiBmZm1wZWdkZWMpCisreworKyAgZ19saXN0X2ZvcmVhY2ggKGZmbXBlZ2RlYy0+cXVldWVkLCAoR0Z1bmMpIGdzdF9taW5pX29iamVjdF91bnJlZiwgTlVMTCk7CisrICBnX2xpc3RfZnJlZSAoZmZtcGVnZGVjLT5xdWV1ZWQpOworKyAgZmZtcGVnZGVjLT5xdWV1ZWQgPSBOVUxMOworK30KKysKKytzdGF0aWMgR3N0Rmxvd1JldHVybgorK2ZsdXNoX3F1ZXVlZCAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjKQorK3sKKysgIEdzdEZsb3dSZXR1cm4gcmVzID0gR1NUX0ZMT1dfT0s7CisrCisrICB3aGlsZSAoZmZtcGVnZGVjLT5xdWV1ZWQpIHsKKysgICAgR3N0QnVmZmVyICpidWYgPSBHU1RfQlVGRkVSX0NBU1QgKGZmbXBlZ2RlYy0+cXVldWVkLT5kYXRhKTsKKysKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgInB1c2hpbmcgYnVmZmVyICVwLCBvZmZzZXQgJSIKKysgICAgICAgIEdfR1VJTlQ2NF9GT1JNQVQgIiwgdGltZXN0YW1wICUiCisrICAgICAgICBHU1RfVElNRV9GT1JNQVQgIiwgZHVyYXRpb24gJSIgR1NUX1RJTUVfRk9STUFULCBidWYsCisrICAgICAgICBHU1RfQlVGRkVSX09GRlNFVCAoYnVmKSwKKysgICAgICAgIEdTVF9USU1FX0FSR1MgKEdTVF9CVUZGRVJfVElNRVNUQU1QIChidWYpKSwKKysgICAgICAgIEdTVF9USU1FX0FSR1MgKEdTVF9CVUZGRVJfRFVSQVRJT04gKGJ1ZikpKTsKKysKKysgICAgLyogaXRlcmF0ZSBvdXB1dCBxdWV1ZSBhbiBwdXNoIGRvd25zdHJlYW0gKi8KKysgICAgcmVzID0gZ3N0X3BhZF9wdXNoIChmZm1wZWdkZWMtPnNyY3BhZCwgYnVmKTsKKysKKysgICAgZmZtcGVnZGVjLT5xdWV1ZWQgPQorKyAgICAgICAgZ19saXN0X2RlbGV0ZV9saW5rIChmZm1wZWdkZWMtPnF1ZXVlZCwgZmZtcGVnZGVjLT5xdWV1ZWQpOworKyAgfQorKyAgcmV0dXJuIHJlczsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfYXZwYWNrZXRfaW5pdCAoQVZQYWNrZXQgKiBwYWNrZXQsIGd1aW50OCAqIGRhdGEsIGd1aW50IHNpemUpCisreworKyAgbWVtc2V0IChwYWNrZXQsIDAsIHNpemVvZiAoQVZQYWNrZXQpKTsKKysgIHBhY2tldC0+ZGF0YSA9IGRhdGE7CisrICBwYWNrZXQtPnNpemUgPSBzaXplOworK30KKysKKysvKiBnc3RfZmZtcGVnZGVjX1t2aWRlb3xhdWRpb11fZnJhbWU6CisrICogZmZtcGVnZGVjOgorKyAqIGRhdGE6IHBvaW50ZXIgdG8gdGhlIGRhdGEgdG8gZGVjb2RlCisrICogc2l6ZTogc2l6ZSBvZiBkYXRhIGluIGJ5dGVzCisrICogaW5fdGltZXN0YW1wOiBpbmNvbWluZyB0aW1lc3RhbXAuCisrICogaW5fZHVyYXRpb246IGluY29taW5nIGR1cmF0aW9uLgorKyAqIGluX29mZnNldDogaW5jb21pbmcgb2Zmc2V0IChmcmFtZSBudW1iZXIpLgorKyAqIG91dGJ1Zjogb3V0Z29pbmcgYnVmZmVyLiBEaWZmZXJlbnQgZnJvbSBOVUxMIE9OTFkgaWYgaXQgY29udGFpbnMgZGVjb2RlZCBkYXRhLgorKyAqIHJldDogUmV0dXJuIGZsb3cuCisrICoKKysgKiBSZXR1cm5zOiBudW1iZXIgb2YgYnl0ZXMgdXNlZCBpbiBkZWNvZGluZy4gVGhlIGNoZWNrIGZvciBzdWNjZXNzZnVsIGRlY29kZSBpcworKyAqICAgb3V0YnVmIGJlaW5nIG5vbi1OVUxMLgorKyAqLworK3N0YXRpYyBnaW50CisrZ3N0X2ZmbXBlZ2RlY192aWRlb19mcmFtZSAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjLAorKyAgICBndWludDggKiBkYXRhLCBndWludCBzaXplLAorKyAgICBjb25zdCBHc3RUU0luZm8gKiBkZWNfaW5mbywgR3N0QnVmZmVyICoqIG91dGJ1ZiwgR3N0Rmxvd1JldHVybiAqIHJldCkKKyt7CisrICBnaW50IGxlbiA9IC0xOworKyAgZ2ludCBoYXZlX2RhdGE7CisrICBnYm9vbGVhbiBtb2RlX3N3aXRjaDsKKysgIGdib29sZWFuIGRlY29kZTsKKysgIGdpbnQgc2tpcF9mcmFtZSA9IEFWRElTQ0FSRF9ERUZBVUxUOworKyAgR3N0Q2xvY2tUaW1lIG91dF90aW1lc3RhbXAsIG91dF9kdXJhdGlvbiwgb3V0X3B0czsKKysgIGdpbnQ2NCBvdXRfb2Zmc2V0OworKyAgY29uc3QgR3N0VFNJbmZvICpvdXRfaW5mbzsKKysgIEFWUGFja2V0IHBhY2tldDsKKysKKysgICpyZXQgPSBHU1RfRkxPV19PSzsKKysgICpvdXRidWYgPSBOVUxMOworKworKyAgZmZtcGVnZGVjLT5jb250ZXh0LT5vcGFxdWUgPSBmZm1wZWdkZWM7CisrCisrICAvKiBpbiBjYXNlIHdlIHNraXAgZnJhbWVzICovCisrICBmZm1wZWdkZWMtPnBpY3R1cmUtPnBpY3RfdHlwZSA9IC0xOworKworKyAgLyogcnVuIFFvUyBjb2RlLCB3ZSBkb24ndCBzdG9wIGRlY29kaW5nIHRoZSBmcmFtZSB3aGVuIHdlIGFyZSBsYXRlIGJlY2F1c2UKKysgICAqIGVsc2Ugd2UgbWlnaHQgc2tpcCBhIHJlZmVyZW5jZSBmcmFtZSAqLworKyAgZGVjb2RlID0gZ3N0X2ZmbXBlZ2RlY19kb19xb3MgKGZmbXBlZ2RlYywgZGVjX2luZm8tPnRpbWVzdGFtcCwgJm1vZGVfc3dpdGNoKTsKKysKKysgIGlmIChmZm1wZWdkZWMtPmlzX3JlYWx2aWRlbyAmJiBkYXRhICE9IE5VTEwpIHsKKysgICAgZ2ludCBzbGljZV9jb3VudDsKKysgICAgZ2ludCBpOworKworKyAgICAvKiBzZXR1cCB0aGUgc2xpY2UgdGFibGUgZm9yIHJlYWx2aWRlbyAqLworKyAgICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0LT5zbGljZV9vZmZzZXQgPT0gTlVMTCkKKysgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNsaWNlX29mZnNldCA9IGdfbWFsbG9jIChzaXplb2YgKGd1aW50MzIpICogMTAwMCk7CisrCisrICAgIHNsaWNlX2NvdW50ID0gKCpkYXRhKyspICsgMTsKKysgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5zbGljZV9jb3VudCA9IHNsaWNlX2NvdW50OworKworKyAgICBmb3IgKGkgPSAwOyBpIDwgc2xpY2VfY291bnQ7IGkrKykgeworKyAgICAgIGRhdGEgKz0gNDsKKysgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnNsaWNlX29mZnNldFtpXSA9IEdTVF9SRUFEX1VJTlQzMl9MRSAoZGF0YSk7CisrICAgICAgZGF0YSArPSA0OworKyAgICB9CisrICB9CisrCisrICBpZiAoIWRlY29kZSkgeworKyAgICAvKiBubyBkZWNvZGluZyBuZWVkZWQsIHNhdmUgcHJldmlvdXMgc2tpcF9mcmFtZSB2YWx1ZSBhbmQgYnJ1dGVseSBza2lwCisrICAgICAqIGRlY29kaW5nIGV2ZXJ5dGhpbmcgKi8KKysgICAgc2tpcF9mcmFtZSA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+c2tpcF9mcmFtZTsKKysgICAgZmZtcGVnZGVjLT5jb250ZXh0LT5za2lwX2ZyYW1lID0gQVZESVNDQVJEX05PTlJFRjsKKysgIH0KKysKKysgIC8qIHNhdmUgcmVmZXJlbmNlIHRvIHRoZSB0aW1pbmcgaW5mbyAqLworKyAgZmZtcGVnZGVjLT5jb250ZXh0LT5yZW9yZGVyZWRfb3BhcXVlID0gKGdpbnQ2NCkgZGVjX2luZm8tPmlkeDsKKysgIGZmbXBlZ2RlYy0+cGljdHVyZS0+cmVvcmRlcmVkX29wYXF1ZSA9IChnaW50NjQpIGRlY19pbmZvLT5pZHg7CisrCisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJzdG9yZWQgb3BhcXVlIHZhbHVlcyBpZHggJWQiLCBkZWNfaW5mby0+aWR4KTsKKysKKysgIC8qIG5vdyBkZWNvZGUgdGhlIGZyYW1lICovCisrICBnc3RfYXZwYWNrZXRfaW5pdCAoJnBhY2tldCwgZGF0YSwgc2l6ZSk7CisrICBsZW4gPSBhdmNvZGVjX2RlY29kZV92aWRlbzIgKGZmbXBlZ2RlYy0+Y29udGV4dCwKKysgICAgICBmZm1wZWdkZWMtPnBpY3R1cmUsICZoYXZlX2RhdGEsICZwYWNrZXQpOworKworKyAgLyogcmVzdG9yZSBwcmV2aW91cyBzdGF0ZSAqLworKyAgaWYgKCFkZWNvZGUpCisrICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+c2tpcF9mcmFtZSA9IHNraXBfZnJhbWU7CisrCisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJhZnRlciBkZWNvZGU6IGxlbiAlZCwgaGF2ZV9kYXRhICVkIiwKKysgICAgICBsZW4sIGhhdmVfZGF0YSk7CisrCisrICAvKiB3aGVuIHdlIGFyZSBpbiBza2lwX2ZyYW1lIG1vZGUsIGRvbid0IGNvbXBsYWluIHdoZW4gZmZtcGVnIHJldHVybmVkCisrICAgKiBubyBkYXRhIGJlY2F1c2Ugd2UgdG9sZCBpdCB0byBza2lwIHN0dWZmLiAqLworKyAgaWYgKGxlbiA8IDAgJiYgKG1vZGVfc3dpdGNoIHx8IGZmbXBlZ2RlYy0+Y29udGV4dC0+c2tpcF9mcmFtZSkpCisrICAgIGxlbiA9IDA7CisrCisrICBpZiAobGVuID4gMCAmJiBoYXZlX2RhdGEgPD0gMCAmJiAobW9kZV9zd2l0Y2gKKysgICAgICAgICAgfHwgZmZtcGVnZGVjLT5jb250ZXh0LT5za2lwX2ZyYW1lKSkgeworKyAgICAvKiB3ZSBjb25zdW1lZCBzb21lIGJ5dGVzIGJ1dCBub3RoaW5nIGRlY29kZWQgYW5kIHdlIGFyZSBza2lwcGluZyBmcmFtZXMsCisrICAgICAqIGRpc2FibGUgdGhlIGludGVycG9sbGF0aW9uIG9mIERUUyB0aW1lc3RhbXBzICovCisrICAgIGZmbXBlZ2RlYy0+bGFzdF9vdXQgPSAtMTsKKysgIH0KKysKKysgIC8qIG5vIGRhdGEsIHdlJ3JlIGRvbmUgKi8KKysgIGlmIChsZW4gPCAwIHx8IGhhdmVfZGF0YSA8PSAwKQorKyAgICBnb3RvIGJlYWNoOworKworKyAgLyogZ2V0IHRoZSBvdXRwdXQgcGljdHVyZSB0aW1pbmcgaW5mbyBhZ2FpbiAqLworKyAgb3V0X2luZm8gPSBnc3RfdHNfaW5mb19nZXQgKGZmbXBlZ2RlYywgZmZtcGVnZGVjLT5waWN0dXJlLT5yZW9yZGVyZWRfb3BhcXVlKTsKKysgIG91dF9wdHMgPSBvdXRfaW5mby0+dGltZXN0YW1wOworKyAgb3V0X2R1cmF0aW9uID0gb3V0X2luZm8tPmR1cmF0aW9uOworKyAgb3V0X29mZnNldCA9IG91dF9pbmZvLT5vZmZzZXQ7CisrCisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgInB0cyAlIiBHX0dVSU5UNjRfRk9STUFUICIgZHVyYXRpb24gJSIgR19HVUlOVDY0X0ZPUk1BVCAiIG9mZnNldCAlIgorKyAgICAgIEdfR0lOVDY0X0ZPUk1BVCwgb3V0X3B0cywgb3V0X2R1cmF0aW9uLCBvdXRfb2Zmc2V0KTsKKysgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInBpY3R1cmU6IHB0cyAlIiBHX0dVSU5UNjRfRk9STUFULAorKyAgICAgIChndWludDY0KSBmZm1wZWdkZWMtPnBpY3R1cmUtPnB0cyk7CisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJwaWN0dXJlOiBudW0gJWQiLAorKyAgICAgIGZmbXBlZ2RlYy0+cGljdHVyZS0+Y29kZWRfcGljdHVyZV9udW1iZXIpOworKyAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAicGljdHVyZTogcmVmICVkIiwKKysgICAgICBmZm1wZWdkZWMtPnBpY3R1cmUtPnJlZmVyZW5jZSk7CisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJwaWN0dXJlOiBkaXNwbGF5ICVkIiwKKysgICAgICBmZm1wZWdkZWMtPnBpY3R1cmUtPmRpc3BsYXlfcGljdHVyZV9udW1iZXIpOworKyAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAicGljdHVyZTogb3BhcXVlICVwIiwKKysgICAgICBmZm1wZWdkZWMtPnBpY3R1cmUtPm9wYXF1ZSk7CisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJwaWN0dXJlOiByZW9yZGVyZWQgb3BhcXVlICUiIEdfR1VJTlQ2NF9GT1JNQVQsCisrICAgICAgKGd1aW50NjQpIGZmbXBlZ2RlYy0+cGljdHVyZS0+cmVvcmRlcmVkX29wYXF1ZSk7CisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJyZXBlYXRfcGljdDolZCIsCisrICAgICAgZmZtcGVnZGVjLT5waWN0dXJlLT5yZXBlYXRfcGljdCk7CisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJpbnRlcmxhY2VkX2ZyYW1lOiVkIiwKKysgICAgICBmZm1wZWdkZWMtPnBpY3R1cmUtPmludGVybGFjZWRfZnJhbWUpOworKworKyAgaWYgKEdfVU5MSUtFTFkgKGZmbXBlZ2RlYy0+cGljdHVyZS0+aW50ZXJsYWNlZF9mcmFtZSAhPQorKyAgICAgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5pbnRlcmxhY2VkKSkgeworKyAgICBHU1RfV0FSTklORyAoIkNoYW5nZSBpbiBpbnRlcmxhY2luZyAhIHBpY3R1cmU6JWQsIHJlY29yZGVkOiVkIiwKKysgICAgICAgIGZmbXBlZ2RlYy0+cGljdHVyZS0+aW50ZXJsYWNlZF9mcmFtZSwKKysgICAgICAgIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmludGVybGFjZWQpOworKyAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5pbnRlcmxhY2VkID0gZmZtcGVnZGVjLT5waWN0dXJlLT5pbnRlcmxhY2VkX2ZyYW1lOworKyAgICBnc3RfZmZtcGVnZGVjX25lZ290aWF0ZSAoZmZtcGVnZGVjLCBUUlVFKTsKKysgIH0KKysKKysgIC8qIFdoZXRoZXIgYSBmcmFtZSBpcyBpbnRlcmxhY2VkIG9yIG5vdCBpcyB1bmtub3duIGF0IHRoZSB0aW1lIG9mCisrICAgICBidWZmZXIgYWxsb2NhdGlvbiwgc28gY2FwcyBvbiB0aGUgYnVmZmVyIGluIG9wYXF1ZSB3aWxsIGhhdmUKKysgICAgIHRoZSBwcmV2aW91cyBmcmFtZSdzIGludGVybGFjZWQgZmxhZyBzZXQuIFNvIGlmIGludGVybGFjZWRuZXNzCisrICAgICBoYXMgY2hhbmdlZCBzaW5jZSBhbGxvY2F0aW9uLCB3ZSB1cGRhdGUgdGhlIGJ1ZmZlciAoaWYgYW55KQorKyAgICAgY2FwcyBub3cgd2l0aCB0aGUgY29ycmVjdCBpbnRlcmxhY2VkIGZsYWcuICovCisrICBpZiAoZmZtcGVnZGVjLT5waWN0dXJlLT5vcGFxdWUgIT0gTlVMTCkgeworKyAgICBHc3RCdWZmZXIgKmJ1ZmZlciA9IGZmbXBlZ2RlYy0+cGljdHVyZS0+b3BhcXVlOworKyAgICBpZiAoR1NUX0JVRkZFUl9DQVBTIChidWZmZXIpICYmIEdTVF9QQURfQ0FQUyAoZmZtcGVnZGVjLT5zcmNwYWQpKSB7CisrICAgICAgR3N0U3RydWN0dXJlICpzID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoR1NUX0JVRkZFUl9DQVBTIChidWZmZXIpLCAwKTsKKysgICAgICBnYm9vbGVhbiBpbnRlcmxhY2VkOworKyAgICAgIGdib29sZWFuIGZvdW5kID0gZ3N0X3N0cnVjdHVyZV9nZXRfYm9vbGVhbiAocywgImludGVybGFjZWQiLCAmaW50ZXJsYWNlZCk7CisrICAgICAgaWYgKCFmb3VuZCB8fCAoISFpbnRlcmxhY2VkICE9ICEhZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uaW50ZXJsYWNlZCkpIHsKKysgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywKKysgICAgICAgICAgICAiQnVmZmVyIGludGVybGFjaW5nIGRvZXMgbm90IG1hdGNoIHBhZCwgdXBkYXRpbmciKTsKKysgICAgICAgIGJ1ZmZlciA9IGdzdF9idWZmZXJfbWFrZV9tZXRhZGF0YV93cml0YWJsZSAoYnVmZmVyKTsKKysgICAgICAgIGdzdF9idWZmZXJfc2V0X2NhcHMgKGJ1ZmZlciwgR1NUX1BBRF9DQVBTIChmZm1wZWdkZWMtPnNyY3BhZCkpOworKyAgICAgICAgZmZtcGVnZGVjLT5waWN0dXJlLT5vcGFxdWUgPSBidWZmZXI7CisrICAgICAgfQorKyAgICB9CisrICB9CisrCisrICAvKiBjaGVjayB0aGF0IHRoZSB0aW1lc3RhbXBzIGdvIHVwd2FyZHMgKi8KKysgIGlmIChmZm1wZWdkZWMtPmxhc3Rfb3V0ICE9IC0xICYmIGZmbXBlZ2RlYy0+bGFzdF9vdXQgPiBvdXRfcHRzKSB7CisrICAgIC8qIHRpbWVzdGFtcHMgZ28gYmFja3dhcmRzLCB0aGlzIG1lYW5zIGZyYW1lcyB3ZXJlIHJlb3JkZXJlZCBhbmQgd2UgbXVzdAorKyAgICAgKiBiZSBkZWFsaW5nIHdpdGggRFRTIGFzIHRoZSBidWZmZXIgdGltZXN0YW1wcyAqLworKyAgICBpZiAoIWZmbXBlZ2RlYy0+cmVvcmRlcmVkX291dCkgeworKyAgICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgImRldGVjdGVkIHJlb3JkZXJlZCBvdXQgdGltZXN0YW1wcyIpOworKyAgICAgIGZmbXBlZ2RlYy0+cmVvcmRlcmVkX291dCA9IFRSVUU7CisrICAgIH0KKysgICAgaWYgKGZmbXBlZ2RlYy0+cmVvcmRlcmVkX2luKSB7CisrICAgICAgLyogd2UgcmVzZXQgdGhlIGlucHV0IHJlb3JkZXJpbmcgaGVyZSBiZWNhdXNlIHdlIHdhbnQgdG8gcmVjb3ZlciBmcm9tIGFuCisrICAgICAgICogb2NjYXNpb25hbGx5IHdyb25nIHJlb3JkZXJlZCBpbnB1dCB0aW1lc3RhbXAgKi8KKysgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJhc3N1bWluZyBEVFMgaW5wdXQgdGltZXN0YW1wcyIpOworKyAgICAgIGZmbXBlZ2RlYy0+cmVvcmRlcmVkX2luID0gRkFMU0U7CisrICAgIH0KKysgIH0KKysKKysgIGlmIChvdXRfcHRzID09IDAgJiYgb3V0X3B0cyA9PSBmZm1wZWdkZWMtPmxhc3Rfb3V0KSB7CisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJmZm1wZWcgcmV0dXJucyAwIHRpbWVzdGFtcHMsIGlnbm9yaW5nIik7CisrICAgIC8qIHNvbWUgY29kZWNzIG9ubHkgb3V0cHV0IDAgdGltZXN0YW1wcywgd2hlbiB0aGF0IGhhcHBlbnMsIG1ha2UgdXMgc2VsZWN0IGFuCisrICAgICAqIG91dHB1dCB0aW1lc3RhbXAgYmFzZWQgb24gdGhlIGlucHV0IHRpbWVzdGFtcC4gV2UgZG8gdGhpcyBieSBtYWtpbmcgdGhlCisrICAgICAqIGZmbXBlZyB0aW1lc3RhbXAgYW5kIHRoZSBpbnRlcnBvbGxhdGVkIG5leHQgdGltZXN0YW1wIGludmFsaWQuICovCisrICAgIG91dF9wdHMgPSAtMTsKKysgICAgZmZtcGVnZGVjLT5uZXh0X291dCA9IC0xOworKyAgfSBlbHNlCisrICAgIGZmbXBlZ2RlYy0+bGFzdF9vdXQgPSBvdXRfcHRzOworKworKyAgLyogd2UgYXNzdW1lIERUUyBhcyBpbnB1dCB0aW1lc3RhbXBzIHVubGVzcyB3ZSBzZWUgcmVvcmRlcmVkIGlucHV0CisrICAgKiB0aW1lc3RhbXBzICovCisrICBpZiAoIWZmbXBlZ2RlYy0+cmVvcmRlcmVkX2luICYmIGZmbXBlZ2RlYy0+cmVvcmRlcmVkX291dCkgeworKyAgICAvKiBQVFMgYW5kIERUUyBhcmUgdGhlIHNhbWUgZm9yIGtleWZyYW1lcyAqLworKyAgICBpZiAoZmZtcGVnZGVjLT5uZXh0X291dCAhPSAtMSkgeworKyAgICAgIC8qIGludGVycG9sYXRlIGFsbCB0aW1lc3RhbXBzIGV4Y2VwdCBmb3Iga2V5ZnJhbWVzLCBGSVhNRSwgdGhpcyBpcworKyAgICAgICAqIHdyb25nIHdoZW4gUW9TIGlzIGFjdGl2ZS4gKi8KKysgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJpbnRlcnBvbGF0ZSB0aW1lc3RhbXBzIik7CisrICAgICAgb3V0X3B0cyA9IC0xOworKyAgICAgIG91dF9vZmZzZXQgPSAtMTsKKysgICAgfQorKyAgfQorKworKyAgLyogZ2V0IGEgaGFuZGxlIHRvIHRoZSBvdXRwdXQgYnVmZmVyICovCisrICAqcmV0ID0gZ2V0X291dHB1dF9idWZmZXIgKGZmbXBlZ2RlYywgb3V0YnVmKTsKKysgIGlmIChHX1VOTElLRUxZICgqcmV0ICE9IEdTVF9GTE9XX09LKSkKKysgICAgZ290byBub19vdXRwdXQ7CisrCisrICAvKgorKyAgICogVGltZXN0YW1wczoKKysgICAqCisrICAgKiAgMSkgQ29weSBwaWN0dXJlIHRpbWVzdGFtcCBpZiB2YWxpZAorKyAgICogIDIpIGVsc2UgaW50ZXJwb2xhdGUgZnJvbSBwcmV2aW91cyBvdXRwdXQgdGltZXN0YW1wCisrICAgKiAgMykgZWxzZSBjb3B5IGlucHV0IHRpbWVzdGFtcAorKyAgICovCisrICBvdXRfdGltZXN0YW1wID0gLTE7CisrICBpZiAob3V0X3B0cyAhPSAtMSkgeworKyAgICAvKiBHZXQgKGludGVycG9sYXRlZCkgdGltZXN0YW1wIGZyb20gRkZNUEVHICovCisrICAgIG91dF90aW1lc3RhbXAgPSAoR3N0Q2xvY2tUaW1lKSBvdXRfcHRzOworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAidXNpbmcgdGltZXN0YW1wICUiIEdTVF9USU1FX0ZPUk1BVAorKyAgICAgICAgIiByZXR1cm5lZCBieSBmZm1wZWciLCBHU1RfVElNRV9BUkdTIChvdXRfdGltZXN0YW1wKSk7CisrICB9CisrICBpZiAoIUdTVF9DTE9DS19USU1FX0lTX1ZBTElEIChvdXRfdGltZXN0YW1wKSAmJiBmZm1wZWdkZWMtPm5leHRfb3V0ICE9IC0xKSB7CisrICAgIG91dF90aW1lc3RhbXAgPSBmZm1wZWdkZWMtPm5leHRfb3V0OworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAidXNpbmcgbmV4dCB0aW1lc3RhbXAgJSIgR1NUX1RJTUVfRk9STUFULAorKyAgICAgICAgR1NUX1RJTUVfQVJHUyAob3V0X3RpbWVzdGFtcCkpOworKyAgfQorKyAgaWYgKCFHU1RfQ0xPQ0tfVElNRV9JU19WQUxJRCAob3V0X3RpbWVzdGFtcCkpIHsKKysgICAgb3V0X3RpbWVzdGFtcCA9IGRlY19pbmZvLT50aW1lc3RhbXA7CisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJ1c2luZyBpbiB0aW1lc3RhbXAgJSIgR1NUX1RJTUVfRk9STUFULAorKyAgICAgICAgR1NUX1RJTUVfQVJHUyAob3V0X3RpbWVzdGFtcCkpOworKyAgfQorKyAgR1NUX0JVRkZFUl9USU1FU1RBTVAgKCpvdXRidWYpID0gb3V0X3RpbWVzdGFtcDsKKysKKysgIC8qCisrICAgKiBPZmZzZXQ6CisrICAgKiAgMCkgVXNlIHN0b3JlZCBpbnB1dCBvZmZzZXQgKGZyb20gb3BhcXVlKQorKyAgICogIDEpIFVzZSB2YWx1ZSBjb252ZXJ0ZWQgZnJvbSB0aW1lc3RhbXAgaWYgdmFsaWQKKysgICAqICAyKSBVc2UgaW5wdXQgb2Zmc2V0IGlmIHZhbGlkCisrICAgKi8KKysgIGlmIChvdXRfb2Zmc2V0ICE9IEdTVF9CVUZGRVJfT0ZGU0VUX05PTkUpIHsKKysgICAgLyogb3V0X29mZnNldCBhbHJlYWR5IGNvbnRhaW5zIHRoZSBvZmZzZXQgZnJvbSB0c19pbmZvICovCisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJVc2luZyBvZmZzZXQgcmV0dXJuZWQgYnkgZmZtcGVnIik7CisrICB9IGVsc2UgaWYgKG91dF90aW1lc3RhbXAgIT0gR1NUX0NMT0NLX1RJTUVfTk9ORSkgeworKyAgICBHc3RGb3JtYXQgb3V0X2ZtdCA9IEdTVF9GT1JNQVRfREVGQVVMVDsKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgIlVzaW5nIG9mZnNldCBjb252ZXJ0ZWQgZnJvbSB0aW1lc3RhbXAiKTsKKysgICAgLyogRklYTUUsIHdlIHNob3VsZCByZWFsbHkgcmVtb3ZlIHRoaXMgYXMgaXQncyBub3QgbmljZSBhdCBhbGwgdG8gZG8KKysgICAgICogdXBzdHJlYW0gcXVlcmllcyBmb3IgZWFjaCBmcmFtZSB0byBnZXQgdGhlIGZyYW1lIG9mZnNldC4gV2UgYWxzbyBjYW4ndAorKyAgICAgKiByZWFsbHkgcmVtb3ZlIHRoaXMgYmVjYXVzZSBpdCBpcyB0aGUgb25seSB3YXkgb2Ygc2V0dGluZyBmcmFtZSBvZmZzZXRzCisrICAgICAqIG9uIG91dGdvaW5nIGJ1ZmZlcnMuIFdlIHNob3VsZCBoYXZlIG1ldGFkYXRhIHNvIHRoYXQgdGhlIHVwc3RyZWFtIHBlZXIKKysgICAgICogY2FuIHNldCBhIGZyYW1lIG51bWJlciBvbiB0aGUgZW5jb2RlZCBkYXRhLiAqLworKyAgICBnc3RfcGFkX3F1ZXJ5X3BlZXJfY29udmVydCAoZmZtcGVnZGVjLT5zaW5rcGFkLAorKyAgICAgICAgR1NUX0ZPUk1BVF9USU1FLCBvdXRfdGltZXN0YW1wLCAmb3V0X2ZtdCwgJm91dF9vZmZzZXQpOworKyAgfSBlbHNlIGlmIChkZWNfaW5mby0+b2Zmc2V0ICE9IEdTVF9CVUZGRVJfT0ZGU0VUX05PTkUpIHsKKysgICAgLyogRklYTUUsIHRoZSBpbnB1dCBvZmZzZXQgaXMgaW5wdXQgbWVkaWEgc3BlY2lmaWMgYW5kIG1pZ2h0IG5vdAorKyAgICAgKiBiZSB0aGUgc2FtZSBmb3IgdGhlIG91dHB1dCBtZWRpYS4gKGJ5dGUgb2Zmc2V0IGFzIGlucHV0LCBmcmFtZSBudW1iZXIKKysgICAgICogYXMgb3V0cHV0LCBmb3IgZXhhbXBsZSkgKi8KKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgInVzaW5nIGluX29mZnNldCAlIiBHX0dJTlQ2NF9GT1JNQVQsCisrICAgICAgICBkZWNfaW5mby0+b2Zmc2V0KTsKKysgICAgb3V0X29mZnNldCA9IGRlY19pbmZvLT5vZmZzZXQ7CisrICB9IGVsc2UgeworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAibm8gdmFsaWQgb2Zmc2V0IGZvdW5kIik7CisrICAgIG91dF9vZmZzZXQgPSBHU1RfQlVGRkVSX09GRlNFVF9OT05FOworKyAgfQorKyAgR1NUX0JVRkZFUl9PRkZTRVQgKCpvdXRidWYpID0gb3V0X29mZnNldDsKKysKKysgIC8qCisrICAgKiBEdXJhdGlvbjoKKysgICAqCisrICAgKiAgMSkgVXNlIHJlb3JkZXJlZCBpbnB1dCBkdXJhdGlvbiBpZiB2YWxpZAorKyAgICogIDIpIEVsc2UgdXNlIGlucHV0IGR1cmF0aW9uCisrICAgKiAgMykgZWxzZSB1c2UgaW5wdXQgZnJhbWVyYXRlCisrICAgKiAgNCkgZWxzZSB1c2UgZmZtcGVnIGZyYW1lcmF0ZQorKyAgICovCisrICBpZiAoR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKG91dF9kdXJhdGlvbikpIHsKKysgICAgLyogV2UgaGF2ZSBhIHZhbGlkIChyZW9yZGVyZWQpIGR1cmF0aW9uICovCisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJVc2luZyBkdXJhdGlvbiByZXR1cm5lZCBieSBmZm1wZWciKTsKKysgIH0gZWxzZSBpZiAoR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKGRlY19pbmZvLT5kdXJhdGlvbikpIHsKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgInVzaW5nIGluX2R1cmF0aW9uIik7CisrICAgIG91dF9kdXJhdGlvbiA9IGRlY19pbmZvLT5kdXJhdGlvbjsKKysgIH0gZWxzZSBpZiAoR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKGZmbXBlZ2RlYy0+bGFzdF9kaWZmKSkgeworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAidXNpbmcgbGFzdC1kaWZmIik7CisrICAgIG91dF9kdXJhdGlvbiA9IGZmbXBlZ2RlYy0+bGFzdF9kaWZmOworKyAgfSBlbHNlIHsKKysgICAgLyogaWYgd2UgaGF2ZSBhbiBpbnB1dCBmcmFtZXJhdGUsIHVzZSB0aGF0ICovCisrICAgIGlmIChmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5mcHNfbiAhPSAtMSAmJgorKyAgICAgICAgKGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmZwc19uICE9IDEwMDAgJiYKKysgICAgICAgICAgICBmZm1wZWdkZWMtPmZvcm1hdC52aWRlby5mcHNfZCAhPSAxKSkgeworKyAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJ1c2luZyBpbnB1dCBmcmFtZXJhdGUgZm9yIGR1cmF0aW9uIik7CisrICAgICAgb3V0X2R1cmF0aW9uID0gZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCAoR1NUX1NFQ09ORCwKKysgICAgICAgICAgZmZtcGVnZGVjLT5mb3JtYXQudmlkZW8uZnBzX2QsIGZmbXBlZ2RlYy0+Zm9ybWF0LnZpZGVvLmZwc19uKTsKKysgICAgfSBlbHNlIHsKKysgICAgICAvKiBkb24ndCB0cnkgdG8gdXNlIHRoZSBkZWNvZGVyJ3MgZnJhbWVyYXRlIHdoZW4gaXQgc2VlbXMgYSBiaXQgYWJub3JtYWwsCisrICAgICAgICogd2hpY2ggd2UgYXNzdW1lIHdoZW4gZGVuID49IDEwMDAuLi4gKi8KKysgICAgICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0LT50aW1lX2Jhc2UubnVtICE9IDAgJiYKKysgICAgICAgICAgKGZmbXBlZ2RlYy0+Y29udGV4dC0+dGltZV9iYXNlLmRlbiA+IDAgJiYKKysgICAgICAgICAgICAgIGZmbXBlZ2RlYy0+Y29udGV4dC0+dGltZV9iYXNlLmRlbiA8IDEwMDApKSB7CisrICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAidXNpbmcgZGVjb2RlcidzIGZyYW1lcmF0ZSBmb3IgZHVyYXRpb24iKTsKKysgICAgICAgIG91dF9kdXJhdGlvbiA9IGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnQgKEdTVF9TRUNPTkQsCisrICAgICAgICAgICAgZmZtcGVnZGVjLT5jb250ZXh0LT50aW1lX2Jhc2UubnVtICoKKysgICAgICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnRpY2tzX3Blcl9mcmFtZSwKKysgICAgICAgICAgICBmZm1wZWdkZWMtPmNvbnRleHQtPnRpbWVfYmFzZS5kZW4pOworKyAgICAgIH0gZWxzZSB7CisrICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAibm8gdmFsaWQgZHVyYXRpb24gZm91bmQiKTsKKysgICAgICB9CisrICAgIH0KKysgIH0KKysKKysgIC8qIFRha2UgcmVwZWF0X3BpY3QgaW50byBhY2NvdW50ICovCisrICBpZiAoR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKG91dF9kdXJhdGlvbikpIHsKKysgICAgb3V0X2R1cmF0aW9uICs9IG91dF9kdXJhdGlvbiAqIGZmbXBlZ2RlYy0+cGljdHVyZS0+cmVwZWF0X3BpY3QgLyAyOworKyAgfQorKyAgR1NUX0JVRkZFUl9EVVJBVElPTiAoKm91dGJ1ZikgPSBvdXRfZHVyYXRpb247CisrCisrICBpZiAob3V0X3RpbWVzdGFtcCAhPSAtMSAmJiBvdXRfZHVyYXRpb24gIT0gLTEgJiYgb3V0X2R1cmF0aW9uICE9IDApCisrICAgIGZmbXBlZ2RlYy0+bmV4dF9vdXQgPSBvdXRfdGltZXN0YW1wICsgb3V0X2R1cmF0aW9uOworKyAgZWxzZQorKyAgICBmZm1wZWdkZWMtPm5leHRfb3V0ID0gLTE7CisrCisrICAvKiBub3cgc2VlIGlmIHdlIG5lZWQgdG8gY2xpcCB0aGUgYnVmZmVyIGFnYWluc3QgdGhlIHNlZ21lbnQgYm91bmRhcmllcy4gKi8KKysgIGlmIChHX1VOTElLRUxZICghY2xpcF92aWRlb19idWZmZXIgKGZmbXBlZ2RlYywgKm91dGJ1Ziwgb3V0X3RpbWVzdGFtcCwKKysgICAgICAgICAgICAgIG91dF9kdXJhdGlvbikpKQorKyAgICBnb3RvIGNsaXBwZWQ7CisrCisrICBpZiAoZmZtcGVnZGVjLT5waWN0dXJlLT50b3BfZmllbGRfZmlyc3QpCisrICAgIEdTVF9CVUZGRVJfRkxBR19TRVQgKCpvdXRidWYsIEdTVF9WSURFT19CVUZGRVJfVEZGKTsKKysKKysKKytiZWFjaDoKKysgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInJldHVybiBmbG93ICVkLCBvdXQgJXAsIGxlbiAlZCIsCisrICAgICAgKnJldCwgKm91dGJ1ZiwgbGVuKTsKKysgIHJldHVybiBsZW47CisrCisrICAvKiBzcGVjaWFsIGNhc2VzICovCisrbm9fb3V0cHV0OgorKyAgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJubyBvdXRwdXQgYnVmZmVyIik7CisrICAgIGxlbiA9IC0xOworKyAgICBnb3RvIGJlYWNoOworKyAgfQorK2NsaXBwZWQ6CisrICB7CisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgImJ1ZmZlciBjbGlwcGVkIik7CisrICAgIGdzdF9idWZmZXJfdW5yZWYgKCpvdXRidWYpOworKyAgICAqb3V0YnVmID0gTlVMTDsKKysgICAgZ290byBiZWFjaDsKKysgIH0KKyt9CisrCisrLyogcmV0dXJucyBUUlVFIGlmIGJ1ZmZlciBpcyB3aXRoaW4gc2VnbWVudCwgZWxzZSBGQUxTRS4KKysgKiBpZiBCdWZmZXIgaXMgb24gc2VnbWVudCBib3JkZXIsIGl0J3MgdGltZXN0YW1wIGFuZCBkdXJhdGlvbiB3aWxsIGJlIGNsaXBwZWQgKi8KKytzdGF0aWMgZ2Jvb2xlYW4KKytjbGlwX2F1ZGlvX2J1ZmZlciAoR3N0RkZNcGVnRGVjICogZGVjLCBHc3RCdWZmZXIgKiBidWYsIEdzdENsb2NrVGltZSBpbl90cywKKysgICAgR3N0Q2xvY2tUaW1lIGluX2R1cikKKyt7CisrICBHc3RDbG9ja1RpbWUgc3RvcDsKKysgIGdpbnQ2NCBkaWZmLCBjdGltZSwgY3N0b3A7CisrICBnYm9vbGVhbiByZXMgPSBUUlVFOworKworKyAgR1NUX0xPR19PQkpFQ1QgKGRlYywKKysgICAgICAidGltZXN0YW1wOiUiIEdTVF9USU1FX0ZPUk1BVCAiLCBkdXJhdGlvbjolIiBHU1RfVElNRV9GT1JNQVQKKysgICAgICAiLCBzaXplICV1IiwgR1NUX1RJTUVfQVJHUyAoaW5fdHMpLCBHU1RfVElNRV9BUkdTIChpbl9kdXIpLAorKyAgICAgIEdTVF9CVUZGRVJfU0laRSAoYnVmKSk7CisrCisrICAvKiBjYW4ndCBjbGlwIHdpdGhvdXQgVElNRSBzZWdtZW50ICovCisrICBpZiAoR19VTkxJS0VMWSAoZGVjLT5zZWdtZW50LmZvcm1hdCAhPSBHU1RfRk9STUFUX1RJTUUpKQorKyAgICBnb3RvIGJlYWNoOworKworKyAgLyogd2UgbmVlZCBhIHN0YXJ0IHRpbWUgKi8KKysgIGlmIChHX1VOTElLRUxZICghR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKGluX3RzKSkpCisrICAgIGdvdG8gYmVhY2g7CisrCisrICAvKiB0cnVzdCBkdXJhdGlvbiAqLworKyAgc3RvcCA9IGluX3RzICsgaW5fZHVyOworKworKyAgcmVzID0gZ3N0X3NlZ21lbnRfY2xpcCAoJmRlYy0+c2VnbWVudCwgR1NUX0ZPUk1BVF9USU1FLCBpbl90cywgc3RvcCwgJmN0aW1lLAorKyAgICAgICZjc3RvcCk7CisrICBpZiAoR19VTkxJS0VMWSAoIXJlcykpCisrICAgIGdvdG8gb3V0X29mX3NlZ21lbnQ7CisrCisrICAvKiBzZWUgaWYgc29tZSBjbGlwcGluZyBoYXBwZW5lZCAqLworKyAgaWYgKEdfVU5MSUtFTFkgKChkaWZmID0gY3RpbWUgLSBpbl90cykgPiAwKSkgeworKyAgICAvKiBicmluZyBjbGlwcGVkIHRpbWUgdG8gYnl0ZXMgKi8KKysgICAgZGlmZiA9CisrICAgICAgICBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50IChkaWZmLCBkZWMtPmZvcm1hdC5hdWRpby5zYW1wbGVyYXRlLAorKyAgICAgICAgR1NUX1NFQ09ORCkgKiAoZGVjLT5mb3JtYXQuYXVkaW8uZGVwdGggKiBkZWMtPmZvcm1hdC5hdWRpby5jaGFubmVscyk7CisrCisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGRlYywgImNsaXBwaW5nIHN0YXJ0IHRvICUiIEdTVF9USU1FX0ZPUk1BVCAiICUiCisrICAgICAgICBHX0dJTlQ2NF9GT1JNQVQgIiBieXRlcyIsIEdTVF9USU1FX0FSR1MgKGN0aW1lKSwgZGlmZik7CisrCisrICAgIEdTVF9CVUZGRVJfU0laRSAoYnVmKSAtPSBkaWZmOworKyAgICBHU1RfQlVGRkVSX0RBVEEgKGJ1ZikgKz0gZGlmZjsKKysgIH0KKysgIGlmIChHX1VOTElLRUxZICgoZGlmZiA9IHN0b3AgLSBjc3RvcCkgPiAwKSkgeworKyAgICAvKiBicmluZyBjbGlwcGVkIHRpbWUgdG8gYnl0ZXMgKi8KKysgICAgZGlmZiA9CisrICAgICAgICBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50IChkaWZmLCBkZWMtPmZvcm1hdC5hdWRpby5zYW1wbGVyYXRlLAorKyAgICAgICAgR1NUX1NFQ09ORCkgKiAoZGVjLT5mb3JtYXQuYXVkaW8uZGVwdGggKiBkZWMtPmZvcm1hdC5hdWRpby5jaGFubmVscyk7CisrCisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGRlYywgImNsaXBwaW5nIHN0b3AgdG8gJSIgR1NUX1RJTUVfRk9STUFUICIgJSIKKysgICAgICAgIEdfR0lOVDY0X0ZPUk1BVCAiIGJ5dGVzIiwgR1NUX1RJTUVfQVJHUyAoY3N0b3ApLCBkaWZmKTsKKysKKysgICAgR1NUX0JVRkZFUl9TSVpFIChidWYpIC09IGRpZmY7CisrICB9CisrICBHU1RfQlVGRkVSX1RJTUVTVEFNUCAoYnVmKSA9IGN0aW1lOworKyAgR1NUX0JVRkZFUl9EVVJBVElPTiAoYnVmKSA9IGNzdG9wIC0gY3RpbWU7CisrCisrYmVhY2g6CisrICBHU1RfTE9HX09CSkVDVCAoZGVjLCAiJXNkcm9wcGluZyIsIChyZXMgPyAibm90ICIgOiAiIikpOworKyAgcmV0dXJuIHJlczsKKysKKysgIC8qIEVSUk9SUyAqLworK291dF9vZl9zZWdtZW50OgorKyAgeworKyAgICBHU1RfTE9HX09CSkVDVCAoZGVjLCAib3V0IG9mIHNlZ21lbnQiKTsKKysgICAgZ290byBiZWFjaDsKKysgIH0KKyt9CisrCisrc3RhdGljIGdpbnQKKytnc3RfZmZtcGVnZGVjX2F1ZGlvX2ZyYW1lIChHc3RGRk1wZWdEZWMgKiBmZm1wZWdkZWMsCisrICAgIEFWQ29kZWMgKiBpbl9wbHVnaW4sIGd1aW50OCAqIGRhdGEsIGd1aW50IHNpemUsCisrICAgIGNvbnN0IEdzdFRTSW5mbyAqIGRlY19pbmZvLCBHc3RCdWZmZXIgKiogb3V0YnVmLCBHc3RGbG93UmV0dXJuICogcmV0KQorK3sKKysgIGdpbnQgbGVuID0gLTE7CisrICBnaW50IGhhdmVfZGF0YSA9IEFWQ09ERUNfTUFYX0FVRElPX0ZSQU1FX1NJWkU7CisrICBHc3RDbG9ja1RpbWUgb3V0X3RpbWVzdGFtcCwgb3V0X2R1cmF0aW9uOworKyAgZ2ludDY0IG91dF9vZmZzZXQ7CisrICBBVlBhY2tldCBwYWNrZXQ7CisrCisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgInNpemU6JWQsIG9mZnNldDolIiBHX0dJTlQ2NF9GT1JNQVQgIiwgdHM6JSIgR1NUX1RJTUVfRk9STUFUICIsIGR1cjolIgorKyAgICAgIEdTVF9USU1FX0ZPUk1BVCAiLCBmZm1wZWdkZWMtPm5leHRfb3V0OiUiIEdTVF9USU1FX0ZPUk1BVCwgc2l6ZSwKKysgICAgICBkZWNfaW5mby0+b2Zmc2V0LCBHU1RfVElNRV9BUkdTIChkZWNfaW5mby0+dGltZXN0YW1wKSwKKysgICAgICBHU1RfVElNRV9BUkdTIChkZWNfaW5mby0+ZHVyYXRpb24pLCBHU1RfVElNRV9BUkdTIChmZm1wZWdkZWMtPm5leHRfb3V0KSk7CisrCisrICAqb3V0YnVmID0KKysgICAgICBuZXdfYWxpZ25lZF9idWZmZXIgKEFWQ09ERUNfTUFYX0FVRElPX0ZSQU1FX1NJWkUsCisrICAgICAgR1NUX1BBRF9DQVBTIChmZm1wZWdkZWMtPnNyY3BhZCkpOworKworKyAgZ3N0X2F2cGFja2V0X2luaXQgKCZwYWNrZXQsIGRhdGEsIHNpemUpOworKyAgbGVuID0gYXZjb2RlY19kZWNvZGVfYXVkaW8zIChmZm1wZWdkZWMtPmNvbnRleHQsCisrICAgICAgKGludDE2X3QgKikgR1NUX0JVRkZFUl9EQVRBICgqb3V0YnVmKSwgJmhhdmVfZGF0YSwgJnBhY2tldCk7CisrICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgIkRlY29kZSBhdWRpbzogbGVuPSVkLCBoYXZlX2RhdGE9JWQiLCBsZW4sIGhhdmVfZGF0YSk7CisrCisrICBpZiAobGVuID49IDAgJiYgaGF2ZV9kYXRhID4gMCkgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJDcmVhdGluZyBvdXRwdXQgYnVmZmVyIik7CisrICAgIGlmICghZ3N0X2ZmbXBlZ2RlY19uZWdvdGlhdGUgKGZmbXBlZ2RlYywgRkFMU0UpKSB7CisrICAgICAgZ3N0X2J1ZmZlcl91bnJlZiAoKm91dGJ1Zik7CisrICAgICAgKm91dGJ1ZiA9IE5VTEw7CisrICAgICAgbGVuID0gLTE7CisrICAgICAgZ290byBiZWFjaDsKKysgICAgfQorKworKyAgICAvKiBCdWZmZXIgc2l6ZSAqLworKyAgICBHU1RfQlVGRkVSX1NJWkUgKCpvdXRidWYpID0gaGF2ZV9kYXRhOworKworKyAgICAvKgorKyAgICAgKiBUaW1lc3RhbXBzOgorKyAgICAgKgorKyAgICAgKiAgMSkgQ29weSBpbnB1dCB0aW1lc3RhbXAgaWYgdmFsaWQKKysgICAgICogIDIpIGVsc2UgaW50ZXJwb2xhdGUgZnJvbSBwcmV2aW91cyBpbnB1dCB0aW1lc3RhbXAKKysgICAgICovCisrICAgIC8qIGFsd2F5cyB0YWtlIHRpbWVzdGFtcHMgZnJvbSB0aGUgaW5wdXQgYnVmZmVyIGlmIGFueSAqLworKyAgICBpZiAoR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKGRlY19pbmZvLT50aW1lc3RhbXApKSB7CisrICAgICAgb3V0X3RpbWVzdGFtcCA9IGRlY19pbmZvLT50aW1lc3RhbXA7CisrICAgIH0gZWxzZSB7CisrICAgICAgb3V0X3RpbWVzdGFtcCA9IGZmbXBlZ2RlYy0+bmV4dF9vdXQ7CisrICAgIH0KKysKKysgICAgLyoKKysgICAgICogRHVyYXRpb246CisrICAgICAqCisrICAgICAqICAxKSBjYWxjdWxhdGUgYmFzZWQgb24gbnVtYmVyIG9mIHNhbXBsZXMKKysgICAgICovCisrICAgIG91dF9kdXJhdGlvbiA9IGdzdF91dGlsX3VpbnQ2NF9zY2FsZSAoaGF2ZV9kYXRhLCBHU1RfU0VDT05ELAorKyAgICAgICAgZmZtcGVnZGVjLT5mb3JtYXQuYXVkaW8uZGVwdGggKiBmZm1wZWdkZWMtPmZvcm1hdC5hdWRpby5jaGFubmVscyAqCisrICAgICAgICBmZm1wZWdkZWMtPmZvcm1hdC5hdWRpby5zYW1wbGVyYXRlKTsKKysKKysgICAgLyogb2Zmc2V0OgorKyAgICAgKgorKyAgICAgKiBKdXN0IGNvcHkKKysgICAgICovCisrICAgIG91dF9vZmZzZXQgPSBkZWNfaW5mby0+b2Zmc2V0OworKworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAiQnVmZmVyIGNyZWF0ZWQuIFNpemU6JWQgLCB0aW1lc3RhbXA6JSIgR1NUX1RJTUVfRk9STUFUICIgLCBkdXJhdGlvbjolIgorKyAgICAgICAgR1NUX1RJTUVfRk9STUFULCBoYXZlX2RhdGEsCisrICAgICAgICBHU1RfVElNRV9BUkdTIChvdXRfdGltZXN0YW1wKSwgR1NUX1RJTUVfQVJHUyAob3V0X2R1cmF0aW9uKSk7CisrCisrICAgIEdTVF9CVUZGRVJfVElNRVNUQU1QICgqb3V0YnVmKSA9IG91dF90aW1lc3RhbXA7CisrICAgIEdTVF9CVUZGRVJfRFVSQVRJT04gKCpvdXRidWYpID0gb3V0X2R1cmF0aW9uOworKyAgICBHU1RfQlVGRkVSX09GRlNFVCAoKm91dGJ1ZikgPSBvdXRfb2Zmc2V0OworKyAgICBnc3RfYnVmZmVyX3NldF9jYXBzICgqb3V0YnVmLCBHU1RfUEFEX0NBUFMgKGZmbXBlZ2RlYy0+c3JjcGFkKSk7CisrCisrICAgIC8qIHRoZSBuZXh0IHRpbWVzdGFtcCB3ZSdsbCB1c2Ugd2hlbiBpbnRlcnBvbGF0aW5nICovCisrICAgIGlmIChHU1RfQ0xPQ0tfVElNRV9JU19WQUxJRCAob3V0X3RpbWVzdGFtcCkpCisrICAgICAgZmZtcGVnZGVjLT5uZXh0X291dCA9IG91dF90aW1lc3RhbXAgKyBvdXRfZHVyYXRpb247CisrCisrICAgIC8qIG5vdyBzZWUgaWYgd2UgbmVlZCB0byBjbGlwIHRoZSBidWZmZXIgYWdhaW5zdCB0aGUgc2VnbWVudCBib3VuZGFyaWVzLiAqLworKyAgICBpZiAoR19VTkxJS0VMWSAoIWNsaXBfYXVkaW9fYnVmZmVyIChmZm1wZWdkZWMsICpvdXRidWYsIG91dF90aW1lc3RhbXAsCisrICAgICAgICAgICAgICAgIG91dF9kdXJhdGlvbikpKQorKyAgICAgIGdvdG8gY2xpcHBlZDsKKysKKysgIH0gZWxzZSB7CisrICAgIGdzdF9idWZmZXJfdW5yZWYgKCpvdXRidWYpOworKyAgICAqb3V0YnVmID0gTlVMTDsKKysgIH0KKysKKysgIC8qIElmIHdlIGRvbid0IGVycm9yIG91dCBhZnRlciB0aGUgZmlyc3QgZmFpbGVkIHJlYWQgd2l0aCB0aGUgQUFDIGRlY29kZXIsCisrICAgKiB3ZSBtdXN0ICpub3QqIGNhcnJ5IG9uIHB1c2hpbmcgZGF0YSwgZWxzZSB3ZSdsbCBjYXVzZSBzZWdmYXVsdHMuLi4gKi8KKysgIGlmIChsZW4gPT0gLTEgJiYgKGluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfQUFDCisrICAgICAgICAgIHx8IGluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfQUFDX0xBVE0pKSB7CisrICAgIEdTVF9FTEVNRU5UX0VSUk9SIChmZm1wZWdkZWMsIFNUUkVBTSwgREVDT0RFLCAoTlVMTCksCisrICAgICAgICAoIkRlY29kaW5nIG9mIEFBQyBzdHJlYW0gYnkgRkZNUEVHIGZhaWxlZC4iKSk7CisrICAgICpyZXQgPSBHU1RfRkxPV19FUlJPUjsKKysgIH0KKysKKytiZWFjaDoKKysgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInJldHVybiBmbG93ICVkLCBvdXQgJXAsIGxlbiAlZCIsCisrICAgICAgKnJldCwgKm91dGJ1ZiwgbGVuKTsKKysgIHJldHVybiBsZW47CisrCisrICAvKiBFUlJPUlMgKi8KKytjbGlwcGVkOgorKyAgeworKyAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJidWZmZXIgY2xpcHBlZCIpOworKyAgICBnc3RfYnVmZmVyX3VucmVmICgqb3V0YnVmKTsKKysgICAgKm91dGJ1ZiA9IE5VTEw7CisrICAgIGdvdG8gYmVhY2g7CisrICB9CisrfQorKworKy8qIGdzdF9mZm1wZWdkZWNfZnJhbWU6CisrICogZmZtcGVnZGVjOgorKyAqIGRhdGE6IHBvaW50ZXIgdG8gdGhlIGRhdGEgdG8gZGVjb2RlCisrICogc2l6ZTogc2l6ZSBvZiBkYXRhIGluIGJ5dGVzCisrICogZ290X2RhdGE6IDAgaWYgbm8gZGF0YSB3YXMgZGVjb2RlZCwgIT0gMCBvdGhlcndpc2UuCisrICogaW5fdGltZTogdGltZXN0YW1wIG9mIGRhdGEKKysgKiBpbl9kdXJhdGlvbjogZHVyYXRpb24gb2YgZGF0YQorKyAqIHJldDogR3N0Rmxvd1JldHVybiB0byByZXR1cm4gaW4gdGhlIGNoYWluIGZ1bmN0aW9uCisrICoKKysgKiBEZWNvZGUgdGhlIGdpdmVuIGZyYW1lIGFuZCBwdXNoZXMgaXQgZG93bnN0cmVhbS4KKysgKgorKyAqIFJldHVybnM6IE51bWJlciBvZiBieXRlcyB1c2VkIGluIGRlY29kaW5nLCAtMSBvbiBlcnJvci9mYWlsdXJlLgorKyAqLworKworK3N0YXRpYyBnaW50CisrZ3N0X2ZmbXBlZ2RlY19mcmFtZSAoR3N0RkZNcGVnRGVjICogZmZtcGVnZGVjLAorKyAgICBndWludDggKiBkYXRhLCBndWludCBzaXplLCBnaW50ICogZ290X2RhdGEsIGNvbnN0IEdzdFRTSW5mbyAqIGRlY19pbmZvLAorKyAgICBHc3RGbG93UmV0dXJuICogcmV0KQorK3sKKysgIEdzdEZGTXBlZ0RlY0NsYXNzICpvY2xhc3M7CisrICBHc3RCdWZmZXIgKm91dGJ1ZiA9IE5VTEw7CisrICBnaW50IGhhdmVfZGF0YSA9IDAsIGxlbiA9IDA7CisrCisrICBpZiAoR19VTkxJS0VMWSAoZmZtcGVnZGVjLT5jb250ZXh0LT5jb2RlYyA9PSBOVUxMKSkKKysgICAgZ290byBub19jb2RlYzsKKysKKysgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJkYXRhOiVwLCBzaXplOiVkLCBpZDolZCIsIGRhdGEsIHNpemUsCisrICAgICAgZGVjX2luZm8tPmlkeCk7CisrCisrICAqcmV0ID0gR1NUX0ZMT1dfT0s7CisrICBmZm1wZWdkZWMtPmNvbnRleHQtPmZyYW1lX251bWJlcisrOworKworKyAgb2NsYXNzID0gKEdzdEZGTXBlZ0RlY0NsYXNzICopIChHX09CSkVDVF9HRVRfQ0xBU1MgKGZmbXBlZ2RlYykpOworKworKyAgc3dpdGNoIChvY2xhc3MtPmluX3BsdWdpbi0+dHlwZSkgeworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9WSURFTzoKKysgICAgICBsZW4gPQorKyAgICAgICAgICBnc3RfZmZtcGVnZGVjX3ZpZGVvX2ZyYW1lIChmZm1wZWdkZWMsIGRhdGEsIHNpemUsIGRlY19pbmZvLCAmb3V0YnVmLAorKyAgICAgICAgICByZXQpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJTzoKKysgICAgICBsZW4gPQorKyAgICAgICAgICBnc3RfZmZtcGVnZGVjX2F1ZGlvX2ZyYW1lIChmZm1wZWdkZWMsIG9jbGFzcy0+aW5fcGx1Z2luLCBkYXRhLCBzaXplLAorKyAgICAgICAgICBkZWNfaW5mbywgJm91dGJ1ZiwgcmV0KTsKKysKKysgICAgICAvKiBpZiB3ZSBkaWQgbm90IGdldCBhbiBvdXRwdXQgYnVmZmVyIGFuZCB3ZSBoYXZlIGEgcGVuZGluZyBkaXNjb250LCBkb24ndAorKyAgICAgICAqIGNsZWFyIHRoZSBpbnB1dCB0aW1lc3RhbXBzLCB3ZSB3aWxsIHB1dCB0aGVtIG9uIHRoZSBuZXh0IGJ1ZmZlciBiZWNhdXNlCisrICAgICAgICogZWxzZSB3ZSBtaWdodCBjcmVhdGUgdGhlIGZpcnN0IGJ1ZmZlciB3aXRoIGEgdmVyeSBiaWcgdGltZXN0YW1wIGdhcC4gKi8KKysgICAgICBpZiAob3V0YnVmID09IE5VTEwgJiYgZmZtcGVnZGVjLT5kaXNjb250KSB7CisrICAgICAgICBHU1RfREVCVUdfT0JKRUNUIChmZm1wZWdkZWMsICJubyBidWZmZXIgYnV0IGtlZXBpbmcgdGltZXN0YW1wIik7CisrICAgICAgICBmZm1wZWdkZWMtPmNsZWFyX3RzID0gRkFMU0U7CisrICAgICAgfQorKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIEdTVF9FUlJPUl9PQkpFQ1QgKGZmbXBlZ2RlYywgIkFza2VkIHRvIGRlY29kZSBub24tYXVkaW8vdmlkZW8gZnJhbWUgISIpOworKyAgICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkICgpOworKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgaWYgKG91dGJ1ZikKKysgICAgaGF2ZV9kYXRhID0gMTsKKysKKysgIGlmIChsZW4gPCAwIHx8IGhhdmVfZGF0YSA8IDApIHsKKysgICAgR1NUX1dBUk5JTkdfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAiZmZkZWNfJXM6IGRlY29kaW5nIGVycm9yIChsZW46ICVkLCBoYXZlX2RhdGE6ICVkKSIsCisrICAgICAgICBvY2xhc3MtPmluX3BsdWdpbi0+bmFtZSwgbGVuLCBoYXZlX2RhdGEpOworKyAgICAqZ290X2RhdGEgPSAwOworKyAgICBnb3RvIGJlYWNoOworKyAgfSBlbHNlIGlmIChsZW4gPT0gMCAmJiBoYXZlX2RhdGEgPT0gMCkgeworKyAgICAqZ290X2RhdGEgPSAwOworKyAgICBnb3RvIGJlYWNoOworKyAgfSBlbHNlIHsKKysgICAgLyogdGhpcyBpcyB3aGVyZSBJIGxvc3QgbXkgbGFzdCBjbHVlIG9uIGZmbXBlZy4uLiAqLworKyAgICAqZ290X2RhdGEgPSAxOworKyAgfQorKworKyAgaWYgKG91dGJ1ZikgeworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgIkRlY29kZWQgZGF0YSwgbm93IHB1c2hpbmcgYnVmZmVyICVwIHdpdGggb2Zmc2V0ICUiIEdfR0lOVDY0X0ZPUk1BVAorKyAgICAgICAgIiwgdGltZXN0YW1wICUiIEdTVF9USU1FX0ZPUk1BVCAiIGFuZCBkdXJhdGlvbiAlIiBHU1RfVElNRV9GT1JNQVQsCisrICAgICAgICBvdXRidWYsIEdTVF9CVUZGRVJfT0ZGU0VUIChvdXRidWYpLAorKyAgICAgICAgR1NUX1RJTUVfQVJHUyAoR1NUX0JVRkZFUl9USU1FU1RBTVAgKG91dGJ1ZikpLAorKyAgICAgICAgR1NUX1RJTUVfQVJHUyAoR1NUX0JVRkZFUl9EVVJBVElPTiAob3V0YnVmKSkpOworKworKyAgICAvKiBtYXJrIHBlbmRpbmcgZGlzY29udCAqLworKyAgICBpZiAoZmZtcGVnZGVjLT5kaXNjb250KSB7CisrICAgICAgR1NUX0JVRkZFUl9GTEFHX1NFVCAob3V0YnVmLCBHU1RfQlVGRkVSX0ZMQUdfRElTQ09OVCk7CisrICAgICAgZmZtcGVnZGVjLT5kaXNjb250ID0gRkFMU0U7CisrICAgIH0KKysKKysgICAgaWYgKGZmbXBlZ2RlYy0+c2VnbWVudC5yYXRlID4gMC4wKSB7CisrICAgICAgLyogYW5kIG9mZiB3ZSBnbyAqLworKyAgICAgICpyZXQgPSBnc3RfcGFkX3B1c2ggKGZmbXBlZ2RlYy0+c3JjcGFkLCBvdXRidWYpOworKyAgICB9IGVsc2UgeworKyAgICAgIC8qIHJldmVyc2UgcGxheWJhY2ssIHF1ZXVlIGZyYW1lIHRpbGwgbGF0ZXIgd2hlbiB3ZSBnZXQgYSBkaXNjb250LiAqLworKyAgICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInF1ZXVlZCBmcmFtZSIpOworKyAgICAgIGZmbXBlZ2RlYy0+cXVldWVkID0gZ19saXN0X3ByZXBlbmQgKGZmbXBlZ2RlYy0+cXVldWVkLCBvdXRidWYpOworKyAgICAgICpyZXQgPSBHU1RfRkxPV19PSzsKKysgICAgfQorKyAgfSBlbHNlIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiV2UgZGlkbid0IGdldCBhIGRlY29kZWQgYnVmZmVyIik7CisrICB9CisrCisrYmVhY2g6CisrICByZXR1cm4gbGVuOworKworKyAgLyogRVJST1JTICovCisrbm9fY29kZWM6CisrICB7CisrICAgIEdTVF9FUlJPUl9PQkpFQ1QgKGZmbXBlZ2RlYywgIm5vIGNvZGVjIGNvbnRleHQiKTsKKysgICAgcmV0dXJuIC0xOworKyAgfQorK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdkZWNfZHJhaW4gKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYykKKyt7CisrICBHc3RGRk1wZWdEZWNDbGFzcyAqb2NsYXNzOworKworKyAgb2NsYXNzID0gKEdzdEZGTXBlZ0RlY0NsYXNzICopIChHX09CSkVDVF9HRVRfQ0xBU1MgKGZmbXBlZ2RlYykpOworKworKyAgaWYgKG9jbGFzcy0+aW5fcGx1Z2luLT5jYXBhYmlsaXRpZXMgJiBDT0RFQ19DQVBfREVMQVkpIHsKKysgICAgZ2ludCBoYXZlX2RhdGEsIGxlbiwgdHJ5ID0gMDsKKysKKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywKKysgICAgICAgICJjb2RlYyBoYXMgZGVsYXkgY2FwYWJpbGl0aWVzLCBjYWxsaW5nIHVudGlsIGZmbXBlZyBoYXMgZHJhaW5lZCBldmVyeXRoaW5nIik7CisrCisrICAgIGRvIHsKKysgICAgICBHc3RGbG93UmV0dXJuIHJldDsKKysKKysgICAgICBsZW4gPQorKyAgICAgICAgICBnc3RfZmZtcGVnZGVjX2ZyYW1lIChmZm1wZWdkZWMsIE5VTEwsIDAsICZoYXZlX2RhdGEsICZ0c19pbmZvX25vbmUsCisrICAgICAgICAgICZyZXQpOworKyAgICAgIGlmIChsZW4gPCAwIHx8IGhhdmVfZGF0YSA9PSAwKQorKyAgICAgICAgYnJlYWs7CisrICAgIH0gd2hpbGUgKHRyeSsrIDwgMTApOworKyAgfQorKyAgaWYgKGZmbXBlZ2RlYy0+c2VnbWVudC5yYXRlIDwgMC4wKSB7CisrICAgIC8qIGlmIHdlIGhhdmUgc29tZSBxdWV1ZWQgZnJhbWVzIGZvciByZXZlcnNlIHBsYXliYWNrLCBmbHVzaCB0aGVtIG5vdyAqLworKyAgICBmbHVzaF9xdWV1ZWQgKGZmbXBlZ2RlYyk7CisrICB9CisrfQorKworK3N0YXRpYyB2b2lkCisrZ3N0X2ZmbXBlZ2RlY19mbHVzaF9wY2FjaGUgKEdzdEZGTXBlZ0RlYyAqIGZmbXBlZ2RlYykKKyt7CisrICBpZiAoZmZtcGVnZGVjLT5wY3R4KSB7CisrICAgIGdpbnQgc2l6ZSwgYnNpemU7CisrICAgIGd1aW50OCAqZGF0YTsKKysgICAgZ3VpbnQ4IGJkYXRhW0ZGX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkVdOworKworKyAgICBic2l6ZSA9IEZGX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkU7CisrICAgIG1lbXNldCAoYmRhdGEsIDAsIGJzaXplKTsKKysKKysgICAgLyogcGFyc2Ugc29tZSBkdW1teSBkYXRhIHRvIHdvcmsgYXJvdW5kIHNvbWUgZmZtcGVnIHdlaXJkbmVzcyB3aGVyZSBpdCBrZWVwcworKyAgICAgKiB0aGUgcHJldmlvdXMgcHRzIGFyb3VuZCAqLworKyAgICBhdl9wYXJzZXJfcGFyc2UyIChmZm1wZWdkZWMtPnBjdHgsIGZmbXBlZ2RlYy0+Y29udGV4dCwKKysgICAgICAgICZkYXRhLCAmc2l6ZSwgYmRhdGEsIGJzaXplLCAtMSwgLTEsIC0xKTsKKysgICAgZmZtcGVnZGVjLT5wY3R4LT5wdHMgPSAtMTsKKysgICAgZmZtcGVnZGVjLT5wY3R4LT5kdHMgPSAtMTsKKysgIH0KKysKKysgIGlmIChmZm1wZWdkZWMtPnBjYWNoZSkgeworKyAgICBnc3RfYnVmZmVyX3VucmVmIChmZm1wZWdkZWMtPnBjYWNoZSk7CisrICAgIGZmbXBlZ2RlYy0+cGNhY2hlID0gTlVMTDsKKysgIH0KKyt9CisrCisrc3RhdGljIGdib29sZWFuCisrZ3N0X2ZmbXBlZ2RlY19zaW5rX2V2ZW50IChHc3RQYWQgKiBwYWQsIEdzdEV2ZW50ICogZXZlbnQpCisreworKyAgR3N0RkZNcGVnRGVjICpmZm1wZWdkZWM7CisrICBnYm9vbGVhbiByZXQgPSBGQUxTRTsKKysKKysgIGZmbXBlZ2RlYyA9IChHc3RGRk1wZWdEZWMgKikgZ3N0X3BhZF9nZXRfcGFyZW50IChwYWQpOworKworKyAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiSGFuZGxpbmcgJXMgZXZlbnQiLAorKyAgICAgIEdTVF9FVkVOVF9UWVBFX05BTUUgKGV2ZW50KSk7CisrCisrICBzd2l0Y2ggKEdTVF9FVkVOVF9UWVBFIChldmVudCkpIHsKKysgICAgY2FzZSBHU1RfRVZFTlRfRU9TOgorKyAgICB7CisrICAgICAgZ3N0X2ZmbXBlZ2RlY19kcmFpbiAoZmZtcGVnZGVjKTsKKysgICAgICBicmVhazsKKysgICAgfQorKyAgICBjYXNlIEdTVF9FVkVOVF9GTFVTSF9TVE9QOgorKyAgICB7CisrICAgICAgaWYgKGZmbXBlZ2RlYy0+b3BlbmVkKSB7CisrICAgICAgICBhdmNvZGVjX2ZsdXNoX2J1ZmZlcnMgKGZmbXBlZ2RlYy0+Y29udGV4dCk7CisrICAgICAgfQorKyAgICAgIGdzdF9mZm1wZWdkZWNfcmVzZXRfdHMgKGZmbXBlZ2RlYyk7CisrICAgICAgZ3N0X2ZmbXBlZ2RlY19yZXNldF9xb3MgKGZmbXBlZ2RlYyk7CisrICAgICAgZ3N0X2ZmbXBlZ2RlY19mbHVzaF9wY2FjaGUgKGZmbXBlZ2RlYyk7CisrICAgICAgZ3N0X3NlZ21lbnRfaW5pdCAoJmZmbXBlZ2RlYy0+c2VnbWVudCwgR1NUX0ZPUk1BVF9USU1FKTsKKysgICAgICBjbGVhcl9xdWV1ZWQgKGZmbXBlZ2RlYyk7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgY2FzZSBHU1RfRVZFTlRfTkVXU0VHTUVOVDoKKysgICAgeworKyAgICAgIGdib29sZWFuIHVwZGF0ZTsKKysgICAgICBHc3RGb3JtYXQgZm10OworKyAgICAgIGdpbnQ2NCBzdGFydCwgc3RvcCwgdGltZTsKKysgICAgICBnZG91YmxlIHJhdGUsIGFyYXRlOworKworKyAgICAgIGdzdF9ldmVudF9wYXJzZV9uZXdfc2VnbWVudF9mdWxsIChldmVudCwgJnVwZGF0ZSwgJnJhdGUsICZhcmF0ZSwgJmZtdCwKKysgICAgICAgICAgJnN0YXJ0LCAmc3RvcCwgJnRpbWUpOworKworKyAgICAgIHN3aXRjaCAoZm10KSB7CisrICAgICAgICBjYXNlIEdTVF9GT1JNQVRfVElNRToKKysgICAgICAgICAgLyogZmluZSwgb3VyIG5hdGl2ZSBzZWdtZW50IGZvcm1hdCAqLworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIGNhc2UgR1NUX0ZPUk1BVF9CWVRFUzoKKysgICAgICAgIHsKKysgICAgICAgICAgZ2ludCBiaXRfcmF0ZTsKKysKKysgICAgICAgICAgYml0X3JhdGUgPSBmZm1wZWdkZWMtPmNvbnRleHQtPmJpdF9yYXRlOworKworKyAgICAgICAgICAvKiBjb252ZXJ0IHRvIHRpbWUgb3IgZmFpbCAqLworKyAgICAgICAgICBpZiAoIWJpdF9yYXRlKQorKyAgICAgICAgICAgIGdvdG8gbm9fYml0cmF0ZTsKKysKKysgICAgICAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiYml0cmF0ZTogJWQiLCBiaXRfcmF0ZSk7CisrCisrICAgICAgICAgIC8qIGNvbnZlcnQgdmFsdWVzIHRvIFRJTUUgKi8KKysgICAgICAgICAgaWYgKHN0YXJ0ICE9IC0xKQorKyAgICAgICAgICAgIHN0YXJ0ID0gZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCAoc3RhcnQsIEdTVF9TRUNPTkQsIGJpdF9yYXRlKTsKKysgICAgICAgICAgaWYgKHN0b3AgIT0gLTEpCisrICAgICAgICAgICAgc3RvcCA9IGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnQgKHN0b3AsIEdTVF9TRUNPTkQsIGJpdF9yYXRlKTsKKysgICAgICAgICAgaWYgKHRpbWUgIT0gLTEpCisrICAgICAgICAgICAgdGltZSA9IGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnQgKHRpbWUsIEdTVF9TRUNPTkQsIGJpdF9yYXRlKTsKKysKKysgICAgICAgICAgLyogdW5yZWYgb2xkIGV2ZW50ICovCisrICAgICAgICAgIGdzdF9ldmVudF91bnJlZiAoZXZlbnQpOworKworKyAgICAgICAgICAvKiBjcmVhdGUgbmV3IGNvbnZlcnRlZCB0aW1lIHNlZ21lbnQgKi8KKysgICAgICAgICAgZm10ID0gR1NUX0ZPUk1BVF9USU1FOworKyAgICAgICAgICAvKiBGSVhNRSwgYml0cmF0ZSBpcyBub3QgZ29vZCBlbm91Z2ggdG9vIGZpbmQgYSBnb29kIHN0b3AsIGxldCdzCisrICAgICAgICAgICAqIGhvcGUgc3RhcnQgYW5kIHRpbWUgd2VyZSAwLi4uIG1laC4gKi8KKysgICAgICAgICAgc3RvcCA9IC0xOworKyAgICAgICAgICBldmVudCA9IGdzdF9ldmVudF9uZXdfbmV3X3NlZ21lbnQgKHVwZGF0ZSwgcmF0ZSwgZm10LAorKyAgICAgICAgICAgICAgc3RhcnQsIHN0b3AsIHRpbWUpOworKyAgICAgICAgICBicmVhazsKKysgICAgICAgIH0KKysgICAgICAgIGRlZmF1bHQ6CisrICAgICAgICAgIC8qIGludmFsaWQgZm9ybWF0ICovCisrICAgICAgICAgIGdvdG8gaW52YWxpZF9mb3JtYXQ7CisrICAgICAgfQorKworKyAgICAgIC8qIGRyYWluIHBlbmRpbmcgZnJhbWVzIGJlZm9yZSB0cnlpbmcgdG8gdXNlIHRoZSBuZXcgc2VnbWVudCwgcXVldWVkCisrICAgICAgICogYnVmZmVycyBiZWxvbmdlZCB0byB0aGUgcHJldmlvdXMgc2VnbWVudC4gKi8KKysgICAgICBpZiAoZmZtcGVnZGVjLT5jb250ZXh0LT5jb2RlYykKKysgICAgICAgIGdzdF9mZm1wZWdkZWNfZHJhaW4gKGZmbXBlZ2RlYyk7CisrCisrICAgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgICAiTkVXU0VHTUVOVCBpbiB0aW1lIHN0YXJ0ICUiIEdTVF9USU1FX0ZPUk1BVCAiIC0tIHN0b3AgJSIKKysgICAgICAgICAgR1NUX1RJTUVfRk9STUFULCBHU1RfVElNRV9BUkdTIChzdGFydCksIEdTVF9USU1FX0FSR1MgKHN0b3ApKTsKKysKKysgICAgICAvKiBhbmQgc3RvcmUgdGhlIHZhbHVlcyAqLworKyAgICAgIGdzdF9zZWdtZW50X3NldF9uZXdzZWdtZW50X2Z1bGwgKCZmZm1wZWdkZWMtPnNlZ21lbnQsIHVwZGF0ZSwKKysgICAgICAgICAgcmF0ZSwgYXJhdGUsIGZtdCwgc3RhcnQsIHN0b3AsIHRpbWUpOworKyAgICAgIGJyZWFrOworKyAgICB9CisrICAgIGRlZmF1bHQ6CisrICAgICAgYnJlYWs7CisrICB9CisrCisrICAvKiBhbmQgcHVzaCBzZWdtZW50IGRvd25zdHJlYW0gKi8KKysgIHJldCA9IGdzdF9wYWRfcHVzaF9ldmVudCAoZmZtcGVnZGVjLT5zcmNwYWQsIGV2ZW50KTsKKysKKytkb25lOgorKyAgZ3N0X29iamVjdF91bnJlZiAoZmZtcGVnZGVjKTsKKysKKysgIHJldHVybiByZXQ7CisrCisrICAvKiBFUlJPUlMgKi8KKytub19iaXRyYXRlOgorKyAgeworKyAgICBHU1RfV0FSTklOR19PQkpFQ1QgKGZmbXBlZ2RlYywgIm5vIGJpdHJhdGUgdG8gY29udmVydCBCWVRFUyB0byBUSU1FIik7CisrICAgIGdzdF9ldmVudF91bnJlZiAoZXZlbnQpOworKyAgICBnb3RvIGRvbmU7CisrICB9CisraW52YWxpZF9mb3JtYXQ6CisrICB7CisrICAgIEdTVF9XQVJOSU5HX09CSkVDVCAoZmZtcGVnZGVjLCAidW5rbm93biBmb3JtYXQgcmVjZWl2ZWQgaW4gTkVXU0VHTUVOVCIpOworKyAgICBnc3RfZXZlbnRfdW5yZWYgKGV2ZW50KTsKKysgICAgZ290byBkb25lOworKyAgfQorK30KKysKKytzdGF0aWMgR3N0Rmxvd1JldHVybgorK2dzdF9mZm1wZWdkZWNfY2hhaW4gKEdzdFBhZCAqIHBhZCwgR3N0QnVmZmVyICogaW5idWYpCisreworKyAgR3N0RkZNcGVnRGVjICpmZm1wZWdkZWM7CisrICBHc3RGRk1wZWdEZWNDbGFzcyAqb2NsYXNzOworKyAgZ3VpbnQ4ICpkYXRhLCAqYmRhdGE7CisrICBnaW50IHNpemUsIGJzaXplLCBsZW4sIGhhdmVfZGF0YTsKKysgIEdzdEZsb3dSZXR1cm4gcmV0ID0gR1NUX0ZMT1dfT0s7CisrICBHc3RDbG9ja1RpbWUgaW5fdGltZXN0YW1wOworKyAgR3N0Q2xvY2tUaW1lIGluX2R1cmF0aW9uOworKyAgZ2Jvb2xlYW4gZGlzY29udDsKKysgIGdpbnQ2NCBpbl9vZmZzZXQ7CisrICBjb25zdCBHc3RUU0luZm8gKmluX2luZm87CisrICBjb25zdCBHc3RUU0luZm8gKmRlY19pbmZvOworKworKyAgZmZtcGVnZGVjID0gKEdzdEZGTXBlZ0RlYyAqKSAoR1NUX1BBRF9QQVJFTlQgKHBhZCkpOworKworKyAgaWYgKEdfVU5MSUtFTFkgKCFmZm1wZWdkZWMtPm9wZW5lZCkpCisrICAgIGdvdG8gbm90X25lZ290aWF0ZWQ7CisrCisrICBkaXNjb250ID0gR1NUX0JVRkZFUl9JU19ESVNDT05UIChpbmJ1Zik7CisrCisrICAvKiBUaGUgZGlzY29udCBmbGFncyBtYXJrcyBhIGJ1ZmZlciB0aGF0IGlzIG5vdCBjb250aW51b3VzIHdpdGggdGhlIHByZXZpb3VzCisrICAgKiBidWZmZXIuIFRoaXMgbWVhbnMgd2UgbmVlZCB0byBjbGVhciB3aGF0ZXZlciBkYXRhIHdlIGN1cnJlbnRseSBoYXZlLiBXZQorKyAgICogY3VycmVudGx5IGFsc28gd2FpdCBmb3IgYSBuZXcga2V5ZnJhbWUsIHdoaWNoIG1pZ2h0IGJlIHN1Ym9wdGltYWwgaW4gdGhlCisrICAgKiBjYXNlIG9mIGEgbmV0d29yayBlcnJvciwgYmV0dGVyIHNob3cgdGhlIGVycm9ycyB0aGFuIHRvIGRyb3AgYWxsIGRhdGEuLiAqLworKyAgaWYgKEdfVU5MSUtFTFkgKGRpc2NvbnQpKSB7CisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKGZmbXBlZ2RlYywgInJlY2VpdmVkIERJU0NPTlQiKTsKKysgICAgLyogZHJhaW4gd2hhdCB3ZSBoYXZlIHF1ZXVlZCAqLworKyAgICBnc3RfZmZtcGVnZGVjX2RyYWluIChmZm1wZWdkZWMpOworKyAgICBnc3RfZmZtcGVnZGVjX2ZsdXNoX3BjYWNoZSAoZmZtcGVnZGVjKTsKKysgICAgYXZjb2RlY19mbHVzaF9idWZmZXJzIChmZm1wZWdkZWMtPmNvbnRleHQpOworKyAgICBmZm1wZWdkZWMtPmRpc2NvbnQgPSBUUlVFOworKyAgICBnc3RfZmZtcGVnZGVjX3Jlc2V0X3RzIChmZm1wZWdkZWMpOworKyAgfQorKyAgLyogYnkgZGVmYXVsdCB3ZSBjbGVhciB0aGUgaW5wdXQgdGltZXN0YW1wIGFmdGVyIGRlY29kaW5nIGVhY2ggZnJhbWUgc28gdGhhdAorKyAgICogaW50ZXJwb2xsYXRpb24gY2FuIHdvcmsuICovCisrICBmZm1wZWdkZWMtPmNsZWFyX3RzID0gVFJVRTsKKysKKysgIG9jbGFzcyA9IChHc3RGRk1wZWdEZWNDbGFzcyAqKSAoR19PQkpFQ1RfR0VUX0NMQVNTIChmZm1wZWdkZWMpKTsKKysKKysgIC8qIHBhcnNlIGNhY2hlIGpvaW5pbmcuIElmIHRoZXJlIGlzIGNhY2hlZCBkYXRhICovCisrICBpZiAoZmZtcGVnZGVjLT5wY2FjaGUpIHsKKysgICAgLyogam9pbiB3aXRoIHByZXZpb3VzIGRhdGEgKi8KKysgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImpvaW4gcGFyc2UgY2FjaGUiKTsKKysgICAgaW5idWYgPSBnc3RfYnVmZmVyX2pvaW4gKGZmbXBlZ2RlYy0+cGNhY2hlLCBpbmJ1Zik7CisrICAgIC8qIG5vIG1vcmUgY2FjaGVkIGRhdGEsIHdlIGFzc3VtZSB3ZSBjYW4gY29uc3VtZSB0aGUgY29tcGxldGUgY2FjaGUgKi8KKysgICAgZmZtcGVnZGVjLT5wY2FjaGUgPSBOVUxMOworKyAgfQorKworKyAgaW5fdGltZXN0YW1wID0gR1NUX0JVRkZFUl9USU1FU1RBTVAgKGluYnVmKTsKKysgIGluX2R1cmF0aW9uID0gR1NUX0JVRkZFUl9EVVJBVElPTiAoaW5idWYpOworKyAgaW5fb2Zmc2V0ID0gR1NUX0JVRkZFUl9PRkZTRVQgKGluYnVmKTsKKysKKysgIC8qIGdldCBoYW5kbGUgdG8gdGltZXN0YW1wIGluZm8sIHdlIGNhbiBwYXNzIHRoaXMgYXJvdW5kIHRvIGZmbXBlZyAqLworKyAgaW5faW5mbyA9IGdzdF90c19pbmZvX3N0b3JlIChmZm1wZWdkZWMsIGluX3RpbWVzdGFtcCwgaW5fZHVyYXRpb24sIGluX29mZnNldCk7CisrCisrICBpZiAoaW5fdGltZXN0YW1wICE9IC0xKSB7CisrICAgIC8qIGNoZWNrIGZvciBpbmNyZWFzaW5nIHRpbWVzdGFtcHMgaWYgdGhleSBhcmUganVtcGluZyBiYWNrd2FyZHMsIHdlCisrICAgICAqIHByb2JhYmx5IGFyZSBkZWFsaW5nIHdpdGggUFRTIGFzIHRpbWVzdGFtcHMgKi8KKysgICAgaWYgKCFmZm1wZWdkZWMtPnJlb3JkZXJlZF9pbiAmJiBmZm1wZWdkZWMtPmxhc3RfaW4gIT0gLTEpIHsKKysgICAgICBpZiAoaW5fdGltZXN0YW1wIDwgZmZtcGVnZGVjLT5sYXN0X2luKSB7CisrICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiZGV0ZWN0ZWQgcmVvcmRlcmVkIGlucHV0IHRpbWVzdGFtcHMiKTsKKysgICAgICAgIGZmbXBlZ2RlYy0+cmVvcmRlcmVkX2luID0gVFJVRTsKKysgICAgICAgIGZmbXBlZ2RlYy0+bGFzdF9kaWZmID0gR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysgICAgICB9IGVsc2UgaWYgKGluX3RpbWVzdGFtcCA+IGZmbXBlZ2RlYy0+bGFzdF9pbikgeworKyAgICAgICAgR3N0Q2xvY2tUaW1lIGRpZmY7CisrICAgICAgICAvKiBrZWVwIHRyYWNrIG9mIHRpbWVzdGFtcCBkaWZmIHRvIGVzdGltYXRlIGR1cmF0aW9uICovCisrICAgICAgICBkaWZmID0gaW5fdGltZXN0YW1wIC0gZmZtcGVnZGVjLT5sYXN0X2luOworKyAgICAgICAgLyogbmVlZCB0byBzY2FsZSB3aXRoIGFtb3VudCBvZiBmcmFtZXMgaW4gdGhlIGludGVydmFsICovCisrICAgICAgICBpZiAoZmZtcGVnZGVjLT5sYXN0X2ZyYW1lcykKKysgICAgICAgICAgZGlmZiAvPSBmZm1wZWdkZWMtPmxhc3RfZnJhbWVzOworKworKyAgICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImVzdGltYXRlZCBkdXJhdGlvbiAlIiBHU1RfVElNRV9GT1JNQVQgIiAldSIsCisrICAgICAgICAgICAgR1NUX1RJTUVfQVJHUyAoZGlmZiksIGZmbXBlZ2RlYy0+bGFzdF9mcmFtZXMpOworKworKyAgICAgICAgZmZtcGVnZGVjLT5sYXN0X2RpZmYgPSBkaWZmOworKyAgICAgIH0KKysgICAgfQorKyAgICBmZm1wZWdkZWMtPmxhc3RfaW4gPSBpbl90aW1lc3RhbXA7CisrICAgIGZmbXBlZ2RlYy0+bGFzdF9mcmFtZXMgPSAwOworKyAgfQorKworKyAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywKKysgICAgICAiUmVjZWl2ZWQgbmV3IGRhdGEgb2Ygc2l6ZSAldSwgb2Zmc2V0OiUiIEdfR1VJTlQ2NF9GT1JNQVQgIiwgdHM6JSIKKysgICAgICBHU1RfVElNRV9GT1JNQVQgIiwgZHVyOiUiIEdTVF9USU1FX0ZPUk1BVCAiLCBpbmZvICVkIiwKKysgICAgICBHU1RfQlVGRkVSX1NJWkUgKGluYnVmKSwgR1NUX0JVRkZFUl9PRkZTRVQgKGluYnVmKSwKKysgICAgICBHU1RfVElNRV9BUkdTIChpbl90aW1lc3RhbXApLCBHU1RfVElNRV9BUkdTIChpbl9kdXJhdGlvbiksIGluX2luZm8tPmlkeCk7CisrCisrICAvKiB3b3JrYXJvdW5kcywgZnVuY3Rpb25zIHdyaXRlIHRvIGJ1ZmZlcnM6CisrICAgKiAgbGliYXZjb2RlYy9zdnExLmM6c3ZxMV9kZWNvZGVfZnJhbWUgd3JpdGVzIHRvIHRoZSBnaXZlbiBidWZmZXIuCisrICAgKiAgbGliYXZjb2RlYy9zdnEzLmM6c3ZxM19kZWNvZGVfc2xpY2VfaGVhZGVyIHRvby4KKysgICAqIGZmbXBlZyBkZXZzIGtub3cgYWJvdXQgaXQgYW5kIHdpbGwgZml4IGl0ICh0aGV5IHNhaWQpLiAqLworKyAgaWYgKG9jbGFzcy0+aW5fcGx1Z2luLT5pZCA9PSBDT0RFQ19JRF9TVlExIHx8CisrICAgICAgb2NsYXNzLT5pbl9wbHVnaW4tPmlkID09IENPREVDX0lEX1NWUTMpIHsKKysgICAgaW5idWYgPSBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUgKGluYnVmKTsKKysgIH0KKysKKysgIGJkYXRhID0gR1NUX0JVRkZFUl9EQVRBIChpbmJ1Zik7CisrICBic2l6ZSA9IEdTVF9CVUZGRVJfU0laRSAoaW5idWYpOworKworKyAgaWYgKGZmbXBlZ2RlYy0+ZG9fcGFkZGluZykgeworKyAgICAvKiBhZGQgcGFkZGluZyAqLworKyAgICBpZiAoZmZtcGVnZGVjLT5wYWRkZWRfc2l6ZSA8IGJzaXplICsgRkZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSkgeworKyAgICAgIGZmbXBlZ2RlYy0+cGFkZGVkX3NpemUgPSBic2l6ZSArIEZGX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkU7CisrICAgICAgZmZtcGVnZGVjLT5wYWRkZWQgPSBnX3JlYWxsb2MgKGZmbXBlZ2RlYy0+cGFkZGVkLCBmZm1wZWdkZWMtPnBhZGRlZF9zaXplKTsKKysgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAicmVzaXplZCBwYWRkaW5nIGJ1ZmZlciB0byAlZCIsCisrICAgICAgICAgIGZmbXBlZ2RlYy0+cGFkZGVkX3NpemUpOworKyAgICB9CisrICAgIG1lbWNweSAoZmZtcGVnZGVjLT5wYWRkZWQsIGJkYXRhLCBic2l6ZSk7CisrICAgIG1lbXNldCAoZmZtcGVnZGVjLT5wYWRkZWQgKyBic2l6ZSwgMCwgRkZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSk7CisrCisrICAgIGJkYXRhID0gZmZtcGVnZGVjLT5wYWRkZWQ7CisrICB9CisrCisrICBkbyB7CisrICAgIGd1aW50OCB0bXBfcGFkZGluZ1tGRl9JTlBVVF9CVUZGRVJfUEFERElOR19TSVpFXTsKKysKKysgICAgLyogcGFyc2UsIGlmIGF0IGFsbCBwb3NzaWJsZSAqLworKyAgICBpZiAoZmZtcGVnZGVjLT5wY3R4KSB7CisrICAgICAgZ2ludCByZXM7CisrCisrICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywKKysgICAgICAgICAgIkNhbGxpbmcgYXZfcGFyc2VyX3BhcnNlMiB3aXRoIG9mZnNldCAlIiBHX0dJTlQ2NF9GT1JNQVQgIiwgdHM6JSIKKysgICAgICAgICAgR1NUX1RJTUVfRk9STUFUICIgc2l6ZSAlZCIsIGluX29mZnNldCwgR1NUX1RJTUVfQVJHUyAoaW5fdGltZXN0YW1wKSwKKysgICAgICAgICAgYnNpemUpOworKworKyAgICAgIC8qIGZlZWQgdGhlIHBhcnNlci4gV2UgcGFzcyB0aGUgdGltZXN0YW1wIGluZm8gc28gdGhhdCB3ZSBjYW4gcmVjb3ZlciBhbGwKKysgICAgICAgKiBpbmZvIGFnYWluIGxhdGVyICovCisrICAgICAgcmVzID0gYXZfcGFyc2VyX3BhcnNlMiAoZmZtcGVnZGVjLT5wY3R4LCBmZm1wZWdkZWMtPmNvbnRleHQsCisrICAgICAgICAgICZkYXRhLCAmc2l6ZSwgYmRhdGEsIGJzaXplLCBpbl9pbmZvLT5pZHgsIGluX2luZm8tPmlkeCwgaW5fb2Zmc2V0KTsKKysKKysgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgICAicGFyc2VyIHJldHVybmVkIHJlcyAlZCBhbmQgc2l6ZSAlZCwgaWQgJSIgR19HSU5UNjRfRk9STUFULCByZXMsIHNpemUsCisrICAgICAgICAgIGZmbXBlZ2RlYy0+cGN0eC0+cHRzKTsKKysKKysgICAgICAvKiBzdG9yZSBwdHMgZm9yIGRlY29kaW5nICovCisrICAgICAgaWYgKGZmbXBlZ2RlYy0+cGN0eC0+cHRzICE9IEFWX05PUFRTX1ZBTFVFICYmIGZmbXBlZ2RlYy0+cGN0eC0+cHRzICE9IC0xKQorKyAgICAgICAgZGVjX2luZm8gPSBnc3RfdHNfaW5mb19nZXQgKGZmbXBlZ2RlYywgZmZtcGVnZGVjLT5wY3R4LT5wdHMpOworKyAgICAgIGVsc2UgeworKyAgICAgICAgLyogZmZtcGVnIHNvbWV0aW1lcyBsb3NlcyB0cmFjayBhZnRlciBhIGZsdXNoLCBoZWxwIGl0IGJ5IGZlZWRpbmcgYQorKyAgICAgICAgICogdmFsaWQgc3RhcnQgdGltZSAqLworKyAgICAgICAgZmZtcGVnZGVjLT5wY3R4LT5wdHMgPSBpbl9pbmZvLT5pZHg7CisrICAgICAgICBmZm1wZWdkZWMtPnBjdHgtPmR0cyA9IGluX2luZm8tPmlkeDsKKysgICAgICAgIGRlY19pbmZvID0gaW5faW5mbzsKKysgICAgICB9CisrCisrICAgICAgR1NUX0xPR19PQkpFQ1QgKGZmbXBlZ2RlYywgImNvbnN1bWluZyAlZCBieXRlcy4gaWQgJWQiLCBzaXplLAorKyAgICAgICAgICBkZWNfaW5mby0+aWR4KTsKKysKKysgICAgICBpZiAocmVzKSB7CisrICAgICAgICAvKiB0aGVyZSBpcyBvdXRwdXQsIHNldCBwb2ludGVycyBmb3IgbmV4dCByb3VuZC4gKi8KKysgICAgICAgIGJzaXplIC09IHJlczsKKysgICAgICAgIGJkYXRhICs9IHJlczsKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgLyogUGFyc2VyIGRpZCBub3QgY29uc3VtZSBhbnkgZGF0YSwgbWFrZSBzdXJlIHdlIGRvbid0IGNsZWFyIHRoZQorKyAgICAgICAgICogdGltZXN0YW1wIGZvciB0aGUgbmV4dCByb3VuZCAqLworKyAgICAgICAgZmZtcGVnZGVjLT5jbGVhcl90cyA9IEZBTFNFOworKyAgICAgIH0KKysKKysgICAgICAvKiBpZiB0aGVyZSBpcyBubyBvdXRwdXQsIHdlIG11c3QgYnJlYWsgYW5kIHdhaXQgZm9yIG1vcmUgZGF0YS4gYWxzbyB0aGUKKysgICAgICAgKiB0aW1lc3RhbXAgaW4gdGhlIGNvbnRleHQgaXMgbm90IHVwZGF0ZWQuICovCisrICAgICAgaWYgKHNpemUgPT0gMCkgeworKyAgICAgICAgaWYgKGJzaXplID4gMCkKKysgICAgICAgICAgY29udGludWU7CisrICAgICAgICBlbHNlCisrICAgICAgICAgIGJyZWFrOworKyAgICAgIH0KKysgICAgfSBlbHNlIHsKKysgICAgICBkYXRhID0gYmRhdGE7CisrICAgICAgc2l6ZSA9IGJzaXplOworKworKyAgICAgIGRlY19pbmZvID0gaW5faW5mbzsKKysgICAgfQorKworKyAgICBpZiAoZmZtcGVnZGVjLT5kb19wYWRkaW5nKSB7CisrICAgICAgLyogYWRkIHRlbXBvcmFyeSBwYWRkaW5nICovCisrICAgICAgbWVtY3B5ICh0bXBfcGFkZGluZywgZGF0YSArIHNpemUsIEZGX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkUpOworKyAgICAgIG1lbXNldCAoZGF0YSArIHNpemUsIDAsIEZGX0lOUFVUX0JVRkZFUl9QQURESU5HX1NJWkUpOworKyAgICB9CisrCisrICAgIC8qIGRlY29kZSBhIGZyYW1lIG9mIGF1ZGlvL3ZpZGVvIG5vdyAqLworKyAgICBsZW4gPQorKyAgICAgICAgZ3N0X2ZmbXBlZ2RlY19mcmFtZSAoZmZtcGVnZGVjLCBkYXRhLCBzaXplLCAmaGF2ZV9kYXRhLCBkZWNfaW5mbywgJnJldCk7CisrCisrICAgIGlmIChmZm1wZWdkZWMtPmRvX3BhZGRpbmcpIHsKKysgICAgICBtZW1jcHkgKGRhdGEgKyBzaXplLCB0bXBfcGFkZGluZywgRkZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSk7CisrICAgIH0KKysKKysgICAgaWYgKHJldCAhPSBHU1RfRkxPV19PSykgeworKyAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJicmVha2luZyBiZWNhdXNlIG9mIGZsb3cgcmV0ICVzIiwKKysgICAgICAgICAgZ3N0X2Zsb3dfZ2V0X25hbWUgKHJldCkpOworKyAgICAgIC8qIGJhZCBmbG93IHJldHVuLCBtYWtlIHN1cmUgd2UgZGlzY2FyZCBhbGwgZGF0YSBhbmQgZXhpdCAqLworKyAgICAgIGJzaXplID0gMDsKKysgICAgICBicmVhazsKKysgICAgfQorKyAgICBpZiAoIWZmbXBlZ2RlYy0+cGN0eCkgeworKyAgICAgIGlmIChsZW4gPT0gMCAmJiAhaGF2ZV9kYXRhKSB7CisrICAgICAgICAvKiBub3RoaW5nIHdhcyBkZWNvZGVkLCB0aGlzIGNvdWxkIGJlIGJlY2F1c2Ugbm8gZGF0YSB3YXMgYXZhaWxhYmxlIG9yCisrICAgICAgICAgKiBiZWNhdXNlIHdlIHdlcmUgc2tpcHBpbmcgZnJhbWVzLgorKyAgICAgICAgICogSWYgd2UgaGF2ZSBubyBjb250ZXh0IHdlIG11c3QgZXhpdCBhbmQgd2FpdCBmb3IgbW9yZSBkYXRhLCB3ZSBrZWVwIHRoZQorKyAgICAgICAgICogZGF0YSB3ZSB0cmllZC4gKi8KKysgICAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJEZWNvZGluZyBkaWRuJ3QgcmV0dXJuIGFueSBkYXRhLCBicmVha2luZyIpOworKyAgICAgICAgYnJlYWs7CisrICAgICAgfSBlbHNlIGlmIChsZW4gPCAwKSB7CisrICAgICAgICAvKiBhIGRlY29kaW5nIGVycm9yIGhhcHBlbmVkLCB3ZSBtdXN0IGJyZWFrIGFuZCB0cnkgYWdhaW4gd2l0aCBuZXh0IGRhdGEuICovCisrICAgICAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLCAiRGVjb2RpbmcgZXJyb3IsIGJyZWFraW5nIik7CisrICAgICAgICBic2l6ZSA9IDA7CisrICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAgLyogcHJlcGFyZSBmb3IgdGhlIG5leHQgcm91bmQsIGZvciBjb2RlY3Mgd2l0aCBhIGNvbnRleHQgd2UgZGlkIHRoaXMKKysgICAgICAgKiBhbHJlYWR5IHdoZW4gdXNpbmcgdGhlIHBhcnNlci4gKi8KKysgICAgICBic2l6ZSAtPSBsZW47CisrICAgICAgYmRhdGEgKz0gbGVuOworKyAgICB9IGVsc2UgeworKyAgICAgIGlmIChsZW4gPT0gMCkgeworKyAgICAgICAgLyogbm90aGluZyB3YXMgZGVjb2RlZCwgdGhpcyBjb3VsZCBiZSBiZWNhdXNlIG5vIGRhdGEgd2FzIGF2YWlsYWJsZSBvcgorKyAgICAgICAgICogYmVjYXVzZSB3ZSB3ZXJlIHNraXBwaW5nIGZyYW1lcy4gU2luY2Ugd2UgaGF2ZSBhIHBhcnNlciB3ZSBjYW4KKysgICAgICAgICAqIGNvbnRpbnVlIHdpdGggdGhlIG5leHQgZnJhbWUgKi8KKysgICAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsCisrICAgICAgICAgICAgIkRlY29kaW5nIGRpZG4ndCByZXR1cm4gYW55IGRhdGEsIHRyeWluZyBuZXh0Iik7CisrICAgICAgfSBlbHNlIGlmIChsZW4gPCAwKSB7CisrICAgICAgICAvKiB3ZSBoYXZlIGEgY29udGV4dCB0aGF0IHdpbGwgYnJpbmcgdXMgdG8gdGhlIG5leHQgZnJhbWUgKi8KKysgICAgICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJEZWNvZGluZyBlcnJvciwgdHJ5aW5nIG5leHQiKTsKKysgICAgICB9CisrICAgIH0KKysKKysgICAgLyogbWFrZSBzdXJlIHdlIGRvbid0IHVzZSB0aGUgc2FtZSBvbGQgdGltZXN0YW1wIGZvciB0aGUgbmV4dCBmcmFtZSBhbmQgbGV0CisrICAgICAqIHRoZSBpbnRlcnBvbGxhdGlvbiB0YWtlIGNhcmUgb2YgaXQuICovCisrICAgIGlmIChmZm1wZWdkZWMtPmNsZWFyX3RzKSB7CisrICAgICAgaW5fdGltZXN0YW1wID0gR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysgICAgICBpbl9kdXJhdGlvbiA9IEdTVF9DTE9DS19USU1FX05PTkU7CisrICAgICAgaW5fb2Zmc2V0ID0gR1NUX0JVRkZFUl9PRkZTRVRfTk9ORTsKKysgICAgICBpbl9pbmZvID0gR1NUX1RTX0lORk9fTk9ORTsKKysgICAgfSBlbHNlIHsKKysgICAgICBmZm1wZWdkZWMtPmNsZWFyX3RzID0gVFJVRTsKKysgICAgfQorKyAgICBmZm1wZWdkZWMtPmxhc3RfZnJhbWVzKys7CisrCisrICAgIEdTVF9MT0dfT0JKRUNUIChmZm1wZWdkZWMsICJCZWZvcmUgKHdoaWxlIGJzaXplPjApLiAgYnNpemU6JWQgLCBiZGF0YTolcCIsCisrICAgICAgICBic2l6ZSwgYmRhdGEpOworKyAgfSB3aGlsZSAoYnNpemUgPiAwKTsKKysKKysgIC8qIGtlZXAgbGVmdC1vdmVyICovCisrICBpZiAoZmZtcGVnZGVjLT5wY3R4ICYmIGJzaXplID4gMCkgeworKyAgICBpbl90aW1lc3RhbXAgPSBHU1RfQlVGRkVSX1RJTUVTVEFNUCAoaW5idWYpOworKyAgICBpbl9vZmZzZXQgPSBHU1RfQlVGRkVSX09GRlNFVCAoaW5idWYpOworKworKyAgICBHU1RfTE9HX09CSkVDVCAoZmZtcGVnZGVjLAorKyAgICAgICAgIktlZXBpbmcgJWQgYnl0ZXMgb2YgZGF0YSB3aXRoIG9mZnNldCAlIiBHX0dJTlQ2NF9GT1JNQVQgIiwgdGltZXN0YW1wICUiCisrICAgICAgICBHU1RfVElNRV9GT1JNQVQsIGJzaXplLCBpbl9vZmZzZXQsIEdTVF9USU1FX0FSR1MgKGluX3RpbWVzdGFtcCkpOworKworKyAgICBmZm1wZWdkZWMtPnBjYWNoZSA9IGdzdF9idWZmZXJfY3JlYXRlX3N1YiAoaW5idWYsCisrICAgICAgICBHU1RfQlVGRkVSX1NJWkUgKGluYnVmKSAtIGJzaXplLCBic2l6ZSk7CisrICAgIC8qIHdlIGtlZXAgdGltZXN0YW1wLCBldmVuIHRob3VnaCBhbGwgd2UgcmVhbGx5IGtub3cgaXMgdGhhdCB0aGUgY29ycmVjdAorKyAgICAgKiB0aW1lc3RhbXAgaXMgbm90IGJlbG93IHRoZSBvbmUgZnJvbSBpbmJ1ZiAqLworKyAgICBHU1RfQlVGRkVSX1RJTUVTVEFNUCAoZmZtcGVnZGVjLT5wY2FjaGUpID0gaW5fdGltZXN0YW1wOworKyAgICBHU1RfQlVGRkVSX09GRlNFVCAoZmZtcGVnZGVjLT5wY2FjaGUpID0gaW5fb2Zmc2V0OworKyAgfSBlbHNlIGlmIChic2l6ZSA+IDApIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoZmZtcGVnZGVjLCAiRHJvcHBpbmcgJWQgYnl0ZXMgb2YgZGF0YSIsIGJzaXplKTsKKysgIH0KKysgIGdzdF9idWZmZXJfdW5yZWYgKGluYnVmKTsKKysKKysgIHJldHVybiByZXQ7CisrCisrICAvKiBFUlJPUlMgKi8KKytub3RfbmVnb3RpYXRlZDoKKysgIHsKKysgICAgb2NsYXNzID0gKEdzdEZGTXBlZ0RlY0NsYXNzICopIChHX09CSkVDVF9HRVRfQ0xBU1MgKGZmbXBlZ2RlYykpOworKyAgICBHU1RfRUxFTUVOVF9FUlJPUiAoZmZtcGVnZGVjLCBDT1JFLCBORUdPVElBVElPTiwgKE5VTEwpLAorKyAgICAgICAgKCJmZmRlY18lczogaW5wdXQgZm9ybWF0IHdhcyBub3Qgc2V0IGJlZm9yZSBkYXRhIHN0YXJ0IiwKKysgICAgICAgICAgICBvY2xhc3MtPmluX3BsdWdpbi0+bmFtZSkpOworKyAgICBnc3RfYnVmZmVyX3VucmVmIChpbmJ1Zik7CisrICAgIHJldHVybiBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRDsKKysgIH0KKyt9CisrCisrc3RhdGljIEdzdFN0YXRlQ2hhbmdlUmV0dXJuCisrZ3N0X2ZmbXBlZ2RlY19jaGFuZ2Vfc3RhdGUgKEdzdEVsZW1lbnQgKiBlbGVtZW50LCBHc3RTdGF0ZUNoYW5nZSB0cmFuc2l0aW9uKQorK3sKKysgIEdzdEZGTXBlZ0RlYyAqZmZtcGVnZGVjID0gKEdzdEZGTXBlZ0RlYyAqKSBlbGVtZW50OworKyAgR3N0U3RhdGVDaGFuZ2VSZXR1cm4gcmV0OworKworKyAgcmV0ID0gR1NUX0VMRU1FTlRfQ0xBU1MgKHBhcmVudF9jbGFzcyktPmNoYW5nZV9zdGF0ZSAoZWxlbWVudCwgdHJhbnNpdGlvbik7CisrCisrICBzd2l0Y2ggKHRyYW5zaXRpb24pIHsKKysgICAgY2FzZSBHU1RfU1RBVEVfQ0hBTkdFX1BBVVNFRF9UT19SRUFEWToKKysgICAgICBHU1RfT0JKRUNUX0xPQ0sgKGZmbXBlZ2RlYyk7CisrICAgICAgZ3N0X2ZmbXBlZ2RlY19jbG9zZSAoZmZtcGVnZGVjKTsKKysgICAgICBHU1RfT0JKRUNUX1VOTE9DSyAoZmZtcGVnZGVjKTsKKysgICAgICBjbGVhcl9xdWV1ZWQgKGZmbXBlZ2RlYyk7CisrICAgICAgZ19mcmVlIChmZm1wZWdkZWMtPnBhZGRlZCk7CisrICAgICAgZmZtcGVnZGVjLT5wYWRkZWQgPSBOVUxMOworKyAgICAgIGZmbXBlZ2RlYy0+cGFkZGVkX3NpemUgPSAwOworKyAgICAgIGZmbXBlZ2RlYy0+Y2FuX2FsbG9jYXRlX2FsaWduZWQgPSBUUlVFOworKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgcmV0dXJuIHJldDsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnZGVjX3NldF9wcm9wZXJ0eSAoR09iamVjdCAqIG9iamVjdCwKKysgICAgZ3VpbnQgcHJvcF9pZCwgY29uc3QgR1ZhbHVlICogdmFsdWUsIEdQYXJhbVNwZWMgKiBwc3BlYykKKyt7CisrICBHc3RGRk1wZWdEZWMgKmZmbXBlZ2RlYyA9IChHc3RGRk1wZWdEZWMgKikgb2JqZWN0OworKworKyAgc3dpdGNoIChwcm9wX2lkKSB7CisrICAgIGNhc2UgUFJPUF9MT1dSRVM6CisrICAgICAgZmZtcGVnZGVjLT5sb3dyZXMgPSBmZm1wZWdkZWMtPmNvbnRleHQtPmxvd3JlcyA9IGdfdmFsdWVfZ2V0X2VudW0gKHZhbHVlKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQUk9QX1NLSVBGUkFNRToKKysgICAgICBmZm1wZWdkZWMtPnNraXBfZnJhbWUgPSBmZm1wZWdkZWMtPmNvbnRleHQtPnNraXBfZnJhbWUgPQorKyAgICAgICAgICBnX3ZhbHVlX2dldF9lbnVtICh2YWx1ZSk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUFJPUF9ESVJFQ1RfUkVOREVSSU5HOgorKyAgICAgIGZmbXBlZ2RlYy0+ZGlyZWN0X3JlbmRlcmluZyA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4gKHZhbHVlKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQUk9QX0RPX1BBRERJTkc6CisrICAgICAgZmZtcGVnZGVjLT5kb19wYWRkaW5nID0gZ192YWx1ZV9nZXRfYm9vbGVhbiAodmFsdWUpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBST1BfREVCVUdfTVY6CisrICAgICAgZmZtcGVnZGVjLT5kZWJ1Z19tdiA9IGZmbXBlZ2RlYy0+Y29udGV4dC0+ZGVidWdfbXYgPQorKyAgICAgICAgICBnX3ZhbHVlX2dldF9ib29sZWFuICh2YWx1ZSk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUFJPUF9DUk9QOgorKyAgICAgIGZmbXBlZ2RlYy0+Y3JvcCA9IGdfdmFsdWVfZ2V0X2Jvb2xlYW4gKHZhbHVlKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQUk9QX01BWF9USFJFQURTOgorKyAgICAgIGZmbXBlZ2RlYy0+bWF4X3RocmVhZHMgPSBnX3ZhbHVlX2dldF9pbnQgKHZhbHVlKTsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQgKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOworKyAgICAgIGJyZWFrOworKyAgfQorK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdkZWNfZ2V0X3Byb3BlcnR5IChHT2JqZWN0ICogb2JqZWN0LAorKyAgICBndWludCBwcm9wX2lkLCBHVmFsdWUgKiB2YWx1ZSwgR1BhcmFtU3BlYyAqIHBzcGVjKQorK3sKKysgIEdzdEZGTXBlZ0RlYyAqZmZtcGVnZGVjID0gKEdzdEZGTXBlZ0RlYyAqKSBvYmplY3Q7CisrCisrICBzd2l0Y2ggKHByb3BfaWQpIHsKKysgICAgY2FzZSBQUk9QX0xPV1JFUzoKKysgICAgICBnX3ZhbHVlX3NldF9lbnVtICh2YWx1ZSwgZmZtcGVnZGVjLT5jb250ZXh0LT5sb3dyZXMpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBST1BfU0tJUEZSQU1FOgorKyAgICAgIGdfdmFsdWVfc2V0X2VudW0gKHZhbHVlLCBmZm1wZWdkZWMtPmNvbnRleHQtPnNraXBfZnJhbWUpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBST1BfRElSRUNUX1JFTkRFUklORzoKKysgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuICh2YWx1ZSwgZmZtcGVnZGVjLT5kaXJlY3RfcmVuZGVyaW5nKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQUk9QX0RPX1BBRERJTkc6CisrICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbiAodmFsdWUsIGZmbXBlZ2RlYy0+ZG9fcGFkZGluZyk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUFJPUF9ERUJVR19NVjoKKysgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuICh2YWx1ZSwgZmZtcGVnZGVjLT5jb250ZXh0LT5kZWJ1Z19tdik7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgUFJPUF9DUk9QOgorKyAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4gKHZhbHVlLCBmZm1wZWdkZWMtPmNyb3ApOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBST1BfTUFYX1RIUkVBRFM6CisrICAgICAgZ192YWx1ZV9zZXRfaW50ICh2YWx1ZSwgZmZtcGVnZGVjLT5tYXhfdGhyZWFkcyk7CisrICAgICAgYnJlYWs7CisrICAgIGRlZmF1bHQ6CisrICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEIChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsKKysgICAgICBicmVhazsKKysgIH0KKyt9CisrCisrZ2Jvb2xlYW4KKytnc3RfZmZtcGVnZGVjX3JlZ2lzdGVyIChHc3RQbHVnaW4gKiBwbHVnaW4pCisreworKyAgR1R5cGVJbmZvIHR5cGVpbmZvID0geworKyAgICBzaXplb2YgKEdzdEZGTXBlZ0RlY0NsYXNzKSwKKysgICAgKEdCYXNlSW5pdEZ1bmMpIGdzdF9mZm1wZWdkZWNfYmFzZV9pbml0LAorKyAgICBOVUxMLAorKyAgICAoR0NsYXNzSW5pdEZ1bmMpIGdzdF9mZm1wZWdkZWNfY2xhc3NfaW5pdCwKKysgICAgTlVMTCwKKysgICAgTlVMTCwKKysgICAgc2l6ZW9mIChHc3RGRk1wZWdEZWMpLAorKyAgICAwLAorKyAgICAoR0luc3RhbmNlSW5pdEZ1bmMpIGdzdF9mZm1wZWdkZWNfaW5pdCwKKysgIH07CisrICBHVHlwZSB0eXBlOworKyAgQVZDb2RlYyAqaW5fcGx1Z2luOworKyAgZ2ludCByYW5rOworKworKyAgaW5fcGx1Z2luID0gYXZfY29kZWNfbmV4dCAoTlVMTCk7CisrCisrICBHU1RfTE9HICgiUmVnaXN0ZXJpbmcgZGVjb2RlcnMiKTsKKysKKysgIHdoaWxlIChpbl9wbHVnaW4pIHsKKysgICAgZ2NoYXIgKnR5cGVfbmFtZTsKKysgICAgZ2NoYXIgKnBsdWdpbl9uYW1lOworKworKyAgICAvKiBvbmx5IGRlY29kZXJzICovCisrICAgIGlmICghaW5fcGx1Z2luLT5kZWNvZGUpIHsKKysgICAgICBnb3RvIG5leHQ7CisrICAgIH0KKysKKysgICAgLyogbm8gcXVhc2ktY29kZWNzLCBwbGVhc2UgKi8KKysgICAgaWYgKGluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfUkFXVklERU8gfHwKKysgICAgICAgIGluX3BsdWdpbi0+aWQgPT0gQ09ERUNfSURfVjIxMCB8fAorKyAgICAgICAgaW5fcGx1Z2luLT5pZCA9PSBDT0RFQ19JRF9WMjEwWCB8fAorKyAgICAgICAgaW5fcGx1Z2luLT5pZCA9PSBDT0RFQ19JRF9SMjEwIHx8CisrICAgICAgICAoaW5fcGx1Z2luLT5pZCA+PSBDT0RFQ19JRF9QQ01fUzE2TEUgJiYKKysgICAgICAgICAgICBpbl9wbHVnaW4tPmlkIDw9IENPREVDX0lEX1BDTV9CTFVSQVkpKSB7CisrICAgICAgZ290byBuZXh0OworKyAgICB9CisrCisrICAgIC8qIE5vIGRlY29kZXJzIGRlcGVuZGluZyBvbiBleHRlcm5hbCBsaWJyYXJpZXMgKHdlIGRvbid0IGJ1aWxkIHRoZW0sIGJ1dAorKyAgICAgKiBwZW9wbGUgd2hvIGJ1aWxkIGFnYWluc3QgYW4gZXh0ZXJuYWwgZmZtcGVnIG1pZ2h0IGhhdmUgdGhlbS4KKysgICAgICogV2UgaGF2ZSBuYXRpdmUgZ3N0cmVhbWVyIHBsdWdpbnMgZm9yIGFsbCBvZiB0aG9zZSBsaWJyYXJpZXMgYW55d2F5LiAqLworKyAgICBpZiAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgImxpYiIsIDMpKSB7CisrICAgICAgR1NUX0RFQlVHCisrICAgICAgICAgICgiTm90IHVzaW5nIGV4dGVybmFsIGxpYnJhcnkgZGVjb2RlciAlcy4gVXNlIHRoZSBnc3RyZWFtZXItbmF0aXZlIG9uZXMgaW5zdGVhZC4iLAorKyAgICAgICAgICBpbl9wbHVnaW4tPm5hbWUpOworKyAgICAgIGdvdG8gbmV4dDsKKysgICAgfQorKworKyAgICAvKiBObyB2ZHBhdSBwbHVnaW5zIHVudGlsIHdlIGNhbiBmaWd1cmUgb3V0IGhvdyB0byBwcm9wZXJseSB1c2UgdGhlbQorKyAgICAgKiBvdXRzaWRlIG9mIGZmbXBlZy4gKi8KKysgICAgaWYgKGdfc3RyX2hhc19zdWZmaXggKGluX3BsdWdpbi0+bmFtZSwgIl92ZHBhdSIpKSB7CisrICAgICAgR1NUX0RFQlVHCisrICAgICAgICAgICgiSWdub3JpbmcgVkRQQVUgZGVjb2RlciAlcy4gV2UgY2FuJ3QgaGFuZGxlIHRoaXMgb3V0c2lkZSBvZiBmZm1wZWciLAorKyAgICAgICAgICBpbl9wbHVnaW4tPm5hbWUpOworKyAgICAgIGdvdG8gbmV4dDsKKysgICAgfQorKworKyAgICBpZiAoZ19zdHJfaGFzX3N1ZmZpeCAoaW5fcGx1Z2luLT5uYW1lLCAiX3h2bWMiKSkgeworKyAgICAgIEdTVF9ERUJVRworKyAgICAgICAgICAoIklnbm9yaW5nIFhWTUMgZGVjb2RlciAlcy4gV2UgY2FuJ3QgaGFuZGxlIHRoaXMgb3V0c2lkZSBvZiBmZm1wZWciLAorKyAgICAgICAgICBpbl9wbHVnaW4tPm5hbWUpOworKyAgICAgIGdvdG8gbmV4dDsKKysgICAgfQorKworKyAgICBHU1RfREVCVUcgKCJUcnlpbmcgcGx1Z2luICVzIFslc10iLCBpbl9wbHVnaW4tPm5hbWUsIGluX3BsdWdpbi0+bG9uZ19uYW1lKTsKKysKKysgICAgLyogbm8gY29kZWNzIGZvciB3aGljaCB3ZSdyZSBHVUFSQU5URUVEIHRvIGhhdmUgYmV0dGVyIGFsdGVybmF0aXZlcyAqLworKyAgICAvKiBNUEVHMVZJREVPIDogdGhlIG1wZWcydmlkZW8gZGVjb2RlciBpcyBwcmVmZXJyZWQgKi8KKysgICAgLyogTVAxIDogVXNlIE1QMyBmb3IgZGVjb2RpbmcgKi8KKysgICAgLyogTVAyIDogVXNlIE1QMyBmb3IgZGVjb2RpbmcgKi8KKysgICAgLyogVGhlb3JhOiBVc2UgbGlidGhlb3JhIGJhc2VkIHRoZW9yYWRlYyAqLworKyAgICBpZiAoIXN0cmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiZ2lmIikgfHwKKysgICAgICAgICFzdHJjbXAgKGluX3BsdWdpbi0+bmFtZSwgInZvcmJpcyIpIHx8CisrICAgICAgICAhc3RyY21wIChpbl9wbHVnaW4tPm5hbWUsICJ0aGVvcmEiKSB8fAorKyAgICAgICAgIXN0cmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAibXBlZzF2aWRlbyIpIHx8CisrICAgICAgICAhc3RyY21wIChpbl9wbHVnaW4tPm5hbWUsICJ3YXZwYWNrIikgfHwKKysgICAgICAgICFzdHJjbXAgKGluX3BsdWdpbi0+bmFtZSwgIm1wMSIpIHx8CisrICAgICAgICAhc3RyY21wIChpbl9wbHVnaW4tPm5hbWUsICJtcDIiKSB8fAorKyAgICAgICAgIXN0cmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAibGliZmFhZCIpIHx8CisrICAgICAgICAhc3RyY21wIChpbl9wbHVnaW4tPm5hbWUsICJtcGVnNGFhYyIpIHx8CisrICAgICAgICAhc3RyY21wIChpbl9wbHVnaW4tPm5hbWUsICJhc3MiKSB8fAorKyAgICAgICAgIXN0cmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAic3J0IikgfHwKKysgICAgICAgICFzdHJjbXAgKGluX3BsdWdpbi0+bmFtZSwgInBnc3N1YiIpIHx8CisrICAgICAgICAhc3RyY21wIChpbl9wbHVnaW4tPm5hbWUsICJkdmRzdWIiKSB8fAorKyAgICAgICAgIXN0cmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiZHZic3ViIikpIHsKKysgICAgICBHU1RfTE9HICgiSWdub3JpbmcgZGVjb2RlciAlcyIsIGluX3BsdWdpbi0+bmFtZSk7CisrICAgICAgZ290byBuZXh0OworKyAgICB9CisrCisrICAgIC8qIGNvbnN0cnVjdCB0aGUgdHlwZSAqLworKyAgICBwbHVnaW5fbmFtZSA9IGdfc3RyZHVwICgoZ2NoYXIgKikgaW5fcGx1Z2luLT5uYW1lKTsKKysgICAgZ19zdHJkZWxpbWl0IChwbHVnaW5fbmFtZSwgTlVMTCwgJ18nKTsKKysgICAgdHlwZV9uYW1lID0gZ19zdHJkdXBfcHJpbnRmICgiZmZkZWNfJXMiLCBwbHVnaW5fbmFtZSk7CisrICAgIGdfZnJlZSAocGx1Z2luX25hbWUpOworKworKyAgICB0eXBlID0gZ190eXBlX2Zyb21fbmFtZSAodHlwZV9uYW1lKTsKKysKKysgICAgaWYgKCF0eXBlKSB7CisrICAgICAgLyogY3JlYXRlIHRoZSBndHlwZSBub3cgKi8KKysgICAgICB0eXBlID0gZ190eXBlX3JlZ2lzdGVyX3N0YXRpYyAoR1NUX1RZUEVfRUxFTUVOVCwgdHlwZV9uYW1lLCAmdHlwZWluZm8sIDApOworKyAgICAgIGdfdHlwZV9zZXRfcWRhdGEgKHR5cGUsIEdTVF9GRkRFQ19QQVJBTVNfUURBVEEsIChncG9pbnRlcikgaW5fcGx1Z2luKTsKKysgICAgfQorKworKyAgICAvKiAoUm9uYWxkKSBNUEVHLTQgZ2V0cyBhIGhpZ2hlciBwcmlvcml0eSBiZWNhdXNlIGl0IGhhcyBiZWVuIHdlbGwtCisrICAgICAqIHRlc3RlZCBhbmQgYnkgZmFyIG91dHBlcmZvcm1zIGRpdnhkZWMveHZpZGRlYyAtIHNvIHdlIHByZWZlciBpdC4KKysgICAgICogbXNtcGVnNHYzIHNhbWUsIGFzIGl0IG91dHBlcmZvcm1zIGRpdnhkZWMgZm9yIGRpdngzIHBsYXliYWNrLgorKyAgICAgKiBWQzEvV01WMyBhcmUgbm90IHdvcmtpbmcgYW5kIHRodXMgdW5wcmVmZXJyZWQgZm9yIG5vdy4gKi8KKysgICAgc3dpdGNoIChpbl9wbHVnaW4tPmlkKSB7CisrICAgICAgY2FzZSBDT0RFQ19JRF9NUEVHNDoKKysgICAgICBjYXNlIENPREVDX0lEX01TTVBFRzRWMzoKKysgICAgICBjYXNlIENPREVDX0lEX0gyNjQ6CisrICAgICAgY2FzZSBDT0RFQ19JRF9SQV8xNDQ6CisrICAgICAgY2FzZSBDT0RFQ19JRF9SQV8yODg6CisrICAgICAgY2FzZSBDT0RFQ19JRF9SVjEwOgorKyAgICAgIGNhc2UgQ09ERUNfSURfUlYyMDoKKysgICAgICBjYXNlIENPREVDX0lEX1JWMzA6CisrICAgICAgY2FzZSBDT0RFQ19JRF9SVjQwOgorKyAgICAgIGNhc2UgQ09ERUNfSURfQ09PSzoKKysgICAgICAgIHJhbmsgPSBHU1RfUkFOS19TRUNPTkRBUlk7CisrICAgICAgICBicmVhazsKKysgICAgICAgIC8qIERWVklERU86IHdlIGhhdmUgYSBnb29kIGR2IGRlY29kZXIsIGZhc3Qgb24gYm90aCBwcGMgYXMgd2VsbCBhcyB4ODYuCisrICAgICAgICAgKiBUaGV5IHNheSBsaWJkdidzIHF1YWxpdHkgaXMgYmV0dGVyIHRob3VnaC4gbGVhdmUgYXMgc2Vjb25kYXJ5LgorKyAgICAgICAgICogbm90ZTogaWYgeW91IGNoYW5nZSB0aGlzLCBzZWUgdGhlIGNvZGUgaW4gZ3N0ZHYuYyBpbiBnb29kL2V4dC9kdi4KKysgICAgICAgICAqCisrICAgICAgICAgKiBTSVBSOiBkZWNvZGVyIHNob3VsZCBoYXZlIGEgaGlnaGVyIHJhbmsgdGhhbiByZWFsYXVkaW9kZWMuCisrICAgICAgICAgKi8KKysgICAgICBjYXNlIENPREVDX0lEX0RWVklERU86CisrICAgICAgY2FzZSBDT0RFQ19JRF9TSVBSOgorKyAgICAgICAgcmFuayA9IEdTVF9SQU5LX1NFQ09OREFSWTsKKysgICAgICAgIGJyZWFrOworKyAgICAgIGNhc2UgQ09ERUNfSURfTVAzOgorKyAgICAgICAgcmFuayA9IEdTVF9SQU5LX05PTkU7CisrICAgICAgICBicmVhazsKKysgICAgICAgIC8qIFRFTVBPUkFSSUxZIERJU0FCTElORyBBQzMvRUFDMy9EVFMgZm9yIDAuMTAuMTIgcmVsZWFzZQorKyAgICAgICAgICogZHVlIHRvIGRvd25taXhpbmcgZmFpbHVyZS4KKysgICAgICAgICAqIFNlZSBCdWcgIzYwODg5MiBmb3IgbW9yZSBkZXRhaWxzICovCisrICAgICAgY2FzZSBDT0RFQ19JRF9FQUMzOgorKyAgICAgIGNhc2UgQ09ERUNfSURfQUMzOgorKyAgICAgIGNhc2UgQ09ERUNfSURfRFRTOgorKyAgICAgICAgcmFuayA9IEdTVF9SQU5LX05PTkU7CisrICAgICAgICBicmVhazsKKysgICAgICBkZWZhdWx0OgorKyAgICAgICAgcmFuayA9IEdTVF9SQU5LX01BUkdJTkFMOworKyAgICAgICAgYnJlYWs7CisrICAgIH0KKysgICAgaWYgKCFnc3RfZWxlbWVudF9yZWdpc3RlciAocGx1Z2luLCB0eXBlX25hbWUsIHJhbmssIHR5cGUpKSB7CisrICAgICAgZ193YXJuaW5nICgiRmFpbGVkIHRvIHJlZ2lzdGVyICVzIiwgdHlwZV9uYW1lKTsKKysgICAgICBnX2ZyZWUgKHR5cGVfbmFtZSk7CisrICAgICAgcmV0dXJuIEZBTFNFOworKyAgICB9CisrCisrICAgIGdfZnJlZSAodHlwZV9uYW1lKTsKKysKKysgIG5leHQ6CisrICAgIGluX3BsdWdpbiA9IGF2X2NvZGVjX25leHQgKGluX3BsdWdpbik7CisrICB9CisrCisrICBHU1RfTE9HICgiRmluaXNoZWQgUmVnaXN0ZXJpbmcgZGVjb2RlcnMiKTsKKysKKysgIHJldHVybiBUUlVFOworK30KK2RpZmYgLXVOciBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jLnJlaiBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZWMuYy5yZWoKKy0tLSBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jLnJlagkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jLnJlagkyMDE0LTA4LTA4IDE1OjI2OjM4LjQ3MTg1ODY1MiArMDIwMAorQEAgLTAsMCArMSwxMSBAQAorKy0tLSBleHQvZmZtcGVnL2dzdGZmbXBlZ2RlYy5jCisrKysrIGV4dC9mZm1wZWcvZ3N0ZmZtcGVnZGVjLmMKKytAQCAtMTU2NSw3ICsxNTY0LDcgQEAKKysgICAgICAgICBnc3RfbWVzc2FnZV9uZXdfbGF0ZW5jeSAoR1NUX09CSkVDVF9DQVNUIChmZm1wZWdkZWMpKSk7CisrICAgfQorKyAKKystICBpc19pdHlwZSA9IChmZm1wZWdkZWMtPnBpY3R1cmUtPnBpY3RfdHlwZSA9PSBGRl9JX1RZUEUpOworKysgIGlzX2l0eXBlID0gKGZmbXBlZ2RlYy0+cGljdHVyZS0+cGljdF90eXBlID09IEFWX1BJQ1RVUkVfVFlQRV9JKTsKKysgICBpc19yZWZlcmVuY2UgPSAoZmZtcGVnZGVjLT5waWN0dXJlLT5yZWZlcmVuY2UgPT0gMSk7CisrIAorKyAgIGlza2V5ZnJhbWUgPSAoaXNfaXR5cGUgfHwgaXNfcmVmZXJlbmNlIHx8IGZmbXBlZ2RlYy0+cGljdHVyZS0+a2V5X2ZyYW1lKQorZGlmZiAtdU5yIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnZGVtdXguYyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZW11eC5jCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZW11eC5jCTIwMTEtMDctMTMgMTE6MDc6MjguMDAwMDAwMDAwICswMjAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnZGVtdXguYwkyMDE0LTA4LTA4IDE1OjI2OjA3Ljg3NDg1NzU1NSArMDIwMAorQEAgLTM0Myw4ICszNDMsMTEgQEAKKyAgIGRlbXV4LT5hdWRpb3BhZHMgPSAwOworIAorICAgLyogY2xvc2UgZGVtdXhlciBjb250ZXh0IGZyb20gZmZtcGVnICovCistICBhdl9jbG9zZV9pbnB1dF9maWxlIChkZW11eC0+Y29udGV4dCk7CistICBkZW11eC0+Y29udGV4dCA9IE5VTEw7CisrICBpZiAoZGVtdXgtPnNlZWthYmxlKQorKyAgICBnc3RfZmZtcGVnZGF0YV9jbG9zZSAoZGVtdXgtPmNvbnRleHQtPnBiKTsKKysgIGVsc2UKKysgICAgZ3N0X2ZmbXBlZ19waXBlX2Nsb3NlIChkZW11eC0+Y29udGV4dC0+cGIpOworKyAgYXZmb3JtYXRfY2xvc2VfaW5wdXQgKCZkZW11eC0+Y29udGV4dCk7CisgCisgICBHU1RfT0JKRUNUX0xPQ0sgKGRlbXV4KTsKKyAgIGRlbXV4LT5vcGVuZWQgPSBGQUxTRTsKK0BAIC0xMTQ2LDkgKzExNDksOSBAQAorIHN0YXRpYyBnYm9vbGVhbgorIGdzdF9mZm1wZWdkZW11eF9vcGVuIChHc3RGRk1wZWdEZW11eCAqIGRlbXV4KQorIHsKKysgIEFWSU9Db250ZXh0ICppb2NvbnRleHQgPSBOVUxMOworICAgR3N0RkZNcGVnRGVtdXhDbGFzcyAqb2NsYXNzID0KKyAgICAgICAoR3N0RkZNcGVnRGVtdXhDbGFzcyAqKSBHX09CSkVDVF9HRVRfQ0xBU1MgKGRlbXV4KTsKKy0gIGdjaGFyICpsb2NhdGlvbjsKKyAgIGdpbnQgcmVzLCBuX3N0cmVhbXMsIGk7CisgI2lmIDAKKyAgIC8qIFJlLWVuYWJsZSBvbmNlIGNvbnZlcnRlZCB0byBuZXcgQVZNZXRhRGF0YSBBUEkKK0BAIC0xMTY0LDE1ICsxMTY3LDE0IEBACisgCisgICAvKiBvcGVuIHZpYSBvdXIgaW5wdXQgcHJvdG9jb2wgaGFjayAqLworICAgaWYgKGRlbXV4LT5zZWVrYWJsZSkKKy0gICAgbG9jYXRpb24gPSBnX3N0cmR1cF9wcmludGYgKCJnc3RyZWFtZXI6Ly8lcCIsIGRlbXV4LT5zaW5rcGFkKTsKKysgICAgcmVzID0gZ3N0X2ZmbXBlZ2RhdGFfb3BlbiAoZGVtdXgtPnNpbmtwYWQsIEFWSU9fRkxBR19SRUFELCAmaW9jb250ZXh0KTsKKyAgIGVsc2UKKy0gICAgbG9jYXRpb24gPSBnX3N0cmR1cF9wcmludGYgKCJnc3RwaXBlOi8vJXAiLCAmZGVtdXgtPmZmcGlwZSk7CistICBHU1RfREVCVUdfT0JKRUNUIChkZW11eCwgImFib3V0IHRvIGNhbGwgYXZfb3Blbl9pbnB1dF9maWxlICVzIiwgbG9jYXRpb24pOworKyAgICByZXMgPSBnc3RfZmZtcGVnX3BpcGVfb3BlbiAoJmRlbXV4LT5mZnBpcGUsIEFWSU9fRkxBR19SRUFELCAmaW9jb250ZXh0KTsKKyAKKy0gIHJlcyA9IGF2X29wZW5faW5wdXRfZmlsZSAoJmRlbXV4LT5jb250ZXh0LCBsb2NhdGlvbiwKKy0gICAgICBvY2xhc3MtPmluX3BsdWdpbiwgMCwgTlVMTCk7CisrICBkZW11eC0+Y29udGV4dCA9IGF2Zm9ybWF0X2FsbG9jX2NvbnRleHQgKCk7CisrICBkZW11eC0+Y29udGV4dC0+cGIgPSBpb2NvbnRleHQ7CisrICByZXMgPSBhdmZvcm1hdF9vcGVuX2lucHV0ICgmZGVtdXgtPmNvbnRleHQsIE5VTEwsIG9jbGFzcy0+aW5fcGx1Z2luLCBOVUxMKTsKKyAKKy0gIGdfZnJlZSAobG9jYXRpb24pOworICAgR1NUX0RFQlVHX09CSkVDVCAoZGVtdXgsICJhdl9vcGVuX2lucHV0IHJldHVybmVkICVkIiwgcmVzKTsKKyAgIGlmIChyZXMgPCAwKQorICAgICBnb3RvIG9wZW5fZmFpbGVkOworZGlmZiAtdU5yIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnZW5jLmMgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnZW5jLmMKKy0tLSBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ2VuYy5jCTIwMTEtMTAtMzEgMTE6MTQ6MDMuMDAwMDAwMDAwICswMTAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnZW5jLmMJMjAxNC0wOC0wOCAxNTozMjoxOC42MDg4NzA4NDcgKzAyMDAKK0BAIC03NzAsNyArNzcwLDcgQEAKKyAgIEdTVF9PQkpFQ1RfVU5MT0NLIChmZm1wZWdlbmMpOworIAorICAgaWYgKGZvcmNlX2tleWZyYW1lKQorLSAgICBmZm1wZWdlbmMtPnBpY3R1cmUtPnBpY3RfdHlwZSA9IEZGX0lfVFlQRTsKKysgICAgZmZtcGVnZW5jLT5waWN0dXJlLT5waWN0X3R5cGUgPSBBVl9QSUNUVVJFX1RZUEVfSTsKKyAKKyAgIGZyYW1lX3NpemUgPSBnc3RfZmZtcGVnX2F2cGljdHVyZV9maWxsICgoQVZQaWN0dXJlICopIGZmbXBlZ2VuYy0+cGljdHVyZSwKKyAgICAgICBHU1RfQlVGRkVSX0RBVEEgKGluYnVmKSwKK0BAIC0xMTM2LDcgKzExMzYsNyBAQAorICAgICAgIGNvbnN0IEdzdFN0cnVjdHVyZSAqczsKKyAgICAgICBzID0gZ3N0X2V2ZW50X2dldF9zdHJ1Y3R1cmUgKGV2ZW50KTsKKyAgICAgICBpZiAoZ3N0X3N0cnVjdHVyZV9oYXNfbmFtZSAocywgIkdzdEZvcmNlS2V5VW5pdCIpKSB7CistICAgICAgICBmZm1wZWdlbmMtPnBpY3R1cmUtPnBpY3RfdHlwZSA9IEZGX0lfVFlQRTsKKysgICAgICAgIGZmbXBlZ2VuYy0+cGljdHVyZS0+cGljdF90eXBlID0gQVZfUElDVFVSRV9UWVBFX0k7CisgICAgICAgfQorICAgICAgIGJyZWFrOworICAgICB9CitAQCAtMTMzOSw3ICsxMzM5LDcgQEAKKyAgICAgfQorIAorICAgICAvKiBvbmx5IGVuY29kZXJzICovCistICAgIGlmICghaW5fcGx1Z2luLT5lbmNvZGUpIHsKKysgICAgaWYgKCFhdl9jb2RlY19pc19lbmNvZGVyIChpbl9wbHVnaW4pKSB7CisgICAgICAgZ290byBuZXh0OworICAgICB9CisgCitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdtdXguYyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdtdXguYworLS0tIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVnbXV4LmMJMjAxMS0wNy0xMyAxMTowNzoyOC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdtdXguYwkyMDE0LTA4LTA4IDE1OjI2OjA3Ljg3NDg1NzU1NSArMDIwMAorQEAgLTI0LDggKzI0LDEwIEBACisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpZmRlZiBIQVZFX0ZGTVBFR19VTklOU1RBTExFRAorICNpbmNsdWRlIDxhdmZvcm1hdC5oPgorKyNpbmNsdWRlIDxvcHQuaD4KKyAjZWxzZQorICNpbmNsdWRlIDxsaWJhdmZvcm1hdC9hdmZvcm1hdC5oPgorKyNpbmNsdWRlIDxsaWJhdnV0aWwvb3B0Lmg+CisgI2VuZGlmCisgCisgI2luY2x1ZGUgPGdzdC9nc3QuaD4KK0BAIC0zMzYsOSArMzM4LDYgQEAKKyAgIGZmbXBlZ211eC0+Y29udGV4dCA9IGdfbmV3MCAoQVZGb3JtYXRDb250ZXh0LCAxKTsKKyAgIGZmbXBlZ211eC0+Y29udGV4dC0+b2Zvcm1hdCA9IG9jbGFzcy0+aW5fcGx1Z2luOworICAgZmZtcGVnbXV4LT5jb250ZXh0LT5uYl9zdHJlYW1zID0gMDsKKy0gIGdfc25wcmludGYgKGZmbXBlZ211eC0+Y29udGV4dC0+ZmlsZW5hbWUsCistICAgICAgc2l6ZW9mIChmZm1wZWdtdXgtPmNvbnRleHQtPmZpbGVuYW1lKSwKKy0gICAgICAiZ3N0cmVhbWVyOi8vJXAiLCBmZm1wZWdtdXgtPnNyY3BhZCk7CisgICBmZm1wZWdtdXgtPm9wZW5lZCA9IEZBTFNFOworIAorICAgZmZtcGVnbXV4LT52aWRlb3BhZHMgPSAwOworQEAgLTQ1MCwxMCArNDQ5LDEwIEBACisgICBnc3RfZWxlbWVudF9hZGRfcGFkIChlbGVtZW50LCBwYWQpOworIAorICAgLyogQVZTdHJlYW0gbmVlZHMgdG8gYmUgY3JlYXRlZCAqLworLSAgc3QgPSBhdl9uZXdfc3RyZWFtIChmZm1wZWdtdXgtPmNvbnRleHQsIGNvbGxlY3RfcGFkLT5wYWRudW0pOworKyAgc3QgPSBhdmZvcm1hdF9uZXdfc3RyZWFtIChmZm1wZWdtdXgtPmNvbnRleHQsIE5VTEwpOworKyAgc3QtPmlkID0gY29sbGVjdF9wYWQtPnBhZG51bTsKKyAgIHN0LT5jb2RlYy0+Y29kZWNfdHlwZSA9IHR5cGU7CisgICBzdC0+Y29kZWMtPmNvZGVjX2lkID0gQ09ERUNfSURfTk9ORTsgIC8qIHRoaXMgaXMgYSBjaGVjayBhZnRlcndhcmRzICovCistICBzdC0+c3RyZWFtX2NvcHkgPSAxOyAgICAgICAgICAvKiB3ZSdyZSBub3QgdGhlIGFjdHVhbCBlbmNvZGVyICovCisgICBzdC0+Y29kZWMtPmJpdF9yYXRlID0gYml0cmF0ZTsKKyAgIHN0LT5jb2RlYy0+ZnJhbWVfc2l6ZSA9IGZyYW1lc2l6ZTsKKyAgIC8qIHdlIGZpbGwgaW4gY29kZWMgZHVyaW5nIGNhcHNuZWdvICovCitAQCAtNDg1LDcgKzQ4NCw3IEBACisgICBjb2xsZWN0X3BhZCA9IChHc3RGRk1wZWdNdXhQYWQgKikgZ3N0X3BhZF9nZXRfZWxlbWVudF9wcml2YXRlIChwYWQpOworIAorICAgc3QgPSBmZm1wZWdtdXgtPmNvbnRleHQtPnN0cmVhbXNbY29sbGVjdF9wYWQtPnBhZG51bV07CistICBmZm1wZWdtdXgtPmNvbnRleHQtPnByZWxvYWQgPSBmZm1wZWdtdXgtPnByZWxvYWQ7CisrICBhdl9vcHRfc2V0X2ludCAoJmZmbXBlZ211eC0+Y29udGV4dCwgInByZWxvYWQiLCBmZm1wZWdtdXgtPnByZWxvYWQsIDApOworICAgZmZtcGVnbXV4LT5jb250ZXh0LT5tYXhfZGVsYXkgPSBmZm1wZWdtdXgtPm1heF9kZWxheTsKKyAKKyAgIC8qIGZvciB0aGUgZm9ybWF0LXNwZWNpZmljIGd1ZXNzZXMsIHdlJ2xsIGdvIHRvCitAQCAtNTUyLDcgKzU1MSw3IEBACisgCisgICAvKiBvcGVuICJmaWxlIiAoZ3N0cmVhbWVyIHByb3RvY29sIHRvIG5leHQgZWxlbWVudCkgKi8KKyAgIGlmICghZmZtcGVnbXV4LT5vcGVuZWQpIHsKKy0gICAgaW50IG9wZW5fZmxhZ3MgPSBVUkxfV1JPTkxZOworKyAgICBpbnQgb3Blbl9mbGFncyA9IEFWSU9fRkxBR19XUklURTsKKyAKKyAgICAgLyogd2UgZG8gbmVlZCBhbGwgc3RyZWFtcyB0byBoYXZlIHN0YXJ0ZWQgY2Fwc25lZ28sCisgICAgICAqIG9yIHRoaW5ncyB3aWxsIGdvIGhvcnJpYmx5IHdyb25nICovCitAQCAtNjQ2LDE5ICs2NDUsMTMgQEAKKyAgICAgICBvcGVuX2ZsYWdzIHw9IEdTVF9GRk1QRUdfVVJMX1NUUkVBTUhFQURFUjsKKyAgICAgfQorIAorLSAgICBpZiAodXJsX2ZvcGVuICgmZmZtcGVnbXV4LT5jb250ZXh0LT5wYiwKKy0gICAgICAgICAgICBmZm1wZWdtdXgtPmNvbnRleHQtPmZpbGVuYW1lLCBvcGVuX2ZsYWdzKSA8IDApIHsKKysgICAgaWYgKGdzdF9mZm1wZWdkYXRhX29wZW4gKGZmbXBlZ211eC0+c3JjcGFkLCBvcGVuX2ZsYWdzLAorKyAgICAgICAgICAgICZmZm1wZWdtdXgtPmNvbnRleHQtPnBiKSA8IDApIHsKKyAgICAgICBHU1RfRUxFTUVOVF9FUlJPUiAoZmZtcGVnbXV4LCBMSUJSQVJZLCBUT09fTEFaWSwgKE5VTEwpLAorICAgICAgICAgICAoIkZhaWxlZCB0byBvcGVuIHN0cmVhbSBjb250ZXh0IGluIGZmbXV4IikpOworICAgICAgIHJldHVybiBHU1RfRkxPV19FUlJPUjsKKyAgICAgfQorIAorLSAgICBpZiAoYXZfc2V0X3BhcmFtZXRlcnMgKGZmbXBlZ211eC0+Y29udGV4dCwgTlVMTCkgPCAwKSB7CistICAgICAgR1NUX0VMRU1FTlRfRVJST1IgKGZmbXBlZ211eCwgTElCUkFSWSwgSU5JVCwgKE5VTEwpLAorLSAgICAgICAgICAoIkZhaWxlZCB0byBpbml0aWFsaXplIG11eGVyIikpOworLSAgICAgIHJldHVybiBHU1RfRkxPV19FUlJPUjsKKy0gICAgfQorLQorICAgICAvKiBub3cgb3BlbiB0aGUgbXV4IGZvcm1hdCAqLworICAgICBpZiAoYXZfd3JpdGVfaGVhZGVyIChmZm1wZWdtdXgtPmNvbnRleHQpIDwgMCkgeworICAgICAgIEdTVF9FTEVNRU5UX0VSUk9SIChmZm1wZWdtdXgsIExJQlJBUlksIFNFVFRJTkdTLCAoTlVMTCksCitAQCAtNjcwLDcgKzY2Myw3IEBACisgICAgIGZmbXBlZ211eC0+b3BlbmVkID0gVFJVRTsKKyAKKyAgICAgLyogZmx1c2ggdGhlIGhlYWRlciBzbyBpdCB3aWxsIGJlIHVzZWQgYXMgc3RyZWFtaGVhZGVyICovCistICAgIHB1dF9mbHVzaF9wYWNrZXQgKGZmbXBlZ211eC0+Y29udGV4dC0+cGIpOworKyAgICBhdmlvX2ZsdXNoIChmZm1wZWdtdXgtPmNvbnRleHQtPnBiKTsKKyAgIH0KKyAKKyAgIC8qIHRha2UgdGhlIG9uZSB3aXRoIGVhcmxpZXN0IHRpbWVzdGFtcCwKK0BAIC03NzAsOCArNzYzLDggQEAKKyAgICAgLyogY2xvc2UgZG93biAqLworICAgICBhdl93cml0ZV90cmFpbGVyIChmZm1wZWdtdXgtPmNvbnRleHQpOworICAgICBmZm1wZWdtdXgtPm9wZW5lZCA9IEZBTFNFOworLSAgICBwdXRfZmx1c2hfcGFja2V0IChmZm1wZWdtdXgtPmNvbnRleHQtPnBiKTsKKy0gICAgdXJsX2ZjbG9zZSAoZmZtcGVnbXV4LT5jb250ZXh0LT5wYik7CisrICAgIGF2aW9fZmx1c2ggKGZmbXBlZ211eC0+Y29udGV4dC0+cGIpOworKyAgICBnc3RfZmZtcGVnZGF0YV9jbG9zZSAoZmZtcGVnbXV4LT5jb250ZXh0LT5wYik7CisgICAgIGdzdF9wYWRfcHVzaF9ldmVudCAoZmZtcGVnbXV4LT5zcmNwYWQsIGdzdF9ldmVudF9uZXdfZW9zICgpKTsKKyAgICAgcmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQ7CisgICB9CitAQCAtNzk1LDYgKzc4OCwxMCBAQAorICAgICAgIGJyZWFrOworICAgICBjYXNlIEdTVF9TVEFURV9DSEFOR0VfUEFVU0VEX1RPX1JFQURZOgorICAgICAgIGdzdF9jb2xsZWN0X3BhZHNfc3RvcCAoZmZtcGVnbXV4LT5jb2xsZWN0KTsKKysgICAgICBpZiAoZmZtcGVnbXV4LT5vcGVuZWQpIHsKKysgICAgICAgIGZmbXBlZ211eC0+b3BlbmVkID0gRkFMU0U7CisrICAgICAgICBnc3RfZmZtcGVnZGF0YV9jbG9zZSAoZmZtcGVnbXV4LT5jb250ZXh0LT5wYik7CisrICAgICAgfQorICAgICAgIGJyZWFrOworICAgICBkZWZhdWx0OgorICAgICAgIGJyZWFrOworQEAgLTgwOSw3ICs4MDYsNyBAQAorICAgICAgIGdzdF90YWdfc2V0dGVyX3Jlc2V0X3RhZ3MgKEdTVF9UQUdfU0VUVEVSIChmZm1wZWdtdXgpKTsKKyAgICAgICBpZiAoZmZtcGVnbXV4LT5vcGVuZWQpIHsKKyAgICAgICAgIGZmbXBlZ211eC0+b3BlbmVkID0gRkFMU0U7CistICAgICAgICB1cmxfZmNsb3NlIChmZm1wZWdtdXgtPmNvbnRleHQtPnBiKTsKKysgICAgICAgIGF2aW9fY2xvc2UgKGZmbXBlZ211eC0+Y29udGV4dC0+cGIpOworICAgICAgIH0KKyAgICAgICBicmVhazsKKyAgICAgY2FzZSBHU1RfU1RBVEVfQ0hBTkdFX1JFQURZX1RPX05VTEw6CitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWdtdXguYy5vcmlnIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ211eC5jLm9yaWcKKy0tLSBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ211eC5jLm9yaWcJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWdtdXguYy5vcmlnCTIwMTEtMDctMTMgMTE6MDc6MjguMDAwMDAwMDAwICswMjAwCitAQCAtMCwwICsxLDk3MCBAQAorKy8qIEdTdHJlYW1lcgorKyAqIENvcHlyaWdodCAoQykgPDE5OTk+IEVyaWsgV2FsdGhpbnNlbiA8b21lZ2FAY3NlLm9naS5lZHU+CisrICoKKysgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisrICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKysgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKysgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrICoKKysgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisrICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrICoKKysgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisrICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisrICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisrICovCisrCisrI2lmZGVmIEhBVkVfQ09ORklHX0gKKysjaW5jbHVkZSAiY29uZmlnLmgiCisrI2VuZGlmCisrCisrI2luY2x1ZGUgPHN0cmluZy5oPgorKyNpZmRlZiBIQVZFX0ZGTVBFR19VTklOU1RBTExFRAorKyNpbmNsdWRlIDxhdmZvcm1hdC5oPgorKyNlbHNlCisrI2luY2x1ZGUgPGxpYmF2Zm9ybWF0L2F2Zm9ybWF0Lmg+CisrI2VuZGlmCisrCisrI2luY2x1ZGUgPGdzdC9nc3QuaD4KKysjaW5jbHVkZSA8Z3N0L2Jhc2UvZ3N0Y29sbGVjdHBhZHMuaD4KKysKKysjaW5jbHVkZSAiZ3N0ZmZtcGVnLmgiCisrI2luY2x1ZGUgImdzdGZmbXBlZ2NvZGVjbWFwLmgiCisrI2luY2x1ZGUgImdzdGZmbXBlZ3V0aWxzLmgiCisrCisrdHlwZWRlZiBzdHJ1Y3QgX0dzdEZGTXBlZ011eCBHc3RGRk1wZWdNdXg7CisrdHlwZWRlZiBzdHJ1Y3QgX0dzdEZGTXBlZ011eFBhZCBHc3RGRk1wZWdNdXhQYWQ7CisrCisrc3RydWN0IF9Hc3RGRk1wZWdNdXhQYWQKKyt7CisrICBHc3RDb2xsZWN0RGF0YSBjb2xsZWN0OyAgICAgICAvKiB3ZSBleHRlbmQgdGhlIENvbGxlY3REYXRhICovCisrCisrICBnaW50IHBhZG51bTsKKyt9OworKworK3N0cnVjdCBfR3N0RkZNcGVnTXV4CisreworKyAgR3N0RWxlbWVudCBlbGVtZW50OworKworKyAgR3N0Q29sbGVjdFBhZHMgKmNvbGxlY3Q7CisrICAvKiBXZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2Ygb3VyIHBhZHMsIHNvIHdlIGRvIHNvIGhlcmUuICovCisrICBHc3RQYWQgKnNyY3BhZDsKKysKKysgIEFWRm9ybWF0Q29udGV4dCAqY29udGV4dDsKKysgIGdib29sZWFuIG9wZW5lZDsKKysKKysgIGdpbnQgdmlkZW9wYWRzLCBhdWRpb3BhZHM7CisrCisrICAvKjwgcHJpdmF0ZSA+ICovCisrICAvKiBldmVudF9mdW5jdGlvbiBpcyB0aGUgY29sbGVjdHBhZHMgZGVmYXVsdCBldmVudGZ1bmN0aW9uICovCisrICBHc3RQYWRFdmVudEZ1bmN0aW9uIGV2ZW50X2Z1bmN0aW9uOworKyAgaW50IHByZWxvYWQ7CisrICBpbnQgbWF4X2RlbGF5OworK307CisrCisrdHlwZWRlZiBzdHJ1Y3QgX0dzdEZGTXBlZ011eENsYXNzIEdzdEZGTXBlZ011eENsYXNzOworKworK3N0cnVjdCBfR3N0RkZNcGVnTXV4Q2xhc3MKKyt7CisrICBHc3RFbGVtZW50Q2xhc3MgcGFyZW50X2NsYXNzOworKworKyAgQVZPdXRwdXRGb3JtYXQgKmluX3BsdWdpbjsKKyt9OworKworKyNkZWZpbmUgR1NUX1RZUEVfRkZNUEVHTVVYIFwKKysgIChnc3RfZmZtcGVnZGVjX2dldF90eXBlKCkpCisrI2RlZmluZSBHU1RfRkZNUEVHTVVYKG9iaikgXAorKyAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLEdTVF9UWVBFX0ZGTVBFR01VWCxHc3RGRk1wZWdNdXgpKQorKyNkZWZpbmUgR1NUX0ZGTVBFR01VWF9DTEFTUyhrbGFzcykgXAorKyAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksR1NUX1RZUEVfRkZNUEVHTVVYLEdzdEZGTXBlZ011eENsYXNzKSkKKysjZGVmaW5lIEdTVF9JU19GRk1QRUdNVVgob2JqKSBcCisrICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9iaiksR1NUX1RZUEVfRkZNUEVHTVVYKSkKKysjZGVmaW5lIEdTVF9JU19GRk1QRUdNVVhfQ0xBU1Moa2xhc3MpIFwKKysgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLEdTVF9UWVBFX0ZGTVBFR01VWCkpCisrCisrZW51bQorK3sKKysgIC8qIEZJTEwgTUUgKi8KKysgIExBU1RfU0lHTkFMCisrfTsKKysKKytlbnVtCisreworKyAgQVJHXzAsCisrICAvKiBGSUxMIE1FICovCisrfTsKKysKKytlbnVtCisreworKyAgUFJPUF8wLAorKyAgUFJPUF9QUkVMT0FELAorKyAgUFJPUF9NQVhERUxBWQorK307CisrCisrLyogQSBudW1iZXIgb2YgZnVuY3Rpb24gcHJvdG90eXBlcyBhcmUgZ2l2ZW4gc28gd2UgY2FuIHJlZmVyIHRvIHRoZW0gbGF0ZXIuICovCisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ211eF9jbGFzc19pbml0IChHc3RGRk1wZWdNdXhDbGFzcyAqIGtsYXNzKTsKKytzdGF0aWMgdm9pZCBnc3RfZmZtcGVnbXV4X2Jhc2VfaW5pdCAoZ3BvaW50ZXIgZ19jbGFzcyk7Cisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ211eF9pbml0IChHc3RGRk1wZWdNdXggKiBmZm1wZWdtdXgsCisrICAgIEdzdEZGTXBlZ011eENsYXNzICogZ19jbGFzcyk7Cisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ211eF9maW5hbGl6ZSAoR09iamVjdCAqIG9iamVjdCk7CisrCisrc3RhdGljIGdib29sZWFuIGdzdF9mZm1wZWdtdXhfc2V0Y2FwcyAoR3N0UGFkICogcGFkLCBHc3RDYXBzICogY2Fwcyk7Cisrc3RhdGljIEdzdFBhZCAqZ3N0X2ZmbXBlZ211eF9yZXF1ZXN0X25ld19wYWQgKEdzdEVsZW1lbnQgKiBlbGVtZW50LAorKyAgICBHc3RQYWRUZW1wbGF0ZSAqIHRlbXBsLCBjb25zdCBnY2hhciAqIG5hbWUpOworK3N0YXRpYyBHc3RGbG93UmV0dXJuIGdzdF9mZm1wZWdtdXhfY29sbGVjdGVkIChHc3RDb2xsZWN0UGFkcyAqIHBhZHMsCisrICAgIGdwb2ludGVyIHVzZXJfZGF0YSk7CisrCisrc3RhdGljIGdib29sZWFuIGdzdF9mZm1wZWdtdXhfc2lua19ldmVudCAoR3N0UGFkICogcGFkLCBHc3RFdmVudCAqIGV2ZW50KTsKKysKKytzdGF0aWMgR3N0U3RhdGVDaGFuZ2VSZXR1cm4gZ3N0X2ZmbXBlZ211eF9jaGFuZ2Vfc3RhdGUgKEdzdEVsZW1lbnQgKiBlbGVtZW50LAorKyAgICBHc3RTdGF0ZUNoYW5nZSB0cmFuc2l0aW9uKTsKKysKKytzdGF0aWMgdm9pZCBnc3RfZmZtcGVnbXV4X3NldF9wcm9wZXJ0eSAoR09iamVjdCAqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwKKysgICAgY29uc3QgR1ZhbHVlICogdmFsdWUsIEdQYXJhbVNwZWMgKiBwc3BlYyk7Cisrc3RhdGljIHZvaWQgZ3N0X2ZmbXBlZ211eF9nZXRfcHJvcGVydHkgKEdPYmplY3QgKiBvYmplY3QsIGd1aW50IHByb3BfaWQsCisrICAgIEdWYWx1ZSAqIHZhbHVlLCBHUGFyYW1TcGVjICogcHNwZWMpOworKworK3N0YXRpYyBHc3RDYXBzICpnc3RfZmZtcGVnbXV4X2dldF9pZF9jYXBzIChlbnVtIENvZGVjSUQgKmlkX2xpc3QpOworK3N0YXRpYyB2b2lkIGdzdF9mZm1wZWdfbXV4X3NpbXBsZV9jYXBzX3NldF9pbnRfbGlzdCAoR3N0Q2FwcyAqIGNhcHMsCisrICAgIGNvbnN0IGdjaGFyICogZmllbGQsIGd1aW50IG51bSwgY29uc3QgZ2ludCAqIHZhbHVlcyk7CisrCisrI2RlZmluZSBHU1RfRkZNVVhfUEFSQU1TX1FEQVRBIGdfcXVhcmtfZnJvbV9zdGF0aWNfc3RyaW5nKCJmZm11eC1wYXJhbXMiKQorKworK3N0YXRpYyBHc3RFbGVtZW50Q2xhc3MgKnBhcmVudF9jbGFzcyA9IE5VTEw7CisrCisrLypzdGF0aWMgZ3VpbnQgZ3N0X2ZmbXBlZ211eF9zaWduYWxzW0xBU1RfU0lHTkFMXSA9IHsgMCB9OyAqLworKworK3R5cGVkZWYgc3RydWN0CisreworKyAgY29uc3QgY2hhciAqbmFtZTsKKysgIGNvbnN0IGNoYXIgKnJlcGxhY2VtZW50OworK30gR3N0RkZNcGVnTXV4UmVwbGFjZW1lbnQ7CisrCisrc3RhdGljIGNvbnN0IGNoYXIgKgorK2dzdF9mZm1wZWdtdXhfZ2V0X3JlcGxhY2VtZW50IChjb25zdCBjaGFyICpuYW1lKQorK3sKKysgIHN0YXRpYyBjb25zdCBHc3RGRk1wZWdNdXhSZXBsYWNlbWVudCBibGFja2xpc3RbXSA9IHsKKysgICAgeyJhdmkiLCAiYXZpbXV4In0sCisrICAgIHsibWF0cm9za2EiLCAibWF0cm9za2FtdXgifSwKKysgICAgeyJtb3YiLCAicXRtdXgifSwKKysgICAgeyJtcGVndHMiLCAibXBlZ3RzbXV4In0sCisrICAgIHsibXA0IiwgIm1wNG11eCJ9LAorKyAgICB7Im1wanBlZyIsICJtdWx0aXBhcnRtdXgifSwKKysgICAgeyJvZ2ciLCAib2dnbXV4In0sCisrICAgIHsid2F2IiwgIndhdmVuYyJ9LAorKyAgICB7IndlYm0iLCAid2VibW11eCJ9LAorKyAgICB7Im14ZiIsICJteGZtdXgifSwKKysgICAgeyIzZ3AiLCAiZ3BwbXV4In0sCisrICAgIHsieXV2NG1wZWdwaXBlIiwgInk0bWVuYyJ9LAorKyAgICB7ImFpZmYiLCAiYWlmZm11eCJ9LAorKyAgICB7ImFkdHMiLCAiYWFjcGFyc2UifSwKKysgICAgeyJhc2YiLCAiYXNmbXV4In0sCisrICAgIHsiYXNmX3N0cmVhbSIsICJhc2ZtdXgifSwKKysgICAgeyJmbHYiLCAiZmx2bXV4In0sCisrICAgIHsibXAzIiwgImlkM3YybXV4In0sCisrICAgIHsibXAyIiwgImlkM3YybXV4In0KKysgIH07CisrICBpbnQgaTsKKysKKysgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YgKGJsYWNrbGlzdCkgLyBzaXplb2YgKGJsYWNrbGlzdFswXSk7IGkrKykgeworKyAgICBpZiAoc3RyY21wIChibGFja2xpc3RbaV0ubmFtZSwgbmFtZSkgPT0gMCkgeworKyAgICAgIHJldHVybiBibGFja2xpc3RbaV0ucmVwbGFjZW1lbnQ7CisrICAgIH0KKysgIH0KKysKKysgIHJldHVybiBOVUxMOworK30KKysKKytzdGF0aWMgZ2Jvb2xlYW4KKytnc3RfZmZtcGVnbXV4X2lzX2Zvcm1hdHRlciAoY29uc3QgY2hhciAqbmFtZSkKKyt7CisrICBzdGF0aWMgY29uc3QgY2hhciAqcmVwbGFjZVtdID0geworKyAgICAibXAyIiwgIm1wMyIsIE5VTEwKKysgIH07CisrICBpbnQgaTsKKysKKysgIGZvciAoaSA9IDA7IHJlcGxhY2VbaV07IGkrKykKKysgICAgaWYgKHN0cmNtcCAocmVwbGFjZVtpXSwgbmFtZSkgPT0gMCkKKysgICAgICByZXR1cm4gVFJVRTsKKysgIHJldHVybiBGQUxTRTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnbXV4X2Jhc2VfaW5pdCAoZ3BvaW50ZXIgZ19jbGFzcykKKyt7CisrICBHc3RGRk1wZWdNdXhDbGFzcyAqa2xhc3MgPSAoR3N0RkZNcGVnTXV4Q2xhc3MgKikgZ19jbGFzczsKKysgIEdzdEVsZW1lbnRDbGFzcyAqZWxlbWVudF9jbGFzcyA9IEdTVF9FTEVNRU5UX0NMQVNTIChnX2NsYXNzKTsKKysgIEdzdFBhZFRlbXBsYXRlICp2aWRlb3Npbmt0ZW1wbCwgKmF1ZGlvc2lua3RlbXBsLCAqc3JjdGVtcGw7CisrICBBVk91dHB1dEZvcm1hdCAqaW5fcGx1Z2luOworKyAgR3N0Q2FwcyAqc3JjY2FwcywgKmF1ZGlvc2lua2NhcHMsICp2aWRlb3NpbmtjYXBzOworKyAgZW51bSBDb2RlY0lEICp2aWRlb19pZHMgPSBOVUxMLCAqYXVkaW9faWRzID0gTlVMTDsKKysgIGdjaGFyICpsb25nbmFtZSwgKmRlc2NyaXB0aW9uOworKyAgY29uc3QgY2hhciAqcmVwbGFjZW1lbnQ7CisrICBnYm9vbGVhbiBpc19mb3JtYXR0ZXI7CisrCisrICBpbl9wbHVnaW4gPQorKyAgICAgIChBVk91dHB1dEZvcm1hdCAqKSBnX3R5cGVfZ2V0X3FkYXRhIChHX09CSkVDVF9DTEFTU19UWVBFIChrbGFzcyksCisrICAgICAgR1NUX0ZGTVVYX1BBUkFNU19RREFUQSk7CisrICBnX2Fzc2VydCAoaW5fcGx1Z2luICE9IE5VTEwpOworKworKyAgLyogY29uc3RydWN0IHRoZSBlbGVtZW50IGRldGFpbHMgc3RydWN0ICovCisrICByZXBsYWNlbWVudCA9IGdzdF9mZm1wZWdtdXhfZ2V0X3JlcGxhY2VtZW50IChpbl9wbHVnaW4tPm5hbWUpOworKyAgaXNfZm9ybWF0dGVyID0gZ3N0X2ZmbXBlZ211eF9pc19mb3JtYXR0ZXIgKGluX3BsdWdpbi0+bmFtZSk7CisrICBpZiAocmVwbGFjZW1lbnQgIT0gTlVMTCkgeworKyAgICBsb25nbmFtZSA9CisrICAgICAgICBnX3N0cmR1cF9wcmludGYgKCJGRm1wZWcgJXMgJXMgKG5vdCByZWNvbW1lbmRlZCwgdXNlICVzIGluc3RlYWQpIiwKKysgICAgICAgIGluX3BsdWdpbi0+bG9uZ19uYW1lLCBpc19mb3JtYXR0ZXIgPyAiZm9ybWF0dGVyIiA6ICJtdXhlciIsCisrICAgICAgICByZXBsYWNlbWVudCk7CisrICAgIGRlc2NyaXB0aW9uID0KKysgICAgICAgIGdfc3RyZHVwX3ByaW50ZiAoIkZGbXBlZyAlcyAlcyAobm90IHJlY29tbWVuZGVkLCB1c2UgJXMgaW5zdGVhZCkiLAorKyAgICAgICAgaW5fcGx1Z2luLT5sb25nX25hbWUsIGlzX2Zvcm1hdHRlciA/ICJmb3JtYXR0ZXIiIDogIm11eGVyIiwKKysgICAgICAgIHJlcGxhY2VtZW50KTsKKysgIH0gZWxzZSB7CisrICAgIGxvbmduYW1lID0gZ19zdHJkdXBfcHJpbnRmICgiRkZtcGVnICVzICVzIiwgaW5fcGx1Z2luLT5sb25nX25hbWUsCisrICAgICAgICBpc19mb3JtYXR0ZXIgPyAiZm9ybWF0dGVyIiA6ICJtdXhlciIpOworKyAgICBkZXNjcmlwdGlvbiA9IGdfc3RyZHVwX3ByaW50ZiAoIkZGbXBlZyAlcyAlcyIsIGluX3BsdWdpbi0+bG9uZ19uYW1lLAorKyAgICAgICAgaXNfZm9ybWF0dGVyID8gImZvcm1hdHRlciIgOiAibXV4ZXIiKTsKKysgIH0KKysgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSAoZWxlbWVudF9jbGFzcywgbG9uZ25hbWUsCisrICAgICAgaXNfZm9ybWF0dGVyID8gIkZvcm1hdHRlci9NZXRhZGF0YSIgOiAiQ29kZWMvTXV4ZXIiLCBkZXNjcmlwdGlvbiwKKysgICAgICAiV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNoZWxsby5iZT4sICIKKysgICAgICAiUm9uYWxkIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PiIpOworKyAgZ19mcmVlIChsb25nbmFtZSk7CisrICBnX2ZyZWUgKGRlc2NyaXB0aW9uKTsKKysKKysgIC8qIFRyeSB0byBmaW5kIHRoZSBjYXBzIHRoYXQgYmVsb25ncyBoZXJlICovCisrICBzcmNjYXBzID0gZ3N0X2ZmbXBlZ19mb3JtYXRpZF90b19jYXBzIChpbl9wbHVnaW4tPm5hbWUpOworKyAgaWYgKCFzcmNjYXBzKSB7CisrICAgIEdTVF9ERUJVRyAoIkNvdWxkbid0IGdldCBzb3VyY2UgY2FwcyBmb3IgbXV4ZXIgJyVzJywgc2tpcHBpbmcgZm9ybWF0IiwKKysgICAgICAgIGluX3BsdWdpbi0+bmFtZSk7CisrICAgIGdvdG8gYmVhY2g7CisrICB9CisrCisrICBpZiAoIWdzdF9mZm1wZWdfZm9ybWF0aWRfZ2V0X2NvZGVjaWRzIChpbl9wbHVnaW4tPm5hbWUsCisrICAgICAgICAgICZ2aWRlb19pZHMsICZhdWRpb19pZHMsIGluX3BsdWdpbikpIHsKKysgICAgZ3N0X2NhcHNfdW5yZWYgKHNyY2NhcHMpOworKyAgICBHU1RfREVCVUcKKysgICAgICAgICgiQ291bGRuJ3QgZ2V0IHNpbmsgY2FwcyBmb3IgbXV4ZXIgJyVzJy4gTW9zdCBsaWtlbHkgYmVjYXVzZSBubyBpbnB1dCBmb3JtYXQgbWFwcGluZyBleGlzdHMuIiwKKysgICAgICAgIGluX3BsdWdpbi0+bmFtZSk7CisrICAgIGdvdG8gYmVhY2g7CisrICB9CisrCisrICB2aWRlb3NpbmtjYXBzID0gdmlkZW9faWRzID8gZ3N0X2ZmbXBlZ211eF9nZXRfaWRfY2FwcyAodmlkZW9faWRzKSA6IE5VTEw7CisrICBhdWRpb3NpbmtjYXBzID0gYXVkaW9faWRzID8gZ3N0X2ZmbXBlZ211eF9nZXRfaWRfY2FwcyAoYXVkaW9faWRzKSA6IE5VTEw7CisrCisrICAvKiBmaXggdXAgYWxsb3dlZCBjYXBzIGZvciBzb21lIG11eGVycyAqLworKyAgLyogRklYTUUgOiBUaGlzIHNob3VsZCBiZSBpbiBnc3RmZm1wZWdjb2RlY21hcC5jICEgKi8KKysgIGlmIChzdHJjbXAgKGluX3BsdWdpbi0+bmFtZSwgImZsdiIpID09IDApIHsKKysgICAgY29uc3QgZ2ludCByYXRlc1tdID0geyA0NDEwMCwgMjIwNTAsIDExMDI1IH07CisrCisrICAgIGdzdF9mZm1wZWdfbXV4X3NpbXBsZV9jYXBzX3NldF9pbnRfbGlzdCAoYXVkaW9zaW5rY2FwcywgInJhdGUiLCAzLCByYXRlcyk7CisrICB9IGVsc2UgaWYgKHN0cmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiZ2lmIikgPT0gMCkgeworKyAgICBpZiAodmlkZW9zaW5rY2FwcykKKysgICAgICBnc3RfY2Fwc191bnJlZiAodmlkZW9zaW5rY2Fwcyk7CisrCisrICAgIHZpZGVvc2lua2NhcHMgPQorKyAgICAgICAgZ3N0X2NhcHNfZnJvbV9zdHJpbmcgKCJ2aWRlby94LXJhdy1yZ2IsIGJwcD0oaW50KTI0LCBkZXB0aD0oaW50KTI0Iik7CisrICB9CisrCisrICAvKiBwYWQgdGVtcGxhdGVzICovCisrICBzcmN0ZW1wbCA9IGdzdF9wYWRfdGVtcGxhdGVfbmV3ICgic3JjIiwgR1NUX1BBRF9TUkMsIEdTVF9QQURfQUxXQVlTLCBzcmNjYXBzKTsKKysgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUgKGVsZW1lbnRfY2xhc3MsIHNyY3RlbXBsKTsKKysKKysgIGlmIChhdWRpb3NpbmtjYXBzKSB7CisrICAgIGF1ZGlvc2lua3RlbXBsID0gZ3N0X3BhZF90ZW1wbGF0ZV9uZXcgKCJhdWRpb18lZCIsCisrICAgICAgICBHU1RfUEFEX1NJTkssIEdTVF9QQURfUkVRVUVTVCwgYXVkaW9zaW5rY2Fwcyk7CisrICAgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUgKGVsZW1lbnRfY2xhc3MsIGF1ZGlvc2lua3RlbXBsKTsKKysgIH0KKysKKysgIGlmICh2aWRlb3NpbmtjYXBzKSB7CisrICAgIHZpZGVvc2lua3RlbXBsID0gZ3N0X3BhZF90ZW1wbGF0ZV9uZXcgKCJ2aWRlb18lZCIsCisrICAgICAgICBHU1RfUEFEX1NJTkssIEdTVF9QQURfUkVRVUVTVCwgdmlkZW9zaW5rY2Fwcyk7CisrICAgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUgKGVsZW1lbnRfY2xhc3MsIHZpZGVvc2lua3RlbXBsKTsKKysgIH0KKysKKytiZWFjaDoKKysgIGtsYXNzLT5pbl9wbHVnaW4gPSBpbl9wbHVnaW47CisrfQorKworK3N0YXRpYyB2b2lkCisrZ3N0X2ZmbXBlZ211eF9jbGFzc19pbml0IChHc3RGRk1wZWdNdXhDbGFzcyAqIGtsYXNzKQorK3sKKysgIEdPYmplY3RDbGFzcyAqZ29iamVjdF9jbGFzczsKKysgIEdzdEVsZW1lbnRDbGFzcyAqZ3N0ZWxlbWVudF9jbGFzczsKKysKKysgIGdvYmplY3RfY2xhc3MgPSAoR09iamVjdENsYXNzICopIGtsYXNzOworKyAgZ3N0ZWxlbWVudF9jbGFzcyA9IChHc3RFbGVtZW50Q2xhc3MgKikga2xhc3M7CisrCisrICBwYXJlbnRfY2xhc3MgPSBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQgKGtsYXNzKTsKKysKKysgIGdvYmplY3RfY2xhc3MtPnNldF9wcm9wZXJ0eSA9IEdTVF9ERUJVR19GVU5DUFRSIChnc3RfZmZtcGVnbXV4X3NldF9wcm9wZXJ0eSk7CisrICBnb2JqZWN0X2NsYXNzLT5nZXRfcHJvcGVydHkgPSBHU1RfREVCVUdfRlVOQ1BUUiAoZ3N0X2ZmbXBlZ211eF9nZXRfcHJvcGVydHkpOworKworKyAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSAoZ29iamVjdF9jbGFzcywgUFJPUF9QUkVMT0FELAorKyAgICAgIGdfcGFyYW1fc3BlY19pbnQgKCJwcmVsb2FkIiwgInByZWxvYWQiLAorKyAgICAgICAgICAiU2V0IHRoZSBpbml0aWFsIGRlbXV4LWRlY29kZSBkZWxheSAoaW4gbWljcm9zZWNvbmRzKSIsIDAsIEdfTUFYSU5ULAorKyAgICAgICAgICAwLCBHX1BBUkFNX1JFQURXUklURSB8IEdfUEFSQU1fU1RBVElDX1NUUklOR1MpKTsKKysKKysgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkgKGdvYmplY3RfY2xhc3MsIFBST1BfTUFYREVMQVksCisrICAgICAgZ19wYXJhbV9zcGVjX2ludCAoIm1heGRlbGF5IiwgIm1heGRlbGF5IiwKKysgICAgICAgICAgIlNldCB0aGUgbWF4aW11bSBkZW11eC1kZWNvZGUgZGVsYXkgKGluIG1pY3Jvc2Vjb25kcykiLCAwLCBHX01BWElOVCwKKysgICAgICAgICAgMCwgR19QQVJBTV9SRUFEV1JJVEUgfCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTKSk7CisrCisrICBnc3RlbGVtZW50X2NsYXNzLT5yZXF1ZXN0X25ld19wYWQgPSBnc3RfZmZtcGVnbXV4X3JlcXVlc3RfbmV3X3BhZDsKKysgIGdzdGVsZW1lbnRfY2xhc3MtPmNoYW5nZV9zdGF0ZSA9IGdzdF9mZm1wZWdtdXhfY2hhbmdlX3N0YXRlOworKyAgZ29iamVjdF9jbGFzcy0+ZmluYWxpemUgPSBnc3RfZmZtcGVnbXV4X2ZpbmFsaXplOworK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdtdXhfaW5pdCAoR3N0RkZNcGVnTXV4ICogZmZtcGVnbXV4LCBHc3RGRk1wZWdNdXhDbGFzcyAqIGdfY2xhc3MpCisreworKyAgR3N0RWxlbWVudENsYXNzICprbGFzcyA9IEdTVF9FTEVNRU5UX0NMQVNTIChnX2NsYXNzKTsKKysgIEdzdEZGTXBlZ011eENsYXNzICpvY2xhc3MgPSAoR3N0RkZNcGVnTXV4Q2xhc3MgKikga2xhc3M7CisrICBHc3RQYWRUZW1wbGF0ZSAqdGVtcGwgPSBnc3RfZWxlbWVudF9jbGFzc19nZXRfcGFkX3RlbXBsYXRlIChrbGFzcywgInNyYyIpOworKworKyAgZmZtcGVnbXV4LT5zcmNwYWQgPSBnc3RfcGFkX25ld19mcm9tX3RlbXBsYXRlICh0ZW1wbCwgInNyYyIpOworKyAgZ3N0X3BhZF9zZXRfY2FwcyAoZmZtcGVnbXV4LT5zcmNwYWQsIGdzdF9wYWRfdGVtcGxhdGVfZ2V0X2NhcHMgKHRlbXBsKSk7CisrICBnc3RfZWxlbWVudF9hZGRfcGFkIChHU1RfRUxFTUVOVCAoZmZtcGVnbXV4KSwgZmZtcGVnbXV4LT5zcmNwYWQpOworKworKyAgZmZtcGVnbXV4LT5jb2xsZWN0ID0gZ3N0X2NvbGxlY3RfcGFkc19uZXcgKCk7CisrICBnc3RfY29sbGVjdF9wYWRzX3NldF9mdW5jdGlvbiAoZmZtcGVnbXV4LT5jb2xsZWN0LAorKyAgICAgIChHc3RDb2xsZWN0UGFkc0Z1bmN0aW9uKSBnc3RfZmZtcGVnbXV4X2NvbGxlY3RlZCwgZmZtcGVnbXV4KTsKKysKKysgIGZmbXBlZ211eC0+Y29udGV4dCA9IGdfbmV3MCAoQVZGb3JtYXRDb250ZXh0LCAxKTsKKysgIGZmbXBlZ211eC0+Y29udGV4dC0+b2Zvcm1hdCA9IG9jbGFzcy0+aW5fcGx1Z2luOworKyAgZmZtcGVnbXV4LT5jb250ZXh0LT5uYl9zdHJlYW1zID0gMDsKKysgIGdfc25wcmludGYgKGZmbXBlZ211eC0+Y29udGV4dC0+ZmlsZW5hbWUsCisrICAgICAgc2l6ZW9mIChmZm1wZWdtdXgtPmNvbnRleHQtPmZpbGVuYW1lKSwKKysgICAgICAiZ3N0cmVhbWVyOi8vJXAiLCBmZm1wZWdtdXgtPnNyY3BhZCk7CisrICBmZm1wZWdtdXgtPm9wZW5lZCA9IEZBTFNFOworKworKyAgZmZtcGVnbXV4LT52aWRlb3BhZHMgPSAwOworKyAgZmZtcGVnbXV4LT5hdWRpb3BhZHMgPSAwOworKyAgZmZtcGVnbXV4LT5wcmVsb2FkID0gMDsKKysgIGZmbXBlZ211eC0+bWF4X2RlbGF5ID0gMDsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnbXV4X3NldF9wcm9wZXJ0eSAoR09iamVjdCAqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwKKysgICAgY29uc3QgR1ZhbHVlICogdmFsdWUsIEdQYXJhbVNwZWMgKiBwc3BlYykKKyt7CisrICBHc3RGRk1wZWdNdXggKnNyYzsKKysKKysgIHNyYyA9IChHc3RGRk1wZWdNdXggKikgb2JqZWN0OworKworKyAgc3dpdGNoIChwcm9wX2lkKSB7CisrICAgIGNhc2UgUFJPUF9QUkVMT0FEOgorKyAgICAgIHNyYy0+cHJlbG9hZCA9IGdfdmFsdWVfZ2V0X2ludCAodmFsdWUpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBST1BfTUFYREVMQVk6CisrICAgICAgc3JjLT5tYXhfZGVsYXkgPSBnX3ZhbHVlX2dldF9pbnQgKHZhbHVlKTsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQgKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOworKyAgICAgIGJyZWFrOworKyAgfQorK30KKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdtdXhfZ2V0X3Byb3BlcnR5IChHT2JqZWN0ICogb2JqZWN0LCBndWludCBwcm9wX2lkLCBHVmFsdWUgKiB2YWx1ZSwKKysgICAgR1BhcmFtU3BlYyAqIHBzcGVjKQorK3sKKysgIEdzdEZGTXBlZ011eCAqc3JjOworKworKyAgc3JjID0gKEdzdEZGTXBlZ011eCAqKSBvYmplY3Q7CisrCisrICBzd2l0Y2ggKHByb3BfaWQpIHsKKysgICAgY2FzZSBQUk9QX1BSRUxPQUQ6CisrICAgICAgZ192YWx1ZV9zZXRfaW50ICh2YWx1ZSwgc3JjLT5wcmVsb2FkKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQUk9QX01BWERFTEFZOgorKyAgICAgIGdfdmFsdWVfc2V0X2ludCAodmFsdWUsIHNyYy0+bWF4X2RlbGF5KTsKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQgKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOworKyAgICAgIGJyZWFrOworKyAgfQorK30KKysKKysKKytzdGF0aWMgdm9pZAorK2dzdF9mZm1wZWdtdXhfZmluYWxpemUgKEdPYmplY3QgKiBvYmplY3QpCisreworKyAgR3N0RkZNcGVnTXV4ICpmZm1wZWdtdXggPSAoR3N0RkZNcGVnTXV4ICopIG9iamVjdDsKKysKKysgIGdfZnJlZSAoZmZtcGVnbXV4LT5jb250ZXh0KTsKKysgIGdzdF9vYmplY3RfdW5yZWYgKGZmbXBlZ211eC0+Y29sbGVjdCk7CisrCisrICBpZiAoR19PQkpFQ1RfQ0xBU1MgKHBhcmVudF9jbGFzcyktPmZpbmFsaXplKQorKyAgICBHX09CSkVDVF9DTEFTUyAocGFyZW50X2NsYXNzKS0+ZmluYWxpemUgKG9iamVjdCk7CisrfQorKworK3N0YXRpYyBHc3RQYWQgKgorK2dzdF9mZm1wZWdtdXhfcmVxdWVzdF9uZXdfcGFkIChHc3RFbGVtZW50ICogZWxlbWVudCwKKysgICAgR3N0UGFkVGVtcGxhdGUgKiB0ZW1wbCwgY29uc3QgZ2NoYXIgKiBuYW1lKQorK3sKKysgIEdzdEZGTXBlZ011eCAqZmZtcGVnbXV4ID0gKEdzdEZGTXBlZ011eCAqKSBlbGVtZW50OworKyAgR3N0RWxlbWVudENsYXNzICprbGFzcyA9IEdTVF9FTEVNRU5UX0dFVF9DTEFTUyAoZWxlbWVudCk7CisrICBHc3RGRk1wZWdNdXhQYWQgKmNvbGxlY3RfcGFkOworKyAgZ2NoYXIgKnBhZG5hbWU7CisrICBHc3RQYWQgKnBhZDsKKysgIEFWU3RyZWFtICpzdDsKKysgIGVudW0gQVZNZWRpYVR5cGUgdHlwZTsKKysgIGdpbnQgYml0cmF0ZSA9IDAsIGZyYW1lc2l6ZSA9IDA7CisrCisrICBnX3JldHVybl92YWxfaWZfZmFpbCAodGVtcGwgIT0gTlVMTCwgTlVMTCk7CisrICBnX3JldHVybl92YWxfaWZfZmFpbCAodGVtcGwtPmRpcmVjdGlvbiA9PSBHU1RfUEFEX1NJTkssIE5VTEwpOworKyAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGZmbXBlZ211eC0+b3BlbmVkID09IEZBTFNFLCBOVUxMKTsKKysKKysgIC8qIGZpZ3VyZSBvdXQgYSBuYW1lIHRoYXQgKndlKiBsaWtlICovCisrICBpZiAodGVtcGwgPT0gZ3N0X2VsZW1lbnRfY2xhc3NfZ2V0X3BhZF90ZW1wbGF0ZSAoa2xhc3MsICJ2aWRlb18lZCIpKSB7CisrICAgIHBhZG5hbWUgPSBnX3N0cmR1cF9wcmludGYgKCJ2aWRlb18lZCIsIGZmbXBlZ211eC0+dmlkZW9wYWRzKyspOworKyAgICB0eXBlID0gQVZNRURJQV9UWVBFX1ZJREVPOworKyAgICBiaXRyYXRlID0gNjQgKiAxMDI0OworKyAgICBmcmFtZXNpemUgPSAxMTUyOworKyAgfSBlbHNlIGlmICh0ZW1wbCA9PSBnc3RfZWxlbWVudF9jbGFzc19nZXRfcGFkX3RlbXBsYXRlIChrbGFzcywgImF1ZGlvXyVkIikpIHsKKysgICAgcGFkbmFtZSA9IGdfc3RyZHVwX3ByaW50ZiAoImF1ZGlvXyVkIiwgZmZtcGVnbXV4LT5hdWRpb3BhZHMrKyk7CisrICAgIHR5cGUgPSBBVk1FRElBX1RZUEVfQVVESU87CisrICAgIGJpdHJhdGUgPSAyODUgKiAxMDI0OworKyAgfSBlbHNlIHsKKysgICAgZ193YXJuaW5nICgiZmZtdXg6IHVua25vd24gcGFkIHRlbXBsYXRlISIpOworKyAgICByZXR1cm4gTlVMTDsKKysgIH0KKysKKysgIC8qIGNyZWF0ZSBwYWQgKi8KKysgIHBhZCA9IGdzdF9wYWRfbmV3X2Zyb21fdGVtcGxhdGUgKHRlbXBsLCBwYWRuYW1lKTsKKysgIGNvbGxlY3RfcGFkID0gKEdzdEZGTXBlZ011eFBhZCAqKQorKyAgICAgIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZCAoZmZtcGVnbXV4LT5jb2xsZWN0LCBwYWQsCisrICAgICAgc2l6ZW9mIChHc3RGRk1wZWdNdXhQYWQpKTsKKysgIGNvbGxlY3RfcGFkLT5wYWRudW0gPSBmZm1wZWdtdXgtPmNvbnRleHQtPm5iX3N0cmVhbXM7CisrCisrICAvKiBzbWFsbCBoYWNrIHRvIHB1dCBvdXIgb3duIGV2ZW50IHBhZCBmdW5jdGlvbiBhbmQgY2hhaW4gdXAgdG8gY29sbGVjdCBwYWQgKi8KKysgIGZmbXBlZ211eC0+ZXZlbnRfZnVuY3Rpb24gPSBHU1RfUEFEX0VWRU5URlVOQyAocGFkKTsKKysgIGdzdF9wYWRfc2V0X2V2ZW50X2Z1bmN0aW9uIChwYWQsCisrICAgICAgR1NUX0RFQlVHX0ZVTkNQVFIgKGdzdF9mZm1wZWdtdXhfc2lua19ldmVudCkpOworKworKyAgZ3N0X3BhZF9zZXRfc2V0Y2Fwc19mdW5jdGlvbiAocGFkLCBHU1RfREVCVUdfRlVOQ1BUUiAoZ3N0X2ZmbXBlZ211eF9zZXRjYXBzKSk7CisrICBnc3RfZWxlbWVudF9hZGRfcGFkIChlbGVtZW50LCBwYWQpOworKworKyAgLyogQVZTdHJlYW0gbmVlZHMgdG8gYmUgY3JlYXRlZCAqLworKyAgc3QgPSBhdl9uZXdfc3RyZWFtIChmZm1wZWdtdXgtPmNvbnRleHQsIGNvbGxlY3RfcGFkLT5wYWRudW0pOworKyAgc3QtPmNvZGVjLT5jb2RlY190eXBlID0gdHlwZTsKKysgIHN0LT5jb2RlYy0+Y29kZWNfaWQgPSBDT0RFQ19JRF9OT05FOyAgLyogdGhpcyBpcyBhIGNoZWNrIGFmdGVyd2FyZHMgKi8KKysgIHN0LT5zdHJlYW1fY29weSA9IDE7ICAgICAgICAgIC8qIHdlJ3JlIG5vdCB0aGUgYWN0dWFsIGVuY29kZXIgKi8KKysgIHN0LT5jb2RlYy0+Yml0X3JhdGUgPSBiaXRyYXRlOworKyAgc3QtPmNvZGVjLT5mcmFtZV9zaXplID0gZnJhbWVzaXplOworKyAgLyogd2UgZmlsbCBpbiBjb2RlYyBkdXJpbmcgY2Fwc25lZ28gKi8KKysKKysgIC8qIHdlIGxvdmUgZGVidWcgb3V0cHV0IChjKSAodG0pIChyKSAqLworKyAgR1NUX0RFQlVHICgiQ3JlYXRlZCAlcyBwYWQgZm9yIGZmbXV4XyVzIGVsZW1lbnQiLAorKyAgICAgIHBhZG5hbWUsICgoR3N0RkZNcGVnTXV4Q2xhc3MgKikga2xhc3MpLT5pbl9wbHVnaW4tPm5hbWUpOworKyAgZ19mcmVlIChwYWRuYW1lKTsKKysKKysgIHJldHVybiBwYWQ7CisrfQorKworKy8qKgorKyAqIGdzdF9mZm1wZWdtdXhfc2V0Y2FwcworKyAqIEBwYWQ6ICNHc3RQYWQKKysgKiBAY2FwczogTmV3IGNhcHMuCisrICoKKysgKiBTZXQgY2FwcyB0byBwYWQuCisrICoKKysgKiBSZXR1cm5zOiAjVFJVRSBvbiBzdWNjZXNzLgorKyAqLworK3N0YXRpYyBnYm9vbGVhbgorK2dzdF9mZm1wZWdtdXhfc2V0Y2FwcyAoR3N0UGFkICogcGFkLCBHc3RDYXBzICogY2FwcykKKyt7CisrICBHc3RGRk1wZWdNdXggKmZmbXBlZ211eCA9IChHc3RGRk1wZWdNdXggKikgKGdzdF9wYWRfZ2V0X3BhcmVudCAocGFkKSk7CisrICBHc3RGRk1wZWdNdXhQYWQgKmNvbGxlY3RfcGFkOworKyAgQVZTdHJlYW0gKnN0OworKworKyAgY29sbGVjdF9wYWQgPSAoR3N0RkZNcGVnTXV4UGFkICopIGdzdF9wYWRfZ2V0X2VsZW1lbnRfcHJpdmF0ZSAocGFkKTsKKysKKysgIHN0ID0gZmZtcGVnbXV4LT5jb250ZXh0LT5zdHJlYW1zW2NvbGxlY3RfcGFkLT5wYWRudW1dOworKyAgZmZtcGVnbXV4LT5jb250ZXh0LT5wcmVsb2FkID0gZmZtcGVnbXV4LT5wcmVsb2FkOworKyAgZmZtcGVnbXV4LT5jb250ZXh0LT5tYXhfZGVsYXkgPSBmZm1wZWdtdXgtPm1heF9kZWxheTsKKysKKysgIC8qIGZvciB0aGUgZm9ybWF0LXNwZWNpZmljIGd1ZXNzZXMsIHdlJ2xsIGdvIHRvCisrICAgKiBvdXIgZmFtb3VzIGNvZGVjIG1hcHBlciAqLworKyAgaWYgKGdzdF9mZm1wZWdfY2Fwc190b19jb2RlY2lkIChjYXBzLCBzdC0+Y29kZWMpID09IENPREVDX0lEX05PTkUpCisrICAgIGdvdG8gbm90X2FjY2VwdGVkOworKworKyAgLyogY29weSBvdmVyIHRoZSBhc3BlY3QgcmF0aW9zLCBmZm1wZWcgZXhwZWN0cyB0aGUgc3RyZWFtIGFzcGVjdCB0byBtYXRjaCB0aGUKKysgICAqIGNvZGVjIGFzcGVjdC4gKi8KKysgIHN0LT5zYW1wbGVfYXNwZWN0X3JhdGlvID0gc3QtPmNvZGVjLT5zYW1wbGVfYXNwZWN0X3JhdGlvOworKworKyAgR1NUX0xPR19PQkpFQ1QgKHBhZCwgImFjY2VwdGVkIGNhcHMgJSIgR1NUX1BUUl9GT1JNQVQsIGNhcHMpOworKyAgcmV0dXJuIFRSVUU7CisrCisrICAvKiBFUlJPUlMgKi8KKytub3RfYWNjZXB0ZWQ6CisrICB7CisrICAgIEdTVF9MT0dfT0JKRUNUIChwYWQsICJyZWplY3RpbmcgY2FwcyAlIiBHU1RfUFRSX0ZPUk1BVCwgY2Fwcyk7CisrICAgIHJldHVybiBGQUxTRTsKKysgIH0KKyt9CisrCisrCisrc3RhdGljIGdib29sZWFuCisrZ3N0X2ZmbXBlZ211eF9zaW5rX2V2ZW50IChHc3RQYWQgKiBwYWQsIEdzdEV2ZW50ICogZXZlbnQpCisreworKyAgR3N0RkZNcGVnTXV4ICpmZm1wZWdtdXggPSAoR3N0RkZNcGVnTXV4ICopIGdzdF9wYWRfZ2V0X3BhcmVudCAocGFkKTsKKysgIGdib29sZWFuIHJlcyA9IFRSVUU7CisrCisrICBzd2l0Y2ggKEdTVF9FVkVOVF9UWVBFIChldmVudCkpIHsKKysgICAgY2FzZSBHU1RfRVZFTlRfVEFHOnsKKysgICAgICBHc3RUYWdMaXN0ICp0YWdsaXN0OworKyAgICAgIEdzdFRhZ1NldHRlciAqc2V0dGVyID0gR1NUX1RBR19TRVRURVIgKGZmbXBlZ211eCk7CisrICAgICAgY29uc3QgR3N0VGFnTWVyZ2VNb2RlIG1vZGUgPSBnc3RfdGFnX3NldHRlcl9nZXRfdGFnX21lcmdlX21vZGUgKHNldHRlcik7CisrCisrICAgICAgZ3N0X2V2ZW50X3BhcnNlX3RhZyAoZXZlbnQsICZ0YWdsaXN0KTsKKysgICAgICBnc3RfdGFnX3NldHRlcl9tZXJnZV90YWdzIChzZXR0ZXIsIHRhZ2xpc3QsIG1vZGUpOworKyAgICAgIGJyZWFrOworKyAgICB9CisrICAgIGRlZmF1bHQ6CisrICAgICAgYnJlYWs7CisrICB9CisrCisrICAvKiBjaGFpbmluZyB1cCB0byBjb2xsZWN0cGFkcyBkZWZhdWx0IGV2ZW50IGZ1bmN0aW9uICovCisrICByZXMgPSBmZm1wZWdtdXgtPmV2ZW50X2Z1bmN0aW9uIChwYWQsIGV2ZW50KTsKKysKKysgIGdzdF9vYmplY3RfdW5yZWYgKGZmbXBlZ211eCk7CisrICByZXR1cm4gcmVzOworK30KKysKKytzdGF0aWMgR3N0Rmxvd1JldHVybgorK2dzdF9mZm1wZWdtdXhfY29sbGVjdGVkIChHc3RDb2xsZWN0UGFkcyAqIHBhZHMsIGdwb2ludGVyIHVzZXJfZGF0YSkKKyt7CisrICBHc3RGRk1wZWdNdXggKmZmbXBlZ211eCA9IChHc3RGRk1wZWdNdXggKikgdXNlcl9kYXRhOworKyAgR1NMaXN0ICpjb2xsZWN0ZWQ7CisrICBHc3RGRk1wZWdNdXhQYWQgKmJlc3RfcGFkOworKyAgR3N0Q2xvY2tUaW1lIGJlc3RfdGltZTsKKysjaWYgMAorKyAgLyogUmUtZW5hYmxlIG9uY2UgY29udmVydGVkIHRvIG5ldyBBVk1ldGFEYXRhIEFQSQorKyAgICogU2VlICM1NjY2MDUKKysgICAqLworKyAgY29uc3QgR3N0VGFnTGlzdCAqdGFnczsKKysjZW5kaWYKKysKKysgIC8qIG9wZW4gImZpbGUiIChnc3RyZWFtZXIgcHJvdG9jb2wgdG8gbmV4dCBlbGVtZW50KSAqLworKyAgaWYgKCFmZm1wZWdtdXgtPm9wZW5lZCkgeworKyAgICBpbnQgb3Blbl9mbGFncyA9IFVSTF9XUk9OTFk7CisrCisrICAgIC8qIHdlIGRvIG5lZWQgYWxsIHN0cmVhbXMgdG8gaGF2ZSBzdGFydGVkIGNhcHNuZWdvLAorKyAgICAgKiBvciB0aGluZ3Mgd2lsbCBnbyBob3JyaWJseSB3cm9uZyAqLworKyAgICBmb3IgKGNvbGxlY3RlZCA9IGZmbXBlZ211eC0+Y29sbGVjdC0+ZGF0YTsgY29sbGVjdGVkOworKyAgICAgICAgY29sbGVjdGVkID0gZ19zbGlzdF9uZXh0IChjb2xsZWN0ZWQpKSB7CisrICAgICAgR3N0RkZNcGVnTXV4UGFkICpjb2xsZWN0X3BhZCA9IChHc3RGRk1wZWdNdXhQYWQgKikgY29sbGVjdGVkLT5kYXRhOworKyAgICAgIEFWU3RyZWFtICpzdCA9IGZmbXBlZ211eC0+Y29udGV4dC0+c3RyZWFtc1tjb2xsZWN0X3BhZC0+cGFkbnVtXTsKKysKKysgICAgICAvKiBjaGVjayB3aGV0aGVyIHRoZSBwYWQgaGFzIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQgY2Fwc25lZ28gKi8KKysgICAgICBpZiAoc3QtPmNvZGVjLT5jb2RlY19pZCA9PSBDT0RFQ19JRF9OT05FKSB7CisrICAgICAgICBHU1RfRUxFTUVOVF9FUlJPUiAoZmZtcGVnbXV4LCBDT1JFLCBORUdPVElBVElPTiwgKE5VTEwpLAorKyAgICAgICAgICAgICgibm8gY2FwcyBzZXQgb24gc3RyZWFtICVkICglcykiLCBjb2xsZWN0X3BhZC0+cGFkbnVtLAorKyAgICAgICAgICAgICAgICAoc3QtPmNvZGVjLT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTykgPworKyAgICAgICAgICAgICAgICAidmlkZW8iIDogImF1ZGlvIikpOworKyAgICAgICAgcmV0dXJuIEdTVF9GTE9XX0VSUk9SOworKyAgICAgIH0KKysgICAgICAvKiBzZXQgZnJhbWVyYXRlIGZvciBhdWRpbyAqLworKyAgICAgIGlmIChzdC0+Y29kZWMtPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX0FVRElPKSB7CisrICAgICAgICBzd2l0Y2ggKHN0LT5jb2RlYy0+Y29kZWNfaWQpIHsKKysgICAgICAgICAgY2FzZSBDT0RFQ19JRF9QQ01fUzE2TEU6CisrICAgICAgICAgIGNhc2UgQ09ERUNfSURfUENNX1MxNkJFOgorKyAgICAgICAgICBjYXNlIENPREVDX0lEX1BDTV9VMTZMRToKKysgICAgICAgICAgY2FzZSBDT0RFQ19JRF9QQ01fVTE2QkU6CisrICAgICAgICAgIGNhc2UgQ09ERUNfSURfUENNX1M4OgorKyAgICAgICAgICBjYXNlIENPREVDX0lEX1BDTV9VODoKKysgICAgICAgICAgICBzdC0+Y29kZWMtPmZyYW1lX3NpemUgPSAxOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICB7CisrICAgICAgICAgICAgR3N0QnVmZmVyICpidWZmZXI7CisrCisrICAgICAgICAgICAgLyogRklYTUUgOiBUaGlzIGRvZXNuJ3Qgd29yayBmb3IgUkFXIEFVRElPLi4uCisrICAgICAgICAgICAgICogaW4gZmFjdCBJJ20gd29uZGVyaW5nIGlmIGl0IGV2ZW4gd29ya3MgZm9yIGFueSBraW5kIG9mIGF1ZGlvLi4uICovCisrICAgICAgICAgICAgYnVmZmVyID0gZ3N0X2NvbGxlY3RfcGFkc19wZWVrIChmZm1wZWdtdXgtPmNvbGxlY3QsCisrICAgICAgICAgICAgICAgIChHc3RDb2xsZWN0RGF0YSAqKSBjb2xsZWN0X3BhZCk7CisrICAgICAgICAgICAgaWYgKGJ1ZmZlcikgeworKyAgICAgICAgICAgICAgc3QtPmNvZGVjLT5mcmFtZV9zaXplID0KKysgICAgICAgICAgICAgICAgICBzdC0+Y29kZWMtPnNhbXBsZV9yYXRlICoKKysgICAgICAgICAgICAgICAgICBHU1RfQlVGRkVSX0RVUkFUSU9OIChidWZmZXIpIC8gR1NUX1NFQ09ORDsKKysgICAgICAgICAgICAgIGdzdF9idWZmZXJfdW5yZWYgKGJ1ZmZlcik7CisrICAgICAgICAgICAgfQorKyAgICAgICAgICB9CisrICAgICAgICB9CisrICAgICAgfQorKyAgICB9CisrCisrI2lmIDAKKysgICAgLyogUmUtZW5hYmxlIG9uY2UgY29udmVydGVkIHRvIG5ldyBBVk1ldGFEYXRhIEFQSQorKyAgICAgKiBTZWUgIzU2NjYwNQorKyAgICAgKi8KKysKKysgICAgLyogdGFncyAqLworKyAgICB0YWdzID0gZ3N0X3RhZ19zZXR0ZXJfZ2V0X3RhZ19saXN0IChHU1RfVEFHX1NFVFRFUiAoZmZtcGVnbXV4KSk7CisrICAgIGlmICh0YWdzKSB7CisrICAgICAgZ2ludCBpOworKyAgICAgIGdjaGFyICpzOworKworKyAgICAgIC8qIGdldCB0aGUgaW50ZXJlc3Rpbmcgb25lcyAqLworKyAgICAgIGlmIChnc3RfdGFnX2xpc3RfZ2V0X3N0cmluZyAodGFncywgR1NUX1RBR19USVRMRSwgJnMpKSB7CisrICAgICAgICBzdHJuY3B5IChmZm1wZWdtdXgtPmNvbnRleHQtPnRpdGxlLCBzLAorKyAgICAgICAgICAgIHNpemVvZiAoZmZtcGVnbXV4LT5jb250ZXh0LT50aXRsZSkpOworKyAgICAgIH0KKysgICAgICBpZiAoZ3N0X3RhZ19saXN0X2dldF9zdHJpbmcgKHRhZ3MsIEdTVF9UQUdfQVJUSVNULCAmcykpIHsKKysgICAgICAgIHN0cm5jcHkgKGZmbXBlZ211eC0+Y29udGV4dC0+YXV0aG9yLCBzLAorKyAgICAgICAgICAgIHNpemVvZiAoZmZtcGVnbXV4LT5jb250ZXh0LT5hdXRob3IpKTsKKysgICAgICB9CisrICAgICAgaWYgKGdzdF90YWdfbGlzdF9nZXRfc3RyaW5nICh0YWdzLCBHU1RfVEFHX0NPUFlSSUdIVCwgJnMpKSB7CisrICAgICAgICBzdHJuY3B5IChmZm1wZWdtdXgtPmNvbnRleHQtPmNvcHlyaWdodCwgcywKKysgICAgICAgICAgICBzaXplb2YgKGZmbXBlZ211eC0+Y29udGV4dC0+Y29weXJpZ2h0KSk7CisrICAgICAgfQorKyAgICAgIGlmIChnc3RfdGFnX2xpc3RfZ2V0X3N0cmluZyAodGFncywgR1NUX1RBR19DT01NRU5ULCAmcykpIHsKKysgICAgICAgIHN0cm5jcHkgKGZmbXBlZ211eC0+Y29udGV4dC0+Y29tbWVudCwgcywKKysgICAgICAgICAgICBzaXplb2YgKGZmbXBlZ211eC0+Y29udGV4dC0+Y29tbWVudCkpOworKyAgICAgIH0KKysgICAgICBpZiAoZ3N0X3RhZ19saXN0X2dldF9zdHJpbmcgKHRhZ3MsIEdTVF9UQUdfQUxCVU0sICZzKSkgeworKyAgICAgICAgc3RybmNweSAoZmZtcGVnbXV4LT5jb250ZXh0LT5hbGJ1bSwgcywKKysgICAgICAgICAgICBzaXplb2YgKGZmbXBlZ211eC0+Y29udGV4dC0+YWxidW0pKTsKKysgICAgICB9CisrICAgICAgaWYgKGdzdF90YWdfbGlzdF9nZXRfc3RyaW5nICh0YWdzLCBHU1RfVEFHX0dFTlJFLCAmcykpIHsKKysgICAgICAgIHN0cm5jcHkgKGZmbXBlZ211eC0+Y29udGV4dC0+Z2VucmUsIHMsCisrICAgICAgICAgICAgc2l6ZW9mIChmZm1wZWdtdXgtPmNvbnRleHQtPmdlbnJlKSk7CisrICAgICAgfQorKyAgICAgIGlmIChnc3RfdGFnX2xpc3RfZ2V0X2ludCAodGFncywgR1NUX1RBR19UUkFDS19OVU1CRVIsICZpKSkgeworKyAgICAgICAgZmZtcGVnbXV4LT5jb250ZXh0LT50cmFjayA9IGk7CisrICAgICAgfQorKyAgICB9CisrI2VuZGlmCisrCisrICAgIC8qIHNldCB0aGUgc3RyZWFtaGVhZGVyIGZsYWcgZm9yIGdzdGZmbXBlZ3Byb3RvY29sIGlmIGNvZGVjIHN1cHBvcnRzIGl0ICovCisrICAgIGlmICghc3RyY21wIChmZm1wZWdtdXgtPmNvbnRleHQtPm9mb3JtYXQtPm5hbWUsICJmbHYiKSkgeworKyAgICAgIG9wZW5fZmxhZ3MgfD0gR1NUX0ZGTVBFR19VUkxfU1RSRUFNSEVBREVSOworKyAgICB9CisrCisrICAgIGlmICh1cmxfZm9wZW4gKCZmZm1wZWdtdXgtPmNvbnRleHQtPnBiLAorKyAgICAgICAgICAgIGZmbXBlZ211eC0+Y29udGV4dC0+ZmlsZW5hbWUsIG9wZW5fZmxhZ3MpIDwgMCkgeworKyAgICAgIEdTVF9FTEVNRU5UX0VSUk9SIChmZm1wZWdtdXgsIExJQlJBUlksIFRPT19MQVpZLCAoTlVMTCksCisrICAgICAgICAgICgiRmFpbGVkIHRvIG9wZW4gc3RyZWFtIGNvbnRleHQgaW4gZmZtdXgiKSk7CisrICAgICAgcmV0dXJuIEdTVF9GTE9XX0VSUk9SOworKyAgICB9CisrCisrICAgIGlmIChhdl9zZXRfcGFyYW1ldGVycyAoZmZtcGVnbXV4LT5jb250ZXh0LCBOVUxMKSA8IDApIHsKKysgICAgICBHU1RfRUxFTUVOVF9FUlJPUiAoZmZtcGVnbXV4LCBMSUJSQVJZLCBJTklULCAoTlVMTCksCisrICAgICAgICAgICgiRmFpbGVkIHRvIGluaXRpYWxpemUgbXV4ZXIiKSk7CisrICAgICAgcmV0dXJuIEdTVF9GTE9XX0VSUk9SOworKyAgICB9CisrCisrICAgIC8qIG5vdyBvcGVuIHRoZSBtdXggZm9ybWF0ICovCisrICAgIGlmIChhdl93cml0ZV9oZWFkZXIgKGZmbXBlZ211eC0+Y29udGV4dCkgPCAwKSB7CisrICAgICAgR1NUX0VMRU1FTlRfRVJST1IgKGZmbXBlZ211eCwgTElCUkFSWSwgU0VUVElOR1MsIChOVUxMKSwKKysgICAgICAgICAgKCJGYWlsZWQgdG8gd3JpdGUgZmlsZSBoZWFkZXIgLSBjaGVjayBjb2RlYyBzZXR0aW5ncyIpKTsKKysgICAgICByZXR1cm4gR1NUX0ZMT1dfRVJST1I7CisrICAgIH0KKysKKysgICAgLyogd2UncmUgbm93IG9wZW5lZCAqLworKyAgICBmZm1wZWdtdXgtPm9wZW5lZCA9IFRSVUU7CisrCisrICAgIC8qIGZsdXNoIHRoZSBoZWFkZXIgc28gaXQgd2lsbCBiZSB1c2VkIGFzIHN0cmVhbWhlYWRlciAqLworKyAgICBwdXRfZmx1c2hfcGFja2V0IChmZm1wZWdtdXgtPmNvbnRleHQtPnBiKTsKKysgIH0KKysKKysgIC8qIHRha2UgdGhlIG9uZSB3aXRoIGVhcmxpZXN0IHRpbWVzdGFtcCwKKysgICAqIGFuZCBwdXNoIGl0IGZvcndhcmQgKi8KKysgIGJlc3RfcGFkID0gTlVMTDsKKysgIGJlc3RfdGltZSA9IEdTVF9DTE9DS19USU1FX05PTkU7CisrICBmb3IgKGNvbGxlY3RlZCA9IGZmbXBlZ211eC0+Y29sbGVjdC0+ZGF0YTsgY29sbGVjdGVkOworKyAgICAgIGNvbGxlY3RlZCA9IGdfc2xpc3RfbmV4dCAoY29sbGVjdGVkKSkgeworKyAgICBHc3RGRk1wZWdNdXhQYWQgKmNvbGxlY3RfcGFkID0gKEdzdEZGTXBlZ011eFBhZCAqKSBjb2xsZWN0ZWQtPmRhdGE7CisrICAgIEdzdEJ1ZmZlciAqYnVmZmVyID0gZ3N0X2NvbGxlY3RfcGFkc19wZWVrIChmZm1wZWdtdXgtPmNvbGxlY3QsCisrICAgICAgICAoR3N0Q29sbGVjdERhdGEgKikgY29sbGVjdF9wYWQpOworKworKyAgICAvKiBpZiB0aGVyZSdzIG5vIGJ1ZmZlciwganVzdCBjb250aW51ZSAqLworKyAgICBpZiAoYnVmZmVyID09IE5VTEwpIHsKKysgICAgICBjb250aW51ZTsKKysgICAgfQorKworKyAgICAvKiBpZiB3ZSBoYXZlIG5vIGJ1ZmZlciB5ZXQsIGp1c3QgdXNlIHRoZSBmaXJzdCBvbmUgKi8KKysgICAgaWYgKGJlc3RfcGFkID09IE5VTEwpIHsKKysgICAgICBiZXN0X3BhZCA9IGNvbGxlY3RfcGFkOworKyAgICAgIGJlc3RfdGltZSA9IEdTVF9CVUZGRVJfVElNRVNUQU1QIChidWZmZXIpOworKyAgICAgIGdvdG8gbmV4dF9wYWQ7CisrICAgIH0KKysKKysgICAgLyogaWYgd2UgZG8gaGF2ZSBvbmUsIG9ubHkgdXNlIHRoaXMgb25lIGlmIGl0J3Mgb2xkZXIgKi8KKysgICAgaWYgKEdTVF9CVUZGRVJfVElNRVNUQU1QIChidWZmZXIpIDwgYmVzdF90aW1lKSB7CisrICAgICAgYmVzdF90aW1lID0gR1NUX0JVRkZFUl9USU1FU1RBTVAgKGJ1ZmZlcik7CisrICAgICAgYmVzdF9wYWQgPSBjb2xsZWN0X3BhZDsKKysgICAgfQorKworKyAgbmV4dF9wYWQ6CisrICAgIGdzdF9idWZmZXJfdW5yZWYgKGJ1ZmZlcik7CisrCisrICAgIC8qIE11eCBidWZmZXJzIHdpdGggaW52YWxpZCB0aW1lc3RhbXAgZmlyc3QgKi8KKysgICAgaWYgKCFHU1RfQ0xPQ0tfVElNRV9JU19WQUxJRCAoYmVzdF90aW1lKSkKKysgICAgICBicmVhazsKKysgIH0KKysKKysgIC8qIG5vdyBoYW5kbGUgdGhlIGJ1ZmZlciwgb3Igc2lnbmFsIEVPUyBpZiB3ZSBoYXZlCisrICAgKiBubyBidWZmZXJzIGxlZnQgKi8KKysgIGlmIChiZXN0X3BhZCAhPSBOVUxMKSB7CisrICAgIEdzdEJ1ZmZlciAqYnVmOworKyAgICBBVlBhY2tldCBwa3Q7CisrICAgIGdib29sZWFuIG5lZWRfZnJlZSA9IEZBTFNFOworKworKyAgICAvKiBwdXNoIG91dCBjdXJyZW50IGJ1ZmZlciAqLworKyAgICBidWYgPSBnc3RfY29sbGVjdF9wYWRzX3BvcCAoZmZtcGVnbXV4LT5jb2xsZWN0LAorKyAgICAgICAgKEdzdENvbGxlY3REYXRhICopIGJlc3RfcGFkKTsKKysKKysgICAgZmZtcGVnbXV4LT5jb250ZXh0LT5zdHJlYW1zW2Jlc3RfcGFkLT5wYWRudW1dLT5jb2RlYy0+ZnJhbWVfbnVtYmVyKys7CisrCisrICAgIC8qIHNldCB0aW1lICovCisrICAgIHBrdC5wdHMgPSBnc3RfZmZtcGVnX3RpbWVfZ3N0X3RvX2ZmIChHU1RfQlVGRkVSX1RJTUVTVEFNUCAoYnVmKSwKKysgICAgICAgIGZmbXBlZ211eC0+Y29udGV4dC0+c3RyZWFtc1tiZXN0X3BhZC0+cGFkbnVtXS0+dGltZV9iYXNlKTsKKysgICAgcGt0LmR0cyA9IHBrdC5wdHM7CisrCisrICAgIGlmIChzdHJjbXAgKGZmbXBlZ211eC0+Y29udGV4dC0+b2Zvcm1hdC0+bmFtZSwgImdpZiIpID09IDApIHsKKysgICAgICBBVlN0cmVhbSAqc3QgPSBmZm1wZWdtdXgtPmNvbnRleHQtPnN0cmVhbXNbYmVzdF9wYWQtPnBhZG51bV07CisrICAgICAgQVZQaWN0dXJlIHNyYywgZHN0OworKworKyAgICAgIG5lZWRfZnJlZSA9IFRSVUU7CisrICAgICAgcGt0LnNpemUgPSBzdC0+Y29kZWMtPndpZHRoICogc3QtPmNvZGVjLT5oZWlnaHQgKiAzOworKyAgICAgIHBrdC5kYXRhID0gZ19tYWxsb2MgKHBrdC5zaXplKTsKKysKKysgICAgICBkc3QuZGF0YVswXSA9IHBrdC5kYXRhOworKyAgICAgIGRzdC5kYXRhWzFdID0gTlVMTDsKKysgICAgICBkc3QuZGF0YVsyXSA9IE5VTEw7CisrICAgICAgZHN0LmxpbmVzaXplWzBdID0gc3QtPmNvZGVjLT53aWR0aCAqIDM7CisrCisrICAgICAgZ3N0X2ZmbXBlZ19hdnBpY3R1cmVfZmlsbCAoJnNyYywgR1NUX0JVRkZFUl9EQVRBIChidWYpLAorKyAgICAgICAgICBQSVhfRk1UX1JHQjI0LCBzdC0+Y29kZWMtPndpZHRoLCBzdC0+Y29kZWMtPmhlaWdodCk7CisrCisrICAgICAgYXZfcGljdHVyZV9jb3B5ICgmZHN0LCAmc3JjLCBQSVhfRk1UX1JHQjI0LAorKyAgICAgICAgICBzdC0+Y29kZWMtPndpZHRoLCBzdC0+Y29kZWMtPmhlaWdodCk7CisrICAgIH0gZWxzZSB7CisrICAgICAgcGt0LmRhdGEgPSBHU1RfQlVGRkVSX0RBVEEgKGJ1Zik7CisrICAgICAgcGt0LnNpemUgPSBHU1RfQlVGRkVSX1NJWkUgKGJ1Zik7CisrICAgIH0KKysKKysgICAgcGt0LnN0cmVhbV9pbmRleCA9IGJlc3RfcGFkLT5wYWRudW07CisrICAgIHBrdC5mbGFncyA9IDA7CisrCisrICAgIGlmICghR1NUX0JVRkZFUl9GTEFHX0lTX1NFVCAoYnVmLCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCkpCisrICAgICAgcGt0LmZsYWdzIHw9IEFWX1BLVF9GTEFHX0tFWTsKKysKKysgICAgaWYgKEdTVF9CVUZGRVJfRFVSQVRJT05fSVNfVkFMSUQgKGJ1ZikpCisrICAgICAgcGt0LmR1cmF0aW9uID0KKysgICAgICAgICAgZ3N0X2ZmbXBlZ190aW1lX2dzdF90b19mZiAoR1NUX0JVRkZFUl9EVVJBVElPTiAoYnVmKSwKKysgICAgICAgICAgZmZtcGVnbXV4LT5jb250ZXh0LT5zdHJlYW1zW2Jlc3RfcGFkLT5wYWRudW1dLT50aW1lX2Jhc2UpOworKyAgICBlbHNlCisrICAgICAgcGt0LmR1cmF0aW9uID0gMDsKKysgICAgYXZfd3JpdGVfZnJhbWUgKGZmbXBlZ211eC0+Y29udGV4dCwgJnBrdCk7CisrICAgIGdzdF9idWZmZXJfdW5yZWYgKGJ1Zik7CisrICAgIGlmIChuZWVkX2ZyZWUpCisrICAgICAgZ19mcmVlIChwa3QuZGF0YSk7CisrICB9IGVsc2UgeworKyAgICAvKiBjbG9zZSBkb3duICovCisrICAgIGF2X3dyaXRlX3RyYWlsZXIgKGZmbXBlZ211eC0+Y29udGV4dCk7CisrICAgIGZmbXBlZ211eC0+b3BlbmVkID0gRkFMU0U7CisrICAgIHB1dF9mbHVzaF9wYWNrZXQgKGZmbXBlZ211eC0+Y29udGV4dC0+cGIpOworKyAgICB1cmxfZmNsb3NlIChmZm1wZWdtdXgtPmNvbnRleHQtPnBiKTsKKysgICAgZ3N0X3BhZF9wdXNoX2V2ZW50IChmZm1wZWdtdXgtPnNyY3BhZCwgZ3N0X2V2ZW50X25ld19lb3MgKCkpOworKyAgICByZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRDsKKysgIH0KKysKKysgIHJldHVybiBHU1RfRkxPV19PSzsKKyt9CisrCisrc3RhdGljIEdzdFN0YXRlQ2hhbmdlUmV0dXJuCisrZ3N0X2ZmbXBlZ211eF9jaGFuZ2Vfc3RhdGUgKEdzdEVsZW1lbnQgKiBlbGVtZW50LCBHc3RTdGF0ZUNoYW5nZSB0cmFuc2l0aW9uKQorK3sKKysgIEdzdEZsb3dSZXR1cm4gcmV0OworKyAgR3N0RkZNcGVnTXV4ICpmZm1wZWdtdXggPSAoR3N0RkZNcGVnTXV4ICopIChlbGVtZW50KTsKKysKKysgIHN3aXRjaCAodHJhbnNpdGlvbikgeworKyAgICBjYXNlIEdTVF9TVEFURV9DSEFOR0VfTlVMTF9UT19SRUFEWToKKysgICAgICBicmVhazsKKysgICAgY2FzZSBHU1RfU1RBVEVfQ0hBTkdFX1JFQURZX1RPX1BBVVNFRDoKKysgICAgICBnc3RfY29sbGVjdF9wYWRzX3N0YXJ0IChmZm1wZWdtdXgtPmNvbGxlY3QpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIEdTVF9TVEFURV9DSEFOR0VfUEFVU0VEX1RPX1BMQVlJTkc6CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgR1NUX1NUQVRFX0NIQU5HRV9QQVVTRURfVE9fUkVBRFk6CisrICAgICAgZ3N0X2NvbGxlY3RfcGFkc19zdG9wIChmZm1wZWdtdXgtPmNvbGxlY3QpOworKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgcmV0ID0gR1NUX0VMRU1FTlRfQ0xBU1MgKHBhcmVudF9jbGFzcyktPmNoYW5nZV9zdGF0ZSAoZWxlbWVudCwgdHJhbnNpdGlvbik7CisrCisrICBzd2l0Y2ggKHRyYW5zaXRpb24pIHsKKysgICAgY2FzZSBHU1RfU1RBVEVfQ0hBTkdFX1BMQVlJTkdfVE9fUEFVU0VEOgorKyAgICAgIGJyZWFrOworKyAgICBjYXNlIEdTVF9TVEFURV9DSEFOR0VfUEFVU0VEX1RPX1JFQURZOgorKyAgICAgIGdzdF90YWdfc2V0dGVyX3Jlc2V0X3RhZ3MgKEdTVF9UQUdfU0VUVEVSIChmZm1wZWdtdXgpKTsKKysgICAgICBpZiAoZmZtcGVnbXV4LT5vcGVuZWQpIHsKKysgICAgICAgIGZmbXBlZ211eC0+b3BlbmVkID0gRkFMU0U7CisrICAgICAgICB1cmxfZmNsb3NlIChmZm1wZWdtdXgtPmNvbnRleHQtPnBiKTsKKysgICAgICB9CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgR1NUX1NUQVRFX0NIQU5HRV9SRUFEWV9UT19OVUxMOgorKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIGJyZWFrOworKyAgfQorKworKyAgcmV0dXJuIHJldDsKKyt9CisrCisrc3RhdGljIEdzdENhcHMgKgorK2dzdF9mZm1wZWdtdXhfZ2V0X2lkX2NhcHMgKGVudW0gQ29kZWNJRCAqaWRfbGlzdCkKKyt7CisrICBHc3RDYXBzICpjYXBzLCAqdDsKKysgIGdpbnQgaTsKKysKKysgIGNhcHMgPSBnc3RfY2Fwc19uZXdfZW1wdHkgKCk7CisrICBmb3IgKGkgPSAwOyBpZF9saXN0W2ldICE9IENPREVDX0lEX05PTkU7IGkrKykgeworKyAgICBpZiAoKHQgPSBnc3RfZmZtcGVnX2NvZGVjaWRfdG9fY2FwcyAoaWRfbGlzdFtpXSwgTlVMTCwgVFJVRSkpKQorKyAgICAgIGdzdF9jYXBzX2FwcGVuZCAoY2FwcywgdCk7CisrICB9CisrICBpZiAoZ3N0X2NhcHNfaXNfZW1wdHkgKGNhcHMpKSB7CisrICAgIGdzdF9jYXBzX3VucmVmIChjYXBzKTsKKysgICAgcmV0dXJuIE5VTEw7CisrICB9CisrCisrICByZXR1cm4gY2FwczsKKyt9CisrCisrLyogc2V0IGEgbGlzdCBvZiBpbnRlZ2VyIHZhbHVlcyBvbiB0aGUgY2FwcywgZS5nLiBmb3Igc2FtcGxlIHJhdGVzICovCisrc3RhdGljIHZvaWQKKytnc3RfZmZtcGVnX211eF9zaW1wbGVfY2Fwc19zZXRfaW50X2xpc3QgKEdzdENhcHMgKiBjYXBzLCBjb25zdCBnY2hhciAqIGZpZWxkLAorKyAgICBndWludCBudW0sIGNvbnN0IGdpbnQgKiB2YWx1ZXMpCisreworKyAgR1ZhbHVlIGxpc3QgPSB7IDAsIH07CisrICBHVmFsdWUgdmFsID0geyAwLCB9OworKyAgZ2ludCBpOworKworKyAgZ19yZXR1cm5faWZfZmFpbCAoR1NUX0NBUFNfSVNfU0lNUExFIChjYXBzKSk7CisrCisrICBnX3ZhbHVlX2luaXQgKCZsaXN0LCBHU1RfVFlQRV9MSVNUKTsKKysgIGdfdmFsdWVfaW5pdCAoJnZhbCwgR19UWVBFX0lOVCk7CisrCisrICBmb3IgKGkgPSAwOyBpIDwgbnVtOyArK2kpIHsKKysgICAgZ192YWx1ZV9zZXRfaW50ICgmdmFsLCB2YWx1ZXNbaV0pOworKyAgICBnc3RfdmFsdWVfbGlzdF9hcHBlbmRfdmFsdWUgKCZsaXN0LCAmdmFsKTsKKysgIH0KKysKKysgIGdzdF9zdHJ1Y3R1cmVfc2V0X3ZhbHVlIChnc3RfY2Fwc19nZXRfc3RydWN0dXJlIChjYXBzLCAwKSwgZmllbGQsICZsaXN0KTsKKysKKysgIGdfdmFsdWVfdW5zZXQgKCZ2YWwpOworKyAgZ192YWx1ZV91bnNldCAoJmxpc3QpOworK30KKysKKytnYm9vbGVhbgorK2dzdF9mZm1wZWdtdXhfcmVnaXN0ZXIgKEdzdFBsdWdpbiAqIHBsdWdpbikKKyt7CisrICBHVHlwZUluZm8gdHlwZWluZm8gPSB7CisrICAgIHNpemVvZiAoR3N0RkZNcGVnTXV4Q2xhc3MpLAorKyAgICAoR0Jhc2VJbml0RnVuYykgZ3N0X2ZmbXBlZ211eF9iYXNlX2luaXQsCisrICAgIE5VTEwsCisrICAgIChHQ2xhc3NJbml0RnVuYykgZ3N0X2ZmbXBlZ211eF9jbGFzc19pbml0LAorKyAgICBOVUxMLAorKyAgICBOVUxMLAorKyAgICBzaXplb2YgKEdzdEZGTXBlZ011eCksCisrICAgIDAsCisrICAgIChHSW5zdGFuY2VJbml0RnVuYykgZ3N0X2ZmbXBlZ211eF9pbml0LAorKyAgfTsKKysgIHN0YXRpYyBjb25zdCBHSW50ZXJmYWNlSW5mbyB0YWdfc2V0dGVyX2luZm8gPSB7CisrICAgIE5VTEwsIE5VTEwsIE5VTEwKKysgIH07CisrICBHVHlwZSB0eXBlOworKyAgQVZPdXRwdXRGb3JtYXQgKmluX3BsdWdpbjsKKysKKysgIGluX3BsdWdpbiA9IGF2X29mb3JtYXRfbmV4dCAoTlVMTCk7CisrCisrICBHU1RfTE9HICgiUmVnaXN0ZXJpbmcgbXV4ZXJzIik7CisrCisrICB3aGlsZSAoaW5fcGx1Z2luKSB7CisrICAgIGdjaGFyICp0eXBlX25hbWU7CisrICAgIGdjaGFyICpwOworKyAgICBHc3RSYW5rIHJhbmsgPSBHU1RfUkFOS19NQVJHSU5BTDsKKysKKysgICAgaWYgKCghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAidTE2IiwgMykpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgInMxNiIsIDMpKSB8fAorKyAgICAgICAgKCFzdHJuY21wIChpbl9wbHVnaW4tPm5hbWUsICJ1MjQiLCAzKSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiczI0IiwgMykpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgInU4IiwgMikpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgInM4IiwgMikpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgInUzMiIsIDMpKSB8fAorKyAgICAgICAgKCFzdHJuY21wIChpbl9wbHVnaW4tPm5hbWUsICJzMzIiLCAzKSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiZjMyIiwgMykpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgImY2NCIsIDMpKSB8fAorKyAgICAgICAgKCFzdHJuY21wIChpbl9wbHVnaW4tPm5hbWUsICJyYXciLCAzKSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiY3JjIiwgMykpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgIm51bGwiLCA0KSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiZ2lmIiwgMykpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgImZyYW1lIiwgNSkpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgImltYWdlIiwgNSkpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgIm11bGF3IiwgNSkpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgImFsYXciLCA0KSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiaDI2IiwgMykpIHx8CisrICAgICAgICAoIXN0cm5jbXAgKGluX3BsdWdpbi0+bmFtZSwgInJ0cCIsIDMpKSB8fAorKyAgICAgICAgKCFzdHJuY21wIChpbl9wbHVnaW4tPm5hbWUsICJhc3MiLCAzKSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAiZmZtZXRhZGF0YSIsIDEwKSkgfHwKKysgICAgICAgICghc3RybmNtcCAoaW5fcGx1Z2luLT5uYW1lLCAic3J0IiwgMykpCisrICAgICAgICApIHsKKysgICAgICBHU1RfTE9HICgiSWdub3JpbmcgbXV4ZXIgJXMiLCBpbl9wbHVnaW4tPm5hbWUpOworKyAgICAgIGdvdG8gbmV4dDsKKysgICAgfQorKworKyAgICBpZiAoKCFzdHJuY21wIChpbl9wbHVnaW4tPmxvbmdfbmFtZSwgInJhdyAiLCA0KSkpIHsKKysgICAgICBHU1RfTE9HICgiSWdub3JpbmcgcmF3IG11eGVyICVzIiwgaW5fcGx1Z2luLT5uYW1lKTsKKysgICAgICBnb3RvIG5leHQ7CisrICAgIH0KKysKKysgICAgaWYgKGdzdF9mZm1wZWdtdXhfZ2V0X3JlcGxhY2VtZW50IChpbl9wbHVnaW4tPm5hbWUpKQorKyAgICAgIHJhbmsgPSBHU1RfUkFOS19OT05FOworKworKyAgICAvKiBGSVhNRSA6IFdlIG5lZWQgYSBmYXN0IHdheSB0byBrbm93IHdoZXRoZXIgd2UgaGF2ZSBtYXBwaW5ncyBmb3IgdGhpcworKyAgICAgKiBtdXhlciB0eXBlLiAqLworKworKyAgICAvKiBjb25zdHJ1Y3QgdGhlIHR5cGUgKi8KKysgICAgdHlwZV9uYW1lID0gZ19zdHJkdXBfcHJpbnRmICgiZmZtdXhfJXMiLCBpbl9wbHVnaW4tPm5hbWUpOworKworKyAgICBwID0gdHlwZV9uYW1lOworKworKyAgICB3aGlsZSAoKnApIHsKKysgICAgICBpZiAoKnAgPT0gJy4nKQorKyAgICAgICAgKnAgPSAnXyc7CisrICAgICAgcCsrOworKyAgICB9CisrCisrICAgIHR5cGUgPSBnX3R5cGVfZnJvbV9uYW1lICh0eXBlX25hbWUpOworKworKyAgICBpZiAoIXR5cGUpIHsKKysgICAgICAvKiBjcmVhdGUgdGhlIHR5cGUgbm93ICovCisrICAgICAgdHlwZSA9IGdfdHlwZV9yZWdpc3Rlcl9zdGF0aWMgKEdTVF9UWVBFX0VMRU1FTlQsIHR5cGVfbmFtZSwgJnR5cGVpbmZvLCAwKTsKKysgICAgICBnX3R5cGVfc2V0X3FkYXRhICh0eXBlLCBHU1RfRkZNVVhfUEFSQU1TX1FEQVRBLCAoZ3BvaW50ZXIpIGluX3BsdWdpbik7CisrICAgICAgZ190eXBlX2FkZF9pbnRlcmZhY2Vfc3RhdGljICh0eXBlLCBHU1RfVFlQRV9UQUdfU0VUVEVSLCAmdGFnX3NldHRlcl9pbmZvKTsKKysgICAgfQorKworKyAgICBpZiAoIWdzdF9lbGVtZW50X3JlZ2lzdGVyIChwbHVnaW4sIHR5cGVfbmFtZSwgcmFuaywgdHlwZSkpIHsKKysgICAgICBnX2ZyZWUgKHR5cGVfbmFtZSk7CisrICAgICAgcmV0dXJuIEZBTFNFOworKyAgICB9CisrCisrICAgIGdfZnJlZSAodHlwZV9uYW1lKTsKKysKKysgIG5leHQ6CisrICAgIGluX3BsdWdpbiA9IGF2X29mb3JtYXRfbmV4dCAoaW5fcGx1Z2luKTsKKysgIH0KKysKKysgIEdTVF9MT0cgKCJGaW5pc2hlZCByZWdpc3RlcmluZyBtdXhlcnMiKTsKKysKKysgIHJldHVybiBUUlVFOworK30KK2RpZmYgLXVOciBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ3Byb3RvY29sLmMgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVncHJvdG9jb2wuYworLS0tIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVncHJvdG9jb2wuYwkyMDExLTA3LTEyIDE2OjM1OjI4LjAwMDAwMDAwMCArMDIwMAorKysrIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ3Byb3RvY29sLmMJMjAxNC0wOC0wOCAxNToyNjowNy44NzU4NTc1NTUgKzAyMDAKK0BAIC00Niw2MyArNDYsMTQgQEAKKyB9OworIAorIHN0YXRpYyBpbnQKKy1nc3RfZmZtcGVnZGF0YV9vcGVuIChVUkxDb250ZXh0ICogaCwgY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBmbGFncykKKy17CistICBHc3RQcm90b2NvbEluZm8gKmluZm87CistICBHc3RQYWQgKnBhZDsKKy0KKy0gIEdTVF9MT0cgKCJPcGVuaW5nICVzIiwgZmlsZW5hbWUpOworLQorLSAgaW5mbyA9IGdfbmV3MCAoR3N0UHJvdG9jb2xJbmZvLCAxKTsKKy0KKy0gIGluZm8tPnNldF9zdHJlYW1oZWFkZXIgPSBmbGFncyAmIEdTVF9GRk1QRUdfVVJMX1NUUkVBTUhFQURFUjsKKy0gIGZsYWdzICY9IH5HU1RfRkZNUEVHX1VSTF9TVFJFQU1IRUFERVI7CistICBoLT5mbGFncyAmPSB+R1NUX0ZGTVBFR19VUkxfU1RSRUFNSEVBREVSOworLQorLSAgLyogd2UgZG9uJ3Qgc3VwcG9ydCBSL1cgdG9nZXRoZXIgKi8KKy0gIGlmIChmbGFncyAhPSBVUkxfUkRPTkxZICYmIGZsYWdzICE9IFVSTF9XUk9OTFkpIHsKKy0gICAgR1NUX1dBUk5JTkcgKCJPbmx5IHJlYWQtb25seSBvciB3cml0ZS1vbmx5IGFyZSBzdXBwb3J0ZWQiKTsKKy0gICAgcmV0dXJuIC1FSU5WQUw7CistICB9CistCistICBpZiAoc3NjYW5mICgmZmlsZW5hbWVbMTJdLCAiJXAiLCAmcGFkKSAhPSAxKSB7CistICAgIEdTVF9XQVJOSU5HICgiY291bGQgbm90IGRlY29kZSBwYWQgZnJvbSAlcyIsIGZpbGVuYW1lKTsKKy0gICAgcmV0dXJuIC1FSU87CistICB9CistCistICAvKiBtYWtlIHN1cmUgd2UncmUgYSBwYWQgYW5kIHRoYXQgd2UncmUgb2YgdGhlIHJpZ2h0IHR5cGUgKi8KKy0gIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChHU1RfSVNfUEFEIChwYWQpLCAtRUlOVkFMKTsKKy0KKy0gIHN3aXRjaCAoZmxhZ3MpIHsKKy0gICAgY2FzZSBVUkxfUkRPTkxZOgorLSAgICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChHU1RfUEFEX0lTX1NJTksgKHBhZCksIC1FSU5WQUwpOworLSAgICAgIGJyZWFrOworLSAgICBjYXNlIFVSTF9XUk9OTFk6CistICAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKEdTVF9QQURfSVNfU1JDIChwYWQpLCAtRUlOVkFMKTsKKy0gICAgICBicmVhazsKKy0gIH0KKy0KKy0gIGluZm8tPmVvcyA9IEZBTFNFOworLSAgaW5mby0+cGFkID0gcGFkOworLSAgaW5mby0+b2Zmc2V0ID0gMDsKKy0KKy0gIGgtPnByaXZfZGF0YSA9ICh2b2lkICopIGluZm87CistICBoLT5pc19zdHJlYW1lZCA9IEZBTFNFOworLSAgaC0+bWF4X3BhY2tldF9zaXplID0gMDsKKy0KKy0gIHJldHVybiAwOworLX0KKy0KKy1zdGF0aWMgaW50CistZ3N0X2ZmbXBlZ2RhdGFfcGVlayAoVVJMQ29udGV4dCAqIGgsIHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IHNpemUpCisrZ3N0X2ZmbXBlZ2RhdGFfcGVlayAodm9pZCAqcHJpdl9kYXRhLCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBzaXplKQorIHsKKyAgIEdzdFByb3RvY29sSW5mbyAqaW5mbzsKKyAgIEdzdEJ1ZmZlciAqaW5idWYgPSBOVUxMOworICAgR3N0Rmxvd1JldHVybiByZXQ7CisgICBpbnQgdG90YWwgPSAwOworIAorLSAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGgtPmZsYWdzID09IFVSTF9SRE9OTFksIEFWRVJST1IgKEVJTykpOworLSAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgaC0+cHJpdl9kYXRhOworKyAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgcHJpdl9kYXRhOworIAorICAgR1NUX0RFQlVHICgiUHVsbGluZyAlZCBieXRlcyBhdCBwb3NpdGlvbiAlIiBHX0dVSU5UNjRfRk9STUFULCBzaXplLAorICAgICAgIGluZm8tPm9mZnNldCk7CitAQCAtMTM0LDE3ICs4NSwxNyBAQAorIH0KKyAKKyBzdGF0aWMgaW50CistZ3N0X2ZmbXBlZ2RhdGFfcmVhZCAoVVJMQ29udGV4dCAqIGgsIHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IHNpemUpCisrZ3N0X2ZmbXBlZ2RhdGFfcmVhZCAodm9pZCAqcHJpdl9kYXRhLCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBzaXplKQorIHsKKyAgIGdpbnQgcmVzOworICAgR3N0UHJvdG9jb2xJbmZvICppbmZvOworIAorLSAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgaC0+cHJpdl9kYXRhOworKyAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgcHJpdl9kYXRhOworIAorICAgR1NUX0RFQlVHICgiUmVhZGluZyAlZCBieXRlcyBvZiBkYXRhIGF0IHBvc2l0aW9uICUiIEdfR1VJTlQ2NF9GT1JNQVQsIHNpemUsCisgICAgICAgaW5mby0+b2Zmc2V0KTsKKyAKKy0gIHJlcyA9IGdzdF9mZm1wZWdkYXRhX3BlZWsgKGgsIGJ1Ziwgc2l6ZSk7CisrICByZXMgPSBnc3RfZmZtcGVnZGF0YV9wZWVrIChwcml2X2RhdGEsIGJ1Ziwgc2l6ZSk7CisgICBpZiAocmVzID49IDApCisgICAgIGluZm8tPm9mZnNldCArPSByZXM7CisgCitAQCAtMTU0LDE1ICsxMDUsMTMgQEAKKyB9CisgCisgc3RhdGljIGludAorLWdzdF9mZm1wZWdkYXRhX3dyaXRlIChVUkxDb250ZXh0ICogaCwgY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCBpbnQgc2l6ZSkKKytnc3RfZmZtcGVnZGF0YV93cml0ZSAodm9pZCAqcHJpdl9kYXRhLCBjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBzaXplKQorIHsKKyAgIEdzdFByb3RvY29sSW5mbyAqaW5mbzsKKyAgIEdzdEJ1ZmZlciAqb3V0YnVmOworIAorICAgR1NUX0RFQlVHICgiV3JpdGluZyAlZCBieXRlcyIsIHNpemUpOworLSAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgaC0+cHJpdl9kYXRhOworLQorLSAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGgtPmZsYWdzICE9IFVSTF9SRE9OTFksIC1FSU8pOworKyAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgcHJpdl9kYXRhOworIAorICAgLyogY3JlYXRlIGJ1ZmZlciBhbmQgcHVzaCBkYXRhIGZ1cnRoZXIgKi8KKyAgIGlmIChnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMgKGluZm8tPnBhZCwKK0BAIC0xNzksNyArMTI4LDcgQEAKKyB9CisgCisgc3RhdGljIGludDY0X3QKKy1nc3RfZmZtcGVnZGF0YV9zZWVrIChVUkxDb250ZXh0ICogaCwgaW50NjRfdCBwb3MsIGludCB3aGVuY2UpCisrZ3N0X2ZmbXBlZ2RhdGFfc2VlayAodm9pZCAqcHJpdl9kYXRhLCBpbnQ2NF90IHBvcywgaW50IHdoZW5jZSkKKyB7CisgICBHc3RQcm90b2NvbEluZm8gKmluZm87CisgICBndWludDY0IG5ld3BvcyA9IDA7CitAQCAtMTg3LDcwICsxMzYsNjIgQEAKKyAgIEdTVF9ERUJVRyAoIlNlZWtpbmcgdG8gJSIgR19HSU5UNjRfRk9STUFUICIsIHdoZW5jZT0lZCIsCisgICAgICAgKGdpbnQ2NCkgcG9zLCB3aGVuY2UpOworIAorLSAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgaC0+cHJpdl9kYXRhOworKyAgaW5mbyA9IChHc3RQcm90b2NvbEluZm8gKikgcHJpdl9kYXRhOworIAorICAgLyogVE9ETyA6IGlmIHdlIGFyZSBwdXNoLWJhc2VkLCB3ZSBuZWVkIHRvIHJldHVybiBzZW5zaWJsZSBpbmZvICovCisgCistICBzd2l0Y2ggKGgtPmZsYWdzKSB7CistICAgIGNhc2UgVVJMX1JET05MWToKKy0gICAgeworLSAgICAgIC8qIHNpbmtwYWQgKi8KKy0gICAgICBzd2l0Y2ggKHdoZW5jZSkgeworLSAgICAgICAgY2FzZSBTRUVLX1NFVDoKKy0gICAgICAgICAgbmV3cG9zID0gKGd1aW50NjQpIHBvczsKKy0gICAgICAgICAgYnJlYWs7CistICAgICAgICBjYXNlIFNFRUtfQ1VSOgorLSAgICAgICAgICBuZXdwb3MgPSBpbmZvLT5vZmZzZXQgKyBwb3M7CistICAgICAgICAgIGJyZWFrOworLSAgICAgICAgY2FzZSBTRUVLX0VORDoKKy0gICAgICAgIGNhc2UgQVZTRUVLX1NJWkU6CistICAgICAgICAgIC8qIGZmbXBlZyB3YW50cyB0byBrbm93IHRoZSBjdXJyZW50IGVuZCBwb3NpdGlvbiBpbiBieXRlcyAhICovCistICAgICAgICB7CistICAgICAgICAgIEdzdEZvcm1hdCBmb3JtYXQgPSBHU1RfRk9STUFUX0JZVEVTOworLSAgICAgICAgICBnaW50NjQgZHVyYXRpb247CistCistICAgICAgICAgIEdTVF9ERUJVRyAoIlNlZWsgZW5kIik7CistCistICAgICAgICAgIGlmIChnc3RfcGFkX2lzX2xpbmtlZCAoaW5mby0+cGFkKSkKKy0gICAgICAgICAgICBpZiAoZ3N0X3BhZF9xdWVyeV9kdXJhdGlvbiAoR1NUX1BBRF9QRUVSIChpbmZvLT5wYWQpLCAmZm9ybWF0LAorLSAgICAgICAgICAgICAgICAgICAgJmR1cmF0aW9uKSkKKy0gICAgICAgICAgICAgIG5ld3BvcyA9ICgoZ3VpbnQ2NCkgZHVyYXRpb24pICsgcG9zOworLSAgICAgICAgfQorLSAgICAgICAgICBicmVhazsKKy0gICAgICAgIGRlZmF1bHQ6CistICAgICAgICAgIGdfYXNzZXJ0ICgwKTsKKy0gICAgICAgICAgYnJlYWs7CisrICBpZiAoR1NUX1BBRF9JU19TSU5LIChpbmZvLT5wYWQpKSB7CisrICAgIC8qIHNpbmtwYWQgKi8KKysgICAgc3dpdGNoICh3aGVuY2UpIHsKKysgICAgICBjYXNlIFNFRUtfU0VUOgorKyAgICAgICAgbmV3cG9zID0gKGd1aW50NjQpIHBvczsKKysgICAgICAgIGJyZWFrOworKyAgICAgIGNhc2UgU0VFS19DVVI6CisrICAgICAgICBuZXdwb3MgPSBpbmZvLT5vZmZzZXQgKyBwb3M7CisrICAgICAgICBicmVhazsKKysgICAgICBjYXNlIFNFRUtfRU5EOgorKyAgICAgIGNhc2UgQVZTRUVLX1NJWkU6CisrICAgICAgICAvKiBmZm1wZWcgd2FudHMgdG8ga25vdyB0aGUgY3VycmVudCBlbmQgcG9zaXRpb24gaW4gYnl0ZXMgISAqLworKyAgICAgIHsKKysgICAgICAgIEdzdEZvcm1hdCBmb3JtYXQgPSBHU1RfRk9STUFUX0JZVEVTOworKyAgICAgICAgZ2ludDY0IGR1cmF0aW9uOworKworKyAgICAgICAgR1NUX0RFQlVHICgiU2VlayBlbmQiKTsKKysKKysgICAgICAgIGlmIChnc3RfcGFkX2lzX2xpbmtlZCAoaW5mby0+cGFkKSkKKysgICAgICAgICAgaWYgKGdzdF9wYWRfcXVlcnlfZHVyYXRpb24gKEdTVF9QQURfUEVFUiAoaW5mby0+cGFkKSwgJmZvcm1hdCwKKysgICAgICAgICAgICAgICAgICAmZHVyYXRpb24pKQorKyAgICAgICAgICAgIG5ld3BvcyA9ICgoZ3VpbnQ2NCkgZHVyYXRpb24pICsgcG9zOworICAgICAgIH0KKy0gICAgICAvKiBGSVhNRSA6IGltcGxlbWVudCBjYXNlIGZvciBwdXNoLWJhc2VkIGJlaGF2aW91ciAqLworLSAgICAgIGlmICh3aGVuY2UgIT0gQVZTRUVLX1NJWkUpCistICAgICAgICBpbmZvLT5vZmZzZXQgPSBuZXdwb3M7CisrICAgICAgICBicmVhazsKKysgICAgICBkZWZhdWx0OgorKyAgICAgICAgZ19hc3NlcnQgKDApOworKyAgICAgICAgYnJlYWs7CisgICAgIH0KKy0gICAgICBicmVhazsKKy0gICAgY2FzZSBVUkxfV1JPTkxZOgorLSAgICB7CistICAgICAgLyogc3JjcGFkICovCistICAgICAgc3dpdGNoICh3aGVuY2UpIHsKKy0gICAgICAgIGNhc2UgU0VFS19TRVQ6CistICAgICAgICAgIGluZm8tPm9mZnNldCA9IChndWludDY0KSBwb3M7CistICAgICAgICAgIGdzdF9wYWRfcHVzaF9ldmVudCAoaW5mby0+cGFkLCBnc3RfZXZlbnRfbmV3X25ld19zZWdtZW50CistICAgICAgICAgICAgICAoVFJVRSwgMS4wLCBHU1RfRk9STUFUX0JZVEVTLCBpbmZvLT5vZmZzZXQsCistICAgICAgICAgICAgICAgICAgR1NUX0NMT0NLX1RJTUVfTk9ORSwgaW5mby0+b2Zmc2V0KSk7CistICAgICAgICAgIGJyZWFrOworLSAgICAgICAgY2FzZSBTRUVLX0NVUjoKKy0gICAgICAgICAgaW5mby0+b2Zmc2V0ICs9IHBvczsKKy0gICAgICAgICAgZ3N0X3BhZF9wdXNoX2V2ZW50IChpbmZvLT5wYWQsIGdzdF9ldmVudF9uZXdfbmV3X3NlZ21lbnQKKy0gICAgICAgICAgICAgIChUUlVFLCAxLjAsIEdTVF9GT1JNQVRfQllURVMsIGluZm8tPm9mZnNldCwKKy0gICAgICAgICAgICAgICAgICBHU1RfQ0xPQ0tfVElNRV9OT05FLCBpbmZvLT5vZmZzZXQpKTsKKy0gICAgICAgICAgYnJlYWs7CistICAgICAgICBkZWZhdWx0OgorLSAgICAgICAgICBicmVhazsKKy0gICAgICB9CistICAgICAgbmV3cG9zID0gaW5mby0+b2Zmc2V0OworKyAgICAvKiBGSVhNRSA6IGltcGxlbWVudCBjYXNlIGZvciBwdXNoLWJhc2VkIGJlaGF2aW91ciAqLworKyAgICBpZiAod2hlbmNlICE9IEFWU0VFS19TSVpFKQorKyAgICAgIGluZm8tPm9mZnNldCA9IG5ld3BvczsKKysgIH0gZWxzZSBpZiAoR1NUX1BBRF9JU19TUkMgKGluZm8tPnBhZCkpIHsKKysgICAgLyogc3JjcGFkICovCisrICAgIHN3aXRjaCAod2hlbmNlKSB7CisrICAgICAgY2FzZSBTRUVLX1NFVDoKKysgICAgICAgIGluZm8tPm9mZnNldCA9IChndWludDY0KSBwb3M7CisrICAgICAgICBnc3RfcGFkX3B1c2hfZXZlbnQgKGluZm8tPnBhZCwgZ3N0X2V2ZW50X25ld19uZXdfc2VnbWVudAorKyAgICAgICAgICAgIChUUlVFLCAxLjAsIEdTVF9GT1JNQVRfQllURVMsIGluZm8tPm9mZnNldCwKKysgICAgICAgICAgICAgICAgR1NUX0NMT0NLX1RJTUVfTk9ORSwgaW5mby0+b2Zmc2V0KSk7CisrICAgICAgICBicmVhazsKKysgICAgICBjYXNlIFNFRUtfQ1VSOgorKyAgICAgICAgaW5mby0+b2Zmc2V0ICs9IHBvczsKKysgICAgICAgIGdzdF9wYWRfcHVzaF9ldmVudCAoaW5mby0+cGFkLCBnc3RfZXZlbnRfbmV3X25ld19zZWdtZW50CisrICAgICAgICAgICAgKFRSVUUsIDEuMCwgR1NUX0ZPUk1BVF9CWVRFUywgaW5mby0+b2Zmc2V0LAorKyAgICAgICAgICAgICAgICBHU1RfQ0xPQ0tfVElNRV9OT05FLCBpbmZvLT5vZmZzZXQpKTsKKysgICAgICAgIGJyZWFrOworKyAgICAgIGRlZmF1bHQ6CisrICAgICAgICBicmVhazsKKyAgICAgfQorLSAgICAgIGJyZWFrOworLSAgICBkZWZhdWx0OgorLSAgICAgIGdfYXNzZXJ0ICgwKTsKKy0gICAgICBicmVhazsKKysgICAgbmV3cG9zID0gaW5mby0+b2Zmc2V0OworKyAgfSBlbHNlIHsKKysgICAgZ19hc3NlcnRfbm90X3JlYWNoZWQgKCk7CisgICB9CisgCisgICBHU1RfREVCVUcgKCJOb3cgYXQgb2Zmc2V0ICUiIEdfR1VJTlQ2NF9GT1JNQVQgIiAocmV0dXJuaW5nICUiIEdfR1VJTlQ2NF9GT1JNQVQKK0BAIC0yNTgsODUgKzE5OSw5MSBAQAorICAgcmV0dXJuIG5ld3BvczsKKyB9CisgCistc3RhdGljIGludAorLWdzdF9mZm1wZWdkYXRhX2Nsb3NlIChVUkxDb250ZXh0ICogaCkKKytpbnQKKytnc3RfZmZtcGVnZGF0YV9jbG9zZSAoQVZJT0NvbnRleHQgKiBoKQorIHsKKyAgIEdzdFByb3RvY29sSW5mbyAqaW5mbzsKKyAKKy0gIGluZm8gPSAoR3N0UHJvdG9jb2xJbmZvICopIGgtPnByaXZfZGF0YTsKKysgIGluZm8gPSAoR3N0UHJvdG9jb2xJbmZvICopIGgtPm9wYXF1ZTsKKyAgIGlmIChpbmZvID09IE5VTEwpCisgICAgIHJldHVybiAwOworIAorICAgR1NUX0xPRyAoIkNsb3NpbmcgZmlsZSIpOworIAorLSAgc3dpdGNoIChoLT5mbGFncykgeworLSAgICBjYXNlIFVSTF9XUk9OTFk6CistICAgIHsKKy0gICAgICAvKiBzZW5kIEVPUyAtIHRoYXQgY2xvc2VzIGRvd24gdGhlIHN0cmVhbSAqLworLSAgICAgIGdzdF9wYWRfcHVzaF9ldmVudCAoaW5mby0+cGFkLCBnc3RfZXZlbnRfbmV3X2VvcyAoKSk7CistICAgICAgYnJlYWs7CistICAgIH0KKy0gICAgZGVmYXVsdDoKKy0gICAgICBicmVhazsKKysgIGlmIChHU1RfUEFEX0lTX1NSQyAoaW5mby0+cGFkKSkgeworKyAgICAvKiBzZW5kIEVPUyAtIHRoYXQgY2xvc2VzIGRvd24gdGhlIHN0cmVhbSAqLworKyAgICBnc3RfcGFkX3B1c2hfZXZlbnQgKGluZm8tPnBhZCwgZ3N0X2V2ZW50X25ld19lb3MgKCkpOworICAgfQorIAorICAgLyogY2xlYW4gdXAgZGF0YSAqLworICAgZ19mcmVlIChpbmZvKTsKKy0gIGgtPnByaXZfZGF0YSA9IE5VTEw7CisrICBoLT5vcGFxdWUgPSBOVUxMOworKworKyAgYXZfZnJlZXAgKCZoLT5idWZmZXIpOworKyAgYXZfZnJlZSAoaCk7CisgCisgICByZXR1cm4gMDsKKyB9CisgCisraW50CisrZ3N0X2ZmbXBlZ2RhdGFfb3BlbiAoR3N0UGFkICogcGFkLCBpbnQgZmxhZ3MsIEFWSU9Db250ZXh0ICoqIGNvbnRleHQpCisreworKyAgR3N0UHJvdG9jb2xJbmZvICppbmZvOworKyAgc3RhdGljIGNvbnN0IGludCBidWZmZXJfc2l6ZSA9IDQwOTY7CisrICB1bnNpZ25lZCBjaGFyICpidWZmZXIgPSBOVUxMOworIAorLVVSTFByb3RvY29sIGdzdHJlYW1lcl9wcm90b2NvbCA9IHsKKy0gIC8qLm5hbWUgPSAqLyAiZ3N0cmVhbWVyIiwKKy0gIC8qLnVybF9vcGVuID0gKi8gZ3N0X2ZmbXBlZ2RhdGFfb3BlbiwKKy0gIC8qLnVybF9yZWFkID0gKi8gZ3N0X2ZmbXBlZ2RhdGFfcmVhZCwKKy0gIC8qLnVybF93cml0ZSA9ICovIGdzdF9mZm1wZWdkYXRhX3dyaXRlLAorLSAgLyoudXJsX3NlZWsgPSAqLyBnc3RfZmZtcGVnZGF0YV9zZWVrLAorLSAgLyoudXJsX2Nsb3NlID0gKi8gZ3N0X2ZmbXBlZ2RhdGFfY2xvc2UsCistfTsKKysgIGluZm8gPSBnX25ldzAgKEdzdFByb3RvY29sSW5mbywgMSk7CisgCisrICBpbmZvLT5zZXRfc3RyZWFtaGVhZGVyID0gZmxhZ3MgJiBHU1RfRkZNUEVHX1VSTF9TVFJFQU1IRUFERVI7CisrICBmbGFncyAmPSB+R1NUX0ZGTVBFR19VUkxfU1RSRUFNSEVBREVSOworIAorLS8qIHNwZWNpYWxpemVkIHByb3RvY29sIGZvciBjcm9zcy10aHJlYWQgcHVzaGluZywKKy0gKiBiYXNlZCBvbiBmZm1wZWcncyBwaXBlIHByb3RvY29sICovCisrICAvKiB3ZSBkb24ndCBzdXBwb3J0IFIvVyB0b2dldGhlciAqLworKyAgaWYgKChmbGFncyAmIEFWSU9fRkxBR19XUklURSkgJiYgKGZsYWdzICYgQVZJT19GTEFHX1JFQUQpKSB7CisrICAgIEdTVF9XQVJOSU5HICgiT25seSByZWFkLW9ubHkgb3Igd3JpdGUtb25seSBhcmUgc3VwcG9ydGVkIik7CisrICAgIHJldHVybiAtRUlOVkFMOworKyAgfQorIAorLXN0YXRpYyBpbnQKKy1nc3RfZmZtcGVnX3BpcGVfb3BlbiAoVVJMQ29udGV4dCAqIGgsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgZmxhZ3MpCisteworLSAgR3N0RkZNcGVnUGlwZSAqZmZwaXBlOworKyAgLyogbWFrZSBzdXJlIHdlJ3JlIGEgcGFkIGFuZCB0aGF0IHdlJ3JlIG9mIHRoZSByaWdodCB0eXBlICovCisrICBnX3JldHVybl92YWxfaWZfZmFpbCAoR1NUX0lTX1BBRCAocGFkKSwgLUVJTlZBTCk7CisgCistICBHU1RfTE9HICgiT3BlbmluZyAlcyIsIGZpbGVuYW1lKTsKKysgIGlmICgoZmxhZ3MgJiBBVklPX0ZMQUdfUkVBRCkpCisrICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChHU1RfUEFEX0lTX1NJTksgKHBhZCksIC1FSU5WQUwpOworKyAgaWYgKChmbGFncyAmIEFWSU9fRkxBR19XUklURSkpCisrICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChHU1RfUEFEX0lTX1NSQyAocGFkKSwgLUVJTlZBTCk7CisgCistICAvKiB3ZSBkb24ndCBzdXBwb3J0IFcgdG9nZXRoZXIgKi8KKy0gIGlmIChmbGFncyAhPSBVUkxfUkRPTkxZKSB7CistICAgIEdTVF9XQVJOSU5HICgiT25seSByZWFkLW9ubHkgaXMgc3VwcG9ydGVkIik7CistICAgIHJldHVybiAtRUlOVkFMOworLSAgfQorKyAgaW5mby0+ZW9zID0gRkFMU0U7CisrICBpbmZvLT5wYWQgPSBwYWQ7CisrICBpbmZvLT5vZmZzZXQgPSAwOworIAorLSAgaWYgKHNzY2FuZiAoJmZpbGVuYW1lWzEwXSwgIiVwIiwgJmZmcGlwZSkgIT0gMSkgeworLSAgICBHU1RfV0FSTklORyAoImNvdWxkIG5vdCBkZWNvZGUgcGlwZSBpbmZvIGZyb20gJXMiLCBmaWxlbmFtZSk7CistICAgIHJldHVybiAtRUlPOworKyAgYnVmZmVyID0gYXZfbWFsbG9jIChidWZmZXJfc2l6ZSk7CisrICBpZiAoYnVmZmVyID09IE5VTEwpIHsKKysgICAgR1NUX1dBUk5JTkcgKCJGYWlsZWQgdG8gYWxsb2NhdGUgYnVmZmVyIik7CisrICAgIHJldHVybiAtRU5PTUVNOworICAgfQorIAorLSAgLyogc2FuaXR5IGNoZWNrICovCistICBnX3JldHVybl92YWxfaWZfZmFpbCAoR1NUX0lTX0FEQVBURVIgKGZmcGlwZS0+YWRhcHRlciksIC1FSU5WQUwpOworLQorLSAgaC0+cHJpdl9kYXRhID0gKHZvaWQgKikgZmZwaXBlOworLSAgaC0+aXNfc3RyZWFtZWQgPSBUUlVFOworLSAgaC0+bWF4X3BhY2tldF9zaXplID0gMDsKKysgICpjb250ZXh0ID0KKysgICAgICBhdmlvX2FsbG9jX2NvbnRleHQgKGJ1ZmZlciwgYnVmZmVyX3NpemUsIGZsYWdzLCAodm9pZCAqKSBpbmZvLAorKyAgICAgIGdzdF9mZm1wZWdkYXRhX3JlYWQsIGdzdF9mZm1wZWdkYXRhX3dyaXRlLCBnc3RfZmZtcGVnZGF0YV9zZWVrKTsKKysgICgqY29udGV4dCktPnNlZWthYmxlID0gQVZJT19TRUVLQUJMRV9OT1JNQUw7CisrICBpZiAoIShmbGFncyAmIEFWSU9fRkxBR19XUklURSkpIHsKKysgICAgKCpjb250ZXh0KS0+YnVmX3B0ciA9ICgqY29udGV4dCktPmJ1Zl9lbmQ7CisrICAgICgqY29udGV4dCktPndyaXRlX2ZsYWcgPSAwOworKyAgfQorIAorICAgcmV0dXJuIDA7CisgfQorIAorKy8qIHNwZWNpYWxpemVkIHByb3RvY29sIGZvciBjcm9zcy10aHJlYWQgcHVzaGluZywKKysgKiBiYXNlZCBvbiBmZm1wZWcncyBwaXBlIHByb3RvY29sICovCisrCisgc3RhdGljIGludAorLWdzdF9mZm1wZWdfcGlwZV9yZWFkIChVUkxDb250ZXh0ICogaCwgdW5zaWduZWQgY2hhciAqYnVmLCBpbnQgc2l6ZSkKKytnc3RfZmZtcGVnX3BpcGVfcmVhZCAodm9pZCAqcHJpdl9kYXRhLCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBzaXplKQorIHsKKyAgIEdzdEZGTXBlZ1BpcGUgKmZmcGlwZTsKKyAgIGNvbnN0IGd1aW50OCAqZGF0YTsKKyAgIGd1aW50IGF2YWlsYWJsZTsKKyAKKy0gIGZmcGlwZSA9IChHc3RGRk1wZWdQaXBlICopIGgtPnByaXZfZGF0YTsKKysgIGZmcGlwZSA9IChHc3RGRk1wZWdQaXBlICopIHByaXZfZGF0YTsKKyAKKyAgIEdTVF9MT0cgKCJyZXF1ZXN0ZWQgc2l6ZSAlZCIsIHNpemUpOworIAorQEAgLTM2NywyMSArMzE0LDM4IEBACisgICByZXR1cm4gc2l6ZTsKKyB9CisgCistc3RhdGljIGludAorLWdzdF9mZm1wZWdfcGlwZV9jbG9zZSAoVVJMQ29udGV4dCAqIGgpCisraW50CisrZ3N0X2ZmbXBlZ19waXBlX2Nsb3NlIChBVklPQ29udGV4dCAqIGgpCisgeworICAgR1NUX0xPRyAoIkNsb3NpbmcgcGlwZSIpOworIAorLSAgaC0+cHJpdl9kYXRhID0gTlVMTDsKKysgIGgtPm9wYXF1ZSA9IE5VTEw7CisrICBhdl9mcmVlcCAoJmgtPmJ1ZmZlcik7CisrICBhdl9mcmVlIChoKTsKKyAKKyAgIHJldHVybiAwOworIH0KKyAKKy1VUkxQcm90b2NvbCBnc3RwaXBlX3Byb3RvY29sID0geworLSAgImdzdHBpcGUiLAorLSAgZ3N0X2ZmbXBlZ19waXBlX29wZW4sCistICBnc3RfZmZtcGVnX3BpcGVfcmVhZCwKKy0gIE5VTEwsCistICBOVUxMLAorLSAgZ3N0X2ZmbXBlZ19waXBlX2Nsb3NlLAorLX07CisraW50CisrZ3N0X2ZmbXBlZ19waXBlX29wZW4gKEdzdEZGTXBlZ1BpcGUgKiBmZnBpcGUsIGludCBmbGFncywgQVZJT0NvbnRleHQgKiogY29udGV4dCkKKyt7CisrICBzdGF0aWMgY29uc3QgaW50IGJ1ZmZlcl9zaXplID0gNDA5NjsKKysgIHVuc2lnbmVkIGNoYXIgKmJ1ZmZlciA9IE5VTEw7CisrCisrICAvKiBzYW5pdHkgY2hlY2sgKi8KKysgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChHU1RfSVNfQURBUFRFUiAoZmZwaXBlLT5hZGFwdGVyKSwgLUVJTlZBTCk7CisrCisrICBidWZmZXIgPSBhdl9tYWxsb2MgKGJ1ZmZlcl9zaXplKTsKKysgIGlmIChidWZmZXIgPT0gTlVMTCkgeworKyAgICBHU1RfV0FSTklORyAoIkZhaWxlZCB0byBhbGxvY2F0ZSBidWZmZXIiKTsKKysgICAgcmV0dXJuIC1FTk9NRU07CisrICB9CisrCisrICAqY29udGV4dCA9CisrICAgICAgYXZpb19hbGxvY19jb250ZXh0IChidWZmZXIsIGJ1ZmZlcl9zaXplLCAwLCAodm9pZCAqKSBmZnBpcGUsCisrICAgICAgZ3N0X2ZmbXBlZ19waXBlX3JlYWQsIE5VTEwsIE5VTEwpOworKyAgKCpjb250ZXh0KS0+c2Vla2FibGUgPSAwOworKyAgKCpjb250ZXh0KS0+YnVmX3B0ciA9ICgqY29udGV4dCktPmJ1Zl9lbmQ7CisrCisrICByZXR1cm4gMDsKKyt9CitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5jIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ3V0aWxzLmMKKy0tLSBnc3QtZmZtcGVnLTAuMTAuMTMub3JpZy9leHQvZmZtcGVnL2dzdGZmbXBlZ3V0aWxzLmMJMjAxMS0wNy0xMyAxMTowNzoyOC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5jCTIwMTQtMDgtMDggMTU6MzQ6MDQuMDA3ODc0NjI2ICswMjAwCitAQCAtMjUsNiArMjUsMTEgQEAKKyAjaWZkZWYgX19BUFBMRV9fCisgI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KKyAjZW5kaWYKKysjaWZkZWYgSEFWRV9GRk1QRUdfVU5JTlNUQUxMRUQKKysjaW5jbHVkZSA8YXZmb3JtYXQuaD4KKysjZWxzZQorKyNpbmNsdWRlIDxsaWJhdmZvcm1hdC9hdmZvcm1hdC5oPgorKyNlbmRpZgorIAorIEdfQ09OU1RfUkVUVVJOIGdjaGFyICoKKyBnc3RfZmZtcGVnX2dldF9jb2RlY2lkX2xvbmduYW1lIChlbnVtIENvZGVjSUQgY29kZWNfaWQpCitAQCAtMzksMjEgKzQ0LDIxIEBACisgfQorIAorIGdpbnQKKy1hdl9zbXBfZm9ybWF0X2RlcHRoIChlbnVtIFNhbXBsZUZvcm1hdCBzbXBfZm10KQorK2F2X3NtcF9mb3JtYXRfZGVwdGggKGVudW0gQVZTYW1wbGVGb3JtYXQgc21wX2ZtdCkKKyB7CisgICBnaW50IGRlcHRoID0gLTE7CisgICBzd2l0Y2ggKHNtcF9mbXQpIHsKKy0gICAgY2FzZSBTQU1QTEVfRk1UX1U4OgorKyAgICBjYXNlIEFWX1NBTVBMRV9GTVRfVTg6CisgICAgICAgZGVwdGggPSAxOworICAgICAgIGJyZWFrOworLSAgICBjYXNlIFNBTVBMRV9GTVRfUzE2OgorKyAgICBjYXNlIEFWX1NBTVBMRV9GTVRfUzE2OgorICAgICAgIGRlcHRoID0gMjsKKyAgICAgICBicmVhazsKKy0gICAgY2FzZSBTQU1QTEVfRk1UX1MzMjoKKy0gICAgY2FzZSBTQU1QTEVfRk1UX0ZMVDoKKysgICAgY2FzZSBBVl9TQU1QTEVfRk1UX1MzMjoKKysgICAgY2FzZSBBVl9TQU1QTEVfRk1UX0ZMVDoKKyAgICAgICBkZXB0aCA9IDQ7CisgICAgICAgYnJlYWs7CistICAgIGNhc2UgU0FNUExFX0ZNVF9EQkw6CisrICAgIGNhc2UgQVZfU0FNUExFX0ZNVF9EQkw6CisgICAgICAgZGVwdGggPSA4OworICAgICAgIGJyZWFrOworICAgICBkZWZhdWx0OgorZGlmZiAtdU5yIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVndXRpbHMuYy5vcmlnIGdzdC1mZm1wZWctMC4xMC4xMy9leHQvZmZtcGVnL2dzdGZmbXBlZ3V0aWxzLmMub3JpZworLS0tIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVndXRpbHMuYy5vcmlnCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVndXRpbHMuYy5vcmlnCTIwMTEtMDctMTMgMTE6MDc6MjguMDAwMDAwMDAwICswMjAwCitAQCAtMCwwICsxLDQ4MyBAQAorKy8qIEdTdHJlYW1lcgorKyAqIENvcHlyaWdodCAoYykgMjAwOSBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgorKyAqCisrICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisrICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisrICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyAqCisrICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyAqCisrICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKysgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorKyAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorKyAqLworKworKyNpZmRlZiBIQVZFX0NPTkZJR19ICisrI2luY2x1ZGUgImNvbmZpZy5oIgorKyNlbmRpZgorKyNpbmNsdWRlICJnc3RmZm1wZWd1dGlscy5oIgorKyNpbmNsdWRlIDx1bmlzdGQuaD4KKysjaWZkZWYgX19BUFBMRV9fCisrI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KKysjZW5kaWYKKysKKytHX0NPTlNUX1JFVFVSTiBnY2hhciAqCisrZ3N0X2ZmbXBlZ19nZXRfY29kZWNpZF9sb25nbmFtZSAoZW51bSBDb2RlY0lEIGNvZGVjX2lkKQorK3sKKysgIEFWQ29kZWMgKmNvZGVjOworKyAgLyogTGV0J3MgdXNlIHdoYXQgZmZtcGVnIGNhbiBwcm92aWRlIHVzICovCisrCisrICBpZiAoKGNvZGVjID0gYXZjb2RlY19maW5kX2RlY29kZXIgKGNvZGVjX2lkKSkgfHwKKysgICAgICAoY29kZWMgPSBhdmNvZGVjX2ZpbmRfZW5jb2RlciAoY29kZWNfaWQpKSkKKysgICAgcmV0dXJuIGNvZGVjLT5sb25nX25hbWU7CisrICByZXR1cm4gTlVMTDsKKyt9CisrCisrZ2ludAorK2F2X3NtcF9mb3JtYXRfZGVwdGggKGVudW0gU2FtcGxlRm9ybWF0IHNtcF9mbXQpCisreworKyAgZ2ludCBkZXB0aCA9IC0xOworKyAgc3dpdGNoIChzbXBfZm10KSB7CisrICAgIGNhc2UgU0FNUExFX0ZNVF9VODoKKysgICAgICBkZXB0aCA9IDE7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgU0FNUExFX0ZNVF9TMTY6CisrICAgICAgZGVwdGggPSAyOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFNBTVBMRV9GTVRfUzMyOgorKyAgICBjYXNlIFNBTVBMRV9GTVRfRkxUOgorKyAgICAgIGRlcHRoID0gNDsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBTQU1QTEVfRk1UX0RCTDoKKysgICAgICBkZXB0aCA9IDg7CisrICAgICAgYnJlYWs7CisrICAgIGRlZmF1bHQ6CisrICAgICAgR1NUX0VSUk9SICgiVU5IQU5ETEVEIFNBTVBMRSBGT1JNQVQgISIpOworKyAgICAgIGJyZWFrOworKyAgfQorKyAgcmV0dXJuIGRlcHRoOworK30KKysKKysKKysvKgorKyAqIEZpbGwgaW4gcG9pbnRlcnMgdG8gbWVtb3J5IGluIGEgQVZQaWN0dXJlLCB3aGVyZQorKyAqIGV2ZXJ5dGhpbmcgaXMgYWxpZ25lZCBieSA0IChhcyByZXF1aXJlZCBieSBYKS4KKysgKiBUaGlzIGlzIG1vc3RseSBhIGNvcHkgZnJvbSBpbWdjb252ZXJ0LmMgd2l0aCBzb21lCisrICogc21hbGwgY2hhbmdlcy4KKysgKi8KKysKKysjZGVmaW5lIEZGX0NPTE9SX1JHQiAgICAgIDAgICAgIC8qIFJHQiBjb2xvciBzcGFjZSAqLworKyNkZWZpbmUgRkZfQ09MT1JfR1JBWSAgICAgMSAgICAgLyogZ3JheSBjb2xvciBzcGFjZSAqLworKyNkZWZpbmUgRkZfQ09MT1JfWVVWICAgICAgMiAgICAgLyogWVVWIGNvbG9yIHNwYWNlLiAxNiA8PSBZIDw9IDIzNSwgMTYgPD0gVSwgViA8PSAyNDAgKi8KKysjZGVmaW5lIEZGX0NPTE9SX1lVVl9KUEVHIDMgICAgIC8qIFlVViBjb2xvciBzcGFjZS4gMCA8PSBZIDw9IDI1NSwgMCA8PSBVLCBWIDw9IDI1NSAqLworKworKyNkZWZpbmUgRkZfUElYRUxfUExBTkFSICAgMCAgICAgLyogZWFjaCBjaGFubmVsIGhhcyBvbmUgY29tcG9uZW50IGluIEFWUGljdHVyZSAqLworKyNkZWZpbmUgRkZfUElYRUxfUEFDS0VEICAgMSAgICAgLyogb25seSBvbmUgY29tcG9uZW50cyBjb250YWluaW5nIGFsbCB0aGUgY2hhbm5lbHMgKi8KKysjZGVmaW5lIEZGX1BJWEVMX1BBTEVUVEUgIDIgICAgIC8qIG9uZSBjb21wb25lbnRzIGNvbnRhaW5pbmcgaW5kZXhlcyBmb3IgYSBwYWxldHRlICovCisrCisrdHlwZWRlZiBzdHJ1Y3QgUGl4Rm10SW5mbworK3sKKysgIGNvbnN0IGNoYXIgKm5hbWU7CisrICB1aW50OF90IG5iX2NoYW5uZWxzOyAgICAgICAgICAvKiBudW1iZXIgb2YgY2hhbm5lbHMgKGluY2x1ZGluZyBhbHBoYSkgKi8KKysgIHVpbnQ4X3QgY29sb3JfdHlwZTsgICAgICAgICAgIC8qIGNvbG9yIHR5cGUgKHNlZSBGRl9DT0xPUl94eHggY29uc3RhbnRzKSAqLworKyAgdWludDhfdCBwaXhlbF90eXBlOyAgICAgICAgICAgLyogcGl4ZWwgc3RvcmFnZSB0eXBlIChzZWUgRkZfUElYRUxfeHh4IGNvbnN0YW50cykgKi8KKysgIHVpbnQ4X3QgaXNfYWxwaGE6MTsgICAgICAgICAgIC8qIHRydWUgaWYgYWxwaGEgY2FuIGJlIHNwZWNpZmllZCAqLworKyAgdWludDhfdCB4X2Nocm9tYV9zaGlmdDsgICAgICAgLyogWCBjaHJvbWEgc3Vic2FtcGxpbmcgZmFjdG9yIGlzIDIgXiBzaGlmdCAqLworKyAgdWludDhfdCB5X2Nocm9tYV9zaGlmdDsgICAgICAgLyogWSBjaHJvbWEgc3Vic2FtcGxpbmcgZmFjdG9yIGlzIDIgXiBzaGlmdCAqLworKyAgdWludDhfdCBkZXB0aDsgICAgICAgICAgICAgICAgLyogYml0IGRlcHRoIG9mIHRoZSBjb2xvciBjb21wb25lbnRzICovCisrfSBQaXhGbXRJbmZvOworKworKworKy8qIHRoaXMgdGFibGUgZ2l2ZXMgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBmb3JtYXRzICovCisrc3RhdGljIFBpeEZtdEluZm8gcGl4X2ZtdF9pbmZvW1BJWF9GTVRfTkJdOworK3ZvaWQKKytnc3RfZmZtcGVnX2luaXRfcGl4X2ZtdF9pbmZvICh2b2lkKQorK3sKKysgIC8qIFlVViBmb3JtYXRzICovCisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjBQXS5uYW1lID0gZ19zdHJkdXAgKCJ5dXY0MjBwIik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjBQXS5uYl9jaGFubmVscyA9IDM7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjBQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDIwUF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQyMFBdLmRlcHRoID0gOCwKKysgICAgICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjBQXS54X2Nocm9tYV9zaGlmdCA9IDEsCisrICAgICAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDIwUF0ueV9jaHJvbWFfc2hpZnQgPSAxOworKworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDIyUF0ubmFtZSA9IGdfc3RyZHVwICgieXV2NDIycCIpOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDIyUF0ubmJfY2hhbm5lbHMgPSAzOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDIyUF0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX1lVVjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQyMlBdLnBpeGVsX3R5cGUgPSBGRl9QSVhFTF9QTEFOQVI7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjJQXS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjJQXS54X2Nocm9tYV9zaGlmdCA9IDE7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MjJQXS55X2Nocm9tYV9zaGlmdCA9IDA7CisrCisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0NDRQXS5uYW1lID0gZ19zdHJkdXAgKCJ5dXY0NDRwIik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0NDRQXS5uYl9jaGFubmVscyA9IDM7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0NDRQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDQ0UF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQ0NFBdLmRlcHRoID0gODsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQ0NFBdLnhfY2hyb21hX3NoaWZ0ID0gMDsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQ0NFBdLnlfY2hyb21hX3NoaWZ0ID0gMDsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVWVY0MjJdLm5hbWUgPSBnX3N0cmR1cCAoInl1djQyMiIpOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVZVjQyMl0ubmJfY2hhbm5lbHMgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVZVjQyMl0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX1lVVjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVWVY0MjJdLnBpeGVsX3R5cGUgPSBGRl9QSVhFTF9QQUNLRUQ7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVlWNDIyXS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVlWNDIyXS54X2Nocm9tYV9zaGlmdCA9IDE7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVlWNDIyXS55X2Nocm9tYV9zaGlmdCA9IDA7CisrCisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MTBQXS5uYW1lID0gZ19zdHJkdXAgKCJ5dXY0MTBwIik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MTBQXS5uYl9jaGFubmVscyA9IDM7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MTBQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDEwUF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQxMFBdLmRlcHRoID0gODsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQxMFBdLnhfY2hyb21hX3NoaWZ0ID0gMjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQxMFBdLnlfY2hyb21hX3NoaWZ0ID0gMjsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQxMVBdLm5hbWUgPSBnX3N0cmR1cCAoInl1djQxMXAiKTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQxMVBdLm5iX2NoYW5uZWxzID0gMzsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVjQxMVBdLmNvbG9yX3R5cGUgPSBGRl9DT0xPUl9ZVVY7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVY0MTFQXS5waXhlbF90eXBlID0gRkZfUElYRUxfUExBTkFSOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDExUF0uZGVwdGggPSA4OworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDExUF0ueF9jaHJvbWFfc2hpZnQgPSAyOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWNDExUF0ueV9jaHJvbWFfc2hpZnQgPSAwOworKworKyAgLyogSlBFRyBZVVYgKi8KKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0MjBQXS5uYW1lID0gZ19zdHJkdXAgKCJ5dXZqNDIwcCIpOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWSjQyMFBdLm5iX2NoYW5uZWxzID0gMzsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0MjBQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWX0pQRUc7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZKNDIwUF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0MjBQXS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZKNDIwUF0ueF9jaHJvbWFfc2hpZnQgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWSjQyMFBdLnlfY2hyb21hX3NoaWZ0ID0gMTsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0MjJQXS5uYW1lID0gZ19zdHJkdXAgKCJ5dXZqNDIycCIpOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWSjQyMlBdLm5iX2NoYW5uZWxzID0gMzsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0MjJQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWX0pQRUc7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZKNDIyUF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0MjJQXS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZKNDIyUF0ueF9jaHJvbWFfc2hpZnQgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWSjQyMlBdLnlfY2hyb21hX3NoaWZ0ID0gMDsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0NDRQXS5uYW1lID0gZ19zdHJkdXAgKCJ5dXZqNDQ0cCIpOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWSjQ0NFBdLm5iX2NoYW5uZWxzID0gMzsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0NDRQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWX0pQRUc7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZKNDQ0UF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVko0NDRQXS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZKNDQ0UF0ueF9jaHJvbWFfc2hpZnQgPSAwOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWSjQ0NFBdLnlfY2hyb21hX3NoaWZ0ID0gMDsKKysKKysgIC8qIFJHQiBmb3JtYXRzICovCisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0IyNF0ubmFtZSA9IGdfc3RyZHVwICgicmdiMjQiKTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjI0XS5uYl9jaGFubmVscyA9IDM7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0IyNF0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX1JHQjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjI0XS5waXhlbF90eXBlID0gRkZfUElYRUxfUEFDS0VEOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCMjRdLmRlcHRoID0gODsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjI0XS54X2Nocm9tYV9zaGlmdCA9IDA7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0IyNF0ueV9jaHJvbWFfc2hpZnQgPSAwOworKworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfQkdSMjRdLm5hbWUgPSBnX3N0cmR1cCAoImJncjI0Iik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9CR1IyNF0ubmJfY2hhbm5lbHMgPSAzOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfQkdSMjRdLmNvbG9yX3R5cGUgPSBGRl9DT0xPUl9SR0I7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9CR1IyNF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BBQ0tFRDsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX0JHUjI0XS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9CR1IyNF0ueF9jaHJvbWFfc2hpZnQgPSAwOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfQkdSMjRdLnlfY2hyb21hX3NoaWZ0ID0gMDsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjMyXS5uYW1lID0gZ19zdHJkdXAgKCJyZ2JhMzIiKTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjMyXS5uYl9jaGFubmVscyA9IDQ7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0IzMl0uaXNfYWxwaGEgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCMzJdLmNvbG9yX3R5cGUgPSBGRl9DT0xPUl9SR0I7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0IzMl0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BBQ0tFRDsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjMyXS5kZXB0aCA9IDg7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0IzMl0ueF9jaHJvbWFfc2hpZnQgPSAwOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCMzJdLnlfY2hyb21hX3NoaWZ0ID0gMDsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU2NV0ubmFtZSA9IGdfc3RyZHVwICgicmdiNTY1Iik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0I1NjVdLm5iX2NoYW5uZWxzID0gMzsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU2NV0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX1JHQjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU2NV0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BBQ0tFRDsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU2NV0uZGVwdGggPSA1OworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCNTY1XS54X2Nocm9tYV9zaGlmdCA9IDA7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0I1NjVdLnlfY2hyb21hX3NoaWZ0ID0gMDsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU1NV0ubmFtZSA9IGdfc3RyZHVwICgicmdiNTU1Iik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0I1NTVdLm5iX2NoYW5uZWxzID0gNDsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU1NV0uaXNfYWxwaGEgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCNTU1XS5jb2xvcl90eXBlID0gRkZfQ09MT1JfUkdCOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCNTU1XS5waXhlbF90eXBlID0gRkZfUElYRUxfUEFDS0VEOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUkdCNTU1XS5kZXB0aCA9IDU7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9SR0I1NTVdLnhfY2hyb21hX3NoaWZ0ID0gMDsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1JHQjU1NV0ueV9jaHJvbWFfc2hpZnQgPSAwOworKworKyAgLyogZ3JheSAvIG1vbm8gZm9ybWF0cyAqLworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfR1JBWThdLm5hbWUgPSBnX3N0cmR1cCAoImdyYXkiKTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX0dSQVk4XS5uYl9jaGFubmVscyA9IDE7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9HUkFZOF0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX0dSQVk7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9HUkFZOF0ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX0dSQVk4XS5kZXB0aCA9IDg7CisrCisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9NT05PV0hJVEVdLm5hbWUgPSBnX3N0cmR1cCAoIm1vbm93Iik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9NT05PV0hJVEVdLm5iX2NoYW5uZWxzID0gMTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX01PTk9XSElURV0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX0dSQVk7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9NT05PV0hJVEVdLnBpeGVsX3R5cGUgPSBGRl9QSVhFTF9QTEFOQVI7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9NT05PV0hJVEVdLmRlcHRoID0gMTsKKysKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX01PTk9CTEFDS10ubmFtZSA9IGdfc3RyZHVwICgibW9ub2IiKTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX01PTk9CTEFDS10ubmJfY2hhbm5lbHMgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfTU9OT0JMQUNLXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfR1JBWTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX01PTk9CTEFDS10ucGl4ZWxfdHlwZSA9IEZGX1BJWEVMX1BMQU5BUjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX01PTk9CTEFDS10uZGVwdGggPSAxOworKworKyAgLyogcGFsZXR0ZWQgZm9ybWF0cyAqLworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUEFMOF0ubmFtZSA9IGdfc3RyZHVwICgicGFsOCIpOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUEFMOF0ubmJfY2hhbm5lbHMgPSA0OworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUEFMOF0uaXNfYWxwaGEgPSAxOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUEFMOF0uY29sb3JfdHlwZSA9IEZGX0NPTE9SX1JHQjsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1BBTDhdLnBpeGVsX3R5cGUgPSBGRl9QSVhFTF9QQUxFVFRFOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfUEFMOF0uZGVwdGggPSA4OworKworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWQTQyMFBdLm5hbWUgPSBnX3N0cmR1cCAoInl1dmE0MjBwIik7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZBNDIwUF0ubmJfY2hhbm5lbHMgPSA0OworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWQTQyMFBdLmlzX2FscGhhID0gMTsKKysgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVkE0MjBQXS5jb2xvcl90eXBlID0gRkZfQ09MT1JfWVVWOworKyAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWQTQyMFBdLnBpeGVsX3R5cGUgPSBGRl9QSVhFTF9QTEFOQVI7CisrICBwaXhfZm10X2luZm9bUElYX0ZNVF9ZVVZBNDIwUF0uZGVwdGggPSA4LAorKyAgICAgIHBpeF9mbXRfaW5mb1tQSVhfRk1UX1lVVkE0MjBQXS54X2Nocm9tYV9zaGlmdCA9IDEsCisrICAgICAgcGl4X2ZtdF9pbmZvW1BJWF9GTVRfWVVWQTQyMFBdLnlfY2hyb21hX3NoaWZ0ID0gMTsKKyt9OworKworK2ludAorK2dzdF9mZm1wZWdfYXZwaWN0dXJlX2dldF9zaXplIChpbnQgcGl4X2ZtdCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQorK3sKKysgIEFWUGljdHVyZSBkdW1teV9waWN0OworKworKyAgcmV0dXJuIGdzdF9mZm1wZWdfYXZwaWN0dXJlX2ZpbGwgKCZkdW1teV9waWN0LCBOVUxMLCBwaXhfZm10LCB3aWR0aCwgaGVpZ2h0KTsKKyt9CisrCisrI2RlZmluZSBHRU5fTUFTSyh4KSAoKDE8PCh4KSktMSkKKysjZGVmaW5lIFJPVU5EX1VQX1godix4KSAoKCh2KSArIEdFTl9NQVNLKHgpKSAmIH5HRU5fTUFTSyh4KSkKKysjZGVmaW5lIFJPVU5EX1VQXzIoeCkgUk9VTkRfVVBfWCAoeCwgMSkKKysjZGVmaW5lIFJPVU5EX1VQXzQoeCkgUk9VTkRfVVBfWCAoeCwgMikKKysjZGVmaW5lIFJPVU5EX1VQXzgoeCkgUk9VTkRfVVBfWCAoeCwgMykKKysjZGVmaW5lIERJVl9ST1VORF9VUF9YKHYseCkgKCgodikgKyBHRU5fTUFTSyh4KSkgPj4gKHgpKQorKworK2ludAorK2dzdF9mZm1wZWdfYXZwaWN0dXJlX2ZpbGwgKEFWUGljdHVyZSAqIHBpY3R1cmUsCisrICAgIHVpbnQ4X3QgKiBwdHIsIGVudW0gUGl4ZWxGb3JtYXQgcGl4X2ZtdCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQorK3sKKysgIGludCBzaXplLCB3MiwgaDIsIHNpemUyOworKyAgaW50IHN0cmlkZSwgc3RyaWRlMjsKKysgIFBpeEZtdEluZm8gKnBpbmZvOworKworKyAgcGluZm8gPSAmcGl4X2ZtdF9pbmZvW3BpeF9mbXRdOworKworKyAgc3dpdGNoIChwaXhfZm10KSB7CisrICAgIGNhc2UgUElYX0ZNVF9ZVVY0MjBQOgorKyAgICBjYXNlIFBJWF9GTVRfWVVWNDIyUDoKKysgICAgY2FzZSBQSVhfRk1UX1lVVjQ0NFA6CisrICAgIGNhc2UgUElYX0ZNVF9ZVVY0MTBQOgorKyAgICBjYXNlIFBJWF9GTVRfWVVWNDExUDoKKysgICAgY2FzZSBQSVhfRk1UX1lVVko0MjBQOgorKyAgICBjYXNlIFBJWF9GTVRfWVVWSjQyMlA6CisrICAgIGNhc2UgUElYX0ZNVF9ZVVZKNDQ0UDoKKysgICAgICBzdHJpZGUgPSBST1VORF9VUF80ICh3aWR0aCk7CisrICAgICAgaDIgPSBST1VORF9VUF9YIChoZWlnaHQsIHBpbmZvLT55X2Nocm9tYV9zaGlmdCk7CisrICAgICAgc2l6ZSA9IHN0cmlkZSAqIGgyOworKyAgICAgIHcyID0gRElWX1JPVU5EX1VQX1ggKHdpZHRoLCBwaW5mby0+eF9jaHJvbWFfc2hpZnQpOworKyAgICAgIHN0cmlkZTIgPSBST1VORF9VUF80ICh3Mik7CisrICAgICAgaDIgPSBESVZfUk9VTkRfVVBfWCAoaGVpZ2h0LCBwaW5mby0+eV9jaHJvbWFfc2hpZnQpOworKyAgICAgIHNpemUyID0gc3RyaWRlMiAqIGgyOworKyAgICAgIHBpY3R1cmUtPmRhdGFbMF0gPSBwdHI7CisrICAgICAgcGljdHVyZS0+ZGF0YVsxXSA9IHBpY3R1cmUtPmRhdGFbMF0gKyBzaXplOworKyAgICAgIHBpY3R1cmUtPmRhdGFbMl0gPSBwaWN0dXJlLT5kYXRhWzFdICsgc2l6ZTI7CisrICAgICAgcGljdHVyZS0+ZGF0YVszXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMF0gPSBzdHJpZGU7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMV0gPSBzdHJpZGUyOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzJdID0gc3RyaWRlMjsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVszXSA9IDA7CisrICAgICAgR1NUX0RFQlVHICgicGxhbmVzICVkICVkICVkIiwgMCwgc2l6ZSwgc2l6ZSArIHNpemUyKTsKKysgICAgICBHU1RfREVCVUcgKCJzdHJpZGVzICVkICVkICVkIiwgc3RyaWRlLCBzdHJpZGUyLCBzdHJpZGUyKTsKKysgICAgICByZXR1cm4gc2l6ZSArIDIgKiBzaXplMjsKKysgICAgY2FzZSBQSVhfRk1UX1lVVkE0MjBQOgorKyAgICAgIHN0cmlkZSA9IFJPVU5EX1VQXzQgKHdpZHRoKTsKKysgICAgICBoMiA9IFJPVU5EX1VQX1ggKGhlaWdodCwgcGluZm8tPnlfY2hyb21hX3NoaWZ0KTsKKysgICAgICBzaXplID0gc3RyaWRlICogaDI7CisrICAgICAgdzIgPSBESVZfUk9VTkRfVVBfWCAod2lkdGgsIHBpbmZvLT54X2Nocm9tYV9zaGlmdCk7CisrICAgICAgc3RyaWRlMiA9IFJPVU5EX1VQXzQgKHcyKTsKKysgICAgICBoMiA9IERJVl9ST1VORF9VUF9YIChoZWlnaHQsIHBpbmZvLT55X2Nocm9tYV9zaGlmdCk7CisrICAgICAgc2l6ZTIgPSBzdHJpZGUyICogaDI7CisrICAgICAgcGljdHVyZS0+ZGF0YVswXSA9IHB0cjsKKysgICAgICBwaWN0dXJlLT5kYXRhWzFdID0gcGljdHVyZS0+ZGF0YVswXSArIHNpemU7CisrICAgICAgcGljdHVyZS0+ZGF0YVsyXSA9IHBpY3R1cmUtPmRhdGFbMV0gKyBzaXplMjsKKysgICAgICBwaWN0dXJlLT5kYXRhWzNdID0gcGljdHVyZS0+ZGF0YVsyXSArIHNpemUyOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzBdID0gc3RyaWRlOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzFdID0gc3RyaWRlMjsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVsyXSA9IHN0cmlkZTI7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbM10gPSBzdHJpZGU7CisrICAgICAgR1NUX0RFQlVHICgicGxhbmVzICVkICVkICVkICVkIiwgMCwgc2l6ZSwgc2l6ZSArIHNpemUyLCBzaXplICsgMiAqIHNpemUyKTsKKysgICAgICBHU1RfREVCVUcgKCJzdHJpZGVzICVkICVkICVkICVkIiwgc3RyaWRlLCBzdHJpZGUyLCBzdHJpZGUyLCBzdHJpZGUpOworKyAgICAgIHJldHVybiAyICogc2l6ZSArIDIgKiBzaXplMjsKKysgICAgY2FzZSBQSVhfRk1UX1JHQjI0OgorKyAgICBjYXNlIFBJWF9GTVRfQkdSMjQ6CisrICAgICAgc3RyaWRlID0gUk9VTkRfVVBfNCAod2lkdGggKiAzKTsKKysgICAgICBzaXplID0gc3RyaWRlICogaGVpZ2h0OworKyAgICAgIHBpY3R1cmUtPmRhdGFbMF0gPSBwdHI7CisrICAgICAgcGljdHVyZS0+ZGF0YVsxXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+ZGF0YVsyXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+ZGF0YVszXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMF0gPSBzdHJpZGU7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMV0gPSAwOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzJdID0gMDsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVszXSA9IDA7CisrICAgICAgcmV0dXJuIHNpemU7CisrICAgICAgLypjYXNlIFBJWF9GTVRfQVlVVjQ0NDQ6CisrICAgICAgICAgY2FzZSBQSVhfRk1UX0JHUjMyOgorKyAgICAgICAgIGNhc2UgUElYX0ZNVF9CR1JBMzI6CisrICAgICAgICAgY2FzZSBQSVhfRk1UX1JHQjMyOiAqLworKyAgICBjYXNlIFBJWF9GTVRfUkdCMzI6CisrICAgICAgc3RyaWRlID0gd2lkdGggKiA0OworKyAgICAgIHNpemUgPSBzdHJpZGUgKiBoZWlnaHQ7CisrICAgICAgcGljdHVyZS0+ZGF0YVswXSA9IHB0cjsKKysgICAgICBwaWN0dXJlLT5kYXRhWzFdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzJdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzNdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVswXSA9IHN0cmlkZTsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVsxXSA9IDA7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMl0gPSAwOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzNdID0gMDsKKysgICAgICByZXR1cm4gc2l6ZTsKKysgICAgY2FzZSBQSVhfRk1UX1JHQjU1NToKKysgICAgY2FzZSBQSVhfRk1UX1JHQjU2NToKKysgICAgY2FzZSBQSVhfRk1UX1lVWVY0MjI6CisrICAgIGNhc2UgUElYX0ZNVF9VWVZZNDIyOgorKyAgICAgIHN0cmlkZSA9IFJPVU5EX1VQXzQgKHdpZHRoICogMik7CisrICAgICAgc2l6ZSA9IHN0cmlkZSAqIGhlaWdodDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzBdID0gcHRyOworKyAgICAgIHBpY3R1cmUtPmRhdGFbMV0gPSBOVUxMOworKyAgICAgIHBpY3R1cmUtPmRhdGFbMl0gPSBOVUxMOworKyAgICAgIHBpY3R1cmUtPmRhdGFbM10gPSBOVUxMOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzBdID0gc3RyaWRlOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzFdID0gMDsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVsyXSA9IDA7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbM10gPSAwOworKyAgICAgIHJldHVybiBzaXplOworKyAgICBjYXNlIFBJWF9GTVRfVVlZVllZNDExOgorKyAgICAgIC8qIEZJWE1FLCBwcm9iYWJseSBub3QgdGhlIHJpZ2h0IHN0cmlkZSAqLworKyAgICAgIHN0cmlkZSA9IFJPVU5EX1VQXzQgKHdpZHRoKTsKKysgICAgICBzaXplID0gc3RyaWRlICogaGVpZ2h0OworKyAgICAgIHBpY3R1cmUtPmRhdGFbMF0gPSBwdHI7CisrICAgICAgcGljdHVyZS0+ZGF0YVsxXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+ZGF0YVsyXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+ZGF0YVszXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMF0gPSB3aWR0aCArIHdpZHRoIC8gMjsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVsxXSA9IDA7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMl0gPSAwOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzNdID0gMDsKKysgICAgICByZXR1cm4gc2l6ZSArIHNpemUgLyAyOworKyAgICBjYXNlIFBJWF9GTVRfR1JBWTg6CisrICAgICAgc3RyaWRlID0gUk9VTkRfVVBfNCAod2lkdGgpOworKyAgICAgIHNpemUgPSBzdHJpZGUgKiBoZWlnaHQ7CisrICAgICAgcGljdHVyZS0+ZGF0YVswXSA9IHB0cjsKKysgICAgICBwaWN0dXJlLT5kYXRhWzFdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzJdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzNdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVswXSA9IHN0cmlkZTsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVsxXSA9IDA7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMl0gPSAwOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzNdID0gMDsKKysgICAgICByZXR1cm4gc2l6ZTsKKysgICAgY2FzZSBQSVhfRk1UX01PTk9XSElURToKKysgICAgY2FzZSBQSVhfRk1UX01PTk9CTEFDSzoKKysgICAgICBzdHJpZGUgPSBST1VORF9VUF80ICgod2lkdGggKyA3KSA+PiAzKTsKKysgICAgICBzaXplID0gc3RyaWRlICogaGVpZ2h0OworKyAgICAgIHBpY3R1cmUtPmRhdGFbMF0gPSBwdHI7CisrICAgICAgcGljdHVyZS0+ZGF0YVsxXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+ZGF0YVsyXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+ZGF0YVszXSA9IE5VTEw7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMF0gPSBzdHJpZGU7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbMV0gPSAwOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzJdID0gMDsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVszXSA9IDA7CisrICAgICAgcmV0dXJuIHNpemU7CisrICAgIGNhc2UgUElYX0ZNVF9QQUw4OgorKyAgICAgIC8qIGFscmVhZHkgZm9yY2VkIHRvIGJlIHdpdGggc3RyaWRlLCBzbyBzYW1lIHJlc3VsdCBhcyBvdGhlciBmdW5jdGlvbiAqLworKyAgICAgIHN0cmlkZSA9IFJPVU5EX1VQXzQgKHdpZHRoKTsKKysgICAgICBzaXplID0gc3RyaWRlICogaGVpZ2h0OworKyAgICAgIHBpY3R1cmUtPmRhdGFbMF0gPSBwdHI7CisrICAgICAgcGljdHVyZS0+ZGF0YVsxXSA9IHB0ciArIHNpemU7ICAgIC8qIHBhbGV0dGUgaXMgc3RvcmVkIGhlcmUgYXMgMjU2IDMyIGJpdCB3b3JkcyAqLworKyAgICAgIHBpY3R1cmUtPmRhdGFbMl0gPSBOVUxMOworKyAgICAgIHBpY3R1cmUtPmRhdGFbM10gPSBOVUxMOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzBdID0gc3RyaWRlOworKyAgICAgIHBpY3R1cmUtPmxpbmVzaXplWzFdID0gNDsKKysgICAgICBwaWN0dXJlLT5saW5lc2l6ZVsyXSA9IDA7CisrICAgICAgcGljdHVyZS0+bGluZXNpemVbM10gPSAwOworKyAgICAgIHJldHVybiBzaXplICsgMjU2ICogNDsKKysgICAgZGVmYXVsdDoKKysgICAgICBwaWN0dXJlLT5kYXRhWzBdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzFdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzJdID0gTlVMTDsKKysgICAgICBwaWN0dXJlLT5kYXRhWzNdID0gTlVMTDsKKysgICAgICByZXR1cm4gLTE7CisrICB9CisrCisrICByZXR1cm4gMDsKKyt9CisrCisrLyogQ3JlYXRlIGEgR3N0QnVmZmVyIG9mIHRoZSByZXF1ZXN0ZWQgc2l6ZSBhbmQgY2Fwcy4KKysgKiBUaGUgbWVtb3J5IHdpbGwgYmUgYWxsb2NhdGVkIGJ5IGZmbXBlZywgbWFraW5nIHN1cmUgaXQncyBwcm9wZXJseSBhbGlnbmVkCisrICogZm9yIGFueSBwcm9jZXNzaW5nLiAqLworKworK0dzdEJ1ZmZlciAqCisrbmV3X2FsaWduZWRfYnVmZmVyIChnaW50IHNpemUsIEdzdENhcHMgKiBjYXBzKQorK3sKKysgIEdzdEJ1ZmZlciAqYnVmOworKworKyAgYnVmID0gZ3N0X2J1ZmZlcl9uZXcgKCk7CisrICBHU1RfQlVGRkVSX0RBVEEgKGJ1ZikgPSBHU1RfQlVGRkVSX01BTExPQ0RBVEEgKGJ1ZikgPSBhdl9tYWxsb2MgKHNpemUpOworKyAgR1NUX0JVRkZFUl9TSVpFIChidWYpID0gc2l6ZTsKKysgIEdTVF9CVUZGRVJfRlJFRV9GVU5DIChidWYpID0gYXZfZnJlZTsKKysgIGlmIChjYXBzKQorKyAgICBnc3RfYnVmZmVyX3NldF9jYXBzIChidWYsIGNhcHMpOworKworKyAgcmV0dXJuIGJ1ZjsKKyt9CisrCisraW50CisrZ3N0X2ZmbXBlZ19hdXRvX21heF90aHJlYWRzICh2b2lkKQorK3sKKysgIHN0YXRpYyBnc2l6ZSBuX3RocmVhZHMgPSAwOworKyAgaWYgKGdfb25jZV9pbml0X2VudGVyICgmbl90aHJlYWRzKSkgeworKyAgICBpbnQgbiA9IDE7CisrI2lmIGRlZmluZWQoX1dJTjMyKQorKyAgICB7CisrICAgICAgY29uc3QgY2hhciAqcyA9IGdldGVudiAoIk5VTUJFUl9PRl9QUk9DRVNTT1JTIik7CisrICAgICAgaWYgKHMpIHsKKysgICAgICAgIG4gPSBhdG9pIChzKTsKKysgICAgICB9CisrICAgIH0KKysjZWxpZiBkZWZpbmVkKF9fQVBQTEVfXykKKysgICAgeworKyAgICAgIGludCBtaWJbXSA9IHsgQ1RMX0hXLCBIV19OQ1BVIH07CisrICAgICAgc2l6ZV90IGRhdGFTaXplID0gc2l6ZW9mIChpbnQpOworKworKyAgICAgIGlmIChzeXNjdGwgKG1pYiwgMiwgJm5fdGhyZWFkcywgJmRhdGFTaXplLCBOVUxMLCAwKSkgeworKyAgICAgICAgbiA9IDE7CisrICAgICAgfQorKyAgICB9CisrI2Vsc2UKKysgICAgbiA9IHN5c2NvbmYgKF9TQ19OUFJPQ0VTU09SU19DT05GKTsKKysjZW5kaWYKKysgICAgaWYgKG4gPCAxKQorKyAgICAgIG4gPSAxOworKworKyAgICBnX29uY2VfaW5pdF9sZWF2ZSAoJm5fdGhyZWFkcywgbik7CisrICB9CisrCisrICByZXR1cm4gKGludCkgKG5fdGhyZWFkcyk7CisrfQorZGlmZiAtdU5yIGdzdC1mZm1wZWctMC4xMC4xMy5vcmlnL2V4dC9mZm1wZWcvZ3N0ZmZtcGVndXRpbHMuaCBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5oCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5oCTIwMTEtMTEtMDIgMTQ6MDQ6MDUuMDAwMDAwMDAwICswMTAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVndXRpbHMuaAkyMDE0LTA4LTA4IDE1OjM0OjA0LjAwNzg3NDYyNiArMDIwMAorQEAgLTIzLDYgKzIzLDcgQEAKKyAjaWZkZWYgSEFWRV9GRk1QRUdfVU5JTlNUQUxMRUQKKyAjaW5jbHVkZSA8YXZjb2RlYy5oPgorICNlbHNlCisrI2luY2x1ZGUgPGxpYmF2dXRpbC9tYXRoZW1hdGljcy5oPgorICNpbmNsdWRlIDxsaWJhdmNvZGVjL2F2Y29kZWMuaD4KKyAjZW5kaWYKKyAjaW5jbHVkZSA8Z3N0L2dzdC5oPgorQEAgLTg3LDcgKzg4LDcgQEAKKyBnc3RfZmZtcGVnX2dldF9jb2RlY2lkX2xvbmduYW1lIChlbnVtIENvZGVjSUQgY29kZWNfaWQpOworIAorIGdpbnQKKy1hdl9zbXBfZm9ybWF0X2RlcHRoKGVudW0gU2FtcGxlRm9ybWF0IHNtcF9mbXQpOworK2F2X3NtcF9mb3JtYXRfZGVwdGgoZW51bSBBVlNhbXBsZUZvcm1hdCBzbXBfZm10KTsKKyAKKyBHc3RCdWZmZXIgKgorIG5ld19hbGlnbmVkX2J1ZmZlciAoZ2ludCBzaXplLCBHc3RDYXBzICogY2Fwcyk7CitkaWZmIC11TnIgZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5oLm9yaWcgZ3N0LWZmbXBlZy0wLjEwLjEzL2V4dC9mZm1wZWcvZ3N0ZmZtcGVndXRpbHMuaC5vcmlnCistLS0gZ3N0LWZmbXBlZy0wLjEwLjEzLm9yaWcvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5oLm9yaWcJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc3QtZmZtcGVnLTAuMTAuMTMvZXh0L2ZmbXBlZy9nc3RmZm1wZWd1dGlscy5oLm9yaWcJMjAxNC0wOC0wOCAxNToyNjozOC40NzM4NTg2NTIgKzAyMDAKK0BAIC0wLDAgKzEsOTUgQEAKKysvKiBHU3RyZWFtZXIKKysgKiBDb3B5cmlnaHQgKEMpIDwyMDA5PiBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgorKyAqCisrICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisrICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisrICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyAqCisrICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyAqCisrICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKysgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorKyAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorKyAqLworKworKyNpZm5kZWYgX19HU1RfRkZNUEVHX1VUSUxTX0hfXworKyNkZWZpbmUgX19HU1RfRkZNUEVHX1VUSUxTX0hfXworKworKyNpZmRlZiBIQVZFX0ZGTVBFR19VTklOU1RBTExFRAorKyNpbmNsdWRlIDxhdmNvZGVjLmg+CisrI2Vsc2UKKysjaW5jbHVkZSA8bGliYXZjb2RlYy9hdmNvZGVjLmg+CisrI2VuZGlmCisrI2luY2x1ZGUgPGdzdC9nc3QuaD4KKysKKysvKgorKyAqR2V0IHRoZSBzaXplIG9mIGFuIHBpY3R1cmUKKysgKi8KKytpbnQKKytnc3RfZmZtcGVnX2F2cGljdHVyZV9nZXRfc2l6ZSAoaW50IHBpeF9mbXQsIGludCB3aWR0aCwgaW50IGhlaWdodCk7CisrCisrLyoKKysgKiBGaWxsIGluIHBvaW50ZXJzIGluIGFuIEFWUGljdHVyZSwgYWxpZ25lZCBieSA0IChyZXF1aXJlZCBieSBYKS4KKysgKi8KKysKKytpbnQKKytnc3RfZmZtcGVnX2F2cGljdHVyZV9maWxsIChBVlBpY3R1cmUgKiBwaWN0dXJlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKiAgIHB0ciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIFBpeGVsRm9ybWF0IHBpeF9mbXQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICAgICAgICAgd2lkdGgsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICAgICAgICAgaGVpZ2h0KTsKKysKKysvKgorKyAqIENvbnZlcnQgZnJvbS90byBhIEdTdHJlYW1lciA8LT4gRkZNcGVnIHRpbWVzdGFtcC4KKysgKi8KKytzdGF0aWMgaW5saW5lIGd1aW50NjQKKytnc3RfZmZtcGVnX3RpbWVfZmZfdG9fZ3N0IChnaW50NjQgcHRzLCBBVlJhdGlvbmFsIGJhc2UpCisreworKyAgZ3VpbnQ2NCBvdXQ7CisrCisrICBpZiAocHRzID09IEFWX05PUFRTX1ZBTFVFKXsKKysgICAgb3V0ID0gR1NUX0NMT0NLX1RJTUVfTk9ORTsKKysgIH0gZWxzZSB7CisrICAgIEFWUmF0aW9uYWwgYnEgPSB7IDEsIEdTVF9TRUNPTkQgfTsKKysgICAgb3V0ID0gYXZfcmVzY2FsZV9xIChwdHMsIGJhc2UsIGJxKTsKKysgIH0KKysKKysgIHJldHVybiBvdXQ7CisrfQorKworK3N0YXRpYyBpbmxpbmUgZ2ludDY0CisrZ3N0X2ZmbXBlZ190aW1lX2dzdF90b19mZiAoZ3VpbnQ2NCB0aW1lLCBBVlJhdGlvbmFsIGJhc2UpCisreworKyAgZ2ludDY0IG91dDsKKysKKysgIGlmICghR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQgKHRpbWUpIHx8IGJhc2UubnVtID09IDApIHsKKysgICAgb3V0ID0gQVZfTk9QVFNfVkFMVUU7CisrICB9IGVsc2UgeworKyAgICBBVlJhdGlvbmFsIGJxID0geyAxLCBHU1RfU0VDT05EIH07CisrICAgIG91dCA9IGF2X3Jlc2NhbGVfcSAodGltZSwgYnEsIGJhc2UpOworKyAgfQorKworKyAgcmV0dXJuIG91dDsKKyt9CisrCisrdm9pZCAKKytnc3RfZmZtcGVnX2luaXRfcGl4X2ZtdF9pbmZvKHZvaWQpOworKworK2ludAorK2dzdF9mZm1wZWdfYXV0b19tYXhfdGhyZWFkcyh2b2lkKTsKKysKKytHX0NPTlNUX1JFVFVSTiBnY2hhciAqCisrZ3N0X2ZmbXBlZ19nZXRfY29kZWNpZF9sb25nbmFtZSAoZW51bSBDb2RlY0lEIGNvZGVjX2lkKTsKKysKKytnaW50CisrYXZfc21wX2Zvcm1hdF9kZXB0aChlbnVtIEFWU2FtcGxlRm9ybWF0IHNtcF9mbXQpOworKworK0dzdEJ1ZmZlciAqCisrbmV3X2FsaWduZWRfYnVmZmVyIChnaW50IHNpemUsIEdzdENhcHMgKiBjYXBzKTsKKysKKysjZW5kaWYgLyogX19HU1RfRkZNUEVHX1VUSUxTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9saWJhdl9lNTAwbWMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2xpYmF2X2U1MDBtYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYmE0OTg4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9saWJhdl9lNTAwbWMucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorZGlmZiAtLWdpdCBhL2dzdC1saWJzL2V4dC9saWJhdi9jb25maWd1cmUgYi9nc3QtbGlicy9leHQvbGliYXYvY29uZmlndXJlCitpbmRleCA4NDczMDY5Li40Zjc0OTUyIDEwMDc1NQorLS0tIGEvZ3N0LWxpYnMvZXh0L2xpYmF2L2NvbmZpZ3VyZQorKysrIGIvZ3N0LWxpYnMvZXh0L2xpYmF2L2NvbmZpZ3VyZQorRml4IGdzdC1mZm1wZWcgYnVpbGQgaXNzdWVzIGZvciBsaWJhdiBvbiBlNTAwbWMgKGZzbC1wNDA4MCkKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBZYW8gWmhhbyA8eWFvLnpoYW9Ad2luZHJpdmVyLmNvbT4KKworQEAgLTIyMTAsNiArMjIxMCwxMCBAQCBlbGlmIGVuYWJsZWQgcHBjOyB0aGVuCisgICAgICAgICAgICAgY3B1ZmxhZ3M9Ii1tY3B1PWNlbGwiCisgICAgICAgICAgICAgZW5hYmxlIGxkYnJ4CisgICAgICAgICA7OworKyAgICAgICAgZTUwMG1jKQorKyAgICAgICAgICAgIGNwdWZsYWdzPSItbWNwdT1lNTAwbWMiCisrICAgICAgICAgICAgZGlzYWJsZSBhbHRpdmVjCisrICAgICAgICA7OworICAgICAgICAgZTUwMHYyKQorICAgICAgICAgICAgIGNwdWZsYWdzPSItbWNwdT04NTQ4IC1taGFyZC1mbG9hdCAtbWZsb2F0LWdwcnM9ZG91YmxlIgorICAgICAgICAgICAgIGRpc2FibGUgYWx0aXZlYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWctMC4xMC4xMy9saWJhdl9lNTUwMC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvbGliYXZfZTU1MDAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDllYTJjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvbGliYXZfZTU1MDAucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorbGliYXY6IEFkZCBjb25maWdzIGZvciBwcGMgZTU1MDAKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEplc3NlIFpoYW5nIDxzZW4uemhhbmdAd2luZHJpdmVyLmNvbT4KKworLS0tIGdzdC1mZm1wZWctMC4xMC4xMy9nc3QtbGlicy9leHQvbGliYXYvY29uZmlndXJlCTIwMTMtMDYtMjAgMDU6MTg6MzYuMDczMTA0OTY0IC0wNDAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjEzL2dzdC1saWJzL2V4dC9saWJhdi9jb25maWd1cmUJMjAxMy0wNi0yMCAwNToxODozOC4yNjkxMDQxNTAgLTA0MDAKK0BAIC0yMjIyLDYgKzIyMjIsMTAgQEAKKyAgICAgICAgICAgICBjcHVmbGFncz0iLW1jcHU9ODU0MCAtbWhhcmQtZmxvYXQiCisgICAgICAgICAgICAgZGlzYWJsZSBhbHRpdmVjCisgICAgICAgICA7OworKyAgICAgICAgZTU1MDApCisrICAgICAgICAgICAgY3B1ZmxhZ3M9Ii1tY3B1PWU1NTAwIC1taGFyZC1mbG9hdCIKKysgICAgICAgICAgICBkaXNhYmxlIGFsdGl2ZWMKKysgICAgICAgIDs7CisgICAgIGVzYWMKKyAKKyBlbGlmIGVuYWJsZWQgeDg2OyB0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2xvd2VyLXJhbmsuZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmZtcGVnLTAuMTAuMTMvbG93ZXItcmFuay5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmMDhhZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZy0wLjEwLjEzL2xvd2VyLXJhbmsuZGlmZgpAQCAtMCwwICsxLDE2IEBACitMb3dlciB0aGUgcmFuayBvZiBmZm1wZWcgcGx1Z2luIHNvIGNvZGVjcyB0aGF0IGhvb2sgaW50byBhY2NlbGVyYXRlZCBwaWVjZXMgKGUuZy4gZHNwIG9yIGh3IGVuZ2luZXMpIGNhbiBnZXQgcGlja2VkIG92ZXIgdGhpcworRGVyaXZlZCBmcm9tIE9FIGJ5IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKKy0tLSAvdG1wL2dzdGZmbXBlZ2RlYy5jCTIwMDktMDMtMDUgMDk6MzE6MTUuMDAwMDAwMDAwICswMTAwCisrKysgZ3N0LWZmbXBlZy0wLjEwLjYvZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZWMuYwkyMDA5LTAzLTA1IDA5OjMzOjA5LjAwMDAwMDAwMCArMDEwMAorQEAgLTI1ODgsNyArMjU4OCw3IEBACisgICAgICAgY2FzZSBDT0RFQ19JRF9NU01QRUc0VjM6CisgICAgICAgY2FzZSBDT0RFQ19JRF9IMjY0OgorICAgICAgIGNhc2UgQ09ERUNfSURfQ09PSzoKKy0gICAgICAgIHJhbmsgPSBHU1RfUkFOS19QUklNQVJZOworKyAgICAgICAgcmFuayA9IEdTVF9SQU5LX1NFQ09OREFSWTsKKyAgICAgICAgIGJyZWFrOworICAgICAgIGNhc2UgQ09ERUNfSURfRFZWSURFTzoKKyAgICAgICAgIC8qIHdlIGhhdmUgYSBnb29kIGR2IGRlY29kZXIsIGZhc3Qgb24gYm90aCBwcGMgYXMgd2VsbCBhcyB4ODYuIHRoZXkgc2F5CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZmbXBlZ18wLjEwLjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWdfMC4xMC4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTFiMTBjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mZm1wZWdfMC4xMC4xMy5iYgpAQCAtMCwwICsxLDEwMyBAQAorU1VNTUFSWSA9ICJGRm1wZWctYmFzZWQgR1N0cmVhbWVyIHBsdWctaW4iCitTRUNUSU9OID0gIm11bHRpbWVkaWEiCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2MisgJiAoIChHUEx2MisgJiBMR1BMdjIuMSspIHwgKEdQTHYzKyAmIExHUEx2MyspICkiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9leHQvbGlicG9zdHByb2MvZ3N0cG9zdHByb2MuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTE4O21kNT01ODk2ZTQ0NWU0MTY4MTMyNDM4MWY1ODY5ZWUzM2QzOCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZXh0L2ZmbXBlZy9nc3RmZm1wZWcuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTE4O21kNT1mZjY1NDY3YjBjNTNjZGZhOThkMDY4NGMxYmMyNDBhOSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nc3QtbGlicy9leHQvbGliYXYvTElDRU5TRTttZDU9YWJjM2I4Y2IwMjg1NmFhNzgyM2JiYmQxNjJkMTYyMzIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0LWxpYnMvZXh0L2xpYmF2L0NPUFlJTkcuR1BMdjI7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC1saWJzL2V4dC9saWJhdi9DT1BZSU5HLkdQTHYzO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nc3QtbGlicy9leHQvbGliYXYvQ09QWUlORy5MR1BMdjIuMTttZDU9ZTM0NGM4ZmE4MzZjM2E0MWM0Y2JkNzlkN2JkM2EzNzkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0LWxpYnMvZXh0L2xpYmF2L0NPUFlJTkcuTEdQTHYzO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiIKK0xJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3N0cmVhbWVyLm5ldC8iCitERVBFTkRTID0gImdzdHJlYW1lciBnc3QtcGx1Z2lucy1iYXNlIHpsaWIgYnppcDIgeWFzbS1uYXRpdmUgbGlicG9zdHByb2MiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworU1JDX1VSSSA9ICJodHRwOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9zcmMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2xvd2VyLXJhbmsuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUtZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2gyNjRfcXBlbF9tbXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbGliYXZfZTUwMG1jLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xpYmF2X2U1NTAwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dzdC1mZm1wZWctQ1ZFLTIwMTMtMzY3NC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWF2Zm9ybWF0LW1wZWd0c2VuYy1DaGVjay1kYXRhLWFycmF5LXNpemUtaW4tbXBlZ3RzX3cucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS12cWF2aWRlby1jaGVjay1jaHVuay1zaXplcy1iZWZvcmUtcmVhZGluZy1jaHVua3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hdmNvZGVjLW1zcmxlLXVzZS1hdl9pbWFnZV9nZXRfbGluZXNpemUtdG8tY2FsY3VsYXRlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaHVmZnl1dmRlYy1Ta2lwLWxlbi0wLWNhc2VzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaHVmZnl1dmRlYy1DaGVjay1pbml0X3ZsYy1yZXR1cm4tY29kZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hbHNkZWMtY2hlY2stYmxvY2stbGVuZ3RoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcGdzc3ViZGVjLWNoZWNrLVJMRS1zaXplLWJlZm9yZS1jb3B5aW5nLi1GaXgtb3V0LW9mLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWF0cmFjM2RlYy1DaGVjay1jb2RpbmctbW9kZS1hZ2FpbnN0LWNoYW5uZWxzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZWFtYWQtZml4LW91dC1vZi1hcnJheS1hY2Nlc3Nlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1qcGVnZGVjLWNoZWNrLVNFLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYWxhYy1maXgtbmJfc2FtcGxlcy1vcmRlci1jYXNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaDI2NC1jb3JyZWN0LXJlZi1jb3VudC1jaGVjay1hbmQtbGltaXQtZml4LW91dC1vZi1hci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXJvcXZpZGVvZGVjLWNoZWNrLWRpbWVuc2lvbnMtdmFsaWRpdHkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hYWNkZWMtY2hlY2stY2hhbm5lbC1jb3VudC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBuZ2RlYy1maWx0ZXItZG9udC1hY2Nlc3Mtb3V0LW9mLWFycmF5LWVsZW1lbnRzLWF0LXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1lcnJvcl9jb25jZWFsbWVudC1DaGVjay10aGF0LXRoZS1waWN0dXJlLWlzLW5vdC1pbi1hLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdnAzLWZpeC1vb2ItcmVhZC1mb3ItbmVnYXRpdmUtdG9rZW5zLWFuZC1tZW1sZWFrcy1vbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXZwMy1Db3B5LWFsbC0zLWZyYW1lcy1mb3ItdGhyZWFkLXVwZGF0ZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1oMjY0X3NlaS1GaXgtaW5maW5pdGUtbG9vcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWF2Y29kZWMtcGFyc2VyLXJlc2V0LWluZGV4ZXMtb24tcmVhbGxvYy1mYWlsdXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYXZjb2RlYy1ycHphLVBlcmZvcm0tcG9pbnRlci1hZHZhbmNlLWFuZC1jaGVja3MtYmVmby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nc3QtZmZtcGVnLUNWRS0yMDEzLTA4NTUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1xZG0yZGVjLWZpeC1idWZmZXItb3ZlcmZsb3cucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1zbWFja2VyZGVjLUNoZWNrLXRoYXQtdGhlLWxhc3QtaW5kZXhlcy1hcmUtd2l0aGluLXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYXZjb2RlYy1kc3B1dGlsLWZpeC1zaWduZWRuZXNzLWluLXNpemVvZi1jb21wYXJpc3Npby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWVycm9yLWNvbmNlYWxtZW50LWluaXRpYWxpemUtYmxvY2staW5kZXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1xZG0yLWNoZWNrLWFycmF5LWluZGV4LWJlZm9yZS11c2UtZml4LW91dC1vZi1hcnJheS1hLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbGF2Zi1jb21wdXRlLXByb2JlLWJ1ZmZlci1zaXplLW1vcmUtcmVsaWFibHkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1mZnNlcnZlci1zZXQtb2Zvcm1hdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWgyNjQtc2V0LXBhcmFtZXRlcnMtZnJvbS1TUFMtd2hlbmV2ZXItaXQtY2hhbmdlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWgyNjQtc2tpcC1lcnJvci1jb25jZWFsbWVudC13aGVuLVNQUy1hbmQtc2xpY2VzLWFyZS0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hdmNvZGVjLXNtYy1maXgtb2ZmLWJ5LTEtZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1hdmNvZGVjLW1qcGVnZGVjLWNoZWNrLWJpdHMtcGVyLXBpeGVsLWZvci1jaGFuZ2VzLXNpLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xpYmF2LTkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTEtNDM1Mi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC03OTMzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTg1NDIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0My5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQ0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTg1NDUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtODU0Ni5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nc3QtZmZtcGVnLWZpeC1DVkUtMjAxNC04NTQ3LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dzdC1mZm1wZWctZml4LUNWRS0yMDE0LTkzMTgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ3N0LWZmbXBlZy1maXgtQ1ZFLTIwMTQtOTYwMy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3ZjViZWFjYWYxMzEyZGIyZGIzMGEwMjZiMzY4ODhjNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3NmZjYTA1YjA4ZTAwMTM0ZTNjYjkyZmEzNDc1MDdmNDJjYmQ0OGRkYjA4ZWQzMzQzYTkxMmRlZjE4N2ZiYjYyIgorCitQUiA9ICJyOCIKKworR1NUUkVBTUVSX0RFQlVHID89ICItLWRpc2FibGUtZGVidWciCisKK0ZGTVBFR19FWFRSQV9DT05GSUdVUkUgPSAiLS13aXRoLWZmbXBlZy1leHRyYS1jb25maWd1cmUiCisjIHBhc3MgLS1jcHUgZm9yIHBvd2VycGMuIGdldCBjcHUgbmFtZSBieSBzdHJpcHBpbmcgInBwYyIgb3IgInBwYzY0IgorIyBmcm9tIERFRkFVTFRUVU5FCitGRk1QRUdfQ1BVX3Bvd2VycGMgPSAiLS1jcHU9JHtAZC5nZXRWYXIoJ0RFRkFVTFRUVU5FJywgRmFsc2UpWzM6XX0iCitGRk1QRUdfQ1BVX3Bvd2VycGM2NCA9ICItLWNwdT0ke0BkLmdldFZhcignREVGQVVMVFRVTkUnLCBGYWxzZSlbNTpdfSIKK0ZGTVBFR19FWFRSQV9DT05GSUdVUkVfQ09NTU9OX0FSRyA9ICItLXRhcmdldC1vcz1saW51eCAke0ZGTVBFR19DUFV9IFwKKyAgLS1jYz0nJHtDQ30nIC0tYXM9JyR7Q0N9JyAtLWxkPScke0NDfScgLS1ubT0nJHtOTX0nIC0tYXI9JyR7QVJ9JyBcCisgIC0tcmFubGliPScke1JBTkxJQn0nIFwKKyAgJHtHU1RSRUFNRVJfREVCVUd9IgorRkZNUEVHX0VYVFJBX0NPTkZJR1VSRV9DT01NT04gPSBcCisnJHtGRk1QRUdfRVhUUkFfQ09ORklHVVJFfT0iJHtGRk1QRUdfRVhUUkFfQ09ORklHVVJFX0NPTU1PTl9BUkd9IicKKworRVhUUkFfT0VDT05GID0gIiR7RkZNUEVHX0VYVFJBX0NPTkZJR1VSRV9DT01NT059IgorCitQQUNLQUdFQ09ORklHID8/PSAiZXh0ZXJuYWwtbGliYXYiCitQQUNLQUdFQ09ORklHW2V4dGVybmFsLWxpYmF2XSA9ICItLXdpdGgtc3lzdGVtLWZmbXBlZywsbGliYXYiCitQQUNLQUdFQ09ORklHW29yY10gPSAiLS1lbmFibGUtb3JjLC0tZGlzYWJsZS1vcmMsb3JjIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvKi5hIgorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy80MDczNi8KK1BOQkxBQ0tMSVNUW2dzdC1mZm1wZWddID89ICJOb3QgY29tcGF0aWJsZSB3aXRoIGN1cnJlbnRseSB1c2VkIGZmbXBlZyAzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wM18wLjEwLjMxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wM18wLjEwLjMxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlMmNkMmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZsdWVuZG8tbXAzXzAuMTAuMzEuYmIKQEAgLTAsMCArMSwxNCBAQAorcmVxdWlyZSBnc3QtZmx1ZW5kby5pbmMKKworU1VNTUFSWSA9ICJGbHVlbmRvIGNsb3NlZC1mb3JtYXQgbXAzIEdTdHJlYW1lciBwbHVnLWluIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNTlhNDNkZDFjOTg1NGI3MWZjMzk2Zjc0Njk5ZjRkMiIKK0xJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKKworR1NUUkVBTUVSX0RFQlVHID89ICItLWRpc2FibGUtZGVidWciCitFWFRSQV9PRUNPTkYgKz0gIiR7R1NUUkVBTUVSX0RFQlVHfSAtLXdpdGgtZ3N0cmVhbWVyLWFwaT0wLjEwIgorCithY3BhdGhzID0gIi1JICR7U30vY29tbW9uL200IC1JICR7U30vbTQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZGYwMzkwZjM0MTZiYjcyZjkxYzM1ODUyOGJlMGMzOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYWUwZDA1NTlhNGUxNTljMGRkOTJiN2UxOGRlMDU5YTU3ODNmOGQwMzg5MDRjN2RlNGNhNjM5M2Y3ZDU1YzdkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wZWdkZW11eF8wLjEwLjg1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wZWdkZW11eF8wLjEwLjg1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiYmE0MWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZsdWVuZG8tbXBlZ2RlbXV4XzAuMTAuODUuYmIKQEAgLTAsMCArMSwxMiBAQAorcmVxdWlyZSBnc3QtZmx1ZW5kby5pbmMKKworU1VNTUFSWSA9ICJGbHVlbmRvIE1QRUcgVHJhbnNwb3J0IFN0cmVhbSBhbmQgUHJvZ3JhbSBTdHJlYW0gZGVtdXhlciBmb3IgR1N0cmVhbWVyIgorTElDRU5TRSA9ICJNUEx2MS4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmUyODJmMWMzY2M5YTk4Y2MwZGM1YzJiMjVkZmM1MTAgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2dzdG1wZWdkZW11eC5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MTk7bWQ1PWE5ZTkwMDMzZjU5ODk3YjkxNjY0ZDlmMmEyZmYwMWRkIgorTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgorCithY3BhdGhzID0gIi1JICR7U30vY29tbW9uL200IC1JICR7U30vbTQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3YzRmYjk5M2Y4MGI5YWU2MzFiMTE4OTc3MzNmMDk3MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkZjA0YzkxY2M4ZTVkOWE4OTJjMjQ5MmVkOTg5OTc0YjQ1NDdiZWFhMmEzNjQ3NjQ5ZTg1MTEzMzE3ODk3NDI0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmx1ZW5kby5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E3N2Q2MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmx1ZW5kby5pbmMKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJGbHVlbmRvIGNsb3NlZC1mb3JtYXQgR1N0cmVhbWVyIHBsdWctaW4iCitTRUNUSU9OID0gIm11bHRpbWVkaWEiCitIT01FUEFHRSA9ICJodHRwczovL2NvcmUuZmx1ZW5kby5jb20vZ3N0cmVhbWVyL3RyYWMvd2lraSIKK0RFUEVORFMgPSAiZ3N0cmVhbWVyIGdzdC1wbHVnaW5zLWJhc2UgemxpYiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiaHR0cDovL2NvcmUuZmx1ZW5kby5jb20vZ3N0cmVhbWVyL3NyYy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyoubGEgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouYSIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS12YWxncmluZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtbWV0YS1iYXNlXzAuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW1ldGEtYmFzZV8wLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzOWFiZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW1ldGEtYmFzZV8wLjEwLmJiCkBAIC0wLDAgKzEsNzMgQEAKK1NVTU1BUlkgPSAiR1N0cmVhbWVyIHBhY2thZ2UgZ3JvdXBzIgorTElDRU5TRSA9ICJNSVQiCisKK0NPTU1FUkNJQUxfUExVR0lOUyA9ICIke0NPTU1FUkNJQUxfQVVESU9fUExVR0lOU30gJHtDT01NRVJDSUFMX1ZJREVPX1BMVUdJTlN9IgorREVQRU5EU19VR0xZPSIke0AnZ3N0LXBsdWdpbnMtdWdseScgaWYgJ3VnbHknIGluIENPTU1FUkNJQUxfUExVR0lOUy5zcGxpdCgnLScpIGVsc2UgJyd9IgorREVQRU5EU19CQUQ9IiR7QCdnc3QtcGx1Z2lucy1iYWQnIGlmICdiYWQnIGluIENPTU1FUkNJQUxfUExVR0lOUy5zcGxpdCgnLScpIGVsc2UgJyd9IgorREVQRU5EUyA9ICJnc3RyZWFtZXIgZ3N0LXBsdWdpbnMtYmFzZSBnc3QtcGx1Z2lucy1nb29kICR7REVQRU5EU19VR0xZfSAke0RFUEVORFNfQkFEfSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCisKKworUFIgPSAicjEzIgorCitQQUNLQUdFUyA9ICJcCisgICAgZ3N0LW1ldGEtYmFzZSBcCisgICAgZ3N0LW1ldGEteDExLWJhc2UgXAorICAgIGdzdC1tZXRhLWF1ZGlvIFwKKyAgICBnc3QtbWV0YS1kZWJ1ZyBcCisgICAgZ3N0LW1ldGEtdmlkZW8iCisKK0FMTE9XX0VNUFRZX2dzdC1tZXRhLWJhc2UgPSAiMSIKK0FMTE9XX0VNUFRZX2dzdC1tZXRhLXgxMS1iYXNlID0gIjEiCitBTExPV19FTVBUWV9nc3QtbWV0YS1hdWRpbyA9ICIxIgorQUxMT1dfRU1QVFlfZ3N0LW1ldGEtZGVidWcgPSAiMSIKK0FMTE9XX0VNUFRZX2dzdC1tZXRhLXZpZGVvID0gIjEiCisKK1JERVBFTkRTX2dzdC1tZXRhLWJhc2UgPSAiXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ2dzdC1tZXRhLXgxMS1iYXNlJywgJycsIGQpfSBcCisgICAgZ3N0cmVhbWVyIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLXBsYXliaW4gXAorICAgIGdzdC1wbHVnaW5zLWJhc2UtZGVjb2RlYmluIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLWRlY29kZWJpbjIgXAorICAgIGdzdC1wbHVnaW5zLWJhc2UtZ2lvIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLWFsc2EgXAorICAgIGdzdC1wbHVnaW5zLWJhc2Utdm9sdW1lIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLWF1ZGlvY29udmVydCBcCisgICAgZ3N0LXBsdWdpbnMtYmFzZS1hdWRpb3Jlc2FtcGxlIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLXR5cGVmaW5kZnVuY3Rpb25zIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLXZpZGVvc2NhbGUgXAorICAgIGdzdC1wbHVnaW5zLWJhc2UtZmZtcGVnY29sb3JzcGFjZSBcCisgICAgZ3N0LXBsdWdpbnMtZ29vZC1hdXRvZGV0ZWN0IFwKKyAgICBnc3QtcGx1Z2lucy1nb29kLXNvdXBodHRwc3JjIgorCitSUkVDT01NRU5EU19nc3QtbWV0YS14MTEtYmFzZSA9ICJcCisgICAgZ3N0LXBsdWdpbnMtYmFzZS14aW1hZ2VzaW5rIFwKKyAgICBnc3QtcGx1Z2lucy1iYXNlLXh2aW1hZ2VzaW5rIgorCitSREVQRU5EU19nc3QtbWV0YS1hdWRpbyA9ICJcCisgICAgZ3N0LW1ldGEtYmFzZSBcCisgICAgZ3N0LXBsdWdpbnMtYmFzZS12b3JiaXMgXAorICAgIGdzdC1wbHVnaW5zLWJhc2Utb2dnIFwKKyAgICBnc3QtcGx1Z2lucy1nb29kLXdhdnBhcnNlIFwKKyAgICBnc3QtcGx1Z2lucy1nb29kLWZsYWMgXAorICAgICR7Q09NTUVSQ0lBTF9BVURJT19QTFVHSU5TfSIKKworCitSREVQRU5EU19nc3QtbWV0YS1kZWJ1ZyA9ICJcCisgICAgZ3N0LW1ldGEtYmFzZSBcCisgICAgZ3N0LXBsdWdpbnMtZ29vZC1kZWJ1ZyBcCisgICAgZ3N0LXBsdWdpbnMtYmFzZS1hdWRpb3Rlc3RzcmMgXAorICAgIGdzdC1wbHVnaW5zLWJhc2UtdmlkZW90ZXN0c3JjIgorCisKK1JERVBFTkRTX2dzdC1tZXRhLXZpZGVvID0gIlwKKyAgICBnc3QtbWV0YS1iYXNlIFwKKyAgICBnc3QtcGx1Z2lucy1nb29kLWF2aSBcCisgICAgZ3N0LXBsdWdpbnMtZ29vZC1tYXRyb3NrYSBcCisgICAgZ3N0LXBsdWdpbnMtYmFzZS10aGVvcmEgXAorICAgICR7Q09NTUVSQ0lBTF9WSURFT19QTFVHSU5TfSIKKworUlJFQ09NTUVORFNfZ3N0LW1ldGEtdmlkZW8gPSAiXAorICAgIGdzdC1tZXRhLWF1ZGlvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L2djY180LjYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXgvZ2NjXzQuNi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2E2M2I1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L2djY180LjYucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFNhdWwgV29sZCA8c2d3QGxpbnV4LmludGVsLmNvbT4KKworSW5kZXg6IGdzdC1vcGVubWF4LTAuMTAuMS9vbXgvZ3N0b214LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnc3Qtb3Blbm1heC0wLjEwLjEub3JpZy9vbXgvZ3N0b214LmMJMjAxMC0wOS0zMCAxODowMDoyNC4wMDAwMDAwMDAgLTA3MDAKKysrKyBnc3Qtb3Blbm1heC0wLjEwLjEvb214L2dzdG9teC5jCTIwMTEtMDUtMTcgMjM6MDg6MDguNzk0NTM1ODcyIC0wNzAwCitAQCAtMjM4LDcgKzIzOCw4IEBACisgICAgIGNvbnN0IGdjaGFyICplbGVtZW50X25hbWUgPSBnc3Rfc3RydWN0dXJlX250aF9maWVsZF9uYW1lIChlbGVtZW50X3RhYmxlLCBpKTsKKyAgICAgR3N0U3RydWN0dXJlICplbGVtZW50ID0gZ2V0X2VsZW1lbnRfZW50cnkgKGVsZW1lbnRfbmFtZSk7CisgICAgIGNvbnN0IGdjaGFyICp0eXBlX25hbWUsICpwYXJlbnRfdHlwZV9uYW1lOworLSAgICBjb25zdCBnY2hhciAqY29tcG9uZW50X25hbWUsICpjb21wb25lbnRfcm9sZSwgKmxpYnJhcnlfbmFtZTsKKysgICAgY29uc3QgZ2NoYXIgKmNvbXBvbmVudF9uYW1lLCAqbGlicmFyeV9uYW1lOworKyAgICBjb25zdCBnY2hhciBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgKmNvbXBvbmVudF9yb2xlOworICAgICBHVHlwZSB0eXBlOworICAgICBnaW50IHJhbms7CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXgvcHRyLWFycmF5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L3B0ci1hcnJheS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTY1YmJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L3B0ci1hcnJheS5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitSZW5hbWUgc3RhdGljIGZ1bmN0aW9ucyB0aGF0IHVzZSBHTGliIG5hbWluZyBjb252ZW50aW9ucyBhcyBvbmUgb2YgdGhlbQorKGdfcHRyX2FycmF5X2luc2VydCkgaGFzIG5vdyBiZWVuIGFkZGVkIHRvIEdMaWIuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworZGlmZiAtLWdpdCBhL29teC9nc3RvbXhfdXRpbC5jIGIvb214L2dzdG9teF91dGlsLmMKK2luZGV4IDQyM2U0NDEuLjU3OWRiZjUgMTAwNjQ0CistLS0gYS9vbXgvZ3N0b214X3V0aWwuYworKysrIGIvb214L2dzdG9teF91dGlsLmMKK0BAIC04NSw3ICs4NSw3IEBAIHN0YXRpYyBnYm9vbGVhbiBpbml0aWFsaXplZDsKKyAgKi8KKyAKKyBzdGF0aWMgdm9pZAorLWdfcHRyX2FycmF5X2NsZWFyIChHUHRyQXJyYXkgKiBhcnJheSkKKytvbXhfZ19wdHJfYXJyYXlfY2xlYXIgKEdQdHJBcnJheSAqIGFycmF5KQorIHsKKyAgIGd1aW50IGluZGV4OworICAgZm9yIChpbmRleCA9IDA7IGluZGV4IDwgYXJyYXktPmxlbjsgaW5kZXgrKykKK0BAIC05Myw3ICs5Myw3IEBAIGdfcHRyX2FycmF5X2NsZWFyIChHUHRyQXJyYXkgKiBhcnJheSkKKyB9CisgCisgc3RhdGljIHZvaWQKKy1nX3B0cl9hcnJheV9pbnNlcnQgKEdQdHJBcnJheSAqIGFycmF5LCBndWludCBpbmRleCwgZ3BvaW50ZXIgZGF0YSkKKytvbXhfZ19wdHJfYXJyYXlfaW5zZXJ0IChHUHRyQXJyYXkgKiBhcnJheSwgZ3VpbnQgaW5kZXgsIGdwb2ludGVyIGRhdGEpCisgeworICAgaWYgKGluZGV4ICsgMSA+IGFycmF5LT5sZW4pIHsKKyAgICAgZ19wdHJfYXJyYXlfc2V0X3NpemUgKGFycmF5LCBpbmRleCArIDEpOworQEAgLTM5NCw3ICszOTQsNyBAQCBnX29teF9jb3JlX3VubG9hZCAoR09teENvcmUgKiBjb3JlKQorICAgfQorIAorICAgY29yZV9mb3JfZWFjaF9wb3J0IChjb3JlLCBnX29teF9wb3J0X2ZyZWUpOworLSAgZ19wdHJfYXJyYXlfY2xlYXIgKGNvcmUtPnBvcnRzKTsKKysgIG9teF9nX3B0cl9hcnJheV9jbGVhciAoY29yZS0+cG9ydHMpOworIH0KKyAKKyBzdGF0aWMgaW5saW5lIEdPbXhQb3J0ICoKK0BAIC00MTgsNyArNDE4LDcgQEAgZ19vbXhfY29yZV9uZXdfcG9ydCAoR09teENvcmUgKiBjb3JlLCBndWludCBpbmRleCkKKyAgIH0KKyAKKyAgIHBvcnQgPSBnX29teF9wb3J0X25ldyAoY29yZSwgaW5kZXgpOworLSAgZ19wdHJfYXJyYXlfaW5zZXJ0IChjb3JlLT5wb3J0cywgaW5kZXgsIHBvcnQpOworKyAgb214X2dfcHRyX2FycmF5X2luc2VydCAoY29yZS0+cG9ydHMsIGluZGV4LCBwb3J0KTsKKyAKKyAgIHJldHVybiBwb3J0OworIH0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3Qtb3Blbm1heF8wLjEwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXhfMC4xMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlMDE1NzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXhfMC4xMC4xLmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiR1N0cmVhbWVyIHBsdWctaW4gZm9yIGNvbW11bmljYXRpb24gd2l0aCBPcGVuTUFYIElMIGNvbXBvbmVudHMiCitERVNDUklQVElPTiA9ICJHc3RPcGVuTUFYIGlzIGEgR1N0cmVhbWVyIHBsdWctaW4gdGhhdCBhbGxvd3MgXAorY29tbXVuaWNhdGlvbiB3aXRoIE9wZW5NQVggSW50ZWdyYXRpb24gTGF5ZXIgKElMKSBjb21wb25lbnRzLiBPcGVuTUFYIFwKK0lMIGlzIGFuIGluZHVzdHJ5IHN0YW5kYXJkIHRoYXQgcHJvdmlkZXMgYW4gYWJzdHJhY3Rpb24gbGF5ZXIgZm9yIFwKK2NvbXB1dGVyIGdyYXBoaWNzLCB2aWRlbywgYW5kIHNvdW5kIHJvdXRpbmVzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9mcmVlZGVza3RvcC5vcmcvd2lraS9Hc3RPcGVuTUFYIgorREVQRU5EUyA9ICJnc3RyZWFtZXIiCitSREVQRU5EU18ke1BOfSA9ICJsaWJvbXhpbCIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly91dGlsL3NlbS5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MjA7bWQ1PWFjY2NlNTU1MGQ1NTgzYjgzOWI0NDFhMDYyM2YwOWZjIgorCitTUkNfVVJJID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3Qtb3Blbm1heC9nc3Qtb3Blbm1heC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2djY180LjYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcHRyLWFycmF5LnBhdGNoIFwKKyAgICAgICAgICAgIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworIyBUZWxsIGNvbmZpZ3VyZSB0aGF0IHRoaXMgaXNuJ3QgYSBkZXZlbG9wbWVudCBzbmFwc2hvdCBzbyB3ZSBkb24ndCB3YW50CisjIC1XZXJyb3IgKGhvcGVmdWxseSBmaXhlZCBpbiAwLjEwLjIpCitleHBvcnQgR1NUX0NWUz0ibm8iCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXZhbGdyaW5kIgorCitQUiA9ICJyNCIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC9saWJnc3RvbXguc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC9saWJnc3RvbXgubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC9saWJnc3RvbXguYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLy5kZWJ1Zy8iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZDAzNzBiZmU5OWRlYTIwOTE4Yzg0MzQ3YWJhZGI0ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MDc0ZDVhMDU5MTk5NTEzM2QxOWNmYjE1MTQ0ZjE5NjY0ZjkwMmMxNjIzZjk5NjU5NTY5NWNmMmMyMDcwZTFmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhZC9idWZmZXItb3ZlcmZsb3ctbXA0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhZC9idWZmZXItb3ZlcmZsb3ctbXA0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNWFjZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFkL2J1ZmZlci1vdmVyZmxvdy1tcDQucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRGVzY3JpcHRpb246IEZpeCBidWZmZXIgb3ZlcmZsb3cgaW4gbXA0IHBhcnNpbmcKK0F1dGhvcjogUmFscGggR2lsZXMgPGdpbGVzQG1vemlsbGEuY29tPgorLS0tCitCYWNrcG9ydCBwYXRjaCBmcm9tIGRlYmlhbiB0byBmaXggQ1ZFLTIwMTUtMDc5Ny4KK2h0dHBzOi8vc291cmNlcy5kZWJpYW4ubmV0L2RhdGEvbWFpbi9nL2dzdC1wbHVnaW5zLWJhZDAuMTAvMC4xMC4yMy03LjErZGViN3UyL2RlYmlhbi9wYXRjaGVzL2J1ZmZlci1vdmVyZmxvdy1tcDQucGF0Y2gKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorLS0tIGdzdC1wbHVnaW5zLWJhZDAuMTAtMC4xMC4yMy5vcmlnL2dzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKKysrKyBnc3QtcGx1Z2lucy1iYWQwLjEwLTAuMTAuMjMvZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYworQEAgLTM4NCw2ICszODQsMTEgQEAgZ3N0X2gyNjRfcGFyc2Vfd3JhcF9uYWwgKEdzdEgyNjRQYXJzZSAqCisgCisgICBHU1RfREVCVUdfT0JKRUNUIChoMjY0cGFyc2UsICJuYWwgbGVuZ3RoICVkIiwgc2l6ZSk7CisgCisrICBpZiAoc2l6ZSA+IEdfTUFYVUlOVDMyIC0gbmwpIHsKKysgICAgR1NUX0VMRU1FTlRfRVJST1IgKGgyNjRwYXJzZSwgU1RSRUFNLCBGQUlMRUQsIChOVUxMKSwKKysgICAgICAgICgib3ZlcmZsb3cgaW4gbmFsIHNpemUiKSk7CisrICAgIHJldHVybiBOVUxMOworKyAgfQorICAgYnVmID0gZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jIChzaXplICsgbmwgKyA0KTsKKyAgIGlmIChmb3JtYXQgPT0gR1NUX0gyNjRfUEFSU0VfRk9STUFUX0FWQykgeworICAgICBHU1RfV1JJVEVfVUlOVDMyX0JFIChHU1RfQlVGRkVSX0RBVEEgKGJ1ZiksIHNpemUgPDwgKDMyIC0gOCAqIG5sKSk7CitAQCAtNDUyLDYgKzQ1NywxMSBAQCBnc3RfaDI2NF9wYXJzZV9wcm9jZXNzX25hbCAoR3N0SDI2NFBhcnNlCisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKGgyNjRwYXJzZSwgIm5vdCBwcm9jZXNzaW5nIG5hbCBzaXplICV1IiwgbmFsdS0+c2l6ZSk7CisgICAgIHJldHVybjsKKyAgIH0KKysgIGlmIChHX1VOTElLRUxZIChuYWx1LT5zaXplID4gMjAgKiAxMDI0ICogMTAyNCkpIHsKKysgICAgR1NUX0RFQlVHX09CSkVDVCAoaDI2NHBhcnNlLCAibm90IHByb2Nlc3NpbmcgbmFsIHNpemUgJXUgKHRvbyBiaWcpIiwKKysgICAgICAgIG5hbHUtPnNpemUpOworKyAgICByZXR1cm47CisrICB9CisgCisgICAvKiB3ZSBoYXZlIGEgcGVlayBhcyB3ZWxsICovCisgICBuYWxfdHlwZSA9IG5hbHUtPnR5cGU7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFkXzAuMTAuMjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFkXzAuMTAuMjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFhZDBiNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYWRfMC4xMC4yMy5iYgpAQCAtMCwwICsxLDYwIEBACityZXF1aXJlIGdzdC1wbHVnaW5zLmluYworCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2MisgJiBMR1BMdjIuMSsgIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0L3R0YS9maWx0ZXJzLmg7YmVnaW5saW5lPTEyO2VuZGxpbmU9Mjk7bWQ1PTYyOWIwYzdhNjY1ZDE1NWE2Njc3Nzc4ZjQ0NjBlYzA2IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nc3QvdHRhL2NyYzMyLmg7YmVnaW5saW5lPTEyO2VuZGxpbmU9Mjk7bWQ1PTcxYTkwNGQ5OWNlN2FlMGMxY2YxMjk4OTFiOTgxNDVjIgorCitERVBFTkRTICs9ICJnc3QtcGx1Z2lucy1iYXNlIgorCitQUiA9ICJyNCIKKworU1JDX1VSSSArPSAiZmlsZTovL2J1ZmZlci1vdmVyZmxvdy1tcDQucGF0Y2giCisKK2luaGVyaXQgZ2V0dGV4dCBnc2V0dGluZ3MKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZXhwZXJpbWVudGFsIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXNkbCAtLWRpc2FibGUtY2RhdWRpbyAtLWRpc2FibGUtZGlyZWN0ZmIgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtdmRwYXUgLS1kaXNhYmxlLWFwZXhzaW5rIgorCitQQUNLQUdFQ09ORklHID8/PSAiYnppcCBjdXJsIFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICdyc3ZnJywgJycsIGQpfSIKKworUEFDS0FHRUNPTkZJR1tiemlwXSA9ICItLWVuYWJsZS1iejIsLS1kaXNhYmxlLWJ6MixiemlwMiIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS1lbmFibGUtY3VybCwtLWRpc2FibGUtY3VybCxjdXJsIgorUEFDS0FHRUNPTkZJR1tyc3ZnXSA9ICItLWVuYWJsZS1yc3ZnLC0tZGlzYWJsZS1yc3ZnLGxpYnJzdmcsIgorUEFDS0FHRUNPTkZJR1tvcmNdID0gIi0tZW5hYmxlLW9yYywtLWRpc2FibGUtb3JjLG9yYyIKK1BBQ0tBR0VDT05GSUdbbmVvbl0gPSAiLS1lbmFibGUtbmVvbiwtLWRpc2FibGUtbmVvbixuZW9uIgorUEFDS0FHRUNPTkZJR1ttbXNdID0gIi0tZW5hYmxlLWxpYm1tcywtLWRpc2FibGUtbGlibW1zLGxpYm1tcyIKK1BBQ0tBR0VDT05GSUdbY29nXSA9ICItLWVuYWJsZS1jb2csLS1kaXNhYmxlLWNvZyxsaWJwbmciCitQQUNLQUdFQ09ORklHW2ZhYWRdID0gIi0tZW5hYmxlLWZhYWQsLS1kaXNhYmxlLWZhYWQsZmFhZDIiCitQQUNLQUdFQ09ORklHW2pwMmtdID0gIi0tZW5hYmxlLWpwMmssLS1kaXNhYmxlLWpwMmssamFzcGVyIgorUEFDS0FHRUNPTkZJR1ttb2RwbHVnXSA9ICItLWVuYWJsZS1tb2RwbHVnLC0tZGlzYWJsZS1tb2RwbHVnLGxpYm1vZHBsdWciCitQQUNLQUdFQ09ORklHW29wdXNdID0gIi0tZW5hYmxlLW9wdXMsLS1kaXNhYmxlLW9wdXMsbGlib3B1cyIKK1BBQ0tBR0VDT05GSUdbc25kZmlsZV0gPSAiLS1lbmFibGUtc25kZmlsZSwtLWRpc2FibGUtc25kZmlsZSxsaWJzbmRmaWxlMSIKK1BBQ0tBR0VDT05GSUdbdnA4XSA9ICItLWVuYWJsZS12cDgsLS1kaXNhYmxlLXZwOCxsaWJ2cHgiCitQQUNLQUdFQ09ORklHW2Fzc10gPSAiLS1lbmFibGUtYXNzcmVuZGVyLC0tZGlzYWJsZS1hc3NyZW5kZXIsbGliYXNzIgorUEFDS0FHRUNPTkZJR1tvcGVuYWxdID0gIi0tZW5hYmxlLW9wZW5hbCwtLWRpc2FibGUtb3BlbmFsLG9wZW5hbC1zb2Z0IgorUEFDS0FHRUNPTkZJR1tzY2hyb10gPSAiLS1lbmFibGUtc2Nocm8sLS1kaXNhYmxlLXNjaHJvLHNjaHJvZWRpbmdlciIKK1BBQ0tBR0VDT05GSUdbZGMxMzk0XSA9ICItLWVuYWJsZS1kYzEzOTQsLS1kaXNhYmxlLWRjMTM5NCxsaWJkYzEzOTQiCitQQUNLQUdFQ09ORklHW2ZhYWNdID0gIi0tZW5hYmxlLWZhYWMsLS1kaXNhYmxlLWZhYWMsZmFhYyIKK1BBQ0tBR0VDT05GSUdbcnRtcF0gPSAiLS1lbmFibGUtcnRtcCwtLWRpc2FibGUtcnRtcCxydG1wZHVtcCIKK1BBQ0tBR0VDT05GSUdbdm9hbXJ3YmVuY10gPSAiLS1lbmFibGUtdm9hbXJ3YmVuYywtLWRpc2FibGUtdm9hbXJ3YmVuYyx2by1hbXJ3YmVuYyIKK1BBQ0tBR0VDT05GSUdbdm9hYWNlbmNdID0gIi0tZW5hYmxlLXZvYWFjZW5jLC0tZGlzYWJsZS12b2FhY2VuYyx2by1hYWNlbmMiCitQQUNLQUdFQ09ORklHW3Jlc2luZHZkXSA9ICItLWVuYWJsZS1yZXNpbmR2ZCwtLWRpc2FibGUtcmVzaW5kdmQsbGliZHZkbmF2IGxpYmR2ZHJlYWQiCisKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tcmVzaW5kdmQiCitGSUxFU18ke1BOfS1yZXNpbmR2ZCA9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLSR7TElCVn0vbGlicmVzaW5kdmQuc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItJHtMSUJWfS9saWJyZXNpbmR2ZC5sYSIKK0ZJTEVTXyR7UE59LXZvYW1yd2JlbmMgKz0gIiR7ZGF0YWRpcn0vZ3N0cmVhbWVyLSR7TElCVn0vcHJlc2V0cy9Hc3RWb0FtcndiRW5jLnBycyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisJIyBUaGlzIG00IGZpbGUgY29udGFpbnMgbmFzdGluZXNzIHdoaWNoIGNvbmZsaWN0cyB3aXRoIGxpYnRvb2wgMi4yLjIKKwlybSAke1N9L200L2xpYi1saW5rLm00IHx8IHRydWUKK30KKworU1JDX1VSSVttZDVzdW1dID0gImZjYjA5Nzk4MTE0NDYxOTU1MjYwZTRkOTQwZGI1OTg3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBlYWU3ZDFhMTM1N2FlODM3N2ZkZWQ2YTFiNDJlNjYzODg3YmVhYmUwZTZjYzMzNmUyZWY5YWRhNDJlMTE0OTEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2L2F1ZGlvcmVzYW1wbGUtRml4LWJ1aWxkLW9uLXg4Ni1pZi1lbW1pbnRyaW4uaC1pcy1hdmEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2L2F1ZGlvcmVzYW1wbGUtRml4LWJ1aWxkLW9uLXg4Ni1pZi1lbW1pbnRyaW4uaC1pcy1hdmEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTIxNDI1NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvYXVkaW9yZXNhbXBsZS1GaXgtYnVpbGQtb24teDg2LWlmLWVtbWludHJpbi5oLWlzLWF2YS5wYXRjaApAQCAtMCwwICsxLDM3IEBACithdWRpb3Jlc2FtcGxlOiBGaXggYnVpbGQgb24geDg2IGlmIGVtbWludHJpbi5oIGlzIGF2YWlsYWJsZSBidXQgY2FuJ3QgYmUgdXNlZAorCitPbiB4ODYsIEVNTUlOVFJJTiBpcyBkZWZpbmVkIGJ1dCBub3QgdXNhYmxlIHdpdGhvdXQgU1NFIHNvIGNoZWNrIGZvcgorX19TU0VfXyBhbmQgX19TU0UyX18gYXMgd2VsbC4KKworaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDY5MAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jIHwgICAgNCArKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jIGIvZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYworaW5kZXggOThkMDA2Yy4uNDgxZmEwMSAxMDA2NDQKKy0tLSBhL2dzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmMKKysrKyBiL2dzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmMKK0BAIC03NywxMyArNzcsMTMgQEAKKyAjZGVmaW5lIEVYUE9SVCBHX0dOVUNfSU5URVJOQUwKKyAKKyAjaWZkZWYgX1VTRV9TU0UKKy0jaWZuZGVmIEhBVkVfWE1NSU5UUklOX0gKKysjaWYgIWRlZmluZWQoX19TU0VfXykgfHwgIWRlZmluZWQoSEFWRV9YTU1JTlRSSU5fSCkKKyAjdW5kZWYgX1VTRV9TU0UKKyAjZW5kaWYKKyAjZW5kaWYKKyAKKyAjaWZkZWYgX1VTRV9TU0UyCistI2lmbmRlZiBIQVZFX0VNTUlOVFJJTl9ICisrI2lmICFkZWZpbmVkKF9fU1NFMl9fKSB8fCAhZGVmaW5lZChIQVZFX0VNTUlOVFJJTl9IKQorICN1bmRlZiBfVVNFX1NTRTIKKyAjZW5kaWYKKyAjZW5kaWYKKy0tIAorMS43LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi9jb25maWd1cmUuYWMtZml4LXN1YnBhcnNlLXBsdWdpbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvY29uZmlndXJlLmFjLWZpeC1zdWJwYXJzZS1wbHVnaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg2MDJjOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvY29uZmlndXJlLmFjLWZpeC1zdWJwYXJzZS1wbHVnaW4ucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW3NpbWlsYXIgcGF0Y2ggYnkgb3RoZXIgYXV0aG9yLCBidWd6aWxsYV0KK0J1Z3RyYWNrZXItVVJMOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNjAwCisKK1ByZXBlbmQgUEtHX0NPTkZJR19TWVNST09UIHRvIGluY2x1ZGVkaXIsIHNvIGNvbmZpZ3VyZSBkb2Vzbid0CitzZWFyY2ggZm9yIGdzdGNvbmZpZy5oIGluIC91c3IvaW5jbHVkZS4KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBPYmVycml0dGVyIDxvYmlAb3BlbmRyZWFtYm94Lm9yZz4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgIDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggMTkwMWJjZi4uNDYwZmIwYSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNDM1LDcgKzQzNSw3IEBAIEFHX0dTVF9DSEVDS19QTFVHSU4odm9sdW1lKQorIGRubCBjaGVjayBmb3IgZ3N0cmVhbWVyIGNvcmUgZmVhdHVyZXMgKHN1YnN5c3RlbXMpCisgZG5sIEZJWE1FOiB0aGlzIGFzc3VtZXMgc3JjZGlyID09IGJ1aWxkZGlyIGZvciB1bmluc3RhbGxlZCBzZXR1cHMKKyBHU1RfQ09ORklHUEFUSD1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1pbmNsdWRlZGlyIGdzdHJlYW1lci0wLjEwYCIvZ3N0L2dzdGNvbmZpZy5oIgorLUFHX0dTVF9QQVJTRV9TVUJTWVNURU1fRElTQUJMRVMoJEdTVF9DT05GSUdQQVRIKQorK0FHX0dTVF9QQVJTRV9TVUJTWVNURU1fRElTQUJMRVMoJFBLR19DT05GSUdfU1lTUk9PVF9ESVIkR1NUX0NPTkZJR1BBVEgpCisgQU1fQ09ORElUSU9OQUwoVVNFX1hNTCwgdGVzdCAkR1NUX0RJU0FCTEVfWE1MICE9ICIxIikKKyAKKyBkbmwgZGlzYWJsZSBwbHVnLWlucyB0aGF0IHJlcXVpcmUgbGlieG1sMidzIEhUTUwgc3VwcG9ydCBpZiBpdCBpcyBub3QgYXZhaWxhYmxlCistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi9nc3QtcGx1Z2lucy1iYXNlLXRyZW1vci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvZ3N0LXBsdWdpbnMtYmFzZS10cmVtb3IucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTlkYmM5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvZ3N0LXBsdWdpbnMtYmFzZS10cmVtb3IucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorUmVtb3ZlIC1EVFJFTU9SIG9wdGlvbiBzaW5jZSBUcmVtb3IgaGFzIGRyb3BwZWQgaXRzIGludGVybmFsCitsaWJvZ2cyLCBhbmQgZ3N0LXBsdWdpbnMtYmFzZSBoYXMgZGVwZW5kZW5jeSBvbiB0aGF0LgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBTaGFuZSBXYW5nIDxzaGFuZS53YW5nQGludGVsLmNvbT4KKworZGlmZiAtciA3MDA2NWZiNGUwODUgZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbQorLS0tIGEvZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbQlUdWUgTWFyIDEzIDE2OjM2OjU2IDIwMTIgKzA4MDAKKysrKyBiL2V4dC92b3JiaXMvTWFrZWZpbGUuYW0JVHVlIE1hciAxMyAxNjozODo1MyAyMDEyICswODAwCitAQCAtMzAsNyArMzAsNyBAQAorIAlnc3R2b3JiaXNkZWMuYyBnc3R2b3JiaXNkZWNsaWIuYyBnc3R2b3JiaXNjb21tb24uYworIGxpYmdzdGl2b3JiaXNkZWNfbGFfQ0ZMQUdTID0gXAorIAkkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSAkKEdTVF9DRkxBR1MpIFwKKy0JLURUUkVNT1IgJChJVk9SQklTX0NGTEFHUykKKysJJChJVk9SQklTX0NGTEFHUykKKyBsaWJnc3Rpdm9yYmlzZGVjX2xhX0xJQkFERCA9IFwKKyAJJCh0b3BfYnVpbGRkaXIpL2dzdC1saWJzL2dzdC90YWcvbGliZ3N0dGFnLUBHU1RfTUFKT1JNSU5PUkAubGEgXAorIAkkKHRvcF9idWlsZGRpcikvZ3N0LWxpYnMvZ3N0L2F1ZGlvL2xpYmdzdGF1ZGlvLUBHU1RfTUFKT1JNSU5PUkAubGEgXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2VfMC4xMC4zNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlXzAuMTAuMzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzg2ODM0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlXzAuMTAuMzYuYmIKQEAgLTAsMCArMSw0MyBAQAorcmVxdWlyZSBnc3QtcGx1Z2lucy5pbmMKKworTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vY29tbW9uL2NvdmVyYWdlL2NvdmVyYWdlLXJlcG9ydC5wbDtiZWdpbmxpbmU9MjtlbmRsaW5lPTE3O21kNT02MjI5MjFmZmFkOGNiMThhYjkwNmM1NjA1Mjc4OGEzZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvdXRpbHMuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIwO21kNT05YzgzYTIwMGI4ZTU5N2IyNmNhMjlkZjIwZmM2ZWNkMCIKKworREVQRU5EUyArPSAiYWxzYS1saWIgbGlib2dnIGxpYnZvcmJpcyBsaWJ0aGVvcmEgdXRpbC1saW51eCB0cmVtb3IgZ2xpYi0yLjAtbmF0aXZlIgorCitTUkNfVVJJICs9ICJmaWxlOi8vZ3N0LXBsdWdpbnMtYmFzZS10cmVtb3IucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5hYy1maXgtc3VicGFyc2UtcGx1Z2luLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9hdWRpb3Jlc2FtcGxlLUZpeC1idWlsZC1vbi14ODYtaWYtZW1taW50cmluLmgtaXMtYXZhLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjc3NmM3Mzg4M2U1NjdmNjdiOWM0YTI4NDdkOGQwNDFhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJjZDNiMGZhOGU5YjU5NWRiOGY1MTRlZjdjMmJkYmNkNjM5YTBkNjNkMTU0YzAwZjhjOWI2MDkzMjFmNDk5NzYiCisKK1BSID0gInI4IgorCitpbmhlcml0IGdldHRleHQKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZnJlZXR5cGV0ZXN0IgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSIKKworUEFDS0FHRUNPTkZJR1tnbm9tZXZmc10gPSAiLS1lbmFibGUtZ25vbWVfdmZzLC0tZGlzYWJsZS1nbm9tZV92ZnMsZ25vbWUtdmZzIgorUEFDS0FHRUNPTkZJR1tvcmNdID0gIi0tZW5hYmxlLW9yYywtLWRpc2FibGUtb3JjLG9yYyIKK1BBQ0tBR0VDT05GSUdbcGFuZ29dID0gIi0tZW5hYmxlLXBhbmdvLC0tZGlzYWJsZS1wYW5nbyxwYW5nbyIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14IC0tZW5hYmxlLXh2aWRlbywtLWRpc2FibGUteCAtLWRpc2FibGUteHZpZGVvLHZpcnR1YWwvbGlieDExIGxpYnh2IGxpYnNtIGxpYmljZSIKK1BBQ0tBR0VDT05GSUdbY2RwYXJhbm9pYV0gPSAiLS1lbmFibGUtY2RwYXJhbm9pYSwtLWRpc2FibGUtY2RwYXJhbm9pYSxjZHBhcmFub2lhIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKwkjIFRoaXMgbTQgZmlsZSBjb250YWlucyBuYXN0aW5lc3Mgd2hpY2ggY29uZmxpY3RzIHdpdGggbGlidG9vbCAyLjIuMgorCXJtIC1mICR7U30vbTQvbGliLWxpbmsubTQKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vJHtCUE59IgorCitDQUNIRURfQ09ORklHVVJFVkFSU19hcHBlbmRfeDg2ID0gIiBhY19jdl9oZWFkZXJfZW1taW50cmluX2g9bm8gYWNfY3ZfaGVhZGVyX3htbWludHJpbl9oPW5vIgorCisjIC91c3IvYmluL2dzdC12aXN1YWxpc2UtMC4xMCBpcyBhIHBlcmwgc2NyaXB0LgorUkRFUEVORFNfJHtQTn0tYXBwcyArPSAicGVybCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nbC8wMDAxLWNvbmRpdGlvbmFsLWdsLWZyYW1lYnVmZmVyLXVuZGVmaW5lZC11c2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2wvMDAwMS1jb25kaXRpb25hbC1nbC1mcmFtZWJ1ZmZlci11bmRlZmluZWQtdXNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjMmY4OGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2wvMDAwMS1jb25kaXRpb25hbC1nbC1mcmFtZWJ1ZmZlci11bmRlZmluZWQtdXNlLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gMTRkNTFjYmVmZWYxOTczN2U3YWIyYjY4MThlZTFkM2JkYjI0OGQxMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEplcmVteSBTdGFzaGx1ayA8anN0YXNobHVrQGRla2FyZXNlYXJjaC5jb20+CitEYXRlOiBXZWQsIDYgRmViIDIwMTMgMDk6NTk6NDggLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZGl0aW9uYWwgZ2wgZnJhbWVidWZmZXIgdW5kZWZpbmVkIHVzZQorCitUaGUgT3BlbkdMIGV4dGVuc2lvbiBHTF9BUkJfZnJhbWVidWZmZXJfb2JqZWN0IGRlZmluZXMgdGhlIG1hY3JvCitHTF9GUkFNRUJVRkZFUl9VTkRFRklORUQuIFRoZSBtYWNybyB3aWxsIG9ubHkgbmVlZCB0byBtYXAgdG8gYW4gZXJyb3IKK3N0cmluZyBpZiB0aGUgZXh0ZW5zaW9uIHByb3ZpZGVzIGZ1bmN0aW9ucyB0aGF0IG1pZ2h0IHJldHVybiB0aGUgbWFjcm8uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKZXJlbXkgU3Rhc2hsdWsgPGpzdGFzaGx1a0BkZWthcmVzZWFyY2guY29tPgorLS0tCisgZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jIHwgICAgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2dzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYyBiL2dzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYworaW5kZXggM2VkMGI3MS4uNjRjNmMyYyAxMDA2NDQKKy0tLSBhL2dzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYworKysrIGIvZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jCitAQCAtMjE3Nyw5ICsyMTc3LDExIEBAIGdzdF9nbF9kaXNwbGF5X2NoZWNrX2ZyYW1lYnVmZmVyX3N0YXR1cyAodm9pZCkKKyAgICAgICBHU1RfRVJST1IgKCJHTF9GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlMiKTsKKyAgICAgICBicmVhazsKKyAKKysjaWYgZGVmaW5lZChHTF9BUkJfZnJhbWVidWZmZXJfb2JqZWN0KQorICAgICBjYXNlIEdMX0ZSQU1FQlVGRkVSX1VOREVGSU5FRDoKKyAgICAgICBHU1RfRVJST1IgKCJHTF9GUkFNRUJVRkZFUl9VTkRFRklORUQiKTsKKyAgICAgICBicmVhazsKKysjZW5kaWYKKyAKKyAgICAgZGVmYXVsdDoKKyAgICAgICBHU1RfRVJST1IgKCJHZW5lcmFsIEZCTyBlcnJvciIpOworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nbF8wLjEwLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2xfMC4xMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4NTlmMzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2xfMC4xMC4zLmJiCkBAIC0wLDAgKzEsMjUgQEAKK3JlcXVpcmUgZ3N0LXBsdWdpbnMuaW5jCisKK0xJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyAmIExHUEx2Mi4xKyAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSIKKworU1JDX1VSSVttZDVzdW1dID0gImFjNzBlZGUxM2Y3OTk3OGQ1NmVhZWQ4YWJhYTNjOTM4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ4MzQwYjZhNGI4YWJjZTE2MzQ0YTdiYzMzZTc0YTk0ZmRjY2U0ZjU3ZWY2MzQyY2RmMmY5NDFjNDI5YmYyMTAiCisKK1NSQ19VUkkgKz0gIiBmaWxlOi8vMDAwMS1jb25kaXRpb25hbC1nbC1mcmFtZWJ1ZmZlci11bmRlZmluZWQtdXNlLnBhdGNoIgorCitERVBFTkRTICs9ICJnc3QtcGx1Z2lucy1iYXNlIHZpcnR1YWwvbGliZ2xlczIgdmlydHVhbC9lZ2wganBlZyBsaWJwbmcgZ2xldyIKKworUFIgPSAicjQiCisKK2luaGVyaXQgZ2V0dGV4dAorCisjIFRoaXMgcGFja2FnZSBkb2Vzbid0IGhhdmUgYSBjb25maWd1cmUgc3dpdGNoIGZvciBFR0wgb3IgR0wsIHNvIGZvcmNpYmx5IHRlbGwKKyMgY29uZmlndXJlIHRoYXQgaXQgY2FuJ3QgZmluZCBnbC5oIHNvIGl0IGFsd2F5cyB1c2VzIEVHTC4gIElmL3doZW4gd2UgaGF2ZSBzb21lCisjIHdheSBmb3IgbWFjaGluZXMgdG8gc3BlY2lmeSB0aGVpciBwcmVmZXJyZWQgR0wgZmxhdm91ciB0aGlzIGNhbiBiZQorIyBhdXRvbWF0aWNhbGx5IGFkYXB0ZWQuCitFWFRSQV9PRUNPTkYgKz0gImFjX2N2X2hlYWRlcl9HTF9nbF9oPW5vIgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorQUxMT1dfRU1QVFlfJHtQTn0tYXBwcyA9ICIxIgorQUxMT1dfRU1QVFlfJHtQTn0tZ2xpYiA9ICIxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wMDAxLXY0bDItZml4LWJ1aWxkLXdpdGgtcmVjZW50LWtlcm5lbHMtdGhlLXY0bDJfYnVmZmVyLWkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzAwMDEtdjRsMi1maXgtYnVpbGQtd2l0aC1yZWNlbnQta2VybmVscy10aGUtdjRsMl9idWZmZXItaS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDU2ZDNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wMDAxLXY0bDItZml4LWJ1aWxkLXdpdGgtcmVjZW50LWtlcm5lbHMtdGhlLXY0bDJfYnVmZmVyLWkucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSAxMmQxOGZlNGU5OGU3YzIzMmQ1OWI1NmQ1MjlhMDUyMWYyOTNmZTZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogV2VkLCA1IFNlcCAyMDEyIDE4OjU0OjQyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHY0bDI6IGZpeCBidWlsZCB3aXRoIHJlY2VudCBrZXJuZWxzLCB0aGUgdjRsMl9idWZmZXIgaW5wdXQKKyBmaWVsZCB3YXMgcmVtb3ZlZAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1sxXSBodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWdvb2QvY29tbWl0Lz9pZD05ZjJhYThkNDdmODM1ZWExNTVhYWY2MzVmNjE4YzBmYzFjYTg3MDEyCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMgfCAgICAxIC0KKyAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3N5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMgYi9zeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jCitpbmRleCBiODFjNmE0Li41MWNjMGNlIDEwMDY0NAorLS0tIGEvc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYworKysrIGIvc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYworQEAgLTE4MSw3ICsxODEsNiBAQCBnc3RfdjRsMl9idWZmZXJfbmV3IChHc3RWNGwyQnVmZmVyUG9vbCAqIHBvb2wsIGd1aW50IGluZGV4LCBHc3RDYXBzICogY2FwcykKKyAgICAgR1NUX0xPR19PQkpFQ1QgKHBvb2wtPnY0bDJlbGVtLCAiICBNTUFQIG9mZnNldDogICV1IiwKKyAgICAgICAgIHJldC0+dmJ1ZmZlci5tLm9mZnNldCk7CisgICBHU1RfTE9HX09CSkVDVCAocG9vbC0+djRsMmVsZW0sICIgIGxlbmd0aDogICAgJXUiLCByZXQtPnZidWZmZXIubGVuZ3RoKTsKKy0gIEdTVF9MT0dfT0JKRUNUIChwb29sLT52NGwyZWxlbSwgIiAgaW5wdXQ6ICAgICAldSIsIHJldC0+dmJ1ZmZlci5pbnB1dCk7CisgCisgICBkYXRhID0gKGd1aW50OCAqKSB2NGwyX21tYXAgKDAsIHJldC0+dmJ1ZmZlci5sZW5ndGgsCisgICAgICAgUFJPVF9SRUFEIHwgUFJPVF9XUklURSwgTUFQX1NIQVJFRCwgcG9vbC0+dmlkZW9fZmQsCistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wMDAxLXY0bDJfY2FsbHMtZGVmaW5lLVY0TDJfQ0lEX0hDRU5URVItYW5kLVY0TDJfQ0lEX1ZDRU4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzAwMDEtdjRsMl9jYWxscy1kZWZpbmUtVjRMMl9DSURfSENFTlRFUi1hbmQtVjRMMl9DSURfVkNFTi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDBkZTU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wMDAxLXY0bDJfY2FsbHMtZGVmaW5lLVY0TDJfQ0lEX0hDRU5URVItYW5kLVY0TDJfQ0lEX1ZDRU4ucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRnJvbSBjY2IwMWRlODA5NmEzMmQ4NmQ0N2IwZDkyZWMzNDE2YzU3ZWU0ZDI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDIyIEF1ZyAyMDEzIDEyOjE1OjU0IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIHY0bDJfY2FsbHM6IGRlZmluZSBWNEwyX0NJRF9IQ0VOVEVSIGFuZCBWNEwyX0NJRF9WQ0VOVEVSCisKK2tlcm5lbCBjb21taXQgMjRiOWY1MDE3IFtbbWVkaWFdIFY0TDogUmVtb3ZlIGRlcHJlY2F0ZWQgaW1hZ2UgY2VudGVyaW5nIGNvbnRyb2xzXQorcmVtb3ZlZCB0aGUgZGVmaW5pdGlvbnMgb2YgVjRMMl9DSURfSENFTlRFUiBhbmQgVjRMMl9DSURfVkNFTlRFUiBhZnRlciB0aHJlZQoreWVhcnMgb2YgZGVwcmVjaWF0aW9uLgorCitUaGUgaW9jdGwgdmFsdWVzIGFyZSBzdGlsbCBmcmVlLCBhbmQgdGhlIGNhc2Ugc3RhdGVtZW50IHdoaWNoIHByb2Nlc3Nlc3MgdGhlbQoraW4gdjRsMiB1c2Vyc3BhY2UgZmFsbHMgdGhyb3VnaCB0byB0aGUgcHJvcGVyIHJlcGxhY2VtZW50LiBTbyBpbiB0aGUgc2hvcnQKK3Rlcm0sIHdlIGNhbiBleHBsaWNpdGx5IGRlZmluZSB0aGVtIHVzaW5nIHRoZSBvbGQgYWJzb2x1dGUgdmFsdWVzLCBhbmQgZXZlcnl0aGluZword2lsbCB3b3JrLgorCitTaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4KKy0tLQorIHN5cy92NGwyL3Y0bDJfY2FsbHMuYyB8ICAgIDkgKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3N5cy92NGwyL3Y0bDJfY2FsbHMuYyBiL3N5cy92NGwyL3Y0bDJfY2FsbHMuYworaW5kZXggMzA5YmZiNi4uM2M2NDU0NCAxMDA2NDQKKy0tLSBhL3N5cy92NGwyL3Y0bDJfY2FsbHMuYworKysrIGIvc3lzL3Y0bDIvdjRsMl9jYWxscy5jCitAQCAtNTQsMTEgKzU0LDE2IEBACisgI2luY2x1ZGUgImdzdC9nc3QtaTE4bi1wbHVnaW4uaCIKKyAKKyAvKiBUaG9zZSBhcmUgaW9jdGwgY2FsbHMgKi8KKysKKysvKiBWNEwyX0NJRF9IQ0VOVEVSIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgbWFpbmxpbmUga2VybmVsLCBidXQKKysgICB0aGUgaW9jdGwgc3BhY2UgaXMgc3RpbGwgcHJlc2VudC4gU2luY2UgdGhlc2UgdmFsdWVzIGZhbGwgdGhyb3VnaAorKyAgIHRvIHRoZWlyIHJlcGxhY2VtZW50LCBpdCBpcyBzYWZlIChpbiB0aGUgc2hvcnQgdGVybSkgdG8gcmUtdXNlIHRoZQorKyAgICBvbGQgdmFsdWVzIGV4cGxpY3RpbHkgKi8KKyAjaWZuZGVmIFY0TDJfQ0lEX0hDRU5URVIKKy0jZGVmaW5lIFY0TDJfQ0lEX0hDRU5URVIgVjRMMl9DSURfSENFTlRFUl9ERVBSRUNBVEVECisrI2RlZmluZSBWNEwyX0NJRF9IQ0VOVEVSIFY0TDJfQ0lEX0JBU0UrMjIKKyAjZW5kaWYKKyAjaWZuZGVmIFY0TDJfQ0lEX1ZDRU5URVIKKy0jZGVmaW5lIFY0TDJfQ0lEX1ZDRU5URVIgVjRMMl9DSURfVkNFTlRFUl9ERVBSRUNBVEVECisrI2RlZmluZSBWNEwyX0NJRF9WQ0VOVEVSIFY0TDJfQ0lEX0JBU0UrMjMKKyAjZW5kaWYKKyAKKyBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOICh2NGwyX2RlYnVnKTsKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wNDA3LW11bGF3ZGVjLWZpeC1pbnRlZ2VyLW92ZXJydW4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzA0MDctbXVsYXdkZWMtZml4LWludGVnZXItb3ZlcnJ1bi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGI4ZTk4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wNDA3LW11bGF3ZGVjLWZpeC1pbnRlZ2VyLW92ZXJydW4ucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSBjZTk0YjJjMmI5MWI2ZGIxOTBjMTIxODYwZTEyYTZhZmFmY2U3YWUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMiBOb3YgMjAxMiAxMjozODo0NCAtMDQwMAorU3ViamVjdDogW1BBVENIIDQwNy80NDBdIG11bGF3ZGVjOiBmaXggaW50ZWdlciBvdmVycnVuCisKK1RoZXJlIG1pZ2h0IGJlIG1vcmUgdGhhbiA2NTUzNSBzYW1wbGVzIGluIGEgY2h1bmsgb2YgZGF0YS4KKworaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQ2OQorCitDb21taXQgLSAzYmU0NWY3MDIyMDMxMGVjMWM2MGQ4MTlmOTBiNWYyYWUwM2I1ZDgzIGluIDAuMTAgYnJhbmNoCisKK1Vwc3RyZWFtIFN0YXR1czogIEJhY2twb3J0ZWQKKworU2lnbmVkLW9mZi1ieTogUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KKy0tLQorIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jIHwgICAgNiArKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmMgYi9nc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYworaW5kZXggOGFmYWU4MC4uMTkwYTlmNSAxMDA2NDQKKy0tLSBhL2dzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jCisrKysgYi9nc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYworQEAgLTUxLDkgKzUxLDEwIEBAIG11bGF3X2VuY29kZSAoZ2ludDE2ICogaW4sIGd1aW50OCAqIG91dCwgZ2ludCBudW1zYW1wbGVzKQorICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LAorICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3CisgICB9OworLSAgZ2ludDE2IHNpZ24sIGV4cG9uZW50LCBtYW50aXNzYSwgaTsKKysgIGdpbnQxNiBzaWduLCBleHBvbmVudCwgbWFudGlzc2E7CisgICBnaW50MTYgc2FtcGxlOworICAgZ3VpbnQ4IHVsYXdieXRlOworKyAgZ2ludCBpOworIAorICAgZm9yIChpID0gMDsgaSA8IG51bXNhbXBsZXM7IGkrKykgeworICAgICBzYW1wbGUgPSBpbltpXTsKK0BAIC0xMDIsNyArMTAzLDggQEAgbXVsYXdfZGVjb2RlIChndWludDggKiBpbiwgZ2ludDE2ICogb3V0LCBnaW50IG51bXNhbXBsZXMpCisgICBzdGF0aWMgZ2ludDE2IGV4cF9sdXRbOF0gPSB7IDAsIDEzMiwgMzk2LCA5MjQsIDE5ODAsIDQwOTIsIDgzMTYsIDE2NzY0IH07CisgICBnaW50MTYgc2lnbiwgZXhwb25lbnQsIG1hbnRpc3NhOworICAgZ3VpbnQ4IHVsYXdieXRlOworLSAgZ2ludDE2IGxpbmVhciwgaTsKKysgIGdpbnQxNiBsaW5lYXI7CisrICBnaW50IGk7CisgCisgICBmb3IgKGkgPSAwOyBpIDwgbnVtc2FtcGxlczsgaSsrKSB7CisgICAgIHVsYXdieXRlID0gaW5baV07CistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2RfMC4xMC4zMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kXzAuMTAuMzEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDkyMjg5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kXzAuMTAuMzEuYmIKQEAgLTAsMCArMSw0OCBAQAorcmVxdWlyZSBnc3QtcGx1Z2lucy5pbmMKKworTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9jb21tb24vY292ZXJhZ2UvY292ZXJhZ2UtcmVwb3J0LnBsO2JlZ2lubGluZT0yO2VuZGxpbmU9MTc7bWQ1PTYyMjkyMWZmYWQ4Y2IxOGFiOTA2YzU2MDUyNzg4YTNmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIzO21kNT1iNjBlYmVmZDViMmY1YThlMGNhYjZiZmVlMzkxYTVmZSIKKworUFIgPSAicjgiCisKK1BBQ0tBR0VDT05GSUcgPz0gImpwZWcgdjRsIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCAncHVsc2VhdWRpbycsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICcnLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItLWVuYWJsZS1wdWxzZSwtLWRpc2FibGUtcHVsc2UscHVsc2VhdWRpbyIKK1BBQ0tBR0VDT05GSUdbamFja10gPSAiLS1lbmFibGUtamFjaywtLWRpc2FibGUtamFjayxqYWNrIgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItLWVuYWJsZS1qcGVnLC0tZGlzYWJsZS1qcGVnLGpwZWciCitQQUNLQUdFQ09ORklHW3dhdnBhY2tdID0gIi0tZW5hYmxlLXdhdnBhY2ssLS1kaXNhYmxlLXdhdnBhY2ssd2F2cGFjayIKK1BBQ0tBR0VDT05GSUdbZ2RrcGl4YnVmXSA9ICItLWVuYWJsZS1nZGtfcGl4YnVmLC0tZGlzYWJsZS1nZGtfcGl4YnVmLGdkay1waXhidWYiCitQQUNLQUdFQ09ORklHW3Y0bF0gPSAiLS1lbmFibGUtZ3N0X3Y0bDIgLS13aXRoLWd1ZGV2LC0tZGlzYWJsZS1nc3RfdjRsMiAtLXdpdGhvdXQtZ3VkZXYsbGliZ3VkZXYiCisjIHN1Yi1mZWF0dXJlIG9mIHY0bCwgYnV0IGNvbnRyb2wgc2VwYXJhdGVseSBzaW5jZSBsaWJ2NGwgaXMgbm90IHBhcnQgb2Ygb2UtY29yZQorUEFDS0FHRUNPTkZJR1tsaWJ2NGxdID0gIi0td2l0aC1saWJ2NGwyLC0td2l0aG91dC1saWJ2NGwyLGxpYnY0bCIKK1BBQ0tBR0VDT05GSUdbYnppcDJdID0gIi0tZW5hYmxlLWJ6MiwtLWRpc2FibGUtYnoyLGJ6aXAyIgorUEFDS0FHRUNPTkZJR1tvcmNdID0gIi0tZW5hYmxlLW9yYywtLWRpc2FibGUtb3JjLG9yYyIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14LC0tZGlzYWJsZS14LHZpcnR1YWwvbGlieDExIGxpYnhmaXhlcyBsaWJ4ZGFtYWdlIgorUEFDS0FHRUNPTkZJR1tkdjEzOTRdID0gIi0tZW5hYmxlLWR2MTM5NCwtLWRpc2FibGUtZHYxMzk0LGxpYnJhdzEzOTQgbGliaWVjNjE4ODMgbGliYXZjMTM5NCIKKworREVQRU5EUyArPSAiZ3N0LXBsdWdpbnMtYmFzZSBnY29uZiBjYWlybyBsaWJwbmcgemxpYiBsaWJpZDN0YWcgZmxhYyBcCisgICAgICAgICAgICBzcGVleCBsaWJzb3VwLTIuNCBsaWJjYXAiCisKK2luaGVyaXQgZ2V0dGV4dCBnY29uZgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS12NGwyLWZpeC1idWlsZC13aXRoLXJlY2VudC1rZXJuZWxzLXRoZS12NGwyX2J1ZmZlci1pLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXY0bDJfY2FsbHMtZGVmaW5lLVY0TDJfQ0lEX0hDRU5URVItYW5kLVY0TDJfQ0lEX1ZDRU4ucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzA0MDctbXVsYXdkZWMtZml4LWludGVnZXItb3ZlcnJ1bi5wYXRjaCBcCisiCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1hYWxpYiAtLWRpc2FibGUtZXNkIC0tZGlzYWJsZS1zaG91dDIgLS1kaXNhYmxlLWxpYmNhY2EgLS1kaXNhYmxlLWhhbCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1leGFtcGxlcyAtLWRpc2FibGUtdGFnbGliIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKwkjIFRoaXMgbTQgZmlsZSBjb250YWlucyBuYXN0aW5lc3Mgd2hpY2ggY29uZmxpY3RzIHdpdGggbGlidG9vbCAyLjIuMgorCXJtICR7U30vbTQvbGliLWxpbmsubTQgfHwgdHJ1ZQorfQorCitTUkNfVVJJW21kNXN1bV0gPSAiMjRmOThhMjk0YTJiNTIxZTFiMjk0MTJiZGFkYWUyZTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2UyNzg0MGU0MGE3OTMyZWYyZGMwMzJkNzIwMWY5ZjQxYWZjYWYwYjQzN2RhZjVkMWQ0NGRjOTZkOWUzNWFjNiIKKworRklMRVNfJHtQTn0tZ2NvbmZlbGVtZW50cyArPSAiJHtzeXNjb25mZGlyfS9nY29uZi9zY2hlbWFzL2dzdHJlYW1lci0wLjEwLnNjaGVtYXMiCitGSUxFU18ke1BOfS1lcXVhbGl6ZXIgKz0gIiR7ZGF0YWRpcn0vZ3N0cmVhbWVyLTAuMTAvcHJlc2V0cy8qLnBycyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy11Z2x5LzAwMDEtY2Rpby1jb21wZW5zYXRlLWZvci1saWJjZGlvLXMtcmVjZW50LWNkLXRleHQtYXBpLWNoYS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy11Z2x5LzAwMDEtY2Rpby1jb21wZW5zYXRlLWZvci1saWJjZGlvLXMtcmVjZW50LWNkLXRleHQtYXBpLWNoYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjcyZmMwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHkvMDAwMS1jZGlvLWNvbXBlbnNhdGUtZm9yLWxpYmNkaW8tcy1yZWNlbnQtY2QtdGV4dC1hcGktY2hhLnBhdGNoCkBAIC0wLDAgKzEsMTkzIEBACitGcm9tIDY0OWJkOTJjZDI2MDA3MTk4NjJhZDUxODk4OTkyMTI0MDlkZDBhNjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZW9uIE1lcnRlbiBMb2hzZSA8bGVvbkBncmVlbi1zaWRlLmRlPgorRGF0ZTogVGh1LCAzIE1heSAyMDEyIDIzOjUwOjMwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNkaW86IGNvbXBlbnNhdGUgZm9yIGxpYmNkaW8ncyByZWNlbnQgY2QtdGV4dCBhcGkgY2hhbmdlcworCitodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MTEyCisKK0NvbmZsaWN0czoKKworCWV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmMKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CistLS0KKyBleHQvY2Rpby9nc3RjZGlvLmMgICAgICAgIHwgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KKyBleHQvY2Rpby9nc3RjZGlvLmggICAgICAgIHwgMTYgKysrKysrKysrKysrKysrKworIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmMgfCAxOSArKysrKysrKysrKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZXh0L2NkaW8vZ3N0Y2Rpby5jIGIvZXh0L2NkaW8vZ3N0Y2Rpby5jCitpbmRleCAyZjU4ZDE4Li40ODNlYmY1IDEwMDY0NAorLS0tIGEvZXh0L2NkaW8vZ3N0Y2Rpby5jCisrKysgYi9leHQvY2Rpby9nc3RjZGlvLmMKK0BAIC0zMCwxMiArMzAsMTYgQEAKKyBHU1RfREVCVUdfQ0FURUdPUlkgKGdzdF9jZGlvX2RlYnVnKTsKKyAKKyB2b2lkCistZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoR3N0T2JqZWN0ICogc3JjLCBjZHRleHRfdCAqIGNkdGV4dCwKKytnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChHc3RPYmplY3QgKiBzcmMsIGNkdGV4dF90ICogY2R0ZXh0LCB0cmFja190IHRyYWNrLAorICAgICBjZHRleHRfZmllbGRfdCBmaWVsZCwgY29uc3QgZ2NoYXIgKiBnc3RfdGFnLCBHc3RUYWdMaXN0ICoqIHBfdGFncykKKyB7CisgICBjb25zdCBnY2hhciAqdHh0OworIAorKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNID4gODMKKysgIHR4dCA9IGNkdGV4dF9nZXRfY29uc3QgKGNkdGV4dCwgZmllbGQsIHRyYWNrKTsKKysjZWxzZQorICAgdHh0ID0gY2R0ZXh0X2dldF9jb25zdCAoZmllbGQsIGNkdGV4dCk7CisrI2VuZGlmCisgICBpZiAodHh0ID09IE5VTEwgfHwgKnR4dCA9PSAnXDAnKSB7CisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKHNyYywgImVtcHR5IENELVRFWFQgZmllbGQgJXUgKCVzKSIsIGZpZWxkLCBnc3RfdGFnKTsKKyAgICAgcmV0dXJuOworQEAgLTU3LDYgKzYxLDEyIEBAIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKEdzdE9iamVjdCAqIHNyYywgY2R0ZXh0X3QgKiBjZHRleHQsCisgfQorIAorIEdzdFRhZ0xpc3QgKgorKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNID4gODMKKytnc3RfY2Rpb19nZXRfY2R0ZXh0IChHc3RPYmplY3QgKiBzcmMsIGNkdGV4dF90ICogdCwgdHJhY2tfdCB0cmFjaykKKyt7CisrICBHc3RUYWdMaXN0ICp0YWdzID0gTlVMTDsKKysKKysjZWxzZQorIGdzdF9jZGlvX2dldF9jZHRleHQgKEdzdE9iamVjdCAqIHNyYywgQ2RJbyAqIGNkaW8sIHRyYWNrX3QgdHJhY2spCisgeworICAgR3N0VGFnTGlzdCAqdGFncyA9IE5VTEw7CitAQCAtNjcsMTQgKzc3LDIyIEBAIGdzdF9jZGlvX2dldF9jZHRleHQgKEdzdE9iamVjdCAqIHNyYywgQ2RJbyAqIGNkaW8sIHRyYWNrX3QgdHJhY2spCisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKHNyYywgIm5vIENELVRFWFQgZm9yIHRyYWNrICV1IiwgdHJhY2spOworICAgICByZXR1cm4gTlVMTDsKKyAgIH0KKysjZW5kaWYKKyAKKy0gIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgQ0RURVhUX1BFUkZPUk1FUiwgR1NUX1RBR19BUlRJU1QsICZ0YWdzKTsKKy0gIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgQ0RURVhUX1RJVExFLCBHU1RfVEFHX1RJVExFLCAmdGFncyk7CisrICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIHRyYWNrLCBDRFRFWFRfRklFTERfUEVSRk9STUVSLAorKyAgICAgIEdTVF9UQUdfQVJUSVNULCAmdGFncyk7CisrICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIHRyYWNrLCBDRFRFWFRfRklFTERfVElUTEUsIEdTVF9UQUdfVElUTEUsCisrICAgICAgJnRhZ3MpOworIAorICAgcmV0dXJuIHRhZ3M7CisgfQorIAorIHZvaWQKKysjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA+IDgzCisrZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzIChHc3RPYmplY3QgKiBzcmMsIGNkdGV4dF90ICogdCwKKysgICAgR3N0VGFnTGlzdCAqIHRhZ3MpCisreworKyNlbHNlCisgZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzIChHc3RPYmplY3QgKiBzcmMsIENkSW8gKiBjZGlvLCBHc3RUYWdMaXN0ICogdGFncykKKyB7CisgICBjZHRleHRfdCAqdDsKK0BAIC04NCwxMSArMTAyLDE0IEBAIGdzdF9jZGlvX2FkZF9jZHRleHRfYWxidW1fdGFncyAoR3N0T2JqZWN0ICogc3JjLCBDZElvICogY2RpbywgR3N0VGFnTGlzdCAqIHRhZ3MpCisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKHNyYywgIm5vIENELVRFWFQgZm9yIGFsYnVtIik7CisgICAgIHJldHVybjsKKyAgIH0KKysjZW5kaWYKKyAKKy0gIC8qIEZJWE1FOiBtYXAgQ0RURVhUX1BFUkZPUk1FUiB0byBHU1RfVEFHX0FMQlVNX0FSVElTVCBvbmNlIHdlIGhhdmUgdGhhdCAqLworLSAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoc3JjLCB0LCBDRFRFWFRfVElUTEUsIEdTVF9UQUdfQUxCVU0sICZ0YWdzKTsKKy0gIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgQ0RURVhUX0dFTlJFLCBHU1RfVEFHX0dFTlJFLCAmdGFncyk7CistCisrICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIDAsIENEVEVYVF9GSUVMRF9QRVJGT1JNRVIsCisrICAgICAgR1NUX1RBR19BTEJVTV9BUlRJU1QsICZ0YWdzKTsKKysgIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgMCwgQ0RURVhUX0ZJRUxEX1RJVExFLCBHU1RfVEFHX0FMQlVNLAorKyAgICAgICZ0YWdzKTsKKysgIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgMCwgQ0RURVhUX0ZJRUxEX0dFTlJFLCBHU1RfVEFHX0dFTlJFLAorKyAgICAgICZ0YWdzKTsKKyAgIEdTVF9ERUJVRyAoIkNELVRFWFQgYWxidW0gdGFnczogJSIgR1NUX1BUUl9GT1JNQVQsIHRhZ3MpOworIH0KKyAKK2RpZmYgLS1naXQgYS9leHQvY2Rpby9nc3RjZGlvLmggYi9leHQvY2Rpby9nc3RjZGlvLmgKK2luZGV4IGVmMzFlZDAuLmM2ZGE1ODAgMTAwNjQ0CistLS0gYS9leHQvY2Rpby9nc3RjZGlvLmgKKysrKyBiL2V4dC9jZGlvL2dzdGNkaW8uaAorQEAgLTI0LDIyICsyNCwzOCBAQAorICNpbmNsdWRlIDxnc3QvZ3N0Lmg+CisgI2luY2x1ZGUgPGNkaW8vY2Rpby5oPgorICNpbmNsdWRlIDxjZGlvL2NkdGV4dC5oPgorKyNpbmNsdWRlIDxjZGlvL3ZlcnNpb24uaD4KKysKKysjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA8PSA4MworKyAgI2RlZmluZSBDRFRFWFRfRklFTERfUEVSRk9STUVSIENEVEVYVF9QRVJGT1JNRVIKKysgICNkZWZpbmUgQ0RURVhUX0ZJRUxEX0dFTlJFICAgICBDRFRFWFRfR0VOUkUKKysgICNkZWZpbmUgQ0RURVhUX0ZJRUxEX1RJVExFICAgICBDRFRFWFRfVElUTEUKKysjZW5kaWYKKyAKKyBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOIChnc3RfY2Rpb19kZWJ1Zyk7CisgI2RlZmluZSBHU1RfQ0FUX0RFRkFVTFQgZ3N0X2NkaW9fZGVidWcKKyAKKyB2b2lkICAgICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChHc3RPYmplY3QgICAgICAqIHNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZHRleHRfdCAgICAgICAqIGNkdGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFja190ICAgICAgICAgIHRyYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkdGV4dF9maWVsZF90ICAgZmllbGQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgKiBnc3RfdGFnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdzdFRhZ0xpc3QgICAgKiogcF90YWdzKTsKKyAKKyBHc3RUYWdMaXN0ICAqIGdzdF9jZGlvX2dldF9jZHRleHQgIChHc3RPYmplY3QgICAgICAqIHNyYywKKysjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA+IDgzCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2R0ZXh0X3QgICAgICAgKiB0LAorKyNlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2RJbyAgICAgICAgICAgKiBjZGlvLAorKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrX3QgICAgICAgICAgdHJhY2spOworIAorIHZvaWQgICAgICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2FsYnVtX3RhZ3MgKEdzdE9iamVjdCAgKiBzcmMsCisrI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkdGV4dF90ICAgKiB0LAorKyNlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2RJbyAgICAgICAqIGNkaW8sCisrI2VuZGlmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3N0VGFnTGlzdCAqIHRhZ3MpOworIAorICNlbmRpZiAvKiBfX0dTVF9DRElPX0hfXyAqLworZGlmZiAtLWdpdCBhL2V4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmMgYi9leHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jCitpbmRleCA2MTVhMGM4Li44MzA4MzllIDEwMDY0NAorLS0tIGEvZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYworKysrIGIvZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYworQEAgLTIwNiw2ICsyMDYsOSBAQCBnc3RfY2Rpb19jZGRhX3NyY19vcGVuIChHc3RBdWRpb0NkU3JjICogYXVkaW9jZHNyYywgY29uc3QgZ2NoYXIgKiBkZXZpY2UpCisgICBHc3RDZGlvQ2RkYVNyYyAqc3JjOworICAgZGlzY21vZGVfdCBkaXNjbW9kZTsKKyAgIGdpbnQgZmlyc3RfdHJhY2ssIG51bV90cmFja3MsIGk7CisrI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MworKyAgY2R0ZXh0X3QgKmNkdGV4dDsKKysjZW5kaWYKKyAKKyAgIHNyYyA9IEdTVF9DRElPX0NEREFfU1JDIChhdWRpb2Nkc3JjKTsKKyAKK0BAIC0yNDQsOCArMjQ0LDE4IEBAIGdzdF9jZGlvX2NkZGFfc3JjX29wZW4gKEdzdENkZGFCYXNlU3JjICogY2RkYWJhc2VzcmMsIGNvbnN0IGdjaGFyICogZGV2aWNlKQorICAgaWYgKHNyYy0+cmVhZF9zcGVlZCAhPSAtMSkKKyAgICAgY2Rpb19zZXRfc3BlZWQgKHNyYy0+Y2Rpbywgc3JjLT5yZWFkX3NwZWVkKTsKKyAKKysjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA+IDgzCisrICBjZHRleHQgPSBjZGlvX2dldF9jZHRleHQgKHNyYy0+Y2Rpbyk7CisrCisrICBpZiAoTlVMTCA9PSBjZHRleHQpCisrICAgIEdTVF9ERUJVR19PQkpFQ1QgKHNyYywgIm5vIENELVRFWFQgb24gZGlzYyIpOworKyAgZWxzZQorKyAgICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2FsYnVtX3RhZ3MgKEdTVF9PQkpFQ1RfQ0FTVCAoc3JjKSwgY2R0ZXh0LAorKyAgICAgICAgY2RkYWJhc2VzcmMtPnRhZ3MpOworKyNlbHNlCisgICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2FsYnVtX3RhZ3MgKEdTVF9PQkpFQ1RfQ0FTVCAoc3JjKSwgc3JjLT5jZGlvLAorICAgICAgIGNkZGFiYXNlc3JjLT50YWdzKTsKKysjZW5kaWYKKyAKKyAgIEdTVF9MT0dfT0JKRUNUIChzcmMsICIldSB0cmFja3MsIGZpcnN0IHRyYWNrOiAlZCIsIG51bV90cmFja3MsIGZpcnN0X3RyYWNrKTsKKyAKK0BAIC0yNTAsOCArMjYzLDE0IEBAIGdzdF9jZGlvX2NkZGFfc3JjX29wZW4gKEdzdEF1ZGlvQ2RTcmMgKiBhdWRpb2Nkc3JjLCBjb25zdCBnY2hhciAqIGRldmljZSkKKyAgICAgICogdGhlIHJpZ2h0IHRoaW5nIGhlcmUgKGZvciBjZGRiIGlkIGNhbGN1bGF0aW9ucyBldGMuIGFzIHdlbGwpICovCisgICAgIHRyYWNrLnN0YXJ0ID0gY2Rpb19nZXRfdHJhY2tfbHNuIChzcmMtPmNkaW8sIGkgKyBmaXJzdF90cmFjayk7CisgICAgIHRyYWNrLmVuZCA9IHRyYWNrLnN0YXJ0ICsgbGVuX3NlY3RvcnMgLSAxOyAgLyogLTE/ICovCisrI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MworKyAgICBpZiAoTlVMTCAhPSBjZHRleHQpCisrICAgICAgdHJhY2sudGFncyA9IGdzdF9jZGlvX2dldF9jZHRleHQgKEdTVF9PQkpFQ1QgKHNyYyksIGNkdGV4dCwKKysgICAgICAgICAgaSArIGZpcnN0X3RyYWNrKTsKKysjZWxzZQorICAgICB0cmFjay50YWdzID0gZ3N0X2NkaW9fZ2V0X2NkdGV4dCAoR1NUX09CSkVDVCAoc3JjKSwgc3JjLT5jZGlvLAorICAgICAgICAgaSArIGZpcnN0X3RyYWNrKTsKKysjZW5kaWYKKyAKKyAgICAgZ3N0X2F1ZGlvX2NkX3NyY19hZGRfdHJhY2sgKEdTVF9BVURJT19DRF9TUkMgKHNyYyksICZ0cmFjayk7CisgICB9CistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy11Z2x5LzAwMDItRml4LW9wZW5jb3JlLWluY2x1ZGUtcGF0aHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseS8wMDAyLUZpeC1vcGVuY29yZS1pbmNsdWRlLXBhdGhzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmZDZhMjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseS8wMDAyLUZpeC1vcGVuY29yZS1pbmNsdWRlLXBhdGhzLnBhdGNoCkBAIC0wLDAgKzEsNTggQEAKK0Zyb20gZTYzNGJjNjQyMDgyNmY3NjBmNjUxOWE5ZjEzNGM2YTRkMzQxMmVmOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KK0RhdGU6IE1vbiwgMTkgT2N0IDIwMTUgMTU6MjY6MjQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IG9wZW5jb3JlIGluY2x1ZGUgcGF0aHMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtubyB1cHN0cmVhbSAtIEdTdHJlYW1lciAwLjEwIGlzIG5vIGxvbmdlciBiZWluZyBtYWludGFpbmVkXQorCitTaWduZWQtb2ZmLWJ5OiBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CistLS0KKyBleHQvYW1ybmIvYW1ybmJkZWMuaCAgICB8IDIgKy0KKyBleHQvYW1ybmIvYW1ybmJlbmMuaCAgICB8IDIgKy0KKyBleHQvYW1yd2JkZWMvYW1yd2JkZWMuaCB8IDQgKystLQorIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZXh0L2Ftcm5iL2Ftcm5iZGVjLmggYi9leHQvYW1ybmIvYW1ybmJkZWMuaAoraW5kZXggMWU4MTgzOS4uMDFiNzE1NCAxMDA2NDQKKy0tLSBhL2V4dC9hbXJuYi9hbXJuYmRlYy5oCisrKysgYi9leHQvYW1ybmIvYW1ybmJkZWMuaAorQEAgLTIyLDcgKzIyLDcgQEAKKyAKKyAjaW5jbHVkZSA8Z3N0L2dzdC5oPgorICNpbmNsdWRlIDxnc3QvYXVkaW8vZ3N0YXVkaW9kZWNvZGVyLmg+CistI2luY2x1ZGUgPGludGVyZl9kZWMuaD4KKysjaW5jbHVkZSA8b3BlbmNvcmUtYW1ybmIvaW50ZXJmX2RlYy5oPgorIAorIEdfQkVHSU5fREVDTFMKKyAKK2RpZmYgLS1naXQgYS9leHQvYW1ybmIvYW1ybmJlbmMuaCBiL2V4dC9hbXJuYi9hbXJuYmVuYy5oCitpbmRleCA3ZjY3M2FjLi41YmUzOWI1IDEwMDY0NAorLS0tIGEvZXh0L2Ftcm5iL2Ftcm5iZW5jLmgKKysrKyBiL2V4dC9hbXJuYi9hbXJuYmVuYy5oCitAQCAtMjEsNyArMjEsNyBAQAorICNkZWZpbmUgX19HU1RfQU1STkJFTkNfSF9fCisgCisgI2luY2x1ZGUgPGdzdC9nc3QuaD4KKy0jaW5jbHVkZSA8aW50ZXJmX2VuYy5oPgorKyNpbmNsdWRlIDxvcGVuY29yZS1hbXJuYi9pbnRlcmZfZW5jLmg+CisgI2luY2x1ZGUgPGdzdC9hdWRpby9nc3RhdWRpb2VuY29kZXIuaD4KKyAKKyBHX0JFR0lOX0RFQ0xTCitkaWZmIC0tZ2l0IGEvZXh0L2FtcndiZGVjL2FtcndiZGVjLmggYi9leHQvYW1yd2JkZWMvYW1yd2JkZWMuaAoraW5kZXggYzM1MjhmYy4uZjI3YzZkMiAxMDA2NDQKKy0tLSBhL2V4dC9hbXJ3YmRlYy9hbXJ3YmRlYy5oCisrKysgYi9leHQvYW1yd2JkZWMvYW1yd2JkZWMuaAorQEAgLTIyLDggKzIyLDggQEAKKyAKKyAjaW5jbHVkZSA8Z3N0L2dzdC5oPgorICNpbmNsdWRlIDxnc3QvYXVkaW8vZ3N0YXVkaW9kZWNvZGVyLmg+CistI2luY2x1ZGUgPGRlY19pZi5oPgorLSNpbmNsdWRlIDxpZl9yb20uaD4KKysjaW5jbHVkZSA8b3BlbmNvcmUtYW1yd2IvZGVjX2lmLmg+CisrI2luY2x1ZGUgPG9wZW5jb3JlLWFtcndiL2lmX3JvbS5oPgorIAorIEdfQkVHSU5fREVDTFMKKyAKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHlfMC4xMC4xOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy11Z2x5XzAuMTAuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYThjYjg1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy11Z2x5XzAuMTAuMTkuYmIKQEAgLTAsMCArMSwzNSBAQAorcmVxdWlyZSBnc3QtcGx1Z2lucy5pbmMKKworTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsgJiBMR1BMdjIrIgorTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTZmODllMjEwMGQ5YjZjZGZmY2VhNGYzOThlMzczNDMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0L3N5bmFlc3RoZXNpYS9zeW5hZXNjb3BlLmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9OTlmMzAxZGY3YjgwNDkwYzZmZjgzMDVmY2M3MTI4MzggXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eC5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PTRjNzcxYjhhZjE4ODcyNDg1NWNiOTljYWRkMzkwMDY4IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC9tcGVnc3RyZWFtL2dzdG1wZWdwYXJzZS5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MTg7bWQ1PWZmNjU0NjdiMGM1M2NkZmE5OGQwNjg0YzFiYzI0MGE5IgorCitERVBFTkRTICs9ICJnc3QtcGx1Z2lucy1iYXNlIGxpYmlkM3RhZyBsaWJtYWQgbXBlZzJkZWMgbGliYTUyIGxhbWUiCitQUiA9ICJyMyIKKworaW5oZXJpdCBnZXR0ZXh0CisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRoLXBsdWdpbnM9YTUyZGVjLGxhbWUsaWQzdGFnLG1hZCxtcGVnMmRlYyxtcGVnc3RyZWFtLG1wZWdhdWRpb3BhcnNlLGFzZmRlbXV4LHJlYWxtZWRpYSBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1vcmMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3gyNjRdID0gIi0tZW5hYmxlLXgyNjQsLS1kaXNhYmxlLXgyNjQseDI2NCIKK1BBQ0tBR0VDT05GSUdbY2Rpb10gPSAiLS1lbmFibGUtY2RpbywtLWRpc2FibGUtY2RpbyxsaWJjZGlvIgorUEFDS0FHRUNPTkZJR1tkdmRyZWFkXSA9ICItLWVuYWJsZS1kdmRyZWFkLC0tZGlzYWJsZS1kdmRyZWFkLGxpYmR2ZHJlYWQiCitQQUNLQUdFQ09ORklHW2Ftcm5iXSA9ICItLWVuYWJsZS1hbXJuYiwtLWRpc2FibGUtYW1ybmIsb3BlbmNvcmUtYW1yIgorUEFDS0FHRUNPTkZJR1thbXJ3Yl0gPSAiLS1lbmFibGUtYW1yd2IsLS1kaXNhYmxlLWFtcndiLG9wZW5jb3JlLWFtciIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisJIyBUaGlzIG00IGZpbGUgY29udGFpbnMgbmFzdGluZXNzIHdoaWNoIGNvbmZsaWN0cyB3aXRoIGxpYnRvb2wgMi4yLjIKKwlybSAke1N9L200L2xpYi1saW5rLm00IHx8IHRydWUKK30KKworU1JDX1VSSVttZDVzdW1dID0gIjFkODFjNTkzZTIyYTZjZGYwZjJiNGY1N2VhZTkzZGYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFjYTkwMDU5Mjc1YzBmNWRjYTcxZDRkMTYwMWE4ZjQyOWI3ODUyYmFlZDA3MjNlODIwNzAzYjk3N2UyYzhkZjAiCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1jZGlvLWNvbXBlbnNhdGUtZm9yLWxpYmNkaW8tcy1yZWNlbnQtY2QtdGV4dC1hcGktY2hhLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1vcGVuY29yZS1pbmNsdWRlLXBhdGhzLnBhdGNoIgorCitGSUxFU18ke1BOfS1hbXJuYiArPSAiJHtkYXRhZGlyfS9nc3RyZWFtZXItMC4xMC9wcmVzZXRzL0dzdEFtcm5iRW5jLnBycyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4YTcwYjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMuaW5jCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiUGx1Z2lucyBmb3IgdGhlIEdTdHJlYW1lciBtdWx0aW1lZGlhIGZyYW1ld29yayIKK0hPTUVQQUdFID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PUdzdHJlYW1lciIKK1NFQ1RJT04gPSAibXVsdGltZWRpYSIKK0RFUEVORFMgPSAiZ3N0cmVhbWVyIgorCisjIGdvYmplY3QtaW50cm9zcGVjdGlvbiB0byBnZXQgLS1kaXNhYmxlLWludHJvc3BlY3Rpb24gaW50byBVTktOT1dOX0NPTkZJR1VSRV9XSElURUxJU1QKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworU1JDX1VSSSA9ICJodHRwOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy9zcmMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorCitHU1RSRUFNRVJfREVCVUcgPz0gIi0tZGlzYWJsZS1kZWJ1ZyIKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdmFsZ3JpbmQgJHtHU1RSRUFNRVJfREVCVUd9IC0tZGlzYWJsZS1leGFtcGxlcyAtLWRpc2FibGUtaW50cm9zcGVjdGlvbiIKKworYWNwYXRocyA9ICItSSAke1N9L2NvbW1vbi9tNCAtSSAke1N9L200IgorCitMSUJWID0gIjAuMTAiCityZXF1aXJlIHJlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtcGFja2FnZS5pbmMKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7UE59LS4qIgorCisjIGFwcGx5IGdzdHJlYW1lciBoYWNrIGFmdGVyIE1ha2VmaWxlLmluLmluIGluIHNvdXJjZSBpcyByZXBsYWNlZCBieSBvdXIgdmVyc2lvbiBmcm9tCisjICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ2V0dGV4dC9wby9NYWtlZmlsZS5pbi5pbiwgYnV0IGJlZm9yZSBjb25maWd1cmUgaXMgZXhlY3V0ZWQKKyMgaHR0cDovL2xpc3RzLmxpbnV4dG9nby5vcmcvcGlwZXJtYWlsL29wZW5lbWJlZGRlZC1jb3JlLzIwMTItTm92ZW1iZXIvMDMyMjMzLmh0bWwKK29lX3J1bmNvbmZfcHJlcGVuZCgpIHsKKwlpZiBbIC1lICR7U30vcG8vTWFrZWZpbGUuaW4uaW4gXTsgdGhlbgorCQlzZWQgLWkgLWUgIjFhXFwiIC1lICdHRVRURVhUX1BBQ0tBR0UgPSBAR0VUVEVYVF9QQUNLQUdFQCcgJHtTfS9wby9NYWtlZmlsZS5pbi5pbgorCWZpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXJ0c3AvMDAwMS1jaGFuZ2UtZGVwcmVjYXRlZC1JTkNMVURFUy10by1BTV9DUFBGTEFHUy1mb3ItYXV0b21hLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1ydHNwLzAwMDEtY2hhbmdlLWRlcHJlY2F0ZWQtSU5DTFVERVMtdG8tQU1fQ1BQRkxBR1MtZm9yLWF1dG9tYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWZjYTRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1ydHNwLzAwMDEtY2hhbmdlLWRlcHJlY2F0ZWQtSU5DTFVERVMtdG8tQU1fQ1BQRkxBR1MtZm9yLWF1dG9tYS5wYXRjaApAQCAtMCwwICsxLDM0IEBACitpbmRleCBnc3QtcnRzcF8wLjEwLjgvYmluZGluZ3MvcHl0aG9uL01ha2VmaWxlLmFtCistLS0gZ3N0LXJ0c3BfMC4xMC44Lm9yaWcvYmluZGluZ3MvcHl0aG9uL01ha2VmaWxlLmFtCisrKysgZ3N0LXJ0c3BfMC4xMC44L2JpbmRpbmdzL3B5dGhvbi9NYWtlZmlsZS5hbQorQEAgLTE0LDcgKzE0LDcgQEAgZGVmc19EQVRBID0gJChERUZTKQorIGRlZnNkaXIgPSAkKHBrZ2RhdGFkaXIpLyQoR1NUX01BSk9STUlOT1IpL2RlZnMKKyBPVkVSUklERVMgPSBydHNwc2VydmVyLm92ZXJyaWRlCisKKy1JTkNMVURFUyA9IC1JJCh0b3Bfc3JjZGlyKSAtSSQoc3JjZGlyKSAkKFBZVEhPTl9JTkNMVURFUykKKytBTV9DUFBGTEFHUyA9IC1JJCh0b3Bfc3JjZGlyKSAtSSQoc3JjZGlyKSAkKFBZVEhPTl9JTkNMVURFUykKKworIHJ0c3BzZXJ2ZXJfbGFfQ0ZMQUdTID0gLUkkKHRvcF9zcmNkaXIpL3NyYyBcCisgICAgICAgICAkKFBZR09CSkVDVF9DRkxBR1MpICQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpICQoR1NUX0NGTEFHUykKK2luZGV4IGdzdC1ydHNwXzAuMTAuOC9leGFtcGxlcy9NYWtlZmlsZS5hbQorLS0tIGdzdC1ydHNwXzAuMTAuOC5vcmlnL2V4YW1wbGVzL01ha2VmaWxlLmFtCisrKysgZ3N0LXJ0c3BfMC4xMC44L2V4YW1wbGVzL01ha2VmaWxlLmFtCitAQCAtMSw2ICsxLDYgQEAKKyBub2luc3RfUFJPR1JBTVMgPSB0ZXN0LXZpZGVvIHRlc3Qtb2dnIHRlc3QtbXA0IHRlc3QtcmVhZG1lIHRlc3QtbGF1bmNoIHRlc3Qtc2RwIHRlc3QtdXJpIHRlc3QtYXV0aAorCistSU5DTFVERVMgPSAtSSQodG9wX3NyY2RpcikgLUkkKHNyY2RpcikKKytBTV9DUFBGTEFHUyA9IC1JJCh0b3Bfc3JjZGlyKSAtSSQoc3JjZGlyKQorCisgQU1fQ0ZMQUdTID0gJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgJChHU1RfQ0ZMQUdTKQorIEFNX0xERkxBR1MgPSBcCitpbmRleCBnc3QtcnRzcF8wLjEwLjgvdGVzdHMvTWFrZWZpbGUuYW0KKy0tLSBnc3QtcnRzcF8wLjEwLjgub3JpZy90ZXN0cy9NYWtlZmlsZS5hbQorKysrIGdzdC1ydHNwXzAuMTAuOC90ZXN0cy9NYWtlZmlsZS5hbQorQEAgLTEsNiArMSw2IEBACisgbm9pbnN0X1BST0dSQU1TID0gdGVzdC1jbGVhbnVwCisKKy1JTkNMVURFUyA9IC1JJCh0b3Bfc3JjZGlyKSAtSSQoc3JjZGlyKQorK0FNX0NQUEZMQUdTID0gLUkkKHRvcF9zcmNkaXIpIC1JJChzcmNkaXIpCisKKyBBTV9DRkxBR1MgPSAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSAkKEdTVF9DRkxBR1MpCisgQU1fTERGTEFHUyA9IFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcnRzcF8wLjEwLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXJ0c3BfMC4xMC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3OGJjYWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXJ0c3BfMC4xMC44LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiR1N0cmVhbWVyIFJUU1Agc2VydmVyIgorTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUiCisKK1NSQ19VUkkgPSAiaHR0cDovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvc3JjLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNoYW5nZS1kZXByZWNhdGVkLUlOQ0xVREVTLXRvLUFNX0NQUEZMQUdTLWZvci1hdXRvbWEucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiYjUxMWFmMDcwMDA1OTVmNjNjM2E3MDU5NDYyMjE2NDMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTkxNTg4N2NmODUxNWJkYTg3NDYyYzY5NzM4NjQ2YWZiNzE1YjU5NzYxM2VkYzczNDA0NzdjY2FiNjNhNjYxNyIKKworREVQRU5EUyA9ICJnc3QtcGx1Z2lucy1iYXNlIGdzdHJlYW1lciIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uIgorCisjIENvbmZpZ3VyZSBhbHdheXMgY2hlY2tzIGZvciBQeXRob24gc28gaW5oZXJpdCBweXRob25uYXRpdmUuIEJldHRlciBzb2x1dGlvbgorIyB3b3VsZCBiZSB0byBkaXNhYmxlIHRoZSBjaGVja3MgZW50aXJlbHkuCitpbmhlcml0IGF1dG90b29scyBweXRob25uYXRpdmUgZ2V0dGV4dAorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vdmFsYS92YXBpLyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAxLWJhc2VwYXJzZS1GaXgtc2VsZi1jb21wYXJpc29uLWFsd2F5cy1ldmFsdWF0ZXMtdG8tdHIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1iYXNlcGFyc2UtRml4LXNlbGYtY29tcGFyaXNvbi1hbHdheXMtZXZhbHVhdGVzLXRvLXRyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNzc0OTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1iYXNlcGFyc2UtRml4LXNlbGYtY29tcGFyaXNvbi1hbHdheXMtZXZhbHVhdGVzLXRvLXRyLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gZWQ3ZjQ4MDIyMjIyMzRlZWYxOTJhYTNmNzRiYzkyMjY4ZjMzOGY5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNlYmFzdGlhbiBEcm9lZ2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgorRGF0ZTogVHVlLCA2IE1hciAyMDEyIDEyOjI4OjAyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGJhc2VwYXJzZTogRml4ICdzZWxmLWNvbXBhcmlzb24gYWx3YXlzIGV2YWx1YXRlcyB0byB0cnVlJworCitUaGlzIHdhcyByZWFsbHkgYSBidWcuCisKK0NvbW1pdCBpcyBlZDdmNDgwMjIyMjIzNGVlZjE5MmFhM2Y3NGJjOTIyNjhmMzM4Zjk3IGluIDAuMTAgYnJhbmNoCisKK1Vwc3RyZWFtIFN0YXR1czogIEJhY2twb3J0ZWQKKworU2lnbmVkLW9mZi1ieTogU2ViYXN0aWFuIERyb2VnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CistLS0KKyBsaWJzL2dzdC9iYXNlL2dzdGJhc2VwYXJzZS5jIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGlicy9nc3QvYmFzZS9nc3RiYXNlcGFyc2UuYyBiL2xpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXBhcnNlLmMKK2luZGV4IDg1MWVjMWQuLjEwOGVlODkgMTAwNjQ0CistLS0gYS9saWJzL2dzdC9iYXNlL2dzdGJhc2VwYXJzZS5jCisrKysgYi9saWJzL2dzdC9iYXNlL2dzdGJhc2VwYXJzZS5jCitAQCAtMzg5OSw3ICszODk5LDcgQEAgZ3N0X2Jhc2VfcGFyc2VfaGFuZGxlX3NlZWsgKEdzdEJhc2VQYXJzZSAqIHBhcnNlLCBHc3RFdmVudCAqIGV2ZW50KQorICAgICAgICBzZWVrIGV2ZW50IChpbiBieXRlcykgdG8gdXBzdHJlYW0uIFNlZ21lbnQgLyBmbHVzaCBoYW5kbGluZyBoYXBwZW5zCisgICAgICAgIGluIGNvcnJlc3BvbmRpbmcgc3JjIGV2ZW50IGhhbmRsZXJzICovCisgICAgIEdTVF9ERUJVR19PQkpFQ1QgKHBhcnNlLCAic2VlayBpbiBQVVNIIG1vZGUiKTsKKy0gICAgaWYgKHNlZWtzdG9wID49IDAgJiYgc2Vla3BvcyA8PSBzZWVrcG9zKQorKyAgICBpZiAoc2Vla3N0b3AgPj0gMCAmJiBzZWVrc3RvcCA8PSBzZWVrcG9zKQorICAgICAgIHNlZWtzdG9wID0gc2Vla3BvczsKKyAgICAgbmV3X2V2ZW50ID0gZ3N0X2V2ZW50X25ld19zZWVrIChyYXRlLCBHU1RfRk9STUFUX0JZVEVTLCBmbGFncywKKyAgICAgICAgIEdTVF9TRUVLX1RZUEVfU0VULCBzZWVrcG9zLCBzdG9wX3R5cGUsIHNlZWtzdG9wKTsKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1wYXJzZS1tYWtlLWdyYW1tYXIueS13b3JrLXdpdGgtQmlzb24tMy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAxLXBhcnNlLW1ha2UtZ3JhbW1hci55LXdvcmstd2l0aC1CaXNvbi0zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjMmQ2MDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1wYXJzZS1tYWtlLWdyYW1tYXIueS13b3JrLXdpdGgtQmlzb24tMy5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDYwNTE2ZjQ3OTg4OTRmOTU4ZmM1M2I0NzBlMTI4MzMxOGQwZjg3MDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLZXJyaWNrIFN0YWxleSA8a2Vycmlja0BrZXJyaWNrc3RhbGV5LmNvbT4KK0RhdGU6IFR1ZSwgMjAgQXVnIDIwMTMgMjM6NTk6MjkgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIHBhcnNlOiBtYWtlIGdyYW1tYXIueSB3b3JrIHdpdGggQmlzb24gMworCitZWUxFWF9QQVJBTSBpcyBubyBsb25nZXIgc3VwcG9ydGVkIGluIEJpc29uIDMuCisKK2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY0NjIKKy0tLQorIGdzdC9wYXJzZS9ncmFtbWFyLnkgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nc3QvcGFyc2UvZ3JhbW1hci55IGIvZ3N0L3BhcnNlL2dyYW1tYXIueQoraW5kZXggMjRmYzg3Yi4uN2Y5ZGQxNiAxMDA2NDQKKy0tLSBhL2dzdC9wYXJzZS9ncmFtbWFyLnkKKysrKyBiL2dzdC9wYXJzZS9ncmFtbWFyLnkKK0BAIC0yNiw3ICsyNiw2IEBACisgICovCisgCisgI2RlZmluZSBZWUVSUk9SX1ZFUkJPU0UgMQorLSNkZWZpbmUgWVlMRVhfUEFSQU0gc2Nhbm5lcgorIAorICNkZWZpbmUgWVlFTkFCTEVfTkxTIDAKKyAKK0BAIC02NDgsNiArNjQ3LDcgQEAgc3RhdGljIGludCB5eWVycm9yICh2b2lkICpzY2FubmVyLCBncmFwaF90ICpncmFwaCwgY29uc3QgY2hhciAqcyk7CisgJXJpZ2h0ICcuJworICVsZWZ0ICchJyAnPScKKyAKKyslbGV4LXBhcmFtIHsgdm9pZCAqc2Nhbm5lciB9CisgJXBhcnNlLXBhcmFtIHsgdm9pZCAqc2Nhbm5lciB9CisgJXBhcnNlLXBhcmFtIHsgZ3JhcGhfdCAqZ3JhcGggfQorICVwdXJlLXBhcnNlcgorLS0gCisyLjcuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvY2hlY2tfZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2NoZWNrX2ZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDhiYjEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2NoZWNrX2ZpeC5wYXRjaApAQCAtMCwwICsxLDE5IEBACisjIGdzdHJlYW1lcjogRml4IGEgcHJvYmxlbSB3aXRoIGNvbmZpZ3VyZSBpZiBjaGVjayBoYXMgYWxyZWFkeSBiZWVuIGJ1aWx0CisjIFJpY2hhcmQgUHVyZGllIDxycHVyZGllQGxpbnV4LmludGVsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitkaWZmIC11ck4gZ3N0cmVhbWVyLTAuMTAuMjktb3JpZy9jb25maWd1cmUuYWMgZ3N0cmVhbWVyLTAuMTAuMjkvY29uZmlndXJlLmFjCistLS0gZ3N0cmVhbWVyLTAuMTAuMjktb3JpZy9jb25maWd1cmUuYWMJMjAxMC0wNi0yNiAxMjo0OToyNy43NzQ5MzA3NzMgKzA4MDAKKysrKyBnc3RyZWFtZXItMC4xMC4yOS9jb25maWd1cmUuYWMJMjAxMC0wNi0yNiAxMjo1MToxMi44OTkyMDAyMzMgKzA4MDAKK0BAIC01NDMsOCArNTQzLDEwIEBACisgICAgICAgKikgQlVJTERfQ0hFQ0s9eWVzIDs7CisgICAgIGVzYWMKKyBdKQorKworIGRubCBiaXQgb2YgYSBtaXNub21lciwgYnV0IGtlZXAgdGhlIGNvbmRpdGlvbmFsIG5hbWVkIGxpa2UgdGhpcyBzbyB3ZSBkb24ndAorIGRubCBoYXZlIHRvIGNoYW5nZSB0b28gbXVjaCBlbHNld2hlcmUKKytIQVZFX0NIRUNLPW5vCisgQU1fQ09ORElUSU9OQUwoSEFWRV9DSEVDSywgdGVzdCAieCRCVUlMRF9DSEVDSyIgPSAieHllcyIpCisgCisgZG5sIGNvbmZpZ3VyZSB0aGUgZGVzaXJlZCBidWZmZXIgYWxpZ25tZW50CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0LWluc3BlY3QtY2hlY2stZXJyb3IucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0LWluc3BlY3QtY2hlY2stZXJyb3IucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBiZTg1ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3QtaW5zcGVjdC1jaGVjay1lcnJvci5wYXRjaApAQCAtMCwwICsxLDE2IEBACisjIEZpeCBjcmFzaCB3aXRoIGdzdC1pbnNwZWN0CisjIENocmlzIExvcmQgPGNocmlzQG9wZW5lZGhhbmQuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworLS0tIGdzdHJlYW1lci0wLjEwLjkvdG9vbHMvZ3N0LWluc3BlY3QuYy5vbGQJMjAwNi0wOS0xMiAxMTo1Njo1My4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc3RyZWFtZXItMC4xMC45L3Rvb2xzL2dzdC1pbnNwZWN0LmMJMjAwNi0wOS0xMiAxMTo1NzoyNy4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xMTIzLDcgKzExMjMsNyBAQAorICAgZ19vcHRpb25fY29udGV4dF9hZGRfbWFpbl9lbnRyaWVzIChjdHgsIG9wdGlvbnMsIEdFVFRFWFRfUEFDS0FHRSk7CisgICBnX29wdGlvbl9jb250ZXh0X2FkZF9ncm91cCAoY3R4LCBnc3RfaW5pdF9nZXRfb3B0aW9uX2dyb3VwICgpKTsKKyAgIGlmICghZ19vcHRpb25fY29udGV4dF9wYXJzZSAoY3R4LCAmYXJnYywgJmFyZ3YsICZlcnIpKSB7CistICAgIGdfcHJpbnQgKCJFcnJvciBpbml0aWFsaXppbmc6ICVzXG4iLCBlcnItPm1lc3NhZ2UpOworKyAgICBnX3ByaW50ICgiRXJyb3IgaW5pdGlhbGl6aW5nOiAlc1xuIiwgZXJyID8gZXJyLT5tZXNzYWdlIDogIihudWxsKSIpOworICAgICBleGl0ICgxKTsKKyAgIH0KKyAgIGdfb3B0aW9uX2NvbnRleHRfZnJlZSAoY3R4KTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3RyZWdpc3RyeWJpbmFyeS5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2dzdHJlZ2lzdHJ5YmluYXJ5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFmM2U3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3RyZWdpc3RyeWJpbmFyeS5jCkBAIC0wLDAgKzEsNDg3IEBACisvKiBHU3RyZWFtZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwyMDAwIEVyaWsgV2FsdGhpbnNlbiA8b21lZ2FAY3NlLm9naS5lZHU+CisgKiAgICAgICAgICAgICAgICAgICAgMjAwMCBXaW0gVGF5bWFucyA8d3RheUBjaGVsbG8uYmU+CisgKiAgICAgICAgICAgICAgICAgICAgMjAwNSBEYXZpZCBBLiBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KKyAqCisgKiBnc3RyZWdpc3RyeXhtbC5jOiBHc3RSZWdpc3RyeSBvYmplY3QsIHN1cHBvcnQgcm91dGluZXMKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdWxuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUKKyAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKi8KKworCisjaW5jbHVkZSA8Z3N0L2dzdHJlZ2lzdHJ5YmluYXJ5Lmg+CisKKy8qCisqKiBTaW1wbGUgaGFuZHkgZnVuY3Rpb24gdG8gd3JpdGUgYSBtZW1vcnkgbG9jYXRpb24gdG8gdGhlIHJlZ2lzdHJ5IGNhY2hlIGZpbGUKKyovCitpbmxpbmUgc3RhdGljIGdib29sZWFuCitnc3RfcmVnaXN0cnlfYmluYXJ5X3dyaXRlKEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgY29uc3Qgdm9pZCAqbWVtLCBjb25zdCBzc2l6ZV90IHNpemUpCit7CisgIGlmICh3cml0ZShyZWdpc3RyeS0+Y2FjaGVfZmlsZSwgbWVtLCBzaXplKSAhPSBzaXplKQorICAgIHsKKyAgICAgIEdTVF9FUlJPUigiRmFpbGVkIHRvIHdyaXRlIGJpbmFyeSByZWdpc3RyeSBlbGVtZW50OiBwdHI9JXAgc2l6ZT0ldSBlcnJvcj0lc1xuIiwKKwkJbWVtLCBzaXplLCBzdHJlcnJvcihlcnJubykpOworICAgICAgcmV0dXJuIEZBTFNFOworICAgIH0KKyAgcmV0dXJuIFRSVUU7Cit9CisKKy8qCisqKiBTYXZlIGZlYXR1cmVzIEdzdEJpbmFyeSBzdHlsZQorKi8KK3N0YXRpYyBnYm9vbGVhbiAKK2dzdF9yZWdpc3RyeV9iaW5hcnlfZmlsbF9mZWF0dXJlKEdMaXN0ICoqbGlzdCwgR3N0UGx1Z2luRmVhdHVyZSAqb3JpZywgR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSAqZGVzdCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKyAgR3N0QmluYXJ5Q2h1bmNrICpjaGs7CisKKyAgaWYgKChjaGsgPSBjYWxsb2MoMSwgc2l6ZW9mIChHc3RCaW5hcnlDaHVuY2spKSkgPT0gTlVMTCkKKyAgICByZXR1cm4gRkFMU0U7CisKKyAgY2hrLT5kYXRhID0gZGVzdDsKKyAgY2hrLT5zaXplID0gc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5GZWF0dXJlKTsKKworICAqbGlzdCA9IGdfbGlzdF9hcHBlbmQoKmxpc3QsIGNoayk7CisKKyAgZGVzdC0+cmFuayA9IG9yaWctPnJhbms7CisgIGlmICghc3RybmNweShkZXN0LT50eXBlbmFtZSwgbmFtZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9UWVBFTkFNRV9MRU4pIHx8CisgICAgICAhc3RybmNweShkZXN0LT5uYW1lLCBvcmlnLT5uYW1lLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX05BTUVfTEVOKSkKKyAgICB7CisgICAgICBHU1RfRVJST1IoIkZhaWxlZCB0byB3cml0ZSBiaW5hcnkgcmVnaXN0cnkgZmVhdHVyZSIpOworICAgICAgZ290byBmYWlsOworICAgIH0KKyAgCisgIGlmIChHU1RfSVNfRUxFTUVOVF9GQUNUT1JZKG9yaWcpKQorICAgIHsKKyAgICAgIEdzdEVsZW1lbnRGYWN0b3J5ICpmYWN0b3J5ID0gR1NUX0VMRU1FTlRfRkFDVE9SWShvcmlnKTsKKyAgICAgIAorICAgICAgaWYgKCFzdHJuY3B5KGRlc3QtPmxvbmduYW1lLCBmYWN0b3J5LT5kZXRhaWxzLmxvbmduYW1lLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0xPTkdOQU1FX0xFTikgfHwKKwkgICFzdHJuY3B5KGRlc3QtPmNsYXNzLCBmYWN0b3J5LT5kZXRhaWxzLmtsYXNzLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0NMQVNTX0xFTikgfHwKKwkgICFzdHJuY3B5KGRlc3QtPmRlc2NyaXB0aW9uLCBmYWN0b3J5LT5kZXRhaWxzLmRlc2NyaXB0aW9uLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0RFU0NSSVBUSU9OX0xFTikgfHwKKwkgICFzdHJuY3B5KGRlc3QtPmF1dGhvciwgZmFjdG9yeS0+ZGV0YWlscy5hdXRob3IsIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfQVVUSE9SX0xFTikpCisJeworCSAgR1NUX0VSUk9SKCJGYWlsZWQgdG8gd3JpdGUgYmluYXJ5IHJlZ2lzdHJ5IGZlYXR1cmUiKTsKKwkgIGdvdG8gZmFpbDsKKwl9CisgICAgfQorICAKKyAgZGVzdC0+bnBhZHRlbXBsYXRlcyA9IGRlc3QtPm5pbnRlcmZhY2VzID0gZGVzdC0+bnVyaXR5cGVzID0gMDsKKyAgcmV0dXJuIFRSVUU7CisKKyBmYWlsOgorICBmcmVlKGNoayk7CisgIHJldHVybiBGQUxTRTsKK30KKworCisvKgorKiogSW5pdGlhbGl6ZSB0aGUgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYywgc2V0dGluZyBib3RoIG91ciBtYWdpYyBudW1iZXIgYW5kIGdzdHJlYW1lciBtYWpvci9taW5vciB2ZXJzaW9uCisqLworaW5saW5lIHN0YXRpYyBnYm9vbGVhbgorZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9pbml0aWFsaXplX21hZ2ljKEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMgKm0pCit7CisgIGlmICghc3RybmNweShtLT5tYWdpYywgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFIsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfTEVOKSB8fAorICAgICAgIXN0cm5jcHkobS0+dmVyc2lvbiwgR1NUX01BSk9STUlOT1IsIEdTVF9CSU5BUllfUkVHSVNUUllfVkVSU0lPTl9MRU4pKQorICAgIHsKKyAgICAgIEdTVF9FUlJPUigiRmFpbGVkIHRvIHdyaXRlIG1hZ2ljIHRvIHRoZSByZWdpc3RyeSBtYWdpYyBzdHJ1Y3R1cmUiKTsKKyAgICAgIHJldHVybiBGQUxTRTsKKyAgICB9CisgIHJldHVybiBUUlVFOworfQorCisvKgorKiogQ2hlY2sgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyB2YWxpZGl0eS4KKyoqIFJldHVybiBhIHBvaW50ZXIgcG9pbnRpbmcgcmlnaHQgYWZ0ZXIgdGhlIG1hZ2ljIHN0cnVjdHVyZQorKi8KK3N0YXRpYyBnY2hhciAqCitnc3RfcmVnaXN0cnlfYmluYXJ5X2NoZWNrX21hZ2ljKGdjaGFyICppbikKK3sKKyAgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyAqbSA9IChHc3RCaW5hcnlSZWdpc3RyeU1hZ2ljICopIGluOworCisgIGlmIChtID09IE5VTEwgfHwgbS0+bWFnaWMgPT0gTlVMTCB8fCBtLT52ZXJzaW9uID09IE5VTEwpCisgICAgeworICAgICAgR1NUX0VSUk9SKCJCaW5hcnkgcmVnaXN0cnkgbWFnaWMgc3RydWN0dXJlIGlzIGJyb2tlbiIpOworICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICBpZiAoc3RybmNtcChtLT5tYWdpYywgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFIsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfTEVOKSAhPSAwKQorICAgIHsKKyAgICAgIEdTVF9FUlJPUigiQmluYXJ5IHJlZ2lzdHJ5IG1hZ2ljIGlzIGRpZmZlcmVudCA6ICUwMnglMDJ4JTAyeCUwMnggIT0gJTAyeCUwMnglMDJ4JTAyeCIsCisJCUdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfU1RSWzBdICYgMHhmZiwgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFJbMV0gJiAweGZmLAorCQlHU1RfTUFHSUNfQklOQVJZX1JFR0lTVFJZX1NUUlsyXSAmIDB4ZmYsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfU1RSWzNdICYgMHhmZiwKKwkJbS0+bWFnaWNbMF0gJiAweGZmLCBtLT5tYWdpY1sxXSAmIDB4ZmYsIG0tPm1hZ2ljWzJdICYgMHhmZiwgbS0+bWFnaWNbM10gJiAweGZmKTsKKyAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgaWYgKHN0cm5jbXAobS0+dmVyc2lvbiwgR1NUX01BSk9STUlOT1IsIEdTVF9CSU5BUllfUkVHSVNUUllfVkVSU0lPTl9MRU4pKQorICAgIHsKKyAgICAgIEdTVF9FUlJPUigiQmluYXJ5IHJlZ2lzdHJ5IG1hZ2ljIHZlcnNpb24gaXMgZGlmZmVyZW50IDogJXMgIT0gJXMiLAorCQlHU1RfTUFKT1JNSU5PUiwgbS0+dmVyc2lvbik7CisgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgIHJldHVybiAoaW4gKyBzaXplb2YgKEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMpKTsKK30KKworLyoKKyoqIEFkYXB0IGEgR3N0UGx1Z2luIHRvIG91ciBHc3RCaW5hcnlQbHVnaW5FbGVtZW50IHN0cnVjdHVyZSwgYW5kIHdyaXRlIGl0IHRvIHRoZSAKKyoqIHJlZ2lzdHJ5IGZpbGUuCisqLyAgIAorc3RhdGljIGdib29sZWFuCitnc3RfcmVnaXN0cnlfYmluYXJ5X3NhdmVfcGx1Z2luKEdMaXN0ICoqbGlzdCwgR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBHc3RQbHVnaW4gKnBsdWdpbikKK3sKKyAgR3N0QmluYXJ5UGx1Z2luRWxlbWVudCAqZTsKKyAgR3N0QmluYXJ5Q2h1bmNrICpjaGs7CisgIEdMaXN0ICp3YWxrOworCisgIGlmICgoZSA9IGNhbGxvYygxLCBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpKSkgPT0gTlVMTCB8fAorICAgICAgKGNoayA9IGNhbGxvYygxLCBzaXplb2YgKEdzdEJpbmFyeUNodW5jaykpKSA9PSBOVUxMKQorICAgIHJldHVybiBGQUxTRTsKKworICBjaGstPmRhdGEgPSBlOworICBjaGstPnNpemUgPSBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpOworICAqbGlzdCA9IGdfbGlzdF9hcHBlbmQoKmxpc3QsIGNoayk7CisKKyAgaWYgKCFzdHJuY3B5KGUtPm5hbWUsIHBsdWdpbi0+ZGVzYy5uYW1lLCBHU1RfQklOQVJZX1JFR0lTVFJZX05BTUVfTEVOKQkJICAgICAgIAl8fAorICAgICAgIXN0cm5jcHkoZS0+ZGVzY3JpcHRpb24sIHBsdWdpbi0+ZGVzYy5kZXNjcmlwdGlvbiwgR1NUX0JJTkFSWV9SRUdJU1RSWV9ERVNDUklQVElPTl9MRU4pCXx8CisgICAgICAhc3RybmNweShlLT5maWxlbmFtZSwgcGx1Z2luLT5maWxlbmFtZSwgX1BPU0lYX1BBVEhfTUFYKQkJCQkJfHwKKyAgICAgICFzdHJuY3B5KGUtPnZlcnNpb24sIHBsdWdpbi0+ZGVzYy52ZXJzaW9uLCBHU1RfQklOQVJZX1JFR0lTVFJZX1ZFUlNJT05fTEVOKQkJfHwKKyAgICAgICFzdHJuY3B5KGUtPmxpY2Vuc2UsIHBsdWdpbi0+ZGVzYy5saWNlbnNlLCBHU1RfQklOQVJZX1JFR0lTVFJZX0xJQ0VOU0VfTEVOKQkJfHwKKyAgICAgICFzdHJuY3B5KGUtPnNvdXJjZSwgcGx1Z2luLT5kZXNjLnNvdXJjZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9TT1VSQ0VfTEVOKQkJCXx8CisgICAgICAhc3RybmNweShlLT5wYWNrYWdlLCBwbHVnaW4tPmRlc2MucGFja2FnZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9QQUNLQUdFX0xFTikJCXx8CisgICAgICAhc3RybmNweShlLT5vcmlnaW4sIHBsdWdpbi0+ZGVzYy5vcmlnaW4sIEdTVF9CSU5BUllfUkVHSVNUUllfT1JJR0lOX0xFTikpCisgICAgeworICAgICAgR1NUX0RFQlVHKCJDYW4ndCBhZGFwdCBHc3RQbHVnaW4gdG8gR3N0QmluYXJ5UGx1Z2luRWxlbWVudCIpOworICAgICAgZ290byBmYWlsOworICAgIH0KKworICBlLT5zaXplID0gcGx1Z2luLT5maWxlX3NpemU7CisgIGUtPm0zMnAgPSBwbHVnaW4tPmZpbGVfbXRpbWU7CisgIAorICBHTGlzdCAqZnRfbGlzdCA9IGdzdF9yZWdpc3RyeV9nZXRfZmVhdHVyZV9saXN0X2J5X3BsdWdpbihyZWdpc3RyeSwgcGx1Z2luLT5kZXNjLm5hbWUpOworCisgIGZvciAod2FsayA9IGZ0X2xpc3Q7IHdhbGs7IHdhbGsgPSBnX2xpc3RfbmV4dCh3YWxrKSwgZS0+bmZlYXR1cmVzKyspCisgICAgeworICAgICAgR3N0UGx1Z2luRmVhdHVyZSAqY3VyZmVhdCA9IEdTVF9QTFVHSU5fRkVBVFVSRSAod2Fsay0+ZGF0YSk7CisgICAgICBHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICpuZXdmZWF0OworICAgICAgY29uc3QgY2hhciAqZmVhdF9uYW1lID0gZ190eXBlX25hbWUoR19PQkpFQ1RfVFlQRShjdXJmZWF0KSk7CisgICAgICAKKyAgICAgIGlmICgobmV3ZmVhdCA9IGNhbGxvYygxLCBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUpKSkgPT0gTlVMTCkKKwkgIGdvdG8gZmFpbDsKKworICAgICAgaWYgKCFmZWF0X25hbWUgfHwgIWdzdF9yZWdpc3RyeV9iaW5hcnlfZmlsbF9mZWF0dXJlKGxpc3QsIGN1cmZlYXQsIG5ld2ZlYXQsIGZlYXRfbmFtZSkpCisJeworCSAgR1NUX0VSUk9SKCJDYW4ndCBmaWxsIHBsdWdpbiBmZWF0dXJlLCBhYm9ydGluZy4iKTsKKwkgIGdvdG8gZmFpbDsKKwl9CisgICAgfQorCisgIEdTVF9ERUJVRygiRm91bmQgJWQgZmVhdHVyZXMgaW4gcGx1Z2luIFwiJXNcIlxuIiwgZS0+bmZlYXR1cmVzLCBlLT5uYW1lKTsKKyAgcmV0dXJuIFRSVUU7CisKKyBmYWlsOgorICBmcmVlKGNoayk7CisgIGZyZWUoZSk7CisgIHJldHVybiBGQUxTRTsKK30KKworLyoKKyoqIFdyaXRlIHRoZSBjYWNoZSB0byBmaWxlLiBQYXJ0IG9mIHRoZSBjb2RlIHdhcyB0YWtlbiBmcm9tIGdzdHJlZ2lzdHJ5eG1sLmMKKyovCitnYm9vbGVhbiAKK2dzdF9yZWdpc3RyeV9iaW5hcnlfd3JpdGVfY2FjaGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCBjaGFyICpsb2NhdGlvbikKK3sKKyAgR0xpc3QgKndhbGs7CisgIGNoYXIgKnRtcF9sb2NhdGlvbjsKKyAgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyAqbWFnaWM7CisgIEdzdEJpbmFyeUNodW5jayAqbWFnaWNfY2h1bmNrOworICBHTGlzdCAqdG9fd3JpdGUgPSBOVUxMOworIAorICBHU1RfSU5GTygiV3JpdGluZyBiaW5hcnkgcmVnaXN0cnkgY2FjaGUiKTsKKworICBnX3JldHVybl92YWxfaWZfZmFpbCAoR1NUX0lTX1JFR0lTVFJZIChyZWdpc3RyeSksIEZBTFNFKTsKKyAgdG1wX2xvY2F0aW9uID0gZ19zdHJjb25jYXQgKGxvY2F0aW9uLCAiLnRtcFhYWFhYWCIsIE5VTEwpOworICByZWdpc3RyeS0+Y2FjaGVfZmlsZSA9IGdfbWtzdGVtcCAodG1wX2xvY2F0aW9uKTsKKyAgaWYgKHJlZ2lzdHJ5LT5jYWNoZV9maWxlID09IC0xKQorICAgIHsKKyAgICAgIGNoYXIgKmRpcjsKKworICAgICAgLyogb29wcywgSSBiZXQgdGhlIGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0ICovCisgICAgICBkaXIgPSBnX3BhdGhfZ2V0X2Rpcm5hbWUgKGxvY2F0aW9uKTsKKyAgICAgIGdfbWtkaXJfd2l0aF9wYXJlbnRzIChkaXIsIDA3NzcpOworICAgICAgZ19mcmVlIChkaXIpOworICAgICAgCisgICAgICByZWdpc3RyeS0+Y2FjaGVfZmlsZSA9IGdfbWtzdGVtcCAodG1wX2xvY2F0aW9uKTsKKyAgICB9CisKKyAgaWYgKHJlZ2lzdHJ5LT5jYWNoZV9maWxlID09IC0xKQorICAgIGdvdG8gZmFpbDsKKworICBpZiAoKG1hZ2ljID0gY2FsbG9jKDEsIHNpemVvZiAoR3N0QmluYXJ5UmVnaXN0cnlNYWdpYykpKSA9PSBOVUxMIHx8CisgICAgICAhZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9pbml0aWFsaXplX21hZ2ljKG1hZ2ljKSkKKyAgICBnb3RvIGZhaWw7CisKKyAgaWYgKChtYWdpY19jaHVuY2sgPSBjYWxsb2MoMSwgc2l6ZW9mIChHc3RCaW5hcnlDaHVuY2spKSkgPT0gTlVMTCkKKyAgICBnb3RvIGZhaWw7CisKKyAgbWFnaWNfY2h1bmNrLT5kYXRhID0gbWFnaWM7CisgIG1hZ2ljX2NodW5jay0+c2l6ZSA9IHNpemVvZiAoR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyk7CisgIHRvX3dyaXRlID0gZ19saXN0X2FwcGVuZCh0b193cml0ZSwgbWFnaWNfY2h1bmNrKTsgCisKKyAgLyogSXRlcmF0ZSB0cm91Z2ggdGhlIGxpc3Qgb2YgcGx1Z2lucyBpbiB0aGUgR3N0UmVnaXN0cnkgYW5kIGFkYXB0IHRoZW0gdG8gb3VyIHN0cnVjdHVyZXMgKi8KKyAgZm9yICh3YWxrID0gZ19saXN0X2xhc3QocmVnaXN0cnktPnBsdWdpbnMpOyB3YWxrOyB3YWxrID0gZ19saXN0X3ByZXZpb3VzKHdhbGspKQorICAgIHsKKyAgICAgIEdzdFBsdWdpbiAqcGx1Z2luID0gR1NUX1BMVUdJTih3YWxrLT5kYXRhKTsKKyAgICAgIAorICAgICAgaWYgKCFwbHVnaW4tPmZpbGVuYW1lKQorCWNvbnRpbnVlOworCSAgCisgICAgICBpZiAocGx1Z2luLT5mbGFncyAmIEdTVF9QTFVHSU5fRkxBR19DQUNIRUQpCisJeworCSAgaW50IHJldDsKKwkgIHN0cnVjdCBzdGF0IHN0YXRidWY7CisJICAKKwkgIHJldCA9IGdfc3RhdCAocGx1Z2luLT5maWxlbmFtZSwgJnN0YXRidWYpOworCSAgaWYgKChyZXQgPSBnX3N0YXQgKHBsdWdpbi0+ZmlsZW5hbWUsICZzdGF0YnVmKSkgPCAwIAl8fAorCSAgICAgIHBsdWdpbi0+ZmlsZV9tdGltZSAhPSBzdGF0YnVmLnN0X210aW1lCQl8fAorCSAgICAgIHBsdWdpbi0+ZmlsZV9zaXplICE9IHN0YXRidWYuc3Rfc2l6ZSkKKwkgICAgY29udGludWU7CisJfQorCisgICAgICBpZiAoIWdzdF9yZWdpc3RyeV9iaW5hcnlfc2F2ZV9wbHVnaW4oJnRvX3dyaXRlLCByZWdpc3RyeSwgcGx1Z2luKSkKKwl7CisJICBHU1RfRVJST1IoIkNhbid0IHdyaXRlIGJpbmFyeSBwbHVnaW4gaW5mb3JtYXRpb24gZm9yIFwiJXNcIiIsIHBsdWdpbi0+ZmlsZW5hbWUpOworCSAgY29udGludWU7IC8qIFRyeSBhbnl3YXkgKi8KKwl9CisgICAgfQorCisgIGZvciAod2FsayA9IGdfbGlzdF9maXJzdCh0b193cml0ZSk7IHdhbGs7IHdhbGsgPSBnX2xpc3RfbmV4dCh3YWxrKSkKKyAgICB7CisgICAgICBHc3RCaW5hcnlDaHVuY2sgKmN1ciA9IHdhbGstPmRhdGE7CisKKyAgICAgIGlmICghZ3N0X3JlZ2lzdHJ5X2JpbmFyeV93cml0ZShyZWdpc3RyeSwgY3VyLT5kYXRhLCBjdXItPnNpemUpKQorCXsKKwkgIGZyZWUoY3VyLT5kYXRhKTsKKwkgIGZyZWUoY3VyKTsKKwkgIGdfbGlzdF9mcmVlKHRvX3dyaXRlKTsKKwkgIGdvdG8gZmFpbDsKKwl9CisgICAgICBmcmVlKGN1ci0+ZGF0YSk7CisgICAgICBmcmVlKGN1cik7CisgICAgfQorICBnX2xpc3RfZnJlZSh0b193cml0ZSk7CisKKyAgaWYgKGNsb3NlKHJlZ2lzdHJ5LT5jYWNoZV9maWxlKSA8IDApCisgICAgeworICAgICAgR1NUX0RFQlVHKCJDYW4ndCBjbG9zZSByZWdpc3RyeSBmaWxlIDogJXMiLCBzdHJlcnJvcihlcnJubykpOworICAgICAgZ290byBmYWlsOworICAgIH0KKyAgCisgIGlmIChnX2ZpbGVfdGVzdCAodG1wX2xvY2F0aW9uLCBHX0ZJTEVfVEVTVF9FWElTVFMpKSB7CisjaWZkZWYgV0lOMzIKKyAgICByZW1vdmUgKGxvY2F0aW9uKTsKKyNlbmRpZgorICAgIHJlbmFtZSAodG1wX2xvY2F0aW9uLCBsb2NhdGlvbik7CisgIH0KKworICBnX2ZyZWUgKHRtcF9sb2NhdGlvbik7CisgIHJldHVybiBUUlVFOworCisgZmFpbDoKKyAgZ19mcmVlKHRtcF9sb2NhdGlvbik7CisgIHJldHVybiBGQUxTRTsKK30KKworc3RhdGljIEdzdFBsdWdpbkZlYXR1cmUqCitnc3RfcmVnaXN0cnlfYmluYXJ5X2xvYWRfZmVhdHVyZShHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICppbikKK3sKKyAgR3N0UGx1Z2luRmVhdHVyZSAqZmVhdHVyZTsKKyAgR1R5cGUgdHlwZTsKKworICBpZiAoIWluLT50eXBlbmFtZSB8fCAhKihpbi0+dHlwZW5hbWUpKQorICAgIHJldHVybiBOVUxMOworCisgIC8qICBHU1RfSU5GTygiUGx1Z2luIGZlYXR1cmUgdHlwZW5hbWUgOiAlcyIsIGluLT50eXBlbmFtZSk7Ki8KKworICBpZiAoISh0eXBlID0gZ190eXBlX2Zyb21fbmFtZShpbi0+dHlwZW5hbWUpKSkKKyAgICB7CisgICAgICBHU1RfRVJST1IoIlVua25vd24gdHlwZSBmcm9tIHR5cGVuYW1lIik7CisgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgIGZlYXR1cmUgPSBnX29iamVjdF9uZXcgKHR5cGUsIE5VTEwpOworCisgIGlmICghZmVhdHVyZSkgeworICAgIEdTVF9FUlJPUigiQ2FuJ3QgY3JlYXRlIGZlYXR1cmUgZnJvbSB0eXBlIik7CisgICAgcmV0dXJuIE5VTEw7CisgIH0KKworICBpZiAoIUdTVF9JU19QTFVHSU5fRkVBVFVSRSAoZmVhdHVyZSkpIHsKKyAgICAvKiBkb24ndCByZWFsbHkga25vdyB3aGF0IGl0IGlzICovCisgICAgaWYgKEdTVF9JU19PQkpFQ1QgKGZlYXR1cmUpKQorICAgICAgZ3N0X29iamVjdF91bnJlZiAoZmVhdHVyZSk7CisgICAgZWxzZQorICAgICAgZ19vYmplY3RfdW5yZWYgKGZlYXR1cmUpOworICAgIHJldHVybiBOVUxMOworICB9CisKKyAgZmVhdHVyZS0+bmFtZSA9IGdfc3RyZHVwKGluLT5uYW1lKTsKKyAgZmVhdHVyZS0+cmFuayA9IGluLT5yYW5rOworCisgIGlmIChHU1RfSVNfRUxFTUVOVF9GQUNUT1JZKGZlYXR1cmUpKQorICAgIHsKKyAgICAgIEdzdEVsZW1lbnRGYWN0b3J5ICpmYWN0b3J5ID0gR1NUX0VMRU1FTlRfRkFDVE9SWShmZWF0dXJlKTsKKworICAgICAgZmFjdG9yeS0+ZGV0YWlscy5sb25nbmFtZSA9IGdfc3RyZHVwKGluLT5sb25nbmFtZSk7CisgICAgICBmYWN0b3J5LT5kZXRhaWxzLmtsYXNzID0gZ19zdHJkdXAoaW4tPmNsYXNzKTsKKyAgICAgIGZhY3RvcnktPmRldGFpbHMuZGVzY3JpcHRpb24gPSBnX3N0cmR1cChpbi0+ZGVzY3JpcHRpb24pOworICAgICAgZmFjdG9yeS0+ZGV0YWlscy5hdXRob3IgPSBnX3N0cmR1cChpbi0+YXV0aG9yKTsKKworICAgICAgLyogICAgICBHU1RfSU5GTygiRWxlbWVudCBmYWN0b3J5IDogJXMiLCBmYWN0b3J5LT5kZXRhaWxzLmxvbmduYW1lKTsgKi8KKyAgICB9CisKKyAgR1NUX0RFQlVHKCJBZGRlZCBmZWF0dXJlICVwIHdpdGggbmFtZSAlcyIsIGZlYXR1cmUsIGZlYXR1cmUtPm5hbWUpOworICByZXR1cm4gZmVhdHVyZTsKK30KKworLyoKKyoqIE1ha2UgYSBuZXcgcGx1Z2luIGZyb20gY3VycmVudCBHc3RCaW5hcnlQbHVnaW5FbGVtZW50IHN0cnVjdHVyZQorKiogYW5kIHNhdmUgaXQgdG8gdGhlIEdzdFJlZ2lzdHJ5LiBSZXR1cm4gYW4gb2Zmc2V0IHRvIHRoZSBuZXh0CisqKiBHc3RCaW5hcnlQbHVnaW5FbGVtZW50IHN0cnVjdHVyZS4KKyovCitzdGF0aWMgdW5zaWduZWQgbG9uZworZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9nZXRfYmluYXJ5X3BsdWdpbihHc3RSZWdpc3RyeSAqcmVnaXN0cnksIGdjaGFyICppbikKK3sKKyAgR3N0QmluYXJ5UGx1Z2luRWxlbWVudCAqcCA9IChHc3RCaW5hcnlQbHVnaW5FbGVtZW50ICopIGluOworICBHc3RQbHVnaW4gKnBsdWdpbiA9IE5VTEw7CisgIEdMaXN0ICpwbHVnaW5fZmVhdHVyZXMgPSBOVUxMOworICBHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICpmZWF0OworICB1bnNpZ25lZCBpbnQgaTsKKyAgdW5zaWduZWQgbG9uZyBvZmZzZXQ7CisKKyAgcGx1Z2luID0gZ19vYmplY3RfbmV3IChHU1RfVFlQRV9QTFVHSU4sIE5VTEwpOworCisgIHBsdWdpbi0+ZmxhZ3MgfD0gR1NUX1BMVUdJTl9GTEFHX0NBQ0hFRDsKKworICBwbHVnaW4tPmRlc2MubmFtZSA9IGdfc3RyZHVwKHAtPm5hbWUpOworICBwbHVnaW4tPmRlc2MuZGVzY3JpcHRpb249IGdfc3RyZHVwKHAtPmRlc2NyaXB0aW9uKTsKKyAgcGx1Z2luLT5maWxlbmFtZSA9IGdfc3RyZHVwKHAtPmZpbGVuYW1lKTsKKyAgcGx1Z2luLT5kZXNjLnZlcnNpb24gPSBnX3N0cmR1cChwLT52ZXJzaW9uKTsKKyAgcGx1Z2luLT5kZXNjLmxpY2Vuc2UgPSBnX3N0cmR1cChwLT5saWNlbnNlKTsKKyAgcGx1Z2luLT5kZXNjLnNvdXJjZSA9IGdfc3RyZHVwKHAtPnNvdXJjZSk7CisgIHBsdWdpbi0+ZGVzYy5wYWNrYWdlID0gZ19zdHJkdXAocC0+cGFja2FnZSk7CisgIHBsdWdpbi0+ZGVzYy5vcmlnaW4gPSBnX3N0cmR1cChwLT5vcmlnaW4pOworICBwbHVnaW4tPmZpbGVfbXRpbWUgPSBwLT5tMzJwOworICBwbHVnaW4tPmZpbGVfc2l6ZSA9IHAtPnNpemU7CisgIHBsdWdpbi0+YmFzZW5hbWUgPSBnX3BhdGhfZ2V0X2Jhc2VuYW1lIChwbHVnaW4tPmZpbGVuYW1lKTsKKworICBpZiAocGx1Z2luLT5maWxlX210aW1lIDwgMCB8fCBwbHVnaW4tPmZpbGVfc2l6ZSA8IDApCisgICAgeworICAgICAgR1NUX0VSUk9SKCJQbHVnaW4gdGltZSBvciBmaWxlIHNpemUgaXMgbm90IHZhbGlkICEiKTsKKyAgICAgIGdfZnJlZShwbHVnaW4pOworICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICBpZiAocC0+bmZlYXR1cmVzIDwgMCkKKyAgICB7CisgICAgICBHU1RfRVJST1IoIlRoZSBudW1iZXIgb2YgZmVhdHVyZSBzdHJ1Y3R1cmUgaXMgbm90IHZhbGlkICEiKTsKKyAgICAgIGdzdF9vYmplY3RfdW5yZWYocGx1Z2luKTsKKyAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgZm9yIChmZWF0ID0gKEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUgKikgKGluICsgc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5FbGVtZW50KSksIGkgPSAwOyAKKyAgICAgICBpIDwgcC0+bmZlYXR1cmVzOyBpKyssIGZlYXQrKykKKyAgICB7CisgICAgICBHc3RQbHVnaW5GZWF0dXJlICpnc3RmZWF0OworCisgICAgICBpZiAoKGdzdGZlYXQgPSBnc3RfcmVnaXN0cnlfYmluYXJ5X2xvYWRfZmVhdHVyZShmZWF0KSkgPT0gTlVMTCkKKwl7CisJICBnX2xpc3RfZnJlZShwbHVnaW5fZmVhdHVyZXMpOworCSAgZ19mcmVlKHBsdWdpbik7CisJICBHU1RfRVJST1IoIkVycm9yIHdoaWxlIGxvYWRpbmcgYmluYXJ5IGZlYXR1cmUiKTsKKwkgIHJldHVybiAtMTsKKwl9CisgICAgICBnc3RmZWF0LT5wbHVnaW5fbmFtZSA9IGdfc3RyZHVwKHBsdWdpbi0+ZGVzYy5uYW1lKTsKKyAgICAgIHBsdWdpbl9mZWF0dXJlcyA9IGdfbGlzdF9wcmVwZW5kKHBsdWdpbl9mZWF0dXJlcywgZ3N0ZmVhdCk7CisgICAgfQorICAKKyAgR1NUX0RFQlVHKCJBZGRlZCBwbHVnaW4gXCIlc1wiIHRvIGdsb2JhbCByZWdpc3RyeSBmcm9tIGJpbmFyeSByZWdpc3RyeSIsIHBsdWdpbi0+ZGVzYy5uYW1lKTsgCisgIEdMaXN0ICpnOworCisgIGdzdF9yZWdpc3RyeV9hZGRfcGx1Z2luIChyZWdpc3RyeSwgcGx1Z2luKTsKKyAgZm9yIChnID0gcGx1Z2luX2ZlYXR1cmVzOyBnOyBnID0gZ19saXN0X25leHQgKGcpKQorICAgIGdzdF9yZWdpc3RyeV9hZGRfZmVhdHVyZSAocmVnaXN0cnksIEdTVF9QTFVHSU5fRkVBVFVSRSAoZy0+ZGF0YSkpOworICAvKiAgZ19saXN0X2ZyZWUocGx1Z2luX2ZlYXR1cmVzKTsgKi8KKworICBvZmZzZXQgPSBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpICsgcC0+bmZlYXR1cmVzICogc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5GZWF0dXJlKTsKKyAgcmV0dXJuIG9mZnNldDsKK30KKworCisvKgorKiogUmVhZCB0aGUgY2FjaGUgYW5kIGFkYXB0IGl0IHRvIGZpbGwgR3N0UmVnaXN0cnkKKyovIAorZ2Jvb2xlYW4gCitnc3RfcmVnaXN0cnlfYmluYXJ5X3JlYWRfY2FjaGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCBjaGFyICpsb2NhdGlvbikKK3sKKyAgR01hcHBlZEZpbGUgKm1hcHBlZCA9IE5VTEw7CisgIEdUaW1lciAqdGltZXIgPSBOVUxMOworICBnY2hhciAqY29udGVudHMgPSBOVUxMOworICBnZG91YmxlIHNlY29uZHM7CisgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBpbmM7CisgIGdzaXplIHNpemU7CisKKyAgLyogbWFrZSBzdXJlIHRoZXNlIHR5cGVzIGV4aXN0ICovCisgIEdTVF9UWVBFX0VMRU1FTlRfRkFDVE9SWTsKKyAgR1NUX1RZUEVfVFlQRV9GSU5EX0ZBQ1RPUlk7CisgIEdTVF9UWVBFX0lOREVYX0ZBQ1RPUlk7CisKKyAgdGltZXIgPSBnX3RpbWVyX25ldyAoKTsKKworICBpZiAoKG1hcHBlZCA9IGdfbWFwcGVkX2ZpbGVfbmV3KGxvY2F0aW9uLCBGQUxTRSwgTlVMTCkpID09IE5VTEwgfHwKKyAgICAgIChjb250ZW50cyA9IGdfbWFwcGVkX2ZpbGVfZ2V0X2NvbnRlbnRzKG1hcHBlZCkpID09IE5VTEwpCisgICAgeworICAgICAgR1NUX0VSUk9SKCJDYW4ndCBsb2FkIGZpbGUgOiAlcyIsIHN0cmVycm9yKGVycm5vKSk7CisgICAgICByZXR1cm4gRkFMU0U7CisgICAgfQorICBpZiAoKGNvbnRlbnRzID0gZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9jaGVja19tYWdpYyhjb250ZW50cykpID09IE5VTEwpCisgICAgeworICAgICAgR1NUX0VSUk9SKCJCaW5hcnkgcmVnaXN0cnkgdHlwZSBub3QgcmVjb2duaXplZCAoaW52YWxpZCBtYWdpYykiKTsKKyAgICAgIGdfbWFwcGVkX2ZpbGVfZnJlZShtYXBwZWQpOworICAgICAgcmV0dXJuIEZBTFNFOworICAgIH0KKworICBpZiAoKHNpemUgPSBnX21hcHBlZF9maWxlX2dldF9sZW5ndGgobWFwcGVkKSkgPCBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpKQorICAgIHsKKyAgICAgIEdTVF9JTkZPKCJObyBiaW5hcnkgcGx1Z2lucyBzdHJ1Y3R1cmUgdG8gcmVhZCIpOworICAgICAgcmV0dXJuIFRSVUU7IC8qIFRoaXMgaXMgbm90IHJlYWxseSBhbiBlcnJvciAqLworICAgIH0KKworICBmb3IgKG9mZnNldCA9IGluYyA9IDA7IChvZmZzZXQgKyBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpKSA8IHNpemUgJiYKKwkgKGluYyA9IGdzdF9yZWdpc3RyeV9iaW5hcnlfZ2V0X2JpbmFyeV9wbHVnaW4ocmVnaXN0cnksIGNvbnRlbnRzICsgb2Zmc2V0KSkgPiAwOworICAgICAgIG9mZnNldCArPSBpbmMpCisgICAgOyAvKiBNYXkgd2FudCBpbiB0aGUgZnV0dXJlIHRvIGRvIHNvbWV0aGluZyBoZXJlICovCisgIGlmIChpbmMgPCAwKQorICAgIHsKKyAgICAgIEdTVF9ERUJVRygiUHJvYmxlbSB3aGlsZSByZWFkaW5nIGJpbmFyeSByZWdpc3RyeSIpOworICAgICAgcmV0dXJuIEZBTFNFOworICAgIH0KKworICBnX3RpbWVyX3N0b3AgKHRpbWVyKTsKKyAgc2Vjb25kcyA9IGdfdGltZXJfZWxhcHNlZCAodGltZXIsIE5VTEwpOworICBnX3RpbWVyX2Rlc3Ryb3kgKHRpbWVyKTsKKworICBHU1RfSU5GTyAoImxvYWRlZCAlcyBpbiAlZiBzZWNvbmRzIiwgbG9jYXRpb24sIHNlY29uZHMpOworCisgIGlmIChtYXBwZWQpCisgICAgZ19tYXBwZWRfZmlsZV9mcmVlIChtYXBwZWQpOworICByZXR1cm4gVFJVRTsKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3RyZWdpc3RyeWJpbmFyeS5oIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2dzdHJlZ2lzdHJ5YmluYXJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmVmMjRkNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3RyZWdpc3RyeWJpbmFyeS5oCkBAIC0wLDAgKzEsMTk0IEBACisvKiBHU3RyZWFtZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwyMDAwIEVyaWsgV2FsdGhpbnNlbiA8b21lZ2FAY3NlLm9naS5lZHU+CisgKiAgICAgICAgICAgICAgICAgICAgMjAwMCBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY2hlbGxvLmJlPgorICoKKyAqIGdzdHJlZ2lzdHJ5Lmg6IEhlYWRlciBmb3IgcmVnaXN0cnkgaGFuZGxpbmcKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCisgKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAqLworCisvKiBTVUdHRVNUSU9OUyBBTkQgVE9ETyA6CisqKiA9PT09PT09PT09PT09PT09PT09PQorKiogLSBVc2UgYSBjb21wcmVzc2VkIHJlZ2lzdHJ5LCBidXQgd291bGQgaW5kdWNlIHBlcmZvcm1hbmNlIGxvc3MKKyoqIC0gRW5jcnlwdCB0aGUgcmVnaXN0cnksIGZvciBzZWN1cml0eSBwdXJwb3NlLCBidXQgd291bGQgYWxzbyByZWR1Y2UgcGVyZm9ybWFuY2VzCisqKiAtIEFsc28gaGF2ZSBhIG5vbi1tbWFwIGJhc2VkIGNhY2hlIHJlYWRpbmcgKHdvcmsgd2l0aCBmaWxlIGRlc2NyaXB0b3JzKQorKi8KKworI2lmbmRlZiBfX0dTVF9SRUdJU1RSWUJJTkFSWV9IX18KKyNkZWZpbmUgX19HU1RfUkVHSVNUUllCSU5BUllfSF9fCisKKyNpZmRlZiBIQVZFX0NPTkZJR19ICisjICBpbmNsdWRlICJjb25maWcuaCIKKyNlbmRpZgorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorI2lmZGVmIEhBVkVfVU5JU1REX0gKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorCisjaW5jbHVkZSA8Z3N0L2dzdF9wcml2YXRlLmg+CisjaW5jbHVkZSA8Z3N0L2dzdGVsZW1lbnQuaD4KKyNpbmNsdWRlIDxnc3QvZ3N0dHlwZWZpbmQuaD4KKyNpbmNsdWRlIDxnc3QvZ3N0dHlwZWZpbmRmYWN0b3J5Lmg+CisjaW5jbHVkZSA8Z3N0L2dzdHVyaS5oPgorI2luY2x1ZGUgPGdzdC9nc3RpbmZvLmg+CisjaW5jbHVkZSA8Z3N0L2dzdGVudW10eXBlcy5oPgorI2luY2x1ZGUgPGdzdC9nc3RyZWdpc3RyeS5oPgorI2luY2x1ZGUgPGdzdC9nc3RwYWR0ZW1wbGF0ZS5oPgorCisjaW5jbHVkZSAiZ2xpYi1jb21wYXQtcHJpdmF0ZS5oIgorI2luY2x1ZGUgPGdsaWIvZ3N0ZGlvLmg+CisKKy8qIEEgbWFnaWMsIHdyaXR0ZW4gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZSAqLworI2RlZmluZSBHU1RfTUFHSUNfQklOQVJZX1JFR0lTVFJZX1NUUiAiXHhjMFx4ZGVceGYwXHgwZCIKKyNkZWZpbmUgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9MRU4gKDQpCisjZGVmaW5lIEdTVF9NQUdJQ19CSU5BUllfVkVSU0lPTl9MRU4gKDY0KQorCit0eXBlZGVmIHN0cnVjdCBfR3N0QmluYXJ5UmVnaXN0cnlNYWdpYworeworICBjaGFyIG1hZ2ljW0dTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfTEVOXTsKKyAgY2hhciB2ZXJzaW9uW0dTVF9NQUdJQ19CSU5BUllfVkVSU0lPTl9MRU5dOworfSBHc3RCaW5hcnlSZWdpc3RyeU1hZ2ljOworCisKKy8qIFVzZWQgdG8gc3RvcmUgcG9pbnRlcnMgdG8gd3JpdGUgKi8KK3R5cGVkZWYgc3RydWN0IF9Hc3RCaW5hcnlDaHVuY2sKK3sKKyAgdm9pZCAqZGF0YTsKKyAgdW5zaWduZWQgaW50IHNpemU7Cit9IEdzdEJpbmFyeUNodW5jazsKKworCisvKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIChzdGF0aWNlbHkpIGV2ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgYSBwbHVnaW4KKyoqCisqKiBOb3RlcyA6CisqKiAibmZlYXR1cmVzIiBpcyB1c2VkIHRvIHNheSBob3cgbWFueSBHc3RCaW5hcnlQbHVnaW5GZWF0dXJlIHN0cnVjdHVyZXMgd2Ugd2lsbCBoYXZlIAorKiogcmlnaHQgYWZ0ZXIgdGhlIHN0cnVjdHVyZSBpdHNlbGYuCisqLworCisvKiBWYXJpb3VzIGxlbmdodCBkZWZpbmVzIGZvciBvdXIgR3N0QmluYXJ5UGx1Z2luRWxlbWVudCBzdHJ1Y3R1cmUgCisqKiBOb3RlIDogV2UgY291bGQgZXZlbnR1YWxseSB1c2Ugc21hbGxlciBzaXplCisqLworI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX05BTUVfTEVOICgyNTYpCisjZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfREVTQ1JJUFRJT05fTEVOICgxMDI0KQorI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1ZFUlNJT05fTEVOICg2NCkKKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9MSUNFTlNFX0xFTiAoMjU2KQorI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1NPVVJDRV9MRU4gKDI1NikKKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9QQUNLQUdFX0xFTiAoMTAyNCkKKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9PUklHSU5fTEVOICgxMDI0KQorCit0eXBlZGVmIHN0cnVjdCBfR3N0QmluYXJ5UGx1Z2luRWxlbWVudAoreworICBjaGFyIG5hbWVbR1NUX0JJTkFSWV9SRUdJU1RSWV9OQU1FX0xFTl07CisgIGNoYXIgZGVzY3JpcHRpb25bR1NUX0JJTkFSWV9SRUdJU1RSWV9ERVNDUklQVElPTl9MRU5dOworICBjaGFyIGZpbGVuYW1lW19QT1NJWF9QQVRIX01BWF07CisgIGNoYXIgdmVyc2lvbltHU1RfQklOQVJZX1JFR0lTVFJZX1ZFUlNJT05fTEVOXTsKKyAgY2hhciBsaWNlbnNlW0dTVF9CSU5BUllfUkVHSVNUUllfTElDRU5TRV9MRU5dOworICBjaGFyIHNvdXJjZVtHU1RfQklOQVJZX1JFR0lTVFJZX1NPVVJDRV9MRU5dOworICBjaGFyIHBhY2thZ2VbR1NUX0JJTkFSWV9SRUdJU1RSWV9QQUNLQUdFX0xFTl07CisgIGNoYXIgb3JpZ2luW0dTVF9CSU5BUllfUkVHSVNUUllfT1JJR0lOX0xFTl07CisgIHVuc2lnbmVkIGxvbmcgc2l6ZTsKKyAgdW5zaWduZWQgbG9uZyBtMzJwOworICB1bnNpZ25lZCBpbnQgbmZlYXR1cmVzOworfSBHc3RCaW5hcnlQbHVnaW5FbGVtZW50OworCisKKy8qIEEgc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIHBsdWdpbiBmZWF0dXJlcworKioKKyoqIE5vdGUgOgorKiogIm5wYWR0ZW1wbGF0ZXMiIGlzIHVzZWQgdG8gc3RvcmUgdGhlIG51bWJlciBvZiBHc3RCaW5hcnlQYWRUZW1wbGF0ZSBzdHJ1Y3R1cmVzIGZvbGxvd2luZyB0aGUgc3RydWN0dXJlIGl0c2VsZi4KKyoqICJuaW50ZXJmYWNlcyIgaXMgdXNlZCB0byBzdG9yZSB0aGUgbnVtYmVyIG9mIEdzdEJpbmFyeUludGVyZmFjZSBzdHJ1Y3R1cmVzIGZvbGxvd2luZyB0aGUgc3RydWN0dXJlIGl0c2VsZi4KKyoqICJudXJpdHlwZXMiIGlzIHVzZWQgdG8gc3RvcmUgdGhlIG51bWJlciBvZiBHc3RCaW5hcnlVcmlUeXBlIHN0cnVjdHVyZXMgZm9sbG93aW5nIHRoZSBzdHJ1Y3R1cmUgaXRzZWxmLgorKi8KKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9UWVBFTkFNRV9MRU4gKDI1NikKKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9OQU1FX0xFTiAoMjU2KQorI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0xPTkdOQU1FX0xFTiAoMTAyNCkKKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9DTEFTU19MRU4gKDUxMikKKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9ERVNDUklQVElPTl9MRU4gKDEwMjQpCisjZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfQVVUSE9SX0xFTiAoMjU2KQorCit0eXBlZGVmIHN0cnVjdCBfR3N0QmluYXJ5UGx1Z2luRmVhdHVyZQoreworICBjaGFyIHR5cGVuYW1lW0dTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfVFlQRU5BTUVfTEVOXTsKKyAgY2hhciBuYW1lW0dTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfTkFNRV9MRU5dOworICB1bnNpZ25lZCBsb25nIHJhbms7CisgIGNoYXIgbG9uZ25hbWVbR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9MT05HTkFNRV9MRU5dOworICBjaGFyIGNsYXNzW0dTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfQ0xBU1NfTEVOXTsKKyAgY2hhciBkZXNjcmlwdGlvbltHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0RFU0NSSVBUSU9OX0xFTl07CisgIGNoYXIgYXV0aG9yW0dTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfQVVUSE9SX0xFTl07CisgIHVuc2lnbmVkIGludCBucGFkdGVtcGxhdGVzOworICB1bnNpZ25lZCBpbnQgbmludGVyZmFjZXM7CisgIHVuc2lnbmVkIGludCBudXJpdHlwZXM7Cit9IEdzdEJpbmFyeVBsdWdpbkZlYXR1cmU7CisKKworLyogCisqKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyBvZiBhIHBsdWdpbiBmZWF0dXJlIAorKi8KKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9QQURURU1QTEFURV9OQU1FX0xFTiAoMjU2KQorI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1BBRFRFTVBMQVRFX0NBUF9MRU4gKDEwMjQpCisKK3R5cGVkZWYgc3RydWN0IF9Hc3RCaW5hcnlQYWRUZW1wbGF0ZQoreworICBjaGFyIG5hbWVbR1NUX0JJTkFSWV9SRUdJU1RSWV9QQURURU1QTEFURV9OQU1FX0xFTl07CisgIGNoYXIgY2FwW0dTVF9CSU5BUllfUkVHSVNUUllfUEFEVEVNUExBVEVfQ0FQX0xFTl07CisgIGludCBkaXJlY3Rpb247CQkJCQkvKiBFaXRoZXIgMDoic2luayIgb3IgMToic3JjIiAqLworICBHc3RQYWRQcmVzZW5jZSBwcmVzZW5jZTsKK30gR3N0QmluYXJ5UGFkVGVtcGxhdGU7CisKKy8qCisqKiBBIHZlcnkgc2ltcGxlIHN0cnVjdHVyZSBkZWZpbmluZyB0aGUgcGx1Z2luIGZlYXR1cmUgaW50ZXJmYWNlIHN0cmluZworKi8KKyNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9JTlRFUkZBQ0VfSU5URVJGQUNFX0xFTiAoNTEyKQordHlwZWRlZiBzdHJ1Y3QgX0dzdEJpbmFyeUludGVyZmFjZQoreworICBjaGFyIGludGVyZmFjZVtHU1RfQklOQVJZX1JFR0lTVFJZX0lOVEVSRkFDRV9JTlRFUkZBQ0VfTEVOXTsKKyAgdW5zaWduZWQgbG9uZyBzaXplOworfSBHc3RCaW5hcnlJbnRlcmZhY2U7CisKKy8qIFVyaSBUeXBlICovCit0eXBlZGVmIHN0cnVjdCBfR3N0QmluYXJ5VXJpVHlwZQoreworICBHc3RVUklUeXBlIHR5cGU7CisgIHVuc2lnbmVkIGxvbmcgbnVyaXByb3RvY29sczsKK30gR3N0QmluYXJ5VXJpVHlwZTsKKworLyogCisqKiBGdW5jdGlvbiBwcm90b3R5cGVzCisqLworCisvKiBMb2NhbCBwcm90b3R5cGVzICovCitpbmxpbmUgc3RhdGljIGdib29sZWFuIGdzdF9yZWdpc3RyeV9iaW5hcnlfd3JpdGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCB2b2lkICptZW0sIGNvbnN0IHNzaXplX3Qgc2l6ZSk7CitpbmxpbmUgc3RhdGljIGdib29sZWFuIGdzdF9yZWdpc3RyeV9iaW5hcnlfaW5pdGlhbGl6ZV9tYWdpYyhHc3RCaW5hcnlSZWdpc3RyeU1hZ2ljICptKTsKK3N0YXRpYyBnYm9vbGVhbiBnc3RfcmVnaXN0cnlfYmluYXJ5X2ZpbGxfZmVhdHVyZShHTGlzdCAqKmxpc3QsIEdzdFBsdWdpbkZlYXR1cmUgKiwgR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSAqLCBjb25zdCBjaGFyICopOworc3RhdGljIGdib29sZWFuIGdzdF9yZWdpc3RyeV9iaW5hcnlfc2F2ZV9wbHVnaW4oR0xpc3QgKipsaXN0LCBHc3RSZWdpc3RyeSAqcmVnaXN0cnksIEdzdFBsdWdpbiAqcGx1Z2luKTsKK3N0YXRpYyBnY2hhciAqZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9jaGVja19tYWdpYyhnY2hhciAqaW4pOworc3RhdGljIEdzdFBsdWdpbkZlYXR1cmUgKmdzdF9yZWdpc3RyeV9iaW5hcnlfbG9hZF9mZWF0dXJlKEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUgKik7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBnc3RfcmVnaXN0cnlfYmluYXJ5X2dldF9iaW5hcnlfcGx1Z2luKEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgZ2NoYXIgKmluKTsKKworLyogRXhwb3J0YWJsZSAqLworZ2Jvb2xlYW4gZ3N0X3JlZ2lzdHJ5X2JpbmFyeV93cml0ZV9jYWNoZShHc3RSZWdpc3RyeSAqcmVnaXN0cnksIGNvbnN0IGNoYXIgKmxvY2F0aW9uKTsKK2dib29sZWFuIGdzdF9yZWdpc3RyeV9iaW5hcnlfcmVhZF9jYWNoZShHc3RSZWdpc3RyeSAqcmVnaXN0cnksIGNvbnN0IGNoYXIgKmxvY2F0aW9uKTsKKworI2VuZGlmIC8qICFfX0dTVF9SRUdJU1RSWUJJTkFSWV9IX18gKi8KKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyXzAuMTAuMzYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyXzAuMTAuMzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYxYTQxMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXJfMC4xMC4zNi5iYgpAQCAtMCwwICsxLDUyIEBACitTVU1NQVJZID0gIkdTdHJlYW1lciBtdWx0aW1lZGlhIGZyYW1ld29yayIKK0RFU0NSSVBUSU9OID0gIkdTdHJlYW1lciBpcyBhIG11bHRpbWVkaWEgZnJhbWV3b3JrIGZvciBlbmNvZGluZyBhbmQgZGVjb2RpbmcgdmlkZW8gYW5kIHNvdW5kLiBcCitJdCBzdXBwb3J0cyBhIHdpZGUgcmFuZ2Ugb2YgZm9ybWF0cyBpbmNsdWRpbmcgbXAzLCBvZ2csIGF2aSwgbXBlZyBhbmQgcXVpY2t0aW1lLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PUdzdHJlYW1lciIKK1NFQ1RJT04gPSAibXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC9nc3QuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTIxO21kNT04ZTVmZTVlODdkMzNhMDQ0NzlmZGU4NjJlMjM4ZWFhNCIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbGlieG1sMiBiaXNvbi1uYXRpdmUgZmxleC1uYXRpdmUiCisKK1BSID0gInIyIgorCitTUkNfVVJJID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3RyZWFtZXIvZ3N0cmVhbWVyLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vY2hlY2tfZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dzdC1pbnNwZWN0LWNoZWNrLWVycm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYmFzZXBhcnNlLUZpeC1zZWxmLWNvbXBhcmlzb24tYWx3YXlzLWV2YWx1YXRlcy10by10ci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBhcnNlLW1ha2UtZ3JhbW1hci55LXdvcmstd2l0aC1CaXNvbi0zLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImEwY2Y3ZDY4NzdmNjk0YTFhMmFkMmI0ZDFlY2I4OTBiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU1NTZhNTI5ZTBhOGNmMWNkMGFmZDBjYWIyYWY1NDg4Yzk1MjRlN2MzZjQwOWRlMjliNWQ4MmJiNDFhZTdhMzAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0CisKK0dTVFJFQU1FUl9ERUJVRyA/PSAiLS1kaXNhYmxlLWRlYnVnIgorRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1kb2Nib29rIC0tZGlzYWJsZS1ndGstZG9jIFwKKyAgICAgICAgICAgIC0tZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nIC0tZGlzYWJsZS1jaGVjayBcCisgICAgICAgICAgICAtLWRpc2FibGUtZXhhbXBsZXMgLS1kaXNhYmxlLXRlc3RzIFwKKyAgICAgICAgICAgIC0tZGlzYWJsZS12YWxncmluZCAke0dTVFJFQU1FUl9ERUJVR30gXAorICAgICAgICAgICAgLS1kaXNhYmxlLWludHJvc3BlY3Rpb24gXAorICAgICAgICAgICAgIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfaGVhZGVyX3ZhbGdyaW5kX3ZhbGdyaW5kX2g9bm8iCisKKyMgYXBwbHkgZ3N0cmVhbWVyIGhhY2sgYWZ0ZXIgTWFrZWZpbGUuaW4uaW4gaW4gc291cmNlIGlzIHJlcGxhY2VkIGJ5IG91ciB2ZXJzaW9uIGZyb20KKyMgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nZXR0ZXh0L3BvL01ha2VmaWxlLmluLmluLCBidXQgYmVmb3JlIGNvbmZpZ3VyZSBpcyBleGVjdXRlZAorIyBodHRwOi8vbGlzdHMubGludXh0b2dvLm9yZy9waXBlcm1haWwvb3BlbmVtYmVkZGVkLWNvcmUvMjAxMi1Ob3ZlbWJlci8wMzIyMzMuaHRtbAorb2VfcnVuY29uZl9wcmVwZW5kKCkgeworICAgICAgICBzZWQgLWkgLWUgIjFhXFwiIC1lICdHRVRURVhUX1BBQ0tBR0UgPSBAR0VUVEVYVF9QQUNLQUdFQCcgJHtTfS9wby9NYWtlZmlsZS5pbi5pbgorfQorCisjZG9fY29tcGlsZV9wcmVwZW5kICgpIHsKKyMJbXYgJHtXT1JLRElSfS9nc3RyZWdpc3RyeWJpbmFyeS5bY2hdICR7U30vZ3N0LworI30KKworUlJFQ09NTUVORFNfJHtQTn1fcWVtdXg4NiAgICArPSAia2VybmVsLW1vZHVsZS1zbmQtZW5zMTM3MCBrZXJuZWwtbW9kdWxlLXNuZC1yYXdtaWRpIgorUlJFQ09NTUVORFNfJHtQTn1fcWVtdXg4Ni02NCArPSAia2VybmVsLW1vZHVsZS1zbmQtZW5zMTM3MCBrZXJuZWwtbW9kdWxlLXNuZC1yYXdtaWRpIgorCitGSUxFU18ke1BOfSArPSAiICR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLnNvIgorRklMRVNfJHtQTn0tZGV2ICs9ICIgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyoubGEgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiICR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8uZGVidWcvICR7bGliZXhlY2Rpcn0vZ3N0cmVhbWVyLTAuMTAvLmRlYnVnLyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZmlsZXMvZGlzcGxheS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZmlsZXMvZGlzcGxheS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWIwZTZjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9maWxlcy9kaXNwbGF5LnBhdGNoCkBAIC0wLDAgKzEsNjAgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gM2U0NmQyZTUwMWRhNjhkOTI5YmI1ZjI2OTAwYTI5MmE1ZmMwNGExZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZWZhbiBXZXN0ZXJmZWxkIDxzdGVmYW5Ac3BhY2UudHdjLmRlPgorRGF0ZTogTW9uLCAyMyBBcHIgMjAxMiAwMzoxMDoyMiArMDIwMAorU3ViamVjdDogW1BBVENIXSBGaXggdGltZSBkaXNwbGF5IHVwZGF0ZXMgKGJyb2tlbiBieSBpbnRyb2R1Y3Rpb24gb2YgcXVpZXQKKyBtb2RlKS4KKworLS0tCisgc3JjL2dzdDEyMy5jYyB8ICAgIDEgKworIHNyYy9tc2cuY2MgICAgfCAgICA3ICsrKysrKysKKyBzcmMvbXNnLmggICAgIHwgICAgMSArCisgMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9nc3QxMjMuY2MgYi9zcmMvZ3N0MTIzLmNjCitpbmRleCAyMGU5MWU1Li5jZTU4NzZkIDEwMDY0NAorLS0tIGEvc3JjL2dzdDEyMy5jYworKysrIGIvc3JjL2dzdDEyMy5jYworQEAgLTY0MCw2ICs2NDAsNyBAQCBjYl9wcmludF9wb3NpdGlvbiAoZ3BvaW50ZXIgKmRhdGEpCisgICAgICAgZWxzZQorICAgICAgICAgYmxhbmtzICs9ICIgICAgICAgICAiOworICAgICAgIE1zZzo6cHJpbnQgKCIlcyVzXHIiLCBzdGF0dXMuY19zdHIoKSwgYmxhbmtzLmNfc3RyKCkpOworKyAgICAgIE1zZzo6Zmx1c2goKTsKKyAgICAgfQorIAorICAgLyogY2FsbCBtZSBhZ2FpbiAqLworZGlmZiAtLWdpdCBhL3NyYy9tc2cuY2MgYi9zcmMvbXNnLmNjCitpbmRleCA1NDdjZDkwLi4zM2NhZGEyIDEwMDY0NAorLS0tIGEvc3JjL21zZy5jYworKysrIGIvc3JjL21zZy5jYworQEAgLTQxLDYgKzQxLDEzIEBAIHByaW50IChjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKKyAgICAgfQorIH0KKyAKKyt2b2lkCisrZmx1c2goKQorK3sKKysgIGlmICghT3B0aW9uczo6dGhlKCkucXVpZXQpCisrICAgIGZmbHVzaCAoc3Rkb3V0KTsKKyt9CisrCisgfQorIAorIH0KK2RpZmYgLS1naXQgYS9zcmMvbXNnLmggYi9zcmMvbXNnLmgKK2luZGV4IGUwY2VkMjQuLjViZWJhYzAgMTAwNjQ0CistLS0gYS9zcmMvbXNnLmgKKysrKyBiL3NyYy9tc2cuaAorQEAgLTI3LDYgKzI3LDcgQEAgbmFtZXNwYWNlIE1zZworIHsKKyAKKyB2b2lkIHByaW50IChjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7Cisrdm9pZCBmbHVzaCgpOworIAorIH0KKyAKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdDEyM18wLjMuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0MTIzXzAuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3ZjFkOWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdDEyM18wLjMuMS5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkZsZXhpYmxlIENMSSBwbGF5ZXIgaW4gdGhlIHNwaXJpdCBvZiBtcGcxMjMsIGJhc2VkIG9uIEdTdHJlYW1lciIKK0hPTUVQQUdFID0gImh0dHA6Ly9zcGFjZS50d2MuZGUvfnN0ZWZhbi9nc3QxMjMucGhwIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZ3N0MTIzLmNjO2JlZ2lubGluZT0xO2VuZGxpbmU9MTk7bWQ1PTA1ZDJmNWQ1NGI5ODViOTg2YzI2YWY5MzFkMjA4NGY4IgorCitERVBFTkRTID0gImxpYngxMSBnc3RyZWFtZXIgZ3N0LXBsdWdpbnMtYmFzZSBndGsrIG5jdXJzZXMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NwYWNlLnR3Yy5kZS9+c3RlZmFuL2dzdDEyMy8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9kaXNwbGF5LnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWU3Nzc2N2M5ZDZmZWNlZTU2NDFmOTU4MDRmMTYwZmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODlkMWRlMDI1ZWNhMDQ2NmMxMjVkY2Q2YTExYjY0MzQxYmRmOThlZTRjMDNjM2U1YTEyMzIxZDc3Y2I4YjBjZSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUE5CTEFDS0xJU1RbZ3N0MTIzXSA/PSAiZ3N0MTIzIGlzIHN0aWxsICJzb21ldGltZXMiIHVzaW5nIHdyb25nIHN5c3Jvb3QiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliYW8vbGliYW9fMS4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliYW8vbGliYW9fMS4yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTMzOWRmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJhby9saWJhb18xLjIuMC5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIkNyb3NzLXBsYXRmb3JtIGF1ZGlvIG91dHB1dCBsaWJyYXJ5IGFuZCBwbHVnaW5zIgorREVTQ1JJUFRJT04gPSAiTGliYW8gaXMgYSBjcm9zcy1wbGF0Zm9ybSBhdWRpbyBsaWJyYXJ5IHRoYXQgYWxsb3dzIHByb2dyYW1zIHRvIFwKKyAgICAgICAgICAgICAgIG91dHB1dCBhdWRpbyB1c2luZyBhIHNpbXBsZSBBUEkgb24gYSB3aWRlIHZhcmlldHkgb2YgcGxhdGZvcm1zLiIKK1NFQ1RJT04gPSAibXVsdGltZWRpYSIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3LnhpcGgub3JnL2FvLyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTUkNfVVJJPSJodHRwOi8vZG93bmxvYWRzLnhpcGgub3JnL3JlbGVhc2VzL2FvLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZjVkZDIwZDdlOTVmZDBkZDcyZGY1MzUzODI5ZjA5NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwM2FkMjMxYWQxZjlkNjRiNTI0NzQzOTJkNjNjMzExOTdiMGJjN2JkNDE2ZTU4YjFjMTBhMzI5YTVlZDg5Y2FmIgorCitpbmhlcml0IGF1dG90b29scworCitQQUNLQUdFUyArPSAiJHtCUE59LWNrcG9ydCIKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke0JQTn0tcGx1Z2luLS4qIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgZmluZCAiJHtEfSIgLW5hbWUgJyoubGEnIC1leGVjIHJtIC1mIHt9ICsKK30KKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIHJvb3RkaXIgPSBiYi5kYXRhLmV4cGFuZCgnJHtsaWJkaXJ9L2FvL3BsdWdpbnMtNCcsIGQpCisgICAgcm9vdGRpcl9kYmcgPSBiYi5kYXRhLmV4cGFuZCgnJHtsaWJkaXJ9L2FvL3BsdWdpbnMtNC8uZGVidWcnLCBkKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHJvb3RkaXIsICdeKC4qKVwuc28kJywgb3V0cHV0X3BhdHRlcm49JyR7QlBOfS1wbHVnaW4tJXMnLCBkZXNjcmlwdGlvbj0nQU8gJXMgcGx1Z2luJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCByb290ZGlyX2RiZywgJ14oLiopXC5zbyQnLCBvdXRwdXRfcGF0dGVybj0nJHtCUE59LXBsdWdpbi0lcy1kYmcnLCBkZXNjcmlwdGlvbj0nQU8gJXMgcGx1Z2luIGRlYnVnIGRhdGEnKQorfQorCitQQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCAncHVsc2VhdWRpbycsICcnLCBkKX0gJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdhbHNhJywgJ2Fsc2EnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tlc291bmRdID0gIi0tZW5hYmxlLWVzZCwtLWRpc2FibGUtZXNkLGVzb3VuZCIKK1BBQ0tBR0VDT05GSUdbYWxzYV0gPSAiLS1lbmFibGUtYWxzYSwtLWRpc2FibGUtYWxzYSxhbHNhLWxpYiIKK1BBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLS1lbmFibGUtcHVsc2UsLS1kaXNhYmxlLXB1bHNlLHB1bHNlYXVkaW8iCitGSUxFU18ke0JQTn0tY2twb3J0ID0gIiR7bGliZGlyfS9ja3BvcnQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliYXZjMTM5NC9saWJhdmMxMzk0XzAuNS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmF2YzEzOTQvbGliYXZjMTM5NF8wLjUuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2UyYmYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmF2YzEzOTQvbGliYXZjMTM5NF8wLjUuNC5iYgpAQCAtMCwwICsxLDE1IEBACitERVNDUklQVElPTiA9ICJsaWJhdmMxMzk0IGlzIGEgcHJvZ3JhbW1pbmcgaW50ZXJmYWNlIGZvciB0aGUgMTM5NCBUcmFkZSBcCitBc3NvY2lhdGlvbiBBVi9DIChBdWRpby9WaWRlbyBDb250cm9sKSBEaWdpdGFsIEludGVyZmFjZSBDb21tYW5kIFNldCIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGliYXZjMTM5NC8iCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKKworREVQRU5EUyA9ICJsaWJyYXcxMzk0IgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGNmM2M4MjU2NTllODI1Mzk2NDVkYTQxYTc5MDg1ODkiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiY2FmMGRiMDU5ZDhiOGQzNWQ2ZjA4ZTZjMGUxYzdkZmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2NiMWZmMDk1MDZhZTkxMWNhOTg2MGJlZjRhZjA4YzI0MDNmM2UxMzFmNmM5MTNhMmNiZDZkZGNhNDIxNWI1MyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZGMxMzk0L2ZpbGVzL2luc3RhbGxfZXhhbXBsZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZGMxMzk0L2ZpbGVzL2luc3RhbGxfZXhhbXBsZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODkxMzNhZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkYzEzOTQvZmlsZXMvaW5zdGFsbF9leGFtcGxlcy5wYXRjaApAQCAtMCwwICsxLDE0IEBACitJbmRleDogbGliZGMxMzk0L2V4YW1wbGVzL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGliZGMxMzk0Lm9yaWcvZXhhbXBsZXMvTWFrZWZpbGUuYW0JMjAxMi0wNi0zMCAxNzo1MDo0Ni4wMDAwMDAwMDAgLTA3MDAKKysrKyBsaWJkYzEzOTQvZXhhbXBsZXMvTWFrZWZpbGUuYW0JMjAxMi0wNi0zMCAxOTowMjoxMy44MjI2NDY0MzAgLTA3MDAKK0BAIC0zNiw4ICszNiw3IEBACisgQU1fTERGTEFHUyA9IC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29yayBDYXJib24KKyBlbmRpZgorIAorLW5vaW5zdF9QUk9HUkFNUyA9ICQoQSkKKy1iaW5fUFJPR1JBTVMgPSAkKEIpCisrYmluX1BST0dSQU1TID0gJChBKSAkKEIpCisgCisgTERBREQgPSAuLi9kYzEzOTQvbGliZGMxMzk0LmxhCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZGMxMzk0L2xpYmRjMTM5NF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZGMxMzk0L2xpYmRjMTM5NF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGVhNWNiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkYzEzOTQvbGliZGMxMzk0X2dpdC5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkNhcHR1cmUgYW5kIGNvbnRyb2wgQVBJIGZvciBJSURDIGNvbXBsaWFudCBjYW1lcmFzIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJkYzEzOTQvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM4NDhlNzhkOWE0YTVjYzY5OTA2MTc4ZTRkNmZiZDY0IgorCisjIGxpYnNkbCB0byBwcm92aWRlIHNkbC5tNCB3aXRoIEFNX1BBVEhfU0RMCitERVBFTkRTICs9ICJsaWJ1c2IxIGxpYnJhdzEzOTQgbGlic2RsIgorCitQViA9ICIyLjIuMStnaXRyJHtTUkNQVn0iCisKK1NSQ1JFViA9ICJiOTAzNDI5MzNiNGI0ODYzNGI5OGI3MzgwNWY0N2JkMjVlZDU4NTdlIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5jb2RlLnNmLm5ldC9wL2xpYmRjMTM5NC9jb2RlO2JyYW5jaD1tYXN0ZXI7cHJvdG9jb2w9Z2l0IFwKKyAgICAgICAgICAgZmlsZTovL2luc3RhbGxfZXhhbXBsZXMucGF0Y2ggXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdC8ke1BOfSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1kb3h5Z2VuLWRvYyAtLWRpc2FibGUtZXhhbXBsZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZicHNpL2xpYmR2YnBzaV8xLjMuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkdmJwc2kvbGliZHZicHNpXzEuMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4YjAxMTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZicHNpL2xpYmR2YnBzaV8xLjMuMC5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJsaWJkdmJwc2kgaXMgYSBzaW1wbGUgbGlicmFyeSBkZXNpZ25lZCBmb3IgZGVjb2RpbmcgXAorYW5kIGdlbmVyYXRpb24gb2YgTVBFRyBUUyBhbmQgRFZCIFBTSSB0YWJsZXMgYWNjb3JkaW5nIHRvIHN0YW5kYXJkcyBcCitJU08vSUVDIDEzODE4IGFuZCBJVFUtVCBILjIyMi4wLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL2RldmVsb3BlcnMvbGliZHZicHNpLmh0bWwiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnZpZGVvbGFuLm9yZy9wdWIvbGliZHZicHNpLyR7UFZ9L2xpYmR2YnBzaS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjJiMjE3MDM5YTEyOTkwMDBjMzk0MjM0NDFmNzdlNzZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEyZmVkMWQxMTk4MDY2MmY5MTliYmQxZjI5ZTI0NjI3MTllMGY2MjI3ZTFhNTMxMzEwYmQ1YTcwNmRiMGExZmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZkbmF2L2xpYmR2ZG5hdl81LjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkdmRuYXYvbGliZHZkbmF2XzUuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyZGQ5NmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZkbmF2L2xpYmR2ZG5hdl81LjAuMy5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gImxpYnJhcnkgZm9yIERWRCBuYXZpZ2F0aW9uIGZlYXR1cmVzIgorU0VDVElPTiA9ICJsaWJzL211bHRpbWVkaWEiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJsaWJkdmRyZWFkIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC52aWRlb2xhbi5vcmcvcHViL3ZpZGVvbGFuLyR7QlBOfS8ke1BWfS8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImU5ZWE0ZGUzYmQ4ZjIwNGU2MTMwMWQ0MDdkMDlmMDMzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUwOTcwMjNlM2QyYjM2OTQ0Yzc2M2YxZGY3MDdlZTA2YjE5ZGM2MzliMmI2OGZiMzAxMTNhNWYyY2JmNjBiNmQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlIGJpbmNvbmZpZyBwa2djb25maWcKKworQ09ORklHVVJFT1BUU19yZW1vdmUgPSAiLS1kaXNhYmxlLXNpbGVudC1ydWxlcyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmllYzYxODgzL2xpYmllYzYxODgzXzEuMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmllYzYxODgzL2xpYmllYzYxODgzXzEuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MDc5YmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliaWVjNjE4ODMvbGliaWVjNjE4ODNfMS4yLjAuYmIKQEAgLTAsMCArMSwxNiBAQAorREVTQ1JJUFRJT04gPSAiQW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIG1vc3QgcmVsZXZhbnQgcGFydHMgb2YgSUVDIDYxODgzIG92ZXIgXAorbGlicmF3MTM5NCBmb3IgdHJhbnNtaXNzaW9uLCByZWNlcHRpb24sIGFuZCBtYW5hZ2VtZW50IG9mIG1lZGlhIHN0cmVhbXMgYW5kIFwKK2RldmljZXMgc3VjaCBhcyBEViwgTVBFRzItVFMsIGF1ZGlvLCBhbmQgTUlESSIKK0hPTUVQQUdFID0gImh0dHBzOi8vaWVlZTEzOTQud2lraS5rZXJuZWwub3JnL2luZGV4LnBocC9MaWJyYXJpZXMjbGliaWVjNjE4ODMiCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKKworREVQRU5EUyA9ICJsaWJyYXcxMzk0IgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzcxNzgyY2I2MjQ1YzdmYmJlNzRiYzBlYzA1OWJlZmYiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvbGlicy9pZWVlMTM5NC8ke0JQTn0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gImVkOTFiYzE3MjdmYWM4ZTAxOTQwMmZjMzcyNGEyODNkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQxZTAyYzdlMjc2ZmFjMzczMTNhMmY4YzFjMzNkN2E5ZTE5MjgyZmYxNmYzMmU3MjQzNTQyOGZmNTEyMWYwOWUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL21wZzEyMy9tcGcxMjNfMS4yMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL21wZzEyMy9tcGcxMjNfMS4yMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2YTkxMmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbXBnMTIzL21wZzEyM18xLjIyLjQuYmIKQEAgLTAsMCArMSw2NSBAQAorU1VNTUFSWSA9ICJBdWRpbyBkZWNvZGVyIGZvciBNUEVHLTEgTGF5ZXIgMS8yLzMiCitERVNDUklQVElPTiA9ICJUaGUgY29yZSBvZiBtcGcxMjMgaXMgYW4gTVBFRy0xIExheWVyIDEvMi8zIGRlY29kaW5nIGxpYnJhcnksIHdoaWNoIGNhbiBiZSB1c2VkIGJ5IG90aGVyIHByb2dyYW1zLiBcCittcGcxMjMgYWxzbyBjb21lcyB3aXRoIGEgY29tbWFuZC1saW5lIHRvb2wgd2hpY2ggY2FuIHBsYXliYWNrIHVzaW5nIEFMU0EsIFB1bHNlQXVkaW8sIE9TUywgYW5kIHNldmVyYWwgb3RoZXIgQVBJcywgXAorYW5kIGFsc28gY2FuIHdyaXRlIHRoZSBkZWNvZGVkIGF1ZGlvIHRvIFdBVi4iCitIT01FUEFHRSA9ICJodHRwOi8vbXBnMTIzLmRlLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL21wZzEyMy9idWdzLyIKK1NFQ1RJT04gPSAibXVsdGltZWRpYSIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFlODY3NTM2MzhkM2NmMjUxMjUyOGI5OTA3OWJjNGYzIgorCitERVBFTkRTID0gImF1ZGlvZmlsZSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbXBnMTIzL21wZzEyMy8ke1BWfS8ke0JQfS50YXIuYnoyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmRmYWZhZTNiYmM1MzJiNGM4YjA0YTc3YzZhNmRlODkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTA2OWUwMmU1MDEzODYwMGYxMGNjNWY3Njc0ZTQ0ZTliZjZmMTkzMGFmODFkMGUxZDJmODY5YjNjMGVlNDBkMiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKKyMgVGhlIG9wdGlvbnMgc2hvdWxkIGJlIG11dHVhbGx5IGV4Y2x1c2l2ZSBmb3IgY29uZmlndXJhdGlvbiBzY3JpcHQuCisjIElmIGJvdGggYWxzYSBhbmQgcHVsc2VhdWRpbyBhcmUgc3BlY2lmaWVkIChhcyBpbiB0aGUgZGVmYXVsdCBkaXN0cm8gZmVhdHVyZXMpCisjIHB1bHNlYXVkaW8gdGFrZXMgcHJlY2VkZW5jZS4KK1BBQ0tBR0VDT05GSUdfQUxTQSA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2Fsc2EnLCAnYWxzYScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgJ3B1bHNlYXVkaW8nLCAnJHtQQUNLQUdFQ09ORklHX0FMU0F9JywgZCl9IgorCitQQUNLQUdFQ09ORklHW2Fsc2FdID0gIi0td2l0aC1kZWZhdWx0LWF1ZGlvPWFsc2EsLGFsc2EtbGliIgorUEFDS0FHRUNPTkZJR1tlc2RdID0gIiwsZXNvdW5kIgorUEFDS0FHRUNPTkZJR1tqYWNrXSA9ICIsLGphY2siCitQQUNLQUdFQ09ORklHW29wZW5hbF0gPSAiLCxvcGVuYWwtc29mdCIKK1BBQ0tBR0VDT05GSUdbcG9ydGF1ZGlvXSA9ICIsLHBvcnRhdWRpby12MTkiCitQQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi0td2l0aC1kZWZhdWx0LWF1ZGlvPXB1bHNlLCxwdWxzZWF1ZGlvIgorUEFDS0FHRUNPTkZJR1tzZGxdID0gIiwsbGlic2RsIgorCisjIEZvbGxvd2luZyBhcmUgcG9zc2libGUgc291bmQgb3V0cHV0IG1vZHVsZXM6CisjIGFsc2EgYXJ0cyBjb3JlYXVkaW8gZHVtbXkgZXNkIGphY2sgbmFzIG9wZW5hbCBvczIgb3NzIHBvcnRhdWRpbyBwdWxzZSBzZGwgc25kaW8gc3VuIHRpbnlhbHNhIHdpbjMyIHdpbjMyX3dhc2FwaQorQVVESU9NT0RTICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdhbHNhJywgJ2Fsc2EnLCAnJywgZCl9IgorQVVESU9NT0RTICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdlc2QnLCAnZXNkJywgJycsIGQpfSIKK0FVRElPTU9EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnamFjaycsICdqYWNrJywgJycsIGQpfSIKK0FVRElPTU9EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnb3BlbmFsJywgJ29wZW5hbCcsICcnLCBkKX0iCitBVURJT01PRFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BvcnRhdWRpbycsICdwb3J0YXVkaW8nLCAnJywgZCl9IgorQVVESU9NT0RTICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwdWxzZWF1ZGlvJywgJ3B1bHNlJywgJycsIGQpfSIKK0FVRElPTU9EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc2RsJywgJ3NkbCcsICcnLCBkKX0iCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZW5hYmxlLXNoYXJlZCBcCisgICAgLS13aXRoLWF1ZGlvPScke0FVRElPTU9EU30nIFwKKyAgICAtLXdpdGgtbW9kdWxlLXN1ZmZpeD0uc28gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ25lb24nLCAnLS13aXRoLWNwdT1uZW9uJywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYWx0aXZlYycsICctLXdpdGgtY3B1PWFsdGl2ZWMnLCAnJywgZCl9IFwKKyIKKworIyBUaGUgeDg2IGFzc2VtYmxlciBvcHRpbWlzYXRpb25zIGNvbnRhaW5zIHRleHQgcmVsb2NhdGlvbnMgYW5kIHRoZXJlIGFyZSBubworIyB1cHN0cmVhbSBwbGFucyB0byBmaXggdGhlbTogaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL21wZzEyMy9idWdzLzE2OC8KK0lOU0FORV9TS0lQXyR7UE59X2FwcGVuZF94ODYgPSAiIHRleHRyZWwiCisKKyMgRmFpbHMgdG8gYnVpbGQgd2l0aCB0aHVtYi0xIChxZW11YXJtKQorI3wge3N0YW5kYXJkIGlucHV0fTogQXNzZW1ibGVyIG1lc3NhZ2VzOgorI3wge3N0YW5kYXJkIGlucHV0fTo0NzogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYHNtdWxsIHI1LHI2LHI3LHI0JworI3wge3N0YW5kYXJkIGlucHV0fTo0ODogRXJyb3I6IHNoaWZ0cyBpbiBDTVAvTU9WIGluc3RydWN0aW9ucyBhcmUgb25seSBzdXBwb3J0ZWQgaW4gdW5pZmllZCBzeW50YXggLS0gYG1vdiByNSxyNSxsc3IjMjQnCisjLi4uCisjfCBtYWtlWzNdOiAqKiogW2VxdWFsaXplci5sb10gRXJyb3IgMQorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY2JyYWluei9maWxlcy9hbGxvdy1saWJkaXItb3ZlcnJpZGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbXVzaWNicmFpbnovZmlsZXMvYWxsb3ctbGliZGlyLW92ZXJyaWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1OWQxMmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbXVzaWNicmFpbnovZmlsZXMvYWxsb3ctbGliZGlyLW92ZXJyaWRlLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0FsbG93IExJQl9JTlNUQUxMX0RJUiB0byBiZSBzZXQgYnkgdGhlIHRoZSBjbWFrZSBjb25maWd1cmUgaW52b2NhdGlvbi4gIFdlIGRvbnQKK2Vhc2lseSBoYXZlIGEgd2F5IG9mIGRldGVybWluaW5nIHNvbWV0aGluZyB0aGF0IHBhdGNoZXMgJHtMSUJfU1VGRklYfSBzbyB3ZSdsbAorc2V0IExJQl9JTlNUQUxMX0RJUi4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitJbmRleDogbGlibXVzaWNicmFpbnotMy4wLjMvQ01ha2VMaXN0cy50eHQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJtdXNpY2JyYWluei0zLjAuMy5vcmlnL0NNYWtlTGlzdHMudHh0CisrKysgbGlibXVzaWNicmFpbnotMy4wLjMvQ01ha2VMaXN0cy50eHQKK0BAIC0yNiw3ICsyNiw3IEBAIEZJTkRfUEFDS0FHRShEaXNjSWQpCisgU0VUKExJQl9TVUZGSVggIiIgQ0FDSEUgU1RSSU5HICJEZWZpbmUgc3VmZml4IG9mIGRpcmVjdG9yeSBuYW1lICgzMi82NCkiKQorIFNFVChFWEVDX0lOU1RBTExfUFJFRklYICR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9IENBQ0hFIFBBVEggIkluc3RhbGxhdGlvbiBwcmVmaXggZm9yIGV4ZWN1dGFibGVzIGFuZCBvYmplY3QgY29kZSBsaWJyYXJpZXMiIEZPUkNFKQorIFNFVChCSU5fSU5TVEFMTF9ESVIgJHtFWEVDX0lOU1RBTExfUFJFRklYfS9iaW4gQ0FDSEUgUEFUSCAiSW5zdGFsbGF0aW9uIHByZWZpeCBmb3IgdXNlciBleGVjdXRhYmxlcyIgRk9SQ0UpCistU0VUKExJQl9JTlNUQUxMX0RJUiAke0VYRUNfSU5TVEFMTF9QUkVGSVh9L2xpYiR7TElCX1NVRkZJWH0gQ0FDSEUgUEFUSCAgIkluc3RhbGxhdGlvbiBwcmVmaXggZm9yIG9iamVjdCBjb2RlIGxpYnJhcmllcyIgRk9SQ0UpCisrU0VUKExJQl9JTlNUQUxMX0RJUiAke0VYRUNfSU5TVEFMTF9QUkVGSVh9L2xpYiR7TElCX1NVRkZJWH0gQ0FDSEUgUEFUSCAgIkluc3RhbGxhdGlvbiBwcmVmaXggZm9yIG9iamVjdCBjb2RlIGxpYnJhcmllcyIpCisgU0VUKElOQ0xVREVfSU5TVEFMTF9ESVIgJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vaW5jbHVkZSBDQUNIRSBQQVRIICJJbnN0YWxsYXRpb24gcHJlZml4IGZvciBDIGhlYWRlciBmaWxlcyIgRk9SQ0UpCisgCisgQ09ORklHVVJFX0ZJTEUoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2xpYm11c2ljYnJhaW56My5wYy5jbWFrZSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vbGlibXVzaWNicmFpbnozLnBjKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL211c2ljYnJhaW56L2xpYm11c2ljYnJhaW56X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY2JyYWluei9saWJtdXNpY2JyYWluel9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZhNGY2YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY2JyYWluei9saWJtdXNpY2JyYWluel9naXQuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJNdXNpY0JyYWlueiBjbGllbnQgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlRoZSBNdXNpY0JyYWlueiBjbGllbnQgaXMgYSBsaWJyYXJ5IHdoaWNoIGNhbiBiZSBidWlsdCBpbnRvIG90aGVyIHByb2dyYW1zLiAgVGhlIGxpYnJhcnkgYWxsb3dzIHlvdSB0byBhY2Nlc3MgdGhlIGRhdGEgaGVsZCBvbiB0aGUgTXVzaWNCcmFpbnogc2VydmVyLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9tdXNpY2JyYWluei5vcmciCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcudHh0O21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCIKK0RFUEVORFMgPSAiZXhwYXQgbmVvbiBuZW9uLW5hdGl2ZSIKKworUFYgPSAiNS4wLjErZ2l0JHtTUkNQVn0iCitQUiA9ICJyMSIKKworU1JDUkVWID0gIjA3NDlkZDBhMzViNGE1NDMxNmRhMDY0NDc1ODYzYTRhYzZlMjhlN2UiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbWV0YWJyYWluei9saWJtdXNpY2JyYWluei5naXQgXAorICAgICAgICAgICBmaWxlOi8vYWxsb3ctbGliZGlyLW92ZXJyaWRlLnBhdGNoICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworTERGTEFHU19wcmVwZW5kX2xpYmMtdWNsaWJjID0gIiAtbHB0aHJlYWQgIgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZworCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIFRoZSBuYXRpdmUgYnVpbGQgcmVhbGx5IGRvZXNuJ3QgbGlrZSBiZWluZyByZWJ1aWx0LCBzbyBkZWxldGUKKyAgICAjIGl0IGlmIGl0J3MgYWxyZWFkeSBwcmVzZW50LiBBbHNvIGRlbGV0ZSBhbGwgb3RoZXIgZmlsZXMgbm90CisgICAgIyBrbm93biB0byBHaXQgdG8gZml4IHN1YnNlcXVlbnQgaW52b2NhdGlvbnMgb2YgZG9fY29uZmlndXJlLgorICAgIGdpdCBjbGVhbiAtZGZ4IC1lIC8ucGMvIC1lIC9wYXRjaGVzLyAuCisgICAgbWtkaXIgYnVpbGQtbmF0aXZlCisgICAgY2QgYnVpbGQtbmF0aXZlCisgICAgY21ha2UgLURDTUFLRV9DX0ZMQUdTPSR7QlVJTERfQ0ZMQUdTfSBcCisgICAgICAgICAgLURDTUFLRV9DX0NPTVBJTEVSPSR7QlVJTERfQ0N9IFwKKyAgICAgICAgICAtRENNQUtFX0NYWF9GTEFHUz0ke0JVSUxEX0NYWEZMQUdTfSBcCisgICAgICAgICAgLURDTUFLRV9DWFhfQ09NUElMRVI9JHtCVUlMRF9DWFh9IFwKKyAgICAgICAgICAuLgorICAgIG1ha2UgbWFrZS1jLWludGVyZmFjZQorICAgIGNkIC4uCit9CisKK0VYVFJBX09FQ01BS0UgPSAiLURMSUJfSU5TVEFMTF9ESVI6UEFUSD0ke2xpYmRpcn0gXAorICAgICAgICAgICAgICAgICAtRElNUE9SVF9FWEVDVVRBQkxFUz1idWlsZC1uYXRpdmUvSW1wb3J0RXhlY3V0YWJsZXMuY21ha2UiCisKKyMgb3V0LW9mLXRyZWUgYnVpbGRpbmcgZG9lc24ndCBhcHBlYXIgdG8gd29yayBmb3IgdGhpcyBwYWNrYWdlLgorQiA9ICIke1N9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL211c2ljcGQvbGlibXBkLTExLjguMTcvZ2xpYmMtMi4yMC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY3BkL2xpYm1wZC0xMS44LjE3L2dsaWJjLTIuMjAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGEyYjI1YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY3BkL2xpYm1wZC0xMS44LjE3L2dsaWJjLTIuMjAucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0tIGxpYm1wZC0xMS44LjE3L3NyYy9saWJtcGQtaW50ZXJuYWwuaC5vcmlnCTIwMTQtMDktMzAgMDQ6MDg6NTAuOTYzMjkyNDI3ICswMjAwCisrKysgbGlibXBkLTExLjguMTcvc3JjL2xpYm1wZC1pbnRlcm5hbC5oCTIwMTQtMDktMzAgMDQ6MDg6MzAuNTk1MjkyMjIzICswMjAwCitAQCAtMjEsNiArMjEsNyBAQAorICNkZWZpbmUgX19NUERfSU5URVJOQUxfTElCXworIAorICNpbmNsdWRlICJsaWJtcGRjbGllbnQuaCIKKysjaW5jbHVkZSAiY29uZmlnLmgiCisgc3RydWN0IF9NcGREYXRhX3JlYWw7CisgCisgdHlwZWRlZiBzdHJ1Y3QgX01wZERhdGFfcmVhbCB7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbXVzaWNwZC9saWJtcGRfMTEuOC4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY3BkL2xpYm1wZF8xMS44LjE3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0ZDc5MTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbXVzaWNwZC9saWJtcGRfMTEuOC4xNy5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIk11c2ljIFBsYXllciBEYWVtb24gbGlicmFyeSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKK0hPTUVQQUdFID0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9tdXNpY3BkIgorREVQRU5EUyA9ICJnbGliLTIuMCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm11c2ljcGQub3JnL2Rvd25sb2FkLyR7QlBOfS8ke1BWfS8ke0JQfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9nbGliYy0yLjIwLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1YWUzZDg3NDY3ZDUyYWVmMzM0NTQwN2FkYjBhMjQ4OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZTIwMzI2YjBkMTA2NDFmNzFjNDY3M2ZhZTYzN2JmOTIyMmE5NmUxNzEyZjcxZjE3MGZjYTJmYzM0YmY3YTgzIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY3BkL21wZC9tcGQuY29uZi5pbiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9tdXNpY3BkL21wZC9tcGQuY29uZi5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWY5MmM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL211c2ljcGQvbXBkL21wZC5jb25mLmluCkBAIC0wLDAgKzEsNDIwIEBACisjIEFuIGV4YW1wbGUgY29uZmlndXJhdGlvbiBmaWxlIGZvciBNUEQKKyMgU2VlIHRoZSBtcGQuY29uZiBtYW4gcGFnZSBmb3IgYSBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIGVhY2ggcGFyYW1ldGVyLgorCisKKyMgRmlsZXMgYW5kIGRpcmVjdG9yaWVzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgVGhpcyBzZXR0aW5nIGNvbnRyb2xzIHRoZSB0b3AgZGlyZWN0b3J5IHdoaWNoIE1QRCB3aWxsIHNlYXJjaCB0byBkaXNjb3ZlciB0aGUKKyMgYXZhaWxhYmxlIGF1ZGlvIGZpbGVzIGFuZCBhZGQgdGhlbSB0byB0aGUgZGFlbW9uJ3Mgb25saW5lIGRhdGFiYXNlLiBUaGlzCisjIHNldHRpbmcgZGVmYXVsdHMgdG8gdGhlIFhERyBkaXJlY3RvcnksIG90aGVyd2lzZSB0aGUgbXVzaWMgZGlyZWN0b3J5IHdpbGwgYmUKKyMgYmUgZGlzYWJsZWQgYW5kIGF1ZGlvIGZpbGVzIHdpbGwgb25seSBiZSBhY2NlcHRlZCBvdmVyIGlwYyBzb2NrZXQgKHVzaW5nCisjIGZpbGU6Ly8gcHJvdG9jb2wpIG9yIHN0cmVhbWluZyBmaWxlcyBvdmVyIGFuIGFjY2VwdGVkIHByb3RvY29sLgorIworbXVzaWNfZGlyZWN0b3J5CQkiJW11c2ljX2RpcmVjdG9yeSUiCisjCisjIFRoaXMgc2V0dGluZyBzZXRzIHRoZSBNUEQgaW50ZXJuYWwgcGxheWxpc3QgZGlyZWN0b3J5LiBUaGUgcHVycG9zZSBvZiB0aGlzCisjIGRpcmVjdG9yeSBpcyBzdG9yYWdlIGZvciBwbGF5bGlzdHMgY3JlYXRlZCBieSBNUEQuIFRoZSBzZXJ2ZXIgd2lsbCB1c2UKKyMgcGxheWxpc3QgZmlsZXMgbm90IGNyZWF0ZWQgYnkgdGhlIHNlcnZlciBidXQgb25seSBpZiB0aGV5IGFyZSBpbiB0aGUgTVBECisjIGZvcm1hdC4gVGhpcyBzZXR0aW5nIGRlZmF1bHRzIHRvIHBsYXlsaXN0IHNhdmluZyBiZWluZyBkaXNhYmxlZC4KKyMKK3BsYXlsaXN0X2RpcmVjdG9yeQkJIiVwbGF5bGlzdF9kaXJlY3RvcnklIgorIworIyBUaGlzIHNldHRpbmcgc2V0cyB0aGUgbG9jYXRpb24gb2YgdGhlIE1QRCBkYXRhYmFzZS4gVGhpcyBmaWxlIGlzIHVzZWQgdG8KKyMgbG9hZCB0aGUgZGF0YWJhc2UgYXQgc2VydmVyIHN0YXJ0IHVwIGFuZCBzdG9yZSB0aGUgZGF0YWJhc2Ugd2hpbGUgdGhlCisjIHNlcnZlciBpcyBub3QgdXAuIFRoaXMgc2V0dGluZyBkZWZhdWx0cyB0byBkaXNhYmxlZCB3aGljaCB3aWxsIGFsbG93CisjIE1QRCB0byBhY2NlcHQgZmlsZXMgb3ZlciBpcGMgc29ja2V0ICh1c2luZyBmaWxlOi8vIHByb3RvY29sKSBvciBzdHJlYW1pbmcKKyMgZmlsZXMgb3ZlciBhbiBhY2NlcHRlZCBwcm90b2NvbC4KKyMKK2RiX2ZpbGUJCQkiJWRiX2ZpbGUlIgorIworIyBUaGVzZSBzZXR0aW5ncyBhcmUgdGhlIGxvY2F0aW9ucyBmb3IgdGhlIGRhZW1vbiBsb2cgZmlsZXMgZm9yIHRoZSBkYWVtb24uCisjIFRoZXNlIGxvZ3MgYXJlIGdyZWF0IGZvciB0cm91Ymxlc2hvb3RpbmcsIGRlcGVuZGluZyBvbiB5b3VyIGxvZ19sZXZlbAorIyBzZXR0aW5ncy4KKyMKKyMgVGhlIHNwZWNpYWwgdmFsdWUgInN5c2xvZyIgbWFrZXMgTVBEIHVzZSB0aGUgbG9jYWwgc3lzbG9nIGRhZW1vbi4gVGhpcworIyBzZXR0aW5nIGRlZmF1bHRzIHRvIGxvZ2dpbmcgdG8gc3lzbG9nLCBvdGhlcndpc2UgbG9nZ2luZyBpcyBkaXNhYmxlZC4KKyMKK2xvZ19maWxlCQkJIiVsb2dfZmlsZSUiCisjCisjIFRoaXMgc2V0dGluZyBzZXRzIHRoZSBsb2NhdGlvbiBvZiB0aGUgZmlsZSB3aGljaCBzdG9yZXMgdGhlIHByb2Nlc3MgSUQKKyMgZm9yIHVzZSBvZiBtcGQgLS1raWxsIGFuZCBzb21lIGluaXQgc2NyaXB0cy4gVGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkIGJ5CisjIGRlZmF1bHQgYW5kIHRoZSBwaWQgZmlsZSB3aWxsIG5vdCBiZSBzdG9yZWQuCisjCisjcGlkX2ZpbGUJCQkiL3Zhci9ydW4vbXBkL21wZC5waWQiCisjCisjIFRoaXMgc2V0dGluZyBzZXRzIHRoZSBsb2NhdGlvbiBvZiB0aGUgZmlsZSB3aGljaCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dAorIyBtb3N0IHZhcmlhYmxlcyB0byBnZXQgTVBEIGJhY2sgaW50byB0aGUgc2FtZSBnZW5lcmFsIHNoYXBlIGl0IHdhcyBpbiBiZWZvcmUKKyMgaXQgd2FzIGJyb3VnaHQgZG93bi4gVGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIHRoZSBzZXJ2ZXIKKyMgc3RhdGUgd2lsbCBiZSByZXNldCBvbiBzZXJ2ZXIgc3RhcnQgdXAuCisjCitzdGF0ZV9maWxlCQkiJXN0YXRlX2ZpbGUlIgorIworIyBUaGUgbG9jYXRpb24gb2YgdGhlIHN0aWNrZXIgZGF0YWJhc2UuICBUaGlzIGlzIGEgZGF0YWJhc2Ugd2hpY2gKKyMgbWFuYWdlcyBkeW5hbWljIGluZm9ybWF0aW9uIGF0dGFjaGVkIHRvIHNvbmdzLgorIworI3N0aWNrZXJfZmlsZQkJCSJ+Ly5tcGQvc3RpY2tlci5zcWwiCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKworIyBHZW5lcmFsIG11c2ljIGRhZW1vbiBvcHRpb25zICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBUaGlzIHNldHRpbmcgc3BlY2lmaWVzIHRoZSB1c2VyIHRoYXQgTVBEIHdpbGwgcnVuIGFzLiBNUEQgc2hvdWxkIG5ldmVyIHJ1biBhcworIyByb290IGFuZCB5b3UgbWF5IHVzZSB0aGlzIHNldHRpbmcgdG8gbWFrZSBNUEQgY2hhbmdlIGl0cyB1c2VyIElEIGFmdGVyCisjIGluaXRpYWxpemF0aW9uLiBUaGlzIHNldHRpbmcgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBhbmQgTVBEIGlzIHJ1biBhcyB0aGUKKyMgY3VycmVudCB1c2VyLgorIwordXNlciAibXBkIgorIworIyBUaGlzIHNldHRpbmcgc3BlY2lmaWVzIHRoZSBncm91cCB0aGF0IE1QRCB3aWxsIHJ1biBhcy4gSWYgbm90IHNwZWNpZmllZAorIyBwcmltYXJ5IGdyb3VwIG9mIHVzZXIgc3BlY2lmaWVkIHdpdGggInVzZXIiIHNldHRpbmcgd2lsbCBiZSB1c2VkIChpZiBzZXQpLgorIyBUaGlzIGlzIHVzZWZ1bCBpZiBNUEQgbmVlZHMgdG8gYmUgYSBtZW1iZXIgb2YgZ3JvdXAgc3VjaCBhcyAiYXVkaW8iIHRvCisjIGhhdmUgcGVybWlzc2lvbiB0byB1c2Ugc291bmQgY2FyZC4KKyMKK2dyb3VwCQkJCSJhdWRpbyIKKyMKKyMgVGhpcyBzZXR0aW5nIHNldHMgdGhlIGFkZHJlc3MgZm9yIHRoZSBkYWVtb24gdG8gbGlzdGVuIG9uLiBDYXJlZnVsIGF0dGVudGlvbgorIyBzaG91bGQgYmUgcGFpZCBpZiB0aGlzIGlzIGFzc2lnbmVkIHRvIGFueXRoaW5nIG90aGVyIHRoZW4gdGhlIGRlZmF1bHQsIGFueS4KKyMgVGhpcyBzZXR0aW5nIGNhbiBkZW55IGFjY2VzcyB0byBjb250cm9sIG9mIHRoZSBkYWVtb24uCisjCisjIEZvciBuZXR3b3JrCitiaW5kX3RvX2FkZHJlc3MJCSJhbnkiCisjCisjIEFuZCBmb3IgVW5peCBTb2NrZXQKKyNiaW5kX3RvX2FkZHJlc3MJCSJ+Ly5tcGQvc29ja2V0IgorIworIyBUaGlzIHNldHRpbmcgaXMgdGhlIFRDUCBwb3J0IHRoYXQgaXMgZGVzaXJlZCBmb3IgdGhlIGRhZW1vbiB0byBnZXQgYXNzaWduZWQKKyMgdG8uCisjCisjcG9ydAkJCQkiNjYwMCIKKyMKKyMgVGhpcyBzZXR0aW5nIGNvbnRyb2xzIHRoZSB0eXBlIG9mIGluZm9ybWF0aW9uIHdoaWNoIGlzIGxvZ2dlZC4gQXZhaWxhYmxlCisjIHNldHRpbmcgYXJndW1lbnRzIGFyZSAiZGVmYXVsdCIsICJzZWN1cmUiIG9yICJ2ZXJib3NlIi4gVGhlICJ2ZXJib3NlIiBzZXR0aW5nCisjIGFyZ3VtZW50IGlzIHJlY29tbWVuZGVkIGZvciB0cm91Ymxlc2hvb3RpbmcsIHRob3VnaCBjYW4gcXVpY2tseSBzdHJldGNoCisjIGF2YWlsYWJsZSByZXNvdXJjZXMgb24gbGltaXRlZCBoYXJkd2FyZSBzdG9yYWdlLgorIworI2xvZ19sZXZlbAkJCSJkZWZhdWx0IgorIworIyBJZiB5b3UgaGF2ZSBhIHByb2JsZW0gd2l0aCB5b3VyIE1QM3MgZW5kaW5nIGFicnVwdGx5IGl0IGlzIHJlY29tbWVuZGVkIHRoYXQKKyMgeW91IHNldCB0aGlzIGFyZ3VtZW50IHRvICJubyIgdG8gYXR0ZW1wdCB0byBmaXggdGhlIHByb2JsZW0uIElmIHRoaXMgc29sdmVzCisjIHRoZSBwcm9ibGVtLCBpdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdG8gZml4IHRoZSBNUDMgZmlsZXMgd2l0aCB2YnJmaXgKKyMgKGF2YWlsYWJsZSBmcm9tIDxodHRwOi8vd3d3LndpbGx3YXAuY28udWsvUHJvZ3JhbXMvdmJyZml4LnBocD4pLCBhdCB3aGljaAorIyBwb2ludCBnYXBsZXNzIE1QMyBwbGF5YmFjayBjYW4gYmUgZW5hYmxlZC4KKyMKKyNnYXBsZXNzX21wM19wbGF5YmFjawkJCSJ5ZXMiCisjCisjIFRoaXMgc2V0dGluZyBlbmFibGVzIE1QRCB0byBjcmVhdGUgcGxheWxpc3RzIGluIGEgZm9ybWF0IHVzYWJsZSBieSBvdGhlcgorIyBtdXNpYyBwbGF5ZXJzLgorIworI3NhdmVfYWJzb2x1dGVfcGF0aHNfaW5fcGxheWxpc3RzCSJubyIKKyMKKyMgVGhpcyBzZXR0aW5nIGRlZmluZXMgYSBsaXN0IG9mIHRhZyB0eXBlcyB0aGF0IHdpbGwgYmUgZXh0cmFjdGVkIGR1cmluZyB0aGUKKyMgYXVkaW8gZmlsZSBkaXNjb3ZlcnkgcHJvY2Vzcy4gT3B0aW9uYWxseSwgJ2NvbW1lbnQnIGNhbiBiZSBhZGRlZCB0byB0aGlzCisjIGxpc3QuCisjCisjbWV0YWRhdGFfdG9fdXNlCSJhcnRpc3QsYWxidW0sdGl0bGUsdHJhY2ssbmFtZSxnZW5yZSxkYXRlLGNvbXBvc2VyLHBlcmZvcm1lcixkaXNjIgorIworIyBUaGlzIHNldHRpbmcgZW5hYmxlcyBhdXRvbWF0aWMgdXBkYXRlIG9mIE1QRCdzIGRhdGFiYXNlIHdoZW4gZmlsZXMgaW4KKyMgbXVzaWNfZGlyZWN0b3J5IGFyZSBjaGFuZ2VkLgorIworI2F1dG9fdXBkYXRlCSJ5ZXMiCisjCisjIExpbWl0IHRoZSBkZXB0aCBvZiB0aGUgZGlyZWN0b3JpZXMgYmVpbmcgd2F0Y2hlZCwgMCBtZWFucyBvbmx5IHdhdGNoCisjIHRoZSBtdXNpYyBkaXJlY3RvcnkgaXRzZWxmLiAgVGhlcmUgaXMgbm8gbGltaXQgYnkgZGVmYXVsdC4KKyMKKyNhdXRvX3VwZGF0ZV9kZXB0aCAiMyIKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCisjIFN5bWJvbGljIGxpbmsgYmVoYXZpb3IgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIElmIHRoaXMgc2V0dGluZyBpcyBzZXQgdG8gInllcyIsIE1QRCB3aWxsIGRpc2NvdmVyIGF1ZGlvIGZpbGVzIGJ5IGZvbGxvd2luZworIyBzeW1ib2xpYyBsaW5rcyBvdXRzaWRlIG9mIHRoZSBjb25maWd1cmVkIG11c2ljX2RpcmVjdG9yeS4KKyMKKyNmb2xsb3dfb3V0c2lkZV9zeW1saW5rcwkieWVzIgorIworIyBJZiB0aGlzIHNldHRpbmcgaXMgc2V0IHRvICJ5ZXMiLCBNUEQgd2lsbCBkaXNjb3ZlciBhdWRpbyBmaWxlcyBieSBmb2xsb3dpbmcKKyMgc3ltYm9saWMgbGlua3MgaW5zaWRlIG9mIHRoZSBjb25maWd1cmVkIG11c2ljX2RpcmVjdG9yeS4KKyMKKyNmb2xsb3dfaW5zaWRlX3N5bWxpbmtzCQkieWVzIgorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisKKyMgWmVyb2NvbmYgLyBBdmFoaSBTZXJ2aWNlIERpc2NvdmVyeSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgSWYgdGhpcyBzZXR0aW5nIGlzIHNldCB0byAieWVzIiwgc2VydmljZSBpbmZvcm1hdGlvbiB3aWxsIGJlIHB1Ymxpc2hlZCB3aXRoCisjIFplcm9jb25mIC8gQXZhaGkuCisjCisjemVyb2NvbmZfZW5hYmxlZAkJInllcyIKKyMKKyMgVGhlIGFyZ3VtZW50IHRvIHRoaXMgc2V0dGluZyB3aWxsIGJlIHRoZSBaZXJvY29uZiAvIEF2YWhpIHVuaXF1ZSBuYW1lIGZvcgorIyB0aGlzIE1QRCBzZXJ2ZXIgb24gdGhlIG5ldHdvcmsuCisjCisjemVyb2NvbmZfbmFtZQkJCSJNdXNpYyBQbGF5ZXIiCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKworIyBQZXJtaXNzaW9ucyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBJZiB0aGlzIHNldHRpbmcgaXMgc2V0LCBNUEQgd2lsbCByZXF1aXJlIHBhc3N3b3JkIGF1dGhvcml6YXRpb24uIFRoZSBwYXNzd29yZAorIyBjYW4gc2V0dGluZyBjYW4gYmUgc3BlY2lmaWVkIG11bHRpcGxlIHRpbWVzIGZvciBkaWZmZXJlbnQgcGFzc3dvcmQgcHJvZmlsZXMuCisjCisjcGFzc3dvcmQgICAgICAgICAgICAgICAgICAgICAgICAicGFzc3dvcmRAcmVhZCxhZGQsY29udHJvbCxhZG1pbiIKKyMKKyMgVGhpcyBzZXR0aW5nIHNwZWNpZmllcyB0aGUgcGVybWlzc2lvbnMgYSB1c2VyIGhhcyB3aG8gaGFzIG5vdCB5ZXQgbG9nZ2VkIGluLgorIworI2RlZmF1bHRfcGVybWlzc2lvbnMgICAgICAgICAgICAgInJlYWQsYWRkLGNvbnRyb2wsYWRtaW4iCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKworIyBJbnB1dCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworCitpbnB1dCB7CisgICAgICAgIHBsdWdpbiAiY3VybCIKKyMgICAgICAgcHJveHkgInByb3h5LmlzcC5jb206ODA4MCIKKyMgICAgICAgcHJveHlfdXNlciAidXNlciIKKyMgICAgICAgcHJveHlfcGFzc3dvcmQgInBhc3N3b3JkIgorfQorCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgQXVkaW8gT3V0cHV0ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgTVBEIHN1cHBvcnRzIHZhcmlvdXMgYXVkaW8gb3V0cHV0IHR5cGVzLCBhcyB3ZWxsIGFzIHBsYXlpbmcgdGhyb3VnaCBtdWx0aXBsZQorIyBhdWRpbyBvdXRwdXRzIGF0IHRoZSBzYW1lIHRpbWUsIHRocm91Z2ggbXVsdGlwbGUgYXVkaW9fb3V0cHV0IHNldHRpbmdzCisjIGJsb2Nrcy4gU2V0dGluZyB0aGlzIGJsb2NrIGlzIG9wdGlvbmFsLCB0aG91Z2ggdGhlIHNlcnZlciB3aWxsIG9ubHkgYXR0ZW1wdAorIyBhdXRvZGV0ZWN0aW9uIGZvciBvbmUgc291bmQgY2FyZC4KKyMKKyMgU2VlIDxodHRwOi8vbXBkLndpa2lhLmNvbS93aWtpL0NvbmZpZ3VyYXRpb24jQXVkaW9fT3V0cHV0cz4gZm9yIGV4YW1wbGVzIG9mCisjIG90aGVyIGF1ZGlvIG91dHB1dHMuCisjCisjIGJvYXJkIHNwZWNpZmljIGV4YW1wbGVzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIChmZWVsIGZyZWUgdG8gYWRkIGZ1dGhlcikKKyMKKyMgZ3Vtc3RpeCBvdmVybyAodGVzdGVkIHdpdGggVE9CSSBleHBhbnNpb24gYm9hcmQpCisjYXVkaW9fb3V0cHV0IHsKKyMJdHlwZQkJImFsc2EiCisjCW5hbWUJCSJvdmVybyIKKyMJbWl4ZXJfY29udHJvbAkiSGVhZHNldCIKKyMJbWl4ZXJfaW5kZXgJIjAiCisjfQorIworIyBnZW5lcmFsIGV4YW1wbGVzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBBbiBleGFtcGxlIG9mIGFuIEFMU0Egb3V0cHV0OgorIworI2F1ZGlvX291dHB1dCB7CisjCXR5cGUJCSJhbHNhIgorIwluYW1lCQkiTXkgQUxTQSBEZXZpY2UiCisjIwlkZXZpY2UJCSJodzowLDAiCSMgb3B0aW9uYWwKKyMjCWZvcm1hdAkJIjQ0MTAwOjE2OjIiCSMgb3B0aW9uYWwKKyMjCW1peGVyX3R5cGUgICAgICAiaGFyZHdhcmUiCSMgb3B0aW9uYWwKKyMjCW1peGVyX2RldmljZQkiZGVmYXVsdCIJIyBvcHRpb25hbAorIyMJbWl4ZXJfY29udHJvbAkiUENNIgkJIyBvcHRpb25hbAorIyMJbWl4ZXJfaW5kZXgJIjAiCQkjIG9wdGlvbmFsCisjfQorIworIyBBbiBleGFtcGxlIG9mIGFuIE9TUyBvdXRwdXQ6CisjCisjYXVkaW9fb3V0cHV0IHsKKyMJdHlwZQkJIm9zcyIKKyMJbmFtZQkJIk15IE9TUyBEZXZpY2UiCisjIwlkZXZpY2UJCSIvZGV2L2RzcCIJIyBvcHRpb25hbAorIyMJZm9ybWF0CQkiNDQxMDA6MTY6MiIJIyBvcHRpb25hbAorIyMJbWl4ZXJfdHlwZSAgICAgICJoYXJkd2FyZSIJIyBvcHRpb25hbAorIyMJbWl4ZXJfZGV2aWNlCSIvZGV2L21peGVyIgkjIG9wdGlvbmFsCisjIwltaXhlcl9jb250cm9sCSJQQ00iCQkjIG9wdGlvbmFsCisjfQorIworIyBBbiBleGFtcGxlIG9mIGEgc2hvdXQgb3V0cHV0IChmb3Igc3RyZWFtaW5nIHRvIEljZWNhc3QpOgorIworI2F1ZGlvX291dHB1dCB7CisjCXR5cGUJCSJzaG91dCIKKyMJZW5jb2RpbmcJIm9nZyIJCQkjIG9wdGlvbmFsCisjCW5hbWUJCSJNeSBTaG91dCBTdHJlYW0iCisjCWhvc3QJCSJsb2NhbGhvc3QiCisjCXBvcnQJCSI4MDAwIgorIwltb3VudAkJIi9tcGQub2dnIgorIwlwYXNzd29yZAkiaGFja21lIgorIwlxdWFsaXR5CQkiNS4wIgorIwliaXRyYXRlCQkiMTI4IgorIwlmb3JtYXQJCSI0NDEwMDoxNjoxIgorIyMJcHJvdG9jb2wJImljZWNhc3QyIgkJIyBvcHRpb25hbAorIyMJdXNlcgkJInNvdXJjZSIJCSMgb3B0aW9uYWwKKyMjCWRlc2NyaXB0aW9uCSJNeSBTdHJlYW0gRGVzY3JpcHRpb24iCSMgb3B0aW9uYWwKKyMjCWdlbnJlCQkiamF6eiIJCQkjIG9wdGlvbmFsCisjIwlwdWJsaWMJCSJubyIJCQkjIG9wdGlvbmFsCisjIwl0aW1lb3V0CQkiMiIJCQkjIG9wdGlvbmFsCisjIwltaXhlcl90eXBlICAgICAgInNvZnR3YXJlIgkJIyBvcHRpb25hbAorI30KKyMKKyMgQW4gZXhhbXBsZSBvZiBhIHJlY29yZGVyIG91dHB1dDoKKyMKKyNhdWRpb19vdXRwdXQgeworIwl0eXBlCQkicmVjb3JkZXIiCisjCW5hbWUJCSJNeSByZWNvcmRlciIKKyMJZW5jb2RlcgkJInZvcmJpcyIJCSMgb3B0aW9uYWwsIHZvcmJpcyBvciBsYW1lCisjCXBhdGgJCSIvdmFyL2xpYi9tcGQvcmVjb3JkZXIvbXBkLm9nZyIKKyMjCXF1YWxpdHkJCSI1LjAiCQkJIyBkbyBub3QgZGVmaW5lIGlmIGJpdHJhdGUgaXMgZGVmaW5lZAorIwliaXRyYXRlCQkiMTI4IgkJCSMgZG8gbm90IGRlZmluZSBpZiBxdWFsaXR5IGlzIGRlZmluZWQKKyMJZm9ybWF0CQkiNDQxMDA6MTY6MSIKKyN9CisjCisjIEFuIGV4YW1wbGUgb2YgYSBodHRwZCBvdXRwdXQgKGJ1aWx0LWluIEhUVFAgc3RyZWFtaW5nIHNlcnZlcik6CisjCisjYXVkaW9fb3V0cHV0IHsKKyMJdHlwZQkJImh0dHBkIgorIwluYW1lCQkiTXkgSFRUUCBTdHJlYW0iCisjCWVuY29kZXIJCSJ2b3JiaXMiCQkjIG9wdGlvbmFsLCB2b3JiaXMgb3IgbGFtZQorIwlwb3J0CQkiODAwMCIKKyMJYmluZF90b19hZGRyZXNzCSIwLjAuMC4wIgkJIyBvcHRpb25hbCwgSVB2NCBvciBJUHY2CisjIwlxdWFsaXR5CQkiNS4wIgkJCSMgZG8gbm90IGRlZmluZSBpZiBiaXRyYXRlIGlzIGRlZmluZWQKKyMJYml0cmF0ZQkJIjEyOCIJCQkjIGRvIG5vdCBkZWZpbmUgaWYgcXVhbGl0eSBpcyBkZWZpbmVkCisjCWZvcm1hdAkJIjQ0MTAwOjE2OjEiCisjCW1heF9jbGllbnRzCSIwIgkJCSMgb3B0aW9uYWwgMD1ubyBsaW1pdAorI30KKyMKKyMgQW4gZXhhbXBsZSBvZiBhIHB1bHNlYXVkaW8gb3V0cHV0IChzdHJlYW1pbmcgdG8gYSByZW1vdGUgcHVsc2VhdWRpbyBzZXJ2ZXIpCisjCisjYXVkaW9fb3V0cHV0IHsKKyMJdHlwZQkJInB1bHNlIgorIwluYW1lCQkiTXkgUHVsc2UgT3V0cHV0IgorIyMJc2VydmVyCQkicmVtb3RlX3NlcnZlciIJCSMgb3B0aW9uYWwKKyMjCXNpbmsJCSJyZW1vdGVfc2VydmVyX3NpbmsiCSMgb3B0aW9uYWwKKyN9CisjCisjIyBFeGFtcGxlICJwaXBlIiBvdXRwdXQ6CisjCisjYXVkaW9fb3V0cHV0IHsKKyMJdHlwZQkJInBpcGUiCisjCW5hbWUJCSJteSBwaXBlIgorIwljb21tYW5kCQkiYXBsYXkgLWYgY2QgMj4vZGV2L251bGwiCisjIyBPciBpZiB5b3UncmUgd2FudCB0byB1c2UgQXVkaW9Db21wcmVzcworIwljb21tYW5kCQkiQXVkaW9Db21wcmVzcyAtbSB8IGFwbGF5IC1mIGNkIDI+L2Rldi9udWxsIgorIyMgT3IgdG8gc2VuZCByYXcgUENNIHN0cmVhbSB0aHJvdWdoIFBDTToKKyMJY29tbWFuZAkJIm5jIGV4YW1wbGUub3JnIDg3NjUiCisjCWZvcm1hdAkJIjQ0MTAwOjE2OjIiCisjfQorIworIyMgQW4gZXhhbXBsZSBvZiBhIG51bGwgb3V0cHV0IChmb3Igbm8gYXVkaW8gb3V0cHV0KToKKyMKKyNhdWRpb19vdXRwdXQgeworIwl0eXBlCQkibnVsbCIKKyMJbmFtZQkJIk15IE51bGwgT3V0cHV0IgorIwltaXhlcl90eXBlICAgICAgIm5vbmUiCQkJIyBvcHRpb25hbAorI30KKyMKKyMgVGhpcyBzZXR0aW5nIHdpbGwgY2hhbmdlIGFsbCBkZWNvZGVkIGF1ZGlvIHRvIGJlIGNvbnZlcnRlZCB0byB0aGUgc3BlY2lmaWVkCisjIGZvcm1hdCBiZWZvcmUgYmVpbmcgcGFzc2VkIHRvIHRoZSBhdWRpbyBvdXRwdXRzLiBCeSBkZWZhdWx0LCB0aGlzIHNldHRpbmcgaXMKKyMgZGlzYWJsZWQuCisjCisjYXVkaW9fb3V0cHV0X2Zvcm1hdAkJIjQ0MTAwOjE2OjIiCisjCisjIElmIE1QRCBoYXMgYmVlbiBjb21waWxlZCB3aXRoIGxpYnNhbXBsZXJhdGUgc3VwcG9ydCwgdGhpcyBzZXR0aW5nIHNwZWNpZmllcworIyB0aGUgc2FtcGxlIHJhdGUgY29udmVydGVyIHRvIHVzZS4gIFBvc3NpYmxlIHZhbHVlcyBjYW4gYmUgZm91bmQgaW4gdGhlCisjIG1wZC5jb25mIG1hbiBwYWdlIG9yIHRoZSBsaWJzYW1wbGVyYXRlIGRvY3VtZW50YXRpb24uIEJ5IGRlZmF1bHQsIHRoaXMgaXMKKyMgc2V0dGluZyBpcyBkaXNhYmxlZC4KKyMKKyNzYW1wbGVyYXRlX2NvbnZlcnRlcgkJIkZhc3Rlc3QgU2luYyBJbnRlcnBvbGF0b3IiCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKworIyBOb3JtYWxpemF0aW9uIGF1dG9tYXRpYyB2b2x1bWUgYWRqdXN0bWVudHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBUaGlzIHNldHRpbmcgc3BlY2lmaWVzIHRoZSB0eXBlIG9mIFJlcGxheUdhaW4gdG8gdXNlLiBUaGlzIHNldHRpbmcgY2FuIGhhdmUKKyMgdGhlIGFyZ3VtZW50ICJvZmYiLCAiYWxidW0iIG9yICJ0cmFjayIuIFNlZSA8aHR0cDovL3d3dy5yZXBsYXlnYWluLm9yZz4KKyMgZm9yIG1vcmUgZGV0YWlscy4gVGhpcyBzZXR0aW5nIGlzIG9mZiBieSBkZWZhdWx0LgorIworI3JlcGxheWdhaW4JCQkiYWxidW0iCisjCisjIFRoaXMgc2V0dGluZyBzZXRzIHRoZSBwcmUtYW1wIHVzZWQgZm9yIGZpbGVzIHRoYXQgaGF2ZSBSZXBsYXlHYWluIHRhZ3MuIEJ5CisjIGRlZmF1bHQgdGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkLgorIworI3JlcGxheWdhaW5fcHJlYW1wCQkiMCIKKyMKKyMgVGhpcyBzZXR0aW5nIGVuYWJsZXMgb24tdGhlLWZseSBub3JtYWxpemF0aW9uIHZvbHVtZSBhZGp1c3RtZW50LiBUaGlzIHdpbGwKKyMgcmVzdWx0IGluIHRoZSB2b2x1bWUgb2YgYWxsIHBsYXlpbmcgYXVkaW8gdG8gYmUgYWRqdXN0ZWQgc28gdGhlIG91dHB1dCBoYXMKKyMgZXF1YWwgImxvdWRuZXNzIi4gVGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuCisjCisjdm9sdW1lX25vcm1hbGl6YXRpb24JCSJubyIKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCisjIE1QRCBJbnRlcm5hbCBCdWZmZXJpbmcgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIFRoaXMgc2V0dGluZyBhZGp1c3RzIHRoZSBzaXplIG9mIGludGVybmFsIGRlY29kZWQgYXVkaW8gYnVmZmVyaW5nLiBDaGFuZ2luZworIyB0aGlzIG1heSBoYXZlIHVuZGVzaXJlZCBlZmZlY3RzLiBEb24ndCBjaGFuZ2UgdGhpcyBpZiB5b3UgZG9uJ3Qga25vdyB3aGF0IHlvdQorIyBhcmUgZG9pbmcuCisjCisjYXVkaW9fYnVmZmVyX3NpemUJCSIyMDQ4IgorIworIyBUaGlzIHNldHRpbmcgY29udHJvbHMgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGJ1ZmZlciB3aGljaCBpcyBmaWxsZWQgYmVmb3JlCisjIGJlZ2lubmluZyB0byBwbGF5LiBJbmNyZWFzaW5nIHRoaXMgcmVkdWNlcyB0aGUgY2hhbmNlIG9mIGF1ZGlvIGZpbGUgc2tpcHBpbmcsCisjIGF0IHRoZSBjb3N0IG9mIGluY3JlYXNlZCB0aW1lIHByaW9yIHRvIGF1ZGlvIHBsYXliYWNrLgorIworI2J1ZmZlcl9iZWZvcmVfcGxheQkJIjEwJSIKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCisjIFJlc291cmNlIExpbWl0YXRpb25zICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIFRoZXNlIHNldHRpbmdzIGFyZSB2YXJpb3VzIGxpbWl0YXRpb25zIHRvIHByZXZlbnQgTVBEIGZyb20gdXNpbmcgdG9vIG1hbnkKKyMgcmVzb3VyY2VzLiBHZW5lcmFsbHksIHRoZXNlIHNldHRpbmdzIHNob3VsZCBiZSBtaW5pbWl6ZWQgdG8gcHJldmVudCBzZWN1cml0eQorIyByaXNrcywgZGVwZW5kaW5nIG9uIHRoZSBvcGVyYXRpbmcgcmVzb3VyY2VzLgorIworI2Nvbm5lY3Rpb25fdGltZW91dAkJIjYwIgorI21heF9jb25uZWN0aW9ucwkJIjEwIgorI21heF9wbGF5bGlzdF9sZW5ndGgJCSIxNjM4NCIKKyNtYXhfY29tbWFuZF9saXN0X3NpemUJCSIyMDQ4IgorI21heF9vdXRwdXRfYnVmZmVyX3NpemUJCSI4MTkyIgorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisKKyMgQ2hhcmFjdGVyIEVuY29kaW5nICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgSWYgZmlsZSBvciBkaXJlY3RvcnkgbmFtZXMgZG8gbm90IGRpc3BsYXkgY29ycmVjdGx5IGZvciB5b3VyIGxvY2FsZSB0aGVuIHlvdQorIyBtYXkgbmVlZCB0byBtb2RpZnkgdGhpcyBzZXR0aW5nLgorIworI2ZpbGVzeXN0ZW1fY2hhcnNldAkJIlVURi04IgorIworIyBUaGlzIHNldHRpbmcgY29udHJvbHMgdGhlIGVuY29kaW5nIHRoYXQgSUQzdjEgdGFncyBzaG91bGQgYmUgY29udmVydGVkIGZyb20uCisjCisjaWQzdjFfZW5jb2RpbmcJCQkiSVNPLTg4NTktMSIKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCisjIFNJRFBsYXkgZGVjb2RlciAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHNvbmdsZW5ndGhfZGF0YWJhc2U6CisjICBMb2NhdGlvbiBvZiB5b3VyIHNvbmdsZW5ndGhzIGZpbGUsIGFzIGRpc3RyaWJ1dGVkIHdpdGggdGhlIEhWU0MuCisjICBUaGUgc2lkcGxheSBwbHVnaW4gY2hlY2tzIHRoaXMgZm9yIG1hdGNoaW5nIE1ENSBmaW5nZXJwcmludHMuCisjICBTZWUgaHR0cDovL3d3dy5jNjQub3JnL0hWU0MvRE9DVU1FTlRTL1NvbmdsZW5ndGhzLmZhcQorIworIyBkZWZhdWx0X3NvbmdsZW5ndGg6CisjICBUaGlzIGlzIHRoZSBkZWZhdWx0IHBsYXlpbmcgdGltZSBpbiBzZWNvbmRzIGZvciBzb25ncyBub3QgaW4gdGhlCisjICBzb25nbGVuZ3RoIGRhdGFiYXNlLCBvciBpbiBjYXNlIHlvdSdyZSBub3QgdXNpbmcgYSBkYXRhYmFzZS4KKyMgIEEgdmFsdWUgb2YgMCBtZWFucyBwbGF5IGluZGVmaW5pdGVseS4KKyMKKyMgZmlsdGVyOgorIyAgVHVybnMgdGhlIFNJRCBmaWx0ZXIgZW11bGF0aW9uIG9uIG9yIG9mZi4KKyMKKyNkZWNvZGVyIHsKKyMJcGx1Z2luCQkJInNpZHBsYXkiCisjCXNvbmdsZW5ndGhfZGF0YWJhc2UJIi9tZWRpYS9DNjRNdXNpYy9ET0NVTUVOVFMvU29uZ2xlbmd0aHMudHh0IgorIwlkZWZhdWx0X3NvbmdsZW5ndGgJIjEyMCIKKyMJZmlsdGVyICJ0cnVlIgorI30KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL211c2ljcGQvbXBkXzAuMTkuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbXVzaWNwZC9tcGRfMC4xOS4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjEyNGNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL211c2ljcGQvbXBkXzAuMTkuMTAuYmIKQEAgLTAsMCArMSw1OSBAQAorU1VNTUFSWSA9ICJNdXNpYyBQbGF5ZXIgRGFlbW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorSE9NRVBBR0UgPSJodHRwOi8vd3d3Lm11c2ljcGQub3JnIgorCitERVBFTkRTID0gImFsc2EtbGliIGxpYnNhbXBsZXJhdGUwIGxpYnNuZGZpbGUxIGxpYnZvcmJpcyBsaWJvZ2cgZmFhZDIgZmZtcGVnIGN1cmwgc3FsaXRlIGJ6aXAyIHB1bHNlYXVkaW8gdGNwLXdyYXBwZXJzIG9wZW5hbC1zb2Z0IHlhamwgamFjayBmYWFkMiBmbGFjIGxpYmFvIGZsdWlkc3ludGggbGliY2RpbyB3YXZwYWNrIGxpYm9wdXMgbXBnMTIzIGxpYm1tcyBsaWJtb2RwbHVnIGJvb3N0IGljdSBkYnVzIGV4cGF0IHpsaWIgbGlidXBucCIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly93d3cubXVzaWNwZC5vcmcvZG93bmxvYWQvJHtCUE59LzAuMTkvJHtCUH0udGFyLnh6IFwKKyAgICBmaWxlOi8vbXBkLmNvbmYuaW4gXAorIgorU1JDX1VSSVttZDVzdW1dID0gImRhNGJjM2U0N2FmZDBmYWY5ZTdhNjcxNjhlMDEyMTAyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImMzODZlYjNkMjJmOThkYzk5M2I1YWUzYzI3MmY5NjlhYTc3NjM3MTM0ODNjNjgwMDA0MGViZjE3OTFiMTU4NTEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVzZXJhZGQgc3lzdGVtZAorCitFWFRSQV9PRUNPTkYgPSAiZW5hYmxlX2J6aXAyPXllcyIKK0VYVFJBX09FQ09ORiArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJy0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLycsICctLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXInLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbbWFkXSA9ICItLWVuYWJsZS1tYWQsLS1kaXNhYmxlLW1hZCxsaWJtYWQiCitQQUNLQUdFQ09ORklHW2lkM3RhZ10gPSAiLS1lbmFibGUtaWQzLC0tZGlzYWJsZS1pZDMsbGliaWQzdGFnIgorUEFDS0FHRUNPTkZJR1tsYW1lXSA9ICItLWVuYWJsZS1sYW1lLWVuY29kZXIsLS1kaXNhYmxlLWxhbWUtZW5jb2RlcixsYW1lIgorUEFDS0FHRUNPTkZJR1tzbWJdID0gIi0tZW5hYmxlLXNtYmNsaWVudCwtLWRpc2FibGUtc21iY2xpZW50LHNhbWJhIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9saWIvbXBkL211c2ljCisgICAgY2htb2QgNzc1ICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9saWIvbXBkL211c2ljCisgICAgaW5zdGFsbCAtZCAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vbGliL21wZC9wbGF5bGlzdHMKKyAgICBjaG93biAtUiBtcGQgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9tcGQKKyAgICBjaG93biBtcGQ6bXBkICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9saWIvbXBkL211c2ljCisKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vbXBkLmNvbmYuaW4gJHtEfS8ke3N5c2NvbmZkaXJ9L21wZC5jb25mCisgICAgc2VkIC1pIFwKKyAgICAgICAgLWUgJ3N8JW11c2ljX2RpcmVjdG9yeSV8JHtsb2NhbHN0YXRlZGlyfS9saWIvbXBkL211c2ljfCcgXAorICAgICAgICAtZSAnc3wlcGxheWxpc3RfZGlyZWN0b3J5JXwke2xvY2Fsc3RhdGVkaXJ9L2xpYi9tcGQvcGxheWxpc3RzfCcgXAorICAgICAgICAtZSAnc3wlZGJfZmlsZSV8JHtsb2NhbHN0YXRlZGlyfS9saWIvbXBkL21wZC5kYnwnIFwKKyAgICAgICAgLWUgJ3N8JWxvZ19maWxlJXwke2xvY2Fsc3RhdGVkaXJ9L2xvZy9tcGQubG9nfCcgXAorICAgICAgICAtZSAnc3wlc3RhdGVfZmlsZSV8JHtsb2NhbHN0YXRlZGlyfS9saWIvbXBkL3N0YXRlfCcgXAorICAgICAgICAke0R9LyR7c3lzY29uZmRpcn0vbXBkLmNvbmYKKworICAgIGlmIFsgLWUgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL21wZC5zZXJ2aWNlIF0gOyB0aGVuCisgICAgICAgIHNlZCAtaSBcCisgICAgICAgICAgICAnc3xeRXhlY1N0YXJ0PS4qfEV4ZWNTdGFydD0ke2JpbmRpcn0vbXBkIC0tbm8tZGFlbW9ufCcgXAorICAgICAgICAgICAgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL21wZC5zZXJ2aWNlCisgICAgZmkKK30KKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtcGQuc2VydmljZSBtcGQuc29ja2V0IgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICIgXAorICAgIC0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgXAorICAgIC0taG9tZSAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9tcGQgXAorICAgIC0tZ3JvdXBzIGF1ZGlvIFwKKyAgICAtLXVzZXItZ3JvdXAgbXBkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL29wZW5hbC9vcGVuYWwtc29mdF8xLjE1LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0XzEuMTUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODk1MjM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL29wZW5hbC9vcGVuYWwtc29mdF8xLjE1LjEuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJPcGVuQUwgaXMgYSBjcm9zcy1wbGF0Zm9ybSAzRCBhdWRpbyBBUEkiCitIT01FUEFHRSA9ICJodHRwOi8va2NhdC5zdHJhbmdlc29mdC5uZXQvb3BlbmFsLmh0bWwiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmFjYzNhOGY0NTI5MzAwODNiYmI5NWQ4MmI5ODljMzUiCisKK2luaGVyaXQgY21ha2UKKworU1JDX1VSSSA9ICJodHRwOi8va2NhdC5zdHJhbmdlc29mdC5uZXQvb3BlbmFsLXJlbGVhc2VzLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZWE4M2RlYzNiOTY1NWEyN2QyOGU3YmM3Y2FlOWNkNzEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGUyOWExNjJmMDg0MWNjYjQxMzVjZTc2ZTkyZThhNzA0NTg5YjY4MGE4NWVkZGY3NmY4OThkZTUyMzZlYjA1NiIKKworUEFDS0FHRUNPTkZJRyA/PSAiXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYWxzYScsICdhbHNhJywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgJ3B1bHNlYXVkaW8nLCAnJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbYWxzYV0gPSAiLURBTFNBPVRSVUUsIC1EQUxTQT1GQUxTRSwgYWxzYS1saWIiCitQQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi1EUFVMU0VBVURJTz1UUlVFLCAtRFBVTFNFQVVESU89RkFMU0UsIHB1bHNlYXVkaW8iCisjIGN1cnJlbnRseSBkb2Vzbid0IHdvcmsgd2l0aCBsaWJhdi05CisjIFBLR19DSEVDS19NT0RVTEVTKEZGTVBFRyBsaWJhdmNvZGVjPj01My42MS4xMDAgbGliYXZmb3JtYXQ+PTUzLjMyLjEwMCBsaWJhdnV0aWw+PTUxLjM1LjEwMCkKKyMgYnV0IGFsZmZtcGVnLmM6NDE4OjQ0OiBlcnJvcjogJ0FWX0NIX0xBWU9VVF9NT05PJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKK1BBQ0tBR0VDT05GSUdbZXhhbXBsZXNdID0gIi1ERVhBTVBMRVM9VFJVRSwgLURFWEFNUExFUz1GQUxTRSwgbGliYXYiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L29wZW5hbCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuY29yZS1hbXIvb3BlbmNvcmUtYW1yXzAuMS4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL29wZW5jb3JlLWFtci9vcGVuY29yZS1hbXJfMC4xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWI1ODEzZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuY29yZS1hbXIvb3BlbmNvcmUtYW1yXzAuMS4zLmJiCkBAIC0wLDAgKzEsMTMgQEAKK0RFU0NSSVBUSU9OID0gIk9wZW5DT1JFIEFkYXB0aXZlIE11bHRpIFJhdGUgKEFNUikgc3BlZWNoIGNvZGVjIGxpYnJhcnkgaW1wbGVtZW50YXRpb24iCitIT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL29wZW5jb3JlLWFtci8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWRkMmMyNDg2YWNhMDIxOTAxNTNjZjM5OWU1MDhjN2U3IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9vcGVuY29yZS1hbXIvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjA5ZDJjNWRmYjQzYTlmNmU5ZmVjOGIxYWU2NzhlNzI1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwNmJmODExYzFmMzY0NDRkNzY3MWQ4ZmQyNTg5ZjhiMmUwY2NhNThhMmM3NjRkYTYyZmZjNGEwNzA1OTUzODUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmNvcmUtYW1yL3ZvLWFhY2VuY18wLjEuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuY29yZS1hbXIvdm8tYWFjZW5jXzAuMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlMzczNjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmNvcmUtYW1yL3ZvLWFhY2VuY18wLjEuMy5iYgpAQCAtMCwwICsxLDEzIEBACitERVNDUklQVElPTiA9ICJWaXN1YWxPbiBBZHZhbmNlZCBBdWRpbyBDb2RpbmcgKEFBQykgZW5jb2RlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvb3BlbmNvcmUtYW1yLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGQyYzI0ODZhY2EwMjE5MDE1M2NmMzk5ZTUwOGM3ZTciCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L29wZW5jb3JlLWFtci8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYjU3NGRhMWQ5MmQ3NWZjNDBiMGI3NWFhMTZmMjRhYzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTUxYTc0NzdhMzU5ZjE4ZGY3YzRmODJkMTk1ZGFiNGUxNGU3NDE0Y2JkNDhjZjc5Y2MxOTVmYzQ0Njg1MGYzNiIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuY29yZS1hbXIvdm8tYW1yd2JlbmNfMC4xLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmNvcmUtYW1yL3ZvLWFtcndiZW5jXzAuMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMDQ5ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmNvcmUtYW1yL3ZvLWFtcndiZW5jXzAuMS4zLmJiCkBAIC0wLDAgKzEsMTMgQEAKK0RFU0NSSVBUSU9OID0gIlZpc3VhbE9uIEFkYXB0aXZlIE11bHRpIFJhdGUgV2lkZWJhbmQgKEFNUi1XQikgZW5jb2RlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvb3BlbmNvcmUtYW1yLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGQyYzI0ODZhY2EwMjE5MDE1M2NmMzk5ZTUwOGM3ZTciCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L29wZW5jb3JlLWFtci8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjYzYmI5MmJkZTBiMTU4M2NiM2NiMzQ0YzEyOTIyZTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTY1MmIzOTFlMGYwZTI5NjQxN2I4NDFiMDI5ODdkM2ZkMzNlNmMwYWYzNDJjNjk1NDJjYmIwMTZhNzFkOWQ0ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9ydG1wZHVtcC9ydG1wZHVtcC9maXgtcmFjaW5nLWJ1aWxkLWlzc3VlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3J0bXBkdW1wL3J0bXBkdW1wL2ZpeC1yYWNpbmctYnVpbGQtaXNzdWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIzZDhiMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9ydG1wZHVtcC9ydG1wZHVtcC9maXgtcmFjaW5nLWJ1aWxkLWlzc3VlLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK01ha2Ugc3VyZSBsaWJkaXIgKFNPRElSKSBpcyBjcmVhdGVkIHdoZW4gcnVubmluZyBwYXJhbGxlbCBtYWtlLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlaSBHaGVyemFuIDxhbmRyZWlAZ2hlcnphbi5ybz4KKworSW5kZXg6IGdpdC9saWJydG1wL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvbGlicnRtcC9NYWtlZmlsZQorKysrIGdpdC9saWJydG1wL01ha2VmaWxlCitAQCAtMTA3LDYgKzEwNyw3IEBAIGluc3RhbGxfYmFzZToJbGlicnRtcC5hIGxpYnJ0bXAucGMKKyAJY3AgbGlicnRtcC4zICQoTUFORElSKS9tYW4zCisgCisgaW5zdGFsbF9zbzoJbGlicnRtcC4kKFNPX0VYVCkKKysJLW1rZGlyIC1wICQoU09ESVIpCisgCWNwIGxpYnJ0bXAuJChTT19FWFQpICQoU09ESVIpCisgCWNkICQoU09ESVIpOyBsbiAtc2YgbGlicnRtcC4kKFNPX0VYVCkgbGlicnRtcC4kKFNPWCkKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9ydG1wZHVtcC9ydG1wZHVtcF8yLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvcnRtcGR1bXAvcnRtcGR1bXBfMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExZTY1MDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvcnRtcGR1bXAvcnRtcGR1bXBfMi40LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiUlRNUCBEdW1wIgorREVTQ1JJUFRJT04gPSAicnRtcGR1bXAgaXMgYSB0b29sa2l0IGZvciBSVE1QIHN0cmVhbXMuIEFsbCBmb3JtcyBvZiBSVE1QIGFyZSBcCitzdXBwb3J0ZWQsIGluY2x1ZGluZyBydG1wOi8vLCBydG1wdDovLywgcnRtcGU6Ly8sIHJ0bXB0ZTovLywgYW5kIHJ0bXBzOi8vLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9ydG1wZHVtcC5tcGxheWVyaHEuaHUvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitERVBFTkRTID0gIm9wZW5zc2wgemxpYiIKKworU1JDUkVWID0gIjMxMjEzMjQwNDZlNGNhMTkzNGU3ZTI4MjkzZmM4MzI2NDc1ZDUwNTMiCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0LmZmbXBlZy5vcmcvcnRtcGR1bXAgXAorICAgIGZpbGU6Ly9maXgtcmFjaW5nLWJ1aWxkLWlzc3VlLnBhdGNoIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworRVhUUkFfT0VNQUtFID0gIiBcCisgICAgQ0M9JyR7Q0N9JyBMRD0nJHtMRH0gJHtTVEFHSU5HX0xJQkRJUn0nIFwKKyAgICBTWVM9cG9zaXggSU5DPS1JPS91c3IvaW5jbHVkZSBERVNURElSPSR7RH0gXAorICAgIHByZWZpeD0ke3ByZWZpeH0gbGliZGlyPSR7bGliZGlyfSBpbmNkaXI9JHtpbmNsdWRlZGlyfS9saWJydG1wIGJpbmRpcj0ke2JpbmRpcn0gbWFuZGlyPSR7bWFuZGlyfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zYW1wbGUtY29udGVudC9iaWdidWNrYnVubnktMTA4MHAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2FtcGxlLWNvbnRlbnQvYmlnYnVja2J1bm55LTEwODBwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5MWJhNDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2FtcGxlLWNvbnRlbnQvYmlnYnVja2J1bm55LTEwODBwLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiQmlnIEJ1Y2sgQnVubnkgbW92aWUgLSAxMDgwUCIKK0xJQ0VOU0UgPSAiQ0MtQlktMy4wIgorIyBodHRwOi8vd3d3LmJpZ2J1Y2tidW5ueS5vcmcvaW5kZXgucGhwL2Fib3V0LworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvQ0MtQlktMy4wO21kNT1kZmEwMmI1NzU1NjI5MDIyZTI2N2YxMGI5YzBhMmFiNyIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuYmxlbmRlci5vcmcvcGVhY2gvYmlnYnVja2J1bm55X21vdmllcy9iaWdfYnVja19idW5ueV8xMDgwcF9zdXJyb3VuZC5hdmkiCitTUkNfVVJJW21kNXN1bV0gPSAiMjIzOTkxYzhiMzM1NjRlYjc3OTg4YTRjMTNjMWM3NmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjlmZTJjZmU3MTU0YTZlNzUyNjg4ZTNhMGQ3ZDZiMDdiMTYwNWJiYWY3NWI1NmY2NDcwZGM3YjRjMjBjMDZlYSIKKworaW5oZXJpdCBhbGxhcmNoCisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9tb3ZpZXMKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9iaWdfYnVja19idW5ueV8xMDgwcF9zdXJyb3VuZC5hdmkgJHtEfSR7ZGF0YWRpcn0vbW92aWVzLworfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9tb3ZpZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2FtcGxlLWNvbnRlbnQvYmlnYnVja2J1bm55LTQ4MHAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2FtcGxlLWNvbnRlbnQvYmlnYnVja2J1bm55LTQ4MHAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTcwMjlkOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zYW1wbGUtY29udGVudC9iaWdidWNrYnVubnktNDgwcC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkJpZyBCdWNrIEJ1bm55IG1vdmllIC0gNDgwUCIKK0xJQ0VOU0UgPSAiQ0MtQlktMy4wIgorIyBodHRwOi8vd3d3LmJpZ2J1Y2tidW5ueS5vcmcvaW5kZXgucGhwL2Fib3V0LworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvQ0MtQlktMy4wO21kNT1kZmEwMmI1NzU1NjI5MDIyZTI2N2YxMGI5YzBhMmFiNyIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuYmxlbmRlci5vcmcvcGVhY2gvYmlnYnVja2J1bm55X21vdmllcy9iaWdfYnVja19idW5ueV80ODBwX3N1cnJvdW5kLWZpeC5hdmkiCitTUkNfVVJJW21kNXN1bV0gPSAiZWQ3ZWQwMWU5YWVmYmE4ZGRkNzdjMTMzMzJjZWMxMjAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDBkMWNmNWJjOGUxYjBlNTVkYWM3YmIyZTNmYmMyYWVhMDViNjY3OTQ0NDg2NDc4MTI5OWIyNGRiMDQ0NjM0ZiIKKworaW5oZXJpdCBhbGxhcmNoCisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9tb3ZpZXMKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9iaWdfYnVja19idW5ueV80ODBwX3N1cnJvdW5kLWZpeC5hdmkgJHtEfSR7ZGF0YWRpcn0vbW92aWVzLworfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9tb3ZpZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2FtcGxlLWNvbnRlbnQvYmlnYnVja2J1bm55LTcyMHAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2FtcGxlLWNvbnRlbnQvYmlnYnVja2J1bm55LTcyMHAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVmY2VhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zYW1wbGUtY29udGVudC9iaWdidWNrYnVubnktNzIwcC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkJpZyBCdWNrIEJ1bm55IG1vdmllIC0gNzIwUCIKK0xJQ0VOU0UgPSAiQ0MtQlktMy4wIgorIyBodHRwOi8vd3d3LmJpZ2J1Y2tidW5ueS5vcmcvaW5kZXgucGhwL2Fib3V0LworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvQ0MtQlktMy4wO21kNT1kZmEwMmI1NzU1NjI5MDIyZTI2N2YxMGI5YzBhMmFiNyIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuYmxlbmRlci5vcmcvcGVhY2gvYmlnYnVja2J1bm55X21vdmllcy9iaWdfYnVja19idW5ueV83MjBwX3N1cnJvdW5kLmF2aSIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZGE4ZmUxMjQ1OTVmNWIyMDZkNjRjYjE0MDBiYmVmYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiOTU3ZDZlNjIxMjYzODQ0MWI1MmQzYjYyMGFmMTU3Y2M4ZDQwYzJhMDM0MjY2OTI5NDg1NGEwNmVkY2Q1MjhjIgorCitpbmhlcml0IGFsbGFyY2gKKworZG9faW5zdGFsbCgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L21vdmllcworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2JpZ19idWNrX2J1bm55XzcyMHBfc3Vycm91bmQuYXZpICR7RH0ke2RhdGFkaXJ9L21vdmllcy8KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vbW92aWVzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3NhbXBsZS1jb250ZW50L3RlYXJzb2ZzdGVlbC0xMDgwcC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zYW1wbGUtY29udGVudC90ZWFyc29mc3RlZWwtMTA4MHAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmI3ZWU3YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zYW1wbGUtY29udGVudC90ZWFyc29mc3RlZWwtMTA4MHAuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJUZWFycyBvZiBTdGVlbCBtb3ZpZSAtIDEwODBQIgorTElDRU5TRSA9ICJDQy1CWS0zLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9DQy1CWS0zLjA7bWQ1PWRmYTAyYjU3NTU2MjkwMjJlMjY3ZjEwYjljMGEyYWI3IgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAubmx1dWcubmwvcHViL2dyYXBoaWNzL2JsZW5kZXIvZGVtby9tb3ZpZXMvVG9TL1RvUy00ay0xOTIwLm1vdiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlM2ZlZTU1YjE3NzljNTUzZTM3YjFkMzk4OGU2ZmFkNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZDJiNWJjNmMxNmQ0MDg1MDM0ZjQ3ZWY3ZTRiMzkzOGFmZTg2YjRlZWM0YWMzY2YyNjg1MzY3ZDNiMGIyM2IwIgorCitpbmhlcml0IGFsbGFyY2gKKworZG9faW5zdGFsbCgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L21vdmllcworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L1RvUy00ay0xOTIwLm1vdiAke0R9JHtkYXRhZGlyfS9tb3ZpZXMvCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L21vdmllcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zY2hyb2VkaW5nZXIvc2Nocm9lZGluZ2VyL2NvbmZpZ3VyZS5hYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zY2hyb2VkaW5nZXIvc2Nocm9lZGluZ2VyL2NvbmZpZ3VyZS5hYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWQ4ZDIyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3NjaHJvZWRpbmdlci9zY2hyb2VkaW5nZXIvY29uZmlndXJlLmFjLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK1VzZSB0aGUgdmVyc2lvbiBvZiBvcmNjIGluIHRoZSBzeXNyb290IG5vdCB0aGUgb25lIGZyb20gdGhlIGhvc3QKKworU2lnbmVkLW9mZi1ieTogRG9uZ3hpYW8gWHUgPGRvbmd4aWFvLnh1QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiBzY2hyb2VkaW5nZXItMS4wLjkvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gc2Nocm9lZGluZ2VyLTEuMC45Lm9yaWcvY29uZmlndXJlLmFjCisrKysgc2Nocm9lZGluZ2VyLTEuMC45L2NvbmZpZ3VyZS5hYworQEAgLTU0LDcgKzU0LDcgQEAgaWYgdGVzdCAieCR7SEFWRV9PUkN9IiAhPSB4eWVzIDsgdGhlbgorICAgQUNfRVJST1IoW29yYy0wLjQgPj0gJE9SQ19WRVIgaXMgcmVxdWlyZWRdKQorIGZpCisgU0NIUk9fUEtHX0RFUFM9IiRTQ0hST19QS0dfREVQUyBvcmMtMC40ID49ICRPUkNfVkVSIgorLU9SQ0M9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9b3JjYyBvcmMtMC40YAorK09SQ0M9JFNUQUdJTkdfRElSYCRQS0dfQ09ORklHIC0tdmFyaWFibGU9b3JjYyBvcmMtMC40YAorIEFDX1NVQlNUKE9SQ0MpCisgCisgQUNfQVJHX1dJVEgoW3RocmVhZF0sCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2Nocm9lZGluZ2VyL3NjaHJvZWRpbmdlcl8xLjAuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvc2Nocm9lZGluZ2VyL3NjaHJvZWRpbmdlcl8xLjAuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM4ZWI5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zY2hyb2VkaW5nZXIvc2Nocm9lZGluZ2VyXzEuMC4xMS5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkRpcmFjIGNvbXByZXNzZWQgdmlkZW8gZW5jb2Rlci9kZWNvZGVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3NjaHJvZGluZ2VyLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIk1QTC0xLjEgfCBHUEx2MiB8IExHUEx2MiB8IE1JVCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDkxYTQ2NDA1ZmMwNzRiODhjOTYzY2M0ZjJhMGFhZTkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5HUEw7bWQ1PWUxODFlM2I3YzY2ZjVmOTY5MjFkODEzYzEwNzRmODMzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9MzhjODkzZTIxYmFlYzRjZDc1YWQ4MDBiYTllMjQxMGEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5NSVQ7bWQ1PThiMzQ1MzcxYjM1MzZiNGNlMzdlYWQxZWFmYzg4MjIxIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTVBMO21kNT0wMTE3NjQ3ZmVjYjlhOTMyYzI1YTdiYmZjMDMzM2MzNyIKKworREVQRU5EUyA9ICJsaWJvaWwgb3JjLW5hdGl2ZSBvcmMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5kaXJhY3ZpZGVvLm9yZy9kb3dubG9hZC9zY2hyb2VkaW5nZXIvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5hYy5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImRhNmFmMDhlNTY0Y2ExMTU3MzQ4ZmI4ZDkyZWZjODkxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFlNTcyYTA3MzViOTJhY2E1NzQ2YzQ1MjhmOWJlYmQzNWFhMGNjZjg2MTliMjJmYTI3NTYxMzdhOGNjOWY5MTIiCisKK0VYVFJBX09FQ09ORiArPSAiU1RBR0lOR19ESVI9JHtTVEFHSU5HX0RJUl9OQVRJVkV9IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zb3gvc294XzE0LjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9zb3gvc294XzE0LjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjczYWEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3NveC9zb3hfMTQuNC4wLmJiCkBAIC0wLDAgKzEsMzggQEAKK0RFU0NSSVBUSU9OPSJTb1ggaXMgdGhlIFN3aXNzIEFybXkga25pZmUgb2Ygc291bmQgcHJvY2Vzc2luZyB0b29scy4gXAorSXQgY29udmVydHMgYXVkaW8gZmlsZXMgYW1vbmcgdmFyaW91cyBzdGFuZGFyZCBhdWRpbyBmaWxlIGZvcm1hdHMgXAorYW5kIGNhbiBhcHBseSBkaWZmZXJlbnQgZWZmZWN0cyBhbmQgZmlsdGVycyB0byB0aGUgYXVkaW8gZGF0YS4iCitIT01FUEFHRSA9ICJodHRwOi8vc294LnNvdXJjZWZvcmdlLm5ldCIKK1NFQ1RJT04gPSAiYXVkaW8iCisKK0RFUEVORFMgPSAibGlicG5nIGZmbXBlZyBsaWJzbmRmaWxlMSBsaWJ2b3JiaXMiCisKK1BSID0gInIyIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgJ3B1bHNlYXVkaW8nLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2Fsc2EnLCAnYWxzYScsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgIG1hZ2ljIFwKKyIKK1BBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLS13aXRoLXB1bHNlYXVkaW89ZHluLC0td2l0aC1wdWxzZWF1ZGlvPW5vLHB1bHNlYXVkaW8sIgorUEFDS0FHRUNPTkZJR1thbHNhXSA9ICItLXdpdGgtYWxzYT1keW4sLS13aXRoLWFsc2E9bm8sYWxzYS1saWIsIgorUEFDS0FHRUNPTkZJR1t3YXZwYWNrXSA9ICItLXdpdGgtd2F2cGFjaz1keW4sLS13aXRoLXdhdnBhY2s9bm8sd2F2cGFjaywiCitQQUNLQUdFQ09ORklHW2ZsYWNdID0gIi0td2l0aC1mbGFjPWR5biwtLXdpdGgtZmxhYz1ubyxmbGFjLCIKK1BBQ0tBR0VDT05GSUdbYW1yd2JdID0gIi0td2l0aC1hbXJ3Yj1keW4sLS13aXRoLWFtcndiPW5vLG9wZW5jb3JlLWFtciwiCitQQUNLQUdFQ09ORklHW2Ftcm5iXSA9ICItLXdpdGgtYW1ybmI9ZHluLC0td2l0aC1hbXJuYj1ubyxvcGVuY29yZS1hbXIsIgorUEFDS0FHRUNPTkZJR1ttYWdpY10gPSAiLS13aXRoLW1hZ2ljLC0td2l0aG91dC1tYWdpYyxmaWxlLCIKK1BBQ0tBR0VDT05GSUdbbWFkXSA9ICItLXdpdGgtbWFkLC0td2l0aG91dC1tYWQsbGlibWFkLCIKK1BBQ0tBR0VDT05GSUdbaWQzdGFnXSA9ICItLXdpdGgtaWQzdGFnLC0td2l0aG91dC1pZDN0YWcsbGliaWQzdGFnLCIKK1BBQ0tBR0VDT05GSUdbbGFtZV0gPSAiLS13aXRoLWxhbWUsLS13aXRob3V0LWxhbWUsbGFtZSwiCitQQUNLQUdFQ09ORklHW2FvXSA9ICItLXdpdGgtYW8sLS13aXRob3V0LWFvLGxpYmFvLCIKKworTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5HUEw7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UuTEdQTDttZDU9ZmJjMDkzOTAxODU3ZmNkMTE4ZjA2NWY5MDA5ODJjMjQiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3NveC9zb3gtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImIwYzE1Y2ZmN2E0YmEwZWMxN2ZkYzc0ZTZhMWY5Y2YxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNlZTM0YjE0ZGQyNjdkZTM3OGU4YTExN2FhZTgxZWM0Y2FlMzMwNzcyMzQyZTZhNTViYmY2NTIwYTBhODhhYTMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL2xpYmR2ZGNzc18xLjMuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvbGliZHZkY3NzXzEuMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ZTY0YWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL2xpYmR2ZGNzc18xLjMuMC5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJsaWJkdmRjc3MgaXMgYSBzaW1wbGUgbGlicmFyeSBkZXNpZ25lZCBmb3IgYWNjZXNzaW5nIERWRHMgbGlrZSBhIGJsb2NrIGRldmljZSB3aXRob3V0IGhhdmluZyB0byBib3RoZXIgYWJvdXQgdGhlIGRlY3J5cHRpb24uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC52aWRlb2xhbi5vcmcvcHViL2xpYmR2ZGNzcy8ke1BWfS9saWJkdmRjc3MtJHtQVn0udGFyLmJ6MiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GID0gIiAtLWRpc2FibGUtZG9jICIKKworU1JDX1VSSVttZDVzdW1dID0gIjdmMGZkYjNmZjkxZDYzOGY1ZTQ1ZWQ3NTM2ZjdlYjY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdjNDE0YWNkNTIwYzRlNGRkNzI2Nzk1MmY3MmQ3MzhmZjUwMzIxYTc4NjlhZjRkNzVjNjVhZWZhZDQ0ZjEzOTUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE0MmUxNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLmluYwpAQCAtMCwwICsxLDEwNiBAQAorREVTQ1JJUFRJT04gPSAiVmlkZW8gcGxheWVyIGFuZCBzdHJlYW1lciAtIGRhdmluY2kgZWRpdGlvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudmlkZW9sYW4ub3JnIgorU0VDVElPTiA9ICJtdWx0aW1lZGlhIgorCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworREVQRU5EUyA9ICJsaWJmcmliaWRpIGxpYnRvb2wgbGliZ2NyeXB0IGxpYmdjcnlwdC1uYXRpdmUgXAorICAgZGJ1cyBkYnVzLWdsaWIgbGlieG1sMiBnbnV0bHMgXAorICAgdHJlbW9yIGZhYWQyIGZmbXBlZyBmbGFjIGZsdWlkc3ludGggYWxzYS1saWIgXAorICAgbHVhLW5hdGl2ZSBsdWEgbGliaWRuIFwKKyAgIGF2YWhpIGpwZWcgeHogbGlibW9kcGx1ZyBtcGVnMmRlYyBcCisgICBsaWJtdHAgbGlib3B1cyBvcmMgbGlic2FtcGxlcmF0ZTAgbGlidXNiMSBzY2hyb2VkaW5nZXIgdGFnbGliIFwKKyAgIHRpZmYiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnZpZGVvbGFuLm9yZy9wdWIvdmlkZW9sYW4vJHtCUE59LyR7UFZ9LyR7QlB9LnRhci54eiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZW5hYmxlLXJ1bi1hcy1yb290IFwKKyAgICAtLWVuYWJsZS14dmlkZW8gXCAKKyAgICAtLWRpc2FibGUtc2NyZWVuIC0tZGlzYWJsZS1jYWNhIFwKKyAgICAtLWVuYWJsZS1odHRwZCAtLWVuYWJsZS12bG0gXAorICAgIC0tZW5hYmxlLWZyZWV0eXBlIFwKKyAgICAtLWVuYWJsZS10cmVtb3IgXAorICAgIC0tZW5hYmxlLXY0bDIgLS1kaXNhYmxlLWFhIC0tZGlzYWJsZS1mYWFkIFwKKyAgICAtLWVuYWJsZS1kYnVzIFwKKyAgICAtLXdpdGhvdXQtY29udHJpYiBcCisgICAgLS13aXRob3V0LWtkZS1zb2xpZCBcCisgICAgLS1lbmFibGUtcmVhbHJ0c3AgXAorICAgIC0tZGlzYWJsZS1saWJ0YXIgXAorICAgIGFjX2N2X3BhdGhfTU9DPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9tb2M0IFwKKyAgICBhY19jdl9wYXRoX1JDQz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vcmNjNCBcCisgICAgYWNfY3ZfcGF0aF9VSUM9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3VpYzQgXAorIgorCitQQUNLQUdFQ09ORklHID89ICIgbGl2ZTU1NSBkYzEzOTQgZHYxMzk0IG5vdGlmeSBmb250Y29uZmlnIGZyZWV0eXBlIGR2ZHJlYWQgcG5nICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMSBzZGwnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1ttYWRdID0gIi0tZW5hYmxlLW1hZCwtLWRpc2FibGUtbWFkLGxpYm1hZCIKK1BBQ0tBR0VDT05GSUdbc2RsXSA9ICItLWVuYWJsZS1zZGwsLS1kaXNhYmxlLXNkbCx2aXJ0dWFsL2xpYnNkbCBsaWJzZGwtaW1hZ2UgIgorUEFDS0FHRUNPTkZJR1thNTJdID0gIi0tZW5hYmxlLWE1MiwtLWRpc2FibGUtYTUyLGxpYmE1MiIKK1BBQ0tBR0VDT05GSUdbamFja10gPSAiLS1lbmFibGUtamFjaywtLWRpc2FibGUtamFjayxqYWNrIgorUEFDS0FHRUNPTkZJR1tsaXZlNTU1XSA9ICItLWVuYWJsZS1saXZlNTU1LC0tZGlzYWJsZS1saXZlNTU1LGxpdmU1NTUiCitQQUNLQUdFQ09ORklHW2xpYmFzc10gPSAiLS1lbmFibGUtbGliYXNzLC0tZGlzYWJsZS1saWJhc3MsbGliYXNzIgorUEFDS0FHRUNPTkZJR1tta3ZdID0gIi0tZW5hYmxlLW1rdiwtLWRpc2FibGUtbWt2LGxpYm1hdHJvc2thIGxpYmVibWwiCitQQUNLQUdFQ09ORklHW3Bvc3Rwcm9jXSA9ICItLWVuYWJsZS1wb3N0cHJvYywtLWRpc2FibGUtcG9zdHByb2MsbGlicG9zdHByb2MiCitQQUNLQUdFQ09ORklHW29wZW5jdl0gPSAiLS1lbmFibGUtb3BlbmN2LC0tZGlzYWJsZS1vcGVuY3Ysb3BlbmN2IgorUEFDS0FHRUNPTkZJR1tsaWJ2YV0gPSAiLS1lbmFibGUtbGlidmEgLS1lbmFibGUtYXZjb2RlYywtLWRpc2FibGUtbGlidmEgLS1kaXNhYmxlLWF2Y29kZWMsbGlidmEgbGliYXYiCitQQUNLQUdFQ09ORklHW3NwZWV4XSA9ICItLWVuYWJsZS1zcGVleCwtLWRpc2FibGUtc3BlZXgsc3BlZXgiCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLS1lbmFibGUtZ3N0LWRlY29kZSwtLWRpc2FibGUtZ3N0LWRlY29kZSxnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSBnc3QtcGx1Z2lucy1iYWQiCitQQUNLQUdFQ09ORklHW3ZweF0gPSAiLS1lbmFibGUtdnB4LC0tZGlzYWJsZS12cHgsIGxpYnZweCIKK1BBQ0tBR0VDT05GSUdbcXQ0XSA9ICItLWVuYWJsZS1xdCwtLWRpc2FibGUtcXQsIHF0NC14MTEtZnJlZSIKK1BBQ0tBR0VDT05GSUdbZnJlZXJkcF0gPSAiLS1lbmFibGUtZnJlZXJkcCwtLWRpc2FibGUtZnJlZXJkcCwgZnJlZXJkcCIKK1BBQ0tBR0VDT05GSUdbZHZicHNpXSA9ICItLWVuYWJsZS1kdmJwc2ksLS1kaXNhYmxlLWR2YnBzaSwgbGliZHZicHNpIgorUEFDS0FHRUNPTkZJR1tnbm9tZS12ZnNdID0gIi0tZW5hYmxlLWdub21ldmZzLC0tZGlzYWJsZS1nbm9tZXZmcywgZ25vbWUtdmZzIgorUEFDS0FHRUNPTkZJR1tzYW1iYV0gPSAiLS1lbmFibGUtc21iY2xpZW50LC0tZGlzYWJsZS1zbWJjbGllbnQsIHNhbWJhIgorUEFDS0FHRUNPTkZJR1t1cG5wXSA9ICItLWVuYWJsZS11cG5wLC0tZGlzYWJsZS11cG5wLGxpYnVwbnAiCitQQUNLQUdFQ09ORklHW2R2ZG5hdl0gPSAiLS1lbmFibGUtZHZkbmF2LC0tZGlzYWJsZS1kdmRuYXYsbGliZHZkbmF2IGxpYmR2ZGNzcyIKK1BBQ0tBR0VDT05GSUdbc2Z0cF0gPSAiLS1lbmFibGUtc2Z0cCwtLWRpc2FibGUtc2Z0cCxsaWJzc2gyIgorUEFDS0FHRUNPTkZJR1t2b3JiaXNdID0gIi0tZW5hYmxlLXZvcmJpcywtLWRpc2FibGUtdm9yYmlzLGxpYnZvcmJpcyBsaWJvZ2ciCitQQUNLQUdFQ09ORklHW29nZ10gPSAiLS1lbmFibGUtb2dnLC0tZGlzYWJsZS1vZ2csbGlidm9yYmlzIGxpYm9nZyIKK1BBQ0tBR0VDT05GSUdbZGMxMzk0XSA9ICItLWVuYWJsZS1kYzEzOTQsLS1kaXNhYmxlLWRjMTM5NCxsaWJkYzEzOTQiCitQQUNLQUdFQ09ORklHW2R2MTM5NF0gPSAiLS1lbmFibGUtZHYxMzk0LC0tZGlzYWJsZS1kdjEzOTQsbGlicmF3MTM5NCBsaWJhdmMxMzk0IgorUEFDS0FHRUNPTkZJR1tzdmddID0gIi0tZW5hYmxlLXN2ZywtLWRpc2FibGUtc3ZnLGxpYnJzdmciCitQQUNLQUdFQ09ORklHW3N2Z2RlY10gPSAiLS1lbmFibGUtc3ZnZGVjLC0tZGlzYWJsZS1zdmdkZWMsbGlicnN2ZyBjYWlybyIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1ub3RpZnksLS1kaXNhYmxlLW5vdGlmeSwgbGlibm90aWZ5IGd0aysiCitQQUNLQUdFQ09ORklHW2ZvbnRjb25maWddID0gIi0tZW5hYmxlLWZvbnRjb25maWcsLS1kaXNhYmxlLWZvbnRjb25maWcsIGZvbnRjb25maWciCitQQUNLQUdFQ09ORklHW2ZyZWV0eXBlXSA9ICItLWVuYWJsZS1mcmVldHlwZSwtLWRpc2FibGUtZnJlZXR5cGUsIGZyZWV0eXBlIgorUEFDS0FHRUNPTkZJR1tkdmRyZWFkXSA9ICItLWVuYWJsZS1kdmRyZWFkLC0tZGlzYWJsZS1kdmRyZWFkLCBsaWJkdmRyZWFkIGxpYmR2ZGNzcyIKK1BBQ0tBR0VDT05GSUdbdm5jXSA9ICItLWVuYWJsZS12bmMsLS1kaXNhYmxlLXZuYywgbGlidm5jc2VydmVyIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14IC0tZW5hYmxlLXhjYiwtLXdpdGhvdXQteCAtLWRpc2FibGUteGNiLCAgeGNiLXV0aWwta2V5c3ltcyBsaWJ4cG0gbGlieGluZXJhbWEiCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLS1lbmFibGUtcG5nLC0tZGlzYWJsZS1wbmcsbGlicG5nIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBjcCAke1NUQUdJTkdfREFUQURJUn0vbGlidG9vbC9jb25maWcuKiAke1N9L2F1dG90b29scy8gfHwgdHJ1ZQorfQorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIHNlZCAtaSAtZSBzOickKE1PQykgJChERUZTKSAkKENQUEZMQUdTKSc6JyQoTU9DKSAkKERFRlMpJ1wgLUkke0J9L2luY2x1ZGVcIC1EU1lTX0xJTlVYOmcgJHtCfS9tb2R1bGVzL2d1aS9xdDQvTWFrZWZpbGUKKyAgICBzZWQgLWkgLWUgczonJHt0b3BfYnVpbGRkaXJfc2xhc2h9bGlidG9vbCc6JyR7dG9wX2J1aWxkZGlyX3NsYXNofScke1RBUkdFVF9TWVN9LWxpYnRvb2w6ZyAke0J9L2RvbHRsaWJ0b29sCit9CisKKyMgVGhpcyByZWNpcGUgcGFja2FnZXMgdmxjIGFzIGEgbGlicmFyeSBhcyB3ZWxsLCBzbyBxdDQgZGVwZW5kZW5jaWVzCisjIGNhbiBiZSBhdm9pZGVkIHdoZW4gb25seSB0aGUgbGlicmFyeSBpcyBpbnN0YWxsZWQuCitQQUNLQUdFUyA9KyAibGlidmxjIgorCitMRUFEX1NPTkFNRV9saWJ2bGMgPSAibGlidmxjLnNvLjUiCitGSUxFU19saWJ2bGMgPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKKworRklMRVNfJHtQTn0gKz0gIlwKKyAgICAke2JpbmRpcn0vdmxjIFwKKyAgICAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucyBcCisgICAgJHtkYXRhZGlyfS92bGMvIFwKKyAgICAke2RhdGFkaXJ9L2ljb25zIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICJcCisgICAgJHtsaWJkaXJ9L3ZsYy8qLy5kZWJ1ZyBcCisgICAgJHtsaWJkaXJ9L3ZsYy9wbHVnaW5zLyovLmRlYnVnIFwKKyIKKworRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICJcCisgICAgJHtsaWJkaXJ9L3ZsYy9wbHVnaW5zLyovKi5hIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDEtZW5hYmxlLXN1YmRpci1vYmplY3RzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMS1lbmFibGUtc3ViZGlyLW9iamVjdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWYwZTcwOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDEtZW5hYmxlLXN1YmRpci1vYmplY3RzLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiB2bGMtMi4xLjIvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMS4yLm9yaWcvY29uZmlndXJlLmFjCisrKysgdmxjLTIuMS4yL2NvbmZpZ3VyZS5hYworQEAgLTI0LDcgKzI0LDcgQEAgQUNfQ0FOT05JQ0FMX0JVSUxECisgQUNfQ0FOT05JQ0FMX0hPU1QKKyBBQ19QUkVTRVJWRV9IRUxQX09SREVSCisgCistQU1fSU5JVF9BVVRPTUFLRSh0YXItdXN0YXIgY29sb3ItdGVzdHMgZm9yZWlnbikKKytBTV9JTklUX0FVVE9NQUtFKHRhci11c3RhciBjb2xvci10ZXN0cyBmb3JlaWduIHN1YmRpci1vYmplY3RzKQorIEFDX0NPTkZJR19IRUFERVJTKFtjb25maWcuaF0pCisgCisgIyBEaXNhYmxlIHdpdGggIi4vY29uZmlndXJlIC0tZGlzYWJsZS1zaWxlbnQtcnVsZXMiIG9yICJtYWtlIFY9MSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDItZ2xpYmMtZG9lcy1ub3QtcHJvdmlkZS1zdHJsY3B5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMi1nbGliYy1kb2VzLW5vdC1wcm92aWRlLXN0cmxjcHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQyYTQ2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDItZ2xpYmMtZG9lcy1ub3QtcHJvdmlkZS1zdHJsY3B5LnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK0luZGV4OiB2bGMtMi4xLjIvc3JjL2lucHV0L3N1YnRpdGxlcy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMS4yLm9yaWcvc3JjL2lucHV0L3N1YnRpdGxlcy5jCisrKysgdmxjLTIuMS4yL3NyYy9pbnB1dC9zdWJ0aXRsZXMuYworQEAgLTQ0LDYgKzQ0LDEyIEBACisgI2luY2x1ZGUgImlucHV0X2ludGVybmFsLmgiCisgCisgLyoqCisrICogRHJlcHBlcidzIGFsdGVybmF0aXZlIAorKyAqIGh0dHA6Ly9lbi53aWtpYm9va3Mub3JnL3dpa2kvQ19Qcm9ncmFtbWluZy9DX1JlZmVyZW5jZS9ub25zdGFuZGFyZC9zdHJsY3B5CisrICovCisrI2RlZmluZSBzdHJsY3B5KGRzdCwgc3JjLCBuKSAqKChjaGFyKiApIG1lbXBjcHkoZHN0LCBzcmMsIG4pKSA9ICdcMCcKKysKKysvKioKKyAgKiBXZSBhcmUgbm90IGdvaW5nIHRvIGF1dG9kZXRlY3QgbW9yZSBzdWJ0aXRsZSBmaWxlcyB0aGFuIHRoaXMuCisgICovCisgI2RlZmluZSBNQVhfU1VCVElUTEVfRklMRVMgMTI4CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDAzLXVzZS1hbS1wYXRoLWxpYmdjcnlwdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDMtdXNlLWFtLXBhdGgtbGliZ2NyeXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlODgxZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDAzLXVzZS1hbS1wYXRoLWxpYmdjcnlwdC5wYXRjaApAQCAtMCwwICsxLDQ2IEBACisqIFRoZSB1cHN0cmVhbSB0ZXN0cyBmb3IgbGliZ2NyeXB0IGFyZSBhd2t3YXJkIGFuZCBub3Qgd29ya2luZy4KKyAgLSBSZXF1aXJlcyBsaWJnY3J5cHQtY29uZmlnLCB3aGljaCBzZWVtcyBicm9rZW4/CisqIEFNX1BBVEhfTElCR0NSWVBUIGV4aXN0cyBmb3IgYSByZWFzb24sIHdoeSBub3QgdXNlIGl0PyBLSVNTLgorKiBVcHN0cmVhbSBhYmFuZG9uZWQgQU1fUEFUSF9MSUJHQ1JZUFQgaW4gdGhlIHBhc3QuLi5uZXdlciBhdXRvbWFrZSBvaz8KKworVXBzdHJlYW0gc3RhdHVzOiBQZW5kaW5nCisKK0luZGV4OiB2bGMtMi4yLjEvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMi4xLm9yaWcvY29uZmlndXJlLmFjCisrKysgdmxjLTIuMi4xL2NvbmZpZ3VyZS5hYworQEAgLTQwMTcsMjUgKzQwMTcsMTkgQEAgUEtHX0VOQUJMRV9NT0RVTEVTX1ZMQyhbTElCWE1MMl0sIFt4bWxdLAorIGRubAorIGRubCBsaWJnY3J5cHQKKyBkbmwKKytHQ1JZUFRfTElCVkVSPTEKKytHQ1JZUFRfUkVRPTEuMS45NAorIEFDX0FSR19FTkFCTEUobGliZ2NyeXB0LAorICAgWyAgLS1kaXNhYmxlLWxpYmdjcnlwdCAgICAgZ2NyeXB0IHN1cHBvcnQgKGRlZmF1bHQgZW5hYmxlZCldKQorIEFTX0lGKFt0ZXN0ICIke2VuYWJsZV9saWJnY3J5cHR9IiAhPSAibm8iXSwgWworLSAgQUNfQ0hFQ0tfREVDTChbR0NSWUNUTF9TRVRfVEhSRUFEX0NCU10sIFsKKy0gICAgbGliZ2NyeXB0LWNvbmZpZyAtLXZlcnNpb24gPi9kZXYvbnVsbCB8fCBcCistICAgICAgICBBQ19NU0dfRVJST1IoW2djcnlwdC5oIHByZXNlbnQgYnV0IGxpYmdjcnlwdC1jb25maWcgY291bGQgbm90IGJlIGZvdW5kXSkKKy0gICAgQUNfQ0hFQ0tfTElCKGdjcnlwdCwgZ2NyeV9jb250cm9sLCBbCistICAgICAgaGF2ZV9saWJnY3J5cHQ9InllcyIKKy0gICAgICBHQ1JZUFRfQ0ZMQUdTPSJgbGliZ2NyeXB0LWNvbmZpZyAtLWNmbGFnc2AiCistICAgICAgR0NSWVBUX0xJQlM9ImBsaWJnY3J5cHQtY29uZmlnIC0tbGlic2AiCistICAgIF0sIFsKKy0gICAgICBBQ19NU0dfRVJST1IoW2xpYmdjcnlwdCBub3QgZm91bmQuIEluc3RhbGwgbGliZ2NyeXB0IG9yIHBhc3MgLS1kaXNhYmxlLWxpYmdjcnlwdC5dKQorLSAgICBdLCBbYGxpYmdjcnlwdC1jb25maWcgLS1saWJzYF0pCistICBdLCBbCistICAgIEFDX01TR19FUlJPUihbbGliZ2NyeXB0IHZlcnNpb24gMS4xLjk0IG9yIGhpZ2hlciBub3QgZm91bmQuIEluc3RhbGwgbGliZ2NyeXB0IG9yIHBhc3MgLS1kaXNhYmxlLWxpYmdjcnlwdC5dKQorLSAgXSwgWyNpbmNsdWRlIDxnY3J5cHQuaD5dCistICApCisrICAgICAgQU1fUEFUSF9MSUJHQ1JZUFQoJEdDUllQVF9MSUJWRVI6JEdDUllQVF9SRVEsCisrICAgICAgWworKyAgICAgICAgICBHQ1JZUFRfQ0ZMQUdTPSIkTElCR0NSWVBUX0NGTEFHUyIKKysgICAgICAgICAgR0NSWVBUX0xJQlM9IiRMSUJHQ1JZUFRfTElCUyIKKysgICAgICBdLFsKKysgICAgICAgICAgQUNfTVNHX0VSUk9SKFtsaWJnY3J5cHQgdmVyc2lvbiAxLjEuOTQgb3IgaGlnaGVyIG5vdCBmb3VuZC4gSW5zdGFsbCBsaWJnY3J5cHQgb3IgdXNlIC0tZGlzYWJsZS1saWJnY3J5cHQuIEhhdmUgYSBuaWNlIGRheS5dKQorKyAgICAgIF0pCisgXSkKKy0KKyBBQ19TVUJTVChHQ1JZUFRfQ0ZMQUdTKQorIEFDX1NVQlNUKEdDUllQVF9MSUJTKQorIEFNX0NPTkRJVElPTkFMKFtIQVZFX0dDUllQVF0sIFt0ZXN0ICIke2hhdmVfbGliZ2NyeXB0fSIgPSAieWVzIl0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA0LW1vZHVsZXMtZ3VpLXF0NC1vdXQtb2YtdHJlZS1idWlsZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDQtbW9kdWxlcy1ndWktcXQ0LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzZGYxYzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA0LW1vZHVsZXMtZ3VpLXF0NC1vdXQtb2YtdHJlZS1idWlsZC5wYXRjaApAQCAtMCwwICsxLDE5IEBACisqIG1vZHVsZXMvZ3VpL3F0NC9NYWtlZmlsZS5hbSBub3QgQiE9UyBmcmllbmRseQorKiBTaW1wbGUgc29sdXRpb24gdG8gbWlzc2luZyBkaXJlY3RvcmllcyBpbiAke0J9CisKK1Vwc3RyZWFtIHN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBUaW0gT3JsaW5nIDxUaWNvVGltb0BnbWFpbC5jb20+CisKK0luZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9ndWkvcXQ0L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9ndWkvcXQ0L01ha2VmaWxlLmFtCisrKysgdmxjLTIuMi4xL21vZHVsZXMvZ3VpL3F0NC9NYWtlZmlsZS5hbQorQEAgLTEyNyw2ICsxMjcsNyBAQCBtb2NfdmVyYm9zZV8wID0gQGVjaG8gIiAgTU9DICAgIiAkQDsKKyBtb2NfdmVyYm9zZV9fMCA9ICQobW9jX3ZlcmJvc2VfMCkKKyAKKyAuaHBwLm1vYy5jcHA6CisrCVsgLWQgJChkaXIgJEApIF0gfHwgbWtkaXIgLXAgJChkaXIgJEApCisgCSQobW9jX3ZlcmJvc2UpJChNT0MpICQoTU9DX0NQUEZMQUdTKSAtbyAkQCAkPAorIAorICMgVGhlc2UgTU9DIGZpbGVzIGRlcGVuZCBvbiB0aGUgY29uZmlndXJlIHNldHRpbmdzOgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNS1saWJwb3N0cHJvYy1oZWFkZXItY2hlY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA1LWxpYnBvc3Rwcm9jLWhlYWRlci1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDg0ZmZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNS1saWJwb3N0cHJvYy1oZWFkZXItY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorKiBBbHNvIGxvb2sgZm9yIHBvc3Rwcm9jZXNzLmggdW5kZXIgbGlicG9zdHByb2MvCisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCitJbmRleDogdmxjLTIuMS40L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHZsYy0yLjEuNC5vcmlnL2NvbmZpZ3VyZS5hYworKysrIHZsYy0yLjEuNC9jb25maWd1cmUuYWMKK0BAIC0yNDQ0LDcgKzI0NDQsNyBAQCB0aGVuCisgICAgICAgVkxDX1NBVkVfRkxBR1MKKyAgICAgICBDUFBGTEFHUz0iJHtDUFBGTEFHU30gJHtQT1NUUFJPQ19DRkxBR1N9IgorICAgICAgIENGTEFHUz0iJHtDRkxBR1N9ICR7UE9TVFBST0NfQ0ZMQUdTfSIKKy0gICAgICBBQ19DSEVDS19IRUFERVJTKHBvc3Rwcm9jL3Bvc3Rwcm9jZXNzLmgpCisrICAgICAgQUNfQ0hFQ0tfSEVBREVSUyhwb3N0cHJvYy9wb3N0cHJvY2Vzcy5oLFtdLFtBQ19DSEVDS19IRUFERVJTKGxpYnBvc3Rwcm9jL3Bvc3Rwcm9jZXNzLmgpXSkKKyAgICAgICBWTENfQUREX1BMVUdJTihbcG9zdHByb2NdKQorICAgICAgIFZMQ19BRERfTElCUyhbcG9zdHByb2NdLFskUE9TVFBST0NfTElCUyAkQVZVVElMX0xJQlNdKQorICAgICAgIFZMQ19BRERfQ0ZMQUdTKFtwb3N0cHJvY10sWyRQT1NUUFJPQ19DRkxBR1MgJEFWVVRJTF9DRkxBR1NdKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNi1tYWtlLW9wZW5jdi1jb25maWd1cmFibGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA2LW1ha2Utb3BlbmN2LWNvbmZpZ3VyYWJsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTBjMDliCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNi1tYWtlLW9wZW5jdi1jb25maWd1cmFibGUucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorUmVjZW50IG9wZW5jdiBBUEkgY2hhbmdlcyBicmVhayB1cHN0cmVhbSBmaWx0ZXIgYW5kIGV4YW1wbGUuCitNYWtlIG9wZW5jdiBleHBsaWNpdGx5IGNvbmZpZ3VyYWJsZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBUaW0gT3JsaW5nIDxUaWNvVGltb0BnbWFpbC5jb20+CisKK0luZGV4OiB2bGMtMi4xLjQvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMS40Lm9yaWcvY29uZmlndXJlLmFjCisrKysgdmxjLTIuMS40L2NvbmZpZ3VyZS5hYworQEAgLTE2OTMsNyArMTY5MywxNiBAQCBQS0dfRU5BQkxFX01PRFVMRVNfVkxDKFtCTFVSQVldLCBbbGliYmx1CisgZG5sCisgZG5sICBPcGVuQ1Ygd3JhcHBlciBhbmQgZXhhbXBsZSBmaWx0ZXJzCisgZG5sCistUEtHX0VOQUJMRV9NT0RVTEVTX1ZMQyhbT1BFTkNWXSwgW29wZW5jdl9leGFtcGxlIG9wZW5jdl93cmFwcGVyXSwgW29wZW5jdiA+IDIuMF0sIChPcGVuQ1YgKGNvbXB1dGVyIHZpc2lvbikgZmlsdGVyKSwgW2F1dG9dKQorK0FDX0FSR19FTkFCTEUob3BlbmN2LAorKyAgW0FTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtb3BlbmN2XSwKKysgICAgW2Rpc2FibGUgT3BlbkNWIGNvbXB1dGVyIHZpc2lvbiBmaWx0ZXIgYW5kIGV4YW1wbGUgKGRlZmF1bHQgYXV0byldKV0pCisraWYgdGVzdCAiJHtlbmFibGVfb3BlbmN2fSIgIT0gIm5vIgorK3RoZW4KKysgICAgUEtHX0VOQUJMRV9NT0RVTEVTX1ZMQyhbT1BFTkNWXSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgW29wZW5jdl9leGFtcGxlIG9wZW5jdl93cmFwcGVyXSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgW29wZW5jdiA+IDIuMF0sIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChPcGVuQ1YgKGNvbXB1dGVyIHZpc2lvbikgZmlsdGVyKSwgW2F1dG9dKQorK2ZpCisgCisgCisgZG5sCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA3LXVzZS12b3JiaXNpZGVjLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNy11c2Utdm9yYmlzaWRlYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDVjZjAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNy11c2Utdm9yYmlzaWRlYy5wYXRjaApAQCAtMCwwICsxLDE5IEBACisqIHRyZW1vciBwcm92aWRlcyBsaWJ2b3JiaXNpZGVjLCB1c2UgaXQgaW5zdGVhZCBvZiBsaWJ2b3JiaXNkZWMKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFRpbSBPcmxpbmcgPFRpY29UaW1vQGdtYWlsLmNvbT4KKworSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2NvZGVjL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9jb2RlYy9NYWtlZmlsZS5hbQorKysrIHZsYy0yLjIuMS9tb2R1bGVzL2NvZGVjL01ha2VmaWxlLmFtCitAQCAtMjM0LDcgKzIzNCw3IEBAIGNvZGVjX0xUTElCUkFSSUVTICs9ICQoTFRMSUJ0aGVvcmEpCisgbGlidHJlbW9yX3BsdWdpbl9sYV9TT1VSQ0VTID0gY29kZWMvdm9yYmlzLmMKKyBsaWJ0cmVtb3JfcGx1Z2luX2xhX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykgLURNT0RVTEVfTkFNRV9JU190cmVtb3IKKyBsaWJ0cmVtb3JfcGx1Z2luX2xhX0xERkxBR1MgPSAkKEFNX0xERkxBR1MpIC1ycGF0aCAnJChjb2RlY2RpciknCistbGlidHJlbW9yX3BsdWdpbl9sYV9MSUJBREQgPSAtbHZvcmJpc2RlYyAtbG9nZworK2xpYnRyZW1vcl9wbHVnaW5fbGFfTElCQUREID0gLWx2b3JiaXNpZGVjIC1sb2dnCisgRVhUUkFfTFRMSUJSQVJJRVMgKz0gbGlidHJlbW9yX3BsdWdpbi5sYQorIGNvZGVjX0xUTElCUkFSSUVTICs9ICQoTFRMSUJ0cmVtb3IpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA4LWZpeC1sdWFMLWNoZWNraW50LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDVlMWFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaApAQCAtMCwwICsxLDI3OSBAQAorKiBsdWFMX2NoZWNraW50IGFuZCBsdWFMX29wdGludCB3ZXJlIGRlcHJlY2F0ZWQgaW4gbHVhIDUuMworKiByZXBsYWNlbWVudCBmdW5jdGlvbnMgYXJlIGx1YUxfY2hlY2tpbnRlZ2VyIGFuZCBsdWFMX29wdGludGVnZXIKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFRpbSBPcmxpbmcgPFRpY29UaW1vQGdtYWlsLmNvbT4KKworSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9kZW11eC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9sdWEvZGVtdXguYworKysrIHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9kZW11eC5jCitAQCAtNTIsNyArNTIsNyBAQCBzdHJ1Y3QgZGVtdXhfc3lzX3QKKyBzdGF0aWMgaW50IHZsY2x1YV9kZW11eF9wZWVrKCBsdWFfU3RhdGUgKkwgKQorIHsKKyAgICAgZGVtdXhfdCAqcF9kZW11eCA9IChkZW11eF90ICopdmxjbHVhX2dldF90aGlzKCBMICk7CistICAgIGludCBuID0gbHVhTF9jaGVja2ludCggTCwgMSApOworKyAgICBpbnQgbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICk7CisgICAgIGNvbnN0IHVpbnQ4X3QgKnBfcGVlazsKKyAKKyAgICAgaW50IGlfcGVlayA9IHN0cmVhbV9QZWVrKCBwX2RlbXV4LT5zLCAmcF9wZWVrLCBuICk7CitAQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9kZW11eF9yZWFkKCBsdWFfU3RhdGUKKyB7CisgICAgIGRlbXV4X3QgKnBfZGVtdXggPSAoZGVtdXhfdCAqKXZsY2x1YV9nZXRfdGhpcyggTCApOworICAgICBjb25zdCB1aW50OF90ICpwX3JlYWQ7CistICAgIGludCBuID0gbHVhTF9jaGVja2ludCggTCwgMSApOworKyAgICBpbnQgbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICk7CisgICAgIGludCBpX3JlYWQgPSBzdHJlYW1fUGVlayggcF9kZW11eC0+cywgJnBfcmVhZCwgbiApOworIAorICAgICBpZiggaV9yZWFkID4gMCApCitJbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvY29uZmlndXJhdGlvbi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9sdWEvbGlicy9jb25maWd1cmF0aW9uLmMKKysrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9jb25maWd1cmF0aW9uLmMKK0BAIC04NCw3ICs4NCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX2NvbmZpZ19zZXQoIGx1YV9TdGF0ZQorICAgICAgICAgICAgIGJyZWFrOworIAorICAgICAgICAgY2FzZSBWTENfVkFSX0lOVEVHRVI6CistICAgICAgICAgICAgY29uZmlnX1B1dEludCggcF90aGlzLCBwc3pfbmFtZSwgbHVhTF9jaGVja2ludCggTCwgMiApICk7CisrICAgICAgICAgICAgY29uZmlnX1B1dEludCggcF90aGlzLCBwc3pfbmFtZSwgbHVhTF9jaGVja2ludGVnZXIoIEwsIDIgKSApOworICAgICAgICAgICAgIGJyZWFrOworIAorICAgICAgICAgY2FzZSBWTENfVkFSX0JPT0w6CitJbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvbmV0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL25ldC5jCisrKysgdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvbmV0LmMKK0BAIC0yMDIsNyArMjAyLDcgQEAgc3RhdGljIGludCB2bGNsdWFfbmV0X2xpc3Rlbl90Y3AoIGx1YV9TdAorIHsKKyAgICAgdmxjX29iamVjdF90ICpwX3RoaXMgPSB2bGNsdWFfZ2V0X3RoaXMoIEwgKTsKKyAgICAgY29uc3QgY2hhciAqcHN6X2hvc3QgPSBsdWFMX2NoZWNrc3RyaW5nKCBMLCAxICk7CistICAgIGludCBpX3BvcnQgPSBsdWFMX2NoZWNraW50KCBMLCAyICk7CisrICAgIGludCBpX3BvcnQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMiApOworICAgICBpbnQgKnBpX2ZkID0gbmV0X0xpc3RlblRDUCggcF90aGlzLCBwc3pfaG9zdCwgaV9wb3J0ICk7CisgICAgIGlmKCBwaV9mZCA9PSBOVUxMICkKKyAgICAgICAgIHJldHVybiBsdWFMX2Vycm9yKCBMLCAiQ2Fubm90IGxpc3RlbiBvbiAlczolZCIsIHBzel9ob3N0LCBpX3BvcnQgKTsKK0BAIC0yNzQsNyArMjc0LDcgQEAgc3RhdGljIGludCB2bGNsdWFfbmV0X2Nvbm5lY3RfdGNwKCBsdWFfUworIHsKKyAgICAgdmxjX29iamVjdF90ICpwX3RoaXMgPSB2bGNsdWFfZ2V0X3RoaXMoIEwgKTsKKyAgICAgY29uc3QgY2hhciAqcHN6X2hvc3QgPSBsdWFMX2NoZWNrc3RyaW5nKCBMLCAxICk7CistICAgIGludCBpX3BvcnQgPSBsdWFMX2NoZWNraW50KCBMLCAyICk7CisrICAgIGludCBpX3BvcnQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMiApOworICAgICBpbnQgaV9mZCA9IG5ldF9Db25uZWN0KCBwX3RoaXMsIHBzel9ob3N0LCBpX3BvcnQsIFNPQ0tfU1RSRUFNLCBJUFBST1RPX1RDUCApOworICAgICBsdWFfcHVzaGludGVnZXIoIEwsIHZsY2x1YV9mZF9tYXBfc2FmZSggTCwgaV9mZCApICk7CisgICAgIHJldHVybiAxOworQEAgLTI4MiwyNiArMjgyLDI2IEBAIHN0YXRpYyBpbnQgdmxjbHVhX25ldF9jb25uZWN0X3RjcCggbHVhX1MKKyAKKyBzdGF0aWMgaW50IHZsY2x1YV9uZXRfY2xvc2UoIGx1YV9TdGF0ZSAqTCApCisgeworLSAgICBpbnQgaV9mZCA9IGx1YUxfY2hlY2tpbnQoIEwsIDEgKTsKKysgICAgaW50IGlfZmQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOworICAgICB2bGNsdWFfZmRfdW5tYXBfc2FmZSggTCwgaV9mZCApOworICAgICByZXR1cm4gMDsKKyB9CisgCisgc3RhdGljIGludCB2bGNsdWFfbmV0X3NlbmQoIGx1YV9TdGF0ZSAqTCApCisgeworLSAgICBpbnQgZmQgPSB2bGNsdWFfZmRfZ2V0KCBMLCBsdWFMX2NoZWNraW50KCBMLCAxICkgKTsKKysgICAgaW50IGZkID0gdmxjbHVhX2ZkX2dldCggTCwgbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKSApOworICAgICBzaXplX3QgaV9sZW47CisgICAgIGNvbnN0IGNoYXIgKnBzel9idWZmZXIgPSBsdWFMX2NoZWNrbHN0cmluZyggTCwgMiwgJmlfbGVuICk7CisgCistICAgIGlfbGVuID0gbHVhTF9vcHRpbnQoIEwsIDMsIGlfbGVuICk7CisrICAgIGlfbGVuID0gbHVhTF9vcHRpbnRlZ2VyKCBMLCAzLCBpX2xlbiApOworICAgICBsdWFfcHVzaGludGVnZXIoIEwsIChmZCAhPSAtMSkgPyBzZW5kKCBmZCwgcHN6X2J1ZmZlciwgaV9sZW4sIDAgKSA6IC0xICk7CisgICAgIHJldHVybiAxOworIH0KKyAKKyBzdGF0aWMgaW50IHZsY2x1YV9uZXRfcmVjdiggbHVhX1N0YXRlICpMICkKKyB7CistICAgIGludCBmZCA9IHZsY2x1YV9mZF9nZXQoIEwsIGx1YUxfY2hlY2tpbnQoIEwsIDEgKSApOworLSAgICBzaXplX3QgaV9sZW4gPSBsdWFMX29wdGludCggTCwgMiwgMSApOworKyAgICBpbnQgZmQgPSB2bGNsdWFfZmRfZ2V0KCBMLCBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApICk7CisrICAgIHNpemVfdCBpX2xlbiA9IGx1YUxfb3B0aW50ZWdlciggTCwgMiwgMSApOworICAgICBjaGFyIHBzel9idWZmZXJbaV9sZW5dOworIAorICAgICBzc2l6ZV90IGlfcmV0ID0gKGZkICE9IC0xKSA/IHJlY3YoIGZkLCBwc3pfYnVmZmVyLCBpX2xlbiwgMCApIDogLTE7CitAQCAtMzgyLDE5ICszODIsMTkgQEAgc3RhdGljIGludCB2bGNsdWFfZmRfb3BlbiggbHVhX1N0YXRlICpMCisgI2lmbmRlZiBfV0lOMzIKKyBzdGF0aWMgaW50IHZsY2x1YV9mZF93cml0ZSggbHVhX1N0YXRlICpMICkKKyB7CistICAgIGludCBmZCA9IHZsY2x1YV9mZF9nZXQoIEwsIGx1YUxfY2hlY2tpbnQoIEwsIDEgKSApOworKyAgICBpbnQgZmQgPSB2bGNsdWFfZmRfZ2V0KCBMLCBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApICk7CisgICAgIHNpemVfdCBpX2xlbjsKKyAgICAgY29uc3QgY2hhciAqcHN6X2J1ZmZlciA9IGx1YUxfY2hlY2tsc3RyaW5nKCBMLCAyLCAmaV9sZW4gKTsKKyAKKy0gICAgaV9sZW4gPSBsdWFMX29wdGludCggTCwgMywgaV9sZW4gKTsKKysgICAgaV9sZW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDMsIGlfbGVuICk7CisgICAgIGx1YV9wdXNoaW50ZWdlciggTCwgKGZkICE9IC0xKSA/IHdyaXRlKCBmZCwgcHN6X2J1ZmZlciwgaV9sZW4gKSA6IC0xICk7CisgICAgIHJldHVybiAxOworIH0KKyAKKyBzdGF0aWMgaW50IHZsY2x1YV9mZF9yZWFkKCBsdWFfU3RhdGUgKkwgKQorIHsKKy0gICAgaW50IGZkID0gdmxjbHVhX2ZkX2dldCggTCwgbHVhTF9jaGVja2ludCggTCwgMSApICk7CistICAgIHNpemVfdCBpX2xlbiA9IGx1YUxfb3B0aW50KCBMLCAyLCAxICk7CisrICAgIGludCBmZCA9IHZsY2x1YV9mZF9nZXQoIEwsIGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICkgKTsKKysgICAgc2l6ZV90IGlfbGVuID0gbHVhTF9vcHRpbnRlZ2VyKCBMLCAyLCAxICk7CisgICAgIGNoYXIgcHN6X2J1ZmZlcltpX2xlbl07CisgCisgICAgIHNzaXplX3QgaV9yZXQgPSAoZmQgIT0gLTEpID8gcmVhZCggZmQsIHBzel9idWZmZXIsIGlfbGVuICkgOiAtMTsKK0luZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9vc2QuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvb3NkLmMKKysrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9vc2QuYworQEAgLTY3LDcgKzY3LDcgQEAgc3RhdGljIGludCB2bGNsdWFfb3NkX2ljb24oIGx1YV9TdGF0ZSAqTAorIHsKKyAgICAgY29uc3QgY2hhciAqcHN6X2ljb24gPSBsdWFMX2NoZWNrc3RyaW5nKCBMLCAxICk7CisgICAgIGludCBpX2ljb24gPSB2bGNfb3NkX2ljb25fZnJvbV9zdHJpbmcoIHBzel9pY29uICk7CistICAgIGludCBpX2NoYW4gPSBsdWFMX29wdGludCggTCwgMiwgU1BVX0RFRkFVTFRfQ0hBTk5FTCApOworKyAgICBpbnQgaV9jaGFuID0gbHVhTF9vcHRpbnRlZ2VyKCBMLCAyLCBTUFVfREVGQVVMVF9DSEFOTkVMICk7CisgICAgIGlmKCAhaV9pY29uICkKKyAgICAgICAgIHJldHVybiBsdWFMX2Vycm9yKCBMLCAiXCIlc1wiIGlzIG5vdCBhIHZhbGlkIG9zZCBpY29uLiIsIHBzel9pY29uICk7CisgCitAQCAtMTE0LDkgKzExNCw5IEBAIHN0YXRpYyBpbnQgdmxjX29zZF9wb3NpdGlvbl9mcm9tX3N0cmluZygKKyBzdGF0aWMgaW50IHZsY2x1YV9vc2RfbWVzc2FnZSggbHVhX1N0YXRlICpMICkKKyB7CisgICAgIGNvbnN0IGNoYXIgKnBzel9tZXNzYWdlID0gbHVhTF9jaGVja3N0cmluZyggTCwgMSApOworLSAgICBpbnQgaV9jaGFuID0gbHVhTF9vcHRpbnQoIEwsIDIsIFNQVV9ERUZBVUxUX0NIQU5ORUwgKTsKKysgICAgaW50IGlfY2hhbiA9IGx1YUxfb3B0aW50ZWdlciggTCwgMiwgU1BVX0RFRkFVTFRfQ0hBTk5FTCApOworICAgICBjb25zdCBjaGFyICpwc3pfcG9zaXRpb24gPSBsdWFMX29wdHN0cmluZyggTCwgMywgInRvcC1yaWdodCIgKTsKKy0gICAgbXRpbWVfdCBkdXJhdGlvbiA9IGx1YUxfb3B0aW50KCBMLCA0LCAxMDAwMDAwICk7CisrICAgIG10aW1lX3QgZHVyYXRpb24gPSBsdWFMX29wdGludGVnZXIoIEwsIDQsIDEwMDAwMDAgKTsKKyAKKyAgICAgaW5wdXRfdGhyZWFkX3QgKnBfaW5wdXQgPSB2bGNsdWFfZ2V0X2lucHV0X2ludGVybmFsKCBMICk7CisgICAgIGlmKCBwX2lucHV0ICkKK0BAIC0xNTQsMTAgKzE1NCwxMCBAQCBzdGF0aWMgaW50IHZsY19vc2Rfc2xpZGVyX3R5cGVfZnJvbV9zdHJpCisgCisgc3RhdGljIGludCB2bGNsdWFfb3NkX3NsaWRlciggbHVhX1N0YXRlICpMICkKKyB7CistICAgIGludCBpX3Bvc2l0aW9uID0gbHVhTF9jaGVja2ludCggTCwgMSApOworKyAgICBpbnQgaV9wb3NpdGlvbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICk7CisgICAgIGNvbnN0IGNoYXIgKnBzel90eXBlID0gbHVhTF9jaGVja3N0cmluZyggTCwgMiApOworICAgICBpbnQgaV90eXBlID0gdmxjX29zZF9zbGlkZXJfdHlwZV9mcm9tX3N0cmluZyggcHN6X3R5cGUgKTsKKy0gICAgaW50IGlfY2hhbiA9IGx1YUxfb3B0aW50KCBMLCAzLCBTUFVfREVGQVVMVF9DSEFOTkVMICk7CisrICAgIGludCBpX2NoYW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDMsIFNQVV9ERUZBVUxUX0NIQU5ORUwgKTsKKyAgICAgaWYoICFpX3R5cGUgKQorICAgICAgICAgcmV0dXJuIGx1YUxfZXJyb3IoIEwsICJcIiVzXCIgaXMgbm90IGEgdmFsaWQgc2xpZGVyIHR5cGUuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc3pfdHlwZSApOworQEAgLTE5OCw3ICsxOTgsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9zcHVfY2hhbm5lbF9yZWdpc3RlcigKKyAKKyBzdGF0aWMgaW50IHZsY2x1YV9zcHVfY2hhbm5lbF9jbGVhciggbHVhX1N0YXRlICpMICkKKyB7CistICAgIGludCBpX2NoYW4gPSBsdWFMX2NoZWNraW50KCBMLCAxICk7CisrICAgIGludCBpX2NoYW4gPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOworICAgICBpbnB1dF90aHJlYWRfdCAqcF9pbnB1dCA9IHZsY2x1YV9nZXRfaW5wdXRfaW50ZXJuYWwoIEwgKTsKKyAgICAgaWYoICFwX2lucHV0ICkKKyAgICAgICAgIHJldHVybiBsdWFMX2Vycm9yKCBMLCAiVW5hYmxlIHRvIGZpbmQgaW5wdXQuIiApOworSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL3BsYXlsaXN0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL3BsYXlsaXN0LmMKKysrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9wbGF5bGlzdC5jCitAQCAtNjksNyArNjksNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9wbGF5bGlzdF9uZXh0KCBsdWFfU3RhCisgCisgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3Rfc2tpcCggbHVhX1N0YXRlICogTCApCisgeworLSAgICBpbnQgaV9za2lwID0gbHVhTF9jaGVja2ludCggTCwgMSApOworKyAgICBpbnQgaV9za2lwID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKTsKKyAgICAgcGxheWxpc3RfdCAqcF9wbGF5bGlzdCA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKKyAgICAgcGxheWxpc3RfU2tpcCggcF9wbGF5bGlzdCwgaV9za2lwICk7CisgICAgIHJldHVybiAwOworQEAgLTEyNyw3ICsxMjcsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9wbGF5bGlzdF9yYW5kb20oIGx1YV9TCisgCisgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3RfZ290b2l0ZW0oIGx1YV9TdGF0ZSAqIEwgKQorIHsKKy0gICAgaW50IGlfaWQgPSBsdWFMX2NoZWNraW50KCBMLCAxICk7CisrICAgIGludCBpX2lkID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKTsKKyAgICAgcGxheWxpc3RfdCAqcF9wbGF5bGlzdCA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKKyAgICAgUExfTE9DSzsKKyAgICAgaW50IGlfcmV0ID0gcGxheWxpc3RfQ29udHJvbCggcF9wbGF5bGlzdCwgUExBWUxJU1RfVklFV1BMQVksCitAQCAtMTM5LDcgKzEzOSw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X2dvdG9pdGVtKCBsdWEKKyAKKyBzdGF0aWMgaW50IHZsY2x1YV9wbGF5bGlzdF9kZWxldGUoIGx1YV9TdGF0ZSAqIEwgKQorIHsKKy0gICAgaW50IGlfaWQgPSBsdWFMX2NoZWNraW50KCBMLCAxICk7CisrICAgIGludCBpX2lkID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKTsKKyAgICAgcGxheWxpc3RfdCAqcF9wbGF5bGlzdCA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKKyAgICAgUExfTE9DSzsKKyAgICAgcGxheWxpc3RfaXRlbV90ICpwX2l0ZW0gPSBwbGF5bGlzdF9JdGVtR2V0QnlJZCggcF9wbGF5bGlzdCwgaV9pZCApOworQEAgLTE1NSw4ICsxNTUsOCBAQCBzdGF0aWMgaW50IHZsY2x1YV9wbGF5bGlzdF9kZWxldGUoIGx1YV9TCisgCisgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3RfbW92ZSggbHVhX1N0YXRlICogTCApCisgeworLSAgICBpbnQgaV9pdGVtID0gbHVhTF9jaGVja2ludCggTCwgMSApOworLSAgICBpbnQgaV90YXJnZXQgPSBsdWFMX2NoZWNraW50KCBMLCAyICk7CisrICAgIGludCBpX2l0ZW0gPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOworKyAgICBpbnQgaV90YXJnZXQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMiApOworICAgICBwbGF5bGlzdF90ICpwX3BsYXlsaXN0ID0gdmxjbHVhX2dldF9wbGF5bGlzdF9pbnRlcm5hbCggTCApOworICAgICBQTF9MT0NLOworICAgICBwbGF5bGlzdF9pdGVtX3QgKnBfaXRlbSA9IHBsYXlsaXN0X0l0ZW1HZXRCeUlkKCBwX3BsYXlsaXN0LCBpX2l0ZW0gKTsKK0luZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9zdHJlYW0uYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvc3RyZWFtLmMKKysrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9zdHJlYW0uYworQEAgLTEwMSw3ICsxMDEsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9zdHJlYW1fcmVhZCggbHVhX1N0YXRlCisgeworICAgICBpbnQgaV9yZWFkOworICAgICBzdHJlYW1fdCAqKnBwX3N0cmVhbSA9IChzdHJlYW1fdCAqKilsdWFMX2NoZWNrdWRhdGEoIEwsIDEsICJzdHJlYW0iICk7CistICAgIGludCBuID0gbHVhTF9jaGVja2ludCggTCwgMiApOworKyAgICBpbnQgbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAyICk7CisgICAgIHVpbnQ4X3QgKnBfcmVhZCA9IG1hbGxvYyggbiApOworICAgICBpZiggIXBfcmVhZCApIHJldHVybiB2bGNsdWFfZXJyb3IoIEwgKTsKKyAKK0luZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy92YXJpYWJsZXMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvdmFyaWFibGVzLmMKKysrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy92YXJpYWJsZXMuYworQEAgLTEwMyw3ICsxMDMsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV90b3ZhbHVlKCBsdWFfU3RhdGUgKkwsCisgICAgICAgICAgICAgdmFsLT5iX2Jvb2wgPSBsdWFMX2NoZWNrYm9vbGVhbiggTCwgLTEgKTsKKyAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIGNhc2UgVkxDX1ZBUl9JTlRFR0VSOgorLSAgICAgICAgICAgIHZhbC0+aV9pbnQgPSBsdWFMX2NoZWNraW50KCBMLCAtMSApOworKyAgICAgICAgICAgIHZhbC0+aV9pbnQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgLTEgKTsKKyAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIGNhc2UgVkxDX1ZBUl9TVFJJTkc6CisgICAgICAgICAgICAgdmFsLT5wc3pfc3RyaW5nID0gKGNoYXIqKWx1YUxfY2hlY2tzdHJpbmcoIEwsIC0xICk7IC8qIFhYWDogQmV3YXJlLCB0aGlzIG9ubHkgc3RheXMgdmFsaWQgYXMgbG9uZyBhcyAoTCwtMSkgc3RheXMgaW4gdGhlIHN0YWNrICovCitJbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvdm9sdW1lLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL3ZvbHVtZS5jCisrKysgdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvdm9sdW1lLmMKK0BAIC00OCw3ICs0OCw3IEBACisgc3RhdGljIGludCB2bGNsdWFfdm9sdW1lX3NldCggbHVhX1N0YXRlICpMICkKKyB7CisgICAgIHBsYXlsaXN0X3QgKnBfdGhpcyA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKKy0gICAgaW50IGlfdm9sdW1lID0gbHVhTF9jaGVja2ludCggTCwgMSApOworKyAgICBpbnQgaV92b2x1bWUgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOworICAgICBpZiggaV92b2x1bWUgPCAwICkKKyAgICAgICAgIGlfdm9sdW1lID0gMDsKKyAgICAgaW50IGlfcmV0ID0gcGxheWxpc3RfVm9sdW1lU2V0KCBwX3RoaXMsIGlfdm9sdW1lLyhmbG9hdClBT1VUX1ZPTFVNRV9ERUZBVUxUICk7CitAQCAtNjgsNyArNjgsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV92b2x1bWVfdXAoIGx1YV9TdGF0ZSAqCisgICAgIHBsYXlsaXN0X3QgKnBfdGhpcyA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKKyAgICAgZmxvYXQgdm9sdW1lOworIAorLSAgICBwbGF5bGlzdF9Wb2x1bWVVcCggcF90aGlzLCBsdWFMX29wdGludCggTCwgMSwgMSApLCAmdm9sdW1lICk7CisrICAgIHBsYXlsaXN0X1ZvbHVtZVVwKCBwX3RoaXMsIGx1YUxfb3B0aW50ZWdlciggTCwgMSwgMSApLCAmdm9sdW1lICk7CisgICAgIGx1YV9wdXNobnVtYmVyKCBMLCBscm91bmRmKHZvbHVtZSAqIEFPVVRfVk9MVU1FX0RFRkFVTFQpICk7CisgICAgIHJldHVybiAxOworIH0KK0BAIC03OCw3ICs3OCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3ZvbHVtZV9kb3duKCBsdWFfU3RhdGUKKyAgICAgcGxheWxpc3RfdCAqcF90aGlzID0gdmxjbHVhX2dldF9wbGF5bGlzdF9pbnRlcm5hbCggTCApOworICAgICBmbG9hdCB2b2x1bWU7CisgCistICAgIHBsYXlsaXN0X1ZvbHVtZURvd24oIHBfdGhpcywgbHVhTF9vcHRpbnQoIEwsIDEsIDEgKSwgJnZvbHVtZSApOworKyAgICBwbGF5bGlzdF9Wb2x1bWVEb3duKCBwX3RoaXMsIGx1YUxfb3B0aW50ZWdlciggTCwgMSwgMSApLCAmdm9sdW1lICk7CisgICAgIGx1YV9wdXNobnVtYmVyKCBMLCBscm91bmRmKHZvbHVtZSAqIEFPVVRfVk9MVU1FX0RFRkFVTFQpICk7CisgICAgIHJldHVybiAxOworIH0KK0luZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy93aW4uYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvd2luLmMKKysrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy93aW4uYworQEAgLTEyMyw3ICsxMjMsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9jb25zb2xlX2luaXQoIGx1YV9TdGF0CisgCisgc3RhdGljIGludCB2bGNsdWFfY29uc29sZV93YWl0KCBsdWFfU3RhdGUgKkwgKQorIHsKKy0gICAgaW50IGlfdGltZW91dCA9IGx1YUxfb3B0aW50KCBMLCAxLCAwICk7CisrICAgIGludCBpX3RpbWVvdXQgPSBsdWFMX29wdGludGVnZXIoIEwsIDEsIDAgKTsKKyAgICAgRFdPUkQgc3RhdHVzID0gV2FpdEZvclNpbmdsZU9iamVjdCggR2V0Q29uc29sZSggTCApLCBpX3RpbWVvdXQgKTsKKyAgICAgbHVhX3B1c2hib29sZWFuKCBMLCBzdGF0dXMgPT0gV0FJVF9PQkpFQ1RfMCApOworICAgICByZXR1cm4gMTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDktQXZjb2RlYy1zd3NjYWxlLXVzZS1BVl9QSVhfRk1ULWNvbnNpc3RlbnRseS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDktQXZjb2RlYy1zd3NjYWxlLXVzZS1BVl9QSVhfRk1ULWNvbnNpc3RlbnRseS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjNiYTcxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOS1BdmNvZGVjLXN3c2NhbGUtdXNlLUFWX1BJWF9GTVQtY29uc2lzdGVudGx5LnBhdGNoCkBAIC0wLDAgKzEsMjkzIEBACitGcm9tIDQyNzczMmEzNzk4OTM0OTFlYWMyN2FlYWRmZjBlMGIzZTI1MmQxNTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKZWFuLUJhcHRpc3RlIEtlbXBmIDxqYkB2aWRlb2xhbi5vcmc+CitEYXRlOiBNb24sIDMxIEF1ZyAyMDE1IDA4OjE5OjAwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEF2Y29kZWMvc3dzY2FsZTogdXNlIEFWX1BJWF9GTVQgY29uc2lzdGVudGx5CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGZhYTdiZDM1N2IxZjllMDdhNmZmYmM0NTFhMTg4NzczZmFkN2EyNzUpCitTaWduZWQtb2ZmLWJ5OiBSYWZhw6tsIENhcnLDqSA8ZnVubWFuQHZpZGVvbGFuLm9yZz4KKworQ29uZmxpY3RzOgorCW1vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYworCW1vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCistLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMgfCAxMDQgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYyAgfCAgMTAgKystLQorIG1vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYyB8ICAyOCArKysrKy0tLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgNzEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMKK2luZGV4IDM5MzM2NGIuLmMzMWY5M2QgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYworQEAgLTYyLDc3ICs2Miw3NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0CisgfSBjaHJvbWFfdGFibGVbXSA9CisgeworICAgICAvKiBQbGFuYXIgWVVWIGZvcm1hdHMgKi8KKy0gICAge1ZMQ19DT0RFQ19JNDQ0LCBQSVhfRk1UX1lVVjQ0NFAsIDAsIDAsIDAgfSwKKy0gICAge1ZMQ19DT0RFQ19KNDQ0LCBQSVhfRk1UX1lVVko0NDRQLCAwLCAwLCAwIH0sCistCistICAgIHtWTENfQ09ERUNfSTQ0MCwgUElYX0ZNVF9ZVVY0NDBQLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSjQ0MCwgUElYX0ZNVF9ZVVZKNDQwUCwgMCwgMCwgMCB9LAorLQorLSAgICB7VkxDX0NPREVDX0k0MjIsIFBJWF9GTVRfWVVWNDIyUCwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0NPREVDX0o0MjIsIFBJWF9GTVRfWVVWSjQyMlAsIDAsIDAsIDAgfSwKKy0KKy0gICAge1ZMQ19DT0RFQ19JNDIwLCBQSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKKy0gICAge1ZMQ19DT0RFQ19ZVjEyLCBQSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKKy0gICAge1ZMQ19GT1VSQ0MoJ0knLCdZJywnVScsJ1YnKSwgUElYX0ZNVF9ZVVY0MjBQLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSjQyMCwgUElYX0ZNVF9ZVVZKNDIwUCwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0NPREVDX0k0MTEsIFBJWF9GTVRfWVVWNDExUCwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0NPREVDX0k0MTAsIFBJWF9GTVRfWVVWNDEwUCwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0ZPVVJDQygnWScsJ1YnLCdVJywnOScpLCBQSVhfRk1UX1lVVjQxMFAsIDAsIDAsIDAgfSwKKy0KKy0gICAge1ZMQ19GT1VSQ0MoJ04nLCdWJywnMScsJzInKSwgUElYX0ZNVF9OVjEyLCAwLCAwLCAwIH0sCistICAgIHtWTENfRk9VUkNDKCdOJywnVicsJzInLCcxJyksIFBJWF9GTVRfTlYyMSwgMCwgMCwgMCB9LAorLQorLSAgICB7VkxDX0NPREVDX0k0MjBfOUwsIFBJWF9GTVRfWVVWNDIwUDlMRSwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0NPREVDX0k0MjBfOUIsIFBJWF9GTVRfWVVWNDIwUDlCRSwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0NPREVDX0k0MjBfMTBMLCBQSVhfRk1UX1lVVjQyMFAxMExFLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSTQyMF8xMEIsIFBJWF9GTVRfWVVWNDIwUDEwQkUsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19JNDQ0LCBBVl9QSVhfRk1UX1lVVjQ0NFAsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19KNDQ0LCBBVl9QSVhfRk1UX1lVVko0NDRQLCAwLCAwLCAwIH0sCisrCisrICAgIHtWTENfQ09ERUNfSTQ0MCwgQVZfUElYX0ZNVF9ZVVY0NDBQLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSjQ0MCwgQVZfUElYX0ZNVF9ZVVZKNDQwUCwgMCwgMCwgMCB9LAorKworKyAgICB7VkxDX0NPREVDX0k0MjIsIEFWX1BJWF9GTVRfWVVWNDIyUCwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0o0MjIsIEFWX1BJWF9GTVRfWVVWSjQyMlAsIDAsIDAsIDAgfSwKKysKKysgICAge1ZMQ19DT0RFQ19JNDIwLCBBVl9QSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19ZVjEyLCBBVl9QSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19GT1VSQ0MoJ0knLCdZJywnVScsJ1YnKSwgQVZfUElYX0ZNVF9ZVVY0MjBQLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSjQyMCwgQVZfUElYX0ZNVF9ZVVZKNDIwUCwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0k0MTEsIEFWX1BJWF9GTVRfWVVWNDExUCwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0k0MTAsIEFWX1BJWF9GTVRfWVVWNDEwUCwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0ZPVVJDQygnWScsJ1YnLCdVJywnOScpLCBBVl9QSVhfRk1UX1lVVjQxMFAsIDAsIDAsIDAgfSwKKysKKysgICAge1ZMQ19GT1VSQ0MoJ04nLCdWJywnMScsJzInKSwgQVZfUElYX0ZNVF9OVjEyLCAwLCAwLCAwIH0sCisrICAgIHtWTENfRk9VUkNDKCdOJywnVicsJzInLCcxJyksIEFWX1BJWF9GTVRfTlYyMSwgMCwgMCwgMCB9LAorKworKyAgICB7VkxDX0NPREVDX0k0MjBfOUwsIEFWX1BJWF9GTVRfWVVWNDIwUDlMRSwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0k0MjBfOUIsIEFWX1BJWF9GTVRfWVVWNDIwUDlCRSwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0k0MjBfMTBMLCBBVl9QSVhfRk1UX1lVVjQyMFAxMExFLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSTQyMF8xMEIsIEFWX1BJWF9GTVRfWVVWNDIwUDEwQkUsIDAsIDAsIDAgfSwKKyAjaWYgTElCQVZVVElMX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKDUxLDEzLDApCistICAgIHtWTENfQ09ERUNfSTQyMl85TCwgUElYX0ZNVF9ZVVY0MjJQOUxFLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSTQyMl85QiwgUElYX0ZNVF9ZVVY0MjJQOUJFLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSTQyMl85TCwgQVZfUElYX0ZNVF9ZVVY0MjJQOUxFLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSTQyMl85QiwgQVZfUElYX0ZNVF9ZVVY0MjJQOUJFLCAwLCAwLCAwIH0sCisgI2VuZGlmCistICAgIHtWTENfQ09ERUNfSTQyMl8xMEwsIFBJWF9GTVRfWVVWNDIyUDEwTEUsIDAsIDAsIDAgfSwKKy0gICAge1ZMQ19DT0RFQ19JNDIyXzEwQiwgUElYX0ZNVF9ZVVY0MjJQMTBCRSwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0k0MjJfMTBMLCBBVl9QSVhfRk1UX1lVVjQyMlAxMExFLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSTQyMl8xMEIsIEFWX1BJWF9GTVRfWVVWNDIyUDEwQkUsIDAsIDAsIDAgfSwKKyAKKy0gICAge1ZMQ19DT0RFQ19ZVVY0MjBBLCBQSVhfRk1UX1lVVkE0MjBQLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfWVVWNDIwQSwgQVZfUElYX0ZNVF9ZVVZBNDIwUCwgMCwgMCwgMCB9LAorICNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggNTEsIDQ1LCAwLCA3NCwgMTAwICkKKyAgICAge1ZMQ19DT0RFQ19ZVVY0MjJBLCBBVl9QSVhfRk1UX1lVVkE0MjJQLCAwLCAwLCAwIH0sCisgI2VuZGlmCisgCistICAgIHtWTENfQ09ERUNfSTQ0NF85TCwgUElYX0ZNVF9ZVVY0NDRQOUxFLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSTQ0NF85QiwgUElYX0ZNVF9ZVVY0NDRQOUJFLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSTQ0NF8xMEwsIFBJWF9GTVRfWVVWNDQ0UDEwTEUsIDAsIDAsIDAgfSwKKy0gICAge1ZMQ19DT0RFQ19JNDQ0XzEwQiwgUElYX0ZNVF9ZVVY0NDRQMTBCRSwgMCwgMCwgMCB9LAorLSAgICB7VkxDX0NPREVDX0k0NDRfMTZMLCBQSVhfRk1UX1lVVjQ0NFAxNkxFLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfSTQ0NF8xNkIsIFBJWF9GTVRfWVVWNDQ0UDE2QkUsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19JNDQ0XzlMLCBBVl9QSVhfRk1UX1lVVjQ0NFA5TEUsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19JNDQ0XzlCLCBBVl9QSVhfRk1UX1lVVjQ0NFA5QkUsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19JNDQ0XzEwTCwgQVZfUElYX0ZNVF9ZVVY0NDRQMTBMRSwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX0k0NDRfMTBCLCBBVl9QSVhfRk1UX1lVVjQ0NFAxMEJFLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfSTQ0NF8xNkwsIEFWX1BJWF9GTVRfWVVWNDQ0UDE2TEUsIDAsIDAsIDAgfSwKKysgICAge1ZMQ19DT0RFQ19JNDQ0XzE2QiwgQVZfUElYX0ZNVF9ZVVY0NDRQMTZCRSwgMCwgMCwgMCB9LAorIAorICAgICAvKiBQYWNrZWQgWVVWIGZvcm1hdHMgKi8KKy0gICAge1ZMQ19DT0RFQ19ZVVlWLCBQSVhfRk1UX1lVWVY0MjIsIDAsIDAsIDAgfSwKKy0gICAge1ZMQ19GT1VSQ0MoJ1knLCdVJywnWScsJ1YnKSwgUElYX0ZNVF9ZVVlWNDIyLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfVVlWWSwgUElYX0ZNVF9VWVZZNDIyLCAwLCAwLCAwIH0sCistICAgIHtWTENfRk9VUkNDKCdZJywnNCcsJzEnLCcxJyksIFBJWF9GTVRfVVlZVllZNDExLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfWVVZViwgQVZfUElYX0ZNVF9ZVVlWNDIyLCAwLCAwLCAwIH0sCisrICAgIHtWTENfRk9VUkNDKCdZJywnVScsJ1knLCdWJyksIEFWX1BJWF9GTVRfWVVZVjQyMiwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0NPREVDX1VZVlksIEFWX1BJWF9GTVRfVVlWWTQyMiwgMCwgMCwgMCB9LAorKyAgICB7VkxDX0ZPVVJDQygnWScsJzQnLCcxJywnMScpLCBBVl9QSVhfRk1UX1VZWVZZWTQxMSwgMCwgMCwgMCB9LAorIAorICAgICAvKiBQYWNrZWQgUkdCIGZvcm1hdHMgKi8KKy0gICAgVkxDX1JHQiggVkxDX0ZPVVJDQygnUicsJ0cnLCdCJywnNCcpLCBQSVhfRk1UX1JHQjQsIFBJWF9GTVRfQkdSNCwgMHgxMCwgMHgwNiwgMHgwMSApCistICAgIFZMQ19SR0IoIFZMQ19GT1VSQ0MoJ1InLCdHJywnQicsJzgnKSwgUElYX0ZNVF9SR0I4LCBQSVhfRk1UX0JHUjgsIDB4QzAsIDB4MzgsIDB4MDcgKQorKyAgICBWTENfUkdCKCBWTENfRk9VUkNDKCdSJywnRycsJ0InLCc0JyksIEFWX1BJWF9GTVRfUkdCNCwgQVZfUElYX0ZNVF9CR1I0LCAweDEwLCAweDA2LCAweDAxICkKKysgICAgVkxDX1JHQiggVkxDX0ZPVVJDQygnUicsJ0cnLCdCJywnOCcpLCBBVl9QSVhfRk1UX1JHQjgsIEFWX1BJWF9GTVRfQkdSOCwgMHhDMCwgMHgzOCwgMHgwNyApCisgCistICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IxNSwgUElYX0ZNVF9SR0I1NTUsIFBJWF9GTVRfQkdSNTU1LCAweDdjMDAsIDB4MDNlMCwgMHgwMDFmICkKKy0gICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjE2LCBQSVhfRk1UX1JHQjU2NSwgUElYX0ZNVF9CR1I1NjUsIDB4ZjgwMCwgMHgwN2UwLCAweDAwMWYgKQorLSAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMjQsIFBJWF9GTVRfQkdSMjQsIFBJWF9GTVRfUkdCMjQsIDB4ZmYwMDAwLCAweDAwZmYwMCwgMHgwMDAwZmYgKQorKyAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMTUsIEFWX1BJWF9GTVRfUkdCNTU1LCBBVl9QSVhfRk1UX0JHUjU1NSwgMHg3YzAwLCAweDAzZTAsIDB4MDAxZiApCisrICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IxNiwgQVZfUElYX0ZNVF9SR0I1NjUsIEFWX1BJWF9GTVRfQkdSNTY1LCAweGY4MDAsIDB4MDdlMCwgMHgwMDFmICkKKysgICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjI0LCBBVl9QSVhfRk1UX0JHUjI0LCBBVl9QSVhfRk1UX1JHQjI0LCAweGZmMDAwMCwgMHgwMGZmMDAsIDB4MDAwMGZmICkKKyAKKy0gICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjMyLCBQSVhfRk1UX1JHQjMyLCBQSVhfRk1UX0JHUjMyLCAweDAwZmYwMDAwLCAweDAwMDBmZjAwLCAweDAwMDAwMGZmICkKKy0gICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjMyLCBQSVhfRk1UX1JHQjMyXzEsIFBJWF9GTVRfQkdSMzJfMSwgMHhmZjAwMDAwMCwgMHgwMGZmMDAwMCwgMHgwMDAwZmYwMCApCisrICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IzMiwgQVZfUElYX0ZNVF9SR0IzMiwgQVZfUElYX0ZNVF9CR1IzMiwgMHgwMGZmMDAwMCwgMHgwMDAwZmYwMCwgMHgwMDAwMDBmZiApCisrICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IzMiwgQVZfUElYX0ZNVF9SR0IzMl8xLCBBVl9QSVhfRk1UX0JHUjMyXzEsIDB4ZmYwMDAwMDAsIDB4MDBmZjAwMDAsIDB4MDAwMGZmMDAgKQorIAorICNpZmRlZiBBVl9QSVhfRk1UXzBCR1IzMgorICAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMzIsIEFWX1BJWF9GTVRfMEJHUjMyLCBBVl9QSVhfRk1UXzBSR0IzMiwgMHgwMDAwMDBmZiwgMHgwMDAwZmYwMCwgMHgwMGZmMDAwMCApCisgI2VuZGlmCisgCistICAgIHtWTENfQ09ERUNfUkdCQSwgUElYX0ZNVF9SR0JBLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfQVJHQiwgUElYX0ZNVF9BUkdCLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfQkdSQSwgUElYX0ZNVF9CR1JBLCAwLCAwLCAwIH0sCistICAgIHtWTENfQ09ERUNfR1JFWSwgUElYX0ZNVF9HUkFZOCwgMCwgMCwgMH0sCisrICAgIHtWTENfQ09ERUNfUkdCQSwgQVZfUElYX0ZNVF9SR0JBLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfQVJHQiwgQVZfUElYX0ZNVF9BUkdCLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfQkdSQSwgQVZfUElYX0ZNVF9CR1JBLCAwLCAwLCAwIH0sCisrICAgIHtWTENfQ09ERUNfR1JFWSwgQVZfUElYX0ZNVF9HUkFZOCwgMCwgMCwgMH0sCisgCisgICAgICAvKiBQYWxldGl6ZWQgUkdCICovCistICAgIHtWTENfQ09ERUNfUkdCUCwgUElYX0ZNVF9QQUw4LCAwLCAwLCAwfSwKKysgICAge1ZMQ19DT0RFQ19SR0JQLCBBVl9QSVhfRk1UX1BBTDgsIDAsIDAsIDB9LAorIAorICNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1MSwgNDIsIDAsIDc0LDEwMCkKKyAgICAge1ZMQ19DT0RFQ19HQlJfUExBTkFSLCBBVl9QSVhfRk1UX0dCUlAsIDAsIDAsIDAgfSwKK0BAIC0yMDEsNSArMjAxLDUgQEAgaW50IEZpbmRGZm1wZWdDaHJvbWEoIHZsY19mb3VyY2NfdCBmb3VyY2MgKQorICAgICBmb3IoIGludCBpID0gMDsgY2hyb21hX3RhYmxlW2ldLmlfY2hyb21hICE9IDA7IGkrKyApCisgICAgICAgICBpZiggY2hyb21hX3RhYmxlW2ldLmlfY2hyb21hID09IGZvdXJjYyApCisgICAgICAgICAgICAgcmV0dXJuIGNocm9tYV90YWJsZVtpXS5pX2Nocm9tYV9pZDsKKy0gICAgcmV0dXJuIFBJWF9GTVRfTk9ORTsKKysgICAgcmV0dXJuIEFWX1BJWF9GTVRfTk9ORTsKKyB9CitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYworaW5kZXggYzExNWRiOS4uYWU2MDBlOCAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYworQEAgLTEwMDQsNyArMTAwNCw3IEBAIHN0YXRpYyBwaWN0dXJlX3QgKmxhdmNfZHJfR2V0RnJhbWUoc3RydWN0IEFWQ29kZWNDb250ZXh0ICpjdHgsCisgICAgIGlmIChHZXRWbGNDaHJvbWEoJmRlYy0+Zm10X291dC52aWRlbywgY3R4LT5waXhfZm10KSAhPSBWTENfU1VDQ0VTUykKKyAgICAgICAgIHJldHVybiBOVUxMOworICAgICBkZWMtPmZtdF9vdXQuaV9jb2RlYyA9IGRlYy0+Zm10X291dC52aWRlby5pX2Nocm9tYTsKKy0gICAgaWYgKGN0eC0+cGl4X2ZtdCA9PSBQSVhfRk1UX1BBTDgpCisrICAgIGlmIChjdHgtPnBpeF9mbXQgPT0gQVZfUElYX0ZNVF9QQUw4KQorICAgICAgICAgcmV0dXJuIE5VTEw7CisgCisgICAgIGludCB3aWR0aCA9IGZyYW1lLT53aWR0aDsKK0BAIC0xMTgwLDcgKzExODAsNyBAQCBzdGF0aWMgcGljdHVyZV90ICpmZm1wZWdfZHJfR2V0RnJhbWVCdWYoc3RydWN0IEFWQ29kZWNDb250ZXh0ICpwX2NvbnRleHQpCisgICAgIGlmIChHZXRWbGNDaHJvbWEoJnBfZGVjLT5mbXRfb3V0LnZpZGVvLCBwX2NvbnRleHQtPnBpeF9mbXQpICE9IFZMQ19TVUNDRVNTKQorICAgICAgICAgZ290byBub19kcjsKKyAKKy0gICAgaWYgKHBfY29udGV4dC0+cGl4X2ZtdCA9PSBQSVhfRk1UX1BBTDgpCisrICAgIGlmIChwX2NvbnRleHQtPnBpeF9mbXQgPT0gQVZfUElYX0ZNVF9QQUw4KQorICAgICAgICAgZ290byBub19kcjsKKyAKKyAgICAgcF9kZWMtPmZtdF9vdXQuaV9jb2RlYyA9IHBfZGVjLT5mbXRfb3V0LnZpZGVvLmlfY2hyb21hOworQEAgLTEyMTUsNyArMTIxNSw3IEBAIHN0YXRpYyBwaWN0dXJlX3QgKmZmbXBlZ19kcl9HZXRGcmFtZUJ1ZihzdHJ1Y3QgQVZDb2RlY0NvbnRleHQgKnBfY29udGV4dCkKKyAgICAgICAgICAgICBnb3RvIG5vX2RyOworICAgICB9CisgCistICAgIGlmKCBwX2NvbnRleHQtPnBpeF9mbXQgPT0gUElYX0ZNVF9ZVVY0MjJQICkKKysgICAgaWYoIHBfY29udGV4dC0+cGl4X2ZtdCA9PSBBVl9QSVhfRk1UX1lVVjQyMlAgKQorICAgICB7CisgICAgICAgICBpZiggMiAqIHBfcGljLT5wWzFdLmlfcGl0Y2ggIT0gcF9waWMtPnBbMF0uaV9waXRjaCB8fAorICAgICAgICAgICAgIDIgKiBwX3BpYy0+cFsyXS5pX3BpdGNoICE9IHBfcGljLT5wWzBdLmlfcGl0Y2ggKQorQEAgLTEzMjUsNyArMTMyNSw3IEBAIHN0YXRpYyBlbnVtIFBpeGVsRm9ybWF0IGZmbXBlZ19HZXRGb3JtYXQoIEFWQ29kZWNDb250ZXh0ICpwX2NvbnRleHQsCisgCisgICAgIC8qIEVudW1lcmF0ZSBhdmFpbGFibGUgZm9ybWF0cyAqLworICAgICBib29sIGNhbl9od2FjY2VsID0gZmFsc2U7CistICAgIGZvciggc2l6ZV90IGkgPSAwOyBwaV9mbXRbaV0gIT0gUElYX0ZNVF9OT05FOyBpKysgKQorKyAgICBmb3IoIHNpemVfdCBpID0gMDsgcGlfZm10W2ldICE9IEFWX1BJWF9GTVRfTk9ORTsgaSsrICkKKyAgICAgeworICAgICAgICAgY29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpkc2MgPSBhdl9waXhfZm10X2Rlc2NfZ2V0KHBpX2ZtdFtpXSk7CisgICAgICAgICBpZiAoZHNjID09IE5VTEwpCitAQCAtMTM1Miw3ICsxMzUyLDcgQEAgc3RhdGljIGVudW0gUGl4ZWxGb3JtYXQgZmZtcGVnX0dldEZvcm1hdCggQVZDb2RlY0NvbnRleHQgKnBfY29udGV4dCwKKyAgICAgaWYoIHBfdmEgPT0gTlVMTCApCisgICAgICAgICBnb3RvIGVuZDsKKyAKKy0gICAgZm9yKCBzaXplX3QgaSA9IDA7IHBpX2ZtdFtpXSAhPSBQSVhfRk1UX05PTkU7IGkrKyApCisrICAgIGZvciggc2l6ZV90IGkgPSAwOyBwaV9mbXRbaV0gIT0gQVZfUElYX0ZNVF9OT05FOyBpKysgKQorICAgICB7CisgICAgICAgICBpZiggcF92YS0+cGl4X2ZtdCAhPSBwaV9mbXRbaV0gKQorICAgICAgICAgICAgIGNvbnRpbnVlOworZGlmZiAtLWdpdCBhL21vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYyBiL21vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYworaW5kZXggNTY5ZTBmNS4uNGUwZWNmMSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYworKysrIGIvbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jCitAQCAtMjU3LDM1ICsyNTcsMzUgQEAgc3RhdGljIHZvaWQgRml4UGFyYW1ldGVycyggaW50ICpwaV9mbXQsIGJvb2wgKnBiX2hhc19hLCBib29sICpwYl9zd2FwX3V2LCB2bGNfZm8KKyAgICAgc3dpdGNoKCBmbXQgKQorICAgICB7CisgICAgIGNhc2UgVkxDX0NPREVDX1lVVjQyMkE6CistICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9ZVVY0MjJQOworKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfWVVWNDIyUDsKKyAgICAgICAgICpwYl9oYXNfYSA9IHRydWU7CisgICAgICAgICBicmVhazsKKyAgICAgY2FzZSBWTENfQ09ERUNfWVVWNDIwQToKKy0gICAgICAgICpwaV9mbXQgPSBQSVhfRk1UX1lVVjQyMFA7CisrICAgICAgICAqcGlfZm10ID0gQVZfUElYX0ZNVF9ZVVY0MjBQOworICAgICAgICAgKnBiX2hhc19hID0gdHJ1ZTsKKyAgICAgICAgIGJyZWFrOworICAgICBjYXNlIFZMQ19DT0RFQ19ZVVZBOgorLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfWVVWNDQ0UDsKKysgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1lVVjQ0NFA7CisgICAgICAgICAqcGJfaGFzX2EgPSB0cnVlOworICAgICAgICAgYnJlYWs7CisgICAgIGNhc2UgVkxDX0NPREVDX1JHQkE6CistICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9CR1IzMjsKKysgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX0JHUjMyOworICAgICAgICAgKnBiX2hhc19hID0gdHJ1ZTsKKyAgICAgICAgIGJyZWFrOworICAgICBjYXNlIFZMQ19DT0RFQ19BUkdCOgorLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfQkdSMzJfMTsKKysgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX0JHUjMyXzE7CisgICAgICAgICAqcGJfaGFzX2EgPSB0cnVlOworICAgICAgICAgYnJlYWs7CisgICAgIGNhc2UgVkxDX0NPREVDX0JHUkE6CistICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9SR0IzMjsKKysgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1JHQjMyOworICAgICAgICAgKnBiX2hhc19hID0gdHJ1ZTsKKyAgICAgICAgIGJyZWFrOworICAgICBjYXNlIFZMQ19DT0RFQ19ZVjEyOgorLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfWVVWNDIwUDsKKysgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1lVVjQyMFA7CisgICAgICAgICAqcGJfc3dhcF91diA9IHRydWU7CisgICAgICAgICBicmVhazsKKyAgICAgY2FzZSBWTENfQ09ERUNfWVY5OgorLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfWVVWNDEwUDsKKysgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1lVVjQxMFA7CisgICAgICAgICAqcGJfc3dhcF91diA9IHRydWU7CisgICAgICAgICBicmVhazsKKyAgICAgZGVmYXVsdDoKK0BAIC0zMTQsNyArMzE0LDcgQEAgc3RhdGljIGludCBHZXRQYXJhbWV0ZXJzKCBTY2FsZXJDb25maWd1cmF0aW9uICpwX2NmZywKKyAgICAgeworICAgICAgICAgaWYoIHBfZm10aS0+aV9jaHJvbWEgPT0gVkxDX0NPREVDX1lVVlAgJiYgQUxMT1dfWVVWUCApCisgICAgICAgICB7CistICAgICAgICAgICAgaV9mbXRpID0gaV9mbXRvID0gUElYX0ZNVF9HUkFZODsKKysgICAgICAgICAgICBpX2ZtdGkgPSBpX2ZtdG8gPSBBVl9QSVhfRk1UX0dSQVk4OworICAgICAgICAgICAgIGlfc3dzX2ZsYWdzID0gU1dTX1BPSU5UOworICAgICAgICAgfQorICAgICB9CitAQCAtMzI3LDkgKzMyNyw5IEBAIHN0YXRpYyBpbnQgR2V0UGFyYW1ldGVycyggU2NhbGVyQ29uZmlndXJhdGlvbiAqcF9jZmcsCisgICAgICAqIFdpdGhvdXQgU1dTX0FDQ1VSQVRFX1JORCB0aGUgcXVhbGl0eSBpcyByZWFsbHkgYmFkIGZvciBzb21lIGNvbnZlcnNpb25zICovCisgICAgIHN3aXRjaCggaV9mbXRvICkKKyAgICAgeworLSAgICBjYXNlIFBJWF9GTVRfQVJHQjoKKy0gICAgY2FzZSBQSVhfRk1UX1JHQkE6CistICAgIGNhc2UgUElYX0ZNVF9BQkdSOgorKyAgICBjYXNlIEFWX1BJWF9GTVRfQVJHQjoKKysgICAgY2FzZSBBVl9QSVhfRk1UX1JHQkE6CisrICAgIGNhc2UgQVZfUElYX0ZNVF9BQkdSOgorICAgICAgICAgaV9zd3NfZmxhZ3MgfD0gU1dTX0FDQ1VSQVRFX1JORDsKKyAgICAgICAgIGJyZWFrOworICAgICB9CitAQCAtNDAzLDggKzQwMyw4IEBAIHN0YXRpYyBpbnQgSW5pdCggZmlsdGVyX3QgKnBfZmlsdGVyICkKKyAgICAgY29uc3QgdW5zaWduZWQgaV9mbXRvX3Zpc2libGVfd2lkdGggPSBwX2ZtdG8tPmlfdmlzaWJsZV93aWR0aCAqIHBfc3lzLT5pX2V4dGVuZF9mYWN0b3I7CisgICAgIGZvciggaW50IG4gPSAwOyBuIDwgKGNmZy5iX2hhc19hID8gMiA6IDEpOyBuKysgKQorICAgICB7CistICAgICAgICBjb25zdCBpbnQgaV9mbXRpID0gbiA9PSAwID8gY2ZnLmlfZm10aSA6IFBJWF9GTVRfR1JBWTg7CistICAgICAgICBjb25zdCBpbnQgaV9mbXRvID0gbiA9PSAwID8gY2ZnLmlfZm10byA6IFBJWF9GTVRfR1JBWTg7CisrICAgICAgICBjb25zdCBpbnQgaV9mbXRpID0gbiA9PSAwID8gY2ZnLmlfZm10aSA6IEFWX1BJWF9GTVRfR1JBWTg7CisrICAgICAgICBjb25zdCBpbnQgaV9mbXRvID0gbiA9PSAwID8gY2ZnLmlfZm10byA6IEFWX1BJWF9GTVRfR1JBWTg7CisgICAgICAgICBzdHJ1Y3QgU3dzQ29udGV4dCAqY3R4OworIAorICAgICAgICAgY3R4ID0gc3dzX2dldENvbnRleHQoIGlfZm10aV92aXNpYmxlX3dpZHRoLCBwX2ZtdGktPmlfdmlzaWJsZV9oZWlnaHQsIGlfZm10aSwKKy0tIAorMi41LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAxMC1TV1NDQUxFLWZpeC1jb21waWxhdGlvbi13aXRoLTQueC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMTAtU1dTQ0FMRS1maXgtY29tcGlsYXRpb24td2l0aC00LngucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY3NDRlNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMTAtU1dTQ0FMRS1maXgtY29tcGlsYXRpb24td2l0aC00LngucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRnJvbSA2ZmE4YTRhOWJiNjRmZjM0MzI4YWFlNDZhY2Q2MDBmODUwMmIyYzA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmVhbi1CYXB0aXN0ZSBLZW1wZiA8amJAdmlkZW9sYW4ub3JnPgorRGF0ZTogTW9uLCAzMSBBdWcgMjAxNSAwOTowNzozOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBTV1NDQUxFOiBmaXggY29tcGlsYXRpb24gd2l0aCA0LngKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMmIyMzg1N2M2ODYyMmVkZGE3NmI3MmI3NGFlYjNkOTQzZWUyNzdjOSkKK1NpZ25lZC1vZmYtYnk6IFJhZmHDq2wgQ2FycsOpIDxmdW5tYW5AdmlkZW9sYW4ub3JnPgorLS0tCisgbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jIHwgMyArKysKKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMgYi9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMKK2luZGV4IDRlMGVjZjEuLjI2ZDBkNmYgMTAwNjQ0CistLS0gYS9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMKKysrKyBiL21vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYworQEAgLTM2LDYgKzM2LDcgQEAKKyAjaW5jbHVkZSA8dmxjX2NwdS5oPgorIAorICNpbmNsdWRlIDxsaWJzd3NjYWxlL3N3c2NhbGUuaD4KKysjaW5jbHVkZSA8bGlic3dzY2FsZS92ZXJzaW9uLmg+CisgCisgI2lmZGVmIF9fQVBQTEVfXworICMgaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+CitAQCAtMjM1LDYgKzIzNiw3IEBAIHN0YXRpYyBpbnQgR2V0U3dzQ3B1TWFzayh2b2lkKQorIHsKKyAgICAgaW50IGlfc3dzX2NwdSA9IDA7CisgCisrI2lmIExJQlNXU0NBTEVfVkVSU0lPTl9NQUpPUiA8IDQKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQorICAgICBpZiggdmxjX0NQVV9NTVgoKSApCisgICAgICAgICBpX3N3c19jcHUgfD0gU1dTX0NQVV9DQVBTX01NWDsKK0BAIC0yNDgsNiArMjUwLDcgQEAgc3RhdGljIGludCBHZXRTd3NDcHVNYXNrKHZvaWQpCisgICAgIGlmKCB2bGNfQ1BVX0FMVElWRUMoKSApCisgICAgICAgICBpX3N3c19jcHUgfD0gU1dTX0NQVV9DQVBTX0FMVElWRUM7CisgI2VuZGlmCisrI2VuZGlmCisgCisgICAgIHJldHVybiBpX3N3c19jcHU7CisgfQorLS0gCisyLjUuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsY18yLjIuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjXzIuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1YmUwNGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsY18yLjIuMi5iYgpAQCAtMCwwICsxLDE5IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworIyB3b3JrIGFyb3VuZCBidWlsZCBmYWlsdXJlCitFWFRSQV9PRUNPTkYgKz0gIiAtLWVuYWJsZS1saWJ4bWwyPW5vIgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1lbmFibGUtc3ViZGlyLW9iamVjdHMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDItZ2xpYmMtZG9lcy1ub3QtcHJvdmlkZS1zdHJsY3B5LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAzLXVzZS1hbS1wYXRoLWxpYmdjcnlwdC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwNC1tb2R1bGVzLWd1aS1xdDQtb3V0LW9mLXRyZWUtYnVpbGQucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDUtbGlicG9zdHByb2MtaGVhZGVyLWNoZWNrLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDA2LW1ha2Utb3BlbmN2LWNvbmZpZ3VyYWJsZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwNy11c2Utdm9yYmlzaWRlYy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwOS1BdmNvZGVjLXN3c2NhbGUtdXNlLUFWX1BJWF9GTVQtY29uc2lzdGVudGx5LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDEwLVNXU0NBTEUtZml4LWNvbXBpbGF0aW9uLXdpdGgtNC54LnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImY5OGQ2MGYwZjU5ZWY3MmI2ZTM0MDdmMmZmMDliZGE2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlhZDIzMTI4YmUxNmY5YjQwZWQ3NzI5NjEyNzJjYjA3NDhlZDhlNGFhMWJjNzljMTI5ZTU4OWZlZWJlYTVmYjUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdm9yYmlzLXRvb2xzL3ZvcmJpcy10b29scy8wMDAxLW9nZ2VuYy1GaXgtbGFyZ2UtYWxsb2NhLW9uLWJhZC1BSUZGLWlucHV0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZvcmJpcy10b29scy92b3JiaXMtdG9vbHMvMDAwMS1vZ2dlbmMtRml4LWxhcmdlLWFsbG9jYS1vbi1iYWQtQUlGRi1pbnB1dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjIzZGJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZvcmJpcy10b29scy92b3JiaXMtdG9vbHMvMDAwMS1vZ2dlbmMtRml4LWxhcmdlLWFsbG9jYS1vbi1iYWQtQUlGRi1pbnB1dC5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0JhY2twb3J0IHBhdGNoIHRvIGZpeCBDVkUtMjAxNS02NzQ5IGZyb206CisKK2h0dHBzOi8vdHJhYy54aXBoLm9yZy90aWNrZXQvMjIxMgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorRnJvbSAwNDgxNWQzZTFiZmFlM2E2Y2RmYjJjMjUzNThhNWE3MmI2MTI5OWY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyayBIYXJyaXMgPG1hcmsuaHNqQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMzAgQXVnIDIwMTUgMDU6NTQ6NDYgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gb2dnZW5jOiBGaXggbGFyZ2UgYWxsb2NhIG9uIGJhZCBBSUZGIGlucHV0CisKK0ZpeGVzICMyMjEyCistLS0KKyBvZ2dlbmMvYXVkaW8uYyB8IDEwICsrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvb2dnZW5jL2F1ZGlvLmMgYi9vZ2dlbmMvYXVkaW8uYworaW5kZXggNDc3ZGE4Yy4uNDkyMWZiOSAxMDA2NDQKKy0tLSBhL29nZ2VuYy9hdWRpby5jCisrKysgYi9vZ2dlbmMvYXVkaW8uYworQEAgLTI0NSw4ICsyNDUsOCBAQCBzdGF0aWMgaW50IGFpZmZfcGVybXV0ZV9tYXRyaXhbNl1bNl0gPQorIGludCBhaWZmX29wZW4oRklMRSAqaW4sIG9lX2VuY19vcHQgKm9wdCwgdW5zaWduZWQgY2hhciAqYnVmLCBpbnQgYnVmbGVuKQorIHsKKyAgICAgaW50IGFpZmM7IC8qIEFJRkMgb3IgQUlGRj8gKi8KKy0gICAgdW5zaWduZWQgaW50IGxlbjsKKy0gICAgdW5zaWduZWQgY2hhciAqYnVmZmVyOworKyAgICB1bnNpZ25lZCBpbnQgbGVuLCByZWFkbGVuOworKyAgICB1bnNpZ25lZCBjaGFyIGJ1ZmZlclsyMl07CisgICAgIHVuc2lnbmVkIGNoYXIgYnVmMls4XTsKKyAgICAgYWlmZl9mbXQgZm9ybWF0OworICAgICBhaWZmZmlsZSAqYWlmZiA9IG1hbGxvYyhzaXplb2YoYWlmZmZpbGUpKTsKK0BAIC0yNjksOSArMjY5LDkgQEAgaW50IGFpZmZfb3BlbihGSUxFICppbiwgb2VfZW5jX29wdCAqb3B0LCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBidWZsZW4pCisgICAgICAgICByZXR1cm4gMDsgLyogV2VpcmQgY29tbW9uIGNodW5rICovCisgICAgIH0KKyAKKy0gICAgYnVmZmVyID0gYWxsb2NhKGxlbik7CistCistICAgIGlmKGZyZWFkKGJ1ZmZlciwxLGxlbixpbikgPCBsZW4pCisrICAgIHJlYWRsZW4gPSBsZW4gPCBzaXplb2YoYnVmZmVyKSA/IGxlbiA6IHNpemVvZihidWZmZXIpOworKyAgICBpZihmcmVhZChidWZmZXIsMSxyZWFkbGVuLGluKSA8IHJlYWRsZW4gfHwKKysgICAgICAgKGxlbiA+IHJlYWRsZW4gJiYgIXNlZWtfZm9yd2FyZChpbiwgbGVuLXJlYWRsZW4pKSkKKyAgICAgeworICAgICAgICAgZnByaW50ZihzdGRlcnIsIF8oIldhcm5pbmc6IFVuZXhwZWN0ZWQgRU9GIGluIHJlYWRpbmcgQUlGRiBoZWFkZXJcbiIpKTsKKyAgICAgICAgIHJldHVybiAwOworLS0gCisyLjUuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdm9yYmlzLXRvb2xzL3ZvcmJpcy10b29sc18xLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92b3JiaXMtdG9vbHMvdm9yYmlzLXRvb2xzXzEuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2ODM1NTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdm9yYmlzLXRvb2xzL3ZvcmJpcy10b29sc18xLjQuMC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIlZvcmJpcyBUb29scyIKK0RFU0NSSVBUSU9OID0gIk9nZyBWb3JiaXMgaXMgYSBoaWdoLXF1YWxpdHkgbG9zc3kgYXVkaW8gY29kZWMgXAordGhhdCBpcyBmcmVlIG9mIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByZXN0cmljdGlvbnMuIHZvcmJpcy10b29scyBcCitpbmNsdWRlIHNvbWUgY29tbWFuZCBsaW5lIGFwcGxpY2F0aW9ucyB0byB1c2UgdGhlIGxpYnJhcmllcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnZvcmJpcy5jb20vIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL3RyYWMueGlwaC5vcmciCitTRUNUSU9OID0gIm11bHRpbWVkaWEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK0RFUEVORFMgPSAibGlib2dnIGxpYnZvcmJpcyBjdXJsIGxpYmFvIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMueGlwaC5vcmcvcmVsZWFzZXMvdm9yYmlzLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9nZ2VuYy1GaXgtbGFyZ2UtYWxsb2NhLW9uLWJhZC1BSUZGLWlucHV0LnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NjdlMGZiOGQzMjFiMmNkNzEyNGY4MjA4YjhiOTBlNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhMzg5Mzk1YmFhNDNmOGU1YTc5NmM5OWRhZjYyMzk3ZTQzNWE3ZTczNTMxYzlmNDRkOTA4NDA1NWEwNWQyMmJjIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAorCitQQUNLQUdFQ09ORklHID8/PSAiZmxhYyIKK1BBQ0tBR0VDT05GSUdbZmxhY10gPSAiLC0td2l0aG91dC1mbGFjLGZsYWMsbGliZmxhYyIKK1BBQ0tBR0VDT05GSUdbc3BlZXhdID0gIiwtLXdpdGhvdXQtc3BlZXgsc3BlZXgsc3BlZXgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlibWVkaWFhcnQvbGlibWVkaWFhcnQtMi4wXzEuOS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm1lZGlhYXJ0L2xpYm1lZGlhYXJ0LTIuMF8xLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGYxMzVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm1lZGlhYXJ0L2xpYm1lZGlhYXJ0LTIuMF8xLjkuMC5iYgpAQCAtMCwwICsxLDcgQEAKK3JlcXVpcmUgbGlibWVkaWFhcnQuaW5jCisKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L2xpYm1lZGlhYXJ0LzEuOS9saWJtZWRpYWFydC0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiMGI2NWQ2NDM5OGQyZjNkZmY4OTUzNGM5ZGZmZmFiNGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTQ2NjhhZGIyOWQ0ZGMzMTE1YjBmZDEwNTk0MmViZDVjYTZmNWY5ZGJiMmFmYThhMTkxYTczYTc0N2RkNTA2ZiIKKworUyA9ICIke1dPUktESVJ9L2xpYm1lZGlhYXJ0LSR7UFZ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm1lZGlhYXJ0L2xpYm1lZGlhYXJ0LmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJtZWRpYWFydC9saWJtZWRpYWFydC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdkY2E5YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJtZWRpYWFydC9saWJtZWRpYWFydC5pbmMKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IHRhc2tlZCB3aXRoIG1hbmFnaW5nLCBleHRyYWN0aW5nIGFuZCBoYW5kbGluZyBtZWRpYSBhcnQgY2FjaGVzIgorCitMSUNFTlNFID0gIkxHUEx2MisgJiBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGlibWVkaWFhcnQvZXh0cmFjdC5jO2VuZGxpbmU9MTg7bWQ1PWRmZjJiNjMyOGFiMDY3YjViYWFkYzEzNWY5ODc2YzM2IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Rlc3RzL21lZGlhYXJ0dGVzdC5jO2VuZGxpbmU9MTg7bWQ1PTA2NzEwNmVhYTFmN2E5ZDkxODc1OWEwOTY2NjdmMThlIgorCitERVBFTkRTID0gImdsaWItMi4wIGdkay1waXhidWYiCisKK0dOT01FX0NPTVBSRVNTX1RZUEUgPSAieHoiCisKK2luaGVyaXQgZ25vbWViYXNlIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtcXQgLS1lbmFibGUtZ2RrcGl4YnVmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm1lZGlhYXJ0L2xpYm1lZGlhYXJ0XzAuNy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm1lZGlhYXJ0L2xpYm1lZGlhYXJ0XzAuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViNDU5NzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlibWVkaWFhcnQvbGlibWVkaWFhcnRfMC43LjAuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlIGxpYm1lZGlhYXJ0LmluYworCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIxYTQ0OTMzZDRjZDAwNjRlM2M3NmQ4ZDBkZGFjZGRjOSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjNhOWRmZmNhZDg2MmFlZDdjMDkyMTU3OWI5MzA4MGQ2OTRiOGE2NmYzNjc2YmZlZTgwMzc4NjdmNjUzYTFjZDMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlib2lsL2xpYm9pbC0wLjMuMTcvMDAwMS1GaXgtZW5hYmxlLXZmcC1mbGFnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3LzAwMDEtRml4LWVuYWJsZS12ZnAtZmxhZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZmYxY2IxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3LzAwMDEtRml4LWVuYWJsZS12ZnAtZmxhZy5wYXRjaApAQCAtMCwwICsxLDQxIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0Zyb20gMTkyMTQ5OGJjYzA2NDA4ZThiMDUxYTNhOWU5Y2U0MTgyOTk4Zjc0OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgorRGF0ZTogRnJpLCA4IEFwciAyMDExIDEwOjA1OjQ5IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMTAvMTBdIEZpeCAtLWVuYWJsZS12ZnAgZmxhZworCitQYXRjaCBmcm9tIENocmlzdG9waGUgTHlvbiwgZml4ZXMgIzM2MDg0LgorLS0tCisgY29uZmlndXJlLmFjICAgICAgICAgICB8ICAgIDQgKystLQorIGxpYm9pbC9hcm0vTWFrZWZpbGUuYW0gfCAgICAxICsKKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggOThjODFmYi4uNDA3ZDg4YyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTg4LDggKzE4OCw4IEBAIGZpCisgQUNfQVJHX0VOQUJMRSh2ZnAsCisgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtdmZwXSxbY29tcGlsZSB3aXRoIFZlY3RvciBGbG9hdGluZy1wb2ludCB1bml0IHN1cHBvcnRdKSwKKyAgIGVuYWJsZV92ZnA9JGVuYWJsZXZhbCxlbmFibGVfdmZwPXllcykKKy1pZiB0ZXN0ICJ4JGVuYWJsZS12ZnAiID0geHllcyAtYSB4JEhBVkVfR0NDX0FTTSA9IHh5ZXMgLWEgeCRIQVZFX0FSTSA9IHh5ZXM7IHRoZW4KKy0gIEFTX0NPTVBJTEVSX0ZMQUcoWyItV2EsLW1mcHU9dmZwIl0sCisraWYgdGVzdCAieCRlbmFibGVfdmZwIiA9IHh5ZXMgLWEgeCRIQVZFX0dDQ19BU00gPSB4eWVzIC1hIHgkSEFWRV9BUk0gPSB4eWVzOyB0aGVuCisrICBBU19DT01QSUxFUl9GTEFHKFsiLW1mcHU9dmZwIl0sCisgICAgIFtWRlBfQ0ZMQUdTPSIkVkZQX0NGTEFHUyAtbWZwdT12ZnAiXSwKKyAgICAgdHJ1ZSkKKyAgICNBU19DT01QSUxFUl9GTEFHKFsiLVdhLC1tZmxvYXQtYWJpPXNvZnRmcCJdLAorZGlmZiAtLWdpdCBhL2xpYm9pbC9hcm0vTWFrZWZpbGUuYW0gYi9saWJvaWwvYXJtL01ha2VmaWxlLmFtCitpbmRleCBlYWQwOGVkLi5jZDhkOWZhIDEwMDY0NAorLS0tIGEvbGlib2lsL2FybS9NYWtlZmlsZS5hbQorKysrIGIvbGlib2lsL2FybS9NYWtlZmlsZS5hbQorQEAgLTYsNCArNiw1IEBAIGxpYmFybV9sYV9TT1VSQ0VTID0gXAorIAltYXRoX3ZmcF9hc20uUworIAorIGxpYmFybV9sYV9DRkxBR1MgPSAkKExJQk9JTF9DRkxBR1MpICQoVkZQX0NGTEFHUykKKytsaWJhcm1fbGFfQ0NBU0ZMQUdTID0gJChMSUJPSUxfQ0ZMQUdTKSAkKFZGUF9DRkxBR1MpCisgCistLSAKKzEuNy42CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9maXgtdW5hbGlnbmVkLXdoaXRlbGlzdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9maXgtdW5hbGlnbmVkLXdoaXRlbGlzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOGUzYzFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3L2ZpeC11bmFsaWduZWQtd2hpdGVsaXN0LnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK1Vwc3RyZWFtOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTM1OAorCitjb25maWd1cmU6IGZpeCB3aGl0ZWxpc3Rpbmcgb2YgeDg2XzY0IHVuYWxpZ25lZCBtZW1vcnkgYWNjZXNzCisKK0ZpeCB0eXBvIGluIHdoaXRlbGlzdCBzbyBjcm9zcy1jb21waWxlIHdvcmtzIGZvciB4ODZfNjQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworLS0tIGxpYm9pbC0wLjMuMTcvbTQvYXMtdW5hbGlnbmVkLWFjY2Vzcy5tNC5vcmlnCTIwMDktMDItMjYgMTQ6NDA6MDguMDAwMDAwMDAwIC0wNTAwCisrKysgbGlib2lsLTAuMy4xNy9tNC9hcy11bmFsaWduZWQtYWNjZXNzLm00CTIwMTAtMTEtMDMgMTI6MTk6NTUuMDAwMDAwMDAwIC0wNDAwCitAQCAtOSw3ICs5LDcgQEAKKyAgICAgICAgIF9BU19FQ0hPX04oWyhibGFja2xpc3RlZCkgXSkKKyAgICAgICAgIGFzX2N2X3VuYWxpZ25lZF9hY2Nlc3M9bm8KKyAJOzsKKy0gICAgICBpPzg2Knx4ODZfNjR8YW1kNjR8cG93ZXJwYyp8bTY4ayp8Y3JpcyopCisrICAgICAgaT84Nip8eDg2XzY0KnxhbWQ2NCp8cG93ZXJwYyp8bTY4ayp8Y3JpcyopCisgICAgICAgICBfQVNfRUNIT19OKFsod2hpdGVsaXN0ZWQpIF0pCisgICAgICAgICBhc19jdl91bmFsaWduZWRfYWNjZXNzPXllcworIAk7OwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3L2xpYm9pbF9maXhfZm9yX3gzMi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9saWJvaWxfZml4X2Zvcl94MzIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDczMzgwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9saWJvaWxfZml4X2Zvcl94MzIucGF0Y2gKQEAgLTAsMCArMSwyMjIgQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitNYWtlIHRoZSBhc3NlbWJseSBzeW50YXggY29tcGF0aWJsZSB3aXRoIHgzMiBnY2MuIE90aGV3aXNlIHgzMiBnY2MgdGhyb3dzIGVycm9ycy4KKworU2lnbmVkLU9mZi1CeTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KKzIwMTEvMTIvMDEKKworCitJbmRleDogbGlib2lsLTAuMy4xNy9saWJvaWwvYW1kNjQvd2F2ZWxldC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlib2lsLTAuMy4xNy5vcmlnL2xpYm9pbC9hbWQ2NC93YXZlbGV0LmMKKysrKyBsaWJvaWwtMC4zLjE3L2xpYm9pbC9hbWQ2NC93YXZlbGV0LmMKK0BAIC0yMSwxNCArMjEsMTQgQEAgZGVpbnRlcmxlYXZlMl9hc20gKGludDE2X3QgKmQxLCBpbnQxNl90IAorICAgYXNtIHZvbGF0aWxlICgiXG4iCisgICAgICAgIiAgc3ViICQyLCAlJXJjeFxuIgorICAgICAgICIxOlxuIgorLSAgICAgICIgIG1vdncgKCUxLCUlcmN4LDQpLCAlJWF4XG4iCistICAgICAgIiAgbW92dyAlJWF4LCAoJTAsJSVyY3gsMilcbiIKKy0gICAgICAiICBtb3Z3IDIoJTEsJSVyY3gsNCksICUlYXhcbiIKKy0gICAgICAiICBtb3Z3ICUlYXgsICglMiwlJXJjeCwyKVxuIgorLSAgICAgICIgIG1vdncgNCglMSwlJXJjeCw0KSwgJSVheFxuIgorLSAgICAgICIgIG1vdncgJSVheCwgMiglMCwlJXJjeCwyKVxuIgorLSAgICAgICIgIG1vdncgNiglMSwlJXJjeCw0KSwgJSVheFxuIgorLSAgICAgICIgIG1vdncgJSVheCwgMiglMiwlJXJjeCwyKVxuIgorKyAgICAgICIgIG1vdncgKCVxMSwlJXJjeCw0KSwgJSVheFxuIgorKyAgICAgICIgIG1vdncgJSVheCwgKCVxMCwlJXJjeCwyKVxuIgorKyAgICAgICIgIG1vdncgMiglcTEsJSVyY3gsNCksICUlYXhcbiIKKysgICAgICAiICBtb3Z3ICUlYXgsICglcTIsJSVyY3gsMilcbiIKKysgICAgICAiICBtb3Z3IDQoJXExLCUlcmN4LDQpLCAlJWF4XG4iCisrICAgICAgIiAgbW92dyAlJWF4LCAyKCVxMCwlJXJjeCwyKVxuIgorKyAgICAgICIgIG1vdncgNiglcTEsJSVyY3gsNCksICUlYXhcbiIKKysgICAgICAiICBtb3Z3ICUlYXgsIDIoJXEyLCUlcmN4LDIpXG4iCisgICAgICAgIiAgc3ViICQyLCAlJXJjeFxuIgorICAgICAgICIgIGpnZSAxYlxuIgorICAgICAgIDogIityIiAoZDEpLCAiK3IiIChzXzJ4biksICIrciIgKGQyKSwgIitjIiAobikKK0BAIC01MywyMCArNTMsMjAgQEAgZGVpbnRlcmxlYXZlMl9tbXggKGludDE2X3QgKmQxLCBpbnQxNl90IAorICAgYXNtIHZvbGF0aWxlICgiXG4iCisgICAgICAgIiAgeG9yICUlcmN4LCAlJXJjeFxuIgorICAgICAgICIxOlxuIgorLSAgICAgICIgIG1vdnEgKCUxLCUlcmN4LDQpLCAlJW1tMFxuIgorLSAgICAgICIgIG1vdnEgOCglMSwlJXJjeCw0KSwgJSVtbTFcbiIKKysgICAgICAiICBtb3ZxICglcTEsJSVyY3gsNCksICUlbW0wXG4iCisrICAgICAgIiAgbW92cSA4KCVxMSwlJXJjeCw0KSwgJSVtbTFcbiIKKyAgICAgICAiICBwc2xsZCAkMTYsICUlbW0wXG4iCisgICAgICAgIiAgcHNsbGQgJDE2LCAlJW1tMVxuIgorICAgICAgICIgIHBzcmFkICQxNiwgJSVtbTBcbiIKKyAgICAgICAiICBwc3JhZCAkMTYsICUlbW0xXG4iCisgICAgICAgIiAgcGFja3NzZHcgJSVtbTEsICUlbW0wXG4iCistICAgICAgIiAgbW92cSAlJW1tMCwgKCUwLCUlcmN4LDIpXG4iCistICAgICAgIiAgbW92cSAoJTEsJSVyY3gsNCksICUlbW0wXG4iCistICAgICAgIiAgbW92cSA4KCUxLCUlcmN4LDQpLCAlJW1tMVxuIgorKyAgICAgICIgIG1vdnEgJSVtbTAsICglcTAsJSVyY3gsMilcbiIKKysgICAgICAiICBtb3ZxICglcTEsJSVyY3gsNCksICUlbW0wXG4iCisrICAgICAgIiAgbW92cSA4KCVxMSwlJXJjeCw0KSwgJSVtbTFcbiIKKyAgICAgICAiICBwc3JhZCAkMTYsICUlbW0wXG4iCisgICAgICAgIiAgcHNyYWQgJDE2LCAlJW1tMVxuIgorICAgICAgICIgIHBhY2tzc2R3ICUlbW0xLCAlJW1tMFxuIgorLSAgICAgICIgIG1vdnEgJSVtbTAsICglMiwlJXJjeCwyKVxuIgorKyAgICAgICIgIG1vdnEgJSVtbTAsICglcTIsJSVyY3gsMilcbiIKKyAgICAgICAiICBhZGQgJDQsICUlcmN4XG4iCisgICAgICAgIiAgY21wICUzLCAlJWVjeFxuIgorICAgICAgICIgIGpsIDFiXG4iCitAQCAtOTMsMTAgKzkzLDEwIEBAIGRlaW50ZXJsZWF2ZTJfbW14XzIgKGludDE2X3QgKmQxLCBpbnQxNl8KKyAgIGFzbSB2b2xhdGlsZSAoIlxuIgorICAgICAgICIgIHhvciAlJXJjeCwgJSVyY3hcbiIKKyAgICAgICAiMTpcbiIKKy0gICAgICAiICBwc2h1ZncgJDB4ZDgsICglMSwlJXJjeCw0KSwgJSVtbTBcbiIKKy0gICAgICAiICBtb3ZkICUlbW0wLCAoJTAsJSVyY3gsMilcbiIKKy0gICAgICAiICBwc2h1ZncgJDB4OGQsICglMSwlJXJjeCw0KSwgJSVtbTBcbiIKKy0gICAgICAiICBtb3ZkICUlbW0wLCAoJTIsJSVyY3gsMilcbiIKKysgICAgICAiICBwc2h1ZncgJDB4ZDgsICglcTEsJSVyY3gsNCksICUlbW0wXG4iCisrICAgICAgIiAgbW92ZCAlJW1tMCwgKCVxMCwlJXJjeCwyKVxuIgorKyAgICAgICIgIHBzaHVmdyAkMHg4ZCwgKCVxMSwlJXJjeCw0KSwgJSVtbTBcbiIKKysgICAgICAiICBtb3ZkICUlbW0wLCAoJXEyLCUlcmN4LDIpXG4iCisgICAgICAgIiAgYWRkICQyLCAlJXJjeFxuIgorICAgICAgICIgIGNtcCAlMywgJSVlY3hcbiIKKyAgICAgICAiICBqbCAxYlxuIgorQEAgLTEyMywxNiArMTIzLDE2IEBAIGRlaW50ZXJsZWF2ZTJfbW14XzMgKGludDE2X3QgKmQxLCBpbnQxNl8KKyAgIGFzbSB2b2xhdGlsZSAoIlxuIgorICAgICAgICIgIHhvciAlJXJjeCwgJSVyY3hcbiIKKyAgICAgICAiMTpcbiIKKy0gICAgICAiICBtb3ZxICglMSwlJXJjeCw0KSwgJSVtbTFcbiIKKy0gICAgICAiICBtb3ZxICglMSwlJXJjeCw0KSwgJSVtbTJcbiIKKy0gICAgICAiICBtb3ZxIDgoJTEsJSVyY3gsNCksICUlbW0wXG4iCisrICAgICAgIiAgbW92cSAoJXExLCUlcmN4LDQpLCAlJW1tMVxuIgorKyAgICAgICIgIG1vdnEgKCVxMSwlJXJjeCw0KSwgJSVtbTJcbiIKKysgICAgICAiICBtb3ZxIDgoJXExLCUlcmN4LDQpLCAlJW1tMFxuIgorICAgICAgICIgIHB1bnBja2x3ZCAlJW1tMCwgJSVtbTFcbiIKKyAgICAgICAiICBwdW5wY2tod2QgJSVtbTAsICUlbW0yXG4iCisgICAgICAgIiAgbW92cSAlJW1tMSwgJSVtbTBcbiIKKyAgICAgICAiICBwdW5wY2tsd2QgJSVtbTIsICUlbW0wXG4iCisgICAgICAgIiAgcHVucGNraHdkICUlbW0yLCAlJW1tMVxuIgorLSAgICAgICIgIG1vdnEgJSVtbTAsICglMCwlJXJjeCwyKVxuIgorLSAgICAgICIgIG1vdnEgJSVtbTEsICglMiwlJXJjeCwyKVxuIgorKyAgICAgICIgIG1vdnEgJSVtbTAsICglcTAsJSVyY3gsMilcbiIKKysgICAgICAiICBtb3ZxICUlbW0xLCAoJXEyLCUlcmN4LDIpXG4iCisgICAgICAgIiAgYWRkICQ0LCAlJXJjeFxuIgorICAgICAgICIgIGNtcCAlMywgJSVlY3hcbiIKKyAgICAgICAiICBqbCAxYlxuIgorQEAgLTE1OSwyNiArMTU5LDI2IEBAIGRlaW50ZXJsZWF2ZTJfbW14XzQgKGludDE2X3QgKmQxLCBpbnQxNl8KKyAgIGFzbSB2b2xhdGlsZSAoIlxuIgorICAgICAgICIgIHhvciAlJXJjeCwgJSVyY3hcbiIKKyAgICAgICAiMTpcbiIKKy0gICAgICAiICBtb3ZxICglMSwlJXJjeCw0KSwgJSVtbTFcbiIKKysgICAgICAiICBtb3ZxICglcTEsJSVyY3gsNCksICUlbW0xXG4iCisgICAgICAgIiAgbW92cSAlJW1tMSwgJSVtbTJcbiIKKy0gICAgICAiICBtb3ZxIDgoJTEsJSVyY3gsNCksICUlbW0wXG4iCistICAgICAgIiAgIG1vdnEgMTYoJTEsJSVyY3gsNCksICUlbW01XG4iCisrICAgICAgIiAgbW92cSA4KCVxMSwlJXJjeCw0KSwgJSVtbTBcbiIKKysgICAgICAiICAgbW92cSAxNiglcTEsJSVyY3gsNCksICUlbW01XG4iCisgICAgICAgIiAgcHVucGNrbHdkICUlbW0wLCAlJW1tMVxuIgorICAgICAgICIgICBtb3ZxICUlbW01LCAlJW1tNlxuIgorICAgICAgICIgIHB1bnBja2h3ZCAlJW1tMCwgJSVtbTJcbiIKKy0gICAgICAiICAgbW92cSAyNCglMSwlJXJjeCw0KSwgJSVtbTRcbiIKKysgICAgICAiICAgbW92cSAyNCglcTEsJSVyY3gsNCksICUlbW00XG4iCisgICAgICAgIiAgbW92cSAlJW1tMSwgJSVtbTBcbiIKKyAgICAgICAiICAgcHVucGNrbHdkICUlbW00LCAlJW1tNVxuIgorICAgICAgICIgIHB1bnBja2x3ZCAlJW1tMiwgJSVtbTBcbiIKKyAgICAgICAiICAgcHVucGNraHdkICUlbW00LCAlJW1tNlxuIgorICAgICAgICIgIHB1bnBja2h3ZCAlJW1tMiwgJSVtbTFcbiIKKyAgICAgICAiICAgbW92cSAlJW1tNSwgJSVtbTRcbiIKKy0gICAgICAiICBtb3ZxICUlbW0wLCAoJTAsJSVyY3gsMilcbiIKKysgICAgICAiICBtb3ZxICUlbW0wLCAoJXEwLCUlcmN4LDIpXG4iCisgICAgICAgIiAgIHB1bnBja2x3ZCAlJW1tNiwgJSVtbTRcbiIKKy0gICAgICAiICBtb3ZxICUlbW0xLCAoJTIsJSVyY3gsMilcbiIKKysgICAgICAiICBtb3ZxICUlbW0xLCAoJXEyLCUlcmN4LDIpXG4iCisgICAgICAgIiAgIHB1bnBja2h3ZCAlJW1tNiwgJSVtbTVcbiIKKy0gICAgICAiICAgbW92cSAlJW1tNCwgOCglMCwlJXJjeCwyKVxuIgorLSAgICAgICIgICBtb3ZxICUlbW01LCA4KCUyLCUlcmN4LDIpXG4iCisrICAgICAgIiAgIG1vdnEgJSVtbTQsIDgoJXEwLCUlcmN4LDIpXG4iCisrICAgICAgIiAgIG1vdnEgJSVtbTUsIDgoJXEyLCUlcmN4LDIpXG4iCisgICAgICAgIiAgYWRkICQ4LCAlJXJjeFxuIgorICAgICAgICIgIGNtcCAlMywgJSVlY3hcbiIKKyAgICAgICAiICBqbCAxYlxuIgorQEAgLTI1MiwxMyArMjUyLDEzIEBAIGludGVybGVhdmUyX21teCAoaW50MTZfdCAqZF8yeG4sIGludDE2X3QKKyAgIGFzbSB2b2xhdGlsZSAoIlxuIgorICAgICAgICIgIHhvciAlJXJjeCwgJSVyY3hcbiIKKyAgICAgICAiMTpcbiIKKy0gICAgICAiICBtb3ZxICglMSwlJXJjeCwyKSwgJSVtbTBcbiIKKy0gICAgICAiICBtb3ZxICglMiwlJXJjeCwyKSwgJSVtbTFcbiIKKysgICAgICAiICBtb3ZxICglcTEsJSVyY3gsMiksICUlbW0wXG4iCisrICAgICAgIiAgbW92cSAoJXEyLCUlcmN4LDIpLCAlJW1tMVxuIgorICAgICAgICIgIG1vdnEgJSVtbTAsICUlbW0yXG4iCisgICAgICAgIiAgcHVucGNraHdkICUlbW0xLCAlJW1tMFxuIgorICAgICAgICIgIHB1bnBja2x3ZCAlJW1tMSwgJSVtbTJcbiIKKy0gICAgICAiICBtb3ZxICUlbW0yLCAoJTAsJSVyY3gsNClcbiIKKy0gICAgICAiICBtb3ZxICUlbW0wLCA4KCUwLCUlcmN4LDQpXG4iCisrICAgICAgIiAgbW92cSAlJW1tMiwgKCVxMCwlJXJjeCw0KVxuIgorKyAgICAgICIgIG1vdnEgJSVtbTAsIDgoJXEwLCUlcmN4LDQpXG4iCisgICAgICAgIiAgYWRkICQ0LCAlJXJjeFxuIgorICAgICAgICIgIGNtcCAlMywgJSVlY3hcbiIKKyAgICAgICAiICBqbCAxYlxuIgorQEAgLTI4NSwxMiArMjg1LDEyIEBAIGxpZnRfYWRkX3NoaWZ0MV9tbXggKGludDE2X3QgKmQsIGludDE2X3QKKyAgIGFzbSB2b2xhdGlsZSAoIlxuIgorICAgICAgICIgIHhvciAlJXJjeCwgJSVyY3hcbiIKKyAgICAgICAiMTpcbiIKKy0gICAgICAiICBtb3ZxICglMiwlJXJjeCwyKSwgJSVtbTFcbiIKKy0gICAgICAiICBtb3ZxICglMywlJXJjeCwyKSwgJSVtbTJcbiIKKysgICAgICAiICBtb3ZxICglcTIsJSVyY3gsMiksICUlbW0xXG4iCisrICAgICAgIiAgbW92cSAoJXEzLCUlcmN4LDIpLCAlJW1tMlxuIgorICAgICAgICIgIHBhZGR3ICUlbW0yLCAlJW1tMVxuIgorICAgICAgICIgIHBzcmF3ICQxLCAlJW1tMVxuIgorLSAgICAgICIgIHBhZGR3ICglMSwlJXJjeCwyKSwgJSVtbTFcbiIKKy0gICAgICAiICBtb3ZxICUlbW0xLCAoJTAsJSVyY3gsMilcbiIKKysgICAgICAiICBwYWRkdyAoJXExLCUlcmN4LDIpLCAlJW1tMVxuIgorKyAgICAgICIgIG1vdnEgJSVtbTEsICglcTAsJSVyY3gsMilcbiIKKyAgICAgICAiICBhZGQgJDQsICUlcmN4XG4iCisgICAgICAgIiAgY21wICU0LCAlJWVjeFxuIgorICAgICAgICIgIGpsIDFiXG4iCitAQCAtMzE3LDEzICszMTcsMTMgQEAgbGlmdF9zdWJfc2hpZnQxX21teCAoaW50MTZfdCAqZCwgaW50MTZfdAorICAgYXNtIHZvbGF0aWxlICgiXG4iCisgICAgICAgIiAgeG9yICUlcmN4LCAlJXJjeFxuIgorICAgICAgICIxOlxuIgorLSAgICAgICIgIG1vdnEgKCUyLCUlcmN4LDIpLCAlJW1tMVxuIgorLSAgICAgICIgIG1vdnEgKCUzLCUlcmN4LDIpLCAlJW1tMlxuIgorLSAgICAgICIgIG1vdnEgKCUxLCUlcmN4LDIpLCAlJW1tMFxuIgorKyAgICAgICIgIG1vdnEgKCVxMiwlJXJjeCwyKSwgJSVtbTFcbiIKKysgICAgICAiICBtb3ZxICglcTMsJSVyY3gsMiksICUlbW0yXG4iCisrICAgICAgIiAgbW92cSAoJXExLCUlcmN4LDIpLCAlJW1tMFxuIgorICAgICAgICIgIHBhZGR3ICUlbW0yLCAlJW1tMVxuIgorICAgICAgICIgIHBzcmF3ICQxLCAlJW1tMVxuIgorICAgICAgICIgIHBzdWJ3ICUlbW0xLCAlJW1tMFxuIgorLSAgICAgICIgIG1vdnEgJSVtbTAsICglMCwlJXJjeCwyKVxuIgorKyAgICAgICIgIG1vdnEgJSVtbTAsICglcTAsJSVyY3gsMilcbiIKKyAgICAgICAiICBhZGQgJDQsICUlcmN4XG4iCisgICAgICAgIiAgY21wICU0LCAlJWVjeFxuIgorICAgICAgICIgIGpsIDFiXG4iCitAQCAtMzUwLDEyICszNTAsMTIgQEAgbGlmdF9hZGRfc2hpZnQyX21teCAoaW50MTZfdCAqZCwgaW50MTZfdAorICAgYXNtIHZvbGF0aWxlICgiXG4iCisgICAgICAgIiAgeG9yICUlcmN4LCAlJXJjeFxuIgorICAgICAgICIxOlxuIgorLSAgICAgICIgIG1vdnEgKCUyLCUlcmN4LDIpLCAlJW1tMVxuIgorLSAgICAgICIgIG1vdnEgKCUzLCUlcmN4LDIpLCAlJW1tMlxuIgorKyAgICAgICIgIG1vdnEgKCVxMiwlJXJjeCwyKSwgJSVtbTFcbiIKKysgICAgICAiICBtb3ZxICglcTMsJSVyY3gsMiksICUlbW0yXG4iCisgICAgICAgIiAgcGFkZHcgJSVtbTIsICUlbW0xXG4iCisgICAgICAgIiAgcHNyYXcgJDIsICUlbW0xXG4iCistICAgICAgIiAgcGFkZHcgKCUxLCUlcmN4LDIpLCAlJW1tMVxuIgorLSAgICAgICIgIG1vdnEgJSVtbTEsICglMCwlJXJjeCwyKVxuIgorKyAgICAgICIgIHBhZGR3ICglcTEsJSVyY3gsMiksICUlbW0xXG4iCisrICAgICAgIiAgbW92cSAlJW1tMSwgKCVxMCwlJXJjeCwyKVxuIgorICAgICAgICIgIGFkZCAkNCwgJSVyY3hcbiIKKyAgICAgICAiICBjbXAgJTQsICUlZWN4XG4iCisgICAgICAgIiAgamwgMWJcbiIKK0BAIC0zODIsMTMgKzM4MiwxMyBAQCBsaWZ0X3N1Yl9zaGlmdDJfbW14IChpbnQxNl90ICpkLCBpbnQxNl90CisgICBhc20gdm9sYXRpbGUgKCJcbiIKKyAgICAgICAiICB4b3IgJSVyY3gsICUlcmN4XG4iCisgICAgICAgIjE6XG4iCistICAgICAgIiAgbW92cSAoJTIsJSVyY3gsMiksICUlbW0xXG4iCistICAgICAgIiAgbW92cSAoJTMsJSVyY3gsMiksICUlbW0yXG4iCistICAgICAgIiAgbW92cSAoJTEsJSVyY3gsMiksICUlbW0wXG4iCisrICAgICAgIiAgbW92cSAoJXEyLCUlcmN4LDIpLCAlJW1tMVxuIgorKyAgICAgICIgIG1vdnEgKCVxMywlJXJjeCwyKSwgJSVtbTJcbiIKKysgICAgICAiICBtb3ZxICglcTEsJSVyY3gsMiksICUlbW0wXG4iCisgICAgICAgIiAgcGFkZHcgJSVtbTIsICUlbW0xXG4iCisgICAgICAgIiAgcHNyYXcgJDIsICUlbW0xXG4iCisgICAgICAgIiAgcHN1YncgJSVtbTEsICUlbW0wXG4iCistICAgICAgIiAgbW92cSAlJW1tMCwgKCUwLCUlcmN4LDIpXG4iCisrICAgICAgIiAgbW92cSAlJW1tMCwgKCVxMCwlJXJjeCwyKVxuIgorICAgICAgICIgIGFkZCAkNCwgJSVyY3hcbiIKKyAgICAgICAiICBjbXAgJTQsICUlZWN4XG4iCisgICAgICAgIiAgamwgMWJcbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9uby10ZXN0cy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsLTAuMy4xNy9uby10ZXN0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTJkNDQxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3L25vLXRlc3RzLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZGlzYWJsZSBmZWF0dXJlXQorCistLS0gbGlib2lsLTAuMy45L2xpYm9pbC9saWJvaWxmdW5jdGlvbi5jLm9sZAkyMDA2LTA5LTE4IDEzOjAzOjIwLjAwMDAwMDAwMCArMDEwMAorKysrIGxpYm9pbC0wLjMuOS9saWJvaWwvbGlib2lsZnVuY3Rpb24uYwkyMDA2LTA5LTE4IDEzOjA0OjEwLjAwMDAwMDAwMCArMDEwMAorQEAgLTM0NSw3ICszNDUsOSBAQAorICAgICByZXR1cm47CisgICB9CisgCistICB0ZXN0ID0gb2lsX3Rlc3RfbmV3IChrbGFzcyk7CisrICBrbGFzcy0+Y2hvc2VuX2ltcGwgPSBrbGFzcy0+cmVmZXJlbmNlX2ltcGw7CisrICBrbGFzcy0+ZnVuYyA9IGtsYXNzLT5yZWZlcmVuY2VfaW1wbC0+ZnVuYzsKKysvKiAgdGVzdCA9IG9pbF90ZXN0X25ldyAoa2xhc3MpOworICAgaWYgKHRlc3QgPT0gTlVMTCkgeworICAgICBPSUxfRVJST1IgKCJmYWlsZWQgdG8gdGVzdCBmdW5jdGlvbiBjbGFzcyAlcyIsIGtsYXNzLT5uYW1lKTsKKyAgICAgcmV0dXJuOworQEAgLTM4NSw3ICszODcsNyBAQAorICAga2xhc3MtPmNob3Nlbl9pbXBsID0gbWluX2ltcGw7CisgICBrbGFzcy0+ZnVuYyA9IG1pbl9pbXBsLT5mdW5jOworIAorLSAgb2lsX3Rlc3RfZnJlZSAodGVzdCk7CisrICBvaWxfdGVzdF9mcmVlICh0ZXN0KTsqLworIH0KKyAKKyBzdGF0aWMgdm9pZApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWxfMC4zLjE3LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWxfMC4zLjE3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzYjc3ODUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlib2lsL2xpYm9pbF8wLjMuMTcuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IG9mIHNpbXBsZSBmdW5jdGlvbnMgb3B0aW1pemVkIGZvciB2YXJpb3VzIENQVXMiCitIT01FUEFHRSA9ICJodHRwOi8vbGlib2lsLmZyZWVkZXNrdG9wLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWFkODA3ODBkOWM1MjA1ZDYzNDgxYTAxODRlMTk5YTE1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYm9pbC9saWJvaWwuaDtlbmRsaW5lPTI4O21kNT05NWM3OTRhNjZiODg4MDBkOTQ5ZmVkMTdlNDM3ZDlmYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJvaWwvbGlib2lsY3B1LmM7ZW5kbGluZT0yODttZDU9ODlkYTY5YTYxZDg4ZWVkY2JhMDY2ZjQyMzUzZmI3NWEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZXhhbXBsZXMvZXhhbXBsZTEuYztlbmRsaW5lPTI5O21kNT05ZDRkYWQ5ZmNiYmRmMDQ0MWVlMDYzZjhhZjUxNzBjOSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly90ZXN0c3VpdGUvdHJhbnMuYztlbmRsaW5lPTI5O21kNT0zODBlY2Q0MzEyMWZlM2RjYzBkOGQ3ZTU5ODRmMjgzZCIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKK1BSID0gInI1IgorCitTUkNfVVJJID0gImh0dHA6Ly9saWJvaWwuZnJlZWRlc2t0b3Aub3JnL2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbm8tdGVzdHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LXVuYWxpZ25lZC13aGl0ZWxpc3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtZW5hYmxlLXZmcC1mbGFnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xpYm9pbF9maXhfZm9yX3gzMi5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDdkYzczNGY4MmZhZWIyOTY0ZDk3NzcxY2ZkMmU3MDEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTA1ZjAyMDc5YjBiNTAwMzRjNzU5ZGIzNGI0NzNlY2I1NzA0ZmZhMjBhNTQ4NmI2MGE4Yjc2OTgxMjhiZmM2OSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYnNydHAvbGlic3J0cF8xLjUuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJzcnRwL2xpYnNydHBfMS41LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGVlNjYzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJzcnRwL2xpYnNydHBfMS41LjIuYmIKQEAgLTAsMCArMSwxOCBAQAorREVTQ1JJUFRJT04gPSAibGlicmFyeSBpbXBsZW1lbnRpbmcgU2VjdXJlIFJUUCAoUkZDIDM3MTEpIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Npc2NvL2xpYnNydHAiCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MTViYzE2YjlkMmUzMDU5NzRkZGU0N2U3MzM4ODM3MTQiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Npc2NvL2xpYnNydHAvYXJjaGl2ZS92JHtQVn0udGFyLmd6O2Rvd25sb2FkZmlsZW5hbWU9JHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjIzMDlhYTYwMjc5OTI4MTBhNDI4NWIwNDJjNzFlNjQ0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg2ZTFlZmUzNTMzOTdjMDc1MWY2YmRkNzA5Nzk0MTQzYmQxYjc2NDk0NDEyODYwZjE2ZmYyYjZkOWMzMDRlZGEiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK2RvX2luc3RhbGxbcG9zdGZ1bmNzXSArPSAiIHJtX3VudXNlZF9iaW5kaXIgIgorCitybV91bnVzZWRfYmluZGlyKCkgeworCXJtZGlyICR7RH0vJHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL0NPUFlJTkcuTUlUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiOTUwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9DT1BZSU5HLk1JVApAQCAtMCwwICsxLDE3IEBACitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IAorb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgCitpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIAordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCAKK2NvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyAKK2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIAorYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIAorSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIAorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiAKK0xJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIAorT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiAKK1RIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL01BSU5UQUlORVJTIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvTUFJTlRBSU5FUlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM4OTY3MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL01BSU5UQUlORVJTCkBAIC0wLDAgKzEsMzggQEAKK1RoaXMgZmlsZSBjb250YWlucyBhIGxpc3Qgb2YgbWFpbnRhaW5lcnMgZm9yIHRoZSBtZXRhLW5ldHdvcmtpbmcgbGF5ZXIuCisKK1BsZWFzZSBzdWJtaXQgYW55IHBhdGNoZXMgYWdhaW5zdCBtZXRhLW5ldHdvcmtpbmcgdG8gdGhlIE9wZW5FbWJlZGRlZAorZGV2ZWxvcG1lbnQgbWFpbGluZyBsaXN0IChvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZykgd2l0aAorJ1ttZXRhLW5ldHdvcmtpbmddW2tyb2dvdGhdJyBpbiB0aGUgc3ViamVjdC4KKworV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNlIHNvbWV0aGluZyBsaWtlOgorCisgICBnaXQgc2VuZC1lbWFpbCAtMSAtTSBcCisgICAgICAgIC0tdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgXAorICAgICAgICAtLXN1YmplY3QtcHJlZml4PW1ldGEtbmV0d29ya2luZ11ba3JvZ290aF1bUEFUQ0gKKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKK1lvdSBtYXkgYWxzbyBjb250YWN0IHRoZSBtYWludGFpbmVycyBkaXJlY3RseS4KKworRGVzY3JpcHRpb25zIG9mIHNlY3Rpb24gZW50cmllczoKKworICAgICAgICBNOiBNYWlsIHBhdGNoZXMgdG86IEZ1bGxOYW1lIDxhZGRyZXNzQGRvbWFpbj4KKyAgICAgICAgRjogRmlsZXMgYW5kIGRpcmVjdG9yaWVzIHdpdGggd2lsZGNhcmQgcGF0dGVybnMuCisgICAgICAgICAgIEEgdHJhaWxpbmcgc2xhc2ggaW5jbHVkZXMgYWxsIGZpbGVzIGFuZCBzdWJkaXJlY3RvcnkgZmlsZXMuCisgICAgICAgICAgIEY6IHJlY2lwZXMtZGV2dG9vbHMvICAgIGFsbCBmaWxlcyBpbiBhbmQgYmVsb3cgcmVjaXBlcy1kZXZ0b29scworICAgICAgICAgICBGOiByZWNpcGVzLXNlbGludXgvKiAgICBhbGwgZmlsZXMgaW4gcmVjaXBlcy1zZWxpbnV4LCBidXQgbm90IGJlbG93CisgICAgICAgICAgIE9uZSBwYXR0ZXJuIHBlciBsaW5lLiAgTXVsdGlwbGUgRjogbGluZXMgYWNjZXB0YWJsZS4KKworUGxlYXNlIGtlZXAgdGhpcyBsaXN0IGluIGFscGhhYmV0aWNhbCBvcmRlci4KKworTWFpbnRhaW5lcnMgTGlzdCAodHJ5IHRvIGxvb2sgZm9yIG1vc3QgcHJlY2lzZSBhcmVhcyBmaXJzdCkKKworQ09NTU9OCitNOiAgICAgIEpvZSBNYWNEb25hbGQgPGpvZV9tYWNkb25hbGRAbWVudG9yLmNvbT4KK0Y6ICAgICAgY29uZgorRjogICAgICByZWNpcGVzLSoKKworTkVUS0lUCitNOiAgICAgIEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitGOiAgICAgIHJlY2lwZXMtbmV0a2l0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFiYTI3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL1JFQURNRQpAQCAtMCwwICsxLDQwIEBACittZXRhLW5ldHdvcmtpbmcKKz09PT09PT09PT09PT09PQorCitUaGlzIGxheWVyIGlzIGludGVuZGVkIHRvIGJlIGEgY2VudHJhbCBwb2ludCBmb3IgbmV0d29ya2luZy1yZWxhdGVkCitwYWNrYWdlcyBhbmQgY29uZmlndXJhdGlvbi4gIEl0IHNob3VsZCBiZSB1c2VmdWwgZGlyZWN0bHkgb24gdG9wIG9mCitvZS1jb3JlIGFuZCBjb21wbGltZW50cyBtZXRhLW9wZW5lbWJlZGRlZC4gIEl0IHNob3VsZCBiZSBwcmltYXJpbHkgdXNlZnVsCit0byB0aGUgZm9sbG93aW5nIGdyb3VwczoKKworICAgICAgLSBBbnlvbmUgYnVpbGRpbmcgYSBzbWFsbCBuZXR3b3JraW5nIGRldmljZSAoZWcuIGEgaG9tZSByb3V0ZXIgLworICAgICAgICBicmlkZ2UgLyBzd2l0Y2gpLgorCisgICAgICAtIEFueW9uZSB3YW50aW5nIHRvIGFkZCBuZXR3b3JrIHNlcnZpY2VzIHRvIHRoZWlyIGRldmljZSAoZWcuCisgICAgICAgIGFueXRoaW5nIHRoYXQgbWlnaHQgYmVuZWZpdCBmcm9tIGEgc21hbGwgZnRwL3RmdHAgc2VydmVyKQorCitEZXBlbmRlbmNpZXMKKy0tLS0tLS0tLS0tLQorCitUaGlzIGxheWVyIGRlcGVuZHMgb246CisKK1VSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb3BlbmVtYmVkZGVkLWNvcmUuZ2l0CiticmFuY2g6IG1hc3RlcgorcmV2aXNpb246IEhFQUQKKworRm9yIHNvbWUgcmVjaXBlcywgdGhlIG1ldGEtb2UgbGF5ZXIgaXMgcmVxdWlyZWQ6CisKK1VSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvbWV0YS1vcGVuZW1iZWRkZWQuZ2l0CitzdWJkaXJlY3Rvcnk6IG1ldGEtb2UKK2JyYW5jaDogbWFzdGVyCityZXZpc2lvbjogSEVBRAorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb3BlbmVtYmVkZGVkLmdpdAorc3ViZGlyZWN0b3J5OiBtZXRhLXB5dGhvbgorYnJhbmNoOiBtYXN0ZXIKK3JldmlzaW9uOiBIRUFECisKK01haW50ZW5hbmNlCistLS0tLS0tLS0tLQorCitQbGVhc2Ugc2VlIHRoZSBNQUlOVEFJTkVSUyBmaWxlIGZvciBpbmZvcm1hdGlvbiBvbiBjb250YWN0aW5nIHRoZQorbWFpbnRhaW5lcnMgb2YgdGhpcyBsYXllciwgYXMgd2VsbCBhcyBpbnN0cnVjdGlvbnMgZm9yIHN1Ym1pdHRpbmcgcGF0Y2hlcy4gCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9jbGFzc2VzL3dhZi1zYW1iYS5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvY2xhc3Nlcy93YWYtc2FtYmEuYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWZiY2MzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvY2xhc3Nlcy93YWYtc2FtYmEuYmJjbGFzcwpAQCAtMCwwICsxLDk1IEBACisjIHdhZiBpcyBhIGJ1aWxkIHN5c3RlbSB3aGljaCBpcyB1c2VkIGJ5IHNhbWJhIHJlbGF0ZWQgcHJvamVjdC4KKyMgT2J0YWluIGRldGFpbHMgZnJvbSBodHRwczovL3dpa2kuc2FtYmEub3JnL2luZGV4LnBocC9XYWYKKyMgCitpbmhlcml0IHFlbXUgcHl0aG9ubmF0aXZlCisKK0RFUEVORFMgKz0gInFlbXUtbmF0aXZlIGxpYnhzbHQtbmF0aXZlIGRvY2Jvb2steHNsLXN0eWxlc2hlZXRzLW5hdGl2ZSBweXRob24iCisKK0NPTkZJR1VSRU9QVFMgPSAiIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgICAgICAgICAgICAgICAtLWJpbmRpcj0ke2JpbmRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1zYmluZGlyPSR7c2JpbmRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1saWJleGVjZGlyPSR7bGliZXhlY2Rpcn0gXAorICAgICAgICAgICAgICAgICAgLS1kYXRhZGlyPSR7ZGF0YWRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1zaGFyZWRzdGF0ZWRpcj0ke3NoYXJlZHN0YXRlZGlyfSBcCisgICAgICAgICAgICAgICAgICAtLWxvY2Fsc3RhdGVkaXI9JHtsb2NhbHN0YXRlZGlyfSBcCisgICAgICAgICAgICAgICAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1pbmNsdWRlZGlyPSR7aW5jbHVkZWRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1vbGRpbmNsdWRlZGlyPSR7b2xkaW5jbHVkZWRpcn0gXAorICAgICAgICAgICAgICAgICAgLS1pbmZvZGlyPSR7aW5mb2Rpcn0gXAorICAgICAgICAgICAgICAgICAgLS1tYW5kaXI9JHttYW5kaXJ9IFwKKyAgICAgICAgICAgICAgICAiCisKKyMgVGhyZWUgbWV0aG9kcyBmb3Igd2FmIGNyb3NzIGNvbXBpbGU6CisjIDEuIGFuc3dlcnM6CisjICAgIE9ubHkgLS1jcm9zcy1hbnN3ZXJzIC0gdHJ5IHRoZSBjcm9zcy1hbnN3ZXJzIGZpbGUsIGFuZCBpZgorIyAgICB0aGVyZSdzIG5vIGNvcnJlc3BvbmRpbmcgYW5zd2VyLCBhZGQgdG8gdGhlIGZpbGUgYW5kIG1hcmsKKyMgICAgdGhlIGNvbmZpZ3VyZSBwcm9jZXNzIGFzIHVuZmluaXNoZWQuCisjIDIuIGV4ZWM6CisjICAgIE9ubHkgLS1jcm9zcy1leGVjdXRlIC0gZ2V0IHRoZSBhbnN3ZXIgZnJvbSBjcm9zcy1leGVjdXRlLAorIyAgICBhbiBlbXVsYXRvciAocWVtdSkgaXMgdXNlZCB0byBydW4gY3Jvc3MtY29tcGlsZWQgYmluYXJpZXMuCisjIDMuIGJvdGg6CisjICAgIChub3Rlczogbm90IHN1cHBvcnRlZCBpbiBsb3dlciB2ZXJzaW9uIG9mIHNvbWUgcGFja2FnZXMsCisjICAgICBwbGVhc2UgY2hlY2sgYnVpbGR0b29scy93YWZzYW1iYS9zYW1iYV9jcm9zcy5weSBpbiB0aGUKKyMgICAgIHBhY2thZ2Ugc291cmNlKQorIyAgICBUcnkgdGhlIGNyb3NzLWFuc3dlcnMgZmlsZSBmaXJzdCwgYW5kIGlmIHRoZXJlIGlzIG5vCisjICAgIGNvcnJlc3BvbmRpbmcgYW5zd2VyLCB1c2UgY3Jvc3MtZXhlY3V0ZSB0byBnZXQgYW4gYW5zd2VyLAorIyAgICBhbmQgYWRkIHRoYXQgYW5zd2VyIHRvIHRoZSBmaWxlLgorIworIyBUaGUgZmlyc3Qgb25lIGlzIHByZWZlcnJlZCBzaW5jZSBpdCBtYXkgZmFpbCB3aXRoIDIgb3IgMyBpZgorIyB0aGUgdGFyZ2V0IGJvYXJkIGlzIG5vdCBzdXBvcnRlZCBieSBxZW11LCBidXQgd2UgY2FuIHVzZSAyIG9yIDMKKyMgdG8gaGVscCBnZW5lcmF0ZSB0aGUgY3Jvc3MgYW5zd2VyIHdoZW4gYWRkaW5nIG5ldyBib2FyZCBzdXBwb3J0LgorQ1JPU1NfTUVUSE9EID89ICJhbnN3ZXIiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKworICAgICMgUHJlcGFyZSB0aGUgY3Jvc3MtYW5zd2VycyBmaWxlCisgICAgQ1JPU1NfQU5TV0VSUz0iJHtCfS9jcm9zcy1hbnN3ZXJzLSR7VEFSR0VUX0FSQ0h9LnR4dCIKKyAgICBpZiBbIC1lICR7Q1JPU1NfQU5TV0VSU30gXTsgdGhlbgorICAgICAgICBybSAtZiAke0NST1NTX0FOU1dFUlN9CisgICAgZmkKKyAgICBlY2hvICdDaGVja2luZyB1bmFtZSBtYWNoaW5lIHR5cGU6ICIke1RBUkdFVF9BUkNIfSInID4+ICR7Q1JPU1NfQU5TV0VSU30KKyAgICBlY2hvICdDaGVja2luZyB1bmFtZSByZWxlYXNlIHR5cGU6ICIke09MREVTVF9LRVJORUx9IicgPj4gJHtDUk9TU19BTlNXRVJTfQorICAgIGNhdCAke1dBRl9DUk9TU19BTlNXRVJTX1BBVEh9L2Nyb3NzLWFuc3dlcnMtJHtUQVJHRVRfQVJDSH0udHh0ID4+ICR7Q1JPU1NfQU5TV0VSU30KKworICAgIHFlbXVfYmluYXJ5PSIke0BxZW11X3RhcmdldF9iaW5hcnkoZCl9IgorICAgIGlmIFsgIiR7cWVtdV9iaW5hcnl9IiA9ICJxZW11LWFsbGFyY2giIF07IHRoZW4KKyAgICAgICAgcWVtdV9iaW5hcnk9InFlbXV3cmFwcGVyIgorICAgIGZpCisKKyAgICBsaWJkaXJfcWVtdT0iJHtTVEFHSU5HX0RJUl9IT1NUfS8ke2xpYmRpcn0iCisgICAgYmFzZV9saWJkaXJfcWVtdT0iJHtTVEFHSU5HX0RJUl9IT1NUfS8ke2Jhc2VfbGliZGlyfSIKKworICAgIENST1NTX0VYRUM9IiR7cWVtdV9iaW5hcnl9IFwKKyAgICAgICAgICAgICAgICAke1FFTVVfT1BUSU9OU30gXAorICAgICAgICAgICAgICAgIC1MICR7U1RBR0lOR19ESVJfSE9TVH0gXAorICAgICAgICAgICAgICAgIC1FIExEX0xJQlJBUllfUEFUSD0ke2xpYmRpcl9xZW11fToke2Jhc2VfbGliZGlyX3FlbXV9IgorCisgICAgZXhwb3J0IEJVSUxEX1NZUz0ke0JVSUxEX1NZU30KKyAgICBleHBvcnQgSE9TVF9TWVM9JHtIT1NUX1NZU30KKyAgICBleHBvcnQgQlVJTERfQVJDSD0ke0JVSUxEX0FSQ0h9CisgICAgZXhwb3J0IEhPU1RfQVJDSD0ke0hPU1RfQVJDSH0KKyAgICBleHBvcnQgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0KKyAgICBleHBvcnQgU1RBR0lOR19JTkNESVI9JHtTVEFHSU5HX0lOQ0RJUn0KKyAgICBleHBvcnQgUFlUSE9OUEFUSD0ke1NUQUdJTkdfRElSX0hPU1R9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0KKworICAgIENPTkZJR19DTUQ9Ii4vY29uZmlndXJlICR7Q09ORklHVVJFT1BUU30gJHtFWFRSQV9PRUNPTkZ9IC0tY3Jvc3MtY29tcGlsZSIKKyAgICBpZiBbICIke0NST1NTX01FVEhPRH0iID0gImFuc3dlciIgXTsgdGhlbgorICAgICAgICAke0NPTkZJR19DTUR9IC0tY3Jvc3MtYW5zd2Vycz0iJHtDUk9TU19BTlNXRVJTfSIKKyAgICBlbGlmIFsgIiR7Q1JPU1NfTUVUSE9EfSIgPSAiZXhlYyIgXTsgdGhlbgorICAgICAgICAke0NPTkZJR19DTUR9IC0tY3Jvc3MtZXhlYz0iJHtDUk9TU19FWEVDfSIKKyAgICBlbGlmIFsgIiR7Q1JPU1NfTUVUSE9EfSIgPSAiYm90aCIgXTsgdGhlbgorICAgICAgICAke0NPTkZJR19DTUR9IC0tY3Jvc3MtYW5zd2Vycz0iJHtDUk9TU19BTlNXRVJTfSIgLS1jcm9zcy1leGVjPSIke0NST1NTX0VYRUN9IgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiRVJST1I6ICR7Q1JPU1NfTUVUSE9EfSBpcyBub3QgdmFsaWQgZm9yIGNyb3NzLWNvbXBpbGUhIgorICAgICAgICBleGl0IDEKKyAgICBmaQorfQorCitkb19jb21waWxlICgpIHsKKyAgICBweXRob24gLi9idWlsZHRvb2xzL2Jpbi93YWYgJHtQQVJBTExFTF9NQUtFfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2NvbmYvbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmQ2MzZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMjMgQEAKKyMgV2UgaGF2ZSBhIGNvbmYgYW5kIGNsYXNzZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJQQVRICitCQlBBVEggLj0gIjoke0xBWUVSRElSfSIKKworIyBXZSBoYXZlIGEgcGFja2FnZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJGSUxFUworQkJGSUxFUyArPSAiJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYiBcCisgICAgICAgICAgICAke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgorCitCQkZJTEVfQ09MTEVDVElPTlMgKz0gIm5ldHdvcmtpbmctbGF5ZXIiCitCQkZJTEVfUEFUVEVSTl9uZXR3b3JraW5nLWxheWVyIDo9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX25ldHdvcmtpbmctbGF5ZXIgPSAiNSIKKworIyBUaGlzIHNob3VsZCBvbmx5IGJlIGluY3JlbWVudGVkIG9uIHNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCB3aWxsCisjIGNhdXNlIGNvbXBhdGliaWxpdHkgaXNzdWVzIHdpdGggb3RoZXIgbGF5ZXJzCitMQVlFUlZFUlNJT05fbmV0d29ya2luZy1sYXllciA9ICIxIgorCitMQVlFUkRFUEVORFNfbmV0d29ya2luZy1sYXllciA9ICJjb3JlIgorTEFZRVJERVBFTkRTX25ldHdvcmtpbmctbGF5ZXIgKz0gIm9wZW5lbWJlZGRlZC1sYXllciIKK0xBWUVSREVQRU5EU19uZXR3b3JraW5nLWxheWVyICs9ICJtZXRhLXB5dGhvbiIKKworTElDRU5TRV9QQVRIICs9ICIke0xBWUVSRElSfS9saWNlbnNlcyIKKworIyB1c2VkIGJ5IHdhZi1zYW1iYS5iYmNsYXNzCitXQUZfQ1JPU1NfQU5TV0VSU19QQVRIID0gIiR7TEFZRVJESVJ9L2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvUkVBRE1FIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkYTQ1YzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9SRUFETUUKQEAgLTAsMCArMSwzIEBACitUaGUgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkgYXJlIGNyb3NzIGFuc3dlcnMgZmlsZXMKK3VzZWQgYnkgd2FmLXNhbWJhLmJiY2xhc3MsIHBsZWFzZSBzZWUgd2FmLXNhbWJhLmJiY2xhc3MKK2ZvciBkZXRhaWxzIGFib3V0IGhvdyB0aGV5IGFyZSB1c2VkLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1hYXJjaDY0LnR4dCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtYWFyY2g2NC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmJmN2YxNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtYWFyY2g2NC50eHQKQEAgLTAsMCArMSwzOCBAQAorQ2hlY2tpbmcgdW5hbWUgc3lzbmFtZSB0eXBlOiAiTGludXgiCitDaGVja2luZyB1bmFtZSB2ZXJzaW9uIHR5cGU6ICIjIFdlZCBNYXkgMjAgMTA6MzQ6MzkgVVRDIDIwMTUiCitDaGVja2luZyBzaW1wbGUgQyBwcm9ncmFtOiAiaGVsbG8gd29ybGQiCitycGF0aCBsaWJyYXJ5IHN1cHBvcnQ6IE9LCistV2wsLS12ZXJzaW9uLXNjcmlwdCBzdXBwb3J0OiBPSworQ2hlY2tpbmcgZ2V0Y29uZiBMRlNfQ0ZMQUdTOiBOTworQ2hlY2tpbmcgY29ycmVjdCBiZWhhdmlvciBvZiBzdHJ0b2xsOiBOTworQ2hlY2tpbmcgZm9yIHdvcmtpbmcgc3RycHRpbWU6IE9LCitDaGVja2luZyBmb3IgQzk5IHZzbnByaW50ZjogIjEiCitDaGVja2luZyBmb3IgSEFWRV9TSEFSRURfTU1BUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX01SRU1BUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX1NFQ1VSRV9NS1NURU1QOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfR0VUSUZBRERSUzogTk8KK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0lGQ09ORjogTk8KK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0lGUkVROiBOTworQ2hlY2tpbmcgZm9yIGxhcmdlIGZpbGUgc3VwcG9ydCB3aXRob3V0IGFkZGl0aW9uYWwgZmxhZ3M6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JTkNPSEVSRU5UX01NQVA6IE5PCitDaGVja2luZyB2YWx1ZSBvZiBOU0lHOiAiNjUiCitDaGVja2luZyB2YWx1ZSBvZiBfTlNJRzogIjY1IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNQVg6ICI2NCIKK0NoZWNraW5nIHZhbHVlIG9mIFNJR1JUTUlOOiAiMzQiCitDaGVja2luZyB3aGV0aGVyIHRoZSBXUkZJTEUgLWtleXRhYiBpcyBzdXBwb3J0ZWQ6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIGNoYW5nZSBub3RpZnkgc3VwcG9ydDogT0sKK0NoZWNraW5nIGZvciBMaW51eCBrZXJuZWwgb3Bsb2NrczogT0sKK0NoZWNraW5nIGZvciBrZXJuZWwgc2hhcmUgbW9kZXM6IE9LCitDaGVja2luZyB3aGV0aGVyIFBPU0lYIGNhcGFiaWxpdGllcyBhcmUgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBDUDg1MCB0byBVQ1MtMkxFOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBVVEYtOCB0byBVQ1MtMkxFOiBPSwordmZzX2ZpbGVpZCBjaGVja2luZyBmb3Igc3RhdGZzKCkgYW5kIHN0cnVjdCBzdGF0ZnMuZl9mc2lkOiBPSworQ2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gdXNlIExpbnV4IHRocmVhZC1zcGVjaWZpYyBjcmVkZW50aWFsczogT0sKK0NoZWNraW5nIHdoZXRoZXIgZmNudGwgbG9ja2luZyBpcyBhdmFpbGFibGU6IE9LCitDaGVja2luZyBmb3IgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlICd0aW1lX3QnIHR5cGU6IE9LCitDaGVja2luZyB3aGV0aGVyIHRoZSByZWFscGF0aCBmdW5jdGlvbiBhbGxvd3MgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIGZ0cnVuY2F0ZSBleHRlbmQ6IE9LCitnZXRjd2QgdGFrZXMgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIHNtYWxsIG9mZl90OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyAzMiBiaXQ6IE5PCitDaGVja2luZyB3aGV0aGVyIGJsa2NudF90IGlzIDY0IGJpdDogT0sKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtYXJtLnR4dCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtYXJtLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTI2ZmNkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1hcm0udHh0CkBAIC0wLDAgKzEsMzkgQEAKK0NoZWNraW5nIHVuYW1lIHN5c25hbWUgdHlwZTogIkxpbnV4IgorQ2hlY2tpbmcgdW5hbWUgdmVyc2lvbiB0eXBlOiAiIyBXZWQgTWF5IDIwIDEwOjM0OjM5IFVUQyAyMDE1IgorQ2hlY2tpbmcgc2ltcGxlIEMgcHJvZ3JhbTogImhlbGxvIHdvcmxkIgorcnBhdGggbGlicmFyeSBzdXBwb3J0OiBPSworLVdsLC0tdmVyc2lvbi1zY3JpcHQgc3VwcG9ydDogT0sKK0NoZWNraW5nIGdldGNvbmYgTEZTX0NGTEFHUzogTk8KK0NoZWNraW5nIGNvcnJlY3QgYmVoYXZpb3Igb2Ygc3RydG9sbDogTk8KK0NoZWNraW5nIGZvciB3b3JraW5nIHN0cnB0aW1lOiBPSworQ2hlY2tpbmcgZm9yIEM5OSB2c25wcmludGY6ICIxIgorQ2hlY2tpbmcgZm9yIEhBVkVfU0hBUkVEX01NQVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9NUkVNQVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9TRUNVUkVfTUtTVEVNUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0dFVElGQUREUlM6IE5PCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9JRkNPTkY6IE5PCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9JRlJFUTogTk8KK0NoZWNraW5nIGZvciBsYXJnZSBmaWxlIHN1cHBvcnQgd2l0aG91dCBhZGRpdGlvbmFsIGZsYWdzOiBOTworQ2hlY2tpbmcgZm9yIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQ6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JTkNPSEVSRU5UX01NQVA6IE5PCitDaGVja2luZyB2YWx1ZSBvZiBOU0lHOiAiNjUiCitDaGVja2luZyB2YWx1ZSBvZiBfTlNJRzogIjY1IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNQVg6ICI2NCIKK0NoZWNraW5nIHZhbHVlIG9mIFNJR1JUTUlOOiAiMzQiCitDaGVja2luZyB3aGV0aGVyIHRoZSBXUkZJTEUgLWtleXRhYiBpcyBzdXBwb3J0ZWQ6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIGNoYW5nZSBub3RpZnkgc3VwcG9ydDogT0sKK0NoZWNraW5nIGZvciBMaW51eCBrZXJuZWwgb3Bsb2NrczogT0sKK0NoZWNraW5nIGZvciBrZXJuZWwgc2hhcmUgbW9kZXM6IE9LCitDaGVja2luZyB3aGV0aGVyIFBPU0lYIGNhcGFiaWxpdGllcyBhcmUgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBDUDg1MCB0byBVQ1MtMkxFOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBVVEYtOCB0byBVQ1MtMkxFOiBPSwordmZzX2ZpbGVpZCBjaGVja2luZyBmb3Igc3RhdGZzKCkgYW5kIHN0cnVjdCBzdGF0ZnMuZl9mc2lkOiBPSworQ2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gdXNlIExpbnV4IHRocmVhZC1zcGVjaWZpYyBjcmVkZW50aWFscyB3aXRoIDMyLWJpdCBzeXN0ZW0gY2FsbHM6IE9LCitDaGVja2luZyB3aGV0aGVyIGZjbnRsIGxvY2tpbmcgaXMgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgZm9yIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSAndGltZV90JyB0eXBlOiBOTworQ2hlY2tpbmcgd2hldGhlciB0aGUgcmVhbHBhdGggZnVuY3Rpb24gYWxsb3dzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBmdHJ1bmNhdGUgZXh0ZW5kOiBPSworZ2V0Y3dkIHRha2VzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBzbWFsbCBvZmZfdDogTk8KK0NoZWNraW5nIHdoZXRoZXIgYmxrY250X3QgaXMgMzIgYml0OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyA2NCBiaXQ6IE9LCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLWk1ODYudHh0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1pNTg2LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTI2ZmNkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1pNTg2LnR4dApAQCAtMCwwICsxLDM5IEBACitDaGVja2luZyB1bmFtZSBzeXNuYW1lIHR5cGU6ICJMaW51eCIKK0NoZWNraW5nIHVuYW1lIHZlcnNpb24gdHlwZTogIiMgV2VkIE1heSAyMCAxMDozNDozOSBVVEMgMjAxNSIKK0NoZWNraW5nIHNpbXBsZSBDIHByb2dyYW06ICJoZWxsbyB3b3JsZCIKK3JwYXRoIGxpYnJhcnkgc3VwcG9ydDogT0sKKy1XbCwtLXZlcnNpb24tc2NyaXB0IHN1cHBvcnQ6IE9LCitDaGVja2luZyBnZXRjb25mIExGU19DRkxBR1M6IE5PCitDaGVja2luZyBjb3JyZWN0IGJlaGF2aW9yIG9mIHN0cnRvbGw6IE5PCitDaGVja2luZyBmb3Igd29ya2luZyBzdHJwdGltZTogT0sKK0NoZWNraW5nIGZvciBDOTkgdnNucHJpbnRmOiAiMSIKK0NoZWNraW5nIGZvciBIQVZFX1NIQVJFRF9NTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfTVJFTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfU0VDVVJFX01LU1RFTVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9HRVRJRkFERFJTOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZDT05GOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZSRVE6IE5PCitDaGVja2luZyBmb3IgbGFyZ2UgZmlsZSBzdXBwb3J0IHdpdGhvdXQgYWRkaXRpb25hbCBmbGFnczogTk8KK0NoZWNraW5nIGZvciAtRF9GSUxFX09GRlNFVF9CSVRTPTY0OiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSU5DT0hFUkVOVF9NTUFQOiBOTworQ2hlY2tpbmcgdmFsdWUgb2YgTlNJRzogIjY1IgorQ2hlY2tpbmcgdmFsdWUgb2YgX05TSUc6ICI2NSIKK0NoZWNraW5nIHZhbHVlIG9mIFNJR1JUTUFYOiAiNjQiCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1JTjogIjM0IgorQ2hlY2tpbmcgd2hldGhlciB0aGUgV1JGSUxFIC1rZXl0YWIgaXMgc3VwcG9ydGVkOiBPSworQ2hlY2tpbmcgZm9yIGtlcm5lbCBjaGFuZ2Ugbm90aWZ5IHN1cHBvcnQ6IE9LCitDaGVja2luZyBmb3IgTGludXgga2VybmVsIG9wbG9ja3M6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIHNoYXJlIG1vZGVzOiBPSworQ2hlY2tpbmcgd2hldGhlciBQT1NJWCBjYXBhYmlsaXRpZXMgYXJlIGF2YWlsYWJsZTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gQ1A4NTAgdG8gVUNTLTJMRTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gVVRGLTggdG8gVUNTLTJMRTogT0sKK3Zmc19maWxlaWQgY2hlY2tpbmcgZm9yIHN0YXRmcygpIGFuZCBzdHJ1Y3Qgc3RhdGZzLmZfZnNpZDogT0sKK0NoZWNraW5nIHdoZXRoZXIgd2UgY2FuIHVzZSBMaW51eCB0aHJlYWQtc3BlY2lmaWMgY3JlZGVudGlhbHMgd2l0aCAzMi1iaXQgc3lzdGVtIGNhbGxzOiBPSworQ2hlY2tpbmcgd2hldGhlciBmY250bCBsb2NraW5nIGlzIGF2YWlsYWJsZTogT0sKK0NoZWNraW5nIGZvciB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgJ3RpbWVfdCcgdHlwZTogTk8KK0NoZWNraW5nIHdoZXRoZXIgdGhlIHJlYWxwYXRoIGZ1bmN0aW9uIGFsbG93cyBhIE5VTEwgYXJndW1lbnQ6IE9LCitDaGVja2luZyBmb3IgZnRydW5jYXRlIGV4dGVuZDogT0sKK2dldGN3ZCB0YWtlcyBhIE5VTEwgYXJndW1lbnQ6IE9LCitDaGVja2luZyBmb3Igc21hbGwgb2ZmX3Q6IE5PCitDaGVja2luZyB3aGV0aGVyIGJsa2NudF90IGlzIDMyIGJpdDogTk8KK0NoZWNraW5nIHdoZXRoZXIgYmxrY250X3QgaXMgNjQgYml0OiBPSwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1pNjg2LnR4dCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtaTY4Ni50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkyNmZjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtaTY4Ni50eHQKQEAgLTAsMCArMSwzOSBAQAorQ2hlY2tpbmcgdW5hbWUgc3lzbmFtZSB0eXBlOiAiTGludXgiCitDaGVja2luZyB1bmFtZSB2ZXJzaW9uIHR5cGU6ICIjIFdlZCBNYXkgMjAgMTA6MzQ6MzkgVVRDIDIwMTUiCitDaGVja2luZyBzaW1wbGUgQyBwcm9ncmFtOiAiaGVsbG8gd29ybGQiCitycGF0aCBsaWJyYXJ5IHN1cHBvcnQ6IE9LCistV2wsLS12ZXJzaW9uLXNjcmlwdCBzdXBwb3J0OiBPSworQ2hlY2tpbmcgZ2V0Y29uZiBMRlNfQ0ZMQUdTOiBOTworQ2hlY2tpbmcgY29ycmVjdCBiZWhhdmlvciBvZiBzdHJ0b2xsOiBOTworQ2hlY2tpbmcgZm9yIHdvcmtpbmcgc3RycHRpbWU6IE9LCitDaGVja2luZyBmb3IgQzk5IHZzbnByaW50ZjogIjEiCitDaGVja2luZyBmb3IgSEFWRV9TSEFSRURfTU1BUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX01SRU1BUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX1NFQ1VSRV9NS1NURU1QOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfR0VUSUZBRERSUzogTk8KK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0lGQ09ORjogTk8KK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0lGUkVROiBOTworQ2hlY2tpbmcgZm9yIGxhcmdlIGZpbGUgc3VwcG9ydCB3aXRob3V0IGFkZGl0aW9uYWwgZmxhZ3M6IE5PCitDaGVja2luZyBmb3IgLURfRklMRV9PRkZTRVRfQklUUz02NDogT0sKK0NoZWNraW5nIGZvciBIQVZFX0lOQ09IRVJFTlRfTU1BUDogTk8KK0NoZWNraW5nIHZhbHVlIG9mIE5TSUc6ICI2NSIKK0NoZWNraW5nIHZhbHVlIG9mIF9OU0lHOiAiNjUiCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1BWDogIjY0IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNSU46ICIzNCIKK0NoZWNraW5nIHdoZXRoZXIgdGhlIFdSRklMRSAta2V5dGFiIGlzIHN1cHBvcnRlZDogT0sKK0NoZWNraW5nIGZvciBrZXJuZWwgY2hhbmdlIG5vdGlmeSBzdXBwb3J0OiBPSworQ2hlY2tpbmcgZm9yIExpbnV4IGtlcm5lbCBvcGxvY2tzOiBPSworQ2hlY2tpbmcgZm9yIGtlcm5lbCBzaGFyZSBtb2RlczogT0sKK0NoZWNraW5nIHdoZXRoZXIgUE9TSVggY2FwYWJpbGl0aWVzIGFyZSBhdmFpbGFibGU6IE9LCitDaGVja2luZyBpZiBjYW4gd2UgY29udmVydCBmcm9tIENQODUwIHRvIFVDUy0yTEU6IE9LCitDaGVja2luZyBpZiBjYW4gd2UgY29udmVydCBmcm9tIFVURi04IHRvIFVDUy0yTEU6IE9LCit2ZnNfZmlsZWlkIGNoZWNraW5nIGZvciBzdGF0ZnMoKSBhbmQgc3RydWN0IHN0YXRmcy5mX2ZzaWQ6IE9LCitDaGVja2luZyB3aGV0aGVyIHdlIGNhbiB1c2UgTGludXggdGhyZWFkLXNwZWNpZmljIGNyZWRlbnRpYWxzIHdpdGggMzItYml0IHN5c3RlbSBjYWxsczogT0sKK0NoZWNraW5nIHdoZXRoZXIgZmNudGwgbG9ja2luZyBpcyBhdmFpbGFibGU6IE9LCitDaGVja2luZyBmb3IgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlICd0aW1lX3QnIHR5cGU6IE5PCitDaGVja2luZyB3aGV0aGVyIHRoZSByZWFscGF0aCBmdW5jdGlvbiBhbGxvd3MgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIGZ0cnVuY2F0ZSBleHRlbmQ6IE9LCitnZXRjd2QgdGFrZXMgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIHNtYWxsIG9mZl90OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyAzMiBiaXQ6IE5PCitDaGVja2luZyB3aGV0aGVyIGJsa2NudF90IGlzIDY0IGJpdDogT0sKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtbWlwcy50eHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLW1pcHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4YmZhMDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLW1pcHMudHh0CkBAIC0wLDAgKzEsMzkgQEAKK0NoZWNraW5nIHVuYW1lIHN5c25hbWUgdHlwZTogIkxpbnV4IgorQ2hlY2tpbmcgdW5hbWUgdmVyc2lvbiB0eXBlOiAiIyBXZWQgTWF5IDIwIDEwOjM0OjM5IFVUQyAyMDE1IgorQ2hlY2tpbmcgc2ltcGxlIEMgcHJvZ3JhbTogImhlbGxvIHdvcmxkIgorcnBhdGggbGlicmFyeSBzdXBwb3J0OiBPSworLVdsLC0tdmVyc2lvbi1zY3JpcHQgc3VwcG9ydDogT0sKK0NoZWNraW5nIGdldGNvbmYgTEZTX0NGTEFHUzogTk8KK0NoZWNraW5nIGNvcnJlY3QgYmVoYXZpb3Igb2Ygc3RydG9sbDogTk8KK0NoZWNraW5nIGZvciB3b3JraW5nIHN0cnB0aW1lOiBPSworQ2hlY2tpbmcgZm9yIEM5OSB2c25wcmludGY6ICIxIgorQ2hlY2tpbmcgZm9yIEhBVkVfU0hBUkVEX01NQVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9NUkVNQVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9TRUNVUkVfTUtTVEVNUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0dFVElGQUREUlM6IE5PCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9JRkNPTkY6IE5PCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9JRlJFUTogTk8KK0NoZWNraW5nIGZvciBsYXJnZSBmaWxlIHN1cHBvcnQgd2l0aG91dCBhZGRpdGlvbmFsIGZsYWdzOiBOTworQ2hlY2tpbmcgZm9yIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQ6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JTkNPSEVSRU5UX01NQVA6IE5PCitDaGVja2luZyB2YWx1ZSBvZiBOU0lHOiAiMTI4IgorQ2hlY2tpbmcgdmFsdWUgb2YgX05TSUc6ICIxMjgiCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1BWDogIjEyNyIKK0NoZWNraW5nIHZhbHVlIG9mIFNJR1JUTUlOOiAiMzQiCitDaGVja2luZyB3aGV0aGVyIHRoZSBXUkZJTEUgLWtleXRhYiBpcyBzdXBwb3J0ZWQ6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIGNoYW5nZSBub3RpZnkgc3VwcG9ydDogT0sKK0NoZWNraW5nIGZvciBMaW51eCBrZXJuZWwgb3Bsb2NrczogT0sKK0NoZWNraW5nIGZvciBrZXJuZWwgc2hhcmUgbW9kZXM6IE9LCitDaGVja2luZyB3aGV0aGVyIFBPU0lYIGNhcGFiaWxpdGllcyBhcmUgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBDUDg1MCB0byBVQ1MtMkxFOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBVVEYtOCB0byBVQ1MtMkxFOiBPSwordmZzX2ZpbGVpZCBjaGVja2luZyBmb3Igc3RhdGZzKCkgYW5kIHN0cnVjdCBzdGF0ZnMuZl9mc2lkOiBPSworQ2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gdXNlIExpbnV4IHRocmVhZC1zcGVjaWZpYyBjcmVkZW50aWFsczogT0sKK0NoZWNraW5nIHdoZXRoZXIgZmNudGwgbG9ja2luZyBpcyBhdmFpbGFibGU6IE9LCitDaGVja2luZyBmb3IgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlICd0aW1lX3QnIHR5cGU6IE5PCitDaGVja2luZyB3aGV0aGVyIHRoZSByZWFscGF0aCBmdW5jdGlvbiBhbGxvd3MgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIGZ0cnVuY2F0ZSBleHRlbmQ6IE9LCitnZXRjd2QgdGFrZXMgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIHNtYWxsIG9mZl90OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyAzMiBiaXQ6IE5PCitDaGVja2luZyB3aGV0aGVyIGJsa2NudF90IGlzIDY0IGJpdDogT0sKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtbWlwczY0LnR4dCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtbWlwczY0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmEwMTVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1taXBzNjQudHh0CkBAIC0wLDAgKzEsMzggQEAKK0NoZWNraW5nIHVuYW1lIHN5c25hbWUgdHlwZTogIkxpbnV4IgorQ2hlY2tpbmcgdW5hbWUgdmVyc2lvbiB0eXBlOiAiIyBXZWQgTWF5IDIwIDEwOjM0OjM5IFVUQyAyMDE1IgorQ2hlY2tpbmcgc2ltcGxlIEMgcHJvZ3JhbTogImhlbGxvIHdvcmxkIgorcnBhdGggbGlicmFyeSBzdXBwb3J0OiBPSworLVdsLC0tdmVyc2lvbi1zY3JpcHQgc3VwcG9ydDogT0sKK0NoZWNraW5nIGdldGNvbmYgTEZTX0NGTEFHUzogTk8KK0NoZWNraW5nIGNvcnJlY3QgYmVoYXZpb3Igb2Ygc3RydG9sbDogTk8KK0NoZWNraW5nIGZvciB3b3JraW5nIHN0cnB0aW1lOiBPSworQ2hlY2tpbmcgZm9yIEM5OSB2c25wcmludGY6ICIxIgorQ2hlY2tpbmcgZm9yIEhBVkVfU0hBUkVEX01NQVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9NUkVNQVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9TRUNVUkVfTUtTVEVNUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0dFVElGQUREUlM6IE5PCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9JRkNPTkY6IE5PCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9JRlJFUTogTk8KK0NoZWNraW5nIGZvciBsYXJnZSBmaWxlIHN1cHBvcnQgd2l0aG91dCBhZGRpdGlvbmFsIGZsYWdzOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSU5DT0hFUkVOVF9NTUFQOiBPSworQ2hlY2tpbmcgdmFsdWUgb2YgTlNJRzogIjEyOCIKK0NoZWNraW5nIHZhbHVlIG9mIF9OU0lHOiAiMTI4IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNQVg6ICIxMjciCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1JTjogIjM0IgorQ2hlY2tpbmcgd2hldGhlciB0aGUgV1JGSUxFIC1rZXl0YWIgaXMgc3VwcG9ydGVkOiBPSworQ2hlY2tpbmcgZm9yIGtlcm5lbCBjaGFuZ2Ugbm90aWZ5IHN1cHBvcnQ6IE9LCitDaGVja2luZyBmb3IgTGludXgga2VybmVsIG9wbG9ja3M6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIHNoYXJlIG1vZGVzOiBPSworQ2hlY2tpbmcgd2hldGhlciBQT1NJWCBjYXBhYmlsaXRpZXMgYXJlIGF2YWlsYWJsZTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gQ1A4NTAgdG8gVUNTLTJMRTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gVVRGLTggdG8gVUNTLTJMRTogT0sKK3Zmc19maWxlaWQgY2hlY2tpbmcgZm9yIHN0YXRmcygpIGFuZCBzdHJ1Y3Qgc3RhdGZzLmZfZnNpZDogT0sKK0NoZWNraW5nIHdoZXRoZXIgd2UgY2FuIHVzZSBMaW51eCB0aHJlYWQtc3BlY2lmaWMgY3JlZGVudGlhbHM6IE9LCitDaGVja2luZyB3aGV0aGVyIGZjbnRsIGxvY2tpbmcgaXMgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgZm9yIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSAndGltZV90JyB0eXBlOiBPSworQ2hlY2tpbmcgd2hldGhlciB0aGUgcmVhbHBhdGggZnVuY3Rpb24gYWxsb3dzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBmdHJ1bmNhdGUgZXh0ZW5kOiBPSworZ2V0Y3dkIHRha2VzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBzbWFsbCBvZmZfdDogTk8KK0NoZWNraW5nIHdoZXRoZXIgYmxrY250X3QgaXMgMzIgYml0OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyA2NCBiaXQ6IE9LCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLW1pcHNlbC50eHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLW1pcHNlbC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMThiZmEwMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtbWlwc2VsLnR4dApAQCAtMCwwICsxLDM5IEBACitDaGVja2luZyB1bmFtZSBzeXNuYW1lIHR5cGU6ICJMaW51eCIKK0NoZWNraW5nIHVuYW1lIHZlcnNpb24gdHlwZTogIiMgV2VkIE1heSAyMCAxMDozNDozOSBVVEMgMjAxNSIKK0NoZWNraW5nIHNpbXBsZSBDIHByb2dyYW06ICJoZWxsbyB3b3JsZCIKK3JwYXRoIGxpYnJhcnkgc3VwcG9ydDogT0sKKy1XbCwtLXZlcnNpb24tc2NyaXB0IHN1cHBvcnQ6IE9LCitDaGVja2luZyBnZXRjb25mIExGU19DRkxBR1M6IE5PCitDaGVja2luZyBjb3JyZWN0IGJlaGF2aW9yIG9mIHN0cnRvbGw6IE5PCitDaGVja2luZyBmb3Igd29ya2luZyBzdHJwdGltZTogT0sKK0NoZWNraW5nIGZvciBDOTkgdnNucHJpbnRmOiAiMSIKK0NoZWNraW5nIGZvciBIQVZFX1NIQVJFRF9NTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfTVJFTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfU0VDVVJFX01LU1RFTVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9HRVRJRkFERFJTOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZDT05GOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZSRVE6IE5PCitDaGVja2luZyBmb3IgbGFyZ2UgZmlsZSBzdXBwb3J0IHdpdGhvdXQgYWRkaXRpb25hbCBmbGFnczogTk8KK0NoZWNraW5nIGZvciAtRF9GSUxFX09GRlNFVF9CSVRTPTY0OiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSU5DT0hFUkVOVF9NTUFQOiBOTworQ2hlY2tpbmcgdmFsdWUgb2YgTlNJRzogIjEyOCIKK0NoZWNraW5nIHZhbHVlIG9mIF9OU0lHOiAiMTI4IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNQVg6ICIxMjciCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1JTjogIjM0IgorQ2hlY2tpbmcgd2hldGhlciB0aGUgV1JGSUxFIC1rZXl0YWIgaXMgc3VwcG9ydGVkOiBPSworQ2hlY2tpbmcgZm9yIGtlcm5lbCBjaGFuZ2Ugbm90aWZ5IHN1cHBvcnQ6IE9LCitDaGVja2luZyBmb3IgTGludXgga2VybmVsIG9wbG9ja3M6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIHNoYXJlIG1vZGVzOiBPSworQ2hlY2tpbmcgd2hldGhlciBQT1NJWCBjYXBhYmlsaXRpZXMgYXJlIGF2YWlsYWJsZTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gQ1A4NTAgdG8gVUNTLTJMRTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gVVRGLTggdG8gVUNTLTJMRTogT0sKK3Zmc19maWxlaWQgY2hlY2tpbmcgZm9yIHN0YXRmcygpIGFuZCBzdHJ1Y3Qgc3RhdGZzLmZfZnNpZDogT0sKK0NoZWNraW5nIHdoZXRoZXIgd2UgY2FuIHVzZSBMaW51eCB0aHJlYWQtc3BlY2lmaWMgY3JlZGVudGlhbHM6IE9LCitDaGVja2luZyB3aGV0aGVyIGZjbnRsIGxvY2tpbmcgaXMgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgZm9yIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSAndGltZV90JyB0eXBlOiBOTworQ2hlY2tpbmcgd2hldGhlciB0aGUgcmVhbHBhdGggZnVuY3Rpb24gYWxsb3dzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBmdHJ1bmNhdGUgZXh0ZW5kOiBPSworZ2V0Y3dkIHRha2VzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBzbWFsbCBvZmZfdDogTk8KK0NoZWNraW5nIHdoZXRoZXIgYmxrY250X3QgaXMgMzIgYml0OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyA2NCBiaXQ6IE9LCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLXBvd2VycGMudHh0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1wb3dlcnBjLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjkzYjU2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy1wb3dlcnBjLnR4dApAQCAtMCwwICsxLDM5IEBACitDaGVja2luZyB1bmFtZSBzeXNuYW1lIHR5cGU6ICJMaW51eCIKK0NoZWNraW5nIHVuYW1lIHZlcnNpb24gdHlwZTogIiMgV2VkIE1heSAyMCAxMDozNDozOSBVVEMgMjAxNSIKK0NoZWNraW5nIHNpbXBsZSBDIHByb2dyYW06ICJoZWxsbyB3b3JsZCIKK3JwYXRoIGxpYnJhcnkgc3VwcG9ydDogT0sKKy1XbCwtLXZlcnNpb24tc2NyaXB0IHN1cHBvcnQ6IE9LCitDaGVja2luZyBnZXRjb25mIExGU19DRkxBR1M6IE5PCitDaGVja2luZyBjb3JyZWN0IGJlaGF2aW9yIG9mIHN0cnRvbGw6IE5PCitDaGVja2luZyBmb3Igd29ya2luZyBzdHJwdGltZTogT0sKK0NoZWNraW5nIGZvciBDOTkgdnNucHJpbnRmOiAiMSIKK0NoZWNraW5nIGZvciBIQVZFX1NIQVJFRF9NTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfTVJFTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfU0VDVVJFX01LU1RFTVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9HRVRJRkFERFJTOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZDT05GOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZSRVE6IE5PCitDaGVja2luZyBmb3IgbGFyZ2UgZmlsZSBzdXBwb3J0IHdpdGhvdXQgYWRkaXRpb25hbCBmbGFnczogTk8KK0NoZWNraW5nIGZvciAtRF9GSUxFX09GRlNFVF9CSVRTPTY0OiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSU5DT0hFUkVOVF9NTUFQOiBOTworQ2hlY2tpbmcgdmFsdWUgb2YgTlNJRzogIjY1IgorQ2hlY2tpbmcgdmFsdWUgb2YgX05TSUc6ICI2NSIKK0NoZWNraW5nIHZhbHVlIG9mIFNJR1JUTUFYOiAiNjQiCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1JTjogIjM0IgorQ2hlY2tpbmcgd2hldGhlciB0aGUgV1JGSUxFIC1rZXl0YWIgaXMgc3VwcG9ydGVkOiBPSworQ2hlY2tpbmcgZm9yIGtlcm5lbCBjaGFuZ2Ugbm90aWZ5IHN1cHBvcnQ6IE9LCitDaGVja2luZyBmb3IgTGludXgga2VybmVsIG9wbG9ja3M6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIHNoYXJlIG1vZGVzOiBPSworQ2hlY2tpbmcgd2hldGhlciBQT1NJWCBjYXBhYmlsaXRpZXMgYXJlIGF2YWlsYWJsZTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gQ1A4NTAgdG8gVUNTLTJMRTogT0sKK0NoZWNraW5nIGlmIGNhbiB3ZSBjb252ZXJ0IGZyb20gVVRGLTggdG8gVUNTLTJMRTogT0sKK3Zmc19maWxlaWQgY2hlY2tpbmcgZm9yIHN0YXRmcygpIGFuZCBzdHJ1Y3Qgc3RhdGZzLmZfZnNpZDogT0sKK0NoZWNraW5nIHdoZXRoZXIgd2UgY2FuIHVzZSBMaW51eCB0aHJlYWQtc3BlY2lmaWMgY3JlZGVudGlhbHM6IE9LCitDaGVja2luZyB3aGV0aGVyIGZjbnRsIGxvY2tpbmcgaXMgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgZm9yIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSAndGltZV90JyB0eXBlOiBOTworQ2hlY2tpbmcgd2hldGhlciB0aGUgcmVhbHBhdGggZnVuY3Rpb24gYWxsb3dzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBmdHJ1bmNhdGUgZXh0ZW5kOiBPSworZ2V0Y3dkIHRha2VzIGEgTlVMTCBhcmd1bWVudDogT0sKK0NoZWNraW5nIGZvciBzbWFsbCBvZmZfdDogTk8KK0NoZWNraW5nIHdoZXRoZXIgYmxrY250X3QgaXMgMzIgYml0OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyA2NCBiaXQ6IE9LCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLXBvd2VycGM2NC50eHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLXBvd2VycGM2NC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ1ODVmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2ZpbGVzL3dhZi1jcm9zcy1hbnN3ZXJzL2Nyb3NzLWFuc3dlcnMtcG93ZXJwYzY0LnR4dApAQCAtMCwwICsxLDM5IEBACitDaGVja2luZyB1bmFtZSBzeXNuYW1lIHR5cGU6ICJMaW51eCIKK0NoZWNraW5nIHVuYW1lIHZlcnNpb24gdHlwZTogIiMgV2VkIE1heSAyMCAxMDozNDozOSBVVEMgMjAxNSIKK0NoZWNraW5nIHNpbXBsZSBDIHByb2dyYW06ICJoZWxsbyB3b3JsZCIKK3JwYXRoIGxpYnJhcnkgc3VwcG9ydDogT0sKKy1XbCwtLXZlcnNpb24tc2NyaXB0IHN1cHBvcnQ6IE9LCitDaGVja2luZyBnZXRjb25mIExGU19DRkxBR1M6IE5PCitDaGVja2luZyBjb3JyZWN0IGJlaGF2aW9yIG9mIHN0cnRvbGw6IE5PCitDaGVja2luZyBmb3Igd29ya2luZyBzdHJwdGltZTogT0sKK0NoZWNraW5nIGZvciBDOTkgdnNucHJpbnRmOiAiMSIKK0NoZWNraW5nIGZvciBIQVZFX1NIQVJFRF9NTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfTVJFTUFQOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfU0VDVVJFX01LU1RFTVA6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JRkFDRV9HRVRJRkFERFJTOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZDT05GOiBOTworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfSUZSRVE6IE5PCitDaGVja2luZyBmb3IgbGFyZ2UgZmlsZSBzdXBwb3J0IHdpdGhvdXQgYWRkaXRpb25hbCBmbGFnczogT0sKK0NoZWNraW5nIGZvciBIQVZFX0lOQ09IRVJFTlRfTU1BUDogTk8KK0NoZWNraW5nIHZhbHVlIG9mIE5TSUc6ICI2NSIKK0NoZWNraW5nIHZhbHVlIG9mIF9OU0lHOiAiNjUiCitDaGVja2luZyB2YWx1ZSBvZiBTSUdSVE1BWDogIjY0IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNSU46ICIzNCIKK0NoZWNraW5nIHdoZXRoZXIgdGhlIFdSRklMRSAta2V5dGFiIGlzIHN1cHBvcnRlZDogT0sKK0NoZWNraW5nIGZvciBrZXJuZWwgY2hhbmdlIG5vdGlmeSBzdXBwb3J0OiBPSworQ2hlY2tpbmcgZm9yIExpbnV4IGtlcm5lbCBvcGxvY2tzOiBPSworQ2hlY2tpbmcgZm9yIGtlcm5lbCBzaGFyZSBtb2RlczogT0sKK0NoZWNraW5nIHdoZXRoZXIgUE9TSVggY2FwYWJpbGl0aWVzIGFyZSBhdmFpbGFibGU6IE9LCitDaGVja2luZyBpZiBjYW4gd2UgY29udmVydCBmcm9tIENQODUwIHRvIFVDUy0yTEU6ICgyNTUsICIiKQorQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBJQk04NTAgdG8gVUNTLTJMRTogKDI1NSwgIiIpCitDaGVja2luZyBpZiBjYW4gd2UgY29udmVydCBmcm9tIFVURi04IHRvIFVDUy0yTEU6IE9LCit2ZnNfZmlsZWlkIGNoZWNraW5nIGZvciBzdGF0ZnMoKSBhbmQgc3RydWN0IHN0YXRmcy5mX2ZzaWQ6IE9LCitDaGVja2luZyB3aGV0aGVyIHdlIGNhbiB1c2UgTGludXggdGhyZWFkLXNwZWNpZmljIGNyZWRlbnRpYWxzOiBPSworQ2hlY2tpbmcgd2hldGhlciBmY250bCBsb2NraW5nIGlzIGF2YWlsYWJsZTogT0sKK0NoZWNraW5nIGZvciB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgJ3RpbWVfdCcgdHlwZTogT0sKK0NoZWNraW5nIHdoZXRoZXIgdGhlIHJlYWxwYXRoIGZ1bmN0aW9uIGFsbG93cyBhIE5VTEwgYXJndW1lbnQ6IE9LCitDaGVja2luZyBmb3IgZnRydW5jYXRlIGV4dGVuZDogT0sKK2dldGN3ZCB0YWtlcyBhIE5VTEwgYXJndW1lbnQ6IE9LCitDaGVja2luZyBmb3Igc21hbGwgb2ZmX3Q6IE5PCitDaGVja2luZyB3aGV0aGVyIGJsa2NudF90IGlzIDMyIGJpdDogTk8KK0NoZWNraW5nIHdoZXRoZXIgYmxrY250X3QgaXMgNjQgYml0OiBPSwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy14ODZfNjQudHh0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvZmlsZXMvd2FmLWNyb3NzLWFuc3dlcnMvY3Jvc3MtYW5zd2Vycy14ODZfNjQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiZjdmMTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9maWxlcy93YWYtY3Jvc3MtYW5zd2Vycy9jcm9zcy1hbnN3ZXJzLXg4Nl82NC50eHQKQEAgLTAsMCArMSwzOCBAQAorQ2hlY2tpbmcgdW5hbWUgc3lzbmFtZSB0eXBlOiAiTGludXgiCitDaGVja2luZyB1bmFtZSB2ZXJzaW9uIHR5cGU6ICIjIFdlZCBNYXkgMjAgMTA6MzQ6MzkgVVRDIDIwMTUiCitDaGVja2luZyBzaW1wbGUgQyBwcm9ncmFtOiAiaGVsbG8gd29ybGQiCitycGF0aCBsaWJyYXJ5IHN1cHBvcnQ6IE9LCistV2wsLS12ZXJzaW9uLXNjcmlwdCBzdXBwb3J0OiBPSworQ2hlY2tpbmcgZ2V0Y29uZiBMRlNfQ0ZMQUdTOiBOTworQ2hlY2tpbmcgY29ycmVjdCBiZWhhdmlvciBvZiBzdHJ0b2xsOiBOTworQ2hlY2tpbmcgZm9yIHdvcmtpbmcgc3RycHRpbWU6IE9LCitDaGVja2luZyBmb3IgQzk5IHZzbnByaW50ZjogIjEiCitDaGVja2luZyBmb3IgSEFWRV9TSEFSRURfTU1BUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX01SRU1BUDogT0sKK0NoZWNraW5nIGZvciBIQVZFX1NFQ1VSRV9NS1NURU1QOiBPSworQ2hlY2tpbmcgZm9yIEhBVkVfSUZBQ0VfR0VUSUZBRERSUzogTk8KK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0lGQ09ORjogTk8KK0NoZWNraW5nIGZvciBIQVZFX0lGQUNFX0lGUkVROiBOTworQ2hlY2tpbmcgZm9yIGxhcmdlIGZpbGUgc3VwcG9ydCB3aXRob3V0IGFkZGl0aW9uYWwgZmxhZ3M6IE9LCitDaGVja2luZyBmb3IgSEFWRV9JTkNPSEVSRU5UX01NQVA6IE5PCitDaGVja2luZyB2YWx1ZSBvZiBOU0lHOiAiNjUiCitDaGVja2luZyB2YWx1ZSBvZiBfTlNJRzogIjY1IgorQ2hlY2tpbmcgdmFsdWUgb2YgU0lHUlRNQVg6ICI2NCIKK0NoZWNraW5nIHZhbHVlIG9mIFNJR1JUTUlOOiAiMzQiCitDaGVja2luZyB3aGV0aGVyIHRoZSBXUkZJTEUgLWtleXRhYiBpcyBzdXBwb3J0ZWQ6IE9LCitDaGVja2luZyBmb3Iga2VybmVsIGNoYW5nZSBub3RpZnkgc3VwcG9ydDogT0sKK0NoZWNraW5nIGZvciBMaW51eCBrZXJuZWwgb3Bsb2NrczogT0sKK0NoZWNraW5nIGZvciBrZXJuZWwgc2hhcmUgbW9kZXM6IE9LCitDaGVja2luZyB3aGV0aGVyIFBPU0lYIGNhcGFiaWxpdGllcyBhcmUgYXZhaWxhYmxlOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBDUDg1MCB0byBVQ1MtMkxFOiBPSworQ2hlY2tpbmcgaWYgY2FuIHdlIGNvbnZlcnQgZnJvbSBVVEYtOCB0byBVQ1MtMkxFOiBPSwordmZzX2ZpbGVpZCBjaGVja2luZyBmb3Igc3RhdGZzKCkgYW5kIHN0cnVjdCBzdGF0ZnMuZl9mc2lkOiBPSworQ2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gdXNlIExpbnV4IHRocmVhZC1zcGVjaWZpYyBjcmVkZW50aWFsczogT0sKK0NoZWNraW5nIHdoZXRoZXIgZmNudGwgbG9ja2luZyBpcyBhdmFpbGFibGU6IE9LCitDaGVja2luZyBmb3IgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlICd0aW1lX3QnIHR5cGU6IE9LCitDaGVja2luZyB3aGV0aGVyIHRoZSByZWFscGF0aCBmdW5jdGlvbiBhbGxvd3MgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIGZ0cnVuY2F0ZSBleHRlbmQ6IE9LCitnZXRjd2QgdGFrZXMgYSBOVUxMIGFyZ3VtZW50OiBPSworQ2hlY2tpbmcgZm9yIHNtYWxsIG9mZl90OiBOTworQ2hlY2tpbmcgd2hldGhlciBibGtjbnRfdCBpcyAzMiBiaXQ6IE5PCitDaGVja2luZyB3aGV0aGVyIGJsa2NudF90IGlzIDY0IGJpdDogT0sKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2xpY2Vuc2VzL0RNVEYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9saWNlbnNlcy9ETVRGCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0YTI4MTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9saWNlbnNlcy9ETVRGCkBAIC0wLDAgKzEsMzQgQEAKKy8vIENvcHlyaWdodCAxOTk4LTIwMDggRGlzdHJpYnV0ZWQgTWFuYWdlbWVudCBUYXNrIEZvcmNlLCBJbmMuIChETVRGKS4KKy8vIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBETVRGIGlzIGEgbm90LWZvci1wcm9maXQgYXNzb2NpYXRpb24gb2YgaW5kdXN0cnkgbWVtYmVycyBkZWRpY2F0ZWQKKy8vIHRvIHByb21vdGluZyBlbnRlcnByaXNlIGFuZCBzeXN0ZW1zIG1hbmFnZW1lbnQgYW5kIGludGVyb3BlcmFiaWxpdHkuCisvLyBETVRGIHNwZWNpZmljYXRpb25zIGFuZCBkb2N1bWVudHMgbWF5IGJlIHJlcHJvZHVjZWQgYnkKKy8vIG1lbWJlcnMgYW5kIG5vbi1tZW1iZXJzLCBwcm92aWRlZCB0aGF0IGNvcnJlY3QgYXR0cmlidXRpb24gaXMgZ2l2ZW4uCisvLyBBcyBETVRGIHNwZWNpZmljYXRpb25zIG1heSBiZSByZXZpc2VkIGZyb20gdGltZSB0byB0aW1lLAorLy8gdGhlIHBhcnRpY3VsYXIgdmVyc2lvbiBhbmQgcmVsZWFzZSBkYXRlIHNob3VsZCBhbHdheXMgYmUgbm90ZWQuCisvLyAKKy8vIEltcGxlbWVudGF0aW9uIG9mIGNlcnRhaW4gZWxlbWVudHMgb2YgdGhpcyBzdGFuZGFyZCBvciBwcm9wb3NlZAorLy8gc3RhbmRhcmQgbWF5IGJlIHN1YmplY3QgdG8gdGhpcmQgcGFydHkgcGF0ZW50IHJpZ2h0cywgaW5jbHVkaW5nCisvLyBwcm92aXNpb25hbCBwYXRlbnQgcmlnaHRzIChoZXJlaW4gInBhdGVudCByaWdodHMiKS4gRE1URiBtYWtlcworLy8gbm8gcmVwcmVzZW50YXRpb25zIHRvIHVzZXJzIG9mIHRoZSBzdGFuZGFyZCBhcyB0byB0aGUgZXhpc3RlbmNlCisvLyBvZiBzdWNoIHJpZ2h0cywgYW5kIGlzIG5vdCByZXNwb25zaWJsZSB0byByZWNvZ25pemUsIGRpc2Nsb3NlLCBvcgorLy8gaWRlbnRpZnkgYW55IG9yIGFsbCBzdWNoIHRoaXJkIHBhcnR5IHBhdGVudCByaWdodCwgb3duZXJzIG9yCisvLyBjbGFpbWFudHMsIG5vciBmb3IgYW55IGluY29tcGxldGUgb3IgaW5hY2N1cmF0ZSBpZGVudGlmaWNhdGlvbiBvcgorLy8gZGlzY2xvc3VyZSBvZiBzdWNoIHJpZ2h0cywgb3duZXJzIG9yIGNsYWltYW50cy4gRE1URiBzaGFsbCBoYXZlIG5vCisvLyBsaWFiaWxpdHkgdG8gYW55IHBhcnR5LCBpbiBhbnkgbWFubmVyIG9yIGNpcmN1bXN0YW5jZSwgdW5kZXIgYW55CisvLyBsZWdhbCB0aGVvcnkgd2hhdHNvZXZlciwgZm9yIGZhaWx1cmUgdG8gcmVjb2duaXplLCBkaXNjbG9zZSwgb3IKKy8vIGlkZW50aWZ5IGFueSBzdWNoIHRoaXJkIHBhcnR5IHBhdGVudCByaWdodHMsIG9yIGZvciBzdWNoIHBhcnR5J3MKKy8vIHJlbGlhbmNlIG9uIHRoZSBzdGFuZGFyZCBvciBpbmNvcnBvcmF0aW9uIHRoZXJlb2YgaW4gaXRzIHByb2R1Y3QsCisvLyBwcm90b2NvbHMgb3IgdGVzdGluZyBwcm9jZWR1cmVzLiBETVRGIHNoYWxsIGhhdmUgbm8gbGlhYmlsaXR5IHRvCisvLyBhbnkgcGFydHkgaW1wbGVtZW50aW5nIHN1Y2ggc3RhbmRhcmQsIHdoZXRoZXIgc3VjaCBpbXBsZW1lbnRhdGlvbgorLy8gaXMgZm9yZXNlZWFibGUgb3Igbm90LCBub3IgdG8gYW55IHBhdGVudCBvd25lciBvciBjbGFpbWFudCwgYW5kIHNoYWxsCisvLyBoYXZlIG5vIGxpYWJpbGl0eSBvciByZXNwb25zaWJpbGl0eSBmb3IgY29zdHMgb3IgbG9zc2VzIGluY3VycmVkIGlmCisvLyBhIHN0YW5kYXJkIGlzIHdpdGhkcmF3biBvciBtb2RpZmllZCBhZnRlciBwdWJsaWNhdGlvbiwgYW5kIHNoYWxsIGJlCisvLyBpbmRlbW5pZmllZCBhbmQgaGVsZCBoYXJtbGVzcyBieSBhbnkgcGFydHkgaW1wbGVtZW50aW5nIHRoZQorLy8gc3RhbmRhcmQgZnJvbSBhbnkgYW5kIGFsbCBjbGFpbXMgb2YgaW5mcmluZ2VtZW50IGJ5IGEgcGF0ZW50IG93bmVyCisvLyBmb3Igc3VjaCBpbXBsZW1lbnRhdGlvbnMuCisvLyAKKy8vIEZvciBpbmZvcm1hdGlvbiBhYm91dCBwYXRlbnRzIGhlbGQgYnkgdGhpcmQtcGFydGllcyB3aGljaCBoYXZlCisvLyBub3RpZmllZCB0aGUgRE1URiB0aGF0LCBpbiB0aGVpciBvcGluaW9uLCBzdWNoIHBhdGVudCBtYXkgcmVsYXRlIHRvCisvLyBvciBpbXBhY3QgaW1wbGVtZW50YXRpb25zIG9mIERNVEYgc3RhbmRhcmRzLCB2aXNpdAorLy8gaHR0cDovL3d3dy5kbXRmLm9yZy9hYm91dC9wb2xpY2llcy9kaXNjbG9zdXJlcy5waHAuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9saWNlbnNlcy9jb3B5bGVmdC1uZXh0LTAuMy4wIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvbGljZW5zZXMvY29weWxlZnQtbmV4dC0wLjMuMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjZkNWJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvbGljZW5zZXMvY29weWxlZnQtbmV4dC0wLjMuMApAQCAtMCwwICsxLDIxOSBAQAorICAgICAgICAgICAgICAgICAgIGNvcHlsZWZ0LW5leHQgMC4zLjAgKCJ0aGlzIExpY2Vuc2UiKQorICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgZGF0ZTogMjAxMy0wNS0xNgorCisxLiBMaWNlbnNlIEdyYW50czsgTm8gVHJhZGVtYXJrIExpY2Vuc2UKKworICAgU3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLCBJIGdyYW50IFlvdToKKworICAgYSkgQSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHBlcnBldHVhbCwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZQorICAgICAgY29weXJpZ2h0IGxpY2Vuc2UsIHRvIHJlcHJvZHVjZSwgRGlzdHJpYnV0ZSwgcHJlcGFyZSBkZXJpdmF0aXZlIHdvcmtzCisgICAgICBvZiwgcHVibGljbHkgcGVyZm9ybSBhbmQgcHVibGljbHkgZGlzcGxheSBNeSBXb3JrLgorCisgICBiKSBBIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSwgcGVycGV0dWFsLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCisgICAgICBwYXRlbnQgbGljZW5zZSB1bmRlciBMaWNlbnNlZCBQYXRlbnRzIHRvIG1ha2UsIGhhdmUgbWFkZSwgdXNlLCBzZWxsLAorICAgICAgb2ZmZXIgZm9yIHNhbGUsIGFuZCBpbXBvcnQgQ292ZXJlZCBXb3Jrcy4KKworICAgVGhpcyBMaWNlbnNlIGRvZXMgbm90IGdyYW50IGFueSByaWdodHMgaW4gTXkgbmFtZSwgdHJhZGVtYXJrcywgc2VydmljZQorICAgbWFya3MsIG9yIGxvZ29zLgorCisyLiBEaXN0cmlidXRpb246IEdlbmVyYWwgQ29uZGl0aW9ucworCisgICBZb3UgbWF5IERpc3RyaWJ1dGUgQ292ZXJlZCBXb3JrcywgcHJvdmlkZWQgdGhhdCBZb3UgKGkpIGluZm9ybQorICAgcmVjaXBpZW50cyBob3cgdGhleSBjYW4gb2J0YWluIGEgY29weSBvZiB0aGlzIExpY2Vuc2U7IChpaSkgc2F0aXNmeSB0aGUKKyAgIGFwcGxpY2FibGUgY29uZGl0aW9ucyBvZiBzZWN0aW9ucyAzIHRocm91Z2ggNjsgYW5kIChpaWkpIHByZXNlcnZlIGFsbAorICAgTGVnYWwgTm90aWNlcyBjb250YWluZWQgaW4gTXkgV29yayAodG8gdGhlIGV4dGVudCB0aGV5IHJlbWFpbgorICAgcGVydGluZW50KS4gIkxlZ2FsIE5vdGljZXMiIG1lYW5zIGNvcHlyaWdodCBub3RpY2VzLCBsaWNlbnNlIG5vdGljZXMsCisgICBsaWNlbnNlIHRleHRzLCBhbmQgYXV0aG9yIGF0dHJpYnV0aW9ucywgYnV0IGRvZXMgbm90IGluY2x1ZGUgbG9nb3MsCisgICBvdGhlciBncmFwaGljYWwgaW1hZ2VzLCB0cmFkZW1hcmtzIG9yIHRyYWRlbWFyayBsZWdlbmRzLgorCiszLiBDb25kaXRpb25zIGZvciBEaXN0cmlidXRpbmcgRGVyaXZlZCBXb3JrczsgT3V0Ym91bmQgR1BMIENvbXBhdGliaWxpdHkKKworICAgSWYgWW91IERpc3RyaWJ1dGUgYSBEZXJpdmVkIFdvcmssIFlvdSBtdXN0IGxpY2Vuc2UgdGhlIGVudGlyZSBEZXJpdmVkCisgICBXb3JrIGFzIGEgd2hvbGUgdW5kZXIgdGhpcyBMaWNlbnNlLCB3aXRoIHByb21pbmVudCBub3RpY2Ugb2Ygc3VjaAorICAgbGljZW5zaW5nLiBUaGlzIGNvbmRpdGlvbiBtYXkgbm90IGJlIGF2b2lkZWQgdGhyb3VnaCBzdWNoIG1lYW5zIGFzCisgICBzZXBhcmF0ZSBEaXN0cmlidXRpb24gb2YgcG9ydGlvbnMgb2YgdGhlIERlcml2ZWQgV29yay4gWW91IG1heQorICAgYWRkaXRpb25hbGx5IGxpY2Vuc2UgdGhlIERlcml2ZWQgV29yayB1bmRlciB0aGUgR1BMLCBzbyB0aGF0IHRoZQorICAgcmVjaXBpZW50IG1heSBmdXJ0aGVyIERpc3RyaWJ1dGUgdGhlIERlcml2ZWQgV29yayB1bmRlciBlaXRoZXIgdGhpcworICAgTGljZW5zZSBvciB0aGUgR1BMLgorCis0LiBDb25kaXRpb24gQWdhaW5zdCBGdXJ0aGVyIFJlc3RyaWN0aW9uczsgSW5ib3VuZCBMaWNlbnNlIENvbXBhdGliaWxpdHkKKworICAgV2hlbiBEaXN0cmlidXRpbmcgYSBDb3ZlcmVkIFdvcmssIFlvdSBtYXkgbm90IGltcG9zZSBmdXJ0aGVyCisgICByZXN0cmljdGlvbnMgb24gdGhlIGV4ZXJjaXNlIG9mIHJpZ2h0cyBpbiB0aGUgQ292ZXJlZCBXb3JrIGdyYW50ZWQgdW5kZXIKKyAgIHRoaXMgTGljZW5zZS4gVGhpcyBjb25kaXRpb24gaXMgbm90IGV4Y3VzZWQgbWVyZWx5IGJlY2F1c2Ugc3VjaAorICAgcmVzdHJpY3Rpb25zIHJlc3VsdCBmcm9tIFlvdXIgY29tcGxpYW5jZSB3aXRoIGNvbmRpdGlvbnMgb3Igb2JsaWdhdGlvbnMKKyAgIGV4dHJpbnNpYyB0byB0aGlzIExpY2Vuc2UgKHN1Y2ggYXMgYSBjb3VydCBvcmRlciBvciBhbiBhZ3JlZW1lbnQgd2l0aCBhCisgICB0aGlyZCBwYXJ0eSkuCisKKyAgIEhvd2V2ZXIsIFlvdSBtYXkgRGlzdHJpYnV0ZSBhIENvdmVyZWQgV29yayBpbmNvcnBvcmF0aW5nIG1hdGVyaWFsCisgICBnb3Zlcm5lZCBieSBhIGxpY2Vuc2UgdGhhdCBpcyBib3RoIE9TSS1BcHByb3ZlZCBhbmQgRlNGLUZyZWUgYXMgb2YgdGhlCisgICByZWxlYXNlIGRhdGUgb2YgdGhpcyBMaWNlbnNlLCBwcm92aWRlZCB0aGF0IFlvdXIgRGlzdHJpYnV0aW9uIGNvbXBsaWVzCisgICB3aXRoIHN1Y2ggb3RoZXIgbGljZW5zZS4KKworNS4gQ29uZGl0aW9ucyBmb3IgRGlzdHJpYnV0aW5nIE9iamVjdCBDb2RlCisKKyAgIFlvdSBtYXkgRGlzdHJpYnV0ZSBhbiBPYmplY3QgQ29kZSBmb3JtIG9mIGEgQ292ZXJlZCBXb3JrLCBwcm92aWRlZCB0aGF0CisgICB5b3UgYWNjb21wYW55IHRoZSBPYmplY3QgQ29kZSB3aXRoIGEgVVJMIHRocm91Z2ggd2hpY2ggdGhlIENvcnJlc3BvbmRpbmcKKyAgIFNvdXJjZSBpcyBtYWRlIGF2YWlsYWJsZSwgYXQgbm8gY2hhcmdlLCBieSBzb21lIHN0YW5kYXJkIG9yIGN1c3RvbWFyeQorICAgbWVhbnMgb2YgcHJvdmlkaW5nIG5ldHdvcmsgYWNjZXNzIHRvIHNvdXJjZSBjb2RlLgorCisgICBJZiB5b3UgRGlzdHJpYnV0ZSB0aGUgT2JqZWN0IENvZGUgaW4gYSBwaHlzaWNhbCBwcm9kdWN0IG9yIHRhbmdpYmxlCisgICBzdG9yYWdlIG1lZGl1bSAoIlByb2R1Y3QiKSwgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIG11c3QgYmUgYXZhaWxhYmxlCisgICB0aHJvdWdoIHN1Y2ggVVJMIGZvciB0d28geWVhcnMgZnJvbSB0aGUgZGF0ZSBvZiBZb3VyIG1vc3QgcmVjZW50CisgICBEaXN0cmlidXRpb24gb2YgdGhlIE9iamVjdCBDb2RlIGluIHRoZSBQcm9kdWN0LiBIb3dldmVyLCBpZiB0aGUgUHJvZHVjdAorICAgaXRzZWxmIGNvbnRhaW5zIG9yIGlzIGFjY29tcGFuaWVkIGJ5IHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSAobWFkZQorICAgYXZhaWxhYmxlIGluIGEgY3VzdG9tYXJpbHkgYWNjZXNzaWJsZSBtYW5uZXIpLCBZb3UgbmVlZCBub3QgYWxzbyBjb21wbHkKKyAgIHdpdGggdGhlIGZpcnN0IHBhcmFncmFwaCBvZiB0aGlzIHNlY3Rpb24uCisKKyAgIEVhY2ggcmVjaXBpZW50IG9mIHRoZSBDb3ZlcmVkIFdvcmsgZnJvbSBZb3UgaXMgYW4gaW50ZW5kZWQgdGhpcmQtcGFydHkKKyAgIGJlbmVmaWNpYXJ5IG9mIHRoaXMgTGljZW5zZSBzb2xlbHkgYXMgdG8gdGhpcyBzZWN0aW9uIDUsIHdpdGggdGhlIHJpZ2h0CisgICB0byBlbmZvcmNlIGl0cyB0ZXJtcy4KKworNi4gU3ltbWV0cmljYWwgTGljZW5zaW5nIENvbmRpdGlvbiBmb3IgVXBzdHJlYW0gQ29udHJpYnV0aW9ucworCisgICBJZiBZb3UgRGlzdHJpYnV0ZSBhIHdvcmsgdG8gTWUgc3BlY2lmaWNhbGx5IGZvciBpbmNsdXNpb24gaW4gb3IKKyAgIG1vZGlmaWNhdGlvbiBvZiBhIENvdmVyZWQgV29yayAoYSAiUGF0Y2giKSwgYW5kIG5vIGV4cGxpY2l0IGxpY2Vuc2luZworICAgdGVybXMgYXBwbHkgdG8gdGhlIFBhdGNoLCBZb3UgbGljZW5zZSB0aGUgUGF0Y2ggdW5kZXIgdGhpcyBMaWNlbnNlLCB0bworICAgdGhlIGV4dGVudCBvZiBZb3VyIGNvcHlyaWdodCBpbiB0aGUgUGF0Y2guIFRoaXMgY29uZGl0aW9uIGRvZXMgbm90CisgICBuZWdhdGUgdGhlIG90aGVyIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCBpZiBhcHBsaWNhYmxlIHRvIHRoZSBQYXRjaC4KKworNy4gTnVsbGlmaWNhdGlvbiBvZiBDb3B5bGVmdC9Qcm9wcmlldGFyeSBEdWFsIExpY2Vuc2luZworCisgICBJZiBJIG9mZmVyIHRvIGxpY2Vuc2UsIGZvciBhIGZlZSwgYSBDb3ZlcmVkIFdvcmsgdW5kZXIgdGVybXMgb3RoZXIgdGhhbgorICAgYSBsaWNlbnNlIHRoYXQgaXMgT1NJLUFwcHJvdmVkIG9yIEZTRi1GcmVlIGFzIG9mIHRoZSByZWxlYXNlIGRhdGUgb2YgdGhpcworICAgTGljZW5zZSBvciBhIG51bWJlcmVkIHZlcnNpb24gb2YgY29weWxlZnQtbmV4dCByZWxlYXNlZCBieSB0aGUKKyAgIENvcHlsZWZ0LU5leHQgUHJvamVjdCwgdGhlbiB0aGUgbGljZW5zZSBJIGdyYW50IFlvdSB1bmRlciBzZWN0aW9uIDEgaXMgbm8KKyAgIGxvbmdlciBzdWJqZWN0IHRvIHRoZSBjb25kaXRpb25zIGluIHNlY3Rpb25zIDIgdGhyb3VnaCA1LgorCis4LiBDb3B5bGVmdCBTdW5zZXQKKworICAgVGhlIGNvbmRpdGlvbnMgaW4gc2VjdGlvbnMgMiB0aHJvdWdoIDUgbm8gbG9uZ2VyIGFwcGx5IG9uY2UgZmlmdGVlbgorICAgeWVhcnMgaGF2ZSBlbGFwc2VkIGZyb20gdGhlIGRhdGUgb2YgTXkgZmlyc3QgRGlzdHJpYnV0aW9uIG9mIE15IFdvcmsKKyAgIHVuZGVyIHRoaXMgTGljZW5zZS4KKworOS4gUGFzcy1UaHJvdWdoCisKKyAgIFdoZW4gWW91IERpc3RyaWJ1dGUgYSBDb3ZlcmVkIFdvcmssIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcworICAgYSBsaWNlbnNlIHRvIE15IFdvcmsgZnJvbSBNZSwgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgorCisxMC4gVGVybWluYXRpb24KKworICAgIFlvdXIgbGljZW5zZSBncmFudHMgdW5kZXIgc2VjdGlvbiAxIGFyZSBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZWQgaWYgWW91CisKKyAgICBhKSBmYWlsIHRvIGNvbXBseSB3aXRoIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdW5sZXNzIFlvdSBjdXJlCisgICAgICAgc3VjaCBub25jb21wbGlhbmNlIHdpdGhpbiB0aGlydHkgZGF5cyBhZnRlciBiZWNvbWluZyBhd2FyZSBvZiBpdCwgb3IKKworICAgIGIpIGluaXRpYXRlIGEgcGF0ZW50IGluZnJpbmdlbWVudCBsaXRpZ2F0aW9uIGNsYWltIChleGNsdWRpbmcKKyAgICAgICBkZWNsYXJhdG9yeSBqdWRnbWVudCBhY3Rpb25zLCBjb3VudGVyY2xhaW1zLCBhbmQgY3Jvc3MtY2xhaW1zKQorICAgICAgIGFsbGVnaW5nIHRoYXQgYW55IHBhcnQgb2YgTXkgV29yayBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGluZnJpbmdlcworICAgICAgIGFueSBwYXRlbnQuCisKKyAgICBUZXJtaW5hdGlvbiBvZiBZb3VyIGxpY2Vuc2UgZ3JhbnRzIGV4dGVuZHMgdG8gYWxsIGNvcGllcyBvZiBDb3ZlcmVkCisgICAgV29ya3MgWW91IHN1YnNlcXVlbnRseSBvYnRhaW4uIFRlcm1pbmF0aW9uIGRvZXMgbm90IHRlcm1pbmF0ZSB0aGUKKyAgICByaWdodHMgb2YgdGhvc2Ugd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIFlvdSBzdWJqZWN0IHRvCisgICAgdGhpcyBMaWNlbnNlLgorCisgICAgVG8gdGhlIGV4dGVudCBwZXJtaXNzaW9uIHRvIG1ha2UgY29waWVzIG9mIGEgQ292ZXJlZCBXb3JrIGlzIG5lY2Vzc2FyeQorICAgIG1lcmVseSBmb3IgcnVubmluZyBpdCwgc3VjaCBwZXJtaXNzaW9uIGlzIG5vdCB0ZXJtaW5hYmxlLgorCisxMS4gTGF0ZXIgTGljZW5zZSBWZXJzaW9ucworCisgICAgVGhlIENvcHlsZWZ0LU5leHQgUHJvamVjdCBtYXkgcmVsZWFzZSBuZXcgdmVyc2lvbnMgb2YgY29weWxlZnQtbmV4dCwKKyAgICBkZXNpZ25hdGVkIGJ5IGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIgKCJMYXRlciBWZXJzaW9ucyIpLgorICAgIFVubGVzcyBJIGV4cGxpY2l0bHkgcmVtb3ZlIHRoZSBvcHRpb24gb2YgRGlzdHJpYnV0aW5nIENvdmVyZWQgV29ya3MKKyAgICB1bmRlciBMYXRlciBWZXJzaW9ucywgWW91IG1heSBEaXN0cmlidXRlIENvdmVyZWQgV29ya3MgdW5kZXIgYW55IExhdGVyCisgICAgVmVyc2lvbi4KKworKiogMTIuIE5vIFdhcnJhbnR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqCisqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKioKKyoqICAgICBNeSBXb3JrIGlzIHByb3ZpZGVkICJhcy1pcyIsIHdpdGhvdXQgd2FycmFudHkuIFlvdSBiZWFyIHRoZSByaXNrICAqKgorKiogICAgIG9mIHVzaW5nIGl0LiBUbyB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBhcHBsaWNhYmxlIGxhdywgZWFjaCAgICAgICoqCisqKiAgICAgRGlzdHJpYnV0b3Igb2YgTXkgV29yayBleGNsdWRlcyB0aGUgaW1wbGllZCB3YXJyYW50aWVzIG9mIHRpdGxlLCAgKioKKyoqICAgICBtZXJjaGFudGFiaWxpdHksIGZpdG5lc3MgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlIGFuZCAgICAgICAgICAgICAqKgorKiogICAgIG5vbi1pbmZyaW5nZW1lbnQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqCisKKyoqIDEzLiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKgorKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqCisqKiAgICAgVG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcsIGluIG5vIGV2ZW50IHdpbGwgYW55ICAgKioKKyoqICAgICBEaXN0cmlidXRvciBvZiBNeSBXb3JrIGJlIGxpYWJsZSB0byBZb3UgZm9yIGFueSBkYW1hZ2VzICAgICAgICAgICAqKgorKiogICAgIHdoYXRzb2V2ZXIsIHdoZXRoZXIgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwgaW5jaWRlbnRhbCwgb3IgICAgICoqCisqKiAgICAgY29uc2VxdWVudGlhbCBkYW1hZ2VzLCB3aGV0aGVyIGFyaXNpbmcgdW5kZXIgY29udHJhY3QsIHRvcnQgICAgICAgKioKKyoqICAgICAoaW5jbHVkaW5nIG5lZ2xpZ2VuY2UpLCBvciBvdGhlcndpc2UsIGV2ZW4gd2hlcmUgdGhlIERpc3RyaWJ1dG9yICAqKgorKiogICAgIGtuZXcgb3Igc2hvdWxkIGhhdmUga25vd24gYWJvdXQgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4gICoqCisKKzE0LiBTZXZlcmFiaWxpdHkKKworICAgIFRoZSBpbnZhbGlkaXR5IG9yIHVuZW5mb3JjZWFiaWxpdHkgb2YgYW55IHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UKKyAgICBkb2VzIG5vdCBhZmZlY3QgdGhlIHZhbGlkaXR5IG9yIGVuZm9yY2VhYmlsaXR5IG9mIHRoZSByZW1haW5kZXIgb2YKKyAgICB0aGlzIExpY2Vuc2UuIFN1Y2ggcHJvdmlzaW9uIGlzIHRvIGJlIHJlZm9ybWVkIHRvIHRoZSBtaW5pbXVtIGV4dGVudAorICAgIG5lY2Vzc2FyeSB0byBtYWtlIGl0IHZhbGlkIGFuZCBlbmZvcmNlYWJsZS4KKworMTUuIERlZmluaXRpb25zCisKKyAgICAiQ29weWxlZnQtTmV4dCBQcm9qZWN0IiBtZWFucyB0aGUgcHJvamVjdCB0aGF0IG1haW50YWlucyB0aGUgc291cmNlCisgICAgY29kZSByZXBvc2l0b3J5IGF0IDxodHRwczovL2dpdG9yaW91cy5vcmcvY29weWxlZnQtbmV4dC8+IGFzIG9mIHRoZQorICAgIHJlbGVhc2UgZGF0ZSBvZiB0aGlzIExpY2Vuc2UuCisKKyAgICAiQ29ycmVzcG9uZGluZyBTb3VyY2UiIG9mIGEgQ292ZXJlZCBXb3JrIGluIE9iamVjdCBDb2RlIGZvcm0gbWVhbnMgKGkpCisgICAgdGhlIFNvdXJjZSBDb2RlIGZvcm0gb2YgdGhlIENvdmVyZWQgV29yazsgKGlpKSBhbGwgc2NyaXB0cywKKyAgICBpbnN0cnVjdGlvbnMgYW5kIHNpbWlsYXIgaW5mb3JtYXRpb24gdGhhdCBhcmUgcmVhc29uYWJseSBuZWNlc3NhcnkgZm9yCisgICAgYSBza2lsbGVkIGRldmVsb3BlciB0byBnZW5lcmF0ZSBzdWNoIE9iamVjdCBDb2RlIGZyb20gdGhlIFNvdXJjZSBDb2RlCisgICAgcHJvdmlkZWQgdW5kZXIgKGkpOyBhbmQgKGlpaSkgYSBsaXN0IGNsZWFybHkgaWRlbnRpZnlpbmcgYWxsIFNlcGFyYXRlCisgICAgV29ya3MgKG90aGVyIHRoYW4gdGhvc2UgcHJvdmlkZWQgaW4gY29tcGxpYW5jZSB3aXRoIChpaSkpIHRoYXQgd2VyZQorICAgIHNwZWNpZmljYWxseSB1c2VkIGluIGJ1aWxkaW5nIGFuZCAoaWYgYXBwbGljYWJsZSkgaW5zdGFsbGluZyB0aGUKKyAgICBDb3ZlcmVkIFdvcmsgKGZvciBleGFtcGxlLCBhIHNwZWNpZmllZCBwcm9wcmlldGFyeSBjb21waWxlciBpbmNsdWRpbmcKKyAgICBpdHMgdmVyc2lvbiBudW1iZXIpLiBDb3JyZXNwb25kaW5nIFNvdXJjZSBtdXN0IGJlIG1hY2hpbmUtcmVhZGFibGUuCisKKyAgICAiQ292ZXJlZCBXb3JrIiBtZWFucyBNeSBXb3JrIG9yIGEgRGVyaXZlZCBXb3JrLgorCisgICAgIkRlcml2ZWQgV29yayIgbWVhbnMgYSB3b3JrIG9mIGF1dGhvcnNoaXAgdGhhdCBjb3BpZXMgZnJvbSwgbW9kaWZpZXMsCisgICAgYWRhcHRzLCBpcyBiYXNlZCBvbiwgaXMgYSBkZXJpdmF0aXZlIHdvcmsgb2YsIHRyYW5zZm9ybXMsIHRyYW5zbGF0ZXMgb3IKKyAgICBjb250YWlucyBhbGwgb3IgcGFydCBvZiBNeSBXb3JrLCBzdWNoIHRoYXQgY29weXJpZ2h0IHBlcm1pc3Npb24gaXMKKyAgICByZXF1aXJlZC4gVGhlIGZvbGxvd2luZyBhcmUgbm90IERlcml2ZWQgV29ya3M6IChpKSBNZXJlIEFnZ3JlZ2F0aW9uOworICAgIChpaSkgYSBtZXJlIHJlcHJvZHVjdGlvbiBvZiBNeSBXb3JrOyBhbmQgKGlpaSkgaWYgTXkgV29yayBmYWlscyB0bworICAgIGV4cGxpY2l0bHkgc3RhdGUgYW4gZXhwZWN0YXRpb24gb3RoZXJ3aXNlLCBhIHdvcmsgdGhhdCBtZXJlbHkgbWFrZXMKKyAgICByZWZlcmVuY2UgdG8gTXkgV29yay4KKworICAgICJEaXN0cmlidXRlIiBtZWFucyB0byBkaXN0cmlidXRlLCB0cmFuc2ZlciBvciBtYWtlIGEgY29weSBhdmFpbGFibGUgdG8KKyAgICBzb21lb25lIGVsc2UsIHN1Y2ggdGhhdCBjb3B5cmlnaHQgcGVybWlzc2lvbiBpcyByZXF1aXJlZC4KKworICAgICJEaXN0cmlidXRvciIgbWVhbnMgTWUgYW5kIGFueW9uZSBlbHNlIHdobyBEaXN0cmlidXRlcyBhIENvdmVyZWQgV29yay4KKworICAgICJGU0YtRnJlZSIgbWVhbnMgY2xhc3NpZmllZCBhcyAnZnJlZScgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKworICAgICJHUEwiIG1lYW5zIGEgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ugb3IgdGhlIEdOVQorICAgIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorCisgICAgIkkiLyJNZSIvIk15IiByZWZlcnMgdG8gdGhlIGluZGl2aWR1YWwgb3IgbGVnYWwgZW50aXR5IHRoYXQgcGxhY2VzIE15CisgICAgV29yayB1bmRlciB0aGlzIExpY2Vuc2UuICJZb3UiLyJZb3VyIiByZWZlcnMgdG8gdGhlIGluZGl2aWR1YWwgb3IgbGVnYWwKKyAgICBlbnRpdHkgZXhlcmNpc2luZyByaWdodHMgaW4gTXkgV29yayB1bmRlciB0aGlzIExpY2Vuc2UuIEEgbGVnYWwgZW50aXR5CisgICAgaW5jbHVkZXMgZWFjaCBlbnRpdHkgdGhhdCBjb250cm9scywgaXMgY29udHJvbGxlZCBieSwgb3IgaXMgdW5kZXIKKyAgICBjb21tb24gY29udHJvbCB3aXRoIHN1Y2ggbGVnYWwgZW50aXR5LiAiQ29udHJvbCIgbWVhbnMgKGEpIHRoZSBwb3dlciB0bworICAgIGRpcmVjdCB0aGUgYWN0aW9ucyBvZiBzdWNoIGxlZ2FsIGVudGl0eSwgd2hldGhlciBieSBjb250cmFjdCBvcgorICAgIG90aGVyd2lzZSwgb3IgKGIpIG93bmVyc2hpcCBvZiBtb3JlIHRoYW4gZmlmdHkgcGVyY2VudCBvZiB0aGUKKyAgICBvdXRzdGFuZGluZyBzaGFyZXMgb3IgYmVuZWZpY2lhbCBvd25lcnNoaXAgb2Ygc3VjaCBsZWdhbCBlbnRpdHkuCisKKyAgICAiTGljZW5zZWQgUGF0ZW50cyIgbWVhbnMgYWxsIHBhdGVudCBjbGFpbXMgbGljZW5zYWJsZSByb3lhbHR5LWZyZWUgYnkKKyAgICBNZSwgbm93IG9yIGluIHRoZSBmdXR1cmUsIHRoYXQgYXJlIG5lY2Vzc2FyaWx5IGluZnJpbmdlZCBieSBtYWtpbmcsCisgICAgdXNpbmcsIG9yIHNlbGxpbmcgTXkgV29yaywgYW5kIGV4Y2x1ZGVzIGNsYWltcyB0aGF0IHdvdWxkIGJlIGluZnJpbmdlZAorICAgIG9ubHkgYXMgYSBjb25zZXF1ZW5jZSBvZiBmdXJ0aGVyIG1vZGlmaWNhdGlvbiBvZiBNeSBXb3JrLgorCisgICAgIk1lcmUgQWdncmVnYXRpb24iIG1lYW5zIGFuIGFnZ3JlZ2F0aW9uIG9mIGEgQ292ZXJlZCBXb3JrIHdpdGggYQorICAgIFNlcGFyYXRlIFdvcmsuCisKKyAgICAiTXkgV29yayIgbWVhbnMgdGhlIHBhcnRpY3VsYXIgd29yayBvZiBhdXRob3JzaGlwIEkgbGljZW5zZSB0byBZb3UKKyAgICB1bmRlciB0aGlzIExpY2Vuc2UuCisKKyAgICAiT2JqZWN0IENvZGUiIG1lYW5zIGFueSBmb3JtIG9mIGEgd29yayB0aGF0IGlzIG5vdCBTb3VyY2UgQ29kZS4KKworICAgICJPU0ktQXBwcm92ZWQiIG1lYW5zIGFwcHJvdmVkIGFzICdPcGVuIFNvdXJjZScgYnkgdGhlIE9wZW4gU291cmNlCisgICAgSW5pdGlhdGl2ZS4KKworICAgICJTZXBhcmF0ZSBXb3JrIiBtZWFucyBhIHdvcmsgdGhhdCBpcyBzZXBhcmF0ZSBmcm9tIGFuZCBpbmRlcGVuZGVudCBvZiBhCisgICAgcGFydGljdWxhciBDb3ZlcmVkIFdvcmsgYW5kIGlzIG5vdCBieSBpdHMgbmF0dXJlIGFuIGV4dGVuc2lvbiBvcgorICAgIGVuaGFuY2VtZW50IG9mIHRoZSBDb3ZlcmVkIFdvcmssIGFuZC9vciBhIHJ1bnRpbWUgbGlicmFyeSwgc3RhbmRhcmQKKyAgICBsaWJyYXJ5IG9yIHNpbWlsYXIgY29tcG9uZW50IHRoYXQgaXMgdXNlZCB0byBnZW5lcmF0ZSBhbiBPYmplY3QgQ29kZQorICAgIGZvcm0gb2YgYSBDb3ZlcmVkIFdvcmsuCisKKyAgICAiU291cmNlIENvZGUiIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiBhIHdvcmsgZm9yIG1ha2luZworICAgIG1vZGlmaWNhdGlvbnMgdG8gaXQuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9saWNlbnNlcy9uZXRwZXJmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvbGljZW5zZXMvbmV0cGVyZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjNjZWIyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvbGljZW5zZXMvbmV0cGVyZgpAQCAtMCwwICsxLDQzIEBACisKKyAKKyAgICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAxOTkzIEhld2xldHQtUGFja2FyZCBDb21wYW55CisgICAgICAgICAgICAgICAgICAgICAgICAgQUxMIFJJR0hUUyBSRVNFUlZFRC4KKyAKKyAgVGhlIGVuY2xvc2VkIHNvZnR3YXJlIGFuZCBkb2N1bWVudGF0aW9uIGluY2x1ZGVzIGNvcHlyaWdodGVkIHdvcmtzCisgIG9mIEhld2xldHQtUGFja2FyZCBDby4gRm9yIGFzIGxvbmcgYXMgeW91IGNvbXBseSB3aXRoIHRoZSBmb2xsb3dpbmcKKyAgbGltaXRhdGlvbnMsIHlvdSBhcmUgaGVyZWJ5IGF1dGhvcml6ZWQgdG8gKGkpIHVzZSwgcmVwcm9kdWNlLCBhbmQKKyAgbW9kaWZ5IHRoZSBzb2Z0d2FyZSBhbmQgZG9jdW1lbnRhdGlvbiwgYW5kIHRvIChpaSkgZGlzdHJpYnV0ZSB0aGUKKyAgc29mdHdhcmUgYW5kIGRvY3VtZW50YXRpb24sIGluY2x1ZGluZyBtb2RpZmljYXRpb25zLCBmb3IKKyAgbm9uLWNvbW1lcmNpYWwgcHVycG9zZXMgb25seS4KKyAgICAgIAorICAxLiAgVGhlIGVuY2xvc2VkIHNvZnR3YXJlIGFuZCBkb2N1bWVudGF0aW9uIGlzIG1hZGUgYXZhaWxhYmxlIGF0IG5vCisgICAgICBjaGFyZ2UgaW4gb3JkZXIgdG8gYWR2YW5jZSB0aGUgZ2VuZXJhbCBkZXZlbG9wbWVudCBvZgorICAgICAgaGlnaC1wZXJmb3JtYW5jZSBuZXR3b3JraW5nIHByb2R1Y3RzLgorIAorICAyLiAgWW91IG1heSBub3QgZGVsZXRlIGFueSBjb3B5cmlnaHQgbm90aWNlcyBjb250YWluZWQgaW4gdGhlCisgICAgICBzb2Z0d2FyZSBvciBkb2N1bWVudGF0aW9uLiBBbGwgaGFyZCBjb3BpZXMsIGFuZCBjb3BpZXMgaW4KKyAgICAgIHNvdXJjZSBjb2RlIG9yIG9iamVjdCBjb2RlIGZvcm0sIG9mIHRoZSBzb2Z0d2FyZSBvcgorICAgICAgZG9jdW1lbnRhdGlvbiAoaW5jbHVkaW5nIG1vZGlmaWNhdGlvbnMpIG11c3QgY29udGFpbiBhdCBsZWFzdAorICAgICAgb25lIG9mIHRoZSBjb3B5cmlnaHQgbm90aWNlcy4KKyAKKyAgMy4gIFRoZSBlbmNsb3NlZCBzb2Z0d2FyZSBhbmQgZG9jdW1lbnRhdGlvbiBoYXMgbm90IGJlZW4gc3ViamVjdGVkCisgICAgICB0byB0ZXN0aW5nIGFuZCBxdWFsaXR5IGNvbnRyb2wgYW5kIGlzIG5vdCBhIEhld2xldHQtUGFja2FyZCBDby4KKyAgICAgIHByb2R1Y3QuIEF0IGEgZnV0dXJlIHRpbWUsIEhld2xldHQtUGFja2FyZCBDby4gbWF5IG9yIG1heSBub3QKKyAgICAgIG9mZmVyIGEgdmVyc2lvbiBvZiB0aGUgc29mdHdhcmUgYW5kIGRvY3VtZW50YXRpb24gYXMgYSBwcm9kdWN0LgorICAKKyAgNC4gIFRIRSBTT0ZUV0FSRSBBTkQgRE9DVU1FTlRBVElPTiBJUyBQUk9WSURFRCAiQVMgSVMiLgorICAgICAgSEVXTEVUVC1QQUNLQVJEIENPTVBBTlkgRE9FUyBOT1QgV0FSUkFOVCBUSEFUIFRIRSBVU0UsCisgICAgICBSRVBST0RVQ1RJT04sIE1PRElGSUNBVElPTiBPUiBESVNUUklCVVRJT04gT0YgVEhFIFNPRlRXQVJFIE9SCisgICAgICBET0NVTUVOVEFUSU9OIFdJTEwgTk9UIElORlJJTkdFIEEgVEhJUkQgUEFSVFknUyBJTlRFTExFQ1RVQUwKKyAgICAgIFBST1BFUlRZIFJJR0hUUy4gSFAgRE9FUyBOT1QgV0FSUkFOVCBUSEFUIFRIRSBTT0ZUV0FSRSBPUgorICAgICAgRE9DVU1FTlRBVElPTiBJUyBFUlJPUiBGUkVFLiBIUCBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMsCisgICAgICBFWFBSRVNTIEFORCBJTVBMSUVELCBXSVRIIFJFR0FSRCBUTyBUSEUgU09GVFdBUkUgQU5EIFRIRQorICAgICAgRE9DVU1FTlRBVElPTi4gSFAgU1BFQ0lGSUNBTExZIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBPRgorICAgICAgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KKyAgCisgIDUuICBIRVdMRVRULVBBQ0tBUkQgQ09NUEFOWSBXSUxMIE5PVCBJTiBBTlkgRVZFTlQgQkUgTElBQkxFIEZPUiBBTlkKKyAgICAgIERJUkVDVCwgSU5ESVJFQ1QsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgICAgICAoSU5DTFVESU5HIExPU1QgUFJPRklUUykgUkVMQVRFRCBUTyBBTlkgVVNFLCBSRVBST0RVQ1RJT04sCisgICAgICBNT0RJRklDQVRJT04sIE9SIERJU1RSSUJVVElPTiBPRiBUSEUgU09GVFdBUkUgT1IgRE9DVU1FTlRBVElPTi4KKyAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvbGljZW5zZXMvcmFkdmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9saWNlbnNlcy9yYWR2ZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wM2RiMGI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvbGljZW5zZXMvcmFkdmQKQEAgLTAsMCArMSwzNyBAQAorVGhlIGF1dGhvcihzKSBncmFudCBwZXJtaXNzaW9uIGZvciByZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQKK2JpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgb2YgdGhlIHNvZnR3YXJlIGFuZCBkb2N1bWVudGF0aW9uCitwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCiswLiBJZiB5b3UgcmVjZWl2ZSBhIHZlcnNpb24gb2YgdGhlIHNvZnR3YXJlIHRoYXQgaXMgc3BlY2lmaWNhbGx5IGxhYmVsbGVkCisgICBhcyBub3QgYmVpbmcgZm9yIHJlZGlzdHJpYnV0aW9uIChjaGVjayB0aGUgdmVyc2lvbiBtZXNzYWdlIGFuZC9vciBSRUFETUUpLAorICAgeW91IGFyZSBub3QgcGVybWl0dGVkIHRvIHJlZGlzdHJpYnV0ZSB0aGF0IHZlcnNpb24gb2YgdGhlIHNvZnR3YXJlIGluIGFueQorICAgd2F5IG9yIGZvcm0uCisxLiBBbGwgdGVybXMgb2YgYWxsIG90aGVyIGFwcGxpY2FibGUgY29weXJpZ2h0cyBhbmQgbGljZW5zZXMgbXVzdCBiZQorICAgZm9sbG93ZWQuCisyLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGF1dGhvcnMnIGNvcHlyaWdodAorICAgbm90aWNlKHMpLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKzMuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYXV0aG9ycycgY29weXJpZ2h0CisgICBub3RpY2UocyksIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zLCBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKzQuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50IHdpdGggdGhlIG5hbWUocykgb2YgdGhlCisgICBhdXRob3JzIGFzIHNwZWNpZmllZCBpbiB0aGUgY29weXJpZ2h0IG5vdGljZShzKSBzdWJzdGl0dXRlZCB3aGVyZQorICAgaW5kaWNhdGVkOgorCisgICAgICAgIFRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIGF1dGhvcnMgd2hpY2ggYXJlIAorCW1lbnRpb25lZCBhdCB0aGUgc3RhcnQgb2YgdGhlIHNvdXJjZSBmaWxlcyBhbmQgb3RoZXIgY29udHJpYnV0b3JzLgorCis1LiBOZWl0aGVyIHRoZSBuYW1lKHMpIG9mIHRoZSBhdXRob3Iocykgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIElUUyBBVVRIT1JTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKK0VYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKK0RJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCitTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NyZGEvY3JkYS9kby1ub3QtcnVuLWxkY29uZmlnLWlmLWRlc3RkaXItaXMtc2V0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY3JkYS9jcmRhL2RvLW5vdC1ydW4tbGRjb25maWctaWYtZGVzdGRpci1pcy1zZXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2VmMzVlZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NyZGEvY3JkYS9kby1ub3QtcnVuLWxkY29uZmlnLWlmLWRlc3RkaXItaXMtc2V0LnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0Zyb206IEJlbiBIdXRjaGluZ3MgPGJlbkBkZWNhZGVudC5vcmcudWs+CitEYXRlOiBTYXQsIDIzIEF1ZyAyMDE0IDEyOjI3OjM0IC0wNzAwCitTdWJqZWN0OiBjcmRhOiBEbyBub3QgcnVuIGxkY29uZmlnIGlmIERFU1RESVIgaXMgc2V0CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHA6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvbGludXgtd2lyZWxlc3MvbXNnMTI2MDI4Lmh0bWxdCisKK1NpZ25lZC1vZmYtYnk6IEJlbiBIdXRjaGluZ3MgPGJlbkBkZWNhZGVudC5vcmcudWs+CitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CisKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTEzMiw3ICsxMzIsOSBAQCBpbnN0YWxsLWxpYnJlZzoKKyAJJChOUSkgJyAgSU5TVEFMTCAgbGlicmVnJworIAkkKFEpbWtkaXIgLXAgJChERVNURElSKS8kKExJQkRJUikKKyAJJChRKWNwICQoTElCUkVHKSAkKERFU1RESVIpLyQoTElCRElSKS8KKytpZm5kZWYgREVTVERJUgorIAkkKFEpbGRjb25maWcKKytlbmRpZgorIAorICUubzogJS5jIHJlZ2RiLmggJChMSUJSRUcpCisgCSQoTlEpICcgIENDICAnICRACmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jcmRhL2NyZGEvZml4LWxpbmtpbmctb2YtbGlicmFyaWVzLXVzZWQtYnktcmVnbGliLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY3JkYS9jcmRhL2ZpeC1saW5raW5nLW9mLWxpYnJhcmllcy11c2VkLWJ5LXJlZ2xpYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2ViNTZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY3JkYS9jcmRhL2ZpeC1saW5raW5nLW9mLWxpYnJhcmllcy11c2VkLWJ5LXJlZ2xpYi5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tOiBCZW4gSHV0Y2hpbmdzIDxiZW5AZGVjYWRlbnQub3JnLnVrPgorRGF0ZTogU2F0LCAyMyBBdWcgMjAxNCAxMjoyNjozNyAtMDcwMAorU3ViamVjdDogRml4IGxpbmtpbmcgb2YgbGlicmFyaWVzIHVzZWQgYnkgbGlicmVnCisKK1RoZSBtYXRoIGFuZCBjcnlwdG8gbGlicmFyaWVzIGFyZSBjYWxsZWQgYnkgYW5kIG5lZWQgdG8gYmUgbGlua2VkIHRvCitsaWJyZWcuc28sIG5vdCB0byB0aGUgZXhlY3V0YWJsZXMuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHA6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvbGludXgtd2lyZWxlc3MvbXNnMTI2MDI3Lmh0bWxdCisKK1NpZ25lZC1vZmYtYnk6IEJlbiBIdXRjaGluZ3MgPGJlbkBkZWNhZGVudC5vcmcudWs+CitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CisKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTMwLDcgKzMwLDcgQEAgQ0ZMQUdTICs9IC1zdGQ9Z251OTkgLVdhbGwgLVdlcnJvciAtcGVkYQorIENGTEFHUyArPSAtV2FsbCAtZworIExETElCUkVHICs9IC1scmVnCisgTERMSUJTICs9ICQoTERMSUJSRUcpCistTERMSUJTICs9IC1sbQorK0xJQlJFR0xETElCUyArPSAtbG0KKyBMSUJSRUcgKz0gbGlicmVnLnNvCisgTERGTEFHUyArPSAtTCAuLworIAorQEAgLTQwLDcgKzQwLDcgQEAgYWxsX25vdmVyaWZ5OiAkKExJQlJFRykgY3JkYSBpbnRlcnNlY3QgcgorIAorIGlmZXEgKCQoVVNFX09QRU5TU0wpLDEpCisgQ0ZMQUdTICs9IC1EVVNFX09QRU5TU0wgLURQVUJLRVlfRElSPVwiJChSVU5USU1FX1BVQktFWV9ESVIpXCIgYHBrZy1jb25maWcgLS1jZmxhZ3Mgb3BlbnNzbGAKKy1MRExJQlMgKz0gYHBrZy1jb25maWcgLS1saWJzIG9wZW5zc2xgCisrTElCUkVHTERMSUJTICs9IGBwa2ctY29uZmlnIC0tbGlicyBvcGVuc3NsYAorIAorIGlmZXEgKCQoUlVOVElNRV9QVUJLRVlfT05MWSksMSkKKyBDRkxBR1MgKz0gLURSVU5USU1FX1BVQktFWV9PTkxZCitAQCAtNTEsNyArNTEsNyBAQCBlbmRpZgorIAorIGVsc2UKKyBDRkxBR1MgKz0gLURVU0VfR0NSWVBUCistTERMSUJTICs9IC1sZ2NyeXB0CisrTElCUkVHTERMSUJTICs9IC1sZ2NyeXB0CisgCisgJChMSUJSRUcpOiBrZXlzLWdjcnlwdC5jCisgCitAQCAtMTIxLDcgKzEyMSw3IEBAIGtleXMtJS5jOiB1dGlscy9rZXkycHViLnB5ICQod2lsZGNhcmQgJCgKKyAKKyAkKExJQlJFRyk6IHJlZ2RiLmggcmVnbGliLmggcmVnbGliLmMKKyAJJChOUSkgJyAgQ0MgICcgJEAKKy0JJChRKSQoQ0MpICQoQ0ZMQUdTKSAkKENQUEZMQUdTKSAtbyAkQCAtc2hhcmVkIC1XbCwtc29uYW1lLCQoTElCUkVHKSAkXgorKwkkKFEpJChDQykgJChDRkxBR1MpICQoQ1BQRkxBR1MpIC1vICRAIC1zaGFyZWQgLVdsLC1zb25hbWUsJChMSUJSRUcpICReICQoTElCUkVHTERMSUJTKQorIAorIGluc3RhbGwtbGlicmVnLWhlYWRlcnM6CisgCSQoTlEpICcgIElOU1RBTEwgIGxpYnJlZy1oZWFkZXJzJwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY3JkYS9jcmRhXzMuMTguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jcmRhL2NyZGFfMy4xOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzFhMDUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY3JkYS9jcmRhXzMuMTguYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJXaXJlbGVzcyBDZW50cmFsIFJlZ3VsYXRvcnkgRG9tYWluIEFnZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL3dpcmVsZXNzLmtlcm5lbC5vcmcvZW4vZGV2ZWxvcGVycy9SZWd1bGF0b3J5L0NSREEiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiY29weWxlZnQtbmV4dC0wLjMuMCAmIElTQyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2NvcHlsZWZ0LW5leHQtMC4zLjA7bWQ1PTg3NDNhMmMzNTkwMzdkNGQzMjlhMzFlNzllYWJlZmZlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovLyR7V09SS0RJUn0vd2lyZWxlc3MtcmVnZGItMjAxNC4xMS4xOC9MSUNFTlNFO21kNT0wN2M0ZjZkZWEzODQ1YjAyYTE4ZGMwMGM4Yzg3Njk5YyIKKworREVQRU5EUyA9ICJweXRob24tbTJjcnlwdG8tbmF0aXZlIHB5dGhvbi1uYXRpdmUgbGliZ2NyeXB0IGxpYm5sIgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL3NvZnR3YXJlL25ldHdvcmsvY3JkYS8ke0JQfS50YXIueHo7bmFtZT1jcmRhIFwKKyAgICAgICAgICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvc29mdHdhcmUvbmV0d29yay93aXJlbGVzcy1yZWdkYi93aXJlbGVzcy1yZWdkYi0yMDE0LjExLjE4LnRhci54ejtuYW1lPWJpbiBcCisgICAgICAgICAgIGZpbGU6Ly9kby1ub3QtcnVuLWxkY29uZmlnLWlmLWRlc3RkaXItaXMtc2V0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1saW5raW5nLW9mLWxpYnJhcmllcy11c2VkLWJ5LXJlZ2xpYi5wYXRjaCBcCisiCitTUkNfVVJJW2NyZGEubWQ1c3VtXSA9ICIwNDMxZmVmMzA2N2JmNTAzZGZiNDY0MDY5ZjA2MTYzYSIKK1NSQ19VUklbY3JkYS5zaGEyNTZzdW1dID0gIjQzZmNiOTY3OWY4Yjc1ZWQ4N2FkMTA5NDRhNTA2MjkyZGVmMTNlNGFmYjE5NGFmYTdhYTkyMWIwMWU4ZWNkYmYiCisKK1NSQ19VUklbYmluLm1kNXN1bV0gPSAiZDc1MGM0MDJjNTUxMGFkZDczODBlZGNiMWQ5Yjc1YjIiCitTUkNfVVJJW2Jpbi5zaGEyNTZzdW1dID0gImVhYjZiNTBmMzA3NDhhOGIwMDY1YmEzOGNmM2RmMDVhYWMxNjFhNTg2MWFlMGE2YzNjZmQwMWQzOGE3MWM5ZGQiCisKK2luaGVyaXQgcHl0aG9uLWRpciBweXRob25uYXRpdmUKKyMgUmVjdXJzaXZlIG1ha2UgcHJvYmxlbQorRVhUUkFfT0VNQUtFID0gIk1BS0VGTEFHUz0gREVTVERJUj0ke0R9IExJQkRJUj0ke2xpYmRpcn0vY3JkYSBMRExJQlJFRz0nLVdsLC1ycGF0aCwke2xpYmRpcn0vY3JkYSAtbHJlZyciCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSBhbGxfbm92ZXJpZnkKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIFNCSU5ESVI9JHtzYmluZGlyfS8gaW5zdGFsbAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9L2NyZGEvCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS93aXJlbGVzcy1yZWdkYi0yMDE0LjExLjE4L3JlZ3VsYXRvcnkuYmluICR7RH0ke2xpYmRpcn0vY3JkYS9yZWd1bGF0b3J5LmJpbgorfQorCisKK1JERVBFTkRTXyR7UE59ID0gInVkZXYiCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9Y3JkYS9yZWd1bGF0b3J5LmJpbiBcCisgICAgICAgICAgICAgICAgJHtiYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzg1LXJlZ3VsYXRvcnkucnVsZXMgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGFxL2RhcV8yLjAuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RhcS9kYXFfMi4wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDgwMzlmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RhcS9kYXFfMi4wLjYuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJUaGUgZHVtcCBEQVEgdGVzdCB0aGUgdmFyaW91cyBpbmxpbmUgbW9kZSBmZWF0dXJlcyAiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnNub3J0Lm9yZyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mOWNlNTFhNjVkZDczOGRjMWFlNjMxZDhiMjFjNDBlMCIKKworUEFSQUxMRUxfTUFLRSA9ICIiCisKK0RFUEVORFMgPSAibGlicGNhcCBsaWJwY3JlIGxpYmRuZXQiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2MvZGFxLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1ydW4tdGVzdC1wcm9ncmFtLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaCAiCisKKyMgdGhlc2UgMiBjcmVhdGUgdW5kZWNsYXJlZCBkZXBlbmRlbmN5IG9uIGxpYmRuZXQgYW5kIGxpYm5ldGZpbHRlci1xdWV1ZSBmcm9tIG1ldGEtbmV0d29ya2luZworIyB0aGlzIGVycm9yIGZyb20gdGVzdC1kZXBlbmRlbmNpZXMgc2NyaXB0OgorIyBkYXEvZGFxL2xhdGVzdCBsb3N0IGRlcGVuZGVuY3kgb24gIGxpYmRuZXQgbGlibW5sIGxpYm5ldGZpbHRlci1xdWV1ZSBsaWJuZm5ldGxpbmsKKyMKKyMgbmV2ZXIgbG9vayB0byAvdXNyL2xvY2FsIGxpYiB3aGlsZSBjcm9zcyBjb21waWxpbmcKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1uZnEtbW9kdWxlIC0tZGlzYWJsZS1pcHEtbW9kdWxlIC0taW5jbHVkZWRpcj0ke2luY2x1ZGVkaXJ9IFwKKwktLXdpdGgtbGlicGNhcC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtZG5ldC1pbmNsdWRlcz0ke1NUQUdJTkdfTElCRElSfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjJjZDZkYTQyMmE3MmMxMjljNjg1ZmM0YmI4NDhjMjRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI0MGUxZDEyNzNlMDhhYWVhYTg2ZTY5ZDRmMjhkNTM1YjdlNTNiZGIzODk4YWRmNTM5MjY2YjYzMTM3YmU3Y2IiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kYXEvZmlsZXMvZGlzYWJsZS1ydW4tdGVzdC1wcm9ncmFtLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RhcS9maWxlcy9kaXNhYmxlLXJ1bi10ZXN0LXByb2dyYW0td2hpbGUtY3Jvc3MtY29tcGlsaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMDBiN2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kYXEvZmlsZXMvZGlzYWJsZS1ydW4tdGVzdC1wcm9ncmFtLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaApAQCAtMCwwICsxLDMxIEBACitVcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK2ZpeCB0aGUgYmVsb3cgZXJyb3I6Citjb25maWd1cmU6IGVycm9yOiBjYW5ub3QgcnVuIHRlc3QgcHJvZ3JhbSB3aGlsZSBjcm9zcyBjb21waWxpbmcKKworU2lnbmVkLW9mZi1ieTogQ2h1bnJvbmcgR3VvIDxCNDAyOTBAZnJlZXNjYWxlLmNvbT4KKworLS0tIGEvbTQvc2YubTRvbGQgICAgMjAxNS0xMC0yOCAxMDoyMToyMC4yNzA1NTc5ODYgKzA4MDAKKysrKyBhL200L3NmLm00ICAgICAgIDIwMTUtMTAtMjggMTA6MjM6MjIuNzI2NTUxOTc0ICswODAwCitAQCAtMTM1LDIwICsxMzUsNyBAQAorICAgICAgICAgZWNobworICAgICAgICAgZXhpdCAxCisgICAgIGZpCistICAgIEFDX0NBQ0hFX0NIRUNLKFtmb3IgbGlicGNhcCB2ZXJzaW9uID49ICQxXSwgW2RhcV9jdl9saWJwY2FwX3ZlcnNpb25fMXhdLCBbCistICAgIEFDX1JVTl9JRkVMU0UoCistICAgIFtBQ19MQU5HX1BST0dSQU0oCistICAgIFtbCistICAgICNpbmNsdWRlIDxwY2FwLmg+CistICAgICNpbmNsdWRlIDxzdHJpbmcuaD4KKy0gICAgZXh0ZXJuIGNoYXIgcGNhcF92ZXJzaW9uW107CistICAgIF1dLAorLSAgICBbWworLSAgICAgICAgaWYgKHN0cmNtcChwY2FwX3ZlcnNpb24sICQxKSA8IDApCistICAgICAgICAgICAgcmV0dXJuIDE7CistICAgIF1dKV0sCistICAgIFtkYXFfY3ZfbGlicGNhcF92ZXJzaW9uXzF4PSJ5ZXMiXSwKKy0gICAgW2RhcV9jdl9saWJwY2FwX3ZlcnNpb25fMXg9Im5vIl0pXSkKKysgICAgQUNfQ0FDSEVfQ0hFQ0soW2ZvciBsaWJwY2FwIHZlcnNpb24gPj0gJDFdLCBbZGFxX2N2X2xpYnBjYXBfdmVyc2lvbl8xeF0pCisgICAgIGlmIHRlc3QgIngkZGFxX2N2X2xpYnBjYXBfdmVyc2lvbl8xeCIgPSAieG5vIjsgdGhlbgorICAgICAgICAgZWNobworICAgICAgICAgZWNobyAiICAgIEVSUk9SISAgTGlicGNhcCBsaWJyYXJ5IHZlcnNpb24gPj0gJDEgIG5vdCBmb3VuZC4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwY2QvZGhjcGNkXzYuMTAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3BjZC9kaGNwY2RfNi4xMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkODA0MjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwY2QvZGhjcGNkXzYuMTAuMS5iYgpAQCAtMCwwICsxLDI0IEBACitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK1NVTU1BUlkgPSAiZGhjcGNkIC0gYSBESENQIGNsaWVudCIKK0RFU0NSSVBUSU9OID0gImRoY3BjZCBydW5zIG9uIHlvdXIgbWFjaGluZSBhbmQgc2lsZW50bHkgY29uZmlndXJlcyB5b3VyIGNvbXB1dGVyIHRvIHdvcmsgb24gdGhlIGF0dGFjaGVkIG5ldHdvcmtzIHdpdGhvdXQgdHJvdWJsZSBhbmQgbW9zdGx5IHdpdGhvdXQgY29uZmlndXJhdGlvbi4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9yb3kubWFycGxlcy5uYW1lL3Byb2plY3RzL2RoY3BjZC8iCisKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGhjcGNkLmM7ZW5kbGluZT0yNjttZDU9NzdjNDBkNjcxYWZmODA0Y2E5MWVhOTk1NTZkYThlOWIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3JveS5tYXJwbGVzLm5hbWUvZG93bmxvYWRzLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLnh6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTdiODNjNTdmNDdiNjJmNDgzNzM5MDVkM2I0Zjc5NzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjg0YWJmOGMzYmUwNTgwYmJhYzVlYWNhOTUzNTkzNDZhYjBkNzhkNDA3MjMxN2I2Y2U4N2NjNjhmMmU4YWU3YiIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK1BBQ0tBR0VDT05GSUcgPz0gInVkZXYgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJpcHY2IiwgImlwdjYiLCAiIiwgZCl9IgorCitQQUNLQUdFQ09ORklHW3VkZXZdID0gIi0td2l0aC11ZGV2LC0td2l0aG91dC11ZGV2LHVkZXYsdWRldiIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiIKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWlwdjQiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2RoY3BjZC9kZXYvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy8wMDAxLXJjcC1maXgtdG8td29yay13aXRoLWxhcmdlLWZpbGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy8wMDAxLXJjcC1maXgtdG8td29yay13aXRoLWxhcmdlLWZpbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NzY0ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzLzAwMDEtcmNwLWZpeC10by13b3JrLXdpdGgtbGFyZ2UtZmlsZXMucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1N1YmplY3Q6IHJjcDogZml4IHRvIHdvcmsgd2l0aCBsYXJnZSBmaWxlcworCitXaGVuIHdlIGNvcHkgZmlsZSBieSByY3AgY29tbWFuZCwgaWYgdGhlIGZpbGUgPiAyR0IsIGl0IHdpbGwgZmFpbC4KK1RoZSBjYXVzZSBpcyB0aGF0IGl0IHVzZWQgaW5jb3JyZWN0IGRhdGEgdHlwZSBvbiBmaWxlIHNpemUgaW4gc2luaygpIG9mIHJjcC4KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL3JjcC5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9yY3AuYyBiL3NyYy9yY3AuYworaW5kZXggMjFmNTViNi4uYmFmYTM1ZiAxMDA2NDQKKy0tLSBhL3NyYy9yY3AuYworKysrIGIvc3JjL3JjcC5jCitAQCAtODc2LDkgKzg3Niw5IEBAIHNpbmsgKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICBlbnVtCisgICB7IFlFUywgTk8sIERJU1BMQVlFRCB9IHdyZXJyOworICAgQlVGICpicDsKKy0gIG9mZl90IGksIGo7CisrICBvZmZfdCBpLCBqLCBzaXplOworICAgaW50IGFtdCwgY291bnQsIGV4aXN0cywgZmlyc3QsIG1hc2ssIG1vZGUsIG9mZCwgb21vZGU7CistICBpbnQgc2V0aW1lcywgc2l6ZSwgdGFyZ2lzZGlyLCB3cmVycm5vOworKyAgaW50IHNldGltZXMsIHRhcmdpc2Rpciwgd3JlcnJubzsKKyAgIGNoYXIgY2gsICpjcCwgKm5wLCAqdGFyZywgKnZlY3RbMV0sIGJ1ZltCVUZTSVpdOworICAgY29uc3QgY2hhciAqd2h5OworIAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2ZpeC1kaXNhYmxlLWlwdjYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2ZpeC1kaXNhYmxlLWlwdjYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQzYWU0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvZml4LWRpc2FibGUtaXB2Ni5wYXRjaApAQCAtMCwwICsxLDYwIEBACitVcHN0cmVhbTogaHR0cDovL3d3dy5tYWlsLWFyY2hpdmUuY29tL2J1Zy1pbmV0dXRpbHNAZ251Lm9yZy9tc2cwMjEwMy5odG1sCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC11ciBpbmV0dXRpbHMtMS44Lm9yaWcvcGluZy9waW5nX2NvbW1vbi5oIGluZXR1dGlscy0xLjgvcGluZy9waW5nX2NvbW1vbi5oCistLS0gaW5ldHV0aWxzLTEuOC5vcmlnL3BpbmcvcGluZ19jb21tb24uaAkyMDEwLTA1LTE1IDIwOjU1OjQ3LjAwMDAwMDAwMCArMDkzMAorKysrIGluZXR1dGlscy0xLjgvcGluZy9waW5nX2NvbW1vbi5oCTIwMTAtMTItMDEgMTI6MTk6MDguMDAwMDAwMDAwICsxMDMwCitAQCAtMTcsMTAgKzE3LDE0IEBACisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSBgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLycuICovCisgCisrI2luY2x1ZGUgPGNvbmZpZy5oPgorKworICNpbmNsdWRlIDxuZXRpbmV0L2luX3N5c3RtLmg+CisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyAjaW5jbHVkZSA8bmV0aW5ldC9pcC5oPgorKyNpZmRlZiBIQVZFX0lQVjYKKyAjaW5jbHVkZSA8bmV0aW5ldC9pY21wNi5oPgorKyNlbmRpZgorICNpbmNsdWRlIDxpY21wLmg+CisgI2luY2x1ZGUgPGVycm9yLmg+CisgI2luY2x1ZGUgPHByb2duYW1lLmg+CitAQCAtNjYsMTMgKzcwLDE5IEBACisgICAodCkudHZfdXNlYyA9ICgoaSklUElOR19QUkVDSVNJT04pKigxMDAwMDAwL1BJTkdfUFJFQ0lTSU9OKSA7XAorIH0gd2hpbGUgKDApCisgCisrI2lmZGVmIEhBVkVfSVBWNgorIC8qIE5vdCBzdXJlIGFib3V0IHRoaXMgc3RlcCovCisgI2RlZmluZSBfUElOR19CVUZMRU4ocCwgVVNFX0lQVjYpICgoVVNFX0lQVjYpPyAoKHApLT5waW5nX2RhdGFsZW4gKyBzaXplb2YgKHN0cnVjdCBpY21wNl9oZHIpKSA6IFwKKyAJCQkJICAgKChwKS0+cGluZ19kYXRhbGVuICsgc2l6ZW9mIChpY21waGRyX3QpKSkKKysjZWxzZQorKyNkZWZpbmUgX1BJTkdfQlVGTEVOKHAsIFVTRV9JUFY2KSAoKHApLT5waW5nX2RhdGFsZW4gKyBzaXplb2YgKGljbXBoZHJfdCkpCisrI2VuZGlmCisgCisrI2lmZGVmIEhBVkVfSVBWNgorIHR5cGVkZWYgaW50ICgqcGluZ19lZnA2KSAoaW50IGNvZGUsIHZvaWQgKmNsb3N1cmUsIHN0cnVjdCBzb2NrYWRkcl9pbjYgKiBkZXN0LAorIAkJCSAgc3RydWN0IHNvY2thZGRyX2luNiAqIGZyb20sIHN0cnVjdCBpY21wNl9oZHIgKiBpY21wLAorIAkJCSAgaW50IGRhdGFsZW4pOworKyNlbmRpZgorIAorIHR5cGVkZWYgaW50ICgqcGluZ19lZnApIChpbnQgY29kZSwKKyAJCQkgdm9pZCAqY2xvc3VyZSwKK0BAIC04MSwxMyArOTEsMTcgQEAKKyAJCQkgc3RydWN0IGlwICogaXAsIGljbXBoZHJfdCAqIGljbXAsIGludCBkYXRhbGVuKTsKKyAKKyB1bmlvbiBldmVudCB7CisrI2lmZGVmIEhBVkVfSVBWNgorICAgcGluZ19lZnA2IGhhbmRsZXI2OworKyNlbmRpZgorICAgcGluZ19lZnAgaGFuZGxlcjsKKyB9OworIAorIHVuaW9uIHBpbmdfYWRkcmVzcyB7CisgICBzdHJ1Y3Qgc29ja2FkZHJfaW4gcGluZ19zb2NrYWRkcjsKKysjaWZkZWYgSEFWRV9JUFY2CisgICBzdHJ1Y3Qgc29ja2FkZHJfaW42IHBpbmdfc29ja2FkZHI2OworKyNlbmRpZgorIH07CisgCisgdHlwZWRlZiBzdHJ1Y3QgcGluZ19kYXRhIFBJTkc7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjgtMDAwMS1wcmludGYtcGFyc2UtcHVsbC1pbi1mZWF0dXJlcy5oLWZvci1fX0dMSUJDX18ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjgtMDAwMS1wcmludGYtcGFyc2UtcHVsbC1pbi1mZWF0dXJlcy5oLWZvci1fX0dMSUJDX18ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2RhNGU5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOC0wMDAxLXByaW50Zi1wYXJzZS1wdWxsLWluLWZlYXR1cmVzLmgtZm9yLV9fR0xJQkNfXy5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDU1MmE3ZDY0YWQ0YTcxODhhOWI3Y2Q4OTkzM2FlN2NhZjdlYmZlOTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyIGF0IGdlbnRvby5vcmc+CitEYXRlOiBUaHUsIDE4IE5vdiAyMDEwIDE2OjU5OjE0IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggZ251bGliXSBwcmludGYtcGFyc2U6IHB1bGwgaW4gZmVhdHVyZXMuaCBmb3IgX19HTElCQ19fCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyIGF0IGdlbnRvby5vcmc+CistLS0KKyBsaWIvcHJpbnRmLXBhcnNlLmggfCAgICAzICsrKworIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL3ByaW50Zi1wYXJzZS5oIGIvbGliL3ByaW50Zi1wYXJzZS5oCitpbmRleCA2N2E0YTJhLi4zYmQ2MTUyIDEwMDY0NAorLS0tIGEvbGliL3ByaW50Zi1wYXJzZS5oCisrKysgYi9saWIvcHJpbnRmLXBhcnNlLmgKK0BAIC0yNSw2ICsyNSw5IEBACisgCisgI2luY2x1ZGUgInByaW50Zi1hcmdzLmgiCisgCisrI2lmZGVmIEhBVkVfRkVBVFVSRVNfSAorKyMgaW5jbHVkZSA8ZmVhdHVyZXMuaD4JLyogZm9yIF9fR0xJQkNfXyAqLworKyNlbmRpZgorIAorIC8qIEZsYWdzICovCisgI2RlZmluZSBGTEFHX0dST1VQICAgICAgIDEgICAgICAvKiAnIGZsYWcgKi8KKy0tIAorMS43LjMuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjgtMDAwMy13Y2hhci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOC0wMDAzLXdjaGFyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxM2JiOTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjgtMDAwMy13Y2hhci5wYXRjaApAQCAtMCwwICsxLDE0IEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworLS0tIGluZXR1dGlscy0xLjgvbGliL3djaGFyLmluLmgKKysrKyBpbmV0dXRpbHMtMS44L2xpYi93Y2hhci5pbi5oCitAQCAtNzAsNiArNzAsOSBAQAorIC8qIFRoZSBpbmNsdWRlX25leHQgcmVxdWlyZXMgYSBzcGxpdCBkb3VibGUtaW5jbHVzaW9uIGd1YXJkLiAgKi8KKyAjaWYgQEhBVkVfV0NIQVJfSEAKKyAjIEBJTkNMVURFX05FWFRAIEBORVhUX1dDSEFSX0hACisrI2Vsc2UKKysjIGluY2x1ZGUgPHN0ZGRlZi5oPgorKyMgZGVmaW5lIE1CX0NVUl9NQVggMQorICNlbmRpZgorIAorICN1bmRlZiBfR0xfQUxSRUFEWV9JTkNMVURJTkdfV0NIQVJfSApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS45LVBBVEhfUFJPQ05FVF9ERVYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjktUEFUSF9QUk9DTkVUX0RFVi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTkyOTg5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS45LVBBVEhfUFJPQ05FVF9ERVYucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAoraW5ldHV0aWxzOiBkZWZpbmUgUEFUSF9QUk9DTkVUX0RFViBpZiBub3QgYWxyZWFkeSBkZWZpbmVkCisKK3RoaXMgcHJldmVudHMgdGhlIGZvbGxvd2luZyBjb21waWxhdGlvbiBlcnJvciA6CitzeXN0ZW0vbGludXguYzo0MDE6MTU6IGVycm9yOiAnUEFUSF9QUk9DTkVUX0RFVicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCisKK3RoaXMgcGF0Y2ggY29tZXMgZnJvbSA6CisgaHR0cDovL3JlcG9zaXRvcnkudGltZXN5cy5jb20vYnVpbGRzb3VyY2VzL2kvaW5ldHV0aWxzL2luZXR1dGlscy0xLjkvCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbm90IGF1dGhvcl0KKworU2lnbmVkLW9mLWJ5OiBFcmljIELDqW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4KKy0tLQorZGlmZiAtTmF1ciBpbmV0dXRpbHMtMS45Lm9yaWcvaWZjb25maWcvc3lzdGVtL2xpbnV4LmMgaW5ldHV0aWxzLTEuOS9pZmNvbmZpZy9zeXN0ZW0vbGludXguYworLS0tIGluZXR1dGlscy0xLjkub3JpZy9pZmNvbmZpZy9zeXN0ZW0vbGludXguYwkyMDEyLTAxLTA0IDE2OjMxOjM2LjAwMDAwMDAwMCAtMDUwMAorKysrIGluZXR1dGlscy0xLjkvaWZjb25maWcvc3lzdGVtL2xpbnV4LmMJMjAxMi0wMS0wNCAxNjo0MDo1My4wMDAwMDAwMDAgLTA1MDAKK0BAIC00OSw2ICs0OSwxMCBAQAorICNpbmNsdWRlICIuLi9pZmNvbmZpZy5oIgorIAwKKyAKKysjaWZuZGVmIFBBVEhfUFJPQ05FVF9ERVYKKysgICNkZWZpbmUgUEFUSF9QUk9DTkVUX0RFViAiL3Byb2MvbmV0L2RldiIKKysjZW5kaWYKKysKKyAvKiBBUlBIUkQgc3R1ZmYuICAqLworIAorIHN0YXRpYyB2b2lkCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy1vbmx5LWNoZWNrLXBhbV9hcHBsLmgtd2hlbi1wYW0tZW5hYmxlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLW9ubHktY2hlY2stcGFtX2FwcGwuaC13aGVuLXBhbS1lbmFibGVkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmM2FiZDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy1vbmx5LWNoZWNrLXBhbV9hcHBsLmgtd2hlbi1wYW0tZW5hYmxlZC5wYXRjaApAQCAtMCwwICsxLDQwIEBACitPbmx5IGNoZWNrIHNlY3VyaXR5L3BhbV9hcHBsLmggd2hpY2ggaXMgcHJvdmlkZWQgYnkgcGFja2FnZSBsaWJwYW0gd2hlbiBwYW0gaXMKK2VuYWJsZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYjM1ZTY3Mi4uZTc4YTc1MSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTk1LDYgKzE5NSwxOSBAQCBmaQorIAorICMgU2VlIGlmIHdlIGhhdmUgbGlicGFtLmEuICBJbnZlc3RpZ2F0ZSBQQU0gdmVyc3VzIExpbnV4LVBBTS4KKyBpZiB0ZXN0ICIkd2l0aF9wYW0iID0geWVzIDsgdGhlbgorKyAgQUNfQ0hFQ0tfSEVBREVSUyhbc2VjdXJpdHkvcGFtX2FwcGwuaF0sIFtdLCBbXSwgWworKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKysjaWZkZWYgSEFWRV9ORVRJTkVUX0lOX1NZU1RNX0gKKysjIGluY2x1ZGUgPG5ldGluZXQvaW5fc3lzdG0uaD4KKysjZW5kaWYKKysjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorKyNpZmRlZiBIQVZFX05FVElORVRfSVBfSAorKyMgaW5jbHVkZSA8bmV0aW5ldC9pcC5oPgorKyNlbmRpZgorKyNpZmRlZiBIQVZFX1NZU19QQVJBTV9ICisrIyBpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKysjZW5kaWYKKytdKQorICAgQUNfQ0hFQ0tfTElCKGRsLCBkbG9wZW4sIExJQkRMPS1sZGwpCisgICBBQ19DSEVDS19MSUIocGFtLCBwYW1fYXV0aGVudGljYXRlLCBMSUJQQU09LWxwYW0pCisgICBpZiB0ZXN0ICIkYWNfY3ZfbGliX3BhbV9wYW1fYXV0aGVudGljYXRlIiA9IHllcyA7IHRoZW4KK0BAIC01ODcsNyArNjAwLDcgQEAgQUNfSEVBREVSX0RJUkVOVAorIEFDX0NIRUNLX0hFQURFUlMoW2FycGEvbmFtZXNlci5oIGVycm5vLmggZmNudGwuaCBmZWF0dXJlcy5oIFwKKyAJCSAgZ2xvYi5oIG1lbW9yeS5oIG5ldGluZXQvZXRoZXIuaCBuZXRpbmV0L2luX3N5c3RtLmggXAorIAkJICBuZXRpbmV0L2lwLmggbmV0aW5ldC9pcF9pY21wLmggbmV0aW5ldC9pcF92YXIuaCBcCistCQkgIHNlY3VyaXR5L3BhbV9hcHBsLmggc2hhZG93LmggXAorKwkJICBzaGFkb3cuaCBcCisgCQkgIHN0ZGFyZy5oIHN0ZGxpYi5oIHN0cmluZy5oIHN0cm9wdHMuaCBzeXMvdHR5LmggXAorIAkJICBzeXMvdXRzbmFtZS5oIHN5cy9wdHl2YXIuaCBzeXMvbXNnYnVmLmggc3lzL2ZpbGlvLmggXAorIAkJICBzeXMvaW9jdGxfY29tcGF0Lmggc3lzL2NkZWZzLmggc3lzL3N0cmVhbS5oIHN5cy9ta2Rldi5oIFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmV4ZWMueGluZXRkLmluZXR1dGlscyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmV4ZWMueGluZXRkLmluZXR1dGlscwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMGU4MWVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9yZXhlYy54aW5ldGQuaW5ldHV0aWxzCkBAIC0wLDAgKzEsMjAgQEAKKyMgZGVmYXVsdDogb2ZmCisjIGRlc2NyaXB0aW9uOgorIyBSZXhlY2QgaXMgdGhlIHNlcnZlciBmb3IgdGhlIHJleGVjIHByb2dyYW0uIFRoZSBzZXJ2ZXIgcHJvdmlkZXMgcmVtb3RlIAorIyBleGVjdXRpb24gZmFjaWxpdGllcyB3aXRoIGF1dGhlbnRpY2F0aW9uIGJhc2VkIG9uIHVzZXIgbmFtZXMgYW5kIAorIyBwYXNzd29yZHMuCisjCitzZXJ2aWNlIGV4ZWMKK3sKKwlzb2NrZXRfdHlwZQk9IHN0cmVhbQorCXByb3RvY29sCT0gdGNwCisJZmxhZ3MJCT0gTkFNRUlOQVJHUworCXdhaXQJCT0gbm8KKwl1c2VyCQk9IHJvb3QKKwlncm91cAkJPSByb290CisJbG9nX29uX3N1Y2Nlc3MJKz0gVVNFUklECisJbG9nX29uX2ZhaWx1cmUJKz0gVVNFUklECisJc2VydmVyCQk9IEBTQklORElSQC90Y3BkCisJc2VydmVyX2FyZ3MJPSBAU0JJTkRJUkAvaW4ucmV4ZWNkCisJZGlzYWJsZQkJPSB5ZXMKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3Jsb2dpbi54aW5ldGQuaW5ldHV0aWxzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxYjU1ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3Jsb2dpbi54aW5ldGQuaW5ldHV0aWxzCkBAIC0wLDAgKzEsMjMgQEAKKyMgZGVmYXVsdDogb2ZmCisjIGRlc2NyaXB0aW9uOgorIyBSbG9naW5kIGlzIGEgc2VydmVyIGZvciB0aGUgcmxvZ2luIHByb2dyYW0uIFRoZSBzZXJ2ZXIgcHJvdmlkZXMgcmVtb3RlIAorIyBleGVjdXRpb24gd2l0aCBhdXRoZW50aWNhdGlvbiBiYXNlZCBvbiBwcml2aWxlZ2VkIHBvcnQgbnVtYmVycyBmcm9tIHRydXN0ZWQKKyMgaG9zdAorIworc2VydmljZSBsb2dpbgoreworCXNvY2tldF90eXBlCT0gc3RyZWFtCisJcHJvdG9jb2wJPSB0Y3AKKwlmbGFncwkJPSBOQU1FSU5BUkdTCisJd2FpdAkJPSBubworCXVzZXIJCT0gcm9vdAorCWdyb3VwCQk9IHJvb3QKKwlsb2dfb25fc3VjY2VzcwkrPSBVU0VSSUQKKwlsb2dfb25fZmFpbHVyZQkrPSBVU0VSSUQKKwlzZXJ2ZXIJCT0gQFNCSU5ESVJAL3RjcGQKKwlzZXJ2ZXJfYXJncwk9IEBTQklORElSQC9pbi5ybG9naW5kIC1hCisJZGlzYWJsZQkJPSB5ZXMKK30KKwkJCQkJCQkKKwkJCQkJCQkKKwkJCQkJCQkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcnNoLnhpbmV0ZC5pbmV0dXRpbHMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3JzaC54aW5ldGQuaW5ldHV0aWxzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiODk0YTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3JzaC54aW5ldGQuaW5ldHV0aWxzCkBAIC0wLDAgKzEsMjEgQEAKKyMgZGVmYXVsdDogb2ZmCisjIGRlc2NyaXB0aW9uOgorIyBUaGUgcnNoZCBzZXJ2ZXIgaXMgYSBzZXJ2ZXIgZm9yIHRoZSByY21kKDMpIHJvdXRpbmUgYW5kLCAKKyMgY29uc2VxdWVudGx5LCBmb3IgdGhlIHJzaCgxKSBwcm9ncmFtLiBUaGUgc2VydmVyIHByb3ZpZGVzIAorIyByZW1vdGUgZXhlY3V0aW9uIGZhY2lsaXRpZXMgd2l0aCBhdXRoZW50aWNhdGlvbiBiYXNlZCBvbiAKKyMgcHJpdmlsZWdlZCBwb3J0IG51bWJlcnMgZnJvbSB0cnVzdGVkIGhvc3RzLgorIworc2VydmljZSBzaGVsbAoreworCXNvY2tldF90eXBlCT0gc3RyZWFtCisJcHJvdG9jb2wJPSB0Y3AKKwlmbGFncwkJPSBOQU1FSU5BUkdTCisJd2FpdAkJPSBubworCXVzZXIJCT0gcm9vdAorCWdyb3VwCQk9IHJvb3QKKwlsb2dfb25fc3VjY2VzcwkrPSBVU0VSSUQKKwlsb2dfb25fZmFpbHVyZQkrPSBVU0VSSUQKKwlzZXJ2ZXIJCT0gQFNCSU5ESVJAL3RjcGQKKwlzZXJ2ZXJfYXJncwk9IEBTQklORElSQC9pbi5yc2hkIC1hTAorCWRpc2FibGUJCT0geWVzCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RlbG5ldC54aW5ldGQuaW5ldHV0aWxzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy90ZWxuZXQueGluZXRkLmluZXR1dGlscwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDlhMDQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy90ZWxuZXQueGluZXRkLmluZXR1dGlscwpAQCAtMCwwICsxLDEzIEBACisjIGRlZmF1bHQ6IG9uCisjIGRlc2NyaXB0aW9uOiBUaGUgdGVsbmV0IHNlcnZlciBzZXJ2ZXMgdGVsbmV0IHNlc3Npb25zOyBpdCB1c2VzIFwKKyMgICAgICAgdW5lbmNyeXB0ZWQgdXNlcm5hbWUvcGFzc3dvcmQgcGFpcnMgZm9yIGF1dGhlbnRpY2F0aW9uLgorc2VydmljZSB0ZWxuZXQKK3sKKwlkaXNhYmxlCQk9IG5vCisJZmxhZ3MJCT0gUkVVU0UKKwlzb2NrZXRfdHlwZQk9IHN0cmVhbQorCXdhaXQJCT0gbm8KKwl1c2VyCQk9IHJvb3QKKwlzZXJ2ZXIJCT0gQFNCSU5ESVJAL2luLnRlbG5ldGQKKwlsb2dfb25fZmFpbHVyZQkrPSBVU0VSSUQKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvdGZ0cGQueGluZXRkLmluZXR1dGlscyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvdGZ0cGQueGluZXRkLmluZXR1dGlscwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42N2I0NGM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy90ZnRwZC54aW5ldGQuaW5ldHV0aWxzCkBAIC0wLDAgKzEsMTkgQEAKKyMgZGVmYXVsdDogb2ZmCisjIGRlc2NyaXB0aW9uOgorIyBUZnRwZCBpcyBhIHNlcnZlciB3aGljaCBzdXBwb3J0cyB0aGUgSW50ZXJuZXQgVHJpdmlhbCBGaWxlIFRyYW5zZmVyCisjIFByby10b2NvbCAoUkZDIDc4MykuIFRoZSBURlRQIHNlcnZlciBvcGVyYXRlcyBhdCB0aGUgcG9ydCBpbmRpY2F0ZWQKKyMgaW4gdGhlIHRmdHAgc2VydmljZSBkZXNjcmlwdGlvbjsgc2VlIHNlcnZpY2VzKDUpLgorIworc2VydmljZSB0ZnRwCit7CisgICAgICAgIGRpc2FibGUgICAgICAgICA9IHllcworICAgICAgICBzb2NrZXRfdHlwZSAgICAgPSBkZ3JhbQorICAgICAgICBwcm90b2NvbCAgICAgICAgPSB1ZHAKKyAgICAgICAgZmxhZ3MgICAgICAgICAgID0gSVB2NgorICAgICAgICB3YWl0ICAgICAgICAgICAgPSB5ZXMKKyAgICAgICAgdXNlciAgICAgICAgICAgID0gcm9vdAorICAgICAgICBncm91cCAgICAgICAgICAgPSByb290CisgICAgICAgIHNlcnZlciAgICAgICAgICA9IEBTQklORElSQC9pbi50ZnRwZAorICAgICAgICBzZXJ2ZXJfYXJncyAgICAgPSAvdGZ0cGJvb3QKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy92ZXJzaW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy92ZXJzaW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzMmEwZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3ZlcnNpb24ucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK3JlbW92ZSBtNF9lc3lzY21kIGZ1bmN0aW9uCisKK1NpZ25lZC1vZmYtYnk6IENodW5yb25nIEd1byA8YjQwMjkwQGZyZWVzY2FsZS5jb20+CistLS0gaW5ldHV0aWxzLTEuOS4xL2NvbmZpZ3VyZS5hYwkyMDEyLTAxLTA2IDIyOjA1OjA1LjAwMDAwMDAwMCArMDgwMAorKysrIGluZXR1dGlscy0xLjkuMS9jb25maWd1cmUuYWMJMjAxMi0xMS0xMiAxNDowMToxMS43MzI5NTcwMTkgKzA4MDAKK0BAIC0yMCw4ICsyMCw3IEBACisgCisgQUNfUFJFUkVRKDIuNTkpCisgCistQUNfSU5JVChbR05VIGluZXR1dGlsc10sCistIG00X2VzeXNjbWQoW2J1aWxkLWF1eC9naXQtdmVyc2lvbi1nZW4gLnRhcmJhbGwtdmVyc2lvbiAncy9pbmV0dXRpbHMtL3YvO3MvXy8uL2cnXSksCisrQUNfSU5JVChbR05VIGluZXR1dGlsc10sWzEuOS40XSwKKyAgW2J1Zy1pbmV0dXRpbHNAZ251Lm9yZ10pCisgCisgQUNfQ09ORklHX1NSQ0RJUihbc3JjL2luZXRkLmNdKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlsc18xLjkuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHNfMS45LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjg0ODdlYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHNfMS45LjQuYmIKQEAgLTAsMCArMSwxNzkgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBHTlUgaW5ldHV0aWxzIGFyZSBhIGNvbGxlY3Rpb24gb2YgY29tbW9uIFwKK25ldHdvcmtpbmcgdXRpbGl0aWVzIGFuZCBzZXJ2ZXJzIGluY2x1ZGluZyBmdHAsIGZ0cGQsIHJjcCwgXAorcmV4ZWMsIHJsb2dpbiwgcmxvZ2luZCwgcnNoLCByc2hkLCBzeXNsb2csIHN5c2xvZ2QsIHRhbGssIFwKK3RhbGtkLCB0ZWxuZXQsIHRlbG5ldGQsIHRmdHAsIHRmdHBkLCBhbmQgdXVjcGQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2luZXR1dGlscyIKK1NFQ1RJT04gPSAibmV0IgorREVQRU5EUyA9ICJuY3Vyc2VzIG5ldGJhc2UgcmVhZGxpbmUiCitMSUNFTlNFID0gIkdQTHYzIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wYzcwNTFhZWY5MjE5ZGM3MjM3ZjIwNmM1YzQxNzlhNyIKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2luZXR1dGlscy9pbmV0dXRpbHMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3ZlcnNpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLTEuOC0wMDAxLXByaW50Zi1wYXJzZS1wdWxsLWluLWZlYXR1cmVzLmgtZm9yLV9fR0xJQkNfXy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pbmV0dXRpbHMtMS44LTAwMDMtd2NoYXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmV4ZWMueGluZXRkLmluZXR1dGlscyAgXAorICAgICAgICAgICBmaWxlOi8vcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vcnNoLnhpbmV0ZC5pbmV0dXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vdGVsbmV0LnhpbmV0ZC5pbmV0dXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vdGZ0cGQueGluZXRkLmluZXR1dGlscyBcCisgICAgICAgICAgIGZpbGU6Ly9pbmV0dXRpbHMtMS45LVBBVEhfUFJPQ05FVF9ERVYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLW9ubHktY2hlY2stcGFtX2FwcGwuaC13aGVuLXBhbS1lbmFibGVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcmNwLWZpeC10by13b3JrLXdpdGgtbGFyZ2UtZmlsZXMucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDQ4NTJjMjZjNDdjYzhjNmI4MjVmMmI3NGYxOTFmNTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmU4Zjc1ZWZmOTM2YjhlNDFiMTEyNDYyZGI1MWFkZjY4OTcxNTY1OGExYjA5ZTBkNmIwNWQxMWVjOTJjYzYxNiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB1cGRhdGUtYWx0ZXJuYXRpdmVzIHRleGluZm8KKworU1JDX1VSSSArPSAiJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnJywgJ2ZpbGU6Ly9maXgtZGlzYWJsZS1pcHY2LnBhdGNoJywgZCl9Igorbm9pcHY2PSIke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICcnLCAnLS1kaXNhYmxlLWlwdjYgZ2xfY3Zfc29ja2V0X2lwdjY9bm8nLCBkKX0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICJmdHAgdXVjcGQgXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbScsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgIgorUEFDS0FHRUNPTkZJR1tmdHBdID0gIi0tZW5hYmxlLWZ0cCwtLWRpc2FibGUtZnRwLHJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1t1dWNwZF0gPSAiLS1lbmFibGUtdXVjcGQsLS1kaXNhYmxlLXV1Y3BkLHJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1twYW1dID0gIi0td2l0aC1wYW0sLS13aXRob3V0LXBhbSxsaWJwYW0iCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtbmN1cnNlcy1pbmNsdWRlLWRpcj0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICR7bm9pcHY2fSBcCisgICAgICAgIGluZXR1dGlsc19jdl9wYXRoX2xvZ2luPSR7YmFzZV9iaW5kaXJ9L2xvZ2luIFwKKyAgICAgICAgLS13aXRoLWxpYnJlYWRsaW5lLXByZWZpeD0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgICAgIC0tZW5hYmxlLXJwYXRoPW5vIFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIGV4cG9ydCBIRUxQMk1BTj0ndHJ1ZScKKyAgICBjcCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dldHRleHQvY29uZmlnLnJwYXRoICR7U30vYnVpbGQtYXV4L2NvbmZpZy5ycGF0aAorICAgIHJtIC1mICR7U30vZ2xvYi9jb25maWd1cmUqCit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2Jhc2Vfc2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0veGluZXRkLmQKKyAgICBtdiAke0R9JHtiaW5kaXJ9L3BpbmcgJHtEfSR7YmFzZV9iaW5kaXJ9LworICAgIG12ICR7RH0ke2JpbmRpcn0vcGluZzYgJHtEfSR7YmFzZV9iaW5kaXJ9LworICAgIG12ICR7RH0ke2JpbmRpcn0vaWZjb25maWcgJHtEfSR7YmFzZV9zYmluZGlyfS8KKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9zeXNsb2dkICR7RH0ke2Jhc2Vfc2JpbmRpcn0vCisgICAgbXYgJHtEfSR7YmluZGlyfS9ob3N0bmFtZSAke0R9JHtiYXNlX2JpbmRpcn0vCisgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vdGZ0cGQgJHtEfSR7c2JpbmRpcn0vaW4udGZ0cGQKKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS90ZWxuZXRkICR7RH0ke3NiaW5kaXJ9L2luLnRlbG5ldGQKKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9yZXhlY2QgJHtEfSR7c2JpbmRpcn0vaW4ucmV4ZWNkCisgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vcmxvZ2luZCAke0R9JHtzYmluZGlyfS9pbi5ybG9naW5kCisgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vcnNoZCAke0R9JHtzYmluZGlyfS9pbi5yc2hkCisgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vdGFsa2QgJHtEfSR7c2JpbmRpcn0vaW4udGFsa2QKKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS91dWNwZCAke0R9JHtzYmluZGlyfS9pbi51dWNwZAorICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9LyogJHtEfSR7YmluZGlyfS8KKyAgICBjcCAke1dPUktESVJ9L3JleGVjLnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC9yZXhlYworICAgIGNwICR7V09SS0RJUn0vcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC9ybG9naW4KKyAgICBjcCAke1dPUktESVJ9L3JzaC54aW5ldGQuaW5ldHV0aWxzICAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcnNoCisgICAgY3AgJHtXT1JLRElSfS90ZWxuZXQueGluZXRkLmluZXR1dGlscyAgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RlbG5ldAorICAgIGNwICR7V09SS0RJUn0vdGZ0cGQueGluZXRkLmluZXR1dGlscyAgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RmdHBkCisKKyAgICBzZWQgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgLWkgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kLyoKKworICAgIHJtIC1yZiAke0R9JHtsaWJleGVjZGlyfS8KKyAgICAjIHJlbW92ZSB1c3IvbGliIGlmIGVtcHR5CisgICAgcm1kaXIgJHtEfSR7bGliZGlyfSB8fCB0cnVlCit9CisKK1BBQ0tBR0VTID0rICIke1BOfS1waW5nICR7UE59LXBpbmc2ICR7UE59LWhvc3RuYW1lICR7UE59LWlmY29uZmlnIFwKKyR7UE59LXRmdHAgJHtQTn0tbG9nZ2VyICR7UE59LXRyYWNlcm91dGUgJHtQTn0tc3lzbG9nZCBcCiske1BOfS1mdHAgJHtQTn0tZnRwZCAke1BOfS10ZnRwZCAke1BOfS10ZWxuZXQgJHtQTn0tdGVsbmV0ZCAke1BOfS1pbmV0ZCBcCiske1BOfS1yc2ggJHtQTn0tcnNoZCIKKworIyBUaGUgcGFja2FnZXMgdGZ0cGQsIHRlbG5ldGQgYW5kIHJzaGQgY29uZmxpY3Qgd2l0aCB0aGUgb25lcworIyBwcm92aWRlZCBieSBuZXRraXQsIHNvIGFkZCB0aGUgY29ycmVzcG9uZGluZyAtZGJnIHBhY2thZ2VzCisjIGZvciB0aGVtIHRvIGF2b2lkIHRoZSBjb25mbGljdGlvbiBiZXR3ZWVuIHRoZSBkYmcgcGFja2FnZQorIyBvZiBpbmV0dXRpbHMgYW5kIG5ldGtpdC4KK1BBQ0tBR0VTICs9ICIke1BOfS10ZnRwZC1kYmcgJHtQTn0tdGVsbmV0ZC1kYmcgJHtQTn0tcnNoZC1kYmciCisKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjgwIgorQUxURVJOQVRJVkVfJHtQTn0gPSAidGFsayB3aG9pcyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0YWxrZF0gID0gIiR7c2JpbmRpcn0vaW4udGFsa2QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdXVjcGRdICA9ICIke3NiaW5kaXJ9L2luLnV1Y3BkIgorCitBTFRFUk5BVElWRV8ke1BOfS1sb2dnZXIgPSAibG9nZ2VyIgorQUxURVJOQVRJVkVfJHtQTn0tc3lzbG9nZCA9ICJzeXNsb2dkIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3N5c2xvZ2RdICA9ICIke2Jhc2Vfc2JpbmRpcn0vc3lzbG9nZCIKKworQUxURVJOQVRJVkVfJHtQTn0tZnRwID0gImZ0cCIKK0FMVEVSTkFUSVZFXyR7UE59LWZ0cGQgPSAiZnRwZCIKK0FMVEVSTkFUSVZFXyR7UE59LXRmdHAgPSAidGZ0cCIKK0FMVEVSTkFUSVZFXyR7UE59LXRmdHBkID0gInRmdHBkIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3RmdHBkXSA9ICIke3NiaW5kaXJ9L3RmdHBkIgorQUxURVJOQVRJVkVfVEFSR0VUW3RmdHBkXSAgPSAiJHtzYmluZGlyfS9pbi50ZnRwZCIKKworQUxURVJOQVRJVkVfJHtQTn0tdGVsbmV0ID0gInRlbG5ldCIKK0FMVEVSTkFUSVZFXyR7UE59LXRlbG5ldGQgPSAidGVsbmV0ZCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0ZWxuZXRkXSA9ICIke3NiaW5kaXJ9L3RlbG5ldGQiCitBTFRFUk5BVElWRV9UQVJHRVRbdGVsbmV0ZF0gPSAiJHtzYmluZGlyfS9pbi50ZWxuZXRkIgorCitBTFRFUk5BVElWRV8ke1BOfS1yc2ggPSAicmNwIHJleGVjIHJsb2dpbiByc2giCitBTFRFUk5BVElWRV8ke1BOfS1yc2hkID0gInJzaGQgcmV4ZWNkIHJsb2dpbmQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcnNoZF0gPSAiJHtzYmluZGlyfS9yc2hkIgorQUxURVJOQVRJVkVfVEFSR0VUW3JzaGRdID0gIiR7c2JpbmRpcn0vaW4ucnNoZCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtyZXhlY2RdID0gIiR7c2JpbmRpcn0vcmV4ZWNkIgorQUxURVJOQVRJVkVfVEFSR0VUW3JleGVjZF0gPSAiJHtzYmluZGlyfS9pbi5yZXhlY2QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmxvZ2luZF0gPSAiJHtzYmluZGlyfS9ybG9naW5kIgorQUxURVJOQVRJVkVfVEFSR0VUW3Jsb2dpbmRdID0gIiR7c2JpbmRpcn0vaW4ucmxvZ2luZCIKKworQUxURVJOQVRJVkVfJHtQTn0taW5ldGQ9ICJpbmV0ZCIKK0FMVEVSTkFUSVZFXyR7UE59LXRyYWNlcm91dGUgPSAidHJhY2Vyb3V0ZSIKKworQUxURVJOQVRJVkVfJHtQTn0taG9zdG5hbWUgPSAiaG9zdG5hbWUiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaG9zdG5hbWVdICA9ICIke2Jhc2VfYmluZGlyfS9ob3N0bmFtZSIKKworQUxURVJOQVRJVkVfJHtQTn0taWZjb25maWcgPSAiaWZjb25maWciCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaWZjb25maWddICA9ICIke2Jhc2Vfc2JpbmRpcn0vaWZjb25maWciCisKK0FMVEVSTkFUSVZFXyR7UE59LXBpbmcgPSAicGluZyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtwaW5nXSAgID0gIiR7YmFzZV9iaW5kaXJ9L3BpbmciCisKK0FMVEVSTkFUSVZFXyR7UE59LXBpbmc2ID0gInBpbmc2IgorQUxURVJOQVRJVkVfTElOS19OQU1FW3Bpbmc2XSAgPSAiJHtiYXNlX2JpbmRpcn0vcGluZzYiCisKKworRklMRVNfJHtQTn0tcGluZyA9ICIke2Jhc2VfYmluZGlyfS9waW5nLiR7QlBOfSIKK0ZJTEVTXyR7UE59LXBpbmc2ID0gIiR7YmFzZV9iaW5kaXJ9L3Bpbmc2LiR7QlBOfSIKK0ZJTEVTXyR7UE59LWhvc3RuYW1lID0gIiR7YmFzZV9iaW5kaXJ9L2hvc3RuYW1lLiR7QlBOfSIKK0ZJTEVTXyR7UE59LWlmY29uZmlnID0gIiR7YmFzZV9zYmluZGlyfS9pZmNvbmZpZy4ke0JQTn0iCitGSUxFU18ke1BOfS10cmFjZXJvdXRlID0gIiR7YmluZGlyfS90cmFjZXJvdXRlLiR7QlBOfSIKK0ZJTEVTXyR7UE59LWxvZ2dlciA9ICIke2JpbmRpcn0vbG9nZ2VyLiR7QlBOfSIKK0ZJTEVTXyR7UE59LXN5c2xvZ2QgPSAiJHtiYXNlX3NiaW5kaXJ9L3N5c2xvZ2QuJHtCUE59IgorRklMRVNfJHtQTn0tZnRwID0gIiR7YmluZGlyfS9mdHAuJHtCUE59IgorCitGSUxFU18ke1BOfS10ZnRwID0gIiR7YmluZGlyfS90ZnRwLiR7QlBOfSIKK0ZJTEVTXyR7UE59LXRlbG5ldCA9ICIke2JpbmRpcn0vdGVsbmV0LiR7QlBOfSIKK0ZJTEVTXyR7UE59LXJzaCA9ICIke2JpbmRpcn0vcnNoLiR7QlBOfSAke2JpbmRpcn0vcmxvZ2luLiR7QlBOfSAke2JpbmRpcn0vcmV4ZWMuJHtCUE59ICR7YmluZGlyfS9yY3AuJHtCUE59IgorCitGSUxFU18ke1BOfS1yc2hkID0gIiR7c2JpbmRpcn0vaW4ucnNoZCAke3NiaW5kaXJ9L2luLnJsb2dpbmQgJHtzYmluZGlyfS9pbi5yZXhlY2QgXAorICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3JzaCAke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3Jsb2dpbiAke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3JleGVjIgorRklMRVNfJHtQTn0tcnNoZC1kYmcgPSAiJHtzYmluZGlyfS8uZGVidWcvaW4ucnNoZCAke3NiaW5kaXJ9Ly5kZWJ1Zy9pbi5ybG9naW5kICR7c2JpbmRpcn0vLmRlYnVnL2luLnJleGVjZCIKK1JERVBFTkRTXyR7UE59LXJzaGQgKz0gInhpbmV0ZCB0Y3Atd3JhcHBlcnMiCitSQ09ORkxJQ1RTXyR7UE59LXJzaGQgKz0gIm5ldGtpdC1yc2hkIgorUlBST1ZJREVTXyR7UE59LXJzaGQgPSAicnNoZCIKKworRklMRVNfJHtQTn0tZnRwZCA9ICIke2JpbmRpcn0vZnRwZC4ke0JQTn0iCitGSUxFU18ke1BOfS1mdHBkLWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnL2Z0cGQuJHtCUE59IgorUkRFUEVORFNfJHtQTn0tZnRwZCArPSAieGluZXRkIgorCitGSUxFU18ke1BOfS10ZnRwZCA9ICIke3NiaW5kaXJ9L2luLnRmdHBkICR7c3lzY29uZmRpcn0veGluZXRkLmQvdGZ0cGQiCitGSUxFU18ke1BOfS10ZnRwZC1kYmcgPSAiJHtzYmluZGlyfS8uZGVidWcvaW4udGZ0cGQiCitSQ09ORkxJQ1RTXyR7UE59LXRmdHBkICs9ICJuZXRraXQtdGZ0cGQiCitSREVQRU5EU18ke1BOfS10ZnRwZCArPSAieGluZXRkIgorCitGSUxFU18ke1BOfS10ZWxuZXRkID0gIiR7c2JpbmRpcn0vaW4udGVsbmV0ZCAke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RlbG5ldCIKK0ZJTEVTXyR7UE59LXRlbG5ldGQtZGJnID0gIiR7c2JpbmRpcn0vLmRlYnVnL2luLnRlbG5ldGQiCitSQ09ORkxJQ1RTXyR7UE59LXRlbG5ldGQgKz0gIm5ldGtpdC10ZWxuZXRkIgorUlBST1ZJREVTXyR7UE59LXRlbG5ldGQgPSAidGVsbmV0ZCIKK1JERVBFTkRTXyR7UE59LXRlbG5ldGQgKz0gInhpbmV0ZCIKKworRklMRVNfJHtQTn0taW5ldGQgPSAiJHtiaW5kaXJ9L2luZXRkLiR7QlBOfSIKKworUkRFUEVORFNfJHtQTn0gPSAieGluZXRkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGZ0cC9sZnRwXzQuNi4zYS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xmdHAvbGZ0cF80LjYuM2EuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY3OTZhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xmdHAvbGZ0cF80LjYuM2EuYmIKQEAgLTAsMCArMSwyNiBAQAorREVTQ1JJUFRJT04gPSAiTEZUUCBpcyBhIHNvcGhpc3RpY2F0ZWQgZmlsZSB0cmFuc2ZlciBwcm9ncmFtIHdpdGggXAorICAgICAgICAgICAgICAgY29tbWFuZCBsaW5lIGludGVyZmFjZS4gSXQgc3VwcG9ydHMgRlRQLCBIVFRQLCBcCisgICAgICAgICAgICAgICBGSVNILCBTRlRQLCBIVFRQUyBhbmQgRlRQUyBwcm90b2NvbHMiCitIT01FUEFHRSA9ICJodHRwOi8vbGZ0cC55YXIucnUvIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitERVBFTkRTID0gInJlYWRsaW5lIgorCitTUkNfVVJJID0gImh0dHA6Ly9mb3NzaWVzLm9yZy9saW51eC9taXNjL2xmdHAtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiMjc3N2RkNTE0ZDIxZmUxZGE3NjRiZWRkMWQwYWIzNmMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYThiNTNlNWNhMmMxYWNiZWNkMTgxYzg3ZjIxYTg2NzNjYTkwMzhkYzlmMmJlNmFiOGMyMzc5MGJkOTFmZDQ0NiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtbW9kdWxlcyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmlkbiBvcGVuc3NsIHpsaWIgZ251dGxzIgorUEFDS0FHRUNPTkZJR1tsaWJpZG5dID0gIi0td2l0aC1saWJpZG4sIC0td2l0aG91dC1saWJpZG4sIGxpYmlkbiIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wsIC0td2l0aG91dC1vcGVuc3NsLCBvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItLXdpdGgtemxpYiwgLS13aXRob3V0LXpsaWIsIHpsaWIiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLWdudXRscywgLS13aXRob3V0LWdudXRscywgZ251dGxzIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9sZnRwLyR7UFZ9Ly5kZWJ1ZyIKK1JERVBFTkRTXyR7UE59ID0gInBlcmwgYmFzaCByZWFkbGluZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmRuZXQvbGliZG5ldF8xLjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliZG5ldC9saWJkbmV0XzEuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhiNmM4MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmRuZXQvbGliZG5ldF8xLjEyLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiZHVtYiBuZXR3b3JraW5nIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvbGliZG5ldC8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTAwMzZjMWIxNTVmNGU5OTlmM2UwYTM3MzQ5MGI1ZGI5IgorCitTUkNfVVJJID0gImh0dHA6Ly9saWJkbmV0Lmdvb2dsZWNvZGUuY29tL2ZpbGVzL2xpYmRuZXQtJHtQVn0udGd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTI1M2VmNmRlMWI1ZTI4ZTljOWE2MmI4ODJlNDRjYzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODNiMzMwMzk3ODdjZjk5OTkwZTk3N2NlZjdmMThhNWQ1ZTdhYWZmYzQ1MDU1NDhhODNkMzFiZDM1MTVlYjAyNiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworYWNwYXRocyA9ICItSSAuL2NvbmZpZy8iCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21iZWR0bHMvbWJlZHRsc18xLjMuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tYmVkdGxzL21iZWR0bHNfMS4zLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1YzdhZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tYmVkdGxzL21iZWR0bHNfMS4zLjEwLmJiCkBAIC0wLDAgKzEsMzcgQEAKK1NVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgY3J5cHRvIGFuZCBTU0wvVExTIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJtYmVkdGxzIGlzIGEgbGVhbiBvcGVuIHNvdXJjZSBjcnlwdG8gbGlicmFyeSAgICAgICAgICBcCitmb3IgcHJvdmlkaW5nIFNTTCBhbmQgVExTIHN1cHBvcnQgaW4geW91ciBwcm9ncmFtcy4gSXQgb2ZmZXJzICAgICAgICBcCithbiBpbnR1aXRpdmUgQVBJIGFuZCBkb2N1bWVudGVkIGhlYWRlciBmaWxlcywgc28geW91IGNhbiBhY3R1YWxseSAgICBcCit1bmRlcnN0YW5kIHdoYXQgdGhlIGNvZGUgZG9lcy4gSXQgZmVhdHVyZXM6ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgLSBTeW1tZXRyaWMgYWxnb3JpdGhtcywgbGlrZSBBRVMsIEJsb3dmaXNoLCBUcmlwbGUtREVTLCBERVMsIEFSQzQsICBcCisgICBDYW1lbGxpYSBhbmQgWFRFQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgLSBIYXNoIGFsZ29yaXRobXMsIGxpa2UgU0hBLTEsIFNIQS0yLCBSSVBFTUQtMTYwIGFuZCBNRDUgICAgICAgICAgICBcCisgLSBFbnRyb3B5IHBvb2wgYW5kIHJhbmRvbSBnZW5lcmF0b3JzLCBsaWtlIENUUi1EUkJHIGFuZCBITUFDLURSQkcgICBcCisgLSBQdWJsaWMga2V5IGFsZ29yaXRobXMsIGxpa2UgUlNBLCBFbGxpcHRpYyBDdXJ2ZXMsIERpZmZpZS1IZWxsbWFuLCBcCisgICBFQ0RTQSBhbmQgRUNESCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgLSBTU0wgdjMgYW5kIFRMUyAxLjAsIDEuMSBhbmQgMS4yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgLSBBYnN0cmFjdGlvbiBsYXllcnMgZm9yIGNpcGhlcnMsIGhhc2hlcywgcHVibGljIGtleSBvcGVyYXRpb25zLCAgICBcCisgICBwbGF0Zm9ybSBhYnN0cmFjdGlvbiBhbmQgdGhyZWFkaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisiCisKK0hPTUVQQUdFID0gImh0dHBzOi8vcG9sYXJzc2wub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vcG9sYXJzc2wvcG9sYXJzc2wvaXNzdWVzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NFQ1RJT04gPSAibGliZGV2ZWwiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly90bHMubWJlZC5vcmcvZG93bmxvYWQvbWJlZHRscy0ke1BWfS1ncGwudGd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTllYmJjOTZmZWNlYjQzMGFkOTU4ZGZlODljYjYzM2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzQ2ZmQ4OGUwYzY2MjM2OTFmYzU2YzRlZWQ1MmU0MGE1N2IyZGEwYWM4MGY2ZGQ4OTk1MDk0YWE2YWRiNDA3ZSIKKworREVQRU5EUyA9ICJvcGVuc3NsIgorUkRFUEVORFNfJHtQTn0gKz0gImxpYmNyeXB0byIKK1BST1ZJREVTICs9ICJwb2xhcnNzbCIKK1JQUk9WSURFU18ke1BOfSA9ICJwb2xhcnNzbCIKK0VYVFJBX09FQ01BS0UgPSAiLURVU0VfU0hBUkVEX1BPTEFSU1NMX0xJQlJBUlk9b24gLURMSUJfSU5TVEFMTF9ESVI9JHtiYXNlbGlifSIKKworaW5oZXJpdCBjbWFrZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbmNvbm5lY3Qvb3BlbmNvbm5lY3RfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbmNvbm5lY3Qvb3BlbmNvbm5lY3RfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkM2MyNTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuY29ubmVjdC9vcGVuY29ubmVjdF9naXQuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJPcGVuIGNsaWVudCBmb3IgQ2lzY28gQW55Q29ubmVjdCBWUE4iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MR1BMO21kNT0yNDNiNzI1ZDcxYmI1ZGY0YTFlNTkyMGIzNDRiODZhZCIKKworREVQRU5EUyA9ICJ2cG5jIGxpYnhtbDIgZ251dGxzIGx6NCBrcmI1IGxpYnByb3h5IHBjc2MtbGl0ZSIKK1JERVBFTkRTXyR7UE59ID0gInZwbmMiCisKK1BWID0gIjcuMDYiCisKK1NSQ1JFViA9ICIzNTU0MmQ1MjIwMjY3MmI4YzEyZWNjNjM4Njc0MzIxMjgyNDQwMTNhIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQuaW5mcmFkZWFkLm9yZy91c2Vycy9kd213Mi9vcGVuY29ubmVjdC5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC12cG5jLXNjcmlwdD0ke1NZU1JPT1RfREVTVERJUn0ke3N5c2NvbmZkaXJ9L3ZwbmMvdnBuYy1zY3JpcHQgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtc3RhdGljIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmVsYXlkL3JlbGF5ZF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yZWxheWQvcmVsYXlkX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYWIyYWI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmVsYXlkL3JlbGF5ZF9naXQuYmIKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT04gPSAiTGF5ZXIgMyByZWxheSBkYWVtb24iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9tYWluLmM7ZW5kbGluZT0xNzttZDU9ODZhYWQ3OTkwODU2ODNlMGEyZTFjMjY4NGEyMGJhYjIiCisKK0RFUEVORFMgPSAibGlidWJveCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9uYmQubmFtZS9yZWxheWQuZ2l0IgorCitTUkNSRVYgPSAiMjk3MGZmNjBiYWM2YjcwZWNiNjgyNzc5ZDVjNzc2ZGM1NTlkYzBiOSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvMDAtZml4LXR5cG9zLWluLW1hbi1wYWdlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhLTQuNC4yLzAwLWZpeC10eXBvcy1pbi1tYW4tcGFnZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk0YmMzMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhLTQuNC4yLzAwLWZpeC10eXBvcy1pbi1tYW4tcGFnZXMucGF0Y2gKQEAgLTAsMCArMSwxMDggQEAKK0Zyb20gMTU3MzYzODIxMmE5NzMzYTQ0OTM5YTRkMzhhMjI2ZjM4ZGNhMzZmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hlbGUgQmFsZGVzc2FyaSA8bWljaGVsZUBhY2tzeW4ub3JnPgorRGF0ZTogVHVlLCA5IEp1bCAyMDEzIDIzOjIzOjMzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCB0eXBvcyBpbiBtYW4tcGFnZXMKKworRml4IHNvbWUgdHlwb3MgaW4gdGhlIG1hbi1wYWdlcy4KKworU2lnbmVkLW9mZi1ieTogTWljaGVsZSBCYWxkZXNzYXJpIDxtaWNoZWxlQGFja3N5bi5vcmc+CitSZXZpZXdlZC1ieTogU2ltbyBTb3JjZSA8aWRyYUBzYW1iYS5vcmc+CisKK0F1dG9idWlsZC1Vc2VyKG1hc3Rlcik6IFNpbW8gU29yY2UgPGlkcmFAc2FtYmEub3JnPgorQXV0b2J1aWxkLURhdGUobWFzdGVyKTogV2VkIEp1bCAxMCAxNjo0NTowNyBDRVNUIDIwMTMgb24gc24tZGV2ZWwtMTA0CistLS0KKyBkb2NzLXhtbC9tYW5wYWdlcy9kYndyYXBfdG9vbC4xLnhtbCAgICAgICAgICAgICAgfCAyICstCisgZG9jcy14bWwvbWFucGFnZXMvaWRtYXBfYXV0b3JpZC44LnhtbCAgICAgICAgICAgIHwgMiArLQorIGRvY3MteG1sL21hbnBhZ2VzL25ldC44LnhtbCAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBkb2NzLXhtbC9tYW5wYWdlcy9wZGJlZGl0LjgueG1sICAgICAgICAgICAgICAgICAgfCAyICstCisgZG9jcy14bWwvbWFucGFnZXMvc2FtYmEuNy54bWwgICAgICAgICAgICAgICAgICAgIHwgMiArLQorIGRvY3MteG1sL21hbnBhZ2VzL3NtYmNsaWVudC4xLnhtbCAgICAgICAgICAgICAgICB8IDIgKy0KKyBkb2NzLXhtbC9tYW5wYWdlcy9zbWJwYXNzd2QuNS54bWwgICAgICAgICAgICAgICAgfCAyICstCisgZG9jcy14bWwvbWFucGFnZXMvdmZzX3NtYl90cmFmZmljX2FuYWx5emVyLjgueG1sIHwgMiArLQorIDggZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitJbmRleDogc2FtYmEtNC4xLjExL2RvY3MteG1sL21hbnBhZ2VzL3NtYnN0YXR1cy4xLnhtbAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHNhbWJhLTQuMS4xMS5vcmlnL2RvY3MteG1sL21hbnBhZ2VzL3NtYnN0YXR1cy4xLnhtbAorKysrIHNhbWJhLTQuMS4xMS9kb2NzLXhtbC9tYW5wYWdlcy9zbWJzdGF0dXMuMS54bWwKK0BAIC0xMzcsNiArMTM3LDEzIEBACisgCQk8L2xpc3RpdGVtPgorIAkJPC92YXJsaXN0ZW50cnk+CisgCisrCQk8dmFybGlzdGVudHJ5PgorKwkJPHRlcm0+LW58LS1udW1lcmljPC90ZXJtPgorKwkJPGxpc3RpdGVtPjxwYXJhPmNhdXNlcyBzbWJzdGF0dXMgdG8gZGlzcGxheSBudW1lcmljIFVJRHMgYW5kIEdJRHMgaW5zdGVhZCBvZgorKwkJCQlyZXNvbHZpbmcgdGhlbSB0byBuYW1lcy48L3BhcmE+CisrCQk8L2xpc3RpdGVtPgorKwkJPC92YXJsaXN0ZW50cnk+CisrCisgCTwvdmFyaWFibGVsaXN0PgorIDwvcmVmc2VjdDE+CisgCitJbmRleDogc2FtYmEtNC4xLjExL2RvY3MteG1sL21hbnBhZ2VzL3NoYXJlc2VjLjEueG1sCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gc2FtYmEtNC4xLjExLm9yaWcvZG9jcy14bWwvbWFucGFnZXMvc2hhcmVzZWMuMS54bWwKKysrKyBzYW1iYS00LjEuMTEvZG9jcy14bWwvbWFucGFnZXMvc2hhcmVzZWMuMS54bWwKK0BAIC0xMjksNiArMTI5LDEzIEBACisgCQk8L3BhcmE+PC9saXN0aXRlbT4KKyAJCTwvdmFybGlzdGVudHJ5PgorIAorKwkJPHZhcmxpc3RlbnRyeT4KKysJCTx0ZXJtPi1TfC0tc2V0c2RkbD1TVFJJTkc8L3Rlcm0+CisrCQk8bGlzdGl0ZW0+PHBhcmE+CisrCQlTZXQgc2VjdXJpdHkgZGVzY3JpcHRvciBieSBwcm92aWRpbmcgQUNMIGluIFNEREwgZm9ybWF0LgorKwkJPC9wYXJhPjwvbGlzdGl0ZW0+CisrCQk8L3Zhcmxpc3RlbnRyeT4KKysKKyAJCSZzdGRhcmcuaGVscDsKKyAJCSZzdGRhcmcuc2VydmVyLmRlYnVnOworIAkJJnBvcHQuY29tbW9uLnNhbWJhOworSW5kZXg6IHNhbWJhLTQuMS4xMS9kb2NzLXhtbC9idWlsZC9EVEQvc2FtYmEuZW50aXRpZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBzYW1iYS00LjEuMTEub3JpZy9kb2NzLXhtbC9idWlsZC9EVEQvc2FtYmEuZW50aXRpZXMKKysrKyBzYW1iYS00LjEuMTEvZG9jcy14bWwvYnVpbGQvRFREL3NhbWJhLmVudGl0aWVzCitAQCAtMjcwLDYgKzI3MCw0NCBAQCBmaWxlLgorICZwb3B0LmNvbW1vbi5zYW1iYTsKKyAnPgorIAorKzwhRU5USVRZIHN0ZGFyZy5zaWduaW5nICcKKys8dmFybGlzdGVudHJ5PgorKzx0ZXJtPi1TfC0tc2lnbmluZyBvbnxvZmZ8cmVxdWlyZWQ8L3Rlcm0+CisrPGxpc3RpdGVtPjxwYXJhPlNldCB0aGUgY2xpZW50IHNpZ25pbmcgc3RhdGUuCisrPC9wYXJhPjwvbGlzdGl0ZW0+CisrPC92YXJsaXN0ZW50cnk+CisrJz4KKysKKys8IUVOVElUWSBzdGRhcmcubWFjaGluZXBhc3MgJworKzx2YXJsaXN0ZW50cnk+CisrPHRlcm0+LVB8LS1tYWNoaW5lLXBhc3M8L3Rlcm0+CisrPGxpc3RpdGVtPjxwYXJhPlVzZSBzdG9yZWQgbWFjaGluZSBhY2NvdW50IHBhc3N3b3JkLgorKzwvcGFyYT48L2xpc3RpdGVtPgorKzwvdmFybGlzdGVudHJ5PgorKyc+CisrCisrPCFFTlRJVFkgc3RkYXJnLmVuY3J5cHQgJworKzx2YXJsaXN0ZW50cnk+CisrPHRlcm0+LWV8LS1lbmNyeXB0PC90ZXJtPgorKzxsaXN0aXRlbT48cGFyYT4KKytUaGlzIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXIgcmVxdWlyZXMgdGhlIHJlbW90ZQorK3NlcnZlciBzdXBwb3J0IHRoZSBVTklYIGV4dGVuc2lvbnMgb3IgdGhhdCB0aGUgU01CMyBwcm90b2NvbCBoYXMgYmVlbiBzZWxlY3RlZC4KKytSZXF1ZXN0cyB0aGF0IHRoZSBjb25uZWN0aW9uIGJlIGVuY3J5cHRlZC4gTmVnb3RpYXRlcyBTTUIgZW5jcnlwdGlvbiB1c2luZyBlaXRoZXIKKytTTUIzIG9yIFBPU0lYIGV4dGVuc2lvbnMgdmlhIEdTU0FQSS4gVXNlcyB0aGUgZ2l2ZW4gY3JlZGVudGlhbHMgZm9yCisrdGhlIGVuY3J5cHRpb24gbmVnb3RpYXRpb24gKGVpdGhlciBrZXJiZXJvcyBvciBOVExNdjEvdjIgaWYgZ2l2ZW4KKytkb21haW4vdXNlcm5hbWUvcGFzc3dvcmQgdHJpcGxlLiBGYWlscyB0aGUgY29ubmVjdGlvbiBpZiBlbmNyeXB0aW9uCisrY2Fubm90IGJlIG5lZ290aWF0ZWQuCisrPC9wYXJhPjwvbGlzdGl0ZW0+CisrPC92YXJsaXN0ZW50cnk+CisrJz4KKysKKys8IUVOVElUWSBzdGRhcmcucHdudGhhc2ggJworKzx2YXJsaXN0ZW50cnk+CisrPHRlcm0+LS1wdy1udC1oYXNoPC90ZXJtPgorKzxsaXN0aXRlbT48cGFyYT5UaGUgc3VwcGxpZWQgcGFzc3dvcmQgaXMgdGhlIE5UIGhhc2guCisrPC9wYXJhPjwvbGlzdGl0ZW0+CisrPC92YXJsaXN0ZW50cnk+CisrJz4KKyAKKyA8IUVOVElUWSBzdGRhcmcucmVzb2x2ZS5vcmRlciAnCisgPHZhcmxpc3RlbnRyeT4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhLTQuNC4yLzAwMDYtYXZvaWQtdXNpbmctY29sb24taW4tdGhlLWNoZWNraW5nLW1zZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhLTQuNC4yLzAwMDYtYXZvaWQtdXNpbmctY29sb24taW4tdGhlLWNoZWNraW5nLW1zZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGY3YTM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvMDAwNi1hdm9pZC11c2luZy1jb2xvbi1pbi10aGUtY2hlY2tpbmctbXNnLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gNTQxM2Y5NzI5MGQzMTI2MjYyZWIzMDllY2JjZjc3Njk1MDlmMmExMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDEwIE5vdiAyMDE1IDAwOjQ4OjM1IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggNi83XSBhdm9pZCB1c2luZyBjb2xvbiBpbiB0aGUgY2hlY2tpbmcgbXNnCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitjb2xvbiBpcyB1c2VkIGFzIHRoZSBzZXBhcmF0b3Igd2hlbiBwYXJzZSBmcm9tCithIGFuc3dlcnMgZmlsZSwgdGhlIGNvbG9uIGhlcmUgbWFrZXMgaXQgbmV2ZXIKK2dldCB0aGUgcmlnaHQgYW5zd2VyLgorCitTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgd3NjcmlwdF9jb25maWd1cmVfc3lzdGVtX21pdGtyYjUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS93c2NyaXB0X2NvbmZpZ3VyZV9zeXN0ZW1fbWl0a3JiNSBiL3dzY3JpcHRfY29uZmlndXJlX3N5c3RlbV9taXRrcmI1CitpbmRleCBhNjJkMDBiLi5hMmQ4OWYwIDEwMDY0NAorLS0tIGEvd3NjcmlwdF9jb25maWd1cmVfc3lzdGVtX21pdGtyYjUKKysrKyBiL3dzY3JpcHRfY29uZmlndXJlX3N5c3RlbV9taXRrcmI1CitAQCAtMjQwLDcgKzI0MCw3IEBAIGNvbmYuQ0hFQ0tfQ09ERSgnJycKKyAgICAgICAgJycnLAorICAgICAnSEFWRV9XUkZJTEVfS0VZVEFCJywKKyAgICAgaGVhZGVycz0na3JiNS5oJywgbGliPSdrcmI1JywgZXhlY3V0ZT1UcnVlLAorLSAgICBtc2c9IkNoZWNraW5nIHdoZXRoZXIgdGhlIFdSRklMRTota2V5dGFiIGlzIHN1cHBvcnRlZCIpOworKyAgICBtc2c9IkNoZWNraW5nIHdoZXRoZXIgdGhlIFdSRklMRSAta2V5dGFiIGlzIHN1cHBvcnRlZCIpOworICMgQ2hlY2sgZm9yIEtSQjVfREVQUkVDQVRFRCBoYW5kbGluZworIGNvbmYuQ0hFQ0tfQ09ERSgnJycjZGVmaW5lIEtSQjVfREVQUkVDQVRFRCAxCisgICAgICAgICNpbmNsdWRlIDxrcmI1Lmg+JycnLAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYS00LjQuMi8xNi1kby1ub3QtY2hlY2steHNsdHByb2MtbWFucGFnZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYS00LjQuMi8xNi1kby1ub3QtY2hlY2steHNsdHByb2MtbWFucGFnZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM3Y2ZjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhLTQuNC4yLzE2LWRvLW5vdC1jaGVjay14c2x0cHJvYy1tYW5wYWdlcy5wYXRjaApAQCAtMCwwICsxLDQzIEBACitEb24ndCBjaGVjayB4c2x0cHJvYyBtYW5wYWdlcworCitTaWduZWQtb2ZmLWJ5OiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KKworSW5kZXg6IHNhbWJhLTQuNC4yL2xpYi9sZGIvd3NjcmlwdAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHNhbWJhLTQuNC4yLm9yaWcvbGliL2xkYi93c2NyaXB0CisrKysgc2FtYmEtNC40LjIvbGliL2xkYi93c2NyaXB0CitAQCAtNjUsNyArNjUsNyBAQCBkZWYgY29uZmlndXJlKGNvbmYpOgorICAgICAgICAgICAgICAgICBjb25mLmRlZmluZSgnVVNJTkdfU1lTVEVNX0xEQicsIDEpCisgCisgICAgIGlmIGNvbmYuZW52LnN0YW5kYWxvbmVfbGRiOgorLSAgICAgICAgY29uZi5DSEVDS19YU0xUUFJPQ19NQU5QQUdFUygpCisrICAgICAgICAjY29uZi5DSEVDS19YU0xUUFJPQ19NQU5QQUdFUygpCisgCisgICAgICAgICAjIHdlIG5lZWQgdGhpcyBmb3IgdGhlIGxkYXAgYmFja2VuZAorICAgICAgICAgaWYgY29uZi5DSEVDS19GVU5DU19JTignYmVyX2ZsdXNoIGxkYXBfb3BlbiBsZGFwX2luaXRpYWxpemUnLCAnbGJlciBsZGFwJywgaGVhZGVycz0nbGJlci5oIGxkYXAuaCcpOgorSW5kZXg6IHNhbWJhLTQuNC4yL2xpYi90YWxsb2Mvd3NjcmlwdAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHNhbWJhLTQuNC4yLm9yaWcvbGliL3RhbGxvYy93c2NyaXB0CisrKysgc2FtYmEtNC40LjIvbGliL3RhbGxvYy93c2NyaXB0CitAQCAtNTYsNyArNTYsNyBAQCBkZWYgY29uZmlndXJlKGNvbmYpOgorICAgICBpZiBjb25mLmVudi5zdGFuZGFsb25lX3RhbGxvYzoKKyAgICAgICAgIGNvbmYuZW52LlRBTExPQ19DT01QQVQxID0gT3B0aW9ucy5vcHRpb25zLlRBTExPQ19DT01QQVQxCisgCistICAgIGNvbmYuQ0hFQ0tfWFNMVFBST0NfTUFOUEFHRVMoKQorKyAgICAjY29uZi5DSEVDS19YU0xUUFJPQ19NQU5QQUdFUygpCisgCisgICAgIGlmIG5vdCBjb25mLmVudi5kaXNhYmxlX3B5dGhvbjoKKyAgICAgICAgICMgYWxzbyBkaXNhYmxlIGlmIHdlIGRvbid0IGhhdmUgdGhlIHB5dGhvbiBsaWJzIGluc3RhbGxlZAorSW5kZXg6IHNhbWJhLTQuNC4yL2xpYi90ZGIvd3NjcmlwdAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHNhbWJhLTQuNC4yLm9yaWcvbGliL3RkYi93c2NyaXB0CisrKysgc2FtYmEtNC40LjIvbGliL3RkYi93c2NyaXB0CitAQCAtOTIsNyArOTIsNyBAQCBkZWYgY29uZmlndXJlKGNvbmYpOgorICAgICAgICAgbm90IGNvbmYuZW52LmRpc2FibGVfdGRiX211dGV4X2xvY2tpbmcpOgorICAgICAgICAgY29uZi5kZWZpbmUoJ1VTRV9UREJfTVVURVhfTE9DS0lORycsIDEpCisgCistICAgIGNvbmYuQ0hFQ0tfWFNMVFBST0NfTUFOUEFHRVMoKQorKyAgICAjY29uZi5DSEVDS19YU0xUUFJPQ19NQU5QQUdFUygpCisgCisgICAgIGlmIG5vdCBjb25mLmVudi5kaXNhYmxlX3B5dGhvbjoKKyAgICAgICAgICMgYWxzbyBkaXNhYmxlIGlmIHdlIGRvbid0IGhhdmUgdGhlIHB5dGhvbiBsaWJzIGluc3RhbGxlZApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvMjAtZG8tbm90LWltcG9ydC10YXJnZXQtbW9kdWxlLXdoaWxlLWNyb3NzLWNvbXBpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYS00LjQuMi8yMC1kby1ub3QtaW1wb3J0LXRhcmdldC1tb2R1bGUtd2hpbGUtY3Jvc3MtY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTEyYjNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvMjAtZG8tbm90LWltcG9ydC10YXJnZXQtbW9kdWxlLXdoaWxlLWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSw1OCBAQAorU29tZSBtb2R1bGVzIHN1Y2ggYXMgZHluYW1pYyBsaWJyYXJ5IG1heWJlIGNhbm4ndCBiZSBpbXBvcnRlZCB3aGlsZSBjcm9zcyBjb21waWxlLCAKK3dlIGp1c3QgY2hlY2sgd2hldGhlciBkb2VzIHRoZSBtb2R1bGUgZXhpc3QuCisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorCitJbmRleDogc2FtYmEtNC40LjIvYnVpbGR0b29scy93YWZzYW1iYS9zYW1iYV9idW5kbGVkLnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gc2FtYmEtNC40LjIub3JpZy9idWlsZHRvb2xzL3dhZnNhbWJhL3NhbWJhX2J1bmRsZWQucHkKKysrKyBzYW1iYS00LjQuMi9idWlsZHRvb2xzL3dhZnNhbWJhL3NhbWJhX2J1bmRsZWQucHkKK0BAIC0yLDYgKzIsNyBAQAorIAorIGltcG9ydCBzeXMKKyBpbXBvcnQgQnVpbGQsIE9wdGlvbnMsIExvZ3MKKytpbXBvcnQgaW1wLCBvcworIGZyb20gQ29uZmlndXJlIGltcG9ydCBjb25mCisgZnJvbSBzYW1iYV91dGlscyBpbXBvcnQgVE9fTElTVAorIAorQEAgLTIzMCwxNyArMjMxLDMyIEBAIGRlZiBDSEVDS19CVU5ETEVEX1NZU1RFTV9QWVRIT04oY29uZiwgbGkKKyAgICAgIyB2ZXJzaW9ucworICAgICBtaW52ZXJzaW9uID0gbWluaW11bV9saWJyYXJ5X3ZlcnNpb24oY29uZiwgbGlibmFtZSwgbWludmVyc2lvbikKKyAKKy0gICAgdHJ5OgorLSAgICAgICAgbSA9IF9faW1wb3J0X18obW9kdWxlbmFtZSkKKy0gICAgZXhjZXB0IEltcG9ydEVycm9yOgorLSAgICAgICAgZm91bmQgPSBGYWxzZQorLSAgICBlbHNlOgorKyAgICAjIEZpbmQgbW9kdWxlIGluIFBZVEhPTlBBVEgKKysgICAgc3R1ZmYgPSBpbXAuZmluZF9tb2R1bGUobW9kdWxlbmFtZSwgW29zLmVudmlyb25bIlBZVEhPTlBBVEgiXV0pCisrICAgIGlmIHN0dWZmOgorICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHZlcnNpb24gPSBtLl9fdmVyc2lvbl9fCistICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisrICAgICAgICAgICAgbSA9IGltcC5sb2FkX21vZHVsZShtb2R1bGVuYW1lLCBzdHVmZlswXSwgc3R1ZmZbMV0sIHN0dWZmWzJdKQorKyAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgorICAgICAgICAgICAgIGZvdW5kID0gRmFsc2UKKysKKysgICAgICAgICAgICBpZiBjb25mLmVudi5DUk9TU19DT01QSUxFOgorKyAgICAgICAgICAgICAgICAjIFNvbWUgbW9kdWxlcyBzdWNoIGFzIGR5bmFtaWMgbGlicmFyeSBtYXliZSBjYW5uJ3QgYmUgaW1wb3J0ZWQKKysgICAgICAgICAgICAgICAgIyB3aGlsZSBjcm9zcyBjb21waWxlLCB3ZSBqdXN0IGNoZWNrIHdoZXRoZXIgdGhlIG1vZHVsZSBleGlzdAorKyAgICAgICAgICAgICAgICBMb2dzLndhcm4oJ0Nyb3NzIG1vZHVsZVslc10gaGFzIGJlZW4gZm91bmQsIGJ1dCBjYW4gbm90IGJlIGxvYWRlZC4nICUgKHN0dWZmWzFdKSkKKysgICAgICAgICAgICAgICAgZm91bmQgPSBUcnVlCisgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIGZvdW5kID0gdHVwbGl6ZV92ZXJzaW9uKHZlcnNpb24pID49IHR1cGxpemVfdmVyc2lvbihtaW52ZXJzaW9uKQorKyAgICAgICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAgdmVyc2lvbiA9IG0uX192ZXJzaW9uX18KKysgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisrICAgICAgICAgICAgICAgIGZvdW5kID0gRmFsc2UKKysgICAgICAgICAgICBlbHNlOgorKyAgICAgICAgICAgICAgICBmb3VuZCA9IHR1cGxpemVfdmVyc2lvbih2ZXJzaW9uKSA+PSB0dXBsaXplX3ZlcnNpb24obWludmVyc2lvbikKKysgICAgICAgIGZpbmFsbHk6CisrICAgICAgICAgICAgaWYgc3R1ZmZbMF06CisrICAgICAgICAgICAgICAgIHN0dWZmWzBdLmNsb3NlKCkKKysgICAgZWxzZToKKysgICAgICAgIGZvdW5kID0gRmFsc2UKKysKKyAgICAgaWYgbm90IGZvdW5kIGFuZCBub3QgY29uZi5MSUJfTUFZX0JFX0JVTkRMRUQobGlibmFtZSk6CisgICAgICAgICBMb2dzLmVycm9yKCdFUlJPUjogUHl0aG9uIG1vZHVsZSAlcyBvZiB2ZXJzaW9uICVzIG5vdCBmb3VuZCwgYW5kIGJ1bmRsaW5nIGRpc2FibGVkJyAlIChsaWJuYW1lLCBtaW52ZXJzaW9uKSkKKyAgICAgICAgIHN5cy5leGl0KDEpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYS00LjQuMi8yMS1hZGQtY29uZmlnLW9wdGlvbi13aXRob3V0LXZhbGdyaW5kLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvMjEtYWRkLWNvbmZpZy1vcHRpb24td2l0aG91dC12YWxncmluZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjVhYzI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvMjEtYWRkLWNvbmZpZy1vcHRpb24td2l0aG91dC12YWxncmluZC5wYXRjaApAQCAtMCwwICsxLDYzIEBACitGcm9tIDlhMmQ2MzE1ZmYyMDZiMmE0NzEwMGRmZDg1YWZlM2FmNTY1NzY5OTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMTAgRGVjIDIwMTUgMDQ6MjA6NTEgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGNvbmZpZyBvcHRpb24gd2l0aG91dC12YWxncmluZAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWIvcmVwbGFjZS93c2NyaXB0IHwgNCArKystCisgc291cmNlMy93c2NyaXB0ICAgICB8IDUgKysrKy0KKyB3c2NyaXB0ICAgICAgICAgICAgIHwgNCArKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL3JlcGxhY2Uvd3NjcmlwdCBiL2xpYi9yZXBsYWNlL3dzY3JpcHQKK2luZGV4IGYwMDQwYjEuLmFjYTczYWYgMTAwNjQ0CistLS0gYS9saWIvcmVwbGFjZS93c2NyaXB0CisrKysgYi9saWIvcmVwbGFjZS93c2NyaXB0CitAQCAtMTAxLDcgKzEwMSw5IEBAIHN0cnVjdCBmb28gYmFyID0geyAueSA9ICdYJywgLnggPSAxIH07CisgCisgICAgIGNvbmYuQ0hFQ0tfQ09ERSgnJywgaGVhZGVycz0ncnBjL3JwYy5oIHJwY3N2Yy95cF9wcm90LmgnLCBkZWZpbmU9J0hBVkVfUlBDU1ZDX1lQX1BST1RfSCcpCisgCistICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygndmFsZ3JpbmQuaCB2YWxncmluZC92YWxncmluZC5oIHZhbGdyaW5kL21lbWNoZWNrLmgnKQorKyAgICBpZiBub3QgT3B0aW9ucy5vcHRpb25zLmRpc2FibGVfdmFsZ3JpbmQ6CisrICAgICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3ZhbGdyaW5kLmggdmFsZ3JpbmQvdmFsZ3JpbmQuaCB2YWxncmluZC9tZW1jaGVjay5oJykKKysKKyAgICAgY29uZi5DSEVDS19IRUFERVJTKCduc3NfY29tbW9uLmggbnNzd2l0Y2guaCBuc19hcGkuaCcpCisgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygnc3lzL2V4dGF0dHIuaCBzeXMvZWEuaCBzeXMvcHJvcGxpc3QuaCBzeXMvY2RlZnMuaCcpCisgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygndXRtcC5oIHV0bXB4LmggbGFzdGxvZy5oIG1hbGxvYy5oJykKK2RpZmYgLS1naXQgYS9zb3VyY2UzL3dzY3JpcHQgYi9zb3VyY2UzL3dzY3JpcHQKK2luZGV4IGJhYzNkZDUuLmE1YzUxZWEgMTAwNjQ0CistLS0gYS9zb3VyY2UzL3dzY3JpcHQKKysrKyBiL3NvdXJjZTMvd3NjcmlwdAorQEAgLTEwMTYsNyArMTAxNiwxMCBAQCBzeXNjYWxsKFNZU19zZXRncm91cHMzMiwgMCwgTlVMTCk7CisgICAgICAgICAgICAgTG9ncy53YXJuKCItLXdpdGgtZG5zdXBkYXRlPXllcyBidXQgZ3NzYXBpIHN1cHBvcnQgbm90IHN1ZmZpY2llbnQiKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBjb25mLkRFRklORSgnV0lUSF9ETlNfVVBEQVRFUycsIDEpCistICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygndmFsZ3JpbmQuaCB2YWxncmluZC92YWxncmluZC5oIHZhbGdyaW5kL21lbWNoZWNrLmgnKQorKworKyAgICBpZiBub3QgT3B0aW9ucy5vcHRpb25zLmRpc2FibGVfdmFsZ3JpbmQ6CisrICAgICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3ZhbGdyaW5kLmggdmFsZ3JpbmQvdmFsZ3JpbmQuaCB2YWxncmluZC9tZW1jaGVjay5oJykKKysKKyAgICAgaWYgT3B0aW9ucy5vcHRpb25zLmRldmVsb3BlcjoKKyAgICAgICAgIGlmIGNvbmYuQ09ORklHX1NFVCgnSEFWRV9WQUxHUklORF9IJykgb3IgY29uZi5DT05GSUdfU0VUKCdIQVZFX1ZBTEdSSU5EX1ZBTEdSSU5EX0gnKToKKyAgICAgICAgICAgICBjb25mLkRFRklORSgnVkFMR1JJTkQnLCAnMScpCitkaWZmIC0tZ2l0IGEvd3NjcmlwdCBiL3dzY3JpcHQKK2luZGV4IDc2NzljMGYuLjY4MWFjMTcgMTAwNjQ0CistLS0gYS93c2NyaXB0CisrKysgYi93c2NyaXB0CitAQCAtNzIsNiArNzIsMTAgQEAgZGVmIHNldF9vcHRpb25zKG9wdCk6CisgICAgICAgICAgICAgICAgICAgIGhlbHA9KCJEaXNhYmxlIHN5c3RlbWQgaW50ZWdyYXRpb24iKSwKKyAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdzdG9yZV9mYWxzZScsIGRlc3Q9J2VuYWJsZV9zeXN0ZW1kJykKKyAKKysgICAgb3B0LmFkZF9vcHRpb24oJy0td2l0aG91dC12YWxncmluZCcsCisrICAgICAgICAgICAgICAgICAgIGhlbHA9KCJEaXNhYmxlIHVzZSBvZiB0aGUgdmFsZ3JpbmQgaGVhZGVycyIpLAorKyAgICAgICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSdkaXNhYmxlX3ZhbGdyaW5kJywgZGVmYXVsdD1GYWxzZSkKKysKKyAgICAgZ3IgPSBvcHQub3B0aW9uX2dyb3VwKCdkZXZlbG9wZXIgb3B0aW9ucycpCisgCisgICAgIG9wdC50b29sX29wdGlvbnMoJ3B5dGhvbicpICMgb3B0aW9ucyBmb3IgZGlzYWJsaW5nIHB5YyBvciBweW8gY29tcGlsYXRpb24KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvdm9sYXRpbGVzLjAzX3NhbWJhIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmEtNC40LjIvdm9sYXRpbGVzLjAzX3NhbWJhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiZGZhN2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYS00LjQuMi92b2xhdGlsZXMuMDNfc2FtYmEKQEAgLTAsMCArMSwzIEBACisjIDx0eXBlPiA8b3duZXI+IDxncm91cD4gPG1vZGU+IDxwYXRoPiA8bGlua3NvdXJjZT4KK2Qgcm9vdCByb290IDA3NTUgL3Zhci9sb2cvc2FtYmEgbm9uZQorZCByb290IHJvb3QgMDc1NSAvdmFyL3J1bi9zYW1iYSBub25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYV80LjQuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhXzQuNC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMjIyMGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYV80LjQuMi5iYgpAQCAtMCwwICsxLDMyMCBAQAorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCisKK0xJQ0VOU0UgPSAiR1BMLTMuMCsgJiBMR1BMLTMuMCsgJiBHUEwtMi4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0xHUEwtMy4wO21kNT1iZmNjZmU5NTIyNjlmZmYyYjQwN2RkMTFmMmYzMDgzYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9HUEwtMi4wO21kNT04MDFmODA5ODBkMTcxZGQ2NDI1NjEwODMzYTIyZGJlNiAiCisKK1NBTUJBX01JUlJPUiA9ICJodHRwOi8vc2FtYmEub3JnL3NhbWJhL2Z0cCIKK01JUlJPUlMgKz0gIlwKKyR7U0FNQkFfTUlSUk9SfSAgICBodHRwOi8vbWlycm9yLmludGVybm9kZS5vbi5uZXQvcHViL3NhbWJhIFxuIFwKKyR7U0FNQkFfTUlSUk9SfSAgICBodHRwOi8vd3d3Lm1pcnJvcnNlcnZpY2Uub3JnL3NpdGVzL2Z0cC5zYW1iYS5vcmcgXG4gXAorIgorCitTUkNfVVJJID0gIiR7U0FNQkFfTUlSUk9SfS9zdGFibGUvc2FtYmEtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwLWZpeC10eXBvcy1pbi1tYW4tcGFnZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMTYtZG8tbm90LWNoZWNrLXhzbHRwcm9jLW1hbnBhZ2VzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzIwLWRvLW5vdC1pbXBvcnQtdGFyZ2V0LW1vZHVsZS13aGlsZS1jcm9zcy1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzIxLWFkZC1jb25maWctb3B0aW9uLXdpdGhvdXQtdmFsZ3JpbmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1hdm9pZC11c2luZy1jb2xvbi1pbi10aGUtY2hlY2tpbmctbXNnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zYW1iYSBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDNhNjVhM2FkZjA4Y2ViMTYzNmFkNTlkMjM0ZDdmOWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWFlY2Q0MWE4NWViYjk1MDdiOGRiOTg1NmFkYTJhOTQ5Mzc2ZTlkNTNjZjc1NjY0YjU0OTM2NThmNmU1OTI2YSIKKworaW5oZXJpdCBzeXN0ZW1kIHdhZi1zYW1iYSBjcGFuLWJhc2UgcGVybG5hdGl2ZQorIyByZW1vdmUgZGVmYXVsdCBhZGRlZCBSREVQRU5EUyBvbiBwZXJsCitSREVQRU5EU18ke1BOfV9yZW1vdmUgPSAicGVybCIKKworREVQRU5EUyArPSAicmVhZGxpbmUgdmlydHVhbC9saWJpY29udiB6bGliIHBvcHQgbGlidGFsbG9jIGxpYnRkYiBsaWJ0ZXZlbnQgbGlibGRiIGtyYjUgbGliYnNkIGxpYmFpbyIKKworU1lTVklOSVRUWVBFX2xpbnV4c3RkYmFzZSA9ICJsc2IiCitTWVNWSU5JVFRZUEUgPSAic3lzdiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICcke1NZU1ZJTklUVFlQRX0nLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3plcm9jb25mJywgJ3plcm9jb25mJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgYWNsIGN1cHMgbGRhcCBcCisiCisKK1JERVBFTkRTXyR7UE59LWJhc2UgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2xzYicsICdsc2InLCAnJywgZCl9IgorUkRFUEVORFNfJHtQTn0tY3RkYi10ZXN0cyArPSAiYmFzaCIKKworUEFDS0FHRUNPTkZJR1thY2xdID0gIi0td2l0aC1hY2wtc3VwcG9ydCwtLXdpdGhvdXQtYWNsLXN1cHBvcnQsYWNsIgorUEFDS0FHRUNPTkZJR1tmYW1dID0gIi0td2l0aC1mYW0sLS13aXRob3V0LWZhbSxnYW1pbiIKK1BBQ0tBR0VDT05GSUdbcGFtXSA9ICItLXdpdGgtcGFtIC0td2l0aC1wYW1tb2R1bGVzZGlyPSR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5LC0td2l0aG91dC1wYW0sbGlicGFtIgorUEFDS0FHRUNPTkZJR1tsc2JdID0gIiwsbHNiIgorUEFDS0FHRUNPTkZJR1tzeXN2XSA9ICIsLHN5c3Zpbml0IgorUEFDS0FHRUNPTkZJR1tjdXBzXSA9ICItLWVuYWJsZS1jdXBzLC0tZGlzYWJsZS1jdXBzLGN1cHMiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0td2l0aC1sZGFwLC0td2l0aG91dC1sZGFwLG9wZW5sZGFwIgorUEFDS0FHRUNPTkZJR1tzYXNsXSA9ICIsLGN5cnVzLXNhc2wiCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kLC0td2l0aG91dC1zeXN0ZW1kLHN5c3RlbWQiCitQQUNLQUdFQ09ORklHW2RtYXBpXSA9ICItLXdpdGgtZG1hcGksLS13aXRob3V0LWRtYXBpLGRtYXBpIgorUEFDS0FHRUNPTkZJR1t6ZXJvY29uZl0gPSAiLS1lbmFibGUtYXZhaGksLS1kaXNhYmxlLWF2YWhpLGF2YWhpIgorUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLC0td2l0aG91dC12YWxncmluZCx2YWxncmluZCwiCitQQUNLQUdFQ09ORklHW2x0dG5nXSA9ICItLXdpdGgtbHR0bmcsIC0td2l0aG91dC1sdHRuZyxsdHRuZy11c3QiCitQQUNLQUdFQ09ORklHW2FyY2hpdmVdID0gIi0td2l0aC1saWJhcmNoaXZlLCAtLXdpdGhvdXQtbGliYXJjaGl2ZSwgbGliYXJjaGl2ZSIKKworCitTQU1CQTRfSURNQVBfTU9EVUxFUz0iaWRtYXBfYWQsaWRtYXBfcmlkLGlkbWFwX2FkZXgsaWRtYXBfaGFzaCxpZG1hcF90ZGIyIgorU0FNQkE0X1BEQl9NT0RVTEVTPSJwZGJfdGRic2FtLCR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2xkYXAnLCAncGRiX2xkYXAsJywgJycsIGQpfXBkYl9hZHMscGRiX3NtYnBhc3N3ZCxwZGJfd2JjX3NhbSxwZGJfc2FtYmE0IgorU0FNQkE0X0FVVEhfTU9EVUxFUz0iYXV0aF91bml4LGF1dGhfd2JjLGF1dGhfc2VydmVyLGF1dGhfbmV0bG9nb25kLGF1dGhfc2NyaXB0LGF1dGhfc2FtYmE0IgorU0FNQkE0X01PRFVMRVM9IiR7U0FNQkE0X0lETUFQX01PRFVMRVN9LCR7U0FNQkE0X1BEQl9NT0RVTEVTfSwke1NBTUJBNF9BVVRIX01PRFVMRVN9IgorCitTQU1CQTRfTElCUz0iaGVpbWRhbCwhemxpYiwhcG9wdCwhdGFsbG9jLCFweXRhbGxvYywhcHl0YWxsb2MtdXRpbCwhdGV2ZW50LCFweXRldmVudCwhdGRiLCFweXRkYiwhbGRiLCFweWxkYiIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1maHMgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtcGlkZGlyPS9ydW4gXAorICAgICAgICAgICAgICAgICAtLXdpdGgtc29ja2V0cy1kaXI9L3J1bi9zYW1iYSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1tb2R1bGVzZGlyPSR7bGliZGlyfS9zYW1iYSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1sb2NrZGlyPSR7bG9jYWxzdGF0ZWRpcn0vbGliL3NhbWJhIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWNhY2hlZGlyPSR7bG9jYWxzdGF0ZWRpcn0vbGliL3NhbWJhIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWdudXRscyBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ycGF0aC1pbnN0YWxsIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLXNoYXJlZC1tb2R1bGVzPSR7U0FNQkE0X01PRFVMRVN9IFwKKyAgICAgICAgICAgICAgICAgLS1idW5kbGVkLWxpYnJhcmllcz0ke1NBTUJBNF9MSUJTfSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1zeXN0ZW0tbWl0a3JiNSBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1hZC1kYyBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29uZGl0aW9uYWwoJ1RBUkdFVF9BUkNIJywgJ3g4Nl82NCcsICcnLCAnLS1kaXNhYmxlLWdsdXN0ZXJmcycsIGQpfSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1jbHVzdGVyLXN1cHBvcnQgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtcHJvZmlsaW5nLWRhdGEgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtbGliaWNvbnY9JHtTVEFHSU5HX0RJUl9IT1NUfSR7cHJlZml4fSBcCisgICAgICAgICAgICAgICAgIgorRElTQUJMRV9TVEFUSUMgPSAiIgorCitMREZMQUdTICs9ICItV2wsLXoscmVscm8sLXosbm93IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBmb3IgaSBpbiBubWIgc21iIHdpbmJpbmQ7IGRvCisgICAgICAgICAgICBpbnN0YWxsIC1tIDA2NDQgcGFja2FnaW5nL3N5c3RlbWQvJGkuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBkb25lCisgICAgICAgIHNlZCAtaSAncyxcKEV4ZWNSZWxvYWQ9XCkuKlwoL2tpbGxcKSxcMSR7YmFzZV9iaW5kaXJ9XDIsJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UKKworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKyAgICAgICAgaW5zdGFsbCAtbTY0NCBwYWNrYWdpbmcvc3lzdGVtZC9zYW1iYS5jb25mLnRtcCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL3NhbWJhLmNvbmYKKyAgICAgICAgZWNobyAiZCAke2xvY2Fsc3RhdGVkaXJ9L2xvZy9zYW1iYSAwNzU1IHJvb3Qgcm9vdCAtIiBcCisgICAgICAgICAgICA+PiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL3NhbWJhLmNvbmYKKyAgICBlbGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2xzYicsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSBwYWNrYWdpbmcvTFNCL3NhbWJhLnNoICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgICAgICB1cGRhdGUtcmMuZCAtciAke0R9IHNhbWJhLnNoIHN0YXJ0IDIwIDMgNSAuCisgICAgICAgIHVwZGF0ZS1yYy5kIC1yICR7RH0gc2FtYmEuc2ggc3RhcnQgMjAgMCAxIDYgLgorICAgIGVsaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc3lzdicsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSBwYWNrYWdpbmcvc3lzdi9zYW1iYS5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zYW1iYS5zaAorICAgICAgICBzZWQgLWUgJ3MsL29wdC9zYW1iYS9iaW4sJHtzYmluZGlyfSxnJyBcCisgICAgICAgICAgICAtZSAncywvb3B0L3NhbWJhL3NtYi5jb25mLCR7c3lzY29uZmRpcn0vc2FtYmEvc21iLmNvbmYsZycgXAorICAgICAgICAgICAgLWUgJ3MsL29wdC9zYW1iYS9sb2csJHtsb2NhbHN0YXRlZGlyfS9sb2cvc2FtYmEsZycgXAorICAgICAgICAgICAgLWUgJ3MsL2V0Yy9pbml0LmQvc2FtYmEuc2VydmVyLCR7c3lzY29uZmRpcn0vaW5pdC5kL3NhbWJhLnNoLGcnIFwKKyAgICAgICAgICAgIC1pICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zYW1iYS5zaAorICAgICAgICB1cGRhdGUtcmMuZCAtciAke0R9IHNhbWJhLnNoIHN0YXJ0IDIwIDMgNSAuCisgICAgICAgIHVwZGF0ZS1yYy5kIC1yICR7RH0gc2FtYmEuc2ggc3RhcnQgMjAgMCAxIDYgLgorICAgIGZpCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3NhbWJhCisgICAgZWNobyAiMTI3LjAuMC4xIGxvY2FsaG9zdCIgPiAke0R9JHtzeXNjb25mZGlyfS9zYW1iYS9sbWhvc3RzCisgICAgaW5zdGFsbCAtbTY0NCBwYWNrYWdpbmcvTFNCL3NtYi5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3NhbWJhL3NtYi5jb25mCisgICAgaW5zdGFsbCAtRCAtbSA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuMDNfc2FtYmEgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvMDNfc2FtYmEKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3lzY29uZmlnLworICAgIGluc3RhbGwgLW02NDQgcGFja2FnaW5nL3N5c3RlbWQvc2FtYmEuc3lzY29uZmlnICR7RH0ke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy9zYW1iYQorCisgICAgcm0gLXJmICR7RH0vcnVuICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorfQorCitQQUNLQUdFUyArPSAiJHtQTn0tcHl0aG9uICR7UE59LXB5dGhvbi1kYmcgJHtQTn0tcGlkbCBsaWJ3aW5iaW5kIGxpYndpbmJpbmQtZGJnIGxpYndpbmJpbmQta3JiNS1sb2NhdG9yIgorUEFDS0FHRVMgPSsgImxpYndiY2xpZW50IGxpYm5zcy13aW5iaW5kIHdpbmJpbmQgd2luYmluZC1kYmcgbGlibmV0YXBpIGxpYnNtYnNoYXJlbW9kZXMgXAorICAgICAgICAgICAgIGxpYnNtYmNsaWVudCBsaWJzbWJjbGllbnQtZGV2IGxpYiR7UE59LWJhc2UgJHtQTn0tYmFzZSAke1BOfS1jdGRiLXRlc3RzIgorCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tYmFzZSIKKworRklMRVNfJHtQTn0tYmFzZSA9ICIke3NiaW5kaXJ9L25tYmQgXAorICAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L3NtYmQgXAorICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZCBcCisgICAgICAgICAgICAgICAgICAgICR7bG9jYWxzdGF0ZWRpcn0vbGliL3NhbWJhIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsb2NhbHN0YXRlZGlyfS9sb2cvc2FtYmEgXAorICAgICAgICAgICAgICAgICAgICAke2xvY2Fsc3RhdGVkaXJ9L25tYmQgXAorICAgICAgICAgICAgICAgICAgICAke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3NhbWJhIFwKKyIKKworRklMRVNfJHtQTn0tY3RkYi10ZXN0cyA9ICIke2JpbmRpcn0vY3RkYl9ydW5fdGVzdHMgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vY3RkYi10ZXN0cyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vY3RkYi10ZXN0cyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIC9ydW4vY3RkYiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIgorCisjIGZpZ3VyZWQgb3V0IGJ5CisjIEZJTEVTPSJ0bXAvd29yay9jb3J0ZXhhOWhmLXZmcC1uZW9uLXBva3ktbGludXgtZ251ZWFiaS9zYW1iYS80LjEuMTItcjAvaW1hZ2UvdXNyL3NiaW4vc21iZCB0bXAvd29yay9jb3J0ZXhhOWhmLXZmcC1uZW9uLXBva3ktbGludXgtZ251ZWFiaS9zYW1iYS80LjEuMTItcjAvaW1hZ2UvdXNyL3NiaW4vbm1iZCIKKyMKKyMgd2hpbGUgWyAiJHtGSUxFU30iICE9ICIke09MREZJTEVTfSIgXQorIyBkbworIyAgICAgT0xERklMRVM9IiR7RklMRVN9IgorIyAgICAgTkVFREVEPWB0bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWJleGVjL2FybS1wb2t5LWxpbnV4LWdudWVhYmkuZ2NjLWNyb3NzLWluaXRpYWwtYXJtL2djYy9hcm0tcG9reS1saW51eC1nbnVlYWJpLzUuMi4wL29iamR1bXAgLXggJHtGSUxFU30gfCBncmVwIE5FRURFRCB8IGVncmVwIC1FICdzbyguWzAtOV18JCknIHwgc29ydCAtdSB8IHBlcmwgLU1EYXRhOjpEdW1wZXIgLWxlICd3aGlsZSAoPD4pIHtjaG9tcDsgcHVzaCBAbGliLCAoc3BsaXQpWzFdfTsgcHJpbnQgIigiLCBqb2luKCJ8IiwgQGxpYiksICIpIidgCisjICAgICBORj1gZmluZCB0bXAvd29yay9jb3J0ZXhhOWhmLXZmcC1uZW9uLXBva3ktbGludXgtZ251ZWFiaS9zYW1iYS80LjEuMTItcjAvaW1hZ2UvdXNyL2xpYiAtdHlwZSBmIHwgZWdyZXAgIiR7TkVFREVEfSIgfCBzb3J0IC11YAorIworIyAgICAgRklMRVM9YHBlcmwgLWxlICdmb3JlYWNoIChAQVJHVikgeyAkZnskX30rKyB9OyBwcmludCBqb2luKCIgIiwgc29ydCBrZXlzICVmKScgJHtGSUxFU30gJHtORn1gCisjIGRvbmUKKyMKKyMgTElCUz1gZWNobyAke0ZJTEVTfSB8IHNlZCAtZSAncyx0bXAvd29yay9jb3J0ZXhhOWhmLXZmcC1uZW9uLXBva3ktbGludXgtZ251ZWFiaS9zYW1iYS80LjEuMTItcjAvaW1hZ2UvdXNyL2xpYiwke2xpYmRpcn0sZycgLWUgJ3MsLnNvLlswLTldKy4qJCwuc28uKixnJ2AKKyMgZm9yIGwgaW4gJHtMSUJTfQorIyBkbworIyAgICAgZWNobyAkbAorIyBkb25lCisKK0ZJTEVTX2xpYiR7UE59LWJhc2UgPSAiXAorICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RlZmF1bHQgXAorICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3NhbWJhIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYmRjZXJwYy1iaW5kaW5nLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGliZ2Vuc2VjLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlibmRyLWtyYjVwYWMuc28uKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJuZHItbmJ0LnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlibmRyLXN0YW5kYXJkLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlibmRyLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlibmV0YXBpLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlicGRiLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlic2FtYmEtY3JlZGVudGlhbHMuc28uKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJzYW1iYS1ob3N0Y29uZmlnLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlic2FtYmEtdXRpbC5zby4qIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYnNhbWRiLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlic21iY29uZi5zby4qIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYnRldmVudC11dGlsLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliQ0hBUlNFVDMuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliYWRkbnMuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliYWRzLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmFzbjF1dGlsLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmF1dGguc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliYXV0aF9zYW1fcmVwbHkuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliYXV0aGtyYjUuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliY2Nhbi5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJjbGktbGRhcC1jb21tb24uc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliY2xpLW5idC5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJjbGlfY2xkYXAuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliY2xpX3NtYl9jb21tb24uc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliY2xpX3Nwb29sc3Muc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliY2xpYXV0aC5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJkYndyYXAuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliZGNlcnBjLXNhbWJhLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmVycm9ycy5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJmbGFnX21hcHBpbmcuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGliZ3NlLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmludGVyZmFjZXMuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlia3JiNXNhbWJhLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmxkYnNhbWJhLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmxpYmNsaV9sc2EzLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYmxpYmNsaV9uZXRsb2dvbjMuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlibGlic21iLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYm1zcnBjMy5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJuZHItc2FtYmEuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlibmRyLXNhbWJhNC5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJucGFfdHN0cmVhbS5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJudGRiLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlicG9wdF9zYW1iYTMuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlicHJpbnRpbmdfbWlncmF0ZS5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJzYW1iYS1tb2R1bGVzLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnNhbWJhLXNlY3VyaXR5LnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnNhbWJhLXNvY2tldHMuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlic2FtYmEzLXV0aWwuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlic2FtZGItY29tbW9uLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnNlY3JldHMzLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnNlcnZlci1yb2xlLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnNtYl90cmFuc3BvcnQuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlic21iZF9iYXNlLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnNtYmRfY29ubi5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJzbWJkX3NoaW0uc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlic21icmVnaXN0cnkuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlidGRiLXdyYXAuc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvbGlidXRpbF9jbWRsaW5lLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnV0aWxfbnRkYi5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJ1dGlsX3JlZy5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9saWJ1dGlsX3NldGlkLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL2xpYnV0aWxfdGRiLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NhbWJhL3BkYi9zbWJwYXNzd2Quc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvcGRiL3RkYnNhbS5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9wZGIvd2JjX3NhbS5zbyBcCisiCisKK0ZJTEVTX3dpbmJpbmQtZGJnID0gIiR7bGliZGlyfS9pZG1hcC8uZGVidWcvKi5zbyBcCisgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2VjdXJpdHkvLmRlYnVnL3BhbV93aW5iaW5kLnNvIFwKKyIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS92ZnMvKi5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2NoYXJzZXQvKi5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyouZGF0IFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vYXV0aC8qLnNvIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2VjdXJpdHkvcGFtX3NtYnBhc3Muc28gXAorIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS92ZnMvLmRlYnVnLyouc28gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vY2hhcnNldC8uZGVidWcvKi5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9hdXRoLy5kZWJ1Zy8qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3NlY3VyaXR5Ly5kZWJ1Zy9wYW1fc21icGFzcy5zbyBcCisiCisKK0ZJTEVTX2xpYndiY2xpZW50ID0gIiR7bGliZGlyfS9saWJ3YmNsaWVudC5zby4qICR7bGliZGlyfS9zYW1iYS9saWJ3aW5iaW5kLWNsaWVudC5zbyIKK0ZJTEVTX2xpYm5ldGFwaSA9ICIke2xpYmRpcn0vbGlibmV0YXBpLnNvLioiCitGSUxFU19saWJzbWJzaGFyZW1vZGVzID0gIiR7bGliZGlyfS9saWJzbWJzaGFyZW1vZGVzLnNvLioiCitGSUxFU19saWJzbWJjbGllbnQgPSAiJHtsaWJkaXJ9L2xpYnNtYmNsaWVudC5zby4qIgorRklMRVNfbGlic21iY2xpZW50LWRldiA9ICIke2xpYmRpcn0vbGlic21iY2xpZW50LnNvICR7aW5jbHVkZWRpcn0iCitGSUxFU193aW5iaW5kID0gIiR7c2JpbmRpcn0vd2luYmluZGQgXAorICAgICAgICAgICAgICAgICAke2JpbmRpcn0vd2JpbmZvIFwKKyAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L250bG1fYXV0aCBcCisgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3dpbmJpbmQgXAorICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3dpbmJpbmQuc2VydmljZSBcCisiCisKK0ZJTEVTX2xpYm5zcy13aW5iaW5kID0gIiR7bGliZGlyfS9saWJuc3NfKiR7U09MSUJTfSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbnNzX2luZm8gXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvcGFtX3NtYnBhc3Muc28gXAorIgorCitTTUJfU0VSVklDRT0iJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9ubWIuc2VydmljZSAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3NtYi5zZXJ2aWNlIgorU01CX1NZU1Y9IiR7c3lzY29uZmRpcn0vaW5pdC5kICR7c3lzY29uZmRpcn0vcmM/LmQiCitGSUxFU18ke1BOfS1iYXNlICs9IiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICcke1NNQl9TRVJWSUNFfScsICcnLCBkKX0iCitGSUxFU18ke1BOfS1iYXNlICs9IiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAnJHtTTUJfU1lTVn0nLCAnJywgZCl9IgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9zYW1iYS9pZG1hcC8uZGVidWcvKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9wZGIvLmRlYnVnLyogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvYXV0aC8uZGVidWcvKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9uc3NfaW5mby8uZGVidWcvKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9zYW1iYS9sZGIvLmRlYnVnLyogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vc2FtYmEvdmZzLy5kZWJ1Zy8qIFwKKyAgICAgICAgICAgICAgICAgICAgJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvLmRlYnVnL3BhbV9zbWJwYXNzLnNvIFwKKyIKKworRklMRVNfbGlid2luYmluZCA9ICIke2Jhc2VfbGliZGlyfS9zZWN1cml0eS9wYW1fd2luYmluZC5zbyIKK0ZJTEVTX2xpYndpbmJpbmQgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICcke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3dpbmJpbmQuc2VydmljZScsICcnLCBkKX0iCitGSUxFU19saWJ3aW5iaW5kLWRiZyA9ICIke2Jhc2VfbGliZGlyfS9zZWN1cml0eS8uZGVidWcvcGFtX3dpbmJpbmQuc28iCitGSUxFU19saWJ3aW5iaW5kLWtyYjUtbG9jYXRvciA9ICIke2xpYmRpcn0vd2luYmluZF9rcmI1X2xvY2F0b3Iuc28iCisKK0ZJTEVTXyR7UE59LXB5dGhvbiA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvKi5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzL19sZGJfdGV4dC5weSBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzL3NhbWJhLyoucHkgXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS8qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvc2FtYmEvZGNlcnBjLyouc28gXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS9kY2VycGMvKi5weSBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzL3NhbWJhL2V4dGVybmFsLyogXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS9rY2MvKiBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzL3NhbWJhL25ldGNtZC8qLnB5IFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvc2FtYmEvcHJvdmlzaW9uLyoucHkgXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS9zYW1iYTMvKi5weSBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzL3NhbWJhL3NhbWJhMy8qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvc2FtYmEvc3VidW5pdC8qIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvc2FtYmEvdGVzdHMvKiBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzL3NhbWJhL3RoaXJkX3BhcnR5LyogXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS93ZWJfc2VydmVyLyogXAorIgorCitGSUxFU18ke1BOfS1weXRob24tZGJnID0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy8uZGVidWcvKiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS8uZGVidWcvKiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy9zYW1iYS9zYW1iYTMvLmRlYnVnLyogXAorICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvc2FtYmEvZGNlcnBjLy5kZWJ1Zy8qIFwKKyIKKworUkRFUEVORFNfJHtQTn0tcGlkbF9hcHBlbmQgPSAiIHBlcmwiCitGSUxFU18ke1BOfS1waWRsID0gIiR7YmluZGlyfS9waWRsICR7ZGF0YWRpcn0vcGVybDUvUGFyc2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zZXRoZGxjL2ZpbGVzL3NldGhkbGMtZml4LWhvc3QtY29udGFtaW5hdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NldGhkbGMvZmlsZXMvc2V0aGRsYy1maXgtaG9zdC1jb250YW1pbmF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyNWEwMmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zZXRoZGxjL2ZpbGVzL3NldGhkbGMtZml4LWhvc3QtY29udGFtaW5hdGlvbi5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIDlhOTEzN2MzZGY1MzA5YWMzNTk3MzdkNmViZDY3ZmI0ZmY1ZjNjZjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjQgTm92IDIwMTQgMjI6MDU6MTggLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gc2V0aGRsYzogZml4IGhvc3QgY29udGFtaW5hdGlvbgorCitDbGVhbiBJTkNMVURFUyB0byBmaXggdGhlIGhvc3QgY29udGFtaW5hdGlvbiBlcnJvcnM6CisKKyAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC91c3Ivc3JjL2xpbnV4L2luY2x1ZGUvbGludXgvcG9zaXhfdHlwZXMuaDo0NzowLAorICBmcm9tIC91c3Ivc3JjL2xpbnV4L2luY2x1ZGUvbGludXgvdHlwZXMuaDoxNywKKyAgZnJvbSAvdXNyL3NyYy9saW51eC9pbmNsdWRlL2xpbnV4L2lmLmg6MjIsCisgIGZyb20gc2V0aGRsYy5jOjIzOgorICAvdXNyL3NyYy9saW51eC9pbmNsdWRlL2FzbS1nZW5lcmljL3Bvc2l4X3R5cGVzLmg6OTE6MzogXAorICAgIGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ19fa2VybmVsX2ZzaWRfdCcKKyAgfSBfX2tlcm5lbF9mc2lkX3Q7CisgIF4KKyAgLi4uL3RtcC9zeXNyb290cy9xZW11bWlwcy91c3IvaW5jbHVkZS9hc20vcG9zaXhfdHlwZXMuaDoyNjozOiBcCisgICAgbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgJ19fa2VybmVsX2ZzaWRfdCcgd2FzIGhlcmUKKyAgfSBfX2tlcm5lbF9mc2lkX3Q7CisgIF4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAwNDkyZjJiLi45N2RlYzIyIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMSw2ICsxLDYgQEAKKyBDQyA9IGdjYworIENGTEFHUyA9IC1PMiAtV2FsbCAtVyAtV25vLWxvbmctbG9uZyAtcGlwZQorLUlOQ0xVREVTID0gLUkvdXNyL3NyYy9saW51eC9pbmNsdWRlIC1JL3Vzci9zcmMvbGludXgtMi42L2luY2x1ZGUKKytJTkNMVURFUyA9CisgCisgYWxsOgkJc2V0aGRsYworIAorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NldGhkbGMvc2V0aGRsYy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NldGhkbGMvc2V0aGRsYy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzMwNGZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2V0aGRsYy9zZXRoZGxjLmJiCkBAIC0wLDAgKzEsMzMgQEAKK0RFU0NSSVBUSU9OID0gInNldCBMaW51eCBIRExDIHBhY2tldCByYWRpbyBtb2RlbSBkcml2ZXIgcG9ydCBpbmZvcm1hdGlvbiIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL25ldC9oZGxjIgorU0VDVElPTiA9ICJjb21tIgorTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zZXRoZGxjLmM7ZW5kbGluZT0xMDttZDU9OTBmOTM2ODc5ZTlmOGI3NTVhMTM4YWViMzQ4NzgyZWIiCisKKworU1JDX1VSSSA9ICJodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy9uZXQvaGRsYy8ke0JQTn0tMS4xOC50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc2V0aGRsYy1maXgtaG9zdC1jb250YW1pbmF0aW9uLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MDE2ODc4MTU2YTVlYWRiMDZjMGJhZTcxY2M1YzlhYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyMWIxZTJlMWNiMGUyODhiMGVjOGZjZmQ5ZmVkNDQ5OTE0ZTBmOGU2ZmMyNzM3MDZiZDViM2Q0ZjZhYjZiMDRlIgorCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tMS4xOCIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKK0RFUEVORFMgPSAidmlydHVhbC9rZXJuZWwiCisKK0VYVFJBX09FTUFLRT0iQ1JPU1NfQ09NUElMRT0ke1RBUkdFVF9QUkVGSVh9IENDPScke0NDfSAke0xERkxBR1N9JyBcCisgICAgICAgICAgICAgIEtFUk5FTF9ESVI9JHtTVEFHSU5HX0tFUk5FTF9ESVJ9ICIKKworZG9fY29tcGlsZV9wcmVwZW5kICgpIHsKKyAgICBvZV9ydW5tYWtlIGNsZWFuCit9CisKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCBzZXRoZGxjICR7RH0vJHtiaW5kaXJ9LworfQorCitGSUxFU18ke1BOfSArPSAiJHtiaW5kaXJ9L3NldGhkbGMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydC8wMDAxLWZpeC1kb19wYWNrYWdlLWZhaWxlZC1zaW5jZS1zbm9ydC0yLjkuNy4wLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvMDAwMS1maXgtZG9fcGFja2FnZS1mYWlsZWQtc2luY2Utc25vcnQtMi45LjcuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTIwNTUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvMDAwMS1maXgtZG9fcGFja2FnZS1mYWlsZWQtc2luY2Utc25vcnQtMi45LjcuMC5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDgxNWU4NjE3MjFhOWM0M2VmZGRiNzg1MjExNDcxNDVlYmM3NTY5Y2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBaaGlxdWFuIExpIDx6aGlxdWFuLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDEzIE5vdiAyMDE1IDE3OjQwOjI0ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBkb19wYWNrYWdlIGZhaWxlZCBzaW5jZSBzbm9ydCAyLjkuNy4wCisKK1JlbW92ZSByZWR1bmRhbnQgJy8nIGFzIGEgd29ya3JvdW5kIGZvciBiZWxvdyBlcnJvcjoKKy9saWIvcnBtL2Jpbi9kZWJ1Z2VkaXQ6IGNhbm9uaWNhbGl6YXRpb24gdW5leHBlY3RlZGx5IHNocmFuayBieSBvbmUgY2hhcmFjdGVyCisKK0l0J3MgYSBycG0gZGVidWdlZGl0IGJ1ZzoKKyogaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL3Nub3J0L21haWxtYW4vbWVzc2FnZS8zNDEzMDI2OC8KKyogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0zMDQxMjEKKworVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBaaGlxdWFuIExpIDx6aGlxdWFuLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvc25vcnQuaCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9zbm9ydC5oIGIvc3JjL3Nub3J0LmgKK2luZGV4IDgzMDhlNTcuLjQ5OWQxNTcgMTAwNjQ0CistLS0gYS9zcmMvc25vcnQuaAorKysrIGIvc3JjL3Nub3J0LmgKK0BAIC0zOSw3ICszOSw3IEBACisgI2luY2x1ZGUgInNmZGFxLmgiCisgI2luY2x1ZGUgInNmX3R5cGVzLmgiCisgI2luY2x1ZGUgInNmdXRpbC9zZmxzcS5oIgorLSNpbmNsdWRlICJzZnV0aWwvL3NmQWN0aW9uUXVldWUuaCIKKysjaW5jbHVkZSAic2Z1dGlsL3NmQWN0aW9uUXVldWUuaCIKKyAjaW5jbHVkZSAicHJvZmlsZXIuaCIKKyAjaW5jbHVkZSAicnVsZXMuaCIKKyAjaW5jbHVkZSAidHJlZW5vZGVzLmgiCistLQorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvMDAwMS1saWJwY2FwLXNlYXJjaC1zeXNyb290LWZvci1oZWFkZXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvMDAwMS1saWJwY2FwLXNlYXJjaC1zeXNyb290LWZvci1oZWFkZXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0YzJhOTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydC8wMDAxLWxpYnBjYXAtc2VhcmNoLXN5c3Jvb3QtZm9yLWhlYWRlcnMucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA0ZDdlYmUzZWQ2Y2VlNzJiYzdkYjk4YmQ0MDhkMjJjMTBlZjVkZDgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9lIE1hY0RvbmFsZCA8am9lQGRlc2VydGVkLm5ldD4KK0RhdGU6IFdlZCwgMjAgTm92IDIwMTMgMTY6MDY6MDcgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gbGlicGNhcDogc2VhcmNoIHN5c3Jvb3QgZm9yIGhlYWRlcnMKKworQ29uZmlndXJlIGhhcmQtY29kZWQgaG9zdCBoZWFkZXIgcGF0aHMgd2hlbiBidWlsZGluZyB3aXRoIGxpYnBjYXAuICBQb2ludAordGhlIHNlYXJjaCBwYXRoIGF0IHRoZSBzeXNyb290IGluc3RlYWQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VAZGVzZXJ0ZWQubmV0PgorLS0tCisgY29uZmlndXJlLmluIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCBlNTJiYjZjLi44ZGVkMzVkIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC03OCw3ICs3OCw3IEBAIGNhc2UgIiRob3N0IiBpbgorICAgICBsaW51eD0ieWVzIgorICAgICBBQ19ERUZJTkUoW0xJTlVYXSxbMV0sW0RlZmluZSBpZiBMaW51eF0pCisgICAgIEFDX1NVQlNUKGV4dHJhX2luY2wpCistICAgIGV4dHJhX2luY2w9Ii1JL3Vzci9pbmNsdWRlL3BjYXAiCisrICAgIGV4dHJhX2luY2w9Ii1JPS91c3IvaW5jbHVkZS9wY2FwIgorICAgICA7OworICAgKi1ocHV4MTAqfCotaHB1eDExKikKKyAgICAgQUNfREVGSU5FKFtIUFVYXSxbMV0sW0RlZmluZSBpZiBIUC1VWCAxMCBvciAxMV0pCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtZGFwLWFkZHJlc3Mtc3BhY2UtaWQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydC9kaXNhYmxlLWRhcC1hZGRyZXNzLXNwYWNlLWlkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZTVjOWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydC9kaXNhYmxlLWRhcC1hZGRyZXNzLXNwYWNlLWlkLnBhdGNoCkBAIC0wLDAgKzEsNTIgQEAKK1Vwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworZml4IHRoZSBiZWxvdyBlcnJvcjoKK2NoZWNraW5nIGZvciBkYXAgYWRkcmVzcyBzcGFjZSBpZC4uLiBjb25maWd1cmU6IAorY29uZmlndXJlOiBlcnJvcjogY2Fubm90IHJ1biB0ZXN0IHByb2dyYW0gd2hpbGUgY3Jvc3MgY29tcGlsaW5nCisKKworU2lnbmVkLW9mZi1ieTogQ2h1bnJvbmcgR3VvIDxCNDAyOTBAZnJlZXNjYWxlLmNvbT4KKworLS0tIGEvY29uZmlndXJlLmluCTIwMTMtMDgtMjMgMDA6MDY6MzcuMjM5MzYxOTMyIC0wNTAwCisrKysgYi9jb25maWd1cmUuaW4JMjAxMy0wOC0yMyAwMDowNzozMi44NjAyNjY1MzQgLTA1MDAKK0BAIC02NzksMjMgKzY3OSwyMyBAQAorIAorIEFDX0NIRUNLX0ZVTkNTKFtkYXFfaHVwX2FwcGx5XSBbZGFxX2FjcXVpcmVfd2l0aF9tZXRhXSkKKyAKKy1BQ19NU0dfQ0hFQ0tJTkcoW2ZvciBkYXEgYWRkcmVzcyBzcGFjZSBJRF0pCistQUNfUlVOX0lGRUxTRSgKKy1bQUNfTEFOR19QUk9HUkFNKAorLVtbCistI2luY2x1ZGUgPGRhcS5oPgorLV1dLAorLVtbCistICAgREFRX1BrdEhkcl90IGhkcjsKKy0gICBoZHIuYWRkcmVzc19zcGFjZV9pZCA9IDA7CistXV0pXSwKKy1baGF2ZV9kYXFfYWRkcmVzc19zcGFjZV9pZD0ieWVzIl0sCistW2hhdmVfZGFxX2FkZHJlc3Nfc3BhY2VfaWQ9Im5vIl0pCistQUNfTVNHX1JFU1VMVCgkaGF2ZV9kYXFfYWRkcmVzc19zcGFjZV9pZCkKKy1pZiB0ZXN0ICJ4JGhhdmVfZGFxX2FkZHJlc3Nfc3BhY2VfaWQiID0gInh5ZXMiOyB0aGVuCistICAgIEFDX0RFRklORShbSEFWRV9EQVFfQUREUkVTU19TUEFDRV9JRF0sWzFdLAorLSAgICAgICAgW0RBUSB2ZXJzaW9uIHN1cHBvcnRzIGFkZHJlc3Mgc3BhY2UgSUQgaW4gaGVhZGVyLl0pCistZmkKKysjQUNfTVNHX0NIRUNLSU5HKFtmb3IgZGFxIGFkZHJlc3Mgc3BhY2UgSURdKQorKyNBQ19SVU5fSUZFTFNFKAorKyNbQUNfTEFOR19QUk9HUkFNKAorKyNbWworKyMjaW5jbHVkZSA8ZGFxLmg+CisrI11dLAorKyNbWworKyMgICBEQVFfUGt0SGRyX3QgaGRyOworKyMgICBoZHIuYWRkcmVzc19zcGFjZV9pZCA9IDA7CisrI11dKV0sCisraGF2ZV9kYXFfYWRkcmVzc19zcGFjZV9pZD0ieWVzIgorKyNbaGF2ZV9kYXFfYWRkcmVzc19zcGFjZV9pZD0ibm8iXSkKKysjQUNfTVNHX1JFU1VMVCgkaGF2ZV9kYXFfYWRkcmVzc19zcGFjZV9pZCkKKysjaWYgdGVzdCAieCRoYXZlX2RhcV9hZGRyZXNzX3NwYWNlX2lkIiA9ICJ4eWVzIjsgdGhlbgorKyMgICAgQUNfREVGSU5FKFtIQVZFX0RBUV9BRERSRVNTX1NQQUNFX0lEXSxbMV0sCisrIyAgICAgICAgW0RBUSB2ZXJzaW9uIHN1cHBvcnRzIGFkZHJlc3Mgc3BhY2UgSUQgaW4gaGVhZGVyLl0pCisrI2ZpCisgCisgIyBhbnkgc3BhcmMgcGxhdGZvcm0gaGFzIHRvIGhhdmUgdGhpcyBvbmUgZGVmaW5lZC4KKyBBQ19NU0dfQ0hFQ0tJTkcoZm9yIHNwYXJjKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvZGlzYWJsZS1kYXEtZmxvdy1pZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtZGFxLWZsb3ctaWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTZhZmNhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtZGFxLWZsb3ctaWQucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitmaXggdGhlIGJlbG93IGVycm9yOgorY2hlY2tpbmcgZm9yIGRhcSBmbG93IElELi4uIGNvbmZpZ3VyZToKK2NvbmZpZ3VyZTogZXJyb3I6IGNhbm5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZworCisKKy0tLSBhL2NvbmZpZ3VyZS5pbiAgICAyMDE1LTEwLTI4IDEwOjM2OjQyLjkxODUxMjY5MCArMDgwMAorKysrIGIvY29uZmlndXJlLmluICAgIDIwMTUtMTAtMjggMTA6Mzc6MzYuNzM4NTEwMDQ4ICswODAwCitAQCAtNzE2LDIzICs3MTYsMjMgQEAKKyAjICAgICAgICBbREFRIHZlcnNpb24gc3VwcG9ydHMgYWRkcmVzcyBzcGFjZSBJRCBpbiBoZWFkZXIuXSkKKyAjZmkKKworLUFDX01TR19DSEVDS0lORyhbZm9yIGRhcSBmbG93IElEXSkKKy1BQ19SVU5fSUZFTFNFKAorLVtBQ19MQU5HX1BST0dSQU0oCistW1sKKy0jaW5jbHVkZSA8ZGFxLmg+CistXV0sCistW1sKKy0gICBEQVFfUGt0SGRyX3QgaGRyOworLSAgIGhkci5mbG93X2lkID0gMDsKKy1dXSldLAorLVtoYXZlX2RhcV9mbG93X2lkPSJ5ZXMiXSwKKy1baGF2ZV9kYXFfZmxvd19pZD0ibm8iXSkKKy1BQ19NU0dfUkVTVUxUKCRoYXZlX2RhcV9mbG93X2lkKQorLWlmIHRlc3QgIngkaGF2ZV9kYXFfZmxvd19pZCIgPSAieHllcyI7IHRoZW4KKy0gICAgQUNfREVGSU5FKFtIQVZFX0RBUV9GTE9XX0lEXSxbMV0sCistICAgICAgICBbREFRIHZlcnNpb24gc3VwcG9ydHMgZmxvdyBJRCBpbiBoZWFkZXIuXSkKKy1maQorKyNBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBkYXEgZmxvdyBJRF0pCisrI0FDX1JVTl9JRkVMU0UoCisrI1tBQ19MQU5HX1BST0dSQU0oCisrI1tbCisrIyNpbmNsdWRlIDxkYXEuaD4KKysjXV0sCisrI1tbCisrIyAgIERBUV9Qa3RIZHJfdCBoZHI7CisrIyAgIGhkci5mbG93X2lkID0gMDsKKysjXV0pXSwKKytoYXZlX2RhcV9mbG93X2lkPSJ5ZXMiCisrI1toYXZlX2RhcV9mbG93X2lkPSJubyJdKQorKyNBQ19NU0dfUkVTVUxUKCRoYXZlX2RhcV9mbG93X2lkKQorKyNpZiB0ZXN0ICJ4JGhhdmVfZGFxX2Zsb3dfaWQiID0gInh5ZXMiOyB0aGVuCisrIyAgICBBQ19ERUZJTkUoW0hBVkVfREFRX0ZMT1dfSURdLFsxXSwKKysjICAgICAgICBbREFRIHZlcnNpb24gc3VwcG9ydHMgZmxvdyBJRCBpbiBoZWFkZXIuXSkKKysjZmkKKworIEFDX01TR19DSEVDS0lORyhbZm9yIERBUV9WRVJESUNUX1JFVFJZXSkKKyBBQ19SVU5fSUZFTFNFKApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvZGlzYWJsZS1kYXEtdmVyZGljdC1yZXRyeS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtZGFxLXZlcmRpY3QtcmV0cnkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWExMzI5OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtZGFxLXZlcmRpY3QtcmV0cnkucGF0Y2gKQEAgLTAsMCArMSw1MSBAQAorVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitmaXggdGhlIGJlbG93IGVycm9yOgorY2hlY2tpbmcgZm9yIERBUV9WRVJESUNUX1JFVFJZLi4uIGNvbmZpZ3VyZToKK2NvbmZpZ3VyZTogZXJyb3I6IGNhbm5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZworCisKKy0tLSBhL2NvbmZpZ3VyZS5pbiAgICAyMDE1LTEwLTI4IDEwOjQ1OjE4LjE3NDQ4NzM5NSArMDgwMAorKysrIGIvY29uZmlndXJlLmluICAgIDIwMTUtMTAtMjggMTA6NDU6NDcuNTg2NDg1OTUxICswODAwCitAQCAtNzM0LDIzICs3MzQsMjMgQEAKKyAjICAgICAgICBbREFRIHZlcnNpb24gc3VwcG9ydHMgZmxvdyBJRCBpbiBoZWFkZXIuXSkKKyAjZmkKKworLUFDX01TR19DSEVDS0lORyhbZm9yIERBUV9WRVJESUNUX1JFVFJZXSkKKy1BQ19SVU5fSUZFTFNFKAorLVtBQ19MQU5HX1BST0dSQU0oCistW1sKKy0jaW5jbHVkZSA8ZGFxLmg+CistXV0sCistW1sKKy0gICBEQVFfVmVyZGljdCB2ZXJkaWN0OworLSAgIHZlcmRpY3QgPSBEQVFfVkVSRElDVF9SRVRSWTsKKy1dXSldLAorLVtoYXZlX2RhcV92ZXJkaWN0X3JldHJ5PSJ5ZXMiXSwKKy1baGF2ZV9kYXFfdmVyZGljdF9yZXRyeT0ibm8iXSkKKy1BQ19NU0dfUkVTVUxUKCRoYXZlX2RhcV92ZXJkaWN0X3JldHJ5KQorLWlmIHRlc3QgIngkaGF2ZV9kYXFfdmVyZGljdF9yZXRyeSIgPSAieHllcyI7IHRoZW4KKy0gICAgQUNfREVGSU5FKFtIQVZFX0RBUV9WRVJESUNUX1JFVFJZXSxbMV0sCistICAgICAgICBbREFRIHZlcnNpb24gc3VwcG9ydHMgREFRX1ZFUkRJQ1RfUkVUUlkgaW4gREFRX1ZlcmRpY3QuXSkKKy1maQorKyNBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBEQVFfVkVSRElDVF9SRVRSWV0pCisrI0FDX1JVTl9JRkVMU0UoCisrI1tBQ19MQU5HX1BST0dSQU0oCisrI1tbCisrIyNpbmNsdWRlIDxkYXEuaD4KKysjXV0sCisrI1tbCisrIyAgIERBUV9WZXJkaWN0IHZlcmRpY3Q7CisrIyAgIHZlcmRpY3QgPSBEQVFfVkVSRElDVF9SRVRSWTsKKysjXV0pXSwKKytoYXZlX2RhcV92ZXJkaWN0X3JldHJ5PSJ5ZXMiCisrI1toYXZlX2RhcV92ZXJkaWN0X3JldHJ5PSJubyJdKQorKyNBQ19NU0dfUkVTVUxUKCRoYXZlX2RhcV92ZXJkaWN0X3JldHJ5KQorKyNpZiB0ZXN0ICJ4JGhhdmVfZGFxX3ZlcmRpY3RfcmV0cnkiID0gInh5ZXMiOyB0aGVuCisrIyAgICBBQ19ERUZJTkUoW0hBVkVfREFRX1ZFUkRJQ1RfUkVUUlldLFsxXSwKKysjICAgICAgICBbREFRIHZlcnNpb24gc3VwcG9ydHMgREFRX1ZFUkRJQ1RfUkVUUlkgaW4gREFRX1ZlcmRpY3QuXSkKKysjZmkKKworICMgYW55IHNwYXJjIHBsYXRmb3JtIGhhcyB0byBoYXZlIHRoaXMgb25lIGRlZmluZWQuCisgQUNfTVNHX0NIRUNLSU5HKGZvciBzcGFyYykKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvZGlzYWJsZS1pbmFkZHItbm9uZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtaW5hZGRyLW5vbmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRhZmU2MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0L2Rpc2FibGUtaW5hZGRyLW5vbmUucGF0Y2gKQEAgLTAsMCArMSw3NSBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworZml4IHRoZSBiZWxvdyBlcnJvcjoKK2NoZWNraW5nIGZvciBJTkFERFJfTk9ORS4uLiBjb25maWd1cmU6Citjb25maWd1cmU6IGVycm9yOiBjYW5ub3QgcnVuIHRlc3QgcHJvZ3JhbSB3aGlsZSBjcm9zcyBjb21waWxpbmcKKworU2lnbmVkLW9mZi1ieTogQ2h1bnJvbmcgR3VvIDxCNDAyOTBAZnJlZXNjYWxlLmNvbT4KKworCistLS0gYS9jb25maWd1cmUuaW4JMjAxMy0wOC0yMSAwMzo1NjoxNy4xOTc0MTQ3ODkgLTA1MDAKKysrKyBiL2NvbmZpZ3VyZS5pbgkyMDEzLTA4LTIxIDIzOjE5OjA1LjI5ODU1MzU2MCAtMDUwMAorQEAgLTI4MSwyNSArMjgxLDcgQEAKKyBBQ19DSEVDS19UWVBFUyhbYm9vbGVhbl0pCisgCisgIyBJbiBjYXNlIElOQUREUl9OT05FIGlzIG5vdCBkZWZpbmVkIChsaWtlIG9uIFNvbGFyaXMpCistaGF2ZV9pbmFkZHJfbm9uZT0ibm8iCistQUNfTVNHX0NIRUNLSU5HKFtmb3IgSU5BRERSX05PTkVdKQorLUFDX1JVTl9JRkVMU0UoCistW0FDX0xBTkdfUFJPR1JBTSgKKy1bWworLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKy0jaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorLSNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKy1dXSwKKy1bWworLQlpZiAoaW5ldF9hZGRyKCIxMCw1LDIiKSA9PSBJTkFERFJfTk9ORSk7CistICAgIHJldHVybiAwOworLV1dKV0sCistW2hhdmVfaW5hZGRyX25vbmU9InllcyJdLAorLVtoYXZlX2luYWRkcl9ub25lPSJubyJdKQorLUFDX01TR19SRVNVTFQoJGhhdmVfaW5hZGRyX25vbmUpCistaWYgdGVzdCAieCRoYXZlX2luYWRkcl9ub25lIiA9ICJ4bm8iOyB0aGVuCistCUFDX0RFRklORShbSU5BRERSX05PTkVdLFstMV0sW0ZvciBJTkFERFJfTk9ORSBkZWZpbml0aW9uXSkKKy1maQorK2hhdmVfaW5hZGRyX25vbmU9InllcyIKKyAKKyBBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbCisgI2luY2x1ZGUgPHN0ZGlvLmg+CitAQCAtMzk3LDIxICszNzksMjEgQEAKKyAgIGZpCisgZmkKKyAKKy1BQ19NU0dfQ0hFQ0tJTkcoW2ZvciBwY2FwX2xleF9kZXN0cm95XSkKKy1BQ19SVU5fSUZFTFNFKAorLVtBQ19MQU5HX1BST0dSQU0oCistW1sKKy0jaW5jbHVkZSA8cGNhcC5oPgorLV1dLAorLVtbCistICAgcGNhcF9sZXhfZGVzdHJveSgpOworLV1dKV0sCistW2hhdmVfcGNhcF9sZXhfZGVzdHJveT0ieWVzIl0sCistW2hhdmVfcGNhcF9sZXhfZGVzdHJveT0ibm8iXSkKKy1BQ19NU0dfUkVTVUxUKCRoYXZlX3BjYXBfbGV4X2Rlc3Ryb3kpCistaWYgdGVzdCAieCRoYXZlX3BjYXBfbGV4X2Rlc3Ryb3kiID0gInh5ZXMiOyB0aGVuCistICAgIEFDX0RFRklORShbSEFWRV9QQ0FQX0xFWF9ERVNUUk9ZXSxbMV0sW0NhbiBjbGVhbnVwIGxleCBidWZmZXIgc3RhY2sgY3JlYXRlZCBieSBwY2FwIGJwZiBmaWx0ZXJdKQorLWZpCisrI0FDX01TR19DSEVDS0lORyhbZm9yIHBjYXBfbGV4X2Rlc3Ryb3ldKQorKyNBQ19SVU5fSUZFTFNFKAorKyNbQUNfTEFOR19QUk9HUkFNKAorKyNbWworKyMjaW5jbHVkZSA8cGNhcC5oPgorKyNdXSwKKysjW1sKKysjICAgcGNhcF9sZXhfZGVzdHJveSgpOworKyNdXSldLAorK2hhdmVfcGNhcF9sZXhfZGVzdHJveT0ieWVzIgorKyNbaGF2ZV9wY2FwX2xleF9kZXN0cm95PSJubyJdKQorKyNBQ19NU0dfUkVTVUxUKCRoYXZlX3BjYXBfbGV4X2Rlc3Ryb3kpCisrI2lmIHRlc3QgIngkaGF2ZV9wY2FwX2xleF9kZXN0cm95IiA9ICJ4eWVzIjsgdGhlbgorKyMgICAgQUNfREVGSU5FKFtIQVZFX1BDQVBfTEVYX0RFU1RST1ldLFsxXSxbQ2FuIGNsZWFudXAgbGV4IGJ1ZmZlciBzdGFjayBjcmVhdGVkIGJ5IHBjYXAgYnBmIGZpbHRlcl0pCisrI2ZpCisgCisgQUNfTVNHX0NIRUNLSU5HKFtmb3IgcGNhcF9saWJfdmVyc2lvbl0pCisgQUNfTElOS19JRkVMU0UoCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydC9zbm9ydC5pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvc25vcnQuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOGEwMGM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnQvc25vcnQuaW5pdApAQCAtMCwwICsxLDEwOSBAQAorIyEvYmluL3NoCisjCisjICAgU25vcnQgU3RhcnR1cCBTY3JpcHQgbW9kaWZpZWQgZm9yIE9wZW5FbWJlZGRlZAorIworCisjIFNjcmlwdCB2YXJpYWJsZXMKKworTEFOX0lOVEVSRkFDRT0iJDIiCitSRVRVUk5fVkFMPTAKK0JJTkFSWT0vdXNyL2Jpbi9zbm9ydAorUEFUSD0vYmluOi91c3IvYmluCitQSUQ9L3Zhci9ydW4vc25vcnRfJHtMQU5fSU5URVJGQUNFfV9pZHMucGlkCitERUxfUElEPSRQSUQKK0xPR0RJUj0iL3Zhci9sb2cvc25vcnQiCitEQVRFPWAvYmluL2RhdGUgKyVZJW0lZGAKK0NPTkZJR19GSUxFPS9ldGMvc25vcnQvc25vcnQuY29uZgorUFJPRz1zbm9ydAorVVNFUj1yb290CitHUk9VUD1yb290CisKK2lmIFsgISAteCAiJEJJTkFSWSIgXTsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiAkQklOQVJZIG5vdCBmb3VuZC4iCisgICAgZXhpdCAxCitmaQorCitpZiBbICEgLXIgIiRDT05GSUdfRklMRSIgXTsgdGhlbgorICAgIGVjaG8gIkVSUk9SOiAkQ09ORklHX0ZJTEUgbm90IGZvdW5kLiIKKyAgICBleGl0IDEKK2ZpCisKK3N0YXJ0KCkKK3sKKworICAgIFsgLW4gIiRMQU5fSU5URVJGQUNFIiBdIHx8IHJldHVybiAwCisgICAgIyBDaGVjayBpZiBsb2cgZGlyYXRvcnkgaXMgcHJlc2VudC4gT3RoZXJ3aXNlLCBjcmVhdGUgaXQuCisgICAgaWYgWyAhIC1kICRMT0dESVIvJERBVEUgXTsgdGhlbgorICAgICAgICBta2RpciAtZCAkTE9HRElSLyREQVRFCisgICAgICAgIC9iaW4vY2hvd24gLVIgJFVTRVI6JFVTRVIgJExPR0RJUi8kREFURQorICAgIC9iaW4vY2htb2QgLVIgNzAwICRMT0dESVIvJERBVEUKKyAgICBmaQorCisgICAgL2Jpbi9lY2hvICJTdGFydGluZyAkUFJPRzogIgorICAgICMgU25vcnQgcGFyYW1ldGVycworICAgICMgLUQgUnVuIFNub3J0IGluIGJhY2tncm91bmQgKGRhZW1vbikgbW9kZQorICAgICMgLWkgPGlmPiBMaXN0ZW4gb24gaW50ZXJmYWNlIDxpZj4KKyAgICAjIC11IDx1bmFtZT4gUnVuIHNub3J0IHVpZCBhcyA8dW5hbWU+IHVzZXIgKG9yIHVpZCkKKyAgICAjIC1nIDxnbmFtZT4gUnVuIHNub3J0IHVpZCBhcyA8Z25hbWU+IGdyb3VwIChvciBnaWQpCisgICAgIyAtYyBMb2FkIGNvbmZpZ3VyYXRpb24gZmlsZQorICAgICMgLU4gVHVybiBvZmYgbG9nZ2luZyAoYWxlcnRzIHN0aWxsIHdvcmspIChyZW1vdmVkIHRvIGVuYWJsZSBsb2dnaW5nKSA6KQorICAgICMgLWwgTG9nIHRvIGRpcmVjdG9yeQorICAgICMgLXQgQ2hyb290cyBwcm9jZXNzIHRvIGRpcmVjdG9yeSBhZnRlciBpbml0aWFsaXphdGlvbgorICAgICMgLVIgPGlkPiBJbmNsdWRlICdpZCcgaW4gc25vcnRfaW50ZjxpZD4ucGlkIGZpbGUgbmFtZQorCisgICAgJEJJTkFSWSAtRCAtaSAkTEFOX0lOVEVSRkFDRSAtdSAkVVNFUiAtZyAkR1JPVVAgLWMgJENPTkZJR19GSUxFIC1sICRMT0dESVIvJERBVEUgLXQgJExPR0RJUi8kREFURSAtUiBfaWRzCisgICAgL2Jpbi9lY2hvICIkUFJPRyBzdGFydHVwIGNvbXBsZXRlLiIKKyAgICByZXR1cm4gJFJFVFVSTl9WQUwKK30KKworc3RvcCgpCit7CisgICAgaWYgWyAtcyAkUElEIF07IHRoZW4KKyAgICAgICAgL2Jpbi9lY2hvICJTdG9wcGluZyAkUFJPRyB3aXRoIFBJRCBgY2F0ICRQSURgOiAiCisgICAgICAgIGtpbGwgLVRFUk0gYGNhdCAkUElEYCAyPi9kZXYvbnVsbAorICAgICAgICBSRVRVUk5fVkFMPSQ/CisgICAgICAgIC9iaW4vZWNobyAiJFBST0cgc2h1dGRvd24gY29tcGxldGUuIgorICAgICAgICBbIC1lICRERUxfUElEIF0gJiYgcm0gLWYgJERFTF9QSUQKKyAgICBbIC1lICRERUxfUElELmxjayBdICYmIHJtIC1mICRERUxfUElELmxjaworICAgIGVsc2UKKyAgICAgICAgL2Jpbi9lY2hvICJFUlJPUjogUElEIGluICRQSUQgZmlsZSBub3QgZm91bmQuIgorICAgICAgICBSRVRVUk5fVkFMPTEKKyAgICBmaQorICAgIHJldHVybiAkUkVUVVJOX1ZBTAorfQorCitzdGF0dXMoKSB7CisgICAgICAgIGlmIFsgLXMgJFBJRCBdOyB0aGVuCisgICAgICAgICAgICAgICAgZWNobyAiJFBST0cgaXMgcnVubmluZyBhcyBwaWQgYGNhdCAkUElEYDoiCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hvICIkUFJPRyBpcyBub3QgcnVubmluZy4iCisgICAgICAgIGZpCit9CisKK3Jlc3RhcnQoKQoreworICAgIHN0b3AKKyAgICBzdGFydAorICAgIFJFVFVSTl9WQUw9JD8KKyAgICByZXR1cm4gJFJFVFVSTl9WQUwKK30KKworY2FzZSAiJDEiIGluCisgc3RhcnQpCisgICAgICAgc3RhcnQKKyAgICA7OworIHN0b3ApCisgICAgICAgc3RvcAorICAgIDs7Cisgc3RhdHVzKQorICAgICAgIHN0YXR1cworICAgIDs7CisgcmVzdGFydHxyZWxvYWQpCisgICAgICAgcmVzdGFydAorICAgIDs7CisgKikKKyAgICAvYmluL2VjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxyZWxvYWR9IgorICAgIFJFVFVSTl9WQUw9MQorZXNhYworCitleGl0ICRSRVRVUk5fVkFMCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydF8yLjkuNy41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnRfMi45LjcuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDk0NmFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnRfMi45LjcuNS5iYgpAQCAtMCwwICsxLDg5IEBACitERVNDUklQVElPTiA9ICJzbm9ydCAtIGEgZnJlZSBsaWdodHdlaWdodCBuZXR3b3JrIGludHJ1c2lvbiBkZXRlY3Rpb24gc3lzdGVtIGZvciBVTklYIGFuZCBXaW5kb3dzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc25vcnQub3JnLyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzhmYThlZjk2NmI0OGZiZjkwOTVlMTNjYzkyMzc3YzUiCisKK0RFUEVORFMgPSAibGlicGNhcCBsaWJwY3JlIGRhcSBsaWJkbmV0IHV0aWwtbGludXgiCisKK1NSQ19VUkkgPSAiICR7R0VOVE9PX01JUlJPUn0vJHtCUH0udGFyLmd6O25hbWU9dGFyYmFsbCBcCisgICAgZmlsZTovL3Nub3J0LmluaXQgXAorICAgIGZpbGU6Ly9kaXNhYmxlLWluYWRkci1ub25lLnBhdGNoIFwKKyAgICBmaWxlOi8vZGlzYWJsZS1kYXAtYWRkcmVzcy1zcGFjZS1pZC5wYXRjaCBcCisgICAgZmlsZTovL2Rpc2FibGUtZGFxLWZsb3ctaWQucGF0Y2ggXAorICAgIGZpbGU6Ly9kaXNhYmxlLWRhcS12ZXJkaWN0LXJldHJ5LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1saWJwY2FwLXNlYXJjaC1zeXNyb290LWZvci1oZWFkZXJzLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1maXgtZG9fcGFja2FnZS1mYWlsZWQtc2luY2Utc25vcnQtMi45LjcuMC5wYXRjaCBcCisiCisKK1NSQ19VUklbdGFyYmFsbC5tZDVzdW1dID0gImZkMjcxNzg4YzBmODg3NmJlODdhODU4YTkxNDJmMjAyIgorU1JDX1VSSVt0YXJiYWxsLnNoYTI1NnN1bV0gPSAiYWQwM2YxMWI1MzAxYjE2NjQyMTk5YTg2YWE5MDM4OGVhYTUzZjUwMDNmODNiMGM1NTk1NzQ1YTQ5MDA0N2JlMSIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB1cGRhdGUtcmMuZCBwa2djb25maWcKKworSU5JVFNDUklQVF9OQU1FID0gInNub3J0IgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZW5hYmxlLWdyZSBcCisgICAgLS1lbmFibGUtbGludXgtc21wLXN0YXRzIFwKKyAgICAtLWVuYWJsZS1yZWxvYWQgXAorICAgIC0tZW5hYmxlLXJlbG9hZC1lcnJvci1yZXN0YXJ0IFwKKyAgICAtLWVuYWJsZS10YXJnZXRiYXNlZCBcCisgICAgLS1kaXNhYmxlLXN0YXRpYy1kYXEgXAorICAgIC0td2l0aC1kbmV0LWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAtLXdpdGgtZG5ldC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgIC0td2l0aC1saWJwY3JlLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAtLXdpdGgtbGlicGNyZS1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgIC0td2l0aC1kYXEtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgIC0td2l0aC1kYXEtbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9IFwKKyIKKworIyBpZiB5b3Ugd2FudCB0byBkaXNhYmxlIGl0LCB5b3UgbmVlZCB0byBwYXRjaCBjb25maWd1cmUuaW4gZmlyc3QKKyMgQUNfQ0hFQ0tfSEVBREVSUyhbb3BlbnNzbC9zaGEuaF0sLCBTSEFfSD0ibm8iKQorIyBpcyBjYWxsZWQgZXZlbiB3aXRoIC0td2l0aG91dC1vcGVuc3NsLWluY2x1ZGVzCitQQUNLQUdFQ09ORklHID89ICJvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtb3BlbnNzbC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtb3BlbnNzbC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sIC0td2l0aG91dC1vcGVuc3NsLWluY2x1ZGVzIC0td2l0aG91dC1vcGVuc3NsLWxpYnJhcmllcywgb3BlbnNzbCwiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc25vcnQvcnVsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3Nub3J0L3ByZXByb2NfcnVsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGZvciBpIGluIG1hcCBjb25maWcgY29uZiBkdGQ7IGRvCisgICAgICAgIGNwICR7U30vZXRjLyouJGkgJHtEfSR7c3lzY29uZmRpcn0vc25vcnQvCisgICAgZG9uZQorICAgIGNwICR7U30vcHJlcHJvY19ydWxlcy8qLnJ1bGVzICR7RH0ke3N5c2NvbmZkaXJ9L3Nub3J0L3ByZXByb2NfcnVsZXMvCisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9zbm9ydC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zbm9ydAorICAgIG1rZGlyIC1wICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvZy9zbm9ydAorICAgIGluc3RhbGwgLWQgJHtEfS92YXIvbG9nL3Nub3J0Cit9CisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7bGliZGlyfS9zbm9ydF9keW5hbWljZW5naW5lLyouc28uKiBcCisgICAgJHtsaWJkaXJ9L3Nub3J0X2R5bmFtaWNwcmVwcm9jZXNzb3IvKi5zby4qIFwKKyAgICAke2xpYmRpcn0vc25vcnRfZHluYW1pY3J1bGVzLyouc28uKiBcCisiCitGSUxFU18ke1BOfS1kYmcgKz0gIiBcCisgICAgJHtsaWJkaXJ9L3Nub3J0X2R5bmFtaWNlbmdpbmUvLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vc25vcnRfZHluYW1pY3ByZXByb2Nlc3Nvci8uZGVidWcgXAorICAgICR7bGliZGlyfS9zbm9ydF9keW5hbWljcnVsZXMvLmRlYnVnIFwKKyIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiIFwKKyAgICAke2xpYmRpcn0vc25vcnRfZHluYW1pY2VuZ2luZS8qLmEgXAorICAgICR7bGliZGlyfS9zbm9ydF9keW5hbWljcHJlcHJvY2Vzc29yLyouYSBcCisgICAgJHtsaWJkaXJ9L3Nub3J0X2R5bmFtaWNydWxlcy8qLmEgXAorICAgICR7bGliZGlyfS9zbm9ydC9keW5hbWljX3ByZXByb2MvKi5hIFwKKyAgICAke2xpYmRpcn0vc25vcnQvZHluYW1pY19vdXRwdXQvKi5hIFwKKyIKK0ZJTEVTXyR7UE59LWRldiArPSAiIFwKKyAgICAke2xpYmRpcn0vc25vcnRfZHluYW1pY2VuZ2luZS8qLmxhIFwKKyAgICAke2xpYmRpcn0vc25vcnRfZHluYW1pY3ByZXByb2Nlc3Nvci8qLmxhIFwKKyAgICAke2xpYmRpcn0vc25vcnRfZHluYW1pY3J1bGVzLyoubGEgXAorICAgICR7bGliZGlyfS9zbm9ydF9keW5hbWljZW5naW5lLyouc28gXAorICAgICR7bGliZGlyfS9zbm9ydF9keW5hbWljcHJlcHJvY2Vzc29yLyouc28gXAorICAgICR7bGliZGlyfS9zbm9ydF9keW5hbWljcnVsZXMvKi5zbyBcCisgICAgJHtwcmVmaXh9L3NyYy9zbm9ydF9keW5hbWljc3JjIFwKKyIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMzUxMzcvCitQTkJMQUNLTElTVFtzbm9ydF0gPz0gIkJST0tFTjogUUEgSXNzdWU6IHNub3J0X3ByZXByb2MucGMsIHNub3J0X291dHB1dC5wYywgc25vcnQucGMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDEtb3B0aW1pemUtYm9vdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91ZncvMDAwMS1vcHRpbWl6ZS1ib290LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExZTU2YjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDEtb3B0aW1pemUtYm9vdC5wYXRjaApAQCAtMCwwICsxLDI1IEBACitBdXRob3I6IEphbWllIFN0cmFuZGJvZ2UgPGphbWllQGNhbm9uaWNhbC5jb20+CitEZXNjcmlwdGlvbjogdG8gaW1wcm92ZSBib290IHNwZWVkIHdoZW4gZGlzYWJsZWQsIGRvbid0IHNvdXJjZSBhbGwgb2YKKyB1ZnctaW5pdC1mdW5jdGlvbnMgKHdoaWNoIGFsc28gc291cmNlcyBpbiBvdGhlciBmaWxlcykuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIG5vdCBhdXRob3IgXQorCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CisKK0luZGV4OiB1ZnctMC4zMS9zcmMvdWZ3LWluaXQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB1ZnctMC4zMS5vcmlnL3NyYy91ZnctaW5pdAkyMDEyLTAzLTA5IDE3OjA3OjExLjAwMDAwMDAwMCAtMDYwMAorKysrIHVmdy0wLjMxL3NyYy91ZnctaW5pdAkyMDEyLTAzLTE3IDA5OjM3OjUxLjAwMDAwMDAwMCAtMDUwMAorQEAgLTE4LDYgKzE4LDEyIEBACisgIworIHNldCAtZQorIAorKyMgRGViaWFuL1VidW50dTogc21hbGwgYm9vdCBzcGVlZCBpbXByb3ZlbWVudAorKy4gIiNDT05GSUdfUFJFRklYIy91ZncvdWZ3LmNvbmYiCisraWYgWyAiJDEiID0gInN0YXJ0IiBdICYmIFsgIiQyIiA9ICJxdWlldCIgXSAmJiBbICIkRU5BQkxFRCIgPSAibm8iIF07IHRoZW4KKysgICAgZXhpdCAwCisrZmkKKysKKyBpZiBbIC1zICIjU1RBVEVfUFJFRklYIy91ZnctaW5pdC1mdW5jdGlvbnMiIF07IHRoZW4KKyAgICAgLiAiI1NUQVRFX1BSRUZJWCMvdWZ3LWluaXQtZnVuY3Rpb25zIgorIGVsc2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91ZncvMDAwMi1scDEwNDQzNjEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDItbHAxMDQ0MzYxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwNGMxOGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDItbHAxMDQ0MzYxLnBhdGNoCkBAIC0wLDAgKzEsMTE4IEBACitPcmlnaW46IHI3OTUsIHI3OTYKK0Rlc2NyaXB0aW9uOiBtb3ZlIG5ldGZpbHRlciBjYXBhYmlsaXRpZXMgY2hlY2tpbmcgaW50byBpbml0Y2FwcygpLCBhbmQgY2FsbAorIGluaXRjYXBzKCkgb25seSB3aGVuIHdlIG5lZWQgaXQuCitCdWctVWJ1bnR1OiBodHRwczovL2xhdW5jaHBhZC5uZXQvYnVncy8xMDQ0MzYxCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIG5vdCBhdXRob3IgXQorCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CisKK0luZGV4OiB1ZnctMC4zMy9zcmMvYmFja2VuZF9pcHRhYmxlcy5weQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHVmdy0wLjMzLm9yaWcvc3JjL2JhY2tlbmRfaXB0YWJsZXMucHkJMjAxMi0wOS0yMyAwOTo1ODozNC4wMDAwMDAwMDAgLTA1MDAKKysrKyB1ZnctMC4zMy9zcmMvYmFja2VuZF9pcHRhYmxlcy5weQkyMDEyLTA5LTIzIDA5OjU4OjM2LjAwMDAwMDAwMCAtMDUwMAorQEAgLTE2MCw2ICsxNjAsOSBAQAorICAgICAgICAgICAgIG91dCArPSAiPiAiICsgXygiQ2hlY2tpbmcgcmF3IGlwNnRhYmxlc1xuIikKKyAgICAgICAgICAgICByZXR1cm4gb3V0CisgCisrICAgICAgICAjIEluaXRpYWxpemUgdGhlIGNhcGFiaWxpdGllcyBkYXRhYmFzZQorKyAgICAgICAgc2VsZi5pbml0Y2FwcygpCisrCisgICAgICAgICBhcmdzID0gWyctbicsICctdicsICcteCcsICctTCddCisgICAgICAgICBpdGVtcyA9IFtdCisgICAgICAgICBpdGVtczYgPSBbXQorQEAgLTQ3MCw2ICs0NzMsOSBAQAorICAgICAgICAgaWYgc2VsZi5kcnlydW46CisgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgCisrICAgICAgICAjIEluaXRpYWxpemUgdGhlIGNhcGFiaWxpdGllcyBkYXRhYmFzZQorKyAgICAgICAgc2VsZi5pbml0Y2FwcygpCisrCisgICAgICAgICBwcmVmaXggPSAidWZ3IgorICAgICAgICAgZXhlID0gc2VsZi5pcHRhYmxlcworICAgICAgICAgaWYgdjY6CitAQCAtNjg0LDYgKzY5MCw5IEBACisgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgIHJhaXNlCisgCisrICAgICAgICAjIEluaXRpYWxpemUgdGhlIGNhcGFiaWxpdGllcyBkYXRhYmFzZQorKyAgICAgICAgc2VsZi5pbml0Y2FwcygpCisrCisgICAgICAgICBjaGFpbl9wcmVmaXggPSAidWZ3IgorICAgICAgICAgcnVsZXMgPSBzZWxmLnJ1bGVzCisgICAgICAgICBpZiB2NjoKK0BAIC04MzAsNiArODM5LDEwIEBACisgICAgICAgICAqIHVwZGF0aW5nIHVzZXIgcnVsZXMgZmlsZQorICAgICAgICAgKiByZWxvYWRpbmcgdGhlIHVzZXIgcnVsZXMgZmlsZSBpZiBydWxlIGlzIG1vZGlmaWVkCisgICAgICAgICAnJycKKysKKysgICAgICAgICMgSW5pdGlhbGl6ZSB0aGUgY2FwYWJpbGl0aWVzIGRhdGFiYXNlCisrICAgICAgICBzZWxmLmluaXRjYXBzKCkKKysKKyAgICAgICAgIHJzdHIgPSAiIgorIAorICAgICAgICAgaWYgcnVsZS52NjoKK0BAIC0xMDczLDYgKzEwODYsOSBAQAorICAgICAgICAgaWYgc2VsZi5kcnlydW46CisgICAgICAgICAgICAgcmV0dXJuCisgCisrICAgICAgICAjIEluaXRpYWxpemUgdGhlIGNhcGFiaWxpdGllcyBkYXRhYmFzZQorKyAgICAgICAgc2VsZi5pbml0Y2FwcygpCisrCisgICAgICAgICBydWxlc190ID0gW10KKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBydWxlc190ID0gc2VsZi5fZ2V0X2xvZ2dpbmdfcnVsZXMobGV2ZWwpCitJbmRleDogdWZ3LTAuMzMvc3JjL2JhY2tlbmQucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB1ZnctMC4zMy5vcmlnL3NyYy9iYWNrZW5kLnB5CTIwMTItMDktMjMgMDk6NTg6MzQuMDAwMDAwMDAwIC0wNTAwCisrKysgdWZ3LTAuMzMvc3JjL2JhY2tlbmQucHkJMjAxMi0wOS0yMyAwOTo1OTowMy4wMDAwMDAwMDAgLTA1MDAKK0BAIC0yMSw3ICsyMSw3IEBACisgaW1wb3J0IHN0YXQKKyBpbXBvcnQgc3lzCisgaW1wb3J0IHVmdy51dGlsCistZnJvbSB1ZncudXRpbCBpbXBvcnQgd2FybiwgZGVidWcKKytmcm9tIHVmdy51dGlsIGltcG9ydCBlcnJvciwgd2FybiwgZGVidWcKKyBmcm9tIHVmdy5jb21tb24gaW1wb3J0IFVGV0Vycm9yLCBjb25maWdfZGlyLCBpcHRhYmxlc19kaXIsIFVGV1J1bGUKKyBpbXBvcnQgdWZ3LmFwcGxpY2F0aW9ucworIAorQEAgLTY4LDYgKzY4LDE3IEBACisgICAgICAgICAgICAgZXJyX21zZyA9IF8oIkNvdWxkbid0IGRldGVybWluZSBpcHRhYmxlcyB2ZXJzaW9uIikKKyAgICAgICAgICAgICByYWlzZSBVRldFcnJvcihlcnJfbXNnKQorIAorKyAgICAgICAgIyBJbml0aWFsaXplIHZpYSBpbml0Y2FwcyBvbmx5IHdoZW4gd2UgbmVlZCBpdCAoTFA6ICMxMDQ0MzYxKQorKyAgICAgICAgc2VsZi5jYXBzID0gTm9uZQorKworKyAgICBkZWYgaW5pdGNhcHMoc2VsZik6CisrICAgICAgICAnJydJbml0aWFsaXplIHRoZSBjYXBhYmlsaXRpZXMgZGF0YWJhc2UuIFRoaXMgbmVlZHMgdG8gYmUgY2FsbGVkCisrICAgICAgICAgICBiZWZvcmUgYWNjZXNzaW5nIHRoZSBkYXRhYmFzZS4nJycKKysKKysgICAgICAgICMgT25seSBpbml0aWFsaXplIGlmIG5vdCBpbml0aWFsaXplZCBhbHJlYWR5CisrICAgICAgICBpZiBzZWxmLmNhcHMgIT0gTm9uZToKKysgICAgICAgICAgICByZXR1cm4KKysKKyAgICAgICAgIHNlbGYuY2FwcyA9IHt9CisgICAgICAgICBzZWxmLmNhcHNbJ2xpbWl0J10gPSB7fQorIAorQEAgLTc4LDE0ICs4OSwyMCBAQAorICAgICAgICAgIyBUcnkgdG8gZ2V0IGNhcGFiaWxpdGllcyBmcm9tIHRoZSBydW5uaW5nIHN5c3RlbSBpZiByb290CisgICAgICAgICBpZiBzZWxmLmRvX2NoZWNrcyBhbmQgb3MuZ2V0dWlkKCkgPT0gMCBhbmQgbm90IHNlbGYuZHJ5cnVuOgorICAgICAgICAgICAgICMgdjQKKy0gICAgICAgICAgICBuZl9jYXBzID0gdWZ3LnV0aWwuZ2V0X25ldGZpbHRlcl9jYXBhYmlsaXRpZXMoc2VsZi5pcHRhYmxlcykKKysgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAgIG5mX2NhcHMgPSB1ZncudXRpbC5nZXRfbmV0ZmlsdGVyX2NhcGFiaWxpdGllcyhzZWxmLmlwdGFibGVzKQorKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisrICAgICAgICAgICAgICAgIGVycm9yKCJpbml0Y2Fwc1xuJXMiICUgZSkKKyAgICAgICAgICAgICBpZiAncmVjZW50LXNldCcgaW4gbmZfY2FwcyBhbmQgJ3JlY2VudC11cGRhdGUnIGluIG5mX2NhcHM6CisgICAgICAgICAgICAgICAgIHNlbGYuY2Fwc1snbGltaXQnXVsnNCddID0gVHJ1ZQorICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIHNlbGYuY2Fwc1snbGltaXQnXVsnNCddID0gRmFsc2UKKyAKKyAgICAgICAgICAgICAjIHY2CistICAgICAgICAgICAgbmZfY2FwcyA9IHVmdy51dGlsLmdldF9uZXRmaWx0ZXJfY2FwYWJpbGl0aWVzKHNlbGYuaXA2dGFibGVzKQorKyAgICAgICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAgbmZfY2FwcyA9IHVmdy51dGlsLmdldF9uZXRmaWx0ZXJfY2FwYWJpbGl0aWVzKHNlbGYuaXA2dGFibGVzKQorKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisrICAgICAgICAgICAgICAgIGVycm9yKCJpbml0Y2Fwc1xuJXMiICUgZSkKKyAgICAgICAgICAgICBpZiAncmVjZW50LXNldCcgaW4gbmZfY2FwcyBhbmQgJ3JlY2VudC11cGRhdGUnIGluIG5mX2NhcHM6CisgICAgICAgICAgICAgICAgIHNlbGYuY2Fwc1snbGltaXQnXVsnNiddID0gVHJ1ZQorICAgICAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDMtZml4LXR5cGVlcnJvci1vbi1lcnJvci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91ZncvMDAwMy1maXgtdHlwZWVycm9yLW9uLWVycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNTlmZGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDMtZml4LXR5cGVlcnJvci1vbi1lcnJvci5wYXRjaApAQCAtMCwwICsxLDIwIEBACitPcmlnaW46IHI3OTcKK0Rlc2NyaXB0aW9uOiBzcmMvYmFja2VuZF9pcHRhYmxlcy5weTogZml4IG1pc3BsYWNlZCBwYXJlbnRoZXNpcworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgWyBub3QgYXV0aG9yIF0KKworU2lnbmVkLW9mZi1ieTogSm9lIE1hY0RvbmFsZCA8am9lX21hY2RvbmFsZEBtZW50b3IuY29tPgorCitJbmRleDogdWZ3LTAuMzMvc3JjL2JhY2tlbmRfaXB0YWJsZXMucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB1ZnctMC4zMy5vcmlnL3NyYy9iYWNrZW5kX2lwdGFibGVzLnB5CTIwMTItMDktMjQgMDg6NTE6MTMuMDAwMDAwMDAwIC0wNTAwCisrKysgdWZ3LTAuMzMvc3JjL2JhY2tlbmRfaXB0YWJsZXMucHkJMjAxMi0wOS0yNCAwODo1MjowMC4wMDAwMDAwMDAgLTA1MDAKK0BAIC0xMDc1LDcgKzEwNzUsNyBAQAorICAgICAgICAgICAgIGV4ZSA9IHNlbGYuaXA2dGFibGVzCisgICAgICAgICAocmMsIG91dCkgPSBjbWQoW2V4ZV0gKyBhcmdzKQorICAgICAgICAgaWYgcmMgIT0gMDoKKy0gICAgICAgICAgICBlcnJfbXNnID0gXygiQ291bGQgbm90IHBlcmZvcm0gJyVzJyIpICUgKGFyZ3MpCisrICAgICAgICAgICAgZXJyX21zZyA9IF8oIkNvdWxkIG5vdCBwZXJmb3JtICclcyciICUgKGFyZ3MpKQorICAgICAgICAgICAgIGlmIGZhaWxfb2s6CisgICAgICAgICAgICAgICAgIGRlYnVnKCJGQUlMT0s6ICIgKyBlcnJfbXNnKQorICAgICAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDQtbHAxMDM5NzI5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdWZ3L3Vmdy8wMDA0LWxwMTAzOTcyOS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTViMjY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdWZ3L3Vmdy8wMDA0LWxwMTAzOTcyOS5wYXRjaApAQCAtMCwwICsxLDQwIEBACitPcmlnaW46IHI4MDMsIHI4MDQKK0Rlc2NyaXB0aW9uOiBEb24ndCBjYWxsIGdldF9uZXRmaWx0ZXJfY2FwYWJpbGl0aWVzKCkgd2l0aCBpcHY2IGlmIGlwdjYgaXMKKyBkaXNhYmxlZC4KK0J1Zy1VYnVudHU6IGh0dHBzOi8vbGF1bmNocGFkLm5ldC91ZncvYnVncy8xMDM5NzI5CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIG5vdCBhdXRob3IgXQorCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CisKK0luZGV4OiB1ZnctMC4zMy9zcmMvYmFja2VuZC5weQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHVmdy0wLjMzLm9yaWcvc3JjL2JhY2tlbmQucHkJMjAxMi0xMi0wNCAwOToyMTo1Ny4wMDAwMDAwMDAgLTA2MDAKKysrKyB1ZnctMC4zMy9zcmMvYmFja2VuZC5weQkyMDEyLTEyLTA0IDA5OjIyOjQwLjAwMDAwMDAwMCAtMDYwMAorQEAgLTk4LDE1ICs5OCwxNyBAQAorICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIHNlbGYuY2Fwc1snbGltaXQnXVsnNCddID0gRmFsc2UKKyAKKy0gICAgICAgICAgICAjIHY2CistICAgICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAgICBuZl9jYXBzID0gdWZ3LnV0aWwuZ2V0X25ldGZpbHRlcl9jYXBhYmlsaXRpZXMoc2VsZi5pcDZ0YWJsZXMpCistICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKy0gICAgICAgICAgICAgICAgZXJyb3IoImluaXRjYXBzXG4lcyIgJSBlKQorLSAgICAgICAgICAgIGlmICdyZWNlbnQtc2V0JyBpbiBuZl9jYXBzIGFuZCAncmVjZW50LXVwZGF0ZScgaW4gbmZfY2FwczoKKy0gICAgICAgICAgICAgICAgc2VsZi5jYXBzWydsaW1pdCddWyc2J10gPSBUcnVlCistICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgc2VsZi5jYXBzWydsaW1pdCddWyc2J10gPSBGYWxzZQorKyAgICAgICAgICAgICMgdjYgKHNraXAgY2FwYWJpbGl0aWVzIGNoZWNrIGZvciBpcHY2IGlmIGlwdjYgaXMgZGlzYWJsZWQgaW4gdWZ3CisrICAgICAgICAgICAgIyBiZWNhdXNlIHRoZSBzeXN0ZW0gbWF5IG5vdCBoYXZlIGlwdjYgc3VwcG9ydCAoTFA6ICMxMDM5NzI5KQorKyAgICAgICAgICAgIGlmIHNlbGYudXNlX2lwdjYoKToKKysgICAgICAgICAgICAgICAgdHJ5OgorKyAgICAgICAgICAgICAgICAgICAgbmZfY2FwcyA9IHVmdy51dGlsLmdldF9uZXRmaWx0ZXJfY2FwYWJpbGl0aWVzKHNlbGYuaXA2dGFibGVzKQorKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorKyAgICAgICAgICAgICAgICAgICAgZXJyb3IoImluaXRjYXBzXG4lcyIgJSBlKQorKyAgICAgICAgICAgICAgICBpZiAncmVjZW50LXNldCcgaW4gbmZfY2FwcyBhbmQgJ3JlY2VudC11cGRhdGUnIGluIG5mX2NhcHM6CisrICAgICAgICAgICAgICAgICAgICBzZWxmLmNhcHNbJ2xpbWl0J11bJzYnXSA9IFRydWUKKysgICAgICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgICAgIHNlbGYuY2Fwc1snbGltaXQnXVsnNiddID0gRmFsc2UKKyAKKyAgICAgZGVmIGlzX2VuYWJsZWQoc2VsZik6CisgICAgICAgICAnJydJcyBmaXJld2FsbCBjb25maWd1cmVkIGFzIGVuYWJsZWQnJycKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91ZncvMDAwNS1scDExOTExOTcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDUtbHAxMTkxMTk3LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NjBkM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3LzAwMDUtbHAxMTkxMTk3LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK09yaWdpbjogcjgxNgorRGVzY3JpcHRpb246IGFkZCBjaGVjayBmb3IgLW0gcnQgLS1ydC10eXBlIDAKK0J1Zy1VYnVudHU6IGh0dHBzOi8vbGF1bmNocGFkLm5ldC9idWdzLzExOTExOTcKK0ZvcndhcmRlZDogeWVzCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIG5vdCBhdXRob3IgXQorCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CisKK0luZGV4OiB1ZnctMC4zMy90ZXN0cy9jaGVjay1yZXF1aXJlbWVudHMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB1ZnctMC4zMy5vcmlnL3Rlc3RzL2NoZWNrLXJlcXVpcmVtZW50cwkyMDEyLTA4LTE3IDE2OjEyOjQ5LjAwMDAwMDAwMCAtMDUwMAorKysrIHVmdy0wLjMzL3Rlc3RzL2NoZWNrLXJlcXVpcmVtZW50cwkyMDEzLTA2LTE1IDA3OjQ3OjAwLjAwMDAwMDAwMCAtMDUwMAorQEAgLTMsNyArMyw3IEBACisgIyBjaGVjay1yZXF1aXJlbWVudHM6IHZlcmlmeSBhbGwgdGhlIHJlcXVpcmVkIGlwdGFibGVzIGZ1bmN0aW9uYWxpdHkgaXMKKyAjIGF2YWlsYWJsZQorICMKKy0jIENvcHlyaWdodCAyMDA4LTIwMTIgQ2Fub25pY2FsIEx0ZC4KKysjIENvcHlyaWdodCAyMDA4LTIwMTMgQ2Fub25pY2FsIEx0ZC4KKyAjCisgIyAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICMgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDMsCitAQCAtMjE4LDYgKzIxOCw5IEBACisgICAgICAgICAgICAgZWNobyAtbiAiaWNtcHY2IHdpdGggaGwgKCRqKTogIgorICAgICAgICAgICAgIHJ1bmNtZCAkZXhlIC1BICRjIC1wIGljbXB2NiAtLWljbXB2Ni10eXBlICRqIC1tIGhsIC0taGwtZXEgMjU1IC1qIEFDQ0VQVAorICAgICAgICAgZG9uZQorKworKyAgICAgICAgZWNobyAtbiAiaXB2NiBydDogIgorKyAgICAgICAgcnVuY21kICRleGUgLUEgJGMgLW0gcnQgLS1ydC10eXBlIDAgLWogQUNDRVBUCisgICAgIGZpCisgCisgICAgIGVjaG8gIiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91Zncvc2V0dXAtYWRkLWFuLW9wdGlvbi10by1zcGVjaWZ5LWlwdGFibGVzLWxvY2F0aW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdWZ3L3Vmdy9zZXR1cC1hZGQtYW4tb3B0aW9uLXRvLXNwZWNpZnktaXB0YWJsZXMtbG9jYXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTExNzQyMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91Zncvc2V0dXAtYWRkLWFuLW9wdGlvbi10by1zcGVjaWZ5LWlwdGFibGVzLWxvY2F0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMTA3IEBACitGcm9tIGM1NGQzNmQwNTgyYTYwZmQyODFjZDkyODcwNzdjZWEyMDVmZDg0OWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CitEYXRlOiBUaHUsIDI3IE5vdiAyMDE0IDE1OjIwOjM0IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIHNldHVwOiBhZGQgYW4gb3B0aW9uIHRvIHNwZWNpZnkgaXB0YWJsZXMgbG9jYXRpb24KKworV2hlbiBjcm9zcy1jb21waWxpbmcgaXQgaXNuJ3QgY2VydGFpbiB0aGF0IHRoZSBsb2NhdGlvbiBvZiBpcHRhYmxlcyBvbiB0aGUKK3RhcmdldCB3aWxsIGJlIHRoZSBzYW1lIGFzIG9uIHRoZSBob3N0LiAgSXQgYWxzbyBkb2Vzbid0IG1ha2Ugc2Vuc2UgdGhlCit0ZXN0IHRoZSB2ZXJzaW9uIG9mIHRoZSBob3N0IGR1cmluZyBzZXR1cC4gIFdlIHByb3ZpZGUgYW4gb3B0aW9uIHRvCitzcGVjaWZ5IGFuIGFsdGVybmF0ZSBpcHRhYmxlcyBkaXJlY3RvcnkuICBUaGlzIGlzIGFzc3VtZWQgdG8gYmUgYQorY3Jvc3MtY29tcGlsZSBlbnZpcm9ubWVudCBhbmQgdGhlcmVmb3JlIG5vIGF0dGVtcHQgaXMgbWFkZSB0byB2ZXJpZnkgdGhlCit2ZXJzaW9uIG9mIGlwdGFibGVzIHRvIGJlIHVzZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CistLS0KKyBzZXR1cC5weSB8IDY5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA2ZmIzNzUxLi5iMTNkMTFjIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtMjI1LDQxICsyMjUsNTAgQEAgc2h1dGlsLmNvcHl0cmVlKCdzcmMnLCAnc3RhZ2luZycpCisgb3MudW5saW5rKG9zLnBhdGguam9pbignc3RhZ2luZycsICd1ZnctaW5pdCcpKQorIG9zLnVubGluayhvcy5wYXRoLmpvaW4oJ3N0YWdpbmcnLCAndWZ3LWluaXQtZnVuY3Rpb25zJykpCisgCisraXB0YWJsZXNfc2V0ID0gMAorIGlwdGFibGVzX2V4ZSA9ICcnCisgaXB0YWJsZXNfZGlyID0gJycKKyAKKy1mb3IgZSBpbiBbJ2lwdGFibGVzJ106CistICAgIGZvciBkaXIgaW4gWycvc2JpbicsICcvYmluJywgJy91c3Ivc2JpbicsICcvdXNyL2JpbicsICcvdXNyL2xvY2FsL3NiaW4nLCBcCistICAgICAgICAgICAgICAgICcvdXNyL2xvY2FsL2JpbiddOgorLSAgICAgICAgaWYgZSA9PSAiaXB0YWJsZXMiOgorLSAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihkaXIsIGUpKToKKy0gICAgICAgICAgICAgICAgaXB0YWJsZXNfZGlyID0gZGlyCistICAgICAgICAgICAgICAgIGlwdGFibGVzX2V4ZSA9IG9zLnBhdGguam9pbihpcHRhYmxlc19kaXIsICJpcHRhYmxlcyIpCistICAgICAgICAgICAgICAgIHByaW50KCJGb3VuZCAnJXMnIiAlIGlwdGFibGVzX2V4ZSkKKy0gICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICBjb250aW51ZQorLQorLSAgICAgICAgaWYgaXB0YWJsZXNfZXhlICE9ICIiOgorLSAgICAgICAgICAgIGJyZWFrCistCistCistaWYgaXB0YWJsZXNfZXhlID09ICcnOgorLSAgICBwcmludCgiRVJST1I6IGNvdWxkIG5vdCBmaW5kIHJlcXVpcmVkIGJpbmFyeSAnaXB0YWJsZXMnIiwgZmlsZT1zeXMuc3RkZXJyKQorLSAgICBzeXMuZXhpdCgxKQorLQorLWZvciBlIGluIFsnaXA2dGFibGVzJywgJ2lwdGFibGVzLXJlc3RvcmUnLCAnaXA2dGFibGVzLXJlc3RvcmUnXToKKy0gICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihpcHRhYmxlc19kaXIsIGUpKToKKy0gICAgICAgIHByaW50KCJFUlJPUjogY291bGQgbm90IGZpbmQgcmVxdWlyZWQgYmluYXJ5ICclcyciICUgKGUpLCBmaWxlPXN5cy5zdGRlcnIpCisraWYgIi0taXB0YWJsZXMtZGlyIiBpbiBzeXMuYXJndjoKKysgICAgaXB0YWJsZXNfZGlyID0gc3lzLmFyZ3Zbc3lzLmFyZ3YuaW5kZXgoIi0taXB0YWJsZXMtZGlyIikgKyAxXQorKyAgICBpcHRhYmxlc19leGUgPSBvcy5wYXRoLmpvaW4oaXB0YWJsZXNfZGlyLCAiaXB0YWJsZXMiKQorKyAgICBpcHRhYmxlc19zZXQgPSAxCisrICAgIHByaW50KCJJTkZPOiBpcHRhYmxlcyBtYW51YWxseSBzZXQ6ICclcyciICUgKGlwdGFibGVzX2V4ZSkpCisrICAgIHN5cy5hcmd2LnJlbW92ZShpcHRhYmxlc19kaXIpCisrICAgIHN5cy5hcmd2LnJlbW92ZSgiLS1pcHRhYmxlcy1kaXIiKQorKworK2lmIG5vdCBpcHRhYmxlc19zZXQ6CisrICAgIGZvciBlIGluIFsnaXB0YWJsZXMnXToKKysgICAgICAgIGZvciBkaXIgaW4gWycvc2JpbicsICcvYmluJywgJy91c3Ivc2JpbicsICcvdXNyL2JpbicsICcvdXNyL2xvY2FsL3NiaW4nLCBcCisrICAgICAgICAgICAgICAgICAgICAnL3Vzci9sb2NhbC9iaW4nXToKKysgICAgICAgICAgICBpZiBlID09ICJpcHRhYmxlcyI6CisrICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihkaXIsIGUpKToKKysgICAgICAgICAgICAgICAgICAgIGlwdGFibGVzX2RpciA9IGRpcgorKyAgICAgICAgICAgICAgICAgICAgaXB0YWJsZXNfZXhlID0gb3MucGF0aC5qb2luKGlwdGFibGVzX2RpciwgImlwdGFibGVzIikKKysgICAgICAgICAgICAgICAgICAgIHByaW50KCJGb3VuZCAnJXMnIiAlIGlwdGFibGVzX2V4ZSkKKysgICAgICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrCisrICAgICAgICAgICAgaWYgaXB0YWJsZXNfZXhlICE9ICIiOgorKyAgICAgICAgICAgICAgICBicmVhaworKworKyAgICBpZiBpcHRhYmxlc19leGUgPT0gJyc6CisrICAgICAgICBwcmludCgiRVJST1I6IGNvdWxkIG5vdCBmaW5kIHJlcXVpcmVkIGJpbmFyeSAnaXB0YWJsZXMnIiwgZmlsZT1zeXMuc3RkZXJyKQorICAgICAgICAgc3lzLmV4aXQoMSkKKyAKKy0ocmMsIG91dCkgPSBjbWQoW2lwdGFibGVzX2V4ZSwgJy1WJ10pCistaWYgcmMgIT0gMDoKKy0gICAgcmFpc2UgT1NFcnJvcihlcnJuby5FTk9FTlQsICJDb3VsZCBub3QgZmluZCB2ZXJzaW9uIGZvciAnJXMnIiAlIFwKKy0gICAgICAgICAgICAgICAgICAoaXB0YWJsZXNfZXhlKSkKKy12ZXJzaW9uID0gcmUuc3ViKCdedicsICcnLCByZS5zcGxpdCgnXHMnLCBzdHIob3V0KSlbMV0pCistcHJpbnQoIkZvdW5kICclcycgdmVyc2lvbiAnJXMnIiAlIChpcHRhYmxlc19leGUsIHZlcnNpb24pKQorLWlmIHZlcnNpb24gPCAiMS40IjoKKy0gICAgcHJpbnQoIldBUk46IHZlcnNpb24gJyVzJyBoYXMgbGltaXRlZCBJUHY2IHN1cHBvcnQuIFNlZSBSRUFETUUgZm9yIGRldGFpbHMuIiAlICh2ZXJzaW9uKSwgZmlsZT1zeXMuc3RkZXJyKQorKyAgICBmb3IgZSBpbiBbJ2lwNnRhYmxlcycsICdpcHRhYmxlcy1yZXN0b3JlJywgJ2lwNnRhYmxlcy1yZXN0b3JlJ106CisrICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGlwdGFibGVzX2RpciwgZSkpOgorKyAgICAgICAgICAgIHByaW50KCJFUlJPUjogY291bGQgbm90IGZpbmQgcmVxdWlyZWQgYmluYXJ5ICclcyciICUgKGUpLCBmaWxlPXN5cy5zdGRlcnIpCisrICAgICAgICAgICAgc3lzLmV4aXQoMSkKKysKKysgICAgKHJjLCBvdXQpID0gY21kKFtpcHRhYmxlc19leGUsICctViddKQorKyAgICBpZiByYyAhPSAwOgorKyAgICAgICAgcmFpc2UgT1NFcnJvcihlcnJuby5FTk9FTlQsICJDb3VsZCBub3QgZmluZCB2ZXJzaW9uIGZvciAnJXMnIiAlIFwKKysgICAgICAgICAgICAgICAgICAgICAgKGlwdGFibGVzX2V4ZSkpCisrICAgIHZlcnNpb24gPSByZS5zdWIoJ152JywgJycsIHJlLnNwbGl0KCdccycsIHN0cihvdXQpKVsxXSkKKysgICAgcHJpbnQoIkZvdW5kICclcycgdmVyc2lvbiAnJXMnIiAlIChpcHRhYmxlc19leGUsIHZlcnNpb24pKQorKyAgICBpZiB2ZXJzaW9uIDwgIjEuNCI6CisrICAgICAgICBwcmludCgiV0FSTjogdmVyc2lvbiAnJXMnIGhhcyBsaW1pdGVkIElQdjYgc3VwcG9ydC4gU2VlIFJFQURNRSBmb3IgZGV0YWlscy4iICUgKHZlcnNpb24pLCBmaWxlPXN5cy5zdGRlcnIpCisgCisgc2V0dXAgKG5hbWU9J3VmdycsCisgICAgICAgdmVyc2lvbj11ZndfdmVyc2lvbiwKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdWZ3L3Vmdy9zZXR1cC1vbmx5LW1ha2Utb25lLXJlZmVyZW5jZS10by1lbnYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3L3NldHVwLW9ubHktbWFrZS1vbmUtcmVmZXJlbmNlLXRvLWVudi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjcwNGI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdWZ3L3Vmdy9zZXR1cC1vbmx5LW1ha2Utb25lLXJlZmVyZW5jZS10by1lbnYucGF0Y2gKQEAgLTAsMCArMSw3NyBAQAorRnJvbSBiZTUzZWVhMDZhNTY1NWZkYzk4ZjQ3YTczYmU4Mjc3YjY1YmI0MmVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9lIE1hY0RvbmFsZCA8am9lX21hY2RvbmFsZEBtZW50b3IuY29tPgorRGF0ZTogVHVlLCAxMSBOb3YgMjAxNCAyMTo0MToxNCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBzZXR1cDogb25seSBtYWtlIG9uZSByZWZlcmVuY2UgdG8gZW52CisKK0lmIHN5cy5leGVjdXRhYmxlIGhhcHBlbnMgdG8gYmUgJy91c3IvYmluL2VudiBweXRob24nIG9yIHNvbWV0aGluZworc2ltaWxhciwgdGhlIHNldHVwIHNjcmlwdCB3aWxsIHJlc3VsdCBpbiAndWZ3JyBnZXR0aW5nIC91c3IvYmluL2VudgorcmVwZWF0ZWQgb24gdGhlIHRvcCBsaW5lLiAgVGhpcyBjYXVzZXMgYW4gZXJyb3IgYXQgcnVudGltZS4gIFBlcmZvcm0gYQorcXVpY2sgc2FuaXR5IGNoZWNrIG9uIHN5cy5leGVjdXRhYmxlIGJlZm9yZSBkb2luZyB0aGUgc3Vic3RpdHV0aW9uLgorCitXaGlsZSB3ZSdyZSBhdCBpdCwgY2hhbmdlIHRoZSBkZWZhdWx0IHZhbHVlIG9mICdleGUnIHRvIHRoZSBvbmUgd2UgZWl0aGVyCitkZXRlY3RlZCBvciBzcGVjaWZpZWQgb24gdGhlIGJ1aWxkIGxpbmUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIGVtYmVkZGVkIHNwZWNpZmljIF0KKworU2lnbmVkLW9mZi1ieTogSm9lIE1hY0RvbmFsZCA8am9lX21hY2RvbmFsZEBtZW50b3IuY29tPgorLS0tCisgc2V0dXAucHkgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCBiMTNkMTFjLi43M2FjZGVmIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNjQsNyArNjQsNyBAQCBjbGFzcyBJbnN0YWxsKF9pbnN0YWxsLCBvYmplY3QpOgorICAgICAgICAgcmVhbF9zaGFyZWRpciA9IG9zLnBhdGguam9pbihyZWFsX3ByZWZpeCwgJ3NoYXJlJywgJ3VmdycpCisgCisgICAgICAgICAjIFVwZGF0ZSB0aGUgbW9kdWxlcycgcGF0aHMKKy0gICAgICAgIGZvciBmaWxlIGluIFsgJ2NvbW1vbi5weScgXToKKysgICAgICAgIGZvciBmaWxlIGluIFsgJ2NvbW1vbi5weScsICd1dGlsLnB5JyBdOgorICAgICAgICAgICAgIHByaW50KCJVcGRhdGluZyAiICsgZmlsZSkKKyAgICAgICAgICAgICBzdWJwcm9jZXNzLmNhbGwoWyJzZWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1pIiwKK0BAIC05MSw2ICs5MSwxMSBAQCBjbGFzcyBJbnN0YWxsKF9pbnN0YWxsLCBvYmplY3QpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMlI1NIQVJFX0RJUiMlIiArIHJlYWxfc2hhcmVkaXIgKyAiJWciLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKCdzdGFnaW5nJywgZmlsZSldKQorIAorKyAgICAgICAgICAgIHN1YnByb2Nlc3MuY2FsbChbInNlZCIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLWkuamptIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzJS9zYmluL2lwdGFibGVzJSIgKyBpcHRhYmxlc19leGUgKyAiJWciLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKCdzdGFnaW5nJywgZmlsZSldKQorKworICAgICAgICAgIyBOb3cgYnl0ZS1jb21waWxlIGV2ZXJ5dGhpbmcKKyAgICAgICAgIHN1cGVyKEluc3RhbGwsIHNlbGYpLnJ1bigpCisgCitAQCAtMTA3LDEyICsxMTIsMjMgQEAgY2xhc3MgSW5zdGFsbChfaW5zdGFsbCwgb2JqZWN0KToKKyAgICAgICAgIGZvciBmIGluIFsgc2NyaXB0LCBtYW5wYWdlLCBtYW5wYWdlX2YgXToKKyAgICAgICAgICAgICBzZWxmLm1rcGF0aChvcy5wYXRoLmRpcm5hbWUoZikpCisgCisrICAgICAgICAjIGlmIHN5cy5leGVjdXRhYmxlID09IC91c3IvYmluL2VudiBweXRob24qIHRoZSByZXN1bHQgd2lsbCBiZSB0aGUgdG9wCisrICAgICAgICAjIG9mIHVmdyBnZXR0aW5nOgorKyAgICAgICAgIworKyAgICAgICAgIyAgIyEgL3Vzci9iaW4vZW52IC91c3IvYmluL2VudiBweXRob24KKysgICAgICAgICMKKysgICAgICAgICMgd2hpY2ggaXMgbm90IGlkZWFsCisrICAgICAgICAjCisgICAgICAgICAjIHVwZGF0ZSB0aGUgaW50ZXJwcmV0ZXIgdG8gdGhhdCBvZiB0aGUgb25lIHRoZSB1c2VyIHNwZWNpZmllZCBmb3Igc2V0dXAKKy0gICAgICAgIHByaW50KCJVcGRhdGluZyBzdGFnaW5nL3VmdyB0byB1c2UgJXMiICUgKHN5cy5leGVjdXRhYmxlKSkKKy0gICAgICAgIHN1YnByb2Nlc3MuY2FsbChbInNlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICItaSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICIxcyVeIy4qcHl0aG9uLiolIyEgL3Vzci9iaW4vZW52ICIgKyBzeXMuZXhlY3V0YWJsZSArICIlZyIsCistICAgICAgICAgICAgICAgICAgICAgICAgICdzdGFnaW5nL3VmdyddKQorKyAgICAgICAgcHJpbnQoIlVwZGF0aW5nIHN0YWdpbmcvdWZ3IHRvIHVzZSAoJXMpIiAlIChzeXMuZXhlY3V0YWJsZSkpCisrCisrICAgICAgICBpZiByZS5zZWFyY2goIigvdXNyL2Jpbi9lbnYpIiwgc3lzLmV4ZWN1dGFibGUpOgorKyAgICAgICAgICAgIHByaW50KCJmb3VuZCAnZW52JyBpbiBzeXMuZXhlY3V0YWJsZSAoJXMpIiAlIChzeXMuZXhlY3V0YWJsZSkpCisrICAgICAgICAgICAgc3VicHJvY2Vzcy5jYWxsKFsic2VkIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItaS5qam0iLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjFzJV4jLipweXRob24uKiUjISAiICsgc3lzLmV4ZWN1dGFibGUgKyAiJWciLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YWdpbmcvdWZ3J10pCisrCisgICAgICAgICBzZWxmLmNvcHlfZmlsZSgnc3RhZ2luZy91ZncnLCBzY3JpcHQpCisgICAgICAgICBzZWxmLmNvcHlfZmlsZSgnZG9jL3Vmdy44JywgbWFucGFnZSkKKyAgICAgICAgIHNlbGYuY29weV9maWxlKCdkb2MvdWZ3LWZyYW1ld29yay44JywgbWFucGFnZV9mKQorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3XzAuMzMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS91ZncvdWZ3XzAuMzMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTljZmU0NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Vmdy91ZndfMC4zMy5iYgpAQCAtMCwwICsxLDU2IEBACitTVU1NQVJZID0gIlVuY29tcGxpY2F0ZWQgRmlyZXdhbGwiCitERVNDUklQVElPTiA9ICJVRlcgc3RhbmRzIGZvciBVbmNvbXBsaWNhdGVkIEZpcmV3YWxsLCBhbmQgaXMgcHJvZ3JhbSBmb3IgXAorbWFuYWdpbmcgYSBuZXRmaWx0ZXIgZmlyZXdhbGwuIEl0IHByb3ZpZGVzIGEgY29tbWFuZCBsaW5lIGludGVyZmFjZSBhbmQgYWltcyBcCit0byBiZSB1bmNvbXBsaWNhdGVkIGFuZCBlYXN5IHRvIHVzZS4iCitIT01FUEFHRSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvdWZ3IgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjI3ZGVmZTFlOTZjMmUxZWNkNGUwYzliZTg5Njc5NDkiCisKK1NSQ19VUkkgPSAiIFwKKyAgICAgICAgICAgaHR0cHM6Ly9sYXVuY2hwYWQubmV0L3Vmdy8wLjMzLzAuMzMvK2Rvd25sb2FkL3Vmdy0wLjMzLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9zZXR1cC1hZGQtYW4tb3B0aW9uLXRvLXNwZWNpZnktaXB0YWJsZXMtbG9jYXRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2V0dXAtb25seS1tYWtlLW9uZS1yZWZlcmVuY2UtdG8tZW52LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtb3B0aW1pemUtYm9vdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWxwMTA0NDM2MS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLWZpeC10eXBlZXJyb3Itb24tZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1scDEwMzk3MjkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1scDExOTExOTcucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjM3NDdiNDUzZDc2NzA5ZTVhOTlkYTIwOWZjMGJiNWY1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVmODVhODA4NGFkMzUzOWI1NDdiZWMwOTcyODY5NDgyMzMxODhjOTcxZjQ5ODg5MDMxNmRlYzE3MGJkZDFkYTgiCisKK2luaGVyaXQgc2V0dXB0b29scyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkRFUEVORFNfJHtQTn0gPSAiIFwKKyAgICAgICAgICAgICAgICAgIGlwdGFibGVzIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbiBcCisgICAgICAgICAgICAgICAgICBweXRob24tbW9kdWxlcyBcCisgICAgICAgICAgICAgICAgICIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAiIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtaXB2NiBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLW5mLWNvbm50cmFjay1pcHY2IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtbmYtbG9nLWNvbW1vbiBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLW5mLWxvZy1pcHY0IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtbmYtbG9nLWlwdjYgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1uZi1hZGRydHlwZSBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLW5mLWxpbWl0IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtbmYtbG9nIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtbmYtcmVjZW50IFwKKyIKKworIyBDZXJ0YWluIGl0ZW1zIGFyZSBleHBsaWNpdGx5IHB1dCB1bmRlciAvbGliLCBub3QgYmFzZV9saWJkaXIgd2hlbiBpbnN0YWxsZWQuCisjCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAgICAgICAgICAgICAke3NiaW5kaXJ9LyogXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vdWZ3LyogXAorICAgICAgICAgICAgICAgIC9saWIvdWZ3LyogXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vdWZ3LyogXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGVmYXVsdC91ZncgXAorIgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAiaXB2NiIKKworRElTVFVUSUxTX0JVSUxEX0FSR1NfYXBwZW5kID0gIiAtLWlwdGFibGVzLWRpciAvdXNyL3NiaW4iCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTX2FwcGVuZCA9ICIgLS1pcHRhYmxlcy1kaXIgL3Vzci9zYmluIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdmxhbi92bGFuLTEuOS9uby1IT01FLWluY2x1ZGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdmxhbi92bGFuLTEuOS9uby1IT01FLWluY2x1ZGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YWI3ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92bGFuL3ZsYW4tMS45L25vLUhPTUUtaW5jbHVkZXMucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorRnJvbTogRG1pdHJ5IEVyZW1pbi1Tb2xlbmlrb3YgPGRiYXJ5c2hrb3ZAZ21haWwuY29tPgorU3ViamVjdDogdmxhbjogZG8gbm90IGluY2x1ZGUgJHtIT01FfS9saW51eC9pbmNsdWRlIGRpcgorCit+L2xpbnV4L2luY2x1ZGUgZGlyIG1heSBleGlzdCBhbmQgc28gd2lsbCBiZSBhZGRlZCB0byBpbmNsdWRlIHBhdGgKK2luIGZyb250IG9mIHNhbml0aXplZCBrZXJuZWwgaGVhZGVycyBpbiBPRSBjaHJvb3QuIERyb3AgdGhpcyBpbmNsdWRlCitvcHRpb24uCisKK1Vwc3RyZWFtLVN0YXR1czogbm90LWFwcGxpY2FibGUKKworSW5kZXg6IHZsYW4vTWFrZUluY2x1ZGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB2bGFuLm9yaWcvTWFrZUluY2x1ZGUKKysrKyB2bGFuL01ha2VJbmNsdWRlCitAQCAtMTYsNyArMTYsNyBAQCBpZmVxICIke1BMQVRGT1JNfSIgIiIKKyBlbmRpZgorIAorICMjIFlvdSBtYXkgbmVlZCB0byBjaGFuZ2UgdGhpcyBsaW51eC9pbmNsdWRlIHBhcnQuCistQ0NGTEFHUyA9IC1nIC1EX0dOVV9TT1VSQ0UgLVdhbGwgLUkke0hPTUV9L2xpbnV4L2luY2x1ZGUKKytDQ0ZMQUdTID0gLWcgLURfR05VX1NPVVJDRSAtV2FsbAorIExETElCUyA9ICMgLWxtICMtbG5zbCAjIC1sc29ja2V0CisgCisgQVJNX1RDX0JJTiA9ICR7SE9NRX0vSW50cmluc3ljL2JpbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdmxhbi92bGFuXzEuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3ZsYW4vdmxhbl8xLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDljNDAwNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3ZsYW4vdmxhbl8xLjkuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJWTEFOIHByb3ZpZGVzIHZjb25maWcgdXRpbGl0eSIKK1NFQ1RJT04gPSAibWlzYyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly92Y29uZmlnLmM7bWQ1PTI5M2VmNjljNGU4ODQzNGQzN2E1ZWU1NzdhNTI4OGNiIgorCitTUkNfVVJJID0gImh0dHA6Ly8ke0JQTn0uc291cmNlYXJjaGl2ZS5jb20vZG93bmxvYWRzLyR7UFZ9LTN1YnVudHU5LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9uby1IT01FLWluY2x1ZGVzLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNWYwYzYwNjBiMzM5NTZmYjE2ZTExYTE1NDY3ZGQzOTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2I4ZjBhMWJmMGQzNjQyNzY0ZTVmNjQ2ZTFmM2JiYzhiMWVlZWM0NzRhNzczOTJkOWFlYjQ4Njg4NDJiNGNjYSIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKKyMgY29tbWVudCBvdXQgTWFrZUluY2x1ZGUgaW4gTWFrZWZpbGUgd2hpY2ggc2V0cyBidWlsZCBlbnZpcm9ubWVudAorZG9fY29uZmlndXJlX2FwcGVuZCAoKSB7CisgICAgc2VkIC1pICdzL14gaW5jbHVkZS8jXmluY2x1ZGUvJyAke1N9L01ha2VmaWxlCit9CisKKyMgaWdub3JlIHN0cmlwIHRvIGF2b2lkIHlvY3RvIGVycm9ycyBpbiBzdHJpcHBpbmcKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UgUExBVEZPUk09QVJNICdTVFJJUD1lY2hvJyBhbGwKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmFzZV9zYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Zjb25maWcgJHtEfS8ke2Jhc2Vfc2JpbmRpcn0vCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92cG5jL3ZwbmMvZGVmYXVsdC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdnBuYy92cG5jL2RlZmF1bHQuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGIxNWVjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdnBuYy92cG5jL2RlZmF1bHQuY29uZgpAQCAtMCwwICsxLDE5IEBACisjIENvbW1lbnQgb3V0IHRoZSBvcHRpb25zIHlvdSBuZWVkLgorIyBWZXJpZnkgeW91ciBjb25maWcgd2l0aCAidnBuYyAtLXByaW50LWNvbmZpZyIuCisjIFlvdSBtaWdodCBhbHNvIHRyeSAidnBuYyAtLWxvbmctaGVscCIgb3IgbG9vayBpbnRvIHRoZSBkb2N1bWVudGF0aW9uLgorCisjIE5lZWRlZCAoeW91IHdpbGwgYmUgcHJvbXB0ZWQgaWYgdGhpcyBpcyBtaXNzaW5nKToKKyNJUFNlYyBnYXRld2F5IDEwLjEuMi4zCisjSVBTZWMgSUQgWU9VUlBFRVJTSUQKKyNJUFNlYyBzZWNyZXQgWU9VUlBFRVJTU0VDUkVUCisjWGF1dGggdXNlcm5hbWUgWU9VUlVTRVJOQU1FCisjWGF1dGggcGFzc3dvcmQgWU9VUlBBU1NXT1JECisKKyMgT3B0aW9uYWw6CisjVURQIEVuY2Fwc3VsYXRlCisjVURQIEVuY2Fwc3VsYXRpb24gUG9ydCAxMDAwMAorI05vbmludGVyYWN0aXZlCisjTm8gRGV0YWNoCisjRGVidWcgOTkKKyNJbnRlcmZhY2UgbmFtZSB0dW4wCisjU2NyaXB0IC9ldGMvdnBuYy92cG5jLXNjcmlwdApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdnBuYy92cG5jL2xvbmctaGVscCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3ZwbmMvdnBuYy9sb25nLWhlbHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJlYzI1NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3ZwbmMvdnBuYy9sb25nLWhlbHAKQEAgLTAsMCArMSwxNjggQEAKK1VzYWdlOiB2cG5jIFstLXZlcnNpb25dIFstLXByaW50LWNvbmZpZ10gWy0taGVscF0gWy0tbG9uZy1oZWxwXSBbb3B0aW9uc10gW2NvbmZpZyBmaWxlc10KKworT3B0aW9uczoKKyAgLS1nYXRld2F5IDxpcC9ob3N0bmFtZT4KKyAgICAgIElQL25hbWUgb2YgeW91ciBJUFNlYyBnYXRld2F5CisgIGNvbmYtdmFyaWFibGU6IElQU2VjIGdhdGV3YXkgPGlwL2hvc3RuYW1lPgorCisgIC0taWQgPEFTQ0lJIHN0cmluZz4KKyAgICAgIHlvdXIgZ3JvdXAgbmFtZQorICBjb25mLXZhcmlhYmxlOiBJUFNlYyBJRCA8QVNDSUkgc3RyaW5nPgorCisgIChjb25maWdmaWxlIG9ubHkgb3B0aW9uKSAKKyAgICAgIHlvdXIgZ3JvdXAgcGFzc3dvcmQgKGNsZWFydGV4dCkKKyAgY29uZi12YXJpYWJsZTogSVBTZWMgc2VjcmV0IDxBU0NJSSBzdHJpbmc+CisKKyAgKGNvbmZpZ2ZpbGUgb25seSBvcHRpb24pIAorICAgICAgeW91ciBncm91cCBwYXNzd29yZCAob2JmdXNjYXRlZCkKKyAgY29uZi12YXJpYWJsZTogSVBTZWMgb2JmdXNjYXRlZCBzZWNyZXQgPGhleCBzdHJpbmc+CisKKyAgLS11c2VybmFtZSA8QVNDSUkgc3RyaW5nPgorICAgICAgeW91ciB1c2VybmFtZQorICBjb25mLXZhcmlhYmxlOiBYYXV0aCB1c2VybmFtZSA8QVNDSUkgc3RyaW5nPgorCisgIChjb25maWdmaWxlIG9ubHkgb3B0aW9uKSAKKyAgICAgIHlvdXIgcGFzc3dvcmQgKGNsZWFydGV4dCkKKyAgY29uZi12YXJpYWJsZTogWGF1dGggcGFzc3dvcmQgPEFTQ0lJIHN0cmluZz4KKworICAoY29uZmlnZmlsZSBvbmx5IG9wdGlvbikgCisgICAgICB5b3VyIHBhc3N3b3JkIChvYmZ1c2NhdGVkKQorICBjb25mLXZhcmlhYmxlOiBYYXV0aCBvYmZ1c2NhdGVkIHBhc3N3b3JkIDxoZXggc3RyaW5nPgorCisgIC0tZG9tYWluIDxBU0NJSSBzdHJpbmc+CisgICAgICAoTlQtKSBEb21haW4gbmFtZSBmb3IgYXV0aGVudGljYXRpb24KKyAgY29uZi12YXJpYWJsZTogRG9tYWluIDxBU0NJSSBzdHJpbmc+CisKKyAgLS14YXV0aC1pbnRlciAKKyAgICAgIGVuYWJsZSBpbnRlcmFjdGl2ZSBleHRlbmRlZCBhdXRoZW50aWNhdGlvbiAoZm9yIGNoYWxsZW5nZSByZXNwb25zZSBhdXRoKQorICBjb25mLXZhcmlhYmxlOiBYYXV0aCBpbnRlcmFjdGl2ZQorCisgIC0tdmVuZG9yIDxjaXNjby9uZXRzY3JlZW4+CisgICAgICB2ZW5kb3Igb2YgeW91ciBJUFNlYyBnYXRld2F5CisgICAgRGVmYXVsdDogY2lzY28KKyAgY29uZi12YXJpYWJsZTogVmVuZG9yIDxjaXNjby9uZXRzY3JlZW4+CisKKyAgLS1uYXR0LW1vZGUgPG5hdHQvbm9uZS9mb3JjZS1uYXR0L2Npc2NvLXVkcD4KKyAgICAgIFdoaWNoIE5BVC1UcmF2ZXJzYWwgTWV0aG9kIHRvIHVzZToKKyAgICAgICAqIG5hdHQgLS0gTkFULVQgYXMgZGVmaW5lZCBpbiBSRkMzOTQ3CisgICAgICAgKiBub25lIC0tIGRpc2FibGUgdXNlIG9mIGFueSBOQVQtVCBtZXRob2QKKyAgICAgICAqIGZvcmNlLW5hdHQgLS0gYWx3YXlzIHVzZSBOQVQtVCBlbmNhcHN1bGF0aW9uIGV2ZW4KKyAgICAgICAgICAgICAgICAgICAgICAgd2l0aG91dCBwcmVzZW5jZSBvZiBhIE5BVCBkZXZpY2UKKyAgICAgICAgICAgICAgICAgICAgICAgKHVzZWZ1bCBpZiB0aGUgT1MgY2FwdHVyZXMgYWxsIEVTUCB0cmFmZmljKQorICAgICAgICogY2lzY28tdWRwIC0tIENpc2NvIHByb3ByaWV0YXJ5IFVEUCBlbmNhcHN1bGF0aW9uLCBjb21tb25seSBvdmVyIFBvcnQgMTAwMDAKKyAgICAgIE5vdGU6IGNpc2NvLXRjcCBlbmNhcHN1bGF0aW9uIGlzIG5vdCB5ZXQgc3VwcG9ydGVkCisgICAgRGVmYXVsdDogbmF0dAorICBjb25mLXZhcmlhYmxlOiBOQVQgVHJhdmVyc2FsIE1vZGUgPG5hdHQvbm9uZS9mb3JjZS1uYXR0L2Npc2NvLXVkcD4KKworICAtLXNjcmlwdCA8Y29tbWFuZD4KKyAgICAgIGNvbW1hbmQgaXMgZXhlY3V0ZWQgdXNpbmcgc3lzdGVtKCkgdG8gY29uZmlndXJlIHRoZSBpbnRlcmZhY2UsCisgICAgICByb3V0aW5nIGFuZCBzbyBvbi4gRGV2aWNlIG5hbWUsIElQLCBldGMuIGFyZSBwYXNzZWQgdXNpbmcgZW52aXJvbWVudAorICAgICAgdmFyaWFibGVzLCBzZWUgUkVBRE1FLiBUaGlzIHNjcmlwdCBpcyBleGVjdXRlZCByaWdodCBhZnRlciBJU0FLTVAgaXMKKyAgICAgIGRvbmUsIGJ1dCBiZWZvcmUgdHVubmVsaW5nIGlzIGVuYWJsZWQuIEl0IGlzIGNhbGxlZCB3aGVuIHZwbmMKKyAgICAgIHRlcm1pbmF0ZXMsIHRvbworICAgIERlZmF1bHQ6IC9ldGMvdnBuYy92cG5jLXNjcmlwdAorICBjb25mLXZhcmlhYmxlOiBTY3JpcHQgPGNvbW1hbmQ+CisKKyAgLS1kaCA8ZGgxL2RoMi9kaDU+CisgICAgICBuYW1lIG9mIHRoZSBJS0UgREggR3JvdXAKKyAgICBEZWZhdWx0OiBkaDIKKyAgY29uZi12YXJpYWJsZTogSUtFIERIIEdyb3VwIDxkaDEvZGgyL2RoNT4KKworICAtLXBmcyA8bm9wZnMvZGgxL2RoMi9kaDUvc2VydmVyPgorICAgICAgRGlmZmllLUhlbGxtYW4gZ3JvdXAgdG8gdXNlIGZvciBQRlMKKyAgICBEZWZhdWx0OiBzZXJ2ZXIKKyAgY29uZi12YXJpYWJsZTogUGVyZmVjdCBGb3J3YXJkIFNlY3JlY3kgPG5vcGZzL2RoMS9kaDIvZGg1L3NlcnZlcj4KKworICAtLWVuYWJsZS0xZGVzIAorICAgICAgZW5hYmxlcyB3ZWFrIHNpbmdsZSBERVMgZW5jcnlwdGlvbgorICBjb25mLXZhcmlhYmxlOiBFbmFibGUgU2luZ2xlIERFUworCisgIC0tZW5hYmxlLW5vLWVuY3J5cHRpb24gCisgICAgICBlbmFibGVzIHVzaW5nIG5vIGVuY3J5cHRpb24gZm9yIGRhdGEgdHJhZmZpYyAoa2V5IGV4Y2hhbmdlZCBtdXN0IGJlIGVuY3J5cHRlZCkKKyAgY29uZi12YXJpYWJsZTogRW5hYmxlIG5vIGVuY3J5cHRpb24KKworICAtLWFwcGxpY2F0aW9uLXZlcnNpb24gPEFTQ0lJIHN0cmluZz4KKyAgICAgIEFwcGxpY2F0aW9uIFZlcnNpb24gdG8gcmVwb3J0LiBOb3RlOiBEZWZhdWx0IHN0cmluZyBpcyBnZW5lcmF0ZWQgYXQgcnVudGltZS4KKyAgICBEZWZhdWx0OiBDaXNjbyBTeXN0ZW1zIFZQTiBDbGllbnQgMC41LjMtMzk0OkxpbnV4CisgIGNvbmYtdmFyaWFibGU6IEFwcGxpY2F0aW9uIHZlcnNpb24gPEFTQ0lJIHN0cmluZz4KKworICAtLWlmbmFtZSA8QVNDSUkgc3RyaW5nPgorICAgICAgdmlzaWJsZSBuYW1lIG9mIHRoZSBUVU4vVEFQIGludGVyZmFjZQorICBjb25mLXZhcmlhYmxlOiBJbnRlcmZhY2UgbmFtZSA8QVNDSUkgc3RyaW5nPgorCisgIC0taWZtb2RlIDx0dW4vdGFwPgorICAgICAgbW9kZSBvZiBUVU4vVEFQIGludGVyZmFjZToKKyAgICAgICAqIHR1bjogdmlydHVhbCBwb2ludCB0byBwb2ludCBpbnRlcmZhY2UgKGRlZmF1bHQpCisgICAgICAgKiB0YXA6IHZpcnR1YWwgZXRoZXJuZXQgaW50ZXJmYWNlCisgICAgRGVmYXVsdDogdHVuCisgIGNvbmYtdmFyaWFibGU6IEludGVyZmFjZSBtb2RlIDx0dW4vdGFwPgorCisgIC0tZGVidWcgPDAvMS8yLzMvOTk+CisgICAgICBTaG93IHZlcmJvc2UgZGVidWcgbWVzc2FnZXMKKyAgICAgICAqICAwOiBEbyBub3QgcHJpbnQgZGVidWcgaW5mb3JtYXRpb24uCisgICAgICAgKiAgMTogUHJpbnQgbWluaW1hbCBkZWJ1ZyBpbmZvcm1hdGlvbi4KKyAgICAgICAqICAyOiBTaG93IHN0YXRlbWFjaGluZSBhbmQgcGFja2V0L3BheWxvYWQgdHlwZSBpbmZvcm1hdGlvbi4KKyAgICAgICAqICAzOiBEdW1wIGV2ZXJ5dGhpbmcgZXhsdWRpbmcgYXV0aGVudGljYXRpb24gZGF0YS4KKyAgICAgICAqIDk5OiBEdW1wIGV2ZXJ5dGhpbmcgSU5DTFVESU5HIEFVVEhFTlRJQ0FUSU9OIGRhdGEgKGUuZy4gUEFTU1dPUkRTKS4KKyAgY29uZi12YXJpYWJsZTogRGVidWcgPDAvMS8yLzMvOTk+CisKKyAgLS1uby1kZXRhY2ggCisgICAgICBEb24ndCBkZXRhY2ggZnJvbSB0aGUgY29uc29sZSBhZnRlciBsb2dpbgorICBjb25mLXZhcmlhYmxlOiBObyBEZXRhY2gKKworICAtLXBpZC1maWxlIDxmaWxlbmFtZT4KKyAgICAgIHN0b3JlIHRoZSBwaWQgb2YgYmFja2dyb3VuZCBwcm9jZXNzIGluIDxmaWxlbmFtZT4KKyAgICBEZWZhdWx0OiAvdmFyL3J1bi92cG5jL3BpZAorICBjb25mLXZhcmlhYmxlOiBQaWRmaWxlIDxmaWxlbmFtZT4KKworICAtLWxvY2FsLWFkZHIgPGlwL2hvc3RuYW1lPgorICAgICAgbG9jYWwgSVAgdG8gdXNlIGZvciBJU0FLTVAgLyBFU1AgLyAuLi4gKDAuMC4wLjAgPT0gYXV0b21hdGljYWxseSBhc3NpZ24pCisgICAgRGVmYXVsdDogMC4wLjAuMAorICBjb25mLXZhcmlhYmxlOiBMb2NhbCBBZGRyIDxpcC9ob3N0bmFtZT4KKworICAtLWxvY2FsLXBvcnQgPDAtNjU1MzU+CisgICAgICBsb2NhbCBJU0FLTVAgcG9ydCBudW1iZXIgdG8gdXNlICgwID09IHVzZSByYW5kb20gcG9ydCkKKyAgICBEZWZhdWx0OiA1MDAKKyAgY29uZi12YXJpYWJsZTogTG9jYWwgUG9ydCA8MC02NTUzNT4KKworICAtLXVkcC1wb3J0IDwwLTY1NTM1PgorICAgICAgTG9jYWwgVURQIHBvcnQgbnVtYmVyIHRvIHVzZSAoMCA9PSB1c2UgcmFuZG9tIHBvcnQpLgorICAgICAgVGhpcyBpcyBvbmx5IHJlbGV2YW50IGlmIGNpc2NvLXVkcCBuYXQtdHJhdmVyc2FsIGlzIHVzZWQuCisgICAgICBUaGlzIGlzIHRoZSBfbG9jYWxfIHBvcnQsIHRoZSByZW1vdGUgdWRwIHBvcnQgaXMgZGlzY292ZXJlZCBhdXRvbWF0aWNhbGx5LgorICAgICAgSXQgaXMgZXNwZWNpYWxseSBub3QgdGhlIGNpc2NvLXRjcCBwb3J0LgorICAgIERlZmF1bHQ6IDEwMDAwCisgIGNvbmYtdmFyaWFibGU6IENpc2NvIFVEUCBFbmNhcHN1bGF0aW9uIFBvcnQgPDAtNjU1MzU+CisKKyAgLS1kcGQtaWRsZSA8MCwxMC04NjQwMD4KKyAgICAgIFNlbmQgRFBEIHBhY2tldCBhZnRlciBub3QgcmVjZWl2aW5nIGFueXRoaW5nIGZvciA8aWRsZT4gc2Vjb25kcy4KKyAgICAgIFVzZSAwIHRvIGRpc2FibGUgRFBEIGNvbXBsZXRlbHkgKGJvdGggd2F5cykuCisgICAgRGVmYXVsdDogMzAwCisgIGNvbmYtdmFyaWFibGU6IERQRCBpZGxlIHRpbWVvdXQgKG91ciBzaWRlKSA8MCwxMC04NjQwMD4KKworICAtLW5vbi1pbnRlciAKKyAgICAgIERvbid0IGFzayBhbnl0aGluZywgZXhpdCBvbiBtaXNzaW5nIG9wdGlvbnMKKyAgY29uZi12YXJpYWJsZTogTm9uaW50ZXJhY3RpdmUKKworICAtLWF1dGgtbW9kZSA8cHNrL2NlcnQvaHlicmlkPgorICAgICAgQXV0aGVudGljYXRpb24gbW9kZToKKyAgICAgICAqIHBzazogICAgcHJlLXNoYXJlZCBrZXkgKGRlZmF1bHQpCisgICAgICAgKiBjZXJ0OiAgIHNlcnZlciArIGNsaWVudCBjZXJ0aWZpY2F0ZSAobm90IGltcGxlbWVudGVkIHlldCkKKyAgICAgICAqIGh5YnJpZDogc2VydmVyIGNlcnRpZmljYXRlICsgeGF1dGggKGlmIGJ1aWx0IHdpdGggb3BlbnNzbCBzdXBwb3J0KQorICAgIERlZmF1bHQ6IHBzaworICBjb25mLXZhcmlhYmxlOiBJS0UgQXV0aG1vZGUgPHBzay9jZXJ0L2h5YnJpZD4KKworICAtLWNhLWZpbGUgPGZpbGVuYW1lPgorICAgICAgZmlsZW5hbWUgYW5kIHBhdGggdG8gdGhlIENBLVBFTS1GaWxlCisgIGNvbmYtdmFyaWFibGU6IENBLUZpbGUgPGZpbGVuYW1lPgorCisgIC0tY2EtZGlyIDxkaXJlY3Rvcnk+CisgICAgICBwYXRoIG9mIHRoZSB0cnVzdGVkIENBLURpcmVjdG9yeQorICAgIERlZmF1bHQ6IC9ldGMvc3NsL2NlcnRzCisgIGNvbmYtdmFyaWFibGU6IENBLURpciA8ZGlyZWN0b3J5PgorCisgIC0tdGFyZ2V0LW5ldHdvcmsgPHRhcmdldCBuZXR3b3JrL25ldG1hc2s+CisgICAgICBUYXJnZXQgbmV0d29yayBpbiBkb3R0ZWQgZGVjaW1hbCBvciBDSURSIG5vdGF0aW9uCisgICAgRGVmYXVsdDogMC4wLjAuMC8wLjAuMC4wCisgIGNvbmYtdmFyaWFibGU6IElQU0VDIHRhcmdldCBuZXR3b3JrIDx0YXJnZXQgbmV0d29yay9uZXRtYXNrPgorCitSZXBvcnQgYnVncyB0byB2cG5jQHVuaXgtYWcudW5pLWtsLmRlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92cG5jL3ZwbmMvbWFrZW1hbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3ZwbmMvdnBuYy9tYWtlbWFuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzOTRlNmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92cG5jL3ZwbmMvbWFrZW1hbi5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gdnBuYy0wLjUuMS9tYWtlbWFuLnBsLm9sZAkyMDA4LTAzLTE2IDAyOjE3OjU5LjAwMDAwMDAwMCAtMDUwMAorKysrIHZwbmMtMC41LjEvbWFrZW1hbi5wbAkyMDA4LTAzLTE2IDAyOjI5OjM0LjAwMDAwMDAwMCAtMDUwMAorQEAgLTI5LDcgKzI5LDcgQEAgbXkgJHZwbmMgPSAnLi92cG5jJzsKKyAjIGluZGVudGluZyBsaXN0cyAodGhvc2Ugb3JpZ2luYWxseSBzdGFydGluZyB3aXRoIGFuIGFzdGVyaXNrKS4gSSBob3BlCisgIyB0aGlzIHBheXMgb2ZmIHdoZW4gY29udmVydGluZyB0aGUgbWFucGFnZSB0byBIVE1MIG9yIHN1Y2guCisgCistb3BlbiBteSAkTE9OR0hFTFAsICctfCcsICIkdnBuYyAtLWxvbmctaGVscCI7Cisrb3BlbiBteSAkTE9OR0hFTFAsICctfCcsICJjYXQgLi4vbG9uZy1oZWxwIjsKKyBteSAkdnBuY19vcHRpb25zICAgID0gJyc7CisgbXkgJHJlbGF0aXZlX2luZGVudCA9IDA7CisgbXkgJGluZGVudF9uZWVkZWQgICA9IDA7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92cG5jL3ZwbmMvdnBuYy1pbnN0YWxsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdnBuYy92cG5jL3ZwbmMtaW5zdGFsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGU2NWVjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvdnBuYy92cG5jL3ZwbmMtaW5zdGFsbC5wYXRjaApAQCAtMCwwICsxLDM1IEBACistLS0gYS9NYWtlZmlsZX4JMjAwOS0wMS0yMCAxODo0NDozMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBiL01ha2VmaWxlCTIwMDktMDEtMjAgMTg6NDQ6MzAuMDAwMDAwMDAwICswMTAwCitAQCAtMTE5LDIxICsxMTksMjEgQEAKKyAJZWxzZSBcCisgCQlpbnN0YWxsIHZwbmMtc2NyaXB0ICQoREVTVERJUikkKEVUQ0RJUik7IFwKKyAJZmkKKy0JaW5zdGFsbCAtbTYwMCB2cG5jLmNvbmYgJChERVNURElSKSQoRVRDRElSKS9kZWZhdWx0LmNvbmYKKy0JaW5zdGFsbCAtbTc1NSB2cG5jLWRpc2Nvbm5lY3QgJChERVNURElSKSQoU0JJTkRJUikKKy0JaW5zdGFsbCAtbTc1NSBwY2YydnBuYyAkKERFU1RESVIpJChCSU5ESVIpCistCWluc3RhbGwgLW02NDQgdnBuYy44ICQoREVTVERJUikkKE1BTkRJUikvbWFuOAorLQlpbnN0YWxsIC1tNjQ0IHBjZjJ2cG5jLjEgJChERVNURElSKSQoTUFORElSKS9tYW4xCistCWluc3RhbGwgLW02NDQgY2lzY28tZGVjcnlwdC4xICQoREVTVERJUikkKE1BTkRJUikvbWFuMQorLQlpbnN0YWxsIC1tNjQ0IENPUFlJTkcgJChERVNURElSKSQoRE9DRElSKQorKwlpbnN0YWxsIC1tIDYwMCB2cG5jLmNvbmYgJChERVNURElSKSQoRVRDRElSKS9kZWZhdWx0LmNvbmYKKysJaW5zdGFsbCAtbSA3NTUgdnBuYy1kaXNjb25uZWN0ICQoREVTVERJUikkKFNCSU5ESVIpCisrCWluc3RhbGwgLW0gNzU1IHBjZjJ2cG5jICQoREVTVERJUikkKEJJTkRJUikKKysJaW5zdGFsbCAtbSA2NDQgdnBuYy44ICQoREVTVERJUikkKE1BTkRJUikvbWFuOAorKwlpbnN0YWxsIC1tIDY0NCBwY2YydnBuYy4xICQoREVTVERJUikkKE1BTkRJUikvbWFuMQorKwlpbnN0YWxsIC1tIDY0NCBjaXNjby1kZWNyeXB0LjEgJChERVNURElSKSQoTUFORElSKS9tYW4xCisrCWluc3RhbGwgLW0gNjQ0IENPUFlJTkcgJChERVNURElSKSQoRE9DRElSKQorIAorIGluc3RhbGwgOiBpbnN0YWxsLWNvbW1vbgorLQlpbnN0YWxsIC1tNzU1IHZwbmMgJChERVNURElSKSQoU0JJTkRJUikKKy0JaW5zdGFsbCAtbTc1NSBjaXNjby1kZWNyeXB0ICQoREVTVERJUikkKEJJTkRJUikKKysJaW5zdGFsbCAtbSA3NTUgdnBuYyAkKERFU1RESVIpJChTQklORElSKQorKwlpbnN0YWxsIC1tIDc1NSBjaXNjby1kZWNyeXB0ICQoREVTVERJUikkKEJJTkRJUikKKyAKKyBpbnN0YWxsLXN0cmlwIDogaW5zdGFsbC1jb21tb24KKy0JaW5zdGFsbCAtcyAtbTc1NSB2cG5jICQoREVTVERJUikkKFNCSU5ESVIpCistCWluc3RhbGwgLXMgLW03NTUgY2lzY28tZGVjcnlwdCAkKERFU1RESVIpJChCSU5ESVIpCisrCWluc3RhbGwgLXMgLW0gNzU1IHZwbmMgJChERVNURElSKSQoU0JJTkRJUikKKysJaW5zdGFsbCAtcyAtbSA3NTUgY2lzY28tZGVjcnlwdCAkKERFU1RESVIpJChCSU5ESVIpCisgCisgdW5pbnN0YWxsIDoKKyAJcm0gLWYgJChERVNURElSKSQoU0JJTkRJUikvdnBuYyBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92cG5jL3ZwbmNfMC41LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS92cG5jL3ZwbmNfMC41LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NiNDQ5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3ZwbmMvdnBuY18wLjUuMy5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIkEgY2xpZW50IGZvciB0aGUgQ2lzY28zMDAwIFZQTiBDb25jZW50cmF0b3IiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnVuaXgtYWcudW5pLWtsLmRlL35tYXNzYXIvdnBuYy8iCitBVVRIT1IgPSAiTWF1cmljZSBNYXNzYXIgdnBuY0B1bml4LWFnLnVuaS1rbC5kZSIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEwtMi4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE3M2I3NGNiOGFjNjQwYTk5OTJjMDNmM2JjZTIyYTMzIgorREVQRU5EUyA9ICJsaWJnY3J5cHQiCisKK2luaGVyaXQgcGVybG5hdGl2ZQorCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKK0NGTEFHU19hcHBlbmQgPSAnIC1EVkVSU0lPTj1cXCIke1BWfVxcIicKK0xERkxBR1NfYXBwZW5kID0gIiAtbGdjcnlwdCAtbGdwZy1lcnJvciIKKworZG9fY29uZmlndXJlX2FwcGVuZCAoKSB7CisgICAgIyBNYWtlIHN1cmUgd2UgdXNlIG91ciBuYXRpdmVwZXJsIHdyYXBwZXIKKyAgICBzZWQgLWkgIjFzOiMhLio6IyEvdXNyL2Jpbi9lbnYgbmF0aXZlcGVybDoiICR7U30vKi5wbAorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBzZWQgLWkgczptNjAwOm1cIDYwMDpnIE1ha2VmaWxlICAgIAorICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgJ1BSRUZJWD0vdXNyJyBpbnN0YWxsCisgICAgcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vdnBuYy92cG5jLmNvbmYgI1RoaXMgZmlsZSBpcyB1c2VsZXNzCisgICAgaW5zdGFsbCAke1dPUktESVJ9L2RlZmF1bHQuY29uZiAke0R9JHtzeXNjb25mZGlyfS92cG5jL2RlZmF1bHQuY29uZgorfQorCitTWVNST09UX1BSRVBST0NFU1NfRlVOQ1MgKz0gInZwbmNfc3lzcm9vdF9wcmVwcm9jZXNzIgorCit2cG5jX3N5c3Jvb3RfcHJlcHJvY2VzcyAoKSB7CisgICAgaW5zdGFsbCAtZCAke1NZU1JPT1RfREVTVERJUn0ke3N5c2NvbmZkaXJ9L3ZwbmMKKyAgICBpbnN0YWxsIC1tIDc1NSAke0R9JHtzeXNjb25mZGlyfS92cG5jL3ZwbmMtc2NyaXB0ICR7U1lTUk9PVF9ERVNURElSfSR7c3lzY29uZmRpcn0vdnBuYworfQorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS92cG5jL2RlZmF1bHQuY29uZiIKK1JERVBFTkRTXyR7UE59ID0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLXR1biIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnVuaXgtYWcudW5pLWtsLmRlL35tYXNzYXIvdnBuYy92cG5jLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlbWFuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3ZwbmMtaW5zdGFsbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9sb25nLWhlbHAgXAorICAgICAgICAgICBmaWxlOi8vZGVmYXVsdC5jb25mIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDM3OGY5NTUxZDViMDc3ZTE3NzBiYmUwOTk5NWFmYjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDZjZWEzYmQwMmYyMDdjNjJjN2M2ZjJmMjIxMzMzODI2MDJiYWVkYTFkYzMyMDc0NzgwOWU5NDg4MTQxNDg4NCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvd29sZnNzbF8zLjkuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvd29sZnNzbF8zLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDg2Y2VmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd29sZnNzbC93b2xmc3NsXzMuOS4wLmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAid29sZlNTTCBMaWdodHdlaWdodCwgRW1iZWRkZWQgU1NMIExpYnJhcnkiCitERVNDUklQVElPTiA9ICJ3b2xmU1NMLCBmb3JtZXJseSBDeWFTU0wsIGlzIGEgbGlnaHR3ZWlnaHQgU1NMIGxpYnJhcnkgd3JpdHRlbiBpbiBDIGFuZCBcCisgICAgICAgICAgICAgICBvcHRpbWl6ZWQgZm9yIGVtYmVkZGVkIGFuZCBSVE9TIGVudmlyb25tZW50cy4gSXQgY2FuIGJlIFwKKyAgICAgICAgICAgICAgIFVwIHRvIDIwIHRpbWVzIHNtYWxsZXIgdGhhbiBPcGVuU1NMIHdoaWxlIHN0aWxsIHN1cHBvcnRpbmcgXAorICAgICAgICAgICAgICAgYSBmdWxsIFRMUyAxLjIgY2xpZW50IGFuZCBzZXJ2ZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53b2xmc3NsLmNvbS95YVNTTC9Qcm9kdWN0cy13b2xmc3NsLmh0bWwiCitCVUdUUkFDS0VSID0gImh0dHA6Ly9naXRodWIuY29tL3dvbGZzc2wvd29sZnNzbC9pc3N1ZXMiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1BST1ZJREVTICs9ICJjeWFzc2wiCitSUFJPVklERVNfJHtQTn0gPSAiY3lhc3NsIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cud29sZnNzbC5jb20vJHtCUH0uemlwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjMzOTY3MjZhOWJlZmQ2MTQ0M2MyY2NlMjE2ZTM5YmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOThmNTAyNDRmN2I0M2Y4NjgzYmQwY2Y1YzU5OTg0OWQzMzBlNzVlNmNmMDc3ZTk2ZjE0ZTgzYmRhOGIwM2NhMyIKKworaW5oZXJpdCBhdXRvdG9vbHMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F0ZnRwL2F0ZnRwL2F0ZnRwZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F0ZnRwL2F0ZnRwL2F0ZnRwZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MGJjNzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXRmdHAvYXRmdHAvYXRmdHBkLnNlcnZpY2UKQEAgLTAsMCArMSwxMCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1BZHZhbmNlZCBURlRQIFNlcnZlcgorQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRXhlY1N0YXJ0PS91c3Ivc2Jpbi9hdGZ0cGQgLS1kYWVtb24gLS1wb3J0IDY5CisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdGZ0cC9hdGZ0cF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXRmdHAvYXRmdHBfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlY2U1OGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXRmdHAvYXRmdHBfZ2l0LmJiCkBAIC0wLDAgKzEsNjMgQEAKK1NVTU1BUlkgPSAiQWR2YW5jZWQgVEZUUCBzZXJ2ZXIgYW5kIGNsaWVudCIKK1NFQ1RJT04gPSAibmV0IgorSE9NRVBBR0UgPSAiaHR0cDovL3BhY2thZ2VzLmRlYmlhbi5vcmcvYXRmdHAiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCitQViA9ICIwLjcuMStnaXQke1NSQ1BWfSIKK1BSID0gInIzIgorCitTUkNSRVYgPSAiYmUzMjkxYTE4YzA2OWFlMjNhMTI0ZmZkYzU2ZDY0YTVmZjBiYmVjNyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuY29kZS5zZi5uZXQvcC9hdGZ0cC9jb2RlIFwKKyAgICAgICAgICAgZmlsZTovL2F0ZnRwZC0wLjdfY2lyY3VtdmVudF90ZnRwX3NpemVfcmVzdHJpY3Rpb25zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2F0ZnRwZC0wLjdfdW5wcm90ZWN0ZWRfYXNzaWdubWVudHNfY3Jhc2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXRmdHBkLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vYXRmdHBkLnNlcnZpY2UgXCAgIAorICAgICAgICAgICBmaWxlOi8vYXRmdHAtMC43LXNvcmNlcmVyc19hcHByZW50aWNlLnBhdGNoIFwKKyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHVzZXJhZGQgc3lzdGVtZAorCitQQUNLQUdFQ09ORklHID8/PSAidGNwLXdyYXBwZXJzIgorUEFDS0FHRUNPTkZJR1twY3JlXSA9ICItLWVuYWJsZS1saWJwY3JlLC0tZGlzYWJsZS1saWJwY3JlLGxpYnBjcmUiCitQQUNLQUdFQ09ORklHW3RjcC13cmFwcGVyc10gPSAiLS1lbmFibGUtbGlid3JhcCwtLWRpc2FibGUtbGlid3JhcCx0Y3Atd3JhcHBlcnMiCitQQUNLQUdFQ09ORklHW3JlYWRsaW5lXSA9ICItLWVuYWJsZS1saWJyZWFkbGluZSwtLWRpc2FibGUtbGlicmVhZGxpbmUscmVhZGxpbmUiCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn1kIgorSU5JVFNDUklQVF9OQU1FXyR7UE59ZCA9ICJhdGZ0cGQiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfWQgPSAiZGVmYXVsdHMgODAiCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn1kIgorVVNFUkFERF9QQVJBTV8ke1BOfWQgPSAiLS1zeXN0ZW0gLS1uby1jcmVhdGUtaG9tZSAtLXNoZWxsIC9iaW4vZmFsc2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgLS11c2VyLWdyb3VwIG5vYm9keSIKKworRVhUUkFfT0VNQUtFID0gIkNGTEFHUz0nJHtDRkxBR1N9IC1zdGQ9Z251ODknIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2F0ZnRwZC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9hdGZ0cGQKKworICAgIGluc3RhbGwgLWQgJHtEfS9zcnYvdGZ0cAorCisgICAgcm0gJHtEfSR7c2JpbmRpcn0vaW4udGZ0cGQKKyAgICAKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYXRmdHBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KK30KKworUEFDS0FHRVMgPSsgIiR7UE59ZCIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9LyoiCisKK0ZJTEVTXyR7UE59ZCA9ICIke3NiaW5kaXJ9LyogXAorICAgICR7c3lzY29uZmRpcn0gXAorICAgIC9zcnYvdGZ0cCBcCisgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9hdGZ0cGQuc2VydmljZSBcCisiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ZCA9ICJhdGZ0cGQuc2VydmljZSIKK1JQUk9WSURFU18ke1BOfWQgKz0gIiR7UE59ZC1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ZCArPSAiJHtQTn1kLXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ZCArPSAiJHtQTn1kLXN5c3RlbWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXRmdHAvZmlsZXMvYXRmdHAtMC43LXNvcmNlcmVyc19hcHByZW50aWNlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F0ZnRwL2ZpbGVzL2F0ZnRwLTAuNy1zb3JjZXJlcnNfYXBwcmVudGljZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzY0MjkxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F0ZnRwL2ZpbGVzL2F0ZnRwLTAuNy1zb3JjZXJlcnNfYXBwcmVudGljZS5wYXRjaApAQCAtMCwwICsxLDk0IEBACithdGZ0cCBleGhpYml0cyB0aGUgd2VsbCBrbm93biAiU29yY2VyZXIncyBBcHByZW50aWNlIFN5bmRyb21lIihTQVMpIHByb2JsZW0uCitBY2NvcmRpbmcgdG8gUkZDIDEzNTAsIHRoZSBmaXggdG8gU0FTIGlzIHF1aXRlIHNpbXBsZTogZnVydGhlciBjb3BpZXMgb2YgdGhlCithY2tub3dsZWRnbWVudCBmb3IgYSBwYXJ0aWN1bGFyIGRhdGEgYmxvY2sgd291bGQgYmUgaWdub3JlZC4KKworUGF0Y2ggb3JpZ2luYWxseSBmcm9tIE9wZW5TVVNFOgoraHR0cHM6Ly9idWlsZC5vcGVuc3VzZS5vcmcvcGFja2FnZS92aWV3X2ZpbGU/ZmlsZT1hdGZ0cC0wLjctc29yY2VyZXJzX2FwcHJlbnRpY2UucGF0Y2gmcGFja2FnZT1hdGZ0cC41MzkmcHJvamVjdD1vcGVuU1VTRSUzQTEyLjElM0FVcGRhdGUmcmV2PTg0NTY5NzkyOTc1ZTAwNTczZDdkZjU5N2QyYTZlODk1CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitJbmRleDogYXRmdHAtMC43L3RmdHBfZmlsZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYXRmdHAtMC43Lm9yaWcvdGZ0cF9maWxlLmMJMjAxMS0xMS0yMiAxNToxMjo1My43OTI3NDQwODMgKzAxMDAKKysrKyBhdGZ0cC0wLjcvdGZ0cF9maWxlLmMJMjAxMS0xMS0yMiAxNToxMzo1MS43MDY0MjE4OTMgKzAxMDAKK0BAIC02MDUsNiArNjA1LDcgQEAKKyAgICAgIGludCB0aW1lb3V0X3N0YXRlID0gc3RhdGU7IC8qIHdoYXQgc3RhdGUgc2hvdWxkIHdlIGdvIG9uIHdoZW4gdGltZW91dCAqLworICAgICAgaW50IHJlc3VsdDsKKyAgICAgIGxvbmcgYmxvY2tfbnVtYmVyID0gMDsKKysgICAgIGxvbmcgbGFzdF9yZXF1ZXN0ZWRfYmxvY2sgPSAtMTsKKyAgICAgIGxvbmcgbGFzdF9ibG9jayA9IC0xOworICAgICAgaW50IGRhdGFfc2l6ZTsgICAgICAgICAgICAgLyogc2l6ZSBvZiBkYXRhIHJlY2VpdmVkICovCisgICAgICBpbnQgc29ja2ZkID0gZGF0YS0+c29ja2ZkOyAvKiBqdXN0IHRvIHNpbXBsaWZ5IGNhbGxzICovCitAQCAtNzY1LDYgKzc2NiwxNyBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0ZWQgPSAxOworICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgYmxvY2tfbnVtYmVyID0gbnRvaHModGZ0cGhkci0+dGhfYmxvY2spOworKworKyAgICAgICAgICAgICAgICAgICAgaWYgKGxhc3RfcmVxdWVzdGVkX2Jsb2NrID49IGJsb2NrX251bWJlcikKKysgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS0+dHJhY2UpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAicmVjZWl2ZWQgZHVwbGljYXRlZCBBQ0sgPGJsb2NrOiAlbGQgPj0gJWxkPlxuIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0X3JlcXVlc3RlZF9ibG9jaywgYmxvY2tfbnVtYmVyKTsKKysgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgICAgIGVsc2UKKysgICAgICAgICAgICAgICAgICAgICAgICBsYXN0X3JlcXVlc3RlZF9ibG9jayA9IGJsb2NrX251bWJlcjsKKysKKyAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLT50cmFjZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJyZWNlaXZlZCBBQ0sgPGJsb2NrOiAlbGQ+XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrX251bWJlcik7CitJbmRleDogYXRmdHAtMC43L3RmdHBkX2ZpbGUuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGF0ZnRwLTAuNy5vcmlnL3RmdHBkX2ZpbGUuYwkyMDExLTExLTIyIDE1OjEyOjUzLjc5Mzc0NDExMiArMDEwMAorKysrIGF0ZnRwLTAuNy90ZnRwZF9maWxlLmMJMjAxMS0xMS0yMiAxNToxNTowNC42MTc1MzQyNjAgKzAxMDAKK0BAIC00MDMsNiArNDAzLDcgQEAKKyAgICAgIGludCB0aW1lb3V0X3N0YXRlID0gc3RhdGU7CisgICAgICBpbnQgcmVzdWx0OworICAgICAgbG9uZyBibG9ja19udW1iZXIgPSAwOworKyAgICAgbG9uZyBsYXN0X3JlcXVlc3RlZF9ibG9jayA9IC0xOworICAgICAgbG9uZyBsYXN0X2Jsb2NrID0gLTE7CisgICAgICBpbnQgYmxvY2tfbG9vcHMgPSAwOworICAgICAgaW50IGRhdGFfc2l6ZTsKK0BAIC04NTksNiArODYwLDMyIEBACisgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlcihMT0dfREVCVUcsICJyZWNlaXZlZCBBQ0sgPGJsb2NrOiAlZD4iLCBibG9ja19udW1iZXIpOworICAgICAgICAgICAgICAgICAgICAgfQorKworKwkJICAgIC8qIGNoZWNrIHdoZXRoZXIgdGhlIGJsb2NrIHJlcXVlc3QgaXNuJ3QgYWxyZWFkeSBmdWxmaWxsZWQgKi8KKysKKysgICAgICAgICAgICAgICAgICAgIC8qIG11bHRpY2FzdCwgYmxvY2sgbnVtYmVycyBjb3VsZCBjb250YWluIGdhcHMgKi8KKysgICAgICAgICAgICAgICAgICAgIGlmIChtdWx0aWNhc3QpIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGFzdF9yZXF1ZXN0ZWRfYmxvY2sgPj0gYmxvY2tfbnVtYmVyKQorKyAgICAgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEtPnRyYWNlKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyKExPR19ERUJVRywgInJlY2VpdmVkIGR1cGxpY2F0ZWQgQUNLIDxibG9jazogJWQgPj0gJWQ+IiwgbGFzdF9yZXF1ZXN0ZWRfYmxvY2ssIGJsb2NrX251bWJlcik7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RfcmVxdWVzdGVkX2Jsb2NrID0gYmxvY2tfbnVtYmVyOworKyAgICAgICAgICAgICAgICAgICAgLyogdW5pY2FzdCwgYmxvY2tzIHNob3VsZCBiZSByZXF1ZXN0ZWQgb25lIGFmdGVyIGFub3RoZXIgKi8KKysJCSAgICB9IGVsc2UgeworKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYXN0X3JlcXVlc3RlZF9ibG9jayArIDEgIT0gYmxvY2tfbnVtYmVyICYmIGxhc3RfcmVxdWVzdGVkX2Jsb2NrICE9IC0xKQorKyAgICAgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEtPnRyYWNlKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyKExPR19ERUJVRywgInJlY2VpdmVkIG91dCBvZiBvcmRlciBBQ0sgPGJsb2NrOiAlZCAhPSAlZD4iLCBsYXN0X3JlcXVlc3RlZF9ibG9jayArIDEsIGJsb2NrX251bWJlcik7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RfcmVxdWVzdGVkX2Jsb2NrID0gYmxvY2tfbnVtYmVyOworKyAgICAgICAgICAgICAgICAgICAgfQorKworKworICAgICAgICAgICAgICAgICAgICAgaWYgKG50b2hzKHRmdHBoZHItPnRoX2Jsb2NrKSA9PSA2NTUzNSkKKyAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tfbG9vcHMrKzsKK0BAIC05NTgsNiArOTg1LDggQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmVkZCB0byBzZW5kIGFuIG9hY2sgdG8gdGhhdCBjbGllbnQgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBTX1NFTkRfT0FDSzsgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZzZWVrKGZwLCAwLCBTRUVLX1NFVCk7CisrCQkJIC8qIHJlc2V0IHRoZSBsYXN0IGJsb2NrIHJlY2VpdmVkIGNvdW50ZXIgKi8KKysJCQkgbGFzdF9yZXF1ZXN0ZWRfYmxvY2sgPSAtMTsKKyAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdGZ0cC9maWxlcy9hdGZ0cGQtMC43X2NpcmN1bXZlbnRfdGZ0cF9zaXplX3Jlc3RyaWN0aW9ucy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdGZ0cC9maWxlcy9hdGZ0cGQtMC43X2NpcmN1bXZlbnRfdGZ0cF9zaXplX3Jlc3RyaWN0aW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODBiNTcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F0ZnRwL2ZpbGVzL2F0ZnRwZC0wLjdfY2lyY3VtdmVudF90ZnRwX3NpemVfcmVzdHJpY3Rpb25zLnBhdGNoCkBAIC0wLDAgKzEsMTYzIEBACitGYXRlICMzMDMwMzE6IENpcmN1bXZlbnQgVEZUUCBzaXplIHJlc3RyaWN0aW9ucyBpbiBhdGZ0cGQKK1RoZSBzaXplIG9mIGEgc2luZ2xlIGltYWdlIGZpbGUgdGhhdCBjYW4gYmUgdHJhbnNmZXJyZWQgd2l0aCBURlRQIGlzIGxpbWl0ZWQgdG8KKzJeKDIqOCkgKkJMT0NLU0laRSAoYXMgcGVyIFJGQyAxMzUwIHRoZXJlIGFyZSBvbmx5IHR3byBieXRlcyBmb3IgdGhlIGJsb2NrCitjb3VudGVyKS4gVGhpcyBpcyBwcm9ibGVtYXRpYyBmb3Igb25lIG9mIG91ciBjdXN0b21lcnMgd2hvIG5lZWRzIHRvIHRyYW5zZmVyCisxMDArIE1CIFdpbmRvd3MgaW1hZ2VzIHVzaW5nIGEgVEZUUCBjbGllbnQgKE5UIGJvb3Rsb2FkZXIpIHdoaWNoIGhhcyBhCitoYXJkd2FyZWQgQkxPQ0tTSVpFIHNldHRpbmcgb2YgMTQzMikuCisKK2Jsb2NrIHJvbGxvdmVyCitodHRwOi8vd3d3LmNvbXB1cGhhc2UuY29tL3RmdHAuaHRtCisKK1BhdGNoIG9yaWdpbmFsbHkgZnJvbSBPcGVuU1VTRToKK2h0dHBzOi8vYnVpbGQub3BlbnN1c2Uub3JnL3BhY2thZ2Uvc2hvdz9wYWNrYWdlPWF0ZnRwJnByb2plY3Q9b3BlblNVU0UlM0ExMi4yCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogZ2l0L3RmdHBfZGVmLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy90ZnRwX2RlZi5oCTIwMTItMTEtMTkgMTY6Mjg6NTAuMjIxMDI3MTQ0IC0wODAwCisrKysgZ2l0L3RmdHBfZGVmLmgJMjAxMi0xMS0yMCAxNzo0MDo1NC4zOTEyMDY5NzkgLTA4MDAKK0BAIC0zMiw2ICszMiw3IEBACisgI2RlZmluZSBUSU1FT1VUICAgICAgIDUgICAgICAgICAvKiBDbGllbnQgdGltZW91dCAqLworICNkZWZpbmUgU19USU1FT1VUICAgICA1ICAgICAgICAgLyogU2VydmVyIHRpbW91dC4gKi8KKyAjZGVmaW5lIE5CX09GX1JFVFJZICAgNQorKyNkZWZpbmUgTUFYQkxPQ0tTICAgMTAwMDAwMCAgICAgIC8qIG1heGltdW0gbnVtYmVyIG9mIGJsb2NrcyBpbiBhIGRvd25sb2FkICovCisgCisgLyogZGVmaW5pdGlvbiB0byB1c2UgdGZ0cF9vcHRpb25zIHN0cnVjdHVyZSAqLworICNkZWZpbmUgT1BUX0ZJTEVOQU1FICAwCitJbmRleDogZ2l0L3RmdHBfZmlsZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvdGZ0cF9maWxlLmMJMjAxMi0xMS0xOSAxNjoyODo1MC4yMjEwMjcxNDQgLTA4MDAKKysrKyBnaXQvdGZ0cF9maWxlLmMJMjAxMi0xMS0xOSAxNjoyODo1MS4yMDEwMjcxNjcgLTA4MDAKK0BAIC02MjIsOCArNjIyLDggQEAKKyAgICAgIGludCBzdGF0ZSA9IFNfU0VORF9SRVE7ICAgIC8qIGN1cnJlbnQgc3RhdGUgaW4gdGhlIHN0YXRlIG1hY2hpbmUgKi8KKyAgICAgIGludCB0aW1lb3V0X3N0YXRlID0gc3RhdGU7IC8qIHdoYXQgc3RhdGUgc2hvdWxkIHdlIGdvIG9uIHdoZW4gdGltZW91dCAqLworICAgICAgaW50IHJlc3VsdDsKKy0gICAgIGludCBibG9ja19udW1iZXIgPSAwOworLSAgICAgaW50IGxhc3RfYmxvY2sgPSAtMTsKKysgICAgIGxvbmcgYmxvY2tfbnVtYmVyID0gMDsKKysgICAgIGxvbmcgbGFzdF9ibG9jayA9IC0xOworICAgICAgaW50IGRhdGFfc2l6ZTsgICAgICAgICAgICAgLyogc2l6ZSBvZiBkYXRhIHJlY2VpdmVkICovCisgICAgICBpbnQgc29ja2ZkID0gZGF0YS0+c29ja2ZkOyAvKiBqdXN0IHRvIHNpbXBsaWZ5IGNhbGxzICovCisgICAgICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBzYTsgLyogYSBjb3B5IG9mIGRhdGEuc2FfcGVlciAqLworQEAgLTYzNyw4ICs2MzcsOCBAQAorICAgICAgaW50IGNvbnZlcnQgPSAwOyAgICAgICAgICAgLyogaWYgdHJ1ZSwgZG8gbmV0YXNjaWkgY29udmVydGlvbiAqLworICAgICAgY2hhciBzdHJpbmdbTUFYTEVOXTsKKyAKKy0gICAgIGludCBwcmV2X2Jsb2NrX251bWJlciA9IDA7IC8qIG5lZWRlZCB0byBzdXBwb3J0IG5ldGFzY2lpIGNvbnZlcnRpb24gKi8KKy0gICAgIGludCBwcmV2X2ZpbGVfcG9zID0gMDsKKysgICAgIGxvbmcgcHJldl9ibG9ja19udW1iZXIgPSAwOyAvKiBuZWVkZWQgdG8gc3VwcG9ydCBuZXRhc2NpaSBjb252ZXJ0aW9uICovCisrICAgICBsb25nIHByZXZfZmlsZV9wb3MgPSAwOworICAgICAgaW50IHRlbXAgPSAwOworIAorICAgICAgZGF0YS0+ZmlsZV9zaXplID0gMDsKK0BAIC03NDUsNyArNzQ1LDcgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhX3NpemUsIGRhdGEtPmRhdGFfYnVmZmVyKTsKKyAgICAgICAgICAgICAgICBkYXRhLT5maWxlX3NpemUgKz0gZGF0YV9zaXplOworICAgICAgICAgICAgICAgIGlmIChkYXRhLT50cmFjZSkKKy0gICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAic2VudCBEQVRBIDxibG9jazogJWQsIHNpemU6ICVkPlxuIiwKKysgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAic2VudCBEQVRBIDxibG9jazogJWxkLCBzaXplOiAlZD5cbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrX251bWJlciArIDEsIGRhdGFfc2l6ZSAtIDQpOworICAgICAgICAgICAgICAgIHN0YXRlID0gU19XQUlUX1BBQ0tFVDsKKyAgICAgICAgICAgICAgICBicmVhazsKK0BAIC03ODUsNyArNzg1LDcgQEAKKyAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIGJsb2NrX251bWJlciA9IG50b2hzKHRmdHBoZHItPnRoX2Jsb2NrKTsKKyAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLT50cmFjZSkKKy0gICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJyZWNlaXZlZCBBQ0sgPGJsb2NrOiAlZD5cbiIsCisrICAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAicmVjZWl2ZWQgQUNLIDxibG9jazogJWxkPlxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja19udW1iZXIpOworICAgICAgICAgICAgICAgICAgICAgaWYgKChsYXN0X2Jsb2NrICE9IC0xKSAmJiAoYmxvY2tfbnVtYmVyID4gbGFzdF9ibG9jaykpCisgICAgICAgICAgICAgICAgICAgICB7CitJbmRleDogZ2l0L3RmdHBfaW8uYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL3RmdHBfaW8uYwkyMDEyLTExLTE5IDE2OjI4OjUwLjIyMTAyNzE0NCAtMDgwMAorKysrIGdpdC90ZnRwX2lvLmMJMjAxMi0xMS0xOSAxNjoyODo1MS4yMDEwMjcxNjcgLTA4MDAKK0BAIC0zNTAsOCArMzUwLDggQEAKKyAvKgorICAqIFJlYWQgZnJvbSBmaWxlIGFuZCBkbyBuZXRhc2NpaSBjb252ZXJzaW9uIGlmIG5lZWRlZAorICAqLworLWludCB0ZnRwX2ZpbGVfcmVhZChGSUxFICpmcCwgY2hhciAqZGF0YV9idWZmZXIsIGludCBkYXRhX2J1ZmZlcl9zaXplLCBpbnQgYmxvY2tfbnVtYmVyLAorLSAgICAgICAgICAgICAgICAgICBpbnQgY29udmVydCwgaW50ICpwcmV2X2Jsb2NrX251bWJlciwgaW50ICpwcmV2X2ZpbGVfcG9zLCBpbnQgKnRlbXApCisraW50IHRmdHBfZmlsZV9yZWFkKEZJTEUgKmZwLCBjaGFyICpkYXRhX2J1ZmZlciwgaW50IGRhdGFfYnVmZmVyX3NpemUsIGxvbmcgYmxvY2tfbnVtYmVyLAorKyAgICAgICAgICAgICAgICAgICBpbnQgY29udmVydCwgbG9uZyAqcHJldl9ibG9ja19udW1iZXIsIGxvbmcgKnByZXZfZmlsZV9wb3MsIGludCAqdGVtcCkKKyB7CisgICAgICBpbnQgaTsKKyAgICAgIGludCBjOworSW5kZXg6IGdpdC90ZnRwX2lvLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy90ZnRwX2lvLmgJMjAxMi0xMS0xOSAxNjoyODo1MC4yMjEwMjcxNDQgLTA4MDAKKysrKyBnaXQvdGZ0cF9pby5oCTIwMTItMTEtMTkgMTY6Mjg6NTEuMjAxMDI3MTY3IC0wODAwCitAQCAtNTIsOCArNTIsOCBAQAorIGludCB0ZnRwX2dldF9wYWNrZXQoaW50IHNvY2sxLCBpbnQgc29jazIsIGludCAqc29jaywgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgKnNhLAorICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgKmZyb20sIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlICp0bywKKyAgICAgICAgICAgICAgICAgICAgIGludCB0aW1lb3V0LCBpbnQgKnNpemUsIGNoYXIgKmRhdGEpOworLWludCB0ZnRwX2ZpbGVfcmVhZChGSUxFICpmcCwgY2hhciAqYnVmZmVyLCBpbnQgYnVmZmVyX3NpemUsIGludCBibG9ja19udW1iZXIsIGludCBjb252ZXJ0LAorLSAgICAgICAgICAgICAgICAgICBpbnQgKnByZXZfYmxvY2tfbnVtYmVyLCBpbnQgKnByZXZfZmlsZV9wb3MsIGludCAqdGVtcCk7CisraW50IHRmdHBfZmlsZV9yZWFkKEZJTEUgKmZwLCBjaGFyICpidWZmZXIsIGludCBidWZmZXJfc2l6ZSwgbG9uZyBibG9ja19udW1iZXIsIGludCBjb252ZXJ0LAorKyAgICAgICAgICAgICAgICAgICBsb25nICpwcmV2X2Jsb2NrX251bWJlciwgbG9uZyAqcHJldl9maWxlX3BvcywgaW50ICp0ZW1wKTsKKyBpbnQgdGZ0cF9maWxlX3dyaXRlKEZJTEUgKmZwLCBjaGFyICpkYXRhX2J1ZmZlciwgaW50IGRhdGFfYnVmZmVyX3NpemUsIGludCBibG9ja19udW1iZXIsCisgICAgICAgICAgICAgICAgICAgICBpbnQgZGF0YV9zaXplLCBpbnQgY29udmVydCwgaW50ICpwcmV2X2Jsb2NrX251bWJlciwgaW50ICp0ZW1wKTsKKyAjZW5kaWYKK0luZGV4OiBnaXQvdGZ0cGRfZmlsZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvdGZ0cGRfZmlsZS5jCTIwMTItMTEtMTkgMTY6Mjg6NTAuMjI1MDI3MTQ0IC0wODAwCisrKysgZ2l0L3RmdHBkX2ZpbGUuYwkyMDEyLTExLTE5IDE2OjI4OjUxLjIwMTAyNzE2NyAtMDgwMAorQEAgLTQwNyw4ICs0MDcsOSBAQAorICAgICAgaW50IHN0YXRlID0gU19CRUdJTjsKKyAgICAgIGludCB0aW1lb3V0X3N0YXRlID0gc3RhdGU7CisgICAgICBpbnQgcmVzdWx0OworLSAgICAgaW50IGJsb2NrX251bWJlciA9IDA7CistICAgICBpbnQgbGFzdF9ibG9jayA9IC0xOworKyAgICAgbG9uZyBibG9ja19udW1iZXIgPSAwOworKyAgICAgbG9uZyBsYXN0X2Jsb2NrID0gLTE7CisrICAgICBpbnQgYmxvY2tfbG9vcHMgPSAwOworICAgICAgaW50IGRhdGFfc2l6ZTsKKyAgICAgIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlICpzYSA9ICZkYXRhLT5jbGllbnRfaW5mby0+Y2xpZW50OworICAgICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgZnJvbTsKK0BAIC00MzEsOCArNDMyLDggQEAKKyAgICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqY2xpZW50X29sZCA9IE5VTEw7CisgICAgICBzdHJ1Y3QgdGZ0cF9vcHQgb3B0aW9uc1tPUFRfTlVNQkVSXTsKKyAKKy0gICAgIGludCBwcmV2X2Jsb2NrX251bWJlciA9IDA7IC8qIG5lZWRlZCB0byBzdXBwb3J0IG5ldGFzY2lpIGNvbnZlcnRpb24gKi8KKy0gICAgIGludCBwcmV2X2ZpbGVfcG9zID0gMDsKKysgICAgIGxvbmcgcHJldl9ibG9ja19udW1iZXIgPSAwOyAvKiBuZWVkZWQgdG8gc3VwcG9ydCBuZXRhc2NpaSBjb252ZXJ0aW9uICovCisrICAgICBsb25nIHByZXZfZmlsZV9wb3MgPSAwOworICAgICAgaW50IHRlbXAgPSAwOworIAorICAgICAgLyogbG9vayBmb3IgbW9kZSBvcHRpb24gKi8KK0BAIC01NjUsMTEgKzU2NiwxMiBAQAorICAgICAgICAgICBsb2dnZXIoTE9HX0lORk8sICJibGtzaXplIG9wdGlvbiAtPiAlZCIsIHJlc3VsdCk7CisgICAgICB9CisgCistICAgICAvKiBWZXJpZnkgdGhhdCB0aGUgZmlsZSBjYW4gYmUgc2VudCBpbiAyXjE2IGJsb2NrIG9mIEJMS1NJWkUgb2N0ZXRzICovCistICAgICBpZiAoKGZpbGVfc3RhdC5zdF9zaXplIC8gKGRhdGEtPmRhdGFfYnVmZmVyX3NpemUgLSA0KSkgPiA2NTUzNSkKKysgICAgIC8qIFZlcmlmeSB0aGF0IHRoZSBmaWxlIGNhbiBiZSBzZW50IGluIE1BWEJMT0NLUyBibG9ja3Mgb2YgQkxLU0laRSBvY3RldHMgKi8KKysgICAgIGlmICgoZmlsZV9zdGF0LnN0X3NpemUgLyAoZGF0YS0+ZGF0YV9idWZmZXJfc2l6ZSAtIDQpKSA+IE1BWEJMT0NLUykKKyAgICAgIHsKKyAgICAgICAgICAgdGZ0cF9zZW5kX2Vycm9yKHNvY2tmZCwgc2EsIEVVTkRFRiwgZGF0YS0+ZGF0YV9idWZmZXIsIGRhdGEtPmRhdGFfYnVmZmVyX3NpemUpOworLSAgICAgICAgICBsb2dnZXIoTE9HX05PVElDRSwgIlJlcXVlc3RlZCBmaWxlIHRvIGJpZywgaW5jcmVhc2UgQkxLU0laRSIpOworKyAgICAgICAgICBsb2dnZXIoTE9HX05PVElDRSwgIlJlcXVlc3RlZCBmaWxlIHRvbyBiaWcsIGluY3JlYXNlIEJMS1NJWkUiKTsKKysgICAgICAgICAgbG9nZ2VyKExPR19OT1RJQ0UsICJPbmx5ICVkIGJsb2NrcyBvZiAlZCBieXRlcyBjYW4gYmUgc2VydmVkLiIsIE1BWEJMT0NLUywgZGF0YS0+ZGF0YV9idWZmZXJfc2l6ZSk7CisgICAgICAgICAgIGlmIChkYXRhLT50cmFjZSkKKyAgICAgICAgICAgICAgICBsb2dnZXIoTE9HX0RFQlVHLCAic2VudCBFUlJPUiA8Y29kZTogJWQsIG1zZzogJXM+IiwgRVVOREVGLAorICAgICAgICAgICAgICAgICAgICAgICB0ZnRwX2Vycm1zZ1tFVU5ERUZdKTsKK0BAIC04ODAsMTAgKzg4MiwxNSBAQAorICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgLyogVGhlIEFDSyBpcyBmcm9tIHRoZSBjdXJyZW50IGNsaWVudCAqLworICAgICAgICAgICAgICAgICAgICAgbnVtYmVyX29mX3RpbWVvdXQgPSAwOworLSAgICAgICAgICAgICAgICAgICAgYmxvY2tfbnVtYmVyID0gbnRvaHModGZ0cGhkci0+dGhfYmxvY2spOworKyAgICAgICAgICAgICAgICAgICAgYmxvY2tfbnVtYmVyID0gKGJsb2NrX2xvb3BzICogNjU1MzYpICsgbnRvaHModGZ0cGhkci0+dGhfYmxvY2spOworICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEtPnRyYWNlKQorLSAgICAgICAgICAgICAgICAgICAgICAgICBsb2dnZXIoTE9HX0RFQlVHLCAicmVjZWl2ZWQgQUNLIDxibG9jazogJWQ+IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrX251bWJlcik7CisrICAgICAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlcihMT0dfREVCVUcsICJyZWNlaXZlZCBBQ0sgPGJsb2NrOiAlZD4iLCBibG9ja19udW1iZXIpOworKyAgICAgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICAgICAgaWYgKG50b2hzKHRmdHBoZHItPnRoX2Jsb2NrKSA9PSA2NTUzNSkKKysgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tfbG9vcHMrKzsKKysgICAgICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgICAgICBpZiAoKGxhc3RfYmxvY2sgIT0gLTEpICYmIChibG9ja19udW1iZXIgPiBsYXN0X2Jsb2NrKSkKKyAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBTX0VORDsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdGZ0cC9maWxlcy9hdGZ0cGQtMC43X3VucHJvdGVjdGVkX2Fzc2lnbm1lbnRzX2NyYXNoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F0ZnRwL2ZpbGVzL2F0ZnRwZC0wLjdfdW5wcm90ZWN0ZWRfYXNzaWdubWVudHNfY3Jhc2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhmYmE2YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdGZ0cC9maWxlcy9hdGZ0cGQtMC43X3VucHJvdGVjdGVkX2Fzc2lnbm1lbnRzX2NyYXNoLnBhdGNoCkBAIC0wLDAgKzEsMTUyIEBACitBdm9pZCBhc3NpZ25pbmcgdGhyZWFkIGRhdGEgb3V0c2lkZSBvZiBtdXRleCBsb2NrCisKK1BhdGNoIG9yaWdpbmFsbHkgZnJvbSBPcGVuU1VTRToKK2h0dHBzOi8vYnVpbGQub3BlbnN1c2Uub3JnL3BhY2thZ2Uvc2hvdz9wYWNrYWdlPWF0ZnRwJnByb2plY3Q9b3BlblNVU0UlM0ExMi4yCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogZ2l0L3RmdHBkX2xpc3QuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL3RmdHBkX2xpc3QuYwkyMDEyLTEwLTI0IDIxOjQ4OjQ3LjAwMDAwMDAwMCAtMDcwMAorKysrIGdpdC90ZnRwZF9saXN0LmMJMjAxMi0xMC0yNCAyMTo1MjowNC4yNjYyMDUwNzYgLTA3MDAKK0BAIC00OSwxMSArNDksMTEgQEAKKyAgKi8KKyBpbnQgdGZ0cGRfbGlzdF9hZGQoc3RydWN0IHRocmVhZF9kYXRhICpuZXcpCisgeworLSAgICAgc3RydWN0IHRocmVhZF9kYXRhICpjdXJyZW50ID0gdGhyZWFkX2RhdGE7CisrICAgICBzdHJ1Y3QgdGhyZWFkX2RhdGEgKmN1cnJlbnQ7CisgICAgICBpbnQgcmV0OworIAorICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZ0aHJlYWRfbGlzdF9tdXRleCk7CistCisrICAgICBjdXJyZW50ID0gdGhyZWFkX2RhdGE7CisgICAgICBudW1iZXJfb2ZfdGhyZWFkKys7CisgICAgICAKKyAgICAgIHJldCA9IG51bWJlcl9vZl90aHJlYWQ7CitAQCAtODEsMTEgKzgxLDEzIEBACisgICovCisgaW50IHRmdHBkX2xpc3RfcmVtb3ZlKHN0cnVjdCB0aHJlYWRfZGF0YSAqb2xkKQorIHsKKy0gICAgIHN0cnVjdCB0aHJlYWRfZGF0YSAqY3VycmVudCA9IHRocmVhZF9kYXRhOworKyAgICAgc3RydWN0IHRocmVhZF9kYXRhICpjdXJyZW50OworICAgICAgaW50IHJldDsKKyAKKyAgICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmdGhyZWFkX2xpc3RfbXV0ZXgpOworIAorKyAgICAgY3VycmVudCA9IHRocmVhZF9kYXRhOworKworICAgICAgbnVtYmVyX29mX3RocmVhZC0tOworICAgICAgcmV0ID0gbnVtYmVyX29mX3RocmVhZDsKKyAgICAgCitAQCAtMTM3LDIzICsxMzksMjYgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdGhyZWFkX2RhdGEgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNsaWVudF9pbmZvICpjbGllbnQpCisgeworLSAgICAgc3RydWN0IHRocmVhZF9kYXRhICpjdXJyZW50ID0gdGhyZWFkX2RhdGE7IC8qIGhlYWQgb2YgdGhlIGxpc3QgKi8KKy0gICAgIHN0cnVjdCB0ZnRwX29wdCAqdGZ0cF9vcHRpb25zID0gZGF0YS0+dGZ0cF9vcHRpb25zOworKyAgICAgc3RydWN0IHRocmVhZF9kYXRhICpjdXJyZW50OyAvKiBoZWFkIG9mIHRoZSBsaXN0ICovCisrICAgICBzdHJ1Y3QgdGZ0cF9vcHQgKnRmdHBfb3B0aW9uczsKKyAgICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqdG1wOworICAgICAgY2hhciBvcHRpb25zW01BWExFTl07CisgICAgICBjaGFyIHN0cmluZ1tNQVhMRU5dOworICAgICAgY2hhciAqaW5kZXg7CisgICAgICBpbnQgbGVuOworIAorKyAgICAgLyogbG9jayB0aGUgd2hvbGUgbGlzdCBiZWZvcmUgd2Fsa2luZyBpdCAqLworKyAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZ0aHJlYWRfbGlzdF9tdXRleCk7CisrCisgICAgICAqdGhyZWFkID0gTlVMTDsKKyAKKysgICAgIGN1cnJlbnQgPSB0aHJlYWRfZGF0YTsKKysgICAgIHRmdHBfb3B0aW9ucyA9IGRhdGEtPnRmdHBfb3B0aW9uczsKKysKKyAgICAgIG9wdF9yZXF1ZXN0X3RvX3N0cmluZyh0ZnRwX29wdGlvbnMsIG9wdGlvbnMsIE1BWExFTik7CisgICAgICBpbmRleCA9IHN0cnN0cihvcHRpb25zLCAibXVsdGljYXN0Iik7CisgICAgICBsZW4gPSAoaW50KWluZGV4IC0gKGludClvcHRpb25zOworIAorLSAgICAgLyogbG9jayB0aGUgd2hvbGUgbGlzdCBiZWZvcmUgd2Fsa2luZyBpdCAqLworLSAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZ0aHJlYWRfbGlzdF9tdXRleCk7CistCisgICAgICB3aGlsZSAoY3VycmVudCkKKyAgICAgIHsKKyAgICAgICAgICAgaWYgKGN1cnJlbnQgIT0gZGF0YSkKK0BAIC0yMTQsOSArMjE5LDEwIEBACisgdm9pZCB0ZnRwZF9jbGllbnRsaXN0X3JlbW92ZShzdHJ1Y3QgdGhyZWFkX2RhdGEgKnRocmVhZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqY2xpZW50KQorIHsKKy0gICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqdG1wID0gdGhyZWFkLT5jbGllbnRfaW5mbzsKKysgICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqdG1wOworIAorICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZ0aHJlYWQtPmNsaWVudF9tdXRleCk7CisrICAgICB0bXAgPSB0aHJlYWQtPmNsaWVudF9pbmZvOworICAgICAgd2hpbGUgKCh0bXAtPm5leHQgIT0gY2xpZW50KSAmJiAodG1wLT5uZXh0ICE9IE5VTEwpKQorICAgICAgICAgICB0bXAgPSB0bXAtPm5leHQ7CisgICAgICBpZiAodG1wLT5uZXh0ID09IE5VTEwpCitAQCAtMjMxLDkgKzIzNywxMSBAQAorIHZvaWQgdGZ0cGRfY2xpZW50bGlzdF9mcmVlKHN0cnVjdCB0aHJlYWRfZGF0YSAqdGhyZWFkKQorIHsKKyAgICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqdG1wOworLSAgICAgc3RydWN0IGNsaWVudF9pbmZvICpoZWFkID0gdGhyZWFkLT5jbGllbnRfaW5mbzsKKysgICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqaGVhZDsKKyAKKyAgICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmdGhyZWFkLT5jbGllbnRfbXV0ZXgpOworKyAgICAgaGVhZCA9IHRocmVhZC0+Y2xpZW50X2luZm87CisrCisgICAgICB3aGlsZSAoaGVhZCkKKyAgICAgIHsKKyAgICAgICAgICAgdG1wID0gaGVhZDsKK0BAIC0yNTAsOSArMjU4LDEwIEBACisgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY2xpZW50X2luZm8gKmNsaWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlICpzb2NrKQorIHsKKy0gICAgIHN0cnVjdCBjbGllbnRfaW5mbyAqaGVhZCA9IHRocmVhZC0+Y2xpZW50X2luZm87CisrICAgICBzdHJ1Y3QgY2xpZW50X2luZm8gKmhlYWQ7CisgCisgICAgICBwdGhyZWFkX211dGV4X2xvY2soJnRocmVhZC0+Y2xpZW50X211dGV4KTsKKysgICAgIGhlYWQgPSB0aHJlYWQtPmNsaWVudF9pbmZvOworIAorICAgICAgaWYgKGNsaWVudCkKKyAgICAgIHsKK0BAIC0zMzQsMTAgKzM0MywxMCBAQAorIAorIHZvaWQgdGZ0cGRfbGlzdF9raWxsX3RocmVhZHModm9pZCkKKyB7CistICAgICBzdHJ1Y3QgdGhyZWFkX2RhdGEgKmN1cnJlbnQgPSB0aHJlYWRfZGF0YTsgLyogaGVhZCBvZiBsaXN0ICovCisrICAgICBzdHJ1Y3QgdGhyZWFkX2RhdGEgKmN1cnJlbnQ7IC8qIGhlYWQgb2YgbGlzdCAqLworIAorICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZ0aHJlYWRfbGlzdF9tdXRleCk7CistCisrICAgICBjdXJyZW50ID0gdGhyZWFkX2RhdGE7CisgCisgICAgICB3aGlsZSAoY3VycmVudCAhPSBOVUxMKQorICAgICAgeworSW5kZXg6IGdpdC90ZnRwZF9tY2FzdC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvdGZ0cGRfbWNhc3QuYwkyMDEyLTEwLTI0IDIxOjQ4OjQ3LjAwMDAwMDAwMCAtMDcwMAorKysrIGdpdC90ZnRwZF9tY2FzdC5jCTIwMTItMTAtMjQgMjE6NDk6MTEuNTcwMjAxNTgyIC0wNzAwCitAQCAtNTEsOSArNTEsMTEgQEAKKyAgKi8KKyBpbnQgdGZ0cGRfbWNhc3RfZ2V0X3RpZChjaGFyICoqYWRkciwgc2hvcnQgKnBvcnQpCisgeworLSAgICAgc3RydWN0IHRpZCAqY3VycmVudCA9IHRpZF9saXN0OworKyAgICAgc3RydWN0IHRpZCAqY3VycmVudDsKKyAKKyAgICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmbWNhc3RfdGlkX2xpc3QpOworKyAgICAgY3VycmVudCA9IHRpZF9saXN0OworKworICAgICAgLyogd2FsayB0aGUgbGlzdCBmb3IgYSBmcmVlIHRpZCAqLworICAgICAgd2hpbGUgKGN1cnJlbnQgIT0gTlVMTCkKKyAgICAgIHsKK0BAIC03NCw5ICs3NiwxMSBAQAorIAorIGludCB0ZnRwZF9tY2FzdF9mcmVlX3RpZChjaGFyICphZGRyLCBzaG9ydCBwb3J0KQorIHsKKy0gICAgIHN0cnVjdCB0aWQgKmN1cnJlbnQgPSB0aWRfbGlzdDsKKysgICAgIHN0cnVjdCB0aWQgKmN1cnJlbnQ7CisgCisgICAgICBwdGhyZWFkX211dGV4X2xvY2soJm1jYXN0X3RpZF9saXN0KTsKKysgICAgIGN1cnJlbnQgPSB0aWRfbGlzdDsKKysKKyAgICAgIHdoaWxlIChjdXJyZW50ICE9IE5VTEwpCisgICAgICB7CisgCSAgaWYgKChjdXJyZW50LT51c2VkID09IDEpICYmIChjdXJyZW50LT5wb3J0ID09IHBvcnQpICYmCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXRmdHAvZmlsZXMvYXRmdHBkLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXRmdHAvZmlsZXMvYXRmdHBkLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTYxZDk3YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdGZ0cC9maWxlcy9hdGZ0cGQuaW5pdApAQCAtMCwwICsxLDM3IEBACisjISAvYmluL3NoCisjCisjIFRoaXMgaXMgYW4gaW5pdCBzY3JpcHQgZm9yIG9wZW5lbWJlZGRlZAorIyBDb3B5IGl0IHRvIC9ldGMvaW5pdC5kL2F0ZnRwZCBhbmQgdHlwZQorIyA+IHVwZGF0ZS1yYy5kIGF0ZnRwZCBkZWZhdWx0cyA2MAorIworCisKK3Rlc3QgLWYgL3Vzci9zYmluL2F0ZnRwZCB8fCBleGl0IDAKKwordGVzdCAtZCAvc3J2L3RmdHAgfHwgbWtkaXIgLXAgL3Nydi90ZnRwCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBlY2hvIC1uICJTdGFydGluZyB0ZnRwIGRhZW1vbjogYXRmdHBkIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgL3Vzci9zYmluL2F0ZnRwZCAtLSAtLWRhZW1vbiAtLXBvcnQgNjkKKyAgICBlY2hvICIuIgorICAgIDs7CisgIHN0b3ApCisgICAgZWNobyAtbiAiU3RvcHBpbmcgdGZ0cCBkYWVtb246IGF0ZnRwZCIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLWV4ZWMgL3Vzci9zYmluL2F0ZnRwZAorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgcmVsb2FkfGZvcmNlLXJlbG9hZCkKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXNpZ25hbCAxIC0tZXhlYyAvdXNyL3NiaW4vYXRmdHBkCisgICAgOzsKKyAgcmVzdGFydCkKKyAgICAkMCBzdG9wCisgICAgc2xlZXAgMQorCSQwIHN0YXJ0CisgICAgOzsKKyAgKikKKyAgICBlY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvYXRmdHBkIHtzdGFydHxzdG9wfHJlbG9hZHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iCisgICAgZXhpdCAxCitlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvMDAwMS1zeXN0ZW1kLWFsbG93LXdpdGgtc3lzdGVtZC10by10YWtlLWEtcGF0aC1hcmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy8wMDAxLXN5c3RlbWQtYWxsb3ctd2l0aC1zeXN0ZW1kLXRvLXRha2UtYS1wYXRoLWFyZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDJmMjVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvMDAwMS1zeXN0ZW1kLWFsbG93LXdpdGgtc3lzdGVtZC10by10YWtlLWEtcGF0aC1hcmcucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSA0MDk3MTkxMWQ2NTNiZjUzZGUyOTVkNzQ2MmM2NDNlNDA3MzkxNmI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9lIE1hY0RvbmFsZCA8am9lQGRlc2VydGVkLm5ldD4KK0RhdGU6IEZyaSwgMSBOb3YgMjAxMyAxMjo0NzoxOCAtMDQwMAorU3ViamVjdDogW1BBVENIXSBzeXN0ZW1kOiBhbGxvdyAtLXdpdGgtc3lzdGVtZCB0byB0YWtlIGEgcGF0aCBhcmcKKworSWYgYnVpbGRpbmcgZm9yIGEgY3Jvc3MtY29tcGlsZSBlbnZpcm9ubWVudCB3aXRoIHN5c3RlbWQgaXQgaXMgY29udmVuaWVudAordG8gYmUgYWJsZSB0byBzcGVjaWZ5IGEgc3lzdGVtZCBwYXRoIGZvciB0aGUgdGFyZ2V0IHRoYXQgbWF5IG5vdCBiZSB0aGUKK3NhbWUgYXMgdGhhdCBvbiB0aGUgaG9zdC4KKworVXBzdHJlYW0tc3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHA6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvYXV0b2ZzL21zZzAwNzQwLmh0bWxdCisKK1NpZ25lZC1vZmYtYnk6IEpvZSBNYWNEb25hbGQgPGpvZUBkZXNlcnRlZC5uZXQ+CistLS0KKyBhY2xvY2FsLm00IHwgICAxMCArKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2FjbG9jYWwubTQgYi9hY2xvY2FsLm00CitpbmRleCAzZTZmMjIzLi4xMDVlM2U5IDEwMDY0NAorLS0tIGEvYWNsb2NhbC5tNAorKysrIGIvYWNsb2NhbC5tNAorQEAgLTIyOSw4ICsyMjksMTAgQEAgZG5sIENoZWNrIHRoZSBsb2NhdGlvbiBvZiB0aGUgc3lzdGVtZCB1bml0IGZpbGVzIGRpcmVjdG9yeQorIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEFDX0RFRlVOKFtBRl9XSVRIX1NZU1RFTURdLAorIFtBQ19BUkdfV0lUSChzeXN0ZW1kLAorLVsgIC0td2l0aC1zeXN0ZW1kICAgICAgICAgaW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZSBpZiBzeXN0ZW1kIHVuaXQgZGlyZWN0b3J5CistCQkJICBpcyBmb3VuZCBvbiBzeXN0ZW1dLAorK1sgIC0td2l0aC1zeXN0ZW1kQDw6QD1zeXN0ZW1kZGlyQDo+QCAgaW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZS4gIElmICd5ZXMnCisrCQkJICBwcm9iZSB0aGUgc3lzdGVtIGZvciB1bml0IGRpcmVjdG9yeS4KKysJCQkgIElmIGEgcGF0aCBpcyBzcGVjaWZpZWQsIGFzc3VtZSB0aGF0CisrCQkJICBpcyBhIHZhbGlkIGluc3RhbGwgcGF0aC5dLAorIFtpZiB0ZXN0ICIkd2l0aHZhbCIgPSB5ZXM7IHRoZW4KKyAgIGlmIHRlc3QgLXogIiRzeXN0ZW1kZGlyIjsgdGhlbgorICAgICBBQ19NU0dfQ0hFQ0tJTkcoW2xvY2F0aW9uIG9mIHRoZSBzeXN0ZW1kIHVuaXQgZmlsZXMgZGlyZWN0b3J5XSkKK0BAIC0yNDcsNiArMjQ5LDEwIEBAIEFDX0RFRlVOKFtBRl9XSVRIX1NZU1RFTURdLAorICAgZWxzZQorICAgICBBQ19NU0dfUkVTVUxUKG5vdCBmb3VuZCkKKyAgIGZpCisrZWxzZQorKyBpZiB0ZXN0ICIkd2l0aHZhbCIgIT0gbm87IHRoZW4KKysgIHN5c3RlbWRkaXI9JHdpdGh2YWwKKysgZmkKKyBmaV0pCisgXSkKKyAKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvTWFrZWZpbGUucnVsZXMtY3Jvc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9NYWtlZmlsZS5ydWxlcy1jcm9zcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGM3MDk2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvTWFrZWZpbGUucnVsZXMtY3Jvc3MucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorSW5kZXg6IGF1dG9mcy01LjAuNy9NYWtlZmlsZS5ydWxlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGF1dG9mcy01LjAuNy5vcmlnL01ha2VmaWxlLnJ1bGVzCTIwMTItMDctMjQgMjM6MDU6MjYuMDAwMDAwMDAwIC0wNzAwCisrKysgYXV0b2ZzLTUuMC43L01ha2VmaWxlLnJ1bGVzCTIwMTItMTAtMjYgMDk6MjM6NDAuMjcwMjA0MjcwIC0wNzAwCitAQCAtMzQsMTQgKzM0LDE0IEBACisgZWxzZQorIENGTEFHUyAgICA/PSAtTzIgLVdhbGwKKyBMREZMQUdTICAgPSAtcworLVNUUklQICAgICA9IHN0cmlwIC0tc3RyaXAtZGVidWcKKytTVFJJUCAgICAgPSAke1RBUkdFVF9QUkVGSVh9c3RyaXAgLS1zdHJpcC1kZWJ1ZworIGVuZGlmCisgZW5kaWYKKyAKKy1DQyAgICAgICAgPSBnY2MKKy1DWFggICAgICAgPSBnKysKKytDQyAgICAgICAgPz0gJHtUQVJHRVRfUFJFRklYfWdjYworK0NYWCAgICAgICA/PSAke1RBUkdFVF9QUkVGSVh9ZysrCisgQ1hYRkxBR1MgID0gJChDRkxBR1MpCistTEQgICAgICAgID0gbGQKKytMRCAgICAgICAgPz0gJHtUQVJHRVRfUFJFRklYfWxkCisgU09MREZMQUdTID0gLXNoYXJlZAorIAorIENGTEFHUyArPSAtRF9SRUVOVFJBTlQgLURfRklMRV9PRkZTRVRfQklUUz02NApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYWRkLXRoZS1uZWVkZWQtc3RkYXJnLmgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9hZGQtdGhlLW5lZWRlZC1zdGRhcmcuaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGI5MDZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYWRkLXRoZS1uZWVkZWQtc3RkYXJnLmgucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorW1BBVENIXSBhZGQgdGhlIG5lZWRlZCBzdGRhcmcuaAorCitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgbGliL2RlZmF1bHRzLmMgfCAgICAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2xpYi9kZWZhdWx0cy5jIGIvbGliL2RlZmF1bHRzLmMKK2luZGV4IDJiMDNlYTIuLjU3MjhlNjcgMTAwNjQ0CistLS0gYS9saWIvZGVmYXVsdHMuYworKysrIGIvbGliL2RlZmF1bHRzLmMKK0BAIC0xNiw2ICsxNiw3IEBACisgCisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyAjaW5jbHVkZSA8Y3R5cGUuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2F1dG9mcy01LjAuNy1kby1ub3QtY2hlY2stZm9yLW1vZHByb2JlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWRvLW5vdC1jaGVjay1mb3ItbW9kcHJvYmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWY1YmU2YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2F1dG9mcy01LjAuNy1kby1ub3QtY2hlY2stZm9yLW1vZHByb2JlLnBhdGNoCkBAIC0wLDAgKzEsNzUgQEAKK0Rlc2NyaXB0aW9uOiBMb2FkaW5nIGF1dG9mcyBtb2R1bGUgaXMgI2lmZGVmJ2VkIGluIHRoZSBzb3VyY2UsIHNvCisgdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBmb3IgL3Byb2MgKHdoaWNoIGlzIG9ubHkgdXNlZAorIHRvIGxvYWQgbW9kdWxlKSBvciBtb2Rwcm9iZS4gIEJvdGggbW9kcHJvYmUgYW5kIC9wcm9jCisgYXJlIGFsd2F5cyBpbiB0aGUgZml4ZWQgbG9jYXRpb24gc28gdGhlcmUncyBubyBuZWVkIHRvCisgY2hlY2sgZm9yIHRoZXNlIHRvIHN0YXJ0IHdpdGguCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgWzFdCitbMV0gaHR0cDovL3d3dy5zcGluaWNzLm5ldC9saXN0cy9hdXRvZnMvbXNnMDAxMzkuaHRtbAorCitkaWZmIC11cnBOIGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCistLS0gYS9jb25maWd1cmUuaW4JMjAxMy0wMS0xNSAxMTozMDoyMi4wMDAwMDAwMDAgKzA4MDAKKysrKyBiL2NvbmZpZ3VyZS5pbgkyMDEzLTAxLTE1IDExOjMxOjQ1LjAwMDAwMDAwMCArMDgwMAorQEAgLTM0LDExICszNCw2IEBAIEFDX01TR19DSEVDS0lORyhbZm9yIGJpbmFyaWVzIGluXSkKKyBBQ19NU0dfUkVTVUxUKFskc2VhcmNocGF0aF0pCisgCisgIworLSMgTWFrZSBzdXJlIHdlIGhhdmUgIi9wcm9jIgorLSMKKy1BRl9MSU5VWF9QUk9DRlMoKQorLQorLSMKKyAjIExvY2F0aW9uIG9mIGluaXQuZCBkaXJlY3Rvcnk/CisgIworIEFGX0lOSVRfRCgpCitAQCAtMTQyLDcgKzEzNyw2IEBAIEFGX1BBVEhfSU5DTFVERShVTU9VTlQsIHVtb3VudCwgL2Jpbi91bW8KKyBBRl9QQVRIX0lOQ0xVREUoRTJGU0NLLCBmc2NrLmV4dDIgZTJmc2NrLCAsICRzZWFyY2hwYXRoKQorIEFGX1BBVEhfSU5DTFVERShFM0ZTQ0ssIGZzY2suZXh0MyBlM2ZzY2ssICwgJHNlYXJjaHBhdGgpCisgQUZfUEFUSF9JTkNMVURFKEU0RlNDSywgZnNjay5leHQ0IGU0ZnNjaywgLCAkc2VhcmNocGF0aCkKKy1BRl9QQVRIX0lOQ0xVREUoTU9EUFJPQkUsIG1vZHByb2JlLCAsICRzZWFyY2hwYXRoKQorIAorIEFGX0NIRUNLX1BST0coTEVYLCBmbGV4IGxleCwgLCAkc2VhcmNocGF0aCkKKyBBRl9DSEVDS19QUk9HKFlBQ0MsIGJpc29uLCAsICRzZWFyY2hwYXRoKQorZGlmZiAtdXJwTiBhL2RhZW1vbi9tb2R1bGUuYyBiL2RhZW1vbi9tb2R1bGUuYworLS0tIGEvZGFlbW9uL21vZHVsZS5jCTIwMTMtMDEtMTUgMTE6MzA6NDkuMDAwMDAwMDAwICswODAwCisrKysgYi9kYWVtb24vbW9kdWxlLmMJMjAxMy0wMS0xNSAxMTozMjowMC4wMDAwMDAwMDAgKzA4MDAKK0BAIC0xOCw2ICsxOCw4IEBACisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlICJhdXRvbW91bnQuaCIKKyAKKysjaWYgMAorKy8qIHNlZSBjb21tZW50IGluIGRhZW1vbi9hdXRvbW91bnQuYyBhcm91bmQgbG9hZF9hdXRvZnM0X21vZHVsZSgpIGNhbGwgKi8KKyBpbnQgbG9hZF9hdXRvZnM0X21vZHVsZSh2b2lkKQorIHsKKyAJRklMRSAqZnA7CitAQCAtNTIsNiArNTQsNyBAQCBpbnQgbG9hZF9hdXRvZnM0X21vZHVsZSh2b2lkKQorIAorIAlyZXR1cm4gMTsKKyB9CisrI2VuZGlmCisgCisgc3RydWN0IGxvb2t1cF9tb2QgKm9wZW5fbG9va3VwKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmVycl9wcmVmaXgsCisgCQkJICAgICAgIGNvbnN0IGNoYXIgKm1hcGZtdCwgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmNvbnN0ICphcmd2KQorZGlmZiAtdXJwTiBhL2luY2x1ZGUvYXV0b21vdW50LmggYi9pbmNsdWRlL2F1dG9tb3VudC5oCistLS0gYS9pbmNsdWRlL2F1dG9tb3VudC5oCTIwMTMtMDEtMTUgMTE6MzE6MTAuMDAwMDAwMDAwICswODAwCisrKysgYi9pbmNsdWRlL2F1dG9tb3VudC5oCTIwMTMtMDEtMTUgMTE6MzI6MDYuMDAwMDAwMDAwICswODAwCitAQCAtNTAsMTYgKzUwLDExIEBACisgI2Vycm9yIEZhaWxlZCB0byBsb2NhdGUgdW1vdW50KDgpIQorICNlbmRpZgorIAorLSNpZm5kZWYgSEFWRV9NT0RQUk9CRQorLSNlcnJvciBGYWlsZWQgdG8gbG9jYXRlIG1vZHByb2JlKDgpIQorLSNlbmRpZgorLQorLSNpZm5kZWYgSEFWRV9MSU5VWF9QUk9DRlMKKy0jZXJyb3IgRmFpbGVkIHRvIHZlcmlmeSBleGlzdGVuY2Ugb2YgcHJvY2ZzIGZpbGVzeXN0ZW0hCistI2VuZGlmCistCisrI2lmIDAKKysvKiBzZWUgY29tbWVudCBpbiBkYWVtb24vYXV0b21vdW50LmMgYXJvdW5kIGxvYWRfYXV0b2ZzNF9tb2R1bGUoKSBjYWxsICovCisgI2RlZmluZSBGU19NT0RVTEVfTkFNRSAgImF1dG9mczQiCisgaW50IGxvYWRfYXV0b2ZzNF9tb2R1bGUodm9pZCk7CisrI2VuZGlmCisgCisgLyogVGhlIC1zIChzbG9wcHkpIG9wdGlvbiB0byBtb3VudCBpcyBnb29kLCBpZiB3ZSBoYXZlIGl0Li4uICovCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9hdXRvZnMtNS4wLjctZml4LWxpYi1kZXBzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWZpeC1saWItZGVwcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWZlYTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWZpeC1saWItZGVwcy5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIDU0YTliZDI4YTMwN2RkNzRkZjA0NGQ3NzljYTg1YWRjZjM2YWEyMDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2UgTWFjRG9uYWxkIDxqb2UubWFjZG9uYWxkQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDE4IEp1biAyMDEzIDEwOjA1OjIxIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCB0aGUgZGVwZW5kZW5jeSBpc3N1ZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworYXV0b2ZzJ3MgbGliIHNvdXJjZXMgaGF2ZSBhIGRlcGVuZGVuY3kgb24gYSBudW1iZXIgb2YgZmlsZXMgdGhhdCBhcmUKK2dlbmVyYXRlZCBieSBycGNnZW4gZHVyaW5nIGJ1aWxkdGltZQorCitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2UubWFjZG9uYWxkQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWIvTWFrZWZpbGUgfCAgICAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2xpYi9NYWtlZmlsZSBiL2xpYi9NYWtlZmlsZQoraW5kZXggNTQxODAwOS4uYmZmNGUxZCAxMDA2NDQKKy0tLSBhL2xpYi9NYWtlZmlsZQorKysrIGIvbGliL01ha2VmaWxlCitAQCAtNzUsMyArNzUsNCBAQCBpbnN0YWxsOiBhbGwKKyBjbGVhbjoKKyAJcm0gLWYgJChMSUIpICQoUlBDUykgJChPQkpTKSAkKFlBQ0NTUkMpICoub3V0cHV0ICp+CisgCisrJChPQkpTKTogJChSUENTKQorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9hdXRvZnMtNS4wLjctaW5jbHVkZS1saW51eC1uZnMuaC1kaXJlY3RseS1pbi1ycGNfc3ViLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWluY2x1ZGUtbGludXgtbmZzLmgtZGlyZWN0bHktaW4tcnBjX3N1Yi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTg3ODk4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWluY2x1ZGUtbGludXgtbmZzLmgtZGlyZWN0bHktaW4tcnBjX3N1Yi5wYXRjaApAQCAtMCwwICsxLDMyIEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworRnJvbSA0NGJkY2U4YzZlZDliMzBjMTY0M2U1OTgxMTcyYTRmOTAyNWYwMTNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmVhcyBPYmVycml0dGVyIDxvYmlAb3BlbmRyZWFtYm94Lm9yZz4KK0RhdGU6IFdlZCwgMTMgTWFyIDIwMTMgMTY6MTc6MDggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXV0b2ZzLTUuMC43OiBpbmNsdWRlIGxpbnV4L25mcy5oIGRpcmVjdGx5IGluIHJwY19zdWJzLmgKKworRml4ZXMgY29tcGlsZSBlcnJvciB3aXRoIHVjbGliYy4gR2xpYmMncyBuZnMvbmZzLmggY29udGFpbnMKK25vdGhpbmcgYnV0ICIjaW5jbHVkZSBsaW51eC9uZnMuaCIuIHJwY19zdWJzLmggYWxyZWFkeSBpbmNsdWRlcworb3RoZXIgbGludXgvbmZzKi5oIGZpbGVzIGRpcmVjdGx5LgorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE9iZXJyaXR0ZXIgPG9iaUBvcGVuZHJlYW1ib3gub3JnPgorLS0tCisgaW5jbHVkZS9ycGNfc3Vicy5oIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ycGNfc3Vicy5oIGIvaW5jbHVkZS9ycGNfc3Vicy5oCitpbmRleCBiNmQ1OWY5Li5hMmQ5NjQ4IDEwMDY0NAorLS0tIGEvaW5jbHVkZS9ycGNfc3Vicy5oCisrKysgYi9pbmNsdWRlL3JwY19zdWJzLmgKK0BAIC0xOCw3ICsxOCw3IEBACisgCisgI2luY2x1ZGUgPHJwYy9ycGMuaD4KKyAjaW5jbHVkZSA8cnBjL3BtYXBfcHJvdC5oPgorLSNpbmNsdWRlIDxuZnMvbmZzLmg+CisrI2luY2x1ZGUgPGxpbnV4L25mcy5oPgorICNpbmNsdWRlIDxsaW51eC9uZnMyLmg+CisgI2luY2x1ZGUgPGxpbnV4L25mczMuaD4KKyAKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLWFkZGl0aW9uYWwtZGlzdHJvcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2F1dG9mcy1hZGRpdGlvbmFsLWRpc3Ryb3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmEzNTg0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2F1dG9mcy1hZGRpdGlvbmFsLWRpc3Ryb3MucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorLS0tIGF1dG9mcy00LjEuNC9zYW1wbGVzL3JjLmF1dG9mcy5pbn4JMjAwNS0wNC0xMSAwNjozMDo1NC4wMDAwMDAwMDAgLTA1MDAKKysrKyBhdXRvZnMtNC4xLjQvc2FtcGxlcy9yYy5hdXRvZnMuaW4JMjAwNy0wNC0wNyAxMzoxODo0NC4wMDAwMDAwMDAgLTA1MDAKK0BAIC00Myw2ICs0Myw5IEBACisgCXN5c3RlbT1kZWJpYW4KKyBlbGlmIFsgLWYgL2V0Yy9yZWRoYXQtcmVsZWFzZSBdOyB0aGVuCisgCXN5c3RlbT1yZWRoYXQKKytlbGlmIFsgLWYgL2V0Yy9pc3N1ZSBdICYmIGdyZXAgLXEgIl5TbHVnT1NcfFlvY3RvIiAvZXRjL2lzc3VlIDsgdGhlbgorKwkjIFNsdWdPUyBhbmQgWW9jdG8gYmVoYXZlIGxpa2UgRGViaWFuLCBhdCBsZWFzdCBmb3IgYXV0b2ZzIHB1cnBvc2VzLgorKwlzeXN0ZW09ZGViaWFuCisgZWxzZQorIAllY2hvICIkMDogVW5rbm93biBzeXN0ZW0sIHBsZWFzZSBwb3J0IGFuZCBjb250YWN0IGF1dG9mc0BsaW51eC5rZXJuZWwub3JnIiAxPiYyCisgCWV4aXQgMQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvY3Jvc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9jcm9zcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjFhZjYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvY3Jvc3MucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorSW5kZXg6IGF1dG9mcy01LjAuNy9hY2xvY2FsLm00Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYXV0b2ZzLTUuMC43Lm9yaWcvYWNsb2NhbC5tNAkyMDEyLTEwLTI4IDA0OjQ1OjA3LjAwMDAwMDAwMCAtMDcwMAorKysrIGF1dG9mcy01LjAuNy9hY2xvY2FsLm00CTIwMTItMTAtMjggMTA6NDc6NTMuMjYzOTk2OTEwIC0wNzAwCitAQCAtNyw2ICs3LDggQEAKKyBBQ19ERUZVTihBRl9QQVRIX0lOQ0xVREUsCisgW0FDX1BBVEhfUFJPR1MoJDEsJDIsJDMsJDQpCisgaWYgdGVzdCAtbiAiJCQxIjsgdGhlbgorKyAgQUhfVEVNUExBVEUoW0hBVkVfJDFdLCBbSGF2ZSAkMl0pCisrICBBSF9URU1QTEFURShbUEFUSF8kMV0sIFtIYXZlICQyXSkKKyAgIEFDX0RFRklORShIQVZFXyQxLDEsW2RlZmluZSBpZiB5b3UgaGF2ZSAkMV0pCisgICBBQ19ERUZJTkVfVU5RVU9URUQoUEFUSF8kMSwgIiQkMSIsIFtkZWZpbmUgaWYgeW91IGhhdmUgJDFdKQorICAgSEFWRV8kMT0xCitJbmRleDogYXV0b2ZzLTUuMC43L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGF1dG9mcy01LjAuNy5vcmlnL2NvbmZpZ3VyZS5pbgkyMDEyLTEwLTI4IDA0OjQ1OjA2LjAwMDAwMDAwMCAtMDcwMAorKysrIGF1dG9mcy01LjAuNy9jb25maWd1cmUuaW4JMjAxMi0xMC0yOCAxMDo1MDowNy41ODAwMDA2MjggLTA3MDAKK0BAIC0zMDEsMTMgKzMwMSwxNSBAQAorIGNhdCA+IHBpZXRlc3QuYyA8PEVPRgorIGludCBtYWluKHZvaWQpIHsgcmV0dXJuIDA7IH0KKyBFT0YKKytBRl90bXBfbGRmbGFncz0iJExERkxBR1MiCisrQUZfdG1wX2NmbGFncz0iJENGTEFHUyIKKyBDRkxBR1M9LWZQSUUKKyBMREZMQUdTPS1waWUKKyBEQUVNT05fQ0ZMQUdTPQorIERBRU1PTl9MREZMQUdTPQorIEFDX01TR19DSEVDS0lORyhbd2hldGhlciBnY2MgLWZQSUUgd29ya3NdKQorLUFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbW11dLCBbW2ludCBtYWluKHZvaWQpIHtyZXR1cm4gMDt9XV0pXSwKKy0JICAgICAgW2djY19zdXBwb3J0c19waWU9eWVzXSwgW2djY19zdXBwb3J0c19waWU9bm9dLCBbZ2NjX3N1cHBvcnRzX3BpZT1ub10pCisrQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbW11dLCBbW2ludCBtYWluKHZvaWQpIHtyZXR1cm4gMDt9XV0pXSwKKysJICAgICAgIFtnY2Nfc3VwcG9ydHNfcGllPXllc10sIFtnY2Nfc3VwcG9ydHNfcGllPW5vXSwgW2djY19zdXBwb3J0c19waWU9bm9dKQorIEFDX01TR19SRVNVTFQoWyRnY2Nfc3VwcG9ydHNfcGllXSkKKyBpZiB0ZXN0ICRnY2Nfc3VwcG9ydHNfcGllID0geWVzIDsgdGhlbgorIAlEQUVNT05fQ0ZMQUdTPSItZlBJRSIKK0BAIC0zMTYsNiArMzE4LDggQEAKKyBybSAtZiBwaWV0ZXN0LmMKKyBBQ19TVUJTVChEQUVNT05fQ0ZMQUdTKQorIEFDX1NVQlNUKERBRU1PTl9MREZMQUdTKQorK0NGTEFHUz0iJHtBRl90bXBfY2ZsYWdzfSIKKytMREZMQUdTPSIke0FGX3RtcF9sZGZsYWdzfSIKKyAKKyAjCisgIyBFbmFibGUgYWJpbGl0eSB0byBhY2Nlc3MgdmFsdWUgaW4gZXh0ZXJuYWwgZW52IHZhcmlhYmxlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9maXgtdGhlLVlBQ0MtcnVsZS10by1maXgtYS1idWlsZGluZy1mYWlsdXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvZml4LXRoZS1ZQUNDLXJ1bGUtdG8tZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjY0MTgzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvZml4LXRoZS1ZQUNDLXJ1bGUtdG8tZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaApAQCAtMCwwICsxLDYyIEBACitbUEFUQ0hdIGZpeCB0aGUgWUFDQyBydWxlIHRvIGZpeCBhIGJ1aWxkaW5nIGZhaWx1cmUKKworVXBzdHJlYW0tU3RhdHU6IFBlbmRpbmcKKworVGhlIG9yaWdpbmFsIHJ1bGUgd2lsbCBjcmVhdGUgdGhlIGhlYWRlciBmaWxlIHR3aWNlLCBvbmUgaXMgdGhhdCB0aGUgaGVhZGVyCitmaWxlIGFzIHRoZSBvYmplY3QgZmlsZSBpcyBjcmVhdGVkLCBvdGhlciB0aW1lIGlzIHdoZW4gY3JlYXRlIHRoZSBDIHNvdXJjZSBmaWxlLgorc2luY2UgWUFDQyBhbHdheXMgaGFzICItZCIgcGFyYW1ldGVyLgorCitUaGlzIGxlYWQgdG8gYSByYWNlIHdoZW4gY29tcGlsZSBhbWRfdG9rLm8sIHRoZSBoZWFkZXIgZmlsZSBtYXliZSByZXdyaXR0ZW4uCisgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIHxhbWRfdG9rLmw6MzU5OjEwOiBlcnJvcjogJ1JCUkFDS0VUJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKKyAgfCAgIikiIHsgcmV0dXJuIFJCUkFDS0VUOyB9CisgIHwgICAgICAgICAgXgorICB8Li4vTWFrZWZpbGUucnVsZXM6NjQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbWRfdG9rLm8nIGZhaWxlZAorICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgbGliL01ha2VmaWxlICAgICB8IDYgKysrKy0tCisgbW9kdWxlcy9NYWtlZmlsZSB8IDMgKystCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWIvTWFrZWZpbGUgYi9saWIvTWFrZWZpbGUKK2luZGV4IDQ3OThhNGIuLmM0MGNmODYgMTAwNjQ0CistLS0gYS9saWIvTWFrZWZpbGUKKysrKyBiL2xpYi9NYWtlZmlsZQorQEAgLTU3LDcgKzU3LDggQEAgbW91bnRfeGRyLm86IG1vdW50X3hkci5jCisgbWFzdGVyX3Rvay5jOiBtYXN0ZXJfdG9rLmwKKyAJJChMRVgpIC1vJEAgLVBtYXN0ZXJfICQ/CisgCistbWFzdGVyX3BhcnNlLnRhYi5jIG1hc3Rlcl9wYXJzZS50YWIuaDogbWFzdGVyX3BhcnNlLnkKKyttYXN0ZXJfcGFyc2UudGFiLmg6IG1hc3Rlcl9wYXJzZS50YWIuYworK21hc3Rlcl9wYXJzZS50YWIuYzogbWFzdGVyX3BhcnNlLnkKKyAJJChZQUNDKSAtdiAtZCAtcCBtYXN0ZXJfIC1iIG1hc3Rlcl9wYXJzZSAkPworIAorIG1hc3Rlcl90b2subzogbWFzdGVyX3Rvay5jIG1hc3Rlcl9wYXJzZS50YWIuaAorQEAgLTY3LDcgKzY4LDggQEAgbWFzdGVyX3BhcnNlLnRhYi5vOiBtYXN0ZXJfcGFyc2UudGFiLmMgbWFzdGVyX3BhcnNlLnRhYi5oCisgbnNzX3Rvay5jOiBuc3NfdG9rLmwKKyAJJChMRVgpIC1vJEAgLVBuc3NfICQ/CisgCistbnNzX3BhcnNlLnRhYi5jIG5zc19wYXJzZS50YWIuaDogbnNzX3BhcnNlLnkKKytuc3NfcGFyc2UudGFiLmg6IG5zc19wYXJzZS50YWIuYworK25zc19wYXJzZS50YWIuYzogbnNzX3BhcnNlLnkKKyAJJChZQUNDKSAtdiAtZCAtcCBuc3NfIC1iIG5zc19wYXJzZSAkPworIAorIG5zc190b2subzogbnNzX3Rvay5jIG5zc19wYXJzZS50YWIuaAorZGlmZiAtLWdpdCBhL21vZHVsZXMvTWFrZWZpbGUgYi9tb2R1bGVzL01ha2VmaWxlCitpbmRleCAyMzdiNzBiLi43MTQxNWQwIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9NYWtlZmlsZQorKysrIGIvbW9kdWxlcy9NYWtlZmlsZQorQEAgLTEwMyw3ICsxMDMsOCBAQCBhbWRfdG9rLmM6IGFtZF90b2subAorIAorIGFtZF90b2subzogYW1kX3Rvay5jIGFtZF9wYXJzZS50YWIuaAorIAorLWFtZF9wYXJzZS50YWIuYyBhbWRfcGFyc2UudGFiLmg6IGFtZF9wYXJzZS55CisrYW1kX3BhcnNlLnRhYi5oOiBhbWRfcGFyc2UudGFiLmMKKythbWRfcGFyc2UudGFiLmM6IGFtZF9wYXJzZS55CisgCSQoWUFDQykgLXYgLWQgLXAgYW1kXyAtYiBhbWRfcGFyc2UgJD8KKyAKKyBhbWRfcGFyc2UudGFiLm86IGFtZF9wYXJzZS50YWIuYyBhbWRfcGFyc2UudGFiLmgKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvZml4X2Rpc2FibGVfbGRhcC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2ZpeF9kaXNhYmxlX2xkYXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzFjODUxMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2ZpeF9kaXNhYmxlX2xkYXAucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorYXV0b2ZzOiBmYWlscyB0byBjb21waWxlIHdpdGggb3BlbmxkYXAgZGlzYWJsZWQKKworQXMgb2YgNS4wLjYsIGl0IGFwcGVhcnMgdGhhdCBjaGFuZ2VzIHdlcmUgaW50cm9kdWNlZCBzbyB0aGF0IAoraWYgeW91IGNvbXBpbGUgd2l0aCBvcGVubGRhcCBkaXNhYmxlZCBhbmQgb3BlbmxkYXAgaGVhZGVycyBhcmUgbm90CithdmFpbGFibGUsIHRoZW4gYXV0b2ZzIGZhaWxzIHRvIGJ1aWxkLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQW15IEZvbmcgPGFteS5mb25nQHdpbmRyaXZlci5jb20+CistLQorIGxvb2t1cF9sZGFwLmggfCAgICA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKKy0tLQorIGluY2x1ZGUvbG9va3VwX2xkYXAuaCB8ICAgIDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworLS0tIGEvaW5jbHVkZS9sb29rdXBfbGRhcC5oCisrKysgYi9pbmNsdWRlL2xvb2t1cF9sZGFwLmgKK0BAIC0xLDcgKzEsOSBAQAorICNpZm5kZWYgTE9PS1VQX0xEQVBfSAorICNkZWZpbmUgTE9PS1VQX0xEQVBfSAorIAorKyNpZmRlZiBXSVRIX0xEQVAKKyAjaW5jbHVkZSA8bGRhcC5oPgorKyNlbmRpZgorIAorICNpZmRlZiBXSVRIX1NBU0wKKyAjaW5jbHVkZSA8b3BlbnNzbC9zc2wuaD4KK0BAIC0xMDksMTAgKzExMSwxMiBAQAorIAorICNkZWZpbmUgTERBUF9BVVRIX1VTRVNJTVBMRQkweDAwMDgKKyAKKysjaWZkZWYgV0lUSF9MREFQCisgLyogbG9va3VwX2xkYXAuYyAqLworIExEQVAgKmluaXRfbGRhcF9jb25uZWN0aW9uKHVuc2lnbmVkIGxvZ29wdCwgY29uc3QgY2hhciAqdXJpLCBzdHJ1Y3QgbG9va3VwX2NvbnRleHQgKmN0eHQpOworIGludCB1bmJpbmRfbGRhcF9jb25uZWN0aW9uKHVuc2lnbmVkIGxvZ29wdCwgTERBUCAqbGRhcCwgc3RydWN0IGxvb2t1cF9jb250ZXh0ICpjdHh0KTsKKyBpbnQgYXV0aHR5cGVfcmVxdWlyZXNfY3JlZHMoY29uc3QgY2hhciAqYXV0aHR5cGUpOworKyNlbmRpZgorIAorICNpZmRlZiBXSVRIX1NBU0wKKyAvKiBjeXJ1cy1zYXNsLmMgKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2ZvcmNlLVNUUklQLXRvLWVtdHB5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvZm9yY2UtU1RSSVAtdG8tZW10cHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM0MDA1YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2ZvcmNlLVNUUklQLXRvLWVtdHB5LnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK1tQQVRDSF0gZm9yY2UgU1RSSVAgdG8gZW10cHkKKworb3RoZXJ3aXNlIHRoZSBnZW5lcmF0ZSBmaWxlIHdpbGwgYmUgc3RyaXBwZWQKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUucnVsZXMgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5ydWxlcyBiL01ha2VmaWxlLnJ1bGVzCitpbmRleCA3MTBhMmM5Li5lNDMzNGRiIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUucnVsZXMKKysrKyBiL01ha2VmaWxlLnJ1bGVzCitAQCAtMzEsNyArMzEsNyBAQCBMREZMQUdTICAgPz0gLXMKKyBlbmRpZgorIAorIGlmZGVmIERPTlRTVFJJUAorLVNUUklQICAgICA/PSA6CisrU1RSSVAgICAgID0gOgorIGVsc2UKKyBTVFJJUCAgICAgPz0gc3RyaXAgLS1zdHJpcC1kZWJ1ZworIGVuZGlmCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2xpYnRpcnBjLW5hbWUtY2xhc2gtYmFja291dC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2xpYnRpcnBjLW5hbWUtY2xhc2gtYmFja291dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTMwMjFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvbGlidGlycGMtbmFtZS1jbGFzaC1iYWNrb3V0LnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKKy0tLQorIGxpYi9ycGNfc3Vicy5jIHwgICAxMCAtLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL3JwY19zdWJzLmMgYi9saWIvcnBjX3N1YnMuYworaW5kZXggNWQ2ZWFkMC4uYzcxNzdmMiAxMDA2NDQKKy0tLSBhL2xpYi9ycGNfc3Vicy5jCisrKysgYi9saWIvcnBjX3N1YnMuYworQEAgLTM0LDE2ICszNCw2IEBACisgI2luY2x1ZGUgPHBvbGwuaD4KKyAKKyAjaWZkZWYgV0lUSF9MSUJUSVJQQworLSN1bmRlZiBhdXRoX2Rlc3Ryb3kKKy0jZGVmaW5lIGF1dGhfZGVzdHJveShhdXRoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAgICAgICAgICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWZzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHJlZnMgPSBhdXRoX3B1dCgoYXV0aCkpKSA9PSAwKSAgICAgICAgICAgICBcCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCooKGF1dGgpLT5haF9vcHMtPmFoX2Rlc3Ryb3kpKShhdXRoKSk7XAorLSAgICAgICAgICAgICAgICB9IHdoaWxlICgwKQorLSNlbmRpZgorLQorLSNpZmRlZiBXSVRIX0xJQlRJUlBDCisgY29uc3QgcnBjcHJvZ190IHJwY2JfcHJvZyA9IFJQQ0JQUk9HOworIGNvbnN0IHJwY3ZlcnNfdCBycGNiX3ZlcnNpb24gPSBSUENCVkVSUzsKKyAjZWxzZQorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9saWJ0aXJwYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2xpYnRpcnBjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ODk0NGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9saWJ0aXJwYy5wYXRjaApAQCAtMCwwICsxLDI2IEBACitJbmRleDogYXV0b2ZzLTUuMC43L2FjbG9jYWwubTQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhdXRvZnMtNS4wLjcub3JpZy9hY2xvY2FsLm00CTIwMTItMTAtMjggMTM6MTc6NDUuNTA0MjM3MDI3IC0wNzAwCisrKysgYXV0b2ZzLTUuMC43L2FjbG9jYWwubTQJMjAxMi0xMC0yOCAxMzoyMDo1MC4xMDgyNDI3MzkgLTA3MDAKK0BAIC00MDMsNyArNDAzLDcgQEAKKyAjIHNhdmUgY3VycmVudCBmbGFncworIGFmX2NoZWNrX2xpYnRpcnBjX3NhdmVfY2ZsYWdzPSIkQ0ZMQUdTIgorIGFmX2NoZWNrX2xpYnRpcnBjX3NhdmVfbGRmbGFncz0iJExERkxBR1MiCistQ0ZMQUdTPSIkQ0ZMQUdTIC1JL3Vzci9pbmNsdWRlL3RpcnBjIgorK0NGTEFHUz0iJENGTEFHUyAtST0vdXNyL2luY2x1ZGUvdGlycGMiCisgTERGTEFHUz0iJExERkxBR1MgLWx0aXJwYyIKKyAKKyBBQ19UUllfTElOSygKK0luZGV4OiBhdXRvZnMtNS4wLjcvTWFrZWZpbGUucnVsZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhdXRvZnMtNS4wLjcub3JpZy9NYWtlZmlsZS5ydWxlcwkyMDEyLTEwLTI4IDEzOjE3OjQ1LjMwODIzNzAyMiAtMDcwMAorKysrIGF1dG9mcy01LjAuNy9NYWtlZmlsZS5ydWxlcwkyMDEyLTEwLTI4IDEzOjIxOjI1LjcyMDI0MjgwMyAtMDcwMAorQEAgLTQ4LDcgKzQ4LDcgQEAKKyBMSUJTICs9IC1scHRocmVhZAorIAorIGlmZGVmIFRJUlBDTElCCistQ0ZMQUdTICs9IC1JL3Vzci9pbmNsdWRlL3RpcnBjCisrQ0ZMQUdTICs9IC1JPS91c3IvaW5jbHVkZS90aXJwYworIExJQlMgKz0gJChUSVJQQ0xJQikKKyBlbmRpZgorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvbm8tYmFzaC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL25vLWJhc2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YwMzYzNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL25vLWJhc2gucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorSW5kZXg6IGF1dG9mcy01LjAuNy9zYW1wbGVzL2F1dG8ubmV0Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYXV0b2ZzLTUuMC43Lm9yaWcvc2FtcGxlcy9hdXRvLm5ldAkyMDEyLTA3LTI0IDIzOjA1OjI2LjAwMDAwMDAwMCAtMDcwMAorKysrIGF1dG9mcy01LjAuNy9zYW1wbGVzL2F1dG8ubmV0CTIwMTItMTAtMjggMTA6NDQ6MjUuMDM1OTkxNzE1IC0wNzAwCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorIAorICMgVGhpcyBmaWxlIG11c3QgYmUgZXhlY3V0YWJsZSB0byB3b3JrISBjaG1vZCA3NTUhCisgCitJbmRleDogYXV0b2ZzLTUuMC43L3NhbXBsZXMvYXV0by5zbWIKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhdXRvZnMtNS4wLjcub3JpZy9zYW1wbGVzL2F1dG8uc21iCTIwMTItMDctMjQgMjM6MDU6MjYuMDAwMDAwMDAwIC0wNzAwCisrKysgYXV0b2ZzLTUuMC43L3NhbXBsZXMvYXV0by5zbWIJMjAxMi0xMC0yOCAxMDo0NDoyNS4wMzU5OTE3MTUgLTA3MDAKK0BAIC0xLDQgKzEsNCBAQAorLSMhL2Jpbi9iYXNoCisrIyEvYmluL3NoCisgCisgIyBUaGlzIGZpbGUgbXVzdCBiZSBleGVjdXRhYmxlIHRvIHdvcmshIGNobW9kIDc1NSEKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3JlbW92ZS1iYXNoaXNtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvcmVtb3ZlLWJhc2hpc20ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjgyZDZmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3JlbW92ZS1iYXNoaXNtLnBhdGNoCkBAIC0wLDAgKzEsMTIwIEBACitGcm9tIDc5MDM0Zjk2OWJiZDEyMjE1ZDY1YjQzMzdkZmQzOGExM2QwMmQ0ZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFNhdCwgMTMgU2VwIDIwMTQgMjA6MTk6MjggLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gYXV0b2ZzLmluaXQuaW46IHJlbW92ZSBiYXNoaXNtCisKK0l0IGNhbiB3b3JrIHdpdGhvdXQgdGhlIGJhc2hpc20uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNaWtlIExvb2lqbWFucyA8bWlrZS5sb29pam1hbnNAdG9waWMubmw+CitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIHJlZGhhdC9hdXRvZnMuaW5pdC5pbiB8ICAgMTIgKysrKysrLS0tLS0tCisgc2FtcGxlcy9yYy5hdXRvZnMuaW4gIHwgICAxMCArKysrKy0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3JlZGhhdC9hdXRvZnMuaW5pdC5pbiBiL3JlZGhhdC9hdXRvZnMuaW5pdC5pbgoraW5kZXggOWQwMDhmZi4uNGYxYzBkOCAxMDA2NDQKKy0tLSBhL3JlZGhhdC9hdXRvZnMuaW5pdC5pbgorKysrIGIvcmVkaGF0L2F1dG9mcy5pbml0LmluCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorICMKKyAjIHJjIGZpbGUgZm9yIGF1dG9tb3VudCB1c2luZyBhIFN1bi1zdHlsZSAibWFzdGVyIG1hcCIuCisgIworQEAgLTQyLDcgKzQyLDcgQEAgaWYgWyAtciAkY29uZmRpci9hdXRvZnMgXTsgdGhlbgorIAkuICRjb25mZGlyL2F1dG9mcworIGZpCisgCistZnVuY3Rpb24gc3RhcnQoKSB7Cisrc3RhcnQoKSB7CisgCSMgTWFrZSBzdXJlIGF1dG9mczQgbW9kdWxlIGlzIGxvYWRlZAorIAlpZiAhIGdyZXAgLXEgYXV0b2ZzIC9wcm9jL2ZpbGVzeXN0ZW1zCisgCXRoZW4KK0BAIC0xMDIsNyArMTAyLDcgQEAgZnVuY3Rpb24gc3RhcnQoKSB7CisgCXJldHVybiAkUkVUVkFMCisgfQorIAorLWZ1bmN0aW9uIHN0b3AoKSB7Cisrc3RvcCgpIHsKKyAJZWNobyAtbiAkIlN0b3BwaW5nICRwcm9nOiAiCisgCWNvdW50PTAKKyAJd2hpbGUgWyAtbiAiYHBpZG9mICRwcm9nYCIgLWEgJGNvdW50IC1sdCAxNSBdIDsgZG8KK0BAIC0xMjUsNyArMTI1LDcgQEAgZnVuY3Rpb24gc3RvcCgpIHsKKyAJcmV0dXJuICRSRVRWQUwKKyB9CisgCistZnVuY3Rpb24gcmVzdGFydCgpIHsKKytyZXN0YXJ0KCkgeworIAlzdGF0dXMgYXV0b2ZzID4gL2Rldi9udWxsIDI+JjEKKyAJaWYgWyAkPyAtZXEgMCBdOyB0aGVuCisgCQlzdG9wCitAQCAtMTQzLDcgKzE0Myw3IEBAIGZ1bmN0aW9uIHJlc3RhcnQoKSB7CisgCXN0YXJ0CisgfQorIAorLWZ1bmN0aW9uIHJlbG9hZCgpIHsKKytyZWxvYWQoKSB7CisgCWlmIFsgISAtZiAvdmFyL2xvY2svc3Vic3lzL2F1dG9mcyBdOyB0aGVuCisgCQllY2hvICQiJHByb2cgbm90IHJ1bm5pbmciCisgCQlSRVRWQUw9MQorQEAgLTE2MSw3ICsxNjEsNyBAQCBmdW5jdGlvbiByZWxvYWQoKSB7CisgCXJldHVybiAkUkVUVkFMCisgfQorIAorLWZ1bmN0aW9uIHVzYWdlX21lc3NhZ2UoKSB7CisrdXNhZ2VfbWVzc2FnZSgpIHsKKyAJZWNobyAkIlVzYWdlOiAkMCB7c3RhcnR8Zm9yY2VzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0fGZvcmNlLXJlbG9hZHxmb3JjZXJlc3RhcnR8cmVsb2FkfGNvbmRyZXN0YXJ0fHRyeS1yZXN0YXJ0fHVzYWdlfSIKKyB9CisgCitkaWZmIC0tZ2l0IGEvc2FtcGxlcy9yYy5hdXRvZnMuaW4gYi9zYW1wbGVzL3JjLmF1dG9mcy5pbgoraW5kZXggNDg3NjY5Zi4uZTk2Y2RlMSAxMDA2NDQKKy0tLSBhL3NhbXBsZXMvcmMuYXV0b2ZzLmluCisrKysgYi9zYW1wbGVzL3JjLmF1dG9mcy5pbgorQEAgLTEsNCArMSw0IEBACistIyEvYmluL2Jhc2gKKysjIS9iaW4vc2gKKyAjCisgIyByYyBmaWxlIGZvciBhdXRvbW91bnQgdXNpbmcgYSBTdW4tc3R5bGUgIm1hc3RlciBtYXAiLgorICMKK0BAIC0zNiw3ICszNiw3IEBAIGlmIFsgLXIgJGNvbmZkaXIvYXV0b2ZzIF07IHRoZW4KKyAJLiAkY29uZmRpci9hdXRvZnMKKyBmaQorIAorLWZ1bmN0aW9uIHN0YXJ0KCkgeworK3N0YXJ0KCkgeworIAllY2hvIC1uICJTdGFydGluZyAkcHJvZzogIgorIAorIAkjIE1ha2Ugc3VyZSBhdXRvZnM0IG1vZHVsZSBpcyBsb2FkZWQKK0BAIC04NSw3ICs4NSw3IEBAIGZ1bmN0aW9uIHN0YXJ0KCkgeworIAlyZXR1cm4gJFJFVFZBTAorIH0KKyAKKy1mdW5jdGlvbiBzdG9wKCkgeworK3N0b3AoKSB7CisgCWVjaG8gLW4gJCJTdG9wcGluZyAkcHJvZzogIgorIAljb3VudD0wCisgCXdoaWxlIFsgLW4gImBwaWRvZiAkcHJvZ2AiIC1hICRjb3VudCAtbHQgMTUgXSA7IGRvCitAQCAtMTAyLDcgKzEwMiw3IEBAIGZ1bmN0aW9uIHN0b3AoKSB7CisgCXJldHVybiAkUkVUVkFMCisgfQorIAorLWZ1bmN0aW9uIHJlc3RhcnQoKSB7CisrcmVzdGFydCgpIHsKKyAJc3RvcAorIAl3aGlsZSBbIC1uICJgcGlkb2YgJHByb2dgIiBdIDsgZG8KKyAJCXNsZWVwIDUKK0BAIC0xMTAsNyArMTEwLDcgQEAgZnVuY3Rpb24gcmVzdGFydCgpIHsKKyAJc3RhcnQKKyB9CisgCistZnVuY3Rpb24gcmVsb2FkKCkgeworK3JlbG9hZCgpIHsKKyAJcGlkPWBwaWRvZiAkcHJvZ2AKKyAJaWYgWyAteiAkcGlkIF07IHRoZW4KKyAJCWVjaG8gJCIkcHJvZyBub3QgcnVubmluZyIKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy91c2luZy1wa2ctY29uZmlnLXRvLWRldGVjdC1saWJ4bWwtMi4wLWFuZC1rcmI1LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvdXNpbmctcGtnLWNvbmZpZy10by1kZXRlY3QtbGlieG1sLTIuMC1hbmQta3JiNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2I3NmJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvdXNpbmctcGtnLWNvbmZpZy10by1kZXRlY3QtbGlieG1sLTIuMC1hbmQta3JiNS5wYXRjaApAQCAtMCwwICsxLDM5IEBACit1c2luZyBwa2ctY29uZmlnIHRvIGRldGVjdCBsaWJ4bWwtMi4wIGFuZCBrcmI1CisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuaW4gfCAgIDE2ICsrKysrKysrKysrKysrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IDM5MmQxMjIuLmEzMDI4YWEgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTE2Miw4ICsxNjIsMjAgQEAgaWYgdGVzdCB4JGVuYWJsZV9zbG9wcHlfbW91bnQgPSB4eWVzOyB0aGVuCisgZmkKKyAKKyAjIExEQVAgU0FTTCBhdXRoIG5lZWRzIGxpYnhtbCBhbmQgS2VyYmVyb3MKKy1BRl9DSEVDS19MSUJYTUwoKQorLUFGX0NIRUNLX0tSQjUoKQorK1BLR19DSEVDS19NT0RVTEVTKFhNTCwgW2xpYnhtbC0yLjBdLEhBVkVfTElCWE1MPTEsSEFWRV9MSUJYTUw9MCkKKytBQ19TVUJTVChbSEFWRV9MSUJYTUxdKQorK1hNTF9GTEFHUz0kWE1MX0NGTEFHUworKworK1BLR19DSEVDS19NT0RVTEVTKEtSQjUsIFtrcmI1XSxIQVZFX0tSQjU9MSxIQVZFX0tSQjU9MCkKKytBQ19TVUJTVChbSEFWRV9LUkI1XSkKKytpZiB0ZXN0ICJ4JEhBVkVfS1JCNSIgPSAieDEiOyB0aGVuCisrICBTQVZFX0NGTEFHUz0kQ0ZMQUdTCisrICBTQVZFX0xJQlM9JExJQlMKKysgIENGTEFHUz0iJENGTEFHUyAkS1JCNV9GTEFHUyIKKysgIExJQlM9IiRMSUJTICRLUkI1X0xJQlMiCisrCisrICBBQ19DSEVDS19GVU5DUyhba3JiNV9wcmluY2lwYWxfZ2V0X3JlYWxtXSkKKytmaQorIAorIEFDX1NFQVJDSF9MSUJTKFt2ZXJzaW9uc29ydF0sW10pCisgaWYgdGVzdCAiJGFjX2N2X3NlYXJjaF92ZXJzaW9uc29ydCIgPSAibm8iOyB0aGVuCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzXzUuMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnNfNS4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY0YzI0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzXzUuMS4xLmJiCkBAIC0wLDAgKzEsNzIgQEAKK1NVTU1BUlkgPSAiS2VybmVsIGJhc2VkIGF1dG9tb3VudGVyIGZvciBsaW51eCIKK1NFQ1RJT04gPSAidXRpbHMiCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKKworREVQRU5EUyArPSAibGlidGlycGMgZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgc3lzdGVtZAorCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvZGFlbW9ucy9hdXRvZnMvdjUvYXV0b2ZzLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9hdXRvZnMtNS4wLjctaW5jbHVkZS1saW51eC1uZnMuaC1kaXJlY3RseS1pbi1ycGNfc3ViLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25vLWJhc2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbGlidGlycGMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbGlidGlycGMtbmFtZS1jbGFzaC1iYWNrb3V0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2F1dG9mcy01LjAuNy1kby1ub3QtY2hlY2stZm9yLW1vZHByb2JlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeF9kaXNhYmxlX2xkYXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXV0b2ZzLTUuMC43LWZpeC1saWItZGVwcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hZGQtdGhlLW5lZWRlZC1zdGRhcmcuaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly91c2luZy1wa2ctY29uZmlnLXRvLWRldGVjdC1saWJ4bWwtMi4wLWFuZC1rcmI1LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZvcmNlLVNUUklQLXRvLWVtdHB5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZS1iYXNoaXNtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC10aGUtWUFDQy1ydWxlLXRvLWZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTE0M2RmNjZiNjE0YjhjZGIxZmY1MzM3MzVmOGUxMmQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzk1NDE5MzgzYjEyMGQxNTY5OWFiM2I4OWVhMGYzZDAyOWY2ZmIyODQwNWE4Mzk4MmQzMDVjNGI3YjYxMTMwZiIKKworaW5oZXJpdCB1cGRhdGUtcmMuZCBwa2djb25maWcKKworSU5JVFNDUklQVF9OQU1FID0gImF1dG9mcyIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCisjIEZJWE1FOiBtb2R1bGVzL01ha2VmaWxlIGhhcyBjcmFwcHkgcnVsZXMgdGhhdCBkb24ndCBvYmV5IExERkxBR1MKK0NGTEFHUyArPSAiJHtMREZMQUdTfSIKKworUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZD0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLC0td2l0aG91dC1zeXN0ZW1kLHN5c3RlbWQiCisKK1BBQ0tBR0VDT05GSUcgPz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IgorCitFWFRSQV9PRU1BS0UgPSAiRE9OVFNUUklQPTEiCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1tb3VudC1sb2NraW5nIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1pZ25vcmUtYnVzeSAtLXdpdGgtb3BlbmxkYXA9bm8gXAorICAgICAgICAgICAgICAgIC0td2l0aC1zYXNsPW5vIC0td2l0aC1saWJ0aXJwYz15ZXMgXAorICAgICAgICAgICAgICAgIC0td2l0aC1wYXRoPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfSBcCisiCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICJhY19jdl9wYXRoX1JBTkxJQj0ke1JBTkxJQn0gXAorICAgICAgICAgICAgICAgICAgICAgICAgYWNfY3ZfcGF0aF9SUENHRU49cnBjZ2VuIFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIHNlZCAtZSAiczpmaWxhZ2RpcjpmbGFnZGlyOiIgLWkgY29uZmlndXJlLmluCisgICAgaWYgWyAhIC1lIGFjaW5jbHVkZS5tNCBdOyB0aGVuCisgICAgICAgIGNwIGFjbG9jYWwubTQgYWNpbmNsdWRlLm00CisgICAgZmkKK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGlmIFsgLWQgJHtEfS9ydW4gXTsgdGhlbgorCXJtZGlyICR7RH0vcnVuCisgICAgZmkKKyAgICBpZiBbIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biBdOyB0aGVuCisJcm1kaXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCisgICAgZmkKK30KKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImF1dG9mcy5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2N5cnVzLXNhc2wvY3lydXMtc2FzbC9GaXgtaGFyZGNvZGVkLWxpYmRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvRml4LWhhcmRjb2RlZC1saWJkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ZhODQzMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvRml4LWhhcmRjb2RlZC1saWJkaXIucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorRml4IGhhcmRjb2RlZCBsaWJkaXIuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZyAKKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgcGx1Z2lucy9NYWtlZmlsZS5hbSB8ICAgIDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3BsdWdpbnMvTWFrZWZpbGUuYW0gYi9wbHVnaW5zL01ha2VmaWxlLmFtCitpbmRleCBiMDA5MTVmLi4yNTI2MmExIDEwMDY0NAorLS0tIGEvcGx1Z2lucy9NYWtlZmlsZS5hbQorKysrIGIvcGx1Z2lucy9NYWtlZmlsZS5hbQorQEAgLTYyLDcgKzYyLDcgQEAgcGx1Z2luZGlyID0gQHBsdWdpbmRpckAKKyAKKyBjb21tb25fc291cmNlcyA9IHBsdWdpbl9jb21tb24uYyBwbHVnaW5fY29tbW9uLmgKKyAKKy1zYXNsZGlyID0gJChwcmVmaXgpL2xpYi9zYXNsMgorK3Nhc2xkaXIgPSAkKGxpYmRpcikvc2FzbDIKKyBzYXNsX0xUTElCUkFSSUVTID0gQFNBU0xfTUVDSFNACisgRVhUUkFfTFRMSUJSQVJJRVMgPSBsaWJwbGFpbi5sYSBsaWJhbm9ueW1vdXMubGEgbGlia2VyYmVyb3M0LmxhIGxpYmNyYW1tZDUubGEgXAorIAlsaWJnczIubGEgbGliZ3NzYXBpdjIubGEgbGliZGlnZXN0bWQ1LmxhIGxpYmxvZ2luLmxhIGxpYnNycC5sYSBsaWJvdHAubGEgXAorLS0gCisxLjcuNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvYXZvaWQtdG8tY2FsbC1BQ19UUllfUlVOLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2N5cnVzLXNhc2wvY3lydXMtc2FzbC9hdm9pZC10by1jYWxsLUFDX1RSWV9SVU4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQwNzcyMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvYXZvaWQtdG8tY2FsbC1BQ19UUllfUlVOLnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKK0F2b2lkIHRvIGNhbGwgQUNfVFJZX1JVTgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0F2b2lkIHRvIGNhbGwgQUNfVFJZX1JVTiB0byBjaGVjayBpZiBHU1NBUEkgbGlicmFyaWVzIHN1cHBvcnQgU1BORUdPCitvbiBjcm9zcy1jb21waWxlIGVudmlyb25tZW50IGJ5IGRlZmluaXRpb24gQUNfQVJHX0VOQUJMRSBlbmFibGUtc3BuZWdvCisKK1NpZ25lZC1vZmYtYnk6IFJveS5MaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNtdWxvY2FsL3Nhc2wyLm00IHwgICAxMyArKysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NtdWxvY2FsL3Nhc2wyLm00IGIvY211bG9jYWwvc2FzbDIubTQKK2luZGV4IDNjMjg0MWEuLmE1ZWNmODEgMTAwNjQ0CistLS0gYS9jbXVsb2NhbC9zYXNsMi5tNAorKysrIGIvY211bG9jYWwvc2FzbDIubTQKK0BAIC0yODEsNiArMjgxLDE3IEBAIGlmIHRlc3QgIiRnc3NhcGkiICE9IG5vOyB0aGVuCisgCisgICBjbXVfc2F2ZV9MSUJTPSIkTElCUyIKKyAgIExJQlM9IiRMSUJTICRHU1NBUElCQVNFX0xJQlMiCisrICBBQ19BUkdfRU5BQkxFKFtzcG5lZ29dLAorKyAgICAgICAgICAgICAgW0FDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zcG5lZ289PERJUj5dLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGUgU1BORUdPIHN1cHBvcnQgaW4gR1NTQVBJIGxpYnJhcmllcyBbbm9dXSldLAorKyAgICAgICAgICAgICAgW3NwbmVnbz0kZW5hYmxldmFsXSwKKysgICAgICAgICAgICAgIFtzcG5lZ289bm9dKQorKworKyAgaWYgdGVzdCAiJHNwbmVnbyIgPSBubzsgdGhlbgorKyAgICAgICBlY2hvICJubyIKKysgIGVsaWYgdGVzdCAiJHNwbmVnbyIgPSB5ZXM7IHRoZW4KKysgICAgICAgQUNfREVGSU5FKEhBVkVfR1NTX1NQTkVHTywsW0RlZmluZSBpZiB5b3VyIEdTU0FQSSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBTUE5FR09dKQorKyAgZWxzZQorICAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgU1BORUdPIHN1cHBvcnQgaW4gR1NTQVBJIGxpYnJhcmllc10pCisgICBBQ19UUllfUlVOKFsKKyAjaWZkZWYgSEFWRV9HU1NBUElfSAorQEAgLTMwOCw3ICszMTksNyBAQCBpbnQgbWFpbih2b2lkKQorIAlBQ19NU0dfUkVTVUxUKHllcykgXSwKKyAJQUNfTVNHX1JFU1VMVChubykpCisgICBMSUJTPSIkY211X3NhdmVfTElCUyIKKy0KKysgICBmaQorIGVsc2UKKyAgIEFDX01TR19SRVNVTFQoW2Rpc2FibGVkXSkKKyBmaQorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsL2RlYmlhbl9wYXRjaGVzXzAwMDlfc2FzbGRiX2FsLmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsL2RlYmlhbl9wYXRjaGVzXzAwMDlfc2FzbGRiX2FsLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGVmZjVhOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvZGViaWFuX3BhdGNoZXNfMDAwOV9zYXNsZGJfYWwuZGlmZgpAQCAtMCwwICsxLDE0IEBACitBdXRob3I6IEZhYmlhbiBGYWdlcmhvbG0gPGZhYmJlQGRlYmlhbi5vcmc+CitEZXNjcmlwdGlvbjogRml4IGxpbmtpbmcgd2l0aCBsaWJzYXNsZGIuYSB3aGVuIHNhc2xhdXRoZCBpcyBidWlsdCB3aXRoIHNhc2xkYgorc3VwcG9ydC4KKy0tLSBhL3Nhc2xhdXRoZC9jb25maWd1cmUuaW4KKysrKyBiL3Nhc2xhdXRoZC9jb25maWd1cmUuaW4KK0BAIC03Nyw3ICs3Nyw3IEBAIGlmIHRlc3QgIiRhdXRoc2FzbGRiIiAhPSBubzsgdGhlbgorICAgQUNfREVGSU5FKEFVVEhfU0FTTERCLFtdLFtJbmNsdWRlIFNBU0xkYiBTdXBwb3J0XSkKKyAgIFNBU0xfREJfUEFUSF9DSEVDSygpCisgICBTQVNMX0RCX0NIRUNLKCkKKy0gIFNBU0xfREJfTElCPSIkU0FTTF9EQl9MSUIgLi4vc2FzbGRiLy5saWJzL2xpYnNhc2xkYi5hbCIKKysgIFNBU0xfREJfTElCPSIkU0FTTF9EQl9MSUIgLi4vc2FzbGRiLy5saWJzL2xpYnNhc2xkYi5hIgorIGZpCisgCisgQUNfQVJHX0VOQUJMRShodHRwZm9ybSwgWyAgLS1lbmFibGUtaHR0cGZvcm0gICAgICAgZW5hYmxlIEhUVFAgZm9ybSBhdXRoZW50aWNhdGlvbiBbW25vXV0gXSwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvZGViaWFuX3BhdGNoZXNfMDAxNF9hdm9pZF9waWNfb3ZlcndyaXRlLmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsL2RlYmlhbl9wYXRjaGVzXzAwMTRfYXZvaWRfcGljX292ZXJ3cml0ZS5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlNWIxNzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsL2RlYmlhbl9wYXRjaGVzXzAwMTRfYXZvaWRfcGljX292ZXJ3cml0ZS5kaWZmCkBAIC0wLDAgKzEsMjcgQEAKK0F1dGhvcjogRmFiaWFuIEZhZ2VyaG9sbSA8ZmFiYmVAZGViaWFuLm9yZz4KK0Rlc2NyaXB0aW9uOiBUaGlzIHBhdGNoIG1ha2VzIHN1cmUgdGhlIG5vbi1QSUMgdmVyc2lvbiBvZiBsaWJzYXNsZGIuYSwgd2hpY2gKK2lzIGNyZWF0ZWQgb3V0IG9mIG5vbi1QSUMgb2JqZWN0cywgaXMgbm90IGdvaW5nIHRvIG92ZXJ3cml0ZSB0aGUgUElDIHZlcnNpb24sCit3aGljaCBpcyBjcmVhdGVkIG91dCBvZiBQSUMgb2JqZWN0cy4gVGhlIFBJQyB2ZXJzaW9uIGlzIHBsYWNlZCBpbiAubGlicywgYW5kCit0aGUgbm9uLVBJQyB2ZXJzaW9uIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gIFRoaXMgZW5zdXJlcyB0aGF0IGJvdGggbm9uLVBJQworYW5kIFBJQyB2ZXJzaW9ucyBhcmUgYXZhaWxhYmxlIGluIHRoZSBjb3JyZWN0IGxvY2F0aW9ucy4KKy0tLSBhL2xpYi9NYWtlZmlsZS5hbQorKysrIGIvbGliL01ha2VmaWxlLmFtCitAQCAtNzgsNyArNzgsNyBAQCBlbmRpZgorIAorIGxpYnNhc2wyLmE6IGxpYnNhc2wyLmxhICQoU0FTTF9TVEFUSUNfT0JKUykKKyAJQGVjaG8gYWRkaW5nIHN0YXRpYyBwbHVnaW5zIGFuZCBkZXBlbmRlbmNpZXMKKy0JJChBUikgY3J1IC5saWJzLyRAICQoU0FTTF9TVEFUSUNfT0JKUykKKysJJChBUikgY3J1ICRAICQoU0FTTF9TVEFUSUNfT0JKUykKKyAJQGZvciBpIGluIC4vbGlic2FzbDIubGEgLi4vc2FzbGRiL2xpYnNhc2xkYi5sYSAuLi9wbHVnaW5zL2xpYioubGE7IGRvIFwKKyAJaWYgdGVzdCAhIC1mICQkaTsgdGhlbiBjb250aW51ZTsgZmk7IC4gJCRpOyBcCisgCWZvciBqIGluICQkZGVwZW5kZW5jeV9saWJzIGZvbzsgZG8gXAorLS0tIGEvc2FzbGRiL01ha2VmaWxlLmFtCisrKysgYi9zYXNsZGIvTWFrZWZpbGUuYW0KK0BAIC02Myw2ICs2Myw2IEBAIGxpYnNhc2xkYl9hX1NPVVJDRVMgPQorIEVYVFJBX2xpYnNhc2xkYl9hX1NPVVJDRVMgPQorIAorIGxpYnNhc2xkYi5hOiBsaWJzYXNsZGIubGEgJChTQVNMX0RCX0JBQ0tFTkRfU1RBVElDKQorLQkkKEFSKSBjcnUgLmxpYnMvJEAgJChTQVNMX0RCX0JBQ0tFTkRfU1RBVElDKQorKwkkKEFSKSBjcnUgJEAgJChTQVNMX0RCX0JBQ0tFTkRfU1RBVElDKQorIAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2N5cnVzLXNhc2wvY3lydXMtc2FzbC9zYXNsLmgtaW5jbHVkZS1zdGRkZWYuaC1mb3Itc2l6ZV90LW9uLU5ldEJTRC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvc2FzbC5oLWluY2x1ZGUtc3RkZGVmLmgtZm9yLXNpemVfdC1vbi1OZXRCU0QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNiYWI4NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvc2FzbC5oLWluY2x1ZGUtc3RkZGVmLmgtZm9yLXNpemVfdC1vbi1OZXRCU0QucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA5MmQ3Mjc4OWM4MTFiMGQ1NWY2MjRhOGJhYzVjY2M0NDEyZjU5OTZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2VuIE11cmNoaXNvbiA8bXVyY2hAYW5kcmV3LmNtdS5lZHU+CitEYXRlOiBUaHUsIDIwIERlYyAyMDEyIDE4OjE0OjUwIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIHNhc2wuaDogI2luY2x1ZGUgPHN0ZGRlZi5oPiBmb3Igc2l6ZV90IG9uIE5ldEJTRAorCitUaGlzIHBhdGNoIHdhcyBpbXBvcnRlZCBmcm9tIGdpdDovL2dpdC5jeXJ1c2ltYXAub3JnL2N5cnVzLXNhc2wKK2NvbW1pdCA2N2ExODg2OTM3OTZhMTRlM2E3NmFjNjAzMTA0ODA3ZmJiZmRkZmM0CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogTWFyayBBc3NlbHN0aW5lIDxtYXJrLmFzc2Vsc3RpbmVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGluY2x1ZGUvc2FzbC5oIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2luY2x1ZGUvc2FzbC5oIGIvaW5jbHVkZS9zYXNsLmgKK2luZGV4IGZlZjRkNTEuLjhiOGE2M2YgMTAwNzU1CistLS0gYS9pbmNsdWRlL3Nhc2wuaAorKysrIGIvaW5jbHVkZS9zYXNsLmgKK0BAIC0xMjEsNiArMTIxLDggQEAKKyAjaWZuZGVmIFNBU0xfSAorICNkZWZpbmUgU0FTTF9IIDEKKyAKKysjaW5jbHVkZSA8c3RkZGVmLmg+ICAvKiBGb3Igc2l6ZV90ICovCisrCisgLyogS2VlcCBpbiBzeW5jIHdpdGggd2luMzIvY29tbW9uLm1hayAqLworICNkZWZpbmUgU0FTTF9WRVJTSU9OX01BSk9SIDIKKyAjZGVmaW5lIFNBU0xfVkVSU0lPTl9NSU5PUiAxCistLSAKKzEuOC4zLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2N5cnVzLXNhc2wvY3lydXMtc2FzbC9zYXNsYXV0aGQuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvc2FzbGF1dGhkLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTkxYTlkMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2wvc2FzbGF1dGhkLmNvbmYKQEAgLTAsMCArMSwxMSBAQAorIyBEaXJlY3RvcnkgaW4gd2hpY2ggdG8gcGxhY2Ugc2FzbGF1dGhkJ3MgbGlzdGVuaW5nIHNvY2tldCwgcGlkIGZpbGUsIGFuZCBzbworIyBvbi4gIFRoaXMgZGlyZWN0b3J5IG11c3QgYWxyZWFkeSBleGlzdC4KK1NPQ0tFVERJUj1ATE9DQUxTVEFURURJUkAvcnVuL3Nhc2xhdXRoZAorCisjIE1lY2hhbmlzbSB0byB1c2Ugd2hlbiBjaGVja2luZyBwYXNzd29yZHMuICBSdW4gInNhc2xhdXRoZCAtdiIgdG8gZ2V0IGEgbGlzdAorIyBvZiB3aGljaCBtZWNoYW5pc20geW91ciBpbnN0YWxsYXRpb24gd2FzIGNvbXBpbGVkIHdpdGggdGhlIGFibGl0eSB0byB1c2UuCitNRUNIPXBhbQorCisjIEFkZGl0aW9uYWwgZmxhZ3MgdG8gcGFzcyB0byBzYXNsYXV0aGQgb24gdGhlIGNvbW1hbmQgbGluZS4gIFNlZSBzYXNsYXV0aGQoOCkKKyMgZm9yIHRoZSBsaXN0IG9mIGFjY2VwdGVkIGZsYWdzLgorRkxBR1M9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsL3Nhc2xhdXRoZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2N5cnVzLXNhc2wvY3lydXMtc2FzbC9zYXNsYXV0aGQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmRiYWUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2N5cnVzLXNhc2wvY3lydXMtc2FzbC9zYXNsYXV0aGQuc2VydmljZQpAQCAtMCwwICsxLDEyIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVNBU0wgYXV0aGVudGljYXRpb24gZGFlbW9uLgorQWZ0ZXI9c3lzbG9nLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworUElERmlsZT1ATE9DQUxTVEFURURJUkAvcnVuL3Nhc2xhdXRoZC9zYXNsYXV0aGQucGlkCitFbnZpcm9ubWVudEZpbGU9QFNZU0NPTkZESVJAL2RlZmF1bHQvc2FzbGF1dGhkCitFeGVjU3RhcnQ9QFNCSU5ESVJAL3Nhc2xhdXRoZCAtbSAkU09DS0VURElSIC1hICRNRUNIICRGTEFHUworCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsXzIuMS4yNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9jeXJ1cy1zYXNsL2N5cnVzLXNhc2xfMi4xLjI2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkYTNkOTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvY3lydXMtc2FzbC9jeXJ1cy1zYXNsXzIuMS4yNi5iYgpAQCAtMCwwICsxLDk1IEBACitTVU1NQVJZID0gIkdlbmVyaWMgY2xpZW50L3NlcnZlciBsaWJyYXJ5IGZvciBTQVNMIGF1dGhlbnRpY2F0aW9uIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJvcGVuc3NsIHZpcnR1YWwvZGIiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNmNTVlMDk3NGUzZDZkYjAwY2E2ZjU3ZjJkMjA2Mzk2IgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5jeXJ1c2ltYXAub3JnL2N5cnVzLXNhc2wvY3lydXMtc2FzbC0ke1BWfS50YXIuZ3ogXAorCSAgIGZpbGU6Ly9hdm9pZC10by1jYWxsLUFDX1RSWV9SVU4ucGF0Y2ggXAorCSAgIGZpbGU6Ly9GaXgtaGFyZGNvZGVkLWxpYmRpci5wYXRjaCBcCisJICAgZmlsZTovL2RlYmlhbl9wYXRjaGVzXzAwMDlfc2FzbGRiX2FsLmRpZmYgXAorCSAgIGZpbGU6Ly9kZWJpYW5fcGF0Y2hlc18wMDE0X2F2b2lkX3BpY19vdmVyd3JpdGUuZGlmZiBcCisJICAgZmlsZTovL3Nhc2wuaC1pbmNsdWRlLXN0ZGRlZi5oLWZvci1zaXplX3Qtb24tTmV0QlNELnBhdGNoIFwKKwkgICBmaWxlOi8vc2FzbGF1dGhkLnNlcnZpY2UgXAorCSAgIGZpbGU6Ly9zYXNsYXV0aGQuY29uZiBcCisJICAgIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHVzZXJhZGQgc3lzdGVtZAorCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1kYmxpYj1iZXJrZWxleSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1iZGItbGliZGlyPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWJkYi1pbmNkaXI9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgICAtLXdpdGgtYmRiPWRiLTUuMyBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1wbHVnaW5kaXI9IiR7bGliZGlyfS9zYXNsMiIgXAorICAgICAgICAgICAgICAgICBhbmRyZXdfY3ZfcnVucGF0aF9zd2l0Y2g9bm9uZSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm50bG0gXAorICAgICAgICAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGRhcCcsICdsZGFwJywgJycsIGQpfSBcCisgICAgICAgICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfSBcCisgICAgICAgICIKK1BBQ0tBR0VDT05GSUdbZ3NzYXBpXSA9ICItLWVuYWJsZS1nc3NhcGk9eWVzLC0tZW5hYmxlLWdzc2FwaT1ubyxrcmI1LCIKK1BBQ0tBR0VDT05GSUdbcGFtXSA9ICItLXdpdGgtcGFtLC0td2l0aG91dC1wYW0sbGlicGFtLCIKK1BBQ0tBR0VDT05GSUdbb3BpZV0gPSAiLS13aXRoLW9waWUsLS13aXRob3V0LW9waWUsb3BpZSwiCitQQUNLQUdFQ09ORklHW2Rlc10gPSAiLS13aXRoLWRlcywtLXdpdGhvdXQtZGVzLCwiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0td2l0aC1sZGFwPSR7U1RBR0lOR19MSUJESVJ9IC0tZW5hYmxlLWxkYXBkYiwtLXdpdGhvdXQtbGRhcCAtLWRpc2FibGUtbGRhcGRiLG9wZW5sZGFwLCIKK1BBQ0tBR0VDT05GSUdbbnRsbV0gPSAiLS13aXRoLW50bG0sLS13aXRob3V0LW50bG0sLCIKKworQ0ZMQUdTICs9ICItZlBJQyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIHJtIC1mIGFjaW5jbHVkZS5tNCBjb25maWcvbGlidG9vbC5tNAorCisgICAgIyBtYWtlIGl0IGJlIGFibGUgdG8gd29yayB3aXRoIGRiIDUuMCB2ZXJzaW9uCisgICAgbG9jYWwgc2VkX2ZpbGVzPSJzYXNsZGIvZGJfYmVya2VsZXkuYyB1dGlscy9kYmNvbnZlcnRlci0yLmMiCisgICAgZm9yIHNlZF9maWxlIGluICRzZWRfZmlsZXM7IGRvCisgICAgICAgIHNlZCAtaSAncyNEQl9WRVJTSU9OX01BSk9SID09IDQuKiMoJikgfHwgREJfVkVSU0lPTl9NQUpPUiA9PSA1IycgJHNlZF9maWxlCisgICAgZG9uZQorfQorCitkb19jb21waWxlX3ByZXBlbmQgKCkgeworICAgIGNkIGluY2x1ZGUKKyAgICAke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSBtYWtlbWQ1LmMgLW8gbWFrZW1kNQorICAgIHRvdWNoIG1ha2VtZDUubyBtYWtlbWQ1LmxvIG1ha2VtZDUKKyAgICBjZCAuLgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpZiAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zYXNsYXV0aGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCisgICAgICAgIHNlZCAtaSAtZSAncyNAU0JJTkRJUkAjJHtzYmluZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zYXNsYXV0aGQuc2VydmljZQorICAgICAgICBzZWQgLWkgLWUgJ3MjQExPQ0FMU1RBVEVESVJAIyR7bG9jYWxzdGF0ZWRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc2FzbGF1dGhkLnNlcnZpY2UKKyAgICAgICAgc2VkIC1pIC1lICdzI0BTWVNDT05GRElSQCMke3N5c2NvbmZkaXJ9I2cnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3Nhc2xhdXRoZC5zZXJ2aWNlCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCisgICAgICAgIGVjaG8gImQgL3J1bi9zYXNsYXV0aGQvIC0gLSAtIC0iID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9zYXNsYXV0aGQuY29uZgorCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC8KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc2FzbGF1dGhkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC9zYXNsYXV0aGQKKyAgICAgICAgc2VkIC1pIC1lICdzI0BMT0NBTFNUQVRFRElSQCMke2xvY2Fsc3RhdGVkaXJ9I2cnICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvc2FzbGF1dGhkCisgICAgZmkKK30KKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfS1iaW4iCitVU0VSQUREX1BBUkFNXyR7UE59LWJpbiA9ICItLXN5c3RlbSAtLWhvbWU9L3Zhci9zcG9vbC9tYWlsIC1nIG1haWwgY3lydXMiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAic2FzbGF1dGhkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhN2Y0ZTVlNTU5YTBlMzdiM2ZmYzQzOGM5NDU2ZTQyNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZmJjNTEzNjUxMmI1OWJiNzkzNjU3ZjM2ZmFkZGE2MzU5Y2FlM2IwOGYwMWZkMTZiM2Q0MDZmMTM0NWI3YmMzIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tYmluIgorCitGSUxFU18ke1BOfSAgICAgICAgICAgKz0gIiR7bGliZGlyfS9zYXNsMi8qLnNvKiIKK0ZJTEVTXyR7UE59LWJpbiAgICAgICArPSAiJHtiaW5kaXJ9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9kZWZhdWx0L3Nhc2xhdXRoZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc2FzbGF1dGhkLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvc2FzbGF1dGhkLmNvbmYiCitGSUxFU18ke1BOfS1kZXYgICAgICAgKz0gIiR7bGliZGlyfS9zYXNsMi8qLmxhIgorRklMRVNfJHtQTn0tZGJnICAgICAgICs9ICIke2xpYmRpcn0vc2FzbDIvLmRlYnVnIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vc2FzbDIvKi5hIgorCitJTlNBTkVfU0tJUF8ke1BOfSArPSAiZGV2LXNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZC9kbnJkLmNvbmYuc2FtcGxlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZC9kbnJkLmNvbmYuc2FtcGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjMDU4NDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvZG5yZC9kbnJkL2RucmQuY29uZi5zYW1wbGUKQEAgLTAsMCArMSwyMSBAQAorIyBvcHRpb25zIHRvIGRucmQKKworIyBleGFtcGxlOiB0d28gZGVmYXVsdCBkbnMgc2VydmVycyBhbmQgZG5zIHNlcnZlcnMgZm9yIGV4YW1wbGVkb21haW4uY29tLiBUaGUKKyMgbGF0dGVyIGFyZSBsb2FkIGJhbGFuY2VkICgtYikKKyMKKyMKKworIyBETlJEX09QVFM9IgorIyAtcyBYWFguWFhYLlhYLlhYWAorIyAtcyBYWFguWFhYLlhYLlhYWAorIyAtYgorIyAtcyBYWFguWFhYLlhYLlhYWDpleGFtcGxlZG9tYWluLmNvbQorIyAtcyBYWFguWFhYLlhYLlhYWDpleGFtcGxlZG9tYWluLmNvbSIKKworIyBleGFtcGxlOiBkbnJkIHVzZXIKKyMKKworIyBETlJEX1VTRVI9InVzZXIiCisjCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZC9kbnJkLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvZG5yZC9kbnJkL2RucmQuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmU1ODNmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZC9kbnJkLmluaXQKQEAgLTAsMCArMSw5NCBAQAorIyEvYmluL3NoCisjCisjIFN0YXJ0dXAgc2NyaXB0IGZvciBkbnJkCisjCisjICAgICAgIENvcHlyaWdodCAyMDA4LCBSYWtlc2ggUGFuZGl0IDxyYWtlc2gucGFuZGl0QGdtYWlsLmNvbT4KKyMKKyMgICAgICAgVGhpcyBzb3VyY2UgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyAgICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyAgICAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCisjICAgICAgIGFueSBsYXRlciB2ZXJzaW9uLgorCisjICAgICAgIFRoaXMgc291cmNlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjICAgICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjICAgICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgICAgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworIyAgICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyAgICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyAgICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyMKKyMgY2hrY29uZmlnOiAtIDg1IDE1CisjIGRlc2NyaXB0aW9uOiBkbnJkIGlzIGEgcHJveHlpbmcgbmFtZXNlcnZlci4gSXQgZm9yd2FyZHMgRE5TIHF1ZXJpZXMgdG8gdGhlCisjIGFwcHJvcHJpYXRlIG5hbWVzZXJ2ZXIsIGJ1dCBjYW4gYWxzbyBhY3QgYXMgdGhlIHByaW1hcnkgbmFtZXNlcnZlciBmb3IKKyMgYSBzdWJuZXQgYmVoaW5kIGEgZmlyZXdhbGwuIEl0IGFsc28gaGFzIGZlYXR1cmVzIHN1Y2ggYXMgY2FjaGluZyBETlMKKyMgcmVxdWVzdHMsIHN1cHBvcnQgZm9yIEROUyBzZXJ2ZXJzLCBjYWNoZSBwb2lzb25pbmcgcHJldmVudGlvbiwgVENQCisjIHN1cHBvcnQsIGV0Yy4uCisKKyMgcHJvY2Vzc25hbWU6IGRucmQKKyMgcGlkZmlsZTogL3Zhci9ydW4vZG5yZC5waWQKKyMgY29uZmlnOiAvZXRjL2RucmQvZG5yZC5jb25mCisKKyMgUHJvdmlkZXM6ICAgICAgICAgIGRucmQKKyMgUmVxdWlyZWQtU3RhcnQ6CisjIFNob3VsZC1TdGFydDoKKyMgUmVxdWlyZWQtU3RvcDoKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSAyIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IFN0YXJ0IGRucmQgZGFlbW9uCisjIERlc2NyaXB0aW9uOiAgICAgICBEb21haW4gTmFtZSBSZWxheSBEYWVtb24KKyMgRU5EIElOSVQgSU5GTworCitleGU9L3Vzci9zYmluL2RucmQKK3BmaWxlPS9ldGMvcGFzc3dkCisKKyMgU291cmNlIGZ1bmN0aW9uIGxpYnJhcnkuCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCisjIFNvdXJjZSBjb25mIGZpbGUKKy4gL2V0Yy9kbnJkL2RucmQuY29uZgorCitbIC14ICRleGUgXSB8fCBleGl0IDEKK1sgLXIgIi9ldGMvZG5yZC9kbnJkLmNvbmYiIF0gfHwgZXhpdCAxCitpZiBbICRETlJEX1VTRVIgXQordGhlbgorICAgICAgICAgZ3JlcCAiXiR7TE9HSU59OiIgJHBmaWxlID4vZGV2L251bGwgMj4mMQorICAgICAgICAgaWYgWyAkPyAtZXEgMCBdO3RoZW4KKyAgICAgICAgICAgICAgICAgZWNobyAiJEROUkRfVVNFUiBzcGVjaWZpZWQgaW4gL2V0Yy9kbnJkL2RucmQuY29uZiBkb2VzIG5vdCBleGlzdCEiCisgICAgICAgICBmaQorZWxzZQorICAgICAgICBlY2hvICJETlJEX1VTRVIgbm90IHNldCBhdCAvZXRjL2RucmQvZG5yZC5jb25mISIKKyAgICAgICAgZXhpdCAxCitmaQorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgICAgIGVjaG8gLW4gIlN0YXJ0aW5nICBkbnJkOiAiCisgICAgICAgIGRhZW1vbiAgZG5yZCAkRE5SRF9PUFRTIC11ICRETlJEX1VTRVIKKyAgICAgICAgZWNobworICAgICAgICB0b3VjaCAvdmFyL2xvY2svc3Vic3lzL2RucmQKKyAgICAgICAgOzsKKyAgc3RvcCkKKyAgICAgICAgZWNobyAtbiAiU2h1dHRpbmcgZG93biBkbnJkOiAiCisgICAgICAgIGtpbGxwcm9jIGRucmQKKyAgICAgICAgZWNobworICAgICAgICBybSAtZiAvdmFyL2xvY2svc3Vic3lzL2RucmQKKyAgICAgICAgcm0gLWYgL3Zhci9ydW4vZG5yZC5waWQKKyAgICAgICAgOzsKKyAgc3RhdHVzKQorICAgICAgICBzdGF0dXMgZG5yZAorICAgICAgICA7OworICByZXN0YXJ0KQorICAgICAgICAkMCBzdG9wCisgICAgICAgICQwIHN0YXJ0CisgICAgICAgIDs7CisgIHJlbG9hZCkKKyAgICAgICAgZWNobyAtbiAiUmVsb2FkaW5nIGRucmQ6ICIKKyAgICAgICAga2lsbHByb2MgZG5yZCAtSFVQCisgICAgICAgIGVjaG8KKyAgICAgICAgOzsKKyAgKikKKyAgICAgICAgZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHJlc3RhcnR8cmVsb2FkfHN0YXR1c30iCisgICAgICAgIGV4aXQgMQorZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9kbnJkL2RucmQvZG5yZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZC9kbnJkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM5ZmE2NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9kbnJkL2RucmQvZG5yZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249RG9tYWluIE5hbWUgUmVsYXkgRGFlbW9uCitBZnRlcj1uZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworUElERmlsZT0vdmFyL3J1bi9kbnJkLnBpZAorRW52aXJvbm1lbnRGaWxlPS9ldGMvZG5yZC9kbnJkLmNvbmYKK0V4ZWNTdGFydD0vdXNyL3NiaW4vZG5yZCAkRE5SRF9PUFRTIC11ICRETlJEX1VTRVIKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZF8yLjIwLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvZG5yZC9kbnJkXzIuMjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzY5ZTUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2RucmQvZG5yZF8yLjIwLjMuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJBIGNhY2hpbmcsIGZvcndhcmRpbmcgRE5TIHByb3h5IHNlcnZlciIKK0RFU0NSSVBUSU9OID0gIlwKK2RucmQgaXMgYSBwcm94eWluZyBuYW1lc2VydmVyLiBJdCBmb3J3YXJkcyBETlMgcXVlcmllcyB0byB0aGUgYXBwcm9wcmlhdGUgXAorbmFtZXNlcnZlciwgYnV0IGNhbiBhbHNvIGFjdCBhcyB0aGUgcHJpbWFyeSBuYW1lc2VydmVyIGZvciBhIHN1Ym5ldCBiZWhpbmQgXAorYSBmaXJld2FsbC4gSXQgYWxzbyBoYXMgZmVhdHVyZXMgc3VjaCBhcyBjYWNoaW5nIEROUyByZXF1ZXN0cywgc3VwcG9ydCBmb3IgXAorRE5TIHNlcnZlcnMsIGNhY2hlIHBvaXNvbmluZyBwcmV2ZW50aW9uLCBUQ1Agc3VwcG9ydCwgZXRjLi4iCitIT01FUEFHRSA9ICJodHRwOi8vZG5yZC5zb3VyY2Vmb3JnZS5uZXQvIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGJlNjcwMTdmMWM3NzAzMTNhZDdiNDBlMThkNTY4ZjEiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZG5yZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL2RucmQuY29uZi5zYW1wbGUgXAorICAgICAgICAgICBmaWxlOi8vZG5yZC5pbml0IgorU1JDX1VSSVttZDVzdW1dID0gIjQxYzliMDcwYWFlOGVkNDAzZmM4YzJhYWM3YWIxNTdjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFhNDZlN2Y4NzM2Yjg4YzFkNzUyY2Y2MDZiMzk5MDA0MTIyMWNlOTFkMDE0ZTk1NWM2YjAyZWIyMTY3ZGIwMTUiCisKK1BOQkxBQ0tMSVNUW2RucmRdID89ICJCUk9LRU46IGRucmQtMi4yMC4zLXIwIGRvX3BhY2thZ2U6IFFBIElzc3VlOiBkbnJkOiBGaWxlcy9kaXJlY3RvcmllcyB3ZXJlIGluc3RhbGxlZCBidXQgbm90IHNoaXBwZWQgaW4gYW55IHBhY2thZ2U6IgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiZG5yZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitpbmhlcml0IGF1dG90b29scworaW5oZXJpdCAke0BiYXNlX2NvbnRhaW5zKCdWSVJUVUFMLVJVTlRJTUVfaW5pdF9tYW5hZ2VyJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCcnLCBkKX0KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9IElOU1RBTEw9Imluc3RhbGwgLXAiCisKKyAgICBzZWQgLWkgLWUgJ3M6L2V0Yy9yYy5kL2luaXQuZC9mdW5jdGlvbnM6L2V0Yy9pbml0LmQvZnVuY3Rpb25zOmcnIFwKKyAgICAgICAgJHtXT1JLRElSfS9kbnJkLmluaXQKKyAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke3N5c2NvbmZkaXJ9L2RucmQKKyAgICBpbnN0YWxsIC1wIC1tIDA2NDQgJHtXT1JLRElSfS9kbnJkLmNvbmYuc2FtcGxlICR7RH0ke3N5c2NvbmZkaXJ9L2RucmQvZG5yZC5jb25mCisgICAgaW5zdGFsbCAtcCAtbSAwNzU1ICR7V09SS0RJUn0vZG5yZC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9kbnJkCisKKyAgICBpZiAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vZG5yZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgZmkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvOTlfaXNjc2ktaW5pdGlhdG9yLXV0aWxzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9maWxlcy85OV9pc2NzaS1pbml0aWF0b3ItdXRpbHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJmZGQ2MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvOTlfaXNjc2ktaW5pdGlhdG9yLXV0aWxzCkBAIC0wLDAgKzEsMiBAQAorIyA8dHlwZT4gPG93bmVyPiA8Z3JvdXA+IDxtb2RlPiA8cGF0aD4gPGxpbmtzb3VyY2U+CitkIHJvb3Qgcm9vdCAwNzU1IC92YXIvbG9jay9pc2NzaSBub25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2luaXRkLmRlYmlhbiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvaW5pdGQuZGViaWFuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5YTc2MzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2luaXRkLmRlYmlhbgpAQCAtMCwwICsxLDExOSBAQAorIyEgL2Jpbi9zaAorIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczoKKyMgUmVxdWlyZWQtU3RhcnQ6CisjIFJlcXVpcmVkLVN0b3A6CisjIERlZmF1bHQtU3RhcnQ6CisjIERlZmF1bHQtU3RvcDoKKyMgU2hvcnQtRGVzY3JpcHRpb246IFN0YXJ0cyBhbmQgc3RvcHMgdGhlIGlTQ1NJIGluaXRpYXRvciBzZXJ2aWNlcyBhbmQgbG9naW5zIHRvIGRlZmF1bHQgdGFyZ2V0cworIyMjIEVORCBJTklUIElORk8KKyNzZXQgLXgKK1BBVEg9L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KK0RBRU1PTj0vdXNyL3NiaW4vaXNjc2lkCitBRE09L3Vzci9zYmluL2lzY3NpYWRtCitQSURGSUxFPS92YXIvcnVuL2lzY3NpZC5waWQKKworWyAteCAiJERBRU1PTiIgXSB8fCBleGl0IDAKKworaWYgWyAhIC1kIC9zeXMvY2xhc3MvIF07IHRoZW4KKyAgZWNobyAiRmFpbHVyZToiICJpU0NTSSByZXF1aXJlcyBhIG1vdW50ZWQgc3lzZnMsIG5vdCBzdGFydGVkLiIKKyAgZXhpdCAxCitmaQorCitub2Rlc3RhcnR1cF9yZT0ncy9ebm9kZVwuY29ublxbMF1cLnN0YXJ0dXBbIAldKj1bIAldKi8vcCcKKworUkVUVkFMPTAKKworc3RhcnQoKSB7CisJZWNobyAiU3RhcnRpbmcgaVNDU0kgaW5pdGlhdG9yIHNlcnZpY2UiICJpc2NzaWQiCisJbW9kcHJvYmUgLXEgaXNjc2lfdGNwIDI+L2Rldi9udWxsIHx8IDoKKwltb2Rwcm9iZSAtcSBpYl9pc2VyIDI+L2Rldi9udWxsIHx8IDoKKwlpZiBbICEgLWYgL2V0Yy9pc2NzaS9pbml0aWF0b3JuYW1lLmlzY3NpIF07IHRoZW4KKwkJSU5JVElBVE9STkFNRT0kKGlzY3NpLWluYW1lKQorCQljYXQgPi9ldGMvaXNjc2kvaW5pdGlhdG9ybmFtZS5pc2NzaSA8PEVPRgorIyMgRE8gTk9UIEVESVQgT1IgUkVNT1ZFIFRISVMgRklMRSEKKyMjIElmIHlvdSByZW1vdmUgdGhpcyBmaWxlLCB0aGUgaVNDU0kgZGFlbW9uIHdpbGwgbm90IHN0YXJ0LgorIyMgSWYgeW91IGNoYW5nZSB0aGUgSW5pdGlhdG9yTmFtZSwgZXhpc3RpbmcgYWNjZXNzIGNvbnRyb2wgbGlzdHMKKyMjIG1heSByZWplY3QgdGhpcyBpbml0aWF0b3IuICBUaGUgSW5pdGlhdG9yTmFtZSBtdXN0IGJlIHVuaXF1ZQorIyMgZm9yIGVhY2ggaVNDU0kgaW5pdGlhdG9yLiAgRG8gTk9UIGR1cGxpY2F0ZSBpU0NTSSBJbml0aWF0b3JOYW1lcy4KK0luaXRpYXRvck5hbWU9JElOSVRJQVRPUk5BTUUKK0VPRgorCWZpCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLWV4ZWMgJERBRU1PTgorCVJFVFZBTD0kPworCXN0YXJ0dGFyZ2V0cworfQorCitzdGFydHRhcmdldHMoKSB7CisJZWNobyAiU2V0dGluZyB1cCBpU0NTSSB0YXJnZXRzIgorCSRBRE0gLW0gbm9kZSAtLWxvZ2luYWxsPWF1dG9tYXRpYworfQorCitzdG9wdGFyZ2V0cygpIHsKKwllY2hvICJEaXNjb25uZWN0aW5nIGlTQ1NJIHRhcmdldHMiCisJc3luYworCSRBRE0gLW0gbm9kZSAtLWxvZ291dGFsbD1hbGwKKwlSRVRWQUw9JD8KKwkjaWYgUkVUVkFMIGlzIDIxLCBtZWFucyBubyBhY3RpdmUgc2Vzc2lvbnMsIGNvbnNpZGVyIG9rCisJaWYgWyAiJFJFVFZBTCIgPSAiMjEiIF07IHRoZW4KKwkJUkVUVkFMPTAKKwlmaQorfQorCitzdG9wKCkgeworCXN0b3B0YXJnZXRzCisJaWYgWyAkUkVUVkFMIC1uZSAwIF07IHRoZW4KKwkJZWNobyAiRmFpbHVyZToiICJDb3VsZCBub3Qgc3RvcCBhbGwgdGFyZ2V0cywgdHJ5IGFnYWluIGxhdGVyIgorCQlyZXR1cm4gJFJFVFZBTAorCWZpCisKKwllY2hvICJTdG9wcGluZyBpU0NTSSBpbml0aWF0b3Igc2VydmljZSIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXBpZGZpbGUgJFBJREZJTEUgLS1leGVjICREQUVNT04KKwlybSAtZiAkUElERklMRQorCXN0YXR1cz0wCisJbW9kcHJvYmUgLXIgaWJfaXNlciAyPi9kZXYvbnVsbAorCWlmIFsgIiQ/IiAtbmUgIjAiIC1hICIkPyIgLW5lICIxIiBdOyB0aGVuCisJCXN0YXR1cz0xCisJZmkKKwltb2Rwcm9iZSAtciBpc2NzaV90Y3AgMj4vZGV2L251bGwKKwlpZiBbICIkPyIgLW5lICIwIiAtYSAiJD8iIC1uZSAiMSIgXTsgdGhlbgorCQlzdGF0dXM9MQorCWZpCit9CisKK3Jlc3RhcnQoKSB7CisJc3RvcAorCWlmIFsgJFJFVFZBTCAtbmUgMCBdOyB0aGVuCisJCWVjaG8gIkZhaWx1cmU6IiAiU3RvcHBpbmcgaVNDU0kgaW5pdGlhdG9yIHNlcnZpY2UgZmFpbGVkLCBub3Qgc3RhcnRpbmciCisJCXJldHVybiAkUkVUVkFMCisJZmkKKwlzdGFydAorfQorCityZXN0YXJ0dGFyZ2V0cygpIHsKKwlzdG9wdGFyZ2V0cworCWlmIFsgJFJFVFZBTCAtbmUgMCBdOyB0aGVuCisJCWVjaG8gIkZhaWx1cmU6IiAiQ291bGQgbm90IHN0b3AgYWxsIHRhcmdldHMsIHRyeSBhZ2FpbiBsYXRlciIKKwkJcmV0dXJuICRSRVRWQUwKKwlmaQorCXN0YXJ0dGFyZ2V0cworfQorCitzdGF0dXMoKSB7CisJI1hYWCBGSVhNRTogd2hhdCB0byBkbyBoZXJlPworCSNzdGF0dXMgaXNjc2lkCisJIyBsaXN0IGFjdGl2ZSBzZXNzaW9ucworCWVjaG8gQ3VycmVudCBhY3RpdmUgaVNDU0kgc2Vzc2lvbnM6CisJJEFETSAtbSBzZXNzaW9uCit9CisKK2Nhc2UgIiQxIiBpbgorCXN0YXJ0fHN0YXJ0dGFyZ2V0c3xzdG9wfHN0b3B0YXJnZXRzfHJlc3RhcnR8cmVzdGFydHRhcmdldHN8c3RhdHVzKQorCQkkMQorCQk7OworCSopCisJCWVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxyZXN0YXJ0fHN0YXR1c30iCisJCWV4aXQgMQorCQk7OworZXNhYworZXhpdCAkUkVUVkFMCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvciBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvaXNjc2ktaW5pdGlhdG9yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmYTQ5YTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvcgpAQCAtMCwwICsxLDQgQEAKKyMgZGVmYXVsdCBjb21tYW5kIGxpbmUgc2V0dGluZ3MgZm9yIG9wZW4taXNjc2kncyBpc2NzaWQKKworT1BUU19JU0NTSUQ9IiIKK09QVFNfSVNDU0lBRE09IiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvaXNjc2ktaW5pdGlhdG9yLXRhcmdldHMuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvaXNjc2ktaW5pdGlhdG9yLXRhcmdldHMuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjRiMmQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9maWxlcy9pc2NzaS1pbml0aWF0b3ItdGFyZ2V0cy5zZXJ2aWNlCkBAIC0wLDAgKzEsMTUgQEAKK1tVbml0XQorRGVzY3JpcHRpb249T3Blbi1pU0NTSSBpbml0aWF0b3IgKGkuZS4gY2xpZW50KSB0YXJnZXQgYmluZGluZ3MKK0FmdGVyPWlzY3NpLWluaXRpYXRvci5zZXJ2aWNlCitSZXF1aXJlcz1pc2NzaS1pbml0aWF0b3Iuc2VydmljZQorCitbU2VydmljZV0KK1R5cGU9b25lc2hvdAorRW52aXJvbm1lbnRGaWxlPS9ldGMvZGVmYXVsdC9pc2NzaS1pbml0aWF0b3IKK0V4ZWNTdGFydD0vdXNyL3NiaW4vaXNjc2lhZG0gLW0gbm9kZSAtLWxvZ2luYWxsPWF1dG9tYXRpYyAkT1BUU19JU0NTSUFETQorRXhlY1N0b3A9L3Vzci9zYmluL2lzY3NpYWRtIC1tIG5vZGUgLS1sb2dvdXRhbGw9YWxsICRPUFRTX0lTQ1NJQURNCitSZW1haW5BZnRlckV4aXQ9eWVzCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9maWxlcy9pc2NzaS1pbml0aWF0b3ItdXRpbHMtZG9udC11c2Utc3RhdGljLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9maWxlcy9pc2NzaS1pbml0aWF0b3ItdXRpbHMtZG9udC11c2Utc3RhdGljLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlNDhlMmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvci11dGlscy1kb250LXVzZS1zdGF0aWMucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAoraXNjc2ktaW5pdGlhdG9yLXV0aWxzIG5vdCB0byB1c2Ugc3RhdGljCisKK1Vwc3RyZWFtLXN0YXR1czogQmFja3BvcnQKK1RoaXMgcGF0Y2ggaXMgZnJvbSBmZWRvcmExNy4KKworU2lnbmVkLW9mZi1ieTogWWFvIFpoYW8gPHlhby56aGFvQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBWdSBUcmFuIDx2dS50cmFuQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLS1naXQgYS91c3IvTWFrZWZpbGUgYi91c3IvTWFrZWZpbGUKK2luZGV4IDY3M2I3ZjEuLmZkMTRhMTAgMTAwNjQ0CistLS0gYS91c3IvTWFrZWZpbGUKKysrKyBiL3Vzci9NYWtlZmlsZQorQEAgLTYxLDcgKzYxLDcgQEAgaXNjc2lhZG06ICQoSVNDU0lfTElCX1NSQ1MpICQoRElTQ09WRVJZX1NSQ1MpIGlzY3NpYWRtLm8gc2Vzc2lvbl9tZ210Lm8KKyAKKyBpc2NzaXN0YXJ0OiAkKElTQ1NJX0xJQl9TUkNTKSAkKElOSVRJQVRPUl9TUkNTKSAkKEZXX0JPT1RfU1JDUykgXAorIAkJaXNjc2lzdGFydC5vIHN0YXRpY3MubworLQkkKENDKSAkKENGTEFHUykgLXN0YXRpYyAkXiAtbyAkQAorKwkkKENDKSAkKENGTEFHUykgJF4gLW8gJEAKKyBjbGVhbjoKKyAJcm0gLWYgKi5vICQoUFJPR1JBTVMpIC5kZXBlbmQgJChMSUJTWVMpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvci11dGlscy11c2UtdmFyLWZvci1jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvci11dGlscy11c2UtdmFyLWZvci1jb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAyMjdhNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzLXVzZS12YXItZm9yLWNvbmZpZy5wYXRjaApAQCAtMCwwICsxLDI0MCBAQAoraXNjc2ktaW5pdGlhdG9yLXV0aWxzIHRvIHVzZSB2YXIgZm9yIGNvbmZpZworCitVcHN0cmVhbS1zdGF0dXM6IEJhY2twb3J0CitUaGlzIHBhdGNoIGlzIGZyb20gZmVkb3JhLgorCitVc2UgL3Zhci9saWIvaXNjc2kvIGluc3RlYWQgb2YgL2V0Yy9pc2NzaS8gZm9yIGhvbGRpbmcKK3N0YXRlIGZpbGVzLgorCitTaWduZWQtb2ZmLWJ5OiBZYW8gWmhhbyA8eWFvLnpoYW9Ad2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFZ1IFRyYW4gPHZ1LnRyYW5Ad2luZHJpdmVyLmNvbT4KKworZGlmZiAtLWdpdCBhL1JFQURNRSBiL1JFQURNRQoraW5kZXggNzM2NGIyZC4uNWU4YmZmOCAxMDA2NDQKKy0tLSBhL1JFQURNRQorKysrIGIvUkVBRE1FCitAQCAtMTY0LDEwICsxNjQsMTAgQEAgYXZhaWxhYmxlIG9uIGFsbCBMaW51eCBpbnN0YWxsYXRpb25zLgorIAorIFRoZSBkYXRhYmFzZSBjb250YWlucyB0d28gdGFibGVzOgorIAorLS0gRGlzY292ZXJ5IHRhYmxlICgvZXRjL2lzY3NpL3NlbmRfdGFyZ2V0cyk7CistLSBOb2RlIHRhYmxlICgvZXRjL2lzY3NpL25vZGVzKS4KKystIERpc2NvdmVyeSB0YWJsZSAoL3Zhci9saWIvaXNjc2kvc2VuZF90YXJnZXRzKTsKKystIE5vZGUgdGFibGUgKC92YXIvbGliL2lzY3NpL25vZGVzKS4KKyAKKy1UaGUgcmVndWxhciBwbGFjZSBmb3IgaVNDU0kgZGF0YWJhc2UgZmlsZXM6IC9ldGMvaXNjc2kvbm9kZXMKKytUaGUgcmVndWxhciBwbGFjZSBmb3IgaVNDU0kgZGF0YWJhc2UgZmlsZXM6IC92YXIvbGliL2lzY3NpL25vZGVzCisgCisgVGhlIGlzY3NpYWRtIHV0aWxpdHkgaXMgYSBjb21tYW5kLWxpbmUgdG9vbCB0byBtYW5hZ2UgKHVwZGF0ZSwgZGVsZXRlLAorIGluc2VydCwgcXVlcnkpIHRoZSBwZXJzaXN0ZW50IGRhdGFiYXNlLgorQEAgLTQ0NCw3ICs0NDQsNyBAQCBhIHNjc2lfaG9zdCBwZXIgSEJBIHBvcnQpLgorIFRvIG1hbmFnZSBib3RoIHR5cGVzIG9mIGluaXRpYXRvciBzdGFja3MsIGlzY3NpYWRtIHVzZXMgdGhlIGludGVyZmFjZSAoaWZhY2UpCisgc3RydWN0dXJlLiBGb3IgZWFjaCBIQkEgcG9ydCBvciBmb3Igc29mdHdhcmUgaXNjc2kgZm9yIGVhY2ggbmV0d29yaworIGRldmljZSAoZXRoWCkgb3IgTklDLCB0aGF0IHlvdSB3aXNoIHRvIGJpbmQgc2Vzc2lvbnMgdG8geW91IG11c3QgY3JlYXRlCistYSBpZmFjZSBjb25maWcgL2V0Yy9pc2NzaS9pZmFjZXMuCisrYSBpZmFjZSBjb25maWcgL3Zhci9saWIvaXNjc2kvaWZhY2VzLgorIAorIFByZXA6CisgCitAQCAtNDc4LDI5ICs0NzgsMjkgQEAgUnVubmluZzoKKyBpZmFjZTAgcWxhNHh4eCwwMDpjMDpkZDowODo2MzplOCwyMC4xNS4wLjcsZGVmYXVsdCxpcW4uMjAwNS0wNi5jb20ucmVkaGF0Om1hZG1heAorIGlmYWNlMSBxbGE0eHh4LDAwOmMwOmRkOjA4OjYzOmVhLDIwLjE1LjAuOSxkZWZhdWx0LGlxbi4yMDA1LTA2LmNvbS5yZWRoYXQ6bWFkbWF4CisgCistV2lsbCByZXBvcnQgaWZhY2UgY29uZmlndXJhdGlvbnMgdGhhdCBhcmUgc2V0dXAgaW4gL2V0Yy9pc2NzaS9pZmFjZXMuCisrV2lsbCByZXBvcnQgaWZhY2UgY29uZmlndXJhdGlvbnMgdGhhdCBhcmUgc2V0dXAgaW4gL3Zhci9saWIvaXNjc2kvaWZhY2VzLgorIFRoZSBmb3JtYXQgaXM6CisgCisgaWZhY2VfbmFtZSB0cmFuc3BvcnRfbmFtZSxod2FkZHJlc3MsaXBhZGRyZXNzLG5ldF9pZmFjZW5hbWUsaW5pdGlhdG9ybmFtZQorIAorIEZvciBzb2Z0d2FyZSBpc2NzaSwgeW91IGNhbiBjcmVhdGUgdGhlIGlmYWNlIGNvbmZpZ3MgYnkgaGFuZCwgYnV0IGl0IGlzCisgcmVjY29tZW5kZWQgdGhhdCB5b3UgdXNlIGlzY3NpYWRtJ3MgaWZhY2UgbW9kZS4gVGhlcmUgaXMgYSBpZmFjZS5leGFtcGxlIGluCistL2V0Yy9pc2NzaS9pZmFjZXMgd2hpY2ggY2FuIGJlIHVzZWQgYXMgYSB0ZW1wbGF0ZSBmb3IgdGhlIGRhcmluZy4KKysvdmFyL2xpYi9pc2NzaS9pZmFjZXMgd2hpY2ggY2FuIGJlIHVzZWQgYXMgYSB0ZW1wbGF0ZSBmb3IgdGhlIGRhcmluZy4KKyAKKyBGb3IgZWFjaCBuZXR3b3JrIG9iamVjdCB5b3Ugd2lzaCB0byBiaW5kIGEgc2Vzc2lvbiB0byB5b3UgbXVzdCBjcmVhdGUKKy1hIHNlcGVyYXRlIGlmYWNlIGNvbmZpZyBpbiAvZXRjL2lzY3NpL2lmYWNlcyBhbmQgZWFjaCBpZmFjZSBjb25maWcgZmlsZQorK2Egc2VwZXJhdGUgaWZhY2UgY29uZmlnIGluIC92YXIvbGliL2lzY3NpL2lmYWNlcyBhbmQgZWFjaCBpZmFjZSBjb25maWcgZmlsZQorIG11c3QgaGF2ZSBhIHVuaXF1ZSBuYW1lIHdoaWNoIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byA2NCBjaGFyYWN0ZXJzLgorIAorIEV4YW1wbGU6CisgCisgSWYgeW91IGhhdmUgTklDMSB3aXRoIE1BQyBhZGRyZXNzIDAwOjBGOjFGOjkyOjZCOkJGIGFuZCBOSUMyIHdpdGgKKyBNQUMgYWRkcmVzcyAwMDpDMDpERDowODo2MzpFNyBhbmQgeW91IHdhbnRlZCB0byBkbyBzb2Z0d2FyZSBpc2NzaSBvdmVyCistVENQL0lQLiBUaGVuIGluIC9ldGMvaXNjc2kvaWZhY2VzL2lmYWNlMCB5b3Ugd291bGQgZW50ZXI6CisrVENQL0lQLiBUaGVuIGluIC92YXIvbGliL2lzY3NpL2lmYWNlcy9pZmFjZTAgeW91IHdvdWxkIGVudGVyOgorIAorIGlmYWNlLnRyYW5zcG9ydF9uYW1lID0gdGNwCisgaWZhY2UuaHdhZGRyZXNzID0gMDA6MEY6MUY6OTI6NkI6QkYKKyAKKy1hbmQgaW4gL2V0Yy9pc2NzaS9pZmFjZXMvaWZhY2UxIHlvdSB3b3VsZCBlbnRlcjoKKythbmQgaW4gL3Zhci9saWIvaXNjc2kvaWZhY2VzL2lmYWNlMSB5b3Ugd291bGQgZW50ZXI6CisgCisgaWZhY2UudHJhbnNwb3J0X25hbWUgPSB0Y3AKKyBpZmFjZS5od2FkZHJlc3MgPSAwMDpDMDpERDowODo2MzpFNworQEAgLTU1MCw3ICs1NTAsNyBAQCBjeGdiM2kuMDA6MDc6NDM6MDU6OTc6MDcgY3hnYjNpLDAwOjA3OjQzOjA1Ojk3OjA3LDxlbXB0eT4sPGVtcHR5Piw8ZW1wdHk+CisgcWxhNHh4eC4wMDowZToxZTowNDo4YjoyZSBxbGE0eHh4LDAwOjBlOjFlOjA0OjhiOjJlLDxlbXB0eT4sPGVtcHR5Piw8ZW1wdHk+CisgCisgCistV2lsbCByZXBvcnQgaWZhY2UgY29uZmlndXJhdGlvbnMgdGhhdCBhcmUgc2V0dXAgaW4gL2V0Yy9pc2NzaS9pZmFjZXMuCisrV2lsbCByZXBvcnQgaWZhY2UgY29uZmlndXJhdGlvbnMgdGhhdCBhcmUgc2V0dXAgaW4gL3Zhci9saWIvaXNjc2kvaWZhY2VzLgorIFRoZSBmb3JtYXQgaXM6CisgCisgaWZhY2VfbmFtZSB0cmFuc3BvcnRfbmFtZSxod2FkZHJlc3MsaXBhZGRyZXNzLG5ldF9pZmFjZW5hbWUsaW5pdGlhdG9ybmFtZQorQEAgLTYzNiw3ICs2MzYsNyBAQCBuZWVkIGEgc2VwZXJhdGUgbmV0d29yayBjb25uZWN0aW9uIHRvIHRoZSB0YXJnZXQgZm9yIGRpc2NvdmVyeSBwdXJwb3Nlcy4KKyAqVGhpcyB3aWxsIGJlIGZpeGVkIGluIHRoZSBuZXh0IHZlcnNpb24gb2Ygb3Blbi1pc2NzaSoKKyAKKyBGb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLCB3aGVuIHlvdSBydW4gaXNjc2lhZG0gdG8gZG8gZGlzY292ZXJ5LCBpdAorLXdpbGwgY2hlY2sgZm9yIGludGVyZmFjZXMgaW4gL2V0Yy9pc2NzaS9pc2NzaS9pZmFjZXMgdGhhdCBhcmUgdXNpbmcKKyt3aWxsIGNoZWNrIGZvciBpbnRlcmZhY2VzIGluIC92YXIvbGliL2lzY3NpL2lzY3NpL2lmYWNlcyB0aGF0IGFyZSB1c2luZworIHRjcCBmb3IgdGhlIGlmYWNlLnRyYW5zcG9ydCBhbmQgaXQgd2lsbCBiaW5kIHRoZSBwb3J0YWxzIHRoYXQgYXJlIGRpc2NvdmVyZWQKKyBzbyB0aGF0IHRoZXkgd2lsbCBiZSBsb2dnZWQgaW4gdGhyb3VnaCB0aG9zZSBpZmFjZXMuIFRoaXMgYmVoYXZpb3IgY2FuIGFsc28KKyBiZSBvdmVycmlkZW4gYnkgcGFzc2luZyBpbiB0aGUgaW50ZXJmYWNlcyB5b3Ugd2FudCB0byB1c2UuIEZvciB0aGUgY2FzZQorQEAgLTY1NCw3ICs2NTQsNyBAQCB3ZSBkbyBub3QgYmluZCBhIHNlc3Npb24gdG8gYSBpZmFjZSwgdGhlbiB5b3UgY2FuIHVzZSB0aGUgc3BlY2lhbCBpZmFjZQorIAorIGlzY3NpYWRtIC1tIGRpc2NvdmVyeWRiIC10IHN0IC1wIGlwOnBvcnQgLUkgZGVmYXVsdCAtLWRpc2NvdmVyIC1QIDEKKyAKKy1BbmQgaWYgeW91IGRpZCBub3QgZGVmaW5lIGFueSBpbnRlcmZhY2VzIGluIC9ldGMvaXNjc2kvaWZhY2VzIGFuZCBkbworK0FuZCBpZiB5b3UgZGlkIG5vdCBkZWZpbmUgYW55IGludGVyZmFjZXMgaW4gL3Zhci9saWIvaXNjc2kvaWZhY2VzIGFuZCBkbworIG5vdCBwYXNzIGFueXRoaW5nIGludG8gaXNjc2lhZG0sIHJ1bm5pbmcgaXNjc2lhZG0gd2lsbCBkbyB0aGUgZGVmYXVsdAorIGJlaGF2aW9yLCB3aGVyZSB3ZSBhbGxvdyB0aGUgbmV0d29yayBzdWJzeXN0ZW0gdG8gZGVjaWRlIHdoaWNoCisgZGV2aWNlIHRvIHVzZS4KK0BAIC02OTYsNyArNjk2LDcgQEAgVG8gbm93IGxvZyBpbnRvIHRhcmdldHMgaXQgaXMgdGhlIHNhbWUgYXMgd2l0aCBzb2Z3YXJlIGlzY3NpLiBTZWUgc2VjdGlvbgorIAorIAkgICAgLi9pc2NzaWFkbSAtbSBkaXNjb3ZlcnlkYiAtdCBzdCAtcCAxOTIuMTY4LjEuMTozMjYwIC0tZGlzY292ZXIKKyAKKy0JVGhpcyB3aWxsIHNlYXJjaCAvZXRjL2lzY3NpL3NlbmRfdGFyZ2V0cyBmb3IgYSByZWNvcmQgd2l0aCB0aGUKKysJVGhpcyB3aWxsIHNlYXJjaCAvdmFyL2xpYi9pc2NzaS9zZW5kX3RhcmdldHMgZm9yIGEgcmVjb3JkIHdpdGggdGhlCisgCUlEIFtwb3J0YWwgPSAxOTIuMTY4LjEuMTozMjYwIGFuZCB0eXBlID0gc2VuZHRhcmdldHMuIElmIGZvdW5kIGl0CisgCXdpbGwgcGVyZm9ybSBkaXNjb3ZlcnkgdXNpbmcgdGhlIHNldHRpbmdzIHN0b3JlZCBpbiB0aGUgcmVjb3JkLgorIAlJZiBhIHJlY29yZCBkb2VzIG5vdCBleGlzdCwgaXQgd2lsbCBiZSBjcmVhdGVkIHVzaW5nIHRoZSBpc2NzaWQuY29uZgorQEAgLTcwNSw3ICs3MDUsNyBAQCBUbyBub3cgbG9nIGludG8gdGFyZ2V0cyBpdCBpcyB0aGUgc2FtZSBhcyB3aXRoIHNvZndhcmUgaXNjc2kuIFNlZSBzZWN0aW9uCisgCVRoZSBhcmd1bWVudCB0byAtcCBtYXkgYWxzbyBiZSBhIGhvc3RuYW1lIGluc3RlYWQgb2YgYW4gYWRkcmVzcy4KKyAJICAgIC4vaXNjc2lhZG0gLW0gZGlzY292ZXJ5ZGIgLXQgc3QgLXAgc21vZWhvc3QgLS1kaXNjb3ZlcgorIAorLQlGb3IgdGhlIGlmYWNlcywgaXNjc2lhZG0gd2lsbCBmaXJzdCBzZWFyY2ggL2V0Yy9pc2NzaS9pZmFjZXMgZm9yCisrCUZvciB0aGUgaWZhY2VzLCBpc2NzaWFkbSB3aWxsIGZpcnN0IHNlYXJjaCAvdmFyL2xpYi9pc2NzaS9pZmFjZXMgZm9yCisgCWludGVyZmFjZXMgdXNpbmcgc29mdHdhcmUgaXNjc2kuIElmIGFueSBhcmUgZm91bmQgdGhlbiBub2RlcyBmb3VuZAorIAlkdXJpbmcgZGlzY292ZXJ5IHdpbGwgYmUgc2V0dXAgc28gdGhhdCB0aGV5IGNhbiBsb2dnZWQgaW4gdGhyb3VnaAorIAl0aG9zZSBpbnRlcmZhY2VzLiBUbyBzcGVjaWZ5IGEgc3BlY2lmaWMgaWZhY2UsIHBhc3MgdGhlCitAQCAtNzYxLDcgKzc2MSw3IEBAIFRvIG5vdyBsb2cgaW50byB0YXJnZXRzIGl0IGlzIHRoZSBzYW1lIGFzIHdpdGggc29md2FyZSBpc2NzaS4gU2VlIHNlY3Rpb24KKyAJVGhpcyBjb21tYW5kIHdpbGwgcGVyZm9ybSBkaXNjb3ZlcnksIGJ1dCBub3QgbWFuaXB1bGF0ZSB0aGUgbm9kZSBEQi4KKyAKKyAgIC0gU2VuZFRhcmdldHMgaVNDU0kgRGlzY292ZXJ5IHdpdGggYSBzcGVjaWZpYyBpbnRlcmZhY2UuIElmIHlvdQorLQl3aXNoIHRvIG9ubHkgdXNlIGEgc3Vic2V0IG9mIHRoZSBpbnRlcmZhY2VzIGluIC9ldGMvaXNjc2kvaWZhY2VzCisrCXdpc2ggdG8gb25seSB1c2UgYSBzdWJzZXQgb2YgdGhlIGludGVyZmFjZXMgaW4gL3Zhci9saWIvaXNjc2kvaWZhY2VzCisgCXRoZW4geW91IGNhbiBwYXNzIHRoZW0gaW4gZHVyaW5nIGRpc2NvdmVyeToKKyAKKyAJICAgICAuL2lzY3NpYWRtIC1tIGRpc2NvdmVyeWRiIC10IHNlbmR0YXJnZXRzIC1wIDE5Mi4xNjguMS4xOjMyNjAgXAorQEAgLTEwNzIsOCArMTA3Miw4IEBAIHdoZXJlIHRhcmdldG5hbWUgaXMgdGhlIG5hbWUgb2YgdGhlIHRhcmdldCBhbmQgaXBfYWRkcmVzczpwb3J0IGlzIHRoZSBhZGRyZXNzCisgYW5kIHBvcnQgb2YgdGhlIHBvcnRhbC4gdHBndCwgaXMgdGhlIHBvcnRhbCBncm91cCB0YWcgb2YKKyB0aGUgcG9ydGFsLCBhbmQgaXMgbm90IHVzZWQgaW4gaXNjc2lhZG0gY29tbWFuZHMgZXhjZXB0IGZvciBzdGF0aWMKKyByZWNvcmQgY3JlYXRpb24uIEFuZCBpZmFjZSBuYW1lIGlzIHRoZSBuYW1lIG9mIHRoZSBpc2NzaSBpbnRlcmZhY2UKKy1kZWZpbmVkIGluIC9ldGMvaXNjc2kvaWZhY2VzLiBJZiBubyBpbnRlcmZhY2Ugd2FzIGRlZmluZWQgaW4KKy0vZXRjL2lzY3NpL2lmYWNlcyBvciBwYXNzZWQgaW4sIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHVzZWQuCisrZGVmaW5lZCBpbiAvdmFyL2xpYi9pc2NzaS9pZmFjZXMuIElmIG5vIGludGVyZmFjZSB3YXMgZGVmaW5lZCBpbgorKy92YXIvbGliL2lzY3NpL2lmYWNlcyBvciBwYXNzZWQgaW4sIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHVzZWQuCisgRGVmYXVsdCBoZXJlIGlzIGlzY3NpX3RjcC90Y3AgdG8gYmUgdXNlZCBvdmVyIHdoaWNoIGV2ZXIgTklDIHRoZQorIG5ldHdvcmsgbGF5ZXIgZGVjaWRlcyBpcyBiZXN0LgorIAorQEAgLTExODgsNyArMTE4OCw3IEBAIElmIHNldCwgaXNjc2lkIHdpbGwgcGVyZm9ybSBkaXNjb3ZlcnkgdG8gdGhlIGFkZHJlc3MgZXZlcnkKKyBkaXNjb3ZlcnkuaXNucy5kaXNjb3ZlcnlkX3BvbGxfaW52YWwgb3IKKyBkaXNjb3Zlcnkuc2VuZHRhcmdldHMuZGlzY292ZXJ5ZF9wb2xsX2ludmFsIHNlY29uZHMsCisgYW5kIGl0IHdpbGwgbG9nIGludG8gYW55IHBvcnRhbHMgZm91bmQgZnJvbSB0aGUgZGlzY292ZXJ5IHNvdXJjZSB1c2luZworLXRoZSBpZmFjZXMgaW4gL2V0Yy9pc2NzaS9pZmFjZXMuCisrdGhlIGlmYWNlcyBpbiAvdmFyL2xpYi9pc2NzaS9pZmFjZXMuCisgCisgTm90ZSB0aGF0IGZvciBpU05TIHRoZSBwb2xsX2ludGVydmFsIGRvZXMgbm90IGhhdmUgdG8gYmUgc2V0LiBJZiBub3Qgc2V0LAorIGlzY3NpZCB3aWxsIG9ubHkgcGVyZm9ybSByZWRpc2NvdmVyeSB3aGVuIGl0IGdldHMgYSBTQ04gZnJvbSB0aGUgc2VydmVyLgorZGlmZiAtLWdpdCBhL2RvYy9pc2NzaWFkbS44IGIvZG9jL2lzY3NpYWRtLjgKK2luZGV4IDdjMjA5ZjYuLmU5NGNjYTAgMTAwNjQ0CistLS0gYS9kb2MvaXNjc2lhZG0uOAorKysrIGIvZG9jL2lzY3NpYWRtLjgKK0BAIC04OSw3ICs4OSw3IEBAIFRoaXMgb3B0aW9uIGlzIG9ubHkgdmFsaWQgZm9yIHBpbmcgc3VibW9kZS4KKyAuVFAKKyBcZkJcLUlcZlIsIFxmQlwtXC1pbnRlcmZhY2U9XGZJW2lmYWNlXVxmUgorIFRoZSBpbnRlcmZhY2UgYXJndW1lbnQgc3BlY2lmaWVzIHRoZSBpU0NTSSBpbnRlcmZhY2UgdG8gdXNlIGZvciB0aGUgb3BlcmF0aW9uLgorLWlTQ1NJIGludGVyZmFjZXMgKGlmYWNlKSBhcmUgZGVmaW5lZCBpbiAvZXRjL2lzY3NpL2lmYWNlcy4gRm9yIGhhcmR3YXJlCisraVNDU0kgaW50ZXJmYWNlcyAoaWZhY2UpIGFyZSBkZWZpbmVkIGluIC92YXIvbGliL2lzY3NpL2lmYWNlcy4gRm9yIGhhcmR3YXJlCisgaVNDU0kgKHFsYTR4eHgpIHRoZSBpZmFjZSBjb25maWcgbXVzdCBoYXZlIHRoZSBoYXJkd2FyZSBhZGRyZXNzCisgKGlmYWNlLmh3YWRkcmVzcyA9IHBvcnQncyBNQUMgYWRkcmVzcykKKyBhbmQgdGhlIGRyaXZlci90cmFuc3BvcnRfbmFtZSAoaWZhY2UudHJhbnNwb3J0X25hbWUpLiBUaGUgaWZhY2UncyBuYW1lIGlzCitAQCAtMTY2LDcgKzE2Niw3IEBAIElmIG5vIG90aGVyIG9wdGlvbnMgYXJlIHNwZWNpZmllZDogZm9yIFxmSWRpc2NvdmVyeWRiXGZSIGFuZCBcZklub2RlXGZSLCBhbGwKKyBvZiB0aGVpciByZXNwZWN0aXZlIHJlY29yZHMgYXJlIGRpc3BsYXllZDsgZm9yIFxmSXNlc3Npb25cZlIsIGFsbCBhY3RpdmUKKyBzZXNzaW9ucyBhbmQgY29ubmVjdGlvbnMgYXJlIGRpc3BsYXllZDsgZm9yIFxmSWZ3XGZSLCBhbGwgYm9vdCBmaXJtd2FyZQorIHZhbHVlcyBhcmUgZGlzcGxheWVkOyBmb3IgXGZJaG9zdFxmUiwgYWxsIGlTQ1NJIGhvc3RzIGFyZSBkaXNwbGF5ZWQ7IGFuZAorLWZvciBcZklpZmFjZVxmUiwgYWxsIGlmYWNlcyBzZXR1cCBpbiAvZXRjL2lzY3NpL2lmYWNlcyBhcmUgZGlzcGxheWVkLgorK2ZvciBcZklpZmFjZVxmUiwgYWxsIGlmYWNlcyBzZXR1cCBpbiAvdmFyL2xpYi9pc2NzaS9pZmFjZXMgYXJlIGRpc3BsYXllZC4KKyAKKyAuVFAKKyBcZkJcLW5cZlIsIFxmQlwtXC1uYW1lPVxmSW5hbWVcZlIKK0BAIC01MzUsMTAgKzUzNSwxMCBAQCBUaGUgY29uZmlndXJhdGlvbiBmaWxlIHJlYWQgYnkgXGZCaXNjc2lkXGZSIGFuZCBcZkJpc2NzaWFkbVxmUiBvbiBzdGFydHVwLgorIFRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlIGlTQ1NJIEluaXRpYXRvck5hbWUgYW5kIEluaXRpYXRvckFsaWFzIHJlYWQgYnkKKyBcZkJpc2NzaWRcZlIgYW5kIFxmQmlzY3NpYWRtXGZSIG9uIHN0YXJ0dXAuCisgLlRQCistL2V0Yy9pc2NzaS9ub2Rlcy8KKysvdmFyL2xpYi9pc2NzaS9ub2Rlcy8KKyBUaGlzIGRpcmVjdG9yeSBjb250YWlucyB0aGUgbm9kZXMgd2l0aCB0aGVpciB0YXJnZXRzLgorIC5UUAorLS9ldGMvaXNjc2kvc2VuZF90YXJnZXRzCisrL3Zhci9saWIvaXNjc2kvc2VuZF90YXJnZXRzCisgVGhpcyBkaXJlY3RvcnkgY29udGFpbnMgdGhlIHBvcnRhbHMuCisgCisgLlNIICJTRUUgQUxTTyIKK2RpZmYgLS1naXQgYS91c3IvaWRibS5jIGIvdXNyL2lkYm0uYworaW5kZXggNGQzMGFhOS4uMzE2ZTU0ZiAxMDA2NDQKKy0tLSBhL3Vzci9pZGJtLmMKKysrKyBiL3Vzci9pZGJtLmMKK0BAIC0yNDY4LDkgKzI0NjgsOSBAQCBmcmVlX2luZm86CisgaW50IGlkYm1faW5pdChpZGJtX2dldF9jb25maWdfZmlsZV9mbiAqZm4pCisgeworIAkvKiBtYWtlIHN1cmUgcm9vdCBkYiBkaXIgaXMgdGhlcmUgKi8KKy0JaWYgKGFjY2VzcyhJU0NTSV9DT05GSUdfUk9PVCwgRl9PSykgIT0gMCkgeworLQkJaWYgKG1rZGlyKElTQ1NJX0NPTkZJR19ST09ULCAwNjYwKSAhPSAwKSB7CistCQkJbG9nX2Vycm9yKCJDb3VsZCBub3QgbWFrZSAlcyAlZFxuIiwgSVNDU0lfQ09ORklHX1JPT1QsCisrCWlmIChhY2Nlc3MoSVNDU0lWQVIsIEZfT0spICE9IDApIHsKKysJCWlmIChta2RpcihJU0NTSVZBUiwgMDY2MCkgIT0gMCkgeworKwkJCWxvZ19lcnJvcigiQ291bGQgbm90IG1ha2UgJXMgJWRcbiIsIElTQ1NJVkFSLAorIAkJCQkgICBlcnJubyk7CisgCQkJcmV0dXJuIGVycm5vOworIAkJfQorZGlmZiAtLWdpdCBhL3Vzci9pZGJtLmggYi91c3IvaWRibS5oCitpbmRleCAyNDVmMDQ2Li5mNDVlODZlIDEwMDY0NAorLS0tIGEvdXNyL2lkYm0uaAorKysrIGIvdXNyL2lkYm0uaAorQEAgLTI4LDEyICsyOCwxNiBAQAorICNpbmNsdWRlICJjb25maWcuaCIKKyAjaW5jbHVkZSAibGlzdC5oIgorIAorLSNkZWZpbmUgTk9ERV9DT05GSUdfRElSCQlJU0NTSV9DT05GSUdfUk9PVCJub2RlcyIKKy0jZGVmaW5lIFNMUF9DT05GSUdfRElSCQlJU0NTSV9DT05GSUdfUk9PVCJzbHAiCistI2RlZmluZSBJU05TX0NPTkZJR19ESVIJCUlTQ1NJX0NPTkZJR19ST09UImlzbnMiCistI2RlZmluZSBTVEFUSUNfQ09ORklHX0RJUglJU0NTSV9DT05GSUdfUk9PVCJzdGF0aWMiCistI2RlZmluZSBGV19DT05GSUdfRElSCQlJU0NTSV9DT05GSUdfUk9PVCJmdyIKKy0jZGVmaW5lIFNUX0NPTkZJR19ESVIJCUlTQ1NJX0NPTkZJR19ST09UInNlbmRfdGFyZ2V0cyIKKysjZGVmaW5lIElTQ1NJVkFSCQkJIi92YXIvbGliL2lzY3NpLyIKKysKKysjZGVmaW5lIE5PREVfQ09ORklHX0RJUiAgICBJU0NTSVZBUiJub2RlcyIKKysjZGVmaW5lIFNMUF9DT05GSUdfRElSICAgICBJU0NTSVZBUiJzbHAiCisrI2RlZmluZSBJU05TX0NPTkZJR19ESVIgICAgSVNDU0lWQVIiaXNucyIKKysjZGVmaW5lIFNUQVRJQ19DT05GSUdfRElSICBJU0NTSVZBUiJzdGF0aWMiCisrI2RlZmluZSBGV19DT05GSUdfRElSICAgICAgSVNDU0lWQVIiZnciCisrI2RlZmluZSBTVF9DT05GSUdfRElSICAgICAgSVNDU0lWQVIic2VuZF90YXJnZXRzIgorKworKworICNkZWZpbmUgU1RfQ09ORklHX05BTUUJCSJzdF9jb25maWciCisgI2RlZmluZSBJU05TX0NPTkZJR19OQU1FCSJpc25zX2NvbmZpZyIKKyAKK2RpZmYgLS1naXQgYS91c3IvaWZhY2UuaCBiL3Vzci9pZmFjZS5oCitpbmRleCAwMWY3MDc0Li4yYzZlZjcyIDEwMDY0NAorLS0tIGEvdXNyL2lmYWNlLmgKKysrKyBiL3Vzci9pZmFjZS5oCitAQCAtMjAsNyArMjAsOCBAQAorICNpZm5kZWYgSVNDU0lfSUZBQ0VfSAorICNkZWZpbmUgSVNDU0lfSUZBQ0VfSAorIAorLSNkZWZpbmUgSUZBQ0VfQ09ORklHX0RJUglJU0NTSV9DT05GSUdfUk9PVCJpZmFjZXMiCisrI2luY2x1ZGUgImlkYm0uaCIKKysjZGVmaW5lIElGQUNFX0NPTkZJR19ESVIJSVNDU0lWQVIiaWZhY2VzIgorIAorIHN0cnVjdCBpZmFjZV9yZWM7Cisgc3RydWN0IGxpc3RfaGVhZDsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvZmlsZXMvaXNjc2ktaW5pdGlhdG9yLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvci5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxMzk3NTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzL2lzY3NpLWluaXRpYXRvci5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249T3Blbi1pU0NTSSBpbml0aWF0b3IgKGkuZS4gY2xpZW50KSBzZXJ2aWNlCitBZnRlcj1zeXNsb2cudGFyZ2V0CisKK1tTZXJ2aWNlXQorRW52aXJvbm1lbnRGaWxlPS9ldGMvZGVmYXVsdC9pc2NzaS1pbml0aWF0b3IKK0V4ZWNTdGFydFByZT0vc2Jpbi9tb2Rwcm9iZSBpc2NzaV90Y3AKK0V4ZWNTdGFydD0vdXNyL3NiaW4vaXNjc2lkIC1mICRPUFRTX0lTQ1NJRAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzXzIuMC04NzMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2lzY3NpLWluaXRpYXRvci11dGlsc18yLjAtODczLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzZjY0NTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2lzY3NpLWluaXRpYXRvci11dGlsc18yLjAtODczLmJiCkBAIC0wLDAgKzEsMTEzIEBACitTVU1NQVJZID0gImlTQ1NJIGRhZW1vbiBhbmQgdXRpbGl0eSBwcm9ncmFtcyIKK0RFU0NSSVBUSU9OID0gIk9wZW4taVNDU0kgcHJvamVjdCBpcyBhIGhpZ2ggcGVyZm9ybWFuY2UsIHRyYW5zcG9ydCBcCitpbmRlcGVuZGVudCwgbXVsdGktcGxhdGZvcm0gaW1wbGVtZW50YXRpb24gb2YgUkZDMzcyMC4gVGhlIGlzY3NpIHBhY2thZ2UgXAorcHJvdmlkZXMgdGhlIHNlcnZlciBkYWVtb24gZm9yIHRoZSBpU0NTSSBwcm90b2NvbCwgYXMgd2VsbCBhcyB0aGUgdXRpbGl0eSBcCitwcm9ncmFtcyB1c2VkIHRvIG1hbmFnZSBpdC4gaVNDU0kgaXMgYSBwcm90b2NvbCBmb3IgZGlzdHJpYnV0ZWQgXAorZGlzayBhY2Nlc3MgdXNpbmcgU0NTSSBjb21tYW5kcyBzZW50IG92ZXIgSW50ZXJuZXQgUHJvdG9jb2wgbmV0d29ya3MuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVuLWlzY3NpLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitTRUNUSU9OID0gIm5ldCIKK0RFUEVORFMgPSAib3BlbnNzbCBmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCisKK0xJQ19GSUxFU19DSEtTVU0gPSBcCisgICAgICAgICJmaWxlOi8vQ09QWUlORzttZDU9MzkzYTVjYTQ0NWY2OTY1ODczZWNhMDI1OWExN2Y4MzMgXAorICAgICAgICAgZmlsZTovL3V0aWxzL29wZW4taXNucy9DT1BZSU5HO21kNT03ZmJjMzM4MzA5YWMzOGZlZmNkNjRiMDRiYjkwM2UzNCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm9wZW4taXNjc2kub3JnL2JpdHMvb3Blbi1pc2NzaS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vaXNjc2ktaW5pdGlhdG9yLXV0aWxzLXVzZS12YXItZm9yLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pc2NzaS1pbml0aWF0b3ItdXRpbHMtZG9udC11c2Utc3RhdGljLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2luaXRkLmRlYmlhbiBcCisgICAgICAgICAgIGZpbGU6Ly85OV9pc2NzaS1pbml0aWF0b3ItdXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vaXNjc2ktaW5pdGlhdG9yIFwKKyAgICAgICAgICAgZmlsZTovL2lzY3NpLWluaXRpYXRvci5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL2lzY3NpLWluaXRpYXRvci10YXJnZXRzLnNlcnZpY2UgXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjhiODMxNmQ3Yzk0NjkxNDlhNmNjNjIzNDQ3ODM0N2Y3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdkZDlmMmY5N2RhNDE3NTYwMzQ5YThkYTQ0ZWE0ZmNmZTk4YmZkNWVmMjg0MjQwYTJjYzRmZjhlODhhYzdjZDkiCisKK1MgPSAiJHtXT1JLRElSfS9vcGVuLWlzY3NpLSR7UFZ9IgorCitpbmhlcml0IHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCitkb19jb25maWd1cmUgKCkgeworICAgICNuZWVkIHRvIHN1cHBvcnQgY3Jvc3MtY29tcGlsaW5nIGluIG9wZW4taXNucyBvbmx5CisgICAgKGNkIHV0aWxzL29wZW4taXNuczsgZ251LWNvbmZpZ2l6ZTsgXAorICAgICAuL2NvbmZpZ3VyZSAtLWhvc3Q9JHtUQVJHRVRfU1lTfSAtLWJ1aWxkPSR7QlVJTERfU1lTfSAtLXdpdGgtc2VjdXJpdHk9bm8gKQorfQorCitkb19jb21waWxlICgpIHsKKyAgICAjbWFrZSBpc2NzaXN0YXJ0IG9uZSBvZiBQUk9HUkFNUyBpZiBpbnN0YWxsX3VzZXIgaW4gZG9faW5zdGFsbAorICAgICNzZWQgLWkgLWUgJy9eUFJPR1JBTVMgPSAvczskOyB1c3IvaXNjc2lzdGFydDsnIE1ha2VmaWxlCisKKyAgICAjZml4IHRoZSBhciB1c2VkIGluIG9wZW4taXNucworICAgIHNlZCAtaSAtZSAnczphciBjciA6JChBUikgY3IgOicgJHtTfS91dGlscy9vcGVuLWlzbnMvTWFrZWZpbGUKKyAgICBvZV9ydW5tYWtlIHVzZXIKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgI2NvbXBsZXRlbHkgb3ZlcnJpZGUgdGhlIGluc3RhbGxfdXNlciBhcyBidWdzIGluIE1ha2VmaWxlCisgICAgI29lX3J1bm1ha2UgREVTVERJUj0iJHtEfSIgaW5zdGFsbF91c2VyCisKKyAgICAjaW5zdGFsbCBuZWNlc3NhcnkgZGlyZWN0b3JpZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9IFwKKyAgICAgICAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIFwKKyAgICAgICAgJHtEfSR7c3lzY29uZmRpcn0vaXNjc2kgXAorICAgICAgICAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvaXNjc2kvbm9kZXMgXAorICAgICAgICAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvaXNjc2kvc2VuZF90YXJnZXRzIFwKKyAgICAgICAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2lzY3NpL3N0YXRpYyBcCisgICAgICAgICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9pc2NzaS9pc25zIFwKKyAgICAgICAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2lzY3NpL3NscCBcCisgICAgICAgICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9pc2NzaS9pZmFjZXMgXAorICAgICAgICAke0R9LyR7bWFuZGlyfS9tYW44CisKKyAgICBpbnN0YWxsIC1wIC1tIDc1NSAke1N9L3Vzci9pc2NzaWQgJHtTfS91c3IvaXNjc2lhZG0gXAorICAgICAgICAke1N9L3V0aWxzL2lzY3NpLWluYW1lIFwKKyAgICAgICAgJHtTfS91c3IvaXNjc2lzdGFydCAke0R9LyR7c2JpbmRpcn0KKworICAgIGluc3RhbGwgLXAgLW0gNjQ0ICR7U30vZG9jL2lzY3NpYWRtLjggJHtTfS9kb2MvaXNjc2lkLjggJHtEfS8ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLXAgLW0gNjQ0ICR7U30vZXRjL2lzY3NpZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2lzY3NpCisgICAgaW5zdGFsbCAtcCAtbSA3NTUgJHtXT1JLRElSfS9pbml0ZC5kZWJpYW4gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2lzY3NpZAorCisgICAgc2VkIC1pIC1lICJzOj0gL3NiaW4vaXNjc2lkOj0gJHtzYmluZGlyfS9pc2NzaWQ6IiAke0R9JHtzeXNjb25mZGlyfS9pc2NzaS9pc2NzaWQuY29uZgorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCisgICAgICAgIGVjaG8gImQgL3J1bi8ke0JQTn0vbG9jayAtIC0gLSAtIiBcCisgICAgICAgICAgICAgICAgICAgICA+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvaXNjc2kuY29uZgorICAgICAgICBpbnN0YWxsIC1kICR7RH0vZXRjL2RlZmF1bHQvCisgICAgICAgIGluc3RhbGwgLXAgLW0gNzU1ICR7V09SS0RJUn0vaXNjc2ktaW5pdGlhdG9yICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vaXNjc2ktaW5pdGlhdG9yLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtXT1JLRElSfS9pc2NzaS1pbml0aWF0b3ItdGFyZ2V0cy5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworICAgIGVsc2UKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9L2V0Yy9kZWZhdWx0L3ZvbGF0aWxlcworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS85OV9pc2NzaS1pbml0aWF0b3ItdXRpbHMgJHtEfS9ldGMvZGVmYXVsdC92b2xhdGlsZXMKKyAgICBmaQorfQorCitwa2dfcG9zdGluc3RfJHtQTn0oKSB7CisgICAgI2RlZmF1bHQgdGhlcmUgaXMgbm8gaW5pdGlhdG9ybmFtZS5pc2NzaSBpbnN0YWxsZWQKKyAgICAjYnV0IGl0IGlzIG5lZWRlZCBvciBpc2NzaWQgd2lsbCBmYWlsCisKKyAgICAjd2lsbCBydW4gb25seSB3aGVuIHBvc3RpbnN0IG9uIHRhcmdldAorICAgIGlmIFsgIngkRCIgIT0gIngiIF07IHRoZW4KKyAgICAgICAgZXhpdCAxCisgICAgZmkKKyAgICBpZiBbICEgLWYgJHtzeXNjb25mZGlyfS9pc2NzaS9pbml0aWF0b3JuYW1lLmlzY3NpIF07IHRoZW4KKyAgICAgICAgZWNobyAiSW5pdGlhdG9yTmFtZT0kKCR7c2JpbmRpcn0vaXNjc2ktaW5hbWUpIiA+IFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9pc2NzaS9pbml0aWF0b3JuYW1lLmlzY3NpCisgICAgZmkKKworICAgIGlmIFsgLWUgL2V0Yy9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggXTsgdGhlbgorICAgICAgICAvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKKyAgICBlbGlmIGNvbW1hbmQgLXYgc3lzdGVtZC10bXBmaWxlcyA+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIHN5c3RlbWQtdG1wZmlsZXMgLS1jcmVhdGUgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2lzY3NpLmNvbmYKKyAgICBmaQorfQorCitTWVNURU1EX1NFUlZJQ0UgPSAiIGlzY3NpLWluaXRpYXRvci5zZXJ2aWNlIGlzY3NpLWluaXRpYXRvci10YXJnZXRzLnNlcnZpY2UgIgorSU5JVFNDUklQVF9OQU1FID0gImlzY3NpZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDMwIDEgMiAzIDQgNSAuIHN0b3AgNzAgMCAxIDIgMyA0IDUgNiAuIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2xsZHBkL2ZpbGVzL2xsZHBkLmRlZmF1bHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvbGxkcGQvZmlsZXMvbGxkcGQuZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWNhY2ZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2xsZHBkL2ZpbGVzL2xsZHBkLmRlZmF1bHQKQEAgLTAsMCArMSwyIEBACisjIFVuY29tbWVudCB0byBzdGFydCBTTk1QIHN1YmFnZW50IGFuZCBlbmFibGUgQ0RQLCBTT05NUCBhbmQgRURQIHByb3RvY29sCisjREFFTU9OX0FSR1M9Ii14IC1jIC1zIC1lIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2xsZHBkL2ZpbGVzL2xsZHBkLmluaXQuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9sbGRwZC9maWxlcy9sbGRwZC5pbml0LmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODhiZjk1OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9sbGRwZC9maWxlcy9sbGRwZC5pbml0LmQKQEAgLTAsMCArMSwxMjggQEAKKyMhIC9iaW4vc2gKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIGxsZHBkCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkcmVtb3RlX2ZzICRuZXR3b3JrICRzeXNsb2cKKyMgUmVxdWlyZWQtU3RvcDogICAgICRuZXR3b3JrICRyZW1vdGVfZnMgJHN5c2xvZworIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IExMRFAgZGFlbW9uCisjIERlc2NyaXB0aW9uOiAgICAgICBsbGRwZCBpcyBhIDgwMi4xQUIgaW1wbGVtZW50YXRpb24sIGEgTDIgbmV0d29yaworIyAgICAgICAgICAgICAgICAgICAgZGlzY292ZXJ5IHByb3RvY29sLiBJdCBhbHNvIHN1cHBvcnRzIENEUCwgRURQIGFuZAorIyAgICAgICAgICAgICAgICAgICAgdmFyaW91cyBvdGhlciBwcm90b2NvbHMuCisjIyMgRU5EIElOSVQgSU5GTworCisjIERvIE5PVCAic2V0IC1lIgorCitsb2dfZGFlbW9uX21zZygpIHsKKyAgICBlY2hvICQqCit9CisKK2xvZ19lbmRfbXNnKCkgeworICAgIGlmIFsgJDEgLWVxIDAgXTsgdGhlbgorICAgICAgICBzdWNjZXNzICQqCisgICAgZWxzZQorICAgICAgICBmYWlsdXJlICQqCisgICAgZmkKK30KKworbG9nX2ZhaWx1cmVfbXNnKCkgeworICAgIGVjaG8gJCoKK30KKworbG9nX3N1Y2Nlc3NfbXNnKCkgeworICAgIGVjaG8gJCoKK30KKworCisjIFBBVEggc2hvdWxkIG9ubHkgaW5jbHVkZSAvdXNyLyogaWYgaXQgcnVucyBhZnRlciB0aGUgbW91bnRuZnMuc2ggc2NyaXB0CitQQVRIPS9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluCitERVNDPSJMTERQIGRhZW1vbiIKK05BTUU9bGxkcGQKK0RBRU1PTj0vdXNyL3NiaW4vJE5BTUUKK0RBRU1PTl9BUkdTPSIiCitQSURGSUxFPS92YXIvcnVuLyROQU1FLnBpZAorU0NSSVBUTkFNRT0vZXRjL2luaXQuZC8kTkFNRQorQ0hST09UPS92YXIvcnVuLyROQU1FCisKKyMgRXhpdCBpZiB0aGUgcGFja2FnZSBpcyBub3QgaW5zdGFsbGVkCitbIC14ICIkREFFTU9OIiBdIHx8IGV4aXQgMAorCisjIFJlYWQgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBmaWxlIGlmIGl0IGlzIHByZXNlbnQKK1sgLXIgL2V0Yy9kZWZhdWx0LyROQU1FIF0gJiYgLiAvZXRjL2RlZmF1bHQvJE5BTUUKKworIyBMU0IgbG9nXyogZnVuY3Rpb25zCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCitkb19zdGFydCgpCit7CisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLWV4ZWMgJERBRU1PTiAtLSBcCisJCSREQUVNT05fQVJHUyBcCisJCXx8IHJldHVybiAyCit9CisKK2RvX3N0b3AoKQoreworCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tcmV0cnk9VEVSTS8zMC9LSUxMLzUgLS1waWRmaWxlICRQSURGSUxFIC0tbmFtZSAkTkFNRQorCVJFVFZBTD0iJD8iCisJWyAiJFJFVFZBTCIgPSAyIF0gJiYgcmV0dXJuIDIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLW9rbm9kbyAtLXJldHJ5PTAvMzAvS0lMTC81IC0tZXhlYyAkREFFTU9OCisJWyAiJD8iID0gMiBdICYmIHJldHVybiAyCisJcm0gLWYgJFBJREZJTEUKKwlyZXR1cm4gIiRSRVRWQUwiCit9CisKK2RvX3JlbG9hZCgpIHsKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1zaWduYWwgMSAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLW5hbWUgJE5BTUUKKwlyZXR1cm4gMAorfQorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisJWyAiJFZFUkJPU0UiICE9IG5vIF0gJiYgbG9nX2RhZW1vbl9tc2cgIlN0YXJ0aW5nICRERVNDIiAiJE5BTUUiCisJZG9fc3RhcnQKKwljYXNlICIkPyIgaW4KKwkJMHwxKSBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBsb2dfZW5kX21zZyAwIDs7CisJCTIpIFsgIiRWRVJCT1NFIiAhPSBubyBdICYmIGxvZ19lbmRfbXNnIDEgOzsKKwllc2FjCisJOzsKKyAgc3RvcCkKKwlbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBsb2dfZGFlbW9uX21zZyAiU3RvcHBpbmcgJERFU0MiICIkTkFNRSIKKwlkb19zdG9wCisJY2FzZSAiJD8iIGluCisJCTB8MSkgWyAiJFZFUkJPU0UiICE9IG5vIF0gJiYgbG9nX2VuZF9tc2cgMCA7OworCQkyKSBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBsb2dfZW5kX21zZyAxIDs7CisJZXNhYworCTs7CisgIHJlbG9hZCkKKwlsb2dfZGFlbW9uX21zZyAiUmVsb2FkaW5nICRERVNDIiAiJE5BTUUiCisJZG9fcmVsb2FkCisJbG9nX2VuZF9tc2cgJD8KKwk7OworICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKwlsb2dfZGFlbW9uX21zZyAiUmVzdGFydGluZyAkREVTQyIgIiROQU1FIgorCWRvX3N0b3AKKwljYXNlICIkPyIgaW4KKwkgIDB8MSkKKwkJZG9fc3RhcnQKKwkJY2FzZSAiJD8iIGluCisJCQkwKSBsb2dfZW5kX21zZyAwIDs7CisJCQkxKSBsb2dfZW5kX21zZyAxIDs7ICMgT2xkIHByb2Nlc3MgaXMgc3RpbGwgcnVubmluZworCQkJKikgbG9nX2VuZF9tc2cgMSA7OyAjIEZhaWxlZCB0byBzdGFydAorCQllc2FjCisJCTs7CisJICAqKQorCSAgCSMgRmFpbGVkIHRvIHN0b3AKKwkJbG9nX2VuZF9tc2cgMQorCQk7OworCWVzYWMKKwk7OworICBzdGF0dXMpCisJc3RhdHVzX29mX3Byb2MgJERBRU1PTiAkTkFNRSAtcCAkUElERklMRSAmJiBleGl0IDAgfHwgZXhpdCAkPworCTs7CisgICopCisJZWNobyAiVXNhZ2U6ICRTQ1JJUFROQU1FIHtzdGFydHxzdG9wfHJlc3RhcnR8cmVsb2FkfGZvcmNlLXJlbG9hZHxzdGF0dXN9IiA+JjIKKwlleGl0IDMKKwk7OworZXNhYworCis6CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvbGxkcGQvbGxkcGRfMC45LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvbGxkcGQvbGxkcGRfMC45LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdlZDA5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9sbGRwZC9sbGRwZF8wLjkuMi5iYgpAQCAtMCwwICsxLDY1IEBACitTVU1NQVJZID0gIkEgODAyLjFhYiBpbXBsZW1lbnRhdGlvbiAoTExEUCkgdG8gaGVscCB5b3UgbG9jYXRlIG5laWdoYm9ycyBvZiBhbGwgeW91ciBlcXVpcG1lbnRzIgorU0VDVElPTiA9ICJuZXQvbWlzYyIKK0xJQ0VOU0UgPSAiSVNDIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvSVNDO21kNT1mM2I5MGU3OGVhMGNmZmIyMGJmNWNjYTc5NDdhODk2ZCIKKworREVQRU5EUyA9ICJsaWJic2QgbGliZXZlbnQiCisKK1NSQ19VUkkgPSAiXAorICAgIGh0dHA6Ly9tZWRpYS5sdWZmeS5jeC9maWxlcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovL2xsZHBkLmluaXQuZCBcCisgICAgZmlsZTovL2xsZHBkLmRlZmF1bHQgXAorICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImI4MDk4ODdiYzkyN2ZiNTU4ZmQ1ZGQ2NGI2YzBhNDk0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYwNTRmMjlkNDFmYWYzMjE4NmEyMjMzMTg1M2EyOTljODdmNDQxOWI0MzMyZGY0YTU2NGY3NmExMzkzMDVhMzIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHVzZXJhZGQgc3lzdGVtZCBwa2djb25maWcgYmFzaC1jb21wbGV0aW9uCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC1nIGxsZHBkIC0tc2hlbGwgL2Jpbi9mYWxzZSBsbGRwZCIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIGxsZHBkIgorCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aG91dC1lbWJlZGRlZC1saWJldmVudCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1vbGRpZXMgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtcHJpdnNlcC11c2VyPWxsZHBkIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLXByaXZzZXAtZ3JvdXA9bGxkcGQgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1zeXN1c2Vyc2RpciBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJjZHAgZmRwIGVkcCBzb25tcCBsbGRwbWVkIGRvdDEgZG90MyIKK1BBQ0tBR0VDT05GSUdbanNvbl0gPSAiLS13aXRoLWpzb24sLS13aXRob3V0LWpzb24samFuc3NvbiIKK1BBQ0tBR0VDT05GSUdbeG1sXSA9ICItLXdpdGgteG1sLC0td2l0aG91dC14bWwsbGlieG0yIgorUEFDS0FHRUNPTkZJR1tzbm1wXSA9ICItLXdpdGgtc25tcCwtLXdpdGhvdXQtc25tcCxuZXQtc25tcCIKK1BBQ0tBR0VDT05GSUdbcmVhZGxpbmVdID0gIi0td2l0aC1yZWFkbGluZSwtLXdpdGhvdXQtcmVhZGxpbmUscmVhZGxpbmUiCitQQUNLQUdFQ09ORklHW3NlY2NvbXBdID0gIi0td2l0aC1zZWNjb21wLC0td2l0aG91dC1zZWNjb21wLGxpYnNlY2NvbXAiCitQQUNLQUdFQ09ORklHW2NkcF0gPSAiLS1lbmFibGUtY2RwLC0tZGlzYWJsZS1jZHAiCitQQUNLQUdFQ09ORklHW2ZkcF0gPSAiLS1lbmFibGUtZmRwLC0tZGlzYWJsZS1mZHAiCitQQUNLQUdFQ09ORklHW2VkcF0gPSAiLS1lbmFibGUtZWRwLC0tZGlzYWJsZS1lZHAiCitQQUNLQUdFQ09ORklHW3Nvbm1wXSA9ICItLWVuYWJsZS1zb25tcCwtLWRpc2FibGUtc29ubXAiCitQQUNLQUdFQ09ORklHW2xsZHBtZWRdID0gIi0tZW5hYmxlLWxsZHBtZWQsLS1kaXNhYmxlLWxsZHBtZWQiCitQQUNLQUdFQ09ORklHW2RvdDFdID0gIi0tZW5hYmxlLWRvdDEsLS1kaXNhYmxlLWRvdDEiCitQQUNLQUdFQ09ORklHW2RvdDNdID0gIi0tZW5hYmxlLWRvdDMsLS1kaXNhYmxlLWRvdDMiCitQQUNLQUdFQ09ORklHW2N1c3RvbV0gPSAiLS1lbmFibGUtY3VzdG9tLC0tZGlzYWJsZS1jdXN0b20iCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJsbGRwZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibGxkcGQuc2VydmljZSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtRG0gMDc1NSAke1dPUktESVJ9L2xsZHBkLmluaXQuZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbGxkcGQKKyAgICBpbnN0YWxsIC1EbSAwNjQ0ICR7V09SS0RJUn0vbGxkcGQuZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L2xsZHBkCisgICAgIyBNYWtlIGFuIGVtcHR5IGNvbmZpZ3VyYXRpb24gZmlsZQorICAgIHRvdWNoICR7RH0ke3N5c2NvbmZkaXJ9L2xsZHBkLmNvbmYKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LXpzaC1jb21wbGV0aW9uIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3N5c3VzZXJzLmQiCitSREVQRU5EU18ke1BOfSArPSAib3MtcmVsZWFzZSIKKworRklMRVNfJHtQTn0tenNoLWNvbXBsZXRpb24gKz0gIiR7ZGF0YWRpcn0venNoLyIKKyMgRklYTUU6IHpzaCBpcyBicm9rZW4gaW4gbWV0YS1vZSBzbyB0aGlzIGNhbm5vdCBiZSBlbmFibGVkIGZvciBub3cKKyNSREVQRU5EU18ke1BOfS16c2gtY29tcGxldGlvbiArPSAienNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL25jZnRwL25jZnRwL25jZnRwLWNvbmZpZ3VyZS11c2UtQlVJTERfQ0MtZm9yLWNjZHYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvbmNmdHAvbmNmdHAvbmNmdHAtY29uZmlndXJlLXVzZS1CVUlMRF9DQy1mb3ItY2Nkdi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTU5MDE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL25jZnRwL25jZnRwL25jZnRwLWNvbmZpZ3VyZS11c2UtQlVJTERfQ0MtZm9yLWNjZHYucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSAwNDNlMWE5ZWM4M2E1OTY3MWVmOGM0Y2FkNjc5ZGJmNzgxZTVlZjk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFN1biwgMjkgTm92IDIwMTUgMjM6Mzc6MDYgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgQlVJTERfQ0MgZm9yIGNjZHYKKworY2NkdiBpcyBpbnRlbmRlZCB0byBiZSBpbnZva2VkIGZyb20gTWFrZWZpbGVzIG9ubHksCitpdCBkb2Vzbid0IHdvcmsgZm9yIHRoZSBjcm9zcyBjb21waWxpbmcsIHNvIGNvbXBpbGUKK2l0IHdpdGggJEJVSUxEX0NDIGFuZCBjb3JyZXNwb25kaW5nIENGTEFHUy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjcm9zcyBjb21waWxlIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCitpbmRleCAyZjBmYWUwLi5hN2U5MTEyIDEwMDc1NQorLS0tIGEvY29uZmlndXJlCisrKysgYi9jb25maWd1cmUKK0BAIC0xMTI4Niw3ICsxMTI4Niw3IEBAIHBhbmljOgorIH0JLyogbWFpbiAqLworIC8qIGVvZiBjY2R2LmMgKi8KKyBFT0YKKy0JCSR7Q0MtY2N9ICRERUZTICRDUFBGTEFHUyAkQ0ZMQUdTICJjY2R2LmMiIC1vICJjY2R2IiA+L2Rldi9udWxsIDI+JjEKKysJCSR7QlVJTERfQ0N9ICRERUZTICR7QlVJTERfQ1BQRkxBR1N9ICR7QlVJTERfQ0ZMQUdTfSAiY2Nkdi5jIiAtbyAiY2NkdiIgPi9kZXYvbnVsbCAyPiYxCisgCXJtIC1mIGNjZHYuYyBjY2R2Lm8gY2Nkdi5jLmd6LnV1IGNjZHYuYy5negorIAlzdHJpcCAuL2NjZHYgPi9kZXYvbnVsbCAyPiYxCisgCS4vY2NkdiA+L2Rldi9udWxsIDI+JjEKKy0tIAorMi4zLjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL25jZnRwL25jZnRwXzMuMi41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL25jZnRwL25jZnRwXzMuMi41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5M2VhY2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvbmNmdHAvbmNmdHBfMy4yLjUuYmIKQEAgLTAsMCArMSwyNyBAQAorREVTQ1JJUFRJT04gPSAiQSBzb3BoaXN0aWNhdGVkIGNvbnNvbGUgZnRwIGNsaWVudCIKK0hPTUVQQUdFID0gImh0dHA6Ly9uY2Z0cC5jb20vIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkNsQXJ0aXN0aWMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9uY2Z0cC9jbWRzLmM7YmVnaW5saW5lPTM7ZW5kbGluZT00O21kNT05ZGU3NmZhZWFlZGM0ZjkwODA4MmUzZjgxNDI3MTVmNCIKK0RFUEVORFMgPSAibmN1cnNlcyIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbi8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL25jZnRwLWNvbmZpZ3VyZS11c2UtQlVJTERfQ0MtZm9yLWNjZHYucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjY4NWU0NWY2MGFjMTFjODk0NDJjNTcyYzI4YWY0MjI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFjMTExYjcxMTEyMzgyODUzYjI4MzVjNDJlYmU3YmQ1OWFjYjdmODVkZDAwZDQ0YjJjMTlmYmQwNzRhNDM2YzQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbY2Nkdl0gPSAiLS1lbmFibGUtY2NkdiwtLWRpc2FibGUtY2NkdiwsIgorCitkb19jb25maWd1cmUoKSB7CisgICAgb2VfcnVuY29uZgorfQorZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9ICR7RH0ke3N5c2NvbmZkaXJ9ICR7RH0ke21hbmRpcn0KKyAgICBvZV9ydW5tYWtlICdwcmVmaXg9JHtEfSR7cHJlZml4fScgJ0JJTkRJUj0ke0R9JHtiaW5kaXJ9JyBcCisgICAgICAgICdTWVNDT05GRElSPSR7RH0ke3N5c2NvbmZkaXJ9JyAnbWFuZGlyPSR7RH0ke21hbmRpcn0nIFwKKyAgICAgICAgaW5zdGFsbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZi8wMDAxLXBsbWNkLWVycm9yLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWYvMDAwMS1wbG1jZC1lcnJvci1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI0Y2QyZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWYvMDAwMS1wbG1jZC1lcnJvci1maXgucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorRnJvbSBmMTgxM2FmNGMxNTRmYjFkMzk1MGFiYmRmNjc4YzNhNWE2NzIyMmZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVGh1LCAyNSBKdW4gMjAxNSAxMTo0NDoyNyArMDkwMAorU3ViamVjdDogW1BBVENIXSBwbG1jZDogZXJyb3IgZml4CisKK2xkOiBjYW5ub3QgZmluZCAtbHN5c3RlbWQtZGFlbW9uCitjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgY29udHJpYi9wbG1jL3BsbWNkL01ha2VmaWxlLmFtIHwgMiArLQorIGNvbnRyaWIvcGxtYy9wbG1jZC9NYWtlZmlsZS5pbiB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGxtYy9wbG1jZC9NYWtlZmlsZS5hbSBiL2NvbnRyaWIvcGxtYy9wbG1jZC9NYWtlZmlsZS5hbQoraW5kZXggOGQ4NDdmMi4uZGQ3OTEzYSAxMDA2NDQKKy0tLSBhL2NvbnRyaWIvcGxtYy9wbG1jZC9NYWtlZmlsZS5hbQorKysrIGIvY29udHJpYi9wbG1jL3BsbWNkL01ha2VmaWxlLmFtCitAQCAtMzIsNyArMzIsNyBAQCBwbG1jZF9TT1VSQ0VTID0gXAorIHBsbWNkX0xERkxBR1MgPSAtbHB0aHJlYWQKKyAKKyBpZiBFTkFCTEVfU1lTVEVNRAorLXBsbWNkX0xERkxBR1MgKz0gLWxzeXN0ZW1kLWRhZW1vbgorK3BsbWNkX0xERkxBR1MgKz0gLWxzeXN0ZW1kCisgZW5kaWYKKyAKKyBwbG1jZF9MREFERCA9IFwKK2RpZmYgLS1naXQgYS9jb250cmliL3BsbWMvcGxtY2QvTWFrZWZpbGUuaW4gYi9jb250cmliL3BsbWMvcGxtY2QvTWFrZWZpbGUuaW4KK2luZGV4IDAxODVkYzQuLmU0MDUxM2EgMTAwNjQ0CistLS0gYS9jb250cmliL3BsbWMvcGxtY2QvTWFrZWZpbGUuaW4KKysrKyBiL2NvbnRyaWIvcGxtYy9wbG1jZC9NYWtlZmlsZS5pbgorQEAgLTEwNiw3ICsxMDYsNyBAQCBidWlsZF90cmlwbGV0ID0gQGJ1aWxkQAorIGhvc3RfdHJpcGxldCA9IEBob3N0QAorIHRhcmdldF90cmlwbGV0ID0gQHRhcmdldEAKKyBzYmluX1BST0dSQU1TID0gcGxtY2QkKEVYRUVYVCkKKy1ARU5BQkxFX1NZU1RFTURfVFJVRUBhbV9fYXBwZW5kXzEgPSAtbHN5c3RlbWQtZGFlbW9uCisrQEVOQUJMRV9TWVNURU1EX1RSVUVAYW1fX2FwcGVuZF8xID0gLWxzeXN0ZW1kCisgc3ViZGlyID0gcGxtY2QKKyBBQ0xPQ0FMX000ID0gJCh0b3Bfc3JjZGlyKS9hY2xvY2FsLm00CisgYW1fX2FjbG9jYWxfbTRfZGVwcyA9ICQodG9wX3NyY2RpcikvY29uZmlndXJlLmFjCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZi9pbnN0YWxsLXNhbXBsZXMtZnJvbS1zcmNkaXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmL2luc3RhbGwtc2FtcGxlcy1mcm9tLXNyY2Rpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTZiNjRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZi9pbnN0YWxsLXNhbXBsZXMtZnJvbS1zcmNkaXIucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIG9wZW5zYWYtNC41LjAub3JpZy9NYWtlZmlsZS5hbQkyMDE0LTEyLTMxIDE0OjQ1OjU0LjA4ODc5Nzk4OSArMDgwMAorKysrIG9wZW5zYWYtNC41LjAvTWFrZWZpbGUuYW0JMjAxNC0xMi0zMSAxNDo0NTowOC4zMjg3OTY2ODggKzA4MDAKK0BAIC0yMTksNyArMjE5LDcgQEAgaW5zdGFsbC1kYXRhLWxvY2FsOgorIAkkKG1raW5zdGFsbGRpcnMpICQoREVTVERJUikkKHBrZ3BpZGRpcikKKyAJJChta2luc3RhbGxkaXJzKSAkKERFU1RESVIpJChsb2NrZGlyKQorIAkkKG1raW5zdGFsbGRpcnMpICQoREVTVERJUikkKHBrZ2xvY2Fsc3RhdGVkaXIpCistCWNwIC1SIHNhbXBsZXMvICQoREVTVERJUikkKHBrZ2RhdGFkaXIpCisrCWNwIC1SICQoc3JjZGlyKS9zYW1wbGVzLyAkKERFU1RESVIpJChwa2dkYXRhZGlyKQorIAorIGluc3RhbGwtZGF0YS1ob29rOgorIAlAZm9yIGkgaW4gJCQoZ3JlcCAtbHIgLWUgJ3h4TElCRElSeHgnIC1lICd4eExPR0RJUnh4JyAtZSAneHhDTENDTElESVJ4eCcgJChERVNURElSKSQocGtnaW1teG1sX3N2Y2RpcikvKi54bWwpIDsgZG8gXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZl80LjcuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWZfNC43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJlODgzYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWZfNC43LjAuYmIKQEAgLTAsMCArMSw2NiBAQAorU1VNTUFSWSA9ICJPcGVuU0FGIGlzIGFuIG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBTQUYgQUlTIHNwZWNpZmljYXRpb24iCitERVNDUklQVElPTiA9ICJPcGVuU0FGIGlzIGFuIG9wZW4gc291cmNlIHByb2plY3QgZXN0YWJsaXNoZWQgdG8gZGV2ZWxvcCBhIGJhc2UgcGxhdGZvcm0gXAorbWlkZGxld2FyZSBjb25zaXN0ZW50IHdpdGggU2VydmljZSBBdmFpbGFiaWxpdHkgRm9ydW0gKFNBIEZvcnVtKSBcCitzcGVjaWZpY2F0aW9ucywgdW5kZXIgdGhlIExHUEx2Mi4xIGxpY2Vuc2UuIFRoZSBPcGVuU0FGIEZvdW5kYXRpb24gd2FzIFwKK2VzdGFibGlzaGVkIGJ5IGxlYWRpbmcgQ29tbXVuaWNhdGlvbnMgYW5kIEVudGVycHJpc2UgQ29tcHV0aW5nIENvbXBhbmllcyB0byBcCitmYWNpbGl0YXRlIHRoZSBPcGVuU0FGIFByb2plY3QgYW5kIHRvIGFjY2VsZXJhdGUgdGhlIGFkb3B0aW9uIG9mIHRoZSBPcGVuU0FGIFwKK2NvZGUgYmFzZSBpbiBjb21tZXJjaWFsIHByb2R1Y3RzLiBcCitUaGUgT3BlblNBRiBwcm9qZWN0IHdhcyBsYXVuY2hlZCBpbiBtaWQgMjAwNyBhbmQgaGFzIGJlZW4gdW5kZXIgZGV2ZWxvcG1lbnQgYnkgXAorYW4gaW5mb3JtYWwgZ3JvdXAgb2Ygc3VwcG9ydGVycyBvZiB0aGUgT3BlblNBRiBpbml0aWF0aXZlLiBUaGUgT3BlblNBRiBcCitGb3VuZGF0aW9uIHdhcyBmb3VuZGVkIG9uIEphbnVhcnkgMjJuZCAyMDA4IHdpdGggRW1lcnNvbiBOZXR3b3JrIFBvd2VyLCBcCitFcmljc3NvbiwgTm9raWEgU2llbWVucyBOZXR3b3JrcywgSFAgYW5kIFN1biBNaWNyb3N5c3RlbXMgYXMgZm91bmRpbmcgbWVtYmVycy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zYWYub3JnIgorCitpbmhlcml0IGF1dG90b29scyB1c2VyYWRkIHN5c3RlbWQgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2luc3RhbGwtc2FtcGxlcy1mcm9tLXNyY2Rpci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBsbWNkLWVycm9yLWZpeC5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjgyZGQyNzc3YTY3MjE0MGUyMmI4MjA1ZjEwYWE1NWQzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhOWUxMzg2NTBiODM1NzI4YWQ1MWQ5OTI2OGQzYTMxNDE5YjI1NGM0Y2I0ZTg3YzZlYzkwYmM0NTI2NmQ3ZDIiCisKK1NFQ1RJT04gPSAiYWRtaW4iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWE5MTY0NjdiOTEwNzZlNjMxZGQ4ZWRiNzQyNDc2OWM3IgorCitERVBFTkRTID0gImxpYnhtbDIgcHl0aG9uIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLWYgLXIgb3BlbnNhZiIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAgIi1yIC1nIG9wZW5zYWYgLWQgJHtkYXRhZGlyfS9vcGVuc2FmLyAtcyAke3NiaW5kaXJ9L25vbG9naW4gLWMgXCJPcGVuU0FGXCIgb3BlbnNhZiIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ICs9ICJvcGVuc2FmZC5zZXJ2aWNlIHBsbWNib290LnNlcnZpY2UgcGxtY2Quc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kLWRhZW1vbiIKK1BBQ0tBR0VDT05GSUdbb3BlbmhwaV0gPSAiLS13aXRoLWhwaS1pbnRlcmZhY2U9QjAzIC0tZW5hYmxlLWFpcy1wbG0sLG9wZW5ocGkiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICAgICAgKCBjZCAke1N9OyBhdXRvcmVjb25mIC1mIC1pIC1zICkKK30KKworRVhUUkFfT0VDT05GICs9ICIgLS1saWJkaXI9JHtsaWJkaXJ9L29wZW5zYWYgIgorRVhUUkFfT0VNQUtFICs9ICIgLVdsLC1ycGF0aCwke2xpYmRpcn0vb3BlbnNhZiAiCisKK1BLR0xJQkRJUj0iJHtsaWJkaXJ9L29wZW5zYWYvb3BlbnNhZiIKKworRklMRVNfJHtQTn0gKz0gIiR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7UEtHTElCRElSfS8qLmEiCisKK1JERVBFTkRTXyR7UE59ICs9ICJiYXNoIHB5dGhvbiIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAtZnIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvY2siCisgICAgcm0gLWZyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9IgorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtCfS9vc2FmL3NlcnZpY2VzL2luZnJhc3RydWN0dXJlL25pZC9jb25maWcvb3BlbnNhZmQuc2VydmljZSBcCisgICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vY29udHJpYi9wbG1jL2NvbmZpZy8qLnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2FsaWFzZXNkYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2FsaWFzZXNkYgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NTVhNjRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvYWxpYXNlc2RiCkBAIC0wLDAgKzEsMjAgQEAKKyMhL2Jpbi9zaAorCitBTElBU0VTREJfU1RBTVA9L3Zhci9saWIvbWlzYy9wb3N0Zml4LmFsaWFzZXNkYi1zdGFtcAorCittYWtlX2FsaWFzZXNkYigpIHsKKyAgICAgICAgaWYgWyAiJCgvdXNyL3NiaW4vcG9zdGNvbmYgLWggYWxpYXNfZGF0YWJhc2UpIiA9ICJoYXNoOi9ldGMvYWxpYXNlcyIgXQorICAgICAgICB0aGVuCisgICAgICAgICAgICAgICAgIyAvZXRjL2FsaWFzZXMuZGIgbWF5IGJlIHVzZWQgYnkgb3RoZXIgTVRBLCBtYWtlIHN1cmUgbm90aGluZworICAgICAgICAgICAgICAgICMgaGFzIHRvdWNoZWQgaXQgc2luY2Ugb3VyIGxhc3QgbmV3YWxpYXNlcyBjYWxsCisgICAgICAgICAgICAgICAgWyAvZXRjL2FsaWFzZXMgLW50IC9ldGMvYWxpYXNlcy5kYiBdIHx8CisgICAgICAgICAgICAgICAgICAgICAgICBbICIkQUxJQVNFU0RCX1NUQU1QIiAtbnQgL2V0Yy9hbGlhc2VzLmRiIF0gfHwKKyAgICAgICAgICAgICAgICAgICAgICAgIFsgIiRBTElBU0VTREJfU1RBTVAiIC1vdCAvZXRjL2FsaWFzZXMuZGIgXSB8fCByZXR1cm4gMAorICAgICAgICAgICAgICAgIC91c3IvYmluL25ld2FsaWFzZXMKKyAgICAgICAgICAgICAgICB0b3VjaCAtciAvZXRjL2FsaWFzZXMuZGIgIiRBTElBU0VTREJfU1RBTVAiCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAvdXNyL2Jpbi9uZXdhbGlhc2VzCisgICAgICAgIGZpCit9CisKK21ha2VfYWxpYXNlc2RiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9jaGVja19ob3N0bmFtZS5zaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2NoZWNrX2hvc3RuYW1lLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM3YTBkZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9jaGVja19ob3N0bmFtZS5zaApAQCAtMCwwICsxLDEzIEBACisjISAvYmluL3NoCisKK0hPU1ROQU1FPSQoL2Jpbi9ob3N0bmFtZSkKKworaWYgWyAteiAiJEhPU1ROQU1FIiAtbyAiJEhPU1ROQU1FIiA9ICIobm9uZSkiIC1vICEgLXogImBlY2hvICRIT1NUTkFNRSB8IHNlZCAtbiAnL15bMC05XSpcLlswLTldLiovcCdgIiBdOyB0aGVuCisJIyBJZiBob3N0bmFtZSBpcyBpbnZhbGlkLCBhbmQgbXlob3N0bmFtZSBub3QgZXhpc3RlZCBpbiBtYWluLmNmCisJL3Vzci9zYmluL3Bvc3Rjb25mIC1oICJteWhvc3RuYW1lIiAyPi9kZXYvbnVsbAorCWlmIFsgJD8gLW5lIDAgXTsgdGhlbgorCQkjIFNldCAibG9jYWxob3N0IiB0byBtYWluLmNmCisJCS91c3Ivc2Jpbi9wb3N0Y29uZiAtZSAibXlob3N0bmFtZT1sb2NhbGhvc3QiCisJZmkKK2ZpCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2luc3RhbGwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9pbnN0YWxsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwMjM2ODAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9pbnN0YWxsLnBhdGNoCkBAIC0wLDAgKzEsOTMgQEAKK0Zyb20gMTkwNjUwZTFjZDU3MDBjZDY5NTBlYWQzZmNiMTdlYmNlYzE5MmEyZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IEZyaSwgMTkgSnVuIDIwMTUgMTc6MTQ6NTggKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gQ2hhbmdlIGZpeGVkIHBvc3Rjb25mIHRvIGEgdmFyaWFibGUgZm9yIGNyb3NzLWNvbXBpbGluZworCitVcHN0cmVhbXN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IFlhbyBaaGFvIDx5YW8uemhhb0B3aW5kcml2ZXIuY29tPgorLS0tCisgcG9zdGZpeC1pbnN0YWxsIHwgMTggKysrKysrKysrKy0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9wb3N0Zml4LWluc3RhbGwgYi9wb3N0Zml4LWluc3RhbGwKK2luZGV4IDE2NjJjM2QuLmQxMWZhMTIgMTAwNjQ0CistLS0gYS9wb3N0Zml4LWluc3RhbGwKKysrKyBiL3Bvc3RmaXgtaW5zdGFsbAorQEAgLTIyNiw4ICsyMjYsOCBAQCB0ZXN0IC16ICIkbm9uX2ludGVyYWN0aXZlIiAtYSAhIC10IDAgJiYgeworICAgICBleGl0IDEKKyB9CisgCistdGVzdCAteCBiaW4vcG9zdGNvbmYgfHwgeworLSAgICBlY2hvICQwOiBFcnJvcjogbm8gYmluL3Bvc3Rjb25mIGZpbGUuIERpZCB5b3UgZm9yZ2V0IHRvIHJ1biBcIm1ha2VcIj8gMT4mMgorK3Rlc3QgLXggIiRQT1NUQ09ORiIgfHwgeworKyAgICBlY2hvICQwOiBFcnJvcjogbm8gJFBPU1RDT05GIGZpbGUuIERpZCB5b3UgZm9yZ2V0IHRvIHJ1biBcIm1ha2VcIj8gMT4mMgorICAgICBleGl0IDEKKyB9CisgCitAQCAtMjQ4LDcgKzI0OCw3IEBAIGRvCisgICAgIGNhc2UgIiRqdW5rIiBpbgorICAgICAqTUFJTF9WRVJTSU9OKikgCisgCWNhc2UgIiRtYWlsX3ZlcnNpb24iIGluCistCSIiKSBtYWlsX3ZlcnNpb249ImBiaW4vcG9zdGNvbmYgLWRoeCBtYWlsX3ZlcnNpb25gIiB8fCBleGl0IDEKKysJIiIpIG1haWxfdmVyc2lvbj0iYCRQT1NUQ09ORiAtZGh4IG1haWxfdmVyc2lvbmAiIHx8IGV4aXQgMQorIAllc2FjCisgCXZhbD1gZWNobyAiJGp1bmsiIHwgc2VkICdzL01BSUxfVkVSU0lPTiQvJyIkbWFpbF92ZXJzaW9uL2ciYCB8fCBleGl0IDEKKyAJY2FzZSAiJHZhbCIgaW4KK0BAIC00MzQsNyArNDM0LDcgQEAgdGVtcGxhdGUgZmlsZXMgbWFpbi5jZi5wcm90byBhbmQgbWFzdGVyLmNmLnByb3RvLiIKKyAKKyA6ICR7aW5zdGFsbF9yb290PS99CisgOiAke3RlbXBkaXI9YHB3ZGB9CistOiAke2NvbmZpZ19kaXJlY3Rvcnk9YGJpbi9wb3N0Y29uZiAtYyBjb25mIC1oIC1kIGNvbmZpZ19kaXJlY3RvcnlgfQorKzogJHtjb25maWdfZGlyZWN0b3J5PWAkUE9TVENPTkYgLWMgY29uZiAtaCAtZCBjb25maWdfZGlyZWN0b3J5YH0KKyAKKyAjIEZpbmQgb3V0IHRoZSBsb2NhdGlvbiBvZiBpbnN0YWxsZWQgY29uZmlndXJhdGlvbiBmaWxlcy4KKyAKK0BAIC01MDAsNyArNTAwLDcgQEAgdGVzdCAtZiAkQ09ORklHX0RJUkVDVE9SWS9tYWluLmNmICYmIHsKKyAJY2FzZSAiJGp1bmsiIGluCisgCSIiKSBldmFsIHVuc2V0ICRuYW1lOzsKKyAJZXNhYworLQlldmFsIDogXCR7JG5hbWU9XGBiaW4vcG9zdGNvbmYgLWMgJENPTkZJR19ESVJFQ1RPUlkgLWh4ICRuYW1lXGB9IHx8CisrCWV2YWwgOiBcJHskbmFtZT1cYCRQT1NUQ09ORiAtYyAkQ09ORklHX0RJUkVDVE9SWSAtaHggJG5hbWVcYH0gfHwKKyAJICAgIGV4aXQgMQorICAgICBkb25lCisgfQorQEAgLTUxMyw3ICs1MTMsNyBAQCBkbworICAgICBjYXNlICIkanVuayIgaW4KKyAgICAgIiIpIGV2YWwgdW5zZXQgJG5hbWU7OworICAgICBlc2FjCistICAgIGV2YWwgOiBcJHskbmFtZT1cYGJpbi9wb3N0Y29uZiAtYyBjb25mIC1kIC1oeCAkbmFtZVxgfSB8fCBleGl0IDEKKysgICAgZXZhbCA6IFwkeyRuYW1lPVxgJFBPU1RDT05GIC1jIGNvbmYgLWQgLWh4ICRuYW1lXGB9IHx8IGV4aXQgMQorIGRvbmUKKyAKKyAjIE92ZXJyaWRlIHNldHRpbmdzIG1hbnVhbGx5LgorQEAgLTYzOSw2ICs2MzksOCBAQCBSRUFETUVfRElSRUNUT1JZPSRpbnN0YWxsX3Jvb3QkcmVhZG1lX2RpcmVjdG9yeQorIFNITElCX0RJUkVDVE9SWT0kaW5zdGFsbF9yb290JHNobGliX2RpcmVjdG9yeQorIE1FVEFfRElSRUNUT1JZPSRpbnN0YWxsX3Jvb3QkbWV0YV9kaXJlY3RvcnkKKyAKKyt0ZXN0ICJ4JFBPU1RDT05GIiAhPSAieCIgfHwgUE9TVENPTkY9ImJpbi9wb3N0Y29uZiIKKysKKyAjIEF2b2lkIHJlcGVhdGVkIHRlc3RzIGZvciBleGlzdGVuY2Ugb2YgdGhlc2U7IGRlZmF1bHQgcGVybWlzc2lvbnMgc3VmZmljZS4KKyAKKyB0ZXN0IC1kICREQUVNT05fRElSRUNUT1JZIHx8IG1rZGlyIC1wICREQUVNT05fRElSRUNUT1JZIHx8IGV4aXQgMQorQEAgLTgxMCw3ICs4MTIsNyBAQCBJRlM9IiRCQUNLVVBfSUZTIgorICMgdGhlIHdyb25nIHBsYWNlIHdoZW4gUG9zdGZpeCBpcyBiZWluZyB1cGdyYWRlZC4KKyAKKyBjYXNlICIkbWFpbF92ZXJzaW9uIiBpbgorLSIiKSBtYWlsX3ZlcnNpb249ImBiaW4vcG9zdGNvbmYgLWRoeCBtYWlsX3ZlcnNpb25gIiB8fCBleGl0IDEKKysiIikgbWFpbF92ZXJzaW9uPSJgJFBPU1RDT05GIC1kaHggbWFpbF92ZXJzaW9uYCIgfHwgZXhpdCAxCisgZXNhYworIAorICMgVW5kbyBNQUlMX1ZFUlNJT04gZXhwYW5zaW9uIGF0IHRoZSBlbmQgb2YgYSBwYXJhbWV0ZXIgdmFsdWUuIElmCitAQCAtODMwLDcgKzgzMiw3IEBAIGRvCisgICAgIGVzYWMKKyBkb25lCisgCistYmluL3Bvc3Rjb25mIC1jICRDT05GSUdfRElSRUNUT1JZIC1lIFwKKysiJFBPU1RDT05GIiAtYyAkQ09ORklHX0RJUkVDVE9SWSAtZSBcCisgICAgICJkYWVtb25fZGlyZWN0b3J5ID0gJGRhZW1vbl9kaXJlY3RvcnkiIFwKKyAgICAgImRhdGFfZGlyZWN0b3J5ID0gJGRhdGFfZGlyZWN0b3J5IiBcCisgICAgICJjb21tYW5kX2RpcmVjdG9yeSA9ICRjb21tYW5kX2RpcmVjdG9yeSIgXAorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2ludGVybmFsX3JlY2lwaWVudCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL2ludGVybmFsX3JlY2lwaWVudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YThmMjY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvaW50ZXJuYWxfcmVjaXBpZW50CkBAIC0wLDAgKzEgQEAKK3Jvb3RAICAgcGVybWl0X215bmV0d29ya3MscmVqZWN0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9tYWluLmNmXzIuMCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL21haW4uY2ZfMi4wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjN2ZlYjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9tYWluLmNmXzIuMApAQCAtMCwwICsxLDEwMiBAQAorIyBDb25maWd1cmUgeW91ciBkb21haW4gYW5kIGFjY291bnRzCisjbXlkb21haW49c2FtcGxlLmNvbQorI0ZRRE4gZnJvbSBnZXRob3N0bmFtZQorI215aG9zdG5hbWUgPQorbXlkb21haW49bG9jYWxkb21haW4KK215ZGVzdGluYXRpb24gPSAkbXlob3N0bmFtZSwgbG9jYWxob3N0LmxvY2FsZG9tYWluIGxvY2FsaG9zdAorbXluZXR3b3JrcyA9IDEyNy4wLjAuMS84CitpbmV0X2ludGVyZmFjZXMgPSAxMjcuMC4wLjEKKwordmlydHVhbF9tYWlsYm94X2RvbWFpbnMgPSBzYW1wbGUuY29tLCBvdGhlci5uZXQKK3ZpcnR1YWxfbWFpbGJveF9tYXBzID0gaGFzaDovZXRjL3Bvc3RmaXgvdmlydHVhbAordmlydHVhbF9hbGlhc19tYXBzID0gaGFzaDovZXRjL3Bvc3RmaXgvdmlydHVhbF9hbGlhcworCithbGlhc19tYXBzID0gaGFzaDovZXRjL2FsaWFzZXMKKworIyBZb3UnbGwgc3RhcnQgd2l0aCB0aGUgZm9sbG93aW5nIGxpbmVzIGZvciBtYWlsZGlyIHN0b3JhZ2UKK3ZpcnR1YWxfbWFpbGJveF9iYXNlID0gL3Zhci9zcG9vbC92bWFpbAordmlydHVhbF91aWRfbWFwcyA9IHN0YXRpYzpgZ3JlcCB2bWFpbCAvZXRjL3Bhc3N3ZCB8IGN1dCAtZCAiOiIgLWYgM2AKK3ZpcnR1YWxfZ2lkX21hcHMgPSBzdGF0aWM6YGdyZXAgdm1haWwgL2V0Yy9wYXNzd2QgfCBjdXQgLWQgIjoiIC1mIDRgCisKKworIyBZb3UnbGwgc3RhcnQgd2l0aCB0aGUgZm9sbG93aW5nIGxpbmVzIGZvciBJTUFQIHN0b3JhZ2UKKyN2aXJ0dWFsX3RyYW5zcG9ydCA9IGxtdHA6dW5peDovdmFyL2xpYi9jeXJ1cy9zb2NrZXQvbG10cAorCisKKyMgR2VuZXJhbCBzdHVmZiBoZXJlIGFnYWluCisjY29uZmlnX2RpcmVjdG9yeSA9IC9ldGMvcG9zdGZpeAorc2FtcGxlX2RpcmVjdG9yeSA9IC9ldGMvcG9zdGZpeAorcXVldWVfZGlyZWN0b3J5ID0gL3Zhci9zcG9vbC9wb3N0Zml4CittYWlsX3Nwb29sX2RpcmVjdG9yeSA9IC92YXIvc3Bvb2wvbWFpbAorcmVhZG1lX2RpcmVjdG9yeSA9IG5vCitjb21tYW5kX2RpcmVjdG9yeSA9IC91c3Ivc2JpbgorZGFlbW9uX2RpcmVjdG9yeSA9IEBMSUJFWEVDRElSQAorbWFpbF9vd25lciA9IHBvc3RmaXgKK3NldGdpZF9ncm91cCA9IHBvc3Rkcm9wCit1bmtub3duX2xvY2FsX3JlY2lwaWVudF9yZWplY3RfY29kZSA9IDQ1MAorbXluZXR3b3Jrc19zdHlsZSA9IGhvc3QKK2RlYnVnX3BlZXJfbGV2ZWwgPSAyCitzZW5kbWFpbF9wYXRoID0gL3Vzci9zYmluL3NlbmRtYWlsCituZXdhbGlhc2VzX3BhdGggPSAvdXNyL2Jpbi9uZXdhbGlhc2VzCittYWlscV9wYXRoID0gL3Vzci9iaW4vbWFpbHEKKworc210cGRfZGF0YV9yZXN0cmljdGlvbnMgPQorICAgICAgICBwZXJtaXRfbXluZXR3b3JrcywKKyAgICAgICAgcmVqZWN0X3VuYXV0aF9waXBlbGluaW5nLAorICAgICAgICBwZXJtaXQKKworc210cGRfY2xpZW50X3Jlc3RyaWN0aW9ucyA9CisgICAgICAgIHBlcm1pdF9teW5ldHdvcmtzLAorICAgICAgICAjIHJlamVjdF91bmtub3duX2NsaWVudCwgIyBUaGlzIGNhbiBjYXVzZSBhIGxvdCBvZiBmYWxzZSByZWplY3RzLgorICAgICAgICByZWplY3RfaW52YWxpZF9ob3N0bmFtZSwKKyAgICAgICAgcmVqZWN0X3JibF9jbGllbnQgbGlzdC5kc2JsLm9yZywKKyAgICAgICAgcmVqZWN0X3JibF9jbGllbnQgc2JsLnNwYW1oYXVzLm9yZywKKyAgICAgICAgcmVqZWN0X3JibF9jbGllbnQgY2JsLmFidXNlYXQub3JnLAorICAgICAgICByZWplY3RfcmJsX2NsaWVudCBkdWwuZG5zYmwuc29yYnMubmV0LAorICAgICAgICBwZXJtaXQKKworc210cGRfaGVsb19yZXF1aXJlZCA9IHllcworc210cGRfaGVsb19yZXN0cmljdGlvbnMgPQorICAgICAgICBwZXJtaXRfbXluZXR3b3JrcywKKyAgICAgICAgcmVqZWN0X3VuYXV0aF9waXBlbGluaW5nLAorICAgICAgICAjIHJlamVjdF9ub25fZnFkbl9ob3N0bmFtZSwgIyBUaGlzIGNhbiBjYXVzZSBhIGxvdCBvZiBmYWxzZSByZWplY3RzLgorICAgICAgICAjIHJlamVjdF91bmtub3duX2hvc3RuYW1lLCAjIFRoaXMgY2FuIGNhdXNlIGEgbG90IG9mIGZhbHNlIHJlamVjdHMuCisgICAgICAgIHJlamVjdF9pbnZhbGlkX2hvc3RuYW1lLAorICAgICAgICBwZXJtaXQKKworc210cGRfc2VuZGVyX3Jlc3RyaWN0aW9ucyA9CisgICAgICAgIHBlcm1pdF9teW5ldHdvcmtzLAorICAgICAgICByZWplY3Rfbm9uX2ZxZG5fc2VuZGVyLAorICAgICAgICAjIGNoZWNrX3NlbmRlcl9hY2Nlc3MgaGFzaDovZXRjL3Bvc3RmaXgvYWNjZXNzX2RvbWFpbnMsCisgICAgICAgIHJlamVjdF91bmtub3duX3NlbmRlcl9kb21haW4sCisgICAgICAgIHBlcm1pdAorCitzbXRwZF9yZWNpcGllbnRfcmVzdHJpY3Rpb25zID0KKyAgICAgICAgcGVybWl0X215bmV0d29ya3MsCisgICAgICAgIHBlcm1pdF9zYXNsX2F1dGhlbnRpY2F0ZWQsCisgICAgICAgIHJlamVjdF91bmF1dGhfZGVzdGluYXRpb24sCisKKyAgICAgICAgIyBjaGVja19yZWNpcGllbnRfYWNjZXNzIHBjcmU6L2V0Yy9wb3N0Zml4L3JlY2lwaWVudF9jaGVja3MucGNyZSwKKyAgICAgICAgIyBjaGVja19oZWxvX2FjY2VzcyBwY3JlOi9ldGMvcG9zdGZpeC9oZWxvX2NoZWNrcy5wY3JlLAorCisgICAgICAgICMgY2hlY2tfY2xpZW50X2FjY2VzcyBoYXNoOi9ldGMvcG9zdGZpeC9tYXBzL2FjY2Vzc19jbGllbnQsCisgICAgICAgICMgY2hlY2tfY2xpZW50X2FjY2VzcyBoYXNoOi9ldGMvcG9zdGZpeC9tYXBzL2V4Y2VwdGlvbnNfY2xpZW50LAorICAgICAgICAjIGNoZWNrX2hlbG9fYWNjZXNzIGhhc2g6L2V0Yy9wb3N0Zml4L21hcHMvYWNjZXNzX2hlbG8sCisgICAgICAgICMgY2hlY2tfaGVsb19hY2Nlc3MgaGFzaDovZXRjL3Bvc3RmaXgvbWFwcy92ZXJpZnlfaGVsbywKKyAgICAgICAgIyBjaGVja19zZW5kZXJfYWNjZXNzIGhhc2g6L2V0Yy9wb3N0Zml4L21hcHMvYWNjZXNzX3NlbmRlciwKKyAgICAgICAgIyBjaGVja19zZW5kZXJfYWNjZXNzIGhhc2g6L2V0Yy9wb3N0Zml4L21hcHMvdmVyaWZ5X3NlbmRlciwKKyAgICAgICAgIyBjaGVja19yZWNpcGllbnRfYWNjZXNzIGhhc2g6L2V0Yy9wb3N0Zml4L21hcHMvYWNjZXNzX3JlY2lwaWVudCwKKworICAgICAgICAjIHJlamVjdF9tdWx0aV9yZWNpcGllbnRfYm91bmNlLAorICAgICAgICByZWplY3Rfbm9uX2ZxZG5fcmVjaXBpZW50LAorICAgICAgICByZWplY3RfdW5rbm93bl9yZWNpcGllbnRfZG9tYWluLAorICAgICAgICAjIHJlamVjdF91bmxpc3RlZF9yZWNpcGllbnQsCisgICAgICAgICNjaGVja19wb2xpY3lfc2VydmljZSB1bml4OnByaXZhdGUvcG9saWN5LAorCisgICAgICAgICMgY2hlY2tfc2VuZGVyX2FjY2VzcyBoYXNoOi9ldGMvcG9zdGZpeC9tYXBzL25vX3ZlcmlmeV9zZW5kZXIsCisgICAgICAgICMgY2hlY2tfc2VuZGVyX2FjY2VzcyBoYXNoOi9ldGMvcG9zdGZpeC9hY2Nlc3NfZG9tYWlucywKKyAgICAgICAgIyByZWplY3RfdW52ZXJpZmllZF9zZW5kZXIsCisgICAgICAgICMgcmVqZWN0X3VudmVyaWZpZWRfcmVjaXBpZW50CisgICAgICAgIGNoZWNrX3JlY2lwaWVudF9hY2Nlc3MgaGFzaDovZXRjL3Bvc3RmaXgvaW50ZXJuYWxfcmVjaXBpZW50CisKK2Rpc2FibGVfdnJmeV9jb21tYW5kID0geWVzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9tYWtlZGVmcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL21ha2VkZWZzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4ZDVmN2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9tYWtlZGVmcy5wYXRjaApAQCAtMCwwICsxLDExNiBAQAorRnJvbSA0ZjQ5ZTJjZTQyMGZiM2MxNzQxNTkzNzUzMDQ5MzE1OGVmMzEyNzMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCAxOSBKdW4gMjAxNSAxNjo0NTo1NCArMDkwMAorU3ViamVjdDogW1BBVENIXSAxKXJlbW92ZSBSQU5MSUIsIFNZU0xJQlMsIEFSIGFuZCBnZXQgdGhlbSBmcm9tIGVudi4KKworMilyZWZlcmVuY2Ugc3lzcm9vdCB3aGVuIHNlYXJjaGluZyBoZWFkZXIgZmlsZXMKKzMpaW5jbHVkZSBzeXNyb290IHBhdGggaW5zdGVhZCBvZiBhYnNvbHV0ZSBpbmNsdWRlIHBhdGgKK2ZvciBMaW51eDIgYW5kIExpbnV4MyBzeXN0ZW1zLgorNClmb3Igbm9uLW5hdGl2ZSBidWlsZCwgc2VhcmNoIFNUQUdJTkdfQkFTRUxJQkRJUi9MSUJESVIKKyAgbmF0aXZlIGJ1aWxkLCBzZWFyY2ggaG9zdCBsaWJyYXJ5IHBhdGggZm9yIG5zbCBhbmQgcmVzb2x2IGxpYnJhcnkKKyAgd2hpY2ggY29tZXMgZnJvbSBsaWJjCisKK1Vwc3RyZWFtc3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogWWFvIFpoYW8gPHlhby56aGFvQHdpbmRyaXZlci5jb20+CistLS0KKyBtYWtlZGVmcyB8IDI3ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21ha2VkZWZzIGIvbWFrZWRlZnMKK2luZGV4IDhiODRlNDcuLjg5M2ZiMGQgMTAwNjQ0CistLS0gYS9tYWtlZGVmcworKysrIGIvbWFrZWRlZnMKK0BAIC0xNzAsOSArMTcwLDYgQEAgZWNobyAiIyBwaWU9JHBpZSIKKyAKKyAjIERlZmF1bHRzIGZvciBtb3N0IHNhbmUgc3lzdGVtcworIAorLVJBTkxJQj1yYW5saWIKKy1TWVNMSUJTPQorLUFSPWFyCisgQVJGTD1ydgorIAorICMgVWdseSBmdW5jdGlvbiB0byBtYWtlIG91ciBlcnJvciBtZXNzYWdlIG1vcmUgdmlzaWJsZSBhbW9uZyB0aGUKK0BAIC00MjQsMTIgKzQyMSwxMiBAQCBjYXNlICIkU1lTVEVNLiRSRUxFQVNFIiBpbgorIAkJY2FzZSAiJENDQVJHUyIgaW4KKyAJCSAqLUROT19EQiopIDs7CisgCQkgKi1ESEFTX0RCKikgOzsKKy0JCSAqKSBpZiBbIC1mIC91c3IvaW5jbHVkZS9kYi5oIF0KKysJCSAqKSBpZiBbIC1mICIkQlVJTERfU1lTUk9PVCIvdXNyL2luY2x1ZGUvZGIuaCBdCisgCQkgICAgdGhlbgorIAkJCTogd2UgYXJlIGFsbCBzZXQKKy0JCSAgICBlbGlmIFsgLWYgL3Vzci9pbmNsdWRlL2RiL2RiLmggXQorKwkJICAgIGVsaWYgWyAtZiAiJEJVSUxEX1NZU1JPT1QiL3Vzci9pbmNsdWRlL2RiL2RiLmggXQorIAkJICAgIHRoZW4KKy0JCQlDQ0FSR1M9IiRDQ0FSR1MgLUkvdXNyL2luY2x1ZGUvZGIiCisrCQkJQ0NBUkdTPSIkQ0NBUkdTIC1JIiRCVUlMRF9TWVNST09UIi91c3IvaW5jbHVkZS9kYiIKKyAJCSAgICBlbHNlCisgCQkJIyBObywgd2UncmUgbm90IGdvaW5nIHRvIHRyeSBkYjEgZGIyIGRiMyBldGMuCisgCQkJIyBPbiBhIHByb3Blcmx5IGluc3RhbGxlZCBzeXN0ZW0sIFBvc3RmaXggYnVpbGRzCitAQCAtNDM4LDEyICs0MzUsMTIgQEAgY2FzZSAiJFNZU1RFTS4kUkVMRUFTRSIgaW4KKyAJCQllY2hvICJJbnN0YWxsIHRoZSBhcHByb3ByaWF0ZSBkYiotZGV2ZWwgcGFja2FnZSBmaXJzdC4iIDE+JjIKKyAJCQlleGl0IDEKKyAJCSAgICBmaQorLQkJICAgIFNZU0xJQlM9Ii1sZGIiCisrCQkgICAgU1lTTElCUz0iJFNZU0xJQlMgLWxkYiIKKyAJCSAgICA7OworIAkJZXNhYworIAkJZm9yIG5hbWUgaW4gbnNsIHJlc29sdiAkR0RCTV9MSUJTCisgCQlkbworLQkJICAgIGZvciBsaWIgaW4gL3Vzci9saWI2NCAvbGliNjQgL3Vzci9saWIgL2xpYgorKwkJICAgIGZvciBsaWIgaW4gJEJVSUxEX1NZU1JPT1RfTlNMX1BBVEgKKyAJCSAgICBkbworIAkJCXRlc3QgLWUgJGxpYi9saWIkbmFtZS5hIC1vIC1lICRsaWIvbGliJG5hbWUuc28gJiYgeworIAkJCSAgICBTWVNMSUJTPSIkU1lTTElCUyAtbCRuYW1lIgorQEAgLTQ2Myw3ICs0NjAsNyBAQCBjYXNlICIkU1lTVEVNLiRSRUxFQVNFIiBpbgorIAkJICAgICAgIGlmIFsgYGV4cHIgIlgkQ0NBUkdTIiA6ICJYLiotRE5PX0VQT0xMImAgLWd0IDAgXQorIAkJICAgICAgIHRoZW4KKyAJCQkgICA6CistCQkgICAgICAgZWxpZiBbICEgLWUgL3Vzci9pbmNsdWRlL3N5cy9lcG9sbC5oIF0KKysJCSAgICAgICBlbGlmIFsgISAtZSAiJEJVSUxEX1NZU1JPT1QiL3Vzci9pbmNsdWRlL3N5cy9lcG9sbC5oIF0KKyAJCSAgICAgICB0aGVuCisgCQkJICAgZWNobyBDQ0FSR1M9IiRDQ0FSR1MgLUROT19FUE9MTCIKKyAJCSAgICAgICBlbHNlCitAQCAtNDg3LDggKzQ4NCw2IEBAIGludCAgICAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgfQorIEVPRgorIAkJCSAgICR7Q0MtZ2NjfSAtbyBtYWtlZGVmcy50ZXN0IG1ha2VkZWZzLnRlc3QuYyB8fCBleGl0IDEKKy0JCQkgICAuL21ha2VkZWZzLnRlc3QgMj4vZGV2L251bGwgfHwKKy0JCQkJQ0NBUkdTPSIkQ0NBUkdTIC1ETk9fRVBPTEwiCisgCQkJICAgcm0gLWYgbWFrZWRlZnMudGVzdCBtYWtlZGVmcy50ZXN0Lltjb10KKyAJCSAgICAgICBmaTs7CisgCQllc2FjCitAQCAtNTA0LDEyICs0OTksMTIgQEAgRU9GCisgCQljYXNlICIkQ0NBUkdTIiBpbgorIAkJICotRE5PX0RCKikgOzsKKyAJCSAqLURIQVNfREIqKSA7OworLQkJICopIGlmIFsgLWYgL3Vzci9pbmNsdWRlL2RiLmggXQorKwkJICopIGlmIFsgLWYgIiRCVUlMRF9TWVNST09UIi91c3IvaW5jbHVkZS9kYi5oIF0KKyAJCSAgICB0aGVuCisgCQkJOiB3ZSBhcmUgYWxsIHNldAorLQkJICAgIGVsaWYgWyAtZiAvdXNyL2luY2x1ZGUvZGIvZGIuaCBdCisrCQkgICAgZWxpZiBbIC1mICIkQlVJTERfU1lTUk9PVCIvdXNyL2luY2x1ZGUvZGIvZGIuaCBdCisgCQkgICAgdGhlbgorLQkJCUNDQVJHUz0iJENDQVJHUyAtSS91c3IvaW5jbHVkZS9kYiIKKysJCQlDQ0FSR1M9IiRDQ0FSR1MgLUkiJEJVSUxEX1NZU1JPT1QiL3Vzci9pbmNsdWRlL2RiIgorIAkJICAgIGVsc2UKKyAJCQkjIE9uIGEgcHJvcGVybHkgaW5zdGFsbGVkIHN5c3RlbSwgUG9zdGZpeCBidWlsZHMKKyAJCQkjIGJ5IGluY2x1ZGluZyA8ZGIuaD4gYW5kIGJ5IGxpbmtpbmcgd2l0aCAtbGRiCitAQCAtNTE3LDEyICs1MTIsMTIgQEAgRU9GCisgCQkJZWNobyAiSW5zdGFsbCB0aGUgYXBwcm9wcmlhdGUgZGIqLWRldmVsIHBhY2thZ2UgZmlyc3QuIiAxPiYyCisgCQkJZXhpdCAxCisgCQkgICAgZmkKKy0JCSAgICBTWVNMSUJTPSItbGRiIgorKwkJICAgIFNZU0xJQlM9IiRTWVNMSUJTIC1sZGIiCisgCQkgICAgOzsKKyAJCWVzYWMKKyAJCWZvciBuYW1lIGluIG5zbCByZXNvbHYKKyAJCWRvCistCQkgICAgZm9yIGxpYiBpbiAvdXNyL2xpYjY0IC9saWI2NCAvdXNyL2xpYiAvdXNyL2xpYi8qIC9saWIgL2xpYi8qCisrCQkgICAgZm9yIGxpYiBpbiAkQlVJTERfU1lTUk9PVF9OU0xfUEFUSAorIAkJICAgIGRvCisgCQkJdGVzdCAtZSAkbGliL2xpYiRuYW1lLmEgLW8gLWUgJGxpYi9saWIkbmFtZS5zbyAmJiB7CisgCQkJICAgIFNZU0xJQlM9IiRTWVNMSUJTIC1sJG5hbWUiCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvcG9zdGZpeCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL3Bvc3RmaXgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGM3YTYwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L2ZpbGVzL3Bvc3RmaXgKQEAgLTAsMCArMSw5NCBAQAorIyEvYmluL3NoCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiBwb3N0Zml4IE1UQQorIyBEZWZhdWx0LVN0YXJ0OiAyMzQ1CisjIERlZmF1bHQtU3RvcDogMDE2CisjIFNob3J0LURlc2NyaXB0aW9uOiBzdGFydCBhbmQgc3RvcCBwb3N0Zml4CisjIERlc2NyaXB0aW9uOiBQb3N0Zml4IGlzIGEgTWFpbCBUcmFuc3BvcnQgQWdlbnQsIHdoaWNoIGlzIHRoZSBwcm9ncmFtCisjICAgICAgICAgICAgICB0aGF0IG1vdmVzIG1haWwgZnJvbSBvbmUgbWFjaGluZSB0byBhbm90aGVyLgorIyMjIEVORCBJTklUIElORk8KKworc3VjY2VzcygpIHsKKyAgICAgICAgZWNobyAiIFN1Y2Nlc3NmdWwiCisgICAgICAgIGV4aXQgMAorfQorCitmYWlsKCkgeworICAgICAgICBlY2hvICIgRmFpbGVkIgorICAgICAgICBleGl0IDEKKworfQorCitjaGVja19yZXR1cm4gKCkgeworICAgICAgICBsb2NhbCByZXQ9IiQxIgorCisgICAgICAgIGlmIFsgIiRyZXQiID0gIjAiIF07IHRoZW4KKyAgICAgICAgICBzdWNjZXNzCisgICAgICAgIGVsc2UKKyAgICAgICAgICBmYWlsCisgICAgICAgIGZpCit9CisKK1BJREZpbGU9L3Zhci9zcG9vbC9wb3N0Zml4L3BpZC9tYXN0ZXIucGlkCitjYXNlICIkMSIgaW4KKworICAgICAgICBzdGFydCkKKyAgICAgICAgZWNobyAtbiAiU3RhcnRpbmcgUG9zdGZpeC4uLiIKKyAgICAgICAgaWYgWyAhIC1lIC9ldGMvYWxpYXNlcy5kYiBdOyB0aGVuCisgICAgICAgICAgIyBUaGUgYWxpYXMgZGF0YWJhc2UgaXMgbmVjZXNzYXJ5IGZvciBwb3N0Zml4IHRvIHdvcmsgY29ycmVjdGx5LgorICAgICAgICAgIGVjaG8gIkNyZWF0aW5nIGFsaWFzZXMgZGF0YWJhc2UgLi4uIgorICAgICAgICAgIG5ld2FsaWFzZXMKKyAgICAgICAgZmkKKyAgICAgICAgaWYgISBwb3N0Zml4IHN0YXR1cyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgICAgICAgICAvdXNyL3NiaW4vY2hlY2tfaG9zdG5hbWUuc2gKKyAgICAgICAgICBwb3N0Zml4IHN0YXJ0CisgICAgICAgICAgY2hlY2tfcmV0dXJuICQ/CisgICAgICAgIGVsc2UKKyAgICAgICAgICBzdWNjZXNzCisgICAgICAgIGZpCisgICAgICAgIDs7CisKKyAgICAgICAgc3RvcCkKKyAgICAgICAgZWNobyAtbiAgIlN0b3BwaW5nIFBvc3RmaXguLi4iCisgICAgICAgIGlmIHBvc3RmaXggc3RhdHVzID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgICAgICAgIHBvc3RmaXggc3RvcAorICAgICAgICAgIGNoZWNrX3JldHVybiAkPworICAgICAgICBlbHNlCisgICAgICAgICAgc3VjY2VzcworICAgICAgICBmaQorICAgICAgICA7OworCisgICAgICAgIHJlbG9hZCkKKyAgICAgICAgZWNobyAtbiAiUmVsb2FkaW5nIFBvc3RmaXguLi4iCisgICAgICAgIGlmIHBvc3RmaXggc3RhdHVzID4vZGV2L251bGwgMj4mMTsgdGhlbgorICAgICAgICAgIHBvc3RmaXggcmVsb2FkCisgICAgICAgICAgY2hlY2tfcmV0dXJuICQ/CisgICAgICAgIGVsc2UKKyAgICAgICAgICBwb3N0Zml4IHN0YXJ0CisgICAgICAgICAgY2hlY2tfcmV0dXJuICQ/CisgICAgICAgIGZpCisgICAgICAgIDs7CisKKyAgICAgICAgcmVzdGFydCkKKyAgICAgICAgJDAgc3RvcAorICAgICAgICBzbGVlcCAxCisgICAgICAgICQwIHN0YXJ0CisgICAgICAgIDs7CisKKyAgICAgICAgc3RhdHVzKQorICAgICAgICBpZiBwb3N0Zml4IHN0YXR1cyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgICAgICAgICBwaWQ9YHNlZCAtZSAncy9ccy8vZycgJFBJREZpbGVgCisgICAgICAgICAgZWNobyAiVGhlIFBvc3RmaXggbWFpbCBzeXN0ZW0gaXMgcnVubmluZyAoUElEOiAkcGlkKSIKKyAgICAgICAgICBleGl0IDAKKyAgICAgICAgZWxzZQorICAgICAgICAgIGVjaG8gIlRoZSBQb3N0Zml4IG1haWwgc3lzdGVtIGlzIG5vdCBydW5uaW5nIgorICAgICAgICAgIGV4aXQgMQorICAgICAgICBmaQorICAgICAgICA7OworCisgICAgICAgICopCisgICAgICAgIGVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVsb2FkfHJlc3RhcnR9IgorICAgICAgICBleGl0IDEKKyAgICAgICAgOzsKK2VzYWMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvcG9zdGZpeC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvcG9zdGZpeC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhOWEwYTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9wb3N0Zml4LnNlcnZpY2UKQEAgLTAsMCArMSwxNiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1Qb3N0Zml4IE1haWwgVHJhbnNwb3J0IEFnZW50CitBZnRlcj1zeXNsb2cudGFyZ2V0IG5ldHdvcmsudGFyZ2V0CitDb25mbGljdHM9c2VuZG1haWwuc2VydmljZSBleGltLnNlcnZpY2UKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK1BJREZpbGU9QExPQ0FMU1RBVEVESVJAL3Nwb29sL3Bvc3RmaXgvcGlkL21hc3Rlci5waWQKK0V4ZWNTdGFydFByZT0tQFNCSU5ESVJAL2NoZWNrX2hvc3RuYW1lLnNoCitFeGVjU3RhcnRQcmU9LUBMSUJFWEVDRElSQC9hbGlhc2VzZGIKK0V4ZWNTdGFydD1AU0JJTkRJUkAvcG9zdGZpeCBzdGFydAorRXhlY1JlbG9hZD1AU0JJTkRJUkAvcG9zdGZpeCByZWxvYWQKK0V4ZWNTdG9wPUBTQklORElSQC9wb3N0Zml4IHN0b3AKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvcG9zdGZpeC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9wb3N0Zml4LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2RiZjc2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvcG9zdGZpeC5pbmMKQEAgLTAsMCArMSwyNTEgQEAKK1NVTU1BUlkgPSAiUG9zdGZpeCBNYWlsIFRyYW5zcG9ydCBBZ2VudCIKK0RFU0NSSVBUSU9OID0gIlBvc3RmaXggaXMgV2lldHNlIFZlbmVtYSdzIG1haWwgc2VydmVyIHRoYXQgc3RhcnRlZCBsaWZlIGF0IFwKK0lCTSByZXNlYXJjaCBhcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgd2lkZWx5LXVzZWQgU2VuZG1haWwgcHJvZ3JhbS4gXAorUG9zdGZpeCBhdHRlbXB0cyB0byBiZSBmYXN0LCBlYXN5IHRvIGFkbWluaXN0ZXIsIGFuZCBzZWN1cmUuIFRoZSBvdXRzaWRlaSBcCitoYXMgYSBkZWZpbml0ZSBTZW5kbWFpbC1pc2ggZmxhdm9yLCBidXQgdGhlIGluc2lkZSBpcyBjb21wbGV0ZWx5IGRpZmZlcmVudC4iCisKK0hPTUVQQUdFPSAiaHR0cDovL3d3dy5wb3N0Zml4Lm9yZyIKK1NFQ1RJT04gPSAibWFpbCIKK0RFUEVORFMgPSAidmlydHVhbC9kYiBsaWJwY3JlIG9wZW5zc2wgcG9zdGZpeC1uYXRpdmUgXAorICAgICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZGFwJywgJ29wZW5sZGFwJywgJycsIGQpfSBcCisgICAgJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3Nhc2wnLCAnY3lydXMtc2FzbCcsICcnLCBkKX0gXAorIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAidmlydHVhbC9kYi1uYXRpdmUgb3BlbnNzbC1uYXRpdmUgbGlicGNyZS1uYXRpdmUiCisKK0xJQ0VOU0UgPSAiSVBMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTY0Mzc1ZjM3NDMxMzM2ZWExYjFiMzAwNWZlM2ZhMzU0IgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5wb3JjdXBpbmUub3JnL21pcnJvcnMvcG9zdGZpeC1yZWxlYXNlL29mZmljaWFsL3Bvc3RmaXgtJHtQVn0udGFyLmd6IFwKKyAgICBmaWxlOi8vbWFrZWRlZnMucGF0Y2ggXAorICAgIGZpbGU6Ly9pbnN0YWxsLnBhdGNoIFwKKyAgICBmaWxlOi8vbWFpbi5jZl8yLjAgXAorICAgIGZpbGU6Ly9wb3N0Zml4IFwKKyAgICBmaWxlOi8vaW50ZXJuYWxfcmVjaXBpZW50IFwKKyAgICBmaWxlOi8vcG9zdGZpeC5zZXJ2aWNlIFwKKyAgICBmaWxlOi8vYWxpYXNlc2RiIFwKKyAgICBmaWxlOi8vY2hlY2tfaG9zdG5hbWUuc2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vcG9zdGZpeC0ke1BWfSIKKworQ0xFQU5CUk9LRU4gPSAiMSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK2luaGVyaXQgdXBkYXRlLXJjLmQgdXNlcmFkZCB1cGRhdGUtYWx0ZXJuYXRpdmVzIHN5c3RlbWQKKworSU5JVFNDUklQVF9OQU1FID0gInBvc3RmaXgiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA1OCAzIDQgNSAuIHN0b3AgMTMgMCAxIDYgLiIKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gXAorIi1kIC92YXIvc3Bvb2wvcG9zdGZpeCAtciAtZyBwb3N0Zml4IC0tc2hlbGwgL2Jpbi9mYWxzZSBwb3N0Zml4OyBcCisgLWQgL3Zhci9zcG9vbC92bWFpbCAtciAtZyB2bWFpbCAtLXNoZWxsIC9iaW4vZmFsc2Ugdm1haWwgXAorIgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gcG9zdGZpeDstLXN5c3RlbSBwb3N0ZHJvcDstLXN5c3RlbSB2bWFpbCIKKworZXhwb3J0IFNZU0xJQlMgPSAiJHtMREZMQUdTfSIKKworIyBDQ0FSR1Mgc3BlY2lmaWVzIGluY2x1ZGVzLCBkZWZpbmVzCisjIEFVWExJQlMgc3BlY2lmaWVzIGxpYnJhcmllcworIyBMaW51eDIvTGludXgzIGhhcyBIQVNfREIgZGVmaW5lZAorIyBtYWtlZGVmcyB3aWxsIG1ha2UgQ0MgdG8gYmUgQ0MrQ0NBUkdTCisKKyMgbGRhcCBzdXBwb3J0CitleHBvcnQgQ0NBUkdTLWxkYXAgID0gIlwKKyAgICAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGRhcCcsICctREhBU19MREFQJywgJycsIGQpfSIKK2V4cG9ydCBBVVhMSUJTLWxkYXAgPSAiXAorICAgICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZGFwJywgJy1sbGRhcCAtbGxiZXInLCAnJywgZCl9IgorCisjIG5vIG5hdGl2ZSBvcGVubGRhcAorZXhwb3J0IENDQVJHUy1sZGFwX2NsYXNzLW5hdGl2ZSA9ICIiCitleHBvcnQgQVVYTElCUy1sZGFwX2NsYXNzLW5hdGl2ZSA9ICIiCisKKyMgU0FTTCBzdXBwb3J0IC1EVVNFX0xEQVBfU0FTTCAtRFVTRV9TQVNMX0FVVEgKKyMgY3VycmVudCBvcGVubGRhcCBkaWRuJ3QgZW5hYmxlIFNBU0wKK2V4cG9ydCBDQ0FSR1Mtc2FzbCAgPSAiXAorICAgICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzYXNsJywgJy1EVVNFX1NBU0xfQVVUSCAtRFVTRV9DWVJVU19TQVNMIC1JPS91c3IvaW5jbHVkZS9zYXNsJywgJycsIGQpfSIKK2V4cG9ydCBBVVhMSUJTLXNhc2wgPSAiXAorICAgICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzYXNsJywgJy1sc2FzbDInLCAnJywgZCl9IgorZXhwb3J0IENDQVJHUy1zYXNsX2NsYXNzLW5hdGl2ZSA9ICIiCitleHBvcnQgQVVYTElCUy1zYXNsX2NsYXNzLW5hdGl2ZSA9ICIiCisKKyMgUENSRSwgVExTIHN1cHBvcnQgZGVmYXVsdAorZXhwb3J0IENDQVJHUyAgPSAiJHtDRkxBR1N9IC1ESEFTX1BDUkUgLURVU0VfVExTICR7Q0NBUkdTLWxkYXB9ICR7Q0NBUkdTLXNhc2x9IgorZXhwb3J0IEFVWExJQlMgPSAiLWxwY3JlIC1sc3NsIC1sY3J5cHRvICR7QVVYTElCUy1zYXNsfSAke0FVWExJQlMtbGRhcH0iCitleHBvcnQgUE9TVENPTkYgPSAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtzYmluZGlyX25hdGl2ZX0vcG9zdGNvbmYiCisKKyMgT1BULERFQlVHIGlzIGFyZWFkeSBpbiBDRkxBR1MKKyMgaWdub3JlIHRoZSBPUFRTPSJDQz0kQ0MiIGluIE1ha2VmaWxlIGl0IHdpbGwgbm90IHVzZSB0aGUgQ0M9JENDICRDQ0FSR1MKK0VYVFJBX09FTUFLRSArPSAiT1BUPSBERUJVRz0gT1BUUz0gIgorCitkb19jb21waWxlICgpIHsKKyAgICB1bnNldCBDRkxBR1MgQ1BQRkxBR1MgQ1hYRkxBR1MKKyAgICBsb2NhbCBuYXRpdmVfYnVpbGQKKworICAgIG5hdGl2ZV9idWlsZD0iJHtAWycwJywgJzEnXVtiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmVzZGsnLCBkKV19IgorCisgICAgIyBpZiBub3QgbmF0aXZlIGJ1aWxkLCB0aGVuIHBhc3MgU1lTVEVNIGFuZCBSRUxFQVNFIHRvIG1ha2VkZWZzCisgICAgaWYgWyAiJHtuYXRpdmVfYnVpbGR9IiAhPSAiMSIgXTsgdGhlbgorICAgICAgICAjIHVuYW1lIC1zIGZvciB0YXJnZXQKKyAgICAgICAgU1lTVEVNPSJMaW51eCIKKworICAgICAgICAjIHVuYW1lIC1yLCB1c2UgMi42IGFzIGJvdHRvbWxpbmUsIGV2ZW4gdGFyZ2V0IGtlcm5lbCB2ZXIgPiAyLjYKKyAgICAgICAgUkVMRUFTRT0iMi42LjM0IgorICAgICAgICBzZWQgLWkgLWUgXAorICAgICAgICAgICAgInM6XCQoU0hFTEwpIG1ha2VkZWZzKTpcJChTSEVMTCkgbWFrZWRlZnMgJFNZU1RFTSAkUkVMRUFTRSk6IiBcCisgICAgICAgICAgICAke1N9L01ha2VmaWxlLmluCisgICAgICAgIGV4cG9ydCBCVUlMRF9TWVNST09UPSIke1NUQUdJTkdfRElSX0hPU1R9IgorICAgICAgICBleHBvcnQgQlVJTERfU1lTUk9PVF9OU0xfUEFUSD0iJHtTVEFHSU5HX0JBU0VMSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7U1RBR0lOR19MSUJESVJ9IgorICAgIGVsc2UKKyAgICAgICAgIyBuYXRpdmUgYnVpbGQKKyAgICAgICAgZXhwb3J0IEJVSUxEX1NZU1JPT1Q9IiR7U1RBR0lOR19ESVJfTkFUSVZFfSIKKworICAgICAgICAjIHVidW50dSB4ODYgaG9zdDogL2xpYi94ODZfNjQtbGludXgtZ251KDY0KSAvbGliL2kzODYtbGludXgtZ251ICgzMikKKyAgICAgICAgIyAgICAgICAgICAgICBvbiA2NCBiaXRzLCAzMiBsaWJzIGluIGkzODYtbGludXgtZ251CisgICAgICAgICMgbGV0IG1ha2VkZWZzIGZpbmRzIG5zbCBhbmQgcmVzb2x2IGxpYnMsIGhvc3QgQ0Mgd2lsbCBsaW5rCisgICAgICAgICMgdGhlIGNvcnJlY3QgbGlicmFyaWVzCisgICAgICAgIEJVSUxEX1NZU1JPT1RfTlNMX1BBVEg9IiQoJHtDQ30gLXByaW50LXNlYXJjaC1kaXJzIDI+L2Rldi9udWxsIHwgXAorICAgICAgICAgICAgICAgICAgICAgIHNlZCAtbiAnL15saWJyYXJpZXM6ID0vcy9saWJyYXJpZXM6ID0vL3AnIHwgXAorICAgICAgICAgICAgICAgICAgICAgIHNlZCAtZSAncy86L1xuL2cnIHwgeGFyZ3MgLW4xIHJlYWRsaW5rIC1mIHwgXAorICAgICAgICAgICAgICAgICAgICAgIGdyZXAgLXYgJ2djY1x8L1swLTkuXVwrJCcgfCBzb3J0IC11KSIKKyAgICAgICAgaWYgWyAteiAiJEJVSUxEX1NZU1JPT1RfTlNMX1BBVEgiIF07IHRoZW4KKyAgICAgICAgICAgIEJVSUxEX1NZU1JPT1RfTlNMX1BBVEg9Ii91c3IvbGliNjQgL2xpYjY0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9saWIveDg2XzY0LWxpbnV4LWdudSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvdXNyL2xpYiAgIC9saWIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL2xpYi9pMzg2LWxpbnV4LWdudSIKKyAgICAgICAgZmkKKyAgICAgICAgZXhwb3J0IEJVSUxEX1NZU1JPT1RfTlNMX1BBVEgKKyAgICBmaQorCisgICAgb2VfcnVubWFrZSBtYWtlZmlsZXMKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGxfcHJlcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgZXhwb3J0IFBPU1RDT05GPSJiaW4vcG9zdGNvbmYiCit9CisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJwb3N0Zml4LnNlcnZpY2UiCisKK2RvX2luc3RhbGwgKCkgeworICAgIHNoIC4vcG9zdGZpeC1pbnN0YWxsICdpbnN0YWxsX3Jvb3Q9JHtEfScgXAorICAgICAgICAnY29uZmlnX2RpcmVjdG9yeT0ke3N5c2NvbmZkaXJ9L3Bvc3RmaXgnIFwKKyAgICAgICAgJ2RhZW1vbl9kaXJlY3Rvcnk9JHtsaWJleGVjZGlyfScgXAorICAgICAgICAnY29tbWFuZF9kaXJlY3Rvcnk9JHtzYmluZGlyfScgXAorICAgICAgICAncXVldWVfZGlyZWN0b3J5PSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeCcgXAorICAgICAgICAnc2VuZG1haWxfcGF0aD0ke3NiaW5kaXJ9L3NlbmRtYWlsLnBvc3RmaXgnIFwKKyAgICAgICAgJ25ld2FsaWFzZXNfcGF0aD0ke2JpbmRpcn0vbmV3YWxpYXNlcycgXAorICAgICAgICAnbWFpbHFfcGF0aD0ke2JpbmRpcn0vbWFpbHEnIFwKKyAgICAgICAgJ21hbnBhZ2VfZGlyZWN0b3J5PSR7bWFuZGlyfScgXAorICAgICAgICAncmVhZG1lX2RpcmVjdG9yeT0ke2RhdGFkaXJ9L2RvYy9wb3N0Zml4JyBcCisgICAgICAgICdkYXRhX2RpcmVjdG9yeT0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9wb3N0Zml4JyBcCisgICAgICAgIC1ub24taW50ZXJhY3RpdmUKKyAgICBybSAtcmYgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeAorICAgIG12ICR7RH0ke3N5c2NvbmZkaXJ9L3Bvc3RmaXgvbWFpbi5jZiAke0R9JHtzeXNjb25mZGlyfS9wb3N0Zml4L3NhbXBsZS1tYWluLmNmCisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9iaW4vc210cC1zaW5rICR7RH0vJHtzYmluZGlyfS8KKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vbWFpbi5jZl8yLjAgJHtEfSR7c3lzY29uZmRpcn0vcG9zdGZpeC9tYWluLmNmCisgICAgc2VkIC1pICdzI0BMSUJFWEVDRElSQCMke2xpYmV4ZWNkaXJ9IycgJHtEfSR7c3lzY29uZmRpcn0vcG9zdGZpeC9tYWluLmNmCisKKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2NoZWNrX2hvc3RuYW1lLnNoICR7RH0ke3NiaW5kaXJ9LworCisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9wb3N0Zml4ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3N0Zml4CisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9pbnRlcm5hbF9yZWNpcGllbnQgJHtEfSR7c3lzY29uZmRpcn0vcG9zdGZpeC9pbnRlcm5hbF9yZWNpcGllbnQKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wb3N0Zml4LnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MjQExJQkVYRUNESVJAIyR7bGliZXhlY2Rpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcG9zdGZpeC5zZXJ2aWNlCisgICAgc2VkIC1pIC1lICdzI0BMT0NBTFNUQVRFRElSQCMke2xvY2Fsc3RhdGVkaXJ9I2cnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3Bvc3RmaXguc2VydmljZQorICAgIHNlZCAtaSAtZSAncyNAU0JJTkRJUkAjJHtzYmluZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9wb3N0Zml4LnNlcnZpY2UKKworICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2FsaWFzZXNkYiAke0R9JHtsaWJleGVjZGlyfQorCisgICAgaW5zdGFsbCAtbSA3NzAgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeAorICAgIGNob3duIHBvc3RmaXg6cG9zdGZpeCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4CisKKyAgICBpbnN0YWxsIC1tIDI3NTUgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvbWFpbAorICAgIGNob3duIHBvc3RmaXg6bm9ncm91cCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9tYWlsCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9wb3N0Zml4CisgICAgY2hvd24gcG9zdGZpeDpub2dyb3VwICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9wb3N0Zml4CisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgKKyAgICBjaG93biByb290OnBvc3RmaXggJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeAorICAgIGluc3RhbGwgLW0gMDcwMCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2FjdGl2ZQorICAgIGNob3duIHBvc3RmaXg6cm9vdCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2FjdGl2ZQorICAgIGluc3RhbGwgLW0gMDcwMCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2JvdW5jZQorICAgIGNob3duIHBvc3RmaXg6cm9vdCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2JvdW5jZQorICAgIGluc3RhbGwgLW0gMDcwMCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2NvcnJ1cHQKKyAgICBjaG93biBwb3N0Zml4OnJvb3QgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9jb3JydXB0CisgICAgaW5zdGFsbCAtbSAwNzAwIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgvZGVmZXIKKyAgICBjaG93biBwb3N0Zml4OnJvb3QgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9kZWZlcgorICAgIGluc3RhbGwgLW0gMDcwMCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2RlZmVycmVkCisgICAgY2hvd24gcG9zdGZpeDpyb290ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgvZGVmZXJyZWQKKyAgICBpbnN0YWxsIC1tIDA3MDAgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9mbHVzaAorICAgIGNob3duIHBvc3RmaXg6cm9vdCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2ZsdXNoCisgICAgaW5zdGFsbCAtbSAwNzAwIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgvaG9sZAorICAgIGNob3duIHBvc3RmaXg6cm9vdCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2hvbGQKKyAgICBpbnN0YWxsIC1tIDA3MDAgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9pbmNvbWluZworICAgIGNob3duIHBvc3RmaXg6cm9vdCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L2luY29taW5nCisgICAgaW5zdGFsbCAtbSAwNzAwIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgvc2F2ZWQKKyAgICBjaG93biBwb3N0Zml4OnJvb3QgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9zYXZlZAorICAgIGluc3RhbGwgLW0gMDcwMCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L3RyYWNlCisgICAgY2hvd24gcG9zdGZpeDpyb290ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgvdHJhY2UKKyAgICBpbnN0YWxsIC1tIDA3MzAgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9tYWlsZHJvcAorICAgIGNob3duIHBvc3RmaXg6cG9zdGRyb3AgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9tYWlsZHJvcAorICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L3BpZAorICAgIGNob3duIHJvb3Q6cm9vdCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L3BpZAorICAgIGluc3RhbGwgLW0gMDcwMCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L3ByaXZhdGUKKyAgICBjaG93biBwb3N0Zml4OnJvb3QgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcG9zdGZpeC9wcml2YXRlCisgICAgaW5zdGFsbCAtbSAwNzEwIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Bvc3RmaXgvcHVibGljCisgICAgY2hvd24gcG9zdGZpeDpwb3N0ZHJvcCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9wb3N0Zml4L3B1YmxpYworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC92bWFpbAorICAgIGNob3duIHZtYWlsOnZtYWlsICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3ZtYWlsCisKKyAgICBjaG93biA6cG9zdGRyb3AgJHtEfSR7c2JpbmRpcn0vcG9zdHF1ZXVlCisgICAgY2hvd24gOnBvc3Rkcm9wICR7RH0ke3NiaW5kaXJ9L3Bvc3Rkcm9wCisgICAgY2htb2QgZytzICR7RH0ke3NiaW5kaXJ9L3Bvc3RxdWV1ZQorICAgIGNobW9kIGcrcyAke0R9JHtzYmluZGlyfS9wb3N0ZHJvcAorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgbG4gLXNmIC4uL3NiaW4vc2VuZG1haWwucG9zdGZpeCAke0R9JHtiaW5kaXJ9L25ld2FsaWFzZXMKKyAgICBsbiAtc2YgLi4vc2Jpbi9zZW5kbWFpbC5wb3N0Zml4ICR7RH0ke2JpbmRpcn0vbWFpbHEKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgICMgUmVtb3ZlIHJlZmVyZW5jZXMgdG8gYnVpbGRtYWNoaW5lIHBhdGhzIGluIHRhcmdldCBtYWtlZGVmcy5vdXQKKyAgICBzZWQgLWkgLWUgJ3M6LS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfTo6ZycgJHtEfS9ldGMvcG9zdGZpeC9tYWtlZGVmcy5vdXQKK30KKworTkFUSVZFX0lOU1RBTExfV09SS1MgPSAiMSIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAic2VuZG1haWwiCitBTFRFUk5BVElWRV9UQVJHRVRbc2VuZG1haWxdID0gIiR7c2JpbmRpcn0vc2VuZG1haWwucG9zdGZpeCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzZW5kbWFpbF0gPSAiJHtzYmluZGlyfS9zZW5kbWFpbCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEyMCIKKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyAgICBpZiBbICJ4JEQiID0gIngiIF07IHRoZW4KKyAgICAgICAgdG91Y2ggL2V0Yy9hbGlhc2VzCisgICAgICAgIG5ld2FsaWFzZXMKKworICAgICAgICAjIGdlbmVyYXRlIHZpcnR1YWxfYWxpYXMsIGRlZmF1bHQgaXMgaGFzaAorICAgICAgICB0b3VjaCAvZXRjL3Bvc3RmaXgvdmlydHVhbF9hbGlhcworICAgICAgICBwb3N0bWFwIC9ldGMvcG9zdGZpeC92aXJ0dWFsX2FsaWFzCisgICAgZWxzZQorICAgICAgICB0b3VjaCAkRC9ldGMvYWxpYXNlcworICAgICAgICBuZXdhbGlhc2VzIC1DICREL2V0Yy9wb3N0Zml4L21haW4uY2YgLW9BJEQvZXRjL2FsaWFzZXMKKyAgICAgICAgdG91Y2ggJEQvZXRjL3Bvc3RmaXgvdmlydHVhbF9hbGlhcworICAgICAgICBwb3N0bWFwIC1jICREL2V0Yy9wb3N0Zml4ICREL2V0Yy9wb3N0Zml4L3ZpcnR1YWxfYWxpYXMKKworICAgICAgICBpZiAke0AndHJ1ZScgaWYgJ2xpbnV4c3RkYmFzZScgaW4gZC5nZXRWYXIoJ0RJU1RST09WRVJSSURFUycsIEZhbHNlKSBlbHNlICdmYWxzZSd9OyB0aGVuCisgICAgICAgICAgICAjIC91c3IvbGliL3NlbmRtaWFsIGlzIHJlcXVpcmVkIGJ5IExTQiBjb3JlIHRlc3QKKyAgICAgICAgICAgIFsgISAtTCAkRC91c3IvbGliL3NlbmRtYWlsIF0gJiYgbG4gLXNmICR7c2JpbmRpcn0vc2VuZG1haWwgJEQvdXNyL2xpYi8KKyAgICAgICAgZmkKKyAgICBmaQorfQorCisjIEV4Y2x1ZGUgLmRlYnVnIGRpcmVjdG9yaWVzIGZyb20gdGhlIG1haW4gcGFja2FnZQorRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfSAke2xvY2Fsc3RhdGVkaXJ9ICR7YmluZGlyfS8qICR7c2JpbmRpcn0vKiBcCisgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9LyogJHtzeXN0ZW1kX3VuaXRkaXJ9LyoiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZXhlY2Rpcn0vLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvcG9zdGZpeF8zLjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L3Bvc3RmaXhfMy4wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEwNGE5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L3Bvc3RmaXhfMy4wLjMuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlIHBvc3RmaXguaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MWNhZmZhZTY4OWMxMWQwOWI0Yzk3MmEzOTRhZTNiMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0MDFlNDZlYzM0NTA1NjlkY2NlNjBkMWQ4Y2EyMmExOWFiMWY3ZjgxN2IwY2M3MzBjZGY0ODc1YmE2MDhhYzAyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvQ1ZFLTIwMTYtMzEyNS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL0NWRS0yMDE2LTMxMjUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjljOWJlMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL0NWRS0yMDE2LTMxMjUucGF0Y2gKQEAgLTAsMCArMSwyNDcgQEAKK0Zyb20gN2E4ZjY4M2NlZGY5YjBkMTAyNGE4MDM2MjY5M2M5ZjhiOTNhMGYyYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRKIFNhdW5kZXJzIDx0akBjYXN0YWdsaWEub3JnPgorRGF0ZTogVGh1LCAxMCBNYXIgMjAxNiAxNTowNzo1OCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBCYWNrcG9ydCBvZiBmaXggZm9yIEJ1ZyM0MjMwIHRvIDEuMy41IGJyYW5jaC4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorQ1ZFOiBDVkUtMjAxNi0zMTI1CisKK0F1dGhvcjogVEogU2F1bmRlcnMgPHRqQGNhc3RhZ2xpYS5vcmc+CitTaWduZWQtb2ZmLWJ5OiBDYXRhbGluIEVuYWNoZSA8Y2F0YWxpbi5lbmFjaGVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbnRyaWIvbW9kX3Rscy5jIHwgMTY3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNDcgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb250cmliL21vZF90bHMuYyBiL2NvbnRyaWIvbW9kX3Rscy5jCitpbmRleCBkZjkyNjU4Li41ODgzY2M3IDEwMDY0NAorLS0tIGEvY29udHJpYi9tb2RfdGxzLmMKKysrKyBiL2NvbnRyaWIvbW9kX3Rscy5jCitAQCAtNDExLDYgKzQxMSwxMyBAQCBzdGF0aWMgaW50IHRsc19yZXF1aXJlZF9vbl9jdHJsID0gMDsKKyBzdGF0aWMgaW50IHRsc19yZXF1aXJlZF9vbl9kYXRhID0gMDsKKyBzdGF0aWMgdW5zaWduZWQgY2hhciAqdGxzX2F1dGhlbnRpY2F0ZWQgPSBOVUxMOworIAorKy8qIERlZmluZSB0aGUgbWluaW11bSBESCBncm91cCBsZW5ndGggd2UgYWxsb3cgKHVubGVzcyB0aGUgQWxsb3dXZWFrREgKKysgKiBUTFNPcHRpb24gaXMgdXNlZCkuICBJZGVhbGx5IHRoaXMgd291bGQgYmUgMjA0OCwgcGVyIGh0dHBzOi8vd2Vha2RoLm9yZywKKysgKiBidXQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvbGRlciBKYXZhIHZlcnNpb25zLCB3aGljaCBvbmx5IHN1cHBvcnQgdXAgdG8KKysgKiAxMDI0LCB3ZSdsbCB1c2UgMTAyNC4gIEZvciBub3cuCisrICovCisrI2RlZmluZSBUTFNfREhfTUlOX0xFTgkJCQkxMDI0CisrCisgLyogbW9kX3RscyBzZXNzaW9uIGZsYWdzICovCisgI2RlZmluZQlUTFNfU0VTU19PTl9DVFJMCQkJMHgwMDAxCisgI2RlZmluZSBUTFNfU0VTU19PTl9EQVRBCQkJMHgwMDAyCitAQCAtNDM4LDYgKzQ0NSw3IEBAIHN0YXRpYyB1bnNpZ25lZCBjaGFyICp0bHNfYXV0aGVudGljYXRlZCA9IE5VTEw7CisgI2RlZmluZSBUTFNfT1BUX1VTRV9JTVBMSUNJVF9TU0wJCQkweDAyMDAKKyAjZGVmaW5lIFRMU19PUFRfQUxMT1dfQ0xJRU5UX1JFTkVHT1RJQVRJT05TCQkweDA0MDAKKyAjZGVmaW5lIFRMU19PUFRfVkVSSUZZX0NFUlRfQ04JCQkJMHgwODAwCisrI2RlZmluZSBUTFNfT1BUX0FMTE9XX1dFQUtfREgJCQkJMHgxMDAwCisgCisgLyogbW9kX3RscyBTU0NOIG1vZGVzICovCisgI2RlZmluZSBUTFNfU1NDTl9NT0RFX1NFUlZFUgkJCQkwCitAQCAtMjQxNywyNCArMjQyNSwxMzkgQEAgc3RhdGljIGludCB0bHNfY3RybF9yZW5lZ290aWF0ZV9jYihDQUxMQkFDS19GUkFNRSkgeworIAorIHN0YXRpYyBESCAqdGxzX2RoX2NiKFNTTCAqc3NsLCBpbnQgaXNfZXhwb3J0LCBpbnQga2V5bGVuZ3RoKSB7CisgICBESCAqZGggPSBOVUxMOworKyAgRVZQX1BLRVkgKnBrZXk7CisrICBpbnQgcGtleWxlbiA9IDAsIHVzZV9wa2V5bGVuID0gRkFMU0U7CisrCisrICAvKiBPcGVuU1NMIHdpbGwgb25seSBldmVyIGNhbGwgdXMgKGN1cnJlbnRseSkgd2l0aCBhIGtleWxlbiBvZiA1MTIgb3IgMTAyNDsKKysgICAqIHNlZSB0aGUgU1NMX0VYUE9SVF9QS0VZTEVOR1RIIG1hY3JvIGluIHNzbF9sb2NsLmguICBTaWdoLgorKyAgICoKKysgICAqIFRodXMgd2UgYWRqdXN0IHRoZSBESCBwYXJhbWV0ZXIgbGVuZ3RoIGFjY29yZGluZyB0byB0aGUgc2l6ZSBvZiB0aGUKKysgICAqIFJTQS9EU0EgcHJpdmF0ZSBrZXkgdXNlZCBmb3IgdGhlIGN1cnJlbnQgY29ubmVjdGlvbi4KKysgICAqCisrICAgKiBOT1RFOiBUaGlzIE1BWSBjYXVzZSBpbnRlcm9wZXJhYmlsaXR5IGlzc3VlcyB3aXRoIHNvbWUgY2xpZW50cywgbm90YWJseQorKyAgICogSmF2YSA3IChhbmQgZWFybGllcikgY2xpZW50cywgc2luY2UgSmF2YSA3IGFuZCBlYXJsaWVyIHN1cHBvcnRzCisrICAgKiBEaWZmaWUtSGVsbG1hbiBvbmx5IHVwIHRvIDEwMjQgYml0cy4gIE1vcmUgc2lnaHMuICBUbyBkZWFsIHdpdGggdGhlc2UKKysgICAqIGNsaWVudHMsIHRoZW4sIHlvdSBuZWVkIHRvIGNvbmZpZ3VyZSBhIGNlcnRpZmljYXRlL2tleSBvZiAxMDI0IGJpdHMuCisrICAgKi8KKysgIHBrZXkgPSBTU0xfZ2V0X3ByaXZhdGVrZXkoc3NsKTsKKysgIGlmIChwa2V5ICE9IE5VTEwpIHsKKysgICAgaWYgKEVWUF9QS0VZX3R5cGUocGtleS0+dHlwZSkgPT0gRVZQX1BLRVlfUlNBIHx8CisrICAgICAgICBFVlBfUEtFWV90eXBlKHBrZXktPnR5cGUpID09IEVWUF9QS0VZX0RTQSkgeworKyAgICAgIHBrZXlsZW4gPSBFVlBfUEtFWV9iaXRzKHBrZXkpOworKworKyAgICAgIGlmIChwa2V5bGVuIDwgVExTX0RIX01JTl9MRU4pIHsKKysgICAgICAgIGlmICghKHRsc19vcHRzICYgVExTX09QVF9BTExPV19XRUFLX0RIKSkgeworKyAgICAgICAgICBwcl90cmFjZV9tc2codHJhY2VfY2hhbm5lbCwgMTEsCisrICAgICAgICAgICAgImNlcnRpZmljYXRlIHByaXZhdGUga2V5IGxlbmd0aCAlZCBsZXNzIHRoYW4gJWQgYml0cywgdXNpbmcgJWQgIgorKyAgICAgICAgICAgICIoc2VlIEFsbG93V2Vha0RIIFRMU09wdGlvbikiLCBwa2V5bGVuLCBUTFNfREhfTUlOX0xFTiwKKysgICAgICAgICAgICBUTFNfREhfTUlOX0xFTik7CisrICAgICAgICAgIHBrZXlsZW4gPSBUTFNfREhfTUlOX0xFTjsKKysgICAgICAgIH0KKysgICAgICB9CisrCisrICAgICAgaWYgKHBrZXlsZW4gIT0ga2V5bGVuKSB7CisrICAgICAgICBwcl90cmFjZV9tc2codHJhY2VfY2hhbm5lbCwgMTMsCisrICAgICAgICAgICJhZGp1c3RlZCBESCBwYXJhbWV0ZXIgbGVuZ3RoIGZyb20gJWQgdG8gJWQgYml0cyIsIGtleWxlbiwgcGtleWxlbik7CisrICAgICAgICB1c2VfcGtleWxlbiA9IFRSVUU7CisrICAgICAgfQorKyAgICB9CisrICB9CisgCisgICBpZiAodGxzX3RtcF9kaHMgIT0gTlVMTCAmJgorICAgICAgIHRsc190bXBfZGhzLT5uZWx0cyA+IDApIHsKKyAgICAgcmVnaXN0ZXIgdW5zaWduZWQgaW50IGk7CistICAgIERIICoqZGhzOworKyAgICBESCAqYmVzdF9kaCA9IE5VTEwsICoqZGhzOworKyAgICBpbnQgYmVzdF9kaGxlbiA9IDA7CisgCisgICAgIGRocyA9IHRsc190bXBfZGhzLT5lbHRzOworKworKyAgICAvKiBTZWFyY2ggdGhlIGNvbmZpZ3VyZWQgbGlzdCBvZiBESCBwYXJhbWV0ZXJzIHR3aWNlOiBvbmNlIGZvciBhbnkgc2l6ZXMKKysgICAgICogbWF0Y2hpbmcgdGhlIGFjdHVhbCByZXF1ZXN0ZWQgc2l6ZSAodXN1YWxseSAxMDI0KSwgYW5kIG9uY2UgZm9yIGFueQorKyAgICAgKiBtYXRjaGluZyB0aGUgY2VydGlmaWNhdGUgcHJpdmF0ZSBrZXkgc2l6ZSAocGtleWxlbikuCisrICAgICAqCisrICAgICAqIFRoaXMgYmVoYXZpb3IgYWxsb3dzIHNpdGUgYWRtaW5zIHRvIGNvbmZpZ3VyZSBhIFRMU0RIUGFyYW1GaWxlIHRoYXQKKysgICAgICogY29udGFpbnMgMTAyNC1iaXQgcGFyYW1ldGVycywgZm9yIGUuZy4gSmF2YSA3IChhbmQgZWFybGllcikgY2xpZW50cy4KKysgICAgICovCisrCisrICAgIC8qIE5vdGU6IHRoZSBrZXlsZW4gYXJndW1lbnQgaXMgaW4gQklUUywgYnV0IERIX3NpemUoKSByZXR1cm5zIHRoZSBudW1iZXIKKysgICAgICogb2YgQllURVMuCisrICAgICAqLworICAgICBmb3IgKGkgPSAwOyBpIDwgdGxzX3RtcF9kaHMtPm5lbHRzOyBpKyspIHsKKy0gICAgICAvKiBOb3RlOiB0aGUga2V5bGVuZ3RoIGFyZ3VtZW50IGlzIGluIEJJVFMsIGJ1dCBESF9zaXplKCkgcmV0dXJucworLSAgICAgICAqIHRoZSBudW1iZXIgb2YgQllURVMuCisrICAgICAgaW50IGRobGVuOworKworKyAgICAgIGRobGVuID0gREhfc2l6ZShkaHNbaV0pICogODsKKysgICAgICBpZiAoZGhsZW4gPT0ga2V5bGVuKSB7CisrICAgICAgICBwcl90cmFjZV9tc2codHJhY2VfY2hhbm5lbCwgMTEsCisrICAgICAgICAgICJmb3VuZCBtYXRjaGluZyBESCBwYXJhbWV0ZXIgZm9yIGtleSBsZW5ndGggJWQiLCBrZXlsZW4pOworKyAgICAgICAgcmV0dXJuIGRoc1tpXTsKKysgICAgICB9CisrCisrICAgICAgLyogVHJ5IHRvIGZpbmQgdGhlIG5leHQgImJlc3QiIERIIHRvIHVzZSwgd2hlcmUgImJlc3QiIG1lYW5zCisrICAgICAgICogdGhlIHNtYWxsZXN0IERIIHRoYXQgaXMgbGFyZ2VyIHRoYW4gdGhlIG5lY2Vzc2FyeSBrZXlsZW4uCisgICAgICAgICovCistICAgICAgaWYgKERIX3NpemUoZGhzW2ldKSA9PSAoa2V5bGVuZ3RoIC8gOCkpIHsKKysgICAgICBpZiAoZGhsZW4gPiBrZXlsZW4pIHsKKysgICAgICAgIGlmIChiZXN0X2RoICE9IE5VTEwpIHsKKysgICAgICAgICAgaWYgKGRobGVuIDwgYmVzdF9kaGxlbikgeworKyAgICAgICAgICAgIGJlc3RfZGggPSBkaHNbaV07CisrICAgICAgICAgICAgYmVzdF9kaGxlbiA9IGRobGVuOworKyAgICAgICAgICB9CisrCisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICBiZXN0X2RoID0gZGhzW2ldOworKyAgICAgICAgICBiZXN0X2RobGVuID0gZGhsZW47CisrICAgICAgICB9CisrICAgICAgfQorKyAgICB9CisrCisrICAgIGZvciAoaSA9IDA7IGkgPCB0bHNfdG1wX2Rocy0+bmVsdHM7IGkrKykgeworKyAgICAgIGludCBkaGxlbjsKKysKKysgICAgICBkaGxlbiA9IERIX3NpemUoZGhzW2ldKSAqIDg7CisrICAgICAgaWYgKGRobGVuID09IHBrZXlsZW4pIHsKKysgICAgICAgIHByX3RyYWNlX21zZyh0cmFjZV9jaGFubmVsLCAxMSwKKysgICAgICAgICAgImZvdW5kIG1hdGNoaW5nIERIIHBhcmFtZXRlciBmb3IgY2VydGlmaWNhdGUgcHJpdmF0ZSBrZXkgbGVuZ3RoICVkIiwKKysgICAgICAgICAgcGtleWxlbik7CisgICAgICAgICByZXR1cm4gZGhzW2ldOworICAgICAgIH0KKysKKysgICAgICBpZiAoZGhsZW4gPiBwa2V5bGVuKSB7CisrICAgICAgICBpZiAoYmVzdF9kaCAhPSBOVUxMKSB7CisrICAgICAgICAgIGlmIChkaGxlbiA8IGJlc3RfZGhsZW4pIHsKKysgICAgICAgICAgICBiZXN0X2RoID0gZGhzW2ldOworKyAgICAgICAgICAgIGJlc3RfZGhsZW4gPSBkaGxlbjsKKysgICAgICAgICAgfQorKworKyAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgYmVzdF9kaCA9IGRoc1tpXTsKKysgICAgICAgICAgYmVzdF9kaGxlbiA9IGRobGVuOworKyAgICAgICAgfQorKyAgICAgIH0KKysgICAgfQorKworKyAgICBpZiAoYmVzdF9kaCAhPSBOVUxMKSB7CisrICAgICAgcHJfdHJhY2VfbXNnKHRyYWNlX2NoYW5uZWwsIDExLAorKyAgICAgICAgInVzaW5nIGJlc3QgREggcGFyYW1ldGVyIGZvciBrZXkgbGVuZ3RoICVkIChsZW5ndGggJWQpIiwga2V5bGVuLAorKyAgICAgICAgYmVzdF9kaGxlbik7CisrICAgICAgcmV0dXJuIGJlc3RfZGg7CisgICAgIH0KKyAgIH0KKyAKKy0gIHN3aXRjaCAoa2V5bGVuZ3RoKSB7CisrICAvKiBTdGlsbCBubyBESCBwYXJhbWV0ZXJzIGZvdW5kPyAgVXNlIHRoZSBidWlsdC1pbiBvbmVzLiAqLworKworKyAgaWYgKGtleWxlbiA8IFRMU19ESF9NSU5fTEVOKSB7CisrICAgIGlmICghKHRsc19vcHRzICYgVExTX09QVF9BTExPV19XRUFLX0RIKSkgeworKyAgICAgIHByX3RyYWNlX21zZyh0cmFjZV9jaGFubmVsLCAxMSwKKysgICAgICAgICJyZXF1ZXN0ZWQga2V5IGxlbmd0aCAlZCBsZXNzIHRoYW4gJWQgYml0cywgdXNpbmcgJWQgIgorKyAgICAgICAgIihzZWUgQWxsb3dXZWFrREggVExTT3B0aW9uKSIsIGtleWxlbiwgVExTX0RIX01JTl9MRU4sIFRMU19ESF9NSU5fTEVOKTsKKysgICAgICBrZXlsZW4gPSBUTFNfREhfTUlOX0xFTjsKKysgICAgfQorKyAgfQorKworKyAgaWYgKHVzZV9wa2V5bGVuKSB7CisrICAgIGtleWxlbiA9IHBrZXlsZW47CisrICB9CisrCisrICBzd2l0Y2ggKGtleWxlbikgeworICAgICBjYXNlIDUxMjoKKyAgICAgICBkaCA9IGdldF9kaDUxMigpOworICAgICAgIGJyZWFrOworQEAgLTI0NDMsMzIgKzI1NjYsMzMgQEAgc3RhdGljIERIICp0bHNfZGhfY2IoU1NMICpzc2wsIGludCBpc19leHBvcnQsIGludCBrZXlsZW5ndGgpIHsKKyAgICAgICBkaCA9IGdldF9kaDc2OCgpOworICAgICAgIGJyZWFrOworIAorLSAgICAgY2FzZSAxMDI0OgorLSAgICAgICBkaCA9IGdldF9kaDEwMjQoKTsKKy0gICAgICAgYnJlYWs7CisrICAgIGNhc2UgMTAyNDoKKysgICAgICBkaCA9IGdldF9kaDEwMjQoKTsKKysgICAgICBicmVhazsKKyAKKy0gICAgIGNhc2UgMTUzNjoKKy0gICAgICAgZGggPSBnZXRfZGgxNTM2KCk7CistICAgICAgIGJyZWFrOworKyAgICBjYXNlIDE1MzY6CisrICAgICAgZGggPSBnZXRfZGgxNTM2KCk7CisrICAgICAgYnJlYWs7CisgCistICAgICBjYXNlIDIwNDg6CistICAgICAgIGRoID0gZ2V0X2RoMjA0OCgpOworLSAgICAgICBicmVhazsKKysgICAgY2FzZSAyMDQ4OgorKyAgICAgIGRoID0gZ2V0X2RoMjA0OCgpOworKyAgICAgIGJyZWFrOworIAorLSAgICAgZGVmYXVsdDoKKy0gICAgICAgdGxzX2xvZygidW5zdXBwb3J0ZWQgREgga2V5IGxlbmd0aCAlZCByZXF1ZXN0ZWQsIHJldHVybmluZyAxMDI0IGJpdHMiLAorLSAgICAgICAgIGtleWxlbmd0aCk7CistICAgICAgIGRoID0gZ2V0X2RoMTAyNCgpOworLSAgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICB0bHNfbG9nKCJ1bnN1cHBvcnRlZCBESCBrZXkgbGVuZ3RoICVkIHJlcXVlc3RlZCwgcmV0dXJuaW5nIDEwMjQgYml0cyIsCisrICAgICAgICBrZXlsZW4pOworKyAgICAgIGRoID0gZ2V0X2RoMTAyNCgpOworKyAgICAgIGJyZWFrOworICAgfQorIAorKyAgcHJfdHJhY2VfbXNnKHRyYWNlX2NoYW5uZWwsIDExLCAidXNpbmcgYnVpbHRpbiBESCBmb3IgJWQgYml0cyIsIGtleWxlbik7CisrCisgICAvKiBBZGQgdGhpcyBESCB0byB0aGUgbGlzdCwgc28gdGhhdCBpdCBjYW4gYmUgZnJlZWQgcHJvcGVybHkgbGF0ZXIuICovCisgICBpZiAodGxzX3RtcF9kaHMgPT0gTlVMTCkgeworICAgICB0bHNfdG1wX2RocyA9IG1ha2VfYXJyYXkoc2Vzc2lvbi5wb29sLCAxLCBzaXplb2YoREggKikpOworICAgfQorIAorICAgKigoREggKiopIHB1c2hfYXJyYXkodGxzX3RtcF9kaHMpKSA9IGRoOworLQorICAgcmV0dXJuIGRoOworIH0KKyAKK0BAIC04NDQ1LDYgKzg1NjksOSBAQCBNT0RSRVQgc2V0X3Rsc29wdGlvbnMoY21kX3JlYyAqY21kKSB7CisgICAgICAgICAgICAgICAgc3RyY21wKGNtZC0+YXJndltpXSwgIkFsbG93Q2xpZW50UmVuZWdvdGlhdGlvbnMiKSA9PSAwKSB7CisgICAgICAgb3B0cyB8PSBUTFNfT1BUX0FMTE9XX0NMSUVOVF9SRU5FR09USUFUSU9OUzsKKyAKKysgICAgfSBlbHNlIGlmIChzdHJjbXAoY21kLT5hcmd2W2ldLCAiQWxsb3dXZWFrREgiKSA9PSAwKSB7CisrICAgICAgb3B0cyB8PSBUTFNfT1BUX0FMTE9XX1dFQUtfREg7CisrCisgICAgIH0gZWxzZSBpZiAoc3RyY21wKGNtZC0+YXJndltpXSwgIkVuYWJsZURpYWdzIikgPT0gMCkgeworICAgICAgIG9wdHMgfD0gVExTX09QVF9FTkFCTEVfRElBR1M7CisgCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL2Jhc2ljLmNvbmYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9iYXNpYy5jb25mLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5NjdiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9iYXNpYy5jb25mLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworcHJvZnRwZCB0cmllcyB0byBnZXQgdGhlIElQIGFkZHJlc3MgZnJvbSB0aGUgaG9zdG5hbWUuCitVbmx1Y2tpbHkgbm93IHRoZSBob3N0bmFtZSBpcyBub3QgcHJvcGVybHkgY29uZmlndXJlZCBpbiAvZXRjL2hvc3RzLgorV2UgY2FuIHVzZSB0aGlzIHBhdGNoIGFzIGEgd29ya2Fyb3VuZC4KKworQXV0aG9yOiBEZXh1YW4gQ3VpIDxkZXh1YW4uY3VpQGludGVsLmNvbT4KK1R1ZSBPY3QgMjUgMTI6NTk6MjcgQ1NUIDIwMTEKKworLS0tIHByb2Z0cGQtMS4zLjNjLm9yaWcvc2FtcGxlLWNvbmZpZ3VyYXRpb25zL2Jhc2ljLmNvbmYKKysrKyBwcm9mdHBkLTEuMy4zYy9zYW1wbGUtY29uZmlndXJhdGlvbnMvYmFzaWMuY29uZgorQEAgLTcsNiArNyw5IEBACisgU2VydmVyVHlwZQkJCXN0YW5kYWxvbmUKKyBEZWZhdWx0U2VydmVyCQkJb24KKyAKKysjQnkgZGVmYXVsdCB3ZSBiaW5kIHRvIGFsbCBpbnRlcmZhY2VzLgorK0RlZmF1bHRBZGRyZXNzICAgICAgMC4wLjAuMAorKworICMgUG9ydCAyMSBpcyB0aGUgc3RhbmRhcmQgRlRQIHBvcnQuCisgUG9ydAkJCQkyMQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvYnVpbGRfZml4dXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9idWlsZF9maXh1cC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTYxN2E2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvYnVpbGRfZml4dXAucGF0Y2gKQEAgLTAsMCArMSwxMTIgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworY29tYmluZWQgdGhlIGZvbGxvd2luZyBwYXRjaGVzIGludG8gb25lOgorbWFrZSwgbW92ZS1waWRmaWxlLXRvLXZhci1ydW4sIG1vdmUtcnVuZmlsZS10by12YXItcnVuCisKK21vdmUgcGlkZmlsZSB0byAvdmFyL3J1bgorcmVkZWZpbmUgUFJfUlVOX0RJUiBhcyAke2xvY2Fsc3RhdGVkaXJ9L3J1bgorCitTaWduZWQtb2ZmLUJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorCisKK0luZGV4OiBwcm9mdHBkLTEuMy41L01ha2UucnVsZXMuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwcm9mdHBkLTEuMy41Lm9yaWcvTWFrZS5ydWxlcy5pbgorKysrIHByb2Z0cGQtMS4zLjUvTWFrZS5ydWxlcy5pbgorQEAgLTI5LDkgKzI5LDkgQEAgSU5TVEFMTD1ASU5TVEFMTEAKKyBJTlNUQUxMX1NUUklQPUBJTlNUQUxMX1NUUklQQAorIElOU1RBTExfVVNFUj1AaW5zdGFsbF91c2VyQAorIElOU1RBTExfR1JPVVA9QGluc3RhbGxfZ3JvdXBACistSU5TVEFMTF9CSU49JChJTlNUQUxMKSAkKElOU1RBTExfU1RSSVApIC1vICQoSU5TVEFMTF9VU0VSKSAtZyAkKElOU1RBTExfR1JPVVApIC1tIDA3NTUKKy1JTlNUQUxMX1NCSU49JChJTlNUQUxMKSAkKElOU1RBTExfU1RSSVApIC1vICQoSU5TVEFMTF9VU0VSKSAtZyAkKElOU1RBTExfR1JPVVApIC1tIDA3NTUKKy1JTlNUQUxMX01BTj0kKElOU1RBTEwpIC1vICQoSU5TVEFMTF9VU0VSKSAtZyAkKElOU1RBTExfR1JPVVApIC1tIDA2NDQKKytJTlNUQUxMX0JJTj0kKElOU1RBTEwpIC1tIDA3NTUKKytJTlNUQUxMX1NCSU49JChJTlNUQUxMKSAtbSAwNzU1CisrSU5TVEFMTF9NQU49JChJTlNUQUxMKSAtbSAwNjQ0CisgCisgUk09cm0gLWYKKyBTSEVMTD1AQ09ORklHX1NIRUxMQAorSW5kZXg6IHByb2Z0cGQtMS4zLjUvTWFrZWZpbGUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwcm9mdHBkLTEuMy41Lm9yaWcvTWFrZWZpbGUuaW4KKysrKyBwcm9mdHBkLTEuMy41L01ha2VmaWxlLmluCitAQCAtMTA1LDcgKzEwNSw2IEBAIGNoZWNrOiBwcm9mdHBkJChFWEVFWFQpCisgJChERVNURElSKSQobG9jYWxlZGlyKSAkKERFU1RESVIpJChpbmNsdWRlZGlyKSAkKERFU1RESVIpJChpbmNsdWRlZGlyKS9wcm9mdHBkICQoREVTVERJUikkKGxpYmRpcikgJChERVNURElSKSQocGtnY29uZmlnZGlyKSAkKERFU1RESVIpJChsaWJkaXIpL3Byb2Z0cGQgJChERVNURElSKSQobGliZXhlY2RpcikgJChERVNURElSKSQobG9jYWxzdGF0ZWRpcikgJChERVNURElSKSQoc3lzY29uZmRpcikgJChERVNURElSKSQoYmluZGlyKSAkKERFU1RESVIpJChzYmluZGlyKSAkKERFU1RESVIpJChtYW5kaXIpICQoREVTVERJUikkKG1hbmRpcikvbWFuMSAkKERFU1RESVIpJChtYW5kaXIpL21hbjUgJChERVNURElSKSQobWFuZGlyKS9tYW44OgorIAlAaWYgWyAhIC1kICRAIF07IHRoZW4gXAorIAkJbWtkaXIgLXAgJEA7IFwKKy0JCWNob3duICQoSU5TVEFMTF9VU0VSKTokKElOU1RBTExfR1JPVVApICRAOyBcCisgCQljaG1vZCAwNzU1ICRAOyBcCisgCWZpCisgCitAQCAtMTE1LDcgKzExNCw2IEBAIGluc3RhbGwtcHJvZnRwZDogcHJvZnRwZCAkKERFU1RESVIpJChpbmMKKyAJCXJtIC1mICQoREVTVERJUikkKHNiaW5kaXIpL2luLnByb2Z0cGQgOyBcCisgCWZpCisgCWxuIC1zIHByb2Z0cGQgJChERVNURElSKSQoc2JpbmRpcikvaW4ucHJvZnRwZAorLQktY2hvd24gLWggJChJTlNUQUxMX1VTRVIpOiQoSU5TVEFMTF9HUk9VUCkgJChERVNURElSKSQoc2JpbmRpcikvaW4ucHJvZnRwZAorIAorIGluc3RhbGwtbGliczogJChERVNURElSKSQobGliZGlyKS9wcm9mdHBkCisgCWNkIGxpYi8gJiYgJChNQUtFKSBpbnN0YWxsCitAQCAtMTUyLDExICsxNTAsMTEgQEAgaW5zdGFsbC11dGlsczogJChERVNURElSKSQoc2JpbmRpcikgJChERQorIAkkKElOU1RBTExfU0JJTikgZnRwc2h1dCAgJChERVNURElSKSQoc2JpbmRpcikvZnRwc2h1dAorIAkkKElOU1RBTExfQklOKSAgZnRwdG9wICAgJChERVNURElSKSQoYmluZGlyKS9mdHB0b3AKKyAJJChJTlNUQUxMX0JJTikgIGZ0cHdobyAgICQoREVTVERJUikkKGJpbmRpcikvZnRwd2hvCistCSQoSU5TVEFMTCkgLW8gJChJTlNUQUxMX1VTRVIpIC1nICQoSU5TVEFMTF9HUk9VUCkgLW0gMDc1NSBzcmMvcHJ4cyAkKERFU1RESVIpJChiaW5kaXIpL3ByeHMKKysJJChJTlNUQUxMKSAtbSAwNzU1IHNyYy9wcnhzICQoREVTVERJUikkKGJpbmRpcikvcHJ4cworIAorIGluc3RhbGwtY29uZjogJChERVNURElSKSQoc3lzY29uZmRpcikKKyAJaWYgWyAhIC1mICQoREVTVERJUikkKHN5c2NvbmZkaXIpL3Byb2Z0cGQuY29uZiBdIDsgdGhlbiBcCistCQkkKElOU1RBTEwpIC1vICQoSU5TVEFMTF9VU0VSKSAtZyAkKElOU1RBTExfR1JPVVApIC1tIDA2NDQgXAorKwkJJChJTlNUQUxMKSAtbSAwNjQ0IFwKKyAJCSAgICAgICAgICAgJCh0b3Bfc3JjZGlyKS9zYW1wbGUtY29uZmlndXJhdGlvbnMvYmFzaWMuY29uZiBcCisgCSAgICAgICAJICAgICAgICAgICAkKERFU1RESVIpJChzeXNjb25mZGlyKS9wcm9mdHBkLmNvbmYgOyBcCisgCWZpCitJbmRleDogcHJvZnRwZC0xLjMuNS9jb25maWd1cmUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwcm9mdHBkLTEuMy41Lm9yaWcvY29uZmlndXJlCisrKysgcHJvZnRwZC0xLjMuNS9jb25maWd1cmUKK0BAIC0zODI1NSw3ICszODI1NSw3IEBAIF9BQ0VPRgorIAorIAorIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKy0jZGVmaW5lIFBSX1JVTl9ESVIgImBldmFsIGVjaG8gIiR7bG9jYWxzdGF0ZWRpcn0iYCIKKysjZGVmaW5lIFBSX1JVTl9ESVIgImBldmFsIGVjaG8gIiR7bG9jYWxzdGF0ZWRpcn0iL3J1bi9gIgorIF9BQ0VPRgorIAorIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKK0BAIC0zODI2Myw3ICszODI2Myw3IEBAIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyBfQUNFT0YKKyAKKyBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCistI2RlZmluZSBQUl9QSURfRklMRV9QQVRIICJgZXZhbCBlY2hvICIke2xvY2Fsc3RhdGVkaXJ9L3Byb2Z0cGQucGlkImAiCisrI2RlZmluZSBQUl9QSURfRklMRV9QQVRIICJgZXZhbCBlY2hvICIke2xvY2Fsc3RhdGVkaXJ9L3J1bi9wcm9mdHBkLnBpZCJgIgorIF9BQ0VPRgorIAorIAorSW5kZXg6IHByb2Z0cGQtMS4zLjUvY29uZmlndXJlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcHJvZnRwZC0xLjMuNS5vcmlnL2NvbmZpZ3VyZS5pbgorKysrIHByb2Z0cGQtMS4zLjUvY29uZmlndXJlLmluCitAQCAtMjk3MSw4ICsyOTcxLDggQEAgbG9jYWxlX2Rpcj0iYGV2YWwgZWNobyAke2xvY2FsZV9kaXJ9YCIKKyBBQ19ERUZJTkVfVU5RVU9URUQoUFJfTE9DQUxFX0RJUiwgImBldmFsIGVjaG8gIiR7bG9jYWxlX2Rpcn0iYCIpCisgCisgQUNfREVGSU5FX1VOUVVPVEVEKFBSX1JVTl9ESVIsICJgZXZhbCBlY2hvICIke2xvY2Fsc3RhdGVkaXJ9ImAiKQorLUFDX0RFRklORV9VTlFVT1RFRChQUl9DT05GSUdfRklMRV9QQVRILCAiYGV2YWwgZWNobyAiJHtzeXNjb25mZGlyfS9wcm9mdHBkLmNvbmYiYCIpCistQUNfREVGSU5FX1VOUVVPVEVEKFBSX1BJRF9GSUxFX1BBVEgsICJgZXZhbCBlY2hvICIke2xvY2Fsc3RhdGVkaXJ9L3Byb2Z0cGQucGlkImAiKQorK0FDX0RFRklORV9VTlFVT1RFRChQUl9DT05GSUdfRklMRV9QQVRILCAiYGV2YWwgZWNobyAiJHtzeXNjb25mZGlyfS9ydW4vcHJvZnRwZC5jb25mImAiKQorK0FDX0RFRklORV9VTlFVT1RFRChQUl9QSURfRklMRV9QQVRILCAiYGV2YWwgZWNobyAiJHtsb2NhbHN0YXRlZGlyfS9ydW4vcHJvZnRwZC5waWQiYCIpCisgCisgcHJlZml4PSIkcHJfc2F2ZWRfcHJlZml4IgorIGV4ZWNfcHJlZml4PSIkcHJfc2F2ZWRfZXhlY19wcmVmaXgiCitJbmRleDogcHJvZnRwZC0xLjMuNS9saWIvbGliY2FwL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcHJvZnRwZC0xLjMuNS5vcmlnL2xpYi9saWJjYXAvTWFrZWZpbGUKKysrKyBwcm9mdHBkLTEuMy41L2xpYi9saWJjYXAvTWFrZWZpbGUKK0BAIC0yNiw3ICsyNiw3IEBAIE9CSlM9JChhZGRzdWZmaXggLm8sICQoRklMRVMpKQorIGFsbDogJChMSUJOQU1FKQorIAorIF9tYWtlbmFtZXM6IF9tYWtlbmFtZXMuYyBjYXBfbmFtZXMuc2VkCistCSQoQ0MpICQoQ0ZMQUdTKSAkKExERkxBR1MpICQ8IC1vICRACisrCSQoQlVJTERfQ0MpICQoQ0ZMQUdTKSAkKExERkxBR1MpICQ8IC1vICRACisgCisgY2FwX25hbWVzLmg6IF9tYWtlbmFtZXMKKyAJLi9fbWFrZW5hbWVzID4gY2FwX25hbWVzLmgKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL2Nsb3NlLVJlcXVpcmVWYWxpZFNoZWxsLWNoZWNrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvY2xvc2UtUmVxdWlyZVZhbGlkU2hlbGwtY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY0NTM1YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL2Nsb3NlLVJlcXVpcmVWYWxpZFNoZWxsLWNoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK2Nsb3NlIFJlcXVpcmVWYWxpZFNoZWxsIGNoZWNrCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworY2xvc2UgUmVxdWlyZVZhbGlkU2hlbGwgY2hlY2sgc2luY2Ugd2UgbGlrZSB0byBtYWtlIC9iaW4vZmFsc2UgYXMgc2hlbGwKK2ZvciBmdHAgdXNlcgorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBzYW1wbGUtY29uZmlndXJhdGlvbnMvYmFzaWMuY29uZiB8ICAgIDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvc2FtcGxlLWNvbmZpZ3VyYXRpb25zL2Jhc2ljLmNvbmYgYi9zYW1wbGUtY29uZmlndXJhdGlvbnMvYmFzaWMuY29uZgoraW5kZXggMzE0ZWI3OS4uYWJjYjI4NCAxMDA2NDQKKy0tLSBhL3NhbXBsZS1jb25maWd1cmF0aW9ucy9iYXNpYy5jb25mCisrKysgYi9zYW1wbGUtY29uZmlndXJhdGlvbnMvYmFzaWMuY29uZgorQEAgLTUzLDYgKzUzLDcgQEAgQWxsb3dPdmVyd3JpdGUJCW9uCisgICAjIFdlIHdhbnQgY2xpZW50cyB0byBiZSBhYmxlIHRvIGxvZ2luIHdpdGggImFub255bW91cyIgYXMgd2VsbCBhcyAiZnRwIgorICAgVXNlckFsaWFzCQkJYW5vbnltb3VzIGZ0cAorIAorKyAgUmVxdWlyZVZhbGlkU2hlbGwJIAlvZmYKKyAgICMgTGltaXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGFub255bW91cyBsb2dpbnMKKyAgIE1heENsaWVudHMJCQkxMAorIAorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9jb250cmliLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvY29udHJpYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTJhOGUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvY29udHJpYi5wYXRjaApAQCAtMCwwICsxLDQyIEBACitUaGUgY29udHJpYiBkaXJlY3Rvcnkgbm93IGNvbnRhaW5zIGl0cyBvd24gTWFrZWZpbGUgd2hpY2ggaXMKK3VzZWQgZHVyaW5nIGluc3RhbGxhdGlvbi4gSXQgd2FzIHJlcXVpcmVkIHRvIHBhc3MgREVTVERJUiB0aHJvdWdoCit3aGVuIGl0IGdldHMgY2FsbGVkIGZyb20gdGhlIGJhc2UgTWFrZWZpbGUuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBTdHJhc3NlciA8a2V2aW4uc3RyYXNzZXJAbGludXguaW50ZWwuY29tPgorLS0tCisgTWFrZWZpbGUuaW4gICAgICAgICB8ICAgIDIgKy0KKyBjb250cmliL01ha2VmaWxlLmluIHwgICAgNiArKystLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KK2luZGV4IDViMmU2ODMuLmVlNzJmZTEgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC0xMjAsNyArMTIwLDcgQEAgaW5zdGFsbC1tb2R1bGVzOiAkKERFU1RESVIpJChsaWJleGVjZGlyKSAkKERFU1RESVIpJChzeXNjb25mZGlyKQorIAl0ZXN0IC16ICIkKFNIQVJFRF9NT0RVTEVfT0JKUykiIC1hIC16ICIkKFNIQVJFRF9NT0RVTEVfRElSUykiIC1hIC16ICIkKFNUQVRJQ19NT0RVTEVfRElSUykiIHx8IChjZCBtb2R1bGVzLyAmJiAkKE1BS0UpIGluc3RhbGwpCisgCisgaW5zdGFsbC11dGlsczogJChERVNURElSKSQoc2JpbmRpcikgJChERVNURElSKSQoYmluZGlyKQorLQljZCBjb250cmliLyAmJiAkKE1BS0UpIGluc3RhbGwtdXRpbHMKKysJY2QgY29udHJpYi8gJiYgJChNQUtFKSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbC11dGlscworIAkkKElOU1RBTExfQklOKSAgZnRwY291bnQgJChERVNURElSKSQoYmluZGlyKS9mdHBjb3VudAorIAkkKElOU1RBTExfQklOKSAgZnRwZGN0bCAgJChERVNURElSKSQoYmluZGlyKS9mdHBkY3RsCisgCSQoSU5TVEFMTF9TQklOKSBmdHBzY3J1YiAkKERFU1RESVIpJChzYmluZGlyKS9mdHBzY3J1YgorZGlmZiAtLWdpdCBhL2NvbnRyaWIvTWFrZWZpbGUuaW4gYi9jb250cmliL01ha2VmaWxlLmluCitpbmRleCA1YmNjMDM4Li41MWQyNDhjIDEwMDY0NAorLS0tIGEvY29udHJpYi9NYWtlZmlsZS5pbgorKysrIGIvY29udHJpYi9NYWtlZmlsZS5pbgorQEAgLTE4LDYgKzE4LDYgQEAgTWFrZWZpbGU6IE1ha2VmaWxlLmluIC4uL2NvbmZpZy5zdGF0dXMKKyAJY2QgLi4vICYmIC4vY29uZmlnLnN0YXR1cworIAorIGluc3RhbGwtdXRpbHM6CistCSQoSU5TVEFMTCkgLW8gJChJTlNUQUxMX1VTRVIpIC1nICQoSU5TVEFMTF9HUk9VUCkgLW0gMDc1NSBmdHBhc3N3ZCAkKERFU1RESVIpJChiaW5kaXIpL2Z0cGFzc3dkCistCSQoSU5TVEFMTCkgLW8gJChJTlNUQUxMX1VTRVIpIC1nICQoSU5TVEFMTF9HUk9VUCkgLW0gMDc1NSBmdHBtYWlsICQoREVTVERJUikkKGJpbmRpcikvZnRwbWFpbAorLQkkKElOU1RBTEwpIC1vICQoSU5TVEFMTF9VU0VSKSAtZyAkKElOU1RBTExfR1JPVVApIC1tIDA3NTUgZnRwcXVvdGEgJChERVNURElSKSQoYmluZGlyKS9mdHBxdW90YQorKwkkKElOU1RBTEwpIC1tIDA3NTUgZnRwYXNzd2QgJChERVNURElSKSQoYmluZGlyKS9mdHBhc3N3ZAorKwkkKElOU1RBTEwpIC1tIDA3NTUgZnRwbWFpbCAkKERFU1RESVIpJChiaW5kaXIpL2Z0cG1haWwKKysJJChJTlNUQUxMKSAtbSAwNzU1IGZ0cHF1b3RhICQoREVTVERJUikkKGJpbmRpcikvZnRwcXVvdGEKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9kZWZhdWx0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzFmMzZjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvZmlsZXMvZGVmYXVsdApAQCAtMCwwICsxLDkgQEAKKyMgRGVmYXVsdHMgZm9yIHByb2Z0cGQgaW5pdHNjcmlwdAorCisjIE1hc3RlciBzeXN0ZW0td2lkZSBwcm9mdHBkIHN3aXRjaC4gVGhlIGluaXRzY3JpcHQKKyMgd2lsbCBub3QgcnVuIGlmIGl0IGlzIG5vdCBzZXQgdG8geWVzLgorUlVOPSJ5ZXMiCisKKyMgRGVmYXVsdCBvcHRpb25zLgorIyBGb3IgbW9yZSBleGhhdXN0aXZlIGxvZ2dpbmcsIHRyeSAiLWQgMyIuCitPUFRJT05TPSIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9wcm9mdHBkLWJhc2ljLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9wcm9mdHBkLWJhc2ljLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFjOTk4YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL3Byb2Z0cGQtYmFzaWMuaW5pdApAQCAtMCwwICsxLDIyMCBAQAorIyEvYmluL3NoCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIHByb2Z0cGQKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICRyZW1vdGVfZnMgJHN5c2xvZyAkbG9jYWxfZnMgJG5ldHdvcmsKKyMgUmVxdWlyZWQtU3RvcDogICAgICRyZW1vdGVfZnMgJHN5c2xvZyAkbG9jYWxfZnMgJG5ldHdvcmsKKyMgU2hvdWxkLVN0YXJ0OiAgICAgICRuYW1lZAorIyBTaG91bGQtU3RvcDogICAgICAgJG5hbWVkCisjIERlZmF1bHQtU3RhcnQ6ICAgICAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDogICAgICAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogU3RhcnRzIFByb0ZUUEQgZGFlbW9uCisjIERlc2NyaXB0aW9uOiAgICAgICBUaGlzIHNjcmlwdCBydW5zIHRoZSBGVFAgc2VydmljZSBvZmZlcmVkCisjICAgICAgICAgICAgICAgICAgICBieSB0aGUgUHJvRlRQRCBkYWVtb24KKyMjIyBFTkQgSU5JVCBJTkZPCisKKyMgU3RhcnQgdGhlIHByb2Z0cGQgRlRQIGRhZW1vbi4KKworUEFUSD0vYmluOi91c3IvYmluOi9zYmluOi91c3Ivc2JpbgorREFFTU9OPS91c3Ivc2Jpbi9wcm9mdHBkCitOQU1FPXByb2Z0cGQKKworIyBEZWZhdWx0cworUlVOPSJubyIKK09QVElPTlM9IiIKK0NPTkZJR19GSUxFPS9ldGMvcHJvZnRwZC5jb25mCisKK1BJREZJTEU9YGdyZXAgLWkgJ15waWRmaWxlJyAkQ09ORklHX0ZJTEV8YXdrICd7IHByaW50ICQyIH0nYAoraWYgWyAieCRQSURGSUxFIiA9ICJ4IiBdOwordGhlbgorICAgIFBJREZJTEU9L3Zhci9ydW4vcHJvZnRwZC5waWQKK2ZpCisKKyMgUmVhZCBjb25maWcgKHdpbGwgb3ZlcnJpZGUgZGVmYXVsdHMpCitbIC1yIC9ldGMvZGVmYXVsdC9wcm9mdHBkIF0gJiYgLiAvZXRjL2RlZmF1bHQvcHJvZnRwZAorCit0cmFwICIiIDEKK3RyYXAgIiIgMTUKKwordGVzdCAtZiAkREFFTU9OIHx8IGV4aXQgMAorCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCisjCisjIFNlcnZlcnR5cGUgY291bGQgYmUgaW5ldGR8c3RhbmRhbG9uZXxub25lLgorIyBJbiBhbGwgY2FzZXMgY2hlY2sgYWdhaW5zdCBpbmV0ZCBhbmQgeGluZXRkIHN1cHBvcnQuCisjCitpZiAhIGVncmVwIC1xaSAiXltbOnNwYWNlOl1dKlNlcnZlclR5cGUuKnN0YW5kYWxvbmUiICRDT05GSUdfRklMRQordGhlbgorICAgIGlmIGVncmVwIC1xaSAic2VydmVyW1s6c3BhY2U6XV0qPVtbOnNwYWNlOl1dKi91c3Ivc2Jpbi9wcm9mdHBkIiAvZXRjL3hpbmV0ZC5jb25mIDI+L2Rldi9udWxsIHx8IFwKKyAgICAgICBlZ3JlcCAtcWkgInNlcnZlcltbOnNwYWNlOl1dKj1bWzpzcGFjZTpdXSovdXNyL3NiaW4vcHJvZnRwZCIgL2V0Yy94aW5ldGQuZC8qIDI+L2Rldi9udWxsIHx8IFwKKyAgICAgICBlZ3JlcCAtcWkgIl5mdHAuKi91c3Ivc2Jpbi9wcm9mdHBkIiAvZXRjL2luZXRkLmNvbmYgMj4vZGV2L251bGwKKyAgICB0aGVuCisgICAgICAgIFJVTj0ibm8iCisgICAgICAgIElORVREPSJ5ZXMiCisgICAgZWxzZQorICAgICAgICBpZiAhIGVncmVwIC1xaSAiXltbOnNwYWNlOl1dKlNlcnZlclR5cGUuKmluZXRkIiAkQ09ORklHX0ZJTEUKKyAgICAgICAgdGhlbgorICAgICAgICAgICAgUlVOPSJ5ZXMiCisgICAgICAgICAgICBJTkVURD0ibm8iCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFJVTj0ibm8iCisgICAgICAgICAgICBJTkVURD0ibm8iCisgICAgICAgIGZpCisgICAgZmkKK2ZpCisKKyMgL3Zhci9ydW4gY291bGQgYmUgb24gYSB0bXBmcworCitbICEgLWQgL3Zhci9ydW4vcHJvZnRwZCBdICYmIG1rZGlyIC92YXIvcnVuL3Byb2Z0cGQKKworaW5ldGRfY2hlY2soKQoreworICAgIGlmIFsgISAteCAvdXNyL3NiaW4vaW5ldGQgLWEgISAteCAvdXNyL3NiaW4veGluZXRkIF07IHRoZW4KKyAgICAgICAgZWNobyAiTmVpdGhlciBpbmV0ZCBub3IgeGluZXRkIGFwcGVhcnMgaW5zdGFsbGVkOiBjaGVjayB5b3VyIGNvbmZpZ3VyYXRpb24uIgorICAgIGZpCit9CisKK3N0YXJ0KCkKK3sKKyAgICBzZXQgLWUKKyAgICBlY2hvIC1uICJTdGFydGluZyBmdHAgc2VydmVyICROQU1FLi4uICIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1waWRmaWxlICIkUElERklMRSIgLS1va25vZG8gLS1leGVjICREQUVNT04gLS0gLWMgJENPTkZJR19GSUxFICRPUFRJT05TCisgICAgZWNobyAiZG9uZS4iCit9CisKK3NpZ25hbCgpCit7CisKKyAgICBpZiBbICIkMSIgPSAic3RvcCIgXTsgdGhlbgorICAgICAgICBTSUdOQUw9IlRFUk0iCisgICAgICAgIGVjaG8gLW4gIlN0b3BwaW5nIGZ0cCBzZXJ2ZXIgJE5BTUUuLi4gIgorICAgIGVsc2UKKyAgICAgICAgaWYgWyAiJDEiID0gInJlbG9hZCIgXTsgdGhlbgorICAgICAgICAgICAgU0lHTkFMPSJIVVAiCisgICAgICAgICAgICBlY2hvIC1uICJSZWxvYWRpbmcgZnRwIHNlcnZlciAkTkFNRS4uLiAiCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVjaG8gIkVSUjogd3JvbmcgcGFyYW1ldGVyIGdpdmVuIHRvIHNpZ25hbCgpIgorICAgICAgICAgICAgZXhpdCAxCisgICAgICAgIGZpCisgICAgZmkKKyAgICBpZiBbIC1mICIkUElERklMRSIgXTsgdGhlbgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1zaWduYWwgJFNJR05BTCAtLXF1aWV0IC0tcGlkZmlsZSAiJFBJREZJTEUiCisgICAgICAgIGlmIFsgJD8gPSAwIF07IHRoZW4KKyAgICAgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFNJR05BTD0iS0lMTCIKKyAgICAgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXNpZ25hbCAkU0lHTkFMIC0tcXVpZXQgLS1waWRmaWxlICIkUElERklMRSIKKyAgICAgICAgICAgIGlmIFsgJD8gIT0gMCBdOyB0aGVuCisgICAgICAgICAgICAgICAgZWNobworICAgICAgICAgICAgICAgIFsgJDIgIT0gMCBdIHx8IGV4aXQgMAorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgZmkKKyAgICAgICAgZmkKKyAgICAgICAgaWYgWyAiJFNJR05BTCIgPSAiS0lMTCIgXTsgdGhlbgorICAgICAgICAgICAgcm0gLWYgIiRQSURGSUxFIgorICAgICAgICBmaQorICAgIGVsc2UKKyAgICAgICAgZWNobyAiZG9uZS4iCisgICAgICAgIHJldHVybgorICAgIGZpCit9CisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorICAgICAgICBpZiBbICJ4JFJVTiIgPSAieHllcyIgXSA7IHRoZW4KKyAgICAgICAgICAgIHN0YXJ0CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmIFsgIngkSU5FVEQiID0gInh5ZXMiIF0gOyB0aGVuCisgICAgICAgICAgICAgICAgZWNobyAiUHJvRlRQRCBpcyBzdGFydGVkIGZyb20gaW5ldGQveGluZXRkLiIKKyAgICAgICAgICAgICAgICBpbmV0ZF9jaGVjaworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGVjaG8gIlByb0ZUUEQgd2FybmluZzogY2Fubm90IHN0YXJ0IG5laXRoZXIgaW4gc3RhbmRhbG9uZSBub3IgaW4gaW5ldGQveGluZXRkIG1vZGUuIENoZWNrIHlvdXIgY29uZmlndXJhdGlvbi4iCisgICAgICAgICAgICBmaQorICAgICAgICBmaQorICAgICAgICA7OworCisgICAgZm9yY2Utc3RhcnQpCisgICAgICAgIGlmIFsgIngkSU5FVEQiID0gInh5ZXMiIF0gOyB0aGVuCisgICAgICAgICAgICBlY2hvICJXYXJuaW5nOiBQcm9GVFBEIGlzIHN0YXJ0ZWQgZnJvbSBpbmV0ZC94aW5ldGQgKHRyeWluZyB0byBzdGFydCBhbnl3YXkpLiIKKyAgICAgICAgICAgIGluZXRkX2NoZWNrCisgICAgICAgIGZpCisgICAgICAgIHN0YXJ0CisgICAgICAgIDs7CisKKyAgICBzdG9wKQorICAgICAgICBpZiBbICJ4JFJVTiIgPSAieHllcyIgXSA7IHRoZW4KKyAgICAgICAgICAgIHNpZ25hbCBzdG9wIDAKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaWYgWyAieCRJTkVURCIgPSAieHllcyIgXSA7IHRoZW4KKyAgICAgICAgICAgICAgICBlY2hvICJQcm9GVFBEIGlzIHN0YXJ0ZWQgZnJvbSBpbmV0ZC94aW5ldGQuIgorICAgICAgICAgICAgICAgIGluZXRkX2NoZWNrCisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZWNobyAiUHJvRlRQRCB3YXJuaW5nOiBjYW5ub3Qgc3RhcnQgbmVpdGhlciBpbiBzdGFuZGFsb25lIG5vciBpbiBpbmV0ZC94aW5ldGQgbW9kZS4gQ2hlY2sgeW91ciBjb25maWd1cmF0aW9uLiIKKyAgICAgICAgICAgIGZpCisgICAgICAgIGZpCisgICAgICAgIDs7CisKKyAgICBmb3JjZS1zdG9wKQorICAgICAgICBpZiBbICJ4JElORVREIiA9ICJ4eWVzIiBdIDsgdGhlbgorICAgICAgICAgICAgZWNobyAiV2FybmluZzogUHJvRlRQRCBpcyBzdGFydGVkIGZyb20gaW5ldGQveGluZXRkICh0cnlpbmcgdG8ga2lsbCBhbnl3YXkpLiIKKyAgICAgICAgICAgIGluZXRkX2NoZWNrCisgICAgICAgIGZpCisgICAgICAgIHNpZ25hbCBzdG9wIDAKKyAgICAgICAgOzsKKworICAgIHJlbG9hZCkKKyAgICAgICAgc2lnbmFsIHJlbG9hZCAwCisgICAgICAgIDs7CisKKyAgICBmb3JjZS1yZWxvYWR8cmVzdGFydCkKKyAgICAgICAgaWYgWyAieCRSVU4iID0gInh5ZXMiIF0gOyB0aGVuCisgICAgICAgICAgICBzaWduYWwgc3RvcCAxCisgICAgICAgICAgICBzbGVlcCAyCisgICAgICAgICAgICBzdGFydAorICAgICAgICBlbHNlCisgICAgICAgICAgICBpZiBbICJ4JElORVREIiA9ICJ4eWVzIiBdIDsgdGhlbgorICAgICAgICAgICAgICAgIGVjaG8gIlByb0ZUUEQgaXMgc3RhcnRlZCBmcm9tIGluZXRkL3hpbmV0ZC4iCisgICAgICAgICAgICAgICAgaW5ldGRfY2hlY2sKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hvICJQcm9GVFBEIHdhcm5pbmc6IGNhbm5vdCBzdGFydCBuZWl0aGVyIGluIHN0YW5kYWxvbmUgbm9yIGluIGluZXRkL3hpbmV0ZCBtb2RlLiBDaGVjayB5b3VyIGNvbmZpZ3VyYXRpb24uIgorICAgICAgICAgICAgZmkKKyAgICAgICAgZmkKKyAgICAgICAgOzsKKworICAgIHN0YXR1cykKKyAgICAgICAgaWYgWyAieCRJTkVURCIgPSAieHllcyIgXSA7IHRoZW4KKyAgICAgICAgICAgIGVjaG8gIlByb0ZUUEQgaXMgc3RhcnRlZCBmcm9tIGluZXRkL3hpbmV0ZC4iCisgICAgICAgICAgICBpbmV0ZF9jaGVjaworICAgICAgICAgICAgZXhpdCAwCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmIFsgLWYgIiRQSURGSUxFIiBdOyB0aGVuCisgICAgICAgICAgICAgICAgcGlkPSQoY2F0ICRQSURGSUxFKQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHBpZD0ieCIKKyAgICAgICAgICAgIGZpCisgICAgICAgICAgICBpZiBbIGBwaWRvZiBwcm9mdHBkfGdyZXAgIiRwaWQifHdjIC1sYCAtbmUgMCBdIDsgdGhlbgorICAgICAgICAgICAgICAgIGVjaG8gIlByb0ZUUEQgaXMgc3RhcnRlZCBpbiBzdGFuZGFsb25lIG1vZGUsIGN1cnJlbnRseSBydW5uaW5nLiIKKyAgICAgICAgICAgICAgICBleGl0IDAKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlY2hvICJQcm9GVFBEIGlzIHN0YXJ0ZWQgaW4gc3RhbmRhbG9uZSBtb2RlLCBjdXJyZW50bHkgbm90IHJ1bm5pbmcuIgorICAgICAgICAgICAgICAgIGV4aXQgMworICAgICAgICAgICAgZmkKKyAgICAgICAgZmkKKyAgICAgICAgOzsKKworICAgIGNoZWNrLWNvbmZpZykKKyAgICAgICAgJERBRU1PTiAtdCA+L2Rldi9udWxsICYmIGVjaG8gIlByb0ZUUEQgY29uZmlndXJhdGlvbiBPSyIgJiYgZXhpdCAwCisgICAgICAgIGV4aXQgMQorICAgICAgICA7OworCisgICAgKikKKyAgICAgICAgZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kLyROQU1FIHtzdGFydHxzdGF0dXN8Zm9yY2Utc3RhcnR8c3RvcHxmb3JjZS1zdG9wfHJlbG9hZHxyZXN0YXJ0fGZvcmNlLXJlbG9hZHxjaGVjay1jb25maWd9IgorICAgICAgICBleGl0IDEKKyAgICAgICAgOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9wcm9mdHBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHJvZnRwZC9maWxlcy9wcm9mdHBkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE5N2Y4ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL2ZpbGVzL3Byb2Z0cGQuc2VydmljZQpAQCAtMCwwICsxLDcgQEAKK1tVbml0XQorRGVzY3JpcHRpb249cHJvZnRwZCBEYWVtb24KKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK0V4ZWNTdGFydD0tQFNCSU5ESVJAL3Byb2Z0cGQgLWMgQFNZU0NPTkZESVJAL3Byb2Z0cGQuY29uZgorU3RhbmRhcmRFcnJvcj1zeXNsb2cKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL3Byb2Z0cGRfMS4zLjVhLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Byb2Z0cGQvcHJvZnRwZF8xLjMuNWEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdkNDk4NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wcm9mdHBkL3Byb2Z0cGRfMS4zLjVhLmJiCkBAIC0wLDAgKzEsMTE1IEBACitTVU1NQVJZID0gIlNlY3VyZSBhbmQgY29uZmlndXJhYmxlIEZUUCBzZXJ2ZXIiCitTRUNUSU9OID0gIm5ldCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucHJvZnRwZC5vcmciCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiMGQxNDg0ZDExOTE1ZmE4OGE2YTc3MDJmMWRjMTg0IgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5wcm9mdHBkLm9yZy9kaXN0cmliL3NvdXJjZS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2Jhc2ljLmNvbmYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcHJvZnRwZC1iYXNpYy5pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2RlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vY2xvc2UtUmVxdWlyZVZhbGlkU2hlbGwtY2hlY2sucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY29udHJpYi5wYXRjaCAgXAorICAgICAgICAgICBmaWxlOi8vYnVpbGRfZml4dXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcHJvZnRwZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE2LTMxMjUucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiOWQzMDkyNDExNDc4NDE1YjMxZDQzNWY4ZTI2ZDE3MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhMWY0OGRmODUzOWM0MTRlYzU2ZTBjZWE2M2RjZjRiOGUxNmU2MDZjMDVmMTAxNTZmMDMwYTRhNjdmYWU1Njk2IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXNlcmFkZCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK1BBQ0tBR0VDT05GSUcgPz89ICJzaWEgc2hhZG93IgorUEFDS0FHRUNPTkZJRyArPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICdpcHY2JywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUcgKz0gIiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0nLCAnJywgZCl9IgorCitQQUNLQUdFQ09ORklHW2N1cnNlc10gPSAiLS1lbmFibGUtY3Vyc2VzIC0tZW5hYmxlLW5jdXJzZXMsIC0tZGlzYWJsZS1jdXJzZXMgLS1kaXNhYmxlLW5jdXJzZXMsIG5jdXJzZXMiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0tZW5hYmxlLW9wZW5zc2wsIC0tZGlzYWJsZS1vcGVuc3NsLCBvcGVuc3NsLCBvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1twYW1dID0gIi0tZW5hYmxlLWF1dGgtcGFtLCAtLWRpc2FibGUtYXV0aC1wYW0sIGxpYnBhbSwgbGlicGFtIgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LCAtLWRpc2FibGUtaXB2NiIKK1BBQ0tBR0VDT05GSUdbc2hhZG93XSA9ICItLWVuYWJsZS1zaGFkb3csIC0tZGlzYWJsZS1zaGFkb3ciCitQQUNLQUdFQ09ORklHW3BjcmVdID0gIi0tZW5hYmxlLXBjcmUsIC0tZGlzYWJsZS1wY3JlLCBsaWJwY3JlICIKKworIyBlbmFibGUgUE9TSVguMWUgY2FwYWJpbGl0aWVzCitQQUNLQUdFQ09ORklHW2NhcF0gPSAiLS1lbmFibGUtY2FwLCAtLWRpc2FibGUtY2FwLCBsaWJjYXAsIGxpYmNhcCIKKworI2VuYWJsZSBzdXBwb3J0IGZvciBQT1NJWCBBQ0xzCitQQUNLQUdFQ09ORklHW2FjbF0gPSAiLS1lbmFibGUtZmFjbCwgLS1kaXNhYmxlLWZhY2wiCisKKyNlbmFibGUgcHJvZnRwZCBjb250cm9scyB2aWEgZnRwZGN0CitQQUNLQUdFQ09ORklHW2N0cmxzXSA9ICItLWVuYWJsZS1jdHJscywgLS1kaXNhYmxlLWNydGxzIgorCisjcHJldmVudCBwcm9mdHBkIGZyb20gdXNpbmcgaXRzIGJ1bmRsZWQgZ2V0b3B0IGltcGxlbWVudGF0aW9uLgorUEFDS0FHRUNPTkZJR1tnZXRvcHRdID0gIi0td2l0aC1nZXRvcHQsIC0td2l0aG91dC1nZXRvcHQiCisKKyNkbyBub3Qgc3RyaXAgZGVidWdnaW5nIHN5bWJvbHMgZnJvbSBpbnN0YWxsZWQgY29kZQorUEFDS0FHRUNPTkZJR1tzdHJpcF0gPSAiLS1lbmFibGUtc3RyaXAsIC0tZGlzYWJsZS1zdHJpcCIKKworI2VuYWJsZSBTSUEgYXV0aGVudGljYXRpb24gc3VwcG9ydCAoVHJ1NjQpCitQQUNLQUdFQ09ORklHW3NpYV0gPSAiLS1lbmFibGUtc2lhLCAtLWRpc2FibGUtc2lhIgorUEFDS0FHRUNPTkZJR1tzZW5kZmlsZV0gPSAiLWVuYWJsZS1zZW5kZmlsZSwgLS1kaXNhYmxlLXNlbmRmaWxlIgorCisjZW5hYmxlIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0IChOTFMpCitQQUNLQUdFQ09ORklHW25sc10gPSAiLS1lbmFibGUtbmxzLCAtLWRpc2FibGUtbmxzIgorCisjYWRkIG1vZF9kc28gdG8gY29yZSBtb2R1bGVzCitQQUNLQUdFQ09ORklHW2Rzb10gPSAiLS1lbmFibGUtZHNvLCAtLWRpc2FibGUtZHNvIgorUEFDS0FHRUNPTkZJR1tsYXJnZWZpbGVdID0gIi0tZW5hYmxlLWxhcmdlZmlsZSwgLS1kaXNhYmxlLWxhcmdlZmlsZSIKKworI29taXQgbW9kX2F1dGhfZmlsZSBmcm9tIGNvcmUgbW9kdWxlcworUEFDS0FHRUNPTkZJR1thdXRoXSA9ICItLWVuYWJsZS1hdXRoLWZpbGUsIC0tZGlzYWJsZS1hdXRoLWZpbGUiCisKKworIyBwcm9mdHBkIHVzZXMgbGlibHRkbCB3aGljaCBjdXJyZW50bHkgbWFrZXMgY29uZmlndXJpbmcgdXNpbmcKKyMgYXV0b3Rvb2xzLmJiY2xhc3MgYSBwYWluLi4uCitkb19jb25maWd1cmUgKCkgeworICAgIG9lX3J1bmNvbmYKKyAgICBjcCAke1NUQUdJTkdfQklORElSX0NST1NTfS8ke0hPU1RfU1lTfS1saWJ0b29sICR7U30vbGlidG9vbAorfQorCitGVFBVU0VSID0gImZ0cCIKK0ZUUEdST1VQID0gImZ0cCIKKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gaW5zdGFsbAorICAgIHJtZGlyICR7RH0ke2xpYmRpcn0vcHJvZnRwZCAke0R9JHtkYXRhZGlyfS9sb2NhbGUKKyAgICBbIC1kICR7RH0ke2xpYmV4ZWNkaXJ9IF0gJiYgcm1kaXIgJHtEfSR7bGliZXhlY2Rpcn0KKyAgICBzZWQgLWkgJy8gKlVzZXJbIFx0XSovcy9mdHAvJHtGVFBVU0VSfS8nICR7RH0ke3N5c2NvbmZkaXJ9L3Byb2Z0cGQuY29uZgorICAgIHNlZCAtaSAnLyAqR3JvdXBbIFx0XSovcy9mdHAvJHtGVFBHUk9VUH0vJyAke0R9JHtzeXNjb25mZGlyfS9wcm9mdHBkLmNvbmYKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3Byb2Z0cGQtYmFzaWMuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcHJvZnRwZAorICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9wcm9mdHBkCisgICAgc2VkIC1pICdzIS9ldGMvISR7c3lzY29uZmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9wcm9mdHBkCisgICAgc2VkIC1pICdzIS92YXIvISR7bG9jYWxzdGF0ZWRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9wcm9mdHBkCisgICAgc2VkIC1pICdzIV5QQVRIPS4qIVBBVEg9JHtiYXNlX3NiaW5kaXJ9OiR7YmFzZV9iaW5kaXJ9OiR7c2JpbmRpcn06JHtiaW5kaXJ9IScgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3Byb2Z0cGQKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2RlZmF1bHQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC9wcm9mdHBkCisKKyAgICAjIGNyZWF0ZSB0aGUgcHViIGRpcmVjdG9yeQorICAgIG1rZGlyIC1wICR7RH0vaG9tZS8ke0ZUUFVTRVJ9L3B1Yi8KKyAgICBjaG93biAtUiAke0ZUUFVTRVJ9OiR7RlRQR1JPVVB9ICR7RH0vaG9tZS8ke0ZUUFVTRVJ9L3B1YgorCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3Byb2Z0cGQuc2VydmljZSAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWUgJ3MsQEJBU0VfU0JJTkRJUkAsJHtiYXNlX3NiaW5kaXJ9LGcnIFwKKyAgICAgICAgLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAorICAgICAgICAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCisgICAgICAgIC1pICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZQorfQorCitJTklUU0NSSVBUX05BTUUgPSAicHJvZnRwZCIKK0lOSVRTQ1JJUFRfUEFSQU0gPSAiZGVmYXVsdHMgODUgMTUiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicHJvZnRwZC5zZXJ2aWNlIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gJHtGVFBHUk9VUH0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC1nICR7RlRQR1JPVVB9IC0taG9tZS1kaXIgL3Zhci9saWIvJHtGVFBVU0VSfSAtLW5vLWNyZWF0ZS1ob21lIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS1zaGVsbCAvYmluL2ZhbHNlICR7RlRQVVNFUn0iCisKK0ZJTEVTXyR7UE59ICs9ICIvaG9tZS8ke0ZUUFVTRVJ9IgorCitSREVQRU5EU18ke1BOfSArPSAicGVybCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdHBkL3B0cGQvcHRwZC11c2UtcGtnY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B0cGQvcHRwZC9wdHBkLXVzZS1wa2djb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQ1NzhkZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdHBkL3B0cGQvcHRwZC11c2UtcGtnY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gNGM4NTBiOTJhMWNmOGNmYTE5Njc3YzY2YmNkZTJlZGZhYjFhNDQ5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvZSBNYWNEb25hbGQgPGpvZV9tYWNkb25hbGRAbWVudG9yLmNvbT4KK0RhdGU6IFR1ZSwgMjQgRmViIDIwMTUgMjM6MDI6MTQgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gcHRwZDogdXNlIHBrZ2NvbmZpZworCitZb2N0byB1c2VzIHBrZy1jb25maWcgZm9yIGxpYnBjYXAsIHJhdGhlciB0aGFuIHBjYXAtY29uZmlnLCBzbyB1c2UgdGhhdAoraW5zdGVhZCBhcyB0aGUgc291cmNlIGZvciBsaWJzIGFuZCBjZmxhZ3MuCisKK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZSBbIGVtYmVkZGVkIHNwZWNpZmljIF0KKworU2lnbmVkLW9mZi1ieTogSm9lIE1hY0RvbmFsZCA8am9lX21hY2RvbmFsZEBtZW50b3IuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZGM5NTQxZi4uMjg4ZjU0NyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTEyLDEwICsxMTIsMTAgQEAgY2FzZSAiJHRyeV9wY2FwIiBpbgorICB5ZXMpCisgICAgIGNhc2UgIiRQQVRIX1BDQVBfQ09ORklHIiBpbgorICAgICAgLyopCistCVBDQVBfTElCUz1gJFBBVEhfUENBUF9DT05GSUcgLS1saWJzYAorKwlQQ0FQX0xJQlM9YCRQQVRIX1BDQVBfQ09ORklHIC0tbGlicyBsaWJwY2FwYAorIAlBQ19TVUJTVChbUENBUF9MSUJTXSkKKyAJIyBTZXBhcmF0ZSBDUFBGTEFHUyBhbmQgQ0ZMQUdTCistCWZvbz1gJFBBVEhfUENBUF9DT05GSUcgLS1jZmxhZ3NgCisrCWZvbz1gJFBBVEhfUENBUF9DT05GSUcgLS1jZmxhZ3MgbGlicGNhcGAKKyAJUENBUF9DUFBGTEFHUz0KKyAJUENBUF9DRkxBR1M9CisgCWZvciBpIGluICRmb287IGRvCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdHBkL3B0cGQvcHRwZC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B0cGQvcHRwZC9wdHBkLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRkNTcxMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdHBkL3B0cGQvcHRwZC5jb25mCkBAIC0wLDAgKzEsNyBAQAorIworIyBQVFBEIENvbmZpZ3VyYXRpb24KKyMKKyMgU2VlIG1hbiBwdHBkMiBmb3IgYXJndW1lbnRzLgorIworIyBFeGFtcGxlIGFyZ3VtZW50cworUFRQREFSR1M9Ii1kIDEgLWkgZXRoMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdHBkL3B0cGQvcHRwZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B0cGQvcHRwZC9wdHBkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg0Nzk5ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdHBkL3B0cGQvcHRwZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTAgQEAKK1tVbml0XQorRGVzY3JpcHRpb249cHRwZCB0aW1lIHByZWNpc2lvbiBkYWVtb24KKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK0Vudmlyb25tZW50RmlsZT0tQFNZU0NPTkZESVJAL2RlZmF1bHQvcHRwZAorRXhlY1N0YXJ0PUBCSU5ESVJAL3B0cGQyICRQVFBEQVJHUworCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHRwZC9wdHBkXzIuMy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B0cGQvcHRwZF8yLjMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmFhZWUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B0cGQvcHRwZF8yLjMuMS5iYgpAQCAtMCwwICsxLDU4IEBACitTVU1NQVJZID0gIlRoZSBQVFAgZGFlbW9uIChQVFBkKSIKK0RFU0NSSVBUSU9OID0gIlRoZSBQVFAgZGFlbW9uIChQVFBkKSBpbXBsZW1lbnRzIHRoZSBQcmVjaXNpb24gVGltZSBwcm90b2NvbCAoUFRQKSBhcyBcCitkZWZpbmVkIGJ5IHRoZSByZWxldmFudCBJRUVFIDE1ODggc3RhbmRhcmQuIFBUUCBWZXJzaW9uIDEgaW1wbGVtZW50cyBJRUVFLTE1ODgtMjAwMiwgXAorYW5kIFBUUCBWZXJzaW9uIDIgaW1wbGVtZW50cyBJRUVFLTE1ODgtMjAwOC4gUFRQIHdhcyBkZXZlbG9wZWQgdG8gcHJvdmlkZSB2ZXJ5IHByZWNpc2UgXAordGltZSBjb29yZGluYXRpb24gb2YgTEFOIGNvbm5lY3RlZCBjb21wdXRlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9wdHBkIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTttZDU9MDczM2UxYjM3ODhhYjJlYmJjNjNiZjMzYTAyMGRhMWQiCisKK0RFUEVORFMgPSAibGlicGNhcCIKKworaW5oZXJpdCBhdXRvdG9vbHMgc3lzdGVtZAorCisjIHJldHVybiBzb21ldGhpbmcgbGlrZSAnMS4yLjMnIG9yICcxLjIuMy9yYzEnCisjCitkZWYgZ2V0X3N1YihkKToKKyAgICBwYXJ0cyA9IGQuZ2V0VmFyKCdQVicsVHJ1ZSkuc3BsaXQoJy0nKQorICAgIHRyeToKKyAgICAgICAgcmV0dXJuIHBhcnRzWzBdICsgJy8nICsgcGFydHNbMV0KKyAgICBleGNlcHQ6CisgICAgICAgIHJldHVybiBwYXJ0c1swXQorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3Byb2plY3QvcHRwZC9wdHBkLyR7QGdldF9zdWIoZCl9L3B0cGQtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3B0cGQtdXNlLXBrZ2NvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9wdHBkLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vcHRwZC5jb25mIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjI1M2JhYjdhYjUxZDk2OTYxNmVhODExYmUxZjEzMmYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBkYmY1NGRkMmMxNzhiZDlmZTYyNDgxZDJjMzc1MTNlZTM2NjM2ZDhiZjEzN2NmZGFkOTY4OTE0OTBjZGJmOTMiCisKK1MgPSAiJHtXT1JLRElSfS9wdHBkLSR7UFZ9IgorCitFWFRSQV9PRU1BS0UgPSAiIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1zbm1wIC0td2l0aC1wY2FwLWNvbmZpZz1wa2ctY29uZmlnIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfSAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9zcmMvcHRwZDIgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke0J9L3NyYy9wdHBkMi44ICR7RH0ke21hbmRpcn0vbWFuOAorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wdHBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKworICAgICAgICBzZWQgLWkgLWUgJ3MjQFNZU0NPTkZESVJAIyR7c3lzY29uZmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcHRwZC5zZXJ2aWNlCisgICAgICAgIHNlZCAtaSAtZSAncyNAQklORElSQCMke2JpbmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcHRwZC5zZXJ2aWNlCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0LworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wdHBkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC9wdHBkCisgICAgZmkKK30KKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJwdHBkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHVyZS1mdHBkL3B1cmUtZnRwZC8wMDAxLVJlbW92ZS1oYXJkY29kZWQtdXNyLWxvY2FsLWluY2x1ZGVzLWZyb20tY29uZmlndXJlLmEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHVyZS1mdHBkL3B1cmUtZnRwZC8wMDAxLVJlbW92ZS1oYXJkY29kZWQtdXNyLWxvY2FsLWluY2x1ZGVzLWZyb20tY29uZmlndXJlLmEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzY1MjNmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdXJlLWZ0cGQvcHVyZS1mdHBkLzAwMDEtUmVtb3ZlLWhhcmRjb2RlZC11c3ItbG9jYWwtaW5jbHVkZXMtZnJvbS1jb25maWd1cmUuYS5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDFiYWZhZGYyNTAyMzM0YTNlOTcyZmY2NjcwNjE0NjkzMTZkMGQyY2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUdWRvciBGbG9yZWEgPHR1ZG9yLmZsb3JlYUBlbmVhLmNvbT4KK0RhdGU6IFR1ZSwgNCBBdWcgMjAxNSAwMjo0NjozOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBSZW1vdmUgaGFyZGNvZGVkIC91c3IvbG9jYWwgaW5jbHVkZXMgZnJvbSBjb25maWd1cmUuYWMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK1NpZ25lZC1vZmYtYnk6IFlhdWhlbiBLaGFydXpoeSA8eWF1aGVuLmtoYXJ1emh5QHByb213YWQuY29tPgorU2lnbmVkLW9mZi1ieTogVHVkb3IgRmxvcmVhIDx0dWRvci5mbG9yZWFAZW5lYS5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAxMiAtLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDZjNzhlOGMuLjg1MWQ0NWQgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEwMCwxOCArMTAwLDYgQEAgQUNfQVJHX1ZBUihQWVRIT04sbG9jYWwgcGF0aCB0byB0aGUgcHl0aG9uIGludGVycHJldGVyKQorIHB5dGhvbl9wb3NzaWJsZV9wYXRoPSIvdXNyL2JpbjovdXNyL2xvY2FsL2JpbjovYmluOi9vcHQvcHl0aG9uL2Jpbjovb3B0L3B5dGhvbi91c3IvYmluOi9vcHQvcHl0aG9uL3Vzci9sb2NhbC9iaW4iCisgQUNfUEFUSF9QUk9HKFBZVEhPTixweXRob24sL3Vzci9iaW4vZW52IHB5dGhvbiwkcHl0aG9uX3Bvc3NpYmxlX3BhdGgpCisgCistaWYgdGVzdCAtZCAvdXNyL2xvY2FsL2luY2x1ZGU7IHRoZW4KKy0gIENQUEZMQUdTPSIkQ1BQRkxBR1MgLUkvdXNyL2xvY2FsL2luY2x1ZGUiCistZmkKKy0KKy1pZiB0ZXN0IC1kIC91c3Iva2VyYmVyb3MvaW5jbHVkZTsgdGhlbgorLSAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAtSS91c3Iva2VyYmVyb3MvaW5jbHVkZSIKKy1maQorLQorLWlmIHRlc3QgLWQgL3Vzci9sb2NhbC9saWI7IHRoZW4KKy0gIExERkxBR1M9IiRMREZMQUdTIC1ML3Vzci9sb2NhbC9saWIiCistZmkKKy0KKyBDUFBGTEFHUz0iJENQUEZMQUdTIC1EX0ZPUlRJRllfU09VUkNFPTIiCisgCisgZG5sIENoZWNrcyBmb3IgaGVhZGVyIGZpbGVzCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wdXJlLWZ0cGQvcHVyZS1mdHBkL25vc3RyaXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHVyZS1mdHBkL3B1cmUtZnRwZC9ub3N0cmlwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjYjMzYmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHVyZS1mdHBkL3B1cmUtZnRwZC9ub3N0cmlwLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gMDI5MGJkNmY0Y2VkZGZmMmM1MmRmZjgzM2M5ZDMxZDI0ZGU3ZDBlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFR1ZG9yIEZsb3JlYSA8dHVkb3IuZmxvcmVhQGVuZWEuY29tPgorRGF0ZTogVHVlLCA0IEF1ZyAyMDE1IDAzOjA3OjAxICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIERvbid0IG1lc3Mgd2l0aCBDRkxBR1MgYW5kIExERkxBR1Mgd2hlbiAtLXdpdGgtbWluaW1hbCBpcyBzcGVjaWZpZWQKKworV2UgZXNwZWNpYWxseSBkb24ndCB3YW50IHN0cmlwcGluZyBlbmFibGVkLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ10KKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBUdWRvciBGbG9yZWEgPHR1ZG9yLmZsb3JlYUBlbmVhLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDIgLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggODUxZDQ1ZC4uZGM0MTBhMSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNDIzLDggKzQyMyw2IEBAIEFDX0FSR19XSVRIKG1pbmltYWwsCisgICAgIEFDX0RFRklORShOT19GVFBfVVNFUlMpCisgICAgIEFDX0RFRklORShXSVRIT1VUX0FTQ0lJKSAgICAKKyAgICAgQUNfREVGSU5FKEJPUklOR19NT0RFKQorLSAgICBDRkxBR1M9IiRDRkxBR1MgLU9zIC1mb21pdC1mcmFtZS1wb2ludGVyIC1mbm8tdW5yb2xsLWxvb3BzICIKKy0gICAgTERGTEFHUz0iJExERkxBR1MgLXMgIgorICAgZmkgXSkKKyAKKyBBQ19BUkdfV0lUSChwYXJhbm9pZG1zZywKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B1cmUtZnRwZC9wdXJlLWZ0cGRfMS4wLjQyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3B1cmUtZnRwZC9wdXJlLWZ0cGRfMS4wLjQyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxZjE1MDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcHVyZS1mdHBkL3B1cmUtZnRwZF8xLjAuNDIuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJGVFAgU2VydmVyIHdpdGggYSBzdHJvbmcgZm9jdXMgb24gc29mdHdhcmUgc2VjdXJpdHkiCitERVNDUklQVElPTiA9ICJQdXJlLUZUUGQgaXMgYSBmcmVlIChCU0QgbGljZW5zZSksIHNlY3VyZSwgcHJvZHVjdGlvbi1xdWFsaXR5IGFuZCBzdGFuZGFyZC1jb25mb3JtYW50IEZUUCBzZXJ2ZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wdXJlZnRwZC5vcmcvcHJvamVjdC9wdXJlLWZ0cGQiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTAzNTJmYjJiZmUxN2Y0MjYxNjg3YTBkNmUwOWY0ODkiCisKK0RFUEVORFMgPSAibGliY2FwIgorCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnB1cmVmdHBkLm9yZy9wdWIvcHVyZS1mdHBkL3JlbGVhc2VzL3B1cmUtZnRwZC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1SZW1vdmUtaGFyZGNvZGVkLXVzci1sb2NhbC1pbmNsdWRlcy1mcm9tLWNvbmZpZ3VyZS5hLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25vc3RyaXAucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjQxOTVhZjhmMGU1ZWUyYTc5OGIxMDE0MDcxZGFlM2EzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdiZTczYThlNThiMTkwYTcwNTRkMmFlMDBjNWU2NTBjYjllMDkxOTgwNDIwMDgyZDAyZWMzYzNiNjhkOGU3ZjkiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtbWluaW1hbCIKK1BBQ0tBR0VDT05GSUdbbGlic29kaXVtXSA9ImFjX2N2X2xpYl9zb2RpdW1fY3J5cHRvX3B3aGFzaF9zY3J5cHRzYWxzYTIwOHNoYTI1Nl9zdHI9eWVzLCBcCisgICAgICAgICAgICAgICAgICAgICAgIGFjX2N2X2xpYl9zb2RpdW1fY3J5cHRvX3B3aGFzaF9zY3J5cHRzYWxzYTIwOHNoYTI1Nl9zdHI9bm8sIGxpYnNvZGl1bSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9maWxlcy9yYWR2ZC5kZWZhdWx0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL2ZpbGVzL3JhZHZkLmRlZmF1bHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2NiNzNjNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9maWxlcy9yYWR2ZC5kZWZhdWx0CkBAIC0wLDAgKzEgQEAKK09QVElPTlM9Ii11IHJhZHZkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL2ZpbGVzL3JhZHZkLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvZmlsZXMvcmFkdmQuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YjI2MzE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL2ZpbGVzL3JhZHZkLmluaXQKQEAgLTAsMCArMSwxMzUgQEAKKyMhIC9iaW4vc2gKKyMKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgIHJhZHZkCisjIFJlcXVpcmVkLVN0YXJ0OiAkcmVtb3RlX2ZzICRuYW1lZCAkc3lzbG9nCisjIFJlcXVpcmVkLVN0b3A6ICAkcmVtb3RlX2ZzICRuYW1lZCAkc3lzbG9nCisjIERlZmF1bHQtU3RhcnQ6ICAzIDUKKyMgRGVmYXVsdC1TdG9wOiAgIDAgMSAyIDYKKyMgRGVzY3JpcHRpb246ICAgIHJvdXRlciBhZHZlcnRpc2VtZW50IGRhZW1vbgorIyMjIEVORCBJTklUIElORk8KKworIyBTb3VyY2UgZnVuY3Rpb24gbGlicmFyeS4KKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKK1BBVEg9L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KK0RBRU1PTj0vdXNyL3NiaW4vcmFkdmQKK05BTUU9cmFkdmQKK0RFU0M9cmFkdmQKK0NPTkZJRz0vZXRjL3JhZHZkLmNvbmYKK1NBVkVEX1NFVFRJTkdTPS92YXIvcnVuL3JhZHZkL3NhdmVkLXNldHRpbmdzCitQSURGSUxFPS92YXIvcnVuL3JhZHZkL3JhZHZkLnBpZAorT1BUSU9OUz0iLXUgcmFkdmQgLXAgJFBJREZJTEUiCisKK3Rlc3QgLXggJERBRU1PTiB8fCBleGl0IDAKKworc2V0IC1lCisKKyMgQ2hlY2sgZm9yIElQdjYgc3VwcG9ydCBpbiBrZXJuZWwKK2lmIHRlc3QgXCEgLWUgL3Byb2Mvc3lzL25ldC9pcHY2OyB0aGVuCisgIGVjaG8gIklQdjYgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQgaW4gdGhlIGtlcm5lbCBmb3IgJERFU0MgdG8gd29yay4iCisgIGV4aXQKK2ZpCisKK3NhdmVfc2V0dGluZ3MoKQoreworICAgIGxvY2FsIGZpbGU9JDEKKyAgICAKKyAgICBybSAtZiAkZmlsZQorICAgIGZvciBpZl9jb25mIGluIC9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mLyo7IGRvCisJZWNobyAtZSAiJGlmX2NvbmYvZm9yd2FyZGluZ1x0IGBjYXQgJGlmX2NvbmYvZm9yd2FyZGluZ2AiID4+ICRmaWxlCisgICAgZG9uZQorICAgIHJldHVybiAwCit9CisKK3Jlc3RvcmVfc2V0dGluZ3MoKQoreworICAgIGZpbGU9JDEKKyAgICAKKyAgICBpZiBbICEgLWYgJGZpbGUgXTsgdGhlbgorCWVjaG8gIiQwOiB3YXJuaW5nOiBjYW5ub3QgcmVzdG9yZSBzZXR0aW5ncyIKKwlyZXR1cm4KKyAgICBmaQorICAgIAorICAgICggCisJd2hpbGUgcmVhZCBmIHZhbHVlOyBkbworCSAgICBpZiBbIC13ICRmIF07IHRoZW4KKwkJZWNobyAkdmFsdWUgPiAkZgorCSAgICBmaQorCWRvbmUKKyAgICApIDwgJGZpbGUKK30KKworY2hrY29uZmlnKCkgeworICAgIGlmIFsgISAtZSAkQ09ORklHIC1vICEgLXMgJENPTkZJRyBdOyB0aGVuCisgICAgICAgIGVjaG8gIiIKKwllY2hvICIqICRDT05GSUcgZG9lcyBub3QgZXhpc3Qgb3IgaXMgZW1wdHkuIiAKKwllY2hvICIqIFNlZSAvdXNyL3NoYXJlL2RvYy9yYWR2ZC9yYWR2ZC5jb25mLmV4YW1wbGUgZm9yIGEgc2ltcGxlIgorCWVjaG8gIiogY29uZmlndXJhdGlvbiBzdWl0YWJsZSBmb3IgbW9zdCBzeXN0ZW1zLCBhbmQgcmFkdmQuY29uZig1KSIKKwllY2hvICIqIGZvciBjb25maWd1cmF0aW9uIGZpbGUgc3ludGF4LiByYWR2ZCB3aWxsICpub3QqIGJlIHN0YXJ0ZWQuIgorCWV4aXQgMAorICAgIGZpCit9CisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwllY2hvIC1uICJTdGFydGluZyAkREVTQzogIgorCWNoa2NvbmZpZworCXNhdmVfc2V0dGluZ3MgJFNBVkVEX1NFVFRJTkdTCisJCisgICAgICAgICMgV2UgbXVzdCBlbmFibGUgSVB2NiBmb3J3YXJkaW5nIGZvciByYWR2ZCB0byB3b3JrCisJZWNobyAxID4gL3Byb2Mvc3lzL25ldC9pcHY2L2NvbmYvYWxsL2ZvcndhcmRpbmcKKworCSMgQ2hlY2sgZm9yIHN0YWxlIHBpZGZpbGU7IHJhZHZkIHdvbid0IHN0YXJ0IGlmIG9uZSBpcyBseWluZyBhcm91bmQKKwlpZiBbIC1mICRQSURGSUxFIF0gJiYgISBwcyBgY2F0ICAkUElERklMRWAgPiAvZGV2L251bGw7IHRoZW4KKwkgIHJtIC1mICRQSURGSUxFCisJZmkKKwlpZiAhIHN0YXJ0LXN0b3AtZGFlbW9uIC0tb2tub2RvIC0tc3RhcnQgLS1waWRmaWxlICRQSURGSUxFIFwKKwkJLS1leGVjICREQUVNT04gLS0gJE9QVElPTlM7IHRoZW4KKwkgIGVjaG8gImZhaWxlZC4iICYmIGV4aXQgMQorCWZpCisJZWNobyAiJE5BTUUuIgorCTs7CisgIHN0b3ApCisJZWNobyAtbiAiU3RvcHBpbmcgJERFU0M6ICIKKwlpZiAhIFsgLWYgJFBJREZJTEUgXSA7IHRoZW4KKwkJZWNobyAibm90IHJ1bm5pbmcuIgorCQlleGl0IDAKKwlmaQorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tb2tub2RvIC0tc3RvcCAtLXBpZGZpbGUgJFBJREZJTEUgXAorCQktLWV4ZWMgJERBRU1PTgorCXJlc3RvcmVfc2V0dGluZ3MgJFNBVkVEX1NFVFRJTkdTCisJcm0gLWYgJFNBVkVEX1NFVFRJTkdTCisJZWNobyAiJE5BTUUuIgorCTs7CisgIHN0YXR1cykKKwlzdGF0dXMgJERBRU1PTjsKKwlleGl0ICQ/CisJOzsKKyAgcmVsb2FkfGZvcmNlLXJlbG9hZCkKKwllY2hvICJSZWxvYWRpbmcgJERFU0MgY29uZmlndXJhdGlvbiBmaWxlcy4iCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tc2lnbmFsIEhVUCAtLXF1aWV0IC0tcGlkZmlsZSBcCisJICAgICRQSURGSUxFIC0tZXhlYyAkREFFTU9OCisJOzsKKyAgcmVzdGFydCkKKwljaGtjb25maWcKKwllY2hvIC1uICJSZXN0YXJ0aW5nICRERVNDOiAiCisJaWYgISBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXBpZGZpbGUgXAorCQkkUElERklMRSAtLWV4ZWMgJERBRU1PTjsgdGhlbgorCSAgIyBzdG9wIGZhaWxlZCwgc28gd2Ugd2VyZSBub3QgcnVubmluZworCSAgc2F2ZV9zZXR0aW5ncyAkU0FWRURfU0VUVElOR1MKKwkgIGVjaG8gMSA+IC9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mL2FsbC9mb3J3YXJkaW5nCisJZmkKKwlzbGVlcCAxCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSBcCisJCSRQSURGSUxFIC0tZXhlYyAkREFFTU9OIC0tICRPUFRJT05TCisJZWNobyAiJE5BTUUuIgorCTs7CisgICopCisJTj0vZXRjL2luaXQuZC8kTkFNRQorCWVjaG8gIlVzYWdlOiAkTiB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfSIgPiYyCisJZXhpdCAxCisJOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvZmlsZXMvcmFkdmQuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9maWxlcy9yYWR2ZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MDc5OGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvZmlsZXMvcmFkdmQuc2VydmljZQpAQCAtMCwwICsxLDExIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVJvdXRlciBhZHZlcnRpc2VtZW50IGRhZW1vbiBmb3IgSVB2NgorQWZ0ZXI9bmV0d29yay50YXJnZXQKK0NvbmRpdGlvblBhdGhFeGlzdHM9QFNZU0NPTkZESVJAL3JhZHZkLmNvbmYKKworW1NlcnZpY2VdCitFbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9kZWZhdWx0L3JhZHZkCitFeGVjU3RhcnQ9QFNCSU5ESVJAL3JhZHZkIC1uICRPUFRJT05TCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9maWxlcy92b2xhdGlsZXMuMDNfcmFkdmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvZmlsZXMvdm9sYXRpbGVzLjAzX3JhZHZkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5MjU2YTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvZmlsZXMvdm9sYXRpbGVzLjAzX3JhZHZkCkBAIC0wLDAgKzEsMiBAQAorIyA8dHlwZT4gPG93bmVyPiA8Z3JvdXA+IDxtb2RlPiA8cGF0aD4gPGxpbmtzb3VyY2U+CitkIHJhZHZkIHJvb3QgMDc1NSAvdmFyL3J1bi9yYWR2ZCBub25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvcmFkdmQuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40N2U0NzM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkLmluYwpAQCAtMCwwICsxLDY3IEBACitTVU1NQVJZID0gIklQdjYgcm91dGVyIGFkdmVydGlzZW1lbnQgZGFlbW9uIgorREVTQ1JJUFRJT04gPSAicmFkdmQgaXMgdGhlIHJvdXRlciBhZHZlcnRpc2VtZW50IGRhZW1vbiBmb3IgSVB2Ni4gSXQgXAorbGlzdGVucyB0byByb3V0ZXIgc29saWNpdGF0aW9ucyBhbmQgc2VuZHMgcm91dGVyIFwKK2FkdmVydGlzZW1lbnRzIGFzIGRlc2NyaWJlZCBpbiBSRkMgMjQ2MSwgTmVpZ2hib3IgXAorRGlzY292ZXJ5IGZvciBJUCBWZXJzaW9uIDYgKElQdjYpLiBXaXRoIHRoZXNlIFwKK2FkdmVydGlzZW1lbnRzIGhvc3RzIGNhbiBhdXRvbWF0aWNhbGx5IGNvbmZpZ3VyZSB0aGVpciBcCithZGRyZXNzZXMgYW5kIHNvbWUgb3RoZXIgcGFyYW1ldGVycy4gVGhleSBhbHNvIGNhbiBcCitjaG9vc2UgYSBkZWZhdWx0IHJvdXRlciBiYXNlZCBvbiB0aGVzZSBhZHZlcnRpc2VtZW50cy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpdGVjaC5vcmcvcmFkdmQvIgorU0VDVElPTiA9ICJuZXQiCitERVBFTkRTID0gImZsZXgtbmF0aXZlIGxpYmRhZW1vbiIKKworIyBMaWNlbnNlIGlzIEJTRC1TdHlsZSAod2l0aCBhZHZlcnRpc2luZyBjbGF1c2UpIGJ1dCBhbHNvIGhhcyBhbiBhZGRpdGlvbmFsIDB0aCBjbGF1c2UKK0xJQ0VOU0UgPSAicmFkdmQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTczZWJiZjcxODJhZTk5NmU2NWU4ZmFkYzlhOGM0NWRiIgorCitTUkNfVVJJID0gImh0dHA6Ly92NndlYi5saXRlY2gub3JnL3JhZHZkL2Rpc3QvcmFkdmQtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3JhZHZkLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vcmFkdmQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly92b2xhdGlsZXMuMDNfcmFkdmQgXAorICAgICAgICAgICBmaWxlOi8vcmFkdmQuZGVmYXVsdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgdXNlcmFkZCBwa2djb25maWcgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicmFkdmQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQgXAorICAgICAgICAgICAgICAgICAgICAgICAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcyBcCisgICAgICAgICAgICAgICAgICAgICAgICR7RH0ke2RvY2Rpcn0vcmFkdmQKKyAgICAjIEluc3RhbGwgaW5pdCBzY3JpcHQgYW5kIHZvbGF0aWxlcworICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3JhZHZkLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3JhZHZkCisgICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3JhZHZkCisgICAgc2VkIC1pICdzIS9ldGMvISR7c3lzY29uZmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9yYWR2ZAorICAgIHNlZCAtaSAncyEvdmFyLyEke2xvY2Fsc3RhdGVkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcmFkdmQKKyAgICBzZWQgLWkgJ3MhXlBBVEg9LiohUEFUSD0ke2Jhc2Vfc2JpbmRpcn06JHtiYXNlX2JpbmRpcn06JHtzYmluZGlyfToke2JpbmRpcn0hJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcmFkdmQKKworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy4wM19yYWR2ZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy92b2xhdGlsZXMuMDNfcmFkdmQKKworICAgICMgSW5zdGFsbCBzeXN0ZW1kIHNlcnZpY2UgZmlsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmFkdmQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyNAU1lTQ09ORkRJUkAjJHtzeXNjb25mZGlyfSNnJyBcCisgICAgICAgICAgIC1lICdzI0BTQklORElSQCMke3NiaW5kaXJ9I2cnIFwKKyAgICAgICAgICAgLWUgJ3MjQEJBU0VfQklORElSQCMke2Jhc2VfYmluZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9yYWR2ZC5zZXJ2aWNlCisKKyAgICAjIEluc3RhbGwgZGVmYXVsdCBlbnZpcm9ubWVudCBmaWxlCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmFkdmQuZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3JhZHZkCisKKyAgICAjIERvY3VtZW50YXRpb24KKyAgICBmb3IgaSBpbiByYWR2ZC5jb25mLmV4YW1wbGUgUkVBRE1FOyBkbyBcCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9LyRpICR7RH0ke2RvY2Rpcn0vcmFkdmQ7IFwKKyAgICBkb25lCit9CisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJyYWR2ZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDIwIDgwIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLWhvbWUgJHtsb2NhbHN0YXRlZGlyfS9ydW4vcmFkdmQvIC1NIC1nIG5vZ3JvdXAgcmFkdmQiCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgaWYgWyAteiAiJEQiIC1hIC14IC9ldGMvaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIF07IHRoZW4KKwkvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkXzIuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcmFkdmQvcmFkdmRfMi4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGI3NTMyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkXzIuMTEuYmIKQEAgLTAsMCArMSw1IEBACisKK3JlcXVpcmUgcmFkdmQuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1N2ZjNjAyMWY2YTVlNTQ3MmU0NTU5Mzc2ODU0NzJhMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4MGFkNjBiMTU2ODllOTU5MWE1YWYzOTNhNTdhMWQ5MzMwNGRlZWZmMmU0NjQ4MmYwZmQ5ODA0NmMwMDYyMmY4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL0FkZC1kZWZhdWx0LWVudHJ5LWZvci1jcm9zcy1jb21waWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL0FkZC1kZWZhdWx0LWVudHJ5LWZvci1jcm9zcy1jb21waWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmODQ1YmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvQWRkLWRlZmF1bHQtZW50cnktZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSBmYWEyMTJhNGUwYWFmNDQyZmY1OGZjYTUwNzcwYThmYWRjMTAzOGUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorTWVzc2FnZS1JZDogPGZhYTIxMmE0ZTBhYWY0NDJmZjU4ZmNhNTA3NzBhOGZhZGMxMDM4ZTMuMTM4MjA0MTEyMy5naXQuSmltLlNvbWVydmlsbGVAd2luZHJpdmVyLmNvbT4KK0Zyb206IEppbSBTb21lcnZpbGxlIDxKaW0uU29tZXJ2aWxsZUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAxNyBPY3QgMjAxMyAxNjoxNzo0OCAtMDQwMAorU3ViamVjdDogW1BBVENIIDEvMV0gQWRkIGRlZmF1bHQgZW50cnkgZm9yIGNyb3NzIGNvbXBpbGUKKworU2lnbmVkLW9mZi1ieTogSmltIFNvbWVydmlsbGUgPEppbS5Tb21lcnZpbGxlQHdpbmRyaXZlci5jb20+CistLS0KKyBhY2luY2x1ZGUva3JiNS5tNCB8ICAgIDYgKysrKystCisgMSBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hY2luY2x1ZGUva3JiNS5tNCBiL2FjaW5jbHVkZS9rcmI1Lm00CitpbmRleCA1ZDlhYzM2Li43YTA3MmEyIDEwMDY0NAorLS0tIGEvYWNpbmNsdWRlL2tyYjUubTQKKysrKyBiL2FjaW5jbHVkZS9rcmI1Lm00CitAQCAtODIsNyArODIsMTEgQEAgbWFpbih2b2lkKQorIAorICAgICAgICAgcmV0dXJuIDA7CisgfQorLV1dKV0sIFsgc3F1aWRfY3ZfYnJva2VuX2hlaW1kYWxfa3JiNV9oPXllcyBdLCBbIHNxdWlkX2N2X2Jyb2tlbl9oZWltZGFsX2tyYjVfaD1ubyBdKQorK11dKV0sIFsgc3F1aWRfY3ZfYnJva2VuX2hlaW1kYWxfa3JiNV9oPXllcyBdLCBbIHNxdWlkX2N2X2Jyb2tlbl9oZWltZGFsX2tyYjVfaD1ubyBdLAorK1sKKysgIGRubCBDYW4ndCB0ZXN0IGluIGNyb3NzIGNvbXBpbGVkIGVudiAtIHNvIGFzc3VtZSBnb29kCisrICBzcXVpZF9jdl9icm9rZW5faGVpbWRhbF9rcmI1X2g9bm8KKytdKQorICAgICBdLAorICAgICBbCisgICAgICBkbmwgQ2FuJ3QgdGVzdCBpbiBjcm9zcyBjb21waWxlZCBlbnYgLSBzbyBhc3N1bWUgZ29vZAorLS0gCisxLjcuNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9DVkUtMjAxNi0zOTQ3LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL0NWRS0yMDE2LTM5NDcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgzZTZhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9DVkUtMjAxNi0zOTQ3LnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK0Zyb20gMGZlMTA4ZWNiMmJiZGY2ODRmMTU5OTUwZWFhNTVkMjJmMDdjNDAwOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENhdGFsaW4gRW5hY2hlIDxjYXRhbGluLmVuYWNoZUB3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCAyMCBBcHIgMjAxNiAxNToxNzoxOCArMDMwMAorU3ViamVjdDogW1BBVENIXSBwaW5nZXI6IEZpeCBidWZmZXIgb3ZlcmZsb3cgaW4gSWNtcDY6OlJlY3YKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorQ1ZFOiBDVkUtMjAxNi0zOTQ3CisKK0F1dGhvcjogWXVyaXkgTS4gS2FtaW5za2l5IDx5dW1rYW1AZ21haWwuY29tPgorQ29tbWl0dGVyOiBBbW9zIEplZmZyaWVzIDxzcXVpZDNAdHJlZW5ldC5jby5uegorU2lnbmVkLW9mZi1ieTogQ2F0YWxpbiBFbmFjaGUgPGNhdGFsaW4uZW5hY2hlQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvaWNtcC9JY21wNi5jYyB8IDUgKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2ljbXAvSWNtcDYuY2MgYi9zcmMvaWNtcC9JY21wNi5jYworaW5kZXggNzk0YTUxYS4uZWU4NGI4MCAxMDA2NDQKKy0tLSBhL3NyYy9pY21wL0ljbXA2LmNjCisrKysgYi9zcmMvaWNtcC9JY21wNi5jYworQEAgLTI1Niw3ICsyNTYsNyBAQCBJY21wNjo6UmVjdih2b2lkKQorICAgICAjZGVmaW5lIGlwNl9ob3BzICAgIC8vIEhPUFMhISEgIChjYW4gaXQgYmUgdHJ1ZT8/KQorIAorICAgICAgICAgaXAgPSAoc3RydWN0IGlwNl9oZHIgKikgcGt0OworLSAgICAgICAgcGt0ICs9IHNpemVvZihpcDZfaGRyKTsKKysgICAgICAgIE5QOiBlY2hvIHNpemUgbmVlZHMgdG8gK3NpemVvZihpcDZfaGRyKTsKKyAKKyAgICAgZGVidWdzKDQyLCBEQkdfQ1JJVElDQUwsIEhFUkUgPDwgImlwNl9ueHQ9IiA8PCBpcC0+aXA2X254dCA8PAorICAgICAgICAgICAgICIsIGlwNl9wbGVuPSIgPDwgaXAtPmlwNl9wbGVuIDw8CitAQCAtMjY3LDcgKzI2Nyw2IEBAIEljbXA2OjpSZWN2KHZvaWQpCisgICAgICovCisgCisgICAgIGljbXA2aGVhZGVyID0gKHN0cnVjdCBpY21wNl9oZHIgKikgcGt0OworLSAgICBwa3QgKz0gc2l6ZW9mKGljbXA2X2hkcik7CisgCisgICAgIGlmIChpY21wNmhlYWRlci0+aWNtcDZfdHlwZSAhPSBJQ01QNl9FQ0hPX1JFUExZKSB7CisgCitAQCAtMjkyLDcgKzI5MSw3IEBAIEljbXA2OjpSZWN2KHZvaWQpCisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAKKy0gICAgZWNobyA9IChpY21wRWNob0RhdGEgKikgcGt0OworKyAgICBlY2hvID0gKGljbXBFY2hvRGF0YSAqKSAocGt0ICsgc2l6ZW9mKGljbXA2X2hkcikpOworIAorICAgICBwcmVwbHkub3Bjb2RlID0gZWNoby0+b3Bjb2RlOworIAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvRml4LWZsYXdlZC1keW5hbWljLWxkYi1saW5rLXRlc3QtaW4tY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL0ZpeC1mbGF3ZWQtZHluYW1pYy1sZGItbGluay10ZXN0LWluLWNvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzA0YzVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL0ZpeC1mbGF3ZWQtZHluYW1pYy1sZGItbGluay10ZXN0LWluLWNvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDQzIEBACitGcm9tIDBkNWIzMzdmZjVlZjdkZDQ4Zjk3MGYwOGJkOTVkNjMyNzkxN2NmZDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitNZXNzYWdlLUlkOiA8MGQ1YjMzN2ZmNWVmN2RkNDhmOTcwZjA4YmQ5NWQ2MzI3OTE3Y2ZkMS4xMzgyMzc1ODA3LmdpdC5KaW0uU29tZXJ2aWxsZUB3aW5kcml2ZXIuY29tPgorRnJvbTogSmltIFNvbWVydmlsbGUgPEppbS5Tb21lcnZpbGxlQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDIxIE9jdCAyMDEzIDEyOjUwOjQ0IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggMS8xXSBGaXggZmxhd2VkIGR5bmFtaWMgLWxkYiBsaW5rIHRlc3QgaW4gY29uZmlndXJlCisKK1RoZSB0ZXN0IHVzZXMgZGJvcGVuLCBidXQganVzdCBpZ25vcmVzIHRoZSBmYWN0Cit0aGF0IHRoaXMgZnVuY3Rpb24gbWF5IG5vdCBleGlzdCBpbiB0aGUgZGIgdmVyc2lvbgordXNlZC4gIFRoaXMgbGVhZHMgdG8gdGhlIGR5bmFtaWMgbGluayB0ZXN0IGZhaWxpbmcKK2FuZCB0aGUgY29uZmlndXJlIHNjcmlwdCBqdXN0IG1ha2luZyBhc3N1bXB0aW9ucworYWJvdXQgd2h5IGFuZCBzZXR0aW5nIHRoZSBuZWVkIGZvciAtbGRiIGluY29ycmVjdGx5LgorCitTaWduZWQtb2ZmLWJ5OiBKaW0gU29tZXJ2aWxsZSA8SmltLlNvbWVydmlsbGVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgMTIgKysrKysrKysrKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA5NjJhNzQ4Li40MmU2YTkzIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0zMDUxLDggKzMwNTEsMTYgQEAgQUNfQ0hFQ0tfREVDTChkYm9wZW4sLCxbCisgI2luY2x1ZGUgPGRiLmg+CisgI2VuZGlmXSkKKyAKKy1kbmwgMS44NQorLVNRVUlEX0NIRUNLX0RCT1BFTl9ORUVEU19MSUJEQgorK2lmIHRlc3QgIngkYWNfY3ZfaGF2ZV9kZWNsX2Rib3BlbiIgPSAieHllcyI7IHRoZW4KKysgIGRubCAxLjg1CisrICBTUVVJRF9DSEVDS19EQk9QRU5fTkVFRFNfTElCREIKKytlbHNlCisrICAjIGRib3BlbiBpc24ndCB0aGVyZS4gU28gaW5zdGVhZCBvZiBydW5uaW5nIGEgY29tcGlsZS9saW5rIHRlc3QgdGhhdAorKyAgIyB1c2VzIGl0IGFuZCBpcyB0aHVzIGd1YXJhbnRlZWQgdG8gZmFpbCwgd2UganVzdCBhc3N1bWUgdGhhdCB3ZSB3aWxsCisrICAjIG5lZWQgdG8gbGluayBpbiB0aGUgZGIgbGlicmFyeSwgcmF0aGVyIHRoYW4gZmFicmljYXRlIHNvbWUgb3RoZXIKKysgICMgZHluYW1pYyBjb21waWxlL2xpbmsgdGVzdC4KKysgIGFjX2N2X2Rib3Blbl9saWJkYj0ieWVzIgorK2ZpCisgaWYgdGVzdCAieCRhY19jdl9kYm9wZW5fbGliZGIiID0gInh5ZXMiOyB0aGVuCisgICAgIExJQl9EQj0iLWxkYiIKKyBmaQorLS0gCisxLjcuNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9TZXQtdXAtZm9yLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL1NldC11cC1mb3ItY3Jvc3MtY29tcGlsYXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNhMjc0NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9TZXQtdXAtZm9yLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gMTdlNWEyODY2N2Y2Njc4NTljNDhiZWUyNWU1NzVhMDcyZDM5ZWUxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK01lc3NhZ2UtSWQ6IDwxN2U1YTI4NjY3ZjY2Nzg1OWM0OGJlZTI1ZTU3NWEwNzJkMzllZTFiLjEzODE5NTYxNzAuZ2l0LkppbS5Tb21lcnZpbGxlQHdpbmRyaXZlci5jb20+CitGcm9tOiBKaW0gU29tZXJ2aWxsZSA8SmltLlNvbWVydmlsbGVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMTYgT2N0IDIwMTMgMTY6NDE6MDMgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzFdIFNldCB1cCBmb3IgY3Jvc3MgY29tcGlsYXRpb24KKworU2V0IHRoZSBob3N0IGNvbXBpbGVyIHRvIEJVSUxEX0NYWCBzbworcHJvcGVyIGNyb3NzIGNvbXBpbGF0aW9uIGNhbiBvY2N1ci4KKworU2lnbmVkLW9mZi1ieTogSmltIFNvbWVydmlsbGUgPEppbS5Tb21lcnZpbGxlQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAgICAxICsKKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYzJkMzAzMy4uZGRhOWVkOSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTksNiArMTksNyBAQCBtNF9pbmNsdWRlKFthY2luY2x1ZGUvbGliLWNoZWNrcy5tNF0pCisgbTRfaW5jbHVkZShbYWNpbmNsdWRlL2F4X2N4eF9jb21waWxlX3N0ZGN4eF8weC5tNF0pCisgbTRfaW5jbHVkZShbYWNpbmNsdWRlL2F4X2N4eF8weF90eXBlcy5tNF0pCisgCisrSE9TVENYWD0iJEJVSUxEX0NYWCIKKyBQUkVTRVRfQ0ZMQUdTPSIkQ0ZMQUdTIgorIFBSRVNFVF9DWFhGTEFHUz0iJENYWEZMQUdTIgorIFBSRVNFVF9MREZMQUdTPSIkTERGTEFHUyIKKy0tIAorMS43LjQuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvU2tpcC1BQ19SVU5fSUZFTFNFLXRlc3RzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL1NraXAtQUNfUlVOX0lGRUxTRS10ZXN0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjZkY2M4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL1NraXAtQUNfUlVOX0lGRUxTRS10ZXN0cy5wYXRjaApAQCAtMCwwICsxLDY0IEBACitTdWJqZWN0OiBbUEFUQ0hdIFNraXAgQUNfUlVOX0lGRUxTRSB0ZXN0cworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Nyb3NzIGNvbXBpbGluZyBzcGVjaWZpY10KKworU3VjaCB0ZXN0cyBhcmUgbm90IHN1cHBvcnRlZCBpbiBhIGNyb3NzIGNvbXBpbGUKK2Vudmlyb25tZW50LiAgQ2hvb3NlIHNhbmUgZGVmYXVsdHMuCisKK1NpZ25lZC1vZmYtYnk6IEppbSBTb21lcnZpbGxlIDxKaW0uU29tZXJ2aWxsZUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGFjaW5jbHVkZS9rcmI1Lm00ICAgICAgIHwgICAxMCArKysrKysrKystCisgYWNpbmNsdWRlL2xpYi1jaGVja3MubTQgfCAgICA4ICsrKysrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWNpbmNsdWRlL2tyYjUubTQgYi9hY2luY2x1ZGUva3JiNS5tNAoraW5kZXggOTQ2YmVhOC4uN2EwNzJhMiAxMDA2NDQKKy0tLSBhL2FjaW5jbHVkZS9rcmI1Lm00CisrKysgYi9hY2luY2x1ZGUva3JiNS5tNAorQEAgLTgyLDcgKzgyLDE1IEBAIG1haW4odm9pZCkKKyAKKyAgICAgICAgIHJldHVybiAwOworIH0KKy1dXSldLCBbIHNxdWlkX2N2X2Jyb2tlbl9oZWltZGFsX2tyYjVfaD15ZXMgXSwgWyBzcXVpZF9jdl9icm9rZW5faGVpbWRhbF9rcmI1X2g9bm8gXSkKKytdXSldLCBbIHNxdWlkX2N2X2Jyb2tlbl9oZWltZGFsX2tyYjVfaD15ZXMgXSwgWyBzcXVpZF9jdl9icm9rZW5faGVpbWRhbF9rcmI1X2g9bm8gXSwKKytbCisrICBkbmwgQ2FuJ3QgdGVzdCBpbiBjcm9zcyBjb21waWxlZCBlbnYgLSBzbyBhc3N1bWUgZ29vZAorKyAgc3F1aWRfY3ZfYnJva2VuX2hlaW1kYWxfa3JiNV9oPW5vCisrXSkKKysgICAgXSwKKysgICAgWworKyAgICAgZG5sIENhbid0IHRlc3QgaW4gY3Jvc3MgY29tcGlsZWQgZW52IC0gc28gYXNzdW1lIGdvb2QKKysgICAgIHNxdWlkX2N2X2Jyb2tlbl9oZWltZGFsX2tyYjVfaD1ubworICAgICBdKQorICAgXSkKKyBdKSBkbmwgU1FVSURfQ0hFQ0tfS1JCNV9IRUlNREFMX0JST0tFTl9LUkI1X0gKK2RpZmYgLS1naXQgYS9hY2luY2x1ZGUvbGliLWNoZWNrcy5tNCBiL2FjaW5jbHVkZS9saWItY2hlY2tzLm00CitpbmRleCAyYmY5OGVlLi41MGRiYTliIDEwMDY0NAorLS0tIGEvYWNpbmNsdWRlL2xpYi1jaGVja3MubTQKKysrKyBiL2FjaW5jbHVkZS9saWItY2hlY2tzLm00CitAQCAtMTI4LDcgKzEyOCw5IEBAIEFDX0RFRlVOKFtTUVVJRF9DSEVDS19PUEVOU1NMX0dFVENFUlRJRklDQVRFX1dPUktTXSxbCisgICAgQUNfREVGSU5FKFNRVUlEX1NTTEdFVENFUlRJRklDQVRFX0JVR0dZLCAxKQorICAgIEFDX01TR19SRVNVTFQoW3llc10pCisgICBdLAorLSAgW10pCisrICBbCisrICAgQUNfTVNHX1JFU1VMVChbc2tpcHBlZCAtIGNhbid0IHRlc3QgaW4gY3Jvc3MtY29tcGlsZWQgZW52XSkKKysgIF0pCisgCisgICBBQ19NU0dfQ0hFQ0tJTkcod2hldGhlciB0aGUgd29ya2Fyb3VuZCBmb3IgU1NMX2dldF9jZXJ0aWZpY2F0ZSB3b3JrcykKKyAgIEFDX1JVTl9JRkVMU0UoWworQEAgLTE1NCw3ICsxNTYsOSBAQCBBQ19ERUZVTihbU1FVSURfQ0hFQ0tfT1BFTlNTTF9HRVRDRVJUSUZJQ0FURV9XT1JLU10sWworICAgWworICAgIEFDX01TR19SRVNVTFQoW25vXSkKKyAgIF0sCistW10pCisrWworKyAgIEFDX01TR19SRVNVTFQoW3NraXBwZWQgLSBjYW4ndCB0ZXN0IGluIGNyb3NzLWNvbXBpbGVkIGVudl0pCisrXSkKKyAKKyBTUVVJRF9TVEFURV9ST0xMQkFDSyhjaGVja19TU0xfZ2V0X2NlcnRpZmljYXRlKQorIF0pCistLSAKKzEuNy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlNzlhMjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCisjCittYWtlIC1DIHRlc3Qtc3VpdGUgLWsgcnVudGVzdC1URVNUUwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL2ZpbGVzL3NxdWlkLXVzZS1zZXJpYWwtdGVzdHMtY29uZmlnLW5lZWRlZC1ieS1wdGVzdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9zcXVpZC11c2Utc2VyaWFsLXRlc3RzLWNvbmZpZy1uZWVkZWQtYnktcHRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWUyY2VhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy9zcXVpZC11c2Utc2VyaWFsLXRlc3RzLWNvbmZpZy1uZWVkZWQtYnktcHRlc3QucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAyMTkyZmRiYzkwYjBmZjJkNTQwOGU4NzYzZGYyMDA2MjA4NzBkZWVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMTMgT2N0IDIwMTQgMDE6MzI6MzcgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3F1aWQ6IHVzZSBzZXJpYWwtdGVzdHMgY29uZmlnIG5lZWRlZCBieSBwdGVzdAorCitwdGVzdCBuZWVkcyBidWlsZHRlc3QtVEVTVFMgYW5kIHJ1bnRlc3QtVEVTVFMgdGFyZ2V0cy4KK3NlcmlhbC10ZXN0cyBpcyByZXF1aXJlZCB0byBnZW5lcmF0ZSB0aG9zZSB0YXJnZXRzLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2RlZmF1bHQgYXV0b21ha2UgYmVoYXZpb3IgaW5jb21wYXRpYmxlIHdpdGggcHRlc3RdCisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDZmNzE3MWYuLmFiOWI5M2UgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTMsNyArMyw3IEBAIEFDX1BSRVJFUSgyLjYxKQorIEFDX0NPTkZJR19IRUFERVJTKFtpbmNsdWRlL2F1dG9jb25mLmhdKQorIEFDX0NPTkZJR19BVVhfRElSKGNmZ2F1eCkKKyBBQ19DT05GSUdfU1JDRElSKFtzcmMvbWFpbi5jY10pCistQU1fSU5JVF9BVVRPTUFLRShbdGFyLXVzdGFyIG5vc3RkaW5jXSkKKytBTV9JTklUX0FVVE9NQUtFKFt0YXItdXN0YXIgbm9zdGRpbmMgc2VyaWFsLXRlc3RzXSkKKyBBQ19SRVZJU0lPTigkUmV2aXNpb24kKWRubAorIEFDX1BSRUZJWF9ERUZBVUxUKC91c3IvbG9jYWwvc3F1aWQpCisgQU1fTUFJTlRBSU5FUl9NT0RFCistLSAKKzEuNy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9maWxlcy92b2xhdGlsZXMuMDNfc3F1aWQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvdm9sYXRpbGVzLjAzX3NxdWlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5Njg2NWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvZmlsZXMvdm9sYXRpbGVzLjAzX3NxdWlkCkBAIC0wLDAgKzEsMiBAQAorIyA8dHlwZT4gPG93bmVyPiA8Z3JvdXA+IDxtb2RlPiA8cGF0aD4gPGxpbmtzb3VyY2U+CitkIHNxdWlkIHNxdWlkIDA3NTUgL3Zhci9ydW4vc3F1aWQgbm9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL3NxdWlkXzMuNS43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL3NxdWlkXzMuNS43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzNWFhZDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvc3F1aWRfMy41LjcuYmIKQEAgLTAsMCArMSw3OSBAQAorU1VNTUFSWSA9ICJBIGZ1bGx5LWZlYXR1cmVkIGh0dHAgcHJveHkgYW5kIHdlYi1jYWNoZSBkYWVtb24gZm9yIExpbnV4IgorREVTQ1JJUFRJT04gPSAiQSBmdWxseS1mZWF0dXJlZCBodHRwIHByb3h5IGFuZCB3ZWItY2FjaGUgZGFlbW9uIGZvciBMaW51eC4gXAorU3F1aWQgb2ZmZXJzIGEgcmljaCBhY2Nlc3MgY29udHJvbCwgYXV0aG9yaXphdGlvbiBhbmQgbG9nZ2luZyBlbnZpcm9ubWVudCB0byBcCitkZXZlbG9wIHdlYiBwcm94eSBhbmQgY29udGVudCBzZXJ2aW5nIGFwcGxpY2F0aW9ucy4gXAorU3F1aWQgb2ZmZXJzIGEgcmljaCBzZXQgb2YgdHJhZmZpYyBvcHRpbWl6YXRpb24gb3B0aW9ucywgbW9zdCBvZiB3aGljaCBhcmUgXAorZW5hYmxlZCBieSBkZWZhdWx0IGZvciBzaW1wbGVyIGluc3RhbGxhdGlvbiBhbmQgaGlnaCBwZXJmb3JtYW5jZS4gXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zcXVpZC1jYWNoZS5vcmciCitTRUNUSU9OID0gIndlYiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorCitNQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAxKX0iCitNSU5fVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5zcXVpZC1jYWNoZS5vcmcvVmVyc2lvbnMvdiR7TUFKX1ZFUn0vJHtNSU5fVkVSfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9TZXQtdXAtZm9yLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL1NraXAtQUNfUlVOX0lGRUxTRS10ZXN0cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9GaXgtZmxhd2VkLWR5bmFtaWMtbGRiLWxpbmstdGVzdC1pbi1jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc3F1aWQtdXNlLXNlcmlhbC10ZXN0cy1jb25maWctbmVlZGVkLWJ5LXB0ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly92b2xhdGlsZXMuMDNfc3F1aWQgXAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTYtMzk0Ny5wYXRjaCBcCisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM0OTJlMmQ2ZDMyZWM1YzFhYWQwZTA2MDlhMTQxY2U5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2Vycm9ycy9DT1BZUklHSFQ7bWQ1PTBmZWQ4ZjE0NjJmNmZkYmM2MmJiNDMxYmNiNjE4ZjQ2IFwKKyAgICAgICAgICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiMDZlNDNhYmM2N2FlZGNjMzkwM2EyNzgwZGUyMGEzZWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjdkY2VjOGM1Y2I3ZjU2ODdhZmY0MjU2YTc1MjJmNjcwYzMxMGEzNTBjYzllOWMwZjI5ZjNmZDljZjg4ZDAxNyIKKworREVQRU5EUyA9ICJsaWJ0b29sIGtyYjUgb3BlbmxkYXAgZGIgY3lydXMtc2FzbCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXNlcmFkZCBwdGVzdAorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0taG9tZS1kaXIgL3Zhci9ydW4vc3F1aWQgLS1zaGVsbCAvYmluL2ZhbHNlIC0tdXNlci1ncm91cCBzcXVpZCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJhc2VfY29udGFpbnMoJ1RBUkdFVF9BUkNIJywgJ3Bvd2VycGMnLCAnbm9hdG9taWNzJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmFzZV9jb250YWlucygnVEFSR0VUX0FSQ0gnLCAnbWlwcycsICdub2F0b21pY3MnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICIKK1BBQ0tBR0VDT05GSUdbbGlibmV0ZmlsdGVyLWNvbm50cmFja10gPSAiLS13aXRoLW5ldGZpbHRlci1jb25udHJhY2s9JHtpbmNsdWRlZGlyfSwgLS13aXRob3V0LW5ldGZpbHRlci1jb25udHJhY2ssIGxpYm5ldGZpbHRlci1jb25udHJhY2siCitQQUNLQUdFQ09ORklHW25vYXRvbWljc10gPSAic3F1aWRfY3ZfZ251X2F0b21pY3M9bm8sc3F1aWRfY3ZfZ251X2F0b21pY3M9eWVzLCwiCisKK0JBU0lDX0FVVEggPSAiREIgU0FTTCBMREFQIE5JUyIKK0RFUEVORFMgKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKK0JBU0lDX0FVVEggKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnUEFNJywgJycsIGQpfSIKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtZGVmYXVsdC11c2VyPXNxdWlkIC0tZW5hYmxlLWF1dGgtYmFzaWM9JyR7QkFTSUNfQVVUSH0nIgorZXhwb3J0IEJVSUxEQ1hYRkxBR1M9IiR7QlVJTERfQ1hYRkxBR1N9IgorCitURVNURElSID0gInRlc3Qtc3VpdGUiCitkb19jb21waWxlX3B0ZXN0KCkgeworICAgIG9lX3J1bm1ha2UgLUMgJHtURVNURElSfSBidWlsZHRlc3QtVEVTVFMKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKyAgICBjcCAtcmYgJHtCfS8ke1RFU1RESVJ9ICR7RH0ke1BURVNUX1BBVEh9CisgICAgY3AgLXJmICR7U30vJHtURVNURElSfSAke0R9JHtQVEVTVF9QQVRIfQorCisgICAgIyBkbyBOT1QgbmVlZCB0byByZWJ1aWxkIE1ha2VmaWxlIGl0c2VsZgorICAgIHNlZCAtaSAncy9eTWFrZWZpbGU6LiokL01ha2VmaWxlOi8nICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy4wM19zcXVpZCAgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvdm9sYXRpbGVzLjAzX3NxdWlkCisJcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi8ke0JQTn0iCisJcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfSAke2RhdGFkaXJ9L2Vycm9ycyAke2RhdGFkaXJ9L2ljb25zIgorRklMRVNfJHtQTn0tZGJnICs9ICIvdXNyL3NyYy9kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS8qLnR4dCIKKworUkRFUEVORFNfJHtQTn0gKz0gInBlcmwiCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAibWFrZSIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMzUxMjgvCitQTkJMQUNLTElTVFtzcXVpZF0gPz0gIkJST0tFTjogc3lzcm9vdHMvcWVtdWFybS91c3IvaW5jbHVkZS9saW51eC9pbi5oOjI4OjE2OiBlcnJvcjogcmVkZWNsYXJhdGlvbiBvZiAnSVBQUk9UT19JUCciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvYWRkLWVycm9yLWNoZWNrLWZvci1kaXNrLWZpbGxlZC11cC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy9hZGQtZXJyb3ItY2hlY2stZm9yLWRpc2stZmlsbGVkLXVwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwMWMyMGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvYWRkLWVycm9yLWNoZWNrLWZvci1kaXNrLWZpbGxlZC11cC5wYXRjaApAQCAtMCwwICsxLDgxIEBACitGcm9tIGJkNTc3Mzk0N2FmNWNhODBjYTU0NmFkNTYyNTgxOGZjOTEyYmRkNjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiUm95LkxpIiA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMjIgQXVnIDIwMTMgMDg6NTY6MDkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdGZ0cC1ocGE6IGFkZCBlcnJvciBjaGVjayBmb3IgZGlzayBmaWxsZWQgdXAKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nIFtTZW50IHRvIGh0dHA6Ly93d3cuc3lzbGludXgub3JnL2FyY2hpdmVzLzIwMTMtQXVndXN0LzAyMDc2NS5odG1sXQorCitBZGQgZXJyb3IgY2hlY2sgd2hlbiB0aGUgd3JpdGUtYnVmZmVyIGlzIGZpbmFsbHkgZmx1c2hlZCB0byB0aGUgZmlsZSwKK3RoZSBjYWxsZXIgY2FuIGRldGVjdCBpZiB0aGUgZGlzayBmaWxsZWQgdXAgKG9yIGhhZCBhbiBpL28gZXJyb3IpIGFuZAorcmV0dXJuIGEgTk9TQVBDRSBuYWsgdG8gdGhlIG90aGVyIHNpZGUuCisKK1NpZ25lZC1vZmYtYnk6IE1pbmcgTGl1IDxtaW5nLmxpdUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29tbW9uL3RmdHBzdWJzLmMgfCAgICA4ICsrKysrLS0tCisgdGZ0cGQvdGZ0cGQuYyAgICAgfCAgIDEyICsrKysrKysrKystLQorIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbW1vbi90ZnRwc3Vicy5jIGIvY29tbW9uL3RmdHBzdWJzLmMKK2luZGV4IDhjOTk5ZjYuLmI0ZDRmZmUgMTAwNjQ0CistLS0gYS9jb21tb24vdGZ0cHN1YnMuYworKysrIGIvY29tbW9uL3RmdHBzdWJzLmMKK0BAIC0yMDYsMjAgKzIwNiwyMiBAQCBpbnQgd3JpdGVfYmVoaW5kKEZJTEUgKiBmaWxlLCBpbnQgY29udmVydCkKKyAKKyAgICAgcCA9IGJ1ZjsKKyAgICAgY3QgPSBjb3VudDsKKysgICAgY291bnQgPSAwOworICAgICB3aGlsZSAoY3QtLSkgeyAgICAgICAgICAgICAgLyogbG9vcCBvdmVyIHRoZSBidWZmZXIgKi8KKyAgICAgICAgIGMgPSAqcCsrOyAgICAgICAgICAgICAgIC8qIHBpY2sgdXAgYSBjaGFyYWN0ZXIgKi8KKyAgICAgICAgIGlmIChwcmV2Y2hhciA9PSAnXHInKSB7IC8qIGlmIHByZXYgY2hhciB3YXMgY3IgKi8KKyAgICAgICAgICAgICBpZiAoYyA9PSAnXG4nKSAgICAgIC8qIGlmIGhhdmUgY3IsbGYgdGhlbiBqdXN0ICovCistICAgICAgICAgICAgICAgIGZzZWVrKGZpbGUsIC0xLCAxKTsgICAgIC8qIHNtYXNoIGxmIG9uIHRvcCBvZiB0aGUgY3IgKi8KKysgICAgICAgICAgICAgICAgY291bnQgPSBjb3VudCAtIDE7CisgICAgICAgICAgICAgZWxzZSBpZiAoYyA9PSAnXDAnKSAvKiBpZiBoYXZlIGNyLG51bCB0aGVuICovCisgICAgICAgICAgICAgICAgIGdvdG8gc2tpcGl0OyAgICAvKiBqdXN0IHNraXAgb3ZlciB0aGUgcHV0YyAqLworICAgICAgICAgICAgIC8qIGVsc2UganVzdCBmYWxsIHRocm91Z2ggYW5kIGFsbG93IGl0ICovCisgICAgICAgICB9CistICAgICAgICBwdXRjKGMsIGZpbGUpOworKyAgICAgICAgYnVmW2NvdW50XSA9IGM7CisrICAgICAgICBjb3VudCArKzsKKyAgICAgICBza2lwaXQ6CisgICAgICAgICBwcmV2Y2hhciA9IGM7CisgICAgIH0KKy0gICAgcmV0dXJuIGNvdW50OworKyAgICByZXR1cm4gd3JpdGUoZmlsZW5vKGZpbGUpLCBidWYsIGNvdW50KTsKKyB9CisgCisgLyogV2hlbiBhbiBlcnJvciBoYXMgb2NjdXJyZWQsIGl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIHR3byBzaWRlcworZGlmZiAtLWdpdCBhL3RmdHBkL3RmdHBkLmMgYi90ZnRwZC90ZnRwZC5jCitpbmRleCAxODczZTcwLi5jMmFkYmRhIDEwMDY0NAorLS0tIGEvdGZ0cGQvdGZ0cGQuYworKysrIGIvdGZ0cGQvdGZ0cGQuYworQEAgLTE2ODEsNyArMTY4MSwxMSBAQCBzdGF0aWMgdm9pZCB0ZnRwX3JlY3ZmaWxlKGNvbnN0IHN0cnVjdCBmb3JtYXRzICpwZiwgc3RydWN0IHRmdHBoZHIgKm9hcCwgaW50IG9hYworICAgICAgICAgICAgIHN5c2xvZyhMT0dfV0FSTklORywgInRmdHBkOiB3cml0ZShhY2spOiAlbSIpOworICAgICAgICAgICAgIGdvdG8gYWJvcnQ7CisgICAgICAgICB9CistICAgICAgICB3cml0ZV9iZWhpbmQoZmlsZSwgcGYtPmZfY29udmVydCk7CisrICAgICAgICBpZih3cml0ZV9iZWhpbmQoZmlsZSwgcGYtPmZfY29udmVydCkgPCAwKSB7CisrICAgICAgICAgICAgbmFrKEVOT1NQQUNFLCBOVUxMKTsKKysgICAgICAgICAgICAodm9pZClmY2xvc2UoZmlsZSk7CisrICAgICAgICAgICAgZ290byBhYm9ydDsKKysgICAgICAgIH0KKyAgICAgICAgIGZvciAoOzspIHsKKyAgICAgICAgICAgICBuID0gcmVjdl90aW1lKHBlZXIsIGRwLCBQS1RTSVpFLCAwLCAmcl90aW1lb3V0KTsKKyAgICAgICAgICAgICBpZiAobiA8IDApIHsgICAgICAgIC8qIHJlYWxseT8gKi8KK0BAIC0xNzEyLDcgKzE3MTYsMTEgQEAgc3RhdGljIHZvaWQgdGZ0cF9yZWN2ZmlsZShjb25zdCBzdHJ1Y3QgZm9ybWF0cyAqcGYsIHN0cnVjdCB0ZnRwaGRyICpvYXAsIGludCBvYWMKKyAgICAgICAgICAgICBnb3RvIGFib3J0OworICAgICAgICAgfQorICAgICB9IHdoaWxlIChzaXplID09IHNlZ3NpemUpOworLSAgICB3cml0ZV9iZWhpbmQoZmlsZSwgcGYtPmZfY29udmVydCk7CisrICAgIGlmKHdyaXRlX2JlaGluZChmaWxlLCBwZi0+Zl9jb252ZXJ0KSA8IDApIHsKKysgICAgICAgIG5hayhFTk9TUEFDRSwgTlVMTCk7CisrICAgICAgICAodm9pZClmY2xvc2UoZmlsZSk7CisrICAgICAgICBnb3RvIGFib3J0OworKyAgICB9CisgICAgICh2b2lkKWZjbG9zZShmaWxlKTsgICAgICAgICAvKiBjbG9zZSBkYXRhIGZpbGUgKi8KKyAKKyAgICAgYXAtPnRoX29wY29kZSA9IGh0b25zKCh1X3Nob3J0KSBBQ0spOyAgICAgICAvKiBzZW5kIHRoZSAiZmluYWwiIGFjayAqLworLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvZGVmYXVsdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy9kZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkY2U3ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvZGVmYXVsdApAQCAtMCwwICsxLDMgQEAKKyNEZWZhdWx0cyBmb3IgdGZ0cGQtaHBhCitSVU5fREFFTU9OPSJ5ZXMiCitPUFRJT05TPSItbCAtcyAvdmFyL2xpYi90ZnRwYm9vdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy9maXgtd3JpdGluZy1lbXRweS1maWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL2ZpeC13cml0aW5nLWVtdHB5LWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDUyYWEwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy9maXgtd3JpdGluZy1lbXRweS1maWxlLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK1tQQVRDSF0gZml4IHRoZSBlbXB0eSBmaWxlIHdyaXR0aW5nCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitXaXRoIHRoZSBmZWF0dXJlIHRoYXQgY2hlY2tpbmcgdGhlIGRpc2sgZmlsbGVkIHVwLCB0aGUgcmV0dXJuCit2YWx1ZSBvZiBmdW5jdGlvbiB3cml0ZV9iZWhpbmQgd2FzIGNoZWNrZWQgYW5kIHVzZWQgdG8gZGV0ZWN0Cit0aGUgZGlzayBzdGF0dXMuIFdoaWxlIGZvciBlbXB0eSBmaWxlLCB3aXRob3V0IGRhdGEgYmVpbmcKK3dyaXR0ZW4sIHRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gLTEgdGh1cyB0aGUgZGlzayBmaWxsZWQgdXAKK2Vycm9yIHdhcyBtaXNzLXJhaXNlZC4KKworbWFrZSB3cml0ZV9iZWhpbmQgdG8gcmV0dXJuIDAgaWYgd3JpdHRlbiBmaWxlIGlzIGVtcHR5LCB0byBmaXgKK3RoZSB0aGlzIGJ1Zy4KKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29tbW9uL3RmdHBzdWJzLmMgfCA1ICsrKystCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29tbW9uL3RmdHBzdWJzLmMgYi9jb21tb24vdGZ0cHN1YnMuYworaW5kZXggYjRlYTNmMi4uOWY2Y2FmYyAxMDA2NDQKKy0tLSBhL2NvbW1vbi90ZnRwc3Vicy5jCisrKysgYi9jb21tb24vdGZ0cHN1YnMuYworQEAgLTE5OCw5ICsxOTgsMTIgQEAgaW50IHdyaXRlX2JlaGluZChGSUxFICogZmlsZSwgaW50IGNvbnZlcnQpCisgICAgIG5leHRvbmUgPSAhbmV4dG9uZTsgICAgICAgICAvKiBpbmNyIGZvciBuZXh0IHRpbWUgKi8KKyAgICAgYnVmID0gZHAtPnRoX2RhdGE7CisgCistICAgIGlmIChjb3VudCA8PSAwKQorKyAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgcmV0dXJuIC0xOyAgICAgICAgICAgICAgLyogbmFrIGxvZ2ljPyAqLworIAorKyAgICBpZiAoY291bnQgPT0gMCkKKysgICAgICAgIHJldHVybiAwOworKworICAgICBpZiAoY29udmVydCA9PSAwKQorICAgICAgICAgcmV0dXJuIHdyaXRlKGZpbGVubyhmaWxlKSwgYnVmLCBjb3VudCk7CisgCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy9pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL2luaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWUxODQzNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy9pbml0CkBAIC0wLDAgKzEsMTA1IEBACisjISAvYmluL3NoCisjCisjIEF1dGhvcjoJSmFha2tvIE5pZW1pIDxsaWl3aUBpa2kuZmk+CisjIE1vZGlmaWVkIGZyb20gc2tlbGV0b24gZmlsZSBpbiBzYXJnZQorCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiAgICAgICAgICB0ZnRwLWhwYQorIyBSZXF1aXJlZC1TdGFydDogICAgJGxvY2FsX2ZzICRyZW1vdGVfZnMgJHN5c2xvZyAkbmV0d29yaworIyBSZXF1aXJlZC1TdG9wOiAgICAgJGxvY2FsX2ZzICRyZW1vdGVfZnMgJHN5c2xvZyAkbmV0d29yaworIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMQorIyBTaG9ydC1EZXNjcmlwdGlvbjogSFBBJ3MgdGZ0cCBjbGllbnQgCisjIERlc2NyaXB0aW9uOiAgICAgICB0ZnRwIHNlcnZlciB0byBhbGxvdyBib290aW5nIGNsaWVudHMgd2hpY2ggc3VwcG9ydAorIyAgICAgICAgICAgICAgICAgICAgdGhlIFBYRSBwcm90b2NvbC4KKyMjIyBFTkQgSU5JVCBJTkZPCisKK3NldCAtZQorCitQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2Jpbjovc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbgorREVTQz0iSFBBJ3MgdGZ0cGQiCitOQU1FPWluLnRmdHBkLWhwYQorU0NSSVBUTkFNRT0vZXRjL2luaXQuZC90ZnRwZC1ocGEKKworIyBSZWFkIGNvbmZpZyBmaWxlIGlmIGl0IGlzIHByZXNlbnQuCitpZiBbIC1yIC9ldGMvZGVmYXVsdC90ZnRwZC1ocGEgXQordGhlbgorCS4gL2V0Yy9kZWZhdWx0L3RmdHBkLWhwYQorZmkKKworREFFTU9OPS91c3Ivc2Jpbi8kTkFNRQorUElERklMRT0vdmFyL3J1bi8kTkFNRS5waWQKKworIyBHcmFjZWZ1bGx5IGV4aXQgaWYgdGhlIHBhY2thZ2UgaGFzIGJlZW4gcmVtb3ZlZC4KK3Rlc3QgLXggJERBRU1PTiB8fCBleGl0IDAKKworaWYgWyAiJFJVTl9EQUVNT04iICE9ICJ5ZXMiIF0gOyB0aGVuCisgICAgICAgICBlY2hvICJ0ZnRwZC1ocGEgZGlzYWJsZWQgaW4gL2V0Yy9kZWZhdWx0L3RmdHBkLWhwYSIKKwkgZXhpdCAwCitmaQorCisjCisjCUZ1bmN0aW9uIHRoYXQgc3RhcnRzIHRoZSBkYWVtb24vc2VydmljZS4KKyMKK2Rfc3RhcnQoKSB7CisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAkREFFTU9OIC0tICRPUFRJT05TCit9CisKKyMKKyMJRnVuY3Rpb24gdGhhdCBzdG9wcyB0aGUgZGFlbW9uL3NlcnZpY2UuCisjCitkX3N0b3AoKSB7CisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1uYW1lICROQU1FCit9CisKKyMKKyMJRnVuY3Rpb24gdGhhdCBzZW5kcyBhIFNJR0hVUCB0byB0aGUgZGFlbW9uL3NlcnZpY2UuCisjCitkX3JlbG9hZCgpIHsKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLW5hbWUgJE5BTUUgLS1zaWduYWwgMQorfQorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisJZWNobyAgIlN0YXJ0aW5nICRERVNDOiAkTkFNRSIKKwlkX3N0YXJ0CisJZWNobyAiLiIKKwk7OworICBzdG9wKQorCWVjaG8gICJTdG9wcGluZyAkREVTQzogJE5BTUUiCisJZF9zdG9wCisJZWNobyAiLiIKKwk7OworICAjcmVsb2FkKQorCSMKKwkjCUlmIHRoZSBkYWVtb24gY2FuIHJlbG9hZCBpdHMgY29uZmlndXJhdGlvbiB3aXRob3V0CisJIwlyZXN0YXJ0aW5nIChmb3IgZXhhbXBsZSwgd2hlbiBpdCBpcyBzZW50IGEgU0lHSFVQKSwKKwkjCXRoZW4gaW1wbGVtZW50IHRoYXQgaGVyZS4KKwkjCisJIwlJZiB0aGUgZGFlbW9uIHJlc3BvbmRzIHRvIGNoYW5nZXMgaW4gaXRzIGNvbmZpZyBmaWxlCisJIwlkaXJlY3RseSBhbnl3YXksIG1ha2UgdGhpcyBhbiAiZXhpdCAwIi4KKwkjCisJIyBlY2hvIC1uICJSZWxvYWRpbmcgJERFU0MgY29uZmlndXJhdGlvbi4uLiIKKwkjIGRfcmVsb2FkCisJIyBlY2hvICJkb25lLiIKKyAgIzs7CisgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorCSMKKwkjCUlmIHRoZSAicmVsb2FkIiBvcHRpb24gaXMgaW1wbGVtZW50ZWQsIG1vdmUgdGhlICJmb3JjZS1yZWxvYWQiCisJIwlvcHRpb24gdG8gdGhlICJyZWxvYWQiIGVudHJ5IGFib3ZlLiBJZiBub3QsICJmb3JjZS1yZWxvYWQiIGlzCisJIwlqdXN0IHRoZSBzYW1lIGFzICJyZXN0YXJ0Ii4KKwkjCisJZWNobyAiUmVzdGFydGluZyAkREVTQzogJE5BTUUiCisJZF9zdG9wCisJc2xlZXAgMQorCWRfc3RhcnQKKwllY2hvICIuIgorCTs7CisgICopCisJIyBlY2hvICJVc2FnZTogJFNDUklQVE5BTUUge3N0YXJ0fHN0b3B8cmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfSIgPiYyCisJZWNobyAiVXNhZ2U6ICRTQ1JJUFROQU1FIHtzdGFydHxzdG9wfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfSIgPiYyCisJZXhpdCAxCisJOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC0wLjQwLXJlbWFwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtMC40MC1yZW1hcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjY5MDYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtMC40MC1yZW1hcC5wYXRjaApAQCAtMCwwICsxLDI1IEBACitQYXRjaCBvcmlnaW5hbGx5IGZyb20gRmVkb3JhCisKK2h0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL2NnaXQvdGZ0cC5naXQvCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC11cCB0ZnRwLWhwYS0wLjQ5L3RmdHBkL3JlbWFwLmMuemVybyB0ZnRwLWhwYS0wLjQ5L3RmdHBkL3JlbWFwLmMKKy0tLSB0ZnRwLWhwYS0wLjQ5L3RmdHBkL3JlbWFwLmMuemVybwkyMDA4LTEwLTIwIDE4OjA4OjMxLjAwMDAwMDAwMCAtMDQwMAorKysrIHRmdHAtaHBhLTAuNDkvdGZ0cGQvcmVtYXAuYwkyMDA4LTExLTI1IDExOjQxOjA5LjAwMDAwMDAwMCAtMDUwMAorQEAgLTI4Niw2ICsyODYsNyBAQCBzdHJ1Y3QgcnVsZSAqcGFyc2VydWxlZmlsZShGSUxFICogZikKKyAgICAgaW50IGxpbmVubyA9IDA7CisgICAgIGludCBlcnIgPSAwOworIAorKyAgICBtZW1zZXQodGhpc19ydWxlLCAnXDAnLCBzaXplb2Yoc3RydWN0IHJ1bGUpKTsKKyAgICAgd2hpbGUgKGxpbmVubysrLCBmZ2V0cyhsaW5lLCBNQVhMSU5FLCBmKSkgeworICAgICAgICAgcnYgPSBwYXJzZWxpbmUobGluZSwgdGhpc19ydWxlLCBsaW5lbm8pOworICAgICAgICAgaWYgKHJ2IDwgMCkKK0BAIC0yOTQsNiArMjk1LDcgQEAgc3RydWN0IHJ1bGUgKnBhcnNlcnVsZWZpbGUoRklMRSAqIGYpCisgICAgICAgICAgICAgKmxhc3RfcnVsZSA9IHRoaXNfcnVsZTsKKyAgICAgICAgICAgICBsYXN0X3J1bGUgPSAmdGhpc19ydWxlLT5uZXh0OworICAgICAgICAgICAgIHRoaXNfcnVsZSA9IHRmbWFsbG9jKHNpemVvZihzdHJ1Y3QgcnVsZSkpOworKyAgICAgICAgICAgIG1lbXNldCh0aGlzX3J1bGUsICdcMCcsIHNpemVvZihzdHJ1Y3QgcnVsZSkpOworICAgICAgICAgfQorICAgICB9CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC0wLjQyLXRmdHBib290LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtMC40Mi10ZnRwYm9vdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OGE4NmI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtMC40Mi10ZnRwYm9vdC5wYXRjaApAQCAtMCwwICsxLDYwIEBACitQYXRjaCBvcmlnaW5hbGx5IGZyb20gRmVkb3JhCisKK2h0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL2NnaXQvdGZ0cC5naXQvCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC11cCB0ZnRwLWhwYS0wLjQ4L3RmdHAteGluZXRkLnRmdHBib290IHRmdHAtaHBhLTAuNDgvdGZ0cC14aW5ldGQKKy0tLSB0ZnRwLWhwYS0wLjQ4L3RmdHAteGluZXRkLnRmdHBib290CTIwMDctMDEtMzEgMDA6NTE6MDUuMDAwMDAwMDAwICswMTAwCisrKysgdGZ0cC1ocGEtMC40OC90ZnRwLXhpbmV0ZAkyMDA4LTA1LTIwIDEyOjA1OjUzLjAwMDAwMDAwMCArMDIwMAorQEAgLTEwLDcgKzEwLDcgQEAgc2VydmljZSB0ZnRwCisgCXdhaXQJCQk9IHllcworIAl1c2VyCQkJPSByb290CisgCXNlcnZlcgkJCT0gL3Vzci9zYmluL2luLnRmdHBkCistCXNlcnZlcl9hcmdzCQk9IC1zIC90ZnRwYm9vdAorKwlzZXJ2ZXJfYXJncwkJPSAtcyAvdmFyL2xpYi90ZnRwYm9vdAorIAlkaXNhYmxlCQkJPSB5ZXMKKyAJcGVyX3NvdXJjZQkJPSAxMQorIAljcHMJCQk9IDEwMCAyCitkaWZmIC11cCB0ZnRwLWhwYS0wLjQ4L1JFQURNRS5zZWN1cml0eS50ZnRwYm9vdCB0ZnRwLWhwYS0wLjQ4L1JFQURNRS5zZWN1cml0eQorLS0tIHRmdHAtaHBhLTAuNDgvUkVBRE1FLnNlY3VyaXR5LnRmdHBib290CTIwMDgtMDUtMjkgMTc6MzY6MzIuMDAwMDAwMDAwICswMjAwCisrKysgdGZ0cC1ocGEtMC40OC9SRUFETUUuc2VjdXJpdHkJMjAwOC0wNS0yOSAxNzozNzoyMS4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xNywxMCArMTcsMTAgQEAgcHJvYmFibHkgdGhlIGZvbGxvd2luZzoKKyAKKyAxLiBDcmVhdGUgYSBzZXBhcmF0ZSAidGZ0cGQiIHVzZXIgYW5kIGdyb3VwIG9ubHkgdXNlZCBmb3IgdGZ0cGQ7CisgMi4gSGF2ZSBhbGwgeW91ciBib290IGZpbGVzIGluIGEgc2luZ2xlIGRpcmVjdG9yeSB0cmVlICh1c3VhbGx5IGNhbGxlZCAKKy0gICAvdGZ0cGJvb3QpLgorLTMuIFNwZWNpZnkgIi1wIC11IHRmdHBkIC1zIC90ZnRwYm9vdCIgb24gdGhlIHRmdHBkIGNvbW1hbmQgbGluZTsgaWYKKysgICAvdmFyL2xpYi90ZnRwYm9vdCkuCisrMy4gU3BlY2lmeSAiLXAgLXUgdGZ0cGQgLXMgL3Zhci9saWIvdGZ0cGJvb3QiIG9uIHRoZSB0ZnRwZCBjb21tYW5kIGxpbmU7IGlmCisgICAgeW91IHdhbnQgY2xpZW50cyB0byBiZSBhYmxlIHRvIGNyZWF0ZSBmaWxlcyB1c2UKKy0gICAiLXAgLWMgLVUgMDAyIC11IHRmdHBkIC1zIC90ZnRwYm9vdCIgKHJlcGxhY2UgMDAyIHdpdGggd2hhdGV2ZXIKKysgICAiLXAgLWMgLVUgMDAyIC11IHRmdHBkIC1zIC92YXIvbGliL3RmdHBib290IiAocmVwbGFjZSAwMDIgd2l0aCB3aGF0ZXZlcgorICAgIHVtYXNrIGlzIGFwcHJvcHJpYXRlIGZvciB5b3VyIHNldHVwLikKKyAKKyAJICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorQEAgLTQwLDEyICs0MCwxMiBAQCBkaXJlY3RseS4gIFRodXMsIGlmIHlvdXIgL2V0Yy9pbmV0ZC5jb25mCisgbGluZSk6CisgCisgdGZ0cAlkZ3JhbQl1ZHAJd2FpdAlyb290CS91c3Ivc2Jpbi90Y3BkCistL3Vzci9zYmluL2luLnRmdHBkIC1zIC90ZnRwYm9vdCAtciBibGtzaXplCisrL3Vzci9zYmluL2luLnRmdHBkIC1zIC92YXIvbGliL3RmdHBib290IC1yIGJsa3NpemUKKyAKKyAuLi4gaXQncyBiZXR0ZXIgdG8gY2hhbmdlIHRvIC4uLgorIAorIHRmdHAJZGdyYW0JdWRwCXdhaXQJcm9vdAkvdXNyL3NiaW4vaW4udGZ0cGQKKy1pbi50ZnRwZCAtcyAvdGZ0cGJvb3QgLXIgYmxrc2l6ZQorK2luLnRmdHBkIC1zIC92YXIvbGliL3RmdHBib290IC1yIGJsa3NpemUKKyAKKyBZb3Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0IHlvdSBhcmUgdXNpbmcgIndhaXQiIG9wdGlvbiBpbiB0ZnRwZDsgeW91CisgYWxzbyBuZWVkIHRvIGhhdmUgdGZ0cGQgc3Bhd25lZCBhcyByb290IGluIG9yZGVyIGZvciBjaHJvb3QgKC1zKSB0bworZGlmZiAtdXAgdGZ0cC1ocGEtMC40OC90ZnRwZC9zYW1wbGUucnVsZXMudGZ0cGJvb3QgdGZ0cC1ocGEtMC40OC90ZnRwZC9zYW1wbGUucnVsZXMKKy0tLSB0ZnRwLWhwYS0wLjQ4L3RmdHBkL3NhbXBsZS5ydWxlcy50ZnRwYm9vdAkyMDA4LTA1LTI5IDE3OjM4OjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIHRmdHAtaHBhLTAuNDgvdGZ0cGQvc2FtcGxlLnJ1bGVzCTIwMDgtMDUtMjkgMTc6Mzg6MDUuMDAwMDAwMDAwICswMjAwCitAQCAtMzAsNSArMzAsNSBAQCByZwlcXAkJLwkJIyBDb252ZXJ0IGJhY2tzbGFzaGVzIHRvIHNsYXNoCisgcmcJXCMJCUAJCSMgQ29udmVydCBoYXNoIG1hcmtzIHRvIEAgc2lnbnMKKyByZwkvLi4vCQkvLi5uby4uLwkjIENvbnZlcnQgLy4uLyB0byAvLi5uby4uLworIGUJXm9rLwkJCQkjIFRoZXNlIGFyZSBhbHdheXMgb2sKKy1yCV5bXi9dCQkvdGZ0cGJvb3QvXDAJIyBDb252ZXJ0IG5vbi1hYnNvbHV0ZSBmaWxlcworK3IJXlteL10JCS92YXIvbGliL3RmdHBib290L1wwCSMgQ29udmVydCBub24tYWJzb2x1dGUgZmlsZXMKKyBhCVwucHZ0JAkJCQkjIFJlamVjdCByZXF1ZXN0cyBmb3IgcHJpdmF0ZSBmaWxlcwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtMC40OS1jaGtfcmV0Y29kZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC0wLjQ5LWNoa19yZXRjb2Rlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YWUxYTg3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtMC40OS1jaGtfcmV0Y29kZXMucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorUGF0Y2ggb3JpZ2luYWxseSBmcm9tIEZlZG9yYQorCitodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L3RmdHAuZ2l0LworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtdXAgdGZ0cC1ocGEtMC40OS90ZnRwZC90ZnRwZC5jLmNoa19yZXRjb2RlcyB0ZnRwLWhwYS0wLjQ5L3RmdHBkL3RmdHBkLmMKKy0tLSB0ZnRwLWhwYS0wLjQ5L3RmdHBkL3RmdHBkLmMuY2hrX3JldGNvZGVzCTIwMDktMDEtMTUgMTU6Mjg6NTAuMDAwMDAwMDAwICswMTAwCisrKysgdGZ0cC1ocGEtMC40OS90ZnRwZC90ZnRwZC5jCTIwMDktMDEtMTUgMTU6MzE6MzYuMDAwMDAwMDAwICswMTAwCitAQCAtOTMyLDcgKzkzMiwxMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgICAgICAgICAgICAgZXhpdChFWF9PU0VSUik7CisgICAgICAgICB9CisgI2lmZGVmIF9fQ1lHV0lOX18KKy0gICAgICAgIGNoZGlyKCIvIik7ICAgICAgICAgICAgIC8qIEN5Z3dpbiBjaHJvb3QoKSBidWcgd29ya2Fyb3VuZCAqLworKwkJCQlpZiAoY2hkaXIoIi8iKSA8IDApIHsJCQkvKiBDeWd3aW4gY2hyb290KCkgYnVnIHdvcmthcm91bmQgKi8KKysJCQkJCXN5c2xvZyhMT0dfRVJSLCAiY2hyb290OiAlbSIpOworKwkJCQkJZXhpdChFWF9PU0VSUik7CisrCQkJCX0KKyAjZW5kaWYKKyAgICAgfQorICNpZmRlZiBIQVZFX1NFVFJFR0lECmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC0wLjQ5LWNtZF9hcmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC0wLjQ5LWNtZF9hcmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmI4Y2VhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy90ZnRwLTAuNDktY21kX2FyZy5wYXRjaApAQCAtMCwwICsxLDE2NSBAQAorUGF0Y2ggb3JpZ2luYWxseSBmcm9tIEZlZG9yYQorCitodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L3RmdHAuZ2l0LworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtdXAgdGZ0cC1ocGEtMC40OS9jb25maWcuaC5jbWRfYXJnIHRmdHAtaHBhLTAuNDkvY29uZmlnLmgKKy0tLSB0ZnRwLWhwYS0wLjQ5L2NvbmZpZy5oLmNtZF9hcmcJMjAxMC0wNC0xOSAxNToyOToxMC41NjczMzE0NTQgKzAyMDAKKysrKyB0ZnRwLWhwYS0wLjQ5L2NvbmZpZy5oCTIwMTAtMDQtMjAgMDc6MzM6MDMuMTMzMjMyNzcyICswMjAwCitAQCAtMjkxLDYgKzI5MSw3IEBAIHR5cGVkZWYgaW50IHNvY2tsZW5fdDsKKyAvKiBQcm90b3R5cGVzIGZvciBsaWJ4dHJhIGZ1bmN0aW9ucyAqLworIAorIHZvaWQgKnhtYWxsb2Moc2l6ZV90KTsKKyt2b2lkICp4cmVhbGxvYyh2b2lkICosIHNpemVfdCk7CisgY2hhciAqeHN0cmR1cChjb25zdCBjaGFyICopOworIAorICNpZm5kZWYgSEFWRV9CU0RfU0lHTkFMCitkaWZmIC11cCB0ZnRwLWhwYS0wLjQ5L2NvbmZpZ3VyZS5pbi5jbWRfYXJnIHRmdHAtaHBhLTAuNDkvY29uZmlndXJlLmluCistLS0gdGZ0cC1ocGEtMC40OS9jb25maWd1cmUuaW4uY21kX2FyZwkyMDA4LTEwLTIxIDAwOjA4OjMxLjAwMDAwMDAwMCArMDIwMAorKysrIHRmdHAtaHBhLTAuNDkvY29uZmlndXJlLmluCTIwMTAtMDQtMTkgMTE6MDU6MTIuMzg3MzQwNjk4ICswMjAwCitAQCAtMTUyLDYgKzE1Miw3IEBAIE9CSlJPT1Q9YHB3ZGAKKyAKKyBYVFJBPWZhbHNlCisgUEFfU0VBUkNIX0xJQlNfQU5EX0FERCh4bWFsbG9jLCBpYmVydHkpCisrUEFfU0VBUkNIX0xJQlNfQU5EX0FERCh4cmVhbGxvYywgaWJlcnR5KQorIFBBX1NFQVJDSF9MSUJTX0FORF9BREQoeHN0cmR1cCwgaWJlcnR5KQorIFBBX1NFQVJDSF9MSUJTX0FORF9BREQoYnNkX3NpZ25hbCwgYnNkLCBic2RzaWduYWwpCisgUEFfU0VBUkNIX0xJQlNfQU5EX0FERChnZXRvcHRfbG9uZywgZ2V0b3B0LCBnZXRvcHRfbG9uZykKK2RpZmYgLXVwIHRmdHAtaHBhLTAuNDkvbGliL3hyZWFsbG9jLmMuY21kX2FyZyB0ZnRwLWhwYS0wLjQ5L2xpYi94cmVhbGxvYy5jCistLS0gdGZ0cC1ocGEtMC40OS9saWIveHJlYWxsb2MuYy5jbWRfYXJnCTIwMTAtMDQtMTkgMTE6MDU6MTIuMzg3MzQwNjk4ICswMjAwCisrKysgdGZ0cC1ocGEtMC40OS9saWIveHJlYWxsb2MuYwkyMDEwLTA0LTE5IDExOjA1OjEyLjM4NzM0MDY5OCArMDIwMAorQEAgLTAsMCArMSwyMCBAQAorKy8qCisrICogeHJlYWxsb2MuYworKyAqCisrICogU2ltcGxlIGVycm9yLWNoZWNraW5nIHZlcnNpb24gb2YgcmVhbGxvYygpCisrICoKKysgKi8KKysKKysjaW5jbHVkZSAiY29uZmlnLmgiCisrCisrdm9pZCAqeHJlYWxsb2Modm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSkKKyt7CisrICAgIHZvaWQgKnAgPSByZWFsbG9jKHB0ciwgc2l6ZSk7CisrCisrICAgIGlmICghcCkgeworKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJPdXQgb2YgbWVtb3J5IVxuIik7CisrICAgICAgICBleGl0KDEyOCk7CisrICAgIH0KKysKKysgICAgcmV0dXJuIHA7CisrfQorZGlmZiAtdXAgdGZ0cC1ocGEtMC40OS90ZnRwL21haW4uYy5jbWRfYXJnIHRmdHAtaHBhLTAuNDkvdGZ0cC9tYWluLmMKKy0tLSB0ZnRwLWhwYS0wLjQ5L3RmdHAvbWFpbi5jLmNtZF9hcmcJMjAwOC0xMC0yMSAwMDowODozMS4wMDAwMDAwMDAgKzAyMDAKKysrKyB0ZnRwLWhwYS0wLjQ5L3RmdHAvbWFpbi5jCTIwMTAtMDQtMTkgMTE6MDU6MTIuMzg5MzI5MzM3ICswMjAwCitAQCAtODksMTEgKzg5LDE0IEBAIGludCBjb25uZWN0ZWQ7CisgY29uc3Qgc3RydWN0IG1vZGVzICptb2RlOworICNpZmRlZiBXSVRIX1JFQURMSU5FCisgY2hhciAqbGluZSA9IE5VTEw7CisrY2hhciAqcmVtb3RlX3B0aCA9IE5VTEw7CisgI2Vsc2UKKyBjaGFyIGxpbmVbTEJVRkxFTl07CisrY2hhciByZW1vdGVfcHRoW0xCVUZMRU5dOworICNlbmRpZgorIGludCBtYXJnYzsKKy1jaGFyICptYXJndlsyMF07CisrY2hhciAqKm1hcmd2OworK2ludCBzaXplb2ZfbWFyZ3Y9MDsKKyBjb25zdCBjaGFyICpwcm9tcHQgPSAidGZ0cD4gIjsKKyBzaWdqbXBfYnVmIHRvcGxldmVsOworIHZvaWQgaW50cihpbnQpOworQEAgLTM3OSw2ICszODIsMTAgQEAgc3RhdGljIHZvaWQgZ2V0bW9yZWFyZ3MoY29uc3QgY2hhciAqcGFydAorICAgICAgICAgZnJlZShsaW5lKTsKKyAgICAgICAgIGxpbmUgPSBOVUxMOworICAgICB9CisrICAgIGlmIChyZW1vdGVfcHRoKSB7CisrICAgICAgICBmcmVlKHJlbW90ZV9wdGgpOworKyAgICAgICAgcmVtb3RlX3B0aCA9IE5VTEw7CisrICAgIH0KKyAgICAgbGluZSA9IHhtYWxsb2MobGVuICsgZWxlbiArIDEpOworICAgICBzdHJjcHkobGluZSwgcGFydGlhbCk7CisgICAgIHN0cmNweShsaW5lICsgbGVuLCBlbGluZSk7CitAQCAtNTM1LDYgKzU0Miw3IEBAIHZvaWQgcHV0KGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICAgIGludCBmZDsKKyAgICAgaW50IG4sIGVycjsKKyAgICAgY2hhciAqY3AsICp0YXJnOworKyAgICBsb25nIGRpcmxlbiwgbmFtZWxlbiwgbGFzdGxlbj0wOworIAorICAgICBpZiAoYXJnYyA8IDIpIHsKKyAgICAgICAgIGdldG1vcmVhcmdzKCJzZW5kICIsICIoZmlsZSkgIik7CitAQCAtNTg4LDkgKzU5NiwyMiBAQCB2b2lkIHB1dChpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICB9CisgICAgIC8qIHRoaXMgYXNzdW1lcyB0aGUgdGFyZ2V0IGlzIGEgZGlyZWN0b3J5ICovCisgICAgIC8qIG9uIGEgcmVtb3RlIHVuaXggc3lzdGVtLiAgaG1tbW0uICAqLworLSAgICBjcCA9IHN0cmNocih0YXJnLCAnXDAnKTsKKy0gICAgKmNwKysgPSAnLyc7CisrICAgIGRpcmxlbiA9IHN0cmxlbih0YXJnKSsxOworKyNpZmRlZiBXSVRIX1JFQURMSU5FCisrICAgIHJlbW90ZV9wdGggPSB4bWFsbG9jKGRpcmxlbisxKTsKKysjZW5kaWYKKysgICAgc3RyY3B5KHJlbW90ZV9wdGgsIHRhcmcpOworKyAgICByZW1vdGVfcHRoW2Rpcmxlbi0xXSA9ICcvJzsKKysgICAgY3AgPSByZW1vdGVfcHRoICsgZGlybGVuOworICAgICBmb3IgKG4gPSAxOyBuIDwgYXJnYyAtIDE7IG4rKykgeworKyNpZmRlZiBXSVRIX1JFQURMSU5FCisrICAgICAgICBuYW1lbGVuID0gc3RybGVuKHRhaWwoYXJndltuXSkpICsgMTsKKysgICAgICAgIGlmIChuYW1lbGVuID4gbGFzdGxlbikgeworKyAgICAgICAgICAgIHJlbW90ZV9wdGggPSB4cmVhbGxvYyhyZW1vdGVfcHRoLCBkaXJsZW4gKyBuYW1lbGVuICsgMSk7CisrICAgICAgICAgICAgY3AgPSByZW1vdGVfcHRoICsgZGlybGVuOworKyAgICAgICAgICAgIGxhc3RsZW4gPSBuYW1lbGVuOworKyAgICAgICAgfQorKyNlbmRpZgorICAgICAgICAgc3RyY3B5KGNwLCB0YWlsKGFyZ3Zbbl0pKTsKKyAgICAgICAgIGZkID0gb3Blbihhcmd2W25dLCBPX1JET05MWSB8IG1vZGUtPm1fb3BlbmZsYWdzKTsKKyAgICAgICAgIGlmIChmZCA8IDApIHsKK0BAIC02MDAsOSArNjIxLDkgQEAgdm9pZCBwdXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAgICAgICAgIH0KKyAgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgIHByaW50ZigicHV0dGluZyAlcyB0byAlczolcyBbJXNdXG4iLAorLSAgICAgICAgICAgICAgICAgICBhcmd2W25dLCBob3N0bmFtZSwgdGFyZywgbW9kZS0+bV9tb2RlKTsKKysgICAgICAgICAgICAgICAgICAgYXJndltuXSwgaG9zdG5hbWUsIHJlbW90ZV9wdGgsIG1vZGUtPm1fbW9kZSk7CisgICAgICAgICBzYV9zZXRfcG9ydCgmcGVlcmFkZHIsIHBvcnQpOworLSAgICAgICAgdGZ0cF9zZW5kZmlsZShmZCwgdGFyZywgbW9kZS0+bV9tb2RlKTsKKysgICAgICAgIHRmdHBfc2VuZGZpbGUoZmQsIHJlbW90ZV9wdGgsIG1vZGUtPm1fbW9kZSk7CisgICAgIH0KKyB9CisgCitAQCAtODAxLDYgKzgyMiwxMCBAQCBzdGF0aWMgdm9pZCBjb21tYW5kKHZvaWQpCisgICAgICAgICAgICAgZnJlZShsaW5lKTsKKyAgICAgICAgICAgICBsaW5lID0gTlVMTDsKKyAgICAgICAgIH0KKysgICAgICAgIGlmIChyZW1vdGVfcHRoKSB7CisrICAgICAgICAgICAgZnJlZShyZW1vdGVfcHRoKTsKKysgICAgICAgICAgICByZW1vdGVfcHRoID0gTlVMTDsKKysgICAgICAgIH0KKyAgICAgICAgIGxpbmUgPSByZWFkbGluZShwcm9tcHQpOworICAgICAgICAgaWYgKCFsaW5lKQorICAgICAgICAgICAgIGV4aXQoMCk7ICAgICAgICAgICAgLyogRU9GICovCitAQCAtODcyLDcgKzg5NywxMyBAQCBzdHJ1Y3QgY21kICpnZXRjbWQoY2hhciAqbmFtZSkKKyBzdGF0aWMgdm9pZCBtYWtlYXJndih2b2lkKQorIHsKKyAgICAgY2hhciAqY3A7CistICAgIGNoYXIgKiphcmdwID0gbWFyZ3Y7CisrICAgIGNoYXIgKiphcmdwOworKworKyAgICBpZiAoIXNpemVvZl9tYXJndikgeworKyAgICAgICAgc2l6ZW9mX21hcmd2ID0gMjA7CisrICAgICAgICBtYXJndiA9IHhtYWxsb2Moc2l6ZW9mX21hcmd2ICogc2l6ZW9mKGNoYXIgKikpOworKyAgICB9CisrICAgIGFyZ3AgPSBtYXJndjsKKyAKKyAgICAgbWFyZ2MgPSAwOworICAgICBmb3IgKGNwID0gbGluZTsgKmNwOykgeworQEAgLTg4Miw2ICs5MTMsMTEgQEAgc3RhdGljIHZvaWQgbWFrZWFyZ3Yodm9pZCkKKyAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICphcmdwKysgPSBjcDsKKyAgICAgICAgIG1hcmdjICs9IDE7CisrICAgICAgICBpZiAobWFyZ2MgPT0gc2l6ZW9mX21hcmd2KSB7CisrICAgICAgICAgICAgc2l6ZW9mX21hcmd2ICs9IDIwOworKyAgICAgICAgICAgIG1hcmd2ID0geHJlYWxsb2MobWFyZ3YsIHNpemVvZl9tYXJndiAqIHNpemVvZihjaGFyICopKTsKKysgICAgICAgICAgICBhcmdwID0gbWFyZ3YgKyBtYXJnYzsKKysgICAgICAgIH0KKyAgICAgICAgIHdoaWxlICgqY3AgIT0gJ1wwJyAmJiAhaXNzcGFjZSgqY3ApKQorICAgICAgICAgICAgIGNwKys7CisgICAgICAgICBpZiAoKmNwID09ICdcMCcpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC1ocGEtMC4zOS10emZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy90ZnRwLWhwYS0wLjM5LXR6Zml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1MTEwZWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC1ocGEtMC4zOS10emZpeC5wYXRjaApAQCAtMCwwICsxLDI0IEBACitQYXRjaCBvcmlnaW5hbGx5IGZyb20gRmVkb3JhCisKK2h0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL2NnaXQvdGZ0cC5naXQvCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC11cCB0ZnRwLWhwYS0wLjQ5L3RmdHBkL3RmdHBkLmMudHpmaXggdGZ0cC1ocGEtMC40OS90ZnRwZC90ZnRwZC5jCistLS0gdGZ0cC1ocGEtMC40OS90ZnRwZC90ZnRwZC5jLnR6Zml4CTIwMDgtMTAtMjAgMTg6MDg6MzEuMDAwMDAwMDAwIC0wNDAwCisrKysgdGZ0cC1ocGEtMC40OS90ZnRwZC90ZnRwZC5jCTIwMDgtMTEtMjUgMTE6NDU6MjcuMDAwMDAwMDAwIC0wNTAwCitAQCAtMzUwLDYgKzM1MCwxNCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgICAgIGNvbnN0IGNoYXIgKnBpZGZpbGUgPSBOVUxMOworICAgICB1X3Nob3J0IHRwX29wY29kZTsKKyAKKysgICAgdGltZV90IG15X3RpbWUgPSAwOworKyAgICBzdHJ1Y3QgdG0qIHBfdG07CisrICAgIGNoYXIgZW52dHpbMTBdOworKyAgICBteV90aW1lID0gdGltZShOVUxMKTsKKysgICAgcF90bSA9IGxvY2FsdGltZSgmbXlfdGltZSk7CisrICAgIHNucHJpbnRmKGVudnR6LCBzaXplb2YoZW52dHopIC0gMSwgIlVUQyUrZCIsIChwX3RtLT50bV9nbXRvZmYgKiAtMSkvMzYwMCk7CisrICAgIHNldGVudigiVFoiLCBlbnZ0eiwgMCk7CisrCisgICAgIC8qIGJhc2VuYW1lKCkgaXMgd2F5IHRvbyBtdWNoIG9mIGEgcGFpbiBmcm9tIGEgcG9ydGFiaWxpdHkgc3RhbmRwb2ludCAqLworIAorICAgICBwID0gc3RycmNocihhcmd2WzBdLCAnLycpOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLTAuNDktZm9ydGlmeS1zdHJjcHktY3Jhc2gucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC1ocGEtMC40OS1mb3J0aWZ5LXN0cmNweS1jcmFzaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGQyYjViCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLTAuNDktZm9ydGlmeS1zdHJjcHktY3Jhc2gucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorUGF0Y2ggb3JpZ2luYWxseSBmcm9tIEZlZG9yYQorCitodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L3RmdHAuZ2l0LworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtdXJOIHRmdHAtaHBhLTAuNDkub3JpZy90ZnRwL3RmdHAuYyB0ZnRwLWhwYS0wLjQ5L3RmdHAvdGZ0cC5jCistLS0gdGZ0cC1ocGEtMC40OS5vcmlnL3RmdHAvdGZ0cC5jCTIwMDgtMTAtMjAgMTg6MDg6MzEuMDAwMDAwMDAwIC0wNDAwCisrKysgdGZ0cC1ocGEtMC40OS90ZnRwL3RmdHAuYwkyMDA5LTA4LTA1IDA5OjQ3OjE4LjA3MjU4NTg0OCAtMDQwMAorQEAgLTI3OSwxNSArMjc5LDE2IEBACisgICAgICAgICAgICAgc3RydWN0IHRmdHBoZHIgKnRwLCBjb25zdCBjaGFyICptb2RlKQorIHsKKyAgICAgY2hhciAqY3A7CisrICAgIHNpemVfdCBsZW47CisgCisgICAgIHRwLT50aF9vcGNvZGUgPSBodG9ucygodV9zaG9ydCkgcmVxdWVzdCk7CisgICAgIGNwID0gKGNoYXIgKikmKHRwLT50aF9zdHVmZik7CistICAgIHN0cmNweShjcCwgbmFtZSk7CistICAgIGNwICs9IHN0cmxlbihuYW1lKTsKKy0gICAgKmNwKysgPSAnXDAnOworLSAgICBzdHJjcHkoY3AsIG1vZGUpOworLSAgICBjcCArPSBzdHJsZW4obW9kZSk7CistICAgICpjcCsrID0gJ1wwJzsKKysgICAgbGVuID0gc3RybGVuKG5hbWUpICsgMTsKKysgICAgbWVtY3B5KGNwLCBuYW1lLCBsZW4pOworKyAgICBjcCArPSBsZW47CisrICAgIGxlbiA9IHN0cmxlbihtb2RlKSArIDE7CisrICAgIG1lbWNweShjcCwgbW9kZSwgbGVuKTsKKysgICAgY3AgKz0gbGVuOworICAgICByZXR1cm4gKGNwIC0gKGNoYXIgKil0cCk7CisgfQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLTAuNDktc3RhdHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC1ocGEtMC40OS1zdGF0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjBjZDY5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLTAuNDktc3RhdHMucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorUGF0Y2ggb3JpZ2luYWxseSBmcm9tIEZlZG9yYQorCitodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L3RmdHAuZ2l0LworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtdXAgdGZ0cC1ocGEtMC40OS90ZnRwL3RmdHAuYy5zdGF0cyB0ZnRwLWhwYS0wLjQ5L3RmdHAvdGZ0cC5jCistLS0gdGZ0cC1ocGEtMC40OS90ZnRwL3RmdHAuYy5zdGF0cwkyMDExLTAxLTAzIDE1OjM4OjM0LjIxNzkxODA2NyArMDEwMAorKysrIHRmdHAtaHBhLTAuNDkvdGZ0cC90ZnRwLmMJMjAxMS0wMS0wMyAxNTozODozNy40OTg5MTcwMTQgKzAxMDAKK0BAIC00MDAsOCArNDAwLDggQEAgc3RhdGljIHZvaWQgcHJpbnRzdGF0cyhjb25zdCBjaGFyICpkaXJlYworIHsKKyAgICAgZG91YmxlIGRlbHRhOworIAorLSAgICBkZWx0YSA9ICh0c3RvcC50dl9zZWMgKyAodHN0b3AudHZfdXNlYyAvIDEwMDAwMC4wKSkgLQorLSAgICAgICAgKHRzdGFydC50dl9zZWMgKyAodHN0YXJ0LnR2X3VzZWMgLyAxMDAwMDAuMCkpOworKyAgICBkZWx0YSA9ICh0c3RvcC50dl9zZWMgKyAodHN0b3AudHZfdXNlYyAvIDEwMDAwMDAuMCkpIC0KKysgICAgICAgICh0c3RhcnQudHZfc2VjICsgKHRzdGFydC50dl91c2VjIC8gMTAwMDAwMC4wKSk7CisgICAgIGlmICh2ZXJib3NlKSB7CisgICAgICAgICBwcmludGYoIiVzICVsdSBieXRlcyBpbiAlLjFmIHNlY29uZHMiLCBkaXJlY3Rpb24sIGFtb3VudCwgZGVsdGEpOworICAgICAgICAgcHJpbnRmKCIgWyUuMGYgYml0L3NdIiwgKGFtb3VudCAqIDguKSAvIGRlbHRhKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy90ZnRwLWhwYS01LjItcGt0aW5mby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS9maWxlcy90ZnRwLWhwYS01LjItcGt0aW5mby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTYzNDlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLTUuMi1wa3RpbmZvLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK1BhdGNoIG9yaWdpbmFsbHkgZnJvbSBGZWRvcmEKKworaHR0cDovL3BrZ3MuZmVkb3JhcHJvamVjdC5vcmcvY2dpdC90ZnRwLmdpdC8KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK2RpZmYgLXVwIHRmdHAtaHBhLTUuMi90ZnRwZC9yZWN2ZnJvbS5jLnRlc3QgdGZ0cC1ocGEtNS4yL3RmdHBkL3JlY3Zmcm9tLmMKKy0tLSB0ZnRwLWhwYS01LjIvdGZ0cGQvcmVjdmZyb20uYy50ZXN0CTIwMTEtMTItMTEgMjM6MTM6NTIuMDAwMDAwMDAwICswMTAwCisrKysgdGZ0cC1ocGEtNS4yL3RmdHBkL3JlY3Zmcm9tLmMJMjAxMi0wMS0wNCAxMDowNToxNy44NTIwNDIyNTYgKzAxMDAKK0BAIC0xNDksMTYgKzE0OSwxNiBAQCBteXJlY3Zmcm9tKGludCBzLCB2b2lkICpidWYsIGludCBsZW4sIHVuCisgCisgICAgIC8qIFRyeSB0byBlbmFibGUgZ2V0dGluZyB0aGUgcmV0dXJuIGFkZHJlc3MgKi8KKyAjaWZkZWYgSVBfUkVDVkRTVEFERFIKKy0gICAgaWYgKGZyb20tPnNhX2ZhbWlseSA9PSBBRl9JTkVUKQorKyAgICBpZiAoZnJvbS0+c2FfZmFtaWx5ID09IEFGX0lORVQgfHwgIWZyb20tPnNhX2ZhbWlseSkKKyAgICAgICAgIHNldHNvY2tvcHQocywgSVBQUk9UT19JUCwgSVBfUkVDVkRTVEFERFIsICZvbiwgc2l6ZW9mKG9uKSk7CisgI2VuZGlmCisgI2lmZGVmIElQX1BLVElORk8KKy0gICAgaWYgKGZyb20tPnNhX2ZhbWlseSA9PSBBRl9JTkVUKQorKyAgICBpZiAoZnJvbS0+c2FfZmFtaWx5ID09IEFGX0lORVQgfHwgIWZyb20tPnNhX2ZhbWlseSkKKyAgICAgICAgIHNldHNvY2tvcHQocywgSVBQUk9UT19JUCwgSVBfUEtUSU5GTywgJm9uLCBzaXplb2Yob24pKTsKKyAjZW5kaWYKKyAjaWZkZWYgSEFWRV9JUFY2CisgI2lmZGVmIElQVjZfUkVDVlBLVElORk8KKy0gICAgaWYgKGZyb20tPnNhX2ZhbWlseSA9PSBBRl9JTkVUNikKKysgICAgaWYgKGZyb20tPnNhX2ZhbWlseSA9PSBBRl9JTkVUNiB8fCAhZnJvbS0+c2FfZmFtaWx5KQorICAgICAgICAgc2V0c29ja29wdChzLCBJUFBST1RPX0lQVjYsIElQVjZfUkVDVlBLVElORk8sICZvbiwgc2l6ZW9mKG9uKSk7CisgI2VuZGlmCisgI2VuZGlmCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC1ocGEtYnVnLWZpeC1vbi1zZXBhcmF0ZWQtQ1ItYW5kLUxGLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLWJ1Zy1maXgtb24tc2VwYXJhdGVkLUNSLWFuZC1MRi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTIyMGVjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAtaHBhLWJ1Zy1maXgtb24tc2VwYXJhdGVkLUNSLWFuZC1MRi5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDZlZDFlYjg4MjlkZWUzNTFiNTRlMTgzYmM0MmMwMDdjYjMwNmFhYTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBaaGFuZyBYaWFvIDx4aWFvLnpoYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDExIEp1biAyMDE0IDE0OjAxOjE2ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHRmdHAtaHBhOiBidWcgZml4IG9uIHNlcGFyYXRlZCBDUiBhbmQgTEYKKworSW4gYXNjaWkgbW9kZSwgaWYgdGhlIENSIGFuZCBMRiB3YXMgc2VwYXJhdGVkIGludG8gZGlmZmVyZW50IHRyYW5zZmVyCitibG9ja3MsIExGIHdpbGwgYmUganVzdCBkcm9wcGVkIGluc3RlYWQgb2YgcmVwbGFjaW5nIHRoZSBwcmV2aW91cyBDUi4KK0FkZCBhIGNoZWNraW5nIG9uIHRoZSBmaXJzdCBjaGFyYWN0ZXIgdG8gZml4IGl0LgorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogWmhhbmcgWGlhbyA8eGlhby56aGFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgY29tbW9uL3RmdHBzdWJzLmMgfCA4ICsrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvY29tbW9uL3RmdHBzdWJzLmMgYi9jb21tb24vdGZ0cHN1YnMuYworaW5kZXggYjRkNGZmZS4uYjRlYTNmMiAxMDA2NDQKKy0tLSBhL2NvbW1vbi90ZnRwc3Vicy5jCisrKysgYi9jb21tb24vdGZ0cHN1YnMuYworQEAgLTIwNyw2ICsyMDcsMTQgQEAgaW50IHdyaXRlX2JlaGluZChGSUxFICogZmlsZSwgaW50IGNvbnZlcnQpCisgICAgIHAgPSBidWY7CisgICAgIGN0ID0gY291bnQ7CisgICAgIGNvdW50ID0gMDsKKysKKysgICAgLyogQ2hlY2sgdGhlIGZpcnN0IGNoYXJhY3RlciB0b2dldGhlciB3aXRoIHByZXZjaGFyICovCisrICAgIGMgPSAqcDsKKysgICAgaWYgKChwcmV2Y2hhciA9PSAnXHInKSAmJiAoYyA9PSAnXG4nKSkgeworKyAgICAgICAgbHNlZWsoZmlsZW5vKGZpbGUpLCAtMSwgU0VFS19DVVIpOworKyAgICAgICAgY291bnQrKzsKKysgICAgfQorKworICAgICB3aGlsZSAoY3QtLSkgeyAgICAgICAgICAgICAgLyogbG9vcCBvdmVyIHRoZSBidWZmZXIgKi8KKyAgICAgICAgIGMgPSAqcCsrOyAgICAgICAgICAgICAgIC8qIHBpY2sgdXAgYSBjaGFyYWN0ZXIgKi8KKyAgICAgICAgIGlmIChwcmV2Y2hhciA9PSAnXHInKSB7IC8qIGlmIHByZXYgY2hhciB3YXMgY3IgKi8KKy0tIAorMS44LjUuMi4yMzMuZzkzMmY3ZTQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAteGluZXRkIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3RmdHAtaHBhL2ZpbGVzL3RmdHAteGluZXRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlNzAxNjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvZmlsZXMvdGZ0cC14aW5ldGQKQEAgLTAsMCArMSwxOCBAQAorIyBkZWZhdWx0OiBvZmYKKyMgZGVzY3JpcHRpb246IFRoZSB0ZnRwIHNlcnZlciBzZXJ2ZXMgZmlsZXMgdXNpbmcgdGhlIHRyaXZpYWwgZmlsZSB0cmFuc2ZlciBcCisjCXByb3RvY29sLiAgVGhlIHRmdHAgcHJvdG9jb2wgaXMgb2Z0ZW4gdXNlZCB0byBib290IGRpc2tsZXNzIFwKKyMJd29ya3N0YXRpb25zLCBkb3dubG9hZCBjb25maWd1cmF0aW9uIGZpbGVzIHRvIG5ldHdvcmstYXdhcmUgcHJpbnRlcnMsIFwKKyMJYW5kIHRvIHN0YXJ0IHRoZSBpbnN0YWxsYXRpb24gcHJvY2VzcyBmb3Igc29tZSBvcGVyYXRpbmcgc3lzdGVtcy4KK3NlcnZpY2UgdGZ0cAoreworCXNvY2tldF90eXBlCQk9IGRncmFtCisJcHJvdG9jb2wJCT0gdWRwCisJd2FpdAkJCT0geWVzCisJdXNlcgkJCT0gcm9vdAorCXNlcnZlcgkJCT0gL3Vzci9zYmluL2luLnRmdHBkLWhwYQorCXNlcnZlcl9hcmdzCQk9IC1zIC92YXIvbGliL3RmdHBib290CisJZGlzYWJsZQkJCT0geWVzCisJcGVyX3NvdXJjZQkJPSAxMQorCWNwcwkJCQk9IDEwMCAyCisJZmxhZ3MJCQk9IElQdjYKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy90ZnRwLWhwYS90ZnRwLWhwYV81LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvdGZ0cC1ocGFfNS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4ODQyZTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdGZ0cC1ocGEvdGZ0cC1ocGFfNS4yLmJiCkBAIC0wLDAgKzEsNzYgQEAKK1NVTU1BUlkgICAgICAgID0gIkNsaWVudCBmb3IgdGhlIFRyaXZpYWwgRmlsZSBUcmFuc2ZlciBQcm90b2NvbCIKK0RFU0NSSVBUSU9OICAgID0gXAorIlRoZSBUcml2aWFsIEZpbGUgVHJhbnNmZXIgUHJvdG9jb2wgKFRGVFApIGlzIG5vcm1hbGx5IHVzZWQgb25seSBmb3IgXAorYm9vdGluZyBkaXNrbGVzcyB3b3Jrc3RhdGlvbnMuICBUaGUgdGZ0cCBwYWNrYWdlIHByb3ZpZGVzIHRoZSB1c2VyICAgXAoraW50ZXJmYWNlIGZvciBURlRQLCB3aGljaCBhbGxvd3MgdXNlcnMgdG8gdHJhbnNmZXIgZmlsZXMgdG8gYW5kIGZyb20gYSBcCityZW1vdGUgbWFjaGluZS4gIFRoaXMgcHJvZ3JhbSBhbmQgVEZUUCBwcm92aWRlIHZlcnkgbGl0dGxlIHNlY3VyaXR5LCBcCithbmQgc2hvdWxkIG5vdCBiZSBlbmFibGVkIHVubGVzcyBpdCBpcyBleHByZXNzbHkgbmVlZGVkLiIKK0RFUEVORFMgPSAidGNwLXdyYXBwZXJzIHJlYWRsaW5lIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRC00LUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL01DT05GSUcuaW47YmVnaW5saW5lPTE7ZW5kbGluZT05O21kNT1jMjhiYTVhZGI0MzA0MWZhZTQ2MjlkYjA1YzgzY2JkZCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly90ZnRwL3RmdHAuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTMyO21kNT05ODhjMWNiYTk5ZDcwODU4YTI2Y2Q4NzcyMDk4NTdmNCIKKworCitTUkNfVVJJID0gImh0dHA6Ly9rZXJuZWwub3JnL3B1Yi9zb2Z0d2FyZS9uZXR3b3JrL3RmdHAvdGZ0cC1ocGEvdGZ0cC1ocGEtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly90ZnRwLTAuNDAtcmVtYXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGZ0cC0wLjQyLXRmdHBib290LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3RmdHAtMC40OS1jaGtfcmV0Y29kZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGZ0cC0wLjQ5LWNtZF9hcmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGZ0cC1ocGEtMC4zOS10emZpeC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly90ZnRwLWhwYS0wLjQ5LWZvcnRpZnktc3RyY3B5LWNyYXNoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3RmdHAtaHBhLTAuNDktc3RhdHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGZ0cC1ocGEtNS4yLXBrdGluZm8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGVmYXVsdCBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2FkZC1lcnJvci1jaGVjay1mb3ItZGlzay1maWxsZWQtdXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGZ0cC1ocGEtYnVnLWZpeC1vbi1zZXBhcmF0ZWQtQ1ItYW5kLUxGLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC13cml0aW5nLWVtdHB5LWZpbGUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDZjOWJkMjBiYmZmYTYyZjc5Yzk1OGM3Yjk5YWFjMjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGE5Zjg4ZDRjMWMwMjY4N2I0ODUzYjAyYWI1ZGQ4Nzc5ZDRkZTRmZmRiOWIyZTVjOTMzMjg0MTMwNGQxYTI2OSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworZXhwb3J0IEFSID0gIiR7SE9TVF9QUkVGSVh9YXIgY3EiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLW9wdGlvbi1jaGVja2luZyIKKworIyBjb25maWd1cmUuaW4gaGFzIGVycm9ycworZG9fY29uZmlndXJlKCkgeworICAgIG9lX3J1bmNvbmYKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgSU5TVEFMTFJPT1Q9JHtEfQorICAgIG12ICR7RH0ke2JpbmRpcn0vdGZ0cCAke0R9JHtiaW5kaXJ9L3RmdHAtaHBhCisgICAgbXYgJHtEfSR7c2JpbmRpcn0vaW4udGZ0cGQgJHtEfSR7c2JpbmRpcn0vaW4udGZ0cGQtaHBhCisKKyAgICBpbnN0YWxsIC1tIDc1NSAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvdGZ0cGJvb3QvCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90ZnRwZC1ocGEKKyAgICBzZWQgLWkgJ3MhL3Vzci9zYmluLyEke3NiaW5kaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvdGZ0cGQtaHBhCisgICAgc2VkIC1pICdzIS9ldGMvISR7c3lzY29uZmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90ZnRwZC1ocGEKKyAgICBzZWQgLWkgJ3MhL3Zhci8hJHtsb2NhbHN0YXRlZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3RmdHBkLWhwYQorICAgIHNlZCAtaSAncyFeUEFUSD0uKiFQQVRIPSR7YmFzZV9zYmluZGlyfToke2Jhc2VfYmluZGlyfToke3NiaW5kaXJ9OiR7YmluZGlyfSEnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90ZnRwZC1ocGEKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2RlZmF1bHQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC90ZnRwZC1ocGEKK30KKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9IgorCitQQUNLQUdFUyArPSAidGZ0cC1ocGEtc2VydmVyIgorU1VNTUFSWV90ZnRwLWhwYS1zZXJ2ZXIgPSAiU2VydmVyIGZvciB0aGUgVHJpdmlhbCBGaWxlIFRyYW5zZmVyIFByb3RvY29sIgorRklMRVNfdGZ0cC1ocGEtc2VydmVyID0gIiR7c2JpbmRpcn0gJHtzeXNjb25mZGlyfSAke2xvY2Fsc3RhdGVkaXJ9IgorQ09ORkZJTEVTX3RmdHAtaHBhLXNlcnZlciA9ICIke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdGZ0cGQtaHBhIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gInRmdHAtaHBhLXNlcnZlciIKK0lOSVRTQ1JJUFRfTkFNRSA9ICJ0ZnRwZC1ocGEiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCAyMCAyIDMgNCA1IC4gc3RvcCAyMCAxIC4iCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gInRmdHAiCitBTFRFUk5BVElWRV9UQVJHRVRbdGZ0cF0gPSAiJHtiaW5kaXJ9L3RmdHAtaHBhIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiNTAiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92YmxhZGUvZmlsZXMvY3Jvc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdmJsYWRlL2ZpbGVzL2Nyb3NzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyZWIxNTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdmJsYWRlL2ZpbGVzL2Nyb3NzLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK1JlbW92ZSBDQyBhbmQgQ0ZMQUdTIHZhbHVlcywgd2Ugc2V0IHRoZXNlIG91cnNlbHZlcworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ10KKworZGlmZiAtdXJOIHZibGFkZS0xOS5vbGQvL21ha2VmaWxlIHZibGFkZS0xOS8vbWFrZWZpbGUKKy0tLSB2YmxhZGUtMTkub2xkLy9tYWtlZmlsZQkyMDA4LTEwLTA4IDIyOjA3OjQwLjAwMDAwMDAwMCArMDEwMAorKysrIHZibGFkZS0xOS8vbWFrZWZpbGUJMjAwOC0xMS0xOCAxOTowNzo1MS43MDAzNjUwMjkgKzAwMDAKK0BAIC05LDggKzksNiBAQAorIG1hbmRpciA9ICR7c2hhcmVkaXJ9L21hbgorIAorIE89YW9lLm8gYnBmLm8gJHtQTEFURk9STX0ubyBhdGEubworLUNGTEFHUyArPSAtV2FsbCAtZyAtTzIKKy1DQyA9IGdjYworIAorIHZibGFkZTogJE8KKyAJJHtDQ30gLW8gdmJsYWRlICRPCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdmJsYWRlL3ZibGFkZV8yMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92YmxhZGUvdmJsYWRlXzIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNTdlNDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdmJsYWRlL3ZibGFkZV8yMC5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIlZpcnR1YWwgRXRoZXJEcml2ZSBibGFkZSBBb0UgdGFyZ2V0IgorU0VDVElPTiA9ICJhZG1pbiIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9hb2V0b29scy8ke0JQTn0tJHtQVn0udGd6IFwKKyAgICAgICBmaWxlOi8vY3Jvc3MucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzYzgwZTRhNmJjN2Q2NmFlMGMyMzViODhjYjQ0YmQ1OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjOGZlMmZjNGYyZmJhOGUwN2U1Y2ZkZjE3MzM1OTgyNTg0ZWVmMmNkNWM3OGJmOGIxZGI5M2YyYjU2ZTcxMjFkIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtTfS92YmxhZGUgJHtEfS8ke3NiaW5kaXJ9L3ZibGFkZQorICAgIGluc3RhbGwgLUQgLW0gMDc1NSAke1N9L3ZibGFkZWQgJHtEfS8ke3NiaW5kaXJ9L3ZibGFkZWQKKyAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtTfS92YmxhZGUuOCAke0R9LyR7bWFuZGlyfS9tYW44L3ZibGFkZS44Cit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvY2hhbmdlLXNlY3VyZV9jaHJvb3RfZGlyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC9maWxlcy9jaGFuZ2Utc2VjdXJlX2Nocm9vdF9kaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWYyODYwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvY2hhbmdlLXNlY3VyZV9jaHJvb3RfZGlyLnBhdGNoCkBAIC0wLDAgKzEsNTUgQEAKK3ZzZnRwZDogY2hhbmdlIGRlZmF1bHQgdmFsdWUgb2Ygc2VjdXJlX2Nocm9vdF9kaXIKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0NoYW5nZSBzZWN1cmVfY2hyb290X2RpciBwb2ludGluZyB0byBhIHZvbGF0aWxlIGRpcmVjdG9yeS4KKworU2lnbmVkLW9mZi1ieTogTWluZyBMaXUgPG1pbmcubGl1QHdpbmRyaXZlci5jb20+CistLS0KKyBJTlNUQUxMICAgICAgIHwgICAgNiArKystLS0KKyB0dW5hYmxlcy5jICAgIHwgICAgMiArLQorIHZzZnRwZC5jb25mLjUgfCAgICAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLXVycE4gYS9JTlNUQUxMIGIvSU5TVEFMTAorLS0tIGEvSU5TVEFMTAkyMDEzLTA5LTEzIDEwOjIzOjU3LjUwNDk3MjM5NyArMDgwMAorKysrIGIvSU5TVEFMTAkyMDEzLTA5LTEzIDEwOjI1OjI1LjY2NDk3MTc3OSArMDgwMAorQEAgLTI3LDExICsyNywxMSBAQCB1c2VyIGluIGNhc2UgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdC4gCisgW3Jvb3RAbG9jYWxob3N0IHJvb3RdIyB1c2VyYWRkIG5vYm9keQorIHVzZXJhZGQ6IHVzZXIgbm9ib2R5IGV4aXN0cworIAorLTJiKSB2c2Z0cGQgbmVlZHMgdGhlIChlbXB0eSkgZGlyZWN0b3J5IC91c3Ivc2hhcmUvZW1wdHkgaW4gdGhlIGRlZmF1bHQKKysyYikgdnNmdHBkIG5lZWRzIHRoZSAoZW1wdHkpIGRpcmVjdG9yeSAvdmFyL3J1bi92c2Z0cGQvZW1wdHkgaW4gdGhlIGRlZmF1bHQKKyBjb25maWd1cmF0aW9uLiBBZGQgdGhpcyBkaXJlY3RvcnkgaW4gY2FzZSBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LiBlLmcuOgorIAorLVtyb290QGxvY2FsaG9zdCByb290XSMgbWtkaXIgL3Vzci9zaGFyZS9lbXB0eS8KKy1ta2RpcjogY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgYC91c3Ivc2hhcmUvZW1wdHknOiBGaWxlIGV4aXN0cworK1tyb290QGxvY2FsaG9zdCByb290XSMgbWtkaXIgL3Zhci9ydW4vdnNmdHBkL2VtcHR5LworK21rZGlyOiBjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSBgL3Zhci9ydW4vdnNmdHBkL2VtcHR5JzogRmlsZSBleGlzdHMKKyAKKyAyYykgRm9yIGFub255bW91cyBGVFAsIHlvdSB3aWxsIG5lZWQgdGhlIHVzZXIgImZ0cCIgdG8gZXhpc3QsIGFuZCBoYXZlIGEKKyB2YWxpZCBob21lIGRpcmVjdG9yeSAod2hpY2ggaXMgTk9UIG93bmVkIG9yIHdyaXRhYmxlIGJ5IHRoZSB1c2VyICJmdHAiKS4KK2RpZmYgLXVycE4gYS90dW5hYmxlcy5jIGIvdHVuYWJsZXMuYworLS0tIGEvdHVuYWJsZXMuYwkyMDEzLTA5LTEzIDEwOjI2OjI5LjU1NDk3MjgxNyArMDgwMAorKysrIGIvdHVuYWJsZXMuYwkyMDEzLTA5LTEzIDEwOjI3OjE4LjEwNDk3MjIxMCArMDgwMAorQEAgLTI1NCw3ICsyNTQsNyBAQCB0dW5hYmxlc19sb2FkX2RlZmF1bHRzKCkKKyAgIC8qIC1ydy0tLS0tLS0gKi8KKyAgIHR1bmFibGVfY2hvd25fdXBsb2FkX21vZGUgPSAwNjAwOworIAorLSAgaW5zdGFsbF9zdHJfc2V0dGluZygiL3Vzci9zaGFyZS9lbXB0eSIsICZ0dW5hYmxlX3NlY3VyZV9jaHJvb3RfZGlyKTsKKysgIGluc3RhbGxfc3RyX3NldHRpbmcoIi92YXIvcnVuL3ZzZnRwZC9lbXB0eSIsICZ0dW5hYmxlX3NlY3VyZV9jaHJvb3RfZGlyKTsKKyAgIGluc3RhbGxfc3RyX3NldHRpbmcoImZ0cCIsICZ0dW5hYmxlX2Z0cF91c2VybmFtZSk7CisgICBpbnN0YWxsX3N0cl9zZXR0aW5nKCJyb290IiwgJnR1bmFibGVfY2hvd25fdXNlcm5hbWUpOworICAgaW5zdGFsbF9zdHJfc2V0dGluZygiL3Zhci9sb2cveGZlcmxvZyIsICZ0dW5hYmxlX3hmZXJsb2dfZmlsZSk7CitkaWZmIC11cnBOIGEvdnNmdHBkLmNvbmYuNSBiL3ZzZnRwZC5jb25mLjUKKy0tLSBhL3ZzZnRwZC5jb25mLjUJMjAxMy0wOS0xMyAxMDowOTozMy43NzQ5NzI0NjIgKzA4MDAKKysrKyBiL3ZzZnRwZC5jb25mLjUJMjAxMy0wOS0xMyAxMDoxMDo0MS45MTQ5NzE5ODkgKzA4MDAKK0BAIC05NjksNyArOTY5LDcgQEAgVGhpcyBvcHRpb24gc2hvdWxkIGJlIHRoZSBuYW1lIG9mIGEgZGlyZQorIGRpcmVjdG9yeSBzaG91bGQgbm90IGJlIHdyaXRhYmxlIGJ5IHRoZSBmdHAgdXNlci4gVGhpcyBkaXJlY3RvcnkgaXMgdXNlZAorIGFzIGEgc2VjdXJlIGNocm9vdCgpIGphaWwgYXQgdGltZXMgdnNmdHBkIGRvZXMgbm90IHJlcXVpcmUgZmlsZXN5c3RlbSBhY2Nlc3MuCisgCistRGVmYXVsdDogL3Vzci9zaGFyZS9lbXB0eQorK0RlZmF1bHQ6IC92YXIvcnVuL3ZzZnRwZC9lbXB0eQorIC5UUAorIC5CIHNzbF9jaXBoZXJzCisgVGhpcyBvcHRpb24gY2FuIGJlIHVzZWQgdG8gc2VsZWN0IHdoaWNoIFNTTCBjaXBoZXJzIHZzZnRwZCB3aWxsIGFsbG93IGZvcgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC9maWxlcy9pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC9maWxlcy9pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcyYWRmMGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL2luaXQKQEAgLTAsMCArMSw1MCBAQAorIyEvYmluL3NoCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiB2c2Z0cGQKKyMgRGVmYXVsdC1TdGFydDogIDIzNDUKKyMgRGVmYXVsdC1TdG9wOiAgIDAxNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogVmVyeSBTZWN1cmUgRnRwIERhZW1vbgorIyBEZXNjcmlwdGlvbjogdnNmdHBkIGlzIGEgVmVyeSBTZWN1cmUgRlRQIGRhZW1vbi4gSXQgd2FzIHdyaXR0ZW4gY29tcGxldGVseSBmcm9tCisjICAgICAgICAgICAgICBzY3JhdGNoCisjIyMgRU5EIElOSVQgSU5GTworCitEQUVNT049L3Vzci9zYmluL3ZzZnRwZAorTkFNRT12c2Z0cGQKK0RFU0M9IkZUUCBTZXJ2ZXIiCitBUkdTPSIiCitGVFBESVI9L3Zhci9saWIvZnRwCisKK3Rlc3QgLWYgJERBRU1PTiB8fCBleGl0IDAKKworc2V0IC1lCisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorICAgICAgICBlY2hvIC1uICIqIHN0YXJ0aW5nICRERVNDOiAkTkFNRS4uLiAiCisgICAgICAgIGlmICEgdGVzdCAtZCAkRlRQRElSOyB0aGVuCisgICAgICAgICAgICBta2RpciAtcCAkRlRQRElSL2luCisgICAgICAgICAgICBjaG93biBmdHAgJEZUUERJUiAtUgorICAgICAgICAgICAgY2htb2QgYS13ICRGVFBESVIKKyAgICAgICAgICAgIGNobW9kIHUrdyAkRlRQRElSL2luCisgICAgICAgIGZpCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC1TIC1iIC14ICREQUVNT04gLS0gJEFSR1MKKyAgICAgICAgZWNobyAiZG9uZS4iCisgICAgICAgIDs7CisgICAgc3RvcCkKKyAgICAgICAgZWNobyAtbiAiKiBzdG9wcGluZyAkREVTQzogJE5BTUUuLi4gIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAteCAkREFFTU9OCisgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICA7OworICAgIHJlc3RhcnQpCisgICAgICAgIGVjaG8gIiogcmVzdGFydGluZyAkREVTQzogJE5BTUUuLi4gIgorICAgICAgICAkMCBzdG9wCisgICAgICAgICQwIHN0YXJ0CisgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICA7OworICAgICopCisgICAgICAgIGVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxyZXN0YXJ0fSIKKyAgICAgICAgZXhpdCAxCisgICAgICAgIDs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC9maWxlcy92b2xhdGlsZXMuOTlfdnNmdHBkIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC9maWxlcy92b2xhdGlsZXMuOTlfdnNmdHBkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhNjAyYmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZvbGF0aWxlcy45OV92c2Z0cGQKQEAgLTAsMCArMSBAQAorZCByb290IHJvb3QgMDc1NSAvdmFyL3J1bi92c2Z0cGQvZW1wdHkgbm9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC9maWxlcy92c2Z0cGQuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvdnNmdHBkLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIxOTI5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvdnNmdHBkLmNvbmYKQEAgLTAsMCArMSwxMzkgQEAKKyMgRXhhbXBsZSBjb25maWcgZmlsZSAvZXRjL3ZzZnRwZC5jb25mCisjCisjIFRoZSBkZWZhdWx0IGNvbXBpbGVkIGluIHNldHRpbmdzIGFyZSBmYWlybHkgcGFyYW5vaWQuIFRoaXMgc2FtcGxlIGZpbGUKKyMgbG9vc2VucyB0aGluZ3MgdXAgYSBiaXQsIHRvIG1ha2UgdGhlIGZ0cCBkYWVtb24gbW9yZSB1c2FibGUuCisjIFBsZWFzZSBzZWUgdnNmdHBkLmNvbmYuNSBmb3IgYWxsIGNvbXBpbGVkIGluIGRlZmF1bHRzLgorIworIyBSRUFEIFRISVM6IFRoaXMgZXhhbXBsZSBmaWxlIGlzIE5PVCBhbiBleGhhdXN0aXZlIGxpc3Qgb2YgdnNmdHBkIG9wdGlvbnMuCisjIFBsZWFzZSByZWFkIHRoZSB2c2Z0cGQuY29uZi41IG1hbnVhbCBwYWdlIHRvIGdldCBhIGZ1bGwgaWRlYSBvZiB2c2Z0cGQncworIyBjYXBhYmlsaXRpZXMuCisKKyMgcnVuIHN0YW5kYWxvbmUKK2xpc3Rlbj1ZRVMKKworIyBBbGxvdyBhbm9ueW1vdXMgRlRQPyAoQmV3YXJlIC0gYWxsb3dlZCBieSBkZWZhdWx0IGlmIHlvdSBjb21tZW50IHRoaXMgb3V0KS4KK2Fub255bW91c19lbmFibGU9Tk8KKyMKKyMgVW5jb21tZW50IHRoaXMgdG8gYWxsb3cgbG9jYWwgdXNlcnMgdG8gbG9nIGluLgorbG9jYWxfZW5hYmxlPVlFUworIworIyBVbmNvbW1lbnQgdGhpcyB0byBlbmFibGUgYW55IGZvcm0gb2YgRlRQIHdyaXRlIGNvbW1hbmQuCit3cml0ZV9lbmFibGU9WUVTCisjCisjIERlZmF1bHQgdW1hc2sgZm9yIGxvY2FsIHVzZXJzIGlzIDA3Ny4gWW91IG1heSB3aXNoIHRvIGNoYW5nZSB0aGlzIHRvIDAyMiwKKyMgaWYgeW91ciB1c2VycyBleHBlY3QgdGhhdCAoMDIyIGlzIHVzZWQgYnkgbW9zdCBvdGhlciBmdHBkJ3MpCitsb2NhbF91bWFzaz0wMjIKKyMKKyMgVW5jb21tZW50IHRoaXMgdG8gYWxsb3cgdGhlIGFub255bW91cyBGVFAgdXNlciB0byB1cGxvYWQgZmlsZXMuIFRoaXMgb25seQorIyBoYXMgYW4gZWZmZWN0IGlmIHRoZSBhYm92ZSBnbG9iYWwgd3JpdGUgZW5hYmxlIGlzIGFjdGl2YXRlZC4gQWxzbywgeW91IHdpbGwKKyMgb2J2aW91c2x5IG5lZWQgdG8gY3JlYXRlIGEgZGlyZWN0b3J5IHdyaXRhYmxlIGJ5IHRoZSBGVFAgdXNlci4KKyNhbm9uX3VwbG9hZF9lbmFibGU9WUVTCisjCisjIFVuY29tbWVudCB0aGlzIGlmIHlvdSB3YW50IHRoZSBhbm9ueW1vdXMgRlRQIHVzZXIgdG8gYmUgYWJsZSB0byBjcmVhdGUKKyMgbmV3IGRpcmVjdG9yaWVzLgorI2Fub25fbWtkaXJfd3JpdGVfZW5hYmxlPVlFUworIworIyBBY3RpdmF0ZSBkaXJlY3RvcnkgbWVzc2FnZXMgLSBtZXNzYWdlcyBnaXZlbiB0byByZW1vdGUgdXNlcnMgd2hlbiB0aGV5CisjIGdvIGludG8gYSBjZXJ0YWluIGRpcmVjdG9yeS4KK2Rpcm1lc3NhZ2VfZW5hYmxlPVlFUworIworIyBBY3RpdmF0ZSBsb2dnaW5nIG9mIHVwbG9hZHMvZG93bmxvYWRzLgoreGZlcmxvZ19lbmFibGU9WUVTCisjCisjIE1ha2Ugc3VyZSBQT1JUIHRyYW5zZmVyIGNvbm5lY3Rpb25zIG9yaWdpbmF0ZSBmcm9tIHBvcnQgMjAgKGZ0cC1kYXRhKS4KK2Nvbm5lY3RfZnJvbV9wb3J0XzIwPVlFUworIworIyBJZiB5b3Ugd2FudCwgeW91IGNhbiBhcnJhbmdlIGZvciB1cGxvYWRlZCBhbm9ueW1vdXMgZmlsZXMgdG8gYmUgb3duZWQgYnkKKyMgYSBkaWZmZXJlbnQgdXNlci4gTm90ZSEgVXNpbmcgInJvb3QiIGZvciB1cGxvYWRlZCBmaWxlcyBpcyBub3QKKyMgcmVjb21tZW5kZWQhCisjY2hvd25fdXBsb2Fkcz1ZRVMKKyNjaG93bl91c2VybmFtZT13aG9ldmVyCisjCisjIFlvdSBtYXkgb3ZlcnJpZGUgd2hlcmUgdGhlIGxvZyBmaWxlIGdvZXMgaWYgeW91IGxpa2UuIFRoZSBkZWZhdWx0IGlzIHNob3duCisjIGJlbG93LgorI3hmZXJsb2dfZmlsZT0vdmFyL2xvZy92c2Z0cGQubG9nCisjCisjIElmIHlvdSB3YW50LCB5b3UgY2FuIGhhdmUgeW91ciBsb2cgZmlsZSBpbiBzdGFuZGFyZCBmdHBkIHhmZXJsb2cgZm9ybWF0Cit4ZmVybG9nX3N0ZF9mb3JtYXQ9WUVTCisjCisjIFlvdSBtYXkgY2hhbmdlIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aW1pbmcgb3V0IGFuIGlkbGUgc2Vzc2lvbi4KKyNpZGxlX3Nlc3Npb25fdGltZW91dD02MDAKKyMKKyMgWW91IG1heSBjaGFuZ2UgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHRpbWluZyBvdXQgYSBkYXRhIGNvbm5lY3Rpb24uCisjZGF0YV9jb25uZWN0aW9uX3RpbWVvdXQ9MTIwCisjCisjIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRlZmluZSBvbiB5b3VyIHN5c3RlbSBhIHVuaXF1ZSB1c2VyIHdoaWNoIHRoZQorIyBmdHAgc2VydmVyIGNhbiB1c2UgYXMgYSB0b3RhbGx5IGlzb2xhdGVkIGFuZCB1bnByaXZpbGVnZWQgdXNlci4KKyNub3ByaXZfdXNlcj1mdHAKKyMKKyMgRW5hYmxlIHRoaXMgYW5kIHRoZSBzZXJ2ZXIgd2lsbCByZWNvZ25pc2UgYXN5bmNocm9ub3VzIEFCT1IgcmVxdWVzdHMuIE5vdAorIyByZWNvbW1lbmRlZCBmb3Igc2VjdXJpdHkgKHRoZSBjb2RlIGlzIG5vbi10cml2aWFsKS4gTm90IGVuYWJsaW5nIGl0LAorIyBob3dldmVyLCBtYXkgY29uZnVzZSBvbGRlciBGVFAgY2xpZW50cy4KKyNhc3luY19hYm9yX2VuYWJsZT1ZRVMKKyMKKyMgQnkgZGVmYXVsdCB0aGUgc2VydmVyIHdpbGwgcHJldGVuZCB0byBhbGxvdyBBU0NJSSBtb2RlIGJ1dCBpbiBmYWN0IGlnbm9yZQorIyB0aGUgcmVxdWVzdC4gVHVybiBvbiB0aGUgYmVsb3cgb3B0aW9ucyB0byBoYXZlIHRoZSBzZXJ2ZXIgYWN0dWFsbHkgZG8gQVNDSUkKKyMgbWFuZ2xpbmcgb24gZmlsZXMgd2hlbiBpbiBBU0NJSSBtb2RlLgorIyBCZXdhcmUgdGhhdCB0dXJuaW5nIG9uIGFzY2lpX2Rvd25sb2FkX2VuYWJsZSBlbmFibGVzIG1hbGljaW91cyByZW1vdGUgcGFydGllcworIyB0byBjb25zdW1lIHlvdXIgSS9PIHJlc291cmNlcywgYnkgaXNzdWluZyB0aGUgY29tbWFuZCAiU0laRSAvYmlnL2ZpbGUiIGluCisjIEFTQ0lJIG1vZGUuCisjIFRoZXNlIEFTQ0lJIG9wdGlvbnMgYXJlIHNwbGl0IGludG8gdXBsb2FkIGFuZCBkb3dubG9hZCBiZWNhdXNlIHlvdSBtYXkgd2lzaAorIyB0byBlbmFibGUgQVNDSUkgdXBsb2FkcyAodG8gcHJldmVudCB1cGxvYWRlZCBzY3JpcHRzIGV0Yy4gZnJvbSBicmVha2luZyksCisjIHdpdGhvdXQgdGhlIERvUyByaXNrIG9mIFNJWkUgYW5kIEFTQ0lJIGRvd25sb2Fkcy4gQVNDSUkgbWFuZ2xpbmcgc2hvdWxkIGJlCisjIG9uIHRoZSBjbGllbnQgYW55d2F5Li4KKyNhc2NpaV91cGxvYWRfZW5hYmxlPVlFUworI2FzY2lpX2Rvd25sb2FkX2VuYWJsZT1ZRVMKKyMKKyMgWW91IG1heSBmdWxseSBjdXN0b21pc2UgdGhlIGxvZ2luIGJhbm5lciBzdHJpbmc6CisjZnRwZF9iYW5uZXI9V2VsY29tZSB0byBibGFoIEZUUCBzZXJ2aWNlLgorIworIyBZb3UgbWF5IHNwZWNpZnkgYSBmaWxlIG9mIGRpc2FsbG93ZWQgYW5vbnltb3VzIGUtbWFpbCBhZGRyZXNzZXMuIEFwcGFyZW50bHkKKyMgdXNlZnVsIGZvciBjb21iYXR0aW5nIGNlcnRhaW4gRG9TIGF0dGFja3MuCisjZGVueV9lbWFpbF9lbmFibGU9WUVTCisjIChkZWZhdWx0IGZvbGxvd3MpCisjYmFubmVkX2VtYWlsX2ZpbGU9L2V0Yy92c2Z0cGQuYmFubmVkX2VtYWlscworIworIyBZb3UgbWF5IHNwZWNpZnkgYW4gZXhwbGljaXQgbGlzdCBvZiBsb2NhbCB1c2VycyB0byBjaHJvb3QoKSB0byB0aGVpciBob21lCisjIGRpcmVjdG9yeS4gSWYgY2hyb290X2xvY2FsX3VzZXIgaXMgWUVTLCB0aGVuIHRoaXMgbGlzdCBiZWNvbWVzIGEgbGlzdCBvZgorIyB1c2VycyB0byBOT1QgY2hyb290KCkuCisjY2hyb290X2xpc3RfZW5hYmxlPVlFUworIyAoZGVmYXVsdCBmb2xsb3dzKQorI2Nocm9vdF9saXN0X2ZpbGU9L2V0Yy92c2Z0cGQuY2hyb290X2xpc3QKKyMKKyMgWW91IG1heSBhY3RpdmF0ZSB0aGUgIi1SIiBvcHRpb24gdG8gdGhlIGJ1aWx0aW4gbHMuIFRoaXMgaXMgZGlzYWJsZWQgYnkKKyMgZGVmYXVsdCB0byBhdm9pZCByZW1vdGUgdXNlcnMgYmVpbmcgYWJsZSB0byBjYXVzZSBleGNlc3NpdmUgSS9PIG9uIGxhcmdlCisjIHNpdGVzLiBIb3dldmVyLCBzb21lIGJyb2tlbiBGVFAgY2xpZW50cyBzdWNoIGFzICJuY2Z0cCIgYW5kICJtaXJyb3IiIGFzc3VtZQorIyB0aGUgcHJlc2VuY2Ugb2YgdGhlICItUiIgb3B0aW9uLCBzbyB0aGVyZSBpcyBhIHN0cm9uZyBjYXNlIGZvciBlbmFibGluZyBpdC4KKyNsc19yZWN1cnNlX2VuYWJsZT1ZRVMKKyMKKyMgVGhpcyBzdHJpbmcgaXMgdGhlIG5hbWUgb2YgdGhlIFBBTSBzZXJ2aWNlIHZzZnRwZCB3aWxsIHVzZS4KK3BhbV9zZXJ2aWNlX25hbWU9dnNmdHBkCisjCisjIFRoaXMgb3B0aW9uIGlzIGV4YW1pbmVkIGlmIHVzZXJsaXN0X2VuYWJsZSBpcyBhY3RpdmF0ZWQuIElmIHlvdSBzZXQgdGhpcworIyBzZXR0aW5nIHRvIE5PLCB0aGVuIHVzZXJzIHdpbGwgYmUgZGVuaWVkIGxvZ2luICB1bmxlc3MgIHRoZXkgYXJlICBleHBsaWNpdGx5IAorIyBsaXN0ZWQgIGluIHRoZSBmaWxlIHNwZWNpZmllZCBieSB1c2VybGlzdF9maWxlLiAgV2hlbiBsb2dpbiBpcyBkZW5pZWQsIHRoZSAKKyMgZGVuaWFsIGlzIGlzc3VlZCBiZWZvcmUgdGhlIHVzZXIgaXMgYXNrZWQgZm9yIGEgcGFzc3dvcmQuCit1c2VybGlzdF9kZW55PVlFUworIworIyBJZiBlbmFibGVkLCB2c2Z0cGQgd2lsbCBsb2FkIGEgbGlzdCBvZiB1c2VybmFtZXMsIGZyb20gdGhlIGZpbGVuYW1lIGdpdmVuIGJ5CisjIHVzZXJsaXN0X2ZpbGUuICBJZiBhIHVzZXIgdHJpZXMgdG8gbG9nIGluIHVzaW5nICBhICBuYW1lIGluICB0aGlzICBmaWxlLCAgdGhleQorIyB3aWxsIGJlIGRlbmllZCBiZWZvcmUgdGhleSBhcmUgYXNrZWQgZm9yIGEgcGFzc3dvcmQuIFRoaXMgbWF5IGJlIHVzZWZ1bCBpbiAKKyMgcHJldmVudGluZyBjbGVhcnRleHQgcGFzc3dvcmRzIGJlaW5nIHRyYW5zbWl0dGVkLiBTZWUgYWxzbyB1c2VybGlzdF9kZW55LgordXNlcmxpc3RfZW5hYmxlPVlFUworIworIyBJZiBlbmFibGVkLCAgdnNmdHBkICB3aWxsIGRpc3BsYXkgZGlyZWN0b3J5IGxpc3RpbmdzIHdpdGggdGhlIHRpbWUgaW4geW91cgorIyBsb2NhbCB0aW1lIHpvbmUuIFRoZSBkZWZhdWx0IGlzIHRvIGRpc3BsYXkgR01ULiBUaGUgdGltZXMgcmV0dXJuZWQgYnkgdGhlCisjIE1EVE0gRlRQIGNvbW1hbmQgYXJlIGFsc28gYWZmZWN0ZWQgYnkgdGhpcyBvcHRpb24uCit1c2VfbG9jYWx0aW1lPVlFUworIworIyBJZiBzZXQgdG8gWUVTLCBsb2NhbCB1c2VycyB3aWxsIGJlIChieSBkZWZhdWx0KSBwbGFjZWQgaW4gYSBjaHJvb3QoKSBqYWlsIGluCisjIHRoZWlyIGhvbWUgZGlyZWN0b3J5IGFmdGVyIGxvZ2luLiAgV2FybmluZzogVGhpcyAgb3B0aW9uIGhhcyAgc2VjdXJpdHkgIAorIyBpbXBsaWNhdGlvbnMsICBlc3BlY2lhbGx5ICBpZiAgdGhlIHVzZXJzIGhhdmUgdXBsb2FkIHBlcm1pc3Npb24sIG9yIHNoZWxsIGFjY2Vzcy4KKyMgT25seSBlbmFibGUgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nLiAgTm90ZSB0aGF0IHRoZXNlIHNlY3VyaXR5IGltcGxpY2F0aW9ucworIyBhcmUgbm90IHZzZnRwZCBzcGVjaWZpYy4gVGhleSBhcHBseSB0byBhbGwgRlRQIGRhZW1vbnMgd2hpY2ggb2ZmZXIgdG8gcHV0IAorIyBsb2NhbCAgdXNlcnMgaW4gY2hyb290KCkgamFpbHMuCitjaHJvb3RfbG9jYWxfdXNlcj1ZRVMKKyMKK2FsbG93X3dyaXRlYWJsZV9jaHJvb3Q9WUVTCisjCit0Y3Bfd3JhcHBlcnM9WUVTCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZzZnRwZC5mdHB1c2VycyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvdnNmdHBkLmZ0cHVzZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NjE0MmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZzZnRwZC5mdHB1c2VycwpAQCAtMCwwICsxLDE1IEBACisjIFVzZXJzIHRoYXQgYXJlIG5vdCBhbGxvd2VkIHRvIGxvZ2luIHZpYSBmdHAKK3Jvb3QKK2JpbgorZGFlbW9uCithZG0KK2xwCitzeW5jCitzaHV0ZG93bgoraGFsdAorbWFpbAorbmV3cwordXVjcAorb3BlcmF0b3IKK2dhbWVzCitub2JvZHkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvdnNmdHBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZzZnRwZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyNzEwMjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZzZnRwZC5zZXJ2aWNlCkBAIC0wLDAgKzEsOSBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1Wc2Z0cGQgZnRwIGRhZW1vbgorQWZ0ZXI9bmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitFeGVjU3RhcnQ9QFNCSU5ESVJAL3ZzZnRwZAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZzZnRwZC51c2VyX2xpc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL2ZpbGVzL3ZzZnRwZC51c2VyX2xpc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI4M2UzZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvZmlsZXMvdnNmdHBkLnVzZXJfbGlzdApAQCAtMCwwICsxLDIwIEBACisjIHZzZnRwZCB1c2VybGlzdAorIyBJZiB1c2VybGlzdF9kZW55PU5PLCBvbmx5IGFsbG93IHVzZXJzIGluIHRoaXMgZmlsZQorIyBJZiB1c2VybGlzdF9kZW55PVlFUyAoZGVmYXVsdCksIG5ldmVyIGFsbG93IHVzZXJzIGluIHRoaXMgZmlsZSwgYW5kCisjIGRvIG5vdCBldmVuIHByb21wdCBmb3IgYSBwYXNzd29yZC4KKyMgTm90ZSB0aGF0IHRoZSBkZWZhdWx0IHZzZnRwZCBwYW0gY29uZmlnIGFsc28gY2hlY2tzIC9ldGMvdnNmdHBkLmZ0cHVzZXJzCisjIGZvciB1c2VycyB0aGF0IGFyZSBkZW5pZWQuCityb290CitiaW4KK2RhZW1vbgorYWRtCitscAorc3luYworc2h1dGRvd24KK2hhbHQKK21haWwKK25ld3MKK3V1Y3AKK29wZXJhdG9yCitnYW1lcworbm9ib2R5CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy9tYWtlZmlsZS1kZXN0ZGlyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbWFrZWZpbGUtZGVzdGRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTgwZDA5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbWFrZWZpbGUtZGVzdGRpci5wYXRjaApAQCAtMCwwICsxLDQ0IEBACitVc2UgREVTVERJUiB3aXRoaW4gaW5zdGFsbCB0byBhbGxvdyBpbnN0YWxsaW5nIHVuZGVyIGEgcHJlZml4CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTI0LDIxICsyNCwyMSBAQAorIAkkKENDKSAtbyB2c2Z0cGQgJChPQkpTKSAkKExJTkspICQoTElCUykKKyAKKyBpbnN0YWxsOgorLQlpZiBbIC14IC91c3IvbG9jYWwvc2JpbiBdOyB0aGVuIFwKKy0JCSQoSU5TVEFMTCkgLW0gNzU1IHZzZnRwZCAvdXNyL2xvY2FsL3NiaW4vdnNmdHBkOyBcCisrCWlmIFsgLXggJHtERVNURElSfS91c3IvbG9jYWwvc2JpbiBdOyB0aGVuIFwKKysJCSQoSU5TVEFMTCkgLW0gNzU1IHZzZnRwZCAke0RFU1RESVJ9L3Vzci9sb2NhbC9zYmluL3ZzZnRwZDsgXAorIAllbHNlIFwKKy0JCSQoSU5TVEFMTCkgLW0gNzU1IHZzZnRwZCAvdXNyL3NiaW4vdnNmdHBkOyBmaQorLQlpZiBbIC14IC91c3IvbG9jYWwvbWFuIF07IHRoZW4gXAorLQkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLjggL3Vzci9sb2NhbC9tYW4vbWFuOC92c2Z0cGQuODsgXAorLQkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLmNvbmYuNSAvdXNyL2xvY2FsL21hbi9tYW41L3ZzZnRwZC5jb25mLjU7IFwKKy0JZWxpZiBbIC14IC91c3Ivc2hhcmUvbWFuIF07IHRoZW4gXAorLQkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLjggL3Vzci9zaGFyZS9tYW4vbWFuOC92c2Z0cGQuODsgXAorLQkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLmNvbmYuNSAvdXNyL3NoYXJlL21hbi9tYW41L3ZzZnRwZC5jb25mLjU7IFwKKysJCSQoSU5TVEFMTCkgLW0gNzU1IHZzZnRwZCAke0RFU1RESVJ9L3Vzci9zYmluL3ZzZnRwZDsgZmkKKysJaWYgWyAteCAke0RFU1RESVJ9L3Vzci9sb2NhbC9tYW4gXTsgdGhlbiBcCisrCQkkKElOU1RBTEwpIC1tIDY0NCB2c2Z0cGQuOCAke0RFU1RESVJ9L3Vzci9sb2NhbC9tYW4vbWFuOC92c2Z0cGQuODsgXAorKwkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLmNvbmYuNSAke0RFU1RESVJ9L3Vzci9sb2NhbC9tYW4vbWFuNS92c2Z0cGQuY29uZi41OyBcCisrCWVsaWYgWyAteCAke0RFU1RESVJ9L3Vzci9zaGFyZS9tYW4gXTsgdGhlbiBcCisrCQkkKElOU1RBTEwpIC1tIDY0NCB2c2Z0cGQuOCAke0RFU1RESVJ9L3Vzci9zaGFyZS9tYW4vbWFuOC92c2Z0cGQuODsgXAorKwkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLmNvbmYuNSAke0RFU1RESVJ9L3Vzci9zaGFyZS9tYW4vbWFuNS92c2Z0cGQuY29uZi41OyBcCisgCWVsc2UgXAorLQkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLjggL3Vzci9tYW4vbWFuOC92c2Z0cGQuODsgXAorLQkJJChJTlNUQUxMKSAtbSA2NDQgdnNmdHBkLmNvbmYuNSAvdXNyL21hbi9tYW41L3ZzZnRwZC5jb25mLjU7IGZpCistCWlmIFsgLXggL2V0Yy94aW5ldGQuZCBdOyB0aGVuIFwKKy0JCSQoSU5TVEFMTCkgLW0gNjQ0IHhpbmV0ZC5kL3ZzZnRwZCAvZXRjL3hpbmV0ZC5kL3ZzZnRwZDsgZmkKKysJCSQoSU5TVEFMTCkgLW0gNjQ0IHZzZnRwZC44ICR7REVTVERJUn0vdXNyL21hbi9tYW44L3ZzZnRwZC44OyBcCisrCQkkKElOU1RBTEwpIC1tIDY0NCB2c2Z0cGQuY29uZi41ICR7REVTVERJUn0vdXNyL21hbi9tYW41L3ZzZnRwZC5jb25mLjU7IGZpCisrCWlmIFsgLXggJHtERVNURElSfS9ldGMveGluZXRkLmQgXTsgdGhlbiBcCisrCQkkKElOU1RBTEwpIC1tIDY0NCB4aW5ldGQuZC92c2Z0cGQgJHtERVNURElSfS9ldGMveGluZXRkLmQvdnNmdHBkOyBmaQorIAorIGNsZWFuOgorIAlybSAtZiAqLm8gKi5zd3AgdnNmdHBkCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy9tYWtlZmlsZS1saWJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbWFrZWZpbGUtbGlicy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTEwZjcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbWFrZWZpbGUtbGlicy5wYXRjaApAQCAtMCwwICsxLDIxIEBACitIYXJkY29kZSBMSUJTIGluc3RlYWQgb2YgdXNpbmcgYSBzY3JpcHQgdG8gZGV0ZXJtaW5lIGF2YWlsYWJsZSBsaWJzCisKK1dlIHdhbnQgdG8gYXZvaWQgdGhpcyBkeW5hbWljIGRldGVjdGlvbiBzbyB3ZSBoYXZlIGEgZGV0ZXJtaW5pc3RpYworYnVpbGQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlnXQorCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTUsNyArNSw3IEBACisgI0NGTEFHUyA9IC1nCisgQ0ZMQUdTCT0JLU8yIC1XYWxsIC1XIC1Xc2hhZG93ICMtcGVkYW50aWMgLVdlcnJvciAtV2NvbnZlcnNpb24KKyAKKy1MSUJTCT0JYC4vdnNmX2ZpbmRsaWJzLnNoYAorK0xJQlMJPQktbHNzbCAtbGNyeXB0byAtbG5zbCAtbHJlc29sdgorIExJTksJPQktV2wsLXMKKyAKKyBPQkpTCT0JbWFpbi5vIHV0aWxpdHkubyBwcmVsb2dpbi5vIGZ0cGNtZGlvLm8gcG9zdGxvZ2luLm8gcHJpdnNvY2subyBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy9tYWtlZmlsZS1zdHJpcC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zL21ha2VmaWxlLXN0cmlwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkMzE2MDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy9tYWtlZmlsZS1zdHJpcC5wYXRjaApAQCAtMCwwICsxLDE3IEBACitEaXNhYmxlIHN0cmlwcGluZyBhdCBsaW5rIHRpbWUKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK1NpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtOSw3ICs5LDYgQEAgQ0ZMQUdTCT0JLU8yIC1mUElFIC1mc3RhY2stcHJvdGVjdG9yIC0tcGFyYW09c3NwLWJ1ZmZlci1zaXplPTQgXAorIAkjLXBlZGFudGljIC1XY29udmVyc2lvbgorIAorIExJQlMJPQktbHNzbCAtbGNyeXB0byAtbG5zbCAtbHJlc29sdgorLUxJTksJPQktV2wsLXMKKyBMREZMQUdTCT0JLWZQSUUgLXBpZSAtV2wsLXoscmVscm8gLVdsLC16LG5vdworIAorIE9CSlMJPQltYWluLm8gdXRpbGl0eS5vIHByZWxvZ2luLm8gZnRwY21kaW8ubyBwb3N0bG9naW4ubyBwcml2c29jay5vIFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zL25vcGFtLXdpdGgtdGNwX3dyYXBwZXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbm9wYW0td2l0aC10Y3Bfd3JhcHBlcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRjZjNhMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zL25vcGFtLXdpdGgtdGNwX3dyYXBwZXJzLnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK0Rpc2FibGUgUEFNCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlnXQorCitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitkaWZmIC11ciB2c2Z0cGQtMi4wLjFfb3JnL2J1aWxkZGVmcy5oIHZzZnRwZC0yLjAuMV9wYXRjaC9idWlsZGRlZnMuaAorLS0tIHZzZnRwZC0yLjAuMV9vcmcvYnVpbGRkZWZzLmgJMjAwNC0wNy0wMiAxNjozNjo1OS4wMDAwMDAwMDAgKzAyMDAKKysrKyB2c2Z0cGQtMi4wLjFfcGF0Y2gvYnVpbGRkZWZzLmgJMjAwNC0wNy0yMSAwOTozNDo0OS4wNDQ5MDA0ODggKzAyMDAKK0BAIC0yLDcgKzIsNyBAQAorICNkZWZpbmUgVlNGX0JVSUxEREVGU19ICisgCisgI2RlZmluZSBWU0ZfQlVJTERfVENQV1JBUFBFUlMKKy0jZGVmaW5lIFZTRl9CVUlMRF9QQU0KKysjdW5kZWYgVlNGX0JVSUxEX1BBTQorICN1bmRlZiBWU0ZfQlVJTERfU1NMCisgCisgI2VuZGlmIC8qIFZTRl9CVUlMRERFRlNfSCAqLwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbm9wYW0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy9ub3BhbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjBkNjhlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvbm9wYW0ucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorRGlzYWJsZSBQQU0KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK2RpZmYgLXVyIHZzZnRwZC0yLjAuMV9vcmcvYnVpbGRkZWZzLmggdnNmdHBkLTIuMC4xX3BhdGNoL2J1aWxkZGVmcy5oCistLS0gdnNmdHBkLTIuMC4xX29yZy9idWlsZGRlZnMuaAkyMDA0LTA3LTAyIDE2OjM2OjU5LjAwMDAwMDAwMCArMDIwMAorKysrIHZzZnRwZC0yLjAuMV9wYXRjaC9idWlsZGRlZnMuaAkyMDA0LTA3LTIxIDA5OjM0OjQ5LjA0NDkwMDQ4OCArMDIwMAorQEAgLTIsNyArMiw3IEBACisgI2RlZmluZSBWU0ZfQlVJTERERUZTX0gKKyAKKyAjdW5kZWYgVlNGX0JVSUxEX1RDUFdSQVBQRVJTCistI2RlZmluZSBWU0ZfQlVJTERfUEFNCisrI3VuZGVmIFZTRl9CVUlMRF9QQU0KKyAjdW5kZWYgVlNGX0JVSUxEX1NTTAorIAorICNlbmRpZiAvKiBWU0ZfQlVJTERERUZTX0ggKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zL3ZzZnRwZC0yLjEuMC1maWx0ZXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy92c2Z0cGQtMi4xLjAtZmlsdGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyZjdlODIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy92c2Z0cGQtMi4xLjAtZmlsdGVyLnBhdGNoCkBAIC0wLDAgKzEsNzcgQEAKK0ZpeCB0aGUgQ1ZFLTIwMTUtMTQxOQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworVHJ5IHRvIGZpeCBkZW55X2ZpbGUgcGFyc2luZyB0byBkbyBtb3JlIHdoYXQgaXMgZXhwZWN0ZWQuIFRha2VuCitmcm9tIGZlZG9yYS4gQ1ZFLTIwMTUtMTQxOQorCitmdHA6Ly8xOTUuMjIwLjEwOC4xMDgvbGludXgvZmVkb3JhL2xpbnV4L2RldmVsb3BtZW50L3Jhd2hpZGUvc291cmNlL1NSUE1TL3YvdnNmdHBkLTMuMC4yLTEzLmZjMjIuc3JjLnJwbQorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLXVwIHZzZnRwZC0yLjEuMC9scy5jLmZpbHRlciB2c2Z0cGQtMi4xLjAvbHMuYworLS0tIHZzZnRwZC0yLjEuMC9scy5jLmZpbHRlcgkyMDA4LTAyLTAyIDAyOjMwOjQxLjAwMDAwMDAwMCArMDEwMAorKysrIHZzZnRwZC0yLjEuMC9scy5jCTIwMDktMDEtMDggMTk6MzE6MTUuMDAwMDAwMDAwICswMTAwCitAQCAtMjM5LDkgKzIzOSwzMSBAQCB2c2ZfZmlsZW5hbWVfcGFzc2VzX2ZpbHRlcihjb25zdCBzdHJ1Y3QgCisgICBpbnQgcmV0ID0gMDsKKyAgIGNoYXIgbGFzdF90b2tlbiA9IDA7CisgICBpbnQgbXVzdF9tYXRjaF9hdF9jdXJyZW50X3BvcyA9IDE7CisrICAKKysgIAorICAgc3RyX2NvcHkoJmZpbHRlcl9yZW1haW5fc3RyLCBwX2ZpbHRlcl9zdHIpOworLSAgc3RyX2NvcHkoJm5hbWVfcmVtYWluX3N0ciwgcF9maWxlbmFtZV9zdHIpOworLQorKyAgCisrICBpZiAoIXN0cl9pc2VtcHR5ICgmZmlsdGVyX3JlbWFpbl9zdHIpICYmICFzdHJfaXNlbXB0eShwX2ZpbGVuYW1lX3N0cikpIHsKKysgICAgaWYgKHN0cl9nZXRfY2hhcl9hdChwX2ZpbHRlcl9zdHIsIDApID09ICcvJykgeworKyAgICAgIGlmIChzdHJfZ2V0X2NoYXJfYXQocF9maWxlbmFtZV9zdHIsIDApICE9ICcvJykgeworKyAgICAgICAgc3RyX2dldGN3ZCAoJm5hbWVfcmVtYWluX3N0cik7CisrICAgICAKKysgICAgICAgIGlmIChzdHJfZ2V0bGVuKCZuYW1lX3JlbWFpbl9zdHIpID4gMSkgLyogY3dkICE9IHJvb3QgZGlyICovCisrICAgICAgICAgIHN0cl9hcHBlbmRfY2hhciAoJm5hbWVfcmVtYWluX3N0ciwgJy8nKTsKKysgICAgICAgICAgCisrICAgICAgICBzdHJfYXBwZW5kX3N0ciAoJm5hbWVfcmVtYWluX3N0ciwgcF9maWxlbmFtZV9zdHIpOworKyAgICAgIH0KKysgICAgICBlbHNlCisrICAgICAgIHN0cl9jb3B5ICgmbmFtZV9yZW1haW5fc3RyLCBwX2ZpbGVuYW1lX3N0cik7CisrICAgIH0gZWxzZSB7CisrICAgICAgaWYgKHN0cl9nZXRfY2hhcl9hdChwX2ZpbHRlcl9zdHIsIDApICE9ICd7JykKKysgICAgICAgIHN0cl9iYXNlbmFtZSAoJm5hbWVfcmVtYWluX3N0ciwgcF9maWxlbmFtZV9zdHIpOworKyAgICAgIGVsc2UKKysgICAgICAgIHN0cl9jb3B5ICgmbmFtZV9yZW1haW5fc3RyLCBwX2ZpbGVuYW1lX3N0cik7CisrICAgIH0KKysgIH0gZWxzZQorKyAgICBzdHJfY29weSgmbmFtZV9yZW1haW5fc3RyLCBwX2ZpbGVuYW1lX3N0cik7CisrICAKKyAgIHdoaWxlICghc3RyX2lzZW1wdHkoJmZpbHRlcl9yZW1haW5fc3RyKSAmJiAqaXRlcnMgPCBWU0ZUUF9NQVRDSElURVJTX01BWCkKKyAgIHsKKyAgICAgc3RhdGljIHN0cnVjdCBteXN0ciBzX21hdGNoX25lZWRlZF9zdHI7CitkaWZmIC11cCB2c2Z0cGQtMi4xLjAvc3RyLmMuZmlsdGVyIHZzZnRwZC0yLjEuMC9zdHIuYworLS0tIHZzZnRwZC0yLjEuMC9zdHIuYy5maWx0ZXIJMjAwOC0xMi0xNyAwNjo1NDoxNi4wMDAwMDAwMDAgKzAxMDAKKysrKyB2c2Z0cGQtMi4xLjAvc3RyLmMJMjAwOS0wMS0wOCAxOTozMToxNS4wMDAwMDAwMDAgKzAxMDAKK0BAIC02ODAsMyArNjgwLDE0IEBAIHN0cl9yZXBsYWNlX3VucHJpbnRhYmxlKHN0cnVjdCBteXN0ciogcF8KKyAgIH0KKyB9CisgCisrdm9pZAorK3N0cl9iYXNlbmFtZSAoc3RydWN0IG15c3RyKiBkX3N0ciwgY29uc3Qgc3RydWN0IG15c3RyKiBwYXRoKQorK3sKKysgIHN0YXRpYyBzdHJ1Y3QgbXlzdHIgdG1wOworKworKyAgc3RyX2NvcHkgKCZ0bXAsIHBhdGgpOworKyAgc3RyX3NwbGl0X2NoYXJfcmV2ZXJzZSgmdG1wLCBkX3N0ciwgJy8nKTsKKysKKysgIGlmIChzdHJfaXNlbXB0eShkX3N0cikpCisrICAgc3RyX2NvcHkgKGRfc3RyLCBwYXRoKTsKKyt9CitkaWZmIC11cCB2c2Z0cGQtMi4xLjAvc3RyLmguZmlsdGVyIHZzZnRwZC0yLjEuMC9zdHIuaAorLS0tIHZzZnRwZC0yLjEuMC9zdHIuaC5maWx0ZXIJMjAwOC0xMi0xNyAwNjo1MzoyMy4wMDAwMDAwMDAgKzAxMDAKKysrKyB2c2Z0cGQtMi4xLjAvc3RyLmgJMjAwOS0wMS0wOCAxOTozMjoxNC4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xMDAsNiArMTAwLDcgQEAgdm9pZCBzdHJfcmVwbGFjZV91bnByaW50YWJsZShzdHJ1Y3QgbXlzdAorIGludCBzdHJfYXRvaShjb25zdCBzdHJ1Y3QgbXlzdHIqIHBfc3RyKTsKKyBmaWxlc2l6ZV90IHN0cl9hX3RvX2ZpbGVzaXplX3QoY29uc3Qgc3RydWN0IG15c3RyKiBwX3N0cik7CisgdW5zaWduZWQgaW50IHN0cl9vY3RhbF90b191aW50KGNvbnN0IHN0cnVjdCBteXN0ciogcF9zdHIpOworK3ZvaWQgc3RyX2Jhc2VuYW1lIChzdHJ1Y3QgbXlzdHIqIGRfc3RyLCBjb25zdCBzdHJ1Y3QgbXlzdHIqIHBhdGgpOworIAorIC8qIFBVUlBPU0U6IEV4dHJhY3QgYSBsaW5lIG9mIHRleHQgKGRlbGltaXRlZCBieSBcbiBvciBFT0YpIGZyb20gYSBzdHJpbmcKKyAgKiBidWZmZXIsIHN0YXJ0aW5nIGF0IGNoYXJhY3RlciBwb3NpdGlvbiAncF9wb3MnLiBUaGUgZXh0cmFjdGVkIGxpbmUgd2lsbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvdnNmdHBkLXRjcF93cmFwcGVycy1zdXBwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvdnNmdHBkLXRjcF93cmFwcGVycy1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5NzQ1YjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZC0zLjAuMy92c2Z0cGQtdGNwX3dyYXBwZXJzLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorRW5hYmxlIHRjcF93cmFwcGVyLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IFJveS5MaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGJ1aWxkZGVmcy5oIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnVpbGRkZWZzLmggYi9idWlsZGRlZnMuaAoraW5kZXggZTkwODM1Mi4uMDEwNmQxYSAxMDA2NDQKKy0tLSBhL2J1aWxkZGVmcy5oCisrKysgYi9idWlsZGRlZnMuaAorQEAgLTEsNyArMSw3IEBACisgI2lmbmRlZiBWU0ZfQlVJTERERUZTX0gKKyAjZGVmaW5lIFZTRl9CVUlMRERFRlNfSAorIAorLSN1bmRlZiBWU0ZfQlVJTERfVENQV1JBUFBFUlMKKysjZGVmaW5lIFZTRl9CVUlMRF9UQ1BXUkFQUEVSUworICNkZWZpbmUgVlNGX0JVSUxEX1BBTQorICN1bmRlZiBWU0ZfQlVJTERfU1NMCisgCistLSAKKzEuNy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkXzMuMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGRfMy4wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVlODgxZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkXzMuMC4zLmJiCkBAIC0wLDAgKzEsMTA5IEBACitTVU1NQVJZID0gIlZlcnkgU2VjdXJlIEZUUCBzZXJ2ZXIiCitIT01FUEFHRSA9ICJodHRwczovL3NlY3VyaXR5LmFwcHNwb3QuY29tL3ZzZnRwZC5odG1sIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTYwNjdhZDk1MGIyODMzNjYxM2FlZDlkZDQ3YjEyNzEiCisKK0RFUEVORFMgPSAibGliY2FwIG9wZW5zc2wiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9zZWN1cml0eS5hcHBzcG90LmNvbS9kb3dubG9hZHMvdnNmdHBkLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlZmlsZS1kZXN0ZGlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL21ha2VmaWxlLWxpYnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbWFrZWZpbGUtc3RyaXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly92c2Z0cGQuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly92c2Z0cGQudXNlcl9saXN0IFwKKyAgICAgICAgICAgZmlsZTovL3ZzZnRwZC5mdHB1c2VycyBcCisgICAgICAgICAgIGZpbGU6Ly9jaGFuZ2Utc2VjdXJlX2Nocm9vdF9kaXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdm9sYXRpbGVzLjk5X3ZzZnRwZCBcCisgICAgICAgICAgIGZpbGU6Ly92c2Z0cGQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly92c2Z0cGQtMi4xLjAtZmlsdGVyLnBhdGNoIFwKKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTYwNjdhZDk1MGIyODMzNjYxM2FlZDlkZDQ3YjEyNzEgXAorICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlSSUdIVDttZDU9MDQyNTFiMmViMGYyOThkYWUzNzZkOTI0NTRmNmY3MmUgXAorICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0U7bWQ1PTY1NGRmMjA0MmQ0NGI4Y2FjOGE1NjU0ZmM1YmU2M2ViIgorU1JDX1VSSVttZDVzdW1dID0gImRhMTE5ZDA4NGJkM2Y5ODY2NDYzNmVhMDViNWJiMzk4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlkNGQyYmY2ZTZlMjg4NDg1MmJhNGU2OWUxNTdhMmNlY2Q2OGM1YTc2MzVkNjZhM2E4Y2Y4ZDg5OGM5NTVlZjciCisKKworUEFDS0FHRUNPTkZJRyA/Pz0gInRjcC13cmFwcGVycyIKK1BBQ0tBR0VDT05GSUdbdGNwLXdyYXBwZXJzXSA9ICIsLHRjcC13cmFwcGVycyIKK1NSQ19VUkkgKz0iJHtAYmFzZV9jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd0Y3Atd3JhcHBlcnMnLCAnZmlsZTovL3ZzZnRwZC10Y3Bfd3JhcHBlcnMtc3VwcG9ydC5wYXRjaCcsICcnLCBkKX0iCisKK0RFUEVORFMgKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKK1JERVBFTkRTXyR7UE59ICs9ICIke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbS1wbHVnaW4tbGlzdGZpbGUnLCAnJywgZCl9IgorUEFNTElCID0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnLUwke1NUQUdJTkdfQkFTRUxJQkRJUn0gLWxwYW0nLCAnJywgZCl9IgorTk9QQU1fU1JDID0iJHtAYmFzZV9jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd0Y3Atd3JhcHBlcnMnLCAnZmlsZTovL25vcGFtLXdpdGgtdGNwX3dyYXBwZXJzLnBhdGNoJywgJ2ZpbGU6Ly9ub3BhbS5wYXRjaCcsIGQpfSIKK1NSQ19VUkkgKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJywgJyR7Tk9QQU1fU1JDfScsIGQpfSIKKworaW5oZXJpdCB1cGRhdGUtcmMuZCB1c2VyYWRkIHN5c3RlbWQKKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vdnNmdHBkLmNvbmYiCitMREZMQUdTX2FwcGVuZCA9IiAtbGNyeXB0IC1sY2FwIgorCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKKworZG9fY29uZmlndXJlKCkgeworICAgICMgRml4IGhhcmRjb2RlZCAvdXNyLCAvZXRjLCAvdmFyIG1lc3MuCisgICAgY2F0IHR1bmFibGVzLmN8c2VkIHM6XCIvdXNyOlwiJHtwcmVmaXh9Omd8c2VkIHM6XCIvdmFyOlwiJHtsb2NhbHN0YXRlZGlyfTpnIFwKKyAgICB8c2VkIHM6XCIvZXRjOlwiJHtzeXNjb25mZGlyfTpnID4gdHVuYWJsZXMuYy5uZXcKKyAgICBtdiB0dW5hYmxlcy5jLm5ldyB0dW5hYmxlcy5jCit9CisKK2RvX2NvbXBpbGUoKSB7CisgICBvZV9ydW5tYWtlICJMSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0gLWxjcnlwdCAtbGNhcCAke1BBTUxJQn0gLWx3cmFwIgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW41CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLW0gNjAwICR7V09SS0RJUn0vdnNmdHBkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdnNmdHBkLmNvbmYKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC8KKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2luaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3ZzZnRwZAorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuOTlfdnNmdHBkICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy85OV92c2Z0cGQKKworICAgIGluc3RhbGwgLW0gNjAwICR7V09SS0RJUn0vdnNmdHBkLmZ0cHVzZXJzICR7RH0ke3N5c2NvbmZkaXJ9LworICAgIGluc3RhbGwgLW0gNjAwICR7V09SS0RJUn0vdnNmdHBkLnVzZXJfbGlzdCAke0R9JHtzeXNjb25mZGlyfS8KKyAgICBpZiAhIHRlc3QgLXogIiR7UEFNTElCfSIgOyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvCisgICAgICAgIGNwICR7U30vUmVkSGF0L3ZzZnRwZC5wYW0gJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvdnNmdHBkCisgICAgICAgIHNlZCAtaSAiczovbGliL3NlY3VyaXR5OiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5OiIgJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvdnNmdHBkCisgICAgICAgIHNlZCAtaSAiczpmdHB1c2Vyczp2c2Z0cGQuZnRwdXNlcnM6IiAke0R9JHtzeXNjb25mZGlyfS9wYW0uZC92c2Z0cGQKKyAgICBmaQorICAgIGlmICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCisgICAgICAgIGVjaG8gImQgL3Zhci9ydW4vdnNmdHBkL2VtcHR5IDA3NTUgcm9vdCByb290IC0iIFwKKyAgICAgICAgPiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLyR7QlBOfS5jb25mCisgICAgZmkKKworICAgICMgSW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdnNmdHBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MjQFNCSU5ESVJAIyR7c2JpbmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vdnNmdHBkLnNlcnZpY2UKK30KKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfSIKK0lOSVRTQ1JJUFRfTkFNRV8ke1BOfSA9ICJ2c2Z0cGQiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfSA9ICJkZWZhdWx0cyA4MCIKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLS1ob21lLWRpciAvdmFyL2xpYi9mdHAgLS1uby1jcmVhdGUtaG9tZSAtZyBmdHAgXAorICAgICAgICAgICAgICAgICAgICAgICAtLXNoZWxsIC9iaW4vZmFsc2UgZnRwICIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi1yIGZ0cCIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInZzZnRwZC5zZXJ2aWNlIgorCitwa2dfcG9zdGluc3RfJHtQTn0oKSB7CisgICAgaWYgWyAteiAiJEQiIF07IHRoZW4KKwlpZiB0eXBlIHN5c3RlbWQtdG1wZmlsZXMgPi9kZXYvbnVsbDsgdGhlbgorCSAgICBzeXN0ZW1kLXRtcGZpbGVzIC0tY3JlYXRlCisJZWxpZiBbIC1lICR7c3lzY29uZmRpcn0vaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIF07IHRoZW4KKwkgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCisJZmkKKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1leHRlbmRlZC9pc2NzaXRhcmdldC9maWxlcy9hY2Nlc3Mtc2tfdjZfZGFkZHItaWZmLUlQVjYtZGVmaW5lZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZXh0ZW5kZWQvaXNjc2l0YXJnZXQvZmlsZXMvYWNjZXNzLXNrX3Y2X2RhZGRyLWlmZi1JUFY2LWRlZmluZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ0NDIzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZXh0ZW5kZWQvaXNjc2l0YXJnZXQvZmlsZXMvYWNjZXNzLXNrX3Y2X2RhZGRyLWlmZi1JUFY2LWRlZmluZWQucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorVGhlIGVsZW1lbnQgc2tjX3Y2X2RhZGRyIChpbiBzdHJ1Y3Qgc29ja19jb21tb24pIGlzIGRlZmluZWQgaW4gCitrZXJuZWwgc291cmNlIG9ubHkgd2hlbiBDT05GSUdfSVBWNiBpcyBlbmFibGVkLiBIZW5jZSwgYWNjZXNzIAorc2tfdjZfZGFkZHIgZWxlbWVudCAoaS5lIF9fc2tfY29tbW9uLnNrY192Nl9kYWRkcikgb25seSB3aGVuIENPTkZJR19JUFY2IAoraXMgZGVmaW5lZDsgdG8gZml4IGJlbG93IGVycm9yIGluIHdvcmxkIGJ1aWxkOgorCistLSBzbmlwIC0tCisvaG9tZS9qZW5raW5zL29lL3dvcmxkL3Noci1jb3JlL3RtcC1nbGliYy93b3JrLXNoYXJlZC9xZW11eDg2L2tlcm5lbC1zb3VyY2UvaW5jbHVkZS9uZXQvc29jay5oOjMzMDozMzogZXJyb3I6ICdzdHJ1Y3Qgc29ja19jb21tb24nIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3NrY192Nl9kYWRkcicKKy0tIENVVCAtLQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFnYWRlZXNoIEtyaXNobmFuamFuYXBwYSA8amtyaXNobmFuamFuYXBwYUBtdmlzdGEuY29tPgorCistLS0gaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyX29yZy9rZXJuZWwvY29ubi5jCTIwMTUtMTItMjkgMjE6NTc6NTAuNTQ3OTMyMjE3IC0wODAwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9jb25uLmMJMjAxNS0xMi0yOSAyMjo0NzoyNS4yNTQ2NTc2MjcgLTA4MDAKK0BAIC00NiwxMCArNDYsMTIgQEAgdm9pZCBjb25uX2luZm9fc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcQorIAkJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksCisgCQkJCSAiJXBJNCIsICZpbmV0X3NrKHNrKS0+aW5ldF9kYWRkcik7CisgCQkJYnJlYWs7CisrI2lmIGRlZmluZWQoQ09ORklHX0lQVjYpCisgCQljYXNlIEFGX0lORVQ2OgorIAkJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJbJXBJNl0iLAorIAkJCQkgJihzayktPnNrX3Y2X2RhZGRyKTsKKyAJCQlicmVhazsKKysjZW5kaWYgLyogZGVmaW5lZChDT05GSUdfSVBWNikgKi8KKyAJCWRlZmF1bHQ6CisgCQkJYnJlYWs7CisgCQl9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWV4dGVuZGVkL2lzY3NpdGFyZ2V0L2ZpbGVzL2J1aWxkX3dpdGhfdXBkYXRlZF9iaW9fc3RydWN0X29mX2xpbnV4X3Y0LjNfYW5kX2Fib3ZlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1leHRlbmRlZC9pc2NzaXRhcmdldC9maWxlcy9idWlsZF93aXRoX3VwZGF0ZWRfYmlvX3N0cnVjdF9vZl9saW51eF92NC4zX2FuZF9hYm92ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZThiNzkyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1leHRlbmRlZC9pc2NzaXRhcmdldC9maWxlcy9idWlsZF93aXRoX3VwZGF0ZWRfYmlvX3N0cnVjdF9vZl9saW51eF92NC4zX2FuZF9hYm92ZS5wYXRjaApAQCAtMCwwICsxLDc1IEBACisxLiB0ZXN0X2JpdCB3YXMgdXNlZCB0byByZXR1cm4gdHJ1ZSBib29sZWFuIHZhbHVlLCBpZgorICAgQklPX1VQVE9EQVRFIGJpdCBvZiBiaW8tPmJpX2ZsYWdzIGlzIHNldC4gQnV0IHRoZSBzYW1lCisgICBqb2IgY2FuIGJlIGRvbmUgYnkgY2hlY2tpbmcgYmlvLT5iaV9lcnJvciwgaW1wbGVtZW50ZWQgaW4KKyAgIGxpbnV4IGtlcm5lbCA0LjMgYW5kIGFib3ZlLiBJZiBiaW8tPmJpX2Vycm9yIGlzIHNldCwgdGhlbiAKKyAgIGl0IGRlbm90ZXMgZXJyb3IuCisKK1JlZjogaHR0cHM6Ly9naXRodWIuY29tL3RvcnZhbGRzL2xpbnV4L2NvbW1pdC80MjQ2YTBiNjNiZDhmNTZhMTQ2OWIxMmVhZmViODc1YjEwNDFhNDUxCisKK0l0IHNvbHZlcyBiZWxvdyBidWlsZCBlcnJvcjoKKy0tIHNuaXAgLS0KK2lzY3NpdGFyZ2V0LTEuNC4yMC4zK3N2bjUwMi9rZXJuZWwvYmxvY2staW8uYzo0MDoxOTogZXJyb3I6ICdCSU9fVVBUT0RBVEUnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQorICAgZXJyb3IgPSB0ZXN0X2JpdChCSU9fVVBUT0RBVEUsICZiaW8tPmJpX2ZsYWdzKSA/IGVycm9yIDogLUVJTzsKKy0tIENVVCAtLQorCisyLiBiaW8gY2FuIGFsd2F5cyBiZSBmaWxsZWQgdG8gYSBtYXhpbXVtIHZhbHVlIG9mIEJJT19NQVhfUEFHRVMsIAorICAgc28gbm8gbmVlZCB0byBjaGVjayBmb3IgbWluIHZhbHVlIGZvciBsaW51eCBrZXJuZWwgNC4zIGFuZCBhYm92ZS4KKworUmVmOiBodHRwczovL2dpdGh1Yi5jb20vdG9ydmFsZHMvbGludXgvY29tbWl0L2I1NGZmYjczY2FkY2RjZmY5Y2MxYWUwZTExZjUwMjQwN2UzZTJlNGMKKworSXQgc29sdmVzIGJlbG93IGJ1aWxkIGVycm9yOgorLS0gc25pcCAtLQoraXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9ibG9jay1pby5jOjgwOjE1OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ2Jpb19nZXRfbnJfdmVjcycgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCisgICAgbWF4X3BhZ2VzID0gYmlvX2dldF9ucl92ZWNzKGJpb19kYXRhLT5iZGV2KTsKKy0tIENVVCAtLQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFnYWRlZXNoIEtyaXNobmFuamFuYXBwYSA8amtyaXNobmFuamFuYXBwYUBtdmlzdGEuY29tPgorCitkaWZmIC1OYXVycCBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDJfb3JnL2tlcm5lbC9ibG9jay1pby5jIGlzY3NpdGFyZ2V0LTEuNC4yMC4zK3N2bjUwMi9rZXJuZWwvYmxvY2staW8uYworLS0tIGlzY3NpdGFyZ2V0LTEuNC4yMC4zK3N2bjUwMl9vcmcva2VybmVsL2Jsb2NrLWlvLmMJMjAxNi0wNC0wMSAwOTowNzoxMi44OTE4MTAwNTkgKzA1MzAKKysrKyBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDIva2VybmVsL2Jsb2NrLWlvLmMJMjAxNi0wNC0wMSAwOToxNTo1OS4wNzY0NjkzMTMgKzA1MzAKK0BAIC0zMyw3ICszMywxMSBAQCBzdGF0aWMgdm9pZCBibG9ja2lvX2Jpb19lbmRpbyhzdHJ1Y3QgYmlvCisgeworIAlzdHJ1Y3QgdGlvX3dvcmsgKnRpb193b3JrID0gYmlvLT5iaV9wcml2YXRlOworIAorKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwgMywgMCkKKysJZXJyb3IgPSBiaW8tPmJpX2Vycm9yID8gLUVJTyA6IGVycm9yOworKyNlbHNlCisgCWVycm9yID0gdGVzdF9iaXQoQklPX1VQVE9EQVRFLCAmYmlvLT5iaV9mbGFncykgPyBlcnJvciA6IC1FSU87CisrI2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LCAzLCAwKSAqLwkKKyAKKyAJaWYgKGVycm9yKQorIAkJYXRvbWljX3NldCgmdGlvX3dvcmstPmVycm9yLCBlcnJvcik7CitAQCAtNjEsNiArNjUsMTAgQEAgYmxvY2tpb19tYWtlX3JlcXVlc3Qoc3RydWN0IGlldF92b2x1bWUgKgorIAl1MzIgc2l6ZSA9IHRpby0+c2l6ZTsKKyAJdTMyIHRpb19pbmRleCA9IDA7CisgCisrI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LCAzLCAwKQorKwlpbnQgZXJyID0gMDsKKysJbG9mZl90IHBwb3MgPSB0aW8tPm9mZnNldDsJCisrI2Vsc2UJCisgCWludCBtYXhfcGFnZXMgPSAxOworIAlpbnQgZXJyID0gMDsKKyAKK0BAIC02OSw2ICs3Nyw3IEBAIGJsb2NraW9fbWFrZV9yZXF1ZXN0KHN0cnVjdCBpZXRfdm9sdW1lICoKKyAJLyogQ2FsY3VsYXRlIG1heF9wYWdlcyBmb3IgYmlvX2FsbG9jIChtZW1vcnkgc2F2ZXIpICovCisgCWlmIChiZGV2X3EpCisgCQltYXhfcGFnZXMgPSBiaW9fZ2V0X25yX3ZlY3MoYmlvX2RhdGEtPmJkZXYpOworKyNlbmRpZiAvKiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwgMywgMCkgKi8KKyAKKyAJdGlvX3dvcmsgPSBremFsbG9jKHNpemVvZiAoKnRpb193b3JrKSwgR0ZQX0tFUk5FTCk7CisgCWlmICghdGlvX3dvcmspCitAQCAtODAsNyArODksMTEgQEAgYmxvY2tpb19tYWtlX3JlcXVlc3Qoc3RydWN0IGlldF92b2x1bWUgKgorIAorIAkvKiBNYWluIHByb2Nlc3NpbmcgbG9vcCwgYWxsb2NhdGUgYW5kIGZpbGwgYWxsIGJpb3MgKi8KKyAJd2hpbGUgKHNpemUgJiYgdGlvX2luZGV4IDwgdGlvLT5wZ19jbnQpIHsKKysjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsIDMsIDApCisrCQliaW8gPSBiaW9fYWxsb2MoR0ZQX0tFUk5FTCwgQklPX01BWF9QQUdFUyk7CisrI2Vsc2UgICAgCQkKKyAJCWJpbyA9IGJpb19hbGxvYyhHRlBfS0VSTkVMLCBtaW4obWF4X3BhZ2VzLCBCSU9fTUFYX1BBR0VTKSk7CisrI2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LCAzLCAwKSAqLwkJCisgCQlpZiAoIWJpbykgeworIAkJCWVyciA9IC1FTk9NRU07CisgCQkJZ290byBvdXQ7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWV4dGVuZGVkL2lzY3NpdGFyZ2V0L2ZpbGVzL2ZpeC1lcnJvcnMtb2JzZXJ2ZWQtd2l0aC1saW51eC0zLjE5LWFuZC1ncmVhdGVyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1leHRlbmRlZC9pc2NzaXRhcmdldC9maWxlcy9maXgtZXJyb3JzLW9ic2VydmVkLXdpdGgtbGludXgtMy4xOS1hbmQtZ3JlYXRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODc4Y2EyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1leHRlbmRlZC9pc2NzaXRhcmdldC9maWxlcy9maXgtZXJyb3JzLW9ic2VydmVkLXdpdGgtbGludXgtMy4xOS1hbmQtZ3JlYXRlci5wYXRjaApAQCAtMCwwICsxLDE5OCBAQAorRml4IGJ1aWxkIGVycm9ycyB3aXRoIGxpbnV4IGtlcm5lbCB2My4xOSBhbmQgYWJvdmUKKworQmVsb3cgZXJyb3JzIGNhbWUgdXAgd2hpbGUgYnVpbGRpbmcgaXNjc2l0YXJnZXQgZm9yIAorcWVtdXg4Ni02NCAoYW5kIG90aGVycykgYmVjYXVzZSwKKzEuICdzdHJ1Y3QgdXNlcl9tc2doZHInIGlzIGJlaW5nIHVzZWQgZm9yIHVzZXJsYW5kLXNpZGUgbXNnaGRyIGluc3RlYWQKK29mICdzdHJ1Y3QgbXNnaGRyJywgd2hpY2ggaXMgdXNlZCBmb3Iga2VybmVsLXNpZGUgbXNnaGRyIGluIGxpbnV4IHYzLjE5CithbmQgYWJvdmUuCisKK2Vycm9yIHNuaXBwZXQ6CistLSBzbmlwIC0tCit8IC9DR0U3X1NIREQvcHJvamVjdF95b2N0b18xLjgvcG9reS9idWlsZC90bXAvd29yay9xZW11eDg2XzY0LXBva3ktbGludXgvaXNjc2l0YXJnZXQvMS40LjIwLjMrc3ZuNTAyLXIwL2lzY3NpdGFyZ2V0LTEuNC4yMC4zK3N2bjUwMi9rZXJuZWwvaXNjc2kuYzogSW4gZnVuY3Rpb24gJ2NtbmRfc2tpcF9wZHUnOgorfCAvQ0dFN19TSEREL3Byb2plY3RfeW9jdG9fMS44L3Bva3kvYnVpbGQvdG1wL3dvcmsvcWVtdXg4Nl82NC1wb2t5LWxpbnV4L2lzY3NpdGFyZ2V0LzEuNC4yMC4zK3N2bjUwMi1yMC9pc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDIva2VybmVsL2lzY3NpLmM6NDkyOjE2OiBlcnJvcjogJ3N0cnVjdCBtc2doZHInIGhhcyBubyBtZW1iZXIgbmFtZWQgJ21zZ19pb3YnCit8ICAgY29ubi0+cmVhZF9tc2cubXNnX2lvdiA9IGNvbm4tPnJlYWRfaW92OworLS0gQ1VUIC0tCisKK1JlZmVyZW5jZToKK2h0dHBzOi8vZ2l0aHViLmNvbS90b3J2YWxkcy9saW51eC9jb21taXQvNjY2NTQ3ZmY1OTFjZWJkZWRjNDY3OWJmNmIxYjNmMzM4M2E4ZGVhMworCisyLiAnU0VSVklDRV9BQ1RJT05fSU4nIGhhcyBiZWVuIHJlbmFtZWQgdG8gU0VSVklDRV9BQ1RJT05fSU5fMTYgaW4gbGludXggdjMuMTkKK2FuZCBhYm92ZS4KKworZXJyb3Igc25pcHBldDoKKy0tIHNuaXAgLS0KK3wgL0NHRTdfU0hERC9wcm9qZWN0X3lvY3RvXzEuOC9wb2t5L2J1aWxkL3RtcC93b3JrL3FlbXV4ODZfNjQtcG9reS1saW51eC9pc2NzaXRhcmdldC8xLjQuMjAuMytzdm41MDItcjAvaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9pc2NzaS5jOiBJbiBmdW5jdGlvbiAnc2NzaV9jbW5kX3N0YXJ0JzoKK3wgL0NHRTdfU0hERC9wcm9qZWN0X3lvY3RvXzEuOC9wb2t5L2J1aWxkL3RtcC93b3JrL3FlbXV4ODZfNjQtcG9reS1saW51eC9pc2NzaXRhcmdldC8xLjQuMjAuMytzdm41MDItcjAvaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9pc2NzaS5jOjk4OTo3OiBlcnJvcjogJ1NFUlZJQ0VfQUNUSU9OX0lOJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKK3wgICBjYXNlIFNFUlZJQ0VfQUNUSU9OX0lOOgorLS0gQ1VUIC0tCisKK1JlZmVyZW5jZToKK2h0dHBzOi8vZ2l0aHViLmNvbS90b3J2YWxkcy9saW51eC9jb21taXQvZWI4NDZkOWYxNDc0NTVlNGU1ZTE4NjNiZmI1ZTMxOTc0YmI2OWI3YworCiszLiBJbiBsaW51eCB2My4xOSBhbmQgYWJvdmUsIGZfZGVudHJ5IG1lbWJlciBoYXMgYmVlbiByZW1vdmVkIGZyb20gCisnc3RydWN0IGZpbGUnIHN0cnVjdHVyZS4KKworZXJyb3Igc25pcHBldDoKKy0tIHNuaXAgLS0KK3wgL0NHRTdfU0hERC9wcm9qZWN0X3lvY3RvXzEuOC9wb2t5L2J1aWxkL3RtcC93b3JrL3FlbXV4ODZfNjQtcG9reS1saW51eC9pc2NzaXRhcmdldC8xLjQuMjAuMytzdm41MDItcjAvaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9jb25uLmM6IEluIGZ1bmN0aW9uICdpZXRfc29ja2V0X2JpbmQnOgorfCAvQ0dFN19TSEREL3Byb2plY3RfeW9jdG9fMS44L3Bva3kvYnVpbGQvdG1wL3dvcmsvcWVtdXg4Nl82NC1wb2t5LWxpbnV4L2lzY3NpdGFyZ2V0LzEuNC4yMC4zK3N2bjUwMi1yMC9pc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDIva2VybmVsL2Nvbm4uYzoxMzA6MzQ6IGVycm9yOiAnc3RydWN0IGZpbGUnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2ZfZGVudHJ5JworfCAgIGNvbm4tPnNvY2sgPSBTT0NLRVRfSShjb25uLT5maWxlLT5mX2RlbnRyeS0+ZF9pbm9kZSk7CistLSBDVVQgLS0KKworbmV3IGhlbHBlciBmdW5jdGlvbiBmaWxlX2lub2RlKGZpbGUpIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCisKK1JlZmVyZW5jZXM6CisxLiBodHRwczovL2dpdGh1Yi5jb20vdG9ydmFsZHMvbGludXgvY29tbWl0Lzc4ZDI4ZTY1MWY5Nzg2NmQ2MDhkOWI0MWY4YWQyOTFlNjVkNDdkZDUKKzIuIGh0dHBzOi8vZ2l0aHViLmNvbS90b3J2YWxkcy9saW51eC9jb21taXQvNDk2YWQ5YWE4ZWY0NDgwNThlMzZjYTdhNzg3YzYxZjJlNjNmMGY1NAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFnYWRlZXNoIEtyaXNobmFuamFuYXBwYSA8amtyaXNobmFuamFuYXBwYUBtdmlzdGEuY29tPgorCistLS0gaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyX29yZy9rZXJuZWwvY29ubi5jCTIwMTUtMDgtMjQgMTY6MTM6MjYuNDgxOTI0Njc5ICswNTMwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9jb25uLmMJMjAxNS0wOC0yNCAxNzoyNzowNi44OTc2NTM2OTggKzA1MzAKK0BAIC0xMjcsNyArMTI3LDExIEBAIHN0YXRpYyB2b2lkIGlldF9zb2NrZXRfYmluZChzdHJ1Y3QgaXNjc2kKKyAKKyAJZHByaW50ayhEX0dFTkVSSUMsICIlbGx1XG4iLCAodW5zaWduZWQgbG9uZyBsb25nKSBzZXNzaW9uLT5zaWQpOworIAorKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApCisrCWNvbm4tPnNvY2sgPSBTT0NLRVRfSShmaWxlX2lub2RlKGNvbm4tPmZpbGUpKTsKKysjZWxzZQorIAljb25uLT5zb2NrID0gU09DS0VUX0koY29ubi0+ZmlsZS0+Zl9kZW50cnktPmRfaW5vZGUpOworKyNlbmRpZiAvKiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApICovCisgCWNvbm4tPnNvY2stPnNrLT5za191c2VyX2RhdGEgPSBjb25uOworIAorIAl3cml0ZV9sb2NrX2JoKCZjb25uLT5zb2NrLT5zay0+c2tfY2FsbGJhY2tfbG9jayk7CistLS0gaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyX29yZy9rZXJuZWwvZmlsZS1pby5jCTIwMTUtMDgtMjQgMTY6MTM6MjYuNDgxOTI0Njc5ICswNTMwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9maWxlLWlvLmMJMjAxNS0wOC0yNCAxNzozMDo1NC4zOTAxMzExMDAgKzA1MzAKK0BAIC02OSw3ICs2OSwxMSBAQCBzdGF0aWMgaW50IGZpbGVpb19tYWtlX3JlcXVlc3Qoc3RydWN0IGllCisgc3RhdGljIGludCBmaWxlaW9fc3luYyhzdHJ1Y3QgaWV0X3ZvbHVtZSAqbHUsIHN0cnVjdCB0aW8gKnRpbykKKyB7CisgCXN0cnVjdCBmaWxlaW9fZGF0YSAqcCA9IGx1LT5wcml2YXRlOworKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApCisrCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlX2lub2RlKHAtPmZpbHApOworKyNlbHNlCisgCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBwLT5maWxwLT5mX2RlbnRyeS0+ZF9pbm9kZTsKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKSAqLworIAlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IGlub2RlLT5pX21hcHBpbmc7CisgCWxvZmZfdCBwcG9zLCBjb3VudDsKKyAJaW50IHJlczsKK0BAIC0yMTMsNyArMjE3LDExIEBAIHN0YXRpYyBpbnQgZmlsZWlvX2F0dGFjaChzdHJ1Y3QgaWV0X3ZvbHUKKyAJCWVwcmludGsoIiVkXG4iLCBlcnIpOworIAkJZ290byBvdXQ7CisgCX0KKysjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKQorKwlpbm9kZSA9IGZpbGVfaW5vZGUocC0+ZmlscCk7CisrI2Vsc2UKKyAJaW5vZGUgPSBwLT5maWxwLT5mX2RlbnRyeS0+ZF9pbm9kZTsKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKSAqLworIAorIAlpZiAoU19JU1JFRyhpbm9kZS0+aV9tb2RlKSkKKyAJCTsKKy0tLSBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDJfb3JnL2tlcm5lbC9pc2NzaS5jCTIwMTUtMDgtMjQgMTY6MTM6MjYuNDgxOTI0Njc5ICswNTMwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9pc2NzaS5jCTIwMTUtMDgtMjQgMTc6MzM6NTAuOTUwNDkwMTU2ICswNTMwCitAQCAtOTg2LDcgKzk4NiwxMSBAQCBzdGF0aWMgdm9pZCBzY3NpX2NtbmRfc3RhcnQoc3RydWN0IGlzY3NpCisgCQlzZXRfY21uZF9sdW5pdChyZXEpOworIAorIAlzd2l0Y2ggKHJlcV9oZHItPnNjYlswXSkgeworKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApCisrCWNhc2UgU0VSVklDRV9BQ1RJT05fSU5fMTY6CisrI2Vsc2UKKyAJY2FzZSBTRVJWSUNFX0FDVElPTl9JTjoKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKSAqLworIAkJaWYgKChyZXFfaGRyLT5zY2JbMV0gJiAweDFmKSAhPSAweDEwKQorIAkJCWdvdG8gZXJyb3I7CisgCWNhc2UgSU5RVUlSWToKKy0tLSBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDJfb3JnL2tlcm5lbC9pc2NzaS5oCTIwMTUtMDgtMjQgMTY6MTM6MjYuNDgxOTI0Njc5ICswNTMwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9pc2NzaS5oCTIwMTUtMDgtMjQgMTc6MzU6MzEuMzU0NjkwMDUxICswNTMwCitAQCAtMjU3LDcgKzI1NywxMSBAQCBzdHJ1Y3QgaXNjc2lfY29ubiB7CisgCXN0cnVjdCB0aW1lcl9saXN0IG5vcF90aW1lcjsKKyAKKyAJc3RydWN0IGlzY3NpX2NtbmQgKnJlYWRfY21uZDsKKysjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKQorKwlzdHJ1Y3QgdXNlcl9tc2doZHIgcmVhZF9tc2c7CisrI2Vsc2UKKyAJc3RydWN0IG1zZ2hkciByZWFkX21zZzsKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKSAqLworIAlzdHJ1Y3QgaW92ZWMgcmVhZF9pb3ZbSVNDU0lfQ09OTl9JT1ZfTUFYXTsKKyAJdTMyIHJlYWRfc2l6ZTsKKyAJdTMyIHJlYWRfb3ZlcmZsb3c7CistLS0gaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyX29yZy9rZXJuZWwvbnRocmVhZC5jCTIwMTUtMDgtMjQgMTY6MTM6MjYuNDgxOTI0Njc5ICswNTMwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC9udGhyZWFkLmMJMjAxNS0wOC0yNCAxNzo0MTo1Ni4xODc0Mjg5MjUgKzA1MzAKK0BAIC04MCw4ICs4MCwxMSBAQCBzdGF0aWMgaW50IGlzX2RhdGFfYXZhaWxhYmxlKHN0cnVjdCBpc2NzCisgCXNldF9mcyhvbGRmcyk7CisgCXJldHVybiAocmVzID49IDApID8gYXZhaWwgOiByZXM7CisgfQorLQorKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApCisrc3RhdGljIHZvaWQgZm9yd2FyZF9pb3Yoc3RydWN0IHVzZXJfbXNnaGRyICptc2csIGludCBsZW4pCisrI2Vsc2UKKyBzdGF0aWMgdm9pZCBmb3J3YXJkX2lvdihzdHJ1Y3QgbXNnaGRyICptc2csIGludCBsZW4pCisrI2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLCAxOSwgMCkgKi8KKyB7CisgCXdoaWxlIChtc2ctPm1zZ19pb3YtPmlvdl9sZW4gPD0gbGVuKSB7CisgCQlsZW4gLT0gbXNnLT5tc2dfaW92LT5pb3ZfbGVuOworQEAgLTk2LDcgKzk5LDExIEBAIHN0YXRpYyB2b2lkIGZvcndhcmRfaW92KHN0cnVjdCBtc2doZHIgKm0KKyBzdGF0aWMgaW50IGRvX3JlY3Yoc3RydWN0IGlzY3NpX2Nvbm4gKmNvbm4sIGludCBzdGF0ZSkKKyB7CisgCW1tX3NlZ21lbnRfdCBvbGRmczsKKysjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKQorKwlzdHJ1Y3QgdXNlcl9tc2doZHIgbXNnOworKyNlbHNlCisgCXN0cnVjdCBtc2doZHIgbXNnOworKyNlbmRpZiAvKiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApICovCisgCXN0cnVjdCBpb3ZlYyBpb3ZbSVNDU0lfQ09OTl9JT1ZfTUFYXTsKKyAJaW50IGksIGxlbiwgcmVzOworIAorQEAgLTQ2MSw3ICs0NjgsMTEgQEAgc3RhdGljIHZvaWQgZXhpdF90eChzdHJ1Y3QgaXNjc2lfY29ubiAqYworIHN0YXRpYyBpbnQgdHhfZGRpZ2VzdChzdHJ1Y3QgaXNjc2lfY21uZCAqY21uZCwgaW50IHN0YXRlKQorIHsKKyAJaW50IHJlcywgcmVzdCA9IGNtbmQtPmNvbm4tPndyaXRlX3NpemU7CisrI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLCAxOSwgMCkKKysJc3RydWN0IHVzZXJfbXNnaGRyIG1zZyA9IHsubXNnX2ZsYWdzID0gTVNHX05PU0lHTkFMIHwgTVNHX0RPTlRXQUlUfTsKKysjZWxzZQorIAlzdHJ1Y3QgbXNnaGRyIG1zZyA9IHsubXNnX2ZsYWdzID0gTVNHX05PU0lHTkFMIHwgTVNHX0RPTlRXQUlUfTsKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKSAqLworIAlzdHJ1Y3Qga3ZlYyBpb3Y7CisgCisgCWlvdi5pb3ZfYmFzZSA9IChjaGFyICopICgmY21uZC0+ZGRpZ2VzdCkgKyAoc2l6ZW9mKHUzMikgLSByZXN0KTsKKy0tLSBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDJfb3JnL2tlcm5lbC90YXJnZXRfZGlzay5jCTIwMTUtMDgtMjQgMTY6MTM6MjYuNDgxOTI0Njc5ICswNTMwCisrKysgaXNjc2l0YXJnZXQtMS40LjIwLjMrc3ZuNTAyL2tlcm5lbC90YXJnZXRfZGlzay5jCTIwMTUtMDgtMjQgMTc6NDM6NDIuMTY3NjI1MTU5ICswNTMwCitAQCAtNjA2LDcgKzYwNiwxMSBAQCBzdGF0aWMgaW50IGRpc2tfZXhlY3V0ZV9jbW5kKHN0cnVjdCBpc2NzCisgCWNhc2UgUkVRVUVTVF9TRU5TRToKKyAJCXNlbmRfZGF0YV9yc3AoY21uZCwgYnVpbGRfcmVxdWVzdF9zZW5zZV9yZXNwb25zZSk7CisgCQlicmVhazsKKysjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKQorKwljYXNlIFNFUlZJQ0VfQUNUSU9OX0lOXzE2OgorKyNlbHNlCisgCWNhc2UgU0VSVklDRV9BQ1RJT05fSU46CisrI2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLCAxOSwgMCkgKi8JCisgCQlzZW5kX2RhdGFfcnNwKGNtbmQsIGJ1aWxkX3NlcnZpY2VfYWN0aW9uX2luX3Jlc3BvbnNlKTsKKyAJCWJyZWFrOworIAljYXNlIFJFQURfNjoKKy0tLSBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm41MDJfb3JnL2tlcm5lbC92b2x1bWUuYwkyMDE1LTA4LTI0IDE2OjEzOjI2LjQ3NzkyNDY3NCArMDUzMAorKysrIGlzY3NpdGFyZ2V0LTEuNC4yMC4zK3N2bjUwMi9rZXJuZWwvdm9sdW1lLmMJMjAxNS0wOC0yNCAxODoyODoxNS42OTcwNzQ3ODAgKzA1MzAKK0BAIC0zOTgsNyArMzk4LDExIEBAIGludCBpc192b2x1bWVfcmVzZXJ2ZWQoc3RydWN0IGlldF92b2x1bWUKKyAJCWNhc2UgUkVBRF9DQVBBQ0lUWToKKyAJCQkvKiBhbGxvd2VkIGNvbW1hbmRzIHdoZW4gcmVzZXJ2ZWQgKi8KKyAJCQlicmVhazsKKysjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKQkJCQorKwkJY2FzZSBTRVJWSUNFX0FDVElPTl9JTl8xNjoKKysjZWxzZQorIAkJY2FzZSBTRVJWSUNFX0FDVElPTl9JTjoKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsIDE5LCAwKSAqLworIAkJCWlmICgoc2NiWzFdICYgMHgxRikgPT0gMHgxMCkKKyAJCQkJYnJlYWs7CisgCQkJLyogZmFsbCB0aHJvdWdoICovCitAQCAtNDY1LDcgKzQ2OSwxMSBAQCBpbnQgaXNfdm9sdW1lX3Jlc2VydmVkKHN0cnVjdCBpZXRfdm9sdW1lCisgCQlpZiAoZXhjbF9hY2Nlc3Nfcm8gJiYgIXJlZ2lzdGVyZWQpCisgCQkJZXJyID0gLUVCVVNZOworIAkJYnJlYWs7CisrI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLCAxOSwgMCkKKysJY2FzZSBTRVJWSUNFX0FDVElPTl9JTl8xNjoKKysjZWxzZQorIAljYXNlIFNFUlZJQ0VfQUNUSU9OX0lOOgorKyNlbmRpZiAvKiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywgMTksIDApICovCisgCQlpZiAoKHNjYlsxXSAmIDB4MUYpID09IDB4MTApCisgCQkJYnJlYWs7CisgCQkvKiBmYWxsIHRocm91Z2ggKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZXh0ZW5kZWQvaXNjc2l0YXJnZXQvZmlsZXMvdXNlLWtlcm5lbC1tYWtlZmlsZS10by1nZXQta2VybmVsLXZlcnNpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWV4dGVuZGVkL2lzY3NpdGFyZ2V0L2ZpbGVzL3VzZS1rZXJuZWwtbWFrZWZpbGUtdG8tZ2V0LWtlcm5lbC12ZXJzaW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1YmQwNDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWV4dGVuZGVkL2lzY3NpdGFyZ2V0L2ZpbGVzL3VzZS1rZXJuZWwtbWFrZWZpbGUtdG8tZ2V0LWtlcm5lbC12ZXJzaW9uLnBhdGNoCkBAIC0wLDAgKzEsNjcgQEAKK0dldCBsaW51eCBrZXJuZWwgdmVyc2lvbiBmcm9tIE1ha2VmaWxlIG9mIGtlcm5lbCBzb3VyY2UKKworV2UgZ2V0IGJlbG93IG1lc3NhZ2VzIHdoaWxlIGJ1aWxkaW5nIGlzY3NpdGFyZ2V0LAorCistLSBzbmlwIC0tCit4ODZfNjQtcG9reS1saW51eC1nY2M6IGVycm9yOgorL0NHRTdfU0hERC9wcm9qZWN0X3lvY3RvXzEuOC9wb2t5L2J1aWxkL3RtcC93b3JrLXNoYXJlZC9xZW11eDg2LTY0L2tlcm5lbC1zb3VyY2UvaW5jbHVkZS9saW51eC92ZXJzaW9uLmg6CitObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cit4ODZfNjQtcG9reS1saW51eC1nY2M6IGZhdGFsIGVycm9yOiBubyBpbnB1dCBmaWxlcworY29tcGlsYXRpb24gdGVybWluYXRlZC4KKy9iaW4vc2g6IGxpbmUgMDogWzogdG9vIG1hbnkgYXJndW1lbnRzCisvYmluL3NoOiBsaW5lIDA6IFs6IHRvbyBtYW55IGFyZ3VtZW50cworL2Jpbi9zaDogbGluZSAwOiBbOiB0b28gbWFueSBhcmd1bWVudHMKKy9iaW4vc2g6IGxpbmUgMDogWzogdG9vIG1hbnkgYXJndW1lbnRzCisvYmluL3NoOiBsaW5lIDA6IFs6IHRvbyBtYW55IGFyZ3VtZW50cworL2Jpbi9zaDogbGluZSAwOiBbOiB0b28gbWFueSBhcmd1bWVudHMKKy9iaW4vc2g6IGxpbmUgMDogWzogdG9vIG1hbnkgYXJndW1lbnRzCisvYmluL3NoOiBsaW5lIDA6IFs6IHRvbyBtYW55IGFyZ3VtZW50cworL2Jpbi9zaDogbGluZSAwOiBbOiB0b28gbWFueSBhcmd1bWVudHMKKy9iaW4vc2g6IGxpbmUgMDogWzogdG9vIG1hbnkgYXJndW1lbnRzCisvYmluL3NoOiBsaW5lIDA6IFs6IHRvbyBtYW55IGFyZ3VtZW50cworL2Jpbi9zaDogbGluZSAwOiBbOiB0b28gbWFueSBhcmd1bWVudHMKKy0tIENVVCAtLQorCitUaGVzZSBtZXNzYWdlcyBhcmUgZHVlIHRvIGFic2VuY2Ugb2YgaW5jbHVkZS9saW51eC92ZXJzaW9uLmggZmlsZSBpbiAKK2tlcm5lbCBzb3VyY2UgZGlyZWN0b3J5IGFuZCBmYWlsZWQgdG8gY29tcHV0ZSBsaW51eCBrZXJuZWwgdmVyc2lvbi4KK1NvLCB1c2Uga2VybmVsIHNvdXJjZSBNYWtlZmlsZSAoIGkuZSAkKEtTUkMpL01ha2VmaWxlKSB0byBmaW5kIG91dCAKK2FjdHVhbCBrZXJuZWwgdmVyc2lvbi4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEphZ2FkZWVzaCBLcmlzaG5hbmphbmFwcGEgPGprcmlzaG5hbmphbmFwcGFAbXZpc3RhLmNvbT4KKworLS0tIGlzY3NpdGFyZ2V0LTEuNC4yMC4zK3N2bjQ5OV9vcmcvTWFrZWZpbGUJMjAxNC0wMS0yNyAwMDowMDo0NS4wMDAwMDAwMDAgKzA1MzAKKysrKyBpc2NzaXRhcmdldC0xLjQuMjAuMytzdm40OTkvTWFrZWZpbGUJMjAxNS0wNy0yMyAxMDo0NDo0Ny4wMTM2MDAyODUgKzA1MzAKK0BAIC0xOCwyNyArMTgsMTEgQEAgaWZlcSAoJChLU1JDKSwpCisgZW5kaWYKKyAKKyAKKy1pZm5lcSAoJCh3aWxkY2FyZCAkKEtTUkMpL2luY2x1ZGUvZ2VuZXJhdGVkL3V0c3JlbGVhc2UuaCksKQorLQlWRVJTSU9OX0ZJTEUgOj0gJChLU1JDKS9pbmNsdWRlL2dlbmVyYXRlZC91dHNyZWxlYXNlLmgKKy1lbHNlCistICBpZm5lcSAoJCh3aWxkY2FyZCAkKEtTUkMpL2luY2x1ZGUvbGludXgvdXRzcmVsZWFzZS5oKSwpCistCSAgVkVSU0lPTl9GSUxFIDo9ICQoS1NSQykvaW5jbHVkZS9saW51eC91dHNyZWxlYXNlLmgKKy0gIGVsc2UKKy0JICBWRVJTSU9OX0ZJTEUgOj0gJChLU1JDKS9pbmNsdWRlL2xpbnV4L3ZlcnNpb24uaAorLSAgZW5kaWYKKy1lbmRpZgorLQorLUtWRVIgOj0gJChzaGVsbCAkKENDKSAkKENGTEFHUykgJChMREZMQUdTKSAtRSAtZE0gJChWRVJTSU9OX0ZJTEUpIHwgXAorLQlncmVwIFVUU19SRUxFQVNFIHwgYXdrICd7IHByaW50ICQkMyB9JyB8IHNlZCAncy9cIi8vZycpCistCisgS01PRCA6PSAvbGliL21vZHVsZXMvJChLVkVSKS9leHRyYQorLQorLUtNQUogOj0gJChzaGVsbCBlY2hvICQoS1ZFUikgfCBcCistCXNlZCAtZSAncy9eXChbMC05XVswLTldKlwpXC5bMC05XVswLTldKlwuWzAtOV1bMC05XSouKi9cMS8nKQorLUtNSU4gOj0gJChzaGVsbCBlY2hvICQoS1ZFUikgfCBcCistCXNlZCAtZSAncy9eWzAtOV1bMC05XSpcLlwoWzAtOV1bMC05XSpcKVwuWzAtOV1bMC05XSouKi9cMS8nKQorLUtSRVYgOj0gJChzaGVsbCBlY2hvICQoS1ZFUikgfCBcCistCXNlZCAtZSAncy9eWzAtOV1bMC05XSpcLlswLTldWzAtOV0qXC5cKFswLTldWzAtOV0qXCkuKi9cMS8nKQorK0tNQUogOj0gJChzaGVsbCBjYXQgJChLU1JDKS9NYWtlZmlsZSB8IGdyZXAgXlZFUlNJT04gfCBnYXdrIC1GICIgIiAneyBwcmludCAkJE5GIH0nKQorK0tNSU4gOj0gJChzaGVsbCBjYXQgJChLU1JDKS9NYWtlZmlsZSB8IGdyZXAgXlBBVENITEVWRUwgfCBnYXdrIC1GICIgIiAneyBwcmludCAkJE5GIH0nKQorK0tSRVYgOj0gJChzaGVsbCBjYXQgJChLU1JDKS9NYWtlZmlsZSB8IGdyZXAgXlNVQkxFVkVMIHwgZ2F3ayAtRiAiICIgJ3sgcHJpbnQgJCRORiB9JykKKytLVkVSIDo9ICR7S01BSn0uJHtLTUlOfS4ke0tSRVZ9CisgCisga3Zlcl9lcSA9ICQoc2hlbGwgWyAkKEtNQUopIC1lcSAkKDEpIC1hICQoS01JTikgLWVxICQoMikgLWEgJChLUkVWKSAtZXEgJCgzKSBdICYmIFwKKyAJZWNobyAxIHx8IGVjaG8gMCkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZXh0ZW5kZWQvaXNjc2l0YXJnZXQvaXNjc2l0YXJnZXRfMS40LjIwLjMrc3ZuNTAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1leHRlbmRlZC9pc2NzaXRhcmdldC9pc2NzaXRhcmdldF8xLjQuMjAuMytzdm41MDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM1ZWVkNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZXh0ZW5kZWQvaXNjc2l0YXJnZXQvaXNjc2l0YXJnZXRfMS40LjIwLjMrc3ZuNTAyLmJiCkBAIC0wLDAgKzEsNTcgQEAKK0RFU0NSSVBUSU9OID0gImlTQ1NJIEVudGVycHJpc2UgVGFyZ2V0IGlzIGFpbWVkIHRvIGRldmVsb3AgYW4gXAorICAgICAgICAgICAgICAgb3BlbiBzb3VyY2UgaVNDU0kgdGFyZ2V0IHdpdGggcHJvZmVzc2lvbmFsIGZlYXR1cmVzLCBcCisgICAgICAgICAgICAgICB0aGF0IHdvcmtzIHdlbGwgaW4gZW50ZXJwcmlzZSBlbnZpcm9ubWVudCB1bmRlciByZWFsIFwKKyAgICAgICAgICAgICAgIHdvcmtsb2FkLCBhbmQgaXMgc2NhbGFibGUgYW5kIHZlcnNhdGlsZSBlbm91Z2ggdG8gbWVldCB0aGUgXAorICAgICAgICAgICAgICAgY2hhbGxlbmdlIG9mIGZ1dHVyZSBzdG9yYWdlIG5lZWRzIGFuZCBkZXZlbG9wbWVudHMuIgorSE9NRVBBR0UgPSAiaHR0cDovL2lzY3NpdGFyZ2V0LnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmUyMzNlZGE0NWM4MDdhYTI5YWVhYTZkOTRiYzQ4YTIiCitERVBFTkRTID0gIm9wZW5zc2wgdmlydHVhbC9rZXJuZWwiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5oZWFuZXQuaWUvbWlycm9ycy91YnVudHUvcG9vbC91bml2ZXJzZS9pLyR7QlBOfS8ke0JQTn1fJHtQVn0ub3JpZy50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vdXNlLWtlcm5lbC1tYWtlZmlsZS10by1nZXQta2VybmVsLXZlcnNpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LWVycm9ycy1vYnNlcnZlZC13aXRoLWxpbnV4LTMuMTktYW5kLWdyZWF0ZXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYWNjZXNzLXNrX3Y2X2RhZGRyLWlmZi1JUFY2LWRlZmluZWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYnVpbGRfd2l0aF91cGRhdGVkX2Jpb19zdHJ1Y3Rfb2ZfbGludXhfdjQuM19hbmRfYWJvdmUucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZjliYzgyM2JiYWJkM2M3NzIyMDhjMDBkNWYyZDA4OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMzE5NmNjYjc4YTQzMjY2ZGNlMjg1ODdiZmUzMGQ4YWI0ZGI3NTY2ZDdiY2U5NjA1N2RmYmI4NDEwMGJhYmI1IgorCitpbmhlcml0IG1vZHVsZQorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorCisjIG1ha2Vfc2NyaXB0cyByZXF1aXJlcyBrZXJuZWwgc291cmNlIGRpcmVjdG9yeSB0byBjcmVhdGUKKyMga2VybmVsIHNjcmlwdHMKK2RvX21ha2Vfc2NyaXB0c1tkZXBlbmRzXSArPSAidmlydHVhbC9rZXJuZWw6ZG9fc2hhcmVkX3dvcmtkaXIiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSBLU1JDPSR7U1RBR0lOR19LRVJORUxfRElSfSBMREZMQUdTPScnIFY9MQorfQorCitkb19pbnN0YWxsKCkgeworICAgICMgTW9kdWxlCisgICAgaW5zdGFsbCAtZCAke0R9L2xpYi9tb2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059L2tlcm5lbC9pc2NzaQorICAgIGluc3RhbGwgLW0gMDY0NCBrZXJuZWwvaXNjc2lfdHJndC5rbyBcCisgICAgJHtEfS9saWIvbW9kdWxlcy8ke0tFUk5FTF9WRVJTSU9OfS9rZXJuZWwvaXNjc2kvaXNjc2lfdHJndC5rbworICAgIAorICAgICMgVXNlcnNwYWNlIHV0aWxpdGllcworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgdXNyL2lldGQgJHtEfSR7c2JpbmRpcn0vaWV0ZAorICAgIGluc3RhbGwgLW0gMDc1NSB1c3IvaWV0YWRtICR7RH0ke3NiaW5kaXJ9L2lldGFkbQorICAgIAorICAgICMgQ29uZmlnIGZpbGVzLCBpbml0IHNjcmlwdHMKKyAgICBta2RpciAtcCAke0R9JHtzeXNjb25mZGlyfS9pZXQKKyAgICBpbnN0YWxsIC1tIDA2NDQgZXRjL2lldGQuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vaWV0L2lldGQuY29uZgorICAgIGluc3RhbGwgLW0gMDY0NCBldGMvaW5pdGlhdG9ycy5hbGxvdyAke0R9JHtzeXNjb25mZGlyfS9pZXQvaW5pdGlhdG9ycy5hbGxvdworICAgIGluc3RhbGwgLW0gMDY0NCBldGMvdGFyZ2V0cy5hbGxvdyAke0R9JHtzeXNjb25mZGlyfS9pZXQvdGFyZ2V0cy5hbGxvdworICAgIG1rZGlyIC1wICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSBldGMvaW5pdGQvaW5pdGQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2lzY3NpLXRhcmdldAorICAgIGluc3RhbGwgLW0gMDY0NCBldGMvaW5pdGlhdG9ycy5kZW55ICR7RH0ke3N5c2NvbmZkaXJ9L2lldC9pbml0aWF0b3JzLmRlbnkKK30KKworRklMRVNfJHtQTn0gKz0gIiR7c2JpbmRpcn0gXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0iCisKK1JERVBFTkRTXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtaXNjc2ktdHJndCIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtY3JjMzJjIGtlcm5lbC1tb2R1bGUtbGliY3JjMzJjIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvY29ubnRyYWNrLXRvb2xzL2Nvbm50cmFjay10b29sc18xLjQuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9jb25udHJhY2stdG9vbHNfMS40LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IxMWQyMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9jb25udHJhY2stdG9vbHNfMS40LjIuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJDb25uZWN0aW9uIHRyYWNraW5nIHVzZXJzcGFjZSB0b29scyBmb3IgTGludXgiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIiCitERVBFTkRTID0gImxpYm5mbmV0bGluayBsaWJuZXRmaWx0ZXItY29ubnRyYWNrIGxpYm5ldGZpbHRlci1jdHRpbWVvdXQgXAorICAgICAgICAgICBsaWJuZXRmaWx0ZXItY3RoZWxwZXIgbGlibmV0ZmlsdGVyLXF1ZXVlIGJpc29uLW5hdGl2ZSIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9jb25udHJhY2stdG9vbHMvZmlsZXMvY29ubnRyYWNrLXRvb2xzLSR7UFZ9LnRhci5iejI7bmFtZT10YXIgXAorICAgIGZpbGU6Ly9jb25udHJhY2stZmFpbG92ZXIgXAorICAgIGZpbGU6Ly9pbml0IFwKKyAgICBmaWxlOi8vMDAwMS1jb25udHJhY2tkLWJ1aWxkLWZpeC1jcmFzaC13aGVuLW9wdGlvbmFsLWtlcm5lbC1tb2R1LnBhdGNoIFwKKyIKK1NSQ19VUklbdGFyLm1kNXN1bV0gPSAiYjFmOWQwMDZlN2JmMDAwYTc3Mzk1ZmY3Y2QzZmFjMTYiCitTUkNfVVJJW3Rhci5zaGEyNTZzdW1dID0gImU1YzQyM2RjMDc3ZjljYTg3NjdlYWE2Y2Y0MDQ0Njk0MzkwNTcxMWM2YThmZTI3ZjljYzE5NzdkNGQ2YWExMWUiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBwa2djb25maWcKKworSU5JVFNDUklQVF9OQU1FID0gImNvbm50cmFja2QiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2Nvbm50cmFja2QKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgZG9jL3N5bmMvZnRmdy9jb25udHJhY2tkLmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9L2Nvbm50cmFja2QvY29ubnRyYWNrZC5jb25mLnNhbXBsZQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2Nvbm50cmFjay1mYWlsb3ZlciAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL2Nvbm50cmFjay1mYWlsb3ZlcgorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb25udHJhY2tkCisKKyAgICAjIEZpeCBoYXJkY29kZWQgcGF0aHMgaW4gc2NyaXB0cworICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvY29ubnRyYWNrLWZhaWxvdmVyICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvY29ubnRyYWNrZAorICAgIHNlZCAtaSAncyEvZXRjLyEke3N5c2NvbmZkaXJ9LyFnJyAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL2Nvbm50cmFjay1mYWlsb3ZlciAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL2Nvbm50cmFja2QKKyAgICBzZWQgLWkgJ3MhL3Zhci8hJHtsb2NhbHN0YXRlZGlyfS8hZycgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb25udHJhY2stZmFpbG92ZXIgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb25udHJhY2tkICR7RH0vJHtzeXNjb25mZGlyfS9jb25udHJhY2tkL2Nvbm50cmFja2QuY29uZi5zYW1wbGUKKyAgICBzZWQgLWkgJ3MhXmV4cG9ydCBQQVRIPS4qIWV4cG9ydCBQQVRIPSR7YmFzZV9zYmluZGlyfToke2Jhc2VfYmluZGlyfToke3NiaW5kaXJ9OiR7YmluZGlyfSEnICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvY29ubnRyYWNrZAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvY29ubnRyYWNrLXRvb2xzL2ZpbGVzLzAwMDEtY29ubnRyYWNrZC1idWlsZC1maXgtY3Jhc2gtd2hlbi1vcHRpb25hbC1rZXJuZWwtbW9kdS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9maWxlcy8wMDAxLWNvbm50cmFja2QtYnVpbGQtZml4LWNyYXNoLXdoZW4tb3B0aW9uYWwta2VybmVsLW1vZHUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdhYjZkNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9maWxlcy8wMDAxLWNvbm50cmFja2QtYnVpbGQtZml4LWNyYXNoLXdoZW4tb3B0aW9uYWwta2VybmVsLW1vZHUucGF0Y2gKQEAgLTAsMCArMSw4NSBAQAorRnJvbSBjMzkyYzE1OTYwNTk1NmM3YmQ0YTI2NGFiNDQ5MGUyYjI3MDRjMGNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGFibG8gTmVpcmEgQXl1c28gPHBhYmxvQG5ldGZpbHRlci5vcmc+CitEYXRlOiBGcmksIDEzIEp1biAyMDE0IDEyOjUzOjE3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbm50cmFja2Q6IGJ1aWxkOiBmaXggY3Jhc2ggd2hlbiBvcHRpb25hbCBrZXJuZWwgbW9kdWxlcyBhcmUKKyBub3QgbG9hZGVkCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworRml4IGEgcG9zc2libGUgY3Jhc2ggaWYgY29ubnRyYWNrZCBzZWVzIERDQ1AsIFNDVFAgYW5kIElDTVB2NiB0cmFmZmljCithbmQgdGhlIGNvcnJlc3BvbmRpbmcga2VybmVsIG1vZHVsZXMgdGhhdCB0cmFjayB0aGlzIHRyYWZmaWMgYXJlIG5vdAorYXZhaWxhYmxlLgorCitGaXhlczogaHR0cDovL2J1Z3ppbGxhLm5ldGZpbHRlci5vcmcvc2hvd19idWcuY2dpP2lkPTkxMAorU2lnbmVkLW9mZi1ieTogUGFibG8gTmVpcmEgQXl1c28gPHBhYmxvQG5ldGZpbHRlci5vcmc+CistLS0KKyBzcmMvYnVpbGQuYyB8IDIyICsrKysrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9idWlsZC5jIGIvc3JjL2J1aWxkLmMKK2luZGV4IDU3OTliNTEuLjliYThiNTcgMTAwNjQ0CistLS0gYS9zcmMvYnVpbGQuYworKysrIGIvc3JjL2J1aWxkLmMKK0BAIC0xMDUsMTQgKzEwNSwxNCBAQCBzdGF0aWMgZW51bSBuZl9jb25udHJhY2tfYXR0ciBuYXRfdHlwZVtdID0KKyAJICBBVFRSX09SSUdfTkFUX1NFUV9PRkZTRVRfQUZURVIsIEFUVFJfUkVQTF9OQVRfU0VRX0NPUlJFQ1RJT05fUE9TLAorIAkgIEFUVFJfUkVQTF9OQVRfU0VRX09GRlNFVF9CRUZPUkUsIEFUVFJfUkVQTF9OQVRfU0VRX09GRlNFVF9BRlRFUiB9OworIAorKy8qIElDTVAsIFVEUCBhbmQgVENQIGFyZSBhbHdheXMgbG9hZGVkIHdpdGggbmZfY29ubnRyYWNrX2lwdjQgKi8KKyBzdGF0aWMgdm9pZCBidWlsZF9sNHByb3RvX3RjcChjb25zdCBzdHJ1Y3QgbmZfY29ubnRyYWNrICpjdCwgc3RydWN0IG5ldGhkciAqbikKKyB7CistCWN0X2J1aWxkX2dyb3VwKGN0LCBBVFRSX0dSUF9PUklHX1BPUlQsIG4sIE5UQV9QT1JULAorLQkJICAgICAgc2l6ZW9mKHN0cnVjdCBuZmN0X2F0dHJfZ3JwX3BvcnQpKTsKKy0KKyAJaWYgKCFuZmN0X2F0dHJfaXNfc2V0KGN0LCBBVFRSX1RDUF9TVEFURSkpCisgCQlyZXR1cm47CisgCisrCWN0X2J1aWxkX2dyb3VwKGN0LCBBVFRSX0dSUF9PUklHX1BPUlQsIG4sIE5UQV9QT1JULAorKwkJICAgICAgc2l6ZW9mKHN0cnVjdCBuZmN0X2F0dHJfZ3JwX3BvcnQpKTsKKyAJY3RfYnVpbGRfdTgoY3QsIEFUVFJfVENQX1NUQVRFLCBuLCBOVEFfVENQX1NUQVRFKTsKKyAJaWYgKENPTkZJRyhzeW5jKS50Y3Bfd2luZG93X3RyYWNraW5nKSB7CisgCQljdF9idWlsZF91OChjdCwgQVRUUl9UQ1BfV1NDQUxFX09SSUcsIG4sIE5UQV9UQ1BfV1NDQUxFX09SSUcpOworQEAgLTEyMiwxMiArMTIyLDEyIEBAIHN0YXRpYyB2b2lkIGJ1aWxkX2w0cHJvdG9fdGNwKGNvbnN0IHN0cnVjdCBuZl9jb25udHJhY2sgKmN0LCBzdHJ1Y3QgbmV0aGRyICpuKQorIAorIHN0YXRpYyB2b2lkIGJ1aWxkX2w0cHJvdG9fc2N0cChjb25zdCBzdHJ1Y3QgbmZfY29ubnRyYWNrICpjdCwgc3RydWN0IG5ldGhkciAqbikKKyB7CistCWN0X2J1aWxkX2dyb3VwKGN0LCBBVFRSX0dSUF9PUklHX1BPUlQsIG4sIE5UQV9QT1JULAorLQkJICAgICAgc2l6ZW9mKHN0cnVjdCBuZmN0X2F0dHJfZ3JwX3BvcnQpKTsKKy0KKysJLyogU0NUUCBpcyBvcHRpb25hbCwgbWFrZSBzdXJlIG5mX2Nvbm50cmFja19zY3RwIGlzIGxvYWRlZCAqLworIAlpZiAoIW5mY3RfYXR0cl9pc19zZXQoY3QsIEFUVFJfU0NUUF9TVEFURSkpCisgCQlyZXR1cm47CisgCisrCWN0X2J1aWxkX2dyb3VwKGN0LCBBVFRSX0dSUF9PUklHX1BPUlQsIG4sIE5UQV9QT1JULAorKwkJICAgICAgc2l6ZW9mKHN0cnVjdCBuZmN0X2F0dHJfZ3JwX3BvcnQpKTsKKyAJY3RfYnVpbGRfdTgoY3QsIEFUVFJfU0NUUF9TVEFURSwgbiwgTlRBX1NDVFBfU1RBVEUpOworIAljdF9idWlsZF91MzIoY3QsIEFUVFJfU0NUUF9WVEFHX09SSUcsIG4sIE5UQV9TQ1RQX1ZUQUdfT1JJRyk7CisgCWN0X2J1aWxkX3UzMihjdCwgQVRUUl9TQ1RQX1ZUQUdfUkVQTCwgbiwgTlRBX1NDVFBfVlRBR19SRVBMKTsKK0BAIC0xMzUsMTggKzEzNSwyMiBAQCBzdGF0aWMgdm9pZCBidWlsZF9sNHByb3RvX3NjdHAoY29uc3Qgc3RydWN0IG5mX2Nvbm50cmFjayAqY3QsIHN0cnVjdCBuZXRoZHIgKm4pCisgCisgc3RhdGljIHZvaWQgYnVpbGRfbDRwcm90b19kY2NwKGNvbnN0IHN0cnVjdCBuZl9jb25udHJhY2sgKmN0LCBzdHJ1Y3QgbmV0aGRyICpuKQorIHsKKy0JY3RfYnVpbGRfZ3JvdXAoY3QsIEFUVFJfR1JQX09SSUdfUE9SVCwgbiwgTlRBX1BPUlQsCistCQkgICAgICBzaXplb2Yoc3RydWN0IG5mY3RfYXR0cl9ncnBfcG9ydCkpOworLQorKwkvKiBEQ0NQIGlzIG9wdGlvbmFsLCBtYWtlIHN1cmUgbmZfY29ubnRyYWNrX2RjY3AgaXMgbG9hZGVkICovCisgCWlmICghbmZjdF9hdHRyX2lzX3NldChjdCwgQVRUUl9EQ0NQX1NUQVRFKSkKKyAJCXJldHVybjsKKyAKKysJY3RfYnVpbGRfZ3JvdXAoY3QsIEFUVFJfR1JQX09SSUdfUE9SVCwgbiwgTlRBX1BPUlQsCisrCQkgICAgICBzaXplb2Yoc3RydWN0IG5mY3RfYXR0cl9ncnBfcG9ydCkpOworIAljdF9idWlsZF91OChjdCwgQVRUUl9EQ0NQX1NUQVRFLCBuLCBOVEFfRENDUF9TVEFURSk7CisgCWN0X2J1aWxkX3U4KGN0LCBBVFRSX0RDQ1BfUk9MRSwgbiwgTlRBX0RDQ1BfUk9MRSk7CisgfQorIAorIHN0YXRpYyB2b2lkIGJ1aWxkX2w0cHJvdG9faWNtcChjb25zdCBzdHJ1Y3QgbmZfY29ubnRyYWNrICpjdCwgc3RydWN0IG5ldGhkciAqbikKKyB7CisrCS8qIFRoaXMgaXMgYWxzbyB1c2VkIGJ5IElDTVB2NiBhbmQgbmZfY29ubnRyYWNrX2lwdjYgaXMgb3B0aW9uYWwgKi8KKysJaWYgKCFuZmN0X2F0dHJfaXNfc2V0KGN0LCBBVFRSX0lDTVBfVFlQRSkpCisrCQlyZXR1cm47CisrCisgCWN0X2J1aWxkX3U4KGN0LCBBVFRSX0lDTVBfVFlQRSwgbiwgTlRBX0lDTVBfVFlQRSk7CisgCWN0X2J1aWxkX3U4KGN0LCBBVFRSX0lDTVBfQ09ERSwgbiwgTlRBX0lDTVBfQ09ERSk7CisgCWN0X2J1aWxkX3UxNihjdCwgQVRUUl9JQ01QX0lELCBuLCBOVEFfSUNNUF9JRCk7CistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9maWxlcy9jb25udHJhY2stZmFpbG92ZXIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9jb25udHJhY2stdG9vbHMvZmlsZXMvY29ubnRyYWNrLWZhaWxvdmVyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkOTJlNjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9jb25udHJhY2stdG9vbHMvZmlsZXMvY29ubnRyYWNrLWZhaWxvdmVyCkBAIC0wLDAgKzEsNzcgQEAKKyMhL2Jpbi9zaAorIyAKKyMgKEMpIDIwMDggYnkgUGFibG8gTmVpcmEgQXl1c28gPHBhYmxvQG5ldGZpbHRlci5vcmc+CisjIChDKSAyMDA5IFJvbWFuIEkgS2hpbW92IDxraGltb3ZAYWx0ZWxsLnJ1PgorIworIyBUaGlzIHNvZnR3YXJlIG1heSBiZSB1c2VkIGFuZCBkaXN0cmlidXRlZCBhY2NvcmRpbmcgdG8gdGhlIHRlcm1zCisjIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaW5jb3Jwb3JhdGVkIGhlcmVpbiBieSByZWZlcmVuY2UuCisjCisjIERlc2NyaXB0aW9uOgorIworIyBUaGlzIGlzIHRoZSBzY3JpcHQgZm9yIHByaW1hcnktYmFja3VwIHNldHVwcyBmb3Iga2VlcGFsaXZlZAorIyAoaHR0cDovL3d3dy5rZWVwYWxpdmVkLm9yZykuIFlvdSBtYXkgYWRhcHQgaXQgdG8gbWFrZSBpdCB3b3JrIHdpdGggb3RoZXIKKyMgaGlnaC1hdmFpbGFiaWxpdHkgbWFuYWdlcnMuCisjCisjIERvIG5vdCBmb3JnZXQgdG8gaW5jbHVkZSB0aGUgcmVxdWlyZWQgbW9kaWZpY2F0aW9ucyB0byB5b3VyIGtlZXBhbGl2ZWQuY29uZgorIyBmaWxlIHRvIGludm9rZSB0aGlzIHNjcmlwdCBkdXJpbmcga2VlcGFsaXZlZCdzIHN0YXRlIHRyYW5zaXRpb25zLgorIworIyBDb250cmlidXRpb25zIHRvIGltcHJvdmUgdGhpcyBzY3JpcHQgYXJlIHdlbGNvbWUgOikuCisjCisjIyBNb2RpZmllZCB0byB3b3JrIGFzIGluaXQuZCBzY3JpcHQgdW5kZXIgcGFjZW1ha2VyIGNvbnRyb2wKKworQ09OTlRSQUNLRF9CSU49L3Vzci9zYmluL2Nvbm50cmFja2QKK0NPTk5UUkFDS0RfTE9DSz0vdmFyL2xvY2svY29ubnRyYWNrLmxvY2sKK0NPTk5UUkFDS0RfQ09ORklHPS9ldGMvY29ubnRyYWNrZC9jb25udHJhY2tkLmNvbmYKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgICMKKyAgICAjIGNvbW1pdCB0aGUgZXh0ZXJuYWwgY2FjaGUgaW50byB0aGUga2VybmVsIHRhYmxlCisgICAgIworICAgICRDT05OVFJBQ0tEX0JJTiAtQyAkQ09OTlRSQUNLRF9DT05GSUcgLWMKKyAgICBpZiBbICQ/IC1lcSAxIF0KKyAgICB0aGVuCisgICAgICAgIGxvZ2dlciAiRVJST1I6IGZhaWxlZCB0byBpbnZva2UgY29ubnRyYWNrZCAtYyIKKyAgICBmaQorCisgICAgIworICAgICMgZmx1c2ggdGhlIGludGVybmFsIGFuZCB0aGUgZXh0ZXJuYWwgY2FjaGVzCisgICAgIworICAgICRDT05OVFJBQ0tEX0JJTiAtQyAkQ09OTlRSQUNLRF9DT05GSUcgLWYKKyAgICBpZiBbICQ/IC1lcSAxIF0KKyAgICB0aGVuCisgICAgCWxvZ2dlciAiRVJST1I6IGZhaWxlZCB0byBpbnZva2UgY29ubnRyYWNrZCAtZiIKKyAgICBmaQorCisgICAgIworICAgICMgcmVzeW5jaHJvbml6ZSBteSBpbnRlcm5hbCBjYWNoZSB0byB0aGUga2VybmVsIHRhYmxlCisgICAgIworICAgICRDT05OVFJBQ0tEX0JJTiAtQyAkQ09OTlRSQUNLRF9DT05GSUcgLVIKKyAgICBpZiBbICQ/IC1lcSAxIF0KKyAgICB0aGVuCisgICAgCWxvZ2dlciAiRVJST1I6IGZhaWxlZCB0byBpbnZva2UgY29ubnRyYWNrZCAtUiIKKyAgICBmaQorCisgICAgIworICAgICMgc2VuZCBhIGJ1bGsgdXBkYXRlIHRvIGJhY2t1cHMgCisgICAgIworICAgICRDT05OVFJBQ0tEX0JJTiAtQyAkQ09OTlRSQUNLRF9DT05GSUcgLUIKKyAgICBpZiBbICQ/IC1lcSAxIF0KKyAgICB0aGVuCisgICAgICAgIGxvZ2dlciAiRVJST1I6IGZhaWxlZCB0byBpbnZva2UgY29ubnRyYWNrZCAtQiIKKyAgICBmaQorICAgIDs7CisgIHN0b3ApCisJJENPTk5UUkFDS0RfQklOIC10CisJJENPTk5UUkFDS0RfQklOIC1uCisJOzsKKyAgc3RhdHVzKQorCTs7CisgICopCisgICAgbG9nZ2VyICJFUlJPUjogdW5rbm93biBjb21tYW5kIgorICAgIGVjaG8gIlVzYWdlOiBjb25udHJhY2stZmFpbG92ZXIge3N0YXJ0fHN0b3B8c3RhdHVzfSIKKyAgICBleGl0IDEKKyAgICA7OworZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9maWxlcy9pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvY29ubnRyYWNrLXRvb2xzL2ZpbGVzL2luaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmNlMjA3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2Nvbm50cmFjay10b29scy9maWxlcy9pbml0CkBAIC0wLDAgKzEsODcgQEAKKyMhL2Jpbi9zaAorIworIyAvZXRjL2luaXQuZC9jb25udHJhY2tkCisjCisjIE1heGltaWxpYW4gV2lsaGVsbSA8bWF4QHJmYzIzMjQub3JnPgorIyAgLS0gTW9uLCAwNiBOb3YgMjAwNiAxODozOTowNyArMDEwMAorIworIyBSb21hbiBJIEtoaW1vdiA8a2hpbW92QGFsdGVsbC5ydT4KKyMgIC0tIFR1ZSwgMjcgT2N0IDIwMDkgMTQ6MzQ6MDAgKzAzMDAKKworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgY29ubnRyYWNrZAorIyBSZXF1aXJlZC1TdGFydDogICAgJHJlbW90ZV9mcyAkc3lzbG9nCisjIFJlcXVpcmVkLVN0b3A6ICAgICAkcmVtb3RlX2ZzICRzeXNsb2cKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIERlc2NyaXB0aW9uOiBTdGFydHMgY29ubnRyYWNrZAorIyBzaG9ydC1kZXNjcmlwdGlvbjogU3RhcnRzIGNvbm50cmFja2QKKyMjIyBFTkQgSU5JVCBJTkZPCisKK2V4cG9ydCBQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2Jpbjovc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbgorCitOQU1FPSJjb25udHJhY2tkIgorREFFTU9OPSIvdXNyL3NiaW4vY29ubnRyYWNrZCIKK0NPTkZJRz0iL2V0Yy9jb25udHJhY2tkL2Nvbm50cmFja2QuY29uZiIKK1BJREZJTEU9Ii92YXIvcnVuLyR7TkFNRX0ucGlkIgorCisKKyMgR3JhY2VmdWxseSBleGl0IGlmIHRoZXJlIGlzIG5vIGRhZW1vbiAoZGViaWFuIHdheSBvZiBsaWZlKQoraWYgWyAhIC14ICIke0RBRU1PTn0iIF07IHRoZW4KKwlleGl0IDAKK2ZpCisKKyMgQ2hlY2sgZm9yIGNvbmZpZyBmaWxlCitpZiBbICEgLWYgL2V0Yy9jb25udHJhY2tkL2Nvbm50cmFja2QuY29uZiBdOyB0aGVuCisJZWNobyAiRXJyb3I6IFRoZXJlIGlzIG5vIGNvbmZpZyBmaWxlIGZvciAkTkFNRSIgPiYyCisJZXhpdCAxOworZmkKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgICAgICBlY2hvIC1uICJTdGFydGluZyAkTkFNRTogIgorCWZvciBpIGluIG5mX2Nvbm50cmFja19uZXRsaW5rIG5mX2Nvbm50cmFja19uZXRiaW9zX25zIG5mX2Nvbm50cmFja19wcm90b19kY2NwIG5mX2Nvbm50cmFja190ZnRwIFwKKwkJbmZfY29ubnRyYWNrX3NhbmUgbmZfY29ubnRyYWNrX3BwdHAgbmZfY29ubnRyYWNrX2lyYyBuZl9jb25udHJhY2tfYW1hbmRhIG5mX2Nvbm50cmFja19oMzIzIFwKKwkJbmZfY29ubnRyYWNrX3Byb3RvX3VkcGxpdGUgbmZfY29ubnRyYWNrX3Byb3RvX2dyZSBuZl9jb25udHJhY2tfcHJvdG9fc2N0cCBuZl9jb25udHJhY2tfZnRwIFwKKwkJbmZfY29ubnRyYWNrX3NpcDsgZG8KKwkJbW9kcHJvYmUgJGkgPi9kZXYvbnVsbCAyPi9kZXYvbnVsbCAmCisJZG9uZQorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLW1ha2UtcGlkZmlsZSAtLXBpZGZpbGUgIi92YXIvcnVuLyR7TkFNRX0ucGlkIiAtLWJhY2tncm91bmQgLS1leGVjICIke0RBRU1PTn0iCisJUkVUPSQ/CisJaWYgWyAiJD8iID0gIjAiIF07IHRoZW4KKwkJc2xlZXAgMgorCQkjIFN5bmMgd2l0aCBvdGhlciBzZXJ2ZXIKKwkJY29ubnRyYWNrZCAtbgorCQllY2hvICJkb25lLiIKKwllbHNlCisJCWVjaG8gIkZBSUxFRCEiCisJZmkKKwlleGl0ICRSRVQKKwk7OworICBzdG9wKQorICAgICAgICBlY2hvIC1uICJTdG9wcGluZyAkTkFNRToiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1va25vZG8gLS1waWRmaWxlICIvdmFyL3J1bi8ke05BTUV9LnBpZCIgJiYgZWNobyAiZG9uZS4iIHx8IGVjaG8gIkZBSUxFRCEiCisJOzsKKyAgc3RhdHVzKQorCWVjaG8gLW4gImNvbm50cmFja2QgIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC1xIC1LIC10IC14ICREQUVNT04KKwlSRVQ9JD8KKwlpZiBbICIkUkVUIiA9ICIwIiBdOyB0aGVuCisgICAgICAgICAgICAgICAgUElEPWBjYXQgJFBJREZJTEVgCisJCWVjaG8gIigkUElEKSBpcyBydW5uaW5nIgorCWVsc2UKKwkJZWNobyAiaXMgbm90IHJ1bm5pbmciCisJCWV4aXQgJFJFVAorCWZpCisJOzsKKyAgcmVzdGFydCkKKwkkMCBzdG9wCisJJDAgc3RhcnQKKwk7OworCisgICopCisJZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kL2Nvbm50cmFja2Qge3N0YXJ0fHN0b3B8cmVzdGFydH0iCisJZXhpdCAxCitlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvMDFkZWJpYW5fZGVmYXVsdGNvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzLTIuMC4xMC00LzAxZGViaWFuX2RlZmF1bHRjb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI2MDQwMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzLTIuMC4xMC00LzAxZGViaWFuX2RlZmF1bHRjb25maWcucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorIyEgL2Jpbi9zaCAvdXNyL3NoYXJlL2RwYXRjaC9kcGF0Y2gtcnVuCisjIyBkZWJpYW5fZGVmYXVsdGNvbmZpZy5kcGF0Y2ggYnkgIDxoZXNzb0Bwb29sLm1hdGgudHUtYmVybGluLmRlPgorIyMKKyMjIERQOiBEZWJpYW4gZW5oYW5jZW1lbnRzIHRvIHRoZSBlYnRhYmxlcyAic3lzY29uZmlnIiBkZWZhdWx0IHNldHRpbmdzLgorCitARFBBVENIQAorCistLS0gZWJ0YWJsZXMtMi4wLjguMS5vcmlnL2VidGFibGVzLWNvbmZpZworKysrIGVidGFibGVzLTIuMC44LjEvZWJ0YWJsZXMtY29uZmlnCitAQCAtMSwxNyArMSwzIEBACistIyBTYXZlIChhbmQgcG9zc2libHkgcmVzdG9yZSkgaW4gdGV4dCBmb3JtYXQuCistIyAgIFZhbHVlOiB5ZXN8bm8sICBkZWZhdWx0OiB5ZXMKKy0jIFNhdmUgdGhlIGZpcmV3YWxsIHJ1bGVzIGluIHRleHQgZm9ybWF0IHRvIF9fU1lTQ09ORklHX18vZWJ0YWJsZXMKKy0jIElmIEVCVEFCTEVTX0JJTkFSWV9GT1JNQVQ9Im5vIiB0aGVuIHJlc3RvcmluZyB0aGUgZmlyZXdhbGwgcnVsZXMKKy0jIGlzIGRvbmUgdXNpbmcgdGhpcyB0ZXh0IGZvcm1hdC4KKy1FQlRBQkxFU19URVhUX0ZPUk1BVD0ieWVzIgorLQorLSMgU2F2ZSAoYW5kIHJlc3RvcmUpIGluIGJpbmFyeSBmb3JtYXQuCistIyAgIFZhbHVlOiB5ZXN8bm8sICBkZWZhdWx0OiB5ZXMKKy0jIFNhdmUgKGFuZCByZXN0b3JlKSB0aGUgZmlyZXdhbGwgcnVsZXMgaW4gYmluYXJ5IGZvcm1hdCB0byAoYW5kIGZyb20pCistIyBfX1NZU0NPTkZJR19fL2VidGFibGVzLjxjaGFpbj4uIEVuYWJsaW5nIHRoaXMgb3B0aW9uIHdpbGwgbWFrZQorLSMgZmlyZXdhbGwgaW5pdGlhbGlzYXRpb24gYSBsb3QgZmFzdGVyLgorLUVCVEFCTEVTX0JJTkFSWV9GT1JNQVQ9InllcyIKKy0KKyAjIFVubG9hZCBtb2R1bGVzIG9uIHJlc3RhcnQgYW5kIHN0b3AKKyAjICAgVmFsdWU6IHllc3xubywgIGRlZmF1bHQ6IHllcworICMgVGhpcyBvcHRpb24gaGFzIHRvIGJlICd5ZXMnIHRvIGdldCB0byBhIHNhbmUgc3RhdGUgZm9yIGEgZmlyZXdhbGwKK0BAIC0xOSw2ICs1LDEyIEBACisgIyBtb2R1bGVzLgorIEVCVEFCTEVTX01PRFVMRVNfVU5MT0FEPSJ5ZXMiCisgCisrIyBMb2FkIGZpcmV3YWxsIHJ1bGVzIG9uIHN5c3RlbSBzdGFydHVwLgorKyMgICBWYWx1ZTogeWVzfG5vLCAgZGVmYXVsdDogbm8KKysjIFJlc3RvcmVzIHRoZSBlYnRhYmxlcyBydWxlc2V0cyBmcm9tIHRoZSBsYXN0IHNhdmVkIHN0YXRlIHdoZW4gdGhlCisrIyBzeXN0ZW0gYm9vdHMgdXAuCisrRUJUQUJMRVNfTE9BRF9PTl9TVEFSVD0ibm8iCisrCisgIyBTYXZlIGN1cnJlbnQgZmlyZXdhbGwgcnVsZXMgb24gc3RvcC4KKyAjICAgVmFsdWU6IHllc3xubywgIGRlZmF1bHQ6IG5vCisgIyBTYXZlcyBhbGwgZmlyZXdhbGwgcnVsZXMgaWYgZmlyZXdhbGwgZ2V0cyBzdG9wcGVkCitAQCAtMzUsMyArMjcsOSBAQAorICMgU2F2ZSBydWxlIGNvdW50ZXJzIHdoZW4gc2F2aW5nIGEga2VybmVsIHRhYmxlIHRvIGEgZmlsZS4gSWYgdGhlCisgIyBydWxlIGNvdW50ZXJzIHdlcmUgc2F2ZWQsIHRoZXkgd2lsbCBiZSByZXN0b3JlZCB3aGVuIHJlc3RvcmluZyB0aGUgdGFibGUuCisgRUJUQUJMRVNfU0FWRV9DT1VOVEVSPSJubyIKKysKKysjIEJhY2t1cCBzdWZmaXggZm9yIHJ1bGVzZXQgc2F2ZSBmaWxlcy4KKysjICAgVmFsdWU6IDxzdHJpbmc+LCAgZGVmYXVsdDogIn4iCisrIyBLZWVwIG9uZSBiYWNrdXAgbGV2ZWwgb2Ygc2F2ZWQgcnVsZXMuCisrIyBTZXQgdGhpcyB2YXJpYWJsZSB0byB0aGUgZW1wdHkgc3RyaW5nIHRvIGRpc2FibGUgYmFja3Vwcy4KKytFQlRBQkxFU19CQUNLVVBfU1VGRklYPSJ+IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvZWJ0YWJsZXMuY29tbW9uIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvZWJ0YWJsZXMuY29tbW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0MDAyNWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9lYnRhYmxlcy9lYnRhYmxlcy0yLjAuMTAtNC9lYnRhYmxlcy5jb21tb24KQEAgLTAsMCArMSwxNjMgQEAKKyMhL2Jpbi9zaAorCitbIC14IC9zYmluL2VidGFibGVzIF0gfHwgZXhpdCAxCisKK0VCVEFCTEVTX0RVTVBGSUxFX1NURU09L2V0Yy9lYnRhYmxlcy9kdW1wCisKK1JFVFZBTD0wCitwcm9nPSJlYnRhYmxlcyIKK2Rlc2M9IkV0aGVybmV0IGJyaWRnZSBmaWx0ZXJpbmciCit1bWFzayAwMDc3CisKKyNkZWZhdWx0IGNvbmZpZ3VyYXRpb24KK0VCVEFCTEVTX01PRFVMRVNfVU5MT0FEPSJ5ZXMiCitFQlRBQkxFU19MT0FEX09OX1NUQVJUPSJubyIKK0VCVEFCTEVTX1NBVkVfT05fU1RPUD0ibm8iCitFQlRBQkxFU19TQVZFX09OX1JFU1RBUlQ9Im5vIgorRUJUQUJMRVNfU0FWRV9DT1VOVEVSPSJubyIKK0VCVEFCTEVTX0JBQ0tVUF9TVUZGSVg9In4iCisKK2NvbmZpZz0vZXRjL2RlZmF1bHQvJHByb2cKK1sgLWYgIiRjb25maWciIF0gJiYgLiAiJGNvbmZpZyIKKworZnVuY3Rpb24gZ2V0X3N1cHBvcnRlZF90YWJsZXMoKSB7CisJRUJUQUJMRVNfU1VQUE9SVEVEX1RBQkxFUz0KKwkvc2Jpbi9lYnRhYmxlcyAtdCBmaWx0ZXIgLUwgMj4mMSAxPi9kZXYvbnVsbCB8IGdyZXAgLXEgcGVybWlzc2lvbgorCWlmIFsgJD8gLWVxIDAgXTsgdGhlbgorCQllY2hvICJFcnJvcjogaW5zdWZmaWNpZW50IHByaXZpbGVnZXMgdG8gYWNjZXNzIHRoZSBlYnRhYmxlcyBydWxlc2V0cy4iCisJCWV4aXQgMQorCWZpCisJZm9yIHRhYmxlIGluIGZpbHRlciBuYXQgYnJvdXRlOyBkbworCQkvc2Jpbi9lYnRhYmxlcyAtdCAkdGFibGUgLUwgJj4gL2Rldi9udWxsCisJCWlmIFsgJD8gLWVxIDAgXTsgdGhlbgorCQkJRUJUQUJMRVNfU1VQUE9SVEVEX1RBQkxFUz0iJHtFQlRBQkxFU19TVVBQT1JURURfVEFCTEVTfSAkdGFibGUiCisJCWZpCisJZG9uZQorfQorCitmdW5jdGlvbiBsb2FkKCkgeworCVJFVFZBTD0wCisJZ2V0X3N1cHBvcnRlZF90YWJsZXMKKwllY2hvIC1uICJSZXN0b3JpbmcgZWJ0YWJsZXMgcnVsZXNldHM6ICIKKwlmb3IgdGFibGUgaW4gJEVCVEFCTEVTX1NVUFBPUlRFRF9UQUJMRVM7IGRvCisJCWVjaG8gLW4gIiR0YWJsZSAiCisJCWlmIFsgLXMgJHtFQlRBQkxFU19EVU1QRklMRV9TVEVNfS4kdGFibGUgXTsgdGhlbgorCQkJL3NiaW4vZWJ0YWJsZXMgLXQgJHRhYmxlIC0tYXRvbWljLWZpbGUgJHtFQlRBQkxFU19EVU1QRklMRV9TVEVNfS4kdGFibGUgLS1hdG9taWMtY29tbWl0CisJCQlSRVQ9JD8KKwkJCWlmIFsgJFJFVCAtbmUgMCBdOyB0aGVuCisJCQkJZWNobyAtbiAiKGZhaWxlZCkgIgorCQkJCVJFVFZBTD0kUkVUCisJCQlmaQorCQllbHNlCisJCQllY2hvIC1uICIobm8gc2F2ZWQgc3RhdGUpICIKKwkJZmkKKwlkb25lCisJaWYgWyAteiAiJEVCVEFCTEVTX1NVUFBPUlRFRF9UQUJMRVMiIF07IHRoZW4KKwkJZWNobyAtbiAibm8ga2VybmVsIHN1cHBvcnQuICIKKwllbHNlCisJCWVjaG8gLW4gImRvbmUuICIKKwlmaQorCWlmIFsgJFJFVFZBTCAtZXEgMCBdOyB0aGVuCisJCWVjaG8gIm9rIgorCWVsc2UKKwkJZWNobyAiZmFpbCIKKwlmaQorfQorCitmdW5jdGlvbiBjbGVhcigpIHsKKwlSRVRWQUw9MAorCWdldF9zdXBwb3J0ZWRfdGFibGVzCisJZWNobyAtbiAiQ2xlYXJpbmcgZWJ0YWJsZXMgcnVsZXNldHM6ICIKKwlmb3IgdGFibGUgaW4gJEVCVEFCTEVTX1NVUFBPUlRFRF9UQUJMRVM7IGRvCisJCWVjaG8gLW4gIiR0YWJsZSAiCisJCS9zYmluL2VidGFibGVzIC10ICR0YWJsZSAtLWluaXQtdGFibGUKKwlkb25lCisKKwlpZiBbICIkRUJUQUJMRVNfTU9EVUxFU19VTkxPQUQiID0gInllcyIgXTsgdGhlbgorCQlmb3IgbW9kIGluICQoZ3JlcCAtRSAnXihlYnR8ZWJ0YWJsZSlfJyAvcHJvYy9tb2R1bGVzIHwgY3V0IC1kJyAnIC1mMSkgZWJ0YWJsZXM7IGRvCisJCQlybW1vZCAkbW9kIDI+IC9kZXYvbnVsbAorCQlkb25lCisJZmkKKwlpZiBbIC16ICIkRUJUQUJMRVNfU1VQUE9SVEVEX1RBQkxFUyIgXTsgdGhlbgorCQllY2hvIC1uICJubyBrZXJuZWwgc3VwcG9ydC4gIgorCWVsc2UKKwkJZWNobyAtbiAiZG9uZS4gIgorCWZpCisJaWYgWyAkUkVUVkFMIC1lcSAwIF07IHRoZW4KKwkJZWNobyAib2siCisJZWxzZQorCQllY2hvICJmYWlsIgorCWZpCit9CisKK2Z1bmN0aW9uIHNhdmUoKSB7CisJUkVUVkFMPTAKKwlnZXRfc3VwcG9ydGVkX3RhYmxlcworCWVjaG8gLW4gIlNhdmluZyBlYnRhYmxlcyBydWxlc2V0czogIgorCWZvciB0YWJsZSBpbiAkRUJUQUJMRVNfU1VQUE9SVEVEX1RBQkxFUzsgZG8KKwkJZWNobyAtbiAiJHRhYmxlICIKKwkJWyAtbiAiJEVCVEFCTEVTX0JBQ0tVUF9TVUZGSVgiIF0gJiYgWyAtcyAke0VCVEFCTEVTX0RVTVBGSUxFX1NURU19LiR0YWJsZSBdICYmIFwKKwkJICBtdiAke0VCVEFCTEVTX0RVTVBGSUxFX1NURU19LiR0YWJsZSAke0VCVEFCTEVTX0RVTVBGSUxFX1NURU19LiR0YWJsZSRFQlRBQkxFU19CQUNLVVBfU1VGRklYCisJCS9zYmluL2VidGFibGVzIC10ICR0YWJsZSAtLWF0b21pYy1maWxlICR7RUJUQUJMRVNfRFVNUEZJTEVfU1RFTX0uJHRhYmxlIC0tYXRvbWljLXNhdmUKKwkJUkVUPSQ/CisJCWlmIFsgJFJFVCAtbmUgMCBdOyB0aGVuCisJCQllY2hvIC1uICIoZmFpbGVkKSAiCisJCQlSRVRWQUw9JFJFVAorCQllbHNlCisJCQlpZiBbICIkRUJUQUJMRVNfU0FWRV9DT1VOVEVSIiA9ICJubyIgXTsgdGhlbgorCQkJCS9zYmluL2VidGFibGVzIC10ICR0YWJsZSAtLWF0b21pYy1maWxlICR7RUJUQUJMRVNfRFVNUEZJTEVfU1RFTX0uJHRhYmxlIC1aCisJCQlmaQorCQlmaQorCWRvbmUKKwlpZiBbIC16ICIkRUJUQUJMRVNfU1VQUE9SVEVEX1RBQkxFUyIgXTsgdGhlbgorCQllY2hvIC1uICJubyBrZXJuZWwgc3VwcG9ydC4gIgorCWVsc2UKKwkJZWNobyAtbiAiZG9uZS4gIgorCWZpCisJaWYgWyAkUkVUVkFMIC1lcSAwIF07IHRoZW4KKwkJZWNobyAib2siCisJZWxzZQorCQllY2hvICJmYWlsIgorCWZpCit9CisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwlbICIkRUJUQUJMRVNfTE9BRF9PTl9TVEFSVCIgPSAieWVzIiBdICYmIGxvYWQKKwk7OworICBzdG9wKQorCVsgIiRFQlRBQkxFU19TQVZFX09OX1NUT1AiID0gInllcyIgXSAmJiBzYXZlCisJY2xlYXIKKwk7OworICByZXN0YXJ0fHJlbG9hZHxmb3JjZS1yZWxvYWQpCisJWyAiJEVCVEFCTEVTX1NBVkVfT05fUkVTVEFSVCIgPSAieWVzIiBdICYmIHNhdmUKKwljbGVhcgorCVsgIiRFQlRBQkxFU19MT0FEX09OX1NUQVJUIiA9ICJ5ZXMiIF0gJiYgbG9hZAorCTs7CisgIGxvYWQpCisJbG9hZAorCTs7CisgIHNhdmUpCisJc2F2ZQorCTs7CisgIHN0YXR1cykKKwlnZXRfc3VwcG9ydGVkX3RhYmxlcworCWlmIFsgLXogIiRFQlRBQkxFU19TVVBQT1JURURfVEFCTEVTIiBdOyB0aGVuCisJCWVjaG8gIk5vIGtlcm5lbCBzdXBwb3J0IGZvciBlYnRhYmxlcy4iCisJCVJFVFZBTD0xCisJZWxzZQorCQllY2hvIC1uICJFYnRhYmxlcyBzdXBwb3J0IGF2YWlsYWJsZSwgbnVtYmVyIG9mIGluc3RhbGxlZCBydWxlczogIgorCQlmb3IgdGFibGUgaW4gJEVCVEFCTEVTX1NVUFBPUlRFRF9UQUJMRVM7IGRvCisJCQlDT1VOVD0kKCggJCgvc2Jpbi9lYnRhYmxlcyAtdCAkdGFibGUgLUwgfCBzZWQgLWUgIi9eQnJpZGdlIGNoYWluLyEgZCIgLWUgInMvXi4qZW50cmllczogLy8iIC1lICJzLywuKiQvICsvIikgMCApKQorCQkJZWNobyAtbiAiJHRhYmxlKCRDT1VOVCkgIgorCQlkb25lCisJCWVjaG8gb2sKKwkJUkVUVkFMPTAKKwlmaQorCTs7CisgICopCisJZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHJlc3RhcnR8cmVsb2FkfGZvcmNlLXJlbG9hZHxsb2FkfHNhdmV8c3RhdHVzfSIgPiYyCisJUkVUVkFMPTEKK2VzYWMKKworZXhpdCAkUkVUVkFMCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9lYnRhYmxlcy9lYnRhYmxlcy0yLjAuMTAtNC9lYnRhYmxlcy5pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvZWJ0YWJsZXMuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOWE3N2EyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvZWJ0YWJsZXMuaW5pdApAQCAtMCwwICsxLDI2IEBACisjIS9iaW4vc2gKKyMKKyMgaW5pdCBzY3JpcHQgZm9yIHRoZSBFdGhlcm5ldCBCcmlkZ2UgZmlsdGVyIHRhYmxlcworIworIyBXcml0dGVuIGJ5IERhZyBXaWVlcnMgPGRhZ0B3aWVlcnMuY29tPgorIyBNb2RpZmllZCBieSBSb2sgUGFwZXogPHJvay5wYXBlekBhcm5lcy5zaT4KKyMJICAgICBCYXJ0IERlIFNjaHV5bWVyIDxiZHNjaHV5bUBwYW5kb3JhLmJlPgorIyBBZGFwdGVkIHRvIERlYmlhbiBieSBKYW4gQ2hyaXN0b3BoIE5vcmRob2x6IDxoZXNzb0Bwb29sLm1hdGgudHUtYmVybGluLmRlPgorIyBBZGFwdGVkIHRvIE9wZW5FbWJlZGRlZCBieSBSb21hbiBJIEtoaW1vdiA8a2hpbW92QGFsdGVsbC5ydT4KKyMKKyMgY2hrY29uZmlnOiAtIDE1IDg1CisjIGRlc2NyaXB0aW9uOiBFdGhlcm5ldCBCcmlkZ2UgZmlsdGVyaW5nIHRhYmxlcworIworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczoJCWVidGFibGVzCisjIFJlcXVpcmVkLVN0YXJ0OgkKKyMgUmVxdWlyZWQtU3RvcDoJCisjIFNob3VsZC1TdGFydDoJCSRsb2NhbF9mcworIyBTaG91bGQtU3RvcDoJCSRsb2NhbF9mcworIyBEZWZhdWx0LVN0YXJ0OglTCisjIERlZmF1bHQtU3RvcDoJCTAgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjoJZWJ0YWJsZXMgcnVsZXNldCBtYW5hZ2VtZW50CisjIERlc2NyaXB0aW9uOgkJU2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBzdGF0ZSBvZiB0aGUgZWJ0YWJsZXMgcnVsZXNldHMuCisjIyMgRU5EIElOSVQgSU5GTworCisvdXNyL3NiaW4vZWJ0YWJsZXMuY29tbW9uICQxCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9lYnRhYmxlcy9lYnRhYmxlcy0yLjAuMTAtNC9lYnRhYmxlcy5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvZWJ0YWJsZXMuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWJkMWZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvZWJ0YWJsZXMuc2VydmljZQpAQCAtMCwwICsxLDExIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUV0aGVybmV0IEJyaWRnZSBGaWx0ZXJpbmcgVGFibGVzCisKK1tTZXJ2aWNlXQorVHlwZT1vbmVzaG90CitSZW1haW5BZnRlckV4aXQ9eWVzCitFeGVjU3RhcnQ9QFNCSU5ESVJAL2VidGFibGVzLmNvbW1vbiBzdGFydAorRXhlY1N0b3A9QFNCSU5ESVJAL2VidGFibGVzLmNvbW1vbiBzdG9wCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzLTIuMC4xMC00L2luc3RhbGxub25yb290LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvaW5zdGFsbG5vbnJvb3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmNkOWJlZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzLTIuMC4xMC00L2luc3RhbGxub25yb290LnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCBjMTEwNmE0Li43ZWE2YjdhIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMTU3LDMxICsxNTcsMzEgQEAgdG1wMzo9JChzaGVsbCBwcmludGYgJChQSVBFKSB8IHNlZCAncy9cLy9cXFwvL2cnKQorIHNjcmlwdHM6IGVidGFibGVzLXNhdmUgZWJ0YWJsZXMuc3lzdiBlYnRhYmxlcy1jb25maWcKKyAJY2F0IGVidGFibGVzLXNhdmUgfCBzZWQgJ3MvX19FWEVDX1BBVEhfXy8kKHRtcDEpL2cnID4gZWJ0YWJsZXMtc2F2ZV8KKyAJbWtkaXIgLXAgJChERVNURElSKSQoQklORElSKQorLQlpbnN0YWxsIC1tIDA3NTUgLW8gcm9vdCAtZyByb290IGVidGFibGVzLXNhdmVfICQoREVTVERJUikkKEJJTkRJUikvZWJ0YWJsZXMtc2F2ZQorKwlpbnN0YWxsIC1tIDA3NTUgZWJ0YWJsZXMtc2F2ZV8gJChERVNURElSKSQoQklORElSKS9lYnRhYmxlcy1zYXZlCisgCWNhdCBlYnRhYmxlcy5zeXN2IHwgc2VkICdzL19fRVhFQ19QQVRIX18vJCh0bXAxKS9nJyB8IHNlZCAncy9fX1NZU0NPTkZJR19fLyQodG1wMikvZycgPiBlYnRhYmxlcy5zeXN2XworIAlpZiBbICIkKERFU1RESVIpIiAhPSAiIiBdOyB0aGVuIG1rZGlyIC1wICQoREVTVERJUikkKElOSVRESVIpOyBmaQorLQlpZiB0ZXN0IC1kICQoREVTVERJUikkKElOSVRESVIpOyB0aGVuIGluc3RhbGwgLW0gMDc1NSAtbyByb290IC1nIHJvb3QgZWJ0YWJsZXMuc3lzdl8gJChERVNURElSKSQoSU5JVERJUikvZWJ0YWJsZXM7IGZpCisrCWlmIHRlc3QgLWQgJChERVNURElSKSQoSU5JVERJUik7IHRoZW4gaW5zdGFsbCAtbSAwNzU1IGVidGFibGVzLnN5c3ZfICQoREVTVERJUikkKElOSVRESVIpL2VidGFibGVzOyBmaQorIAljYXQgZWJ0YWJsZXMtY29uZmlnIHwgc2VkICdzL19fU1lTQ09ORklHX18vJCh0bXAyKS9nJyA+IGVidGFibGVzLWNvbmZpZ18KKyAJaWYgWyAiJChERVNURElSKSIgIT0gIiIgXTsgdGhlbiBta2RpciAtcCAkKERFU1RESVIpJChTWVNDT05GSUdESVIpOyBmaQorLQlpZiB0ZXN0IC1kICQoREVTVERJUikkKFNZU0NPTkZJR0RJUik7IHRoZW4gaW5zdGFsbCAtbSAwNjAwIC1vIHJvb3QgLWcgcm9vdCBlYnRhYmxlcy1jb25maWdfICQoREVTVERJUikkKFNZU0NPTkZJR0RJUikvZWJ0YWJsZXMtY29uZmlnOyBmaQorKwlpZiB0ZXN0IC1kICQoREVTVERJUikkKFNZU0NPTkZJR0RJUik7IHRoZW4gaW5zdGFsbCAtbSAwNjAwIGVidGFibGVzLWNvbmZpZ18gJChERVNURElSKSQoU1lTQ09ORklHRElSKS9lYnRhYmxlcy1jb25maWc7IGZpCisgCXJtIC1mIGVidGFibGVzLXNhdmVfIGVidGFibGVzLnN5c3ZfIGVidGFibGVzLWNvbmZpZ18KKyAKKyB0bXA0Oj0kKHNoZWxsIHByaW50ZiAkKExPQ0tGSUxFKSB8IHNlZCAncy9cLy9cXFwvL2cnKQorICQoTUFORElSKS9tYW44L2VidGFibGVzLjg6IGVidGFibGVzLjgKKyAJbWtkaXIgLXAgJChERVNURElSKSQoQEQpCisgCXNlZCAtZSAncy8kJChWRVJTSU9OKS8kKFBST0dWRVJTSU9OKS8nIC1lICdzLyQkKERBVEUpLyQoUFJPR0RBVEUpLycgLWUgJ3MvJCQoTE9DS0ZJTEUpLyQodG1wNCkvJyBlYnRhYmxlcy44ID4gZWJ0YWJsZXMuOF8KKy0JaW5zdGFsbCAtbSAwNjQ0IC1vIHJvb3QgLWcgcm9vdCBlYnRhYmxlcy44XyAkKERFU1RESVIpJEAKKysJaW5zdGFsbCAtbSAwNjQ0IGVidGFibGVzLjhfICQoREVTVERJUikkQAorIAlybSAtZiBlYnRhYmxlcy44XworIAorICQoREVTVERJUikkKEVUSEVSVFlQRVNGSUxFKTogZXRoZXJ0eXBlcworIAlta2RpciAtcCAkKEBEKQorLQlpbnN0YWxsIC1tIDA2NDQgLW8gcm9vdCAtZyByb290ICQ8ICRACisrCWluc3RhbGwgLW0gMDY0NCAkPCAkQAorIAorIC5QSE9OWTogZXhlYworIGV4ZWM6IGVidGFibGVzIGVidGFibGVzLXJlc3RvcmUKKyAJbWtkaXIgLXAgJChERVNURElSKSQoQklORElSKQorLQlpbnN0YWxsIC1tIDA3NTUgLW8gcm9vdCAtZyByb290ICQoUFJPR05BTUUpICQoREVTVERJUikkKEJJTkRJUikvJChQUk9HTkFNRSkKKy0JaW5zdGFsbCAtbSAwNzU1IC1vIHJvb3QgLWcgcm9vdCBlYnRhYmxlcy1yZXN0b3JlICQoREVTVERJUikkKEJJTkRJUikvZWJ0YWJsZXMtcmVzdG9yZQorKwlpbnN0YWxsIC1tIDA3NTUgJChQUk9HTkFNRSkgJChERVNURElSKSQoQklORElSKS8kKFBST0dOQU1FKQorKwlpbnN0YWxsIC1tIDA3NTUgZWJ0YWJsZXMtcmVzdG9yZSAkKERFU1RESVIpJChCSU5ESVIpL2VidGFibGVzLXJlc3RvcmUKKyAKKyAuUEhPTlk6IGluc3RhbGwKKyBpbnN0YWxsOiAkKE1BTkRJUikvbWFuOC9lYnRhYmxlcy44ICQoREVTVERJUikkKEVUSEVSVFlQRVNGSUxFKSBleGVjIHNjcmlwdHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzLTIuMC4xMC00L25vLWFzLW5lZWRlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzLTIuMC4xMC00L25vLWFzLW5lZWRlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzYxMTlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvZWJ0YWJsZXMvZWJ0YWJsZXMtMi4wLjEwLTQvbm8tYXMtbmVlZGVkLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK2xpbmsgZWJ0YWJsZXMgd2l0aCAtLW5vLWFzLW5lZWRlZCBhbmQgYWRqdXN0IHRoZSBsaW5rIG9yZGVyIHRvIGZpeCBydW50aW1lIGNyYXNoCisKK1Byb2dyYW0gdGVybWluYXRlZCB3aXRoIHNpZ25hbCAxMSwgU2VnbWVudGF0aW9uIGZhdWx0LgorIzAgIDB4MDAwMDdmZmFhODM3ZmI1MyBpbiBlYnRfaW5pdGlhbGl6ZV9lbnRyeSAoKSBmcm9tIC9saWI2NC9lYnRhYmxlcy9saWJlYnRjLnNvCisoZ2RiKSBidAorIzAgIDB4MDAwMDdmZmFhODM3ZmI1MyBpbiBlYnRfaW5pdGlhbGl6ZV9lbnRyeSAoKSBmcm9tIC9saWI2NC9lYnRhYmxlcy9saWJlYnRjLnNvCisjMSAgMHgwMDAwN2ZmYWE4MzgyNGRjIGluIGRvX2NvbW1hbmQgKCkgZnJvbSAvbGliNjQvZWJ0YWJsZXMvbGliZWJ0Yy5zbworIzIgIDB4MDAwMDAwMDAwMDQwMDY1YyBpbiA/PyAoKQorIzMgIDB4MDAwMDdmZmFhN2ZlZDc1NSBpbiBfX2xpYmNfc3RhcnRfbWFpbiAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYKKyM0ICAweDAwMDAwMDAwMDA0MDA2OTEgaW4gPz8gKCkKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0luZGV4OiBlYnRhYmxlcy12Mi4wLjEwLTQvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBlYnRhYmxlcy12Mi4wLjEwLTQub3JpZy9NYWtlZmlsZQkyMDExLTEyLTE1IDEyOjAyOjQ3LjAwMDAwMDAwMCAtMDgwMAorKysrIGVidGFibGVzLXYyLjAuMTAtNC9NYWtlZmlsZQkyMDEyLTEyLTE3IDIyOjA5OjQ1LjA2NTk3Mzc1MyAtMDgwMAorQEAgLTkwLDcgKzkwLDcgQEAKKyAJJChDQykgLXNoYXJlZCAkKExERkxBR1MpIC1XbCwtc29uYW1lLGxpYmVidGMuc28gLW8gbGliZWJ0Yy5zbyAtbGMgJChPQkpFQ1RTMikKKyAKKyBlYnRhYmxlczogJChPQkpFQ1RTKSBlYnRhYmxlcy1zdGFuZGFsb25lLm8gbGliZWJ0Yy5zbworLQkkKENDKSAkKENGTEFHUykgJChDRkxBR1NfU0hfTElCKSAkKExERkxBR1MpIC1vICRAIGVidGFibGVzLXN0YW5kYWxvbmUubyAtSSQoS0VSTkVMX0lOQ0xVREVTKSAtTC4gLUxleHRlbnNpb25zIC1sZWJ0YyAkKEVYVF9MSUJTSSkgXAorKwkkKENDKSAkKENGTEFHUykgJChDRkxBR1NfU0hfTElCKSAkKExERkxBR1MpIC1vICRAIGVidGFibGVzLXN0YW5kYWxvbmUubyAtSSQoS0VSTkVMX0lOQ0xVREVTKSAtTC4gLUxleHRlbnNpb25zIC1XbCwtLW5vLWFzLW5lZWRlZCAkKEVYVF9MSUJTSSkgLWxlYnRjIFwKKyAJLVdsLC1ycGF0aCwkKExJQkRJUikKKyAKKyBlYnRhYmxlc3U6IGVidGFibGVzdS5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9lYnRhYmxlcy9lYnRhYmxlc18yLjAuMTAtNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2VidGFibGVzL2VidGFibGVzXzIuMC4xMC00LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5YjcyNmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9lYnRhYmxlcy9lYnRhYmxlc18yLjAuMTAtNC5iYgpAQCAtMCwwICsxLDkwIEBACitTVU1NQVJZID0gIkZpbHRlcmluZyB0b29sIGZvciBhIExpbnV4LWJhc2VkIGJyaWRnaW5nIGZpcmV3YWxsIgorREVTQ1JJUFRJT04gPSAiVXRpbGl0eSBmb3IgYmFzaWMgRXRoZXJuZXQgZnJhbWUgZmlsdGVyaW5nIG9uIGEgTGludXggYnJpZGdlLCBcCisgICAgICAgICAgICAgICBhZHZhbmNlZCBsb2dnaW5nLCBNQUMgRE5BVC9TTkFUIGFuZCBicm91dGluZy4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTNiNGE5OTk5OTM4NzFhMjhhYjE0ODhmZGJkMmU3M2UiCitTRUNUSU9OID0gIm5ldCIKK1BSID0gInIzIgorCitSREVQRU5EU18ke1BOfSArPSAicGVybCIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gImtlcm5lbC1tb2R1bGUtZWJ0YWJsZXMgXAorICAgICIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZWJ0YWJsZXMvZWJ0YWJsZXMtdiR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9pbnN0YWxsbm9ucm9vdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMWRlYmlhbl9kZWZhdWx0Y29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2VidGFibGVzLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vZWJ0YWJsZXMuY29tbW9uIFwKKyAgICAgICAgICAgZmlsZTovL2VidGFibGVzLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vbm8tYXMtbmVlZGVkLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjUwNjc0MmEzZDQ0Yjk5MjU5NTU0MjVhNjU5YzFhOGQwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRjNmY3YjQ4NGYyMDdkYzcxMmJmY2E4MTY0NWY0NTEyMGNiNmFlZTMzODBlNzdhMTc3MWU5YzM0YTlhNDQ1NWQiCisKK1MgPSAiJHtXT1JLRElSfS9lYnRhYmxlcy12JHtQVn0iCisKK2luaGVyaXQgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitweXRob24gX19hbm9ueW1vdXMgKCkgeworICAgIGltcG9ydCByZQorCisgICAga2FyY2ggPSBkLmdldFZhcignS0FSQ0gnLCBUcnVlKQorICAgIG11bHRpbGliID0gZC5nZXRWYXIoJ01MUFJFRklYJywgVHJ1ZSkKKworICAgIGlmIG11bHRpbGliIGFuZCBrYXJjaCA9PSAncG93ZXJwYzY0JzoKKyAgICAgICAgc2VhcmNoc3RyID0gImxpYi4/MzIiCisgICAgICAgIHJlZyA9IHJlLmNvbXBpbGUoc2VhcmNoc3RyKQorICAgICAgICBpZiByZWcuc2VhcmNoKG11bHRpbGliKToKKyAgICAgICAgICAgIGQuYXBwZW5kVmFyKCdDRkxBR1MnICwnIC1ES0VSTkVMXzY0X1VTRVJTUEFDRV8zMiAtREVCVF9NSU5fQUxJR049OCcpCit9CisKK0VYVFJBX09FTUFLRSA9ICIgXAorICAgICAgICBCSU5ESVI9JHtiYXNlX3NiaW5kaXJ9IFwKKyAgICAgICAgTUFORElSPSR7bWFuZGlyfSBcCisgICAgICAgIEVUSEVSVFlQRVNQQVRIPSR7c3lzY29uZmRpcn0gXAorICAgICAgICBJTklURElSPSR7c3lzY29uZmRpcn0vaW5pdC5kIFwKKyAgICAgICAgU1lTQ09ORklHRElSPSR7c3lzY29uZmRpcn0vZGVmYXVsdCBcCisgICAgICAgIExJQkRJUj0ke2Jhc2VfbGliZGlyfS9lYnRhYmxlcyBcCisgICAgICAgICdDQz0ke0NDfScgXAorICAgICAgICAnQ0ZMQUdTPSR7Q0ZMQUdTfScgXAorICAgICAgICAnTERGTEFHUz0ke0xERkxBR1N9IC1XbCwtLW5vLWFzLW5lZWRlZCcgXAorICAgICAgICAnTEQ9JHtMRH0nIFwKKyIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2VidGFibGVzLmNvbW1vbiAke0R9JHtzYmluZGlyfS9lYnRhYmxlcy5jb21tb24KKyAgICAjIEZpeCBoYXJkY29kZWQgcGF0aHMgaW4gc2NyaXB0cworICAgIHNlZCAtaSAncyEvc2Jpbi8hJHtiYXNlX3NiaW5kaXJ9LyFnJyAke0R9JHtzYmluZGlyfS9lYnRhYmxlcy5jb21tb24KKyAgICBzZWQgLWkgJ3MhL2V0Yy8hJHtzeXNjb25mZGlyfS8hZycgJHtEfSR7c2JpbmRpcn0vZWJ0YWJsZXMuY29tbW9uCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZWJ0YWJsZXMKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JyR7RH0nIGluc3RhbGwKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9lYnRhYmxlcy5pbml0ICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvZWJ0YWJsZXMKKyAgICBtdiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L2VidGFibGVzLWNvbmZpZyAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L2VidGFibGVzCisgICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2VidGFibGVzCisKKyAgICAjIFRoZSBzY3JpcHQgZWJ0YWJsZXMtc2F2ZSByZWZlcm5jZXMgcGVybCBpbiBleGVjX3ByZWZpeCwgc28KKyAgICAjIG1vdmUgaXQgdG8gc2JpbmRpciB0byBhdm9pZCBRQSBpc3N1ZQorICAgIGluc3RhbGwgLWQgJHtEfS8ke3NiaW5kaXJ9CisgICAgbXYgJHtEfS8ke2Jhc2Vfc2JpbmRpcn0vZWJ0YWJsZXMtc2F2ZSAke0R9LyR7c2JpbmRpcn0KKworICAgICMgSW5zdGFsbCBzeXN0ZW1kIHNlcnZpY2UgZmlsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZWJ0YWJsZXMuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyNAU0JJTkRJUkAjJHtzYmluZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9lYnRhYmxlcy5zZXJ2aWNlCit9CisKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9kZWZhdWx0L2VidGFibGVzIgorCitJTklUU0NSSVBUX05BTUUgPSAiZWJ0YWJsZXMiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA0MSBTIC4gc3RvcCA0MSA2IC4iCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJlYnRhYmxlcy5zZXJ2aWNlIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7YmFzZV9saWJkaXJ9L2VidGFibGVzLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59ICs9ICIke2Jhc2VfbGliZGlyfS9lYnRhYmxlcy8qLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbGlibW5sL2xpYm1ubF8xLjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm1ubC9saWJtbmxfMS4wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNhNWYyZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm1ubC9saWJtbmxfMS4wLjMuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJNaW5pbWFsaXN0aWMgdXNlci1zcGFjZSBOZXRsaW5rIHV0aWxpdHkgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIk1pbmltYWxpc3RpYyB1c2VyLXNwYWNlIGxpYnJhcnkgb3JpZW50ZWQgdG8gTmV0bGluayBkZXZlbG9wZXJzLCBwcm92aWRpbmcgXAorICAgIGZ1bmN0aW9ucyBmb3IgY29tbW9uIHRhc2tzIGluIHBhcnNpbmcsIHZhbGlkYXRpbmcsIGFuZCBjb25zdHJ1Y3RpbmcgYm90aCB0aGUgTmV0bGluayBoZWFkZXIgYW5kIFRMVnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uZXRmaWx0ZXIub3JnL3Byb2plY3RzL2xpYm1ubC9pbmRleC5odG1sIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm5ldGZpbHRlci5vcmcvcHJvamVjdHMvbGlibW5sL2ZpbGVzL2xpYm1ubC0ke1BWfS50YXIuYnoyO25hbWU9dGFyIgorU1JDX1VSSVt0YXIubWQ1c3VtXSA9ICI3ZDk1ZmMzYmVhMzM2NWJjMDNjNDhlNDg0MjI0ZjY1ZiIKK1NSQ19VUklbdGFyLnNoYTI1NnN1bV0gPSAiNmYxNDMzNmU5YWNkYmM2MmMyZGM3MWJiYjU5Y2UxNjJlNTRlOWFmNWM4MDE1M2U5MjQ3NmM1NDQzZmU3ODRkZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvZmlsZXMvcmVwbGFjZS1WTEFzLWluLXVuaW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbGlibmV0ZmlsdGVyL2ZpbGVzL3JlcGxhY2UtVkxBcy1pbi11bmlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmU0YWY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbGlibmV0ZmlsdGVyL2ZpbGVzL3JlcGxhY2UtVkxBcy1pbi11bmlvbi5wYXRjaApAQCAtMCwwICsxLDg5IEBACitWTEFzIGluIHN0cnVjdHMgYW5kIHVuaW9ucyAobm9uLVBPRHMpIGlzIHVuc3VwcG9ydGVkIGluIG5vbi1nY2MgY29tcGlsZXJzCit0aGVyZWZvcmUgY29udmVydCBpdCB0byBub3QgdXNlIFZMQXMgaW5zdGVhZCB1c2UgZml4ZWQgYXJyYXlzCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK0luZGV4OiBsaWJuZXRmaWx0ZXJfY29ubnRyYWNrLTEuMC40L3NyYy9jb25udHJhY2svYXBpLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJuZXRmaWx0ZXJfY29ubnRyYWNrLTEuMC40Lm9yaWcvc3JjL2Nvbm50cmFjay9hcGkuYworKysrIGxpYm5ldGZpbHRlcl9jb25udHJhY2stMS4wLjQvc3JjL2Nvbm50cmFjay9hcGkuYworQEAgLTk1NCwxNiArOTU0LDE1IEBAIGludCBuZmN0X3F1ZXJ5KHN0cnVjdCBuZmN0X2hhbmRsZSAqaCwKKyAJICAgICAgIGNvbnN0IGVudW0gbmZfY29ubnRyYWNrX3F1ZXJ5IHF0LAorIAkgICAgICAgY29uc3Qgdm9pZCAqZGF0YSkKKyB7CistCXNpemVfdCBzaXplID0gNDA5NjsJLyogZW5vdWdoIGZvciBub3cgKi8KKyAJdW5pb24geworLQkJY2hhciBidWZmZXJbc2l6ZV07CisrCQljaGFyIGJ1ZmZlcls0MDk2XTsKKyAJCXN0cnVjdCBuZm5saGRyIHJlcTsKKyAJfSB1OworIAorIAlhc3NlcnQoaCAhPSBOVUxMKTsKKyAJYXNzZXJ0KGRhdGEgIT0gTlVMTCk7CisgCistCWlmIChfX2J1aWxkX3F1ZXJ5X2N0KGgtPm5mbmxzc2hfY3QsIHF0LCBkYXRhLCAmdS5yZXEsIHNpemUpID09IC0xKQorKwlpZiAoX19idWlsZF9xdWVyeV9jdChoLT5uZm5sc3NoX2N0LCBxdCwgZGF0YSwgJnUucmVxLCA0MDk2KSA9PSAtMSkKKyAJCXJldHVybiAtMTsKKyAKKyAJcmV0dXJuIG5mbmxfcXVlcnkoaC0+bmZubGgsICZ1LnJlcS5ubGgpOworQEAgLTk4NiwxNiArOTg1LDE1IEBAIGludCBuZmN0X3NlbmQoc3RydWN0IG5mY3RfaGFuZGxlICpoLAorIAkgICAgICBjb25zdCBlbnVtIG5mX2Nvbm50cmFja19xdWVyeSBxdCwKKyAJICAgICAgY29uc3Qgdm9pZCAqZGF0YSkKKyB7CistCXNpemVfdCBzaXplID0gNDA5NjsJLyogZW5vdWdoIGZvciBub3cgKi8KKyAJdW5pb24geworLQkJY2hhciBidWZmZXJbc2l6ZV07CisrCQljaGFyIGJ1ZmZlcls0MDk2XTsKKyAJCXN0cnVjdCBuZm5saGRyIHJlcTsKKyAJfSB1OworIAorIAlhc3NlcnQoaCAhPSBOVUxMKTsKKyAJYXNzZXJ0KGRhdGEgIT0gTlVMTCk7CisgCistCWlmIChfX2J1aWxkX3F1ZXJ5X2N0KGgtPm5mbmxzc2hfY3QsIHF0LCBkYXRhLCAmdS5yZXEsIHNpemUpID09IC0xKQorKwlpZiAoX19idWlsZF9xdWVyeV9jdChoLT5uZm5sc3NoX2N0LCBxdCwgZGF0YSwgJnUucmVxLCA0MDk2KSA9PSAtMSkKKyAJCXJldHVybiAtMTsKKyAKKyAJcmV0dXJuIG5mbmxfc2VuZChoLT5uZm5saCwgJnUucmVxLm5saCk7CitJbmRleDogbGlibmV0ZmlsdGVyX2Nvbm50cmFjay0xLjAuNC9zcmMvZXhwZWN0L2FwaS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlibmV0ZmlsdGVyX2Nvbm50cmFjay0xLjAuNC5vcmlnL3NyYy9leHBlY3QvYXBpLmMKKysrKyBsaWJuZXRmaWx0ZXJfY29ubnRyYWNrLTEuMC40L3NyYy9leHBlY3QvYXBpLmMKK0BAIC02NjksMTYgKzY2OSwxNSBAQCBpbnQgbmZleHBfcXVlcnkoc3RydWN0IG5mY3RfaGFuZGxlICpoLAorIAkgICAgICAgIGNvbnN0IGVudW0gbmZfY29ubnRyYWNrX3F1ZXJ5IHF0LAorIAkgICAgICAgIGNvbnN0IHZvaWQgKmRhdGEpCisgeworLQlzaXplX3Qgc2l6ZSA9IDQwOTY7CS8qIGVub3VnaCBmb3Igbm93ICovCisgCXVuaW9uIHsKKy0JCWNoYXIgYnVmZmVyW3NpemVdOworKwkJY2hhciBidWZmZXJbNDA5Nl07CisgCQlzdHJ1Y3QgbmZubGhkciByZXE7CisgCX0gdTsKKyAKKyAJYXNzZXJ0KGggIT0gTlVMTCk7CisgCWFzc2VydChkYXRhICE9IE5VTEwpOworIAorLQlpZiAoX19idWlsZF9xdWVyeV9leHAoaC0+bmZubHNzaF9leHAsIHF0LCBkYXRhLCAmdS5yZXEsIHNpemUpID09IC0xKQorKwlpZiAoX19idWlsZF9xdWVyeV9leHAoaC0+bmZubHNzaF9leHAsIHF0LCBkYXRhLCAmdS5yZXEsIDQwOTYpID09IC0xKQorIAkJcmV0dXJuIC0xOworIAorIAlyZXR1cm4gbmZubF9xdWVyeShoLT5uZm5saCwgJnUucmVxLm5saCk7CitAQCAtNzAxLDE2ICs3MDAsMTUgQEAgaW50IG5mZXhwX3NlbmQoc3RydWN0IG5mY3RfaGFuZGxlICpoLAorIAkgICAgICAgY29uc3QgZW51bSBuZl9jb25udHJhY2tfcXVlcnkgcXQsCisgCSAgICAgICBjb25zdCB2b2lkICpkYXRhKQorIHsKKy0Jc2l6ZV90IHNpemUgPSA0MDk2OwkvKiBlbm91Z2ggZm9yIG5vdyAqLworIAl1bmlvbiB7CistCQljaGFyIGJ1ZmZlcltzaXplXTsKKysJCWNoYXIgYnVmZmVyWzQwOTZdOworIAkJc3RydWN0IG5mbmxoZHIgcmVxOworIAl9IHU7CisgCisgCWFzc2VydChoICE9IE5VTEwpOworIAlhc3NlcnQoZGF0YSAhPSBOVUxMKTsKKyAKKy0JaWYgKF9fYnVpbGRfcXVlcnlfZXhwKGgtPm5mbmxzc2hfZXhwLCBxdCwgZGF0YSwgJnUucmVxLCBzaXplKSA9PSAtMSkKKysJaWYgKF9fYnVpbGRfcXVlcnlfZXhwKGgtPm5mbmxzc2hfZXhwLCBxdCwgZGF0YSwgJnUucmVxLCA0MDk2KSA9PSAtMSkKKyAJCXJldHVybiAtMTsKKyAKKyAJcmV0dXJuIG5mbmxfc2VuZChoLT5uZm5saCwgJnUucmVxLm5saCk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvbGlibmV0ZmlsdGVyLWNvbm50cmFja18xLjAuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItY29ubnRyYWNrXzEuMC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjYmM4NmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvbGlibmV0ZmlsdGVyLWNvbm50cmFja18xLjAuNC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIk5ldGZpbHRlciBjb25uZWN0aW9uIHRyYWNraW5nIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJVc2Vyc3BhY2UgbGlicmFyeSBwcm92aWRpbmcgYSBwcm9ncmFtbWluZyBpbnRlcmZhY2UgKEFQSSkgdG8gdGhlIExpbnV4IGtlcm5lbCBuZXRmaWx0ZXIgY29ubmVjdGlvbiB0cmFja2luZyBzdGF0ZSB0YWJsZSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZXRmaWx0ZXJfY29ubnRyYWNrL2luZGV4Lmh0bWwiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorREVQRU5EUyA9ICJsaWJuZm5ldGxpbmsgbGlibW5sIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZXRmaWx0ZXJfY29ubnRyYWNrL2ZpbGVzL2xpYm5ldGZpbHRlcl9jb25udHJhY2stJHtQVn0udGFyLmJ6MjtuYW1lPXRhciBcCisgICAgICAgICAgIGZpbGU6Ly9yZXBsYWNlLVZMQXMtaW4tdW5pb24ucGF0Y2ggXAorIgorU1JDX1VSSVt0YXIubWQ1c3VtXSA9ICIxOGNmODBjNGIzMzlhMzI4NWU3ODgyMmRiZDRmMDhkNyIKK1NSQ19VUklbdGFyLnNoYTI1NnN1bV0gPSAiZDllYzRhM2NhZjQ5NDE3ZjJiMGEyZDhkNDQyNDkxMzNlOGMzZWM3OGM3NTdiN2ViOGMyNzNmMWNiNjkyOWM3ZCIKKworUyA9ICIke1dPUktESVJ9L2xpYm5ldGZpbHRlcl9jb25udHJhY2stJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbGlibmV0ZmlsdGVyL2xpYm5ldGZpbHRlci1jdGhlbHBlcl8xLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItY3RoZWxwZXJfMS4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2QzNzk5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItY3RoZWxwZXJfMS4wLjAuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJOZXRmaWx0ZXIgY29ubmVjdGlvbiB0cmFja2luZyBoZWxwZXIgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlVzZXJzcGFjZSBsaWJyYXJ5IHByb3ZpZGluZyBhIHByb2dyYW1taW5nIGludGVyZmFjZSAoQVBJKSB0byB0aGUgTGludXgga2VybmVsIG5ldGZpbHRlciB1c2VyLXNwYWNlIGhlbHBlciBpbmZyYXN0cnVjdHVyZSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZXRmaWx0ZXJfY3RoZWxwZXIvaW5kZXguaHRtbCIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIiCitERVBFTkRTID0gImxpYm1ubCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm5ldGZpbHRlci5vcmcvcHJvamVjdHMvbGlibmV0ZmlsdGVyX2N0aGVscGVyL2ZpbGVzL2xpYm5ldGZpbHRlcl9jdGhlbHBlci0ke1BWfS50YXIuYnoyO25hbWU9dGFyIgorU1JDX1VSSVt0YXIubWQ1c3VtXSA9ICJiMmVmYWIxYTNhMTk4YTVhZGQ0NDg5NjBiYTAxMWFjZCIKK1NSQ19VUklbdGFyLnNoYTI1NnN1bV0gPSAiMDc2MThlNzFjNGQ5YTZiNmIzZGMxOTg2NTQwNDg2ZWUzMTBhOTgzOGJhNzU0OTI2YzdkMTRhMTdkOGZjY2YzZCIKKworUyA9ICIke1dPUktESVJ9L2xpYm5ldGZpbHRlcl9jdGhlbHBlci0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvbGlibmV0ZmlsdGVyLWN0dGltZW91dF8xLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItY3R0aW1lb3V0XzEuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjZjc0ODUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvbGlibmV0ZmlsdGVyLWN0dGltZW91dF8xLjAuMC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIk5ldGZpbHRlciBjb25uZWN0aW9uIHRyYWNraW5nIHRpbWVvdXQgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlVzZXJzcGFjZSBsaWJyYXJ5IHByb3ZpZGluZyBhIHByb2dyYW1taW5nIGludGVyZmFjZSAoQVBJKSB0byB0aGUgTGludXgga2VybmVsIG5ldGZpbHRlciBmaW5lLWdyYWluIGNvbm5lY3Rpb24gdHJhY2tpbmcgdGltZW91dCBpbmZyYXN0cnVjdHVyZSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIiCitERVBFTkRTID0gImxpYm1ubCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm5ldGZpbHRlci5vcmcvcHJvamVjdHMvbGlibmV0ZmlsdGVyX2N0dGltZW91dC9maWxlcy9saWJuZXRmaWx0ZXJfY3R0aW1lb3V0LSR7UFZ9LnRhci5iejI7bmFtZT10YXIiCitTUkNfVVJJW3Rhci5tZDVzdW1dID0gIjc2OTc0MzdmYzllYmI2ZjZiODNkZjU2YTYzM2RiN2Y5IgorU1JDX1VSSVt0YXIuc2hhMjU2c3VtXSA9ICJhZWFiMTI3NTRmNTU3Y2JhM2NlMjk1MGEyMDI5OTYzZDgxNzQ5MGRmN2VkYjQ5ODgwMDA4YjM0ZDdmZjhmZWJhIgorCitTID0gIiR7V09SS0RJUn0vbGlibmV0ZmlsdGVyX2N0dGltZW91dC0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvbGlibmV0ZmlsdGVyLWxvZ18xLjAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItbG9nXzEuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwYzlhZTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZXRmaWx0ZXIvbGlibmV0ZmlsdGVyLWxvZ18xLjAuMS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIk5ldGZpbHRlciBsb2dnaW5nIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJVc2Vyc3BhY2UgbGlicmFyeSBwcm92aWRpbmcgYSBwcm9ncmFtbWluZyBpbnRlcmZhY2UgKEFQSSkgdG8gdGhlIExpbnV4IGtlcm5lbCBuZXRmaWx0ZXIgbG9nIG1lc3NhZ2UgKE5GTE9HKSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZXRmaWx0ZXJfbG9nL2luZGV4Lmh0bWwiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorREVQRU5EUyA9ICJsaWJuZm5ldGxpbmsiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5uZXRmaWx0ZXIub3JnL3Byb2plY3RzL2xpYm5ldGZpbHRlcl9sb2cvZmlsZXMvbGlibmV0ZmlsdGVyX2xvZy0ke1BWfS50YXIuYnoyO25hbWU9dGFyIgorU1JDX1VSSVt0YXIubWQ1c3VtXSA9ICIyYTRiYjA2NTRhZTY3NWE1MmQyZThkMWMwNjA5MGI5NCIKK1NSQ19VUklbdGFyLnNoYTI1NnN1bV0gPSAiNzRlMGZlNzU3NTNkYmEzYWMxMTQ1MzFiNWU3MzI0MDQ1MmM3ODlhM2YzYWRjY2Y1YzUxMjE3ZGExZDkzM2IyMSIKKworUyA9ICIke1dPUktESVJ9L2xpYm5ldGZpbHRlcl9sb2ctJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbGlibmV0ZmlsdGVyL2xpYm5ldGZpbHRlci1xdWV1ZV8xLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItcXVldWVfMS4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRmMmFhNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5ldGZpbHRlci9saWJuZXRmaWx0ZXItcXVldWVfMS4wLjIuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJOZXRmaWx0ZXIgcGFja2V0IHF1ZXVlIGFjY2VzcyBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiVXNlcnNwYWNlIGxpYnJhcnkgcHJvdmlkaW5nIGEgcHJvZ3JhbW1pbmcgaW50ZXJmYWNlIChBUEkpIHRvIGFjY2VzcyB0aGUgTGludXgga2VybmVsIG5ldGZpbHRlciBwYWNrZXQgcXVldWUiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm5ldGZpbHRlci5vcmcvcHJvamVjdHMvbGlibmV0ZmlsdGVyX3F1ZXVlL2luZGV4Lmh0bWwiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorREVQRU5EUyA9ICJsaWJuZm5ldGxpbmsgbGlibW5sIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZXRmaWx0ZXJfcXVldWUvZmlsZXMvbGlibmV0ZmlsdGVyX3F1ZXVlLSR7UFZ9LnRhci5iejI7bmFtZT10YXIiCitTUkNfVVJJW3Rhci5tZDVzdW1dID0gImRmMDliZWZhYzM1Y2IyMTU4NjViMzlhMzZjOTZhM2ZhIgorU1JDX1VSSVt0YXIuc2hhMjU2c3VtXSA9ICI4Mzg0OTBlYjVkYmUzNThmOTY2OTgyMzcwNDk4MmY1MzEzYThkMzk3MTExNTYyMzczMjAwMjAzZjkzYWMxYTMyIgorCitTID0gIiR7V09SS0RJUn0vbGlibmV0ZmlsdGVyX3F1ZXVlLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5mbmV0bGluay9saWJuZm5ldGxpbmtfMS4wLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZm5ldGxpbmsvbGlibmZuZXRsaW5rXzEuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkZDBmODYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWZpbHRlci9saWJuZm5ldGxpbmsvbGlibmZuZXRsaW5rXzEuMC4xLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiTG93LWxldmVsIGxpYnJhcnkgZm9yIG5ldGZpbHRlciByZWxhdGVkIGtlcm5lbC91c2Vyc3BhY2UgY29tbXVuaWNhdGlvbiIKK0RFU0NSSVBUSU9OID0gImxpYm5mbmV0bGluayBpcyB0aGUgbG93LWxldmVsIGxpYnJhcnkgZm9yIG5ldGZpbHRlciByZWxhdGVkIFwKK2tlcm5lbC91c2Vyc3BhY2UgY29tbXVuaWNhdGlvbi4gSXQgcHJvdmlkZXMgYSBnZW5lcmljIG1lc3NhZ2luZyBcCitpbmZyYXN0cnVjdHVyZSBmb3IgaW4ta2VybmVsIG5ldGZpbHRlciBzdWJzeXN0ZW1zIChzdWNoIGFzIG5mbmV0bGlua19sb2csIFwKK25mbmV0bGlua19xdWV1ZSwgbmZuZXRsaW5rX2Nvbm50cmFjaykgYW5kIHRoZWlyIHJlc3BlY3RpdmUgdXNlcnMgYW5kL29yIFwKK21hbmFnZW1lbnQgdG9vbHMgaW4gdXNlcnNwYWNlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZm5ldGxpbmsvaW5kZXguaHRtbCIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9saWJuZm5ldGxpbmsvZmlsZXMvbGlibmZuZXRsaW5rLSR7UFZ9LnRhci5iejI7bmFtZT10YXIiCitTUkNfVVJJW3Rhci5tZDVzdW1dID0gIjk4OTI3NTgzZDIwMTZhOWZiMTkzNmZlZDk5MmUyYzVlIgorU1JDX1VSSVt0YXIuc2hhMjU2c3VtXSA9ICJmMjcwZTE5ZGU5MTI3NjQyZDJhMTE1ODllZjJlYzk3ZWY5MGE2NDlhNzRmNTZjZjlhOTYzMDZiMDQ4MTdiNTFhIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5mdG5sL2xpYm5mdG5sXzEuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbGlibmZ0bmwvbGlibmZ0bmxfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE3MTE1MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL2xpYm5mdG5sL2xpYm5mdG5sXzEuMC41LmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgbG93LWxldmVsIGludGVyYWN0aW9uIHdpdGggbmZ0YWJsZXMgTmV0bGluaydzIEFQSSBvdmVyIGxpYm1ubCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03OTgwODM5N2MzMzU1ZjE2M2MwMTI2MTYxMjVjOWUyNiIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAibGlibW5sIgorCitTUkNfVVJJID0gImh0dHA6Ly9uZXRmaWx0ZXIub3JnL3Byb2plY3RzL2xpYm5mdG5sL2ZpbGVzLyR7QlB9LnRhci5iejIgIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZjBjNjJjZTZiYmQ3YTdkMzlkZWYwOTk2YzFjMTdjOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNmQ0ZjVhNzAyZTM4YmM3OTg3ZjIzNjNmOWZjZDY1OTMwZThiNzAyNTk1YzIyMWE0OTdlMmYzYTM1OWJlNDk3IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL25mdGFibGVzL2ZpbGVzL2ZpeC10by1nZW5lcmF0ZS1udGYuOC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL25mdGFibGVzL2ZpbGVzL2ZpeC10by1nZW5lcmF0ZS1udGYuOC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGNlOTBhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbmZ0YWJsZXMvZmlsZXMvZml4LXRvLWdlbmVyYXRlLW50Zi44LnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK1tQQVRDSF0gZGlzYWJsZSB0byBtYWtlIG50Zi44IG1hbgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworJERCMk1BTiBkbyBub3Qgc3VwcG9ydCB0aGUgeGluY2x1ZGUgcGFyYW1ldGVyIHdoZXRoZXIgaXQgaXMKK2RvY2Jvb2syeC1tYW4gb3Igb3RoZXIsIHNvIGRpc2FibGUgdG8gbWFrZSBudGYuOCBtYW4KKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgZG9jL01ha2VmaWxlLmFtIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZG9jL01ha2VmaWxlLmFtIGIvZG9jL01ha2VmaWxlLmFtCitpbmRleCBhOTJkZTdmLi41MzdjMzZiIDEwMDY0NAorLS0tIGEvZG9jL01ha2VmaWxlLmFtCisrKysgYi9kb2MvTWFrZWZpbGUuYW0KK0BAIC0xLDUgKzEsNSBAQAorIGlmIEJVSUxEX01BTgorLW1hbl9NQU5TID0gbmZ0LjgKKysjbWFuX01BTlMgPSBuZnQuOAorIGVuZGlmCisgCisgaWYgQlVJTERfUERGCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL25mdGFibGVzL25mdGFibGVzXzAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZmlsdGVyL25mdGFibGVzL25mdGFibGVzXzAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMWI1ZTVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1maWx0ZXIvbmZ0YWJsZXMvbmZ0YWJsZXNfMC41LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiTmV0ZmlsdGVyIFRhYmxlcyB1c2Vyc3BhY2UgdXRpbGxpdGVzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQxYTc4ZmRkODc5YTI2M2E1ZTBiNDJkMWZjNTY1ZTc5IgorU0VDVElPTiA9ICJuZXQiCisKK0RFUEVORFMgPSAibGlibW5sIGxpYm5mdG5sIHJlYWRsaW5lIGdtcCIKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJrZXJuZWwtbW9kdWxlLW5mLXRhYmxlcyBcCisgICAgIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubmV0ZmlsdGVyLm9yZy9wcm9qZWN0cy9uZnRhYmxlcy9maWxlcy8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC10by1nZW5lcmF0ZS1udGYuOC5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTRiZmUxYzU0YmNiOWY2ZWQ5NzQ4MzVmMmZjYTgwNjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWZiNmRmZjMzM2Q4YTRmYzM0N2NiYmUyNzNiZjkwNWEyNjM0YjI3YThjMzlkZjBkM2E0NWQ1YTNmZGUxMGFkNiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWlyYy96bmMvem5jX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtaXJjL3puYy96bmNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyYWVjYmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWlyYy96bmMvem5jX2dpdC5iYgpAQCAtMCwwICsxLDMxIEBACitTVU1NQVJZID0gIlpOQywgYW4gYWR2YW5jZWQgSVJDIGJvdW5jZXIiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zYjgzZWY5NjM4N2YxNDY1NWZjODU0ZGRjM2M2YmQ1NyIKKworREVQRU5EUyA9ICJvcGVuc3NsIHpsaWIgaWN1IgorCitQViA9ICIxLjYuMCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3puYy96bmMuZ2l0O25hbWU9em5jIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9qaW1sb2NvL0Nzb2NrZXQuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3RoaXJkX3BhcnR5L0Nzb2NrZXQ7bmFtZT1Dc29ja2V0IFwKKyAgICAgICAgICAiCitTUkNSRVZfem5jID0gImY0N2U4NDY1ZWZhNGUxY2Q5NDhiOWNhYWU5M2FjNDAxYjQzNTVkZjgiCitTUkNSRVZfQ3NvY2tldCA9ICIwN2I0NDM3Mzk2MTIyNjUwZTViOGZiM2QwMTRlODIwYTVkZWNmNGVlIgorCisjIFRoaXMgY29uc3RydWN0cyBhIGNvbXBvc2l0ZSByZXZpc2lvbiBiYXNlZCBvbiBtdWx0aXBsZSBTUkNSRVYncy4KKyMKK1NSQ1JFVl9GT1JNQVQgPSAiem5jX0Nzb2NrZXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworIyBaTkMgaGFzIGEgY3VzdG9tIGF1dG9nZW4uc2ggdGhhdCBzdGF0ZXMgdGhhdCB0aGlzIGNvbW1hbmQgaXMgbmVlZGVkICphbmQqIGV4cGVjdGVkIHRvIGZhaWwKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGF1dG9tYWtlIC0tYWRkLW1pc3NpbmcgfHwgdHJ1ZQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBzZWQgLWkgJ3MvLWZkZWJ1Zy1wcmVmaXgtbWFwW14gXSovL2c7IHMjJHtTVEFHSU5HX0RJUl9UQVJHRVR9IyNnJyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8qLnBjCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC9uZXRtYXAvZmlsZXMvMDAwMS10ZXN0bW1hcC1maXgtY29tcGlsZS1pc3N1ZS13aXRoLWdjYy01LngucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC9uZXRtYXAvZmlsZXMvMDAwMS10ZXN0bW1hcC1maXgtY29tcGlsZS1pc3N1ZS13aXRoLWdjYy01LngucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWEzNmIxYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL25ldG1hcC9maWxlcy8wMDAxLXRlc3RtbWFwLWZpeC1jb21waWxlLWlzc3VlLXdpdGgtZ2NjLTUueC5wYXRjaApAQCAtMCwwICsxLDMzIEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworRnJvbSBjODFiZjU0ZDZlYjg3MDI4NjY2MmExMWQzYjRhOTk0NzE3YzQ3Njk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgOCBTZXAgMjAxNSAwNTozNjoyNyAtMDcwMAorU3ViamVjdDogW1BBVENIXSB0ZXN0bW1hcDogZml4IGNvbXBpbGUgaXNzdWUgd2l0aCBnY2MgNS54CisKK3RoaXMgZml4ZXM6CitleGFtcGxlcy90ZXN0bW1hcC5jOjU0MDoxMDogZXJyb3I6IGZvcm1hdCAnJWxkJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgaW50JywgYnV0IGFyZ3VtZW50IDMgaGFzIHR5cGUgJ3NzaXplX3Qge2FrYSBjb25zdCBpbnR9JyBbLVdlcnJvcj1mb3JtYXQ9XQorfCAgICBwcmludGYoInJpbmdfb2ZzWyVkXSAlbGRcbiIsIGksIG5pZnAtPnJpbmdfb2ZzW2ldKTsKK3wgICAgICAgICAgIF4KKworU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKy0tLQorIGV4YW1wbGVzL3Rlc3RtbWFwLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9leGFtcGxlcy90ZXN0bW1hcC5jIGIvZXhhbXBsZXMvdGVzdG1tYXAuYworaW5kZXggZDdmNmFjYy4uOTM0NDg5YSAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL3Rlc3RtbWFwLmMKKysrKyBiL2V4YW1wbGVzL3Rlc3RtbWFwLmMKK0BAIC01MzcsNyArNTM3LDcgQEAgZG9faWYoKQorIAlmb3IgKGkgPSAwOyBpIDwgNTsgaSsrKQorIAkJcHJpbnRmKCJzcGFyZTFbJWRdICAldVxuIiwgaSwgbmlmcC0+bmlfc3BhcmUxW2ldKTsKKyAJZm9yIChpID0gMDsgaSA8IChuaWZwLT5uaV90eF9yaW5ncyArIG5pZnAtPm5pX3J4X3JpbmdzICsgMik7IGkrKykKKy0JCXByaW50ZigicmluZ19vZnNbJWRdICVsZFxuIiwgaSwgbmlmcC0+cmluZ19vZnNbaV0pOworKwkJcHJpbnRmKCJyaW5nX29mc1slZF0gJXpkXG4iLCBpLCBuaWZwLT5yaW5nX29mc1tpXSk7CisgfQorIAorIHN0cnVjdCBuZXRtYXBfcmluZyAqCistLSAKKzIuMy41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL25ldG1hcC9maWxlcy9tYWtlZmlsZV9maXh1cC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL25ldG1hcC9maWxlcy9tYWtlZmlsZV9maXh1cC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDUwYmYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvbmV0bWFwL2ZpbGVzL21ha2VmaWxlX2ZpeHVwLnBhdGNoCkBAIC0wLDAgKzEsOTcgQEAKK1RoZSBtYWtlZmlsZSBhc3N1bWVzIGJ1aWxkaW5nIGxvY2FsbHkuCisKK1Vwc3RyZWFtIFN0YXR1czogSW5hcHByb3ByaWF0ZSBbTmF0aXZlXQorCitUaGUgY29uZmlndXJlIGlzIG5vdCBhdXRvLW1ha2UgYmFzZWQKKworU2lnbmVkLW9mLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KKworSW5kZXg6IExJTlVYL25ldG1hcC5tYWsuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL0xJTlVYL25ldG1hcC5tYWsuaW4KKysrKyBiL0xJTlVYL25ldG1hcC5tYWsuaW4KK0BAIC0xMiwxMCArMTIsOSBAQCBTUkNESVI6PUBTUkNESVJACisgIyBUaGUgZm9sbG93aW5nIGNvbW1hbmRzIGFyZSBuZWVkZWQgdG8gYnVpbGQgdGhlIG1vZHVsZXMgYXMgb3V0LW9mLXRyZWUsCisgIyBpbiBmYWN0IHRoZSBrZXJuZWwgc291cmNlcyBwYXRoIG11c3QgYmUgc3BlY2lmaWVkLgorIAorLVBXRCA/PSAkKENVUkRJUikKKyAKKyAjIEFkZGl0aW9uYWwgY29tcGlsZSBmbGFncyAoZS5nLiBoZWFkZXIgbG9jYXRpb24pCistRVhUUkFfQ0ZMQUdTIDo9IC1JJChQV0QpIC1JJChTUkNESVIpIC1JJChTUkNESVIpLy4uL3N5cyAtSSQoU1JDRElSKS8uLi9zeXMvZGV2IC1EQ09ORklHX05FVE1BUAorK0VYVFJBX0NGTEFHUyA6PSAtSSQoU1JDRElSKSAtSSQoU1JDRElSKS8uLi9zeXMgLUkkKFNSQ0RJUikvLi4vc3lzL2RldiAtRENPTkZJR19ORVRNQVAKKyBFWFRSQV9DRkxBR1MgKz0gLVduby11bnVzZWQtYnV0LXNldC12YXJpYWJsZQorIEVYVFJBX0NGTEFHUyArPSAkKGZvcmVhY2ggcywkKFNVQlNZUyksLURDT05GSUdfTkVUTUFQXyQoc2hlbGwgZWNobyAkc3x0ciBhLXotIEEtWl8pKQorIAorSW5kZXg6IExJTlVYL2NvbmZpZ3VyZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvTElOVVgvY29uZmlndXJlCisrKysgYi9MSU5VWC9jb25maWd1cmUKK0BAIC0zNDksNTIgKzM0OSw2IEBAIHJlc2V0X3Rlc3RzKCkgeworIAlFT0YKKyB9CisgCistIyBydW5fdGVzdHM6IHJ1biBhbGwgYWNjdW11bGF0ZWQgdGVzdHMgYW5kIGV4ZWMgdGhlIHBlcnRpbmVudAorLSMgICBzdWNjZXNzL2ZhaWx1cmUgYWN0aW9ucyBmb3IgZWFjaCBvbmUuCistcnVuX3Rlc3RzKCkgeworLQlsb2NhbCB0PSAJIyBwcmV2ZW50IC1FT0YgdG8gZWF0IHRoZSBtYWtlIFRBQgorLQljYXQgPiAkVE1QRElSL01ha2VmaWxlIDw8LUVPRgorLQkJaWZuZXEgKFwkKEtFUk5FTFJFTEVBU0UpLCkKKy0JCW9iai1tIDo9ICRURVNUT0JKUworLQkJZWxzZQorLQkJU19EUklWRVJTIDo9ICQoZHJ2IHByaW50KQorLQkJYWxsOiBcJChTX0RSSVZFUlM6JT1nZXQtJSkKKy0JCSR0CVwkKE1BS0UpIC1DICRrc3JjIE09XCRcJFBXRCAka29wdHMKKy0KKy0JCS1pbmNsdWRlICRUT1BESVIvZHJpdmVycy5tYWsKKy0JRU9GCistCWZvciBkIGluICQoZHJ2IHByaW50KTsgZG8KKy0JCWNhdCA+PiAkVE1QRElSL01ha2VmaWxlIDw8LUVPRgorLQkJCWdldC0kZDoKKy0JCQkkdAlbIC16ICJcJCgkZC1zcmMpIiBdIHx8IGNwIC1ScCBcJCgkZC1zcmMpIFwkKGlmIFwkKCRkLWRzdCksXCQoJGQtZHN0KSwuKQorLQkJCSR0CXRvdWNoIGdldC0kZAorLQkJRU9GCistCWRvbmUKKy0JZWNobyBlbmRpZiA+PiAkVE1QRElSL01ha2VmaWxlCistCXsKKy0JCWNhdCA8PC1FT0YKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIyBCRUdJTiBSVU5OSU5HIFRFU1RTOiAkKGRhdGUpCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyMgTWFrZWZpbGU6CistCQlFT0YKKy0JCWNhdCAkVE1QRElSL01ha2VmaWxlCistCQljYXQgPDwtRU9GCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistCQlFT0YKKy0JfSA+PiBjb25maWcubG9nCistCSgKKy0JCWNkICRUTVBESVIKKy0JCW1ha2UgLWsgLWogJChncmVwIC1jIHByb2Nlc3NvciAvcHJvYy9jcHVpbmZvKQorLQkpID4+IGNvbmZpZy5sb2cKKy0JZXZhbCAiJFRFU1RQT1NUUFJPQyIKKy0JY2F0ID4+IGNvbmZpZy5sb2cgPDwtRU9GCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyMgRU5EIFJVTk5JTkcgVEVTVFM6ICQoZGF0ZSkKKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0JRU9GCistfQorLQorIGNvbmZpZ2g9bmV0bWFwX2xpbnV4X2NvbmZpZy5oCisgIyBzdWNjZXMvZmFpbHVyZSBhY3Rpb25zIGFyZSBleHBlY3RlZCB0byB3cml0ZSBzb21lIG1hY3JvcworICMgaW4gbmV0bWFfbGludXhfY29uZmlnLmguIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGNhbiBiZQorQEAgLTYxOSw3ICs1NzMsNiBAQCBjb25maWd1cmF0aW9uLiBQbGVhc2UgY2hlY2sgJ2NvbmZpZy5sb2cnCisgcmVzZXRfdGVzdHMKKyBybSAtZiBkcml2ZXJzLm1haworIGFkZF90ZXN0IHRydWUgYnJva2VuX2J1aWxkc3lzdGVtIDwgL2Rldi9udWxsCistcnVuX3Rlc3RzCisgCisgZHJ2bmFtZTJjb25maWcoKSB7CisgCWxvY2FsIG5hbWU9JDEKK0BAIC0xMjgwLDcgKzEyMzMsNiBAQCBjYXQgPiAkY29uZmlnaCA8PC1FT0YKKyBFT0YKKyAKKyAjIHRoZSBURVNUUE9TVFBST0Mgc2NyaXB0IHdpbGwgYWRkIG1hY3JvcyB0byAkY29uZmlnaAorLXJ1bl90ZXN0cworIAorIGRlZmluZSBEUklWRVJfU1VGRklYIFwiJGRydnN1ZmZpeFwiCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC9uZXRtYXAvbmV0bWFwLW1vZHVsZXNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvbmV0bWFwL25ldG1hcC1tb2R1bGVzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDZhNGYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvbmV0bWFwL25ldG1hcC1tb2R1bGVzX2dpdC5iYgpAQCAtMCwwICsxLDg5IEBACityZXF1aXJlIG5ldG1hcC5pbmMKKworREVQRU5EUyA9ICJ2aXJ0dWFsL2tlcm5lbCIKK2RvX2NvbmZpZ3VyZVtkZXBlbmRzXSArPSAidmlydHVhbC9rZXJuZWw6ZG9fc2hhcmVkX3dvcmtkaXIiCisKK2luaGVyaXQgbW9kdWxlCisKK0NMRUFOQlJPS0VOID0gIjEiCisKK2V4cG9ydCBJTlNUQUxMX01PRF9ESVI9Imtlcm5lbC9uZXRtYXAtbW9kdWxlcyIKKworRVhUUkFfT0VDT05GID0gIi0ta2VybmVsLWRpcj0ke1NUQUdJTkdfS0VSTkVMX0JVSUxERElSfSBcCisgICAgICAgICAgICAgICAgLS1rZXJuZWwtc291cmNlcz0ke1NUQUdJTkdfS0VSTkVMX0RJUn0gXAorICAgICAgICAgICAgICAgIC0taW5zdGFsbC1tb2QtcGF0aD0ke0R9IFwKKyAgICAgICAgICAgICAgICAtLWRyaXZlci1zdWZmaXg9Ii1uZXRtYXAiIFwKKyAgICAgICAgICAgICAgICAiCisKKyMgVGhlIGRyaXZlciBidWlsZHMgYXJlIG9wdGlvbmFsLCBidXQgZm9yIGRldGVybWluaXN0aWMgYnVpbGRzLAorIyB3ZSBzaG91bGQgYmUgYWJsZSB0byBleHBsaWNpdGx5IGVuYWJsZS9kaXNhYmxlIHRoZSBidWlsZHMKKyMgZm9yIHRoZW0gaW4gYSBwcm9wZXIgcGxhY2UgKG1heWJlIGluIEJTUCkuCisjIEJ1dCB3ZSBjYW4ndCB1c2UgUEFDS0FHRUNPTkZJRyBzaW5jZSB0aGVyZSBpcyBubyBvcHRpb24gZm9yCisjIGVhY2ggZHJpdmVyLCBhbmQgdGhlIG9wdGlvbnMgYXJlOgorIyAgLS1uby1kcml2ZXJzICAgIGRvIG5vdCBjb21waWxlIGFueSBkcml2ZXIKKyMgIC0tbm8tZHJpdmVycz0gICBkbyBub3QgY29tcGlsZSB0aGUgZ2l2ZW4gZHJpdmVycyAoY29tbWEgc2VwLikKKyMgIC0tZHJpdmVycz0gICAgICBvbmx5IGNvbXBpbGUgdGhlIGdpdmVuIGRyaXZlcnMgKGNvbW1hIHNlcC4pCisjCisjIFNvIHVzZSBORVRNQVBfRFJJVkVSUyBhbmQgdGhlIGZvbGxvd2luZyBweXRob24gY29kZSB0byBhZGQgcHJvcGVyCisjIGNvbmZpZ3MgdG8gRVhUUkFfT0VDT05GLgorIworIyBUaGUgZGVmYXVsdCBpcyBuby1kcml2ZXJzLCBhbmQgYWxsIHN1cHBvcnRlZCBkcml2ZXJzIGFyZSBsaXN0ZWQKKyMgaW4gTkVUTUFQX0FMTF9EUklWRVJTLgorTkVUTUFQX0RSSVZFUlMgPz89ICIiCitORVRNQVBfQUxMX0RSSVZFUlMgPSAiaXhnYmUgaWdiIGUxMDAwZSBlMTAwMCB2ZXRoLmMgZm9yY2VkZXRoLmMgdmlydGlvX25ldC5jIHI4MTY5LmMiCisKK3B5dGhvbiBfX2Fub255bW91cyAoKSB7CisgICAgZHJpdmVyc19saXN0ID0gZC5nZXRWYXIoIk5FVE1BUF9EUklWRVJTIiwgVHJ1ZSkuc3BsaXQoKQorICAgIGFsbF9kcml2ZXJzX2xpc3QgPSBkLmdldFZhcigiTkVUTUFQX0FMTF9EUklWRVJTIiwgVHJ1ZSkuc3BsaXQoKQorICAgIGNvbmZpZ19kcml2ZXJzID0gIi0tZHJpdmVycz0iICsgIiwiLmpvaW4oZHJpdmVyc19saXN0KQorCisgICAgZXh0cmFfb2Vjb25mX2RyaXZlcnMgPSBiYi51dGlscy5jb250YWluc19hbnkoJ05FVE1BUF9EUklWRVJTJywgYWxsX2RyaXZlcnNfbGlzdCwgY29uZmlnX2RyaXZlcnMsICctLW5vLWRyaXZlcnMnLCBkKQorICAgIGQuYXBwZW5kVmFyKCJFWFRSQV9PRUNPTkYiLCBleHRyYV9vZWNvbmZfZHJpdmVycykKK30KKworTERGTEFHUyA6PSAiJHtAJyR7TERGTEFHU30nLnJlcGxhY2UoJy1XbCwtTzEnLCAnJyl9IgorTERGTEFHUyA6PSAiJHtAJyR7TERGTEFHU30nLnJlcGxhY2UoJy1XbCwtLWFzLW5lZWRlZCcsICcnKX0iCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgY2QgJHtTfS9MSU5VWAorICAgIC4vY29uZmlndXJlICR7RVhUUkFfT0VDT05GfQorfQorCitkb19jb25maWd1cmVfYXBwZW5kICgpIHsKKyAgICBjYXQgPj4gICR7U30vTElOVVgvbmV0bWFwX2xpbnV4X2NvbmZpZy5oIDw8RU9GCisjZGVmaW5lIE5FVE1BUF9MSU5VWF9IQVZFX0hSVElNRVJfTU9ERV9SRUwKKyNkZWZpbmUgTkVUTUFQX0xJTlVYX0hBVkVfSFJUSU1FUl9GT1JXQVJEX05PVworI2RlZmluZSBORVRNQVBfTElOVVhfSEFWRV9QSFlTX0FERFJfVAorI2RlZmluZSBORVRNQVBfTElOVVhfSEFWRV9BQ0NFU1NfT05DRQorI2RlZmluZSBORVRNQVBfTElOVVhfSEFWRV9ORVRERVZfT1BTCisjZGVmaW5lIE5FVE1BUF9MSU5VWF9IQVZFX0lOSVRfTkVUCisjZGVmaW5lIE5FVE1BUF9MSU5VWF9IQVZFX0xJVkVfQUREUl9DSEFOR0UKKyNkZWZpbmUgTkVUTUFQX0xJTlVYX0hBVkVfVFhfU0tCX1NIQVJJTkcKKyNkZWZpbmUgTkVUTUFQX0xJTlVYX0hBVkVfVU5MT0NLRURfSU9DVEwKKyNkZWZpbmUgTkVUTUFQX0xJTlVYX0hBVkVfUEVSTkVUX09QU19JRAorI2RlZmluZSBORVRNQVBfTElOVVhfVklSVElPX0ZVTkNUSU9OUworI2RlZmluZSBORVRNQVBfTElOVVhfVklSVElPX0ZSRUVfUEFHRVMKKyNkZWZpbmUgTkVUTUFQX0xJTlVYX1ZJUlRJT19HRVRfVlJTSVpFCisjZGVmaW5lIE5FVE1BUF9MSU5VWF9USU1FUl9SVFlQRSBlbnVtIGhydGltZXJfcmVzdGFydAorI2RlZmluZSBORVRNQVBfTElOVVhfVklSVElPX01VTFRJX1FVRVVFCisjZGVmaW5lIE5FVE1BUF9MSU5VWF9IQVZFX0UxMDAwRV9FWFRfUlhERVNDCisjZGVmaW5lIE5FVE1BUF9MSU5VWF9IQVZFX0UxMDAwRV9ET1dOMgorRU9GCisKK2lmICR7QCAnZmFsc2UnIGlmIChiYi51dGlscy52ZXJjbXBfc3RyaW5nKGQuZ2V0VmFyKCdLRVJORUxfVkVSU0lPTicsIFRydWUpLCAnMy4xNycpIDwgMCkgZWxzZSAndHJ1ZScgfSA7IHRoZW4KKyAgICBlY2hvIE9LCisgICAgY2F0ID4+ICAke1N9L0xJTlVYL25ldG1hcF9saW51eF9jb25maWcuaCA8PEVPRgorI2RlZmluZSBORVRNQVBfTElOVVhfQUxMT0NfTkVUREVWXzRBUkdTCitFT0YKK2ZpCit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIGNkICR7U30vTElOVVgKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIGNkICR7U30vTElOVVgKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL25ldG1hcC9uZXRtYXAuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvbmV0bWFwL25ldG1hcC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWIzM2U3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL25ldG1hcC9uZXRtYXAuaW5jCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAibmV0bWFwIGFuZCBWQUxFIC0gdmVyeSBmYXN0IHBhY2tldCBJL08gZnJvbSB1c2Vyc3BhY2UgKEZyZWVCU0QvTGludXgpIgorREVTQ1JJUFRJT049ICJORVRNQVAgaXMgYSBmcmFtZXdvcmsgZm9yIHZlcnkgZmFzdCBwYWNrZXQgSS9PIGZyb20gdXNlcnNwYWNlLiAgVkFMRSBpcyBhbiBlcXVhbGx5IGZhc3QgaW4ta2VybmVsIHNvZnR3YXJlIHN3aXRjaCB1c2luZyB0aGUgbmV0bWFwIEFQSS4gIEJvdGggYXJlIGltcGxlbWVudGVkIGFzIGEgc2luZ2xlIGtlcm5lbCBtb2R1bGUgZm9yIEZyZWVCU0QgYW5kIExpbnV4LCBhbmQgY2FuIGRlYWwgd2l0aCBsaW5lIHJhdGUgb24gcmVhbCBvciBlbXVsYXRlZCAxMCBHYml0IHBvcnRzLiIKK1NFQ1RJT04gPSAibmV0d29ya2luZyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9uZXRtYXAvIgorTElDRU5TRSA9ICJHUEx2MisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MTM7ZW5kbGluZT0xNDttZDU9NTZhZTBiOWM3YmEwNDc2YWI5MDk4ZGU5NGMyNzE0ZDYiCisKK1NSQ1JFViA9ICJkYTllMTllNjliODRlNGY2ZjhhZTEyNWY4ZDAxYjQyYTRhYmFkZTZhIgorUFYgPSAibWFzdGVyK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbHVpZ2lyaXp6by9uZXRtYXAuZ2l0IgorU1JDX1VSSSArPSAiZmlsZTovL21ha2VmaWxlX2ZpeHVwLnBhdGNoIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitDT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NHxpLjg2fG1pcHN8YXJtKS4qLWxpbnV4JwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvbmV0bWFwL25ldG1hcF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC9uZXRtYXAvbmV0bWFwX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDI4NTg1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvbmV0bWFwL25ldG1hcF9naXQuYmIKQEAgLTAsMCArMSwzNCBAQAorcmVxdWlyZSBuZXRtYXAuaW5jCisKK0RFUEVORFMgPSAibmV0bWFwLW1vZHVsZXMiCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitFWFRSQV9PRUNPTkYgPSAiLS1rZXJuZWwtZGlyPSR7U1RBR0lOR19LRVJORUxfQlVJTERESVJ9IFwKKyAgICAgICAgICAgICAgICAtLWtlcm5lbC1zb3VyY2VzPSR7U1RBR0lOR19LRVJORUxfRElSfSBcCisgICAgICAgICAgICAgICAgLS1uby1kcml2ZXJzIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZ2VuZXJpYyBcCisgICAgICAgICAgICAgICAgLS1wcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAtLWRlc3RkaXI9JHtEfSBcCisgICAgICAgICAgICAgICAgLS1jYz0nJHtDQ30nIFwKKyAgICAgICAgICAgICAgICAtLWxkPScke0xEfScgXAorICAgICAgICAgICAgICAgICIKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXRlc3RtbWFwLWZpeC1jb21waWxlLWlzc3VlLXdpdGgtZ2NjLTUueC5wYXRjaCIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICBjZCAke1N9L0xJTlVYCisgICAgLi9jb25maWd1cmUgJHtFWFRSQV9PRUNPTkZ9Cit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIGNkICR7U30vTElOVVgKKyAgICBtYWtlIGFwcHMKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgY2QgJHtTfS9MSU5VWAorICAgIG1ha2UgaW5zdGFsbC1hcHBzIERFU1RESVI9JHtEfQorfQorCitGSUxFU18ke1BOfSArPSAiJHtiaW5kaXJ9IgorUkRFUEVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1uZXRtYXAiCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLW5ldG1hcCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1mdHAvbmV0a2l0LWZ0cC9BZGRfQVJHX01BWF9kZWZpbmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtZnRwL25ldGtpdC1mdHAvQWRkX0FSR19NQVhfZGVmaW5lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhNDdmZDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtZnRwL25ldGtpdC1mdHAvQWRkX0FSR19NQVhfZGVmaW5lLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK1RoaXMgYWRkcyBBUkdfTUFYIGRlZmluZSB0byBiZSBfU0NfQVJHX01BWAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUuCitNb3N0IGRpc3Ryb3MgaGF2ZSB0aGVpciBvd24gdmVyaW9uIGZvciB0aGlzIGZpeC4KKworU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKworSW5kZXg6IG5ldGtpdC1mdHAtMC4xNy9mdHAvZ2xvYi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmV0a2l0LWZ0cC0wLjE3Lm9yaWcvZnRwL2dsb2IuYworKysrIG5ldGtpdC1mdHAtMC4xNy9mdHAvZ2xvYi5jCitAQCAtNTAsNiArNTAsNyBAQCBjaGFyIGdsb2JfcmNzaWRbXSA9CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KKysjaW5jbHVkZSA8dW5pc3RkLmg+CisgCisgI2luY2x1ZGUgImZ0cF92YXIuaCIgIC8qIGZvciBwcm90b3Mgb25seSAqLworICNpbmNsdWRlICJnbG9iLmgiCitAQCAtNTcsNiArNTgsOSBAQCBjaGFyIGdsb2JfcmNzaWRbXSA9CisgI2RlZmluZQlRVU9URSAwMjAwCisgI2RlZmluZQlUUklNIDAxNzcKKyAjZGVmaW5lCWVxKGEsYikJCShzdHJjbXAoYSwgYik9PTApCisrI2lmbmRlZiBBUkdfTUFYCisrI2RlZmluZSBBUkdfTUFYIChzeXNjb25mKF9TQ19BUkdfTUFYKSkKKysjZW5kaWYKKyAjZGVmaW5lCUdBVlNJWgkJKEFSR19NQVgvNikKKyAjZGVmaW5lCWlzZGlyKGQpCSgoZC5zdF9tb2RlICYgU19JRk1UKSA9PSBTX0lGRElSKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LWZ0cC9uZXRraXQtZnRwXzAuMTcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtZnRwL25ldGtpdC1mdHBfMC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2Y1YmM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LWZ0cC9uZXRraXQtZnRwXzAuMTcuYmIKQEAgLTAsMCArMSw0NiBAQAorREVTQ1JJUFRJT04gPSAibmV0a2l0LWZ0IGluY2x1ZGVzIHRoZSBmdHAgY2xpZW50LiIKK1NFQ1RJT04gPSAibmV0IgorSE9NRVBBR0U9ImZ0cDovL2Z0cC51ay5saW51eC5vcmcvcHViL2xpbnV4L05ldHdvcmtpbmcvbmV0a2l0IgorTElDRU5TRSA9ICJCU0QiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2Z0cC9mdHAuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTM7bWQ1PTJkNDBhNzVhNTBkODNiOGY2MzE3YjNmNTNkYjcyYmZhIgorCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9uL25ldGtpdC1mdHAvbmV0a2l0LWZ0cF8ke1BWfS5vcmlnLnRhci5nejtuYW1lPWFyY2hpdmUgXAorICAgICAgICAgICAgJHtERUJJQU5fTUlSUk9SfS9tYWluL24vbmV0a2l0LWZ0cC9uZXRraXQtZnRwXyR7UFZ9LTMxLmRlYmlhbi50YXIueHo7bmFtZT1wYXRjaDMxIFwKKyAgICAgICAgICAgIGZpbGU6Ly9BZGRfQVJHX01BWF9kZWZpbmUucGF0Y2ggXAorIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI5NDQ0MTYxMGM5Yjg2ZWY0NWM0YzZlYzYwOTQ0NDA2MCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjYxYzkxMzI5OWI4MWE0NjcxZmYwODlhYWM4MjEzMjlmN2RiOWJjMTExYWE4MTI5OTNkZDU4NTc5OGI3MDAzNDkiCitTUkNfVVJJW3BhdGNoMzEubWQ1c3VtXSA9ICI5M2Q3MWUyOGNlNzBkZjY5ZTA4MGM3ZjkwZGE2M2NhYyIKK1NSQ19VUklbcGF0Y2gzMS5zaGEyNTZzdW1dID0gIjRlZGQ0NmEzMmQ3MGRhYTdiYTAwZjBlYmYwMTE4ZGM1ZDE3ZGZmMjNkNmU0NmFhMjFhMjcyMmJlMmUyMmQxYzEiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitkb19jb25maWd1cmUgKCkgeworICAgIC4vY29uZmlndXJlIC0tcHJlZml4PSR7cHJlZml4fQorICAgIGVjaG8gIkxERkxBR1M9JHtMREZMQUdTfSIgPj4gTUNPTkZJRworfQorCitCSU5NT0RFID0gIjA3NTUiCitNQU5NT0RFID0gIjA2NDQiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjUKKworICAgIGluc3RhbGwgLW0ke0JJTk1PREV9ICR7U30vZnRwL2Z0cCAke0R9JHtiaW5kaXJ9CisgICAgbG4gLXNmIGZ0cCAke0R9JHtiaW5kaXJ9L3BmdHAKKyAgICBpbnN0YWxsIC1tJHtNQU5NT0RFfSAke1N9L2Z0cC9mdHAuMSAke0R9JHttYW5kaXJ9L21hbjEKKyAgICBsbiAtc2YgZnRwLjEgJHtEfSR7bWFuZGlyfS9tYW4xL3BmdHAuMQorICAgIGluc3RhbGwgLW0ke01BTk1PREV9ICR7U30vZnRwL25ldHJjLjUgJHtEfSR7bWFuZGlyfS9tYW41Cit9CisKK1BBQ0tBR0VTID0gIiR7UE59ICR7UE59LWRvYyAke0JQTn0tZGJnIgorRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9LyoiCitGSUxFU18ke1BOfS1kb2MgPSAiJHttYW5kaXJ9IgorRklMRVNfJHtQTn0tZGJnID0gIiR7cHJlZml4fS9zcmMvZGVidWcgXAorICAgICAgICAgICAgJHtiaW5kaXJ9Ly5kZWJ1ZyIKKworUkRFUEVORFNfJHtQTn0gPSAicmVhZGxpbmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnBjL25ldGtpdC1ycGMvZ2NjNC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1ycGMvbmV0a2l0LXJwYy9nY2M0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NGNlYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnBjL25ldGtpdC1ycGMvZ2NjNC5wYXRjaApAQCAtMCwwICsxLDM5IEBACitUaGlzIGZpeGVzIGFuIGlzc3VlIHdoZW4gYnVpbGRpbmcgd2l0aCBnY2MgNC54CisKK2h0dHBzOi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb3BlbmVtYmVkZGVkL3RyZWUvbWFzdGVyL3JlY2lwZXMvbmV0a2l0LXJwYy9uZXRraXQtcnBjCisKK1Vwc3RyZWFtLXN0YXR1czogQmFja3BvcnRlZAorCitTaWduZWQtb2ZmLUJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorCistLS0gbmV0a2l0LXJwYy0wLjE3L3JwY2dlbi9ycGNfY291dC5jfmdjYzQKKysrKyBuZXRraXQtcnBjLTAuMTcvcnBjZ2VuL3JwY19jb3V0LmMKK0BAIC0xMDEsOCArMTAxLDYgQEAKKyAJY2FzZSBERUZfVFlQRURFRjoKKyAJCWVtaXRfdHlwZWRlZihkZWYpOworIAkJYnJlYWs7CistCWRlZmF1bHQ6CistCSAgLyogY2FuJ3QgaGFwcGVuICovCisgCX0KKyAJcHJpbnRfdHJhaWxlcigpOworIH0KK0BAIC02NjQsOSArNjYyLDYgQEAKKyAJICAgZGVjbC0+bmFtZSxkZWNsLT5hcnJheV9tYXgpOworICAgZW1pdF9zaW5nbGVfaW5fbGluZShkZWNsLGZsYWcsUkVMX1ZFQ1RPUik7CisgICAgIGZfcHJpbnQoZm91dCwiXHRcdCAgIH1cblx0XHQgfTtcbiIpOworLQorLSAgZGVmYXVsdDoKKy0gICAgLyogPy4uLiBkbyBub3RoaW5nIEkgZ3Vlc3MgKi8KKyAgIH0KKyB9CisgCistLS0gbmV0a2l0LXJwYy0wLjE3L3JwY2dlbi9ycGNfaG91dC5jfmdjYzQKKysrKyBuZXRraXQtcnBjLTAuMTcvcnBjZ2VuL3JwY19ob3V0LmMKK0BAIC0xMDYsOCArMTA2LDYgQEAKKyAJCWZfcHJpbnQoZm91dCwgIlxuIik7CisgCQlwcHJvZ3JhbWRlZihkZWYpOworIAkJYnJlYWs7CistCSAgZGVmYXVsdDoKKy0JICAgIC8qID8uLi4gc2hvdWxkbid0IGhhcHBlbiBJIGd1ZXNzICovCisgCX0KKyB9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnBjL25ldGtpdC1ycGNfMC4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1ycGMvbmV0a2l0LXJwY18wLjE3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiYzlkODgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnBjL25ldGtpdC1ycGNfMC4xNy5iYgpAQCAtMCwwICsxLDM4IEBACitERVNDUklQVElPTiA9ICJuZXRraXQtcnBjIGluY2x1ZGVzIHJwY2luZm8gYW5kIHJwY2dlbi4iCitIT01FUEFHRSA9ICJodHRwOi8vZnRwLmxpbnV4Lm9yZy51ay9wdWIvbGludXgvTmV0d29ya2luZy9uZXRraXQiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiU1BMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3JwY2luZm8vcnBjaW5mby5jO2JlZ2lubGluZT0yO2VuZGxpbmU9MzttZDU9M2U2MzM5ZTNjZTI2NmUxMTIyYzViYTI5M2UwNGJjODkiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2djYzQucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiNjcyMTI3MjA0ODJlYTFhZWE5MTgyYTk4NjUzYTk2NDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDIxZDYzYjQxNDE2MjIzN2E3Mjg2NzA2MWYxYmQzZTM3NTJhMGQ5NjJjZDVkMzBiNWU5MzNkZGFkOGExNGQzYiIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0KKyAgICBlY2hvICJMREZMQUdTPSR7TERGTEFHU30iID4gTUNPTkZJRworICAgIGVjaG8gIkNDPSR7Q0N9IiA+PiBNQ09ORklHCisgICAgZWNobyAiTEQ9JHtMRH0iID4+IE1DT05GSUcKKyAgICBlY2hvICJDRkxBR1M9JHtDRkxBR1N9IiA+PiBNQ09ORklHCisgICAgZWNobyAiTERGTEFHUz0ke0xERkxBR1N9IiA+PiBNQ09ORklHCit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UgJ0NDPSR7Q0N9JyAnTEQ9JHtMRH0nICdMREZMQUdTPSR7TERGTEFHU30nCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjgKKworICAgICMgcmVtb3ZlIHN0cmlwIGZsYWcKKyAgICBzZWQgLWkgJ3MvaW5zdGFsbCAtcy9pbnN0YWxsLycgcnBjaW5mby9NYWtlZmlsZQorICAgIHNlZCAtaSAncy9pbnN0YWxsIC1zL2luc3RhbGwvJyBycGNnZW4vTWFrZWZpbGUKKworICAgIG9lX3J1bm1ha2UgJ0lOU1RBTExST09UPSR7RH0nICdCSU5NT0RFPTA3NTUnIFwKKyAgICAnREFFTU9OTU9ERT0wNzU1JyAnTUFOTU9ERT0wNjQ0JyBcCisgICAgJ0JJTkRJUj0ke2JpbmRpcn0nICdTQklORElSPSR7c2JpbmRpcn0nIFwKKyAgICAnTUFORElSPSR7bWFuZGlyfScgaW5zdGFsbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL2ZpeC1ob3N0LXZhcmlhYmxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL2ZpeC1ob3N0LXZhcmlhYmxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMzYzMWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvZml4LWhvc3QtdmFyaWFibGUucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorZml4IGhvc3QgdmFyaWFibGUgd2hlbiByc2ggaXMgcmVuYW1lZCB0byBvdGhlci4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0lmIHJzaCBpcyByZW5hbWVkIHRvIG90aGVyLCBsaWtlIHJzaC5uZXRraXQsIGhvc3QgdmFyaWFibGUgaXMgYXNzaWduZWQgdG8KK3JzaC5uZXRraXQsIHdoaWNoIGlzIHdyb25nLgorCitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyByc2gvcnNoLmMgfCAgICAxIC0KKyAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3JzaC9yc2guYyBiL3JzaC9yc2guYworaW5kZXggYWM1OTRmOS4uMTFmNTMzZSAxMDA2NDQKKy0tLSBhL3JzaC9yc2guYworKysrIGIvcnNoL3JzaC5jCitAQCAtMTAwLDcgKzEwMCw2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAjZWxzZQorIAlpZiAoIXN0cmNtcChwLCAicnNoIikpIGFzcnNoID0gMTsKKyAjZW5kaWYKKy0JZWxzZSBob3N0ID0gcDsKKyAKKyAJLyogaGFuZGxlICJyc2ggaG9zdCBmbGFncyIgKi8KKyAJaWYgKCFob3N0ICYmIGFyZ2MgPiAyICYmIGFyZ3ZbMV1bMF0gIT0gJy0nKSB7CistLSAKKzEuNy41LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL25ldGtpdC1yc2gtMC4xNy1yZXhlYy1pcHY2LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL25ldGtpdC1yc2gtMC4xNy1yZXhlYy1pcHY2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmZDA2MGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvbmV0a2l0LXJzaC0wLjE3LXJleGVjLWlwdjYucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorbWFrZSByZXhlYyBzdXBwb3J0IGlwdjYKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKK3JleGVjIGVxdWFscyByZXhlY19hZiguLi4gLEFGX0lORVQpIHdoaWNoIG9ubHkgc3VwcG9ydCBpcHY0LAordXNlIHJleGVjX2FmKC4uLiwgQUZfVU5TUEVDKSB0byBzdXBwb3J0IGJvdGggaXB2NiBhbmQgaXB2NC4KKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgcmV4ZWMvcmV4ZWMuYyB8ICAgIDQgKystLQorIDEgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcmV4ZWMvcmV4ZWMuYyBiL3JleGVjL3JleGVjLmMKK2luZGV4IDA5MTNjMDIuLjljOGY3NjkgMTAwNjQ0CistLS0gYS9yZXhlYy9yZXhlYy5jCisrKysgYi9yZXhlYy9yZXhlYy5jCitAQCAtMjE0LDggKzIxNCw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICAgIHBhc3N3ZCA9IGdldHBhc3MoIlBhc3N3b3JkOiAiKTsKKyAgIH0KKyAKKy0gIGlmICggKHNvY2sgPSByZXhlYygmaG9zdCwgcG9ydF9leGVjLCB1c2VyX25hbWUsIHBhc3N3ZCwgY29tbWFuZCwgCistCQkgICAgIHBfdG9fYXV4X3NvY2spKSA8IDAgKQorKyAgaWYgKCAoc29jayA9IHJleGVjX2FmKCZob3N0LCBwb3J0X2V4ZWMsIHVzZXJfbmFtZSwgcGFzc3dkLCBjb21tYW5kLCAKKysJCSAgICAgcF90b19hdXhfc29jaywgQUZfVU5TUEVDKSkgPCAwICkKKyAgeworICAgICBmcHJpbnRmKHN0ZGVyciwiJXM6IEVycm9yIGluIHJleGVjIHN5c3RlbSBjYWxsOiAiLGFyZ3ZbMF0pOworICAgICBwZXJyb3IoTlVMTCk7CistLSAKKzEuNy40LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL25vX3BhbV9idWlsZF9maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvbm9fcGFtX2J1aWxkX2ZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGQ1MzViCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL25vX3BhbV9idWlsZF9maXgucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorbmV0a2l0LXJzaDoKK0FsbG93IHRvIGJ1aWxkIHdpdGggbm8gUEFNIGVuYWJsZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIG5vIHVwc3RyZWFtIG1haW50YW5lciBdCisKK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKK0luZGV4OiBuZXRraXQtcnNoLTAuMTcvcnNoZC9yc2hkLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZXRraXQtcnNoLTAuMTcub3JpZy9yc2hkL3JzaGQuYworKysrIG5ldGtpdC1yc2gtMC4xNy9yc2hkL3JzaGQuYworQEAgLTExMCw5ICsxMTAsMTEgQEAgZXh0ZXJuCWNoYXIJKiplbnZpcm9uOworIHN0YXRpYyB2b2lkIGVycm9yKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKyBzdGF0aWMgdm9pZCBkb2l0KHN0cnVjdCBzb2NrYWRkciAqZnJvbXAsIHNvY2tsZW5fdCBmcm9tbGVuKTsKKyBzdGF0aWMgY2hhciAqZ2V0c3RyKGNoYXIgKiwgc2l6ZV90LCBjb25zdCBjaGFyICopOworKyNpZmRlZiBVU0VfUEFNCisgc3RhdGljIGludCBlcnJfY29udigKKyAJaW50LCBjb25zdCBzdHJ1Y3QgcGFtX21lc3NhZ2UgKiosIHN0cnVjdCBwYW1fcmVzcG9uc2UgKiosIHZvaWQgKgorICk7CisrI2VuZGlmIC8qIFVTRV9QQU0gKi8KKyAKKyBleHRlcm4gaW50IF9jaGVja19yaG9zdHNfZmlsZTsKKyAKK0BAIC0yNTYsNiArMjU4LDcgQEAgc3RhdGljIHZvaWQgc3RkZXJyX3BhcmVudChpbnQgc29jaywgaW50CisgfQorIAorIAorKyNpZmRlZiBVU0VfUEFNCisgc3RhdGljIGludCBlcnJfY29udigKKyAJaW50IG51bV9tc2csIGNvbnN0IHN0cnVjdCBwYW1fbWVzc2FnZSAqKm1zZywKKyAJc3RydWN0IHBhbV9yZXNwb25zZSAqKnJlc3AsIHZvaWQgKmFwcGRhdGFfcHRyCitAQCAtMjY2LDYgKzI2OSw3IEBAIHN0YXRpYyBpbnQgZXJyX2NvbnYoCisgCSh2b2lkKSBhcHBkYXRhX3B0cjsKKyAJcmV0dXJuIFBBTV9DT05WX0VSUjsKKyB9CisrI2VuZGlmCisgCisgc3RhdGljIHN0cnVjdCBwYXNzd2QgKmRvYXV0aChjb25zdCBjaGFyICpyZW11c2VyLCAKKyAJCQkgICAgIGNvbnN0IGNoYXIgKmhvc3RuYW1lLCAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaC9yZXhlYy5wYW0gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmV4ZWMucGFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0ZTVkZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmV4ZWMucGFtCkBAIC0wLDAgKzEsMTAgQEAKKyMlUEFNLTEuMAorIyBGb3Igcm9vdCBsb2dpbiB0byBzdWNjZWVkIGhlcmUgd2l0aCBwYW1fc2VjdXJldHR5LCAicmV4ZWMiIG11c3QgYmUKKyMgbGlzdGVkIGluIC9ldGMvc2VjdXJldHR5LgorYXV0aCAgICAgICByZXF1aXJlZCAgICAgcGFtX25vbG9naW4uc28KK2F1dGggICAgICAgcmVxdWlyZWQgICAgIHBhbV9lbnYuc28KK2F1dGggICAgICAgaW5jbHVkZSAgICAgIGNvbW1vbi1hdXRoCithY2NvdW50ICAgIGluY2x1ZGUgICAgICBjb21tb24tYWNjb3VudAorc2Vzc2lvbgkgICBvcHRpb25hbCAgICAgcGFtX2tleWluaXQuc28gICAgZm9yY2UgcmV2b2tlCitzZXNzaW9uICAgIGluY2x1ZGUgICAgICBjb21tb24tc2Vzc2lvbgorc2Vzc2lvbiAgICByZXF1aXJlZCAgICAgcGFtX2xvZ2ludWlkLnNvCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmV4ZWMueGluZXRkLm5ldGtpdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaC9yZXhlYy54aW5ldGQubmV0a2l0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczNTQzNjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmV4ZWMueGluZXRkLm5ldGtpdApAQCAtMCwwICsxLDIwIEBACisjIGRlZmF1bHQ6IG9mZgorIyBkZXNjcmlwdGlvbjoKKyMgUmV4ZWNkIGlzIHRoZSBzZXJ2ZXIgZm9yIHRoZSByZXhlYyBwcm9ncmFtLiBUaGUgc2VydmVyIHByb3ZpZGVzIHJlbW90ZSAKKyMgZXhlY3V0aW9uIGZhY2lsaXRpZXMgd2l0aCBhdXRoZW50aWNhdGlvbiBiYXNlZCBvbiB1c2VyIG5hbWVzIGFuZCAKKyMgcGFzc3dvcmRzLgorIworc2VydmljZSBleGVjCit7CisJc29ja2V0X3R5cGUJPSBzdHJlYW0KKwlwcm90b2NvbAk9IHRjcAorCWZsYWdzCQk9IE5BTUVJTkFSR1MKKwl3YWl0CQk9IG5vCisJdXNlcgkJPSByb290CisJZ3JvdXAJCT0gcm9vdAorCWxvZ19vbl9zdWNjZXNzCSs9IFVTRVJJRAorCWxvZ19vbl9mYWlsdXJlCSs9IFVTRVJJRAorCXNlcnZlcgkJPSAvdXNyL3NiaW4vdGNwZAorCXNlcnZlcl9hcmdzCT0gL3Vzci9zYmluL2luLnJleGVjZAorCWRpc2FibGUJCT0geWVzCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmxvZ2luLnBhbSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaC9ybG9naW4ucGFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzMGYxMzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmxvZ2luLnBhbQpAQCAtMCwwICsxLDEyIEBACisjJVBBTS0xLjAKKyMgRm9yIHJvb3QgbG9naW4gdG8gc3VjY2VlZCBoZXJlIHdpdGggcGFtX3NlY3VyZXR0eSwgInJsb2dpbiIgbXVzdCBiZQorIyBsaXN0ZWQgaW4gL2V0Yy9zZWN1cmV0dHkuCithdXRoICAgICAgIHJlcXVpcmVkICAgICBwYW1fbm9sb2dpbi5zbworYXV0aCAgICAgICByZXF1aXJlZCAgICAgcGFtX3NlY3VyZXR0eS5zbworYXV0aCAgICAgICByZXF1aXJlZCAgICAgcGFtX2Vudi5zbworYXV0aCAgICAgICBpbmNsdWRlICAgICAgY29tbW9uLWF1dGgKK2FjY291bnQgICAgaW5jbHVkZSAgICAgIGNvbW1vbi1hY2NvdW50CitwYXNzd29yZCAgIGluY2x1ZGUgICAgICBjb21tb24tcGFzc3dvcmQKK3Nlc3Npb24JICAgb3B0aW9uYWwgICAgIHBhbV9rZXlpbml0LnNvICAgIGZvcmNlIHJldm9rZQorc2Vzc2lvbiAgICBpbmNsdWRlICAgICAgY29tbW9uLXNlc3Npb24KK3Nlc3Npb24gICAgcmVxdWlyZWQgICAgIHBhbV9sb2dpbnVpZC5zbwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3Jsb2dpbi54aW5ldGQubmV0a2l0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3Jsb2dpbi54aW5ldGQubmV0a2l0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwNDkzZTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcmxvZ2luLnhpbmV0ZC5uZXRraXQKQEAgLTAsMCArMSwyMyBAQAorIyBkZWZhdWx0OiBvZmYKKyMgZGVzY3JpcHRpb246CisjIFJsb2dpbmQgaXMgYSBzZXJ2ZXIgZm9yIHRoZSBybG9naW4gcHJvZ3JhbS4gVGhlIHNlcnZlciBwcm92aWRlcyByZW1vdGUgCisjIGV4ZWN1dGlvbiB3aXRoIGF1dGhlbnRpY2F0aW9uIGJhc2VkIG9uIHByaXZpbGVnZWQgcG9ydCBudW1iZXJzIGZyb20gdHJ1c3RlZAorIyBob3N0CisjCitzZXJ2aWNlIGxvZ2luCit7CisJc29ja2V0X3R5cGUJPSBzdHJlYW0KKwlwcm90b2NvbAk9IHRjcAorCWZsYWdzCQk9IE5BTUVJTkFSR1MKKwl3YWl0CQk9IG5vCisJdXNlcgkJPSByb290CisJZ3JvdXAJCT0gcm9vdAorCWxvZ19vbl9zdWNjZXNzCSs9IFVTRVJJRAorCWxvZ19vbl9mYWlsdXJlCSs9IFVTRVJJRAorCXNlcnZlcgkJPSAvdXNyL3NiaW4vdGNwZAorCXNlcnZlcl9hcmdzCT0gL3Vzci9zYmluL2luLnJsb2dpbmQgLWEKKwlkaXNhYmxlCQk9IHllcworfQorCQkJCQkJCQorCQkJCQkJCQorCQkJCQkJCQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3JzaC1yZWRvbmVfbGlua19vcmRlcl9maWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3JzaC1yZWRvbmVfbGlua19vcmRlcl9maWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxMmVlOWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcnNoLXJlZG9uZV9saW5rX29yZGVyX2ZpbGUucGF0Y2gKQEAgLTAsMCArMSw3NyBAQAorVGhpcyBmaXhlcyBhIGJ1aWxkIGlzc3VlIGNhdXNlZCBieSBsaW5raW5nIG9yZGVyLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKK01vc3QgZGlzdG9zIGhhdmUgdGhlcmUgb3duIHZlcmlzb24gb2YgdGhpcyBmaXguIFRoaXMgd2FzIGRlcml2ZWQgYnkKKyogRml4IGxpbmsgb3JkZXIgdG8gbGlzdCBsaWJyYXJpZXMgYWZ0ZXIgdGhlIG9iamVjdHMgdGhhdCByZXF1aXJlIHRoZW0KKyhMUDogIzc3MTA4MCkuCisKKy0tIENvbGluIFdhdHNvbiA8Y2p3YXRzb25AdWJ1bnR1LmNvbT4gIFR1ZSwgMTMgU2VwIDIwMTEgMTA6MDc6MDggKzAxMDAKKworCitzaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorCitJbmRleDogbmV0a2l0LXJzaC0wLjE3L3JzaC9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5ldGtpdC1yc2gtMC4xNy5vcmlnL3JzaC9NYWtlZmlsZQorKysrIG5ldGtpdC1yc2gtMC4xNy9yc2gvTWFrZWZpbGUKK0BAIC02LDcgKzYsNyBAQCBpbmNsdWRlIC4uL01SVUxFUworIE9CSlMgPSByc2gubworIAorIHJzaDogJChPQkpTKQorLQkkKENDKSAkKExERkxBR1MpICReICQoTElCUykgLW8gJEAKKysJJChDQykgJF4gLW8gJEAgJChMREZMQUdTKSAkKExJQlMpCisgCisgaW5zdGFsbDogcnNoCisgCWluc3RhbGwgLW8gcm9vdCAtbSQoU1VJRE1PREUpIHJzaCAkKElOU1RBTExST09UKSQoQklORElSKQorSW5kZXg6IG5ldGtpdC1yc2gtMC4xNy9yc2hkL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmV0a2l0LXJzaC0wLjE3Lm9yaWcvcnNoZC9NYWtlZmlsZQorKysrIG5ldGtpdC1yc2gtMC4xNy9yc2hkL01ha2VmaWxlCitAQCAtMTEsNyArMTEsNyBAQCBMSUJTICs9IC1sZGwgLWxwYW0KKyBlbmRpZgorIAorIHJzaGQ6ICQoT0JKUykKKy0JJChDQykgJChMREZMQUdTKSAkXiAkKExJQlMpIC1vICRACisrCSQoQ0MpICReIC1vICRAICQoTERGTEFHUykgJChMSUJTKQorIAorIGluc3RhbGw6IHJzaGQKKyAJaW5zdGFsbCAtbSQoREFFTU9OTU9ERSkgcnNoZCAkKElOU1RBTExST09UKSQoU0JJTkRJUikvaW4ucnNoZAorSW5kZXg6IG5ldGtpdC1yc2gtMC4xNy9ybG9naW4vTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZXRraXQtcnNoLTAuMTcub3JpZy9ybG9naW4vTWFrZWZpbGUKKysrKyBuZXRraXQtcnNoLTAuMTcvcmxvZ2luL01ha2VmaWxlCitAQCAtNyw3ICs3LDcgQEAgUFJPRz1ybG9naW4KKyBPQkpTPXJsb2dpbi5vCisgCisgJChQUk9HKTogJChPQkpTKQorLQkkKENDKSAkKExERkxBR1MpICReICQoTElCUykgLW8gJEAKKysJJChDQykgJF4gLW8gJEAgJChMREZMQUdTKSAkKExJQlMpCisgCisgaW5zdGFsbDogJChQUk9HKQorIAlpbnN0YWxsIC1vIHJvb3QgLW0kKFNVSURNT0RFKSAkKFBST0cpICQoSU5TVEFMTFJPT1QpJChCSU5ESVIpCitJbmRleDogbmV0a2l0LXJzaC0wLjE3L3Jsb2dpbmQvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZXRraXQtcnNoLTAuMTcub3JpZy9ybG9naW5kL01ha2VmaWxlCisrKysgbmV0a2l0LXJzaC0wLjE3L3Jsb2dpbmQvTWFrZWZpbGUKK0BAIC0xMyw3ICsxMyw3IEBAIExJQlMgKz0gLWxkbCAtbHBhbSAtbHBhbV9taXNjCisgZW5kaWYKKyAKKyBybG9naW5kOiAkKE9CSlMpCistCSQoQ0MpICQoTERGTEFHUykgJF4gJChMSUJTKSAtbyAkQAorKwkkKENDKSAkXiAtbyAkQCAkKExERkxBR1MpICQoTElCUykKKyAKKyBybG9naW5kLm86IHBhdGhuYW1lcy5oIGxvZ3d0bXAuaCBybG9naW5kLmggLi4vdmVyc2lvbi5oCisgbG9nd3RtcC5vOiBsb2d3dG1wLmgKK0luZGV4OiBuZXRraXQtcnNoLTAuMTcvcmV4ZWNkL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmV0a2l0LXJzaC0wLjE3Lm9yaWcvcmV4ZWNkL01ha2VmaWxlCisrKysgbmV0a2l0LXJzaC0wLjE3L3JleGVjZC9NYWtlZmlsZQorQEAgLTI0LDcgKzI0LDcgQEAgZW5kaWYKKyBDRkxBR1MgKz0gLURSRVNUUklDVF9GVFA9MQorIAorIHJleGVjZDogcmV4ZWNkLm8KKy0JJChDQykgJChMREZMQUdTKSAkXiAkKExJQlMpIC1vICRACisrCSQoQ0MpICReIC1vICRAICQoTERGTEFHUykgJChMSUJTKQorIAorIGluc3RhbGw6IHJleGVjZAorIAlpbnN0YWxsIC1tJChEQUVNT05NT0RFKSByZXhlY2QgJChJTlNUQUxMUk9PVCkkKFNCSU5ESVIpL2luLnJleGVjZApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3JzaC5wYW0gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2gvcnNoLnBhbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzIzMjdhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3JzaC5wYW0KQEAgLTAsMCArMSwxMCBAQAorIyVQQU0tMS4wCisjIEZvciByb290IGxvZ2luIHRvIHN1Y2NlZWQgaGVyZSB3aXRoIHBhbV9zZWN1cmV0dHksICJyc2giIG11c3QgYmUKKyMgbGlzdGVkIGluIC9ldGMvc2VjdXJldHR5LgorYXV0aCAgICAgICByZXF1aXJlZCAgICAgcGFtX25vbG9naW4uc28KK2F1dGggICAgICAgcmVxdWlyZWQgICAgIHBhbV9zZWN1cmV0dHkuc28KK2F1dGggICAgICAgcmVxdWlyZWQgICAgIHBhbV9lbnYuc28KK2FjY291bnQgICAgaW5jbHVkZSAgICAgIGNvbW1vbi1hY2NvdW50CitzZXNzaW9uCSAgIG9wdGlvbmFsICAgICBwYW1fa2V5aW5pdC5zbyAgICBmb3JjZSByZXZva2UKK3Nlc3Npb24gICAgaW5jbHVkZSAgICAgIGNvbW1vbi1zZXNzaW9uCitzZXNzaW9uICAgIHJlcXVpcmVkICAgICBwYW1fbG9naW51aWQuc28KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaC9yc2gueGluZXRkLm5ldGtpdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaC9yc2gueGluZXRkLm5ldGtpdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODQyZWI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoL3JzaC54aW5ldGQubmV0a2l0CkBAIC0wLDAgKzEsMjEgQEAKKyMgZGVmYXVsdDogb2ZmCisjIGRlc2NyaXB0aW9uOgorIyBUaGUgcnNoZCBzZXJ2ZXIgaXMgYSBzZXJ2ZXIgZm9yIHRoZSByY21kKDMpIHJvdXRpbmUgYW5kLCAKKyMgY29uc2VxdWVudGx5LCBmb3IgdGhlIHJzaCgxKSBwcm9ncmFtLiBUaGUgc2VydmVyIHByb3ZpZGVzIAorIyByZW1vdGUgZXhlY3V0aW9uIGZhY2lsaXRpZXMgd2l0aCBhdXRoZW50aWNhdGlvbiBiYXNlZCBvbiAKKyMgcHJpdmlsZWdlZCBwb3J0IG51bWJlcnMgZnJvbSB0cnVzdGVkIGhvc3RzLgorIworc2VydmljZSBzaGVsbAoreworCXNvY2tldF90eXBlCT0gc3RyZWFtCisJcHJvdG9jb2wJPSB0Y3AKKwlmbGFncwkJPSBOQU1FSU5BUkdTCisJd2FpdAkJPSBubworCXVzZXIJCT0gcm9vdAorCWdyb3VwCQk9IHJvb3QKKwlsb2dfb25fc3VjY2VzcwkrPSBVU0VSSUQKKwlsb2dfb25fZmFpbHVyZQkrPSBVU0VSSUQKKwlzZXJ2ZXIJCT0gL3Vzci9zYmluL3RjcGQKKwlzZXJ2ZXJfYXJncwk9IC91c3Ivc2Jpbi9pbi5yc2hkIC1hTAorCWRpc2FibGUJCT0geWVzCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2hfMC4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaF8wLjE3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyOTM2OWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2hfMC4xNy5iYgpAQCAtMCwwICsxLDEwMCBAQAorREVTQ1JJUFRJT04gPSAibmV0a2l0LXJzaCBpbmNsdWRlcyB0aGUgcnNoIGRhZW1vbiBhbmQgY2xpZW50LiIKK1NFQ1RJT04gPSAibmV0IgorSE9NRVBBR0U9ImZ0cDovL2Z0cC51ay5saW51eC5vcmcvcHViL2xpbnV4L05ldHdvcmtpbmcvbmV0a2l0IgorTElDRU5TRSA9ICJCU0QtNC1DbGF1c2UiCitERVBFTkRTID0gInhpbmV0ZCBsaWJnY3J5cHQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3JzaC9yc2guYztlbmRsaW5lPTMyO21kNT00ODdiM2M2MzdiZGMxODFkMzJiMmE4NTQzZDQxYjYwNiIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbi9uZXRraXQtcnNoL25ldGtpdC1yc2hfJHtQVn0ub3JpZy50YXIuZ3o7bmFtZT1hcmNoaXZlIFwKKyAgICAgICAgICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi9uL25ldGtpdC1yc2gvbmV0a2l0LXJzaF8ke1BWfS0xNS5kaWZmLmd6O25hbWU9cGF0Y2gxNSBcCisgICAgICAgICAgICBmaWxlOi8vcnNoLXJlZG9uZV9saW5rX29yZGVyX2ZpbGUucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL25vX3BhbV9idWlsZF9maXgucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3JleGVjLnhpbmV0ZC5uZXRraXQgXAorICAgICAgICAgICAgZmlsZTovL3Jsb2dpbi54aW5ldGQubmV0a2l0IFwKKyAgICAgICAgICAgIGZpbGU6Ly9yc2gueGluZXRkLm5ldGtpdCBcCisgICAgICAgICAgICBmaWxlOi8vbmV0a2l0LXJzaC0wLjE3LXJleGVjLWlwdjYucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2ZpeC1ob3N0LXZhcmlhYmxlLnBhdGNoIFwKKyIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNjVmNWYyOGUyZmUyMmQ5YWQ4YjE3YmI5YTEwZGYwOTYiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJlZGNhYzdmYTE4MDE1ZjBiYzA0ZTU3M2YzZjU0YWUzYjYzOGQ3MTMzNWRmMWFkN2RhZTY5Mjc3OTkxNGFkNjY5IgorU1JDX1VSSVtwYXRjaDE1Lm1kNXN1bV0gPSAiNjU1ZWZjMGQ1NDFiMDNjYTVkZTBhZTUwNmM4MDVlYTMiCitTUkNfVVJJW3BhdGNoMTUuc2hhMjU2c3VtXSA9ICIyYmMwNzFjNDM4ZThiMGVkNDJhMGJkMmRiMmQ4YjY4MWIyN2ExZTliMTc5ODY5NGQ5ODc0NzMzMjkzYmMyYWE5IgorCisjIE90aGVyIHN1cHBvcnQgZmlsZXMKK1BBTV9TUkNfVVJJID0gImZpbGU6Ly9yZXhlYy5wYW0gXAorCWZpbGU6Ly9ybG9naW4ucGFtIFwKKwlmaWxlOi8vcnNoLnBhbSIKK1NSQ19VUkkgKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJHtQQU1fU1JDX1VSSX0nLCAnJywgZCl9IgorCitpbmhlcml0IHBrZ2NvbmZpZworCitDRkxBR1MgKz0gIiAtRF9HTlVfU09VUkNFIC1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCitMREZMQUdTICs9ICIgLUwke1NUQUdJTkdfTElCRElSfSAtbHV0aWwgLWxjcnlwdCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUcgKz0gIiAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInBhbSIsICJwYW0iLCAiIiwgZCl9IgorUEFDS0FHRUNPTkZJR1twYW1dID0gIiAsIC0td2l0aG91dC1wYW0sIGxpYnBhbSwgbGlicGFtIgorCitkb19jb25maWd1cmUgKCkgeworICAgIC4vY29uZmlndXJlIC0tcHJlZml4PSR7cHJlZml4fSAtLWV4ZWMtcHJlZml4PSR7ZXhlY19wcmVmaXh9CisgICAgZWNobyAiSU5TVEFMTFJPT1Q9JHtEfSIgPiBNQ09ORklHCisKKyAgICBpZiBbICIke0BiYXNlX2NvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BhbScsICdwYW0nLCAnJywgZCl9IiAhPSAiIiBdOyB0aGVuCisgICAgICAgIGVjaG8gIlVTRV9QQU09MSIgPj4gTUNPTkZJRworICAgIGZpCisKKyAgICAjIGRpZG4ndCB3YW50IHRvIHBhdGNoIHRoZXNlIG5leHQgY2hhbmdlcworICAgIHNlZCAtaSAncy9uZXRraXQtLy8nICR7U30vcnNoL3BhdGhuYW1lcy5oCisgICAgc2VkIC1pICdzL25ldGtpdC0vLycgJHtTfS9yY3AvcGF0aG5hbWVzLmgKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kCisKKyAgICBvZV9ydW5tYWtlICdJTlNUQUxMUk9PVD0ke0R9JyAnQklOTU9ERT0wNzU1JyBcCisgICAgJ0RBRU1PTk1PREU9MDc1NScgJ01BTk1PREU9MDY0NCcgXAorICAgICdTVUlETU9ERT00NzU1JyBcCisgICAgJ0JJTkRJUj0ke2JpbmRpcn0nICdTQklORElSPSR7c2JpbmRpcn0nIFwKKyAgICAnTUFORElSPSR7bWFuZGlyfScgaW5zdGFsbAorCisgICAgaWYgWyAiJHtAYmFzZV9jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwYW0nLCAncGFtJywgJycsIGQpfSIgIT0gIiIgXTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCBkZWJpYW4vaG9zdHMuZXF1aXYgJHtEfS8ke3N5c2NvbmZkaXJ9CisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3JleGVjLnBhbSAke0R9LyR7c3lzY29uZmRpcn0vcGFtLmQvcmV4ZWMKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmxvZ2luLnBhbSAke0R9LyR7c3lzY29uZmRpcn0vcGFtLmQvcmxvZ2luCisgICAgICAgIGluc3RhbGwgLW0gMDY2NCAke1dPUktESVJ9L3JzaC5wYW0gJHtEfS8ke3N5c2NvbmZkaXJ9L3BhbS5kL3JzaAorICAgIGZpCisgICAgY3AgJHtXT1JLRElSfS9yZXhlYy54aW5ldGQubmV0a2l0ICAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcmV4ZWMKKyAgICBjcCAke1dPUktESVJ9L3Jsb2dpbi54aW5ldGQubmV0a2l0ICAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcmxvZ2luCisgICAgY3AgJHtXT1JLRElSfS9yc2gueGluZXRkLm5ldGtpdCAgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3JzaAorfQorCitQQUNLQUdFUyA9ICIke1BOfS1jbGllbnQgJHtQTn0tc2VydmVyICR7UE59LWRvYyAke0JQTn0tZGJnIgorCitGSUxFU18ke1BOfS1jbGllbnQgPSAiJHtiaW5kaXJ9LyoiCitGSUxFU18ke1BOfS1zZXJ2ZXIgPSAiJHtzYmluZGlyfS8qICR7c3lzY29uZmRpcn0iCitGSUxFU18ke1BOfS1kb2MgPSAiJHttYW5kaXJ9IgorRklMRVNfJHtQTn0tZGJnID0gIiR7cHJlZml4fS9zcmMvZGVidWcgXAorICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0vLmRlYnVnICR7YmluZGlyfS8uZGVidWciCisKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjgwIgorQUxURVJOQVRJVkVfJHtQTn0tY2xpZW50ID0gInJjcCByZXhlYyBybG9naW4gcnNoIgorQUxURVJOQVRJVkVfJHtQTn0tc2VydmVyID0gInJzaGQgcmV4ZWNkIHJsb2dpbmQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc2VydmVyXSA9ICIke2JpbmRpcn0vcnNoZCIKK0FMVEVSTkFUSVZFX1RBUkdFVFtyc2hkXSA9ICIke3NiaW5kaXJ9L2luLnJzaGQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmV4ZWNkXSA9ICIke2JpbmRpcn0vcmV4ZWNkIgorQUxURVJOQVRJVkVfVEFSR0VUW3JleGVjZF0gPSAiJHtzYmluZGlyfS9pbi5yZXhlY2QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmxvZ2luZF0gPSAiJHtiaW5kaXJ9L3Jsb2dpbmQiCitBTFRFUk5BVElWRV9UQVJHRVRbcmxvZ2luZF0gPSAiJHtzYmluZGlyfS9pbi5ybG9naW5kIgorCitSQ09ORkxJQ1RTXyR7UE59LXNlcnZlciArPSAiaW5ldHV0aWxzLXJzaGQiCitSUFJPVklERVNfJHtQTn0tc2VydmVyID0gInJzaGQiCisKK1JERVBFTkRTXyR7UE59LXNlcnZlciA9ICJ4aW5ldGQiCitSREVQRU5EU18ke1BOfS1zZXJ2ZXIgKz0gInRjcC13cmFwcGVycyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1ydXNlcnMvbmV0a2l0LXJ1c2Vycy9ycGMucnVzZXJzZC1NYWtlZmlsZS1maXgtcGFyYWxsZWwtYnVpbGQtaXNzdWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnVzZXJzL25ldGtpdC1ydXNlcnMvcnBjLnJ1c2Vyc2QtTWFrZWZpbGUtZml4LXBhcmFsbGVsLWJ1aWxkLWlzc3VlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NTE3OGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnVzZXJzL25ldGtpdC1ydXNlcnMvcnBjLnJ1c2Vyc2QtTWFrZWZpbGUtZml4LXBhcmFsbGVsLWJ1aWxkLWlzc3VlLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gYzIzY2MxMTJhNDgwZjkwOTUwZGU1Y2YxZGUwOWIxYTdlNzMyYmYyMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAxNSBEZWMgMjAxNCAxODozMToxMyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBycGMucnVzZXJzZC9NYWtlZmlsZTogZml4IHBhcmFsbGVsIGJ1aWxkIGlzc3VlCisKK0ZpeGVkOgorcnVzZXJzLng6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK01ha2VmaWxlOjQ0OiByZWNpcGUgZm9yIHRhcmdldCAncnVzZXJzX3hkci5jJyBmYWlsZWQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgcnBjLnJ1c2Vyc2QvTWFrZWZpbGUgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9ycGMucnVzZXJzZC9NYWtlZmlsZSBiL3JwYy5ydXNlcnNkL01ha2VmaWxlCitpbmRleCA3OTJmNTI4Li42NWE0MjRhIDEwMDY0NAorLS0tIGEvcnBjLnJ1c2Vyc2QvTWFrZWZpbGUKKysrKyBiL3JwYy5ydXNlcnNkL01ha2VmaWxlCitAQCAtNDAsNSArNDAsNSBAQCBydXNlcnMueDoKKyBydXNlcnMuaDogJChSVVNFUlNYKSBydXNlcnMueAorIAkkKFJQQ0dFTikgLWggLW8gcnVzZXJzLmggcnVzZXJzLngKKyAKKy1ydXNlcnNfeGRyLmM6ICQoUlVTRVJTWCkKKytydXNlcnNfeGRyLmM6ICQoUlVTRVJTWCkgcnVzZXJzLngKKyAJJChSUENHRU4pIC1jIC1DIC1vIHJ1c2Vyc194ZHIuYyBydXNlcnMueAorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1ydXNlcnMvbmV0a2l0LXJ1c2Vyc18wLjE3LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ1c2Vycy9uZXRraXQtcnVzZXJzXzAuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRlYjk2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1ydXNlcnMvbmV0a2l0LXJ1c2Vyc18wLjE3LmJiCkBAIC0wLDAgKzEsNzAgQEAKK0RFU0NSSVBUSU9OID0gIm5ldGtpdC1ydXNlcnMgaW5jbHVkZXMgcnVzZXJzIC0gRGlzcGxheXMgd2hvIGlzIGxvZ2dlZCBpbiB0byBtYWNoaW5lcyBvbiBsb2NhbCBuZXR3b3JrIFwKKyAgICBydXNlcnNkIC0gTG9nZ2VkIGluIHVzZXJzIHNlcnZlciIKK0hPTUVQQUdFID0gImZ0cDovL2Z0cC51ay5saW51eC5vcmcvcHViL2xpbnV4L05ldHdvcmtpbmcvbmV0a2l0IgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3J1c2Vycy9ydXNlcnMuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTM7bWQ1PWY0ZmM2MzRhNGNlOGM1Njk5MTExOTZiNzJiMTA3NzBlIgorREVQRU5EUyA9ICIgdGNwLXdyYXBwZXJzIGxpYnRpcnBjIHJwY2JpbmQiCisKK1NSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL24vJHtCUE59LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5nejtuYW1lPWFyY2hpdmUgXAorICAgICAgICAgICAke0RFQklBTl9NSVJST1J9L21haW4vbi8ke0JQTn0vJHtCUE59XyR7UFZ9LTguZGlmZi5nejtuYW1lPXBhdGNoOCBcCisgICAgICAgICAgIGZpbGU6Ly9ycGMucnVzZXJzZC1NYWtlZmlsZS1maXgtcGFyYWxsZWwtYnVpbGQtaXNzdWUucGF0Y2ggXAorIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJkYzk5YTgwYjlmZGUyYWI0MjdjODc0Zjg4ZjFjMTYwMiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImYwMDEzODY1MTg2NWFkMmRjZmVjNWRlZGRhMGNkYTQwM2NiODBjNGFiNjhlZmNjM2JiY2NhZmUxOThjMjRiNmQiCitTUkNfVVJJW3BhdGNoOC5tZDVzdW1dID0gIjFmZjQ5ODExM2UwZjkyMGQ5MjA4ODA5MmU1NTcwYmRjIgorU1JDX1VSSVtwYXRjaDguc2hhMjU2c3VtXSA9ICIxNDg4MmRiZGRhNGUzN2JhYTg0ZDU1YjU0YjQ2YzdlMDYzYTIwZmM5ZTA0ZDFiZTFhMjgwNzY0M2NkMGYzMDY3IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworZG9fY29uZmlndXJlICgpIHsKKyAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0KKyAgICBlY2hvICJMREZMQUdTPSR7TERGTEFHU30iID4+IE1DT05GSUcKKyAgICBlY2hvICJVU0VfR0xJQkM9MSIgPj4gTUNPTkZJRworfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjEKKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0veGluZXRkLmQKKworICAgIHNlZCAtaSAncy9pbnN0YWxsIC1zL2luc3RhbGwvJyBydXNlcnMvTWFrZWZpbGUKKyAgICBzZWQgLWkgJ3MvaW5zdGFsbCAtcy9pbnN0YWxsLycgcnVwL01ha2VmaWxlCisgICAgc2VkIC1pICdzL2luc3RhbGwgLXMvaW5zdGFsbC8nIHJwYy5ydXNlcnNkL01ha2VmaWxlCisKKyAgICBvZV9ydW5tYWtlICdJTlNUQUxMUk9PVD0ke0R9JyAnQklOTU9ERT0wNzU1JyBcCisgICAgJ0RBRU1PTk1PREU9MDc1NScgJ01BTk1PREU9MDY0NCcgXAorICAgICdCSU5ESVI9JHtiaW5kaXJ9JyAnU0JJTkRJUj0ke3NiaW5kaXJ9JyBcCisgICAgJ01BTkRJUj0ke21hbmRpcn0nIGluc3RhbGwKKworICAgICMgY3JlYXRlIHRoZSB4aW5ldGQgY29uZmlnIGZpbGUKKyAgICBjYXQgPnJ1c2Vyc2QuY29uZiA8PEVPRgorIHNlcnZpY2UgcnVzZXJzZAorIHsKKyAgICBkaXNhYmxlICAgICA9IHllcworICAgIHR5cGUgICAgICAgID0gUlBDCisgICAgcnBjX3ZlcnNpb24gPSAxLTIKKyAgICBzb2NrZXRfdHlwZSA9IGRncmFtCisgICAgcHJvdG9jb2wgICAgPSB1ZHAKKyAgICB3YWl0ICAgICAgICA9IHllcworICAgIHVzZXIgICAgICAgID0gcm9vdAorICAgIHNlcnZlciAgICAgID0gJHtzYmluZGlyfS9ycGMucnVzZXJzZAorIH0KK0VPRgorICAgIGluc3RhbGwgcnVzZXJzZC5jb25mICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC9ydXNlcnNkCit9CisKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiYWxyZWFkeS1zdHJpcHBlZCIKKworUEFDS0FHRVMgPSAiJHtQTn0tY2xpZW50ICR7UE59LXNlcnZlciAke1BOfS1kb2MgJHtCUE59LWRiZyIKK0ZJTEVTXyR7UE59LWNsaWVudCA9ICIke2JpbmRpcn0vKiIKK0ZJTEVTXyR7UE59LXNlcnZlciA9ICIke3NiaW5kaXJ9LyogJHtzeXNjb25mZGlyfSIKK0ZJTEVTXyR7UE59LWRvYyA9ICIke21hbmRpcn0iCitGSUxFU18ke1BOfS1kYmcgPSAiJHtwcmVmaXh9L3NyYy9kZWJ1ZyBcCisgICAgICAgICAgICAke2JpbmRpcn0vLmRlYnVnICR7c2JpbmRpcn0vLmRlYnVnIgorCitSREVQRU5EU18ke1BOfS1zZXJ2ZXIgPSAidGNwLXdyYXBwZXJzIHhpbmV0ZCBycGNiaW5kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ3aG8vbmV0a2l0LXJ3aG8vcndob2QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcndoby9uZXRraXQtcndoby9yd2hvZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNjQxOTAzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ3aG8vbmV0a2l0LXJ3aG8vcndob2QKQEAgLTAsMCArMSw3MSBAQAorIyEvYmluL3NoCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICByd2hvZAorIyBSZXF1aXJlZC1TdGFydDogICRuZXR3b3JrICRyZW1vdGVfZnMgJHN5c2xvZworIyBSZXF1aXJlZC1TdG9wOiAgICRuZXR3b3JrICRyZW1vdGVfZnMgJHN5c2xvZworIyBEZWZhdWx0LVN0YXJ0OiAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogU2VydmVyIGZvciByd2hvIGFuZCBydXB0aW1lIHNlcnZpY2VzCisjIyMgRU5EIElOSVQgSU5GTworCitQQVRIPS9zYmluOi9iaW46L3Vzci9iaW46L3Vzci9zYmluCisKK0RBRU1PTj0vdXNyL3NiaW4vcndob2QKK1BJREZJTEU9L3Zhci9ydW4vcndob2QucGlkCitDT05GX0ZJTEU9Ii9ldGMvZGVmYXVsdC9yd2hvZCIKK0RFU0M9IldobyBkYWVtb24gIgorIyBkZWZhdWx0IG9wdGlvbnMuIENoYW5nZSB0aGVtIGluIC9ldGMvZGVmYXVsdC9yd2hvZAorUldIT0RfT1BUSU9OUz0iLWIiCisKKyMgcndob2QJaW5pdC5kIHNjcmlwdCBmb3IgbnRwZGMgZnJvbSBudHAuaXNjLm9yZwordGVzdCAtZiAkREFFTU9OIHx8IGV4aXQgMAorCisjIFNvdXJjZSBmdW5jdGlvbiBsaWJyYXJ5LgorLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworWyAtciAkQ09ORl9GSUxFIF0gJiYgLiAkQ09ORl9GSUxFCisKK3N0YXJ0ZGFlbW9uKCl7CisJZWNobyAtbiAiU3RhcnRpbmcgJERFU0MiICIgcndob2QgIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLW9rbm9kbyAtLXBpZGZpbGUgJFBJREZJTEUgLS1leGVjICREQUVNT04gLS0gJFJXSE9EX09QVElPTlMKKwllY2hvICJkb25lIgorfQorc3RvcGRhZW1vbigpeworCWVjaG8gLW4gIlN0b3BwaW5nICRERVNDIiAiIHJ3aG9kICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLW9rbm9kbyAtLWV4ZWMgJERBRU1PTgorCWVjaG8gImRvbmUiCit9CisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwlzdGFydGRhZW1vbgorCTs7CisgIHN0b3ApCisJc3RvcGRhZW1vbgorCTs7CisgIGZvcmNlLXJlbG9hZCkKKwlzdG9wZGFlbW9uCisJc3RhcnRkYWVtb24KKwk7OworICByZXN0YXJ0KQorCXN0b3BkYWVtb24KKwlzbGVlcCAxCisJc3RhcnRkYWVtb24KKwk7OworICByZWxvYWQpCisJc3RvcGRhZW1vbgorCXNsZWVwIDEKKwlzdGFydGRhZW1vbgorCTs7CisgIHN0YXR1cykKKwlzdGF0dXMgL3Vzci9zYmluL3J3aG9kOworCWV4aXQgJD8KKwk7OworICAqKQorCWVjaG8gIlVzYWdlOiByd2hvZCB7IHN0YXJ0IHwgc3RvcCB8IHN0YXR1cyB8IHJlc3RhcnQgfCByZWxvYWQgfSIgPiYyCisJZXhpdCAxCisJOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcndoby9uZXRraXQtcndoby9yd2hvZC5kZWZhdWx0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ3aG8vbmV0a2l0LXJ3aG8vcndob2QuZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmQzYTk0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ3aG8vbmV0a2l0LXJ3aG8vcndob2QuZGVmYXVsdApAQCAtMCwwICsxLDIgQEAKKyNPcHRpb25zIGZvciB0aGUgcndob2QgZGFlbW9uLgorUldIT0RfT1BUSU9OUz0iLWIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcndoby9uZXRraXQtcndob18wLjE3LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ3aG8vbmV0a2l0LXJ3aG9fMC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNGJhYTQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJ3aG8vbmV0a2l0LXJ3aG9fMC4xNy5iYgpAQCAtMCwwICsxLDgzIEBACitERVNDUklQVElPTiA9ICJuZXRraXQtcndobyBpbmNsdWRlcywgcnVwdGltZSByd2hvIGFuZCByd2hvZCAoRGFlbW9uIHRvIG1haW50YWluIGRhdGEgZm9yIHJ3aG8vcnVwdGltZSkiCitIT01FUEFHRSA9ICJmdHA6Ly9mdHAudWsubGludXgub3JnL3B1Yi9saW51eC9OZXR3b3JraW5nL25ldGtpdCIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9yd2hvL3J3aG8uYztiZWdpbmxpbmU9MjtlbmRsaW5lPTM7bWQ1PTVhODVmMTNjMDE0MmQ3MmZjMzc4ZTAwZjE1ZGE1YjllIgorCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9uL25ldGtpdC1yd2hvL25ldGtpdC1yd2hvXyR7UFZ9Lm9yaWcudGFyLmd6O25hbWU9YXJjaGl2ZSBcCisgICAgICAgICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi9uL25ldGtpdC1yd2hvL25ldGtpdC1yd2hvXyR7UFZ9LTEzLmRlYmlhbi50YXIuZ3o7bmFtZT1wYXRjaDEzIFwKKyAgICAgICAgICAgZmlsZTovL3J3aG9kIFwKKyAgICAgICAgICAgZmlsZTovL3J3aG9kLmRlZmF1bHQgXAorIgorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMGY3MTYyMGQ0NWQ0NzJmODkxMzRiYTBkNzQyNDJlNzUiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIwNDA5ZTJjZTRiZmRiMmRhY2IyYzE5M2QwZmVkZmM0OWJiOTc1Y2IwNTdjNWM2YjBmZmNjYTYwM2ExMTg4ZGE3IgorU1JDX1VSSVtwYXRjaDEzLm1kNXN1bV0gPSAiODJlZDVhM2M2YjBiYmYwMGIzNjUwOGI5Nzg3OTYzYjkiCitTUkNfVVJJW3BhdGNoMTMuc2hhMjU2c3VtXSA9ICI1M2FlZmEyN2Q5OGI1NjViZjc1NmRiNTcxMjBjMDNiZDIyNGEyMzhlNDU2OTlkOTIwNzY0MjAyNzJhNmViYThlIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXNlcmFkZCB1cGRhdGUtcmMuZCB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK0NGTEFHUyArPSAiIC1EX0dOVV9TT1VSQ0UiCisKK2RlYmlhbl9kb19wYXRjaCgpIHsKKyAgICBjZCAke1N9CisgICAgd2hpbGUgcmVhZCBsaW5lOyBkbyBwYXRjaCAtcDEgPCAke1dPUktESVJ9L2RlYmlhbi9wYXRjaGVzLyRsaW5lOyBkb25lIDwgJHtXT1JLRElSfS9kZWJpYW4vcGF0Y2hlcy9zZXJpZXMKK30KKworcHl0aG9uIGRvX3BhdGNoKCkgeworICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnZGViaWFuX2RvX3BhdGNoJywgZCkKKyAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ3BhdGNoX2RvX3BhdGNoJywgZCkKK30KKworZG9fY29uZmlndXJlICgpIHsKKyAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0KKyAgICBlY2hvICJMREZMQUdTPSR7TERGTEFHU30iID4+IE1DT05GSUcKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgIyByd2hvICYgcnVwdGltZQorICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgI3J3aG9kCisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW44CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKKyAgICBzZWQgLWkgJ3MvaW5zdGFsbCAtcy9pbnN0YWxsLycgcndoby9NYWtlZmlsZQorICAgIHNlZCAtaSAncy9pbnN0YWxsIC1zL2luc3RhbGwvJyBydXB0aW1lL01ha2VmaWxlCisgICAgc2VkIC1pICdzL2luc3RhbGwgLXMvaW5zdGFsbC8nIHJ3aG9kL01ha2VmaWxlCisgICAgb2VfcnVubWFrZSAnSU5TVEFMTFJPT1Q9JHtEfScgJ0JJTk1PREU9MDc1NScgXAorICAgICdEQUVNT05NT0RFPTA3NTUnICdNQU5NT0RFPTA2NDQnIFwKKyAgICAnQklORElSPSR7YmluZGlyfScgJ1NCSU5ESVI9JHtzYmluZGlyfScgXAorICAgICdNQU5ESVI9JHttYW5kaXJ9JyBpbnN0YWxsCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9yd2hvZC5kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvcndob2QKKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L3J3aG9kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCisgICAgbWtkaXIgLXAgLW0gNzU1ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3J3aG8KKyAgICBjaG93biAtUiByd2hvZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9yd2hvCit9CisKK3BrZ19wb3N0aW5zdF8ke1BOfS1zZXJ2ZXIoKSB7CisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcndob2Qgc3RhcnQKK30KKworcGtnX3Bvc3RybV8ke1BOfS1zZXJ2ZXIoKSB7CisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcndob2Qgc3RvcAorfQorCitJTklUU0NSSVBUX05BTUUgPSAicndob2QiCitJTklUU0NSSVBUX1BBUkFNID0gImRlZmF1bHRzIDg1IDE1IgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59LXNlcnZlciIKK0dST1VQQUREX1BBUkFNXyR7UE59LXNlcnZlciA9ICItLXN5c3RlbSByd2hvZCIKK1VTRVJBRERfUEFSQU1fJHtQTn0tc2VydmVyID0gIi0tc3lzdGVtIC1nIHJ3aG9kIC0taG9tZS1kaXIgICR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvcndobyBcCisgICAgICAgIC0tbm8tY3JlYXRlLWhvbWUgIC0tc2hlbGwgL2Jpbi9mYWxzZSByd2hvZCIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiYWxyZWFkeS1zdHJpcHBlZCIKKworUEFDS0FHRVMgPSAiJHtQTn0tY2xpZW50ICR7UE59LXNlcnZlciAke1BOfS1kb2MgJHtCUE59LWRiZyIKK0ZJTEVTXyR7UE59LWNsaWVudCA9ICIke2JpbmRpcn0vKiIKK0ZJTEVTXyR7UE59LXNlcnZlciA9ICIke3NiaW5kaXJ9LyogJHtsb2NhbHN0YXRlZGlyfSAke3N5c2NvbmZkaXJ9L2RlZmF1bHQvKiAke3N5c2NvbmZkaXJ9L2luaXQuZC8qIgorRklMRVNfJHtQTn0tZG9jID0gIiR7bWFuZGlyfSIKK0ZJTEVTXyR7UE59LWRiZyA9ICIke3ByZWZpeH0vc3JjL2RlYnVnIFwKKyAgICAgICAgICAgICR7YmluZGlyfS8uZGVidWcgJHtzYmluZGlyfS8uZGVidWciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtdGVsbmV0L2ZpbGVzL1RvLWF2aW9kLWJ1ZmZlci1vdmVyZmxvdy1pbi10ZWxuZXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtdGVsbmV0L2ZpbGVzL1RvLWF2aW9kLWJ1ZmZlci1vdmVyZmxvdy1pbi10ZWxuZXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2ZmZjhjZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC10ZWxuZXQvZmlsZXMvVG8tYXZpb2QtYnVmZmVyLW92ZXJmbG93LWluLXRlbG5ldC5wYXRjaApAQCAtMCwwICsxLDEyMTcgQEAKK0Zyb20gZjA5YTY0NjBhNjJhYWNiODdiYjg2ODNkMTZhYTNjZTU1ODQ4YmY3ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IEZyaSwgMjggTm92IDIwMTQgMDc6MDY6MjQgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIFRvIGF2aW9kIGJ1ZmZlciBvdmVyZmxvdyBpbiB0ZWxuZXQKKworVGhpcyBwYXRjaCBpcyBmcm9tIEZlZG9yYS4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIHRlbG5ldC9NYWtlZmlsZSAgICAgfCAgIDQgKy0KKyB0ZWxuZXQvY29tbWFuZHMuY2MgIHwgMjcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KKyB0ZWxuZXQvZGVmaW5lcy5oICAgIHwgICAyICsKKyB0ZWxuZXQvZXh0ZXJucy5oICAgIHwgICA3ICstCisgdGVsbmV0L21haW4uY2MgICAgICB8ICA2NSArKysrKysrKysrLS0tCisgdGVsbmV0L25ldGxpbmsuY2MgICB8ICA3OCArKysrKysrKystLS0tLS0KKyB0ZWxuZXQvbmV0bGluay5oICAgIHwgICA3ICstCisgdGVsbmV0L25ldHdvcmsuY2MgICB8ICAgMSArCisgdGVsbmV0L3Byb3RvLmggICAgICB8ICAgMiArLQorIHRlbG5ldC9yaW5nLmNjICAgICAgfCAgIDIgKy0KKyB0ZWxuZXQvcmluZy5oICAgICAgIHwgICAyICstCisgdGVsbmV0L3N5c19ic2QuY2MgICB8ICAxMSArKysKKyB0ZWxuZXQvdGVsbmV0LjEgICAgIHwgIDM3ICsrKysrLS0KKyB0ZWxuZXQvdGVsbmV0LmNjICAgIHwgIDQ1ICsrKysrLS0tLQorIHRlbG5ldC90ZXJtaW5hbC5jYyAgfCAgMTcgKysrLQorIHRlbG5ldC91dGlsaXRpZXMuY2MgfCAgIDIgKworIDE2IGZpbGVzIGNoYW5nZWQsIDM4MCBpbnNlcnRpb25zKCspLCAxNzIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZWxuZXQvTWFrZWZpbGUgYi90ZWxuZXQvTWFrZWZpbGUKK2luZGV4IGNlZjg2NmYuLjM5MjQ5ZTEgMTAwNjQ0CistLS0gYS90ZWxuZXQvTWFrZWZpbGUKKysrKyBiL3RlbG5ldC9NYWtlZmlsZQorQEAgLTcsNyArNyw3IEBAIGluY2x1ZGUgLi4vTVJVTEVTCisgCisgIyAtREFVVEhFTlRJQ0FURQorIENYWEZMQUdTICs9IC1EVVNFX1RFUk1JTyAtREtMVURHRUxJTkVNT0RFCistTElCUyArPSAkKExJQlRFUk1DQVApCisrTElCUyA9ICQoTElCVEVSTUNBUCkKKyAKKyBTUkNTID0gY29tbWFuZHMuY2MgbWFpbi5jYyBuZXR3b3JrLmNjIHJpbmcuY2Mgc3lzX2JzZC5jYyB0ZWxuZXQuY2MgXAorIAl0ZXJtaW5hbC5jYyB0bjMyNzAuY2MgdXRpbGl0aWVzLmNjIGdlbmdldC5jYyBlbnZpcm9uLmNjIG5ldGxpbmsuY2MKK0BAIC0yMiw3ICsyMiw3IEBAIGRlcGVuZDoKKyAJJChDWFgpICQoQ1hYRkxBR1MpIC1NTSAkKFNSQ1MpID5kZXBlbmQubWsKKyAKKyBpbnN0YWxsOiB0ZWxuZXQKKy0JaW5zdGFsbCAtcyAtbSQoQklOTU9ERSkgdGVsbmV0ICQoSU5TVEFMTFJPT1QpJChCSU5ESVIpCisrCWluc3RhbGwgLW0kKEJJTk1PREUpIHRlbG5ldCAkKElOU1RBTExST09UKSQoQklORElSKQorIAlpbnN0YWxsIC1tJChNQU5NT0RFKSB0ZWxuZXQuMSAkKElOU1RBTExST09UKSQoTUFORElSKS9tYW4xCisgCisgY2xlYW46CitkaWZmIC0tZ2l0IGEvdGVsbmV0L2NvbW1hbmRzLmNjIGIvdGVsbmV0L2NvbW1hbmRzLmNjCitpbmRleCBkOTJiY2NkLi4wMmM1OTNlIDEwMDY0NAorLS0tIGEvdGVsbmV0L2NvbW1hbmRzLmNjCisrKysgYi90ZWxuZXQvY29tbWFuZHMuY2MKK0BAIC04NiwxMCArODYsNiBAQCBjaGFyIGNtZF9yY3NpZFtdID0KKyAKKyAjZGVmaW5lIEhFTFBJTkRFTlQgKChpbnQpIHNpemVvZiAoImNvbm5lY3QiKSkKKyAKKy0jaWZuZGVmICAgICAgIE1BWEhPU1ROQU1FTEVOCistI2RlZmluZSAgICAgICBNQVhIT1NUTkFNRUxFTiA2NAorLSNlbmRpZiAgICAgICAgTUFYSE9TVE5BTUVMRU4KKy0KKyAjaWYJZGVmaW5lZChIQVNfSVBQUk9UT19JUCkgJiYgZGVmaW5lZChJUF9UT1MpCisgaW50IHRvcyA9IC0xOworICNlbmRpZgkvKiBkZWZpbmVkKEhBU19JUFBST1RPX0lQKSAmJiBkZWZpbmVkKElQX1RPUykgKi8KK0BAIC05OCw3ICs5NCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIHNvdXJjZXJvdXRlKGNoYXIgKmFyZywgY2hhciAqKmNwcCwgaW50ICpsZW5wKTsKKyAKKyAKKyBjaGFyCSpob3N0bmFtZTsKKy1zdGF0aWMgY2hhciBfaG9zdG5hbWVbTUFYSE9TVE5BTUVMRU5dOworK3N0YXRpYyBjaGFyICpfaG9zdG5hbWU7CisgCisgLy90eXBlZGVmIGludCAoKmludHJ0bl90KShpbnQgYXJnYywgY29uc3QgY2hhciAqYXJndltdKTsKKyAKK0BAIC0xNjEsNyArMTU3LDcgQEAgY2xhc3MgY29tbWFuZF9lbnRyeSB7CisgCWFzc2VydChhcmdjPj0xKTsKKyAJaWYgKG5hcmdzPj0wICYmIGFyZ2MhPW5hcmdzKzEpIHsKKyAJICAgIGZwcmludGYoc3RkZXJyLCAiV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgY29tbWFuZC5cbiIpOworLQkgICAgZnByaW50ZihzdGRlcnIsICJUcnkgJXMgPyBmb3IgaGVscFxuIiwgYXJndlswXSk7CisrCSAgICBmcHJpbnRmKHN0ZGVyciwgIlRyeSA/ICVzIGZvciBoZWxwXG4iLCBhcmd2WzBdKTsKKyAJICAgIHJldHVybiAwOyAgICAvKiBpcyB0aGlzIHJpZ2h0PyAqLworIAl9CisgCWlmIChuYXJncz09LTIpIHsKK0BAIC00ODAsNiArNDc2LDcgQEAgc3RhdGljIGludCBzZW5kX3dvbnRjbWQoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqKSB7CisgaW50IHNlbmRfdG5jbWQoaW50ICgqZnVuYykoaW50LCBpbnQpLCBjb25zdCBjaGFyICpjbWQsIGNvbnN0IGNoYXIgKm5hbWUpIHsKKyAgICAgY2hhciAqKmNwcDsKKyAgICAgZXh0ZXJuIGNoYXIgKnRlbG9wdHNbXTsKKysgICAgbG9uZyBvcHQ7CisgCisgICAgIGlmIChpc3ByZWZpeChuYW1lLCAiaGVscCIpIHx8IGlzcHJlZml4KG5hbWUsICI/IikpIHsKKyAJcmVnaXN0ZXIgaW50IGNvbCwgbGVuOworQEAgLTUwNiwxNiArNTAzLDIzIEBAIGludCBzZW5kX3RuY21kKGludCAoKmZ1bmMpKGludCwgaW50KSwgY29uc3QgY2hhciAqY21kLCBjb25zdCBjaGFyICpuYW1lKSB7CisgCQkJCQluYW1lLCBjbWQpOworIAlyZXR1cm4gMDsKKyAgICAgfQorKworKyAgICBvcHQgPSBjcHAgLSB0ZWxvcHRzOworICAgICBpZiAoY3BwID09IDApIHsKKy0JZnByaW50ZihzdGRlcnIsICInJXMnOiB1bmtub3duIGFyZ3VtZW50ICgnc2VuZCAlcyA/JyBmb3IgaGVscCkuXG4iLAorKwljaGFyICplbmQ7CisrCisrCW9wdCA9IHN0cnRvbChuYW1lLCAmZW5kLCAxMCk7CisrCWlmICgqZW5kIHx8IG9wdCA8IDAgfHwgb3B0ID4gMjU1KSB7CisrCSAgICBmcHJpbnRmKHN0ZGVyciwgIiclcyc6IHVua25vd24gYXJndW1lbnQgKCdzZW5kICVzID8nIGZvciBoZWxwKS5cbiIsCisgCQkJCQluYW1lLCBjbWQpOworLQlyZXR1cm4gMDsKKysJICAgIHJldHVybiAwOworKwl9CisgICAgIH0KKyAgICAgaWYgKCFjb25uZWN0ZWQpIHsKKyAJcHJpbnRmKCI/TmVlZCB0byBiZSBjb25uZWN0ZWQgZmlyc3QuXG4iKTsKKyAJcmV0dXJuIDA7CisgICAgIH0KKy0gICAgKCpmdW5jKShjcHAgLSB0ZWxvcHRzLCAxKTsKKysgICAgKCpmdW5jKShvcHQsIDEpOworICAgICByZXR1cm4gMTsKKyB9CisgCitAQCAtNjg5LDkgKzY5Myw5IEBAIHN0YXRpYyBzdHJ1Y3QgdG9nZ2xlbGlzdCBUb2dnbGVsaXN0W10gPSB7CisgICAgICAgInByaW50IGVuY3J5cHRpb24gZGVidWdnaW5nIGluZm9ybWF0aW9uIiB9LAorICNlbmRpZgorIAorLSAgICB7ICJza2lwcmMiLCAiZG9uJ3QgcmVhZCB+Ly50ZWxuZXRyYyBmaWxlIiwKKysgICAgeyAic2tpcHJjIiwgImRvbid0IHJlYWQgdGhlIHRlbG5ldHJjIGZpbGVzIiwKKyAgICAgICBOVUxMLCAmc2tpcHJjLAorLSAgICAgICJyZWFkIH4vLnRlbG5ldHJjIGZpbGUiIH0sCisrICAgICAgInJlYWQgdGhlIHRlbG5ldHJjIGZpbGVzIiB9LAorICAgICB7ICJiaW5hcnkiLAorICAgICAgICJzZW5kaW5nIGFuZCByZWNlaXZpbmcgb2YgYmluYXJ5IGRhdGEiLAorICAgICAgIHRvZ2JpbmFyeSwgTlVMTCwKK0BAIC0xNjE1LDE1ICsxNjE5LDIwIEBAIHZvaWQgYXl0X3N0YXR1cyhpbnQpIHsKKyAjZW5kaWYKKyAKKyBpbnQgdG4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkgeworLSAgICByZWdpc3RlciBzdHJ1Y3QgaG9zdGVudCAqaG9zdCA9IDA7CisgICAgIHN0cnVjdCBzb2NrYWRkcl9pbiBzbjsKKy0gICAgc3RydWN0IHNlcnZlbnQgKnNwID0gMDsKKyAgICAgY2hhciAqc3JwID0gTlVMTDsKKyAgICAgaW50IHNybGVuOworLQorLSAgICBjb25zdCBjaGFyICpjbWQsICp2b2xhdGlsZSB1c2VyID0gMDsKKysgICAgaW50IGZhbWlseSA9IDA7CisrICAgIGNvbnN0IGNoYXIgKmNtZCwgKnZvbGF0aWxlIHVzZXIgPSAwLCAqc3JjaG9zdHAgPSAwOworICAgICBjb25zdCBjaGFyICpwb3J0cCA9IE5VTEw7CisgICAgIGNoYXIgKmhvc3RwID0gTlVMTDsKKysgICAgY2hhciAqcmVzb2x2X2hvc3RwOworKyAgICBzdHJ1Y3QgYWRkcmluZm8gaGludHM7CisrICAgIHN0cnVjdCBhZGRyaW5mbyAqaG9zdGFkZHIgPSAwOworKyAgICBpbnQgcmVzOworKyAgICBjaGFyIG5hbWVbTklfTUFYSE9TVF07CisrICAgIGNoYXIgc2VydmljZVtOSV9NQVhTRVJWXTsKKysgICAgc3RydWN0IGFkZHJpbmZvICp0bXBhZGRyOworIAorICAgICAvKiBjbGVhciB0aGUgc29ja2V0IGFkZHJlc3MgcHJpb3IgdG8gdXNlICovCisgICAgIG1lbXNldCgmc24sIDAsIHNpemVvZihzbikpOworQEAgLTE2MzIsNiArMTY0MSwxMCBAQCBpbnQgdG4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkgeworIAlwcmludGYoIj9BbHJlYWR5IGNvbm5lY3RlZCB0byAlc1xuIiwgaG9zdG5hbWUpOworIAlyZXR1cm4gMDsKKyAgICAgfQorKyAgICBpZiAoX2hvc3RuYW1lKSB7CisrCWRlbGV0ZVtdIF9ob3N0bmFtZTsKKysJX2hvc3RuYW1lID0gMDsKKysgICAgfQorICAgICBpZiAoYXJnYyA8IDIpIHsKKyAJKHZvaWQpIHN0cmNweShsaW5lLCAib3BlbiAiKTsKKyAJcHJpbnRmKCIodG8pICIpOworQEAgLTE2NTcsMTEgKzE2NzAsMzMgQEAgaW50IHRuKGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pIHsKKyAJICAgIC0tYXJnYzsKKyAJICAgIGNvbnRpbnVlOworIAl9CisrCWlmIChzdHJjbXAoKmFyZ3YsICItYiIpID09IDApIHsKKysJICAgIC0tYXJnYzsgKythcmd2OworKwkgICAgaWYgKGFyZ2MgPT0gMCkKKysJCWdvdG8gdXNhZ2U7CisrCSAgICBzcmNob3N0cCA9ICphcmd2Kys7CisrCSAgICAtLWFyZ2M7CisrCSAgICBjb250aW51ZTsKKysJfQorIAlpZiAoc3RyY21wKCphcmd2LCAiLWEiKSA9PSAwKSB7CisgCSAgICAtLWFyZ2M7ICsrYXJndjsKKyAJICAgIGF1dG9sb2dpbiA9IDE7CisgCSAgICBjb250aW51ZTsKKyAJfQorKwlpZiAoc3RyY21wKCphcmd2LCAiLTYiKSA9PSAwKSB7CisrCSAgICAtLWFyZ2M7ICsrYXJndjsKKysjaWZkZWYgQUZfSU5FVDYKKysJICAgIGZhbWlseSA9IEFGX0lORVQ2OworKyNlbHNlCisrCSAgICBwdXRzKCJJUHY2IHVuc3VwcG9ydGVkIik7CisrI2VuZGlmCisrCSAgICBjb250aW51ZTsKKysJfQorKwlpZiAoc3RyY21wKCphcmd2LCAiLTQiKSA9PSAwKSB7CisrCSAgICAtLWFyZ2M7ICsrYXJndjsKKysJICAgIGZhbWlseSA9IEFGX0lORVQ7CisrCSAgICBjb250aW51ZTsKKysJfQorIAlpZiAoaG9zdHAgPT0gMCkgeworIAkgICAgLyogdGhpcyBsZWFrcyBtZW1vcnkgLSBGSVhNRSAqLworIAkgICAgaG9zdHAgPSBzdHJkdXAoKmFyZ3YrKyk7CitAQCAtMTY4MCw2ICsxNzE1LDggQEAgaW50IHRuKGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pIHsKKyAgICAgaWYgKGhvc3RwID09IDApCisgCWdvdG8gdXNhZ2U7CisgCisrICAgIHJlc29sdl9ob3N0cCA9IGhvc3RwOworKworICNpZiBkZWZpbmVkKElQX09QVElPTlMpICYmIGRlZmluZWQoSEFTX0lQUFJPVE9fSVApCisgICAgIGlmIChob3N0cFswXSA9PSAnQCcgfHwgaG9zdHBbMF0gPT0gJyEnKSB7CisgCWlmICgoaG9zdG5hbWUgPSBzdHJyY2hyKGhvc3RwLCAnOicpKSA9PSBOVUxMKQorQEAgLTE2OTYsNzggKzE3MzMsMTIyIEBAIGludCB0bihpbnQgYXJnYywgY29uc3QgY2hhciAqYXJndltdKSB7CisgCX0gZWxzZSB7CisgCSAgICBzbi5zaW5fYWRkci5zX2FkZHIgPSB0ZW1wOworIAkgICAgc24uc2luX2ZhbWlseSA9IEFGX0lORVQ7CisrCSAgICAvKgorKwkgICAgICogRm9yIHNvdXJjZSByb3V0ZSB3ZSBqdXN0IG1ha2Ugc3VyZSB0byBnZXQgdGhlIElQIGdpdmVuCisrCSAgICAgKiBvbiB0aGUgY29tbWFuZCBsaW5lIHdoZW4gbG9va2luZyB1cCB0aGUgcG9ydC4KKysJICAgICAqLworKwkgICAgcmVzb2x2X2hvc3RwID0gaW5ldF9udG9hKHNuLnNpbl9hZGRyKTsKKyAJfQorICAgICB9IAorLSAgICBlbHNlIHsKKy0jZW5kaWYKKy0JaWYgKGluZXRfYXRvbihob3N0cCwgJnNuLnNpbl9hZGRyKSkgeworLQkgICAgc24uc2luX2ZhbWlseSA9IEFGX0lORVQ7CistCSAgICBzdHJjcHkoX2hvc3RuYW1lLCBob3N0cCk7CistCSAgICBob3N0bmFtZSA9IF9ob3N0bmFtZTsKKy0JfSAKKy0JZWxzZSB7CistCSAgICBob3N0ID0gZ2V0aG9zdGJ5bmFtZShob3N0cCk7CistCSAgICBpZiAoaG9zdCkgeworLQkJc24uc2luX2ZhbWlseSA9IGhvc3QtPmhfYWRkcnR5cGU7CistCQlpZiAoaG9zdC0+aF9sZW5ndGggPiAoaW50KXNpemVvZihzbi5zaW5fYWRkcikpIHsKKy0JCSAgICBob3N0LT5oX2xlbmd0aCA9IHNpemVvZihzbi5zaW5fYWRkcik7CistCQl9CistI2lmCWRlZmluZWQoaF9hZGRyKQkJLyogSW4gNC4zLCB0aGlzIGlzIGEgI2RlZmluZSAqLworLQkJbWVtY3B5KChjYWRkcl90KSZzbi5zaW5fYWRkciwKKy0JCQkJaG9zdC0+aF9hZGRyX2xpc3RbMF0sIGhvc3QtPmhfbGVuZ3RoKTsKKy0jZWxzZQkvKiBkZWZpbmVkKGhfYWRkcikgKi8KKy0JCW1lbWNweSgoY2FkZHJfdCkmc24uc2luX2FkZHIsIGhvc3QtPmhfYWRkciwgaG9zdC0+aF9sZW5ndGgpOworLSNlbmRpZgkvKiBkZWZpbmVkKGhfYWRkcikgKi8KKy0JCXN0cm5jcHkoX2hvc3RuYW1lLCBob3N0LT5oX25hbWUsIHNpemVvZihfaG9zdG5hbWUpKTsKKy0JCV9ob3N0bmFtZVtzaXplb2YoX2hvc3RuYW1lKS0xXSA9ICdcMCc7CistCQlob3N0bmFtZSA9IF9ob3N0bmFtZTsKKy0JICAgIH0gZWxzZSB7CistCQloZXJyb3IoaG9zdHApOworLQkJcmV0dXJuIDA7CistCSAgICB9CistCX0KKy0jaWYgZGVmaW5lZChJUF9PUFRJT05TKSAmJiBkZWZpbmVkKEhBU19JUFBST1RPX0lQKQorLSAgICB9CisgI2VuZGlmCisrCisrICAgIC8qIFVzZXIgcG9ydCBvciB0aGUgZGVmYXVsdCBuYW1lIG9mIHRlbG5ldC4gKi8KKyAgICAgaWYgKHBvcnRwKSB7CisgCWlmICgqcG9ydHAgPT0gJy0nKSB7CisgCSAgICBwb3J0cCsrOworIAkgICAgdGVsbmV0cG9ydCA9IDE7CistCX0gZWxzZQorKwl9IGVsc2UgeworIAkgICAgdGVsbmV0cG9ydCA9IDA7CistCXNuLnNpbl9wb3J0ID0gYXRvaShwb3J0cCk7CistCWlmIChzbi5zaW5fcG9ydCA9PSAwKSB7CistCSAgICBzcCA9IGdldHNlcnZieW5hbWUocG9ydHAsICJ0Y3AiKTsKKy0JICAgIGlmIChzcCkKKy0JCXNuLnNpbl9wb3J0ID0gc3AtPnNfcG9ydDsKKy0JICAgIGVsc2UgeworLQkJcHJpbnRmKCIlczogYmFkIHBvcnQgbnVtYmVyXG4iLCBwb3J0cCk7CistCQlyZXR1cm4gMDsKKysJICAgIGlmICgqcG9ydHAgPj0nMCcgJiYgKnBvcnRwPD0nOScpIHsKKysJICAgICAgIGNoYXIgKmVuZDsKKysJICAgICAgIGxvbmcgaW50IHA7CisrCisrCSAgICAgICBwPXN0cnRvbChwb3J0cCwgJmVuZCwgMTApOworKwkgICAgICAgaWYgKEVSQU5HRT09ZXJybm8gJiYgKExPTkdfTUlOPT1wIHx8IExPTkdfTUFYPT1wKSkgeworKwkgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJ0ZWxuZXQ6IHBvcnQgJXMgb3ZlcmZsb3dzXG4iLCBwb3J0cCk7CisrCQkgIHJldHVybiAwOworKwkgICAgICAgfSBlbHNlIGlmIChwPD0wIHx8IHA+PTY1NTM2KSB7CisrCSAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInRlbG5ldDogcG9ydCAlcyBvdXQgb2YgcmFuZ2VcbiIsIHBvcnRwKTsKKysJCSAgcmV0dXJuIDA7CisrCSAgICAgICB9CisgCSAgICB9CistCX0gCistCWVsc2UgeworLQkgICAgc24uc2luX3BvcnQgPSBodG9ucyhzbi5zaW5fcG9ydCk7CisgCX0KKy0gICAgfSAKKysgICAgfQorICAgICBlbHNlIHsKKy0JaWYgKHNwID09IDApIHsKKy0JICAgIHNwID0gZ2V0c2VydmJ5bmFtZSgidGVsbmV0IiwgInRjcCIpOworLQkgICAgaWYgKHNwID09IDApIHsKKy0JCWZwcmludGYoc3RkZXJyLCAidGVsbmV0OiB0Y3AvdGVsbmV0OiB1bmtub3duIHNlcnZpY2VcbiIpOworLQkJcmV0dXJuIDA7CistCSAgICB9CistCSAgICBzbi5zaW5fcG9ydCA9IHNwLT5zX3BvcnQ7CistCX0KKysJcG9ydHAgPSAidGVsbmV0IjsKKyAJdGVsbmV0cG9ydCA9IDE7CisgICAgIH0KKy0gICAgcHJpbnRmKCJUcnlpbmcgJXMuLi5cbiIsIGluZXRfbnRvYShzbi5zaW5fYWRkcikpOworKworKyAgICAvKiBXZSBvbmx5IHVuZGVyc3RhbmQgU09DS19TVFJFQU0gc29ja2V0cy4gKi8KKysgICAgbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKGhpbnRzKSk7CisrICAgIGhpbnRzLmFpX3NvY2t0eXBlID0gU09DS19TVFJFQU07CisrICAgIGhpbnRzLmFpX2ZsYWdzID0gQUlfTlVNRVJJQ0hPU1Q7CisrICAgIGhpbnRzLmFpX2ZhbWlseSA9IGZhbWlseTsKKysKKysgICAgaWYgKHNyY2hvc3RwKSB7CisrCXJlcyA9IGdldGFkZHJpbmZvKHNyY2hvc3RwLCAiMCIsICZoaW50cywgJmhvc3RhZGRyKTsKKysJaWYgKHJlcykgeworKwkgICAgZnByaW50ZihzdGRlcnIsICJ0ZWxuZXQ6IGNvdWxkIG5vdCByZXNvbHZlICVzOiAlc1xuIiwgc3JjaG9zdHAsCisrCQkgICAgZ2FpX3N0cmVycm9yKHJlcykpOworKwkgICAgcmV0dXJuIDA7CisrCX0KKysJaGludHMuYWlfZmFtaWx5ID0gaG9zdGFkZHItPmFpX2ZhbWlseTsKKysJcmVzID0gbmxpbmsuYmluZChob3N0YWRkcik7CisrCWZyZWVhZGRyaW5mbyhob3N0YWRkcik7CisrCWlmIChyZXMgPCAwKQorKwkgICAgcmV0dXJuIDA7CisrICAgIH0KKysgICAgICAgIAorKyAgICAvKiBSZXNvbHZlIGJvdGggdGhlIGhvc3QgYW5kIHNlcnZpY2Ugc2ltdWx0YW5lb3VzbHkuICovCisrICAgIHJlcyA9IGdldGFkZHJpbmZvKHJlc29sdl9ob3N0cCwgcG9ydHAsICZoaW50cywgJmhvc3RhZGRyKTsKKysgICAgaWYgKHJlcyA9PSBFQUlfTk9OQU1FKSB7CisrCWhpbnRzLmFpX2ZsYWdzID0gQUlfQ0FOT05OQU1FOworKwlyZXMgPSBnZXRhZGRyaW5mbyhyZXNvbHZfaG9zdHAsIHBvcnRwLCAmaGludHMsICZob3N0YWRkcik7CisrICAgIH0gZWxzZSBpZiAoaG9zdGFkZHIpIHsKKysJaG9zdGFkZHItPmFpX2Nhbm9ubmFtZSA9IDA7CisrICAgIH0KKysgICAgaWYgKHJlcyB8fCAhaG9zdGFkZHIpIHsKKysJZnByaW50ZihzdGRlcnIsICJ0ZWxuZXQ6IGNvdWxkIG5vdCByZXNvbHZlICVzLyVzOiAlc1xuIiwgcmVzb2x2X2hvc3RwLCBwb3J0cCwgZ2FpX3N0cmVycm9yKHJlcykpOworKwlyZXR1cm4gMDsKKysgICAgfQorKyAgICAgCisrICAgIC8qIFRyeSB0byBjb25uZWN0IHRvIGV2ZXJ5IGxpc3RlZCByb3VuZCByb2JpbiBJUC4gKi8KKysgICAgdG1wYWRkciA9IGhvc3RhZGRyOworKyAgICBlcnJubyA9IDA7CisgICAgIGRvIHsKKy0JaW50IHggPSBubGluay5jb25uZWN0KGRlYnVnLCBob3N0LCAmc24sIHNycCwgc3JsZW4sIHRvcyk7CistCWlmICgheCkgcmV0dXJuIDA7CistCWVsc2UgaWYgKHg9PTEpIGNvbnRpbnVlOworKwlpbnQgeDsKKysKKysJaWYgKCF0bXBhZGRyKSB7CisrCSAgICBpZiAoZXJybm8pCisrCQlwZXJyb3IoInRlbG5ldDogVW5hYmxlIHRvIGNvbm5lY3QgdG8gcmVtb3RlIGhvc3QiKTsKKysJICAgIGVsc2UKKysJCWZwdXRzKCJ0ZWxuZXQ6IFVuYWJsZSB0byBjb25uZWN0IHRvIHJlbW90ZSBob3N0OiAiCisrCQkgICAgICAiQmFkIHBvcnQgbnVtYmVyXG4iLCBzdGRlcnIpOworK2VycjoKKysJICAgIGZyZWVhZGRyaW5mbyhob3N0YWRkcik7CisrCSAgICByZXR1cm4gMDsKKysJfQorKworKwlpZiAodG1wYWRkci0+YWlfZmFtaWx5ID09IEFGX1VOSVgpIHsKKytuZXh0YWRkcjoKKysJICAgIHRtcGFkZHIgPSB0bXBhZGRyLT5haV9uZXh0OworKwkgICAgY29udGludWU7CisrCX0KKysKKysJZ2V0bmFtZWluZm8odG1wYWRkci0+YWlfYWRkciwgdG1wYWRkci0+YWlfYWRkcmxlbiwKKysJCSAgICBuYW1lLCBzaXplb2YobmFtZSksIHNlcnZpY2UsIHNpemVvZihzZXJ2aWNlKSwKKysJCSAgICBOSV9OVU1FUklDSE9TVCB8IE5JX05VTUVSSUNTRVJWKTsKKysKKysJcHJpbnRmKCJUcnlpbmcgJXMuLi5cbiIsIG5hbWUpOworKwl4ID0gbmxpbmsuY29ubmVjdChkZWJ1ZywgdG1wYWRkciwgc3JwLCBzcmxlbiwgdG9zKTsKKysJaWYgKCF4KQorKwkgICAgZ290byBlcnI7CisrCWVsc2UgaWYgKHg9PTEpCisrCSAgICBnb3RvIG5leHRhZGRyOworKworIAljb25uZWN0ZWQrKzsKKyAgICAgfSB3aGlsZSAoY29ubmVjdGVkID09IDApOworLSAgICBjbWRyYyhob3N0cCwgaG9zdG5hbWUpOworKyAgICBpZiAodG1wYWRkci0+YWlfY2Fub25uYW1lID09IDApIHsKKysJaG9zdG5hbWUgPSBuZXcgY2hhcltzdHJsZW4oaG9zdHApKzFdOworKwlzdHJjcHkoaG9zdG5hbWUsIGhvc3RwKTsKKysgICAgfQorKyAgICBlbHNlIHsKKysJaG9zdG5hbWUgPSBuZXcgY2hhcltzdHJsZW4odG1wYWRkci0+YWlfY2Fub25uYW1lKSsxXTsKKysJc3RyY3B5KGhvc3RuYW1lLCB0bXBhZGRyLT5haV9jYW5vbm5hbWUpOworKyAgICB9CisrCisrICAgIGNtZHJjKGhvc3RwLCBob3N0bmFtZSwgcG9ydHApOworKyAgICBmcmVlYWRkcmluZm8oaG9zdGFkZHIpOworICAgICBpZiAoYXV0b2xvZ2luICYmIHVzZXIgPT0gTlVMTCkgeworIAlzdHJ1Y3QgcGFzc3dkICpwdzsKKyAKK0BAIC0yMDEzLDMwICsyMDk0LDIxIEBAIHN0YXRpYyBpbnQgaGVscChjb21tYW5kX3RhYmxlICp0YWIsIGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pIHsKKyAgICAgcmV0dXJuIDA7CisgfQorIAorLXN0YXRpYyBjaGFyICpyY25hbWUgPSAwOworLXN0YXRpYyBjaGFyIHJjYnVmWzEyOF07CistCistdm9pZCBjbWRyYyhjb25zdCBjaGFyICptMSwgY29uc3QgY2hhciAqbTIpIHsKKytzdGF0aWMgdm9pZCByZWFkcmMoY29uc3QgY2hhciAqbTEsIGNvbnN0IGNoYXIgKm0yLCBjb25zdCBjaGFyICpwb3J0LAorKwkJICAgY29uc3QgY2hhciAqcmNuYW1lKQorK3sKKyAgICAgRklMRSAqcmNmaWxlOworICAgICBpbnQgZ290bWFjaGluZSA9IDA7CisgICAgIGludCBsMSA9IHN0cmxlbihtMSk7CisgICAgIGludCBsMiA9IHN0cmxlbihtMik7CistICAgIGNoYXIgbTFzYXZlWzY0XTsKKy0KKy0gICAgaWYgKHNraXByYykgcmV0dXJuOworKyAgICBpbnQgbHBvcnQgPSBzdHJsZW4ocG9ydCk7CisrICAgIGNoYXIgbTFzYXZlW2wxICsgMV07CisrICAgIGNoYXIgcG9ydHNhdmVbbHBvcnQgKyAxXTsKKyAKKyAgICAgc3RyY3B5KG0xc2F2ZSwgbTEpOworICAgICBtMSA9IG0xc2F2ZTsKKy0KKy0gICAgaWYgKHJjbmFtZSA9PSAwKSB7CistCXJjbmFtZSA9IGdldGVudigiSE9NRSIpOworLQlpZiAocmNuYW1lKQorLQkgICAgc3RyY3B5KHJjYnVmLCByY25hbWUpOworLQllbHNlCistCSAgICByY2J1ZlswXSA9ICdcMCc7CistCXN0cmNhdChyY2J1ZiwgIi8udGVsbmV0cmMiKTsKKy0JcmNuYW1lID0gcmNidWY7CistICAgIH0KKysgICAgc3RyY3B5KHBvcnRzYXZlLCBwb3J0KTsKKysgICAgcG9ydCA9IHBvcnRzYXZlOworIAorICAgICByY2ZpbGUgPSBmb3BlbihyY25hbWUsICJyIik7CisgICAgIGlmICghcmNmaWxlKSByZXR1cm47CitAQCAtMjA2MSw2ICsyMTMzLDEzIEBAIHZvaWQgY21kcmMoY29uc3QgY2hhciAqbTEsIGNvbnN0IGNoYXIgKm0yKSB7CisgCQlzdHJuY3B5KGxpbmUsICZsaW5lWzddLCBzaXplb2YobGluZSkgLSA3KTsKKyAJICAgIGVsc2UKKyAJCWNvbnRpbnVlOworKworKwkgICAgaWYgKGxpbmVbMF0gPT0gJzonKSB7CisrCQlpZiAoIXN0cm5jYXNlY21wKCZsaW5lWzFdLCBwb3J0LCBscG9ydCkpCisrCQkgICAgY29udGludWU7CisrCQlzdHJuY3B5KGxpbmUsICZsaW5lW2xwb3J0ICsgMV0sIHNpemVvZihsaW5lKSAtIGxwb3J0IC0gMSk7CisrCSAgICB9CisrCisgCSAgICBpZiAobGluZVswXSAhPSAnICcgJiYgbGluZVswXSAhPSAnXHQnICYmIGxpbmVbMF0gIT0gJ1xuJykKKyAJCWNvbnRpbnVlOworIAkgICAgZ290bWFjaGluZSA9IDE7CitAQCAtMjA3Myw2ICsyMTUyLDIxIEBAIHZvaWQgY21kcmMoY29uc3QgY2hhciAqbTEsIGNvbnN0IGNoYXIgKm0yKSB7CisgICAgIGZjbG9zZShyY2ZpbGUpOworIH0KKyAKKyt2b2lkIGNtZHJjKGNvbnN0IGNoYXIgKm0xLCBjb25zdCBjaGFyICptMiwgY29uc3QgY2hhciAqcG9ydCkgeworKyAgICBjaGFyICpyY25hbWUgPSBOVUxMOworKworKyAgICBpZiAoc2tpcHJjKSByZXR1cm47CisrCisrICAgIHJlYWRyYyhtMSwgbTIsIHBvcnQsICIvZXRjL3RlbG5ldHJjIik7CisrICAgIGlmIChhc3ByaW50ZiAoJnJjbmFtZSwgIiVzLy50ZWxuZXRyYyIsIGdldGVudiAoIkhPTUUiKSkgPT0gLTEpCisrICAgICAgeworKyAgICAgICAgcGVycm9yICgiYXNwcmludGYiKTsKKysgICAgICAgIHJldHVybjsKKysgICAgICB9CisrICAgIHJlYWRyYyhtMSwgbTIsIHBvcnQsIHJjbmFtZSk7CisrICAgIGZyZWUgKHJjbmFtZSk7CisrfQorKworICNpZiBkZWZpbmVkKElQX09QVElPTlMpICYmIGRlZmluZWQoSEFTX0lQUFJPVE9fSVApCisgCisgLyoKK2RpZmYgLS1naXQgYS90ZWxuZXQvZGVmaW5lcy5oIGIvdGVsbmV0L2RlZmluZXMuaAoraW5kZXggMjc4NDQwMC4uZDVlZGM0NiAxMDA2NDQKKy0tLSBhL3RlbG5ldC9kZWZpbmVzLmgKKysrKyBiL3RlbG5ldC9kZWZpbmVzLmgKK0BAIC01MCwzICs1MCw1IEBACisgI2RlZmluZQlNT0RFX0NPTU1BTkRfTElORShtKQkoKG0pPT0tMSkKKyAKKyAjZGVmaW5lCUNPTlRST0woeCkJKCh4KSYweDFmKQkJLyogQ1RSTCh4KSBpcyBub3QgcG9ydGFibGUgKi8KKysKKysjZGVmaW5lIE1PREVfT1VUOAkweDgwMDAJCQkvKiBiaW5hcnkgbW9kZSBzYW5zIC1vcG9zdCAqLworZGlmZiAtLWdpdCBhL3RlbG5ldC9leHRlcm5zLmggYi90ZWxuZXQvZXh0ZXJucy5oCitpbmRleCA5NTVkZjc5Li4wNzMwZThhIDEwMDY0NAorLS0tIGEvdGVsbmV0L2V4dGVybnMuaAorKysrIGIvdGVsbmV0L2V4dGVybnMuaAorQEAgLTQ4LDkgKzQ4LDcgQEAKKyB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgY2NfdDsKKyAjZW5kaWYKKyAKKy0jaWZkZWYgX19saW51eF9fCisgI2luY2x1ZGUgPHVuaXN0ZC5oPiAgIC8qIGdldCBfUE9TSVhfVkRJU0FCTEUgKi8KKy0jZW5kaWYKKyAKKyAjaWZuZGVmCV9QT1NJWF9WRElTQUJMRQorICNlcnJvciAiUGxlYXNlIGZpeCBleHRlcm5zLmggdG8gZGVmaW5lIF9QT1NJWF9WRElTQUJMRSIKK0BAIC02MCw3ICs1OCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgY2hhciBjY190OworIAorIGV4dGVybiBpbnQgYXV0b2xvZ2luOwkJLyogQXV0b2xvZ2luIGVuYWJsZWQgKi8KKyBleHRlcm4gaW50IHNraXByYzsJCS8qIERvbid0IHByb2Nlc3MgdGhlIH4vLnRlbG5ldHJjIGZpbGUgKi8KKy1leHRlcm4gaW50IGVpZ2h0OwkJLyogdXNlIGVpZ2h0IGJpdCBtb2RlIChiaW5hcnkgaW4gYW5kL29yIG91dCAqLworK2V4dGVybiBpbnQgZWlnaHQ7CQkvKiB1c2UgZWlnaHQgYml0IG1vZGUgKGJpbmFyeSBpbiBhbmQvb3Igb3V0KSAqLworK2V4dGVybiBpbnQgYmluYXJ5OwkJLyogdXNlIGJpbmFyeSBvcHRpb24gKGluIGFuZC9vciBvdXQpICovCisgZXh0ZXJuIGludCBmbHVzaG91dDsJCS8qIGZsdXNoIG91dHB1dCAqLworIGV4dGVybiBpbnQgY29ubmVjdGVkOwkJLyogQXJlIHdlIGNvbm5lY3RlZCB0byB0aGUgb3RoZXIgc2lkZT8gKi8KKyBleHRlcm4gaW50IGdsb2JhbG1vZGU7CQkvKiBNb2RlIHR0eSBzaG91bGQgYmUgaW4gKi8KK0BAIC0yMjUsNiArMjI0LDggQEAgY2NfdCAqdGN2YWwoaW50KTsKKyAKKyAvLyNpZiAwCisgZXh0ZXJuIHN0cnVjdCB0ZXJtaW9zIG5ld190YzsKKytleHRlcm4gc3RydWN0IHRlcm1pb3Mgb2xkX3RjOworKworIAorICNkZWZpbmUgdGVybUVvZkNoYXIJCW5ld190Yy5jX2NjW1ZFT0ZdCisgI2RlZmluZSB0ZXJtRXJhc2VDaGFyCQluZXdfdGMuY19jY1tWRVJBU0VdCitkaWZmIC0tZ2l0IGEvdGVsbmV0L21haW4uY2MgYi90ZWxuZXQvbWFpbi5jYworaW5kZXggYjY3ZjJjZS4uYjYyNmU1NCAxMDA2NDQKKy0tLSBhL3RlbG5ldC9tYWluLmNjCisrKysgYi90ZWxuZXQvbWFpbi5jYworQEAgLTQ1LDcgKzQ1LDEwIEBAIGNoYXIgbWFpbl9yY3NpZFtdID0KKyAKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPGdldG9wdC5oPgorKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisrI2luY2x1ZGUgPG5ldGRiLmg+CisrI2luY2x1ZGUgPGVycm5vLmg+CisgCisgI2luY2x1ZGUgInJpbmcuaCIKKyAjaW5jbHVkZSAiZXh0ZXJucy5oIgorQEAgLTgwLDEyICs4MywxMyBAQCB0bmluaXQodm9pZCkKKyB2b2lkIHVzYWdlKHZvaWQpIHsKKyAgICAgZnByaW50ZihzdGRlcnIsICJVc2FnZTogJXMgJXMlcyVzJXNcbiIsCisgCSAgICBwcm9tcHQsCistCSAgICAiIFstOF0gWy1FXSBbLUxdIFstYV0gWy1kXSBbLWUgY2hhcl0gWy1sIHVzZXJdIFstbiB0cmFjZWZpbGVdIiwKKy0JICAgICJcblx0IiwKKysJICAgICJbLTRdIFstNl0gWy04XSBbLUVdIFstTF0gWy1hXSBbLWRdIFstZSBjaGFyXSBbLWwgdXNlcl0iLAorKwkgICAgIlxuXHRbLW4gdHJhY2VmaWxlXSBbIC1iIGFkZHIgXSIsCisgI2lmZGVmIFROMzI3MAorKwkgICAgIlxuXHQiCisgCSAgICAiWy1ub2FzeW5jaF0gWy1ub2FzeW5jdHR5XSBbLW5vYXN5bmNuZXRdIFstcl0gWy10IHRyYW5zY29tXVxuXHQiLAorICNlbHNlCistCSAgICAiWy1yXSAiLAorKwkgICAgIiBbLXJdICIsCisgI2VuZGlmCisgCSAgICAiW2hvc3QtbmFtZSBbcG9ydF1dIgorIAkpOworQEAgLTEwMiw3ICsxMDYsOCBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCWV4dGVybiBjaGFyICpvcHRhcmc7CisgCWV4dGVybiBpbnQgb3B0aW5kOworIAlpbnQgY2g7CistCWNoYXIgKnVzZXI7CisrCWNoYXIgKnVzZXIsICpzcmNhZGRyOworKwlpbnQgZmFtaWx5OworIAorIAl0bmluaXQoKTsJCS8qIENsZWFyIG91dCB0aGluZ3MgKi8KKyAjaWYJZGVmaW5lZChDUkFZKSAmJiAhZGVmaW5lZChfX1NURENfXykKK0BAIC0xMTAsMjEgKzExNSwzOCBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgI2VuZGlmCisgCisgCVRlcm1pbmFsU2F2ZVN0YXRlKCk7CisrCWlmICgob2xkX3RjLmNfY2ZsYWcgJiAoQ1NJWkV8UEFSRU5CKSkgIT0gQ1M4KQorKwkJZWlnaHQgPSAwOworIAorIAlpZiAoKHByb21wdCA9IHN0cnJjaHIoYXJndlswXSwgJy8nKSkhPU5VTEwpCisgCQkrK3Byb21wdDsKKyAJZWxzZQorIAkJcHJvbXB0ID0gYXJndlswXTsKKyAKKy0JdXNlciA9IE5VTEw7CisrCXVzZXIgPSBzcmNhZGRyID0gTlVMTDsKKysJZmFtaWx5ID0gMDsKKyAKKyAJcmxvZ2luID0gKHN0cm5jbXAocHJvbXB0LCAicmxvZyIsIDQpID09IDApID8gJ34nIDogX1BPU0lYX1ZESVNBQkxFOworIAlhdXRvbG9naW4gPSAtMTsKKyAKKy0Jd2hpbGUgKChjaCA9IGdldG9wdChhcmdjLCBhcmd2LCAiOEVLTFM6WDphZGU6azpsOm46cnQ6eCIpKSAhPSBFT0YpIHsKKysJd2hpbGUgKChjaCA9IGdldG9wdChhcmdjLCBhcmd2LAorKwkJCSAgICAiNDY3OEVLTFM6WDphYjpkZTprOmw6bjpydDp4IikpICE9IEVPRikgeworIAkJc3dpdGNoKGNoKSB7CisrCQljYXNlICc0JzoKKysJCQlmYW1pbHkgPSBBRl9JTkVUOworKwkJCWJyZWFrOworKwkJY2FzZSAnNic6CisrI2lmZGVmIEFGX0lORVQ2CisrCQkJZmFtaWx5ID0gQUZfSU5FVDY7CisrI2Vsc2UKKysJCQlmcHV0cygiSVB2NiB1bnN1cHBvcnRlZFxuIiwgc3RkZXJyKTsKKysjZW5kaWYKKysJCQlicmVhazsKKysJCWNhc2UgJzcnOgorKwkJCWVpZ2h0ID0gMDsJLyogNy1iaXQgb3VwdXQgYW5kIGlucHV0ICovCisrCQkJYnJlYWs7CisgCQljYXNlICc4JzoKKy0JCQllaWdodCA9IDM7CS8qIGJpbmFyeSBvdXRwdXQgYW5kIGlucHV0ICovCisrCQkJYmluYXJ5ID0gMzsJLyogYmluYXJ5IG91dHB1dCBhbmQgaW5wdXQgKi8KKyAJCQlicmVhazsKKyAJCWNhc2UgJ0UnOgorIAkJCXJsb2dpbiA9IGVzY2FwZWNoYXIgPSBfUE9TSVhfVkRJU0FCTEU7CitAQCAtMTMzLDIzICsxNTUsMjYgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJICAgICAgICAvL2F1dG9sb2dpbiA9IDA7CisgCQkJYnJlYWs7CisgCQljYXNlICdMJzoKKy0JCQllaWdodCB8PSAyOwkvKiBiaW5hcnkgb3V0cHV0IG9ubHkgKi8KKysJCQliaW5hcnkgfD0gMjsJLyogYmluYXJ5IG91dHB1dCBvbmx5ICovCisgCQkJYnJlYWs7CisgCQljYXNlICdTJzoKKyAJCSAgICB7CistI2lmZGVmCUhBU19HRVRUT1MKKyAJCQlleHRlcm4gaW50IHRvczsKKysJCQlpbnQgbnVtOworIAorLQkJCWlmICgodG9zID0gcGFyc2V0b3Mob3B0YXJnLCAidGNwIikpIDwgMCkKKysjaWZkZWYJSEFTX0dFVFRPUworKwkJCWlmICgobnVtID0gcGFyc2V0b3Mob3B0YXJnLCAidGNwIikpIDwgMCkgeworKyNlbHNlCisrCQkJZXJybm8gPSAwOworKwkJCW51bSA9IHN0cnRvbChvcHRhcmcsIDAsIDApOworKwkJCWlmIChlcnJubykgeworKyNlbmRpZgorIAkJCQlmcHJpbnRmKHN0ZGVyciwgIiVzJXMlcyVzXG4iLAorIAkJCQkJcHJvbXB0LCAiOiBCYWQgVE9TIGFyZ3VtZW50ICciLAorIAkJCQkJb3B0YXJnLAorIAkJCQkJIjsgd2lsbCB0cnkgdG8gdXNlIGRlZmF1bHQgVE9TIik7CistI2Vsc2UKKy0JCQlmcHJpbnRmKHN0ZGVyciwKKy0JCQkgICAiJXM6IFdhcm5pbmc6IC1TIGlnbm9yZWQsIG5vIHBhcnNldG9zKCkgc3VwcG9ydC5cbiIsCistCQkJCQkJCQlwcm9tcHQpOworLSNlbmRpZgorKwkJCX0gZWxzZQorKwkJCQl0b3MgPSBudW07CisgCQkgICAgfQorIAkJCWJyZWFrOworIAkJY2FzZSAnWCc6CitAQCAtMjEwLDYgKzIzNSw5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJCQkJIiVzOiAteCBpZ25vcmVkLCBubyBlbmNyeXB0aW9uIHN1cHBvcnQuXG4iLAorIAkJCQlwcm9tcHQpOworIAkJCWJyZWFrOworKwkJY2FzZSAnYic6CisrCQkJc3JjYWRkciA9IG9wdGFyZzsKKysJCQlicmVhazsKKyAJCWNhc2UgJz8nOgorIAkJZGVmYXVsdDoKKyAJCQl1c2FnZSgpOworQEAgLTIzMyw2ICsyNjEsMTMgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJCSphcmdwKysgPSAiLWwiOworIAkJCSphcmdwKysgPSB1c2VyOworIAkJfQorKwkJaWYgKHNyY2FkZHIpIHsKKysJCQkqYXJncCsrID0gIi1iIjsKKysJCQkqYXJncCsrID0gc3JjYWRkcjsKKysJCX0KKysJCWlmIChmYW1pbHkpIHsKKysJCQkqYXJncCsrID0gZmFtaWx5ID09IEFGX0lORVQgPyAiLTQiIDogIi02IjsKKysJCX0KKyAJCSphcmdwKysgPSBhcmd2WzBdOwkJLyogaG9zdCAqLworIAkJaWYgKGFyZ2MgPiAxKQorIAkJCSphcmdwKysgPSBhcmd2WzFdOwkvKiBwb3J0ICovCitkaWZmIC0tZ2l0IGEvdGVsbmV0L25ldGxpbmsuY2MgYi90ZWxuZXQvbmV0bGluay5jYworaW5kZXggZjQzOWNmZi4uZjgzOTc0NyAxMDA2NDQKKy0tLSBhL3RlbG5ldC9uZXRsaW5rLmNjCisrKysgYi90ZWxuZXQvbmV0bGluay5jYworQEAgLTc5LDIyICs3OSw2MSBAQCB2b2lkIG5ldGxpbms6OmNsb3NlKGludCBkb3NodXRkb3duKSB7CisgCXNodXRkb3duKG5ldCwgMik7CisgICAgIH0KKyAgICAgOjpjbG9zZShuZXQpOworKyAgICBuZXQgPSAtMTsKKyB9CisgCistaW50IG5ldGxpbms6OmNvbm5lY3QoaW50IGRlYnVnLCBzdHJ1Y3QgaG9zdGVudCAqaG9zdCwgCistCQkgICAgIHN0cnVjdCBzb2NrYWRkcl9pbiAqc24sIAorLQkJICAgICBjaGFyICpzcmNyb3V0ZSwgaW50IHNybGVuLCBpbnQgdG9zKSAKKytpbnQgbmV0bGluazo6YmluZChzdHJ1Y3QgYWRkcmluZm8gKmFkZHIpCisgeworLSAgICBpbnQgb249MTsKKysgICAgaW50IHJlczsKKysKKysgICAgcmVzID0gc29ja2V0KGFkZHItPmFpX2ZhbWlseSk7CisrICAgIGlmIChyZXMgPCAyKSB7CisrCWlmIChyZXMgPT0gMSkKKysJICAgIHBlcnJvcigidGVsbmV0OiBzb2NrZXQiKTsKKysJcmV0dXJuIC0xOworKyAgICB9CisrCisrICAgIGlmICg6OmJpbmQobmV0LCBhZGRyLT5haV9hZGRyLCBhZGRyLT5haV9hZGRybGVuKSA8IDApIHsKKysJcGVycm9yKCJ0ZWxuZXQ6IGJpbmQiKTsKKysJcmV0dXJuIC0xOworKyAgICB9CisrCisrICAgIHJldHVybiAwOworK30KKysKKytpbnQgbmV0bGluazo6c29ja2V0KGludCBmYW1pbHkpCisreworKyAgICBpZiAodGhpcy0+ZmFtaWx5ICE9IGZhbWlseSkKKysJY2xvc2UoMCk7CisgCistICAgIG5ldCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCk7CisgICAgIGlmIChuZXQgPCAwKSB7CistCXBlcnJvcigidGVsbmV0OiBzb2NrZXQiKTsKKy0JcmV0dXJuIDA7CisrCXRoaXMtPmZhbWlseSA9IGZhbWlseTsKKysJbmV0ID0gOjpzb2NrZXQoZmFtaWx5LCBTT0NLX1NUUkVBTSwgMCk7CisrCWlmIChuZXQgPCAwKSB7CisrCSAgICBpZiAoZXJybm8gPT0gRUFGTk9TVVBQT1JUKQorKwkJcmV0dXJuIDE7CisrCSAgICBwZXJyb3IoInRlbG5ldDogc29ja2V0Iik7CisrCSAgICByZXR1cm4gMDsKKysJfQorICAgICB9CisgCisrICAgIHJldHVybiAyOworK30KKysKKytpbnQgbmV0bGluazo6Y29ubmVjdChpbnQgZGVidWcsIHN0cnVjdCBhZGRyaW5mbyAqYWRkciwgCisrCQkgICAgIGNoYXIgKnNyY3JvdXRlLCBpbnQgc3JsZW4sIGludCB0b3MpIAorK3sKKysgICAgaW50IG9uPTE7CisrICAgIGludCByZXM7CisrCisrICAgIHJlcyA9IHNvY2tldChhZGRyLT5haV9mYW1pbHkpOworKyAgICBpZiAocmVzIDwgMikKKysJcmV0dXJuIHJlczsKKysKKyAjaWYgZGVmaW5lZChJUF9PUFRJT05TKSAmJiBkZWZpbmVkKEhBU19JUFBST1RPX0lQKQorICAgICBpZiAoc3Jjcm91dGUpIHsKKysJaWYgKGFkZHItPmFpX2ZhbWlseSAhPSBBRl9JTkVUKQorKwkgICAgZnB1dHMoIlNvdXJjZSByb3V0ZSBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgSVB2NFxuIiwgc3RkZXJyKTsKKyAJaWYgKHNldHNvY2tvcHQobmV0LCBJUFBST1RPX0lQLCBJUF9PUFRJT05TLCBzcmNyb3V0ZSwgc3JsZW4pIDwgMCkKKyAJICAgIHBlcnJvcigic2V0c29ja29wdCAoSVBfT1BUSU9OUykiKTsKKyAgICAgfQorQEAgLTEwOCw3ICsxNDcsNyBAQCBpbnQgbmV0bGluazo6Y29ubmVjdChpbnQgZGVidWcsIHN0cnVjdCBob3N0ZW50ICpob3N0LAorICNlbmRpZgorICAgICBpZiAodG9zIDwgMCkgdG9zID0gMDIwOwkvKiBMb3cgRGVsYXkgYml0ICovCisgICAgIGlmICh0b3MgJiYgKHNldHNvY2tvcHQobmV0LCBJUFBST1RPX0lQLCBJUF9UT1MsICZ0b3MsIHNpemVvZihpbnQpKSA8IDApCistCSYmIChlcnJubyAhPSBFTk9QUk9UT09QVCkpCisrCSYmIChlcnJubyAhPSBFTk9QUk9UT09QVCkgJiYgKGVycm5vICE9IEVPUE5PVFNVUFApKQorIAlwZXJyb3IoInRlbG5ldDogc2V0c29ja29wdCAoSVBfVE9TKSAoaWdub3JlZCkiKTsKKyAjZW5kaWYJLyogZGVmaW5lZChJUFBST1RPX0lQKSAmJiBkZWZpbmVkKElQX1RPUykgKi8KKyAKK0BAIC0xMTYsMjcgKzE1NSw4IEBAIGludCBuZXRsaW5rOjpjb25uZWN0KGludCBkZWJ1Zywgc3RydWN0IGhvc3RlbnQgKmhvc3QsCisgCXBlcnJvcigic2V0c29ja29wdCAoU09fREVCVUcpIik7CisgICAgIH0KKyAgICAgCistICAgIGlmICg6OmNvbm5lY3QobmV0LCAoc3RydWN0IHNvY2thZGRyICopc24sIHNpemVvZigqc24pKSA8IDApIHsKKy0jaWYgZGVmaW5lZChoX2FkZHIpCQkvKiBJbiA0LjMsIHRoaXMgaXMgYSAjZGVmaW5lICovCistCWlmIChob3N0ICYmIGhvc3QtPmhfYWRkcl9saXN0WzFdKSB7CistCSAgICBpbnQgb2Vycm5vID0gZXJybm87CistCSAgICAKKy0JICAgIGZwcmludGYoc3RkZXJyLCAidGVsbmV0OiBjb25uZWN0IHRvIGFkZHJlc3MgJXM6ICIsCistCQkgICAgaW5ldF9udG9hKHNuLT5zaW5fYWRkcikpOworLQkgICAgZXJybm8gPSBvZXJybm87CistCSAgICBwZXJyb3IoTlVMTCk7CistCSAgICBob3N0LT5oX2FkZHJfbGlzdCsrOworLQkgICAgaWYgKGhvc3QtPmhfbGVuZ3RoID4gKGludClzaXplb2Yoc24tPnNpbl9hZGRyKSkgeworLQkJaG9zdC0+aF9sZW5ndGggPSBzaXplb2Yoc24tPnNpbl9hZGRyKTsKKy0JICAgIH0KKy0JICAgIG1lbWNweSgmc24tPnNpbl9hZGRyLCBob3N0LT5oX2FkZHJfbGlzdFswXSwgaG9zdC0+aF9sZW5ndGgpOworLQkgICAgY2xvc2UobmV0KTsKKy0JICAgIHJldHVybiAxOworLQl9CistI2VuZGlmCS8qIGRlZmluZWQoaF9hZGRyKSAqLworLQorLQlwZXJyb3IoInRlbG5ldDogVW5hYmxlIHRvIGNvbm5lY3QgdG8gcmVtb3RlIGhvc3QiKTsKKy0JcmV0dXJuIDA7CisrICAgIGlmICg6OmNvbm5lY3QobmV0LCBhZGRyLT5haV9hZGRyLCBhZGRyLT5haV9hZGRybGVuKSA8IDApIHsKKysJcmV0dXJuIDE7CisgICAgIH0KKyAgICAgcmV0dXJuIDI7CisgfQorZGlmZiAtLWdpdCBhL3RlbG5ldC9uZXRsaW5rLmggYi90ZWxuZXQvbmV0bGluay5oCitpbmRleCA5ODUyYjMwLi4wYWM4YTA4IDEwMDY0NAorLS0tIGEvdGVsbmV0L25ldGxpbmsuaAorKysrIGIvdGVsbmV0L25ldGxpbmsuaAorQEAgLTEsMTMgKzEsMTYgQEAKKyAKKyBjbGFzcyBuZXRsaW5rIHsKKysgcHJpdmF0ZToKKysgICAgaW50IGZhbWlseTsKKyAgcHJvdGVjdGVkOgorICAgICBpbnQgbmV0OworICBwdWJsaWM6CisgICAgIG5ldGxpbmsoKTsKKyAgICAgfm5ldGxpbmsoKTsKKyAKKy0gICAgaW50IGNvbm5lY3QoaW50IGRlYnVnLCBzdHJ1Y3QgaG9zdGVudCAqaG9zdCwgCistCQlzdHJ1Y3Qgc29ja2FkZHJfaW4gKnNpbiwgCisrICAgIGludCBiaW5kKHN0cnVjdCBhZGRyaW5mbyAqaG9zdGFkZHIpOworKyAgICBpbnQgc29ja2V0KGludCBmYW1pbHkpOworKyAgICBpbnQgY29ubmVjdChpbnQgZGVidWcsIHN0cnVjdCBhZGRyaW5mbyAqaG9zdGFkZHIsIAorIAkJY2hhciAqc3Jjcm91dGUsIGludCBzcmxlbiwKKyAJCWludCB0b3MpOworICAgICB2b2lkIGNsb3NlKGludCBkb3NodXRkb3duKTsKK2RpZmYgLS1naXQgYS90ZWxuZXQvbmV0d29yay5jYyBiL3RlbG5ldC9uZXR3b3JrLmNjCitpbmRleCA2YTJjMzc0Li4wZGNmM2UyIDEwMDY0NAorLS0tIGEvdGVsbmV0L25ldHdvcmsuY2MKKysrKyBiL3RlbG5ldC9uZXR3b3JrLmNjCitAQCAtNDAsNiArNDAsNyBAQCBjaGFyIG5ldF9yY3NpZFtdID0KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKysjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPGFycGEvdGVsbmV0Lmg+CisgCitkaWZmIC0tZ2l0IGEvdGVsbmV0L3Byb3RvLmggYi90ZWxuZXQvcHJvdG8uaAoraW5kZXggOGJlNGEzOS4uOTJmMjQxOSAxMDA2NDQKKy0tLSBhL3RlbG5ldC9wcm90by5oCisrKysgYi90ZWxuZXQvcHJvdG8uaAorQEAgLTEzLDcgKzEzLDcgQEAgaW50IFRlcm1pbmFsV2luZG93U2l6ZShsb25nICpyb3dzLCBsb25nICpjb2xzKTsKKyB2b2lkIGF1dGhfZW5jcnlwdF91c2VyKGNoYXIgKik7Cisgdm9pZCBhdXRoX25hbWUodW5zaWduZWQgY2hhciAqLCBpbnQpOworIHZvaWQgYXV0aF9wcmludHN1Yih1bnNpZ25lZCBjaGFyICosIGludCwgdW5zaWduZWQgY2hhciAqLCBpbnQpOworLXZvaWQgY21kcmMoY29uc3QgY2hhciAqbTEsIGNvbnN0IGNoYXIgKm0yKTsKKyt2b2lkIGNtZHJjKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworIHZvaWQgZW52X2luaXQodm9pZCk7CisgaW50IGdldGNvbm5tb2RlKHZvaWQpOworIHZvaWQgaW5pdF9uZXR3b3JrKHZvaWQpOworZGlmZiAtLWdpdCBhL3RlbG5ldC9yaW5nLmNjIGIvdGVsbmV0L3JpbmcuY2MKK2luZGV4IGJlNTczOTYuLjc3MmM2YzUgMTAwNjQ0CistLS0gYS90ZWxuZXQvcmluZy5jYworKysrIGIvdGVsbmV0L3JpbmcuY2MKK0BAIC0xNjUsNyArMTY1LDcgQEAgaW50IHJpbmdidWY6OmZsdXNoKCkgeworIAorIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBzdXBwbHkgLy8vLy8vLy8vLy8vLy8KKyAKKy12b2lkIHJpbmdidWY6OnByaW50Zihjb25zdCBjaGFyICpmb3JtYXQsIC4uLikgeworK3ZvaWQgcmluZ2J1Zjo6eHByaW50Zihjb25zdCBjaGFyICpmb3JtYXQsIC4uLikgeworICAgICBjaGFyIHhidWZbMjU2XTsKKyAgICAgdmFfbGlzdCBhcDsKKyAgICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7CitkaWZmIC0tZ2l0IGEvdGVsbmV0L3JpbmcuaCBiL3RlbG5ldC9yaW5nLmgKK2luZGV4IDE1ZDNmM2YuLjA0OTM3N2UgMTAwNjQ0CistLS0gYS90ZWxuZXQvcmluZy5oCisrKysgYi90ZWxuZXQvcmluZy5oCitAQCAtODMsNyArODMsNyBAQCBjbGFzcyByaW5nYnVmIHsKKyAgICAgLy8gbWFudWFsIHN1cHBseQorICAgICB2b2lkIHB1dGNoKGNoYXIgYykgeyB3cml0ZSgmYywgMSk7IH0KKyAgICAgdm9pZCB3cml0ZShjb25zdCBjaGFyICpidWZmZXIsIGludCBjdCk7CistICAgIHZvaWQgcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKKysgICAgdm9pZCB4cHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKKyAgICAgaW50IGVtcHR5X2NvdW50KCkgeyByZXR1cm4gc2l6ZSAtIGNvdW50OyB9CisgCisgICAgIC8vIGF1dG9tYXRpYyBzdXBwbHkKK2RpZmYgLS1naXQgYS90ZWxuZXQvc3lzX2JzZC5jYyBiL3RlbG5ldC9zeXNfYnNkLmNjCitpbmRleCA5M2ZiYTdlLi5hOGM5YWFiIDEwMDY0NAorLS0tIGEvdGVsbmV0L3N5c19ic2QuY2MKKysrKyBiL3RlbG5ldC9zeXNfYnNkLmNjCitAQCAtMTg5LDE4ICsxODksMjUgQEAgdm9pZCBOZXRTZXRQZ3JwKGludCBmZCkgeworICAqIFZhcmlvdXMgc2lnbmFsIGhhbmRsaW5nIHJvdXRpbmVzLgorICAqLworIAorKyNpZiAwCisgc3RhdGljIHZvaWQgZGVhZHBlZXIoaW50IC8qc2lnKi8pIHsKKyAgICAgc2V0Y29tbWFuZG1vZGUoKTsKKyAgICAgc2lnbG9uZ2ptcChwZWVyZGllZCwgLTEpOworIH0KKysjZW5kaWYKKyAKKyBzdGF0aWMgdm9pZCBpbnRyKGludCAvKnNpZyovKSB7CisgICAgIGlmIChsb2NhbGNoYXJzKSB7CisgCWludHAoKTsKKyAgICAgfQorICAgICBlbHNlIHsKKysjaWYgMAorICAgICAgICAgc2V0Y29tbWFuZG1vZGUoKTsKKyAJc2lnbG9uZ2ptcCh0b3BsZXZlbCwgLTEpOworKyNlbHNlCisrCXNpZ25hbChTSUdJTlQsIFNJR19ERkwpOworKwlyYWlzZShTSUdJTlQpOworKyNlbmRpZgorICAgICB9CisgfQorIAorQEAgLTIxNCw2ICsyMjEsOCBAQCBzdGF0aWMgdm9pZCBpbnRyMihpbnQgLypzaWcqLykgeworIAkgICAgc2VuZGFib3J0KCk7CisgCXJldHVybjsKKyAgICAgfQorKyAgICBzaWduYWwoU0lHUVVJVCwgU0lHX0RGTCk7CisrICAgIHJhaXNlKFNJR1FVSVQpOworIH0KKyAKKyAjaWZkZWYJU0lHV0lOQ0gKK0BAIC0yMzgsNyArMjQ3LDkgQEAgdm9pZCBheXQoaW50IHNpZykgeworIHZvaWQgc3lzX3RlbG5ldF9pbml0KHZvaWQpIHsKKyAgICAgc2lnbmFsKFNJR0lOVCwgaW50cik7CisgICAgIHNpZ25hbChTSUdRVUlULCBpbnRyMik7CisrI2lmIDAKKyAgICAgc2lnbmFsKFNJR1BJUEUsIGRlYWRwZWVyKTsKKysjZW5kaWYKKyAjaWZkZWYJU0lHV0lOQ0gKKyAgICAgc2lnbmFsKFNJR1dJTkNILCBzZW5kd2luKTsKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS90ZWxuZXQvdGVsbmV0LjEgYi90ZWxuZXQvdGVsbmV0LjEKK2luZGV4IDU0YTQ3ZmIuLjgzNjVlNDIgMTAwNjQ0CistLS0gYS90ZWxuZXQvdGVsbmV0LjEKKysrKyBiL3RlbG5ldC90ZWxuZXQuMQorQEAgLTQyLDggKzQyLDkgQEAKKyBwcm90b2NvbAorIC5TaCBTWU5PUFNJUworIC5ObSB0ZWxuZXQKKy0uT3AgRmwgOEVMYWRyCisrLk9wIEZsIDQ2OEVMYWRyCisgLk9wIEZsIFMgQXIgdG9zCisrLk9wIEZsIGIgQXIgYWRkcmVzcworIC5PcCBGbCBlIEFyIGVzY2FwZWNoYXIKKyAuT3AgRmwgbCBBciB1c2VyCisgLk9wIEZsIG4gQXIgdHJhY2VmaWxlCitAQCAtNjgsNiArNjksMTAgQEAgY29tbWFuZCBpbXBsaWNpdGx5OyBzZWUgdGhlIGRlc2NyaXB0aW9uIGJlbG93LgorIC5QcAorIE9wdGlvbnM6CisgLkJsIC10YWcgLXdpZHRoIGluZGVudAorKy5JdCBGbCA0CisrRm9yY2UgSVB2NCBhZGRyZXNzIHJlc29sdXRpb24uCisrLkl0IEZsIDYKKytGb3JjZSBJUHY2IGFkZHJlc3MgcmVzb2x1dGlvbi4KKyAuSXQgRmwgOAorIFJlcXVlc3QgOC1iaXQgb3BlcmF0aW9uLiBUaGlzIGNhdXNlcyBhbiBhdHRlbXB0IHRvIG5lZ290aWF0ZSB0aGUKKyAuRHYgVEVMTkVUIEJJTkFSWQorQEAgLTg5LDYgKzk0LDggQEAgb2YgdGhlCisgb3B0aW9uIGlmIHN1cHBvcnRlZCBieSB0aGUgcmVtb3RlIHN5c3RlbS4gVGhlIHVzZXJuYW1lIGlzIHJldHJpZXZlZAorIHZpYQorIC5YciBnZXRsb2dpbiAzIC4KKysuSXQgRmwgYiBBciBhZGRyZXNzCisrVXNlIGJpbmQoMikgb24gdGhlIGxvY2FsIHNvY2tldCB0byBiaW5kIGl0IHRvIGEgc3BlY2lmaWMgbG9jYWwgYWRkcmVzcy4KKyAuSXQgRmwgZAorIFNldHMgdGhlIGluaXRpYWwgdmFsdWUgb2YgdGhlCisgLkljIGRlYnVnCitAQCAtNDc0LDE3ICs0ODEsMjkgQEAgcHJvdG9jb2wgd2l0aG91dCBtYWtpbmcgYSBtZXNzLiBQcm90b2NvbCBuZWdvdGlhdGlvbiBjYW4gYmUgZm9yY2VkIGJ5CisgcGxhY2luZyBhIGRhc2ggYmVmb3JlIHRoZSBwb3J0IG51bWJlci4KKyAuUHAKKyBBZnRlciBlc3RhYmxpc2hpbmcgYSBjb25uZWN0aW9uLCBhbnkgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIHRoZQorLXJlbW90ZSBob3N0IGluIHRoZSB1c2VyJ3MKKytyZW1vdGUgaG9zdCBpbgorKy5QYSAvZXRjL3RlbG5ldHJjCisrYW5kIHRoZSB1c2VyJ3MKKyAuUGEgLnRlbG5ldHJjCistZmlsZSBhcmUgZXhlY3V0ZWQuCisrZmlsZSBhcmUgZXhlY3V0ZWQsIGluIHRoYXQgb3JkZXIuCisgLlBwCistVGhlIGZvcm1hdCBvZiB0aGUgLnRlbG5ldHJjIGZpbGUgaXMgYXMgZm9sbG93czogTGluZXMgYmVnaW5uaW5nIHdpdGggYQorK1RoZSBmb3JtYXQgb2YgdGhlIHRlbG5ldHJjIGZpbGVzIGlzIGFzIGZvbGxvd3M6IExpbmVzIGJlZ2lubmluZyB3aXRoIGEKKyAjLCBhbmQgYmxhbmsgbGluZXMsIGFyZSBpZ25vcmVkLiAgVGhlIHJlc3Qgb2YgdGhlIGZpbGUgc2hvdWxkIGNvbnNpc3QKKyBvZiBob3N0bmFtZXMgYW5kIHNlcXVlbmNlcyBvZgorIC5ObSB0ZWxuZXQKKyBjb21tYW5kcyB0byB1c2Ugd2l0aCB0aGF0IGhvc3QuIENvbW1hbmRzIHNob3VsZCBiZSBvbmUgcGVyIGxpbmUsCisgaW5kZW50ZWQgYnkgd2hpdGVzcGFjZTsgbGluZXMgYmVnaW5uaW5nIHdpdGhvdXQgd2hpdGVzcGFjZSBhcmUKKy1pbnRlcnByZXRlZCBhcyBob3N0bmFtZXMuIFVwb24gY29ubmVjdGluZyB0byBhIHBhcnRpY3VsYXIgaG9zdCwgdGhlCisraW50ZXJwcmV0ZWQgYXMgaG9zdG5hbWVzLiAgTGluZXMgYmVnaW5uaW5nIHdpdGggdGhlIHNwZWNpYWwgaG9zdG5hbWUKKysuUWwgREVGQVVMVAorK3dpbGwgYXBwbHkgdG8gYWxsIGhvc3RzLiAgSG9zdG5hbWVzIGluY2x1ZGluZworKy5RbCBERUZBVUxUCisrbWF5IGJlIGZvbGxvd2VkIGltbWVkaWF0ZWx5IGJ5IGEgY29sb24gYW5kIGEgcG9ydCBudW1iZXIgb3Igc3RyaW5nLgorK0lmIGEgcG9ydCBpcyBzcGVjaWZpZWQgaXQgbXVzdCBtYXRjaCBleGFjdGx5IHdpdGggd2hhdCBpcyBzcGVjaWZpZWQKKytvbiB0aGUgY29tbWFuZCBsaW5lLiAgSWYgbm8gcG9ydCB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUsCisrdGhlbiB0aGUgdmFsdWUKKysuUWwgdGVsbmV0CisraXMgdXNlZC4KKytVcG9uIGNvbm5lY3RpbmcgdG8gYSBwYXJ0aWN1bGFyIGhvc3QsIHRoZQorIGNvbW1hbmRzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGhvc3QgYXJlIGV4ZWN1dGVkLgorIC5JdCBJYyBxdWl0CisgQ2xvc2UgYW55IG9wZW4gc2Vzc2lvbiBhbmQgZXhpdAorQEAgLTExODQsOSArMTIwMyw3IEBAIGVzY2FwZSBzZXF1ZW5jZXMgYXJlIHByZWNlZGVkIGJ5IGEgJyonIHRvIGFpZCBpbiBsb2NhdGluZyB0aGVtLgorIFdoZW4gdGhlIHNraXByYyB0b2dnbGUgaXMKKyAuRHYgVFJVRSAsCisgLlRuIHRlbG5ldAorLWRvZXMgbm90IHJlYWQgdGhlIAorLS5QYSBcJi50ZWxuZXRyYworLWZpbGUuICBUaGUgaW5pdGlhbCB2YWx1ZSBmb3IgdGhpcyB0b2dnbGUgaXMKKytkb2VzIG5vdCByZWFkIHRoZSB0ZWxuZXRyYyBmaWxlcy4gIFRoZSBpbml0aWFsIHZhbHVlIGZvciB0aGlzIHRvZ2dsZSBpcworIC5EdiBGQUxTRS4KKyAuSXQgSWMgdGVybWRhdGEKKyBUb2dnbGVzIHRoZSBkaXNwbGF5IG9mIGFsbCB0ZXJtaW5hbCBkYXRhIChpbiBoZXhhZGVjaW1hbCBmb3JtYXQpLgorQEAgLTEyMzksNyArMTI1Niw5IEBAIHRvIHRoZSBvdGhlciBzaWRlIHZpYSB0aGUKKyAuRHYgVEVMTkVUIEVOVklST04KKyBvcHRpb24uCisgLlNoIEZJTEVTCistLkJsIC10YWcgLXdpZHRoIH4vLnRlbG5ldHJjIC1jb21wYWN0CisrLkJsIC10YWcgLXdpZHRoIC9ldGMvdGVsbmV0cmMgLWNvbXBhY3QKKysuSXQgUGEgL2V0Yy90ZWxuZXRyYworK2dsb2JhbCB0ZWxuZXQgc3RhcnR1cCB2YWx1ZXMKKyAuSXQgUGEgfi8udGVsbmV0cmMKKyB1c2VyIGN1c3RvbWl6ZWQgdGVsbmV0IHN0YXJ0dXAgdmFsdWVzCisgLkVsCitkaWZmIC0tZ2l0IGEvdGVsbmV0L3RlbG5ldC5jYyBiL3RlbG5ldC90ZWxuZXQuY2MKK2luZGV4IDRmYzNiMWYuLjdlY2E4MTEgMTAwNjQ0CistLS0gYS90ZWxuZXQvdGVsbmV0LmNjCisrKysgYi90ZWxuZXQvdGVsbmV0LmNjCitAQCAtODgsNyArODgsOCBAQCBjaGFyCWRvX2RvbnRfcmVzcFsyNTZdOworIGNoYXIJd2lsbF93b250X3Jlc3BbMjU2XTsKKyAKKyBpbnQKKy1laWdodCA9IDAsCisrICBlaWdodCA9IDMsCisrICBiaW5hcnkgPSAwLAorICAgYXV0b2xvZ2luID0gMCwJLyogQXV0b2xvZ2luIGFueW9uZT8gKi8KKyAgIHNraXByYyA9IDAsCisgICBjb25uZWN0ZWQsCitAQCAtNjM5LDE0ICs2NDAsMTQgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmdldHRlcm1uYW1lKHZvaWQpIHsKKyAgIGlmIChyZXNldHRlcm1uYW1lKSB7CisgICAgIHJlc2V0dGVybW5hbWUgPSAwOworICAgICB0bmFtZSA9IGVudl9nZXR2YWx1ZSgiVEVSTSIsIDApOworLSAgICBpZiAoIXRuYW1lIHx8IG15X3NldHVwdGVybSh0bmFtZSwgMSwgJmVycikpIHsKKysgICAgaWYgKCF0bmFtZSAvKiB8fCBteV9zZXR1cHRlcm0odG5hbWUsIDEsICZlcnIpICovKSB7CisgICAgICAgdGVybWJ1ZlswXSA9IDA7CisgICAgICAgdG5hbWUgPSAiVU5LTk9XTiI7CisgICAgIH0KKyAgICAgbWtsaXN0KHRlcm1idWYsIHRuYW1lLCB0ZXJtdHlwZXMpOworICAgICBuZXh0ID0gMDsKKyAgIH0KKy0gIGlmIChuZXh0PT10ZXJtdHlwZXMubnVtKCkpIG5leHQgPSAwOworKyAgaWYgKG5leHQ9PXRlcm10eXBlcy5udW0oKS0xKSBuZXh0ID0gMDsKKyAgIHJldHVybiB0ZXJtdHlwZXNbbmV4dCsrXTsKKyB9CisgLyoKK0BAIC02ODEsNyArNjgyLDcgQEAgc3RhdGljIHZvaWQgc3Vib3B0aW9uKHZvaWQpIHsKKyAgICAgICB9CisgI2VuZGlmIC8qIFROMzI3MCAqLworICAgICAgIG5hbWUgPSBnZXR0ZXJtbmFtZSgpOworLSAgICAgIG5ldG9yaW5nLnByaW50ZigiJWMlYyVjJWMlcyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfVFRZUEUsCisrICAgICAgbmV0b3JpbmcueHByaW50ZigiJWMlYyVjJWMlcyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfVFRZUEUsCisgCQkgICAgICBURUxRVUFMX0lTLCBuYW1lLCBJQUMsIFNFKTsKKyAgICAgfQorICAgICBicmVhazsKK0BAIC02OTMsNyArNjk0LDcgQEAgc3RhdGljIHZvaWQgc3Vib3B0aW9uKHZvaWQpIHsKKyAgICAgaWYgKFNCX0dFVCgpID09IFRFTFFVQUxfU0VORCkgeworICAgICAgIGxvbmcgb29zcGVlZCwgaWlzcGVlZDsKKyAgICAgICBUZXJtaW5hbFNwZWVkcygmaWlzcGVlZCwgJm9vc3BlZWQpOworLSAgICAgIG5ldG9yaW5nLnByaW50ZigiJWMlYyVjJWMlbGQsJWxkJWMlYyIsIElBQywgU0IsIFRFTE9QVF9UU1BFRUQsIAorKyAgICAgIG5ldG9yaW5nLnhwcmludGYoIiVjJWMlYyVjJWxkLCVsZCVjJWMiLCBJQUMsIFNCLCBURUxPUFRfVFNQRUVELCAKKyAJCSAgICAgIFRFTFFVQUxfSVMsIG9vc3BlZWQsIGlpc3BlZWQsIElBQywgU0UpOworICAgICB9CisgICAgIGJyZWFrOworQEAgLTc4MCw3ICs3ODEsNyBAQCBzdGF0aWMgdm9pZCBzdWJvcHRpb24odm9pZCkgeworIAlzZW5kX3dvbnQoVEVMT1BUX1hESVNQTE9DLCAxKTsKKyAJYnJlYWs7CisgICAgICAgfQorLSAgICAgIG5ldG9yaW5nLnByaW50ZigiJWMlYyVjJWMlcyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfWERJU1BMT0MsCisrICAgICAgbmV0b3JpbmcueHByaW50ZigiJWMlYyVjJWMlcyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfWERJU1BMT0MsCisgCQkgICAgICBURUxRVUFMX0lTLCBkcCwgSUFDLCBTRSk7CisgICAgIH0KKyAgICAgYnJlYWs7CitAQCAtNzk4LDcgKzc5OSw3IEBAIHZvaWQgbG1fd2lsbCh1bnNpZ25lZCBjaGFyICpjbWQsIGludCBsZW4pIHsKKyAgICAgcmV0dXJuOworICAgfQorICAgCistICBuZXRvcmluZy5wcmludGYoIiVjJWMlYyVjJWMlYyVjIiwgSUFDLCBTQiwgVEVMT1BUX0xJTkVNT0RFLCAKKysgIG5ldG9yaW5nLnhwcmludGYoIiVjJWMlYyVjJWMlYyVjIiwgSUFDLCBTQiwgVEVMT1BUX0xJTkVNT0RFLCAKKyAJCSAgRE9OVCwgY21kWzBdLCBJQUMsIFNFKTsKKyB9CisgCitAQCAtODE1LDcgKzgxNiw3IEBAIHZvaWQgbG1fZG8odW5zaWduZWQgY2hhciAqY21kLCBpbnQgbGVuKSB7CisgICAgIC8qQCovCXByaW50ZigibG1fZG86IG5vIGNvbW1hbmQhISFcbiIpOwkvKiBTaG91bGQgbm90IGhhcHBlbi4uLiAqLworICAgICByZXR1cm47CisgICB9CistICBuZXRvcmluZy5wcmludGYoIiVjJWMlYyVjJWMlYyVjIiwgSUFDLCBTQiwgVEVMT1BUX0xJTkVNT0RFLCAKKysgIG5ldG9yaW5nLnhwcmludGYoIiVjJWMlYyVjJWMlYyVjIiwgSUFDLCBTQiwgVEVMT1BUX0xJTkVNT0RFLCAKKyAJCSAgV09OVCwgY21kWzBdLCBJQUMsIFNFKTsKKyB9CisgCitAQCAtODM4LDcgKzgzOSw3IEBAIHZvaWQgbG1fbW9kZSh1bnNpZ25lZCBjaGFyICpjbWQsIGludCBsZW4sIGludCBpbml0KSB7CisgICAgIGsgfD0gTU9ERV9BQ0s7CisgICB9CisgICAKKy0gIG5ldG9yaW5nLnByaW50ZigiJWMlYyVjJWMlYyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfTElORU1PREUsIExNX01PREUsCisrICBuZXRvcmluZy54cHJpbnRmKCIlYyVjJWMlYyVjJWMlYyIsIElBQywgU0IsIFRFTE9QVF9MSU5FTU9ERSwgTE1fTU9ERSwKKyAJCSAgaywgSUFDLCBTRSk7CisgICAKKyAgIHNldGNvbm5tb2RlKDApOwkvKiBzZXQgY2hhbmdlZCBtb2RlICovCitAQCAtOTMzLDExICs5MzQsMTEgQEAgdm9pZCBzbGNfbW9kZV9pbXBvcnQoaW50IGRlZikgeworIAorIHZvaWQgc2xjX2ltcG9ydChpbnQgZGVmKSB7CisgICBpZiAoZGVmKSB7CistICAgIG5ldG9yaW5nLnByaW50ZigiJWMlYyVjJWMlYyVjJWMlYyVjIiwgSUFDLCBTQiwgVEVMT1BUX0xJTkVNT0RFLAorKyAgICBuZXRvcmluZy54cHJpbnRmKCIlYyVjJWMlYyVjJWMlYyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfTElORU1PREUsCisgCQkgICAgTE1fU0xDLCAwLCBTTENfREVGQVVMVCwgMCwgSUFDLCBTRSk7CisgICB9CisgICBlbHNlIHsKKy0gICAgbmV0b3JpbmcucHJpbnRmKCIlYyVjJWMlYyVjJWMlYyVjJWMiLCBJQUMsIFNCLCBURUxPUFRfTElORU1PREUsCisrICAgIG5ldG9yaW5nLnhwcmludGYoIiVjJWMlYyVjJWMlYyVjJWMlYyIsIElBQywgU0IsIFRFTE9QVF9MSU5FTU9ERSwKKyAJCSAgICBMTV9TTEMsIDAsIFNMQ19WQVJJQUJMRSwgMCwgSUFDLCBTRSk7CisgICB9CisgfQorQEAgLTEwNTAsNiArMTA1MSw3IEBAIHZvaWQgc2xjX2NoZWNrKHZvaWQpIHsKKyAKKyAKKyB1bnNpZ25lZCBjaGFyIHNsY19yZXBseVsxMjhdOworK3Vuc2lnbmVkIGNoYXIgY29uc3QgKiBjb25zdCBzbGNfcmVwbHlfZW9tID0gJnNsY19yZXBseVtzaXplb2Yoc2xjX3JlcGx5KV07CisgdW5zaWduZWQgY2hhciAqc2xjX3JlcGx5cDsKKyAKKyB2b2lkIHNsY19zdGFydF9yZXBseSh2b2lkKSB7CitAQCAtMTA2MSw2ICsxMDYzLDE0IEBAIHZvaWQgc2xjX3N0YXJ0X3JlcGx5KHZvaWQpIHsKKyB9CisgCisgdm9pZCBzbGNfYWRkX3JlcGx5KGludCBmdW5jLCBpbnQgZmxhZ3MsIGludCB2YWx1ZSkgeworKyAgLyogQSBzZXF1ZW5jZSBvZiB1cCB0byA2IGJ5dGVzIG15IGJlIHdyaXR0ZW4gZm9yIHRoaXMgbWVtYmVyIG9mIHRoZSBTTEMKKysgICAqIHN1Ym9wdGlvbiBsaXN0IGJ5IHRoaXMgZnVuY3Rpb24uICBUaGUgZW5kIG9mIG5lZ290aWF0aW9uIGNvbW1hbmQsCisrICAgKiB3aGljaCBpcyB3cml0dGVuIGJ5IHNsY19lbmRfcmVwbHkoKSwgd2lsbCByZXF1aXJlIDIgYWRkaXRpb25hbAorKyAgICogYnl0ZXMuICBEbyBub3QgcHJvY2VlZCB1bmxlc3MgdGhlcmUgaXMgc3VmZmljaWVudCBzcGFjZSBmb3IgdGhlc2UKKysgICAqIGl0ZW1zLgorKyAgICovCisrICBpZiAoJnNsY19yZXBseXBbNisyXSA+IHNsY19yZXBseV9lb20pCisrICAgIHJldHVybjsKKyAgIGlmICgoKnNsY19yZXBseXArKyA9IGZ1bmMpID09IElBQykKKyAgICAgKnNsY19yZXBseXArKyA9IElBQzsKKyAgIGlmICgoKnNsY19yZXBseXArKyA9IGZsYWdzKSA9PSBJQUMpCitAQCAtMTE0Miw2ICsxMTUyLDcgQEAgdm9pZCBlbnZfb3B0KHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGxlbikgeworICAgfQorIH0KKyAKKysvKiBPUFRfUkVQTFlfU0laRSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMi4gKi8KKyAjZGVmaW5lCU9QVF9SRVBMWV9TSVpFCTI1NgorIHVuc2lnbmVkIGNoYXIgKm9wdF9yZXBseTsKKyB1bnNpZ25lZCBjaGFyICpvcHRfcmVwbHlwOworQEAgLTExNzMsNiArMTE4NCw3IEBAIHZvaWQgZW52X29wdF9zdGFydF9pbmZvKHZvaWQpIHsKKyAKKyB2b2lkIGVudl9vcHRfYWRkKGNvbnN0IGNoYXIgKmVwKSB7CisgICBjb25zdCBjaGFyICp2cDsKKysgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnRwOworICAgdW5zaWduZWQgY2hhciBjOworICAgCisgICBpZiAob3B0X3JlcGx5ID09IE5VTEwpCQkvKlhYWCovCitAQCAtMTE4NSwxMSArMTE5NywxMiBAQCB2b2lkIGVudl9vcHRfYWRkKGNvbnN0IGNoYXIgKmVwKSB7CisgICAgIHJldHVybjsKKyAgIH0KKyAgIHZwID0gZW52X2dldHZhbHVlKGVwLCAxKTsKKy0gIGlmIChvcHRfcmVwbHlwICsgKHZwID8gc3RybGVuKHZwKSA6IDApICsgc3RybGVuKGVwKSArIDYgPiBvcHRfcmVwbHllbmQpCisrICB0cCA9IG9wdF9yZXBseXAgKyAodnAgPyBzdHJsZW4odnApICogMiA6IDApICsgc3RybGVuKGVwKSAqIDIgKyA2OworKyAgaWYgKHRwID4gb3B0X3JlcGx5ZW5kKQorICAgICB7CisgICAgICAgcmVnaXN0ZXIgaW50IGxlbjsKKy0gICAgICBvcHRfcmVwbHllbmQgKz0gT1BUX1JFUExZX1NJWkU7CistICAgICAgbGVuID0gb3B0X3JlcGx5ZW5kIC0gb3B0X3JlcGx5OworKyAgICAgIGxlbiA9ICgodHAgLSBvcHRfcmVwbHkpICsgT1BUX1JFUExZX1NJWkUgLSAxKSAmIH4oT1BUX1JFUExZX1NJWkUgLSAxKTsKKysgICAgICBvcHRfcmVwbHllbmQgPSBvcHRfcmVwbHkgKyBsZW47CisgICAgICAgb3B0X3JlcGx5ID0gKHVuc2lnbmVkIGNoYXIgKilyZWFsbG9jKG9wdF9yZXBseSwgbGVuKTsKKyAgICAgICBpZiAob3B0X3JlcGx5ID09IE5VTEwpIHsKKyAJLypAKi8JCQlwcmludGYoImVudl9vcHRfYWRkOiByZWFsbG9jKCkgZmFpbGVkISEhXG4iKTsKK0BAIC0xNzQwLDggKzE3NTMsOCBAQCB2b2lkIHRlbG5ldChjb25zdCBjaGFyICogLyp1c2VyKi8pIHsKKyAgICAgc2VuZF9kbyhURUxPUFRfU1RBVFVTLCAxKTsKKyAgICAgaWYgKGVudl9nZXR2YWx1ZSgiRElTUExBWSIsIDApKQorICAgICAgIHNlbmRfd2lsbChURUxPUFRfWERJU1BMT0MsIDEpOworLSAgICBpZiAoZWlnaHQpCistICAgICAgdGVsX2VudGVyX2JpbmFyeShlaWdodCk7CisrICAgIGlmIChiaW5hcnkpCisrICAgICAgdGVsX2VudGVyX2JpbmFyeShiaW5hcnkpOworICAgfQorICNlbmRpZiAvKiAhZGVmaW5lZChUTjMyNzApICovCisgICAKK2RpZmYgLS1naXQgYS90ZWxuZXQvdGVybWluYWwuY2MgYi90ZWxuZXQvdGVybWluYWwuY2MKK2luZGV4IDllYjQ3YWUuLjc2NGYxOGYgMTAwNjQ0CistLS0gYS90ZWxuZXQvdGVybWluYWwuY2MKKysrKyBiL3RlbG5ldC90ZXJtaW5hbC5jYworQEAgLTQ1LDYgKzQ1LDggQEAgY2hhciB0ZXJtaW5hbF9yY3NpZFtdID0KKyAjaW5jbHVkZSA8c2lnbmFsLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyAKKyAjaW5jbHVkZSAicmluZy5oIgorICNpbmNsdWRlICJkZWZpbmVzLmgiCitAQCAtMTU1LDkgKzE1NywxMSBAQCBpbnQgZ2V0Y29ubm1vZGUodm9pZCkgeworICAgICBpZiAobG9jYWxmbG93KQorIAltb2RlIHw9IE1PREVfRkxPVzsKKyAKKy0gICAgaWYgKG15X3dhbnRfc3RhdGVfaXNfd2lsbChURUxPUFRfQklOQVJZKSkKKysgICAgaWYgKChlaWdodCAmIDEpIHx8IG15X3dhbnRfc3RhdGVfaXNfd2lsbChURUxPUFRfQklOQVJZKSkKKyAJbW9kZSB8PSBNT0RFX0lOQklOOworIAorKyAgICBpZiAoZWlnaHQgJiAyKQorKwltb2RlIHw9IE1PREVfT1VUODsKKyAgICAgaWYgKGhpc193YW50X3N0YXRlX2lzX3dpbGwoVEVMT1BUX0JJTkFSWSkpCisgCW1vZGUgfD0gTU9ERV9PVVRCSU47CisgCitAQCAtNDQ5LDEwICs0NTMsMTMgQEAgdm9pZCBUZXJtaW5hbE5ld01vZGUoaW50IGYpCisgCQkvLyBicmVha3MgU3VuT1MuCisgCSAJdG1wX3RjLmNfaWZsYWcgfD0gSVNUUklQOworIAl9CistCWlmIChmICYgTU9ERV9PVVRCSU4pIHsKKysJaWYgKGYgJiAoTU9ERV9PVVRCSU58TU9ERV9PVVQ4KSkgeworIAkJdG1wX3RjLmNfY2ZsYWcgJj0gfihDU0laRXxQQVJFTkIpOworIAkJdG1wX3RjLmNfY2ZsYWcgfD0gQ1M4OworLQkJdG1wX3RjLmNfb2ZsYWcgJj0gfk9QT1NUOworKwkJaWYgKGYgJiBNT0RFX09VVEJJTikKKysJCQl0bXBfdGMuY19vZmxhZyAmPSB+T1BPU1Q7CisrCQllbHNlCisrCQkJdG1wX3RjLmNfb2ZsYWcgfD0gT1BPU1Q7CisgCX0gZWxzZSB7CisgCQl0bXBfdGMuY19jZmxhZyAmPSB+KENTSVpFfFBBUkVOQik7CisgCQl0bXBfdGMuY19jZmxhZyB8PSBvbGRfdGMuY19jZmxhZyAmIChDU0laRXxQQVJFTkIpOworQEAgLTQ2OCw3ICs0NzUsNyBAQCB2b2lkIFRlcm1pbmFsTmV3TW9kZShpbnQgZikKKyAKKyAjaWZkZWYJU0lHSU5GTworIAlzaWduYWwoU0lHSU5GTywgYXl0KTsKKy0jZW5kaWYJU0lHSU5GTworKyNlbmRpZgkvKiBTSUdJTkZPICovCisgCisgI2lmIGRlZmluZWQoTk9LRVJOSU5GTykKKyAJdG1wX3RjLmNfbGZsYWcgfD0gTk9LRVJOSU5GTzsKK0BAIC01MDQsNyArNTExLDcgQEAgdm9pZCBUZXJtaW5hbE5ld01vZGUoaW50IGYpCisgCisgI2lmZGVmCVNJR0lORk8KKyAJc2lnbmFsKFNJR0lORk8sIGF5dF9zdGF0dXMpOworLSNlbmRpZglTSUdJTkZPCisrI2VuZGlmCS8qIFNJR0lORk8gKi8KKyAKKyAjaWZkZWYJU0lHVFNUUAorIAlzaWduYWwoU0lHVFNUUCwgU0lHX0RGTCk7CitkaWZmIC0tZ2l0IGEvdGVsbmV0L3V0aWxpdGllcy5jYyBiL3RlbG5ldC91dGlsaXRpZXMuY2MKK2luZGV4IDA0NDhmMGEuLjY2ODM5YWIgMTAwNjQ0CistLS0gYS90ZWxuZXQvdXRpbGl0aWVzLmNjCisrKysgYi90ZWxuZXQvdXRpbGl0aWVzLmNjCitAQCAtNDcsNiArNDcsOCBAQCBjaGFyIHV0aWxfcmNzaWRbXSA9CisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUgPGN0eXBlLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyAKKyAjaW5jbHVkZSAicmluZy5oIgorICNpbmNsdWRlICJkZWZpbmVzLmgiCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9maWxlcy9XYXJuaW5nLWZpeC1pbi10aGUtc3RlcC1vZi1pbnN0YWxsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9maWxlcy9XYXJuaW5nLWZpeC1pbi10aGUtc3RlcC1vZi1pbnN0YWxsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5YTk4ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtdGVsbmV0L2ZpbGVzL1dhcm5pbmctZml4LWluLXRoZS1zdGVwLW9mLWluc3RhbGwucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSAzMTM2MmU0YzBkMDJiNGEyYjk1MmFkMGRkMzJhY2ZiNTczYzQ0MmYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCAyOCBOb3YgMjAxNCAwNzoxNzo0MCArMDkwMAorU3ViamVjdDogW1BBVENIIDIvMl0gV0FSTklORyBGaXggYW5kIG1vZGlmeSAiQ0ZMQUdTIgorCitXQVJOSU5HOiBRQSBJc3N1ZTogRmlsZSAnL3Vzci9zYmluL2luLnRlbG5ldGQnIGZyb20gbmV0a2l0LXRlbG5ldCB3YXMgCithbHJlYWR5IHN0cmlwcGVkLCB0aGlzIHdpbGwgcHJldmVudCBmdXR1cmUgZGVidWdnaW5nISBbYWxyZWFkeS1zdHJpcHBlZF0KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIHRlbG5ldGQvTWFrZWZpbGUgfCA1ICsrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3RlbG5ldGQvTWFrZWZpbGUgYi90ZWxuZXRkL01ha2VmaWxlCitpbmRleCA3MjY1MGI0Li5hNGNmOWZhIDEwMDY0NAorLS0tIGEvdGVsbmV0ZC9NYWtlZmlsZQorKysrIGIvdGVsbmV0ZC9NYWtlZmlsZQorQEAgLTksNyArOSw4IEBAIGluY2x1ZGUgLi4vTVJVTEVTCisgIyB0YWtlIG91dCAtRFBBUkFOT0lEX1RUWVMuCisgCisgQ0ZMQUdTICs9ICctRElTU1VFX0ZJTEU9Ii9ldGMvaXNzdWUubmV0IicgLURQQVJBTk9JRF9UVFlTIFwKKy0JICAgLUROT19SRVZPS0UgLURLTFVER0VMSU5FTU9ERSAtRERJQUdOT1NUSUNTCisrCSAgIC1ETk9fUkVWT0tFIC1ES0xVREdFTElORU1PREUgLURESUFHTk9TVElDUyBcCisrCSAgIC1ETE9HSU5fV1JBUFBFUj1cIi8ke2xpYmRpcn0vdGVsbmV0bG9naW5cIgorICMgTElCUyArPSAkKExJQlRFUk1DQVApCisgCisgT0JKUyA9IHRlbG5ldGQubyBzdGF0ZS5vIHRlcm1zdGF0Lm8gc2xjLm8gc3lzX3Rlcm0ubyB1dGlsaXR5Lm8gXAorQEAgLTI3LDcgKzI4LDcgQEAgJChPQkpTKTogZGVmcy5oIGV4dC5oIHBhdGhuYW1lcy5oIHRlbG5ldGQuaCBsb2d3dG1wLmggbG9nb3V0Lmggc2V0cHJvY3RpdGxlLmgKKyB0ZWxuZXRkLm86IC4uL3ZlcnNpb24uaAorIAorIGluc3RhbGw6IHRlbG5ldGQKKy0JaW5zdGFsbCAtcyAtbSQoREFFTU9OTU9ERSkgdGVsbmV0ZCAkKElOU1RBTExST09UKSQoU0JJTkRJUikvaW4udGVsbmV0ZAorKwlpbnN0YWxsIC1tJChEQUVNT05NT0RFKSB0ZWxuZXRkICQoSU5TVEFMTFJPT1QpJChTQklORElSKS9pbi50ZWxuZXRkCisgCWluc3RhbGwgLW0kKE1BTk1PREUpIGlzc3VlLm5ldC41ICQoSU5TVEFMTFJPT1QpJChNQU5ESVIpL21hbjUvCisgCWluc3RhbGwgLW0kKE1BTk1PREUpIHRlbG5ldGQuOCAkKElOU1RBTExST09UKSQoTUFORElSKS9tYW44L2luLnRlbG5ldGQuOAorIAlsbiAtc2YgaW4udGVsbmV0ZC44ICQoSU5TVEFMTFJPT1QpJChNQU5ESVIpL21hbjgvdGVsbmV0ZC44CistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9maWxlcy9jcm9zcy1jb21waWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9maWxlcy9jcm9zcy1jb21waWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzZmUzNmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtdGVsbmV0L2ZpbGVzL2Nyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorVG8gc3VwcG9ydCB0aGUgY3Jvc3MtY29tcGlsZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworbWFrZSB0aGUgY29uZmlndXJlIHRvIHN1cHBvcnQgdGhlIGNyb3NzLWNvbXBpbGUsIGJ5IG9ubHkgdG8gY29tcGlsZSB0aGUKK3RhcmdldCwgYW5kIG5vdCB0byBydW4gaXQKKworUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorSW5kZXg6IG5ldGtpdC10ZWxuZXQtMC4xNy9jb25maWd1cmUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZXRraXQtdGVsbmV0LTAuMTcub3JpZy9jb25maWd1cmUJMjAwOC0xMS0yMyAyMjowMToyNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBuZXRraXQtdGVsbmV0LTAuMTcvY29uZmlndXJlCTIwMDgtMTEtMjMgMjI6MDU6MDAuMDAwMDAwMDAwICswMTAwCitAQCAtOTQsNyArOTQsNyBAQAorICAgICBlY2hvIC1uICdDaGVja2luZyBpZiBDIGNvbXBpbGVyIHdvcmtzLi4uICcKKyAgICAgaWYgKAorICAgICAgICAgICAkQ0MgX19jb25mdGVzdC5jIC1vIF9fY29uZnRlc3QgfHwgZXhpdCAxCistICAgICAgICAgIC4vX19jb25mdGVzdCB8fCBleGl0IDEKKysgICAgICAgICAgIyBJZGlvdHMgYmVsb25nIHNob3QhIC4vX19jb25mdGVzdCB8fCBleGl0IDEKKyAgICAgICAgKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgICAgICAgICBlY2hvICd5ZXMnCisgICAgICBlbHNlCitAQCAtMTQxLDcgKzE0MSw3IEBACisgICAgIGVjaG8gLW4gJ0NoZWNraW5nIGlmIEMrKyBjb21waWxlciB3b3Jrcy4uLiAnCisgICAgIGlmICgKKyAgICAgICAgICAgJENYWCBfX2NvbmZ0ZXN0LmNjIC1vIF9fY29uZnRlc3QgfHwgZXhpdCAxCistICAgICAgICAgIC4vX19jb25mdGVzdCB8fCBleGl0IDEKKysgICAgICAgICAgIyBJZGl0aW9zIGJlbG9uZyBzaG90ISAuL19fY29uZnRlc3QgfHwgZXhpdCAxCisgICAgICAgICkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgICAgICAgZWNobyAneWVzJworICAgICAgZWxzZQorQEAgLTI4NCw3ICsyODQsNyBAQAorIGVsc2UKKyAgICAgaWYgKAorICAgICAgICAgICAkQ1hYICRDWFhGTEFHUyAtRF9fVVNFX0JTRF9TSUdOQUwgX19jb25mdGVzdC5jYyAgLW8gX19jb25mdGVzdCB8fCBleGl0IDEKKy0gICAgICAgICAgLi9fX2NvbmZ0ZXN0IHx8IGV4aXQgMQorKyAgICAgICAgICAjIHJ1bm5pbmcgc3RpbGwgZG9lcyBub3Qgd29yay4vX19jb25mdGVzdCB8fCBleGl0IDEKKyAgICAgICAgKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgICAgICAgIGVjaG8gJy1EX19VU0VfQlNEX1NJR05BTCcKKyAgICAgICAgIENGTEFHUz0iJENGTEFHUyAtRF9fVVNFX0JTRF9TSUdOQUwiCitAQCAtNTAxLDcgKzUwMSw3IEBACisgRU9GCisgaWYgKAorICAgICAgICRDWFggJENYWEZMQUdTICBfX2NvbmZ0ZXN0LmNjICRMSUJCU0QgLW8gX19jb25mdGVzdCB8fCBleGl0IDEKKy0gICAgICAuL19fY29uZnRlc3QgfHwgZXhpdCAxCisrICAgICAgIyBhcmdoISBtb3JvbnMhLi9fX2NvbmZ0ZXN0IHx8IGV4aXQgMQorICAgICkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisgICAgIGVjaG8gJ29rJworIGVsc2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC10ZWxuZXQvZmlsZXMvdGVsbmV0LXhpbmV0ZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC10ZWxuZXQvZmlsZXMvdGVsbmV0LXhpbmV0ZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjIwNGM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9maWxlcy90ZWxuZXQteGluZXRkCkBAIC0wLDAgKzEsMTQgQEAKKyMgZGVmYXVsdDogb24KKyMgZGVzY3JpcHRpb246IFRoZSB0ZWxuZXQgc2VydmVyIHNlcnZlcyB0ZWxuZXQgc2Vzc2lvbnM7IGl0IHVzZXMgXAorIwl1bmVuY3J5cHRlZCB1c2VybmFtZS9wYXNzd29yZCBwYWlycyBmb3IgYXV0aGVudGljYXRpb24uCitzZXJ2aWNlIHRlbG5ldAoreworCWZsYWdzCQk9IFJFVVNFCisJc29ja2V0X3R5cGUJPSBzdHJlYW0KKwl3YWl0CQk9IG5vCisJdXNlcgkJPSByb290CisJc2VydmVyCQk9IC91c3Ivc2Jpbi9pbi50ZWxuZXRkCisJbG9nX29uX2ZhaWx1cmUJKz0gVVNFUklECisJZGlzYWJsZQkJPSB5ZXMKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9uZXRraXQtdGVsbmV0XzAuMTcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtdGVsbmV0L25ldGtpdC10ZWxuZXRfMC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDM4YWRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRlbG5ldC9uZXRraXQtdGVsbmV0XzAuMTcuYmIKQEAgLTAsMCArMSw1OSBAQAorREVTQ1JJUFRJT04gPSAibmV0a2l0LXRlbG5ldCBpbmNsdWRlcyB0aGUgdGVsbmV0IGRhZW1vbiBhbmQgY2xpZW50LiIKK1NFQ1RJT04gPSAibmV0IgorREVQRU5EUyA9ICJuY3Vyc2VzIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly90ZWxuZXQvdGVsbmV0LmNjO2JlZ2lubGluZT0yO2VuZGxpbmU9MzttZDU9NzgwODY4ZTdiNTY2MzEzZTcwY2I3MDE1NjBjYTk1ZWYiCisKK1NSQ19VUkkgPSAiZnRwOi8vZnRwLnVrLmxpbnV4Lm9yZy9wdWIvbGludXgvTmV0d29ya2luZy9uZXRraXQvJHtCUH0udGFyLmd6IFwKKyAgICBmaWxlOi8vVG8tYXZpb2QtYnVmZmVyLW92ZXJmbG93LWluLXRlbG5ldC5wYXRjaCBcCisgICAgZmlsZTovL1dhcm5pbmctZml4LWluLXRoZS1zdGVwLW9mLWluc3RhbGwucGF0Y2ggXAorICAgIGZpbGU6Ly90ZWxuZXQteGluZXRkIFwKKyAgICBmaWxlOi8vY3Jvc3MtY29tcGlsZS5wYXRjaCBcCisiCisKK0VYVFJBX09FTUFLRSA9ICJJTlNUQUxMUk9PVD0ke0R9IFNCSU5ESVI9JHtzYmluZGlyfSBEQUVNT05NT0RFPTc1NSBcCisgICAgTUFOTU9ERT02NDQgTUFORElSPSR7bWFuZGlyfSIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0KKyAgICBzZWQgLWUgJ3MjXkNGTEFHUz1cKC4qXCkkI0NGTEFHUz0gLURfR05VX1NPVVJDRSBcMSMnIFwKKyAgICAgICAgLWUgJ3MjXkNYWEZMQUdTPVwoLipcKSQjQ1hYRkxBR1M9IC1EX0dOVV9TT1VSQ0UgXDEjJyBcCisgICAgICAgIC1lICdzI15MREZMQUdTPS4qJCNMREZMQUdTPSAke0xERkxBR1N9IycgXAorICAgICAgICAtaSBNQ09ORklHCit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UgJ0NDPSR7Q0N9JyAnTEQ9JHtMRH0nICdMREZMQUdTPSR7TERGTEFHU30nIFNVQj10ZWxuZXQKKyAgICBvZV9ydW5tYWtlICdDQz0ke0NDfScgJ0xEPSR7TER9JyAnTERGTEFHUz0ke0xERkxBR1N9JyBMSUJTPS1sdXRpbCBTVUI9dGVsbmV0ZAorICAgIG9lX3J1bm1ha2UgJ0NDPSR7Q0N9JyAnTEQ9JHtMRH0nICdMREZMQUdTPSR7TERGTEFHU30nIFNVQj10ZWxuZXRsb2dpbgorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgdGVsbmV0L3RlbG5ldCAke0R9JHtiaW5kaXJ9L3RlbG5ldC4ke1BOfQorICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuMQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW41CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBvZV9ydW5tYWtlIFNVQj10ZWxuZXRkIGluc3RhbGwKKyAgICBybSAtcmYgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtRCAtbSA0NzUwICR7Qn0vdGVsbmV0bG9naW4vdGVsbmV0bG9naW4gJHtEfS8ke2xpYmRpcn0vdGVsbmV0bG9naW4KKyAgICAjIGZpeCB1cCBoYXJkY29kZWQgcGF0aHMKKyAgICBzZWQgLWkgLWUgJ3MsL3Vzci9zYmluLywke3NiaW5kaXJ9LywnICR7V09SS0RJUn0vdGVsbmV0LXhpbmV0ZAorICAgIGluc3RhbGwgLWQgICR7RH0vZXRjL3hpbmV0ZC5kLworICAgIGluc3RhbGwgLXAgLW02NDQgJHtXT1JLRElSfS90ZWxuZXQteGluZXRkICR7RH0vZXRjL3hpbmV0ZC5kL3RlbG5ldAorfQorCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworIyEvYmluL3NoCisgICAgdXBkYXRlLWFsdGVybmF0aXZlcyAtLWluc3RhbGwgJHtiaW5kaXJ9L3RlbG5ldCB0ZWxuZXQgdGVsbmV0LiR7UE59IDEwMAorfQorCitwa2dfcHJlcm1fJHtQTn0gKCkgeworIyEvYmluL3NoCisgICAgdXBkYXRlLWFsdGVybmF0aXZlcyAtLXJlbW92ZSB0ZWxuZXQgdGVsbmV0LiR7UE59IDEwMAorfQorCitTUkNfVVJJW21kNXN1bV0gPSAiZDZiZWFiYWFmNTNmZTZlMzgyYzQyY2UzZmFhMDVhMzYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWM4MGQ1Yzc4MzgzNjFhMzI4ZmI2YjYwMDE2ZDUwM2RlZjljZTUzYWQzYzU4OWYzYjA4ZmY3MWEyYmI4OGUwMCIKK0ZJTEVTXyR7UE59ICs9ICIke3NiaW5kaXJ9L2luLiogJHtsaWJkaXJ9LyogJHtzeXNjb25mZGlyfS94aW5ldGQuZC8qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRmdHAvbmV0a2l0LXRmdHAvdGZ0cC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRmdHAvbmV0a2l0LXRmdHAvdGZ0cC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiYzZjYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtdGZ0cC9uZXRraXQtdGZ0cC90ZnRwLmNvbmYKQEAgLTAsMCArMSwxMSBAQAorc2VydmljZSB0ZnRwCit7CisgICAgZGlzYWJsZSAgICAgICAgPSBubworICAgIHNvY2tldF90eXBlICAgID0gZGdyYW0KKyAgICBwb3J0ICAgICAgICAgICA9IDY5CisgICAgcHJvdG9jb2wgICAgICAgPSB1ZHAKKyAgICB3YWl0ICAgICAgICAgICA9IHllcworICAgIHVzZXIgICAgICAgICAgID0gbm9ib2R5CisgICAgc2VydmVyICAgICAgICAgPSAvdXNyL3NiaW4vaW4udGZ0cGQKKyAgICBzZXJ2ZXJfYXJncyAgICA9IC90ZnRwYm9vdAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXRmdHAvbmV0a2l0LXRmdHBfMC4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC10ZnRwL25ldGtpdC10ZnRwXzAuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdhNTQxZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC10ZnRwL25ldGtpdC10ZnRwXzAuMTcuYmIKQEAgLTAsMCArMSw1NCBAQAorU1VNTUFSWSA9ICJ0ZnRwIC0gVHJpdmlhbCBmaWxlIHRyYW5zZmVyIHByb3RvY29sIGNsaWVudCIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJCU0QtNC1DbGF1c2UiCitERVBFTkRTID0gInRjcC13cmFwcGVycyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdGZ0cC90ZnRwLmM7YmVnaW5saW5lPTI7ZW5kbGluZT0zO21kNT04NGQyY2ZlMWU2MDg2M2E3ZDgyNjQ4NzM0YmE0ZDMwYyIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbi8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6O25hbWU9YXJjaGl2ZSBcCisgICAgJHtERUJJQU5fTUlSUk9SfS9tYWluL24vJHtCUE59LyR7QlBOfV8ke1BWfS0xOC5kaWZmLmd6O25hbWU9cGF0Y2gxOCBcCisgICAgZmlsZTovL3RmdHAuY29uZiBcCisiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImI3MjYyYzc5OGUyZmY1MGUyOWMyZmY1MGRmZDhkNmE4IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiM2E0M2MwMDEwZDRlNjFmNDEyNTYzZmQ4Mzc2OWQ0NjY3ZDhiOGU4MjkwMzUyNmQyMWNiOTIwNWZlNTVhZDE0ZCIKK1NSQ19VUklbcGF0Y2gxOC5tZDVzdW1dID0gImNiMjllN2EzM2RkODUxMDViYTZlNmVjNGY5NzFlNDJjIgorU1JDX1VSSVtwYXRjaDE4LnNoYTI1NnN1bV0gPSAiMDkyNDM3ZDI3YjRmYTg4YzA0NGVmNjI5MDM3MmZlZTVjZTA2ZDIyMzYwN2YwZTIyYTZlNTI3MDY1Yzg5MzBlNyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgLi9jb25maWd1cmUgLS1wcmVmaXg9JHtwcmVmaXh9CisgICAgZWNobyAiQ0ZMQUdTPSR7Q0ZMQUdTfSIgPiBNQ09ORklHCit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UgJ0NDPSR7Q0N9JyAnTEQ9JHtMRH0nICdMREZMQUdTPSR7TERGTEFHU30nICdDRkxBR1M9JHtDRkxBR1N9JworfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjEKKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0veGluZXRkLmQKKworICAgIHNlZCAtaSAncy9pbnN0YWxsIC1zL2luc3RhbGwvJyB0ZnRwL01ha2VmaWxlCisgICAgc2VkIC1pICdzL2luc3RhbGwgLXMvaW5zdGFsbC8nIHRmdHBkL01ha2VmaWxlCisKKyAgICBvZV9ydW5tYWtlICdJTlNUQUxMUk9PVD0ke0R9JyAnQklOTU9ERT0wNzU1JyBcCisgICAgJ0RBRU1PTk1PREU9MDc1NScgJ01BTk1PREU9MDY0NCcgXAorICAgICdCSU5ESVI9JHtiaW5kaXJ9JyAnU0JJTkRJUj0ke3NiaW5kaXJ9JyBcCisgICAgJ01BTkRJUj0ke21hbmRpcn0nIGluc3RhbGwKKworICAgIGluc3RhbGwgJHtXT1JLRElSfS90ZnRwLmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RmdHAKK30KKworUEFDS0FHRVMgPSAiJHtQTn0tY2xpZW50ICR7UE59LXNlcnZlciAke1BOfS1kb2MgJHtCUE59LWRiZyIKK0ZJTEVTXyR7UE59LWNsaWVudCA9ICIke2JpbmRpcn0vKiIKK0ZJTEVTXyR7UE59LXNlcnZlciA9ICIke3NiaW5kaXJ9LyogJHtzeXNjb25mZGlyfS94aW5ldGQuZC8qIgorRklMRVNfJHtQTn0tZG9jID0gIiR7bWFuZGlyfSIKK0ZJTEVTXyR7UE59LWRiZyA9ICIke3ByZWZpeH0vc3JjL2RlYnVnIFwKKyAgICAke2JpbmRpcn0vLmRlYnVnICR7c2JpbmRpcn0vLmRlYnVnIgorCitSREVQRU5EU18ke1BOfS1zZXJ2ZXIgPSAidGNwLXdyYXBwZXJzIHhpbmV0ZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL2FjY2VsLXBwcC9hY2NlbC1wcHBfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvYWNjZWwtcHBwL2FjY2VsLXBwcF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBlOThhNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL2FjY2VsLXBwcC9hY2NlbC1wcHBfZ2l0LmJiCkBAIC0wLDAgKzEsNDIgQEAKK1NVTU1BUlkgPSAiQUNDRUwtUFBQIGlzIGEgaGlnaCBwZXJmb3JtYW5jZSBWUE4gc2VydmVyIGFwcGxpY2F0aW9uIGZvciBsaW51eCIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvYXBwcy90cmFjL2FjY2VsLXBwcC93aWtpIgorU0VDVElPTiA9ICJuZXQiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lYjcyM2I2MTUzOWZlZWYwMTNkZTQ3NmU2OGI1YzUwYSIKKworREVQRU5EUyA9ICJvcGVuc3NsIGxpYnBjcmUiCisKK2luaGVyaXQgY21ha2UKKworUFIgPSAicjEiCitQViA9ICIxLjcuMytnaXQiCisKK1NSQ1JFViA9ICI0YWNmYTQ2YzMyMWEzNDRiOWE2Y2U0MTI4ZTcyZDFlMDI4MjhkOGEwIgorU1JDX1VSSSA9ICJnaXQ6Ly9hY2NlbC1wcHAuZ2l0LnNvdXJjZWZvcmdlLm5ldC9naXRyb290L2FjY2VsLXBwcC9hY2NlbC1wcHA7YnJhbmNoPTEuNyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDTUFLRSA9ICIgXAorICAgICAgICAgICAgICAgICAtREJVSUxEX0RSSVZFUj1GQUxTRSBcCisgICAgICAgICAgICAgICAgIC1EQ01BS0VfSU5TVEFMTF9QUkVGSVg9JHtwcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAgLURDTUFLRV9CVUlMRF9UWVBFPVJlbGVhc2UgXAorICAgICAgICAgICAgICAgICAtRExPR19QR1NRTD1GQUxTRSBcCisgICAgICAgICAgICAgICAgIC1EUkFESVVTPUZBTFNFIFwKKyAgICAgICAgICAgICAgICAgLURORVRTTk1QPUZBTFNFIFwKKyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiL3Vzci9saWIvJHtCUE59Ly5kZWJ1Zy8qIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbGlicyIKK0ZJTEVTXyR7UE59LWxpYnMgPSAiJHtsaWJkaXJ9LyR7QlBOfS8qLnNvIC91c3IvbGliLyR7QlBOfS8qLnNvIgorSU5TQU5FX1NLSVBfJHtQTn0tbGlicyA9ICJkZXYtc28iCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tbGlicyIKKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgIGNtbGlzdD1gZmluZCAke1N9IC1uYW1lIENNYWtlTGlzdHMudHh0YAorICAgIGZvciBmaWxlIGluICRjbWxpc3Q7IGRvCisgICAgICAgIHNlZCAtaSAtZSAiczpMSUJSQVJZIERFU1RJTkFUSU9OIGxpYi9hY2NlbC1wcHA6TElCUkFSWSBERVNUSU5BVElPTiAke2Jhc2VsaWJ9L2FjY2VsLXBwcDpnIiBcCisgICAgICAgICAgICAgICAtZSAiczpcJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliL2FjY2VsLXBwcDpcJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vJHtiYXNlbGlifS9hY2NlbC1wcHA6ZyIgXAorICAgICAgICAgICAgICAgJGNtbGlzdAorICAgIGRvbmUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL2ZpbGVzL2luaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9maWxlcy9pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJiOGZlMTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9maWxlcy9pbml0CkBAIC0wLDAgKzEsNjYgQEAKKyMhIC9iaW4vc2gKKyMgL2V0Yy9pbml0LmQvc25tcGQ6IHN0YXJ0IHNubXAgZGFlbW9uLgorCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCit0ZXN0IC14IC91c3Ivc2Jpbi9zbm1wZCB8fCBleGl0IDAKK3Rlc3QgLXggL3Vzci9zYmluL3NubXB0cmFwZCB8fCBleGl0IDAKKworIyBEZWZhdWx0cworZXhwb3J0IE1JQkRJUlM9L3Vzci9zaGFyZS9zbm1wL21pYnMKK1NOTVBEUlVOPXllcworU05NUERPUFRTPSctTHNkIC1MZiAvZGV2L251bGwgLXAgL3Zhci9ydW4vc25tcGQucGlkJworVFJBUERSVU49bm8KK1RSQVBET1BUUz0nLUxzZCAtcCAvdmFyL3J1bi9zbm1wdHJhcGQucGlkJworUElERklMRT0vdmFyL3J1bi9zbm1wZC5waWQKK1NQSURGSUxFPS92YXIvcnVuL3NubXB0cmFwZC5waWQKKworIyBSZWFkcyBjb25maWcgZmlsZSBpZiBleGlzdHMgKHdpbGwgb3ZlcnJpZGUgZGVmYXVsdHMgYWJvdmUpCitbIC1yIC9ldGMvZGVmYXVsdC9zbm1wZCBdICYmIC4gL2V0Yy9kZWZhdWx0L3NubXBkCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBlY2hvIC1uICJTdGFydGluZyBuZXR3b3JrIG1hbmFnZW1lbnQgc2VydmljZXM6IgorICAgIGlmIFsgIiRTTk1QRFJVTiIgPSAieWVzIiAtYSAtZiAvZXRjL3NubXAvc25tcGQuY29uZiAtYSAhIC1mICIkUElERklMRSIgXTsgdGhlbgorCXN0YXJ0LXN0b3AtZGFlbW9uIC1vIC0tc3RhcnQgLS1xdWlldCAtLW5hbWUgc25tcGQgLS1waWRmaWxlICIkUElERklMRSIgXAorCQktLWV4ZWMgL3Vzci9zYmluL3NubXBkIC0tICRTTk1QRE9QVFMKKwllY2hvIC1uICIgc25tcGQiCisgICAgZmkKKyAgICBpZiBbICIkVFJBUERSVU4iID0gInllcyIgLWEgLWYgL2V0Yy9zbm1wL3NubXB0cmFwZC5jb25mIC1hICEgLWYgIiRTUElERklMRSIgXTsgdGhlbgorCXN0YXJ0LXN0b3AtZGFlbW9uIC1vIC0tc3RhcnQgLS1xdWlldCAtLW5hbWUgc25tcHRyYXBkICAtLXBpZGZpbGUgIiRTUElERklMRSIgXAorCQkgLS1leGVjIC91c3Ivc2Jpbi9zbm1wdHJhcGQgLS0gJFRSQVBET1BUUworCWVjaG8gLW4gIiBzbm1wdHJhcGQiCisgICAgZmkKKyAgICBlY2hvICIuIgorCisgICAgdGVzdCAhIC14IC9zYmluL3Jlc3RvcmVjb24gfHwgL3NiaW4vcmVzdG9yZWNvbiAtRlIgL3Zhci9saWIvbmV0LXNubXAKKyAgICA7OworICBzdG9wKQorICAgIGVjaG8gLW4gIlN0b3BwaW5nIG5ldHdvcmsgbWFuYWdlbWVudCBzZXJ2aWNlczoiCisgICAgaWYgWyAtZiAgIiRQSURGSUxFIiBdIDsgdGhlbgorCXN0YXJ0LXN0b3AtZGFlbW9uIC1vIC0tc3RvcCAgLS1xdWlldCAtLXBpZGZpbGUgJFBJREZJTEUgLS1uYW1lIHNubXBkCisgICAgZmkKKyAgICBlY2hvIC1uICIgc25tcGQiCisgICAgaWYgWyAtZiAiJFNQSURGSUxFIiBdIDsgdGhlbgorCXN0YXJ0LXN0b3AtZGFlbW9uIC1vIC0tc3RvcCAgLS1xdWlldCAtLXBpZGZpbGUgJFNQSURGSUxFIC0tbmFtZSBzbm1wdHJhcGQKKwlybSAtcmYgJFNQSURGSUxFCisgICAgZmkKKyAgICBlY2hvIC1uICIgc25tcHRyYXBkIgorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RhdHVzKQorICAgIHN0YXR1cyAvdXNyL3NiaW4vc25tcGQ7CisgICAgZXhpdCAkPworICAgIDs7CisgIHJlc3RhcnR8cmVsb2FkfGZvcmNlLXJlbG9hZCkKKyAgICAkMCBzdG9wCisgICAgIyBBbGxvdyB0aGUgZGFlbW9ucyB0aW1lIHRvIGV4aXQgY29tcGxldGVseS4KKyAgICBzbGVlcCAyCisgICAgJDAgc3RhcnQKKyAgICA7OworICAqKQorICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC9zbm1wZCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfSIKKyAgICBleGl0IDEKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9maWxlcy9zbm1wZC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvZmlsZXMvc25tcGQuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjgxNzFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvZmlsZXMvc25tcGQuY29uZgpAQCAtMCwwICsxLDQyMiBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBFWEFNUExFLmNvbmY6CisjICAgQW4gZXhhbXBsZSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIGNvbmZpZ3VyaW5nIHRoZSB1Y2Qtc25tcCBzbm1wZCBhZ2VudC4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgVGhpcyBmaWxlIGlzIGludGVuZGVkIHRvIG9ubHkgYmUgYW4gZXhhbXBsZS4gIElmLCBob3dldmVyLCB5b3Ugd2FudAorIyB0byB1c2UgaXQsIGl0IHNob3VsZCBiZSBwbGFjZWQgaW4gL2V0Yy9zbm1wL3NubXBkLmNvbmYuCisjIFdoZW4gdGhlIHNubXBkIGFnZW50IHN0YXJ0cyB1cCwgdGhpcyBpcyB3aGVyZSBpdCB3aWxsIGxvb2sgZm9yIGl0LgorIworIyBZb3UgbWlnaHQgYmUgaW50ZXJlc3RlZCBpbiBnZW5lcmF0aW5nIHlvdXIgb3duIHNubXBkLmNvbmYgZmlsZSB1c2luZworIyB0aGUgInNubXBjb25mIiBwcm9ncmFtIChwZXJsIHNjcmlwdCkgaW5zdGVhZC4gIEl0J3MgYSBuaWNlIG1lbnUKKyMgYmFzZWQgaW50ZXJmYWNlIHRvIHdyaXRpbmcgd2VsbCBjb21tZW50ZWQgY29uZmlndXJhdGlvbiBmaWxlcy4gIFRyeSBpdCEKKyMKKyMgTm90ZTogVGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gRVhBTVBMRS5jb25mLmRlZi4KKyMgRG8gTk9UIHJlYWQgdGhlIEVYQU1QTEUuY29uZi5kZWYgZmlsZSEgSW5zdGVhZCwgYWZ0ZXIgeW91IGhhdmUgcnVuCisjIGNvbmZpZ3VyZSAmIG1ha2UsIGFuZCB0aGVuIG1ha2Ugc3VyZSB5b3UgcmVhZCB0aGUgRVhBTVBMRS5jb25mIGZpbGUKKyMgaW5zdGVhZCwgYXMgaXQgd2lsbCB0YWlsb3IgaXRzZWxmIHRvIHlvdXIgY29uZmlndXJhdGlvbi4KKworIyBBbGwgbGluZXMgYmVnaW5uaW5nIHdpdGggYSAnIycgYXJlIGNvbW1lbnRzIGFuZCBhcmUgaW50ZW5kZWQgZm9yIHlvdQorIyB0byByZWFkLiAgQWxsIG90aGVyIGxpbmVzIGFyZSBjb25maWd1cmF0aW9uIGNvbW1hbmRzIGZvciB0aGUgYWdlbnQuCisKKyMKKyMgUExFQVNFOiByZWFkIHRoZSBzbm1wZC5jb25mKDUpIG1hbnVhbCBwYWdlIGFzIHdlbGwhCisjCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBBY2Nlc3MgQ29udHJvbAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIFlPVSBTSE9VTEQgQ0hBTkdFIFRIRSAiQ09NTVVOSVRZIiBUT0tFTiBCRUxPVyBUTyBBIE5FVyBLRVlXT1JEIE9OTFkKKyMgS05PV04gQVQgWU9VUiBTSVRFLiAgWU9VICpNVVNUKiBDSEFOR0UgVEhFIE5FVFdPUksgVE9LRU4gQkVMT1cgVE8KKyMgU09NRVRISU5HIFJFRkxFQ1RJTkcgWU9VUiBMT0NBTCBORVRXT1JLIEFERFJFU1MgU1BBQ0UuCisKKyMgQnkgZmFyLCB0aGUgbW9zdCBjb21tb24gcXVlc3Rpb24gSSBnZXQgYWJvdXQgdGhlIGFnZW50IGlzICJ3aHkgd29uJ3QKKyMgaXQgd29yaz8iLCB3aGVuIHJlYWxseSBpdCBzaG91bGQgYmUgImhvdyBkbyBJIGNvbmZpZ3VyZSB0aGUgYWdlbnQgdG8KKyMgYWxsb3cgbWUgdG8gYWNjZXNzIGl0PyIKKyMKKyMgQnkgZGVmYXVsdCwgdGhlIGFnZW50IHJlc3BvbmRzIHRvIHRoZSAicHVibGljIiBjb21tdW5pdHkgZm9yIHJlYWQKKyMgb25seSBhY2Nlc3MsIGlmIHJ1biBvdXQgb2YgdGhlIGJveCB3aXRob3V0IGFueSBjb25maWd1cmF0aW9uIGZpbGUgaW4gCisjIHBsYWNlLiAgVGhlIGZvbGxvd2luZyBleGFtcGxlcyBzaG93IHlvdSBvdGhlciB3YXlzIG9mIGNvbmZpZ3VyaW5nCisjIHRoZSBhZ2VudCBzbyB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBjb21tdW5pdHkgbmFtZXMsIGFuZCBnaXZlCisjIHlvdXJzZWxmIHdyaXRlIGFjY2VzcyBhcyB3ZWxsLgorIworIyBUaGUgZm9sbG93aW5nIGxpbmVzIGNoYW5nZSB0aGUgYWNjZXNzIHBlcm1pc3Npb25zIG9mIHRoZSBhZ2VudCBzbworIyB0aGF0IHRoZSBDT01NVU5JVFkgc3RyaW5nIHByb3ZpZGVzIHJlYWQtb25seSBhY2Nlc3MgdG8geW91ciBlbnRpcmUKKyMgTkVUV09SSyAoRUc6IDEwLjEwLjEwLjAvMjQpLCBhbmQgcmVhZC93cml0ZSBhY2Nlc3MgdG8gb25seSB0aGUKKyMgbG9jYWxob3N0ICgxMjcuMC4wLjEsIG5vdCBpdHMgcmVhbCBpcGFkZHJlc3MpLgorIworIyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVhZCB0aGUgRkFRIGFzIHdlbGwgYXMgdGhlIHNubXBkLmNvbmYoNSkKKyMgbWFudWFsIHBhZ2UuCisKKyMjIyMKKyMgRmlyc3QsIG1hcCB0aGUgY29tbXVuaXR5IG5hbWUgKENPTU1VTklUWSkgaW50byBhIHNlY3VyaXR5IG5hbWUKKyMgKGxvY2FsIGFuZCBteW5ldHdvcmssIGRlcGVuZGluZyBvbiB3aGVyZSB0aGUgcmVxdWVzdCBpcyBjb21pbmcKKyMgZnJvbSk6CisKKyMgICAgICAgc2VjLm5hbWUgIHNvdXJjZSAgICAgICAgICBjb21tdW5pdHkKK2NvbTJzZWMgcGFyYW5vaWQgIGRlZmF1bHQgICAgICAgICBwdWJsaWMKKyNjb20yc2VjIHJlYWRvbmx5ICBkZWZhdWx0ICAgICAgICAgcHVibGljCisjY29tMnNlYyByZWFkd3JpdGUgZGVmYXVsdCAgICAgICAgIHByaXZhdGUKKworIyMjIworIyBTZWNvbmQsIG1hcCB0aGUgc2VjdXJpdHkgbmFtZXMgaW50byBncm91cCBuYW1lczoKKworIyAgICAgICAgICAgICAJc2VjLm1vZGVsICBzZWMubmFtZQorZ3JvdXAgTXlST1N5c3RlbSB2MSAgICAgICAgcGFyYW5vaWQKK2dyb3VwIE15Uk9TeXN0ZW0gdjJjICAgICAgIHBhcmFub2lkCitncm91cCBNeVJPU3lzdGVtIHVzbSAgICAgICBwYXJhbm9pZAorZ3JvdXAgTXlST0dyb3VwIHYxICAgICAgICAgcmVhZG9ubHkKK2dyb3VwIE15Uk9Hcm91cCB2MmMgICAgICAgIHJlYWRvbmx5Citncm91cCBNeVJPR3JvdXAgdXNtICAgICAgICByZWFkb25seQorZ3JvdXAgTXlSV0dyb3VwIHYxICAgICAgICAgcmVhZHdyaXRlCitncm91cCBNeVJXR3JvdXAgdjJjICAgICAgICByZWFkd3JpdGUKK2dyb3VwIE15UldHcm91cCB1c20gICAgICAgIHJlYWR3cml0ZQorCisjIyMjCisjIFRoaXJkLCBjcmVhdGUgYSB2aWV3IGZvciB1cyB0byBsZXQgdGhlIGdyb3VwcyBoYXZlIHJpZ2h0cyB0bzoKKworIyAgICAgICAgICAgaW5jbC9leGNsIHN1YnRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2sKK3ZpZXcgYWxsICAgIGluY2x1ZGVkICAuMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MAordmlldyBzeXN0ZW0gaW5jbHVkZWQgIC5pc28ub3JnLmRvZC5pbnRlcm5ldC5tZ210Lm1pYi0yLnN5c3RlbQorCisjIyMjCisjIEZpbmFsbHksIGdyYW50IHRoZSAyIGdyb3VwcyBhY2Nlc3MgdG8gdGhlIDEgdmlldyB3aXRoIGRpZmZlcmVudAorIyB3cml0ZSBwZXJtaXNzaW9uczoKKworIyAgICAgICAgICAgICAgICBjb250ZXh0IHNlYy5tb2RlbCBzZWMubGV2ZWwgbWF0Y2ggIHJlYWQgICB3cml0ZSAgbm90aWYKK2FjY2VzcyBNeVJPU3lzdGVtICIiICAgICBhbnkgICAgICAgbm9hdXRoICAgIGV4YWN0ICBzeXN0ZW0gbm9uZSAgIG5vbmUKK2FjY2VzcyBNeVJPR3JvdXAgIiIgICAgICBhbnkgICAgICAgbm9hdXRoICAgIGV4YWN0ICBhbGwgICAgbm9uZSAgIG5vbmUKK2FjY2VzcyBNeVJXR3JvdXAgIiIgICAgICBhbnkgICAgICAgbm9hdXRoICAgIGV4YWN0ICBhbGwgICAgYWxsICAgIG5vbmUKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgU3lzdGVtIGNvbnRhY3QgaW5mb3JtYXRpb24KKyMKKworIyBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHNldCB0aGUgc3lzQ29udGFjdCBhbmQgc3lzTG9jYXRpb24gc3lzdGVtCisjIHZhcmlhYmxlcyB0aHJvdWdoIHRoZSBzbm1wZC5jb25mIGZpbGUuICAqKlBMRUFTRSBOT1RFKiogdGhhdCBzZXR0aW5nCisjIHRoZSB2YWx1ZSBvZiB0aGVzZSBvYmplY3RzIGhlcmUgbWFrZXMgdGhlc2Ugb2JqZWN0cyBSRUFELU9OTFkKKyMgKHJlZ2FyZGxlc3Mgb2YgYW55IGFjY2VzcyBjb250cm9sIHNldHRpbmdzKS4gIEFueSBhdHRlbXB0IHRvIHNldCB0aGUKKyMgdmFsdWUgb2YgYW4gb2JqZWN0IHdob3NlIHZhbHVlIGlzIGdpdmVuIGhlcmUgd2lsbCBmYWlsIHdpdGggYW4gZXJyb3IKKyMgc3RhdHVzIG9mIG5vdFdyaXRhYmxlLgorCitzeXNsb2NhdGlvbiBVbmtub3duIChjb25maWd1cmUgL2V0Yy9zbm1wL3NubXBkLmxvY2FsLmNvbmYpCitzeXNjb250YWN0IFJvb3QgPHJvb3RAbG9jYWxob3N0PiAoY29uZmlndXJlIC9ldGMvc25tcC9zbm1wZC5sb2NhbC5jb25mKQorCisjIEV4YW1wbGUgb3V0cHV0IG9mIHNubXB3YWxrOgorIyAgICUgc25tcHdhbGsgLXYgMSAtYyBwdWJsaWMgbG9jYWxob3N0IHN5c3RlbQorIyAgIHN5c3RlbS5zeXNEZXNjci4wID0gIlN1bk9TIG5hbWUgc3VuNGMiCisjICAgc3lzdGVtLnN5c09iamVjdElELjAgPSBPSUQ6IGVudGVycHJpc2VzLnVjZGF2aXMudWNkU25tcEFnZW50LnN1bm9zNAorIyAgIHN5c3RlbS5zeXNVcFRpbWUuMCA9IFRpbWV0aWNrczogKDU5NTYzNzU0OCkgNjggZGF5cywgMjI6MzI6NTUKKyMgICBzeXN0ZW0uc3lzQ29udGFjdC4wID0gIk1lIDxtZUBzb21ld2hlcmUub3JnPiIKKyMgICBzeXN0ZW0uc3lzTmFtZS4wID0gIm5hbWUiCisjICAgc3lzdGVtLnN5c0xvY2F0aW9uLjAgPSAiUmlnaHQgaGVyZSwgcmlnaHQgbm93LiIKKyMgICBzeXN0ZW0uc3lzU2VydmljZXMuMCA9IDcyCisKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgUHJvY2VzcyBjaGVja3MuCisjCisjICBUaGUgZm9sbG93aW5nIGFyZSBleGFtcGxlcyBvZiBob3cgdG8gdXNlIHRoZSBhZ2VudCB0byBjaGVjayBmb3IKKyMgIHByb2Nlc3NlcyBydW5uaW5nIG9uIHRoZSBob3N0LiAgVGhlIHN5bnRheCBsb29rcyBzb21ldGhpbmcgbGlrZToKKyMKKyMgIHByb2MgTkFNRSBbTUFYPTBdIFtNSU49MF0KKyMKKyMgIE5BTUU6ICB0aGUgbmFtZSBvZiB0aGUgcHJvY2VzcyB0byBjaGVjayBmb3IuICBJdCBtdXN0IG1hdGNoCisjICAgICAgICAgZXhhY3RseSAoaWUsIGh0dHAgd2lsbCBub3QgZmluZCBodHRwZCBwcm9jZXNzZXMpLgorIyAgTUFYOiAgIHRoZSBtYXhpbXVtIG51bWJlciBhbGxvd2VkIHRvIGJlIHJ1bm5pbmcuICBEZWZhdWx0cyB0byAwLgorIyAgTUlOOiAgIHRoZSBtaW5pbXVtIG51bWJlciB0byBiZSBydW5uaW5nLiAgRGVmYXVsdHMgdG8gMC4KKworIworIyAgRXhhbXBsZXM6CisjCisKKyMgIE1ha2Ugc3VyZSBtb3VudGQgaXMgcnVubmluZworI3Byb2MgbW91bnRkCisKKyMgIE1ha2Ugc3VyZSB0aGVyZSBhcmUgbm8gbW9yZSB0aGFuIDQgbnRhbGtkcyBydW5uaW5nLCBidXQgMCBpcyBvayB0b28uCisjcHJvYyBudGFsa2QgNAorCisjICBNYWtlIHN1cmUgYXQgbGVhc3Qgb25lIHNlbmRtYWlsLCBidXQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEwIGFyZSBydW5uaW5nLgorI3Byb2Mgc2VuZG1haWwgMTAgMQorCisjICBBIHNubXB3YWxrIG9mIHRoZSBwclRhYmxlIHdvdWxkIGxvb2sgc29tZXRoaW5nIGxpa2UgdGhpczoKKyMgCisjICUgc25tcHdhbGsgLXYgMSAtYyBwdWJsaWMgbG9jYWxob3N0IC4xLjMuNi4xLjQuMS4yMDIxLjIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wckluZGV4LjEgPSAxCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJJbmRleC4yID0gMgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnBySW5kZXguMyA9IDMKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wck5hbWVzLjEgPSAibW91bnRkIgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnByTmFtZXMuMiA9ICJudGFsa2QiCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJOYW1lcy4zID0gInNlbmRtYWlsIgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnByTWluLjEgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJNaW4uMiA9IDAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wck1pbi4zID0gMQorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnByTWF4LjEgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJNYXguMiA9IDQKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wck1heC4zID0gMTAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wckNvdW50LjEgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJDb3VudC4yID0gMAorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnByQ291bnQuMyA9IDEKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wckVycm9yRmxhZy4xID0gMQorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnByRXJyb3JGbGFnLjIgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJFcnJvckZsYWcuMyA9IDAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wckVyck1lc3NhZ2UuMSA9ICJObyBtb3VudGQgcHJvY2VzcyBydW5uaW5nLiIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wckVyck1lc3NhZ2UuMiA9ICIiCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJFcnJNZXNzYWdlLjMgPSAiIgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLnByb2NUYWJsZS5wckVudHJ5LnByRXJyRml4LjEgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMucHJvY1RhYmxlLnByRW50cnkucHJFcnJGaXguMiA9IDAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5wcm9jVGFibGUucHJFbnRyeS5wckVyckZpeC4zID0gMAorIworIyAgTm90ZSB0aGF0IHRoZSBlcnJvckZsYWcgZm9yIG1vdW50ZCBpcyBzZXQgdG8gMSBiZWNhdXNlIG9uZSBpcyBub3QKKyMgIHJ1bm5pbmcgKGluIHRoaXMgY2FzZSBhbiBycGMubW91bnRkIGlzLCBidXQgdGhhdHMgbm90IGdvb2QgZW5vdWdoKSwKKyMgIGFuZCB0aGUgRXJyTWVzc2FnZSB0ZWxscyB5b3Ugd2hhdCdzIHdyb25nLiAgVGhlIGNvbmZpZ3VyYXRpb24KKyMgIGltcG9zZWQgaW4gdGhlIHNubXBkLmNvbmYgZmlsZSBpcyBhbHNvIHNob3duLiAgCisjIAorIyAgU3BlY2lhbCBDYXNlOiAgV2hlbiB0aGUgbWluIGFuZCBtYXggbnVtYmVycyBhcmUgYm90aCAwLCBpdCBhc3N1bWVzCisjICB5b3Ugd2FudCBhIG1heCBvZiBpbmZpbml0eSBhbmQgYSBtaW4gb2YgMS4KKyMKKworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBFeGVjdXRhYmxlcy9zY3JpcHRzCisjCisKKyMKKyMgIFlvdSBjYW4gYWxzbyBoYXZlIHByb2dyYW1zIHJ1biBieSB0aGUgYWdlbnQgdGhhdCByZXR1cm4gYSBzaW5nbGUKKyMgIGxpbmUgb2Ygb3V0cHV0IGFuZCBhbiBleGl0IGNvZGUuICBIZXJlIGFyZSB0d28gZXhhbXBsZXMuCisjCisjICBleGVjIE5BTUUgUFJPR1JBTSBbQVJHUyAuLi5dCisjCisjICBOQU1FOiAgICAgQSBnZW5lcmljIG5hbWUuCisjICBQUk9HUkFNOiAgVGhlIHByb2dyYW0gdG8gcnVuLiAgSW5jbHVkZSB0aGUgcGF0aCEKKyMgIEFSR1M6ICAgICBvcHRpb25hbCBhcmd1bWVudHMgdG8gYmUgcGFzc2VkIHRvIHRoZSBwcm9ncmFtCisKKyMgYSBzaW1wbGUgaGVsbG8gd29ybGQKKyNleGVjIGVjaG90ZXN0IC9iaW4vZWNobyBoZWxsbyB3b3JsZAorCisjIFJ1biBhIHNoZWxsIHNjcmlwdCBjb250YWluaW5nOgorIworIyAjIS9iaW4vc2gKKyMgZWNobyBoZWxsbyB3b3JsZAorIyBlY2hvIGhpIHRoZXJlCisjIGV4aXQgMzUKKyMKKyMgTm90ZTogIHRoaXMgaGFzIGJlZW4gc3BlY2lmaWNhbGx5IGNvbW1lbnRlZCBvdXQgdG8gcHJldmVudAorIyBhY2NpZGVudGFsIHNlY3VyaXR5IGhvbGVzIGR1ZSB0byBzb21lb25lIGVsc2Ugb24geW91ciBzeXN0ZW0gd3JpdGluZworIyBhIC90bXAvc2h0ZXN0IGJlZm9yZSB5b3UgZG8uICBVbmNvbW1lbnQgdG8gdXNlIGl0LgorIworI2V4ZWMgc2hlbGx0ZXN0IC9iaW4vc2ggL3RtcC9zaHRlc3QKKworIyBUaGVuLCAKKyMgJSBzbm1wd2FsayAtdiAxIC1jIHB1YmxpYyBsb2NhbGhvc3QgLjEuMy42LjEuNC4xLjIwMjEuOAorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmV4dFRhYmxlLmV4dEVudHJ5LmV4dEluZGV4LjEgPSAxCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZXh0VGFibGUuZXh0RW50cnkuZXh0SW5kZXguMiA9IDIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5leHRUYWJsZS5leHRFbnRyeS5leHROYW1lcy4xID0gImVjaG90ZXN0IgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmV4dFRhYmxlLmV4dEVudHJ5LmV4dE5hbWVzLjIgPSAic2hlbGx0ZXN0IgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmV4dFRhYmxlLmV4dEVudHJ5LmV4dENvbW1hbmQuMSA9ICIvYmluL2VjaG8gaGVsbG8gd29ybGQiCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZXh0VGFibGUuZXh0RW50cnkuZXh0Q29tbWFuZC4yID0gIi9iaW4vc2ggL3RtcC9zaHRlc3QiCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZXh0VGFibGUuZXh0RW50cnkuZXh0UmVzdWx0LjEgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZXh0VGFibGUuZXh0RW50cnkuZXh0UmVzdWx0LjIgPSAzNQorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmV4dFRhYmxlLmV4dEVudHJ5LmV4dE91dHB1dC4xID0gImhlbGxvIHdvcmxkLiIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5leHRUYWJsZS5leHRFbnRyeS5leHRPdXRwdXQuMiA9ICJoZWxsbyB3b3JsZC4iCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZXh0VGFibGUuZXh0RW50cnkuZXh0RXJyRml4LjEgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZXh0VGFibGUuZXh0RW50cnkuZXh0RXJyRml4LjIgPSAwCisKKyMgTm90ZSB0aGF0IHRoZSBzZWNvbmQgbGluZSBvZiB0aGUgL3RtcC9zaHRlc3Qgc2hlbGwgc2NyaXB0IGlzIGN1dAorIyBvZmYuICBBbHNvIG5vdGUgdGhhdCB0aGUgZXhpdCBzdGF0dXMgb2YgMzUgd2FzIHJldHVybmVkLgorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBkaXNrIGNoZWNrcworIworCisjIFRoZSBhZ2VudCBjYW4gY2hlY2sgdGhlIGFtb3VudCBvZiBhdmFpbGFibGUgZGlzayBzcGFjZSwgYW5kIG1ha2UKKyMgc3VyZSBpdCBpcyBhYm92ZSBhIHNldCBsaW1pdC4gIAorCisjIGRpc2sgUEFUSCBbTUlOPURFRkRJU0tNSU5JTVVNU1BBQ0VdCisjCisjIFBBVEg6ICBtb3VudCBwYXRoIHRvIHRoZSBkaXNrIGluIHF1ZXN0aW9uLgorIyBNSU46ICAgRGlza3Mgd2l0aCBzcGFjZSBiZWxvdyB0aGlzIHZhbHVlIHdpbGwgaGF2ZSB0aGUgTWliJ3MgZXJyb3JGbGFnIHNldC4KKyMgICAgICAgIERlZmF1bHQgdmFsdWUgPSBERUZESVNLTUlOSU1VTVNQQUNFLgorCisjIENoZWNrIHRoZSAvIHBhcnRpdGlvbiBhbmQgbWFrZSBzdXJlIGl0IGNvbnRhaW5zIGF0IGxlYXN0IDEwIG1lZ3MuCisKKyNkaXNrIC8gMTAwMDAKKworIyAlIHNubXB3YWxrIC12IDEgLWMgcHVibGljIGxvY2FsaG9zdCAuMS4zLjYuMS40LjEuMjAyMS45CisjIGVudGVycHJpc2VzLnVjZGF2aXMuZGlza1RhYmxlLmRza0VudHJ5LmRpc2tJbmRleC4xID0gMAorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmRpc2tUYWJsZS5kc2tFbnRyeS5kaXNrUGF0aC4xID0gIi8iIEhleDogMkYgCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZGlza1RhYmxlLmRza0VudHJ5LmRpc2tEZXZpY2UuMSA9ICIvZGV2L2Rzay9jMjAxZDZzMCIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5kaXNrVGFibGUuZHNrRW50cnkuZGlza01pbmltdW0uMSA9IDEwMDAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZGlza1RhYmxlLmRza0VudHJ5LmRpc2tUb3RhbC4xID0gODM3MTMwCisjIGVudGVycHJpc2VzLnVjZGF2aXMuZGlza1RhYmxlLmRza0VudHJ5LmRpc2tBdmFpbC4xID0gMzE2MzI1CisjIGVudGVycHJpc2VzLnVjZGF2aXMuZGlza1RhYmxlLmRza0VudHJ5LmRpc2tVc2VkLjEgPSA0MzcwOTIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5kaXNrVGFibGUuZHNrRW50cnkuZGlza1BlcmNlbnQuMSA9IDU4CisjIGVudGVycHJpc2VzLnVjZGF2aXMuZGlza1RhYmxlLmRza0VudHJ5LmRpc2tFcnJvckZsYWcuMSA9IDAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5kaXNrVGFibGUuZHNrRW50cnkuZGlza0Vycm9yTXNnLjEgPSAiIgorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBsb2FkIGF2ZXJhZ2UgY2hlY2tzCisjCisKKyMgbG9hZCBbMU1BWD1ERUZNQVhMT0FEQVZFXSBbNU1BWD1ERUZNQVhMT0FEQVZFXSBbMTVNQVg9REVGTUFYTE9BREFWRV0KKyMKKyMgMU1BWDogICBJZiB0aGUgMSBtaW51dGUgbG9hZCBhdmVyYWdlIGlzIGFib3ZlIHRoaXMgbGltaXQgYXQgcXVlcnkKKyMgICAgICAgICB0aW1lLCB0aGUgZXJyb3JGbGFnIHdpbGwgYmUgc2V0LgorIyA1TUFYOiAgIFNpbWlsYXIsIGJ1dCBmb3IgNSBtaW4gYXZlcmFnZS4KKyMgMTVNQVg6ICBTaW1pbGFyLCBidXQgZm9yIDE1IG1pbiBhdmVyYWdlLgorCisjIENoZWNrIGZvciBsb2FkczoKKyNsb2FkIDEyIDE0IDE0CisKKyMgJSBzbm1wd2FsayAtdiAxIC1jIHB1YmxpYyBsb2NhbGhvc3QgLjEuMy42LjEuNC4xLjIwMjEuMTAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlSW5kZXguMSA9IDEKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlSW5kZXguMiA9IDIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlSW5kZXguMyA9IDMKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlTmFtZXMuMSA9ICJMb2FkLTEiCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZU5hbWVzLjIgPSAiTG9hZC01IgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmxvYWRUYWJsZS5sYUVudHJ5LmxvYWRhdmVOYW1lcy4zID0gIkxvYWQtMTUiCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZUxvYWQuMSA9ICIwLjQ5IiBIZXg6IDMwIDJFIDM0IDM5IAorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmxvYWRUYWJsZS5sYUVudHJ5LmxvYWRhdmVMb2FkLjIgPSAiMC4zMSIgSGV4OiAzMCAyRSAzMyAzMSAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlTG9hZC4zID0gIjAuMjYiIEhleDogMzAgMkUgMzIgMzYgCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZUNvbmZpZy4xID0gIjEyLjAwIgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmxvYWRUYWJsZS5sYUVudHJ5LmxvYWRhdmVDb25maWcuMiA9ICIxNC4wMCIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlQ29uZmlnLjMgPSAiMTQuMDAiCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZUVycm9yRmxhZy4xID0gMAorIyBlbnRlcnByaXNlcy51Y2RhdmlzLmxvYWRUYWJsZS5sYUVudHJ5LmxvYWRhdmVFcnJvckZsYWcuMiA9IDAKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy5sb2FkVGFibGUubGFFbnRyeS5sb2FkYXZlRXJyb3JGbGFnLjMgPSAwCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZUVyck1lc3NhZ2UuMSA9ICIiCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZUVyck1lc3NhZ2UuMiA9ICIiCisjIGVudGVycHJpc2VzLnVjZGF2aXMubG9hZFRhYmxlLmxhRW50cnkubG9hZGF2ZUVyck1lc3NhZ2UuMyA9ICIiCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEV4dGVuc2libGUgc2VjdGlvbnMuCisjIAorCisjIFRoaXMgYWxsZXZpYXRlcyB0aGUgbXVsdGlwbGUgbGluZSBvdXRwdXQgcHJvYmxlbSBmb3VuZCBpbiB0aGUKKyMgcHJldmlvdXMgZXhlY3V0YWJsZSBtaWIgYnkgcGxhY2luZyBlYWNoIG1pYiBpbiBpdHMgb3duIG1pYiB0YWJsZToKKworIyBSdW4gYSBzaGVsbCBzY3JpcHQgY29udGFpbmluZzoKKyMKKyMgIyEvYmluL3NoCisjIGVjaG8gaGVsbG8gd29ybGQKKyMgZWNobyBoaSB0aGVyZQorIyBleGl0IDM1CisjCisjIE5vdGU6ICB0aGlzIGhhcyBiZWVuIHNwZWNpZmljYWxseSBjb21tZW50ZWQgb3V0IHRvIHByZXZlbnQKKyMgYWNjaWRlbnRhbCBzZWN1cml0eSBob2xlcyBkdWUgdG8gc29tZW9uZSBlbHNlIG9uIHlvdXIgc3lzdGVtIHdyaXRpbmcKKyMgYSAvdG1wL3NodGVzdCBiZWZvcmUgeW91IGRvLiAgVW5jb21tZW50IHRvIHVzZSBpdC4KKyMKKyMgZXhlYyAuMS4zLjYuMS40LjEuMjAyMS41MCBzaGVsbHRlc3QgL2Jpbi9zaCAvdG1wL3NodGVzdAorCisjICUgc25tcHdhbGsgLXYgMSAtYyBwdWJsaWMgbG9jYWxob3N0IC4xLjMuNi4xLjQuMS4yMDIxLjUwCisjIGVudGVycHJpc2VzLnVjZGF2aXMuNTAuMS4xID0gMQorIyBlbnRlcnByaXNlcy51Y2RhdmlzLjUwLjIuMSA9ICJzaGVsbHRlc3QiCisjIGVudGVycHJpc2VzLnVjZGF2aXMuNTAuMy4xID0gIi9iaW4vc2ggL3RtcC9zaHRlc3QiCisjIGVudGVycHJpc2VzLnVjZGF2aXMuNTAuMTAwLjEgPSAzNQorIyBlbnRlcnByaXNlcy51Y2RhdmlzLjUwLjEwMS4xID0gImhlbGxvIHdvcmxkLiIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy41MC4xMDEuMiA9ICJoaSB0aGVyZS4iCisjIGVudGVycHJpc2VzLnVjZGF2aXMuNTAuMTAyLjEgPSAwCisKKyMgTm93IHRoZSBPdXRwdXQgaGFzIGdyb3duIHRvIHR3byBsaW5lcywgYW5kIHdlIGNhbiBzZWUgdGhlICdoaQorIyB0aGVyZS4nIG91dHB1dCBhcyB0aGUgc2Vjb25kIGxpbmUgZnJvbSBvdXIgc2hlbGwgc2NyaXB0LgorIworIyBOb3RlIHRoYXQgeW91IG11c3QgYWx0ZXIgdGhlIG1pYi50eHQgZmlsZSB0byBiZSBjb3JyZWN0IGlmIHlvdSB3YW50CisjIHRoZSAuNTAuKiBvdXRwdXRzIGFib3ZlIHRvIGNoYW5nZSB0byByZWFzb25hYmxlIHRleHQgZGVzY3JpcHRpb25zLgorCisjIE90aGVyIGlkZWFzOgorIyAKKyMgZXhlYyAuMS4zLjYuMS40LjEuMjAyMS41MSBwcyAvYmluL3BzIAorIyBleGVjIC4xLjMuNi4xLjQuMS4yMDIxLjUyIHRvcCAvdXNyL2xvY2FsL2Jpbi90b3AKKyMgZXhlYyAuMS4zLjYuMS40LjEuMjAyMS41MyBtYWlscSAvdXNyL2Jpbi9tYWlscQorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBQYXNzIHRocm91Z2ggY29udHJvbC4KKyMgCisKKyMgVXNhZ2U6CisjICAgcGFzcyBNSUJPSUQgRVhFQy1DT01NQU5ECisjCisjIFRoaXMgd2lsbCBwYXNzIHRvdGFsIGNvbnRyb2wgb2YgdGhlIG1pYiB1bmRlcm5lYXRoIHRoZSBNSUJPSUQKKyMgcG9ydGlvbiBvZiB0aGUgbWliIHRvIHRoZSBFWEVDLUNPTU1BTkQuICAKKyMKKyMgTm90ZTogIFlvdSdsbCBoYXZlIHRvIGNoYW5nZSB0aGUgcGF0aCBvZiB0aGUgcGFzc3Rlc3Qgc2NyaXB0IHRvIHlvdXIKKyMgc291cmNlIGRpcmVjdG9yeSBvciBpbnN0YWxsIGl0IGluIHRoZSBnaXZlbiBsb2NhdGlvbi4KKyMgCisjIEV4YW1wbGU6ICAoc2VlIHRoZSBzY3JpcHQgZm9yIGRldGFpbHMpCisjICAgICAgICAgICAoY29tbWVudGVkIG91dCBoZXJlIHNpbmNlIGl0IHJlcXVpcmVzIHRoYXQgeW91IHBsYWNlIHRoZQorIyAgICAgICAgICAgc2NyaXB0IGluIHRoZSByaWdodCBsb2NhdGlvbi4gKGl0cyBub3QgaW5zdGFsbGVkIGJ5IGRlZmF1bHQpKQorCisjIHBhc3MgLjEuMy42LjEuNC4xLjIwMjEuMjU1IC9iaW4vc2ggL3Vzci9sb2NhbC9wYXNzdGVzdAorCisjICUgc25tcHdhbGsgLXYgMSAtYyBwdWJsaWMgbG9jYWxob3N0IC4xLjMuNi4xLjQuMS4yMDIxLjI1NQorIyBlbnRlcnByaXNlcy51Y2RhdmlzLjI1NS4xID0gImxpZmUgdGhlIHVuaXZlcnNlIGFuZCBldmVyeXRoaW5nIgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLjI1NS4yLjEgPSA0MgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLjI1NS4yLjIgPSBPSUQ6IDQyLjQyLjQyCisjIGVudGVycHJpc2VzLnVjZGF2aXMuMjU1LjMgPSBUaW1ldGlja3M6ICgzNjMxMzYyMDApIDQyIGRheXMsIDA6NDI6NDIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy4yNTUuNCA9IElwQWRkcmVzczogMTI3LjAuMC4xCisjIGVudGVycHJpc2VzLnVjZGF2aXMuMjU1LjUgPSA0MgorIyBlbnRlcnByaXNlcy51Y2RhdmlzLjI1NS42ID0gR2F1Z2U6IDQyCisjCisjICUgc25tcGdldCAtdiAxIC1jIHB1YmxpYyBsb2NhbGhvc3QgLjEuMy42LjEuNC4xLjIwMjEuMjU1LjUKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy4yNTUuNSA9IDQyCisjCisjICUgc25tcHNldCAtdiAxIC1jIHB1YmxpYyBsb2NhbGhvc3QgLjEuMy42LjEuNC4xLjIwMjEuMjU1LjEgcyAiTmV3IHN0cmluZyIKKyMgZW50ZXJwcmlzZXMudWNkYXZpcy4yNTUuMSA9ICJOZXcgc3RyaW5nIgorIworCisjIEZvciBzcGVjaWZpYyB1c2FnZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBtYW4vc25tcGQuY29uZi41IG1hbnVhbCBwYWdlCisjIGFzIHdlbGwgYXMgdGhlIGxvY2FsL3Bhc3N0ZXN0IHNjcmlwdCB1c2VkIGluIHRoZSBhYm92ZSBleGFtcGxlLgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFN1YmFnZW50IGNvbnRyb2wKKyMKKworIyBUaGUgYWdlbnQgY2FuIHN1cHBvcnQgc3ViYWdlbnRzIHVzaW5nIGEgbnVtYmVyIG9mIGV4dGVuc2lvbiBtZWNoYW5pc21zLgorIyBGcm9tIHRoZSA0LjIuMSByZWxlYXNlLCBBZ2VudFggc3VwcG9ydCBpcyBiZWluZyBjb21waWxlZCBpbiBieSBkZWZhdWx0LgorIyBIb3dldmVyLCB0aGlzIGlzIHN0aWxsIGV4cGVyaW1lbnRhbCBjb2RlLCBzbyBzaG91bGQgbm90IGJlIHVzZWQgb24KKyMgY3JpdGljYWwgcHJvZHVjdGlvbiBzeXN0ZW1zLgorIyAgIFBsZWFzZSBzZWUgdGhlIGZpbGUgUkVBRE1FLmFnZW50eCBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBJZiBoYXZpbmcgcmVhZCwgbWFya2VkLCBsZWFybnQgYW5kIGlud2FyZGx5IGRpZ2VzdGVkIHRoaXMgaW5mb3JtYXRpb24sCisjIHlvdSBkZWNpZGUgdGhhdCB5b3UgZG8gd2lzaCB0byBtYWtlIHVzZSBvZiB0aGlzIG1lY2hhbmlzbSwgc2ltcGx5CisjIHVuY29tbWVudCB0aGUgZm9sbG93aW5nIGRpcmVjdGl2ZS4KKyMKKyMgIG1hc3RlciAgYWdlbnR4CisjCisjIEkgcmVwZWF0IC0gdGhpcyBpcyAqTk9UKiByZWdhcmRlZCBhcyBzdWl0YWJsZSBmb3IgZnJvbnQtbGluZSBwcm9kdWN0aW9uCisjIHN5c3RlbXMsIHRob3VnaCBpdCBpcyBwcm9iYWJseSBzdGFibGUgZW5vdWdoIGZvciBkYXktdG8tZGF5IHVzZS4KKyMgUHJvYmFibHkuCisjCisjIE5vIHJlZnVuZHMgd2lsbCBiZSBnaXZlbi4KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBGdXJ0aGVyIEluZm9ybWF0aW9uCisjCisjICBTZWUgdGhlIHNubXBkLmNvbmYgbWFudWFsIHBhZ2UsIGFuZCB0aGUgb3V0cHV0IG9mICJzbm1wZCAtSCIuCisjICBNVUNIIG1vcmUgY2FuIGJlIGRvbmUgd2l0aCB0aGUgc25tcGQuY29uZiB0aGFuIGlzIHNob3duIGFzIGFuCisjICBleGFtcGxlIGhlcmUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9maWxlcy9zbm1wdHJhcGQuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL2ZpbGVzL3NubXB0cmFwZC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkMmU0MzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9maWxlcy9zbm1wdHJhcGQuY29uZgpAQCAtMCwwICsxLDE4IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIEVYQU1QTEUuY29uZjoKKyMgICBBbiBleGFtcGxlIGNvbmZpZ3VyYXRpb24gZmlsZSBmb3IgY29uZmlndXJpbmcgdGhlIHVjZC1zbm1wIHNubXB0cmFwZCBhZ2VudC4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgVGhpcyBmaWxlIGlzIGludGVuZGVkIHRvIG9ubHkgYmUgYW4gZXhhbXBsZS4gIElmLCBob3dldmVyLCB5b3Ugd2FudAorIyB0byB1c2UgaXQsIGl0IHNob3VsZCBiZSBwbGFjZWQgaW4gL2V0Yy9zbm1wL3NubXB0cmFwZC5jb25mLgorIyBXaGVuIHRoZSBzbm1wdHJhcGQgYWdlbnQgc3RhcnRzIHVwLCB0aGlzIGlzIHdoZXJlIGl0IHdpbGwgbG9vayBmb3IgaXQuCisjCisjIEFsbCBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhICcjJyBhcmUgY29tbWVudHMgYW5kIGFyZSBpbnRlbmRlZCBmb3IgeW91CisjIHRvIHJlYWQuICBBbGwgb3RoZXIgbGluZXMgYXJlIGNvbmZpZ3VyYXRpb24gY29tbWFuZHMgZm9yIHRoZSBhZ2VudC4KKworIworIyBQTEVBU0U6IHJlYWQgdGhlIHNubXB0cmFwZC5jb25mKDUpIG1hbnVhbCBwYWdlIGFzIHdlbGwhCisjCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wLzAwMDEtY29uZmlnX29zX2hlYWRlcnMtRXJyb3ItRml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1jb25maWdfb3NfaGVhZGVycy1FcnJvci1GaXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY0MDFmZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wLzAwMDEtY29uZmlnX29zX2hlYWRlcnMtRXJyb3ItRml4LnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gMjYxYTIyMDk2Yzc5ZjhlNmVmN2IzODc1MTRhNzRkMjA4ZTRlNTk0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IEZyaSwgMjEgQXVnIDIwMTUgMTg6MjM6MTMgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlnX29zX2hlYWRlcnM6IEVycm9yIEZpeAorCitFUlJPUjogVGhpcyBhdXRvY29uZiBsb2cgaW5kaWNhdGVzIGVycm9ycywgaXQgbG9va2VkIGF0IGhvc3QgaW5jbHVkZQorYW5kL29yIGxpYnJhcnkgcGF0aHMgd2hpbGUgZGV0ZXJtaW5pbmcgc3lzdGVtIGNhcGFiaWxpdGllcy4KK2NjMTogd2FybmluZzogaW5jbHVkZSBsb2NhdGlvbiAiL3Vzci9sb2NhbC9pbmNsdWRlIiBpcyB1bnNhZmUgZm9yIGNyb3NzLWNvbXBpbGF0aW9uIFstV3BvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXNdCitjb25mdGVzdC5jOjE2ODoxNzogZmF0YWwgZXJyb3I6IHBrZy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgI2luY2x1ZGUgPHBrZy5oPgorICAgICAgICAgICAgICAgICBeCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBjb25maWd1cmUuZC9jb25maWdfb3NfaGVhZGVycyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuZC9jb25maWdfb3NfaGVhZGVycyBiL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19oZWFkZXJzCitpbmRleCA3MDhhYTA5Li4wZGYzMmNhIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmQvY29uZmlnX29zX2hlYWRlcnMKKysrKyBiL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19oZWFkZXJzCitAQCAtNDgyLDggKzQ4Miw4IEBAIHRoZW4KKyAgICAgdW5zZXQgYWNfY3ZfaGVhZGVyX3BrZ19oCisgICAgIG5ldHNubXBfc2F2ZV9DUFBGTEFHUz0iJENQUEZMQUdTIgorICAgICBuZXRzbm1wX3NhdmVfTERGTEFHUz0iJExERkxBR1MiCistICAgIENQUEZMQUdTPSIkQ1BQRkxBR1MgLUkvdXNyL2xvY2FsL2luY2x1ZGUiCistICAgIExERkxBR1M9IiRMREZMQUdTIC1ML3Vzci9sb2NhbC9saWIiCisrICAgIENQUEZMQUdTPSIkQ1BQRkxBR1MiCisrICAgIExERkxBR1M9IiRMREZMQUdTIgorICAgICBBQ19DSEVDS19IRUFERVJTKHBrZy5oLAorICAgICAgICAgTkVUU05NUF9TRUFSQ0hfTElCUyhwa2dfaW5pdCwgcGtnLAorIAkgICAgQUNfREVGSU5FKEhBVkVfTElCUEtHLCAxLCBbZGVmaW5lIGlmIHlvdSBoYXZlIEJTRCBwa2ctbmddKSkpCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1jb25maWdfb3NfbGliczItRXJyb3ItRml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1jb25maWdfb3NfbGliczItRXJyb3ItRml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NjZhOTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC8wMDAxLWNvbmZpZ19vc19saWJzMi1FcnJvci1GaXgucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSBlMjRmY2QxNDBmM2Y2ZGQxOGZkODM2YjE5N2M2ZDRiYjc3M2U1MGU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP1JhZmE9QzM9QUJsPTIwQ2Fycj1DMz1BOT89IDxmdW5tYW5AdmlkZW9sYW4ub3JnPgorRGF0ZTogV2VkLCA0IE5vdiAyMDE1IDE2OjQ5OjMwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ19vc19saWJzMjogRXJyb3IgRml4CisKK0VSUk9SOiBUaGlzIGF1dG9jb25mIGxvZyBpbmRpY2F0ZXMgZXJyb3JzLCBpdCBsb29rZWQgYXQgaG9zdCBpbmNsdWRlCithbmQvb3IgbGlicmFyeSBwYXRocyB3aGlsZSBkZXRlcm1pbmluZyBzeXN0ZW0gY2FwYWJpbGl0aWVzLgorLS0tCisgY29uZmlndXJlLmQvY29uZmlnX29zX2xpYnMyIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19saWJzMiBiL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19saWJzMgoraW5kZXggNDc0OTFlMi4uZTM2NDdmOSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19saWJzMgorKysrIGIvY29uZmlndXJlLmQvY29uZmlnX29zX2xpYnMyCitAQCAtMjI2LDEwICsyMjYsMTAgQEAgaWYgdGVzdCAieCR3aXRoX25sIiAhPSAieG5vIjsgdGhlbgorICAgICBjYXNlICR0YXJnZXRfb3MgaW4KKyAgICAgbGludXgqKSAjIENoZWNrIGZvciBsaWJubCAobGludXgpCisgICAgICAgICBuZXRzbm1wX3NhdmVfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKy0gICAgICAgIENQUEZMQUdTPSItSS91c3IvaW5jbHVkZS9saWJubDMgJENQUEZMQUdTIgorKyAgICAgICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKyAgICAgICAgIE5FVFNOTVBfU0VBUkNIX0xJQlMobmxfY29ubmVjdCwgbmwtMywKKyAgICAgICAgICAgICBbQUNfQ0hFQ0tfSEVBREVSUyhuZXRsaW5rL25ldGxpbmsuaCkKKy0gICAgICAgICAgICBFWFRFUk5BTF9NSUJHUk9VUF9JTkNMVURFUz0iJEVYVEVSTkFMX01JQkdST1VQX0lOQ0xVREVTIC1JL3Vzci9pbmNsdWRlL2xpYm5sMyJdLAorKyAgICAgICAgICAgIEVYVEVSTkFMX01JQkdST1VQX0lOQ0xVREVTPSIkRVhURVJOQUxfTUlCR1JPVVBfSU5DTFVERVMiXSwKKyAgICAgICAgICAgICBbQ1BQRkxBR1M9IiRuZXRzbm1wX3NhdmVfQ1BQRkxBR1MiXSwgW10sIFtdLCBbTE1JQkxJQlNdKQorICAgICAgICAgaWYgdGVzdCAieCRhY19jdl9oZWFkZXJfbmV0bGlua19uZXRsaW5rX2giICE9IHh5ZXM7IHRoZW4KKyAgICAgICAgICAgICBORVRTTk1QX1NFQVJDSF9MSUJTKG5sX2Nvbm5lY3QsIG5sLCBbCistLSAKKzIuNS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wLzAwMDEtc25tcGxpYi1rZXl0b29scy5jLURvbi10LWNoZWNrLWZvci1yZXR1cm4tZnJvbS1FVlBfTS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wLzAwMDEtc25tcGxpYi1rZXl0b29scy5jLURvbi10LWNoZWNrLWZvci1yZXR1cm4tZnJvbS1FVlBfTS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjI0MmZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1zbm1wbGliLWtleXRvb2xzLmMtRG9uLXQtY2hlY2stZm9yLXJldHVybi1mcm9tLUVWUF9NLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gZDMwMjdhMjI3YmMwZjYwM2E1YjY1MGQwMWY5N2VlMWRlYzUxNWJlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE4IFNlcCAyMDE1IDAwOjI4OjQ1IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIHNubXBsaWIva2V5dG9vbHMuYzogRG9uJ3QgY2hlY2sgZm9yIHJldHVybiBmcm9tCisgRVZQX01EX0NUWF9pbml0KCkKKworRVZQX01EX0NUWF9pbml0KCkgQVBJIHJldHVybnMgdm9pZCwgaXQgZml4ZXMgZXJyb3JzIHdpdGggbmV3IGNvbXBpbGVycworCitzbm1wbGliL2tleXRvb2xzLmM6IEluIGZ1bmN0aW9uICdnZW5lcmF0ZV9LdSc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB2b2lkIGV4cHJlc3Npb24KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vc291cmNlZm9yZ2UubmV0L3AvbmV0LXNubXAvcGF0Y2hlcy8xMzE3L10KKyBzbm1wbGliL2tleXRvb2xzLmMgfCAzICstLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NubXBsaWIva2V5dG9vbHMuYyBiL3NubXBsaWIva2V5dG9vbHMuYworaW5kZXggMGNjYjNhNi4uODgwZmMxNCAxMDA2NDQKKy0tLSBhL3NubXBsaWIva2V5dG9vbHMuYworKysrIGIvc25tcGxpYi9rZXl0b29scy5jCitAQCAtMTUzLDggKzE1Myw3IEBAIGdlbmVyYXRlX0t1KGNvbnN0IG9pZCAqIGhhc2h0eXBlLCB1X2ludCBoYXNodHlwZV9sZW4sCisgICAgIGN0eCA9IEVWUF9NRF9DVFhfY3JlYXRlKCk7CisgI2Vsc2UKKyAgICAgY3R4ID0gbWFsbG9jKHNpemVvZigqY3R4KSk7CistICAgIGlmICghRVZQX01EX0NUWF9pbml0KGN0eCkpCistICAgICAgICByZXR1cm4gU05NUEVSUl9HRU5FUlI7CisrICAgIEVWUF9NRF9DVFhfaW5pdChjdHgpOworICNlbmRpZgorICNpZm5kZWYgTkVUU05NUF9ESVNBQkxFX01ENQorICAgICBpZiAoSVNUUkFOU0ZPUk0oaGFzaHR5cGUsIEhNQUNNRDVBdXRoKSkgeworLS0gCisyLjUuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9kb250LXJldHVybi1pbmNvbXBsZXRlbHktcGFyc2VkLXZhcmJpbmRzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvZG9udC1yZXR1cm4taW5jb21wbGV0ZWx5LXBhcnNlZC12YXJiaW5kcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmQwZjkzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvZG9udC1yZXR1cm4taW5jb21wbGV0ZWx5LXBhcnNlZC12YXJiaW5kcy5wYXRjaApAQCAtMCwwICsxLDEzMSBAQAorRnJvbSA2YjkzZTY4NmJkYjZhOTA4ZDAwNTk1NjA4NjQ2YTA1NTI3YTUzMjZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCAyMSBBdWcgMjAxNSAxMjozOToxMiArMDkwMAorU3ViamVjdDogW1BBVENIXSB0aGUgc25tcF9wZHVfcGFyc2UoKSBmdW5jdGlvbiBjb3VsZCBsZWF2ZSBpbmNvbXBsZXRlbHkgcGFyc2VkCisgdmFyQmluZCB2YXJpYWJsZXMgaW4gdGhlIGxpc3Qgb2YgdmFyaWFibGVzIGluIGNhc2UgdGhlIHBhcnNpbmcgb2YgdGhlIFNOTVAKKyBQRFUgZmFpbGVkLiBJZiBsYXRlciBwcm9jZXNzaW5nIHRyaWVzIHRvIG9wZXJhdGUgb24gdGhlIHN0YWxlIGFuZAorIGluY29tcGxldGVseSBwcm9jZXNzZWQgdmFyQmluZCAoZS5nLiB3aGVuIHByaW50aW5nIHRoZSB2YXJpYWJsZXMpLCB0aGlzIGNhbgorIGxlYWQgdG8gZS5nLiBjcmFzaGVzIG9yLCBwb3NzaWJseSwgZXhlY3V0aW9uIG9mIGFyYml0cmFyeSBjb2RlCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW25ldC1zbm1wXQorCitXcml0dGVuLWJ5OiBSb2JlcnQgU3RvcnkKKy0tLQorIHNubXBsaWIvc25tcF9hcGkuYyB8IDUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc25tcGxpYi9zbm1wX2FwaS5jIGIvc25tcGxpYi9zbm1wX2FwaS5jCitpbmRleCAxOTFkZWJmLi4xNWEyZDM5IDEwMDY0NAorLS0tIGEvc25tcGxpYi9zbm1wX2FwaS5jCisrKysgYi9zbm1wbGliL3NubXBfYXBpLmMKK0BAIC00MzUwLDEwICs0MzUwLDkgQEAgc25tcF9wZHVfcGFyc2UobmV0c25tcF9wZHUgKnBkdSwgdV9jaGFyICogZGF0YSwgc2l6ZV90ICogbGVuZ3RoKQorICAgICB1X2NoYXIgICAgICAgICAgdHlwZTsKKyAgICAgdV9jaGFyICAgICAgICAgIG1zZ190eXBlOworICAgICB1X2NoYXIgICAgICAgICAqdmFyX3ZhbDsKKy0gICAgaW50ICAgICAgICAgICAgIGJhZHR5cGUgPSAwOworICAgICBzaXplX3QgICAgICAgICAgbGVuOworICAgICBzaXplX3QgICAgICAgICAgZm91cjsKKy0gICAgbmV0c25tcF92YXJpYWJsZV9saXN0ICp2cCA9IE5VTEw7CisrICAgIG5ldHNubXBfdmFyaWFibGVfbGlzdCAqdnAgPSBOVUxMLCAqdnBsYXN0ID0gTlVMTDsKKyAgICAgb2lkICAgICAgICAgICAgIG9iamlkW01BWF9PSURfTEVOXTsKKyAgICAgdV9jaGFyICAgICAgICAgKnA7CisgCitAQCAtNDQ5MywzMSArNDQ5MiwxNyBAQCBzbm1wX3BkdV9wYXJzZShuZXRzbm1wX3BkdSAqcGR1LCB1X2NoYXIgKiBkYXRhLCBzaXplX3QgKiBsZW5ndGgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEFTTl9TRVFVRU5DRSB8IEFTTl9DT05TVFJVQ1RPUiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhcmJpbmRzIik7CisgICAgIGlmIChkYXRhID09IE5VTEwpCistICAgICAgICByZXR1cm4gLTE7CisrICAgICAgICBnb3RvIGZhaWw7CisgCisgICAgIC8qCisgICAgICAqIGdldCBlYWNoIHZhckJpbmQgc2VxdWVuY2UgCisgICAgICAqLworICAgICB3aGlsZSAoKGludCkgKmxlbmd0aCA+IDApIHsKKy0gICAgICAgIG5ldHNubXBfdmFyaWFibGVfbGlzdCAqdnB0ZW1wOworLSAgICAgICAgdnB0ZW1wID0gKG5ldHNubXBfdmFyaWFibGVfbGlzdCAqKSBtYWxsb2Moc2l6ZW9mKCp2cHRlbXApKTsKKy0gICAgICAgIGlmIChOVUxMID09IHZwdGVtcCkgeworLSAgICAgICAgICAgIHJldHVybiAtMTsKKy0gICAgICAgIH0KKy0gICAgICAgIGlmIChOVUxMID09IHZwKSB7CistICAgICAgICAgICAgcGR1LT52YXJpYWJsZXMgPSB2cHRlbXA7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgIHZwLT5uZXh0X3ZhcmlhYmxlID0gdnB0ZW1wOworLSAgICAgICAgfQorLSAgICAgICAgdnAgPSB2cHRlbXA7CisrICAgICAgICB2cCA9IFNOTVBfTUFMTE9DX1RZUEVERUYobmV0c25tcF92YXJpYWJsZV9saXN0KTsKKysgICAgICAgIGlmIChOVUxMID09IHZwKQorKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAKKy0gICAgICAgIHZwLT5uZXh0X3ZhcmlhYmxlID0gTlVMTDsKKy0gICAgICAgIHZwLT52YWwuc3RyaW5nID0gTlVMTDsKKyAgICAgICAgIHZwLT5uYW1lX2xlbmd0aCA9IE1BWF9PSURfTEVOOworLSAgICAgICAgdnAtPm5hbWUgPSBOVUxMOworLSAgICAgICAgdnAtPmluZGV4ID0gMDsKKy0gICAgICAgIHZwLT5kYXRhID0gTlVMTDsKKy0gICAgICAgIHZwLT5kYXRhRnJlZUhvb2sgPSBOVUxMOworICAgICAgICAgREVCVUdEVU1QU0VDVElPTigicmVjdiIsICJWYXJCaW5kIik7CisgICAgICAgICBkYXRhID0gc25tcF9wYXJzZV92YXJfb3AoZGF0YSwgb2JqaWQsICZ2cC0+bmFtZV9sZW5ndGgsICZ2cC0+dHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnAtPnZhbF9sZW4sICZ2YXJfdmFsLCBsZW5ndGgpOworQEAgLTQ2MDQsNyArNDU4OSw3IEBAIHNubXBfcGR1X3BhcnNlKG5ldHNubXBfcGR1ICpwZHUsIHVfY2hhciAqIGRhdGEsIHNpemVfdCAqIGxlbmd0aCkKKyAgICAgICAgICAgICAgICAgdnAtPnZhbC5zdHJpbmcgPSAodV9jaGFyICopIG1hbGxvYyh2cC0+dmFsX2xlbik7CisgICAgICAgICAgICAgfQorICAgICAgICAgICAgIGlmICh2cC0+dmFsLnN0cmluZyA9PSBOVUxMKSB7CistICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKysgICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBwID0gYXNuX3BhcnNlX3N0cmluZyh2YXJfdmFsLCAmbGVuLCAmdnAtPnR5cGUsIHZwLT52YWwuc3RyaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZwLT52YWxfbGVuKTsKK0BAIC00NjE5LDcgKzQ2MDQsNyBAQCBzbm1wX3BkdV9wYXJzZShuZXRzbm1wX3BkdSAqcGR1LCB1X2NoYXIgKiBkYXRhLCBzaXplX3QgKiBsZW5ndGgpCisgICAgICAgICAgICAgdnAtPnZhbF9sZW4gKj0gc2l6ZW9mKG9pZCk7CisgICAgICAgICAgICAgdnAtPnZhbC5vYmppZCA9IChvaWQgKikgbWFsbG9jKHZwLT52YWxfbGVuKTsKKyAgICAgICAgICAgICBpZiAodnAtPnZhbC5vYmppZCA9PSBOVUxMKSB7CistICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKysgICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBtZW1tb3ZlKHZwLT52YWwub2JqaWQsIG9iamlkLCB2cC0+dmFsX2xlbik7CisgICAgICAgICAgICAgYnJlYWs7CitAQCAtNDYzMSw3ICs0NjE2LDcgQEAgc25tcF9wZHVfcGFyc2UobmV0c25tcF9wZHUgKnBkdSwgdV9jaGFyICogZGF0YSwgc2l6ZV90ICogbGVuZ3RoKQorICAgICAgICAgY2FzZSBBU05fQklUX1NUUjoKKyAgICAgICAgICAgICB2cC0+dmFsLmJpdHN0cmluZyA9ICh1X2NoYXIgKikgbWFsbG9jKHZwLT52YWxfbGVuKTsKKyAgICAgICAgICAgICBpZiAodnAtPnZhbC5iaXRzdHJpbmcgPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisrICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgcCA9IGFzbl9wYXJzZV9iaXRzdHJpbmcodmFyX3ZhbCwgJmxlbiwgJnZwLT50eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnAtPnZhbC5iaXRzdHJpbmcsICZ2cC0+dmFsX2xlbik7CitAQCAtNDY0MCwxMiArNDYyNSwzMCBAQCBzbm1wX3BkdV9wYXJzZShuZXRzbm1wX3BkdSAqcGR1LCB1X2NoYXIgKiBkYXRhLCBzaXplX3QgKiBsZW5ndGgpCisgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgIHNubXBfbG9nKExPR19FUlIsICJiYWQgdHlwZSByZXR1cm5lZCAoJXgpXG4iLCB2cC0+dHlwZSk7CistICAgICAgICAgICAgYmFkdHlwZSA9IC0xOworKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIH0KKyAgICAgICAgIERFQlVHSU5ERU5UQUREKC00KTsKKysKKysgICAgICAgIGlmIChOVUxMID09IHZwbGFzdCkgeworKyAgICAgICAgICAgIHBkdS0+dmFyaWFibGVzID0gdnA7CisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgIHZwbGFzdC0+bmV4dF92YXJpYWJsZSA9IHZwOworKyAgICAgICAgfQorKyAgICAgICAgdnBsYXN0ID0gdnA7CisrICAgICAgICB2cCA9IE5VTEw7CisrCisgICAgIH0KKy0gICAgcmV0dXJuIGJhZHR5cGU7CisrICAgIHJldHVybiAwOworKworKyAgZmFpbDoKKysgICAgREVCVUdNU0dUTCgoInJlY3YiLCAiZXJyb3Igd2hpbGUgcGFyc2luZyBWYXJCaW5kTGlzdFxuIikpOworKyAgICAvKiogaWYgd2Ugd2VyZSBwYXJzaW5nIGEgdmFyLCByZW1vdmUgaXQgZnJvbSB0aGUgcGR1IGFuZCBmcmVlIGl0ICovCisrICAgIGlmICh2cCkKKysgICAgICAgIHNubXBfZnJlZV92YXIodnApOworKworKyAgICByZXR1cm4gLTE7CisrCisgfQorIAorIC8qCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvZml4LWxpYnRvb2wtZmluaXNoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvZml4LWxpYnRvb2wtZmluaXNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNjBjM2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9maXgtbGlidG9vbC1maW5pc2gucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorTElCX0xEQ09ORklHX0NNRCBmYWlsZWQgc2luY2UgaXQgaXMgdXNpbmcgYSBob3N0IGRpciAkKGxpYmRpcikKK3doaWNoIGlzIC91c3IvbGliNjQgZG9lcyBub3QgZXhpc3Qgb24gaG9zdCB3aGVuIGNvbXBpbGUgNjRiaXQKK2ltYWdlLgorCitJbiBmYWN0LCBjb25maWd1cmluZyBkeW5hbWljIGxpbmtlciBydW4tdGltZSBiaW5kaW5ncyBpcyBtZWFuaW5nbGVzcworYXQgdGhpcyBzdGVwLCAgSWYgaXQgaXMgbmVlZGVkLCBQb2t5IHdvdWxkIHdyaXRlIGxkY29uZmlnIHNjcmlwdHMgdG8KK3JwbS1wb3N0aW5zdCBmb3IgZWFjaCByZWNpcGUgd2hpbGUgZG9fcGFja2FnZSwgaW4gcGFja2FnZS5iYmNsYXNzLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Nyb3NzIGNvbXBpbGUgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IFJveS5MaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorZGlmZiAtLWdpdCBhL01ha2VmaWxlLnRvcCBiL01ha2VmaWxlLnRvcAoraW5kZXggODYyZmI5NC4uZWQ3ZGNmYyAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLnRvcAorKysrIGIvTWFrZWZpbGUudG9wCitAQCAtODYsNyArODYsNyBAQCBMSUJSRVZJU0lPTiA9IDIKKyBMSUJfTERfQ01EICAgICAgPSAkKExJQlRPT0wpIC0tbW9kZT1saW5rICQoTElOS0NDKSAkKENGTEFHUykgLXJwYXRoICQobGliZGlyKSAtdmVyc2lvbi1pbmZvICQoTElCQ1VSUkVOVCk6JChMSUJSRVZJU0lPTik6JChMSUJBR0UpIC1vCisgTElCX0VYVEVOU0lPTiAgID0gbGEKKyBMSUJfVkVSU0lPTiAgICAgPQorLUxJQl9MRENPTkZJR19DTUQgPSAkKExJQlRPT0wpIC0tbW9kZT1maW5pc2ggJChJTlNUQUxMX1BSRUZJWCkkKGxpYmRpcikKKytMSUJfTERDT05GSUdfQ01EID0gZWNobyAiZG8gbm90IGxkY29uZmlnXG4iCisgTElOSwkJPSAkKExJQlRPT0wpIC0tbW9kZT1saW5rICQoTElOS0NDKQorICMgUkFOTElCIAk9IEBSQU5MSUJACisgUkFOTElCCQk9IDoKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL25ldC1zbm1wLWFkZC1rbm9iLXdoZXRoZXItbmxpc3QuaC1hcmUtY2hlY2tlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL25ldC1zbm1wLWFkZC1rbm9iLXdoZXRoZXItbmxpc3QuaC1hcmUtY2hlY2tlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NGIwYzEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvbmV0LXNubXAtYWRkLWtub2Itd2hldGhlci1ubGlzdC5oLWFyZS1jaGVja2VkLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK25ldC1zbm1wOiBhZGQga25vYiB3aGV0aGVyIG5saXN0LmggYXJlIGNoZWNrZWQKKworUHJldmlvdXNseSwgaXQgc3RpbGwgd2FzIGNoZWNrZWQgd2hlbiB0aGVyZSB3YXMgbm8gbmxpc2guaCBpbiBzeXNyb290cyBkaXJlY3RvcnkuCitBZGQga25vYiB0byBkZWNpZGUgd2hldGhlciBubGlzdC5oIGFyZSBjaGVja2VkIG9yIG5vdC4KKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IENob25nIEx1IDxDaG9uZy5MdUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmQvY29uZmlnX29zX2hlYWRlcnMgfCAgICAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmQvY29uZmlnX29zX2hlYWRlcnMgYi9jb25maWd1cmUuZC9jb25maWdfb3NfaGVhZGVycworaW5kZXggZDkwM2Y1OC4uYTA1ZDMwZSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19oZWFkZXJzCisrKysgYi9jb25maWd1cmUuZC9jb25maWdfb3NfaGVhZGVycworQEAgLTMxLDYgKzMxLDcgQEAgQUNfQ0hFQ0tfSEVBREVSUyhbZ2V0b3B0LmggICBwdGhyZWFkLmggIHJlZ2V4LmggICAgICBdIGRubAorICAgICAgICAgICAgICAgICAgW3N5cy91bi5oICAgICAgICAgICBdKQorIAorICMgIExpYnJhcnkgYW5kIEFnZW50OgorK2lmIHRlc3QgIngkd2l0aF9lbGYiICE9ICJ4bm8iOyB0aGVuCisgQUNfQ0hFQ0tfSEVBREVSUyhbbmxpc3QuaF0sLCxbCisgQUNfSU5DTFVERVNfREVGQVVMVAorIFsKK0BAIC0zOCw2ICszOSw3IEBAIEFDX0lOQ0xVREVTX0RFRkFVTFQKKyAjZGVmaW5lIExJQkJTRF9ESVNBQkxFX0RFUFJFQ0FURUQgMQorICNlbmRpZgorIF1dKQorK2ZpCisgCisgIyAgTGlicmFyeToKKyBBQ19DSEVDS19IRUFERVJTKFtmY250bC5oICAgIGlvLmggICAgICAga3N0YXQuaCAgICAgICAgICAgICAgICAgXSBkbmwKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9uZXQtc25tcC10ZXN0aW5nLWFkZC10aGUtb3V0cHV0LWZvcm1hdC1mb3ItcHRlc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9uZXQtc25tcC10ZXN0aW5nLWFkZC10aGUtb3V0cHV0LWZvcm1hdC1mb3ItcHRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZiMTliMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL25ldC1zbm1wLXRlc3RpbmctYWRkLXRoZS1vdXRwdXQtZm9ybWF0LWZvci1wdGVzdC5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDRiYjQwMjRiMzk1ZjE5ZDM2YWIzNTY5ZTI3NzNlYTgwZDhjYzUyNjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCAxNCBKYW4gMjAxNSAxNToxMDowNiArMDgwMAorU3ViamVjdDogW1BBVENIXSB0ZXN0aW5nOiBhZGQgdGhlIG91dHB1dCBmb3JtYXQgZm9yIHB0ZXN0CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyB0ZXN0aW5nL1JVTlRFU1RTIHwgICAgNCArKysrCisgMSBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0aW5nL1JVTlRFU1RTIGIvdGVzdGluZy9SVU5URVNUUworaW5kZXggZTExYzk2OS4uZmI5MGY3NiAxMDA3NTUKKy0tLSBhL3Rlc3RpbmcvUlVOVEVTVFMKKysrKyBiL3Rlc3RpbmcvUlVOVEVTVFMKK0BAIC0yNSwxMyArMjUsMTcgQEAgZmFpbGVkX2NvdW50PTAKKyBybSAtZiBmYWlsZWRfdGVzdHMKKyBmb3IgaSBpbiAiJHtzcmNkaXJ9Ii90ZXN0aW5nL2Z1bGx0ZXN0cy9kZWZhdWx0L1QqJDEqOyBkbworICAgICBlY2hvICJSVU5OSU5HICRpIgorKyAgICB0ZXN0X25hbWU9YGJhc2VuYW1lICRpYAorICAgICAke3NyY2Rpcn0vdGVzdGluZy9mdWxsdGVzdHMvc3VwcG9ydC9zaW1wbGVfcnVuICRpCisgICAgIGlmIFsgJD8gPSAwIF07IHRoZW4KKysgICAgICAgIGVjaG8gIlBBU1M6ICR0ZXN0X25hbWUiCisgICAgICAgICBzdWNjZXNzX2NvdW50PWBleHByICRzdWNjZXNzX2NvdW50ICsgMWAKKyAgICAgZWxzZQorKyAgICAgICAgZWNobyAiRkFJTDogJHRlc3RfbmFtZSIKKyAgICAgICAgIGZhaWxlZF9jb3VudD1gZXhwciAkZmFpbGVkX2NvdW50ICsgMWAKKyAgICAgICAgIGVjaG8gIiRpIiA+PiBmYWlsZWRfdGVzdHMKKyAgICAgZmkKKysgICAgZWNobworIGRvbmUKKyAKKyBpZiBbIC1mIGZhaWxlZF90ZXN0cyBdOyB0aGVuCistLSAKKzEuNy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMzM0MjE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsNCBAQAorIyEvYmluL3NoCisKK2NkIHRlc3RpbmcKKy4vUlVOVEVTVFMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL3NubXBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9zbm1wZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0NzY4M2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9zbm1wZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTMgQEAKK1tVbml0XQorRGVzY3JpcHRpb249U2ltcGxlIE5ldHdvcmsgTWFuYWdlbWVudCBQcm90b2NvbCAoU05NUCkgRGFlbW9uLgorQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9bm90aWZ5CitFbnZpcm9ubWVudD1PUFRJT05TPSItTHMwLTZkIgorRW52aXJvbm1lbnRGaWxlPS0vZXRjL2RlZmF1bHQvc25tcGQKK0V4ZWNTdGFydD0vdXNyL3NiaW4vc25tcGQgJE9QVElPTlMgLWEgLWYKK0V4ZWNSZWxvYWQ9L2Jpbi9raWxsIC1IVVAgJE1BSU5QSUQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvc25tcHRyYXBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9zbm1wdHJhcGQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTFmOWYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvc25tcHRyYXBkLnNlcnZpY2UKQEAgLTAsMCArMSwxMyBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1TaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sIChTTk1QKSBUcmFwIERhZW1vbi4KK0FmdGVyPXN5c2xvZy50YXJnZXQgbmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPW5vdGlmeQorRW52aXJvbm1lbnQ9T1BUSU9OUz0iLUxzZCIKK0Vudmlyb25tZW50RmlsZT0tL2V0Yy9kZWZhdWx0L3NubXB0cmFwZAorRXhlY1N0YXJ0PS91c3Ivc2Jpbi9zbm1wdHJhcGQgJE9QVElPTlMgLWYKK0V4ZWNSZWxvYWQ9L2Jpbi9raWxsIC1IVVAgJE1BSU5QSUQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvc3lzdGVtZC1zdXBwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvc3lzdGVtZC1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2YWY4YzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9zeXN0ZW1kLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwxNjUyIEBACitGcm9tIDBjYWQwYzZjMzZhZjJhMmQ1ODk1NjM4MDRjOWVkMmIzN2I3MDg1ZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBGcmksIDIxIEF1ZyAyMDE1IDE0OjM3OjAyICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIHlzdGVtZCBzdXBwb3J0IGJhY2twb3J0ZWQgZnJvbSB0aGUgbWFzdGVyIGJyYW5jaCBhcyBvZgorIDIzLzA0LzIwMTIgKHBvc3QgNS43LjEsIHByZSA1LjgpLgorCitUaGUgZm9sbG93aW5nIGNvbW1pdHMgaGF2ZSBiZWVuIGNoZXJyeS1waWNrZWQ6CisKKzE5NDk5YzNjOTBiZjlkN2IyYjllNWQwOGJhYTI2Y2M2YmJhMjhhMTEKK2ZlZjZjZGRmZGI5NGRhMWE2YjFmYjc2OGFmNjI5MThiODBmMTFmZDMKKzA2NDFlNDNjNjk0YzQ4NWNiYmZmZWYwNTU2ZWZjNDY0MWJkM2ZmNTAKKzc2NTMwYTg5ZjFjOGJiZDBiNjNhY2NlNjNlMTBkNWQ0ODEyYTFhMTYgKGNvbmZsaWN0IHJlc29sdmVkKQorYmYxMDhkN2YxMzU0ZjYyNzZmYzQzYzEyOTk2M2YyYzQ5YjlmYzI0MgorMzY5Mjg3NTE3MjM1MmY3MmNmM2FmZDBkMzVmMzU1ZTgzZDdlNDIxYgorNzQ0MTI3NDgwNjdjNjg1ZTFkOGFiNmVkM2JjYzNjYTljMjc3NDg0NAorODYxMzJlM2YxZTZlZjdiNGUwYjk2ZDhmYTI0ZTM3YzgxYjcxYjBlMAorNjM1NTdjZjg5ODZhMzNkYmExZDQ0MjliNTgzYTkwMTM2MTA1MmM0ZgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IFRob21hcyBGaXR6c2ltbW9ucyA8Zml0enNpbUBjaXNjby5jb20+CistLS0KKyBSRUFETUUuc3lzdGVtZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDEgKysrCisgYWdlbnQvc25tcGQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMzICstCisgYXBwcy9zbm1wdHJhcGQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMyICstCisgY29uZmlndXJlLmQvY29uZmlnX21vZHVsZXNfbGliICAgICAgICAgICAgIHwgICA4ICsKKyBjb25maWd1cmUuZC9jb25maWdfcHJvamVjdF93aXRoX2VuYWJsZSAgICAgfCAgIDkgKworIGRpc3Qvc25tcGQuc2VydmljICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxOCArCisgZGlzdC9zbm1wZC5zb2NrZXQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE3ICsKKyBkaXN0L3NubXB0cmFwZC5zZXJ2aWNlICAgICAgICAgICAgICAgICAgICAgfCAgMTYgKworIGRpc3Qvc25tcHRyYXBkLnNvY2tldCAgICAgICAgICAgICAgICAgICAgICB8ICAxNCArCisgaW5jbHVkZS9uZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oICAgICAgIHwgMjkwICsrKysrKysrKysrKysrKysKKyBzbm1wbGliL3NkLWRhZW1vbi5jICAgICAgICAgICAgICAgICAgICAgICAgfCA1MzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBzbm1wbGliL3RyYW5zcG9ydHMvc25tcFRDUERvbWFpbi5jICAgICAgICAgfCAgNDMgKystCisgc25tcGxpYi90cmFuc3BvcnRzL3NubXBUQ1BJUHY2RG9tYWluLmMgICAgIHwgIDQ2ICsrLQorIHNubXBsaWIvdHJhbnNwb3J0cy9zbm1wVURQSVB2NEJhc2VEb21haW4uYyB8ICAzMyArLQorIHNubXBsaWIvdHJhbnNwb3J0cy9zbm1wVURQSVB2NkRvbWFpbi5jICAgICB8ICAzNCArLQorIHNubXBsaWIvdHJhbnNwb3J0cy9zbm1wVW5peERvbWFpbi5jICAgICAgICB8ICA2NiArKy0tCisgd2luMzIvbGlic25tcC9NYWtlZmlsZS5pbiAgICAgICAgICAgICAgICAgIHwgICA2ICsKKyB3aW4zMi9uZXQtc25tcC9uZXQtc25tcC1jb25maWcuaCAgICAgICAgICAgfCAgIDIgKworIHdpbjMyL25ldC1zbm1wL25ldC1zbm1wLWNvbmZpZy5oLmluICAgICAgICB8ICAgMiArCisgMTkgZmlsZXMgY2hhbmdlZCwgMTE3NiBpbnNlcnRpb25zKCspLCA2NiBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgUkVBRE1FLnN5c3RlbWQKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZGlzdC9zbm1wZC5zZXJ2aWMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZGlzdC9zbm1wZC5zb2NrZXQKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZGlzdC9zbm1wdHJhcGQuc2VydmljZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBkaXN0L3NubXB0cmFwZC5zb2NrZXQKKyBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9uZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHNubXBsaWIvc2QtZGFlbW9uLmMKKworZGlmZiAtLWdpdCBhL1JFQURNRS5zeXN0ZW1kIGIvUkVBRE1FLnN5c3RlbWQKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5kYmExNWQxCistLS0gL2Rldi9udWxsCisrKysgYi9SRUFETUUuc3lzdGVtZAorQEAgLTAsMCArMSw0MSBAQAorK1JFQURNRS5zeXN0ZW1kCisrLS0tLS0tLS0tLS0tLS0KKytOZXQtU05NUCBwcm92aWRlcyB0d28gZGFlbW9ucywgd2hpY2ggc3VwcG9ydCBzeXN0ZW1kIHN5c3RlbSBtYW5hZ2VyLgorK1NlZSBodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL3N5c3RlbWQgdG8gbGVhcm4gaG93Cisrc3lzdGVtZCB3b3Jrcy4gQm90aCBzb2NrZXQgYWN0aXZhdGlvbiBhbmQgbm90aWZpY2F0aW9uIGlzIHN1cHBvcnRlZCBieSB0aGVzZQorK2RhZW1vbnMuCisrCisrVG8gZW5hYmxlIHN5c3RlbWQgc3VwcG9ydCwgdGhlIHNvdXJjZXMgbXVzdCBiZSBjb21waWxlZCB3aXRoCisrLS13aXRoLXN5c3RlbWQgY29uZmlndXJlIG9wdGlvbi4KKysKKytzbm1wZCAtIFRoZSBTTk1QIGFnZW50CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK1NvY2tldCBhY3RpdmF0aW9uIG9kIHNubXBkIGRhZW1vbiBpcyBpbXBsZW1lbnRlZCwgYnV0IGl0J3MgZGlzY291cmFnZWQuCisrVGhlIHJlYXNvbiBpcyBzaW1wbGUgLSBzbm1wZCBub3Qgb25seSBsaXN0ZW5zIGFuZCBwcm9jZXNzZXMgU05NUCByZXF1ZXN0cworK2Zyb20gbmV0d29yaywgYnV0IGFsc28gZ2F0aGVycyBzeXN0ZW0gc3RhdGlzdGljcyBjb3VudGVycywgc2VuZHMgdHJhcHMgYW5kCisrY29tbXVuaWNhdGVzIHdpdGggc3ViYWdlbnRzLiBJdCBldmVuIG9wZW5zIGZldyBuZXRsaW5rIHNvY2tldHMuCisrCisrSW4gb3RoZXIgd29yZHMsIHNubXBkIHNob3VsZCBydW4gZnJvbSBzeXN0ZW0gc3RhcnQgdG8gcHJvcGVybHkgd29yay4KKytUaGlzIGNhbiBiZSBkb25lIGluIHR3byB3YXlzOgorKzEpIGVpdGhlciBhcyBzbm1wZCBzZXJ2aWNlIHVuaXQgd2l0aCAnVHlwZT1ub3RpZmljYXRpb24nIGFuZCB3aXRob3V0IGEgc29ja2V0CisrICAgdW5pdAorKzIpIG9yIGFzIHNubXBkIHNlcnZpY2UgdW5pdCB3aXRoICdUeXBlPXNpbXBsZScsIGFwcHJvcHJpYXRlIHNvY2tldCBzb2NrZXQgdW5pdAorKyAgIGFuZCB0aGUgc25tcGQgc2VydmljZSBlbmFibGVkLiBUaGlzIHdheSBzeXN0ZW1kIGNyZWF0ZXMgdGhlIHNubXBkIGxpc3RlbmluZworKyAgIHNvY2tldCBlYXJseSBkdXJpbmcgYm9vdCBhbmQgcGFzc2VzIHRoZSBzb2NrZXRzIHRvIHNubXBkIHNsaWdodGx5IGxhdGVyCisrICAgKGJ1dCBzdGlsbCBkdXJpbmcgbWFjaGluZSBib290KS4gVGhpcyB3YXkgc3lzdGVtZCBjYW4gcGFyYWxlbGl6ZSBzdGFydCBvZgorKyAgIHNlcnZpY2VzLCB3aGljaCBkZXBlbmQgb24gc25tcGQuIEFkbWlucyBtdXN0IGFkanVzdCB0aGUgc29ja2V0IGZpbGUgbWFudWFsbHksCisrICAgZGVwZW5kaW5nIGlmIHRoZSBzbm1wZCBzdXBwb3J0IEFnZW50WCwgSVB2NiwgU01VWCBldGMuCisrCisrc25tcGQgc2hvdWxkIGJlIHN0YXJ0ZWQgd2l0aCAnLWYnIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXIgdG8gZGlzYWJsZSBmb3JraW5nIC0KKytzeXN0ZW1kIGRvZXMgdGhhdCBmb3IgdXMgYXV0b21hdGljYWxseS4KKysKKysKKytzbm1wdHJhcGQgLSBUaGUgdHJhcCBwcm9jZXNzaW5nIGRhZW1vbgorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrc25tcHRyYXBkIHN1cHBvcnRzIGZ1bGwgc29ja2V0IGFjdGl2YXRpb24gYW5kIGFsc28gbm90aWZpY2F0aW9uIChpZiBuZWVkZWQpLgorK0JvdGggJ1R5cGU9c2ltcGxlJyAod2l0aCBhcHByb3ByaWF0ZSBzb2NrZXQgdW5pdCkgYW5kICdUeXBlPW5vdGlmeScgc2VydmljZXMKKyt3aWxsIHdvcmsuIEFnYWluLCAnLWYnIHBhcmFtZXRlciBzaG91bGQgYmUgcHJvdmlkZWQgb24gc25tcHRyYXBkIGNvbW1hbmQgbGluZS4KKysKKytJZiBpbnRlZ3JhdGlvbiB3aXRoIFNOTVAgYWdlbnQgdXNpbmcgQWdlbnRYIHByb3RvY29sIGlzIGVuYWJsZWQsIHNubXB0cmFwZCBzaG91bGQKKytzdGFydCBkdXJpbmcgYm9vdCBhbmQgbm90IGFmdGVyIGZpcnN0IFNOTVAgdHJhcCBhcnJpdmVzLiBTYW1lIHJ1bGVzIGFzIGZvciBzbm1wZAorK2FwcGxpZXMgdGhlbi4KK2RpZmYgLS1naXQgYS9hZ2VudC9zbm1wZC5jIGIvYWdlbnQvc25tcGQuYworaW5kZXggY2ZjN2JjZS4uMTE2ZWU1YyAxMDA2NDQKKy0tLSBhL2FnZW50L3NubXBkLmMKKysrKyBiL2FnZW50L3NubXBkLmMKK0BAIC0xNjQsNiArMTY0LDEwIEBAIHR5cGVkZWYgbG9uZyAgICBmZF9tYXNrOworIAorICNlbmRpZgorIAorKyNpZm5kZWYgTkVUU05NUF9OT19TWVNURU1ECisrI2luY2x1ZGUgPG5ldC1zbm1wL2xpYnJhcnkvc2QtZGFlbW9uLmg+CisrI2VuZGlmCisrCisgbmV0c25tcF9mZWF0dXJlX3dhbnQobG9nZ2luZ19maWxlKQorIG5ldHNubXBfZmVhdHVyZV93YW50KGxvZ2dpbmdfc3RkaW8pCisgbmV0c25tcF9mZWF0dXJlX3dhbnQobG9nZ2luZ19zeXNsb2cpCitAQCAtNDQzLDE5ICs0NDcsMjkgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICBpbnQgICAgICAgICAgICAgYWdlbnRfbW9kZSA9IC0xOworICAgICBjaGFyICAgICAgICAgICAqcGlkX2ZpbGUgPSBOVUxMOworICAgICBjaGFyICAgICAgICAgICAgb3B0aW9uX2NvbXBhdGFiaWxpdHlbXSA9ICItTGUiOworKyNpZm5kZWYgV0lOMzIKKysgICAgaW50ICAgICAgICAgICAgIHByZXBhcmVkX3NvY2tldHMgPSAwOworKyNlbmRpZgorICNpZiBIQVZFX0dFVFBJRAorICAgICBpbnQgZmQ7CisgICAgIEZJTEUgICAgICAgICAgICpQSUQ7CisgI2VuZGlmCisgCisgI2lmbmRlZiBXSU4zMgorKyNpZm5kZWYgTkVUU05NUF9OT19TWVNURU1ECisrICAgIC8qIGNoZWNrIGlmIHN5c3RlbWQgaGFzIHNvY2tldHMgZm9yIHVzIGFuZCBkb24ndCBjbG9zZSB0aGVtICovCisrICAgIHByZXBhcmVkX3NvY2tldHMgPSBuZXRzbm1wX3NkX2xpc3Rlbl9mZHMoMCk7CisrI2VuZGlmIC8qIE5FVFNOTVBfTk9fU1lTVEVNRCAqLworKworICAgICAvKgorICAgICAgKiBjbG9zZSBhbGwgbm9uLXN0YW5kYXJkIGZpbGUgZGVzY3JpcHRvcnMgd2UgbWF5IGhhdmUKKyAgICAgICogaW5oZXJpdGVkIGZyb20gdGhlIHNoZWxsLgorICAgICAgKi8KKy0gICAgZm9yIChpID0gZ2V0ZHRhYmxlc2l6ZSgpIC0gMTsgaSA+IDI7IC0taSkgeworLSAgICAgICAgKHZvaWQpIGNsb3NlKGkpOworLSAgICB9CisrICAgIGlmICghcHJlcGFyZWRfc29ja2V0cykgeworKyAgICAgICAgZm9yIChpID0gZ2V0ZHRhYmxlc2l6ZSgpIC0gMTsgaSA+IDI7IC0taSkgeworKyAgICAgICAgICAgICh2b2lkKSBjbG9zZShpKTsKKysgICAgICAgIH0gICAgCisrfQorICNlbmRpZiAvKiAjV0lOMzIgKi8KKyAgICAgCisgICAgIC8qCitAQCAtMTEwNyw2ICsxMTIxLDE5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAgICAgbmV0c25tcF9hZGRyY2FjaGVfaW5pdGlhbGlzZSgpOworIAorICAgICAvKgorKyAgICAgKiBMZXQgc3lzdGVtZCBrbm93IHdlJ3JlIHVwLgorKyAgICAgKi8KKysjaWZuZGVmIE5FVFNOTVBfTk9fU1lTVEVNRAorKyAgICBuZXRzbm1wX3NkX25vdGlmeSgxLCAiUkVBRFk9MVxuIik7CisrICAgIGlmIChwcmVwYXJlZF9zb2NrZXRzKQorKyAgICAgICAgLyoKKysgICAgICAgICAqIENsZWFyIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgd2UgYWxyZWFkeSBwcm9jZXNzZWQgYWxsIHRoZSBzb2NrZXRzCisrICAgICAgICAgKiBieSBub3cuCisrICAgICAgICAgKi8KKysgICAgICAgIG5ldHNubXBfc2RfbGlzdGVuX2ZkcygxKTsKKysjZW5kaWYKKysKKysgICAgLyoKKyAgICAgICogRm9yZXZlciBtb25pdG9yIHRoZSBkZXN0X3BvcnQgZm9yIGluY29taW5nIFBEVXMuICAKKyAgICAgICovCisgICAgIERFQlVHTVNHVEwoKCJzbm1wZC9tYWluIiwgIldlJ3JlIHVwLiAgU3RhcnRpbmcgdG8gcHJvY2VzcyBkYXRhLlxuIikpOworZGlmZiAtLWdpdCBhL2FwcHMvc25tcHRyYXBkLmMgYi9hcHBzL3NubXB0cmFwZC5jCitpbmRleCBiY2UwZDQ3Li5jNmE3NGVjIDEwMDY0NAorLS0tIGEvYXBwcy9zbm1wdHJhcGQuYworKysrIGIvYXBwcy9zbm1wdHJhcGQuYworQEAgLTEyNSw2ICsxMjUsMTAgQEAgU09GVFdBUkUuCisgCisgI2luY2x1ZGUgPG5ldC1zbm1wL25ldC1zbm1wLWZlYXR1cmVzLmg+CisgCisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysjaW5jbHVkZSA8bmV0LXNubXAvbGlicmFyeS9zZC1kYWVtb24uaD4KKysjZW5kaWYKKysKKyAjaWZuZGVmIEJTRDRfMworICNkZWZpbmUgQlNENF8yCisgI2VuZGlmCitAQCAtNjU3LDE2ICs2NjEsMjUgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICBpbnQgICAgICAgICAgICAgYWdlbnR4X3N1YmFnZW50ID0gMTsKKyAjZW5kaWYKKyAgICAgbmV0c25tcF90cmFwZF9oYW5kbGVyICp0cmFwaDsKKysjaWZuZGVmIFdJTjMyCisrICAgIGludCAgICAgICAgICAgICBwcmVwYXJlZF9zb2NrZXRzID0gMDsKKysjZW5kaWYKKyAKKyAKKyAjaWZuZGVmIFdJTjMyCisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysgICAgLyogY2hlY2sgaWYgc3lzdGVtZCBoYXMgc29ja2V0cyBmb3IgdXMgYW5kIGRvbid0IGNsb3NlIHRoZW0gKi8KKysgICAgcHJlcGFyZWRfc29ja2V0cyA9IG5ldHNubXBfc2RfbGlzdGVuX2ZkcygwKTsKKysjZW5kaWYKKyAgICAgLyoKKyAgICAgICogY2xvc2UgYWxsIG5vbi1zdGFuZGFyZCBmaWxlIGRlc2NyaXB0b3JzIHdlIG1heSBoYXZlCisgICAgICAqIGluaGVyaXRlZCBmcm9tIHRoZSBzaGVsbC4KKyAgICAgICovCistICAgIGZvciAoaSA9IGdldGR0YWJsZXNpemUoKSAtIDE7IGkgPiAyOyAtLWkpIHsKKy0gICAgICAgICh2b2lkKSBjbG9zZShpKTsKKy0gICAgfQorKyAgICBpZiAoIXByZXBhcmVkX3NvY2tldHMpIHsKKysgICAgICAgIGZvciAoaSA9IGdldGR0YWJsZXNpemUoKSAtIDE7IGkgPiAyOyAtLWkpIHsKKysgICAgICAgICAgICAodm9pZCkgY2xvc2UoaSk7CisrICAgICAgICB9ICAgIAorK30KKyAjZW5kaWYgLyogI1dJTjMyICovCisgICAgIAorICNpZmRlZiBTSUdURVJNCitAQCAtMTMxOCw2ICsxMzMxLDE5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAjZW5kaWYKKyAjZW5kaWYKKyAKKysgICAgLyoKKysgICAgICogTGV0IHN5c3RlbWQga25vdyB3ZSdyZSB1cC4KKysgICAgICovCisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysgICAgbmV0c25tcF9zZF9ub3RpZnkoMSwgIlJFQURZPTFcbiIpOworKyAgICBpZiAocHJlcGFyZWRfc29ja2V0cykKKysgICAgICAgIC8qCisrICAgICAgICAgKiBDbGVhciB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsIHdlIGFscmVhZHkgcHJvY2Vzc2VkIGFsbCB0aGUgc29ja2V0cworKyAgICAgICAgICogYnkgbm93LgorKyAgICAgICAgICovCisrICAgICAgICBuZXRzbm1wX3NkX2xpc3Rlbl9mZHMoMSk7CisrI2VuZGlmCisrCisgI2lmZGVmIFdJTjMyU0VSVklDRQorICAgICB0cmFwZF9zdGF0dXMgPSBTTk1QVFJBUERfUlVOTklORzsKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuZC9jb25maWdfbW9kdWxlc19saWIgYi9jb25maWd1cmUuZC9jb25maWdfbW9kdWxlc19saWIKK2luZGV4IDM2MmJhMGEuLmJiNjlkYWEgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuZC9jb25maWdfbW9kdWxlc19saWIKKysrKyBiL2NvbmZpZ3VyZS5kL2NvbmZpZ19tb2R1bGVzX2xpYgorQEAgLTUzLDYgKzUzLDE0IEBAIGlmIHRlc3QgIngkUEFSVElBTFRBUkdFVE9TIiA9ICJ4bWluZ3czMiIgLW8gIngkUEFSVElBTFRBUkdFVE9TIiA9ICJ4bWluZ3czMm1zdmMiCisgICBvdGhlcl9mdG9ianNfbGlzdD0iJG90aGVyX2Z0b2Jqc19saXN0IHdpbnBpcGUuZnQiCisgZmkKKyAKKysjIExpbnV4IHN5c3RlbWQKKytpZiB0ZXN0ICJ4JHdpdGhfc3lzdGVtZCIgPT0gInh5ZXMiOyB0aGVuCisrICBvdGhlcl9zcmNfbGlzdD0iJG90aGVyX3NyY19saXN0IHNkLWRhZW1vbi5jIgorKyAgb3RoZXJfb2Jqc19saXN0PSIkb3RoZXJfb2Jqc19saXN0IHNkLWRhZW1vbi5vIgorKyAgb3RoZXJfbG9ianNfbGlzdD0iJG90aGVyX2xvYmpzX2xpc3Qgc2QtZGFlbW9uLmxvIgorKyAgb3RoZXJfZnRvYmpzX2xpc3Q9IiRvdGhlcl9mdG9ianNfbGlzdCBzZC1kYWVtb24uZnQiCisrZmkKKysKKyBBQ19TVUJTVChvdGhlcl9zcmNfbGlzdCkKKyBBQ19TVUJTVChvdGhlcl9vYmpzX2xpc3QpCisgQUNfU1VCU1Qob3RoZXJfbG9ianNfbGlzdCkKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuZC9jb25maWdfcHJvamVjdF93aXRoX2VuYWJsZSBiL2NvbmZpZ3VyZS5kL2NvbmZpZ19wcm9qZWN0X3dpdGhfZW5hYmxlCitpbmRleCA2MWJhMDI2Li5kNzgyZDEyIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmQvY29uZmlnX3Byb2plY3Rfd2l0aF9lbmFibGUKKysrKyBiL2NvbmZpZ3VyZS5kL2NvbmZpZ19wcm9qZWN0X3dpdGhfZW5hYmxlCitAQCAtNjkwLDYgKzY5MCwxNSBAQCBpZiB0ZXN0ICJ4JHdpdGhfZHVtbXlfdmFsdWVzIiAhPSAieHllcyI7IHRoZW4KKyAgICAgIGRhdGEgZm9yXSkKKyBmaQorIAorK05FVFNOTVBfQVJHX1dJVEgoc3lzdGVtZCwKKytbICAtLXdpdGgtc3lzdGVtZCAgICAgICAgICAgICAgICAgUHJvdmlkZSBzeXN0ZW1kIHN1cHBvcnQuIFNlZSBSRUFETUUuc3lzdGVtZAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZGV0YWlscy5dKQorKyMgRGVmaW5lIHVubGVzcyBzcGVjaWZpY2FsbHkgc3VwcHJlc3NlZCAoaS5lLiwgb3B0aW9uIGRlZmF1bHRzIHRvIGZhbHNlKS4KKytpZiB0ZXN0ICJ4JHdpdGhfc3lzdGVtZCIgIT0gInh5ZXMiOyB0aGVuCisrICBBQ19ERUZJTkUoTkVUU05NUF9OT19TWVNURU1ELCAxLAorKyAgICBbSWYgeW91IGRvbid0IHdhbnQgdG8gaW50ZWdyYXRlIHdpdGggc3lzdGVtZC5dKQorK2ZpCisrCisgTkVUU05NUF9BUkdfRU5BQkxFKHNldC1zdXBwb3J0LAorIFsgIC0tZGlzYWJsZS1zZXQtc3VwcG9ydCAgICAgICAgICAgRG8gbm90IGFsbG93IFNOTVAgc2V0IHJlcXVlc3RzLl0pCisgaWYgdGVzdCAieCRlbmFibGVfc2V0X3N1cHBvcnQiID0gInhubyI7IHRoZW4KK2RpZmYgLS1naXQgYS9kaXN0L3NubXBkLnNlcnZpYyBiL2Rpc3Qvc25tcGQuc2VydmljCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMzEzOTFlNQorLS0tIC9kZXYvbnVsbAorKysrIGIvZGlzdC9zbm1wZC5zZXJ2aWMKK0BAIC0wLDAgKzEsMTggQEAKKysjCisrIyBTTk1QIGFnZW50IHNlcnZpY2UgZmlsZSBmb3Igc3lzdGVtZAorKyMKKysjCisrIyBUaGUgc2VydmljZSBzaG91bGQgYmUgZW5hYmxlZCwgaS5lLiBzbm1wZCBzaG91bGQgc3RhcnQgZHVyaW5nIG1hY2hpbmUgYm9vdC4KKysjIFNvY2tldCBhY3RpdmF0aW9uIHNoYWxsIG5vdCBiZSB1c2VkLiBTZWUgUkVBRE1FLnN5c3RlbWQgZm9yIGRldGFpbHMuCisrCisrW1VuaXRdCisrRGVzY3JpcHRpb249U2ltcGxlIE5ldHdvcmsgTWFuYWdlbWVudCBQcm90b2NvbCAoU05NUCkgZGFlbW9uLgorK0FmdGVyPXN5c2xvZy50YXJnZXQgbmV0d29yay50YXJnZXQKKysKKytbU2VydmljZV0KKysjIFR5cGU9bm90aWZ5IGlzIGFsc28gc3VwcG9ydGVkLiBJdCBzaG91bGQgYmUgc2V0IHdoZW4gc25tcGQuc29ja2V0IGlzIG5vdCB1c2VkLgorK1R5cGU9c2ltcGxlCisrRXhlY1N0YXJ0PS91c3Ivc2Jpbi9zbm1wZCAtZgorKworK1tJbnN0YWxsXQorK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CitkaWZmIC0tZ2l0IGEvZGlzdC9zbm1wZC5zb2NrZXQgYi9kaXN0L3NubXBkLnNvY2tldAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjdmM2EyZDkKKy0tLSAvZGV2L251bGwKKysrKyBiL2Rpc3Qvc25tcGQuc29ja2V0CitAQCAtMCwwICsxLDE3IEBACisrW1VuaXRdCisrRGVzY3JpcHRpb249U29ja2V0IGxpc3RlbmluZyBmb3IgU05NUCBhbmQgQWdlbnRYIG1lc3NhZ2VzCisrCisrW1NvY2tldF0KKytMaXN0ZW5EYXRhZ3JhbT0wLjAuMC4wOjE2MQorKyMgVW5jb21tZW50IG90aGVyIGxpc3RlbmluZyBhZGRyZXNzZXMgYXMgbmVlZGVkIC0gVENQLCBVRFA2LCBUQ1A2LgorKyMgSXQgbXVzdCBtYXRjaCBsaXN0ZW5pbmcgYWRkcmVzc2VzL3BvcnRzIGRlZmluZWQgaW4gc25tcGQuc2VydmljZQorKyMgb3Igc25tcGQuY29uZi4KKysjIExpc3RlblN0cmVhbT0wLjAuMC4wOjE2MQorKyMgTGlzdGVuRGF0YWdyYW09Wzo6XToxNjEKKysjIExpc3RlblN0cmVhbT1bOjpdOjE2MQorKyMKKysjIFVuY29tbWVudCBBZ2VudFggc29ja2V0IGlmIHNubXBkLmNvbmYgZW5hYmxlcyBBZ2VudFggcHJvdG9jb2wuCisrIyBMaXN0ZW5TdHJlYW09L3Zhci9hZ2VudHgvbWFzdGVyCisrCisrW0luc3RhbGxdCisrV2FudGVkQnk9c29ja2V0cy50YXJnZXQKK2RpZmYgLS1naXQgYS9kaXN0L3NubXB0cmFwZC5zZXJ2aWNlIGIvZGlzdC9zbm1wdHJhcGQuc2VydmljZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmU4OGE1YjQKKy0tLSAvZGV2L251bGwKKysrKyBiL2Rpc3Qvc25tcHRyYXBkLnNlcnZpY2UKK0BAIC0wLDAgKzEsMTYgQEAKKysjCisrIyBTTk1QIHRyYXAtcHJvY2Vzc2luZyBzZXJ2aWNlIGZpbGUgZm9yIHN5c3RlbWQKKysjCisrCisrW1VuaXRdCisrRGVzY3JpcHRpb249U2ltcGxlIE5ldHdvcmsgTWFuYWdlbWVudCBQcm90b2NvbCAoU05NUCkgVHJhcCBkYWVtb24uCisrQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldAorKworK1tTZXJ2aWNlXQorKyMgVHlwZT1ub3RpZnkgaXMgYWxzbyBzdXBwb3J0ZWQuIEl0IHNob3VsZCBiZSBzZXQgd2hlbiBzbm1wdHJhcGQuc29ja2V0IGlzIG5vdAorKyMgdXNlZC4KKytUeXBlPXNpbXBsZQorK0V4ZWNTdGFydD0vdXNyL3NiaW4vc25tcHRyYXBkIC1mCisrCisrW0luc3RhbGxdCisrV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKK2RpZmYgLS1naXQgYS9kaXN0L3NubXB0cmFwZC5zb2NrZXQgYi9kaXN0L3NubXB0cmFwZC5zb2NrZXQKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4yZDI0ZmI4CistLS0gL2Rldi9udWxsCisrKysgYi9kaXN0L3NubXB0cmFwZC5zb2NrZXQKK0BAIC0wLDAgKzEsMTQgQEAKKysrW1VuaXRdCisrK0Rlc2NyaXB0aW9uPVNvY2tldCBsaXN0ZW5pbmcgZm9yIFNOTVAgdHJhcCBtZXNzYWdlcworKysKKysrW1NvY2tldF0KKysrTGlzdGVuRGF0YWdyYW09MC4wLjAuMDoxNjIKKysrIyBVbmNvbW1lbnQgb3RoZXIgbGlzdGVuaW5nIGFkZHJlc3NlcyBhcyBuZWVkZWQgLSBUQ1AsIFVEUDYsIFRDUDYuCisrKyMgSXQgbXVzdCBtYXRjaCBsaXN0ZW5pbmcgYWRkcmVzc2VzL3BvcnRzIGRlZmluZWQgaW4gc25tcHRyYXBkLnNlcnZpY2UKKysrIyBvciBzbm1wdHJhcGQuY29uZi4KKysrIyBMaXN0ZW5TdHJlYW09MC4wLjAuMDoxNjIKKysrIyBMaXN0ZW5EYXRhZ3JhbT1bOjpdOjE2MgorKysjIExpc3RlblN0cmVhbT1bOjpdOjE2MgorKysKKysrW0luc3RhbGxdCisrK1dhbnRlZEJ5PXNvY2tldHMudGFyZ2V0CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oIGIvaW5jbHVkZS9uZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uODUyNzRjOQorLS0tIC9kZXYvbnVsbAorKysrIGIvaW5jbHVkZS9uZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oCitAQCAtMCwwICsxLDI5MCBAQAorKy8qLSotIE1vZGU6IEM7IGMtYmFzaWMtb2Zmc2V0OiA4OyBpbmRlbnQtdGFicy1tb2RlOiBuaWwgLSotKi8KKysKKysjaWZuZGVmIFNOTVBEX1NEX0RBRU1PTl9ICisrI2RlZmluZSBTTk1QRF9TRF9EQUVNT05fSAorKworKy8qKioKKysgIENvcHlyaWdodCAyMDEwIExlbm5hcnQgUG9ldHRlcmluZworKworKyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24KKysgIG9idGFpbmluZyBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzCisrICAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLAorKyAgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwKKysgIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsCisrICBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAorKyAgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisrCisrICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZQorKyAgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisrCisrICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKysgIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKyAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKKysgIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMKKysgIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTgorKyAgQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KKysgIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKKysgIFNPRlRXQVJFLgorKyoqKi8KKysKKysjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAorKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKysjZW5kaWYKKysjaWZkZWYgSEFWRV9JTlRUWVBFU19ICisrI2luY2x1ZGUgPGludHR5cGVzLmg+CisrI2VuZGlmCisrCisrI2lmZGVmIF9fY3BsdXNwbHVzCisrZXh0ZXJuICJDIiB7CisrI2VuZGlmCisrCisrLyoKKysgIFJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBvZiBhIGZldyBzeXN0ZW1kIHJlbGF0ZWQgaW50ZXJmYWNlcyBmb3IKKysgIHdyaXRpbmcgZGFlbW9ucy4gVGhlc2UgaW50ZXJmYWNlcyBhcmUgdHJpdmlhbCB0byBpbXBsZW1lbnQuIFRvCisrICBzaW1wbGlmeSBwb3J0aW5nIHdlIHByb3ZpZGUgdGhpcyByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24uCisrICBBcHBsaWNhdGlvbnMgYXJlIHdlbGNvbWUgdG8gcmVpbXBsZW1lbnQgdGhlIGFsZ29yaXRobXMgZGVzY3JpYmVkCisrICBoZXJlIGlmIHRoZXkgZG8gbm90IHdhbnQgdG8gaW5jbHVkZSB0aGVzZSB0d28gc291cmNlIGZpbGVzLgorKworKyAgVGhlIGZvbGxvd2luZyBmdW5jdGlvbmFsaXR5IGlzIHByb3ZpZGVkOgorKworKyAgLSBTdXBwb3J0IGZvciBsb2dnaW5nIHdpdGggbG9nIGxldmVscyBvbiBzdGRlcnIKKysgIC0gRmlsZSBkZXNjcmlwdG9yIHBhc3NpbmcgZm9yIHNvY2tldC1iYXNlZCBhY3RpdmF0aW9uCisrICAtIERhZW1vbiBzdGFydHVwIGFuZCBzdGF0dXMgbm90aWZpY2F0aW9uCisrICAtIERldGVjdGlvbiBvZiBzeXN0ZW1kIGJvb3RzCisrCisrICBZb3UgbWF5IGNvbXBpbGUgdGhpcyB3aXRoIC1ERElTQUJMRV9TWVNURU1EIHRvIGRpc2FibGUgc3lzdGVtZAorKyAgc3VwcG9ydC4gVGhpcyBtYWtlcyBhbGwgdGhvc2UgY2FsbHMgTk9QcyB0aGF0IGFyZSBkaXJlY3RseSByZWxhdGVkIHRvCisrICBzeXN0ZW1kIChpLmUuIG9ubHkgc2RfaXNfeHh4KCkgd2lsbCBzdGF5IHVzZWZ1bCkuCisrCisrICBTaW5jZSB0aGlzIGlzIGRyb3AtaW4gY29kZSB3ZSBkb24ndCB3YW50IGFueSBvZiBvdXIgc3ltYm9scyB0byBiZQorKyAgZXhwb3J0ZWQgaW4gYW55IGNhc2UuIEhlbmNlIHdlIGRlY2xhcmUgaGlkZGVuIHZpc2liaWxpdHkgZm9yIGFsbCBvZgorKyAgdGhlbS4KKysKKysgIFlvdSBtYXkgZmluZCBhbiB1cC10by1kYXRlIHZlcnNpb24gb2YgdGhlc2Ugc291cmNlIGZpbGVzIG9ubGluZToKKysKKysgIGh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9zeXN0ZW1kL3BsYWluL3NyYy9zZC1kYWVtb24uaAorKyAgaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3N5c3RlbWQvcGxhaW4vc3JjL3NkLWRhZW1vbi5jCisrCisrICBUaGlzIHNob3VsZCBjb21waWxlIG9uIG5vbi1MaW51eCBzeXN0ZW1zLCB0b28sIGJ1dCB3aXRoIHRoZQorKyAgZXhjZXB0aW9uIG9mIHRoZSBzZF9pc194eHgoKSBjYWxscyBhbGwgZnVuY3Rpb25zIHdpbGwgYmVjb21lIE5PUHMuCisrCisrICBTZWUgc2QtZGFlbW9uKDcpIGZvciBtb3JlIGluZm9ybWF0aW9uLgorKyovCisrCisrI2lmbmRlZiBfc2RfcHJpbnRmX2F0dHJfCisrI2lmIF9fR05VQ19fID49IDQKKysjZGVmaW5lIF9zZF9wcmludGZfYXR0cl8oYSxiKSBfX2F0dHJpYnV0ZV9fICgoZm9ybWF0IChwcmludGYsIGEsIGIpKSkKKysjZWxzZQorKyNkZWZpbmUgX3NkX3ByaW50Zl9hdHRyXyhhLGIpCisrI2VuZGlmCisrI2VuZGlmCisrCisrLyoKKysgIExvZyBsZXZlbHMgZm9yIHVzYWdlIG9uIHN0ZGVycjoKKysKKysgICAgICAgICAgZnByaW50ZihzdGRlcnIsIFNEX05PVElDRSAiSGVsbG8gV29ybGQhXG4iKTsKKysKKysgIFRoaXMgaXMgc2ltaWxhciB0byBwcmludGsoKSB1c2FnZSBpbiB0aGUga2VybmVsLgorKyovCisrI2RlZmluZSBTRF9FTUVSRyAgICI8MD4iICAvKiBzeXN0ZW0gaXMgdW51c2FibGUgKi8KKysjZGVmaW5lIFNEX0FMRVJUICAgIjwxPiIgIC8qIGFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5ICovCisrI2RlZmluZSBTRF9DUklUICAgICI8Mj4iICAvKiBjcml0aWNhbCBjb25kaXRpb25zICovCisrI2RlZmluZSBTRF9FUlIgICAgICI8Mz4iICAvKiBlcnJvciBjb25kaXRpb25zICovCisrI2RlZmluZSBTRF9XQVJOSU5HICI8ND4iICAvKiB3YXJuaW5nIGNvbmRpdGlvbnMgKi8KKysjZGVmaW5lIFNEX05PVElDRSAgIjw1PiIgIC8qIG5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uICovCisrI2RlZmluZSBTRF9JTkZPICAgICI8Nj4iICAvKiBpbmZvcm1hdGlvbmFsICovCisrI2RlZmluZSBTRF9ERUJVRyAgICI8Nz4iICAvKiBkZWJ1Zy1sZXZlbCBtZXNzYWdlcyAqLworKworKy8qIFRoZSBmaXJzdCBwYXNzZWQgZmlsZSBkZXNjcmlwdG9yIGlzIGZkIDMgKi8KKysjZGVmaW5lIFNEX0xJU1RFTl9GRFNfU1RBUlQgMworKworKy8qCisrICBSZXR1cm5zIGhvdyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgaGF2ZSBiZWVuIHBhc3NlZCwgb3IgYSBuZWdhdGl2ZQorKyAgZXJybm8gY29kZSBvbiBmYWlsdXJlLiBPcHRpb25hbGx5LCByZW1vdmVzIHRoZSAkTElTVEVOX0ZEUyBhbmQKKysgICRMSVNURU5fUElEIGZpbGUgZGVzY3JpcHRvcnMgZnJvbSB0aGUgZW52aXJvbm1lbnQgKHJlY29tbWVuZGVkLCBidXQKKysgIHByb2JsZW1hdGljIGluIHRocmVhZGVkIGVudmlyb25tZW50cykuIElmIHIgaXMgdGhlIHJldHVybiB2YWx1ZSBvZgorKyAgdGhpcyBmdW5jdGlvbiB5b3UnbGwgZmluZCB0aGUgZmlsZSBkZXNjcmlwdG9ycyBwYXNzZWQgYXMgZmRzCisrICBTRF9MSVNURU5fRkRTX1NUQVJUIHRvIFNEX0xJU1RFTl9GRFNfU1RBUlQrci0xLiBSZXR1cm5zIGEgbmVnYXRpdmUKKysgIGVycm5vIHN0eWxlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4gVGhpcyBmdW5jdGlvbiBjYWxsIGVuc3VyZXMgdGhhdAorKyAgdGhlIEZEX0NMT0VYRUMgZmxhZyBpcyBzZXQgZm9yIHRoZSBwYXNzZWQgZmlsZSBkZXNjcmlwdG9ycywgdG8gbWFrZQorKyAgc3VyZSB0aGV5IGFyZSBub3QgcGFzc2VkIG9uIHRvIGNoaWxkIHByb2Nlc3Nlcy4gSWYgRkRfQ0xPRVhFQyBzaGFsbAorKyAgbm90IGJlIHNldCwgdGhlIGNhbGxlciBuZWVkcyB0byB1bnNldCBpdCBhZnRlciB0aGlzIGNhbGwgZm9yIGFsbCBmaWxlCisrICBkZXNjcmlwdG9ycyB0aGF0IGFyZSB1c2VkLgorKworKyAgU2VlIHNkX2xpc3Rlbl9mZHMoMykgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisrKi8KKytpbnQgbmV0c25tcF9zZF9saXN0ZW5fZmRzKGludCB1bnNldF9lbnZpcm9ubWVudCk7CisrCisrLyoKKysgIEhlbHBlciBjYWxsIGZvciBpZGVudGlmeWluZyBhIHBhc3NlZCBmaWxlIGRlc2NyaXB0b3IuIFJldHVybnMgMSBpZgorKyAgdGhlIGZpbGUgZGVzY3JpcHRvciBpcyBhIEZJRk8gaW4gdGhlIGZpbGUgc3lzdGVtIHN0b3JlZCB1bmRlciB0aGUKKysgIHNwZWNpZmllZCBwYXRoLCAwIG90aGVyd2lzZS4gSWYgcGF0aCBpcyBOVUxMIGEgcGF0aCBuYW1lIGNoZWNrIHdpbGwKKysgIG5vdCBiZSBkb25lIGFuZCB0aGUgY2FsbCBvbmx5IHZlcmlmaWVzIGlmIHRoZSBmaWxlIGRlc2NyaXB0b3IKKysgIHJlZmVycyB0byBhIEZJRk8uIFJldHVybnMgYSBuZWdhdGl2ZSBlcnJubyBzdHlsZSBlcnJvciBjb2RlIG9uCisrICBmYWlsdXJlLgorKworKyAgU2VlIHNkX2lzX2ZpZm8oMykgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisrKi8KKytpbnQgbmV0c25tcF9zZF9pc19maWZvKGludCBmZCwgY29uc3QgY2hhciAqcGF0aCk7CisrCisrLyoKKysgIEhlbHBlciBjYWxsIGZvciBpZGVudGlmeWluZyBhIHBhc3NlZCBmaWxlIGRlc2NyaXB0b3IuIFJldHVybnMgMSBpZgorKyAgdGhlIGZpbGUgZGVzY3JpcHRvciBpcyBhIHNwZWNpYWwgY2hhcmFjdGVyIGRldmljZSBvbiB0aGUgZmlsZQorKyAgc3lzdGVtIHN0b3JlZCB1bmRlciB0aGUgc3BlY2lmaWVkIHBhdGgsIDAgb3RoZXJ3aXNlLgorKyAgSWYgcGF0aCBpcyBOVUxMIGEgcGF0aCBuYW1lIGNoZWNrIHdpbGwgbm90IGJlIGRvbmUgYW5kIHRoZSBjYWxsCisrICBvbmx5IHZlcmlmaWVzIGlmIHRoZSBmaWxlIGRlc2NyaXB0b3IgcmVmZXJzIHRvIGEgc3BlY2lhbCBjaGFyYWN0ZXIuCisrICBSZXR1cm5zIGEgbmVnYXRpdmUgZXJybm8gc3R5bGUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorKworKyAgU2VlIHNkX2lzX3NwZWNpYWwoMykgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisrKi8KKytpbnQgbmV0c25tcF9zZF9pc19zcGVjaWFsKGludCBmZCwgY29uc3QgY2hhciAqcGF0aCk7CisrCisrLyoKKysgIEhlbHBlciBjYWxsIGZvciBpZGVudGlmeWluZyBhIHBhc3NlZCBmaWxlIGRlc2NyaXB0b3IuIFJldHVybnMgMSBpZgorKyAgdGhlIGZpbGUgZGVzY3JpcHRvciBpcyBhIHNvY2tldCBvZiB0aGUgc3BlY2lmaWVkIGZhbWlseSAoQUZfSU5FVCwKKysgIC4uLikgYW5kIHR5cGUgKFNPQ0tfREdSQU0sIFNPQ0tfU1RSRUFNLCAuLi4pLCAwIG90aGVyd2lzZS4gSWYKKysgIGZhbWlseSBpcyAwIGEgc29ja2V0IGZhbWlseSBjaGVjayB3aWxsIG5vdCBiZSBkb25lLiBJZiB0eXBlIGlzIDAgYQorKyAgc29ja2V0IHR5cGUgY2hlY2sgd2lsbCBub3QgYmUgZG9uZSBhbmQgdGhlIGNhbGwgb25seSB2ZXJpZmllcyBpZgorKyAgdGhlIGZpbGUgZGVzY3JpcHRvciByZWZlcnMgdG8gYSBzb2NrZXQuIElmIGxpc3RlbmluZyBpcyA+IDAgaXQgaXMKKysgIHZlcmlmaWVkIHRoYXQgdGhlIHNvY2tldCBpcyBpbiBsaXN0ZW5pbmcgbW9kZS4gKGkuZS4gbGlzdGVuKCkgaGFzCisrICBiZWVuIGNhbGxlZCkgSWYgbGlzdGVuaW5nIGlzID09IDAgaXQgaXMgdmVyaWZpZWQgdGhhdCB0aGUgc29ja2V0IGlzCisrICBub3QgaW4gbGlzdGVuaW5nIG1vZGUuIElmIGxpc3RlbmluZyBpcyA8IDAgbm8gbGlzdGVuaW5nIG1vZGUgY2hlY2sKKysgIGlzIGRvbmUuIFJldHVybnMgYSBuZWdhdGl2ZSBlcnJubyBzdHlsZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCisrCisrICBTZWUgc2RfaXNfc29ja2V0KDMpIGZvciBtb3JlIGluZm9ybWF0aW9uLgorKyovCisraW50IG5ldHNubXBfc2RfaXNfc29ja2V0KGludCBmZCwgaW50IGZhbWlseSwgaW50IHR5cGUsIGludCBsaXN0ZW5pbmcpOworKworKy8qCisrICBIZWxwZXIgY2FsbCBmb3IgaWRlbnRpZnlpbmcgYSBwYXNzZWQgZmlsZSBkZXNjcmlwdG9yLiBSZXR1cm5zIDEgaWYKKysgIHRoZSBmaWxlIGRlc2NyaXB0b3IgaXMgYW4gSW50ZXJuZXQgc29ja2V0LCBvZiB0aGUgc3BlY2lmaWVkIGZhbWlseQorKyAgKGVpdGhlciBBRl9JTkVUIG9yIEFGX0lORVQ2KSBhbmQgdGhlIHNwZWNpZmllZCB0eXBlIChTT0NLX0RHUkFNLAorKyAgU09DS19TVFJFQU0sIC4uLiksIDAgb3RoZXJ3aXNlLiBJZiB2ZXJzaW9uIGlzIDAgYSBwcm90b2NvbCB2ZXJzaW9uCisrICBjaGVjayBpcyBub3QgZG9uZS4gSWYgdHlwZSBpcyAwIGEgc29ja2V0IHR5cGUgY2hlY2sgd2lsbCBub3QgYmUKKysgIGRvbmUuIElmIHBvcnQgaXMgMCBhIHNvY2tldCBwb3J0IGNoZWNrIHdpbGwgbm90IGJlIGRvbmUuIFRoZQorKyAgbGlzdGVuaW5nIGZsYWcgaXMgdXNlZCB0aGUgc2FtZSB3YXkgYXMgaW4gc2RfaXNfc29ja2V0KCkuIFJldHVybnMgYQorKyAgbmVnYXRpdmUgZXJybm8gc3R5bGUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorKworKyAgU2VlIHNkX2lzX3NvY2tldF9pbmV0KDMpIGZvciBtb3JlIGluZm9ybWF0aW9uLgorKyovCisraW50IG5ldHNubXBfc2RfaXNfc29ja2V0X2luZXQoaW50IGZkLCBpbnQgZmFtaWx5LCBpbnQgdHlwZSwgaW50IGxpc3RlbmluZywgdWludDE2X3QgcG9ydCk7CisrCisrLyoKKysgIEhlbHBlciBjYWxsIGZvciBpZGVudGlmeWluZyBhIHBhc3NlZCBmaWxlIGRlc2NyaXB0b3IuIFJldHVybnMgMSBpZgorKyAgdGhlIGZpbGUgZGVzY3JpcHRvciBpcyBhbiBBRl9VTklYIHNvY2tldCBvZiB0aGUgc3BlY2lmaWVkIHR5cGUKKysgIChTT0NLX0RHUkFNLCBTT0NLX1NUUkVBTSwgLi4uKSBhbmQgcGF0aCwgMCBvdGhlcndpc2UuIElmIHR5cGUgaXMgMAorKyAgYSBzb2NrZXQgdHlwZSBjaGVjayB3aWxsIG5vdCBiZSBkb25lLiBJZiBwYXRoIGlzIE5VTEwgYSBzb2NrZXQgcGF0aAorKyAgY2hlY2sgd2lsbCBub3QgYmUgZG9uZS4gRm9yIG5vcm1hbCBBRl9VTklYIHNvY2tldHMgc2V0IGxlbmd0aCB0bworKyAgMC4gRm9yIGFic3RyYWN0IG5hbWVzcGFjZSBzb2NrZXRzIHNldCBsZW5ndGggdG8gdGhlIGxlbmd0aCBvZiB0aGUKKysgIHNvY2tldCBuYW1lIChpbmNsdWRpbmcgdGhlIGluaXRpYWwgMCBieXRlKSwgYW5kIHBhc3MgdGhlIGZ1bGwKKysgIHNvY2tldCBwYXRoIGluIHBhdGggKGluY2x1ZGluZyB0aGUgaW5pdGlhbCAwIGJ5dGUpLiBUaGUgbGlzdGVuaW5nCisrICBmbGFnIGlzIHVzZWQgdGhlIHNhbWUgd2F5IGFzIGluIHNkX2lzX3NvY2tldCgpLiBSZXR1cm5zIGEgbmVnYXRpdmUKKysgIGVycm5vIHN0eWxlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKysKKysgIFNlZSBzZF9pc19zb2NrZXRfdW5peCgzKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKysqLworK2ludCBuZXRzbm1wX3NkX2lzX3NvY2tldF91bml4KGludCBmZCwgaW50IHR5cGUsIGludCBsaXN0ZW5pbmcsIGNvbnN0IGNoYXIgKnBhdGgsIHNpemVfdCBsZW5ndGgpOworKworKy8qCisrICBJbmZvcm1zIHN5c3RlbWQgYWJvdXQgY2hhbmdlZCBkYWVtb24gc3RhdGUuIFRoaXMgdGFrZXMgYSBudW1iZXIgb2YKKysgIG5ld2xpbmUgc2VwYXJhdGVkIGVudmlyb25tZW50LXN0eWxlIHZhcmlhYmxlIGFzc2lnbm1lbnRzIGluIGEKKysgIHN0cmluZy4gVGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIGtub3duOgorKworKyAgICAgUkVBRFk9MSAgICAgIFRlbGxzIHN5c3RlbWQgdGhhdCBkYWVtb24gc3RhcnR1cCBpcyBmaW5pc2hlZCAob25seQorKyAgICAgICAgICAgICAgICAgIHJlbGV2YW50IGZvciBzZXJ2aWNlcyBvZiBUeXBlPW5vdGlmeSkuIFRoZSBwYXNzZWQKKysgICAgICAgICAgICAgICAgICBhcmd1bWVudCBpcyBhIGJvb2xlYW4gIjEiIG9yICIwIi4gU2luY2UgdGhlcmUgaXMKKysgICAgICAgICAgICAgICAgICBsaXR0bGUgdmFsdWUgaW4gc2lnbmFsaW5nIG5vbi1yZWFkaW5lc3MgdGhlIG9ubHkKKysgICAgICAgICAgICAgICAgICB2YWx1ZSBkYWVtb25zIHNob3VsZCBzZW5kIGlzICJSRUFEWT0xIi4KKysKKysgICAgIFNUQVRVUz0uLi4gICBQYXNzZXMgYSBzaW5nbGUtbGluZSBzdGF0dXMgc3RyaW5nIGJhY2sgdG8gc3lzdGVtZAorKyAgICAgICAgICAgICAgICAgIHRoYXQgZGVzY3JpYmVzIHRoZSBkYWVtb24gc3RhdGUuIFRoaXMgaXMgZnJlZS1mcm9tCisrICAgICAgICAgICAgICAgICAgYW5kIGNhbiBiZSB1c2VkIGZvciB2YXJpb3VzIHB1cnBvc2VzOiBnZW5lcmFsIHN0YXRlCisrICAgICAgICAgICAgICAgICAgZmVlZGJhY2ssIGZzY2stbGlrZSBwcm9ncmFtcyBjb3VsZCBwYXNzIGNvbXBsZXRpb24KKysgICAgICAgICAgICAgICAgICBwZXJjZW50YWdlcyBhbmQgZmFpbGluZyBwcm9ncmFtcyBjb3VsZCBwYXNzIGEgaHVtYW4KKysgICAgICAgICAgICAgICAgICByZWFkYWJsZSBlcnJvciBtZXNzYWdlLiBFeGFtcGxlOiAiU1RBVFVTPUNvbXBsZXRlZAorKyAgICAgICAgICAgICAgICAgIDY2JSBvZiBmaWxlIHN5c3RlbSBjaGVjay4uLiIKKysKKysgICAgIEVSUk5PPS4uLiAgICBJZiBhIGRhZW1vbiBmYWlscywgdGhlIGVycm5vLXN0eWxlIGVycm9yIGNvZGUsCisrICAgICAgICAgICAgICAgICAgZm9ybWF0dGVkIGFzIHN0cmluZy4gRXhhbXBsZTogIkVSUk5PPTIiIGZvciBFTk9FTlQuCisrCisrICAgICBCVVNFUlJPUj0uLi4gSWYgYSBkYWVtb24gZmFpbHMsIHRoZSBELUJ1cyBlcnJvci1zdHlsZSBlcnJvcgorKyAgICAgICAgICAgICAgICAgIGNvZGUuIEV4YW1wbGU6ICJCVVNFUlJPUj1vcmcuZnJlZWRlc2t0b3AuREJ1cy5FcnJvci5UaW1lZE91dCIKKysKKysgICAgIE1BSU5QSUQ9Li4uICBUaGUgbWFpbiBwaWQgb2YgYSBkYWVtb24sIGluIGNhc2Ugc3lzdGVtZCBkaWQgbm90CisrICAgICAgICAgICAgICAgICAgZm9yayBvZmYgdGhlIHByb2Nlc3MgaXRzZWxmLiBFeGFtcGxlOiAiTUFJTlBJRD00NzExIgorKworKyAgRGFlbW9ucyBjYW4gY2hvb3NlIHRvIHNlbmQgYWRkaXRpb25hbCB2YXJpYWJsZXMuIEhvd2V2ZXIsIGl0IGlzCisrICByZWNvbW1lbmRlZCB0byBwcmVmaXggdmFyaWFibGUgbmFtZXMgbm90IGxpc3RlZCBhYm92ZSB3aXRoIFhfLgorKworKyAgUmV0dXJucyBhIG5lZ2F0aXZlIGVycm5vLXN0eWxlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4gUmV0dXJucyA+IDAKKysgIGlmIHN5c3RlbWQgY291bGQgYmUgbm90aWZpZWQsIDAgaWYgaXQgY291bGRuJ3QgcG9zc2libHkgYmVjYXVzZQorKyAgc3lzdGVtZCBpcyBub3QgcnVubmluZy4KKysKKysgIEV4YW1wbGU6IFdoZW4gYSBkYWVtb24gZmluaXNoZWQgc3RhcnRpbmcgdXAsIGl0IGNvdWxkIGlzc3VlIHRoaXMKKysgIGNhbGwgdG8gbm90aWZ5IHN5c3RlbWQgYWJvdXQgaXQ6CisrCisrICAgICBzZF9ub3RpZnkoMCwgIlJFQURZPTEiKTsKKysKKysgIFNlZSBzZF9ub3RpZnlmKCkgZm9yIG1vcmUgY29tcGxldGUgZXhhbXBsZXMuCisrCisrICBTZWUgc2Rfbm90aWZ5KDMpIGZvciBtb3JlIGluZm9ybWF0aW9uLgorKyovCisraW50IG5ldHNubXBfc2Rfbm90aWZ5KGludCB1bnNldF9lbnZpcm9ubWVudCwgY29uc3QgY2hhciAqc3RhdGUpOworKworKy8qCisrICBTaW1pbGFyIHRvIHNkX25vdGlmeSgpIGJ1dCB0YWtlcyBhIGZvcm1hdCBzdHJpbmcuCisrCisrICBFeGFtcGxlIDE6IEEgZGFlbW9uIGNvdWxkIHNlbmQgdGhlIGZvbGxvd2luZyBhZnRlciBpbml0aWFsaXphdGlvbjoKKysKKysgICAgIHNkX25vdGlmeWYoMCwgIlJFQURZPTFcbiIKKysgICAgICAgICAgICAgICAgICAgIlNUQVRVUz1Qcm9jZXNzaW5nIHJlcXVlc3RzLi4uXG4iCisrICAgICAgICAgICAgICAgICAgICJNQUlOUElEPSVsdSIsCisrICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBsb25nKSBnZXRwaWQoKSk7CisrCisrICBFeGFtcGxlIDI6IEEgZGFlbW9uIGNvdWxkIHNlbmQgdGhlIGZvbGxvd2luZyBzaG9ydGx5IGJlZm9yZQorKyAgZXhpdGluZywgb24gZmFpbHVyZToKKysKKysgICAgIHNkX25vdGlmeWYoMCwgIlNUQVRVUz1GYWlsZWQgdG8gc3RhcnQgdXA6ICVzXG4iCisrICAgICAgICAgICAgICAgICAgICJFUlJOTz0laSIsCisrICAgICAgICAgICAgICAgICAgIHN0cmVycm9yKGVycm5vKSwKKysgICAgICAgICAgICAgICAgICAgZXJybm8pOworKworKyAgU2VlIHNkX25vdGlmeWYoMykgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisrKi8KKytpbnQgbmV0c25tcF9zZF9ub3RpZnlmKGludCB1bnNldF9lbnZpcm9ubWVudCwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pIF9zZF9wcmludGZfYXR0cl8oMiwzKTsKKysKKysvKgorKyAgUmV0dXJucyA+IDAgaWYgdGhlIHN5c3RlbSB3YXMgYm9vdGVkIHdpdGggc3lzdGVtZC4gUmV0dXJucyA8IDAgb24KKysgIGVycm9yLiBSZXR1cm5zIDAgaWYgdGhlIHN5c3RlbSB3YXMgbm90IGJvb3RlZCB3aXRoIHN5c3RlbWQuIE5vdGUKKysgIHRoYXQgYWxsIG9mIHRoZSBmdW5jdGlvbnMgYWJvdmUgaGFuZGxlIG5vbi1zeXN0ZW1kIGJvb3RzIGp1c3QKKysgIGZpbmUuIFlvdSBzaG91bGQgTk9UIHByb3RlY3QgdGhlbSB3aXRoIGEgY2FsbCB0byB0aGlzIGZ1bmN0aW9uLiBBbHNvCisrICBub3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBjaGVja3Mgd2hldGhlciB0aGUgc3lzdGVtLCBub3QgdGhlIHVzZXIKKysgIHNlc3Npb24gaXMgY29udHJvbGxlZCBieSBzeXN0ZW1kLiBIb3dldmVyIHRoZSBmdW5jdGlvbnMgYWJvdmUgd29yaworKyAgZm9yIGJvdGggdXNlciBhbmQgc3lzdGVtIHNlcnZpY2VzLgorKworKyAgU2VlIHNkX2Jvb3RlZCgzKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKysqLworK2ludCBuZXRzbm1wX3NkX2Jvb3RlZCh2b2lkKTsKKysKKysvKioKKysgKiBGaW5kIGFuIHNvY2tldCB3aXRoIGdpdmVuIHBhcmFtZXRlcnMuIFNlZSBtYW4gc2RfaXNfc29ja2V0X2luZXQgZm9yCisrICogZGVzY3JpcHRpb24gb2YgdGhlIGFyZ3VtZW50cy4KKysgKgorKyAqIFJldHVybnMgdGhlIGZpbGUgZGVzY3JpcHRvciBpZiBpdCBpcyBmb3VuZCwgMCBvdGhlcndpc2UuCisrICovCisraW50IG5ldHNubXBfc2RfZmluZF9pbmV0X3NvY2tldChpbnQgZmFtaWx5LCBpbnQgdHlwZSwgaW50IGxpc3RlbmluZywgaW50IHBvcnQpOworKworKy8qKgorKyAqIEZpbmQgYW4gdW5peCBzb2NrZXQgd2l0aCBnaXZlbiBwYXJhbWV0ZXJzLiBTZWUgbWFuIHNkX2lzX3NvY2tldF91bml4IGZvcgorKyAqIGRlc2NyaXB0aW9uIG9mIHRoZSBhcmd1bWVudHMuCisrICoKKysgKiBSZXR1cm5zIHRoZSBmaWxlIGRlc2NyaXB0b3IgaWYgaXQgaXMgZm91bmQsIDAgb3RoZXJ3aXNlLgorKyAqLworK2ludAorK25ldHNubXBfc2RfZmluZF91bml4X3NvY2tldChpbnQgdHlwZSwgaW50IGxpc3RlbmluZywgY29uc3QgY2hhciAqcGF0aCk7CisrCisrI2lmZGVmIF9fY3BsdXNwbHVzCisrfQorKyNlbmRpZgorKworKyNlbmRpZiAvKiBTTk1QRF9TRF9EQUVNT05fSCAqLworZGlmZiAtLWdpdCBhL3NubXBsaWIvc2QtZGFlbW9uLmMgYi9zbm1wbGliL3NkLWRhZW1vbi5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNDJkYmEyOQorLS0tIC9kZXYvbnVsbAorKysrIGIvc25tcGxpYi9zZC1kYWVtb24uYworQEAgLTAsMCArMSw1MzIgQEAKKysvKgorKyAqIFN5c3RlbWQgaW50ZWdyYXRpb24gcGFydHMuCisrICoKKysgKiBNb3N0IG9mIHRoaXMgZmlsZSBpcyBkaXJlY3RseSBjb3BpZWQgZnJvbSBzeXN0ZW1kIHNvdXJjZXMuCisrICogQ2hhbmdlczoKKysgKiAtIGFsbCBmdW5jdGlvbnMgd2VyZSByZW5hbWVkIHRvIGhhdmUgbmV0c25tcF8gcHJlZml4CisrICogLSBpbmNsdWRlcyB3ZXJlICBjaGFuZ2VkIHRvIG1hdGNoIE5ldC1TTk1QIHN0eWxlLgorKyAqIC0gcmVtb3ZlZCBnY2MgZXhwb3J0IG1hY3JvcworKyAqIC0gcmVtb3ZlZCBQT1NJWCBtZXNzYWdlIHF1ZXVlcworKyAqLworKworKyNpbmNsdWRlIDxuZXQtc25tcC9uZXQtc25tcC1jb25maWcuaD4KKysjaW5jbHVkZSA8bmV0LXNubXAvbmV0LXNubXAtZmVhdHVyZXMuaD4KKysjaW5jbHVkZSA8bmV0LXNubXAvdHlwZXMuaD4KKysjaW5jbHVkZSA8bmV0LXNubXAvbGlicmFyeS9zbm1wX2RlYnVnLmg+CisrCisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysKKysvKioqCisrICBDb3B5cmlnaHQgMjAxMCBMZW5uYXJ0IFBvZXR0ZXJpbmcKKysKKysgIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uCisrICBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcworKyAgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwKKysgIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsCisrICBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLAorKyAgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKKysgIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKworKyAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUKKysgIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorKworKyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisrICBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKysgIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECisrICBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTCisrICBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KKysgIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisrICBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCisrICBTT0ZUV0FSRS4KKysqKiovCisrCisrI2lmbmRlZiBfR05VX1NPVVJDRQorKyNkZWZpbmUgX0dOVV9TT1VSQ0UKKysjZW5kaWYKKysKKysjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisrI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisrI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKysjaW5jbHVkZSA8c3lzL3VuLmg+CisrI2luY2x1ZGUgPHN5cy9mY250bC5oPgorKyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisrI2luY2x1ZGUgPHN0ZGxpYi5oPgorKyNpbmNsdWRlIDxlcnJuby5oPgorKyNpbmNsdWRlIDx1bmlzdGQuaD4KKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrI2luY2x1ZGUgPHN0ZGFyZy5oPgorKyNpbmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxzdGRkZWYuaD4KKysjaW5jbHVkZSA8bGltaXRzLmg+CisrCisrI2luY2x1ZGUgPG5ldC1zbm1wL2xpYnJhcnkvc2QtZGFlbW9uLmg+CisrCisraW50IG5ldHNubXBfc2RfbGlzdGVuX2ZkcyhpbnQgdW5zZXRfZW52aXJvbm1lbnQpIHsKKysKKysgICAgICAgIGludCByLCBmZDsKKysgICAgICAgIGNvbnN0IGNoYXIgKmU7CisrICAgICAgICBjaGFyICpwID0gTlVMTDsKKysgICAgICAgIHVuc2lnbmVkIGxvbmcgbDsKKysKKysgICAgICAgIGlmICghKGUgPSBnZXRlbnYoIkxJU1RFTl9QSUQiKSkpIHsKKysgICAgICAgICAgICAgICAgciA9IDA7CisrICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOworKyAgICAgICAgfQorKworKyAgICAgICAgZXJybm8gPSAwOworKyAgICAgICAgbCA9IHN0cnRvdWwoZSwgJnAsIDEwKTsKKysKKysgICAgICAgIGlmIChlcnJubyAhPSAwKSB7CisrICAgICAgICAgICAgICAgIHIgPSAtZXJybm87CisrICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOworKyAgICAgICAgfQorKworKyAgICAgICAgaWYgKCFwIHx8ICpwIHx8IGwgPD0gMCkgeworKyAgICAgICAgICAgICAgICByID0gLUVJTlZBTDsKKysgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7CisrICAgICAgICB9CisrCisrICAgICAgICAvKiBJcyB0aGlzIGZvciB1cz8gKi8KKysgICAgICAgIGlmIChnZXRwaWQoKSAhPSAocGlkX3QpIGwpIHsKKysgICAgICAgICAgICAgICAgciA9IDA7CisrICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOworKyAgICAgICAgfQorKworKyAgICAgICAgaWYgKCEoZSA9IGdldGVudigiTElTVEVOX0ZEUyIpKSkgeworKyAgICAgICAgICAgICAgICByID0gMDsKKysgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7CisrICAgICAgICB9CisrCisrICAgICAgICBlcnJubyA9IDA7CisrICAgICAgICBsID0gc3RydG91bChlLCAmcCwgMTApOworKworKyAgICAgICAgaWYgKGVycm5vICE9IDApIHsKKysgICAgICAgICAgICAgICAgciA9IC1lcnJubzsKKysgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7CisrICAgICAgICB9CisrCisrICAgICAgICBpZiAoIXAgfHwgKnApIHsKKysgICAgICAgICAgICAgICAgciA9IC1FSU5WQUw7CisrICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOworKyAgICAgICAgfQorKworKyAgICAgICAgZm9yIChmZCA9IFNEX0xJU1RFTl9GRFNfU1RBUlQ7IGZkIDwgU0RfTElTVEVOX0ZEU19TVEFSVCArIChpbnQpIGw7IGZkICsrKSB7CisrICAgICAgICAgICAgICAgIGludCBmbGFnczsKKysKKysgICAgICAgICAgICAgICAgaWYgKChmbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZEKSkgPCAwKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgciA9IC1lcnJubzsKKysgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKKysgICAgICAgICAgICAgICAgfQorKworKyAgICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBGRF9DTE9FWEVDKQorKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworKworKyAgICAgICAgICAgICAgICBpZiAoZmNudGwoZmQsIEZfU0VURkQsIGZsYWdzIHwgRkRfQ0xPRVhFQykgPCAwKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgciA9IC1lcnJubzsKKysgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgfQorKworKyAgICAgICAgciA9IChpbnQpIGw7CisrCisrZmluaXNoOgorKyAgICAgICAgaWYgKHVuc2V0X2Vudmlyb25tZW50KSB7CisrICAgICAgICAgICAgICAgIHVuc2V0ZW52KCJMSVNURU5fUElEIik7CisrICAgICAgICAgICAgICAgIHVuc2V0ZW52KCJMSVNURU5fRkRTIik7CisrICAgICAgICB9CisrCisrICAgICAgICByZXR1cm4gcjsKKyt9CisrCisraW50IG5ldHNubXBfc2RfaXNfZmlmbyhpbnQgZmQsIGNvbnN0IGNoYXIgKnBhdGgpIHsKKysgICAgICAgIHN0cnVjdCBzdGF0IHN0X2ZkOworKworKyAgICAgICAgaWYgKGZkIDwgMCkKKysgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisrCisrICAgICAgICBtZW1zZXQoJnN0X2ZkLCAwLCBzaXplb2Yoc3RfZmQpKTsKKysgICAgICAgIGlmIChmc3RhdChmZCwgJnN0X2ZkKSA8IDApCisrICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87CisrCisrICAgICAgICBpZiAoIVNfSVNGSUZPKHN0X2ZkLnN0X21vZGUpKQorKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysKKysgICAgICAgIGlmIChwYXRoKSB7CisrICAgICAgICAgICAgICAgIHN0cnVjdCBzdGF0IHN0X3BhdGg7CisrCisrICAgICAgICAgICAgICAgIG1lbXNldCgmc3RfcGF0aCwgMCwgc2l6ZW9mKHN0X3BhdGgpKTsKKysgICAgICAgICAgICAgICAgaWYgKHN0YXQocGF0aCwgJnN0X3BhdGgpIDwgMCkgeworKworKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFTk9FTlQgfHwgZXJybm8gPT0gRU5PVERJUikKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworKworKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87CisrICAgICAgICAgICAgICAgIH0KKysKKysgICAgICAgICAgICAgICAgcmV0dXJuCisrICAgICAgICAgICAgICAgICAgICAgICAgc3RfcGF0aC5zdF9kZXYgPT0gc3RfZmQuc3RfZGV2ICYmCisrICAgICAgICAgICAgICAgICAgICAgICAgc3RfcGF0aC5zdF9pbm8gPT0gc3RfZmQuc3RfaW5vOworKyAgICAgICAgfQorKworKyAgICAgICAgcmV0dXJuIDE7CisrfQorKworK2ludCBuZXRzbm1wX3NkX2lzX3NwZWNpYWwoaW50IGZkLCBjb25zdCBjaGFyICpwYXRoKSB7CisrICAgICAgICBzdHJ1Y3Qgc3RhdCBzdF9mZDsKKysKKysgICAgICAgIGlmIChmZCA8IDApCisrICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworKworKyAgICAgICAgaWYgKGZzdGF0KGZkLCAmc3RfZmQpIDwgMCkKKysgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKKysKKysgICAgICAgIGlmICghU19JU1JFRyhzdF9mZC5zdF9tb2RlKSAmJiAhU19JU0NIUihzdF9mZC5zdF9tb2RlKSkKKysgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisrCisrICAgICAgICBpZiAocGF0aCkgeworKyAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RhdCBzdF9wYXRoOworKworKyAgICAgICAgICAgICAgICBpZiAoc3RhdChwYXRoLCAmc3RfcGF0aCkgPCAwKSB7CisrCisrICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm5vID09IEVOT0VOVCB8fCBlcnJubyA9PSBFTk9URElSKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisrCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKKysgICAgICAgICAgICAgICAgfQorKworKyAgICAgICAgICAgICAgICBpZiAoU19JU1JFRyhzdF9mZC5zdF9tb2RlKSAmJiBTX0lTUkVHKHN0X3BhdGguc3RfbW9kZSkpCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdF9wYXRoLnN0X2RldiA9PSBzdF9mZC5zdF9kZXYgJiYKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0X3BhdGguc3RfaW5vID09IHN0X2ZkLnN0X2lubzsKKysgICAgICAgICAgICAgICAgZWxzZSBpZiAoU19JU0NIUihzdF9mZC5zdF9tb2RlKSAmJiBTX0lTQ0hSKHN0X3BhdGguc3RfbW9kZSkpCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0X3BhdGguc3RfcmRldiA9PSBzdF9mZC5zdF9yZGV2OworKyAgICAgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisrICAgICAgICB9CisrCisrICAgICAgICByZXR1cm4gMTsKKyt9CisrCisrc3RhdGljIGludCBzZF9pc19zb2NrZXRfaW50ZXJuYWwoaW50IGZkLCBpbnQgdHlwZSwgaW50IGxpc3RlbmluZykgeworKyAgICAgICAgc3RydWN0IHN0YXQgc3RfZmQ7CisrCisrICAgICAgICBpZiAoZmQgPCAwIHx8IHR5cGUgPCAwKQorKyAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKysKKysgICAgICAgIGlmIChmc3RhdChmZCwgJnN0X2ZkKSA8IDApCisrICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87CisrCisrICAgICAgICBpZiAoIVNfSVNTT0NLKHN0X2ZkLnN0X21vZGUpKQorKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysKKysgICAgICAgIGlmICh0eXBlICE9IDApIHsKKysgICAgICAgICAgICAgICAgaW50IG90aGVyX3R5cGUgPSAwOworKyAgICAgICAgICAgICAgICBzb2NrbGVuX3QgbCA9IHNpemVvZihvdGhlcl90eXBlKTsKKysKKysgICAgICAgICAgICAgICAgaWYgKGdldHNvY2tvcHQoZmQsIFNPTF9TT0NLRVQsIFNPX1RZUEUsICZvdGhlcl90eXBlLCAmbCkgPCAwKQorKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87CisrCisrICAgICAgICAgICAgICAgIGlmIChsICE9IHNpemVvZihvdGhlcl90eXBlKSkKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKysKKysgICAgICAgICAgICAgICAgaWYgKG90aGVyX3R5cGUgIT0gdHlwZSkKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysgICAgICAgIH0KKysKKysgICAgICAgIGlmIChsaXN0ZW5pbmcgPj0gMCkgeworKyAgICAgICAgICAgICAgICBpbnQgYWNjZXB0aW5nID0gMDsKKysgICAgICAgICAgICAgICAgc29ja2xlbl90IGwgPSBzaXplb2YoYWNjZXB0aW5nKTsKKysKKysgICAgICAgICAgICAgICAgaWYgKGdldHNvY2tvcHQoZmQsIFNPTF9TT0NLRVQsIFNPX0FDQ0VQVENPTk4sICZhY2NlcHRpbmcsICZsKSA8IDApCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKKysKKysgICAgICAgICAgICAgICAgaWYgKGwgIT0gc2l6ZW9mKGFjY2VwdGluZykpCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisrCisrICAgICAgICAgICAgICAgIGlmICghYWNjZXB0aW5nICE9ICFsaXN0ZW5pbmcpCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisrICAgICAgICB9CisrCisrICAgICAgICByZXR1cm4gMTsKKyt9CisrCisrdW5pb24gc29ja2FkZHJfdW5pb24geworKyAgICAgICAgc3RydWN0IHNvY2thZGRyIHNhOworKyAgICAgICAgc3RydWN0IHNvY2thZGRyX2luIGluNDsKKysgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9pbjYgaW42OworKyAgICAgICAgc3RydWN0IHNvY2thZGRyX3VuIHVuOworKyAgICAgICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2Ugc3RvcmFnZTsKKyt9OworKworK2ludCBuZXRzbm1wX3NkX2lzX3NvY2tldChpbnQgZmQsIGludCBmYW1pbHksIGludCB0eXBlLCBpbnQgbGlzdGVuaW5nKSB7CisrICAgICAgICBpbnQgcjsKKysKKysgICAgICAgIGlmIChmYW1pbHkgPCAwKQorKyAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKysKKysgICAgICAgIGlmICgociA9IHNkX2lzX3NvY2tldF9pbnRlcm5hbChmZCwgdHlwZSwgbGlzdGVuaW5nKSkgPD0gMCkKKysgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisrCisrICAgICAgICBpZiAoZmFtaWx5ID4gMCkgeworKyAgICAgICAgICAgICAgICB1bmlvbiBzb2NrYWRkcl91bmlvbiBzb2NrYWRkcjsKKysgICAgICAgICAgICAgICAgc29ja2xlbl90IGw7CisrCisrICAgICAgICAgICAgICAgIG1lbXNldCgmc29ja2FkZHIsIDAsIHNpemVvZihzb2NrYWRkcikpOworKyAgICAgICAgICAgICAgICBsID0gc2l6ZW9mKHNvY2thZGRyKTsKKysKKysgICAgICAgICAgICAgICAgaWYgKGdldHNvY2tuYW1lKGZkLCAmc29ja2FkZHIuc2EsICZsKSA8IDApCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKKysKKysgICAgICAgICAgICAgICAgaWYgKGwgPCBzaXplb2Yoc2FfZmFtaWx5X3QpKQorKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworKworKyAgICAgICAgICAgICAgICByZXR1cm4gc29ja2FkZHIuc2Euc2FfZmFtaWx5ID09IGZhbWlseTsKKysgICAgICAgIH0KKysKKysgICAgICAgIHJldHVybiAxOworK30KKysKKytpbnQgbmV0c25tcF9zZF9pc19zb2NrZXRfaW5ldChpbnQgZmQsIGludCBmYW1pbHksIGludCB0eXBlLCBpbnQgbGlzdGVuaW5nLCB1aW50MTZfdCBwb3J0KSB7CisrICAgICAgICB1bmlvbiBzb2NrYWRkcl91bmlvbiBzb2NrYWRkcjsKKysgICAgICAgIHNvY2tsZW5fdCBsOworKyAgICAgICAgaW50IHI7CisrCisrICAgICAgICBpZiAoZmFtaWx5ICE9IDAgJiYgZmFtaWx5ICE9IEFGX0lORVQgJiYgZmFtaWx5ICE9IEFGX0lORVQ2KQorKyAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKysKKysgICAgICAgIGlmICgociA9IHNkX2lzX3NvY2tldF9pbnRlcm5hbChmZCwgdHlwZSwgbGlzdGVuaW5nKSkgPD0gMCkKKysgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisrCisrICAgICAgICBtZW1zZXQoJnNvY2thZGRyLCAwLCBzaXplb2Yoc29ja2FkZHIpKTsKKysgICAgICAgIGwgPSBzaXplb2Yoc29ja2FkZHIpOworKworKyAgICAgICAgaWYgKGdldHNvY2tuYW1lKGZkLCAmc29ja2FkZHIuc2EsICZsKSA8IDApCisrICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87CisrCisrICAgICAgICBpZiAobCA8IHNpemVvZihzYV9mYW1pbHlfdCkpCisrICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworKworKyAgICAgICAgaWYgKHNvY2thZGRyLnNhLnNhX2ZhbWlseSAhPSBBRl9JTkVUICYmCisrICAgICAgICAgICAgc29ja2FkZHIuc2Euc2FfZmFtaWx5ICE9IEFGX0lORVQ2KQorKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysKKysgICAgICAgIGlmIChmYW1pbHkgPiAwKQorKyAgICAgICAgICAgICAgICBpZiAoc29ja2FkZHIuc2Euc2FfZmFtaWx5ICE9IGZhbWlseSkKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysKKysgICAgICAgIGlmIChwb3J0ID4gMCkgeworKyAgICAgICAgICAgICAgICBpZiAoc29ja2FkZHIuc2Euc2FfZmFtaWx5ID09IEFGX0lORVQpIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAobCA8IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW4pKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisrCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGh0b25zKHBvcnQpID09IHNvY2thZGRyLmluNC5zaW5fcG9ydDsKKysgICAgICAgICAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAobCA8IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW42KSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworKworKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBodG9ucyhwb3J0KSA9PSBzb2NrYWRkci5pbjYuc2luNl9wb3J0OworKyAgICAgICAgICAgICAgICB9CisrICAgICAgICB9CisrCisrICAgICAgICByZXR1cm4gMTsKKyt9CisrCisraW50IG5ldHNubXBfc2RfaXNfc29ja2V0X3VuaXgoaW50IGZkLCBpbnQgdHlwZSwgaW50IGxpc3RlbmluZywgY29uc3QgY2hhciAqcGF0aCwgc2l6ZV90IGxlbmd0aCkgeworKyAgICAgICAgdW5pb24gc29ja2FkZHJfdW5pb24gc29ja2FkZHI7CisrICAgICAgICBzb2NrbGVuX3QgbDsKKysgICAgICAgIGludCByOworKworKyAgICAgICAgaWYgKChyID0gc2RfaXNfc29ja2V0X2ludGVybmFsKGZkLCB0eXBlLCBsaXN0ZW5pbmcpKSA8PSAwKQorKyAgICAgICAgICAgICAgICByZXR1cm4gcjsKKysKKysgICAgICAgIG1lbXNldCgmc29ja2FkZHIsIDAsIHNpemVvZihzb2NrYWRkcikpOworKyAgICAgICAgbCA9IHNpemVvZihzb2NrYWRkcik7CisrCisrICAgICAgICBpZiAoZ2V0c29ja25hbWUoZmQsICZzb2NrYWRkci5zYSwgJmwpIDwgMCkKKysgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKKysKKysgICAgICAgIGlmIChsIDwgc2l6ZW9mKHNhX2ZhbWlseV90KSkKKysgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisrCisrICAgICAgICBpZiAoc29ja2FkZHIuc2Euc2FfZmFtaWx5ICE9IEFGX1VOSVgpCisrICAgICAgICAgICAgICAgIHJldHVybiAwOworKworKyAgICAgICAgaWYgKHBhdGgpIHsKKysgICAgICAgICAgICAgICAgaWYgKGxlbmd0aCA8PSAwKQorKyAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IHN0cmxlbihwYXRoKTsKKysKKysgICAgICAgICAgICAgICAgaWYgKGxlbmd0aCA8PSAwKQorKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIFVubmFtZWQgc29ja2V0ICovCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGwgPT0gb2Zmc2V0b2Yoc3RydWN0IHNvY2thZGRyX3VuLCBzdW5fcGF0aCk7CisrCisrICAgICAgICAgICAgICAgIGlmIChwYXRoWzBdKQorKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIE5vcm1hbCBwYXRoIHNvY2tldCAqLworKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGwgPj0gb2Zmc2V0b2Yoc3RydWN0IHNvY2thZGRyX3VuLCBzdW5fcGF0aCkgKyBsZW5ndGggKyAxKSAmJgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtY21wKHBhdGgsIHNvY2thZGRyLnVuLnN1bl9wYXRoLCBsZW5ndGgrMSkgPT0gMDsKKysgICAgICAgICAgICAgICAgZWxzZQorKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIEFic3RyYWN0IG5hbWVzcGFjZSBzb2NrZXQgKi8KKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsID09IG9mZnNldG9mKHN0cnVjdCBzb2NrYWRkcl91biwgc3VuX3BhdGgpICsgbGVuZ3RoKSAmJgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtY21wKHBhdGgsIHNvY2thZGRyLnVuLnN1bl9wYXRoLCBsZW5ndGgpID09IDA7CisrICAgICAgICB9CisrCisrICAgICAgICByZXR1cm4gMTsKKyt9CisrCisraW50IG5ldHNubXBfc2Rfbm90aWZ5KGludCB1bnNldF9lbnZpcm9ubWVudCwgY29uc3QgY2hhciAqc3RhdGUpIHsKKysgICAgICAgIGludCBmZCA9IC0xLCByOworKyAgICAgICAgc3RydWN0IG1zZ2hkciBtc2doZHI7CisrICAgICAgICBzdHJ1Y3QgaW92ZWMgaW92ZWM7CisrICAgICAgICB1bmlvbiBzb2NrYWRkcl91bmlvbiBzb2NrYWRkcjsKKysgICAgICAgIGNvbnN0IGNoYXIgKmU7CisrCisrICAgICAgICBpZiAoIXN0YXRlKSB7CisrICAgICAgICAgICAgICAgIHIgPSAtRUlOVkFMOworKyAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKKysgICAgICAgIH0KKysKKysgICAgICAgIGlmICghKGUgPSBnZXRlbnYoIk5PVElGWV9TT0NLRVQiKSkpCisrICAgICAgICAgICAgICAgIHJldHVybiAwOworKworKyAgICAgICAgLyogTXVzdCBiZSBhbiBhYnN0cmFjdCBzb2NrZXQsIG9yIGFuIGFic29sdXRlIHBhdGggKi8KKysgICAgICAgIGlmICgoZVswXSAhPSAnQCcgJiYgZVswXSAhPSAnLycpIHx8IGVbMV0gPT0gMCkgeworKyAgICAgICAgICAgICAgICByID0gLUVJTlZBTDsKKysgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7CisrICAgICAgICB9CisrCisrICAgICAgICBpZiAoKGZkID0gc29ja2V0KEFGX1VOSVgsIFNPQ0tfREdSQU18U09DS19DTE9FWEVDLCAwKSkgPCAwKSB7CisrICAgICAgICAgICAgICAgIHIgPSAtZXJybm87CisrICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOworKyAgICAgICAgfQorKworKyAgICAgICAgbWVtc2V0KCZzb2NrYWRkciwgMCwgc2l6ZW9mKHNvY2thZGRyKSk7CisrICAgICAgICBzb2NrYWRkci5zYS5zYV9mYW1pbHkgPSBBRl9VTklYOworKyAgICAgICAgc3RybmNweShzb2NrYWRkci51bi5zdW5fcGF0aCwgZSwgc2l6ZW9mKHNvY2thZGRyLnVuLnN1bl9wYXRoKSk7CisrCisrICAgICAgICBpZiAoc29ja2FkZHIudW4uc3VuX3BhdGhbMF0gPT0gJ0AnKQorKyAgICAgICAgICAgICAgICBzb2NrYWRkci51bi5zdW5fcGF0aFswXSA9IDA7CisrCisrICAgICAgICBtZW1zZXQoJmlvdmVjLCAwLCBzaXplb2YoaW92ZWMpKTsKKysgICAgICAgIGlvdmVjLmlvdl9iYXNlID0gKGNoYXIgKilzdGF0ZTsKKysgICAgICAgIGlvdmVjLmlvdl9sZW4gPSBzdHJsZW4oc3RhdGUpOworKworKyAgICAgICAgbWVtc2V0KCZtc2doZHIsIDAsIHNpemVvZihtc2doZHIpKTsKKysgICAgICAgIG1zZ2hkci5tc2dfbmFtZSA9ICZzb2NrYWRkcjsKKysgICAgICAgIG1zZ2hkci5tc2dfbmFtZWxlbiA9IG9mZnNldG9mKHN0cnVjdCBzb2NrYWRkcl91biwgc3VuX3BhdGgpICsgc3RybGVuKGUpOworKworKyAgICAgICAgaWYgKG1zZ2hkci5tc2dfbmFtZWxlbiA+IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfdW4pKQorKyAgICAgICAgICAgICAgICBtc2doZHIubXNnX25hbWVsZW4gPSBzaXplb2Yoc3RydWN0IHNvY2thZGRyX3VuKTsKKysKKysgICAgICAgIG1zZ2hkci5tc2dfaW92ID0gJmlvdmVjOworKyAgICAgICAgbXNnaGRyLm1zZ19pb3ZsZW4gPSAxOworKworKyAgICAgICAgaWYgKHNlbmRtc2coZmQsICZtc2doZHIsIE1TR19OT1NJR05BTCkgPCAwKSB7CisrICAgICAgICAgICAgICAgIHIgPSAtZXJybm87CisrICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOworKyAgICAgICAgfQorKworKyAgICAgICAgciA9IDE7CisrCisrZmluaXNoOgorKyAgICAgICAgaWYgKHVuc2V0X2Vudmlyb25tZW50KQorKyAgICAgICAgICAgICAgICB1bnNldGVudigiTk9USUZZX1NPQ0tFVCIpOworKworKyAgICAgICAgaWYgKGZkID49IDApCisrICAgICAgICAgICAgICAgIGNsb3NlKGZkKTsKKysKKysgICAgICAgIHJldHVybiByOworK30KKysKKytpbnQgbmV0c25tcF9zZF9ub3RpZnlmKGludCB1bnNldF9lbnZpcm9ubWVudCwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pIHsKKysgICAgICAgIHZhX2xpc3QgYXA7CisrICAgICAgICBjaGFyICpwID0gTlVMTDsKKysgICAgICAgIGludCByOworKworKyAgICAgICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7CisrICAgICAgICByID0gdmFzcHJpbnRmKCZwLCBmb3JtYXQsIGFwKTsKKysgICAgICAgIHZhX2VuZChhcCk7CisrCisrICAgICAgICBpZiAociA8IDAgfHwgIXApCisrICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworKworKyAgICAgICAgciA9IG5ldHNubXBfc2Rfbm90aWZ5KHVuc2V0X2Vudmlyb25tZW50LCBwKTsKKysgICAgICAgIGZyZWUocCk7CisrCisrICAgICAgICByZXR1cm4gcjsKKyt9CisrCisraW50IG5ldHNubXBfc2RfYm9vdGVkKHZvaWQpIHsKKysgICAgICAgIHN0cnVjdCBzdGF0IGEsIGI7CisrCisrICAgICAgICAvKiBXZSBzaW1wbHkgdGVzdCB3aGV0aGVyIHRoZSBzeXN0ZW1kIGNncm91cCBoaWVyYXJjaHkgaXMKKysgICAgICAgICAqIG1vdW50ZWQgKi8KKysKKysgICAgICAgIGlmIChsc3RhdCgiL3N5cy9mcy9jZ3JvdXAiLCAmYSkgPCAwKQorKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysKKysgICAgICAgIGlmIChsc3RhdCgiL3N5cy9mcy9jZ3JvdXAvc3lzdGVtZCIsICZiKSA8IDApCisrICAgICAgICAgICAgICAgIHJldHVybiAwOworKworKyAgICAgICAgcmV0dXJuIGEuc3RfZGV2ICE9IGIuc3RfZGV2OworK30KKysKKysvKiBFbmQgb2Ygb3JpZ2luYWwgc2QtZGFlbW9uLmMgZnJvbSBzeXN0ZW1kIHNvdXJjZXMgKi8KKysKKytpbnQKKytuZXRzbm1wX3NkX2ZpbmRfaW5ldF9zb2NrZXQoaW50IGZhbWlseSwgaW50IHR5cGUsIGludCBsaXN0ZW5pbmcsIGludCBwb3J0KQorK3sKKysgICAgaW50IGNvdW50LCBmZDsKKysKKysgICAgY291bnQgPSBuZXRzbm1wX3NkX2xpc3Rlbl9mZHMoMCk7CisrICAgIGlmIChjb3VudCA8PSAwKSB7CisrICAgICAgICBERUJVR01TR1RMKCgic3lzdGVtZDpmaW5kX2luZXRfc29ja2V0IiwgIk5vIExJU1RFTl9GRFMgZm91bmQuXG4iKSk7CisrICAgICAgICByZXR1cm4gMDsKKysgICAgfQorKyAgICBERUJVR01TR1RMKCgic3lzdGVtZDpmaW5kX2luZXRfc29ja2V0IiwgIkxJU1RFTl9GRFMgcmVwb3J0cyAlZCBzb2NrZXRzLlxuIiwKKysgICAgICAgICAgICBjb3VudCkpOworKworKyAgICBmb3IgKGZkID0gMzsgZmQgPCAzK2NvdW50OyBmZCsrKSB7CisrICAgICAgICBpbnQgcmMgPSBuZXRzbm1wX3NkX2lzX3NvY2tldF9pbmV0KGZkLCBmYW1pbHksIHR5cGUsIGxpc3RlbmluZywgcG9ydCk7CisrICAgICAgICBpZiAocmMgPCAwKQorKyAgICAgICAgICAgIERFQlVHTVNHVEwoKCJzeXN0ZW1kOmZpbmRfaW5ldF9zb2NrZXQiLAorKyAgICAgICAgICAgICAgICAgICAgInNkX2lzX3NvY2tldF9pbmV0IGVycm9yOiAlZFxuIiwgcmMpKTsKKysgICAgICAgIGlmIChyYyA+IDApIHsKKysgICAgICAgICAgICBERUJVR01TR1RMKCgic3lzdGVtZDpmaW5kX2luZXRfc29ja2V0IiwKKysgICAgICAgICAgICAgICAgICAgICJGb3VuZCB0aGUgc29ja2V0IGluIExJU1RFTl9GRFNcbiIpKTsKKysgICAgICAgICAgICByZXR1cm4gZmQ7CisrICAgICAgICB9CisrICAgIH0KKysgICAgREVCVUdNU0dUTCgoInN5c3RlbWQ6ZmluZF9pbmV0X3NvY2tldCIsICJTb2NrZXQgbm90IGZvdW5kIGluIExJU1RFTl9GRFNcbiIpKTsKKysgICAgcmV0dXJuIDA7CisrfQorKworK2ludAorK25ldHNubXBfc2RfZmluZF91bml4X3NvY2tldChpbnQgdHlwZSwgaW50IGxpc3RlbmluZywgY29uc3QgY2hhciAqcGF0aCkKKyt7CisrICAgIGludCBjb3VudCwgZmQ7CisrCisrICAgIGNvdW50ID0gbmV0c25tcF9zZF9saXN0ZW5fZmRzKDApOworKyAgICBpZiAoY291bnQgPD0gMCkgeworKyAgICAgICAgREVCVUdNU0dUTCgoInN5c3RlbWQ6ZmluZF91bml4X3NvY2tldCIsICJObyBMSVNURU5fRkRTIGZvdW5kLlxuIikpOworKyAgICAgICAgcmV0dXJuIDA7CisrICAgIH0KKysgICAgREVCVUdNU0dUTCgoInN5c3RlbWQ6ZmluZF91bml4X3NvY2tldCIsICJMSVNURU5fRkRTIHJlcG9ydHMgJWQgc29ja2V0cy5cbiIsCisrICAgICAgICAgICAgY291bnQpKTsKKysKKysgICAgZm9yIChmZCA9IDM7IGZkIDwgMytjb3VudDsgZmQrKykgeworKyAgICAgICAgaW50IHJjID0gbmV0c25tcF9zZF9pc19zb2NrZXRfdW5peChmZCwgdHlwZSwgbGlzdGVuaW5nLCBwYXRoLCAwKTsKKysgICAgICAgIGlmIChyYyA8IDApCisrICAgICAgICAgICAgREVCVUdNU0dUTCgoInN5c3RlbWQ6ZmluZF91bml4X3NvY2tldCIsCisrICAgICAgICAgICAgICAgICAgICAibmV0c25tcF9zZF9pc19zb2NrZXRfdW5peCBlcnJvcjogJWRcbiIsIHJjKSk7CisrICAgICAgICBpZiAocmMgPiAwKSB7CisrICAgICAgICAgICAgREVCVUdNU0dUTCgoInN5c3RlbWQ6ZmluZF91bml4X3NvY2tldCIsCisrICAgICAgICAgICAgICAgICAgICAiRm91bmQgdGhlIHNvY2tldCBpbiBMSVNURU5fRkRTXG4iKSk7CisrICAgICAgICAgICAgcmV0dXJuIGZkOworKyAgICAgICAgfQorKyAgICB9CisrICAgIERFQlVHTVNHVEwoKCJzeXN0ZW1kOmZpbmRfdW5peF9zb2NrZXQiLCAiU29ja2V0IG5vdCBmb3VuZCBpbiBMSVNURU5fRkRTXG4iKSk7CisrICAgIHJldHVybiAwOworK30KKysKKysjZW5kaWYgLyogISBORVRTTk1QX05PX1NZU1RFTUQgKi8KK2RpZmYgLS1naXQgYS9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFRDUERvbWFpbi5jIGIvc25tcGxpYi90cmFuc3BvcnRzL3NubXBUQ1BEb21haW4uYworaW5kZXggN2ZlYjAyOC4uYTQxYjkyNiAxMDA2NDQKKy0tLSBhL3NubXBsaWIvdHJhbnNwb3J0cy9zbm1wVENQRG9tYWluLmMKKysrKyBiL3NubXBsaWIvdHJhbnNwb3J0cy9zbm1wVENQRG9tYWluLmMKK0BAIC00Myw2ICs0MywxMCBAQAorICNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3NubXBUQ1BCYXNlRG9tYWluLmg+CisgI2luY2x1ZGUgPG5ldC1zbm1wL2xpYnJhcnkvdG9vbHMuaD4KKyAKKysjaWZuZGVmIE5FVFNOTVBfTk9fU1lTVEVNRAorKyNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oPgorKyNlbmRpZgorKworIC8qCisgICogbmVlZHMgdG8gYmUgaW4gc3luYyB3aXRoIHRoZSBkZWZpbml0aW9ucyBpbiBzbm1wbGliL3NubXBVRFBEb21haW4uYworICAqIGFuZCBwZXJsL2FnZW50L2FnZW50LnhzCitAQCAtMTQ5LDYgKzE1Myw3IEBAIG5ldHNubXBfdGNwX3RyYW5zcG9ydChzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFkZHIsIGludCBsb2NhbCkKKyAgICAgbmV0c25tcF90cmFuc3BvcnQgKnQgPSBOVUxMOworICAgICBuZXRzbm1wX3VkcF9hZGRyX3BhaXIgKmFkZHJfcGFpciA9IE5VTEw7CisgICAgIGludCByYyA9IDA7CisrICAgIGludCBzb2NrZXRfaW5pdGlhbGl6ZWQgPSAwOworIAorICNpZmRlZiBORVRTTk1QX05PX0xJU1RFTl9TVVBQT1JUCisgICAgIGlmIChsb2NhbCkKK0BAIC0xNzgsNyArMTgzLDE5IEBAIG5ldHNubXBfdGNwX3RyYW5zcG9ydChzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFkZHIsIGludCBsb2NhbCkKKyAgICAgdC0+ZG9tYWluX2xlbmd0aCA9CisgICAgICAgICBzaXplb2YobmV0c25tcF9zbm1wVENQRG9tYWluKSAvIHNpemVvZihuZXRzbm1wX3NubXBUQ1BEb21haW5bMF0pOworIAorLSAgICB0LT5zb2NrID0gc29ja2V0KFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAwKTsKKysjaWZuZGVmIE5FVFNOTVBfTk9fU1lTVEVNRAorKyAgICAvKgorKyAgICAgKiBNYXliZSB0aGUgc29ja2V0IHdhcyBhbHJlYWR5IHByb3ZpZGVkIGJ5IHN5c3RlbWQuLi4KKysgICAgICovCisrICAgIGlmIChsb2NhbCkgeworKyAgICAgICAgdC0+c29jayA9IG5ldHNubXBfc2RfZmluZF9pbmV0X3NvY2tldChQRl9JTkVULCBTT0NLX1NUUkVBTSwgMSwKKysgICAgICAgICAgICAgICAgbnRvaHMoYWRkci0+c2luX3BvcnQpKTsKKysgICAgICAgIGlmICh0LT5zb2NrKQorKyAgICAgICAgICAgIHNvY2tldF9pbml0aWFsaXplZCA9IDE7CisrICAgIH0KKysjZW5kaWYKKysgICAgaWYgKCFzb2NrZXRfaW5pdGlhbGl6ZWQpCisrICAgICAgICB0LT5zb2NrID0gc29ja2V0KFBGX0lORVQsIFNPQ0tfU1RSRUFNLCAwKTsKKyAgICAgaWYgKHQtPnNvY2sgPCAwKSB7CisgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworICAgICAgICAgcmV0dXJuIE5VTEw7CitAQCAtMjE1LDExICsyMzIsMTMgQEAgbmV0c25tcF90Y3BfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl9pbiAqYWRkciwgaW50IGxvY2FsKQorICAgICAgICAgc2V0c29ja29wdCh0LT5zb2NrLCBTT0xfU09DS0VULCBTT19SRVVTRUFERFIsICh2b2lkICopJm9wdCwKKyAJCSAgIHNpemVvZihvcHQpKTsKKyAKKy0gICAgICAgIHJjID0gYmluZCh0LT5zb2NrLCAoc3RydWN0IHNvY2thZGRyICopYWRkciwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikpOworLSAgICAgICAgaWYgKHJjICE9IDApIHsKKy0gICAgICAgICAgICBuZXRzbm1wX3NvY2tldGJhc2VfY2xvc2UodCk7CistICAgICAgICAgICAgbmV0c25tcF90cmFuc3BvcnRfZnJlZSh0KTsKKy0gICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKSB7CisrICAgICAgICAgICAgcmMgPSBiaW5kKHQtPnNvY2ssIChzdHJ1Y3Qgc29ja2FkZHIgKilhZGRyLCBzaXplb2Yoc3RydWN0IHNvY2thZGRyKSk7CisrICAgICAgICAgICAgaWYgKHJjICE9IDApIHsKKysgICAgICAgICAgICAgICAgbmV0c25tcF9zb2NrZXRiYXNlX2Nsb3NlKHQpOworKyAgICAgICAgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgICAgICB9CisgICAgICAgICB9CisgCisgICAgICAgICAvKgorQEAgLTIzNiwxMSArMjU1LDEzIEBAIG5ldHNubXBfdGNwX3RyYW5zcG9ydChzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFkZHIsIGludCBsb2NhbCkKKyAgICAgICAgICAqIE5vdyBzaXQgaGVyZSBhbmQgd2FpdCBmb3IgY29ubmVjdGlvbnMgdG8gYXJyaXZlLiAgCisgICAgICAgICAgKi8KKyAKKy0gICAgICAgIHJjID0gbGlzdGVuKHQtPnNvY2ssIE5FVFNOTVBfU1RSRUFNX1FVRVVFX0xFTik7CistICAgICAgICBpZiAocmMgIT0gMCkgeworLSAgICAgICAgICAgIG5ldHNubXBfc29ja2V0YmFzZV9jbG9zZSh0KTsKKy0gICAgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworLSAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgaWYgKCFzb2NrZXRfaW5pdGlhbGl6ZWQpIHsKKysgICAgICAgICAgICByYyA9IGxpc3Rlbih0LT5zb2NrLCBORVRTTk1QX1NUUkVBTV9RVUVVRV9MRU4pOworKyAgICAgICAgICAgIGlmIChyYyAhPSAwKSB7CisrICAgICAgICAgICAgICAgIG5ldHNubXBfc29ja2V0YmFzZV9jbG9zZSh0KTsKKysgICAgICAgICAgICAgICAgbmV0c25tcF90cmFuc3BvcnRfZnJlZSh0KTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICAgICAgfQorICAgICAgICAgfQorICAgICAgICAgCisgICAgICAgICAvKgorZGlmZiAtLWdpdCBhL3NubXBsaWIvdHJhbnNwb3J0cy9zbm1wVENQSVB2NkRvbWFpbi5jIGIvc25tcGxpYi90cmFuc3BvcnRzL3NubXBUQ1BJUHY2RG9tYWluLmMKK2luZGV4IGQyZTBhMmQuLjIyZGU2ZDQgMTAwNjQ0CistLS0gYS9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFRDUElQdjZEb21haW4uYworKysrIGIvc25tcGxpYi90cmFuc3BvcnRzL3NubXBUQ1BJUHY2RG9tYWluLmMKK0BAIC00OSw2ICs0OSwxMCBAQAorICNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3NubXBUQ1BCYXNlRG9tYWluLmg+CisgI2luY2x1ZGUgPG5ldC1zbm1wL2xpYnJhcnkvdG9vbHMuaD4KKyAKKysjaWZuZGVmIE5FVFNOTVBfTk9fU1lTVEVNRAorKyNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oPgorKyNlbmRpZgorKworICNpbmNsdWRlICJpbmV0X250b3AuaCIKKyAKKyBvaWQgbmV0c25tcF9UQ1BJUHY2RG9tYWluW10gPSB7IFRSQU5TUE9SVF9ET01BSU5fVENQX0lQVjYgfTsKK0BAIC0xNDAsNiArMTQ0LDggQEAgbmV0c25tcF90Y3A2X3RyYW5zcG9ydChzdHJ1Y3Qgc29ja2FkZHJfaW42ICphZGRyLCBpbnQgbG9jYWwpCisgeworICAgICBuZXRzbm1wX3RyYW5zcG9ydCAqdCA9IE5VTEw7CisgICAgIGludCAgICAgICAgICAgICByYyA9IDA7CisrICAgIGNoYXIgICAgICAgICAgICpzdHIgPSBOVUxMOworKyAgICBpbnQgICAgICAgICAgICAgc29ja2V0X2luaXRpYWxpemVkID0gMDsKKyAKKyAjaWZkZWYgTkVUU05NUF9OT19MSVNURU5fU1VQUE9SVAorICAgICBpZiAobG9jYWwpCitAQCAtMTc0LDcgKzE4MCwxOSBAQCBuZXRzbm1wX3RjcDZfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl9pbjYgKmFkZHIsIGludCBsb2NhbCkKKyAgICAgdC0+ZG9tYWluID0gbmV0c25tcF9UQ1BJUHY2RG9tYWluOworICAgICB0LT5kb21haW5fbGVuZ3RoID0gc2l6ZW9mKG5ldHNubXBfVENQSVB2NkRvbWFpbikgLyBzaXplb2Yob2lkKTsKKyAKKy0gICAgdC0+c29jayA9IHNvY2tldChQRl9JTkVUNiwgU09DS19TVFJFQU0sIDApOworKyNpZm5kZWYgTkVUU05NUF9OT19TWVNURU1ECisrICAgIC8qCisrICAgICAqIE1heWJlIHRoZSBzb2NrZXQgd2FzIGFscmVhZHkgcHJvdmlkZWQgYnkgc3lzdGVtZC4uLgorKyAgICAgKi8KKysgICAgaWYgKGxvY2FsKSB7CisrICAgICAgICB0LT5zb2NrID0gbmV0c25tcF9zZF9maW5kX2luZXRfc29ja2V0KFBGX0lORVQ2LCBTT0NLX1NUUkVBTSwgMSwKKysgICAgICAgICAgICAgICAgbnRvaHMoYWRkci0+c2luNl9wb3J0KSk7CisrICAgICAgICBpZiAodC0+c29jaykKKysgICAgICAgICAgICBzb2NrZXRfaW5pdGlhbGl6ZWQgPSAxOworKyAgICB9CisrI2VuZGlmCisrICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKQorKyAgICAgICAgdC0+c29jayA9IHNvY2tldChQRl9JTkVUNiwgU09DS19TVFJFQU0sIDApOworICAgICBpZiAodC0+c29jayA8IDApIHsKKyAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CisgICAgICAgICByZXR1cm4gTlVMTDsKK0BAIC0yMjAsMTIgKzIzOCwxNCBAQCBuZXRzbm1wX3RjcDZfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl9pbjYgKmFkZHIsIGludCBsb2NhbCkKKyAKKyAgICAgICAgIHNldHNvY2tvcHQodC0+c29jaywgU09MX1NPQ0tFVCwgU09fUkVVU0VBRERSLCAodm9pZCAqKSZvcHQsIHNpemVvZihvcHQpKTsKKyAKKy0gICAgICAgIHJjID0gYmluZCh0LT5zb2NrLCAoc3RydWN0IHNvY2thZGRyICopIGFkZHIsCistCQkgIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW42KSk7CistICAgICAgICBpZiAocmMgIT0gMCkgeworLSAgICAgICAgICAgIG5ldHNubXBfc29ja2V0YmFzZV9jbG9zZSh0KTsKKy0gICAgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworLSAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgaWYgKCFzb2NrZXRfaW5pdGlhbGl6ZWQpIHsKKysgICAgICAgICAgICByYyA9IGJpbmQodC0+c29jaywgKHN0cnVjdCBzb2NrYWRkciAqKSBhZGRyLAorKyAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9pbjYpKTsKKysgICAgICAgICAgICBpZiAocmMgIT0gMCkgeworKyAgICAgICAgICAgICAgICBuZXRzbm1wX3NvY2tldGJhc2VfY2xvc2UodCk7CisrICAgICAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CisrICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAKKyAgICAgICAgIC8qCitAQCAtMjQyLDExICsyNjIsMTMgQEAgbmV0c25tcF90Y3A2X3RyYW5zcG9ydChzdHJ1Y3Qgc29ja2FkZHJfaW42ICphZGRyLCBpbnQgbG9jYWwpCisgICAgICAgICAgKiBOb3cgc2l0IGhlcmUgYW5kIHdhaXQgZm9yIGNvbm5lY3Rpb25zIHRvIGFycml2ZS4gIAorICAgICAgICAgICovCisgCistICAgICAgICByYyA9IGxpc3Rlbih0LT5zb2NrLCBORVRTTk1QX1NUUkVBTV9RVUVVRV9MRU4pOworLSAgICAgICAgaWYgKHJjICE9IDApIHsKKy0gICAgICAgICAgICBuZXRzbm1wX3NvY2tldGJhc2VfY2xvc2UodCk7CistICAgICAgICAgICAgbmV0c25tcF90cmFuc3BvcnRfZnJlZSh0KTsKKy0gICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKSB7CisrICAgICAgICAgICAgcmMgPSBsaXN0ZW4odC0+c29jaywgTkVUU05NUF9TVFJFQU1fUVVFVUVfTEVOKTsKKysgICAgICAgICAgICBpZiAocmMgIT0gMCkgeworKyAgICAgICAgICAgICAgICBuZXRzbm1wX3NvY2tldGJhc2VfY2xvc2UodCk7CisrICAgICAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CisrICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAgICAgICAgIAorICAgICAgICAgLyoKK2RpZmYgLS1naXQgYS9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFVEUElQdjRCYXNlRG9tYWluLmMgYi9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFVEUElQdjRCYXNlRG9tYWluLmMKK2luZGV4IDhjMGZiMDUuLjAwZTViYmMgMTAwNjQ0CistLS0gYS9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFVEUElQdjRCYXNlRG9tYWluLmMKKysrKyBiL3NubXBsaWIvdHJhbnNwb3J0cy9zbm1wVURQSVB2NEJhc2VEb21haW4uYworQEAgLTQwLDYgKzQwLDEwIEBACisgCisgI2luY2x1ZGUgPG5ldC1zbm1wL2xpYnJhcnkvc25tcFNvY2tldEJhc2VEb21haW4uaD4KKyAKKysjaWZuZGVmIE5FVFNOTVBfTk9fU1lTVEVNRAorKyNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3NkLWRhZW1vbi5oPgorKyNlbmRpZgorKworICNpZiBkZWZpbmVkKEhBVkVfSVBfUEtUSU5GTykgfHwgZGVmaW5lZChIQVZFX0lQX1JFQ1ZEU1RBRERSKQorIGludCBuZXRzbm1wX3VkcGlwdjRfcmVjdmZyb20oaW50IHMsIHZvaWQgKmJ1ZiwgaW50IGxlbiwgc3RydWN0IHNvY2thZGRyICpmcm9tLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2xlbl90ICpmcm9tbGVuLCBzdHJ1Y3Qgc29ja2FkZHIgKmRzdGlwLAorQEAgLTY0LDYgKzY4LDcgQEAgbmV0c25tcF91ZHBpcHY0YmFzZV90cmFuc3BvcnQoc3RydWN0IHNvY2thZGRyX2luICphZGRyLCBpbnQgbG9jYWwpCisgICAgIGNoYXIgICAgICAgICAgICpjbGllbnRfc29ja2V0ID0gTlVMTDsKKyAgICAgbmV0c25tcF9pbmRleGVkX2FkZHJfcGFpciBhZGRyX3BhaXI7CisgICAgIHNvY2tsZW5fdCAgICAgICBsb2NhbF9hZGRyX2xlbjsKKysgICAgaW50ICAgICAgICAgICAgIHNvY2tldF9pbml0aWFsaXplZCA9IDA7CisgCisgI2lmZGVmIE5FVFNOTVBfTk9fTElTVEVOX1NVUFBPUlQKKyAgICAgaWYgKGxvY2FsKQorQEAgLTg4LDcgKzkzLDE5IEBAIG5ldHNubXBfdWRwaXB2NGJhc2VfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl9pbiAqYWRkciwgaW50IGxvY2FsKQorICAgICAgICAgZnJlZShzdHIpOworICAgICB9CisgCistICAgIHQtPnNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19ER1JBTSwgMCk7CisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysgICAgLyoKKysgICAgICogTWF5YmUgdGhlIHNvY2tldCB3YXMgYWxyZWFkeSBwcm92aWRlZCBieSBzeXN0ZW1kLi4uCisrICAgICAqLworKyAgICBpZiAobG9jYWwpIHsKKysgICAgICAgIHQtPnNvY2sgPSBuZXRzbm1wX3NkX2ZpbmRfaW5ldF9zb2NrZXQoUEZfSU5FVCwgU09DS19ER1JBTSwgLTEsCisrICAgICAgICAgICAgICAgIG50b2hzKGFkZHItPnNpbl9wb3J0KSk7CisrICAgICAgICBpZiAodC0+c29jaykKKysgICAgICAgICAgICBzb2NrZXRfaW5pdGlhbGl6ZWQgPSAxOworKyAgICB9CisrI2VuZGlmCisrICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKQorKyAgICAgICAgdC0+c29jayA9IHNvY2tldChQRl9JTkVULCBTT0NLX0RHUkFNLCAwKTsKKyAgICAgREVCVUdNU0dUTCgoIlVEUEJhc2UiLCAib3Blbm5lZCBzb2NrZXQgJWQgYXMgbG9jYWw9JWRcbiIsIHQtPnNvY2ssIGxvY2FsKSk7IAorICAgICBpZiAodC0+c29jayA8IDApIHsKKyAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CitAQCAtMTUxLDEyICsxNjgsMTQgQEAgbmV0c25tcF91ZHBpcHY0YmFzZV90cmFuc3BvcnQoc3RydWN0IHNvY2thZGRyX2luICphZGRyLCBpbnQgbG9jYWwpCisgICAgICAgICAgICAgfQorICAgICAgICAgfQorICNlbmRpZiAvKiAhZGVmaW5lZChXSU4zMikgKi8KKy0gICAgICAgIHJjID0gYmluZCh0LT5zb2NrLCAoc3RydWN0IHNvY2thZGRyICopIGFkZHIsCistICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcikpOworLSAgICAgICAgaWYgKHJjICE9IDApIHsKKy0gICAgICAgICAgICBuZXRzbm1wX3NvY2tldGJhc2VfY2xvc2UodCk7CistICAgICAgICAgICAgbmV0c25tcF90cmFuc3BvcnRfZnJlZSh0KTsKKy0gICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKSB7CisrICAgICAgICAgICAgcmMgPSBiaW5kKHQtPnNvY2ssIChzdHJ1Y3Qgc29ja2FkZHIgKikgYWRkciwKKysgICAgICAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKTsKKysgICAgICAgICAgICBpZiAocmMgIT0gMCkgeworKyAgICAgICAgICAgICAgICBuZXRzbm1wX3NvY2tldGJhc2VfY2xvc2UodCk7CisrICAgICAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CisrICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAgICAgICAgIHQtPmRhdGEgPSBOVUxMOworICAgICAgICAgdC0+ZGF0YV9sZW5ndGggPSAwOworZGlmZiAtLWdpdCBhL3NubXBsaWIvdHJhbnNwb3J0cy9zbm1wVURQSVB2NkRvbWFpbi5jIGIvc25tcGxpYi90cmFuc3BvcnRzL3NubXBVRFBJUHY2RG9tYWluLmMKK2luZGV4IDE4ZGU4NzYuLmZkMmNlZDQgMTAwNjQ0CistLS0gYS9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFVEUElQdjZEb21haW4uYworKysrIGIvc25tcGxpYi90cmFuc3BvcnRzL3NubXBVRFBJUHY2RG9tYWluLmMKK0BAIC02Nyw2ICs2NywxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGluNl9hZGRyIGluNmFkZHJfYW55ID0gSU42QUREUl9BTllfSU5JVDsKKyAjaW5jbHVkZSA8bmV0LXNubXAvbGlicmFyeS9zbm1wU29ja2V0QmFzZURvbWFpbi5oPgorICNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3Rvb2xzLmg+CisgCisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysjaW5jbHVkZSA8bmV0LXNubXAvbGlicmFyeS9zZC1kYWVtb24uaD4KKysjZW5kaWYKKysKKyAjaW5jbHVkZSAiaW5ldF9udG9wLmgiCisgI2luY2x1ZGUgImluZXRfcHRvbi5oIgorIAorQEAgLTE5MCw2ICsxOTQsOCBAQCBuZXRzbm1wX3VkcDZfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl9pbjYgKmFkZHIsIGludCBsb2NhbCkKKyB7CisgICAgIG5ldHNubXBfdHJhbnNwb3J0ICp0ID0gTlVMTDsKKyAgICAgaW50ICAgICAgICAgICAgIHJjID0gMDsKKysgICAgY2hhciAgICAgICAgICAgKnN0ciA9IE5VTEw7CisrICAgIGludCAgICAgICAgICAgICBzb2NrZXRfaW5pdGlhbGl6ZWQgPSAwOworIAorICNpZmRlZiBORVRTTk1QX05PX0xJU1RFTl9TVVBQT1JUCisgICAgIGlmIChsb2NhbCkKK0BAIC0yMTcsNyArMjIzLDE5IEBAIG5ldHNubXBfdWRwNl90cmFuc3BvcnQoc3RydWN0IHNvY2thZGRyX2luNiAqYWRkciwgaW50IGxvY2FsKQorICAgICB0LT5kb21haW5fbGVuZ3RoID0KKyAgICAgICAgIHNpemVvZihuZXRzbm1wX1VEUElQdjZEb21haW4pIC8gc2l6ZW9mKG5ldHNubXBfVURQSVB2NkRvbWFpblswXSk7CisgCistICAgIHQtPnNvY2sgPSBzb2NrZXQoUEZfSU5FVDYsIFNPQ0tfREdSQU0sIDApOworKyNpZm5kZWYgTkVUU05NUF9OT19TWVNURU1ECisrICAgIC8qCisrICAgICAqIE1heWJlIHRoZSBzb2NrZXQgd2FzIGFscmVhZHkgcHJvdmlkZWQgYnkgc3lzdGVtZC4uLgorKyAgICAgKi8KKysgICAgaWYgKGxvY2FsKSB7CisrICAgICAgICB0LT5zb2NrID0gbmV0c25tcF9zZF9maW5kX2luZXRfc29ja2V0KFBGX0lORVQ2LCBTT0NLX0RHUkFNLCAtMSwKKysgICAgICAgICAgICAgICAgbnRvaHMoYWRkci0+c2luNl9wb3J0KSk7CisrICAgICAgICBpZiAodC0+c29jaykKKysgICAgICAgICAgICBzb2NrZXRfaW5pdGlhbGl6ZWQgPSAxOworKyAgICB9CisrI2VuZGlmCisrICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKQorKyAgICAgICAgdC0+c29jayA9IHNvY2tldChQRl9JTkVUNiwgU09DS19ER1JBTSwgMCk7CisgICAgIGlmICh0LT5zb2NrIDwgMCkgeworICAgICAgICAgbmV0c25tcF90cmFuc3BvcnRfZnJlZSh0KTsKKyAgICAgICAgIHJldHVybiBOVUxMOworQEAgLTI0MywxMiArMjYxLDE0IEBAIG5ldHNubXBfdWRwNl90cmFuc3BvcnQoc3RydWN0IHNvY2thZGRyX2luNiAqYWRkciwgaW50IGxvY2FsKQorICAgICAgICAgfQorICNlbmRpZgorIAorLSAgICAgICAgcmMgPSBiaW5kKHQtPnNvY2ssIChzdHJ1Y3Qgc29ja2FkZHIgKikgYWRkciwKKy0JCSAgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9pbjYpKTsKKy0gICAgICAgIGlmIChyYyAhPSAwKSB7CistICAgICAgICAgICAgbmV0c25tcF9zb2NrZXRiYXNlX2Nsb3NlKHQpOworLSAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CistICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICBpZiAoIXNvY2tldF9pbml0aWFsaXplZCkgeworKyAgICAgICAgICAgIHJjID0gYmluZCh0LT5zb2NrLCAoc3RydWN0IHNvY2thZGRyICopIGFkZHIsCisrICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IHNvY2thZGRyX2luNikpOworKyAgICAgICAgICAgIGlmIChyYyAhPSAwKSB7CisrICAgICAgICAgICAgICAgIG5ldHNubXBfc29ja2V0YmFzZV9jbG9zZSh0KTsKKysgICAgICAgICAgICAgICAgbmV0c25tcF90cmFuc3BvcnRfZnJlZSh0KTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICAgICAgfQorICAgICAgICAgfQorICAgICAgICAgdC0+bG9jYWwgPSAodW5zaWduZWQgY2hhciopbWFsbG9jKDE4KTsKKyAgICAgICAgIGlmICh0LT5sb2NhbCA9PSBOVUxMKSB7CitkaWZmIC0tZ2l0IGEvc25tcGxpYi90cmFuc3BvcnRzL3NubXBVbml4RG9tYWluLmMgYi9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFVuaXhEb21haW4uYworaW5kZXggNDdkZmZjMS4uOGYzNGMzNyAxMDA2NDQKKy0tLSBhL3NubXBsaWIvdHJhbnNwb3J0cy9zbm1wVW5peERvbWFpbi5jCisrKysgYi9zbm1wbGliL3RyYW5zcG9ydHMvc25tcFVuaXhEb21haW4uYworQEAgLTM3LDYgKzM3LDEwIEBACisgI2luY2x1ZGUgPG5ldC1zbm1wL2xpYnJhcnkvc3lzdGVtLmg+IC8qIG1rZGlyaGllciAqLworICNpbmNsdWRlIDxuZXQtc25tcC9saWJyYXJ5L3Rvb2xzLmg+CisgCisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysjaW5jbHVkZSA8bmV0LXNubXAvbGlicmFyeS9zZC1kYWVtb24uaD4KKysjZW5kaWYKKysKKyBuZXRzbm1wX2ZlYXR1cmVfY2hpbGRfb2YodHJhbnNwb3J0X3VuaXhfc29ja2V0X2FsbCwgdHJhbnNwb3J0X2FsbCkKKyBuZXRzbm1wX2ZlYXR1cmVfY2hpbGRfb2YodW5peF9zb2NrZXRfcGF0aHMsIHRyYW5zcG9ydF91bml4X3NvY2tldF9hbGwpCisgCitAQCAtMjk1LDYgKzI5OSw4IEBAIG5ldHNubXBfdW5peF90cmFuc3BvcnQoc3RydWN0IHNvY2thZGRyX3VuICphZGRyLCBpbnQgbG9jYWwpCisgICAgIG5ldHNubXBfdHJhbnNwb3J0ICp0ID0gTlVMTDsKKyAgICAgc29ja2FkZHJfdW5fcGFpciAqc3VwID0gTlVMTDsKKyAgICAgaW50ICAgICAgICAgICAgIHJjID0gMDsKKysgICAgY2hhciAgICAgICAgICAgKnN0cmluZyA9IE5VTEw7CisrICAgIGludCAgICAgICAgICAgICBzb2NrZXRfaW5pdGlhbGl6ZWQgPSAwOworIAorICNpZmRlZiBORVRTTk1QX05PX0xJU1RFTl9TVVBQT1JUCisgICAgIC8qIFNQRUNJQUwgQ0lSQ1VNU1RBTkNFOiBXZSBzdGlsbCB3YW50IEFnZW50WCB0byBiZSBhYmxlIHRvIG9wZXJhdGUsCitAQCAtMzMzLDcgKzMzOSwxOCBAQCBuZXRzbm1wX3VuaXhfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl91biAqYWRkciwgaW50IGxvY2FsKQorICAgICB0LT5kYXRhX2xlbmd0aCA9IHNpemVvZihzb2NrYWRkcl91bl9wYWlyKTsKKyAgICAgc3VwID0gKHNvY2thZGRyX3VuX3BhaXIgKikgdC0+ZGF0YTsKKyAKKy0gICAgdC0+c29jayA9IHNvY2tldChQRl9VTklYLCBTT0NLX1NUUkVBTSwgMCk7CisrI2lmbmRlZiBORVRTTk1QX05PX1NZU1RFTUQKKysgICAgLyoKKysgICAgICogTWF5YmUgdGhlIHNvY2tldCB3YXMgYWxyZWFkeSBwcm92aWRlZCBieSBzeXN0ZW1kLi4uCisrICAgICAqLworKyAgICBpZiAobG9jYWwpIHsKKysgICAgICAgIHQtPnNvY2sgPSBuZXRzbm1wX3NkX2ZpbmRfdW5peF9zb2NrZXQoU09DS19TVFJFQU0sIDEsIGFkZHItPnN1bl9wYXRoKTsKKysgICAgICAgIGlmICh0LT5zb2NrKQorKyAgICAgICAgICAgIHNvY2tldF9pbml0aWFsaXplZCA9IDE7CisrICAgIH0KKysjZW5kaWYKKysgICAgaWYgKCFzb2NrZXRfaW5pdGlhbGl6ZWQpCisrICAgICAgICB0LT5zb2NrID0gc29ja2V0KFBGX1VOSVgsIFNPQ0tfU1RSRUFNLCAwKTsKKyAgICAgaWYgKHQtPnNvY2sgPCAwKSB7CisgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworICAgICAgICAgcmV0dXJuIE5VTEw7CitAQCAtMzU3LDI1ICszNzQsMjYgQEAgbmV0c25tcF91bml4X3RyYW5zcG9ydChzdHJ1Y3Qgc29ja2FkZHJfdW4gKmFkZHIsIGludCBsb2NhbCkKKyAKKyAgICAgICAgIHQtPmZsYWdzIHw9IE5FVFNOTVBfVFJBTlNQT1JUX0ZMQUdfTElTVEVOOworIAorLSAgICAgICAgdW5saW5rKGFkZHItPnN1bl9wYXRoKTsKKy0gICAgICAgIHJjID0gYmluZCh0LT5zb2NrLCAoc3RydWN0IHNvY2thZGRyICopIGFkZHIsIFNVTl9MRU4oYWRkcikpOworLQorLSAgICAgICAgaWYgKHJjICE9IDAgJiYgZXJybm8gPT0gRU5PRU5UICYmIGNyZWF0ZV9wYXRoKSB7CistICAgICAgICAgICAgcmMgPSBta2RpcmhpZXIoYWRkci0+c3VuX3BhdGgsIGNyZWF0ZV9tb2RlLCAxKTsKKysgICAgICAgIGlmICghc29ja2V0X2luaXRpYWxpemVkKSB7CisrICAgICAgICAgICAgdW5saW5rKGFkZHItPnN1bl9wYXRoKTsKKysgICAgICAgICAgICByYyA9IGJpbmQodC0+c29jaywgKHN0cnVjdCBzb2NrYWRkciAqKSBhZGRyLCBTVU5fTEVOKGFkZHIpKTsKKysgICAgICAgICAgICBpZiAocmMgIT0gMCAmJiBlcnJubyA9PSBFTk9FTlQgJiYgY3JlYXRlX3BhdGgpIHsKKysgICAgICAgICAgICAgICAgcmMgPSBta2RpcmhpZXIoYWRkci0+c3VuX3BhdGgsIGNyZWF0ZV9tb2RlLCAxKTsKKysgICAgICAgICAgICAgICAgaWYgKHJjICE9IDApIHsKKysgICAgICAgICAgICAgICAgICAgIG5ldHNubXBfdW5peF9jbG9zZSh0KTsKKysgICAgICAgICAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CisrICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICByYyA9IGJpbmQodC0+c29jaywgKHN0cnVjdCBzb2NrYWRkciAqKSBhZGRyLCBTVU5fTEVOKGFkZHIpKTsKKysgICAgICAgICAgICB9CisgICAgICAgICAgICAgaWYgKHJjICE9IDApIHsKKysgICAgICAgICAgICAgICAgREVCVUdNU0dUTCgoIm5ldHNubXBfdW5peF90cmFuc3BvcnQiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICJjb3VsZG4ndCBiaW5kIFwiJXNcIiwgZXJybm8gJWQgKCVzKVxuIiwKKysgICAgICAgICAgICAgICAgICAgICAgICBhZGRyLT5zdW5fcGF0aCwgZXJybm8sIHN0cmVycm9yKGVycm5vKSkpOworICAgICAgICAgICAgICAgICBuZXRzbm1wX3VuaXhfY2xvc2UodCk7CisgICAgICAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CisgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICByYyA9IGJpbmQodC0+c29jaywgKHN0cnVjdCBzb2NrYWRkciAqKSBhZGRyLCBTVU5fTEVOKGFkZHIpKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGlmIChyYyAhPSAwKSB7CistICAgICAgICAgICAgREVCVUdNU0dUTCgoIm5ldHNubXBfdW5peF90cmFuc3BvcnQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICJjb3VsZG4ndCBiaW5kIFwiJXNcIiwgZXJybm8gJWQgKCVzKVxuIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICBhZGRyLT5zdW5fcGF0aCwgZXJybm8sIHN0cmVycm9yKGVycm5vKSkpOworLSAgICAgICAgICAgIG5ldHNubXBfdW5peF9jbG9zZSh0KTsKKy0gICAgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworLSAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgfQorIAorICAgICAgICAgLyoKK0BAIC0zOTEsMTQgKzQwOSwxNiBAQCBuZXRzbm1wX3VuaXhfdHJhbnNwb3J0KHN0cnVjdCBzb2NrYWRkcl91biAqYWRkciwgaW50IGxvY2FsKQorICAgICAgICAgICogTm93IHNpdCBoZXJlIGFuZCBsaXN0ZW4gZm9yIGNvbm5lY3Rpb25zIHRvIGFycml2ZS4KKyAgICAgICAgICAqLworIAorLSAgICAgICAgcmMgPSBsaXN0ZW4odC0+c29jaywgTkVUU05NUF9TVFJFQU1fUVVFVUVfTEVOKTsKKy0gICAgICAgIGlmIChyYyAhPSAwKSB7CistICAgICAgICAgICAgREVCVUdNU0dUTCgoIm5ldHNubXBfdW5peF90cmFuc3BvcnQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICJjb3VsZG4ndCBsaXN0ZW4gdG8gXCIlc1wiLCBlcnJubyAlZCAoJXMpXG4iLAorLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZHItPnN1bl9wYXRoLCBlcnJubywgc3RyZXJyb3IoZXJybm8pKSk7CistICAgICAgICAgICAgbmV0c25tcF91bml4X2Nsb3NlKHQpOworLSAgICAgICAgICAgIG5ldHNubXBfdHJhbnNwb3J0X2ZyZWUodCk7CistICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICBpZiAoIXNvY2tldF9pbml0aWFsaXplZCkgeworKyAgICAgICAgICAgIHJjID0gbGlzdGVuKHQtPnNvY2ssIE5FVFNOTVBfU1RSRUFNX1FVRVVFX0xFTik7CisrICAgICAgICAgICAgaWYgKHJjICE9IDApIHsKKysgICAgICAgICAgICAgICAgREVCVUdNU0dUTCgoIm5ldHNubXBfdW5peF90cmFuc3BvcnQiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY291bGRuJ3QgbGlzdGVuIHRvIFwiJXNcIiwgZXJybm8gJWQgKCVzKVxuIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkci0+c3VuX3BhdGgsIGVycm5vLCBzdHJlcnJvcihlcnJubykpKTsKKysgICAgICAgICAgICAgICAgbmV0c25tcF91bml4X2Nsb3NlKHQpOworKyAgICAgICAgICAgICAgICBuZXRzbm1wX3RyYW5zcG9ydF9mcmVlKHQpOworKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgICAgICB9CisgICAgICAgICB9CisgCisgICAgIH0gZWxzZSB7CitkaWZmIC0tZ2l0IGEvd2luMzIvbGlic25tcC9NYWtlZmlsZS5pbiBiL3dpbjMyL2xpYnNubXAvTWFrZWZpbGUuaW4KK2luZGV4IDk4ZDgzYzguLmIyMjhkMjAgMTAwNjQ0CistLS0gYS93aW4zMi9saWJzbm1wL01ha2VmaWxlLmluCisrKysgYi93aW4zMi9saWJzbm1wL01ha2VmaWxlLmluCitAQCAtNDIsNiArNDIsNyBAQCBMSUIzMl9PQkpTPSBcCisgCSIkKElOVERJUilccmVhZF9jb25maWcub2JqIiBcCisgCSIkKElOVERJUilccmVhZGRpci5vYmoiIFwKKyAJIiQoSU5URElSKVxzY2FwaS5vYmoiIFwKKysgICAgICAgICIkKElOVERJUilcc2QtZGFlbW9uLm9iaiIgXAorIAkiJChJTlRESVIpXHNubXAtdGMub2JqIiBcCisgCSIkKElOVERJUilcc25tcC5vYmoiIFwKKyAJIiQoSU5URElSKVxzbm1wQ2FsbGJhY2tEb21haW4ub2JqIiBcCitAQCAtMTM4LDYgKzEzOSwxMSBAQCBTT1VSQ0U9Li5cLi5cc25tcGxpYlxhc24xLmMKKyAiJChJTlRESVIpXGFzbjEub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIgorIAkkKENQUCkgJChDUFBfUFJPSikgJChTT1VSQ0UpCisgCisrU09VUkNFPS4uXC4uXHNubXBsaWJcc2QtZGFlbW9uLmMKKysKKysiJChJTlRESVIpXHNkLWRhZW1vbi5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiCisrICAgICAgICQoQ1BQKSAkKENQUF9QUk9KKSAkKFNPVVJDRSkKKysKKyAKKyBTT1VSQ0U9Li5cLi5cc25tcGxpYlxjYWxsYmFjay5jCisgCitkaWZmIC0tZ2l0IGEvd2luMzIvbmV0LXNubXAvbmV0LXNubXAtY29uZmlnLmggYi93aW4zMi9uZXQtc25tcC9uZXQtc25tcC1jb25maWcuaAoraW5kZXggMTYwODU2My4uN2FlYzU0NyAxMDA2NDQKKy0tLSBhL3dpbjMyL25ldC1zbm1wL25ldC1zbm1wLWNvbmZpZy5oCisrKysgYi93aW4zMi9uZXQtc25tcC9uZXQtc25tcC1jb25maWcuaAorQEAgLTE3MTcsNiArMTcxNyw4IEBAIGVudW0geworICNkZWZpbmUgRE1BTExPQ19GVU5DX0NIRUNLCisgI2VuZGlmCisgCisrKyNkZWZpbmUgTkVUU05NUF9OT19TWVNURU1ECisrKworIC8qICN1bmRlZiBORVRTTk1QX0VOQUJMRV9MT0NBTF9TTVVYICovCisgCisgLyogZGVmaW5lIGlmIGFnZW50eCB0cmFuc3BvcnQgaXMgdG8gdXNlIGRvbWFpbiBzb2NrZXRzIG9ubHkgKi8KK2RpZmYgLS1naXQgYS93aW4zMi9uZXQtc25tcC9uZXQtc25tcC1jb25maWcuaC5pbiBiL3dpbjMyL25ldC1zbm1wL25ldC1zbm1wLWNvbmZpZy5oLmluCitpbmRleCA5NjkzNzMwLi45NmVjM2Q5IDEwMDY0NAorLS0tIGEvd2luMzIvbmV0LXNubXAvbmV0LXNubXAtY29uZmlnLmguaW4KKysrKyBiL3dpbjMyL25ldC1zbm1wL25ldC1zbm1wLWNvbmZpZy5oLmluCitAQCAtMTcxNyw2ICsxNzE3LDggQEAgZW51bSB7CisgI2RlZmluZSBETUFMTE9DX0ZVTkNfQ0hFQ0sKKyAjZW5kaWYKKyAKKysjZGVmaW5lIE5FVFNOTVBfTk9fU1lTVEVNRAorKworIC8qICN1bmRlZiBORVRTTk1QX0VOQUJMRV9MT0NBTF9TTVVYICovCisgCisgLyogZGVmaW5lIGlmIGFnZW50eCB0cmFuc3BvcnQgaXMgdG8gdXNlIGRvbWFpbiBzb2NrZXRzIG9ubHkgKi8KKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcF81LjcuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wXzUuNy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlODg3OGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcF81LjcuMy5iYgpAQCAtMCwwICsxLDE4MCBAQAorU1VNTUFSWSA9ICJWYXJpb3VzIHRvb2xzIHJlbGF0aW5nIHRvIHRoZSBTaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uZXQtc25tcC5vcmcvIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0zO2VuZGxpbmU9ODttZDU9N2Y3ZjAwYmE2MzlhYzhlOGRlYjVhNjIyZWEyNDYzNGUiCisKK0RFUEVORFMgPSAib3BlbnNzbCBsaWJubCBwY2l1dGlscyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbmV0LXNubXAvbmV0LXNubXAtJHtQVn0uemlwIFwKKyAgICAgICAgZmlsZTovL2luaXQgXAorICAgICAgICBmaWxlOi8vc25tcGQuY29uZiBcCisgICAgICAgIGZpbGU6Ly9zbm1wdHJhcGQuY29uZiBcCisgICAgICAgIGZpbGU6Ly9zeXN0ZW1kLXN1cHBvcnQucGF0Y2ggXAorICAgICAgICBmaWxlOi8vc25tcGQuc2VydmljZSBcCisgICAgICAgIGZpbGU6Ly9zbm1wdHJhcGQuc2VydmljZSBcCisgICAgICAgIGZpbGU6Ly9uZXQtc25tcC1hZGQta25vYi13aGV0aGVyLW5saXN0LmgtYXJlLWNoZWNrZWQucGF0Y2ggXAorICAgICAgICBmaWxlOi8vZml4LWxpYnRvb2wtZmluaXNoLnBhdGNoIFwKKyAgICAgICAgZmlsZTovL25ldC1zbm1wLXRlc3RpbmctYWRkLXRoZS1vdXRwdXQtZm9ybWF0LWZvci1wdGVzdC5wYXRjaCBcCisgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICBmaWxlOi8vZG9udC1yZXR1cm4taW5jb21wbGV0ZWx5LXBhcnNlZC12YXJiaW5kcy5wYXRjaCBcCisgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ19vc19oZWFkZXJzLUVycm9yLUZpeC5wYXRjaCBcCisgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ19vc19saWJzMi1FcnJvci1GaXgucGF0Y2ggXAorICAgICAgICBmaWxlOi8vMDAwMS1zbm1wbGliLWtleXRvb2xzLmMtRG9uLXQtY2hlY2stZm9yLXJldHVybi1mcm9tLUVWUF9NLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZjY4MmJkNzBjNzE3ZWZkZDlmMTViNjg2ZDA3YmFlZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlOGRmYzc5YjY1MzliNzFhNmZmMzM1NzQ2Y2U2M2QyZGEyMjM5MDYyYWQ0MTg3MmZmZjQzNTRjYWZlZDA3YTNlIgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzaXRlaW5mbyBzeXN0ZW1kIHBrZ2NvbmZpZworCitFWFRSQV9PRU1BS0UgPSAiSU5TVEFMTF9QUkVGSVg9JHtEfSBPVEhFUkxERkxBR1M9JyR7TERGTEFHU30nIEhPU1RfQ1BQRkxBR1M9JyR7QlVJTERfQ1BQRkxBR1N9JyIKKworUEFSQUxMRUxfTUFLRSA9ICIiCitDQ0FDSEUgPSAiIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbZWxmdXRpbHNdID0gIi0td2l0aC1lbGYsIC0td2l0aG91dC1lbGYsIGVsZnV0aWxzIgorUEFDS0FHRUNPTkZJR1tsaWJubF0gPSAiLS13aXRoLW5sLCAtLXdpdGhvdXQtbmwsIGxpYm5sIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJ2lwdjYnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCwiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZW1iZWRkZWQtcGVybCBcCisgICAgICAgICAgICAgICAgLS13aXRoLXBlcmwtbW9kdWxlcz1ubyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW1hbnVhbHMgXAorICAgICAgICAgICAgICAgIC0td2l0aC1kZWZhdWx0cyBcCisgICAgICAgICAgICAgICAgLS13aXRoLWluc3RhbGwtcHJlZml4PSR7RH0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1wZXJzaXN0ZW50LWRpcmVjdG9yeT0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZXQtc25tcCBcCisgICAgICAgICAgICAgICAgJHtAYmFzZV9jb25kaXRpb25hbCgnU0lURUlORk9fRU5ESUFOTkVTUycsICdsZScsICctLXdpdGgtZW5kaWFubmVzcz1saXR0bGUnLCAnLS13aXRoLWVuZGlhbm5lc3M9YmlnJywgZCl9IgorCisjIG5ldC1zbm1wIG5lZWRzIHRvIGhhdmUgbWliLW1vZHVsZXM9c211eCBlbmFibGVkIHRvIGVuYWJsZSBxdWFnZ2EgdG8gc3VwcG9ydCBzbm1wCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1taWItbW9kdWxlcz1zbXV4IgorCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICIgXAorICAgIGFjX2N2X2hlYWRlcl92YWxncmluZF92YWxncmluZF9oPW5vIFwKKyAgICBhY19jdl9oZWFkZXJfdmFsZ3JpbmRfbWVtY2hlY2tfaD1ubyBcCisgICAgYWNfY3ZfRVRDX01OVFRBQj0vZXRjL210YWIgXAorICAgIGx0X2N2X3NobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD15ZXMgXAorIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBleHBvcnQgUEVSTFBST0c9IiR7YmluZGlyfS9lbnYgcGVybCIKKyAgICBzZWQgLWkgLWUgInN8SS91c3IvaW5jbHVkZXxJJHtTVEFHSU5HX0lOQ0RJUn18ZyIgXAorICAgICAgICAiJHtTfSIvY29uZmlndXJlIFwKKyAgICAgICAgIiR7U30iL2NvbmZpZ3VyZS5kL2NvbmZpZ19vc19saWJzMgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3NubXAKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc25tcGQKKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3NubXBkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vc25tcC8KKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3NubXB0cmFwZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3NubXAvCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NubXBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zbm1wdHJhcGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAgICAtZSAic0BeTlNDX1NSQ0RJUj0uKkBOU0NfU1JDRElSPS5AZyIgXAorICAgICAgICAtaSAke0R9JHtiaW5kaXJ9L25ldC1zbm1wLWNyZWF0ZS12My11c2VyCisgICAgc2VkICAgIC1lICJzQF5OU0NfU1JDRElSPS4qQE5TQ19TUkNESVI9LkBnIiBcCisgICAgICAgIC1pICR7RH0ke2JpbmRpcn0vbmV0LXNubXAtY29uZmlnCit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfQorICAgIGZvciBpIGluICR7U30vZGlzdCAke1N9L2luY2x1ZGUgJHtCfS9pbmNsdWRlICR7U30vbWlicyAke1N9L2NvbmZpZ3VyZSBcCisgICAgICAgICR7Qn0vbmV0LXNubXAtY29uZmlnICR7U30vdGVzdGluZzsgZG8KKyAgICAgICAgaWYgWyAtZSAiJGkiIF07IHRoZW4KKyAgICAgICAgICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICIkaSIgJHtEfSR7UFRFU1RfUEFUSH0KKyAgICAgICAgZmkKKyAgICBkb25lCisgICAgZWNobyBgYXV0b2NvbmYgLVZ8YXdrICcvYXV0b2NvbmYve3ByaW50ICRORn0nYCA+ICR7RH0ke1BURVNUX1BBVEh9L2Rpc3QvYXV0b2NvbmYtdmVyc2lvbgorCisgICAgcm1kbGlzdD0iJHtEfSR7UFRFU1RfUEFUSH0vZGlzdC9uZXQtc25tcC1zb2xhcmlzLWJ1aWxkIgorICAgIGZvciBpIGluICRybWRsaXN0OyBkbworICAgICAgICBpZiBbIC1kICIkaSIgXTsgdGhlbgorICAgICAgICAgICAgcm0gLXJmICIkaSIKKyAgICAgICAgZmkKKyAgICBkb25lCit9CisKK1NZU1JPT1RfUFJFUFJPQ0VTU19GVU5DUyArPSAibmV0X3NubXBfc3lzcm9vdF9wcmVwcm9jZXNzIgorCituZXRfc25tcF9zeXNyb290X3ByZXByb2Nlc3MgKCkgeworICAgIGlmIFsgLWUgJHtEfSR7YmluZGlyfS9uZXQtc25tcC1jb25maWcgXTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vCisgICAgICAgIGluc3RhbGwgLW0gNzU1ICR7RH0ke2JpbmRpcn0vbmV0LXNubXAtY29uZmlnICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vCisgICAgICAgIHNlZCAtZSAic0AtSS91c3IvaW5jbHVkZUAtSSR7U1RBR0lOR19JTkNESVJ9QGciIFwKKyAgICAgICAgICAgIC1lICJzQF5wcmVmaXg9LipAcHJlZml4PSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH1AZyIgXAorICAgICAgICAgICAgLWUgInNAXmV4ZWNfcHJlZml4PS4qQGV4ZWNfcHJlZml4PSR7U1RBR0lOR19FWEVDUFJFRklYRElSfUBnIiBcCisgICAgICAgICAgICAtZSAic0BeaW5jbHVkZWRpcj0uKkBpbmNsdWRlZGlyPSR7U1RBR0lOR19JTkNESVJ9QGciIFwKKyAgICAgICAgICAgIC1lICJzQF5saWJkaXI9LipAbGliZGlyPSR7U1RBR0lOR19MSUJESVJ9QGciIFwKKyAgICAgICAgICAgIC1lICJzQF5OU0NfU1JDRElSPS4qQE5TQ19TUkNESVI9JHtTfUBnIiBcCisgICAgICAgICAgLWkgICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vbmV0LXNubXAtY29uZmlnCisgICAgZmkKK30KKworUEFDS0FHRVMgKz0gIiR7UE59LWxpYnMgJHtQTn0tbWlicyAke1BOfS1zZXJ2ZXIgJHtQTn0tY2xpZW50ICR7UE59LXNlcnZlci1zbm1wZCAke1BOfS1zZXJ2ZXItc25tcHRyYXBkIgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorQUxMT1dfRU1QVFlfJHtQTn0tc2VydmVyID0gIjEiCisKK0ZJTEVTXyR7UE59LWxpYnMgPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30iCitGSUxFU18ke1BOfS1taWJzID0gIiR7ZGF0YWRpcn0vc25tcC9taWJzIgorRklMRVNfJHtQTn0tc2VydmVyLXNubXBkID0gIiR7c2JpbmRpcn0vc25tcGQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vc25tcC9zbm1wZC5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zbm1wZC5zZXJ2aWNlIFwKKyIKKworRklMRVNfJHtQTn0tc2VydmVyLXNubXB0cmFwZCA9ICIke3NiaW5kaXJ9L3NubXB0cmFwZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vc25tcC9zbm1wdHJhcGQuY29uZiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc25tcHRyYXBkLnNlcnZpY2UgXAorIgorCitGSUxFU18ke1BOfSA9ICIiCitGSUxFU18ke1BOfS1jbGllbnQgPSAiJHtiaW5kaXJ9LyogJHtkYXRhZGlyfS9zbm1wLyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9Ly5kZWJ1Zy8gJHtzYmluZGlyfS8uZGVidWcvICR7YmluZGlyfS8uZGVidWcvIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0vbWliMmMgJHtiaW5kaXJ9L21pYjJjLXVwZGF0ZSIKKworQ09ORkZJTEVTXyR7UE59LXNlcnZlci1zbm1wZCA9ICIke3N5c2NvbmZkaXJ9L3NubXAvc25tcGQuY29uZiIKK0NPTkZGSUxFU18ke1BOfS1zZXJ2ZXItc25tcHRyYXBkID0gIiR7c3lzY29uZmRpcn0vc25tcC9zbm1wdHJhcGQuY29uZiIKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1zZXJ2ZXIiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tc2VydmVyID0gInNubXBkIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0tc2VydmVyID0gInN0YXJ0IDkwIDIgMyA0IDUgLiBzdG9wIDYwIDAgMSA2IC4iCisKK0VYVFJBX09FQ09ORiArPSAiJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnLS13aXRoLXN5c3RlbWQnLCAnLS13aXRob3V0LXN5c3RlbWQnLCBkKX0iCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0tc2VydmVyLXNubXBkIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tc2VydmVyLXNubXB0cmFwZCIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNlcnZlci1zbm1wZCA9ICJzbm1wZC5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNlcnZlci1zbm1wdHJhcGQgPSAgInNubXB0cmFwZC5zZXJ2aWNlIgorCitSREVQRU5EU18ke1BOfSArPSAibmV0LXNubXAtY2xpZW50IgorUkRFUEVORFNfJHtQTn0tc2VydmVyLXNubXBkICs9ICJuZXQtc25tcC1taWJzIgorUkRFUEVORFNfJHtQTn0tc2VydmVyLXNubXB0cmFwZCArPSAibmV0LXNubXAtc2VydmVyLXNubXBkIgorUkRFUEVORFNfJHtQTn0tc2VydmVyICs9ICJuZXQtc25tcC1zZXJ2ZXItc25tcGQgbmV0LXNubXAtc2VydmVyLXNubXB0cmFwZCIKK1JERVBFTkRTXyR7UE59LWNsaWVudCArPSAibmV0LXNubXAtbWlicyIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJwZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXN0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS10ZW1wIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciBcCisiCitSREVQRU5EU18ke1BOfS1kZXYgPSAibmV0LXNubXAtY2xpZW50ICg9ICR7RVhURU5EUEtHVn0pIG5ldC1zbm1wLXNlcnZlciAoPSAke0VYVEVORFBLR1Z9KSIKK1JSRUNPTU1FTkRTXyR7UE59LWRiZyA9ICJuZXQtc25tcC1jbGllbnQgKD0gJHtFWFRFTkRQS0dWfSkgbmV0LXNubXAtc2VydmVyICg9ICR7RVhURU5EUEtHVn0pIgorCitSUFJPVklERVNfJHtQTn0tc2VydmVyLXNubXBkICs9ICIke1BOfS1zZXJ2ZXItc25tcGQtc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfS1zZXJ2ZXItc25tcGQgKz0gIiR7UE59LXNlcnZlci1zbm1wZC1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfS1zZXJ2ZXItc25tcGQgKz0gIiR7UE59LXNlcnZlci1zbm1wZC1zeXN0ZW1kIgorCitSUFJPVklERVNfJHtQTn0tc2VydmVyLXNubXB0cmFwZCArPSAiJHtQTn0tc2VydmVyLXNubXB0cmFwZC1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59LXNlcnZlci1zbm1wdHJhcGQgKz0gIiR7UE59LXNlcnZlci1zbm1wdHJhcGQtc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0tc2VydmVyLXNubXB0cmFwZCArPSAiJHtQTn0tc2VydmVyLXNubXB0cmFwZC1zeXN0ZW1kIgorCitMRUFEX1NPTkFNRSA9ICJsaWJuZXRzbm1wLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmZsb3cvb3BlbmZsb3cuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmZsb3cvb3BlbmZsb3cuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmNDY1Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVuZmxvdy9vcGVuZmxvdy5pbmMKQEAgLTAsMCArMSwzOCBAQAorU1VNTUFSWSA9ICJPcGVuRmxvdyBjb21tdW5pY2F0aW9ucyBwcm90b2NvbCIKK0RFU0NSSVBUSU9OID0gIlwKK09wZW4gc3RhbmRhcmQgdGhhdCBlbmFibGVzIHJlc2VhcmNoZXJzIHRvIHJ1biBleHBlcmltZW50YWwgcHJvdG9jb2xzIGluIFwKK2NvbnRhaW5lZCBuZXR3b3Jrcy4gIE9wZW5GbG93IGlzIGEgY29tbXVuaWNhdGlvbnMgaW50ZXJmYWNlIGJldHdlZW4gXAorY29udHJvbCBhbmQgZm9yd2FyZGluZyBwbGFuZXMgb2YgYSBzb2Z0d2FyZS1kZWZpbmVkIG5ldHdvcmtpbmcgYXJjaGl0ZWN0dXJlLlwKKyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbmZsb3cub3JnIgorCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU4NzBjOTM0ZTJjM2Q2Y2NmMDg1ZmQ3Y2YwYTFlMmUyIgorCitTUkNfVVJJID0gImdpdDovL2dpdG9zaXMuc3RhbmZvcmQuZWR1L29wZW5mbG93LmdpdDtwcm90b2NvbD1naXQiCisKK0RFUEVORFMgPSAidmlydHVhbC9saWJjIgorCitQQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtc3NsLC0tZGlzYWJsZS1zc2wsIG9wZW5zc2wsIGxpYnNzbCIKKworRVhUUkFfT0VDT05GICs9ICIgXAorICAgICAgICAgICAgICAgICBLQVJDSD0ke1RBUkdFVF9BUkNIfSBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnb3BlbnNzbCcsICdTU0xfTElCUz0iLWxzc2wgLWxjcnlwdG8iJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworZG9fY29uZmlndXJlKCkgeworICAgIC4vYm9vdC5zaAorICAgIG9lX3J1bmNvbmYKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBSZW1vdmUgL3Zhci9ydW4gYXMgaXQgaXMgY3JlYXRlZCBvbiBzdGFydHVwCisgICAgcm0gLXJmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmZsb3cvb3BlbmZsb3dfMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmZsb3cvb3BlbmZsb3dfMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3ZTI1NGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVuZmxvdy9vcGVuZmxvd18xLjAuYmIKQEAgLTAsMCArMSw0IEBACitpbmNsdWRlICR7QlBOfS5pbmMKKworU1JDUkVWID0gIjVjY2NhNzVhNjlmOTk3OTE2NTliY2ZiY2YzNTM1M2FiMTkyMTMyMGEiCitQViA9ICIxLjAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVuZmxvdy9vcGVuZmxvd19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVuZmxvdy9vcGVuZmxvd19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQwM2JmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL29wZW5mbG93L29wZW5mbG93X2dpdC5iYgpAQCAtMCwwICsxLDQgQEAKK2luY2x1ZGUgJHtCUE59LmluYworCitTUkNSRVYgPSAiYzg0ZjMzZjA5ZDVkYmNmYzliNDg5ZjY0Y2IzMDQ3NWJmMzZmNjUzYSIKK1BWID0gIjEuMCtnaXQke1NSQ1BWfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL29wZW5sMnRwL29wZW5sMnRwL01ha2VmaWxlLW1vZGlmeS1DRkxBR1MtdG8tYXZpb2QtYnVpbGQtZXJyb3IucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVubDJ0cC9vcGVubDJ0cC9NYWtlZmlsZS1tb2RpZnktQ0ZMQUdTLXRvLWF2aW9kLWJ1aWxkLWVycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2ZGJjNzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVubDJ0cC9vcGVubDJ0cC9NYWtlZmlsZS1tb2RpZnktQ0ZMQUdTLXRvLWF2aW9kLWJ1aWxkLWVycm9yLnBhdGNoCkBAIC0wLDAgKzEsMTA2IEBACitGcm9tIDE1MjQ4NmZhM2MzNmMzYjk5ZDE3ZDViNTUzY2Y4N2VmNDEyZmFlOGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBNb24sIDEgRGVjIDIwMTQgMDE6NTM6NDEgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGU6bW9kaWZ5IENGTEFHUyB0byBhdmlvZCBidWlsZCBlcnJvci4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIE1ha2VmaWxlICAgICAgICAgfCAyMiArKysrKysrKysrKy0tLS0tLS0tLS0tCisgcGx1Z2lucy9NYWtlZmlsZSB8ICA2ICsrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCA0YWFhNDQ4Li5iYWE3ODgyIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMTUyLDEwICsxNTIsMTAgQEAgTElCUy5kbWFsbG9jPQkJLWxkbWFsbG9jCisgZXhwb3J0IFVTRV9ETUFMTE9DCisgZW5kaWYKKyAKKy1DUFBGTEFHUz0JCSQoQ1BQRkxBR1MubDJ0cHRlc3QpICQoQ1BQRkxBR1MteSkKKy1DRkxBR1M9CQkJLUkuIC1JdXNsIC1JY2xpIC1pc3lzdGVtIGluY2x1ZGUgXAorLQkJCQktTU1EIC1XYWxsIC1XZXJyb3IgLVduby1zdHJpY3QtYWxpYXNpbmcgXAorLQkJCQkkKENQUEZMQUdTKSAkKENQUEZMQUdTLmRtYWxsb2MpIFwKKytBRERfQ1BQRkxBR1M9CQkkKENQUEZMQUdTLmwydHB0ZXN0KSAkKENQUEZMQUdTLXkpCisrQUREX0NGTEFHUz0JCQktSS4gLUl1c2wgLUljbGkgLWlzeXN0ZW0gaW5jbHVkZSBcCisrCQkJCS1NTUQgLVdhbGwgLVduby1zdHJpY3QtYWxpYXNpbmcgXAorKwkJCQkkKEFERF9DUFBGTEFHUykgJChDUFBGTEFHUy5kbWFsbG9jKSBcCisgCQkJCS1EU1lTX0xJQkRJUj0kKFNZU19MSUJESVIpCisgTERGTEFHUy5sMnRwZD0JCS1XbCwtRSAtTC4gLUx1c2wgLWx1c2wgLWxkbCAkKExJQlMuZG1hbGxvYykgLWxjCisgTERGTEFHUy5sMnRwY29uZmlnPQktTGNsaSAtbGNsaSAtbHJlYWRsaW5lICQoTElCUy5kbWFsbG9jKSAkKFJFQURMSU5FX0xERkxBR1MpIC1sYworQEAgLTE3MCwxMCArMTcwLDEwIEBAIENGTEFHUy5vcHRpbWl6ZT0JJChPUFRfQ0ZMQUdTKQorIGVuZGlmCisgZXhwb3J0IENGTEFHUy5vcHRpbWl6ZQorIAorLUNGTEFHUys9CQkkKENGTEFHUy5vcHRpbWl6ZSkKKytBRERfQ0ZMQUdTKz0JCSQoQ0ZMQUdTLm9wdGltaXplKQorIAorIGlmZXEgKCQoTDJUUF9VU0VfQVNZTkNfUlBDKSx5KQorLUNQUEZMQUdTKz0JCS1ETDJUUF9BU1lOQ19SUEMKKytBRERfQ1BQRkxBR1MrPQkJLURMMlRQX0FTWU5DX1JQQworIGVuZGlmCisgCisgaWZlcSAoJChMMlRQX0ZFQVRVUkVfUlBDX01BTkFHRU1FTlQpLHkpCitAQCAtMjIwLDEzICsyMjAsMTMgQEAgZW5kaWYKKyAKKyAjIENvbXBpbGUgd2l0aG91dCAtV2FsbCBiZWNhdXNlIHJwY2dlbi1nZW5lcmF0ZWQgY29kZSBpcyBmdWxsIG9mIHdhcm5pbmdzLgorICVfeGRyLm86CQklX3hkci5jCistCQkJJChDQykgLUkuIC1NTUQgLXcgJChDRkxBR1Mub3B0aW1pemUpIC1jICQoQ1BQRkxBR1MpICQ8CisrCQkJJChDQykgLUkuIC1NTUQgLXcgJChDRkxBR1Mub3B0aW1pemUpIC1jICQoQUREX0NQUEZMQUdTKSAkPAorIAorICVfY2xpZW50Lm86CQklX2NsaWVudC5jCistCQkJJChDQykgLUkuIC1NTUQgLXcgJChDRkxBR1Mub3B0aW1pemUpIC1jICQoQ1BQRkxBR1MpICQ8CisrCQkJJChDQykgLUkuIC1NTUQgLXcgJChDRkxBR1Mub3B0aW1pemUpIC1jICQoQUREX0NQUEZMQUdTKSAkPAorIAorICVfc2VydmVyLm86CQklX3NlcnZlci5jCistCQkJJChDQykgLUkuIC1NTUQgLXcgJChDRkxBR1Mub3B0aW1pemUpIC1jICQoQ1BQRkxBR1MpICQ8CisrCQkJJChDQykgLUkuIC1NTUQgLXcgJChDRkxBR1Mub3B0aW1pemUpIC1jICQoQUREX0NQUEZMQUdTKSAkPAorIAorICVfeGRyLmM6CQklLngKKyAJCQktJChSTSkgJEAKK0BAIC0yNzIsNyArMjcyLDcgQEAgbDJ0cGNvbmZpZzoJCSQoTDJUUENPTkZJR19TUkNTLm8pCisgCQkJJChDQykgLW8gJEAgJF4gJChMREZMQUdTLmwydHBjb25maWcpCisgCisgJS5vOgklLmMKKy0JCQkkKENDKSAtYyAkKENGTEFHUykgJDwgLW8gJEAKKysJCQkkKENDKSAtYyAkKENGTEFHUykgJChBRERfQ0ZMQUdTKSAkPCAtbyAkQAorIAorIGwydHBfb3B0aW9ucy5oOglGT1JDRQorIAlAcm0gLWYgJEAudG1wCitAQCAtMzI1LDcgKzMyNSw3IEBAIGluc3RhbGw6CQlpbnN0YWxsLWFsbAorIGluc3RhbGwtYWxsOgkJYWxsIGluc3RhbGwtZGFlbW9uIGluc3RhbGwtYXBwCisgCisgaW5zdGFsbC1kYWVtb246CistCQkJQGZvciBkIGluICQoZmlsdGVyLW91dCB1c2wsJChTVUJESVJTKSk7IGRvICQoTUFLRSkgLUMgJCRkICQoTUZMQUdTKSBFWFRSQV9DRkxBR1M9IiQoQ1BQRkxBR1MpIiBpbnN0YWxsOyBpZiBbICQkPyAtbmUgMCBdOyB0aGVuIGV4aXQgMTsgZmk7IGRvbmUKKysJCQlAZm9yIGQgaW4gJChmaWx0ZXItb3V0IHVzbCwkKFNVQkRJUlMpKTsgZG8gJChNQUtFKSAtQyAkJGQgJChNRkxBR1MpIEVYVFJBX0NGTEFHUz0iJChDUFBGTEFHUykgJChBRERfQ1BQRkxBR1MpIiBpbnN0YWxsOyBpZiBbICQkPyAtbmUgMCBdOyB0aGVuIGV4aXQgMTsgZmk7IGRvbmUKKyAJCQkkKElOU1RBTEwpIC1kICQoREVTVERJUikvdXNyL3NiaW4KKyAJCQkkKElOU1RBTEwpIG9wZW5sMnRwZCAkKERFU1RESVIpL3Vzci9zYmluCisgCitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9NYWtlZmlsZSBiL3BsdWdpbnMvTWFrZWZpbGUKK2luZGV4IDViZTk5NmQuLjY4MTAyMzYgMTAwNjQ0CistLS0gYS9wbHVnaW5zL01ha2VmaWxlCisrKysgYi9wbHVnaW5zL01ha2VmaWxlCitAQCAtMSw3ICsxLDcgQEAKKy1DRkxBR1MJOj0gJChDRkxBR1Mub3B0aW1pemUpIC1NTUQgLVdhbGwgXAorK0FERF9DRkxBR1MJOj0gJChDRkxBR1Mub3B0aW1pemUpIC1NTUQgLVdhbGwgXAorIAktaXN5c3RlbSAuLi9pbmNsdWRlIFwKKyAJLUkuIC1JLi4gLUkuLi91c2wgLWZQSUMgJChFWFRSQV9DRkxBR1MpCistTERGTEFHUwk6PSAtc2hhcmVkCisrQUREX0xERkxBR1MJOj0gLXNoYXJlZAorIAorIFBMVUdJTlMuYzo9CXBwcF91bml4LmMgcHBwX251bGwuYyBpcHNlYy5jIGV2ZW50X3NvY2suYworIAorQEAgLTIxLDcgKzIxLDcgQEAgY2xlYW46CisgCQkkKFJNKSAkKFBMVUdJTlMuc28pICQod2lsZGNhcmQgKi5vKSAkKHdpbGRjYXJkICouZCkgJChTUkMuZ2VuZXJhdGVkKQorIAorICUuc286ICUuYworLQkJJChDQykgLW8gJEAgJChMREZMQUdTKSAkKENGTEFHUykgJDwKKysJCSQoQ0MpIC1vICRAICQoTERGTEFHUykgJChBRERfTERGTEFHUykgJChDRkxBR1MpICQoQUREX0NGTEFHUykgJDwKKyAKKyBpbnN0YWxsOglhbGwKKyAJCSQoSU5TVEFMTCkgLWQgJChERVNURElSKSQoU1lTX0xJQkRJUikvb3BlbmwydHAKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVubDJ0cC9vcGVubDJ0cC9vcGVubDJ0cC1zaW1wbGlmeS1nY2Mtd2FybmluZy1oYWNrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmwydHAvb3BlbmwydHAvb3BlbmwydHAtc2ltcGxpZnktZ2NjLXdhcm5pbmctaGFjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTFhMTI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmwydHAvb3BlbmwydHAvb3BlbmwydHAtc2ltcGxpZnktZ2NjLXdhcm5pbmctaGFjay5wYXRjaApAQCAtMCwwICsxLDQxIEBACitGcm9tIDQ2MDU0OWEzZGUyN2Y4ZGQ4MzcxYjZkNmZjMWY2OWQ4YmZmYTEwMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CitEYXRlOiBUdWUsIDYgSmFuIDIwMTUgMTE6MjM6MjEgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gb3BlbmwydHA6IHNpbXBsaWZ5IGdjYyB3YXJuaW5nIGhhY2sKKworVGhlIGhhY2sgdG8gd29yayBhcm91bmQgdGhlIGdjYyB3YXJuaW5nIGNhdXNlcyBwcm9ibGVtcyB3aXRoIHNvbWUgbW9kZXJuCitnY2MgY29uZmlndXJhdGlvbnMuICBTaW5jZSB0aGUgcmVkZWYgYmVoYXZpb3VyIGlzIGVzc2VudGlhbGx5IGNvcnJlY3QKK2V2ZXJ5d2hlcmUgYW5kIHNpbmNlIHRoZSBoYWNrIGlzIHN0aWxsIHJlcXVpcmVkIG9uIDMyLWJpdCBidWlsZGVycywgbGVhdmUKK2l0IGluIHBsYWNlIGJ1dCByZW1vdmUgdGhlICNpZiBndWFyZCBzaW5jZSBpdCBpcyBvbmx5IHRoZXJlIHRvIGVuc3VyZSB0aGF0Cit0aGUgbDJ0cF9wcml2YXRlLmggZmlsZSBpcyB1cGRhdGVkIGlmIHRoZSBycGMgc291cmNlIGZpbGUgaXMgY2hhbmdlZCBhbmQKK3RoZSB0d28gZ2V0IG91dCBvZiBzeW5jLgorCitVcHN0cmVhbS1zdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSm9lIE1hY0RvbmFsZCA8am9lX21hY2RvbmFsZEBtZW50b3IuY29tPgorLS0tCisgbDJ0cF9wcml2YXRlLmggfCA2IC0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbDJ0cF9wcml2YXRlLmggYi9sMnRwX3ByaXZhdGUuaAoraW5kZXggZjNjMWFmNy4uY2NhNjgwNiAxMDA2NDQKKy0tLSBhL2wydHBfcHJpdmF0ZS5oCisrKysgYi9sMnRwX3ByaXZhdGUuaAorQEAgLTg5LDE0ICs4OSw4IEBACisgICogU28gd2UgcmVkZWZpbmUgdGhlIGNvbnN0YW50IHdpdGggVUwgc3VmZml4IHRvIGF2b2lkIHRoZSBnY2Mgd2FybmluZy4KKyAgKiBJcyB0aGVyZSBzb21lIEMgcHJlcHJvY2Vzc29yIG1hZ2ljIHRoYXQgY291bGQgYXZvaWQgaGF2aW5nIHRvIGRvIHRoaXM/CisgICovCistI2lmIEwyVFBfQVBJX1RVTk5FTF9GTEFHX01UVSAhPSAyMTQ3NDgzNjQ4CistI2Vycm9yIENvbnN0YW50IEwyVFBfQVBJX1RVTk5FTF9GTEFHX01UVSBjaGFuZ2VkLiBVcGRhdGUgbG9jYWwgZGVmaW5pdGlvbiBoZXJlLgorLSNlbmRpZgorICN1bmRlZiBMMlRQX0FQSV9UVU5ORUxfRkxBR19NVFUKKyAjZGVmaW5lIEwyVFBfQVBJX1RVTk5FTF9GTEFHX01UVSAyMTQ3NDgzNjQ4VUwKKy0jaWYgTDJUUF9BUElfU0VTU0lPTl9GTEFHX05PX1BQUCAhPSAyMTQ3NDgzNjQ4CistI2Vycm9yIENvbnN0YW50IEwyVFBfQVBJX1NFU1NJT05fRkxBR19OT19QUFAgY2hhbmdlZC4gVXBkYXRlIGxvY2FsIGRlZmluaXRpb24gaGVyZS4KKy0jZW5kaWYKKyAjdW5kZWYgTDJUUF9BUElfU0VTU0lPTl9GTEFHX05PX1BQUAorICNkZWZpbmUgTDJUUF9BUElfU0VTU0lPTl9GTEFHX05PX1BQUCAyMTQ3NDgzNjQ4VUwKKyAKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmwydHAvb3BlbmwydHBfMS44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvb3BlbmwydHAvb3BlbmwydHBfMS44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNDNiNjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9vcGVubDJ0cC9vcGVubDJ0cF8xLjguYmIKQEAgLTAsMCArMSwzNiBAQAorU1VNTUFSWSA9ICJBbiBMMlRQIGNsaWVudC9zZXJ2ZXIsIGRlc2lnbmVkIGZvciBWUE4gdXNlLiIKK0RFU0NSSVBUSU9OID0gIk9wZW5MMlRQIGlzIGFuIG9wZW4gc291cmNlIEwyVFAgY2xpZW50IC8gc2VydmVyLCB3cml0dGVuIFwKK3NwZWNpZmljYWxseSBmb3IgTGludXguIEl0IGhhcyBiZWVuIGRlc2lnbmVkIGZvciB1c2UgYXMgYW4gZW50ZXJwcmlzZSBcCitMMlRQIFZQTiBzZXJ2ZXIgb3IgaW4gY29tbWVyY2lhbCwgTGludXgtYmFzZWQsIGVtYmVkZGVkIG5ldHdvcmtpbmcgXAorcHJvZHVjdHMgYW5kIGlzIGFibGUgdG8gc3VwcG9ydCBodW5kcmVkcyBvZiBzZXNzaW9ucywgZWFjaCB3aXRoIFwKK2RpZmZlcmVudCBjb25maWd1cmF0aW9uLiBJdCBpcyB1c2VkIGJ5IHNldmVyYWwgSVNQcyB0byBwcm92aWRlIFwKK0wyVFAgc2VydmljZXMgYW5kIGJ5IGNvcnBvcmF0aW9ucyB0byBpbXBsZW1lbnQgTDJUUCBWUE5zLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbmwydHAub3JnLyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTlkOTI1OWNiYmYwMDk0NWFkYzI1YTQ3MGMxZDM1ODUiCitERVBFTkRTID0gInBvcHQgZmxleCByZWFkbGluZSIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmphaXN0LmFjLmpwL3B1Yi9zb3VyY2Vmb3JnZS9vL29wLyR7UE59LyR7UE59LyR7UFZ9LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS1tb2RpZnktQ0ZMQUdTLXRvLWF2aW9kLWJ1aWxkLWVycm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL29wZW5sMnRwLXNpbXBsaWZ5LWdjYy13YXJuaW5nLWhhY2sucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlM2QwOGRlZGZiOWU2YTlhMWUyNGY2NzY2ZjZkYWRkMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYzk3NzA0ZDRiOTYzYTg3ZmJjMGU3NDE2NjhkNDUzMDkzMzk5MTUxNWFlOWFiMGRmZmQxMWI1NDQ0ZjQ4NjBmIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK1BBUkFMTEVMX01BS0UgPSAiIgorRVhUUkFfT0VNQUtFID0gJ0NGTEFHUz0iJHtDRkxBR1N9IC1Xbm8tbnVzZWQtYnV0LXNldC12YXJpYWJsZSInCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgInM6U1lTX0xJQkRJUj0uKjpTWVNfTElCRElSPSR7bGliZGlyfTpnIiBcCisgICAgICAgIC1lICdzOiQoQ1JPU1NfQ09NUElMRSlhczoke0FTfTpnJyBcCisgICAgICAgIC1lICdzOiQoQ1JPU1NfQ09NUElMRSlsZDoke0xEfTpnJyBcCisgICAgICAgIC1lICdzOiQoQ1JPU1NfQ09NUElMRSlnY2M6JHtDQ306ZycgXAorICAgICAgICAtZSAnczokKENST1NTX0NPTVBJTEUpYXI6JHtBUn06ZycgXAorICAgICAgICAtZSAnczokKENST1NTX0NPTVBJTEUpbm06JHtOTX06ZycgXAorICAgICAgICAtZSAnczokKENST1NTX0NPTVBJTEUpc3RyaXA6JHtTVFJJUH06ZycgXAorICAgICAgICAtZSAnczokKENST1NTX0NPTVBJTEUpaW5zdGFsbDppbnN0YWxsOmcnIFwKKyAgICAgICAgJHtTfS9NYWtlZmlsZQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcHB0cC1saW51eC9wcHRwLWxpbnV4LTEuOC4wL29wdGlvbnMucHB0cCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3BwdHAtbGludXgvcHB0cC1saW51eC0xLjguMC9vcHRpb25zLnBwdHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ0NmUyMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3BwdHAtbGludXgvcHB0cC1saW51eC0xLjguMC9vcHRpb25zLnBwdHAKQEAgLTAsMCArMSwzMCBAQAorIworIyBMb2NrIHRoZSBwb3J0CisjCitsb2NrCisKKyMKKyMgV2UgZG9uJ3QgbmVlZCB0aGUgdHVubmVsIHNlcnZlciB0byBhdXRoZW50aWNhdGUgaXRzZWxmCisjCitub2F1dGgKKworIworIyBUdXJuIG9mZiB0cmFuc21pc3Npb24gcHJvdG9jb2xzIHdlIGtub3cgd29uJ3QgYmUgdXNlZAorIworbm9ic2Rjb21wCitub2RlZmxhdGUKKworIworIyBXZSB3YW50IE1QUEUKKyMgKG9wdGlvbiBuYW1pbmcgc3BlY2lmaWMgdG8gcHBwIDIuNC4wIHdpdGggdW5vZmZpY2lhbCBwYXRjaCkKKyMKKyNtcHBlLTQwCittcHBlLTEyOAorI21wcGUtc3RhdGVsZXNzCisKKyMKKyMgV2Ugd2FudCBhIHNhbmUgbXR1L21ydSAKKyMgKHBwcCAyLjQuMCB3aXRoIHVub2ZmaWNpYWwgcGF0Y2gpCisjCisjbXR1IDEwMDAKKyNtcnUgMTAwMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcHB0cC1saW51eC9wcHRwLWxpbnV4XzEuOC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcHB0cC1saW51eC9wcHRwLWxpbnV4XzEuOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjOGIyY2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9wcHRwLWxpbnV4L3BwdHAtbGludXhfMS44LjAuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJDbGllbnQgZm9yIE1pY3Jvc29mdCBQUFRQIFZQTnMiCitERVNDUklQVElPTiA9ICJQUFRQIENsaWVudCBpcyBhIExpbnV4LCBGcmVlQlNELCBOZXRCU0QgXAorICAgIGFuZCBPcGVuQlNEIGNsaWVudCBmb3IgdGhlIHByb3ByaWV0YXJ5IE1pY3Jvc29mdCBQb2ludC10by1Qb2ludCBcCisgICAgVHVubmVsaW5nIFByb3RvY29sLCBQUFRQLiBBbGxvd3MgY29ubmVjdGlvbiB0byBhIFBQVFAgYmFzZWQgXAorICAgIFZpcnR1YWwgUHJpdmF0ZSBOZXR3b3JrIChWUE4pIGFzIHVzZWQgYnkgZW1wbG95ZXJzIGFuZCBzb21lIFwKKyAgICBjYWJsZSBhbmQgQURTTCBpbnRlcm5ldCBzZXJ2aWNlIHByb3ZpZGVycy4iCitIT01FUEFHRSA9ICJodHRwOi8vcHB0cGNsaWVudC5zb3VyY2Vmb3JnZS5uZXQiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1BSID0gInIxIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9zb3VyY2Vmb3JnZS9wcHRwY2xpZW50L3BwdHAtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL29wdGlvbnMucHB0cCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZWZjZTlmMjYzZTJjM2YzOGQ3OWQ5ZGYyMjI0NzZkZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlMzljNDJkOTMzMjQyYThhNmRkODYwMGEwZmE3ZjBhNWVjOGYwNjZkMTBjNDE0OWQ4ZTgxYTVjNjhmZTRiYmRhIgorCitTID0gIiR7V09SS0RJUn0vcHB0cC0ke1BWfSIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfSAke0R9JHtzeXNjb25mZGlyfS9wcHAgJHtEfSR7bWFuZGlyfS9tYW44CisgICAgaW5zdGFsbCAtbSA1NTUgcHB0cCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gNjQ0IHBwdHAuOCAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L29wdGlvbnMucHB0cCAke0R9JHtzeXNjb25mZGlyfS9wcHAKK30KKworUkRFUEVORFNfJHtQTn0gPSAicHBwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzLzAwMDEtb3NwZjZkLWNoZWNrLW9zcGY2LWJlZm9yZS11c2luZy1pdC1pbi1vc3BmNl9jbGVhbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy8wMDAxLW9zcGY2ZC1jaGVjay1vc3BmNi1iZWZvcmUtdXNpbmctaXQtaW4tb3NwZjZfY2xlYW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA4YmI1NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy8wMDAxLW9zcGY2ZC1jaGVjay1vc3BmNi1iZWZvcmUtdXNpbmctaXQtaW4tb3NwZjZfY2xlYW4ucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1N1YmplY3Q6IG9zcGY2ZDogY2hlY2sgb3NwZjYgYmVmb3JlIHVzaW5nIGl0IGluIG9zcGY2X2NsZWFuCisKK1RoZSBvc3BmNiB2YXJpYWJsZSBtaWdodCBiZSAnTlVMTCcgY2F1c2luZyBzZWdtZW50IGZhdWx0IGVycm9yLgorQ2hlY2sgaXQgYmVmb3JlIHJlZmVyZW5jaW5nIGl0LgorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBvc3BmNmQvb3NwZjZkLmMgfCAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvb3NwZjZkL29zcGY2ZC5jIGIvb3NwZjZkL29zcGY2ZC5jCitpbmRleCAzY2RkNWMxLi5lM2JmMWFmIDEwMDY0NAorLS0tIGEvb3NwZjZkL29zcGY2ZC5jCisrKysgYi9vc3BmNmQvb3NwZjZkLmMKK0BAIC0xODkyLDYgKzE4OTIsOCBAQCBvc3BmNl9pbml0ICh2b2lkKQorIHZvaWQKKyBvc3BmNl9jbGVhbiAodm9pZCkKKyB7CisrICBpZiAob3NwZjYgPT0gTlVMTCkKKysgICAgcmV0dXJuOworICAgaWYgKG9zcGY2LT5yb3V0ZV90YWJsZSkKKyAgICAgb3NwZjZfcm91dGVfcmVtb3ZlX2FsbCAob3NwZjYtPnJvdXRlX3RhYmxlKTsKKyAgIGlmIChvc3BmNi0+YnJvdXRlcl90YWJsZSkKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL1plYnJhLXN5bmMtemVicmEtcm91dGluZy10YWJsZS13aXRoLXRoZS1rZXJuZWwtb25lLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL1plYnJhLXN5bmMtemVicmEtcm91dGluZy10YWJsZS13aXRoLXRoZS1rZXJuZWwtb25lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ZjQ2MzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvWmVicmEtc3luYy16ZWJyYS1yb3V0aW5nLXRhYmxlLXdpdGgtdGhlLWtlcm5lbC1vbmUucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorc3luYyB6ZWJyYSByb3V0aW5nIHRhYmxlIHdpdGggdGhlIGtlcm5lbCBvbmUgd2hlbiBpbnRlcmZhY2UgaXMgZG93bgorCitBZGQgcm91dGVyIHRvIGtlcm5lbCBtYWluIHJvdXRlciB0YWJsZSB3aXRoICJpcCIsIHRoZW4geW91IGNhbiBzZWUgCithIHJvdXRlciBpdGVtIGluIGtlcm5lbCBtYWluIHJvdXRlciB0YWJsZS4gQWxzbyBjYW4gc2VlIHRoaXMgcm91dGVyCitpdGVtIGluIHplYnJhIHJvdXRlciB0YWJsZS4gSWYgZG93biB0aGUgaW50ZXJmYWNlLCB0aGlzIHJvdXRlciBpdGVtCit3aWxsIGJlIGRlbGV0ZWQgZnJvbSBrZXJuZWwgbWFpbiByb3V0ZXIgdGFibGUsIGJ1dCBpdCB3aWxsIG5vdCBiZSAKK2RlbGV0ZWQgZnJvbSB6ZWJyYSByb3V0ZXIgdGFibGUsIGp1c3Qgc2V0IGFzIGluYWN0aXZlLgorCitUaGlzIHBhdGNoIGlzIGFkb3B0ZWQgZnJvbSBbMV0uCitbMV0gaHR0cDovL3d3dy5nb3NzYW1lci10aHJlYWRzLmNvbS9saXN0cy9xdWFnZ2EvZGV2LzIyNjA5CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2YtYnk6IEF3cyBJc21haWwgPGF3cy5pc21haWxAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorCistLS0KKyB6ZWJyYS96ZWJyYV9yaWIuYyB8ICAgIDcgKysrKysrKworIDEgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvemVicmEvemVicmFfcmliLmMgYi96ZWJyYS96ZWJyYV9yaWIuYworaW5kZXggMTU0ZThkNS4uNjM0MzRkMCAxMDA2NDQKKy0tLSBhL3plYnJhL3plYnJhX3JpYi5jCisrKysgYi96ZWJyYS96ZWJyYV9yaWIuYworQEAgLTc2NSw2ICs3NjUsOSBAQCByaWJfbWF0Y2hfaXB2NiAoc3RydWN0IGluNl9hZGRyICphZGRyKQorICNkZWZpbmUgUklCX1NZU1RFTV9ST1VURShSKSBcCisgICAgICAgICAoKFIpLT50eXBlID09IFpFQlJBX1JPVVRFX0tFUk5FTCB8fCAoUiktPnR5cGUgPT0gWkVCUkFfUk9VVEVfQ09OTkVDVCkKKyAKKysjZGVmaW5lIFJJQl9LRVJORUxfUk9VVEUoUikgXAorKwkoKFIpLT50eXBlID09IFpFQlJBX1JPVVRFX0tFUk5FTCkKKysKKyAvKiBUaGlzIGZ1bmN0aW9uIHZlcmlmaWVzIHJlYWNoYWJpbGl0eSBvZiBvbmUgZ2l2ZW4gbmV4dGhvcCwgd2hpY2ggY2FuIGJlCisgICogbnVtYmVyZWQgb3IgdW5udW1iZXJlZCwgSVB2NCBvciBJUHY2LiBUaGUgcmVzdWx0IGlzIHVuY29uZGl0aW9uYWxseSBzdG9yZWQKKyAgKiBpbiBuZXh0aG9wLT5mbGFncyBmaWVsZC4gSWYgdGhlIDR0aCBwYXJhbWV0ZXIsICdzZXQnLCBpcyBub24temVybywKK0BAIC0xMTM1LDYgKzExMzgsMTAgQEAgcmliX3Byb2Nlc3MgKHN0cnVjdCByb3V0ZV9ub2RlICpybikKKyAgICAgICByZWRpc3RyaWJ1dGVfZGVsZXRlICgmcm4tPnAsIGZpYik7CisgICAgICAgaWYgKCEgUklCX1NZU1RFTV9ST1VURSAoZmliKSkKKyAJcmliX3VuaW5zdGFsbF9rZXJuZWwgKHJuLCBmaWIpOworKyNpZmRlZiBHTlVfTElOVVgKKysgICAgICBlbHNlIGlmKFJJQl9LRVJORUxfUk9VVEUgKGZpYikgJiYgIWlmX2lzX3VwKGlmX2xvb2t1cF9ieV9pbmRleChmaWItPm5leHRob3AtPmlmaW5kZXgpKSkKKysJZGVsPWZpYjsKKysjZW5kaWYKKyAgICAgICBVTlNFVF9GTEFHIChmaWItPmZsYWdzLCBaRUJSQV9GTEFHX1NFTEVDVEVEKTsKKyAKKyAgICAgICAvKiBTZXQgcmVhbCBuZXh0aG9wLiAqLworLS0gCisxLjcuNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9iYWJlbC1jbG9zZS10aGUtc3Rkb3V0LXN0ZGVyci1hcy1pbi1vdGhlci1kYWVtb25zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL2JhYmVsLWNsb3NlLXRoZS1zdGRvdXQtc3RkZXJyLWFzLWluLW90aGVyLWRhZW1vbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI3NTdhMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9iYWJlbC1jbG9zZS10aGUtc3Rkb3V0LXN0ZGVyci1hcy1pbi1vdGhlci1kYWVtb25zLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20gYmE3MWY3NjhlNmRiYjFmMmFjNzJlZDNiZDg4MGJmZjc1YTQ4ZDM0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMTkgRmViIDIwMTQgMTQ6MTM6NDAgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gYmFiZWxkOiBjbG9zZSBzdGRvdXQgb25jZSB0aGUgYmFja2dyb3VuZCBkYWVtb24gaXMgY3JlYXRlZAorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworT25jZSBiYWJhbGQgYmVjb21lcyBhIGJhY2tncm91bmQgZGFlbW9uLCBpdCBzaG91bGQgbm90IG91dHB1dCBpbmZvcm1hdGlvbiB0bworc3Rkb3V0LCBzbyBuZWVkIHRvIGNsb3NlIHN0ZG91dC4KKworSW4gZmFjdCwgb3RoZXIgZGFlbW9ucyBjbG9zZSB0aGVpciBzdGRvdXQgd2hlbiB0aGV5IHJ1biBpbnRvIGJhY2tncm91bmQsIGxpa2UKK29zcGZkLCBpc2lzZCBhbmQgYmdwZCwgYnkgY2FsbGluZyBkYWVtb24oKSB3aGljaCBpcyBpbiBsaWIvZGFlbW9uLmMKKworQ2xvc2luZyB0aGUgc3Rkb3V0IGNhbiBmaXggYSB0ZWUgaGFuZyBpc3N1ZSB7ICMvdXNyL3NiaW4vYmFiZWxkIC1kIHx0ZWUgdG1wIH0KKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgYmFiZWxkL3V0aWwuYyB8ICAgMTAgKysrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2JhYmVsZC91dGlsLmMgYi9iYWJlbGQvdXRpbC5jCitpbmRleCAwMTFmMzgyLi43NjIwM2JjIDEwMDY0NAorLS0tIGEvYmFiZWxkL3V0aWwuYworKysrIGIvYmFiZWxkL3V0aWwuYworQEAgLTQyNSw3ICs0MjUsNyBAQCB1Y2hhcl90b19pbjZhZGRyKHN0cnVjdCBpbjZfYWRkciAqZGVzdCwgY29uc3QgdW5zaWduZWQgY2hhciAqc3JjKQorIGludAorIGRhZW1vbmlzZSgpCisgeworLSAgICBpbnQgcmM7CisrICAgIGludCByYywgZmQ7CisgCisgICAgIGZmbHVzaChzdGRvdXQpOworICAgICBmZmx1c2goc3RkZXJyKTsKK0BAIC00NDEsNSArNDQxLDEzIEBAIGRhZW1vbmlzZSgpCisgICAgIGlmKHJjIDwgMCkKKyAgICAgICAgIHJldHVybiAtMTsKKyAKKysgICAgZmQgPSBvcGVuKCIvZGV2L251bGwiLCBPX1JEV1IsIDApOworKyAgICBpZiAoZmQgIT0gLTEpCisrICAgIHsKKysgICAgICAgIGR1cDIoZmQsIFNURE9VVF9GSUxFTk8pOworKyAgICAgICAgaWYgKGZkID4gMikKKysgICAgICAgICAgICBjbG9zZShmZCk7CisrICAgIH0KKysKKyAgICAgcmV0dXJuIDE7CisgfQorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvYmFiZWxkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvYmFiZWxkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQzNDRiMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9iYWJlbGQuc2VydmljZQpAQCAtMCwwICsxLDE0IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUJhYmVsIHJvdXRpbmcgZGFlbW9uCitCaW5kVG89emVicmEuc2VydmljZQorQWZ0ZXI9emVicmEuc2VydmljZQorQ29uZGl0aW9uUGF0aEV4aXN0cz1AU1lTQ09ORkRJUkAvcXVhZ2dhL2JhYmVsZC5jb25mCisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9kZWZhdWx0L3F1YWdnYQorRXhlY1N0YXJ0PUBTQklORElSQC9iYWJlbGQgLWQgJGJhYmVsZF9vcHRpb25zIC1mIC9ldGMvcXVhZ2dhL2JhYmVsZC5jb25mCitSZXN0YXJ0PW9uLWFib3J0CisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9iZ3BkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvYmdwZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2ZjlmNjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvYmdwZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTYgQEAKK1tVbml0XQorRGVzY3JpcHRpb249QkdQIHJvdXRpbmcgZGFlbW9uCitCaW5kVG89emVicmEuc2VydmljZQorQWZ0ZXI9emVicmEuc2VydmljZQorQ29uZGl0aW9uUGF0aEV4aXN0cz1AU1lTQ09ORkRJUkAvcXVhZ2dhL2JncGQuY29uZgorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS1AU1lTQ09ORkRJUkAvZGVmYXVsdC9xdWFnZ2EKK1BJREZpbGU9QGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvYmdwZC5waWQKK0V4ZWNTdGFydD1AU0JJTkRJUkAvYmdwZCAtZCAkYmdwZF9vcHRpb25zIC1mIEBTWVNDT05GRElSQC9xdWFnZ2EvYmdwZC5jb25mCitFeGVjU3RvcFBvc3Q9QGJhc2VfYmluZGlyQC9ybSAtcmYgQGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvYmdwZC5waWQKK1Jlc3RhcnQ9b24tYWJvcnQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL2lzaXNkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvaXNpc2Quc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YmZlN2I2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL2lzaXNkLnNlcnZpY2UKQEAgLTAsMCArMSwxNCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1JUy1JUyByb3V0aW5nIGRhZW1vbgorQmluZFRvPXplYnJhLnNlcnZpY2UKK0FmdGVyPXplYnJhLnNlcnZpY2UKK0NvbmRpdGlvblBhdGhFeGlzdHM9QFNZU0NPTkZESVJAL3F1YWdnYS9pc2lzZC5jb25mCisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9kZWZhdWx0L3F1YWdnYQorRXhlY1N0YXJ0PUBTQklORElSQC9pc2lzZCAtZCAkaXNpc2Rfb3B0aW9ucyAtZiAvZXRjL3F1YWdnYS9pc2lzZC5jb25mCitSZXN0YXJ0PW9uLWFib3J0CisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9vc3BmNmQuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9vc3BmNmQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmU0OTNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL29zcGY2ZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTYgQEAKK1tVbml0XQorRGVzY3JpcHRpb249T1NQRiByb3V0aW5nIGRhZW1vbiBmb3IgSVB2NgorQmluZFRvPXplYnJhLnNlcnZpY2UKK0FmdGVyPXplYnJhLnNlcnZpY2UKK0NvbmRpdGlvblBhdGhFeGlzdHM9QFNZU0NPTkZESVJAL3F1YWdnYS9vc3BmNmQuY29uZgorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS1AU1lTQ09ORkRJUkAvZGVmYXVsdC9xdWFnZ2EKK1BJREZpbGU9QGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2Evb3NwZjZkLnBpZAorRXhlY1N0YXJ0PUBTQklORElSQC9vc3BmNmQgLWQgJG9zcGY2ZF9vcHRpb25zIC1mIEBTWVNDT05GRElSQC9xdWFnZ2Evb3NwZjZkLmNvbmYKK0V4ZWNTdG9wUG9zdD1AYmFzZV9iaW5kaXJAL3JtIC1yZiBAbG9jYWxzdGF0ZWRpckAvcnVuL3F1YWdnYS9vc3BmNmQucGlkCitSZXN0YXJ0PW9uLWFib3J0CisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9vc3BmZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL29zcGZkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM2MmNiYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9vc3BmZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTYgQEAKK1tVbml0XQorRGVzY3JpcHRpb249T1NQRiByb3V0aW5nIGRhZW1vbgorQmluZFRvPXplYnJhLnNlcnZpY2UKK0FmdGVyPXplYnJhLnNlcnZpY2UKK0NvbmRpdGlvblBhdGhFeGlzdHM9QFNZU0NPTkZESVJAL3F1YWdnYS9vc3BmZC5jb25mCisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9kZWZhdWx0L3F1YWdnYQorUElERmlsZT1AbG9jYWxzdGF0ZWRpckAvcnVuL3F1YWdnYS9vc3BmZC5waWQKK0V4ZWNTdGFydD1AU0JJTkRJUkAvb3NwZmQgLWQgJG9zcGZkX29wdGlvbnMgLWYgQFNZU0NPTkZESVJAL3F1YWdnYS9vc3BmZC5jb25mCitFeGVjU3RvcFBvc3Q9QGJhc2VfYmluZGlyQC9ybSAtcmYgQGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2Evb3NwZmQucGlkCitSZXN0YXJ0PW9uLWFib3J0CisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EtQXZvaWQtZHVwbGljYXRlLWNvbm5lY3RlZC1hZGRyZXNzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3F1YWdnYS1Bdm9pZC1kdXBsaWNhdGUtY29ubmVjdGVkLWFkZHJlc3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTA3ZTMzZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EtQXZvaWQtZHVwbGljYXRlLWNvbm5lY3RlZC1hZGRyZXNzLnBhdGNoCkBAIC0wLDAgKzEsNTQgQEAKK3F1YWdnYTogQXZvaWQgZHVwbGljYXRlIGNvbm5lY3RlZCBhZGRyZXNzIGFkZGluZyB0byB0aGUgbGlzdAorCitjb21taXQgMjdiYTk3MGI5KCJxdWFnZ2EvcmlwZDogRml4IHR3byBidWdzIGFmdGVyIHJlY2VpdmVkIFNJR0hVUCBzaWduYWwiKQoraW50cm9kdWNlcyBhbiByZWdyZXNzaW9uOiBpZnAtPmNvbm5lY3RlZCBsaXN0IGlzIGNsZWFuZWQgdXAgd2hlbiByaXBkIGlzCityZXN0YXJ0aW5nLCBob3dldmVyLCBmb3IgaW50ZXJmYWNlIGFkZHJlc3NlcyB3aGljaCBhcmUgbm90IHNwZWNpZmllZCBpbgorcmlwZCBjb25maWd1cmF0aW9uIGZpbGUsIHRoZXkgYXJlIG5ldmVyIHRvIGJlIGFkZGVkIGludG8gaWZwLT5jb25uZWN0ZWQKK2FnYWluLCB0aGlzIHdpbGwgbGVhZCB0byBzb21lIGFibm9ybWFsIGJlaGF2aW9yIGZvciByb3V0ZSBhZHZlcnRpc2luZy4KKworSW5zdGVhZCBvZiBjbGVhbmluZyB1cCB0aGUgaWZwLT5jb25uZWN0ZWQgbGlzdCB0byBhdm9pZCBkdXBsaWNhdGVkCitjb25uZWN0ZWQgYWRkcmVzcyBiZWluZyBhZGRlZCBpbnRvIHRoaXMgbGlzdCwgd2UgY2FuIGNoZWNrIHRoaXMKK2NvbmRpdGlvbiBkdXJpbmcgaW50ZXJmYWNlIGFkZHJlc3MgYWRkaW5nIHByb2Nlc3MgYW5kIHJldHVybiBlYXJseQord2hlbiBhbiBpZGVudGljYWwgYWRkcmVzcyBoYXMgYWxyZWFkeSBiZWVuIGFkZGVkLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSHUgWWFkaSA8WWFkaS5odUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogWHVmZW5nIFpoYW5nIDx4dWZlbmcuemhhbmdAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEpvZSBNYWNEb25hbGQgPGpvZUBkZXNlcnRlZC5uZXQ+CistLS0KKy0tLSBhL2xpYi9pZi5jCisrKysgYi9saWIvaWYuYworQEAgLTczOCw2ICs3MzgsMTYgQEAgY29ubmVjdGVkX2FkZF9ieV9wcmVmaXggKHN0cnVjdCBpbnRlcmZhYworICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcHJlZml4ICpkZXN0aW5hdGlvbikKKyB7CisgICBzdHJ1Y3QgY29ubmVjdGVkICppZmM7CisrICBzdHJ1Y3QgbGlzdG5vZGUgKmNub2RlOworKyAgc3RydWN0IGNvbm5lY3RlZCAqYzsKKysgIGludCByZXQgPSAwOworKworKyAgZm9yIChBTExfTElTVF9FTEVNRU5UU19STyAoaWZwLT5jb25uZWN0ZWQsIGNub2RlLCBjKSkKKysgICAgeworKyAgICAgIHJldCA9IGNvbm5lY3RlZF9zYW1lX3ByZWZpeCAocCwgKGMtPmFkZHJlc3MpKTsKKysgICAgICBpZihyZXQgPT0gMSkKKysgICAgICAgIHJldHVybiBOVUxMOworKyAgICB9CisgCisgICAvKiBBbGxvY2F0ZSBuZXcgY29ubmVjdGVkIGFkZHJlc3MuICovCisgICBpZmMgPSBjb25uZWN0ZWRfbmV3ICgpOworLS0tIGEvcmlwZC9yaXBfaW50ZXJmYWNlLmMKKysrKyBiL3JpcGQvcmlwX2ludGVyZmFjZS5jCitAQCAtNTE2LDEzICs1MTYsNiBAQCByaXBfaW50ZXJmYWNlX2NsZWFuICh2b2lkKQorIAkgIHRocmVhZF9jYW5jZWwgKHJpLT50X3dha2V1cCk7CisgCSAgcmktPnRfd2FrZXVwID0gTlVMTDsKKyAJfQorLQorLSAgICAgIGZvciAoY29ubl9ub2RlID0gbGlzdGhlYWQgKGlmcC0+Y29ubmVjdGVkKTsgY29ubl9ub2RlOyBjb25uX25vZGUgPSBuZXh0KQorLSAgICAgICAgeworLSAgICAgICAgICBpZmMgPSBsaXN0Z2V0ZGF0YSAoY29ubl9ub2RlKTsKKy0gICAgICAgICAgbmV4dCA9IGNvbm5fbm9kZS0+bmV4dDsKKy0gICAgICAgICAgbGlzdG5vZGVfZGVsZXRlIChpZnAtPmNvbm5lY3RlZCwgaWZjKTsKKy0gICAgICAgIH0KKyAgICAgfQorIH0KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EuZGVmYXVsdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EuZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzFjZTZjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3F1YWdnYS5kZWZhdWx0CkBAIC0wLDAgKzEsMTMgQEAKKyMgSWYgdGhpcyBvcHRpb24gaXMgc2V0IHRoZSAvZXRjL2luaXQuZC9xdWFnZ2Egc2NyaXB0IGF1dG9tYXRpY2FsbHkgbG9hZHMKKyMgdGhlIGNvbmZpZyB2aWEgInZ0eXNoIC1iIiB3aGVuIHRoZSBzZXJ2ZXJzIGFyZSBzdGFydGVkLgordnR5c2hfZW5hYmxlPXllcworCisjIEJpbmQgYWxsIGRhZW1vbnMgdG8gbG9vcGJhY2sgb25seSBieSBkZWZhdWx0Cit6ZWJyYV9vcHRpb25zPSIgLS1kYWVtb24gLUEgMTI3LjAuMC4xIgorYmFiZWxkX29wdGlvbnM9Ii0tZGFlbW9uIC1BIDEyNy4wLjAuMSIKK2JncGRfb3B0aW9ucz0iICAtLWRhZW1vbiAtQSAxMjcuMC4wLjEiCitvc3BmZF9vcHRpb25zPSIgLS1kYWVtb24gLUEgMTI3LjAuMC4xIgorb3NwZjZkX29wdGlvbnM9Ii0tZGFlbW9uIC1BIDo6MSIKK3JpcGRfb3B0aW9ucz0iICAtLWRhZW1vbiAtQSAxMjcuMC4wLjEiCityaXBuZ2Rfb3B0aW9ucz0iLS1kYWVtb24gLUEgOjoxIgoraXNpc2Rfb3B0aW9ucz0iIC0tZGFlbW9uIC1BIDEyNy4wLjAuMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGI1YWIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3F1YWdnYS5pbml0CkBAIC0wLDAgKzEsMjAwIEBACisjIS9iaW4vc2gKKyMKKyMgL2V0Yy9pbml0LmQvcXVhZ2dhIC0tIHN0YXJ0L3N0b3AgdGhlIFF1YWdnYSByb3V0aW5nIGRhZW1vbnMKKyMKKyMgQmFzZWQgb24gZGViaWFuIHZlcnNpb24gYnkgRW5kcmUgSGlybGluZyA8ZW5kcmVAbWFpbC5lbHRlLmh1PiBhbmQgCisjIENocmlzdGlhbiBIYW1tZXJzIDxjaEBkZWJpYW4ub3JnPi4KKyMKKworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogcXVhZ2dhCisjIFJlcXVpcmVkLVN0YXJ0OiAkbG9jYWxfZnMgJG5ldHdvcmsgJHJlbW90ZV9mcyAkc3lzbG9nCisjIFJlcXVpcmVkLVN0b3A6ICRsb2NhbF9mcyAkbmV0d29yayAkcmVtb3RlX2ZzICRzeXNsb2cKKyMgRGVmYXVsdC1TdGFydDogIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogc3RhcnQgYW5kIHN0b3AgdGhlIFF1YWdnYSByb3V0aW5nIHN1aXRlCisjIERlc2NyaXB0aW9uOiBRdWFnZ2EgaXMgYSByb3V0aW5nIHN1aXRlIGZvciBJUCByb3V0aW5nIHByb3RvY29scyBsaWtlIAorIyAgICAgICAgICAgICAgQkdQLCBPU1BGLCBSSVAgYW5kIG90aGVycy4gVGhpcyBzY3JpcHQgY29udG9scyB0aGUgbWFpbiAKKyMgICAgICAgICAgICAgIGRhZW1vbiAicXVhZ2dhIiBhcyB3ZWxsIGFzIHRoZSBpbmRpdmlkdWFsIHByb3RvY29sIGRhZW1vbnMuCisjIyMgRU5EIElOSVQgSU5GTworCisjIE5PVEU6IHNiaW4gbXVzdCBiZSBiZWZvcmUgYmluIHNvIHdlIGdldCB0aGUgaXByb3V0ZTIgaXAgYW5kIG5vdCB0aGUKKyMgYnVzeWJveCBpcCBjb21tYW5kLiBUaGUgYnVzeWJveCBvbmUgZmx1c2hlcyBhbGwgcm91dGVzIGluc3RlYWQgb2YganVzdAorIyB0aGUgZHluYW1pYyByb3V0ZXMKK1BBVEg9L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW46L3NiaW4KK0RfUEFUSD0vdXNyL3NiaW4KK0NfUEFUSD0vZXRjL3F1YWdnYQorCisjIEtlZXAgemVicmEgZmlyc3QgYW5kIGRvIG5vdCBsaXN0IHdhdGNocXVhZ2dhIQorREFFTU9OUz0iemVicmEgYmdwZCByaXBkIHJpcG5nZCBvc3BmZCBvc3BmNmQgaXNpc2QgYmFiZWxkIgorCisjIFByaW50IHRoZSBuYW1lIG9mIHRoZSBwaWRmaWxlLgorcGlkZmlsZSgpCit7CisJZWNobyAiL3Zhci9ydW4vcXVhZ2dhLyQxLnBpZCIKK30KKworIyBDaGVjayBpZiBkYWVtb24gaXMgc3RhcnRlZCBieSB1c2luZyB0aGUgcGlkZmlsZS4KK3N0YXJ0ZWQoKQoreworCVsgLWUgYHBpZGZpbGUgJDFgIF0gJiYga2lsbCAtMCBgY2F0IFxgcGlkZmlsZSAkMVxgYCAyPiAvZGV2L251bGwgJiYgcmV0dXJuIDAKKwlyZXR1cm4gMQorfQorCisjIExvYWRzIHRoZSBjb25maWcgdmlhIHZ0eXNoIC1iIGlmIGNvbmZpZ3VyZWQgdG8gZG8gc28uCit2dHlzaF9iICgpCit7CisJIyBSZW1iZXIsIHRoYXQgYWxsIHZhcmlhYmxlcyBoYXZlIGJlZW4gaW5jcmVtZW50ZWQgYnkgMSBpbiBjb252ZXJ0X2RhZW1vbl9wcmlvcygpCisJaWYgWyAiJHZ0eXNoX2VuYWJsZSIgPSAyIC1hIC1mICRDX1BBVEgvUXVhZ2dhLmNvbmYgXTsgdGhlbgorCQkvdXNyL2Jpbi92dHlzaCAtYgorCWZpCit9CisKKyMgQ2hlY2sgaWYgdGhlIGRhZW1vbiBpcyBhY3RpdmF0ZWQgYW5kIGlmIGl0cyBleGVjdXRhYmxlIGFuZCBjb25maWcgZmlsZXMgCisjIGFyZSBpbiBwbGFjZS4KKyMgcGFyYW1zOiAJZGFlbW9uIG5hbWUKKyMgcmV0dXJuczoJMD1vaywgMT1lcnJvcgorY2hlY2tfZGFlbW9uKCkKK3sKKwkjIElmIHRoZSBpbnRlZ3JhdGVkIGNvbmZpZyBmaWxlIGlzIHVzZWQgdGhlIG90aGVycyBhcmUgbm90IGNoZWNrZWQuCisJaWYgWyAtciAiJENfUEFUSC9RdWFnZ2EuY29uZiIgXTsgdGhlbgorCSAgcmV0dXJuIDAKKwlmaSAKKworCSMgY2hlY2sgZm9yIGNvbmZpZyBmaWxlCQkgIAorCWlmIFsgISAtciAiJENfUEFUSC8kMS5jb25mIiBdOyB0aGVuCisJICByZXR1cm4gMQorCWZpCisJcmV0dXJuIDAKK30KKworIyBTdGFydHMgdGhlIHNlcnZlciBpZiBpdCdzIG5vdCBhbHJhZHkgcnVubmluZyBhY2NvcmRpbmcgdG8gdGhlIHBpZCBmaWxlLgorIyBUaGUgUXVhZ2dhIGRhZW1vbnMgY3JlYXRlcyB0aGUgcGlkZmlsZSB3aGVuIHN0YXJ0aW5nLgorc3RhcnQoKQoreworCWlmICEgY2hlY2tfZGFlbW9uICQxOyB0aGVuIGVjaG8gLW4gIiAoISQxKSI7IHJldHVybjsgZmkKKwllY2hvIC1uICIgJDEiCisJc3RhcnQtc3RvcC1kYWVtb24gXAorCQktLXN0YXJ0IFwKKwkJLS1waWRmaWxlPWBwaWRmaWxlICQxYCBcCisJCS0tZXhlYyAiJERfUEFUSC8kMSIgXAorCQktLSBcCisJCWBldmFsIGVjaG8gIiQiIiQxIiJfb3B0aW9ucyJgCisJCQorfQorCisjIFN0b3AgdGhlIGRhZW1vbiBnaXZlbiBpbiB0aGUgcGFyYW1ldGVyLCBwcmludGluZyBpdHMgbmFtZSB0byB0aGUgdGVybWluYWwuCitzdG9wKCkKK3sKKyAgICBpZiAhIHN0YXJ0ZWQgIiQxIiA7IHRoZW4KKwllY2hvIC1uICIgKCEkMSkiCisJcmV0dXJuIDAKKyAgICBlbHNlCisJUElERklMRT1gcGlkZmlsZSAkMWAKKwlQSUQ9YGNhdCAkUElERklMRSAyPi9kZXYvbnVsbGAKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLWV4ZWMgIiREX1BBVEgvJDEiCisJIworCSMgICAgICAgTm93IHdlIGhhdmUgdG8gd2FpdCB1bnRpbCAkREFFTU9OIGhhcyBfcmVhbGx5XyBzdG9wcGVkLgorCSMKKwlpZiB0ZXN0IC1uICIkUElEIiAmJiBraWxsIC0wICRQSUQgMj4vZGV2L251bGw7IHRoZW4KKwkgICAgZWNobyAtbiAiICh3YWl0aW5nKSAuIgorCSAgICBjbnQ9MAorCSAgICB3aGlsZSBraWxsIC0wICRQSUQgMj4vZGV2L251bGw7IGRvCisJCWNudD1gZXhwciAkY250ICsgMWAKKwkJaWYgWyAkY250IC1ndCA2MCBdOyB0aGVuCisJCSAgICAjIFdhaXRlZCAxMjAgc2VjcyBub3csIGZhaWwuCisJCSAgICBlY2hvIC1uICJGYWlsZWQuLiAiCisJCSAgICBicmVhaworCQlmaQorCQlzbGVlcCAyCisJCWVjaG8gLW4gIi4iCisJCWRvbmUKKwkgICAgZmkKKwllY2hvIC1uICIgJDEiCisJcm0gLWYgYHBpZGZpbGUgJDFgCisgICAgZmkKK30KKworc3RvcF9hbGwoKSAKK3sKKwlsb2NhbCBkYWVtb25fbGlzdAorCWRhZW1vbl9saXN0PSR7MTotJERBRU1PTlN9CisKKwllY2hvIC1uICJTdG9wcGluZyBRdWFnZ2EgZGFlbW9uczoiCisJZm9yIGRhZW1vbl9uYW1lIGluICRkYWVtb25fbGlzdDsgZG8KKwkJc3RvcCAiJGRhZW1vbl9uYW1lIgorCWRvbmUKKwllY2hvICIuIgorfQorCitzdGFydF9hbGwoKQoreworCWxvY2FsIGRhZW1vbl9saXN0CisJZGFlbW9uX2xpc3Q9JHsxOi0kREFFTU9OU30KKworCWVjaG8gLW4gIlN0YXJ0aW5nIFF1YWdnYSBkYWVtb25zOiIKKwlmb3IgZGFlbW9uX25hbWUgaW4gJGRhZW1vbl9saXN0OyBkbworCQlzdGFydCAiJGRhZW1vbl9uYW1lIgorCWRvbmUKKwllY2hvICIuIgorfQorCitzdGF0dXNfYWxsKCkgCit7CisJbG9jYWwgZGFlbW9uX2xpc3QKKwlkYWVtb25fbGlzdD0kezE6LSREQUVNT05TfQorCXJlcz0xCisKKwllY2hvIC1uICJxdWFnZ2E6ICIKKwlmb3IgZGFlbW9uX25hbWUgaW4gJGRhZW1vbl9saXN0OyBkbworCSAgICBpZiBzdGFydGVkICIkZGFlbW9uX25hbWUiIDsgdGhlbgorCQlpZD1gY2F0IFxgcGlkZmlsZSAkZGFlbW9uX25hbWVcYGAKKwkJZWNobyAtbiAiJGRhZW1vbl9uYW1lIChwaWQgJGlkKSAiCisJCXJlcz0wCisJICAgIGZpCisJZG9uZQorCWlmIFsgJHJlcyAtZXEgMCBdOyB0aGVuCisJICAgIGVjaG8gImlzIHJ1bm5pbmcuLi4iCisJZWxzZQorCSAgICBlY2hvICJpcyBzdG9wcGVkLi4uIgorCWZpCisJZXhpdCAkcmVzCit9CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyAJCU1haW4gcHJvZ3JhbSAJCQkJIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgTG9hZCBjb25maWd1cmF0aW9uCit0ZXN0IC1mIC9ldGMvZGVmYXVsdC9xdWFnZ2EgJiYgLiAvZXRjL2RlZmF1bHQvcXVhZ2dhCisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorCWNkICRDX1BBVEgvCisJc3RhcnRfYWxsICQyCisJdnR5c2hfYgorICAgIAk7OworCQorICAgIHN0b3ApCisgIAlzdG9wX2FsbCAkMgorCWVjaG8gIlJlbW92aW5nIGFsbCByb3V0ZXMgbWFkZSBieSB6ZWJyYS4iCisJaXAgcm91dGUgZmx1c2ggcHJvdG8gemVicmEKKyAgIAk7OworCisgICAgc3RhdHVzKQorICAJc3RhdHVzX2FsbCAkMgorICAgCTs7CisKKyAgICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKwkkMCBzdG9wICQyCisJc2xlZXAgMQorCSQwIHN0YXJ0ICQyCisJOzsKKworICAgICopCisgICAgCWVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC9xdWFnZ2Ege3N0YXJ0fHN0b3B8cmVzdGFydHxzdGF0dXN8Zm9yY2UtcmVsb2FkfSBbZGFlbW9uXSIKKwlleGl0IDEKKwk7OworZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EucGFtIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3F1YWdnYS5wYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU0MWE5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9xdWFnZ2EucGFtCkBAIC0wLDAgKzEsMTMgQEAKKyMKKyMgVGhlIFBBTSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIHRoZSBxdWFnZ2EgYHZ0eXNoJyBzZXJ2aWNlCisjCisKKyMgVGhpcyBhbGxvd3Mgcm9vdCB0byBjaGFuZ2UgdXNlciBpbmZvbWF0aW9uIHdpdGhvdXQgYmVpbmcKKyMgcHJvbXB0ZWQgZm9yIGEgcGFzc3dvcmQKK2F1dGgJCXN1ZmZpY2llbnQJcGFtX3Jvb3Rvay5zbworCisjIFRoZSBzdGFuZGFyZCBVbml4IGF1dGhlbnRpY2F0aW9uIG1vZHVsZXMsIHVzZWQgd2l0aAorIyBOSVMgKG1hbiBuc3N3aXRjaCkgYXMgd2VsbCBhcyBub3JtYWwgL2V0Yy9wYXNzd2QgYW5kCisjIC9ldGMvc2hhZG93IGVudHJpZXMuCithdXRoICAgICAgIGluY2x1ZGUgICAgICBjb21tb24tYXV0aAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvcmlwZC1maXgtdHdvLWJ1Z3MtYWZ0ZXItcmVjZWl2ZWQtU0lHSFVQLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3JpcGQtZml4LXR3by1idWdzLWFmdGVyLXJlY2VpdmVkLVNJR0hVUC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjhjOWE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3JpcGQtZml4LXR3by1idWdzLWFmdGVyLXJlY2VpdmVkLVNJR0hVUC5wYXRjaApAQCAtMCwwICsxLDUwIEBACityaXBkOiBGaXggdHdvIGJ1Z3MgYWZ0ZXIgcmVjZWl2ZWQgU0lHSFVQIHNpZ25hbAorCitUaGVyZSBhcmUgdHdvIHByb2JsZW1zIGZvciByaXBkIGltcGxlbWVudGF0aW9uIGFmdGVyIHJlY2VpdmVkCitTSUdIVVAgc2lnbmFsOgorMSkuIHJpcGQgZGlkbid0IGNsZWFuIHVwIGlmcC0+Y29ubmVjdGVkIGxpc3QgYmVmb3JlIHJlbG9hZAorICAgIGNvbmZpZ3VyYXRpb24gZmlsZS4KKzIpLiByaXBkIHJlc2V0IHJpLT5zcGxpdF9ob3Jpem9uIGZsYWcgdG8gUklQX05PX1NQTElUX0hPUklaT04KKyAgICB3aGljaCBsZWFkIHRvIHRoZSB1bm5lY2Vzc2FyeSByb3V0ZSB0byBiZSBhZHZlcnRpc2VkLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cDovL3BhdGNod29yay5kaWFjMjQubmV0L3BhdGNoLzYwNC9dCisKK1NpZ25lZC1vZmYtYnk6IFh1ZmVuZyBaaGFuZyA8eHVmZW5nLnpoYW5nQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VAZGVzZXJ0ZWQubmV0PgorLS0tCistLS0gYS9yaXBkL3JpcF9pbnRlcmZhY2UuYworKysrIGIvcmlwZC9yaXBfaW50ZXJmYWNlLmMKK0BAIC01MDAsNiArNTAwLDggQEAKKyAgIHN0cnVjdCBsaXN0bm9kZSAqbm9kZTsKKyAgIHN0cnVjdCBpbnRlcmZhY2UgKmlmcDsKKyAgIHN0cnVjdCByaXBfaW50ZXJmYWNlICpyaTsKKysgIHN0cnVjdCBjb25uZWN0ZWQgKmlmYzsKKysgIHN0cnVjdCBsaXN0bm9kZSAqY29ubl9ub2RlLCAqbmV4dDsKKyAKKyAgIGZvciAoQUxMX0xJU1RfRUxFTUVOVFNfUk8gKGlmbGlzdCwgbm9kZSwgaWZwKSkKKyAgICAgeworQEAgLTUxNCw2ICs1MTYsMTMgQEAKKyAJICB0aHJlYWRfY2FuY2VsIChyaS0+dF93YWtldXApOworIAkgIHJpLT50X3dha2V1cCA9IE5VTEw7CisgCX0KKysKKysgICAgICBmb3IgKGNvbm5fbm9kZSA9IGxpc3RoZWFkIChpZnAtPmNvbm5lY3RlZCk7IGNvbm5fbm9kZTsgY29ubl9ub2RlID0gbmV4dCkKKysgICAgICAgIHsKKysgICAgICAgICAgaWZjID0gbGlzdGdldGRhdGEgKGNvbm5fbm9kZSk7CisrICAgICAgICAgIG5leHQgPSBjb25uX25vZGUtPm5leHQ7CisrICAgICAgICAgIGxpc3Rub2RlX2RlbGV0ZSAoaWZwLT5jb25uZWN0ZWQsIGlmYyk7CisrICAgICAgICB9CisgICAgIH0KKyB9CisgCitAQCAtNTQ4LDggKzU1Nyw4IEBACisgCSAgcmktPmtleV9jaGFpbiA9IE5VTEw7CisgCX0KKyAKKy0gICAgICByaS0+c3BsaXRfaG9yaXpvbiA9IFJJUF9OT19TUExJVF9IT1JJWk9OOworLSAgICAgIHJpLT5zcGxpdF9ob3Jpem9uX2RlZmF1bHQgPSBSSVBfTk9fU1BMSVRfSE9SSVpPTjsKKysgICAgICByaS0+c3BsaXRfaG9yaXpvbiA9IFJJUF9TUExJVF9IT1JJWk9OOworKyAgICAgIHJpLT5zcGxpdF9ob3Jpem9uX2RlZmF1bHQgPSBSSVBfU1BMSVRfSE9SSVpPTjsKKyAKKyAgICAgICByaS0+bGlzdFtSSVBfRklMVEVSX0lOXSA9IE5VTEw7CisgICAgICAgcmktPmxpc3RbUklQX0ZJTFRFUl9PVVRdID0gTlVMTDsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy9yaXBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvcmlwZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMjAzODkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvcmlwZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTYgQEAKK1tVbml0XQorRGVzY3JpcHRpb249UklQIHJvdXRpbmcgZGFlbW9uCitCaW5kVG89emVicmEuc2VydmljZQorQWZ0ZXI9emVicmEuc2VydmljZQorQ29uZGl0aW9uUGF0aEV4aXN0cz1AU1lTQ09ORkRJUkAvcXVhZ2dhL3JpcGQuY29uZgorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS1AU1lTQ09ORkRJUkAvZGVmYXVsdC9xdWFnZ2EKK1BJREZpbGU9QGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvcmlwZC5waWQKK0V4ZWNTdGFydD1AU0JJTkRJUkAvcmlwZCAtZCAkcmlwZF9vcHRpb25zIC1mIEBTWVNDT05GRElSQC9xdWFnZ2EvcmlwZC5jb25mCitFeGVjU3RvcFBvc3Q9QGJhc2VfYmluZGlyQC9ybSAtcmYgQGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvcmlwZC5waWQKK1Jlc3RhcnQ9b24tYWJvcnQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3JpcG5nZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3JpcG5nZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNTVhZDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvcmlwbmdkLnNlcnZpY2UKQEAgLTAsMCArMSwxNiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1SSVAgcm91dGluZyBkYWVtb24gZm9yIElQdjYKK0JpbmRUbz16ZWJyYS5zZXJ2aWNlCitBZnRlcj16ZWJyYS5zZXJ2aWNlCitDb25kaXRpb25QYXRoRXhpc3RzPUBTWVNDT05GRElSQC9xdWFnZ2EvcmlwbmdkLmNvbmYKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK0Vudmlyb25tZW50RmlsZT0tQFNZU0NPTkZESVJAL2RlZmF1bHQvcXVhZ2dhCitQSURGaWxlPUBsb2NhbHN0YXRlZGlyQC9ydW4vcXVhZ2dhL3JpcG5nZC5waWQKK0V4ZWNTdGFydD1AU0JJTkRJUkAvcmlwbmdkIC1kICRyaXBuZ2Rfb3B0aW9ucyAtZiBAU1lTQ09ORkRJUkAvcXVhZ2dhL3JpcG5nZC5jb25mCitFeGVjU3RvcFBvc3Q9QGJhc2VfYmluZGlyQC9ybSAtcmYgQGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvcmlwbmdkLnBpZAorUmVzdGFydD1vbi1hYm9ydAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvdm9sYXRpbGVzLjAzX3F1YWdnYSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy92b2xhdGlsZXMuMDNfcXVhZ2dhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmMjhjMGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvdm9sYXRpbGVzLjAzX3F1YWdnYQpAQCAtMCwwICsxLDMgQEAKKyMgPHR5cGU+IDxvd25lcj4gPGdyb3VwPiA8bW9kZT4gPHBhdGg+IDxsaW5rc291cmNlPgorZCBxdWFnZ2EgcXVhZ2dhIDA3NTUgL3Zhci9ydW4vcXVhZ2dhIG5vbmUKK2QgcXVhZ2dhIHF1YWdnYSAwNzU1IC92YXIvbG9nL3F1YWdnYSBub25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvd2F0Y2hxdWFnZ2EuZGVmYXVsdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy93YXRjaHF1YWdnYS5kZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkNjAxZWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvd2F0Y2hxdWFnZ2EuZGVmYXVsdApAQCAtMCwwICsxLDEyIEBACisjIFdhdGNocXVhZ2dhIGNvbmZpZ3VyYXRpb24KKyN3YXRjaF9kYWVtb25zPSJ6ZWJyYSBiZ3BkIG9zcGZkIG9zcGY2ZCByaXBkIHJpcG5nZCIKK3dhdGNoX2RhZW1vbnM9InplYnJhIgorCisjIFRvIGVuYWJsZSByZXN0YXJ0cyB3aGVuIG11bHRpcGxlIGRhZW1vbnMgYXJlIGJlaW5nIHVzZWQsIHVuY29tbWVudCB0aGlzIGxpbmUgKGJ1dCBmaXJzdCBiZSBzdXJlIHRvIGVkaXQKKyMgdGhlIFdBVENIX0RBRU1PTlMgbGluZSB0byByZWZsZWN0IHRoZSBkYWVtb25zIHlvdSBhcmUgYWN0dWFsbHkgdXNpbmcpOgorI3dhdGNoX29wdGlvbnM9Ii1BeiAtYl8gLXIvZXRjL2luaXQuZC9xdWFnZ2FfcmVzdGFydF8lcyAtcy9ldGMvaW5pdC5kL3F1YWdnYV9zdGFydF8lcyAtay9ldGMvaW5pdC5kL3F1YWdnYV9zdG9wXyVzIgorCisjIFNpbmNlIHdlIGFyZSB1c2luZyBvbmUgcXVhZ2dhIGRhZW1vbiBmb3Igbm93LCB1c2UgdGhlIGZvbGxvd2luZyBsaW5lLiBJZiB1c2luZworIyBtdWx0aXBsZSBkYWVtb25zLCBjb21tZW50IHRoZSBsaW5lIGJlbG93IGFuZCB1bmNvbWVudCB0aGUgbGluZSBtZW50aW9uZWQKKyMgYWJvdmUuCit3YXRjaF9vcHRpb25zPSIteiAtYl8gLXIvZXRjL2luaXQuZC9xdWFnZ2FfcmVzdGFydF8lcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy93YXRjaHF1YWdnYS5pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3dhdGNocXVhZ2dhLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRkZDk0YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9maWxlcy93YXRjaHF1YWdnYS5pbml0CkBAIC0wLDAgKzEsNjQgQEAKKyMhL2Jpbi9zaAorIworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogd2F0Y2hxdWFnZ2EKKyMgUmVxdWlyZWQtU3RhcnQ6ICRsb2NhbF9mcyAkbmV0d29yayAkcmVtb3RlX2ZzICRzeXNsb2cKKyMgUmVxdWlyZWQtU3RvcDogJGxvY2FsX2ZzICRuZXR3b3JrICRyZW1vdGVfZnMgJHN5c2xvZworIyBEZWZhdWx0LVN0YXJ0OiAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6IDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBzdGFydCBhbmQgc3RvcCB0aGUgUXVhZ2dhIHdhdGNoZG9nCisjIyMgRU5EIElOSVQgSU5GTworCitQQVRIPS9iaW46L3Vzci9iaW46L3NiaW46L3Vzci9zYmluCisKKyMgTG9hZCBjb25maWd1cmF0aW9uCit0ZXN0IC1mIC9ldGMvZGVmYXVsdC93YXRjaHF1YWdnYSAmJiAuIC9ldGMvZGVmYXVsdC93YXRjaHF1YWdnYQorCisjIENoZWNrIHRoYXQgdGhlcmUgYXJlIGRhZW1vbnMgdG8gYmUgbW9uaXRvcmVkLgorWyAteiAiJHdhdGNoX2RhZW1vbnMiIF0gJiYgZXhpdCAwCisKK3BpZGZpbGU9Ii92YXIvcnVuL3F1YWdnYS93YXRjaHF1YWdnYS5waWQiCisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorCWVjaG8gLW4gIlN0YXJ0aW5nIHF1YWdnYSB3YXRjaGRvZyBkYWVtb246IHdhdGNocXVhZ2dhIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgXAorCQktLXBpZGZpbGUgJHBpZGZpbGUgXAorCQktLWV4ZWMgL3Vzci9zYmluL3dhdGNocXVhZ2dhIFwKKwkJLS0gLWQgJHdhdGNoX29wdGlvbnMgJHdhdGNoX2RhZW1vbnMKKwllY2hvICIuIgorICAgIAk7OworCQorICAgIHN0b3ApCisJZWNobyAtbiAiU3RvcHBpbmcgcXVhZ2dhIHdhdGNoZG9nIGRhZW1vbjogd2F0Y2hxdWFnZ2EiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgXAorCQktLXBpZGZpbGUgJHBpZGZpbGUKKwllY2hvICIuIgorCTs7CisKKyAgICBzdGF0dXMpCisJZWNobyAtbiAid2F0Y2hxdWFnZ2EgIgorCXJlcz0xCisJWyAtZSAkcGlkZmlsZSBdICYmIGtpbGwgLTAgYGNhdCAkcGlkZmlsZWAgMj4gL2Rldi9udWxsCisJaWYgWyAkPyAtZXEgMCBdOyB0aGVuCisJICAgIGVjaG8gIihwaWQgYGNhdCAkcGlkZmlsZWApIGlzIHJ1bm5pbmcuLi4iCisJICAgIHJlcz0wCisJZWxzZQorCSAgICBlY2hvICJpcyBzdG9wcGVkLi4uIgorCWZpCisJZXhpdCAkcmVzCisJOzsKKworICAgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorCSQwIHN0b3AgJDIKKwlzbGVlcCAxCisJJDAgc3RhcnQgJDIKKwk7OworCisgICAgKikKKwllY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvd2F0Y2hxdWFnZ2Ege3N0YXJ0fHN0b3B8cmVzdGFydHxmb3JjZS1yZWxvYWR9IgorCWV4aXQgMQorCTs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3plYnJhLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvZmlsZXMvemVicmEuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGZiNmM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL2ZpbGVzL3plYnJhLnNlcnZpY2UKQEAgLTAsMCArMSwxNyBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1HTlUgWmVicmEgcm91dGluZyBtYW5hZ2VyCitXYW50cz1uZXR3b3JrLnRhcmdldAorQmVmb3JlPW5ldHdvcmsudGFyZ2V0CitDb25kaXRpb25QYXRoRXhpc3RzPUBTWVNDT05GRElSQC9xdWFnZ2EvemVicmEuY29uZgorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS1AU1lTQ09ORkRJUkAvZGVmYXVsdC9xdWFnZ2EKK1BJREZpbGU9QGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvemVicmEucGlkCitFeGVjU3RhcnRQcmU9QEJBU0VfU0JJTkRJUkAvaXAgcm91dGUgZmx1c2ggcHJvdG8gemVicmEKK0V4ZWNTdGFydD1AU0JJTkRJUkAvemVicmEgLWQgJHplYnJhX29wdGlvbnMgLWYgQFNZU0NPTkZESVJAL3F1YWdnYS96ZWJyYS5jb25mCitFeGVjU3RvcFBvc3Q9QGJhc2VfYmluZGlyQC9ybSAtcmYgQGxvY2Fsc3RhdGVkaXJAL3J1bi9xdWFnZ2EvemVicmEucGlkCitSZXN0YXJ0PW9uLWFib3J0CisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9xdWFnZ2EuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL3F1YWdnYS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU3OGUyNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3F1YWdnYS9xdWFnZ2EuaW5jCkBAIC0wLDAgKzEsMjUxIEBACitTVU1NQVJZID0gIkJHUC9PU1BGL1JJUCByb3V0aW5nIGRhZW1vbiIKK0RFU0NSSVBUSU9OID0gIlF1YWdnYSBpcyBhIHJvdXRpbmcgc29mdHdhcmUgc3VpdGUsIHByb3ZpZGluZyBcCitpbXBsZW1lbnRhdGlvbnMgb2YgT1NQRnYyLCBPU1BGdjMsIFJJUCB2MSBhbmQgdjIsIFJJUHYzIGFuZCBCR1B2NCBmb3IgXAorVW5peCBwbGF0Zm9ybXMsIHBhcnRpY3VsYXJseSBGcmVlQlNELCBMaW51eCwgU29sYXJpcyBhbmQgTmV0QlNELiBcCitRdWFnZ2EgaXMgYSBmb3JrIG9mIEdOVSBaZWJyYSB3aGljaCB3YXMgZGV2ZWxvcGVkIGJ5IEt1bmloaXJvIFwKK0lzaGlndXJvLiBUaGUgUXVhZ2dhIHRyZWUgYWltcyB0byBidWlsZCBhIG1vcmUgaW52b2x2ZWQgY29tbXVuaXR5IFwKK2Fyb3VuZCBRdWFnZ2EgdGhhbiB0aGUgY3VycmVudCBjZW50cmFsaXNlZCBtb2RlbCBvZiBHTlUgWmVicmEuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ub25nbnUub3JnL3F1YWdnYS8iCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMLTIuMCAmIExHUEwtMi4wIgorREVQRU5EUyA9ICJyZWFkbGluZSBuY3Vyc2VzIHBlcmwtbmF0aXZlIgorREVQRU5EUyArPSAiJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NubXAnLCAnbmV0LXNubXAnLCAnJywgZCl9IgorU05NUF9DT05GPSIke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc25tcCcsICctLWVuYWJsZS1zbm1wJywgJycsIGQpfSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODFiY2VjZTIxNzQ4YzkxYmE5OTkyMzQ5YTkxZWMxMWQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTAxZWYyNDQwMWRlZDM2Y2Q4ZTVkMThiZmU5NDcyNDBjIgorCisjIHRoZSAiaXAiIGNvbW1hbmQgZnJvbSBidXN5Ym94IGlzIG5vdCBzdWZmaWNpZW50IChmbHVzaCBieSBwcm90b2NvbCBmbHVzaGVzIGFsbCByb3V0ZXMpCitSREVQRU5EU18ke1BOfSArPSAiaXByb3V0ZTIiCisKK1FVQUdHQVNVQkRJUiA9ICIiCisjICR7UVVBR0dBU1VCRElSfSBpcyBkZWFsIHdpdGggb2xkIHZlcnNpb25zLiBTZXQgdG8gIi9hdHRpYyIgZm9yIG9sZAorIyB2ZXJzaW9ucyBhbmQgbGVhdmUgaXQgZW1wdHkgZm9yIHJlY2VudCB2ZXJzaW9ucy4KK1NSQ19VUkkgPSAiJHtTQVZBTk5BSF9HTlVfTUlSUk9SfS9xdWFnZ2Eke1FVQUdHQVNVQkRJUn0vcXVhZ2dhLSR7UFZ9LnRhci5nejsgXAorICAgICAgICAgICBmaWxlOi8vWmVicmEtc3luYy16ZWJyYS1yb3V0aW5nLXRhYmxlLXdpdGgtdGhlLWtlcm5lbC1vbmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcXVhZ2dhLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vcXVhZ2dhLmRlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vd2F0Y2hxdWFnZ2EuaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly93YXRjaHF1YWdnYS5kZWZhdWx0IFwKKyAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19xdWFnZ2EgXAorICAgICAgICAgICBmaWxlOi8vcXVhZ2dhLnBhbSBcCisgICAgICAgICAgIGZpbGU6Ly9yaXBkLWZpeC10d28tYnVncy1hZnRlci1yZWNlaXZlZC1TSUdIVVAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcXVhZ2dhLUF2b2lkLWR1cGxpY2F0ZS1jb25uZWN0ZWQtYWRkcmVzcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9iYWJlbGQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9iZ3BkLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vaXNpc2Quc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9vc3BmNmQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9vc3BmZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3JpcGQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9yaXBuZ2Quc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly96ZWJyYS5zZXJ2aWNlIFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbY2FwXSA9ICItLWVuYWJsZS1jYXBhYmlsaXRpZXMsLS1kaXNhYmxlLWNhcGFiaWxpdGllcyxsaWJjYXAiCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS13aXRoLWxpYnBhbSwgLS13aXRob3V0LWxpYnBhbSwgbGlicGFtIgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCB1c2VyYWRkIHN5c3RlbWQKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSAke1BOfS1iYWJlbGQgJHtQTn0tYmdwZCAke1BOfS1pc2lzZCAke1BOfS1vc3BmNmQgJHtQTn0tb3NwZmQgJHtQTn0tcmlwZCAke1BOfS1yaXBuZ2QiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tYmFiZWxkID0gImJhYmVsZC5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LWJncGQgPSAiYmdwZC5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LWlzaXNkID0gImlzaXNkLnNlcnZpY2UiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tb3NwZjZkID0gIm9zcGY2ZC5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LW9zcGZkID0gIm9zcGZkLnNlcnZpY2UiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tcmlwZCA9ICJyaXBkLnNlcnZpY2UiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tcmlwbmdkID0gInJpcG5nZC5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInplYnJhLnNlcnZpY2UiCisKK0VYVFJBX09FQ09ORiA9ICItLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS9xdWFnZ2EgXAorICAgICAgICAgICAgICAgIC0tbG9jYWxzdGF0ZWRpcj0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9xdWFnZ2EgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWV4YW1wbGVkaXI9JHtkb2NkaXJ9L3F1YWdnYS9leGFtcGxlcy8gXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXZ0eXNoIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1pc2lzZCBcCisgICAgICAgICAgICAgICAgJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgJy0tZW5hYmxlLXdhdGNocXVhZ2dhJywgJy0tZGlzYWJsZS13YXRjaHF1YWdnYScsIGQpfSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtb3NwZi10ZSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtb3BhcXVlLWxzYSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtb3NwZmNsaWVudD15ZXMgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLW11bHRpcGF0aD02NCBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtdXNlcj1xdWFnZ2EgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWdyb3VwPXF1YWdnYSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtdnR5LWdyb3VwPXF1YWdnYXZ0eSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtY29uZmlnZmlsZS1tYXNrPTA2NDAgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWxvZ2ZpbGUtbWFzaz0wNjQwIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1ydGFkdiBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtbGludXgyNC10Y3AtbWQ1IFwKKyAgICAgICAgICAgICAgICBhcF9jdl9jY19waWU9bm8gXAorICAgICAgICAgICAgICAgICR7U05NUF9DT05GfSIKKworZG9faW5zdGFsbCAoKSB7CisgICAgIyBJbnN0YWxsIGluaXQgc2NyaXB0IGFuZCBkZWZhdWx0IHNldHRpbmdzCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIFwKKyAgICAke0R9JHtzeXNjb25mZGlyfS9xdWFnZ2EgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9xdWFnZ2EuZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3F1YWdnYQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3dhdGNocXVhZ2dhLmRlZmF1bHQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC93YXRjaHF1YWdnYQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3F1YWdnYS5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9xdWFnZ2EKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS93YXRjaHF1YWdnYS5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC93YXRjaHF1YWdnYQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy4wM19xdWFnZ2EgICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzL3ZvbGF0aWxlcy4wM19xdWFnZ2EKKworICAgICMgSW5zdGFsbCBzYW1wbGUgY29uZmlndXJhdGlvbnMgZm9yIHRoZSBkYWVtb25zCisgICAgZm9yIGYgaW4gYmdwZCB2dHlzaCBiYWJlbGQgaXNpc2Qgb3NwZmQgcmlwbmdkIHplYnJhIHJpcGQgb3NwZjZkOyBkbworICAgICAgICBpbnN0YWxsIC1tIDA2NDAgJHtTfS8kZi8kZi5jb25mLnNhbXBsZSAke0R9JHtzeXNjb25mZGlyfS9xdWFnZ2EvJGYuY29uZi5zYW1wbGUKKyAgICBkb25lCisKKyAgICBmb3IgZiBpbiBiZ3BkIHZ0eXNoIGJhYmVsZCBpc2lzZCBvc3BmZCByaXBuZ2QgemVicmEgcmlwZCBvc3BmNmQ7IGRvCisJdG91Y2ggJHtEfSR7c3lzY29uZmRpcn0vcXVhZ2dhLyRmLmNvbmYKKyAgICBkb25lCisgICAgY2hvd24gcXVhZ2dhOnF1YWdnYXZ0eSAke0R9JHtzeXNjb25mZGlyfS9xdWFnZ2EKKyAgICBjaG93biBxdWFnZ2E6cXVhZ2dhICR7RH0ke3N5c2NvbmZkaXJ9L3F1YWdnYS8qLmNvbmYKKyAgICBjaG1vZCA3NTAgJHtEfSR7c3lzY29uZmRpcn0vcXVhZ2dhCisgICAgY2htb2QgNjQwICR7RH0ke3N5c2NvbmZkaXJ9L3F1YWdnYS8qLmNvbmYKKworICAgICMgSW5zdGFsbCBxdWFnZ2EKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9IHByZWZpeD0ke3ByZWZpeH0gXAorICAgICAgICAgICAgc2JpbmRpcj0ke3NiaW5kaXJ9IFwKKyAgICAgICAgICAgIHN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS9xdWFnZ2EgXAorICAgICAgICAgICAgbG9jYWxzdGF0ZWRpcj0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9xdWFnZ2EKKworICAgICMgRml4IGhhcmRjb2RlZCBwYXRocworICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC8qCisgICAgc2VkIC1pICdzIS91c3IvYmluLyEke2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9xdWFnZ2EKKyAgICBzZWQgLWkgJ3MhL2V0Yy8hJHtzeXNjb25mZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLyogJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC93YXRjaHF1YWdnYQorICAgIHNlZCAtaSAncyEvdmFyLyEke2xvY2Fsc3RhdGVkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvKiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy92b2xhdGlsZXMuMDNfcXVhZ2dhCisgICAgc2VkIC1pICdzIV5QQVRIPS4qIVBBVEg9JHtiYXNlX3NiaW5kaXJ9OiR7c2JpbmRpcn06JHtiYXNlX2JpbmRpcn06JHtiaW5kaXJ9IScgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLyoKKworICAgICMgUmVtb3ZlIGdlbmVyYXRlZCBpbmZvIGRpciBmaWxlLCBpdCBkb2Vzbid0IGJlbG9uZyBpbiB0aGUgZ2VuZXJhdGVkCisgICAgIyBwYWNrYWdlLgorICAgIHJtIC1mICR7RH0ke2luZm9kaXJ9L2RpcgorCisgICAgIyBGb3IgUEFNCisgICAgZm9yIGZlYXR1cmUgaW4gJHtESVNUUk9fRkVBVFVSRVN9OyBkbworICAgICAgICBpZiBbICIkZmVhdHVyZSIgPSAicGFtIiBdOyB0aGVuCisgICAgICAgICAgICBpbnN0YWxsIC1EIC1tIDY0NCAke1dPUktESVJ9L3F1YWdnYS5wYW0gJHtEfS8ke3N5c2NvbmZkaXJ9L3BhbS5kL3F1YWdnYQorICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgZmkKKyAgICBkb25lCisKKyAgICBpZiAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAorICAgICAgICBlY2hvICJkIC92YXIvcnVuL3F1YWdnYSAwNzU1IHF1YWdnYSBxdWFnZ2EgLSIgXAorICAgICAgICA+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvJHtCUE59LmNvbmYKKyAgICBmaQorCisgICAgIyBSZW1vdmUgc3lzaW5pdCBzY3JpcHQgaWYgc3lzdmluaXQgaXMgbm90IGluIERJU1RST19GRUFUVVJFUworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAnZmFsc2UnLCAndHJ1ZScsIGQpfTsgdGhlbgorICAgICAgICBybSAtcmYgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLworICAgICAgICBybSAtZiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3dhdGNocXVhZ2dhCisgICAgZmkKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBmb3IgaSBpbiBiYWJlbGQgYmdwZCBpc2lzZCBvc3BmNmQgb3NwZmQgcmlwZCByaXBuZ2QgemVicmE7IGRvCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LyRpLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBkb25lCisgICAgc2VkIC1lICdzLEBCQVNFX1NCSU5ESVJALCR7YmFzZV9zYmluZGlyfSxnJyBcCisgICAgICAgIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKKyAgICAgICAgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorICAgICAgICAtZSAncyxAYmFzZV9iaW5kaXJALCR7YmFzZV9iaW5kaXJ9LGcnIFwKKyAgICAgICAgLWUgJ3MsQGxvY2Fsc3RhdGVkaXJALCR7bG9jYWxzdGF0ZWRpcn0sZycgXAorICAgICAgICAtaSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UKK30KKworREVQRU5EU19hcHBlbmQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kLXN5c3RlbWN0bC1uYXRpdmUnLCAnJywgZCl9IgorcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQgc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpZiBbIC1uICIkRCIgXTsgdGhlbgorICAgICAgICAgICAgT1BUUz0iLS1yb290PSREIgorICAgICAgICBmaQorICAgICAgICBzeXN0ZW1jdGwgJE9QVFMgbWFzayBxdWFnZ2Euc2VydmljZQorICAgIGZpCit9CisKKyMgU3BsaXQgaW50byBhIG1haW4gcGFja2FnZSBhbmQgc2VwYXJhdGUgcGVyLXByb3RvY29sIHBhY2thZ2VzCitQQUNLQUdFX0JFRk9SRV9QTiA9ICIke1BOfS1vc3BmZCAke1BOfS1vc3BmNmQgJHtQTn0tYmFiZWxkICR7UE59LWJncGQgXAorICAgICAgICAgICAgICAgICAgICAgJHtQTn0tcmlwZCAke1BOfS1yaXBuZ2QgJHtQTn0taXNpc2QgXAorICAgICAgICAgICAgICAgICAgICAgJHtQTn0tb3NwZmNsaWVudCAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAnJHtQTn0td2F0Y2hxdWFnZ2EnLCAnJywgZCl9IgorCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tYmFiZWxkICR7UE59LWJncGQgJHtQTn0taXNpc2QgJHtQTn0tb3NwZjZkICR7UE59LW9zcGZkICR7UE59LXJpcGQgJHtQTn0tcmlwbmdkIgorCitGSUxFU18ke1BOfS1vc3BmZCAgICAgICA9ICIke3NiaW5kaXJ9L29zcGZkICR7bGliZGlyfS9saWJvc3BmLnNvLioiCitGSUxFU18ke1BOfS1vc3BmNmQgICAgICA9ICIke3NiaW5kaXJ9L29zcGY2ZCIKK0ZJTEVTXyR7UE59LWJhYmVsZCAgICAgID0gIiR7c2JpbmRpcn0vYmFiZWxkIgorRklMRVNfJHtQTn0tYmdwZCAgICAgICAgPSAiJHtzYmluZGlyfS9iZ3BkIgorRklMRVNfJHtQTn0tcmlwZCAgICAgICAgPSAiJHtzYmluZGlyfS9yaXBkIgorRklMRVNfJHtQTn0tcmlwbmdkICAgICAgPSAiJHtzYmluZGlyfS9yaXBuZ2QiCitGSUxFU18ke1BOfS1pc2lzZCAgICAgICA9ICIke3NiaW5kaXJ9L2lzaXNkIgorRklMRVNfJHtQTn0tb3NwZmNsaWVudCAgPSAiJHtzYmluZGlyfS9vc3BmY2xpZW50ICR7bGliZGlyfS9saWJvc3BmYXBpY2xpZW50LnNvLioiCitGSUxFU18ke1BOfS13YXRjaHF1YWdnYSA9ICIke3NiaW5kaXJ9L3dhdGNocXVhZ2dhICR7c3lzY29uZmRpcn0vZGVmYXVsdC93YXRjaHF1YWdnYSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC93YXRjaHF1YWdnYSIKKworIyBJbmRpY2F0ZSB0aGF0IHRoZSBkZWZhdWx0IGZpbGVzIGFyZSBjb25maWd1cmF0aW9uIGZpbGVzCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9kZWZhdWx0L3F1YWdnYSBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9xdWFnZ2EvYmdwZC5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3F1YWdnYS92dHlzaC5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3F1YWdnYS9iYWJlbGQuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9xdWFnZ2EvaXNpc2QuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9xdWFnZ2Evb3NwZmQuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9xdWFnZ2EvcmlwbmdkLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vcXVhZ2dhL3plYnJhLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vcXVhZ2dhL3JpcGQuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9xdWFnZ2Evb3NwZjZkLmNvbmYgXAorICAgICAgICAgICAgICAgICAgIgorQ09ORkZJTEVTXyR7UE59LXdhdGNocXVhZ2dhID0gIiR7c3lzY29uZmRpcn0vZGVmYXVsdC93YXRjaHF1YWdnYSIKKworIyBTdG9wIHRoZSBuYW1lcyBiZWluZyByZXdyaXR0ZW4gZHVlIHRvIHRoZSBpbnRlcm5hbCBzaGFyZWQgbGlicmFyaWVzCitERUJJQU5fTk9BVVRPTkFNRV8ke1BOfS1vc3BmZCA9ICIxIgorREVCSUFOX05PQVVUT05BTUVfJHtQTn0tb3NwZmNsaWVudCA9ICIxIgorCisjIHRoZSAiaXAiIGNvbW1hbmQgZnJvbSBidXN5Ym94IGlzIG5vdCBzdWZmaWNpZW50IChmbHVzaCBieSBwcm90b2NvbCBmbHVzaGVzIGFsbCByb3V0ZXMpCitSREVQRU5EU18ke1BOfSAgICAgICAgICArPSAiaXByb3V0ZTIiCisKKyMgTWFpbiBpbml0IHNjcmlwdCBzdGFydHMgYWxsIGRlYW1vbnMKKyMgU2VwZXJhdGUgaW5pdCBzY3JpcHQgZm9yIHdhdGNocXVhZ2dhCitJTklUU0NSSVBUX1BBQ0tBR0VTICAgICAgICAgICAgICAgICAgICAgPSAiJHtQTn0gJHtQTn0td2F0Y2hxdWFnZ2EiCitJTklUU0NSSVBUX05BTUVfJHtQTn0gICAgICAgICAgICAgICAgICAgPSAicXVhZ2dhIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0gICAgICAgICAgICAgICAgID0gImRlZmF1bHRzIDE1IDg1IgorSU5JVFNDUklQVF9OQU1FXyR7UE59LXdhdGNocXVhZ2dhICAgICAgID0gIndhdGNocXVhZ2dhIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0td2F0Y2hxdWFnZ2EgICAgID0gImRlZmF1bHRzIDkwIDEwIgorCisjIEFkZCBxdWFnZ2EncyB1c2VyIGFuZCBncm91cAorVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIHF1YWdnYSA7IC0tc3lzdGVtIHF1YWdnYXZ0eSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLS1ob21lICR7bG9jYWxzdGF0ZWRpcn0vcnVuL3F1YWdnYS8gLU0gLWcgcXVhZ2dhIC0tc2hlbGwgL2Jpbi9mYWxzZSBxdWFnZ2EiCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgaWYgWyAteiAiJEQiIF0gJiYgWyAtZSAvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCBdIDsgdGhlbgorICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKKyAgICBmaQorfQorCisjIFN0b3AgYXBwcyBiZWZvcmUgdW5pbnN0YWxsCitwa2dfcHJlcm1fJHtQTn0gKCkgeworICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3F1YWdnYSBzdG9wCit9CisKK3BrZ19wcmVybV8ke1BOfS1vc3BmZCAoKSB7CisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcXVhZ2dhIHN0b3Agb3NwZmQKK30KKworcGtnX3ByZXJtXyR7UE59LW9zcGY2ZCAoKSB7CisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcXVhZ2dhIHN0b3Agb3NwZjZkCit9CisKK3BrZ19wcmVybV8ke1BOfS1iYWJlbGQgKCkgeworICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3F1YWdnYSBzdG9wIGJhYmVsZAorfQorCitwa2dfcHJlcm1fJHtQTn0tYmdwZCAoKSB7CisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcXVhZ2dhIHN0b3AgYmdwZAorfQorCitwa2dfcHJlcm1fJHtQTn0tcmlwZCAoKSB7CisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcXVhZ2dhIHN0b3AgcmlwZAorfQorCitwa2dfcHJlcm1fJHtQTn0tcmlwbmdkICgpIHsKKyAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9xdWFnZ2Egc3RvcCByaXBuZ2QKK30KKworcGtnX3ByZXJtXyR7UE59LWlzaXNkICgpIHsKKyAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9xdWFnZ2Egc3RvcCBpc2lzZAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL3F1YWdnYV8wLjk5LjI0LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9xdWFnZ2EvcXVhZ2dhXzAuOTkuMjQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZWNmNDM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcXVhZ2dhL3F1YWdnYV8wLjk5LjI0LjEuYmIKQEAgLTAsMCArMSwxMCBAQAorcmVxdWlyZSBxdWFnZ2EuaW5jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9iYWJlbC1jbG9zZS10aGUtc3Rkb3V0LXN0ZGVyci1hcy1pbi1vdGhlci1kYWVtb25zLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9zcGY2ZC1jaGVjay1vc3BmNi1iZWZvcmUtdXNpbmctaXQtaW4tb3NwZjZfY2xlYW4ucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzk4NmJkYzJmZTYwMjdkNGM5MjE2ZjdmNTc5MWU3MTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODRhZTFhNDdkZjA4NTExOWE4ZmNhYjZjNDNjY2VhOWVmYjliYzMxMTIzODhiMWRlY2U1YTlmMGEwMjYyNzU0ZiIKKworUVVBR0dBU1VCRElSID0gIiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JhZGl1c2NsaWVudC1uZy9yYWRpdXNjbGllbnQtbmcvTW9kaWZ5LWNvbmZpZ3VyZS5pbi1hbmQtZXRjLU1ha2VmaWxlLmFtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcmFkaXVzY2xpZW50LW5nL3JhZGl1c2NsaWVudC1uZy9Nb2RpZnktY29uZmlndXJlLmluLWFuZC1ldGMtTWFrZWZpbGUuYW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNjMmQ3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JhZGl1c2NsaWVudC1uZy9yYWRpdXNjbGllbnQtbmcvTW9kaWZ5LWNvbmZpZ3VyZS5pbi1hbmQtZXRjLU1ha2VmaWxlLmFtLnBhdGNoCkBAIC0wLDAgKzEsODQgQEAKK0Zyb20gNDViOTdiNDc0Y2UyZDBhZDU2ODI4ZGIxMWVkZGU4NTYyYmI0N2E0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgMiBEZWMgMjAxNCAwMjozMzo1MyArMDkwMAorU3ViamVjdDogW1BBVENIXSBNb2RpZnkgY29uZmlndXJlLmluIGFuZCBldGMvTWFrZWZpbGUuYW0KKwordGhpcyBwYXRjaCBpcyBmcm9tIEZlZG9yYSB0byBmaXggZXJyb3I6CisiY29uZnRlc3QuYzoyNjo5OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ25vdCciCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBjb25maWd1cmUuaW4gICAgICAgICAgICAgfCA2ICsrKysrLQorIGV0Yy9NYWtlZmlsZS5hbSAgICAgICAgICB8IDkgKysrKysrLS0tCisgZXRjL3JhZGl1c2NsaWVudC5jb25mLmluIHwgMiArLQorIDMgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggODEyZjY0MC4uM2E4YWY5OSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtMjksNiArMjksOSBAQCBBQ19TVUJTVChMSUJWRVJTSU9OKQorIHBrZ3N5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS8kUEFDS0FHRQorIEFDX1NVQlNUKHBrZ3N5c2NvbmZkaXIpCisgCisrcGtnZGF0YWRpcj0ke2RhdGFkaXJ9LyRQQUNLQUdFCisrQUNfU1VCU1QocGtnZGF0YWRpcikKKysKKyBBQ19QUk9HX0xJQlRPT0wKKyAKKyBBQ19QUk9HX0NDCitAQCAtMTE4LDcgKzEyMSw4IEBAIHRoZW4KKyAJXSwKKyAJQUNfTVNHX1JFU1VMVCh5ZXMpCisgCUFDX0RFRklORShIQVZFX1NUUlVDVF9VVFNOQU1FX0RPTUFJTk5BTUUpLAorLQlBQ19NU0dfUkVTVUxUKG5vKQorKwlBQ19NU0dfUkVTVUxUKG5vKSwKKysJQUNfTVNHX1JFU1VMVChhc3N1bWUgbm8pLAorIAkpCisgZmkKKyAKK2RpZmYgLS1naXQgYS9ldGMvTWFrZWZpbGUuYW0gYi9ldGMvTWFrZWZpbGUuYW0KK2luZGV4IDM5YjY5NzUuLmEzYzQwM2YgMTAwNjQ0CistLS0gYS9ldGMvTWFrZWZpbGUuYW0KKysrKyBiL2V0Yy9NYWtlZmlsZS5hbQorQEAgLTE0LDkgKzE0LDExIEBAIENMRUFORklMRVMgPSAqfiByYWRpdXNjbGllbnQuY29uZgorIAorIHNiaW5kaXIgPSBAc2JpbmRpckAKKyBwa2dzeXNjb25mZGlyID0gQHBrZ3N5c2NvbmZkaXJACistcGtnc3lzY29uZl9EQVRBID0gaXNzdWUgcG9ydC1pZC1tYXAgcmFkaXVzY2xpZW50LmNvbmYgXAorLQlkaWN0aW9uYXJ5IGRpY3Rpb25hcnkuYXNjZW5kIGRpY3Rpb25hcnkuY29tcGF0IGRpY3Rpb25hcnkubWVyaXQgXAorLQlkaWN0aW9uYXJ5LnNpcAorK3BrZ3N5c2NvbmZfREFUQSA9IGlzc3VlIHBvcnQtaWQtbWFwIHJhZGl1c2NsaWVudC5jb25mCisrCisrcGtnZGF0YWRpciA9IEBwa2dkYXRhZGlyQAorK3BrZ2RhdGFfREFUQSA9IGRpY3Rpb25hcnkgZGljdGlvbmFyeS5hc2NlbmQgZGljdGlvbmFyeS5jb21wYXQgXAorKwlkaWN0aW9uYXJ5Lm1lcml0IGRpY3Rpb25hcnkuc2lwCisgCisgRVhUUkFfRElTVCA9IGlzc3VlIHBvcnQtaWQtbWFwIGRpY3Rpb25hcnkgZGljdGlvbmFyeS5hc2NlbmQgXAorIAlkaWN0aW9uYXJ5LmNvbXBhdCBkaWN0aW9uYXJ5Lm1lcml0IHNlcnZlcnMgcmFkaXVzY2xpZW50LmNvbmYuaW4gXAorQEAgLTI1LDYgKzI3LDcgQEAgRVhUUkFfRElTVCA9IGlzc3VlIHBvcnQtaWQtbWFwIGRpY3Rpb25hcnkgZGljdGlvbmFyeS5hc2NlbmQgXAorIHJhZGl1c2NsaWVudC5jb25mOiByYWRpdXNjbGllbnQuY29uZi5pbgorIAlzZWQgLWUgJ3N8QHNiaW4nJ2RpckB8JChzYmluZGlyKXxnJyBcCisgCSAgICAtZSAnc3xAcGtnc3lzY29uZicnZGlyQHwkKHBrZ3N5c2NvbmZkaXIpfGcnIFwKKysJICAgIC1lICdzfEBwa2dkYXRhJydkaXJAfCQocGtnZGF0YWRpcil8ZycgXAorIAkgICAgPCQoc3JjZGlyKS9yYWRpdXNjbGllbnQuY29uZi5pbiA+cmFkaXVzY2xpZW50LmNvbmYKKyAKKyBpbnN0YWxsLWRhdGEtbG9jYWw6IHNlcnZlcnMKK2RpZmYgLS1naXQgYS9ldGMvcmFkaXVzY2xpZW50LmNvbmYuaW4gYi9ldGMvcmFkaXVzY2xpZW50LmNvbmYuaW4KK2luZGV4IDk0OGJjMmYuLmFhYzk5NzMgMTAwNjQ0CistLS0gYS9ldGMvcmFkaXVzY2xpZW50LmNvbmYuaW4KKysrKyBiL2V0Yy9yYWRpdXNjbGllbnQuY29uZi5pbgorQEAgLTQ3LDcgKzQ3LDcgQEAgc2VydmVycwkJQHBrZ3N5c2NvbmZkaXJAL3NlcnZlcnMKKyAKKyAjIGRpY3Rpb25hcnkgb2YgYWxsb3dlZCBhdHRyaWJ1dGVzIGFuZCB2YWx1ZXMKKyAjIGp1c3QgbGlrZSBpbiB0aGUgbm9ybWFsIFJBRElVUyBkaXN0cmlidXRpb25zCistZGljdGlvbmFyeSAJQHBrZ3N5c2NvbmZkaXJAL2RpY3Rpb25hcnkKKytkaWN0aW9uYXJ5IAlAcGtnZGF0YWRpckAvZGljdGlvbmFyeQorIAorICMgcHJvZ3JhbSB0byBjYWxsIGZvciBhIFJBRElVUyBhdXRoZW50aWNhdGVkIGxvZ2luCisgbG9naW5fcmFkaXVzCUBzYmluZGlyQC9sb2dpbi5yYWRpdXMKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9yYWRpdXNjbGllbnQtbmcvcmFkaXVzY2xpZW50LW5nL2NvbmZpZy1zaXRlLnJhZGl1c2NsaWVudC1uZy0wLjUuNiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JhZGl1c2NsaWVudC1uZy9yYWRpdXNjbGllbnQtbmcvY29uZmlnLXNpdGUucmFkaXVzY2xpZW50LW5nLTAuNS42Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzMGMxNDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9yYWRpdXNjbGllbnQtbmcvcmFkaXVzY2xpZW50LW5nL2NvbmZpZy1zaXRlLnJhZGl1c2NsaWVudC1uZy0wLjUuNgpAQCAtMCwwICsxIEBACithY19jdl9mdW5jX3VuYW1lPW5vCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9yYWRpdXNjbGllbnQtbmcvcmFkaXVzY2xpZW50LW5nXzAuNS42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcmFkaXVzY2xpZW50LW5nL3JhZGl1c2NsaWVudC1uZ18wLjUuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NWZhYTY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcmFkaXVzY2xpZW50LW5nL3JhZGl1c2NsaWVudC1uZ18wLjUuNi5iYgpAQCAtMCwwICsxLDM2IEBACitTVU1NQVJZID0gIlJBRElVUyBwcm90b2NvbCBjbGllbnQgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlBvcnRhYmxlLCBlYXN5LXRvLXVzZSBhbmQgc3RhbmRhcmQgY29tcGxpYW50IGxpYnJhcnkgc3VpdGFibGUgXAorZm9yIGRldmVsb3BpbmcgZnJlZSBhbmQgY29tbWVyY2lhbCBzb2Z0d2FyZSB0aGF0IG5lZWQgc3VwcG9ydCBmb3IgYSBSQURJVVMgXAorcHJvdG9jb2wgKFJGQ3MgMjEyOCBhbmQgMjEzOSkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9yYWRpdXNjbGllbnQtbmcuYmVybGlvcy8iCitTRUNUSU9OID0gIm5ldCIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vci8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6IFwKKyAgIGZpbGU6Ly9Nb2RpZnktY29uZmlndXJlLmluLWFuZC1ldGMtTWFrZWZpbGUuYW0ucGF0Y2ggXAorICAgZmlsZTovL2NvbmZpZy1zaXRlLnJhZGl1c2NsaWVudC1uZy0ke1BWfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjZmYjdkNGQwYWVmYWZhZWU3Mzg1ODMxYWM0NmE4ZTljIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI4MmE5ZjEzNTVmMTkwZWZiYjA2YzBkN2M0ZTA2MmVhYTY1MmNhZjM0MmVkM2FkMzYxYWM1OTVmNzJmMDlmMTQiCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT0zZTQ3NTY2YzkyNzFiNzg2NjkzZDhhMDg3OTJkYmY0MSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXN0YXRpYyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIGV4cG9ydCBDT05GSUdfU0lURT0uL2NvbmZpZy1zaXRlLiR7UH0KK30KKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGZvciBtIGluIGBmaW5kIC4gLW5hbWUgIk1ha2VmaWxlImAgOyBkbworICAgICAgICBzZWQgLWkgLWUgJ3M6XnByb2dyYW1fdHJhbnNmb3JtX25hbWUgPS4qOnByb2dyYW1fdHJhbnNmb3JtX25hbWUgPTpnJyAke219CisgICAgZG9uZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9LyoubGEKKyAgICBybSAtZiAke0R9JHtzYmluZGlyfS9yYWRleGFtcGxlCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL2NvbmZpZ3VyZS5pbi1FcnJvci1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL2NvbmZpZ3VyZS5pbi1FcnJvci1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjY2MWZkMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvY29uZmlndXJlLmluLUVycm9yLWZpeC5wYXRjaApAQCAtMCwwICsxLDU5IEBACitGcm9tIDcxOTU2ZGU0NmZlZWY5NjJkYzA2NDVhZjRjODFhZTA3NGNhM2I4MTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBXZWQsIDE5IEF1ZyAyMDE1IDEzOjUyOjU3ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5pbjogRXJyb3IgZml4LgorCit0aGUgZXJyb3IgaXM6IGNvbmZ0ZXN0LmM6OToyODogZmF0YWwgZXJyb3I6IGFjX25vbmV4aXN0ZW50Lmg6CitObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgc3JjL2NvbmZpZ3VyZS5pbiB8IDMwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9jb25maWd1cmUuaW4gYi9zcmMvY29uZmlndXJlLmluCitpbmRleCAwYjIzZGY1Li4zMWM3ZmJjIDEwMDY0NAorLS0tIGEvc3JjL2NvbmZpZ3VyZS5pbgorKysrIGIvc3JjL2NvbmZpZ3VyZS5pbgorQEAgLTE5MywzNiArMTkzLDYgQEAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KKyAJQ0ZMQUdTPSIkQ0ZMQUdTIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMiCisgZmkKKyAKKy1kbmwgRmlndXJlIG91dCBwYWNraW5nIG9yZGVyIG9mIHN0cnVjdHVyZXMKKy1BQ19DQUNIRV9DSEVDSyhbcGFja2luZyBvcmRlciBvZiBiaXQgZmllbGRzXSxycHBwb2VfY3ZfcGFja19iaXRmaWVsZHMsWworLWlmIHRlc3QgIiR7cnBwcG9lX2N2X3BhY2tfYml0ZmllbGRzK3NldH0iICE9IHNldCA7IHRoZW4KKy1BQ19UUllfUlVOKFsKKy11bmlvbiBmb28geworLSAgICBzdHJ1Y3QgYmFyIHsKKy0JdW5zaWduZWQgaW50IHZlcjo0OworLQl1bnNpZ25lZCBpbnQgdHlwZTo0OworLSAgICB9IGJiOworLSAgICB1bnNpZ25lZCBjaGFyIGJhejsKKy19OworLQorLWludAorLW1haW4odm9pZCkKKy17CistICAgIHVuaW9uIGZvbyB4OworLSAgICB4LmJiLnZlciA9IDE7CistICAgIHguYmIudHlwZSA9IDI7CistICAgIGlmICh4LmJheiA9PSAweDIxKSB7CistCXJldHVybiAxOworLSAgICB9IGVsc2UgaWYgKHguYmF6ID09IDB4MTIpIHsKKy0JcmV0dXJuIDA7CistICAgIH0gZWxzZSB7CistCXJldHVybiAyOworLSAgICB9CistfV0sIHJwcHBvZV9jdl9wYWNrX2JpdGZpZWxkcz1ub3JtYWwsIHJwcHBvZV9jdl9wYWNrX2JpdGZpZWxkcz1yZXYsCistJEVDSE8gIm5vIGRlZmF1bHRzIGZvciBjcm9zcy1jb21waWxpbmciOyBleGl0IDEpCistZmkKKy1dKQorLQorIGlmIHRlc3QgIiRycHBwb2VfY3ZfcGFja19iaXRmaWVsZHMiID0gInJldiIgOyB0aGVuCisgCUFDX01TR19SRVNVTFQocmV2ZXJzZWQpCisgCUFDX0RFRklORShbUEFDS19CSVRGSUVMRFNfUkVWRVJTRURdLCBbXSwgW1JldmVyc2VkIGJpdGZpZWxkc10pCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzgwYmE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorSW5kZXg6IHJwLXBwcG9lLTMuOC9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBycC1wcHBvZS0zLjgub3JpZy9jb25maWd1cmUuaW4JMjAxNC0wNy0xNiAxOTozMTozMy41NDk5OTEzODggKzAwMDAKKysrKyBycC1wcHBvZS0zLjgvY29uZmlndXJlLmluCTIwMTQtMDctMTcgMjI6MDE6MTguMTE2NTkwODI3ICswMDAwCitAQCAtMSw0ICsxLDQgQEAKKy1BQ19JTklUKHNyYy9wcHBvZS5jKQorLUFNX0lOSVRfQVVUT01BS0UoW3JwLXBwcG9lXSwgWzMuOF0pCisrQUNfSU5JVChbcnAtcHBwb2VdLCBbMy44XSkKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKKyBBQ19DT05GSUdfU1VCRElSUyhzcmMpCisgQUNfT1VUUFVUKE1ha2VmaWxlKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9jb25maWd1cmVfaW5fY3Jvc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL2NvbmZpZ3VyZV9pbl9jcm9zcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGNmN2U2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9jb25maWd1cmVfaW5fY3Jvc3MucGF0Y2gKQEAgLTAsMCArMSwxNTYgQEAKK0Zyb20gY2FiMDIwNzZhZmI4MDhhNDNjNmZmM2Q3YjFjNjRlNzFmNWExYjM5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExlaSBNYW9odWkgPGxlaW1hb2h1aUBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFdlZCwgMTkgQXVnIDIwMTUgMTI6MTc6MDMgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlIGluIGNyb3NzCisKK1VwZGF0ZSB0aGUgY29uZmlndXJlIHNjcmlwdCB0byBjcm9zcy1jb21waWxpbmcgd2l0aCBPRS4gIFRoaXMgaGFyZC1jb2RlcworYSBmZXcgdGFyZ2V0IHBhdGhzLCByZXdvcmtzIGEgZmV3IHRlc3RzIHRvIGJlIG1vcmUgZnJpZW5kbHkgZm9yIGNyb3NzCithbmQgZHJvcHMgb3RoZXIgdGVzdHMuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbYnVpbGQgc3lzdGVtIHNwZWNpZmljIGNoYW5nZXNdCisKKy0tLQorIHNyYy9jb25maWd1cmUuaW4gfCA2NiArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA1MCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9jb25maWd1cmUuaW4gYi9zcmMvY29uZmlndXJlLmluCitpbmRleCBlMTk0Mjk1Li44MmQ2NGQ2IDEwMDY0NAorLS0tIGEvc3JjL2NvbmZpZ3VyZS5pbgorKysrIGIvc3JjL2NvbmZpZ3VyZS5pbgorQEAgLTUsNiArNSwxMyBAQCBBQ19JTklUKHBwcG9lLmMpCisgZG5sIHBwcGQgZGlyZWN0b3J5IGZvciBrZXJuZWwtbW9kZSBQUFBvRQorIFBQUERfRElSPXBwcC0yLjQuMS5wcHBvZTIKKyAKKytkbmwgaGFyZCBjb2RlIHNvbWUgcGF0aHMKKytQUFBEPS91c3Ivc2Jpbi9wcHBkCisrSUQ9L3Vzci9iaW4vaWQKKytFQ0hPPS9iaW4vZWNobworK0FDX0FSR19WQVIoUFBQRCkKKytBQ19BUkdfVkFSKElEKQorKworIEFDX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisgCisgQUNfUFJFRklYX0RFRkFVTFQoL3VzcikKK0BAIC00NSw3ICs1Miw3IEBAIGFjX2N2X3N0cnVjdF9zb2NrYWRkcl9sbD1ubykKKyBBQ19NU0dfUkVTVUxUKCRhY19jdl9zdHJ1Y3Rfc29ja2FkZHJfbGwpCisgCisgaWYgdGVzdCAiJGFjX2N2X3N0cnVjdF9zb2NrYWRkcl9sbCIgPSB5ZXMgOyB0aGVuCistQUNfREVGSU5FKEhBVkVfU1RSVUNUX1NPQ0tBRERSX0xMKQorK0FDX0RFRklORShbSEFWRV9TVFJVQ1RfU09DS0FERFJfTExdLCBbXSwgW0hhdmUgc3RydWN0IFNPQ0tBRERSX0xMXSkKKyBmaQorIAorIGRubCBDaGVjayBmb3IgTl9IRExDIGxpbmUgZGlzY2lwbGluZQorQEAgLTU2LDcgKzYzLDcgQEAgQUNfVFJZX0NPTVBJTEUoWyNpbmNsdWRlIDxsaW51eC90ZXJtaW9zLmg+XSwKKyAJYWNfY3Zfbl9oZGxjPW5vKQorIEFDX01TR19SRVNVTFQoJGFjX2N2X25faGRsYykKKyBpZiB0ZXN0ICIkYWNfY3Zfbl9oZGxjIiA9IHllcyA7IHRoZW4KKy1BQ19ERUZJTkUoSEFWRV9OX0hETEMpCisrQUNfREVGSU5FKFtIQVZFX05fSERMQ10sIFtdLCBbSGF2ZSBOX0hETENdKQorIGZpCisgCisgQUNfQVJHX0VOQUJMRShwbHVnaW4sIFsgIC0tZW5hYmxlLXBsdWdpbj1wcHBkX3NyY19wYXRoICAgYnVpbGQgcHBwZCBwbHVnaW5dLCBhY19jdl9wbHVnaW5wYXRoPSRlbmFibGV2YWwsIGFjX2N2X3BsdWdpbnBhdGg9bm8pCitAQCAtMTA0LDcgKzExMSw3IEBAIFBQUERfSU5DRElSPSIiCisgaWYgdGVzdCAiJGFjX2N2X2hlYWRlcl9saW51eF9pZl9wcHBveF9oIiA9IHllcyA7IHRoZW4KKyAJaWYgdGVzdCAiJGFjX2N2X3BsdWdpbnBhdGgiICE9IG5vIDsgdGhlbgorIAkJTElOVVhfS0VSTkVMTU9ERV9QTFVHSU49cnAtcHBwb2Uuc28KKy0JCUFDX0RFRklORShIQVZFX0xJTlVYX0tFUk5FTF9QUFBPRSkKKysJCUFDX0RFRklORShbSEFWRV9MSU5VWF9LRVJORUxfUFBQT0VdLCBbXSwgW0hhdmUga2VybmVsIFBQUG9FXSkKKyAJCVBQUERfSU5DRElSPSRhY19jdl9wbHVnaW5wYXRoCisgCWZpCisgZmkKK0BAIC0xMTQsNyArMTIxLDcgQEAgaWYgdGVzdCAiJFBQUERfSU5DRElSIiA9ICIiIDsgdGhlbgorIGZpCisgCisgaWYgdGVzdCAiJGFjX2N2X2RlYnVnZ2luZyIgPSAieWVzIiA7IHRoZW4KKy0gICBBQ19ERUZJTkUoREVCVUdHSU5HX0VOQUJMRUQpCisrICAgQUNfREVGSU5FKFtERUJVR0dJTkdfRU5BQkxFRF0sIFtdLCBbRGVidWdnaW5nIGVuYWJsZWRdKQorIGZpCisgCisgQUNfU1VCU1QoTElOVVhfS0VSTkVMTU9ERV9QTFVHSU4pCitAQCAtMTQwLDE1ICsxNDcsOCBAQCBBQ19DSEVDS19TSVpFT0YodW5zaWduZWQgc2hvcnQpCisgQUNfQ0hFQ0tfU0laRU9GKHVuc2lnbmVkIGludCkKKyBBQ19DSEVDS19TSVpFT0YodW5zaWduZWQgbG9uZykKKyAKKy1kbmwgQ2hlY2sgZm9yIGxvY2F0aW9uIG9mIHBwcGQKKy1BQ19QQVRIX1BST0coUFBQRCwgcHBwZCwgTk9URk9VTkQsICRQQVRIOi9zYmluOi91c3Ivc2JpbjovdXNyL2xvY2FsL3NiaW4pCistQUNfUEFUSF9QUk9HKEVDSE8sIGVjaG8sIGVjaG8pCistCistZG5sIENoZWNrIGZvciBzZXRzaWQgKHByb2JhYmx5IExpbnV4LXNwZWNpZmljKQorLUFDX1BBVEhfUFJPRyhTRVRTSUQsIHNldHNpZCwgIiIsICRQQVRIOi9zYmluOi91c3Ivc2JpbjovdXNyL2xvY2FsL3NiaW4pCistCisgZG5sIENoZWNrIGZvciBhbiAiaWQiIHdoaWNoIGFjY2VwdHMgIi11IiBvcHRpb24gLS0gaGFjayBmb3IgU29sYXJpcy4KKy1BQ19QQVRIX1BST0coSUQsIGlkLCAiIiwgL3Vzci94cGc0L2JpbjokUEFUSCkKKytkbmwgQUNfUEFUSF9QUk9HKElELCBpZCwgIiIsIC91c3IveHBnNC9iaW46JFBBVEgpCisgCisgZG5sIENoZWNrIGZvciBMaW51eC1zcGVjaWZpYyBrZXJuZWwgc3VwcG9ydCBmb3IgUFBQb0UKKyBBQ19NU0dfQ0hFQ0tJTkcoZm9yIExpbnV4IDIuNC5YIGtlcm5lbC1tb2RlIFBQUG9FIHN1cHBvcnQpCitAQCAtMTkzLDQ0ICsxOTMsOCBAQCBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgorIAlDRkxBR1M9IiRDRkxBR1MgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdhbGwgLVdzdHJpY3QtcHJvdG90eXBlcyIKKyBmaQorIAorLWRubCBJZiB3ZSBjb3VsZG4ndCBmaW5kIHBwcGQsIGRpZQorLWlmIHRlc3QgIiRQUFBEIiA9ICJOT1RGT1VORCI7IHRoZW4KKy0gICAgICAgIEFDX01TR19XQVJOKFsqKiogT29wcyEgIEkgY291bGRuJ3QgZmluZCBwcHBkLCB0aGUgUFBQIGRhZW1vbiBhbnl3aGVyZS5dKQorLQlBQ19NU0dfV0FSTihbKioqIFlvdSBtdXN0IGluc3RhbGwgcHBwZCwgdmVyc2lvbiAyLjMuMTAgb3IgbGF0ZXIuXSkKKy0JQUNfTVNHX1dBUk4oWyoqKiBJIHdpbGwga2VlcCBnb2luZywgYnV0IGl0IG1heSBub3Qgd29yay5dKQorLQlQUFBEPXBwcGQKKy1maQorLQorLWRubCBGaWd1cmUgb3V0IHBwcGQgdmVyc2lvbi4gIDIuMy43IHRvIDIuMy45IC0tIGlzc3VlIHdhcm5pbmcuICBMZXNzIHRoYW4KKy1kbmwgMi4zLjcgLS0gc3RvcAorLQorLVBQUERfVkVSU0lPTj1gJFBQUEQgLS12ZXJzaW9uIDI+JjEgfCBhd2sgJyAvdmVyc2lvbi8ge3ByaW50ICRORn0nYAorLQorLWNhc2UgIiRQUFBEX1ZFUlNJT04iIGluCistMS4qfDIuMC4qfDIuMS4qfDIuMi4qfDIuMy4wfDIuMy4xfDIuMy4yfDIuMy4zfDIuMy40fDIuMy41fDIuMy42KQorLQlBQ19NU0dfV0FSTihbKioqIE9vcHMhIFlvdXIgdmVyc2lvbiBvZiBwcHBkIGlzICRQUFBEX1ZFUlNJT04sIHdoaWNoIGlzIHRvbyBvbGQuXSkKKy0JQUNfTVNHX1dBUk4oWyoqKiBZb3UgbmVlZCBhdCBsZWFzdCAyLjMuNyAoMi4zLjEwIG9yIG5ld2VyIHJlY29tbWVuZGVkLl0pCistCUFDX01TR19XQVJOKFsqKiogSSB3aWxsIGtlZXAgZ29pbmcsIGJ1dCBpdCBtYXkgbm90IHdvcmsuXSkKKy0JOzsKKy0KKy0yLjMuN3wyLjMuOHwyLjMuOSkKKy0JQUNfTVNHX1dBUk4oWyoqKiBXYXJuaW5nLiAgWW91ciB2ZXJzaW9uIG9mIHBwcGQgaXMgJFBQUERfVkVSU0lPTi4gIFlvdSB3aWxsXSkKKy0JQUNfTVNHX1dBUk4oWyoqKiBub3QgYmUgYWJsZSB0byB1c2UgY29ubmVjdC1vbi1kZW1hbmQuICBVcGdyYWRlIHRvIHBwcGRdKQorLQlBQ19NU0dfV0FSTihbKioqIDIuMy4xMCBvciBuZXdlciBpZiB5b3UgbmVlZCBjb25uZWN0LW9uLWRlbWFuZC5dKQorLQk7OworLQorLTIqfDMqfDQqfDUqfDYqfDcqfDgqfDkqKQorLQk7OworLQorLSopCistCUFDX01TR19XQVJOKFsqKiogT29wcy4gIEkgY2Fubm90IGZpZ3VyZSBvdXQgd2hhdCB2ZXJzaW9uIG9mIHBwcGQgeW91IGhhdmUuXSkKKy0JQUNfTVNHX1dBUk4oWyoqKiBBbGwgSSBnb3QgYmFjayB3YXMgJyRQUFBEX1ZFUlNJT04nXSkKKy0JQUNfTVNHX1dBUk4oWyoqKiBJIHdpbGwga2VlcCBnb2luZywgYnV0IGl0IG1heSBub3Qgd29yay5dKQorLQk7OworLWVzYWMKKy0KKyBkbmwgRmlndXJlIG91dCBwYWNraW5nIG9yZGVyIG9mIHN0cnVjdHVyZXMKKy1BQ19NU0dfQ0hFQ0tJTkcoW3BhY2tpbmcgb3JkZXIgb2YgYml0IGZpZWxkc10pCisrQUNfQ0FDSEVfQ0hFQ0soW3BhY2tpbmcgb3JkZXIgb2YgYml0IGZpZWxkc10scnBwcG9lX2N2X3BhY2tfYml0ZmllbGRzLFsKKyBpZiB0ZXN0ICIke3JwcHBvZV9jdl9wYWNrX2JpdGZpZWxkcytzZXR9IiAhPSBzZXQgOyB0aGVuCisgQUNfVFJZX1JVTihbCisgdW5pb24gZm9vIHsKK0BAIC0yNTcsMTAgKzIyMSwxMSBAQCBtYWluKHZvaWQpCisgfV0sIHJwcHBvZV9jdl9wYWNrX2JpdGZpZWxkcz1ub3JtYWwsIHJwcHBvZV9jdl9wYWNrX2JpdGZpZWxkcz1yZXYsCisgJEVDSE8gIm5vIGRlZmF1bHRzIGZvciBjcm9zcy1jb21waWxpbmciOyBleGl0IDApCisgZmkKKytdKQorIAorIGlmIHRlc3QgIiRycHBwb2VfY3ZfcGFja19iaXRmaWVsZHMiID0gInJldiIgOyB0aGVuCisgCUFDX01TR19SRVNVTFQocmV2ZXJzZWQpCistCUFDX0RFRklORShQQUNLX0JJVEZJRUxEU19SRVZFUlNFRCkKKysJQUNfREVGSU5FKFtQQUNLX0JJVEZJRUxEU19SRVZFUlNFRF0sIFtdLCBbUmV2ZXJzZWQgYml0ZmllbGRzXSkKKyBlbHNlCisgCUFDX01TR19SRVNVTFQobm9ybWFsKQorIGZpCitAQCAtMzI0LDYgKzI4OSw3IEBAIEFDX1NVQlNUKFBQUE9FX1NFUlZFUl9ERVBTKQorIEFDX1NVQlNUKFJEWU5BTUlDKQorIEFDX1NVQlNUKExJQkVWRU5UKQorIEFDX1NVQlNUKEVDSE8pCisrQUNfU1VCU1QoSEFWRV9TVFJVQ1RfU09DS0FERFJfTEwpCisgQUNfU1VCU1QoTERGTEFHUykKKyAKKyBkYXRhZGlyX2V2YWx1YXRlZD1gZXZhbCBlY2hvICRkYXRhZGlyYAorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvZGlzY2FyZC11c2Utb2YtZG5sLWluLU1ha2VmaWxlLmFtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9kaXNjYXJkLXVzZS1vZi1kbmwtaW4tTWFrZWZpbGUuYW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI3ODg2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvZGlzY2FyZC11c2Utb2YtZG5sLWluLU1ha2VmaWxlLmFtLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gNjExYzlmZTcxOWM1YWEyNjRhMmFkMmViOTIwY2Y0NTIyYWUyZGRlYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRpbmcgTGl1IDxiMjg0OTVAZnJlZXNjYWxlLmNvbT4KK0RhdGU6IFR1ZSwgMTIgSnVuIDIwMTIgMTQ6MjY6MTYgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gZGlzY2FyZCB1c2Ugb2YgZG5sIGluIE1ha2VmaWxlLmFtCisKK1NpbmNlIE1ha2VmaWxlLmFtIGlzIG5vdCBwcm9jZXNzZWQgYnkgbTQsIGJ1dCBieSBhdXRvbWFrZSwgJ2RubCcgZG9lcworbm90IGludHJvZHVjZSBhIGNvbW1lbnQuCisKK1NpZ25lZC1vZmYtYnk6IFRpbmcgTGl1IDxiMjg0OTVAZnJlZXNjYWxlLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggZWZmNjk3Ny4uMzA5MWMzMyAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTEsNSArMSw1IEBACisgUEFDS0FHRSA9IHJwLXBwcG9lCisgVkVSU0lPTiA9IDMuOAorIAorLWRubCBBTV9DRkxBR1MgPSAtV2FsbCAtRERFQlVHCisrIyNkbmwgQU1fQ0ZMQUdTID0gLVdhbGwgLURERUJVRworIFNVQkRJUlMgPSBzcmMKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL2RvbnQtc3dhbGxvdy1lcnJvcnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL2RvbnQtc3dhbGxvdy1lcnJvcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYxMzM3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvZG9udC1zd2FsbG93LWVycm9ycy5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIGJiZGFkYjgwM2IxOWYwMDJlNzZlN2JiNWNlM2ZhZjc3MGRkN2M0MTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBXZWQsIDE5IEF1ZyAyMDE1IDEyOjMzOjQxICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRvbid0IHN3YWxsb3cgZXJyb3JzCisKK0Z1cnRoZXIgZml4dXAgdG8gdGhlIGNvbmZpZ3VyZSBzY3JpcHRzIHRvIG5vdCBzd2FsbG93IGVycm9ycworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIHNyYy9jb25maWd1cmUuaW4gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY29uZmlndXJlLmluIGIvc3JjL2NvbmZpZ3VyZS5pbgoraW5kZXggODJkNjRkNi4uMGIyM2RmNSAxMDA2NDQKKy0tLSBhL3NyYy9jb25maWd1cmUuaW4KKysrKyBiL3NyYy9jb25maWd1cmUuaW4KK0BAIC0yMTksNyArMjE5LDcgQEAgbWFpbih2b2lkKQorIAlyZXR1cm4gMjsKKyAgICAgfQorIH1dLCBycHBwb2VfY3ZfcGFja19iaXRmaWVsZHM9bm9ybWFsLCBycHBwb2VfY3ZfcGFja19iaXRmaWVsZHM9cmV2LAorLSRFQ0hPICJubyBkZWZhdWx0cyBmb3IgY3Jvc3MtY29tcGlsaW5nIjsgZXhpdCAwKQorKyRFQ0hPICJubyBkZWZhdWx0cyBmb3IgY3Jvc3MtY29tcGlsaW5nIjsgZXhpdCAxKQorIGZpCisgXSkKKyAKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL3BwcG9lLXNlcnZlci5kZWZhdWx0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9wcHBvZS1zZXJ2ZXIuZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTZkNTdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9wcHBvZS1zZXJ2ZXIuZGVmYXVsdApAQCAtMCwwICsxLDIyIEBACisjIFBQUG9FIFNlcnZlciBvcHRpb25zCisKKyMgTWF4aW11bSBzZWdtZW50IHNpemUsIG5vdCB1c2VkIGZvciBpbiBrZXJuZWwgUFBQb0UKKyNNU1M9MTQxMgorCisjIERldmljZShzKSAtIFNwYWNlIHNlcGVyYXRlZCBsaXN0IG9mIGRldmljZXMgdG8gbGlzdGVuIG9uCisjREVWSUNFUz0iZXRoMSIKKworIyBMb2NhbCBJUAorI0xPQ0FMX0lQPTEwLjAuMC4xCisKKyMgU3RhcnRpbmcgcmVtb3RlIElQCisjUkVNT1RFX0lQPTEwLjY3LjE1LjEKKworIyBTZXJ2aWNlIG5hbWUKKyNTRVJWSUNFX05BTUU9ImFjbWUiCisKKyMgTWF4aW11bSBudW1iZXIgb2Ygc2Vzc2lvbnMsIGRlZmF1bHQgaXMgMTYKKyNNQVhfU0VTU0lPTlM9NjQKKworIyBBY2Nlc3MgY29uY2VudHJhdG9yIG5hbWUsIGRlZmF1bHQgaXMgdGhlIGhvc3RuYW1lCisjQUNDRVNTX0NPTkNFTlRSQVRPUl9OQU1FPSJwcHBvZS1ydHItMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvcHBwb2Utc2VydmVyLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL3BwcG9lLXNlcnZlci5pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxYWZlMGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL3BwcG9lLXNlcnZlci5pbml0CkBAIC0wLDAgKzEsNTkgQEAKKyMhIC9iaW4vc2gKKwordGVzdCAtZiAvdXNyL3NiaW4vcHBwb2Utc2VydmVyIHx8IGV4aXQgMAordGVzdCAtZiAvZXRjL2RlZmF1bHQvcHBwb2Utc2VydmVyICYmIC4gL2V0Yy9kZWZhdWx0L3BwcG9lLXNlcnZlcgorCitjYXNlICQxIGluCisgIHN0YXJ0KQorICAgIE9QVElPTlM9IiIKKyAgICBpZiBbIC1uICIkTVNTIiBdOyB0aGVuCisgICAgICBPUFRJT05TPSIkT1BUSU9OUyAtbSAkTVNTIgorICAgIGZpCisgICAgaWYgWyAtbiAiJERFVklDRVMiIF07IHRoZW4KKyAgICAgIGZvciBpIGluICRERVZJQ0VTOyBkbworICAgICAgICBPUFRJT05TPSIkT1BUSU9OUyAtSSAkaSIKKyAgICAgIGRvbmUKKyAgICBmaQorICAgIGlmIFsgLW4gIiRMT0NBTF9JUCIgXTsgdGhlbgorICAgICAgT1BUSU9OUz0iJE9QVElPTlMgLUwgJExPQ0FMX0lQIgorICAgIGZpCisgICAgaWYgWyAtbiAiJFJFTU9URV9JUCIgXTsgdGhlbgorICAgICAgT1BUSU9OUz0iJE9QVElPTlMgLVIgJFJFTU9URV9JUCIKKyAgICBmaQorICAgIGlmIFsgLW4gIiRTRVJWSUNFX05BTUUiIF07IHRoZW4KKyAgICAgIE9QVElPTlM9IiRPUFRJT05TIC1TICRTRVJWSUNFX05BTUUiCisgICAgZmkKKyAgICBpZiBbIC1uICIkTUFYX1NFU1NJT05TIiBdOyB0aGVuCisgICAgICBPUFRJT05TPSIkT1BUSU9OUyAtTiAkTUFYX1NFU1NJT05TIgorICAgIGZpCisgICAgaWYgWyAtbiAiJEFDQ0VTU19DT05DRU5UUkFUT1JfTkFNRSIgXTsgdGhlbgorICAgICAgT1BUSU9OUz0iJE9QVElPTlMgLUMgJEFDQ0VTU19DT05DRU5UUkFUT1JfTkFNRSIKKyAgICBmaQorICAgIGVjaG8gLW4gIlN0YXJ0aW5nIFBQUG9FIHNlcnZlcjogcHBwb2Utc2VydmVyIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgL3Vzci9zYmluL3BwcG9lLXNlcnZlciAtLSAkT1BUSU9OUworICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RvcCkKKyAgICBlY2hvIC1uICJTdG9wcGluZyBQUFBvRSBzZXJ2ZXI6IHBwcG9lLXNlcnZlciIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLWV4ZWMgL3Vzci9zYmluL3BwcG9lLXNlcnZlciAtLSAkT1BUSU9OUworICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RhdHVzKQorICAgIHBpZD0kKHBpZG9mIHBwcG9lLXNlcnZlcikgICAgCSAgICAgICAgICAKKyAgICBpZiBbIC1uICIkcGlkIiBdIDsgdGhlbgorCSAgICBlY2hvICJSdW5uaW5nIHdpdGggcGlkICRwaWQiCisgICAgZWxzZQorCSAgICBlY2hvICJOb3QgcnVubmluZyIKKyAgICBmaQorICAgIDs7CisgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorICAgICQwIHN0b3AKKyAgICAkMCBzdGFydAorICAgIDs7CisgICopCisgICAgZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kL3BwcG9lLXNlcnZlciB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iCisgICAgZXhpdCAxCisgICAgOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL3BwcG9lLXNlcnZlci5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9wcHBvZS1zZXJ2ZXIuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWUwYjllCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9wcHBvZS1zZXJ2ZXIuc2VydmljZQpAQCAtMCwwICsxLDExIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVBQUE9FIFNlcnZpY2UKK0FmdGVyPW5ldHdvcmsudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9kZWZhdWx0L3BwcG9lLXNlcnZlcgorRXhlY1N0YXJ0PUBTQklORElSQC9wcHBvZS1zZXJ2ZXIKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9wcHBvZS1zcmMtcmVzdHJpY3Rpb25zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi9wcHBvZS1zcmMtcmVzdHJpY3Rpb25zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjZjRkMTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL3BwcG9lLXNyYy1yZXN0cmljdGlvbnMucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorUmVsYXggcmVzdHJpY3Rpb25zIG9uIHRoZSBQUFBvRSBzcmMgYWRkcmVzcywgYXMgcGVyIGRlYmlhbiBidWcKKzI5MzgxMToKKworICBodHRwOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9MjkzODExCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbQmFja3BvcnQgZnJvbSBEZWJpYW5dCisKKy0tLSBycC1wcHBvZS0zLjgub3JpZy9zcmMvZGlzY292ZXJ5LmMKKysrKyBycC1wcHBvZS0zLjgvc3JjL2Rpc2NvdmVyeS5jCitAQCAtMzc2LDggKzM3Niw4IEBACisgCWlmICghcGFja2V0SXNGb3JNZShjb25uLCAmcGFja2V0KSkgY29udGludWU7CisgCisgCWlmIChwYWNrZXQuY29kZSA9PSBDT0RFX1BBRE8pIHsKKy0JICAgIGlmIChOT1RfVU5JQ0FTVChwYWNrZXQuZXRoSGRyLmhfc291cmNlKSkgeworLQkJcHJpbnRFcnIoIklnbm9yaW5nIFBBRE8gcGFja2V0IGZyb20gbm9uLXVuaWNhc3QgTUFDIGFkZHJlc3MiKTsKKysJICAgIGlmIChCUk9BRENBU1QocGFja2V0LmV0aEhkci5oX3NvdXJjZSkpIHsKKysJCXByaW50RXJyKCJJZ25vcmluZyBicm9hZGNhc3QgUEFETyBwYWNrZXQiKTsKKyAJCWNvbnRpbnVlOworIAkgICAgfQorIAkgICAgcGFyc2VQYWNrZXQoJnBhY2tldCwgcGFyc2VQQURPVGFncywgJnBjKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvdG9wLWF1dG9jb25mLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi90b3AtYXV0b2NvbmYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGZlNzNkMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lLTMuMTIvdG9wLWF1dG9jb25mLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK1RoZSBhdXRvY29uZiBzdHVmZiBpcyBhbGwgaW4gYSBzdWJkaXJlY3RvcnksIHdoaWNoIGlzIHJhdGhlciBhbm5veWluZworYXMgT0UgZXhwZWN0cyBwYXRjaGVzIHRvIGJlIGFwcGxpZWQgYW5kIGF1dG9jb25mIHN0dWZmIHRvIGJlIGRvbmUgaW4KK1MuIFRoaXMgYWRkcyBlbm91Z2ggYXV0b2NvbmYgYXQgdGhlIHRvcCBsZXZlbCB0byBhbGxvdyBpdCB0byBiZQorY2FsbGVkIHRoZXJlIC0gYWxsIGl0IGRvZXMgaXMgcnVuIGEgc3ViIGF1dG9jb25mIHN0dWZmIGluIHRoZSBzcmMKK2RpcmVjdG9yeS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtidWlsZCBzeXN0ZW0gc3BlY2lmaWMgY2hhbmdlXQorCitJbmRleDogcnAtcHBwb2UtMy44L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgcnAtcHBwb2UtMy44L01ha2VmaWxlLmFtCTIwMDctMDYtMDggMTU6NTg6MTYuMDAwMDAwMDAwICsxMDAwCitAQCAtMCwwICsxLDUgQEAKKytQQUNLQUdFID0gcnAtcHBwb2UKKytWRVJTSU9OID0gMy44CisrCisrZG5sIEFNX0NGTEFHUyA9IC1XYWxsIC1EREVCVUcKKytTVUJESVJTID0gc3JjCitJbmRleDogcnAtcHBwb2UtMy44L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIHJwLXBwcG9lLTMuOC9jb25maWd1cmUuaW4JMjAwNy0wNi0wOCAxNTo1ODoxNi4wMDAwMDAwMDAgKzEwMDAKK0BAIC0wLDAgKzEsNCBAQAorK0FDX0lOSVQoc3JjL3BwcG9lLmMpCisrQU1fSU5JVF9BVVRPTUFLRShbcnAtcHBwb2VdLCBbMy44XSkKKytBQ19DT05GSUdfU1VCRElSUyhzcmMpCisrQUNfT1VUUFVUKE1ha2VmaWxlKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi91cGRhdGUtY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2UtMy4xMi91cGRhdGUtY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyYTNiYzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9ycC1wcHBvZS9ycC1wcHBvZS0zLjEyL3VwZGF0ZS1jb25maWcucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorU2V0IHRoZSB0aW1lb3V0IHRvIDAgc2luY2Ugd2UgZG9uJ3Qgd2FudCBwcHBvZSB0byB0cnkgcmVjb25uZWN0aW5nLAord2Ugd2FudCB3aGF0ZXZlciBpcyBjYWxsaW5nIGl0IHRvIHJlY29ubmVjdC4gTG90cyBvZiBvZGQgdGhpbmdzCitoYXBwZW4gd2hlbiB5b3UgaGF2ZSBwcHBvZSByZXRyeWluZyBpdHNlbGYuCisKK1RoZSBwYXRoIGZvciB0aGUgcGx1Z2luIGlzIHdyb25nLCBpdCdzIG5vdyBwYXJ0IG9mIHBwcCBhbmQgaXMgaW4gYQorcHBwJ3MgcGx1Z2luIGxpYiBkaXJlY3RvcnkuIElmIG5vIHBhdGggaXMgc3BlY2lmaWVkIHRoZW4gdGhhdCdzIHdoZXJlCitwcHAgbG9va3MsIHNvIHRoYXQncyB3aGF0IHdlIGRvIGhlcmUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworSW5kZXg6IHJwLXBwcG9lLTMuOC9jb25maWdzL3BwcG9lLmNvbmYKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBycC1wcHBvZS0zLjgub3JpZy9jb25maWdzL3BwcG9lLmNvbmYJMjAwNi0wNC0wMyAwMDoyOTo0MS4wMDAwMDAwMDAgKzEwMDAKKysrKyBycC1wcHBvZS0zLjgvY29uZmlncy9wcHBvZS5jb25mCTIwMDctMDYtMDggMTY6MDI6NDcuMDAwMDAwMDAwICsxMDAwCitAQCAtNjYsNyArNjYsNyBAQAorICMgdG8gY29ubmVjdCBmb3JldmVyIGFmdGVyIHBwcG9lLXN0YXJ0IGlzIGNhbGxlZC4gIE90aGVyd2lzZSwgaXQgd2lsbAorICMgZ2l2ZSBvdXQgYWZ0ZXIgQ09OTkVDVF9USU1FT1VUIHNlY29uZHMgYW5kIHdpbGwgbm90IGF0dGVtcHQgdG8KKyAjIGNvbm5lY3QgYWdhaW4sIG1ha2luZyBpdCBpbXBvc3NpYmxlIHRvIHJlYWNoLgorLUNPTk5FQ1RfVElNRU9VVD0zMAorK0NPTk5FQ1RfVElNRU9VVD0wCisgCisgIyBIb3cgb2Z0ZW4gaW4gc2Vjb25kcyBwcHBvZS1zdGFydCBwb2xscyB0byBjaGVjayBpZiBsaW5rIGlzIHVwCisgQ09OTkVDVF9QT0xMPTIKK0BAIC0xMTUsNyArMTE1LDcgQEAKKyBGSVJFV0FMTD1OT05FCisgCisgIyBMaW51eCBrZXJuZWwtbW9kZSBwbHVnaW4gZm9yIHBwcGQuICBJZiB5b3Ugd2FudCB0byB0cnkgdGhlIGtlcm5lbC1tb2RlCistIyBwbHVnaW4sIHVzZSBMSU5VWF9QTFVHSU49L2V0Yy9wcHAvcGx1Z2lucy9ycC1wcHBvZS5zbworKyMgcGx1Z2luLCB1c2UgTElOVVhfUExVR0lOPXJwLXBwcG9lLnNvCisgTElOVVhfUExVR0lOPQorIAorICMgQW55IGV4dHJhIGFyZ3VtZW50cyB0byBwYXNzIHRvIHBwcG9lLiAgTm9ybWFsbHksIHVzZSBhIGJsYW5rIHN0cmluZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvcnAtcHBwb2UvcnAtcHBwb2VfMy4xMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lXzMuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFjYTE3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3JwLXBwcG9lL3JwLXBwcG9lXzMuMTIuYmIKQEAgLTAsMCArMSw3NCBAQAorU1VNTUFSWSA9ICJBIHVzZXItbW9kZSBQUFBvRSBjbGllbnQgYW5kIHNlcnZlciBzdWl0ZSBmb3IgTGludXgiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnJvYXJpbmdwZW5ndWluLmNvbS9wcm9kdWN0cy9wcHBvZSIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9MSUNFTlNFO21kNT1hMTk0ZWFlZmFlMmJlNTRlZTMyMjEzMzliMTBkMDU4MSIKKworUFIgPSAicjEwIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cucm9hcmluZ3Blbmd1aW4uY29tL2ZpbGVzL2Rvd25sb2FkLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly90b3AtYXV0b2NvbmYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlX2luX2Nyb3NzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3BwcG9lLXNyYy1yZXN0cmljdGlvbnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdXBkYXRlLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kb250LXN3YWxsb3ctZXJyb3JzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Rpc2NhcmQtdXNlLW9mLWRubC1pbi1NYWtlZmlsZS5hbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcHBwb2Utc2VydmVyLmRlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vcHBwb2Utc2VydmVyLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmluLUVycm9yLWZpeC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9wcHBvZS1zZXJ2ZXIuc2VydmljZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjIxNmViNTJiNjkwNjJiOTJhNjRlZTM3ZmQ3MWY0YjY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAwNzk0ZTA0MDMxNTQ2YjBlOWI4Y2YyODZmMmE2ZDFjY2ZjNGE2MjFiMmEzYWJiMmQ3ZWYyYTdhYjdjYzg2YzIiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wcHBvZS1zZXJ2ZXIuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyNAU1lTQ09ORkRJUkAjJHtzeXNjb25mZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9wcHBvZS1zZXJ2ZXIuc2VydmljZQorICAgIHNlZCAtaSAtZSAncyNAU0JJTkRJUkAjJHtzYmluZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9wcHBvZS1zZXJ2ZXIuc2VydmljZQorICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7UE59CisgICAgaWYgWyAtZiAke0R9JHtkYXRhZGlyfS9kb2MvUkVBRE1FIF07IHRoZW4KKyAgICAgICAgbXYgJHtEfSR7ZGF0YWRpcn0vZG9jL1JFQURNRSAke0R9JHtkYXRhZGlyfS9kb2MvJHtQTn0vCisgICAgZmkKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICAjIEluc3RhbGwgaW5pdCBzY3JpcHQgYW5kIGRlZmF1bHQgc2V0dGluZ3MKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wcHBvZS1zZXJ2ZXIuZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3BwcG9lLXNlcnZlcgorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3BwcG9lLXNlcnZlci5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9wcHBvZS1zZXJ2ZXIKKyAgICAjIEluc3RhbGwKKyAgICBvZV9ydW5tYWtlIC1DICR7U30gREVTVERJUj0ke0R9IGRvY2Rpcj0ke2RvY2Rpcn0gaW5zdGFsbAorICAgIGNobW9kIDQ3NTUgJHtEfSR7c2JpbmRpcn0vcHBwb2UKK30KKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfS1zZXJ2ZXIiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tc2VydmVyID0gInBwcG9lLXNlcnZlci5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorIyBJbnNlcnQgc2VydmVyIHBhY2thZ2UgYmVmb3JlIG1haW4gcGFja2FnZQorUEFDS0FHRVMgPSAiJHtQTn0tZGJnICR7UE59LXNlcnZlciAke1BOfS1yZWxheSAke1BOfS1zbmlmZiAke1BOfSAke1BOfS1kb2MiCisKK0ZJTEVTXyR7UE59LXNlcnZlciA9ICIke3N5c2NvbmZkaXJ9L2RlZmF1bHQvcHBwb2Utc2VydmVyIFwKKyAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9wcHBvZS1zZXJ2ZXIgXAorICAgICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0vcHBwb2Utc2VydmVyIFwKKyAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3BwcC9wcHBvZS1zZXJ2ZXItb3B0aW9ucyIKK0ZJTEVTXyR7UE59LXJlbGF5ID0gIiR7c2JpbmRpcn0vcHBwb2UtcmVsYXkiCitGSUxFU18ke1BOfS1zbmlmZiA9ICIke3NiaW5kaXJ9L3BwcG9lLXNuaWZmIgorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9wcHAvcHBwb2UuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9wcHAvZmlyZXdhbGwtc3RhbmRhbG9uZSBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9wcHAvZmlyZXdhbGwtbWFzcSIKK0NPTkZGSUxFU18ke1BOfS1zZXJ2ZXIgPSAiJHtzeXNjb25mZGlyfS9wcHAvcHBwb2Utc2VydmVyLW9wdGlvbnMgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RlZmF1bHQvcHBwb2Utc2VydmVyIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTICAgICAgICAgICAgPSAiJHtQTn0tc2VydmVyIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LXNlcnZlciAgID0gInBwcG9lLXNlcnZlciIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LXNlcnZlciA9ICJkZWZhdWx0cyA5MiA4IgorCitSREVQRU5EU18ke1BOfSA9ICJwcHAiCitSREVQRU5EU18ke1BOfS1zZXJ2ZXIgPSAiJHtQTn0iCitSUkVDT01NRU5EU18ke1BOfSA9ICJwcHAtb2UiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3Rzb2Nrcy90c29ja3NfMS44YmV0YTUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy90c29ja3MvdHNvY2tzXzEuOGJldGE1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzYTk2MjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy90c29ja3MvdHNvY2tzXzEuOGJldGE1LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiTGlicmFyaWVzIGFuZCB3cmFwcGVyIGZvciB1c2luZyBhIFNPQ0tTIHByb3h5IgorREVTQ1JJUFRJT04gPSAiVGhlIHJvbGUgb2YgdHNvY2tzIGlzIHRvIGFsbG93IG5vbiBTT0NLUyBhd2FyZSBcCithcHBsaWNhdGlvbnMgKGUuZyB0ZWxuZXQsIHNzaCwgZnRwIGV0YykgdG8gdXNlIFNPQ0tTIHdpdGhvdXQgYW55IFwKK21vZGlmaWNhdGlvbi4gSXQgZG9lcyB0aGlzIGJ5IGludGVyY2VwdGluZyB0aGUgY2FsbHMgdGhhdCBhcHBsaWNhdGlvbnMgXAorbWFrZSB0byBlc3RhYmxpc2ggbmV0d29yayBjb25uZWN0aW9ucyBhbmQgbmVnb3RhdGluZyB0aGVtIHRocm91Z2ggYSBcCitTT0NLUyBzZXJ2ZXIgYXMgbmVjZXNzYXJ5LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvdHNvY2tzLyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTg4MTA2NjlmMTNiODczNDg0NTllNjExZDMxYWI3NjAiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvdHNvY2tzL3Rzb2Nrcy0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MWNhZWZkNzdlNWQ0NDBkMGJiZDY0NDNkYjRmYzBmOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NDlkN2VmNWFmODBkMDNlNzZjYzA1ZWQ5ZmI4ZmEyYmNjMmI3MjRiNTFlYmZkMWI2YmUxMWM3ODYzZjViMzQ3IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUyA9ICIke1dPUktESVJ9L3Rzb2Nrcy0xLjgiCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qICR7YmluZGlyfS90c29ja3MiCitGSUxFU18ke1BOfS1kZXYgPSAiIgorSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy94bDJ0cGQveGwydHBkLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjdmNjkzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZC5pbmMKQEAgLTAsMCArMSw0NCBAQAorU1VNTUFSWSA9ICJYZWxlcmFuY2UgdmVyc2lvbiBvZiB0aGUgTGF5ZXIgMiBUdW5uZWxpbmcgUHJvdG9jb2wgKEwyVFApIGRhZW1vbiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cueGVsZXJhbmNlLmNvbS9zb2Z0d2FyZS94bDJ0cGQvIgorU0VDVElPTiA9ICJuZXQiCitERVBFTkRTID0gInBwcCB2aXJ0dWFsL2tlcm5lbCIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitJTkNfUFIgPSAicjAiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS94ZWxlcmFuY2UveGwydHBkLmdpdCBcCisgICAgZmlsZTovL2ZpeC1pbmxpbmUtZnVuY3Rpb25zLWVycm9ycy13aXRoLWdjYy01LngucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IHVwZGF0ZS1yYy5kCisKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UgQ0ZMQUdTPSIke0NGTEFHU30gLURMSU5VWCIgTERGTEFHUz0iJHtMREZMQUdTfSIgUFJFRklYPSIke3ByZWZpeH0iIEtFUk5FTFNSQz0ke1NUQUdJTkdfS0VSTkVMX0RJUn0gYWxsCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgUFJFRklYPSIke0R9JHtwcmVmaXh9IiBpbnN0YWxsCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIHRvdWNoICR7RH0ke3N5c2NvbmZkaXJ9L3hsMnRwZC5jb25mCisgICAgaW5zdGFsbCAtbSAwNzU1IGRlYmlhbi94bDJ0cGQuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQveGwydHBkCisgICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3hsMnRwZAorICAgIHNlZCAtaSAncyEvZXRjLyEke3N5c2NvbmZkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQveGwydHBkCisgICAgc2VkIC1pICdzIS92YXIvISR7bG9jYWxzdGF0ZWRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC94bDJ0cGQKKyAgICBzZWQgLWkgJ3MhXlBBVEg9LiohUEFUSD0ke2Jhc2Vfc2JpbmRpcn06JHtiYXNlX2JpbmRpcn06JHtzYmluZGlyfToke2JpbmRpcn0hJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQveGwydHBkCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGViaWFuL3hsMnRwZC5kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQveGwydHBkCit9CisKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS94bDJ0cGQuY29uZiAke3N5c2NvbmZkaXJ9L2RlZmF1bHQveGwydHBkIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59IgorSU5JVFNDUklQVF9OQU1FXyR7UE59ID0gInhsMnRwZCIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZC9maXgtaW5saW5lLWZ1bmN0aW9ucy1lcnJvcnMtd2l0aC1nY2MtNS54LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZC9maXgtaW5saW5lLWZ1bmN0aW9ucy1lcnJvcnMtd2l0aC1nY2MtNS54LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NWM5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy94bDJ0cGQveGwydHBkL2ZpeC1pbmxpbmUtZnVuY3Rpb25zLWVycm9ycy13aXRoLWdjYy01LngucGF0Y2gKQEAgLTAsMCArMSwxMzQgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworQmFja3BvcnQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20veGVsZXJhbmNlL3hsMnRwZC9jb21taXQvOTA5OGY2NDk1MGViMjJjZjA0OTA1OGQ0MGY2NDdiYWZkYjgyMjE3NAorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorRnJvbSA5MDk4ZjY0OTUwZWIyMmNmMDQ5MDU4ZDQwZjY0N2JhZmRiODIyMTc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDIzIFNlcCAyMDE1IDEwOjQxOjA1ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCBlcnJvcnMgY2F1c2VkIGJ5IGlubGluZSBmdW5jdGlvbiB3aXRoIGdjYyA1CisKK0dDQyA1IGRlZmF1bHRzIHRvIC1zdGQ9Z251MTEgaW5zdGVhZCBvZiAtc3RkPWdudTg5LiBBbmQgLXN0ZD1nbnU4OQorZW1wbG95cyB0aGUgR05VODkgaW5saW5lIHNlbWFudGljcywgLXN0ZD1nbnUxMSB1c2VzIHRoZSBDOTkgaW5saW5lCitzZW1hbnRpY3MuCisKK0ZvciAnaW5saW5lJyBmdWN0aW9uLCBpdCBpcyBOT1QgZXhwb3J0ZWQgYnkgQzk5LiBTbyBlcnJvciBtZXNzYWdlcyBzdWNoIGFzOgorCit8IGNvbnRyb2wuYzoxNzE3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBjaGVja19jb250cm9sJworCitGb3IgdGhlc2UgZnVuY3Rpb25zIHdoaWNoIGlzIG5vdCByZWZlcnJlZCBieSBvdGhlciBjb21waWxlIHVuaXRzLCBtYWtlCit0aGVtICdzdGF0aWMgaW5saW5lJy4KKworRm9yICdleHRlcm4gaW5saW5lJyBmdW5jdGlvbiwgaXQgZmFpbHMgc3VjaCBhczoKKworfCBtaXNjLmg6Njg6MjA6IHdhcm5pbmc6IGlubGluZSBmdW5jdGlvbiAnc3dhcHMnIGRlY2xhcmVkIGJ1dCBuZXZlciBkZWZpbmVkCit8ICBleHRlcm4gaW5saW5lIHZvaWQgc3dhcHMgKHZvaWQgKiwgaW50KTsKK3wgICAgICAgICAgICAgICAgICAgICAgXgorCitCZWNhdXNlIGZ1bmN0aW9uIHN3YXBzKCkgaXMgcmVmZXJyZWQgYnkgb3RoZXIgY29tcGlsZSB1bml0cywgaXQgbXVzdCBiZQorZXhwb3J0ZWQuIFRoZSBzZW1hbnRpY3Mgb2YgJ2V4dGVybiBpbmxpbmUnIGFyZSBub3Qgc2FtZSBiZXR3ZWVuIEdOVTg5CithbmQgQzk5LCBzbyByZW1vdmUgJ2lubGluZScgYXR0cmlidXRlIGZvciBjb21wYXRpYmxlIHdpdGggR05VODkuCisKK1JlZjoKK2h0dHBzOi8vZ2NjLmdudS5vcmcvZ2NjLTUvcG9ydGluZ190by5odG1sCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgY29udHJvbC5jIHwgOCArKysrLS0tLQorIG1pc2MuYyAgICB8IDIgKy0KKyBtaXNjLmggICAgfCAyICstCisgbmV0d29yay5jIHwgNCArKy0tCisgNCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb250cm9sLmMgYi9jb250cm9sLmMKK2luZGV4IGIyODkxYTkuLmM0YTM5YjUgMTAwNjQ0CistLS0gYS9jb250cm9sLmMKKysrKyBiL2NvbnRyb2wuYworQEAgLTExNDAsNyArMTE0MCw3IEBAIGludCBjb250cm9sX2ZpbmlzaCAoc3RydWN0IHR1bm5lbCAqdCwgc3RydWN0IGNhbGwgKmMpCisgICAgIHJldHVybiAwOworIH0KKyAKKy1pbmxpbmUgaW50IGNoZWNrX2NvbnRyb2wgKGNvbnN0IHN0cnVjdCBidWZmZXIgKmJ1Ziwgc3RydWN0IHR1bm5lbCAqdCwKKytzdGF0aWMgaW5saW5lIGludCBjaGVja19jb250cm9sIChjb25zdCBzdHJ1Y3QgYnVmZmVyICpidWYsIHN0cnVjdCB0dW5uZWwgKnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY2FsbCAqYykKKyB7CisgICAgIC8qCitAQCAtMTI3Niw3ICsxMjc2LDcgQEAgaW5saW5lIGludCBjaGVja19jb250cm9sIChjb25zdCBzdHJ1Y3QgYnVmZmVyICpidWYsIHN0cnVjdCB0dW5uZWwgKnQsCisgICAgIHJldHVybiAwOworIH0KKyAKKy1pbmxpbmUgaW50IGNoZWNrX3BheWxvYWQgKHN0cnVjdCBidWZmZXIgKmJ1Ziwgc3RydWN0IHR1bm5lbCAqdCwKKytzdGF0aWMgaW5saW5lIGludCBjaGVja19wYXlsb2FkIChzdHJ1Y3QgYnVmZmVyICpidWYsIHN0cnVjdCB0dW5uZWwgKnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY2FsbCAqYykKKyB7CisgICAgIC8qCitAQCAtMTM4Miw3ICsxMzgyLDcgQEAgaW5saW5lIGludCBjaGVja19wYXlsb2FkIChzdHJ1Y3QgYnVmZmVyICpidWYsIHN0cnVjdCB0dW5uZWwgKnQsCisgI2VuZGlmCisgICAgIHJldHVybiAwOworIH0KKy1pbmxpbmUgaW50IGV4cGFuZF9wYXlsb2FkIChzdHJ1Y3QgYnVmZmVyICpidWYsIHN0cnVjdCB0dW5uZWwgKnQsCisrc3RhdGljIGlubGluZSBpbnQgZXhwYW5kX3BheWxvYWQgKHN0cnVjdCBidWZmZXIgKmJ1Ziwgc3RydWN0IHR1bm5lbCAqdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY2FsbCAqYykKKyB7CisgICAgIC8qCitAQCAtMTU2Miw3ICsxNTYyLDcgQEAgdm9pZCBzZW5kX3psYiAodm9pZCAqZGF0YSkKKyAgICAgdG9zcyAoYnVmKTsKKyB9CisgCistaW5saW5lIGludCB3cml0ZV9wYWNrZXQgKHN0cnVjdCBidWZmZXIgKmJ1Ziwgc3RydWN0IHR1bm5lbCAqdCwgc3RydWN0IGNhbGwgKmMsCisrc3RhdGljIGlubGluZSBpbnQgd3JpdGVfcGFja2V0IChzdHJ1Y3QgYnVmZmVyICpidWYsIHN0cnVjdCB0dW5uZWwgKnQsIHN0cnVjdCBjYWxsICpjLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29udmVydCkKKyB7CisgICAgIC8qCitkaWZmIC0tZ2l0IGEvbWlzYy5jIGIvbWlzYy5jCitpbmRleCAzMDkyNDAxLi5hZjkwZGJmIDEwMDY0NAorLS0tIGEvbWlzYy5jCisrKysgYi9taXNjLmMKK0BAIC0xNzAsNyArMTcwLDcgQEAgdm9pZCBkb19wYWNrZXRfZHVtcCAoc3RydWN0IGJ1ZmZlciAqYnVmKQorICAgICBwcmludGYgKCJ9XG4iKTsKKyB9CisgCistaW5saW5lIHZvaWQgc3dhcHMgKHZvaWQgKmJ1Zl92LCBpbnQgbGVuKQorK3ZvaWQgc3dhcHMgKHZvaWQgKmJ1Zl92LCBpbnQgbGVuKQorIHsKKyAjaWZkZWYgX19hbHBoYQorICAgICAvKiBSZXZlcnNlIGJ5dGUgb3JkZXIgYWxwaGEgaXMgbGl0dGxlIGVuZGlhbiBzbyBsZXN0IHNhdmUgYSBzdGVwLgorZGlmZiAtLWdpdCBhL21pc2MuaCBiL21pc2MuaAoraW5kZXggYWFmZGM2Mi4uY2FhYjdhMSAxMDA2NDQKKy0tLSBhL21pc2MuaAorKysrIGIvbWlzYy5oCitAQCAtNjUsNyArNjUsNyBAQCBleHRlcm4gdm9pZCBsMnRwX2xvZyAoaW50IGxldmVsLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CisgZXh0ZXJuIHN0cnVjdCBidWZmZXIgKm5ld19idWYgKGludCk7CisgZXh0ZXJuIHZvaWQgdWRwcHVzaF9oYW5kbGVyIChpbnQpOworIGV4dGVybiBpbnQgYWRkZmNzIChzdHJ1Y3QgYnVmZmVyICpidWYpOworLWV4dGVybiBpbmxpbmUgdm9pZCBzd2FwcyAodm9pZCAqLCBpbnQpOworK2V4dGVybiB2b2lkIHN3YXBzICh2b2lkICosIGludCk7CisgZXh0ZXJuIHZvaWQgZG9fcGFja2V0X2R1bXAgKHN0cnVjdCBidWZmZXIgKik7CisgZXh0ZXJuIHZvaWQgc3RhdHVzIChjb25zdCBjaGFyICpmbXQsIC4uLik7CisgZXh0ZXJuIHZvaWQgc3RhdHVzX2hhbmRsZXIgKGludCBzaWduYWwpOworZGlmZiAtLWdpdCBhL25ldHdvcmsuYyBiL25ldHdvcmsuYworaW5kZXggYjEyNjhjNi4uZDMyNGE3MSAxMDA2NDQKKy0tLSBhL25ldHdvcmsuYworKysrIGIvbmV0d29yay5jCitAQCAtMTM1LDcgKzEzNSw3IEBAIGludCBpbml0X25ldHdvcmsgKHZvaWQpCisgICAgIHJldHVybiAwOworIH0KKyAKKy1pbmxpbmUgdm9pZCBleHRyYWN0ICh2b2lkICpidWYsIGludCAqdHVubmVsLCBpbnQgKmNhbGwpCisrc3RhdGljIGlubGluZSB2b2lkIGV4dHJhY3QgKHZvaWQgKmJ1ZiwgaW50ICp0dW5uZWwsIGludCAqY2FsbCkKKyB7CisgICAgIC8qCisgICAgICAqIEV4dHJhY3QgdGhlIHR1bm5lbCBhbmQgY2FsbCAjJ3MsIGFuZCBmaXggdGhlIG9yZGVyIG9mIHRoZSAKK0BAIC0xNTUsNyArMTU1LDcgQEAgaW5saW5lIHZvaWQgZXh0cmFjdCAodm9pZCAqYnVmLCBpbnQgKnR1bm5lbCwgaW50ICpjYWxsKQorICAgICB9CisgfQorIAorLWlubGluZSB2b2lkIGZpeF9oZHIgKHZvaWQgKmJ1ZikKKytzdGF0aWMgaW5saW5lIHZvaWQgZml4X2hkciAodm9pZCAqYnVmKQorIHsKKyAgICAgLyoKKyAgICAgICogRml4IHRoZSBieXRlIG9yZGVyIG9mIHRoZSBoZWFkZXIKKy0tIAorMi42LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZF8xLjMuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3hsMnRwZC94bDJ0cGRfMS4zLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGYyZWM1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3hsMnRwZC94bDJ0cGRfMS4zLjYuYmIKQEAgLTAsMCArMSw3IEBACityZXF1aXJlIHhsMnRwZC5pbmMKKworIyBUaGUgU1JDUkVWIGNvcnJlc3BvbmRzIHRvIHYxLjMuNi4KKyMgQWRkaW5nIHRhZz12MS4zLjYgdG8gdGhlIFNSQ19VUkkgd2lsbCBmb3JjZSBhY2Nlc3MgdG8gdGhlIHVwc3RyZWFtIHJlcG8uCisjCitTUkNSRVYgPSAiNTYxOWUxNzcxMDQ4ZTc0YjcyOTgwNGU4NjAyZjQwOWFmMGYzZmFlYSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy94bDJ0cGQveGwydHBkX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmJjMzk4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMveGwydHBkL3hsMnRwZF9naXQuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIHhsMnRwZC5pbmMKKworIyBUaGlzIGlzIHYxLjMuNiBwbHVzIHNvbWUgY29tbWl0cy4gIFRoZXJlIGlzIG5vIHRhZyBmb3IgdGhpcyBjb21taXQuCisjCitQViA9ICIxLjMuNitnaXQke1NSQ1BWfSIKKworU1JDUkVWID0gImE5NmIzNDU5NjI2MjJlYTU4NDkwOTI0MTMwNjc1ZGY2ZGIwNjJkMTEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3plcm9jb25mL3plcm9jb25mL2NvbXBpbGVmaXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy96ZXJvY29uZi96ZXJvY29uZi9jb21waWxlZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyOGU1NzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy96ZXJvY29uZi96ZXJvY29uZi9jb21waWxlZml4LnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK3wgemVyb2NvbmYuYzogSW4gZnVuY3Rpb24gJ21haW4nOgorfCB6ZXJvY29uZi5jOjE0NTogZXJyb3I6ICdQQVRIX01BWCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCisKK1JQIC0gNC85LzA5CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogemVyb2NvbmYtMC45L3plcm9jb25mLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB6ZXJvY29uZi0wLjkub3JpZy96ZXJvY29uZi5jCTIwMDktMDktMDQgMTA6MDU6MjUuMDAwMDAwMDAwICswMTAwCisrKysgemVyb2NvbmYtMC45L3plcm9jb25mLmMJMjAwOS0wOS0wNCAxMDowNTo0Mi4wMDAwMDAwMDAgKzAxMDAKK0BAIC0zMyw2ICszMyw3IEBACisgI2luY2x1ZGUgPG5ldC9pZl9hcnAuaD4KKyAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyAjaW5jbHVkZSA8c2lnbmFsLmg+CisrI2luY2x1ZGUgPGxpbWl0cy5oPgorIAorICNpbmNsdWRlICJkZWxheS5oIgorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvemVyb2NvbmYvemVyb2NvbmYvZGViaWFuLXplcm9jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvemVyb2NvbmYvemVyb2NvbmYvZGViaWFuLXplcm9jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjOWQxNWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy96ZXJvY29uZi96ZXJvY29uZi9kZWJpYW4temVyb2NvbmYKQEAgLTAsMCArMSw1MSBAQAorIyEvYmluL3NoCisKK2lmIFsgISAteCAvdXNyL3NiaW4vemVyb2NvbmYgXTsgdGhlbgorICAgIGV4aXQgMAorZmkKKworIyBJUHY0IGxpbmstbG9jYWwgYWRkcmVzc2VzICh6ZXJvY29uZikgYXJlCisjIG9ubHkgYXBwbGljYWJsZSBvbiB0aGUgJ2luZXQnIGFkZHJlc3MgZmFtaWx5CitbICJYJEFERFJGQU0iICE9ICJYaW5ldCIgXSAmJiBleGl0IDAKKworIyBIb3dldmVyIHRoZXJlIGFyZSBzb21lIG1ldGhvZHMgd2hlcmUgaXQgZG9lc24ndAorIyBtYWtlIGFueSBzZW5zZSB0byBjb25maWd1cmUgYW4gSVB2NExMIGFkZHJlc3MKKworIyBub3Qgb24gbG9vcGJhY2sKK1sgIlgkTUVUSE9EIiA9ICJYbG9vcGJhY2siIF0gJiYgZXhpdCAwCisKKyMgbm90IG9uIHBwcCBvciB3dmRpYWwgZWl0aGVyCitbICJYJE1FVEhPRCIgPSAiWHBwcCIgXSAmJiBleGl0IDAKK1sgIlgkTUVUSE9EIiA9ICJYd3ZkaWFsIiBdICYmIGV4aXQgMAorCisjIFRoZSBhZG1pbmlzdHJhdG9yIG1heSBoYXZlIGJsYWNrbGlzdGVkIGludGVyZmFjZXMKKyMgb3Igb25seSB3YW50IHplcm9jb25mIGluIGEgZmFsbGJhY2sgc2l0dWF0aW9uCitbIC1mIC9ldGMvZGVmYXVsdC96ZXJvY29uZiBdICYmCisgICAgLiAvZXRjL2RlZmF1bHQvemVyb2NvbmYKKworWyAtbiAiJERJU0FCTEUiIF0gJiYgZXhpdCAwCisKK2ZvciBCTEFDSyBpbiAkSUZCTEFDS0xJU1Q7IGRvCisgICAgY2FzZSAkSUZBQ0UgaW4KKwkkQkxBQ0spCisJZXhpdCAwCisJOzsKKyAgICBlc2FjCitkb25lCisKKyMgc2hvdWxkIHdlIG9ubHkgYWxsb2NhdGUgYW4gYWRkcmVzcyBpZiB3ZSBkbyBub3QgYWxyZWFkeSBoYXZlIG9uZT8KK2lmIFsgLW4gIiRGQUxMQkFDSyIgXTsgdGhlbgorICAgIC9zYmluL2lwIGFkZHIgc2hvdyAkSUZBQ0Ugc2NvcGUgZ2xvYmFsIHwgZ3JlcCAtcSAiaW5ldCIKKyAgICBJUD0kPworICAgIGlmIFsgJElQIC1lcSAwIF07IHRoZW4KKyAgICAgICAgL3NiaW4vaXAgcm91dGUgYWRkIDE2OS4yNTQuMC4wLzE2IGRldiAkSUZBQ0UKKyAgICAgICAgZXhpdCAwCisgICAgZmkKK2ZpCisKKyMgb3RoZXJ3aXNlLCBydW4gaWYgd2UgYXJlbid0IGFscmVhZHkgZ29pbmcKK2lmIFsgISAtciAvdmFyL3J1bi96ZXJvY29uZi4kSUZBQ0UucGlkIF07IHRoZW4KKwkvdXNyL3NiaW4vemVyb2NvbmYgLWkgJElGQUNFCitmaQorCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL3plcm9jb25mL3plcm9jb25mL3plcm9jb25mLWRlZmF1bHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy96ZXJvY29uZi96ZXJvY29uZi96ZXJvY29uZi1kZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMDdiMjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy96ZXJvY29uZi96ZXJvY29uZi96ZXJvY29uZi1kZWZhdWx0CkBAIC0wLDAgKzEsMTcgQEAKKyMgRGVmYXVsdCBmb3IgemVyb2NvbmYKKworIyBkaXNhYmxlIHplcm9jb25mCisjIElmIHlvdSB3YW50IHRvIGRpc2FibGUgemVyb2NvbmYgY29tcGxldGVseSwgdW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZQorIyB0aGlzIG1heSBiZSB1c2VmdWwgaWYgeW91IGFyZSBkZWJ1Z2dpbmcgemVyb2NvbmYgb3Igc3RhcnRpbmcgaXQgbWFudWFsbHkKKyNESVNBQkxFPXllcworCisjIGJsYWNrLWxpc3RlZCBpbnRlcmZhY2VzCisjIEludGVyZmFjZXMgd2hpY2ggeW91IG5ldmVyIHdpc2ggdG8gaGF2ZSB6ZXJvY29uZiBydW4gb24gc2hvdWxkCisjIGJlIGxpc3RlZCBoZXJlLiBlLmcuICJldGgyIHdsYW4xIiBpbiBhIHNwYWNlIHNlcGVyYXRlZCBzdHJpbmcKK0lGQkxBQ0tMSVNUPSIiCisKKyMgZmFsbGJhY2sgb25seQorIyBJZiB5b3Ugd291bGQgb25seSBsaWtlIGEgbGluay1sb2NhbCBhZGRyZXNzIGlmIHlvdSB3ZXJlIHVuYWJsZSB0bworIyBvYnRhaW4gYW4gYWRkcmVzcyB2aWEgREhDUCB0aGVuIHVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmUKKyNGQUxMQkFDSz15ZXMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvemVyb2NvbmYvemVyb2NvbmZfMC45LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvemVyb2NvbmYvemVyb2NvbmZfMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzMDcyNjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy96ZXJvY29uZi96ZXJvY29uZl8wLjkuYmIKQEAgLTAsMCArMSwzNCBAQAorU1VNTUFSWSA9ICJJUHY0IGxpbmstbG9jYWwgYWRkcmVzcyBhbGxvY2F0b3IiCitERVNDUklQVElPTiA9ICJaZXJvY29uZiBpcyBhIHByb2dyYW0gdGhhdCBpcyB1c2VkIHRvIGNsYWltIElQdjQgXAorbGluay1sb2NhbCBhZGRyZXNzZXMuIElQdjQgbGluay1sb2NhbCBhZGRyZXNzZXMgYXJlIHVzZWZ1bCB3aGVuIHNldHRpbmcgXAordXAgYWQtaG9jIG5ldHdvcmtpbmcgYmV0d2VlbiBkZXZpY2VzIHdpdGhvdXQgdGhlIGludm9sdmVtZW50IG9mIGEgZWl0aGVyIFwKK2EgREhDUCBzZXJ2ZXIgb3IgbmV0d29yayBhZG1pbmlzdHJhdG9yLiBcCitUaGVzZSBhZGRyZXNzZXMgYXJlIGFsbG9jYXRlZCBmcm9tIHRoZSAxNjkuMjU0LjAuMC8xNiBhZGRyZXNzIHJhbmdlIGFuZCBcCithcmUgbm9ybWFsbHkgYXR0YWNoZWQgdG8gZWFjaCBFdGhlcm5ldCBkZXZpY2UgaW4geW91ciBjb21wdXRlci4gXAorQWRkcmVzc2VzIGFyZSBhc3NpZ25lZCByYW5kb21seSBieSBlYWNoIGhvc3QgYW5kLCBpbiBjYXNlIG9mIGNvbGxpc2lvbiwgXAorYm90aCBob3N0cyAoYXJlIHN1cHBvc2VkIHRvKSByZW51bWJlci4iCitBVVRIT1IgPSAiQW5hbmQgS3VtcmlhIDx3aWxkZmlyZUBwcm9nc29jLnV0cy5lZHUuYXU+IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wcm9nc29jLm9yZy9+d2lsZGZpcmUvemVyb2NvbmYvIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly96ZXJvY29uZi5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MTM7bWQ1PWE1YmFkYTk2ZTFlMzRiMDhlYjc0NDZiMjhlMjYzMGIyIgorU0VDVElPTiA9ICJuZXQiCisKK1BSID0gInIxIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cucHJvZ3NvYy5vcmcvfndpbGRmaXJlL3plcm9jb25mL2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vY29tcGlsZWZpeC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly96ZXJvY29uZi1kZWZhdWx0IFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi16ZXJvY29uZiIKKworU1JDX1VSSVttZDVzdW1dID0gImJkYWZiMTZiMDA4ZWJiNTYzM2U0ZTU4MWY3NzgyMWQyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE4Yzc0ZGYxMjc3NTNlMjMxMGZhMWUwNzJmM2M5Y2E0NGE0MDRiYjBiYmNlOWNmZWM3YTg0YzZkZmY4YmVjN2IiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtdXAuZAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgIGluc3RhbGwgLWMgLW0gNzU1ICR7U30vemVyb2NvbmYgJHtEfSR7c2JpbmRpcn0vemVyb2NvbmYKKyAgICBpbnN0YWxsIC1jIC1tIDc1NSAke1dPUktESVJ9L2RlYmlhbi16ZXJvY29uZiAke0R9JHtzeXNjb25mZGlyfS9uZXR3b3JrL2lmLXVwLmQvemVyb2NvbmYKKyAgICBpbnN0YWxsIC1jICR7V09SS0RJUn0vemVyb2NvbmYtZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3plcm9jb25mCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYW9ldG9vbHMvYW9ldG9vbHMvYW9lLXN0YXQtbm8tYmFzaGlzbS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9hb2V0b29scy9hb2V0b29scy9hb2Utc3RhdC1uby1iYXNoaXNtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjODliN2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYW9ldG9vbHMvYW9ldG9vbHMvYW9lLXN0YXQtbm8tYmFzaGlzbS5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIDM4Yzk3ZTU5MGZkZTE5MjEzZjZiYTMxZTcyZDFjMjI3ZGI4Njk0MjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFN1biwgMzEgQXVnIDIwMTQgMjI6Mjg6MzggLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gYW9lLXN0YXQuaW46IG5vIGJhc2hpc20KKworVGhlIGNoZWNrYmFzaGlzbXMgc2hvd3MgdGhlcmUgaXMgbm8gYmFzaGlzbSwgc28gdXNlIC9iaW4vc2guCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGFvZS1zdGF0LmluIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYW9lLXN0YXQuaW4gYi9hb2Utc3RhdC5pbgoraW5kZXggNTBlNmFjNi4uMGMxZDZmNSAxMDA3NTUKKy0tLSBhL2FvZS1zdGF0LmluCisrKysgYi9hb2Utc3RhdC5pbgorQEAgLTEsNCArMSw0IEBACistIyEgL2Jpbi9iYXNoCisrIyEgL2Jpbi9zaAorICMgYW9lLXN0YXQgLSBjb2xsYXRlIGFuZCBwcmVzZW50IGluZm9ybWF0aW9uIGFib3V0IEFvRSBzdG9yYWdlCisgIyBDb3B5cmlnaHQgMjAxMiwgQ09SQUlELCBJbmMuLCBhbmQgbGljZW5zZWQgdW5kZXIgR1BMIHYuMi4KKyAKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYW9ldG9vbHMvYW9ldG9vbHNfMzYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYW9ldG9vbHMvYW9ldG9vbHNfMzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM4MmE3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9hb2V0b29scy9hb2V0b29sc18zNi5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIkFUQSBvdmVyIEV0aGVybmV0IFRvb2xzIgorREVTQ1JJUFRJT04gPSAiIFwKK1RoZSBhb2V0b29scyBhcmUgcHJvZ3JhbXMgZm9yIHVzZXJzIG9mIHRoZSBBVEEgb3ZlciBFdGhlcm5ldCAoQW9FKW5ldHdvcmsgXAorc3RvcmFnZSBwcm90b2NvbCwgYSBzaW1wbGUgcHJvdG9jb2wgZm9yIHVzaW5nIHN0b3JhZ2Ugb3ZlciBhbmV0aGVybmV0IExBTi4gXAorVGhlIHZibGFkZSBwcm9ncmFtIChzdG9yYWdlIHRhcmdldCkgZXhwb3J0cyBhIGJsb2NrZGV2aWNlIHVzaW5nIEFvRS4gXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy8ke0JQTn0iCitTRUNUSU9OID0gImFkbWluIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1hb2UiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy8ke0JQTn0vZmlsZXMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vYW9lLXN0YXQtbm8tYmFzaGlzbS5wYXRjaCBcCisgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZmYzMGRhYTk4OGE2NWY2OWQ0NDQ4Y2U0NzI2YTZkYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmYjVlMmNkMGRlNzY0NGNjMWVjMDRlZTNhZWI0MzIxMWNmNzQ0NWEwYzE5ZTEzZDZiM2VkNWE4ZmJkZjIxNWZmIgorCisjIEVYVFJBX09FTUFLRSBpcyB0eXBpY2FsbHk6IC1lIE1BS0VGTEFHUz0KKyMgdGhlIC1lIGNhdXNlcyBwcm9ibGVtcyBhcyBDRkxBR1MgaXMgbW9kaWZpZWQgaW4gdGhlIE1ha2VmaWxlLgorRVhUUkFfT0VNQUtFID0gIiIKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYXJwdGFibGVzL2FycHRhYmxlcy0wLjAuMy00L2FycHRhYmxlcy1hcnB0LWdldC10YXJnZXQtZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtYXJwdC1nZXQtdGFyZ2V0LWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODc1MzQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtYXJwdC1nZXQtdGFyZ2V0LWZpeC5wYXRjaApAQCAtMCwwICsxLDMwIEBACithcnB0YWJsZXM6IGZpeCB0aGUgcmVkZWZpbml0aW9uIG9mICdhcnB0X2dldF90YXJnZXQnCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitUaGlzIGZ1bmN0aW9uIGlzIGFscmVhZHkgZGVmaW5lZCBhcyBhIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb24gaW4KK2luY2x1ZGUvbGludXgvbmV0ZmlsdGVyX2FycC9hcnBfdGFibGVzLmgsIG9uY2UgR0NDIHVzZXMgLU8wLCB0aGUKK2lubGluZSB3aWxsIG5vdCB3b3JrLCBhbmQgdGhlIHJlZGVmaW5pdGlvbiBlcnJvciB3aWxsIGhhcHBlbgorCitTaWduZWQtb2ZmLWJ5OiBBd3MgSXNtYWlsIDxhd3MuaXNtYWlsQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLS1naXQgYS9saWJhcnB0Yy9saWJhcnB0Y19pbmNsLmMgYi9saWJhcnB0Yy9saWJhcnB0Y19pbmNsLmMKK2luZGV4IDM1NzM2ZGIuLmFkZGQzZjkgMTAwNjQ0CistLS0gYS9saWJhcnB0Yy9saWJhcnB0Y19pbmNsLmMKKysrKyBiL2xpYmFycHRjL2xpYmFycHRjX2luY2wuYworQEAgLTExLDE0ICsxMSw2IEBACisgLyogKEMpMTk5OSBQYXVsIGBgUnVzdHknJyBSdXNzZWxsIC0gUGxhY2VkIHVuZGVyIHRoZSBHTlUgR1BMIChTZWUKKyAgICBDT1BZSU5HIGZvciBkZXRhaWxzKS4gKi8KKyAKKy0jaWZuZGVmIF9fT1BUSU1JWkVfXworLVNUUlVDVF9FTlRSWV9UQVJHRVQgKgorLUdFVF9UQVJHRVQoU1RSVUNUX0VOVFJZICplKQorLXsKKy0JcmV0dXJuICh2b2lkICopZSArIGUtPnRhcmdldF9vZmZzZXQ7CistfQorLSNlbmRpZgorLQorIHN0YXRpYyBpbnQgc29ja2ZkID0gLTE7Cisgc3RhdGljIHZvaWQgKmFycHRjX2ZuID0gTlVMTDsKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9hcnB0YWJsZXMvYXJwdGFibGVzLTAuMC4zLTQvYXJwdGFibGVzLWNvbXBpbGUtaW5zdGFsbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9hcnB0YWJsZXMvYXJwdGFibGVzLTAuMC4zLTQvYXJwdGFibGVzLWNvbXBpbGUtaW5zdGFsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MGU5ODA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtY29tcGlsZS1pbnN0YWxsLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK0luZGV4OiBhcnB0YWJsZXMtdjAuMC4zLTQvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhcnB0YWJsZXMtdjAuMC4zLTQub3JpZy9NYWtlZmlsZQkyMDEwLTAzLTA4IDE4OjQ5OjI4LjAwMDAwMDAwMCArMDMwMAorKysrIGFycHRhYmxlcy12MC4wLjMtNC9NYWtlZmlsZQkyMDEwLTAzLTIyIDE1OjUyOjU2LjAwMDAwMDAwMCArMDMwMAorQEAgLTYsMTIgKzYsMTEgQEAKKyBMSUJESVI6PSQoUFJFRklYKS9saWIKKyBCSU5ESVI6PSQoUFJFRklYKS9zYmluCisgTUFORElSOj0kKFBSRUZJWCkvbWFuCistSU5JVERJUjo9L2V0Yy9yYy5kL2luaXQuZAorK0lOSVRESVI6PS9ldGMvaW5pdC5kCisgU1lTQ09ORklHRElSOj0vZXRjL3N5c2NvbmZpZworIERFU1RESVI6PQorIAorLUNPUFRfRkxBR1M6PS1PMgorLUNGTEFHUzo9JChDT1BUX0ZMQUdTKSAtV2FsbCAtV3VudXNlZCAtSSQoS0VSTkVMX0RJUikvaW5jbHVkZS8gLUlpbmNsdWRlLyAtREFSUFRBQkxFU19WRVJTSU9OPVwiJChBUlBUQUJMRVNfVkVSU0lPTilcIiAjLWcgLURERUJVRyAjLXBnICMgLURBUlBUQ19ERUJVRworK0FSUENGTEFHUzo9LVdhbGwgLVd1bnVzZWQgLUkkKEtFUk5FTF9ESVIpL2luY2x1ZGUvIC1JaW5jbHVkZS8gLURBUlBUQUJMRVNfVkVSU0lPTj1cIiQoQVJQVEFCTEVTX1ZFUlNJT04pXCIKKyAKKyBpZm5kZWYgQVJQVF9MSUJESVIKKyBBUlBUX0xJQkRJUjo9JChMSUJESVIpL2FycHRhYmxlcworQEAgLTIyLDE2ICsyMSwxNiBAQAorIGFsbDogYXJwdGFibGVzCisgCisgYXJwdGFibGVzLm86IGFycHRhYmxlcy5jCistCSQoQ0MpICQoQ0ZMQUdTKSAtYyAtbyAkQCAkPAorKwkkKENDKSAkKENGTEFHUykgJChBUlBDRkxBR1MpIC1jIC1vICRAICQ8CisgCisgYXJwdGFibGVzLXN0YW5kYWxvbmUubzogYXJwdGFibGVzLXN0YW5kYWxvbmUuYworLQkkKENDKSAkKENGTEFHUykgLWMgLW8gJEAgJDwKKysJJChDQykgJChDRkxBR1MpICQoQVJQQ0ZMQUdTKSAtYyAtbyAkQCAkPAorIAorIGxpYmFycHRjL2xpYmFycHRjLm86IGxpYmFycHRjL2xpYmFycHRjLmMgbGliYXJwdGMvbGliYXJwdGNfaW5jbC5jCistCSQoQ0MpICQoQ0ZMQUdTKSAtYyAtbyAkQCAkPAorKwkkKENDKSAkKENGTEFHUykgJChBUlBDRkxBR1MpIC1jIC1vICRAICQ8CisgCisgYXJwdGFibGVzOiBhcnB0YWJsZXMtc3RhbmRhbG9uZS5vIGFycHRhYmxlcy5vIGxpYmFycHRjL2xpYmFycHRjLm8gJChFWFRfT0JKUykKKy0JJChDQykgJChDRkxBR1MpIC1vICRAICReCisrCSQoQ0MpICQoTERGTEFHUykgJChDRkxBR1MpICQoQVJQQ0ZMQUdTKSAtbyAkQCAkXgorIAorICQoREVTVERJUikkKE1BTkRJUikvbWFuOC9hcnB0YWJsZXMuODogYXJwdGFibGVzLjgKKyAJbWtkaXIgLXAgJChARCkKK0BAIC01MCw2ICs0OSw3IEBACisgCWNhdCBhcnB0YWJsZXMtcmVzdG9yZSB8IHNlZCAncy9fX0VYRUNfUEFUSF9fLyQodG1wMSkvZycgPiBhcnB0YWJsZXMtcmVzdG9yZV8KKyAJaW5zdGFsbCAtbSAwNzU1IC1vIHJvb3QgLWcgcm9vdCBhcnB0YWJsZXMtcmVzdG9yZV8gJChERVNURElSKSQoQklORElSKS9hcnB0YWJsZXMtcmVzdG9yZQorIAljYXQgYXJwdGFibGVzLnN5c3YgfCBzZWQgJ3MvX19FWEVDX1BBVEhfXy8kKHRtcDEpL2cnIHwgc2VkICdzL19fU1lTQ09ORklHX18vJCh0bXAyKS9nJyA+IGFycHRhYmxlcy5zeXN2XworKwlpbnN0YWxsIC1kICQoREVTVERJUikkKElOSVRESVIpCisgCWlmIHRlc3QgLWQgJChERVNURElSKSQoSU5JVERJUik7IHRoZW4gaW5zdGFsbCAtbSAwNzU1IC1vIHJvb3QgLWcgcm9vdCBhcnB0YWJsZXMuc3lzdl8gJChERVNURElSKSQoSU5JVERJUikvYXJwdGFibGVzOyBmaQorIAlybSAtZiBhcnB0YWJsZXMtc2F2ZV8gYXJwdGFibGVzLXJlc3RvcmVfIGFycHRhYmxlcy5zeXN2XworIAorSW5kZXg6IGFycHRhYmxlcy12MC4wLjMtNC9leHRlbnNpb25zL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYXJwdGFibGVzLXYwLjAuMy00Lm9yaWcvZXh0ZW5zaW9ucy9NYWtlZmlsZQkyMDEwLTAzLTA4IDE4OjQ5OjI4LjAwMDAwMDAwMCArMDMwMAorKysrIGFycHRhYmxlcy12MC4wLjMtNC9leHRlbnNpb25zL01ha2VmaWxlCTIwMTAtMDMtMjIgMTU6NTI6MzguMDAwMDAwMDAwICswMzAwCitAQCAtNCw0ICs0LDcgQEAKKyBFWFRfT0JKUys9JChmb3JlYWNoIFQsJChFWFRfRlVOQyksIGV4dGVuc2lvbnMvYXJwdF8kKFQpLm8pCisgCisgZXh0ZW5zaW9ucy9lYnRfJS5vOiBleHRlbnNpb25zL2FycHRfJS5jIGluY2x1ZGUvYXJwdGFibGVzLmggaW5jbHVkZS9hcnB0YWJsZXNfY29tbW9uLmgKKy0JJChDQykgJChDRkxBR1MpICQoUFJPR1NQRUNTKSAtYyAtbyAkQCAkPAorKwkkKENDKSAkKENGTEFHUykgJChBUlBDRkxBR1MpICQoUFJPR1NQRUNTKSAtYyAtbyAkQCAkPAorKworK2V4dGVuc2lvbnMvYXJwdF8lLm86IGV4dGVuc2lvbnMvYXJwdF8lLmMgaW5jbHVkZS9hcnB0YWJsZXMuaCBpbmNsdWRlL2FycHRhYmxlc19jb21tb24uaAorKwkkKENDKSAkKENGTEFHUykgJChBUlBDRkxBR1MpICQoUFJPR1NQRUNTKSAtYyAtbyAkQCAkPApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtaW5pdC1idXN5Ym94LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtaW5pdC1idXN5Ym94LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0OTU2YzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYXJwdGFibGVzL2FycHRhYmxlcy0wLjAuMy00L2FycHRhYmxlcy1pbml0LWJ1c3lib3gucGF0Y2gKQEAgLTAsMCArMSw3NyBAQAorSW5kZXg6IGFycHRhYmxlcy12MC4wLjMtNC9hcnB0YWJsZXMuc3lzdgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGFycHRhYmxlcy12MC4wLjMtNC5vcmlnL2FycHRhYmxlcy5zeXN2CTIwMTAtMDMtMjIgMTY6Mjg6MDMuMDAwMDAwMDAwICswMzAwCisrKysgYXJwdGFibGVzLXYwLjAuMy00L2FycHRhYmxlcy5zeXN2CTIwMTAtMDMtMjIgMTY6Mjc6NTEuMDAwMDAwMDAwICswMzAwCitAQCAtMTIsMTAgKzEyLDEwIEBACisgIyBjb25maWc6IF9fU1lTQ09ORklHX18vYXJwdGFibGVzCisgCisgc291cmNlIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworLXNvdXJjZSAvZXRjL3N5c2NvbmZpZy9uZXR3b3JrCisrIyBzb3VyY2UgL2V0Yy9zeXNjb25maWcvbmV0d29yaworIAorICMgQ2hlY2sgdGhhdCBuZXR3b3JraW5nIGlzIHVwLgorLVsgJHtORVRXT1JLSU5HfSA9ICJubyIgXSAmJiBleGl0IDAKKysjIFsgJHtORVRXT1JLSU5HfSA9ICJubyIgXSAmJiBleGl0IDAKKyAKKyBbIC14IF9fRVhFQ19QQVRIX18vYXJwdGFibGVzIF0gfHwgZXhpdCAxCisgWyAteCBfX0VYRUNfUEFUSF9fL2FycHRhYmxlcy1zYXZlIF0gfHwgZXhpdCAxCitAQCAtMjgsMzIgKzI4LDMwIEBACisgZGVzYz0iQXJwIGZpbHRlcmluZyIKKyAKKyBzdGFydCgpIHsKKy0JZWNobyAtbiAkIlN0YXJ0aW5nICRkZXNjICgkcHJvZyk6ICIKKysJZWNobyAtbiAiU3RhcnRpbmcgJGRlc2MgKCRwcm9nKTogIgorIAlfX0VYRUNfUEFUSF9fL2FycHRhYmxlcy1yZXN0b3JlIDwgX19TWVNDT05GSUdfXy9hcnB0YWJsZXMgfHwgUkVUVkFMPTEKKyAKKyAJaWYgWyAkUkVUVkFMIC1lcSAwIF07IHRoZW4KKy0JCXN1Y2Nlc3MgIiRwcm9nIHN0YXJ0dXAiCistCQlybSAtZiAvdmFyL2xvY2svc3Vic3lzLyRwcm9nCisrCQllY2hvICIkcHJvZyBvayIKKysJCXRvdWNoIC92YXIvbG9jay9zdWJzeXMvJHByb2cKKyAJZWxzZQorLQkJZmFpbHVyZSAiJHByb2cgc3RhcnR1cCIKKysJCWVjaG8gIiRwcm9nIGZhaWxlZCIKKyAJZmkKKyAKKy0JZWNobworIAlyZXR1cm4gJFJFVFZBTAorIH0KKyAKKyBzdG9wKCkgeworLQllY2hvIC1uICQiU3RvcHBpbmcgJGRlc2MgKCRwcm9nKTogIgorKwllY2hvIC1uICJTdG9wcGluZyAkZGVzYyAoJHByb2cpOiAiCisgCV9fRVhFQ19QQVRIX18vYXJwdGFibGVzLXJlc3RvcmUgPCAvZGV2L251bGwgfHwgUkVUVkFMPTEKKyAKKyAJaWYgWyAkUkVUVkFMIC1lcSAwIF07IHRoZW4KKy0JCXN1Y2Nlc3MgIiRwcm9nIHNodXRkb3duIgorLQkJcm0gLWYgJXtfbG9jYWxzdGF0ZWRpcn0vbG9jay9zdWJzeXMvJHByb2cKKysJCWVjaG8gIiRwcm9nIHN0b3BwZWQiCisrCQlybSAtZiAvdmFyL2xvY2svc3Vic3lzLyRwcm9nCisgCWVsc2UKKy0JCWZhaWx1cmUgIiRwcm9nIHNodXRkb3duIgorKwkJZWNobyAiJHByb2cgZmFpbGVkIHRvIHN0b3AiCisgCWZpCisgCistCWVjaG8KKyAJcmV0dXJuICRSRVRWQUwKKyB9CisgCitAQCAtNjMsMTUgKzYxLDE0IEBACisgfQorIAorIHNhdmUoKSB7CistCWVjaG8gLW4gJCJTYXZpbmcgJGRlc2MgKCRwcm9nKTogIgorKwllY2hvIC1uICJTYXZpbmcgJGRlc2MgKCRwcm9nKTogIgorIAlfX0VYRUNfUEFUSF9fL2FycHRhYmxlcy1zYXZlID4gX19TWVNDT05GSUdfXy9hcnB0YWJsZXMgfHwgUkVUVkFMPTEKKyAKKyAJaWYgWyAkUkVUVkFMIC1lcSAwIF07IHRoZW4KKy0JCXN1Y2Nlc3MgIiRwcm9nIHNhdmVkIgorKwkJZWNobyAiJHByb2cgc2F2ZWQiCisgCWVsc2UKKy0JCWZhaWx1cmUgIiRwcm9nIHNhdmVkIgorKwkJZWNobyAiJHByb2cgaXMgbm90IHNhdmVkIgorIAlmaQorLQllY2hvCisgfQorIAorIGNhc2UgIiQxIiBpbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtcmVtb3ZlLWJhc2hpc20ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYXJwdGFibGVzL2FycHRhYmxlcy0wLjAuMy00L2FycHRhYmxlcy1yZW1vdmUtYmFzaGlzbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzMyNjU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXMtMC4wLjMtNC9hcnB0YWJsZXMtcmVtb3ZlLWJhc2hpc20ucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSBjZDMxMmJjMGUzNjg2NDA0NDI4ODc4ZDIzYjg4ODhjYmEwOWEyMGUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDE4IFNlcCAyMDE0IDE5OjQ2OjU4IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIGFycHRhYmxlcy5zeXN2OiByZW1vdmUgYmFzaGlzbQorCitVc2UgIi4iIHRvIHJlcGxhY2Ugb2YgInNvdXJjZSIsIGFuZCBjaGFuZ2UgL2Jpbi9iYXNoIHRvIC9iaW4vc2gsIHRoZQorZWNobyAkImZvbyIgd29ya3Mgd2VsbCBpbiBidXN5Ym94LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBhcnB0YWJsZXMuc3lzdiB8ICAgIDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hcnB0YWJsZXMuc3lzdiBiL2FycHRhYmxlcy5zeXN2CitpbmRleCA3YTkwYmQyLi43NzEwMzc2IDEwMDY0NAorLS0tIGEvYXJwdGFibGVzLnN5c3YKKysrKyBiL2FycHRhYmxlcy5zeXN2CitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorICMKKyAjIGluaXQgc2NyaXB0IGZvciBhcnB0YWJsZXMKKyAjCitAQCAtMTEsNyArMTEsNyBAQAorICMKKyAjIGNvbmZpZzogX19TWVNDT05GSUdfXy9hcnB0YWJsZXMKKyAKKy1zb3VyY2UgL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisrLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKyAjIHNvdXJjZSAvZXRjL3N5c2NvbmZpZy9uZXR3b3JrCisgCisgIyBDaGVjayB0aGF0IG5ldHdvcmtpbmcgaXMgdXAuCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2FycHRhYmxlcy9hcnB0YWJsZXNfMC4wLjMtNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9hcnB0YWJsZXMvYXJwdGFibGVzXzAuMC4zLTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmUyYWM2NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9hcnB0YWJsZXMvYXJwdGFibGVzXzAuMC4zLTQuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJBZG1pbmlzdHJhdGlvbiB0b29sIGZvciBhcnAgcGFja2V0IGZpbHRlcmluZyIKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK1NFQ1RJT04gPSAibmV0IgorCitQUiA9ICJyMiIKKworUkRFUEVORFNfJHtQTn0gKz0gInBlcmwiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0dQTC0yLjA7bWQ1PTgwMWY4MDk4MGQxNzFkZDY0MjU2MTA4MzNhMjJkYmU2IgorU1JDX1VSSSA9ICIgXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS9lYnRhYmxlcy9hcnB0YWJsZXMtdiR7UFZ9LnRhci5nejtuYW1lPWFycHRhYmxlcyBcCisgICAgZmlsZTovL2FycHRhYmxlcy1jb21waWxlLWluc3RhbGwucGF0Y2ggXAorICAgIGZpbGU6Ly9hcnB0YWJsZXMtaW5pdC1idXN5Ym94LnBhdGNoIFwKKyAgICBmaWxlOi8vYXJwdGFibGVzLWFycHQtZ2V0LXRhcmdldC1maXgucGF0Y2ggXAorICAgIGZpbGU6Ly9hcnB0YWJsZXMtcmVtb3ZlLWJhc2hpc20ucGF0Y2ggXAorIgorU1JDX1VSSVthcnB0YWJsZXMubWQ1c3VtXSA9ICIxZDRhYjA1NzYxZjA2M2IwNzUxNjQ1ZDhmMmI4ZjhlNSIKK1NSQ19VUklbYXJwdGFibGVzLnNoYTI1NnN1bV0gPSAiZTUyOWZkNDY1YzY3ZDY5YWQzMzUyOTlhMDQzNTE2ZTZiMzhjZGNkMzM3YTVlZDIxNzE4NDEzZTk2MDczZjkyOCIKKworUyA9ICIke1dPUktESVJ9L2FycHRhYmxlcy12JHtQVn0iCisKK2RvX2NvbXBpbGUgKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworIyB0aGUgaW5zdGFsbCB0YXJnZXQgaXMgbm90IG11bHRpLWpvYiBzYWZlLCBidXQgaXQgZG9lc24ndCBkbyBtdWNoCisjIHNvIHdlIGp1c3QgaW5zdGFsbCBzZXJpYWxseQorIworUEFSQUxMRUxfTUFLRUlOU1QgPSAiLWoxIgorCitmYWtlcm9vdCBkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlICdCSU5ESVI9JHtzYmluZGlyfScgJ01BTkRJUj0ke21hbmRpcn0vJyAnREVTVERJUj0ke0R9JyBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGZiMThkNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzLmluYwpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIlRvb2xzIGZvciBldGhlcm5ldCBicmlkZ2luZyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGludXhmb3VuZGF0aW9uLm9yZy9jb2xsYWJvcmF0ZS93b3JrZ3JvdXBzL25ldHdvcmtpbmcvYnJpZGdlIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYyIgorCitERVBFTkRTID0gInN5c2ZzdXRpbHMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2JyaWRnZS9icmlkZ2UtdXRpbHMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICBmaWxlOi8vYnJpZGdlLXV0aWxzLTEuNS1jaGVjay1lcnJvci1yZXR1cm5zLWZyb20td3JpdGUtdG8tc3lzZnMucGF0Y2ggXAorICAgICAgICAgIGZpbGU6Ly9icmlkZ2UtdXRpbHMtMS41LWZpeC1lcnJvci1tZXNzYWdlLWZvci1pbmNvcnJlY3QtY29tbWFuZC5wYXRjaCBcCisgICAgICAgICAgZmlsZTovL2JyaWRnZS11dGlscy0xLjUtZml4LWluY29ycmVjdC1jb21tYW5kLWluLW1hbnVhbC5wYXRjaCBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gImJyY3RsIgorQUxURVJOQVRJVkVfUFJJT1JJVFlbYnJjdGxdID0gIjEwMCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVticmN0bF0gPSAiJHtzYmluZGlyfS9icmN0bCIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1saW51eC1oZWFkZXJzPSR7U1RBR0lOR19JTkNESVJ9IgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vYnJpZGdlLXV0aWxzCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vbmV0d29yay9pZi1wcmUtdXAuZAorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtcG9zdC1kb3duLmQKK30KKworUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1icmlkZ2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMtMS41LWNoZWNrLWVycm9yLXJldHVybnMtZnJvbS13cml0ZS10by1zeXNmcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy0xLjUtY2hlY2stZXJyb3ItcmV0dXJucy1mcm9tLXdyaXRlLXRvLXN5c2ZzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwMGFmOWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMtMS41LWNoZWNrLWVycm9yLXJldHVybnMtZnJvbS13cml0ZS10by1zeXNmcy5wYXRjaApAQCAtMCwwICsxLDg3IEBACitVcHN0cmVhbS1zdGF0dXM6IEJhY2tQb3J0IFtodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9jZ2l0L2JyaWRnZS11dGlscy5naXQvZGlmZi9icmlkZ2UtdXRpbHMtMS41LWNoZWNrLWVycm9yLXJldHVybnMtZnJvbS13cml0ZS10by1zeXNmcy5wYXRjaD9pZD1iMGQxMDcxN2ZkN2NlYmY1ZDg1ZWVkM2Y5NDFiNDA5ZmEwMzg0ZjA4XQorCitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CisKK0Zyb20gYmI5OTcwYTlkZjk1ODM3ZTM5ZDY4MDAyMWIxZjczZDIzMWU4NTQwNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZXBoZW4gSGVtbWluZ2VyIDxzaGVtbWluZ2VyQHZ5YXR0YS5jb20+CitEYXRlOiBUdWUsIDMgTWF5IDIwMTEgMDk6NTI6NDMgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAzLzNdIENoZWNrIGVycm9yIHJldHVybnMgZnJvbSB3cml0ZSB0byBzeXNmcworCitBZGQgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIHdyaXRlIHRvIHN5c2ZzIGZpbGVzLgorCitTaWduZWQtb2ZmLWJ5OiBQZXRyIFNhYmF0YSA8Y29udHlrQHJlZGhhdC5jb20+CistLS0KKyBsaWJicmlkZ2UvbGliYnJpZGdlX2RldmlmLmMgfCAgIDM3ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYnJpZGdlL2xpYmJyaWRnZV9kZXZpZi5jIGIvbGliYnJpZGdlL2xpYmJyaWRnZV9kZXZpZi5jCitpbmRleCBhYThiYzM2Li4xZTgzOTI1IDEwMDY0NAorLS0tIGEvbGliYnJpZGdlL2xpYmJyaWRnZV9kZXZpZi5jCisrKysgYi9saWJicmlkZ2UvbGliYnJpZGdlX2RldmlmLmMKK0BAIC0yODAsMjUgKzI4MCwzOCBAQCBmYWxsYmFjazoKKyAJcmV0dXJuIG9sZF9nZXRfcG9ydF9pbmZvKGJybmFtZSwgcG9ydCwgaW5mbyk7CisgfQorIAorK3N0YXRpYyBpbnQgc2V0X3N5c2ZzKGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIGxvbmcgdmFsdWUpCisreworKwlpbnQgZmQsIHJldCA9IDAsIGNjOworKwljaGFyIGJ1ZlszMl07CisrCisrCWZkID0gb3BlbihwYXRoLCBPX1dST05MWSk7CisrCWlmIChmZCA8IDApCisrCQlyZXR1cm4gLTE7CisrCisrCWNjID0gc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVsdVxuIiwgdmFsdWUpOworKwlpZiAod3JpdGUoZmQsIGJ1ZiwgY2MpIDwgMCkKKysJCXJldCA9IC0xOworKwljbG9zZShmZCk7CisrCisrCXJldHVybiByZXQ7CisrfQorKworIAorIHN0YXRpYyBpbnQgYnJfc2V0KGNvbnN0IGNoYXIgKmJyaWRnZSwgY29uc3QgY2hhciAqbmFtZSwKKyAJCSAgdW5zaWduZWQgbG9uZyB2YWx1ZSwgdW5zaWduZWQgbG9uZyBvbGRjb2RlKQorIHsKKyAJaW50IHJldDsKKyAJY2hhciBwYXRoW1NZU0ZTX1BBVEhfTUFYXTsKKy0JRklMRSAqZjsKKyAKKy0Jc25wcmludGYocGF0aCwgU1lTRlNfUEFUSF9NQVgsIFNZU0ZTX0NMQVNTX05FVCAiJXMvJXMiLCBicmlkZ2UsIG5hbWUpOworKwlzbnByaW50ZihwYXRoLCBTWVNGU19QQVRIX01BWCwgU1lTRlNfQ0xBU1NfTkVUICIlcy9icmlkZ2UvJXMiLAorKwkJIGJyaWRnZSwgbmFtZSk7CisgCistCWYgPSBmb3BlbihwYXRoLCAidyIpOworLQlpZiAoZikgeworLQkJcmV0ID0gZnByaW50ZihmLCAiJWxkXG4iLCB2YWx1ZSk7CistCQlmY2xvc2UoZik7CistCX0gZWxzZSB7CisrCWlmICgocmV0ID0gc2V0X3N5c2ZzKHBhdGgsIHZhbHVlKSkgPCAwKSB7CisgCQkvKiBmYWxsYmFjayB0byBvbGQgaW9jdGwgKi8KKyAJCXN0cnVjdCBpZnJlcSBpZnI7CisgCQl1bnNpZ25lZCBsb25nIGFyZ3NbNF0gPSB7IG9sZGNvZGUsIHZhbHVlLCAwLCAwIH07CistCQkKKysKKyAJCXN0cm5jcHkoaWZyLmlmcl9uYW1lLCBicmlkZ2UsIElGTkFNU0laKTsKKyAJCWlmci5pZnJfZGF0YSA9IChjaGFyICopICZhcmdzOworIAkJcmV0ID0gaW9jdGwoYnJfc29ja2V0X2ZkLCBTSU9DREVWUFJJVkFURSwgJmlmcik7CitAQCAtMzQ4LDE0ICszNjEsMTAgQEAgc3RhdGljIGludCBwb3J0X3NldChjb25zdCBjaGFyICpicmlkZ2UsIGNvbnN0IGNoYXIgKmlmbmFtZSwKKyB7CisgCWludCByZXQ7CisgCWNoYXIgcGF0aFtTWVNGU19QQVRIX01BWF07CistCUZJTEUgKmY7CisgCisgCXNucHJpbnRmKHBhdGgsIFNZU0ZTX1BBVEhfTUFYLCBTWVNGU19DTEFTU19ORVQgIiVzL2JycG9ydC8lcyIsIGlmbmFtZSwgbmFtZSk7CistCWYgPSBmb3BlbihwYXRoLCAidyIpOworLQlpZiAoZikgeworLQkJcmV0ID0gZnByaW50ZihmLCAiJWxkXG4iLCB2YWx1ZSk7CistCQlmY2xvc2UoZik7CistCX0gZWxzZSB7CisrCisrCWlmICgocmV0ID0gc2V0X3N5c2ZzKHBhdGgsIHZhbHVlKSkgPCAwKSB7CisgCQlpbnQgaW5kZXggPSBnZXRfcG9ydG5vKGJyaWRnZSwgaWZuYW1lKTsKKyAKKyAJCWlmIChpbmRleCA8IDApCistLSAKKzEuNy41LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzLTEuNS1maXgtZXJyb3ItbWVzc2FnZS1mb3ItaW5jb3JyZWN0LWNvbW1hbmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMtMS41LWZpeC1lcnJvci1tZXNzYWdlLWZvci1pbmNvcnJlY3QtY29tbWFuZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDA0OTRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzLTEuNS1maXgtZXJyb3ItbWVzc2FnZS1mb3ItaW5jb3JyZWN0LWNvbW1hbmQucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorVXBzdHJlYW0tc3RhdHVzOiBCYWNrUG9ydCBbaHR0cDovL3BrZ3MuZmVkb3JhcHJvamVjdC5vcmcvY2dpdC9icmlkZ2UtdXRpbHMuZ2l0L2RpZmYvYnJpZGdlLXV0aWxzLTEuNS1maXgtZXJyb3ItbWVzc2FnZS1mb3ItaW5jb3JyZWN0LWNvbW1hbmQucGF0Y2g/aWQ9YjBkMTA3MTdmZDdjZWJmNWQ4NWVlZDNmOTQxYjQwOWZhMDM4NGYwOF0KKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorCitGcm9tIGM3ZWQwOTk2ZWY1OGI0OTdkM2QzMGJlODAyYWI1YWU2YzM3MDk5YjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdGVwaGVuIEhlbW1pbmdlciA8c2hlbW1pbmdlckB2eWF0dGEuY29tPgorRGF0ZTogVHVlLCAzIE1heSAyMDExIDA5OjQ5OjU3IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMi8zXSBGaXggZXJyb3IgbWVzc2FnZSBmb3IgaW5jb3JyZWN0IGNvbW1hbmQKKworRGViaWFuIGJ1ZyA0MDY5MDcKK0Vycm9yIG1lc3NhZ2Ugd2FzIHJlZmVyaW5nIHRvIGluY29ycmVjdCBjb21tYW5kIGFyZ3VtZW50LgorCitTaWduZWQtb2ZmLWJ5OiBQZXRyIFNhYmF0YSA8Y29udHlrQHJlZGhhdC5jb20+CistLS0KKyBicmN0bC9icmN0bC5jIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnJjdGwvYnJjdGwuYyBiL2JyY3RsL2JyY3RsLmMKK2luZGV4IDQ1NGI4ZGQuLjQ2Y2EzNTIgMTAwNjQ0CistLS0gYS9icmN0bC9icmN0bC5jCisrKysgYi9icmN0bC9icmN0bC5jCitAQCAtNjksNyArNjksNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqY29uc3QqIGFyZ3YpCisgCWFyZ2MgLT0gb3B0aW5kOworIAlhcmd2ICs9IG9wdGluZDsKKyAJaWYgKChjbWQgPSBjb21tYW5kX2xvb2t1cCgqYXJndikpID09IE5VTEwpIHsKKy0JCWZwcmludGYoc3RkZXJyLCAibmV2ZXIgaGVhcmQgb2YgY29tbWFuZCBbJXNdXG4iLCBhcmd2WzFdKTsKKysJCWZwcmludGYoc3RkZXJyLCAibmV2ZXIgaGVhcmQgb2YgY29tbWFuZCBbJXNdXG4iLCAqYXJndik7CisgCQlnb3RvIGhlbHA7CisgCX0KKyAJCistLSAKKzEuNy41LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzLTEuNS1maXgtaW5jb3JyZWN0LWNvbW1hbmQtaW4tbWFudWFsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzLTEuNS1maXgtaW5jb3JyZWN0LWNvbW1hbmQtaW4tbWFudWFsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmNmQ2ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy9icmlkZ2UtdXRpbHMtMS41LWZpeC1pbmNvcnJlY3QtY29tbWFuZC1pbi1tYW51YWwucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorVXBzdHJlYW0tc3RhdHVzOiBCYWNrUG9ydCBbaHR0cDovL3BrZ3MuZmVkb3JhcHJvamVjdC5vcmcvY2dpdC9icmlkZ2UtdXRpbHMuZ2l0L2RpZmYvYnJpZGdlLXV0aWxzLTEuNS1maXgtaW5jb3JyZWN0LWNvbW1hbmQtaW4tbWFudWFsLnBhdGNoP2lkPWIwZDEwNzE3ZmQ3Y2ViZjVkODVlZWQzZjk0MWI0MDlmYTAzODRmMDhdCisKK1NpZ25lZC1vZmYtYnk6IFJveS5MaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKworRnJvbSA4ZWY3Yjc3NTYyYjYzNmVmY2JkOGI3NTllYjMyNGQ2YzA2OTIwMGYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RlcGhlbiBIZW1taW5nZXIgPHNoZW1taW5nZXJAdnlhdHRhLmNvbT4KK0RhdGU6IFR1ZSwgMyBNYXkgMjAxMSAwOTo0ODo0MCAtMDcwMAorU3ViamVjdDogW1BBVENIIDEvM10gRml4IGluY29ycmVjdCBjb21tYW5kIGluIG1hbnVhbAorCitDb21tYW5kIGlzICJzZXRhZ2VpbmciIG5vdCAic2V0YWdlaW5ndGltZSI7IGZpeCBtYW4gcGFnZS4KK0RlYmlhbiBidWcgcmVwb3J0LgorCitTaWduZWQtb2ZmLWJ5OiBQZXRyIFNhYmF0YSA8Y29udHlrQHJlZGhhdC5jb20+CistLS0KKyBkb2MvYnJjdGwuOCB8ICAgIDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RvYy9icmN0bC44IGIvZG9jL2JyY3RsLjgKK2luZGV4IGQ5MDQwNDcuLjc3MWYzMjMgMTAwNjQ0CistLS0gYS9kb2MvYnJjdGwuOAorKysrIGIvZG9jL2JyY3RsLjgKK0BAIC04OSw3ICs4OSw3IEBAIGRhdGEuIE1hY2hpbmVzIGNhbiBtb3ZlIHRvIG90aGVyIHBvcnRzLCBuZXR3b3JrIGNhcmRzIGNhbiBiZSByZXBsYWNlZAorIC5CIGJyY3RsIHNob3dtYWNzIDxicm5hbWU+Cisgc2hvd3MgYSBsaXN0IG9mIGxlYXJuZWQgTUFDIGFkZHJlc3NlcyBmb3IgdGhpcyBicmlkZ2UuCisgCistLkIgYnJjdGwgc2V0YWdlaW5ndGltZSA8YnJuYW1lPiA8dGltZT4KKysuQiBicmN0bCBzZXRhZ2VpbmcgPGJybmFtZT4gPHRpbWU+Cisgc2V0cyB0aGUgZXRoZXJuZXQgKE1BQykgYWRkcmVzcyBhZ2VpbmcgdGltZSwgaW4gc2Vjb25kcy4gQWZ0ZXIgPHRpbWU+Cisgc2Vjb25kcyBvZiBub3QgaGF2aW5nIHNlZW4gYSBmcmFtZSBjb21pbmcgZnJvbSBhIGNlcnRhaW4gYWRkcmVzcywgdGhlCisgYnJpZGdlIHdpbGwgdGltZSBvdXQgKGRlbGV0ZSkgdGhhdCBhZGRyZXNzIGZyb20gdGhlIEZvcndhcmRpbmcKKy0tIAorMS43LjUuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy9rZXJuZWwtaGVhZGVycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzL2tlcm5lbC1oZWFkZXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlMzZmMDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlscy9rZXJuZWwtaGVhZGVycy5wYXRjaApAQCAtMCwwICsxLDIyIEBACitpbmNsdWRlIG1pc3Npbmcga2VybmVsIGhlYWRlcgorCitGaXhlcyBlcnJvcnMgbGlrZQorCit8IC9iL2tyYWovamxpbnV4LW5leHQvcG9reS9idWlsZC90bXAtZWdsaWJjL3N5c3Jvb3RzL3JlLTY0Yi91c3IvaW5jbHVkZS9saW51eC9pZl9icmlkZ2UuaDoxNzI6MjA6IGVycm9yOiBmaWVsZCAnaXA2JyBoYXMgaW5jb21wbGV0ZSB0eXBlCit8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWJicmlkZ2UvbGliYnJpZGdlLmg6MjQ6MCwKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogYnJpZGdlLXV0aWxzLTEuNS9saWJicmlkZ2UvbGliYnJpZGdlLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBicmlkZ2UtdXRpbHMtMS41Lm9yaWcvbGliYnJpZGdlL2xpYmJyaWRnZS5oCTIwMTEtMDMtMjggMTc6NTI6NTQuMDAwMDAwMDAwIC0wNzAwCisrKysgYnJpZGdlLXV0aWxzLTEuNS9saWJicmlkZ2UvbGliYnJpZGdlLmgJMjAxMy0wMy0wNCAyMToxNjoyNS43ODExODgzMDkgLTA4MDAKK0BAIC0yMCw2ICsyMCw3IEBACisgI2RlZmluZSBfTElCQlJJREdFX0gKKyAKKyAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorKyNpbmNsdWRlIDxsaW51eC9pbjYuaD4KKyAjaW5jbHVkZSA8bGludXgvaWYuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfYnJpZGdlLmg+CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlsc18xLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYnJpZGdlLXV0aWxzL2JyaWRnZS11dGlsc18xLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDRmODYzYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9icmlkZ2UtdXRpbHMvYnJpZGdlLXV0aWxzXzEuNS5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlIGJyaWRnZS11dGlscy5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovL2tlcm5lbC1oZWFkZXJzLnBhdGNoIgorCitQQVJBTExFTF9NQUtFID0gIiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjlkMjBhNDUzMjIxYTFiN2UzMmFlODQ2OTRkYTJjMzciCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYzdiMzgxMTYwYjM0MDY0OGRlZGU1OGMzMWJiMjIzOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0MmY5ZTVmYjhmNmM1MmU2M2E5OGE0M2I4MWJkMjgxYzIyN2M1MjlmMTk0OTEzZTFjNTFlYzQ4YTM5M2I2Njg4IgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYy1hcmVzL2MtYXJlc18xLjExLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYy1hcmVzL2MtYXJlc18xLjExLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY3MmFiNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jLWFyZXMvYy1hcmVzXzEuMTEuMC5iYgpAQCAtMCwwICsxLDEzIEBACisjIENvcHlyaWdodCAoYykgMjAxMi0yMDE0IExHIEVsZWN0cm9uaWNzLCBJbmMuCisKK0RFU0NSSVBUSU9OID0gImMtYXJlcyBpcyBhIEMgbGlicmFyeSB0aGF0IHJlc29sdmVzIG5hbWVzIGFzeW5jaHJvbm91c2x5LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9kYW5pZWwuaGF4eC5zZS9wcm9qZWN0cy9jLWFyZXMvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9hcmVzX2luaXQuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTM7bWQ1PTUzZjVlY2Y0YzIyYzM3Y2YxZGRkMWVmOGY4ZWNjY2UwIgorCitTUkNfVVJJID0gImh0dHA6Ly9jLWFyZXMuaGF4eC5zZS9kb3dubG9hZC8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZDVjNmQ1MjJjZmM1NGJiNmYyMTVhMGI3OTEyZDQ2YmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjM2MTJlNjYxN2Q5NjgyOTI4YTFkNTBjMTA0MGRlNGRiNjUxOWY5NzdmMGIyNWQ0MGNmMWI2MzI5MDBiM2VmZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2lmcy9jaWZzLXV0aWxzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaWZzL2NpZnMtdXRpbHNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3MzA2YTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2lmcy9jaWZzLXV0aWxzX2dpdC5iYgpAQCAtMCwwICsxLDM0IEBACitERVNDUklQVElPTiA9ICJBIGEgcGFja2FnZSBvZiB1dGlsaXRpZXMgZm9yIGRvaW5nIGFuZCBtYW5hZ2luZyBtb3VudHMgb2YgdGhlIExpbnV4IENJRlMgZmlsZXN5c3RlbS4iCitIT01FUEFHRSA9ICJodHRwOi8vd2lraS5zYW1iYS5vcmcvaW5kZXgucGhwL0xpbnV4Q0lGU191dGlscyIKK1NFQ1RJT04gPSAib3RoZXJvc2ZzIgorTElDRU5TRSA9ICJHUEx2MyAmIExHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTID0gInNhbWJhIgorUFYgPSAiNi40IgorCitTUkNSRVYgPSAiNDg3ZjQ2ZGE3MzcyOTE4Nzc4NjdjYmQzYWNiNDBmZWEwODdkMzg2MyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnNhbWJhLm9yZy9jaWZzLXV0aWxzLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbY2FwXSA9ICItLXdpdGgtbGliY2FwLC0td2l0aG91dC1saWJjYXAsbGliY2FwIgorIyB3aGVuIGVuYWJsZWQsIGl0IGNyZWF0ZXMgJHtiaW5kaXJ9L2NpZnNjcmVkcyBhbmQgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgaW4gZG9faW5zdGFsbF9hcHBlbmQgaXMgbmVlZGVkCitQQUNLQUdFQ09ORklHW2NpZnNjcmVkc10gPSAiLS1lbmFibGUtY2lmc2NyZWRzLC0tZGlzYWJsZS1jaWZzY3JlZHMsa2V5dXRpbHMiCisjIHdoZW4gZW5hYmxlZCwgaXQgY3JlYXRlcyAke3NiaW5kaXJ9L2NpZnMudXBjYWxsIGFuZCAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSBpbiBkb19pbnN0YWxsX2FwcGVuZCBpcyBuZWVkZWQKK1BBQ0tBR0VDT05GSUdbY2lmc3VwY2FsbF0gPSAiLS1lbmFibGUtY2lmc3VwY2FsbCwtLWRpc2FibGUtY2lmc3VwY2FsbCxrcmI1IGxpYnRhbGxvYyBrZXl1dGlscyIKK1BBQ0tBR0VDT05GSUdbY2lmc2lkbWFwXSA9ICItLWVuYWJsZS1jaWZzaWRtYXAsLS1kaXNhYmxlLWNpZnNpZG1hcCwga2V5dXRpbHMiCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS1lbmFibGUtcGFtIC0td2l0aC1wYW1kaXI9JHtiYXNlX2xpYmRpcn0vc2VjdXJpdHksLS1kaXNhYmxlLXBhbSxsaWJwYW0ga2V5dXRpbHMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIFJlbW92ZSBlbXB0eSAvdXNyL2JpbiBhbmQgL3Vzci9zYmluIGRpcmVjdG9yaWVzIHNpbmNlIHRoZSBtb3VudCBoZWxwZXIKKyAgICAjIGlzIGluc3RhbGxlZCB0byAvc2JpbgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICR7RH0ke2JpbmRpcn0gJHtEfSR7c2JpbmRpcn0KK30KKworRklMRVNfJHtQTn0gKz0gIiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5IgorRklMRVNfJHtQTn0tZGJnICs9ICIke2Jhc2VfbGliZGlyfS9zZWN1cml0eS8uZGVidWciCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLWNpZnMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2ltLXNjaGVtYS9jaW0tc2NoZW1hLWRvY3NfMi40MC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1kb2NzXzIuNDAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTg3NWVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1kb2NzXzIuNDAuMC5iYgpAQCAtMCwwICsxLDI1IEBACityZXF1aXJlIGNpbS1zY2hlbWEuaW5jCisKK1NFQ1RJT04gPSAiZG9jIgorCitMSUNFTlNFID0gIkRNVEYiCisKK1NSQ19VUkkgPSAiaHR0cDovL2RtdGYub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvY2ltL2NpbV9zY2hlbWFfdjI0MDAvY2ltX3NjaGVtYV8ke1BWfUZpbmFsLURvYy56aXAgXAorICAgICAgICAgICBmaWxlOi8vTElDRU5TRSBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjNkMDE5NDBiYzEwODVjNmM0MjE4NGMyNWZiNjFmNzM5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMxNzRjZjBmODY1N2IxOWQ4MGRjNTllMTg0Nzc4ZDhlNTUzZGE0MjQ3MjhjYjI5NjZmZTlkNTQyOGRkODQyNjciCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0xJQ0VOU0U7bWQ1PWVlY2M2ZjcxYTU2ZmYzY2FmMTdmMTViZjdhZWFjN2I0IgorCitkb191bnBhY2soKSB7CisgICAgICAgIHVuemlwIC1xICR7RExfRElSfS9jaW1fc2NoZW1hXyR7UFZ9RmluYWwtRG9jLnppcCAtZCAke1N9CisgICAgICAgIGNwIC1mICR7RklMRV9ESVJOQU1FfS9maWxlcy9MSUNFTlNFICR7V09SS0RJUn0vCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgICAgIGluc3RhbGwgLWQgLW0gMDc1NSAke0R9JHtkYXRhZGlyfS9kb2MvY2ltLXNjaGVtYS0ke1BWfS1kb2NzCisgICAgICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vKiAke0R9JHtkYXRhZGlyfS9kb2MvY2ltLXNjaGVtYS0ke1BWfS1kb2NzCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7ZGF0YWRpcn0vZG9jLyoiCitGSUxFU18ke1BOfS1kb2MgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1leHBlcl8yLjM5LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2ltLXNjaGVtYS9jaW0tc2NoZW1hLWV4cGVyXzIuMzkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjA3YzBiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1leHBlcl8yLjM5LjAuYmIKQEAgLTAsMCArMSwyOSBAQAorcmVxdWlyZSBjaW0tc2NoZW1hLmluYworCitMSUNFTlNFID0gIkRNVEYiCisKK1JDT05GTElDVFNfJHtQTn0gPSAiY2ltLXNjaGVtYS1maW5hbCIKKworU1JDX1VSSSA9ICJodHRwOi8vZG10Zi5vcmcvc2l0ZXMvZGVmYXVsdC9maWxlcy9jaW0vY2ltX3NjaGVtYV92MjM5MC9jaW1fc2NoZW1hXyR7UFZ9RXhwZXJpbWVudGFsLU1PRnMuemlwO3N1YmRpcj0ke0JQTn0tJHtQVn0gXAorICAgICAgICAgICBmaWxlOi8vTElDRU5TRSBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImI4MmIzMWM2MDljNmJjYzY5NTIxODI5NDA5ZjU4Y2NjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVkMjA5NmVmMWVhMjVkMTg5YTAyYmJjNjYwM2ZlZDdhNDgyOTdmMjk4N2YyNTQyNjU3NjNhNmVlY2I3ZmM4NzAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0xJQ0VOU0U7bWQ1PWVlY2M2ZjcxYTU2ZmYzY2FmMTdmMTViZjdhZWFjN2I0IgorCitkb19pbnN0YWxsKCkgeworICAgICAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7ZGF0YWRpcn0vbW9mL2NpbXYke1BWfS8KKyAgICAgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke2RhdGFkaXJ9L2RvYy9jaW0tc2NoZW1hLSR7UFZ9CisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vTElDRU5TRSAke0R9JHtkYXRhZGlyfS9kb2MvY2ltLXNjaGVtYS0ke1BWfQorCisgICAgICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vKiAke0R9JHtkYXRhZGlyfS9tb2YvY2ltdiR7UFZ9LwkKKyAgICAgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0ke2RhdGFkaXJ9L21vZi9jaW12JHtQVn0KKyAgICAgICAgZm9yIGkgaW4gYGZpbmQgJHtEfSR7ZGF0YWRpcn0vbW9mL2NpbXYke1BWfSAtbmFtZSAiKi5tb2YiYDsgZG8KKyAgICAgICAgICAgICAgICBzZWQgLWkgLWUgJ3MvXHIvL2cnICRpCisgICAgICAgIGRvbmUKKyAgICAgICAgbG4gLXMgY2ltdiR7UFZ9ICR7RH0ke2RhdGFkaXJ9L21vZi9jaW0tY3VycmVudAorICAgICAgICBsbiAtcyBjaW1fc2NoZW1hXyR7UFZ9Lm1vZiAke0R9JHtkYXRhZGlyfS9tb2YvY2ltLWN1cnJlbnQvQ0lNX1NjaGVtYS5tb2YKK30KKworRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS9tb2YvKiAke2RhdGFkaXJ9L2RvYy8qIgorRklMRVNfJHtQTn0tZG9jID0gIiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEtZmluYWxfMi40MC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1maW5hbF8yLjQwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY3NTM4NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEtZmluYWxfMi40MC4wLmJiCkBAIC0wLDAgKzEsMzQgQEAKK3JlcXVpcmUgY2ltLXNjaGVtYS5pbmMKKworTElDRU5TRSA9ICJETVRGIgorCitSQ09ORkxJQ1RTXyR7UE59ID0gImNpbS1zY2hlbWEtZXhwZXIiCisKK1NSQ19VUkkgPSAiaHR0cDovL2RtdGYub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvY2ltL2NpbV9zY2hlbWFfdjI0MDAvY2ltX3NjaGVtYV8ke1BWfUZpbmFsLU1PRnMuemlwIFwKKyAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UgXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhOWJkZjE3YzczNzRlM2I1YjdhZGVhYWM0ODQyYzRhZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYmZhMzA2NGVhNDI3YWNkNzFhNGJlYmJjMTcyY2EyZGM0NGIwYjA5YTZkODNiMDk0NWI5ZmZhOTg4YTkwNThhIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtXT1JLRElSfS9MSUNFTlNFO21kNT1lZWNjNmY3MWE1NmZmM2NhZjE3ZjE1YmY3YWVhYzdiNCIKKworZG9fdW5wYWNrKCkgeworICAgICAgICB1bnppcCAtcSAke0RMX0RJUn0vY2ltX3NjaGVtYV8ke1BWfUZpbmFsLU1PRnMuemlwIC1kICR7U30KKyAgICAgICAgY3AgLWYgJHtGSUxFX0RJUk5BTUV9L2ZpbGVzL0xJQ0VOU0UgJHtXT1JLRElSfS8KK30KKworZG9faW5zdGFsbCgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke2RhdGFkaXJ9L21vZi9jaW12JHtQVn0vCisgICAgICAgIGluc3RhbGwgLWQgLW0gMDc1NSAke0R9JHtkYXRhZGlyfS9kb2MvY2ltLXNjaGVtYS0ke1BWfQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L0xJQ0VOU0UgJHtEfSR7ZGF0YWRpcn0vZG9jL2NpbS1zY2hlbWEtJHtQVn0KKworICAgICAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1N9LyogJHtEfSR7ZGF0YWRpcn0vbW9mL2NpbXYke1BWfS8JCisgICAgICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9JHtkYXRhZGlyfS9tb2YvY2ltdiR7UFZ9LworICAgICAgICBmb3IgaSBpbiBgZmluZCAke0R9JHtkYXRhZGlyfS9tb2YvY2ltdiR7UFZ9IC1uYW1lICIqLm1vZiJgOyBkbworICAgICAgICAgICAgICAgIHNlZCAtaSAtZSAncy9cci8vZycgJGkKKyAgICAgICAgZG9uZQorICAgICAgICBsbiAtcyBjaW12JHtQVn0gJHtEfSR7ZGF0YWRpcn0vbW9mL2NpbS1jdXJyZW50CisgICAgICAgIGxuIC1zIGNpbV9zY2hlbWFfJHtQVn0ubW9mICR7RH0ke2RhdGFkaXJ9L21vZi9jaW0tY3VycmVudC9DSU1fU2NoZW1hLm1vZgorfQorCitGSUxFU18ke1BOfSA9ICIke2RhdGFkaXJ9L21vZi8qICR7ZGF0YWRpcn0vZG9jLyoiCitGSUxFU18ke1BOfS1kb2MgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2ltLXNjaGVtYS9jaW0tc2NoZW1hLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTE3MWU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS5pbmMKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIkNvbW1vbiBJbmZvcm1hdGlvbiBNb2RlbCAoQ0lNKSBTY2hlbWEiCitERVNDUklQVElPTiA9ICJDb21tb24gSW5mb3JtYXRpb24gTW9kZWwgKENJTSkgaXMgYSBtb2RlbCBmb3IgZGVzY3JpYmluZyBvdmVyYWxsXAorbWFuYWdlbWVudCBpbmZvcm1hdGlvbiBpbiBhIG5ldHdvcmsgb3IgZW50ZXJwcmlzZSBlbnZpcm9ubWVudC4gQ0lNXAorY29uc2lzdHMgb2YgYSBzcGVjaWZpY2F0aW9uIGFuZCBhIHNjaGVtYS4gVGhlIHNwZWNpZmljYXRpb24gZGVmaW5lcyB0aGVcCitkZXRhaWxzIGZvciBpbnRlZ3JhdGlvbiB3aXRoIG90aGVyIG1hbmFnZW1lbnQgbW9kZWxzLiBUaGUgc2NoZW1hXAorcHJvdmlkZXMgdGhlIGFjdHVhbCBtb2RlbCBkZXNjcmlwdGlvbnMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmRtdGYub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEvZmlsZXMvTElDRU5TRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEvZmlsZXMvTElDRU5TRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGEyODEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS9maWxlcy9MSUNFTlNFCkBAIC0wLDAgKzEsMzQgQEAKKy8vIENvcHlyaWdodCAxOTk4LTIwMDggRGlzdHJpYnV0ZWQgTWFuYWdlbWVudCBUYXNrIEZvcmNlLCBJbmMuIChETVRGKS4KKy8vIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBETVRGIGlzIGEgbm90LWZvci1wcm9maXQgYXNzb2NpYXRpb24gb2YgaW5kdXN0cnkgbWVtYmVycyBkZWRpY2F0ZWQKKy8vIHRvIHByb21vdGluZyBlbnRlcnByaXNlIGFuZCBzeXN0ZW1zIG1hbmFnZW1lbnQgYW5kIGludGVyb3BlcmFiaWxpdHkuCisvLyBETVRGIHNwZWNpZmljYXRpb25zIGFuZCBkb2N1bWVudHMgbWF5IGJlIHJlcHJvZHVjZWQgYnkKKy8vIG1lbWJlcnMgYW5kIG5vbi1tZW1iZXJzLCBwcm92aWRlZCB0aGF0IGNvcnJlY3QgYXR0cmlidXRpb24gaXMgZ2l2ZW4uCisvLyBBcyBETVRGIHNwZWNpZmljYXRpb25zIG1heSBiZSByZXZpc2VkIGZyb20gdGltZSB0byB0aW1lLAorLy8gdGhlIHBhcnRpY3VsYXIgdmVyc2lvbiBhbmQgcmVsZWFzZSBkYXRlIHNob3VsZCBhbHdheXMgYmUgbm90ZWQuCisvLyAKKy8vIEltcGxlbWVudGF0aW9uIG9mIGNlcnRhaW4gZWxlbWVudHMgb2YgdGhpcyBzdGFuZGFyZCBvciBwcm9wb3NlZAorLy8gc3RhbmRhcmQgbWF5IGJlIHN1YmplY3QgdG8gdGhpcmQgcGFydHkgcGF0ZW50IHJpZ2h0cywgaW5jbHVkaW5nCisvLyBwcm92aXNpb25hbCBwYXRlbnQgcmlnaHRzIChoZXJlaW4gInBhdGVudCByaWdodHMiKS4gRE1URiBtYWtlcworLy8gbm8gcmVwcmVzZW50YXRpb25zIHRvIHVzZXJzIG9mIHRoZSBzdGFuZGFyZCBhcyB0byB0aGUgZXhpc3RlbmNlCisvLyBvZiBzdWNoIHJpZ2h0cywgYW5kIGlzIG5vdCByZXNwb25zaWJsZSB0byByZWNvZ25pemUsIGRpc2Nsb3NlLCBvcgorLy8gaWRlbnRpZnkgYW55IG9yIGFsbCBzdWNoIHRoaXJkIHBhcnR5IHBhdGVudCByaWdodCwgb3duZXJzIG9yCisvLyBjbGFpbWFudHMsIG5vciBmb3IgYW55IGluY29tcGxldGUgb3IgaW5hY2N1cmF0ZSBpZGVudGlmaWNhdGlvbiBvcgorLy8gZGlzY2xvc3VyZSBvZiBzdWNoIHJpZ2h0cywgb3duZXJzIG9yIGNsYWltYW50cy4gRE1URiBzaGFsbCBoYXZlIG5vCisvLyBsaWFiaWxpdHkgdG8gYW55IHBhcnR5LCBpbiBhbnkgbWFubmVyIG9yIGNpcmN1bXN0YW5jZSwgdW5kZXIgYW55CisvLyBsZWdhbCB0aGVvcnkgd2hhdHNvZXZlciwgZm9yIGZhaWx1cmUgdG8gcmVjb2duaXplLCBkaXNjbG9zZSwgb3IKKy8vIGlkZW50aWZ5IGFueSBzdWNoIHRoaXJkIHBhcnR5IHBhdGVudCByaWdodHMsIG9yIGZvciBzdWNoIHBhcnR5J3MKKy8vIHJlbGlhbmNlIG9uIHRoZSBzdGFuZGFyZCBvciBpbmNvcnBvcmF0aW9uIHRoZXJlb2YgaW4gaXRzIHByb2R1Y3QsCisvLyBwcm90b2NvbHMgb3IgdGVzdGluZyBwcm9jZWR1cmVzLiBETVRGIHNoYWxsIGhhdmUgbm8gbGlhYmlsaXR5IHRvCisvLyBhbnkgcGFydHkgaW1wbGVtZW50aW5nIHN1Y2ggc3RhbmRhcmQsIHdoZXRoZXIgc3VjaCBpbXBsZW1lbnRhdGlvbgorLy8gaXMgZm9yZXNlZWFibGUgb3Igbm90LCBub3IgdG8gYW55IHBhdGVudCBvd25lciBvciBjbGFpbWFudCwgYW5kIHNoYWxsCisvLyBoYXZlIG5vIGxpYWJpbGl0eSBvciByZXNwb25zaWJpbGl0eSBmb3IgY29zdHMgb3IgbG9zc2VzIGluY3VycmVkIGlmCisvLyBhIHN0YW5kYXJkIGlzIHdpdGhkcmF3biBvciBtb2RpZmllZCBhZnRlciBwdWJsaWNhdGlvbiwgYW5kIHNoYWxsIGJlCisvLyBpbmRlbW5pZmllZCBhbmQgaGVsZCBoYXJtbGVzcyBieSBhbnkgcGFydHkgaW1wbGVtZW50aW5nIHRoZQorLy8gc3RhbmRhcmQgZnJvbSBhbnkgYW5kIGFsbCBjbGFpbXMgb2YgaW5mcmluZ2VtZW50IGJ5IGEgcGF0ZW50IG93bmVyCisvLyBmb3Igc3VjaCBpbXBsZW1lbnRhdGlvbnMuCisvLyAKKy8vIEZvciBpbmZvcm1hdGlvbiBhYm91dCBwYXRlbnRzIGhlbGQgYnkgdGhpcmQtcGFydGllcyB3aGljaCBoYXZlCisvLyBub3RpZmllZCB0aGUgRE1URiB0aGF0LCBpbiB0aGVpciBvcGluaW9uLCBzdWNoIHBhdGVudCBtYXkgcmVsYXRlIHRvCisvLyBvciBpbXBhY3QgaW1wbGVtZW50YXRpb25zIG9mIERNVEYgc3RhbmRhcmRzLCB2aXNpdAorLy8gaHR0cDovL3d3dy5kbXRmLm9yZy9hYm91dC9wb2xpY2llcy9kaXNjbG9zdXJlcy5waHAuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2ltLXNjaGVtYS9maWxlcy9MSUNFTlNFIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvZmlsZXMvTElDRU5TRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGEyODEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvZmlsZXMvTElDRU5TRQpAQCAtMCwwICsxLDM0IEBACisvLyBDb3B5cmlnaHQgMTk5OC0yMDA4IERpc3RyaWJ1dGVkIE1hbmFnZW1lbnQgVGFzayBGb3JjZSwgSW5jLiAoRE1URikuCisvLyBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gRE1URiBpcyBhIG5vdC1mb3ItcHJvZml0IGFzc29jaWF0aW9uIG9mIGluZHVzdHJ5IG1lbWJlcnMgZGVkaWNhdGVkCisvLyB0byBwcm9tb3RpbmcgZW50ZXJwcmlzZSBhbmQgc3lzdGVtcyBtYW5hZ2VtZW50IGFuZCBpbnRlcm9wZXJhYmlsaXR5LgorLy8gRE1URiBzcGVjaWZpY2F0aW9ucyBhbmQgZG9jdW1lbnRzIG1heSBiZSByZXByb2R1Y2VkIGJ5CisvLyBtZW1iZXJzIGFuZCBub24tbWVtYmVycywgcHJvdmlkZWQgdGhhdCBjb3JyZWN0IGF0dHJpYnV0aW9uIGlzIGdpdmVuLgorLy8gQXMgRE1URiBzcGVjaWZpY2F0aW9ucyBtYXkgYmUgcmV2aXNlZCBmcm9tIHRpbWUgdG8gdGltZSwKKy8vIHRoZSBwYXJ0aWN1bGFyIHZlcnNpb24gYW5kIHJlbGVhc2UgZGF0ZSBzaG91bGQgYWx3YXlzIGJlIG5vdGVkLgorLy8gCisvLyBJbXBsZW1lbnRhdGlvbiBvZiBjZXJ0YWluIGVsZW1lbnRzIG9mIHRoaXMgc3RhbmRhcmQgb3IgcHJvcG9zZWQKKy8vIHN0YW5kYXJkIG1heSBiZSBzdWJqZWN0IHRvIHRoaXJkIHBhcnR5IHBhdGVudCByaWdodHMsIGluY2x1ZGluZworLy8gcHJvdmlzaW9uYWwgcGF0ZW50IHJpZ2h0cyAoaGVyZWluICJwYXRlbnQgcmlnaHRzIikuIERNVEYgbWFrZXMKKy8vIG5vIHJlcHJlc2VudGF0aW9ucyB0byB1c2VycyBvZiB0aGUgc3RhbmRhcmQgYXMgdG8gdGhlIGV4aXN0ZW5jZQorLy8gb2Ygc3VjaCByaWdodHMsIGFuZCBpcyBub3QgcmVzcG9uc2libGUgdG8gcmVjb2duaXplLCBkaXNjbG9zZSwgb3IKKy8vIGlkZW50aWZ5IGFueSBvciBhbGwgc3VjaCB0aGlyZCBwYXJ0eSBwYXRlbnQgcmlnaHQsIG93bmVycyBvcgorLy8gY2xhaW1hbnRzLCBub3IgZm9yIGFueSBpbmNvbXBsZXRlIG9yIGluYWNjdXJhdGUgaWRlbnRpZmljYXRpb24gb3IKKy8vIGRpc2Nsb3N1cmUgb2Ygc3VjaCByaWdodHMsIG93bmVycyBvciBjbGFpbWFudHMuIERNVEYgc2hhbGwgaGF2ZSBubworLy8gbGlhYmlsaXR5IHRvIGFueSBwYXJ0eSwgaW4gYW55IG1hbm5lciBvciBjaXJjdW1zdGFuY2UsIHVuZGVyIGFueQorLy8gbGVnYWwgdGhlb3J5IHdoYXRzb2V2ZXIsIGZvciBmYWlsdXJlIHRvIHJlY29nbml6ZSwgZGlzY2xvc2UsIG9yCisvLyBpZGVudGlmeSBhbnkgc3VjaCB0aGlyZCBwYXJ0eSBwYXRlbnQgcmlnaHRzLCBvciBmb3Igc3VjaCBwYXJ0eSdzCisvLyByZWxpYW5jZSBvbiB0aGUgc3RhbmRhcmQgb3IgaW5jb3Jwb3JhdGlvbiB0aGVyZW9mIGluIGl0cyBwcm9kdWN0LAorLy8gcHJvdG9jb2xzIG9yIHRlc3RpbmcgcHJvY2VkdXJlcy4gRE1URiBzaGFsbCBoYXZlIG5vIGxpYWJpbGl0eSB0bworLy8gYW55IHBhcnR5IGltcGxlbWVudGluZyBzdWNoIHN0YW5kYXJkLCB3aGV0aGVyIHN1Y2ggaW1wbGVtZW50YXRpb24KKy8vIGlzIGZvcmVzZWVhYmxlIG9yIG5vdCwgbm9yIHRvIGFueSBwYXRlbnQgb3duZXIgb3IgY2xhaW1hbnQsIGFuZCBzaGFsbAorLy8gaGF2ZSBubyBsaWFiaWxpdHkgb3IgcmVzcG9uc2liaWxpdHkgZm9yIGNvc3RzIG9yIGxvc3NlcyBpbmN1cnJlZCBpZgorLy8gYSBzdGFuZGFyZCBpcyB3aXRoZHJhd24gb3IgbW9kaWZpZWQgYWZ0ZXIgcHVibGljYXRpb24sIGFuZCBzaGFsbCBiZQorLy8gaW5kZW1uaWZpZWQgYW5kIGhlbGQgaGFybWxlc3MgYnkgYW55IHBhcnR5IGltcGxlbWVudGluZyB0aGUKKy8vIHN0YW5kYXJkIGZyb20gYW55IGFuZCBhbGwgY2xhaW1zIG9mIGluZnJpbmdlbWVudCBieSBhIHBhdGVudCBvd25lcgorLy8gZm9yIHN1Y2ggaW1wbGVtZW50YXRpb25zLgorLy8gCisvLyBGb3IgaW5mb3JtYXRpb24gYWJvdXQgcGF0ZW50cyBoZWxkIGJ5IHRoaXJkLXBhcnRpZXMgd2hpY2ggaGF2ZQorLy8gbm90aWZpZWQgdGhlIERNVEYgdGhhdCwgaW4gdGhlaXIgb3Bpbmlvbiwgc3VjaCBwYXRlbnQgbWF5IHJlbGF0ZSB0bworLy8gb3IgaW1wYWN0IGltcGxlbWVudGF0aW9ucyBvZiBETVRGIHN0YW5kYXJkcywgdmlzaXQKKy8vIGh0dHA6Ly93d3cuZG10Zi5vcmcvYWJvdXQvcG9saWNpZXMvZGlzY2xvc3VyZXMucGhwLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2N0ZGIvY3RkYi8wMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGUtZm9yLWxpbnV4LW9zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2N0ZGIvY3RkYi8wMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGUtZm9yLWxpbnV4LW9zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5MTk1YjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3RkYi9jdGRiLzAxLXN1cHBvcnQtY3Jvc3MtY29tcGlsZS1mb3ItbGludXgtb3MucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorc3VwcG9ydCBjcm9zcy1jb21waWxlIGZvciBsaW51eC1vcy4KKworU2lnbmVkLW9mZi1ieTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CisKK2RpZmYgLU51cnAgY3RkYi0yLjUuMS5vcmlnL2NvbmZpZ3VyZSBjdGRiLTIuNS4xL2NvbmZpZ3VyZQorLS0tIGN0ZGItMi41LjEub3JpZy9jb25maWd1cmUJMjAxNS0wNS0wNyAxNjoyNDoyOC41NDUwMDAyMzggKzA5MDAKKysrKyBjdGRiLTIuNS4xL2NvbmZpZ3VyZQkyMDE1LTA1LTA3IDE2OjI4OjIwLjg5NDAwMDI0NCArMDkwMAorQEAgLTEwNjkyLDEwICsxMDY5MiwxNiBAQCBpZiB0ZXN0IHgiJGxpYnJlcGxhY2VfY3ZfSEFWRV9HRVRBRERSSU5GCisgCSMgc2VlIGJ1ZyA1OTEwLCB1c2Ugb3VyIHJlcGxhY2VtZW50cyBpZiB3ZSBkZXRlY3QKKyAJIyBhIGJyb2tlbiBzeXN0ZW0uCisgCWlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoKKysJCWNhc2UgIiR0YXJnZXRfb3MiIGluCisrCQkqbGludXgqKQorKwkJCTs7CisrCQkqKQorICAgeyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiY1CisgJGFzX2VjaG8gIiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQorIGFzX2ZuX2Vycm9yICQ/ICJjYW5ub3QgcnVuIHRlc3QgcHJvZ3JhbSB3aGlsZSBjcm9zcyBjb21waWxpbmcKKyBTZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzIiAiJExJTkVOTyIgNTsgfQorKwkJCTs7CisrCQllc2FjCisgZWxzZQorICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdGRiL2N0ZGIvMDItbGluay1yZXBfc25wcmludGYtZm9yLWx0ZGJ0b29sLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2N0ZGIvY3RkYi8wMi1saW5rLXJlcF9zbnByaW50Zi1mb3ItbHRkYnRvb2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRkOWI5MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdGRiL2N0ZGIvMDItbGluay1yZXBfc25wcmludGYtZm9yLWx0ZGJ0b29sLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK2xpbmsgcmVwX3NucHJpbnRmIGZyb20gbGliL3JlcGxhY2Uvc25wcmludGYubyBmb3IgbHRkYnRvb2wKKworU2lnbmVkLW9mZi1ieTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CisKK2RpZmYgLU51cnAgY3RkYi0yLjUuMS5vcmlnL01ha2VmaWxlLmluIGN0ZGItMi41LjEvTWFrZWZpbGUuaW4KKy0tLSBjdGRiLTIuNS4xLm9yaWcvTWFrZWZpbGUuaW4JMjAxNS0wNS0wNyAxNjo0MzozOS4yNzYwMDAyMzYgKzA5MDAKKysrKyBjdGRiLTIuNS4xL01ha2VmaWxlLmluCTIwMTUtMDUtMDcgMTY6NDQ6MDkuNjI3MDAwMjM3ICswOTAwCitAQCAtMTcwLDcgKzE3MCw3IEBAIGJpbi9jdGRiOiAkKENUREJfQ0xJRU5UX09CSikgdG9vbHMvY3RkYi4KKyAJQGVjaG8gTGlua2luZyAkQAorIAkkKFdSQVBQRVIpICQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCB0b29scy9jdGRiLm8gdG9vbHMvY3RkYl92YWN1dW0ubyAkKENUREJfQ0xJRU5UX09CSikgJChMSUJfRkxBR1MpCisgCistYmluL2x0ZGJ0b29sOiB0b29scy9sdGRidG9vbC5vICQoVERCX09CSikKKytiaW4vbHRkYnRvb2w6IHRvb2xzL2x0ZGJ0b29sLm8gJChUREJfT0JKKSBsaWIvcmVwbGFjZS9zbnByaW50Zi5vCisgCUBlY2hvIExpbmtpbmcgJEAKKyAJJChXUkFQUEVSKSAkKENDKSAkKENGTEFHUykgLW8gJEAgJCsgJChUREJfTElCUykgJChMSUJfRkxBR1MpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3RkYi9jdGRiL3NlcnZpY2UtZW5zdXJlLXRoZS1QSUQtZGlyZWN0b3J5LWlzLWNyZWF0ZWQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3RkYi9jdGRiL3NlcnZpY2UtZW5zdXJlLXRoZS1QSUQtZGlyZWN0b3J5LWlzLWNyZWF0ZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdlOTg3YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdGRiL2N0ZGIvc2VydmljZS1lbnN1cmUtdGhlLVBJRC1kaXJlY3RvcnktaXMtY3JlYXRlZC5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIGYwMmZmNzM4M2YxY2MwYzExODczMjM1MmNjYmFlNDc2YzdiM2IzYmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJrIEFzc2Vsc3RpbmUgPG1hcmsuYXNzZWxzdGluZUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAxNyBOb3YgMjAxNSAxNjoxNzowMCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBzZXJ2aWNlOiBlbnN1cmUgdGhlIFBJRCBkaXJlY3RvcnkgaXMgY3JlYXRlZAorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIEFzc2Vsc3RpbmUgPG1hcmsuYXNzZWxzdGluZUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlnL2N0ZGIuc2VydmljZSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvY29uZmlnL2N0ZGIuc2VydmljZSBiL2NvbmZpZy9jdGRiLnNlcnZpY2UKK2luZGV4IGVhMzdjMzAuLjg1MzcxMDUgMTAwNjQ0CistLS0gYS9jb25maWcvY3RkYi5zZXJ2aWNlCisrKysgYi9jb25maWcvY3RkYi5zZXJ2aWNlCitAQCAtNSw2ICs1LDcgQEAgQWZ0ZXI9bmV0d29yay50YXJnZXQKKyBbU2VydmljZV0KKyBUeXBlPWZvcmtpbmcKKyBMaW1pdENPUkU9aW5maW5pdHkKKytSdW50aW1lRGlyZWN0b3J5PS9ydW4vY3RkYgorIFBJREZpbGU9L3J1bi9jdGRiL2N0ZGJkLnBpZAorIEV4ZWNTdGFydD0vdXNyL3NiaW4vY3RkYmRfd3JhcHBlciAvcnVuL2N0ZGIvY3RkYmQucGlkIHN0YXJ0CisgRXhlY1N0b3A9L3Vzci9zYmluL2N0ZGJkX3dyYXBwZXIgL3J1bi9jdGRiL2N0ZGJkLnBpZCBzdG9wCistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdGRiL2N0ZGJfMi41LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3RkYi9jdGRiXzIuNS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkNzU3ODQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3RkYi9jdGRiXzIuNS4xLmJiCkBAIC0wLDAgKzEsNTQgQEAKK0RFU0NSSVBUSU9OID0gIkNUREIgaXMgYSBjbHVzdGVyIGltcGxlbWVudGF0aW9uIG9mIHRoZSBUREIgZGF0YWJhc2UgXAordXNlZCBieSBTYW1iYSBhbmQgb3RoZXIgcHJvamVjdHMgdG8gc3RvcmUgdGVtcG9yYXJ5IGRhdGEuIElmIGFuIFwKK2FwcGxpY2F0aW9uIGlzIGFscmVhZHkgdXNpbmcgVERCIGZvciB0ZW1wb3JhcnkgZGF0YSBpdCBpcyB2ZXJ5IGVhc3kgXAordG8gY29udmVydCB0aGF0IGFwcGxpY2F0aW9uIHRvIGJlIGNsdXN0ZXIgYXdhcmUgYW5kIHVzZSBDVERCIGluc3RlYWQuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9jdGRiLnNhbWJhLm9yZy8iCitMSUNFTlNFID0gIkdQTC0yLjArICYgTEdQTC0zLjArICYgR1BMLTMuMCsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0xHUEwtMy4wO21kNT1iZmNjZmU5NTIyNjlmZmYyYjQwN2RkMTFmMmYzMDgzYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9HUEwtMi4wO21kNT04MDFmODA5ODBkMTcxZGQ2NDI1NjEwODMzYTIyZGJlNiBcCisgICAgICAgICAgICAgICAgICAgICIKKworU1JDX1VSSSA9ICJodHRwczovL2Z0cC5zYW1iYS5vcmcvcHViLyR7UE59LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGUtZm9yLWxpbnV4LW9zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAyLWxpbmstcmVwX3NucHJpbnRmLWZvci1sdGRidG9vbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zZXJ2aWNlLWVuc3VyZS10aGUtUElELWRpcmVjdG9yeS1pcy1jcmVhdGVkLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMGNkOTE3MjZmZjRjYTIyMjllMWIyMTg1OWM5NDcxNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNWJmM2Y2NzRjYWU5ODZiYjYxNzhiMWRiMjE1YTcwM2FjOTRhZGM1Zjc1ZmFkZmRjZmY2M2RjYmI1ZTk4YWI1IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHN5c3RlbWQKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbGlidGRiXSA9ICItLXdpdGhvdXQtaW5jbHVkZWQtdGRiLC0td2l0aC1pbmNsdWRlZC10ZGIsbGlidGRiIgorCitQQVJBTExFTF9NQUtFID0gIiIKKworREVQRU5EUyArPSAicG9wdCBsaWJ0ZXZlbnQgbGlidGFsbG9jIGxpYmxkYiIKKworIyBjdGRiZF93cmFwcGVyIHJlcXVpcmVzIHBncmVwLCBoZW5jZSBwcm9jcHMKK1JERVBFTkRTXyR7UE59ICs9ICJwcm9jcHMiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBvZV9ydW5jb25mCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9jb25maWcvY3RkYi5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgc2VkIC1pIC1lICdzLC91c3Ivc2Jpbi8sJHtzYmluZGlyfS8sJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9jdGRiLnNlcnZpY2UKKyAgICBzZWQgLWkgLWUgJ3MsXChbPVwgXVwpL3J1bi8sXDEke2xvY2Fsc3RhdGVkaXJ9L3J1bi8sJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9jdGRiLnNlcnZpY2UKKworICAgIHJtIC1yICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9ydW4KK30KKworIyBUaGUgc3lzdGVtZCBzZXJ2aWNlIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQsIGFzIHRoZSBzZXJ2aWNlIHdpbGwgZmFpbCB0bworIyBzdGFydCB3aXRob3V0IC9ldGMvY3RkYi9ub2Rlcy4gSWYgdGhlIHVzZXIgc3VwcGxpZXMgdGhpcywgdGhleSBjYW4gcmUtZW5hYmxlCisjIHRoZSBzZXJ2aWNlLgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImN0ZGIuc2VydmljZSIKKworIyBvbm5vZGUgaXMgYSBzaGVsbCBzY3JpcHQgd2l0aCBiYXNoaXNtcyBhbmQgYmFzaCAjIQorUkRFUEVORFNfJHtQTn0gKz0gImJhc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3VybHBwL2N1cmxwcC9leGFtcGxlMjEuY3BwLXJlbW92ZS1kZXByZWNhdGVkLWNvZGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3VybHBwL2N1cmxwcC9leGFtcGxlMjEuY3BwLXJlbW92ZS1kZXByZWNhdGVkLWNvZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGFlNTgzZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdXJscHAvY3VybHBwL2V4YW1wbGUyMS5jcHAtcmVtb3ZlLWRlcHJlY2F0ZWQtY29kZS5wYXRjaApAQCAtMCwwICsxLDQ3IEBACitleGFtcGxlMjEuY3BwOiByZW1vdmUgZGVwcmVjYXRlZCBjb2RlCisKK1RoZSBkZXByZWNhdGVkIGNvZGUgd2FzIG5vIGxvbmdlciB1c2VkLCBzbyByZW1vdmUgaXQgdG8gYXZvaWQKK2NvbXBpbGluZyBmYWlsdXJlIHdpdGggLVdlcnJvcj11bnVzZWQtZnVuY3Rpb24KKy4uLgorfCBleGFtcGxlMjEuY3BwOjUxOjg6IGVycm9yOiAnc2l6ZV90IHthbm9ueW1vdXN9OjpyZWFkRGF0YShjaGFyKiwKK3NpemVfdCwgc2l6ZV90KScgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQorfCAgc2l6ZV90IHJlYWREYXRhKGNoYXIgKmJ1ZmZlciwgc2l6ZV90IHNpemUsIHNpemVfdCBuaXRlbXMpCisuLi4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGV4YW1wbGVzL2V4YW1wbGUyMS5jcHAgfCAxNyAtLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2V4YW1wbGUyMS5jcHAgYi9leGFtcGxlcy9leGFtcGxlMjEuY3BwCistLS0gYS9leGFtcGxlcy9leGFtcGxlMjEuY3BwCisrKysgYi9leGFtcGxlcy9leGFtcGxlMjEuY3BwCitAQCAtMzksMjMgKzM5LDYgQEAKKyAjaW5jbHVkZSA8Y3VybHBwL09wdGlvbnMuaHBwPgorICNpbmNsdWRlIDxjdXJscHAvRXhjZXB0aW9uLmhwcD4KKyAgCistLyoKKy0gICBhbm9ueW1vdXMgbmFtZXNwYWNlIHRvIHByZXZlbnQgbmFtZSBjbGFzaCBpbiBjYXNlIG90aGVyIGV4YW1wbGVzIHVzaW5nIHRoZSBzYW1lIGdsb2JhbCBlbnRpdGllcworLSAgIHdvdWxkIGJlIGNvbXBpbGVkIGluIHRoZSBzYW1lIHByb2plY3QKKy0qLworLW5hbWVzcGFjZQorLXsKKy0KKy1jaGFyICpkYXRhID0gTlVMTDsKKy0KKy1zaXplX3QgcmVhZERhdGEoY2hhciAqYnVmZmVyLCBzaXplX3Qgc2l6ZSwgc2l6ZV90IG5pdGVtcykKKy17CistICBzdHJuY3B5KGJ1ZmZlciwgZGF0YSwgc2l6ZSAqIG5pdGVtcyk7CistICByZXR1cm4gc2l6ZSAqIG5pdGVtczsKKy19CistCistfSAvLyBuYW1lc3BhY2UKKy0KKyBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIHsKKyAgIGlmKGFyZ2MgIT0gMykgeworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY3VybHBwL2N1cmxwcC9wa2djb25maWdfZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2N1cmxwcC9jdXJscHAvcGtnY29uZmlnX2ZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDczYzAwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2N1cmxwcC9jdXJscHAvcGtnY29uZmlnX2ZpeC5wYXRjaApAQCAtMCwwICsxLDM4IEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3BhY2thZ2luZ10KKworCitJbmRleDogY3VybC03LjIwLjAvbGliY3VybC5wYy5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGN1cmwtNy4yMC4wLm9yaWcvbGliY3VybC5wYy5pbgkyMDA5LTExLTE3IDE4OjExOjA3LjAwMDAwMDAwMCArMDAwMAorKysrIGN1cmwtNy4yMC4wL2xpYmN1cmwucGMuaW4JMjAxMC0wMy0yNSAxMjoxMzoyNi44MTQwNTEwNjYgKzAwMDAKK0BAIC0zNSw2ICszNSw3IEBACisgVVJMOiBodHRwOi8vY3VybC5oYXh4LnNlLworIERlc2NyaXB0aW9uOiBMaWJyYXJ5IHRvIHRyYW5zZmVyIGZpbGVzIHdpdGggZnRwLCBodHRwLCBldGMuCisgVmVyc2lvbjogQENVUkxWRVJTSU9OQAorLUxpYnM6IC1MJHtsaWJkaXJ9IC1sY3VybCBATElCU0AKKy1MaWJzLnByaXZhdGU6IEBMSUJDVVJMX0xJQlNAIEBMSUJTQAorK1JlcXVpcmVzLnByaXZhdGU6IEBHTlVUTFNfUkVRVUlSRURACisrTGliczogLUwke2xpYmRpcn0gLWxjdXJsCisrTGlicy5wcml2YXRlOiAtbGRsIC1segorIENmbGFnczogLUkke2luY2x1ZGVkaXJ9CitJbmRleDogY3VybC03LjIwLjAvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY3VybC03LjIwLjAub3JpZy9jb25maWd1cmUuYWMJMjAxMC0wMi0wNCAyMTo0MTo0Ni4wMDAwMDAwMDAgKzAwMDAKKysrKyBjdXJsLTcuMjAuMC9jb25maWd1cmUuYWMJMjAxMC0wMy0yNSAxMjoxMjoxOC42NzMxMjkwMDEgKzAwMDAKK0BAIC0xNjY4LDYgKzE2NjgsNyBAQAorICAgICAgICBBQ19TVUJTVChVU0VfR05VVExTLCBbMV0pCisgICAgICAgIEdOVVRMU19FTkFCTEVEPTEKKyAgICAgICAgVVNFX0dOVVRMUz0ieWVzIgorKyAgICAgICBHTlVUTFNfUkVRVUlSRUQ9ImdudXRscyIKKyAgICAgICAgY3VybF9zc2xfbXNnPSJlbmFibGVkIChHbnVUTFMpIgorICAgICAgICBdLAorICAgICAgICBbCitAQCAtMTY5Niw2ICsxNjk3LDggQEAKKyAKKyBmaSBkbmwgT1BFTlNTTCAhPSAxCisgCisrQUNfU1VCU1QoR05VVExTX1JFUVVJUkVEKQorKworIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZG5sIE5TUy4gT25seSBjaGVjayBpZiBHbnVUTFMgYW5kIE9wZW5TU0wgYXJlIG5vdCBlbmFibGVkCisgZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdXJscHAvY3VybHBwXzAuNy4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2N1cmxwcC9jdXJscHBfMC43LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY2M2YwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jdXJscHAvY3VybHBwXzAuNy4zLmJiCkBAIC0wLDAgKzEsMzEgQEAKK1NVTU1BUlkgPSAiQysrIGxpYnJhcnkgZm9yIGNsaWVudC1zaWRlIFVSTCB0cmFuc2ZlcnMiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvY3VybHBwLyIKK1NFQ1RJT04gPSAibGliZGV2ZWwiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIgorCitERVBFTkRTID0gImN1cmwgYm9vc3QiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJjdXJsLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vY3VybHBwLmdvb2dsZWNvZGUuY29tL2ZpbGVzL2N1cmxwcC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZXhhbXBsZTIxLmNwcC1yZW1vdmUtZGVwcmVjYXRlZC1jb2RlLnBhdGNoIFwKKwkiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjY2MzZDMwZDRiM2I1ZDJjZGJlZDYzNTg5OGMyOTQ4NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlM2Y5NDI3YjI3YzViZGRmODk4ZDM4M2Q0NWMwZDNkNTM5N2UyMDU2ZmY5MzVkOWE1Y2RhZWY2YTlhNjUzYmQ1IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIGJpbmNvbmZpZworCitQQUNLQUdFUyA9KyAibGliY3VybHBwIGxpYmN1cmxwcC1kZXYgbGliY3VybHBwLXN0YXRpY2RldiIKKworRklMRVNfbGliJHtCUE59ID0gIiR7bGliZGlyfS9saWIqLnNvLiogXAorCQkiCisKK0ZJTEVTX2xpYiR7QlBOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYioubGEgXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wa2djb25maWcgXAorICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS8qLWNvbmZpZyIKKworRklMRVNfbGliJHtCUE59LXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGliKi5hIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2Ruc21hc3EuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjN2Y5ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxLmluYwpAQCAtMCwwICsxLDgzIEBACitTVU1NQVJZID0gIkxpZ2h0d2VpZ2h0LCBlYXN5IHRvIGNvbmZpZ3VyZSBETlMgZm9yd2FyZGVyIGFuZCBESENQIHNlcnZlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudGhla2VsbGV5cy5vcmcudWsvZG5zbWFzcS9kb2MuaHRtbCIKK1NFQ1RJT04gPSAibmV0IgorIyBHUEx2MyB3YXMgYWRkZWQgaW4gdmVyc2lvbiAyLjQxIGFzIGxpY2Vuc2Ugb3B0aW9uCitMSUNFTlNFID0gIkdQTHYyIHwgR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLXYzO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworI2F0IGxlYXN0IHZlcnNpb25zIDIuMTUgYW5kIHByaW9yIGFyZSBtb3ZlZCB0byB0aGUgYXJjaGl2ZSBmb2xkZXIgb24gdGhlIHNlcnZlcgorU1JDX1VSSSA9ICJodHRwOi8vd3d3LnRoZWtlbGxleXMub3JnLnVrL2Ruc21hc3EvJHtAWydhcmNoaXZlLycsICcnXVtmbG9hdChkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMV0pID4gMTVdfWRuc21hc3EtJHtQVn0udGFyLmd6O25hbWU9ZG5zbWFzcS0ke1BWfSBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2Ruc21hc3EuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9kbnNtYXNxLXJlc29sdmNvbmYuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9kbnNtYXNxLW5vcmVzb2x2Y29uZi5zZXJ2aWNlIFwKKyIKKworaW5oZXJpdCBwa2djb25maWcgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitJTklUU0NSSVBUX05BTUUgPSAiZG5zbWFzcSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCitQQUNLQUdFQ09ORklHID89ICIiCitQQUNLQUdFQ09ORklHW2RidXNdID0gIiwsZGJ1cyIKK1BBQ0tBR0VDT05GSUdbaWRuXSA9ICIsLGxpYmlkbiIKK1BBQ0tBR0VDT05GSUdbY29ubnRyYWNrXSA9ICIsLGxpYm5ldGZpbHRlci1jb25udHJhY2siCitQQUNLQUdFQ09ORklHW2x1YV0gPSAiLCxsdWEiCitQQUNLQUdFQ09ORklHW3Jlc29sdmNvbmZdID0gIiwsLHJlc29sdmNvbmYiCitFWFRSQV9PRU1BS0UgPSAiXAorICAgICdDT1BUUz0ke0BiYXNlX2NvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2RidXMnLCAnLURIQVZFX0RCVVMnLCAnJywgZCl9IFwKKyAgICAgICAgICAgJHtAYmFzZV9jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdpZG4nLCAnLURIQVZFX0lETicsICcnLCBkKX0gXAorICAgICAgICAgICAke0BiYXNlX2NvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2Nvbm50cmFjaycsICctREhBVkVfQ09OTlRSQUNLJywgJycsIGQpfSBcCisgICAgICAgICAgICR7QGJhc2VfY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbHVhJywgJy1ESEFWRV9MVUFTQ1JJUFQnLCAnJywgZCl9JyBcCisgICAgJ0NGTEFHUz0ke0NGTEFHU30nIFwKKyAgICAnTERGTEFHUz0ke0xERkxBR1N9JyBcCisiCisKK1NSQ19VUkkgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3Jlc29sdmNvbmYnLCAnZmlsZTovL2Ruc21hc3EucmVzb2x2Y29uZiBmaWxlOi8vOTlfZG5zbWFzcSBmaWxlOi8vZG5zbWFzcS1yZXNvbHZjb25mLWhlbHBlcicsICcnLCBkKX0iCisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgICMgYnVpbGQgZGhjcF9yZWxlYXNlCisgICAgY2QgJHtTfS9jb250cmliL3dydAorICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSAiUFJFRklYPSR7RH0ke3ByZWZpeH0iIFwKKyAgICAgICAgICAgICAgICJCSU5ESVI9JHtEfSR7YmluZGlyfSIgXAorICAgICAgICAgICAgICAgIk1BTkRJUj0ke0R9JHttYW5kaXJ9IiBcCisgICAgICAgICAgICAgICBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS8gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kICR7RH0ke3N5c2NvbmZkaXJ9L2Ruc21hc3EuZAorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vZG5zbWFzcS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9LworICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvZG5zbWFzcQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCisgICAgaWYgWyAiJHtAYmFzZV9jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdyZXNvbHZjb25mJywgJ3Jlc29sdmNvbmYnLCAnJywgZCl9IiAhPSAiIiBdOyB0aGVuCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2Ruc21hc3EtcmVzb2x2Y29uZi5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2Ruc21hc3Euc2VydmljZQorICAgIGVsc2UKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZG5zbWFzcS1ub3Jlc29sdmNvbmYuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9kbnNtYXNxLnNlcnZpY2UKKyAgICBmaQorCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vY29udHJpYi93cnQvZGhjcF9yZWxlYXNlICR7RH0ke2JpbmRpcn0KKworICAgIGlmIFsgIiR7QGJhc2VfY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZGJ1cycsICdkYnVzJywgJycsIGQpfSIgIT0gIiIgXTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RidXMtMS9zeXN0ZW0uZAorICAgICAgICBpbnN0YWxsIC1tIDY0NCBkYnVzL2Ruc21hc3EuY29uZiAke0R9JHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQvCisgICAgZmkKKyAgICBpZiBbICIke0BiYXNlX2NvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3Jlc29sdmNvbmYnLCAncmVzb2x2Y29uZicsICcnLCBkKX0iICE9ICIiIF07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9yZXNvbHZjb25mL3VwZGF0ZS5kLworICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9kbnNtYXNxLnJlc29sdmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vcmVzb2x2Y29uZi91cGRhdGUuZC9kbnNtYXNxCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS85OV9kbnNtYXNxICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2Ruc21hc3EtcmVzb2x2Y29uZi1oZWxwZXIgJHtEfSR7YmluZGlyfQorICAgIGZpCit9CisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2Ruc21hc3EuY29uZiIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJkbnNtYXNxLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxL2x1YS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2Ruc21hc3EvbHVhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxOGMwYjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxL2x1YS5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDFlNWJlMGEwYmNmODU5MTNkNjM0MDgwMzBkZWMwMzhkMzYwYTVmYTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CitEYXRlOiBUdWUsIDkgU2VwIDIwMTQgMTA6MjQ6NTggLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoZXIgTGFyc29uIDxjaHJpc19sYXJzb25AbWVudG9yLmNvbT4KKworLS0tCisgTWFrZWZpbGUgfCAgICA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggZmMzODM5My4uYTc5ZjhiZiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTU3LDggKzU3LDggQEAgaWRuX2NmbGFncyA9ICAgIGBlY2hvICQoQ09QVFMpIHwgJCh0b3ApL2JsZC9wa2ctd3JhcHBlciBIQVZFX0lETiAkKFBLR19DT05GSUcpIC0KKyBpZG5fbGlicyA9ICAgICAgYGVjaG8gJChDT1BUUykgfCAkKHRvcCkvYmxkL3BrZy13cmFwcGVyIEhBVkVfSUROICQoUEtHX0NPTkZJRykgLS1saWJzIGxpYmlkbmAgCisgY3RfY2ZsYWdzID0gICAgIGBlY2hvICQoQ09QVFMpIHwgJCh0b3ApL2JsZC9wa2ctd3JhcHBlciBIQVZFX0NPTk5UUkFDSyAkKFBLR19DT05GSUcpIC0tY2ZsYWdzIGxpYm5ldGZpbHRlcl9jb25udHJhY2tgCisgY3RfbGlicyA9ICAgICAgIGBlY2hvICQoQ09QVFMpIHwgJCh0b3ApL2JsZC9wa2ctd3JhcHBlciBIQVZFX0NPTk5UUkFDSyAkKFBLR19DT05GSUcpIC0tbGlicyBsaWJuZXRmaWx0ZXJfY29ubnRyYWNrYAorLWx1YV9jZmxhZ3MgPSAgICBgZWNobyAkKENPUFRTKSB8ICQodG9wKS9ibGQvcGtnLXdyYXBwZXIgSEFWRV9MVUFTQ1JJUFQgJChQS0dfQ09ORklHKSAtLWNmbGFncyBsdWE1LjFgIAorLWx1YV9saWJzID0gICAgICBgZWNobyAkKENPUFRTKSB8ICQodG9wKS9ibGQvcGtnLXdyYXBwZXIgSEFWRV9MVUFTQ1JJUFQgJChQS0dfQ09ORklHKSAtLWxpYnMgbHVhNS4xYCAKKytsdWFfY2ZsYWdzID0gICAgYGVjaG8gJChDT1BUUykgfCAkKHRvcCkvYmxkL3BrZy13cmFwcGVyIEhBVkVfTFVBU0NSSVBUICQoUEtHX0NPTkZJRykgLS1jZmxhZ3MgbHVhYAorK2x1YV9saWJzID0gICAgICBgZWNobyAkKENPUFRTKSB8ICQodG9wKS9ibGQvcGtnLXdyYXBwZXIgSEFWRV9MVUFTQ1JJUFQgJChQS0dfQ09ORklHKSAtLWxpYnMgbHVhYAorIG5ldHRsZV9jZmxhZ3MgPSBgZWNobyAkKENPUFRTKSB8ICQodG9wKS9ibGQvcGtnLXdyYXBwZXIgSEFWRV9ETlNTRUMgJChQS0dfQ09ORklHKSAtLWNmbGFncyBuZXR0bGUgaG9nd2VlZGAKKyBuZXR0bGVfbGlicyA9ICAgYGVjaG8gJChDT1BUUykgfCAkKHRvcCkvYmxkL3BrZy13cmFwcGVyIEhBVkVfRE5TU0VDICQoUEtHX0NPTkZJRykgLS1saWJzIG5ldHRsZSBob2d3ZWVkYAorIGdtcF9saWJzID0gICAgICBgZWNobyAkKENPUFRTKSB8ICQodG9wKS9ibGQvcGtnLXdyYXBwZXIgSEFWRV9ETlNTRUMgJChQS0dfQ09ORklHKSAtLWNvcHkgLWxnbXBgCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcV8yLjc1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcV8yLjc1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMWFhYmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxXzIuNzUuYmIKQEAgLTAsMCArMSw5IEBACityZXF1aXJlIGRuc21hc3EuaW5jCisKK1NSQ19VUkkgKz0gIlwKKyAgICBmaWxlOi8vbHVhLnBhdGNoIFwKKyIKKworU1JDX1VSSVtkbnNtYXNxLTIuNzUubWQ1c3VtXSA9ICJkOTlhYzEyNmQ0ZmU5MTBjNjc5ZDg4NDMwNTU5NjY5YiIKK1NSQ19VUklbZG5zbWFzcS0yLjc1LnNoYTI1NnN1bV0gPSAiZjgyNTJjMGEwYmExNjJjMmNkNDVmODExNDBjN2MxN2NjNDBhNWZjYTJiODY5ZDFhNDIwODM1Yjc0YWNhZDI5NCIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvOTlfZG5zbWFzcSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzLzk5X2Ruc21hc3EKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjUyY2U0ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzLzk5X2Ruc21hc3EKQEAgLTAsMCArMSBAQAorZCByb290IHJvb3QgMDc1NSAvcnVuL2Ruc21hc3Egbm9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS1ub3Jlc29sdmNvbmYuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzL2Ruc21hc3Etbm9yZXNvbHZjb25mLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RlMjI0NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzL2Ruc21hc3Etbm9yZXNvbHZjb25mLnNlcnZpY2UKQEAgLTAsMCArMSwxNSBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1ETlMgZm9yd2FyZGVyIGFuZCBESENQIHNlcnZlcgorQWZ0ZXI9bmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK1BJREZpbGU9L3J1bi9kbnNtYXNxLnBpZAorRXhlY1N0YXJ0UHJlPS91c3IvYmluL2Ruc21hc3EgLS10ZXN0CitFeGVjU3RhcnQ9L3Vzci9iaW4vZG5zbWFzcSAteCAvcnVuL2Ruc21hc3EucGlkCitFeGVjU3RvcD0vYmluL2tpbGwgJE1BSU5QSUQKK0V4ZWNSZWxvYWQ9L2Jpbi9raWxsIC1IVVAgJE1BSU5QSUQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLXJlc29sdmNvbmYtaGVscGVyIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS1yZXNvbHZjb25mLWhlbHBlcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjU0ZDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS1yZXNvbHZjb25mLWhlbHBlcgpAQCAtMCwwICsxLDYyIEBACisjIS9iaW4vYmFzaAorIworIyBCb3Jyb3dpbmcgaGVhdmlseSBmcm9tIHRoZSBkbnNtYXNxIGluaXRzY3JpcHQncyB2ZXJzaW9uIG9mIHN1cHBvcnQgZm9yCisjIHJlc29sdmNvbmYsIGludGVuZGVkIGZvciB1c2UgaW4gc3lzdGVtZC1vbmx5IGNvbmZpZ3VyYXRpb25zLgorIworUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KK0RBRU1PTj0vdXNyL3NiaW4vZG5zbWFzcQorTkFNRT1kbnNtYXNxCisKKyMgTW9zdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgaW4gL2V0Yy9kZWZhdWx0L2Ruc21hc3EgYXJlIGRlcHJlY2F0ZWQKKyMgYnV0IHN0aWxsIGhvbm91cmVkLgoraWYgWyAtciAvZXRjL2RlZmF1bHQvJE5BTUUgXTsgdGhlbgorICAgLiAvZXRjL2RlZmF1bHQvJE5BTUUKK2ZpCisKK3N0YXJ0X3Jlc29sdmNvbmYoKQoreworICAgIyBJZiBpbnRlcmZhY2UgImxvIiBpcyBleHBsaWNpdGx5IGRpc2FibGVkIGluIC9ldGMvZGVmYXVsdC9kbnNtYXNxCisgICAjIFRoZW4gZG5zbWFzcSB3b24ndCBiZSBwcm92aWRpbmcgbG9jYWwgRE5TLCBzbyBkb24ndCBhZGQgaXQgdG8KKyAgICMgdGhlIHJlc29sdmNvbmYgc2VydmVyIHNldC4KKyAgIGZvciBpbnRlcmZhY2UgaW4gJEROU01BU1FfRVhDRVBUCisgICBkbworICAgICAgWyAkaW50ZXJmYWNlID0gbG8gXSAmJiByZXR1cm4KKyAgIGRvbmUKKworICAgaWYgWyAteCAvc2Jpbi9yZXNvbHZjb25mIF0gOyB0aGVuCisgICAgICBlY2hvICJuYW1lc2VydmVyIDEyNy4wLjAuMSIgfAorICAgICAgL3NiaW4vcmVzb2x2Y29uZiAtYSBsby4kTkFNRQorICAgZmkKKyAgIHJldHVybiAwCit9CisKK3N0b3BfcmVzb2x2Y29uZigpCit7CisgICBpZiBbIC14IC9zYmluL3Jlc29sdmNvbmYgXSA7IHRoZW4KKyAgICAgIC9zYmluL3Jlc29sdmNvbmYgLWQgbG8uJE5BTUUKKyAgIGZpCisgICByZXR1cm4gMAorfQorCitjYXNlICIkMSIgaW4KKyAgIHN0YXJ0KQorICAgICAgc3RhcnRfcmVzb2x2Y29uZgorICAgICAgZXhpdCAwCisgICAgICA7OworICAgc3RvcCkKKyAgICAgIHN0b3BfcmVzb2x2Y29uZgorICAgICAgZXhpdCAwCisgICAgICA7OworICAgcmVzdGFydCkKKyAgICAgIHN0b3BfcmVzb2x2Y29uZgorICAgICAgc3RhcnRfcmVzb2x2Y29uZgorICAgICAgZXhpdCAwCisgICAgICA7OworICAgKikKKyAgICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC8kTkFNRSB7c3RhcnR8c3RvcHxyZXN0YXJ0fSIgPiYyCisgICAgICBleGl0IDMKKyAgICAgIDs7Citlc2FjCisKK2V4aXQgMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLXJlc29sdmNvbmYuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzL2Ruc21hc3EtcmVzb2x2Y29uZi5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4YjE3NWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLXJlc29sdmNvbmYuc2VydmljZQpAQCAtMCwwICsxLDE3IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUROUyBmb3J3YXJkZXIgYW5kIERIQ1Agc2VydmVyCitBZnRlcj1uZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworUElERmlsZT0vcnVuL2Ruc21hc3EucGlkCitFeGVjU3RhcnRQcmU9L3Vzci9iaW4vZG5zbWFzcSAtLXRlc3QKK0V4ZWNTdGFydD0vdXNyL2Jpbi9kbnNtYXNxIC14IC9ydW4vZG5zbWFzcS5waWQKK0V4ZWNTdGFydFBvc3Q9L3Vzci9iaW4vZG5zbWFzcS1yZXNvbHZjb25mLWhlbHBlciBzdGFydAorRXhlY1N0b3BQcmU9L3Vzci9iaW4vZG5zbWFzcS1yZXNvbHZjb25mLWhlbHBlciBzdG9wCitFeGVjU3RvcD0vYmluL2tpbGwgJE1BSU5QSUQKK0V4ZWNSZWxvYWQ9L2Jpbi9raWxsIC1IVVAgJE1BSU5QSUQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmQwZWUwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzL2Ruc21hc3EuY29uZgpAQCAtMCwwICsxLDI5MyBAQAorIyBDb25maWd1cmF0aW9uIGZpbGUgZm9yIGRuc21hc3EuCisjCisjIEZvcm1hdCBpcyBvbmUgb3B0aW9uIHBlciBsaW5lLCBsZWdhbCBvcHRpb25zIGFyZSB0aGUgc2FtZQorIyBhcyB0aGUgbG9uZyBvcHRpb25zIGxlZ2FsIG9uIHRoZSBjb21tYW5kIGxpbmUuIFNlZQorIyAiL3Vzci9zYmluL2Ruc21hc3EgLS1oZWxwIiBvciAibWFuIDggZG5zbWFzcSIgZm9yIGRldGFpbHMuCisKKyMgQ2hhbmdlIHRoZXNlIGxpbmVzIGlmIHlvdSB3YW50IGRuc21hc3EgdG8gc2VydmUgTVggcmVjb3Jkcy4KKyMgT25seSBvbmUgb2YgbXgtaG9zdCBhbmQgbXgtdGFyZ2V0IG5lZWQgYmUgc2V0LCB0aGUgb3RoZXIgZGVmYXVsdHMKKyMgdG8gdGhlIG5hbWUgb2YgdGhlIGhvc3QgIHJ1bm5pbmcgZG5zbWFzcS4KKyNteC1ob3N0PQorI214LXRhcmdldD0KKyNzZWxmbXgKKyNsb2NhbG14CisKKyMgVGhlIGZvbGxvd2luZyB0d28gb3B0aW9ucyBtYWtlIHlvdSBhIGJldHRlciBuZXRpemVuLCBzaW5jZSB0aGV5IAorIyB0ZWxsIGRuc21hc3EgdG8gZmlsdGVyIG91dCBxdWVyaWVzIHdoaWNoIHRoZSBwdWJsaWMgRE5TIGNhbm5vdAorIyBhbnN3ZXIsIGFuZCB3aGljaCBsb2FkIHRoZSBzZXJ2ZXJzIChlc3BlY2lhbGx5IHRoZSByb290IHNlcnZlcnMpIAorIyB1bmVjY2Vzc2FyaWx5LiBJZiB5b3UgaGF2ZSBhIGRpYWwtb24tZGVtYW5kIGxpbmsgdGhleSBhbHNvIHN0b3AKKyMgdGhlc2UgcmVxdWVzdHMgZnJvbSBicmluZ2luZyB1cCB0aGUgbGluayB1bmVjY2Vzc2FyaWx5LgorCisjIE5ldmVyIGZvcndhcmQgcGxhaW4gbmFtZXMgKHdpdGggYSBkb3Qgb3IgZG9tYWluIHBhcnQpCitkb21haW4tbmVlZGVkCisjIE5ldmVyIGZvcndhcmQgYWRkcmVzc2VzIGluIHRoZSBub24tcm91dGVkIGFkZHJlc3Mgc3BhY2VzLgorYm9ndXMtcHJpdgorCisKKyMgVW5jb21tZW50IHRoaXMgdG8gZmlsdGVyIHVzZWxlc3Mgd2luZG93cy1vcmlnaW5hdGVkIEROUyByZXF1ZXN0cworIyB3aGljaCBjYW4gdHJpZ2dlciBkaWFsLW9uLWRlbWFuZCBsaW5rcyBuZWVkbGVzc2x5LgorIyBOb3RlIHRoYXQgKGFtb25nc3Qgb3RoZXIgdGhpbmdzKSB0aGlzIGJsb2NrcyBhbGwgU1JWIHJlcXVlc3RzLCAKKyMgc28gZG9uJ3QgdXNlIGl0IGlmIHlvdSB1c2UgZWcgS2VyYmVyb3MuCisjZmlsdGVyd2luMmsKKworIyBDaGFuZ2UgdGhpcyBsaW5lIGlmIHlvdSB3YW50IGRucyB0byBnZXQgaXRzIHVwc3RyZWFtIHNlcnZlcnMgZnJvbQorIyBzb21ld2hlcmUgb3RoZXIgdGhhdCAvZXRjL3Jlc29sdi5jb25mIAorI3Jlc29sdi1maWxlPQorCisjIEJ5ICBkZWZhdWx0LCAgZG5zbWFzcSAgd2lsbCAgc2VuZCBxdWVyaWVzIHRvIGFueSBvZiB0aGUgdXBzdHJlYW0KKyMgc2VydmVycyBpdCBrbm93cyBhYm91dCBhbmQgdHJpZXMgdG8gZmF2b3VyIHNlcnZlcnMgdG8gYXJlICBrbm93bgorIyB0byAgYmUgIHVwLiAgVW5jb21tZW50aW5nIHRoaXMgZm9yY2VzIGRuc21hc3EgdG8gdHJ5IGVhY2ggcXVlcnkKKyMgd2l0aCAgZWFjaCAgc2VydmVyICBzdHJpY3RseSAgaW4gIHRoZSAgb3JkZXIgIHRoZXkgICBhcHBlYXIgICBpbgorIyAvZXRjL3Jlc29sdi5jb25mCisjc3RyaWN0LW9yZGVyCisKKyMgSWYgeW91IGRvbid0IHdhbnQgZG5zbWFzcSB0byByZWFkIC9ldGMvcmVzb2x2LmNvbmYgb3IgYW55IG90aGVyCisjIGZpbGUsIGdldHRpbmcgaXRzIHNlcnZlcnMgZm9yIHRoaXMgZmlsZSBpbnN0ZWFkIChzZWUgYmVsb3cpLCB0aGVuCisjIHVuY29tbWVudCB0aGlzCisjbm8tcmVzb2x2CisKKyMgSWYgeW91IGRvbid0IHdhbnQgZG5zbWFzcSB0byBwb2xsIC9ldGMvcmVzb2x2LmNvbmYgb3Igb3RoZXIgcmVzb2x2CisjIGZpbGVzIGZvciBjaGFuZ2VzIGFuZCByZS1yZWFkIHRoZW0gdGhlbiB1bmNvbW1lbnQgdGhpcy4KKyNuby1wb2xsCisKKyMgQWRkIG90aGVyIG5hbWUgc2VydmVycyBoZXJlLCB3aXRoIGRvbWFpbiBzcGVjcyBpZiB0aGV5IGFyZSBmb3IgCisjIG5vbi1wdWJsaWMgZG9tYWlucy4KKyNzZXJ2ZXI9L2xvY2FsbmV0LzE5Mi4xNjguMC4xCisKKyMgQWRkIGxvY2FsLW9ubHkgZG9tYWlucyBoZXJlLCBxdWVyaWVzIGluIHRoZXNlIGRvbWFpbnMgYXJlIGFuc3dlcmVkCisjIGZyb20gL2V0Yy9ob3N0cyBvciBESENQIG9ubHkuCisjbG9jYWw9L2xvY2FsbmV0LworCisjIEFkZCBkb21haW5zIHdoaWNoIHlvdSB3YW50IHRvIGZvcmNlIHRvIGFuIElQIGFkZHJlc3MgaGVyZS4KKyMgVGhlIGV4YW1wbGUgYmVsb3cgc2VuZCBhbnkgaG9zdCBpbiBkb3VibGVjbGljay5uZXQgdG8gYSBsb2NhbAorIyB3ZWJzZXJ2ZXIuCisjYWRkcmVzcz0vZG91YmxlY2xpY2submV0LzEyNy4wLjAuMQorCisjIFlvdSBubyBsb25nZXIgKGFzIG9mIHZlcnNpb24gMS43KSBuZWVkIHRvIHNldCB0aGVzZSB0byBlbmFibGUgCisjIGRuc21hc3EgdG8gcmVhZCAvZXRjL3BwcC9yZXNvbHYuY29uZiBzaW5jZSBkbnNtYXNxIG5vdyB1c2VzIHRoZQorIyAiZGlwIiBncm91cCB0byBhY2hpZXZlIHRoaXMuCisjdXNlcj0KKyNncm91cD0KKworIyBJZiB5b3Ugd2FudCBkbnNtYXNxIHRvIGxpc3RlbiBmb3IgcmVxdWVzdHMgb25seSBvbiBzcGVjaWZpZWQgaW50ZXJmYWNlcworIyAoYW5kIHRoZSBsb29wYmFjaykgZ2l2ZSB0aGUgbmFtZSBvZiB0aGUgaW50ZXJmYWNlIChlZyBldGgwKSBoZXJlLiAKKyMgUmVwZWF0IHRoZSBsaW5lIGZvciBtb3JlIHRoYW4gb25lIGludGVyZmFjZS4KKyNpbnRlcmZhY2U9CisjIE9yIHlvdSBjYW4gc3BlY2lmeSB3aGljaCBpbnRlcmZhY2UgX25vdF8gdG8gbGlzdGVuIG9uCisjZXhjZXB0LWludGVyZmFjZT0KKyMgT3Igd2hpY2ggdG8gbGlzdGVuIG9uIGJ5IGFkZHJlc3MgKHJlbWVtYmVyIHRvIGluY2x1ZGUgMTI3LjAuMC4xIGlmCisjIHlvdSB1c2UgdGhpcy4pCitsaXN0ZW4tYWRkcmVzcz0xMjcuMC4wLjEKKworIyBPbiBzeXN0ZW1zIHdoaWNoIHN1cHBvcnQgaXQsIGRuc21hc3EgYmluZHMgdGhlIHdpbGRjYXJkIGFkZHJlc3MsCisjIGV2ZW4gd2hlbiBpdCBpcyBsaXN0ZW5pbmcgb24gb25seSBzb21lIGludGVyZmFjZXMuIEl0IHRoZW4gZGlzY2FyZHMKKyMgcmVxdWVzdHMgdGhhdCBpdCBzaG91bGRuJ3QgcmVwbHkgdG8uIFRoaXMgaGFzIHRoZSBhZHZhbnRhZ2Ugb2YgCisjIHdvcmtpbmcgZXZlbiB3aGVuIGludGVyZmFjZXMgY29tZSBhbmQgZ28gYW5kIGNoYW5nZSBhZGRyZXNzLiBJZiB5b3UKKyMgd2FudCBkbnNtYXNxIHRvIHJlYWxseSBiaW5kIG9ubHkgdGhlIGludGVyZmFjZXMgaXQgaXMgbGlzdGVuaW5nIG9uLAorIyB1bmNvbW1lbnQgdGhpcyBvcHRpb24uIEFib3V0IHRoZSBvbmx5IHRpbWUgeW91IG1heSBuZWVkIHRoaXMgaXMgd2hlbiAKKyMgcnVubmluZyBhbm90aGVyIG5hbWVzZXJ2ZXIgb24gdGhlIHNhbWUgbWFjaGluZS4KKyNiaW5kLWludGVyZmFjZXMgCisKKyMgSWYgeW91IGRvbid0IHdhbnQgZG5zbWFzcSB0byByZWFkIC9ldGMvaG9zdHMsIHVuY29tbWVudCB0aGUKKyMgZm9sbG93aW5nIGxpbmUuCisjbm8taG9zdHMKKyMgb3IgaWYgeW91IHdhbnQgaXQgdG8gcmVhZCBhbm90aGVyIGZpbGUsIGFzIHdlbGwgYXMgL2V0Yy9ob3N0cywgdXNlCisjIHRoaXMuCisjYWRkbi1ob3N0cz0vZXRjL2Jhbm5lcl9hZGRfaG9zdHMKKworIyBTZXQgdGhpcyAoYW5kIGRvbWFpbjogc2VlIGJlbG93KSBpZiB5b3Ugd2FudCB0byBoYXZlIGEgZG9tYWluCisjIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gc2ltcGxlIG5hbWVzIGluIGEgaG9zdHMtZmlsZS4KKyNleHBhbmQtaG9zdHMKKworIyBTZXQgdGhlIGRvbWFpbiBmb3IgZG5zbWFzcS4gdGhpcyBpcyBvcHRpb25hbCwgYnV0IGlmIGl0IGlzIHNldCwgaXQKKyMgZG9lcyB0aGUgZm9sbG93aW5nIHRoaW5ncy4KKyMgMSkgQWxsb3dzIERIQ1AgaG9zdHMgdG8gaGF2ZSBmdWxseSBxdWFsaWZpZWQgZG9tYWluIG5hbWVzLCBhcyBsb25nCisjICAgICBhcyB0aGUgZG9tYWluIHBhcnQgbWF0Y2hlcyB0aGlzIHNldHRpbmcuCisjIDIpIFNldHMgdGhlICJkb21haW4iIERIQ1Agb3B0aW9uIHRoZXJlYnkgcG90ZW50aWFsbHkgc2V0dGluZyB0aGUKKyMgICAgZG9tYWluIG9mIGFsbCBzeXN0ZW1zIGNvbmZpZ3VyZWQgYnkgREhDUAorIyAzKSBQcm92aWRlcyB0aGUgZG9tYWluIHBhcnQgZm9yICJleHBhbmQtaG9zdHMiCisjZG9tYWluPXRoZWtlbGxleXMub3JnLnVrCisgIAorIyBVbmNvbW1lbnQgdGhpcyB0byBlbmFibGUgdGhlIGludGVncmF0ZWQgREhDUCBzZXJ2ZXIsIHlvdSBuZWVkCisjIHRvIHN1cHBseSB0aGUgcmFuZ2Ugb2YgYWRkcmVzc2VzIGF2YWlsYWJsZSBmb3IgbGVhc2UgYW5kIG9wdGlvbmFsbHkgCisjIGEgbGVhc2UgdGltZS4gSWYgeW91IGhhdmUgbW9yZSB0aGFuIG9uZSBuZXR3b3JrLCB5b3Ugd2lsbCBuZWVkIHRvCisjIHJlcGVhdCB0aGlzIGZvciBlYWNoIG5ldHdvcmsgb24gd2hpY2ggeW91IHdhbnQgdG8gc3VwcGx5IERIQ1AKKyMgc2VydmljZS4KKyNkaGNwLXJhbmdlPTE5Mi4xNjguMC41MCwxOTIuMTY4LjAuMTUwLDEyaAorI2RoY3AtcmFuZ2U9MTAuMC4wLjEwLDEwLjAuMC4yMDAsMmgKKworIyBUaGlzIGlzIGFuIGV4YW1wbGUgb2YgYSBESENQIHJhbmdlIHdoZXJlIHRoZSBuZXRtYXNrIGlzIGdpdmVuLiBUaGlzCisjIGlzIG5lZWRlZCBmb3IgbmV0d29ya3Mgd2UgcmVhY2ggdGhlIGRuc21hc3EgREhDUCBzZXJ2ZXIgdmlhIGEgcmVsYXkgCisjIGFnZW50LiBJZiB5b3UgZG9uJ3Qga25vdyB3aGF0IGEgREhDUCByZWxheSBhZ2VudCBpcywgeW91IHByb2JhYmx5CisjIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgdGhpcy4KKyNkaGNwLXJhbmdlPTE5Mi4xNjguMC41MCwxOTIuMTY4LjAuMTUwLDI1NS4yNTUuMjU1LjAsMTJoCisKKyMgVGhpcyBpcyBhbiBleGFtcGxlIG9mIGEgREhDUCByYW5nZSB3aXRoIGEgbmV0d29yay1pZCwgc28gdGhhdAorIyBzb21lIERIQ1Agb3B0aW9ucyBtYXkgYmUgc2V0IG9ubHkgZm9yIHRoaXMgbmV0d29yay4KKyNkaGNwLXJhbmdlPXJlZCwxOTIuMTY4LjAuNTAsMTkyLjE2OC4wLjE1MAorCisjIFN1cHBseSBwYXJhbWV0ZXJzIGZvciBzcGVjaWZpZWQgaG9zdHMgdXNpbmcgREhDUC4gVGhlcmUgYXJlIGxvdHMKKyMgb2YgdmFsaWQgYWx0ZXJuYXRpdmVzLCBzbyB3ZSB3aWxsIGdpdmUgZXhhbXBsZXMgb2YgZWFjaC4gTm90ZSB0aGF0CisjIElQIGFkZHJlc3NlcyBETyBOT1QgaGF2ZSB0byBiZSBpbiB0aGUgcmFuZ2UgZ2l2ZW4gYWJvdmUsIHRoZXkganVzdAorIyBuZWVkIHRvIGJlIG9uIHRoZSBzYW1lIG5ldHdvcmsuIFRoZSBvcmRlciBvZiB0aGUgcGFyYW1ldGVycyBpbiB0aGVzZQorIyBkbyBub3QgbWF0dGVyLCBpdCdzIHBlcm1pc3NibGUgdG8gZ2l2ZSBuYW1lLGFkZGRyZXNzIGFuZCBNQUMgaW4gYW55IG9yZGVyCisKKyMgQWx3YXlzIGFsbG9jYXRlIHRoZSBob3N0IHdpdGggZXRoZXJuZXQgYWRkcmVzcyAxMToyMjozMzo0NDo1NTo2NiAKKyMgVGhlIElQIGFkZHJlc3MgMTkyLjE2OC4wLjYwCisjZGhjcC1ob3N0PTExOjIyOjMzOjQ0OjU1OjY2LDE5Mi4xNjguMC42MAorCisjIEFsd2F5cyBzZXQgdGhlIG5hbWUgb2YgdGhlIGhvc3Qgd2l0aCBoYXJkd2FyZSBhZGRyZXNzCisjIDExOjIyOjMzOjQ0OjU1OjY2IHRvIGJlICJmcmVkIgorI2RoY3AtaG9zdD0xMToyMjozMzo0NDo1NTo2NixmcmVkCisKKyMgQWx3YXlzIGdpdmUgdGhlIGhvc3Qgd2l0aCBldGhlcm5ldCBhZGRyZXNzIDExOjIyOjMzOjQ0OjU1OjY2CisjIHRoZSBuYW1lIGZyZWQgYW5kIElQIGFkZHJlc3MgMTkyLjE2OC4wLjYwIGFuZCBsZWFzZSB0aW1lIDQ1IG1pbnV0ZXMKKyNkaGNwLWhvc3Q9MTE6MjI6MzM6NDQ6NTU6NjYsZnJlZCwxOTIuMTY4LjAuNjAsNDVtCisKKyMgR2l2ZSB0aGUgbWFjaGluZSB3aGljaCBzYXlzIGl0J3MgbmFtZSBpcyAiYmVydCIgSVAgYWRkcmVzcworIyAxOTIuMTY4LjAuNzAgYW5kIGFuIGluZmluaXRlIGxlYXNlCisjZGhjcC1ob3N0PWJlcnQsMTkyLjE2OC4wLjcwLGluZmluaXRlCisKKyMgQWx3YXlzIGdpdmUgdGhlIGhvc3Qgd2l0aCBjbGllbnQgaWRlbnRpZmllciAwMTowMjowMjowNCAKKyMgdGhlIElQIGFkZHJlc3MgMTkyLjE2OC4wLjYwCisjZGhjcC1ob3N0PWlkOjAxOjAyOjAyOjA0LDE5Mi4xNjguMC42MAorCisjIEFsd2F5cyBnaXZlIHRoZSBob3N0IHdpdGggY2xpZW50IGlkZW50aWZpZXIgIm1hcmpvcmllIgorIyB0aGUgSVAgYWRkcmVzcyAxOTIuMTY4LjAuNjAKKyNkaGNwLWhvc3Q9aWQ6bWFyam9yaWUsMTkyLjE2OC4wLjYwCisKKyMgRW5hYmxlIHRoZSBhZGRyZXNzIGdpdmVuIGZvciAianVkZ2UiIGluIC9ldGMvaG9zdHMKKyMgdG8gYmUgZ2l2ZW4gdG8gYSBtYWNoaW5lIHByZXNlbnRpbmcgdGhlIG5hbWUgImp1ZGdlIiB3aGVuCisjIGl0IGFza3MgZm9yIGEgREhDUCBsZWFzZS4KKyNkaGNwLWhvc3Q9anVkZ2UKKworIyBOZXZlciBvZmZlciBESENQIHNlcnZpY2UgdG8gYSBtYWNoaW5lIHdob3NlIGV0aGVybmV0IAorIyBhZGRyZXNzIGlzIDExOjIyOjMzOjQ0OjU1OjY2CisjZGhjcC1ob3N0PTExOjIyOjMzOjQ0OjU1OjY2LGlnbm9yZQorCisjIElnbm9yZSBhbnkgY2xpZW50LWlkIHByZXNlbnRlZCBieSB0aGUgbWFjaGluZSB3aXRoIGV0aGVybmV0CisjIGFkZHJlc3MgMTE6MjI6MzM6NDQ6NTU6NjYuIFRoaXMgaXMgdXNlZnVsIHRvIHByZXZlbnQgYSBtYWNoaW5lIAorIyBiZWluZyB0cmVhdGVkIGRpZmZlcmVudGx5IHdoZW4gcnVubmluZyB1bmRlciBkaWZmZXJlbnQgT1MncyBvcgorIyBiZXR3ZWVuIFBYRSBib290IGFuZCBPUyBib290LgorI2RoY3AtaG9zdD0xMToyMjozMzo0NDo1NTo2NixpZDoqCisKKyMgU2VuZCBleHRyYSBvcHRpb25zIHdoaWNoIGFyZSB0YWdnZWQgYXMgInJlZCIgdG8gCisjIHRoZSBtYWNoaW5lIHdpdGggZXRoZXJuZXQgYWRkcmVzcyAxMToyMjozMzo0NDo1NTo2NgorI2RoY3AtaG9zdD0xMToyMjozMzo0NDo1NTo2NixuZXQ6cmVkCisKKyMgU2VuZCBleHRyYSBvcHRpb25zIHdoaWNoIGFyZSB0YWdnZWQgYXMgInJlZCIgdG8gYW55IG1hY2hpbmUgd2hvc2UKKyMgREhDUCB2ZW5kb3JjbGFzcyBzdHJpbmcgaW5jbHVkZXMgdGhlIHN1YnN0cmluZyAiTGludXgiCisjZGhjcC12ZW5kb3JjbGFzcz1yZWQsTGludXgKKworIyBTZW5kIGV4dHJhIG9wdGlvbnMgd2hpY2ggYXJlIHRhZ2dlZCBhcyAicmVkIiB0byBhbnkgbWFjaGluZSBvbmUgCisjIG9mIHdob3NlIERIQ1AgdXNlcmNsYXNzIHN0cmluZ3MgaW5jbHVkZXMgdGhlIHN1YnN0cmluZyAiYWNjb3VudHMiCisjZGhjcC11c2VyY2xhc3M9cmVkLGFjY291bnRzCisKKyMgSWYgdGhpcyBsaW5lIGlzIHVuY29tbWVudGVkLCBkbnNtYXNxIHdpbGwgcmVhZCAvZXRjL2V0aGVycyBhbmQgYWN0CisjIG9uIHRoZSBldGhlcm5ldC1hZGRyZXNzL0lQIHBhaXJzIGZvdW5kIHRoZXJlIGp1c3QgYXMgaWYgdGhleSBoYWQKKyMgYmVlbiBnaXZlbiBhcyAtLWRoY3AtaG9zdCBvcHRpb25zLiBVc2VmdWwgaWYgeW91IGtlZXAKKyMgTUFDLWFkZHJlc3MvaG9zdCBtYXBwaW5ncyB0aGVyZSBmb3Igb3RoZXIgcHVycG9zZXMuCisjcmVhZC1ldGhlcnMKKworIyBTZW5kIG9wdGlvbnMgdG8gaG9zdHMgd2hpY2ggYXNrIGZvciBhIERIQ1AgbGVhc2UuCisjIFNlZSBSRkMgMjEzMiBmb3IgZGV0YWlscyBvZiBhdmFpbGFibGUgb3B0aW9ucy4KKyMgTm90ZSB0aGF0IGFsbCB0aGUgY29tbW9uIHNldHRpbmdzLCBzdWNoIGFzIG5ldG1hc2sgYW5kCisjIGJyb2FkY2FzdCBhZGRyZXNzLCBETlMgc2VydmVyIGFuZCBkZWZhdWx0IHJvdXRlLCBhcmUgZ2l2ZW4KKyMgc2FuZSBkZWZhdWx0cyBieSBkbnNtYXNxLiBZb3UgdmVyeSBsaWtlbHkgd2lsbCBub3QgbmVlZCBhbnkKKyMgYW55IGRoY3Atb3B0aW9ucy4gSWYgeW91IHVzZSBXaW5kb3dzIGNsaWVudHMgYW5kIFNhbWJhLCB0aGVyZQorIyBhcmUgc29tZSBvcHRpb25zIHdoaWNoIGFyZSByZWNvbW1lbmRlZCwgdGhleSBhcmUgZGV0YWlsZWQgYXQgdGhlCisjIGVuZCBvZiB0aGlzIHNlY3Rpb24uCisjIEZvciByZWZlcmVuY2UsIHRoZSBjb21tb24gb3B0aW9ucyBhcmU6CisjIHN1Ym5ldCBtYXNrIC0gMQorIyBkZWZhdWx0IHJvdXRlciAtIDMKKyMgRE5TIHNlcnZlciAtIDYKKyMgYnJvYWRjYXN0IGFkZHJlc3MgLSAyOAorCisjIFNldCB0aGUgTlRQIHRpbWUgc2VydmVyIGFkZHJlc3NlcyB0byAxOTIuMTY4LjAuNCBhbmQgMTAuMTAuMC41CisjZGhjcC1vcHRpb249NDIsMTkyLjE2OC4wLjQsMTAuMTAuMC41CisKKyMgU2V0IHRoZSBOVFAgdGltZSBzZXJ2ZXIgYWRkcmVzcyB0byBiZSB0aGUgc2FtZSBtYWNoaW5lIGFzIAorIyBpcyBydW5uaW5nIGRuc21hc3EKKyNkaGNwLW9wdGlvbj00MiwwLjAuMC4wCisKKyMgU2V0IHRoZSBOSVMgZG9tYWluIG5hbWUgdG8gIndlbGx5IgorI2RoY3Atb3B0aW9uPTQwLHdlbGx5CisKKyMgU2V0IHRoZSBkZWZhdWx0IHRpbWUtdG8tbGl2ZSB0byA1MAorI2RoY3Atb3B0aW9uPTIzLDUwCisKKyMgU2V0IHRoZSAiYWxsIHN1Ym5ldHMgYXJlIGxvY2FsIiBmbGFnCisjZGhjcC1vcHRpb249MjcsMQorCisjIFNlbmQgdGhlIGV0aGVyYm9vdCBtYWdpYyBmbGFnIGFuZCB0aGVuIGV0aGVyYm9vdCBvcHRpb25zIChhIHN0cmluZykuCisjZGhjcC1vcHRpb249MTI4LGU0OjQ1Ojc0OjY4OjAwOjAwCisjZGhjcC1vcHRpb249MTI5LE5JQz1lZXBybzEwMAorCisjIFNwZWNpZnkgYW4gb3B0aW9uIHdoaWNoIHdpbGwgb25seSBiZSBzZW50IHRvIHRoZSAicmVkIiBuZXR3b3JrIAorIyAoc2VlIGRoY3AtcmFuZ2UgZm9yIHRoZSBkZWNsYXJhdGlvbiBvZiB0aGUgInJlZCIgbmV0d29yaykKKyNkaGNwLW9wdGlvbj1yZWQsNDIsMTkyLjE2OC4xLjEKKworIyBUaGUgZm9sbG93aW5nIERIQ1Agb3B0aW9ucyBzZXQgdXAgZG5zbWFzcSBpbiB0aGUgc2FtZSB3YXkgYXMgaXMgc3BlY2lmaWVkCisjIGZvciB0aGUgSVNDIGRoY3BjZCBpbiAKKyMgaHR0cDovL3d3dy5zYW1iYS5vcmcvc2FtYmEvZnRwL2RvY3MvdGV4dGRvY3MvREhDUC1TZXJ2ZXItQ29uZmlndXJhdGlvbi50eHQKKyMgYWRhcHRlZCBmb3IgYSB0eXBpY2FsIGRuc21hc3EgaW5zdGFsbGF0aW9uIHdoZXJlIHRoZSBob3N0IHJ1bm5pbmcKKyMgZG5zbWFzcSBpcyBhbHNvIHRoZSBob3N0IHJ1bm5pbmcgc2FtYmEuCisjIHlvdSBtYXkgd2FudCB0byB1bmNvbW1lbnQgdGhlbSBpZiB5b3UgdXNlIFdpbmRvd3MgY2xpZW50cyBhbmQgU2FtYmEuCisjZGhjcC1vcHRpb249MTksMCAgICAgICAgICAgIyBvcHRpb24gaXAtZm9yd2FyZGluZyBvZmYgCisjZGhjcC1vcHRpb249NDQsMC4wLjAuMCAgICAgIyBzZXQgbmV0Ymlvcy1vdmVyLVRDUC9JUCBuYW1lc2VydmVyKHMpIGFrYSBXSU5TIHNlcnZlcihzKQorI2RoY3Atb3B0aW9uPTQ1LDAuMC4wLjAgICAgICMgbmV0YmlvcyBkYXRhZ3JhbSBkaXN0cmlidXRpb24gc2VydmVyCisjZGhjcC1vcHRpb249NDYsOCAgICAgICAgICAgIyBuZXRiaW9zIG5vZGUgdHlwZQorI2RoY3Atb3B0aW9uPTQ3ICAgICAgICAgICAgICMgZW1wdHkgbmV0YmlvcyBzY29wZS4KKyAKKworIyBTZXQgdGhlIGJvb3QgZmlsZW5hbWUgYW5kIHRmdHBkIHNlcnZlciBuYW1lIGFuZCBhZGRyZXNzCisjIGZvciBCT09UUC4gWW91IHdpbGwgb25seSBuZWVkIHRoaXMgaXMgeW91IHdhbnQgdG8KKyMgYm9vdCBtYWNoaW5lcyBvdmVyIHRoZSBuZXR3b3JrLgorI2RoY3AtYm9vdD0vdmFyL2Z0cGQvcHhlbGludXguMCxib290aG9zdCwxOTIuMTY4LjAuMworCisjIFNldCB0aGUgbGltaXQgb24gREhDUCBsZWFzZXMsIHRoZSBkZWZhdWx0IGlzIDE1MAorI2RoY3AtbGVhc2UtbWF4PTE1MAorCisjIFRoZSBESENQIHNlcnZlciBuZWVkcyBzb21ld2hlcmUgb24gZGlzayB0byBrZWVwIGl0cyBsZWFzZSBkYXRhYmFzZS4KKyMgVGhpcyBkZWZhdWx0cyB0byBhIHNhbmUgbG9jYXRpb24sIGJ1dCBpZiB5b3Ugd2FudCB0byBjaGFuZ2UgaXQsIHVzZQorIyB0aGUgbGluZSBiZWxvdy4KKyNkaGNwLWxlYXNlZmlsZT0vdmFyL2xpYi9taXNjL2Ruc21hc3EubGVhc2VzCisKKyMgU2V0IHRoZSBjYWNoZXNpemUgaGVyZS4KKyNjYWNoZS1zaXplPTE1MAorCisjIElmIHlvdSB3YW50IHRvIGRpc2FibGUgbmVnYXRpdmUgY2FjaGluZywgdW5jb21tZW50IHRoaXMuCisjbm8tbmVnY2FjaGUKKworIyBOb3JtYWxseSByZXNwb25zZXMgd2hpY2ggY29tZSBmb3JtIC9ldGMvaG9zdHMgYW5kIHRoZSBESENQIGxlYXNlCisjIGZpbGUgaGF2ZSBUaW1lLVRvLUxpdmUgc2V0IGFzIHplcm8sIHdoaWNoIGNvbnZlbnRpb25hbGx5IG1lYW5zCisjIGRvIG5vdCBjYWNoZSBmdXJ0aGVyLiBJZiB5b3UgYXJlIGhhcHB5IHRvIHRyYWRlIGxvd2VyIGxvYWQgb24gdGhlIAorIyBzZXJ2ZXIgZm9yIHBvdGVudGlhbGx5IHN0YWxlIGRhdGUsIHlvdSBjYW4gc2V0IGEgdGltZS10by1saXZlIChpbiAKKyMgc2Vjb25kcykgaGVyZS4KKyNsb2NhbC10dGw9CisKKyMgSWYgeW91IHdhbnQgZG5zbWFzcSB0byBkZXRlY3QgYXR0ZW1wdHMgYnkgVmVyaXNpZ24gdG8gc2VuZCBxdWVyaWVzCisjIHRvIHVucmVnaXN0ZXJlZCAuY29tIGFuZCAubmV0IGhvc3RzIHRvIGl0cyBzaXRlZmluZGVyIHNlcnZpY2UgYW5kCisjIGhhdmUgZG5zbWFzcSBpbnN0ZWFkIHJldHVybiB0aGUgY29ycmVjdCBOWERPTUFJTiByZXNwb25zZSwgdW5jb21tZW50CisjIHRoaXMgbGluZS4gWW91IGNhbiBhZGQgc2ltaWxhciBsaW5lcyB0byBkbyB0aGUgc2FtZSBmb3Igb3RoZXIKKyMgcmVnaXN0cmllcyB3aGljaCBoYXZlIGltcGxlbWVudGVkIHdpbGRjYXJkIEEgcmVjb3Jkcy4KKyNib2d1cy1ueGRvbWFpbj02NC45NC4xMTAuMTEKKworIyBJZiB5b3Ugd2FudCB0byBmaXggdXAgRE5TIHJlc3VsdHMgZnJvbSB1cHN0cmVhbSBzZXJ2ZXJzLCB1c2UgdGhlCisjIGFsaWFzIG9wdGlvbi4gVGhpcyBvbmx5IHdvcmtzIGZvciBJUHY0LgorIyBUaGlzIGFsaWFzIG1ha2VzIGEgcmVzdWx0IG9mIDEuMi4zLjQgYXBwZWFyIGFzIDUuNi43LjgKKyNhbGlhcz0xLjIuMy40LDUuNi43LjgKKyMgYW5kIHRoaXMgbWFwcyAxLjIuMy54IHRvIDUuNi43LngKKyNhbGlhcz0xLjIuMy4wLDUuNi43LjAsMjU1LjI1NS4yNTUuMAorCisjIEZvciBkZWJ1Z2dpbmcgcHVycG9zZXMsIGxvZyBlYWNoIEROUyBxdWVyeSBhcyBpdCBwYXNzZXMgdGhyb3VnaAorIyBkbnNtYXNxLgorI2xvZy1xdWVyaWVzCisKKyMgSW5jbHVkZSBhIGFub3RoZXIgbG90IG9mIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4KKyNjb25mLWZpbGU9L2V0Yy9kbnNtYXNxLm1vcmUuY29uZgorIAorIAorCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS5yZXNvbHZjb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS5yZXNvbHZjb25mCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA2Y2QyNWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLnJlc29sdmNvbmYKQEAgLTAsMCArMSw4NCBAQAorIyEvYmluL3NoCisjCisjIFNjcmlwdCB0byB1cGRhdGUgdGhlIHJlc29sdmVyIGxpc3QgZm9yIGRuc21hc3EKKyMKKyMgTi5CLiBSZXNvbHZjb25mIG1heSBydW4gdXMgZXZlbiBpZiBkbnNtYXNxIGlzIG5vdCAoeWV0KSBydW5uaW5nLgorIyBJZiBkbnNtYXNxIGlzIGluc3RhbGxlZCB0aGVuIHdlIGdvIGFoZWFkIGFuZCB1cGRhdGUgdGhlIHJlc29sdmVyIGxpc3QKKyMgaW4gY2FzZSBkbnNtYXNxIGlzIHN0YXJ0ZWQgbGF0ZXIuCisjCisjIEFzc3VtcHRpb246IE9uIGVudHJ5LCBQV0QgY29udGFpbnMgdGhlIHJlc29sdi5jb25mLXR5cGUgZmlsZXMuCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBkbnNtYXNxIHBhY2thZ2UuCisjCisKK3NldCAtZQorCitSVU5fRElSPSIvcnVuL2Ruc21hc3EiCitSU0xWUkxJU1RfRklMRT0iJHtSVU5fRElSfS9yZXNvbHYuY29uZiIKK1RNUF9GSUxFPSIke1JTTFZSTElTVF9GSUxFfV9uZXcuJCQiCitNWV9OQU1FX0ZPUl9SRVNPTFZDT05GPSJkbnNtYXNxIgorCitbIC14IC91c3IvYmluL2Ruc21hc3EgXSB8fCBleGl0IDAKK1sgLXggL2xpYi9yZXNvbHZjb25mL2xpc3QtcmVjb3JkcyBdIHx8IGV4aXQgMQorCitQQVRIPS9iaW46L3NiaW4KKworcmVwb3J0X2VycigpIHsgZWNobyAiJDA6IEVycm9yOiAkKiIgPiYyIDsgfQorCisjIFN0b3JlcyBhcmd1bWVudHMgKG1pbnVzIGR1cGxpY2F0ZXMpIGluIFJTTFQsIHNlcGFyYXRlZCBieSBzcGFjZXMKKyMgRG9lc24ndCB3b3JrIHByb3Blcmx5IGlmIGFuIGFyZ3VtZW50IGl0c2VsZiBjb250YWlucyB3aGl0ZXNwYWNlCit1bmlxdWlmeSgpCit7CisJUlNMVD0iIgorCXdoaWxlIFsgIiQxIiBdIDsgZG8KKwkJZm9yIEUgaW4gJFJTTFQgOyBkbworCQkJWyAiJDEiID0gIiRFIiBdICYmIHsgc2hpZnQgOyBjb250aW51ZSAyIDsgfQorCQlkb25lCisJCVJTTFQ9IiR7UlNMVDorJFJTTFQgfSQxIgorCQlzaGlmdAorCWRvbmUKK30KKworaWYgWyAhIC1kICIkUlVOX0RJUiIgXSAmJiAhIG1rZGlyIC0tcGFyZW50cyAtLW1vZGU9MDc1NSAiJFJVTl9ESVIiIDsgdGhlbgorCXJlcG9ydF9lcnIgIkZhaWxlZCB0cnlpbmcgdG8gY3JlYXRlIGRpcmVjdG9yeSAkUlVOX0RJUiIKKwlleGl0IDEKK2ZpCisKK1JTTFZDTkZGSUxFUz0iIgorZm9yIEYgaW4gJCgvbGliL3Jlc29sdmNvbmYvbGlzdC1yZWNvcmRzIC0tYWZ0ZXIgImxvLiRNWV9OQU1FX0ZPUl9SRVNPTFZDT05GIikgOyBkbworCWNhc2UgIiRGIiBpbgorCSAgICAibG8uJE1ZX05BTUVfRk9SX1JFU09MVkNPTkYiKQorCQkjIE9taXQgb3duIHJlY29yZAorCQk7OworCSAgICBsby4qKQorCQkjIEluY2x1ZGUgbm8gbW9yZSByZWNvcmRzIGFmdGVyIG9uZSBmb3IgYSBsb2NhbCBuYW1lc2VydmVyCisJCVJTTFZDTkZGSUxFUz0iJHtSU0xWQ05GRklMRVM6KyRSU0xWQ05GRklMRVMgfSRGIgorCQlicmVhaworCQk7OworCSAgKikKKwkJUlNMVkNORkZJTEVTPSIke1JTTFZDTkZGSUxFUzorJFJTTFZDTkZGSUxFUyB9JEYiCisJCTs7CisJZXNhYworZG9uZQorCitOTVNSVlJTPSIiCitpZiBbICIkUlNMVkNORkZJTEVTIiBdIDsgdGhlbgorCXVuaXF1aWZ5ICQoc2VkIC1uIC1lICdzL15bWzpzcGFjZTpdXSpuYW1lc2VydmVyW1s6c3BhY2U6XV1cKy8vcCcgJFJTTFZDTkZGSUxFUykKKwlOTVNSVlJTPSIkUlNMVCIKK2ZpCisKKyMgRG5zbWFzcSB1c2VzIHRoZSBtdGltZSBvZiAkUlNMVlJMSVNUX0ZJTEUsIHdpdGggYSByZXNvbHV0aW9uIG9mIG9uZSBzZWNvbmQsCisjIHRvIGRldGVjdCBjaGFuZ2VzIGluIHRoZSBmaWxlLiBUaGlzIG1lYW5zIHRoYXQgaWYgYSByZXNvbHZjb25mIHVwZGF0ZSBvY2N1cnMKKyMgd2l0aGluIG9uZSBzZWNvbmQgb2YgdGhlIHByZXZpb3VzIG9uZSB0aGVuIGRuc21hc3EgbWF5IGZhaWwgdG8gbm90aWNlIHRoZQorIyBtb3JlIHJlY2VudCBjaGFuZ2UuIFRvIHdvcmsgYXJvdW5kIHRoaXMgcHJvYmxlbSB3ZSBzbGVlcCBvbmUgc2Vjb25kIGhlcmUKKyMgaWYgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBuZXcgbXRpbWUgaXMgZGlmZmVyZW50LgoraWYgWyAtZiAiJFJTTFZSTElTVF9GSUxFIiBdICYmIFsgIiQoc3RhdCAtYyAlWCAiJFJTTFZSTElTVF9GSUxFIikiID0gIiQoZGF0ZSArJXMpIiBdIDsgdGhlbgorCXNsZWVwIDEKK2ZpCisKK2NsZWFuX3VwKCkgeyBybSAtZiAiJFRNUF9GSUxFIiA7IH0KK3RyYXAgY2xlYW5fdXAgRVhJVAorOiA+fCAiJFRNUF9GSUxFIgorZm9yIE4gaW4gJE5NU1JWUlMgOyBkbyBlY2hvICJuYW1lc2VydmVyICROIiA+PiAiJFRNUF9GSUxFIiA7IGRvbmUKK212IC1mICIkVE1QX0ZJTEUiICIkUlNMVlJMSVNUX0ZJTEUiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2ZpbGVzL2luaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxYzk1ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9pbml0CkBAIC0wLDAgKzEsMTE3IEBACisjIS9iaW4vc2gKK0RBRU1PTj0vdXNyL2Jpbi9kbnNtYXNxCitOQU1FPWRuc21hc3EKK0RFU0M9IkROUyBmb3J3YXJkZXIgYW5kIERIQ1Agc2VydmVyIgorQVJHUz0iLTcgL2V0Yy9kbnNtYXNxLmQiCisKK3Rlc3QgLWYgJERBRU1PTiB8fCBleGl0IDAKKworc2V0IC1lCisKK2lmIFsgLXIgL2V0Yy9kZWZhdWx0LyROQU1FIF0KK3RoZW4KKwkuIC9ldGMvZGVmYXVsdC8kTkFNRQorZmkKKworRE5TTUFTUV9DT05GPSIvZXRjL2Ruc21hc3EuY29uZiIKK3Rlc3QgIi9ldGMvZG5zbWFzcS5kLyoiICE9ICcvZXRjL2Ruc21hc3EuZC8qJyAmJiBETlNNQVNRX0NPTkY9IiR7RE5TTUFTUV9DT05GfSAvZXRjL2Ruc21hc3EuZC8qIgorCit0ZXN0IC16ICIke1BJREZJTEV9IiAmJiBQSUZJTEU9Ii9ydW4vZG5zbWFzcS5waWQiCisKK2lmIFsgLXogIiRJR05PUkVfUkVTT0xWQ09ORiIgXQordGhlbgorCWVncmVwIC1oIC1xICdebm8tcmVzb2x2JyAke0ROU01BU1FfQ09ORn0gJiYgSUdOT1JFX1JFU09MVkNPTkY9InllcyIKK2ZpCisKKyMgUkVTT0xWX0NPTkY6CisjIElmIHRoZSByZXNvbHZjb25mIHBhY2thZ2UgaXMgaW5zdGFsbGVkIHRoZW4gdXNlIHRoZSByZXNvbHYgY29uZiBmaWxlCisjIHRoYXQgaXQgcHJvdmlkZXMgYXMgdGhlIGRlZmF1bHQuICBPdGhlcndpc2UgdXNlIC9ldGMvcmVzb2x2LmNvbmYgYXMKKyMgdGhlIGRlZmF1bHQuCisjCisjIElmIElHTk9SRV9SRVNPTFZDT05GIGlzIHNldCBpbiAvZXRjL2RlZmF1bHQvZG5zbWFzcSBvciBhbiBleHBsaWNpdAorIyBmaWxlbmFtZSBpcyBzZXQgdGhlcmUgdGhlbiB0aGlzIGluaGliaXRzIHRoZSB1c2Ugb2YgdGhlIHJlc29sdmNvbmYtcHJvdmlkZWQKKyMgaW5mb3JtYXRpb24uCisjCisjIE5vdGUgdGhhdCBpZiB0aGUgcmVzb2x2Y29uZiBwYWNrYWdlIGlzIGluc3RhbGxlZCBpdCBpcyBub3QgcG9zc2libGUgdG8KKyMgb3ZlcnJpZGUgaXQganVzdCBieSBjb25maWd1cmF0aW9uIGluIC9ldGMvZG5zbWFzcS5jb25mLCBpdCBpcyBuZWNlc3NhcnkKKyMgdG8gc2V0IElHTk9SRV9SRVNPTFZDT05GPXllcyBpbiAvZXRjL2RlZmF1bHQvZG5zbWFzcS4KKwordGVzdCAteiAiJFJFU09MVl9DT05GIiAtYSAiJElHTk9SRV9SRVNPTFZDT05GIiAhPSAieWVzIiAtYSAteCAvc2Jpbi9yZXNvbHZjb25mICYmIFwKKwlSRVNPTFZfQ09ORj0vcnVuL2Ruc21hc3EvcmVzb2x2LmNvbmYKKworc3RhcnRfcmVzb2x2Y29uZigpCit7CisgICAgICAgIGlmIFsgIiRJR05PUkVfUkVTT0xWQ09ORiIgIT0gInllcyIgLWEgLXggL3NiaW4vcmVzb2x2Y29uZiBdCisJdGhlbgorCQllY2hvICJuYW1lc2VydmVyIDEyNy4wLjAuMSIgfCAvc2Jpbi9yZXNvbHZjb25mIC1hIGxvLiROQU1FCisJZmkKKwk6Cit9CisKK3N0b3BfcmVzb2x2Y29uZigpCit7CisJaWYgWyAiJElHTk9SRV9SRVNPTFZDT05GIiAhPSAieWVzIiAtYSAteCAvc2Jpbi9yZXNvbHZjb25mIF0KKwl0aGVuCisJCS9zYmluL3Jlc29sdmNvbmYgLWQgbG8uJE5BTUUKKwlmaQorCToKK30KKworY2FzZSAiJDEiIGluCisgICAgc3RhcnQpCisgICAgICAgIGVjaG8gLW4gInN0YXJ0aW5nICRERVNDOiAkTkFNRS4uLiAiCisJdGVzdCAtZCAvdmFyL2xpYi9taXNjLyB8fCBta2RpciAvdmFyL2xpYi9taXNjLworCXN0YXJ0LXN0b3AtZGFlbW9uIC1TIC14ICREQUVNT04gLS0gJEFSR1MgXAorCQkke1JFU09MVl9DT05GOisgLXIgJFJFU09MVl9DT05GfSBcCisJCSR7UElERklMRTorIC14ICRQSURGSUxFfQorCXRlc3QgJD8gLWVxIDAgJiYgc3RhcnRfcmVzb2x2Y29uZgorCWVjaG8gImRvbmUuIgorCTs7CisgICAgc3RvcCkKKyAgICAgICAgZWNobyAtbiAic3RvcHBpbmcgJERFU0M6ICROQU1FLi4uICIKKwlzdG9wX3Jlc29sdmNvbmYKKwlzdGFydC1zdG9wLWRhZW1vbiAtSyAteCAkREFFTU9OCisJZWNobyAiZG9uZS4iCisJOzsKKyAgICBzdGF0dXMpCisJZWNobyAtbiAiZG5zbWFzcSAiCisJc3RhcnQtc3RvcC1kYWVtb24gLXEgLUsgLXQgLXggJERBRU1PTgorCVJFVD0kPworCWlmIFsgIiRSRVQiID0gIjAiIF07IHRoZW4KKwkJUElEPWBjYXQgJHtQSURGSUxFfWAKKwkJZWNobyAiKCRQSUQpIGlzIHJ1bm5pbmciCisJZWxzZQorCQllY2hvICJpcyBub3QgcnVubmluZyIKKwkJZXhpdCAkUkVUCisJZmkKKwk7OworICAgIHJlc3RhcnQpCisgICAgICAgIGVjaG8gInJlc3RhcnRpbmcgJERFU0M6ICROQU1FLi4uICIKKyAJJDAgc3RvcAorCSQwIHN0YXJ0CisJZWNobyAiZG9uZS4iCisJOzsKKyAgICByZWxvYWQpCisgICAgCWVjaG8gLW4gInJlbG9hZGluZyAkREVTQzogJE5BTUUuLi4gIgorICAgIAlraWxsYWxsIC1IVVAgJChiYXNlbmFtZSAke0RBRU1PTn0pCisJZWNobyAiZG9uZS4iCisJOzsKKyAgICBzeXN0ZW1kLXN0YXJ0LXJlc29sdmNvbmYpCisJc3RhcnRfcmVzb2x2Y29uZgorCTs7CisgICAgc3lzdGVtZC1zdG9wLXJlc29sdmNvbmYpCisJc3RvcF9yZXNvbHZjb25mCisJOzsKKyAgICBzeXN0ZW1kLWV4ZWMpCisJdGVzdCAtZCAvdmFyL2xpYi9taXNjLyB8fCBta2RpciAvdmFyL2xpYi9taXNjLworCWV4ZWMgJERBRU1PTiAtLWtlZXAtaW4tZm9yZWdyb3VuZCAkQVJHUyBcCisJCSR7UkVTT0xWX0NPTkY6KyAtciAkUkVTT0xWX0NPTkZ9IFwKKwkJJHtQSURGSUxFOisgLXggJFBJREZJTEV9CisJOzsKKyAgICAqKQorCWVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxyZWxvYWR9IgorCWV4aXQgMQorCTs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc3NlYy1jb25mL2Ruc3NlYy1jb25mXzIuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zc2VjLWNvbmYvZG5zc2VjLWNvbmZfMi4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTU5YmQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc3NlYy1jb25mL2Ruc3NlYy1jb25mXzIuMDIuYmIKQEAgLTAsMCArMSwzNSBAQAorU1VNTUFSWSA9ICJETlNTRUMgYW5kIERMViBjb25maWd1cmF0aW9uIGFuZCBwcmltaW5nIHRvb2wiCitERVNDUklQVElPTiA9ICJcCitETlNTRUMgY29uZmlndXJhdGlvbiBhbmQgcHJpbWluZyB0b29sLiBLZXlzIGFyZSByZXF1aXJlZCB1bnRpbCB0aGUgcm9vdCBcCitpcyBzaWduZWQsIGFzIHdlbGwgYXMgZm9yIGxvY2FsIHVucHVibGlzaGVkIEROU1NFQyBrZXlzIHRvIGJlIHByZWxvYWRlZCBcCitpbnRvIHRoZSByZWN1cnNpdmUgbmFtZXNlcnZlci4gVGhlc2UgRE5TU0VDIGNvbmZpZ3VyYXRpb24gZmlsZXMgY2FuIGJlIFwKK2RpcmVjdGx5IGluY2x1ZGVkIGluIHRoZSBiaW5kIG9yIHVuYm91bmQgbmFtZXNlcnZlciBjb25maWd1cmF0aW9uIGZpbGVzLiBcCitkbnNzZWMtY29uZiBpbmNsdWRlcyBhIGNvbW1hbmRsaW5lIGNvbmZpZ3VyYXRpb24gY2xpZW50IGZvciBCaW5kIGFuZCBcCitVbmJvdW5kLCBrbm93biBETlNTRUMga2V5cywgVVJMJ3MgdG8gb2ZmaWNpYWwgcHVibGljYXRpb24gcGFnZXMgb2Yga2V5cywgXAorYW5kIGhhcnZlc3RlZCBrZXlzLCBhcyB3ZWxsIGEgc2NyaXB0IHRvIGhhcnZlc3QgRE5TS0VZJ3MgZnJvbSBETlMuIFwKK1NlZSBhbHNvOiBzeXN0ZW0tY29uZmlnLWRuc3NlYyIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS94ZWxlcmFuY2UvZG5zc2VjLWNvbmYiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCitERVBFTkRTICs9ICJ4bWx0by1uYXRpdmUgZG9jYm9vay14bWwtZHRkNC1uYXRpdmUgXAorICAgICAgICAgICAgZG9jYm9vay14c2wtc3R5bGVzaGVldHMtbmF0aXZlIGxpYnhzbHQtbmF0aXZlIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20veGVsZXJhbmNlL2Ruc3NlYy1jb25mLmdpdCIKK1NSQ1JFViA9ICI4ZTc5OTY4MzczNmI0YTdiNWU1ZTc4Zjk4ZmJhMGE2ZjQ4MzkzNTM3IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsICgpIHsKKyAgICBybSAtcmYgJHtEfQorICAgIG1ha2UgUFJFRklYPSR7cHJlZml4fSBERVNURElSPSR7RH0gRVRDRElSPSR7RH0ke3N5c2NvbmZkaXJ9IGluc3RhbGwKKyAgICAjIFdlIG5vIGxvbmdlciBzaGlwIHRydXN0IGFuY2hvcnMuIE1vc3Qgb2YgdGhlc2UgYXJlIGluIHRoZSBETFYgUmVnaXN0cnkgbm93LgorICAgICMgYW5kIGl0IHByZXZlbnRzIHRoZSBwcm9ibGVtIG9mIHNoaXBwaW5nIG91dGRhdGVkIHRydXN0IGFuY2hvcnMuCisgICAgIyBGb3IgRExWLCB3ZSBzaGlwIHRoZSBJU0MgRExWIFJlZ2lzdHJ5IGtleQorICAgIHJtIC1yZiAke0R9JHtzeXNjb25mZGlyfS9wa2kvZG5zc2VjLWtleXMvaGFydmVzdC8qCisgICAgcm0gLXJmICR7RH0ke3N5c2NvbmZkaXJ9L3BraS9kbnNzZWMta2V5cy9wcm9kdWN0aW9uL3JldmVyc2UvKgorICAgIGluc3RhbGwgLWQgLW0gMDc1NSAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGFja2FnaW5nL2ZlZG9yYS9kbnNzZWMuc3lzY29uZmlnICR7RH0ke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy9kbnNzZWMKK30KKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdC8wMDAxLWNvbmZpZ3VyZS5hYy1jb252ZXJ0LUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTkstc3RhdGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290LzAwMDEtY29uZmlndXJlLmFjLWNvbnZlcnQtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy1zdGF0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODYyMzUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdC8wMDAxLWNvbmZpZ3VyZS5hYy1jb252ZXJ0LUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTkstc3RhdGUucGF0Y2gKQEAgLTAsMCArMSw2NiBAQAorRnJvbSAwNzE1MGYzYTI3NjgxZTAzNGYxOGFiMmVkMmI2ODkxNGMxZTEwYWY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogU2F0LCAxOCBKdWwgMjAxNSAwNTowMzo1NyArMDkwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuYWM6IGNvbnZlcnQgQUNfVFJZX1JVTiB0byBBQ19UUllfTElOSyBzdGF0ZW1lbnRzCisKK1RoaXMgaXMgbm90IGNvbXBsZXRlbHkgc2FmZSwgYnV0IGl0J3MgdGhlIGxlYXN0IGludmFzaXZlIGZpeC4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAxNSArKysrKy0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggM2IzMjYxNC4uOTRlYzAwMiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNTE5LDEzICs1MTksMTAgQEAgaGF2ZV9pb2xvb3A9bm8KKyAKKyBpZiB0ZXN0ICIkaW9sb29wIiA9ICJiZXN0IiB8fCB0ZXN0ICIkaW9sb29wIiA9ICJlcG9sbCI7IHRoZW4KKyAgIEFDX0NBQ0hFX0NIRUNLKFt3aGV0aGVyIHdlIGNhbiB1c2UgZXBvbGxdLGlfY3ZfZXBvbGxfd29ya3MsWworLSAgICBBQ19UUllfUlVOKFsKKysgICAgQUNfVFJZX0xJTksoWworICAgICAgICNpbmNsdWRlIDxzeXMvZXBvbGwuaD4KKy0gIAorLSAgICAgIGludCBtYWluKCkKKy0gICAgICB7CistCXJldHVybiBlcG9sbF9jcmVhdGUoNSkgPCAxOworLSAgICAgIH0KKysgICAgXSwgWworKyAgICAgIGVwb2xsX2NyZWF0ZSg1KSA8IDE7CisgICAgIF0sIFsKKyAgICAgICBpX2N2X2Vwb2xsX3dvcmtzPXllcworICAgICBdLCBbCitAQCAtNjUzLDcgKzY1MCw3IEBAIGZpCisgZG5sICogT2xkIGdsaWJjcyBoYXZlIGJyb2tlbiBwb3NpeF9mYWxsb2NhdGUoKS4gTWFrZSBzdXJlIG5vdCB0byB1c2UgaXQuCisgZG5sICogSXQgbWF5IGFsc28gYmUgYnJva2VuIGluIEFJWC4KKyBBQ19DQUNIRV9DSEVDSyhbd2hldGhlciBwb3NpeF9mYWxsb2NhdGUoKSB3b3Jrc10saV9jdl9wb3NpeF9mYWxsb2NhdGVfd29ya3MsWworLSAgQUNfVFJZX1JVTihbCisrICBBQ19UUllfTElOSyhbCisgICAgICNkZWZpbmUgX1hPUEVOX1NPVVJDRSA2MDAKKyAgICAgI2luY2x1ZGUgPHN0ZGlvLmg+CisgICAgICNpbmNsdWRlIDxzdGRsaWIuaD4KK0BAIC02NjIsNyArNjU5LDcgQEAgQUNfQ0FDSEVfQ0hFQ0soW3doZXRoZXIgcG9zaXhfZmFsbG9jYXRlKCkgd29ya3NdLGlfY3ZfcG9zaXhfZmFsbG9jYXRlX3dvcmtzLFsKKyAgICAgI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAoX19HTElCQ19fIDwgMiB8fCBfX0dMSUJDX01JTk9SX18gPCA3KQorICAgICAgIHBvc3NpYmx5IGJyb2tlbiBwb3NpeF9mYWxsb2NhdGUKKyAgICAgI2VuZGlmCistICAgIGludCBtYWluKCkgeworKyAgICBdLCBbCisgICAgICAgaW50IGZkID0gY3JlYXQoImNvbmZ0ZXN0LnRlbXAiLCAwNjAwKTsKKyAgICAgICBpbnQgcmV0OworICAgICAgIGlmIChmZCA9PSAtMSkgeworQEAgLTY3MSw4ICs2NjgsNiBAQCBBQ19DQUNIRV9DSEVDSyhbd2hldGhlciBwb3NpeF9mYWxsb2NhdGUoKSB3b3Jrc10saV9jdl9wb3NpeF9mYWxsb2NhdGVfd29ya3MsWworICAgICAgIH0KKyAgICAgICByZXQgPSBwb3NpeF9mYWxsb2NhdGUoZmQsIDEwMjQsIDEwMjQpIDwgMCA/IDEgOiAwOworICAgICAgIHVubGluaygiY29uZnRlc3QudGVtcCIpOworLSAgICAgIHJldHVybiByZXQ7CistICAgIH0KKyAgIF0sIFsKKyAgICAgaV9jdl9wb3NpeF9mYWxsb2NhdGVfd29ya3M9eWVzCisgICBdLCBbCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdC9kb3ZlY290LnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290L2RvdmVjb3Quc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTI1MGVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdC9kb3ZlY290LnNlcnZpY2UKQEAgLTAsMCArMSwxNCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1Eb3ZlY290IElNQVAvUE9QMyBlbWFpbCBzZXJ2ZXIKK0FmdGVyPWxvY2FsLWZzLnRhcmdldCBuZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9c2ltcGxlCitFbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9zeXNjb25maWcvZG92ZWNvdAorRXhlY1N0YXJ0PUBTQklORElSQC9kb3ZlY290IC1GCitFeGVjUmVsb2FkPS9iaW4va2lsbCAtSFVQICRNQUlOUElECitOb25CbG9ja2luZz15ZXMKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290L2RvdmVjb3Quc29ja2V0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdC9kb3ZlY290LnNvY2tldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTZlMWE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdC9kb3ZlY290LnNvY2tldApAQCAtMCwwICsxLDE0IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPURvdmVjb3QgSU1BUC9QT1AzIGVtYWlsIHNlcnZlciBhY3RpdmF0aW9uIHNvY2tldAorCitbU29ja2V0XQorI2RvdmVjb3QgZXhwZWN0cyBzZXBhcmF0ZSBJUHY0IGFuZCBJUHY2IHNvY2tldHMKK0JpbmRJUHY2T25seT1pcHY2LW9ubHkKK0xpc3RlblN0cmVhbT0wLjAuMC4wOjE0MworTGlzdGVuU3RyZWFtPVs6Ol06MTQzCitMaXN0ZW5TdHJlYW09MC4wLjAuMDo5OTMKK0xpc3RlblN0cmVhbT1bOjpdOjk5MworS2VlcEFsaXZlPXRydWUKKworW0luc3RhbGxdCitXYW50ZWRCeT1zb2NrZXRzLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdF8yLjIuMjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290XzIuMi4yMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kN2E3Y2M1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdF8yLjIuMjEuYmIKQEAgLTAsMCArMSw2NyBAQAorU1VNTUFSWSA9ICJEb3ZlY290IGlzIGFuIG9wZW4gc291cmNlIElNQVAgYW5kIFBPUDMgZW1haWwgc2VydmVyIgorREVTQ1JJUFRJT04gPSAiRG92ZWNvdCBpcyBhbiBvcGVuIHNvdXJjZSBJTUFQIGFuZCBQT1AzIGVtYWlsIHNlcnZlciBmb3IgTGludXgvVU5JWC1saWtlIHN5c3RlbXMsIHdyaXR0ZW4gd2l0aCBzZWN1cml0eSBwcmltYXJpbHkgaW4gbWluZC4gRG92ZWNvdCBpcyBhbiBleGNlbGxlbnQgY2hvaWNlIGZvciBib3RoIHNtYWxsIGFuZCBsYXJnZSBpbnN0YWxsYXRpb25zLiBJdCdzIGZhc3QsIHNpbXBsZSB0byBzZXQgdXAsIHJlcXVpcmVzIG5vIHNwZWNpYWwgYWRtaW5pc3RyYXRpb24gYW5kIGl0IHVzZXMgdmVyeSBsaXR0bGUgbWVtb3J5LiIKK1NFQ1RJT04gPSAibWFpbCIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hOTgxMzc5YmQwZjFjMzYyZjhkMWQyMTUxNWU1YjMwYiIKKworU1JDX1VSSSA9ICJodHRwOi8vZG92ZWNvdC5vcmcvcmVsZWFzZXMvMi4yL2RvdmVjb3QtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWNvbnZlcnQtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy1zdGF0ZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kb3ZlY290LnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vZG92ZWNvdC5zb2NrZXQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyOGMzOWFiNzhhMjBmMDA3MDFjMjY5NjBkOTE5MGNmMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YWI3MTM5ZTU5ZTFmMDM1M2JmOWMyNDI1MWYxM2M4OTNjZjFhNmVmNGJjYzQ3ZTJkNDRkZTQzNzEwOGQwYjIwIgorCitERVBFTkRTID0gIm9wZW5zc2wgeHogemxpYiBiemlwMiBsaWJjYXAgaWN1IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1c2VyYWRkCisKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgICAgICAgICAgICAgICAgICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZGFwJywgJ2xkYXAnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbScsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS13aXRoLXBhbSwtLXdpdGhvdXQtcGFtLGxpYnBhbSwiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0td2l0aC1sZGFwPXBsdWdpbiwtLXdpdGhvdXQtbGRhcCxvcGVubGRhcCwiCitQQUNLQUdFQ09ORklHW2x6NF0gPSAiLS13aXRoLWx6NCwtLXdpdGhvdXQtbHo0LGx6NCwiCisKKyMgRnJvbSBuYXRpdmUgYnVpbGQgaW4gYXJtdjdhLWhmL2VnbGliYworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImlfY3Zfc2lnbmVkX3NpemVfdD1ubyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgaV9jdl9nbXRpbWVfbWF4X3RpbWVfdD0zMiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgaV9jdl9zaWduZWRfdGltZV90PXllcyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgaV9jdl9tbWFwX3BsYXlzX3dpdGhfd3JpdGU9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X2ZkX3Bhc3Npbmc9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X2M5OV92c25wcmludGY9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaWJfY3ZfX192YV9jb3B5PXllcyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgbGliX2N2X3ZhX2NvcHk9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaWJfY3ZfdmFfdmFsX2NvcHk9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICIKKworIyBoYXJkY29kZSBlcG9sbCgpIHRvIGF2b2lkIHJ1bm5pbmcgdW5zYWZlIHRlc3RzCisjIEJTRCBuZWVkcyBrcXVldWUgYW5kIHVjbGliYyBwb2xsKCkKK0VYVFJBX09FQ09ORiA9ICIgLS13aXRoLWlvbG9vcD1lcG9sbCBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIgorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImRvdmVjb3Quc2VydmljZSBkb3ZlY290LnNvY2tldCIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLWQgNzU1ICR7RH0vZXRjL2RvdmVjb3QKKyAgICB0b3VjaCA2NDQgJHtEfS9ldGMvZG92ZWNvdC9kb3ZlY290LmNvbmYKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9kb3ZlY290LnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MjQFNZU0NPTkZESVJAIyR7c3lzY29uZmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZG92ZWNvdC5zZXJ2aWNlCisgICAgc2VkIC1pIC1lICdzI0BTQklORElSQCMke3NiaW5kaXJ9I2cnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2RvdmVjb3Quc2VydmljZQorfQorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItciAtZCAke2xpYmV4ZWNkaXJ9IC1NIC1zICR7YmFzZV9zYmluZGlyfS9ub2xvZ2luIC1nIGRvdmVjb3QgZG92ZWNvdDsgXAorICAgICAgICAgICAgICAgICAgICAgIC1yIC1kICR7bGliZXhlY2Rpcn0gLU0gLXMgJHtiYXNlX3NiaW5kaXJ9L25vbG9naW4gLWcgZG92ZW51bGwgZG92ZW51bGwiCitHUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItZiAtciBkb3ZlY290Oy1mIC1yIGRvdmVudWxsIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2RvdmVjb3QvKnBsdWdpbi5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2RvdmVjb3QvbGliZnNfY29tcHJlc3Muc28gXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS9kb3ZlY290L2xpYnNzbF9pb3N0cmVhbV9vcGVuc3NsLnNvIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZG92ZWNvdC8qLyouYSIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2RvdmVjb3QvbGliZG92ZWNvdCouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9kb3ZlY290LyovLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RyYmQvZHJiZC11dGlscy8wMDAxLU1ha2VmaWxlLmluLWRvbi10LWNvbXBpbGUtZG9jdW1lbnRhdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kcmJkL2RyYmQtdXRpbHMvMDAwMS1NYWtlZmlsZS5pbi1kb24tdC1jb21waWxlLWRvY3VtZW50YXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRlNGE4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kcmJkL2RyYmQtdXRpbHMvMDAwMS1NYWtlZmlsZS5pbi1kb24tdC1jb21waWxlLWRvY3VtZW50YXRpb24ucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSBmZWNjZjg5ZjA4YTQ1NTQ2MDY2OGNmMjg2MTUxNjYyZTRjMTU1N2IzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVGh1LCAyMCBBdWcgMjAxNSAxNTozMjozMCArMDkwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5pbjogZG9uJ3QgY29tcGlsZSBkb2N1bWVudGF0aW9uCisKK1RoZSBkb2N1bWVudGF0aW9uIGZpbGUgaXMgbm90IHN1aXRhYmxlIGZvciBjcm9zcy1jb21waWxlLAorRXJyb3JzIHdpbGwgb2NjdXI6Cit8IC9iaW4vc2g6IC4uLy4uL3VzZXIvdjkvZHJiZHNldHVwOiAvbGliL2xkLWxpbnV4LXg4Ni02NC5zby4yOiBiYWQgRUxGIGludGVycHJldGVyOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cit8IC4uLy4uL3VzZXIvdjkvZHJiZHNldHVwIHhtbC1oZWxwIGRpc2stb3B0aW9ucyA+IGRyYmRzZXR1cF94bWwtaGVscF9kaXNrLW9wdGlvbnMueG1sCit8IC9iaW4vc2g6IC4uLy4uL3VzZXIvdjkvZHJiZHNldHVwOiAvbGliL2xkLWxpbnV4LXg4Ni02NC5zby4yOiBiYWQgRUxGIGludGVycHJldGVyOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cit8IC9iaW4vc2g6IC4uLy4uL3VzZXIvdjkvZHJiZHNldHVwOiAvbGliL2xkLWxpbnV4LXg4Ni02NC5zby4yOiBiYWQgRUxGIGludGVycHJldGVyOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cit8IG1ha2VbMV06ICoqKiBbZHJiZHNldHVwX3htbC1oZWxwX25ldy1yZXNvdXJjZS54bWxdIEVycm9yIDEyNgorCitzbyB3ZSBkbyBub3QgY29tcGlsZSBpdC4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIE1ha2VmaWxlLmluIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgoraW5kZXggNTM2NWEyYy4uZDU5NjdkOCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmluCisrKysgYi9NYWtlZmlsZS5pbgorQEAgLTQ1LDcgKzQ1LDcgQEAgV0lUSF84NF9TVVBQT1JUID0gQFdJVEhfODRfU1VQUE9SVEAKKyAjIGFuZCBub3QgaW4gZS5nLiBkYXNoLiBJJ20gdG9vIGxhenkgdG8gZml4IGl0IHRvIGJlIGNvbXBhdGlibGUuCisgU0hFTEw9L2Jpbi9iYXNoCisgCistU1VCRElSUyAgICAgPSB1c2VyL3NoYXJlZCB1c2VyL3Y5IHVzZXIvdjg0IHVzZXIvdjgzIHNjcmlwdHMgZG9jdW1lbnRhdGlvbi92ODMgZG9jdW1lbnRhdGlvbi92ODQgZG9jdW1lbnRhdGlvbi92OQorK1NVQkRJUlMgICAgID0gdXNlci9zaGFyZWQgdXNlci92OSB1c2VyL3Y4NCB1c2VyL3Y4MyBzY3JpcHRzCisgCisgUkVMX1ZFUlNJT04gOj0gJChzaGVsbCAkKFNFRCkgLW5lICcvXkFDX0lOSVQve3MvXlteLF0qLCAqXChbXixdKlwpICosLiovXDEvO3A7cX0nIGNvbmZpZ3VyZS5hYykKKyBpZmRlZiBGT1JDRQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kcmJkL2RyYmQtdXRpbHMvMDAwMS1NYWtlZmlsZS5pbi1maXgtcGVybWlzc2lvbi1iaXRzLWZvci1kcmJkLnNlcnZpY2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZHJiZC9kcmJkLXV0aWxzLzAwMDEtTWFrZWZpbGUuaW4tZml4LXBlcm1pc3Npb24tYml0cy1mb3ItZHJiZC5zZXJ2aWNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwZGQxZjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZHJiZC9kcmJkLXV0aWxzLzAwMDEtTWFrZWZpbGUuaW4tZml4LXBlcm1pc3Npb24tYml0cy1mb3ItZHJiZC5zZXJ2aWNlLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTdWJqZWN0OiAgTWFrZWZpbGUuaW46IGZpeCBwZXJtaXNzaW9uIGJpdHMgZm9yIGRyYmQuc2VydmljZQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzY3JpcHRzL01ha2VmaWxlLmluIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc2NyaXB0cy9NYWtlZmlsZS5pbiBiL3NjcmlwdHMvTWFrZWZpbGUuaW4KK2luZGV4IDQwMmI5M2IuLjRhNDU0MDcgMTAwNjQ0CistLS0gYS9zY3JpcHRzL01ha2VmaWxlLmluCisrKysgYi9zY3JpcHRzL01ha2VmaWxlLmluCitAQCAtNjUsNyArNjUsNyBAQCBlbmRpZgorICMgeWVzLCBkZWJpYW4gYXBwYXJlbnRseSBhbGxvd3MgaW5zdGFsbGluZyBib3RoIHR5cGVzIGZyb20gdGhlIHNhbWUgcGFja2FnZQorIGlmbmVxICgkKGluaXRzY3JpcHR0eXBlKSxzeXN2KQkJIyAic3lzdGVtZCIgb3IgImJvdGgiCisgCWluc3RhbGwgLWQgJChERVNURElSKSQoc3lzdGVtZHVuaXRkaXIpCistCWluc3RhbGwgLW0gNzU1IGRyYmQuc2VydmljZSAkKERFU1RESVIpJChzeXN0ZW1kdW5pdGRpcikvCisrCWluc3RhbGwgLW0gNjQ0IGRyYmQuc2VydmljZSAkKERFU1RESVIpJChzeXN0ZW1kdW5pdGRpcikvCisgCWluc3RhbGwgLWQgJChERVNURElSKS9saWIvZHJiZC8KKyAJaW5zdGFsbCAtbSA3NTUgZHJiZCAkKERFU1RESVIpL2xpYi9kcmJkLworIAlpbnN0YWxsIC1kICQoREVTVERJUikkKHRtcGZpbGVzZGlyKS8KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RyYmQvZHJiZC11dGlsc184LjkuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kcmJkL2RyYmQtdXRpbHNfOC45LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ0NTliNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kcmJkL2RyYmQtdXRpbHNfOC45LjMuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJEaXN0cmlidXRlZCBibG9jayBkZXZpY2UgZHJpdmVyIGZvciBMaW51eCIKK0RFU0NSSVBUSU9OID0gIkRSQkQgbWlycm9ycyBhIGJsb2NrIGRldmljZSBvdmVyIHRoZSBuZXR3b3JrIHRvIGFub3RoZXIgbWFjaGluZS5cCitEUkJEIG1pcnJvcnMgYSBibG9jayBkZXZpY2Ugb3ZlciB0aGUgbmV0d29yayB0byBhbm90aGVyIG1hY2hpbmUuXAorVGhpbmsgb2YgaXQgYXMgbmV0d29ya2VkIHJhaWQgMS4gSXQgaXMgYSBidWlsZGluZyBibG9jayBmb3JcCitzZXR0aW5nIHVwIGhpZ2ggYXZhaWxhYmlsaXR5IChIQSkgY2x1c3RlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5kcmJkLm9yZy8iCitTRUNUSU9OID0gImFkbWluIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NTc0YzY5NjVhZTVmNTgzZTU1ODgwZTM5N2ZiYjAxOCIKKworU1JDX1VSSSA9ICJodHRwOi8vb3NzLmxpbmJpdC5jb20vZHJiZC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS5pbi1kb24tdC1jb21waWxlLWRvY3VtZW50YXRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS5pbi1maXgtcGVybWlzc2lvbi1iaXRzLWZvci1kcmJkLnNlcnZpY2UucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwOWM5YzMzYzA0MWUxZjRmODVkZDM1OWY5ZTBiMGYyNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMTEwNTA1NzhjMTUzYmY0ZmVmODZlMDM3NDkzMDRmZjlmMzMzYjdhZjM1MTJjNWMzOTVlMGU4NzBhMDQ0NWJkIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiZHJiZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgc3lzdGVtZAorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtaW5pdGRpcj0vZXRjL2luaXQuZCAgICBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXBhY2VtYWtlciAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1yZ21hbmFnZXIgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtYmFzaGNvbXBsZXRpb24gICAgICBcCisgICAgICAgICAgICAgICAgLS13aXRoLWRpc3RybyBkZWJpYW4gICAgICAgICAgXAorICAgICAgICAgICAgICAgIC0td2l0aC1pbml0c2NyaXB0dHlwZT1ib3RoICAgIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc3lzdGVtZHVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSBcCisgICAgICAgICAgICAgICAiCisKK1JERVBFTkRTXyR7UE59ICs9ICJiYXNoIHBlcmwiCisKKyMgVGhlIGRyYmQgaXRlbXMgYXJlIGV4cGxpY2l0bHkgcHV0IHVuZGVyIC9saWIgd2hlbiBpbnN0YWxsZWQuCisjCitGSUxFU18ke1BOfSArPSAiL3J1biIKK0ZJTEVTXyR7UE59ICs9ICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L2RyYmQgXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L2RyYmQgXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3RtcGZpbGVzLmQiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vZHJiZC8uZGVidWciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZXNtdHAvZXNtdHBfMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2VzbXRwL2VzbXRwXzEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjMxNDhjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2VzbXRwL2VzbXRwXzEuMi5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIlVzZXIgY29uZmlndXJhYmxlIHNlbmQtb25seSBNYWlsIFRyYW5zZmVyIEFnZW50IgorREVTQ1JJUFRJT04gPSAiRVNNVFAgaXMgYSB1c2VyLWNvbmZpZ3VyYWJsZSByZWxheS1vbmx5IE1UQSBcCit3aXRoIGEgc2VuZG1haWwtY29tcGF0aWJsZSBzeW50YXgsIGJhc2VkIG9uIGxpYkVTTVRQIGFuZCBcCitzdXBwb3J0aW5nIHRoZSBBVVRIIChpbmNsdWRpbmcgdGhlIENSQU0tTUQ1IGFuZCBOVExNIFNBU0wgXAorbWVjaGFuaXNtcykgYW5kIFN0YXJ0VExTIFNNVFAgZXh0ZW5zaW9ucy4iCitIT01FUEFHRSA9ICJodHRwOi8vZXNtdHAuc291cmNlZm9yZ2UubmV0LyIKK1NFQ1RJT04gPSAibmV0IgorCitERVBFTkRTID0gImxpYmVzbXRwIgorCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorCisjIEhhdmUgdG8gc2V0IHRoaXMgb3Igd2UgZ2V0IC1ML2xpYiBpbiBMREZMQUdTCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWxpYmVzbXRwPSR7U1RBR0lOR19FWEVDUFJFRklYRElSfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcworCitBTFRFUk5BVElWRV8ke1BOfSA9ICJzZW5kbWFpbCIKKworQUxURVJOQVRJVkVfTElOS19OQU1FW3NlbmRtYWlsXSA9ICIke3NiaW5kaXJ9L3NlbmRtYWlsIgorQUxURVJOQVRJVkVfVEFSR0VUW3NlbmRtYWlsXSA9ICIke2JpbmRpcn0vZXNtdHAiCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMCIKKworU1JDX1VSSVttZDVzdW1dID0gIjc5YTljMWY5MDIzZDUzZjM1YmI4MmJmNDQ2MTUwYTcyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEwZDI2OTMxYmY3MzFmOTc1MTRkYTI2NmQwNzlkOGJjN2Q3M2M2NWIzNDk5ZWQwODA1NzZhYjYwNmIyMWMwY2UiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgb25seSBvbmUgZmlsZSAvdXNyL2xpYi9zZW5kbWFpbCBpbiAke0R9JHtsaWJkaXJ9CisgICAgcm0gLXJmICR7RH0ke2xpYmRpcn0KK30KKworcGtnX3Bvc3RpbnN0XyR7UE59X2xpbnV4c3RkYmFzZSAoKSB7CisgICAgIyAvdXNyL2xpYi9zZW5kbWlhbCBpcyByZXF1aXJlZCBieSBMU0IgY29yZSB0ZXN0CisgICAgWyAhIC1MICREL3Vzci9saWIvc2VuZG1haWwgXSAmJiBsbiAtc2YgJHtzYmluZGlyfS9zZW5kbWFpbCAkRC91c3IvbGliLworfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9LyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9mZXRjaG1haWwvZmV0Y2htYWlsXzYuMy4yNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9mZXRjaG1haWwvZmV0Y2htYWlsXzYuMy4yNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDlkN2NmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2ZldGNobWFpbC9mZXRjaG1haWxfNi4zLjI2LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiRmV0Y2htYWlsIHJldHJpZXZlcyBtYWlsIGZyb20gcmVtb3RlIG1haWwgc2VydmVycyBhbmQgZm9yd2FyZHMgaXQgdmlhIFNNVFAiCitERVNDUklQVElPTiA9ICJGZXRjaG1haWwgaXMgYSBmdWxsLWZlYXR1cmVkLCByb2J1c3QsIHdlbGwtZG9jdW1lbnRlZCByZW1vdGUtbWFpbCByZXRyaWV2YWwgYW5kIGZvcndhcmRpbmcgdXRpbGl0eSBpbnRlbmRlZCB0byBiZSB1c2VkIG92ZXIgb24tZGVtYW5kIFRDUC9JUCBsaW5rcyAoc3VjaCBhcyBTTElQIG9yIFBQUCBjb25uZWN0aW9ucykuIEl0IHN1cHBvcnRzIGV2ZXJ5IHJlbW90ZS1tYWlsIHByb3RvY29sIG5vdyBpbiB1c2Ugb24gdGhlIEludGVybmV0OiBQT1AyLCBQT1AzLCBSUE9QLCBBUE9QLCBLUE9QLCBhbGwgZmxhdm9ycyBvZiBJTUFQLCBFVFJOLCBhbmQgT0RNUi4gSXQgY2FuIGV2ZW4gc3VwcG9ydCBJUHY2IGFuZCBJUFNFQy4iCitTRUNUSU9OID0gIm1haWwiCitMSUNFTlNFID0gIkdQTHYyICYgTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmJiNTA5ZTAzMDNmNWRlZDFjYmZjMGNjODcwNWYyOGMiCisKK0RFUEVORFMgPSAib3BlbnNzbCIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuYmVybGlvcy5kZS9mZXRjaG1haWwvZmV0Y2htYWlsLSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MWI2NmZhYWQwNDRhZmEyNmUxNDJiYjE3OTFhYTJiMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3OWI0YzU0Y2RiYWYwMmMxYTlhNjkxZDk5NDhmY2IxYTc3YTE1OTFhODEzZTkwNDI4M2E4YjYxNGI3NTdlODUwIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHB5dGhvbi1kaXIgcHl0aG9ubmF0aXZlCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtc3NsPSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH0iCisKK1BBQ0tBR0VTID0rICJmZXRjaG1haWwtcHl0aG9uIgorRklMRVNfZmV0Y2htYWlsLXB5dGhvbiA9ICIke2xpYmRpcn0vJHtQWVRIT05fRElSfS8qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2ZwaW5nL2ZwaW5nXzMuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9mcGluZy9mcGluZ18zLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZiMTdiNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9mcGluZy9mcGluZ18zLjUuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJzZW5kcyBJQ01QIEVDSE9fUkVRVUVTVCBwYWNrZXRzIHRvIG5ldHdvcmsgaG9zdHMiCitERVNDUklQVElPTiA9ICJmcGluZyBpcyBhIHBpbmcgbGlrZSBwcm9ncmFtIHdoaWNoIHVzZXMgdGhlIEludGVybmV0IENvbnRyb2wgXAorTWVzc2FnZSBQcm90b2NvbCAoSUNNUCkgZWNobyByZXF1ZXN0IHRvIGRldGVybWluZSBpZiBhIHRhcmdldCBob3N0IGlzIFwKK3Jlc3BvbmRpbmcuIGZwaW5nIGRpZmZlcnMgZnJvbSBwaW5nIGluIHRoYXQgeW91IGNhbiBzcGVjaWZ5IGFueSBudW1iZXIgb2YgXAordGFyZ2V0cyBvbiB0aGUgY29tbWFuZCBsaW5lLCBvciBzcGVjaWZ5IGEgZmlsZSBjb250YWluaW5nIHRoZSBsaXN0cyBvZiBcCit0YXJnZXRzIHRvIHBpbmcuICBJbnN0ZWFkIG9mIHNlbmRpbmcgdG8gb25lIHRhcmdldCB1bnRpbCBpdCB0aW1lcyBvdXQgb3IgXAorcmVwbGllcywgZnBpbmcgd2lsbCBzZW5kIG91dCBhIHBpbmcgcGFja2V0IGFuZCBtb3ZlIG9uIHRvIHRoZSBuZXh0IHRhcmdldCBcCitpbiBhIHJvdW5kLXJvYmluIGZhc2hpb24uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcGluZy5vcmcvIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA5ZDc3Nzg5ZmUzMmJlMzVhY2RlOTYzN2E1ZWUzOWIxIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZnBpbmcub3JnL2Rpc3QvZnBpbmctJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjJlMTdjYjY1NWFhNGViNTliNWE0YTM4YTg5ZTc0NmVkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA5Yjg5NjBlMjM1MzQxYmFlNjAwMDA4NWQzODEwNjM1N2VhZTY1NmE3OWUwMTE5YmQyN2U4MTZjOTAwMzY1NmEiCisKK1MgPSAiJHtXT1JLRElSfS9mcGluZy0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWlwdjQiCisKK1BBQ0tBR0VDT05GSUcgPz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJ2lwdjYnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9maWxlcy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZ2VvaXAvZmlsZXMvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0ZTk2MTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZ2VvaXAvZmlsZXMvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMTEgQEAKKyMhL2Jpbi9zaAorcGRpcj1gZGlybmFtZSAkMGAKK2NkICR7cGRpcn0vdGVzdHMKK2ZvciBpIGluIC4vYmVuY2htYXJrIC4vdGVzdC1nZW9pcC1jaXR5IDsgZG8KKwkke2l9IDE+L2Rldi9udWxsIDI+JjE7CisJaWYgWyAkPyA9PSAwIF07IHRoZW4KKwkJZWNobyBQQVNTOiAkaTsKKwllbHNlCisJCWVjaG8gRkFJTDogJGk7CisJZmk7Citkb25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZ2VvaXAvZ2VvaXAtcGVybC9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZ2VvaXAvZ2VvaXAtcGVybC9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQwNGMyNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcC1wZXJsL3J1bi1wdGVzdApAQCAtMCwwICsxLDE1IEBACisjIS9iaW4vc2gKKworIyBUaGUgdGVzdHMgY29udGFpbiBoYXJkLWNvZGVkIHJlbGF0aXZlIHBhdGhzIGFuZCBtdXN0IGJlCisjIGV4ZWN1dGVkIGZyb20gJHBkaXIuCisjCitwZGlyPWBkaXJuYW1lICQwYAorY2QgJHtwZGlyfQorZm9yIGkgaW4gdC8qLnQgOyBkbworCXBlcmwgJHtpfSAxPi9kZXYvbnVsbCAyPiYxOworCWlmIFsgJD8gPT0gMCBdOyB0aGVuCisJCWVjaG8gUEFTUzogJGk7CisJZWxzZQorCQllY2hvIEZBSUw6ICRpOworCWZpOworZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwLXBlcmxfMS40NS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcC1wZXJsXzEuNDUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzI4YWQ1OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcC1wZXJsXzEuNDUuYmIKQEAgLTAsMCArMSw0MCBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgV2luZCBSaXZlciBTeXN0ZW1zLCBJbmMuCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUIGZvciB0aGUgdGVybXMpCisjCitTVU1NQVJZID0gIkdlb0lQIHBlcmwgQVBJIGxpYnJhcnkgdG8gYWNjZXNzIGxvY2F0aW9uIGRhdGFiYXNlIgorREVTQ1JJUFRJT04gPSAicGVybCBsaWJyYXJ5IGZvciBjb3VudHJ5L2NpdHkvb3JnYW5pemF0aW9uIHRvIElQIGFkZHJlc3Mgb3IgaG9zdG5hbWUgbWFwcGluZyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubWF4bWluZC5jb20vYXBwL2lwLWxvY2F0aW9uIgorU0VDVElPTiA9ICJsaWJkZXZlbCIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7bWQ1PWIwZmE3NDUzMDM5MTJiZDJkNjQ0MzBmN2FlNjk0ODdkIgorCisjIE5vdGUgdGhhdCB3ZSBkbyBub3Qgd2FudCB0byB1c2UgdGhlIHVwc3RyZWFtIGZpbGUgbmFtZSBsb2NhbGx5LgorIworU1JDX1VSSSA9ICJodHRwOi8vZ2l0aHViLmNvbS9tYXhtaW5kL2dlb2lwLWFwaS1wZXJsL2FyY2hpdmUvdiR7UFZ9LnRhci5nejtkb3dubG9hZGZpbGVuYW1lPSR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwY2U1NzE0MDg5MGJmODE5NThlMGNlYTRmZTE4ODViMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNTY0MzdiMWNjODg4NzczNmNiMWU0MzVkMDMyMGMxYzFmZjM3NTQ4MzAyNDk1MTYzMTdiOTkxMzcwMDVmYjIzIgorCitTID0gIiR7V09SS0RJUn0vZ2VvaXAtYXBpLXBlcmwtJHtQVn0iCisKK0RFUEVORFMgKz0gImdlb2lwIgorCitpbmhlcml0IGNwYW4gcHRlc3QKKworRVhUUkFfQ1BBTkZMQUdTID0gIkxJQlM9Jy1MJHtTVEFHSU5HX0xJQkRJUn0nIElOQz0nLUkke1NUQUdJTkdfSU5DRElSfSciCisKKworIyBwZXJsIHNjcmlwdHMgYW5kIHNvbWUgc3BlY2lhbCBzbWFsbCBkYXRhIGZpbGVzCisjCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKwlpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7UFRFU1RfUEFUSH0vdC9kYXRhCisKKwlpbnN0YWxsICR7U30vdC8qLnQqICR7RH0ke1BURVNUX1BBVEh9L3QKKwlpbnN0YWxsICR7U30vdC9kYXRhLyogJHtEfSR7UFRFU1RfUEFUSH0vdC9kYXRhCit9CisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3BlcmwvdmVuZG9yX3BlcmwvKi9hdXRvL0dlby9JUC8uZGVidWciCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcF8xLjYuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcF8xLjYuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjA1MTU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwXzEuNi42LmJiCkBAIC0wLDAgKzEsOTMgQEAKK1NVTU1BUlkgPSAiQyBsaWJyYXJ5IGZvciBjb3VudHJ5L2NpdHkvb3JnYW5pemF0aW9uIHRvIElQIGFkZHJlc3Mgb3IgaG9zdG5hbWUgbWFwcGluZyIKK0RFU0NSSVBUSU9OID0gIkdlb0lQIGlzIGEgQyBsaWJyYXJ5IHRoYXQgZW5hYmxlcyB0aGUgdXNlciB0byBmaW5kIHRoZSBjb3VudHJ5IHRoYXQgYW55IElQIFwKK2FkZHJlc3Mgb3IgaG9zdG5hbWUgb3JpZ2luYXRlcyBmcm9tLiBJdCB1c2VzIGEgZmlsZSBiYXNlZCBkYXRhYmFzZSB0aGF0IGlzIFwKK2FjY3VyYXRlIGFzIG9mIE1hcmNoIDIwMDMuIFRoaXMgZGF0YWJhc2Ugc2ltcGx5IGNvbnRhaW5zIElQIGJsb2NrcyBhcyBrZXlzLCBhbmQgXAorY291bnRyaWVzIGFzIHZhbHVlcy4gVGhpcyBkYXRhYmFzZSBzaG91bGQgYmUgbW9yZSBjb21wbGV0ZSBhbmQgYWNjdXJhdGUgdGhhbiBcCit1c2luZyByZXZlcnNlIEROUyBsb29rdXBzLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL2Rldi5tYXhtaW5kLmNvbS9nZW9pcC8iCitTRUNUSU9OID0gImxpYmRldmVsIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbWF4bWluZC9nZW9pcC1hcGktYy5naXQgXAorICAgICAgICAgICBodHRwOi8vZ2VvbGl0ZS5tYXhtaW5kLmNvbS9kb3dubG9hZC9nZW9pcC9kYXRhYmFzZS9HZW9MaXRlQ291bnRyeS9HZW9JUC5kYXQuZ3o7YXBwbHk9bm87bmFtZT1HZW9JUC1kYXQgXAorICAgICAgICAgICBodHRwOi8vZ2VvbGl0ZS5tYXhtaW5kLmNvbS9kb3dubG9hZC9nZW9pcC9kYXRhYmFzZS9HZW9JUHY2LmRhdC5nejthcHBseT1ubztuYW1lPUdlb0lQdjYtZGF0IFwKKyAgICAgICAgICAgaHR0cDovL2dlb2xpdGUubWF4bWluZC5jb20vZG93bmxvYWQvZ2VvaXAvZGF0YWJhc2UvR2VvTGl0ZUNpdHkuZGF0Lmd6O2FwcGx5PW5vO25hbWU9R2VvTGl0ZUNpdHktZGF0IFwKKyAgICAgICAgICAgaHR0cDovL2dlb2xpdGUubWF4bWluZC5jb20vZG93bmxvYWQvZ2VvaXAvZGF0YWJhc2UvR2VvTGl0ZUNpdHl2Ni1iZXRhL0dlb0xpdGVDaXR5djYuZGF0Lmd6O2FwcGx5PW5vO25hbWU9R2VvTGl0ZUNpdHl2Ni1kYXQgXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyIKK1NSQ1JFViA9ICJlZDNmM2UyYjg3ZmJhMDVhOGYyYTViOWIxMzI4ZTdkNTViZThiZjMwIgorCitTUkNfVVJJW0dlb0lQLWRhdC5tZDVzdW1dID0gIjM3Yzg0ZWFkMzMyZGRhMDM2MmE1YWM3YjA0OWI3MmQ0IgorU1JDX1VSSVtHZW9JUC1kYXQuc2hhMjU2c3VtXSA9ICI3OWZmMTA5OWU5NmMyZGMxYzI1MzljOWExOGFhYTEzYTlhZmQwODVjYWU0NzdkZjYwZDk1ZjE2NDRkNDJiYzA3IgorCitTUkNfVVJJW0dlb0lQdjYtZGF0Lm1kNXN1bV0gPSAiZTc1Yjg0YTQwNDRlODFkNmQ0NDg0ZTMzODE2YmM3NjIiCitTUkNfVVJJW0dlb0lQdjYtZGF0LnNoYTI1NnN1bV0gPSAiYTAwOWIwZjIxOTY4ZDI4NjhlNmRkMTlkMTRmM2MzYjhjZDYwYWU4NGE0YmZjMjk3MGRmMzRkNzcxYTA0ODExZSIKKworU1JDX1VSSVtHZW9MaXRlQ2l0eS1kYXQubWQ1c3VtXSA9ICI0YjY1ODhkMGJmZTFhZjIyZTI2N2FjOTBhYTk3Zjc2OSIKK1NSQ19VUklbR2VvTGl0ZUNpdHktZGF0LnNoYTI1NnN1bV0gPSAiOGE2NDY3MDMzYTUyOGY2OGIxYTk3ZGUyNGQ5ZDBjZTg2YzhlOGU4MzY4MzgyMGUxNmU0MzNkZGJkM2Y3MTJmNyIKKworU1JDX1VSSVtHZW9MaXRlQ2l0eXY2LWRhdC5tZDVzdW1dID0gImFkMGNiNDI1MThhZjdmNzUyNDk5NDI1ZGNhMDk1MmJiIgorU1JDX1VSSVtHZW9MaXRlQ2l0eXY2LWRhdC5zaGEyNTZzdW1dID0gImVkYTY3ZjQyMDRiYTlmYTUyMDRhNTNjZGI2MjkxNjdjY2E5Mzk0YzcxMmY1Mzc4YmM3MjNhOGMyOWMwYjQ0MGYiCisKK0xJQ0VOU0UgPSAiTEdQTC0yLjEiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI0M2I3MjVkNzFiYjVkZjRhMWU1OTIwYjM0NGI4NmFkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0U7bWQ1PTAzODgyNzY3NDlhNTQyYjBkNjExNjAxZmE3YzFkY2M4ICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1zdGF0aWMgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgICIKKworZG9faW5zdGFsbCgpIHsKKyAgICBtYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vR2VvSVAKKyAgICBpbnN0YWxsICR7V09SS0RJUn0vR2VvSVAuZGF0ICR7RH0vJHtkYXRhZGlyfS9HZW9JUC8KKyAgICBpbnN0YWxsICR7V09SS0RJUn0vR2VvSVB2Ni5kYXQgJHtEfS8ke2RhdGFkaXJ9L0dlb0lQLworICAgIGluc3RhbGwgJHtXT1JLRElSfS9HZW9MaXRlQ2l0eS5kYXQgJHtEfS8ke2RhdGFkaXJ9L0dlb0lQLworICAgIGluc3RhbGwgJHtXT1JLRElSfS9HZW9MaXRlQ2l0eXY2LmRhdCAke0R9LyR7ZGF0YWRpcn0vR2VvSVAvCisgICAgbG4gLXMgR2VvTGl0ZUNpdHkuZGF0ICR7RH0ke2RhdGFkaXJ9L0dlb0lQL0dlb0lQQ2l0eS5kYXQKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LWRhdGFiYXNlIgorRklMRVNfJHtQTn0tZGF0YWJhc2UgPSAiIgorRklMRVNfJHtQTn0tZGF0YWJhc2UgKz0gIiR7ZGF0YWRpcn0vR2VvSVAvKiIKKworIyBXZSBjYW5ub3QgZG8gbXVjaCBsb29raW5nIHVwIHdpdGhvdXQgZGF0YWJhc2VzLgorIworUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LWRhdGFiYXNlIgorCitpbmhlcml0IHB0ZXN0CisKK2RvX2NvbmZpZ3VyZV9wdGVzdCgpIHsKKwlzZWQgLWkgLWUgInMvbm9pbnN0X1BST0dSQU1TID0gL3Rlc3RfUFJPR1JBTVMgPSAvZyIgXAorCSAgICAtZSAnczpTUkNESVI9XFwiJCh0b3Bfc3JjZGlyKVxcIjpTUkNESVI9XFwiJCh0ZXN0ZGlyKVxcIjonIFwKKwkgICR7U30vdGVzdC9NYWtlZmlsZS5hbQorCisJaWYgISBncmVwICJedGVzdGRpciA9ICIgJHtTfS90ZXN0L01ha2VmaWxlLmFtIDsgdGhlbgorCSAgc2VkIC1lICcvRVhUUkFfUFJPR1JBTVMgPSAvaXRlc3RkaXIgPSAke1BURVNUX1BBVEh9L3Rlc3RzJyBcCisJICAgIC1pICR7U30vdGVzdC9NYWtlZmlsZS5hbQorCWZpCisKKwlzZWQgLWkgLWUgInM6L3Vzci9sb2NhbC9zaGFyZTovdXNyL3NoYXJlOmciIFwKKwkgICR7U30vdGVzdC9iZW5jaG1hcmsuYworCisJc2VkIC1pIC1lICdzOiIuLi9kYXRhLzoiL3Vzci9zaGFyZS9HZW9JUC86ZycgXAorCSAgJHtTfS90ZXN0L3Rlc3QtZ2VvaXAtY2l0eS5jIFwKKwkgICR7U30vdGVzdC90ZXN0LWdlb2lwLWlzcC5jIFwKKwkgICR7U30vdGVzdC90ZXN0LWdlb2lwLWFzbnVtLmMgXAorCSAgJHtTfS90ZXN0L3Rlc3QtZ2VvaXAtbmV0c3BlZWQuYyBcCisJICAke1N9L3Rlc3QvdGVzdC1nZW9pcC1vcmcuYyBcCisJICAke1N9L3Rlc3QvdGVzdC1nZW9pcC1yZWdpb24uYworfQorCisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisJb2VfcnVubWFrZSAtQyB0ZXN0IERFU1RESVI9JHtEfSAgaW5zdGFsbC10ZXN0UFJPR1JBTVMKKwlpbnN0YWxsICR7U30vdGVzdC8qLnR4dCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cworfQorCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwdXBkYXRlLTIuMi4xL0dlb0lQLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZ2VvaXAvZ2VvaXB1cGRhdGUtMi4yLjEvR2VvSVAuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzRjZmVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwdXBkYXRlLTIuMi4xL0dlb0lQLmNvbmYKQEAgLTAsMCArMSwxMSBAQAorIyBUaGUgZm9sbG93aW5nIFVzZXJJZCBhbmQgTGljZW5zZUtleSBhcmUgcmVxdWlyZWQgcGxhY2Vob2xkZXJzOgorVXNlcklkIDk5OTk5OQorTGljZW5zZUtleSAwMDAwMDAwMDAwMDAKKworIyBJbmNsdWRlIG9uZSBvciBtb3JlIG9mIHRoZSBmb2xsb3dpbmcgUHJvZHVjdElkczoKKyMgKiBHZW9MaXRlMi1DaXR5IC0gR2VvTGl0ZSAyIENpdHkKKyMgKiBHZW9MaXRlMi1Db3VudHJ5IC0gR2VvTGl0ZTIgQ291bnRyeQorIyAqIDUwNiAtIEdlb0xpdGUgTGVnYWN5IENvdW50cnkKKyMgKiA1MTcgLSBHZW9MaXRlIExlZ2FjeSBBU04KKyMgKiA1MzMgLSBHZW9MaXRlIExlZ2FjeSBDaXR5CitQcm9kdWN0SWRzIEdlb0xpdGUyLUNpdHkgR2VvTGl0ZTItQ291bnRyeSA1MDYgNTE3IDUzMwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwdXBkYXRlLTIuMi4xL2dlb2lwdXBkYXRlLmNyb24gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZ2VvaXAvZ2VvaXB1cGRhdGUtMi4yLjEvZ2VvaXB1cGRhdGUuY3JvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDU5N2E4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwdXBkYXRlLTIuMi4xL2dlb2lwdXBkYXRlLmNyb24KQEAgLTAsMCArMSw1IEBACisjIHRvcCBvZiBjcm9udGFiCitNQUlMVE89eW91ckBlbWFpbC5jb20KKworMzIgMTEgKiAqIDQgL3Vzci9sb2NhbC9iaW4vZ2VvaXB1cGRhdGUKKyMgZW5kIG9mIGNyb250YWIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcHVwZGF0ZV8yLjIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9nZW9pcC9nZW9pcHVwZGF0ZV8yLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTNhMDAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2dlb2lwL2dlb2lwdXBkYXRlXzIuMi4xLmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiQ3JvbnRhYiBlbnRyeSB0byBwcm92aWRlIHdlZWtseSB1cGRhdGVzIG9mIHRoZSBHZW9JUCBmcmVlIGRhdGFiYXNlcy4iCitERVNDUklQVElPTiA9ICJ1cGRhdGUgZGF0YWJhc2VzIGZvciBHZW9JUCIKKworSE9NRVBBR0UgPSAiaHR0cDovL2Rldi5tYXhtaW5kLmNvbS9nZW9pcC8iCitTRUNUSU9OID0gIm5ldCIKKworREVQRU5EUyA9ICJ6bGliIGN1cmwiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL21heG1pbmQvZ2VvaXB1cGRhdGUvcmVsZWFzZXMvZG93bmxvYWQvdjIuMi4xL2dlb2lwdXBkYXRlLTIuMi4xLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9HZW9JUC5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2dlb2lwdXBkYXRlLmNyb24gXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImFiZmQ0YmI5ZGQ3ZmQ0ODljMTAzODg4ZGRlNWYyYTU3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk1NDdjNDJjYzg2MjBiMmMzMDQwZmQ4ZGY5NWU4ZWU0NWM4YjZlYmNjYTc3MzdkNjQxZjk1MjYxMDRkNWY0NDYiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiXAorZmlsZTovL0NoYW5nZUxvZy5tZDttZDU9NWNhM2Q5MTFlZDU0OWIwNzU2YjAzNDEwZmY3N2ZhNjIgXAorIgorCitpbmhlcml0IGF1dG90b29scworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2Nyb24uZAorICAgIGluc3RhbGwgJHtXT1JLRElSfS9HZW9JUC5jb25mICR7RH0vJHtzeXNjb25mZGlyfS8KKyAgICBpbnN0YWxsICR7V09SS0RJUn0vZ2VvaXB1cGRhdGUuY3JvbiAke0R9LyR7c3lzY29uZmRpcn0vY3Jvbi5kLworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lmZW5zbGF2ZS9pZmVuc2xhdmVfMS4xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaWZlbnNsYXZlL2lmZW5zbGF2ZV8xLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2MwODY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lmZW5zbGF2ZS9pZmVuc2xhdmVfMS4xLjAuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJDb25maWd1cmUgbmV0d29yayBpbnRlcmZhY2VzIGZvciBwYXJhbGxlbCByb3V0aW5nIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saW51eGZvdW5kYXRpb24ub3JnL2NvbGxhYm9yYXRlL3dvcmtncm91cHMvbmV0d29ya2luZy9ib25kaW5nIgorU0VDVElPTiA9ICJuZXQiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9pZmVuc2xhdmUuYztiZWdpbmxpbmU9ODtlbmRsaW5lPTEyO21kNT1hOWYwYmQyMzI0Y2RjMWIzNmQxZjQ0ZjBlNjQzYTYyYSIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wvbWFpbi9pLyR7QlBOfS0yLjYvJHtCUE59LTIuNl8ke1BWfS5vcmlnLnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NjEyNmNkMTAxM2NlZmUwY2U2ZjgxNjEzZTY3N2JkZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3OTE3YmYzNGRlODBhMjQ5MmViMjI1YWRmOTE2OGM4M2E0ODU0YWM4YTAwOGVkMGZkNWIzZmQxNDdjY2QzMDQxIgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9IGlmZW5zbGF2ZS5jIC1vIGlmZW5zbGF2ZQorfQorZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICIke0R9JHtzYmluZGlyfSIKKyAgICBpbnN0YWxsIC1tIDc1NSAiJHtTfS9pZmVuc2xhdmUiICIke0R9JHtzYmluZGlyfS8iCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaWZ0b3AvaWZ0b3BfMS4wcHJlNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pZnRvcC9pZnRvcF8xLjBwcmU0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjOGU0OTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaWZ0b3AvaWZ0b3BfMS4wcHJlNC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gImlmdG9wIGRvZXMgZm9yIG5ldHdvcmsgdXNhZ2Ugd2hhdCB0b3AoMSkgZG9lcyBmb3IgQ1BVIHVzYWdlIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5leC1wYXJyb3QuY29tL3Bkdy9pZnRvcC8iCitTRUNUSU9OID0gIm5ldCIKK0RFUEVORFMgPSAibGlicGNhcCBuY3Vyc2VzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzY0OTgxNzA3OThkYjBmNGYwZmI2ODVhMjI1ZjcwMmYiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5leC1wYXJyb3QuY29tL3Bkdy9pZnRvcC9kb3dubG9hZC9pZnRvcC0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiN2U2ZGVjYjQ5NThlOGE0ODkwY2NjYWMzMzUyMzlmMjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjczM2VlZWEzNzFhNzU3N2Y4ZmUzNTNkODZkZDg4ZDE2ZjViMmEyZTcwMmJkOTZmNWZmYjJjMTk3ZDliNGY5NyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy8wMDAxLXJhY29vbi1wZmtleS1hdm9pZC1wb3RlbnRpYWwtbnVsbC1wb2ludGVyLWRlcmVmZXJlbmMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvMDAwMS1yYWNvb24tcGZrZXktYXZvaWQtcG90ZW50aWFsLW51bGwtcG9pbnRlci1kZXJlZmVyZW5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NjAyYzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvMDAwMS1yYWNvb24tcGZrZXktYXZvaWQtcG90ZW50aWFsLW51bGwtcG9pbnRlci1kZXJlZmVyZW5jLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gNzM4YTk4NTdiZTljOTJhZDJmNzBiZTg4Y2NlZTIzOGUzMTU0YTkzNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvZSBNYWNEb25hbGQgPGpvZS5tYWNkb25hbGRAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMiBPY3QgMjAxMyAxNDoyMDozNyAtMDQwMAorU3ViamVjdDogW1BBVENIXSByYWNvb24vcGZrZXk6IGF2b2lkIHBvdGVudGlhbCBudWxsLXBvaW50ZXIgZGVyZWZlcmVuY2UKKworQnVpbGRpbmcgd2l0aCAtV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWQgcmV2ZWFsZWQgdGhhdCAncmVtb3RlJyBmcm9tCitwa19yZWN2bWlncmF0ZSgpIGNvdWxkIGJlIHVzZWQgd2l0aCB1bmluaXRpYWxpemVkIGRhdGEgaW4KK21pZ3JhdGVfc3BfaWtlX2FkZHJlc3NlcygpLiAgRW5zdXJlIGl0IGlzIGFsd2F5cyBhdCBhIG1pbmltdW0gYXNzaWduZWQKK05VTEwuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2UubWFjZG9uYWxkQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvcmFjb29uL3Bma2V5LmMgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvcmFjb29uL3Bma2V5LmMgYi9zcmMvcmFjb29uL3Bma2V5LmMKK2luZGV4IGQwMGIxNjYuLmUwZGMxZGIgMTAwNjQ0CistLS0gYS9zcmMvcmFjb29uL3Bma2V5LmMKKysrKyBiL3NyYy9yYWNvb24vcGZrZXkuYworQEAgLTMzNTIsNyArMzM1Miw3IEBAIHBrX3JlY3ZtaWdyYXRlKG1ocCkKKyAJc3RydWN0IHNvY2thZGRyICpvbGRfc2FkZHIsICpuZXdfc2FkZHI7CisgCXN0cnVjdCBzb2NrYWRkciAqb2xkX2RhZGRyLCAqbmV3X2RhZGRyOworIAlzdHJ1Y3Qgc29ja2FkZHIgKm9sZF9sb2NhbCwgKm9sZF9yZW1vdGU7CistCXN0cnVjdCBzb2NrYWRkciAqbG9jYWwsICpyZW1vdGU7CisrCXN0cnVjdCBzb2NrYWRkciAqbG9jYWwsICpyZW1vdGUgPSBOVUxMOworIAlzdHJ1Y3Qgc2FkYl94X2ttYWRkcmVzcyAqa21hZGRyOworIAlzdHJ1Y3Qgc2FkYl94X3BvbGljeSAqeHBsOworIAlzdHJ1Y3Qgc2FkYl94X2lwc2VjcmVxdWVzdCAqeGlzcl9saXN0OworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy8wMDAyLURvbi10LWxpbmstYWdhaW5zdC1saWJmbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy8wMDAyLURvbi10LWxpbmstYWdhaW5zdC1saWJmbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xM2U5ZDczCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzLzAwMDItRG9uLXQtbGluay1hZ2FpbnN0LWxpYmZsLnBhdGNoCkBAIC0wLDAgKzEsODcgQEAKK0Zyb20gZTQ4YjkwOTdkY2U3YmMyYmZiYjllOWM1NDIxMjRkM2I1Y2ViYWIzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBhdWwgQmFya2VyIDxwYXVsQHBhdWxiYXJrZXIubWUudWs+CitEYXRlOiBXZWQsIDUgTWFyIDIwMTQgMTM6Mzk6MTQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG9uJ3QgbGluayBhZ2FpbnN0IGxpYmZsCisKK1dlIGNhbiByZW1vdmUgYWxsIHJlZmVyZW5jZXMgdG8geXl3cmFwIGJ5IGFkZGluZyAiJW9wdGlvbiBub3l5d3JhcCIgc3RhdGVtZW50cwordG8gZWFjaCBmbGV4IHNvdXJjZSBmaWxlIHRoYXQgZG9lc24ndCBvdmVycmlkZSB5eXdyYXAuIEFmdGVyIHRoaXMsIHdlIG5vIGxvbmdlcgorbmVlZCB0byBsaW5rIGFnYWluc3QgbGliZmwgYW5kIHNvIG5vIGxvbmdlciBnZXQgZXJyb3JzIGFib3V0IHVuZGVmaW5lZAorcmVmZXJlbmNlcyB0byB5eWxleC4KKworU2lnbmVkLW9mZi1ieTogUGF1bCBCYXJrZXIgPHBhdWxAcGF1bGJhcmtlci5tZS51az4KK1Vwc3RyZWFtLXN0YXR1czogU3VibWl0dGVkIDIwMTQtMDMtMTEKKyAgICBzZWUgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wL2lwc2VjLXRvb2xzL21haWxtYW4vaXBzZWMtdG9vbHMtZGV2ZWwvdGhyZWFkL0NBTnlLXzhld214R0EzdkJWSlc2czFBUFhQbXhQUiUyQkRGV1o2MUVMOHBDdDI4OGFLUTZ3JTQwbWFpbC5nbWFpbC5jb20vI21zZzMyMDg4Nzk3CistLS0KKyBzcmMvbGliaXBzZWMvTWFrZWZpbGUuYW0gfCAxIC0KKyBzcmMvcmFjb29uL01ha2VmaWxlLmFtICAgfCAyICstCisgc3JjL3JhY29vbi9jZnRva2VuLmwgICAgIHwgMiArKworIHNyYy9zZXRrZXkvTWFrZWZpbGUuYW0gICB8IDEgLQorIHNyYy9zZXRrZXkvdG9rZW4ubCAgICAgICB8IDIgKysKKyA1IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWJpcHNlYy9NYWtlZmlsZS5hbSBiL3NyYy9saWJpcHNlYy9NYWtlZmlsZS5hbQoraW5kZXggNmE0ZTNiMy4uZGYxZTEwNiAxMDA2NDQKKy0tLSBhL3NyYy9saWJpcHNlYy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2xpYmlwc2VjL01ha2VmaWxlLmFtCitAQCAtMjYsNyArMjYsNiBAQCBsaWJpcHNlY19sYV9TT1VSQ0VTID0gXAorICMgdmVyc2lvbiBpcyBjdXJyZW50OnJldmlzaW9uOmFnZS4KKyAjIFNlZTogaHR0cDovL3d3dy5nbnUub3JnL21hbnVhbC9saWJ0b29sLTEuNC4yL2h0bWxfY2hhcHRlci9saWJ0b29sXzYuaHRtbCNTRUMzMgorIGxpYmlwc2VjX2xhX0xERkxBR1MgPSAtdmVyc2lvbi1pbmZvIDA6MTowCistbGliaXBzZWNfbGFfTElCQUREID0gJChMRVhMSUIpCisgCisgbm9pbnN0X0hFQURFUlMgPSBpcHNlY19zdHJlcnJvci5oCisgCitkaWZmIC0tZ2l0IGEvc3JjL3JhY29vbi9NYWtlZmlsZS5hbSBiL3NyYy9yYWNvb24vTWFrZWZpbGUuYW0KK2luZGV4IGRiYWRlZDkuLjA2NjI5NTcgMTAwNjQ0CistLS0gYS9zcmMvcmFjb29uL01ha2VmaWxlLmFtCisrKysgYi9zcmMvcmFjb29uL01ha2VmaWxlLmFtCitAQCAtMzgsNyArMzgsNyBAQCByYWNvb25fU09VUkNFUyA9IFwKKyAJY2Z0b2tlbi5sIGNmcGFyc2UueSBwcnNhX3Rvay5sIHByc2FfcGFyLnkgCisgRVhUUkFfcmFjb29uX1NPVVJDRVMgPSBpc2FrbXBfeGF1dGguYyBpc2FrbXBfY2ZnLmMgaXNha21wX3VuaXR5LmMgdGhyb3R0bGUuYyBcCisgCWlzYWttcF9mcmFnLmMgbmF0dHJhdmVyc2FsLmMgc2VjdXJpdHkuYyAkKE1JU1NJTkdfQUxHT1MpCistcmFjb29uX0xEQUREID0gJChDUllQVE9CSlMpICQoSFlCUklEX09CSlMpICQoTkFUVF9PQkpTKSAkKEZSQUdfT0JKUykgJChMRVhMSUIpIFwKKytyYWNvb25fTERBREQgPSAkKENSWVBUT0JKUykgJChIWUJSSURfT0JKUykgJChOQVRUX09CSlMpICQoRlJBR19PQkpTKSBcCisgCSAkKFNFQ0NUWF9PQkpTKSB2bWJ1Zi5vIHNvY2ttaXNjLm8gbWlzYy5vIC4uL2xpYmlwc2VjL2xpYmlwc2VjLmxhCisgcmFjb29uX0RFUEVOREVOQ0lFUyA9IFwKKyAJJChDUllQVE9CSlMpICQoSFlCUklEX09CSlMpICQoTkFUVF9PQkpTKSAkKEZSQUdfT0JKUykgJChTRUNDVFhfT0JKUykgXAorZGlmZiAtLWdpdCBhL3NyYy9yYWNvb24vY2Z0b2tlbi5sIGIvc3JjL3JhY29vbi9jZnRva2VuLmwKK2luZGV4IDQ5MDI0MmMuLjE3MDE5MjIgMTAwNjQ0CistLS0gYS9zcmMvcmFjb29uL2NmdG9rZW4ubAorKysrIGIvc3JjL3JhY29vbi9jZnRva2VuLmwKK0BAIC0xMDYsNiArMTA2LDggQEAgc3RhdGljIGludCBpbmNzdGFja3AgPSAwOworIHN0YXRpYyBpbnQgeXlfZmlyc3RfdGltZSA9IDE7CisgJX0KKyAKKyslb3B0aW9uIG5veXl3cmFwCisrCisgLyogY29tbW9uIHNlY2l0b24gKi8KKyBubAkJXG4KKyB3cwkJWyBcdF0rCitkaWZmIC0tZ2l0IGEvc3JjL3NldGtleS9NYWtlZmlsZS5hbSBiL3NyYy9zZXRrZXkvTWFrZWZpbGUuYW0KK2luZGV4IDc0NmMxZjEuLjM4OWU2Y2YgMTAwNjQ0CistLS0gYS9zcmMvc2V0a2V5L01ha2VmaWxlLmFtCisrKysgYi9zcmMvc2V0a2V5L01ha2VmaWxlLmFtCitAQCAtMTMsNyArMTMsNiBAQCBzZXRrZXlfU09VUkNFUyA9IFwKKyAKKyBzZXRrZXlfTERGTEFHUyA9IC4uL2xpYmlwc2VjL2xpYmlwc2VjLmxhCisgc2V0a2V5X0RFUEVOREVOQ0lFUyA9IC4uL2xpYmlwc2VjL2xpYmlwc2VjLmxhCistc2V0a2V5X0xEQUREID0gJChMRVhMSUIpCisgCisgbm9pbnN0X0hFQURFUlMgPSB2Y2hhci5oIGV4dGVybi5oCisgbWFuOF9NQU5TID0gc2V0a2V5LjgKK2RpZmYgLS1naXQgYS9zcmMvc2V0a2V5L3Rva2VuLmwgYi9zcmMvc2V0a2V5L3Rva2VuLmwKK2luZGV4IGFkM2Q4NDMuLmViMjNiNzYgMTAwNjQ0CistLS0gYS9zcmMvc2V0a2V5L3Rva2VuLmwKKysrKyBiL3NyYy9zZXRrZXkvdG9rZW4ubAorQEAgLTg4LDYgKzg4LDggQEAKKyAjZW5kaWYKKyAlfQorIAorKyVvcHRpb24gbm95eXdyYXAKKysKKyAvKiBjb21tb24gc2VjdGlvbiAqLworIG5sCQlcbgorIHdzCQlbIFx0XSsKKy0tIAorMS45LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQyNzBhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IGlwc2VjLXRvb2xzLTAuOC4xL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGlwc2VjLXRvb2xzLTAuOC4xLm9yaWcvY29uZmlndXJlLmFjCTIwMTMtMDEtMDggMTI6NDM6MjkuMDAwMDAwMDAwICswMDAwCisrKysgaXBzZWMtdG9vbHMtMC44LjEvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMDc6NTE6MzAuMDQ1NTU1ODgwICswMDAwCitAQCAtNiw3ICs2LDcgQEAKKyBBQ19DT05GSUdfU1JDRElSKFtjb25maWd1cmUuYWNdKQorIEFDX0NPTkZJR19IRUFERVJTKGNvbmZpZy5oKQorIAorLUFNX0lOSVRfQVVUT01BS0UoZGlzdC1iemlwMikKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduIGRpc3QtYnppcDJdKQorIAorIEFDX0VOQUJMRV9TSEFSRUQobm8pCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvZml4LUNWRS0yMDE1LTQwNDcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvZml4LUNWRS0yMDE1LTQwNDcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI4NjM3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9maXgtQ1ZFLTIwMTUtNDA0Ny5wYXRjaApAQCAtMCwwICsxLDM2IEBACitbUEFUQ0hdIGZpeCBDVkUtMjAxNS00MDQ3CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMTUvMDUvMjAvMQorCityYWNvb24vZ3NzYXBpLmMgaW4gSVBzZWMtVG9vbHMgMC44LjIgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gY2F1c2UKK2EgZGVuaWFsIG9mIHNlcnZpY2UgKE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhbmQgSUtFIGRhZW1vbiBjcmFzaCkgdmlhCithIHNlcmllcyBvZiBjcmFmdGVkIFVEUCByZXF1ZXN0cy4KKworaHR0cHM6Ly93ZWIubnZkLm5pc3QuZ292L3ZpZXcvdnVsbi9kZXRhaWw/dnVsbklkPUNWRS0yMDE1LTQwNDcKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL3JhY29vbi9nc3NhcGkuYyB8IDUgKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvcmFjb29uL2dzc2FwaS5jIGIvc3JjL3JhY29vbi9nc3NhcGkuYworaW5kZXggZTY0YjIwMS4uMWFkM2I0MiAxMDA2NDQKKy0tLSBhL3NyYy9yYWNvb24vZ3NzYXBpLmMKKysrKyBiL3NyYy9yYWNvb24vZ3NzYXBpLmMKK0BAIC0xOTIsNiArMTkyLDExIEBAIGdzc2FwaV9pbml0KHN0cnVjdCBwaDFoYW5kbGUgKmlwaDEpCisgCWdzc19uYW1lX3QgcHJpbmMsIGNhbm9uX3ByaW5jOworIAlPTV91aW50MzIgbWFqX3N0YXQsIG1pbl9zdGF0OworIAorKwlpZiAoaXBoMS0+cm1jb25mID09IE5VTEwpIHsKKysJICAgICAgICBwbG9nKExMVl9FUlJPUiwgTE9DQVRJT04sIE5VTEwsICJubyByZW1vdGUgY29uZmlnXG4iKTsKKysJICAgICAgICByZXR1cm4gLTE7CisrCX0KKysKKyAJZ3BzID0gcmFjb29uX2NhbGxvYygxLCBzaXplb2YgKHN0cnVjdCBnc3NhcGlfcGgxX3N0YXRlKSk7CisgCWlmIChncHMgPT0gTlVMTCkgeworIAkJcGxvZyhMTFZfRVJST1IsIExPQ0FUSU9OLCBOVUxMLCAicmFjb29uX2NhbGxvYyBmYWlsZWRcbiIpOworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvZ2xpYmMtMi4yMC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9nbGliYy0yLjIwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2ZWZjNDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvZ2xpYmMtMi4yMC5wYXRjaApAQCAtMCwwICsxLDIzIEBACitzcXVhaGVzIGJlbG93IHdhcm5pbmcKKyAgd2FybmluZzogI3dhcm5pbmcgIl9CU0RfU09VUkNFIGFuZCBfU1ZJRF9TT1VSQ0UgYXJlIGRlcHJlY2F0ZWQsIHVzZSBfREVGQVVMVF9TT1VSQ0UiCisKK1NlZW4gd2l0aCBnbGliYyAyLjIwCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK0luZGV4OiBpcHNlYy10b29scy0wLjguMi9zcmMvaW5jbHVkZS1nbGliYy9nbGliYy1idWdzLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBpcHNlYy10b29scy0wLjguMi5vcmlnL3NyYy9pbmNsdWRlLWdsaWJjL2dsaWJjLWJ1Z3MuaAkyMDA2LTA5LTA5IDA5OjIyOjA4LjAwMDAwMDAwMCAtMDcwMAorKysrIGlwc2VjLXRvb2xzLTAuOC4yL3NyYy9pbmNsdWRlLWdsaWJjL2dsaWJjLWJ1Z3MuaAkyMDE0LTA5LTAzIDIyOjI3OjIyLjU1MTU2Mzg4OCAtMDcwMAorQEAgLTQsNyArNCwxMSBAQAorICNkZWZpbmUgX19HTElCQ19CVUdTX0hfXyAxCisgCisgI2RlZmluZSBfWE9QRU5fU09VUkNFIDUwMAorKy8qIExlZ2FjeSBmZWF0dXJlIG1hY3JvLiovCisgI2RlZmluZSBfQlNEX1NPVVJDRQorKy8qIE5ldyBmZWF0dXJlIG1hY3JvIHRoYXQgcHJvdmlkZXMgZXZlcnl0aGluZyBfQlNEX1NPVVJDRSBhbmQKKysgKiBfU1ZJRF9TT1VSQ0UgcHJvdmlkZWQgYW5kIHBvc3NpYmx5IG1vcmUuICAqLworKyNkZWZpbmUgX0RFRkFVTFRfU09VUkNFCisgCisgI2luY2x1ZGUgPGZlYXR1cmVzLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi1SZXNlbmQtVVBEQVRFLW1lc3NhZ2Utd2hlbi1yZWNlaXZlZC1FSU5UUi1tZXNzYWdlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi1SZXNlbmQtVVBEQVRFLW1lc3NhZ2Utd2hlbi1yZWNlaXZlZC1FSU5UUi1tZXNzYWdlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4MmRiMDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvcmFjb29uLVJlc2VuZC1VUERBVEUtbWVzc2FnZS13aGVuLXJlY2VpdmVkLUVJTlRSLW1lc3NhZ2UucGF0Y2gKQEAgLTAsMCArMSwyMjAgQEAKK3JhY29vbjogUmVzZW5kIFVQREFURSBtZXNzYWdlIHdoZW4gcmVjZWl2ZWQgRUlOVFIgbWVzc2FnZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworV2hpbGUga2VybmVsIGlzIHByb2Nlc3NpbmcgdGhlIFVQREFURSBtZXNzYWdlIHdoaWNoIGlzIHNlbnQgZnJvbSByYWNvb24sCitpdCBtYXliZSBpbnRlcnJ1cHRlZCBieSBzeXN0ZW0gc2lnbmFsIGFuZCBpZiB0aGlzIGNhc2UgaGFwcGVucywKK2tlcm5lbCByZXNwb25kcyB3aXRoIGFuIEVJTlRSIG1lc3NhZ2UgdG8gcmFjb29uIGFuZCBrZXJuZWwgZmFpbHMgdG8KK2VzdGFibGlzaCB0aGUgY29ycmVzcG9uZGluZyBTQS4KK0ZpeCB0aGlzIHByb2JsZW0gYnkgcmVzZW5kIHRoZSBVUERBVEUgbWVzc2FnZSB3aGVuIEVJTlRSKEludGVycnVwdGVkCitzeXN0ZW0gY2FsbCkgZXJyb3IgaGFwcGVucy4KKworU2lnbmVkLW9mZi1ieTogWHVmZW5nIFpoYW5nIDx4dWZlbmcuemhhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorLS0tIGEvc3JjL2xpYmlwc2VjL2xpYnBma2V5LmgKKysrKyBiL3NyYy9saWJpcHNlYy9saWJwZmtleS5oCitAQCAtOTIsNiArOTIsMTIgQEAKKyAJdV9pbnQxNl90IGN0eHN0cmxlbjsJCS8qIGxlbmd0aCBvZiBzZWN1cml0eSBjb250ZXh0IHN0cmluZyAqLworIH07CisgCisrc3RydWN0IHVwZGF0ZV9tc2dfaW5mbyB7CisrICAgICAgICBzdHJ1Y3Qgc2FkYl9tc2cgKnVwZGF0ZV9tc2c7CisrICAgICAgICBpbnQgc287CisrICAgICAgICBpbnQgbGVuOworK307CisrCisgLyogVGhlIG9wdGlvbnMgYnVpbHQgaW50byBsaWJpcHNlYyAqLworIGV4dGVybiBpbnQgbGliaXBzZWNfb3B0OworICNkZWZpbmUgTElCSVBTRUNfT1BUX05BVFQJCTB4MDEKKy0tLSBhL3NyYy9saWJpcHNlYy9wZmtleS5jCisrKysgYi9zcmMvbGliaXBzZWMvcGZrZXkuYworQEAgLTEyMTksNyArMTIxOSw4IEBACisgfQorICNlbmRpZgorIAorLQorK3N0cnVjdCB1cGRhdGVfbXNnX2luZm8gdXBkYXRlX21zZ19zZW5kID0ge05VTEwsIDAsIDB9OworKworIC8qIHNlbmRpbmcgU0FEQl9BREQgb3IgU0FEQl9VUERBVEUgbWVzc2FnZSB0byB0aGUga2VybmVsICovCisgc3RhdGljIGludAorIHBma2V5X3NlbmRfeDEoc3RydWN0IHBma2V5X3NlbmRfc2FfYXJncyAqc2FfcGFybXMpCitAQCAtMTQ4MywxMCArMTQ4NCwyNCBAQAorIAorIAkvKiBzZW5kIG1lc3NhZ2UgKi8KKyAJbGVuID0gcGZrZXlfc2VuZChzYV9wYXJtcy0+c28sIG5ld21zZywgbGVuKTsKKy0JZnJlZShuZXdtc2cpOworIAorLQlpZiAobGVuIDwgMCkKKy0JCXJldHVybiAtMTsKKysJaWYgKG5ld21zZy0+c2FkYl9tc2dfdHlwZSA9PSBTQURCX1VQREFURSkgeworKwkJaWYgKHVwZGF0ZV9tc2dfc2VuZC51cGRhdGVfbXNnKQorKwkJCWZyZWUodXBkYXRlX21zZ19zZW5kLnVwZGF0ZV9tc2cpOworKwkJdXBkYXRlX21zZ19zZW5kLnVwZGF0ZV9tc2cgPSBuZXdtc2c7CisrCQl1cGRhdGVfbXNnX3NlbmQuc28gPSBzYV9wYXJtcy0+c287CisrCQl1cGRhdGVfbXNnX3NlbmQubGVuID0gbGVuOworKworKwkJaWYgKGxlbiA8IDApIHsKKysJCQlmcmVlKHVwZGF0ZV9tc2dfc2VuZC51cGRhdGVfbXNnKTsKKysJCQl1cGRhdGVfbXNnX3NlbmQudXBkYXRlX21zZyA9IE5VTEw7CisrCQkJcmV0dXJuIC0xOworKwkJfQorKwl9IGVsc2UgeworKwkJZnJlZShuZXdtc2cpOworKwkJaWYgKGxlbiA8IDApCisrCQkJcmV0dXJuIC0xOworKwl9CisgCisgCV9faXBzZWNfZXJyY29kZSA9IEVJUFNFQ19OT19FUlJPUjsKKyAJcmV0dXJuIGxlbjsKKy0tLSBhL3NyYy9yYWNvb24vc2Vzc2lvbi5jCisrKysgYi9zcmMvcmFjb29uL3Nlc3Npb24uYworQEAgLTEwMCw2ICsxMDAsOCBAQAorIAorICNpbmNsdWRlICJzYWluZm8uaCIKKyAKKytleHRlcm4gc3RydWN0IHVwZGF0ZV9tc2dfaW5mbyB1cGRhdGVfbXNnX3NlbmQ7CisrCisgc3RydWN0IGZkX21vbml0b3IgeworIAlpbnQgKCpjYWxsYmFjaykodm9pZCAqY3R4LCBpbnQgZmQpOworIAl2b2lkICpjdHg7CitAQCAtMzQ4LDYgKzM1MCwxMSBAQAorIAljbG9zZV9zb2NrZXRzKCk7CisgCWJhY2t1cHNhX2NsZWFuKCk7CisgCisrCWlmICh1cGRhdGVfbXNnX3NlbmQudXBkYXRlX21zZykgeworKwkJZnJlZSh1cGRhdGVfbXNnX3NlbmQudXBkYXRlX21zZyk7CisrCQl1cGRhdGVfbXNnX3NlbmQudXBkYXRlX21zZyA9IE5VTEw7CisrCX0KKysKKyAJcGxvZyhMTFZfSU5GTywgTE9DQVRJT04sIE5VTEwsICJyYWNvb24gcHJvY2VzcyAlZCBzaHV0ZG93blxuIiwgZ2V0cGlkKCkpOworIAorIAlleGl0KDApOworLS0tIGEvc3JjL3JhY29vbi9wZmtleS5jCisrKysgYi9zcmMvcmFjb29uL3Bma2V5LmMKK0BAIC0xMDMsMTAgKzEwMywxMiBAQAorICNpbmNsdWRlICJjcnlwdG9fb3BlbnNzbC5oIgorICNpbmNsdWRlICJncmFibXlhZGRyLmgiCisrI2luY2x1ZGUgIi4uL2xpYmlwc2VjL2xpYnBma2V5LmgiCisgCisgI2lmIGRlZmluZWQoU0FEQl9YX0VBTEdfUklKTkRBRUxDQkMpICYmICFkZWZpbmVkKFNBREJfWF9FQUxHX0FFU0NCQykKKyAjZGVmaW5lIFNBREJfWF9FQUxHX0FFU0NCQyAgU0FEQl9YX0VBTEdfUklKTkRBRUxDQkMKKyAjZW5kaWYKKyAKKytleHRlcm4gc3RydWN0IHVwZGF0ZV9tc2dfaW5mbyB1cGRhdGVfbXNnX3NlbmQ7CisgLyogcHJvdG90eXBlICovCisgc3RhdGljIHVfaW50IGlwc2VjZG9pMnBma2V5X2FhbGcgX19QKCh1X2ludCkpOworIHN0YXRpYyB1X2ludCBpcHNlY2RvaTJwZmtleV9lYWxnIF9fUCgodV9pbnQpKTsKK0BAIC0yNTMsNiArMjU1LDEzIEBACisgCQkJc19wZmtleV90eXBlKG1zZy0+c2FkYl9tc2dfdHlwZSksCisgCQkJc3RyZXJyb3IobXNnLT5zYWRiX21zZ19lcnJubykpOworIAorKwkJaWYgKG1zZy0+c2FkYl9tc2dfZXJybm8gPT0gRUlOVFIgJiYKKysJCQl1cGRhdGVfbXNnX3NlbmQudXBkYXRlX21zZykgeworKwkJCXBsb2coTExWX0RFQlVHLCBMT0NBVElPTiwgTlVMTCwKKysJCQkicGZrZXkgdXBkYXRlIHJlc2VuZFxuIik7CisrCQkJc2VuZCh1cGRhdGVfbXNnX3NlbmQuc28sICh2b2lkICopdXBkYXRlX21zZ19zZW5kLnVwZGF0ZV9tc2csIChzb2NrbGVuX3QpdXBkYXRlX21zZ19zZW5kLmxlbiwgMCk7CisrCQl9CisrCisgCQlnb3RvIGVuZDsKKyAJfQorIAorQEAgLTQ5OCw2ICs1MDcsMTEgQEAKKyB7CisgCWZsdXNoc3AoKTsKKyAKKysJaWYgKHVwZGF0ZV9tc2dfc2VuZC51cGRhdGVfbXNnKSB7CisrCQlmcmVlKHVwZGF0ZV9tc2dfc2VuZC51cGRhdGVfbXNnKTsKKysJCXVwZGF0ZV9tc2dfc2VuZC51cGRhdGVfbXNnID0gTlVMTDsKKysJfQorKworIAlpZiAocGZrZXlfc2VuZF9zcGRkdW1wKGxjY29uZi0+c29ja19wZmtleSkgPCAwKSB7CisgCQlwbG9nKExMVl9FUlJPUiwgTE9DQVRJT04sIE5VTEwsCisgCQkJImxpYmlwc2VjIHNlbmRpbmcgc3BkZHVtcCBmYWlsZWQ6ICVzXG4iLAorQEAgLTEyOTUsNiArMTMwOSw4IEBACisgCXJldHVybiAwOworIH0KKyAKKytpbnQgdXBkYXRlX3JlY2VpdmVkID0gMDsKKysKKyBzdGF0aWMgaW50CisgcGtfcmVjdnVwZGF0ZShtaHApCisgCWNhZGRyX3QgKm1ocDsKK0BAIC0xMzA3LDYgKzEzMjMsMTMgQEAKKyAJaW50IGluY29tcGxldGUgPSAwOworIAlzdHJ1Y3Qgc2Fwcm90byAqcHI7CisgCisrCXVwZGF0ZV9yZWNlaXZlZCA9IDE7CisrCisrCWlmICh1cGRhdGVfbXNnX3NlbmQudXBkYXRlX21zZykgeworKyAgICAgICAgICAgICAgICBmcmVlKHVwZGF0ZV9tc2dfc2VuZC51cGRhdGVfbXNnKTsKKysgICAgICAgICAgICAgICAgdXBkYXRlX21zZ19zZW5kLnVwZGF0ZV9tc2cgPSBOVUxMOworKyAgICAgICAgfQorKworIAkvKiBpZ25vcmUgdGhpcyBtZXNzYWdlIGJlY2F1c2Ugb2YgbG9jYWwgdGVzdCBtb2RlLiAqLworIAlpZiAoZl9sb2NhbCkKKyAJCXJldHVybiAwOworQEAgLTQxNjMsMyArNDE4Niw4IEBACisgCisgCXJldHVybiBidWY7CisgfQorKworK2ludCByZWNlaXZlX2Zyb21faXNha21wKCkKKyt7CisrCXJldHVybiBwZmtleV9oYW5kbGVyKE5VTEwsIGxjY29uZi0+c29ja19wZmtleSk7CisrfQorLS0tIGEvc3JjL3JhY29vbi9wZmtleS5oCisrKysgYi9zcmMvcmFjb29uL3Bma2V5LmgKK0BAIC03MSw1ICs3MSw2IEBACisgZXh0ZXJuIHVfaW50MzJfdCBwa19nZXRzZXEgX19QKCh2b2lkKSk7CisgZXh0ZXJuIGNvbnN0IGNoYXIgKnNhZGJzZWNhczJzdHIKKyAJX19QKChzdHJ1Y3Qgc29ja2FkZHIgKiwgc3RydWN0IHNvY2thZGRyICosIGludCwgdV9pbnQzMl90LCBpbnQpKTsKKytleHRlcm4gaW50IHJlY2VpdmVfZnJvbV9pc2FrbXAgX19QKCh2b2lkKSk7CisgCisgI2VuZGlmIC8qIF9QRktFWV9IICovCistLS0gYS9zcmMvcmFjb29uL2lzYWttcF9xdWljay5jCisrKysgYi9zcmMvcmFjb29uL2lzYWttcF9xdWljay5jCitAQCAtNzc0LDYgKzc3NCw4IEBACisgCXJldHVybiBlcnJvcjsKKyB9CisgCisrZXh0ZXJuIGludCB1cGRhdGVfcmVjZWl2ZWQ7CisrCisgLyoKKyAgKiBzZW5kIHRvIHJlc3BvbmRlcgorICAqIAlIRFIqLCBIQVNIKDMpCitAQCAtODkyLDYgKzg5NCwxMSBAQAorIAl9CisgCXBsb2coTExWX0RFQlVHLCBMT0NBVElPTiwgTlVMTCwgInBma2V5IHVwZGF0ZSBzZW50LlxuIik7CisgCisrCXdoaWxlICghdXBkYXRlX3JlY2VpdmVkKQorKwkJcmVjZWl2ZV9mcm9tX2lzYWttcCgpOworKworKwl1cGRhdGVfcmVjZWl2ZWQgPSAwOworKworIAkvKiBEbyBBREQgZm9yIHJlc3BvbmRlciAqLworIAlpZiAocGtfc2VuZGFkZChpcGgyKSA8IDApIHsKKyAJCXBsb2coTExWX0VSUk9SLCBMT0NBVElPTiwgTlVMTCwgInBma2V5IGFkZCBmYWlsZWQuXG4iKTsKK0BAIC0xMDM1LDYgKzEwNDIsMTEgQEAKKyAJfQorIAlwbG9nKExMVl9ERUJVRywgTE9DQVRJT04sIE5VTEwsICJwZmtleSB1cGRhdGUgc2VudC5cbiIpOworIAorKwl3aGlsZSAoIXVwZGF0ZV9yZWNlaXZlZCkKKysJCXJlY2VpdmVfZnJvbV9pc2FrbXAoKTsKKysKKysJdXBkYXRlX3JlY2VpdmVkID0gMDsKKysKKyAJLyogRG8gQUREIGZvciByZXNwb25kZXIgKi8KKyAJaWYgKHBrX3NlbmRhZGQoaXBoMikgPCAwKSB7CisgCQlwbG9nKExMVl9FUlJPUiwgTE9DQVRJT04sIE5VTEwsICJwZmtleSBhZGQgZmFpbGVkLlxuIik7CitAQCAtMTk4OSw2ICsyMDAxLDExIEBACisgCX0KKyAJcGxvZyhMTFZfREVCVUcsIExPQ0FUSU9OLCBOVUxMLCAicGZrZXkgdXBkYXRlIHNlbnQuXG4iKTsKKyAKKysJd2hpbGUgKCF1cGRhdGVfcmVjZWl2ZWQpCisrCQlyZWNlaXZlX2Zyb21faXNha21wKCk7CisrCisrCXVwZGF0ZV9yZWNlaXZlZCA9IDA7CisrCisgCS8qIERvIEFERCBmb3IgcmVzcG9uZGVyICovCisgCWlmIChwa19zZW5kYWRkKGlwaDIpIDwgMCkgeworIAkJcGxvZyhMTFZfRVJST1IsIExPQ0FUSU9OLCBOVUxMLCAicGZrZXkgYWRkIGZhaWxlZC5cbiIpOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi1jaGVjay1pbnZhbGlkLWl2bS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9yYWNvb24tY2hlY2staW52YWxpZC1pdm0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI3MmJjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9yYWNvb24tY2hlY2staW52YWxpZC1pdm0ucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorU3ViamVjdDogW1BBVENIXSBpcHNlYy10b29sczogcmFjb29uOiBjaGVjayBzZXZlcmFsIGludmFsaWQgaXZtCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitBZGQgY2hlY2tpbmcgZm9yIGludmFsaWQgaXZtLCBvciBpdCB3aWxsIGNyYXNoIHJhY29vbi4KKworU2lnbmVkLW9mZi1ieTogTWluZyBMaXUgPG1pbmcubGl1QHdpbmRyaXZlci5jb20+CistLS0KKyBpc2FrbXBfY2ZnLmMgfCAgICA1ICsrKysrCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQorCitkaWZmIC11cnBOIGEvc3JjL3JhY29vbi9pc2FrbXBfY2ZnLmMgYi9zcmMvcmFjb29uL2lzYWttcF9jZmcuYworLS0tIGEvc3JjL3JhY29vbi9pc2FrbXBfY2ZnLmMKKysrKyBiL3NyYy9yYWNvb24vaXNha21wX2NmZy5jCitAQCAtMTcxLDYgKzE3MSwxMSBAQCBpc2FrbXBfY2ZnX3IoaXBoMSwgbXNnKQorIAkgICAgaXBoMS0+bW9kZV9jZmctPmxhc3RfbXNnaWQgIT0gcGFja2V0LT5tc2dpZCApCisgCQlpcGgxLT5tb2RlX2NmZy0+aXZtID0gCisgCQkgICAgaXNha21wX2NmZ19uZXdpdihpcGgxLCBwYWNrZXQtPm1zZ2lkKTsKKysJaWYoaXBoMS0+bW9kZV9jZmctPml2bSA9PSBOVUxMKSB7CisrCQlwbG9nKExMVl9FUlJPUiwgTE9DQVRJT04sIE5VTEwsIAorKwkJICAgICJmYWlsZWQgdG8gY3JlYXRlIG5ldyBJVlxuIik7CisrCQlyZXR1cm47CisrCX0KKyAJaXZtID0gaXBoMS0+bW9kZV9jZmctPml2bTsKKyAKKyAJZG1zZyA9IG9ha2xleV9kb19kZWNyeXB0KGlwaDEsIG1zZywgaXZtLT5pdiwgaXZtLT5pdmUpOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi1jaGVjay1pbnZhbGlkLXBvaW50ZXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi1jaGVjay1pbnZhbGlkLXBvaW50ZXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlMWJkYjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvcmFjb29uLWNoZWNrLWludmFsaWQtcG9pbnRlcnMucGF0Y2gKQEAgLTAsMCArMSw2MSBAQAorU3ViamVjdDogW1BBVENIXSBpcHNlYy10b29sczogcmFjb29uOiBjaGVjayBzZXZlcmFsIGludmFsaWQgcG9pbnRlcnMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0FkZCBjaGVja2luZyBmb3IgaW52YWxpZCBwb2ludGVycywgb3IgaXQgd2lsbCBjcmFzaCByYWNvb24uCisKK1NpZ25lZC1vZmYtYnk6IE1pbmcgTGl1IDxtaW5nLmxpdUB3aW5kcml2ZXIuY29tPgorLS0tCisgaXBzZWNfZG9pLmMgICAgfCAgICA1ICsrKy0tCisgaXNha21wX2NmZy5jICAgfCAgICA3ICsrKysrKysKKyBpc2FrbXBfcXVpY2suYyB8ICAgIDYgKysrKy0tCisgMyBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC11cnBOIGEvc3JjL3JhY29vbi9pcHNlY19kb2kuYyBiL3NyYy9yYWNvb24vaXBzZWNfZG9pLmMKKy0tLSBhL3NyYy9yYWNvb24vaXBzZWNfZG9pLmMKKysrKyBiL3NyYy9yYWNvb24vaXBzZWNfZG9pLmMKK0BAIC0zMzc0LDggKzMzNzQsOSBAQCBpcHNlY2RvaV9jaGtjbXBpZHMoIGlkdCwgaWRzLCBleGFjdCApCisgCisgCS8qIGhhbmRsZSB3aWxkY2FyZCBJRHMgKi8KKyAKKy0JaWYgKGlkdCA9PSBOVUxMIHx8IGlkcyA9PSBOVUxMKQorLQl7CisrCWlmIChpZHQgPT0gTlVMTCB8fCBpZHMgPT0gTlVMTCB8fAorKwkgICAgaWR0LT52ID09IE5VTEwgfHwgaWR0LT5sID09IDAgfHwKKysJICAgIGlkcy0+diA9PSBOVUxMIHx8IGlkcy0+bCA9PSAwKSB7CisgCQlpZiggIWV4YWN0ICkKKyAJCXsKKyAJCQlwbG9nKExMVl9ERUJVRywgTE9DQVRJT04sIE5VTEwsCitkaWZmIC11cnBOIGEvc3JjL3JhY29vbi9pc2FrbXBfY2ZnLmMgYi9zcmMvcmFjb29uL2lzYWttcF9jZmcuYworLS0tIGEvc3JjL3JhY29vbi9pc2FrbXBfY2ZnLmMKKysrKyBiL3NyYy9yYWNvb24vaXNha21wX2NmZy5jCitAQCAtMTEzOCw2ICsxMTM4LDEzIEBAIGlzYWttcF9jZmdfbmV3aXYoaXBoMSwgbXNnaWQpCisgCQlyZXR1cm4gTlVMTDsKKyAJfQorIAorKwlpZiAoaXBoMS0+aXZtID09IE5VTEwgfHwgaXBoMS0+aXZtLT5pdiA9PSBOVUxMIHx8CisrCSAgICBpcGgxLT5pdm0tPml2LT52ID09IE5VTEwgfHwgaXBoMS0+aXZtLT5pdi0+bCA9PSAwKSB7CisrCQlwbG9nKExMVl9FUlJPUiwgTE9DQVRJT04sIE5VTEwsCisrCQkgICAgImlzYWttcF9jZmdfbmV3aXYgY2FsbGVkIHdpdGggaW52YWxpZCBJViBtYW5hZ2VtZW50XG4iKTsKKysJCXJldHVybiBOVUxMOworKwl9CisrCisgCWlmIChpY3MtPml2bSAhPSBOVUxMKQorIAkJb2FrbGV5X2RlbGl2bShpY3MtPml2bSk7CisgCitkaWZmIC11cnBOIGEvc3JjL3JhY29vbi9pc2FrbXBfcXVpY2suYyBiL3NyYy9yYWNvb24vaXNha21wX3F1aWNrLmMKKy0tLSBhL3NyYy9yYWNvb24vaXNha21wX3F1aWNrLmMKKysrKyBiL3NyYy9yYWNvb24vaXNha21wX3F1aWNrLmMKK0BAIC0yMjQzLDggKzIyNDMsMTAgQEAgZ2V0X3Byb3Bvc2FsX3IoaXBoMikKKyAJaW50IGVycm9yID0gSVNBS01QX0lOVEVSTkFMX0VSUk9SOworIAorIAkvKiBjaGVjayB0aGUgZXhpc3RlbmNlIG9mIElEIHBheWxvYWQgKi8KKy0JaWYgKChpcGgyLT5pZF9wICE9IE5VTEwgJiYgaXBoMi0+aWQgPT0gTlVMTCkKKy0JIHx8IChpcGgyLT5pZF9wID09IE5VTEwgJiYgaXBoMi0+aWQgIT0gTlVMTCkpIHsKKysJaWYgKChpcGgyLT5pZF9wICE9IE5VTEwgJiYKKysJICAgIChpcGgyLT5pZCA9PSBOVUxMIHx8IGlwaDItPmlkLT52ID09IE5VTEwgfHwgaXBoMi0+aWQtPmwgPT0gMCkpIHx8CisrCSAgICAoaXBoMi0+aWQgIT0gTlVMTCAmJgorKwkgICAgKGlwaDItPmlkX3AgPT0gTlVMTCB8fCBpcGgyLT5pZF9wLT52ID09IE5VTEwgfHwgaXBoMi0+aWRfcC0+bCA9PSAwKSkpIHsKKyAJCXBsb2coTExWX0VSUk9SLCBMT0NBVElPTiwgTlVMTCwKKyAJCQkiQm90aCBJRHMgd2Fzbid0IGZvdW5kIGluIHBheWxvYWQuXG4iKTsKKyAJCXJldHVybiBJU0FLTVBfTlRZUEVfSU5WQUxJRF9JRF9JTkZPUk1BVElPTjsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9yYWNvb24uY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29scy9yYWNvb24uY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjUwNzUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi5jb25mCkBAIC0wLDAgKzEsOCBAQAorIyBEZWZhdWx0cyBmb3IgcmFjb29uIHNlcnZpY2UKKyMgc291cmNlZCBieSByYWNvb24uc2VydmljZQorIyBpbnN0YWxsZWQgYXQgL2V0Yy9kZWZhdWx0L3JhY29vbiBieSB0aGUgbWFpbnRhaW5lciBzY3JpcHRzCisjCisjIFRoaXMgaXMgYSBQT1NJWCBzaGVsbCBmcmFnbWVudAorIworIyBBcmd1bWVudHMgdG8gcGFzcyB0byByYWNvb24KK1JBQ09PTl9BUkdTPSIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvcmFjb29uLmNvbmYuc2FtcGxlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi5jb25mLnNhbXBsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTQ4YTRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi5jb25mLnNhbXBsZQpAQCAtMCwwICsxLDQwIEBACisjCisjIE5PVEU6IFRoaXMgZmlsZSB3aWxsIG5vdCBiZSB1c2VkIGlmIHlvdSB1c2UgcmFjb29uLXRvb2woOCkgdG8gbWFuYWdlIHlvdXIKKyMgSVBzZWMgY29ubmVjdGlvbnMuIHJhY29vbi10b29sIHdpbGwgcHJvY2VzcyByYWNvb24tdG9vbC5jb25mKDUpIGFuZAorIyBnZW5lcmF0ZSBhIGNvbmZpZ3VyYXRpb24gKC92YXIvbGliL3JhY29vbi9yYWNvb24uY29uZikgYW5kIHVzZSBpdCwgaW5zdGVhZAorIyBvZiB0aGlzIGZpbGUuCisjCisjIFNpbXBsZSByYWNvb24uY29uZgorIyAKKyMKKyMgUGxlYXNlIGxvb2sgaW4gL3Vzci9zaGFyZS9kb2MvcmFjb29uL2V4YW1wbGVzIGZvcgorIyBleGFtcGxlcyB0aGF0IGNvbWUgd2l0aCB0aGUgc291cmNlLgorIworIyBQbGVhc2UgcmVhZCByYWNvb24uY29uZig1KSBmb3IgZGV0YWlscywgYW5kIGFsc29yZWFkIHNldGtleSg4KS4KKyMKKyMKKyMgQWxzbyByZWFkIHRoZSBMaW51eCBJUFNFQyBIb3d0byB1cCBhdCAKKyMgaHR0cDovL3d3dy5pcHNlYy1ob3d0by5vcmcvdDEuaHRtbCAKKyMKK2xvZyBub3RpZnk7CitwYXRoIHByZV9zaGFyZWRfa2V5ICIvZXRjL3JhY29vbi9wc2sudHh0IjsKK3BhdGggY2VydGlmaWNhdGUgIi9ldGMvcmFjb29uL2NlcnRzIjsKKworI3JlbW90ZSAxNzIuMzEuMS4xIHsKKyMgICAgICAgIGV4Y2hhbmdlX21vZGUgbWFpbixhZ2dyZXNzaXZlOworIyAgICAgICAgcHJvcG9zYWwgeworIyAgICAgICAgICAgICAgICBlbmNyeXB0aW9uX2FsZ29yaXRobSAzZGVzOworIyAgICAgICAgICAgICAgICBoYXNoX2FsZ29yaXRobSBzaGExOworIyAgICAgICAgICAgICAgICBhdXRoZW50aWNhdGlvbl9tZXRob2QgcHJlX3NoYXJlZF9rZXk7CisjICAgICAgICAgICAgICAgIGRoX2dyb3VwIG1vZHAxMDI0OworIyAgICAgICAgfQorIyAgICAgICAgZ2VuZXJhdGVfcG9saWN5IG9mZjsKKyN9CisjIAorI3NhaW5mbyBhZGRyZXNzIDE5Mi4xNjguMjAzLjEwW2FueV0gYW55IGFkZHJlc3MgMTkyLjE2OC4yMi4wLzI0W2FueV0gYW55IHsKKyMgICAgICAgIHBmc19ncm91cCBtb2RwNzY4OworIyAgICAgICAgZW5jcnlwdGlvbl9hbGdvcml0aG0gM2RlczsKKyMgICAgICAgIGF1dGhlbnRpY2F0aW9uX2FsZ29yaXRobSBobWFjX21kNTsKKyMgICAgICAgIGNvbXByZXNzaW9uX2FsZ29yaXRobSBkZWZsYXRlOworI30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3JhY29vbi5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMGU3NzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHMvcmFjb29uLnNlcnZpY2UKQEAgLTAsMCArMSwxMSBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1SYWNvb24gSUtFdjEga2V5IG1hbmFnZW1lbnQgZGFlbW9uIGZvciBJUFNFQworQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS1AU1lTQ09ORkRJUkAvZGVmYXVsdC9yYWNvb24KK0V4ZWNTdGFydD1AU0JJTkRJUkAvcmFjb29uICRSQUNPT05fQVJHUworCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHNfMC44LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXBzZWMtdG9vbHMvaXBzZWMtdG9vbHNfMC44LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDlmMTIxMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHNlYy10b29scy9pcHNlYy10b29sc18wLjguMi5iYgpAQCAtMCwwICsxLDkyIEBACitERVNDUklQVElPTiA9ICJJUHNlYy1Ub29scyBpcyBhIHBvcnQgb2YgS0FNRSdzIElQc2VjIHV0aWxpdGllcyB0byB0aGUgXAorTGludXgtMi42IElQc2VjIGltcGxlbWVudGF0aW9uLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9pcHNlYy10b29scy5zb3VyY2Vmb3JnZS5uZXQvIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9saWJpcHNlYy9wZmtleS5jO2JlZ2lubGluZT02O2VuZGxpbmU9MzE7bWQ1PWJjOWI3ZmY0MGJlZmYxOWZlNmJjNmFlZjI2YmQyYjI0IgorCitERVBFTkRTID0gInZpcnR1YWwva2VybmVsIG9wZW5zc2wgcmVhZGxpbmUgZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIgorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5uZXRic2Qub3JnL3B1Yi9OZXRCU0QvbWlzYy9pcHNlYy10b29scy8wLjgvaXBzZWMtdG9vbHMtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLURvbi10LWxpbmstYWdhaW5zdC1saWJmbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1yYWNvb24tcGZrZXktYXZvaWQtcG90ZW50aWFsLW51bGwtcG9pbnRlci1kZXJlZmVyZW5jLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JhY29vbi1jaGVjay1pbnZhbGlkLXBvaW50ZXJzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JhY29vbi1jaGVjay1pbnZhbGlkLWl2bS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nbGliYy0yLjIwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JhY29vbi1SZXNlbmQtVVBEQVRFLW1lc3NhZ2Utd2hlbi1yZWNlaXZlZC1FSU5UUi1tZXNzYWdlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JhY29vbi5jb25mLnNhbXBsZSBcCisgICAgICAgICAgIGZpbGU6Ly9yYWNvb24uY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9yYWNvb24uc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtQ1ZFLTIwMTUtNDA0Ny5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImQ1M2VjMTRhMGEzZWNlNjRlMDllNWUzNGIzMzUwYjQxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhlYjZiMzg3MTZlMmYzYThhNzJmMWY1NDljOTQ0NGMyYmMyOGQ1MmM5NTM2NzkyNjkwNTY0Yzc0ZmU3MjJmMmQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHN5c3RlbWQKKworIyBPcHRpb25zOgorIyAgLS1lbmFibGUtYWRtaW5wb3J0ICAgICAgZW5hYmxlIGFkbWluIHBvcnQKKyMgIC0tZW5hYmxlLXJjNSAgICAgICAgICAgIGVuYWJsZSBSQzUgZW5jcnlwdGlvbiAocGF0ZW50ZWQpCisjICAtLWVuYWJsZS1pZGVhIGVuYWJsZSBJREVBIGVuY3J5cHRpb24gKHBhdGVudGVkKQorIyAgLS1lbmFibGUtZ3NzYXBpICAgICAgICAgZW5hYmxlIEdTUy1BUEkgYXV0aGVudGljYXRpb24KKyMgIC0tZW5hYmxlLWh5YnJpZCAgICAgICAgIGVuYWJsZSBoeWJyaWQsIGJvdGggbW9kZS1jZmcgYW5kIHhhdXRoIHN1cHBvcnQKKyMgIC0tZW5hYmxlLWZyYWcgICAgICAgICAgIGVuYWJsZSBJS0UgZnJhZ21lbnRhdGlvbiBwYXlsb2FkIHN1cHBvcnQKKyMgIC0tZW5hYmxlLXN0YXRzICAgICAgICAgIGVuYWJsZSBzdGF0aXN0aWNzIGxvZ2dpbmcgZnVuY3Rpb24KKyMgIC0tZW5hYmxlLWRwZCAgICAgICAgICAgIGVuYWJsZSBkZWFkIHBlZXIgZGV0ZWN0aW9uCisjICAtLWVuYWJsZS1zYW1vZGUtdW5zcGVjICBlbmFibGUgdG8gdXNlIHVuc3BlY2lmaWVkIGEgbW9kZSBvZiBTQQorIyAgLS1kaXNhYmxlLWlwdjYgICAgICAgICAgZGlzYWJsZSBpcHY2IHN1cHBvcnQKKyMgIC0tZW5hYmxlLW5hdHQgICAgICAgICAgIGVuYWJsZSBOQVQtVHJhdmVyc2FsICh5ZXMvbm8va2VybmVsKQorIyAgLS1lbmFibGUtbmF0dC12ZXJzaW9ucz1saXN0ICAgIGxpc3Qgb2Ygc3VwcG9ydGVkIE5BVC1UIHZlcnNpb25zIGRlbGltaXRlZCBieSBjb21hLgorIyAgLS13aXRoLWtlcm5lbC1oZWFkZXJzPS9saWIvbW9kdWxlcy88dW5hbWU+L2J1aWxkL2luY2x1ZGUKKyMgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIHlvdXIgTGludXggS2VybmVsIGhlYWRlcnMgYXJlIGluc3RhbGxlZAorIyAgLS13aXRoLXJlYWRsaW5lICAgICAgICAgc3VwcG9ydCByZWFkbGluZSBpbnB1dCAoeWVzIGJ5IGRlZmF1bHQpCisjICAtLXdpdGgtZmxleCAgICAgICAgICAgICB1c2UgZGlyZWN0aW9yeSAoZGVmYXVsdDogbm8pCisjICAtLXdpdGgtZmxleGxpYj08TElCPiAgICBzcGVjaWZ5IGZsZXggbGlicmFyeS4KKyMgIC0td2l0aC1vcGVuc3NsPURJUiAgICAgIHNwZWNpZnkgT3BlblNTTCBkaXJlY3RvcnkKKyMgIC0td2l0aC1saWJyYWRpdXM9RElSICAgIHNwZWNpZnkgbGlicmFkaXVzIHBhdGggKGxpa2UvdXNyL3BrZykKKyMgIC0td2l0aC1saWJwYW09RElSICAgICAgIHNwZWNpZnkgbGlicGFtIHBhdGggKGxpa2UvdXNyL3BrZykKKyMKKyMgTm90ZTogaWYgeW91IGdpdmUgaXQgdGhlIGFjdHVhbCBrZXJuZWwgaGVhZGVycyBpdCB3b24ndCBidWlsZCwgaXQgYWN0dWFsbHkKKyMgbmVlZHMgdG8gcG9pbnQgYXQgdGhlIGxpbnV4LWxpYmMtaGVhZGVycyB2ZXJzaW9uIG9mIHRoZSBrZXJuZWwgaGVhZGVycy4KKyMKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgta2VybmVsLWhlYWRlcnM9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1yZWFkbGluZSBcCisgICAgICAgICAgICAgICAgLS13aXRoLW9wZW5zc2w9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1saWJyYWRpdXMgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zZWN1cml0eS1jb250ZXh0IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1zaGFyZWQgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWRwZCBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtbmF0dD15ZXMgXAorICAgICAgICAgICAgICAgIC0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9L3JhY29vbiBcCisgICAgICAgICAgICAgICAgJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnLS1lbmFibGUtaXB2Nj15ZXMnLCAnJywgZCl9IgorCisjIFNlZSBodHRwOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9NTMwNTI3CitDRkxBR1MgKz0gIi1mbm8tc3RyaWN0LWFsaWFzaW5nIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1twYW1dID0gIi0td2l0aC1saWJwYW0sLS13aXRob3V0LWxpYnBhbSxsaWJwYW0sIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLWVuYWJsZS1zZWN1cml0eS1jb250ZXh0LC0tZGlzYWJsZS1zZWN1cml0eS1jb250ZXh0LGxpYnNlbGludXgsIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicmFjb29uLnNlcnZpY2UiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vcmFjb29uCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmFjb29uLmNvbmYuc2FtcGxlICR7RH0ke3N5c2NvbmZkaXJ9L3JhY29vbi9yYWNvb24uY29uZgorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9yYWNvb24uc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCisgICAgICAgIHNlZCAtaSAtZSAncyNAU1lTQ09ORkRJUkAjJHtzeXNjb25mZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9yYWNvb24uc2VydmljZQorICAgICAgICBzZWQgLWkgLWUgJ3MjQFNCSU5ESVJAIyR7c2JpbmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmFjb29uLnNlcnZpY2UKKworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3JhY29vbi5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvcmFjb29uCisgICAgZmkKK30KKworRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vcmFjb29uL3JhY29vbi5jb25mIFwKKyAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RlZmF1bHQvcmFjb29uIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwdnNhZG0vaXB2c2FkbS8wMDAxLU1vZGlmeS10aGUtTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXB2c2FkbS9pcHZzYWRtLzAwMDEtTW9kaWZ5LXRoZS1NYWtlZmlsZS1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzNkZmU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwdnNhZG0vaXB2c2FkbS8wMDAxLU1vZGlmeS10aGUtTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSw5NyBAQAorRnJvbSA1ODI5MjE3NTExNWJhZTdhNGMzNjAwZDMwMjJlNTllYTU3MjEzMDI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmlhbmNodWFuIFdhbmcgPGppYW5jaHVhbi53YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDEyIEphbiAyMDE1IDE1OjUzOjIzICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIE1vZGlmeSB0aGUgTWFrZWZpbGUgZm9yIGNyb3NzIGNvbXBpbGUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEppYW5jaHVhbiBXYW5nIDxqaWFuY2h1YW4ud2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUgICAgICAgICB8IDIzICsrKysrKy0tLS0tLS0tLS0tLS0tLS0tCisgbGliaXB2cy9NYWtlZmlsZSB8ICAzICstLQorIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IGU0ZTAzY2MuLjQ2MWMwMjEgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0zNSwxMCArMzUsOSBAQCBBUkNICQk9ICQoc2hlbGwgdW5hbWUgLW0pCisgUlBNU09VUkNFRElSCT0gJChzaGVsbCBycG0gLS1ldmFsICclX3NvdXJjZWRpcicpCisgUlBNU1BFQ0RJUgk9ICQoc2hlbGwgcnBtIC0tZXZhbCAnJV9zcGVjZGlyJykKKyAKKy1DQwkJPSBnY2MKKyBJTkNMVURFCQk9CisgU0JJTgkJPSAkKEJVSUxEX1JPT1QpL3NiaW4KKy1NQU5ESVIJCT0gdXNyL21hbgorK01BTkRJUgkJPSB1c3Ivc2hhcmUvbWFuCisgTUFOCQk9ICQoQlVJTERfUk9PVCkvJChNQU5ESVIpL21hbjgKKyBJTklUCQk9ICQoQlVJTERfUk9PVCkvZXRjL3JjLmQvaW5pdC5kCisgTUtESVIJCT0gbWtkaXIKK0BAIC02MiwxNyArNjEsNyBAQCBSUE1CVUlMRCA9ICQoc2hlbGwJCQkJXAorIAkJZWNobyAiL2Jpbi9ycG0iOwkJXAorIAlmaSApCisgCistaWZlcSAoLCQoRk9SQ0VfR0VUT1BUKSkKKy1MSUJfU0VBUkNIID0gL2xpYjY0IC91c3IvbGliNjQgL3Vzci9sb2NhbC9saWI2NCAvbGliIC91c3IvbGliIC91c3IvbG9jYWwvbGliCistUE9QVF9MSUIgPSAkKHNoZWxsIGZvciBpIGluICQoTElCX1NFQVJDSCk7IGRvIFwKKy0gIGlmIFsgLWYgJCRpL2xpYnBvcHQuYSBdOyB0aGVuIFwKKy0gICAgaWYgbm0gJCRpL2xpYnBvcHQuYSB8IGZncmVwIC1xIHBvcHRHZXRDb250ZXh0OyB0aGVuIFwKKy0JZWNobyAiLWxwb3B0IjsgXAorLQlicmVhazsgXAorLSAgICBmaTsgXAorLSAgZmk7IFwKKy1kb25lKQorLWVuZGlmCisrUE9QVF9MSUIgPSAtbHBvcHQKKyAKKyBpZm5lcSAoLCQoUE9QVF9MSUIpKQorIFBPUFRfREVGSU5FID0gLURIQVZFX1BPUFQKK0BAIC04MSw3ICs3MCw3IEBAIGVuZGlmCisgT0JKUwkJPSBpcHZzYWRtLm8gY29uZmlnX3N0cmVhbS5vIGR5bmFtaWNfYXJyYXkubworIExJQlMJCT0gJChQT1BUX0xJQikKKyBpZm5lcSAoMCwkKEhBVkVfTkwpKQorLUxJQlMJCSs9IC1sbmwKKytMSUJTCQkrPSAtbG5sLTMgLWxubC1nZW5sLTMKKyBlbmRpZgorIERFRklORVMJCT0gLURWRVJTSU9OPVwiJChWRVJTSU9OKVwiIC1EU0NIRURVTEVSUz1cIiQoU0NIRURVTEVSUylcIiBcCisgCQkgIC1EUEVfTElTVD1cIiQoUEVfTElTVClcIiAkKFBPUFRfREVGSU5FKQorQEAgLTkxLDEzICs4MCwxMyBAQCBERUZJTkVTCQkrPSAkKHNoZWxsIGlmIFsgISAtZiAuLi9pcF92cy5oIF07IHRoZW4JXAorIAorIC5QSE9OWQk9IGFsbCBjbGVhbiBpbnN0YWxsIGRpc3QgZGlzdGNsZWFuIHJwbSBycG1zCisgCistYWxsOiAgICAgICAgICAgIGxpYnMgaXB2c2FkbQorK2FsbDogaXB2c2FkbQorIAorIGxpYnM6CisgCQltYWtlIC1DIGxpYmlwdnMKKyAKKy1pcHZzYWRtOgkkKE9CSlMpICQoU1RBVElDX0xJQlMpCistCQkkKENDKSAkKENGTEFHUykgLW8gJEAgJF4gJChMSUJTKQorK2lwdnNhZG06CSQoT0JKUykgbGlicworKwkJJChDQykgJChDRkxBR1MpIC1vICRAICQoT0JKUykgJChTVEFUSUNfTElCUykgJChMSUJTKQorIAorIGluc3RhbGw6ICAgICAgICBhbGwKKyAJCWlmIFsgISAtZCAkKFNCSU4pIF07IHRoZW4gJChNS0RJUikgLXAgJChTQklOKTsgZmkKK2RpZmYgLS1naXQgYS9saWJpcHZzL01ha2VmaWxlIGIvbGliaXB2cy9NYWtlZmlsZQoraW5kZXggYTUyN2E3Zi4uYjczMDBlYyAxMDA2NDQKKy0tLSBhL2xpYmlwdnMvTWFrZWZpbGUKKysrKyBiL2xpYmlwdnMvTWFrZWZpbGUKK0BAIC0xLDYgKzEsNSBAQAorICMgTWFrZWZpbGUgZm9yIGxpYmlwdnMKKyAKKy1DQwkJPSBnY2MKKyBDRkxBR1MJCT0gLVdhbGwgLVd1bnVzZWQgLVdzdHJpY3QtcHJvdG90eXBlcyAtZyAtZlBJQworIGlmbmVxICgwLCQoSEFWRV9OTCkpCisgQ0ZMQUdTCQkrPSAtRExJQklQVlNfVVNFX05MCitAQCAtMTgsNyArMTcsNyBAQCBTSEFSRURfTElCCT0gbGliaXB2cy5zbworIGFsbDoJCSQoU1RBVElDX0xJQikgJChTSEFSRURfTElCKQorIAorICQoU1RBVElDX0xJQik6CWxpYmlwdnMubyBpcF92c19ubF9wb2xpY3kubworLQkJYXIgcnYgJEAgJF4KKysJCSQoQVIpIHJ2ICRAICReCisgCisgJChTSEFSRURfTElCKToJbGliaXB2cy5vIGlwX3ZzX25sX3BvbGljeS5vCisgCQkkKENDKSAtc2hhcmVkIC1XbCwtc29uYW1lLCRAIC1vICRAICReCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHZzYWRtL2lwdnNhZG0vMDAwMi1SZXBsYWNlLW5sX2hhbmRsZS10by1ubF9zb2NrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwdnNhZG0vaXB2c2FkbS8wMDAyLVJlcGxhY2UtbmxfaGFuZGxlLXRvLW5sX3NvY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg5NmQ2ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHZzYWRtL2lwdnNhZG0vMDAwMi1SZXBsYWNlLW5sX2hhbmRsZS10by1ubF9zb2NrLnBhdGNoCkBAIC0wLDAgKzEsNjMgQEAKK0Zyb20gMjY4NjIxMzI1OWIxNWRmOWNmMWQ5NjljNWExNGQ2MmYxNGNmYmFhZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEppYW5jaHVhbiBXYW5nIDxqaWFuY2h1YW4ud2FuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCA4IEphbiAyMDE1IDE3OjM3OjExICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBSZXBsYWNlIG5sX2hhbmRsZSB0byBubF9zb2NrLgorCitUaGUgbmxfaGFuZGxlIHdhcyByZXBsYWNlIHdpdGggbmxfc29jayBpbiB0aGUgbGlibmwtMy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogSmlhbmNodWFuIFdhbmcgPGppYW5jaHVhbi53YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJpcHZzL2xpYmlwdnMuYyB8IDEwICsrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliaXB2cy9saWJpcHZzLmMgYi9saWJpcHZzL2xpYmlwdnMuYworaW5kZXggYTE1N2UxOC4uMjFhOWJmYSAxMDA2NDQKKy0tLSBhL2xpYmlwdnMvbGliaXB2cy5jCisrKysgYi9saWJpcHZzL2xpYmlwdnMuYworQEAgLTMyLDcgKzMyLDcgQEAgc3RhdGljIHZvaWQqIGlwdnNfZnVuYyA9IE5VTEw7Cisgc3RydWN0IGlwX3ZzX2dldGluZm8gaXB2c19pbmZvOworIAorICNpZmRlZiBMSUJJUFZTX1VTRV9OTAorLXN0YXRpYyBzdHJ1Y3QgbmxfaGFuZGxlICpzb2NrID0gTlVMTDsKKytzdGF0aWMgc3RydWN0IG5sX3NvY2sgKnNvY2sgPSBOVUxMOworIHN0YXRpYyBpbnQgZmFtaWx5LCB0cnlfbmwgPSAxOworICNlbmRpZgorIAorQEAgLTczLDcgKzczLDcgQEAgaW50IGlwdnNfbmxfc2VuZF9tZXNzYWdlKHN0cnVjdCBubF9tc2cgKm1zZywgbmxfcmVjdm1zZ19tc2dfY2JfdCBmdW5jLCB2b2lkICphcmcKKyB7CisgCWludCBlcnIgPSBFSU5WQUw7CisgCistCXNvY2sgPSBubF9oYW5kbGVfYWxsb2MoKTsKKysJc29jayA9IG5sX3NvY2tldF9hbGxvYygpOworIAlpZiAoIXNvY2spIHsKKyAJCW5sbXNnX2ZyZWUobXNnKTsKKyAJCXJldHVybiAtMTsKK0BAIC04OCw3ICs4OCw3IEBAIGludCBpcHZzX25sX3NlbmRfbWVzc2FnZShzdHJ1Y3QgbmxfbXNnICptc2csIG5sX3JlY3Ztc2dfbXNnX2NiX3QgZnVuYywgdm9pZCAqYXJnCisgCisgCS8qIFRvIHRlc3QgY29ubmVjdGlvbnMgYW5kIHNldCB0aGUgZmFtaWx5ICovCisgCWlmIChtc2cgPT0gTlVMTCkgeworLQkJbmxfaGFuZGxlX2Rlc3Ryb3koc29jayk7CisrCQlubF9zb2NrZXRfZnJlZShzb2NrKTsKKyAJCXNvY2sgPSBOVUxMOworIAkJcmV0dXJuIDA7CisgCX0KK0BAIC0xMDQsMTIgKzEwNCwxMiBAQCBpbnQgaXB2c19ubF9zZW5kX21lc3NhZ2Uoc3RydWN0IG5sX21zZyAqbXNnLCBubF9yZWN2bXNnX21zZ19jYl90IGZ1bmMsIHZvaWQgKmFyZworIAorIAlubG1zZ19mcmVlKG1zZyk7CisgCistCW5sX2hhbmRsZV9kZXN0cm95KHNvY2spOworKwlubF9zb2NrZXRfZnJlZShzb2NrKTsKKyAKKyAJcmV0dXJuIDA7CisgCisgZmFpbF9nZW5sOgorLQlubF9oYW5kbGVfZGVzdHJveShzb2NrKTsKKysJbmxfc29ja2V0X2ZyZWUoc29jayk7CisgCXNvY2sgPSBOVUxMOworIAlubG1zZ19mcmVlKG1zZyk7CisgCWVycm5vID0gZXJyOworLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHZzYWRtL2lwdnNhZG0vMDAwMy1pcHZzYWRtLXJlbW92ZS1kZXBlbmRlbmN5LW9uLWJhc2gucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXB2c2FkbS9pcHZzYWRtLzAwMDMtaXB2c2FkbS1yZW1vdmUtZGVwZW5kZW5jeS1vbi1iYXNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwMDExNGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvaXB2c2FkbS9pcHZzYWRtLzAwMDMtaXB2c2FkbS1yZW1vdmUtZGVwZW5kZW5jeS1vbi1iYXNoLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gMmY0Y2RmNzBjZjkyZDNhOTUwM2Q4ZmYwNDViYTI3N2RiNDBiYjRlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvZSBNYWNEb25hbGQgPGpvZV9tYWNkb25hbGRAbWVudG9yLmNvbT4KK0RhdGU6IE1vbmRheSwgMTMgQXByIDIwMTUgMTQ6MTI6MzcgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gaXB2c2FkbTogcmVtb3ZlIGRlcGVuZGVuY3kgb24gYmFzaAorCitUaGUgc2F2ZS9yZXN0b3JlIHNjcmlwdHMgYXJlIHZlcnkgc2ltcGxlIGFuZCBkb24ndCBkZXBlbmQgb24gYW55IEJBU0gKK2ZlYXR1cmVzIGF0IGFsbCwgc28gc3dpdGNoIHRoZSBpbnRlcnByZXRlciB0byAvYmluL3NoLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSm9lIE1hY0RvbmFsZCA8am9lX21hY2RvbmFsZEBtZW50b3IuY29tPgorLS0tCisgaXB2c2FkbS1yZXN0b3JlIHwgMiArLQorIGlwdnNhZG0tc2F2ZSAgICB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2lwdnNhZG0tcmVzdG9yZSBiL2lwdnNhZG0tcmVzdG9yZQoraW5kZXggZjI0ZTFiMy4uYTlmYThiYyAxMDA2NDQKKy0tLSBhL2lwdnNhZG0tcmVzdG9yZQorKysrIGIvaXB2c2FkbS1yZXN0b3JlCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorICMgICAgICBpcHZzYWRtLXJlc3RvcmUgLSBSZXN0b3JlIElQVlMgcnVsZXMKKyAjCisgIyAgICAgIEEgdmVyeSBzaW1wbGUgd3JhcHBlciB0byByZXN0b3JlIElQVlMgcnVsZXMKK2RpZmYgLS1naXQgYS9pcHZzYWRtLXNhdmUgYi9pcHZzYWRtLXNhdmUKK2luZGV4IGY0ZDM5OWUuLmFmNTE2MzggMTAwNjQ0CistLS0gYS9pcHZzYWRtLXNhdmUKKysrKyBiL2lwdnNhZG0tc2F2ZQorQEAgLTEsNCArMSw0IEBACistIyEvYmluL2Jhc2gKKysjIS9iaW4vc2gKKyAjICAgICAgaXB2c2FkbS1zYXZlIC0gU2F2ZSBJUFZTIHJ1bGVzCisgIworICMgICAgICBBIHZlcnkgc2ltcGxlIHdyYXBwZXIgdG8gc2F2ZSBJUFZTIHJ1bGVzCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHZzYWRtL2lwdnNhZG1fMS4yNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9pcHZzYWRtL2lwdnNhZG1fMS4yNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzAyZTlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2lwdnNhZG0vaXB2c2FkbV8xLjI2LmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiTGludXggVmlydHVhbCBTZXJ2ZXIgYWRtaW5pc3RyYXRpb24gVXRpbGl0eSIKK0RFU0NSSVBUSU9OID0gIklwdnNhZG0gIGlzICB1c2VkICB0byBzZXQgdXAsIG1haW50YWluIG9yIGluc3BlY3QgdGhlIHZpcnR1YWwgc2VydmVyIFwKK3RhYmxlIGluIHRoZSBMaW51eCBrZXJuZWwuIFRoZSBMaW51eCBWaXJ0dWFsICBTZXJ2ZXIgIGNhbiAgYmUgIHVzZWQgIHRvIFwKK2J1aWxkICBzY2FsYWJsZSAgbmV0d29yayAgc2VydmljZXMgIGJhc2VkICBvbiAgYSBjbHVzdGVyIG9mIHR3byBvciBtb3JlIG5vZGVzLiBcCitUaGUgYWN0aXZlIG5vZGUgb2YgdGhlIGNsdXN0ZXIgcmVkaXJlY3RzIHNlcnZpY2UgcmVxdWVzdHMgIHRvICBhIFwKK2NvbGxlY3Rpb24gIG9mICBzZXJ2ZXIgIGhvc3RzICB0aGF0IHdpbGwgYWN0dWFsbHkgcGVyZm9ybSB0aGUgc2VydmljZXMuIFwKK1N1cHBvcnRlZCBmZWF0dXJlcyBpbmNsdWRlIHR3byBwcm90b2NvbHMgKFRDUCBhbmQgVURQKSwgIHRocmVlICBwYWNrZXQtZm9yd2FyZGluZyBcCittZXRob2RzIChOQVQsIHR1bm5lbGluZywgYW5kIGRpcmVjdCByb3V0aW5nKSwgYW5kIGVpZ2h0IGxvYWQgYmFsYW5jaW5nIGFsZ29yaXRobXMgXAorKHJvdW5kIHJvYmluLCB3ZWlnaHRlZCByb3VuZCByb2JpbiwgIGxlYXN0LWNvbm5lYy10aW9uLCB3ZWlnaHRlZCBsZWFzdC1jb25uZWN0aW9uLCBcCitsb2NhbGl0eS1iYXNlZCAgbGVhc3QtY29ubmVjdGlvbiwgbG9jYWxpdHktYmFzZWQgbGVhc3QtY29ubmVjdGlvbiB3aXRoIHJlcGxpY2F0aW9uLCBcCitkZXN0aW5hdGlvbi1oYXNoaW5nLCBhbmQgc291cmNlLWhhc2hpbmcpLiIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT00MDtlbmRsaW5lPTU2O21kNT1hNTRjYmEzN2I2NDkyNGFhNTAwODg4MTYwNzk0Mjg5MiIKKworREVQRU5EUyArPSAibGlibmwgcG9wdCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpbnV4dmlydHVhbHNlcnZlci5vcmcvc29mdHdhcmUva2VybmVsLTIuNi8ke0JQfS50YXIuZ3ogXAorICAgICAgICBmaWxlOi8vMDAwMS1Nb2RpZnktdGhlLU1ha2VmaWxlLWZvci1jcm9zcy1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgZmlsZTovLzAwMDItUmVwbGFjZS1ubF9oYW5kbGUtdG8tbmxfc29jay5wYXRjaCBcCisgICAgICAgIGZpbGU6Ly8wMDAzLWlwdnNhZG0tcmVtb3ZlLWRlcGVuZGVuY3ktb24tYmFzaC5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWMzYmEzZjYyY2Q0ZGVhMmRhMzUzYWVkZGQzNTNhOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZDZjNDZmZWNiMWM1MzJhODkyNjE2YjQ0NDVjNzNiNzE3MzBlODc5MGQ1NjMwZjYwMjY5ZmQ5Y2JlZTBlYjJkIgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgXAorICAgIENDPSIke0NDfSAtSSR7U1RBR0lOR19JTkNESVJ9IC1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlibmwzIC1MJHtTVEFHSU5HX0xJQkRJUn0iIFwKKyAgICBhbGwKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdCVUlMRF9ST09UPSR7RH0nIGluc3RhbGwKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJlc210cC9saWJlc210cC9pbmNsdWRlLXRvcGRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJlc210cC9saWJlc210cC9pbmNsdWRlLXRvcGRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGM0Y2U3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYmVzbXRwL2xpYmVzbXRwL2luY2x1ZGUtdG9wZGlyLnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK2RpZmYgLU51cnAgbGliZXNtdHAtMS4wLjYub3JnL2NyYW1tZDUvTWFrZWZpbGUuYW0gbGliZXNtdHAtMS4wLjYvY3JhbW1kNS9NYWtlZmlsZS5hbQorLS0tIGxpYmVzbXRwLTEuMC42Lm9yZy9jcmFtbWQ1L01ha2VmaWxlLmFtCTIwMTAtMDgtMDggMjM6NDU6NTcuMDAwMDAwMDAwICswODAwCisrKysgbGliZXNtdHAtMS4wLjYvY3JhbW1kNS9NYWtlZmlsZS5hbQkyMDE0LTExLTE3IDExOjE3OjIxLjY2MzYyNDI5NSArMDgwMAorQEAgLTIsNyArMiw3IEBACisgCisgbGliZGlyID0gQHBsdWdpbmRpckAKKyAKKy1JTkNMVURFUyA9IC1JQHNyY2RpckAKKytJTkNMVURFUyA9IC1JQHNyY2RpckAgLUlAc3JjZGlyQC8uLi8KKyBBTV9DRkxBR1MgPSBAQ0ZMQUdTQCBARVhUUkFfQ0ZMQUdTQAorIAorIGxpYl9MVExJQlJBUklFUyA9IHNhc2wtY3JhbS1tZDUubGEKK2RpZmYgLU51cnAgbGliZXNtdHAtMS4wLjYub3JnL2xvZ2luL01ha2VmaWxlLmFtIGxpYmVzbXRwLTEuMC42L2xvZ2luL01ha2VmaWxlLmFtCistLS0gbGliZXNtdHAtMS4wLjYub3JnL2xvZ2luL01ha2VmaWxlLmFtCTIwMTAtMDgtMDggMjM6NDU6NTYuMDAwMDAwMDAwICswODAwCisrKysgbGliZXNtdHAtMS4wLjYvbG9naW4vTWFrZWZpbGUuYW0JMjAxNC0xMS0xNyAxMToxNzo1NC4zMzk2MjMwMTggKzA4MDAKK0BAIC0yLDcgKzIsNyBAQAorIAorIGxpYmRpciA9IEBwbHVnaW5kaXJACisgCistSU5DTFVERVMgPSAtSUBzcmNkaXJACisrSU5DTFVERVMgPSAtSUBzcmNkaXJAIC1JQHNyY2RpckAvLi4vCisgCisgbGliX0xUTElCUkFSSUVTID0gc2FzbC1sb2dpbi5sYQorIEFNX0NGTEFHUyA9IEBDRkxBR1NAIEBFWFRSQV9DRkxBR1NACitkaWZmIC1OdXJwIGxpYmVzbXRwLTEuMC42Lm9yZy9udGxtL01ha2VmaWxlLmFtIGxpYmVzbXRwLTEuMC42L250bG0vTWFrZWZpbGUuYW0KKy0tLSBsaWJlc210cC0xLjAuNi5vcmcvbnRsbS9NYWtlZmlsZS5hbQkyMDEwLTA4LTA4IDIzOjQ1OjU2LjAwMDAwMDAwMCArMDgwMAorKysrIGxpYmVzbXRwLTEuMC42L250bG0vTWFrZWZpbGUuYW0JMjAxNC0xMS0xNyAxMToxODoxMC41NTE2MjIzODUgKzA4MDAKK0BAIC0yLDcgKzIsNyBAQAorIAorIGxpYmRpciA9IEBwbHVnaW5kaXJACisgCistSU5DTFVERVMgPSAtSUBzcmNkaXJACisrSU5DTFVERVMgPSAtSUBzcmNkaXJAIC1JQHNyY2RpckAvLi4vCisgQU1fQ0ZMQUdTID0gQENGTEFHU0AgQEVYVFJBX0NGTEFHU0AKKyAKKyBsaWJfTFRMSUJSQVJJRVMgPSBzYXNsLW50bG0ubGEKK2RpZmYgLU51cnAgbGliZXNtdHAtMS4wLjYub3JnL3BsYWluL01ha2VmaWxlLmFtIGxpYmVzbXRwLTEuMC42L3BsYWluL01ha2VmaWxlLmFtCistLS0gbGliZXNtdHAtMS4wLjYub3JnL3BsYWluL01ha2VmaWxlLmFtCTIwMTAtMDgtMDggMjM6NDU6NTQuMDAwMDAwMDAwICswODAwCisrKysgbGliZXNtdHAtMS4wLjYvcGxhaW4vTWFrZWZpbGUuYW0JMjAxNC0xMS0xNyAxMToxODozMy4zNTU2MjE0OTQgKzA4MDAKK0BAIC0yLDcgKzIsNyBAQAorIAorIGxpYmRpciA9IEBwbHVnaW5kaXJACisgCistSU5DTFVERVMgPSAtSUBzcmNkaXJACisrSU5DTFVERVMgPSAtSUBzcmNkaXJAIC1JQHNyY2RpckAvLi4vCisgQU1fQ0ZMQUdTID0gQENGTEFHU0AgQEVYVFJBX0NGTEFHU0AKKyAKKyBsaWJfTFRMSUJSQVJJRVMgPSBzYXNsLXBsYWluLmxhCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGliZXNtdHAvbGliZXNtdHBfMS4wLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGliZXNtdHAvbGliZXNtdHBfMS4wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RkZjU5MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJlc210cC9saWJlc210cF8xLjAuNi5iYgpAQCAtMCwwICsxLDM2IEBACitTVU1NQVJZID0gIlNNVFAgY2xpZW50IGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJMaWJFU01UUCBpcyBhIGxpYnJhcnkgdG8gbWFuYWdlIHBvc3RpbmcgXAorKG9yIHN1Ym1pc3Npb24gb2YpIGVsZWN0cm9uaWMgbWFpbCB1c2luZyBTTVRQIHRvIGEgXAorcHJlY29uZmlndXJlZCBNYWlsIFRyYW5zcG9ydCBBZ2VudCAoTVRBKSBzdWNoIGFzIEV4aW0gb3IgUG9zdEZpeC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnN0YWZmb3JkLnVrbGludXgubmV0L2xpYmVzbXRwLyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK1NFQ1RJT04gPSAibGlicyIKKworREVQRU5EUyA9ICJvcGVuc3NsIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuc3RhZmZvcmQudWtsaW51eC5uZXQvbGliZXNtdHAvbGliZXNtdHAtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9pbmNsdWRlLXRvcGRpci5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZjM5MTVlNjI3ZmQ4ZjM1NTI0YThmZGZlZWQ5NzljOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMGE2MWE1YzUyZDk5ZmE3Y2U3ZDAwZWQwYTA3ZTM0MWRiZGE2NzEwMWRiZWQxYWIwY2RhZTNmMzdkYjRlYjBiIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZTNlZGEwMWQ5ODE1ZjhkMjRhYWUyZGJkODliNjhiMDYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLXdpdGgtYXV0aC1wbHVnaW4tZGlyPSR7bGliZGlyfS9lc210cC1wbHVnaW5zIFwKKyAgICAtLWVuYWJsZS1wdGhyZWFkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAtLWVuYWJsZS1kZWJ1ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAtLWVuYWJsZS1ldHJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAtLWRpc2FibGUtaXNvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAtLWRpc2FibGUtbW9yZS13YXJuaW5ncyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAtLWRpc2FibGUtc3RhdGljICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30gXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2VzbXRwLXBsdWdpbnMvKiR7U09MSUJTREVWfSIKKworRklMRVNfJHtQTn0tZGV2ICArPSAiJHtsaWJkaXJ9L2VzbXRwLXBsdWdpbnMvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpYyArPSAiJHtsaWJkaXJ9L2VzbXRwLXBsdWdpbnMvKi5hIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZXNtdHAtcGx1Z2lucy8uZGVidWcvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYmxkYi9saWJsZGIvYXZvaWQtb3BlbmxkYXAtdW5sZXNzLXdhbnRlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJsZGIvbGlibGRiL2F2b2lkLW9wZW5sZGFwLXVubGVzcy13YW50ZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFiMDk0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJsZGIvbGlibGRiL2F2b2lkLW9wZW5sZGFwLXVubGVzcy13YW50ZWQucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGEvd3NjcmlwdAkyMDE1LTExLTE4IDEyOjQzOjMzLjAwMDAwMDAwMCArMDEwMAorKysrIGIvd3NjcmlwdAkyMDE1LTExLTE4IDEyOjQ2OjI1LjAwMDAwMDAwMCArMDEwMAorQEAgLTU4LDkgKzU4LDcgQEAKKyAgICAgaWYgY29uZi5lbnYuc3RhbmRhbG9uZV9sZGI6CisgICAgICAgICBjb25mLkNIRUNLX1hTTFRQUk9DX01BTlBBR0VTKCkKKyAKKy0gICAgICAgICMgd2UgbmVlZCB0aGlzIGZvciB0aGUgbGRhcCBiYWNrZW5kCistICAgICAgICBpZiBjb25mLkNIRUNLX0ZVTkNTX0lOKCdiZXJfZmx1c2ggbGRhcF9vcGVuIGxkYXBfaW5pdGlhbGl6ZScsICdsYmVyIGxkYXAnLCBoZWFkZXJzPSdsYmVyLmggbGRhcC5oJyk6CistICAgICAgICAgICAgY29uZi5lbnYuRU5BQkxFX0xEQVBfQkFDS0VORCA9IFRydWUKKysgICAgICAgIGNvbmYuZW52LkVOQUJMRV9MREFQX0JBQ0tFTkQgPSBGYWxzZQorIAorICAgICAgICAgIyB3ZSBkb24ndCB3YW50IGFueSBsaWJyYXJpZXMgb3IgbW9kdWxlcyB0byByZWx5IG9uIHJ1bnRpbWUKKyAgICAgICAgICMgcmVzb2x1dGlvbiBvZiBzeW1ib2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlibGRiL2xpYmxkYi9kby1ub3QtaW1wb3J0LXRhcmdldC1tb2R1bGUtd2hpbGUtY3Jvc3MtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJsZGIvbGlibGRiL2RvLW5vdC1pbXBvcnQtdGFyZ2V0LW1vZHVsZS13aGlsZS1jcm9zcy1jb21waWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZkZDMxMmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlibGRiL2xpYmxkYi9kby1ub3QtaW1wb3J0LXRhcmdldC1tb2R1bGUtd2hpbGUtY3Jvc3MtY29tcGlsZS5wYXRjaApAQCAtMCwwICsxLDU4IEBACitTb21lIG1vZHVsZXMgc3VjaCBhcyBkeW5hbWljIGxpYnJhcnkgbWF5YmUgY2Fubid0IGJlIGltcG9ydGVkIHdoaWxlIGNyb3NzIGNvbXBpbGUsCit3ZSBqdXN0IGNoZWNrIHdoZXRoZXIgZG9lcyB0aGUgbW9kdWxlIGV4aXN0LgorCitTaWduZWQtb2ZmLWJ5OiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KKworSW5kZXg6IGxkYi0xLjEuMjYvYnVpbGR0b29scy93YWZzYW1iYS9zYW1iYV9idW5kbGVkLnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGRiLTEuMS4yNi5vcmlnL2J1aWxkdG9vbHMvd2Fmc2FtYmEvc2FtYmFfYnVuZGxlZC5weQorKysrIGxkYi0xLjEuMjYvYnVpbGR0b29scy93YWZzYW1iYS9zYW1iYV9idW5kbGVkLnB5CitAQCAtMiw2ICsyLDcgQEAKKyAKKyBpbXBvcnQgc3lzCisgaW1wb3J0IEJ1aWxkLCBPcHRpb25zLCBMb2dzCisraW1wb3J0IGltcCwgb3MKKyBmcm9tIENvbmZpZ3VyZSBpbXBvcnQgY29uZgorIGZyb20gc2FtYmFfdXRpbHMgaW1wb3J0IFRPX0xJU1QKKyAKK0BAIC0yMzAsMTcgKzIzMSwzMiBAQCBkZWYgQ0hFQ0tfQlVORExFRF9TWVNURU1fUFlUSE9OKGNvbmYsIGxpCisgICAgICMgdmVyc2lvbnMKKyAgICAgbWludmVyc2lvbiA9IG1pbmltdW1fbGlicmFyeV92ZXJzaW9uKGNvbmYsIGxpYm5hbWUsIG1pbnZlcnNpb24pCisgCistICAgIHRyeToKKy0gICAgICAgIG0gPSBfX2ltcG9ydF9fKG1vZHVsZW5hbWUpCistICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKy0gICAgICAgIGZvdW5kID0gRmFsc2UKKy0gICAgZWxzZToKKysgICAgIyBGaW5kIG1vZHVsZSBpbiBQWVRIT05QQVRICisrICAgIHN0dWZmID0gaW1wLmZpbmRfbW9kdWxlKG1vZHVsZW5hbWUsIFtvcy5lbnZpcm9uWyJQWVRIT05QQVRIIl1dKQorKyAgICBpZiBzdHVmZjoKKyAgICAgICAgIHRyeToKKy0gICAgICAgICAgICB2ZXJzaW9uID0gbS5fX3ZlcnNpb25fXworLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorKyAgICAgICAgICAgIG0gPSBpbXAubG9hZF9tb2R1bGUobW9kdWxlbmFtZSwgc3R1ZmZbMF0sIHN0dWZmWzFdLCBzdHVmZlsyXSkKKysgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgICBmb3VuZCA9IEZhbHNlCisrCisrICAgICAgICAgICAgaWYgY29uZi5lbnYuQ1JPU1NfQ09NUElMRToKKysgICAgICAgICAgICAgICAgIyBTb21lIG1vZHVsZXMgc3VjaCBhcyBkeW5hbWljIGxpYnJhcnkgbWF5YmUgY2Fubid0IGJlIGltcG9ydGVkCisrICAgICAgICAgICAgICAgICMgd2hpbGUgY3Jvc3MgY29tcGlsZSwgd2UganVzdCBjaGVjayB3aGV0aGVyIHRoZSBtb2R1bGUgZXhpc3QKKysgICAgICAgICAgICAgICAgTG9ncy53YXJuKCdDcm9zcyBtb2R1bGVbJXNdIGhhcyBiZWVuIGZvdW5kLCBidXQgY2FuIG5vdCBiZSBsb2FkZWQuJyAlIChzdHVmZlsxXSkpCisrICAgICAgICAgICAgICAgIGZvdW5kID0gVHJ1ZQorICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBmb3VuZCA9IHR1cGxpemVfdmVyc2lvbih2ZXJzaW9uKSA+PSB0dXBsaXplX3ZlcnNpb24obWludmVyc2lvbikKKysgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAgIHZlcnNpb24gPSBtLl9fdmVyc2lvbl9fCisrICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorKyAgICAgICAgICAgICAgICBmb3VuZCA9IEZhbHNlCisrICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgZm91bmQgPSB0dXBsaXplX3ZlcnNpb24odmVyc2lvbikgPj0gdHVwbGl6ZV92ZXJzaW9uKG1pbnZlcnNpb24pCisrICAgICAgICBmaW5hbGx5OgorKyAgICAgICAgICAgIGlmIHN0dWZmWzBdOgorKyAgICAgICAgICAgICAgICBzdHVmZlswXS5jbG9zZSgpCisrICAgIGVsc2U6CisrICAgICAgICBmb3VuZCA9IEZhbHNlCisrCisgICAgIGlmIG5vdCBmb3VuZCBhbmQgbm90IGNvbmYuTElCX01BWV9CRV9CVU5ETEVEKGxpYm5hbWUpOgorICAgICAgICAgTG9ncy5lcnJvcignRVJST1I6IFB5dGhvbiBtb2R1bGUgJXMgb2YgdmVyc2lvbiAlcyBub3QgZm91bmQsIGFuZCBidW5kbGluZyBkaXNhYmxlZCcgJSAobGlibmFtZSwgbWludmVyc2lvbikpCisgICAgICAgICBzeXMuZXhpdCgxKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYmxkYi9saWJsZGJfMS4xLjI2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYmxkYi9saWJsZGJfMS4xLjI2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0NThkNDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlibGRiL2xpYmxkYl8xLjEuMjYuYmIKQEAgLTAsMCArMSw0OSBAQAorU1VNTUFSWSA9ICJIaWVyYXJjaGljYWwsIHJlZmVyZW5jZSBjb3VudGVkIG1lbW9yeSBwb29sIHN5c3RlbSB3aXRoIGRlc3RydWN0b3JzIgorSE9NRVBBR0UgPSAiaHR0cDovL2xkYi5zYW1iYS5vcmciCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEwtMy4wKyAmIExHUEwtMi4xKyAmIEdQTC0zLjArIgorCitERVBFTkRTICs9ICJsaWJic2QgbGlidGRiIGxpYnRhbGxvYyBsaWJ0ZXZlbnQgcG9wdCIKK1JERVBFTkRTX3B5bGRiICs9ICJweXRob24iCisKK1NSQ19VUkkgPSAiaHR0cDovL3NhbWJhLm9yZy9mdHAvbGRiL2xkYi0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZG8tbm90LWltcG9ydC10YXJnZXQtbW9kdWxlLXdoaWxlLWNyb3NzLWNvbXBpbGUucGF0Y2ggXAorICAgICAgICAgICIKKworUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICIsLG9wZW5sZGFwIgorU1JDX1VSSSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbGRhcCcsICcnLCAnZmlsZTovL2F2b2lkLW9wZW5sZGFwLXVubGVzcy13YW50ZWQucGF0Y2gnLCBkKX0iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0xHUEwtMy4wO21kNT1iZmNjZmU5NTIyNjlmZmYyYjQwN2RkMTFmMmYzMDgzYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9MR1BMLTIuMTttZDU9MWE2ZDI2OGZkMjE4Njc1ZmZlYThiZTU1Njc4OGI3ODAgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvR1BMLTMuMDttZDU9Yzc5ZmYzOWYxOWRmZWM2ZDI5M2I5NWRlYTdiMDc4OTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMTc4MGI3MDJiNjM4YWQzMmFhNWQ5ODUzZDI1NzgzOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ODQzYzdhNzJiOTgwZDk0MTNiYTZjNDk0YzAzOWJjY2QxMGM1MjRiMzdmZGEyOTE3YWZiMTQ3NzQ1ZDhiMmU2IgorCitpbmhlcml0IHdhZi1zYW1iYQorCitTID0gIiR7V09SS0RJUn0vbGRiLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1ycGF0aCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ycGF0aC1pbnN0YWxsIFwKKyAgICAgICAgICAgICAgICAgLS1idW5kbGVkLWxpYnJhcmllcz1OT05FIFwKKyAgICAgICAgICAgICAgICAgLS1idWlsdGluLWxpYnJhcmllcz1yZXBsYWNlIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLW1vZHVsZXNkaXI9JHtsaWJkaXJ9L2xkYi9tb2R1bGVzIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLXByaXZhdGVsaWJkaXI9JHtsaWJkaXJ9L2xkYiBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1saWJpY29udj0ke1NUQUdJTkdfRElSX0hPU1R9JHtwcmVmaXh9XAorICAgICAgICAgICAgICAgICIKK0RJU0FCTEVfU1RBVElDID0gIiIKKworUEFDS0FHRVMgKz0gInB5bGRiIHB5bGRiLWRiZyBweWxkYi1kZXYiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGRiLyoiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9sZGIvLmRlYnVnLyogXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGRiL21vZHVsZXMvbGRiLy5kZWJ1Zy8qIgorCitGSUxFU19weWxkYiA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvKiBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlicHlsZGItdXRpbC5zby4xIFwKKyAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJweWxkYi11dGlsLnNvLjEuMS4xNyBcCisgICAgICAgICAgICAgICIKK0ZJTEVTX3B5bGRiLWRiZyA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vLmRlYnVnL2xpYnB5bGRiLXV0aWwuc28uMS4xLjE3IgorRklMRVNfcHlsZGItZGV2ID0gIiR7bGliZGlyfS9saWJweWxkYi11dGlsLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYm1lbWNhY2hlZC9maWxlcy9jcm9zc2NvbXBpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlibWVtY2FjaGVkL2ZpbGVzL2Nyb3NzY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzUxMWJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYm1lbWNhY2hlZC9maWxlcy9jcm9zc2NvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorIGxpYm1lbWNhY2hlZC9iYWNrdHJhY2UuY2MgfCAgICAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGxpYm1lbWNhY2hlZC0xLjAuMTUub3JpZy9saWJtZW1jYWNoZWQvYmFja3RyYWNlLmNjCisrKysgbGlibWVtY2FjaGVkLTEuMC4xNS9saWJtZW1jYWNoZWQvYmFja3RyYWNlLmNjCitAQCAtNzUsMTAgKzc1LDExIEBAIHZvaWQgY3VzdG9tX2JhY2t0cmFjZSh2b2lkKQorICAgICB7CisgICAgICAgZm9yIChpbnQgeD0gMDsgeCA8IHN0YWNrX2ZyYW1lczsgeCsrKSAKKyAgICAgICB7CisgICAgICAgICBib29sIHdhc19kZW1hbmdsZWQ9IGZhbHNlOworIAorKyNpZiBVU0VfREVNQU5HTEUgPT0gMQorICAgICAgICAgaWYgKFVTRV9ERU1BTkdMRSkKKyAgICAgICAgIHsKKyAjaWZkZWYgSEFWRV9ETEZDTl9ICisgICAgICAgICAgIERsX2luZm8gZGxpbmZvOworICAgICAgICAgICBpZiAoZGxhZGRyKGJhY2t0cmFjZV9idWZmZXJbeF0sICZkbGluZm8pKQorQEAgLTEwNywxMSArMTA4LDExIEBAIHZvaWQgY3VzdG9tX2JhY2t0cmFjZSh2b2lkKQorICAgICAgICAgICAgICAgICAgICAgICBkbGluZm8uZGxpX2ZuYW1lKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgIH0KKyAjZW5kaWYKKyAgICAgICAgIH0KKy0KKysjZW5kaWYKKyAgICAgICAgIGlmICh3YXNfZGVtYW5nbGVkID09IGZhbHNlKQorICAgICAgICAgeworICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIj8lZCAgJXAgaW4gJXNcbiIsIHgsIGJhY2t0cmFjZV9idWZmZXJbeF0sIHN5bWJvbGxpc3RbeF0pOworICAgICAgICAgfQorICAgICAgIH0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJtZW1jYWNoZWQvbGlibWVtY2FjaGVkLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJtZW1jYWNoZWQvbGlibWVtY2FjaGVkLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzI0NDNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYm1lbWNhY2hlZC9saWJtZW1jYWNoZWQuaW5jCkBAIC0wLDAgKzEsMTQgQEAKK0RFU0NSSVBUSU9OID0gIm9wZW4gc291cmNlIEMvQysrIGNsaWVudCBsaWJyYXJ5IGFuZCB0b29scyBmb3IgdGhlIG1lbWNhY2hlZCBzZXJ2ZXIiCitERVBFTkRTID0gImxpYmV2ZW50IHV0aWwtbGludXgiCitTRUNUSU9OID0gImxpYmRldmVsIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04NjU0OTA5NDFjOTFiYTc5MGYwZWE3OGRlYzkzYmQ2MCIKKworU1JDX1VSSSA9ICJodHRwOi8vbGF1bmNocGFkLm5ldC9saWJtZW1jYWNoZWQvMS4wLyR7UFZ9Lytkb3dubG9hZC9saWJtZW1jYWNoZWQtJHtQVn0udGFyLmd6IgorCitUQVJHRVRfTERGTEFHUyArPSAiLWx1dWlkIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tzYXNsXSA9ICItLWVuYWJsZS1zYXNsLC0tZGlzYWJsZS1zYXNsLGN5cnVzLXNhc2wiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlibWVtY2FjaGVkL2xpYm1lbWNhY2hlZF8xLjAuMTUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlibWVtY2FjaGVkL2xpYm1lbWNhY2hlZF8xLjAuMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgyMzJiNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJtZW1jYWNoZWQvbGlibWVtY2FjaGVkXzEuMC4xNS5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgbGlibWVtY2FjaGVkLmluYworCitTUkNfVVJJICs9ICJmaWxlOi8vY3Jvc3Njb21waWxlLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjE2Mjk3YTFhZWRlZmM1MmIzZjY5MjJlZGE1ZDU1OWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGQ3ZTk1NjAwMjk4MzViZGRmNzYxYTViNGMyMzM5ZDllNWM3Mzc0NTU4NjU5YjZjMTFiMmM5NWU3ZDNhNDMyNSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJtZW1jYWNoZWQvbGlibWVtY2FjaGVkXzEuMC43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYm1lbWNhY2hlZC9saWJtZW1jYWNoZWRfMS4wLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RmODQxNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJtZW1jYWNoZWQvbGlibWVtY2FjaGVkXzEuMC43LmJiCkBAIC0wLDAgKzEsNCBAQAorcmVxdWlyZSBsaWJtZW1jYWNoZWQuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkNTlhNDYyYTkyZDI5NmY3NmJmZjJkOWJjNzJiMjUxNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZWZhODZjOTczM2VhYWQ1NWQ3MTE5Y2IxNjc2OTQyNGUyYWE2YzIyYjMzOTJlOGY5NzM5NDZmY2U2Njc4ZDgxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRhbGxvYy9saWJ0YWxsb2MvYXZvaWQtYXR0ci11bmxlc3Mtd2FudGVkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRhbGxvYy9saWJ0YWxsb2MvYXZvaWQtYXR0ci11bmxlc3Mtd2FudGVkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzZWU5Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGFsbG9jL2xpYnRhbGxvYy9hdm9pZC1hdHRyLXVubGVzcy13YW50ZWQucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorLS0tIGEvbGliL3JlcGxhY2Uvd3NjcmlwdAkyMDE1LTExLTEzIDE2OjA0OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIGIvbGliL3JlcGxhY2Uvd3NjcmlwdAkyMDE1LTExLTEzIDE2OjIzOjIwLjAwMDAwMDAwMCArMDEwMAorQEAgLTYzNiw4ICs2MzYsNiBAQAorICAgICBpZiBub3QgYmxkLkNPTkZJR19TRVQoJ0hBVkVfSU5FVF9BVE9OJyk6ICAgICBSRVBMQUNFX1NPVVJDRSArPSAnIGluZXRfYXRvbi5jJworICAgICBpZiBub3QgYmxkLkNPTkZJR19TRVQoJ0hBVkVfSU5FVF9OVE9QJyk6ICAgICBSRVBMQUNFX1NPVVJDRSArPSAnIGluZXRfbnRvcC5jJworICAgICBpZiBub3QgYmxkLkNPTkZJR19TRVQoJ0hBVkVfSU5FVF9QVE9OJyk6ICAgICBSRVBMQUNFX1NPVVJDRSArPSAnIGluZXRfcHRvbi5jJworLSAgICBpZiBub3QgYmxkLkNPTkZJR19TRVQoJ0hBVkVfR0VUWEFUVFInKSBvciBibGQuQ09ORklHX1NFVCgnWEFUVFJfQURESVRJT05BTF9PUFRJT05TJyk6CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFUExBQ0VfU09VUkNFICs9ICcgeGF0dHIuYycKKyAKKyAgICAgYmxkLlNBTUJBX0xJQlJBUlkoJ3JlcGxhY2UnLAorICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U9UkVQTEFDRV9TT1VSQ0UsCitAQCAtNjQ4LDcgKzY0Niw3IEBACisgICAgICAgICAgICAgICAgICAgICAgICMgYXQgdGhlIG1vbWVudDoKKyAgICAgICAgICAgICAgICAgICAgICAgIyBoaWRlX3N5bWJvbHM9YmxkLkJVSUxUSU5fTElCUkFSWSgncmVwbGFjZScpLAorICAgICAgICAgICAgICAgICAgICAgICBwcml2YXRlX2xpYnJhcnk9VHJ1ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgZGVwcz0nY3J5cHQgZGwgbnNsIHNvY2tldCBydCBhdHRyJyArIGV4dHJhX2xpYnMpCisrICAgICAgICAgICAgICAgICAgICAgIGRlcHM9J2NyeXB0IGRsIG5zbCBzb2NrZXQgcnQgJyArIGV4dHJhX2xpYnMpCisgCisgICAgIGJsZC5TQU1CQV9TVUJTWVNURU0oJ3JlcGxhY2UtdGVzdCcsCisgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZT0nJyd0ZXN0L3Rlc3RzdWl0ZS5jIHRlc3Qvc3RycHRpbWUuYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRhbGxvYy9saWJ0YWxsb2NfMi4xLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGFsbG9jL2xpYnRhbGxvY18yLjEuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTM3MzExCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRhbGxvYy9saWJ0YWxsb2NfMi4xLjYuYmIKQEAgLTAsMCArMSw0MiBAQAorU1VNTUFSWSA9ICJIaWVyYXJjaGljYWwsIHJlZmVyZW5jZSBjb3VudGVkIG1lbW9yeSBwb29sIHN5c3RlbSB3aXRoIGRlc3RydWN0b3JzIgorSE9NRVBBR0UgPSAiaHR0cDovL3RhbGxvYy5zYW1iYS5vcmciCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEwtMy4wKyAmIEdQTC0zLjArIgorCitERVBFTkRTICs9ICJsaWJic2QiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NhbWJhLm9yZy9mdHAvdGFsbG9jL3RhbGxvYy0ke1BWfS50YXIuZ3oiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9MR1BMLTMuMDttZDU9YmZjY2ZlOTUyMjY5ZmZmMmI0MDdkZDExZjJmMzA4M2IgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvR1BMLTMuMDttZDU9Yzc5ZmYzOWYxOWRmZWM2ZDI5M2I5NWRlYTdiMDc4OTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MDcwMTBjNmVkZTU4MjFmZDM0Mzk3ZjVkOWVjNmFiOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYjhlMWE1MGJhY2IzNTlkOTk5NDJlMGRkOTk0MWNlZjc3OWFlNGI1ZWIyMGYxMzg4NzNiZDgyNzBjYjFkNDdiIgorCisKK2luaGVyaXQgd2FmLXNhbWJhCisKK1BBQ0tBR0VDT05GSUdbYXR0cl0gPSAiLCxhdHRyIgorCitTUkNfVVJJICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdhdHRyJywgJycsICdmaWxlOi8vYXZvaWQtYXR0ci11bmxlc3Mtd2FudGVkLnBhdGNoJywgZCl9IgorCitTID0gIiR7V09SS0RJUn0vdGFsbG9jLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1ycGF0aCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ycGF0aC1pbnN0YWxsIFwKKyAgICAgICAgICAgICAgICAgLS1idW5kbGVkLWxpYnJhcmllcz1OT05FIFwKKyAgICAgICAgICAgICAgICAgLS1idWlsdGluLWxpYnJhcmllcz1yZXBsYWNlIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXNpbGVudC1ydWxlcyBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1saWJpY29udj0ke1NUQUdJTkdfRElSX0hPU1R9JHtwcmVmaXh9XAorICAgICAgICAgICAgICAgICIKK0RJU0FCTEVfU1RBVElDID0gIiIKKworUEFDS0FHRVMgKz0gInB5dGFsbG9jIHB5dGFsbG9jLWRiZyBweXRhbGxvYy1kZXYiCisKK0ZJTEVTX3B5dGFsbG9jID0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy8qIFwKKyAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJweXRhbGxvYy11dGlsLnNvLjIgXAorICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYnB5dGFsbG9jLXV0aWwuc28uMi4xLjEgXAorICAgICAgICAgICAgICAgICAiCitGSUxFU19weXRhbGxvYy1kYmcgPSAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9Ly5kZWJ1Zy9saWJweXRhbGxvYy11dGlsLnNvLjIuMS4xIgorRklMRVNfcHl0YWxsb2MtZGV2ID0gIiR7bGliZGlyfS9saWJweXRhbGxvYy11dGlsLnNvIgorUkRFUEVORFNfcHl0YWxsb2MgPSAicHl0aG9uIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvZG8tbm90LWNoZWNrLXhzbHRwcm9jLW1hbnBhZ2VzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvZG8tbm90LWNoZWNrLXhzbHRwcm9jLW1hbnBhZ2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjYzQ1YzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYi9kby1ub3QtY2hlY2steHNsdHByb2MtbWFucGFnZXMucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorRG9uJ3QgY2hlY2sgbWFucGFnZXMgZm9yIHhzbHRwcm9jLgorCitTaWduZWQtb2ZmLWJ5OiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KKworLS0tIHRkYi0xLjMuMC5vcmlnL3dzY3JpcHQJMjAxNS0wNC0yMiAwOTo1MjozMi4zNjYwMDAyMjIgKzA5MDAKKysrKyB0ZGItMS4zLjAvd3NjcmlwdAkyMDE1LTA0LTIyIDA5OjUxOjU3LjcyMDAwMDIwNSArMDkwMAorQEAgLTkwLDcgKzkwLDcgQEAgZGVmIGNvbmZpZ3VyZShjb25mKToKKyAgICAgICAgIG5vdCBjb25mLmVudi5kaXNhYmxlX3RkYl9tdXRleF9sb2NraW5nKToKKyAgICAgICAgIGNvbmYuZGVmaW5lKCdVU0VfVERCX01VVEVYX0xPQ0tJTkcnLCAxKQorIAorLSAgICBjb25mLkNIRUNLX1hTTFRQUk9DX01BTlBBR0VTKCkKKysgICAgY29uZi5maW5kX3Byb2dyYW0oJ3hzbHRwcm9jJywgdmFyPSdYU0xUUFJPQycpCisgCisgICAgIGlmIG5vdCBjb25mLmVudi5kaXNhYmxlX3B5dGhvbjoKKyAgICAgICAgICMgYWxzbyBkaXNhYmxlIGlmIHdlIGRvbid0IGhhdmUgdGhlIHB5dGhvbiBsaWJzIGluc3RhbGxlZApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGJfMS4zLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYl8xLjMuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjY2OThhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGJfMS4zLjguYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJUaGUgdGRiIGxpYnJhcnkiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEwtMy4wKyAmIEdQTC0zLjArIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy9MR1BMLTMuMDttZDU9YmZjY2ZlOTUyMjY5ZmZmMmI0MDdkZDExZjJmMzA4M2IgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvR1BMLTMuMDttZDU9Yzc5ZmYzOWYxOWRmZWM2ZDI5M2I5NWRlYTdiMDc4OTEiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NhbWJhLm9yZy9mdHAvdGRiL3RkYi0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZG8tbm90LWNoZWNrLXhzbHRwcm9jLW1hbnBhZ2VzLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZmE0YzllMmY1OWZjZjQxNDQxMjg1YmNhNWY1YWI0ODEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDYwNWFjMDQyN2VhYzljMjNiZjYxZWJmZDgyMDZhMDdkNWVjZTE5ODQ5OGVhYjE3NjljZDBjZmI2ZTdkZTZiMSIKKworUyA9ICIke1dPUktESVJ9L3RkYi0ke1BWfSIKKworaW5oZXJpdCB3YWYtc2FtYmEKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtcnBhdGggXAorICAgICAgICAgICAgICAgICAtLWJ1bmRsZWQtbGlicmFyaWVzPU5PTkUgXAorICAgICAgICAgICAgICAgICAtLWJ1aWx0aW4tbGlicmFyaWVzPXJlcGxhY2UgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtbGliaWNvbnY9JHtTVEFHSU5HX0RJUl9IT1NUfSR7cHJlZml4fVwKKyAgICAgICAgICAgICAgICAiCitESVNBQkxFX1NUQVRJQyA9ICIiCisKK1BBQ0tBR0VTICs9ICJ0ZGItdG9vbHMgcHl0aG9uLXRkYiBweXRob24tdGRiLWRiZyIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9Lyouc28uKiIKK0ZJTEVTX3RkYi10b29scyA9ICIke2JpbmRpcn0vKiIKK0ZJTEVTX3B5dGhvbi10ZGIgPSAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzLyoiCitGSUxFU19weXRob24tdGRiLWRiZyA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvLmRlYnVnLyoiCitSREVQRU5EU19weXRob24tdGRiID0gInB5dGhvbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZXZlbnQvbGlidGV2ZW50L2F2b2lkLWF0dHItdW5sZXNzLXdhbnRlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZXZlbnQvbGlidGV2ZW50L2F2b2lkLWF0dHItdW5sZXNzLXdhbnRlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmM1NTIzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRldmVudC9saWJ0ZXZlbnQvYXZvaWQtYXR0ci11bmxlc3Mtd2FudGVkLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKKy0tLSBhL2xpYi9yZXBsYWNlL3dzY3JpcHQJMjAxNS0xMS0xOCAxNTo0MDoxOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBiL2xpYi9yZXBsYWNlL3dzY3JpcHQJMjAxNS0xMS0xOCAxNTo0ODowOS4wMDAwMDAwMDAgKzAxMDAKK0BAIC02MTgsOCArNjE4LDYgQEAKKyAgICAgaWYgbm90IGJsZC5DT05GSUdfU0VUKCdIQVZFX0lORVRfQVRPTicpOiAgICAgUkVQTEFDRV9TT1VSQ0UgKz0gJyBpbmV0X2F0b24uYycKKyAgICAgaWYgbm90IGJsZC5DT05GSUdfU0VUKCdIQVZFX0lORVRfTlRPUCcpOiAgICAgUkVQTEFDRV9TT1VSQ0UgKz0gJyBpbmV0X250b3AuYycKKyAgICAgaWYgbm90IGJsZC5DT05GSUdfU0VUKCdIQVZFX0lORVRfUFRPTicpOiAgICAgUkVQTEFDRV9TT1VSQ0UgKz0gJyBpbmV0X3B0b24uYycKKy0gICAgaWYgbm90IGJsZC5DT05GSUdfU0VUKCdIQVZFX0dFVFhBVFRSJykgb3IgYmxkLkNPTkZJR19TRVQoJ1hBVFRSX0FERElUSU9OQUxfT1BUSU9OUycpOgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRVBMQUNFX1NPVVJDRSArPSAnIHhhdHRyLmMnCisgCisgICAgIGJsZC5TQU1CQV9MSUJSQVJZKCdyZXBsYWNlJywKKyAgICAgICAgICAgICAgICAgICAgICAgc291cmNlPVJFUExBQ0VfU09VUkNFLAorQEAgLTYzMCw3ICs2MjgsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICAjIGF0IHRoZSBtb21lbnQ6CisgICAgICAgICAgICAgICAgICAgICAgICMgaGlkZV9zeW1ib2xzPWJsZC5CVUlMVElOX0xJQlJBUlkoJ3JlcGxhY2UnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgcHJpdmF0ZV9saWJyYXJ5PVRydWUsCistICAgICAgICAgICAgICAgICAgICAgIGRlcHM9J2NyeXB0IGRsIG5zbCBzb2NrZXQgcnQgYXR0cicgKyBleHRyYV9saWJzKQorKyAgICAgICAgICAgICAgICAgICAgICBkZXBzPSdjcnlwdCBkbCBuc2wgc29ja2V0IHJ0ICcgKyBleHRyYV9saWJzKQorIAorICAgICBibGQuU0FNQkFfU1VCU1lTVEVNKCdyZXBsYWNlLXRlc3QnLAorICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U9JycndGVzdC90ZXN0c3VpdGUuYyB0ZXN0L3N0cnB0aW1lLmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZXZlbnQvbGlidGV2ZW50L2RvLW5vdC1jaGVjay14c2x0cHJvYy1tYW5wYWdlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZXZlbnQvbGlidGV2ZW50L2RvLW5vdC1jaGVjay14c2x0cHJvYy1tYW5wYWdlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xY2U0ZGRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRldmVudC9saWJ0ZXZlbnQvZG8tbm90LWNoZWNrLXhzbHRwcm9jLW1hbnBhZ2VzLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK0Rvbid0IGNoZWNrIG1hbnBhZ2VzIGZvciB4c2x0cHJvYy4KKworU2lnbmVkLW9mZi1ieTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CisKK2RpZmYgLU51cnAgdGV2ZW50LTAuOS4yMS5vcmlnL2xpYi90YWxsb2Mvd3NjcmlwdCB0ZXZlbnQtMC45LjIxL2xpYi90YWxsb2Mvd3NjcmlwdAorLS0tIHRldmVudC0wLjkuMjEub3JpZy9saWIvdGFsbG9jL3dzY3JpcHQJMjAxMy0wOS0wOCAyMToyNDoxNC4wMDAwMDAwMDAgKzA5MDAKKysrKyB0ZXZlbnQtMC45LjIxL2xpYi90YWxsb2Mvd3NjcmlwdAkyMDE1LTA0LTI0IDE2OjI4OjA0LjA4NTAwMDIzMCArMDkwMAorQEAgLTU1LDcgKzU1LDcgQEAgZGVmIGNvbmZpZ3VyZShjb25mKToKKyAgICAgaWYgY29uZi5lbnYuc3RhbmRhbG9uZV90YWxsb2M6CisgICAgICAgICBjb25mLmVudi5UQUxMT0NfQ09NUEFUMSA9IE9wdGlvbnMub3B0aW9ucy5UQUxMT0NfQ09NUEFUMQorIAorLSAgICBjb25mLkNIRUNLX1hTTFRQUk9DX01BTlBBR0VTKCkKKysgICAgY29uZi5maW5kX3Byb2dyYW0oJ3hzbHRwcm9jJywgdmFyPSdYU0xUUFJPQycpCisgCisgICAgIGlmIG5vdCBjb25mLmVudi5kaXNhYmxlX3B5dGhvbjoKKyAgICAgICAgICMgYWxzbyBkaXNhYmxlIGlmIHdlIGRvbid0IGhhdmUgdGhlIHB5dGhvbiBsaWJzIGluc3RhbGxlZApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRldmVudC9saWJ0ZXZlbnRfMC45LjI4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRldmVudC9saWJ0ZXZlbnRfMC45LjI4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwYWQ3NDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGV2ZW50L2xpYnRldmVudF8wLjkuMjguYmIKQEAgLTAsMCArMSwzNCBAQAorU1VNTUFSWSA9ICJIaWVyYXJjaGljYWwsIHJlZmVyZW5jZSBjb3VudGVkIG1lbW9yeSBwb29sIHN5c3RlbSB3aXRoIGRlc3RydWN0b3JzIgorSE9NRVBBR0UgPSAiaHR0cDovL3RldmVudC5zYW1iYS5vcmciCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2MysiCisKK0RFUEVORFMgKz0gImxpYmJzZCBsaWJ0YWxsb2MiCitSREVQRU5EU19weXRob24tdGV2ZW50ID0gInB5dGhvbiIKKworU1JDX1VSSSA9ICJodHRwOi8vc2FtYmEub3JnL2Z0cC90ZXZlbnQvdGV2ZW50LSR7UFZ9LnRhci5neiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0xHUEwtMy4wO21kNT1iZmNjZmU5NTIyNjlmZmYyYjQwN2RkMTFmMmYzMDgzYiIKKworU1JDX1VSSVttZDVzdW1dID0gIjk0NTg0NTgxNzkxOGY1Y2ZiZTAyMDJkODBhN2RiMTE4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA0ZDk1MzM3OTAyNWIxNTYwYWY1YzRmZmNjZTU4YTNlZTg0ZGI3YWFhMDljOWYxZTNlZmY1YjI5NDVhMTM1MjkiCisKK2luaGVyaXQgd2FmLXNhbWJhCisKK1BBQ0tBR0VDT05GSUdbYXR0cl0gPSAiLCxhdHRyIgorCitTUkNfVVJJICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdhdHRyJywgJycsICdmaWxlOi8vYXZvaWQtYXR0ci11bmxlc3Mtd2FudGVkLnBhdGNoJywgZCl9IgorCitTID0gIiR7V09SS0RJUn0vdGV2ZW50LSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1ycGF0aCBcCisgICAgICAgICAgICAgICAgIC0tYnVuZGxlZC1saWJyYXJpZXM9Tk9ORSBcCisgICAgICAgICAgICAgICAgIC0tYnVpbHRpbi1saWJyYXJpZXM9cmVwbGFjZSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1saWJpY29udj0ke1NUQUdJTkdfRElSX0hPU1R9JHtwcmVmaXh9XAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZ2V0dGV4dCBcCisgICAgICAgICAgICAgICAgIgorRElTQUJMRV9TVEFUSUMgPSAiIgorCitQQUNLQUdFUyArPSAicHl0aG9uLXRldmVudCBweXRob24tdGV2ZW50LWRiZyIKKworRklMRVNfcHl0aG9uLXRldmVudCA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvKiIKK0ZJTEVTX3B5dGhvbi10ZXZlbnQtZGJnID0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy8uZGVidWciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bS9pbnN0YWxsLWZyb20tYnVpbGRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saW51eC1hdG0vbGludXgtYXRtL2luc3RhbGwtZnJvbS1idWlsZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxMzgwZWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bS9pbnN0YWxsLWZyb20tYnVpbGRpci5wYXRjaApAQCAtMCwwICsxLDE5IEBACitpbnN0YWxsIGJpbmFyaWVzIGZyb20gYnVpbGRkaXIgbm90IHNyY2Rpci4KKworU2lnbmVkLW9mZi1ieTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CisKKy0tLSBsaW51eC1hdG0tMi41LjIub3JpZy9zcmMvZXh0cmEvTWFrZWZpbGUuYW0JMjAxMC0xMi0yMSAwNTowNzoyMi4wMDAwMDAwMDAgKzA4MDAKKysrKyBsaW51eC1hdG0tMi41LjIvc3JjL2V4dHJhL01ha2VmaWxlLmFtCTIwMTQtMTItMjIgMTA6NTY6MDQuNDU4NTYzMjY5ICswODAwCitAQCAtOSw5ICs5LDkgQEAgQ0xFQU5GSUxFUyA9IHBjYTIwMGUuYmluIHBjYTIwMGVfZWNkLmJpbgorIAorIGluc3RhbGwtZXhlYy1ob29rOgorIAkkKE1LRElSX1ApICQoREVTVERJUikvbGliL2Zpcm13YXJlCistCSQoSU5TVEFMTF9EQVRBKSAkKHNyY2RpcikvcGNhMjAwZS5iaW4gJChERVNURElSKS9saWIvZmlybXdhcmUKKy0JJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS9wY2EyMDBlX2VjZC5iaW4yICQoREVTVERJUikvbGliL2Zpcm13YXJlCistCSQoSU5TVEFMTF9EQVRBKSAkKHNyY2Rpcikvc2JhMjAwZV9lY2QuYmluMiAkKERFU1RESVIpL2xpYi9maXJtd2FyZQorKwkkKElOU1RBTExfREFUQSkgJChidWlsZGRpcikvcGNhMjAwZS5iaW4gJChERVNURElSKS9saWIvZmlybXdhcmUKKysJJChJTlNUQUxMX0RBVEEpICQoYnVpbGRkaXIpL3BjYTIwMGVfZWNkLmJpbjIgJChERVNURElSKS9saWIvZmlybXdhcmUKKysJJChJTlNUQUxMX0RBVEEpICQoYnVpbGRkaXIpL3NiYTIwMGVfZWNkLmJpbjIgJChERVNURElSKS9saWIvZmlybXdhcmUKKyAKKyAlLmJpbiAlLmJpbjI6ICUuZGF0YQorIAlvYmpjb3B5IC1JaWhleCAkPCAtT2JpbmFyeSAkQC5negpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG0vbGluay13aXRoLWxkZmxhZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bS9saW5rLXdpdGgtbGRmbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmZhZDJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG0vbGluay13aXRoLWxkZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorTERGTEFHU19GT1JfQlVJTEQgc2hvdWxkIGJlIHJlcXVpcmVkIHdoZW4gZG9pbmcgbGluayBmb3IgcWdlbi4KKworU2lnbmVkLW9mZi1ieTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CisKK2RpZmYgLU51cnAgbGludXgtYXRtLTIuNS4yLm9yaWcvY29uZmlndXJlLmluIGxpbnV4LWF0bS0yLjUuMi9jb25maWd1cmUuaW4KKy0tLSBsaW51eC1hdG0tMi41LjIub3JpZy9jb25maWd1cmUuaW4JMjAxMC0xMi0yOCAyMzozNjowNy4wMDAwMDAwMDAgKzA4MDAKKysrKyBsaW51eC1hdG0tMi41LjIvY29uZmlndXJlLmluCTIwMTQtMTItMjIgMTA6MjU6MjMuODMwNTEwOTMyICswODAwCitAQCAtNjYsNiArNjYsNyBAQCBlbHNlCisgZmkKKyBBQ19TVUJTVChDQ19GT1JfQlVJTEQpCisgQUNfU1VCU1QoQ0ZMQUdTX0ZPUl9CVUlMRCkKKytBQ19TVUJTVChMREZMQUdTX0ZPUl9CVUlMRCkKKyBkbmwgQWRkIC1kIGZsYWcgdG8gYmlzb24veWFjYyB0byBjcmVhdGUgaW50ZXJtZWRpYXRlIC5oIGZpbGVzCisgWUFDQz0iJFlBQ0MgLWQiCisgCitkaWZmIC1OdXJwIGxpbnV4LWF0bS0yLjUuMi5vcmlnL3NyYy9xZ2VuL01ha2VmaWxlLmFtIGxpbnV4LWF0bS0yLjUuMi9zcmMvcWdlbi9NYWtlZmlsZS5hbQorLS0tIGxpbnV4LWF0bS0yLjUuMi5vcmlnL3NyYy9xZ2VuL01ha2VmaWxlLmFtCTIwMTAtMTItMjggMjI6Mjk6MzEuMDAwMDAwMDAwICswODAwCisrKysgbGludXgtYXRtLTIuNS4yL3NyYy9xZ2VuL01ha2VmaWxlLmFtCTIwMTQtMTItMjIgMTA6MjM6NTEuOTE0NTA4MzE4ICswODAwCitAQCAtNSw3ICs1LDcgQEAgcWdlbl9TT1VSQ0VTID0gY29tbW9uLmMgY29tbW9uLmggZmlsZS5jCisgcWdlbl9MREFERCA9IC1sZmwKKyAKKyBDT01QSUxFID0gQENDX0ZPUl9CVUlMREAgQENGTEFHU19GT1JfQlVJTERACistTElOSyA9IEBDQ19GT1JfQlVJTERAIEBDRkxBR1NfRk9SX0JVSUxEQCAtbyAkQAorK0xJTksgPSBAQ0NfRk9SX0JVSUxEQCBAQ0ZMQUdTX0ZPUl9CVUlMREAgQExERkxBR1NfRk9SX0JVSUxEQCAtbyAkQAorIAorICNURVNUUyA9ICQoY2hlY2tfUFJPR1JBTVMpCisgCitkaWZmIC1OdXJwIGxpbnV4LWF0bS0yLjUuMi5vcmlnL3NyYy9xZ2VuL01ha2VmaWxlLmluIGxpbnV4LWF0bS0yLjUuMi9zcmMvcWdlbi9NYWtlZmlsZS5pbgorLS0tIGxpbnV4LWF0bS0yLjUuMi5vcmlnL3NyYy9xZ2VuL01ha2VmaWxlLmluCTIwMTAtMTItMjkgMDA6MDY6MTEuMDAwMDAwMDAwICswODAwCisrKysgbGludXgtYXRtLTIuNS4yL3NyYy9xZ2VuL01ha2VmaWxlLmluCTIwMTQtMTItMjIgMTA6MjM6NTEuOTE0NTA4MzE4ICswODAwCitAQCAtMTA2LDYgKzEwNiw3IEBAIElOU1RBTExfU0NSSVBUID0gQElOU1RBTExfU0NSSVBUQAorIElOU1RBTExfU1RSSVBfUFJPR1JBTSA9IEBJTlNUQUxMX1NUUklQX1BST0dSQU1ACisgTEQgPSBATERACisgTERGTEFHUyA9IEBMREZMQUdTQAorK0xERkxBR1NfRk9SX0JVSUxEID0gQExERkxBR1NfRk9SX0JVSUxEQAorIExFWCA9IEBMRVhACisgTEVYTElCID0gQExFWExJQkAKKyBMRVhfT1VUUFVUX1JPT1QgPSBATEVYX09VVFBVVF9ST09UQApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG1fMi41LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bV8yLjUuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZGZiMDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG1fMi41LjIuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJEcml2ZXJzIGFuZCB0b29scyB0byBzdXBwb3J0IEFUTSBuZXR3b3JraW5nIHVuZGVyIExpbnV4IgorSE9NRVBBR0UgPSAiaHR0cDovL2xpbnV4LWF0bS5zb3VyY2Vmb3JnZS5uZXQvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEwtMi4wICYgTEdQTC0yLjAiCisKK0RFUEVORFMgPSAidmlydHVhbC9rZXJuZWwgZmxleCBmbGV4LW5hdGl2ZSIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworU1JDX1VSSSA9ICJodHRwOi8vbmNoYy5kbC5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC8ke0JQTn0vJHtCUE59LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbGluay13aXRoLWxkZmxhZ3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5zdGFsbC1mcm9tLWJ1aWxkaXIucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkNDk0OTkzNjhjM2NmMTVmNzNhMDVkOWJjZTg4MjRhOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NjQ1NDgxYTJiMTY0NzZiNTkyMjBhYTJkNmJjNWJjNDEwNDNmMjkxMzI2YzliMzc1ODEwMThmYmQxNmRkNTNhIgorCitMSUNfRklMRVNfQ0hLU1VNID0gIlwKK2ZpbGU6Ly9DT1BZSU5HO21kNT1kOTI4ZGU5NTM3ZDg0NjkzNWE5OGFmM2JiYzZlNmVlMSBcCitmaWxlOi8vQ09QWUlORy5HUEw7bWQ1PWFjMmRiMTY5YjkzMDllMjQwNTU1YmM3N2JlNGYxYTMzIFwKK2ZpbGU6Ly9DT1BZSU5HLkxHUEw7bWQ1PTZlMjljNjg4ZDkxMmRhMTJiNjZiNzNlMzJiMDNkODEyIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworIyBUaGUgZmlybXdhcmUgaXMgZXhwbGljaXRseSBwdXQgdW5kZXIgL2xpYiB3aGVuIGluc3RhbGxlZC4KKyMKKworRklMRVNfJHtQTn0gKz0gIi9saWIvZmlybXdhcmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGtzY3RwLXRvb2xzL2xrc2N0cC10b29scy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGtzY3RwLXRvb2xzL2xrc2N0cC10b29scy9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY3ZjE4ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sa3NjdHAtdG9vbHMvbGtzY3RwLXRvb2xzL3J1bi1wdGVzdApAQCAtMCwwICsxLDUgQEAKKyMhL2Jpbi9zaAorCitzaCB2NHRlc3Quc2gKK3NoIHY2dGVzdC5zaAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGtzY3RwLXRvb2xzL2xrc2N0cC10b29scy92NHRlc3Quc2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGtzY3RwLXRvb2xzL2xrc2N0cC10b29scy92NHRlc3Quc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTEzMDg1NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sa3NjdHAtdG9vbHMvbGtzY3RwLXRvb2xzL3Y0dGVzdC5zaApAQCAtMCwwICsxLDExIEBACisjIS9iaW4vc2gKK2VjaG8gInY0dGVzdCBzdGFydGluZzoiCitmb3IgdCBpbiAkKGZpbmQgLW1heGRlcHRoIDEgLXR5cGUgZiBcISAtbmFtZSB0ZXN0XCpfdjYgLW5hbWUgdGVzdFwqKTsgZG8KKyAgZWNobyAiJHQiOworICBpZiAkdDsgdGhlbgorICAgIGVjaG8gIlBBU1M6ICR0IjsgZWNobyAiIjsKKyAgZWxzZQorICAgIGVjaG8gIkZBSUw6ICR0IjsgZWNobyAiIjsKKyAgZmkKKyAgc2xlZXAgMTsKK2RvbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sa3NjdHAtdG9vbHMvbGtzY3RwLXRvb2xzL3Y2dGVzdC5zaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sa3NjdHAtdG9vbHMvbGtzY3RwLXRvb2xzL3Y2dGVzdC5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTY2N2RmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xrc2N0cC10b29scy9sa3NjdHAtdG9vbHMvdjZ0ZXN0LnNoCkBAIC0wLDAgKzEsMTEgQEAKKyMhL2Jpbi9zaAorZWNobyAidjZ0ZXN0IHN0YXJ0aW5nOiIKK2ZvciB0IGluICQoZmluZCAtbWF4ZGVwdGggMSAtbmFtZSB0ZXN0XCpfdjYpOyBkbworICBlY2hvICIkdCI7CisgIGlmICR0OyB0aGVuCisgICAgZWNobyAiUEFTUzogJHQiOyBlY2hvICIiOworICBlbHNlCisgICAgZWNobyAiRkFJTDogJHQiOyBlY2hvICIiOworICBmaQorICBzbGVlcCAxOworZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xrc2N0cC10b29scy9sa3NjdHAtdG9vbHNfMS4wLjE2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xrc2N0cC10b29scy9sa3NjdHAtdG9vbHNfMS4wLjE2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzZTZhNWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGtzY3RwLXRvb2xzL2xrc2N0cC10b29sc18xLjAuMTYuYmIKQEAgLTAsMCArMSw2NSBAQAorU1VNTUFSWSA9ICJUaGUgTGludXggS2VybmVsIFN0cmVhbSBDb250cm9sIFRyYW5zbWlzc2lvbiBQcm90b2NvbCAobGtzY3RwKSBwcm9qZWN0IgorSE9NRVBBR0UgPSAiaHR0cDovL2xrc2N0cC5vcmciCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9DT1BZSU5HLmxpYjttZDU9MGExYjc5YWY5NTFjNDJhOWM4NTczNTMzZmJiYTlhOTIgXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT0wYzU2ZGIwMTQzZjRmODBjMzY5ZWUzYWY3NDI1YWY2ZSBcCisiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2xrc2N0cC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL3Y0dGVzdC5zaCBcCisgICAgICAgICAgIGZpbGU6Ly92NnRlc3Quc2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjcwOGJiMGI1YTY4MDZhZDZlOGQxM2M1NWIwNjc1MThlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA5MDNkZDUyNmI3ZjMwYTg5ZDUwMzFhYTJjODI3NTc2MTJiZWNjMzhlZDdiYzZlNGY5NzJmOGRlYWUzNTFmMjYiCisKKyN8IGFybS1vZS1saW51eC1nbnVlYWJpLWxpYnRvb2w6IGxpbms6IGFybS1vZS1saW51eC1nbnVlYWJpLWdjYyAgLW1hcmNoPWFybXY1dGUgLW1hcm0gLW10aHVtYi1pbnRlcndvcmsgLS1zeXNyb290PS9ob21lL2plbmtpbnMvb2Uvd29ybGQvc2hyLWNvcmUvdG1wLWVnbGliYy9zeXNyb290cy9xZW11YXJtIC1zaGFyZWQgIC1mUElDIC1EUElDICAubGlicy9iaW5keC5vIC5saWJzL2Nvbm5lY3R4Lm8gLmxpYnMvcGVlbG9mZi5vIC5saWJzL29wdF9pbmZvLm8gLmxpYnMvYWRkcnMubyAubGlicy9zZW5kbXNnLm8gLmxpYnMvcmVjdm1zZy5vICAgIC1tYXJjaD1hcm12NXRlIC1tYXJtIC1tdGh1bWItaW50ZXJ3b3JrIC0tc3lzcm9vdD0vaG9tZS9qZW5raW5zL29lL3dvcmxkL3Noci1jb3JlL3RtcC1lZ2xpYmMvc3lzcm9vdHMvcWVtdWFybSAtTzIgLVdsLC0tdmVyc2lvbi1zY3JpcHQ9L2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsvYXJtdjV0ZS1vZS1saW51eC1nbnVlYWJpL2xrc2N0cC10b29scy8xLjAuMTYtcjAvbGtzY3RwLXRvb2xzLTEuMC4xNi9zcmMvbGliL1ZlcnNpb25zLm1hcCAtV2wsLU8xIC1XbCwtLWhhc2gtc3R5bGU9Z251IC1XbCwtLWFzLW5lZWRlZCAgIC1XbCwtc29uYW1lIC1XbCxsaWJzY3RwLnNvLjEgLW8gLmxpYnMvbGlic2N0cC5zby4xLjAuMTYKKyN8IC9ob21lL2plbmtpbnMvb2Uvd29ybGQvc2hyLWNvcmUvdG1wLWVnbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYmV4ZWMvYXJtLW9lLWxpbnV4LWdudWVhYmkvZ2NjL2FybS1vZS1saW51eC1nbnVlYWJpLzQuOS4wL2xkOiBlcnJvcjogc3ltYm9sIHNjdHBfY29ubmVjdHggaGFzIHVuZGVmaW5lZCB2ZXJzaW9uCisjfCBjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKKyN8IG1ha2VbNF06ICoqKiBbbGlic2N0cC5sYV0gRXJyb3IgMQorUE5CTEFDS0xJU1RbbGtzY3RwLXRvb2xzXSA/PSAiJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCAiQlJPS0VOOiBmYWlscyB0byBsaW5rIGFnYWluc3Qgc2N0cF9jb25uZWN0eCBzeW1ib2wiLCAnJywgZCl9IgorCitTID0gIiR7V09SS0RJUn0vJHtCUH0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmluY29uZmlnIHB0ZXN0CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3Y0dGVzdC5zaCAke0R9JHtQVEVTVF9QQVRIfQorCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3Y2dGVzdC5zaCAke0R9JHtQVEVTVF9QQVRIfQorCWZvciB0ZXN0Y2FzZSBpbiBgZmluZCAke0J9L3NyYy9hcHBzLy5saWJzICR7Qn0vc3JjL2Z1bmNfdGVzdHMvLmxpYnMgLW1heGRlcHRoIDEgLXR5cGUgZiAtZXhlY3V0YWJsZWA7IGRvCisJCWluc3RhbGwgJHRlc3RjYXNlICR7RH0ke1BURVNUX1BBVEh9CisJZG9uZQorfQorCitTT0xJQlZFUlNJT049IiR7UFZ9IgorU09MSUJNQUpPUlZFUlNJT049IjEiCisKK1BBQ0tBR0VTID0rICIke1BOfS13aXRoc2N0cCAke1BOfS11dGlscyIKKworRklMRVNfJHtQTn0gPSAiIFwKKyAgICAke2xpYmRpcn0vbGlic2N0cC5zby4ke1NPTElCVkVSU0lPTn0gXAorICAgICR7bGliZGlyfS9saWJzY3RwLnNvLiR7U09MSUJNQUpPUlZFUlNJT059IFwKKyIKKworRklMRVNfJHtQTn0td2l0aHNjdHAgPSAiIFwKKyAgICAke2xpYmRpcn0vbGtzY3RwLXRvb2xzL2xpYndpdGhzY3RwLnNvLiR7U09MSUJWRVJTSU9OfSBcCisgICAgJHtsaWJkaXJ9L2xrc2N0cC10b29scy9saWJ3aXRoc2N0cC5zby4ke1NPTElCTUFKT1JWRVJTSU9OfSBcCisiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiIFwKKyAgICAke2xpYmRpcn0vbGlic2N0cC5zbyBcCisgICAgJHtsaWJkaXJ9L2xrc2N0cC10b29scy9saWJ3aXRoc2N0cC5zbyBcCisgICAgJHtkYXRhZGlyfS9sa3NjdHAtdG9vbHMvKi5jIFwKKyAgICAke2RhdGFkaXJ9L2xrc2N0cC10b29scy8qLmggXAorIgorCitGSUxFU18ke1BOfS11dGlscyA9ICIke2JpbmRpcn0vKiIKKworUlJFQ09NTUVORFNfJHtQTn0tdXRpbHMgKz0gImtlcm5lbC1tb2R1bGUtc2N0cCIKK1JSRUNPTU1FTkRTXyR7UE59LXB0ZXN0ICs9ICJrZXJuZWwtbW9kdWxlLXNjdHAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbG93cGFuLXRvb2xzL2xvd3Bhbi10b29scy9uby1oZWxwMm1hbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sb3dwYW4tdG9vbHMvbG93cGFuLXRvb2xzL25vLWhlbHAybWFuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllY2Q3MDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbG93cGFuLXRvb2xzL2xvd3Bhbi10b29scy9uby1oZWxwMm1hbi5wYXRjaApAQCAtMCwwICsxLDQxIEBACitEaXNhYmxlIGJ1aWxkaW5nIG1hbnBhZ2VzIHNvIHRoYXQgbWFrZSBpbnN0YWxsIGRvZXNuJ3QgZmFpbCBkdWUgdG8gbGFjayBvZiBoZWxwMm1hbgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ10KKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KK2luZGV4IDQ2YzQwMTcuLmQ2ZWQzMTIgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAgLTksMTEgKzksNiBAQCBpemNvb3JkaW5hdG9yX0RFU0MgPSAic2ltcGxlIGNvb3JkaW5hdG9yIGZvciBJRUVFIDgwMi4xNS40IG5ldHdvcmsiCisgaXpfREVTQyA9ICJjb25maWd1cmUgYW4gSUVFRSA4MDIuMTUuNCBpbnRlcmZhY2UiCisgaXpjaGF0X0RFU0MgPSAic2ltcGxlIGNoYXQgcHJvZ3JhbSB1c2luZyBJRUVFIDgwMi4xNS40IgorIAorLWlmIE1BTlBBR0VTCistZGlzdF9tYW5fTUFOUyA9ICQobWFucGFnZXMpCistZW5kaWYKKy1FWFRSQV9ESVNUID0gJChtYW5wYWdlcykKKy0KKyBpemF0dGFjaF9TT1VSQ0VTID0gc2VyaWFsLmMKKyAKKyBpel9TT1VSQ0VTID0gaXouYyBpei1jb21tb24uYyBpei1tYWMuYyBpei1waHkuYworQEAgLTI3LDE4ICsyMiw2IEBAIGl6Y29vcmRpbmF0b3JfTERBREQgPSAuLi9hZGRyZGIvbGliYWRkcmRiLmxhICQoTERBREQpICQoTkxfTElCUykgJChMRVhMSUIpCisgaXpfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoTkxfQ0ZMQUdTKSAtRF9HTlVfU09VUkNFCisgaXpfTERBREQgPSAkKExEQUREKSAkKE5MX0xJQlMpCisgCistaXphdHRhY2guODogJChpemF0dGFjaF9TT1VSQ0VTKSAkKHRvcF9zcmNkaXIpL2NvbmZpZ3VyZS5hYworLQktJChIRUxQMk1BTikgLW8gJEAgLXMgOCAtTiAtbiAkKGl6YXR0YWNoX0RFU0MpICQoYnVpbGRkaXIpL2l6YXR0YWNoCistCistaXpjb29yZGluYXRvci44OiAkKGl6Y29vcmRpbmF0b3JfU09VUkNFUykgJCh0b3Bfc3JjZGlyKS9jb25maWd1cmUuYWMKKy0JLSQoSEVMUDJNQU4pIC1vICRAIC1zIDggLU4gLW4gJChpemNvb3JkaW5hdG9yX0RFU0MpICQoYnVpbGRkaXIpL2l6Y29vcmRpbmF0b3IKKy0KKy1pei44OiAkKGl6X1NPVVJDRVMpICQodG9wX3NyY2RpcikvY29uZmlndXJlLmFjCistCS0kKEhFTFAyTUFOKSAtbyAkQCAtcyA4IC1OIC1uICQoaXpfREVTQykgJChidWlsZGRpcikvaXoKKy0KKy1pemNoYXQuMTogJChpemNoYXRfU09VUkNFUykgJCh0b3Bfc3JjZGlyKS9jb25maWd1cmUuYWMKKy0JLSQoSEVMUDJNQU4pIC1vICRAIC1zIDEgLU4gLW4gJChpemNoYXRfREVTQykgJChidWlsZGRpcikvaXpjaGF0CistCisgaW5zdGFsbC1kYXRhLWhvb2s6CisgCSQobWtpbnN0YWxsZGlycykgJChERVNURElSKWBkaXJuYW1lICQobGVhc2VmaWxlKWAKKyAJJChta2luc3RhbGxkaXJzKSAkKERFU1RESVIpYGRpcm5hbWUgJChwaWRmaWxlKWAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sb3dwYW4tdG9vbHMvbG93cGFuLXRvb2xzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9sb3dwYW4tdG9vbHMvbG93cGFuLXRvb2xzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMWJkOTI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xvd3Bhbi10b29scy9sb3dwYW4tdG9vbHNfZ2l0LmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIGZvciBtYW5hZ2luZyB0aGUgTGludXggTG9XUEFOIHN0YWNrIgorREVTQ1JJUFRJT04gPSAiVGhpcyBpcyBhIHNldCBvZiB1dGlscyB0byBtYW5hZ2UgdGhlIExpbnV4IExvV1BBTiBzdGFjay4gXAorVGhlIExvV1BBTiBzdGFjayBhaW1zIGZvciBJRUVFIDgwMi4xNS40LTIwMDMgKGFuZCBmb3IgbGVzc2VyIGV4dGVudCBJRUVFIDgwMi4xNS40LTIwMDYpIGNvbXBhdGliaWxpdHkuIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAiZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIGxpYm5sIHB5dGhvbiIKKworUFYgPSAiMC4zLjErZ2l0JHtTUkNQVn0iCitTUkNfVVJJID0gImdpdDovL2dpdC5jb2RlLnNmLm5ldC9wL2xpbnV4LXppZ2JlZS9saW51eC16aWdiZWUgXAorICAgICAgICAgICBmaWxlOi8vbm8taGVscDJtYW4ucGF0Y2giCitTUkNSRVYgPSAiMzhmNDJkYmZjZTllMTM2MjkyNjNkYjNiZDNiODFmMTRjNjliYjczMyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcHl0aG9uLWRpciBwa2djb25maWcKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFtX2N2X3B5dGhvbl9weXRob25kaXI9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vbG93cGFuLXRvb2xzIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlybWRpciAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KK30KKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmV4ZWNkaXJ9L2xvd3Bhbi10b29scy8uZGVidWcvIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tcHl0aG9uIgorRklMRVNfJHtQTn0tcHl0aG9uID0gIiR7bGliZGlyfS9weXRob24qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L21hY2NoYW5nZXIvbWFjY2hhbmdlcl8xLjUuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tYWNjaGFuZ2VyL21hY2NoYW5nZXJfMS41LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTkwMTc3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tYWNjaGFuZ2VyL21hY2NoYW5nZXJfMS41LjAuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJUb29sIHRvIHZpZXcvY2hhbmdlIG5ldHdvcmsgaW50ZXJmYWNlIE1BQyBhZGRyZXNzZXMiCitERVNDUklQVElPTiA9ICJBIEdOVS9MaW51eCB1dGlsaXR5IGZvciB2aWV3aW5nL21hbmlwdWxhdGluZyB0aGUgTUFDIGFkZHJlc3Mgb2YgbmV0d29yayBpbnRlcmZhY2VzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYWxvYmJzLmNvbS9tYWNjaGFuZ2VyIgorTElDRU5TRSAgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK1NFQ1RJT04gPSAibmV0IgorCitTUkNfVVJJICA9ICIke0dOVV9NSVJST1J9L21hY2NoYW5nZXIvJHtCUE59LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjc5YjdjZGFlY2EzZDhlYmFmYTc2NGM0YjBkZDAzYWI3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ0NGJmYTI3Y2IyOWM1YTcxODYyN2NiM2VmM2FhNDJlYjUxMzA0MjY1NDVlYjIwMzExMjA4MjZjZDczZmE4ZmUiCisKK0ZJTEVTXyR7UE59ID0gIiBcCisgICAgJHtiaW5kaXJ9LyR7QlBOfSBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vd2lyZWxlc3MubGlzdCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vT1VJLmxpc3QgXAorIgorCitGSUxFU18ke1BOfS1kb2MgPSAiIFwKKyAgICAke2RhdGFkaXJ9L2luZm8gXAorICAgICR7ZGF0YWRpcn0vbWFuIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tZW1jYWNoZWQvbWVtY2FjaGVkL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tZW1jYWNoZWQvbWVtY2FjaGVkL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDAxYTBlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L21lbWNhY2hlZC9tZW1jYWNoZWQvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiBtZW1jYWNoZWQtMS40LjE3L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG1lbWNhY2hlZC0xLjQuMTcub3JpZy9jb25maWd1cmUuYWMJMjAxMy0xMi0yMCAyMTo0NDo0OS4wMDAwMDAwMDAgKzAwMDAKKysrKyBtZW1jYWNoZWQtMS40LjE3L2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE4IDA3OjE3OjAwLjU5MzQ5OTQ4MyArMDAwMAorQEAgLTQsNyArNCw3IEBACisgQUNfSU5JVChtZW1jYWNoZWQsIFZFUlNJT05fTlVNQkVSLCBtZW1jYWNoZWRAZ29vZ2xlZ3JvdXBzLmNvbSkKKyBBQ19DQU5PTklDQUxfU1lTVEVNCisgQUNfQ09ORklHX1NSQ0RJUihtZW1jYWNoZWQuYykKKy1BTV9JTklUX0FVVE9NQUtFKEFDX1BBQ0tBR0VfTkFNRSwgQUNfUEFDS0FHRV9WRVJTSU9OKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIEFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisgCisgQUNfUFJPR19DQwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L21lbWNhY2hlZC9tZW1jYWNoZWQvbWVtY2FjaGVkLWFkZC1odWdldGxiZnMtY2hlY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbWVtY2FjaGVkL21lbWNhY2hlZC9tZW1jYWNoZWQtYWRkLWh1Z2V0bGJmcy1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDRiODQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L21lbWNhY2hlZC9tZW1jYWNoZWQvbWVtY2FjaGVkLWFkZC1odWdldGxiZnMtY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorbWVtY2FjaGVkOiBhZGQga25vYiB0byBkZXRlY3Qgd2hldGhlciBodWdldGxiZnMgYXJlIGNoZWNrZWQKKworQWRkIGtub2IgdG8gZGV0ZWN0IHdoZXRoZXIgaHVnZXRsYmZzIGFyZSBjaGVja2VkIG9yIG5vdC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IENob25nIEx1IDxDaG9uZy5MdUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgNyArKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA3ZjIyZjIxLi4yMTY5MWI5IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0zMTQsNyArMzE0LDEyIEBAIGZpCisgZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKyBBQ19TRUFSQ0hfTElCUyh1bWVtX2NhY2hlX2NyZWF0ZSwgdW1lbSkKKy1BQ19TRUFSQ0hfTElCUyhnZXRodWdlcGFnZXNpemVzLCBodWdldGxiZnMpCisrQUNfQVJHX0VOQUJMRShodWdldGxiZnMsCisrICBbQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWh1Z2V0bGJmc10sW0VuYWJsZSBodWdldGxiZnNdKV0pCisrCisraWYgdGVzdCAieCRlbmFibGVfaHVnZXRsYmZzIiA9ICJ4eWVzIjsgdGhlbgorKyAgQUNfU0VBUkNIX0xJQlMoZ2V0aHVnZXBhZ2VzaXplcywgaHVnZXRsYmZzKQorK2ZpCisgCisgQUNfSEVBREVSX1NUREJPT0wKKyBBSF9CT1RUT00oWyNpZiBIQVZFX1NUREJPT0xfSAorLS0gCisxLjguMy40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tZW1jYWNoZWQvbWVtY2FjaGVkXzEuNC4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tZW1jYWNoZWQvbWVtY2FjaGVkXzEuNC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTNmOGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L21lbWNhY2hlZC9tZW1jYWNoZWRfMS40LjE3LmJiCkBAIC0wLDAgKzEsNTMgQEAKK1NVTU1BUlkgPSAiQSBoaWdoLXBlcmZvcm1hbmNlIG1lbW9yeSBvYmplY3QgY2FjaGluZyBzeXN0ZW0iCitERVNDUklQVElPTiA9ICJcCisgbWVtY2FjaGVkIG9wdGltaXplcyBzcGVjaWZpYyBoaWdoLWxvYWQgc2VydmluZyBhcHBsaWNhdGlvbnMgdGhhdCBhcmUgZGVzaWduZWQgXAorIHRvIHRha2UgYWR2YW50YWdlIG9mIGl0cyB2ZXJzYXRpbGUgbm8tbG9ja2luZyBtZW1vcnkgYWNjZXNzIHN5c3RlbS4gQ2xpZW50cyBcCisgYXJlIGF2YWlsYWJsZSBpbiBzZXZlcmFsIGRpZmZlcmVudCBwcm9ncmFtbWluZyBsYW5ndWFnZXMsIHRvIHN1aXQgdGhlIG5lZWRzIFwKKyBvZiB0aGUgc3BlY2lmaWMgYXBwbGljYXRpb24uIFRyYWRpdGlvbmFsbHkgdGhpcyBoYXMgYmVlbiB1c2VkIGluIG1vZF9wZXJsIFwKKyBhcHBzIHRvIGF2b2lkIHN0b3JpbmcgbGFyZ2UgY2h1bmtzIG9mIGRhdGEgaW4gQXBhY2hlIG1lbW9yeSwgYW5kIHRvIHNoYXJlIFwKKyB0aGlzIGJ1cmRlbiBhY3Jvc3Mgc2V2ZXJhbCBtYWNoaW5lcy4iCitTRUNUSU9OID0gIndlYiIKK0hPTUVQQUdFID0gImh0dHA6Ly9tZW1jYWNoZWQub3JnLyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03ZTVkZWQ3MzYzZDMzNWUxYmIxODAxM2NhMDgwNDZmZiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworREVQRU5EUyArPSAibGliZXZlbnQiCitSREVQRU5EU18ke1BOfSArPSAicGVybCBwZXJsLW1vZHVsZS1wb3NpeCBwZXJsLW1vZHVsZS1hdXRvbG9hZGVyIFwKKyAgICBwZXJsLW1vZHVsZS10aWUtaGFzaCBiYXNoIFwKKyAgICAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5tZW1jYWNoZWQub3JnL2ZpbGVzLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbWVtY2FjaGVkLWFkZC1odWdldGxiZnMtY2hlY2sucGF0Y2giCisKKyMgc2V0IHRoZSBzYW1lIENPTVBBVElCTEVfSE9TVCBhcyBsaWJodWdldGxiZnMKK0NPTVBBVElCTEVfSE9TVCA9ICcoaS44Nnx4ODZfNjR8cG93ZXJwY3xwb3dlcnBjNjR8YXJtKS4qLWxpbnV4JworCitTUkNfVVJJW21kNXN1bV0gPSAiNDY0MDJkZmJkN2ZhYWRmNjE4MjI4M2RiYmQxOGIxYTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDkxNzNlZjZkOTliYTc5OGM5ODJlYTQ1NjZjYjRmMGU2NGViMjM4NTlmZGJmOTkyNmE4OTk5OWQ4Y2RjMDQ1OCIKKworcHl0aG9uIF9fYW5vbnltb3VzICgpIHsKKyAgICBlbmRpYW5uZXNzID0gZC5nZXRWYXIoJ1NJVEVJTkZPX0VORElBTk5FU1MnLCBUcnVlKQorICAgIGlmIGVuZGlhbm5lc3MgPT0gJ2xlJzoKKyAgICAgICAgZC5hcHBlbmRWYXIoJ0VYVFJBX09FQ09ORicsICIgYWNfY3ZfY19lbmRpYW49bGl0dGxlIikKKyAgICBlbHNlOgorICAgICAgICBkLmFwcGVuZFZhcignRVhUUkFfT0VDT05GJywgIiBhY19jdl9jX2VuZGlhbj1iaWciKQorfQorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1todWdldGxiZnNdID0gIi0tZW5hYmxlLWh1Z2V0bGJmcywgLS1kaXNhYmxlLWh1Z2V0bGJmcywgbGliaHVnZXRsYmZzIgorCitpbmhlcml0IHVwZGF0ZS1yYy5kCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJtZW1jYWNoZWQiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtRCAtbSA3NTUgJHtTfS9zY3JpcHRzL21lbWNhY2hlZC1pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9tZW1jYWNoZWQKKyAgICBta2RpciAtcCAke0R9L3Vzci9zaGFyZS9tZW1jYWNoZWQvc2NyaXB0cworICAgIGluc3RhbGwgLW0gNzU1ICR7U30vc2NyaXB0cy9tZW1jYWNoZWQtdG9vbCAke0R9L3Vzci9zaGFyZS9tZW1jYWNoZWQvc2NyaXB0cworICAgIGluc3RhbGwgLW0gNzU1ICR7U30vc2NyaXB0cy9zdGFydC1tZW1jYWNoZWQgJHtEfS91c3Ivc2hhcmUvbWVtY2FjaGVkL3NjcmlwdHMKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9tdHIvbXRyXzAuODYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbXRyL210cl8wLjg2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNzM3OTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbXRyL210cl8wLjg2LmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQ29tYmluZWQgdHJhY2Vyb3V0ZSBhbmQgcGluZyB1dGlsaXR5IgorREVTQ1JJUFRJT04gPSAibXRyIGNvbWJpbmVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSAndHJhY2Vyb3V0ZScgYW5kICdwaW5nJyBwcm9ncmFtcyBpbiBhIHNpbmdsZSBuZXR3b3JrIGRpYWdub3N0aWMgdG9vbC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmJpdHdpemFyZC5ubC9tdHIvIgorU0VDVElPTiA9ICJuZXQiCitERVBFTkRTID0gIm5jdXJzZXMiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9tdHIuYztiZWdpbmxpbmU9NTtlbmRsaW5lPTE2O21kNT1hZjFmYWZiYmZhMWJmZDQ4YWY4MzlmNGJiMzIyMTEwNiIKKworU1JDX1VSSSA9ICJmdHA6Ly9mdHAuYml0d2l6YXJkLm5sL210ci9tdHItJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGQ2MzU5MmM5ZDQ1NzllZjIwY2Y0OTFiNDE4NDNlYjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzVkOTQ4OTIwYjY0MWNjMzVmOGIzODBmYzM1NmRkZmUwN2NjZTZhOWM2NDc0YWZlMjQyZmM1ODExM2YyOGMwNiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1ndGsiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uYmQvbmJkXzMuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmJkL25iZF8zLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhZDc1YmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmJkL25iZF8zLjExLmJiCkBAIC0wLDAgKzEsMTkgQEAKK0RFU0NSSVBUSU9OID0gIk5ldHdvcmsgQmxvY2sgRGV2aWNlIgorSE9NRVBBR0UgPSAiaHR0cDovL25iZC5zb3VyY2Vmb3JnZS5uZXQiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiNzNkMTE2NDRhMjhiOWYzMzUyOTJjZGIzYmRjNGI3NGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTQ0MjBmNzRjYjE2ZGM2MDlhOTMwMmVkMWVmZDY1MzA2NGJlZDdhODM1N2U5ZDczZGFhYmMzMzYwOGUzZjJhMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VTID0gIiR7UE59LWNsaWVudCAke1BOfS1zZXJ2ZXIgJHtQTn0tZGJnICR7UE59LXRyZHVtcCAke1BOfS1kb2MiCisKK0ZJTEVTXyR7UE59LWNsaWVudCA9ICIke3NiaW5kaXJ9LyR7QlBOfS1jbGllbnQiCitGSUxFU18ke1BOfS1zZXJ2ZXIgPSAiJHtiaW5kaXJ9LyR7QlBOfS1zZXJ2ZXIiCitGSUxFU18ke1BOfS10cmR1bXAgPSAiJHtiaW5kaXJ9LyR7QlBOfS10cmR1bXAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmRpc2M2L25kaXNjNl8xLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZGlzYzYvbmRpc2M2XzEuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlYTVlMTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmRpc2M2L25kaXNjNl8xLjAuMi5iYgpAQCAtMCwwICsxLDU4IEBACitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgaW5jbHVkZXMgc29tZSB1c2VmdWwgZGlhZ25vc3RpY3MgdG9vbHMgZm9yIFwKK0lQdjYgbmV0d29ya3MsIGluY2x1ZGluZyBuZGlzYzYsIHJkaXNjNiwgdGNwdHJhY2Vyb3V0ZTYgYW5kIHRyYWNlcm91dGU2LiIKK1NFQ1RJT04gPSAibmV0IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5yZW1sYWIubmV0L25kaXNjNi8iCitMSUNFTlNFID0gIkdQTC0yLjAiCisKKyMgVGhlIHRjcHRyYWNlcm91dGU2IGFuZCB0cmFjZXJ0NiBjb21tYW5kcyBkZXBlbmQgb24gcmx0cmFjZXJvdXRlNiB0bworIyBwZXJmb3JtIHRoZSBhY3R1YWwgdHJhY2Ugb3BlcmF0aW9uLgorUkRFUEVORFNfJHtQTn0tdGNwdHJhY2Vyb3V0ZTYgPSAiJHtQTn0tcmx0cmFjZXJvdXRlNiIKK1JERVBFTkRTXyR7UE59LXRyYWNlcnQ2ID0gIiR7UE59LXJsdHJhY2Vyb3V0ZTYiCitSREVQRU5EU18ke1BOfS1taXNjICs9ICJwZXJsIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cucmVtbGFiLm5ldC9maWxlcy9uZGlzYzYvbmRpc2M2LSR7UFZ9LnRhci5iejIgXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjUwY2I0YzE5NjA2Y2Y2ZmYyYjczODhlNzE4MzJmNTc5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZhY2VjOGEwY2I5ZWZhM2FjOTg0NTZmNDZjMzAxNmFlZWMwNTk4YjBjNzU1N2M5NTI0MmI1MjI4YWQ2MmNhN2EiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0CisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCisKKyMgU3BsaXQgaW50byBzZXBlcmF0ZSBwYWNrYWdlcyBzaW5jZSB3ZSBub3JtYWwgZG9uJ3Qgd2FudCB0aGVtIGFsbAorIyBUaGUgbWFpbiBwYWNrYWdlIGlzIGxlZnQgZW1wdHkgYW5kIHRoZXJlZm9yZSBub3QgY3JlYXRlZC4KK1BBQ0tBR0VTICs9ICIke1BOfS1uZGlzYzYgJHtQTn0tdGNwc3ByYXk2ICR7UE59LXJkaXNjNiBcCisgICAgJHtQTn0tdGNwdHJhY2Vyb3V0ZTYgJHtQTn0tcmx0cmFjZXJvdXRlNiBcCisgICAgJHtQTn0tdHJhY2VydDYgJHtQTn0tcmRuc3NkICR7UE59LW1pc2MiCitGSUxFU18ke1BOfSAgICAgICAgICAgID0gIiIKK0ZJTEVTXyR7UE59LW5kaXNjNiAgICAgICAgPSAiJHtiaW5kaXJ9L25kaXNjNiIKK0ZJTEVTXyR7UE59LXRjcHNwcmF5NiAgICAgICAgID0gIiR7YmluZGlyfS90Y3BzcHJheTYiCitGSUxFU18ke1BOfS1yZGlzYzYgICAgICAgID0gIiR7YmluZGlyfS9yZGlzYzYiCitGSUxFU18ke1BOfS10Y3B0cmFjZXJvdXRlNiAgICA9ICIke2JpbmRpcn0vdGNwdHJhY2Vyb3V0ZTYiCitGSUxFU18ke1BOfS1ybHRyYWNlcm91dGU2ICAgID0gIiR7YmluZGlyfS9ybHRyYWNlcm91dGU2IgorRklMRVNfJHtQTn0tdHJhY2VydDYgICAgICAgID0gIiR7YmluZGlyfS90cmFjZXJ0NiIKK0ZJTEVTXyR7UE59LXJkbnNzZCAgICAgICAgPSAiJHtzYmluZGlyfS9yZG5zc2QgJHtzeXNjb25mZGlyfS9yZG5zc2QiCitGSUxFU18ke1BOfS1taXNjICAgICAgICAgICAgICAgID0gIiR7YmluZGlyfS9kbnNzb3J0ICR7YmluZGlyfS9uYW1lMmFkZHIgJHtiaW5kaXJ9L3RjcHNwcmF5ICR7YmluZGlyfS9hZGRyMm5hbWUiCisKK0RFU0NSSVBUSU9OXyR7UE59LW5kaXNjNiAgICA9ICJJQ01QdjYgTmVpZ2hib3IgRGlzY292ZXJ5IHRvb2wuIFwKK1BlcmZvcm1zIElQdjYgbmVpZ2hib3IgZGlzY292ZXJ5IGluIHVzZXJsYW5kLiBSZXBsYWNlcyBhcnBpbmcgZnJvbSB0aGUgXAorSVB2NCB3b3JsZC4iCitERVNDUklQVElPTl8ke1BOfS1yZGlzYzYgICAgPSAiSUNNUHY2IFJvdXRlciBEaXNjb3ZlcnkgdG9vbC4gXAorUXVlcmllcyBJUHY2IHJvdXRlcnMgb24gdGhlIG5ldHdvcmsgZm9yIGFkdmVydGlzZWQgcHJlZml4ZXMuIENhbiBiZSB1c2VkIFwKK3RvIGRldGVjdCByb2d1ZSBJUHY2IHJvdXRlcnMsIG1vbml0b3IgbGVnaXRpbWF0ZSBJUHY2IHJvdXRlcnMuIgorREVTQ1JJVFBJT05fJHtQTn0tdGNwc3ByYXk2ICAgID0gIlBlcmZvcm1zIGJhbmR3aWR0aCBtZWFzdXJlbWVudHMgb2YgVENQIFwKK3Nlc3Npb25zIGJldHdlZW4gdGhlIGxvY2FsIHN5c3RlbSBhbmQgYSByZW1vdGUgZWNobyBzZXJ2ZXIgaW4gZWl0aGVyIElQdjYgXAorb3IgSVB2NC4iCisKK0RFU0NSSVRQSU9OXyR7UE59LXJkbnNzZCAgICAgICA9ICJEYWVtb24gdG8gYXV0b2NvbmZpZ3VyZSB0aGUgbGlzdCBvZiBETlMgXAorc2VydmVycyB0aHJvdWdoIHNsYXRlbGVzcyBJUHY2IGF1dG9jb25maWd1cmF0aW9uLiIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIHJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfQorICAgICMgRW5hYmxlIFNVSUQgYml0IGZvciBhcHBsaWNhdGlvbnMgdGhhdCBuZWVkIGl0CisgICAgY2htb2QgNDU1NSAke0R9JHtiaW5kaXJ9L3JsdHJhY2Vyb3V0ZTYKKyAgICBjaG1vZCA0NTU1ICR7RH0ke2JpbmRpcn0vbmRpc2M2CisgICAgY2htb2QgNDU1NSAke0R9JHtiaW5kaXJ9L3JkaXNjNgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQtb3BlbmJzZF8xLjEwNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0LW9wZW5ic2RfMS4xMDUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlhNjQ2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0LW9wZW5ic2RfMS4xMDUuYmIKQEAgLTAsMCArMSw0MiBAQAorcmVxdWlyZSBuZXRjYXQuaW5jCitTVU1NQVJZID0gIk9wZW5CU0QgTmV0Y2F0IgorSE9NRVBBR0UgPSAiaHR0cDovL2Z0cC5kZWJpYW4ub3JnIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9kZWJpYW4vY29weXJpZ2h0O21kNT1lZTZiYmFhY2I1ZGI1ZjI5NzM4MThmMDkwMmMzYWU2ZiIKKworREVQRU5EUyArPSAiZ2xpYi0yLjAgbGliYnNkIgorCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9uL25ldGNhdC1vcGVuYnNkL25ldGNhdC1vcGVuYnNkXyR7UFZ9Lm9yaWcudGFyLmd6O25hbWU9bmV0Y2F0IFwKKyAgICAgICAgICAgJHtERUJJQU5fTUlSUk9SfS9tYWluL24vbmV0Y2F0LW9wZW5ic2QvbmV0Y2F0LW9wZW5ic2RfJHtQVn0tNy5kZWJpYW4udGFyLmd6O25hbWU9bmV0Y2F0LXBhdGNoIgorCitTUkNfVVJJW25ldGNhdC5tZDVzdW1dID0gIjdlNjdiMjJmMWFkNDFhMWI3ZWZmYmI1OWZmMjhmY2ExIgorU1JDX1VSSVtuZXRjYXQuc2hhMjU2c3VtXSA9ICI0MDY1M2ZlNjZjMTUxNjg3NmI2MWIwN2UwOTNkODI2ZTJhNTQ2M2M1ZDk5NGYxYjdlNmNlMzI4ZjNlZGIyMTFlIgorU1JDX1VSSVtuZXRjYXQtcGF0Y2gubWQ1c3VtXSA9ICJlOTE0ZjhlYjdlZGE1Yzc1YzY3OWRkNzc3ODdhYzc2YiIKK1NSQ19VUklbbmV0Y2F0LXBhdGNoLnNoYTI1NnN1bV0gPSAiZWVlNzU5MzI3ZmZlYTI5M2U4MWQwZGRlNjc5MjFiN2ZjZmNhZDI3OWZmZDdhMmM5ZDAzN2JiYzhmODgyYjM2MyIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfS0ke1BWfSIKKworZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKKworbmV0Y2F0X2RvX3BhdGNoKCkgeworICAgIGNkICR7U30KKyAgICBxdWlsdCBwb3AgLWEgfHwgdHJ1ZQorICAgIFFVSUxUX1BBVENIRVM9JHtXT1JLRElSfS9kZWJpYW4vcGF0Y2hlcyBRVUlMVF9TRVJJRVM9JHtXT1JLRElSfS9kZWJpYW4vcGF0Y2hlcy9zZXJpZXMgcXVpbHQgcHVzaCAtYQorfQorCitweXRob24gZG9fcGF0Y2goKSB7CisgICAgYmIuYnVpbGQuZXhlY19mdW5jKCduZXRjYXRfZG9fcGF0Y2gnLCBkKQorICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygncGF0Y2hfZG9fcGF0Y2gnLCBkKQorfQorCitkb19jb21waWxlKCkgeworICAgIGNkICR7U30KKyAgICBwa2dyZWw9NAorICAgIG9lX3J1bm1ha2UgQ0ZMQUdTPSIkQ0ZMQUdTIC1EREVCSUFOX1ZFUlNJT049XCJcXFwiJHtwa2dyZWx9XFxcIlwiIgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1ICR7U30vbmMgJHtEfSR7YmluZGlyfS9uYy4ke0JQTn0KK30KK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjUwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxYTI0YTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0Y2F0L25ldGNhdC5pbmMKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJHTlUgTmV0Y2F0IgorSE9NRVBBR0UgPSAiaHR0cDovL25ldGNhdC5zb3VyY2Vmb3JnZS5uZXQiCitERVNDUklQVElPTiA9ICJBIHNpbXBsZSBVbml4IHV0aWxpdHkgd2hpY2ggcmVhZHMgYW5kIHdyaXRlcyBkYXRhIGFjcm9zcyBuZXR3b3JrIFwKK2Nvbm5lY3Rpb25zIHVzaW5nIFRDUCBvciBVRFAgcHJvdG9jb2wuICBJdCBpcyBkZXNpZ25lZCB0byBiZSBhIHJlbGlhYmxlIFwKKydiYWNrLWVuZCcgdG9vbCB0aGF0IGNhbiBiZSB1c2VkIGRpcmVjdGx5IG9yIGVhc2lseSBkcml2ZW4gYnkgb3RoZXIgXAorcHJvZ3JhbXMgYW5kIHNjcmlwdHMuIEF0IHRoZSBzYW1lIHRpbWUgaXQgaXMgYSBmZWF0dXJlLXJpY2ggbmV0d29yayBcCitkZWJ1Z2dpbmcgYW5kIGV4cGxvcmF0aW9uIHRvb2wsIHNpbmNlIGl0IGNhbiBjcmVhdGUgYWxtb3N0IGFueSBraW5kIG9mIFwKK2Nvbm5lY3Rpb24geW91IHdvdWxkIG5lZWQgYW5kIGhhcyBzZXZlcmFsIGludGVyZXN0aW5nIGJ1aWx0LWluIFwKK2NhcGFiaWxpdGllcy4iCisKK1NFQ1RJT04gPSAibmV0IgoraW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzIGdldHRleHQKKworQUxURVJOQVRJVkVfJHtQTn0gPSAibmMiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0L21ha2UtbmV0Y2F0X2ZsYWdfY291bnRfd29yay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0L21ha2UtbmV0Y2F0X2ZsYWdfY291bnRfd29yay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDE5MzhhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQvbWFrZS1uZXRjYXRfZmxhZ19jb3VudF93b3JrLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK01ha2UgbmV0Y2F0X2ZsYWdfY291bnQoKSByZXR1cm4gcG9zaXRpdmUgdmFsdWUKKworQyBsYW5ndWFnZSBoYXMgMyBkaXN0aW5jdCBjaGFyIHR5cGVzOgorICAgICAgICAgY2hhcgorICAgICAgICAgdW5zaWduZWQgY2hhcgorICAgICAgICAgc2lnbmVkIGNoYXIKK0EgY2hhciBoYXMgdGhlIHNhbWUgcmFuZ2Ugb2YgdmFsdWVzIGFzIHNpZ25lZCBjaGFyIG9uIFg4NiwKK2J1dCBzYW1lIGFzIHVuc2lnbmVkIGNoYXIgb24gUFBDIHdoaWNoIG1hZGUgbmV0Y2F0X2ZsYWdfY291bnQKK3JldHVybiBhIG5lZ2F0aXZlIHZhbHVlLCBub3cgd2UgZm9yY2UgdmFyaWFibGUgYyBhcyBzaWduZWQgY2hhcgordG8gbWFrZSBuZXRjYXRfZmxhZ19jb3VudCByZXR1cm4gcG9zaXRpdmUgdmFsdWUuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvZmxhZ3NldC5jIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2ZsYWdzZXQuYyBiL3NyYy9mbGFnc2V0LmMKK2luZGV4IDQ0MmI2MzQuLjU0YWM4OTggMTAwNjQ0CistLS0gYS9zcmMvZmxhZ3NldC5jCisrKysgYi9zcmMvZmxhZ3NldC5jCitAQCAtMTM0LDcgKzEzNCw3IEBAIHVuc2lnbmVkIHNob3J0IG5ldGNhdF9mbGFnX25leHQodW5zaWduZWQgc2hvcnQgcG9ydCkKKyAKKyBpbnQgbmV0Y2F0X2ZsYWdfY291bnQodm9pZCkKKyB7CistICByZWdpc3RlciBjaGFyIGM7CisrICByZWdpc3RlciBzaWduZWQgY2hhciBjOworICAgcmVnaXN0ZXIgaW50IGk7CisgICBpbnQgcmV0ID0gMDsKKyAKKy0tIAorMS43LjUuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0Y2F0L25ldGNhdC9uZXRjYXQtbG9jYWxlX2gucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0Y2F0L25ldGNhdC9uZXRjYXQtbG9jYWxlX2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWNiY2IwOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0L25ldGNhdC1sb2NhbGVfaC5wYXRjaApAQCAtMCwwICsxLDI1IEBACitBcHBhcmVudGx5IHNvbWV3aGVyZSBhbG9uZyB0aGUgbGluZSBIQVZFX0xPQ0FMRV9IIHdhcyBjaGFuZ2VkIHRvCitIQVZFX0xDX01FU1NBR0VTLiAgQWRqdXN0IG5ldGNhdCB0byBtYXRjaC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KKworSW5kZXg6IG5ldGNhdC0wLjcuMS9zcmMvaW50bC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmV0Y2F0LTAuNy4xLm9yaWcvc3JjL2ludGwuaAorKysrIG5ldGNhdC0wLjcuMS9zcmMvaW50bC5oCitAQCAtMjUsMTEgKzI1LDExIEBACisgI2lmZGVmIEVOQUJMRV9OTFMKKyAjaW5jbHVkZSA8bGliaW50bC5oPgorIAorLSNpZmRlZiBIQVZFX0xPQ0FMRV9ICisrI2lmIGRlZmluZWQoSEFWRV9MQ19NRVNTQUdFUykgfHwgZGVmaW5lZChIQVZFX0xPQ0FMRV9IKQorICNpbmNsdWRlIDxsb2NhbGUuaD4KKyAjZWxzZQorICNlcnJvciBZb3UgbXVzdCBoYXZlIGxvY2FsZS5oIGluIHlvdXIgc3lzdGVtCistI2VuZGlmCS8qIEhBVkVfTE9DQUxFX0ggKi8KKysjZW5kaWYJLyogSEFWRV9MQ19NRVNTQUdFUyB8fCBIQVZFX0xPQ0FMRV9IICovCisgCisgLyogT3VyIGRlYXIgKGFuZCB2ZXJ5IGNvbW1vbikgZ2V0dGV4dCBtYWNyb3MgKi8KKyAjZGVmaW5lIF8oU3RyaW5nKSBnZXR0ZXh0KFN0cmluZykKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0L29ic29sZXRlX2F1dG9jb25mX21hY3Jvcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0L29ic29sZXRlX2F1dG9jb25mX21hY3Jvcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjBlZDU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQvb2Jzb2xldGVfYXV0b2NvbmZfbWFjcm9zLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK1JlcGxhY2Ugb2Jzb2xldGVkIEFNX0NPTkZJR19IRUFERVIgZmxhZ2dlZCBieSBhdXRvY29uZiAyLjY5Citsb2NhbGUuaCBjaGVjayB3YXMgcGlja2VkIGZyb20gb2xkIGdldHRleHQgbWFjcm9zIGJ1dCB3aXRoIG5ldyBhY2xvY2FsCitpdCBwaWNrcyB0aGUgcmlnaHQgMC4xOCBnZXR0ZXh0Lm00IGFuZCBkb2VzIG5vdCBnZXQgdGhlIGNoZWNrCit0aGVyZWZvcmUgd2UgZXhwbGljaXRseSBhZGQgaXQgdG8gY29uZmlndXJlLmFjCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitJbmRleDogbmV0Y2F0LTAuNy4xL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5ldGNhdC0wLjcuMS5vcmlnL2NvbmZpZ3VyZS5hYwkyMDEzLTAxLTE4IDAxOjMwOjAxLjkyODA2OTczOSAtMDgwMAorKysrIG5ldGNhdC0wLjcuMS9jb25maWd1cmUuYWMJMjAxMy0wMS0xOCAwMTozMjo1MC41NjgwNzMwMDkgLTA4MDAKK0BAIC0yNiw4ICsyNiw3IEBACisgQUNfUFJFUkVRKDIuNTMpCisgCisgZG5sIHdpdGhvdXQgdGhpcyBvcmRlciBpbiB0aGlzIGZpbGUsIGF1dG9tYWtlIHdpbGwgYmUgY29uZnVzZWQhCistQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKy0KKytBQ19DT05GSUdfSEVBREVSUyhjb25maWcuaCkKKyBkbmwgY2hlY2sgZm9yIHByb2dyYW1zLiAgZmlyc3QgdGhlIGMgY29tcGlsZXIuCisgQUNfUFJPR19DQworIEFDX1BST0dfQ1BQCitAQCAtNTYsNyArNTUsNyBAQAorIEFDX0xCTF9MSUJSQVJZX05FVAorIAorIGRubCBGb3J0dW5hdGVseSB3ZSBoYXZlIFNvbGFyaXMuLi4KKy1BQ19DSEVDS19IRUFERVJTKHN5cy9zb2NraW8uaCkKKytBQ19DSEVDS19IRUFERVJTKHN5cy9zb2NraW8uaCBsb2NhbGUuaCkKKyAKKyBBQ19DSEVDS19GVU5DUyhzcmFuZG9tIHJhbmRvbSkKKyBpZiB0ZXN0ICRhY19jdl9mdW5jX3NyYW5kb20gPSBubzsgdGhlbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXRfMC43LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0Y2F0L25ldGNhdF8wLjcuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTYxYWY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXRfMC43LjEuYmIKQEAgLTAsMCArMSwyMiBAQAorcmVxdWlyZSBuZXRjYXQuaW5jCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK1BSID0gInIzIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9uZXRjYXQvbmV0Y2F0LSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vb2Jzb2xldGVfYXV0b2NvbmZfbWFjcm9zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25ldGNhdC1sb2NhbGVfaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlLW5ldGNhdF9mbGFnX2NvdW50X3dvcmsucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMGEyOWVmZjE3MzZkZGI1ZWZmZDBiMWVjMWY2ZmUwZWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjU1YWYwYmJkZjVhY2MwMmQxZWI2YWIxOGRhMmFjZDc3YTQwMGJhZmQwNzQ0ODkwMDNmM2RmMDk2NzYzMzJiYiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgbXYgJHtEfSR7YmluZGlyfS9uYyAke0R9JHtiaW5kaXJ9L25jLiR7QlBOfQorfQorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNmL25ldGNmX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjZi9uZXRjZl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZiNjliYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjZi9uZXRjZl9naXQuYmIKQEAgLTAsMCArMSw2NiBAQAorU1VNTUFSWSA9ICJuZXRjZiIKK0RFU0NSSVBUSU9OID0gIm5ldGNmIGlzIGEgY3Jvc3MtcGxhdGZvcm0gbmV0d29yayBjb25maWd1cmF0aW9uIGxpYnJhcnkuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9mZWRvcmFob3N0ZWQub3JnL25ldGNmLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJiYjQ2MTIxMWEzM2IxMzRkNDJlZDVlZTgwMmIzN2ZmIgorCitTUkNSRVYgPSAiOTE1ODI3OGFkMzViNDZjZTlhNDliMmU4ODc0ODNjNmQ4YzI4Nzk5NCIKK1BWID0gIjAuMi44K2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdC5mZWRvcmFob3N0ZWQub3JnL25ldGNmLmdpdDtwcm90b2NvbD1naXQgXAorIgorCitERVBFTkRTICs9ICJhdWdlYXMgbGlibmwgbGlieHNsdCBsaWJ4bWwyIGdudWxpYiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBnZXR0ZXh0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZAorCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgLS13aXRoLWRyaXZlcj1yZWRoYXQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAic3lzdGVtZCIsICIiLCBkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXNpbml0PXN5c3RlbWQsLS13aXRoLXN5c2luaXQ9aW5pdHNjcmlwdHMsIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBjdXJyZGlyPWBwd2RgCisgICAgY2QgJHtTfQorCisgICAgIyBhdm9pZCBib290c3RyYXAgY2xvbmluZyBnbnVsaWIgb24gZXZlcnkgY29uZmlndXJlCisgICAgIyB0aGUgcm1kaXIgYWN0cyBhcyBhIHNlbnRpbmVsIHRvIGxldCB1cyBrbm93IGlmIHRoZSBwa2cgZXZlciBjaGFuZ2VzCisgICAgIyB0aGUgcGF0aCBmb3IgR05VbGliIG9yIHBvcHVsYXRlcyB0aGUgZGlyIG1ha2luZyBpdCBub24tZW1wdHkuCisgICAgcm1kaXIgJHtTfS8uZ251bGliCisgICAgY3AgLXJmICR7U1RBR0lOR19EQVRBRElSfS9nbnVsaWIgJHtTfS8uZ251bGliCisKKyAgICAjIC0tZm9yY2UgdG8gYXZvaWQgZXJyb3JzIG9uIHJlY29uZmlndXJlIGUuZyBpZiByZWNpcGVzIGNoYW5nZWQgd2UgZGVwZW5kIG9uCisgICAgIyB8IGJvb3RzdHJhcDogcnVubmluZzogbGlidG9vbGl6ZSAtLXF1aWV0CisgICAgIyB8IGxpYnRvb2xpemU6ICAgZXJyb3I6ICdsaWJsdGRsL0NPUFlJTkcuTElCJyBleGlzdHM6IHVzZSAnLS1mb3JjZScgdG8gb3ZlcndyaXRlCisgICAgIyB8IC4uLgorICAgIC4vYm9vdHN0cmFwIC0tZm9yY2UgLS1uby1naXQgLS1nbnVsaWItc3JjZGlyPS5nbnVsaWIKKworICAgIGNkICRjdXJyZGlyCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGlmICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgaWYgWyAtZCAiJHtEfSR7bGliZGlyfS9zeXN0ZW1kL3N5c3RlbSIgXTsgdGhlbgorICAgICAgICAgICBtdiAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvc3lzdGVtLyogJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgICAgICAgIHJtIC1yZiAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvCisgICAgICAgZWxzZQorICAgICAgICAgICBtdiAke0R9JHtub25hcmNoX2xpYmRpcn0vc3lzdGVtZC9zeXN0ZW0vKiAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICAgICAgICAgcm0gLXJmICR7RH0ke25vbmFyY2hfbGliZGlyfS9zeXN0ZW1kLworICAgICAgIGZpCisgICAgZWxzZQorICAgICAgIG12ICR7RH0ke3N5c2NvbmZkaXJ9L3JjLmQvaW5pdC5kLyAke0R9JHtzeXNjb25mZGlyfQorICAgICAgIHJtIC1yZiAke0R9JHtzeXNjb25mZGlyfS9yYy5kLworICAgIGZpCit9CisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICAgICAke2xpYmRpcn0gXAorICAgICAgICAke25vbmFyY2hfbGliZGlyfSBcCisgICAgICAgICIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm5ldGNmLXRyYW5zYWN0aW9uLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0cGVyZi9maWxlcy9jcHVfc2V0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldHBlcmYvZmlsZXMvY3B1X3NldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzRiNzkwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldHBlcmYvZmlsZXMvY3B1X3NldC5wYXRjaApAQCAtMCwwICsxLDMwIEBACitTdWJqZWN0OiBbUEFUQ0hdIG5ldHBlcmY6IGZpeCBDUFVfU0VUU0laRSB0byBidWlsZCB3aXRoIGVnbGliYworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogWGluIE91eWFuZyA8WGluLk91eWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL25ldGxpYi5jIHwgICAgNyArKysrKystCisgMSBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbmV0bGliLmMgYi9zcmMvbmV0bGliLmMKK2luZGV4IDIwNmUwMDIuLmUzM2FhZTYgMTAwNjQ0CistLS0gYS9zcmMvbmV0bGliLmMKKysrKyBiL3NyYy9uZXRsaWIuYworQEAgLTIyNjUsNyArMjI2NSwxMiBAQCBiaW5kX3RvX3NwZWNpZmljX3Byb2Nlc3NvcihpbnQgcHJvY2Vzc29yX2FmZmluaXR5LCBpbnQgdXNlX2NwdV9tYXApCisgICAgICBmYWxsLWJhY2sgb24gd2hhdCB3ZSBoYWQgYmVmb3JlLCB3aGljaCBpcyB0byB1c2UganVzdCB0aGUgc2l6ZSBvZgorICAgICAgYW4gdW5zaWduZWQgbG9uZy4gcmFqIDIwMDYtMDktMTQgKi8KKyAKKy0jaWYgZGVmaW5lZChfX0NQVV9TRVRTSVpFKQorKyNpZiBkZWZpbmVkKENQVV9TRVRTSVpFKQorKyNkZWZpbmUgTkVUUEVSRl9DUFVfU0VUU0laRSBDUFVfU0VUU0laRQorKyNkZWZpbmUgTkVUUEVSRl9DUFVfU0VUKGNwdSwgY3B1c2V0cCkgIENQVV9TRVQoY3B1LCBjcHVzZXRwKQorKyNkZWZpbmUgTkVUUEVSRl9DUFVfWkVSTyhjcHVzZXRwKSAgICAgIENQVV9aRVJPIChjcHVzZXRwKQorKyAgdHlwZWRlZiBjcHVfc2V0X3QgbmV0cGVyZl9jcHVfc2V0X3Q7CisrI2VsaWYgZGVmaW5lZChfX0NQVV9TRVRTSVpFKQorICNkZWZpbmUgTkVUUEVSRl9DUFVfU0VUU0laRSBfX0NQVV9TRVRTSVpFCisgI2lmIGRlZmluZWQoX19DUFVfU0VUX1MpCisgI2RlZmluZSBORVRQRVJGX0NQVV9TRVQoY3B1LCBjcHVzZXRwKSAgX19DUFVfU0VUX1MoY3B1LCBzaXplb2YgKGNwdV9zZXRfdCksIGNwdXNldHApCistLSAKKzEuNy4xLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldHBlcmYvZmlsZXMvaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRwZXJmL2ZpbGVzL2luaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJhMmE2MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRwZXJmL2ZpbGVzL2luaXQKQEAgLTAsMCArMSw2MiBAQAorIyEvYmluL3NoCisjCisjCisjIFdyaXR0ZW4gYnkgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZyA8bWlxdWVsc0BjaXN0cm9uLm5sPi4KKyMgTW9kaWZpZWQgZm9yIERlYmlhbiBHTlUvTGludXggYnkgSWFuIE11cmRvY2sgPGltdXJkb2NrQGdudS5vcmc+LgorIyBNb2RpZmllZCBmb3IgRGViaWFuIGJ5IENocmlzdG9waCBMYW1ldGVyIDxjbGFtZXRlckBkZWJpYW4ub3JnPgorIyBNb2RpZmllZCBmb3Igb3BlbmVtYmVkZGVkIGJ5IEJydW5vIFJhbmRvbGYgPGJydW5vLnJhbmRvbGZANGctc3lzdGVtcy5iaXo+CisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgICAgIG5ldHBlcmYKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICAgICRyZW1vdGVfZnMgJGxvY2FsX2ZzICR0aW1lCisjIFJlcXVpcmVkLVN0b3A6ICAgICAgICAkcmVtb3RlX2ZzICRsb2NhbF9mcyAkdGltZQorIyBTaG91bGQtU3RhcnQ6ICAgICAgICAgJG5ldHdvcmsgJG5hbWVkCisjIFNob3VsZC1TdG9wOiAgICAgICAgICAkbmV0d29yayAkbmFtZWQKKyMgRGVmYXVsdC1TdGFydDogICAgICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiAgICBuZXR3b3JrIGJlbmNobWFyaworIyMjIEVORCBJTklUIElORk8KKworUEFUSD0vYmluOi91c3IvYmluOi9zYmluOi91c3Ivc2JpbgorREFFTU9OPS91c3Ivc2Jpbi9uZXRzZXJ2ZXIKKwordGVzdCAtZiAkREFFTU9OIHx8IGV4aXQgMAorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgZWNobyAtbiAiU3RhcnRpbmcgbmV0d29yayBiZW5jaG1hcmsgc2VydmVyOiBuZXRzZXJ2ZXIiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLVMgLXggJERBRU1PTiA+IC9kZXYvbnVsbCAyPiYxIAorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RvcCkKKyAgICBlY2hvIC1uICJTdG9wcGluZyBuZXR3b3JrIGJlbmNobWFyayBzZXJ2ZXI6IG5ldHNlcnZlciIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAteCAkREFFTU9OCisgICAgZWNobyAiLiIKKyAgICA7OworICAjcmVsb2FkKQorICAgICMKKyAgICAjIElmIHRoZSBkYWVtb24gY2FuIHJlbG9hZCBpdHMgY29uZmlnIGZpbGVzIG9uIHRoZSBmbHkKKyAgICAjIGZvciBleGFtcGxlIGJ5IHNlbmRpbmcgaXQgU0lHSFVQLCBkbyBpdCBoZXJlLgorICAgICMKKyAgICAjIElmIHRoZSBkYWVtb24gcmVzcG9uZHMgdG8gY2hhbmdlcyBpbiBpdHMgY29uZmlnIGZpbGUKKyAgICAjIGRpcmVjdGx5IGFueXdheSwgbWFrZSB0aGlzIGEgZG8tbm90aGluZyBlbnRyeS4KKyAgICAjCisgICAgIyBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1zaWduYWwgMSAtLXZlcmJvc2UgLS1leGVjICREQUVNT04KKyAgICAjIDs7CisgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorICAgICMKKyAgICAjIElmIHRoZSAicmVsb2FkIiBvcHRpb24gaXMgaW1wbGVtZW50ZWQsIG1vdmUgdGhlICJmb3JjZS1yZWxvYWQiCisgICAgIyBvcHRpb24gdG8gdGhlICJyZWxvYWQiIGVudHJ5IGFib3ZlLiBJZiBub3QsICJmb3JjZS1yZWxvYWQiIGlzCisgICAgIyBqdXN0IHRoZSBzYW1lIGFzICJyZXN0YXJ0Ii4KKyAgICAjCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLUsgLXggJERBRU1PTgorICAgIHNsZWVwIDEKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtUyAteCAkREFFTU9OCisgICAgOzsKKyAgKikKKyAgICBlY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvbmV0cGVyZiB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iCisgICAgZXhpdCAxCisgICAgOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0cGVyZi9maWxlcy92Zm9yay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRwZXJmL2ZpbGVzL3Zmb3JrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmZjk4YmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0cGVyZi9maWxlcy92Zm9yay5wYXRjaApAQCAtMCwwICsxLDU4IEBACitTdWJqZWN0OiBbUEFUQ0hdIG5ldHBlcmY6IGZpeCB2Zm9yay9mb3JrCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBYaW4gT3V5YW5nIDxYaW4uT3V5YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvbmV0c2VydmVyLmMgfCAgIDEyICsrKysrKysrKystLQorIDEgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9uZXRzZXJ2ZXIuYyBiL3NyYy9uZXRzZXJ2ZXIuYworaW5kZXggMzc5YTEwNi4uZjZhOGIwOSAxMDA2NDQKKy0tLSBhL3NyYy9uZXRzZXJ2ZXIuYworKysrIGIvc3JjL25ldHNlcnZlci5jCitAQCAtMTAyMCw3ICsxMDIwLDcgQEAgcHJvY2Vzc19yZXF1ZXN0cygpCisgdm9pZAorIHNwYXduX2NoaWxkKCkgeworIAorLSNpZiBkZWZpbmVkKEhBVkVfRk9SSykKKysjaWYgZGVmaW5lZChIQVZFX0ZPUkspIHx8IGRlZmluZWQoSEFWRV9WRk9SSykKKyAKKyAgIGlmIChkZWJ1ZykgeworICAgICBmcHJpbnRmKHdoZXJlLAorQEAgLTEwMzgsNyArMTAzOCwxMSBAQCBzcGF3bl9jaGlsZCgpIHsKKyAKKyAgIHNpZ25hbChTSUdDTEQsU0lHX0lHTik7CisgCisrI2lmIGRlZmluZWQoSEFWRV9GT1JLKQorICAgc3dpdGNoIChmb3JrKCkpIHsKKysjZWxzZQorKyAgc3dpdGNoICh2Zm9yaygpKSB7CisrI2VuZGlmCisgICBjYXNlIC0xOgorICAgICBmcHJpbnRmKHdoZXJlLAorIAkgICAgIiVzOiBmb3JrKCkgZXJyb3IgJXMgKGVycm5vICVkKVxuIiwKK0BAIC0xNDA1LDcgKzE0MDksNyBAQCBzY2FuX25ldHNlcnZlcl9hcmdzKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKKyAKKyB2b2lkCisgZGFlbW9uaXplKCkgeworLSNpZiBkZWZpbmVkKEhBVkVfRk9SSykKKysjaWYgZGVmaW5lZChIQVZFX0ZPUkspIHx8IGRlZmluZWQoSEFWRV9WRk9SSykKKyAKKyAgIGlmIChkZWJ1ZykgeworICAgICBmcHJpbnRmKHdoZXJlLAorQEAgLTE0MTksNyArMTQyMywxMSBAQCBkYWVtb25pemUoKSB7CisgICBmZmx1c2goc3Rkb3V0KTsKKyAgIGZmbHVzaChzdGRlcnIpOworIAorKyNpZiBkZWZpbmVkKEhBVkVfRk9SSykKKyAgIHN3aXRjaCAoZm9yaygpKSB7CisrI2Vsc2UKKysgIHN3aXRjaCAodmZvcmsoKSkgeworKyNlbmRpZgorICAgY2FzZSAtMToKKyAgICAgZnByaW50ZihzdGRlcnIsCisgCSAgICAiJXM6IGZvcmsoKSBlcnJvciAlcyAoZXJybm8gJWQpXG4iLAorLS0gCisxLjcuMS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRwZXJmL25ldHBlcmZfMi42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0cGVyZi9uZXRwZXJmXzIuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MGJhYjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0cGVyZi9uZXRwZXJmXzIuNi4wLmJiCkBAIC0wLDAgKzEsNjYgQEAKK1NVTU1BUlkgPSAiQSBuZXR3b3JraW5nIGJlbmNobWFya2luZyB0b29sIgorREVTQ1JJUFRJT04gPSAiTmV0d29yayBwZXJmb3JtYW5jZSBiZW5jaG1hcmsgaW5jbHVkaW5nIHRlc3RzIGZvciBUQ1AsIFVEUCwgc29ja2V0cywgQVRNIGFuZCBtb3JlLiIKK1NFQ1RJT04gPSAibmV0IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uZXRwZXJmLm9yZy8iCitMSUNFTlNFID0gIm5ldHBlcmYiCitMSUNFTlNFX0ZMQUdTID0gIm5vbi1jb21tZXJjaWFsIgorCisKK1NSQ19VUkk9ImZ0cDovL2Z0cC5uZXRwZXJmLm9yZy9uZXRwZXJmL2FyY2hpdmUvbmV0cGVyZi0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgIGZpbGU6Ly9jcHVfc2V0LnBhdGNoIFwKKyAgICAgICAgIGZpbGU6Ly92Zm9yay5wYXRjaCBcCisgICAgICAgICBmaWxlOi8vaW5pdCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5NjU0ZmZkZmQ0YzRmMmM5M2NlMzczM2NkOWVkOTIzNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjZDhkYWM3MTBkNDI3M2QyOWY3MGU4ZGJkMDkzNTNhNjM2MmFjNThhMTE5MjZlMDgyMjIzM2MwY2IyMzAzMjNhIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hMGFiMTcyNTNlN2EzZjMxOGRhODUzODJjN2Q1ZDVkNiIKKworaW5oZXJpdCB1cGRhdGUtcmMuZCBhdXRvdG9vbHMKKworUyA9ICIke1dPUktESVJ9L25ldHBlcmYtJHtQVn0iCisKKyMgY3B1X3NldC5wYXRjaCBwbHVzIF9HTlVfU09VUkNFIG1ha2VzIHNyYy9uZXRsaWIuYyBjb21waWxlIHdpdGggQ1BVXyBtYWNyb3MKK0NGTEFHU19hcHBlbmQgPSAiIC1ERE9fVU5JWCAtRERPX0lQVjYgLURfR05VX1NPVVJDRSIKKworIyBzZXQgdGhlICJfRklMRV9PRkZTRVRfQklUUyIgcHJlcHJvY2Vzc29yIHN5bWJvbCB0byA2NCB0byBzdXBwb3J0IGZpbGVzCisjIGxhcmdlciB0aGFuIDJHQgorQ0ZMQUdTX2FwcGVuZCA9ICIke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGFyZ2VmaWxlJywgXAorICAgICcgLURfRklMRV9PRkZTRVRfQklUUz02NCcsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3NjdHBdID0gIi0tZW5hYmxlLXNjdHAsLS1kaXNhYmxlLXNjdHAsbGtzY3RwLXRvb2xzLCIKKworIyBhdXRvdG9vbHMuYmJjbGFzcyBhdHRlbmRzIHRvIGluY2x1ZGUgbTQgZmlsZXMgd2l0aCBwYXRoIGRlcHRoIDw9IDIgYnkKKyMgImZpbmQgJHtTfSAtbWF4ZGVwdGggMiAtbmFtZSBcKi5tNCIsIHNvIG1vdmUgbTQgZmlsZXMgZnJvbSBtNC9tNC4KK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHRlc3QgLWQgJHtTfS9tNC9tNCAmJiBtdiAtZiAke1N9L200L200ICR7U30vbTQtZmlsZXMKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBzZWQgLWUgJ3MjL3Vzci9zYmluLyMke3NiaW5kaXJ9LyNnJyAtaSAke1dPUktESVJ9L2luaXQKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0gJHtEfSR7YmluZGlyfSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDQ3NTUgc3JjL25ldHBlcmYgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gNDc1NSBzcmMvbmV0c2VydmVyICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbmV0cGVyZgorCisgICAgIyBtYW4KKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuMS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kb2MvbmV0c2VydmVyLm1hbiAke0R9JHttYW5kaXJ9L21hbjEvbmV0c2VydmVyLjEKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kb2MvbmV0cGVyZi5tYW4gJHtEfSR7bWFuZGlyfS9tYW4xL25ldHBlcmYuMQorCisgICAgIyBtb3ZlIHNjcmlwdHMgdG8gZXhhbXBsZXMgZGlyZWN0b3J5CisgICAgaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9L25ldHBlcmYvZXhhbXBsZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kb2MvZXhhbXBsZXMvKl9zY3JpcHQgJHtEfSR7ZG9jZGlyfS9uZXRwZXJmL2V4YW1wbGVzLworCisgICAgIyBkb2NzIC4uCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vQ09QWUlORyAke0R9JHtkb2NkaXJ9L25ldHBlcmYKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9SZWxlYXNlX05vdGVzICR7RH0ke2RvY2Rpcn0vbmV0cGVyZgorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L1JFQURNRSAke0R9JHtkb2NkaXJ9L25ldHBlcmYKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kb2MvbmV0cGVyZl9vbGQucHMgJHtEfSR7ZG9jZGlyfS9uZXRwZXJmCit9CisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICIke0BiYXNlX2NvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3NjdHAnLCAna2VybmVsLW1vZHVsZS1zY3RwJywgJycsIGQpfSIKKworSU5JVFNDUklQVF9OQU1FPSJuZXRwZXJmIgorSU5JVFNDUklQVF9QQVJBTVM9ImRlZmF1bHRzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy9maWxlcy95cGJpbmQuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMvZmlsZXMveXBiaW5kLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjY5YzE5YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMvZmlsZXMveXBiaW5kLmluaXQKQEAgLTAsMCArMSwxMDcgQEAKKyMhIC9iaW4vc2gKKyMgQ29weXJpZ2h0IChjKSAyMDA0IEF1dGhvcjogVGhvcnN0ZW4gS3VrdWsgPGt1a3VrQHN1c2UuZGU+CisjCisjIC9ldGMvaW5pdC5kL3lwYmluZAorIworIyAgIGFuZCBzeW1ib2xpYyBpdHMgbGluaworIworIyAvdXNyL3NiaW4vcmN5cGJpbmQKKyMKKyMgU3lzdGVtIHN0YXJ0dXAgc2NyaXB0IGZvciB0aGUgeXBiaW5kIGRhZW1vbgorIworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogeXBiaW5kCisjIFJlcXVpcmVkLVN0YXJ0OiAkcmVtb3RlX2ZzICRwb3J0bWFwCisjIFNob3VsZC1TdGFydDogeXBzZXJ2IHNscGQKKyMgUmVxdWlyZWQtU3RvcDogcG9ydG1hcAorIyBEZWZhdWx0LVN0YXJ0OiAzIDUKKyMgRGVmYXVsdC1TdG9wOiAwIDEgMiA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBTdGFydCB5cGJpbmQgKG5lY2Vzc2FyeSBmb3IgYSBOSVMgY2xpZW50KQorIyBEZXNjcmlwdGlvbjogeXBiaW5kIGZpbmRzIHRoZSBzZXJ2ZXIgZm9yIE5JUyBkb21haW5zIGFuZCBtYWludGFpbnMKKyMJdGhlIE5JUyBiaW5kaW5nIGluZm9ybWF0aW9uLgorIyMjIEVORCBJTklUIElORk8KKworIyBOZWVkIHRvIHVzZSBzdGF0dXMgZnVuY3Rpb24KKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKK1lQQklORF9CSU49L3Vzci9zYmluL3lwYmluZAorcGlkZmlsZT0vdmFyL3J1bi95cGJpbmQucGlkCitZUERPTUFJTk5BTUVfYmluPS91c3IvYmluL3lwZG9tYWlubmFtZQorCitbIC1mIC9ldGMvZGVmYXVsdC95cGJpbmQgXSAmJiAuIC9ldGMvZGVmYXVsdC95cGJpbmQKKworY2FzZSAiJDEiIGluCisgICAgc3RhcnQpCisJZWNobyAtbiAiU3RhcnRpbmcgeXBiaW5kIgorCSMjIElmIHRoZSBkb21haW5uYW1lIGlzIG5vdCBzZXQsIHNraXAgc3RhcnRpbmcgb2YgeXBiaW5kCisJIyMgYW5kIHJldHVybiB3aXRoICJwcm9ncmFtIG5vdCBjb25maWd1cmVkIgorICAgICAgICAkWVBET01BSU5OQU1FX2JpbiA+L2Rldi9udWxsIDI+JjEKKyAgICAgICAgaWYgWyAkPyAtbmUgMCAtbyAteiAiYCRZUERPTUFJTk5BTUVfYmluIDI+L2Rldi9udWxsYCIgXTsgdGhlbgorICAgICAgICAgICBpZiBbIC1mIC9ldGMvZGVmYXVsdGRvbWFpbiBdOyB0aGVuCisgICAgICAgICAgICAgWERPTUFJTk5BTUU9YGNhdCAvZXRjL2RlZmF1bHRkb21haW5gCisgICAgICAgICAgICAgJFlQRE9NQUlOTkFNRV9iaW4gIiRYRE9NQUlOTkFNRSIKKwkgICBmaQorICAgICAgICAgICAkWVBET01BSU5OQU1FX2JpbiA+L2Rldi9udWxsIDI+JjEKKyAgICAgICAgICAgaWYgWyAkPyAtbmUgMCAtbyAteiAiYCRZUERPTUFJTk5BTUVfYmluIDI+L2Rldi9udWxsYCIgXTsgdGhlbgorCSAgICAgIyBUZWxsIHRoZSB1c2VyIHRoaXMgaGFzIHNraXBwZWQKKwkgICAgIGVjaG8gLW4gIiAuIC4gLiAuIC4gLiAuIC4gLiAuIE5vIGRvbWFpbm5hbWUgc2V0IgorICAgICAgICAgICAgICMgc2VydmljZSBpcyBub3QgY29uZmlndXJlZAorCSAgICAgZXhpdCAxCisgICAgICAgICAgIGZpCisgICAgICAgIGZpCisKKwkjIyBJZiB3ZSBkb24ndCBoYXZlIGEgL2V0Yy95cC5jb25mIGZpbGUsIHNraXAgc3RhcnRpbmcgb2YKKyAgICAgICAgIyMgeXBiaW5kIGFuZCByZXR1cm4gd2l0aCAicHJvZ3JhbSBub3QgY29uZmlndXJlZCIKKyAgICAgICAgIyMgaWYgeW91IGFkZCB0aGUgLWJyb2FkY2FzdCBPcHRpb24gbGF0ZXIsIGNvbW1lbnQgdGhpcyBvdXQuCisJaWYgWyAhIC1mIC9ldGMveXAuY29uZiAtYSAiJFlQQklORF9CUk9BRENBU1QiICE9ICJ5ZXMiIF0gOyB0aGVuCisJICAjIFRlbGwgdGhlIHVzZXIgdGhpcyBoYXMgc2tpcHBlZAorCSAgZWNobyAtbiAiIC4gLiAuIC4gLiAuIC4gLiAuIC4gJHthdHRufS9ldGMveXAuY29uZiBub3QgZm91bmQke25vcm19IgorICAgICAgICAgICMgc2VydmljZSBpcyBub3QgY29uZmlndXJlZAorCSAgZXhpdCAxCisgICAgICAgIGZpCisKKwkjIGV2YWx1YXRlIHRoZSBPUFRJT05TIGZvciB5cGJpbmQtbXQKKwlPUFRJT05TPSIiCisJdGVzdCAiJFlQQklORF9MT0NBTF9PTkxZIiA9ICJ5ZXMiICYmIE9QVElPTlM9Ii1sb2NhbC1vbmx5ICRPUFRJT05TIgorCXRlc3QgIiRZUEJJTkRfQlJPQURDQVNUIiA9ICJ5ZXMiICYmIE9QVElPTlM9Ii1icm9hZGNhc3QgJE9QVElPTlMiCisJdGVzdCAiJFlQQklORF9CUk9LRU5fU0VSVkVSIiA9ICJ5ZXMiICYmIE9QVElPTlM9Ii1icm9rZW4tc2VydmVyICRPUFRJT05TIgorCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkcGlkZmlsZSAtLWV4ZWMgJFlQQklORF9CSU4gLS0gJFlQQklORF9PUFRJT05TICRPUFRJT05TCisgICAgICAgIGlmIFsgJD8gLWVxIDAgXTsgdGhlbgorICAgICAgICAgICAgbm90Zm91bmQ9MQorICAgICAgICAgICAgZm9yIGkgaW4gMSAyIDMgNCA1IDYgNyA4IDkgMTAgMTEgMTIgMTMgMTQgMTU7IGRvCisgICAgICAgICAgICAgICAgeXB3aGljaCA+L2Rldi9udWxsIDI+JjEgJiYgeyBub3Rmb3VuZD0wIDsgYnJlYWs7IH07CisgICAgICAgICAgICAgICAgZWNobyAtbiAiIC4iCisgICAgICAgICAgICAgICAgc2xlZXAgMTsKKyAgICAgICAgICAgIGRvbmUKKyAgICAgICAgICAgIGlmIFsgJG5vdGZvdW5kIC1lcSAxIF07IHRoZW4KKyAgICAgICAgICAgICAgICBlY2hvIC1uICIgJHt3YXJufU5vIE5JUyBzZXJ2ZXIgZm91bmQke25vcm19IjsKKwkgICAgZmkKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZXhpdCAxCisgICAgICAgIGZpCisJOzsKKyAgICBzdG9wKQorCWVjaG8gLW4gIlNodXR0aW5nIGRvd24geXBiaW5kIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tcGlkZmlsZSAkcGlkZmlsZQorCSMgUmVtb3ZlIHN0YXRpYyBkYXRhLCBlbHNlIGdsaWJjIHdpbGwgY29udGludWUgdG8gdXNlIE5JUworICAgICAgICBybSAtZiAvdmFyL3lwL2JpbmRpbmcvKiAvdmFyL3J1bi95cGJpbmQucGlkCisJOzsKKyAgICByZXN0YXJ0KQorCSQwIHN0b3AKKwlzbGVlcCAxCisJJDAgc3RhcnQKKwk7OworICAgIHJlbG9hZCB8IGZvcmNlLXJlbG9hZCkKKwllY2hvIC1uICJSZWxvYWQgc2VydmljZSB5cGJpbmQiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1zaWduYWwgMSAtLXBpZGZpbGUgJHBpZGZpbGUKKwk7OworICAgIHN0YXR1cykKKwllY2hvIC1uICJDaGVja2luZyBmb3IgeXBiaW5kOiAiCisJc3RhdHVzICRZUEJJTkRfQklOCisJOzsKKyAgICAqKQorCWVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8dHJ5LXJlc3RhcnR8cmVzdGFydHxmb3JjZS1yZWxvYWR8cmVsb2FkfHByb2JlfSIKKwlleGl0IDEKKwk7OworZXNhYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy9uaXMuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy9uaXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0YWExMGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmlzL25pcy5pbmMKQEAgLTAsMCArMSwzMSBAQAorIyBUaGlzIGluY2x1ZGUgZmlsZSBjb250YWlucyBnbG9iYWwgZGVmaW5pdGlvbnMgZm9yIHRoZQorIyB2YXJpb3VzIE5JUyBwYWNrYWdlcy4KKyMKKyMgVGhlc2UgcGFja2FnZXMgd2lsbCBvbmx5IGZ1bmN0aW9uIGNvcnJlY3RseSB3aXRoIGdsaWJjIC0KKyMgdGhlIHJwY3N2YyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBwcmVzZW50IGluIHVjbGliYworREVTQ1JJUFRJT04gPSAiTklTIFNlcnZlciBhbmQgVG9vbHMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpbnV4LW5pcy5vcmcvbmlzLyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCisKKyMgaW5zdGFsbCBpcyBicm9rZW4gYmVjYXVzZSBzcmMvTWFrZWZpbGUgaGVyb2ljYWxseSBhZGRzICctcycKKyMgdG8gdGhlIGluc3RhbGwgZmxhZ3MgLSBwYXNzaW5nIC1zIHRvIHRoZSBidWlsZCAvdXNyL2Jpbi9pbnN0YWxsIQorIyBpbnN0YWxsLXN0cmlwIGdldHMgaXQgcmlnaHQgYnV0IGluc3RhbGxzIHlwYmluZCAtbSA8ZGVmYXVsdD4sCisjIG5vdCAtbSA1NTUuICBJbiBhbiBPRSBidWlsZCB0aGlzIGlzIG5vdCwgc28gZmFyIGFzIEkgY2FuIHNlZSwKKyMgYSBzZWN1cml0eSBwcm9ibGVtIChhbmQgdGhpcyBmaXggdG8gdGhlIGJ1aWxkIHByb2JsZW0gaXMgKm11Y2gqCisjIGVhc2llciBhbmQgbW9yZSBtYWludGFpbmFibGUuKQorZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwtc3RyaXAKK30KKworIyBBbiBhdHRlbXB0IHRvIGJ1aWxkIG9uIHVjbGliYyB3aWxsIGZhaWwsIGNhdXNpbmcgYW5ub3lhbmNlLAorIyBzbyBmb3JjZSB0aGUgcGFja2FnZSB0byBiZSBza2lwcGVkIGhlcmUgKHRoaXMgd2lsbCBjYXVzZSBhCisjICdub3RoaW5nIHByb3ZpZGVzJyBlcnJvcikKK3B5dGhvbiAoKSB7CisgICAgb3MgPSBiYi5kYXRhLmdldFZhcigiVEFSR0VUX09TIiwgZCwgMSkKKyAgICBpZiBvcyA9PSAibGludXgtdWNsaWJjIjoKKyAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFBhY2thZ2UoIk5JUyBmdW5jdGlvbmFsaXR5IHJlcXVpcmVzIHJwY3N2Yy95cC5oLCB1Q2xpYkMgZG9lcyBub3QgcHJvdmlkZSB0aGlzIikKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXAtdG9vbHMvZG9tYWlubmFtZS5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cC10b29scy9kb21haW5uYW1lLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjFhYTkyYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXAtdG9vbHMvZG9tYWlubmFtZS5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249TklTIERvbWFpbm5hbWUKKworW1NlcnZpY2VdCitUeXBlPW9uZXNob3QKK0Vudmlyb25tZW50RmlsZT0vZXRjL25pc2RvbWFpbm5hbWUKK0V4ZWNTdGFydD0vdXNyL2Jpbi9kb21haW5uYW1lICROSVNET01BSU5OQU1FCitSZW1haW5BZnRlckV4aXQ9dHJ1ZQorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXAtdG9vbHMveXAtdG9vbHMtaXB2NC1pcHY2LVByb3ZpZGUtYW4taW4tcGxhY2UtdmVyc2lvbi1vZi1tYXB2NHY2YWRkci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXAtdG9vbHMveXAtdG9vbHMtaXB2NC1pcHY2LVByb3ZpZGUtYW4taW4tcGxhY2UtdmVyc2lvbi1vZi1tYXB2NHY2YWRkci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZWY1NjlmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cC10b29scy95cC10b29scy1pcHY0LWlwdjYtUHJvdmlkZS1hbi1pbi1wbGFjZS12ZXJzaW9uLW9mLW1hcHY0djZhZGRyLnBhdGNoCkBAIC0wLDAgKzEsMTEwIEBACitGcm9tIGExZWYxMGQ2M2IwZWEzNGM3ODhkNTQzMmU5NGM3MmIwMGFlNTVlMDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+CitEYXRlOiBGcmksIDI3IEZlYiAyMDE1IDEyOjA0OjEwIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIGlwdjQvaXB2NjogUHJvdmlkZSBhbiBpbi1wbGFjZSB2ZXJzaW9uIG9mIG1hcHY0djZhZGRyLmgKKworbWFwdjR2NmFkZHIuaCBpc24ndCBhbHdheXMgYXZhaWxhYmxlLCBkZXBlbmRpbmcgb24geW91ciBidWlsZCwgYnV0CituaXMtaG9zdHMuYyBvbmx5IG5lZWRzIGl0IGZvciBhIHNpbmdsZSwgaW5saW5lIGZ1bmN0aW9uLiAgU28gZHJvcCBhIGNvcHkKK2hlcmUgcmF0aGVyIHRoYW4gcGxheWluZyBnYW1lcyB3aXRoIHRoZSBpbmNsdWRlIHBhdGggdGhhdCB3b3VsZAorcG90ZW50aWFsbHkgbGVhZCB0byBjcm9zcy1jb21waWxhdGlvbiBpc3N1ZXMuCisKK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEpvZSBNYWNEb25hbGQgPGpvZV9tYWNkb25hbGRAbWVudG9yLmNvbT4KKy0tLQorIG5zc19uaXM2L21hcHY0djZhZGRyLmggfCA2OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIG5zc19uaXM2L25pcy1ob3N0cy5jICAgfCAgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBuc3NfbmlzNi9tYXB2NHY2YWRkci5oCisKK2RpZmYgLS1naXQgYS9uc3NfbmlzNi9tYXB2NHY2YWRkci5oIGIvbnNzX25pczYvbWFwdjR2NmFkZHIuaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjdmODVmN2QKKy0tLSAvZGV2L251bGwKKysrKyBiL25zc19uaXM2L21hcHY0djZhZGRyLmgKK0BAIC0wLDAgKzEsNjkgQEAKKysvKgorKyAqICsrQ29weXJpZ2h0KysgMTk4NSwgMTk4OCwgMTk5MworKyAqIC0KKysgKiBDb3B5cmlnaHQgKGMpIDE5ODUsIDE5ODgsIDE5OTMKKysgKiAgICBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysgKgorKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKyAqIGFyZSBtZXQ6CisrICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKysgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisrICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKysgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisrICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKysgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorKyAqCisrICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKysgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKysgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisrICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKysgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKysgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKysgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisrICogU1VDSCBEQU1BR0UuCisrICogLQorKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5MyBieSBEaWdpdGFsIEVxdWlwbWVudCBDb3Jwb3JhdGlvbi4KKysgKgorKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorKyAqIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUKKysgKiBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzLCBhbmQgdGhhdAorKyAqIHRoZSBuYW1lIG9mIERpZ2l0YWwgRXF1aXBtZW50IENvcnBvcmF0aW9uIG5vdCBiZSB1c2VkIGluIGFkdmVydGlzaW5nIG9yCisrICogcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gZGlzdHJpYnV0aW9uIG9mIHRoZSBkb2N1bWVudCBvciBzb2Z0d2FyZSB3aXRob3V0CisrICogc3BlY2lmaWMsIHdyaXR0ZW4gcHJpb3IgcGVybWlzc2lvbi4KKysgKgorKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBESUdJVEFMIEVRVUlQTUVOVCBDT1JQLiBESVNDTEFJTVMgQUxMCisrICogV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFLCBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUworKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUy4gICBJTiBOTyBFVkVOVCBTSEFMTCBESUdJVEFMIEVRVUlQTUVOVAorKyAqIENPUlBPUkFUSU9OIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwKKysgKiBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IKKysgKiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUworKyAqIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUworKyAqIFNPRlRXQVJFLgorKyAqIC0KKysgKiAtLUNvcHlyaWdodC0tCisrICovCisrCisrI2luY2x1ZGUgPHN0cmluZy5oPgorKyNpbmNsdWRlIDxhcnBhL25hbWVzZXIuaD4KKysKKytzdGF0aWMgdm9pZAorK21hcF92NHY2X2FkZHJlc3MgKGNvbnN0IGNoYXIgKnNyYywgY2hhciAqZHN0KQorK3sKKysgIHVfY2hhciAqcCA9ICh1X2NoYXIgKikgZHN0OworKyAgaW50IGk7CisrCisrICAvKiBNb3ZlIHRoZSBJUHY0IHBhcnQgdG8gdGhlIHJpZ2h0IHBvc2l0aW9uLiAgKi8KKysgIG1lbWNweSAoZHN0ICsgMTIsIHNyYywgSU5BRERSU1opOworKworKyAgLyogTWFyayB0aGlzIGlwdjYgYWRkciBhcyBhIG1hcHBlZCBpcHY0LiAqLworKyAgZm9yIChpID0gMDsgaSA8IDEwOyBpKyspCisrICAgICpwKysgPSAweDAwOworKyAgKnArKyA9IDB4ZmY7CisrICAqcCA9IDB4ZmY7CisrfQorZGlmZiAtLWdpdCBhL25zc19uaXM2L25pcy1ob3N0cy5jIGIvbnNzX25pczYvbmlzLWhvc3RzLmMKK2luZGV4IGFmOTljNzQuLjk2ZDhmYTEgMTAwNjQ0CistLS0gYS9uc3NfbmlzNi9uaXMtaG9zdHMuYworKysrIGIvbnNzX25pczYvbmlzLWhvc3RzLmMKK0BAIC0zNiw3ICszNiw3IEBACisgI2luY2x1ZGUgIm5zcy1uaXM2LmgiCisgCisgLyogR2V0IGltcGxlbWVudGF0aW9uIGZvciBzb21lIGludGVybmFsIGZ1bmN0aW9ucy4gKi8KKy0jaW5jbHVkZSA8cmVzb2x2L21hcHY0djZhZGRyLmg+CisrI2luY2x1ZGUgIm1hcHY0djZhZGRyLmgiCisgCisgI2RlZmluZSBFTlROQU1FICAgICAgICAgaG9zdGVudAorICNkZWZpbmUgREFUQUJBU0UgICAgICAgICJob3N0cyIKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cC10b29sc18yLjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cC10b29sc18yLjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjNjgzN2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmlzL3lwLXRvb2xzXzIuMTQuYmIKQEAgLTAsMCArMSwzNCBAQAorIyBUaGlzIHBhY2thZ2UgYnVpbGRzIHRvb2xzIHRvIG1hbmFnZSBOSVMKKyMgVGhlIHNvdXJjZSBwYWNrYWdlIGlzIHV0aWxzL25ldC9OSVMveXAtdG9vbHMKKyMKK3JlcXVpcmUgbmlzLmluYworCitTVU1NQVJZID0gIk5JUyBjbGllbnQgcHJvZ3JhbXMiCitERVNDUklQVElPTiA9ICIgXAorTmV0d29yayBJbmZvcm1hdGlvbiBTZXJ2aWNlIHRvb2xzLiAgXAorVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHlwY2F0LCB5cG1hdGNoLCB5cHNldCwgXAoreXB3aGljaCwgeXBwYXNzd2QsIGRvbWFpbm5hbWUsIG5pc2RvbWFpbm5hbWUgXAorYW5kIHlwZG9tYWlubmFtZS4gXAorXAorVGhpcyBpcyB0aGUgZmluYWwgSVB2NC1vbmx5IHZlcnNpb24gb2YgeXAtdG9vbHMuIFwKKyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpbnV4LW5pcy5vcmcvZG93bmxvYWQveXAtdG9vbHMvJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9kb21haW5uYW1lLnNlcnZpY2UgXAorIgorU1JDX1VSSVttZDVzdW1dID0gImJhMWYxMjFjMTdlM2FkNjUzNjhiZTE3M2I5NzdjZDEzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQwMWY3MGZhZGM2NDNhNTUxMDdhMGVkYzQ3YzZiZTk5ZDAzMDZiY2M0ZjY2ZGY1NmY2NWU3NDIzOGIwMTI0YzkiCisKK2luaGVyaXQgc3lzdGVtZAorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImRvbWFpbm5hbWUuc2VydmljZSIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X3Byb2dfU1RSSVA9L2Jpbi90cnVlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZG9tYWlubmFtZS5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmlzL3lwLXRvb2xzXzMuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXAtdG9vbHNfMy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4OWYwYjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmlzL3lwLXRvb2xzXzMuMy5iYgpAQCAtMCwwICsxLDQ4IEBACisjIFRoaXMgcGFja2FnZSBidWlsZHMgdG9vbHMgdG8gbWFuYWdlIE5JUworIyBUaGUgc291cmNlIHBhY2thZ2UgaXMgdXRpbHMvbmV0L05JUy95cC10b29scworIworcmVxdWlyZSBuaXMuaW5jCisKK1NVTU1BUlkgPSAiTklTIGNsaWVudCBwcm9ncmFtcyIKK0RFU0NSSVBUSU9OID0gIiBcCitOZXR3b3JrIEluZm9ybWF0aW9uIFNlcnZpY2UgdG9vbHMuICBcCitUaGlzIHBhY2thZ2UgY29udGFpbnMgeXBjYXQsIHlwbWF0Y2gsIHlwc2V0LCBcCit5cHdoaWNoLCB5cHBhc3N3ZCwgZG9tYWlubmFtZSwgbmlzZG9tYWlubmFtZSBcCithbmQgeXBkb21haW5uYW1lLiBcCisiCisKK1BOQkxBQ0tMSVNUW3lwLXRvb2xzXSA/PSAiQlJPS0VOOiBmYWlscyB0byBidWlsZCBmb3IgcWVtdWFybS4iCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saW51eC1uaXMub3JnL2Rvd25sb2FkL3lwLXRvb2xzLyR7QlB9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vZG9tYWlubmFtZS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3lwLXRvb2xzLWlwdjQtaXB2Ni1Qcm92aWRlLWFuLWluLXBsYWNlLXZlcnNpb24tb2YtbWFwdjR2NmFkZHIucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImFjZWJlZWNjMTFhNzNmYjgwOTc1MDM2NzAzNDQ4MzRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgxMmJlODE3ZGYzZDRjMjU4MTM1NTJiZTMzNmM2YzZhZDVhZWRhZjY1NjExYjgxYWYzYWQ5Zjk4ZmIzYzJlNTAiCisKK0RFUEVORFMgPSAibGlidGlycGMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHN5c3RlbWQKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJkb21haW5uYW1lLnNlcnZpY2UiCisKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9wcm9nX1NUUklQPS9iaW4vdHJ1ZSIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXJwYXRoIFwKKyAgICAgICAgICAgICAgICAtLWxpYmRpcj0ke2xpYmRpcn0veXAtbmlzLyBcCisgICAgICAgICAgICAgICAgLS1pbmNsdWRlZGlyPSR7aW5jbHVkZWRpcn0veXAtbmlzLyBcCisgICAgICAgICAgICAgICAiCisKK0ZJTEVTXyR7UE59ICs9ICIgJHtsaWJkaXJ9L3lwLW5pcy8qLnNvLiouKiAke2xpYmRpcn0veXAtbmlzL3BrZ2NvbmZpZy8iCitGSUxFU18ke1BOfS1kYmcgKz0gIiAke2xpYmRpcn0veXAtbmlzLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiICR7bGliZGlyfS95cC1uaXMvKi5zbyAke2xpYmRpcn0veXAtbmlzLyouc28uWzEyXSAke2xpYmRpcn0veXAtbmlzLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiAke2xpYmRpcn0veXAtbmlzLyouYSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2RvbWFpbm5hbWUuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cGJpbmQtbXQveXBiaW5kLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmlzL3lwYmluZC1tdC95cGJpbmQuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjhkZjQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cGJpbmQtbXQveXBiaW5kLnNlcnZpY2UKQEAgLTAsMCArMSwxNCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1ZUCBCaW5kCitSZXF1aXJlcz1kb21haW5uYW1lLnNlcnZpY2UKK0FmdGVyPWRvbWFpbm5hbWUuc2VydmljZSBuZXR3b3JrLnRhcmdldAorQmVmb3JlPXN5c3RlbWQtdXNlci1zZXNzaW9ucy5zZXJ2aWNlCisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitQSURGaWxlPS92YXIvcnVuL3lwYmluZC5waWQKK0V4ZWNTdGFydD0vdXNyL3NiaW4veXBiaW5kCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cGJpbmQtbXRfMS4zOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXBiaW5kLW10XzEuMzguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDExM2I4MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXBiaW5kLW10XzEuMzguYmIKQEAgLTAsMCArMSw1OCBAQAorIyBUaGlzIHBhY2thZ2UgYnVpbGRzIHRoZSBOSVMgeXBiaW5kIGRhZW1vbgorIyBUaGUgc291cmNlIHBhY2thZ2UgaXMgdXRpbHMvbmV0L05JUy95cGJpbmQtbXQKKyMKK3JlcXVpcmUgbmlzLmluYworCitERVNDUklQVElPTiA9ICIgXAorTXVsdGl0aHJlYWRlZCBOSVMgYmluZCBzZXJ2aWNlICh5cGJpbmQtbXQpLiAgXAoreXBiaW5kLW10IGlzIGEgY29tcGxldGUgbmV3IGltcGxlbWVudGF0aW9uIG9mIGEgTklTIFwKK2JpbmRpbmcgZGFlbW9uIGZvciBMaW51eC4gSXQgaGFzIHRoZSBmb2xsb3dpbmcgXAorZmVhdHVyZXMuICBTdXBwb3J0cyB5cGJpbmQgcHJvdG9jb2wgVjEgYW5kIFYyLiAgXAorVXNlcyB0aHJlYWRzIGZvciBiZXR0ZXIgcmVzcG9uc2UuICBTdXBwb3J0cyBtdWx0aXBsZSBcCitkb21haW4gYmluZGluZ3MuICBTdXBwb3J0cyAvdmFyL3lwL2JpbmRpbmcvKiBmaWxlIFwKK2ZvciBMaW51eCBsaWJjIDQvNSBhbmQgZ2xpYmMgMi54LiAgU3VwcG9ydHMgYSBsaXN0IFwKK29mIGtub3duIHNlY3VyZSBOSVMgc2VydmVyICgvZXRjL3lwLmNvbmYpIEJpbmRzIHRvIFwKK3RoZSBzZXJ2ZXIgd2hpY2ggYW5zd2VyZWQgYXMgZmlyc3QuIFwKK1wKK1RoaXMgaXMgdGhlIGZpbmFsIElQdjQtb25seSB2ZXJzaW9uIG9mIHlwYmluZC1tdC4gXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saW51eC1uaXMub3JnL25pcy95cGJpbmQtbXQvaW5kZXguaHRtbCIKK0RFUEVORFMgPSAiIFwKKyAgICAgICAgICAgeXAtdG9vbHMgXAorICAgICAgICAgICAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSBcCisgICAgICAgICAgIgorUkRFUEVORFNfJHtQTn0gKz0gInlwLXRvb2xzIgorCisjIHlwYmluZC1tdCBub3cgcHJvdmlkZXMgYWxsIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHlwYmluZAorIyBhbmQgaXMgdXNlZCBpbiBwbGFjZSBvZiBpdC4KK1BST1ZJREVTICs9ICJ5cGJpbmQiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saW51eC1uaXMub3JnL2Rvd25sb2FkL3lwYmluZC1tdC8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3lwYmluZC5pbml0IFwKKyAgICAgICAgICAgZmlsZTovL3lwYmluZC5zZXJ2aWNlIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwOTQwODhjMGUyODJmYTdmM2IzZGQ2Y2M1MWQwYTRlMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxOTMwY2UxOWY2Y2NmZTEwNDAwZjM0OTdiMzE4NjdmNzE2OTBkMmJjZDNmNWI1NzUxOTlmYTkxNTU1OWI3NzQ2IgorCitpbmhlcml0IHN5c3RlbWQgdXBkYXRlLXJjLmQKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInlwYmluZC5zZXJ2aWNlIgorSU5JVFNDUklQVF9OQU1FID0gInlwYmluZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDQ0IDMgNSAuIHN0b3AgNzAgMCAxIDIgNiAuIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICJhY19jdl9wcm9nX1NUUklQPS9iaW4vdHJ1ZSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9yY1MuZAorCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0veXBiaW5kLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3lwYmluZAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3lwYmluZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCit9CisKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXBiaW5kLW10XzIuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMveXBiaW5kLW10XzIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZWU1ODgwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy95cGJpbmQtbXRfMi4yLmJiCkBAIC0wLDAgKzEsNTMgQEAKKyMgVGhpcyBwYWNrYWdlIGJ1aWxkcyB0aGUgTklTIHlwYmluZCBkYWVtb24KKyMgVGhlIHNvdXJjZSBwYWNrYWdlIGlzIHV0aWxzL25ldC9OSVMveXBiaW5kLW10CisjCityZXF1aXJlIG5pcy5pbmMKKworREVTQ1JJUFRJT04gPSAiIFwKK011bHRpdGhyZWFkZWQgTklTIGJpbmQgc2VydmljZSAoeXBiaW5kLW10KS4gIFwKK3lwYmluZC1tdCBpcyBhIGNvbXBsZXRlIG5ldyBpbXBsZW1lbnRhdGlvbiBvZiBhIE5JUyBcCitiaW5kaW5nIGRhZW1vbiBmb3IgTGludXguIEl0IGhhcyB0aGUgZm9sbG93aW5nIFwKK2ZlYXR1cmVzLiAgU3VwcG9ydHMgeXBiaW5kIHByb3RvY29sIFYxIGFuZCBWMi4gIFwKK1VzZXMgdGhyZWFkcyBmb3IgYmV0dGVyIHJlc3BvbnNlLiAgU3VwcG9ydHMgbXVsdGlwbGUgXAorZG9tYWluIGJpbmRpbmdzLiAgU3VwcG9ydHMgL3Zhci95cC9iaW5kaW5nLyogZmlsZSBcCitmb3IgTGludXggbGliYyA0LzUgYW5kIGdsaWJjIDIueC4gIFN1cHBvcnRzIGEgbGlzdCBcCitvZiBrbm93biBzZWN1cmUgTklTIHNlcnZlciAoL2V0Yy95cC5jb25mKSBCaW5kcyB0byBcCit0aGUgc2VydmVyIHdoaWNoIGFuc3dlcmVkIGFzIGZpcnN0LiBcCisiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpbnV4LW5pcy5vcmcvbmlzL3lwYmluZC1tdC9pbmRleC5odG1sIgorREVQRU5EUyA9ICJ5cC10b29scyAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgJycsIGQpfSIKK1BST1ZJREVTICs9ICJ5cGJpbmQiCisKK1BOQkxBQ0tMSVNUW3lwYmluZC1tdF0gPz0gIkJST0tFTjogRGVwZW5kcyBvbiBicm9rZW4geXAtdG9vbHMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saW51eC1uaXMub3JnL2Rvd25sb2FkL3lwYmluZC1tdC8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3lwYmluZC5pbml0IFwKKyAgICAgICAgICAgZmlsZTovL3lwYmluZC5zZXJ2aWNlIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NGUyMDQwZDgyNjZhZTdkMzAyZDA4MWNhMzEwYzhhOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYzJmN2Q5N2M5NGRjYWIwYWNmZGNkMTE1Y2Q4YjQ2NGViOGM0MjdlNGJiMGZlNjg0MDRhZTc0NjVmNTE3Y2QzIgorCitpbmhlcml0IHN5c3RlbWQgdXBkYXRlLXJjLmQKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInlwYmluZC5zZXJ2aWNlIgorSU5JVFNDUklQVF9OQU1FID0gInlwYmluZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDQ0IDMgNSAuIHN0b3AgNzAgMCAxIDIgNiAuIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyA9ICJhY19jdl9wcm9nX1NUUklQPS9iaW4vdHJ1ZSIKKworRVhUUkFfT0VDT05GID0gIlBLR19DT05GSUdfUEFUSD0nJHtTVEFHSU5HX0xJQkRJUn0veXAtbmlzL3BrZ2NvbmZpZy8nIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3JjUy5kCisKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS95cGJpbmQuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQveXBiaW5kCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0veXBiaW5kLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KK30KKworCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250aW1lZC9udGltZWQvdXNlLWxkZmxhZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRpbWVkL250aW1lZC91c2UtbGRmbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2E3Nzc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250aW1lZC9udGltZWQvdXNlLWxkZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorT2JleSBMREZMQUdTLgorCitTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGtlcmdvdGhAZ21haWwuY29tPgorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKy0tLSBOdGltZWQub3JpZy9jb25maWd1cmUJMjAxNS0wNS0zMCAxMTo1Nzo1OS45Mjc3OTY5OTMgLTA3MDAKKysrKyBOdGltZWQvY29uZmlndXJlCTIwMTUtMDUtMzAgMTE6NTg6MjYuMTQzOTQ4ODk0IC0wNzAwCitAQCAtMTQyLDcgKzE0Miw3IEBACisgCisgCWVjaG8KKyAJZWNobyAibnRpbWVkLWNsaWVudDoJJHtsfSIKKy0JZWNobyAiCVwke0NDfSBcJHtDRkxBR1N9IC1vIG50aW1lZC1jbGllbnQgJHtsfSAtbG0iCisrCWVjaG8gIglcJHtDQ30gXCR7Q0ZMQUdTfSAtbyBudGltZWQtY2xpZW50ICR7bH0gXCR7TERGTEFHU30gLWxtIgorIAllY2hvCisgCWVjaG8gImNsZWFuOiIKKyAJZWNobyAiCXJtIC1mICR7bH0gbnRpbWVkLWNsaWVudCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udGltZWQvbnRpbWVkX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udGltZWQvbnRpbWVkX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWM1NjE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250aW1lZC9udGltZWRfZ2l0LmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiTmV0d29yayB0aW1lIHN5bmNocm9uaXphdGlvbiBzb2Z0d2FyZSwgTlRQRCByZXBsYWNlbWVudCIKK0RFU0NSSVBUSU9OID0gIlRoaXMgaXMgYSBwcmV2aWV3L2Vhcmx5LWFjY2Vzcy9hbHBoYS9idXp6d29yZC1vZi10aGUtdGltZXMgXAorcmVsZWFzZSBvZiBhIG5ldyBGT1NTIHByb2plY3Qgd3JpdHRlbiB0byBncmFkdWFsbHkgdGFrZSBvdmVyIHRoZSB3b3JsZCBvZiBcCituZXR3b3JrZWQgdGltZWtlZXBpbmcuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2JzZHBoay9OdGltZWQiCitTRUNUSU9OID0gIm5ldCIKKworTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9tYWluLmM7c3RhcnRsaW5lPTI7ZW5kbGluZT0yNDttZDU9ZWRhMTFkMjEwMDUzMTliYjc2Y2JiNmY5MTFmMGY2NmQiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ic2RwaGsvTnRpbWVkIFwKKyAgICAgICAgICAgZmlsZTovL3VzZS1sZGZsYWdzLnBhdGNoIgorCitQViA9ICIwLjArZ2l0JHtTUkNQVn0iCitTUkNSRVYgPSAiZGIwYWJiYjRjODBmMmVjZWY2YmM1ZDk2MzliY2E1YmVhMjg1MzJhMiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VNQUtFID0gIlwKKyAgICAnQ0M9JHtDQ30nIFwKKyAgICAnQ0ZMQUdTPSR7Q0ZMQUdTfScgXAorICAgICdMREZMQUdTPSR7TERGTEFHU30nIFwKKyIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICBzaCAuL2NvbmZpZ3VyZQorfQorCitkb19jb21waWxlICgpIHsKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLUQgLW0gMDc1NSBudGltZWQtY2xpZW50ICR7RH0ke3NiaW5kaXJ9L250aW1lZC1jbGllbnQKK30KKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKK1JERVBFTkRTXyR7UE59ICs9ICJudGltZWQtY2xpZW50IgorCitQQUNLQUdFX0JFRk9SRV9QTiArPSAibnRpbWVkLWNsaWVudCIKK0ZJTEVTX250aW1lZC1jbGllbnQgPSAiJHtzYmluZGlyfS9udGltZWQtY2xpZW50IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwLTQuMi40X3A2LW5hbm8ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHAtNC4yLjRfcDYtbmFuby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjFlMmY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwLTQuMi40X3A2LW5hbm8ucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorLS0tIGEvaW5jbHVkZS9udHBfc3lzY2FsbC5oLm9yaWcJMjAwOS0wNS0xOSAxNjo0NDo1NS4wNDgxNTY0NjcgLTA0MDAKKysrKyBiL2luY2x1ZGUvbnRwX3N5c2NhbGwuaAkyMDA5LTA1LTE5IDE2OjQ2OjE5LjI5MzMyMzY4NiAtMDQwMAorQEAgLTE0LDYgKzE0LDE0IEBACisgIyBpbmNsdWRlIDxzeXMvdGltZXguaD4KKyAjZW5kaWYKKyAKKysjaWYgZGVmaW5lZChBREpfTkFOTykgJiYgIWRlZmluZWQoTU9EX05BTk8pCisrI2RlZmluZSBNT0RfTkFOTyBBREpfTkFOTworKyNlbmRpZgorKworKyNpZiBkZWZpbmVkKEFESl9UQUkpICYmICFkZWZpbmVkKE1PRF9UQUkpCisrI2RlZmluZSBNT0RfVEFJIEFESl9UQUkKKysjZW5kaWYKKysKKyAjaWZuZGVmIE5UUF9TWVNDQUxMU19MSUJDCisgI2lmZGVmIE5UUF9TWVNDQUxMU19TVEQKKyAjIGRlZmluZSBudHBfYWRqdGltZSh0KQkJc3lzY2FsbChTWVNfbnRwX2FkanRpbWUsICh0KSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL250cC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc2ZTE4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL250cC5jb25mCkBAIC0wLDAgKzEsMTcgQEAKKyMgVGhpcyBpcyB0aGUgbW9zdCBiYXNpYyBudHAgY29uZmlndXJhdGlvbiBmaWxlCisjIFRoZSBkcmlmdGZpbGUgbXVzdCByZW1haW4gaW4gYSBwbGFjZSBzcGVjaWZpYyB0byB0aGlzCisjIG1hY2hpbmUgLSBpdCByZWNvcmRzIHRoZSBtYWNoaW5lIHNwZWNpZmljIGNsb2NrIGVycm9yCitkcmlmdGZpbGUgL3Zhci9saWIvbnRwL2RyaWZ0CisjIFRoaXMgc2hvdWxkIGJlIGEgc2VydmVyIHRoYXQgaXMgY2xvc2UgKGluIElQIHRlcm1zKQorIyB0byB0aGUgbWFjaGluZS4gIEFkZCBvdGhlciBzZXJ2ZXJzIGFzIHJlcXVpcmVkLgorIyBVbmxlc3MgeW91IHVuLWNvbW1lbnQgdGhlIGxpbmUgYmVsb3cgbnRwZCB3aWxsIHN5bmMKKyMgb25seSBhZ2FpbnN0IHRoZSBsb2NhbCBzeXN0ZW0gY2xvY2suCisjCisjIHNlcnZlciB0aW1lLnNlcnZlci5leGFtcGxlLmNvbQorIworIyBVc2luZyBsb2NhbCBoYXJkd2FyZSBjbG9jayBhcyBmYWxsYmFjaworIyBEaXNhYmxlIHRoaXMgd2hlbiB1c2luZyBudHBkIC1xIC1nIC14IGFzIG50cGRhdGUgb3IgaXQgd2lsbCBzeW5jIHRvIGl0c2VsZgorc2VydmVyIDEyNy4xMjcuMS4wCitmdWRnZSAxMjcuMTI3LjEuMCBzdHJhdHVtIDE0CisjIERlZmluaW5nIGEgZGVmYXVsdCBzZWN1cml0eSBzZXR0aW5nCityZXN0cmljdCBkZWZhdWx0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMWI5YzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwZApAQCAtMCwwICsxLDg0IEBACisjISAvYmluL3NoCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICBudHAKKyMgUmVxdWlyZWQtU3RhcnQ6ICAkbmV0d29yayAkcmVtb3RlX2ZzICRzeXNsb2cKKyMgUmVxdWlyZWQtU3RvcDogICAkbmV0d29yayAkcmVtb3RlX2ZzICRzeXNsb2cKKyMgRGVmYXVsdC1TdGFydDogICAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDoKKyMgU2hvcnQtRGVzY3JpcHRpb246IFN0YXJ0IE5UUCBkYWVtb24KKyMjIyBFTkQgSU5JVCBJTkZPCisKK1BBVEg9L3NiaW46L2JpbjovdXNyL2JpbjovdXNyL3NiaW4KKworREFFTU9OPS91c3Ivc2Jpbi9udHBkCitQSURGSUxFPS92YXIvcnVuL250cGQucGlkCisKKyMgbnRwZAlpbml0LmQgc2NyaXB0IGZvciBudHBkYyBmcm9tIG50cC5pc2Mub3JnCit0ZXN0IC14ICREQUVNT04gLWEgLXIgL2V0Yy9udHAuY29uZiB8fCBleGl0IDAKKworIyByY1MgY29udGFpbnMgVElDS0FESgordGVzdCAtciAvZXRjL2RlZmF1bHQvcmNTICYmIC4gL2V0Yy9kZWZhdWx0L3JjUworCisjIFNvdXJjZSBmdW5jdGlvbiBsaWJyYXJ5LgorLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworIyBGdW5jdGlvbnMgdG8gZG8gaW5kaXZpZHVhbCBhY3Rpb25zCitzZXR0aWNrKCl7CisgIAkjIElmIFRJQ0tBREogaXMgc2V0IHdlICptdXN0KiBhZGp1c3QgaXQgYmVmb3JlIHdlIHN0YXJ0LCBiZWNhdXNlIHRoZQorCSMgZHJpZnRmaWxlIHJlbGllcyBvbiB0aGUgY29ycmVjdCBzZXR0aW5nCisJdGVzdCAtbiAiJFRJQ0tBREoiIC1hIC14IC91c3Ivc2Jpbi90aWNrYWRqICYmIHsKKwkJZWNobyAtbiAiU2V0dGluZyB0aWNrIHRvICRUSUNLQURKOiAiCisJCS91c3Ivc2Jpbi90aWNrYWRqICIkVElDS0FESiIKKwkJZWNobyAiZG9uZSIKKwl9Cit9CitzdGFydGRhZW1vbigpeworCSMgVGhlIC1nIG9wdGlvbiBhbGxvd3MgbnRwZCB0byBzdGVwIHRoZSB0aW1lIHRvIGNvcnJlY3QgaXQganVzdAorCSMgb25jZS4gIFRoZSBkYWVtb24gd2lsbCBleGl0IGlmIHRoZSBjbG9jayBkcmlmdHMgdG9vIG11Y2ggYWZ0ZXIKKwkjIHRoaXMuICBJZiBudHBkIHNlZW1zIHRvIGRpc2FwcGVhciBhZnRlciBhIHdoaWxlIGFzc3VtZSBUSUNLQURKCisJIyBhYm92ZSBpcyBzZXQgdG8gYSB0b3RhbGx5IGluY29ycmVjdCB2YWx1ZS4KKwllY2hvIC1uICJTdGFydGluZyBudHBkOiAiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tb2tub2RvIC0tcGlkZmlsZSAkUElERklMRSAtLXN0YXJ0YXMgJERBRU1PTiAtLSAtdSBudHA6bnRwIC1wICRQSURGSUxFICIkQCIKKwllY2hvICJkb25lIgorfQorc3RvcGRhZW1vbigpeworCWVjaG8gLW4gIlN0b3BwaW5nIG50cGQ6ICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLW9rbm9kbyAtcCAkUElERklMRQorCWVjaG8gImRvbmUiCit9CisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgCXNldHRpY2sKKwlzdGFydGRhZW1vbiAtZworCTs7CisgIHN0b3ApCisgIAlzdG9wZGFlbW9uCisJOzsKKyAgZm9yY2UtcmVsb2FkKQorICAJc3RvcGRhZW1vbgorICAJc2V0dGljaworCXN0YXJ0ZGFlbW9uIC1nCisJOzsKKyAgcmVzdGFydCkKKyAgCSMgRG9uJ3QgcmVzZXQgdGhlIHRpY2sgaGVyZQorCXN0b3BkYWVtb24KKwlzdGFydGRhZW1vbiAtZworCTs7CisgIHJlbG9hZCkKKyAgCSMgTXVzdCBkbyB0aGlzIGJ5IGhhbmQsIGJ1dCBkb24ndCBkbyAtZworCXN0b3BkYWVtb24KKwlzdGFydGRhZW1vbgorCTs7CisgIHN0YXR1cykKKwlzdGF0dXMgL3Vzci9zYmluL250cGQ7CisJZXhpdCAkPworCTs7CisgICopCisJZWNobyAiVXNhZ2U6IG50cGQgeyBzdGFydCB8IHN0b3AgfCBzdGF0dXMgfCByZXN0YXJ0IHwgcmVsb2FkIH0iID4mMgorCWV4aXQgMQorCTs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwZC5saXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwZC5saXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxZmU2YjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkLmxpc3QKQEAgLTAsMCArMSBAQAorbnRwZC5zZXJ2aWNlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGUzZDdjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL250cGQuc2VydmljZQpAQCAtMCwwICsxLDExIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPU5ldHdvcmsgVGltZSBTZXJ2aWNlCitBZnRlcj1uZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworUElERmlsZT0vcnVuL250cGQucGlkCitFeGVjU3RhcnQ9L3Vzci9zYmluL250cGQgLXUgbnRwOm50cCAtcCAvcnVuL250cGQucGlkIC1nCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL250cGRhdGUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkYXRlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE3YjY0ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkYXRlCkBAIC0wLDAgKzEsNTQgQEAKKyMhL2Jpbi9zaAorCitQQVRIPS9zYmluOi9iaW46L3Vzci9iaW46L3Vzci9zYmluCisKK3Rlc3QgLXggL3Vzci9zYmluL250cGRhdGUgfHwgZXhpdCAwCisKK2lmIHRlc3QgLWYgL2V0Yy9kZWZhdWx0L250cGRhdGUgOyB0aGVuCisuIC9ldGMvZGVmYXVsdC9udHBkYXRlCitmaQorCitpZiBbICIkTlRQU0VSVkVSUyIgPSAiIiBdIDsgdGhlbgorCWlmIFsgIiRNRVRIT0QiID0gIiIgLWEgIiQxIiAhPSAic2lsZW50IiBdIDsgdGhlbgorCQllY2hvICJQbGVhc2Ugc2V0IE5UUFNFUlZFUlMgaW4gL2V0Yy9kZWZhdWx0L250cGRhdGUiCisJCWV4aXQgMQorCWVsc2UKKwkJZXhpdCAwCisJZmkKK2ZpCisKKyMgVGhpcyBpcyBhIGhldXJpc3RpYzogIFRoZSBpZGVhIGlzIHRoYXQgaWYgYSBzdGF0aWMgaW50ZXJmYWNlIGlzIGJyb3VnaHQKKyMgdXAsIHRoYXQgaXMgYSBtYWpvciBldmVudCwgYW5kIHdlIGNhbiBwdXQgaW4gc29tZSBleHRyYSBlZmZvcnQgdG8gZml4CisjIHRoZSBzeXN0ZW0gdGltZS4gIEZlZWwgZnJlZSB0byBjaGFuZ2UgdGhpcywgZXNwZWNpYWxseSBpZiB5b3UgcmVndWxhcmx5CisjIGJyaW5nIHVwIG5ldyBuZXR3b3JrIGludGVyZmFjZXMuCitpZiBbICIkTUVUSE9EIiA9IHN0YXRpYyBdOyB0aGVuCisJT1BUUz0iLWIiCitmaQorCitpZiBbICIkTUVUSE9EIiA9IGxvb3BiYWNrIF07IHRoZW4KKwlleGl0IDAKK2ZpCisKKygKKworTE9DS0ZJTEU9L3Zhci9sb2NrL250cGRhdGUKKworIyBBdm9pZCBydW5uaW5nIG1vcmUgdGhhbiBvbmUgYXQgYSB0aW1lCitpZiBbIC14IC91c3IvYmluL2xvY2tmaWxlLWNyZWF0ZSBdOyB0aGVuCisJbG9ja2ZpbGUtY3JlYXRlICRMT0NLRklMRQorCWxvY2tmaWxlLXRvdWNoICRMT0NLRklMRSAmCisJTE9DS1RPVUNIUElEPSIkISIKK2ZpCisKK2lmIC91c3Ivc2Jpbi9udHBkYXRlIC1zICRPUFRTICROVFBTRVJWRVJTIDI+L2Rldi9udWxsOyB0aGVuCisJaWYgWyAiJFVQREFURV9IV0NMT0NLIiA9ICJ5ZXMiIF07IHRoZW4KKwkJaHdjbG9jayAtLXN5c3RvaGMgfHwgOgorCWZpCitmaQorCitpZiBbIC14IC91c3IvYmluL2xvY2tmaWxlLWNyZWF0ZSBdIDsgdGhlbgorCWtpbGwgJExPQ0tUT1VDSFBJRAorCWxvY2tmaWxlLXJlbW92ZSAkTE9DS0ZJTEUKK2ZpCisKKykgJgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwZGF0ZS5kZWZhdWx0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvbnRwZGF0ZS5kZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4NmI2ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkYXRlLmRlZmF1bHQKQEAgLTAsMCArMSw3IEBACisjIENvbmZpZ3VyYXRpb24gc2NyaXB0IHVzZWQgYnkgbnRwZGF0ZS1zeW5jIHNjcmlwdAorCitOVFBTRVJWRVJTPSIiCisKKyMgU2V0IHRvICJ5ZXMiIHRvIHdyaXRlIHRpbWUgdG8gaGFyZHdhcmUgY2xvY2sgb24gc3VjY2VzcworVVBEQVRFX0hXQ0xPQ0s9Im5vIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkYXRlLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9udHBkYXRlLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBjYmQ3MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL250cGRhdGUuc2VydmljZQpAQCAtMCwwICsxLDExIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPU5ldHdvcmsgVGltZSBTZXJ2aWNlIChvbmUtc2hvdCBudHBkYXRlIG1vZGUpCitCZWZvcmU9bnRwZC5zZXJ2aWNlCisKK1tTZXJ2aWNlXQorVHlwZT1vbmVzaG90CitFeGVjU3RhcnQ9L3Vzci9iaW4vbnRwZGF0ZS1zeW5jIHNpbGVudAorUmVtYWluQWZ0ZXJFeGl0PXllcworCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cC9zbnRwIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvc250cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOGM1ODk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvc250cApAQCAtMCwwICsxIEBACitOVFBTRVJWRVI9Im50cHNlcnZlci5leGFtcGxlLm9yZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL3NudHAuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwL3NudHAuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODk4YjhhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L250cC9udHAvc250cC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTEgQEAKK1tVbml0XQorRGVzY3JpcHRpb249U2ltcGxlIE5ldHdvcmsgVGltZSBTZXJ2aWNlIENsaWVudAorQWZ0ZXI9bmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPW9uZXNob3QKK0Vudmlyb25tZW50RmlsZT0tL2V0Yy9kZWZhdWx0L3NudHAKK0V4ZWNTdGFydD0vdXNyL3NiaW4vc250cCAtcyAkTlRQU0VSVkVSCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9udHAvbnRwXzQuMi44cDcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cF80LjIuOHA3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmNGJhNjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnRwL250cF80LjIuOHA3LmJiCkBAIC0wLDAgKzEsMTYwIEBACitTVU1NQVJZID0gIk5ldHdvcmsgVGltZSBQcm90b2NvbCBkYWVtb24gYW5kIHV0aWxpdGllcyIKK0RFU0NSSVBUSU9OID0gIlRoZSBOZXR3b3JrIFRpbWUgUHJvdG9jb2wgKE5UUCkgaXMgdXNlZCB0byBcCitzeW5jaHJvbml6ZSB0aGUgdGltZSBvZiBhIGNvbXB1dGVyIGNsaWVudCBvciBzZXJ2ZXIgdG8gXAorYW5vdGhlciBzZXJ2ZXIgb3IgcmVmZXJlbmNlIHRpbWUgc291cmNlLCBzdWNoIGFzIGEgcmFkaW8gXAorb3Igc2F0ZWxsaXRlIHJlY2VpdmVyIG9yIG1vZGVtLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zdXBwb3J0Lm50cC5vcmciCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiTlRQIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT1mNDFmZWRiMjJkZmZlZmNiZmFmZWNjODViMGY3OWNmYSIKKworREVQRU5EUyA9ICJsaWJldmVudCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmVlY2lzLnVkZWwuZWR1L35udHAvbnRwX3Nwb29sL250cDQvbnRwLTQuMi9udHAtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL250cC00LjIuNF9wNi1uYW5vLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL250cGQgXAorICAgICAgICAgICBmaWxlOi8vbnRwLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vbnRwZGF0ZSBcCisgICAgICAgICAgIGZpbGU6Ly9udHBkYXRlLmRlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vbnRwZGF0ZS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL250cGQuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9zbnRwLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vc250cCBcCisgICAgICAgICAgIGZpbGU6Ly9udHBkLmxpc3QgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDZkZmJhOTMzYzNlNGJjOTI0ZDhlNTUwNjg3OTc1NzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODFkMjBjMDZhMGIwMWFiZTNiODRmYWMwOTIxODViZjAxNDI1MmQzOGZlNWU3YjI3NThmNjA0NjgwYTAyMjBkYyIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgdXNlcmFkZCBzeXN0ZW1kIHBrZ2NvbmZpZworCisjIFRoZSBhY19jdl9oZWFkZXJfcmVhZGxpbmVfaGlzdG9yeSBpcyB0byBzdG9wIG50cGRjIGRlcGVuZGluZyBvbiBlaXRoZXIKKyMgcmVhZGxpbmUgb3IgY3Vyc2VzCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1uZXQtc25tcC1jb25maWc9bm8gXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbnRwc25tcGQgXAorICAgICAgICAgICAgICAgICBhY19jdl9oZWFkZXJfcmVhZGxpbmVfaGlzdG9yeV9oPW5vIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLXlpZWxkaW5nX3NlbGVjdD15ZXMgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtbG9jZmlsZT1yZWRoYXQgXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcnBhdGggXAorICAgICAgICAgICAgICAgICAiCitDRkxBR1NfYXBwZW5kID0gIiAtRFBUWVNfQVJFX0dFVFBUIC1EUFRZU19BUkVfU0VBUkNIRUQiCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitOVFBfVVNFUl9IT01FID89ICIvdmFyL2xpYi9udHAiCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0taG9tZS1kaXIgJHtOVFBfVVNFUl9IT01FfSBcCisgICAgICAgICAgICAgICAgICAgICAgIC0tbm8tY3JlYXRlLWhvbWUgXAorICAgICAgICAgICAgICAgICAgICAgICAtLXNoZWxsIC9iaW4vZmFsc2UgLS11c2VyLWdyb3VwIG50cCIKKworIyBOQjogZGVidWcgaXMgZGVmYXVsdC1lbmFibGVkIGJ5IE5UUDsga2VlcCBpdCBkZWZhdWx0LWVuYWJsZWQgaGVyZS4KK1BBQ0tBR0VDT05GSUcgPz89ICJjYXAgZGVidWcgcmVmY2xvY2tzIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtb3BlbnNzbC1saWJkaXI9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAtLXdpdGgtb3BlbnNzbC1pbmNkaXI9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAtLXdpdGgtY3J5cHRvLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIC0td2l0aG91dC1vcGVuc3NsIC0td2l0aG91dC1jcnlwdG8sIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbY2FwXSA9ICItLWVuYWJsZS1saW51eGNhcHMsLS1kaXNhYmxlLWxpbnV4Y2FwcyxsaWJjYXAiCitQQUNLQUdFQ09ORklHW3JlYWRsaW5lXSA9ICItLXdpdGgtbGluZWVkaXRsaWJzLC0td2l0aG91dC1saW5lZWRpdGxpYnMscmVhZGxpbmUiCitQQUNLQUdFQ09ORklHW3JlZmNsb2Nrc10gPSAiLS1lbmFibGUtYWxsLWNsb2NrcywtLWRpc2FibGUtYWxsLWNsb2NrcyxwcHMtdG9vbHMiCitQQUNLQUdFQ09ORklHW2RlYnVnXSA9ICItLWVuYWJsZS1kZWJ1Z2dpbmcsLS1kaXNhYmxlLWRlYnVnZ2luZyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L250cC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9udHBkICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vbnRwZGF0ZSAke0R9JHtiaW5kaXJ9L250cGRhdGUtc3luYworCisgICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7TlRQX1VTRVJfSE9NRX0KKyAgICBjaG93biBudHA6bnRwICR7RH0ke05UUF9VU0VSX0hPTUV9CisKKyAgICAjIEZpeCBoYXJkY29kZWQgcGF0aHMgaW4gc2NyaXB0cworICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9udHBkICR7RH0ke2JpbmRpcn0vbnRwZGF0ZS1zeW5jCisgICAgc2VkIC1pICdzIS91c3IvYmluLyEke2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9udHBkICR7RH0ke2JpbmRpcn0vbnRwZGF0ZS1zeW5jCisgICAgc2VkIC1pICdzIS9ldGMvISR7c3lzY29uZmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9udHBkICR7RH0ke2JpbmRpcn0vbnRwZGF0ZS1zeW5jCisgICAgc2VkIC1pICdzIS92YXIvISR7bG9jYWxzdGF0ZWRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9udHBkICR7RH0ke2JpbmRpcn0vbnRwZGF0ZS1zeW5jCisgICAgc2VkIC1pICdzIV5QQVRIPS4qIVBBVEg9JHtiYXNlX3NiaW5kaXJ9OiR7YmFzZV9iaW5kaXJ9OiR7c2JpbmRpcn06JHtiaW5kaXJ9IScgJHtEfSR7YmluZGlyfS9udHBkYXRlLXN5bmMKKyAgICBzZWQgLWkgJzFzLCMhLipwZXJsIC13LCMhICR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke3NiaW5kaXJ9L250cHRyYWNlCisgICAgc2VkIC1pICcvdXNlL2kgdXNlIHdhcm5pbmdzOycgJHtEfSR7c2JpbmRpcn0vbnRwdHJhY2UKKyAgICBzZWQgLWkgJzFzLCMhLipwZXJsLCMhICR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke3NiaW5kaXJ9L250cC13YWl0CisgICAgc2VkIC1pICcvdXNlL2kgdXNlIHdhcm5pbmdzOycgJHtEfSR7c2JpbmRpcn0vbnRwLXdhaXQKKyAgICBzZWQgLWkgJzFzLCMhLipwZXJsIC13LCMhICR7YmluZGlyfS9lbnYgcGVybCwnICR7RH0ke3NiaW5kaXJ9L2NhbGNfdGlja2FkagorICAgIHNlZCAtaSAnL3VzZS9pIHVzZSB3YXJuaW5nczsnICR7RH0ke3NiaW5kaXJ9L2NhbGNfdGlja2FkagorCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vbnRwZGF0ZS5kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvbnRwZGF0ZQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NudHAgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC8KKworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtdXAuZAorICAgIGxuIC1zICR7YmluZGlyfS9udHBkYXRlLXN5bmMgJHtEfS8ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtdXAuZAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L250cGRhdGUuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9udHBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc250cC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L250cC11bml0cy5kCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbnRwZC5saXN0ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vbnRwLXVuaXRzLmQvNjAtbnRwZC5saXN0CisKKyAgICAjIFJlbW92ZSBhbiBlbXB0eSBsaWJleGVjZGlyLgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICR7RH0ke2xpYmV4ZWNkaXJ9Cit9CisKK1BBQ0tBR0VTICs9ICJudHBkYXRlIHNudHAgJHtQTn0tdGlja2FkaiAke1BOfS11dGlscyIKKyMgTk9URTogeW91IGRvbid0IG5lZWQgbnRwZGF0ZSwgdXNlICJudHBkIC1xIC1nIC14IgorCisjIG50cCBvcmlnaW5hbGx5IGluY2x1ZGVzIHRpY2thZGouIEl0J3Mgc3BsaXQgb2ZmIGZvciBpbmNsdXNpb24gaW4gc21hbGwgZmlybXdhcmUgaW1hZ2VzIG9uIHBsYXRmb3JtcworIyB3aXRoIHdvbmt5IGNsb2NrcyAoZS5nLiBPcGVuU2x1ZykKK1JERVBFTkRTXyR7UE59ID0gIiR7UE59LXRpY2thZGoiCisjIEhhbmRsZSBtb3ZlIGZyb20gYmluIHRvIHV0aWxzIHBhY2thZ2UKK1JQUk9WSURFU18ke1BOfS11dGlscyA9ICIke1BOfS1iaW4iCitSUkVQTEFDRVNfJHtQTn0tdXRpbHMgPSAiJHtQTn0tYmluIgorUkNPTkZMSUNUU18ke1BOfS11dGlscyA9ICIke1BOfS1iaW4iCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0gbnRwZGF0ZSBzbnRwIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm50cGQuc2VydmljZSIKK1NZU1RFTURfU0VSVklDRV9udHBkYXRlID0gIm50cGRhdGUuc2VydmljZSIKK1NZU1RFTURfU0VSVklDRV9zbnRwID0gInNudHAuc2VydmljZSIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKKworUlBST1ZJREVTX250cGRhdGUgKz0gIm50cGRhdGUtc3lzdGVtZCIKK1JSRVBMQUNFU19udHBkYXRlICs9ICJudHBkYXRlLXN5c3RlbWQiCitSQ09ORkxJQ1RTX250cGRhdGUgKz0gIm50cGRhdGUtc3lzdGVtZCIKKworUlNVR0dFU1RTXyR7UE59ID0gImlhbmEtZXRjIgorCitGSUxFU18ke1BOfSA9ICIke3NiaW5kaXJ9L250cGQgJHtzeXNjb25mZGlyfS9udHAuY29uZiAke3N5c2NvbmZkaXJ9L2luaXQuZC9udHBkICR7bGliZGlyfSBcCisgICAgJHtOVFBfVVNFUl9IT01FfSBcCisgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L250cC11bml0cy5kLzYwLW50cGQubGlzdCAke2xpYmV4ZWNkaXJ9XAorIgorRklMRVNfJHtQTn0tdGlja2FkaiA9ICIke3NiaW5kaXJ9L3RpY2thZGoiCitGSUxFU18ke1BOfS11dGlscyA9ICIke3NiaW5kaXJ9ICR7ZGF0YWRpcn0vbnRwL2xpYiIKK1JERVBFTkRTXyR7UE59LXV0aWxzICs9ICJwZXJsIgorRklMRVNfbnRwZGF0ZSA9ICIke3NiaW5kaXJ9L250cGRhdGUgXAorICAgICR7c3lzY29uZmRpcn0vbmV0d29yay9pZi11cC5kL250cGRhdGUtc3luYyBcCisgICAgJHtiaW5kaXJ9L250cGRhdGUtc3luYyBcCisgICAgJHtzeXNjb25mZGlyfS9kZWZhdWx0L250cGRhdGUgXAorICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbnRwZGF0ZS5zZXJ2aWNlIFwKKyIKK0ZJTEVTX3NudHAgPSAiJHtzYmluZGlyfS9zbnRwIFwKKyAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9kZWZhdWx0L3NudHAgXAorICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3NudHAuc2VydmljZSBcCisgICAgICAgICAgICAgIgorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9udHAuY29uZiIKK0NPTkZGSUxFU19udHBkYXRlID0gIiR7c3lzY29uZmRpcn0vZGVmYXVsdC9udHBkYXRlIgorCitJTklUU0NSSVBUX05BTUUgPSAibnRwZCIKKyMgTm8gZGVwZW5kZW5jaWVzLCBzbyBqdXN0IGdvIGluIGF0IHRoZSBzdGFuZGFyZCBsZXZlbCAoMjApCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworcGtnX3Bvc3RpbnN0X250cGRhdGUoKSB7CisgICAgaWYgISBncmVwIC1xIC1zIG50cGRhdGUgJEQvdmFyL3Nwb29sL2Nyb24vcm9vdDsgdGhlbgorICAgICAgICBlY2hvICJhZGRpbmcgY3JvbnRhYiIKKyAgICAgICAgdGVzdCAtZCAkRC92YXIvc3Bvb2wvY3JvbiB8fCBta2RpciAtcCAkRC92YXIvc3Bvb2wvY3JvbgorICAgICAgICBlY2hvICIzMCAqICogKiAqICAgICR7YmluZGlyfS9udHBkYXRlLXN5bmMgc2lsZW50IiA+PiAkRC92YXIvc3Bvb2wvY3Jvbi9yb290CisgICAgZmkKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L251dHRjcC9udXR0Y3BfNy4yLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbnV0dGNwL251dHRjcF83LjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjc1MjM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L251dHRjcC9udXR0Y3BfNy4yLjEuYmIKQEAgLTAsMCArMSwyOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTMgS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworU1VNTUFSWSA9ICJuZXR3b3JrIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50IHRvb2wiCitERVNDUklQVElPTiA9ICJudXR0Y3AgaXMgYSBuZXR3b3JrIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50IHRvb2wgaW50ZW5kZWQgZm9yIHVzZSBieSBuZXR3b3JrIFwKK2FuZCBzeXN0ZW0gbWFuYWdlcnMuIEl0cyBtb3N0IGJhc2ljIHVzYWdlIGlzIHRvIGRldGVybWluZSB0aGUgcmF3IFRDUCAob3IgVURQKSBcCituZXR3b3JrIGxheWVyIHRocm91Z2hwdXQgYnkgdHJhbnNmZXJyaW5nIG1lbW9yeSBidWZmZXJzIGZyb20gYSBzb3VyY2Ugc3lzdGVtIFwKK2Fjcm9zcyBhbiBpbnRlcmNvbm5lY3RpbmcgbmV0d29yayB0byBhIGRlc3RpbmF0aW9uIHN5c3RlbSwgZWl0aGVyIHRyYW5zZmVycmluZyBcCitkYXRhIGZvciBhIHNwZWNpZmllZCB0aW1lIGludGVydmFsLCBvciBhbHRlcm5hdGl2ZWx5IHRyYW5zZmVycmluZyBhIHNwZWNpZmllZCBcCitudW1iZXIgb2YgYnl0ZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5udXR0Y3AubmV0L1dlbGNvbWUlMjBQYWdlLmh0bWwiCitMSUNFTlNFID0gIkdQTC0yLjAiCitTRUNUSU9OID0gIm5ldCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7QlB9LmM7YmVnaW5saW5lPTQ7ZW5kbGluZT0zMDttZDU9YWU3MDQ1YzNjMzYxNjA5MmUwN2Q4N2YwNGJhMGQ5NjAiCisKK1NSQ19VUkkgPSAiaHR0cDovL251dHRjcC5uZXQvJHtCUE59L2JldGEvJHtCUH0uYyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxZWJmNGEwOGJhZDJhMjk1YTgxNTVmMDI5OTVlODc1NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNmUzMzgxMGNjY2U2NzI2MGY4ZDVkNjI3ZjYwZTQyOWQ0NGY1MzIzNjVjNThlZDU2NzNkMDM1ZTJhNTljNGRiIgorCitTID0gIiR7V09SS0RJUn0iCisKK2RvX2NvbXBpbGUgKCkgeworCSR7Q0N9ICR7Q0ZMQUdTfSAtbyBudXR0Y3AgbnV0dGNwLSR7UFZ9LmMKK30KKworZG9faW5zdGFsbCAoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisJaW5zdGFsbCAtbSAwNzU1IG51dHRjcCAke0R9JHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvb3BlbnZwbi9vcGVudnBuL29wZW52cG4gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvb3BlbnZwbi9vcGVudnBuL29wZW52cG4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTNjZDZhMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9vcGVudnBuL29wZW52cG4vb3BlbnZwbgpAQCAtMCwwICsxLDEwNCBAQAorIyEvYmluL3NoIC1lCisjCisjIE9yaWdpbmFsIHZlcnNpb24gYnkgUm9iZXJ0IExlc2xpZQorIyA8cm9iQG1hcnMub3JnPiwgZWRpdGVkIGJ5IGl3aiBhbmQgY3MKKyMgTW9kaWZpZWQgZm9yIG9wZW52cG4gYnkgQWxiZXJ0byBHb256YWxleiBJbmllc3RhIDxhZ2lAYWdpLmFzPgorIyBNb2RpZmllZCBmb3IgcmVzdGFydGluZyAvIHN0YXJ0aW5nIC8gc3RvcHBpbmcgc2luZ2xlIHR1bm5lbHMgYnkgUmljaGFyZCBNdWVsbGVyIDxtdWVsbGVyQHRlYW1peC5uZXQ+CisKK3Rlc3QgJERFQklBTl9TQ1JJUFRfREVCVUcgJiYgc2V0IC12IC14CisKK0RBRU1PTj0vdXNyL3NiaW4vb3BlbnZwbgorQ09ORklHX0RJUj0vZXRjL29wZW52cG4KK3Rlc3QgLXggJERBRU1PTiB8fCBleGl0IDAKK3Rlc3QgLWQgJENPTkZJR19ESVIgfHwgZXhpdCAwCisKK3N0YXJ0X3ZwbiAoKSB7CisgICAgbW9kcHJvYmUgdHVuID4vZGV2L251bGwgMj4mMSB8fCB0cnVlCisgICAgJERBRU1PTiAtLWRhZW1vbiAtLXdyaXRlcGlkIC92YXIvcnVuL29wZW52cG4uJE5BTUUucGlkIFwKKyAgICAgICAgICAgIC0tY29uZmlnICRDT05GSUdfRElSLyROQU1FLmNvbmYgLS1jZCAkQ09ORklHX0RJUiB8fCBlY2hvIC1uICIgRkFJTEVELT4iCisgICAgZWNobyAtbiAiICROQU1FIgorfQorc3RvcF92cG4gKCkgeworICAga2lsbCBgY2F0ICRQSURGSUxFYCB8fCB0cnVlCisgIHJtICRQSURGSUxFCit9CisKK2Nhc2UgIiQxIiBpbgorc3RhcnQpCisgIGVjaG8gLW4gIlN0YXJ0aW5nIG9wZW52cG46IgorCisgIGlmIHRlc3QgLXogJDIgOyB0aGVuCisgICAgZm9yIENPTkZJRyBpbiBgY2QgJENPTkZJR19ESVI7IGxzICouY29uZiAyPiAvZGV2L251bGxgOyBkbworICAgICAgTkFNRT0ke0NPTkZJRyUlLmNvbmZ9CisgICAgICBzdGFydF92cG4KKyAgICBkb25lCisgIGVsc2UKKyAgICBpZiB0ZXN0IC1lICRDT05GSUdfRElSLyQyLmNvbmYgOyB0aGVuCisgICAgICBOQU1FPSQyCisgICAgICBzdGFydF92cG4KKyAgICBlbHNlCisgICAgICBlY2hvIC1uICIgTm8gc3VjaCBWUE46ICQyIgorICAgIGZpCisgIGZpCisgIGVjaG8gIi4iCisKKyAgOzsKK3N0b3ApCisgIGVjaG8gLW4gIlN0b3BwaW5nIG9wZW52cG46IgorCisgIGlmIHRlc3QgLXogJDIgOyB0aGVuCisgICAgZm9yIFBJREZJTEUgaW4gYGxzIC92YXIvcnVuL29wZW52cG4uKi5waWQgMj4gL2Rldi9udWxsYDsgZG8KKyAgICAgIE5BTUU9YGVjaG8gJFBJREZJTEUgfCBjdXQgLWMxOC1gCisgICAgICBOQU1FPSR7TkFNRSUlLnBpZH0KKyAgICAgIHN0b3BfdnBuCisgICAgICBlY2hvIC1uICIgJE5BTUUiCisgICAgZG9uZQorICBlbHNlCisgICAgaWYgdGVzdCAtZSAvdmFyL3J1bi9vcGVudnBuLiQyLnBpZCA7IHRoZW4KKyAgICAgIFBJREZJTEU9YGxzIC92YXIvcnVuL29wZW52cG4uJDIucGlkIDI+IC9kZXYvbnVsbGAKKyAgICAgIE5BTUU9YGVjaG8gJFBJREZJTEUgfCBjdXQgLWMxOC1gCisgICAgICBOQU1FPSR7TkFNRSUlLnBpZH0KKyAgICAgIHN0b3BfdnBuCisgICAgICBlY2hvIC1uICIgJE5BTUUiCisgICAgZWxzZQorICAgICAgZWNobyAtbiAiIE5vIHN1Y2ggVlBOOiAkMiIKKyAgICBmaQorICBmaQorICBlY2hvICIuIgorICA7OworIyBXZSBvbmx5ICdyZWxvYWQnIGZvciBydW5uaW5nIFZQTnMuIE5ldyBvbmVzIHdpbGwgb25seSBzdGFydCB3aXRoICdzdGFydCcgb3IgJ3Jlc3RhcnQnLgorcmVsb2FkfGZvcmNlLXJlbG9hZCkKKyAgZWNobyAtbiAiUmVsb2FkaW5nIG9wZW52cG46IgorICBmb3IgUElERklMRSBpbiBgbHMgL3Zhci9ydW4vb3BlbnZwbi4qLnBpZCAyPiAvZGV2L251bGxgOyBkbworICAgIE5BTUU9YGVjaG8gJFBJREZJTEUgfCBjdXQgLWMxOC1gCisgICAgTkFNRT0ke05BTUUlJS5waWR9CisjIElmIG9wZW52cG4gaWYgcnVubmluZyB1bmRlciBhIGRpZmZlcmVudCB1c2VyIHRoYW4gcm9vdCB3ZSdsbCBuZWVkIHRvIHJlc3RhcnQKKyAgICBpZiBlZ3JlcCAnXiggfFx0KSp1c2VyJyAkQ09ORklHX0RJUi8kTkFNRS5jb25mID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuCisgICAgICBzdG9wX3ZwbgorICAgICAgc2xlZXAgMQorICAgICAgc3RhcnRfdnBuCisgICAgICBlY2hvIC1uICIocmVzdGFydGVkKSIKKyAgICBlbHNlCisgICAgICBraWxsIC1IVVAgYGNhdCAkUElERklMRWAgfHwgdHJ1ZQorIyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1zaWduYWwgSFVQIC0tcXVpZXQgLS1va25vZG8gXAorIyAgICAgIC0tZXhlYyAkREFFTU9OIC0tcGlkZmlsZSAkUElERklMRQorICAgIGVjaG8gLW4gIiAkTkFNRSIKKyAgICBmaQorICBkb25lCisgIGVjaG8gIi4iCisgIDs7CisKK3Jlc3RhcnQpCisgICQwIHN0b3AgJDIKKyAgc2xlZXAgMQorICAkMCBzdGFydCAkMgorICA7OworKikKKyAgZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHJlbG9hZHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iID4mMgorICBleGl0IDEKKyAgOzsKK2VzYWMKKworZXhpdCAwCisKKyMgdmltOnNldCBhaSBldCBzdHM9MiBzdz0yIHR3PTA6CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvb3BlbnZwbi9vcGVudnBuL29wZW52cG4tdm9sYXRpbGUuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9vcGVudnBuL29wZW52cG4vb3BlbnZwbi12b2xhdGlsZS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhM2RjNGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvb3BlbnZwbi9vcGVudnBuL29wZW52cG4tdm9sYXRpbGUuY29uZgpAQCAtMCwwICsxIEBACitkIC92YXIvcnVuL29wZW52cG4gMDc1NSByb290IHJvb3QgLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW52cG4vb3BlbnZwbi9vcGVudnBuQC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW52cG4vb3BlbnZwbi9vcGVudnBuQC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1OGRjYjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvb3BlbnZwbi9vcGVudnBuL29wZW52cG5ALnNlcnZpY2UKQEAgLTAsMCArMSwxMiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1PcGVuVlBOIFJvYnVzdCBBbmQgSGlnaGx5IEZsZXhpYmxlIFR1bm5lbGluZyBBcHBsaWNhdGlvbiBPbiAlSQorQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1ByaXZhdGVUbXA9dHJ1ZQorVHlwZT1mb3JraW5nCitQSURGaWxlPS92YXIvcnVuL29wZW52cG4vJWkucGlkCitFeGVjU3RhcnQ9L3Vzci9zYmluL29wZW52cG4gLS1kYWVtb24gLS13cml0ZXBpZCAvdmFyL3J1bi9vcGVudnBuLyVpLnBpZCAtLWNkIC9ldGMvb3BlbnZwbi8gLS1jb25maWcgJWkuY29uZgorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvb3BlbnZwbi9vcGVudnBuXzIuMy44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW52cG4vb3BlbnZwbl8yLjMuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDEwOTA2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW52cG4vb3BlbnZwbl8yLjMuOC5iYgpAQCAtMCwwICsxLDY3IEBACitTVU1NQVJZID0gIkEgZnVsbC1mZWF0dXJlZCBTU0wgVlBOIHNvbHV0aW9uIHZpYSB0dW4gZGV2aWNlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9vcGVudnBuLnNvdXJjZWZvcmdlLm5ldCIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVhYWMyMDAxOTlmZGU0NzUwMTg3NmNiYTcyNjNjYjBjIgorREVQRU5EUyA9ICJsem8gb3BlbnNzbCBpcHJvdXRlMiAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHN5c3RlbWQKKworU1JDX1VSSSA9ICJodHRwOi8vc3d1cGRhdGUub3BlbnZwbi5vcmcvY29tbXVuaXR5L3JlbGVhc2VzL29wZW52cG4tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL29wZW52cG4gXAorICAgICAgICAgICBmaWxlOi8vb3BlbnZwbkAuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9vcGVudnBuLXZvbGF0aWxlLmNvbmYiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MWQ5OTZmMWYxZmMzMGY1MDFhZTI1MWEyNTRlZmZlYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1MzI0MzVlZmY2MWMxNGI0NGE1ODNmMjdiNzJmOTNlNzg2NGU5NmM5NWZlNTExMzRlYzBhZDRiMWIxMTA3YzUxIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gKz0gIm9wZW52cG5AbG9vcGJhY2stc2VydmVyLnNlcnZpY2Ugb3BlbnZwbkBsb29wYmFjay1jbGllbnQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworQ0ZMQUdTICs9ICItZm5vLWlubGluZSIKKworIyBJIHdhbnQgb3BlbnZwbiB0byBiZSBhYmxlIHRvIHJlYWQgcGFzc3dvcmQgZnJvbSBmaWxlIChocncpCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLXBhc3N3b3JkLXNhdmUgLS1lbmFibGUtaXByb3V0ZTIiCitFWFRSQV9PRUNPTkYgKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJywgJy0tZGlzYWJsZS1wbHVnaW4tYXV0aC1wYW0nLCBkKX0iCisKKyMgRXhwbGljaXRseSBzcGVjaWZ5IElQUk9VVEUgdG8gYnlwYXNzIHRoZSBjb25maWd1cmUtdGltZSBjaGVjayBmb3IgL3NiaW4vaXAgb24gdGhlIGhvc3QuCitFWFRSQV9PRUNPTkYgKz0gIklQUk9VVEU9L3NiaW4vaXAiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vb3BlbnZwbiAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9vcGVudnBuCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vb3BlbnZwbi9zYW1wbGUKKyAgICBpbnN0YWxsIC1tIDc1NSAke1N9L3NhbXBsZS9zYW1wbGUtY29uZmlnLWZpbGVzL2xvb3BiYWNrLXNlcnZlciAgJHtEfSR7c3lzY29uZmRpcn0vb3BlbnZwbi9zYW1wbGUvbG9vcGJhY2stc2VydmVyLmNvbmYKKyAgICBpbnN0YWxsIC1tIDc1NSAke1N9L3NhbXBsZS9zYW1wbGUtY29uZmlnLWZpbGVzL2xvb3BiYWNrLWNsaWVudCAgJHtEfSR7c3lzY29uZmRpcn0vb3BlbnZwbi9zYW1wbGUvbG9vcGJhY2stY2xpZW50LmNvbmYKKyAgICBpbnN0YWxsIC1kbSA3NTUgJHtEfSR7c3lzY29uZmRpcn0vb3BlbnZwbi9zYW1wbGUvc2FtcGxlLWtleXMKKyAgICBpbnN0YWxsIC1tIDY0NCAke1N9L3NhbXBsZS9zYW1wbGUta2V5cy8qICR7RH0ke3N5c2NvbmZkaXJ9L29wZW52cG4vc2FtcGxlL3NhbXBsZS1rZXlzCisKKyAgICBpZiAke0BiYXNlX2NvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9vcGVudnBuQC5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L29wZW52cG5ALnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL29wZW52cG5AbG9vcGJhY2stc2VydmVyLnNlcnZpY2UKKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9vcGVudnBuQC5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9vcGVudnBuQGxvb3BiYWNrLWNsaWVudC5zZXJ2aWNlCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7bG9jYWxzdGF0ZWRpcn0KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vbGliCisgICAgICAgIGluc3RhbGwgLWQgLW0gNzEwICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9saWIvb3BlbnZwbgorICAgICAgICBpbnN0YWxsIC1kIC1tIDc1NSAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vcnVuLworICAgICAgICBpbnN0YWxsIC1kIC1tIDc1NSAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vcnVuL29wZW52cG4KKworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vb3BlbnZwbi12b2xhdGlsZS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvb3BlbnZwbi5jb25mCisgICAgZmkKK30KKworUEFDS0FHRVMgPSsgIiAke1BOfS1zYW1wbGUgIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLXR1biIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vb3BlbnZwbi9wbHVnaW5zLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL29wZW52cG5ALnNlcnZpY2UgXAorICAgICAgICAgICAgICAgIC9ydW4iCitGSUxFU18ke1BOfS1zYW1wbGUgKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vb3BlbnZwbkBsb29wYmFjay1zZXJ2ZXIuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vb3BlbnZwbkBsb29wYmFjay1jbGllbnQuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vb3BlbnZwbi9zYW1wbGUvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3BpbWQvcGltZF8yLjEuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9waW1kL3BpbWRfMi4xLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQ2OTA0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9waW1kL3BpbWRfMi4xLjguYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJwaW1kIGlzIGEgbGlnaHR3ZWlnaHQgc3RhbmQtYWxvbmUgUElNLVNNIHYyIG11bHRpY2FzdCByb3V0aW5nIGRhZW1vbi4iCitIT01FUEFHRSA9ICJodHRwOi8vdHJvZ2xvYml0LmNvbS9waW1kLmh0bWwiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OTRmMTA4ZjkxZmFiNzIwZDYyNDI1NzcwYjcwZGQ3OTAiCisKK1NSQ19VUkkgPSAiZnRwOi8vdHJvZ2xvYml0LmNvbS9waW1kLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiYTEyNDQ4YmM3YzliZmNlYmY1MWExM2ViZjFmZmE5NjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDEwMTY5NDA1NDNhMGE2MTMxZDRlNmM5MWI1OTVkNDdlMTg3MDEyYzU5YTI5OGVlYzE0YzNkYmMzODU2NGIzYSIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCitDRkxBR1MgKz0gIi1JICR7U30vaW5jbHVkZSAiCisKK2RvX2luc3RhbGwoKSB7CisJdW5zZXQgZGF0YWRpcgorCXVuc2V0IG1hbmRpcgorCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc21jcm91dGUvc21jcm91dGVfMi4wLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc21jcm91dGUvc21jcm91dGVfMi4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWI2ZmMyZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zbWNyb3V0ZS9zbWNyb3V0ZV8yLjAuMC5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIlN0YXRpYyBNdWx0aWNhc3QgUm91dGluZyBEYWVtb24iCitERVNDUklQVElPTiA9ICJTTUNSb3V0ZSBpcyBhIGRhZW1vbiBhbmQgY29tbWFuZCBsaW5lIHRvb2wgdG8gbWFuaXB1bGF0ZSB0aGUgbXVsdGljYXN0IHJvdXRpbmcgdGFibGUgaW4gdGhlIFVOSVgga2VybmVsLiIKK0hPTUVQQUdFID0gImh0dHA6Ly90cm9nbG9iaXQuZ2l0aHViLmlvL3NtY3JvdXRlLmh0bWwiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCisKK1NSQ1JFViA9ICJkNjI4MGU2NGIyN2Q1YTRiZDdmMzdkYWMzNmI0NTVmNGFlNWY5YWIzIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3Ryb2dsb2JpdC9zbWNyb3V0ZS5naXQ7YnJhbmNoPW1hc3Rlcjtwcm90b2NvbD1naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3NtcGluZy9maWxlcy8wMDAxLU1ha2VmaWxlLXR3ZWFrLWluc3RhbGwtZGlyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3NzbXBpbmcvZmlsZXMvMDAwMS1NYWtlZmlsZS10d2Vhay1pbnN0YWxsLWRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wY2I5ODFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3NzbXBpbmcvZmlsZXMvMDAwMS1NYWtlZmlsZS10d2Vhay1pbnN0YWxsLWRpci5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDY5M2NmY2U1NDMxZTE5MWEzOTU1ZmQ1NmZhODIyOTI3ZDkyYzllNDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDcgTm92IDIwMTQgMTQ6Mjc6MDAgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGU6IHR3ZWFrIGluc3RhbGwgZGlyCisKK0ZvciBvZS1jb3JlLCB0aGUgbWFuIGRvYyBzaG91bGQgYmUgaW5zdGFsbGVkIHRvIC91c3Ivc2hhcmUvbWFuCityYXRoZXIgdGhhbiAvdXNyL2xvY2FsZS9tYW4uCisKK1Vwc3RyZWFtLVN0YXR1czogaW5hcHByb3ByaWF0ZSAob2Ugc3BlY2lmaWMpCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgNiArKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggYjVkMTJmOC4uOWIyNjYzYyAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTE0LDkgKzE0LDkgQEAgaW5zdGFsbDogc3NtcGluZyBhc21waW5nIHNzbXBpbmdkIG1jZmlyc3QKKyAJaW5zdGFsbCAtRCBhc21waW5nICQoREVTVERJUikkKFBSRUZJWCkvYmluL2FzbXBpbmcKKyAJaW5zdGFsbCAtRCBzc21waW5nZCAkKERFU1RESVIpJChQUkVGSVgpL2Jpbi9zc21waW5nZAorIAlpbnN0YWxsIC1EIG1jZmlyc3QgJChERVNURElSKSQoUFJFRklYKS9iaW4vbWNmaXJzdAorLQlpbnN0YWxsIC1EIHNzbXBpbmcuMSAkKERFU1RESVIpJChQUkVGSVgpL21hbi9tYW4xL3NzbXBpbmcuMQorLQlpbnN0YWxsIC1EIGFzbXBpbmcuMSAkKERFU1RESVIpJChQUkVGSVgpL21hbi9tYW4xL2FzbXBpbmcuMQorLQlpbnN0YWxsIC1EIG1jZmlyc3QuMSAkKERFU1RESVIpJChQUkVGSVgpL21hbi9tYW4xL21jZmlyc3QuMQorKwlpbnN0YWxsIC1EIHNzbXBpbmcuMSAkKERFU1RESVIpJChQUkVGSVgpL3NoYXJlL21hbi9tYW4xL3NzbXBpbmcuMQorKwlpbnN0YWxsIC1EIGFzbXBpbmcuMSAkKERFU1RESVIpJChQUkVGSVgpL3NoYXJlL21hbi9tYW4xL2FzbXBpbmcuMQorKwlpbnN0YWxsIC1EIG1jZmlyc3QuMSAkKERFU1RESVIpJChQUkVGSVgpL3NoYXJlL21hbi9tYW4xL21jZmlyc3QuMQorIAorIGNsZWFuOgorIAlybSAtZiAkKE9CSikgam9pbmNoLm8gam9pbmdycC5vIHNzbXBpbmcgYXNtcGluZyBzc21waW5nZCBtY2ZpcnN0CistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zc21waW5nL3NzbXBpbmdfMC45LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3NtcGluZy9zc21waW5nXzAuOS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyY2FlYzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3NtcGluZy9zc21waW5nXzAuOS4xLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAic3NtcGluZyBpcyBhIHRvb2wgZm9yIGNoZWNraW5nIHdoZXRoZXIgb25lIGNhbiByZWNlaXZlIFNTTSBmcm9tIGEgZ2l2ZW4gaG9zdCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudmVuYWFzLm5vL211bHRpY2FzdC9zc21waW5nLyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9hc21waW5nLmM7YmVnaW5saW5lPTI7ZW5kbGluZT0xMTttZDU9MWNhOGQxYTFjYTkzMWU1Y2ZlNjA0ZWJmMjBhNzhiNzEiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy52ZW5hYXMubm8vbXVsdGljYXN0L3NzbXBpbmcvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUtdHdlYWstaW5zdGFsbC1kaXIucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImFkOGUzZDEzZjZkNzI5MThmNzNiZTdlNzk3NWQ3ZmFkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIyMTAzYTM3ZWFhMjg0ODkxNjlhMDkyN2JjMDFlMDU5NmMzNDg1ZmM0ZDI5ZmM4NDU2YzA3ZmQyYzcwZmNhNmQiCisKK0NGTEFHUyArPSAiLURfR05VX1NPVVJDRSAiCisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyAnUFJFRklYPSR7cHJlZml4fScgaW5zdGFsbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vZmlsZXMvZml4LWZ1bnRpb24tcGFyYW1ldGVyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vZmlsZXMvZml4LWZ1bnRpb24tcGFyYW1ldGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhOTY5ODMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9maWxlcy9maXgtZnVudGlvbi1wYXJhbWV0ZXIucGF0Y2gKQEAgLTAsMCArMSw5OCBAQAorZml4IHRoZSBmdW5jdGlvbiBwYXJhbWV0ZXIKKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK09yaWdpbmFsIG9wZW5zc2xfZGlmZmllX2hlbGxtYW5fY3JlYXRlIGhhcyB0aHJlZSBwYXJhbWV0ZXJzLCBidXQKK2l0IGlzIHJlYXNzaWduZWQgYSBmdW5jdGlvbiBwb2ludGVyIHdoaWNoIGhhcyBvbmUgcGFyYW1ldGVyLCBhbmQKK2lzIGNhbGxlZCB3aXRoIG9uZSBwYXJhbWV0ZXIsIHdoaWNoIHdpbGwgbGVhZCB0byBzZWdtZW50IGZhdWx0CitvbiBQUEMsIE5vdyB3ZSBzaW1wbHkgY29ycmVjdCB0aGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMuCisKKyAgICAjMCAgMHg0ODRkNGFhMCBpbiBfX0dJX3JhaXNlIChzaWc9NikKKyAgICAgICAgIGF0IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmFpc2UuYzo2NAorICAgICMxICAweDQ4NGQ5OTMwIGluIF9fR0lfYWJvcnQgKCkgYXQgYWJvcnQuYzo5MQorICAgICMyICAweDEwMDAyMDY0IGluIHNlZ3ZfaGFuZGxlciAoc2lnbmFsPTExKSBhdCBjaGFyb24uYzoyMjQKKyAgICAjMyAgPHNpZ25hbCBoYW5kbGVyIGNhbGxlZD4KKyAgICAjNCAgMHg0OGQ4OTYzMCBpbiBvcGVuc3NsX2RpZmZpZV9oZWxsbWFuX2NyZWF0ZSAoZ3JvdXA9TU9EUF8xMDI0X0JJVCwgZz0uLi4sCisgICAgICAgICBwPTxlcnJvciByZWFkaW5nIHZhcmlhYmxlOiBDYW5ub3QgYWNjZXNzIG1lbW9yeSBhdCBhZGRyZXNzIDB4MD4pCisgICAgICAgICBhdCBvcGVuc3NsX2RpZmZpZV9oZWxsbWFuLmM6MTQzCisgICAgIzUgIDB4NDgyYzU0ZjggaW4gY3JlYXRlX2RoICh0aGlzPTB4MTFhYzZlNjgsIGdyb3VwPU1PRFBfMTAyNF9CSVQpCisgICAgICAgICBhdCBjcnlwdG8vY3J5cHRvX2ZhY3RvcnkuYzozNTgKKyAgICAjNiAgMHg0ODM3NTg4NCBpbiBjcmVhdGVfZGggKHRoaXM9PG9wdGltaXplZCBvdXQ+LCBncm91cD08b3B0aW1pemVkIG91dD4pCisgICAgICAgICBhdCBzYS9rZXltYXQuYzoxMzIKKyAgICAjNyAgMHg0ODM4NDNiOCBpbiBwcm9jZXNzX3BheWxvYWRzICh0aGlzPTB4NTE0MDBhNzgsIG1lc3NhZ2U9PG9wdGltaXplZAorICAgIG91dD4pCisgICAgICAgICBhdCBzYS90YXNrcy9pa2VfaW5pdC5jOjIwMAorICAgICM4ICAweDQ4Mzg0NGQwIGluIHByb2Nlc3NfciAodGhpcz0weDUxNDAwYTc4LCBtZXNzYWdlPTB4NTE1MDA3NzgpCisgICAgICAgICBhdCBzYS90YXNrcy9pa2VfaW5pdC5jOjMxOQorICAgICM5ICAweDQ4Mzc0YzljIGluIHByb2Nlc3NfcmVxdWVzdCAobWVzc2FnZT0weDUxNTAwNzc4LCB0aGlzPTB4NTE0MDBkMjApCisgICAgICAgICBhdCBzYS90YXNrX21hbmFnZXIuYzo4NzAKKyAgICAjMTAgcHJvY2Vzc19tZXNzYWdlICh0aGlzPTB4NTE0MDBkMjAsIG1zZz0weDUxNTAwNzc4KSBhdAorICAgIHNhL3Rhc2tfbWFuYWdlci5jOjkyNQorICAgICMxMSAweDQ4MzZjMzc4IGluIHByb2Nlc3NfbWVzc2FnZSAodGhpcz0weDUxNDAwNWYwLCBtZXNzYWdlPTB4NTE1MDA3NzgpCisgICAgICAgICBhdCBzYS9pa2Vfc2EuYzoxMzE3CisgICAgIzEyIDB4NDgzNjIyNzAgaW4gZXhlY3V0ZSAodGhpcz0weDUxNTAwOGQwKQorICAgICAgICAgYXQgcHJvY2Vzc2luZy9qb2JzL3Byb2Nlc3NfbWVzc2FnZV9qb2IuYzo3NCAKKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2xpYnN0cm9uZ3N3YW4vcGx1Z2lucy9vcGVuc3NsL29wZW5zc2xfZGlmZmllX2hlbGxtYW4uYyB8IDggKysrKysrKy0KKyBzcmMvbGlic3Ryb25nc3dhbi9wbHVnaW5zL29wZW5zc2wvb3BlbnNzbF9kaWZmaWVfaGVsbG1hbi5oIHwgNCArKystCisgc3JjL2xpYnN0cm9uZ3N3YW4vcGx1Z2lucy9vcGVuc3NsL29wZW5zc2xfcGx1Z2luLmMgICAgICAgICB8IDEgKworIDMgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWJzdHJvbmdzd2FuL3BsdWdpbnMvb3BlbnNzbC9vcGVuc3NsX2RpZmZpZV9oZWxsbWFuLmMgYi9zcmMvbGlic3Ryb25nc3dhbi9wbHVnaW5zL29wZW5zc2wvb3BlbnNzbF9kaWZmaWVfaGVsbG1hbi5jCitpbmRleCBmZjMzODI0Li5iZDIxNDQ2IDEwMDY0NAorLS0tIGEvc3JjL2xpYnN0cm9uZ3N3YW4vcGx1Z2lucy9vcGVuc3NsL29wZW5zc2xfZGlmZmllX2hlbGxtYW4uYworKysrIGIvc3JjL2xpYnN0cm9uZ3N3YW4vcGx1Z2lucy9vcGVuc3NsL29wZW5zc2xfZGlmZmllX2hlbGxtYW4uYworQEAgLTE0Miw3ICsxNDIsNyBAQCBNRVRIT0QoZGlmZmllX2hlbGxtYW5fdCwgZGVzdHJveSwgdm9pZCwKKyAvKgorICAqIERlc2NyaWJlZCBpbiBoZWFkZXIuCisgICovCistb3BlbnNzbF9kaWZmaWVfaGVsbG1hbl90ICpvcGVuc3NsX2RpZmZpZV9oZWxsbWFuX2NyZWF0ZSgKKytvcGVuc3NsX2RpZmZpZV9oZWxsbWFuX3QgKm9wZW5zc2xfZGlmZmllX2hlbGxtYW5fY3JlYXRlX2N1c3RvbSgKKyAJCQkJCQkJZGlmZmllX2hlbGxtYW5fZ3JvdXBfdCBncm91cCwgY2h1bmtfdCBnLCBjaHVua190IHApCisgeworIAlwcml2YXRlX29wZW5zc2xfZGlmZmllX2hlbGxtYW5fdCAqdGhpczsKK0BAIC0xOTcsNSArMTk3LDExIEBAIG9wZW5zc2xfZGlmZmllX2hlbGxtYW5fdCAqb3BlbnNzbF9kaWZmaWVfaGVsbG1hbl9jcmVhdGUoCisgCisgCXJldHVybiAmdGhpcy0+cHVibGljOworIH0KKytvcGVuc3NsX2RpZmZpZV9oZWxsbWFuX3QgKm9wZW5zc2xfZGlmZmllX2hlbGxtYW5fY3JlYXRlKCBkaWZmaWVfaGVsbG1hbl9ncm91cF90IGdyb3VwKQorK3sKKysJY2h1bmtfdCBnOworKwljaHVua190IHA7CisrCW9wZW5zc2xfZGlmZmllX2hlbGxtYW5fY3JlYXRlX2N1c3RvbShncm91cCwgZywgcCk7CisrfQorIAorICNlbmRpZiAvKiBPUEVOU1NMX05PX0RIICovCitkaWZmIC0tZ2l0IGEvc3JjL2xpYnN0cm9uZ3N3YW4vcGx1Z2lucy9vcGVuc3NsL29wZW5zc2xfZGlmZmllX2hlbGxtYW4uaCBiL3NyYy9saWJzdHJvbmdzd2FuL3BsdWdpbnMvb3BlbnNzbC9vcGVuc3NsX2RpZmZpZV9oZWxsbWFuLmgKK2luZGV4IDUzZGM1OWMuLmViNjllYWEgMTAwNjQ0CistLS0gYS9zcmMvbGlic3Ryb25nc3dhbi9wbHVnaW5zL29wZW5zc2wvb3BlbnNzbF9kaWZmaWVfaGVsbG1hbi5oCisrKysgYi9zcmMvbGlic3Ryb25nc3dhbi9wbHVnaW5zL29wZW5zc2wvb3BlbnNzbF9kaWZmaWVfaGVsbG1hbi5oCitAQCAtNDQsOCArNDQsMTAgQEAgc3RydWN0IG9wZW5zc2xfZGlmZmllX2hlbGxtYW5fdCB7CisgICogQHBhcmFtIHAJCQkJY3VzdG9tIHByaW1lLCBpZiBNT0RQX0NVU1RPTQorICAqIEByZXR1cm4JCQkJb3BlbnNzbF9kaWZmaWVfaGVsbG1hbl90IG9iamVjdCwgTlVMTCBpZiBub3Qgc3VwcG9ydGVkCisgICovCistb3BlbnNzbF9kaWZmaWVfaGVsbG1hbl90ICpvcGVuc3NsX2RpZmZpZV9oZWxsbWFuX2NyZWF0ZSgKKytvcGVuc3NsX2RpZmZpZV9oZWxsbWFuX3QgKm9wZW5zc2xfZGlmZmllX2hlbGxtYW5fY3JlYXRlX2N1c3RvbSgKKyAJCQkJCQkJZGlmZmllX2hlbGxtYW5fZ3JvdXBfdCBncm91cCwgY2h1bmtfdCBnLCBjaHVua190IHApOworK29wZW5zc2xfZGlmZmllX2hlbGxtYW5fdCAqb3BlbnNzbF9kaWZmaWVfaGVsbG1hbl9jcmVhdGUoCisrCQkJCQkJCWRpZmZpZV9oZWxsbWFuX2dyb3VwX3QgZ3JvdXApOworIAorICNlbmRpZiAvKiogT1BFTlNTTF9ESUZGSUVfSEVMTE1BTl9IXyBAfSovCisgCitkaWZmIC0tZ2l0IGEvc3JjL2xpYnN0cm9uZ3N3YW4vcGx1Z2lucy9vcGVuc3NsL29wZW5zc2xfcGx1Z2luLmMgYi9zcmMvbGlic3Ryb25nc3dhbi9wbHVnaW5zL29wZW5zc2wvb3BlbnNzbF9wbHVnaW4uYworaW5kZXggZmYyNTA4Ni4uYzc2ODczZCAxMDA2NDQKKy0tLSBhL3NyYy9saWJzdHJvbmdzd2FuL3BsdWdpbnMvb3BlbnNzbC9vcGVuc3NsX3BsdWdpbi5jCisrKysgYi9zcmMvbGlic3Ryb25nc3dhbi9wbHVnaW5zL29wZW5zc2wvb3BlbnNzbF9wbHVnaW4uYworQEAgLTM4OCw2ICszODgsNyBAQCBNRVRIT0QocGx1Z2luX3QsIGdldF9mZWF0dXJlcywgaW50LAorIAkJCVBMVUdJTl9QUk9WSURFKERILCBNT0RQXzEwMjRfQklUKSwKKyAJCQlQTFVHSU5fUFJPVklERShESCwgTU9EUF8xMDI0XzE2MCksCisgCQkJUExVR0lOX1BST1ZJREUoREgsIE1PRFBfNzY4X0JJVCksCisrCQlQTFVHSU5fUkVHSVNURVIoREgsIG9wZW5zc2xfZGlmZmllX2hlbGxtYW5fY3JlYXRlX2N1c3RvbSksCisgCQkJUExVR0lOX1BST1ZJREUoREgsIE1PRFBfQ1VTVE9NKSwKKyAjZW5kaWYKKyAjaWZuZGVmIE9QRU5TU0xfTk9fUlNBCistLSAKKzEuOC4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zdHJvbmdzd2FuL2ZpbGVzL2luc3RhbGwtc3Ryb25nc3dhbi1zd2FuY3RsLXNlcnZpY2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9maWxlcy9pbnN0YWxsLXN0cm9uZ3N3YW4tc3dhbmN0bC1zZXJ2aWNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2YmFjY2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9maWxlcy9pbnN0YWxsLXN0cm9uZ3N3YW4tc3dhbmN0bC1zZXJ2aWNlLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK2NvbW1pdCA0NGNiYWJkOGE0MmJjMmE0MzY1NjJlZDMzZmI4Yzg5ZmE2Yjc1YjZlCitBdXRob3I6IENocmlzIFBhdHRlcnNvbiA8cGF0dGVyc29uY0BhaW5mb3NlYy5jb20+CitEYXRlOiAgIEZyaSBEZWMgMTggMDg6MzE6NDggMjAxNSAtMDUwMAorCisgICAgc3Ryb25nc3dhbi1zd2FuY3RsLnNlcnZpY2UuaW46IG1hdGNoIGluc3RhbGwgdXNlZCBieSBzdHJvbmdzd2FuLnNlcnZpY2UKKyAgICAKKyAgICBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBQYXR0ZXJzb24gPHBhdHRlcnNvbmNAYWluZm9zZWMuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAoraHR0cHM6Ly9naXRodWIuY29tL3N0cm9uZ3N3YW4vc3Ryb25nc3dhbi9wdWxsLzI1CisKK2RpZmYgLS1naXQgYS9pbml0L3N5c3RlbWQtc3dhbmN0bC9zdHJvbmdzd2FuLXN3YW5jdGwuc2VydmljZS5pbiBiL2luaXQvc3lzdGVtZC1zd2FuY3RsL3N0cm9uZ3N3YW4tc3dhbmN0bC5zZXJ2aWNlLmluCitpbmRleCA4MThkMzUyLi45NDQxMDFmIDEwMDY0NAorLS0tIGEvaW5pdC9zeXN0ZW1kLXN3YW5jdGwvc3Ryb25nc3dhbi1zd2FuY3RsLnNlcnZpY2UuaW4KKysrKyBiL2luaXQvc3lzdGVtZC1zd2FuY3RsL3N0cm9uZ3N3YW4tc3dhbmN0bC5zZXJ2aWNlLmluCitAQCAtNywzICs3LDYgQEAgVHlwZT1ub3RpZnkKKyBFeGVjU3RhcnQ9QFNCSU5ESVJAL2NoYXJvbi1zeXN0ZW1kCisgRXhlY1N0YXJ0UG9zdD1AU0JJTkRJUkAvc3dhbmN0bCAtLWxvYWQtYWxsIC0tbm9wcm9tcHQKKyBFeGVjUmVsb2FkPUBTQklORElSQC9zd2FuY3RsIC0tcmVsb2FkCisrCisrW0luc3RhbGxdCisrV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zdHJvbmdzd2FuL2ZpbGVzL3N1cHBvcnQtbmV3ZXItc3lzdGVtZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zdHJvbmdzd2FuL2ZpbGVzL3N1cHBvcnQtbmV3ZXItc3lzdGVtZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTBjZjY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vZmlsZXMvc3VwcG9ydC1uZXdlci1zeXN0ZW1kLnBhdGNoCkBAIC0wLDAgKzEsNjkgQEAKK2NvbW1pdCA4MjQ5ODEyOWUwYTkxZGZjM2VkMmM0ZWMzYjIyNTJmNDQ2NTViODNjCitBdXRob3I6IENocmlzIFBhdHRlcnNvbiA8cGF0dGVyc29uY0BhaW5mb3NlYy5jb20+CitEYXRlOiAgIEZyaSBEZWMgMTggMDg6Mjc6NTcgMjAxNSAtMDUwMAorCisgICAgY29uZmlndXJlOiBzdXBwb3J0IHN5c3RlbWQgPj0gMjA5CisgICAgCisgICAgbGlic3lzdGVtZC1qb3VybmFsIGFuZCBsaWJzeXN0ZW1kLWRhZW1vbiBhcmUgbm93IGp1c3QKKyAgICBwYXJ0IG9mIGxpYnN5c3RlbWQuCisgICAgCisgICAgS2VlcCBvcmlnaW5hbCBzeXN0ZW1kIGNoZWNrcyBhcyBhIGZhbGxiYWNrLgorICAgIAorICAgIFVwZGF0ZXMgY2hhcm9uLXN5c3RlbWQvTWFrZWZpbGUuYW0gYWNjb3JkaW5nbHkuCisgICAgCisgICAgVGVzdGVkIG9uOgorICAgIC0gZGViaWFuIHdoZWV6eSAoc3lzdGVtZCB2NDQpCisgICAgLSB1YnVudHUgMTUuMTAgKHN5c3RlbWQgdjI1NSkuCisgICAgCisgICAgU2lnbmVkLW9mZi1ieTogQ2hyaXMgUGF0dGVyc29uIDxwYXR0ZXJzb25jQGFpbmZvc2VjLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKK2h0dHBzOi8vZ2l0aHViLmNvbS9zdHJvbmdzd2FuL3N0cm9uZ3N3YW4vcHVsbC8yNAorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAzZDcxY2UwLi5mNmMwNDI2IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC05NDEsMTMgKzk0MSwxNyBAQCBpZiB0ZXN0IHgkc3lzdGVtZCA9IHh0cnVlOyB0aGVuCisgCQlBQ19NU0dfRVJST1IoW25vdCBmb3VuZCAodHJ5IC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcildKQorIAlmaQorIAorLQlQS0dfQ0hFQ0tfTU9EVUxFUyhzeXN0ZW1kX2RhZW1vbiwgW2xpYnN5c3RlbWQtZGFlbW9uXSkKKy0JQUNfU1VCU1Qoc3lzdGVtZF9kYWVtb25fQ0ZMQUdTKQorLQlBQ19TVUJTVChzeXN0ZW1kX2RhZW1vbl9MSUJTKQorLQorLQlQS0dfQ0hFQ0tfTU9EVUxFUyhzeXN0ZW1kX2pvdXJuYWwsIFtsaWJzeXN0ZW1kLWpvdXJuYWxdKQorLQlBQ19TVUJTVChzeXN0ZW1kX2pvdXJuYWxfQ0ZMQUdTKQorLQlBQ19TVUJTVChzeXN0ZW1kX2pvdXJuYWxfTElCUykKKysJUEtHX0NIRUNLX01PRFVMRVMoc3lzdGVtZCwgW2xpYnN5c3RlbWQgPj0gMjA5XSwKKysJCVtBQ19TVUJTVChzeXN0ZW1kX0NGTEFHUykKKysJCUFDX1NVQlNUKHN5c3RlbWRfTElCUyldLAorKwkJW1BLR19DSEVDS19NT0RVTEVTKHN5c3RlbWRfZGFlbW9uLCBbbGlic3lzdGVtZC1kYWVtb25dKQorKwkJQUNfU1VCU1Qoc3lzdGVtZF9kYWVtb25fQ0ZMQUdTKQorKwkJQUNfU1VCU1Qoc3lzdGVtZF9kYWVtb25fTElCUykKKysKKysJCVBLR19DSEVDS19NT0RVTEVTKHN5c3RlbWRfam91cm5hbCwgW2xpYnN5c3RlbWQtam91cm5hbF0pCisrCQlBQ19TVUJTVChzeXN0ZW1kX2pvdXJuYWxfQ0ZMQUdTKQorKwkJQUNfU1VCU1Qoc3lzdGVtZF9qb3VybmFsX0xJQlMpCisrCQldKQorIGZpCisgCisgaWYgdGVzdCB4JHRzcyA9IHh0cm91c2VyczsgdGhlbgorZGlmZiAtLWdpdCBhL3NyYy9jaGFyb24tc3lzdGVtZC9NYWtlZmlsZS5hbSBiL3NyYy9jaGFyb24tc3lzdGVtZC9NYWtlZmlsZS5hbQoraW5kZXggMWI5YWMxNS4uZWU4NWQ0MyAxMDA2NDQKKy0tLSBhL3NyYy9jaGFyb24tc3lzdGVtZC9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2NoYXJvbi1zeXN0ZW1kL01ha2VmaWxlLmFtCitAQCAtOSwxMSArOSwxMSBAQCBjaGFyb25fc3lzdGVtZF9DUFBGTEFHUyA9IFwKKyAJLUkkKHRvcF9zcmNkaXIpL3NyYy9saWJzdHJvbmdzd2FuIFwKKyAJLUkkKHRvcF9zcmNkaXIpL3NyYy9saWJoeWRyYSBcCisgCS1JJCh0b3Bfc3JjZGlyKS9zcmMvbGliY2hhcm9uIFwKKy0JJChzeXN0ZW1kX2RhZW1vbl9DRkxBR1MpICQoc3lzdGVtZF9qb3VybmFsX0NGTEFHUykgXAorKwkkKHN5c3RlbWRfQ0ZMQUdTKSAkKHN5c3RlbWRfZGFlbW9uX0NGTEFHUykgJChzeXN0ZW1kX2pvdXJuYWxfQ0ZMQUdTKSBcCisgCS1EUExVR0lOUz1cIiIke2NoYXJvbl9wbHVnaW5zfVwiIgorIAorIGNoYXJvbl9zeXN0ZW1kX0xEQUREID0gXAorIAkkKHRvcF9idWlsZGRpcikvc3JjL2xpYnN0cm9uZ3N3YW4vbGlic3Ryb25nc3dhbi5sYSBcCisgCSQodG9wX2J1aWxkZGlyKS9zcmMvbGliaHlkcmEvbGliaHlkcmEubGEgXAorIAkkKHRvcF9idWlsZGRpcikvc3JjL2xpYmNoYXJvbi9saWJjaGFyb24ubGEgXAorLQkkKHN5c3RlbWRfZGFlbW9uX0xJQlMpICQoc3lzdGVtZF9qb3VybmFsX0xJQlMpIC1sbSAkKFBUSFJFQURMSUIpICQoRExMSUIpCisrCSQoc3lzdGVtZF9MSUJTKSAkKHN5c3RlbWRfZGFlbW9uX0xJQlMpICQoc3lzdGVtZF9qb3VybmFsX0xJQlMpIC1sbSAkKFBUSFJFQURMSUIpICQoRExMSUIpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9zdHJvbmdzd2FuXzUuMy4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vc3Ryb25nc3dhbl81LjMuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWMxYThlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vc3Ryb25nc3dhbl81LjMuMi5iYgpAQCAtMCwwICsxLDU3IEBACitERVNDUklQVElPTiA9ICJzdHJvbmdTd2FuIGlzIGFuIE9wZW5Tb3VyY2UgSVBzZWMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBcCitMaW51eCBvcGVyYXRpbmcgc3lzdGVtLiIKK1NVTU1BUlkgPSAic3Ryb25nU3dhbiBpcyBhbiBPcGVuU291cmNlIElQc2VjIGltcGxlbWVudGF0aW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zdHJvbmdzd2FuLm9yZyIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorREVQRU5EUyA9ICJnbXAgb3BlbnNzbCBmbGV4LW5hdGl2ZSBmbGV4IGJpc29uLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuc3Ryb25nc3dhbi5vcmcvc3Ryb25nc3dhbi0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgZmlsZTovL2ZpeC1mdW50aW9uLXBhcmFtZXRlci5wYXRjaCBcCisgICAgICAgIGZpbGU6Ly9zdXBwb3J0LW5ld2VyLXN5c3RlbWQucGF0Y2ggXAorICAgICAgICBmaWxlOi8vaW5zdGFsbC1zdHJvbmdzd2FuLXN3YW5jdGwtc2VydmljZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYWIwMTRiZTE0NzdlZjRlYmY5YTc2NWUxMGY4ODAyYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNGE5YmM4YzRlNDJiZGM0MzY2YTg3YTA1YTAyYmY5ZjQyNTE2OWE3YWIwYzZmNDQ4MmQzNDdlNDRhY2JmMjI1IgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAgICAgLS13aXRob3V0LWxpYi1wcmVmaXggXAorIgorCitFWFRSQV9PRUNPTkYgKz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJy0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLycsICctLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXInLCBkKX0iCisKKworUEFDS0FHRUNPTkZJRyA/Pz0gImNoYXJvbiBjdXJsIGdtcCBvcGVuc3NsIHN0cm9rZSBzcWxpdGUzIFwKKyAgICAgICAgJHtAYmFzZV9jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkYXAnLCAnbGRhcCcsICcnLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1thZXNuaV0gPSAiLS1lbmFibGUtYWVzbmksLS1kaXNhYmxlLWFlc25pLCIKK1BBQ0tBR0VDT05GSUdbY2hhcm9uXSA9ICItLWVuYWJsZS1jaGFyb24sLS1kaXNhYmxlLWNoYXJvbiwiCitQQUNLQUdFQ09ORklHW2N1cmxdID0gIi0tZW5hYmxlLWN1cmwsLS1kaXNhYmxlLWN1cmwsY3VybCwiCitQQUNLQUdFQ09ORklHW2dtcF0gPSAiLS1lbmFibGUtZ21wLC0tZGlzYWJsZS1nbXAsZ21wLCIKK1BBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS1lbmFibGUtbGRhcCwtLWRpc2FibGUtbGRhcCxvcGVubGRhcCwiCitQQUNLQUdFQ09ORklHW215c3FsXSA9ICItLWVuYWJsZS1teXNxbCwtLWRpc2FibGUtbXlzcWwsbXlzcWw1LCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtb3BlbnNzbCwtLWRpc2FibGUtb3BlbnNzbCxvcGVuc3NsLCIKK1BBQ0tBR0VDT05GSUdbc2NlcF0gPSAiLS1lbmFibGUtc2NlcGNsaWVudCwtLWRpc2FibGUtc2NlcGNsaWVudCwiCitQQUNLQUdFQ09ORklHW3NvdXBdID0gIi0tZW5hYmxlLXNvdXAsLS1kaXNhYmxlLXNvdXAsbGlic291cC0yLjQsIgorUEFDS0FHRUNPTkZJR1tzcWxpdGUzXSA9ICItLWVuYWJsZS1zcWxpdGUsLS1kaXNhYmxlLXNxbGl0ZSxzcWxpdGUzLCIKK1BBQ0tBR0VDT05GSUdbc3Ryb2tlXSA9ICItLWVuYWJsZS1zdHJva2UsLS1kaXNhYmxlLXN0cm9rZSwiCitQQUNLQUdFQ09ORklHW3N3YW5jdGxdID0gIi0tZW5hYmxlLXN3YW5jdGwsLS1kaXNhYmxlLXN3YW5jdGwsLGxpYmdjYyIKKworIyByZXF1aXJlcyBzd2FuY3RsCitQQUNLQUdFQ09ORklHW3N5c3RlbWQtY2hhcm9uXSA9ICItLWVuYWJsZS1zeXN0ZW1kLC0tZGlzYWJsZS1zeXN0ZW1kLHN5c3RlbWQsIgorCitpbmhlcml0IGF1dG90b29scyBzeXN0ZW1kIHBrZ2NvbmZpZworCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLWlwc2VjIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2lwc2VjL2xpYioke1NPTElCU30gJHtsaWJkaXJ9L2lwc2VjL3BsdWdpbnMvKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2lwc2VjLy5kZWJ1ZyAke2xpYmRpcn0vaXBzZWMvcGx1Z2lucy8uZGVidWcgJHtsaWJleGVjZGlyfS9pcHNlYy8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9pcHNlYy9saWIqJHtTT0xJQlNERVZ9ICR7bGliZGlyfS9pcHNlYy8qLmxhICR7bGliZGlyfS9pcHNlYy9wbHVnaW5zLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9pcHNlYy8qLmEgJHtsaWJkaXJ9L2lwc2VjL3BsdWdpbnMvKi5hIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3N3YW5jdGwnLCAnJHtCUE59LXN3YW5jdGwuc2VydmljZScsICcke0JQTn0uc2VydmljZScsIGQpfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zdHVubmVsL3N0dW5uZWxfNS4yOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9zdHVubmVsL3N0dW5uZWxfNS4yOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYThiY2Q4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0dW5uZWwvc3R1bm5lbF81LjI4LmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiUHJvZ3JhbSBmb3IgcHJvdmlkaW5nIHVuaXZlcnNhbCBUTFMvU1NMIHR1bm5lbGluZyBzZXJ2aWNlIgorREVTQ1JJUFRJT04gPSAiU1NMIGVuY3J5cHRpb24gd3JhcHBlciBiZXR3ZWVuIHJlbW90ZSBjbGllbnQgYW5kIGxvY2FsIChpbmV0ZC1zdGFydGFibGUpIG9yIHJlbW90ZSBzZXJ2ZXIuIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODY2Y2RjNzQ1OWQ5MWUwOTJiMTc0Mzg4ZmFiOGQyODMiCitERVBFTkRTID0gIm9wZW5zc2wgemxpYiB0Y3Atd3JhcHBlcnMiCisKK1JERVBFTkRTXyR7UE59ICs9ICJwZXJsIgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5zdHVubmVsLm9yZy9zdHVubmVsL2FyY2hpdmUvNS54LyR7QlB9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjJjMzlhZTBiZTc3MWY5MWJmNWIwMjA1YmVhZmRkY2E2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlhMjViODdiMWVmMGMwOGZhM2Q3OTZlZGNlMDdiNDQwOGU2YThhY2VjZTIzZGUyZWI3ZWU5Mjg1Yjc4ODUyYjUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRoLXNzbD0nJHtTVEFHSU5HX0VYRUNQUkVGSVhESVJ9JyAtLWRpc2FibGUtZmlwcyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCdzeXN0ZW1kJywnJyxkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0tZW5hYmxlLXN5c3RlbWQsLS1kaXNhYmxlLXN5c3RlbWQsc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvYWRkLXB0ZXN0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcC9hZGQtcHRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4ZjYwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvYWRkLXB0ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gN2IyNTk1ODA4MDBlMjU5ZDIzMjIyOWRjODlmOTcwNThiNTZlMmZlOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJIb25nanVuLllhbmciIDxob25nanVuLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMjIgT2N0IDIwMTQgMTA6MDI6NDggKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIHB0ZXN0IGZvciB0Y3BkdW1wCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBIb25nanVuLllhbmcgPGhvbmdqdW4ueWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUuaW4gfCAxMCArKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgoraW5kZXggOGMzNWE0NS4uNGZiOGFlNiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmluCisrKysgYi9NYWtlZmlsZS5pbgorQEAgLTQyOCw5ICs0MjgsMTcgQEAgZGlzdGNsZWFuOgorIAkgICAgdGVzdHMvZmFpbHVyZS1vdXRwdXRzLnR4dAorIAlybSAtcmYgYXV0b200dGUuY2FjaGUgdGVzdHMvRElGRiB0ZXN0cy9ORVcKKyAKKy1jaGVjazogdGNwZHVtcAorK2J1aWxkdGVzdC1URVNUUzogdGNwZHVtcAorKworK3J1bnRlc3QtUFRFU1Q6CisgCShjZCB0ZXN0cyAmJiAuL1RFU1RydW4uc2gpCisgCisraW5zdGFsbC1wdGVzdDoKKysJY3AgLXIgdGVzdHMJCQkkKERFU1RESVIpIAorKwljcCAtciBjb25maWcuaAkJCSQoREVTVERJUikKKysJaW5zdGFsbCAtbSAwNzU1IE1ha2VmaWxlIAkkKERFU1RESVIpCisrCWxuIC1zZiAvdXNyL3NiaW4vdGNwZHVtcAkkKERFU1RESVIpL3RjcGR1bXAKKysKKyB0YWdzOiAkKFRBR0ZJTEVTKQorIAljdGFncyAtd3RkICQoVEFHRklMRVMpCisgCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcC9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzAzYThiOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsNSBAQAorIyEvYmluL3NoCittYWtlIC1rIHJ1bnRlc3QtUFRFU1QgfCBzZWQgLWUgJy86IHBhc3NlZC8gcy9eL1BBU1M6IC9nJyBcCisJCQktZSAnLzogZmFpbGVkLyBzL14vRkFJTDogL2cnIFwKKwkJCS1lICdzLzogcGFzc2VkLy9nJyBcCisJCQktZSAncy86IGZhaWxlZC8vZycKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvdGNwZHVtcC1jb25maWd1cmUtZGxwaS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvdGNwZHVtcC1jb25maWd1cmUtZGxwaS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGUyZDU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcC90Y3BkdW1wLWNvbmZpZ3VyZS1kbHBpLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK1tQQVRDSF0gdGNwZHVtcDogY3Jvc3MtY29tcGlsaW5nIG5vdCBjaGVjayBkbHBpLgorCitGb3IgY3Jvc3MtY29tcGlsaW5nIG9uIExpbnV4IHBsYXRmb3Jtcywgd2UgZG8gbm90IG5lZWQgdG8gY2hlY2sgbGliZGxwaSAKK3NpbmNlIGl0IGlzIG9ubHkgcGxhY2VkIG9uIFNvbGFyaXMuCitBbHNvLCBjaGVja2luZyBsaWJkbHBpIGluIG5hdGl2ZSAvbGliIHdvdWxkIGNhdXNlIGRvX3FhX2NvbmZpZ3VyZSBmYWlsLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcuCisKK1NpZ25lZC1vZmYtYnk6IFhpbiBPdXlhbmcgPFhpbi5PdXlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8ICAgIDQgKysrLQorIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCA3Zjk1OTFjLi5jYTI3N2MwIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC03MTYsNyArNzE2LDkgQEAgZG9uJ3QuXSkKKyBmaQorIAorICMgbGliZGxwaSBpcyBuZWVkZWQgZm9yIFNvbGFyaXMgMTEgYW5kIGxhdGVyLgorLUFDX0NIRUNLX0xJQihkbHBpLCBkbHBpX3dhbGssIExJQlM9IiRMSUJTIC1sZGxwaSIgTERGTEFHUz0iLUwvbGliICRMREZMQUdTIiwgLC1ML2xpYikKKytpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiAhPSB5ZXM7IHRoZW4KKysJQUNfQ0hFQ0tfTElCKGRscGksIGRscGlfd2FsaywgTElCUz0iJExJQlMgLWxkbHBpIiBMREZMQUdTPSItTC9saWIgJExERkxBR1MiLCAsLUwvbGliKQorK2ZpCisgCisgZG5sIHBvcnRhYmlsaXR5IG1hY3JvcyBmb3IgZ2V0YWRkcmluZm8vZ2V0bmFtZWluZm8KKyBkbmwKKy0tIAorMS43LjUuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wL3VubmVjZXNzYXJ5LXRvLWNoZWNrLWxpYnBjYXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wL3VubmVjZXNzYXJ5LXRvLWNoZWNrLWxpYnBjYXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDdhM2FjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvdW5uZWNlc3NhcnktdG8tY2hlY2stbGlicGNhcC5wYXRjaApAQCAtMCwwICsxLDMzIEBACit1bm5lY2Vzc2FyeSB0byBjaGVjayBsaWJwY2FwCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitzaW5jZSB0aGUgY2hlY2sgb2YgbGlicGNhcCBkaWQgbm90IGNvbnNpZGVyIHRoZSBjcm9zcy1jb21waWxlLCBsZWFkIHRvIHRoZQorYmVsb3cgZXJyb3I6CisJVGhpcyBhdXRvY29uZiBsb2cgaW5kaWNhdGVzIGVycm9ycywgaXQgbG9va2VkIGF0IGhvc3QgaW5jbHVkZSBhbmQvb3IKKwlsaWJyYXJ5IHBhdGhzIHdoaWxlIGRldGVybWluaW5nIHN5c3RlbSBjYXBhYmlsaXRpZXMuCisKK0luIGZhY3QsIHRoZSBsaWJwY2FwIGhhcyBiZWVuIGFkZGVkIGludG8gdGhlIHRjcGR1bXAncyBERVBFTkRTLCBub3QgbmVlZCB0bworY2hlY2sgaWYgbGlicGNhcCBleGlzdGVkLgorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuaW4gfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IDA2ZmFkZTEuLjkxMjVkZTcgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTU2Nyw3ICs1NjcsNyBAQCBBQ19TRUFSQ0hfTElCUyhnZXRycGNieW51bWJlciwgbnNsLAorIGRubCBBQ19DSEVDS19MSUIoeiwgdW5jb21wcmVzcykKKyBkbmwgQUNfQ0hFQ0tfSEVBREVSUyh6bGliLmgpCisgCistQUNfTEJMX0xJQlBDQVAoVl9QQ0FQREVQLCBWX0lOQ0xTKQorKyNBQ19MQkxfTElCUENBUChWX1BDQVBERVAsIFZfSU5DTFMpCisgCisgIworICMgQ2hlY2sgZm9yIHRoZXNlIGFmdGVyIEFDX0xCTF9MSUJQQ0FQLCBzbyB3ZSBsaW5rIHdpdGggdGhlIGFwcHJvcHJpYXRlCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcF80LjcuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXBfNC43LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTUwZTU1ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXBfNC43LjQuYmIKQEAgLTAsMCArMSw1MSBAQAorU1VNTUFSWSA9ICJBIHNvcGhpc3RpY2F0ZWQgbmV0d29yayBwcm90b2NvbCBhbmFseXplciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudGNwZHVtcC5vcmcvIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xZDRiMDM2NjU1Nzk1MWM4NGE5NGZhYmUzNTI5Zjg2NyIKK1NFQ1RJT04gPSAibmV0IgorREVQRU5EUyA9ICJsaWJwY2FwIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL3d3dy50Y3BkdW1wLm9yZy9yZWxlYXNlLyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovL3VubmVjZXNzYXJ5LXRvLWNoZWNrLWxpYnBjYXAucGF0Y2ggXAorICAgIGZpbGU6Ly90Y3BkdW1wLWNvbmZpZ3VyZS1kbHBpLnBhdGNoIFwKKyAgICBmaWxlOi8vYWRkLXB0ZXN0LnBhdGNoIFwKKyAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1OGFmNzI4ZGUzNmY0OTkzNDE5MThmYzRiOGU4MjdjMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2YmU1MjAyNjlhODkwMzZmOTljMGIyMTI2NzEzYTYwOTY1OTUzZWFiOTIxMDAyYjA3NjA4Y2NmYzBjNDdkOWFmIgorZXhwb3J0IExJQlM9IiAtbHBjYXAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwdGVzdAorQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYWNfY3ZfbGludXhfdmVycz0ke2FjX2N2X2xpbnV4X3ZlcnM9Mn0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICJvcGVuc3NsIGlwdjYiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1jcnlwdG89eWVzLCAtLXdpdGhvdXQtb3BlbnNzbCAtLXdpdGhvdXQtY3J5cHRvLCBvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LCAtLWRpc2FibGUtaXB2NiwiCitQQUNLQUdFQ09ORklHW3NtaV0gPSAiLS13aXRoLXNtaSwgLS13aXRob3V0LXNtaSxsaWJzbWkiCitQQUNLQUdFQ09ORklHW2xpYmNhcC1uZ10gPSAiLS13aXRoLWNhcC1uZz15ZXMsLS13aXRoLWNhcC1uZz1ubyxsaWJjYXAtbmciCisKK0VYVFJBX0FVVE9SRUNPTkYgKz0gIiAtSSBtNCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgbWtkaXIgLXAgJHtTfS9tNAorICAgIGlmIFsgLWYgYWNsb2NhbC5tNCBdOyB0aGVuCisgICAgICAgIG12IGFjbG9jYWwubTQgJHtTfS9tNAorICAgIGZpCisgICAgIyBBQ19DSEVDS19MSUIoZGxwaS4uIHdhcyBsb29raW5nIHRvIGhvc3QgL2xpYgorICAgIHNlZCAtaSAnczotTC9saWI6OmcnIC4vY29uZmlndXJlLmluCit9Citkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIHNlZCAtaSAnczotTC91c3IvbGliOjonIC4vTWFrZWZpbGUKKyAgICBzZWQgLWkgJ3M6LVdsLC1ycGF0aCwke1NUQUdJTkdfTElCRElSfTo6JyAuL01ha2VmaWxlCisgICAgc2VkIC1pICdzOi1JL3Vzci9pbmNsdWRlOjonIC4vTWFrZWZpbGUKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyB0Y3BkdW1wIDQuMC4wIGluc3RhbGxzIGEgY29weSB0byAvdXNyL3NiaW4vdGNwZHVtcC40LjAuMAorICAgIHJtIC1mICR7RH0ke3NiaW5kaXJ9L3RjcGR1bXAuJHtQVn0KK30KKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKwlvZV9ydW5tYWtlIGJ1aWxkdGVzdC1URVNUUworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwc2xpY2UvdGNwc2xpY2UtMS4yYTMtdGltZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcHNsaWNlL3RjcHNsaWNlLTEuMmEzLXRpbWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzg2YjdmOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcHNsaWNlL3RjcHNsaWNlLTEuMmEzLXRpbWUucGF0Y2gKQEAgLTAsMCArMSw3NSBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIHRjcGR1bXAtNC4xLjEtMS5mYzE0LnNyYy5ycG1dCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKworLS0tIHRjcHNsaWNlLTEuMmEzLm9yaWcvc2VhcmNoLmMJMjAwMC0wOS0xMCAxMDo1Mjo0MC4wMDAwMDAwMDAgKzAyMDAKKysrKyB0Y3BzbGljZS0xLjJhMy9zZWFyY2guYwkyMDA2LTA3LTI4IDE0OjU2OjU1LjAwMDAwMDAwMCArMDIwMAorQEAgLTUzLDcgKzUzLDcgQEAKKyAvKiBTaXplIG9mIGEgcGFja2V0IGhlYWRlciBpbiBieXRlczsgZWFzaWVyIHRoYW4gdHlwaW5nIHRoZSBzaXplb2YoKSBhbGwKKyAgKiB0aGUgdGltZSAuLi4KKyAgKi8KKy0jZGVmaW5lIFBBQ0tFVF9IRFJfTEVOIChzaXplb2YoIHN0cnVjdCBwY2FwX3BrdGhkciApKQorKyNkZWZpbmUgUEFDS0VUX0hEUl9MRU4gKHNpemVvZiggc3RydWN0IHBjYXBfc2ZfcGt0aGRyICkpCisgCisgZXh0ZXJuIGludCBzbmFwbGVuOworIAorQEAgLTExMSwxNiArMTExLDI0IEBACisgc3RhdGljIHZvaWQKKyBleHRyYWN0X2hlYWRlciggcGNhcF90ICpwLCB1X2NoYXIgKmJ1Ziwgc3RydWN0IHBjYXBfcGt0aGRyICpoZHIgKQorIAl7CistCW1lbWNweSgoY2hhciAqKSBoZHIsIChjaGFyICopIGJ1Ziwgc2l6ZW9mKHN0cnVjdCBwY2FwX3BrdGhkcikpOworKwlzdHJ1Y3QgcGNhcF9zZl9wa3RoZHIgaGRyaTsKKysKKysJbWVtY3B5KChjaGFyICopICZoZHJpLCAoY2hhciAqKSBidWYsIHNpemVvZihzdHJ1Y3QgcGNhcF9zZl9wa3RoZHIpKTsKKyAKKyAJaWYgKCBwY2FwX2lzX3N3YXBwZWQoIHAgKSApCisgCQl7CistCQloZHItPnRzLnR2X3NlYyA9IFNXQVBMT05HKGhkci0+dHMudHZfc2VjKTsKKy0JCWhkci0+dHMudHZfdXNlYyA9IFNXQVBMT05HKGhkci0+dHMudHZfdXNlYyk7CistCQloZHItPmxlbiA9IFNXQVBMT05HKGhkci0+bGVuKTsKKy0JCWhkci0+Y2FwbGVuID0gU1dBUExPTkcoaGRyLT5jYXBsZW4pOworKwkJaGRyLT50cy50dl9zZWMgPSBTV0FQTE9ORyhoZHJpLnRzLnR2X3NlYyk7CisrCQloZHItPnRzLnR2X3VzZWMgPSBTV0FQTE9ORyhoZHJpLnRzLnR2X3VzZWMpOworKwkJaGRyLT5sZW4gPSBTV0FQTE9ORyhoZHJpLmxlbik7CisrCQloZHItPmNhcGxlbiA9IFNXQVBMT05HKGhkcmkuY2FwbGVuKTsKKysJCX0KKysJZWxzZQorKwkJeworKwkJaGRyLT50cy50dl9zZWMgPSBoZHJpLnRzLnR2X3NlYzsKKysJCWhkci0+dHMudHZfdXNlYyA9IGhkcmkudHMudHZfdXNlYzsKKysJCWhkci0+bGVuID0gaGRyaS5sZW47CisrCQloZHItPmNhcGxlbiA9IGhkcmkuY2FwbGVuOworIAkJfQorLQorIAkvKgorIAkgKiBGcm9tIGJwZi9saWJwY2FwL3NhdmVmaWxlLmM6CisgCSAqCistLS0gdGNwc2xpY2UtMS4yYTMub3JpZy90Y3BzbGljZS5oCTE5OTUtMTEtMDIgMDA6NDA6NTMuMDAwMDAwMDAwICswMTAwCisrKysgdGNwc2xpY2UtMS4yYTMvdGNwc2xpY2UuaAkyMDA2LTA3LTI4IDE0OjU2OjU1LjAwMDAwMDAwMCArMDIwMAorQEAgLTIwLDYgKzIwLDI2IEBACisgICovCisgCisgCisrI2luY2x1ZGUgPHRpbWUuaD4KKysvKiAjaW5jbHVkZSA8bmV0L2JwZi5oPiAqLworKworKy8qCisrICogVGhpcyBpcyBhIHRpbWV2YWwgYXMgc3RvcmVkIGluIGRpc2sgaW4gYSBkdW1wZmlsZS4KKysgKiBJdCBoYXMgdG8gdXNlIHRoZSBzYW1lIHR5cGVzIGV2ZXJ5d2hlcmUsIGluZGVwZW5kZW50IG9mIHRoZSBhY3R1YWwKKysgKiBgc3RydWN0IHRpbWV2YWwnCisrICovCisrCisrc3RydWN0IHBjYXBfdGltZXZhbCB7CisrICAgIGJwZl9pbnQzMiB0dl9zZWM7ICAgICAgICAgICAvKiBzZWNvbmRzICovCisrICAgIGJwZl9pbnQzMiB0dl91c2VjOyAgICAgICAgICAvKiBtaWNyb3NlY29uZHMgKi8KKyt9OworKworK3N0cnVjdCBwY2FwX3NmX3BrdGhkciB7CisrICAgIHN0cnVjdCBwY2FwX3RpbWV2YWwgdHM7ICAgICAvKiB0aW1lIHN0YW1wICovCisrICAgIGJwZl91X2ludDMyIGNhcGxlbjsgICAgICAgICAvKiBsZW5ndGggb2YgcG9ydGlvbiBwcmVzZW50ICovCisrICAgIGJwZl91X2ludDMyIGxlbjsgICAgICAgICAgICAvKiBsZW5ndGggdGhpcyBwYWNrZXQgKG9mZiB3aXJlKSAqLworK307CisrCisgdGltZV90CWd3dG0yc2Vjcyggc3RydWN0IHRtICp0bSApOworIAorIGludAlzZl9maW5kX2VuZCggc3RydWN0IHBjYXAgKnAsIHN0cnVjdCB0aW1ldmFsICpmaXJzdF90aW1lc3RhbXAsCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BzbGljZS90Y3BzbGljZS1DVlMuMjAwMTAyMDctYnBmLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwc2xpY2UvdGNwc2xpY2UtQ1ZTLjIwMDEwMjA3LWJwZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTczNTkzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwc2xpY2UvdGNwc2xpY2UtQ1ZTLjIwMDEwMjA3LWJwZi5wYXRjaApAQCAtMCwwICsxLDE1IEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gdGNwZHVtcC00LjEuMS0xLmZjMTQuc3JjLnJwbV0KKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorZGlmZiAtdXIgdGNwZHVtcC0zLjguMS90Y3BzbGljZS90Y3BzbGljZS5jIHRjcGR1bXAtMy44LjEubmV3L3RjcHNsaWNlL3RjcHNsaWNlLmMKKy0tLSB0Y3BzbGljZS90Y3BzbGljZS5jCTIwMDQtMDEtMTUgMTc6MzU6NTMuMDAwMDAwMDAwICswMTAwCisrKysgdGNwc2xpY2UvdGNwc2xpY2UuYwkyMDA0LTAxLTE1IDE2OjEyOjU3LjAwMDAwMDAwMCArMDEwMAorQEAgLTM1LDcgKzM1LDcgQEAKKyAjaW5jbHVkZSA8c3lzL2ZpbGUuaD4KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyAKKy0jaW5jbHVkZSA8bmV0L2JwZi5oPgorKy8qICNpbmNsdWRlIDxuZXQvYnBmLmg+ICovCisgCisgI2luY2x1ZGUgPGN0eXBlLmg+CisgI2lmZGVmIEhBVkVfRkNOVExfSApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwc2xpY2VfMS4yYTMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BzbGljZV8xLjJhMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTM3NjBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwc2xpY2VfMS4yYTMuYmIKQEAgLTAsMCArMSwzNiBAQAorU1VNTUFSWSA9ICJ0Y3BzbGljZSIKK0RFU0NSSVBUSU9OID0gIkEgdG9vbCBmb3IgZXh0cmFjdGluZyBwYXJ0cyBvZiBhIHRjcGR1bXAgcGFja2V0IHRyYWNlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudGNwZHVtcC5vcmcvcmVsYXRlZC5odG1sIgorU0VDVElPTiA9ICJuZXQiCisKK0xJQ0VOU0UgPSAiQlNELTQtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdGNwc2xpY2UuYztlbmRsaW5lPTIwO21kNT05OTUxOWUyZTUyMzRkMTY2MmE0Y2UxNmJhYTYyYzY0ZSIKKworU1JDX1VSSSA9ICJmdHA6Ly9mdHAuZWUubGJsLmdvdi8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vdGNwc2xpY2UtMS4yYTMtdGltZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly90Y3BzbGljZS1DVlMuMjAwMTAyMDctYnBmLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImUzMjljYmViN2U1ODlmMTMyZDkyYzM0NDdjNDc3MTkwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQwOTZlOGRlYmM4OThjZmFhMTZiNTMwNmYxYzQyZjhkMThiMTllMzBlNjBkYThkNGRlYjc4MWM4ZjY4NGM4NDAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitERVBFTkRTICs9ICJsaWJwY2FwIgorCisjIFdlIGRvIG5vdCB3YW50IHRvIGF1dG9yZWNvbmYuICBXZSBtdXN0IHNwZWNpZnkgc3JjZGlyIGFzICIuIi4KKyMgV2UgaGF2ZSB0byBzZXQgdGhlIGFjX2N2XyogY2FjaGUgdmFyaWFibGVzIGFzIHdlbGwgYXMgcGFzcyB0aGUgbm9ybWFsCisjIGNyb3NzLWNvbXBpbGF0aW9uIG9wdGlvbnMgdG8gY29uZmlndXJlIQorIworZG9fY29uZmlndXJlICgpIHsKKwlvZV9ydW5jb25mIFwKKyAgICAgICAgICAgIC0tc3JjZGlyPSIuIiBcCisgICAgICAgICAgICBhY19jdl9idWlsZD0ke0JVSUxEX1NZU30gXAorICAgICAgICAgICAgYWNfY3ZfaG9zdD0ke0hPU1RfU1lTfSBcCisgICAgICAgICAgICBhY19jdl90YXJnZXQ9JHtIT1NUX1NZU30KK30KKworZG9faW5zdGFsbCAoKSB7CisJbWtkaXIgLXAgJHtEfS91c3Ivc2JpbgorCWluc3RhbGwgLWMgLW0gNTU1IHRjcHNsaWNlICR7RH0vdXNyL3NiaW4KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcHJlcGxheS9maWxlcy90Y3ByZXBsYXktMy40LjQtY3Jvc3MtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3ByZXBsYXkvZmlsZXMvdGNwcmVwbGF5LTMuNC40LWNyb3NzLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTg1NmIxOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3ByZXBsYXkvZmlsZXMvdGNwcmVwbGF5LTMuNC40LWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSw5MiBAQAorVXB0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogWm9uZ2NodW4gWXUgPFpvbmdjaHVuLll1QGZyZWVzY2FsZS5jb20+CisKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNDAyLDcgKzQwMiw2IEBACisgCisgZG5sIDAuOS42ICh3aGljaCBpcyBzdGlsbCB0aGlua3MgaXQgaXMgMC45LjUgZHVlIHRvIGEgYnVnKSBpbnRyb2R1Y2VzIGFuIGltcG9ydGFudAorIGRubCBmaXggZm9yIE9TWC4gIFNlZTogaHR0cDovL3RjcHJlcGxheS5zeW5maW4ubmV0L3RyYWMvdGlja2V0LzE2NworLWxpYnBjYXBfdmVyc2lvbl8wOTY9bm8KKyBBQ19SVU5fSUZFTFNFKEFDX0xBTkdfUFJPR1JBTShbWworICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CitAQCAtNDE5LDExICs0MTgsMTIgQEAKKyAgICAgICAgICAgICBleGl0KDApOworIAorICAgICBleGl0KDEpOworLV1dKSwgWworLSAgICBsaWJwY2FwX3ZlcnNpb25fMDk2PXllcworLV0pCisrXV0pLAorKyBbbGlicGNhcF92ZXJzaW9uXzA5Nj15ZXNdLAorKyBbbGlicGNhcF92ZXJzaW9uXzA5Nj1ub10sCisrIFtsaWJwY2FwX3ZlcnNpb25fMDk2PXllc10KKyspCisgCistbGlicGNhcF92ZXI4PW5vCisgQUNfUlVOX0lGRUxTRShBQ19MQU5HX1BST0dSQU0oW1sKKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorQEAgLTQ0NCwxMyArNDQ0LDEyIEBACisgICAgICAgICBleGl0KDApOworIAorICAgICBleGl0KDEpOworLV1dKSwgWworLSAgICBsaWJwY2FwX3Zlcjg9eWVzCistXSwgWworLSAgICBsaWJwY2FwX3Zlcjg9bm8KKy1dKQorK11dKSwKKysgW2xpYnBjYXBfdmVyOD15ZXNdLAorKyBbbGlicGNhcF92ZXI4PW5vXSwKKysgW2xpYnBjYXBfdmVyOD15ZXNdCisrKQorIAorLWxpYnBjYXBfdmVyNz1ubworIEFDX1JVTl9JRkVMU0UoQUNfTEFOR19QUk9HUkFNKFtbCisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KK0BAIC00NjksMTEgKzQ2OCwxMSBAQAorICAgICAgICAgICAgIGV4aXQoMCk7CisgCisgICAgIGV4aXQoMSk7CistXV0pLCBbCistICAgIGxpYnBjYXBfdmVyNz15ZXMKKy1dLCBbCistICAgIGxpYnBjYXBfdmVyNz1ubworLV0pCisrXV0pLAorKyBbbGlicGNhcF92ZXI3PXllc10sCisrIFtsaWJwY2FwX3Zlcjc9bm9dLAorKyBbbGlicGNhcF92ZXI3PXllc10KKyspCisgCisgaWYgdGVzdCB4JGxpYnBjYXBfdmVyOCA9IHh5ZXMgOyB0aGVuCisgICAgIEFDX01TR19SRVNVTFQoPj0gMC44LjApCitAQCAtNzYxLDggKzc2MCw4IEBACisgCisgaGF2ZV9icGY9bm8KKyBkbmwgQ2hlY2sgZm9yIEJTRCdzIEJQRgorLUFDX01TR19DSEVDS0lORyhmb3IgQlBGIGRldmljZSBzZW5kaW5nIHN1cHBvcnQpCistQUNfVFJZX1JVTihbCisrQUNfQ0FDSEVfQ0hFQ0soW2ZvciBCUEYgZGV2aWNlIHNlbmRpbmcgc3VwcG9ydF0sIGFjX2N2X2hhdmVfYnBmLAorK1tBQ19UUllfUlVOKFsKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorQEAgLTc5Niw4ICs3OTUsMTEgQEAKKyAgICAgICAgICAgICBbRG8gd2UgaGF2ZSBCUEYgZGV2aWNlIHN1cHBvcnQ/XSkKKyAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCisgICAgIGhhdmVfYnBmPXllcworLV0sWworLSAgICBBQ19NU0dfUkVTVUxUKG5vKQorK10sCisrW0FDX01TR19SRVNVTFQobm8pXSwKKytbQUNfTVNHX0VSUk9SKFtjcm9zcy1jb21waWxpbmcsCisrICBwcmVzZXR0aW5nIGFjX2N2X2hhdmVfYnBmPSh5ZXN8bm8pIHdpbGwgaGVscF0pXQorKykKKyBdKQorIAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcHJlcGxheS9maWxlcy90Y3ByZXBsYXktMy40LjQtZml4LXVuYWJsZS10by1saW5rLWxpYnBjYXAtaXNzdWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwcmVwbGF5L2ZpbGVzL3RjcHJlcGxheS0zLjQuNC1maXgtdW5hYmxlLXRvLWxpbmstbGlicGNhcC1pc3N1ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjM2YzY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcHJlcGxheS9maWxlcy90Y3ByZXBsYXktMy40LjQtZml4LXVuYWJsZS10by1saW5rLWxpYnBjYXAtaXNzdWUucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorVXB0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogWm9uZ2NodW4gWXUgPFpvbmdjaHVuLll1QGZyZWVzY2FsZS5jb20+CisKK0luZGV4OiB0Y3ByZXBsYXktMy40LjQvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdGNwcmVwbGF5LTMuNC40Lm9yaWcvY29uZmlndXJlLmFjCisrKysgdGNwcmVwbGF5LTMuNC40L2NvbmZpZ3VyZS5hYworQEAgLTM4OSw3ICszODksNyBAQCBDRkxBR1M9IiRDRkxBR1MgLUkkTFBDQVBJTkNESVIiCisgQUNfU0VBUkNIX0xJQlMoW3BjYXBfY2xvc2VdLCBbcGNhcF0sCisgICAgIExQQ0FQTElCPSIkTElCUyIsCisgICAgIEFDX0VSUk9SKFtVbmFibGUgdG8gbGluayBsaWJwY2FwIGluICR7Zm91bmRwY2FwfV0pLAorLSAgICAtbG5sKQorKyAgICAtbG5sLTMpCisgCisgQUNfU1VCU1QoTFBDQVBJTkMpCisgQUNfU1VCU1QoTFBDQVBMSUIpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwcmVwbGF5L2ZpbGVzL3RjcHJlcGxheS0zLjQuNC1pbXByb3ZlLXNlYXJjaC1mb3ItbGlicGNhcC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3ByZXBsYXkvZmlsZXMvdGNwcmVwbGF5LTMuNC40LWltcHJvdmUtc2VhcmNoLWZvci1saWJwY2FwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwZjAyNGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwcmVwbGF5L2ZpbGVzL3RjcHJlcGxheS0zLjQuNC1pbXByb3ZlLXNlYXJjaC1mb3ItbGlicGNhcC5wYXRjaApAQCAtMCwwICsxLDMzIEBACit0Y3ByZXBsYXk6IGltcHJvdmUgc2VhcmNoIGZvciBsaWJwY2FwCisKK0FkZCBhIHRlc3Qgd2hpY2ggd2lsbCBmaW5kIGxpYnBjYXAgaWYgJHRlc3RkaXIvLi4gaXMgYSBzeXNyb290LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgorCisKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMzUwLDE0ICszNTAsMjAgQEAgZm9yIHRlc3RkaXIgaW4gJHRyeXBjYXBkaXIgL3Vzci9sb2NhbCAvbworICAgICBpZiB0ZXN0IC1mICIke3Rlc3RkaXJ9L2luY2x1ZGUvcGNhcC5oIiAtYSAkZm91bmRwY2FwID0gbm8gOyB0aGVuCisgICAgICAgICBMUENBUElOQz0iJHt0ZXN0ZGlyfS9pbmNsdWRlL3BjYXAuaCIKKyAgICAgICAgIExQQ0FQSU5DRElSPSIke3Rlc3RkaXJ9L2luY2x1ZGUiCisrICAgICAgICAjIElmIHRlc3RkaXIvLi4gaXMgYSBzeXNyb290LCB0aGVuIHNEaXIgc2hvdWxkIHBvaW50IHRvIHdoZXJlIHRoZSBsaWJyYXJpZXMgYXJlLgorKyAgICAgICAgc0Rpcj0kKHJlYWRsaW5rIC1tICR7dGVzdGRpcn0vLi4vJHtsaWJkaXJ9KQorICAgICAgICAgaWYgdGVzdCAkZHluYW1pY19saW5rID0geWVzOyB0aGVuCistICAgICAgICAgICAgaWYgdGVzdCAtZiAiJHt0ZXN0ZGlyfS9saWI2NC9saWJwY2FwJHtzaHJleHRfY21kc30iIDsgdGhlbgorKyAgICAgICAgICAgIGlmIHRlc3QgLWYgIiR7c0Rpcn0vbGlicGNhcCR7c2hyZXh0X2NtZHN9IiA7IHRoZW4KKysgICAgICAgICAgICAgICAgTFBDQVBMSUI9Ii1MJHtzRGlyfSAtbHBjYXAiCisrICAgICAgICAgICAgZWxpZiB0ZXN0IC1mICIke3Rlc3RkaXJ9L2xpYjY0L2xpYnBjYXAke3NocmV4dF9jbWRzfSIgOyB0aGVuCisgICAgICAgICAgICAgICAgIExQQ0FQTElCPSItTCR7dGVzdGRpcn0vbGliNjQgLWxwY2FwIgorICAgICAgICAgICAgIGVsaWYgdGVzdCAtZiAiJHt0ZXN0ZGlyfS9saWIvbGlicGNhcCR7c2hyZXh0X2NtZHN9IiA7IHRoZW4KKyAgICAgICAgICAgICAgICAgTFBDQVBMSUI9Ii1MJHt0ZXN0ZGlyfS9saWIgLWxwY2FwIgorICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgQUNfRVJST1IoW1VuYWJsZSB0byBmaW5kIGxpYnBjYXAgaW4gJHt0ZXN0ZGlyfV0pCisgICAgICAgICAgICAgZmkKKysgICAgICAgIGVsaWYgdGVzdCAtZiAiJHtzRGlyfS9saWJwY2FwLiR7bGliZXh0fSIgOyB0aGVuCisrICAgICAgICAgICAgTFBDQVBMSUI9IiR7c0Rpcn0vbGlicGNhcC4ke2xpYmV4dH0iCisgICAgICAgICBlbGlmIHRlc3QgLWYgIiR7dGVzdGRpcn0vbGliNjQvbGlicGNhcC4ke2xpYmV4dH0iIDsgdGhlbgorICAgICAgICAgICAgIExQQ0FQTElCPSIke3Rlc3RkaXJ9L2xpYjY0L2xpYnBjYXAuJHtsaWJleHR9IgorICAgICAgICAgZWxpZiB0ZXN0IC1mICIke3Rlc3RkaXJ9L2xpYi9saWJwY2FwLiR7bGliZXh0fSIgOyB0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwcmVwbGF5L2ZpbGVzL3RjcHJlcGxheS0zLjQuNC1uby1iZnAtc3VwcG9ydC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3ByZXBsYXkvZmlsZXMvdGNwcmVwbGF5LTMuNC40LW5vLWJmcC1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjMTFjOTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwcmVwbGF5L2ZpbGVzL3RjcHJlcGxheS0zLjQuNC1uby1iZnAtc3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDE1IEBACitVcHRyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBab25nY2h1biBZdSA8Wm9uZ2NodW4uWXVAZnJlZXNjYWxlLmNvbT4KKworLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC03NTgsNiArNzU4LDggQEAKKyAgICAgQUNfTVNHX1JFU1VMVChubykKKyBdKQorIAorK2FjX2N2X2hhdmVfYnBmPW5vCisrCisgaGF2ZV9icGY9bm8KKyBkbmwgQ2hlY2sgZm9yIEJTRCdzIEJQRgorIEFDX0NBQ0hFX0NIRUNLKFtmb3IgQlBGIGRldmljZSBzZW5kaW5nIHN1cHBvcnRdLCBhY19jdl9oYXZlX2JwZiwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3ByZXBsYXkvdGNwcmVwbGF5XzMuNC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcHJlcGxheS90Y3ByZXBsYXlfMy40LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NiYWI5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3ByZXBsYXkvdGNwcmVwbGF5XzMuNC40LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiVXNlIHByZXZpb3VzbHkgY2FwdHVyZWQgdHJhZmZpYyB0byB0ZXN0IG5ldHdvcmsgZGV2aWNlcyIKKworSE9NRVBBR0UgPSAiaHR0cDovL3RjcHJlcGxheS5zeW5maW4ubmV0LyIKK1NFQ1RJT04gPSAibmV0IgorCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jcy9MSUNFTlNFO21kNT1jMzNjY2NmNzJjYzE2MDNlOGE3MmE4NDgxMWFlM2FjOCIKKworU1JDX1VSSSA9ICJodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3RjcHJlcGxheS8ke1BWfS90Y3ByZXBsYXktJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3RjcHJlcGxheS0zLjQuNC1jcm9zcy1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3RjcHJlcGxheS0zLjQuNC1uby1iZnAtc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly90Y3ByZXBsYXktMy40LjQtZml4LXVuYWJsZS10by1saW5rLWxpYnBjYXAtaXNzdWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGNwcmVwbGF5LTMuNC40LWltcHJvdmUtc2VhcmNoLWZvci1saWJwY2FwLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjIyNzI1ZmViOWIyNTkwODA5ZjkzNTAzMDhlYzY1MTgwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdhODA5YzU4ZGRlYzg2NDA3ZmQ2ZTU1OTdhYzg4M2Q3ODc0YTE5YmVhODFkNzE2YmIyYjFjNmUzYjBlN2I1OGYiCisKK0RFUEVORFMgPSAibGlicGNhcCIKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtbGlicGNhcD0ke1NUQUdJTkdfRElSX0hPU1R9L3VzciIKKworaW5oZXJpdCBzaXRlaW5mbyBhdXRvdG9vbHMtYnJva2Vuc2VwCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90bmZ0cC90bmZ0cC90bmZ0cC1hdXRvdG9vbHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdG5mdHAvdG5mdHAvdG5mdHAtYXV0b3Rvb2xzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiZGE1NzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdG5mdHAvdG5mdHAvdG5mdHAtYXV0b3Rvb2xzLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK1tQQVRDSF0gVXBkYXRlIGNvbmZpZ3VyZS5hYyBhbmQgTWFrZWZpbGUuYW0gdG8gcmVzb2x2ZSB3YXJuaW5ncy9lcnJvcnMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICAgICB8ICAgIDIgKysKKyBsaWJuZXRic2QvTWFrZWZpbGUuYW0gfCAgICAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYTk2ZDJhYi4uYjNiMzA2OSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNzEsOSArNzEsMTEgQEAgQUhfVEVNUExBVEUoW1dJVEhfU1NMXSwKKyAjCisgIyBDaGVja3MgZm9yIHByb2dyYW1zLgorICMKKytBTV9QUk9HX0FSKCkKKyBBQ19QUk9HX0NDKCkKKyBBQ19QUk9HX0FXSygpCisgQUNfUFJPR19MSUJUT09MKCkKKytBTV9QUk9HX0NDX0NfTygpCisgCisgIworICMgQ2hlY2tzIGZvciB0b29sIGZlYXR1cmVzLgorZGlmZiAtLWdpdCBhL2xpYm5ldGJzZC9NYWtlZmlsZS5hbSBiL2xpYm5ldGJzZC9NYWtlZmlsZS5hbQoraW5kZXggM2U1YzNjZS4uMzliYjEyZCAxMDA2NDQKKy0tLSBhL2xpYm5ldGJzZC9NYWtlZmlsZS5hbQorKysrIGIvbGlibmV0YnNkL01ha2VmaWxlLmFtCitAQCAtNSw3ICs1LDcgQEAgbm9pbnN0X0xUTElCUkFSSUVTID0gbGlibmV0YnNkLmxhCisgbGlibmV0YnNkX2xhX1NPVVJDRVMgPQorIAorIAorLUNQUEZMQUdTID0gXAorK0FNX0NQUEZMQUdTID0gXAorIAktSSQoc3JjZGlyKSBcCisgCS1JJCh0b3Bfc3JjZGlyKSBcCisgCS1JJCh0b3BfYnVpbGRkaXIpCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90bmZ0cC90bmZ0cF8yMDEzMDUwNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90bmZ0cC90bmZ0cF8yMDEzMDUwNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDFjNTE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RuZnRwL3RuZnRwXzIwMTMwNTA1LmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiRW5oYW5jZWQgTmV0QlNEIGZ0cCBjbGllbnQiCitERVNDUklQVElPTiA9ICJ0bmZ0cCAoZm9ybWVybHkga25vd24gYXMgbHVrZW1mdHApIGlzIGEgcG9ydCBvZiB0aGUgTmV0QlNEIEZUUCBjbGllbnQgXAordG8gb3RoZXIgc3lzdGVtcy4gSXQgb2ZmZXJzIG1hbnkgZW5oYW5jZW1lbnRzIG92ZXIgdGhlIHRyYWRpdGlvbmFsIFwKK0JTRCBGVFAgY2xpZW50LCBpbmNsdWRpbmcgY29tbWFuZC1saW5lIGVkaXRpbmcsIGNvbW1hbmQtbGluZSBmZXRjaGVzIFwKK29mIEZUUCBhbmQgSFRUUCBVUkxzIChpbmNsdWRpbmcgdmlhIHByb3hpZXMpLCBjb21tYW5kLWxpbmUgdXBsb2FkcyBvZiBcCitGVFAgVVJMcywgY29udGV4dC1zZW5zaXRpdmUgd29yZCBjb21wbGV0aW9uLCBkeW5hbWljIHByb2dyZXNzIGJhciwgXAorSVB2NiBzdXBwb3J0LCBtb2RpZmljYXRpb24gdGltZSBwcmVzZXJ2YXRpb24sIHBhZ2luZyBvZiBsb2NhbCBhbmQgXAorcmVtb3RlIGZpbGVzLCBwYXNzaXZlIG1vZGUgc3VwcG9ydCAod2l0aCBmYWxsYmFjayB0byBhY3RpdmUgbW9kZSksIFwKK1NPQ0tTIHN1cHBvcnQsIFRJUyBGV1RLIGdhdGUtZnRwIHNlcnZlciBzdXBwb3J0LCBhbmQgdHJhbnNmZXIgcmF0ZSBcCit0aHJvdHRsaW5nLiIKKworU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkJTRC00LUNsYXVzZSIKKworREVQRU5EUyA9ICJuY3Vyc2VzIgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5uZXRic2Qub3JnL3B1Yi9OZXRCU0QvbWlzYy90bmZ0cC8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKwkgICBmaWxlOi8vdG5mdHAtYXV0b3Rvb2xzLnBhdGNoIFwKKwkgICIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcyBwa2djb25maWcKKworQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJmdHAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVfJHtQTn0gPSAiJHtiaW5kaXJ9L2Z0cCIKK0FMVEVSTkFUSVZFX1RBUkdFVF8ke1BOfSAgPSAiJHtiaW5kaXJ9L3RuZnRwIgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vdG5mdHAiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTZkNjc5NmNiMTY2YTliYjA1MDk1ODI0MWRhZDk0NzllIgorU1JDX1VSSVttZDVzdW1dID0gIjY2ZTIxOGQwMmVjN2Q5ZmMzOWFiNzBiYTI5MDAzMDVhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZmNjUwZTI1ZjZmZDUxNTM4ZjY3N2I3ODliNDkzNzlmMzY3YWU5ZjFkZWU3NGM5NGNmZTI0ZDkyYWJjMmNmZmIiCisKK1BBQ0tBR0VDT05GSUcgPz0gIm9wZW5zc2wiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0tZW5hYmxlLXNzbCwgLS1kaXNhYmxlLXNzbCAtLXdpdGgtc3NsPW5vLCBvcGVuc3NsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RyYWNlcm91dGUvdHJhY2Vyb3V0ZS9maWx0ZXItb3V0LXRoZS1wYXRjaGVzLWZyb20tc3ViZGlycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90cmFjZXJvdXRlL3RyYWNlcm91dGUvZmlsdGVyLW91dC10aGUtcGF0Y2hlcy1mcm9tLXN1YmRpcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmMwMzBiNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90cmFjZXJvdXRlL3RyYWNlcm91dGUvZmlsdGVyLW91dC10aGUtcGF0Y2hlcy1mcm9tLXN1YmRpcnMucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSBlMjczZTBlYmM3NTM2NDU1NTU5MDliY2M0ODc0YzcyNDU4YjE3ODkxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDE3IEphbiAyMDE0IDAzOjE3OjQ0IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2UucnVsZXM6IGZpbHRlci1vdXQgdGhlIHBhdGNoZXMgZnJvbSBzdWJkaXJzCisKK1RoZSAkKHN1YmRpcnMpIGNvbnRhaW5zIGFsbCB0aGUgZGlycyB1bmRlciB0aGUgJHtCfSwgYW5kIHRoaXMgb25lOgorCitkb191bnBhY2tbY2xlYW5kaXJzXSA9ICIke1N9L3BhdGNoZXMiCisKK3dpbGwgY3JlYXRlIGEgInBhdGNoZXMiIGRpciwgdGhlbiB0aGVyZSB3aWxsIGJlIGNvbXBpbGUgZXJyb3JzLCBmaWx0ZXIKK291dCB0aGUgcGF0Y2hlcyB3aWxsIGZpeCB0aGUgcHJvYmxlbS4KKworTm90ZTogcG9reSBkb2Vzbid0IGhhdmUgdGhpcyBwcm9ibGVtIHNpbmNlIGl0IHNlcGFyYXRlcyB0aGUgJHtTfSBhbmQKKyR7Qn0KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBNYWtlLnJ1bGVzIHwgICAgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2UucnVsZXMgYi9NYWtlLnJ1bGVzCitpbmRleCBiMDc3Y2Q1Li4wYmZjZTJkIDEwMDY0NAorLS0tIGEvTWFrZS5ydWxlcworKysrIGIvTWFrZS5ydWxlcworQEAgLTk3LDcgKzk3LDcgQEAgZW5kaWYKKyBzdWJkaXJzIDo9ICQoZmlsdGVyLW91dCAkKFNLSVBESVJTKSwgJChzdWJkaXJzKSkKKyBlbmRpZgorIAorLWluc3RhbGwgaW5zdGFsbC0lOiBzdWJkaXJzIDo9ICQoZmlsdGVyLW91dCAkKFNLSVBJTlNUQUxMKSwgJChzdWJkaXJzKSkKKytpbnN0YWxsIGluc3RhbGwtJTogc3ViZGlycyA6PSAkKGZpbHRlci1vdXQgJChTS0lQSU5TVEFMTCkgcGF0Y2hlcywgJChzdWJkaXJzKSkKKyAKKyAKKyBvdmVycmlkZSBNQUtFICs9IHNyY2Rpcj0kKHNyY2Rpcikgc3ViZGlycz0iJChzdWJkaXJzKSIgc2hhcmVkPSQoc2hhcmVkKQorQEAgLTEwNiw3ICsxMDYsNyBAQCBvdmVycmlkZSBNQUtFICs9IHNyY2Rpcj0kKHNyY2Rpcikgc3ViZGlycz0iJChzdWJkaXJzKSIgc2hhcmVkPSQoc2hhcmVkKQorIElOQ0xVREVESVJTIDo9ICQoZmlsdGVyICQoSU5DTFVERURJUlMpLCAkKHN1YmRpcnMpKQorIExJQkRJUlMgOj0gJChmaWx0ZXIgJChMSUJESVJTKSwgJChzdWJkaXJzKSkKKyBNT0RESVJTIDo9ICQoZmlsdGVyICQoTU9ERElSUyksICQoc3ViZGlycykpCistRVhFRElSUyA6PSAkKGZpbHRlci1vdXQgJChJTkNMVURFRElSUykgJChMSUJESVJTKSAkKE1PRERJUlMpLCAkKHN1YmRpcnMpKQorK0VYRURJUlMgOj0gJChmaWx0ZXItb3V0ICQoSU5DTFVERURJUlMpICQoTElCRElSUykgJChNT0RESVJTKSBwYXRjaGVzLCAkKHN1YmRpcnMpKQorIE1PRFVTRVJTIDo9ICQoZmlsdGVyICQoTU9EVVNFUlMpLCAkKHN1YmRpcnMpKQorIFNCSU5VU0VSUyA6PSAkKGZpbHRlciAkKFNCSU5VU0VSUyksICQoc3ViZGlycykpCisgCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90cmFjZXJvdXRlL3RyYWNlcm91dGVfMi4wLjIxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RyYWNlcm91dGUvdHJhY2Vyb3V0ZV8yLjAuMjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDlkYTFlZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90cmFjZXJvdXRlL3RyYWNlcm91dGVfMi4wLjIxLmJiCkBAIC0wLDAgKzEsNDUgQEAKK1NVTU1BUlkgPSAiQSBuZXcgbW9kZXJuIGltcGxlbWVudGF0aW9uIG9mIHRyYWNlcm91dGUoOCkgdXRpbGl0eSBmb3IgTGludXggc3lzdGVtcyIKK0RFU0NSSVBUSU9OID0gIlRoZSB0cmFjZXJvdXRlIHV0aWxpdHkgZGlzcGxheXMgdGhlIHJvdXRlIHVzZWQgYnkgSVAgcGFja2V0cyBvbiBcCit0aGVpciB3YXkgdG8gYSBzcGVjaWZpZWQgbmV0d29yayAob3IgSW50ZXJuZXQpIGhvc3QuICBUcmFjZXJvdXRlIGRpc3BsYXlzIFwKK3RoZSBJUCBudW1iZXIgYW5kIGhvc3QgbmFtZSAoaWYgcG9zc2libGUpIG9mIHRoZSBtYWNoaW5lcyBhbG9uZyB0aGUgXAorcm91dGUgdGFrZW4gYnkgdGhlIHBhY2tldHMuICBUcmFjZXJvdXRlIGlzIHVzZWQgYXMgYSBuZXR3b3JrIGRlYnVnZ2luZyBcCit0b29sLiAgSWYgeW91J3JlIGhhdmluZyBuZXR3b3JrIGNvbm5lY3Rpdml0eSBwcm9ibGVtcywgdHJhY2Vyb3V0ZSB3aWxsIFwKK3Nob3cgeW91IHdoZXJlIHRoZSB0cm91YmxlIGlzIGNvbWluZyBmcm9tIGFsb25nIHRoZSByb3V0ZS4iCitTRUNUSU9OID0gIm5ldCIKK0hPTUVQQUdFID0gImh0dHA6Ly90cmFjZXJvdXRlLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkdQTC0yLjArICYgTEdQTC0yLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vdHJhY2Vyb3V0ZS90cmFjZXJvdXRlLyR7QlB9LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maWx0ZXItb3V0LXRoZS1wYXRjaGVzLWZyb20tc3ViZGlycy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3OTI4OWFkYWJkNmYzZWJmOTE2MGZjMDgxNWFiMzE1MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmN2FjOTNlZjMwYjEzYTU4NzI5MmI4ZDZhN2UyNTM4YTY1YmM5NzhhM2E1NzZlYWIyMzhjMzkyYjg4NGU5NmUwIgorCitFWFRSQV9PRU1BS0UgPSAiVlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0iCisKK2RvX2NvbXBpbGUoKSB7CisgICAgZXhwb3J0IExERkxBR1M9IiR7VEFSR0VUX0xERkxBR1N9IC1MJHtTfS9saWJzdXBwIgorICAgIG9lX3J1bm1ha2UgImVudj15ZXMiCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbTc1NSAke0JQTn0vJHtCUE59ICR7RH0ke2JpbmRpcn0KKworICAgIGluc3RhbGwgLW03NTUgd3JhcHBlcnMvdGNwdHJhY2Vyb3V0ZSAke0R9JHtiaW5kaXJ9CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0KKyAgICBpbnN0YWxsIC1wIC1tNjQ0ICR7QlBOfS8ke0JQTn0uOCAke0R9JHttYW5kaXJ9CisgICAgbG4gLXMgJHtCUE59LjggJHtEfSR7bWFuZGlyfS8ke0JQTn02LjgKKyAgICBsbiAtcyAke0JQTn0uOCAke0R9JHttYW5kaXJ9L3RjcHRyYWNlcm91dGUuOAorCit9CisKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjYwIgorQUxURVJOQVRJVkVfJHtQTn0gPSAidHJhY2Vyb3V0ZSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0cmFjZXJvdXRlXSA9ICIke2JpbmRpcn0vdHJhY2Vyb3V0ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90dW5jdGwvdHVuY3RsLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90dW5jdGwvdHVuY3RsLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTVjZmE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3R1bmN0bC90dW5jdGwuaW5jCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiVG9vbCBmb3IgY29udHJvbGxpbmcgdGhlIExpbnV4IFRVTi9UQVAgZHJpdmVyIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdHVuY3RsLmM7YmVnaW5saW5lPTE7ZW5kbGluZT00O21kNT1mZjNhMDk5OTZiYzVmZmY2YmM1ZDRlMGI0YzI4Zjk5OSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vdHVuY3RsL3R1bmN0bC0ke1BWfS50YXIuZ3oiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSB0dW5jdGwKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHR1bmN0bCAke0R9LyR7c2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90dW5jdGwvdHVuY3RsXzEuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90dW5jdGwvdHVuY3RsXzEuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDI2NTYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3R1bmN0bC90dW5jdGxfMS41LmJiCkBAIC0wLDAgKzEsNCBAQAorcmVxdWlyZSB0dW5jdGwuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmZGJlZGMyNjNiM2U4NWJiMGUwODdjZDU2NzQxNDYwNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYTJhNmM0Y2M2YmZhY2IxMWUwZDlmNjIzMzRhNjYzOGEwZDQzNTQ3NWM2MTIzMDExNmYwMGI2YWY4YjE0ZmZmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvd2lyZXNoYXJrL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2I1YjcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay9SRUFETUUKQEAgLTAsMCArMSw0NSBAQAorIworV2lyZXNoYXJrIC0gTm90ZXMKKworVVJMOiBodHRwOi8vd3d3LndpcmVzaGFyay5vcmcvCitVc2VyIEd1aWRlOiBodHRwOi8vd3d3LndpcmVzaGFyay5vcmcvZG9jcy93c3VnX2h0bWxfY2h1bmtlZC8KK1NlY3J1aXR5IGFkdmlzb3JpZXM6IGh0dHA6Ly93d3cud2lyZXNoYXJrLm9yZy9zZWN1cml0eS8KKworV2lyZXNoYXJrIGlzIHNsb3dseSBtb3ZpbmcgYXdheSBmcm9tIGd0ayBhbmQgdG93YXJkcyBRVCBhcyB0aGVpciBncmFwaGljYWwgc3RhY2suCitDdXJyZW50bHkgZ3RrIGlzIHN1cHBvcnRlZCB3aXRoIHRoaXMgcmVsZWFzZSBhbmQgSSBwbGFuIG9uIGludGVncmF0aW5nIFFULiAKKworCisKK0FkZGluZyB0aGUgd2lyZXNoYXJrIHRvIHlvdXIgYnVpbGQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwordmlhIGxvY2FsLmNvbmYKK0lNQUdFX0lOU1RBTExfYXBwZW5kID0gIiB3aXJlc2hhcmsiCisKK0FkZGluZyB0aGUgd2lyZXNoYXJrIHRvIHlvdXIgZ3JhcGhpY2FsIGJ1aWxkCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cit2aWEgbG9jYWwuY29uZgorSU1BR0VfSU5TVEFMTF9hcHBlbmQgPSAiIHdpcmVzaGFyayIKKworYW5kIG9uZSBvZjoKKworRVhUUkFfSU1BR0VfRkVBVFVSRVMgKz0gIngxMS1iYXNlIgorCitvciB1c2UgdGhlICJjb3JlLWltYWdlLXgxMSIKKworCitNYWludGVuYW5jZQorLS0tLS0tLS0tLS0KKworU2VuZCBwYXRjaGVzLCBjb21tZW50cyBvciBxdWVzdGlvbnMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcKKworV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNlIHNvbWV0aGluZyBsaWtlOgorCisgICBnaXQgc2VuZC1lbWFpbCAtMSAtTSBcCisgICAgICAgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyBcCisgICAgICAgLS1jYyBha3VzdGVyQG12aXN0YS5jb20gXAorICAgICAgIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1uZXR3b3JraW5nXVtQQVRDSAorCitNYWludGFpbmVyOiAgICBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvd2lyZXNoYXJrL2ZpbGVzL0RvLW5vdC1zZXQtQ0NfRk9SX0JVSUxELWZsYWdzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay9maWxlcy9Eby1ub3Qtc2V0LUNDX0ZPUl9CVUlMRC1mbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGEwOGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay9maWxlcy9Eby1ub3Qtc2V0LUNDX0ZPUl9CVUlMRC1mbGFncy5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitbUEFUQ0hdIERvIG5vdCBzZXQgQ0NfRk9SX0JVSUxEIGZsYWdzCisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCitBQ19XSVJFU0hBUktfQ09NUElMRVJfRkxBR1NfQ0hFQ0soKSBpcyBjaGVja2luZyB3aGljaCBvcHRpb25zIENDIGlzIHN1cHBvcnRlZCwKK2FuZCBwdXQgdGhlIHN1cHBvcnRlZCBvcHRpb25zIGludG8gQ0ZMQUdTLCBidXQgaXQgc2hvdWxkIG5vdCBwdXQgdGhlbSBpbnRvIAorQ0ZMQUdTX0ZPUl9CVUlMRC4gc2luY2UgQ0MgYW5kIEJVSUxEX0NDIGNhbiBiZSBkaWZmZXJlbnQsIENGTEFHU19GT1JfQlVJTEQgaXMKK3VzZWQgYnkgQlVJTERfQ0MgCisKK0JVSUxEX0NDIGlzIHVzZWQgdG8gZ2VuZXJhdGVkIGhvc3QgdG9vbHMsIGRvIG5vdCB1c2UgdGhlIGdjYydzIG9wdGltaXNlZCBvcHRpb25zLAorZG8gbm90IGVmZmVjdCB0aGUgcnVubmluZyBvZiBob3N0IHRvb2xzLiBzbyBkbyBub3Qgc2V0IENDX0ZPUl9CVUlMRCBmbGFncy4KKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgYWNpbmNsdWRlLm00IHwgOCAtLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWNpbmNsdWRlLm00IGIvYWNpbmNsdWRlLm00CitpbmRleCAxMzZmYzI3Li44ZDNkMzYwIDEwMDY0NAorLS0tIGEvYWNpbmNsdWRlLm00CisrKysgYi9hY2luY2x1ZGUubTQKK0BAIC0xNzU1LDEwICsxNzU1LDYgQEAgaWYgdGVzdCAieCRhY19zdXBwb3J0c19nY2NfZmxhZ3MiID0gInh5ZXMiIDsgdGhlbgorICAgICAgICAgICAgICAgIyBqdXN0IHRoZSBuZXcgb3B0aW9uLgorICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTX3NhdmVkICRHQ0NfT1BUSU9OIgorLSAgICAgICAgICAgICAgIworLSAgICAgICAgICAgICAgIyBBZGQgaXQgdG8gdGhlIGZsYWdzIHdlIHVzZSB3aGVuIGJ1aWxkaW5nIGJ1aWxkIHRvb2xzLgorLSAgICAgICAgICAgICAgIworLSAgICAgICAgICAgICAgQ0ZMQUdTX0ZPUl9CVUlMRD0iJENGTEFHU19GT1JfQlVJTEQgJEdDQ19PUFRJT04iCisgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICBBQ19NU0dfUkVTVUxUKHllcykKK0BAIC0xNzcxLDEwICsxNzY3LDYgQEAgaWYgdGVzdCAieCRhY19zdXBwb3J0c19nY2NfZmxhZ3MiID0gInh5ZXMiIDsgdGhlbgorICAgICAgICAgICAjIGp1c3QgdGhlIG5ldyBvcHRpb24uCisgICAgICAgICAgICMKKyAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTX3NhdmVkICRHQ0NfT1BUSU9OIgorLSAgICAgICAgICAjCistICAgICAgICAgICMgQWRkIGl0IHRvIHRoZSBmbGFncyB3ZSB1c2Ugd2hlbiBidWlsZGluZyBidWlsZCB0b29scy4KKy0gICAgICAgICAgIworLSAgICAgICAgICBDRkxBR1NfRk9SX0JVSUxEPSIkQ0ZMQUdTX0ZPUl9CVUlMRCAkR0NDX09QVElPTiIKKyAgICAgICAgIGZpCisgICAgICAgXSwKKyAgICAgICBbCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrXzIuMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay93aXJlc2hhcmtfMi4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjMwNjE3MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrXzIuMC4yLmJiCkBAIC0wLDAgKzEsNjAgQEAKK0RFU0NSSVBUSU9OID0gIndpcmVzaGFyayAtIGEgcG9wdWxhciBuZXR3b3JrIHByb3RvY29sIGFuYWx5emVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53aXJlc2hhcmsub3JnIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUUubGludXg7bWQ1PTYzMWUwNzc0NTViNzk3MjE3MmViMTQ5MTk1ZTA2NWIwIgorCitERVBFTkRTID0gInBlcmwtbmF0aXZlIHBjcmUgZXhwYXQgZ2xpYi0yLjAgc2JjIgorCitTUkNfVVJJID0gImh0dHBzOi8vMi5uYS5kbC53aXJlc2hhcmsub3JnL3NyYy9hbGwtdmVyc2lvbnMvJHtCUH0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjIwNGQwNTNlMDc5NmM3ZGEwOTI5MmUwYjU0YmM4NTAzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU5MjFmYjA3MjA4NWE1NjU0ZDg5OTk0OWJiNTYxZDA2ODdmNDgxOWY3YjYzYmEzNTc3N2JiOTQ5YTliNmI5YzEiCisKK1BFID0gIjEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworIyBXb3JrcyB3aXRoIGVpdGhlciBndGsrIG9yIGd0azMuCitXSElDSF9HVEsgPSAiZ3RrKyIKKworUEFDS0FHRUNPTkZJRyA/PSAibGlicGNhcCBnbnV0bHMgbGlibmwgbGliY2FwIgorUEFDS0FHRUNPTkZJRyArPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgImd0azIgZ3JhcGhpY3MiLCAiIiwgZCl9IgorUEFDS0FHRUNPTkZJRyArPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAiaXB2NiIsICJpcHY2IiwgIiIsIGQpfSIKKyNQQUNLQUdFQ09ORklHICs9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJvcGVuZ2wiLCAiZ3RrMyIsICIiLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbbGliY2FwXSA9ICItLXdpdGgtbGliY2FwPSR7U1RBR0lOR19MSUJESVJ9LCAtLXdpdGgtbGliY2FwPW5vIC0tZW5hYmxlLXBjYXAtbmctZGVmYXVsdCAsIGxpYmNhcCIKK1BBQ0tBR0VDT05GSUdbbGlicGNhcF0gPSAiLS13aXRoLXBjYXA9JHtTVEFHSU5HX0xJQkRJUn0gLS13aXRoLXBjYXAtcmVtb3RlLCAtLXdpdGgtcGNhcD1ubyAtLWVuYWJsZS1wY2FwLW5nLWRlZmF1bHQgICwgbGlicGNhcCIKK1BBQ0tBR0VDT05GSUdbbGlic21pXSA9ICItLXdpdGgtbGlic21pPXllcywgLS13aXRoLWxpYnNtaT1ubywgbGlic21pIgorUEFDS0FHRUNPTkZJR1tsaWJubF0gPSAiLS13aXRoLWxpYm5sPXllcywgLS13aXRoLWxpYm5sPW5vLCBsaWJubCIKK1BBQ0tBR0VDT05GSUdbcG9ydGF1ZGlvXSA9ICItLXdpdGgtcG9ydGF1ZGlvPXllcywgLS13aXRoLXBvcnRhdWRpbz1ubywgcG9ydGF1ZGlvLXYxOSIKK1BBQ0tBR0VDT05GSUdbZ3RrMl0gPSAiLS13aXRoLWd0azI9eWVzLCAtLXdpdGgtZ3RrMj1ubywgZ3RrKyIKK1BBQ0tBR0VDT05GSUdbZ3RrM10gPSAiLS13aXRoLWd0azM9eWVzLCAtLXdpdGgtZ3RrMz1ubywgZ3RrKzMiCitQQUNLQUdFQ09ORklHW2dyYXBoaWNzXSA9ICItLWVuYWJsZS13aXJlc2hhcmssIC0tZGlzYWJsZS13aXJlc2hhcmssIgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LCAtLWRpc2FibGUtaXB2NiwiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLWdudXRscz15ZXMsIC0td2l0aC1nbnV0bHM9bm8sIGdudXRscyIKK1BBQ0tBR0VDT05GSUdbZ2NyeXB0XSA9ICItLXdpdGgtZ2NyeXB0PXllcywgLS13aXRoLWdjcnlwdD1ubywgbGliZ2NyeXB0IgorUEFDS0FHRUNPTkZJR1tzc2xdID0gIi0td2l0aC1zc2w9eWVzLCAtLXdpdGgtc3NsPW5vLCBvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1trcmI1XSA9ICItLXdpdGgta3JiNT15ZXMsIC0td2l0aC1rcmI1PW5vLCBrcmI1IgorUEFDS0FHRUNPTkZJR1tsdWFdID0gIi0td2l0aC1sdWE9eWVzLCAtLXdpdGgtbHVhPW5vLCBsdWEiCitQQUNLQUdFQ09ORklHW3psaWJdID0gIi0td2l0aC16bGliPXllcywgLS13aXRoLXpsaWI9bm8sIHpsaWIiCitQQUNLQUdFQ09ORklHW2dlb2lwXSA9ICItLXdpdGgtZ2VvaXA9eWVzLCAtLXdpdGgtZ2VvaXA9bm8sIGdlb2lwIgorUEFDS0FHRUNPTkZJR1twbHVnaW5zXSA9ICItLXdpdGgtcGx1Z2lucz15ZXMsIC0td2l0aC1wbHVnaW5zPW5vIgorCisjIHRoZXNlIG5leHQgdHdvIG9wdGlvbnMgcmVxdWlyZSBhZGRpb25hbCBsYXllcnMKK1BBQ0tBR0VDT05GSUdbYWRuc10gPSAiLS13aXRoLWFkbnM9eWVzLCAtLXdpdGgtYWRucz1ubywgYWRucyIKK1BBQ0tBR0VDT05GSUdbYy1hcmVzXSA9ICItLXdpdGgtYy1hcmVzPXllcywgLS13aXRoLWMtYXJlcz1ubywgYy1hcmVzIgorCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1xdD1ubyAtLWVuYWJsZS11c3ItbG9jYWw9bm8gLS1lbmFibGUtdHNoYXJrIC0tZW5hYmxlLXJhd3NoYXJrIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIGZvcmNlIHRvIHVzZSBmYWxsYmFjayAKKyAgICBzZWQgLWkgLWUgJy9eZ2xpYl9wcmVmaXgvcy89LiokLz0iIi8nICR7U30vYWNsb2NhbC1mbGFncworfQorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorSU5ISUJJVF9QQUNLQUdFX0RFQlVHX1NQTElUID0gIjEiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9KiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9DT1BZSU5HLk1JVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjk1MGRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL0NPUFlJTkcuTUlUCkBAIC0wLDAgKzEsMTcgQEAKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgCitvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCAKK2luIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgCit0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIAorY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIAorZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gCithbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IgCitJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgCitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgCitBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIAorTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgCitPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIAorVEhFIFNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL1JFQURNRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTU2NGMyOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9SRUFETUUKQEAgLTAsMCArMSwxNSBAQAorVGhpcyBsYXllciBkZXBlbmRzIG9uOgorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0CiticmFuY2g6IGtyb2dvdGgKK3JldmlzaW9uOiBIRUFECisKK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1vZV1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0JworCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2Ugc29tZXRoaW5nIGxpa2U6CisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtb2VdW2tyb2dvdGhdW1BBVENIJworCitZb3UgYXJlIGVuY291cmFnZWQgdG8gZm9yayB0aGUgbWlycm9yIG9uIGdpdGh1YiBodHRwczovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UvIHRvIHNoYXJlIHlvdXIgcGF0Y2hlcywgdGhpcyBpcyBwcmVmZXJyZWQgZm9yIHBhdGNoIHNldHMgY29uc2lzdGluZyBvZiBtb3JlIHRoYW4gb25lIHBhdGNoLiBPdGhlciBzZXJ2aWNlcyBsaWtlIGdpdG9yaW91cywgcmVwby5vci5jeiBvciBzZWxmIGhvc3RlZCBzZXR1cHMgYXJlIG9mIGNvdXJzZSBhY2NlcHRlZCBhcyB3ZWxsLCAnZ2l0IGZldGNoIDxyZW1vdGU+JyB3b3JrcyB0aGUgc2FtZSBvbiBhbGwgb2YgdGhlbS4gV2UgcmVjb21tZW5kIGdpdGh1YiBiZWNhdXNlIGl0IGlzIGZyZWUsIGVhc3kgdG8gdXNlLCBoYXMgYmVlbiBwcm92ZW4gdG8gYmUgcmVsaWFibGUgYW5kIGhhcyBhIHJlYWxseSBnb29kIHdlYiBHVUkuCisKK2tyb2dvdGggQnJhbmNoIE1haW50YWluZXI6CitBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvYnJlYWtwYWQuYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2JyZWFrcGFkLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNhYmYyNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2JyZWFrcGFkLmJiY2xhc3MKQEAgLTAsMCArMSwzMyBAQAorIyBDbGFzcyB0byBpbmhlcml0IHdoZW4geW91IHdhbnQgdG8gYnVpbGQgYWdhaW5zdCBCcmVha3BhZC4KKyMgQXBhcnQgZnJvbSBpbmhlcml0aW5nIHRoaXMgY2xhc3MsIHlvdSBuZWVkIHRvIHNldCBCUkVBS1BBRF9CSU4gaW4KKyMgeW91ciByZWNpcGUsIGFuZCBtYWtlIHN1cmUgdGhhdCB5b3UgbGluayBhZ2FpbnN0IGxpYmJyZWFrcGFkX2NsaWVudC5hLgorCitERVBFTkRTICs9ICJicmVha3BhZCBicmVha3BhZC1uYXRpdmUiCisKK0NGTEFHUyArPSAiLUkke1NUQUdJTkdfRElSX1RBUkdFVH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkICIKK0NYWEZMQUdTICs9ICItSSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQgIgorCitCUkVBS1BBRF9CSU4gPz0gIiIKKworcHl0aG9uICgpIHsKKyAgICBicmVha3BhZF9iaW4gPSBkLmdldFZhcigiQlJFQUtQQURfQklOIiwgVHJ1ZSkKKworICAgIGlmIG5vdCBicmVha3BhZF9iaW46CisgICAgICAgUE4gPSBkLmdldFZhcigiUE4iLCBUcnVlKQorICAgICAgIEZJTEUgPSBvcy5wYXRoLmJhc2VuYW1lKGQuZ2V0VmFyKCJGSUxFIiwgVHJ1ZSkpCisgICAgICAgYmIuZXJyb3IoIlRvIGJ1aWxkICVzLCBzZWUgYnJlYWtwYWQuYmJjbGFzcyBmb3IgaW5zdHJ1Y3Rpb25zIG9uIFwKKyAgICAgICAgICAgICAgICAgc2V0dGluZyB1cCB5b3VyIEJyZWFrcGFkIGNvbmZpZ3VyYXRpb24iICUgUE4pCisgICAgICAgcmFpc2UgVmFsdWVFcnJvcignQlJFQUtQQURfQklOIG5vdCBkZWZpbmVkIGluICVzJyAlIFBOKQorfQorCisjIEFkZCBjcmVhdGlvbiBvZiBzeW1ib2xzIGhlcmUKK1BBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAiYnJlYWtwYWRfcGFja2FnZV9wcmVwcm9jZXNzIgorYnJlYWtwYWRfcGFja2FnZV9wcmVwcm9jZXNzICgpIHsKKyAgICBta2RpciAtcCAke1BLR0R9L3Vzci9zaGFyZS9icmVha3BhZC1zeW1zCisgICAgZmluZCAke0R9IC1uYW1lICR7QlJFQUtQQURfQklOfSAtZXhlYyBzaCAtYyAiZHVtcF9zeW1zIHt9ID4gJHtQS0dEfS91c3Ivc2hhcmUvYnJlYWtwYWQtc3ltcy8ke0JSRUFLUEFEX0JJTn0uc3ltIiBcOworfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tYnJlYWtwYWQiCisKK0ZJTEVTXyR7UE59LWJyZWFrcGFkID0gIi91c3Ivc2hhcmUvYnJlYWtwYWQtc3ltcyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvZ2l0cGtndi5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvZ2l0cGtndi5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjYmEwMGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9naXRwa2d2LmJiY2xhc3MKQEAgLTAsMCArMSwxMTMgQEAKKyMgZ2l0cGtndi5iYmNsYXNzIHByb3ZpZGVzIGEgR0lUUEtHViBhbmQgR0lUUEtHVlRBRyB2YXJpYWJsZXMgdG8gYmUKKyMgdXNlZCBpbiBQS0dWLCBhcyBkZXNjcmliZWQgYmVsbG93OgorIworIyAtIEdJVFBLR1Ygd2hpY2ggaXMgYSBzb3J0YWJsZSB2ZXJzaW9uIHdpdGggdGhlIGZvcm1hdCBOTitHSVRIQVNILCB0bworIyAgIGJlIHVzZWQgaW4gUEtHViwgd2hlcmUKKyMKKyMgICBOTiBlcXVhbHMgdGhlIHRvdGFsIG51bWJlciBvZiByZXZzIHVwIHRvIFNSQ1JFVgorIyAgIEdJVEhBU0ggaXMgU1JDUkVWJ3MgKGZ1bGwpIGhhc2gKKyMKKyMgLSBHSVRQS0dWVEFHIHdoaWNoIGlzIHRoZSBvdXRwdXQgb2YgJ2dpdCBkZXNjcmliZScgYWxsb3dpbmcgZm9yCisjICAgYXV0b21hdGljIHZlcnNpb25pbmcKKyMKKyMgZ2l0cGtndi5iYmNsYXNzIGFzc3VtZXMgdGhlIGdpdCByZXBvc2l0b3J5IGhhcyBiZWVuIGNsb25lZCwgYW5kCisjIGNvbnRhaW5zIFNSQ1JFVi4gU28gJHtHSVRQS0dWfSBhbmQgJHtHSVRQS0dWVEFHfSBzaG91bGQgbmV2ZXIgYmUKKyMgdXNlZCBpbiBQViwgb25seSBpbiBQS0dWLiAgSXQgY2FuIGhhbmRsZSBTUkNSRVYgPSAke0FVVE9SRVZ9LCBhcworIyB3ZWxsIGFzIFNSQ1JFViA9ICI8c29tZSBmaXhlZCBnaXQgaGFzaD4iLgorIworIyBXQVJOSU5HOiBpZiB1cHN0cmVhbSByZXBvc2l0b3J5IGlzIGFsd2F5cyB1c2luZyBjb25zaXN0ZW50IGFuZAorIyBzb3J0YWJsZSB0YWcgbmFtZSBzY2hlbWUgeW91IGNhbiBnZXQgc29ydGFibGUgdmVyc2lvbiBpbmNsdWRpbmcgdGFnCisjIG5hbWUgd2l0aCAke0dJVFBLR1ZUQUd9LCBidXQgYmUgYXdhcmUgdGhhdCBpZSB0YWcgc2VxdWVuY2UgInYxLjAsCisjIHYxLjIsIHh0ZXN0LCB2Mi4wIiB3aWxsIGZvcmNlIHlvdSB0byBpbmNyZW1lbnQgUEUgdG8gZ2V0IHVwZ3JhZGVhYmxlCisjIHBhdGggdG8gdjIuMCByZXZpc2lvbnMKKyMKKyMgdXNlIGV4YW1wbGU6CisjCisjIGluaGVyaXQgZ2l0cGtndgorIworIyBQViA9ICIxLjArZ2l0ciR7U1JDUFZ9IiAgICAgICMgZXhwYW5kcyB0byBzb21ldGhpbmcgbGlrZSAxLjArZ2l0cjMrNGMxYzIxZDdkYmJmOTNiMGRmMzM2OTk0NTI0MzEzZGZlMGQ0OTYzYgorIyBQS0dWID0gIjEuMCtnaXRyJHtHSVRQS0dWfSIgICMgZXhwYW5kcyBhbHNvIHRvIHNvbWV0aGluZyBsaWtlIDEuMCtnaXRyMzEzMzcrNGMxYzIxZDdkCisjCisjIG9yCisjCisjIGluaGVyaXQgZ2l0cGtndgorIworIyBQViA9ICIxLjArZ2l0ciR7U1JDUFZ9IiAjIGV4cGFuZHMgdG8gc29tZXRoaW5nIGxpa2UgMS4wK2dpdHIzKzRjMWMyMWQ3ZGJiZjkzYjBkZjMzNjk5NDUyNDMxM2RmZTBkNDk2M2IKKyMgUEtHViA9ICIke0dJVFBLR1ZUQUd9IiAgIyBleHBhbmRzIHRvIHNvbWV0aGluZyBsaWtlIDEuMC0zMTMzNytnNGMxYzIxZAorIyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRoZXJlIGlzIHRhZyB2MS4wIGJlZm9yZSB0aGlzIHJldmlzaW9uIG9yCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyMS4wLTMxMzM3K2c0YzFjMjFkIGlmIHRoZXJlIGlzIHRhZyB2ZXIxLjAKKworR0lUUEtHViA9ICIke0BnZXRfZ2l0X3BrZ3YoZCwgRmFsc2UpfSIKK0dJVFBLR1ZUQUcgPSAiJHtAZ2V0X2dpdF9wa2d2KGQsIFRydWUpfSIKKworZGVmIGdpdHBrZ3ZfZHJvcF90YWdfcHJlZml4KHZlcnNpb24pOgorICAgIGltcG9ydCByZQorICAgIGlmIHJlLm1hdGNoKCJ2XGQiLCB2ZXJzaW9uKToKKyAgICAgICAgcmV0dXJuIHZlcnNpb25bMTpdCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIHZlcnNpb24KKworZGVmIGdldF9naXRfcGtndihkLCB1c2VfdGFncyk6CisgICAgaW1wb3J0IG9zCisgICAgaW1wb3J0IGJiCisgICAgZnJvbSBwaXBlcyBpbXBvcnQgcXVvdGUKKworICAgIHNyY191cmkgPSBkLmdldFZhcignU1JDX1VSSScsIDEpLnNwbGl0KCkKKyAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKHNyY191cmksIGQpCisgICAgdWQgPSBmZXRjaGVyLnVkCisKKyAgICAjCisgICAgIyBJZiBTUkNSRVZfRk9STUFUIGlzIHNldCByZXNwZWN0IGl0IGZvciB0YWdzCisgICAgIworICAgIGZvcm1hdCA9IGQuZ2V0VmFyKCdTUkNSRVZfRk9STUFUJywgVHJ1ZSkKKyAgICBpZiBub3QgZm9ybWF0OgorICAgICAgICBmb3JtYXQgPSAnZGVmYXVsdCcKKworICAgIGZvdW5kID0gRmFsc2UKKyAgICBmb3IgdXJsIGluIHVkLnZhbHVlcygpOgorICAgICAgICBpZiB1cmwudHlwZSA9PSAnZ2l0JyBvciB1cmwudHlwZSA9PSAnZ2l0c20nOgorICAgICAgICAgICAgZm9yIG5hbWUsIHJldiBpbiB1cmwucmV2aXNpb25zLml0ZW1zKCk6CisgICAgICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHVybC5sb2NhbHBhdGgpOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICAgICAgICAgZm91bmQgPSBUcnVlCisKKyAgICAgICAgICAgICAgICB2YXJzID0geyAncmVwb2RpcicgOiBxdW90ZSh1cmwubG9jYWxwYXRoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAncmV2JyA6IHF1b3RlKHJldikgfQorCisgICAgICAgICAgICAgICAgcmV2ID0gYmIuZmV0Y2gyLmdldF9zcmNyZXYoZCkuc3BsaXQoJysnKVsxXQorICAgICAgICAgICAgICAgIHJldl9maWxlID0gb3MucGF0aC5qb2luKHVybC5sb2NhbHBhdGgsICJvZS1naXRwa2d2XyIgKyByZXYpCisKKyAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocmV2X2ZpbGUpIG9yIG9zLnBhdGguZ2V0c2l6ZShyZXZfZmlsZSk9PTA6CisgICAgICAgICAgICAgICAgICAgIGNvbW1pdHMgPSBiYi5mZXRjaDIucnVuZmV0Y2hjbWQoCisgICAgICAgICAgICAgICAgICAgICAgICAiY2QgJShyZXBvZGlyKXMgJiYgIgorICAgICAgICAgICAgICAgICAgICAgICAgImdpdCByZXYtbGlzdCAlKHJldilzIC0tIDI+IC9kZXYvbnVsbCAiCisgICAgICAgICAgICAgICAgICAgICAgICAifCB3YyAtbCIgJSB2YXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgZCwgcXVpZXQ9VHJ1ZSkuc3RyaXAoKS5sc3RyaXAoJzAnKQorCisgICAgICAgICAgICAgICAgICAgIGlmIGNvbW1pdHMgIT0gIiI6CisgICAgICAgICAgICAgICAgICAgICAgICBvZS5wYXRoLnJlbW92ZShyZXZfZmlsZSwgcmVjdXJzZT1GYWxzZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG9wZW4ocmV2X2ZpbGUsICJ3Iikud3JpdGUoIiVkXG4iICUgaW50KGNvbW1pdHMpKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgY29tbWl0cyA9ICIwIgorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGNvbW1pdHMgPSBvcGVuKHJldl9maWxlLCAiciIpLnJlYWRsaW5lKDEyOCkuc3RyaXAoKQorCisgICAgICAgICAgICAgICAgaWYgdXNlX3RhZ3M6CisgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCA9IGJiLmZldGNoMi5ydW5mZXRjaGNtZCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2QgJShyZXBvZGlyKXMgJiYgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnaXQgZGVzY3JpYmUgJShyZXYpcyAyPi9kZXYvbnVsbCIgJSB2YXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQsIHF1aWV0PVRydWUpLnN0cmlwKCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHZlciA9IGdpdHBrZ3ZfZHJvcF90YWdfcHJlZml4KG91dHB1dCkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHZlciA9ICIwLjAtJXMtZyVzIiAlIChjb21taXRzLCByZXZbOjddKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHZlciA9ICIlcyslcyIgJSAoY29tbWl0cywgcmV2Wzo3XSkKKworICAgICAgICAgICAgICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKG5hbWUsIHZlcikKKworICAgIGlmIGZvdW5kOgorICAgICAgICByZXR1cm4gZm9ybWF0CisKKyAgICByZXR1cm4gJzArMCcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2dpdHZlci5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvZ2l0dmVyLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTdiNTE1NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2dpdHZlci5iYmNsYXNzCkBAIC0wLDAgKzEsNzUgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDA5IENocmlzIExhcnNvbiA8Y2xhcnNvbkBrZXJnb3RoLmNvbT4KKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKyMKKyMgZ2l0dmVyLmJiY2xhc3MgcHJvdmlkZXMgYSBHSVRWRVIgdmFyaWFibGUgd2hpY2ggaXMgYSAoZmFpcmx5KSBzYW5lIHZlcnNpb24sCisjIGZvciB1c2UgaW4gJHtQVn0sIGV4dHJhY3RlZCBmcm9tIHRoZSAke1N9IGdpdCBjaGVja291dCwgYXNzdW1pbmcgaXQgaXMgb25lLgorIyBUaGlzIGlzIG1vc3QgdXNlZnVsIGluIGNvbmNlcnQgd2l0aCBzcmN0cmVlLmJiY2xhc3MuCisKK2RlZiBnaXRfZHJvcF90YWdfcHJlZml4KHZlcnNpb24pOgorICAgIGltcG9ydCByZQorICAgIGlmIHJlLm1hdGNoKCJ2XGQiLCB2ZXJzaW9uKToKKyAgICAgICAgcmV0dXJuIHZlcnNpb25bMTpdCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIHZlcnNpb24KKworR0lUX1RBR0FESlVTVCA9ICJnaXRfZHJvcF90YWdfcHJlZml4KHZlcnNpb24pIgorR0lUVkVSID0gIiR7QGdldF9naXRfcHYoJyR7U30nLCBkLCB0YWdhZGp1c3Q9bGFtYmRhIHZlcnNpb246JHtHSVRfVEFHQURKVVNUfSl9IgorR0lUU0hBID0gIiR7QGdldF9naXRfaGFzaCgnJHtTfScsIGQpfSIKKworZGVmIGdpdHJldl9ydW4oY21kLCBwYXRoKToKKyAgICAob3V0cHV0LCBlcnJvcikgPSBiYi5wcm9jZXNzLnJ1bihjbWQsIGN3ZD1wYXRoKQorICAgIHJldHVybiBvdXRwdXQucnN0cmlwKCkKKworZGVmIGdldF9naXRfcHYocGF0aCwgZCwgdGFnYWRqdXN0PU5vbmUpOgorICAgIGltcG9ydCBvcworICAgIGltcG9ydCBiYi5wcm9jZXNzCisKKyAgICBnaXRkaXIgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGQuZ2V0VmFyKCJTIiwgVHJ1ZSksICIuZ2l0IikpCisgICAgdHJ5OgorICAgICAgICB2ZXIgPSBnaXRyZXZfcnVuKCJnaXQgZGVzY3JpYmUgLS10YWdzIiwgZ2l0ZGlyKQorICAgIGV4Y2VwdCBFeGNlcHRpb24sIGV4YzoKKyAgICAgICAgYmIuZmF0YWwoc3RyKGV4YykpCisKKyAgICBpZiBub3QgdmVyOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB2ZXIgPSBnaXRyZXZfcnVuKCJnaXQgcmV2LXBhcnNlIC0tc2hvcnQgSEVBRCIsIGdpdGRpcikKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZXhjOgorICAgICAgICAgICAgYmIuZmF0YWwoc3RyKGV4YykpCisKKyAgICAgICAgaWYgdmVyOgorICAgICAgICAgICAgcmV0dXJuICIwLjArJXMiICUgdmVyCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gIjAuMCIKKyAgICBlbHNlOgorICAgICAgICBpZiB0YWdhZGp1c3Q6CisgICAgICAgICAgICB2ZXIgPSB0YWdhZGp1c3QodmVyKQorICAgICAgICByZXR1cm4gdmVyCisKK2RlZiBtYXJrX3JlY2lwZV9kZXBlbmRlbmNpZXMocGF0aCwgZCk6CisgICAgZnJvbSBiYi5wYXJzZSBpbXBvcnQgbWFya19kZXBlbmRlbmN5CisKKyAgICBnaXRkaXIgPSBvcy5wYXRoLmpvaW4ocGF0aCwgIi5naXQiKQorCisgICAgIyBGb3JjZSB0aGUgcmVjaXBlIHRvIGJlIHJlcGFyc2VkIHNvIHRoZSB2ZXJzaW9uIGdldHMgYnVtcGVkCisgICAgIyBpZiB0aGUgYWN0aXZlIGJyYW5jaCBpcyBzd2l0Y2hlZCwgb3IgaWYgdGhlIGJyYW5jaCBjaGFuZ2VzLgorICAgIG1hcmtfZGVwZW5kZW5jeShkLCBvcy5wYXRoLmpvaW4oZ2l0ZGlyLCAiSEVBRCIpKQorCisgICAgIyBGb3JjZSBhIHJlcGFyc2UgaWYgYW55dGhpbmcgaW4gdGhlIGluZGV4IGNoYW5nZXMuCisgICAgbWFya19kZXBlbmRlbmN5KGQsIG9zLnBhdGguam9pbihnaXRkaXIsICJpbmRleCIpKQorCisgICAgdHJ5OgorICAgICAgICByZWYgPSBnaXRyZXZfcnVuKCJnaXQgc3ltYm9saWMtcmVmIC1xIEhFQUQiLCBnaXRkaXIpCisgICAgZXhjZXB0IGJiLnByb2Nlc3MuQ21kRXJyb3I6CisgICAgICAgIHBhc3MKKyAgICBlbHNlOgorICAgICAgICBpZiByZWY6CisgICAgICAgICAgICBtYXJrX2RlcGVuZGVuY3koZCwgb3MucGF0aC5qb2luKGdpdGRpciwgcmVmKSkKKworICAgICMgQ2F0Y2ggbmV3IHRhZ3MuCisgICAgdGFnZGlyID0gb3MucGF0aC5qb2luKGdpdGRpciwgInJlZnMiLCAidGFncyIpCisgICAgaWYgb3MucGF0aC5leGlzdHModGFnZGlyKToKKyAgICAgICAgbWFya19kZXBlbmRlbmN5KGQsIHRhZ2RpcikKKworcHl0aG9uICgpIHsKKyAgICBtYXJrX3JlY2lwZV9kZXBlbmRlbmNpZXMoZC5nZXRWYXIoIlMiLCBUcnVlKSwgZCkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2dwZS5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvZ3BlLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZjMTM2NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2dwZS5iYmNsYXNzCkBAIC0wLDAgKzEsMTcgQEAKK0RFUEVORFNfcHJlcGVuZCA9ICJ2aXJ0dWFsL2xpYmludGwgaW50bHRvb2wtbmF0aXZlICIKK0dQRV9UQVJCQUxMX1NVRkZJWCA/PSAiZ3oiCitTUkNfVVJJID0gIiR7R1BFX01JUlJPUn0vJHtCUH0udGFyLiR7R1BFX1RBUkJBTExfU1VGRklYfSIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2dwZSAke2RhdGFkaXJ9L2FwcGxpY2F0aW9uLXJlZ2lzdHJ5IgorU0VDVElPTiA/PSAiZ3BlIgorCitpbmhlcml0IGdldHRleHQKKworZ3BlX2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSBQUkVGSVg9JHtwcmVmaXh9Cit9CisKK2dwZV9kb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgUFJFRklYPSR7cHJlZml4fSBERVNURElSPSR7RH0gaW5zdGFsbAorfQorCitFWFBPUlRfRlVOQ1RJT05TIGRvX2NvbXBpbGUgZG9faW5zdGFsbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NsYXNzZXMvbWFjaGluZV9rZXJuZWxfcHIuYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL21hY2hpbmVfa2VybmVsX3ByLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDYzYjY0ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL21hY2hpbmVfa2VybmVsX3ByLmJiY2xhc3MKQEAgLTAsMCArMSw4IEBACitweXRob24gX19hbm9ueW1vdXMgKCkgeworCisgICAgbWFjaGluZV9rZXJuZWxfcHIgPSBkLmdldFZhcignTUFDSElORV9LRVJORUxfUFInLCBUcnVlKQorCisgICAgaWYgbWFjaGluZV9rZXJuZWxfcHI6CisgICAgICAgIGQuc2V0VmFyKCdQUicsIG1hY2hpbmVfa2VybmVsX3ByKQorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9zb2NvcnJvLXN5bXMuYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL3NvY29ycm8tc3ltcy5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmNmFlNjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9zb2NvcnJvLXN5bXMuYmJjbGFzcwpAQCAtMCwwICsxLDIzMSBAQAorIyBJbmhlcml0IHRoaXMgY2xhc3Mgd2hlbiB5b3Ugd2FudCB0byBhbGxvdyBNb3ppbGxhIFNvY29ycm8gdG8gbGluayBCcmVha3BhZCdzCisjIHN0YWNrIHRyYWNlIGluZm9ybWF0aW9uIHRvIHRoZSBjb3JyZWN0IHNvdXJjZSBjb2RlIHJldmlzaW9uLgorIyBUaGlzIGNsYXNzIGNyZWF0ZXMgYSBuZXcgdmVyc2lvbiBvZiB0aGUgc3ltYm9sIGZpbGUgKC5zeW0pIGNyZWF0ZWQgYnkKKyMgQnJlYWtwYWQuIFRoZSBhYnNvbHV0ZSBmaWxlIHBhdGhzIGluIHRoZSBzeW1ib2wgZmlsZSB3aWxsIGJlIHJlcGxhY2VkIGJ5IFZDUywKKyMgYnJhbmNoLCBmaWxlIGFuZCByZXZpc2lvbiBvZiB0aGUgc291cmNlIGZpbGUuIFRoYXQgaW5mb3JtYXRpb24gZmFjaWxpdGF0ZXMgdGhlCisjIGxvb2t1cCBvZiBhIHBhcnRpY3VsYXIgc291cmNlIGNvZGUgbGluZSBpbiB0aGUgc3RhY2sgdHJhY2UuCisjCisjIFVzZSBleGFtcGxlOgorIworIyBCUkVBS1BBRF9CSU4gPSAiWW91ckJpbmFyeSIKKyMgaW5oZXJpdCBzb2NvcnJvLXN5bXMKKyMKKworIyBXZSBkZXBlbmQgb24gQnJlYWtwYWQgY3JlYXRpbmcgdGhlIG9yaWdpbmFsIHN5bWJvbCBmaWxlLgoraW5oZXJpdCBicmVha3BhZAorCitQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInN5bWJvbF9maWxlX3ByZXByb2Nlc3MiCitQQUNLQUdFUyA9KyAiJHtQTn0tc29jb3Jyby1zeW1zIgorRklMRVNfJHtQTn0tc29jb3Jyby1zeW1zID0gIi91c3Ivc2hhcmUvc29jb3Jyby1zeW1zIgorCisKK3B5dGhvbiBzeW1ib2xfZmlsZV9wcmVwcm9jZXNzKCkgeworCisgICAgcGFja2FnZV9kaXIgPSBkLmdldFZhcigiUEtHRCIsIFRydWUpCisgICAgYnJlYWtwYWRfYmluID0gZC5nZXRWYXIoIkJSRUFLUEFEX0JJTiIsIFRydWUpCisgICAgaWYgbm90IGJyZWFrcGFkX2JpbjoKKyAgICAgICAgcGFja2FnZV9uYW1lID0gZC5nZXRWYXIoIlBOIiwgVHJ1ZSkKKyAgICAgICAgYmIuZXJyb3IoIlBhY2thZ2UgJXMgZGVwZW5kcyBvbiBCcmVha3BhZCB2aWEgc29jb3Jyby1zeW1zLiBTZWUgIgorICAgICAgICAgICAgImJyZWFrcGFkLmJiY2xhc3MgZm9yIGluc3RydWN0aW9ucyBvbiBzZXR0aW5nIHVwIHRoZSBCcmVha3BhZCAiCisgICAgICAgICAgICAiY29uZmlndXJhdGlvbi4iICUgcGFja2FnZV9uYW1lKQorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJCUkVBS1BBRF9CSU4gbm90IGRlZmluZWQgaW4gJXMuIiAlIHBhY2thZ2VfbmFtZSkKKworICAgIHN5bV9maWxlX25hbWUgPSBicmVha3BhZF9iaW4gKyAiLnN5bSIKKworICAgIGJyZWFrcGFkX3N5bXNfZGlyID0gb3MucGF0aC5qb2luKAorICAgICAgICBwYWNrYWdlX2RpciwgInVzciIsICJzaGFyZSIsICJicmVha3BhZC1zeW1zIikKKyAgICBzb2NvcnJvX3N5bXNfZGlyID0gb3MucGF0aC5qb2luKAorICAgICAgICBwYWNrYWdlX2RpciwgInVzciIsICJzaGFyZSIsICJzb2NvcnJvLXN5bXMiKQorICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzb2NvcnJvX3N5bXNfZGlyKToKKyAgICAgICAgb3MubWFrZWRpcnMoc29jb3Jyb19zeW1zX2RpcikKKworICAgIGJyZWFrcGFkX3N5bV9maWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oYnJlYWtwYWRfc3ltc19kaXIsIHN5bV9maWxlX25hbWUpCisgICAgc29jb3Jyb19zeW1fZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKHNvY29ycm9fc3ltc19kaXIsIHN5bV9maWxlX25hbWUpCisKKyAgICBjcmVhdGVfc29jb3Jyb19zeW1fZmlsZShkLCBicmVha3BhZF9zeW1fZmlsZV9wYXRoLCBzb2NvcnJvX3N5bV9maWxlX3BhdGgpCisKKyAgICBhcnJhbmdlX3NvY29ycm9fc3ltX2ZpbGUoc29jb3Jyb19zeW1fZmlsZV9wYXRoLCBzb2NvcnJvX3N5bXNfZGlyKQorCisgICAgcmV0dXJuCit9CisKKworZGVmIHJ1bl9jb21tYW5kKGNvbW1hbmQsIGRpcmVjdG9yeSk6CisKKyAgICAob3V0cHV0LCBlcnJvcikgPSBiYi5wcm9jZXNzLnJ1bihjb21tYW5kLCBjd2Q9ZGlyZWN0b3J5KQorICAgIGlmIGVycm9yOgorICAgICAgICByYWlzZSBiYi5wcm9jZXNzLkV4ZWN1dGlvbkVycm9yKGNvbW1hbmQsIGVycm9yKQorCisgICAgcmV0dXJuIG91dHB1dC5yc3RyaXAoKQorCisKK2RlZiBjcmVhdGVfc29jb3Jyb19zeW1fZmlsZShkLCBicmVha3BhZF9zeW1fZmlsZV9wYXRoLCBzb2NvcnJvX3N5bV9maWxlX3BhdGgpOgorCisgICAgIyBJbiB0aGUgc3ltYm9sIGZpbGUsIGFsbCBzb3VyY2UgZmlsZXMgYXJlIHJlZmVyZW5jZWQgbGlrZSB0aGUgZm9sbG93aW5nLgorICAgICMgRklMRSAxMjMgL3BhdGgvdG8vc29tZS9GaWxlLmNwcAorICAgICMgR28gdGhyb3VnaCBhbGwgcmVmZXJlbmNlcyBhbmQgcmVwbGFjZSB0aGUgZmlsZSBwYXRocyB3aXRoIHJlcG9zaXRvcnkKKyAgICAjIHBhdGhzLgorICAgIHdpdGggb3BlbihicmVha3BhZF9zeW1fZmlsZV9wYXRoLCAncicpIGFzIGJyZWFrcGFkX3N5bV9maWxlLCBcCisgICAgICAgICAgICBvcGVuKHNvY29ycm9fc3ltX2ZpbGVfcGF0aCwgJ3cnKSBhcyBzb2NvcnJvX3N5bV9maWxlOgorCisgICAgICAgIGZvciBsaW5lIGluIGJyZWFrcGFkX3N5bV9maWxlOgorICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJGSUxFICIpOgorICAgICAgICAgICAgICAgIHNvY29ycm9fc3ltX2ZpbGUud3JpdGUoc29jb3Jyb19maWxlX3JlZmVyZW5jZShkLCBsaW5lKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc29jb3Jyb19zeW1fZmlsZS53cml0ZShsaW5lKQorCisgICAgcmV0dXJuCisKKworZGVmIHNvY29ycm9fZmlsZV9yZWZlcmVuY2UoZCwgbGluZSk6CisKKyAgICAjIFRoZSAzcmQgcG9zaXRpb24gaXMgdGhlIGZpbGUgcGF0aC4gU2VlIGV4YW1wbGUgYWJvdmUuCisgICAgc291cmNlX2ZpbGVfcGF0aCA9IGxpbmUuc3BsaXQoKVsyXQorICAgIHNvdXJjZV9maWxlX3JlcG9fcGF0aCA9IHJlcG9zaXRvcnlfcGF0aCgKKyAgICAgICAgZCwgb3MucGF0aC5ub3JtcGF0aChzb3VyY2VfZmlsZV9wYXRoKSkKKworICAgICMgSWYgdGhlIGZpbGUgY291bGQgYmUgZm91bmQgaW4gYW55IHJlcG9zaXRvcnkgdGhlbiByZXBsYWNlIGl0IHdpdGggdGhlCisgICAgIyByZXBvc2l0b3J5J3MgcGF0aC4KKyAgICBpZiBzb3VyY2VfZmlsZV9yZXBvX3BhdGg6CisgICAgICAgIHJldHVybiBsaW5lLnJlcGxhY2Uoc291cmNlX2ZpbGVfcGF0aCwgc291cmNlX2ZpbGVfcmVwb19wYXRoKQorCisgICAgcmV0dXJuIGxpbmUKKworCitkZWYgcmVwb3NpdG9yeV9wYXRoKGQsIHNvdXJjZV9maWxlX3BhdGgpOgorCisgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKHNvdXJjZV9maWxlX3BhdGgpOgorICAgICAgICByZXR1cm4gTm9uZQorCisgICAgIyBDaGVjayB3aGljaCBWQ1MgaXMgdXNlZCBhbmQgdXNlIHRoYXQgdG8gZXh0cmFjdCByZXBvc2l0b3J5IGluZm9ybWF0aW9uLgorICAgIChvdXRwdXQsIGVycm9yKSA9IGJiLnByb2Nlc3MucnVuKCJnaXQgc3RhdHVzIiwKKyAgICAgICAgY3dkPW9zLnBhdGguZGlybmFtZShzb3VyY2VfZmlsZV9wYXRoKSkKKyAgICBpZiBub3QgZXJyb3I6CisgICAgICAgICMgTWFrZSBzdXJlIHRoZSBnaXQgcmVwb3NpdG9yeSB3ZSBqdXN0IGZvdW5kIHdhc24ndCB0aGUgeW9jdG8gcmVwb3NpdG9yeQorICAgICAgICAjIGl0c2VsZiwgaS5lLiB0aGUgcm9vdCBvZiB0aGUgcmVwb3NpdG9yeSB3ZSdyZSBsb29raW5nIGZvciBtdXN0IGJlIGEKKyAgICAgICAgIyBjaGlsZCBvZiB0aGUgYnVpbGQgZGlyZWN0b3J5IFRPUERJUi4KKyAgICAgICAgZ2l0X3Jvb3RfZGlyID0gcnVuX2NvbW1hbmQoCisgICAgICAgICAgICAiZ2l0IHJldi1wYXJzZSAtLXNob3ctdG9wbGV2ZWwiLCBvcy5wYXRoLmRpcm5hbWUoc291cmNlX2ZpbGVfcGF0aCkpCisgICAgICAgIGlmIG5vdCBnaXRfcm9vdF9kaXIuc3RhcnRzd2l0aChkLmdldFZhcigiVE9QRElSIiwgVHJ1ZSkpOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICByZXR1cm4gZ2l0X3JlcG9zaXRvcnlfcGF0aChzb3VyY2VfZmlsZV9wYXRoKQorCisgICAgIyBIZXJlIHdlIGNhbiBhZGQgc3VwcG9ydCBmb3Igb3RoZXIgVkNTcyBsaWtlIGhnLCBzdm4sIGN2cywgZXRjLgorCisgICAgIyBUaGUgc291cmNlIGZpbGUgaXNuJ3QgdW5kZXIgYW55IFZDUyBzbyB3ZSBsZWF2ZSBpdCBiZS4KKyAgICByZXR1cm4gTm9uZQorCisKK2RlZiBpc19sb2NhbF91cmwodXJsKToKKworICAgIHJldHVybiBcCisgICAgICAgIHVybC5zdGFydHN3aXRoKCJmaWxlOiIpIG9yIHVybC5zdGFydHN3aXRoKCIvIikgb3IgdXJsLnN0YXJ0c3dpdGgoIi4vIikKKworCitkZWYgZ2l0X3JlcG9zaXRvcnlfcGF0aChzb3VyY2VfZmlsZV9wYXRoKToKKworICAgIGltcG9ydCByZQorCisgICAgIyBXZSBuZWVkIHRvIGV4dHJhY3QgdGhlIGZvbGxvd2luZy4KKyAgICAjICgxKTogVkNTIFVSTCwgKDIpOiBicmFuY2gsICgzKTogcmVwbyByb290IGRpcmVjdG9yeSBuYW1lLCAoNCk6IHJlcG8gZmlsZSwKKyAgICAjICg1KTogcmV2aXNpb24uCisKKyAgICBzb3VyY2VfZmlsZV9kaXIgPSBvcy5wYXRoLmRpcm5hbWUoc291cmNlX2ZpbGVfcGF0aCkKKworICAgICMgKDEpIEdldCB0aGUgVkNTIFVSTCBhbmQgZXh0cmFjdCB0aGUgc2VydmVyIHBhcnQsIGkuZS4gY2hhbmdlIHRoZSBVUkwgZnJvbQorICAgICMgZ2l0b2xpdGVAZ2l0LnNvbWVzZXJ2ZXIuY29tOlNvbWVSZXBvLmdpdCB0byBqdXN0IGdpdC5zb21lc2VydmVyLmNvbS4KKyAgICBzb3VyY2VfbG9uZ191cmwgPSBydW5fY29tbWFuZCgKKyAgICAgICAgImdpdCBjb25maWcgLS1nZXQgcmVtb3RlLm9yaWdpbi51cmwiLCBzb3VyY2VfZmlsZV9kaXIpCisKKyAgICAjIFRoZSBVUkwgY291bGQgYmUgYSBsb2NhbCBkb3dubG9hZCBkaXJlY3RvcnkuIElmIHNvLCBnZXQgdGhlIFVSTCBhZ2FpbgorICAgICMgdXNpbmcgdGhlIGxvY2FsIGRpcmVjdG9yeSdzIGNvbmZpZyBmaWxlLgorICAgIGlmIGlzX2xvY2FsX3VybChzb3VyY2VfbG9uZ191cmwpOgorICAgICAgICBnaXRfY29uZmlnX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc291cmNlX2xvbmdfdXJsLCAiY29uZmlnIikKKyAgICAgICAgc291cmNlX2xvbmdfdXJsID0gcnVuX2NvbW1hbmQoCisgICAgICAgICAgICAiZ2l0IGNvbmZpZyAtLWZpbGUgJXMgLS1nZXQgcmVtb3RlLm9yaWdpbi51cmwiICUgZ2l0X2NvbmZpZ19maWxlLAorICAgICAgICAgICAgc291cmNlX2ZpbGVfZGlyKQorCisgICAgICAgICMgSWYgYWxzbyB0aGUgZG93bmxvYWQgZGlyZWN0b3J5IHJlZGlyZWN0cyB0byBhIGxvY2FsIGdpdCBkaXJlY3RvcnksCisgICAgICAgICMgdGhlbiB3ZSdyZSBwcm9iYWJseSB1c2luZyBzb3VyY2UgY29kZSBmcm9tIGEgbG9jYWwgZGVidWcgYnJhbmNoIHdoaWNoCisgICAgICAgICMgd29uJ3QgYmUgYWNjZXNzaWJsZSBieSBTb2NvcnJvLgorICAgICAgICBpZiBpc19sb2NhbF91cmwoc291cmNlX2xvbmdfdXJsKToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAjIFRoZSBVUkwgY2FuIGhhdmUgc2V2ZXJhbCBmb3JtYXRzLiBBIGZ1bGwgbGlzdCBjYW4gYmUgZm91bmQgdXNpbmcKKyAgICAjIGdpdCBoZWxwIGNsb25lLiBFeHRyYWN0IHRoZSBzZXJ2ZXIgcGFydCB3aXRoIGEgcmVnZXguCisgICAgdXJsX21hdGNoID0gcmUuc2VhcmNoKCIuKig6Ly98QCkoW146L10qKS4qIiwgc291cmNlX2xvbmdfdXJsKQorICAgIHNvdXJjZV9zZXJ2ZXIgPSB1cmxfbWF0Y2guZ3JvdXAoMikKKworICAgICMgKDIpIEdldCB0aGUgYnJhbmNoIGZvciB0aGlzIGZpbGUuCisgICAgc291cmNlX2JyYW5jaF9saXN0ID0gcnVuX2NvbW1hbmQoImdpdCBzaG93LWJyYW5jaCAtLWxpc3QiLCBzb3VyY2VfZmlsZV9kaXIpCisgICAgc291cmNlX2JyYW5jaF9tYXRjaCA9IHJlLnNlYXJjaCgiLio/XFsoLio/KVxdLioiLCBzb3VyY2VfYnJhbmNoX2xpc3QpCisgICAgc291cmNlX2JyYW5jaCA9IHNvdXJjZV9icmFuY2hfbWF0Y2guZ3JvdXAoMSkKKworICAgICMgKDMpIFNpbmNlIHRoZSByZXBvIHJvb3QgZGlyZWN0b3J5IG5hbWUgY2FuIGJlIGNoYW5nZWQgd2l0aG91dCBhZmZlY3RpbmcKKyAgICAjIGdpdCwgd2UgbmVlZCB0byBleHRyYWN0IHRoZSBuYW1lIGZyb20gc29tZXRoaW5nIG1vcmUgcmVsaWFibGUuCisgICAgIyBUaGUgZ2l0IFVSTCBoYXMgYSByZXBvIG5hbWUgdGhhdCB3ZSBjb3VsZCB1c2UuIFdlIGp1c3QgbmVlZCB0byBzdHJpcCBvZmYKKyAgICAjIGV2ZXJ5dGhpbmcgYXJvdW5kIGl0IC0gZnJvbSBnaXRvbGl0ZUBnaXQuc29tZXNlcnZlci5jb206U29tZVJlcG8uZ2l0LyB0bworICAgICMgU29tZVJlcG8uCisgICAgc291cmNlX3JlcG9fZGlyID0gcmUuc3ViKCIvJCIsICIiLCBzb3VyY2VfbG9uZ191cmwpCisgICAgc291cmNlX3JlcG9fZGlyID0gcmUuc3ViKCJcLmdpdCQiLCAiIiwgc291cmNlX3JlcG9fZGlyKQorICAgIHNvdXJjZV9yZXBvX2RpciA9IHJlLnN1YigiLipbOi9dIiwgIiIsIHNvdXJjZV9yZXBvX2RpcikKKworICAgICMgKDQpIFdlIGtub3cgdGhlIGZpbGUgYnV0IHdhbnQgdG8gcmVtb3ZlIGFsbCBvZiB0aGUgYnVpbGQgc3lzdGVtIGRlcGVuZGVudAorICAgICMgcGF0aCB1cCB0byBhbmQgaW5jbHVkaW5nIHRoZSByZXBvc2l0b3J5J3Mgcm9vdCBkaXJlY3RvcnksIGUuZy4gcmVtb3ZlCisgICAgIyAvaG9tZS9zb21ldXNlci9kZXYvcmVwby9wcm9qZWN0eC8KKyAgICBzb3VyY2VfdG9wbGV2ZWwgPSBydW5fY29tbWFuZCgKKyAgICAgICAgImdpdCByZXYtcGFyc2UgLS1zaG93LXRvcGxldmVsIiwgc291cmNlX2ZpbGVfZGlyKQorICAgIHNvdXJjZV90b3BsZXZlbCA9IHNvdXJjZV90b3BsZXZlbCArIG9zLnBhdGguc2VwCisgICAgc291cmNlX2ZpbGUgPSBzb3VyY2VfZmlsZV9wYXRoLnJlcGxhY2Uoc291cmNlX3RvcGxldmVsLCAiIikKKworICAgICMgKDUpIEdldCB0aGUgc291cmNlIHJldmlzaW9uIHRoaXMgZmlsZSBpcyBwYXJ0IG9mLgorICAgIHNvdXJjZV9yZXZpc2lvbiA9IHJ1bl9jb21tYW5kKCJnaXQgcmV2LXBhcnNlIEhFQUQiLCBzb3VyY2VfZmlsZV9kaXIpCisKKyAgICAjIEFzc2VtYmxlIHRoZSByZXBvc2l0b3J5IHBhdGggYWNjb3JkaW5nIHRvIHRoZSBTb2NvcnJvIGZvcm1hdC4KKyAgICBzb2NvcnJvX3JlZmVyZW5jZSA9ICJnaXQ6JXMvJXM6JXMvJXM6JXMiICUgXAorICAgICAgICAoc291cmNlX3NlcnZlciwgc291cmNlX2JyYW5jaCwKKyAgICAgICAgc291cmNlX3JlcG9fZGlyLCBzb3VyY2VfZmlsZSwKKyAgICAgICAgc291cmNlX3JldmlzaW9uKQorCisgICAgcmV0dXJuIHNvY29ycm9fcmVmZXJlbmNlCisKKworZGVmIGFycmFuZ2Vfc29jb3Jyb19zeW1fZmlsZShzb2NvcnJvX3N5bV9maWxlX3BhdGgsIHNvY29ycm9fc3ltc19kaXIpOgorCisgICAgaW1wb3J0IHJlCisKKyAgICAjIEJyZWFrcGFkJ3MgbWluaWR1bXBfc3RhY2t3YWxrIG5lZWRzIGEgY2VydGFpbiBkaXJlY3Rvcnkgc3RydWN0dXJlIGluIG9yZGVyCisgICAgIyB0byBmaW5kIGNvcnJlY3Qgc3ltYm9scyB3aGVuIGV4dHJhY3RpbmcgYSBzdGFjayB0cmFjZSBvdXQgb2YgYSBtaW5pZHVtcC4KKyAgICAjIFRoZSBkaXJlY3Rvcnkgc3RydWN0dXJlIG11c3QgbG9vayBsaWtlIHRoZSBmb2xsb3dpbmcuCisgICAgIyBZb3VyQmluYXJ5LzxoYXNoPi9Zb3VyQmluYXJ5LnN5bQorICAgICMgWW91ckxpYnJhcnkuc28vPGhhc2g+L1lvdXJMaWJyYXJ5LnNvLnN5bQorICAgICMgVG8gYmUgYWJsZSB0byBjcmVhdGUgc3VjaCBzdHJ1Y3R1cmUgd2UgbmVlZCB0byBleHRyYWN0IHRoZSBoYXNoIHZhbHVlIHRoYXQKKyAgICAjIGlzIGZvdW5kIGluIGVhY2ggc3ltYm9sIGZpbGUuIFRoZSBoZWFkZXIgb2YgdGhlIHN5bWJvbCBmaWxlIGxvb2tzCisgICAgIyBzb21ldGhpbmcgbGlrZSB0aGlzOgorICAgICMgTU9EVUxFIExpbnV4IHg4NiBBMDc5RTQ3MzEwNkNFNTFDNzRDMUMyNUFGNTM2Q0NEMzAgWW91ckJpbmFyeQorICAgICMgU2VlCisgICAgIyBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZ29vZ2xlLWJyZWFrcGFkL3dpa2kvTGludXhTdGFydGVyR3VpZGUKKworICAgICMgQ3JlYXRlIHRoZSBkaXJlY3Rvcnkgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIHRoZSBiaW5hcnkuCisgICAgYmluYXJ5X2RpciA9IHJlLnN1YigiXC5zeW0kIiwgIiIsIHNvY29ycm9fc3ltX2ZpbGVfcGF0aCkKKyAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoYmluYXJ5X2Rpcik6CisgICAgICAgIG9zLm1ha2VkaXJzKGJpbmFyeV9kaXIpCisKKyAgICAjIEdldCB0aGUgaGFzaCBmcm9tIHRoZSBoZWFkZXIgb2YgdGhlIHN5bWJvbCBmaWxlLgorICAgIHdpdGggb3Blbihzb2NvcnJvX3N5bV9maWxlX3BhdGgsICdyJykgYXMgc29jb3Jyb19zeW1fZmlsZToKKworICAgICAgICAjIFRoZSBoYXNoIGlzIHRoZSA0dGggYXJndW1lbnQgb2YgdGhlIGZpcnN0IGxpbmUuCisgICAgICAgIHN5bV9maWxlX2hhc2ggPSBzb2NvcnJvX3N5bV9maWxlLnJlYWRsaW5lKCkuc3BsaXQoKVszXQorCisgICAgIyBDcmVhdGUgdGhlIGhhc2ggZGlyZWN0b3J5LgorICAgIGhhc2hfZGlyID0gb3MucGF0aC5qb2luKGJpbmFyeV9kaXIsIHN5bV9maWxlX2hhc2gpCisgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGhhc2hfZGlyKToKKyAgICAgICAgb3MubWFrZWRpcnMoaGFzaF9kaXIpCisKKyAgICAjIE1vdmUgdGhlIHN5bWJvbCBmaWxlIHRvIHRoZSBoYXNoIGRpcmVjdG9yeS4KKyAgICBzeW1fZmlsZV9uYW1lID0gb3MucGF0aC5iYXNlbmFtZShzb2NvcnJvX3N5bV9maWxlX3BhdGgpCisgICAgb3MucmVuYW1lKHNvY29ycm9fc3ltX2ZpbGVfcGF0aCwgb3MucGF0aC5qb2luKGhhc2hfZGlyLCBzeW1fZmlsZV9uYW1lKSkKKworICAgIHJldHVybgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY29uZi9kaXN0cm8vaW5jbHVkZS9tZXRhX29lX3NlY3VyaXR5X2ZsYWdzLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jb25mL2Rpc3Ryby9pbmNsdWRlL21ldGFfb2Vfc2VjdXJpdHlfZmxhZ3MuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1NjVlMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY29uZi9kaXN0cm8vaW5jbHVkZS9tZXRhX29lX3NlY3VyaXR5X2ZsYWdzLmluYwpAQCAtMCwwICsxLDcgQEAKKyMgQnVpbGQgZXJyb3JzIHdpdGggdGhlIHBpZSBvcHRpb25zIGVuYWJsZWQKK1NFQ1VSSVRZX0NGTEFHU19wbi1sdm0yID0gIiR7U0VDVVJJVFlfTk9fUElFX0NGTEFHU30iCitTRUNVUklUWV9DRkxBR1NfcG4tcnJkdG9vbCA9ICIke1NFQ1VSSVRZX05PX1BJRV9DRkxBR1N9IgorCisjIFRoaXMgaGFzIHRleHQgcmVsb2MgZXJyb3JzIHdpdGggdGhlIHBpZSBvcHRpb25zIGVuYWJsZWQKK1NFQ1VSSVRZX0NGTEFHU19wbi1tb3pqcyA9ICIke1NFQ1VSSVRZX05PX1BJRV9DRkxBR1N9IgorU0VDVVJJVFlfQ0ZMQUdTX3BuLW9wZW5sZGFwID0gIiR7U0VDVVJJVFlfTk9fUElFX0NGTEFHU30iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY29uZi9sYXllci5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NvbmYvbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjdjYzFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NvbmYvbGF5ZXIuY29uZgpAQCAtMCwwICsxLDc1IEBACisjIEl0IHJlYWxseSBkZXBlbmRzIG9uIG9yZGVyIG9mIHRoZSBsYXllcnMgYXBwZWFyaW5nIGluIEJCTEFZRVJTCisjIHZhcmlhYmxlIGluIHRvcGxldmVsIGJibGF5ZXJzLmNvbmYgZmlsZSwgd2hlcmUgYml0YmFrZSB3aWxsIHNlYXJjaAorIyBmb3IgLmluYyBmaWxlcyBhbmQgb3RoZXJzIHdoZXJlIGJpdGJha2UgdXNlcyBCQlBBVEggc2luY2UgaXQgd2lsbAorIyBzZWFyY2ggdGhlIGRpcmVjdG9yaWVzIGZyb20gZmlyc3QgdG8gbGFzdCBhcyBzcGVjaWZpZWQgaW4gQkJQQVRICisjIFRoZXJlZm9yZSBpZiB5b3Ugd2FudCBhIGdpdmVuIGxheWVyIHRvIGJlIGNvbnNpZGVyZWQgaGlnaCBwcmlvcml0eQorIyBmb3IgdGhlIC5pbmMgYW5kIC5jb25mIGV0Yy4gdGhlbiBjb25zaWRlciBpdCBhZGRpbmcgYXQgdGhlIGJlZ2lubmluZworIyBvZiBCQlBBVEguIEZvciBiYmxheWVycyBiaXRiYWtlIHdpbGwgdXNlIEJCRklMRVNfUFJJT1JJVFkgdG8gcmVzb2x2ZQorIyB0aGUgcmVjaXBlIGNvbnRlbnRpb24gc28gdGhlIG9yZGVyIG9mIGRpcmVjdG9yaWVzIGluIEJCRklMRVMgZG9lcyAKKyMgbm90IG1hdHRlci4KKworIyBXZSBoYXZlIGEgY29uZiBhbmQgY2xhc3NlcyBkaXJlY3RvcnksIGFwcGVuZCB0byBCQlBBVEgKK0JCUEFUSCAuPSAiOiR7TEFZRVJESVJ9IgorCisjIFdlIGhhdmUgYSByZWNpcGVzIGRpcmVjdG9yeSwgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKKworQkJGSUxFX0NPTExFQ1RJT05TICs9ICJvcGVuZW1iZWRkZWQtbGF5ZXIiCitCQkZJTEVfUEFUVEVSTl9vcGVuZW1iZWRkZWQtbGF5ZXIgOj0gIl4ke0xBWUVSRElSfS8iCisKKyMgRGVmaW5lIHRoZSBwcmlvcml0eSBmb3IgcmVjaXBlcyAoLmJiIGZpbGVzKSBmcm9tIHRoaXMgbGF5ZXIsCisjIGNob29zaW5nIGNhcmVmdWxseSBob3cgdGhpcyBsYXllciBpbnRlcmFjdHMgd2l0aCBhbGwgb2YgdGhlCisjIG90aGVyIGxheWVycy4KKworQkJGSUxFX1BSSU9SSVRZX29wZW5lbWJlZGRlZC1sYXllciA9ICI2IgorCisjIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jcmVtZW50ZWQgb24gc2lnbmlmaWNhbnQgY2hhbmdlcyB0aGF0IHdpbGwKKyMgY2F1c2UgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBvdGhlciBsYXllcnMKK0xBWUVSVkVSU0lPTl9vcGVuZW1iZWRkZWQtbGF5ZXIgPSAiMSIKKworTEFZRVJERVBFTkRTX29wZW5lbWJlZGRlZC1sYXllciA9ICJjb3JlIgorCitMSUNFTlNFX1BBVEggKz0gIiR7TEFZRVJESVJ9L2xpY2Vuc2VzIgorCitTSUdHRU5fRVhDTFVERVJFQ0lQRVNfQUJJU0FGRSArPSAiIFwKKyAgbXBsYXllci1jb21tb24gXAorICBmYnNldC1tb2RlcyBcCisgIGdwc2QtbWFjaGluZS1jb25mIFwKKyAgZGlzdHJvLWZlZWQtY29uZmlncyBcCisgIGNhLWNlcnRpZmljYXRlcyBcCisiCisKK1NJR0dFTl9FWENMVURFX1NBRkVfUkVDSVBFX0RFUFMgKz0gIiBcCisgIHVzYi1tb2Rlc3dpdGNoLWRhdGEtPnVzYi1tb2Rlc3dpdGNoIFwKKyAgbG1zZW5zb3JzLT5sbXNlbnNvcnMtY29uZmlnIFwKKyAgcGhvcm9uaXgtdGVzdC1zdWl0ZS0+YmFzaCBcCisgIHBob3Jvbml4LXRlc3Qtc3VpdGUtPnB5dGhvbiBcCisgIHBob3Jvbml4LXRlc3Qtc3VpdGUtPnBocCBcCisiCisKKyMgdHRmLmluYyBpbmhlcml0cyBmb250Y2FjaGUgd2hpY2ggYWRkcyBmb250Y29uZmlnLXV0aWxzIHRvIFJERVBFTkRTCitTSUdHRU5fRVhDTFVERV9TQUZFX1JFQ0lQRV9ERVBTICs9ICIgXAorICB0ZXJtaW51cy1mb250LT5mb250Y29uZmlnIFwKKyAgdHRmLWFycGhpYy11bWluZy0+Zm9udGNvbmZpZyBcCisgIHR0Zi1kZWphdnUtPmZvbnRjb25maWcgXAorICB0dGYtZHJvaWQtPmZvbnRjb25maWcgXAorICB0dGYtZ2VudGl1bS0+Zm9udGNvbmZpZyBcCisgIHR0Zi1odW5reWZvbnRzLT5mb250Y29uZmlnIFwKKyAgdHRmLWluY29uc29sYXRhLT5mb250Y29uZmlnIFwKKyAgdHRmLWxpYmVyYXRpb24tPmZvbnRjb25maWcgXAorICB0dGYtcHQtc2Fucy0+Zm9udGNvbmZpZyBcCisgIHR0Zi1tcGx1cy0+Zm9udGNvbmZpZyBcCisgIHR0Zi1zYXphbmFtaS0+Zm9udGNvbmZpZyBcCisgIHR0Zi10bHdnLT5mb250Y29uZmlnIFwKKyAgdHRmLXVidW50dS1mb250LWZhbWlseS0+Zm9udGNvbmZpZyBcCisgIHR0Zi13cXktemVuaGVpLT5mb250Y29uZmlnIFwKKyAgc291cmNlLWhhbi1zYW5zLWNuLWZvbnRzLT5mb250Y29uZmlnIFwKKyAgc291cmNlLWhhbi1zYW5zLWpwLWZvbnRzLT5mb250Y29uZmlnIFwKKyAgc291cmNlLWhhbi1zYW5zLWtyLWZvbnRzLT5mb250Y29uZmlnIFwKKyAgc291cmNlLWhhbi1zYW5zLXR3LWZvbnRzLT5mb250Y29uZmlnIFwKKyIKKworRlJFRVNNQVJUUEhPTkVfR0lUID0gImdpdDovL2dpdC5mcmVlc21hcnRwaG9uZS5vcmciCisKKyMgT3ZlcnJpZGUgc2VjdXJpdHkgZmxhZ3MKK3JlcXVpcmUgY29uZi9kaXN0cm8vaW5jbHVkZS9tZXRhX29lX3NlY3VyaXR5X2ZsYWdzLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0dEIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0dECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlMTdkMDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvR0QKQEAgLTAsMCArMSw1MyBAQAorIAorICAgICBQb3J0aW9ucyBjb3B5cmlnaHQgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwKKyAgICAgMjAwMiBieSBDb2xkIFNwcmluZyBIYXJib3IgTGFib3JhdG9yeS4gRnVuZGVkIHVuZGVyIEdyYW50CisgICAgIFA0MS1SUjAyMTg4IGJ5IHRoZSBOYXRpb25hbCBJbnN0aXR1dGVzIG9mIEhlYWx0aC4gCisKKyAgICAgUG9ydGlvbnMgY29weXJpZ2h0IDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDIgYnkKKyAgICAgQm91dGVsbC5Db20sIEluYy4gCisKKyAgICAgUG9ydGlvbnMgcmVsYXRpbmcgdG8gR0QyIGZvcm1hdCBjb3B5cmlnaHQgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgorICAgICBQaGlsaXAgV2FybmVyLgorICAgICAKKyAgICAgUG9ydGlvbnMgcmVsYXRpbmcgdG8gUE5HIGNvcHlyaWdodCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAyIEdyZWcKKyAgICAgUm9lbG9mcy4gCisKKyAgICAgUG9ydGlvbnMgcmVsYXRpbmcgdG8gZ2R0dGYuYyBjb3B5cmlnaHQgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMiBKb2huICAKKyAgICAgRWxsc29uIChlbGxzb25AbHVjZW50LmNvbSkuCisgICAKKyAgICAgUG9ydGlvbnMgcmVsYXRpbmcgdG8gZ2RmdC5jIGNvcHlyaWdodCAyMDAxLCAyMDAyIEpvaG4gRWxsc29uICAKKyAgICAgKGVsbHNvbkBsdWNlbnQuY29tKS4gIAorCisgICAgIFBvcnRpb25zIGNvcHlyaWdodCAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3CisJCSBQaWVycmUtQWxhaW4gSm95ZSAocGllcnJlQGxpYmdkLm9yZykuICAKKworICAgICBQb3J0aW9ucyByZWxhdGluZyB0byBKUEVHIGFuZCB0byBjb2xvciBxdWFudGl6YXRpb24gY29weXJpZ2h0IDIwMDAsCisgICAgIDIwMDEsIDIwMDIsIERvdWcgQmVja2VyIGFuZCBjb3B5cmlnaHQgKEMpIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTcsCisgICAgIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDIsIFRob21hcyBHLiBMYW5lLiBUaGlzIHNvZnR3YXJlIGlzCisgICAgIGJhc2VkIGluIHBhcnQgb24gdGhlIHdvcmsgb2YgdGhlIEluZGVwZW5kZW50IEpQRUcgR3JvdXAuIFNlZSB0aGUKKyAgICAgZmlsZSBSRUFETUUtSlBFRy5UWFQgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyAgICAgUG9ydGlvbnMgcmVsYXRpbmcgdG8gV0JNUCBjb3B5cmlnaHQgMjAwMCwgMjAwMSwgMjAwMiBNYXVyaWNlCisgICAgIFN6bXVybG8gYW5kIEpvaGFuIFZhbiBkZW4gQnJhbmRlLgorCisgICAgIFBlcm1pc3Npb24gaGFzIGJlZW4gZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgZ2QgaW4KKyAgICAgYW55IGNvbnRleHQgd2l0aG91dCBmZWUsIGluY2x1ZGluZyBhIGNvbW1lcmNpYWwgYXBwbGljYXRpb24sCisgICAgIHByb3ZpZGVkIHRoYXQgdGhpcyBub3RpY2UgaXMgcHJlc2VudCBpbiB1c2VyLWFjY2Vzc2libGUgc3VwcG9ydGluZworICAgICBkb2N1bWVudGF0aW9uLgorCisgICAgIFRoaXMgZG9lcyBub3QgYWZmZWN0IHlvdXIgb3duZXJzaGlwIG9mIHRoZSBkZXJpdmVkIHdvcmsgaXRzZWxmLCBhbmQgCisgICAgIHRoZSBpbnRlbnQgaXMgdG8gYXNzdXJlIHByb3BlciBjcmVkaXQgZm9yIHRoZSBhdXRob3JzIG9mIGdkLCBub3QgdG8KKyAgICAgaW50ZXJmZXJlIHdpdGggeW91ciBwcm9kdWN0aXZlIHVzZSBvZiBnZC4gSWYgeW91IGhhdmUgcXVlc3Rpb25zLAorICAgICBhc2suICJEZXJpdmVkIHdvcmtzIiBpbmNsdWRlcyBhbGwgcHJvZ3JhbXMgdGhhdCB1dGlsaXplIHRoZSAgIAorICAgICBsaWJyYXJ5LiBDcmVkaXQgbXVzdCBiZSBnaXZlbiBpbiB1c2VyLWFjY2Vzc2libGUgZG9jdW1lbnRhdGlvbi4KKworICAgICBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICJBUyBJUy4iIFRoZSBjb3B5cmlnaHQgaG9sZGVycyBkaXNjbGFpbSAgCisgICAgIGFsbCB3YXJyYW50aWVzLCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLCBpbmNsdWRpbmcgYnV0IG5vdAorICAgICBsaW1pdGVkIHRvIGltcGxpZWQgd2FycmFudGllcyBvZiBtZXJjaGFudGFiaWxpdHkgYW5kIGZpdG5lc3MgZm9yIGEKKyAgICAgcGFydGljdWxhciBwdXJwb3NlLCB3aXRoIHJlc3BlY3QgdG8gdGhpcyBjb2RlIGFuZCBhY2NvbXBhbnlpbmcgIAorICAgICBkb2N1bWVudGF0aW9uLgorCisgICAgIEFsdGhvdWdoIHRoZWlyIGNvZGUgZG9lcyBub3QgYXBwZWFyIGluIGdkLCB0aGUgYXV0aG9ycyB3aXNoIHRvIHRoYW5rCisgICAgIERhdmlkIEtvYmxhcywgRGF2aWQgUm93bGV5LCBhbmQgSHV0Y2hpc29uIEF2ZW51ZSBTb2Z0d2FyZSBDb3Jwb3JhdGlvbgorICAgICBmb3IgdGhlaXIgcHJpb3IgY29udHJpYnV0aW9ucy4KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0dQTC0yLjAtd2l0aC1sbWJlbmNoLXJlc3RyaWN0aW9uIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0dQTC0yLjAtd2l0aC1sbWJlbmNoLXJlc3RyaWN0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlMWY3Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvR1BMLTIuMC13aXRoLWxtYmVuY2gtcmVzdHJpY3Rpb24KQEAgLTAsMCArMSwxMDggQEAKKyVNJSAlSSUgJUUlCisKK1RoZSBzZXQgb2YgcHJvZ3JhbXMgYW5kIGRvY3VtZW50YXRpb24ga25vd24gYXMgImxtYmVuY2giIGFyZSBkaXN0cmlidXRlZAordW5kZXIgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbidzIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ugd2l0aCB0aGUKK2ZvbGxvd2luZyBhZGRpdGlvbmFsIHJlc3RyaWN0aW9ucyAod2hpY2ggb3ZlcnJpZGUgYW55IGNvbmZsaWN0aW5nCityZXN0cmljdGlvbnMgaW4gdGhlIEdQTCk6CisKKzEuIFlvdSBtYXkgbm90IGRpc3RyaWJ1dGUgcmVzdWx0cyBpbiBhbnkgcHVibGljIGZvcnVtLCBpbiBhbnkgcHVibGljYXRpb24sCisgICBvciBpbiBhbnkgb3RoZXIgd2F5IGlmIHlvdSBoYXZlIG1vZGlmaWVkIHRoZSBiZW5jaG1hcmtzLiAgCisKKzIuIFlvdSBtYXkgbm90IGRpc3RyaWJ1dGUgdGhlIHJlc3VsdHMgZm9yIGEgZmVlIG9mIGFueSBraW5kLiAgVGhpcyBpbmNsdWRlcworICAgd2ViIHNpdGVzIHdoaWNoIGdlbmVyYXRlIHJldmVudWUgZnJvbSBhZHZlcnRpc2luZy4KKworSWYgeW91IGhhdmUgbW9kaWZpY2F0aW9ucyBvciBlbmhhbmNlbWVudHMgdGhhdCB5b3Ugd2lzaCBpbmNsdWRlZCBpbgorZnV0dXJlIHZlcnNpb25zLCBwbGVhc2UgbWFpbCB0aG9zZSB0byBtZSwgTGFycnkgTWNWb3ksIGF0IGxtQGJpdG1vdmVyLmNvbS4KKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitSYXRpb25hbGUgZm9yIHRoZSBwdWJsaWNhdGlvbiByZXN0cmljdGlvbnM6CisKK0luIHN1bW1hcnk6CisKKyAgICBhKSBMTWJlbmNoIGlzIGRlc2lnbmVkIHRvIG1lYXN1cmUgZW5vdWdoIG9mIGFuIE9TIHRoYXQgaWYgeW91IGRvIHdlbGwgaW4KKyAgICAgICBhbGwgY2F0YWdvcmllcywgeW91J3ZlIGNvdmVyZWQgbGF0ZW5jeSBhbmQgYmFuZHdpZHRoIGluIG5ldHdvcmtpbmcsCisgICAgICAgZGlza3MsIGZpbGUgc3lzdGVtcywgVk0gc3lzdGVtcywgYW5kIG1lbW9yeSBzeXN0ZW1zLgorICAgIGIpIE11bHRpcGxlIHRpbWVzIGluIHRoZSBwYXN0IHBlb3BsZSBoYXZlIHdhbnRlZCB0byByZXBvcnQgcGFydGlhbCByZXN1bHRzLgorICAgICAgIFdpdGhvdXQgZXhjZXB0aW9uLCB0aGV5IHdlcmUgZG9pbmcgc28gdG8gc2hvdyBhIHNrZXdlZCB2aWV3IG9mIHdoYXRldmVyCisgICAgICAgaXQgd2FzIHRoZXkgd2VyZSBtZWFzdXJpbmcgKGZvciBleGFtcGxlLCBvbmUgT1MgZml0IHNtYWxsIHByb2Nlc3NlcyBpbnRvCisgICAgICAgc2VnbWVudHMgYW5kIHVzZWQgdGhlIHNlZ21lbnQgcmVnaXN0ZXIgdG8gc3dpdGNoIHRoZW0sIGdldHRpbmcgZ29vZCAKKyAgICAgICByZXN1bHRzLCBidXQgZGlkIG5vdCB3YW50IHRvIHJlcG9ydCBsYXJnZSBwcm9jZXNzIGNvbnRleHQgc3dpdGNoZXMgCisgICAgICAgYmVjYXVzZSB0aG9zZSBkaWRuJ3QgbG9vayBhcyBnb29kKS4KKyAgICBjKSBXZSBpbnNpc3QgdGhhdCBpZiB5b3UgZm9ybWFsbHkgcmVwb3J0IExNYmVuY2ggcmVzdWx0cywgeW91IGhhdmUgdG8KKyAgICAgICByZXBvcnQgYWxsIG9mIHRoZW0gYW5kIG1ha2UgdGhlIHJhdyByZXN1bHRzIGZpbGUgZWFzaWx5IGF2YWlsYWJsZS4KKyAgICAgICBSZXBvcnRpbmcgYWxsIG9mIHRoZW0gbWVhbnMgaW4gdGhhdCBzYW1lIHB1YmxpY2F0aW9uLCBhIHBvaW50ZXIKKyAgICAgICBkb2VzIG5vdCBjb3VudC4gIEZvcm1hbGx5LCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGluIGEgcGFwZXIsCisgICAgICAgb24gYSB3ZWIgc2l0ZSwgZXRjLiwgYnV0IGRvZXMgbm90IG1lYW4gdGhlIGV4Y2hhbmdlIG9mIHJlc3VsdHMKKyAgICAgICBiZXR3ZWVuIE9TIGRldmVsb3BlcnMgd2hvIGFyZSB0dW5pbmcgYSBwYXJ0aWN1bGFyIHN1YnN5c3RlbS4KKworV2UgaGF2ZSBhIGxvdCBvZiBoaXN0b3J5IHdpdGggYmVuY2htYXJraW5nIGFuZCBmZWVsIHN0cm9uZ2x5IHRoYXQgdGhlcmUKK2lzIGxpdHRsZSB0byBiZSBnYWluZWQgYW5kIGEgbG90IHRvIGJlIGxvc3QgaWYgd2UgYWxsb3dlZCB0aGUgcmVzdWx0cwordG8gYmUgcHVibGlzaGVkIGluIGlzb2xhdGlvbiwgd2l0aG91dCB0aGUgY29tcGxldGUgc3RvcnkgYmVpbmcgdG9sZC4KKworVGhlcmUgaGFzIGJlZW4gYSBsb3Qgb2YgZGlzY3Vzc2lvbiBhYm91dCB0aGlzLCB3aXRoIHBlb3BsZSBub3QgbGlraW5nIHRoaXMKK3Jlc3RyaWN0aW9uLCBtb3JlIG9yIGxlc3Mgb24gdGhlIGZyZWVkb20gcHJpbmNpcGxlIGFzIGZhciBhcyBJIGNhbiB0ZWxsLgorV2UncmUgbm90IHN3YXllZCBieSB0aGF0LCBvdXIgcG9zaXRpb24gaXMgdGhhdCB3ZSBhcmUgZG9pbmcgdGhlIHJpZ2h0Cit0aGluZyBmb3IgdGhlIE9TIGNvbW11bml0eSBhbmQgd2lsbCBzdGljayB0byBvdXIgZ3VucyBvbiB0aGlzIG9uZS4KKworSXQgd291bGQgYmUgYSBkaWZmZXJlbnQgbWF0dGVyIGlmIHRoZXJlIHdlcmUgMyBvdGhlciBjb21wZXRpbmcKK2JlbmNobWFya2luZyBzeXN0ZW1zIG91dCB0aGVyZSB0aGF0IGRpZCB3aGF0IExNYmVuY2ggZG9lcyBhbmQgZGlkbid0IGhhdmUKK3RoZSBzYW1lIHJlcG9ydGluZyBydWxlcy4gIFRoZXJlIGFyZW4ndCBhbmQgYXMgbG9uZyBhcyB0aGF0IGlzIHRoZSBjYXNlLAorSSBzZWUgbm8gcmVhc29uIHRvIGNoYW5nZSBteSBtaW5kIGFuZCBsb3RzIG9mIHJlYXNvbnMgbm90IHRvIGRvIHNvLiAgSSdtCitzb3JyeSBpZiBJJ20gYSBwYWluIGluIHRoZSBhc3Mgb24gdGhpcyB0b3BpYywgYnV0IEknbSBkb2luZyB0aGUgcmlnaHQKK3RoaW5nIGZvciB5b3UgYW5kIHRoZSBzb29uZXIgcGVvcGxlIHJlYWxpemUgdGhhdCB0aGUgc29vbmVyIHdlIGNhbiBnZXQgb24KK3RvIHJlYWwgd29yay4KKworT3BlcmF0aW5nIHN5c3RlbSBkZXNpZ24gaXMgYSBsYXJnZWx5IGFuIGFydCBvZiBiYWxhbmNpbmcgdHJhZGVvZmZzLgorSW4gbWFueSBjYXNlcyBpbXByb3Zpbmcgb25lIHBhcnQgb2YgdGhlIHN5c3RlbSBoYXMgbmVnYXRpdmUgZWZmZWN0cworb24gb3RoZXIgcGFydHMgb2YgdGhlIHN5c3RlbS4gIFRoZSBhcnQgaXMgY2hvb3Npbmcgd2hpY2ggcGFydHMgdG8KK29wdGltaXplIGFuZCB3aGljaCB0byBub3Qgb3B0aW1pemUuICBKdXN0IGxpa2UgaW4gY29tcHV0ZXIgYXJjaGl0ZWN0dXJlLAoreW91IGNhbiBvcHRpbWl6ZSB0aGUgY29tbW9uIGluc3RydWN0aW9ucyAoUklTQykgb3IgdGhlIHVuY29tbW9uCitpbnN0cnVjdGlvbnMgKENJU0MpLCBidXQgaW4gZWl0aGVyIGNhc2UgdGhlcmUgaXMgdXN1YWxseSBhIGNvc3QgdG8KK3BheSAoaW4gUklTQyB1bmNvbW1vbiBpbnN0cnVjdGlvbnMgYXJlIG1vcmUgZXhwZW5zaXZlIHRoYW4gY29tbW9uCitpbnN0cnVjdGlvbnMsIGFuZCBpbiBDSVNDIGNvbW1vbiBpbnN0cnVjdGlvbnMgYXJlIG1vcmUgZXhwZW5zaXZlCit0aGFuIHJlcXVpcmVkKS4gIFRoZSBhcnQgbGllcyBpbiBrbm93aW5nIHdoaWNoIG9wZXJhdGlvbnMgYXJlIAoraW1wb3J0YW50IGFuZCBvcHRtaXppbmcgdGhvc2Ugd2hpbGUgbWluaW1pemluZyB0aGUgaW1wYWN0IG9uIHRoZQorcmVzdCBvZiB0aGUgc3lzdGVtLiAgCisKK1NpbmNlIGxtYmVuY2ggZ2l2ZXMgYSBnb29kIG92ZXJ2aWV3IG9mIG1hbnkgaW1wb3J0YW50IHN5c3RlbSBmZWF0dXJlcywKK3VzZXJzIG1heSBzZWUgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBzeXN0ZW0gYXMgYSB3aG9sZSwgYW5kIGNhbgorc2VlIHdoZXJlIHRyYWRlb2ZmcyBtYXkgaGF2ZSBiZWVuIG1hZGUuICBUaGlzIGlzIHRoZSBkcml2aW5nIGZvcmNlCitiZWhpbmQgdGhlIHB1YmxpY2F0aW9uIHJlc3RyaWN0aW9uOiBhbnkgaWRpb3QgY2FuIG9wdGltaXplIGNlcnRhaW4KK3N1YnN5c3RlbXMgd2hpbGUgY29tcGxldGVseSBkZXN0cm95aW5nIG92ZXJhbGwgc3lzdGVtIHBlcmZvcm1hbmNlLgorSWYgc2FpZCBpZGlvdCBwdWJsaXNoZXMgKm9ubHkqIHRoZSBudW1iZXJzIHJlbGF0aW5nIHRvIHRoZSBvcHRpbWl6ZWQKK3N1YnN5c3RlbSwgdGhlbiB0aGUgY29zdHMgb2YgdGhlIG9wdGltaXphdGlvbiBhcmUgaGlkZGVuIGFuZCByZWFkZXJzCit3aWxsIG1pc3Rha2VubHkgYmVsaWV2ZSB0aGF0IHRoZSBvcHRpbWl6YXRpb24gaXMgYSBnb29kIGlkZWEuICBCeQoraW5jbHVkaW5nIHRoZSBwdWJsaWNhdGlvbiByZXN0cmljdGlvbiByZWFkZXJzIHdvdWxkIGJlIGFibGUgdG8KK2RldGVjdCB0aGF0IHRoZSBvcHRpbWl6YXRpb24gaW1wcm92ZWQgdGhlIHN1YnN5c3RlbSBwZXJmb3JtYW5jZQord2hpbGUgZGFtYWdpbmcgdGhlIHJlc3Qgb2YgdGhlIHN5c3RlbSBwZXJmb3JtYW5jZSBhbmQgd291bGQgYmUgYWJsZQordG8gbWFrZSBhbiBpbmZvcm1lZCBkZWNpc2lvbiBhcyB0byB0aGUgbWVyaXRzIG9mIHRoZSBvcHRpbWl6YXRpb24uCisKK05vdGUgdGhhdCB0aGVzZSByZXN0cmljdGlvbnMgb25seSBhcHBseSB0byAqcHVibGljYXRpb25zKi4gIFdlCitpbnRlbmQgYW5kIGVuY291cmFnZSBsbWJlbmNoJ3MgdXNlIGR1cmluZyBkZXNpZ24sIGRldmVsb3BtZW50LAorYW5kIHR3ZWFraW5nIG9mIHN5c3RlbXMgYW5kIGFwcGxpY2F0aW9ucy4gIElmIHlvdSBhcmUgdHVuaW5nIHRoZQorbGludXggb3IgQlNEIFRDUCBzdGFjaywgdGhlbiBieSBhbGwgbWVhbnMsIHVzZSB0aGUgbmV0d29ya2luZworYmVuY2htYXJrcyB0byBldmFsdWF0ZSB0aGUgcGVyZm9ybWFuY2UgZWZmZWN0cyBvZiB2YXJpb3VzIAorbW9kaWZpY2F0aW9uczsgU3dhcCByZXN1bHRzIHdpdGggb3RoZXIgZGV2ZWxvcGVyczsgdXNlIHRoZQorbmV0d29ya2luZyBudW1iZXJzIGluIGlzb2xhdGlvbi4gIFRoZSByZXN0cmljdGlvbnMgb25seSBraWNrCitpbiB3aGVuIHlvdSBnbyB0byAqcHVibGlzaCogdGhlIHJlc3VsdHMuICBJZiB5b3Ugc3BlZCB1cCB0aGUKK1RDUCBzdGFjayBieSBhIGZhY3RvciBvZiAyIGFuZCB3YW50IHRvIHB1Ymxpc2ggYSBwYXBlciB3aXRoIHRoZQordmFyaW91cyB0d2Vha3Mgb3IgYWxnb3JpdGhtcyB1c2VkIHRvIGFjY29tcGxpc2ggdGhpcyBnb2FsLCB0aGVuCit5b3UgY2FuIHB1Ymxpc2ggdGhlIG5ldHdvcmtpbmcgbnVtYmVycyB0byBzaG93IHRoZSBpbXByb3ZlbWVudC4KK0hvd2V2ZXIsIHRoZSBwYXBlciAqbXVzdCogYWxzbyBpbmNsdWRlIHRoZSByZXN0IG9mIHRoZSBzdGFuZGFyZAorbG1iZW5jaCBudW1iZXJzIHRvIHNob3cgaG93IHlvdXIgdHdlYWtzIG1heSAob3IgbWF5IG5vdCkgaGF2ZQoraW1wYWN0ZWQgdGhlIHJlc3Qgb2YgdGhlIHN5c3RlbS4gIFRoZSBmdWxsIHNldCBvZiBudW1iZXJzIG1heQorYmUgaW5jbHVkZWQgaW4gYW4gYXBwZW5kaXgsIGJ1dCB0aGV5ICptdXN0KiBiZSBpbmNsdWRlZCBpbiB0aGUKK3BhcGVyLgorCitUaGlzIGhlbHBzIHByb3RlY3QgdGhlIGNvbW11bml0eSBmcm9tIGFkb3B0aW5nIGZsYXdlZCB0ZWNobm9sb2dpZXMKK2Jhc2VkIG9uIGluY29tcGxldGUgZGF0YS4gIEl0IGFsc28gaGVscHMgcHJvdGVjdCB0aGUgY29tbXVuaXR5IGZyb20KK21pc2xlYWRpbmcgbWFya2V0aW5nIHdoaWNoIHRyaWVzIHRvIHNlbGwgc3lzdGVtcyBiYXNlZCBvbiBwYXJ0aWFsCisoc2tld2VkKSBsbWJlbmNoIHBlcmZvcm1hbmNlIHJlc3VsdHMuICAKKworV2UgaGF2ZSBzZWVuIG1hbnkgY2FzZXMgaW4gdGhlIHBhc3Qgd2hlcmUgcGFydGlhbCBvciBtaXNsZWFkaW5nCitiZW5jaG1hcmsgcmVzdWx0cyBoYXZlIGNhdXNlZCBncmVhdCBoYXJtIHRvIHRoZSBjb21tdW5pdHksIGFuZAord2Ugd2FudCB0byBlbnN1cmUgdGhhdCBvdXIgYmVuY2htYXJrIGlzIG5vdCB1c2VkIHRvIHBlcnBldHJhdGUKK2Z1cnRoZXIgaGFybSBhbmQgc3VwcG9ydCBmYWxzZSBvciBtaXNsZWFkaW5nIGNsYWltcy4KKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvSW1hZ2VNYWdpY2sgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvSW1hZ2VNYWdpY2sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE0MTY2OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9JbWFnZU1hZ2ljawpAQCAtMCwwICsxLDEwMyBAQAorQmVmb3JlIHdlIGdldCB0byB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSwgbGV0cyBqdXN0IHJldmlldyB3aGF0IHRoZSBsaWNlbnNlIHNheXMgaW4gc2ltcGxlIHRlcm1zOgorCitJdCBhbGxvd3MgeW91IHRvOgorCisgICogZnJlZWx5IGRvd25sb2FkIGFuZCB1c2UgSW1hZ2VNYWdpY2sgc29mdHdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsIGZvciBwZXJzb25hbCwgY29tcGFueSBpbnRlcm5hbCwgb3IgY29tbWVyY2lhbCBwdXJwb3NlczsKKyAgKiB1c2UgSW1hZ2VNYWdpY2sgc29mdHdhcmUgaW4gcGFja2FnZXMgb3IgZGlzdHJpYnV0aW9ucyB0aGF0IHlvdSBjcmVhdGU7CisgICogbGluayBhZ2FpbnN0IGEgbGlicmFyeSB1bmRlciBhIGRpZmZlcmVudCBsaWNlbnNlOworICAqIGxpbmsgY29kZSB1bmRlciBhIGRpZmZlcmVudCBsaWNlbnNlIGFnYWluc3QgYSBsaWJyYXJ5IHVuZGVyIHRoaXMgbGljZW5zZTsKKyAgKiBtZXJnZSBjb2RlIGludG8gYSB3b3JrIHVuZGVyIGEgZGlmZmVyZW50IGxpY2Vuc2U7CisgICogZXh0ZW5kIHBhdGVudCBncmFudHMgdG8gYW55IGNvZGUgdXNpbmcgY29kZSB1bmRlciB0aGlzIGxpY2Vuc2U7CisgICogYW5kIGV4dGVuZCBwYXRlbnQgcHJvdGVjdGlvbi4KKworSXQgZm9yYmlkcyB5b3UgdG86CisKKyAgKiByZWRpc3RyaWJ1dGUgYW55IHBpZWNlIG9mIEltYWdlTWFnaWNrLW9yaWdpbmF0ZWQgc29mdHdhcmUgd2l0aG91dCBwcm9wZXIgYXR0cmlidXRpb247CisgICogdXNlIGFueSBtYXJrcyBvd25lZCBieSBJbWFnZU1hZ2ljayBTdHVkaW8gTExDIGluIGFueSB3YXkgdGhhdCBtaWdodCBzdGF0ZSBvciBpbXBseSB0aGF0IEltYWdlTWFnaWNrIFN0dWRpbyBMTEMgZW5kb3JzZXMgeW91ciBkaXN0cmlidXRpb247CisgICogdXNlIGFueSBtYXJrcyBvd25lZCBieSBJbWFnZU1hZ2ljayBTdHVkaW8gTExDIGluIGFueSB3YXkgdGhhdCBtaWdodCBzdGF0ZSBvciBpbXBseSB0aGF0IHlvdSBjcmVhdGVkIHRoZSBJbWFnZU1hZ2ljayBzb2Z0d2FyZSBpbiBxdWVzdGlvbi4KKworSXQgcmVxdWlyZXMgeW91IHRvOgorCisgICogaW5jbHVkZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgaW4gYW55IHJlZGlzdHJpYnV0aW9uIHlvdSBtYXkgbWFrZSB0aGF0IGluY2x1ZGVzIEltYWdlTWFnaWNrIHNvZnR3YXJlOworICAqIHByb3ZpZGUgY2xlYXIgYXR0cmlidXRpb24gdG8gSW1hZ2VNYWdpY2sgU3R1ZGlvIExMQyBmb3IgYW55IGRpc3RyaWJ1dGlvbnMgdGhhdCBpbmNsdWRlIEltYWdlTWFnaWNrIHNvZnR3YXJlLgorCitJdCBkb2VzIG5vdCByZXF1aXJlIHlvdSB0bzoKKworICAqIGluY2x1ZGUgdGhlIHNvdXJjZSBvZiB0aGUgSW1hZ2VNYWdpY2sgc29mdHdhcmUgaXRzZWxmLCBvciBvZiBhbnkgbW9kaWZpY2F0aW9ucyB5b3UgbWF5IGhhdmUgbWFkZSB0byBpdCwgaW4gYW55IHJlZGlzdHJpYnV0aW9uIHlvdSBtYXkgYXNzZW1ibGUgdGhhdCBpbmNsdWRlcyBpdDsKKyAgKiBzdWJtaXQgY2hhbmdlcyB0aGF0IHlvdSBtYWtlIHRvIHRoZSBzb2Z0d2FyZSBiYWNrIHRvIHRoZSBJbWFnZU1hZ2ljayBTdHVkaW8gTExDICh0aG91Z2ggc3VjaCBmZWVkYmFjayBpcyBlbmNvdXJhZ2VkKS4KKworQSBmZXcgb3RoZXIgY2xhcmlmaWNhdGlvbnMgaW5jbHVkZToKKworICAqIEltYWdlTWFnaWNrIGlzIGZyZWVseSBhdmFpbGFibGUgd2l0aG91dCBjaGFyZ2U7CisgICogeW91IG1heSBpbmNsdWRlIEltYWdlTWFnaWNrIG9uIGEgRFZEIGFzIGxvbmcgYXMgeW91IGNvbXBseSB3aXRoIHRoZSB0ZXJtcyBvZiB0aGUgbGljZW5zZTsKKyAgKiB5b3UgY2FuIGdpdmUgbW9kaWZpZWQgY29kZSBhd2F5IGZvciBmcmVlIG9yIHNlbGwgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBJbWFnZU1hZ2ljayBsaWNlbnNlIG9yIGRpc3RyaWJ1dGUgdGhlIHJlc3VsdCB1bmRlciBhIGRpZmZlcmVudCBsaWNlbnNlLCBidXQgeW91IG5lZWQgdG8gYWNrbm93bGVkZ2UgdGhlIHVzZSBvZiB0aGUgSW1hZ2VNYWdpY2sgc29mdHdhcmU7CisgICogdGhlIGxpY2Vuc2UgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBHUEwgVjMuCisgICogd2hlbiBleHBvcnRpbmcgdGhlIEltYWdlTWFnaWNrIHNvZnR3YXJlLCByZXZpZXcgaXRzIGV4cG9ydCBjbGFzc2lmaWNhdGlvbi4KKworVGVybXMgYW5kIENvbmRpdGlvbnMgZm9yIFVzZSwgUmVwcm9kdWN0aW9uLCBhbmQgRGlzdHJpYnV0aW9uCisKK1RoZSBsZWdhbGx5IGJpbmRpbmcgYW5kIGF1dGhvcml0YXRpdmUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLCBhbmQgZGlzdHJpYnV0aW9uIG9mIEltYWdlTWFnaWNrIGZvbGxvdzoKKworQ29weXJpZ2h0IDE5OTktMjAxNCBJbWFnZU1hZ2ljayBTdHVkaW8gTExDLCBhIG5vbi1wcm9maXQgb3JnYW5pemF0aW9uIGRlZGljYXRlZCB0byBtYWtpbmcgc29mdHdhcmUgaW1hZ2luZyBzb2x1dGlvbnMgZnJlZWx5IGF2YWlsYWJsZS4KKworMS4gRGVmaW5pdGlvbnMuCisKK0xpY2Vuc2Ugc2hhbGwgbWVhbiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLCBhbmQgZGlzdHJpYnV0aW9uIGFzIGRlZmluZWQgYnkgU2VjdGlvbnMgMSB0aHJvdWdoIDkgb2YgdGhpcyBkb2N1bWVudC4KKworTGljZW5zb3Igc2hhbGwgbWVhbiB0aGUgY29weXJpZ2h0IG93bmVyIG9yIGVudGl0eSBhdXRob3JpemVkIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgdGhhdCBpcyBncmFudGluZyB0aGUgTGljZW5zZS4KKworTGVnYWwgRW50aXR5IHNoYWxsIG1lYW4gdGhlIHVuaW9uIG9mIHRoZSBhY3RpbmcgZW50aXR5IGFuZCBhbGwgb3RoZXIgZW50aXRpZXMgdGhhdCBjb250cm9sLCBhcmUgY29udHJvbGxlZCBieSwgb3IgYXJlIHVuZGVyIGNvbW1vbiBjb250cm9sIHdpdGggdGhhdCBlbnRpdHkuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCBjb250cm9sIG1lYW5zIChpKSB0aGUgcG93ZXIsIGRpcmVjdCBvciBpbmRpcmVjdCwgdG8gY2F1c2UgdGhlIGRpcmVjdGlvbiBvciBtYW5hZ2VtZW50IG9mIHN1Y2ggZW50aXR5LCB3aGV0aGVyIGJ5IGNvbnRyYWN0IG9yIG90aGVyd2lzZSwgb3IgKGlpKSBvd25lcnNoaXAgb2YgZmlmdHkgcGVyY2VudCAoNTAlKSBvciBtb3JlIG9mIHRoZSBvdXRzdGFuZGluZyBzaGFyZXMsIG9yIChpaWkpIGJlbmVmaWNpYWwgb3duZXJzaGlwIG9mIHN1Y2ggZW50aXR5LgorCitZb3UgKG9yIFlvdXIpIHNoYWxsIG1lYW4gYW4gaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkgZXhlcmNpc2luZyBwZXJtaXNzaW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4KKworU291cmNlIGZvcm0gc2hhbGwgbWVhbiB0aGUgcHJlZmVycmVkIGZvcm0gZm9yIG1ha2luZyBtb2RpZmljYXRpb25zLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVudGF0aW9uIHNvdXJjZSwgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCisKK09iamVjdCBmb3JtIHNoYWxsIG1lYW4gYW55IGZvcm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbCB0cmFuc2Zvcm1hdGlvbiBvciB0cmFuc2xhdGlvbiBvZiBhIFNvdXJjZSBmb3JtLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGNvbXBpbGVkIG9iamVjdCBjb2RlLCBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiwgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLgorCitXb3JrIHNoYWxsIG1lYW4gdGhlIHdvcmsgb2YgYXV0aG9yc2hpcCwgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBpbmRpY2F0ZWQgYnkgYSBjb3B5cmlnaHQgbm90aWNlIHRoYXQgaXMgaW5jbHVkZWQgaW4gb3IgYXR0YWNoZWQgdG8gdGhlIHdvcmsgKGFuIGV4YW1wbGUgaXMgcHJvdmlkZWQgaW4gdGhlIEFwcGVuZGl4IGJlbG93KS4KKworRGVyaXZhdGl2ZSBXb3JrcyBzaGFsbCBtZWFuIGFueSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybSwgdGhhdCBpcyBiYXNlZCBvbiAob3IgZGVyaXZlZCBmcm9tKSB0aGUgV29yayBhbmQgZm9yIHdoaWNoIHRoZSBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2RpZmljYXRpb25zIHJlcHJlc2VudCwgYXMgYSB3aG9sZSwgYW4gb3JpZ2luYWwgd29yayBvZiBhdXRob3JzaGlwLiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgTGljZW5zZSwgRGVyaXZhdGl2ZSBXb3JrcyBzaGFsbCBub3QgaW5jbHVkZSB3b3JrcyB0aGF0IHJlbWFpbiBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsIHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YuCisKK0NvbnRyaWJ1dGlvbiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZyB0aGUgb3JpZ2luYWwgdmVyc2lvbiBvZiB0aGUgV29yayBhbmQgYW55IG1vZGlmaWNhdGlvbnMgb3IgYWRkaXRpb25zIHRvIHRoYXQgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIHRoYXQgaXMgaW50ZW50aW9uYWxseSBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyIG9yIGJ5IGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IGF1dGhvcml6ZWQgdG8gc3VibWl0IG9uIGJlaGFsZiBvZiB0aGUgY29weXJpZ2h0IG93bmVyLiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgInN1Ym1pdHRlZCIgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBvciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudCB0byB0aGUgTGljZW5zb3Igb3IgaXRzIHJlcHJlc2VudGF0aXZlcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBjb21tdW5pY2F0aW9uIG9uIGVsZWN0cm9uaWMgbWFpbGluZyBsaXN0cywgc291cmNlIGNvZGUgY29udHJvbCBzeXN0ZW1zLCBhbmQgaXNzdWUgdHJhY2tpbmcgc3lzdGVtcyB0aGF0IGFyZSBtYW5hZ2VkIGJ5LCBvciBvbiBiZWhhbGYgb2YsIHRoZSBMaWNlbnNvciBmb3IgdGhlIHB1cnBvc2Ugb2YgZGlzY3Vzc2luZyBhbmQgaW1wcm92aW5nIHRoZSBXb3JrLCBidXQgZXhjbHVkaW5nIGNvbW11bmljYXRpb24gdGhhdCBpcyBjb25zcGljdW91c2x5IG1hcmtlZCBvciBvdGhlcndpc2UgZGVzaWduYXRlZCBpbiB3cml0aW5nIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgYXMgTm90IGEgQ29udHJpYnV0aW9uLgorCitDb250cmlidXRvciBzaGFsbCBtZWFuIExpY2Vuc29yIGFuZCBhbnkgaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkgb24gYmVoYWxmIG9mIHdob20gYSBDb250cmlidXRpb24gaGFzIGJlZW4gcmVjZWl2ZWQgYnkgTGljZW5zb3IgYW5kIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrLgorCisyLiBHcmFudCBvZiBDb3B5cmlnaHQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLCB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZSBjb3B5cmlnaHQgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUgRGVyaXZhdGl2ZSBXb3JrcyBvZiwgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgc3VibGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlIFdvcmsgYW5kIHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0uCisKKzMuIEdyYW50IG9mIFBhdGVudCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBwZXJwZXR1YWwsIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlIHBhdGVudCBsaWNlbnNlIHRvIG1ha2UsIGhhdmUgbWFkZSwgdXNlLCBvZmZlciB0byBzZWxsLCBzZWxsLCBpbXBvcnQsIGFuZCBvdGhlcndpc2UgdHJhbnNmZXIgdGhlIFdvcmssIHdoZXJlIHN1Y2ggbGljZW5zZSBhcHBsaWVzIG9ubHkgdG8gdGhvc2UgcGF0ZW50IGNsYWltcyBsaWNlbnNhYmxlIGJ5IHN1Y2ggQ29udHJpYnV0b3IgdGhhdCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZWlyIENvbnRyaWJ1dGlvbihzKSBhbG9uZSBvciBieSBjb21iaW5hdGlvbiBvZiB0aGVpciBDb250cmlidXRpb24ocykgd2l0aCB0aGUgV29yayB0byB3aGljaCBzdWNoIENvbnRyaWJ1dGlvbihzKSB3YXMgc3VibWl0dGVkLiBJZiBZb3UgaW5zdGl0dXRlIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5jbHVkaW5nIGEgY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCkgYWxsZWdpbmcgdGhhdCB0aGUgV29yayBvciBhIENvbnRyaWJ1dGlvbiBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrIGNvbnN0aXR1dGVzIGRpcmVjdCBvciBjb250cmlidXRvcnkgcGF0ZW50IGluZnJpbmdlbWVudCwgdGhlbiBhbnkgcGF0ZW50IGxpY2Vuc2VzIGdyYW50ZWQgdG8gWW91IHVuZGVyIHRoaXMgTGljZW5zZSBmb3IgdGhhdCBXb3JrIHNoYWxsIHRlcm1pbmF0ZSBhcyBvZiB0aGUgZGF0ZSBzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuCisKKzQuIFJlZGlzdHJpYnV0aW9uLiBZb3UgbWF5IHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mIGluIGFueSBtZWRpdW0sIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhbmQgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLCBwcm92aWRlZCB0aGF0IFlvdSBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworICAqIFlvdSBtdXN0IGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlOyBhbmQKKyAgKiBZb3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMgc3RhdGluZyB0aGF0IFlvdSBjaGFuZ2VkIHRoZSBmaWxlczsgYW5kCisgICogWW91IG11c3QgcmV0YWluLCBpbiB0aGUgU291cmNlIGZvcm0gb2YgYW55IERlcml2YXRpdmUgV29ya3MgdGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxsIGNvcHlyaWdodCwgcGF0ZW50LCB0cmFkZW1hcmssIGFuZCBhdHRyaWJ1dGlvbiBub3RpY2VzIGZyb20gdGhlIFNvdXJjZSBmb3JtIG9mIHRoZSBXb3JrLCBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdCBwZXJ0YWluIHRvIGFueSBwYXJ0IG9mIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBhbmQKKyAgKiBJZiB0aGUgV29yayBpbmNsdWRlcyBhICJOT1RJQ0UiIHRleHQgZmlsZSBhcyBwYXJ0IG9mIGl0cyBkaXN0cmlidXRpb24sIHRoZW4gYW55IERlcml2YXRpdmUgV29ya3MgdGhhdCBZb3UgZGlzdHJpYnV0ZSBtdXN0IGluY2x1ZGUgYSByZWFkYWJsZSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGlvbiBub3RpY2VzIGNvbnRhaW5lZCB3aXRoaW4gc3VjaCBOT1RJQ0UgZmlsZSwgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QgcGVydGFpbiB0byBhbnkgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaW4gYXQgbGVhc3Qgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGxhY2VzOiB3aXRoaW4gYSBOT1RJQ0UgdGV4dCBmaWxlIGRpc3RyaWJ1dGVkIGFzIHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3M7IHdpdGhpbiB0aGUgU291cmNlIGZvcm0gb3IgZG9jdW1lbnRhdGlvbiwgaWYgcHJvdmlkZWQgYWxvbmcgd2l0aCB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgb3IsIHdpdGhpbiBhIGRpc3BsYXkgZ2VuZXJhdGVkIGJ5IHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpZiBhbmQgd2hlcmV2ZXIgc3VjaCB0aGlyZC1wYXJ0eSBub3RpY2VzIG5vcm1hbGx5IGFwcGVhci4gVGhlIGNvbnRlbnRzIG9mIHRoZSBOT1RJQ0UgZmlsZSBhcmUgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seSBhbmQgZG8gbm90IG1vZGlmeSB0aGUgTGljZW5zZS4gWW91IG1heSBhZGQgWW91ciBvd24gYXR0cmlidXRpb24gbm90aWNlcyB3aXRoaW4gRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbG9uZ3NpZGUgb3IgYXMgYW4gYWRkZW5kdW0gdG8gdGhlIE5PVElDRSB0ZXh0IGZyb20gdGhlIFdvcmssIHByb3ZpZGVkIHRoYXQgc3VjaCBhZGRpdGlvbmFsIGF0dHJpYnV0aW9uIG5vdGljZXMgY2Fubm90IGJlIGNvbnN0cnVlZCBhcyBtb2RpZnlpbmcgdGhlIExpY2Vuc2UuCitZb3UgbWF5IGFkZCBZb3VyIG93biBjb3B5cmlnaHQgc3RhdGVtZW50IHRvIFlvdXIgbW9kaWZpY2F0aW9ucyBhbmQgbWF5IHByb3ZpZGUgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgbGljZW5zZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3RyaWJ1dGlvbiBvZiBZb3VyIG1vZGlmaWNhdGlvbnMsIG9yIGZvciBhbnkgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGFzIGEgd2hvbGUsIHByb3ZpZGVkIFlvdXIgdXNlLCByZXByb2R1Y3Rpb24sIGFuZCBkaXN0cmlidXRpb24gb2YgdGhlIFdvcmsgb3RoZXJ3aXNlIGNvbXBsaWVzIHdpdGggdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGluIHRoaXMgTGljZW5zZS4KKworNS4gU3VibWlzc2lvbiBvZiBDb250cmlidXRpb25zLiBVbmxlc3MgWW91IGV4cGxpY2l0bHkgc3RhdGUgb3RoZXJ3aXNlLCBhbnkgQ29udHJpYnV0aW9uIGludGVudGlvbmFsbHkgc3VibWl0dGVkIGZvciBpbmNsdXNpb24gaW4gdGhlIFdvcmsgYnkgWW91IHRvIHRoZSBMaWNlbnNvciBzaGFsbCBiZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB3aXRob3V0IGFueSBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMuIE5vdHdpdGhzdGFuZGluZyB0aGUgYWJvdmUsIG5vdGhpbmcgaGVyZWluIHNoYWxsIHN1cGVyc2VkZSBvciBtb2RpZnkgdGhlIHRlcm1zIG9mIGFueSBzZXBhcmF0ZSBsaWNlbnNlIGFncmVlbWVudCB5b3UgbWF5IGhhdmUgZXhlY3V0ZWQgd2l0aCBMaWNlbnNvciByZWdhcmRpbmcgc3VjaCBDb250cmlidXRpb25zLgorCis2LiBUcmFkZW1hcmtzLiBUaGlzIExpY2Vuc2UgZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2UgdGhlIHRyYWRlIG5hbWVzLCB0cmFkZW1hcmtzLCBzZXJ2aWNlIG1hcmtzLCBvciBwcm9kdWN0IG5hbWVzIG9mIHRoZSBMaWNlbnNvciwgZXhjZXB0IGFzIHJlcXVpcmVkIGZvciByZWFzb25hYmxlIGFuZCBjdXN0b21hcnkgdXNlIGluIGRlc2NyaWJpbmcgdGhlIG9yaWdpbiBvZiB0aGUgV29yayBhbmQgcmVwcm9kdWNpbmcgdGhlIGNvbnRlbnQgb2YgdGhlIE5PVElDRSBmaWxlLgorCis3LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIExpY2Vuc29yIHByb3ZpZGVzIHRoZSBXb3JrIChhbmQgZWFjaCBDb250cmlidXRvciBwcm92aWRlcyBpdHMgQ29udHJpYnV0aW9ucykgb24gYW4gQVMgSVMgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgYW55IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucyBvZiBUSVRMRSwgTk9OLUlORlJJTkdFTUVOVCwgTUVSQ0hBTlRBQklMSVRZLCBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gWW91IGFyZSBzb2xlbHkgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZSBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgb3IgcmVkaXN0cmlidXRpbmcgdGhlIFdvcmsgYW5kIGFzc3VtZSBhbnkgcmlza3MgYXNzb2NpYXRlZCB3aXRoIFlvdXIgZXhlcmNpc2Ugb2YgcGVybWlzc2lvbnMgdW5kZXIgdGhpcyBMaWNlbnNlLgorCis4LiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eS4gSW4gbm8gZXZlbnQgYW5kIHVuZGVyIG5vIGxlZ2FsIHRoZW9yeSwgd2hldGhlciBpbiB0b3J0IChpbmNsdWRpbmcgbmVnbGlnZW5jZSksIGNvbnRyYWN0LCBvciBvdGhlcndpc2UsIHVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyAoc3VjaCBhcyBkZWxpYmVyYXRlIGFuZCBncm9zc2x5IG5lZ2xpZ2VudCBhY3RzKSBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc2hhbGwgYW55IENvbnRyaWJ1dG9yIGJlIGxpYWJsZSB0byBZb3UgZm9yIGRhbWFnZXMsIGluY2x1ZGluZyBhbnkgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwgaW5jaWRlbnRhbCwgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzIG9mIGFueSBjaGFyYWN0ZXIgYXJpc2luZyBhcyBhIHJlc3VsdCBvZiB0aGlzIExpY2Vuc2Ugb3Igb3V0IG9mIHRoZSB1c2Ugb3IgaW5hYmlsaXR5IHRvIHVzZSB0aGUgV29yayAoaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBkYW1hZ2VzIGZvciBsb3NzIG9mIGdvb2R3aWxsLCB3b3JrIHN0b3BwYWdlLCBjb21wdXRlciBmYWlsdXJlIG9yIG1hbGZ1bmN0aW9uLCBvciBhbnkgYW5kIGFsbCBvdGhlciBjb21tZXJjaWFsIGRhbWFnZXMgb3IgbG9zc2VzKSwgZXZlbiBpZiBzdWNoIENvbnRyaWJ1dG9yIGhhcyBiZWVuIGFkdmlzZWQgb2YgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4KKworOS4gQWNjZXB0aW5nIFdhcnJhbnR5IG9yIEFkZGl0aW9uYWwgTGlhYmlsaXR5LiBXaGlsZSByZWRpc3RyaWJ1dGluZyB0aGUgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBtYXkgY2hvb3NlIHRvIG9mZmVyLCBhbmQgY2hhcmdlIGEgZmVlIGZvciwgYWNjZXB0YW5jZSBvZiBzdXBwb3J0LCB3YXJyYW50eSwgaW5kZW1uaXR5LCBvciBvdGhlciBsaWFiaWxpdHkgb2JsaWdhdGlvbnMgYW5kL29yIHJpZ2h0cyBjb25zaXN0ZW50IHdpdGggdGhpcyBMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcgc3VjaCBvYmxpZ2F0aW9ucywgWW91IG1heSBhY3Qgb25seSBvbiBZb3VyIG93biBiZWhhbGYgYW5kIG9uIFlvdXIgc29sZSByZXNwb25zaWJpbGl0eSwgbm90IG9uIGJlaGFsZiBvZiBhbnkgb3RoZXIgQ29udHJpYnV0b3IsIGFuZCBvbmx5IGlmIFlvdSBhZ3JlZSB0byBpbmRlbW5pZnksIGRlZmVuZCwgYW5kIGhvbGQgZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBmb3IgYW55IGxpYWJpbGl0eSBpbmN1cnJlZCBieSwgb3IgY2xhaW1zIGFzc2VydGVkIGFnYWluc3QsIHN1Y2ggQ29udHJpYnV0b3IgYnkgcmVhc29uIG9mIHlvdXIgYWNjZXB0aW5nIGFueSBzdWNoIHdhcnJhbnR5IG9yIGFkZGl0aW9uYWwgbGlhYmlsaXR5LgorCitIb3cgdG8gQXBwbHkgdGhlIExpY2Vuc2UgdG8geW91ciBXb3JrCisKK1RvIGFwcGx5IHRoZSBJbWFnZU1hZ2ljayBMaWNlbnNlIHRvIHlvdXIgd29yaywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgYm9pbGVycGxhdGUgbm90aWNlLCB3aXRoIHRoZSBmaWVsZHMgZW5jbG9zZWQgYnkgYnJhY2tldHMgIltdIiByZXBsYWNlZCB3aXRoIHlvdXIgb3duIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIChkb24ndCBpbmNsdWRlIHRoZSBicmFja2V0cykuIFRoZSB0ZXh0IHNob3VsZCBiZSBlbmNsb3NlZCBpbiB0aGUgYXBwcm9wcmlhdGUgY29tbWVudCBzeW50YXggZm9yIHRoZSBmaWxlIGZvcm1hdC4gV2UgYWxzbyByZWNvbW1lbmQgdGhhdCBhIGZpbGUgb3IgY2xhc3MgbmFtZSBhbmQgZGVzY3JpcHRpb24gb2YgcHVycG9zZSBiZSBpbmNsdWRlZCBvbiB0aGUgc2FtZSAicHJpbnRlZCBwYWdlIiBhcyB0aGUgY29weXJpZ2h0IG5vdGljZSBmb3IgZWFzaWVyIGlkZW50aWZpY2F0aW9uIHdpdGhpbiB0aGlyZC1wYXJ0eSBhcmNoaXZlcy4KKworICAgQ29weXJpZ2h0IFt5eXl5XSBbbmFtZSBvZiBjb3B5cmlnaHQgb3duZXJdCisKKyAgIExpY2Vuc2VkIHVuZGVyIHRoZSBJbWFnZU1hZ2ljayBMaWNlbnNlICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlCisgICB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weQorICAgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICBodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZy9zY3JpcHQvbGljZW5zZS5waHAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywgV0lUSE9VVAorICAgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZQorICAgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMKKyAgIHVuZGVyIHRoZSBMaWNlbnNlLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0ludGVsIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0ludGVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViODFkZDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvSW50ZWwKQEAgLTAsMCArMSwyMSBAQAorTGljZW5zZSBmb3IgQ29udHJpYnV0aW9ucyB0byBBQ1BJQ0EKKworQ29weXJpZ2h0IChjKSAyMDAwIOKAkyAyMDE1IEludGVsIENvcnAuCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKzEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKzIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCitBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCitJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKK1NVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTCitJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKK0FSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCitQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9LaWxnYXJkIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL0tpbGdhcmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODgzNmRiMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9LaWxnYXJkCkBAIC0wLDAgKzEsNSBAQAorQ29weXJpZ2h0IChjKSBNYXJrIEouIEtpbGdhcmQsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTguCisKK1RoaXMgcHJvZ3JhbSBpcyBmcmVlbHkgZGlzdHJpYnV0YWJsZSB3aXRob3V0IGxpY2Vuc2luZyBmZWVzICBhbmQgaXMKK3Byb3ZpZGVkIHdpdGhvdXQgZ3VhcmFudGVlIG9yIHdhcnJhbnRlZSBleHByZXNzZWQgb3IgIGltcGxpZWQuIFRoaXMKK3Byb2dyYW0gaXMgLW5vdC0gaW4gdGhlIHB1YmxpYyBkb21haW4uCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvTWFuaXNoU2luZ2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvTWFuaXNoU2luZ2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDI0M2RkZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9NYW5pc2hTaW5naApAQCAtMCwwICsxLDE5IEBACitDb3B5cmlnaHQgKEMpIDIwMDIgTWFuaXNoIFNpbmdoCisKK1Blcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGRpc3RyaWJ1dGUsIGFuZCBzZWxsIHRoaXMgc29mdHdhcmUgYW5kIGl0cworZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgaXMgaGVyZWJ5IGdyYW50ZWQgd2l0aG91dCBmZWUsIHByb3ZpZGVkIHRoYXQKK3RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzIGFuZCB0aGF0IGJvdGggdGhhdAorY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZworZG9jdW1lbnRhdGlvbiwgYW5kIHRoYXQgdGhlIG5hbWUgb2YgTWFuaXNoIFNpbmdoIG5vdCBiZSB1c2VkIGluCithZHZlcnRpc2luZyBvciBwdWJsaWNpdHkgcGVydGFpbmluZyB0byBkaXN0cmlidXRpb24gb2YgdGhlIHNvZnR3YXJlIHdpdGhvdXQKK3NwZWNpZmljLCB3cml0dGVuIHByaW9yIHBlcm1pc3Npb24uICBNYW5pc2ggU2luZ2ggbWFrZXMgbm8KK3JlcHJlc2VudGF0aW9ucyBhYm91dCB0aGUgc3VpdGFiaWxpdHkgb2YgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2UuICBJdAoraXMgcHJvdmlkZWQgImFzIGlzIiB3aXRob3V0IGV4cHJlc3Mgb3IgaW1wbGllZCB3YXJyYW50eS4KKworTUFOSVNIIFNJTkdIIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFLAorSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLCBJTiBOTworRVZFTlQgU0hBTEwgTUFOSVNIIFNJTkdIIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SCitDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwKK0RBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIKK1RPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKK1BFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvT0dQTCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9PR1BMCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjZTNiNzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvT0dQTApAQCAtMCwwICsxLDEwNCBAQAorJFRPRzogQ09QWVJJR0hULk1PVElGIC9tYWluLzUgMjAwMC8wNC8xMCAxMjowMDowMCAkCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNT1RJRiAyLjEuMzAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIENvZGUKKyAgICAgICAgICAgICAgICAgICAgICAgIE1BU1RFUiBDT1BZUklHSFQgTk9USUNFCisKKyhjKSBDb3B5cmlnaHQgMTk4OSAtIDE5OTQsIDE5OTYgLSAxOTk5IFRoZSBPcGVuIEdyb3VwCisoYykgQ29weXJpZ2h0IDE5ODcgLSAxOTk5IEhld2xldHQtUGFja2FyZCBDb21wYW55CisoYykgQ29weXJpZ2h0IDE5ODcgLSAxOTk5IERpZ2l0YWwgRXF1aXBtZW50IENvcnBvcmF0aW9uLCBNYXluYXJkLCBNYXNzLgorKGMpIENvcHlyaWdodCAxOTg4IE1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kKKyhjKSBDb3B5cmlnaHQgMTk4OCBNaWNyb3NvZnQgQ29ycG9yYXRpb24KKyhjKSBDb3B5cmlnaHQgMTk5MCBNb3Rvcm9sYSBJbmMuCisoYykgQ29weXJpZ2h0IDE5ODkgLSAxOTk0IEdyb3VwZSBCdWxsCisoYykgQ29weXJpZ2h0IDE5OTEgSm9zZXBoIEZyaWVkbWFuCisoYykgQ29weXJpZ2h0IDE5OTUgLSAxOTk5IEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycC4KKyhjKSBDb3B5cmlnaHQgMTk5NSAtIDE5OTkgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLgorKGMpIENvcHlyaWdodCAxOTk1IC0gMTk5OSBTYW50YSBDcnV6IE9yZ2FuaXphdGlvbiwgSW5jLgorKGMpIENvcHlyaWdodCAxOTk1LCAxOTk2IEZ1aml0c3UgTGltaXRlZAorKGMpIENvcHlyaWdodCAxOTk1LCAxOTk2IEhpdGFjaGksIEx0ZC4KKworCitBTEwgUklHSFRTIFJFU0VSVkVECisKK1RoaXMgc29mdHdhcmUgaXMgZnVybmlzaGVkIHVuZGVyIGEgbGljZW5zZSBhbmQgbWF5IGJlIHVzZWQKK2FuZCBjb3BpZWQgb25seSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIHRlcm1zIG9mIHN1Y2ggbGljZW5zZSBhbmQKK3dpdGggdGhlIGluY2x1c2lvbiBvZiB0aGlzIGNvcHlyaWdodCBub3RpY2UuIE5vIHRpdGxlIHRvIGFuZCBvd25lcnNoaXAKK29mIHRoZSBzb2Z0d2FyZSBpcyBoZXJlYnkgdHJhbnNmZXJyZWQuCisKK1RoaXMgc29mdHdhcmUgaXMgc3ViamVjdCB0byBhbiBvcGVuIGxpY2Vuc2UuIEl0IG1heSBvbmx5IGJlCit1c2VkIG9uLCB3aXRoIG9yIGZvciBvcGVyYXRpbmcgc3lzdGVtcyB3aGljaCBhcmUgdGhlbXNlbHZlcyBvcGVuCitzb3VyY2Ugc3lzdGVtcy4gWW91IG11c3QgY29udGFjdCBUaGUgT3BlbiBHcm91cCBmb3IgYSBsaWNlbnNlIGFsbG93aW5nCitkaXN0cmlidXRpb24gYW5kIHN1YmxpY2Vuc2luZyBvZiB0aGlzIHNvZnR3YXJlIG9uLCB3aXRoLCBvciBmb3IKK29wZXJhdGluZyBzeXN0ZW1zIHdoaWNoIGFyZSBub3QgT3BlbiBTb3VyY2UgcHJvZ3JhbXMuCisKK1NlZSBodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb3Blbm1vdGlmL2xpY2Vuc2UgZm9yIGZ1bGwKK2RldGFpbHMgb2YgdGhlIGxpY2Vuc2UgYWdyZWVtZW50LiBBbnkgdXNlLCByZXByb2R1Y3Rpb24sIG9yCitkaXN0cmlidXRpb24gb2YgdGhlIHByb2dyYW0gY29uc3RpdHV0ZXMgcmVjaXBpZW50J3MgYWNjZXB0YW5jZSBvZgordGhpcyBhZ3JlZW1lbnQuCisKK1RIRSBPUEVOIEdST1VQIEFORCBJVFMgVEhJUkQgUEFSVFkgU1VQUExJRVJTLCBBU1NVTUUgTk8gUkVTUE9OU0lCSUxJVFkKK0ZPUiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgQU5ZIE9GIElUUyBTT0ZUV0FSRS4KKworRVhDRVBUIEFTIEVYUFJFU1NMWSBTRVQgRk9SVEggSU4gVEhJUyBBR1JFRU1FTlQsIFRIRSBQUk9HUkFNIElTCitQUk9WSURFRCBPTiBBTiAiQVMgSVMiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkKK0tJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVESU5HLCBXSVRIT1VUIExJTUlUQVRJT04sIEFOWQorV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFkKK09SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgorCitFWENFUFQgQVMgRVhQUkVTU0xZIFNFVCBGT1JUSCBJTiBUSElTIEFHUkVFTUVOVCwgTkVJVEhFUiBSRUNJUElFTlQKK05PUiBBTlkgQ09OVFJJQlVUT1JTIFNIQUxMIEhBVkUgQU5ZIExJQUJJTElUWSBGT1IgQU5ZIERJUkVDVCwKK0lORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKK0RBTUFHRVMgKElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gTE9TVCBQUk9GSVRTKSwgSE9XRVZFUiBDQVVTRUQKK0FORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCitMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgorQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPUiBESVNUUklCVVRJT04gT0YgVEhFIFBST0dSQU0gT1IgVEhFCitFWEVSQ0lTRSBPRiBBTlkgUklHSFRTIEdSQU5URUQgSEVSRVVOREVSLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCitQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCisKK1RoZSBpbmZvcm1hdGlvbiBpbiB0aGlzIHNvZnR3YXJlIGlzIHN1YmplY3QgdG8gY2hhbmdlIHdpdGhvdXQKK25vdGljZSBhbmQgc2hvdWxkIG5vdCBiZSBjb25zdHJ1ZWQgYXMgYSBjb21taXRtZW50IGJ5IFRoZSBPcGVuIEdyb3VwCitvciBpdHMgdGhpcmQgcGFydHkgc3VwcGxpZXJzLgorCitOb3RpY2U6IE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgbGVhc2Ugb3IgbGljZW5zZSB0aGF0IG1heSBwZXJ0YWluIHRvLAorb3IgYWNjb21wYW55IHRoZSBkZWxpdmVyeSBvZiwgdGhpcyBjb21wdXRlciBzb2Z0d2FyZSwgdGhlIHJpZ2h0cyBvZiB0aGUKK0dvdmVybm1lbnQgcmVnYXJkaW5nIGl0cyB1c2UsIHJlcHJvZHVjdGlvbiBhbmQgZGlzY2xvc3VyZSBhcmUgYXMgc2V0Citmb3J0aCBpbiBTZWN0aW9uIDUyLjIyNy0xOSBvZiB0aGUgRkFSUyBDb21wdXRlciBTb2Z0d2FyZS1SZXN0cmljdGVkCitSaWdodHMgY2xhdXNlLgorCisoYykgQ29weXJpZ2h0IDE5OTAsIDE5OTEsIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTYgT3BlbiBTb2Z0d2FyZQorRm91bmRhdGlvbiwgSW5jLgorKGMpIENvcHlyaWdodCAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwIFRoZSBPcGVuIEdyb3VwLgorVW5wdWJsaXNoZWQgLSBhbGwgcmlnaHRzIHJlc2VydmVkIHVuZGVyIHRoZSBDb3B5cmlnaHQgbGF3cyBvZiB0aGUgVW5pdGVkCitTdGF0ZXMuCisKK1JFU1RSSUNURUQgUklHSFRTIE5PVElDRTogVXNlLCBkdXBsaWNhdGlvbiwgb3IgZGlzY2xvc3VyZSBieSB0aGUKK0dvdmVybm1lbnQgaXMgc3ViamVjdCB0byB0aGUgcmVzdHJpY3Rpb25zIGFzIHNldCBmb3J0aCBpbiBzdWJwYXJhZ3JhcGgKKyhjKSgxKShpaSkgb2YgdGhlIFJpZ2h0cyBpbiBUZWNobmljYWwgRGF0YSBhbmQgQ29tcHV0ZXIgU29mdHdhcmUgY2xhdXNlCithdCBERkFSUyA1Mi4yMjctNzAxMy4KKworVGhlIE9wZW4gR3JvdXAgTExDCitBcGV4IFBsYXphLCBGb3JidXJ5IFJvYWQKK1JlYWRpbmcsIEJlcmtzaGlyZSwKK1JHMSAxQVgsIFVLLgorCitSRVNUUklDVEVEIFJJR0hUUyBMRUdFTkQ6IFRoaXMgY29tcHV0ZXIgc29mdHdhcmUgaXMgc3VibWl0dGVkIHdpdGgKKyJyZXN0cmljdGVkIHJpZ2h0cy4iIFVzZSwgZHVwbGljYXRpb24gb3IgZGlzY2xvc3VyZSBpcyBzdWJqZWN0IHRvIHRoZQorcmVzdHJpY3Rpb25zIGFzIHNldCBmb3J0aCBpbiBOQVNBIEZBUiBTVVAgMTgtNTIuMjI3LTc5IChBcHJpbCAxOTg1KQorIkNvbW1lcmNpYWwgQ29tcHV0ZXIgU29mdHdhcmUtIFJlc3RyaWN0ZWQgUmlnaHRzIChBcHJpbCAxOTg1KS4iIFRoZQorT3BlbiBHcm91cCwgQXBleCBQbGF6YSwgRm9yYnVyeSBSb2FkLCBSZWFkaW5nLCBCZXJrc2hpcmUsIFJHMSAxQVgsIFVLLgorSWYgdGhlIGNvbnRyYWN0IGNvbnRhaW5zIHRoZSBDbGF1c2UgYXQgMTgtNTIuMjI3LTc0ICJSaWdodHMgaW4gRGF0YQorR2VuZXJhbCIgdGhlbiB0aGUgIkFsdGVybmF0ZSBJSUkiIGNsYXVzZSBhcHBsaWVzLgorCisoYykgQ29weXJpZ2h0IDE5OTAsIDE5OTEsIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTYgT3BlbiBTb2Z0d2FyZQorRm91bmRhdGlvbixJbmMuIEFMTCBSSUdIVFMgUkVTRVJWRUQKKyhjKSBDb3B5cmlnaHQgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCBUaGUgT3BlbiBHcm91cC4gQUxMIFJJR0hUUworUkVTRVJWRUQKKworVGhlIE9wZW4gR3JvdXAsIE9wZW4gU29mdHdhcmUgRm91bmRhdGlvbiwgT1NGLCBPU0YvTW90aWYsIGFuZCBNb3RpZiBhcmUKK1RyYWRlbWFya3Mgb2YgVGhlIE9wZW4gR3JvdXAKK0RFQyBhbmQgRElHSVRBTCBhcmUgcmVnaXN0ZXJlZCB0cmFkZW1hcmtzIG9mIERpZ2l0YWwgRXF1aXBtZW50CitDb3Jwb3JhdGlvbgorSFAgaXMgYSB0cmFkZW1hcmsgb2YgSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkKK1ggV2luZG93IFN5c3RlbSBpcyBhIHRyYWRlbWFyayBvZiB0aGUgTWFzc2FjaHVzZXR0cyBJbnN0aXR1dGUgb2YKK1RlY2hub2xvZ3kKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9PcGVuTERBUCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9PcGVuTERBUApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWFkNzU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL09wZW5MREFQCkBAIC0wLDAgKzEsNDcgQEAKK1RoZSBPcGVuTERBUCBQdWJsaWMgTGljZW5zZQorICBWZXJzaW9uIDIuOCwgMTcgQXVndXN0IDIwMDMKKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24KKygiU29mdHdhcmUiKSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZAordGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworMS4gUmVkaXN0cmlidXRpb25zIGluIHNvdXJjZSBmb3JtIG11c3QgcmV0YWluIGNvcHlyaWdodCBzdGF0ZW1lbnRzCisgICBhbmQgbm90aWNlcywKKworMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIGFwcGxpY2FibGUgY29weXJpZ2h0CisgICBzdGF0ZW1lbnRzIGFuZCBub3RpY2VzLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcKKyAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLCBhbmQKKworMy4gUmVkaXN0cmlidXRpb25zIG11c3QgY29udGFpbiBhIHZlcmJhdGltIGNvcHkgb2YgdGhpcyBkb2N1bWVudC4KKworVGhlIE9wZW5MREFQIEZvdW5kYXRpb24gbWF5IHJldmlzZSB0aGlzIGxpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuCitFYWNoIHJldmlzaW9uIGlzIGRpc3Rpbmd1aXNoZWQgYnkgYSB2ZXJzaW9uIG51bWJlci4gIFlvdSBtYXkgdXNlCit0aGlzIFNvZnR3YXJlIHVuZGVyIHRlcm1zIG9mIHRoaXMgbGljZW5zZSByZXZpc2lvbiBvciB1bmRlciB0aGUKK3Rlcm1zIG9mIGFueSBzdWJzZXF1ZW50IHJldmlzaW9uIG9mIHRoZSBsaWNlbnNlLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBPUEVOTERBUCBGT1VOREFUSU9OIEFORCBJVFMKK0NPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRCBXQVJSQU5USUVTLAorSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZCitBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVAorU0hBTEwgVEhFIE9QRU5MREFQIEZPVU5EQVRJT04sIElUUyBDT05UUklCVVRPUlMsIE9SIFRIRSBBVVRIT1IoUykKK09SIE9XTkVSKFMpIE9GIFRIRSBTT0ZUV0FSRSBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKK0JVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKK0xPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKK0NBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4KK0FOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK1RoZSBuYW1lcyBvZiB0aGUgYXV0aG9ycyBhbmQgY29weXJpZ2h0IGhvbGRlcnMgbXVzdCBub3QgYmUgdXNlZCBpbgorYWR2ZXJ0aXNpbmcgb3Igb3RoZXJ3aXNlIHRvIHByb21vdGUgdGhlIHNhbGUsIHVzZSBvciBvdGhlciBkZWFsaW5nCitpbiB0aGlzIFNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMsIHdyaXR0ZW4gcHJpb3IgcGVybWlzc2lvbi4gIFRpdGxlCit0byBjb3B5cmlnaHQgaW4gdGhpcyBTb2Z0d2FyZSBzaGFsbCBhdCBhbGwgdGltZXMgcmVtYWluIHdpdGggY29weXJpZ2h0Citob2xkZXJzLgorCitPcGVuTERBUCBpcyBhIHJlZ2lzdGVyZWQgdHJhZGVtYXJrIG9mIHRoZSBPcGVuTERBUCBGb3VuZGF0aW9uLgorCitDb3B5cmlnaHQgMTk5OS0yMDAzIFRoZSBPcGVuTERBUCBGb3VuZGF0aW9uLCBSZWR3b29kIENpdHksCitDYWxpZm9ybmlhLCBVU0EuICBBbGwgUmlnaHRzIFJlc2VydmVkLiAgUGVybWlzc2lvbiB0byBjb3B5IGFuZAorZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhpcyBkb2N1bWVudCBpcyBncmFudGVkLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL1FXVHYxLjAgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvUVdUdjEuMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzAxZjdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL1FXVHYxLjAKQEAgLTAsMCArMSw1NDMgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUXd0IExpY2Vuc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMS4wLCBKYW51YXJ5IDEsIDIwMDMKKworVGhlIFF3dCBsaWJyYXJ5IGFuZCBpbmNsdWRlZCBwcm9ncmFtcyBhcmUgcHJvdmlkZWQgdW5kZXIgdGhlIHRlcm1zCitvZiB0aGUgR05VIExFU1NFUiBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFIChMR1BMKSB3aXRoIHRoZSBmb2xsb3dpbmcKK2V4Y2VwdGlvbnM6CisKKyAgICAxLiBXaWRnZXRzIHRoYXQgYXJlIHN1YmNsYXNzZWQgZnJvbSBRd3Qgd2lkZ2V0cyBkbyBub3QKKyAgICAgICBjb25zdGl0dXRlIGEgZGVyaXZhdGl2ZSB3b3JrLgorCisgICAgMi4gU3RhdGljIGxpbmtpbmcgb2YgYXBwbGljYXRpb25zIGFuZCB3aWRnZXRzIHRvIHRoZQorICAgICAgIFF3dCBsaWJyYXJ5IGRvZXMgbm90IGNvbnN0aXR1dGUgYSBkZXJpdmF0aXZlIHdvcmsKKyAgICAgICBhbmQgZG9lcyBub3QgcmVxdWlyZSB0aGUgYXV0aG9yIHRvIHByb3ZpZGUgc291cmNlCisgICAgICAgY29kZSBmb3IgdGhlIGFwcGxpY2F0aW9uIG9yIHdpZGdldCwgdXNlIHRoZSBzaGFyZWQKKyAgICAgICBRd3QgbGlicmFyaWVzLCBvciBsaW5rIHRoZWlyIGFwcGxpY2F0aW9ucyBvcgorICAgICAgIHdpZGdldHMgYWdhaW5zdCBhIHVzZXItc3VwcGxpZWQgdmVyc2lvbiBvZiBRd3QuCisKKyAgICAgICBJZiB5b3UgbGluayB0aGUgYXBwbGljYXRpb24gb3Igd2lkZ2V0IHRvIGEgbW9kaWZpZWQKKyAgICAgICB2ZXJzaW9uIG9mIFF3dCwgdGhlbiB0aGUgY2hhbmdlcyB0byBRd3QgbXVzdCBiZSAKKyAgICAgICBwcm92aWRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIExHUEwgaW4gc2VjdGlvbnMKKyAgICAgICAxLCAyLCBhbmQgNC4KKworICAgIDMuIFlvdSBkbyBub3QgaGF2ZSB0byBwcm92aWRlIGEgY29weSBvZiB0aGUgUXd0IGxpY2Vuc2UKKyAgICAgICB3aXRoIHByb2dyYW1zIHRoYXQgYXJlIGxpbmtlZCB0byB0aGUgUXd0IGxpYnJhcnksIG5vcgorICAgICAgIGRvIHlvdSBoYXZlIHRvIGlkZW50aWZ5IHRoZSBRd3QgbGljZW5zZSBpbiB5b3VyCisgICAgICAgcHJvZ3JhbSBvciBkb2N1bWVudGF0aW9uIGFzIHJlcXVpcmVkIGJ5IHNlY3Rpb24gNgorICAgICAgIG9mIHRoZSBMR1BMLgorCisKKyAgICAgICBIb3dldmVyLCBwcm9ncmFtcyBtdXN0IHN0aWxsIGlkZW50aWZ5IHRoZWlyIHVzZSBvZiBRd3QuCisgICAgICAgVGhlIGZvbGxvd2luZyBleGFtcGxlIHN0YXRlbWVudCBjYW4gYmUgaW5jbHVkZWQgaW4gdXNlcgorICAgICAgIGRvY3VtZW50YXRpb24gdG8gc2F0aXNmeSB0aGlzIHJlcXVpcmVtZW50OgorCisgICAgICAgICAgIFtwcm9ncmFtL3dpZGdldF0gaXMgYmFzZWQgaW4gcGFydCBvbiB0aGUgd29yayBvZgorICAgICAgICAgICB0aGUgUXd0IHByb2plY3QgKGh0dHA6Ly9xd3Quc2YubmV0KS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKyAgICAgICAgICBHTlUgTEVTU0VSIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKyAgICAgICAgICAgICAgIFZlcnNpb24gMi4xLCBGZWJydWFyeSAxOTk5CisKKyBDb3B5cmlnaHQgKEMpIDE5OTEsIDE5OTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICAgIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKKyBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KKworW1RoaXMgaXMgdGhlIGZpcnN0IHJlbGVhc2VkIHZlcnNpb24gb2YgdGhlIExlc3NlciBHUEwuICBJdCBhbHNvIGNvdW50cworIGFzIHRoZSBzdWNjZXNzb3Igb2YgdGhlIEdOVSBMaWJyYXJ5IFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIsIGhlbmNlCisgdGhlIHZlcnNpb24gbnVtYmVyIDIuMS5dCisKKyAgICAgICAgICAgICAgICBQcmVhbWJsZQorCisgIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIKK2ZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBpdC4gIEJ5IGNvbnRyYXN0LCB0aGUgR05VIEdlbmVyYWwgUHVibGljCitMaWNlbnNlcyBhcmUgaW50ZW5kZWQgdG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlCitmcmVlIHNvZnR3YXJlLS10byBtYWtlIHN1cmUgdGhlIHNvZnR3YXJlIGlzIGZyZWUgZm9yIGFsbCBpdHMgdXNlcnMuCisKKyAgVGhpcyBsaWNlbnNlLCB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGFwcGxpZXMgdG8gc29tZQorc3BlY2lhbGx5IGRlc2lnbmF0ZWQgc29mdHdhcmUgcGFja2FnZXMtLXR5cGljYWxseSBsaWJyYXJpZXMtLW9mIHRoZQorRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGFuZCBvdGhlciBhdXRob3JzIHdobyBkZWNpZGUgdG8gdXNlIGl0LiAgWW91CitjYW4gdXNlIGl0IHRvbywgYnV0IHdlIHN1Z2dlc3QgeW91IGZpcnN0IHRoaW5rIGNhcmVmdWxseSBhYm91dCB3aGV0aGVyCit0aGlzIGxpY2Vuc2Ugb3IgdGhlIG9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgdGhlIGJldHRlcgorc3RyYXRlZ3kgdG8gdXNlIGluIGFueSBwYXJ0aWN1bGFyIGNhc2UsIGJhc2VkIG9uIHRoZSBleHBsYW5hdGlvbnMgYmVsb3cuCisKKyAgV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJlLCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZyZWVkb20gb2YgdXNlLAorbm90IHByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdAoreW91IGhhdmUgdGhlIGZyZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5kIGNoYXJnZQorZm9yIHRoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCk7IHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldAoraXQgaWYgeW91IHdhbnQgaXQ7IHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIGFuZCB1c2UgcGllY2VzIG9mCitpdCBpbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5kIHRoYXQgeW91IGFyZSBpbmZvcm1lZCB0aGF0IHlvdSBjYW4gZG8KK3RoZXNlIHRoaW5ncy4KKworICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkCitkaXN0cmlidXRvcnMgdG8gZGVueSB5b3UgdGhlc2UgcmlnaHRzIG9yIHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRoZXNlCityaWdodHMuICBUaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IKK3lvdSBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIGxpYnJhcnkgb3IgaWYgeW91IG1vZGlmeSBpdC4KKworICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBsaWJyYXJ5LCB3aGV0aGVyIGdyYXRpcworb3IgZm9yIGEgZmVlLCB5b3UgbXVzdCBnaXZlIHRoZSByZWNpcGllbnRzIGFsbCB0aGUgcmlnaHRzIHRoYXQgd2UgZ2F2ZQoreW91LiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNhbiBnZXQgdGhlIHNvdXJjZQorY29kZS4gIElmIHlvdSBsaW5rIG90aGVyIGNvZGUgd2l0aCB0aGUgbGlicmFyeSwgeW91IG11c3QgcHJvdmlkZQorY29tcGxldGUgb2JqZWN0IGZpbGVzIHRvIHRoZSByZWNpcGllbnRzLCBzbyB0aGF0IHRoZXkgY2FuIHJlbGluayB0aGVtCit3aXRoIHRoZSBsaWJyYXJ5IGFmdGVyIG1ha2luZyBjaGFuZ2VzIHRvIHRoZSBsaWJyYXJ5IGFuZCByZWNvbXBpbGluZworaXQuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkga25vdyB0aGVpciByaWdodHMuCisKKyAgV2UgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIGEgdHdvLXN0ZXAgbWV0aG9kOiAoMSkgd2UgY29weXJpZ2h0IHRoZQorbGlicmFyeSwgYW5kICgyKSB3ZSBvZmZlciB5b3UgdGhpcyBsaWNlbnNlLCB3aGljaCBnaXZlcyB5b3UgbGVnYWwKK3Blcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoZSBsaWJyYXJ5LgorCisgIFRvIHByb3RlY3QgZWFjaCBkaXN0cmlidXRvciwgd2Ugd2FudCB0byBtYWtlIGl0IHZlcnkgY2xlYXIgdGhhdAordGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoZSBmcmVlIGxpYnJhcnkuICBBbHNvLCBpZiB0aGUgbGlicmFyeSBpcworbW9kaWZpZWQgYnkgc29tZW9uZSBlbHNlIGFuZCBwYXNzZWQgb24sIHRoZSByZWNpcGllbnRzIHNob3VsZCBrbm93Cit0aGF0IHdoYXQgdGhleSBoYXZlIGlzIG5vdCB0aGUgb3JpZ2luYWwgdmVyc2lvbiwgc28gdGhhdCB0aGUgb3JpZ2luYWwKK2F1dGhvcidzIHJlcHV0YXRpb24gd2lsbCBub3QgYmUgYWZmZWN0ZWQgYnkgcHJvYmxlbXMgdGhhdCBtaWdodCBiZQoraW50cm9kdWNlZCBieSBvdGhlcnMuCisKKyAgRmluYWxseSwgc29mdHdhcmUgcGF0ZW50cyBwb3NlIGEgY29uc3RhbnQgdGhyZWF0IHRvIHRoZSBleGlzdGVuY2Ugb2YKK2FueSBmcmVlIHByb2dyYW0uICBXZSB3aXNoIHRvIG1ha2Ugc3VyZSB0aGF0IGEgY29tcGFueSBjYW5ub3QKK2VmZmVjdGl2ZWx5IHJlc3RyaWN0IHRoZSB1c2VycyBvZiBhIGZyZWUgcHJvZ3JhbSBieSBvYnRhaW5pbmcgYQorcmVzdHJpY3RpdmUgbGljZW5zZSBmcm9tIGEgcGF0ZW50IGhvbGRlci4gIFRoZXJlZm9yZSwgd2UgaW5zaXN0IHRoYXQKK2FueSBwYXRlbnQgbGljZW5zZSBvYnRhaW5lZCBmb3IgYSB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5IG11c3QgYmUKK2NvbnNpc3RlbnQgd2l0aCB0aGUgZnVsbCBmcmVlZG9tIG9mIHVzZSBzcGVjaWZpZWQgaW4gdGhpcyBsaWNlbnNlLgorCisgIE1vc3QgR05VIHNvZnR3YXJlLCBpbmNsdWRpbmcgc29tZSBsaWJyYXJpZXMsIGlzIGNvdmVyZWQgYnkgdGhlCitvcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoaXMgbGljZW5zZSwgdGhlIEdOVSBMZXNzZXIKK0dlbmVyYWwgUHVibGljIExpY2Vuc2UsIGFwcGxpZXMgdG8gY2VydGFpbiBkZXNpZ25hdGVkIGxpYnJhcmllcywgYW5kCitpcyBxdWl0ZSBkaWZmZXJlbnQgZnJvbSB0aGUgb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFdlIHVzZQordGhpcyBsaWNlbnNlIGZvciBjZXJ0YWluIGxpYnJhcmllcyBpbiBvcmRlciB0byBwZXJtaXQgbGlua2luZyB0aG9zZQorbGlicmFyaWVzIGludG8gbm9uLWZyZWUgcHJvZ3JhbXMuCisKKyAgV2hlbiBhIHByb2dyYW0gaXMgbGlua2VkIHdpdGggYSBsaWJyYXJ5LCB3aGV0aGVyIHN0YXRpY2FsbHkgb3IgdXNpbmcKK2Egc2hhcmVkIGxpYnJhcnksIHRoZSBjb21iaW5hdGlvbiBvZiB0aGUgdHdvIGlzIGxlZ2FsbHkgc3BlYWtpbmcgYQorY29tYmluZWQgd29yaywgYSBkZXJpdmF0aXZlIG9mIHRoZSBvcmlnaW5hbCBsaWJyYXJ5LiAgVGhlIG9yZGluYXJ5CitHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHRoZXJlZm9yZSBwZXJtaXRzIHN1Y2ggbGlua2luZyBvbmx5IGlmIHRoZQorZW50aXJlIGNvbWJpbmF0aW9uIGZpdHMgaXRzIGNyaXRlcmlhIG9mIGZyZWVkb20uICBUaGUgTGVzc2VyIEdlbmVyYWwKK1B1YmxpYyBMaWNlbnNlIHBlcm1pdHMgbW9yZSBsYXggY3JpdGVyaWEgZm9yIGxpbmtpbmcgb3RoZXIgY29kZSB3aXRoCit0aGUgbGlicmFyeS4KKworICBXZSBjYWxsIHRoaXMgbGljZW5zZSB0aGUgIkxlc3NlciIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBiZWNhdXNlIGl0Citkb2VzIExlc3MgdG8gcHJvdGVjdCB0aGUgdXNlcidzIGZyZWVkb20gdGhhbiB0aGUgb3JkaW5hcnkgR2VuZXJhbAorUHVibGljIExpY2Vuc2UuICBJdCBhbHNvIHByb3ZpZGVzIG90aGVyIGZyZWUgc29mdHdhcmUgZGV2ZWxvcGVycyBMZXNzCitvZiBhbiBhZHZhbnRhZ2Ugb3ZlciBjb21wZXRpbmcgbm9uLWZyZWUgcHJvZ3JhbXMuICBUaGVzZSBkaXNhZHZhbnRhZ2VzCithcmUgdGhlIHJlYXNvbiB3ZSB1c2UgdGhlIG9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1hbnkKK2xpYnJhcmllcy4gIEhvd2V2ZXIsIHRoZSBMZXNzZXIgbGljZW5zZSBwcm92aWRlcyBhZHZhbnRhZ2VzIGluIGNlcnRhaW4KK3NwZWNpYWwgY2lyY3Vtc3RhbmNlcy4KKworICBGb3IgZXhhbXBsZSwgb24gcmFyZSBvY2Nhc2lvbnMsIHRoZXJlIG1heSBiZSBhIHNwZWNpYWwgbmVlZCB0bworZW5jb3VyYWdlIHRoZSB3aWRlc3QgcG9zc2libGUgdXNlIG9mIGEgY2VydGFpbiBsaWJyYXJ5LCBzbyB0aGF0IGl0IGJlY29tZXMKK2EgZGUtZmFjdG8gc3RhbmRhcmQuICBUbyBhY2hpZXZlIHRoaXMsIG5vbi1mcmVlIHByb2dyYW1zIG11c3QgYmUKK2FsbG93ZWQgdG8gdXNlIHRoZSBsaWJyYXJ5LiAgQSBtb3JlIGZyZXF1ZW50IGNhc2UgaXMgdGhhdCBhIGZyZWUKK2xpYnJhcnkgZG9lcyB0aGUgc2FtZSBqb2IgYXMgd2lkZWx5IHVzZWQgbm9uLWZyZWUgbGlicmFyaWVzLiAgSW4gdGhpcworY2FzZSwgdGhlcmUgaXMgbGl0dGxlIHRvIGdhaW4gYnkgbGltaXRpbmcgdGhlIGZyZWUgbGlicmFyeSB0byBmcmVlCitzb2Z0d2FyZSBvbmx5LCBzbyB3ZSB1c2UgdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorCisgIEluIG90aGVyIGNhc2VzLCBwZXJtaXNzaW9uIHRvIHVzZSBhIHBhcnRpY3VsYXIgbGlicmFyeSBpbiBub24tZnJlZQorcHJvZ3JhbXMgZW5hYmxlcyBhIGdyZWF0ZXIgbnVtYmVyIG9mIHBlb3BsZSB0byB1c2UgYSBsYXJnZSBib2R5IG9mCitmcmVlIHNvZnR3YXJlLiAgRm9yIGV4YW1wbGUsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBHTlUgQyBMaWJyYXJ5IGluCitub24tZnJlZSBwcm9ncmFtcyBlbmFibGVzIG1hbnkgbW9yZSBwZW9wbGUgdG8gdXNlIHRoZSB3aG9sZSBHTlUKK29wZXJhdGluZyBzeXN0ZW0sIGFzIHdlbGwgYXMgaXRzIHZhcmlhbnQsIHRoZSBHTlUvTGludXggb3BlcmF0aW5nCitzeXN0ZW0uCisKKyAgQWx0aG91Z2ggdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIExlc3MgcHJvdGVjdGl2ZSBvZiB0aGUKK3VzZXJzJyBmcmVlZG9tLCBpdCBkb2VzIGVuc3VyZSB0aGF0IHRoZSB1c2VyIG9mIGEgcHJvZ3JhbSB0aGF0IGlzCitsaW5rZWQgd2l0aCB0aGUgTGlicmFyeSBoYXMgdGhlIGZyZWVkb20gYW5kIHRoZSB3aGVyZXdpdGhhbCB0byBydW4KK3RoYXQgcHJvZ3JhbSB1c2luZyBhIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIExpYnJhcnkuCisKKyAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKK21vZGlmaWNhdGlvbiBmb2xsb3cuICBQYXkgY2xvc2UgYXR0ZW50aW9uIHRvIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYQorIndvcmsgYmFzZWQgb24gdGhlIGxpYnJhcnkiIGFuZCBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgbGlicmFyeSIuICBUaGUKK2Zvcm1lciBjb250YWlucyBjb2RlIGRlcml2ZWQgZnJvbSB0aGUgbGlicmFyeSwgd2hlcmVhcyB0aGUgbGF0dGVyIG11c3QKK2JlIGNvbWJpbmVkIHdpdGggdGhlIGxpYnJhcnkgaW4gb3JkZXIgdG8gcnVuLgorCisgICAgICAgICAgR05VIExFU1NFUiBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCisgICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgQ09QWUlORywgRElTVFJJQlVUSU9OIEFORCBNT0RJRklDQVRJT04KKworICAwLiBUaGlzIExpY2Vuc2UgQWdyZWVtZW50IGFwcGxpZXMgdG8gYW55IHNvZnR3YXJlIGxpYnJhcnkgb3Igb3RoZXIKK3Byb2dyYW0gd2hpY2ggY29udGFpbnMgYSBub3RpY2UgcGxhY2VkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVyIG9yCitvdGhlciBhdXRob3JpemVkIHBhcnR5IHNheWluZyBpdCBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mCit0aGlzIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChhbHNvIGNhbGxlZCAidGhpcyBMaWNlbnNlIikuCitFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4KKworICBBICJsaWJyYXJ5IiBtZWFucyBhIGNvbGxlY3Rpb24gb2Ygc29mdHdhcmUgZnVuY3Rpb25zIGFuZC9vciBkYXRhCitwcmVwYXJlZCBzbyBhcyB0byBiZSBjb252ZW5pZW50bHkgbGlua2VkIHdpdGggYXBwbGljYXRpb24gcHJvZ3JhbXMKKyh3aGljaCB1c2Ugc29tZSBvZiB0aG9zZSBmdW5jdGlvbnMgYW5kIGRhdGEpIHRvIGZvcm0gZXhlY3V0YWJsZXMuCisKKyAgVGhlICJMaWJyYXJ5IiwgYmVsb3csIHJlZmVycyB0byBhbnkgc3VjaCBzb2Z0d2FyZSBsaWJyYXJ5IG9yIHdvcmsKK3doaWNoIGhhcyBiZWVuIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZXNlIHRlcm1zLiAgQSAid29yayBiYXNlZCBvbiB0aGUKK0xpYnJhcnkiIG1lYW5zIGVpdGhlciB0aGUgTGlicmFyeSBvciBhbnkgZGVyaXZhdGl2ZSB3b3JrIHVuZGVyCitjb3B5cmlnaHQgbGF3OiB0aGF0IGlzIHRvIHNheSwgYSB3b3JrIGNvbnRhaW5pbmcgdGhlIExpYnJhcnkgb3IgYQorcG9ydGlvbiBvZiBpdCwgZWl0aGVyIHZlcmJhdGltIG9yIHdpdGggbW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNsYXRlZAorc3RyYWlnaHRmb3J3YXJkbHkgaW50byBhbm90aGVyIGxhbmd1YWdlLiAgKEhlcmVpbmFmdGVyLCB0cmFuc2xhdGlvbiBpcworaW5jbHVkZWQgd2l0aG91dCBsaW1pdGF0aW9uIGluIHRoZSB0ZXJtICJtb2RpZmljYXRpb24iLikKKworICAiU291cmNlIGNvZGUiIGZvciBhIHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrIGZvcgorbWFraW5nIG1vZGlmaWNhdGlvbnMgdG8gaXQuICBGb3IgYSBsaWJyYXJ5LCBjb21wbGV0ZSBzb3VyY2UgY29kZSBtZWFucworYWxsIHRoZSBzb3VyY2UgY29kZSBmb3IgYWxsIG1vZHVsZXMgaXQgY29udGFpbnMsIHBsdXMgYW55IGFzc29jaWF0ZWQKK2ludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzLCBwbHVzIHRoZSBzY3JpcHRzIHVzZWQgdG8gY29udHJvbCBjb21waWxhdGlvbgorYW5kIGluc3RhbGxhdGlvbiBvZiB0aGUgbGlicmFyeS4KKworICBBY3Rpdml0aWVzIG90aGVyIHRoYW4gY29weWluZywgZGlzdHJpYnV0aW9uIGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdAorY292ZXJlZCBieSB0aGlzIExpY2Vuc2U7IHRoZXkgYXJlIG91dHNpZGUgaXRzIHNjb3BlLiAgVGhlIGFjdCBvZgorcnVubmluZyBhIHByb2dyYW0gdXNpbmcgdGhlIExpYnJhcnkgaXMgbm90IHJlc3RyaWN0ZWQsIGFuZCBvdXRwdXQgZnJvbQorc3VjaCBhIHByb2dyYW0gaXMgY292ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cyBjb25zdGl0dXRlIGEgd29yayBiYXNlZAorb24gdGhlIExpYnJhcnkgKGluZGVwZW5kZW50IG9mIHRoZSB1c2Ugb2YgdGhlIExpYnJhcnkgaW4gYSB0b29sIGZvcgord3JpdGluZyBpdCkuICBXaGV0aGVyIHRoYXQgaXMgdHJ1ZSBkZXBlbmRzIG9uIHdoYXQgdGhlIExpYnJhcnkgZG9lcworYW5kIHdoYXQgdGhlIHByb2dyYW0gdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IGRvZXMuCisKKyAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgTGlicmFyeSdzCitjb21wbGV0ZSBzb3VyY2UgY29kZSBhcyB5b3UgcmVjZWl2ZSBpdCwgaW4gYW55IG1lZGl1bSwgcHJvdmlkZWQgdGhhdAoreW91IGNvbnNwaWN1b3VzbHkgYW5kIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4KK2FwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0CithbGwgdGhlIG5vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRoZSBhYnNlbmNlIG9mIGFueQord2FycmFudHk7IGFuZCBkaXN0cmlidXRlIGEgY29weSBvZiB0aGlzIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUKK0xpYnJhcnkuCisKKyAgWW91IG1heSBjaGFyZ2UgYSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBhY3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwKK2FuZCB5b3UgbWF5IGF0IHlvdXIgb3B0aW9uIG9mZmVyIHdhcnJhbnR5IHByb3RlY3Rpb24gaW4gZXhjaGFuZ2UgZm9yIGEKK2ZlZS4KKworICAyLiBZb3UgbWF5IG1vZGlmeSB5b3VyIGNvcHkgb3IgY29waWVzIG9mIHRoZSBMaWJyYXJ5IG9yIGFueSBwb3J0aW9uCitvZiBpdCwgdGh1cyBmb3JtaW5nIGEgd29yayBiYXNlZCBvbiB0aGUgTGlicmFyeSwgYW5kIGNvcHkgYW5kCitkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEKK2Fib3ZlLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CisKKyAgICBhKSBUaGUgbW9kaWZpZWQgd29yayBtdXN0IGl0c2VsZiBiZSBhIHNvZnR3YXJlIGxpYnJhcnkuCisKKyAgICBiKSBZb3UgbXVzdCBjYXVzZSB0aGUgZmlsZXMgbW9kaWZpZWQgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKKyAgICBzdGF0aW5nIHRoYXQgeW91IGNoYW5nZWQgdGhlIGZpbGVzIGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLgorCisgICAgYykgWW91IG11c3QgY2F1c2UgdGhlIHdob2xlIG9mIHRoZSB3b3JrIHRvIGJlIGxpY2Vuc2VkIGF0IG5vCisgICAgY2hhcmdlIHRvIGFsbCB0aGlyZCBwYXJ0aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuCisKKyAgICBkKSBJZiBhIGZhY2lsaXR5IGluIHRoZSBtb2RpZmllZCBMaWJyYXJ5IHJlZmVycyB0byBhIGZ1bmN0aW9uIG9yIGEKKyAgICB0YWJsZSBvZiBkYXRhIHRvIGJlIHN1cHBsaWVkIGJ5IGFuIGFwcGxpY2F0aW9uIHByb2dyYW0gdGhhdCB1c2VzCisgICAgdGhlIGZhY2lsaXR5LCBvdGhlciB0aGFuIGFzIGFuIGFyZ3VtZW50IHBhc3NlZCB3aGVuIHRoZSBmYWNpbGl0eQorICAgIGlzIGludm9rZWQsIHRoZW4geW91IG11c3QgbWFrZSBhIGdvb2QgZmFpdGggZWZmb3J0IHRvIGVuc3VyZSB0aGF0LAorICAgIGluIHRoZSBldmVudCBhbiBhcHBsaWNhdGlvbiBkb2VzIG5vdCBzdXBwbHkgc3VjaCBmdW5jdGlvbiBvcgorICAgIHRhYmxlLCB0aGUgZmFjaWxpdHkgc3RpbGwgb3BlcmF0ZXMsIGFuZCBwZXJmb3JtcyB3aGF0ZXZlciBwYXJ0IG9mCisgICAgaXRzIHB1cnBvc2UgcmVtYWlucyBtZWFuaW5nZnVsLgorCisgICAgKEZvciBleGFtcGxlLCBhIGZ1bmN0aW9uIGluIGEgbGlicmFyeSB0byBjb21wdXRlIHNxdWFyZSByb290cyBoYXMKKyAgICBhIHB1cnBvc2UgdGhhdCBpcyBlbnRpcmVseSB3ZWxsLWRlZmluZWQgaW5kZXBlbmRlbnQgb2YgdGhlCisgICAgYXBwbGljYXRpb24uICBUaGVyZWZvcmUsIFN1YnNlY3Rpb24gMmQgcmVxdWlyZXMgdGhhdCBhbnkKKyAgICBhcHBsaWNhdGlvbi1zdXBwbGllZCBmdW5jdGlvbiBvciB0YWJsZSB1c2VkIGJ5IHRoaXMgZnVuY3Rpb24gbXVzdAorICAgIGJlIG9wdGlvbmFsOiBpZiB0aGUgYXBwbGljYXRpb24gZG9lcyBub3Qgc3VwcGx5IGl0LCB0aGUgc3F1YXJlCisgICAgcm9vdCBmdW5jdGlvbiBtdXN0IHN0aWxsIGNvbXB1dGUgc3F1YXJlIHJvb3RzLikKKworVGhlc2UgcmVxdWlyZW1lbnRzIGFwcGx5IHRvIHRoZSBtb2RpZmllZCB3b3JrIGFzIGEgd2hvbGUuICBJZgoraWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgTGlicmFyeSwKK2FuZCBjYW4gYmUgcmVhc29uYWJseSBjb25zaWRlcmVkIGluZGVwZW5kZW50IGFuZCBzZXBhcmF0ZSB3b3JrcyBpbgordGhlbXNlbHZlcywgdGhlbiB0aGlzIExpY2Vuc2UsIGFuZCBpdHMgdGVybXMsIGRvIG5vdCBhcHBseSB0byB0aG9zZQorc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiAgQnV0IHdoZW4geW91CitkaXN0cmlidXRlIHRoZSBzYW1lIHNlY3Rpb25zIGFzIHBhcnQgb2YgYSB3aG9sZSB3aGljaCBpcyBhIHdvcmsgYmFzZWQKK29uIHRoZSBMaWJyYXJ5LCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZgordGhpcyBMaWNlbnNlLCB3aG9zZSBwZXJtaXNzaW9ucyBmb3Igb3RoZXIgbGljZW5zZWVzIGV4dGVuZCB0byB0aGUKK2VudGlyZSB3aG9sZSwgYW5kIHRodXMgdG8gZWFjaCBhbmQgZXZlcnkgcGFydCByZWdhcmRsZXNzIG9mIHdobyB3cm90ZQoraXQuCisKK1RodXMsIGl0IGlzIG5vdCB0aGUgaW50ZW50IG9mIHRoaXMgc2VjdGlvbiB0byBjbGFpbSByaWdodHMgb3IgY29udGVzdAoreW91ciByaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvCitleGVyY2lzZSB0aGUgcmlnaHQgdG8gY29udHJvbCB0aGUgZGlzdHJpYnV0aW9uIG9mIGRlcml2YXRpdmUgb3IKK2NvbGxlY3RpdmUgd29ya3MgYmFzZWQgb24gdGhlIExpYnJhcnkuCisKK0luIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIExpYnJhcnkKK3dpdGggdGhlIExpYnJhcnkgKG9yIHdpdGggYSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5KSBvbiBhIHZvbHVtZSBvZgorYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsgdW5kZXIKK3RoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuCisKKyAgMy4gWW91IG1heSBvcHQgdG8gYXBwbHkgdGhlIHRlcm1zIG9mIHRoZSBvcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMKK0xpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UgdG8gYSBnaXZlbiBjb3B5IG9mIHRoZSBMaWJyYXJ5LiAgVG8gZG8KK3RoaXMsIHlvdSBtdXN0IGFsdGVyIGFsbCB0aGUgbm90aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSwgc28KK3RoYXQgdGhleSByZWZlciB0byB0aGUgb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiwKK2luc3RlYWQgb2YgdG8gdGhpcyBMaWNlbnNlLiAgKElmIGEgbmV3ZXIgdmVyc2lvbiB0aGFuIHZlcnNpb24gMiBvZiB0aGUKK29yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGhhcyBhcHBlYXJlZCwgdGhlbiB5b3UgY2FuIHNwZWNpZnkKK3RoYXQgdmVyc2lvbiBpbnN0ZWFkIGlmIHlvdSB3aXNoLikgIERvIG5vdCBtYWtlIGFueSBvdGhlciBjaGFuZ2UgaW4KK3RoZXNlIG5vdGljZXMuCisKKyAgT25jZSB0aGlzIGNoYW5nZSBpcyBtYWRlIGluIGEgZ2l2ZW4gY29weSwgaXQgaXMgaXJyZXZlcnNpYmxlIGZvcgordGhhdCBjb3B5LCBzbyB0aGUgb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBhbGwKK3N1YnNlcXVlbnQgY29waWVzIGFuZCBkZXJpdmF0aXZlIHdvcmtzIG1hZGUgZnJvbSB0aGF0IGNvcHkuCisKKyAgVGhpcyBvcHRpb24gaXMgdXNlZnVsIHdoZW4geW91IHdpc2ggdG8gY29weSBwYXJ0IG9mIHRoZSBjb2RlIG9mCit0aGUgTGlicmFyeSBpbnRvIGEgcHJvZ3JhbSB0aGF0IGlzIG5vdCBhIGxpYnJhcnkuCisKKyAgNC4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IChvciBhIHBvcnRpb24gb3IKK2Rlcml2YXRpdmUgb2YgaXQsIHVuZGVyIFNlY3Rpb24gMikgaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtCit1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0IHlvdSBhY2NvbXBhbnkKK2l0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZSBzb3VyY2UgY29kZSwgd2hpY2gKK211c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgb24gYQorbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgorCisgIElmIGRpc3RyaWJ1dGlvbiBvZiBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nIGFjY2VzcyB0byBjb3B5Citmcm9tIGEgZGVzaWduYXRlZCBwbGFjZSwgdGhlbiBvZmZlcmluZyBlcXVpdmFsZW50IGFjY2VzcyB0byBjb3B5IHRoZQorc291cmNlIGNvZGUgZnJvbSB0aGUgc2FtZSBwbGFjZSBzYXRpc2ZpZXMgdGhlIHJlcXVpcmVtZW50IHRvCitkaXN0cmlidXRlIHRoZSBzb3VyY2UgY29kZSwgZXZlbiB0aG91Z2ggdGhpcmQgcGFydGllcyBhcmUgbm90Citjb21wZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgorCisgIDUuIEEgcHJvZ3JhbSB0aGF0IGNvbnRhaW5zIG5vIGRlcml2YXRpdmUgb2YgYW55IHBvcnRpb24gb2YgdGhlCitMaWJyYXJ5LCBidXQgaXMgZGVzaWduZWQgdG8gd29yayB3aXRoIHRoZSBMaWJyYXJ5IGJ5IGJlaW5nIGNvbXBpbGVkIG9yCitsaW5rZWQgd2l0aCBpdCwgaXMgY2FsbGVkIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5Ii4gIFN1Y2ggYQord29yaywgaW4gaXNvbGF0aW9uLCBpcyBub3QgYSBkZXJpdmF0aXZlIHdvcmsgb2YgdGhlIExpYnJhcnksIGFuZAordGhlcmVmb3JlIGZhbGxzIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KKworICBIb3dldmVyLCBsaW5raW5nIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB3aXRoIHRoZSBMaWJyYXJ5CitjcmVhdGVzIGFuIGV4ZWN1dGFibGUgdGhhdCBpcyBhIGRlcml2YXRpdmUgb2YgdGhlIExpYnJhcnkgKGJlY2F1c2UgaXQKK2NvbnRhaW5zIHBvcnRpb25zIG9mIHRoZSBMaWJyYXJ5KSwgcmF0aGVyIHRoYW4gYSAid29yayB0aGF0IHVzZXMgdGhlCitsaWJyYXJ5Ii4gIFRoZSBleGVjdXRhYmxlIGlzIHRoZXJlZm9yZSBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZS4KK1NlY3Rpb24gNiBzdGF0ZXMgdGVybXMgZm9yIGRpc3RyaWJ1dGlvbiBvZiBzdWNoIGV4ZWN1dGFibGVzLgorCisgIFdoZW4gYSAid29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiIHVzZXMgbWF0ZXJpYWwgZnJvbSBhIGhlYWRlciBmaWxlCit0aGF0IGlzIHBhcnQgb2YgdGhlIExpYnJhcnksIHRoZSBvYmplY3QgY29kZSBmb3IgdGhlIHdvcmsgbWF5IGJlIGEKK2Rlcml2YXRpdmUgd29yayBvZiB0aGUgTGlicmFyeSBldmVuIHRob3VnaCB0aGUgc291cmNlIGNvZGUgaXMgbm90LgorV2hldGhlciB0aGlzIGlzIHRydWUgaXMgZXNwZWNpYWxseSBzaWduaWZpY2FudCBpZiB0aGUgd29yayBjYW4gYmUKK2xpbmtlZCB3aXRob3V0IHRoZSBMaWJyYXJ5LCBvciBpZiB0aGUgd29yayBpcyBpdHNlbGYgYSBsaWJyYXJ5LiAgVGhlCit0aHJlc2hvbGQgZm9yIHRoaXMgdG8gYmUgdHJ1ZSBpcyBub3QgcHJlY2lzZWx5IGRlZmluZWQgYnkgbGF3LgorCisgIElmIHN1Y2ggYW4gb2JqZWN0IGZpbGUgdXNlcyBvbmx5IG51bWVyaWNhbCBwYXJhbWV0ZXJzLCBkYXRhCitzdHJ1Y3R1cmUgbGF5b3V0cyBhbmQgYWNjZXNzb3JzLCBhbmQgc21hbGwgbWFjcm9zIGFuZCBzbWFsbCBpbmxpbmUKK2Z1bmN0aW9ucyAodGVuIGxpbmVzIG9yIGxlc3MgaW4gbGVuZ3RoKSwgdGhlbiB0aGUgdXNlIG9mIHRoZSBvYmplY3QKK2ZpbGUgaXMgdW5yZXN0cmljdGVkLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgbGVnYWxseSBhIGRlcml2YXRpdmUKK3dvcmsuICAoRXhlY3V0YWJsZXMgY29udGFpbmluZyB0aGlzIG9iamVjdCBjb2RlIHBsdXMgcG9ydGlvbnMgb2YgdGhlCitMaWJyYXJ5IHdpbGwgc3RpbGwgZmFsbCB1bmRlciBTZWN0aW9uIDYuKQorCisgIE90aGVyd2lzZSwgaWYgdGhlIHdvcmsgaXMgYSBkZXJpdmF0aXZlIG9mIHRoZSBMaWJyYXJ5LCB5b3UgbWF5CitkaXN0cmlidXRlIHRoZSBvYmplY3QgY29kZSBmb3IgdGhlIHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gNi4KK0FueSBleGVjdXRhYmxlcyBjb250YWluaW5nIHRoYXQgd29yayBhbHNvIGZhbGwgdW5kZXIgU2VjdGlvbiA2LAord2hldGhlciBvciBub3QgdGhleSBhcmUgbGlua2VkIGRpcmVjdGx5IHdpdGggdGhlIExpYnJhcnkgaXRzZWxmLgorCisgIDYuIEFzIGFuIGV4Y2VwdGlvbiB0byB0aGUgU2VjdGlvbnMgYWJvdmUsIHlvdSBtYXkgYWxzbyBjb21iaW5lIG9yCitsaW5rIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB3aXRoIHRoZSBMaWJyYXJ5IHRvIHByb2R1Y2UgYQord29yayBjb250YWluaW5nIHBvcnRpb25zIG9mIHRoZSBMaWJyYXJ5LCBhbmQgZGlzdHJpYnV0ZSB0aGF0IHdvcmsKK3VuZGVyIHRlcm1zIG9mIHlvdXIgY2hvaWNlLCBwcm92aWRlZCB0aGF0IHRoZSB0ZXJtcyBwZXJtaXQKK21vZGlmaWNhdGlvbiBvZiB0aGUgd29yayBmb3IgdGhlIGN1c3RvbWVyJ3Mgb3duIHVzZSBhbmQgcmV2ZXJzZQorZW5naW5lZXJpbmcgZm9yIGRlYnVnZ2luZyBzdWNoIG1vZGlmaWNhdGlvbnMuCisKKyAgWW91IG11c3QgZ2l2ZSBwcm9taW5lbnQgbm90aWNlIHdpdGggZWFjaCBjb3B5IG9mIHRoZSB3b3JrIHRoYXQgdGhlCitMaWJyYXJ5IGlzIHVzZWQgaW4gaXQgYW5kIHRoYXQgdGhlIExpYnJhcnkgYW5kIGl0cyB1c2UgYXJlIGNvdmVyZWQgYnkKK3RoaXMgTGljZW5zZS4gIFlvdSBtdXN0IHN1cHBseSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlLiAgSWYgdGhlIHdvcmsKK2R1cmluZyBleGVjdXRpb24gZGlzcGxheXMgY29weXJpZ2h0IG5vdGljZXMsIHlvdSBtdXN0IGluY2x1ZGUgdGhlCitjb3B5cmlnaHQgbm90aWNlIGZvciB0aGUgTGlicmFyeSBhbW9uZyB0aGVtLCBhcyB3ZWxsIGFzIGEgcmVmZXJlbmNlCitkaXJlY3RpbmcgdGhlIHVzZXIgdG8gdGhlIGNvcHkgb2YgdGhpcyBMaWNlbnNlLiAgQWxzbywgeW91IG11c3QgZG8gb25lCitvZiB0aGVzZSB0aGluZ3M6CisKKyAgICBhKSBBY2NvbXBhbnkgdGhlIHdvcmsgd2l0aCB0aGUgY29tcGxldGUgY29ycmVzcG9uZGluZworICAgIG1hY2hpbmUtcmVhZGFibGUgc291cmNlIGNvZGUgZm9yIHRoZSBMaWJyYXJ5IGluY2x1ZGluZyB3aGF0ZXZlcgorICAgIGNoYW5nZXMgd2VyZSB1c2VkIGluIHRoZSB3b3JrICh3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyCisgICAgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSk7IGFuZCwgaWYgdGhlIHdvcmsgaXMgYW4gZXhlY3V0YWJsZSBsaW5rZWQKKyAgICB3aXRoIHRoZSBMaWJyYXJ5LCB3aXRoIHRoZSBjb21wbGV0ZSBtYWNoaW5lLXJlYWRhYmxlICJ3b3JrIHRoYXQKKyAgICB1c2VzIHRoZSBMaWJyYXJ5IiwgYXMgb2JqZWN0IGNvZGUgYW5kL29yIHNvdXJjZSBjb2RlLCBzbyB0aGF0IHRoZQorICAgIHVzZXIgY2FuIG1vZGlmeSB0aGUgTGlicmFyeSBhbmQgdGhlbiByZWxpbmsgdG8gcHJvZHVjZSBhIG1vZGlmaWVkCisgICAgZXhlY3V0YWJsZSBjb250YWluaW5nIHRoZSBtb2RpZmllZCBMaWJyYXJ5LiAgKEl0IGlzIHVuZGVyc3Rvb2QKKyAgICB0aGF0IHRoZSB1c2VyIHdobyBjaGFuZ2VzIHRoZSBjb250ZW50cyBvZiBkZWZpbml0aW9ucyBmaWxlcyBpbiB0aGUKKyAgICBMaWJyYXJ5IHdpbGwgbm90IG5lY2Vzc2FyaWx5IGJlIGFibGUgdG8gcmVjb21waWxlIHRoZSBhcHBsaWNhdGlvbgorICAgIHRvIHVzZSB0aGUgbW9kaWZpZWQgZGVmaW5pdGlvbnMuKQorCisgICAgYikgVXNlIGEgc3VpdGFibGUgc2hhcmVkIGxpYnJhcnkgbWVjaGFuaXNtIGZvciBsaW5raW5nIHdpdGggdGhlCisgICAgTGlicmFyeS4gIEEgc3VpdGFibGUgbWVjaGFuaXNtIGlzIG9uZSB0aGF0ICgxKSB1c2VzIGF0IHJ1biB0aW1lIGEKKyAgICBjb3B5IG9mIHRoZSBsaWJyYXJ5IGFscmVhZHkgcHJlc2VudCBvbiB0aGUgdXNlcidzIGNvbXB1dGVyIHN5c3RlbSwKKyAgICByYXRoZXIgdGhhbiBjb3B5aW5nIGxpYnJhcnkgZnVuY3Rpb25zIGludG8gdGhlIGV4ZWN1dGFibGUsIGFuZCAoMikKKyAgICB3aWxsIG9wZXJhdGUgcHJvcGVybHkgd2l0aCBhIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIGlmCisgICAgdGhlIHVzZXIgaW5zdGFsbHMgb25lLCBhcyBsb25nIGFzIHRoZSBtb2RpZmllZCB2ZXJzaW9uIGlzCisgICAgaW50ZXJmYWNlLWNvbXBhdGlibGUgd2l0aCB0aGUgdmVyc2lvbiB0aGF0IHRoZSB3b3JrIHdhcyBtYWRlIHdpdGguCisKKyAgICBjKSBBY2NvbXBhbnkgdGhlIHdvcmsgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdAorICAgIGxlYXN0IHRocmVlIHllYXJzLCB0byBnaXZlIHRoZSBzYW1lIHVzZXIgdGhlIG1hdGVyaWFscworICAgIHNwZWNpZmllZCBpbiBTdWJzZWN0aW9uIDZhLCBhYm92ZSwgZm9yIGEgY2hhcmdlIG5vIG1vcmUKKyAgICB0aGFuIHRoZSBjb3N0IG9mIHBlcmZvcm1pbmcgdGhpcyBkaXN0cmlidXRpb24uCisKKyAgICBkKSBJZiBkaXN0cmlidXRpb24gb2YgdGhlIHdvcmsgaXMgbWFkZSBieSBvZmZlcmluZyBhY2Nlc3MgdG8gY29weQorICAgIGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byBjb3B5IHRoZSBhYm92ZQorICAgIHNwZWNpZmllZCBtYXRlcmlhbHMgZnJvbSB0aGUgc2FtZSBwbGFjZS4KKworICAgIGUpIFZlcmlmeSB0aGF0IHRoZSB1c2VyIGhhcyBhbHJlYWR5IHJlY2VpdmVkIGEgY29weSBvZiB0aGVzZQorICAgIG1hdGVyaWFscyBvciB0aGF0IHlvdSBoYXZlIGFscmVhZHkgc2VudCB0aGlzIHVzZXIgYSBjb3B5LgorCisgIEZvciBhbiBleGVjdXRhYmxlLCB0aGUgcmVxdWlyZWQgZm9ybSBvZiB0aGUgIndvcmsgdGhhdCB1c2VzIHRoZQorTGlicmFyeSIgbXVzdCBpbmNsdWRlIGFueSBkYXRhIGFuZCB1dGlsaXR5IHByb2dyYW1zIG5lZWRlZCBmb3IKK3JlcHJvZHVjaW5nIHRoZSBleGVjdXRhYmxlIGZyb20gaXQuICBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uLAordGhlIG1hdGVyaWFscyB0byBiZSBkaXN0cmlidXRlZCBuZWVkIG5vdCBpbmNsdWRlIGFueXRoaW5nIHRoYXQgaXMKK25vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yIGJpbmFyeSBmb3JtKSB3aXRoIHRoZSBtYWpvcgorY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNvIG9uKSBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBvbgord2hpY2ggdGhlIGV4ZWN1dGFibGUgcnVucywgdW5sZXNzIHRoYXQgY29tcG9uZW50IGl0c2VsZiBhY2NvbXBhbmllcwordGhlIGV4ZWN1dGFibGUuCisKKyAgSXQgbWF5IGhhcHBlbiB0aGF0IHRoaXMgcmVxdWlyZW1lbnQgY29udHJhZGljdHMgdGhlIGxpY2Vuc2UKK3Jlc3RyaWN0aW9ucyBvZiBvdGhlciBwcm9wcmlldGFyeSBsaWJyYXJpZXMgdGhhdCBkbyBub3Qgbm9ybWFsbHkKK2FjY29tcGFueSB0aGUgb3BlcmF0aW5nIHN5c3RlbS4gIFN1Y2ggYSBjb250cmFkaWN0aW9uIG1lYW5zIHlvdSBjYW5ub3QKK3VzZSBib3RoIHRoZW0gYW5kIHRoZSBMaWJyYXJ5IHRvZ2V0aGVyIGluIGFuIGV4ZWN1dGFibGUgdGhhdCB5b3UKK2Rpc3RyaWJ1dGUuCisKKyAgNy4gWW91IG1heSBwbGFjZSBsaWJyYXJ5IGZhY2lsaXRpZXMgdGhhdCBhcmUgYSB3b3JrIGJhc2VkIG9uIHRoZQorTGlicmFyeSBzaWRlLWJ5LXNpZGUgaW4gYSBzaW5nbGUgbGlicmFyeSB0b2dldGhlciB3aXRoIG90aGVyIGxpYnJhcnkKK2ZhY2lsaXRpZXMgbm90IGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlLCBhbmQgZGlzdHJpYnV0ZSBzdWNoIGEgY29tYmluZWQKK2xpYnJhcnksIHByb3ZpZGVkIHRoYXQgdGhlIHNlcGFyYXRlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd29yayBiYXNlZCBvbgordGhlIExpYnJhcnkgYW5kIG9mIHRoZSBvdGhlciBsaWJyYXJ5IGZhY2lsaXRpZXMgaXMgb3RoZXJ3aXNlCitwZXJtaXR0ZWQsIGFuZCBwcm92aWRlZCB0aGF0IHlvdSBkbyB0aGVzZSB0d28gdGhpbmdzOgorCisgICAgYSkgQWNjb21wYW55IHRoZSBjb21iaW5lZCBsaWJyYXJ5IHdpdGggYSBjb3B5IG9mIHRoZSBzYW1lIHdvcmsKKyAgICBiYXNlZCBvbiB0aGUgTGlicmFyeSwgdW5jb21iaW5lZCB3aXRoIGFueSBvdGhlciBsaWJyYXJ5CisgICAgZmFjaWxpdGllcy4gIFRoaXMgbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgICAgU2VjdGlvbnMgYWJvdmUuCisKKyAgICBiKSBHaXZlIHByb21pbmVudCBub3RpY2Ugd2l0aCB0aGUgY29tYmluZWQgbGlicmFyeSBvZiB0aGUgZmFjdAorICAgIHRoYXQgcGFydCBvZiBpdCBpcyBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnksIGFuZCBleHBsYWluaW5nCisgICAgd2hlcmUgdG8gZmluZCB0aGUgYWNjb21wYW55aW5nIHVuY29tYmluZWQgZm9ybSBvZiB0aGUgc2FtZSB3b3JrLgorCisgIDguIFlvdSBtYXkgbm90IGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSwgbGluayB3aXRoLCBvciBkaXN0cmlidXRlCit0aGUgTGlicmFyeSBleGNlcHQgYXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueQorYXR0ZW1wdCBvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBsaW5rIHdpdGgsIG9yCitkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IGlzIHZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIKK3JpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2UuICBIb3dldmVyLCBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcywKK29yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIgdGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMKK3Rlcm1pbmF0ZWQgc28gbG9uZyBhcyBzdWNoIHBhcnRpZXMgcmVtYWluIGluIGZ1bGwgY29tcGxpYW5jZS4KKworICA5LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3QKK3NpZ25lZCBpdC4gIEhvd2V2ZXIsIG5vdGhpbmcgZWxzZSBncmFudHMgeW91IHBlcm1pc3Npb24gdG8gbW9kaWZ5IG9yCitkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IG9yIGl0cyBkZXJpdmF0aXZlIHdvcmtzLiAgVGhlc2UgYWN0aW9ucyBhcmUKK3Byb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkKK21vZGlmeWluZyBvciBkaXN0cmlidXRpbmcgdGhlIExpYnJhcnkgKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQorTGlicmFyeSksIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvIGRvIHNvLCBhbmQKK2FsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKK3RoZSBMaWJyYXJ5IG9yIHdvcmtzIGJhc2VkIG9uIGl0LgorCisgIDEwLiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCitMaWJyYXJ5KSwgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZQorb3JpZ2luYWwgbGljZW5zb3IgdG8gY29weSwgZGlzdHJpYnV0ZSwgbGluayB3aXRoIG9yIG1vZGlmeSB0aGUgTGlicmFyeQorc3ViamVjdCB0byB0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4gIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgorcmVzdHJpY3Rpb25zIG9uIHRoZSByZWNpcGllbnRzJyBleGVyY2lzZSBvZiB0aGUgcmlnaHRzIGdyYW50ZWQgaGVyZWluLgorWW91IGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGVuZm9yY2luZyBjb21wbGlhbmNlIGJ5IHRoaXJkIHBhcnRpZXMgd2l0aAordGhpcyBMaWNlbnNlLgorCisgIDExLiBJZiwgYXMgYSBjb25zZXF1ZW5jZSBvZiBhIGNvdXJ0IGp1ZGdtZW50IG9yIGFsbGVnYXRpb24gb2YgcGF0ZW50CitpbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLAorY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgorb3RoZXJ3aXNlKSB0aGF0IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdAorZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QKK2Rpc3RyaWJ1dGUgc28gYXMgdG8gc2F0aXNmeSBzaW11bHRhbmVvdXNseSB5b3VyIG9ibGlnYXRpb25zIHVuZGVyIHRoaXMKK0xpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UKK21heSBub3QgZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKK2xpY2Vuc2Ugd291bGQgbm90IHBlcm1pdCByb3lhbHR5LWZyZWUgcmVkaXN0cmlidXRpb24gb2YgdGhlIExpYnJhcnkgYnkKK2FsbCB0aG9zZSB3aG8gcmVjZWl2ZSBjb3BpZXMgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSB0aHJvdWdoIHlvdSwgdGhlbgordGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5kIHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bworcmVmcmFpbiBlbnRpcmVseSBmcm9tIGRpc3RyaWJ1dGlvbiBvZiB0aGUgTGlicmFyeS4KKworSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyIGFueQorcGFydGljdWxhciBjaXJjdW1zdGFuY2UsIHRoZSBiYWxhbmNlIG9mIHRoZSBzZWN0aW9uIGlzIGludGVuZGVkIHRvIGFwcGx5LAorYW5kIHRoZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIgY2lyY3Vtc3RhbmNlcy4KKworSXQgaXMgbm90IHRoZSBwdXJwb3NlIG9mIHRoaXMgc2VjdGlvbiB0byBpbmR1Y2UgeW91IHRvIGluZnJpbmdlIGFueQorcGF0ZW50cyBvciBvdGhlciBwcm9wZXJ0eSByaWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBhbnkKK3N1Y2ggY2xhaW1zOyB0aGlzIHNlY3Rpb24gaGFzIHRoZSBzb2xlIHB1cnBvc2Ugb2YgcHJvdGVjdGluZyB0aGUKK2ludGVncml0eSBvZiB0aGUgZnJlZSBzb2Z0d2FyZSBkaXN0cmlidXRpb24gc3lzdGVtIHdoaWNoIGlzCitpbXBsZW1lbnRlZCBieSBwdWJsaWMgbGljZW5zZSBwcmFjdGljZXMuICBNYW55IHBlb3BsZSBoYXZlIG1hZGUKK2dlbmVyb3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKK3Rocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lzdGVudCBhcHBsaWNhdGlvbiBvZiB0aGF0CitzeXN0ZW07IGl0IGlzIHVwIHRvIHRoZSBhdXRob3IvZG9ub3IgdG8gZGVjaWRlIGlmIGhlIG9yIHNoZSBpcyB3aWxsaW5nCit0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKK2ltcG9zZSB0aGF0IGNob2ljZS4KKworVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvCitiZSBhIGNvbnNlcXVlbmNlIG9mIHRoZSByZXN0IG9mIHRoaXMgTGljZW5zZS4KKworICAxMi4gSWYgdGhlIGRpc3RyaWJ1dGlvbiBhbmQvb3IgdXNlIG9mIHRoZSBMaWJyYXJ5IGlzIHJlc3RyaWN0ZWQgaW4KK2NlcnRhaW4gY291bnRyaWVzIGVpdGhlciBieSBwYXRlbnRzIG9yIGJ5IGNvcHlyaWdodGVkIGludGVyZmFjZXMsIHRoZQorb3JpZ2luYWwgY29weXJpZ2h0IGhvbGRlciB3aG8gcGxhY2VzIHRoZSBMaWJyYXJ5IHVuZGVyIHRoaXMgTGljZW5zZSBtYXkgYWRkCithbiBleHBsaWNpdCBnZW9ncmFwaGljYWwgZGlzdHJpYnV0aW9uIGxpbWl0YXRpb24gZXhjbHVkaW5nIHRob3NlIGNvdW50cmllcywKK3NvIHRoYXQgZGlzdHJpYnV0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGluIG9yIGFtb25nIGNvdW50cmllcyBub3QgdGh1cworZXhjbHVkZWQuICBJbiBzdWNoIGNhc2UsIHRoaXMgTGljZW5zZSBpbmNvcnBvcmF0ZXMgdGhlIGxpbWl0YXRpb24gYXMgaWYKK3dyaXR0ZW4gaW4gdGhlIGJvZHkgb2YgdGhpcyBMaWNlbnNlLgorCisgIDEzLiBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldwordmVyc2lvbnMgb2YgdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLgorU3VjaCBuZXcgdmVyc2lvbnMgd2lsbCBiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLAorYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvIGFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLgorCitFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gIElmIHRoZSBMaWJyYXJ5CitzcGVjaWZpZXMgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGlzIExpY2Vuc2Ugd2hpY2ggYXBwbGllcyB0byBpdCBhbmQKKyJhbnkgbGF0ZXIgdmVyc2lvbiIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQKK2NvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkKK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgTGlicmFyeSBkb2VzIG5vdCBzcGVjaWZ5IGEKK2xpY2Vuc2UgdmVyc2lvbiBudW1iZXIsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5Cit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorCisgIDE0LiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUgTGlicmFyeSBpbnRvIG90aGVyIGZyZWUKK3Byb2dyYW1zIHdob3NlIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zIGFyZSBpbmNvbXBhdGlibGUgd2l0aCB0aGVzZSwKK3dyaXRlIHRvIHRoZSBhdXRob3IgdG8gYXNrIGZvciBwZXJtaXNzaW9uLiAgRm9yIHNvZnR3YXJlIHdoaWNoIGlzCitjb3B5cmlnaHRlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB3cml0ZSB0byB0aGUgRnJlZQorU29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzIG1ha2UgZXhjZXB0aW9ucyBmb3IgdGhpcy4gIE91cgorZGVjaXNpb24gd2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2FscyBvZiBwcmVzZXJ2aW5nIHRoZSBmcmVlIHN0YXR1cworb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZCBvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcKK2FuZCByZXVzZSBvZiBzb2Z0d2FyZSBnZW5lcmFsbHkuCisKKyAgICAgICAgICAgICAgICBOTyBXQVJSQU5UWQorCisgIDE1LiBCRUNBVVNFIFRIRSBMSUJSQVJZIElTIExJQ0VOU0VEIEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJUyBOTworV0FSUkFOVFkgRk9SIFRIRSBMSUJSQVJZLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWSBBUFBMSUNBQkxFIExBVy4KK0VYQ0VQVCBXSEVOIE9USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EL09SCitPVEhFUiBQQVJUSUVTIFBST1ZJREUgVEhFIExJQlJBUlkgIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWQorS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCitJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKK1BVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMgVE8gVEhFIFFVQUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRQorTElCUkFSWSBJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgTElCUkFSWSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUKK1RIRSBDT1NUIE9GIEFMTCBORUNFU1NBUlkgU0VSVklDSU5HLCBSRVBBSVIgT1IgQ09SUkVDVElPTi4KKworICAxNi4gSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTgorV1JJVElORyBXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1BWSBNT0RJRlkKK0FORC9PUiBSRURJU1RSSUJVVEUgVEhFIExJQlJBUlkgQVMgUEVSTUlUVEVEIEFCT1ZFLCBCRSBMSUFCTEUgVE8gWU9VCitGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SCitDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORyBPVVQgT0YgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRQorTElCUkFSWSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBMT1NTIE9GIERBVEEgT1IgREFUQSBCRUlORworUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRCBQQVJUSUVTIE9SIEEKK0ZBSUxVUkUgT0YgVEhFIExJQlJBUlkgVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUiBTT0ZUV0FSRSksIEVWRU4gSUYKK1NVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKK0RBTUFHRVMuCisKKyAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKKworICAgICAgICAgICBIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgTGlicmFyaWVzCisKKyAgSWYgeW91IGRldmVsb3AgYSBuZXcgbGlicmFyeSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdAorcG9zc2libGUgdXNlIHRvIHRoZSBwdWJsaWMsIHdlIHJlY29tbWVuZCBtYWtpbmcgaXQgZnJlZSBzb2Z0d2FyZSB0aGF0CitldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UuICBZb3UgY2FuIGRvIHNvIGJ5IHBlcm1pdHRpbmcKK3JlZGlzdHJpYnV0aW9uIHVuZGVyIHRoZXNlIHRlcm1zIChvciwgYWx0ZXJuYXRpdmVseSwgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSkuCisKKyAgVG8gYXBwbHkgdGhlc2UgdGVybXMsIGF0dGFjaCB0aGUgZm9sbG93aW5nIG5vdGljZXMgdG8gdGhlIGxpYnJhcnkuICBJdCBpcworc2FmZXN0IHRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKK2NvbnZleSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNob3VsZCBoYXZlIGF0IGxlYXN0IHRoZQorImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KKworICAgIDxvbmUgbGluZSB0byBnaXZlIHRoZSBsaWJyYXJ5J3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+CisgICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgICAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorCitBbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KKworWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHlvdXIKK3NjaG9vbCwgaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIGxpYnJhcnksIGlmCituZWNlc3NhcnkuICBIZXJlIGlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFtZXM6CisKKyAgWW95b2R5bmUsIEluYy4sIGhlcmVieSBkaXNjbGFpbXMgYWxsIGNvcHlyaWdodCBpbnRlcmVzdCBpbiB0aGUKKyAgbGlicmFyeSBgRnJvYicgKGEgbGlicmFyeSBmb3IgdHdlYWtpbmcga25vYnMpIHdyaXR0ZW4gYnkgSmFtZXMgUmFuZG9tIEhhY2tlci4KKworICA8c2lnbmF0dXJlIG9mIFR5IENvb24+LCAxIEFwcmlsIDE5OTAKKyAgVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UKKworVGhhdCdzIGFsbCB0aGVyZSBpcyB0byBpdCEKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvVExXRyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9UTFdHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMjQxODQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvVExXRwpAQCAtMCwwICsxLDE1MCBAQAorVGhpcyBwYWNrYWdlIGNvbGxlY3RzIFRoYWkgc2NhbGFibGUgZm9udHMgYXZhaWxhYmxlIGluIGZyZWUgbGljZW5zZXMsIGFuZAorbWFpbnRhaW5zIGFuZCBkaXN0cmlidXRlcyB0aGVtIHVuZGVyIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHdpdGgKK29yaWdpbmFsIGF1dGhvcnMnIHBlcm1pc3Npb25zLgorCitTb21lIGZvbnRzIGNhbm5vdCBiZSBHUEwsIGJlY2F1c2UgdGhleSBhcmUgYmFzZWQgb24gZm9udHMgd2l0aCBkaWZmZXJlbnQKK2xpY2Vuc2VzLiBTZWUgdGhlIGxpc3Qgb2Ygc3VjaCBmb250cyBhdCB0aGUgZW5kIG9mIHRoaXMgZmlsZS4KKworQ29weXJpZ2h0OgorCisJLSBLaW5uYXJpOgorCisJQ29weXJpZ2h0IChDKSAxOTk5IERiIFR5cGUuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisJQ29weXJpZ2h0IChDKSAyMDA3IE5hdGlvbmFsIEVsZWN0cm9uaWNzIGFuZCBDb21wdXRlciBUZWNobm9sb2d5IENlbnRlci4KKwlBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJLSBHYXJ1ZGE6CisKKwlHZW5lcmF0ZWQgYnkgTkVDVEVDIGZvciBQdWJsaWMgRG9tYWluLgorCU1vZGlmaWVkIHVuZGVyIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGJ5IFRMV0cuCisKKwktIE5vcmFzaToKKworCUNvcHlyaWdodCAoQykgMTk5OSwgVGhlIE5hdGlvbmFsIEZvbnQgUHJvamVjdCAodi5iZXRhKS4gCisJWWFubmlzIEhhcmFsYW1ib3VzLCBWaXJhY2ggU29ybmxlcnRsYW12YW5pY2ggYW5kIEFudXRhcmEgVGFudHJhcG9ybi4KKwlBbGwgcmlnaHRzIHJlc2VydmVkLgorCU1vZGlmaWVkIHVuZGVyIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB3aXRoIGNyZWF0b3JzJyBwZXJtaXNzaW9uLAorCWJ5IFRoYWkgTGludXggV29ya2luZyBHcm91cCAoVExXRykuCisKKwktIExvbWE6CisKKwlDb3B5cmlnaHQgKEMpIDIwMDMsIE5FQ1RFQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworCS0gVGx3Z01vbm86CisKKwlDb3B5cmlnaHQgKEMpIDIwMDMgUG9vbmxhcCBWZWVyYXRoYW5hYnV0ciA8cG9vbmxhcEBsaW51eC50aGFpLm5ldD4KKworCS0gVGx3ZyBUeXBld3JpdGVyOgorCisJQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0IFBvb25sYXAgVmVlcmF0aGFuYWJ1dHIgPHBvb25sYXBAbGludXgudGhhaS5uZXQ+CisKKwktIFRsd2cgVHlwaXN0OgorCisJVGx3ZyBUeXBpc3QsIGJhc2VkIG9uIFBvb25sYXAgVmVlcmF0aGFuYWJ1dHIncyBUbHdnIFR5cGV3cml0ZXIuCisKKwlDb3B5cmlnaHQgKEMpIDIwMDUtMjAwNiBUaGVwcGl0YWsgS2Fyb29uYm9vbnlhbmFuLiBUbHdnIFR5cGV3cml0ZXIsCisJRnJlZSBUaGFpIFBzZXVkbyBNb25vc3BhY2Ugb3V0bGluZSBmb250LgorCisJQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0IFBvb25sYXAgVmVlcmF0aGFuYWJ1dHIgPHBvb25sYXBAbGludXgudGhhaS5uZXQ+CisKKwktIFB1cmlzYToKKworCUNvcHlyaWdodCAoQykgMjAwMywgMjAwNCBQb29ubGFwIFZlZXJhdGhhbmFidXRyIAorCTxwb29ubGFwQGxpbnV4LnRoYWkubmV0PiwgR1BMIGxpY2Vuc2UKKworCS0gU2F3YXNkZWU6CisKKwlDb3B5cmlnaHQgKEMpIDIwMDcgUG9sIFVkb213aXR0YXlhbnVrdWwgPHdlYm5haXBvbEBnbWFpbC5jb20+LgorCUFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKwktIFVtcHVzaDoKKworCUNvcHlyaWdodCAoQykgMjAwMyBORUNURUMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisJQ29weXJpZ2h0IChjKSAyMDA3IFdpZGhheWEgVHJpc2FybndhZGhhbmEgPHdpZGhheWEzQGdtYWlsLmNvbT4uCisJQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworTGljZW5zZToKKworCVRoaXMgZm9udCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisJdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisJRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91cgorCW9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKwlUaGlzIGZvbnQgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisJV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorCU1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisJR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisJWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKwlhbG9uZyB3aXRoIHRoaXMgZm9udDsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAorCUluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisKKwlBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCBpZiB5b3UgY3JlYXRlIGEgZG9jdW1lbnQgd2hpY2ggdXNlcyB0aGlzIGZvbnQsCisJYW5kIGVtYmVkIHRoaXMgZm9udCBvciB1bmFsdGVyZWQgcG9ydGlvbnMgb2YgdGhpcyBmb250IGludG8gdGhlCisJZG9jdW1lbnQsIHRoaXMgZm9udCBkb2VzIG5vdCBieSBpdHNlbGYgY2F1c2UgdGhlIHJlc3VsdGluZyBkb2N1bWVudAorCXRvIGJlIGNvdmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiBUaGlzIGV4Y2VwdGlvbiBkb2VzCisJbm90IGhvd2V2ZXIgaW52YWxpZGF0ZSBhbnkgb3RoZXIgcmVhc29ucyB3aHkgdGhlIGRvY3VtZW50IG1pZ2h0IGJlCisJY292ZXJlZCBieSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIElmIHlvdSBtb2RpZnkgdGhpcyBmb250LAorCXlvdSBtYXkgZXh0ZW5kIHRoaXMgZXhjZXB0aW9uIHRvIHlvdXIgdmVyc2lvbiBvZiB0aGUgZm9udCwgYnV0IHlvdQorCWFyZSBub3Qgb2JsaWdhdGVkIHRvIGRvIHNvLiBJZiB5b3UgZG8gbm90IHdpc2ggdG8gZG8gc28sIGRlbGV0ZSB0aGlzCisJZXhjZXB0aW9uIHN0YXRlbWVudCBmcm9tIHlvdXIgdmVyc2lvbi4KKworU2VlIGluY2x1ZGVkIEdQTCBmaWxlIGZvciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgdGVybXMuCisKKworKiBOb24tR1BMIEZvbnRzOgorCistIFdhcmVlOgorCitDb3B5cmlnaHQ6CisKKwlDb3B5cmlnaHQgKEMpIDIwMDMgYnkgQml0c3RyZWFtLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisJVExXRyBjaGFuZ2VzIGFyZSBpbiBwdWJsaWMgZG9tYWluLgorCisJQml0c3RyZWFtIFZlcmEgaXMgYSB0cmFkZW1hcmsgb2YgQml0c3RyZWFtLCBJbmMuCisKK0xpY2Vuc2U6CisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcKKwlhIGNvcHkgb2YgdGhlIGZvbnRzIGFjY29tcGFueWluZyB0aGlzIGxpY2Vuc2UgKCJGb250cyIpIGFuZCBhc3NvY2lhdGVkCisJZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJGb250IFNvZnR3YXJlIiksIHRvIHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZQorCXRoZSBGb250IFNvZnR3YXJlLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLAorCWNvcHksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIEZvbnQKKwlTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIEZvbnQgU29mdHdhcmUgaXMgZnVybmlzaGVkCisJdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCisJVGhlIGFib3ZlIGNvcHlyaWdodCBhbmQgdHJhZGVtYXJrIG5vdGljZXMgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UKKwlzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9mIG9uZSBvciBtb3JlIG9mIHRoZSBGb250IFNvZnR3YXJlCisJdHlwZWZhY2VzLgorCisJVGhlIEZvbnQgU29mdHdhcmUgbWF5IGJlIG1vZGlmaWVkLCBhbHRlcmVkLCBvciBhZGRlZCB0bywgYW5kIGluCisJcGFydGljdWxhciB0aGUgZGVzaWducyBvZiBnbHlwaHMgb3IgY2hhcmFjdGVycyBpbiB0aGUgRm9udHMgbWF5IGJlCisJbW9kaWZpZWQgYW5kIGFkZGl0aW9uYWwgZ2x5cGhzIG9yIGNoYXJhY3RlcnMgbWF5IGJlIGFkZGVkIHRvIHRoZQorCUZvbnRzLCBvbmx5IGlmIHRoZSBmb250cyBhcmUgcmVuYW1lZCB0byBuYW1lcyBub3QgY29udGFpbmluZyBlaXRoZXIKKwl0aGUgd29yZHMgIkJpdHN0cmVhbSIgb3IgdGhlIHdvcmQgIlZlcmEiLgorCisJVGhpcyBMaWNlbnNlIGJlY29tZXMgbnVsbCBhbmQgdm9pZCB0byB0aGUgZXh0ZW50IGFwcGxpY2FibGUgdG8gRm9udHMKKwlvciBGb250IFNvZnR3YXJlIHRoYXQgaGFzIGJlZW4gbW9kaWZpZWQgYW5kIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZQorCSJCaXRzdHJlYW0gVmVyYSIgbmFtZXMuCisKKwlUaGUgRm9udCBTb2Z0d2FyZSBtYXkgYmUgc29sZCBhcyBwYXJ0IG9mIGEgbGFyZ2VyIHNvZnR3YXJlIHBhY2thZ2UKKwlidXQgbm8gY29weSBvZiBvbmUgb3IgbW9yZSBvZiB0aGUgRm9udCBTb2Z0d2FyZSB0eXBlZmFjZXMgbWF5IGJlIHNvbGQKKwlieSBpdHNlbGYuCisKKwlUSEUgRk9OVCBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorCUVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBBTlkgV0FSUkFOVElFUyBPRgorCU1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVAorCU9GIENPUFlSSUdIVCwgUEFURU5ULCBUUkFERU1BUkssIE9SIE9USEVSIFJJR0hULiBJTiBOTyBFVkVOVCBTSEFMTAorCUJJVFNUUkVBTSBPUiBUSEUgR05PTUUgRk9VTkRBVElPTiBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUgorCU9USEVSIExJQUJJTElUWSwgSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKwlPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SCisJT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIEZPTlQKKwlTT0ZUV0FSRSBPUiBGUk9NIE9USEVSIERFQUxJTkdTIElOIFRIRSBGT05UIFNPRlRXQVJFLgorCisJRXhjZXB0IGFzIGNvbnRhaW5lZCBpbiB0aGlzIG5vdGljZSwgdGhlIG5hbWVzIG9mIEdub21lLCB0aGUgR25vbWUKKwlGb3VuZGF0aW9uLCBhbmQgQml0c3RyZWFtIEluYy4sIHNoYWxsIG5vdCBiZSB1c2VkIGluIGFkdmVydGlzaW5nIG9yCisJb3RoZXJ3aXNlIHRvIHByb21vdGUgdGhlIHNhbGUsIHVzZSBvciBvdGhlciBkZWFsaW5ncyBpbiB0aGlzIEZvbnQKKwlTb2Z0d2FyZSB3aXRob3V0IHByaW9yIHdyaXR0ZW4gYXV0aG9yaXphdGlvbiBmcm9tIHRoZSBHbm9tZSBGb3VuZGF0aW9uCisJb3IgQml0c3RyZWFtIEluYy4sIHJlc3BlY3RpdmVseS4gRm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24sIGNvbnRhY3Q6CisJZm9udHMgYXQgZ25vbWUgZG90IG9yZy4gCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9mbGl0ZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9mbGl0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MWU2N2ZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL2ZsaXRlCkBAIC0wLDAgKzEsMzIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgIExhbmd1YWdlIFRlY2hub2xvZ2llcyBJbnN0aXR1dGUgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgQ2FybmVnaWUgTWVsbG9uIFVuaXZlcnNpdHkgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDkgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byB1c2UgYW5kIGRpc3RyaWJ1dGUgICovCisvKiAgdGhpcyBzb2Z0d2FyZSBhbmQgaXRzIGRvY3VtZW50YXRpb24gd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nICAgKi8KKy8qICB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsICAqLworLyogIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGlzIHdvcmssIGFuZCB0byAgICAgICovCisvKiAgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGlzIHdvcmsgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvICAgKi8KKy8qICB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAxLiBUaGUgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mICAgICovCisvKiAgICAgIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgMi4gQW55IG1vZGlmaWNhdGlvbnMgbXVzdCBiZSBjbGVhcmx5IG1hcmtlZCBhcyBzdWNoLiAgICAgICAgICAgICAgICAqLworLyogICAzLiBPcmlnaW5hbCBhdXRob3JzJyBuYW1lcyBhcmUgbm90IGRlbGV0ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgIDQuIFRoZSBhdXRob3JzJyBuYW1lcyBhcmUgbm90IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzICAgKi8KKy8qICAgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuICAgICAgICAqLworLyogICAgICBwZXJtaXNzaW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICBDQVJORUdJRSBNRUxMT04gVU5JVkVSU0lUWSBBTkQgVEhFIENPTlRSSUJVVE9SUyBUTyBUSElTIFdPUksgICAgICAgICAqLworLyogIERJU0NMQUlNIEFMTCBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUsIElOQ0xVRElORyAgICAgICovCisvKiAgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MsIElOIE5PIEVWRU5UICAgKi8KKy8qICBTSEFMTCBDQVJORUdJRSBNRUxMT04gVU5JVkVSU0lUWSBOT1IgVEhFIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgICAgICAqLworLyogIEZPUiBBTlkgU1BFQ0lBTCwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTICAgICovCisvKiAgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOICAgKi8KKy8qICBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCAgICAgICAgICAqLworLyogIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GICAgICAgICovCisvKiAgVEhJUyBTT0ZUV0FSRS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvZ251cGxvdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9nbnVwbG90Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmNmZlMjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvZ251cGxvdApAQCAtMCwwICsxLDI5IEBACisvKlsKKyAqIENvcHlyaWdodCAxOTg2IC0gMTk5MywgMTk5OCwgMjAwNCAgIFRob21hcyBXaWxsaWFtcywgQ29saW4gS2VsbGV5CisgKgorICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgYW5kIGl0cworICogZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwKKyAqIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMgYW5kCisgKiB0aGF0IGJvdGggdGhhdCBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhcgorICogaW4gc3VwcG9ydGluZyBkb2N1bWVudGF0aW9uLgorICoKKyAqIFBlcm1pc3Npb24gdG8gbW9kaWZ5IHRoZSBzb2Z0d2FyZSBpcyBncmFudGVkLCBidXQgbm90IHRoZSByaWdodCB0bworICogZGlzdHJpYnV0ZSB0aGUgY29tcGxldGUgbW9kaWZpZWQgc291cmNlIGNvZGUuICBNb2RpZmljYXRpb25zIGFyZSB0bworICogYmUgZGlzdHJpYnV0ZWQgYXMgcGF0Y2hlcyB0byB0aGUgcmVsZWFzZWQgdmVyc2lvbi4gIFBlcm1pc3Npb24gdG8KKyAqIGRpc3RyaWJ1dGUgYmluYXJpZXMgcHJvZHVjZWQgYnkgY29tcGlsaW5nIG1vZGlmaWVkIHNvdXJjZXMgaXMgZ3JhbnRlZCwKKyAqIHByb3ZpZGVkIHlvdQorICogICAxLiBkaXN0cmlidXRlIHRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBtb2RpZmljYXRpb25zIGZyb20gdGhlCisgKiAgICByZWxlYXNlZCB2ZXJzaW9uIGluIHRoZSBmb3JtIG9mIGEgcGF0Y2ggZmlsZSBhbG9uZyB3aXRoIHRoZSBiaW5hcmllcywKKyAqICAgMi4gYWRkIHNwZWNpYWwgdmVyc2lvbiBpZGVudGlmaWNhdGlvbiB0byBkaXN0aW5ndWlzaCB5b3VyIHZlcnNpb24KKyAqICAgIGluIGFkZGl0aW9uIHRvIHRoZSBiYXNlIHJlbGVhc2UgdmVyc2lvbiBudW1iZXIsCisgKiAgIDMuIHByb3ZpZGUgeW91ciBuYW1lIGFuZCBhZGRyZXNzIGFzIHRoZSBwcmltYXJ5IGNvbnRhY3QgZm9yIHRoZQorICogICAgc3VwcG9ydCBvZiB5b3VyIG1vZGlmaWVkIHZlcnNpb24sIGFuZAorICogICA0LiByZXRhaW4gb3VyIGNvbnRhY3QgaW5mb3JtYXRpb24gaW4gcmVnYXJkIHRvIHVzZSBvZiB0aGUgYmFzZQorICogICAgc29mdHdhcmUuCisgKiBQZXJtaXNzaW9uIHRvIGRpc3RyaWJ1dGUgdGhlIHJlbGVhc2VkIHZlcnNpb24gb2YgdGhlIHNvdXJjZSBjb2RlIGFsb25nCisgKiB3aXRoIGNvcnJlc3BvbmRpbmcgc291cmNlIG1vZGlmaWNhdGlvbnMgaW4gdGhlIGZvcm0gb2YgYSBwYXRjaCBmaWxlIGlzCisgKiBncmFudGVkIHdpdGggc2FtZSBwcm92aXNpb25zIDIgdGhyb3VnaCA0IGZvciBiaW5hcnkgZGlzdHJpYnV0aW9ucy4KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICJhcyBpcyIgd2l0aG91dCBleHByZXNzIG9yIGltcGxpZWQgd2FycmFudHkKKyAqIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LgorXSovCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvaW96b25lMyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9pb3pvbmUzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0NjhmYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvaW96b25lMwpAQCAtMCwwICsxLDYyIEBACitMSUNFTlNFOgorCisgQ29weXJpZ2h0IDE5OTEsIDE5OTIsIDE5OTQsIDE5OTgsIDE5OTksIDIwMDIgICBXaWxsaWFtIEQuIE5vcmNvdHQKKworIExpY2Vuc2UgdG8gZnJlZWx5IHVzZSBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGlzIGhlcmVieSBncmFudGVkIAorIGJ5IHRoZSBhdXRob3IsIHN1YmplY3QgdG8gdGhlIGNvbmRpdGlvbiB0aGF0IHRoaXMgY29weXJpZ2h0IG5vdGljZSAKKyByZW1haW5zIGludGFjdC4gIFRoZSBhdXRob3IgcmV0YWlucyB0aGUgZXhjbHVzaXZlIHJpZ2h0IHRvIHB1Ymxpc2ggCisgZGVyaXZhdGl2ZSB3b3JrcyBiYXNlZCBvbiB0aGlzIHdvcmssIGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvCisgcmV2aXNlZCB2ZXJzaW9ucyBvZiB0aGlzIHdvcmsuCisKKworCitCZWxvdyBpcyBhdXRob3IgcmVwbHkgdG8gcXVlc3Rpb24gYWJvdXQgZGlzdHJpYnV0aW5nIGlvem9uZTMgaW4KK09wZW5FbWJlZGRlZDoKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK01hcmNpbiwKKworICAgICAgICBSZS1kaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIGFzIGxvbmcgYXMgdGhlIGNvcHlyaWdodCBpcworICAgIG1haW50YWluZWQgYW5kIHRoZSBzb3VyY2UgY29kZSBpcyBub3QgY2hhbmdlZC4gSSBkbyBub3QKKyAgICBzZWUgYSBwcm9ibGVtIHdpdGggeW91ciBtb2RzIHRvIGVuYWJsZSBmaWxlb3AgZm9yIExpbnV4LWFybSwKKyAgICBhcyB0aGVzZSBtb2RzIGhhdmUgYmVlbiByZXR1cm5lZCB0byB0aGUgSW96b25lIGZvbGtzLAorICAgIGFuZCB0aGV5IGhhdmUgYmVlbiBhY2NlcHRlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSBuZXh0CisgICAgcmVsZWFzZSA6LSkKKworVGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiwKK0RvbiBDYXBwcworCistLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tIAorRnJvbTogIk1hcmNpbiBKdXN6a2lld2ljeiIgPGZpcm1hQGhydy5vbmUucGw+CitUbzogIkRvbiBDYXBwcyIgPGRvbi5jYXBwczJAdmVyaXpvbi5uZXQ+OyAiV2lsbGlhbSBELiBOb3Jjb3R0IiAKKzx3bm9yY290dEB1cy5vcmFjbGUuY29tPgorU2VudDogU3VuZGF5LCBPY3RvYmVyIDI5LCAyMDA2IDQ6NTUgUE0KK1N1YmplY3Q6IGlvem9uZTMgMjYzIHBhdGNoIGZvciBhcm0gYW5kIExpY2Vuc2UgcXVlc3Rpb24KKworCis+IE1vcm5pbmcKKz4KKz4gSSB3YW50IHRvIGluY2x1ZGUgaW96b25lMyBpbiBPcGVuRW1iZWRkZWQgWzFdIG1ldGFkYXRhIHRvIGdpdmUgaXQgZm9yCis+IG90aGVyIGRldmVsb3BlcnMuIEN1cnJlbnRseSBPRSBpcyB1c2VkIHRvIGJ1aWxkIGZldyBkaXN0cmlidXRpb25zIGZvcgorPiBtaXNjIHBsYXRmb3JtczogQVJNLCBTSDMsIFNINCwgeDg2LCBQb3dlclBDIGFuZCBkaWZmZXJlbnQgdHlwZXMgb2YKKz4gbWFjaGluZXMgKFBEQSwgc2V0dG9wYm94LCBkZXZib2FyZHMsIGRlc2t0b3BzLCB0aGluIGNsaWVudHMsIHJvdXRlcnMpLgorPgorPiBBY2NvcmRpbmcgdG8geW91ciBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGlvbnMgaXMgZm9yYmlkZGVuLiBQYWNrYWdpbmcKKz4gaW96b25lMyBpbiBPcGVuRW1iZWRkZWQgd2lsbCBub3QgaW52b2x2ZSBhbnkgc291cmNlIGNvZGUgY2hhbmdlcy4gQnV0Cis+IHdoZW4gSSB3YXMgYnVpbGRpbmcgaXQgZm9yIEFSTSBJIGRpc2NvdmVyZWQgdGhhdCBmaWxlb3AgYmluYXJ5IHdhcyBub3QKKz4gYnVpbHQgLSBzbyBJIGNyZWF0ZWQgcGF0Y2ggZm9yIGl0IChhdHRhY2hlZCkuIE5vdCB5ZXQgdGVzdGVkIGl0IG9uIHRhcmdldAorPiBkZXZpY2UuCis+Cis+IFRodXMsIEkgc2VlayB5b3VyIHdyaXR0ZW4gcGVybWlzc2lvbiB2aWEgZS1tYWlsIHRvIGRpc3RyaWJ1dGUgYSBwYWNrYWdlIG9mCis+IHRoZSB1bm1vZGlmaWVkIHNvdXJjZSBjb2RlIGFuZCBhbHNvIGEgcGFja2FnZSBvZiB0aGUgcHJlLWNvbXBpbGVkIGJpbmFyeS4KKz4gWW91ciBjb3B5cmlnaHQgc3RhdGVtZW50IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIHBhY2thZ2UuCis+Cis+Cis+IDEuIGh0dHA6Ly93d3cub3BlbmVtYmVkZGVkLm9yZy8KKz4KKz4gUmVnYXJkcworPiAtLSAKKz4gSklEOiBocnctamFiYmVyLm9yZworPiBPcGVuRW1iZWRkZWQgZGV2ZWxvcGVyL2NvbnN1bHRhbnQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL25iZW5jaC1ieXRlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL25iZW5jaC1ieXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNDdiYTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvbmJlbmNoLWJ5dGUKQEAgLTAsMCArMSwxMCBAQAorVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKK0lNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKK09GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuCitJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCitJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKK05PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKK0RBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCitUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3VuUkFSIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3VuUkFSCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmNzhiNzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvdW5SQVIKQEAgLTAsMCArMSw0MSBAQAorICoqKioqKiAgICAqKioqKiAgICoqKioqKiAgIHVuUkFSIC0gZnJlZSB1dGlsaXR5IGZvciBSQVIgYXJjaGl2ZXMKKyAqKiAgICoqICAqKiAgICoqICAqKiAgICoqICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgKioqKioqICAgKioqKioqKiAgKioqKioqICAgIExpY2Vuc2UgZm9yIHVzZSBhbmQgZGlzdHJpYnV0aW9uIG9mCisgKiogICAqKiAgKiogICAqKiAgKiogICAqKiAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgKiogICAqKiAgKiogICAqKiAgKiogICAqKiAgICAgICAgIEZSRUUgcG9ydGFibGUgdmVyc2lvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworICAgICAgVGhlIHNvdXJjZSBjb2RlIG9mIHVuUkFSIHV0aWxpdHkgaXMgZnJlZXdhcmUuIFRoaXMgbWVhbnM6CisKKyAgIDEuIEFsbCBjb3B5cmlnaHRzIHRvIFJBUiBhbmQgdGhlIHV0aWxpdHkgdW5SQVIgYXJlIGV4Y2x1c2l2ZWx5CisgICAgICBvd25lZCBieSB0aGUgYXV0aG9yIC0gQWxleGFuZGVyIFJvc2hhbC4KKworICAgMi4gVGhlIHVuUkFSIHNvdXJjZXMgbWF5IGJlIHVzZWQgaW4gYW55IHNvZnR3YXJlIHRvIGhhbmRsZSBSQVIKKyAgICAgIGFyY2hpdmVzIHdpdGhvdXQgbGltaXRhdGlvbnMgZnJlZSBvZiBjaGFyZ2UsIGJ1dCBjYW5ub3QgYmUgdXNlZAorICAgICAgdG8gcmUtY3JlYXRlIHRoZSBSQVIgY29tcHJlc3Npb24gYWxnb3JpdGhtLCB3aGljaCBpcyBwcm9wcmlldGFyeS4KKyAgICAgIERpc3RyaWJ1dGlvbiBvZiBtb2RpZmllZCB1blJBUiBzb3VyY2VzIGluIHNlcGFyYXRlIGZvcm0gb3IgYXMgYQorICAgICAgcGFydCBvZiBvdGhlciBzb2Z0d2FyZSBpcyBwZXJtaXR0ZWQsIHByb3ZpZGVkIHRoYXQgaXQgaXMgY2xlYXJseQorICAgICAgc3RhdGVkIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZCBzb3VyY2UgY29tbWVudHMgdGhhdCB0aGUgY29kZSBtYXkKKyAgICAgIG5vdCBiZSB1c2VkIHRvIGRldmVsb3AgYSBSQVIgKFdpblJBUikgY29tcGF0aWJsZSBhcmNoaXZlci4KKworICAgMy4gVGhlIHVuUkFSIHV0aWxpdHkgbWF5IGJlIGZyZWVseSBkaXN0cmlidXRlZC4gTm8gcGVyc29uIG9yIGNvbXBhbnkgCisgICAgICBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHVuUkFSIHdpdGhvdXQgd3JpdHRlbgorICAgICAgcGVybWlzc2lvbiBmcm9tIHRoZSBjb3B5cmlnaHQgaG9sZGVyLgorCisgICA0LiBUSEUgUkFSIEFSQ0hJVkVSIEFORCBUSEUgVU5SQVIgVVRJTElUWSBBUkUgRElTVFJJQlVURUQgIkFTIElTIi4KKyAgICAgIE5PIFdBUlJBTlRZIE9GIEFOWSBLSU5EIElTIEVYUFJFU1NFRCBPUiBJTVBMSUVELiAgWU9VIFVTRSBBVCAKKyAgICAgIFlPVVIgT1dOIFJJU0suIFRIRSBBVVRIT1IgV0lMTCBOT1QgQkUgTElBQkxFIEZPUiBEQVRBIExPU1MsIAorICAgICAgREFNQUdFUywgTE9TUyBPRiBQUk9GSVRTIE9SIEFOWSBPVEhFUiBLSU5EIE9GIExPU1MgV0hJTEUgVVNJTkcKKyAgICAgIE9SIE1JU1VTSU5HIFRISVMgU09GVFdBUkUuCisKKyAgIDUuIEluc3RhbGxpbmcgYW5kIHVzaW5nIHRoZSB1blJBUiB1dGlsaXR5IHNpZ25pZmllcyBhY2NlcHRhbmNlIG9mCisgICAgICB0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgbGljZW5zZS4KKworICAgNi4gSWYgeW91IGRvbid0IGFncmVlIHdpdGggdGVybXMgb2YgdGhlIGxpY2Vuc2UgeW91IG11c3QgcmVtb3ZlCisgICAgICB1blJBUiBmaWxlcyBmcm9tIHlvdXIgc3RvcmFnZSBkZXZpY2VzIGFuZCBjZWFzZSB0byB1c2UgdGhlCisgICAgICB1dGlsaXR5LgorCisgICAgICBUaGFuayB5b3UgZm9yIHlvdXIgaW50ZXJlc3QgaW4gUkFSIGFuZCB1blJBUi4KKworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsZXhhbmRlciBMLiBSb3NoYWwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvdmltIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3ZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWE4MThlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3ZpbQpAQCAtMCwwICsxLDgxIEBACitWSU0gTElDRU5TRQorCitJKSAgVGhlcmUgYXJlIG5vIHJlc3RyaWN0aW9ucyBvbiBkaXN0cmlidXRpbmcgdW5tb2RpZmllZCBjb3BpZXMgb2YgVmltIGV4Y2VwdAorICAgIHRoYXQgdGhleSBtdXN0IGluY2x1ZGUgdGhpcyBsaWNlbnNlIHRleHQuICBZb3UgY2FuIGFsc28gZGlzdHJpYnV0ZQorICAgIHVubW9kaWZpZWQgcGFydHMgb2YgVmltLCBsaWtld2lzZSB1bnJlc3RyaWN0ZWQgZXhjZXB0IHRoYXQgdGhleSBtdXN0CisgICAgaW5jbHVkZSB0aGlzIGxpY2Vuc2UgdGV4dC4gIFlvdSBhcmUgYWxzbyBhbGxvd2VkIHRvIGluY2x1ZGUgZXhlY3V0YWJsZXMKKyAgICB0aGF0IHlvdSBtYWRlIGZyb20gdGhlIHVubW9kaWZpZWQgVmltIHNvdXJjZXMsIHBsdXMgeW91ciBvd24gdXNhZ2UKKyAgICBleGFtcGxlcyBhbmQgVmltIHNjcmlwdHMuCisKK0lJKSBJdCBpcyBhbGxvd2VkIHRvIGRpc3RyaWJ1dGUgYSBtb2RpZmllZCAob3IgZXh0ZW5kZWQpIHZlcnNpb24gb2YgVmltLAorICAgIGluY2x1ZGluZyBleGVjdXRhYmxlcyBhbmQvb3Igc291cmNlIGNvZGUsIHdoZW4gdGhlIGZvbGxvd2luZyBmb3VyCisgICAgY29uZGl0aW9ucyBhcmUgbWV0OgorICAgIDEpIFRoaXMgbGljZW5zZSB0ZXh0IG11c3QgYmUgaW5jbHVkZWQgdW5tb2RpZmllZC4KKyAgICAyKSBUaGUgbW9kaWZpZWQgVmltIG11c3QgYmUgZGlzdHJpYnV0ZWQgaW4gb25lIG9mIHRoZSBmb2xsb3dpbmcgZml2ZSB3YXlzOgorICAgICAgIGEpIElmIHlvdSBtYWtlIGNoYW5nZXMgdG8gVmltIHlvdXJzZWxmLCB5b3UgbXVzdCBjbGVhcmx5IGRlc2NyaWJlIGluCisJICB0aGUgZGlzdHJpYnV0aW9uIGhvdyB0byBjb250YWN0IHlvdS4gIFdoZW4gdGhlIG1haW50YWluZXIgYXNrcyB5b3UKKwkgIChpbiBhbnkgd2F5KSBmb3IgYSBjb3B5IG9mIHRoZSBtb2RpZmllZCBWaW0geW91IGRpc3RyaWJ1dGVkLCB5b3UKKwkgIG11c3QgbWFrZSB5b3VyIGNoYW5nZXMsIGluY2x1ZGluZyBzb3VyY2UgY29kZSwgYXZhaWxhYmxlIHRvIHRoZQorCSAgbWFpbnRhaW5lciB3aXRob3V0IGZlZS4gIFRoZSBtYWludGFpbmVyIHJlc2VydmVzIHRoZSByaWdodCB0bworCSAgaW5jbHVkZSB5b3VyIGNoYW5nZXMgaW4gdGhlIG9mZmljaWFsIHZlcnNpb24gb2YgVmltLiAgV2hhdCB0aGUKKwkgIG1haW50YWluZXIgd2lsbCBkbyB3aXRoIHlvdXIgY2hhbmdlcyBhbmQgdW5kZXIgd2hhdCBsaWNlbnNlIHRoZXkKKwkgIHdpbGwgYmUgZGlzdHJpYnV0ZWQgaXMgbmVnb3RpYWJsZS4gIElmIHRoZXJlIGhhcyBiZWVuIG5vIG5lZ290aWF0aW9uCisJICB0aGVuIHRoaXMgbGljZW5zZSwgb3IgYSBsYXRlciB2ZXJzaW9uLCBhbHNvIGFwcGxpZXMgdG8geW91ciBjaGFuZ2VzLgorCSAgVGhlIGN1cnJlbnQgbWFpbnRhaW5lciBpcyBCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPi4gIElmIHRoaXMKKwkgIGNoYW5nZXMgaXQgd2lsbCBiZSBhbm5vdW5jZWQgaW4gYXBwcm9wcmlhdGUgcGxhY2VzIChtb3N0IGxpa2VseQorCSAgdmltLnNmLm5ldCwgd3d3LnZpbS5vcmcgYW5kL29yIGNvbXAuZWRpdG9ycykuICBXaGVuIGl0IGlzIGNvbXBsZXRlbHkKKwkgIGltcG9zc2libGUgdG8gY29udGFjdCB0aGUgbWFpbnRhaW5lciwgdGhlIG9ibGlnYXRpb24gdG8gc2VuZCBoaW0KKwkgIHlvdXIgY2hhbmdlcyBjZWFzZXMuICBPbmNlIHRoZSBtYWludGFpbmVyIGhhcyBjb25maXJtZWQgdGhhdCBoZSBoYXMKKwkgIHJlY2VpdmVkIHlvdXIgY2hhbmdlcyB0aGV5IHdpbGwgbm90IGhhdmUgdG8gYmUgc2VudCBhZ2Fpbi4KKyAgICAgICBiKSBJZiB5b3UgaGF2ZSByZWNlaXZlZCBhIG1vZGlmaWVkIFZpbSB0aGF0IHdhcyBkaXN0cmlidXRlZCBhcworCSAgbWVudGlvbmVkIHVuZGVyIGEpIHlvdSBhcmUgYWxsb3dlZCB0byBmdXJ0aGVyIGRpc3RyaWJ1dGUgaXQKKwkgIHVubW9kaWZpZWQsIGFzIG1lbnRpb25lZCBhdCBJKS4gIElmIHlvdSBtYWtlIGFkZGl0aW9uYWwgY2hhbmdlcyB0aGUKKwkgIHRleHQgdW5kZXIgYSkgYXBwbGllcyB0byB0aG9zZSBjaGFuZ2VzLgorICAgICAgIGMpIFByb3ZpZGUgYWxsIHRoZSBjaGFuZ2VzLCBpbmNsdWRpbmcgc291cmNlIGNvZGUsIHdpdGggZXZlcnkgY29weSBvZgorCSAgdGhlIG1vZGlmaWVkIFZpbSB5b3UgZGlzdHJpYnV0ZS4gIFRoaXMgbWF5IGJlIGRvbmUgaW4gdGhlIGZvcm0gb2YgYQorCSAgY29udGV4dCBkaWZmLiAgWW91IGNhbiBjaG9vc2Ugd2hhdCBsaWNlbnNlIHRvIHVzZSBmb3IgbmV3IGNvZGUgeW91CisJICBhZGQuICBUaGUgY2hhbmdlcyBhbmQgdGhlaXIgbGljZW5zZSBtdXN0IG5vdCByZXN0cmljdCBvdGhlcnMgZnJvbQorCSAgbWFraW5nIHRoZWlyIG93biBjaGFuZ2VzIHRvIHRoZSBvZmZpY2lhbCB2ZXJzaW9uIG9mIFZpbS4KKyAgICAgICBkKSBXaGVuIHlvdSBoYXZlIGEgbW9kaWZpZWQgVmltIHdoaWNoIGluY2x1ZGVzIGNoYW5nZXMgYXMgbWVudGlvbmVkCisJICB1bmRlciBjKSwgeW91IGNhbiBkaXN0cmlidXRlIGl0IHdpdGhvdXQgdGhlIHNvdXJjZSBjb2RlIGZvciB0aGUKKwkgIGNoYW5nZXMgaWYgdGhlIGZvbGxvd2luZyB0aHJlZSBjb25kaXRpb25zIGFyZSBtZXQ6CisJICAtIFRoZSBsaWNlbnNlIHRoYXQgYXBwbGllcyB0byB0aGUgY2hhbmdlcyBwZXJtaXRzIHlvdSB0byBkaXN0cmlidXRlCisJICAgIHRoZSBjaGFuZ2VzIHRvIHRoZSBWaW0gbWFpbnRhaW5lciB3aXRob3V0IGZlZSBvciByZXN0cmljdGlvbiwgYW5kCisJICAgIHBlcm1pdHMgdGhlIFZpbSBtYWludGFpbmVyIHRvIGluY2x1ZGUgdGhlIGNoYW5nZXMgaW4gdGhlIG9mZmljaWFsCisJICAgIHZlcnNpb24gb2YgVmltIHdpdGhvdXQgZmVlIG9yIHJlc3RyaWN0aW9uLgorCSAgLSBZb3Uga2VlcCB0aGUgY2hhbmdlcyBmb3IgYXQgbGVhc3QgdGhyZWUgeWVhcnMgYWZ0ZXIgbGFzdAorCSAgICBkaXN0cmlidXRpbmcgdGhlIGNvcnJlc3BvbmRpbmcgbW9kaWZpZWQgVmltLiAgV2hlbiB0aGUgbWFpbnRhaW5lcgorCSAgICBvciBzb21lb25lIHdobyB5b3UgZGlzdHJpYnV0ZWQgdGhlIG1vZGlmaWVkIFZpbSB0byBhc2tzIHlvdSAoaW4KKwkgICAgYW55IHdheSkgZm9yIHRoZSBjaGFuZ2VzIHdpdGhpbiB0aGlzIHBlcmlvZCwgeW91IG11c3QgbWFrZSB0aGVtCisJICAgIGF2YWlsYWJsZSB0byBoaW0uCisJICAtIFlvdSBjbGVhcmx5IGRlc2NyaWJlIGluIHRoZSBkaXN0cmlidXRpb24gaG93IHRvIGNvbnRhY3QgeW91LiAgVGhpcworCSAgICBjb250YWN0IGluZm9ybWF0aW9uIG11c3QgcmVtYWluIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZSB5ZWFycworCSAgICBhZnRlciBsYXN0IGRpc3RyaWJ1dGluZyB0aGUgY29ycmVzcG9uZGluZyBtb2RpZmllZCBWaW0sIG9yIGFzIGxvbmcKKwkgICAgYXMgcG9zc2libGUuCisgICAgICAgZSkgV2hlbiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgYXBwbGllcyB0byB0aGUgY2hhbmdlcywKKwkgIHlvdSBjYW4gZGlzdHJpYnV0ZSB0aGUgbW9kaWZpZWQgVmltIHVuZGVyIHRoZSBHTlUgR1BMIHZlcnNpb24gMiBvcgorCSAgYW55IGxhdGVyIHZlcnNpb24uCisgICAgMykgQSBtZXNzYWdlIG11c3QgYmUgYWRkZWQsIGF0IGxlYXN0IGluIHRoZSBvdXRwdXQgb2YgdGhlICI6dmVyc2lvbiIKKyAgICAgICBjb21tYW5kIGFuZCBpbiB0aGUgaW50cm8gc2NyZWVuLCBzdWNoIHRoYXQgdGhlIHVzZXIgb2YgdGhlIG1vZGlmaWVkIFZpbQorICAgICAgIGlzIGFibGUgdG8gc2VlIHRoYXQgaXQgd2FzIG1vZGlmaWVkLiAgV2hlbiBkaXN0cmlidXRpbmcgYXMgbWVudGlvbmVkCisgICAgICAgdW5kZXIgMillKSBhZGRpbmcgdGhlIG1lc3NhZ2UgaXMgb25seSByZXF1aXJlZCBmb3IgYXMgZmFyIGFzIHRoaXMgZG9lcworICAgICAgIG5vdCBjb25mbGljdCB3aXRoIHRoZSBsaWNlbnNlIHVzZWQgZm9yIHRoZSBjaGFuZ2VzLgorICAgIDQpIFRoZSBjb250YWN0IGluZm9ybWF0aW9uIGFzIHJlcXVpcmVkIHVuZGVyIDIpYSkgYW5kIDIpZCkgbXVzdCBub3QgYmUKKyAgICAgICByZW1vdmVkIG9yIGNoYW5nZWQsIGV4Y2VwdCB0aGF0IHRoZSBwZXJzb24gaGltc2VsZiBjYW4gbWFrZQorICAgICAgIGNvcnJlY3Rpb25zLgorCitJSUkpIElmIHlvdSBkaXN0cmlidXRlIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiBWaW0sIHlvdSBhcmUgZW5jb3VyYWdlZCB0byB1c2UKKyAgICAgdGhlIFZpbSBsaWNlbnNlIGZvciB5b3VyIGNoYW5nZXMgYW5kIG1ha2UgdGhlbSBhdmFpbGFibGUgdG8gdGhlCisgICAgIG1haW50YWluZXIsIGluY2x1ZGluZyB0aGUgc291cmNlIGNvZGUuICBUaGUgcHJlZmVycmVkIHdheSB0byBkbyB0aGlzIGlzCisgICAgIGJ5IGUtbWFpbCBvciBieSB1cGxvYWRpbmcgdGhlIGZpbGVzIHRvIGEgc2VydmVyIGFuZCBlLW1haWxpbmcgdGhlIFVSTC4KKyAgICAgSWYgdGhlIG51bWJlciBvZiBjaGFuZ2VzIGlzIHNtYWxsIChlLmcuLCBhIG1vZGlmaWVkIE1ha2VmaWxlKSBlLW1haWxpbmcgYQorICAgICBjb250ZXh0IGRpZmYgd2lsbCBkby4gIFRoZSBlLW1haWwgYWRkcmVzcyB0byBiZSB1c2VkIGlzCisgICAgIDxtYWludGFpbmVyQHZpbS5vcmc+CisKK0lWKSAgSXQgaXMgbm90IGFsbG93ZWQgdG8gcmVtb3ZlIHRoaXMgbGljZW5zZSBmcm9tIHRoZSBkaXN0cmlidXRpb24gb2YgdGhlIFZpbQorICAgICBzb3VyY2VzLCBwYXJ0cyBvZiBpdCBvciBmcm9tIGEgbW9kaWZpZWQgdmVyc2lvbi4gIFlvdSBtYXkgdXNlIHRoaXMKKyAgICAgbGljZW5zZSBmb3IgcHJldmlvdXMgVmltIHJlbGVhc2VzIGluc3RlYWQgb2YgdGhlIGxpY2Vuc2UgdGhhdCB0aGV5IGNhbWUKKyAgICAgd2l0aCwgYXQgeW91ciBvcHRpb24uCisKKz09PQorUmVhZCBtb3JlIGFib3V0IHRoaXMgbGljZW5zZSBhdCBodHRwOi8vdmltZG9jLnNvdXJjZWZvcmdlLm5ldC9odG1sZG9jL3VnYW5kYS5odG1sI2xpY2Vuc2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy96c2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvenNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmYjFmYzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvenNoCkBAIC0wLDAgKzEsMzcgQEAKK1VubGVzcyBvdGhlcndpc2Ugbm90ZWQgaW4gdGhlIGhlYWRlciBvZiBzcGVjaWZpYyBmaWxlcywgZmlsZXMgaW4gdGhpcworZGlzdHJpYnV0aW9uIGhhdmUgdGhlIGxpY2VuY2Ugc2hvd24gYmVsb3cuCisKK0hvd2V2ZXIsIG5vdGUgdGhhdCBjZXJ0YWluIHNoZWxsIGZ1bmN0aW9ucyBhcmUgbGljZW5zZWQgdW5kZXIgdmVyc2lvbnMKK29mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5jZS4gIEFueW9uZSBkaXN0cmlidXRpbmcgdGhlIHNoZWxsIGFzIGEKK2JpbmFyeSBpbmNsdWRpbmcgdGhvc2UgZmlsZXMgbmVlZHMgdG8gdGFrZSBhY2NvdW50IG9mIHRoaXMuICBTZWFyY2gKK3NoZWxsIGZ1bmN0aW9ucyBmb3IgIkNvcHlyaWdodCIgZm9yIHNwZWNpZmljIGNvcHlyaWdodCBpbmZvcm1hdGlvbi4KK05vbmUgb2YgdGhlIGNvcmUgZnVuY3Rpb25zIGFyZSBhZmZlY3RlZCBieSB0aGlzLCBzbyB0aG9zZSBmaWxlcyBtYXkKK3NpbXBseSBiZSBvbWl0dGVkLgorCistLQorCitUaGUgWiBTaGVsbCBpcyBjb3B5cmlnaHQgKGMpIDE5OTItMjAwOSBQYXVsIEZhbHN0YWQsIFJpY2hhcmQgQ29sZW1hbiwKK1pvbHTDoW4gSGlkdsOpZ2ksIEFuZHJldyBNYWluLCBQZXRlciBTdGVwaGVuc29uLCBTdmVuIFdpc2Nobm93c2t5LCBhbmQKK290aGVycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuICBJbmRpdmlkdWFsIGF1dGhvcnMsIHdoZXRoZXIgb3Igbm90CitzcGVjaWZpY2FsbHkgbmFtZWQsIHJldGFpbiBjb3B5cmlnaHQgaW4gYWxsIGNoYW5nZXM7IGluIHdoYXQgZm9sbG93cywgdGhleQorYXJlIHJlZmVycmVkIHRvIGFzIGB0aGUgWnNoIERldmVsb3BtZW50IEdyb3VwJy4gIFRoaXMgaXMgZm9yIGNvbnZlbmllbmNlCitvbmx5IGFuZCB0aGlzIGJvZHkgaGFzIG5vIGxlZ2FsIHN0YXR1cy4gIFRoZSBaIHNoZWxsIGlzIGRpc3RyaWJ1dGVkIHVuZGVyCit0aGUgZm9sbG93aW5nIGxpY2VuY2U7IGFueSBwcm92aXNpb25zIG1hZGUgaW4gaW5kaXZpZHVhbCBmaWxlcyB0YWtlCitwcmVjZWRlbmNlLgorCitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCB3aXRob3V0IHdyaXR0ZW4gYWdyZWVtZW50IGFuZCB3aXRob3V0CitsaWNlbmNlIG9yIHJveWFsdHkgZmVlcywgdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMKK3NvZnR3YXJlIGFuZCB0byBkaXN0cmlidXRlIG1vZGlmaWVkIHZlcnNpb25zIG9mIHRoaXMgc29mdHdhcmUgZm9yIGFueQorcHVycG9zZSwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhlIGZvbGxvd2luZwordHdvIHBhcmFncmFwaHMgYXBwZWFyIGluIGFsbCBjb3BpZXMgb2YgdGhpcyBzb2Z0d2FyZS4KKworSW4gbm8gZXZlbnQgc2hhbGwgdGhlIFpzaCBEZXZlbG9wbWVudCBHcm91cCBiZSBsaWFibGUgdG8gYW55IHBhcnR5IGZvcgorZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwgaW5jaWRlbnRhbCwgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzIGFyaXNpbmcgb3V0CitvZiB0aGUgdXNlIG9mIHRoaXMgc29mdHdhcmUgYW5kIGl0cyBkb2N1bWVudGF0aW9uLCBldmVuIGlmIHRoZSBac2gKK0RldmVsb3BtZW50IEdyb3VwIGhhdmUgYmVlbiBhZHZpc2VkIG9mIHRoZSBwb3NzaWJpbGl0eSBvZiBzdWNoIGRhbWFnZS4KKworVGhlIFpzaCBEZXZlbG9wbWVudCBHcm91cCBzcGVjaWZpY2FsbHkgZGlzY2xhaW0gYW55IHdhcnJhbnRpZXMsIGluY2x1ZGluZywKK2J1dCBub3QgbGltaXRlZCB0bywgdGhlIGltcGxpZWQgd2FycmFudGllcyBvZiBtZXJjaGFudGFiaWxpdHkgYW5kIGZpdG5lc3MKK2ZvciBhIHBhcnRpY3VsYXIgcHVycG9zZS4gIFRoZSBzb2Z0d2FyZSBwcm92aWRlZCBoZXJldW5kZXIgaXMgb24gYW4gImFzIGlzIgorYmFzaXMsIGFuZCB0aGUgWnNoIERldmVsb3BtZW50IEdyb3VwIGhhdmUgbm8gb2JsaWdhdGlvbiB0byBwcm92aWRlCittYWludGVuYW5jZSwgc3VwcG9ydCwgdXBkYXRlcywgZW5oYW5jZW1lbnRzLCBvciBtb2RpZmljYXRpb25zLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2FuYWx5emUtc3VzcGVuZC9hbmFseXplLXN1c3BlbmRfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2FuYWx5emUtc3VzcGVuZC9hbmFseXplLXN1c3BlbmRfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5N2ZmMGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvYW5hbHl6ZS1zdXNwZW5kL2FuYWx5emUtc3VzcGVuZF9naXQuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJBbmFseXplIFN1c3BlbmQiCitERVNDUklQVElPTiA9ICJhbmFseXplLXN1c3BlbmQgaXMgYSB0b29sIGZvciBzeXN0ZW0gZGV2ZWxvcGVycyB0byB2aXN1YWxpemUgXAordGhlIGFjdGl2aXR5IGJldHdlZW4gc3VzcGVuZCBhbmQgcmVzdW1lLCBhbGxvd2luZyB0aGVtIHRvIGlkZW50aWZ5IFwKK2luZWZmaWNpZW5jaWVzIGFuZCBib3R0bGVuZWNrcy4iCitIT01FUEFHRSA9ICJodHRwczovLzAxLm9yZy9zdXNwZW5kcmVzdW1lIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTEyZjg4NGQyYWUxZmY4N2MwOWU1YjdjY2MyYzRjYTdlIgorCisjIEFwYXJ0IGZyb20gdGhlIGxpc3RlZCBSREVQRU5EUywgYW5hbHl6ZS1zdXNwZW5kIGRlcGVuZHMgb24gc29tZSBmZWF0dXJlcworIyBwcm92aWRlZCBieSB0aGUga2VybmVsLiBUaGVzZSBvcHRpb25zIGFyZToKKyMgICAtIENPTkZJR19QTV9ERUJVRz15CisjICAgLSBDT05GSUdfUE1fU0xFRVBfREVCVUc9eQorIyAgIC0gQ09ORklHX0ZUUkFDRT15CisjICAgLSBDT05GSUdfRlVOQ1RJT05fVFJBQ0VSPXkKKyMgICAtIENPTkZJR19GVU5DVElPTl9HUkFQSF9UUkFDRVI9eQorCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLWNvcmUgcHl0aG9uLWRhdGV0aW1lIHB5dGhvbi1zdHJpbmdvbGQiCisKK1BWID0gIjMuMitnaXRyJHtTUkNQVn0iCitTUkNSRVYgPSAiYmNlM2NiZWM0M2JjMmNlN2E4Yzc5YjIxMDMxNGRkOWQ5YWMxMDEwYiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS8wMW9yZy9zdXNwZW5kcmVzdW1lLmdpdDtwcm90b2NvbD1odHRwcyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtRG0gMDc1NSBhbmFseXplX3N1c3BlbmQucHkgJHtEfSR7YmluZGlyfS9hbmFseXplX3N1c3BlbmQucHkKKwlpbnN0YWxsIC1EbSAwNjQ0IFJFQURNRSAke0R9JHtkb2NkaXJ9L2FuYWx5emUtc3VzcGVuZC9SRUFETUUKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvYm9ubmllL2Jvbm5pZSsrXzEuMDNlLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2Jvbm5pZS9ib25uaWUrK18xLjAzZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzEyMTdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2Jvbm5pZS9ib25uaWUrK18xLjAzZS5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIlRlc3RzIGxhcmdlIGZpbGUgSU8gYW5kIGNyZWF0aW9uL2RlbGV0aW9uIG9mIHNtYWxsIGZpbGVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jb2tlci5jb20uYXUvYm9ubmllKysvIgorU0VDVElPTiA9ICJiZW5jaG1hcmsvdGVzdHMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vY29weXJpZ2h0LnR4dDttZDU9Y2Q0ZGRlOTVhNmI5ZDEyMmYwYTkxNTBhZTljYzNlZTAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jb2tlci5jb20uYXUvYm9ubmllKysvJHtCUE59LSR7UFZ9LnRneiBcCisgICAgICAgICAgIGZpbGU6Ly9nY2MtNC4zLWZpeGVzLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3NTBhYTViNTA1MTI2M2E5OWM2YzE5NTg4OGM3NDk2OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYjM4NjYxMTY2MzRiZjY1NzYwYjY4MDZiZTRhZmE3ZTI0YTFjYWQ2ZjE0NWM4NzZkZjg3MjFmMDFiYTJlMmNiIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworU0NSSVBUUyA9ICJib25fY3N2Mmh0bWwgYm9uX2NzdjJ0eHQiCitFWEVTID0gImJvbm5pZSsrIHpjYXYiCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtFWEVTfSAke0R9LyR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTQ1JJUFRTfSAke0R9LyR7YmluZGlyfQorfQorCitQQUNLQUdFUyA9KyAiYm9ubmllLXNjcmlwdHMiCisKK0ZJTEVTXyR7UE59ID0gIiR7c2JpbmRpcn0iCitGSUxFU19ib25uaWUtc2NyaXB0cyA9ICIke2JpbmRpcn0iCisKK1JERVBFTkRTX2Jvbm5pZS1zY3JpcHRzICs9ICJwZXJsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2Jvbm5pZS9maWxlcy9nY2MtNC4zLWZpeGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2Jvbm5pZS9maWxlcy9nY2MtNC4zLWZpeGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3ZjFiNzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvYm9ubmllL2ZpbGVzL2djYy00LjMtZml4ZXMucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorSW5jbHVkZXMgc3RyaW5nLmggdG8gb25lIG9mIHRoZSBzb3VyY2UgZmlsZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtub3QgYXV0aG9yLl0KKy0tLQorIHpjYXYuY3BwIHwgICAgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK0luZGV4OiBib25uaWUrKy0xLjAzYS96Y2F2LmNwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGJvbm5pZSsrLTEuMDNhLm9yaWcvemNhdi5jcHAKKysrKyBib25uaWUrKy0xLjAzYS96Y2F2LmNwcAorQEAgLTE1LDYgKzE1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKKyAjZWxzZQorICNpbmNsdWRlIDx2ZWN0b3IuaD4KKyAjZW5kaWYKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisgCisgLy8gUmVhZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtZWdhYnl0ZXMgb2YgZGF0YSBmcm9tIHRoZSBmZCBhbmQgcmV0dXJuIHRoZQorIC8vIGFtb3VudCBvZiB0aW1lIGVsYXBzZWQgaW4gc2Vjb25kcy4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tbmVvbl8yMDE0MDYyNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tbmVvbl8yMDE0MDYyNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNGUzZmM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1uZW9uXzIwMTQwNjI2LmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiQ1BVIGJ1cm4gYXBwIHRoYXQgbG9hZHMgdGhlIE5FT04gY29wcm9jZXNzb3IgZnVsbHkiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2J1cm4uUzttZDU9ODIzYWJjNzJjMmNkNDQ4ZTg3ZGY5YmM1MzU1YTQ0NTYiCisKK0RMX0RJUl9hcHBlbmQgPSAiLyR7UE59LSR7UFZ9IgorCisjIEVuc3VyZSB0byBtYWtlIHRoaXMgYXZhaWxhYmxlIGZvciBtYWNoaW5lIHdoaWNoIGhhcyBuZW9uCitDT01QQVRJQkxFX01BQ0hJTkUgPSAiKCR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgIm5lb24iLCAiJHtNQUNISU5FfSIsICJJbnZhbGlkISIsIGQpfSkiCisKK1NSQ19VUkkgPSAiaHR0cDovL2hhcmR3YXJlYnVnLm9yZy9maWxlcy9idXJuLlM7bmFtZT1tcnUgXAorICAgICAgICAgICBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vc3N2Yi9jcHVidXJuLWFybS9kZDVjNWJhNThkMmIwYjIzY2ZhYjRhMjg2ZjlkM2Y1NTEwMDAwZjIwL2NwdWJ1cm4tYTguUztuYW1lPXNzdmIiCisKK1NSQ19VUklbbXJ1Lm1kNXN1bV0gPSAiODIzYWJjNzJjMmNkNDQ4ZTg3ZGY5YmM1MzU1YTQ0NTYiCitTUkNfVVJJW21ydS5zaGEyNTZzdW1dID0gIjAxZDlmYzA0ZjgzNzQwYzUxM2MyNTQwMWRjYzg5YzExYjJhNWE2MDEzZTcwYmZjYTQyYjdiMDIxMjlmODhjZDIiCitTUkNfVVJJW3NzdmIubWQ1c3VtXSA9ICJiYTBlZjI5MzlhM2IzYjQ4NzUyMzQ0OGM2NzU0NGU5NCIKK1NSQ19VUklbc3N2Yi5zaGEyNTZzdW1dID0gImNlNDJlYmRjNzFjODc2YTMzZDlmNzUzNDM1NWVmNzZjZWZhMGQwMGRkYjE5YWQ2OWNmMDVhMjY2Yzg2MWQwOGQiCisKK1MgPSAiJHtXT1JLRElSfSIKKworZG9fY29tcGlsZSgpIHsKKyAgICAke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSBidXJuLlMgLW8gYnVybgorICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IGNwdWJ1cm4tYTguUyAtbyBidXJuLW5lb25hOAorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2J1cm4gJHtEfSR7YmluZGlyfS9idXJuLW5lb24KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9idXJuLW5lb25hOCAke0R9JHtiaW5kaXJ9LworfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZGJlbmNoL2RiZW5jaF80LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZGJlbmNoL2RiZW5jaF80LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTkxNWU0YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9kYmVuY2gvZGJlbmNoXzQuMC5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIlRoZSBkYmVuY2ggKGRpc2spIGFuZCB0YmVuY2ggKFRDUCkgYmVuY2htYXJrcyIKK1NVTU1BUllfZGJlbmNoID0gIkZpbGVzeXN0ZW0gbG9hZCBiZW5jaG1hcmsiCitTVU1NQVJZX3RiZW5jaCA9ICJUQ1AgbG9hZCBiZW5jaG1hcmsiCitIT01FUEFHRSA9ICJodHRwOi8vc2FtYmEub3JnL2Z0cC90cmlkZ2UvZGJlbmNoLyIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJwb3B0IgorCitTUkNfVVJJID0gIlwKKyAgICBodHRwOi8vc2FtYmEub3JnL2Z0cC90cmlkZ2UvZGJlbmNoL2RiZW5jaC0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9kZXN0ZGlyLnBhdGNoIFwKKyAgICBmaWxlOi8vbWFrZWZpbGUucGF0Y2giCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBQ0tBR0VTID0rICJ0YmVuY2ggdGJlbmNoLWRiZyIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK0ZJTEVTX3RiZW5jaCA9ICIke2JpbmRpcn0vdGJlbmNoKiAke3ByZWZpeH0vc2hhcmUvY2xpZW50LnR4dCIKK0ZJTEVTX3RiZW5jaC1kYmcgKz0gIiR7YmluZGlyfS8uZGVidWcvdGJlbmNoKiIKKworU1JDX1VSSVttZDVzdW1dID0gIjFmZTU2ZmY3MWI5YTQxNmY4ODg5ZDcxNTBhYzU0ZGE0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYwMDE4OTNmMzRlNjhhM2NmZWI1ZDQyNGUxZjJiZmVmMDA1ZGY5NmEyMmQ4NmYzNWRjNzcwYzViY2NmM2FhOGEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZGJlbmNoL2ZpbGVzL2Rlc3RkaXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZGJlbmNoL2ZpbGVzL2Rlc3RkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNkMmEzNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9kYmVuY2gvZmlsZXMvZGVzdGRpci5wYXRjaApAQCAtMCwwICsxLDI4IEBACitBcHBlbmQgJChERVNURElSKSB0byBhbGwgJChiaW5kaXIpLCAkKGRhdGFkaXIpIGFuZCAkKG1hbmRpcikuIEdvdCAKK3RoaXMgcGF0Y2ggZnJvbSBPRSBjb21taXQgaWQgNzA5YzRkNjZlMGIxMDdjYTYwNjk0MWI5ODhiYWQ3MTdjMGI0NWQ5YgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vdCBhdXRob3JdCisKK0luZGV4OiBkYmVuY2gtMy4wNC9NYWtlZmlsZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRiZW5jaC0zLjA0Lm9yaWcvTWFrZWZpbGUuaW4JMjAwNi0wOS0xNyAyMDoyMTowNy4wMDAwMDAwMDAgKzAyMDAKKysrKyBkYmVuY2gtMy4wNC9NYWtlZmlsZS5pbgkyMDA2LTA5LTE3IDIwOjIxOjM2LjAwMDAwMDAwMCArMDIwMAorQEAgLTMyLDEyICszMiwxMiBAQAorIAorICMgQ2FyZWZ1bCBoZXJlOiBkb24ndCBpbnN0YWxsIGNsaWVudC50eHQgb3ZlciBpdHNlbGYuCisgaW5zdGFsbDogYWxsCistCSR7SU5TVEFMTENNRH0gLWQgJChiaW5kaXIpICQoZGF0YWRpcikgJChtYW5kaXIpCistCSR7SU5TVEFMTENNRH0gZGJlbmNoIHRiZW5jaCB0YmVuY2hfc3J2ICQoYmluZGlyKQorLQkke0lOU1RBTExDTUR9IGNsaWVudC50eHQgJChkYXRhZGlyKQorLQkke0lOU1RBTExDTUR9IC1tNjQ0IGRiZW5jaC4xICQobWFuZGlyKQorLQlsbiAtc2YgZGJlbmNoLjEgJChtYW5kaXIpL3RiZW5jaC4xCistCWxuIC1zZiBkYmVuY2guMSAkKG1hbmRpcikvdGJlbmNoX3Nydi4xCisrCSR7SU5TVEFMTENNRH0gLWQgJChERVNURElSKSQoYmluZGlyKSAkKERFU1RESVIpJChkYXRhZGlyKSAkKERFU1RESVIpJChtYW5kaXIpCisrCSR7SU5TVEFMTENNRH0gZGJlbmNoIHRiZW5jaCB0YmVuY2hfc3J2ICQoREVTVERJUikkKGJpbmRpcikKKysJJHtJTlNUQUxMQ01EfSBAdG9wX3NyY2RpckAvY2xpZW50LnR4dCAkKERFU1RESVIpJChkYXRhZGlyKQorKwkke0lOU1RBTExDTUR9IC1tNjQ0IEB0b3Bfc3JjZGlyQC9kYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpCisrCWxuIC1zZiBkYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpL3RiZW5jaC4xCisrCWxuIC1zZiBkYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpL3RiZW5jaF9zcnYuMQorIAorIGNsZWFuOgorIAlybSAtZiAqLm8gKn4gZGJlbmNoIHRiZW5jaCB0YmVuY2hfc3J2CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZGJlbmNoL2ZpbGVzL21ha2VmaWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2RiZW5jaC9maWxlcy9tYWtlZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMWZiNGZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2RiZW5jaC9maWxlcy9tYWtlZmlsZS5wYXRjaApAQCAtMCwwICsxLDE4IEBACitBZGQgc3BhY2UgYmV0d2VlbiBpbnN0YWxsIC1tIG9wdGlvbiBhbmQgaXRzIGFyZ3VtZW50LiBHb3QgdGhpcyBwYXRjaCBmcm9tIAorT0UgNzA5YzRkNjZlMGIxMDdjYTYwNjk0MWI5ODhiYWQ3MTdjMGI0NWQ5YgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vdCBhdXRob3JdCisKK0luZGV4OiBkYmVuY2gtNC4wL01ha2VmaWxlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGJlbmNoLTQuMC5vcmlnL01ha2VmaWxlLmluCisrKysgZGJlbmNoLTQuMC9NYWtlZmlsZS5pbgorQEAgLTM1LDcgKzM1LDcgQEAgaW5zdGFsbDogYWxsCisgCSR7SU5TVEFMTENNRH0gLWQgJChERVNURElSKSQoYmluZGlyKSAkKERFU1RESVIpJChkYXRhZGlyKSAkKERFU1RESVIpJChtYW5kaXIpCisgCSR7SU5TVEFMTENNRH0gZGJlbmNoIHRiZW5jaCB0YmVuY2hfc3J2ICQoREVTVERJUikkKGJpbmRpcikKKyAJJHtJTlNUQUxMQ01EfSBAdG9wX3NyY2RpckAvY2xpZW50LnR4dCAkKERFU1RESVIpJChkYXRhZGlyKQorLQkke0lOU1RBTExDTUR9IC1tNjQ0IEB0b3Bfc3JjZGlyQC9kYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpCisrCSR7SU5TVEFMTENNRH0gLW0gNjQ0IEB0b3Bfc3JjZGlyQC9kYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpCisgCWxuIC1zZiBkYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpL3RiZW5jaC4xCisgCWxuIC1zZiBkYmVuY2guMSAkKERFU1RESVIpJChtYW5kaXIpL3RiZW5jaF9zcnYuMQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2Zpby9maW9fMi4yLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZmlvL2Zpb18yLjIuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjY3MTczCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2Zpby9maW9fMi4yLjYuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJGaWxlc3lzdGVtIGFuZCBoYXJkd2FyZSBiZW5jaG1hcmsgYW5kIHN0cmVzcyB0b29sIgorREVTQ1JJUFRJT04gPSAiZmlvIGlzIGFuIEkvTyB0b29sIG1lYW50IHRvIGJlIHVzZWQgYm90aCBmb3IgYmVuY2htYXJrIGFuZCBcCitzdHJlc3MvaGFyZHdhcmUgdmVyaWZpY2F0aW9uLiBJdCBoYXMgc3VwcG9ydCBmb3IgYSBudW1iZXIgb2YgSS9PIGVuZ2luZXMsIFwKK0kvTyBwcmlvcml0aWVzIChmb3IgbmV3ZXIgTGludXgga2VybmVscyksIHJhdGUgSS9PLCBmb3JrZWQgb3IgdGhyZWFkZWQgam9icywgXAorYW5kIG11Y2ggbW9yZS4gSXQgY2FuIHdvcmsgb24gYmxvY2sgZGV2aWNlcyBhcyB3ZWxsIGFzIGZpbGVzLiBmaW8gYWNjZXB0cyBcCitqb2IgZGVzY3JpcHRpb25zIGluIGEgc2ltcGxlLXRvLXVuZGVyc3RhbmQgdGV4dCBmb3JtYXQuIFNldmVyYWwgZXhhbXBsZSBqb2IgXAorZmlsZXMgYXJlIGluY2x1ZGVkLiBmaW8gZGlzcGxheXMgYWxsIHNvcnRzIG9mIEkvTyBwZXJmb3JtYW5jZSBpbmZvcm1hdGlvbi4iCitIT01FUEFHRSA9ICJodHRwOi8vZnJlZWNvZGUuY29tL3Byb2plY3RzL2ZpbyIKK1NFQ1RJT04gPSAiY29uc29sZS90ZXN0cyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOTNhNWNhNDQ1ZjY5NjU4NzNlY2EwMjU5YTE3ZjgzMyIKKworREVQRU5EUyA9ICJsaWJhaW8gemxpYiIKKworUEFDS0FHRUNPTkZJR19OVU1BID0gIm51bWEiCisjIEFSTSBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydCBOVU1BCitQQUNLQUdFQ09ORklHX05VTUFfYXJtID0gIiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7UEFDS0FHRUNPTkZJR19OVU1BfSIKK1BBQ0tBR0VDT05GSUdbbnVtYV0gPSAiLC0tZGlzYWJsZS1udW1hLG51bWFjdGwiCisKKyMgcmV2IGZvciB2Mi4yLjYKK1NSQ1JFViA9ICJmNTJjOTY5MWJjOGMyODVmMzQ0NTIzNWM2OWFjZGZkNmRlN2Y5YjgyIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLmRrL2Zpby5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKKyMgYXZvaWRzIGJ1aWxkIGJyZWFrcyB3aGVuIHVzaW5nIG5vLXN0YXRpYy1saWJzLmluYworRElTQUJMRV9TVEFUSUMgPSAiIgorCitFWFRSQV9PRU1BS0UgPSAiQ0M9JyR7Q0N9JyBMREZMQUdTPScke0xERkxBR1N9JyIKKworZG9fY29uZmlndXJlKCkgeworICAgIC4vY29uZmlndXJlICR7RVhUUkFfT0VDT05GfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0gcHJlZml4PSR7cHJlZml4fSBtYW5kaXI9JHttYW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9LyR7ZG9jZGlyfS8ke1BOfQorICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vZXhhbXBsZXMgJHtEfS8ke2RvY2Rpcn0vJHtQTn0vCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy8wMDAxLUZpeC13bF9zdXJmYWNlLXNob3VsZC1iZS1kZXN0b3J5ZWQtYWZ0ZXItdGhlLXdsX3dpbmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy8wMDAxLUZpeC13bF9zdXJmYWNlLXNob3VsZC1iZS1kZXN0b3J5ZWQtYWZ0ZXItdGhlLXdsX3dpbmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM5NTA4MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2ZpbGVzLzAwMDEtRml4LXdsX3N1cmZhY2Utc2hvdWxkLWJlLWRlc3RvcnllZC1hZnRlci10aGUtd2xfd2luZC5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIDljNzRlYzgzZTI5MjliMWQ1YWI2NWQ1MTM3YjZiYTQyZWRlYjMzMmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBZb25nIEdhbiA8YjQ1NzQ4QGZyZWVzY2FsZS5jb20+CitEYXRlOiBUdWUsIDI3IE9jdCAyMDE1IDE4OjE1OjIwICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeDogd2xfc3VyZmFjZSBzaG91bGQgYmUgZGVzdG9yeWVkIGFmdGVyIHRoZSB3bF93aW5kb3cKKyBkZXN0cm95ZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vZ2xtYXJrMi9nbG1hcmsyL2lzc3Vlcy8xMl0KKworU2lnbmVkLW9mZi1ieTogWW9uZyBHYW4gPGI0NTc0OEBmcmVlc2NhbGUuY29tPgorCistLS0KKyBzcmMvbmF0aXZlLXN0YXRlLXdheWxhbmQuY3BwIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9uYXRpdmUtc3RhdGUtd2F5bGFuZC5jcHAgYi9zcmMvbmF0aXZlLXN0YXRlLXdheWxhbmQuY3BwCitpbmRleCA0MWZjNzQzLi5jZGNkZjM0IDEwMDY0NAorLS0tIGEvc3JjL25hdGl2ZS1zdGF0ZS13YXlsYW5kLmNwcAorKysrIGIvc3JjL25hdGl2ZS1zdGF0ZS13YXlsYW5kLmNwcAorQEAgLTU2LDEwICs1NiwxMCBAQCBOYXRpdmVTdGF0ZVdheWxhbmQ6On5OYXRpdmVTdGF0ZVdheWxhbmQoKQorICAgICAgICAgICAgIHdsX3NoZWxsX3N1cmZhY2VfZGVzdHJveSh3aW5kb3dfLT5zaGVsbF9zdXJmYWNlKTsKKyAgICAgICAgIGlmICh3aW5kb3dfLT5vcGFxdWVfcmVxaW9uKQorICAgICAgICAgICAgIHdsX3JlZ2lvbl9kZXN0cm95KHdpbmRvd18tPm9wYXF1ZV9yZXFpb24pOworLSAgICAgICAgaWYgKHdpbmRvd18tPnN1cmZhY2UpCistICAgICAgICAgICAgd2xfc3VyZmFjZV9kZXN0cm95KHdpbmRvd18tPnN1cmZhY2UpOworICAgICAgICAgaWYgKHdpbmRvd18tPm5hdGl2ZSkKKyAgICAgICAgICAgICB3bF9lZ2xfd2luZG93X2Rlc3Ryb3kod2luZG93Xy0+bmF0aXZlKTsKKysgICAgICAgIGlmICh3aW5kb3dfLT5zdXJmYWNlKQorKyAgICAgICAgICAgIHdsX3N1cmZhY2VfZGVzdHJveSh3aW5kb3dfLT5zdXJmYWNlKTsKKyAgICAgICAgIGRlbGV0ZSB3aW5kb3dfOworICAgICB9CisgCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2ZpbGVzL2J1aWxkLUNoZWNrLXBhY2thZ2VzLXRvLWJlLXVzZWQtYnktdGhlLWVuYWJsZWQtZmxhdm8ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy9idWlsZC1DaGVjay1wYWNrYWdlcy10by1iZS11c2VkLWJ5LXRoZS1lbmFibGVkLWZsYXZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmMTMzMjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy9idWlsZC1DaGVjay1wYWNrYWdlcy10by1iZS11c2VkLWJ5LXRoZS1lbmFibGVkLWZsYXZvLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CitTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkOiBDaGVjayBwYWNrYWdlcyB0byBiZSB1c2VkIGJ5IHRoZSBlbmFibGVkIGZsYXZvcnMKK09yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCisKK1RoZSBwYWNrYWdlcyBzaG91bGRuJ3QgYmUgZHluYW1pY2FsbHkgZGV0ZWN0ZWQgb3RoZXJ3aXNlIHRoZSBidWlsZAorcHJlZGljdGFiaWxpdHkgaXMgbG9zdC4gV2Ugbm93IGhhdmUgYWxsIHBhY2thZ2VzIGFzIG1hbmRhdG9yeSBidXQKK2RlcGVuZGVudCBvZiB0aGUgZmxhdm9ycyB3aGljaCB1c2UgdGhlbS4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9nbG1hcmsyL2dsbWFyazIvcHVsbC84XQorCitTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorLS0tCisgd3NjcmlwdCB8IDEwICsrKysrKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvd3NjcmlwdCBiL3dzY3JpcHQKK2luZGV4IGNhYjYyYTMuLmU3ZWFlZDAgMTAwNjQ0CistLS0gYS93c2NyaXB0CisrKysgYi93c2NyaXB0CitAQCAtMTIxLDEzICsxMjEsMTcgQEAgZGVmIGNvbmZpZ3VyZShjdHgpOgorICAgICAgICAgICAgICAgICAoJ21pcmNsaWVudCcsJ21pcmNsaWVudCcsICcwLjEzJywgbGlzdF9jb250YWlucyhPcHRpb25zLm9wdGlvbnMuZmxhdm9ycywgJ21pcicpKSwKKyAgICAgICAgICAgICAgICAgKCd3YXlsYW5kLWNsaWVudCcsJ3dheWxhbmQtY2xpZW50JywgTm9uZSwgbGlzdF9jb250YWlucyhPcHRpb25zLm9wdGlvbnMuZmxhdm9ycywgJ3dheWxhbmQnKSksCisgICAgICAgICAgICAgICAgICgnd2F5bGFuZC1lZ2wnLCd3YXlsYW5kLWVnbCcsIE5vbmUsIGxpc3RfY29udGFpbnMoT3B0aW9ucy5vcHRpb25zLmZsYXZvcnMsICd3YXlsYW5kJykpXQorLSAgICBmb3IgKHBrZywgdXNlbGliLCBhdGxlYXN0LCBtYW5kYXRvcnkpIGluIG9wdF9wa2dzOgorKyAgICBmb3IgKHBrZywgdXNlbGliLCBhdGxlYXN0LCBjaGVjaykgaW4gb3B0X3BrZ3M6CisrICAgICAgICAjIENoZWNrIHBhY2thZ2VzIHJlcXVpcmVkIGJ5IHRoZSBmbGF2b3JzCisrICAgICAgICBpZiBub3QgY2hlY2s6CisrICAgICAgICAgICAgY29udGludWUKKysKKyAgICAgICAgIGlmIGF0bGVhc3QgaXMgTm9uZToKKyAgICAgICAgICAgICBjdHguY2hlY2tfY2ZnKHBhY2thZ2UgPSBwa2csIHVzZWxpYl9zdG9yZSA9IHVzZWxpYiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MgPSAnLS1jZmxhZ3MgLS1saWJzJywgbWFuZGF0b3J5ID0gbWFuZGF0b3J5KQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncyA9ICctLWNmbGFncyAtLWxpYnMnLCBtYW5kYXRvcnkgPSBUcnVlKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBjdHguY2hlY2tfY2ZnKHBhY2thZ2UgPSBwa2csIHVzZWxpYl9zdG9yZSA9IHVzZWxpYiwgYXRsZWFzdF92ZXJzaW9uPWF0bGVhc3QsCistICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzID0gJy0tY2ZsYWdzIC0tbGlicycsIG1hbmRhdG9yeSA9IG1hbmRhdG9yeSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MgPSAnLS1jZmxhZ3MgLS1saWJzJywgbWFuZGF0b3J5ID0gVHJ1ZSkKKyAKKyAKKyAgICAgIyBQcmVwZW5kIENYWCBmbGFncyBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRlbiBieSB0aGUKKy0tIAorMi40LjYKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZ2xtYXJrMl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9nbG1hcmsyX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjk5MjFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZ2xtYXJrMl9naXQuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJPcGVuR0wgKEVTKSAyLjAgYmVuY2htYXJrIgorREVTQ1JJUFRJT04gPSAiZ2xtYXJrMiBpcyBhIGJlbmNobWFyayBmb3IgT3BlbkdMIChFUykgMi4wLiBcCitJdCB1c2VzIG9ubHkgdGhlIHN1YnNldCBvZiB0aGUgT3BlbkdMIDIuMCBBUEkgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGggT3BlbkdMIEVTIDIuMC4iCitIT01FUEFHRSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvZ2xtYXJrMiIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmxhdW5jaHBhZC5uZXQvZ2xtYXJrMiIKKworTElDRU5TRSA9ICJHUEx2MysgJiBTR0l2MSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuU0dJO2JlZ2lubGluZT01O21kNT0yNjljZGFiNGFmNjc0ODY3N2FjY2U1MWQ5YWExMzU1MiIKKworREVQRU5EUyA9ICJsaWJwbmcxMiBqcGVnIgorCitQViA9ICIyMDE0LjAzKyR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZ2xtYXJrMi9nbG1hcmsyLmdpdDtwcm90b2NvbD1odHRwcyBcCisgICAgICAgICAgIGZpbGU6Ly9idWlsZC1DaGVjay1wYWNrYWdlcy10by1iZS11c2VkLWJ5LXRoZS1lbmFibGVkLWZsYXZvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXdsX3N1cmZhY2Utc2hvdWxkLWJlLWRlc3RvcnllZC1hZnRlci10aGUtd2xfd2luZC5wYXRjaCIKK1NSQ1JFViA9ICJmYTcxYWYyZGZhYjcxMWZhYzg3Yjk1MDRiNmZjOTg2MmY0NGJmNzJhIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IHdhZiBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEgb3BlbmdsJywgJ3gxMS1nbCB4MTEtZ2xlczInLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnd2F5bGFuZCBvcGVuZ2wnLCAnd2F5bGFuZC1nbCB3YXlsYW5kLWdsZXMyJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICBkcm0tZ2wgZHJtLWdsZXMyIgorCitQQUNLQUdFQ09ORklHW3gxMS1nbF0gPSAiLCx2aXJ0dWFsL2xpYmdsIHZpcnR1YWwvbGlieDExIgorUEFDS0FHRUNPTkZJR1t4MTEtZ2xlczJdID0gIiwsdmlydHVhbC9saWJnbGVzMiB2aXJ0dWFsL2xpYngxMSIKK1BBQ0tBR0VDT05GSUdbZHJtLWdsXSA9ICIsLHZpcnR1YWwvbGliZ2wgbGliZHJtIgorUEFDS0FHRUNPTkZJR1tkcm0tZ2xlczJdID0gIiwsdmlydHVhbC9saWJnbGVzMiBsaWJkcm0iCitQQUNLQUdFQ09ORklHW3dheWxhbmQtZ2xdID0gIiwsdmlydHVhbC9saWJnbCB3YXlsYW5kIgorUEFDS0FHRUNPTkZJR1t3YXlsYW5kLWdsZXMyXSA9ICIsLHZpcnR1YWwvbGliZ2xlczIgd2F5bGFuZCIKKworcHl0aG9uIF9fYW5vbnltb3VzKCkgeworICAgIHBhY2thZ2Vjb25maWcgPSAoZC5nZXRWYXIoIlBBQ0tBR0VDT05GSUciLCBUcnVlKSBvciAiIikuc3BsaXQoKQorICAgIGZsYXZvcnMgPSBbXQorICAgIGlmICJ4MTEtZ2xlczIiIGluIHBhY2thZ2Vjb25maWc6CisgICAgICAgIGZsYXZvcnMuYXBwZW5kKCJ4MTEtZ2xlc3YyIikKKyAgICBpZiAieDExLWdsIiBpbiBwYWNrYWdlY29uZmlnOgorICAgICAgICBmbGF2b3JzLmFwcGVuZCgieDExLWdsIikKKyAgICBpZiAid2F5bGFuZC1nbGVzMiIgaW4gcGFja2FnZWNvbmZpZzoKKyAgICAgICAgZmxhdm9ycy5hcHBlbmQoIndheWxhbmQtZ2xlc3YyIikKKyAgICBpZiAid2F5bGFuZC1nbCIgaW4gcGFja2FnZWNvbmZpZzoKKyAgICAgICAgZmxhdm9ycy5hcHBlbmQoIndheWxhbmQtZ2wiKQorICAgIGlmICJkcm0tZ2xlczIiIGluIHBhY2thZ2Vjb25maWc6CisgICAgICAgIGZsYXZvcnMuYXBwZW5kKCJkcm0tZ2xlc3YyIikKKyAgICBpZiAiZHJtLWdsIiBpbiBwYWNrYWdlY29uZmlnOgorICAgICAgICBmbGF2b3JzLmFwcGVuZCgiZHJtLWdsIikKKyAgICBpZiBmbGF2b3JzOgorICAgICAgICBkLmFwcGVuZFZhcigiRVhUUkFfT0VDT05GIiwgIiAtLXdpdGgtZmxhdm9ycz0lcyIgJSAiLCIuam9pbihmbGF2b3JzKSkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pb3pvbmUzL2lvem9uZTMvY29weXJpZ2h0LnR4dCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pb3pvbmUzL2lvem9uZTMvY29weXJpZ2h0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDY4ZmE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lvem9uZTMvaW96b25lMy9jb3B5cmlnaHQudHh0CkBAIC0wLDAgKzEsNjIgQEAKK0xJQ0VOU0U6CisKKyBDb3B5cmlnaHQgMTk5MSwgMTk5MiwgMTk5NCwgMTk5OCwgMTk5OSwgMjAwMiAgIFdpbGxpYW0gRC4gTm9yY290dAorCisgTGljZW5zZSB0byBmcmVlbHkgdXNlIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgaXMgaGVyZWJ5IGdyYW50ZWQgCisgYnkgdGhlIGF1dGhvciwgc3ViamVjdCB0byB0aGUgY29uZGl0aW9uIHRoYXQgdGhpcyBjb3B5cmlnaHQgbm90aWNlIAorIHJlbWFpbnMgaW50YWN0LiAgVGhlIGF1dGhvciByZXRhaW5zIHRoZSBleGNsdXNpdmUgcmlnaHQgdG8gcHVibGlzaCAKKyBkZXJpdmF0aXZlIHdvcmtzIGJhc2VkIG9uIHRoaXMgd29yaywgaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8KKyByZXZpc2VkIHZlcnNpb25zIG9mIHRoaXMgd29yay4KKworCisKK0JlbG93IGlzIGF1dGhvciByZXBseSB0byBxdWVzdGlvbiBhYm91dCBkaXN0cmlidXRpbmcgaW96b25lMyBpbgorT3BlbkVtYmVkZGVkOgorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworTWFyY2luLAorCisgICAgICAgIFJlLWRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgYXMgbG9uZyBhcyB0aGUgY29weXJpZ2h0IGlzCisgICAgbWFpbnRhaW5lZCBhbmQgdGhlIHNvdXJjZSBjb2RlIGlzIG5vdCBjaGFuZ2VkLiBJIGRvIG5vdAorICAgIHNlZSBhIHByb2JsZW0gd2l0aCB5b3VyIG1vZHMgdG8gZW5hYmxlIGZpbGVvcCBmb3IgTGludXgtYXJtLAorICAgIGFzIHRoZXNlIG1vZHMgaGF2ZSBiZWVuIHJldHVybmVkIHRvIHRoZSBJb3pvbmUgZm9sa3MsCisgICAgYW5kIHRoZXkgaGF2ZSBiZWVuIGFjY2VwdGVkIGZvciBpbmNsdXNpb24gaW4gdGhlIG5leHQKKyAgICByZWxlYXNlIDotKQorCitUaGFuayB5b3UgZm9yIHlvdXIgY29udHJpYnV0aW9uLAorRG9uIENhcHBzCisKKy0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0gCitGcm9tOiAiTWFyY2luIEp1c3praWV3aWN6IiA8ZmlybWFAaHJ3Lm9uZS5wbD4KK1RvOiAiRG9uIENhcHBzIiA8ZG9uLmNhcHBzMkB2ZXJpem9uLm5ldD47ICJXaWxsaWFtIEQuIE5vcmNvdHQiIAorPHdub3Jjb3R0QHVzLm9yYWNsZS5jb20+CitTZW50OiBTdW5kYXksIE9jdG9iZXIgMjksIDIwMDYgNDo1NSBQTQorU3ViamVjdDogaW96b25lMyAyNjMgcGF0Y2ggZm9yIGFybSBhbmQgTGljZW5zZSBxdWVzdGlvbgorCisKKz4gTW9ybmluZworPgorPiBJIHdhbnQgdG8gaW5jbHVkZSBpb3pvbmUzIGluIE9wZW5FbWJlZGRlZCBbMV0gbWV0YWRhdGEgdG8gZ2l2ZSBpdCBmb3IKKz4gb3RoZXIgZGV2ZWxvcGVycy4gQ3VycmVudGx5IE9FIGlzIHVzZWQgdG8gYnVpbGQgZmV3IGRpc3RyaWJ1dGlvbnMgZm9yCis+IG1pc2MgcGxhdGZvcm1zOiBBUk0sIFNIMywgU0g0LCB4ODYsIFBvd2VyUEMgYW5kIGRpZmZlcmVudCB0eXBlcyBvZgorPiBtYWNoaW5lcyAoUERBLCBzZXR0b3Bib3gsIGRldmJvYXJkcywgZGVza3RvcHMsIHRoaW4gY2xpZW50cywgcm91dGVycykuCis+Cis+IEFjY29yZGluZyB0byB5b3VyIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aW9ucyBpcyBmb3JiaWRkZW4uIFBhY2thZ2luZworPiBpb3pvbmUzIGluIE9wZW5FbWJlZGRlZCB3aWxsIG5vdCBpbnZvbHZlIGFueSBzb3VyY2UgY29kZSBjaGFuZ2VzLiBCdXQKKz4gd2hlbiBJIHdhcyBidWlsZGluZyBpdCBmb3IgQVJNIEkgZGlzY292ZXJlZCB0aGF0IGZpbGVvcCBiaW5hcnkgd2FzIG5vdAorPiBidWlsdCAtIHNvIEkgY3JlYXRlZCBwYXRjaCBmb3IgaXQgKGF0dGFjaGVkKS4gTm90IHlldCB0ZXN0ZWQgaXQgb24gdGFyZ2V0Cis+IGRldmljZS4KKz4KKz4gVGh1cywgSSBzZWVrIHlvdXIgd3JpdHRlbiBwZXJtaXNzaW9uIHZpYSBlLW1haWwgdG8gZGlzdHJpYnV0ZSBhIHBhY2thZ2Ugb2YKKz4gdGhlIHVubW9kaWZpZWQgc291cmNlIGNvZGUgYW5kIGFsc28gYSBwYWNrYWdlIG9mIHRoZSBwcmUtY29tcGlsZWQgYmluYXJ5LgorPiBZb3VyIGNvcHlyaWdodCBzdGF0ZW1lbnQgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgcGFja2FnZS4KKz4KKz4KKz4gMS4gaHR0cDovL3d3dy5vcGVuZW1iZWRkZWQub3JnLworPgorPiBSZWdhcmRzCis+IC0tIAorPiBKSUQ6IGhydy1qYWJiZXIub3JnCis+IE9wZW5FbWJlZGRlZCBkZXZlbG9wZXIvY29uc3VsdGFudAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvaW96b25lMy9pb3pvbmUzXzQxNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pb3pvbmUzL2lvem9uZTNfNDE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0MzczYjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvaW96b25lMy9pb3pvbmUzXzQxNC5iYgpAQCAtMCwwICsxLDExNCBAQAorU1VNTUFSWSA9ICJGaWxlc3lzdGVtIGFuZCBEaXNrIEJlbmNobWFya2luZyBUb29sIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5pb3pvbmUub3JnLyIKK0FVVEhPUiA9ICJEb24gQ2FwcHMgPGRvbi5jYXBwczJAdmVyaXpvbi5uZXQ+LCBXaWxsaWFtIEQuIE5vcmNvdHQgPHdub3Jjb3R0QHVzLm9yYWNsZS5jb20+IgorU0VDVElPTiA9ICJjb25zb2xlL3Rlc3RzIgorTElDRU5TRSA9ICJpb3pvbmUzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vaW96b25lLmM7YmVnaW5saW5lPTI2NjtlbmRsaW5lPTI3MDttZDU9YWI0MmE2MTg1ZmQwNDQzOTc4ODcxZjExYTAwN2FjMGIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5pb3pvbmUub3JnL3NyYy9jdXJyZW50LyR7QlBOfV8ke1BWfS50YXIgXAorICAgIGZpbGU6Ly9jb3B5cmlnaHQudHh0IFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNDBkY2RhNTkzZjU4NDFkMGFhZmZlOWYyMTE3MjAyMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZjYwZTg1NGQ3YmM1YmMzZGUxNTM1NWNmNTYyMWUxNTA5OGJkNzQ0YTI2ODQ1ZDExNzMwYjMwNjBmNGE1ZmZmIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59XyR7UFZ9L3NyYy9jdXJyZW50LyIKKworIworIyBBbGwgb3RoZXIgYXJjaGVzIGNhbiB1c2UgdGhlIGRlZmF1bHQgT0VNQUtFIGV4Y2VwdCB0aG9zZQorIyBleHBsaWNpdGx5IGxpc3RlZCBiZWxvdy4gQW5vdGhlciwgdGhlIGlvem9uZTMgTWFrZWZpbGUKKyMgbmVlZHMgdG8gYmUgdG9sZCBhYm91dCB0aGUgY3Jvc3MtY29tcGlsZXIgZXhwbGljaXRseSBoZXJlLgorIworRVhUUkFfT0VNQUtFX3Bvd2VycGMgPSAibGludXgtcG93ZXJwYyBDQz0nJHtDQ30nIEdDQz0nJHtDQ30nIgorRVhUUkFfT0VNQUtFX3Bvd2VycGM2NCA9ICJsaW51eC1wb3dlcnBjNjQgQ0M9JyR7Q0N9JyBHQ0M9JyR7Q0N9JyIKK0VYVFJBX09FTUFLRV9hcm0gPSAibGludXgtYXJtIENDPScke0NDfScgR0NDPScke0NDfSciCitFWFRSQV9PRU1BS0UgPSAibGludXggQ0M9JyR7Q0N9JyBHQ0M9JyR7Q0N9JyIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9IFwKKyAgICAgICAgICAgICAgICR7RH0ke21hbmRpcn0vbWFuMSBcCisgICAgICAgICAgICAgICAke0R9JHtkYXRhZGlyfS9kb2MvJHtCUE59L2V4YW1wbGVzCisKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9pb3pvbmUgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2ZpbGVvcCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vJHtCUE59XyR7UFZ9L2RvY3MvaW96b25lLjEgJHtEfSR7bWFuZGlyfS9tYW4xLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2NvcHlyaWdodC50eHQgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7QlBOfS8KKworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9LyouZGVtICR7RH0ke2RhdGFkaXJ9L2RvYy8ke0JQTn0vZXhhbXBsZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9jbGllbnRfbGlzdCAke0R9JHtkYXRhZGlyfS9kb2MvJHtCUE59L2V4YW1wbGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vR251cGxvdC50eHQgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7QlBOfS9leGFtcGxlcworCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vR2VuZXJhdGVfR3JhcGhzICR7RH0ke2RhdGFkaXJ9L2RvYy8ke0JQTn0vZXhhbXBsZXMKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9nZW5nbnVwbG90LnNoICR7RH0ke2RhdGFkaXJ9L2RvYy8ke0JQTn0vZXhhbXBsZXMKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9yZXBvcnQucGwgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7QlBOfS9leGFtcGxlcworCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vJHtCUE59XyR7UFZ9L2RvY3MvSW96b25lX3BzLmd6ICR7RH0ke2RhdGFkaXJ9L2RvYy8ke0JQTn0vCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vJHtCUE59XyR7UFZ9L2RvY3MvSU96b25lX21zd29yZF85OC5wZGYgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7QlBOfS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8ke0JQTn1fJHtQVn0vZG9jcy9SdW5fcnVsZXMuZG9jICR7RH0ke2RhdGFkaXJ9L2RvYy8ke0JQTn0vCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RvYy8ke1BOfS9jb3B5cmlnaHQudHh0IgorCisjIExJQ0VOU0U6CisjCisjICBDb3B5cmlnaHQgMTk5MSwgMTk5MiwgMTk5NCwgMTk5OCwgMTk5OSwgMjAwMiAgIFdpbGxpYW0gRC4gTm9yY290dAorIworIyAgTGljZW5zZSB0byBmcmVlbHkgdXNlIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgaXMgaGVyZWJ5IGdyYW50ZWQKKyMgIGJ5IHRoZSBhdXRob3IsIHN1YmplY3QgdG8gdGhlIGNvbmRpdGlvbiB0aGF0IHRoaXMgY29weXJpZ2h0IG5vdGljZQorIyAgcmVtYWlucyBpbnRhY3QuICBUaGUgYXV0aG9yIHJldGFpbnMgdGhlIGV4Y2x1c2l2ZSByaWdodCB0byBwdWJsaXNoCisjICBkZXJpdmF0aXZlIHdvcmtzIGJhc2VkIG9uIHRoaXMgd29yaywgaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8KKyMgIHJldmlzZWQgdmVyc2lvbnMgb2YgdGhpcyB3b3JrLgorIworCisjCisjIEJlbG93IGlzIGF1dGhvciByZXBseSB0byBxdWVzdGlvbiBhYm91dCBkaXN0cmlidXRpbmcgaW96b25lMyBpbgorIyBPcGVuRW1iZWRkZWQ6CisjCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIworIyBNYXJjaW4sCisjCisjICAgICBSZS1kaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIGFzIGxvbmcgYXMgdGhlIGNvcHlyaWdodCBpcworIyAgICAgbWFpbnRhaW5lZCBhbmQgdGhlIHNvdXJjZSBjb2RlIGlzIG5vdCBjaGFuZ2VkLiBJIGRvIG5vdAorIyAgICAgc2VlIGEgcHJvYmxlbSB3aXRoIHlvdXIgbW9kcyB0byBlbmFibGUgZmlsZW9wIGZvciBMaW51eC1hcm0sCisjICAgICBhcyB0aGVzZSBtb2RzIGhhdmUgYmVlbiByZXR1cm5lZCB0byB0aGUgSW96b25lIGZvbGtzLAorIyAgICAgYW5kIHRoZXkgaGF2ZSBiZWVuIGFjY2VwdGVkIGZvciBpbmNsdXNpb24gaW4gdGhlIG5leHQKKyMgICAgIHJlbGVhc2UgOi0pCisjCisjIFRoYW5rIHlvdSBmb3IgeW91ciBjb250cmlidXRpb24sCisjIERvbiBDYXBwcworIworIyAtLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tCisjIEZyb206ICJNYXJjaW4gSnVzemtpZXdpY3oiIDxmaXJtYUBocncub25lLnBsPgorIyBUbzogIkRvbiBDYXBwcyIgPGRvbi5jYXBwczJAdmVyaXpvbi5uZXQ+OyAiV2lsbGlhbSBELiBOb3Jjb3R0IgorIyA8d25vcmNvdHRAdXMub3JhY2xlLmNvbT4KKyMgU2VudDogU3VuZGF5LCBPY3RvYmVyIDI5LCAyMDA2IDQ6NTUgUE0KKyMgU3ViamVjdDogaW96b25lMyAyNjMgcGF0Y2ggZm9yIGFybSBhbmQgTGljZW5zZSBxdWVzdGlvbgorIworIworIyA+IE1vcm5pbmcKKyMgPgorIyA+IEkgd2FudCB0byBpbmNsdWRlIGlvem9uZTMgaW4gT3BlbkVtYmVkZGVkIFsxXSBtZXRhZGF0YSB0byBnaXZlIGl0IGZvcgorIyA+IG90aGVyIGRldmVsb3BlcnMuIEN1cnJlbnRseSBPRSBpcyB1c2VkIHRvIGJ1aWxkIGZldyBkaXN0cmlidXRpb25zIGZvcgorIyA+IG1pc2MgcGxhdGZvcm1zOiBBUk0sIFNIMywgU0g0LCB4ODYsIFBvd2VyUEMgYW5kIGRpZmZlcmVudCB0eXBlcyBvZgorIyA+IG1hY2hpbmVzIChQREEsIHNldHRvcGJveCwgZGV2Ym9hcmRzLCBkZXNrdG9wcywgdGhpbiBjbGllbnRzLCByb3V0ZXJzKS4KKyMgPgorIyA+IEFjY29yZGluZyB0byB5b3VyIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aW9ucyBpcyBmb3JiaWRkZW4uIFBhY2thZ2luZworIyA+IGlvem9uZTMgaW4gT3BlbkVtYmVkZGVkIHdpbGwgbm90IGludm9sdmUgYW55IHNvdXJjZSBjb2RlIGNoYW5nZXMuIEJ1dAorIyA+IHdoZW4gSSB3YXMgYnVpbGRpbmcgaXQgZm9yIEFSTSBJIGRpc2NvdmVyZWQgdGhhdCBmaWxlb3AgYmluYXJ5IHdhcyBub3QKKyMgPiBidWlsdCAtIHNvIEkgY3JlYXRlZCBwYXRjaCBmb3IgaXQgKGF0dGFjaGVkKS4gTm90IHlldCB0ZXN0ZWQgaXQgb24gdGFyZ2V0CisjID4gZGV2aWNlLgorIyA+CisjID4gVGh1cywgSSBzZWVrIHlvdXIgd3JpdHRlbiBwZXJtaXNzaW9uIHZpYSBlLW1haWwgdG8gZGlzdHJpYnV0ZSBhIHBhY2thZ2Ugb2YKKyMgPiB0aGUgdW5tb2RpZmllZCBzb3VyY2UgY29kZSBhbmQgYWxzbyBhIHBhY2thZ2Ugb2YgdGhlIHByZS1jb21waWxlZCBiaW5hcnkuCisjID4gWW91ciBjb3B5cmlnaHQgc3RhdGVtZW50IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIHBhY2thZ2UuCisjID4KKyMgPgorIyA+IDEuIGh0dHA6Ly93d3cub3BlbmVtYmVkZGVkLm9yZy8KKyMgPgorIyA+IFJlZ2FyZHMKKyMgPiAtLQorIyA+IEpJRDogaHJ3LWphYmJlci5vcmcKKyMgPiBPcGVuRW1iZWRkZWQgZGV2ZWxvcGVyL2NvbnN1bHRhbnQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lwZXJmL2lwZXJmLTIuMC41LzAwMDEtZml4LW91dC1vZi10cmVlLWNvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pcGVyZi9pcGVyZi0yLjAuNS8wMDAxLWZpeC1vdXQtb2YtdHJlZS1jb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThhMDI5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pcGVyZi9pcGVyZi0yLjAuNS8wMDAxLWZpeC1vdXQtb2YtdHJlZS1jb25maWcucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAoraXBlcmY6IGZpeCBvdXQgb2YgdHJlZSBjb25maWd1cmF0aW9uCisKK1RoZSBjb25maWd1cmUgc3RlcCB1c2VzIGEgcGFja2FnZSBoZWFkZXIgdG8gY2hlY2sgZm9yIHN1cHBvcnQgb2YgdHlwZXMvZGVjbGFyZXMsCit0aGlzIHBhY2thZ2UgaGVhZGVyIGVuY2Fwc3VsYXRlcyBhbGwgdGhlIHJlcXVpcmVkIHN5c3RlbSBoZWFkZXIgZm9yIHByb3ZpZGluZwordGhlIG5lZWRlZCByZXNvdXJjZXMuIFdoZW4gY29uZmlndXJlZCBmcm9tIGFuIG91dCBvZiB0cmVlIGRpcmVjdG9yeSB0aGUgcGFja2FnZQoraGVhZGVyIGlzIG5vdCBmb3VuZCBkdWUgdG8gdGhlIGhhcmQgcGF0aC4KK1dlIG5vdyBtYWtlIHRoZSBwYXRoIGZvciBwYWNrYWdlIGhlYWRlciByZWxhdGl2ZSB0byBvdXIgJ3NyY2Rpcicgc28gaXQgaXMKK2ZvdW5kIGFwcHJvcHJpYXRlbHkuCisKK1NpZ25lZC1vZmYtYnk6IEF3YWlzIEJlbGFsIDxhd2Fpc19iZWxhbEBtZW50b3IuY29tPgorLS0tCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAyYjNmZDIwLi5kNDIwZjllIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0xNzYsOCArMTc2LDggQEAgZG5sIENoZWNrIGZvciBzeXN0ZW0gc2VydmljZXMKKyAKKyBkbmwgY2hlY2sgZm9yIG11bHRpY2FzdAorIGlmIHRlc3QgIiRhY19jdl9tdWx0aWNhc3QiICE9IG5vOyB0aGVuCistICBBQ19DSEVDS19UWVBFUyhzdHJ1Y3QgaXBfbXJlcSwsLFsjaW5jbHVkZSAiY29tcGF0L2hlYWRlcnNfc2xpbS5oIl0pCistICBBQ19DSEVDS19ERUNMUyhJUF9BRERfTUVNQkVSU0hJUCwsLFsjaW5jbHVkZSAiY29tcGF0L2hlYWRlcnNfc2xpbS5oIl0pCisrICBBQ19DSEVDS19UWVBFUyhzdHJ1Y3QgaXBfbXJlcSwsLFsjaW5jbHVkZSAiJHtzcmNkaXJ9L2NvbXBhdC9oZWFkZXJzX3NsaW0uaCJdKQorKyAgQUNfQ0hFQ0tfREVDTFMoSVBfQUREX01FTUJFUlNISVAsLCxbI2luY2x1ZGUgIiR7c3JjZGlyfS9jb21wYXQvaGVhZGVyc19zbGltLmgiXSkKKyAgIEFDX01TR19DSEVDS0lORyhmb3IgbXVsdGljYXN0IHN1cHBvcnQpCisgICBhY19jdl9tdWx0aWNhc3Q9bm8KKyAgIGlmIHRlc3QgIiRhY19jdl9oYXZlX2RlY2xfSVBfQUREX01FTUJFUlNISVAiID0geWVzOyB0aGVuCitAQCAtMTkzLDkgKzE5Myw5IEBAIGZpCisgCisgZG5sIGNoZWNrIGZvciBJUHY2CisgaWYgdGVzdCAiJGFjX2N2X2hhdmVfaXB2NiIgIT0gbm87IHRoZW4KKy0gIEFDX0NIRUNLX1RZUEVTKHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlLCwsWyNpbmNsdWRlICJjb21wYXQvaGVhZGVyc19zbGltLmgiXSkKKy0gIEFDX0NIRUNLX1RZUEVTKHN0cnVjdCBzb2NrYWRkcl9pbjYsLCxbI2luY2x1ZGUgImNvbXBhdC9oZWFkZXJzX3NsaW0uaCJdKQorLSAgQUNfQ0hFQ0tfREVDTFMoQUZfSU5FVDYsLCxbI2luY2x1ZGUgImNvbXBhdC9oZWFkZXJzX3NsaW0uaCJdKQorKyAgQUNfQ0hFQ0tfVFlQRVMoc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UsLCxbI2luY2x1ZGUgIiR7c3JjZGlyfS9jb21wYXQvaGVhZGVyc19zbGltLmgiXSkKKysgIEFDX0NIRUNLX1RZUEVTKHN0cnVjdCBzb2NrYWRkcl9pbjYsLCxbI2luY2x1ZGUgIiR7c3JjZGlyfS9jb21wYXQvaGVhZGVyc19zbGltLmgiXSkKKysgIEFDX0NIRUNLX0RFQ0xTKEFGX0lORVQ2LCwsWyNpbmNsdWRlICIke3NyY2Rpcn0vY29tcGF0L2hlYWRlcnNfc2xpbS5oIl0pCisgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIElQdjYgaGVhZGVycyBhbmQgc3RydWN0dXJlcykKKyAgIGFjX2N2X2hhdmVfaXB2Nj1ubworICAgaWYgdGVzdCAiJGFjX2N2X3R5cGVfc3RydWN0X3NvY2thZGRyX3N0b3JhZ2UiID0geWVzOyB0aGVuCitAQCAtMjExLDkgKzIxMSw5IEBAIGZpCisgCisgaWYgdGVzdCAiJGFjX2N2X2hhdmVfaXB2NiIgPSB5ZXM7IHRoZW4KKyAgIGlmIHRlc3QgIiRhY19jdl9tdWx0aWNhc3QiID0geWVzOyB0aGVuCistICAgIEFDX0NIRUNLX1RZUEVTKHN0cnVjdCBpcHY2X21yZXEsLCxbI2luY2x1ZGUgImNvbXBhdC9oZWFkZXJzX3NsaW0uaCJdKQorLSAgICBBQ19DSEVDS19ERUNMUyhJUFY2X0FERF9NRU1CRVJTSElQLCwsWyNpbmNsdWRlICJjb21wYXQvaGVhZGVyc19zbGltLmgiXSkKKy0gICAgQUNfQ0hFQ0tfREVDTFMoSVBWNl9NVUxUSUNBU1RfSE9QUywsLFsjaW5jbHVkZSAiY29tcGF0L2hlYWRlcnNfc2xpbS5oIl0pCisrICAgIEFDX0NIRUNLX1RZUEVTKHN0cnVjdCBpcHY2X21yZXEsLCxbI2luY2x1ZGUgIiR7c3JjZGlyfS9jb21wYXQvaGVhZGVyc19zbGltLmgiXSkKKysgICAgQUNfQ0hFQ0tfREVDTFMoSVBWNl9BRERfTUVNQkVSU0hJUCwsLFsjaW5jbHVkZSAiJHtzcmNkaXJ9L2NvbXBhdC9oZWFkZXJzX3NsaW0uaCJdKQorKyAgICBBQ19DSEVDS19ERUNMUyhJUFY2X01VTFRJQ0FTVF9IT1BTLCwsWyNpbmNsdWRlICIke3NyY2Rpcn0vY29tcGF0L2hlYWRlcnNfc2xpbS5oIl0pCisgICAgIEFDX01TR19DSEVDS0lORyhmb3IgSVB2NiBtdWx0aWNhc3Qgc3VwcG9ydCkKKyAgICAgYWNfY3ZfaGF2ZV9pcHY2X211bHRpY2FzdD1ubworICAgICBpZiB0ZXN0ICIkYWNfY3ZfdHlwZV9zdHJ1Y3RfaXB2Nl9tcmVxIiA9IHllczsgdGhlbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lwZXJmL2lwZXJmLTIuMC41L2lwZXJmLTIuMC41X01hblBhZ2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvaXBlcmYvaXBlcmYtMi4wLjUvaXBlcmYtMi4wLjVfTWFuUGFnZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMmU4ZjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lwZXJmL2lwZXJmLTIuMC41L2lwZXJmLTIuMC41X01hblBhZ2UucGF0Y2gKQEAgLTAsMCArMSw4IEBACitkaWZmIC0tZ2l0IGlwZXJmLTIuMC41L21hbi9NYWtlZmlsZS5hbSBpcGVyZi0yLjAuNS9tYW4vTWFrZWZpbGUuYW0KKyBpbmRleCBlZDk3YmM2Li43Mjg4NzNmIDEwMDY0NAorLS0tIGlwZXJmLTIuMC41L21hbi9NYWtlZmlsZS5hbQorKysrIGlwZXJmLTIuMC41L21hbi9NYWtlZmlsZS5hbQorQEAgLTEsMiArMSBAQAorLW1hbl9NQU5TID0gaXBlcmYuMQorLWRpc3RfbWFuX01BTlMgPSAkKG1hbl9NQU5TKQorK2Rpc3RfbWFuX01BTlMgPSBpcGVyZi4xCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvaXBlcmYvaXBlcmZfMi4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvaXBlcmYvaXBlcmZfMi4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGU2Njc5MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pcGVyZi9pcGVyZl8yLjAuNS5iYgpAQCAtMCwwICsxLDE5IEBACitERVNDUklQVElPTiA9ICJJcGVyZiBpcyBhIHRvb2wgdG8gbWVhc3VyZSBtYXhpbXVtIFRDUCBiYW5kd2lkdGgsIGFsbG93aW5nIHRoZSB0dW5pbmcgb2YgdmFyaW91cyBwYXJhbWV0ZXJzIGFuZCBVRFAgY2hhcmFjdGVyaXN0aWNzIgorSE9NRVBBR0UgPSAiaHR0cDovL2Rhc3QubmxhbnIubmV0L1Byb2plY3RzL0lwZXJmLyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lODQ3OGVhZTlmNDc5ZTM5YmMzNDk3NTE5MzM2MDI5OCIKKworU1JDX1VSSSA9ICIgJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2lwZXJmLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgICBmaWxlOi8vaXBlcmYtMi4wLjVfTWFuUGFnZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtb3V0LW9mLXRyZWUtY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NGI1NTM2YjY3NzE5ZjQyNTBmYWVkNjMyYTNjZDAxNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MzZiNGVmZjA0MzFjZWE4MDY2N2VhODVhNjdjZTRjNjg2OTg3NjBhOTgzN2UxZTlkMTMwOTZkMjAzNjIyNjViIgorCitTID0gIiR7V09SS0RJUn0vJHtCUH0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1leGVjLXByZWZpeD0ke1NUQUdJTkdfRElSX0hPU1R9JHtsYXlvdXRfZXhlY19wcmVmaXh9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lwZXJmMy9pcGVyZjMvYXV0b21ha2UtZm9yZWlnbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pcGVyZjMvaXBlcmYzL2F1dG9tYWtlLWZvcmVpZ24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZjMzk0ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9pcGVyZjMvaXBlcmYzL2F1dG9tYWtlLWZvcmVpZ24ucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorUGFzcyB0aGUgJ2ZvcmVpZ24nIG9wdGlvbiB0byBhdXRvbWFrZSB0byBlbmFibGUgaXBlcmYzIHRvIGJ1aWxkLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IENodW5yb25nIEd1byA8YjQwMjkwQGZyZWVzY2FsZS5jb20+CisKKy0tLSBhL2NvbmZpZ3VyZS5hYwkyMDE1LTEwLTE5IDAyOjQ5OjMwLjQ3MTg2NzM1MiAtMDUwMAorKysrIGIvY29uZmlndXJlLmFjCTIwMTUtMTAtMTkgMDI6NDY6MzYuMjA3ODczNTcyIC0wNTAwCitAQCAtMzMsNyArMzMsNyBAQAorIAorIAorICMgSW5pdGlhbGl6ZSB0aGUgYXV0b21ha2Ugc3lzdGVtCistQU1fSU5JVF9BVVRPTUFLRQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIEFNX01BSU5UQUlORVJfTU9ERQorIEFNX0NPTkZJR19IRUFERVIoc3JjL2lwZXJmX2NvbmZpZy5oKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lwZXJmMy9pcGVyZjNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2lwZXJmMy9pcGVyZjNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMGYyOGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvaXBlcmYzL2lwZXJmM19naXQuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJOZXR3b3JrIGJlbmNobWFyayB0b29sIgorREVTQ1JJUFRJT04gPSAiXAoraXBlcmYgaXMgYSB0b29sIGZvciBhY3RpdmUgbWVhc3VyZW1lbnRzIG9mIHRoZSBtYXhpbXVtIGFjaGlldmFibGUgYmFuZHdpZHRoIFwKK29uIElQIG5ldHdvcmtzLiBJdCBzdXBwb3J0cyB0dW5pbmcgb2YgdmFyaW91cyBwYXJhbWV0ZXJzIHJlbGF0ZWQgdG8gdGltaW5nLCBcCitwcm90b2NvbHMsIGFuZCBidWZmZXJzLiBGb3IgZWFjaCB0ZXN0IGl0IHJlcG9ydHMgdGhlIGJhbmR3aWR0aCwgbG9zcywgYW5kIFwKK290aGVyIHBhcmFtZXRlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvZnR3YXJlLmVzLm5ldC9pcGVyZi8iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2VzbmV0L2lwZXJmL2lzc3VlcyIKK0FVVEhPUiA9ICJFU05FVCA8aW5mb0Blcy5uZXQ+LCBMYXdyZW5jZSBCZXJrZWxleSBOYXRpb25hbCBMYWJvcmF0b3J5IDx3ZWJzdXBwb3J0QGxibC5nb3Y+IgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wNjJhYjFiYzMzZmFlMTkyNjM4N2FjMTI3NGNiMDg3MyIKKworU1JDX1VSSSA9ICJcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9lc25ldC9pcGVyZi5naXQgXAorICAgIGZpbGU6Ly9hdXRvbWFrZS1mb3JlaWduLnBhdGNoIFwKKyIKKworUFYgPSAiMy4xK2dpdHIke1NSQ1BWfSIKK1NSQ1JFViA9ICJlMzk2MTM0OTUyYTAxMTk5MzI2NjY1ZDFkZjdjNTFhZTllNjJlOTQ1IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scworCitQQUNLQUdFQ09ORklHW2xrc2N0cF0gPSAiYWNfY3ZfaGVhZGVyX25ldGluZXRfc2N0cF9oPXllcyxhY19jdl9oZWFkZXJfbmV0aW5ldF9zY3RwX2g9bm8sbGtzY3RwLXRvb2xzIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvMDAwMS1pbnN0YWxsLXBlcmwtbGliLXRvLWRpcmVjdG9yeS1wZXJsLWluc3RlYWQtb2YtcGVybDUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzLzAwMDEtaW5zdGFsbC1wZXJsLWxpYi10by1kaXJlY3RvcnktcGVybC1pbnN0ZWFkLW9mLXBlcmw1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiOGQwZTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzLzAwMDEtaW5zdGFsbC1wZXJsLWxpYi10by1kaXJlY3RvcnktcGVybC1pbnN0ZWFkLW9mLXBlcmw1LnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KKworbGliaHVnZXRsYmZzIGRlcGVuZHMgb24gcGVybCwgYW5kIHBlcmwgaW5zdGFsbHMgYSBkaXJlY3RvcnkgJ3BlcmwnCithbmQgbWFrZSBhIHN5bWxpbmsgJ3Blcmw1JyB0byBpdC4gU28ganVzdCBpbnN0YWxsIHBlcmwgbGlicyBpbgorbGliaHVnZXRsYmZzIHRvIGRpcmVjdG9yeSAncGVybCcgaW5zdGVhZCBvZiAncGVybDUnLiBUaGlzIGNhbiBhdm9pZAordGhlIGZvbGxvd2luZyBlcnJvcjoKK3wgQ2FsbGVkUHJvY2Vzc0Vycm9yOiBDb21tYW5kICd0YXIgLWNmIC0gLUMgLi4uL3BlcmwvNS4xNC4zLXIxL3N5c3Jvb3QtZGVzdGRpcgorfCAtcHMgLiB8IHRhciAteGYgLSAtQyAuLi4vdG1wL3N5c3Jvb3RzL3Q0MjQwcWRzJworfCByZXR1cm5lZCBub24temVybyBleGl0IHN0YXR1cyAyIHdpdGggb3V0cHV0Cit8IHRhcjogLi91c3IvbGliL3Blcmw1OiBDYW5ub3QgY3JlYXRlIHN5bWxpbmsgdG8gYHBlcmwnOiBGaWxlIGV4aXN0cworfCB0YXI6IEV4aXRpbmcgd2l0aCBmYWlsdXJlIHN0YXR1cyBkdWUgdG8gcHJldmlvdXMgZXJyb3JzCisKKworU2lnbmVkLW9mZi1ieTogVGluZyBMaXUgPGIyODQ5NUBmcmVlc2NhbGUuY29tPgorCistLS0gYS9NYWtlZmlsZW9sZAkyMDEzLTEwLTExIDIzOjA3OjMxLjc1OTQyMTMxOCAtMDUwMAorKysrIGIvTWFrZWZpbGUJMjAxMy0xMC0xMSAyMzowODowMS45MzU1NzExMjIgLTA1MDAKK0BAIC0xNzMsMTcgKzE3MywxNyBAQAorIERPQ0RJUiA9ICQoUFJFRklYKS9zaGFyZS9kb2MvbGliaHVnZXRsYmZzCisgCisgaWZkZWYgQ0MzMgorLVBNRElSID0gJChQUkVGSVgpL2xpYi9wZXJsNS9UTEJDCisrUE1ESVIgPSAkKFBSRUZJWCkvbGliL3BlcmwvVExCQworIGVuZGlmCisgCisgaWZkZWYgQ0M2NAorIGlmZXEgKCQoQVJDSCkseDg2XzY0KQorLVBNRElSID0gJChQUkVGSVgpL2xpYi9wZXJsNS9UTEJDCisrUE1ESVIgPSAkKFBSRUZJWCkvbGliL3BlcmwvVExCQworIGVsc2UKKyBpZmVxICgkKEFSQ0gpLGFhcmNoNjQpCistUE1ESVIgPSAkKFBSRUZJWCkvbGliL3Blcmw1L1RMQkMKKytQTURJUiA9ICQoUFJFRklYKS9saWIvcGVybC9UTEJDCisgZWxzZQorLVBNRElSID0gJChQUkVGSVgpL2xpYjY0L3Blcmw1L1RMQkMKKytQTURJUiA9ICQoUFJFRklYKS9saWI2NC9wZXJsL1RMQkMKKyBlbmRpZgorIGVuZGlmCisgZW5kaWYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvMDAwMS1ydW5fdGVzdC5weS1ub3QtdXNlLWhhcmQtY29kZWQtcGF0aC0uLW9iai1odWdlYWRtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9maWxlcy8wMDAxLXJ1bl90ZXN0LnB5LW5vdC11c2UtaGFyZC1jb2RlZC1wYXRoLS4tb2JqLWh1Z2VhZG0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA4MmQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvMDAwMS1ydW5fdGVzdC5weS1ub3QtdXNlLWhhcmQtY29kZWQtcGF0aC0uLW9iai1odWdlYWRtLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gYTg1ZmM0MzI0M2Y4YmZhZDEyZDMwNmE0YTBlMjMwZmI4YjNlODI4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRpbmcgTGl1IDxiMjg0OTVAZnJlZXNjYWxlLmNvbT4KK0RhdGU6IFdlZCwgMjEgQXVnIDIwMTMgMTU6NDQ6NTcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gcnVuX3Rlc3QucHk6IG5vdCB1c2UgaGFyZCBjb2RlZCBwYXRoIC4uL29iai9odWdlYWRtCisKK0hhcmQgY29kZWQgcGF0aCBtYWtlcyB0aGUgc2NyaXB0IGltcG9zc2libGUgdG8gcnVuIG91dCBvZiBzb3VyY2UgdHJlZS4KK0FmdGVyICdtYWtlIGluc3RhbGwnLCB3ZSBjYW4gdXNlIGh1Z2VhZG0gdXRpbGl0eSB1bmRlciBERVNURElSLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAorCitTaWduZWQtb2ZmLWJ5OiBUaW5nIExpdSA8YjI4NDk1QGZyZWVzY2FsZS5jb20+CistLS0KKyB0ZXN0cy9ydW5fdGVzdHMucHkgfCAgIDEyICsrKysrKysrKysrLQorIDEgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bl90ZXN0cy5weSBiL3Rlc3RzL3J1bl90ZXN0cy5weQoraW5kZXggZDlhNmIzNS4uYTliYWI4ZiAxMDA3NTUKKy0tLSBhL3Rlc3RzL3J1bl90ZXN0cy5weQorKysrIGIvdGVzdHMvcnVuX3Rlc3RzLnB5CitAQCAtMjMyLDkgKzIzMiwxOSBAQCBkZWYgZ2V0X3BhZ2VzaXplcygpOgorICAgICBVc2UgbGliaHVnZXRsYmZzJyBodWdlYWRtIHV0aWxpdHkgdG8gZ2V0IGEgbGlzdCBvZiBwYWdlIHNpemVzIHRoYXQgaGF2ZQorICAgICBhY3RpdmUgbW91bnQgcG9pbnRzIGFuZCBhdCBsZWFzdCBvbmUgaHVnZSBwYWdlIGFsbG9jYXRlZCB0byB0aGUgcG9vbC4KKyAgICAgIiIiCisrICAgIGxvY2FsX2VudiA9IG9zLmVudmlyb24uY29weSgpCisrICAgIGxvY2FsX2VudlsiUEFUSCJdID0gIi4uL29iajolcyIgJSBsb2NhbF9lbnYuZ2V0KCJQQVRIIiwgIiIpCisgICAgIHNpemVzID0gc2V0KCkKKyAgICAgb3V0ID0gIiIKKy0gICAgKHJjLCBvdXQpID0gYmFzaCgiLi4vb2JqL2h1Z2VhZG0gLS1wYWdlLXNpemVzIikKKysgICAgdHJ5OgorKyAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oImh1Z2VhZG0gLS1wYWdlLXNpemVzIiwgc2hlbGw9VHJ1ZSwgZW52PWxvY2FsX2Vudiwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkKKysgICAgICAgIHJjID0gcC53YWl0KCkKKysgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgorKyAgICAgICAgcmV0dXJuIHNpemVzCisrICAgIGV4Y2VwdCBPU0Vycm9yOgorKyAgICAgICAgcmV0dXJuIHNpemVzCisrICAgIG91dCA9IHAuc3Rkb3V0LnJlYWQoKS5zdHJpcCgpCisrCisgICAgIGlmIHJjICE9IDAgb3Igb3V0ID09ICIiOiByZXR1cm4gc2l6ZXMKKyAKKyAgICAgZm9yIHNpemUgaW4gb3V0LnNwbGl0KCJcbiIpOiBzaXplcy5hZGQoaW50KHNpemUpKQorLS0gCisxLjcuMy40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzZmYThhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9maWxlcy9maXgtbGliNjQtY2FuLW5vdC1iZS1zaGlwZWQtaW4tNjRiaXQtdGFyZ2V0LnBhdGNoCkBAIC0wLDAgKzEsNzUgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KKworCitmaXggdGhlIGJlbG93IGVycm9yOgorICBFUlJPUjogUUEgSXNzdWU6IGxpYmh1Z2V0bGJmczogRmlsZXMvZGlyZWN0b3JpZXMgd2VyZSBpbnN0YWxsZWQgYnV0IG5vdCBzaGlwcGVkCisgIC91c3IvbGliNjQKKyAgL3Vzci9saWI2NC9saWJodWdldGxiZnMuc28KKyAgL3Vzci9saWI2NC9saWJodWdldGxiZnMuYQorICAvdXNyL2xpYjY0L2xpYmh1Z2V0bGJmc19wcml2dXRpbHMuc28KKyAgL3Vzci9saWI2NC9wZXJsNQorICAvdXNyL2xpYjY0L3Blcmw1L1RMQkMKKyAgL3Vzci9saWI2NC9wZXJsNS9UTEJDL1BlcmZDb2xsZWN0LnBtCisgIC91c3IvbGliNjQvcGVybDUvVExCQy9SZXBvcnQucG0KKyAgL3Vzci9saWI2NC9wZXJsNS9UTEJDL0RhdGFDb2xsZWN0LnBtCisgIC91c3IvbGliNjQvcGVybDUvVExCQy9PcENvbGxlY3QucG0KKyQ8NTA+RVJST1I6IFFBIHJ1biBmb3VuZCBmYXRhbCBlcnJvcnMuIFBsZWFzZSBjb25zaWRlciBmaXhpbmcgdGhlbS4KKworCitTaWduZWQtb2ZmLWJ5OiBHdW8gQ2h1bnJvbmcgPEI0MDI5MEBmcmVlc2NhbGUuY29tPgorCistLS0gYS9NYWtlZmlsZQkyMDEzLTA5LTIzIDAyOjI4OjU3LjM0MDU2Njk5OCAtMDUwMAorKysrIGIvTWFrZWZpbGUJMjAxMy0wOS0yMyAwMjozMTowNS4zNDQ1Njk4OTYgLTA1MDAKK0BAIC0zMyw3ICszMyw2IEBACisgQ1BQRkxBR1MgKz0gLURfX0xJQkhVR0VUTEJGU19fIC1EUFBDX05PX1NFR01FTlRTCisgCisgQVJDSCA9ICQoc2hlbGwgdW5hbWUgLW0gfCBzZWQgLWUgcy9pLjg2L2kzODYvKQorLUNDID0gZ2NjCisgCisgQ1VTVE9NX0xEU0NSSVBUUyA9IHllcworIAorQEAgLTU5LDkgKzU4LDkgQEAKKyBDVVNUT01fTERTQ1JJUFRTID0gbm8KKyBlbHNlCisgaWZlcSAoJChBUkNIKSxhYXJjaDY0KQorLUNDNjQgPSBnY2MKKytDQzY0ID0gJChDQykKKyBFTEY2NCA9IGFhcmNoNjRlbGYKKy1UTVBMSUI2NCA9IGxpYjY0CisrVE1QTElCNjQgPSBsaWIKKyBDVVNUT01fTERTQ1JJUFRTID0gbm8KKyBlbHNlCisgaWZlcSAoJChBUkNIKSxpMzg2KQorQEAgLTcyLDcgKzcxLDcgQEAKKyBpZmVxICgkKEFSQ0gpLHg4Nl82NCkKKyBDQzY0ID0gJChDQykgLW02NAorIEVMRjY0ID0gZWxmX3g4Nl82NAorLVRNUExJQjY0ID0gbGliNjQKKytUTVBMSUI2NCA9IGxpYgorIFRNUExJQjMyID0gbGliCisgaWZuZXEgKCQoQlVJTERUWVBFKSxOQVRJVkVPTkxZKQorIENDMzIgPSAkKENDKSAtbTMyCitAQCAtMTcyLDExICsxNzEsMjMgQEAKKyBCSU5ESVIgPSAkKFBSRUZJWCkvc2hhcmUvbGliaHVnZXRsYmZzCisgRVhFRElSID0gJChQUkVGSVgpL2JpbgorIERPQ0RJUiA9ICQoUFJFRklYKS9zaGFyZS9kb2MvbGliaHVnZXRsYmZzCisrCisgaWZkZWYgQ0MzMgorIFBNRElSID0gJChQUkVGSVgpL2xpYi9wZXJsNS9UTEJDCisrZW5kaWYKKysKKytpZmRlZiBDQzY0CisraWZlcSAoJChBUkNIKSx4ODZfNjQpCisrUE1ESVIgPSAkKFBSRUZJWCkvbGliL3Blcmw1L1RMQkMKKytlbHNlCisraWZlcSAoJChBUkNIKSxhYXJjaDY0KQorK1BNRElSID0gJChQUkVGSVgpL2xpYi9wZXJsNS9UTEJDCisgZWxzZQorIFBNRElSID0gJChQUkVGSVgpL2xpYjY0L3Blcmw1L1RMQkMKKyBlbmRpZgorK2VuZGlmCisrZW5kaWYKKysKKyBNQU5ESVIxID0gJChQUkVGSVgpL3NoYXJlL21hbi9tYW4xCisgTUFORElSMyA9ICQoUFJFRklYKS9zaGFyZS9tYW4vbWFuMworIE1BTkRJUjcgPSAkKFBSRUZJWCkvc2hhcmUvbWFuL21hbjcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvbGliaHVnZXRsYmZzLWF2b2lkLXNlYXJjaC1ob3N0LWxpYnJhcnktcGF0aC1mb3ItY3Jvcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvbGliaHVnZXRsYmZzLWF2b2lkLXNlYXJjaC1ob3N0LWxpYnJhcnktcGF0aC1mb3ItY3Jvcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2ZkODQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9maWxlcy9saWJodWdldGxiZnMtYXZvaWQtc2VhcmNoLWhvc3QtbGlicmFyeS1wYXRoLWZvci1jcm9zLnBhdGNoCkBAIC0wLDAgKzEsOTkgQEAKK0Zyb20gMGEyODc3NDAwYTA4NmU5ZDZkZGQzMmE4MDQ2MmI3YTkzMTkyMWRjMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENodW5yb25nIEd1byA8QjQwMjkwQGZyZWVzY2FsZS5jb20+CitEYXRlOiBTdW4sIDggU2VwIDIwMTMgMjM6MjE6NDkgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gbGliaHVnZXRsYmZzOiBhdm9pZCBzZWFyY2ggaG9zdCBsaWJyYXJ5IHBhdGggZm9yIGNyb3NzIAorIGNvbXBpbGF0aW9uCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2h1bnJvbmcgR3VvIDxCNDAyOTBAZnJlZXNjYWxlLmNvbT4KKy0tLQorIGxkc2NyaXB0cy9lbGYzMnBwY2xpbnV4LnhCICAgfCAgICAyICstCisgbGRzY3JpcHRzL2VsZjMycHBjbGludXgueEJEVCB8ICAgIDIgKy0KKyBsZHNjcmlwdHMvZWxmNjRwcGMueEIgICAgICAgIHwgICAgMiArLQorIGxkc2NyaXB0cy9lbGY2NHBwYy54QkRUICAgICAgfCAgICAyICstCisgbGRzY3JpcHRzL2VsZl94ODZfNjQueEIgICAgICB8ICAgIDIgKy0KKyBsZHNjcmlwdHMvZWxmX3g4Nl82NC54QkRUICAgIHwgICAgMiArLQorIDYgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGRzY3JpcHRzL2VsZjMycHBjbGludXgueEIgYi9sZHNjcmlwdHMvZWxmMzJwcGNsaW51eC54QgoraW5kZXggMjhhZDg4ZC4uMzNkNDgyZCAxMDA2NDQKKy0tLSBhL2xkc2NyaXB0cy9lbGYzMnBwY2xpbnV4LnhCCisrKysgYi9sZHNjcmlwdHMvZWxmMzJwcGNsaW51eC54QgorQEAgLTMsNyArMyw3IEBAIE9VVFBVVF9GT1JNQVQoImVsZjMyLXBvd2VycGMiLCAiZWxmMzItcG93ZXJwYyIsCisgCSAgICAgICJlbGYzMi1wb3dlcnBjIikKKyBPVVRQVVRfQVJDSChwb3dlcnBjOmNvbW1vbikKKyBFTlRSWShfc3RhcnQpCistU0VBUkNIX0RJUigiL3Vzci9wb3dlcnBjLWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOworKy8qU0VBUkNIX0RJUigiL3Vzci9wb3dlcnBjLWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOyovCisgSU5QVVQoLWxodWdldGxiZnMpOworIFBIRFJTCisgeworZGlmZiAtLWdpdCBhL2xkc2NyaXB0cy9lbGYzMnBwY2xpbnV4LnhCRFQgYi9sZHNjcmlwdHMvZWxmMzJwcGNsaW51eC54QkRUCitpbmRleCA0OTc4ODJiLi44MjM0NzVlIDEwMDY0NAorLS0tIGEvbGRzY3JpcHRzL2VsZjMycHBjbGludXgueEJEVAorKysrIGIvbGRzY3JpcHRzL2VsZjMycHBjbGludXgueEJEVAorQEAgLTMsNyArMyw3IEBAIE9VVFBVVF9GT1JNQVQoImVsZjMyLXBvd2VycGMiLCAiZWxmMzItcG93ZXJwYyIsCisgCSAgICAgICJlbGYzMi1wb3dlcnBjIikKKyBPVVRQVVRfQVJDSChwb3dlcnBjOmNvbW1vbikKKyBFTlRSWShfc3RhcnQpCistU0VBUkNIX0RJUigiL3Vzci9wb3dlcnBjLWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOworKy8qU0VBUkNIX0RJUigiL3Vzci9wb3dlcnBjLWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOyovCisgSU5QVVQoLWxodWdldGxiZnMpOworIFBIRFJTCisgeworZGlmZiAtLWdpdCBhL2xkc2NyaXB0cy9lbGY2NHBwYy54QiBiL2xkc2NyaXB0cy9lbGY2NHBwYy54QgoraW5kZXggMWE5YzFhYi4uOGNjNTU3ZCAxMDA2NDQKKy0tLSBhL2xkc2NyaXB0cy9lbGY2NHBwYy54QgorKysrIGIvbGRzY3JpcHRzL2VsZjY0cHBjLnhCCitAQCAtMyw3ICszLDcgQEAgT1VUUFVUX0ZPUk1BVCgiZWxmNjQtcG93ZXJwYyIsICJlbGY2NC1wb3dlcnBjIiwKKyAJICAgICAgImVsZjY0LXBvd2VycGMiKQorIE9VVFBVVF9BUkNIKHBvd2VycGM6Y29tbW9uNjQpCisgRU5UUlkoX3N0YXJ0KQorLVNFQVJDSF9ESVIoIi91c3IvcG93ZXJwYzY0LWxpbnV4LWdudS9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL2xvY2FsL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IvcG93ZXJwYzY0LWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOworKy8qU0VBUkNIX0RJUigiL3Vzci9wb3dlcnBjNjQtbGludXgtZ251L2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IvbG9jYWwvbGliNjQiKTsgU0VBUkNIX0RJUigiL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9wb3dlcnBjNjQtbGludXgtZ251L2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xvY2FsL2xpYiIpOyBTRUFSQ0hfRElSKCIvbGliIik7IFNFQVJDSF9ESVIoIi91c3IvbGliIik7Ki8KKyBJTlBVVCgtbGh1Z2V0bGJmcyk7CisgUEhEUlMKKyB7CitkaWZmIC0tZ2l0IGEvbGRzY3JpcHRzL2VsZjY0cHBjLnhCRFQgYi9sZHNjcmlwdHMvZWxmNjRwcGMueEJEVAoraW5kZXggNTQ3NzI5NC4uNTNlMDc0OSAxMDA2NDQKKy0tLSBhL2xkc2NyaXB0cy9lbGY2NHBwYy54QkRUCisrKysgYi9sZHNjcmlwdHMvZWxmNjRwcGMueEJEVAorQEAgLTMsNyArMyw3IEBAIE9VVFBVVF9GT1JNQVQoImVsZjY0LXBvd2VycGMiLCAiZWxmNjQtcG93ZXJwYyIsCisgCSAgICAgICJlbGY2NC1wb3dlcnBjIikKKyBPVVRQVVRfQVJDSChwb3dlcnBjOmNvbW1vbjY0KQorIEVOVFJZKF9zdGFydCkKKy1TRUFSQ0hfRElSKCIvdXNyL3Bvd2VycGM2NC1saW51eC1nbnUvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWI2NCIpOyBTRUFSQ0hfRElSKCIvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL3Bvd2VycGM2NC1saW51eC1nbnUvbGliIik7IFNFQVJDSF9ESVIoIi91c3IvbG9jYWwvbGliIik7IFNFQVJDSF9ESVIoIi9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9saWIiKTsKKysvKlNFQVJDSF9ESVIoIi91c3IvcG93ZXJwYzY0LWxpbnV4LWdudS9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL2xvY2FsL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IvcG93ZXJwYzY0LWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOyovCisgSU5QVVQoIC1saHVnZXRsYmZzICk7CisgUEhEUlMKKyB7CitkaWZmIC0tZ2l0IGEvbGRzY3JpcHRzL2VsZl94ODZfNjQueEIgYi9sZHNjcmlwdHMvZWxmX3g4Nl82NC54QgoraW5kZXggZWQyMWEyYy4uYmE1MGU5ZiAxMDA2NDQKKy0tLSBhL2xkc2NyaXB0cy9lbGZfeDg2XzY0LnhCCisrKysgYi9sZHNjcmlwdHMvZWxmX3g4Nl82NC54QgorQEAgLTMsNyArMyw3IEBAIE9VVFBVVF9GT1JNQVQoImVsZjY0LXg4Ni02NCIsICJlbGY2NC14ODYtNjQiLAorIAkgICAgICAiZWxmNjQteDg2LTY0IikKKyBPVVRQVVRfQVJDSChpMzg2Ong4Ni02NCkKKyBFTlRSWShfc3RhcnQpCistU0VBUkNIX0RJUigiL3Vzci94ODZfNjQtbGludXgtZ251L2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IvbG9jYWwvbGliNjQiKTsgU0VBUkNIX0RJUigiL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci94ODZfNjQtbGludXgtZ251L2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xvY2FsL2xpYiIpOyBTRUFSQ0hfRElSKCIvbGliIik7IFNFQVJDSF9ESVIoIi91c3IvbGliIik7CisrLypTRUFSQ0hfRElSKCIvdXNyL3g4Nl82NC1saW51eC1nbnUvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWI2NCIpOyBTRUFSQ0hfRElSKCIvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL3g4Nl82NC1saW51eC1nbnUvbGliIik7IFNFQVJDSF9ESVIoIi91c3IvbG9jYWwvbGliIik7IFNFQVJDSF9ESVIoIi9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9saWIiKTsqLworIElOUFVUKC1saHVnZXRsYmZzKTsKKyAvKiBEbyB3ZSBuZWVkIGFueSBvZiB0aGVzZSBmb3IgZWxmPworICAgIF9fRFlOQU1JQyA9IDA7ICAgICovCitkaWZmIC0tZ2l0IGEvbGRzY3JpcHRzL2VsZl94ODZfNjQueEJEVCBiL2xkc2NyaXB0cy9lbGZfeDg2XzY0LnhCRFQKK2luZGV4IDE4NTUyMDIuLmM2MmQyNDUgMTAwNjQ0CistLS0gYS9sZHNjcmlwdHMvZWxmX3g4Nl82NC54QkRUCisrKysgYi9sZHNjcmlwdHMvZWxmX3g4Nl82NC54QkRUCitAQCAtMyw3ICszLDcgQEAgT1VUUFVUX0ZPUk1BVCgiZWxmNjQteDg2LTY0IiwgImVsZjY0LXg4Ni02NCIsCisgCSAgICAgICJlbGY2NC14ODYtNjQiKQorIE9VVFBVVF9BUkNIKGkzODY6eDg2LTY0KQorIEVOVFJZKF9zdGFydCkKKy1TRUFSQ0hfRElSKCIvdXNyL3g4Nl82NC1saW51eC1nbnUvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWI2NCIpOyBTRUFSQ0hfRElSKCIvbGliNjQiKTsgU0VBUkNIX0RJUigiL3Vzci9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL3g4Nl82NC1saW51eC1nbnUvbGliIik7IFNFQVJDSF9ESVIoIi91c3IvbG9jYWwvbGliIik7IFNFQVJDSF9ESVIoIi9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9saWIiKTsKKysvKlNFQVJDSF9ESVIoIi91c3IveDg2XzY0LWxpbnV4LWdudS9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL2xvY2FsL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi9saWI2NCIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYjY0Iik7IFNFQVJDSF9ESVIoIi91c3IveDg2XzY0LWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOyovCisgSU5QVVQoLWxodWdldGxiZnMpOworIC8qIERvIHdlIG5lZWQgYW55IG9mIHRoZXNlIGZvciBlbGY/CisgICAgX19EWU5BTUlDID0gMDsgICAgKi8KKy0tIAorMS43LjkuNworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzL2xpYmh1Z2V0bGJmcy1hdm9pZC11c2luZy1yZXN0cmljdC1hcy12YXItbmFtZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvbGliaHVnZXRsYmZzLWF2b2lkLXVzaW5nLXJlc3RyaWN0LWFzLXZhci1uYW1lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3N2NmZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzL2xpYmh1Z2V0bGJmcy1hdm9pZC11c2luZy1yZXN0cmljdC1hcy12YXItbmFtZS5wYXRjaApAQCAtMCwwICsxLDM0IEBACitBdm9pZCB1c2luZyBrZXl3b3JkIHJlc3RyaWN0IGFzIHZhcmlhYmxlIG5hbWUgd2hpY2ggY2F1c2VzIGVycm9yIHdpdGggZ2NjIDUueDoKKworfCBodWdldXRpbHMuYzogSW4gZnVuY3Rpb24gJ19fbGhfaHVnZXRsYmZzX3NldHVwX2Vudic6Cit8IGh1Z2V1dGlscy5jOjMwNDo0MDogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnIGJlZm9yZSAncmVzdHJpY3QnCit8ICAgIGNoYXIgKnAsICp0b2ssICpleGUsIGJ1ZltNQVhfRVhFKzFdLCByZXN0cmljdFtNQVhfRVhFXTsKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCitkaWZmIC0tZ2l0IGEvaHVnZXV0aWxzLmMgYi9odWdldXRpbHMuYworaW5kZXggNTNhN2ZiZC4uYjlkNzAwMSAxMDA2NDQKKy0tLSBhL2h1Z2V1dGlscy5jCisrKysgYi9odWdldXRpbHMuYworQEAgLTMwMSwxNCArMzAxLDE0IEBAIHZvaWQgaHVnZXRsYmZzX3NldHVwX2VudigpCisgCisgCWVudiA9IGdldGVudigiSFVHRVRMQl9SRVNUUklDVF9FWEUiKTsKKyAJaWYgKGVudikgeworLQkJY2hhciAqcCwgKnRvaywgKmV4ZSwgYnVmW01BWF9FWEUrMV0sIHJlc3RyaWN0W01BWF9FWEVdOworKwkJY2hhciAqcCwgKnRvaywgKmV4ZSwgYnVmW01BWF9FWEUrMV0sIHJlc3RyaWN0ZWRbTUFYX0VYRV07CisgCQlpbnQgZm91bmQgPSAwOworIAorIAkJZXhlID0gZ2V0X2V4ZV9uYW1lKGJ1Ziwgc2l6ZW9mIGJ1Zik7CisgCQlERUJVRygiRm91bmQgSFVHRVRMQl9SRVNUUklDVF9FWEUsIHRoaXMgZXhlIGlzIFwiJXNcIlxuIiwgZXhlKTsKKy0JCXN0cm5jcHkocmVzdHJpY3QsIGVudiwgc2l6ZW9mIHJlc3RyaWN0KTsKKy0JCXJlc3RyaWN0W3NpemVvZihyZXN0cmljdCktMV0gPSAwOworLQkJZm9yIChwID0gcmVzdHJpY3Q7ICh0b2sgPSBzdHJ0b2socCwgIjoiKSkgIT0gTlVMTDsgcCA9IE5VTEwpIHsKKysJCXN0cm5jcHkocmVzdHJpY3RlZCwgZW52LCBzaXplb2YgcmVzdHJpY3RlZCk7CisrCQlyZXN0cmljdGVkW3NpemVvZihyZXN0cmljdGVkKS0xXSA9IDA7CisrCQlmb3IgKHAgPSByZXN0cmljdGVkOyAodG9rID0gc3RydG9rKHAsICI6IikpICE9IE5VTEw7IHAgPSBOVUxMKSB7CisgCQkJREVCVUcoIiAgLi4uY2hlY2sgZXhlIG1hdGNoIGZvciBcIiVzXCJcbiIsICB0b2spOworIAkJCWlmIChzdHJjbXAodG9rLCBleGUpID09IDApIHsKKyAJCQkJZm91bmQgPSAxOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9maWxlcy9saWJodWdldGxiZnMtZWxmX2kzODYtYXZvaWQtc2VhcmNoLWhvc3QtbGlicmFyeS1wYXRoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9maWxlcy9saWJodWdldGxiZnMtZWxmX2kzODYtYXZvaWQtc2VhcmNoLWhvc3QtbGlicmFyeS1wYXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1NjY0ODgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzL2xpYmh1Z2V0bGJmcy1lbGZfaTM4Ni1hdm9pZC1zZWFyY2gtaG9zdC1saWJyYXJ5LXBhdGgucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSA4ODllNTI3NTNkMzAxNzliYTRhYzk0MDAyM2NiNGVkNTYxNDM2YWI4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgNCBOb3YgMjAxNCAwMDo0OToxMSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBsaWJodWdldGxiZnMvZWxmX2kzODY6IGF2b2lkIHNlYXJjaCBob3N0IGxpYnJhcnkgcGF0aCBmb3IgY3Jvc3MgY29tcGlsYXRpb24KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjcm9zcyBjb21waWxlIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGRzY3JpcHRzL2VsZl9pMzg2LnhCICAgfCAgICAxIC0KKyBsZHNjcmlwdHMvZWxmX2kzODYueEJEVCB8ICAgIDEgLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xkc2NyaXB0cy9lbGZfaTM4Ni54QiBiL2xkc2NyaXB0cy9lbGZfaTM4Ni54QgoraW5kZXggNDNmZTUxYy4uZWFlMGZhOCAxMDA2NDQKKy0tLSBhL2xkc2NyaXB0cy9lbGZfaTM4Ni54QgorKysrIGIvbGRzY3JpcHRzL2VsZl9pMzg2LnhCCitAQCAtMyw3ICszLDYgQEAgT1VUUFVUX0ZPUk1BVCgiZWxmMzItaTM4NiIsICJlbGYzMi1pMzg2IiwKKyAJICAgICAgImVsZjMyLWkzODYiKQorIE9VVFBVVF9BUkNIKGkzODYpCisgRU5UUlkoX3N0YXJ0KQorLVNFQVJDSF9ESVIoIi91c3IvaTQ4Ni1saW51eC1nbnUvbGliIik7IFNFQVJDSF9ESVIoIi91c3IvbG9jYWwvbGliIik7IFNFQVJDSF9ESVIoIi9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9saWIiKTsKKyBJTlBVVCgtbGh1Z2V0bGJmcyk7CisgLyogRG8gd2UgbmVlZCBhbnkgb2YgdGhlc2UgZm9yIGVsZj8KKyAgICBfX0RZTkFNSUMgPSAwOyAgICAqLworZGlmZiAtLWdpdCBhL2xkc2NyaXB0cy9lbGZfaTM4Ni54QkRUIGIvbGRzY3JpcHRzL2VsZl9pMzg2LnhCRFQKK2luZGV4IGQ3MmFlYmUuLjNiYWMxYjEgMTAwNjQ0CistLS0gYS9sZHNjcmlwdHMvZWxmX2kzODYueEJEVAorKysrIGIvbGRzY3JpcHRzL2VsZl9pMzg2LnhCRFQKK0BAIC0zLDcgKzMsNiBAQCBPVVRQVVRfRk9STUFUKCJlbGYzMi1pMzg2IiwgImVsZjMyLWkzODYiLAorIAkgICAgICAiZWxmMzItaTM4NiIpCisgT1VUUFVUX0FSQ0goaTM4NikKKyBFTlRSWShfc3RhcnQpCistU0VBUkNIX0RJUigiL3Vzci9pNDg2LWxpbnV4LWdudS9saWIiKTsgU0VBUkNIX0RJUigiL3Vzci9sb2NhbC9saWIiKTsgU0VBUkNIX0RJUigiL2xpYiIpOyBTRUFSQ0hfRElSKCIvdXNyL2xpYiIpOworIElOUFVUKC1saHVnZXRsYmZzKTsKKyAvKiBEbyB3ZSBuZWVkIGFueSBvZiB0aGVzZSBmb3IgZWxmPworICAgIF9fRFlOQU1JQyA9IDA7ICAgICovCistLQorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzL3NraXAtY2hlY2tpbmctTElCMzItYW5kLUxJQjY0LWlmLXRoZXktcG9pbnQtdG8tdGhlLXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2ZpbGVzL3NraXAtY2hlY2tpbmctTElCMzItYW5kLUxJQjY0LWlmLXRoZXktcG9pbnQtdG8tdGhlLXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDdhOTk3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvc2tpcC1jaGVja2luZy1MSUIzMi1hbmQtTElCNjQtaWYtdGhleS1wb2ludC10by10aGUtcy5wYXRjaApAQCAtMCwwICsxLDIzIEBACitGcm9tIDM1NWMwMTQ1NzNkZTdmOTUyMDJjYzdjODE5ZjgxZjBmMjMwZTRhMWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUaW5nIExpdSA8YjI4NDk1QGZyZWVzY2FsZS5jb20+CitEYXRlOiBNb24sIDE4IEp1biAyMDEyIDE2OjM3OjA1ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHNraXAgY2hlY2tpbmcgTElCMzIgYW5kIExJQjY0IGlmIHRoZXkgcG9pbnQgdG8gdGhlIHNhbWUgcGxhY2UKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogVGluZyBMaXUgPGIyODQ5NUBmcmVlc2NhbGUuY29tPgorLS0tCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCA5MTUwMmUxLi5iZmIzNDE0IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMTY3LDcgKzE2Nyw2IEBAIFJFQUxMSUIzMiA9ICQocmVhbHBhdGggJChQUkVGSVgpLyQoTElCMzIpKQorIFJFQUxMSUI2NCA9ICQocmVhbHBhdGggJChQUkVGSVgpLyQoTElCNjQpKQorIGlmbmVxICgkKHJlYWxwYXRoICQoUFJFRklYKSksKQorIGlmZXEgKCQoUkVBTExJQjMyKSwkKFJFQUxMSUI2NCkpCistJChlcnJvciBMSUIzMiAoJChQUkVGSVgpLyQoTElCMzIpIHRvICQoUkVBTExJQjMyKSkgYW5kIExJQjY0ICgkKFBSRUZJWCkvJChMSUI2NCkgdG8gJChSRUFMTElCNjQpKSBhcmUgcmVzb2x2aW5nIHRvIHRoZSBzYW1lIHBsYWNlLiBNYW51YWxseSBzcGVjaWZ5IExJQjMyIGFuZCBMSUI2NC4gZS5nLiBtYWtlIFBSRUZJWD0kKFBSRUZJWCkgTElCMzI9bGliMzIgTElCNjQ9bGliNjQpCisgZW5kaWYKKyBlbmRpZgorIAorLS0gCisxLjkuMgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9maWxlcy90ZXN0cy1NYWtlZmlsZS1pbnN0YWxsLXN0YXRpYy00Ry1lZGdlLXRlc3RjYXNlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvdGVzdHMtTWFrZWZpbGUtaW5zdGFsbC1zdGF0aWMtNEctZWRnZS10ZXN0Y2FzZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQ5ZjZlMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJodWdldGxiZnMvZmlsZXMvdGVzdHMtTWFrZWZpbGUtaW5zdGFsbC1zdGF0aWMtNEctZWRnZS10ZXN0Y2FzZXMucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKKworVEVTVFNfNjQgaXMgZW1wdHksIGluc3RhbGwgd2lsbCBmYWlsIGR1ZSB0byBtaXNzaW5nIGZpbGUgb3BlcmFuZAorCitTaWduZWQtb2ZmLWJ5OiBUaW5nIExpdSA8YjI4NDk1QGZyZWVzY2FsZS5jb20+CisKKy0tLSBhL3Rlc3RzL01ha2VmaWxlb2xkCTIwMTMtMTAtMTIgMDI6MzI6NTUuMjYyMzkxOTk4IC0wNTAwCisrKysgYi90ZXN0cy9NYWtlZmlsZQkyMDEzLTEwLTEyIDAyOjMzOjQ1LjkyOTM5NDcyMiAtMDUwMAorQEAgLTI5Miw3ICsyOTIsNyBAQAorIAkkKElOU1RBTEwpIC1tIDc1NSB3cmFwcGVyLXV0aWxzLnNoICQoREVTVERJUikkKElOU1RfVEVTVFNESVI2NCkvb2JqNjQKKyAJJChJTlNUQUxMKSAtbSA3NTUgJChIRUxQRVJTOiU9b2JqNjQvJSkgJChERVNURElSKSQoSU5TVF9URVNUU0RJUjY0KS9vYmo2NAorIAkkKElOU1RBTEwpIC1tIDc1NSAkKEhFTFBFUl9MSUJTOiU9b2JqNjQvJSkgJChERVNURElSKSQoSU5TVF9URVNUU0RJUjY0KS9vYmo2NAorLQkkKElOU1RBTEwpIC1tIDc1NSAkKFRFU1RTXzY0OiU9b2JqNjQvJSkgJChERVNURElSKSQoSU5TVF9URVNUU0RJUjY0KS9vYmo2NAorKwkkKElOU1RBTEwpIC1tIDc1NSAkKFRFU1RTXzY0X1NUQVRJQzolPW9iajY0LyVfc3RhdGljKSAkKERFU1RESVIpJChJTlNUX1RFU1RTRElSNjQpL29iajY0CisgCSQoSU5TVEFMTCkgLW0gNzU1IHJ1bl90ZXN0cy5weSAkKERFU1RESVIpJChJTlNUX1RFU1RTRElSNjQpCisgCisgaW5zdGFsbDogJChPQkpESVJTOiU9JS9pbnN0YWxsKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9saWJodWdldGxiZnNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmh1Z2V0bGJmcy9saWJodWdldGxiZnNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxNWQ0NDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliaHVnZXRsYmZzL2xpYmh1Z2V0bGJmc19naXQuYmIKQEAgLTAsMCArMSw2NiBAQAorU1VNTUFSWSA9ICJBIGxpYnJhcnkgd2hpY2ggcHJvdmlkZXMgZWFzeSBhY2Nlc3MgdG8gaHVnZSBwYWdlcyBvZiBtZW1vcnkiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbGliaHVnZXRsYmZzL2xpYmh1Z2V0bGJmcyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MR1BMLTIuMTttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEiCisKK0RFUEVORFMgPSAic3lzZnN1dGlscyBwZXJsIgorUkRFUEVORFNfJHtQTn0gKz0gImJhc2ggcGVybCBweXRob24gcHl0aG9uLWlvIHB5dGhvbi1sYW5nIHB5dGhvbi1zdWJwcm9jZXNzIHB5dGhvbi1yZXNvdXJjZSIKK1JERVBFTkRTXyR7UE59LXRlc3RzICs9ICJiYXNoIgorCitQViA9ICIyLjE5IgorUEUgPSAiMSIKKworU1JDUkVWID0gIjQyNmMyMmQ2NTQxNWZjYjg5MjdmNjhmYmM1ODg3ZTA3NWE4ZGM0MGEiCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9saWJodWdldGxiZnMvbGliaHVnZXRsYmZzLmdpdDtwcm90b2NvbD1odHRwcyBcCisgICAgZmlsZTovL3NraXAtY2hlY2tpbmctTElCMzItYW5kLUxJQjY0LWlmLXRoZXktcG9pbnQtdG8tdGhlLXMucGF0Y2ggXAorICAgIGZpbGU6Ly9saWJodWdldGxiZnMtYXZvaWQtc2VhcmNoLWhvc3QtbGlicmFyeS1wYXRoLWZvci1jcm9zLnBhdGNoIFwKKyAgICBmaWxlOi8vdGVzdHMtTWFrZWZpbGUtaW5zdGFsbC1zdGF0aWMtNEctZWRnZS10ZXN0Y2FzZXMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLXJ1bl90ZXN0LnB5LW5vdC11c2UtaGFyZC1jb2RlZC1wYXRoLS4tb2JqLWh1Z2VhZG0ucGF0Y2ggXAorICAgIGZpbGU6Ly9saWJodWdldGxiZnMtZWxmX2kzODYtYXZvaWQtc2VhcmNoLWhvc3QtbGlicmFyeS1wYXRoLnBhdGNoIFwKKyAgICBmaWxlOi8vbGliaHVnZXRsYmZzLWF2b2lkLXVzaW5nLXJlc3RyaWN0LWFzLXZhci1uYW1lLnBhdGNoIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQ09NUEFUSUJMRV9IT1NUID0gIih4ODZfNjR8cG93ZXJwY3xwb3dlcnBjNjR8YWFyY2g2NHxhcm0pLiotbGludXgqIgorCitMSUJBUkdTID0gIkxJQjMyPSR7YmFzZWxpYn0gTElCNjQ9JHtiYXNlbGlifSIKK0xJQkhVR0VUTEJGU19BUkNIID0gIiR7VEFSR0VUX0FSQ0h9IgorTElCSFVHRVRMQkZTX0FSQ0hfcG93ZXJwYyA9ICJwcGMiCitMSUJIVUdFVExCRlNfQVJDSF9wb3dlcnBjNjQgPSAicHBjNjQiCitFWFRSQV9PRU1BS0UgPSAiJ0FSQ0g9JHtMSUJIVUdFVExCRlNfQVJDSH0nICdPUFQ9JHtDRkxBR1N9JyAnQ0M9JHtDQ30nICR7TElCQVJHU30gQlVJTERUWVBFPU5BVElWRU9OTFkgVj0yIgorUEFSQUxMRUxfTUFLRSA9ICIiCitDRkxBR1MgKz0gIi1mZXhwZW5zaXZlLW9wdGltaXphdGlvbnMgLWZyZW5hbWUtcmVnaXN0ZXJzIC1mb21pdC1mcmFtZS1wb2ludGVyIC1nMCIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKKyNUaGUgQ1VTVE9NX0xEU0NSSVBUUyBkb2Vzbid0IHdvcmsgd2l0aCB0aGUgZ29sZCBsaW5rZXIKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBpZiBbICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCAnbGQtaXMtZ29sZCcsICcnLCBkKX0iID0gImxkLWlzLWdvbGQiIF0gOyB0aGVuCisgICAgICBzZWQgLWkgJ3MvQ1VTVE9NX0xEU0NSSVBUUyA9IHllcy9DVVNUT01fTERTQ1JJUFRTID0gbm8vJyAgTWFrZWZpbGUKKyAgICBmaQorCisgICAgIyBmaXh1cCBwZXJsIG1vZHVsZSBkaXJlY3RvcnkgaGFyZGNvZGVkIHRvIHBlcmw1CisgICAgc2VkIC1pICdzL3Blcmw1L3BlcmwvZycgIE1ha2VmaWxlCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgICAgIG9lX3J1bm1ha2UgUFJFRklYPSR7cHJlZml4fSBERVNURElSPSR7RH0gIFwKKyAgICAgICAgICBJTlNUX1RFU1RTRElSMzI9JHtsaWJkaXJ9L2xpYmh1Z2V0bGJmcy90ZXN0cyBcCisgICAgICAgICAgSU5TVF9URVNUU0RJUjY0PSR7bGliZGlyfS9saWJodWdldGxiZnMvdGVzdHMgXAorICAgICAgICAgIGluc3RhbGwtdGVzdHMKK30KKworCitQQUNLQUdFUyA9KyAiJHtQTn0tcGVybCAke1BOfS10ZXN0cyAiCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9Lyouc28iCitGSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2xpYmh1Z2V0bGJmcy90ZXN0cy9vYmozMi8uZGVidWcgJHtsaWJkaXJ9L2xpYmh1Z2V0bGJmcy90ZXN0cy9vYmo2NC8uZGVidWciCitGSUxFU18ke1BOfS1wZXJsID0gIiR7bGliZGlyfS9wZXJsIgorRklMRVNfJHtQTn0tdGVzdHMgKz0gIiR7bGliZGlyfS9saWJodWdldGxiZnMvdGVzdHMiCisKK0lOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKKworSU5ISUJJVF9QQUNLQUdFX1NUUklQID0gIjEiCitJTkhJQklUX1BBQ0tBR0VfREVCVUdfU1BMSVQgPSAiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L2ZpeC1sbWJlbmNoLW1lbW9yeS1jaGVjay1mYWlsdXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC0zLjAtYTkvZml4LWxtYmVuY2gtbWVtb3J5LWNoZWNrLWZhaWx1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ5YTExNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L2ZpeC1sbWJlbmNoLW1lbW9yeS1jaGVjay1mYWlsdXJlLnBhdGNoCkBAIC0wLDAgKzEsMjA2IEBACitsbWJlbmNoOiBDYW4ndCBwcm9jZWVkIG9uIHNvbWUgdGFyZ2V0cworCitsbWJlbmNoIGNhbid0IHByb2NlZWQgb24gc29tZSB0YXJnZXRzLiAgVGhlIG1lbW9yeSBjaGVjayBmYWlscyBiZWNhdXNlIHRoZQorbWVtb3J5IGxhdGVuY3kgb2YgZWFjaCBwYWdlIGlzIGxvbmdlciB0aGVuIDEwdXMsIHdoaWNoIGlzIGEgdGltZSBsaW1pdCBzZXQKK2luIHRoZSBvcmlnaW5hbCBtZW1zaXplLmMuCisKK1RoZSBtZW1vcnkgbGF0ZW5jeSBpcyB2ZXJ5IGRpZmZlcmVudCBvbiBkaWZmZXJlbnQgdGFyZ2V0cyBkdWUgdG8gdGhlCitoYXJkd2FyZSBhbmQgY3VycmVudCBzeXN0ZW0gbG9hZC4gIFRoZSB0YXJnZXRzIHdpdGggc2xvd2VyIG1lbW9yeQorY2hpcHMgb3IgaGVhdnkgc3lzdGVtIGxvYWQgbmVlZCBtdWNoIGxvbmdlciB0aW1lIHRvIHJlYWQgb3Igd3JpdGUKK3RoZSBtZW1vcnkuCisKK1RoaXMgZml4IGNoYW5nZXMgdGhlIGZpeGVkIHRpbWUgbGltaXQgb2YgMTB1cyB0byBhIHNwZWNpZmljIHZhbHVlIGNhbGN1bGF0ZWQKK2Zyb20gdGhlIHJ1bnRpbWUgdGFyZ2V0LgorCitBbHNvIHNldCBhbiB1cHBlciBsaW1pdCBvZiBtZW1vcnkgc2l6ZSB1c2VkIGZvciBsbWJlbmNoIHRlc3RpbmcuICBUaGUgbWVtb3J5CitjaGVjayBzb21ldGltZXMgZmFpbHMgaWYgdGhlIHRhcmdldCBoYXMgYSBsYXJnZSBhbW91bnQgb2YgbWVtb3J5LCBmb3IKK2V4YW1wbGUgbW9yZSB0aGFuIDRHLgorCitTaWduZWQtb2ZmLWJ5OiBRaW5nbWluZyBTdSA8cWluZ21pbmcuc3VAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEZ1cGFuIExpIDxmdXBhbi5saUB3aW5kcml2ZXIuY29tPgorCitBZGQgYW5kIHJld29yZCBhYm92ZSBjb21tZW50cworCitVcHN0cmVhbS1zdGF0dXM6IGluYXBwcm9wcmlhdGUgWyBjb25maWd1cmF0aW9uIF0KKworU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgorCitkaWZmIC0tZ2l0IGEvc2NyaXB0cy9jb25maWctcnVuIGIvc2NyaXB0cy9jb25maWctcnVuCitpbmRleCBlMWY3YjZkLi4zMWI5MjU2IDEwMDc1NQorLS0tIGEvc2NyaXB0cy9jb25maWctcnVuCisrKysgYi9zY3JpcHRzL2NvbmZpZy1ydW4KK0BAIC0yMTQsNiArMjE0LDEyIEBAIFRoZSBiaWdnZXIgdGhlIHJhbmdlLCB0aGUgbW9yZSBhY2N1cmF0ZSB0aGUgcmVzdWx0cywgYnV0IGxhcmdlciBzaXplcworIHRha2Ugc29tZXdoYXQgbG9uZ2VyIHRvIHJ1biB0aGUgYmVuY2htYXJrLgorCisgRU9GCisrCisrIyBCeSBkZWZhdWx0LCB1c2UgNTEyTSBtZW1vcnkgYXMgdGhlIHVwcGVyIGxpbWl0IGZvciBsbWJlbmNoIHRlc3QKKytpZiBbICRNQiAtZ3QgNTEyIF07dGhlbgorK01CPTUxMgorK2ZpCisrCisgZWNobyAkRUNIT04gIk1CIFtkZWZhdWx0ICRNQl06ICRFQ0hPQyIKKyAjcmVhZCBUTVAKKyBUTVA9IiIKK0BAIC03MTgsMTAgKzcyNCwxMCBAQCBjYXNlICRNQUlMIGluCisJCTs7CisgZXNhYworCistSU5GTz1gLi4vc2NyaXB0cy9pbmZvYAorK0lORk89YC4uL3NjcmlwdHMvaG9zdGluZm9gCisgaWYgWyAkTUFJTCA9IHllcyBdCisgdGhlbglpZiBbICEgLWYgJElORk8gXQorLQl0aGVuCWNwIC4uL3NjcmlwdHMvaW5mby10ZW1wbGF0ZSAkSU5GTworKwl0aGVuCWNwIC4uL3NjcmlwdHMvaG9zdGluZm8tdGVtcGxhdGUgJElORk8KKyAJCWNobW9kICt3ICRJTkZPCisgCQlSRVVTRT1ubworIAllbHNlCitAQCAtNzY1LDcgKzc3MSw3IEBAIEVPRgorIAkJdGhlbglFRElUT1I9JFRNUAorIAkJZmkKKyAJCWlmIFsgWCRFRElUT1IgIT0gIm5vbmUiIF0KKy0JCXRoZW4JJEVESVRPUiBgLi4vc2NyaXB0cy9pbmZvYAorKwkJdGhlbgkkRURJVE9SIGAuLi9zY3JpcHRzL2hvc3RpbmZvYAorIAkJZmkKKyAJZmkKKyBmaQorZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZSBiL3NyYy9NYWtlZmlsZQoraW5kZXggZDFmMGRjNi4uNTA5ODk5OCAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZQorKysrIGIvc3JjL01ha2VmaWxlCitAQCAtNDksNyArNDksNyBAQCBUQVJHRVQ9YC4uL3NjcmlwdHMvdGFyZ2V0YAorIEJJTkRJUj0uLi9iaW4vJChPUykKKyBDT05GSUc9Li4vYmluLyQoT1MpL2AuLi9zY3JpcHRzL2NvbmZpZ2AKKyBVVElMUz0uLi9zY3JpcHRzL3RhcmdldCAuLi9zY3JpcHRzL29zIC4uL3NjcmlwdHMvZ251LW9zIC4uL3NjcmlwdHMvY29tcGlsZXIgXAorLQkuLi9zY3JpcHRzL2luZm8gLi4vc2NyaXB0cy9pbmZvLXRlbXBsYXRlIC4uL3NjcmlwdHMvdmVyc2lvbiBcCisrCS4uL3NjcmlwdHMvaG9zdGluZm8gLi4vc2NyaXB0cy9ob3N0aW5mby10ZW1wbGF0ZSAuLi9zY3JpcHRzL3ZlcnNpb24gXAorIAkuLi9zY3JpcHRzL2NvbmZpZyAuLi9zY3JpcHRzL2NvbmZpZy1ydW4gLi4vc2NyaXB0cy9yZXN1bHRzIFwKKyAJLi4vc2NyaXB0cy9sbWJlbmNoIC4uL3NjcmlwdHMvbWFrZSAuLi9zY3JpcHRzL2J1aWxkCisgSU5TVEFMTD1jcAorQEAgLTI0MCw3ICsyNDAsNyBAQCAkTy9nZXRvcHQubyA6IGdldG9wdC5jICQoSU5DUykKKyAJJChDT01QSUxFKSAtYyBnZXRvcHQuYyAtbyAkTy9nZXRvcHQubworCisgJChVVElMUykgOgorLQktY2QgLi4vc2NyaXB0czsgbWFrZSBnZXQKKysJLWNkIC4uL3NjcmlwdHM7IGNwIGluZm8gaG9zdGluZm87IGNwIGluZm8tdGVtcGxhdGUgaG9zdGluZm8tdGVtcGxhdGUKKworICMgRG8gbm90IHJlbW92ZSB0aGUgbmV4dCBsaW5lLCAkKE1BS0UpIGRlcGVuZCBuZWVkcyBpdAorICMgTUFLRURFUEVORCBmb2xsb3dzCitkaWZmIC0tZ2l0IGEvc3JjL21lbXNpemUuYyBiL3NyYy9tZW1zaXplLmMKK2luZGV4IGViMjVhMDkuLmNmOWZlMGMgMTAwNjQ0CistLS0gYS9zcmMvbWVtc2l6ZS5jCisrKysgYi9zcmMvbWVtc2l6ZS5jCitAQCAtMTQsOSArMTQsMTIgQEAgY2hhcgkqaWQgPSAiJElkJFxuIjsKKworICNkZWZpbmUJQ0hLKHgpCWlmICgoeCkgPT0gLTEpIHsgcGVycm9yKCJ4Iik7IGV4aXQoMSk7IH0KKworLSNpZm5kZWYJVE9PX0xPTkcKKy0jZGVmaW5lCVRPT19MT05HCTEwCS8qIHVzZWNzICovCistI2VuZGlmCisrLy8jaWZuZGVmCVRPT19MT05HCisrLy8jZGVmaW5lCVRPT19MT05HCTEwCS8qIHVzZWNzICovCisrLy8jZW5kaWYKKysKKysjZGVmaW5lCU1FTU9SWV9TSVpFXzFNQiAoMTAyNCAqIDEwMjQpCisrI2RlZmluZQlNRU1PUllfU0laRV84TUIgKDggKiAxMDI0ICogMTAyNCkKKworIGludAlhbGFybV90cmlnZ2VyZWQgPSAwOworCitAQCAtMzUsMTAgKzM4LDEwIEBAIG1haW4oaW50IGFjLCBjaGFyICoqYXYpCisgCXNpemVfdAlkZWx0YTsKKworIAlpZiAoYWMgPT0gMikgeworLQkJbWF4ID0gc2l6ZSA9IGJ5dGVzKGF2WzFdKSAqIDEwMjQgKiAxMDI0OworKwkJbWF4ID0gc2l6ZSA9IGJ5dGVzKGF2WzFdKSAqIE1FTU9SWV9TSVpFXzFNQjsKKyAJfQorLQlpZiAobWF4IDwgMTAyNCAqIDEwMjQpIHsKKy0JCW1heCA9IHNpemUgPSAxMDI0ICogMTAyNCAqIDEwMjQ7CisrCWlmIChtYXggPCBNRU1PUllfU0laRV8xTUIpIHsKKysJCW1heCA9IHNpemUgPSAxMDI0ICogTUVNT1JZX1NJWkVfMU1COworIAl9CisgCS8qCisgCSAqIEJpbmFyeSBzZWFyY2ggZG93biBhbmQgdGhlbiBiaW5hcnkgc2VhcmNoIHVwCitAQCAtNDgsNyArNTEsNyBAQCBtYWluKGludCBhYywgY2hhciAqKmF2KQorIAl9CisgCS8qIGRlbHRhID0gc2l6ZSAvICgyICogMTAyNCAqIDEwMjQpICovCisgCWZvciAoZGVsdGEgPSAoc2l6ZSA+PiAyMSk7IGRlbHRhID4gMDsgZGVsdGEgPj49IDEpIHsKKy0JCXVpbnQ2NCBzeiA9ICh1aW50NjQpc2l6ZSArICh1aW50NjQpZGVsdGEgKiAxMDI0ICogMTAyNDsKKysJCXVpbnQ2NCBzeiA9ICh1aW50NjQpc2l6ZSArICh1aW50NjQpZGVsdGEgKiBNRU1PUllfU0laRV8xTUI7CisgCQlzaXplX3QgY2hlY2sgPSBzejsKKyAJCWlmIChtYXggPCBzeikgY29udGludWU7CisgCQlpZiAoY2hlY2sgPCBzeiB8fCAhdGVzdF9tYWxsb2Moc3opKSBicmVhazsKK0BAIC02Niw0MSArNjksNTggQEAgdGltZWl0KGNoYXIgKndoZXJlLCBzaXplX3Qgc2l6ZSkKKyB7CisgCWludAlzdW0gPSAwOworIAlzaXplX3QJbjsKKy0Jc2l6ZV90CXNfcHJldjsKKysJc2l6ZV90CXNfcHJldiA9IE1FTU9SWV9TSVpFXzhNQjsKKyAJc2l6ZV90CXJhbmdlOworLQlzaXplX3QJaW5jciA9IDEwMjQgKiAxMDI0OworKwlzaXplX3QJaW5jciA9IE1FTU9SWV9TSVpFXzFNQjsKKyAJc2l6ZV90CXBhZ2VzaXplID0gZ2V0cGFnZXNpemUoKTsKKy0JdW5zaWduZWQgbG9uZyBsb25nCXM7CistCistCWlmIChzaXplIDwgMTAyNCoxMDI0IC0gMTYqMTAyNCkgeworLQkJZnByaW50ZihzdGRlcnIsICJCYWQgc2l6ZVxuIik7CistCQlyZXR1cm47CistCX0KKysJc2l6ZV90CXRpbWVfZWFjaF9wYWdlID0gMDsKKysJc2l6ZV90CXRvb19sb25nID0gMDsKKysJdW5zaWduZWQgbG9uZyBsb25nICAgICAgczsKKysKKysJaWYgKHBhZ2VzaXplIDwgTUVNT1JZX1NJWkVfMU1CKQorKwkJcmFuZ2UgPSBNRU1PUllfU0laRV8xTUI7CisrCWVsc2UKKysJCXJhbmdlID0gTUVNT1JZX1NJWkVfOE1COworKworKwlpbmNyID0gTUVNT1JZX1NJWkVfMU1COworKwkKKysJaWYgKHNpemUgPCByYW5nZSkgeworKyAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJCYWQgc2l6ZVxuIik7CisrICAgICAgICAgICAgICByZXR1cm47CisrCSAgICB9CisrCisrCS8vVG91Y2ggcmFuZ2Ugb2YgbWVtb3J5LCBnZXQgdGhlIGF2ZXJhZ2UgdGltZSAodXNlYykgb2Ygb3BlcmF0aW5nIGVhY2ggbWVtb3J5IHBhZ2Ugb24gdGhpcyBzeXN0ZW0KKysgICAgICAgIHN0YXJ0KDApOworKyAgICAgICAgdG91Y2hSYW5nZSh3aGVyZSwgcmFuZ2UsIHBhZ2VzaXplKTsKKysgICAgICAgIHN1bSA9IHN0b3AoMCwgMCk7CisrCisrICAgICAgICBpZiAoKHRpbWVfZWFjaF9wYWdlID0gc3VtICogcGFnZXNpemUgLyByYW5nZSkgPCAxKQorKwkJdGltZV9lYWNoX3BhZ2UgPSAxOworKwkvL1NldCB0aGUgdXBlciBsaW1pdCBvZiB0aW1lIHNwZW5kaW5nIG9uIG9uZSBwYWdlCisrICAgICAgICB0b29fbG9uZyA9IDEwICogdGltZV9lYWNoX3BhZ2U7CisKKy0JcmFuZ2UgPSAxMDI0ICogMTAyNDsKKy0JaW5jciA9IDEwMjQgKiAxMDI0OworLQl0b3VjaFJhbmdlKHdoZXJlLCByYW5nZSwgcGFnZXNpemUpOworIAlmb3IgKHJhbmdlICs9IGluY3I7IHJhbmdlIDw9IHNpemU7IHJhbmdlICs9IGluY3IpIHsKKyAJCW4gPSByYW5nZSAvIHBhZ2VzaXplOworLQkJc2V0X2FsYXJtKG4gKiBUT09fTE9ORyk7CisrCQlzZXRfYWxhcm0obiAqIHRvb19sb25nKTsKKyAJCXRvdWNoUmFuZ2Uod2hlcmUgKyByYW5nZSAtIGluY3IsIGluY3IsIHBhZ2VzaXplKTsKKyAJCWNsZWFyX2FsYXJtKCk7CistCQlzZXRfYWxhcm0obiAqIFRPT19MT05HKTsKKysJCXNldF9hbGFybShuICogdG9vX2xvbmcpOworIAkJc3RhcnQoMCk7CisgCQl0b3VjaFJhbmdlKHdoZXJlLCByYW5nZSwgcGFnZXNpemUpOworIAkJc3VtID0gc3RvcCgwLCAwKTsKKyAJCWNsZWFyX2FsYXJtKCk7CistCQlpZiAoKHN1bSAvIG4pID4gVE9PX0xPTkcgfHwgYWxhcm1fdHJpZ2dlcmVkKSB7CisrCQlpZiAoKHN1bSAvIG4pID4gdG9vX2xvbmcgfHwgYWxhcm1fdHJpZ2dlcmVkKSB7CisgCQkJc2l6ZSA9IHJhbmdlIC0gaW5jcjsKKysJCQlmcHJpbnRmKHN0ZGVyciwgIkVycm9yISBNZW1vcnkgdGVzdGluZyB0aW1lb3V0ISBUb3VjaCBvbmUgcGFnZSBvZiBtZW1vcnkgbmVlZHMgbW9yZSB0aGFuICVkICh1c2VjcylcbiAiLCB0b29fbG9uZyk7CisgCQkJYnJlYWs7CisgCQl9CistCQlmb3IgKHMgPSA4ICogMTAyNCAqIDEwMjQ7IHMgPD0gcmFuZ2U7IHNfcHJldiA9IHMsIHMgKj0gMikKKysJCWZvciAocyA9IHNfcHJldjsgcyA8PSByYW5nZTsgc19wcmV2ID0gcywgcyAqPSAyKQorIAkJCWlmIChzIDwgc19wcmV2KSBicmVhazsKKyAJCWluY3IgPSBzIC8gODsKKyAJCWlmIChyYW5nZSA8IHNpemUgJiYgc2l6ZSA8IHJhbmdlICsgaW5jcikgeworIAkJCWluY3IgPSBzaXplIC0gcmFuZ2U7CisgCQl9CistCQlmcHJpbnRmKHN0ZGVyciwgIiVkTUIgT0tcciIsIChpbnQpKHJhbmdlLygxMDI0KjEwMjQpKSk7CisrCQlmcHJpbnRmKHN0ZGVyciwgIiVkTUIgT0tcciIsIChpbnQpKHJhbmdlL01FTU9SWV9TSVpFXzFNQikpOworIAl9CisgCWZwcmludGYoc3RkZXJyLCAiXG4iKTsKKyAJcHJpbnRmKCIlZFxuIiwgKGludCkoc2l6ZT4+MjApKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L2xtYmVuY2hfcmVzdWx0X2h0bWxfcmVwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC0zLjAtYTkvbG1iZW5jaF9yZXN1bHRfaHRtbF9yZXBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RhMmYwYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L2xtYmVuY2hfcmVzdWx0X2h0bWxfcmVwb3J0LnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK2xtYmVuY2g6IEZpeCAibWFrZSBodG1sIiBncmFwaCBmYWlsdXJlCisKK1RoZSBodG1sLWxpc3QgcGVybCBzY3JpcHQgY2Fubm90IHBhcnNlIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSByZXN1bHQKK2ZpbGVzIGFib3V0IHRoZSBsbWJlbmNoIHZlcnNpb24uCisKK0FkZGl0aW9uYWwgZml4ZXMgYXJlIHRvIG1ha2UgdGhlIHJlc3VsdCdzIGh0bWwgcGFnZXMgZWFzaWVyIHRvIHVuZGVyc3RhbmQuCisKK1NpZ25lZC1vZmYtYnk6IExpbiBZdSA8bGluLnl1QHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBGdXBhbiBMaSA8ZnVwYW4ubGlAd2luZHJpdmVyLmNvbT4KKworUmV3b3JkZWQgcGF0Y2ggZGVzY3JpcHRpb24uCisKK1Vwc3RyZWFtLXN0YXR1czogaW5hcHByb3ByaWF0ZSBbIGNvbmZpZ3VyYXRpb24gXQorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLS1naXQgYS9yZXN1bHRzL01ha2VmaWxlIGIvcmVzdWx0cy9NYWtlZmlsZQoraW5kZXggMDkzNTM3Ni4uMWVmOWExNSAxMDA2NDQKKy0tLSBhL3Jlc3VsdHMvTWFrZWZpbGUKKysrKyBiL3Jlc3VsdHMvTWFrZWZpbGUKK0BAIC0xODYsNiArMTg2LDcgQEAgcGFwZXI6CisgIyBzY3JhdGNoIG1ha2VzIHlvdSB3YW50IGEgR2h6IG1hY2hpbmUuCisgaHRtbDogZGlycworIAktbWFrZSBjbGVhbgorKwltYWtlIHBzCisgCSMkKFNDUklQVFMpYmdodG1sICQoQkcpCisgCSQoU0NSSVBUUylodG1sLWxpc3QgJChMSVNUKQorIAkkKE1LKSBMSVNUPSIkKExJU1QpIiBzdW1tYXJ5ID4gSFRNTC9zdW1tYXJ5Lm91dCAyPiBIVE1ML3N1bW1hcnkuZXJycworZGlmZiAtLWdpdCBhL3NjcmlwdHMvaHRtbC1saXN0IGIvc2NyaXB0cy9odG1sLWxpc3QKK2luZGV4IDk4NTA0NjEuLjYzODMxMTUgMTAwNzU1CistLS0gYS9zY3JpcHRzL2h0bWwtbGlzdAorKysrIGIvc2NyaXB0cy9odG1sLWxpc3QKK0BAIC0xNCw3ICsxNCw3IEBAIG9wZW4oSCwgIj5IVE1ML3NwZWNpZmljLmh0bWwiKTsKKyBwcmludCBIIDw8RU9GOworIDx0aXRsZT5MTUJFTkNIIFN5c3RlbSBSZXN1bHRzPC90aXRsZT4KKyA8aDE+TE1CRU5DSCBTeXN0ZW0gUmVzdWx0czwvaDE+CistPGgyPjxhIGhyZWY9c3VtbWFyeT5TdW1tYXJ5IG9mIHJlc3VsdHM8L2E+PC9oMj4KKys8aDI+PGEgaHJlZj1zdW1tYXJ5Lm91dD5TdW1tYXJ5IG9mIHJlc3VsdHM8L2E+PC9oMj4KKyA8aHI+CisgRU9GCisKK0BAIC00Nyw3ICs0Nyw3IEBAIGZvcmVhY2ggJG9zIChAb3MpIHsKKyAJCW9wZW4oRiwgJGZpbGUpOworIAkJJF8gPSA8Rj47CisgCQljbG9zZShGKTsKKy0JCW5leHQgdW5sZXNzIC9sbWJlbmNoMS5bMDFdLzsKKysJCW5leHQgdW5sZXNzIC9sbWJlbmNoWzAtOV0rLlswMV0vOworIAkJY2hvcDsKKyAJCSR0aXRsZSA9ICRfOworIAkJI3MvLmxtYmVuY2gxLj8gcmVzdWx0cyBmb3IgLy87CitAQCAtMTAzLDEwICsxMDMsNyBAQCBFT0YKKyAJCQkJICAgIGlmICRpIDwgJCNvczsKKyAJCQkJcHJpbnQgUzw8RU9GOworIDxoND4kdGl0bGU8L2g0PgorLTxhIGhyZWY9Li4vJGRvY3skd2hhdH0+SW5mb3JtYXRpb24gb24gdGhpcyBiZW5jaG1hcms8L2E+IChOb3QgdXAgdG8gZGF0ZSkKKyA8cD48SU1HIFNSQz0iJHt3aGF0fSR7c2NhbGV9JE4uZ2lmIj5cbjxwPgorLTxhIGhyZWY9Li4vbG1iZW5jaC5odG1sPgorLTxpbWcgYWxpZ249bWlkZGxlIHNyYz0iLi4vZ2lmcy9hcnJvd3MvYl9hcnJvdy5naWYiPkxNQkVOQ0ggdGFibGUgb2YgY29udGVudHM8L2E+CisgPGEgaHJlZj1zcGVjaWZpYy5odG1sPgorIDxpbWcgYWxpZ249bWlkZGxlIHNyYz1cIi4uL2dpZnMvZ3JhcGguZ2lmXCI+U3lzdGVtIHJlc3VsdHMgdGFibGUgb2YgY29udGVudHM8L2E+CisgPHA+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoLTMuMC1hOS9vYmV5LXJhbmxpYi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L29iZXktcmFubGliLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxYTNiMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoLTMuMC1hOS9vYmV5LXJhbmxpYi5wYXRjaApAQCAtMCwwICsxLDMwIEBACitJbiBzb21lIGNhc2VzIHRoZSBob3N0IG1heSBoYXZlIHRvbyBvbGQgb2YgYSByYW5saWIgdG8gd29yay4gIFNpbmNlIGl0J3MKK25vdCBleGFjdGx5IGEgZ3JlYXQgaWRlYSB0byBub3QgYmUgdXNpbmcgdGhlIGNyb3NzIHJhbmxpYiBhbnlob3csIGZpeCB0aGUKK01ha2VmaWxlIHNvIHdlIGNhbiBvdmVycmlkZSByYW5saWIgYW5kIHRoZW4gb3ZlcnJpZGUgaXQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtidWlsZCBzeXN0ZW0gc3BlY2lmaWMgY2hhbmdlXQorLS0tCisgc3JjL01ha2VmaWxlIHwgICAgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK0luZGV4OiBsbWJlbmNoLTMuMC1hOS9zcmMvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsbWJlbmNoLTMuMC1hOS5vcmlnL3NyYy9NYWtlZmlsZQorKysrIGxtYmVuY2gtMy4wLWE5L3NyYy9NYWtlZmlsZQorQEAgLTM4LDYgKzM4LDcgQEAgQ0M9YC4uL3NjcmlwdHMvY29tcGlsZXJgCisgTUFLRT1gLi4vc2NyaXB0cy9tYWtlYAorIEFSPWFyCisgQVJDUkVBVEU9Y3IKKytSQU5MSUI9cmFubGliCisgCisgIyBiYXNlIG9mIGluc3RhbGxhdGlvbiBsb2NhdGlvbgorIEJBU0U9L3Vzci9sb2NhbAorQEAgLTIxNyw3ICsyMTgsNyBAQCAkTy9sbWJlbmNoIDogLi4vc2NyaXB0cy9sbWJlbmNoIHZlcnNpb24uCisgJE8vbG1iZW5jaC5hOiAkKExJQk9CSlMpCisgCS9iaW4vcm0gLWYgJE8vbG1iZW5jaC5hCisgCSQoQVIpICQoQVJDUkVBVEUpICRPL2xtYmVuY2guYSAkKExJQk9CSlMpCistCS1yYW5saWIgJE8vbG1iZW5jaC5hCisrCS0kKFJBTkxJQikgJE8vbG1iZW5jaC5hCisgCisgJE8vbGliX3RpbWluZy5vIDogbGliX3RpbWluZy5jICQoSU5DUykKKyAJJChDT01QSUxFKSAtYyBsaWJfdGltaW5nLmMgLW8gJE8vbGliX3RpbWluZy5vCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoLTMuMC1hOS91cGRhdGUtY29uZmlnLXNjcmlwdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L3VwZGF0ZS1jb25maWctc2NyaXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0NmUwOWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoLTMuMC1hOS91cGRhdGUtY29uZmlnLXNjcmlwdC5wYXRjaApAQCAtMCwwICsxLDEyIEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK0luZGV4OiBsbWJlbmNoLTMuMC1hOS9zY3JpcHRzL2NvbmZpZworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxtYmVuY2gtMy4wLWE5L3NjcmlwdHMvY29uZmlnCTIwMDAtMDEtMzEgMTg6Mjk6MzEuMDAwMDAwMDAwIC0wNjAwCisrKysgbG1iZW5jaC0zLjAtYTkvc2NyaXB0cy9jb25maWcJMjAxMy0wMy0wMSAwMDoxOTo0MS4wMzI5ODQzMTUgLTA2MDAKK0BAIC0zLDUgKzMsNSBAQAorIFVOQU1FPWB1bmFtZSAtbiAyPi9kZXYvbnVsbGAKKyBpZiBbIFgkVU5BTUUgPSBYIF0KKyB0aGVuCWVjaG8gQ09ORklHCistZWxzZQllY2hvIENPTkZJRy4kVU5BTUUKKytlbHNlCWVjaG8gLi4vc2NyaXB0cy9DT05GSUcuJFVOQU1FCisgZmkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L3VwZGF0ZS1yZXN1bHRzLXNjcmlwdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L3VwZGF0ZS1yZXN1bHRzLXNjcmlwdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTRmMTQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC0zLjAtYTkvdXBkYXRlLXJlc3VsdHMtc2NyaXB0LnBhdGNoCkBAIC0wLDAgKzEsMTYwIEBACitOb3cgdGhhdCB3ZSBoYXZlIG91ciBiaW5hcmllcyBpbiAvdXNyL2JpbiByYXRoZXIgdGhhbiB0aGUgbm9ybWFsCitsbWJlbmNoIGhpZXJhcmNoeSB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgc2NyaXB0cyBhcyB3ZWxsIHRvIGJlaGF2ZSB3ZWxsIGhlcmUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbVGhpcyBpcyByZWxhdGVkIHRvIHRoZSBPRS1zcGVjaWZpYyBiZWhhdmlvcgorb2YgaW5zdGFsbGluZyBpbnRvIC91c3IvYmluLCBldGMsIHJhdGhlciB0aGFuIGR1bXBpbmcgZXZlcnl0aGluZyBpbnRvIAorL3Vzci9zaGFyZS9sbWJlbmNoIG9yIHNpbWlsYXJdCisKK0luZGV4OiBsbWJlbmNoLTMuMC1hOS9zY3JpcHRzL3Jlc3VsdHMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsbWJlbmNoLTMuMC1hOS5vcmlnL3NjcmlwdHMvcmVzdWx0cworKysrIGxtYmVuY2gtMy4wLWE5L3NjcmlwdHMvcmVzdWx0cworQEAgLTgsMTEgKzgsMTEgQEAgUkVTVUxUUz1yZXN1bHRzLyRPUworIEJBU0U9Li4vJFJFU1VMVFMvYHVuYW1lIC1uYAorIEVYVD0wCisgCistaWYgWyAhIC1mICIuLi9iaW4vJE9TLyRDT05GSUciIF0KKytpZiBbICEgLWYgIiRDT05GSUciIF0KKyB0aGVuCWVjaG8gIk5vIGNvbmZpZyBmaWxlPyIKKyAJZXhpdCAxCisgZmkKKy0uIC4uL2Jpbi8kT1MvJENPTkZJRworKy4gJENPTkZJRworIAorIGlmIFsgISAtZCAuLi8kUkVTVUxUUyBdCisgdGhlbglta2RpciAtcCAuLi8kUkVTVUxUUworQEAgLTIzLDExICsyMyw5IEBAIGRvICAgICAgRVhUPWBleHByICRFWFQgKyAxYAorIAlSRVNVTFRTPSRCQVNFLiRFWFQKKyBkb25lCisgCistY2QgLi4vYmluLyRPUyAKKy1QQVRIPS46JHtQQVRIfTsgZXhwb3J0IFBBVEgKKyBleHBvcnQgU1lOQ19NQVgKKyBleHBvcnQgT1VUUFVUCistbG1iZW5jaCAkQ09ORklHIDI+Li4vJHtSRVNVTFRTfQorK2xtYmVuY2ggJENPTkZJRyAyPiR7UkVTVUxUU30KKyAKKyBpZiBbIFgkTUFJTCA9IFh5ZXMgXQorIHRoZW4JZWNobyBNYWlsaW5nIHJlc3VsdHMKK0luZGV4OiBsbWJlbmNoLTMuMC1hOS9zY3JpcHRzL2NvbmZpZy1ydW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsbWJlbmNoLTMuMC1hOS5vcmlnL3NjcmlwdHMvY29uZmlnLXJ1bgorKysrIGxtYmVuY2gtMy4wLWE5L3NjcmlwdHMvY29uZmlnLXJ1bgorQEAgLTEzMiwyMCArMTMyLDIwIEBAIGV4cG9ydCBMTUJFTkNIX1NDSEVECisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIGVjaG8gJEw7IGVjaG8gIiI7CisgZWNobyAiSGFuZyBvbiwgd2UgYXJlIGNhbGN1bGF0aW5nIHlvdXIgdGltaW5nIGdyYW51bGFyaXR5LiIKKy0uLi9iaW4vJE9TL21zbGVlcCAyNTAKKy1FTk9VR0g9YC4uL2Jpbi8kT1MvZW5vdWdoYAorK21zbGVlcCAyNTAKKytFTk9VR0g9YGVub3VnaGAKKyBleHBvcnQgRU5PVUdIIAorIGVjaG8gIk9LLCBpdCBsb29rcyBsaWtlIHlvdSBjYW4gdGltZSBzdHVmZiBkb3duIHRvICRFTk9VR0ggdXNlYyByZXNvbHV0aW9uLiIKKyBlY2hvICIiCisgZWNobyAiSGFuZyBvbiwgd2UgYXJlIGNhbGN1bGF0aW5nIHlvdXIgdGltaW5nIG92ZXJoZWFkLiIKKy0uLi9iaW4vJE9TL21zbGVlcCAyNTAKKy1USU1JTkdfTz1gLi4vYmluLyRPUy90aW1pbmdfb2AKKyttc2xlZXAgMjUwCisrVElNSU5HX089YHRpbWluZ19vYAorIGV4cG9ydCBUSU1JTkdfTworIGVjaG8gIk9LLCBpdCBsb29rcyBsaWtlIHlvdXIgZ2V0dGltZW9mZGF5KCkgY29zdHMgJFRJTUlOR19PIHVzZWNzLiIKKyBlY2hvICIiCisgZWNobyAiSGFuZyBvbiwgd2UgYXJlIGNhbGN1bGF0aW5nIHlvdXIgbG9vcCBvdmVyaGVhZC4iCistLi4vYmluLyRPUy9tc2xlZXAgMjUwCistTE9PUF9PPWAuLi9iaW4vJE9TL2xvb3Bfb2AKKyttc2xlZXAgMjUwCisrTE9PUF9PPWBsb29wX29gCisgZXhwb3J0IExPT1BfTworIGVjaG8gIk9LLCBpdCBsb29rcyBsaWtlIHlvdXIgYmVuY2htYXJrIGxvb3AgY29zdHMgJExPT1BfTyB1c2Vjcy4iCisgZWNobyAiIgorQEAgLTE3Nyw3ICsxNzcsNyBAQCB0aGVuCisgZmkKKyBpZiBbIFgkTUIgPSBYIF0KKyB0aGVuCSRFQ0hPTiAiUHJvYmluZyBzeXN0ZW0gZm9yIGF2YWlsYWJsZSBtZW1vcnk6ICRFQ0hPQyIKKy0JTUI9YC4uL2Jpbi8kT1MvbWVtc2l6ZSA0MDk2YAorKwlNQj1gbWVtc2l6ZSA0MDk2YAorIGZpCisgVE9UQUxfTUVNPSRNQgorIE1CPWBlY2hvIFwoICRNQiBcKiA3IFwpIC8gMTAgfCBiYyAyPi9kZXYvbnVsbGAKK0BAIC0yMDUsOSArMjA1LDkgQEAgZmkKKyAjIENlcnRhaW4gbWFjaGluZXMgdGVuZCB0byBiYXJmIHdoZW4geW91IHRyeSBhbmQgYmNvcHkgOE1CLgorICMgRmlndXJlIG91dCBob3cgbXVjaCB3ZSBjYW4gdXNlLgorIGVjaG8gIkNoZWNraW5nIHRvIHNlZSBpZiB5b3UgaGF2ZSAkTUIgTUI7IHBsZWFzZSB3YWl0IGZvciBhIG1vbWVudC4uLiIKKy1NQj1gLi4vYmluLyRPUy9tZW1zaXplICRNQmAKKy1NQj1gLi4vYmluLyRPUy9tZW1zaXplICRNQmAKKy1NQj1gLi4vYmluLyRPUy9tZW1zaXplICRNQmAKKytNQj1gbWVtc2l6ZSAkTUJgCisrTUI9YG1lbXNpemUgJE1CYAorK01CPWBtZW1zaXplICRNQmAKKyBpZiBbIGBleHByICRTWU5DX01BWCBcKiAkTUJgIC1ndCBgZXhwciAkVE9UQUxfTUVNYCBdCisgdGhlbgorIAlNQj1gZXhwciAkVE9UQUxfTUVNIC8gJFNZTkNfTUFYYAorQEAgLTIyMyw4ICsyMjMsOCBAQCB0aGVuCWVjaG8gV2FybmluZzogeW91IGhhdmUgb25seSAke01CfU1CCisgZmkKKyAKKyBlY2hvICJIYW5nIG9uLCB3ZSBhcmUgY2FsY3VsYXRpbmcgeW91ciBjYWNoZSBsaW5lIHNpemUuIgorLS4uL2Jpbi8kT1MvbXNsZWVwIDI1MAorLUxJTkVfU0laRT1gLi4vYmluLyRPUy9sbV9saW5lIC1NICR7TUJ9TWAKKyttc2xlZXAgMjUwCisrTElORV9TSVpFPWBsbV9saW5lIC1NICR7TUJ9TWAKKyBleHBvcnQgTElORV9TSVpFCisgZWNobyAiT0ssIGl0IGxvb2tzIGxpa2UgeW91ciBjYWNoZSBsaW5lIGlzICRMSU5FX1NJWkUgYnl0ZXMuIgorIGVjaG8gIiIKK0BAIC00NzksNyArNDc5LDcgQEAgRU9GCisgCXRoZW4JCisgCQlmb3IgaSBpbiAkZGlza3MKKyAJCWRvCWlmIFsgLXIgJGkgXQorLQkJCXRoZW4JLi4vYmluLyRPUy9mbHVzaGRpc2sgJGkKKysJCQl0aGVuCWZsdXNoZGlzayAkaQorIAkJCQlpZiBbICQ/IC1lcSAxIF0KKyAJCQkJdGhlbgllY2hvICJNdXN0IGJlIHJvb3QgdG8gcnVuIGRpc2sgYmVuY2htYXJrcy4iCisgCQkJCQllY2hvICJSb290IGlzIG5lZWRlZCB0byBmbHVzaCB0aGUgYnVmZmVyIGNhY2hlIgorQEAgLTU4NCw3ICs1ODQsNyBAQCBmaQorIGVjaG8gJEwKKyBlY2hvICIiCisgZWNobyAiQ2FsY3VsYXRpbmcgbWh6LCBwbGVhc2Ugd2FpdCBmb3IgYSBtb21lbnQuLi4iCistTUhaPWAuLi9iaW4vJE9TL21oemAKKytNSFo9YG1oemAKKyBjYXQ8PEVPRgorIEkgdGhpbmsgeW91ciBDUFUgbWh6IGlzIAorIAorQEAgLTY4OSw5ICs2ODksOSBAQCBlc2FjCisgCisgSU5GTz1gLi4vc2NyaXB0cy9pbmZvYAorIGlmIFsgJE1BSUwgPSB5ZXMgXQorLXRoZW4JaWYgWyAhIC1mIC4uL2Jpbi8kT1MvJElORk8gXQorLQl0aGVuCWNwIC4uL3NjcmlwdHMvaW5mby10ZW1wbGF0ZSAuLi9iaW4vJE9TLyRJTkZPCistCQljaG1vZCArdyAuLi9iaW4vJE9TLyRJTkZPCisrdGhlbglpZiBbICEgLWYgJElORk8gXQorKwl0aGVuCWNwIC4uL3NjcmlwdHMvaW5mby10ZW1wbGF0ZSAkSU5GTworKwkJY2htb2QgK3cgJElORk8KKyAJCVJFVVNFPW5vCisgCWVsc2UJCisgCQlSRVVTRT12aWV3CitAQCAtNzA1LDcgKzcwNSw3IEBAIHRoZW4JaWYgWyAhIC1mIC4uL2Jpbi8kT1MvJElORk8gXQorIAkJCQk7OworIAkJCVtWdl0qKQlSRVVTRT12aWV3CisgCQkJCWVjaG8gJEwKKy0JCQkJbW9yZSAuLi9iaW4vJE9TLyRJTkZPCisrCQkJCW1vcmUgJElORk8KKyAJCQkJZWNobyAkTAorIAkJCQk7OworIAkgICAgCQkqKQlSRVVTRT15ZXMKK0BAIC03MzMsNyArNzMzLDcgQEAgRU9GCisgCQl0aGVuCUVESVRPUj0kVE1QCisgCQlmaQorIAkJaWYgWyBYJEVESVRPUiAhPSAibm9uZSIgXQorLQkJdGhlbgkkRURJVE9SIC4uL2Jpbi8kT1MvYC4uL3NjcmlwdHMvaW5mb2AKKysJCXRoZW4JJEVESVRPUiBgLi4vc2NyaXB0cy9pbmZvYAorIAkJZmkKKyAJZmkKKyBmaQorQEAgLTc1MCw3ICs3NTAsNyBAQCBFT0YKKyAKKyBWRVJTSU9OPWAuLi9zY3JpcHRzL3ZlcnNpb25gCisgCistQz0uLi9iaW4vJE9TL2AuLi9zY3JpcHRzL2NvbmZpZ2AKKytDPWAuLi9zY3JpcHRzL2NvbmZpZ2AKKyBlY2hvIERJU0tTPVwiJERJU0tTXCIgPiAkQworIGVjaG8gRElTS19ERVNDPVwiJERJU0tfREVTQ1wiID4+ICRDCisgZWNobyBPVVRQVVQ9JE9VVFBVVCA+PiAkQwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC0zLjAtYTkvdXNlLWJhc2VfbGliZGlyLWluc3RlYWQtb2YtaGFyZGNvZGVkLWxpYi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L3VzZS1iYXNlX2xpYmRpci1pbnN0ZWFkLW9mLWhhcmRjb2RlZC1saWIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM1MWNlOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gtMy4wLWE5L3VzZS1iYXNlX2xpYmRpci1pbnN0ZWFkLW9mLWhhcmRjb2RlZC1saWIucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSAwZDA5ZTMxOTcwNjE2ZTA5YmViN2YyMzhjMmI1OWJmYzU0MTE0OGZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVGluZyBMaXUgPGIyODQ5NUBmcmVlc2NhbGUuY29tPgorRGF0ZTogRnJpLCAyMiBOb3YgMjAxMyAxNToyMDowOCArMDgwMAorU3ViamVjdDogW1BBVENIXSB1c2UgYmFzZV9saWJkaXIgaW5zdGVhZCBvZiBoYXJkY29kZWQgL2xpYgorCitVcHN0ZWFtIFN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogVGluZyBMaXUgPGIyODQ5NUBmcmVlc2NhbGUuY29tPgorLS0tCisgc3JjL01ha2VmaWxlIHwgICAgNCArKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUgYi9zcmMvTWFrZWZpbGUKK2luZGV4IGM3YThjNzkuLmM3ZTRlM2MgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUKKysrKyBiL3NyYy9NYWtlZmlsZQorQEAgLTE0MywxMCArMTQzLDEwIEBAIGluc3RhbGwtdGFyZ2V0OgorIAlpZiBbICEgLWQgJChCQVNFKSBdOyB0aGVuIG1rZGlyICQoQkFTRSk7IGZpCisgCWlmIFsgISAtZCAkKEJBU0UpL2JpbiBdOyB0aGVuIG1rZGlyICQoQkFTRSkvYmluOyBmaQorIAlpZiBbICEgLWQgJChCQVNFKS9pbmNsdWRlIF07IHRoZW4gbWtkaXIgJChCQVNFKS9pbmNsdWRlOyBmaQorLQlpZiBbICEgLWQgJChCQVNFKS9saWIgXTsgdGhlbiBta2RpciAkKEJBU0UpL2xpYjsgZmkKKysJaWYgWyAhIC1kICQoQkFTRSkkKGJhc2VfbGliZGlyKSBdOyB0aGVuIG1rZGlyICQoQkFTRSkkKGJhc2VfbGliZGlyKTsgZmkKKyAJY3AgJChFWEVTKSAkKEJBU0UpL2JpbgorIAljcCAkKElOQ1MpICQoQkFTRSkvaW5jbHVkZQorLQljcCAkTy9sbWJlbmNoLmEgJChCQVNFKS9saWIvbGlibWJlbmNoLmEKKysJY3AgJE8vbG1iZW5jaC5hICQoQkFTRSkkKGJhc2VfbGliZGlyKQorIAljZCAuLi9kb2M7IGVudiBNQUtFRkxBR1M9IiQoTUFLRUZMQUdTKSIgbWFrZSBDQz0iJHtDQ30iIE9TPSIke09TfSIgQkFTRT0iJChCQVNFKSIgaW5zdGFsbAorIAorIAorLS0gCisxLjcuNS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gvMDAwMS1hdm9pZC1nY2Mtb3B0aW1pemUtYXdheS10aGUtbG9vcHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoLzAwMDEtYXZvaWQtZ2NjLW9wdGltaXplLWF3YXktdGhlLWxvb3BzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkOGEyNDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoLzAwMDEtYXZvaWQtZ2NjLW9wdGltaXplLWF3YXktdGhlLWxvb3BzLnBhdGNoCkBAIC0wLDAgKzEsNzkgQEAKK1tQQVRDSF0gYXZvaWQgZ2NjIG9wdGltaXplLWF3YXkgdGhlIGxvb3BzCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitDaGFuZ2UgZXhwcmVzc2lvbiB1c2VkIGluIGRvX2ludGVnZXJfbXVsIGFuZCBkb191aW50NjRfbXVsCitiZW5jaG1hcmtzIHNvIEdDQyBkb2Vzbid0IG9wdGltaXplLWF3YXkgdGhlIGxvb3BzLCBvdGhlcgordGhpbmdzIGFyZSBzYW1lOgorLSAgICAgICAgICAgICAgIFRFTihyICo9IHM7KTsgciAtPSB0OworKyAgICAgICAgICAgICAgIGkgPSAwOworKyAgICAgICAgICAgICAgIHdoaWxlICggaSsrIDwgMTApCisrICAgICAgICAgICAgICAgICAgICAgICByICo9IHM7CisrICAgICAgICAgICAgICAgciAtPSB0OworCithbmQgVEVOIGlzIG1hY3JvOgorCSNkZWZpbmUgVEVOKGEpIGEgYSBhIGEgYSBhIGEgYSBhIGEKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2xhdF9vcHMuYyB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2xhdF9vcHMuYyBiL3NyYy9sYXRfb3BzLmMKK2luZGV4IGQzNDNmZjMuLjQ1NzA3MmIgMTAwNjQ0CistLS0gYS9zcmMvbGF0X29wcy5jCisrKysgYi9zcmMvbGF0X29wcy5jCitAQCAtMTI2LDExICsxMjYsMjMgQEAgZG9faW50ZWdlcl9tdWwoaXRlcl90IGl0ZXJhdGlvbnMsIHZvaWQqIGNvb2tpZSkKKyAJc3RydWN0IF9zdGF0ZSAqcFN0YXRlID0gKHN0cnVjdCBfc3RhdGUqKWNvb2tpZTsKKyAJcmVnaXN0ZXIgaW50IHIgPSBwU3RhdGUtPk4gKyAzNzQzMTsKKyAJcmVnaXN0ZXIgaW50IHMgPSBwU3RhdGUtPk4gKyA0OworLQlyZWdpc3RlciBpbnQgdCA9IHIgKiBzICogcyAqIHMgKiBzICogcyAqIHMgKiBzICogcyAqIHMgKiBzIC0gcjsKKysJcmVnaXN0ZXIgaW50IHQgPSByOworKwlpbnQgaSA9IDA7CisrCisrCXdoaWxlICggaSsrIDwgMTApCisrCQl0ICo9IHM7CisrCXQgLT0gcjsKKyAKKyAJd2hpbGUgKGl0ZXJhdGlvbnMtLSA+IDApIHsKKy0JCVRFTihyICo9IHM7KTsgciAtPSB0OworLQkJVEVOKHIgKj0gczspOyByIC09IHQ7CisrCQlpID0gMDsKKysJCXdoaWxlICggaSsrIDwgMTApCisrCQkJciAqPSBzOworKwkJciAtPSB0OworKworKwkJaSA9IDA7CisrCQl3aGlsZSAoIGkrKyA8IDEwKQorKwkJCXIgKj0gczsKKysJCXIgLT0gdDsKKyAJfQorIAl1c2VfaW50KHIpOworIH0KK0BAIC0yMDcsMTMgKzIxOSwyMSBAQCBkb19pbnQ2NF9tdWwoaXRlcl90IGl0ZXJhdGlvbnMsIHZvaWQqIGNvb2tpZSkKKyAJcmVnaXN0ZXIgaW50NjQgciA9IChpbnQ2NClwU3RhdGUtPk4gKyAzNzQyMDsKKyAJcmVnaXN0ZXIgaW50NjQgcyA9IChpbnQ2NClwU3RhdGUtPk4gKyA0OworIAlyZWdpc3RlciBpbnQ2NCB0OworKwlpbnQgaSA9IDA7CisgCisgCXIgKz0gKGludDY0KShwU3RhdGUtPk4gKyA2KTw8MzI7CisgCXQgPSByICogcyAqIHMgKiBzICogcyAqIHMgKiBzICogcyAqIHMgKiBzICogcyAtIHI7CisgCisgCXdoaWxlIChpdGVyYXRpb25zLS0gPiAwKSB7CistCQlURU4ociAqPSBzOyk7IHIgLT0gdDsKKy0JCVRFTihyICo9IHM7KTsgciAtPSB0OworKwkJaSA9IDA7CisrCQl3aGlsZSAoIGkrKyA8IDEwKQorKwkJCXIgKj0gczsKKysJCXIgLT0gdDsKKysKKysJCWkgPSAwOworKwkJd2hpbGUgKCBpKysgPCAxMCkKKysJCQlyICo9IHM7CisrCQlyIC09IHQ7CisgCX0KKyAJdXNlX2ludCgoaW50KXIpOworIH0KKy0tIAorMi44LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC9sbWJlbmNoLXJ1biBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gvbG1iZW5jaC1ydW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkwNGM3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2gvbG1iZW5jaC1ydW4KQEAgLTAsMCArMSwyMyBAQAorIyEvYmluL3NoCisjIFdyYXBwZXIgc2NyaXB0IGZvciBsbWJlbmNoIHdyaXR0ZW4gZm9yIHRoZSAKKyMgRGViaWFuIEdOVS9MaW51eCBkaXN0cmlidXRpb24gYnkgCisjIEphdmllciBGZXJuYW5kZXotU2FuZ3Vpbm8uCisjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHUEwKK1NIQVJFRElSPS91c3Ivc2hhcmUvbG1iZW5jaC8KK0JJTkRJUj0vdXNyL2xpYi9sbWJlbmNoLworU0NSSVBUU0RJUj0kU0hBUkVESVIvc2NyaXB0cworUkVTVUxUU0RJUj0kU0hBUkVESVIvcmVzdWx0cworQ09ORklHPS92YXIvbGliL2xtYmVuY2gvY29uZmlnL2AkU0NSSVBUU0RJUi9jb25maWdgCitydW51aWQ9YGlkIC11YAorCitbICRydW51aWQgLWd0IDAgXSAmJiB7CisJZWNobyAiWW91IG11c3QgcnVuIHRoaXMgYXMgdGhlIHJvb3QgdXNlciIKKwlleGl0IDAKK30KK2NkICRTQ1JJUFRTRElSIAorWyAhIC1mICRDT05GSUcgXSAmJiAuL2NvbmZpZy1ydW4KKy4vcmVzdWx0cworCitlY2hvICJCZW5jaG1hcmsgcnVuIGZpbmlzaGVkLi4uLiIKK2VjaG8gIlJlbWVtYmVyIHlvdSBjYW4gZmluZCB0aGUgcmVzdWx0cyBvZiB0aGUgYmVuY2htYXJrICIKK2VjaG8gInVuZGVyICRSRVNVTFRTRElSIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC9yZW5hbWUtbGluZS1iaW5hcnkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoL3JlbmFtZS1saW5lLWJpbmFyeS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTQwNTIxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xtYmVuY2gvbG1iZW5jaC9yZW5hbWUtbGluZS1iaW5hcnkucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorQm90aCBsbWJlbmNoIGFuZCB1dGlsLWxpbnV4LW5nIHBhY2thZ2VzIHByb3ZpZGUgb3duIC91c3IvYmluL2xpbmUgYmluYXJpZXMuCitFdmVuIHRob3VnaCB0aGUgYmluYXJpZXMgbmFtZSBpcyB0aGUgc2FtZSwgdGhlaXIgZnVuY3Rpb25hbGl0eSBpcyBkaWZmZXJlbnQuCitUaGlzIHBhdGNoIHJlbmFtZXMgbG1iZW5jaCdzIGxpbmUgYmluYXJ5IGFzIGxtX2xpbmUgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGgKK3V0aWwtbGludXgtbmcuICBzY3JpcHQvY29uZmlnLXJ1biBpcyBhbHNvIG1vZGlmaWVkIChwYXRjaCkgdG8gY2FsbCBsbV9saW5lCitpbnN0ZWFkIG9mIGxpbmUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbYnVpbGQgc3lzdGVtIHNwZWNpZmljIGNoYW5nZV0KKworLS0tIHBhdGNoZXMvc2NyaXB0cy9jb25maWctcnVuCTIwMDYtMTEtMjYgMTU6MTE6MDQuMDAwMDAwMDAwIC0wNTAwCisrKysgcGF0Y2hlcy9zY3JpcHRzL2NvbmZpZy1ydW4JMjAxMS0wNC0wMSAwOTozNTo1MC4wMDAwMDAwMDAgLTA0MDAKK0BAIC0yMjQsNyArMjI0LDcgQEAgZmkKKyAKKyBlY2hvICJIYW5nIG9uLCB3ZSBhcmUgY2FsY3VsYXRpbmcgeW91ciBjYWNoZSBsaW5lIHNpemUuIgorIC4uL2Jpbi8kT1MvbXNsZWVwIDI1MAorLUxJTkVfU0laRT1gLi4vYmluLyRPUy9saW5lIC1NICR7TUJ9TWAKKytMSU5FX1NJWkU9YC4uL2Jpbi8kT1MvbG1fbGluZSAtTSAke01CfU1gCisgZXhwb3J0IExJTkVfU0laRQorIGVjaG8gIk9LLCBpdCBsb29rcyBsaWtlIHlvdXIgY2FjaGUgbGluZSBpcyAkTElORV9TSVpFIGJ5dGVzLiIKKyBlY2hvICIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoXzMuMC1hOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9sbWJlbmNoL2xtYmVuY2hfMy4wLWE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2MjM4OWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbG1iZW5jaC9sbWJlbmNoXzMuMC1hOS5iYgpAQCAtMCwwICsxLDc5IEBACitTVU1NQVJZID0gIlRvb2xzIGZvciBwZXJmb3JtYW5jZSBhbmFseXNpcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9sbWJlbmNoLnNvdXJjZWZvcmdlLm5ldC8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyICYgR1BMLTIuMC13aXRoLWxtYmVuY2gtcmVzdHJpY3Rpb24iCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04Y2E0M2NiYzg0MmMyMzM2ZTgzNTkyNmMyMTY2YzI4YiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLTI7bWQ1PThlOWFlZTJjY2M3NWQ2MWQxMDdlNDM3OTRhMjVjZGY5IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUFIgPSAicjIiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2xtYmVuY2gvbG1iZW5jaC0ke1BWfS50Z3ogXAorICAgICAgICAgICBmaWxlOi8vbG1iZW5jaC1ydW4gXAorICAgICAgICAgICBmaWxlOi8vcmVuYW1lLWxpbmUtYmluYXJ5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3VwZGF0ZS1yZXN1bHRzLXNjcmlwdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9vYmV5LXJhbmxpYi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly91cGRhdGUtY29uZmlnLXNjcmlwdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly91c2UtYmFzZV9saWJkaXItaW5zdGVhZC1vZi1oYXJkY29kZWQtbGliLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xtYmVuY2hfcmVzdWx0X2h0bWxfcmVwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1sbWJlbmNoLW1lbW9yeS1jaGVjay1mYWlsdXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYXZvaWQtZ2NjLW9wdGltaXplLWF3YXktdGhlLWxvb3BzLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiMzM1MWEzMjk0ZGI2NmE3MmUyODY0YTE5OWQzN2NiZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYmQ1Nzc3ZDE1ZjQ0ZWFiNzY2NmRjYWM0MTgwNTRjM2MwOWRmOTk4MjY5NjFhMzk3ZDlhY2Y0M2Q4YTJhNTUxIgorCitFWFRSQV9PRU1BS0UgPSAnQ0M9IiR7Q0N9IiBBUj0iJHtBUn0iIFJBTkxJQj0iJHtSQU5MSUJ9IiBDRkxBR1M9IiR7Q0ZMQUdTfSIgXAorICAgICAgICAgICAgICAgIExERkxBR1M9IiR7TERGTEFHU30iIExEPSIke0xEfSIgT1M9IiR7VEFSR0VUX1NZU30iIFwKKyAgICAgICAgICAgICAgICBUQVJHRVQ9IiR7VEFSR0VUX09TfSIgQkFTRT0iJHtwcmVmaXh9IiBNQU5ESVI9IiR7bWFuZGlyfSInCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICA6Cit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIC4gJHtDT05GSUdfU0lURX0KKyAgICBpZiBbIFgiJGFjX2N2X3VpbnQiID0gWCJ5ZXMiIF07IHRoZW4KKyAgICAgICAgQ0ZMQUdTPSIke0NGTEFHU30gLURIQVZFX3VpbnQiCisgICAgZmkKKyAgICBpbnN0YWxsIC1kICR7U30vYmluLyR7VEFSR0VUX1NZU30KKyAgICBvZV9ydW5tYWtlIC1DIHNyYworfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzIFwKKyAgICAgICAgICAgJHtEfSR7YmluZGlyfSAke0R9JHttYW5kaXJ9ICR7RH0ke2xpYmRpcn0vbG1iZW5jaCBcCisgICAgICAgICAgICR7RH0ke2RhdGFkaXJ9L2xtYmVuY2gvc2NyaXB0cworCisgICAgZWNobyAiZCByb290IHJvb3QgMDc1NSAke2xvY2Fsc3RhdGVkaXJ9L3J1bi8ke0JQTn0gbm9uZSIgXAorICAgICAgICAgICA+ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk5X2xtYmVuY2gKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKyAgICAgICAgZWNobyAiZCAvcnVuLyR7QlBOfSAtIC0gLSAtIiBcCisgICAgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9sbWJlbmNoLmNvbmYKKyAgICBmaQorCisgICAgb2VfcnVubWFrZSBCQVNFPSIke0R9JHtwcmVmaXh9IiBNQU5ESVI9IiR7RH0ke21hbmRpcn0iIFwKKyAgICAgICAgICAgIC1DIHNyYyBpbnN0YWxsCisgICAgbXYgJHtEfSR7YmluZGlyfS9saW5lICR7RH0ke2JpbmRpcn0vbG1fbGluZQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2xtYmVuY2gtcnVuICR7RH0ke2JpbmRpcn0vCisgICAgc2VkIC1pIC1lICdzLF5TSEFSRURJUj0uKiQsU0hBUkVESVI9JHtkYXRhZGlyfS8ke0JQTn0sOycgXAorICAgICAgICAgICAtZSAncyxeQklORElSPS4qJCxCSU5ESVI9JHtsaWJkaXJ9LyR7QlBOfSw7JyBcCisgICAgICAgICAgIC1lICdzLF5DT05GSUc9LiokLENPTkZJRz1gJFNDUklQVFNESVIvY29uZmlnYCw7JyBcCisgICAgICAgICAgICR7RH0ke2JpbmRpcn0vbG1iZW5jaC1ydW4KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9zY3JpcHRzL2xtYmVuY2ggJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3NjcmlwdHMvKiAke0R9JHtkYXRhZGlyfS9sbWJlbmNoL3NjcmlwdHMKK30KKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKyAgICBpZiBbIC16ICIkRCIgXTsgdGhlbgorICAgICAgICBpZiBjb21tYW5kIC12IHN5c3RlbWQtdG1wZmlsZXMgPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICAgICAgc3lzdGVtZC10bXBmaWxlcyAtLWNyZWF0ZSAke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvbG1iZW5jaC5jb25mCisgICAgICAgIGVsaWYgWyAtZSAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCBdOyB0aGVuCisgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKKyAgICAgICAgZmkKKyAgICBmaQorfQorCitSREVQRU5EU18ke1BOfSA9ICJwZXJsIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vbG1iZW5jaCAke2xpYmRpcn0vbG1iZW5jaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9tZW10ZXN0ZXIvZmlsZXMvTWFrZWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbWVtdGVzdGVyL2ZpbGVzL01ha2VmaWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3MWU1MmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbWVtdGVzdGVyL2ZpbGVzL01ha2VmaWxlLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gOWE5NTBiMTRiOWY3NzY3ZDgzZTVmYWFjMmUxZTgyMDNjNTAwZTJjMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvZCBXaGl0YnkgPHJvZEB3aGl0YnkuaWQuYXU+CitEYXRlOiBUdWUsIDI1IE9jdCAyMDExIDE4OjQzOjUwIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1lbXRlc3RlcjogQWRkZWQgcGF0Y2ggdG8gTWFrZWZpbGUgdG8gY2hhbmdlIG5vLWxvbmdlci1zdXBwb3J0ZWQgJ2hlYWQgLTEnIHN5bnRheCB0byAnaGVhZCAtbiAxJy4KKworU2lnbmVkLW9mZi1ieTogSm9lbCBBIEZlcm5hbmRlcyA8am9lbGFnbmVsQHRpLmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgICAgNCArKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCBhMjcxYmY1Li42YmNjZmYzIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMzIsOCArMzIsOCBAQCBpbnN0YWxsOiBhbGwKKyBhdXRvLWNjbGQuc2g6IFwKKyBjb25mLWNjIGNvbmYtbGQgd2Fybi1hdXRvLnNoCisgCSggY2F0IHdhcm4tYXV0by5zaDsgXAorLQllY2hvIENDPVwnYGhlYWQgLTEgY29uZi1jY2BcJzsgXAorLQllY2hvIExEPVwnYGhlYWQgLTEgY29uZi1sZGBcJyBcCisrCWVjaG8gQ0M9XCdgaGVhZCAtbiAxIGNvbmYtY2NgXCc7IFwKKysJZWNobyBMRD1cJ2BoZWFkIC1uIDEgY29uZi1sZGBcJyBcCisgCSkgPiBhdXRvLWNjbGQuc2gKKyAKKyBjb21waWxlOiBcCistLSAKKzEuNy4wLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL21lbXRlc3Rlci9tZW10ZXN0ZXJfNC4zLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbWVtdGVzdGVyL21lbXRlc3Rlcl80LjMuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTY0YzA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL21lbXRlc3Rlci9tZW10ZXN0ZXJfNC4zLjAuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJVdGlsaXR5IHRvIHRlc3QgZm9yIGZhdWx0eSBtZW1vcnkgc3Vic3lzdGVtIgorSE9NRVBBR0UgPSAiaHR0cDovL3B5cm9wdXMuY2Evc29mdHdhcmUvbWVtdGVzdGVyLyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitTUkNfVVJJID0gImh0dHA6Ly9weXJvcHVzLmNhL3NvZnR3YXJlL21lbXRlc3Rlci9vbGQtdmVyc2lvbnMvJHtCUH0udGFyLmd6IgorU1JDX1VSSSArPSAiZmlsZTovL01ha2VmaWxlLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTk4ZjQxYjczMDhlMWY3MzYxNjRiY2EzYWI4NGRkYmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjlkZmUyZmQ3MzdjMzhmYWQ2NTM1YmJhYjMyN2RhOWEyMWY3Y2U0ZWE2ZjE4YzdiMzMzOWFkZWY2YmY1ZmQ4OCIKKworZG9fY29tcGlsZSAoKSB7CisgICAgZWNobyAnJHtDQ30gJHtDRkxBR1N9IC1EUE9TSVggLWMnID4gY29uZi1jYworICAgIGVjaG8gJyR7Q0N9ICR7TERGTEFHU30nID4gY29uZi1sZAorICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1tIDA3NTUgbWVtdGVzdGVyICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1IG1lbXRlc3Rlci44ICR7RH0ke21hbmRpcn0vbWFuOC8KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZS9NYWtlZmlsZS1hZGQtbW9yZS1kZXBlbmRlbmNpZXMtdG8tcG9pbnRlci5oLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL25iZW5jaC1ieXRlL25iZW5jaC1ieXRlL01ha2VmaWxlLWFkZC1tb3JlLWRlcGVuZGVuY2llcy10by1wb2ludGVyLmgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJkYjQzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZS9NYWtlZmlsZS1hZGQtbW9yZS1kZXBlbmRlbmNpZXMtdG8tcG9pbnRlci5oLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK01ha2VmaWxlOiBhZGQgbW9yZSBkZXBlbmRlbmNpZXMgdG8gcG9pbnRlci5oCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbm8gdXBzdHJlYW1dCisKK1NpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CistLS0KKyBNYWtlZmlsZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDkxNTg2NmQuLmVkZDllYTIgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xMjIsNyArMTIyLDcgQEAgZW1mbG9hdC5vOiBlbWZsb2F0LmggZW1mbG9hdC5jIG5tZ2xvYmFsLmggcG9pbnRlci5oIE1ha2VmaWxlCisgcG9pbnRlci5oOiBNYWtlZmlsZQorIAl0b3VjaCBwb2ludGVyLmggOworIAorLW1pc2MubzogbWlzYy5oIG1pc2MuYyBNYWtlZmlsZQorK21pc2MubzogbWlzYy5oIG1pc2MuYyBubWdsb2JhbC5oIHBvaW50ZXIuaCBNYWtlZmlsZQorIAkkKENDKSAkKE1BQ0hJTkUpICQoREVGSU5FUykgJChDRkxBR1MpXAorIAkJLWMgbWlzYy5jCisgCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZS9uYmVuY2hfMzJiaXRzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL25iZW5jaC1ieXRlL25iZW5jaC1ieXRlL25iZW5jaF8zMmJpdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWI4YTRkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZS9uYmVuY2hfMzJiaXRzLnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKK0Zyb20gODFmNDA0M2E2Nzg3MDYwMDI5ZWYyMGVlZDIxY2RjZjNlNTAzMzdkZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYXNlIE1hdXBpbiA8Q2hhc2UuTWF1cGluQHRpLmNvbT4KK0RhdGU6IFR1ZSwgMjggRmViIDIwMTIgMTQ6NTg6MzUgLTA2MDAKK1N1YmplY3Q6IFtQQVRDSF0gbmJlbmNoOiBtb2RpZnkgTWFrZWZpbGUgZm9yIDMyYml0CisKKyogUGF0Y2ggdGFrZW4gZnJvbSBPRSBjbGFzc2ljIGdpdCByZXBvc2l0b3J5IGFzIG9mIGNvbW1pdCBpZAorICBhZDQyYmY5MDY1OTI4YjI5MDJkN2Q5NTM0NzA5ZDNjY2VhN2VjOTU2IGFuZCB3YXMgYWRkZWQgYnk6CisgICAgKiBNYXJjaW4gSnVzemtpZXdpY3ogPG1hcmNpbkBqdXN6a2lld2ljei5jb20ucGw+CisqIE5vdGVzIGZyb20gb3JpZ2luYWwgcGF0Y2ggd2VyZToKKworQllURSBNYWdhemluZSdzIG5hdGl2ZSBiZW5jaG1hcmtzIChhbHNvIGNhbGxlZCBCWVRFbWFyaykgZGVzaWduZWQgdG8KK2V4cG9zZSB0aGUgY2FwYWJpbGl0aWVzIG9mIGEgc3lzdGVtJ3MgQ1BVLCBGUFUgYW5kIG1lbW9yeSBzeXN0ZW0uCisKK2h0dHA6Ly93d3cudHV4Lm9yZy9+bWF5ZXIvbGludXgvCisKK1JlY2lwZSBmcm9tIG9sZCBBdG1lbCBvdmVybGF5LgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vIHVwc3RyZWFtXQorCitTaWduZWQtb2ZmLWJ5OiBDaGFzZSBNYXVwaW4gPGNoYXNlLm1hdXBpbkB0aS5jb20+CistLS0KKyBNYWtlZmlsZSB8ICAgIDggKystLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDUwNDVjNzcuLjkxNTg2NmQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xMTksMTIgKzExOSw4IEBAIGVtZmxvYXQubzogZW1mbG9hdC5oIGVtZmxvYXQuYyBubWdsb2JhbC5oIHBvaW50ZXIuaCBNYWtlZmlsZQorIAkkKENDKSAkKE1BQ0hJTkUpICQoREVGSU5FUykgJChDRkxBR1MpXAorIAkJLWMgZW1mbG9hdC5jCisgCistcG9pbnRlci5oOiBwb2ludGVyIE1ha2VmaWxlCistCSQoQ0MpICQoTUFDSElORSkgJChERUZJTkVTKSAkKENGTEFHUylcCistCQktbyBwb2ludGVyIHBvaW50ZXIuYworLQlybSAtZiBwb2ludGVyLmgKKy0JaWYgWyAiNCIgPSBgLi9wb2ludGVyYCBdIDsgdGhlbiB0b3VjaCBwb2ludGVyLmggO1wKKy0JZWxzZSBlY2hvICIjZGVmaW5lIExPTkc2NCIgPnBvaW50ZXIuaCA7IGZpCisrcG9pbnRlci5oOiBNYWtlZmlsZQorKwl0b3VjaCBwb2ludGVyLmggOworIAorIG1pc2MubzogbWlzYy5oIG1pc2MuYyBNYWtlZmlsZQorIAkkKENDKSAkKE1BQ0hJTkUpICQoREVGSU5FUykgJChDRkxBR1MpXAorLS0gCisxLjcuMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZV8yLjIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZV8yLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjI3MmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL25iZW5jaC1ieXRlL25iZW5jaC1ieXRlXzIuMi4zLmJiCkBAIC0wLDAgKzEsMjcgQEAKK0RFU0NSSVBUSU9OID0gIkJZVEUgTWFnYXppbmUncyBuYXRpdmUgYmVuY2htYXJrcyAoYWxzbyBjYWxsZWQgQllURW1hcmspIFwKK2Rlc2lnbmVkIHRvIGV4cG9zZSB0aGUgY2FwYWJpbGl0aWVzIG9mIGEgc3lzdGVtJ3MgQ1BVLCBGUFUsIFwKK2FuZCBtZW1vcnkgc3lzdGVtLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudHV4Lm9yZy9+bWF5ZXIvbGludXgvIgorTElDRU5TRSA9ICJuYmVuY2gtYnl0ZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9NTc7ZW5kbGluZT02NjttZDU9MDIwZWY1NzlmOGZhNTc0NmI3ZTMwN2E1NDcwNzgzNGYiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy50dXgub3JnL35tYXllci9saW51eC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbmJlbmNoXzMyYml0cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS1hZGQtbW9yZS1kZXBlbmRlbmNpZXMtdG8tcG9pbnRlci5oLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjg1ZGZhYjM2MTA4MDc1OWQ0NzdlYTFmZTdkMzA5M2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzIzZGQwNzNmODBlOTk2OTYzOWViNTc3ZDJhZjRiNTQwZmMyOTcxNmI2ZWFmZGFjNDg4ZDhmNWFlZDkxMDFhYyIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0NGTEFHU30gJHtMREZMQUdTfSIKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgTk5FVC5EQVQgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgbmJlbmNoICR7RH0ke2JpbmRpcn0vCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcGhvcm9uaXgtdGVzdC1zdWl0ZS9waG9yb25peC10ZXN0LXN1aXRlXzYuMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Bob3Jvbml4LXRlc3Qtc3VpdGUvcGhvcm9uaXgtdGVzdC1zdWl0ZV82LjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YWNmYmYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Bob3Jvbml4LXRlc3Qtc3VpdGUvcGhvcm9uaXgtdGVzdC1zdWl0ZV82LjAuMS5iYgpAQCAtMCwwICsxLDM1IEBACitTVU1NQVJZID0gIlBob3Jvbml4IFRlc3QgU3VpdGUiCitERVNDUklQVElPTiA9ICJUaGUgUGhvcm9uaXggVGVzdCBTdWl0ZSBpcyBkZXNpZ25lZCB0byBjYXJyeSBvdXQgYm90aCBxdWFsaXRhdGl2ZSBcCithbmQgcXVhbnRpdGF0aXZlIGJlbmNobWFya3MgaW4gYSBjbGVhbiwgcmVwcm9kdWNpYmxlLCBhbmQgZWFzeS10by11c2UgbWFubmVyLiIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK1NFQ1RJT04gPSAiY29uc29sZS90ZXN0cyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnBob3Jvbml4LXRlc3Qtc3VpdGUuY29tL3JlbGVhc2VzLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjM2IyNmZjYzU3YTNhMjUzZTU1OGY3NTlmZGMxMDg5ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyN2FkZDU0ZjRlY2I0NjQ1NDlkZTU4MGNlY2U4NGI0YTQ5NDViOTlkZjNlZjdmZjcwMzRlYjdmMjNmZmIzYjM5IgorUyA9ICIke1dPUktESVJ9L3Bob3Jvbml4LXRlc3Qtc3VpdGUiCisKK2luaGVyaXQgc3lzdGVtZCBhbGxhcmNoCisKK2RvX2luc3RhbGwoKSB7CisJREVTVERJUj0ke0R9IC4vaW5zdGFsbC1zaCAke2V4ZWNfcHJlZml4fQorCisJaWYgWyAiJHtzeXN0ZW1kX3VuaXRkaXJ9IiAhPSAiL3Vzci9saWIvc3lzdGVtZCIgXTsgdGhlbgorCQlpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKwkJbXYgJHtEfS91c3IvbGliL3N5c3RlbWQvc3lzdGVtLyogJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworCQlybSAtcmYgJHtEfS91c3IvbGliLworCWZpCit9CisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJwaG9yb21hdGljLWNsaWVudC5zZXJ2aWNlIHBob3JvbWF0aWMtc2VydmVyLnNlcnZpY2UiCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCBweXRob24gcGhwLWNsaSIKKworRklMRVNfJHtQTn0gKz0gIiBcCisJJHtkYXRhZGlyfS9waG9yb25peC10ZXN0LXN1aXRlIFwKKwkke2RhdGFkaXJ9L2FwcGRhdGEvcGhvcm9uaXgtdGVzdC1zdWl0ZS5hcHBkYXRhLnhtbCBcCisJJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yLzQ4eDQ4L2FwcHMvcGhvcm9uaXgtdGVzdC1zdWl0ZS5wbmcgXAorCSR7ZGF0YWRpcn0vaWNvbnMvaGljb2xvci82NHg2NC9taW1ldHlwZXMvYXBwbGljYXRpb24teC1vcGVuYmVuY2htYXJraW5nLnBuZyBcCisJJHtkYXRhZGlyfS9taW1lL3BhY2thZ2VzL29wZW5iZW5jaG1hcmtpbmctbWltZS54bWwgXAorCSR7c3lzdGVtZF91bml0ZGlyfS8qIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW55bWVtYmVuY2gvdGlueW1lbWJlbmNoX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW55bWVtYmVuY2gvdGlueW1lbWJlbmNoX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODk4YTcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3RpbnltZW1iZW5jaC90aW55bWVtYmVuY2hfZ2l0LmJiCkBAIC0wLDAgKzEsMjcgQEAKK0RFU0NSSVBUSU9OID0gIkEgc2ltcGxlIG1lbW9yeSBiZW5jaG1hcmsgcHJvZ3JhbSwgd2hpY2ggdHJpZXMgdG8gbWVhc3VyZSB0aGUgXAorcGVhayBiYW5kd2lkdGggb2Ygc2VxdWVudGlhbCBtZW1vcnkgYWNjZXNzZXMgYW5kIHRoZSBsYXRlbmN5IG9mIHJhbmRvbSBtZW1vcnkgXAorYWNjZXNzZXMuIEJhbmR3aWR0aCBpcyBtZWFzdXJlZCBieSBydW5uaW5nIGRpZmZlcmVudCBhc3NlbWJseSBjb2RlIGZvciB0aGUgXAorYWxpZ25lZCBtZW1vcnkgYmxvY2tzIGFuZCBhdHRlbXB0aW5nIGRpZmZlcmVudCBwcmVmZXRjaCBzdHJhdGVnaWVzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3NzdmIvdGlueW1lbWJlbmNoL3dpa2kiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL21haW4uYztlbmRsaW5lPTIyO21kNT04NzliOWJiYjYwODUxNDU0ODg1YjVmYTQ3ZWI2YjM0NSIKKworUFYgPSAiMC4zLjkrZ2l0JHtTUkNQVn0iCisKK1NSQ1JFViA9ICI5NWU2ODQ3NzU4OGQ0MTE4N2IyZDJlNTJlY2Y2YmUwZTdlYjA2YjhkIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3NzdmIvdGlueW1lbWJlbmNoLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tNzU1IHRpbnltZW1iZW5jaCAke0R9JHtiaW5kaXJ9LworfQorCisjIEZhaWxzIHRvIGJ1aWxkIHdpdGggdGh1bWItMSAocWVtdWFybSkKKyN8IHtzdGFuZGFyZCBpbnB1dH06IEFzc2VtYmxlciBtZXNzYWdlczoKKyN8IHtzdGFuZGFyZCBpbnB1dH06NjY6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgc3VicyByMSxyMSwjMTYnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjY5OiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBpbiBUaHVtYjE2IG1vZGUgLS0gYHN1YnMgcjEscjEsIzE2JworI3wge3N0YW5kYXJkIGlucHV0fTo4MjogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYG1sYSByMyxyNCxyMyxyNScKKyN8IHtzdGFuZGFyZCBpbnB1dH06ODI6IEVycm9yOiB1bnNoaWZ0ZWQgcmVnaXN0ZXIgcmVxdWlyZWQgLS0gYGFuZCByOCxyNyxyMyxsc3IjMTYnCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW9iZW5jaC90aW9iZW5jaC0wLjMuMy8wMDAxLURyb3AtaW5saW5lLW9mLWNyYzMyLWZ1bmN0aW9uLXRvLWZpeC1idWlsZC11c2luZy1HQ0MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlvYmVuY2gvdGlvYmVuY2gtMC4zLjMvMDAwMS1Ecm9wLWlubGluZS1vZi1jcmMzMi1mdW5jdGlvbi10by1maXgtYnVpbGQtdXNpbmctR0NDLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhZWJiOTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlvYmVuY2gvdGlvYmVuY2gtMC4zLjMvMDAwMS1Ecm9wLWlubGluZS1vZi1jcmMzMi1mdW5jdGlvbi10by1maXgtYnVpbGQtdXNpbmctR0NDLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gNTQyOWFiOTBlYjMzZWIyNDNmYTdiOWNkMjQ3ZTA0OTBkNzJiOWRhNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CitEYXRlOiBXZWQsIDkgU2VwIDIwMTUgMTU6MDQ6NDUgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gRHJvcCAnaW5saW5lJyBvZiBjcmMzMiBmdW5jdGlvbiB0byBmaXggYnVpbGQgdXNpbmcgR0NDIDUuMgorT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CistLS0KKyBjcmMzMi5oIHwgICAxIC0KKyBjcmMzMi5vIHwgQmluIDc0OCAtPiAyMDU2IGJ5dGVzCisgMiBmaWxlcyBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jcmMzMi5oIGIvY3JjMzIuaAoraW5kZXggNjJiMzQzMy4uOGZjNjJiNiAxMDA2NDQKKy0tLSBhL2NyYzMyLmgKKysrKyBiL2NyYzMyLmgKK0BAIC0xOCw3ICsxOCw2IEBACisgI2lmbmRlZiBDUkMzMl9ICisgI2RlZmluZSBDUkMzMl9ICisgCistaW5saW5lIAorIHVuc2lnbmVkIGxvbmcgY3JjMzIoIGNvbnN0IHZvaWQqIGNvbnN0IGJ1ZmZlciwgCisgCQkgICAgICB1bnNpZ25lZCBsb25nIGxlbmd0aCwgCisgCQkgICAgICB1bnNpZ25lZCBsb25nIGNyYyk7CisKKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Rpb2JlbmNoL3Rpb2JlbmNoLTAuMy4zL2F2b2lkLWdsaWJjLWNsYXNoZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlvYmVuY2gvdGlvYmVuY2gtMC4zLjMvYXZvaWQtZ2xpYmMtY2xhc2hlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjFkMjk5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Rpb2JlbmNoL3Rpb2JlbmNoLTAuMy4zL2F2b2lkLWdsaWJjLWNsYXNoZXMucGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK1N1YmplY3Q6IFtQQVRDSF0gQXZvaWQgYWxpZ25lZCBhbGxvY2F0aW9uIGZ1bmN0aW9uIG5hbWUgY2xhc2hlcworCitnbGliYyBhZGRlZCBuZXcgbWV0aG9kcyBmb3IgYWxpZ25lZCBhbGxvY2F0aW9uIGFuZCBpdCBjbGFzaGVzIHdpdGggdGhlCitsb2NhbCB2ZXJzaW9uIHVzZWQgYnkgJ3Rpb2JlbmNoJy4gVG8gZml4IGl0LCB3ZSBwcmVmaXggdGhlIG1ldGhvZHMKK3dpdGggJ18nLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIHRpb3Rlc3QuYyB8ICAgIDggKysrKy0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rpb3Rlc3QuYyBiL3Rpb3Rlc3QuYworaW5kZXggMzhmNTRlNy4uNmIzZDBjMyAxMDA2NDQKKy0tLSBhL3Rpb3Rlc3QuYworKysrIGIvdGlvdGVzdC5jCitAQCAtMzEsNyArMzEsNyBAQCBzdGF0aWMgY29uc3QgY2hhciogdmVyc2lvblN0ciA9ICJ0aW90ZXN0IHYwLjMuMyAoQykgMTk5OS0yMDAwIE1pa2EgS3VvcHBhbGEgPG1paworICovCisgQXJndW1lbnRPcHRpb25zIGFyZ3M7CisgCistc3RhdGljIHZvaWQgKiBhbGlnbmVkX2FsbG9jKHNzaXplX3Qgc2l6ZSkKKytzdGF0aWMgdm9pZCAqIF9hbGlnbmVkX2FsbG9jKHNzaXplX3Qgc2l6ZSkKKyB7CisgCWNhZGRyX3QgYTsKKyAJYSA9IG1tYXAoKGNhZGRyX3QgKTAsIHNpemUsIAorQEAgLTQxLDcgKzQxLDcgQEAgc3RhdGljIHZvaWQgKiBhbGlnbmVkX2FsbG9jKHNzaXplX3Qgc2l6ZSkKKyAJcmV0dXJuIGE7CisgfQorIAorLXN0YXRpYyBpbnQgYWxpZ25lZF9mcmVlKGNhZGRyX3QgYSwgc3NpemVfdCBzaXplKQorK3N0YXRpYyBpbnQgX2FsaWduZWRfZnJlZShjYWRkcl90IGEsIHNzaXplX3Qgc2l6ZSkKKyB7CisgCXJldHVybiBtdW5tYXAoYSwgc2l6ZSk7CisgfQorQEAgLTI4MSw3ICsyODEsNyBAQCB2b2lkIGluaXRpYWxpemVfdGVzdCggVGhyZWFkVGVzdCAqZCApCisgCQlwdGhyZWFkX2F0dHJfc2V0c2NvcGUoJihkLT50aHJlYWRzW2ldLnRocmVhZF9hdHRyKSwKKyAJCQkJICAgICAgUFRIUkVBRF9TQ09QRV9TWVNURU0pOworIAorLQkJZC0+dGhyZWFkc1tpXS5idWZmZXIgPSBhbGlnbmVkX2FsbG9jKCBkLT50aHJlYWRzW2ldLmJsb2NrU2l6ZSApOworKwkJZC0+dGhyZWFkc1tpXS5idWZmZXIgPSBfYWxpZ25lZF9hbGxvYyggZC0+dGhyZWFkc1tpXS5ibG9ja1NpemUgKTsKKyAJCWlmKCBkLT50aHJlYWRzW2ldLmJ1ZmZlciA9PSBOVUxMICkKKyAJCXsKKyAJCQlwZXJyb3IoIkVycm9yIGFsbG9jYXRpbmcgbWVtb3J5Iik7CitAQCAtMzgzLDcgKzM4Myw3IEBAIHZvaWQgY2xlYW51cF90ZXN0KCBUaHJlYWRUZXN0ICpkICkKKyAJeworIAkJaWYgKCFhcmdzLnJhd0RyaXZlcykKKyAJCXVubGluayhkLT50aHJlYWRzW2ldLmZpbGVOYW1lKTsKKy0JCWFsaWduZWRfZnJlZSggZC0+dGhyZWFkc1tpXS5idWZmZXIsIGQtPnRocmVhZHNbaV0uYmxvY2tTaXplICk7CisrCQlfYWxpZ25lZF9mcmVlKCBkLT50aHJlYWRzW2ldLmJ1ZmZlciwgZC0+dGhyZWFkc1tpXS5ibG9ja1NpemUgKTsKKyAJCWQtPnRocmVhZHNbaV0uYnVmZmVyID0gMDsKKyAJCisgCQlwdGhyZWFkX2F0dHJfZGVzdHJveSggJihkLT50aHJlYWRzW2ldLnRocmVhZF9hdHRyKSApOworLS0gCisxLjcuNworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlvYmVuY2gvdGlvYmVuY2gtMC4zLjMvdGlvYmVuY2gtbWFrZWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlvYmVuY2gvdGlvYmVuY2gtMC4zLjMvdGlvYmVuY2gtbWFrZWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjgyMGM3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW9iZW5jaC90aW9iZW5jaC0wLjMuMy90aW9iZW5jaC1tYWtlZmlsZS5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitBZGFwdCB0aW9iZW5jaCB0byBPRQorQXV0aG9yOiBMdWRvdmljIERlc3JvY2hlcyA8bHVkb3ZpYy5kZXNyb2NoZXNAYXRtZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vdCBhdXRob3JdCisKK0luZGV4OiBNYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvTWFrZWZpbGUJMjAxMS0wNS0yNiAwNzo0ODo0Ni4zNDE0MDA5NzQgKzAyMDAKKysrKyBiL01ha2VmaWxlCTIwMTEtMDUtMzAgMDY6MzI6MzguMDkxNDAxMzU4ICswMjAwCitAQCAtMSw4ICsxLDkgQEAKKyAjIE1ha2VmaWxlIGZvciB0aW90ZXN0CisgCistQ0M9Z2NjCisrQ0M/PWdjYworICNDRkxBR1M9LU8zIC1mb21pdC1mcmFtZS1wb2ludGVyIC1XYWxsCisgQ0ZMQUdTPS1PMiAtV2FsbAorK0xERkxBR1M/PQorIAorICNERUZJTkVTPS1EVVNFX01NQVAgCisgIy1EVVNFX01BRFZJU0UKK0BAIC0xNCwxNiArMTUsMTYgQEAKKyAKKyAjREVGSU5FUz0KKyAKKy1MSU5LPWdjYworK0xJTks/PSQoQ0MpCisgRVhFPXRpb3Rlc3QKKyBQUk9KRUNUPXRpb2JlbmNoCisgIyBkbyBpdCBvbmNlIGluc3RlYWQgb2YgZWFjaCB0aW1lIHJlZmVyZW5jZWQKKyBWRVJTSU9OPSQoc2hlbGwgZWdyZXAgInRpb3Rlc3QgdlswLTldKy5bMC05XSsiIHRpb3Rlc3QuYyB8IGN1dCAtZCAiICIgLWYgNyB8IHNlZCAicy92Ly9nIikKKyBESVNUTkFNRT0kKFBST0pFQ1QpLSQoVkVSU0lPTikKKyBJTlNUQUxMPWluc3RhbGwKKy1QUkVGSVg9L3Vzci9sb2NhbAorK1BSRUZJWD89L3Vzci9sb2NhbAorIEJJTkRJUj0kKFBSRUZJWCkvYmluCistRE9DRElSPS91c3IvbG9jYWwvZG9jLyQoRElTVE5BTUUpCisrRE9DRElSPSQoUFJFRklYKS9zaGFyZS9kb2MvJChESVNUTkFNRSkKKyAKKyBhbGw6ICQoRVhFKQorIAorQEAgLTM0LDcgKzM1LDcgQEAKKyAJJChDQykgLWMgJChDRkxBR1MpICQoREVGSU5FUykgdGlvdGVzdC5jIC1vIHRpb3Rlc3QubworIAorICQoRVhFKTogdGlvdGVzdC5vIGNyYzMyLm8KKy0JJChMSU5LKSAtbyAkKEVYRSkgdGlvdGVzdC5vIGNyYzMyLm8gLWxwdGhyZWFkCisrCSQoTElOSykgLW8gJChFWEUpIHRpb3Rlc3QubyBjcmMzMi5vIC1scHRocmVhZCAkKExERkxBR1MpCisgCUBlY2hvCisgCUBlY2hvICIuL3Rpb2JlbmNoLnBsIC0taGVscCBmb3IgdXNhZ2Ugb3B0aW9ucyIKKyAJQGVjaG8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW9iZW5jaC90aW9iZW5jaF8wLjMuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW9iZW5jaC90aW9iZW5jaF8wLjMuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWFmMzVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Rpb2JlbmNoL3Rpb2JlbmNoXzAuMy4zLmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiVGhyZWFkZWQgSS9PIHRlc3RlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvdGlvYmVuY2gvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM5M2MwNTUwYmQzMTczZjQ1MDRiMmNiZDg5OTFlNTBiIgorCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICJcCisgICAgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy90aW9iZW5jaC9maWxlcy90aW9iZW5jaC8ke1BWfS8ke0JQfS50YXIuZ3ogXAorICAgIGZpbGU6Ly90aW9iZW5jaC1tYWtlZmlsZS5wYXRjaCBcCisgICAgZmlsZTovL2F2b2lkLWdsaWJjLWNsYXNoZXMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLURyb3AtaW5saW5lLW9mLWNyYzMyLWZ1bmN0aW9uLXRvLWZpeC1idWlsZC11c2luZy1HQ0MucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImJmNDg1YmY4MjBlNjkzYzc5ZTZiZDJhMzg3MDJhMTI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhhZDAxMTA1OWEzNWFjNzBjZGI1ZTNkMzk5OWNlZWU0NGE4ZThlOTA3ODkyNjg0NGIwNjg1YjdlYTlkYjJiY2MiCisKK0VYVFJBX09FTUFLRSA9ICJQUkVGSVg9JHtEfS91c3IiCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsCit9CisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICBwZXJsIFwKKyAgICBwZXJsLW1vZHVsZS1leHBvcnRlci1oZWF2eSBcCisgICAgcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgXAorICAgIHBlcmwtbW9kdWxlLW92ZXJsb2FkIFwKKyAgICBwZXJsLW1vZHVsZS1zdHJpY3QgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6LWhjaWR1bXAtMi41L29ic29sZXRlX2F1dG9tYWtlX21hY3Jvcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlei1oY2lkdW1wLTIuNS9vYnNvbGV0ZV9hdXRvbWFrZV9tYWNyb3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM3N2YxYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlei1oY2lkdW1wLTIuNS9vYnNvbGV0ZV9hdXRvbWFrZV9tYWNyb3MucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtwYWNrYWdlIG9ic29sZXRlL25vdCBtYWludGFpbmVkIGJ5IHVwc3RyZWFtXQorCitTaWduZWQtb2ZmLWJ5OiBNYXJrbyBMaW5kcXZpc3QgPGNhemZpNzRAZ21haWwuY29tPgorZGlmZiAtTnVyZCBibHVlei1oY2lkdW1wLTIuNS9jb25maWd1cmUuYWMgYmx1ZXotaGNpZHVtcC0yLjUvY29uZmlndXJlLmFjCistLS0gYmx1ZXotaGNpZHVtcC0yLjUvY29uZmlndXJlLmFjCTIwMTItMTEtMzAgMTA6Mjk6NDEuMDAwMDAwMDAwICswMjAwCisrKysgYmx1ZXotaGNpZHVtcC0yLjUvY29uZmlndXJlLmFjCTIwMTMtMDEtMTIgMTA6MDI6MTAuNjA5NTExNDYzICswMjAwCitAQCAtMiw3ICsyLDcgQEAKKyBBQ19JTklUKGJsdWV6LWhjaWR1bXAsIDIuNSkKKworIEFNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ24gc3ViZGlyLW9iamVjdHNdKQorLUFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisrQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmgpCisKKyBtNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSwgW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6LWhjaWR1bXBfMi41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6LWhjaWR1bXBfMi41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhMTVkNjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXotaGNpZHVtcF8yLjUuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJMaW51eCBCbHVldG9vdGggU3RhY2sgSENJIERlYnVnZ2VyIFRvb2wiCitERVNDUklQVElPTiA9ICJUaGUgaGNpZHVtcCB0b29sIHJlYWRzIHJhdyBIQ0kgZGF0YSBjb21pbmcgZnJvbSBhbmQgZ29pbmcgdG8gYSBCbHVldG9vdGggZGV2aWNlIFwKK2FuZCBkaXNwbGF5cyB0aGUgY29tbWFuZHMsIGV2ZW50cyBhbmQgZGF0YSBpbiBhIGh1bWFuLXJlYWRhYmxlIGZvcm0uIgorCitTRUNUSU9OID0gImNvbnNvbGUiCisjIGhjaWR1bXAgd2FzIGludGVncmF0ZWQgaW50byBibHVlejUKK0RFUEVORFMgPSAiYmx1ZXo0IgorUkNPTkZMSUNUU18ke1BOfSA9ICJibHVlejUiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWViNzIzYjYxNTM5ZmVlZjAxM2RlNDc2ZTY4YjVjNTBhIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9oY2lkdW1wLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMzttZDU9M2JlZTNhMTYyZGZmNDNhNWJlNzQ3MDcxMGI5OWZiY2YiCitQUiA9ICJyMSIKKworUE5CTEFDS0xJU1RbYmx1ZXotaGNpZHVtcF0gPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXo1JywgJ2JsdWV6NSBjb25mbGljdHMgd2l0aCBibHVlejQgYW5kIGJsdWV6NSBpcyBzZWxlY3RlZCBpbiBESVNUUk9fRkVBVFVSRVMnLCAnJywgZCl9IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvYmx1ZXRvb3RoL2JsdWV6LWhjaWR1bXAtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL29ic29sZXRlX2F1dG9tYWtlX21hY3Jvcy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZWFiNTRiYmQyYjU5YTJlZDQyNzRlYmI5MzkwY2YxOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5YjdjNTJiMzc1MDgxODgzNzM4Y2YwNDllY2FiYzEwM2I5N2QwOTRiMTljNjU0NGZiMjQxMjY3OTA1ZDg4ODgxIgorUyA9ICIke1dPUktESVJ9L2JsdWV6LWhjaWR1bXAtJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL2JsdWV0b290aC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9ibHVldG9vdGguY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTVlOWU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9ibHVldG9vdGguY29uZgpAQCAtMCwwICsxLDE2IEBACis8IS0tIFRoaXMgY29uZmlndXJhdGlvbiBmaWxlIHNwZWNpZmllcyB0aGUgcmVxdWlyZWQgc2VjdXJpdHkgcG9saWNpZXMKKyAgICAgZm9yIEJsdWV0b290aCBjb3JlIGRhZW1vbiB0byB3b3JrLiAtLT4KKworPCFET0NUWVBFIGJ1c2NvbmZpZyBQVUJMSUMgIi0vL2ZyZWVkZXNrdG9wLy9EVEQgRC1CVVMgQnVzIENvbmZpZ3VyYXRpb24gMS4wLy9FTiIKKyAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc3RhbmRhcmRzL2RidXMvMS4wL2J1c2NvbmZpZy5kdGQiPgorPGJ1c2NvbmZpZz4KKworICA8IS0tIC4uL3N5c3RlbS5jb25mIGhhdmUgZGVuaWVkIGV2ZXJ5dGhpbmcsIHNvIHdlIGp1c3QgcHVuY2ggc29tZSBob2xlcyAtLT4KKworICA8cG9saWN5IGNvbnRleHQ9ImRlZmF1bHQiPgorICAgIDxhbGxvdyBvd249Im9yZy5ibHVleiIvPgorICAgIDxhbGxvdyBzZW5kX2Rlc3RpbmF0aW9uPSJvcmcuYmx1ZXoiLz4KKyAgICA8YWxsb3cgc2VuZF9pbnRlcmZhY2U9Im9yZy5ibHVlei5BZ2VudCIvPgorICA8L3BvbGljeT4KKworPC9idXNjb25maWc+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL2ZpeC11ZGV2LXBhdGhzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9maXgtdWRldi1wYXRocy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDg5OTE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9maXgtdWRldi1wYXRocy5wYXRjaApAQCAtMCwwICsxLDM3IEBACitBZGQgdWRldmRpci91ZGV2cnVsZXNkaXIgb3B0aW9ucworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCitTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+CisKK0luZGV4OiBibHVlei00LjEwMS9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGJsdWV6LTQuMTAxLm9yaWcvTWFrZWZpbGUuYW0KKysrKyBibHVlei00LjEwMS9NYWtlZmlsZS5hbQorQEAgLTM5NSw3ICszOTUsNyBAQCBFWFRSQV9ESVNUICs9IGF1ZGlvL2JsdWV0b290aC5jb25mCisgaW5jbHVkZSBNYWtlZmlsZS50b29scworIAorIGlmIERBVEFGSUxFUworLXJ1bGVzZGlyID0gQFVERVZfRElSQC9ydWxlcy5kCisrcnVsZXNkaXIgPSBAVURFVl9SVUxFU19ESVJACisgCisgdWRldl9maWxlcyA9CisgCitJbmRleDogYmx1ZXotNC4xMDEvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYmx1ZXotNC4xMDEub3JpZy9jb25maWd1cmUuYWMKKysrKyBibHVlei00LjEwMS9jb25maWd1cmUuYWMKK0BAIC02MSw0ICs2MSwxNCBAQCBpZiAodGVzdCAtbiAiJHtwYXRoX3N5c3RlbWR1bml0fSIpOyB0aGVuCisgZmkKKyBBTV9DT05ESVRJT05BTChTWVNURU1ELCB0ZXN0IC1uICIke3BhdGhfc3lzdGVtZHVuaXR9IikKKyAKKytBQ19BUkdfV0lUSChbdWRldmRpcl0sCisrICAgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtdWRldmRpcj1ESVJdLCBbdWRldiBkaXJlY3RvcnldKSwKKysgICAgW10sIFt3aXRoX3VkZXZkaXI9L2xpYi91ZGV2L10pCisrQUNfU1VCU1QoW1VERVZfRElSXSwgWyR3aXRoX3VkZXZkaXJdKQorKworK0FDX0FSR19XSVRIKFt1ZGV2cnVsZXNkaXJdLAorKyAgICBBU19IRUxQX1NUUklORyhbLS13aXRoLXVkZXZydWxlc2Rpcj1ESVJdLCBbdWRldiBydWxlcyBkaXJlY3RvcnldKSwKKysgICAgW10sIFt3aXRoX3VkZXZydWxlc2Rpcj0vbGliL3VkZXYvcnVsZXMuZF0pCisrQUNfU1VCU1QoW1VERVZfUlVMRVNfRElSXSwgWyR3aXRoX3VkZXZydWxlc2Rpcl0pCisrCisgQUNfT1VUUFVUKE1ha2VmaWxlIGRvYy92ZXJzaW9uLnhtbCBzcmMvYmx1ZXRvb3RoZC44IHNyYy9ibHVldG9vdGguc2VydmljZSBibHVlei5wYykKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQtNC4xMDEvZml4X2VuY3J5cHRfY29sbGlzaW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9maXhfZW5jcnlwdF9jb2xsaXNpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWJjMzkwZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQtNC4xMDEvZml4X2VuY3J5cHRfY29sbGlzaW9uLnBhdGNoCkBAIC0wLDAgKzEsMTEwIEBACitBdm9pZCBuYW1lcHNwYWNlIGNvbGxpc2lvbiB3aXRoIGVuY3J5cHQgZnVuY3Rpb24gZnJvbSBsaWJjCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorSW5kZXg6IGJsdWV6LTQuMTAxL3Rlc3QvbDJ0ZXN0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBibHVlei00LjEwMS5vcmlnL3Rlc3QvbDJ0ZXN0LmMKKysrKyBibHVlei00LjEwMS90ZXN0L2wydGVzdC5jCitAQCAtMTA3LDcgKzEwNyw3IEBAIHN0YXRpYyBjaGFyICpmaWxlbmFtZSA9IE5VTEw7Cisgc3RhdGljIGludCByZmNtb2RlID0gMDsKKyBzdGF0aWMgaW50IG1hc3RlciA9IDA7Cisgc3RhdGljIGludCBhdXRoID0gMDsKKy1zdGF0aWMgaW50IGVuY3J5cHQgPSAwOworK3N0YXRpYyBpbnQgZW5jcnlwdGlvbl9yZXF1ZXN0ID0gMDsKKyBzdGF0aWMgaW50IHNlY3VyZSA9IDA7Cisgc3RhdGljIGludCBzb2NrdHlwZSA9IFNPQ0tfU0VRUEFDS0VUOworIHN0YXRpYyBpbnQgbGluZ2VyID0gMDsKK0BAIC0zNDAsNyArMzQwLDcgQEAgc3RhdGljIGludCBkb19jb25uZWN0KGNoYXIgKnN2cikKKyAJCW9wdCB8PSBMMkNBUF9MTV9NQVNURVI7CisgCWlmIChhdXRoKQorIAkJb3B0IHw9IEwyQ0FQX0xNX0FVVEg7CistCWlmIChlbmNyeXB0KQorKwlpZiAoZW5jcnlwdGlvbl9yZXF1ZXN0KQorIAkJb3B0IHw9IEwyQ0FQX0xNX0VOQ1JZUFQ7CisgCWlmIChzZWN1cmUpCisgCQlvcHQgfD0gTDJDQVBfTE1fU0VDVVJFOworQEAgLTQ3NSw3ICs0NzUsNyBAQCBzdGF0aWMgdm9pZCBkb19saXN0ZW4odm9pZCAoKmhhbmRsZXIpKGluCisgCQlvcHQgfD0gTDJDQVBfTE1fTUFTVEVSOworIAlpZiAoYXV0aCkKKyAJCW9wdCB8PSBMMkNBUF9MTV9BVVRIOworLQlpZiAoZW5jcnlwdCkKKysJaWYgKGVuY3J5cHRpb25fcmVxdWVzdCkKKyAJCW9wdCB8PSBMMkNBUF9MTV9FTkNSWVBUOworIAlpZiAoc2VjdXJlKQorIAkJb3B0IHw9IEwyQ0FQX0xNX1NFQ1VSRTsKK0BAIC0xNDA3LDcgKzE0MDcsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJCWJyZWFrOworIAorIAkJY2FzZSAnRSc6CistCQkJZW5jcnlwdCA9IDE7CisrCQkJZW5jcnlwdGlvbl9yZXF1ZXN0ID0gMTsKKyAJCQlicmVhazsKKyAKKyAJCWNhc2UgJ1MnOgorSW5kZXg6IGJsdWV6LTQuMTAxL3Rlc3QvcmN0ZXN0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBibHVlei00LjEwMS5vcmlnL3Rlc3QvcmN0ZXN0LmMKKysrKyBibHVlei00LjEwMS90ZXN0L3JjdGVzdC5jCitAQCAtNzksNyArNzksNyBAQCBzdGF0aWMgY2hhciAqZmlsZW5hbWUgPSBOVUxMOworIAorIHN0YXRpYyBpbnQgbWFzdGVyID0gMDsKKyBzdGF0aWMgaW50IGF1dGggPSAwOworLXN0YXRpYyBpbnQgZW5jcnlwdCA9IDA7Cisrc3RhdGljIGludCBlbmNyeXB0aW9uX3JlcXVlc3QgPSAwOworIHN0YXRpYyBpbnQgc2VjdXJlID0gMDsKKyBzdGF0aWMgaW50IHNvY2t0eXBlID0gU09DS19TVFJFQU07Cisgc3RhdGljIGludCBsaW5nZXIgPSAwOworQEAgLTIwMCw3ICsyMDAsNyBAQCBzdGF0aWMgaW50IGRvX2Nvbm5lY3QoY29uc3QgY2hhciAqc3ZyKQorIAkJb3B0IHw9IFJGQ09NTV9MTV9NQVNURVI7CisgCWlmIChhdXRoKQorIAkJb3B0IHw9IFJGQ09NTV9MTV9BVVRIOworLQlpZiAoZW5jcnlwdCkKKysJaWYgKGVuY3J5cHRpb25fcmVxdWVzdCkKKyAJCW9wdCB8PSBSRkNPTU1fTE1fRU5DUllQVDsKKyAJaWYgKHNlY3VyZSkKKyAJCW9wdCB8PSBSRkNPTU1fTE1fU0VDVVJFOworQEAgLTI5MSw3ICsyOTEsNyBAQCBzdGF0aWMgdm9pZCBkb19saXN0ZW4odm9pZCAoKmhhbmRsZXIpKGluCisgCQlvcHQgfD0gUkZDT01NX0xNX01BU1RFUjsKKyAJaWYgKGF1dGgpCisgCQlvcHQgfD0gUkZDT01NX0xNX0FVVEg7CistCWlmIChlbmNyeXB0KQorKwlpZiAoZW5jcnlwdGlvbl9yZXF1ZXN0KQorIAkJb3B0IHw9IFJGQ09NTV9MTV9FTkNSWVBUOworIAlpZiAoc2VjdXJlKQorIAkJb3B0IHw9IFJGQ09NTV9MTV9TRUNVUkU7CitAQCAtNzAxLDcgKzcwMSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQkJYnJlYWs7CisgCisgCQljYXNlICdFJzoKKy0JCQllbmNyeXB0ID0gMTsKKysJCQllbmNyeXB0aW9uX3JlcXVlc3QgPSAxOworIAkJCWJyZWFrOworIAorIAkJY2FzZSAnUyc6CitJbmRleDogYmx1ZXotNC4xMDEvc3JjL3RleHRmaWxlLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBibHVlei00LjEwMS5vcmlnL3NyYy90ZXh0ZmlsZS5oCisrKysgYmx1ZXotNC4xMDEvc3JjL3RleHRmaWxlLmgKK0BAIC0yNCw2ICsyNCw4IEBACisgI2lmbmRlZiBfX1RFWFRGSUxFX0gKKyAjZGVmaW5lIF9fVEVYVEZJTEVfSAorIAorKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKysKKyBpbnQgY3JlYXRlX2RpcnMoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IG1vZGVfdCBtb2RlKTsKKyBpbnQgY3JlYXRlX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IG1vZGVfdCBtb2RlKTsKKyBpbnQgY3JlYXRlX25hbWUoY2hhciAqYnVmLCBzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciAqcGF0aCwKK0luZGV4OiBibHVlei00LjEwMS90ZXN0L2F0dGVzdC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYmx1ZXotNC4xMDEub3JpZy90ZXN0L2F0dGVzdC5jCisrKysgYmx1ZXotNC4xMDEvdGVzdC9hdHRlc3QuYworQEAgLTM0LDYgKzM0LDcgQEAKKyAjaW5jbHVkZSA8dGVybWlvcy5oPgorICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorKyNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+CisgCisgI2luY2x1ZGUgPGJsdWV0b290aC9ibHVldG9vdGguaD4KKyAjaW5jbHVkZSA8Ymx1ZXRvb3RoL3JmY29tbS5oPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9pbnN0YWxsLXRlc3Qtc2NyaXB0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9pbnN0YWxsLXRlc3Qtc2NyaXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzZjdkOTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL2luc3RhbGwtdGVzdC1zY3JpcHQucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlCisKK0luc3RhbGwgdGhlIGJsdWV6J3MgdGVzdCBzY3JpcHRzCisKK1NpZ25lZC1vZmYtYnk6IFpob25nIEhvbmdibyA8aG9uZ2JvLnpob25nQHdpbmRyaXZlci5jb20+CitkaWZmIC1OdXJkIGJsdWV6LTQuMTAxLm9yaWcvTWFrZWZpbGUudG9vbHMgYmx1ZXotNC4xMDEvTWFrZWZpbGUudG9vbHMKKy0tLSBibHVlei00LjEwMS5vcmlnL01ha2VmaWxlLnRvb2xzCTIwMTMtMTEtMTkgMTU6NDk6MDcuNjg4ODM4MDAwICswODAwCisrKysgYmx1ZXotNC4xMDEvTWFrZWZpbGUudG9vbHMJMjAxMy0xMS0xOSAxNTo1MDowOS4yNTY4Mzc4NDggKzA4MDAKK0BAIC0yMjcsNiArMjI3LDE3IEBACisgCQl0ZXN0L3NlcnZpY2Utc3BwLnhtbCB0ZXN0L3NlcnZpY2Utb3BwLnhtbCB0ZXN0L3NlcnZpY2UtZnRwLnhtbCBcCisgCQl0ZXN0L3NpbXBsZS1wbGF5ZXIgdGVzdC90ZXN0LW5hcAorIAorK2JsdWV6NF90ZXN0ZGlyID0gJChsaWJkaXIpL2JsdWV6NC90ZXN0LworK2Rpc3RfYmx1ZXo0X3Rlc3RfU0NSSVBUUyA9IHRlc3Qvc2FwLWNsaWVudCB0ZXN0L2hzcGxheSB0ZXN0L2hzbWljcm8gXAorKwkJdGVzdC9tb25pdG9yLWJsdWV0b290aCB0ZXN0L2xpc3QtZGV2aWNlcyBcCisrCQl0ZXN0L3Rlc3QtZGlzY292ZXJ5IHRlc3QvdGVzdC1tYW5hZ2VyIHRlc3QvdGVzdC1hZGFwdGVyIFwKKysJCXRlc3QvdGVzdC1kZXZpY2UgdGVzdC90ZXN0LXNlcnZpY2UgdGVzdC90ZXN0LXNlcmlhbCBcCisrCQl0ZXN0L3Rlc3QtdGVsZXBob255IHRlc3QvdGVzdC1uZXR3b3JrIHRlc3Qvc2ltcGxlLWFnZW50IFwKKysJCXRlc3Qvc2ltcGxlLXNlcnZpY2UgdGVzdC9zaW1wbGUtZW5kcG9pbnQgdGVzdC90ZXN0LWF1ZGlvIFwKKysJCXRlc3QvdGVzdC1pbnB1dCB0ZXN0L3Rlc3Qtc2FwLXNlcnZlciB0ZXN0L3Rlc3Qtb29iIFwKKysJCXRlc3QvdGVzdC1hdHRyaWIgdGVzdC90ZXN0LXByb3hpbWl0eSB0ZXN0L3Rlc3QtdGhlcm1vbWV0ZXIgXAorKwkJdGVzdC90ZXN0LXNlcmlhbC1wcm94eSB0ZXN0L3Rlc3QtaGVhbHRoIHRlc3QvdGVzdC1oZWFsdGgtc2luayBcCisrCQl0ZXN0L3NpbXBsZS1wbGF5ZXIgdGVzdC90ZXN0LW5hcAorIGlmIEhJREQKKyBiaW5fUFJPR1JBTVMgKz0gY29tcGF0L2hpZGQKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQtNC4xMDEvbmV0d29yay1maXgtbmV0d29yay1Db25uZWN0LW1ldGhvZC1wYXJhbWV0ZXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC00LjEwMS9uZXR3b3JrLWZpeC1uZXR3b3JrLUNvbm5lY3QtbWV0aG9kLXBhcmFtZXRlcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdmOTE5OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQtNC4xMDEvbmV0d29yay1maXgtbmV0d29yay1Db25uZWN0LW1ldGhvZC1wYXJhbWV0ZXJzLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFBldGVyIEEuIEJpZ290IDxwYWJAcGFiaWdvdC5jb20+CisKK0Zyb20gNTcxNzBiMzExZjE0NjgzMzBmNGE5OTYxZGMwYjNhYzQ1Zjk3YmMxMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jby51az4KK0RhdGU6IFNhdCwgMzAgSnVuIDIwMTIgMDA6Mzk6MDUgLTAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gbmV0d29yazogZml4IG5ldHdvcmsgQ29ubmVjdCgpIG1ldGhvZCBwYXJhbWV0ZXJzCisKKy0tLQorIG5ldHdvcmsvY29ubmVjdGlvbi5jIHwgICAgNCArKystCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbmV0d29yay9jb25uZWN0aW9uLmMgYi9uZXR3b3JrL2Nvbm5lY3Rpb24uYworaW5kZXggNTQ0ZWMzYS4uNTk0MjNhOSAxMDA2NDQKKy0tLSBhL25ldHdvcmsvY29ubmVjdGlvbi5jCisrKysgYi9uZXR3b3JrL2Nvbm5lY3Rpb24uYworQEAgLTU1NCw3ICs1NTQsOSBAQCBzdGF0aWMgdm9pZCBwYXRoX3VucmVnaXN0ZXIodm9pZCAqZGF0YSkKKyAKKyBzdGF0aWMgY29uc3QgR0RCdXNNZXRob2RUYWJsZSBjb25uZWN0aW9uX21ldGhvZHNbXSA9IHsKKyAJeyBHREJVU19BU1lOQ19NRVRIT0QoIkNvbm5lY3QiLAorLQkJCU5VTEwsIE5VTEwsIGNvbm5lY3Rpb25fY29ubmVjdCkgfSwKKysJCQkJR0RCVVNfQVJHUyh7InV1aWQiLCAicyJ9KSwKKysJCQkJR0RCVVNfQVJHUyh7ImludGVyZmFjZSIsICJzIn0pLAorKwkJCQljb25uZWN0aW9uX2Nvbm5lY3QpIH0sCisgCXsgR0RCVVNfTUVUSE9EKCJEaXNjb25uZWN0IiwKKyAJCQlOVUxMLCBOVUxMLCBjb25uZWN0aW9uX2Rpc2Nvbm5lY3QpIH0sCisgCXsgR0RCVVNfTUVUSE9EKCJHZXRQcm9wZXJ0aWVzIiwKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL29ic29sZXRlX2F1dG9tYWtlX21hY3Jvcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQtNC4xMDEvb2Jzb2xldGVfYXV0b21ha2VfbWFjcm9zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwNjhmMjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL29ic29sZXRlX2F1dG9tYWtlX21hY3Jvcy5wYXRjaApAQCAtMCwwICsxLDE0IEBACitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IE1hcmtvIExpbmRxdmlzdCA8Y2F6Zmk3NEBnbWFpbC5jb20+CitkaWZmIC1OdXJkIGJsdWV6LTQuMTAxL2NvbmZpZ3VyZS5hYyBibHVlei00LjEwMS9jb25maWd1cmUuYWMKKy0tLSBibHVlei00LjEwMS9jb25maWd1cmUuYWMJMjAxMi0wNi0yMiAxOTozNjo0OS4wMDAwMDAwMDAgKzAzMDAKKysrKyBibHVlei00LjEwMS9jb25maWd1cmUuYWMJMjAxMy0wMS0wNyAwNjoxMzoxOC4zODU4ODg5NjYgKzAyMDAKK0BAIC0yLDcgKzIsNyBAQAorIEFDX0lOSVQoYmx1ZXosIDQuMTAxKQorCisgQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbiBzdWJkaXItb2JqZWN0cyBjb2xvci10ZXN0c10pCistQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKytBQ19DT05GSUdfSEVBREVSUyhjb25maWcuaCkKKworIG00X2lmZGVmKFtBTV9TSUxFTlRfUlVMRVNdLCBbQU1fU0lMRU5UX1JVTEVTKFt5ZXNdKV0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL3NiY19tbXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0LTQuMTAxL3NiY19tbXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThmYWI0NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQtNC4xMDEvc2JjX21teC5wYXRjaApAQCAtMCwwICsxLDI0IEBACitvbiB4ODYgYW5kIHg4Nl82NCBnY2MgNC43IGNvbXBsYWlucworCitzYmMvc2JjX3ByaW1pdGl2ZXNfbW14LmM6IEluIGZ1bmN0aW9uICdzYmNfY2FsY19zY2FsZWZhY3RvcnNfbW14JzoKK3NiYy9zYmNfcHJpbWl0aXZlc19tbXguYzoyOTQ6NDogd2FybmluZzogYXNtIG9wZXJhbmQgMiBwcm9iYWJseSBkb2Vzbid0IG1hdGNoIGNvbnN0cmFpbnRzIFtlbmFibGVkIGJ5IGRlZmF1bHRdCitzYmMvc2JjX3ByaW1pdGl2ZXNfbW14LmM6Mjk0OjQ6IGVycm9yOiBpbXBvc3NpYmxlIGNvbnN0cmFpbnQgaW4gJ2FzbScKKworVGhpcyBwYXRjaCBpcyB0YWtlbiBmcm9tIGh0dHBzOi8vYnVncy5sYXVuY2hwYWQubmV0L3VidW50dS8rc291cmNlL2JsdWV6LytidWcvOTExODcxCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworSW5kZXg6IGJsdWV6LTQuOTgvc2JjL3NiY19wcmltaXRpdmVzX21teC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYmx1ZXotNC45OC5vcmlnL3NiYy9zYmNfcHJpbWl0aXZlc19tbXguYwkyMDExLTEyLTIxIDE0OjUzOjU0LjAwMDAwMDAwMCAtMDgwMAorKysrIGJsdWV6LTQuOTgvc2JjL3NiY19wcmltaXRpdmVzX21teC5jCTIwMTItMDItMjQgMTA6MDc6MDMuNDIyMDczODAwIC0wODAwCitAQCAtMzE4LDcgKzMxOCw3IEBACisgCQkJCSJtb3ZsICAgICAgICAgICVrMCwgNCglMylcbiIKKyAJCQk6ICIrciIgKGJsaykKKyAJCQk6ICJyIiAoJnNiX3NhbXBsZV9mWzBdW2NoXVtzYl0pLAorLQkJCQkiaSIgKChjaGFyICopICZzYl9zYW1wbGVfZlsxXVswXVswXSAtCisrCQkJCSJyIiAoKGNoYXIgKikgJnNiX3NhbXBsZV9mWzFdWzBdWzBdIC0KKyAJCQkJCShjaGFyICopICZzYl9zYW1wbGVfZlswXVswXVswXSksCisgCQkJCSJyIiAoJnNjYWxlX2ZhY3RvcltjaF1bc2JdKSwKKyAJCQkJInIiICgmY29uc3RzKSwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTljMzVlNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9ibHVlejQuaW5jCkBAIC0wLDAgKzEsNTEgQEAKK1NVTU1BUlkgPSAiTGludXggQmx1ZXRvb3RoIFN0YWNrIFVzZXJsYW5kIFY0IgorREVTQ1JJUFRJT04gPSAiTGludXggQmx1ZXRvb3RoIHN0YWNrIFY0IHVzZXJsYW5kIGNvbXBvbmVudHMuICBUaGVzZSBpbmNsdWRlIGEgc3lzdGVtIGNvbmZpZ3VyYXRpb25zLCBkYWVtb25zLCB0b29scyBhbmQgc3lzdGVtIGxpYnJhcmllcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmJsdWV6Lm9yZyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTJmODg0ZDJhZTFmZjg3YzA5ZTViN2NjYzJjNGNhN2UgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWZiNTA0YjY3YzUwMzMxZmM3ODczNGZlZDkwZmIwZTA5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9tYWluLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yNDttZDU9OWJjNTRiOTNjZDdlMTdiZjAzZjUyNTEzZjM5ZjkyNmUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc2JjL3NiYy5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjU7bWQ1PTFhNDA3ODFlZDMwZDUwZDg2MzkzMjNhMTg0YWViMTkxIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorCitERVBFTkRTID0gInVkZXYgbGlidXNiIGRidXMtZ2xpYiBnbGliLTIuMCBsaWJjaGVjayByZWFkbGluZSBsaWJzbmRmaWxlMSIKK1JERVBFTkRTXyR7UE59LWRldiA9ICJibHVlei1oY2lkdW1wIgorCitQQUNLQUdFQ09ORklHID8/PSAiXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYWxzYScsICdhbHNhJywgJycsIGQpfVwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BpZScsICdwaWUnLCAnJywgZCl9XAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsJ3N5c3RlbWQnLCAnJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbYWxzYV0gPSAiLS1lbmFibGUtYWxzYSwtLWRpc2FibGUtYWxzYSxhbHNhLWxpYiIKK1BBQ0tBR0VDT05GSUdbcGllXSA9ICItLWVuYWJsZS1waWUsLS1kaXNhYmxlLXBpZSwiCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywtLXdpdGgtc3lzdGVtZHVuaXRkaXI9IgorCitBU05FRURFRCA9ICIiCisKK1NSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9ibHVldG9vdGgvYmx1ZXotJHtQVn0udGFyLmd6IgorUyA9ICIke1dPUktESVJ9L2JsdWV6LSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHN5c3RlbWQKKworRVhUUkFfT0VDT05GID0gIlwKKyAgICAtLWRpc2FibGUtZ3N0cmVhbWVyIFwKKyAgICAtLWVuYWJsZS11c2IgXAorICAgIC0tZW5hYmxlLXRvb2xzIFwKKyAgICAtLWVuYWJsZS1iY2NtZCBcCisgICAgLS1lbmFibGUtaGlkMmhjaSBcCisgICAgLS1lbmFibGUtZGZ1dG9vbCBcCisgICAgLS1kaXNhYmxlLWhpZGQgXAorICAgIC0tZGlzYWJsZS1wYW5kIFwKKyAgICAtLWRpc2FibGUtZHVuZCBcCisgICAgLS1kaXNhYmxlLWN1cHMgXAorICAgIC0tZW5hYmxlLXRlc3QgXAorICAgIC0tZW5hYmxlLWRhdGFmaWxlcyBcCisgICAgLS13aXRoLXVkZXZkaXI9YHBrZy1jb25maWcgLS12YXJpYWJsZT11ZGV2ZGlyIHVkZXZgIFwKKyAgICAtLXdpdGgtdWRldnJ1bGVzZGlyPWBwa2ctY29uZmlnIC0tdmFyaWFibGU9dWRldmRpciB1ZGV2YC9ydWxlcy5kIFwKKyIKKworRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovYmx1ZXo0XzQuMTAxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NF80LjEwMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNmQxNmMwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6L2JsdWV6NF80LjEwMS5iYgpAQCAtMCwwICsxLDUwIEBACityZXF1aXJlIGJsdWV6NC5pbmMKKworUE5CTEFDS0xJU1RbYmx1ZXo0XSA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdibHVlejUnLCAnYmx1ZXo1IGNvbmZsaWN0cyB3aXRoIGJsdWV6NCBhbmQgYmx1ZXo1IGlzIHNlbGVjdGVkIGluIERJU1RST19GRUFUVVJFUycsICcnLCBkKX0iCisKK1BSID0gInIxMSIKKworU1JDX1VSSSArPSAiZmlsZTovL2JsdWV0b290aC5jb25mIFwKKyAgICAgICAgICAgIGZpbGU6Ly9zYmNfbW14LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9maXgtdWRldi1wYXRocy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vb2Jzb2xldGVfYXV0b21ha2VfbWFjcm9zLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9uZXR3b3JrLWZpeC1uZXR3b3JrLUNvbm5lY3QtbWV0aG9kLXBhcmFtZXRlcnMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2luc3RhbGwtdGVzdC1zY3JpcHQucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2ZpeF9lbmNyeXB0X2NvbGxpc2lvbi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYjQyY2I3MDM4YzM4MGViMGUyZmEyMDg5ODdjOTZhZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1OTczODQxMGFkZTlmMGU2MWExM2MwZjc3ZDlhYWZmYWFmZTQ5YmE5NDE4MTA3ZTRhZDc1ZmU1Mjg0NmY3NDg3IgorCitSQ09ORkxJQ1RTXyR7UE59ID0gImJsdWV6NSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vYXVkaW8vYXVkaW8uY29uZiAke0R9LyR7c3lzY29uZmRpcn0vYmx1ZXRvb3RoLworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L25ldHdvcmsvbmV0d29yay5jb25mICR7RH0vJHtzeXNjb25mZGlyfS9ibHVldG9vdGgvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vaW5wdXQvaW5wdXQuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vYmx1ZXRvb3RoLworICAgICMgYXRfY29uc29sZSBkb2Vzbid0IHJlYWxseSB3b3JrIHdpdGggdGhlIGN1cnJlbnQgc3RhdGUgb2YgT0UsIHNvIHB1bmNoIHNvbWUgbW9yZSBob2xlcyBzbyBwZW9wbGUgY2FuIGFjdHVhbGx5IHVzZSBCVAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2JsdWV0b290aC5jb25mICR7RH0vJHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQvCit9CisKK1JERVBFTkRTXyR7UE59LWRldiA9ICJibHVlei1oY2lkdW1wIgorUkRFUEVORFNfJHtQTn0tdGVzdHRvb2xzICs9ICJweXRob24gcHl0aG9uLWRidXMgcHl0aG9uLXB5Z29iamVjdCIKKworQUxMT1dfRU1QVFlfbGliYXNvdW5kLW1vZHVsZS1ibHVleiA9ICIxIgorUEFDS0FHRVMgPSsgImxpYmFzb3VuZC1tb2R1bGUtYmx1ZXogJHtQTn0tdGVzdHRvb2xzIgorCitGSUxFU19saWJhc291bmQtbW9kdWxlLWJsdWV6ID0gIiR7bGliZGlyfS9hbHNhLWxpYi9saWIqLnNvICR7ZGF0YWRpcn0vYWxzYSIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vYmx1ZXRvb3RoL3BsdWdpbnMgJHtsaWJkaXJ9L2JsdWV0b290aC9wbHVnaW5zLyouc28gJHtiYXNlX2xpYmRpcn0vdWRldi8gJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2LyAke3N5c3RlbWRfdW5pdGRpcn0vICR7ZGF0YWRpcn0vZGJ1cy0xIgorRklMRVNfJHtQTn0tZGV2ICs9ICJcCisgICAgJHtsaWJkaXJ9L2JsdWV0b290aC9wbHVnaW5zLyoubGEgXAorICAgICR7bGliZGlyfS9hbHNhLWxpYi8qLmxhIFwKKyIKKworRklMRVNfJHtQTn0tdGVzdHRvb2xzID0gIiR7bGliZGlyfS9ibHVlejQvdGVzdC8qIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIlwKKyAgICAke2xpYmRpcn0vYmx1ZXRvb3RoL3BsdWdpbnMvLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vKi8uZGVidWcgXAorICAgICovdWRldi8uZGVidWcgXAorIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiYmx1ZXRvb3RoLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovZ3N0LXBsdWdpbi1ibHVldG9vdGhfNC4xMDEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXovZ3N0LXBsdWdpbi1ibHVldG9vdGhfNC4xMDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODIyYWVjNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlei9nc3QtcGx1Z2luLWJsdWV0b290aF80LjEwMS5iYgpAQCAtMCwwICsxLDQxIEBACityZXF1aXJlIGJsdWV6NC5pbmMKK3JlcXVpcmUgcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1wYWNrYWdlLmluYworCitQTkJMQUNLTElTVFtnc3QtcGx1Z2luLWJsdWV0b290aF0gPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXo1JywgJ2JsdWV6NSBjb25mbGljdHMgd2l0aCBibHVlejQgYW5kIGJsdWV6NSBpcyBzZWxlY3RlZCBpbiBESVNUUk9fRkVBVFVSRVMnLCAnJywgZCl9IgorCitQUiA9ICJyMSIKKworU1JDX1VSSVttZDVzdW1dID0gImZiNDJjYjcwMzhjMzgwZWIwZTJmYTIwODk4N2M5NmFkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU5NzM4NDEwYWRlOWYwZTYxYTEzYzBmNzdkOWFhZmZhYWZlNDliYTk0MTgxMDdlNGFkNzVmZTUyODQ2Zjc0ODciCisKK0RFUEVORFMgPSAiYmx1ZXo0IGdzdC1wbHVnaW5zLWJhc2UiCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1lbmFibGUtZ3N0cmVhbWVyIFwKKyIKKworIyBjbGVhbiB1bndhbnRlZCBmaWxlcworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLXJmICR7RH0ke2JpbmRpcn0KKyAgICBybSAtcmYgJHtEfSR7c2JpbmRpcn0KKyAgICBybSAtZiAgJHtEfSR7bGliZGlyfS9saWIqCisgICAgcm0gLXJmICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnCisgICAgcm0gLXJmICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgcm0gLXJmICR7RH0ke2Jhc2VfbGliZGlyfQorICAgIHJtIC1yZiAke0R9JHtsaWJkaXJ9L2JsdWV0b290aAorICAgIHJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfQorICAgIHJtIC1yZiAke0R9JHtsaWJkaXJ9L2Fsc2EtbGliCisgICAgcm0gLXJmICR7RH0ke2RhdGFkaXJ9CisgICAgcm0gLXJmICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgcm0gLXJmICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9Cit9CisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC9saWIqLnNvIgorRklMRVNfJHtQTn0tZGV2ICs9ICJcCisgICAgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyoubGEgXAorIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIlwKKyAgICAke2xpYmRpcn0vKi8uZGVidWcgXAorIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2FtbXUvZ2FtbXUvZ2FtbXUtc21zZHJjIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhbW11L2dhbW11L2dhbW11LXNtc2RyYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTQxM2MyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhbW11L2dhbW11L2dhbW11LXNtc2RyYwpAQCAtMCwwICsxLDgwIEBACisjIFRoaXMgaXMgYSBzYW1wbGUgR2FtbXUgU01TRCBjb25maWd1cmF0aW9uIGZpbGUuIEl0J3MgcmVxdWlyZWQgZm9yIGdhbW11LXNtc2QsCisjIHNlZSBnYW1tdS1zbXNkcmMoNSkgZm9yIGRvY3VtZW50YXRpb24uCisKKyMgR2FtbXUgY29uZmlndXJhdGlvbiwgdGhpcyBzZWN0aW9uIGlzIGxpa2Ugc2VjdGlvbiAiZ2FtbXUiIGluICJnYW1tdXJjIiBmaWxlLAorIyBzZWUgZ2FtbXVyYyg1KSBmb3IgZG9jdW1lbnRhdGlvbi4KK1tnYW1tdV0KK2RldmljZSA9IC9kZXYvdHR5VVNCMAorbW9kZWwgPSBhdDExNTIwMAorI2Nvbm5lY3Rpb24gPSBkbHIzCisjc3luY2hyb25pemV0aW1lID0geWVzCisjbG9nZmlsZSA9IGdhbW11bG9nICMgdGhpcyBpcyBub3QgdXNlZCBhdCBhbGwgaW4gU01TRCBtb2RlCisjbG9nZm9ybWF0ID0gdGV4dGFsbAorI3VzZV9sb2NraW5nID0geWVzCisjZ2FtbXVsb2MgPSBnYW1tdS51cworI3N0YXJ0aW5mbyA9IHllcworCisjIFdoZW4gdW5jb21tZW50IHRoaXMgc2VjdGlvbiBhbmQgaW5zZXJ0IG51bWJlcnMgaGVyZSwgc21zZCB3aWxsIHByb2Nlc3MKKyMgaW5jb21pbmcgc21zIG9ubHkgZnJvbSBudW1iZXJzIHdyaXR0ZW4gaGVyZSAoaW5jb21pbmcgc21zIGZyb20gYWxsIG90aGVyCisjIG51bWJlcnMgd2lsbCBiZSBkZWxldGVkKQorI1tpbmNsdWRlX251bWJlcnNdCisjbnVtYmVyMSA9IDEyMzQKKworIyBXaGVuIHVuY29tbWVudCB0aGlzIHNlY3Rpb24gYW5kIGluc2VydCBudW1iZXJzIGhlcmUsIHNtc2Qgd2lsbCBwcm9jZXNzCisjIGluY29taW5nIHNtcyBmcm9tIGFsbCBudW1iZXJzIG5vdCB3cml0dGVuIGhlcmUgKGluY29taW5nIHNtcyBmcm9tIG51bWJlcnMKKyMgd3JpdHRlbiBoZXJlIHdpbGwgYmUgZGVsZXRlZCkuIFRoaXMgaXMgImJsYWNrIiBsaXN0LgorIyBOb3RlOiBhZnRlciB1c2luZyAiaW5jbHVkZV9udW1iZXJzIiBzZWN0aW9uIHRoaXMgb25lIHdpbGwgYmUgaWdub3JlZAorI1tleGNsdWRlX251bWJlcnNdCisjbnVtYmVyMSA9IDEyMzQKKworIyBHZW5lcmFsIFNNU0Qgc2V0dGluZ3MsIHNlZSBnYW1tdS1zbXNkcmMoNSkgZm9yIGRldGFpbGVkIGRlc2NyaXB0aW9uLgorW3Ntc2RdCisjIFNNU0Qgc2VydmljZSB0byB1c2UsIG9uZSBvZiBGSUxFUywgTVlTUUwsIFBHU1FMLCBEQkkKK3NlcnZpY2UgPSBmaWxlcworIyBQSU4gZm9yIFNJTSBjYXJkCitQSU4gPSAwMDAwCisjIEZpbGUgKG9yIHN0ZGVyciwgc3lzbG9nLCBldmVudGxvZykgd2hlcmUgaW5mb3JtYXRpb24gd2lsbCBiZSBsb2dnZWQKK2xvZ2ZpbGUgPSBzbXNkbG9nCisjIEFtb3VudCBvZiBpbmZvcm1hdGlvbiBiZWluZyBsb2dnZWQsIGVhY2ggYml0IG1lYW4gb25lIGxldmVsCitkZWJ1Z2xldmVsID0gMAorIyBDb25maWd1cmF0aW9uIGZvciB1c2luZyBtb3JlIHBob25lcyBvbiBzYW1lIGRhdGFiYXNlCisjcGhvbmVpZCA9IE15UGhvbmUxCisjIFNjcmlwdCB0byBiZSBleGVjdXRlZCB3aGVuIG5ldyBtZXNzYWdlIGhhcyBiZWVuIHJlY2VpdmVkCisjcnVub25yZWNlaXZlID0gL3NvbWUvc2NyaXB0CisjIENvbW1pY2F0aW9uIGZyZXF1ZW5jeSBzZXR0aW5ncworY29tbXRpbWVvdXQgPSAzMAorc2VuZHRpbWVvdXQgPSAzMAorI3JlY2VpdmVmcmVxdWVuY3kgPSAwCisKKyMgUGhvbmUgY29tbXVuaWNhdGlvbiBzZXR0aW5ncworI2NoZWNrc2VjdXJpdHkgPSAxCisjcmVzZXRmcmVxdWVuY3kgPSAwCisKKyMgRGVsaXZlcnkgcmVwb3J0IGNvbmZpZ3VyYXRpb24KKyNkZWxpdmVyeXJlcG9ydCA9IG5vCisjZGVsaXZlcnlyZXBvcnRkZWxheSA9IDEwCisKKyMgSWdub3JpbmcgYnJva2VuIFNNU0MKKyNza2lwc21zY251bWJlciA9ICs0ODYwMjEyMzQ1NgorCisjIERhdGFiYXNlIGJhY2tlbmRzIGNvbmdmaWd1cmF0aW9uCit1c2VyID0gZ2FtbXUKK3Bhc3N3b3JkID0gZ2FtbXVwYXNzd29yZAorcGMgPSBsb2NhbGhvc3QKKyMgcGMgY2FuIGFsc28gY29udGFpbiBwb3J0IG9yIHNvY2tldCBwYXRoIGFmdGVyIGNvbG9uIChlZy4gbG9jYWxob3N0Oi9wYXRoL3RvL3NvY2tldCkKK2RhdGFiYXNlID0gc21zCisKKyMgREJJIGNvbmZpZ3VyYXRpb24KK2RyaXZlciA9IHNxbGl0ZQorIyBkcml2ZXJzcGF0aCA9IC91c3IvbGliL2RiZC8KKyMgRGF0YWJhc2UgZGlyZWN0b3J5IGZvciBzcWxpdGUKKyMgZGJkaXIgPSAvdmFyL2xpYi9zbXNkCisKKyMgRmlsZXMgYmFja2VuZCBjb25maWd1cmF0aW9uCitpbmJveHBhdGggPSAvdmFyL3Nwb29sL3Ntcy9pbmJveC8KK291dGJveHBhdGggPSAvdmFyL3Nwb29sL3Ntcy9vdXRib3gvCitzZW50c21zcGF0aCA9IC92YXIvc3Bvb2wvc21zL3NlbnQvCitlcnJvcnNtc3BhdGggPSAvdmFyL3Nwb29sL3Ntcy9lcnJvci8KK2luYm94Zm9ybWF0ID0gZGV0YWlsCit0cmFuc21pdGZvcm1hdCA9IGF1dG8KK291dGJveGZvcm1hdCA9IGRldGFpbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhbW11L2dhbW11L2dhbW11cmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2FtbXUvZ2FtbXUvZ2FtbXVyYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTVkNzM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhbW11L2dhbW11L2dhbW11cmMKQEAgLTAsMCArMSwxNzMgQEAKKzsgVGhpcyBpcyBhIHNhbXBsZSB+Ly5nYW1tdXJjIGZpbGUuCis7IEluIFVuaXgvTGludXggIGNvcHkgaXQgaW50byB5b3VyIGhvbWUgZGlyZWN0b3J5IGFuZCBuYW1lIGl0IC5nYW1tdXJjCis7ICAgICAgICAgICAgICAgIG9yIGludG8gL2V0YyBhbmQgbmFtZSBpdCBnYW1tdXJjCis7IEluIFdpbjMyICAgICAgIGNvcHkgaXQgaW50byBkaXJlY3Rvcnkgd2l0aCBHYW1tdS5leGUgYW5kIG5hbWUgZ2FtbXVyYworOyBNb3JlIGFib3V0IHBhcmFtZXRlcnMgbGF0ZXIKKzsgQW55dGhpbmcgYmVoaW5kIDsgb3IgIyBpcyBjb21tZW50LgorOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitbZ2FtbXVdCisKK2RldmljZSA9IC9kZXYvdHR5VVNCMAorY29ubmVjdGlvbiA9IGF0MTE1MjAwCis7IERvIG5vdCB1c2UgbW9kZWwgY29uZmlndXJhdGlvbiB1bmxlc3MgeW91IHJlYWxseSBuZWVkIGl0Cis7bW9kZWwgPSA2MTEwCis7c3luY2hyb25pemV0aW1lID0geWVzCis7bG9nZmlsZSA9IGdhbW11bG9nCis7bG9nZm9ybWF0ID0gdGV4dGFsbAorO3VzZV9sb2NraW5nID0geWVzCis7Z2FtbXVsb2MgPSBsb2NmaWxlCis7c3RhcnRpbmZvID0geWVzCis7Z2FtbXVjb2RpbmcgPSB1dGY4Cis7dXNlcGhvbmVkYiA9IHllcworCis7W2dhbW11MV0KKworO2RldmljZSA9IGNvbTg6Cis7bW9kZWwgPSA2MTEwCis7Y29ubmVjdGlvbiA9IGZidXNibHVlCis7c3luY2hyb25pemV0aW1lID0geWVzCis7bG9nZmlsZSA9IGdhbW11bG9nCis7bG9nZm9ybWF0ID0gdGV4dGFsbAorO3VzZV9sb2NraW5nID0geWVzCis7Z2FtbXVsb2MgPSBsb2NmaWxlCis7c3RhcnRpbmZvID0geWVzCis7Z2FtbXVjb2RpbmcgPSB1dGY4CisKKzsgU3RlcCAxLiBQbGVhc2UgZmluZCByZXF1aXJlZCBDb25uZWN0aW9uIHBhcmFtZXRlciBhbmQgbG9vayBpbnRvIGFzc2lnbmVkIAorOyB3aXRoIGl0IGRldmljZSB0eXBlLiBXaXRoIHNvbWUgQ29ubmVjdGlvbiB5b3UgbXVzdCBzZXQgY29uY3JldGUgbW9kZWwKKworOyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IGNhYmxlcyA9PT09PQorOyBOZXcgTm9raWEgcHJvdG9jb2wgZm9yIEZCVVMvREFVOVAKKzsgICAgQ29ubmVjdGlvbiAiZmJ1cyIsIGRldmljZSB0eXBlIHNlcmlhbAorOyBOZXcgTm9raWEgcHJvdG9jb2wgZm9yIERMUjMvRExSM1AKKzsgICAgQ29ubmVjdGlvbiAiZmJ1c2RscjMiLyJkbHIzIiwgZGV2aWNlIHR5cGUgc2VyaWFsIAorOyBOZXcgTm9raWEgcHJvdG9jb2wgZm9yIERLVTIgKGFuZCBwaG9uZSB3aXRoIFVTQiBjb252ZXJ0ZXIgb24gcGhvbmUgbWFpbmJvYXJkCis7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSA2MjMwKQorOyAgICBDb25uZWN0aW9uICJka3UycGhvbmV0Ii8iZGt1MiIsIGRldmljZSB0eXBlIGRrdTIgb24gV2luZG93cworOyAgICBDb25uZWN0aW9uICJmYnVzdXNiIiBvbiBMaW51eAorOyBOZXcgTm9raWEgcHJvdG9jb2wgZm9yIERLVTUgKGFuZCBwaG9uZSB3aXRob3V0IFVTQiBjb252ZXJ0ZXIgb24gcGhvbmUKKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluYm9hcmQgbGlrZSA1MTAwKQorOyAgICBDb25uZWN0aW9uICJka3U1ZmJ1cyIvImRrdTUiLCBkZXZpY2UgdHlwZSBka3U1Cis7IE5ldyBOb2tpYSBwcm90b2NvbCBmb3IgUEwyMzAzIFVTQiBjYWJsZSAoYW5kIHBob25lIHdpdGhvdXQgVVNCIGNvbnZlcnRlcgorOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIHBob25lIG1haW5ib2FyZCBsaWtlIDUxMDApCis7ICAgIENvbm5lY3Rpb24gImZidXNwbDIzMDMiLCBkZXZpY2UgdHlwZSB1c2IKKzsgT2xkIE5va2lhIHByb3RvY29sIGZvciBNQlVTL0RBVTlQCis7ICAgIENvbm5lY3Rpb24gIm1idXMiLCBkZXZpY2UgdHlwZSBzZXJpYWwKKzsgVmFyaWFudHM6IAorOyBZb3UgY2FuIG1vZGlmeSBhIGJpdCBiZWhhdmlvdXIgb2YgY29ubmVjdGlvbiB1c2luZyBhZGRpdGlvbmFsIGZsYWdzCis7IHNwZWNpZmllZCBqdXN0IGFmdGVyIGNvbm5lY3Rpb24gbmFtZSBsaWtlIGNvbm5lY3Rpb24tdmFyaWFudC4KKzsgSWYgeW91J3JlIHVzaW5nIEFSSzMxMTYgY2FibGUgKG9yIGFueSBvdGhlciB3aGljaCBkb2VzIG5vdCBsaWtlIGR0ciAKKzsgaGFuZGxpbmcpLCB5b3UgbWlnaHQgbmVlZCAtbm9kdHIgdmFyaWFudCBvZiBjb25uZWN0aW9uLCBlZy4gZGxyMy1ub2R0ci4KKzsgSWYgY2FibGUgeW91IHVzZSBpcyBub3QgcG93ZXJlZCBvdmVyIERUUi9SVFMsIHRyeSB1c2luZyAtbm9wb3dlciB2YXJpYW50IG9mIAorOyBjb25uZWN0aW9uLCBlZy4gZmJ1cy1ub3Bvd2VyLgorOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBBVCBjb21tYW5kcyBmb3IgRExSMywgREtVNSBvciBvdGhlciBBVCBjb21wYXRpYmxlIGNhYmxlICg4IGJpdHMsIE5vbmUKKzsgcGFyaXR5LCBubyBmbG93IGNvbnRyb2wsIDEgc3RvcCBiaXQpLiBVc2VkIHdpdGggTm9raWEsIEFsY2F0ZWwsIFNpZW1lbnMsIGV0Yy4KKzsgICAgQ29ubmVjdGlvbiAiYXQxOTIwMCIvImF0MTE1MjAwIi8uLiwgZGV2aWNlIHR5cGUgc2VyaWFsCis7IEFUIGNvbW1hbmRzIGZvciBES1UyIGNhYmxlCis7ICAgIENvbm5lY3Rpb24gImRrdTJhdCIsIGRldmljZSB0eXBlIGRrdTIKKzsgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gaW5mcmFyZWQgPT09PT0KKzsgTm9raWEgcHJvdG9jb2wgZm9yIGluZnJhcmVkIHdpdGggTm9raWEgNjExMC82MTMwLzYxNTAKKzsgICAgQ29ubmVjdGlvbiAiZmJ1c2lyZGEiLyJpbmZyYXJlZCIsIGRldmljZSB0eXBlIHNlcmlhbAorOyBOb2tpYSBwcm90b2NvbCBmb3IgaW5mcmFyZWQgd2l0aCBvdGhlciBOb2tpYSBtb2RlbHMKKzsgICAgQ29ubmVjdGlvbiAiaXJkYXBob25ldCIvImlyZGEiLCBkZXZpY2UgdHlwZSBpcmRhCis7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IEFUIGNvbW1hbmRzIGZvciBpbmZyYXJlZC4gVXNlZCB3aXRoIE5va2lhLCBBbGNhdGVsLCBTaWVtZW5zLCBldGMuCis7ICAgIENvbm5lY3Rpb24gImlyZGFhdCIsIGRldmljZSB0eXBlIGlyZGEKKzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzsgT0JFWCBmb3IgaW5mcmFyZWQKKzsgICAgQ29ubmVjdGlvbiAiaXJkYW9iZXgiLCBkZXZpY2UgdHlwZSBpcmRhLgorOyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IEJsdWV0b290aCA9PT09PQorOyBOb2tpYSBwcm90b2NvbCB3aXRoIHNlcmlhbCBkZXZpY2Ugc2V0IGluIEJUIHN0YWNrIChXaWRDb21tLCBvdGhlcikgZnJvbQorOyBhZGVxdWF0ZSBzZXJ2aWNlIGFuZCBOb2tpYSA2MjEwCis7ICAgIENvbm5lY3Rpb24gImZidXNibHVlIiwgZGV2aWNlIHR5cGUgc2VyaWFsCis7IE5va2lhIHByb3RvY29sIHdpdGggc2VyaWFsIGRldmljZSBzZXQgaW4gQlQgc3RhY2sgKFdpZENvbW0sIG90aGVyKSBmcm9tCis7IGFkZXF1YXRlIHNlcnZpY2UgYW5kIG90aGVyIE5va2lhIG1vZGVscworOyAgICBDb25uZWN0aW9uICJwaG9uZXRibHVlIiwgZGV2aWNlIHR5cGUgc2VyaWFsCis7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IE5va2lhIHByb3RvY29sIGZvciBCbHVldG9vdGggc3RhY2sgd2l0aCBOb2tpYSA2MjEwCis7ICAgIENvbm5lY3Rpb24gImJsdWVyZmZidXMiLCBkZXZpY2UgdHlwZSBCVAorOyBOb2tpYSBwcm90b2NvbCBmb3IgQmx1ZXRvb3RoIHN0YWNrIHdpdGggRENUNCBOb2tpYSBtb2RlbHMsIHdoaWNoIGRvbid0IGluZm9ybQorOyBhYm91dCBzZXJ2aWNlcyBjb3JyZWN0bHkgKDYzMTAsIDYzMTBpIHdpdGggZmlybXdhcmUgbG93ZXIgdGhhbiA1LjUwLCA4OTEwLC4uKQorOyAgICBDb25uZWN0aW9uICJibHVlcmZwaG9uZXQiLCBkZXZpY2UgdHlwZSBCVAorOyBOb2tpYSBwcm90b2NvbCBmb3IgQmx1ZXRvb3RoIHN0YWNrIHdpdGggb3RoZXIgRENUNCBOb2tpYSBtb2RlbHMKKzsgICAgQ29ubmVjdGlvbiAiYmx1ZXBob25ldCIsIGRldmljZSB0eXBlIEJUCis7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IEFUIGNvbW1hbmRzIGZvciBCbHVldG9vdGggc3RhY2sgYW5kIDYyMTAgLyBEQ1Q0IE5va2lhIG1vZGVscywgd2hpY2ggZG9uJ3QKKzsgaW5mb3JtIGFib3V0IEJUIHNlcnZpY2VzIGNvcnJlY3RseSAoNjMxMCwgNjMxMGkgd2l0aCBmaXJtd2FyZSBsb3dlciAKKzsgdGhhbiA1LjUwLCA4OTEwLC4uKQorOyAgICBDb25uZWN0aW9uICJibHVlcmZhdCIsIGRldmljZSB0eXBlIEJUCis7IEFUIGNvbW1hbmRzIGZvciBCbHVldG9vdGggc3RhY2sgd2l0aCBvdGhlciBwaG9uZXMgKFNpZW1lbnMsIG90aGVyIE5va2lhLGV0Yy4pCis7ICAgIENvbm5lY3Rpb24gImJsdWVhdCIsIGRldmljZSB0eXBlIEJUCis7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IE9CRVggZm9yIEJsdWV0b290aCBzdGFjayB3aXRoIERDVDQgTm9raWEgbW9kZWxzLCB3aGljaCBkb24ndCBpbmZvcm0gYWJvdXQKKzsgQlQgc2VydmljZXMgY29ycmVjdGx5ICg2MzEwLCA2MzEwaSB3aXRoIGZpcm13YXJlIGxvd2VyIHRoYW4gNS41MCwgODkxMCwuLi4pCis7ICAgIENvbm5lY3Rpb24gImJsdWVyZm9iZXgiLCBkZXZpY2UgdHlwZSBCVAorOyBPQkVYIGZvciBCbHVldG9vdGggc3RhY2sgd2l0aCBvdGhlciBwaG9uZXMgKFNpZW1lbnMsIG90aGVyIE5va2lhLCBldGMuKQorOyAgICBDb25uZWN0aW9uICJibHVlb2JleCIsIGRldmljZSB0eXBlIEJULgorOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyAgICBDb25uZWN0aW9uICJibHVlcmZnbmFwYnVzIiwgZGV2aWNlIHR5cGUgQlQsIG1vZGVsICJnbmFwIgorOyAgICBDb25uZWN0aW9uICJpcmRhZ25hcGJ1cyIsIGRldmljZSB0eXBlIGlyZGEsIG1vZGVsICJnbmFwIgorCis7IFN0ZXAyLiBBY2NvcmRpbmcgdG8gZGV2aWNlIHR5cGUgZnJvbSBTdGVwMSBhbmQgdXNlZCBPUyBzZXQgUG9ydCBwYXJhbWV0ZXIKKworOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBQb3J0IHR5cGUgfCAiUG9ydCIgcGFyYW1ldGVyIGluIFdpbmRvd3MvRE9TIHwgIlBvcnQiIHBhcmFtZXRlciBpbiBMaW51eC9Vbml4Cis7IC0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IHNlcmlhbCAgICB8ICJjb20qOiIgICAgICAgICAgICAgICAgICAgICAgICAgfCAiL2Rldi90dHlTKiIKKzsgICAgICAgICAgIHwgKGV4YW1wbGUgImNvbTE6IikgICAgICAgICAgICAgICB8IChleGFtcGxlICIvZGV2L3R0eVMxIikKKzsgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yICIvZGV2L3R0cy8qKiIgKHdpdGggRGV2RlMpCis7ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB2aXJ0dWFsIHNlcmlhbCBwb3J0cyBsaWtlCis7ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAiL2Rldi9pcmNvbW0qIiBvciAiL2Rldi9yZmNvbW0qIgorOyAtLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBpcmRhICAgICAgfCBpZ25vcmVkIChjYW4gYmUgZW1wdHkpICAgICAgICAgIHwgaWdub3JlZCAoY2FuIGJlIGVtcHR5KQorOyAtLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBCVCAgICAgICAgfCBCbHVldG9vdGggZGV2aWNlIGFkZHJlc3MgKGV4YW1wbGUgIjAwOjExOjIyOjMzOjQ0OjU1IikuCis7ICAgICAgICAgICB8IE9wdGlvbmFsbHkgeW91IGNhbiBhbHNvIGluY2x1ZGUgY2hhbm5lbCBhZnRlciBzbGFzaAorOyAgICAgICAgICAgfCAoZXhhbXBsZSAiMDA6MTE6MjI6MzM6NDQ6NTUvMTIiKS4gQ2FuIGJlIGFsc28gZW1wdHkuCis7IC0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IGRrdTIgICAgICB8IGlnbm9yZWQgKGNhbiBiZSBlbXB0eSkgICAgICAgICAgfCAvZGV2L3R0eVVTQiogb3IgL2Rldi90dHlBQ00qCis7IC0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IGRrdTUgICAgICB8IGlnbm9yZWQgKGNhbiBiZSBlbXB0eSkgICAgICAgICAgfCBjb25uZWN0aW9uIHdpdGggaXQgbm90IHBvc3NpYmxlCis7IC0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IHVzYiAgICAgICB8IGNvbm5lY3Rpb24gd2l0aCBpdCBub3QgcG9zc2libGUgfCAiL2Rldi90dHlVU0IqIgorCis7IFN0ZXAzLiBTZXQgb3RoZXIgY29uZmlnIHBhcmFtZXRlcnMKKworOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBQYXJhbWV0ZXIgbmFtZSAgfCBEZXNjcmlwdGlvbgorOyAtLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBNb2RlbCAgICAgICAgICAgfCBTaG91bGQgbm90IGJlIHVzZWQgdW5sZXNzIHlvdSBoYXZlIGEgZ29vZCByZWFzb24gdG8gZG8gc28uCis7ICAgICAgICAgICAgICAgICB8IElmIEdhbW11IGRvZXNuJ3QgcmVjb2duaXplIHlvdXIgcGhvbmUgbW9kZWwsIHB1dCBpdCBoZXJlLiAKKzsgICAgICAgICAgICAgICAgIHwgRXhhbXBsZSB2YWx1ZXM6ICI2MTEwIiwgIjYxNTAiLCAiNjIxMCIsICI4MjEwIgorOyBTeW5jaHJvbml6ZVRpbWUgfCBpZiB5b3Ugd2FudCB0byBzZXQgdGltZSBmcm9tIGNvbXB1dGVyIHRvIHBob25lIGR1cmluZworOyAgICAgICAgICAgICAgICAgfCBzdGFydGluZyBjb25uZWN0aW9uLiBEbyBub3QgcmF0aGVyIHVzZSB0aGlzIG9wdGlvbiB3aGVuCis7ICAgICAgICAgICAgICAgICB8IHdoZW4gdG8gcmVzZXQgcGhvbmUgZHVyaW5nIGNvbm5lY3Rpb24gKGluIHNvbWUgcGhvbmVzIG5lZWQKKzsgICAgICAgICAgICAgICAgIHwgdG8gc2V0IHRpbWUgYWdhaW4gYWZ0ZXIgcmVzdGFydCkKKzsgR2FtbXVMb2MgICAgICAgIHwgbmFtZSBvZiBsb2NhbGlzYXRpb24gZmlsZQorOyBTdGFydEluZm8gICAgICAgfCB0aGlzIG9wdGlvbiBhbGxvdyB0byBzZXQsIHRoYXQgeW91IHdhbnQgKHNldHRpbmcgInllcyIpCis7ICAgICAgICAgICAgICAgICB8IHRvIHNlZSBtZXNzYWdlIG9uIHRoZSBwaG9uZSBzY3JlZW4gb3IgcGhvbmUgc2hvdWxkIGVuYWJsZQorOyAgICAgICAgICAgICAgICAgfCBsaWdodCBmb3IgYSBtb21lbnQgZHVyaW5nIHN0YXJ0aW5nIGNvbm5lY3Rpb24uIFBob25lCis7ICAgICAgICAgICAgICAgICB8IFdPTidUIGJlZXAgZHVyaW5nIHN0YXJ0aW5nIGNvbm5lY3Rpb24gd2l0aCB0aGlzIG9wdGlvbi4KKzsgR2FtbXVDb2RpbmcgICAgIHwgZm9yY2VzIHVzaW5nIHNwZWNpZmllZCBjb2RlcGFnZSAoaW4gd2luMzIgLSBmb3IgZXhhbXBsZQorOyAgICAgICAgICAgICAgICAgfCAiMTI1MCIgd2lsbCBmb3JjZSBDUDEyNTApIG9yIFVURjggKGluIExpbnV4IC0gInV0ZjgiKQorOyAtLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBMb2dmaWxlICAgICAgICAgfCBVc2UsIHdoZW4gd2FudCB0byBoYXZlIGxvZ2ZpbGUgZnJvbSBjb21tdW5pY2F0aW9uLgorOyBMb2dmb3JtYXQgICAgICAgfCBXaGF0IGRlYnVnIGluZm8gYW5kIGZvcm1hdCBzaG91bGQgYmUgdXNlZDoKKzsgICAgICAgICAgICAgICAgIHwgICAibm90aGluZyIgLSBubyBkZWJ1ZyBsZXZlbCAoZGVmYXVsdCkKKzsgICAgICAgICAgICAgICAgIHwgICAidGV4dCIgICAgLSB0cmFuc21pc3Npb24gZHVtcCBpbiB0ZXh0IGZvcm1hdAorOyAgICAgICAgICAgICAgICAgfCAgICJ0ZXh0YWxsIiAtIGFsbCBwb3NzaWJsZSBpbmZvIGluIHRleHQgZm9ybWF0Cis7ICAgICAgICAgICAgICAgICB8ICAgImVycm9ycyIgIC0gZXJyb3JzIGluIHRleHQgZm9ybWF0Cis7ICAgICAgICAgICAgICAgICB8ICAgImJpbmFyeSIgIC0gdHJhbnNtaXNzaW9uIGR1bXAgaW4gYmluYXJ5IGZvcm1hdAorOyAtLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorOyBGZWF0dXJlcyAgICAgICAgfCBDdXN0b20gZmVhdHVyZXMgZm9yIHBob25lLiBUaGlzIGNhbiBiZSB1c2VkIGFzIG92ZXJyaWRlCis7ICAgICAgICAgICAgICAgICB8IHdoZW4gdmFsdWVzIGNvZGVkIGluIGNvbW1vbi9nc21waG9uZXMuYyBhcmUgYmFkIG9yCis7ICAgICAgICAgICAgICAgICB8IG1pc3NpbmcuIENvbnN1bHQgaW5jbHVkZS9nYW1tdS1pbmZvLmggZm9yIHBvc3NpYmxlIHZhbHVlcworOyAgICAgICAgICAgICAgICAgfCAoYWxsIEZlYXR1cmUgdmFsdWVzIHdpdGhvdXQgbGVhZGluZyBGXyBwcmVmaXgpLgorOyAgICAgICAgICAgICAgICAgfCBQbGVhc2UgcmVwb3J0IGNvcnJlY3QgdmFsdWVzIHRvIEdhbW11IGF1dGhvcnMuCis7IC0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis7IFVzZV9Mb2NraW5nICAgICB8IHVuZGVyIFVuaXgvTGludXggdXNlICJ5ZXMiLCBpZiB3YW50IHRvIGxvY2sgdXNlZCBkZXZpY2UKKzsgICAgICAgICAgICAgICAgIHwgdG8gcHJldmVudCB1c2luZyBpdCBieSBvdGhlciBhcHBsaWNhdGlvbnMuIEluIHdpbjMyIGlnbm9yZWQKKworOyB2aW06IGV0IHRzPTQgc3c9NCBzdHM9NCB0dz03OCBzcGVsbCBzcGVsbGxhbmc9ZW5fdXMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYW1tdS9nYW1tdV8xLjMyLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2FtbXUvZ2FtbXVfMS4zMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzM2I0MzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2FtbXUvZ2FtbXVfMS4zMi4wLmJiCkBAIC0wLDAgKzEsNjggQEAKK1NVTU1BUlkgPSAiR05VIEFsbCBNb2JpbGUgTWFuYWdtZW50IFV0aWxpdGllcyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorREVQRU5EUyA9ICJjbWFrZS1uYXRpdmUgdmlydHVhbC9saWJpY29udiBsaWJkYmkgbXlzcWw1IGdsaWItMi4wIHVkZXYgbGliZ3VkZXYiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTE3Y2IwYTg3M2QyNTI0NDBhY2ZkZjliM2QwZTdmYmYiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdhbW11Lm9yZy8iCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0vJHtQVn0vJHtCUH0udGFyLmJ6MiBcCisgICAgZmlsZTovL2dhbW11cmMgXAorICAgIGZpbGU6Ly9nYW1tdS1zbXNkcmMgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGVhMTZjNmIzY2M0ODA5N2E4ZTYyMzExZmUwZTI1YjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGU2N2NhYTEwMmFhNGM4ZmJlZDUzMDBlNWEwMjYyZTQwNDExYzRjYzc5ZjQzNzlhOGQzNGVlZDc5Nzk2OGZjMyIKKworaW5oZXJpdCBkaXN0dXRpbHMgY21ha2UgZ2V0dGV4dAorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIHRoZXNlIGZpbGVzIHNlZW0gdG8gb25seSBiZSB1c2VkIGJ5IHN5bWJpYW4gYW5kIHRyaWdnZXIgUUEgd2FybmluZ3MKKyAgICBybSAtcmYgJHtEfS91c3Ivc2hhcmUvZ2FtbXUKKyAgICAjaW5zdGFsbCBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZmlsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZ2FtbXVyYyAke0R9JHtzeXNjb25mZGlyfS9nYW1tdXJjCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZ2FtbXUtc21zZHJjICR7RH0ke3N5c2NvbmZkaXJ9L2dhbW11LXNtc2RyYworfQorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWVuYWJsZS1zaGFyZWQgXAorICAgIC0tZW5hYmxlLWJhY2t1cCBcCisgICAgLS1lbmFibGUtcHJvdGVjdGlvbiBcCisiCisKK0VYVFJBX09FQ01BS0UgPSAiIFwKKyAgICAtRFdJVEhfQ1VSTD1PRkYgXAorICAgIC1EV0lUSF9CTFVFVE9PVEg9T0ZGIFwKKyAgICAtRFdJVEhfTk9LSUFfU1VQUE9SVD1PRkYgXAorICAgIC1EV0lUSF9JUkRBPU9GRiBcCisgICAgLURXSVRIX1BZVEhPTj1PRkYgXAorICAgIC1EV0lUSF9NeVNRTD1PTiBcCisgICAgLURXSVRIX1Bvc3RncmVzPU9GRiBcCisiCisKK1BBQ0tBR0VTID0rICIke1BOfS1zbXNkIGxpYmdhbW11IGxpYmdzbXNkIHB5dGhvbi0ke1BOfSIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9L2dhbW11ICR7YmluZGlyfS9qYWRtYWtlciAke3N5c2NvbmZkaXJ9L2Jhc2hfY29tcGxldGlvbi5kL2dhbW11IFwKKyAgICAke2JpbmRpcn0vZ2FtbXUtZGV0ZWN0ICR7c3lzY29uZmRpcn0vZ2FtbXVyYyIKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L2dhbW11cmMiCitGSUxFU18ke1BOfS1zbXNkID0gIiR7YmluZGlyfS9nYW1tdS1zbXNkKiAke3N5c2NvbmZkaXJ9L2dhbW11LXNtc2RyYyIKK0NPTkZGSUxFU18ke1BOfS1zbXNkID0gIiR7c3lzY29uZmRpcn0vZ2FtbXUtc21zZHJjIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0vZ2FtbXUtY29uZmlnICR7bGliZGlyfS8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2JpbmRpcn0vLmRlYnVnICR7bGliZGlyfS8uZGVidWcgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vZ2FtbXUvLmRlYnVnIgorRklMRVNfbGliZ2FtbXUgPSAiJHtsaWJkaXJ9L2xpYkdhbW11LnNvLioiCitGSUxFU19saWJnc21zZCA9ICIke2xpYmRpcn0vbGliZ3Ntc2Quc28uKiIKK0ZJTEVTX3B5dGhvbi0ke1BOfSA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9nYW1tdS8qLj8/IgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCIKK1JERVBFTkRTXyR7UE59LWRldiArPSAiYmFzaCIKKworIyBGYWlscyB0byBidWlsZCB3aXRoIHRodW1iLTEgKHFlbXVhcm0pCisjIGdhbW11LTEuMzIuMC9saWJnYW1tdS9zZXJ2aWNlL3Ntcy9nc21lbXMuYzo1NDI6MTogaW50ZXJuYWwgY29tcGlsZXIgZXJyb3I6IGluIHBhdGNoX2p1bXBfaW5zbiwgYXQgY2ZncnRsLmM6MTI3NQorIyB8ICB9CisjIHwgIF4KKyMgfCBQbGVhc2Ugc3VibWl0IGEgZnVsbCBidWcgcmVwb3J0LAorIyB8IHdpdGggcHJlcHJvY2Vzc2VkIHNvdXJjZSBpZiBhcHByb3ByaWF0ZS4KKyMgfCBTZWUgPGh0dHA6Ly9nY2MuZ251Lm9yZy9idWdzLmh0bWw+IGZvciBpbnN0cnVjdGlvbnMuCisjIHwgbWFrZVsyXTogKioqIFtsaWJnYW1tdS9DTWFrZUZpbGVzL2xpYkdhbW11LmRpci9zZXJ2aWNlL3Ntcy9nc21lbXMub10gRXJyb3IgMQorIyB8IG1ha2VbMl06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nbm9raWkvZ25va2lpXzAuNi4zMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nbm9raWkvZ25va2lpXzAuNi4zMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmQ3OTRkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dub2tpaS9nbm9raWlfMC42LjMxLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiQ2VsbHBob25lIHRvb2xzIGFuZCBkcml2ZXIgc29mdHdhcmUiCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5nbm9raWkub3JnL2Rvd25sb2FkL2dub2tpaS9nbm9raWktJHtQVn0udGFyLmJ6MiIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKK1gxMURFUEVORFMgPSAiIGxpYnhwbSBndGsrIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbYmx1ZXo0XSA9ICItLWVuYWJsZS1ibHVldG9vdGgsLS1kaXNhYmxlLWJsdWV0b290aCxibHVlejQiCitQQUNLQUdFQ09ORklHW2xpYmljYWxdID0gIi0tZW5hYmxlLWxpYmljYWwsLS1kaXNhYmxlLWxpYmljYWwsbGliaWNhbCIKK1BBQ0tBR0VDT05GSUdbcGNzYy1saXRlXSA9ICItLWVuYWJsZS1saWJwY3NjbGl0ZSwtLWRpc2FibGUtbGlicGNzY2xpdGUscGNzYy1saXRlIgorUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS13aXRoLXJlYWRsaW5lLC0td2l0aG91dC1yZWFkbGluZSxyZWFkbGluZSIKK1BBQ0tBR0VDT05GSUdbdXNiXSA9ICItLWVuYWJsZS1saWJ1c2IsLS1kaXNhYmxlLWxpYnVzYix2aXJ0dWFsL2xpYnVzYjAiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLC0td2l0aG91dC14LCR7WDExREVQRU5EU30iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitQQUNLQUdFUyArPSAibGliZ25va2lpIGxpYmdub2tpaS1kZXYiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtc21zZCIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9ICR7c2JpbmRpcn0iCitGSUxFU19saWJnbm9raWktZGV2ID0gIiR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9L2xpYiouc28gJHtsaWJkaXJ9LyoubGEgXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS8qLmEgJHtsaWJkaXJ9LyoubyAke2xpYmRpcn0vcGtnY29uZmlnIFwKKwkgICAgICAgIC9saWIvKi5hIC9saWIvKi5vICR7ZGF0YWRpcn0vYWNsb2NhbCIKK0ZJTEVTXyR7UE59LWRldiA9ICIiCitGSUxFU19saWJnbm9raWkgPSAiJHtsaWJkaXJ9L2xpYmdub2tpaS5zby4qIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDk2MjdmNGExMTUyZDNlYTc4MDZkZjQ1MzI4NTBkNWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGY1YTA4M2IwNWMxYTY2YTM0MDJjYTVjZDgwMDg0ZTE0YzJjMDYzMmM5OTFiYjUzYjAzYzc4ZTlhZGIwMjUwMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nbnVyYWRpby9nbnVyYWRpby8wMDAxLWJ1aWxkc3lzLWRvbi10LWFkZC11c3ItaW5jbHVkZS1hbmQtdXNyLWxpYi10by1jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ251cmFkaW8vZ251cmFkaW8vMDAwMS1idWlsZHN5cy1kb24tdC1hZGQtdXNyLWluY2x1ZGUtYW5kLXVzci1saWItdG8tY29uZmlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjYWFmNTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvZ251cmFkaW8vZ251cmFkaW8vMDAwMS1idWlsZHN5cy1kb24tdC1hZGQtdXNyLWluY2x1ZGUtYW5kLXVzci1saWItdG8tY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsNTggQEAKK0Zyb20gYTEzMDE1M2FlODRkOGJiNTkxNDg3OWNlZjk0ZGYwOWYwNjgyNWMxMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBTYXQsIDE4IEp1biAyMDExIDExOjI1OjM2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkc3lzOiBkb24ndCBhZGQgL3Vzci9pbmNsdWRlIGFuZCAvdXNyL2xpYiB0byBjb25maWd1cmUgdGVzdHMgZm9yIGxpYnVzYgorCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorLS0tCisgY29uZmlnL3VzcnBfbGlidXNiLm00IHwgICAxMyAtLS0tLS0tLS0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlnL3VzcnBfbGlidXNiLm00IGIvY29uZmlnL3VzcnBfbGlidXNiLm00CitpbmRleCBjYzM0MTBmLi5iNDIxODIwIDEwMDY0NAorLS0tIGEvY29uZmlnL3VzcnBfbGlidXNiLm00CisrKysgYi9jb25maWcvdXNycF9saWJ1c2IubTQKK0BAIC0xMTcsMTAgKzExNyw2IEBAIEFDX0RFRlVOKFtVU1JQX0xJQlVTQl0sIFsKKyAgICAgICBkbmwgY29uZmlndXJlZCB0byBmaW5kIHRoaXMgaGVhZGVyLgorICAgICAgIEFDX0xBTkdfUFVTSChDKQorICAgICAgIHNhdmVfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKy0gICAgICBpZiB0ZXN0IHgkVVNCX0lOQ0xVREVESVIgIT0geDsgdGhlbgorLSAgICAgICAgVVNCX0lOQ0xVREVTPSItSSRVU0JfSU5DTFVERURJUiIKKy0gICAgICAgIENQUEZMQUdTPSIkVVNCX0lOQ0xVREVTIgorLSAgICAgIGZpCisgICAgICAgQUNfTVNHX0NIRUNLSU5HKFskbGlidXNiX25hbWUgZm9yIGhlYWRlciAkdXNiX2hlYWRlcl0pCisgICAgICAgQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworICAgICAgICAgI2luY2x1ZGUgIiR1c2JfaGVhZGVyIgorQEAgLTE3Miw5ICsxNjgsNiBAQCBBQ19ERUZVTihbVVNSUF9MSUJVU0JdLCBbCisgICAgICAgICAgICAgKikKKyAgICAgICAgICAgICAgIEFDX0xBTkdfUFVTSChDKQorICAgICAgICAgICAgICAgc2F2ZV9DUFBGTEFHUz0iJENQUEZMQUdTIgorLSAgICAgICAgICAgICAgaWYgdGVzdCB4JFVTQl9JTkNMVURFRElSICE9IHg7IHRoZW4KKy0gICAgICAgICAgICAgICAgQ1BQRkxBR1M9IiRVU0JfSU5DTFVERVMiCistICAgICAgICAgICAgICBmaQorICAgICAgICAgICAgICAgc2F2ZV9MSUJTPSIkTElCUyIKKyAgICAgICAgICAgICAgIExJQlM9IiRVU0JfTElCUyIKKyAgICAgICAgICAgICAgIEFDX01TR19DSEVDS0lORyhbJGxpYnVzYl9uYW1lIGZvciBzeW1ib2wgdXNiX2RlYnVnIGluIGxpYnJhcnkgJHVzYl9saWJfbmFtZV0pCitAQCAtMjE3LDkgKzIxMCw2IEBAIEFDX0RFRlVOKFtVU1JQX0xJQlVTQl0sIFsKKyAgICAgZG5sIGZpbmFsIGVycm9yIGNoZWNraW5nLCBtb3N0bHkgdG8gY3JlYXRlICNkZWZpbmUncworICAgICBBQ19MQU5HX1BVU0goQykKKyAgICAgc2F2ZV9DUFBGTEFHUz0iJENQUEZMQUdTIgorLSAgICBpZiB0ZXN0IHgkVVNCX0lOQ0xVREVESVIgIT0geDsgdGhlbgorLSAgICAgIENQUEZMQUdTPSIkVVNCX0lOQ0xVREVTIgorLSAgICBmaQorICAgICBkbmwgQ2hlY2sgZm9yIHRoZSBoZWFkZXIuCisgICAgIEFDX0NIRUNLX0hFQURFUlMoWyR1c2JfaGVhZGVyXSwgW10sIFtsaWJ1c2Jvaz1ub10pCisgICAgIENQUEZMQUdTPSIkc2F2ZV9DUFBGTEFHUyIKK0BAIC0yMzEsOSArMjIxLDYgQEAgQUNfREVGVU4oW1VTUlBfTElCVVNCXSwgWworICAgICAgIGRubCBjaGVjayBmb3IgdGhlIGxpYnJhcnkgKGFnYWluKQorICAgICAgIEFDX0xBTkdfUFVTSChDKQorICAgICAgIHNhdmVfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKy0gICAgICBpZiB0ZXN0IHgkVVNCX0lOQ0xVREVESVIgIT0geDsgdGhlbgorLSAgICAgICAgQ1BQRkxBR1M9IiRVU0JfSU5DTFVERVMiCistICAgICAgZmkKKyAgICAgICBzYXZlX0xJQlM9IiRMSUJTIgorICAgICAgIExJQlM9IiRVU0JfTElCUyIKKyAgICAgICBBQ19DSEVDS19MSUIoWyR1c2JfbGliX25hbWVdLCBbJHVzYl9saWJfZnVuY10sIFtdLCBbCistLSAKKzEuNi42LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2hvc3RhcGQvaG9zdGFwZC9kZWZjb25maWcgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2RlZmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzg5NjQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2hvc3RhcGQvaG9zdGFwZC9kZWZjb25maWcKQEAgLTAsMCArMSwxNDUgQEAKKyMgRXhhbXBsZSBob3N0YXBkIGJ1aWxkIHRpbWUgY29uZmlndXJhdGlvbgorIworIyBUaGlzIGZpbGUgbGlzdHMgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0aGF0IGFyZSB1c2VkIHdoZW4gYnVpbGRpbmcgdGhlCisjIGhvc3RhcGQgYmluYXJ5LiBBbGwgbGluZXMgc3RhcnRpbmcgd2l0aCAjIGFyZSBpZ25vcmVkLiBDb25maWd1cmF0aW9uIG9wdGlvbgorIyBsaW5lcyBtdXN0IGJlIGNvbW1lbnRlZCBvdXQgY29tcGxldGUsIGlmIHRoZXkgYXJlIG5vdCB0byBiZSBpbmNsdWRlZCwgaS5lLiwKKyMganVzdCBzZXR0aW5nIFZBUklBQkxFPW4gaXMgbm90IGRpc2FibGluZyB0aGF0IHZhcmlhYmxlLgorIworIyBUaGlzIGZpbGUgaXMgaW5jbHVkZWQgaW4gTWFrZWZpbGUsIHNvIHZhcmlhYmxlcyBsaWtlIENGTEFHUyBhbmQgTElCUyBjYW4gYWxzbworIyBiZSBtb2RpZmllZCBmcm9tIGhlcmUuIEluIG1vc3QgY2FzcywgdGhlc2UgbGluZXMgc2hvdWxkIHVzZSArPSBpbiBvcmRlciBub3QKKyMgdG8gb3ZlcnJpZGUgcHJldmlvdXMgdmFsdWVzIG9mIHRoZSB2YXJpYWJsZXMuCisKKyMgRHJpdmVyIGludGVyZmFjZSBmb3IgSG9zdCBBUCBkcml2ZXIKK0NPTkZJR19EUklWRVJfSE9TVEFQPXkKKworIyBEcml2ZXIgaW50ZXJmYWNlIGZvciB3aXJlZCBhdXRoZW50aWNhdG9yCitDT05GSUdfRFJJVkVSX1dJUkVEPXkKKworIyBEcml2ZXIgaW50ZXJmYWNlIGZvciBtYWR3aWZpIGRyaXZlcgorI0NPTkZJR19EUklWRVJfTUFEV0lGST15CisjQ0ZMQUdTICs9IC1JLi4vLi4vbWFkd2lmaSAjIGNoYW5nZSB0byB0aGUgbWFkd2lmaSBzb3VyY2UgZGlyZWN0b3J5CisKKyMgRHJpdmVyIGludGVyZmFjZSBmb3IgUHJpc201NCBkcml2ZXIKK0NPTkZJR19EUklWRVJfUFJJU001ND15CisKKyMgRHJpdmVyIGludGVyZmFjZSBmb3IgZHJpdmVycyB1c2luZyB0aGUgbmw4MDIxMSBrZXJuZWwgaW50ZXJmYWNlCitDT05GSUdfRFJJVkVSX05MODAyMTE9eQorQ09ORklHX0xJQk5MMzI9eQorIyBkcml2ZXJfbmw4MDIxMS5jIHJlcXVpcmVzIGEgcmF0aGVyIG5ldyBsaWJubCAodmVyc2lvbiAxLjEpIHdoaWNoIG1heSBub3QgYmUKKyMgc2hpcHBlZCB3aXRoIHlvdXIgZGlzdHJpYnV0aW9uIHlldC4gSWYgdGhhdCBpcyB0aGUgY2FzZSwgeW91IG5lZWQgdG8gYnVpbGQKKyMgbmV3ZXIgbGlibmwgdmVyc2lvbiBhbmQgcG9pbnQgdGhlIGhvc3RhcGQgYnVpbGQgdG8gdXNlIGl0LgorI0xJQk5MPS91c3Ivc3JjL2xpYm5sCisjQ0ZMQUdTICs9IC1JJChMSUJOTCkvaW5jbHVkZQorI0xJQlMgKz0gLUwkKExJQk5MKS9saWIKKworIyBEcml2ZXIgaW50ZXJmYWNlIGZvciBGcmVlQlNEIG5ldDgwMjExIGxheWVyIChlLmcuLCBBdGhlcm9zIGRyaXZlcikKKyNDT05GSUdfRFJJVkVSX0JTRD15CisjQ0ZMQUdTICs9IC1JL3Vzci9sb2NhbC9pbmNsdWRlCisjTElCUyArPSAtTC91c3IvbG9jYWwvbGliCisKKyMgRHJpdmVyIGludGVyZmFjZSBmb3Igbm8gZHJpdmVyIChlLmcuLCBSQURJVVMgc2VydmVyIG9ubHkpCisjQ09ORklHX0RSSVZFUl9OT05FPXkKKworIyBJRUVFIDgwMi4xMUYvSUFQUAorQ09ORklHX0lBUFA9eQorCisjIFdQQTIvSUVFRSA4MDIuMTFpIFJTTiBwcmUtYXV0aGVudGljYXRpb24KK0NPTkZJR19SU05fUFJFQVVUSD15CisKKyMgUGVlcktleSBoYW5kc2hha2UgZm9yIFN0YXRpb24gdG8gU3RhdGlvbiBMaW5rIChJRUVFIDgwMi4xMWUgRExTKQorQ09ORklHX1BFRVJLRVk9eQorCisjIElFRUUgODAyLjExdyAobWFuYWdlbWVudCBmcmFtZSBwcm90ZWN0aW9uKQorIyBUaGlzIHZlcnNpb24gaXMgYW4gZXhwZXJpbWVudGFsIGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIElFRUUgODAyLjExdy9EMS4wCisjIGRyYWZ0IGFuZCBpcyBzdWJqZWN0IHRvIGNoYW5nZSBzaW5jZSB0aGUgc3RhbmRhcmQgaGFzIG5vdCB5ZXQgYmVlbiBmaW5hbGl6ZWQuCisjIERyaXZlciBzdXBwb3J0IGlzIGFsc28gbmVlZGVkIGZvciBJRUVFIDgwMi4xMXcuCisjQ09ORklHX0lFRUU4MDIxMVc9eQorCisjIEludGVncmF0ZWQgRUFQIHNlcnZlcgorQ09ORklHX0VBUD15CisKKyMgRUFQLU1ENSBmb3IgdGhlIGludGVncmF0ZWQgRUFQIHNlcnZlcgorQ09ORklHX0VBUF9NRDU9eQorCisjIEVBUC1UTFMgZm9yIHRoZSBpbnRlZ3JhdGVkIEVBUCBzZXJ2ZXIKK0NPTkZJR19FQVBfVExTPXkKKworIyBFQVAtTVNDSEFQdjIgZm9yIHRoZSBpbnRlZ3JhdGVkIEVBUCBzZXJ2ZXIKK0NPTkZJR19FQVBfTVNDSEFQVjI9eQorCisjIEVBUC1QRUFQIGZvciB0aGUgaW50ZWdyYXRlZCBFQVAgc2VydmVyCitDT05GSUdfRUFQX1BFQVA9eQorCisjIEVBUC1HVEMgZm9yIHRoZSBpbnRlZ3JhdGVkIEVBUCBzZXJ2ZXIKK0NPTkZJR19FQVBfR1RDPXkKKworIyBFQVAtVFRMUyBmb3IgdGhlIGludGVncmF0ZWQgRUFQIHNlcnZlcgorQ09ORklHX0VBUF9UVExTPXkKKworIyBFQVAtU0lNIGZvciB0aGUgaW50ZWdyYXRlZCBFQVAgc2VydmVyCisjQ09ORklHX0VBUF9TSU09eQorCisjIEVBUC1BS0EgZm9yIHRoZSBpbnRlZ3JhdGVkIEVBUCBzZXJ2ZXIKKyNDT05GSUdfRUFQX0FLQT15CisKKyMgRUFQLUFLQScgZm9yIHRoZSBpbnRlZ3JhdGVkIEVBUCBzZXJ2ZXIKKyMgVGhpcyByZXF1aXJlcyBDT05GSUdfRUFQX0FLQSB0byBiZSBlbmFibGVkLCB0b28uCisjQ09ORklHX0VBUF9BS0FfUFJJTUU9eQorCisjIEVBUC1QQVggZm9yIHRoZSBpbnRlZ3JhdGVkIEVBUCBzZXJ2ZXIKKyNDT05GSUdfRUFQX1BBWD15CisKKyMgRUFQLVBTSyBmb3IgdGhlIGludGVncmF0ZWQgRUFQIHNlcnZlciAodGhpcyBpcyBfbm90XyBuZWVkZWQgZm9yIFdQQS1QU0spCisjQ09ORklHX0VBUF9QU0s9eQorCisjIEVBUC1TQUtFIGZvciB0aGUgaW50ZWdyYXRlZCBFQVAgc2VydmVyCisjQ09ORklHX0VBUF9TQUtFPXkKKworIyBFQVAtR1BTSyBmb3IgdGhlIGludGVncmF0ZWQgRUFQIHNlcnZlcgorI0NPTkZJR19FQVBfR1BTSz15CisjIEluY2x1ZGUgc3VwcG9ydCBmb3Igb3B0aW9uYWwgU0hBMjU2IGNpcGhlciBzdWl0ZSBpbiBFQVAtR1BTSworI0NPTkZJR19FQVBfR1BTS19TSEEyNTY9eQorCisjIEVBUC1GQVNUIGZvciB0aGUgaW50ZWdyYXRlZCBFQVAgc2VydmVyCisjIE5vdGU6IERlZmF1bHQgT3BlblNTTCBwYWNrYWdlIGRvZXMgbm90IGluY2x1ZGUgc3VwcG9ydCBmb3IgYWxsIHRoZQorIyBmdW5jdGlvbmFsaXR5IG5lZWRlZCBmb3IgRUFQLUZBU1QuIElmIEVBUC1GQVNUIGlzIGVuYWJsZWQgd2l0aCBPcGVuU1NMLAorIyB0aGUgT3BlblNTTCBsaWJyYXJ5IG11c3QgYmUgcGF0Y2hlZCAob3BlbnNzbC0wLjkuOS1zZXNzaW9uLXRpY2tldC5wYXRjaCkKKyMgdG8gYWRkIHRoZSBuZWVkZWQgZnVuY3Rpb25zLgorI0NPTkZJR19FQVBfRkFTVD15CisKKyMgV2ktRmkgUHJvdGVjdGVkIFNldHVwIChXUFMpCitDT05GSUdfV1BTPXkKKyMgRW5hYmxlIFVQblAgc3VwcG9ydCBmb3IgZXh0ZXJuYWwgV1BTIFJlZ2lzdHJhcnMKKyNDT05GSUdfV1BTX1VQTlA9eQorCisjIEVBUC1JS0V2MgorI0NPTkZJR19FQVBfSUtFVjI9eQorCisjIFRydXN0ZWQgTmV0d29yayBDb25uZWN0IChFQVAtVE5DKQorI0NPTkZJR19FQVBfVE5DPXkKKworIyBQS0NTIzEyIChQRlgpIHN1cHBvcnQgKHVzZWQgdG8gcmVhZCBwcml2YXRlIGtleSBhbmQgY2VydGlmaWNhdGUgZmlsZSBmcm9tCisjIGEgZmlsZSB0aGF0IHVzdWFsbHkgaGFzIGV4dGVuc2lvbiAucDEyIG9yIC5wZngpCitDT05GSUdfUEtDUzEyPXkKKworIyBSQURJVVMgYXV0aGVudGljYXRpb24gc2VydmVyLiBUaGlzIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgaW50ZWdyYXRlZCBFQVAKKyMgc2VydmVyIGZyb20gZXh0ZXJuYWwgaG9zdHMgdXNpbmcgUkFESVVTLgorQ09ORklHX1JBRElVU19TRVJWRVI9eQorCisjIEJ1aWxkIElQdjYgc3VwcG9ydCBmb3IgUkFESVVTIG9wZXJhdGlvbnMKK0NPTkZJR19JUFY2PXkKKworIyBJRUVFIFN0ZCA4MDIuMTFyLTIwMDggKEZhc3QgQlNTIFRyYW5zaXRpb24pCisjQ09ORklHX0lFRUU4MDIxMVI9eQorCisjIFVzZSB0aGUgaG9zdGFwZCdzIElFRUUgODAyLjExIGF1dGhlbnRpY2F0aW9uIChBQ0wpLCBidXQgd2l0aG91dAorIyB0aGUgSUVFRSA4MDIuMTEgTWFuYWdlbWVudCBjYXBhYmlsaXR5IChlLmcuLCBtYWR3aWZpIG9yIEZyZWVCU0QvbmV0ODAyMTEpCitDT05GSUdfRFJJVkVSX1JBRElVU19BQ0w9eQorCisjIElFRUUgODAyLjExbiAoSGlnaCBUaHJvdWdocHV0KSBzdXBwb3J0CitDT05GSUdfSUVFRTgwMjExTj15CisKKyMgUmVtb3ZlIGRlYnVnZ2luZyBjb2RlIHRoYXQgaXMgcHJpbnRpbmcgb3V0IGRlYnVnIG1lc3NhZ2VzIHRvIHN0ZG91dC4KKyMgVGhpcyBjYW4gYmUgdXNlZCB0byByZWR1Y2UgdGhlIHNpemUgb2YgdGhlIGhvc3RhcGQgY29uc2lkZXJhYmx5IGlmIGRlYnVnZ2luZworIyBjb2RlIGlzIG5vdCBuZWVkZWQuCisjQ09ORklHX05PX1NURE9VVF9ERUJVRz15CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2hvc3RhcGQuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ob3N0YXBkL2hvc3RhcGQvaG9zdGFwZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1MWMwNTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2hvc3RhcGQuc2VydmljZQpAQCAtMCwwICsxLDExIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUhvc3RhcGQgSUVFRSA4MDIuMTEgQVAsIElFRUUgODAyLjFYL1dQQS9XUEEyL0VBUC9SQURJVVMgQXV0aGVudGljYXRvcgorQWZ0ZXI9bmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK1BJREZpbGU9L3J1bi9ob3N0YXBkLnBpZAorRXhlY1N0YXJ0PUBTQklORElSQC9ob3N0YXBkIEBTWVNDT05GRElSQC9ob3N0YXBkLmNvbmYgLVAgL3J1bi9ob3N0YXBkLnBpZCAtQgorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2luaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2luaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJhNGUwNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ob3N0YXBkL2hvc3RhcGQvaW5pdApAQCAtMCwwICsxLDU4IEBACisjIS9iaW4vc2gKK0RBRU1PTj0vdXNyL3NiaW4vaG9zdGFwZAorTkFNRT1ob3N0YXBkCitERVNDPSJIT1NUQVAgRGFlbW9uIgorQVJHUz0iL2V0Yy9ob3N0YXBkLmNvbmYgLUIiCisKK3Rlc3QgLWYgJERBRU1PTiB8fCBleGl0IDAKKworc2V0IC1lCisKKyMgc291cmNlIGZ1bmN0aW9uIGxpYnJhcnkKKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKK2RlbGF5X3N0b3AoKSB7CisJY291bnQ9MAorCXdoaWxlIFsgJGNvdW50IC1sdCA5IF0gOyBkbworCSAgICAgICAgaWYgcGlkb2YgJERBRU1PTiA+L2Rldi9udWxsOyB0aGVuCisJICAgICAgICAgICAgICAgIHNsZWVwIDEKKwkgICAgICAgIGVsc2UKKwkgICAgICAgICAgICAgICAgcmV0dXJuIDAKKwkgICAgICAgIGZpCisJCWNvdW50PWBleHByICRjb3VudCArIDFgCisJZG9uZQorCWVjaG8gIkZhaWxlZCB0byBzdG9wICRERVNDLiIKKwlyZXR1cm4gMQorfQorCitjYXNlICIkMSIgaW4KKyAgICBzdGFydCkKKwllY2hvIC1uICJTdGFydGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC1TIC14ICREQUVNT04gLS0gJEFSR1MKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgICBzdG9wKQorCWVjaG8gLW4gIlN0b3BwaW5nICRERVNDOiAiCisJc3RhcnQtc3RvcC1kYWVtb24gLUsgLS1va25vZG8gLXggJERBRU1PTgorCWVjaG8gIiROQU1FLiIKKwk7OworICAgIHJlc3RhcnQpCisJJDAgc3RvcAorCWRlbGF5X3N0b3AgJiYgJDAgc3RhcnQKKwk7OworICAgIHJlbG9hZCkKKwllY2hvIC1uICJSZWxvYWRpbmcgJERFU0M6ICIKKwlraWxsYWxsIC1IVVAgJChiYXNlbmFtZSAke0RBRU1PTn0pCisJZWNobyAiJE5BTUUuIgorCTs7CisgICAgc3RhdHVzKQorCXN0YXR1cyAkREFFTU9OCisJZXhpdCAkPworCTs7CisgICAgKikKKwllY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8cmVzdGFydHxyZWxvYWR8c3RhdHVzfSIKKwlleGl0IDEKKwk7OworZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ob3N0YXBkL2hvc3RhcGRfMi41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2hvc3RhcGQvaG9zdGFwZF8yLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM4ZTIwYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ob3N0YXBkL2hvc3RhcGRfMi41LmJiCkBAIC0wLDAgKzEsNDYgQEAKK0hPTUVQQUdFID0gImh0dHA6Ly93MS5maS9ob3N0YXBkLyIKK1NFQ1RJT04gPSAia2VybmVsL3VzZXJsYW5kIgorTElDRU5TRSA9ICJHUEx2MiB8IEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Qn0vUkVBRE1FO21kNT00ZDUzMTc4ZjQ0ZDRiMzg0MThhNGZhOGRlMzY1ZTExYyIKK0RFUEVORFMgPSAibGlibmwgb3BlbnNzbCIKK1NVTU1BUlkgPSAiVXNlciBzcGFjZSBkYWVtb24gZm9yIGV4dGVuZGVkIElFRUUgODAyLjExIG1hbmFnZW1lbnQiCisKK2luaGVyaXQgdXBkYXRlLXJjLmQgc3lzdGVtZAorSU5JVFNDUklQVF9OQU1FID0gImhvc3RhcGQiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJob3N0YXBkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59ID0gImRpc2FibGUiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vdzEuZmkvcmVsZWFzZXMvaG9zdGFwZC0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9kZWZjb25maWcgXAorICAgIGZpbGU6Ly9pbml0IFwKKyAgICBmaWxlOi8vaG9zdGFwZC5zZXJ2aWNlIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2hvc3RhcGQtJHtQVn0iCitCID0gIiR7V09SS0RJUn0vaG9zdGFwZC0ke1BWfS9ob3N0YXBkIgorCitkb19jb25maWd1cmUoKSB7CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZGVmY29uZmlnICR7Qn0vLmNvbmZpZworfQorCitkb19jb21waWxlKCkgeworICAgIGV4cG9ydCBDRkxBR1M9Ii1NTUQgLU8yIC1XYWxsIC1nIC1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlibmwzIgorICAgIG1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtCfS9ob3N0YXBkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9ob3N0YXBkICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vaG9zdGFwZF9jbGkgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2luaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2hvc3RhcGQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ob3N0YXBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2hvc3RhcGQuc2VydmljZQorfQorCitDT05GRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vaG9zdGFwZC5jb25mIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjlmOWNlYzNmNzZkNzRmNDAyODY0YTQzZTRmODYyNGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGUyNzJkOTU0ZGMwZDcwMjZjMjY0Yjc5YjE1Mzg5ZWMyYjJjNTU1YjMyOTcwZGUzOWY1MDZiOWY0NjNlYzc0YSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pcnNzaS9pcnNzaV8wLjguMTYtcmMxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2lyc3NpL2lyc3NpXzAuOC4xNi1yYzEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRkODgxZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pcnNzaS9pcnNzaV8wLjguMTYtcmMxLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAibmN1cnNlcyBJUkMgY2xpZW50IgorREVTQ1JJUFRJT04gPSAiSXJzc2kgaXMgYW4gbmN1cnNlcyBJUkMgY2xpZW50IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1ZmRjMTExMzMwNjE2N2Q2ZWEyNTYxNDA0Y2UwMmY4IgorCitERVBFTkRTID0gImdsaWItMi4wIG5jdXJzZXMgb3BlbnNzbCIKKworUkVBTFBWID0gIjAuOC4xNi1yYzEiCitQViA9ICIwLjguMTUrJHtSRUFMUFZ9IgorCitTUkNfVVJJID0gImh0dHA6Ly9pcnNzaS5vcmcvZmlsZXMvaXJzc2ktJHtSRUFMUFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjc2OWZlYzRkZjhlNjMzYzU4M2M0MTFjY2QyY2Q1NjNhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJiNmMwMTI1ZGIzMGI2OTdmODA4Mzc5NDFjMTczNzJiNzQ4NGM2NGQ1N2E2OTIwYjhiZmE3ZWUzZGVmOTJkZTMiCisKK1MgPSAiJHtXT1JLRElSfS9pcnNzaS0ke1JFQUxQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtc3NsIFwKKyAgICAtLXdpdGgtbmN1cnNlcz0ke1NUQUdJTkdfRVhFQ1BSRUZJWERJUn0gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS8wMDAxLWFjbG9jYWwtQWRkLXBhcmFtZXRlci10by1kaXNhYmxlLWtleXV0aWxzLWRldGVjdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvMDAwMS1hY2xvY2FsLUFkZC1wYXJhbWV0ZXItdG8tZGlzYWJsZS1rZXl1dGlscy1kZXRlY3Rpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjBjMzEwYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvMDAwMS1hY2xvY2FsLUFkZC1wYXJhbWV0ZXItdG8tZGlzYWJsZS1rZXl1dGlscy1kZXRlY3Rpb24ucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSBlY2I2MmYzNDY3ZjQ5M2NjMGQ2NzkzMjNmMDUzNjdlZWJiZjBmYjY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVHVlLCAxIE9jdCAyMDEzIDIyOjIyOjU3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGFjbG9jYWw6IEFkZCBwYXJhbWV0ZXIgdG8gZGlzYWJsZSBrZXl1dGlscyBkZXRlY3Rpb24KKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgYWNsb2NhbC5tNCB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2FjbG9jYWwubTQgYi9hY2xvY2FsLm00CitpbmRleCAyMTBjNDczLi44M2IxZjAyIDEwMDY0NAorLS0tIGEvYWNsb2NhbC5tNAorKysrIGIvYWNsb2NhbC5tNAorQEAgLTE2NTAsMTEgKzE2NTAsMTUgQEAgZmkKKyBkbmwKKyBkbmwgSWYgbGlia2V5dXRpbHMgZXhpc3RzIChvbiBMaW51eCkgaW5jbHVkZSBpdCBhbmQgdXNlIGtleXJpbmcgY2NhY2hlCisgQUNfREVGVU4oS1JCNV9BQ19LRVlSSU5HX0NDQUNIRSxbCisrQUNfQVJHX0VOQUJMRShba2V5dXRpbHNdLAorK0FDX0hFTFBfU1RSSU5HKFstLWRpc2FibGUta2V5dXRpbHNdLGRvbid0IGVuYWJsZSB1c2luZyBrZXl1dGlscyBmb3Iga2V5cmluZyBjY2FjaGUgQDw6QGVuYWJsZWRAOj5AKSwgLCBlbmFibGVfa2V5dXRpbHM9eWVzKQorK2lmIHRlc3QgIiRlbmFibGVfa2V5dXRpbHMiID0geWVzOyB0aGVuCisgICBBQ19DSEVDS19IRUFERVJTKFtrZXl1dGlscy5oXSwKKyAgICAgQUNfQ0hFQ0tfTElCKGtleXV0aWxzLCBhZGRfa2V5LCAKKyAgICAgICBbZG5sIFByZS1yZXFzIHdlcmUgZm91bmQKKyAgICAgICAgQUNfREVGSU5FKFVTRV9LRVlSSU5HX0NDQUNIRSwgMSwgW0RlZmluZSBpZiB0aGUga2V5cmluZyBjY2FjaGUgc2hvdWxkIGJlIGVuYWJsZWRdKQorICAgICAgICBMSUJTPSItbGtleXV0aWxzICRMSUJTIgorICAgICAgIF0pKQorK2ZpCisgXSlkbmwKKyBkbmwKKy0tIAorMS44LjMuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L0ZpeC1JQUtFUkItY29udGV4dC1hbGlhc2luZy1idWdzLUNWRS0yMDE1LTI2OTYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L0ZpeC1JQUtFUkItY29udGV4dC1hbGlhc2luZy1idWdzLUNWRS0yMDE1LTI2OTYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc3MWI0MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvRml4LUlBS0VSQi1jb250ZXh0LWFsaWFzaW5nLWJ1Z3MtQ1ZFLTIwMTUtMjY5Ni5wYXRjaApAQCAtMCwwICsxLDczOSBAQAorRnJvbSBmNmU1N2M0MDI2ODhmNGJjMzg2ZDFhMzk1MTI2NTdhMzBmMGJhZmQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTmljb2xhcyBXaWxsaWFtcyA8bmljb0B0d29zaWdtYS5jb20+CitEYXRlOiBNb24sIDE0IFNlcCAyMDE1IDEyOjI4OjM2IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggMi80XSBGaXggSUFLRVJCIGNvbnRleHQgYWxpYXNpbmcgYnVncyBbQ1ZFLTIwMTUtMjY5Nl0KKworVGhlIElBS0VSQiBtZWNoYW5pc20gY3VycmVudGx5IHJlcGxhY2VzIGl0cyBjb250ZXh0IGhhbmRsZSB3aXRoIHRoZQora3JiNSBtZWNoYW5pc20gaGFuZGxlIHVwb24gZXN0YWJsaXNobWVudCwgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdAorbW9zdCBHU1MgZnVuY3Rpb25zIGFyZSBvbmx5IGNhbGxlZCBhZnRlciBjb250ZXh0IGVzdGFibGlzaG1lbnQuICBUaGlzCithc3N1bXB0aW9uIGlzIGluY29ycmVjdCwgYW5kIGNhbiBsZWFkIHRvIGFsaWFzaW5nIHZpb2xhdGlvbnMgZm9yIHNvbWUKK3Byb2dyYW1zLiAgTWFpbnRhaW4gdGhlIElBS0VSQiBjb250ZXh0IHN0cnVjdHVyZSBhZnRlciBjb250ZXh0Citlc3RhYmxpc2htZW50IGFuZCBhZGQgbmV3IElBS0VSQiBlbnRyeSBwb2ludHMgdG8gcmVmZXIgdG8gaXQgd2l0aCB0aGF0Cit0eXBlLiAgQWRkIGluaXRpYXRlIGFuZCBlc3RhYmxpc2hlZCBmbGFncyB0byB0aGUgSUFLRVJCIGNvbnRleHQKK3N0cnVjdHVyZSBmb3IgdXNlIGluIGdzc19pbnF1aXJlX2NvbnRleHQoKSBwcmlvciB0byBjb250ZXh0Citlc3RhYmxpc2htZW50LgorCitDVkUtMjAxNS0yNjk2OgorCitJbiBNSVQga3JiNSAxLjkgYW5kIGxhdGVyLCBhcHBsaWNhdGlvbnMgd2hpY2ggY2FsbAorZ3NzX2lucXVpcmVfY29udGV4dCgpIG9uIGEgcGFydGlhbGx5LWVzdGFibGlzaGVkIElBS0VSQiBjb250ZXh0IGNhbgorY2F1c2UgdGhlIEdTUy1BUEkgbGlicmFyeSB0byByZWFkIGZyb20gYSBwb2ludGVyIHVzaW5nIHRoZSB3cm9uZyB0eXBlLAorZ2VuZXJhbGx5IGNhdXNpbmcgYSBwcm9jZXNzIGNyYXNoLiAgSmF2YSBzZXJ2ZXIgYXBwbGljYXRpb25zIHVzaW5nIHRoZQorbmF0aXZlIEpHU1MgcHJvdmlkZXIgYXJlIHZ1bG5lcmFibGUgdG8gdGhpcyBidWcuICBBIGNhcmVmdWxseSBjcmFmdGVkCitJQUtFUkIgcGFja2V0IG1pZ2h0IGFsbG93IHRoZSBnc3NfaW5xdWlyZV9jb250ZXh0KCkgY2FsbCB0byBzdWNjZWVkCit3aXRoIGF0dGFja2VyLWRldGVybWluZWQgcmVzdWx0cywgYnV0IGFwcGxpY2F0aW9ucyBzaG91bGQgbm90IG1ha2UKK2FjY2VzcyBjb250cm9sIGRlY2lzaW9ucyBiYXNlZCBvbiBnc3NfaW5xdWlyZV9jb250ZXh0KCkgcmVzdWx0cyBwcmlvcgordG8gY29udGV4dCBlc3RhYmxpc2htZW50LgorCisgICAgQ1ZTU3YyIFZlY3RvcjogQVY6Ti9BQzpNL0F1Ok4vQzpOL0k6Ti9BOkMvRTpQT0MvUkw6T0YvUkM6QworCitbZ2h1ZHNvbkBtaXQuZWR1OiBzZXZlcmFsIGJ1Z2ZpeGVzLCBzdHlsZSBjaGFuZ2VzLCBhbmQgZWRnZS1jYXNlCitiZWhhdmlvciBjaGFuZ2VzOyBjb21taXQgbWVzc2FnZSBhbmQgQ1ZFIGRlc2NyaXB0aW9uXQorCit0aWNrZXQ6IDgyNDQKK3RhcmdldF92ZXJzaW9uOiAxLjE0Cit0YWdzOiBwdWxsdXAKKworQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0OgoraHR0cHM6Ly9naXRodWIuY29tL2tyYjUva3JiNS9jb21taXQvZTA0ZjAyODM1MTZlODBkMmY5MzM2NmUwZDQ3OWQxM2M5YjVjOGMyYQorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CistLS0KKyBzcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaVBfa3JiNS5oIHwgMTE0ICsrKysrKysrKysrKworIHNyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpX2tyYjUuYyAgfCAxMDUgKysrKysrKysrLS0KKyBzcmMvbGliL2dzc2FwaS9rcmI1L2lha2VyYi5jICAgICAgIHwgMzUxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDUyOSBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpUF9rcmI1LmggYi9zcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaVBfa3JiNS5oCitpbmRleCBhMGU4NjI1Li4wNWRjMzIxIDEwMDY0NAorLS0tIGEvc3JjL2xpYi9nc3NhcGkva3JiNS9nc3NhcGlQX2tyYjUuaAorKysrIGIvc3JjL2xpYi9nc3NhcGkva3JiNS9nc3NhcGlQX2tyYjUuaAorQEAgLTYyMCw2ICs2MjAsMjEgQEAgT01fdWludDMyIEtSQjVfQ0FMTENPTlYga3JiNV9nc3NfYWNjZXB0X3NlY19jb250ZXh0X2V4dAorICk7CisgI2VuZGlmIC8qIExFQU5fQ0xJRU5UICovCisgCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYga3JiNV9nc3NfaW5xdWlyZV9zZWNfY29udGV4dF9ieV9vaWQKKysoT01fdWludDMyKiwgICAgICAgLyogbWlub3Jfc3RhdHVzICovCisrIGNvbnN0IGdzc19jdHhfaWRfdCwKKysgLyogY29udGV4dF9oYW5kbGUgKi8KKysgY29uc3QgZ3NzX09JRCwgICAgLyogZGVzaXJlZF9vYmplY3QgKi8KKysgZ3NzX2J1ZmZlcl9zZXRfdCogLyogZGF0YV9zZXQgKi8KKyspOworKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WIGtyYjVfZ3NzX3NldF9zZWNfY29udGV4dF9vcHRpb24KKysoT01fdWludDMyKiwgICAgICAgLyogbWlub3Jfc3RhdHVzICovCisrIGdzc19jdHhfaWRfdCosICAgIC8qIGNvbnRleHRfaGFuZGxlICovCisrIGNvbnN0IGdzc19PSUQsICAgIC8qIGRlc2lyZWRfb2JqZWN0ICovCisrIGNvbnN0IGdzc19idWZmZXJfdC8qIHZhbHVlICovCisrKTsKKysKKyBPTV91aW50MzIgS1JCNV9DQUxMQ09OViBrcmI1X2dzc19wcm9jZXNzX2NvbnRleHRfdG9rZW4KKyAoT01fdWludDMyKiwgICAgICAgLyogbWlub3Jfc3RhdHVzICovCisgIGdzc19jdHhfaWRfdCwgICAgIC8qIGNvbnRleHRfaGFuZGxlICovCitAQCAtMTMwMSw2ICsxMzE2LDEwNSBAQCBPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorIGtyYjVfZ3NzX2ltcG9ydF9jcmVkKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfYnVmZmVyX3QgdG9rZW4sCisgICAgICAgICAgICAgICAgICAgICAgZ3NzX2NyZWRfaWRfdCAqY3JlZF9oYW5kbGUpOworIAorK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19wcm9jZXNzX2NvbnRleHRfdG9rZW4oT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19idWZmZXJfdCB0b2tlbl9idWZmZXIpOworKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19jb250ZXh0X3RpbWUoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgICAgICBPTV91aW50MzIgKnRpbWVfcmVjKTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3NfaW5xdWlyZV9jb250ZXh0KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwgZ3NzX25hbWVfdCAqc3JjX25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX25hbWVfdCAqdGFyZ19uYW1lLCBPTV91aW50MzIgKmxpZmV0aW1lX3JlYywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfT0lEICptZWNoX3R5cGUsIE9NX3VpbnQzMiAqY3R4X2ZsYWdzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqbG9jYWxseV9pbml0aWF0ZWQsIGludCAqb3BlbmVkKTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3NfZ2V0X21pYyhPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgcW9wX3JlcSwgZ3NzX2J1ZmZlcl90IG1lc3NhZ2VfYnVmZmVyLAorKyAgICAgICAgICAgICAgICAgICBnc3NfYnVmZmVyX3QgbWVzc2FnZV90b2tlbik7CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2dldF9taWNfaW92KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgcW9wX3JlcSwgZ3NzX2lvdl9idWZmZXJfZGVzYyAqaW92LAorKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGlvdl9jb3VudCk7CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2dldF9taWNfaW92X2xlbmd0aChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsIGdzc19xb3BfdCBxb3BfcmVxLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19pb3ZfYnVmZmVyX2Rlc2MgKmlvdiwgaW50IGlvdl9jb3VudCk7CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX3ZlcmlmeV9taWMoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgICAgZ3NzX2J1ZmZlcl90IG1zZ19idWZmZXIsIGdzc19idWZmZXJfdCB0b2tlbl9idWZmZXIsCisrICAgICAgICAgICAgICAgICAgICAgIGdzc19xb3BfdCAqcW9wX3N0YXRlKTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3NfdmVyaWZ5X21pY19pb3YoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19xb3BfdCAqcW9wX3N0YXRlLCBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW92X2NvdW50KTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3Nfd3JhcChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICBpbnQgY29uZl9yZXFfZmxhZywgZ3NzX3FvcF90IHFvcF9yZXEsCisrICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBpbnB1dF9tZXNzYWdlX2J1ZmZlciwgaW50ICpjb25mX3N0YXRlLAorKyAgICAgICAgICAgICAgICBnc3NfYnVmZmVyX3Qgb3V0cHV0X21lc3NhZ2VfYnVmZmVyKTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3Nfd3JhcF9pb3YoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgIGludCBjb25mX3JlcV9mbGFnLCBnc3NfcW9wX3QgcW9wX3JlcSwgaW50ICpjb25mX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgICAgZ3NzX2lvdl9idWZmZXJfZGVzYyAqaW92LCBpbnQgaW92X2NvdW50KTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3Nfd3JhcF9pb3ZfbGVuZ3RoKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwgaW50IGNvbmZfcmVxX2ZsYWcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX3FvcF90IHFvcF9yZXEsIGludCAqY29uZl9zdGF0ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsIGludCBpb3ZfY291bnQpOworKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc191bndyYXAoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICBnc3NfYnVmZmVyX3QgaW5wdXRfbWVzc2FnZV9idWZmZXIsCisrICAgICAgICAgICAgICAgICAgZ3NzX2J1ZmZlcl90IG91dHB1dF9tZXNzYWdlX2J1ZmZlciwgaW50ICpjb25mX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgIGdzc19xb3BfdCAqcW9wX3N0YXRlKTsKKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3NfdW53cmFwX2lvdihPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICBpbnQgKmNvbmZfc3RhdGUsIGdzc19xb3BfdCAqcW9wX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgICAgICBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsIGludCBpb3ZfY291bnQpOworKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc193cmFwX3NpemVfbGltaXQoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLCBpbnQgY29uZl9yZXFfZmxhZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgcW9wX3JlcSwgT01fdWludDMyIHJlcV9vdXRwdXRfc2l6ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBPTV91aW50MzIgKm1heF9pbnB1dF9zaXplKTsKKysKKysjaWZuZGVmIExFQU5fQ0xJRU5UCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2V4cG9ydF9zZWNfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgKmNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBpbnRlcnByb2Nlc3NfdG9rZW4pOworKyNlbmRpZiAvKiBMRUFOX0NMSUVOVCAqLworKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19pbnF1aXJlX3NlY19jb250ZXh0X2J5X29pZChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19PSUQgZGVzaXJlZF9vYmplY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfYnVmZmVyX3NldF90ICpkYXRhX3NldCk7CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX3NldF9zZWNfY29udGV4dF9vcHRpb24oT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19jdHhfaWRfdCAqY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19PSUQgZGVzaXJlZF9vYmplY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19idWZmZXJfdCB2YWx1ZSk7CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX3BzZXVkb19yYW5kb20oT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHByZl9rZXksIGNvbnN0IGdzc19idWZmZXJfdCBwcmZfaW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgIHNzaXplX3QgZGVzaXJlZF9vdXRwdXRfbGVuLCBnc3NfYnVmZmVyX3QgcHJmX291dCk7CisrCisgLyogTWFnaWMgc3RyaW5nIHRvIGlkZW50aWZ5IGV4cG9ydGVkIGtyYjUgR1NTIGNyZWRlbnRpYWxzLiAgSW5jcmVtZW50IHRoaXMgaWYKKyAgKiB0aGUgZm9ybWF0IGNoYW5nZXMuICovCisgI2RlZmluZSBDUkVEX0VYUE9SVF9NQUdJQyAiSzVDMSIKK2RpZmYgLS1naXQgYS9zcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaV9rcmI1LmMgYi9zcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaV9rcmI1LmMKK2luZGV4IDc3YjdmZmYuLjlhMjM2NTYgMTAwNjQ0CistLS0gYS9zcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaV9rcmI1LmMKKysrKyBiL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpX2tyYjUuYworQEAgLTM0NSw3ICszNDUsNyBAQCBzdGF0aWMgc3RydWN0IHsKKyAgICAgfQorIH07CisgCistc3RhdGljIE9NX3VpbnQzMiBLUkI1X0NBTExDT05WCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKyBrcmI1X2dzc19pbnF1aXJlX3NlY19jb250ZXh0X2J5X29pZCAoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX09JRCBkZXNpcmVkX29iamVjdCwKK0BAIC00NTksNyArNDU5LDcgQEAgc3RhdGljIHN0cnVjdCB7CisgfTsKKyAjZW5kaWYKKyAKKy1zdGF0aWMgT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorIGtyYjVfZ3NzX3NldF9zZWNfY29udGV4dF9vcHRpb24gKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19jdHhfaWRfdCAqY29udGV4dF9oYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX09JRCBkZXNpcmVkX29iamVjdCwKK0BAIC05MDQsMjAgKzkwNCwxMDMgQEAgc3RhdGljIHN0cnVjdCBnc3NfY29uZmlnIGtyYjVfbWVjaGFuaXNtID0geworICAgICBrcmI1X2dzc19nZXRfbWljX2lvdl9sZW5ndGgsCisgfTsKKyAKKysvKiBGdW5jdGlvbnMgd2hpY2ggdXNlIHNlY3VyaXR5IGNvbnRleHRzIG9yIGFjcXVpcmUgY3JlZHMgYXJlIElBS0VSQi1zcGVjaWZpYzsKKysgKiBvdGhlciBmdW5jdGlvbnMgY2FuIGJvcnJvdyBmcm9tIHRoZSBrcmI1IG1lY2guICovCisrc3RhdGljIHN0cnVjdCBnc3NfY29uZmlnIGlha2VyYl9tZWNoYW5pc20gPSB7CisrICAgIHsgR1NTX01FQ0hfS1JCNV9PSURfTEVOR1RILCBHU1NfTUVDSF9LUkI1X09JRCB9LAorKyAgICBOVUxMLAorKyAgICBpYWtlcmJfZ3NzX2FjcXVpcmVfY3JlZCwKKysgICAga3JiNV9nc3NfcmVsZWFzZV9jcmVkLAorKyAgICBpYWtlcmJfZ3NzX2luaXRfc2VjX2NvbnRleHQsCisrI2lmZGVmIExFQU5fQ0xJRU5UCisrICAgIE5VTEwsCisrI2Vsc2UKKysgICAgaWFrZXJiX2dzc19hY2NlcHRfc2VjX2NvbnRleHQsCisrI2VuZGlmCisrICAgIGlha2VyYl9nc3NfcHJvY2Vzc19jb250ZXh0X3Rva2VuLAorKyAgICBpYWtlcmJfZ3NzX2RlbGV0ZV9zZWNfY29udGV4dCwKKysgICAgaWFrZXJiX2dzc19jb250ZXh0X3RpbWUsCisrICAgIGlha2VyYl9nc3NfZ2V0X21pYywKKysgICAgaWFrZXJiX2dzc192ZXJpZnlfbWljLAorKyNpZiBkZWZpbmVkKElPVl9TSElNX0VYRVJDSVNFX1dSQVApIHx8IGRlZmluZWQoSU9WX1NISU1fRVhFUkNJU0UpCisrICAgIE5VTEwsCisrI2Vsc2UKKysgICAgaWFrZXJiX2dzc193cmFwLAorKyNlbmRpZgorKyNpZiBkZWZpbmVkKElPVl9TSElNX0VYRVJDSVNFX1VOV1JBUCkgfHwgZGVmaW5lZChJT1ZfU0hJTV9FWEVSQ0lTRSkKKysgICAgTlVMTCwKKysjZWxzZQorKyAgICBpYWtlcmJfZ3NzX3Vud3JhcCwKKysjZW5kaWYKKysgICAga3JiNV9nc3NfZGlzcGxheV9zdGF0dXMsCisrICAgIGtyYjVfZ3NzX2luZGljYXRlX21lY2hzLAorKyAgICBrcmI1X2dzc19jb21wYXJlX25hbWUsCisrICAgIGtyYjVfZ3NzX2Rpc3BsYXlfbmFtZSwKKysgICAga3JiNV9nc3NfaW1wb3J0X25hbWUsCisrICAgIGtyYjVfZ3NzX3JlbGVhc2VfbmFtZSwKKysgICAga3JiNV9nc3NfaW5xdWlyZV9jcmVkLAorKyAgICBOVUxMLCAgICAgICAgICAgICAgICAvKiBhZGRfY3JlZCAqLworKyNpZmRlZiBMRUFOX0NMSUVOVAorKyAgICBOVUxMLAorKyAgICBOVUxMLAorKyNlbHNlCisrICAgIGlha2VyYl9nc3NfZXhwb3J0X3NlY19jb250ZXh0LAorKyAgICBOVUxMLAorKyNlbmRpZgorKyAgICBrcmI1X2dzc19pbnF1aXJlX2NyZWRfYnlfbWVjaCwKKysgICAga3JiNV9nc3NfaW5xdWlyZV9uYW1lc19mb3JfbWVjaCwKKysgICAgaWFrZXJiX2dzc19pbnF1aXJlX2NvbnRleHQsCisrICAgIGtyYjVfZ3NzX2ludGVybmFsX3JlbGVhc2Vfb2lkLAorKyAgICBpYWtlcmJfZ3NzX3dyYXBfc2l6ZV9saW1pdCwKKysgICAga3JiNV9nc3NfbG9jYWxuYW1lLAorKyAgICBrcmI1X2dzc19hdXRob3JpemVfbG9jYWxuYW1lLAorKyAgICBrcmI1X2dzc19leHBvcnRfbmFtZSwKKysgICAga3JiNV9nc3NfZHVwbGljYXRlX25hbWUsCisrICAgIGtyYjVfZ3NzX3N0b3JlX2NyZWQsCisrICAgIGlha2VyYl9nc3NfaW5xdWlyZV9zZWNfY29udGV4dF9ieV9vaWQsCisrICAgIGtyYjVfZ3NzX2lucXVpcmVfY3JlZF9ieV9vaWQsCisrICAgIGlha2VyYl9nc3Nfc2V0X3NlY19jb250ZXh0X29wdGlvbiwKKysgICAga3JiNV9nc3NzcGlfc2V0X2NyZWRfb3B0aW9uLAorKyAgICBrcmI1X2dzc3NwaV9tZWNoX2ludm9rZSwKKysgICAgTlVMTCwgICAgICAgICAgICAgICAgLyogd3JhcF9hZWFkICovCisrICAgIE5VTEwsICAgICAgICAgICAgICAgIC8qIHVud3JhcF9hZWFkICovCisrICAgIGlha2VyYl9nc3Nfd3JhcF9pb3YsCisrICAgIGlha2VyYl9nc3NfdW53cmFwX2lvdiwKKysgICAgaWFrZXJiX2dzc193cmFwX2lvdl9sZW5ndGgsCisrICAgIE5VTEwsICAgICAgICAgICAgICAgLyogY29tcGxldGVfYXV0aF90b2tlbiAqLworKyAgICBOVUxMLCAgICAgICAgICAgICAgIC8qIGFjcXVpcmVfY3JlZF9pbXBlcnNvbmF0ZV9uYW1lICovCisrICAgIE5VTEwsICAgICAgICAgICAgICAgLyogYWRkX2NyZWRfaW1wZXJzb25hdGVfbmFtZSAqLworKyAgICBOVUxMLCAgICAgICAgICAgICAgIC8qIGRpc3BsYXlfbmFtZV9leHQgKi8KKysgICAga3JiNV9nc3NfaW5xdWlyZV9uYW1lLAorKyAgICBrcmI1X2dzc19nZXRfbmFtZV9hdHRyaWJ1dGUsCisrICAgIGtyYjVfZ3NzX3NldF9uYW1lX2F0dHJpYnV0ZSwKKysgICAga3JiNV9nc3NfZGVsZXRlX25hbWVfYXR0cmlidXRlLAorKyAgICBrcmI1X2dzc19leHBvcnRfbmFtZV9jb21wb3NpdGUsCisrICAgIGtyYjVfZ3NzX21hcF9uYW1lX3RvX2FueSwKKysgICAga3JiNV9nc3NfcmVsZWFzZV9hbnlfbmFtZV9tYXBwaW5nLAorKyAgICBpYWtlcmJfZ3NzX3BzZXVkb19yYW5kb20sCisrICAgIE5VTEwsICAgICAgICAgICAgICAgLyogc2V0X25lZ19tZWNocyAqLworKyAgICBrcmI1X2dzc19pbnF1aXJlX3Nhc2xuYW1lX2Zvcl9tZWNoLAorKyAgICBrcmI1X2dzc19pbnF1aXJlX21lY2hfZm9yX3Nhc2xuYW1lLAorKyAgICBrcmI1X2dzc19pbnF1aXJlX2F0dHJzX2Zvcl9tZWNoLAorKyAgICBrcmI1X2dzc19hY3F1aXJlX2NyZWRfZnJvbSwKKysgICAga3JiNV9nc3Nfc3RvcmVfY3JlZF9pbnRvLAorKyAgICBpYWtlcmJfZ3NzX2FjcXVpcmVfY3JlZF93aXRoX3Bhc3N3b3JkLAorKyAgICBrcmI1X2dzc19leHBvcnRfY3JlZCwKKysgICAga3JiNV9nc3NfaW1wb3J0X2NyZWQsCisrICAgIE5VTEwsICAgICAgICAgICAgICAgLyogaW1wb3J0X3NlY19jb250ZXh0X2J5X21lY2ggKi8KKysgICAgTlVMTCwgICAgICAgICAgICAgICAvKiBpbXBvcnRfbmFtZV9ieV9tZWNoICovCisrICAgIE5VTEwsICAgICAgICAgICAgICAgLyogaW1wb3J0X2NyZWRfYnlfbWVjaCAqLworKyAgICBpYWtlcmJfZ3NzX2dldF9taWNfaW92LAorKyAgICBpYWtlcmJfZ3NzX3ZlcmlmeV9taWNfaW92LAorKyAgICBpYWtlcmJfZ3NzX2dldF9taWNfaW92X2xlbmd0aCwKKyt9OworKworICNpZmRlZiBfR1NTX1NUQVRJQ19MSU5LCisgI2luY2x1ZGUgIm1nbHVlUC5oIgorIHN0YXRpYyBpbnQgZ3NzX2lha2VyYm1lY2hnbHVlX2luaXQodm9pZCkKKyB7CisgICAgIHN0cnVjdCBnc3NfbWVjaF9jb25maWcgbWVjaF9pYWtlcmI7CistICAgIHN0cnVjdCBnc3NfY29uZmlnIGlha2VyYl9tZWNoYW5pc20gPSBrcmI1X21lY2hhbmlzbTsKKy0KKy0gICAgLyogSUFLRVJCIG1lY2hhbmlzbSBtaXJyb3JzIGtyYjUsIGJ1dCB3aXRoIGRpZmZlcmVudCBjb250ZXh0IFNQSXMgKi8KKy0gICAgaWFrZXJiX21lY2hhbmlzbS5nc3NfYWNjZXB0X3NlY19jb250ZXh0ID0gaWFrZXJiX2dzc19hY2NlcHRfc2VjX2NvbnRleHQ7CistICAgIGlha2VyYl9tZWNoYW5pc20uZ3NzX2luaXRfc2VjX2NvbnRleHQgICA9IGlha2VyYl9nc3NfaW5pdF9zZWNfY29udGV4dDsKKy0gICAgaWFrZXJiX21lY2hhbmlzbS5nc3NfZGVsZXRlX3NlY19jb250ZXh0ID0gaWFrZXJiX2dzc19kZWxldGVfc2VjX2NvbnRleHQ7CistICAgIGlha2VyYl9tZWNoYW5pc20uZ3NzX2FjcXVpcmVfY3JlZCAgICAgICA9IGlha2VyYl9nc3NfYWNxdWlyZV9jcmVkOworLSAgICBpYWtlcmJfbWVjaGFuaXNtLmdzc3NwaV9hY3F1aXJlX2NyZWRfd2l0aF9wYXNzd29yZAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gaWFrZXJiX2dzc19hY3F1aXJlX2NyZWRfd2l0aF9wYXNzd29yZDsKKyAKKyAgICAgbWVtc2V0KCZtZWNoX2lha2VyYiwgMCwgc2l6ZW9mKG1lY2hfaWFrZXJiKSk7CisgICAgIG1lY2hfaWFrZXJiLm1lY2ggPSAmaWFrZXJiX21lY2hhbmlzbTsKK2RpZmYgLS1naXQgYS9zcmMvbGliL2dzc2FwaS9rcmI1L2lha2VyYi5jIGIvc3JjL2xpYi9nc3NhcGkva3JiNS9pYWtlcmIuYworaW5kZXggZjMwZGUzMi4uNDY2MmJkOSAxMDA2NDQKKy0tLSBhL3NyYy9saWIvZ3NzYXBpL2tyYjUvaWFrZXJiLmMKKysrKyBiL3NyYy9saWIvZ3NzYXBpL2tyYjUvaWFrZXJiLmMKK0BAIC00Nyw2ICs0Nyw4IEBAIHN0cnVjdCBfaWFrZXJiX2N0eF9pZF9yZWMgeworICAgICBnc3NfY3R4X2lkX3QgZ3NzYzsKKyAgICAga3JiNV9kYXRhIGNvbnY7ICAgICAgICAgICAgICAgICAgICAgLyogY29udmVyc2F0aW9uIGZvciBjaGVja3N1bW1pbmcgKi8KKyAgICAgdW5zaWduZWQgaW50IGNvdW50OyAgICAgICAgICAgICAgICAgLyogbnVtYmVyIG9mIHJvdW5kIHRyaXBzICovCisrICAgIGludCBpbml0aWF0ZTsKKysgICAgaW50IGVzdGFibGlzaGVkOworICAgICBrcmI1X2dldF9pbml0X2NyZWRzX29wdCAqZ2ljX29wdHM7CisgfTsKKyAKK0BAIC02OTUsNyArNjk3LDcgQEAgY2xlYW51cDoKKyAgKiBBbGxvY2F0ZSBhbmQgaW5pdGlhbGlzZSBhbiBJQUtFUkIgY29udGV4dAorICAqLworIHN0YXRpYyBrcmI1X2Vycm9yX2NvZGUKKy1pYWtlcmJfYWxsb2NfY29udGV4dChpYWtlcmJfY3R4X2lkX3QgKnBjdHgpCisraWFrZXJiX2FsbG9jX2NvbnRleHQoaWFrZXJiX2N0eF9pZF90ICpwY3R4LCBpbnQgaW5pdGlhdGUpCisgeworICAgICBpYWtlcmJfY3R4X2lkX3QgY3R4OworICAgICBrcmI1X2Vycm9yX2NvZGUgY29kZTsKK0BAIC03MDksNiArNzExLDggQEAgaWFrZXJiX2FsbG9jX2NvbnRleHQoaWFrZXJiX2N0eF9pZF90ICpwY3R4KQorICAgICBjdHgtPm1hZ2ljID0gS0dfSUFLRVJCX0NPTlRFWFQ7CisgICAgIGN0eC0+c3RhdGUgPSBJQUtFUkJfQVNfUkVROworICAgICBjdHgtPmNvdW50ID0gMDsKKysgICAgY3R4LT5pbml0aWF0ZSA9IGluaXRpYXRlOworKyAgICBjdHgtPmVzdGFibGlzaGVkID0gMDsKKyAKKyAgICAgY29kZSA9IGtyYjVfZ3NzX2luaXRfY29udGV4dCgmY3R4LT5rNWMpOworICAgICBpZiAoY29kZSAhPSAwKQorQEAgLTczMiw3ICs3MzYsNyBAQCBpYWtlcmJfZ3NzX2RlbGV0ZV9zZWNfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgKmNvbnRleHRfaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBvdXRwdXRfdG9rZW4pCisgeworLSAgICBPTV91aW50MzIgbWFqb3Jfc3RhdHVzID0gR1NTX1NfQ09NUExFVEU7CisrICAgIGlha2VyYl9jdHhfaWRfdCBpYWtlcmJfY3R4ID0gKGlha2VyYl9jdHhfaWRfdCkqY29udGV4dF9oYW5kbGU7CisgCisgICAgIGlmIChvdXRwdXRfdG9rZW4gIT0gR1NTX0NfTk9fQlVGRkVSKSB7CisgICAgICAgICBvdXRwdXRfdG9rZW4tPmxlbmd0aCA9IDA7CitAQCAtNzQwLDIzICs3NDQsMTAgQEAgaWFrZXJiX2dzc19kZWxldGVfc2VjX2NvbnRleHQoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisgICAgIH0KKyAKKyAgICAgKm1pbm9yX3N0YXR1cyA9IDA7CisrICAgICpjb250ZXh0X2hhbmRsZSA9IEdTU19DX05PX0NPTlRFWFQ7CisrICAgIGlha2VyYl9yZWxlYXNlX2NvbnRleHQoaWFrZXJiX2N0eCk7CisgCistICAgIGlmICgqY29udGV4dF9oYW5kbGUgIT0gR1NTX0NfTk9fQ09OVEVYVCkgeworLSAgICAgICAgaWFrZXJiX2N0eF9pZF90IGlha2VyYl9jdHggPSAoaWFrZXJiX2N0eF9pZF90KSpjb250ZXh0X2hhbmRsZTsKKy0KKy0gICAgICAgIGlmIChpYWtlcmJfY3R4LT5tYWdpYyA9PSBLR19JQUtFUkJfQ09OVEVYVCkgeworLSAgICAgICAgICAgIGlha2VyYl9yZWxlYXNlX2NvbnRleHQoaWFrZXJiX2N0eCk7CistICAgICAgICAgICAgKmNvbnRleHRfaGFuZGxlID0gR1NTX0NfTk9fQ09OVEVYVDsKKy0gICAgICAgIH0gZWxzZSB7CistICAgICAgICAgICAgYXNzZXJ0KGlha2VyYl9jdHgtPm1hZ2ljID09IEtHX0NPTlRFWFQpOworLQorLSAgICAgICAgICAgIG1ham9yX3N0YXR1cyA9IGtyYjVfZ3NzX2RlbGV0ZV9zZWNfY29udGV4dChtaW5vcl9zdGF0dXMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRfaGFuZGxlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfdG9rZW4pOworLSAgICAgICAgfQorLSAgICB9CistCistICAgIHJldHVybiBtYWpvcl9zdGF0dXM7CisrICAgIHJldHVybiBHU1NfU19DT01QTEVURTsKKyB9CisgCisgc3RhdGljIGtyYjVfYm9vbGVhbgorQEAgLTgwMiw3ICs3OTMsNyBAQCBpYWtlcmJfZ3NzX2FjY2VwdF9zZWNfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAgICAgaW50IGluaXRpYWxDb250ZXh0VG9rZW4gPSAoKmNvbnRleHRfaGFuZGxlID09IEdTU19DX05PX0NPTlRFWFQpOworIAorICAgICBpZiAoaW5pdGlhbENvbnRleHRUb2tlbikgeworLSAgICAgICAgY29kZSA9IGlha2VyYl9hbGxvY19jb250ZXh0KCZjdHgpOworKyAgICAgICAgY29kZSA9IGlha2VyYl9hbGxvY19jb250ZXh0KCZjdHgsIDApOworICAgICAgICAgaWYgKGNvZGUgIT0gMCkKKyAgICAgICAgICAgICBnb3RvIGNsZWFudXA7CisgCitAQCAtODU0LDExICs4NDUsOCBAQCBpYWtlcmJfZ3NzX2FjY2VwdF9zZWNfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZV9yZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGVnYXRlZF9jcmVkX2hhbmRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmV4dHMpOworLSAgICAgICAgaWYgKG1ham9yX3N0YXR1cyA9PSBHU1NfU19DT01QTEVURSkgeworLSAgICAgICAgICAgICpjb250ZXh0X2hhbmRsZSA9IGN0eC0+Z3NzYzsKKy0gICAgICAgICAgICBjdHgtPmdzc2MgPSBOVUxMOworLSAgICAgICAgICAgIGlha2VyYl9yZWxlYXNlX2NvbnRleHQoY3R4KTsKKy0gICAgICAgIH0KKysgICAgICAgIGlmIChtYWpvcl9zdGF0dXMgPT0gR1NTX1NfQ09NUExFVEUpCisrICAgICAgICAgICAgY3R4LT5lc3RhYmxpc2hlZCA9IDE7CisgICAgICAgICBpZiAobWVjaF90eXBlICE9IE5VTEwpCisgICAgICAgICAgICAgKm1lY2hfdHlwZSA9IChnc3NfT0lEKWdzc19tZWNoX2tyYjU7CisgICAgIH0KK0BAIC04OTcsNyArODg1LDcgQEAgaWFrZXJiX2dzc19pbml0X3NlY19jb250ZXh0KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorICAgICBpbnQgaW5pdGlhbENvbnRleHRUb2tlbiA9ICgqY29udGV4dF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCk7CisgCisgICAgIGlmIChpbml0aWFsQ29udGV4dFRva2VuKSB7CistICAgICAgICBjb2RlID0gaWFrZXJiX2FsbG9jX2NvbnRleHQoJmN0eCk7CisrICAgICAgICBjb2RlID0gaWFrZXJiX2FsbG9jX2NvbnRleHQoJmN0eCwgMSk7CisgICAgICAgICBpZiAoY29kZSAhPSAwKSB7CisgICAgICAgICAgICAgKm1pbm9yX3N0YXR1cyA9IGNvZGU7CisgICAgICAgICAgICAgZ290byBjbGVhbnVwOworQEAgLTk4MywxMSArOTcxLDggQEAgaWFrZXJiX2dzc19pbml0X3NlY19jb250ZXh0KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0X2ZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZV9yZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXh0cyk7CistICAgICAgICBpZiAobWFqb3Jfc3RhdHVzID09IEdTU19TX0NPTVBMRVRFKSB7CistICAgICAgICAgICAgKmNvbnRleHRfaGFuZGxlID0gY3R4LT5nc3NjOworLSAgICAgICAgICAgIGN0eC0+Z3NzYyA9IEdTU19DX05PX0NPTlRFWFQ7CistICAgICAgICAgICAgaWFrZXJiX3JlbGVhc2VfY29udGV4dChjdHgpOworLSAgICAgICAgfQorKyAgICAgICAgaWYgKG1ham9yX3N0YXR1cyA9PSBHU1NfU19DT01QTEVURSkKKysgICAgICAgICAgICBjdHgtPmVzdGFibGlzaGVkID0gMTsKKyAgICAgICAgIGlmIChhY3R1YWxfbWVjaF90eXBlICE9IE5VTEwpCisgICAgICAgICAgICAgKmFjdHVhbF9tZWNoX3R5cGUgPSAoZ3NzX09JRClnc3NfbWVjaF9rcmI1OworICAgICB9IGVsc2UgeworQEAgLTEwMTAsMyArOTk1LDMwOSBAQCBjbGVhbnVwOgorIAorICAgICByZXR1cm4gbWFqb3Jfc3RhdHVzOworIH0KKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3NfdW53cmFwKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgZ3NzX2J1ZmZlcl90IGlucHV0X21lc3NhZ2VfYnVmZmVyLAorKyAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBvdXRwdXRfbWVzc2FnZV9idWZmZXIsIGludCAqY29uZl9zdGF0ZSwKKysgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgKnFvcF9zdGF0ZSkKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoY3R4LT5nc3NjID09IEdTU19DX05PX0NPTlRFWFQpCisrICAgICAgICByZXR1cm4gR1NTX1NfTk9fQ09OVEVYVDsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX3Vud3JhcChtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgaW5wdXRfbWVzc2FnZV9idWZmZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0X21lc3NhZ2VfYnVmZmVyLCBjb25mX3N0YXRlLCBxb3Bfc3RhdGUpOworK30KKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3Nfd3JhcChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICBpbnQgY29uZl9yZXFfZmxhZywgZ3NzX3FvcF90IHFvcF9yZXEsCisrICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBpbnB1dF9tZXNzYWdlX2J1ZmZlciwgaW50ICpjb25mX3N0YXRlLAorKyAgICAgICAgICAgICAgICBnc3NfYnVmZmVyX3Qgb3V0cHV0X21lc3NhZ2VfYnVmZmVyKQorK3sKKysgICAgaWFrZXJiX2N0eF9pZF90IGN0eCA9IChpYWtlcmJfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrICAgIGlmIChjdHgtPmdzc2MgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysgICAgICAgIHJldHVybiBHU1NfU19OT19DT05URVhUOworKworKyAgICByZXR1cm4ga3JiNV9nc3Nfd3JhcChtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgY29uZl9yZXFfZmxhZywgcW9wX3JlcSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfbWVzc2FnZV9idWZmZXIsIGNvbmZfc3RhdGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9tZXNzYWdlX2J1ZmZlcik7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19wcm9jZXNzX2NvbnRleHRfdG9rZW4oT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19idWZmZXJfdCB0b2tlbl9idWZmZXIpCisreworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX0RFRkVDVElWRV9UT0tFTjsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX3Byb2Nlc3NfY29udGV4dF90b2tlbihtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbl9idWZmZXIpOworK30KKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3NfY29udGV4dF90aW1lKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgT01fdWludDMyICp0aW1lX3JlYykKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoY3R4LT5nc3NjID09IEdTU19DX05PX0NPTlRFWFQpCisrICAgICAgICByZXR1cm4gR1NTX1NfTk9fQ09OVEVYVDsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX2NvbnRleHRfdGltZShtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgdGltZV9yZWMpOworK30KKysKKysjaWZuZGVmIExFQU5fQ0xJRU5UCisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2V4cG9ydF9zZWNfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgKmNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBpbnRlcnByb2Nlc3NfdG9rZW4pCisreworKyAgICBPTV91aW50MzIgbWFqOworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgLyogV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgZXhwb3J0aW5nIHBhcnRpYWxseSBlc3RhYmxpc2hlZCBjb250ZXh0cy4gKi8KKysgICAgaWYgKCFjdHgtPmVzdGFibGlzaGVkKQorKyAgICAgICAgcmV0dXJuIEdTU19TX1VOQVZBSUxBQkxFOworKworKyAgICBtYWogPSBrcmI1X2dzc19leHBvcnRfc2VjX2NvbnRleHQobWlub3Jfc3RhdHVzLCAmY3R4LT5nc3NjLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJwcm9jZXNzX3Rva2VuKTsKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKSB7CisrICAgICAgICBpYWtlcmJfcmVsZWFzZV9jb250ZXh0KGN0eCk7CisrICAgICAgICAqY29udGV4dF9oYW5kbGUgPSBHU1NfQ19OT19DT05URVhUOworKyAgICB9CisrICAgIHJldHVybiBtYWo7CisrfQorKworKy8qCisrICogVW50aWwgd2UgaW1wbGVtZW50IHBhcnRpYWwgY29udGV4dCBleHBvcnRzLCB0aGVyZSBhcmUgbm8gU1BORUdPIGV4cG9ydGVkCisrICogY29udGV4dCB0b2tlbnMsIG9ubHkgdG9rZW5zIGZvciB0aGUgdW5kZXJseWluZyBrcmI1IGNvbnRleHQuICBTbyB3ZSBkbyBub3QKKysgKiBuZWVkIHRvIGltcGxlbWVudCBhbiBpYWtlcmJfZ3NzX2ltcG9ydF9zZWNfY29udGV4dCgpIHlldDsgaXQgd291bGQgYmUKKysgKiB1bnJlYWNoYWJsZSBleGNlcHQgdmlhIGEgbWFudWFsbHkgY29uc3RydWN0ZWQgdG9rZW4uCisrICovCisrCisrI2VuZGlmIC8qIExFQU5fQ0xJRU5UICovCisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2lucXVpcmVfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsIGdzc19uYW1lX3QgKnNyY19uYW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19uYW1lX3QgKnRhcmdfbmFtZSwgT01fdWludDMyICpsaWZldGltZV9yZWMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX09JRCAqbWVjaF90eXBlLCBPTV91aW50MzIgKmN0eF9mbGFncywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKmluaXRpYXRlLCBpbnQgKm9wZW5lZCkKKyt7CisrICAgIE9NX3VpbnQzMiByZXQ7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoc3JjX25hbWUgIT0gTlVMTCkKKysgICAgICAgICpzcmNfbmFtZSA9IEdTU19DX05PX05BTUU7CisrICAgIGlmICh0YXJnX25hbWUgIT0gTlVMTCkKKysgICAgICAgICp0YXJnX25hbWUgPSBHU1NfQ19OT19OQU1FOworKyAgICBpZiAobGlmZXRpbWVfcmVjICE9IE5VTEwpCisrICAgICAgICAqbGlmZXRpbWVfcmVjID0gMDsKKysgICAgaWYgKG1lY2hfdHlwZSAhPSBOVUxMKQorKyAgICAgICAgKm1lY2hfdHlwZSA9IChnc3NfT0lEKWdzc19tZWNoX2lha2VyYjsKKysgICAgaWYgKGN0eF9mbGFncyAhPSBOVUxMKQorKyAgICAgICAgKmN0eF9mbGFncyA9IDA7CisrICAgIGlmIChpbml0aWF0ZSAhPSBOVUxMKQorKyAgICAgICAgKmluaXRpYXRlID0gY3R4LT5pbml0aWF0ZTsKKysgICAgaWYgKG9wZW5lZCAhPSBOVUxMKQorKyAgICAgICAgKm9wZW5lZCA9IGN0eC0+ZXN0YWJsaXNoZWQ7CisrCisrICAgIGlmIChjdHgtPmdzc2MgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysgICAgICAgIHJldHVybiBHU1NfU19DT01QTEVURTsKKysKKysgICAgcmV0ID0ga3JiNV9nc3NfaW5xdWlyZV9jb250ZXh0KG1pbm9yX3N0YXR1cywgY3R4LT5nc3NjLCBzcmNfbmFtZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdfbmFtZSwgbGlmZXRpbWVfcmVjLCBtZWNoX3R5cGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHhfZmxhZ3MsIGluaXRpYXRlLCBvcGVuZWQpOworKworKyAgICBpZiAoIWN0eC0+ZXN0YWJsaXNoZWQpIHsKKysgICAgICAgIC8qIFJlcG9ydCBJQUtFUkIgYXMgdGhlIG1lY2ggT0lEIHVudGlsIHRoZSBjb250ZXh0IGlzIGVzdGFibGlzaGVkLiAqLworKyAgICAgICAgaWYgKG1lY2hfdHlwZSAhPSBOVUxMKQorKyAgICAgICAgICAgICptZWNoX3R5cGUgPSAoZ3NzX09JRClnc3NfbWVjaF9pYWtlcmI7CisrCisrICAgICAgICAvKiBXZSBkb24ndCBzdXBwb3J0IGV4cG9ydGluZyBwYXJ0aWFsbHktZXN0YWJsaXNoZWQgY29udGV4dHMuICovCisrICAgICAgICBpZiAoY3R4X2ZsYWdzICE9IE5VTEwpCisrICAgICAgICAgICAgKmN0eF9mbGFncyAmPSB+R1NTX0NfVFJBTlNfRkxBRzsKKysgICAgfQorKworKyAgICByZXR1cm4gcmV0OworK30KKysKKytPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorK2lha2VyYl9nc3Nfd3JhcF9zaXplX2xpbWl0KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwgaW50IGNvbmZfcmVxX2ZsYWcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX3FvcF90IHFvcF9yZXEsIE9NX3VpbnQzMiByZXFfb3V0cHV0X3NpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgT01fdWludDMyICptYXhfaW5wdXRfc2l6ZSkKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoY3R4LT5nc3NjID09IEdTU19DX05PX0NPTlRFWFQpCisrICAgICAgICByZXR1cm4gR1NTX1NfTk9fQ09OVEVYVDsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX3dyYXBfc2l6ZV9saW1pdChtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgY29uZl9yZXFfZmxhZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxb3BfcmVxLCByZXFfb3V0cHV0X3NpemUsIG1heF9pbnB1dF9zaXplKTsKKyt9CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2dldF9taWMoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgZ3NzX3FvcF90IHFvcF9yZXEsIGdzc19idWZmZXJfdCBtZXNzYWdlX2J1ZmZlciwKKysgICAgICAgICAgICAgICAgICAgZ3NzX2J1ZmZlcl90IG1lc3NhZ2VfdG9rZW4pCisreworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX05PX0NPTlRFWFQ7CisrCisrICAgIHJldHVybiBrcmI1X2dzc19nZXRfbWljKG1pbm9yX3N0YXR1cywgY3R4LT5nc3NjLCBxb3BfcmVxLCBtZXNzYWdlX2J1ZmZlciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZV90b2tlbik7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc192ZXJpZnlfbWljKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBtc2dfYnVmZmVyLCBnc3NfYnVmZmVyX3QgdG9rZW5fYnVmZmVyLAorKyAgICAgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgKnFvcF9zdGF0ZSkKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoY3R4LT5nc3NjID09IEdTU19DX05PX0NPTlRFWFQpCisrICAgICAgICByZXR1cm4gR1NTX1NfTk9fQ09OVEVYVDsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX3ZlcmlmeV9taWMobWlub3Jfc3RhdHVzLCBjdHgtPmdzc2MsIG1zZ19idWZmZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuX2J1ZmZlciwgcW9wX3N0YXRlKTsKKyt9CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX2lucXVpcmVfc2VjX2NvbnRleHRfYnlfb2lkKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX09JRCBkZXNpcmVkX29iamVjdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfc2V0X3QgKmRhdGFfc2V0KQorK3sKKysgICAgaWFrZXJiX2N0eF9pZF90IGN0eCA9IChpYWtlcmJfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrICAgIGlmIChjdHgtPmdzc2MgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysgICAgICAgIHJldHVybiBHU1NfU19VTkFWQUlMQUJMRTsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX2lucXVpcmVfc2VjX2NvbnRleHRfYnlfb2lkKG1pbm9yX3N0YXR1cywgY3R4LT5nc3NjLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzaXJlZF9vYmplY3QsIGRhdGFfc2V0KTsKKyt9CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX3NldF9zZWNfY29udGV4dF9vcHRpb24oT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19jdHhfaWRfdCAqY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19PSUQgZGVzaXJlZF9vYmplY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdzc19idWZmZXJfdCB2YWx1ZSkKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KSpjb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eCA9PSBOVUxMIHx8IGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX1VOQVZBSUxBQkxFOworKworKyAgICByZXR1cm4ga3JiNV9nc3Nfc2V0X3NlY19jb250ZXh0X29wdGlvbihtaW5vcl9zdGF0dXMsICZjdHgtPmdzc2MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lyZWRfb2JqZWN0LCB2YWx1ZSk7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc193cmFwX2lvdihPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgaW50IGNvbmZfcmVxX2ZsYWcsIGdzc19xb3BfdCBxb3BfcmVxLCBpbnQgKmNvbmZfc3RhdGUsCisrICAgICAgICAgICAgICAgICAgICBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsIGludCBpb3ZfY291bnQpCisreworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX05PX0NPTlRFWFQ7CisrCisrICAgIHJldHVybiBrcmI1X2dzc193cmFwX2lvdihtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgY29uZl9yZXFfZmxhZywgcW9wX3JlcSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZfc3RhdGUsIGlvdiwgaW92X2NvdW50KTsKKyt9CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX3Vud3JhcF9pb3YoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKysgICAgICAgICAgICAgICAgICAgICAgaW50ICpjb25mX3N0YXRlLCBnc3NfcW9wX3QgKnFvcF9zdGF0ZSwKKysgICAgICAgICAgICAgICAgICAgICAgZ3NzX2lvdl9idWZmZXJfZGVzYyAqaW92LCBpbnQgaW92X2NvdW50KQorK3sKKysgICAgaWFrZXJiX2N0eF9pZF90IGN0eCA9IChpYWtlcmJfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrICAgIGlmIChjdHgtPmdzc2MgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysgICAgICAgIHJldHVybiBHU1NfU19OT19DT05URVhUOworKworKyAgICByZXR1cm4ga3JiNV9nc3NfdW53cmFwX2lvdihtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgY29uZl9zdGF0ZSwgcW9wX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3YsIGlvdl9jb3VudCk7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc193cmFwX2lvdl9sZW5ndGgoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLCBpbnQgY29uZl9yZXFfZmxhZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgcW9wX3JlcSwgaW50ICpjb25mX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19pb3ZfYnVmZmVyX2Rlc2MgKmlvdiwgaW50IGlvdl9jb3VudCkKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoY3R4LT5nc3NjID09IEdTU19DX05PX0NPTlRFWFQpCisrICAgICAgICByZXR1cm4gR1NTX1NfTk9fQ09OVEVYVDsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX3dyYXBfaW92X2xlbmd0aChtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgY29uZl9yZXFfZmxhZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxb3BfcmVxLCBjb25mX3N0YXRlLCBpb3YsIGlvdl9jb3VudCk7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19wc2V1ZG9fcmFuZG9tKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwcmZfa2V5LCBjb25zdCBnc3NfYnVmZmVyX3QgcHJmX2luLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBzc2l6ZV90IGRlc2lyZWRfb3V0cHV0X2xlbiwgZ3NzX2J1ZmZlcl90IHByZl9vdXQpCisreworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX05PX0NPTlRFWFQ7CisrCisrICAgIHJldHVybiBrcmI1X2dzc19wc2V1ZG9fcmFuZG9tKG1pbm9yX3N0YXR1cywgY3R4LT5nc3NjLCBwcmZfa2V5LCBwcmZfaW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lyZWRfb3V0cHV0X2xlbiwgcHJmX291dCk7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19nZXRfbWljX2lvdihPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgZ3NzX3FvcF90IHFvcF9yZXEsIGdzc19pb3ZfYnVmZmVyX2Rlc2MgKmlvdiwKKysgICAgICAgICAgICAgICAgICAgICAgIGludCBpb3ZfY291bnQpCisreworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX05PX0NPTlRFWFQ7CisrCisrICAgIHJldHVybiBrcmI1X2dzc19nZXRfbWljX2lvdihtaW5vcl9zdGF0dXMsIGN0eC0+Z3NzYywgcW9wX3JlcSwgaW92LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW92X2NvdW50KTsKKyt9CisrCisrT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKytpYWtlcmJfZ3NzX3ZlcmlmeV9taWNfaW92KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLCBnc3NfY3R4X2lkX3QgY29udGV4dF9oYW5kbGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfcW9wX3QgKnFvcF9zdGF0ZSwgZ3NzX2lvdl9idWZmZXJfZGVzYyAqaW92LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGlvdl9jb3VudCkKKyt7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoY3R4LT5nc3NjID09IEdTU19DX05PX0NPTlRFWFQpCisrICAgICAgICByZXR1cm4gR1NTX1NfTk9fQ09OVEVYVDsKKysKKysgICAgcmV0dXJuIGtyYjVfZ3NzX3ZlcmlmeV9taWNfaW92KG1pbm9yX3N0YXR1cywgY3R4LT5nc3NjLCBxb3Bfc3RhdGUsIGlvdiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvdl9jb3VudCk7CisrfQorKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19nZXRfbWljX2lvdl9sZW5ndGgoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLCBnc3NfcW9wX3QgcW9wX3JlcSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsIGludCBpb3ZfY291bnQpCisreworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysgICAgaWYgKGN0eC0+Z3NzYyA9PSBHU1NfQ19OT19DT05URVhUKQorKyAgICAgICAgcmV0dXJuIEdTU19TX05PX0NPTlRFWFQ7CisrCisrICAgIHJldHVybiBrcmI1X2dzc19nZXRfbWljX2lvdl9sZW5ndGgobWlub3Jfc3RhdHVzLCBjdHgtPmdzc2MsIHFvcF9yZXEsIGlvdiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3ZfY291bnQpOworK30KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9GaXgtSUFLRVJCLWNvbnRleHQtZXhwb3J0LWltcG9ydC1DVkUtMjAxNS0yNjk4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9GaXgtSUFLRVJCLWNvbnRleHQtZXhwb3J0LWltcG9ydC1DVkUtMjAxNS0yNjk4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmNDVkMzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L0ZpeC1JQUtFUkItY29udGV4dC1leHBvcnQtaW1wb3J0LUNWRS0yMDE1LTI2OTgucGF0Y2gKQEAgLTAsMCArMSwxMzQgQEAKK0Zyb20gYWE3NjljOGM2OTA1ZDFhYmZhYzY2ZDRkMWIwZmM3Mzc0MGNjYmU3ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEdyZWcgSHVkc29uIDxnaHVkc29uQG1pdC5lZHU+CitEYXRlOiBTYXQsIDE0IE5vdiAyMDE1IDAyOjQ3OjA0IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggNC80XSBGaXggSUFLRVJCIGNvbnRleHQgZXhwb3J0L2ltcG9ydCBbQ1ZFLTIwMTUtMjY5OF0KKworVGhlIHBhdGNoZXMgZm9yIENWRS0yMDE1LTI2OTYgY29udGFpbmVkIGEgcmVncmVzc2lvbiBpbiB0aGUgbmV3bHkKK2FkZGVkIElBS0VSQiBpYWtlcmJfZ3NzX2V4cG9ydF9zZWNfY29udGV4dCgpIGZ1bmN0aW9uLCB3aGljaCBjb3VsZAorY2F1c2UgaXQgdG8gY29ycnVwdCBtZW1vcnkuICBGaXggdGhlIHJlZ3Jlc3Npb24gYnkgcHJvcGVybHkKK2RlcmVmZXJlbmNpbmcgdGhlIGNvbnRleHRfaGFuZGxlIHBvaW50ZXIgYmVmb3JlIGNhc3RpbmcgaXQuCisKK0Fsc28sIHRoZSBwYXRjaGVzIGRpZCBub3QgaW1wbGVtZW50IGFuIElBS0VSQiBnc3NfaW1wb3J0X3NlY19jb250ZXh0KCkKK2Z1bmN0aW9uLCB1bmRlciB0aGUgZXJyb25lb3VzIGJlbGllZiB0aGF0IGFuIGV4cG9ydGVkIElBS0VSQiBjb250ZXh0Cit3b3VsZCBiZSB0YWdnZWQgYXMgYSBrcmI1IGNvbnRleHQuICBJbXBsZW1lbnQgaXQgbm93IHRvIGFsbG93IElBS0VSQgorY29udGV4dHMgdG8gYmUgc3VjY2Vzc2Z1bGx5IGV4cG9ydGVkIGFuZCBpbXBvcnRlZCBhZnRlciBlc3RhYmxpc2htZW50LgorCitDVkUtMjAxNS0yNjk4OgorCitJbiBhbnkgTUlUIGtyYjUgcmVsZWFzZSB3aXRoIHRoZSBwYXRjaGVzIGZvciBDVkUtMjAxNS0yNjk2IGFwcGxpZWQsIGFuCithcHBsaWNhdGlvbiB3aGljaCBjYWxscyBnc3NfZXhwb3J0X3NlY19jb250ZXh0KCkgbWF5IGV4cGVyaWVuY2UgbWVtb3J5Citjb3JydXB0aW9uIGlmIHRoZSBjb250ZXh0IHdhcyBlc3RhYmxpc2hlZCB1c2luZyB0aGUgSUFLRVJCIG1lY2hhbmlzbS4KK0hpc3RvcmljYWxseSwgc29tZSB2dWxuZXJhYmlsaXRpZXMgb2YgdGhpcyBuYXR1cmUgY2FuIGJlIHRyYW5zbGF0ZWQKK2ludG8gcmVtb3RlIGNvZGUgZXhlY3V0aW9uLCB0aG91Z2ggdGhlIG5lY2Vzc2FyeSBleHBsb2l0cyBtdXN0IGJlCit0YWlsb3JlZCB0byB0aGUgaW5kaXZpZHVhbCBhcHBsaWNhdGlvbiBhbmQgYXJlIHVzdWFsbHkgcXVpdGUKK2NvbXBsaWNhdGVkLgorCisgICAgQ1ZTU3YyIFZlY3RvcjogQVY6Ti9BQzpIL0F1OlMvQzpDL0k6Qy9BOkMvRTpQT0MvUkw6T0YvUkM6QworCit0aWNrZXQ6IDgyNzMgKG5ldykKK3RhcmdldF92ZXJzaW9uOiAxLjE0Cit0YWdzOiBwdWxsdXAKKworQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0OgoraHR0cHM6Ly9naXRodWIuY29tL2tyYjUva3JiNS9jb21taXQvM2RiOGRmZWMxZWY1MGRkZDc4ZDZiYTk1MDMxODU5OTU4NzZhMzlmZAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CistLS0KKyBzcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaVBfa3JiNS5oIHwgIDUgKysrKysKKyBzcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaV9rcmI1LmMgIHwgIDIgKy0KKyBzcmMvbGliL2dzc2FwaS9rcmI1L2lha2VyYi5jICAgICAgIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbGliL2dzc2FwaS9rcmI1L2dzc2FwaVBfa3JiNS5oIGIvc3JjL2xpYi9nc3NhcGkva3JiNS9nc3NhcGlQX2tyYjUuaAoraW5kZXggMDVkYzMyMS4uYWM1MzY2MiAxMDA2NDQKKy0tLSBhL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpUF9rcmI1LmgKKysrKyBiL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpUF9rcmI1LmgKK0BAIC0xMzk2LDYgKzEzOTYsMTEgQEAgT01fdWludDMyIEtSQjVfQ0FMTENPTlYKKyBpYWtlcmJfZ3NzX2V4cG9ydF9zZWNfY29udGV4dChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgKmNvbnRleHRfaGFuZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzc19idWZmZXJfdCBpbnRlcnByb2Nlc3NfdG9rZW4pOworKworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19pbXBvcnRfc2VjX2NvbnRleHQoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3NzX2J1ZmZlcl90IGludGVycHJvY2Vzc190b2tlbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgKmNvbnRleHRfaGFuZGxlKTsKKyAjZW5kaWYgLyogTEVBTl9DTElFTlQgKi8KKyAKKyBPTV91aW50MzIgS1JCNV9DQUxMQ09OVgorZGlmZiAtLWdpdCBhL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpX2tyYjUuYyBiL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpX2tyYjUuYworaW5kZXggOWEyMzY1Ni4uZDdiYTI3OSAxMDA2NDQKKy0tLSBhL3NyYy9saWIvZ3NzYXBpL2tyYjUvZ3NzYXBpX2tyYjUuYworKysrIGIvc3JjL2xpYi9nc3NhcGkva3JiNS9nc3NhcGlfa3JiNS5jCitAQCAtOTQ1LDcgKzk0NSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZ3NzX2NvbmZpZyBpYWtlcmJfbWVjaGFuaXNtID0geworICAgICBOVUxMLAorICNlbHNlCisgICAgIGlha2VyYl9nc3NfZXhwb3J0X3NlY19jb250ZXh0LAorLSAgICBOVUxMLAorKyAgICBpYWtlcmJfZ3NzX2ltcG9ydF9zZWNfY29udGV4dCwKKyAjZW5kaWYKKyAgICAga3JiNV9nc3NfaW5xdWlyZV9jcmVkX2J5X21lY2gsCisgICAgIGtyYjVfZ3NzX2lucXVpcmVfbmFtZXNfZm9yX21lY2gsCitkaWZmIC0tZ2l0IGEvc3JjL2xpYi9nc3NhcGkva3JiNS9pYWtlcmIuYyBiL3NyYy9saWIvZ3NzYXBpL2tyYjUvaWFrZXJiLmMKK2luZGV4IDQ2NjJiZDkuLjQ4YmVhZWUgMTAwNjQ0CistLS0gYS9zcmMvbGliL2dzc2FwaS9rcmI1L2lha2VyYi5jCisrKysgYi9zcmMvbGliL2dzc2FwaS9rcmI1L2lha2VyYi5jCitAQCAtMTA2MSw3ICsxMDYxLDcgQEAgaWFrZXJiX2dzc19leHBvcnRfc2VjX2NvbnRleHQoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX2J1ZmZlcl90IGludGVycHJvY2Vzc190b2tlbikKKyB7CisgICAgIE9NX3VpbnQzMiBtYWo7CistICAgIGlha2VyYl9jdHhfaWRfdCBjdHggPSAoaWFrZXJiX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKyAgICBpYWtlcmJfY3R4X2lkX3QgY3R4ID0gKGlha2VyYl9jdHhfaWRfdCkqY29udGV4dF9oYW5kbGU7CisgCisgICAgIC8qIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IGV4cG9ydGluZyBwYXJ0aWFsbHkgZXN0YWJsaXNoZWQgY29udGV4dHMuICovCisgICAgIGlmICghY3R4LT5lc3RhYmxpc2hlZCkKK0BAIC0xMDc2LDEzICsxMDc2LDQxIEBAIGlha2VyYl9nc3NfZXhwb3J0X3NlY19jb250ZXh0KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorICAgICByZXR1cm4gbWFqOworIH0KKyAKKy0vKgorLSAqIFVudGlsIHdlIGltcGxlbWVudCBwYXJ0aWFsIGNvbnRleHQgZXhwb3J0cywgdGhlcmUgYXJlIG5vIFNQTkVHTyBleHBvcnRlZAorLSAqIGNvbnRleHQgdG9rZW5zLCBvbmx5IHRva2VucyBmb3IgdGhlIHVuZGVybHlpbmcga3JiNSBjb250ZXh0LiAgU28gd2UgZG8gbm90CistICogbmVlZCB0byBpbXBsZW1lbnQgYW4gaWFrZXJiX2dzc19pbXBvcnRfc2VjX2NvbnRleHQoKSB5ZXQ7IGl0IHdvdWxkIGJlCistICogdW5yZWFjaGFibGUgZXhjZXB0IHZpYSBhIG1hbnVhbGx5IGNvbnN0cnVjdGVkIHRva2VuLgorLSAqLworK09NX3VpbnQzMiBLUkI1X0NBTExDT05WCisraWFrZXJiX2dzc19pbXBvcnRfc2VjX2NvbnRleHQoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NzX2J1ZmZlcl90IGludGVycHJvY2Vzc190b2tlbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnc3NfY3R4X2lkX3QgKmNvbnRleHRfaGFuZGxlKQorK3sKKysgICAgT01fdWludDMyIG1haiwgdG1wbWluOworKyAgICBrcmI1X2Vycm9yX2NvZGUgY29kZTsKKysgICAgZ3NzX2N0eF9pZF90IGdzc2M7CisrICAgIGtyYjVfZ3NzX2N0eF9pZF90IGtjdHg7CisrICAgIGlha2VyYl9jdHhfaWRfdCBjdHg7CisrCisrICAgIG1haiA9IGtyYjVfZ3NzX2ltcG9ydF9zZWNfY29udGV4dChtaW5vcl9zdGF0dXMsIGludGVycHJvY2Vzc190b2tlbiwgJmdzc2MpOworKyAgICBpZiAobWFqICE9IEdTU19TX0NPTVBMRVRFKQorKyAgICAgICAgcmV0dXJuIG1hajsKKysgICAga2N0eCA9IChrcmI1X2dzc19jdHhfaWRfdClnc3NjOworKworKyAgICBpZiAoIWtjdHgtPmVzdGFibGlzaGVkKSB7CisrICAgICAgICAvKiBXZSBkb24ndCBjdXJyZW50bHkgc3VwcG9ydCBpbXBvcnRpbmcgcGFydGlhbGx5IGVzdGFibGlzaGVkCisrICAgICAgICAgKiBjb250ZXh0cy4gKi8KKysgICAgICAgIGtyYjVfZ3NzX2RlbGV0ZV9zZWNfY29udGV4dCgmdG1wbWluLCAmZ3NzYywgR1NTX0NfTk9fQlVGRkVSKTsKKysgICAgICAgIHJldHVybiBHU1NfU19GQUlMVVJFOworKyAgICB9CisgCisrICAgIGNvZGUgPSBpYWtlcmJfYWxsb2NfY29udGV4dCgmY3R4LCBrY3R4LT5pbml0aWF0ZSk7CisrICAgIGlmIChjb2RlICE9IDApIHsKKysgICAgICAgIGtyYjVfZ3NzX2RlbGV0ZV9zZWNfY29udGV4dCgmdG1wbWluLCAmZ3NzYywgR1NTX0NfTk9fQlVGRkVSKTsKKysgICAgICAgICptaW5vcl9zdGF0dXMgPSBjb2RlOworKyAgICAgICAgcmV0dXJuIEdTU19TX0ZBSUxVUkU7CisrICAgIH0KKysKKysgICAgY3R4LT5nc3NjID0gZ3NzYzsKKysgICAgY3R4LT5lc3RhYmxpc2hlZCA9IDE7CisrICAgICpjb250ZXh0X2hhbmRsZSA9IChnc3NfY3R4X2lkX3QpY3R4OworKyAgICByZXR1cm4gR1NTX1NfQ09NUExFVEU7CisrfQorICNlbmRpZiAvKiBMRUFOX0NMSUVOVCAqLworIAorIE9NX3VpbnQzMiBLUkI1X0NBTExDT05WCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvRml4LVNQTkVHTy1jb250ZXh0LWFsaWFzaW5nLWJ1Z3MtQ1ZFLTIwMTUtMjY5NS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvRml4LVNQTkVHTy1jb250ZXh0LWFsaWFzaW5nLWJ1Z3MtQ1ZFLTIwMTUtMjY5NS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjdlNmM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9GaXgtU1BORUdPLWNvbnRleHQtYWxpYXNpbmctYnVncy1DVkUtMjAxNS0yNjk1LnBhdGNoCkBAIC0wLDAgKzEsNTcyIEBACitGcm9tIDg4NDkxM2U4MDc0MTRhMWUwNjI0NTkxOGRlYTcxMjQzYzVmZGQwZTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBOaWNvbGFzIFdpbGxpYW1zIDxuaWNvQHR3b3NpZ21hLmNvbT4KK0RhdGU6IE1vbiwgMTQgU2VwIDIwMTUgMTI6Mjc6NTIgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzRdIEZpeCBTUE5FR08gY29udGV4dCBhbGlhc2luZyBidWdzIFtDVkUtMjAxNS0yNjk1XQorCitUaGUgU1BORUdPIG1lY2hhbmlzbSBjdXJyZW50bHkgcmVwbGFjZXMgaXRzIGNvbnRleHQgaGFuZGxlIHdpdGggdGhlCittZWNoYW5pc20gY29udGV4dCBoYW5kbGUgdXBvbiBlc3RhYmxpc2htZW50LCB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0Cittb3N0IEdTUyBmdW5jdGlvbnMgYXJlIG9ubHkgY2FsbGVkIGFmdGVyIGNvbnRleHQgZXN0YWJsaXNobWVudC4gIFRoaXMKK2Fzc3VtcHRpb24gaXMgaW5jb3JyZWN0LCBhbmQgY2FuIGxlYWQgdG8gYWxpYXNpbmcgdmlvbGF0aW9ucyBmb3Igc29tZQorcHJvZ3JhbXMuICBNYWludGFpbiB0aGUgU1BORUdPIGNvbnRleHQgc3RydWN0dXJlIGFmdGVyIGNvbnRleHQKK2VzdGFibGlzaG1lbnQgYW5kIHJlZmVyIHRvIGl0IGluIGFsbCBHU1MgbWV0aG9kcy4gIEFkZCBpbml0aWF0ZSBhbmQKK29wZW5lZCBmbGFncyB0byB0aGUgU1BORUdPIGNvbnRleHQgc3RydWN0dXJlIGZvciB1c2UgaW4KK2dzc19pbnF1aXJlX2NvbnRleHQoKSBwcmlvciB0byBjb250ZXh0IGVzdGFibGlzaG1lbnQuCisKK0NWRS0yMDE1LTI2OTU6CisKK0luIE1JVCBrcmI1IDEuNSBhbmQgbGF0ZXIsIGFwcGxpY2F0aW9ucyB3aGljaCBjYWxsCitnc3NfaW5xdWlyZV9jb250ZXh0KCkgb24gYSBwYXJ0aWFsbHktZXN0YWJsaXNoZWQgU1BORUdPIGNvbnRleHQgY2FuCitjYXVzZSB0aGUgR1NTLUFQSSBsaWJyYXJ5IHRvIHJlYWQgZnJvbSBhIHBvaW50ZXIgdXNpbmcgdGhlIHdyb25nIHR5cGUsCitnZW5lcmFsbHkgY2F1c2luZyBhIHByb2Nlc3MgY3Jhc2guICBUaGlzIGJ1ZyBtYXkgZ28gdW5ub3RpY2VkLCBiZWNhdXNlCit0aGUgbW9zdCBjb21tb24gU1BORUdPIGF1dGhlbnRpY2F0aW9uIHNjZW5hcmlvIGVzdGFibGlzaGVzIHRoZSBjb250ZXh0CithZnRlciBqdXN0IG9uZSBjYWxsIHRvIGdzc19hY2NlcHRfc2VjX2NvbnRleHQoKS4gIEphdmEgc2VydmVyCithcHBsaWNhdGlvbnMgdXNpbmcgdGhlIG5hdGl2ZSBKR1NTIHByb3ZpZGVyIGFyZSB2dWxuZXJhYmxlIHRvIHRoaXMKK2J1Zy4gIEEgY2FyZWZ1bGx5IGNyYWZ0ZWQgU1BORUdPIHBhY2tldCBtaWdodCBhbGxvdyB0aGUKK2dzc19pbnF1aXJlX2NvbnRleHQoKSBjYWxsIHRvIHN1Y2NlZWQgd2l0aCBhdHRhY2tlci1kZXRlcm1pbmVkCityZXN1bHRzLCBidXQgYXBwbGljYXRpb25zIHNob3VsZCBub3QgbWFrZSBhY2Nlc3MgY29udHJvbCBkZWNpc2lvbnMKK2Jhc2VkIG9uIGdzc19pbnF1aXJlX2NvbnRleHQoKSByZXN1bHRzIHByaW9yIHRvIGNvbnRleHQgZXN0YWJsaXNobWVudC4KKworICAgIENWU1N2MiBWZWN0b3I6IEFWOk4vQUM6TS9BdTpOL0M6Ti9JOk4vQTpDL0U6UE9DL1JMOk9GL1JDOkMKKworW2dodWRzb25AbWl0LmVkdTogc2V2ZXJhbCBidWdmaXhlcywgc3R5bGUgY2hhbmdlcywgYW5kIGVkZ2UtY2FzZQorYmVoYXZpb3IgY2hhbmdlczsgY29tbWl0IG1lc3NhZ2UgYW5kIENWRSBkZXNjcmlwdGlvbl0KKwordGlja2V0OiA4MjQ0Cit0YXJnZXRfdmVyc2lvbjogMS4xNAordGFnczogcHVsbHVwCisKK0JhY2twb3J0IHVwc3RyZWFtIGNvbW1pdDoKK2h0dHBzOi8vZ2l0aHViLmNvbS9rcmI1L2tyYjUvY29tbWl0L2I1MWIzM2YyYmM1ZDE0OTdkZGY1YmQxMDdmNzkxYzEwMTY5NTAwMGQKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorLS0tCisgc3JjL2xpYi9nc3NhcGkvc3BuZWdvL2dzc2FwaVBfc3BuZWdvLmggfCAgIDIgKworIHNyYy9saWIvZ3NzYXBpL3NwbmVnby9zcG5lZ29fbWVjaC5jICAgIHwgMjU0ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTkyIGluc2VydGlvbnMoKyksIDY0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2xpYi9nc3NhcGkvc3BuZWdvL2dzc2FwaVBfc3BuZWdvLmggYi9zcmMvbGliL2dzc2FwaS9zcG5lZ28vZ3NzYXBpUF9zcG5lZ28uaAoraW5kZXggYmMyM2Y1Ni4uOGUwNTczNiAxMDA2NDQKKy0tLSBhL3NyYy9saWIvZ3NzYXBpL3NwbmVnby9nc3NhcGlQX3NwbmVnby5oCisrKysgYi9zcmMvbGliL2dzc2FwaS9zcG5lZ28vZ3NzYXBpUF9zcG5lZ28uaAorQEAgLTEwMiw2ICsxMDIsOCBAQCB0eXBlZGVmIHN0cnVjdCB7CisgCWludCBmaXJzdHBhc3M7CisgCWludCBtZWNoX2NvbXBsZXRlOworIAlpbnQgbmVnb19kb25lOworKwlpbnQgaW5pdGlhdGU7CisrCWludCBvcGVuZWQ7CisgCU9NX3VpbnQzMiBjdHhfZmxhZ3M7CisgCWdzc19uYW1lX3QgaW50ZXJuYWxfbmFtZTsKKyAJZ3NzX09JRCBhY3R1YWxfbWVjaDsKK2RpZmYgLS1naXQgYS9zcmMvbGliL2dzc2FwaS9zcG5lZ28vc3BuZWdvX21lY2guYyBiL3NyYy9saWIvZ3NzYXBpL3NwbmVnby9zcG5lZ29fbWVjaC5jCitpbmRleCBmOTI0OGFiLi4zNDIzZjIyIDEwMDY0NAorLS0tIGEvc3JjL2xpYi9nc3NhcGkvc3BuZWdvL3NwbmVnb19tZWNoLmMKKysrKyBiL3NyYy9saWIvZ3NzYXBpL3NwbmVnby9zcG5lZ29fbWVjaC5jCitAQCAtMTAxLDcgKzEwMSw3IEBAIHN0YXRpYyBPTV91aW50MzIgZ2V0X25lZ290aWFibGVfbWVjaHMoT01fdWludDMyICosIHNwbmVnb19nc3NfY3JlZF9pZF90LAorIAkJCQkgICAgICBnc3NfY3JlZF91c2FnZV90LCBnc3NfT0lEX3NldCAqKTsKKyBzdGF0aWMgdm9pZCByZWxlYXNlX3NwbmVnb19jdHgoc3BuZWdvX2dzc19jdHhfaWRfdCAqKTsKKyBzdGF0aWMgdm9pZCBjaGVja19zcG5lZ29fb3B0aW9ucyhzcG5lZ29fZ3NzX2N0eF9pZF90KTsKKy1zdGF0aWMgc3BuZWdvX2dzc19jdHhfaWRfdCBjcmVhdGVfc3BuZWdvX2N0eCh2b2lkKTsKKytzdGF0aWMgc3BuZWdvX2dzc19jdHhfaWRfdCBjcmVhdGVfc3BuZWdvX2N0eChpbnQpOworIHN0YXRpYyBpbnQgcHV0X21lY2hfc2V0KGdzc19PSURfc2V0IG1lY2hTZXQsIGdzc19idWZmZXJfdCBidWYpOworIHN0YXRpYyBpbnQgcHV0X2lucHV0X3Rva2VuKHVuc2lnbmVkIGNoYXIgKiosIGdzc19idWZmZXJfdCwgdW5zaWduZWQgaW50KTsKKyBzdGF0aWMgaW50IHB1dF9tZWNoX29pZCh1bnNpZ25lZCBjaGFyICoqLCBnc3NfT0lEX2NvbnN0LCB1bnNpZ25lZCBpbnQpOworQEAgLTQzOSw3ICs0MzksNyBAQCBjaGVja19zcG5lZ29fb3B0aW9ucyhzcG5lZ29fZ3NzX2N0eF9pZF90IHNwbmVnb19jdHgpCisgfQorIAorIHN0YXRpYyBzcG5lZ29fZ3NzX2N0eF9pZF90CistY3JlYXRlX3NwbmVnb19jdHgodm9pZCkKKytjcmVhdGVfc3BuZWdvX2N0eChpbnQgaW5pdGlhdGUpCisgeworIAlzcG5lZ29fZ3NzX2N0eF9pZF90IHNwbmVnb19jdHggPSBOVUxMOworIAlzcG5lZ29fY3R4ID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpCitAQCAtNDYyLDYgKzQ2Miw4IEBAIGNyZWF0ZV9zcG5lZ29fY3R4KHZvaWQpCisgCXNwbmVnb19jdHgtPm1pY19yY3ZkID0gMDsKKyAJc3BuZWdvX2N0eC0+bWVjaF9jb21wbGV0ZSA9IDA7CisgCXNwbmVnb19jdHgtPm5lZ29fZG9uZSA9IDA7CisrCXNwbmVnb19jdHgtPm9wZW5lZCA9IDA7CisrCXNwbmVnb19jdHgtPmluaXRpYXRlID0gaW5pdGlhdGU7CisgCXNwbmVnb19jdHgtPmludGVybmFsX25hbWUgPSBHU1NfQ19OT19OQU1FOworIAlzcG5lZ29fY3R4LT5hY3R1YWxfbWVjaCA9IEdTU19DX05PX09JRDsKKyAKK0BAIC02MjcsNyArNjI5LDcgQEAgaW5pdF9jdHhfbmV3KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorIAlPTV91aW50MzIgcmV0OworIAlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gTlVMTDsKKyAKKy0Jc2MgPSBjcmVhdGVfc3BuZWdvX2N0eCgpOworKwlzYyA9IGNyZWF0ZV9zcG5lZ29fY3R4KDEpOworIAlpZiAoc2MgPT0gTlVMTCkKKyAJCXJldHVybiBHU1NfU19GQUlMVVJFOworIAorQEAgLTY0NCwxMCArNjQ2LDcgQEAgaW5pdF9jdHhfbmV3KE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorIAkJcmV0ID0gR1NTX1NfRkFJTFVSRTsKKyAJCWdvdG8gY2xlYW51cDsKKyAJfQorLQkvKgorLQkgKiBUaGUgYWN0dWFsIGNvbnRleHQgaXMgbm90IHlldCBkZXRlcm1pbmVkLCBzZXQgdGhlIG91dHB1dAorLQkgKiBjb250ZXh0IGhhbmRsZSB0byByZWZlciB0byB0aGUgc3BuZWdvIGNvbnRleHQgaXRzZWxmLgorLQkgKi8KKysKKyAJc2MtPmN0eF9oYW5kbGUgPSBHU1NfQ19OT19DT05URVhUOworIAkqY3R4ID0gKGdzc19jdHhfaWRfdClzYzsKKyAJc2MgPSBOVUxMOworQEAgLTEwODgsMTYgKzEwODcsMTEgQEAgY2xlYW51cDoKKyAJfQorIAlnc3NfcmVsZWFzZV9idWZmZXIoJnRtcG1pbiwgJm1lY2h0b2tfb3V0KTsKKyAJaWYgKHJldCA9PSBHU1NfU19DT01QTEVURSkgeworLQkJLyoKKy0JCSAqIE5vdywgc3dpdGNoIHRoZSBvdXRwdXQgY29udGV4dCB0byByZWZlciB0byB0aGUKKy0JCSAqIG5lZ290aWF0ZWQgbWVjaGFuaXNtJ3MgY29udGV4dC4KKy0JCSAqLworLQkJKmNvbnRleHRfaGFuZGxlID0gKGdzc19jdHhfaWRfdClzcG5lZ29fY3R4LT5jdHhfaGFuZGxlOworKwkJc3BuZWdvX2N0eC0+b3BlbmVkID0gMTsKKyAJCWlmIChhY3R1YWxfbWVjaCAhPSBOVUxMKQorIAkJCSphY3R1YWxfbWVjaCA9IHNwbmVnb19jdHgtPmFjdHVhbF9tZWNoOworIAkJaWYgKHJldF9mbGFncyAhPSBOVUxMKQorIAkJCSpyZXRfZmxhZ3MgPSBzcG5lZ29fY3R4LT5jdHhfZmxhZ3M7CistCQlyZWxlYXNlX3NwbmVnb19jdHgoJnNwbmVnb19jdHgpOworIAl9IGVsc2UgaWYgKHJldCAhPSBHU1NfU19DT05USU5VRV9ORUVERUQpIHsKKyAJCWlmIChzcG5lZ29fY3R4ICE9IE5VTEwpIHsKKyAJCQlnc3NfZGVsZXRlX3NlY19jb250ZXh0KCZ0bXBtaW4sCitAQCAtMTM0MSw3ICsxMzM1LDcgQEAgYWNjX2N0eF9oaW50cyhPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAJaWYgKHJldCAhPSBHU1NfU19DT01QTEVURSkKKyAJCWdvdG8gY2xlYW51cDsKKyAKKy0Jc2MgPSBjcmVhdGVfc3BuZWdvX2N0eCgpOworKwlzYyA9IGNyZWF0ZV9zcG5lZ29fY3R4KDApOworIAlpZiAoc2MgPT0gTlVMTCkgeworIAkJcmV0ID0gR1NTX1NfRkFJTFVSRTsKKyAJCWdvdG8gY2xlYW51cDsKK0BAIC0xNDIzLDcgKzE0MTcsNyBAQCBhY2NfY3R4X25ldyhPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAJCWdzc19yZWxlYXNlX2J1ZmZlcigmdG1wbWluLCAmc2MtPkRFUl9tZWNoVHlwZXMpOworIAkJYXNzZXJ0KG1lY2hfd2FudGVkICE9IEdTU19DX05PX09JRCk7CisgCX0gZWxzZQorLQkJc2MgPSBjcmVhdGVfc3BuZWdvX2N0eCgpOworKwkJc2MgPSBjcmVhdGVfc3BuZWdvX2N0eCgwKTsKKyAJaWYgKHNjID09IE5VTEwpIHsKKyAJCXJldCA9IEdTU19TX0ZBSUxVUkU7CisgCQkqcmV0dXJuX3Rva2VuID0gTk9fVE9LRU5fU0VORDsKK0BAIC0xODA2LDEzICsxODAwLDEyIEBAIGNsZWFudXA6CisgCQkJcmV0ID0gR1NTX1NfRkFJTFVSRTsKKyAJfQorIAlpZiAocmV0ID09IEdTU19TX0NPTVBMRVRFKSB7CistCQkqY29udGV4dF9oYW5kbGUgPSAoZ3NzX2N0eF9pZF90KXNjLT5jdHhfaGFuZGxlOworKwkJc2MtPm9wZW5lZCA9IDE7CisgCQlpZiAoc2MtPmludGVybmFsX25hbWUgIT0gR1NTX0NfTk9fTkFNRSAmJgorIAkJICAgIHNyY19uYW1lICE9IE5VTEwpIHsKKyAJCQkqc3JjX25hbWUgPSBzYy0+aW50ZXJuYWxfbmFtZTsKKyAJCQlzYy0+aW50ZXJuYWxfbmFtZSA9IEdTU19DX05PX05BTUU7CisgCQl9CistCQlyZWxlYXNlX3NwbmVnb19jdHgoJnNjKTsKKyAJfSBlbHNlIGlmIChyZXQgIT0gR1NTX1NfQ09OVElOVUVfTkVFREVEKSB7CisgCQlpZiAoc2MgIT0gTlVMTCkgeworIAkJCWdzc19kZWxldGVfc2VjX2NvbnRleHQoJnRtcG1pbiwgJnNjLT5jdHhfaGFuZGxlLAorQEAgLTIxMjUsOCArMjExOCwxMyBAQCBzcG5lZ29fZ3NzX3Vud3JhcCgKKyAJCWdzc19xb3BfdCAqcW9wX3N0YXRlKQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJCXJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisgCXJldCA9IGdzc191bndyYXAobWlub3Jfc3RhdHVzLAorLQkJCWNvbnRleHRfaGFuZGxlLAorKwkJCXNjLT5jdHhfaGFuZGxlLAorIAkJCWlucHV0X21lc3NhZ2VfYnVmZmVyLAorIAkJCW91dHB1dF9tZXNzYWdlX2J1ZmZlciwKKyAJCQljb25mX3N0YXRlLAorQEAgLTIxNDYsOCArMjE0NCwxMyBAQCBzcG5lZ29fZ3NzX3dyYXAoCisgCQlnc3NfYnVmZmVyX3Qgb3V0cHV0X21lc3NhZ2VfYnVmZmVyKQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJCXJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisgCXJldCA9IGdzc193cmFwKG1pbm9yX3N0YXR1cywKKy0JCSAgICBjb250ZXh0X2hhbmRsZSwKKysJCSAgICBzYy0+Y3R4X2hhbmRsZSwKKyAJCSAgICBjb25mX3JlcV9mbGFnLAorIAkJICAgIHFvcF9yZXEsCisgCQkgICAgaW5wdXRfbWVzc2FnZV9idWZmZXIsCitAQCAtMjE2NCw4ICsyMTY3LDE0IEBAIHNwbmVnb19nc3NfcHJvY2Vzc19jb250ZXh0X3Rva2VuKAorIAkJCQljb25zdCBnc3NfYnVmZmVyX3QgdG9rZW5fYnVmZmVyKQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwkvKiBTUE5FR08gZG9lc24ndCBoYXZlIGl0cyBvd24gY29udGV4dCB0b2tlbnMuICovCisrCWlmICghc2MtPm9wZW5lZCkKKysJCXJldHVybiAoR1NTX1NfREVGRUNUSVZFX1RPS0VOKTsKKysKKyAJcmV0ID0gZ3NzX3Byb2Nlc3NfY29udGV4dF90b2tlbihtaW5vcl9zdGF0dXMsCistCQkJCQljb250ZXh0X2hhbmRsZSwKKysJCQkJCXNjLT5jdHhfaGFuZGxlLAorIAkJCQkJdG9rZW5fYnVmZmVyKTsKKyAKKyAJcmV0dXJuIChyZXQpOworQEAgLTIxODksMTkgKzIxOTgsOSBAQCBzcG5lZ29fZ3NzX2RlbGV0ZV9zZWNfY29udGV4dCgKKyAJaWYgKCpjdHggPT0gTlVMTCkKKyAJCXJldHVybiAoR1NTX1NfQ09NUExFVEUpOworIAorLQkvKgorLQkgKiBJZiB0aGlzIGlzIHN0aWxsIGFuIFNQTkVHTyBtZWNoLCByZWxlYXNlIGl0IGxvY2FsbHkuCistCSAqLworLQlpZiAoKCpjdHgpLT5tYWdpY19udW0gPT0gU1BORUdPX01BR0lDX0lEKSB7CistCQkodm9pZCkgZ3NzX2RlbGV0ZV9zZWNfY29udGV4dChtaW5vcl9zdGF0dXMsCistCQkJCSAgICAmKCpjdHgpLT5jdHhfaGFuZGxlLAorLQkJCQkgICAgb3V0cHV0X3Rva2VuKTsKKy0JCSh2b2lkKSByZWxlYXNlX3NwbmVnb19jdHgoY3R4KTsKKy0JfSBlbHNlIHsKKy0JCXJldCA9IGdzc19kZWxldGVfc2VjX2NvbnRleHQobWlub3Jfc3RhdHVzLAorLQkJCQkgICAgY29udGV4dF9oYW5kbGUsCistCQkJCSAgICBvdXRwdXRfdG9rZW4pOworLQl9CisrCSh2b2lkKSBnc3NfZGVsZXRlX3NlY19jb250ZXh0KG1pbm9yX3N0YXR1cywgJigqY3R4KS0+Y3R4X2hhbmRsZSwKKysJCQkJICAgICAgb3V0cHV0X3Rva2VuKTsKKysJKHZvaWQpIHJlbGVhc2Vfc3BuZWdvX2N0eChjdHgpOworIAorIAlyZXR1cm4gKHJldCk7CisgfQorQEAgLTIyMTMsOCArMjIxMiwxMyBAQCBzcG5lZ29fZ3NzX2NvbnRleHRfdGltZSgKKyAJCQlPTV91aW50MzIJKnRpbWVfcmVjKQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJCXJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisgCXJldCA9IGdzc19jb250ZXh0X3RpbWUobWlub3Jfc3RhdHVzLAorLQkJCSAgICBjb250ZXh0X2hhbmRsZSwKKysJCQkgICAgc2MtPmN0eF9oYW5kbGUsCisgCQkJICAgIHRpbWVfcmVjKTsKKyAJcmV0dXJuIChyZXQpOworIH0KK0BAIC0yMjI2LDkgKzIyMzAsMjAgQEAgc3BuZWdvX2dzc19leHBvcnRfc2VjX2NvbnRleHQoCisgCQkJICAgIGdzc19idWZmZXJfdCBpbnRlcnByb2Nlc3NfdG9rZW4pCisgeworIAlPTV91aW50MzIgcmV0OworKwlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKihzcG5lZ29fZ3NzX2N0eF9pZF90ICopY29udGV4dF9oYW5kbGU7CisrCisrCS8qIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IGV4cG9ydGluZyBwYXJ0aWFsbHkgZXN0YWJsaXNoZWQKKysJICogY29udGV4dHMuICovCisrCWlmICghc2MtPm9wZW5lZCkKKysJCXJldHVybiBHU1NfU19VTkFWQUlMQUJMRTsKKysKKyAJcmV0ID0gZ3NzX2V4cG9ydF9zZWNfY29udGV4dChtaW5vcl9zdGF0dXMsCistCQkJCSAgICBjb250ZXh0X2hhbmRsZSwKKysJCQkJICAgICZzYy0+Y3R4X2hhbmRsZSwKKyAJCQkJICAgIGludGVycHJvY2Vzc190b2tlbik7CisrCWlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKSB7CisrCQlyZWxlYXNlX3NwbmVnb19jdHgoJnNjKTsKKysJCSpjb250ZXh0X2hhbmRsZSA9IEdTU19DX05PX0NPTlRFWFQ7CisrCX0KKyAJcmV0dXJuIChyZXQpOworIH0KKyAKK0BAIC0yMjM4LDExICsyMjUzLDEyIEBAIHNwbmVnb19nc3NfaW1wb3J0X3NlY19jb250ZXh0KAorIAljb25zdCBnc3NfYnVmZmVyX3QJaW50ZXJwcm9jZXNzX3Rva2VuLAorIAlnc3NfY3R4X2lkX3QJCSpjb250ZXh0X2hhbmRsZSkKKyB7CistCU9NX3VpbnQzMiByZXQ7CistCXJldCA9IGdzc19pbXBvcnRfc2VjX2NvbnRleHQobWlub3Jfc3RhdHVzLAorLQkJCQkgICAgaW50ZXJwcm9jZXNzX3Rva2VuLAorLQkJCQkgICAgY29udGV4dF9oYW5kbGUpOworLQlyZXR1cm4gKHJldCk7CisrCS8qCisrCSAqIFVudGlsIHdlIGltcGxlbWVudCBwYXJ0aWFsIGNvbnRleHQgZXhwb3J0cywgdGhlcmUgYXJlIG5vIFNQTkVHTworKwkgKiBleHBvcnRlZCBjb250ZXh0IHRva2Vucywgb25seSB0b2tlbnMgZm9yIHVuZGVybHlpbmcgbWVjaHMuICBTbyBqdXN0CisrCSAqIHJldHVybiBhbiBlcnJvciBmb3Igbm93LgorKwkgKi8KKysJcmV0dXJuIEdTU19TX1VOQVZBSUxBQkxFOworIH0KKyAjZW5kaWYgLyogTEVBTl9DTElFTlQgKi8KKyAKK0BAIC0yMjU5LDE2ICsyMjc1LDQ4IEBAIHNwbmVnb19nc3NfaW5xdWlyZV9jb250ZXh0KAorIAkJCWludAkJKm9wZW5lZCkKKyB7CisgCU9NX3VpbnQzMiByZXQgPSBHU1NfU19DT01QTEVURTsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc3JjX25hbWUgIT0gTlVMTCkKKysJCSpzcmNfbmFtZSA9IEdTU19DX05PX05BTUU7CisrCWlmICh0YXJnX25hbWUgIT0gTlVMTCkKKysJCSp0YXJnX25hbWUgPSBHU1NfQ19OT19OQU1FOworKwlpZiAobGlmZXRpbWVfcmVjICE9IE5VTEwpCisrCQkqbGlmZXRpbWVfcmVjID0gMDsKKysJaWYgKG1lY2hfdHlwZSAhPSBOVUxMKQorKwkJKm1lY2hfdHlwZSA9IChnc3NfT0lEKWdzc19tZWNoX3NwbmVnbzsKKysJaWYgKGN0eF9mbGFncyAhPSBOVUxMKQorKwkJKmN0eF9mbGFncyA9IDA7CisrCWlmIChsb2NhbGx5X2luaXRpYXRlZCAhPSBOVUxMKQorKwkJKmxvY2FsbHlfaW5pdGlhdGVkID0gc2MtPmluaXRpYXRlOworKwlpZiAob3BlbmVkICE9IE5VTEwpCisrCQkqb3BlbmVkID0gc2MtPm9wZW5lZDsKKysKKysJaWYgKHNjLT5jdHhfaGFuZGxlICE9IEdTU19DX05PX0NPTlRFWFQpIHsKKysJCXJldCA9IGdzc19pbnF1aXJlX2NvbnRleHQobWlub3Jfc3RhdHVzLCBzYy0+Y3R4X2hhbmRsZSwKKysJCQkJCSAgc3JjX25hbWUsIHRhcmdfbmFtZSwgbGlmZXRpbWVfcmVjLAorKwkJCQkJICBtZWNoX3R5cGUsIGN0eF9mbGFncywgTlVMTCwgTlVMTCk7CisrCX0KKyAKKy0JcmV0ID0gZ3NzX2lucXVpcmVfY29udGV4dChtaW5vcl9zdGF0dXMsCistCQkJCWNvbnRleHRfaGFuZGxlLAorLQkJCQlzcmNfbmFtZSwKKy0JCQkJdGFyZ19uYW1lLAorLQkJCQlsaWZldGltZV9yZWMsCistCQkJCW1lY2hfdHlwZSwKKy0JCQkJY3R4X2ZsYWdzLAorLQkJCQlsb2NhbGx5X2luaXRpYXRlZCwKKy0JCQkJb3BlbmVkKTsKKysJaWYgKCFzYy0+b3BlbmVkKSB7CisrCQkvKgorKwkJICogV2UgYXJlIHN0aWxsIGRvaW5nIFNQTkVHTyBuZWdvdGlhdGlvbiwgc28gcmVwb3J0IFNQTkVHTyBhcworKwkJICogdGhlIE9JRC4gIEFmdGVyIG5lZ290aWF0aW9uIGlzIGNvbXBsZXRlIHdlIHdpbGwgcmVwb3J0IHRoZQorKwkJICogdW5kZXJseWluZyBtZWNoYW5pc20gT0lELgorKwkJICovCisrCQlpZiAobWVjaF90eXBlICE9IE5VTEwpCisrCQkJKm1lY2hfdHlwZSA9IChnc3NfT0lEKWdzc19tZWNoX3NwbmVnbzsKKysKKysJCS8qCisrCQkgKiBSZW1vdmUgZmxhZ3Mgd2UgZG9uJ3Qgc3VwcG9ydCB3aXRoIHBhcnRpYWxseS1lc3RhYmxpc2hlZAorKwkJICogY29udGV4dHMuICAoQ2hhbmdlIHRoaXMgdG8ga2VlcCBHU1NfQ19UUkFOU19GTEFHIGlmIHdlIGFkZAorKwkJICogc3VwcG9ydCBmb3IgZXhwb3J0aW5nIHBhcnRpYWwgU1BORUdPIGNvbnRleHRzLikKKysJCSAqLworKwkJaWYgKGN0eF9mbGFncyAhPSBOVUxMKSB7CisrCQkJKmN0eF9mbGFncyAmPSB+R1NTX0NfUFJPVF9SRUFEWV9GTEFHOworKwkJCSpjdHhfZmxhZ3MgJj0gfkdTU19DX1RSQU5TX0ZMQUc7CisrCQl9CisrCX0KKyAKKyAJcmV0dXJuIChyZXQpOworIH0KK0BAIC0yMjgzLDggKzIzMzEsMTMgQEAgc3BuZWdvX2dzc193cmFwX3NpemVfbGltaXQoCisgCU9NX3VpbnQzMgkqbWF4X2lucHV0X3NpemUpCisgeworIAlPTV91aW50MzIgcmV0OworKwlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrCWlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKQorKwkJcmV0dXJuIChHU1NfU19OT19DT05URVhUKTsKKysKKyAJcmV0ID0gZ3NzX3dyYXBfc2l6ZV9saW1pdChtaW5vcl9zdGF0dXMsCistCQkJCWNvbnRleHRfaGFuZGxlLAorKwkJCQlzYy0+Y3R4X2hhbmRsZSwKKyAJCQkJY29uZl9yZXFfZmxhZywKKyAJCQkJcW9wX3JlcSwKKyAJCQkJcmVxX291dHB1dF9zaXplLAorQEAgLTIzMDEsOCArMjM1NCwxMyBAQCBzcG5lZ29fZ3NzX2dldF9taWMoCisgCQlnc3NfYnVmZmVyX3QgbWVzc2FnZV90b2tlbikKKyB7CisgCU9NX3VpbnQzMiByZXQ7CisrCXNwbmVnb19nc3NfY3R4X2lkX3Qgc2MgPSAoc3BuZWdvX2dzc19jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysJaWYgKHNjLT5jdHhfaGFuZGxlID09IEdTU19DX05PX0NPTlRFWFQpCisrCQlyZXR1cm4gKEdTU19TX05PX0NPTlRFWFQpOworKworIAlyZXQgPSBnc3NfZ2V0X21pYyhtaW5vcl9zdGF0dXMsCistCQkgICAgY29udGV4dF9oYW5kbGUsCisrCQkgICAgc2MtPmN0eF9oYW5kbGUsCisgCQkgICAgcW9wX3JlcSwKKyAJCSAgICBtZXNzYWdlX2J1ZmZlciwKKyAJCSAgICBtZXNzYWdlX3Rva2VuKTsKK0BAIC0yMzE4LDggKzIzNzYsMTMgQEAgc3BuZWdvX2dzc192ZXJpZnlfbWljKAorIAkJZ3NzX3FvcF90ICpxb3Bfc3RhdGUpCisgeworIAlPTV91aW50MzIgcmV0OworKwlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrCWlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKQorKwkJcmV0dXJuIChHU1NfU19OT19DT05URVhUKTsKKysKKyAJcmV0ID0gZ3NzX3ZlcmlmeV9taWMobWlub3Jfc3RhdHVzLAorLQkJCSAgICBjb250ZXh0X2hhbmRsZSwKKysJCQkgICAgc2MtPmN0eF9oYW5kbGUsCisgCQkJICAgIG1zZ19idWZmZXIsCisgCQkJICAgIHRva2VuX2J1ZmZlciwKKyAJCQkgICAgcW9wX3N0YXRlKTsKK0BAIC0yMzM0LDggKzIzOTcsMTQgQEAgc3BuZWdvX2dzc19pbnF1aXJlX3NlY19jb250ZXh0X2J5X29pZCgKKyAJCWdzc19idWZmZXJfc2V0X3QgKmRhdGFfc2V0KQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwkvKiBUaGVyZSBhcmUgbm8gU1BORUdPLXNwZWNpZmljIE9JRHMgZm9yIHRoaXMgZnVuY3Rpb24uICovCisrCWlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKQorKwkJcmV0dXJuIChHU1NfU19VTkFWQUlMQUJMRSk7CisrCisgCXJldCA9IGdzc19pbnF1aXJlX3NlY19jb250ZXh0X2J5X29pZChtaW5vcl9zdGF0dXMsCistCQkJICAgIGNvbnRleHRfaGFuZGxlLAorKwkJCSAgICBzYy0+Y3R4X2hhbmRsZSwKKyAJCQkgICAgZGVzaXJlZF9vYmplY3QsCisgCQkJICAgIGRhdGFfc2V0KTsKKyAJcmV0dXJuIChyZXQpOworQEAgLTI0MDQsOCArMjQ3MywxNSBAQCBzcG5lZ29fZ3NzX3NldF9zZWNfY29udGV4dF9vcHRpb24oCisgCQljb25zdCBnc3NfYnVmZmVyX3QgdmFsdWUpCisgeworIAlPTV91aW50MzIgcmV0OworKwlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpKmNvbnRleHRfaGFuZGxlOworKworKwkvKiBUaGVyZSBhcmUgbm8gU1BORUdPLXNwZWNpZmljIE9JRHMgZm9yIHRoaXMgZnVuY3Rpb24sIGFuZCB3ZSBjYW5ub3QKKysJICogY29uc3RydWN0IGFuIGVtcHR5IFNQTkVHTyBjb250ZXh0IHdpdGggaXQuICovCisrCWlmIChzYyA9PSBOVUxMIHx8IHNjLT5jdHhfaGFuZGxlID09IEdTU19DX05PX0NPTlRFWFQpCisrCQlyZXR1cm4gKEdTU19TX1VOQVZBSUxBQkxFKTsKKysKKyAJcmV0ID0gZ3NzX3NldF9zZWNfY29udGV4dF9vcHRpb24obWlub3Jfc3RhdHVzLAorLQkJCSAgICBjb250ZXh0X2hhbmRsZSwKKysJCQkgICAgJnNjLT5jdHhfaGFuZGxlLAorIAkJCSAgICBkZXNpcmVkX29iamVjdCwKKyAJCQkgICAgdmFsdWUpOworIAlyZXR1cm4gKHJldCk7CitAQCAtMjQyMiw4ICsyNDk4LDEzIEBAIHNwbmVnb19nc3Nfd3JhcF9hZWFkKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorIAkJICAgICBnc3NfYnVmZmVyX3Qgb3V0cHV0X21lc3NhZ2VfYnVmZmVyKQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJCXJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisgCXJldCA9IGdzc193cmFwX2FlYWQobWlub3Jfc3RhdHVzLAorLQkJCSAgICBjb250ZXh0X2hhbmRsZSwKKysJCQkgICAgc2MtPmN0eF9oYW5kbGUsCisgCQkJICAgIGNvbmZfcmVxX2ZsYWcsCisgCQkJICAgIHFvcF9yZXEsCisgCQkJICAgIGlucHV0X2Fzc29jX2J1ZmZlciwKK0BAIC0yNDQ0LDggKzI1MjUsMTMgQEAgc3BuZWdvX2dzc191bndyYXBfYWVhZChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAJCSAgICAgICBnc3NfcW9wX3QgKnFvcF9zdGF0ZSkKKyB7CisgCU9NX3VpbnQzMiByZXQ7CisrCXNwbmVnb19nc3NfY3R4X2lkX3Qgc2MgPSAoc3BuZWdvX2dzc19jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysJaWYgKHNjLT5jdHhfaGFuZGxlID09IEdTU19DX05PX0NPTlRFWFQpCisrCQlyZXR1cm4gKEdTU19TX05PX0NPTlRFWFQpOworKworIAlyZXQgPSBnc3NfdW53cmFwX2FlYWQobWlub3Jfc3RhdHVzLAorLQkJCSAgICAgIGNvbnRleHRfaGFuZGxlLAorKwkJCSAgICAgIHNjLT5jdHhfaGFuZGxlLAorIAkJCSAgICAgIGlucHV0X21lc3NhZ2VfYnVmZmVyLAorIAkJCSAgICAgIGlucHV0X2Fzc29jX2J1ZmZlciwKKyAJCQkgICAgICBvdXRwdXRfcGF5bG9hZF9idWZmZXIsCitAQCAtMjQ2NCw4ICsyNTUwLDEzIEBAIHNwbmVnb19nc3Nfd3JhcF9pb3YoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisgCQkgICAgaW50IGlvdl9jb3VudCkKKyB7CisgCU9NX3VpbnQzMiByZXQ7CisrCXNwbmVnb19nc3NfY3R4X2lkX3Qgc2MgPSAoc3BuZWdvX2dzc19jdHhfaWRfdCljb250ZXh0X2hhbmRsZTsKKysKKysJaWYgKHNjLT5jdHhfaGFuZGxlID09IEdTU19DX05PX0NPTlRFWFQpCisrCQlyZXR1cm4gKEdTU19TX05PX0NPTlRFWFQpOworKworIAlyZXQgPSBnc3Nfd3JhcF9pb3YobWlub3Jfc3RhdHVzLAorLQkJCSAgIGNvbnRleHRfaGFuZGxlLAorKwkJCSAgIHNjLT5jdHhfaGFuZGxlLAorIAkJCSAgIGNvbmZfcmVxX2ZsYWcsCisgCQkJICAgcW9wX3JlcSwKKyAJCQkgICBjb25mX3N0YXRlLAorQEAgLTI0ODMsOCArMjU3NCwxMyBAQCBzcG5lZ29fZ3NzX3Vud3JhcF9pb3YoT01fdWludDMyICptaW5vcl9zdGF0dXMsCisgCQkgICAgICBpbnQgaW92X2NvdW50KQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJCXJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisgCXJldCA9IGdzc191bndyYXBfaW92KG1pbm9yX3N0YXR1cywKKy0JCQkgICAgIGNvbnRleHRfaGFuZGxlLAorKwkJCSAgICAgc2MtPmN0eF9oYW5kbGUsCisgCQkJICAgICBjb25mX3N0YXRlLAorIAkJCSAgICAgcW9wX3N0YXRlLAorIAkJCSAgICAgaW92LAorQEAgLTI1MDIsOCArMjU5OCwxMyBAQCBzcG5lZ29fZ3NzX3dyYXBfaW92X2xlbmd0aChPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAJCQkgICBpbnQgaW92X2NvdW50KQorIHsKKyAJT01fdWludDMyIHJldDsKKysJc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKwlpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJCXJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisgCXJldCA9IGdzc193cmFwX2lvdl9sZW5ndGgobWlub3Jfc3RhdHVzLAorLQkJCQkgIGNvbnRleHRfaGFuZGxlLAorKwkJCQkgIHNjLT5jdHhfaGFuZGxlLAorIAkJCQkgIGNvbmZfcmVxX2ZsYWcsCisgCQkJCSAgcW9wX3JlcSwKKyAJCQkJICBjb25mX3N0YXRlLAorQEAgLTI1MjAsOCArMjYyMSwxMyBAQCBzcG5lZ29fZ3NzX2NvbXBsZXRlX2F1dGhfdG9rZW4oCisgCQlnc3NfYnVmZmVyX3QgaW5wdXRfbWVzc2FnZV9idWZmZXIpCisgeworIAlPTV91aW50MzIgcmV0OworKwlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrCWlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKQorKwkJcmV0dXJuIChHU1NfU19VTkFWQUlMQUJMRSk7CisrCisgCXJldCA9IGdzc19jb21wbGV0ZV9hdXRoX3Rva2VuKG1pbm9yX3N0YXR1cywKKy0JCQkJICAgICAgY29udGV4dF9oYW5kbGUsCisrCQkJCSAgICAgIHNjLT5jdHhfaGFuZGxlLAorIAkJCQkgICAgICBpbnB1dF9tZXNzYWdlX2J1ZmZlcik7CisgCXJldHVybiAocmV0KTsKKyB9CitAQCAtMjc3Myw4ICsyODc5LDEzIEBAIHNwbmVnb19nc3NfcHNldWRvX3JhbmRvbShPTV91aW50MzIgKm1pbm9yX3N0YXR1cywKKyAJCQkgZ3NzX2J1ZmZlcl90IHByZl9vdXQpCisgeworIAlPTV91aW50MzIgcmV0OworKwlzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpY29udGV4dDsKKysKKysJaWYgKHNjLT5jdHhfaGFuZGxlID09IEdTU19DX05PX0NPTlRFWFQpCisrCQlyZXR1cm4gKEdTU19TX05PX0NPTlRFWFQpOworKworIAlyZXQgPSBnc3NfcHNldWRvX3JhbmRvbShtaW5vcl9zdGF0dXMsCistCQkJCWNvbnRleHQsCisrCQkJCXNjLT5jdHhfaGFuZGxlLAorIAkJCQlwcmZfa2V5LAorIAkJCQlwcmZfaW4sCisgCQkJCWRlc2lyZWRfb3V0cHV0X2xlbiwKK0BAIC0yOTE1LDcgKzMwMjYsMTIgQEAgc3BuZWdvX2dzc19nZXRfbWljX2lvdihPTV91aW50MzIgKm1pbm9yX3N0YXR1cywgZ3NzX2N0eF9pZF90IGNvbnRleHRfaGFuZGxlLAorIAkJICAgICAgIGdzc19xb3BfdCBxb3BfcmVxLCBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsCisgCQkgICAgICAgaW50IGlvdl9jb3VudCkKKyB7CistICAgIHJldHVybiBnc3NfZ2V0X21pY19pb3YobWlub3Jfc3RhdHVzLCBjb250ZXh0X2hhbmRsZSwgcW9wX3JlcSwgaW92LAorKyAgICBzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrICAgIGlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKQorKwkgICAgcmV0dXJuIChHU1NfU19OT19DT05URVhUKTsKKysKKysgICAgcmV0dXJuIGdzc19nZXRfbWljX2lvdihtaW5vcl9zdGF0dXMsIHNjLT5jdHhfaGFuZGxlLCBxb3BfcmVxLCBpb3YsCisgCQkJICAgaW92X2NvdW50KTsKKyB9CisgCitAQCAtMjkyNCw3ICszMDQwLDEyIEBAIHNwbmVnb19nc3NfdmVyaWZ5X21pY19pb3YoT01fdWludDMyICptaW5vcl9zdGF0dXMsIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwKKyAJCQkgIGdzc19xb3BfdCAqcW9wX3N0YXRlLCBnc3NfaW92X2J1ZmZlcl9kZXNjICppb3YsCisgCQkJICBpbnQgaW92X2NvdW50KQorIHsKKy0gICAgcmV0dXJuIGdzc192ZXJpZnlfbWljX2lvdihtaW5vcl9zdGF0dXMsIGNvbnRleHRfaGFuZGxlLCBxb3Bfc3RhdGUsIGlvdiwKKysgICAgc3BuZWdvX2dzc19jdHhfaWRfdCBzYyA9IChzcG5lZ29fZ3NzX2N0eF9pZF90KWNvbnRleHRfaGFuZGxlOworKworKyAgICBpZiAoc2MtPmN0eF9oYW5kbGUgPT0gR1NTX0NfTk9fQ09OVEVYVCkKKysJICAgIHJldHVybiAoR1NTX1NfTk9fQ09OVEVYVCk7CisrCisrICAgIHJldHVybiBnc3NfdmVyaWZ5X21pY19pb3YobWlub3Jfc3RhdHVzLCBzYy0+Y3R4X2hhbmRsZSwgcW9wX3N0YXRlLCBpb3YsCisgCQkJICAgICAgaW92X2NvdW50KTsKKyB9CisgCitAQCAtMjkzMyw3ICszMDU0LDEyIEBAIHNwbmVnb19nc3NfZ2V0X21pY19pb3ZfbGVuZ3RoKE9NX3VpbnQzMiAqbWlub3Jfc3RhdHVzLAorIAkJCSAgICAgIGdzc19jdHhfaWRfdCBjb250ZXh0X2hhbmRsZSwgZ3NzX3FvcF90IHFvcF9yZXEsCisgCQkJICAgICAgZ3NzX2lvdl9idWZmZXJfZGVzYyAqaW92LCBpbnQgaW92X2NvdW50KQorIHsKKy0gICAgcmV0dXJuIGdzc19nZXRfbWljX2lvdl9sZW5ndGgobWlub3Jfc3RhdHVzLCBjb250ZXh0X2hhbmRsZSwgcW9wX3JlcSwgaW92LAorKyAgICBzcG5lZ29fZ3NzX2N0eF9pZF90IHNjID0gKHNwbmVnb19nc3NfY3R4X2lkX3QpY29udGV4dF9oYW5kbGU7CisrCisrICAgIGlmIChzYy0+Y3R4X2hhbmRsZSA9PSBHU1NfQ19OT19DT05URVhUKQorKwkgICAgcmV0dXJuIChHU1NfU19OT19DT05URVhUKTsKKysKKysgICAgcmV0dXJuIGdzc19nZXRfbWljX2lvdl9sZW5ndGgobWlub3Jfc3RhdHVzLCBzYy0+Y3R4X2hhbmRsZSwgcW9wX3JlcSwgaW92LAorIAkJCQkgIGlvdl9jb3VudCk7CisgfQorIAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L0ZpeC1idWlsZF9wcmluY2lwYWwtbWVtb3J5LWJ1Zy1DVkUtMjAxNS0yNjk3LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9GaXgtYnVpbGRfcHJpbmNpcGFsLW1lbW9yeS1idWctQ1ZFLTIwMTUtMjY5Ny5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjBjMThiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9GaXgtYnVpbGRfcHJpbmNpcGFsLW1lbW9yeS1idWctQ1ZFLTIwMTUtMjY5Ny5wYXRjaApAQCAtMCwwICsxLDU4IEBACitGcm9tIDljYjYzNzExZTYzMDQyZjIyZGE5MTRiYTAzOWM0NTM3YjIyZThmYjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBHcmVnIEh1ZHNvbiA8Z2h1ZHNvbkBtaXQuZWR1PgorRGF0ZTogRnJpLCAyNSBTZXAgMjAxNSAxMjo1MTo0NyAtMDQwMAorU3ViamVjdDogW1BBVENIIDMvNF0gRml4IGJ1aWxkX3ByaW5jaXBhbCBtZW1vcnkgYnVnIFtDVkUtMjAxNS0yNjk3XQorCitJbiBidWlsZF9wcmluY2lwYWxfdmEoKSwgdXNlIGs1bWVtZHVwMCgpIGluc3RlYWQgb2Ygc3RyZHVwKCkgdG8gbWFrZSBhCitjb3B5IG9mIHRoZSByZWFsbSwgdG8gZW5zdXJlIHRoYXQgd2UgYWxsb2NhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mCitieXRlcyBhbmQgZG8gbm90IHJlYWQgcGFzdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCBzdHJpbmcuICBUaGlzIGJ1ZworYWZmZWN0cyBrcmI1X2J1aWxkX3ByaW5jaXBhbCgpLCBrcmI1X2J1aWxkX3ByaW5jaXBhbF92YSgpLCBhbmQKK2tyYjVfYnVpbGRfcHJpbmNpcGFsX2FsbG9jX3ZhKCkuICBrcmI1X2J1aWxkX3ByaW5jaXBhbF9leHQoKSBpcyBub3QKK2FmZmVjdGVkLgorCitDVkUtMjAxNS0yNjk3OgorCitJbiBNSVQga3JiNSAxLjcgYW5kIGxhdGVyLCBhbiBhdXRoZW50aWNhdGVkIGF0dGFja2VyIG1heSBiZSBhYmxlIHRvCitjYXVzZSBhIEtEQyB0byBjcmFzaCB1c2luZyBhIFRHUyByZXF1ZXN0IHdpdGggYSBsYXJnZSByZWFsbSBmaWVsZAorYmVnaW5uaW5nIHdpdGggYSBudWxsIGJ5dGUuICBJZiB0aGUgS0RDIGF0dGVtcHRzIHRvIGZpbmQgYSByZWZlcnJhbCB0bworYW5zd2VyIHRoZSByZXF1ZXN0LCBpdCBjb25zdHJ1Y3RzIGEgcHJpbmNpcGFsIG5hbWUgZm9yIGxvb2t1cCB1c2luZwora3JiNV9idWlsZF9wcmluY2lwYWwoKSB3aXRoIHRoZSByZXF1ZXN0ZWQgcmVhbG0uICBEdWUgdG8gYSBidWcgaW4gdGhpcworZnVuY3Rpb24sIHRoZSBudWxsIGJ5dGUgY2F1c2VzIG9ubHkgb25lIGJ5dGUgYmUgYWxsb2NhdGVkIGZvciB0aGUKK3JlYWxtIGZpZWxkIG9mIHRoZSBjb25zdHJ1Y3RlZCBwcmluY2lwYWwsIGZhciBsZXNzIHRoYW4gaXRzIGxlbmd0aC4KK1N1YnNlcXVlbnQgb3BlcmF0aW9ucyBvbiB0aGUgbG9va3VwIHByaW5jaXBhbCBtYXkgY2F1c2UgYSByZWFkIGJleW9uZAordGhlIGVuZCBvZiB0aGUgbWFwcGVkIG1lbW9yeSByZWdpb24sIGNhdXNpbmcgdGhlIEtEQyBwcm9jZXNzIHRvIGNyYXNoLgorCitDVlNTdjI6IEFWOk4vQUM6TC9BdTpTL0M6Ti9JOk4vQTpDL0U6UE9DL1JMOk9GL1JDOkMKKwordGlja2V0OiA4MjUyIChuZXcpCit0YXJnZXRfdmVyc2lvbjogMS4xNAordGFnczogcHVsbHVwCisKK0JhY2twb3J0IHVwc3RyZWFtIGNvbW1pdDoKK2h0dHBzOi8vZ2l0aHViLmNvbS9rcmI1L2tyYjUvY29tbWl0L2YwYzA5NGExYjc0NWQ5MWVmMmY5YTRlYWUyMTQ5YWFjMDI2YTU3ODkKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorLS0tCisgc3JjL2xpYi9rcmI1L2tyYi9ibGRfcHJpbmMuYyB8IDYgKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWIva3JiNS9rcmIvYmxkX3ByaW5jLmMgYi9zcmMvbGliL2tyYjUva3JiL2JsZF9wcmluYy5jCitpbmRleCBhYjZmZWQ4Li44NjA0MjY4IDEwMDY0NAorLS0tIGEvc3JjL2xpYi9rcmI1L2tyYi9ibGRfcHJpbmMuYworKysrIGIvc3JjL2xpYi9rcmI1L2tyYi9ibGRfcHJpbmMuYworQEAgLTQwLDEwICs0MCw4IEBAIGJ1aWxkX3ByaW5jaXBhbF92YShrcmI1X2NvbnRleHQgY29udGV4dCwga3JiNV9wcmluY2lwYWwgcHJpbmMsCisgICAgIGRhdGEgPSBtYWxsb2Moc2l6ZSAqIHNpemVvZihrcmI1X2RhdGEpKTsKKyAgICAgaWYgKCFkYXRhKSB7IHJldHZhbCA9IEVOT01FTTsgfQorIAorLSAgICBpZiAoIXJldHZhbCkgeworLSAgICAgICAgciA9IHN0cmR1cChyZWFsbSk7CistICAgICAgICBpZiAoIXIpIHsgcmV0dmFsID0gRU5PTUVNOyB9CistICAgIH0KKysgICAgaWYgKCFyZXR2YWwpCisrICAgICAgICByID0gazVtZW1kdXAwKHJlYWxtLCBybGVuLCAmcmV0dmFsKTsKKyAKKyAgICAgd2hpbGUgKCFyZXR2YWwgJiYgKGNvbXBvbmVudCA9IHZhX2FyZyhhcCwgY2hhciAqKSkpIHsKKyAgICAgICAgIGlmIChjb3VudCA9PSBzaXplKSB7CistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvY3Jvc3Njb21waWxlX25tLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9jcm9zc2NvbXBpbGVfbm0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNlNjkzNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvY3Jvc3Njb21waWxlX25tLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK01vZGlmaWVzIGV4cG9ydC1jaGVjay5wbCB0byB1c2UgbG9vayBmb3IgJEVOVnsnTk0nfSBiZWZvcmUKK2RlZmF1bHRpbmcgdG8gdXNpbmcgJ25tJworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQW15IEZvbmcgPGFteS5mb25nQHdpbmRyaXZlci5jb20+CistLS0KKworIGV4cG9ydC1jaGVjay5wbCB8ICAgIDcgKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworSW5kZXg6IHNyYy91dGlsL2V4cG9ydC1jaGVjay5wbAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHNyYy5vcmlnL3V0aWwvZXhwb3J0LWNoZWNrLnBsCisrKysgc3JjL3V0aWwvZXhwb3J0LWNoZWNrLnBsCitAQCAtMzgsNyArMzgsMTIgQEAKKyBteSgkZXhmaWxlLCAkbGliZmlsZSkgPSBAQVJHVjsKKyAKKyBAbWlzc2luZyA9ICgpOworLW9wZW4gTk0sICJubSAtRGcgLS1kZWZpbmVkLW9ubHkgJGxpYmZpbGUgfCIgfHwgZGllICJjYW4ndCBydW4gbm0gb24gJGxpYmZpbGU6ICQhIjsKKytpZiAoZGVmaW5lZCgkRU5WeydOTSd9KSkgeworKwkkbm0gPSAkRU5WeydOTSd9OworK30gZWxzZSB7CisrCSRubSA9ICJubSI7CisrfQorK29wZW4gTk0sICIkbm0gLURnIC0tZGVmaW5lZC1vbmx5ICRsaWJmaWxlIHwiIHx8IGRpZSAiY2FuJ3QgcnVuIG5tIG9uICRsaWJmaWxlOiAkISI7Cisgb3BlbiBFWFBPUlQsICI8ICRleGZpbGUiIHx8IGRpZSAiY2FuJ3QgcmVhZCAkZXhmaWxlOiAkISI7CisgCisgQGV4cG9ydCA9IDxFWFBPUlQ+OwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9kZWJpYW4tc3VwcHJlc3MtdXNyLWxpYi1pbi1rcmI1LWNvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvZGViaWFuLXN1cHByZXNzLXVzci1saWItaW4ta3JiNS1jb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAxODJlZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvZGViaWFuLXN1cHByZXNzLXVzci1saWItaW4ta3JiNS1jb25maWcucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorU3ViamVjdDogW1BBVENIXSBkZWJpYW46IHN1cHByZXNzIC91c3IvbGliIGluIGtyYjUtY29uZmlnCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitIYW5kZWwgbXVsdGktYXJjaCBzdXBwcmVzc2lvbnMKKworVGhlIHBhdGNoIGlzIGZyb20gZGViaWFuLgorCitTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2J1aWxkLXRvb2xzL2tyYjUtY29uZmlnLmluIHwgICAxNCArKysrKysrKystLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2J1aWxkLXRvb2xzL2tyYjUtY29uZmlnLmluIGIvc3JjL2J1aWxkLXRvb2xzL2tyYjUtY29uZmlnLmluCitpbmRleCBmNjE4NGRhLi42MzdiYWQ3IDEwMDc1NQorLS0tIGEvc3JjL2J1aWxkLXRvb2xzL2tyYjUtY29uZmlnLmluCisrKysgYi9zcmMvYnVpbGQtdG9vbHMva3JiNS1jb25maWcuaW4KK0BAIC0xMzgsNiArMTM4LDcgQEAgaWYgdGVzdCAtbiAiJGRvX2hlbHAiOyB0aGVuCisgICAgIGVjaG8gIiAgICAgICAgWy0tZGVma3RuYW1lXSAgICAgU2hvdyBidWlsdC1pbiBkZWZhdWx0IGtleXRhYiBuYW1lIgorICAgICBlY2hvICIgICAgICAgIFstLWRlZmNrdG5hbWVdICAgIFNob3cgYnVpbHQtaW4gZGVmYXVsdCBjbGllbnQga2V5dGFiIG5hbWUiCisgICAgIGVjaG8gIiAgICAgICAgWy0tY2ZsYWdzXSAgICAgICAgQ29tcGlsZSB0aW1lIENGTEFHUyIKKysgICAgZWNobyAiICAgICAgICBbLS1kZXBzXSAgICAgICAgICBJbmNsdWRlIGRlcGVuZGVudCBsaWJyYXJpZXMiCisgICAgIGVjaG8gIiAgICAgICAgWy0tbGlic10gICAgICAgICAgTGlzdCBsaWJyYXJpZXMgcmVxdWlyZWQgdG8gbGluayBbTElCUkFSSUVTXSIKKyAgICAgZWNobyAiTGlicmFyaWVzOiIKKyAgICAgZWNobyAiICAgICAgICBrcmI1ICAgICAgICAgICAgICBLZXJiZXJvcyA1IGFwcGxpY2F0aW9uIgorQEAgLTIwOSwxMSArMjEwLDE0IEBAIGZpCisgCisgaWYgdGVzdCAtbiAiJGRvX2xpYnMiOyB0aGVuCisgICAgICMgQXNzdW1lcyAvdXNyL2xpYiBpcyB0aGUgc3RhbmRhcmQgbGlicmFyeSBkaXJlY3RvcnkgZXZlcnl3aGVyZS4uLgorLSAgICBpZiB0ZXN0ICIkbGliZGlyIiA9IC91c3IvbGliOyB0aGVuCistCWxpYmRpcmFyZz0KKy0gICAgZWxzZQorLQlsaWJkaXJhcmc9Ii1MJGxpYmRpciIKKy0gICAgZmkKKysgICAgY2FzZSAkbGliZGlyIGluCisrCS91c3IvbGliKikKKysJICAgIGxpYmRpcmFyZz0KKysJICAgIDs7CisrCSopCisrCSAgICBsaWJkaXJhcmc9Ii1MJGxpYmRpciIKKysJICAgIDs7CisrICAgIGVzYWMKKyAgICAgIyBVZ2x5IGdyb3NzIGhhY2sgZm9yIG91ciBidWlsZCB0cmVlCisgICAgIGxpYl9mbGFncz1gZWNobyAkQ0NfTElOSyB8IHNlZCAtZSAncy9cJChDQykvLycgXAorIAkgICAgLWUgJ3MvXCQoUFVSRSkvLycgXAorLS0gCisxLjcuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L2V0Yy9kZWZhdWx0L2tyYjUtYWRtaW4tc2VydmVyIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9ldGMvZGVmYXVsdC9rcmI1LWFkbWluLXNlcnZlcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODM1OTI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9ldGMvZGVmYXVsdC9rcmI1LWFkbWluLXNlcnZlcgpAQCAtMCwwICsxLDYgQEAKKyMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQuICBJZiB5b3UgY2hhbmdlIGFueXRoaW5nIGluIHRoaXMgZmlsZSBvdGhlciB0aGFuIHRoZQorIyB2YWx1ZXMgb2YgUlVOX0tBRE1JTkQgb3IgREFFTU9OX0FSR1MsIGZpcnN0IHJ1biBkcGtnLXJlY29uZmlndXJlCisjIGtyYjUtYWRtaW4tc2VydmVyIGFuZCBkaXNhYmxlIG1hbmFnaW5nIHRoZSBrYWRtaW4gY29uZmlndXJhdGlvbiB3aXRoCisjIGRlYmNvbmYuICBPdGhlcndpc2UsIGNoYW5nZXMgd2lsbCBiZSBvdmVyd3JpdHRlbi4KKworUlVOX0tBRE1JTkQ9dHJ1ZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9ldGMvZGVmYXVsdC9rcmI1LWtkYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvZXRjL2RlZmF1bHQva3JiNS1rZGMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzEwYmZjZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvZXRjL2RlZmF1bHQva3JiNS1rZGMKQEAgLTAsMCArMSw1IEBACisjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiAgT25seSB0aGUgdmFsdWUgb2YgREFFTU9OX0FSR1Mgd2lsbCBiZSBwcmVzZXJ2ZWQuCisjIElmIHlvdSBjaGFuZ2UgYW55dGhpbmcgaW4gdGhpcyBmaWxlIG90aGVyIHRoYW4gREFFTU9OX0FSR1MsIGZpcnN0IHJ1bgorIyBkcGtnLXJlY29uZmlndXJlIGtyYjUta2RjIGFuZCBkaXNhYmxlIG1hbmFnaW5nIHRoZSBLREMgY29uZmlndXJhdGlvbiB3aXRoCisjIGRlYmNvbmYuICBPdGhlcndpc2UsIGNoYW5nZXMgd2lsbCBiZSBvdmVyd3JpdHRlbi4KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9ldGMvaW5pdC5kL2tyYjUtYWRtaW4tc2VydmVyIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNS9ldGMvaW5pdC5kL2tyYjUtYWRtaW4tc2VydmVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc5MjM4ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L2V0Yy9pbml0LmQva3JiNS1hZG1pbi1zZXJ2ZXIKQEAgLTAsMCArMSwxNDAgQEAKKyMhIC9iaW4vc2gKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgICAgIGtyYjUtYWRtaW4tc2VydmVyCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAgICAkbG9jYWxfZnMgJHJlbW90ZV9mcyAkbmV0d29yayAkc3lzbG9nCisjIFJlcXVpcmVkLVN0b3A6ICAgICAgICAkbG9jYWxfZnMgJHJlbW90ZV9mcyAkbmV0d29yayAkc3lzbG9nCisjIFNob3VsZC1TdGFydDogICAgICAgICBrcmI1LWtkYworIyBTaG91bGQtU3RvcDogICAgICAgICAga3JiNS1rZGMKKyMgRGVmYXVsdC1TdGFydDogICAgICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiAgICBNSVQgS2VyYmVyb3MgS0RDIGFkbWluaXN0cmF0aXZlIGRhZW1vbgorIyBEZXNjcmlwdGlvbjogICAgICAgICAgU3RhcnRzLCBzdG9wcywgb3IgcmVzdGFydHMgdGhlIE1JVCBLZXJiZXJvcyBLREMKKyMgICAgICAgICAgICAgICAgICAgICAgIGFkbWluaXN0cmF0aXZlIGRhZW1vbiAoa2FkbWluZCkuICBUaGlzIGRhZW1vbiBhbnN3ZXJzCisjICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0cyBmcm9tIGthZG1pbiBjbGllbnRzIGFuZCBhbGxvd3MgYWRtaW5pc3RyYXRvcnMKKyMgICAgICAgICAgICAgICAgICAgICAgIHRvIGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHByaW5jaXBhbHMgaW4gdGhlIEtEQworIyAgICAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2UuCisjIyMgRU5EIElOSVQgSU5GTworCisjIEF1dGhvcjogU2FtIEhhcnRtYW4gPGhhcnRtYW5zQG1pdC5lZHU+CisjIEF1dGhvcjogUnVzcyBBbGxiZXJ5IDxycmFAZGViaWFuLm9yZz4KKyMKKyMgQmFzZWQgb24gdGhlIC9ldGMvaW5pdC5kL3NrZWxldG9uIHRlbXBsYXRlIGFzIGZvdW5kIGluIGluaXRzY3JpcHRzIHZlcnNpb24KKyMgMi44Ni5kczEtMTUuCisKKyMgSnVuZSwgMjAxMjogQWRvcHRlZCBmb3IgeW9jdG8gPGFteS5mb25nQHdpbmRyaXZlci5jb20+CisKK1BBVEg9L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4KK0RFU0M9IktlcmJlcm9zIGFkbWluaXN0cmF0aXZlIHNlcnZlcnMiCitOQU1FPWthZG1pbmQKK0RBRU1PTj0vdXNyL3NiaW4vJE5BTUUKK0RBRU1PTl9BUkdTPSIiCitTQ1JJUFROQU1FPS9ldGMvaW5pdC5kL2tyYjUtYWRtaW4tc2VydmVyCitERUZBVUxUPS9ldGMvZGVmYXVsdC9rcmI1LWFkbWluLXNlcnZlcgorCisjIEV4aXQgaWYgdGhlIHBhY2thZ2UgaXMgbm90IGluc3RhbGxlZC4KK1sgLXggIiREQUVNT04iIF0gfHwgZXhpdCAwCisKKyMgUmVhZCBjb25maWd1cmF0aW9uIGlmIGl0IGlzIHByZXNlbnQuCitbIC1yICIkREVGQVVMVCIgXSAmJiAuICIkREVGQVVMVCIKKworIyBHZXQgdGhlIHNldHRpbmcgb2YgVkVSQk9TRSBhbmQgb3RoZXIgcmNTIHZhcmlhYmxlcy4KK1sgLWYgL2V0Yy9kZWZhdWx0L3JjUyBdICYmIC4gL2V0Yy9kZWZhdWx0L3JjUworCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCitBRE1JTl9TRVJWRVJfTE9HPS92YXIvbG9nL2thZG1pbmQubG9nCitbIC1mICRBRE1JTl9TRVJWRVJfTE9HIF0gJiYgKHRlc3QgISAteCAvc2Jpbi9yZXN0b3JlY29uIFwKKyAgICB8fCAvc2Jpbi9yZXN0b3JlY29uIC1GICRBRE1JTl9TRVJWRVJfTE9HKQorCisjIFJldHVybgorIyAgIDAgaWYgZGFlbW9uIGhhcyBiZWVuIHN0YXJ0ZWQKKyMgICAxIGlmIGRhZW1vbiB3YXMgYWxyZWFkeSBydW5uaW5nCisjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0YXJ0ZWQKK2RvX3N0YXJ0KCkKK3sKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1zdGFydGFzICREQUVNT04gLS1uYW1lICROQU1FIC0tdGVzdCBcCisgICAgICAgID4gL2Rldi9udWxsIHx8IHJldHVybiAxCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tc3RhcnRhcyAkREFFTU9OIC0tbmFtZSAkTkFNRSBcCisgICAgICAgIC0tICREQUVNT05fQVJHUyB8fCByZXR1cm4gMgorfQorCisjIFJldHVybgorIyAgIDAgaWYgZGFlbW9uIGhhcyBiZWVuIHN0b3BwZWQKKyMgICAxIGlmIGRhZW1vbiB3YXMgYWxyZWFkeSBzdG9wcGVkCisjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0b3BwZWQKKyMgICBvdGhlciBpZiBhIGZhaWx1cmUgb2NjdXJyZWQKK2RvX3N0b3AoKQoreworICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tcmV0cnk9VEVSTS8zMC9LSUxMLzUgLS1uYW1lICROQU1FCisgICAgUkVUVkFMPSIkPyIKKyAgICBbICIkUkVUVkFMIiA9IDIgXSAmJiByZXR1cm4gMgorICAgIHJldHVybiAiJFJFVFZBTCIKK30KKworCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgaWYgWyAiJFJVTl9LQURNSU5EIiA9IGZhbHNlIF0gOyB0aGVuCisgICAgICAgIGlmIFsgIiRWRVJCT1NFIiAhPSBubyBdIDsgdGhlbgorICAgICAgICAgICAgZWNobyAiTm90IHN0YXJ0aW5nICRERVNDIHBlciBjb25maWd1cmF0aW9uIgorICAgICAgICBmaQorICAgICAgICBleGl0IDAKKyAgICBmaQorICAgIFsgIiRWRVJCT1NFIiAhPSBubyBdICYmIGVjaG8gIlN0YXJ0aW5nICRERVNDIiAiJE5BTUUiCisgICAgZG9fc3RhcnQKKyAgICBjYXNlICIkPyIgaW4KKyAgICAgIDB8MSkgWyAiJFZFUkJPU0UiICE9IG5vIF0gJiYgZWNobyAwIDs7CisgICAgICAyKSAgIFsgIiRWRVJCT1NFIiAhPSBubyBdICYmIGVjaG8gMSA7OworICAgIGVzYWMKKyAgICA7OworCisgIHN0b3ApCisgICAgWyAiJFZFUkJPU0UiICE9IG5vIF0gJiYgZWNobyAiU3RvcHBpbmcgJERFU0MiICIkTkFNRSIKKyAgICBkb19zdG9wCisgICAgY2FzZSAiJD8iIGluCisgICAgICAwfDEpIFsgIiRWRVJCT1NFIiAhPSBubyBdICYmIGVjaG8gMCA7OworICAgICAgMikgICBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBlY2hvIDEgOzsKKyAgICBlc2FjCisgICAgOzsKKworICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKyAgICBpZiBbICIkUlVOX0tBRE1JTkQiID0gZmFsc2UgXSA7IHRoZW4KKyAgICAgICAgaWYgWyAiJFZFUkJPU0UiICE9IG5vIF0gOyB0aGVuCisgICAgICAgICAgICBlY2hvICJOb3QgcmVzdGFydGluZyAkREVTQyBwZXIgY29uZmlndXJhdGlvbiIKKyAgICAgICAgZmkKKyAgICAgICAgZXhpdCAwCisgICAgZmkKKyAgICBlY2hvICJSZXN0YXJ0aW5nICRERVNDIiAiJE5BTUUiCisgICAgZG9fc3RvcAorICAgIGNhc2UgIiQ/IiBpbgorICAgICAgMHwxKQorICAgICAgICBkb19zdGFydAorICAgICAgICBjYXNlICIkPyIgaW4KKyAgICAgICAgICAwKSBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBlY2hvIDAgOzsKKyAgICAgICAgICAqKSBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBlY2hvIDEgOzsKKyAgICAgICAgZXNhYworICAgICAgICA7OworICAgICAgKikKKyAgICAgICAgZWNobyAxCisgICAgICAgIDs7CisgICAgZXNhYworICAgIDs7CisKKyAgc3RhdHVzKQorICAgIHBpZG9mcHJvYyAiJERBRU1PTiIgPi9kZXYvbnVsbAorICAgIHN0YXR1cz0kPworICAgIGlmIFsgJHN0YXR1cyAtZXEgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIiROQU1FIGlzIHJ1bm5pbmcuIgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiJE5BTUUgaXMgbm90IHJ1bm5pbmcuIgorICAgIGZpCisgICAgZXhpdCAkc3RhdHVzCisgICAgOzsKKworICAqKQorICAgIGVjaG8gIlVzYWdlOiAkU0NSSVBUTkFNRSB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZHxzdGF0dXN9IiA+JjIKKyAgICBleGl0IDMKKyAgICA7OworZXNhYworCis6CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L2V0Yy9pbml0LmQva3JiNS1rZGMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L2V0Yy9pbml0LmQva3JiNS1rZGMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODY1ZDFiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUvZXRjL2luaXQuZC9rcmI1LWtkYwpAQCAtMCwwICsxLDEzMyBAQAorIyEgL2Jpbi9zaAorIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgICAga3JiNS1rZGMKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICAgICRsb2NhbF9mcyAkcmVtb3RlX2ZzICRuZXR3b3JrICRzeXNsb2cKKyMgUmVxdWlyZWQtU3RvcDogICAgICAgICRsb2NhbF9mcyAkcmVtb3RlX2ZzICRuZXR3b3JrICRzeXNsb2cKKyMgWC1TdGFydC1CZWZvcmU6ICR4LWRpc3BsYXktbWFuYWdlcgorIyBEZWZhdWx0LVN0YXJ0OiAgICAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246ICAgIE1JVCBLZXJiZXJvcyBLREMKKyMgRGVzY3JpcHRpb246ICAgICAgICAgIFN0YXJ0cywgc3RvcHMsIG9yIHJlc3RhcnRzIHRoZSBNSVQgS2VyYmVyb3MgS0RDLiAgVGhpcworIyAgICAgICAgICAgICAgICAgICAgICAgZGFlbW9uIHJlc3BvbmRzIHRvIHRpY2tldCByZXF1ZXN0cyBmcm9tIEtlcmJlcm9zCisjICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRzLgorIyMjIEVORCBJTklUIElORk8KKworIyBBdXRob3I6IFNhbSBIYXJ0bWFuIDxoYXJ0bWFuc0BtaXQuZWR1PgorIyBBdXRob3I6IFJ1c3MgQWxsYmVyeSA8cnJhQGRlYmlhbi5vcmc+CisjCisjIEJhc2VkIG9uIHRoZSAvZXRjL2luaXQuZC9za2VsZXRvbiB0ZW1wbGF0ZSBhcyBmb3VuZCBpbiBpbml0c2NyaXB0cyB2ZXJzaW9uCisjIDIuODYuZHMxLTE1LgorCisjIEp1bmUsIDIwMTI6IEFkb3B0ZWQgZm9yIHlvY3RvIDxhbXkuZm9uZ0B3aW5kcml2ZXIuY29tPgorCitQQVRIPS91c3Ivc2JpbjovdXNyL2Jpbjovc2JpbjovYmluCitERVNDPSJLZXJiZXJvcyBLREMiCitOQU1FPWtyYjVrZGMKK0RBRU1PTj0vdXNyL3NiaW4vJE5BTUUKK0RBRU1PTl9BUkdTPSIiCitTQ1JJUFROQU1FPS9ldGMvaW5pdC5kL2tyYjUta2RjCisKKyMgRXhpdCBpZiB0aGUgcGFja2FnZSBpcyBub3QgaW5zdGFsbGVkLgorWyAteCAiJERBRU1PTiIgXSB8fCBleGl0IDAKKworIyBSZWFkIGNvbmZpZ3VyYXRpb24gaWYgaXQgaXMgcHJlc2VudC4KK1sgLXIgL2V0Yy9kZWZhdWx0L2tyYjUta2RjIF0gJiYgLiAvZXRjL2RlZmF1bHQva3JiNS1rZGMKKworIyBHZXQgdGhlIHNldHRpbmcgb2YgVkVSQk9TRSBhbmQgb3RoZXIgcmNTIHZhcmlhYmxlcy4KK1sgLWYgL2V0Yy9kZWZhdWx0L3JjUyBdICYmIC4gL2V0Yy9kZWZhdWx0L3JjUworCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCisjIFJldHVybgorIyAgIDAgaWYgZGFlbW9uIGhhcyBiZWVuIHN0YXJ0ZWQKKyMgICAxIGlmIGRhZW1vbiB3YXMgYWxyZWFkeSBydW5uaW5nCisjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0YXJ0ZWQKK2RvX3N0YXJ0X2tkYygpCit7CisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tc3RhcnRhcyAkREFFTU9OIC0tbmFtZSAkTkFNRSAtLXRlc3QgXAorICAgICAgICA+IC9kZXYvbnVsbCB8fCByZXR1cm4gMQorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLXN0YXJ0YXMgJERBRU1PTiAtLW5hbWUgJE5BTUUgXAorICAgICAgICAtLSAkREFFTU9OX0FSR1MgfHwgcmV0dXJuIDIKK30KKworCisjIFJldHVybgorIyAgIDAgaWYgZGFlbW9uIGhhcyBiZWVuIHN0b3BwZWQKKyMgICAxIGlmIGRhZW1vbiB3YXMgYWxyZWFkeSBzdG9wcGVkCisjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0b3BwZWQKKyMgICBvdGhlciBpZiBhIGZhaWx1cmUgb2NjdXJyZWQKK2RvX3N0b3Bfa2RjKCkKK3sKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXJldHJ5PVRFUk0vMzAvS0lMTC81IC0tbmFtZSAkTkFNRQorICAgIFJFVFZBTD0iJD8iCisgICAgWyAiJFJFVFZBTCIgPSAyIF0gJiYgcmV0dXJuIDIKKyAgICByZXR1cm4gIiRSRVRWQUwiCit9CisKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgIFsgIiRWRVJCT1NFIiAhPSBubyBdICYmIGVjaG8gIlN0YXJ0aW5nICRERVNDIiAiJE5BTUUiCisgICAgZG9fc3RhcnRfa2RjCisgICAgY2FzZSAiJD8iIGluCisgICAgICAwfDEpCisgICAgICAgICAgICBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBlY2hvIDAKKyAgICAgICAgOzsKKyAgICAgIDIpCisgICAgICAgIFsgIiRWRVJCT1NFIiAhPSBubyBdICYmIGVjaG8gMQorICAgICAgICA7OworICAgIGVzYWMKKyAgICA7OworCisgIHN0b3ApCisgICAgWyAiJFZFUkJPU0UiICE9IG5vIF0gJiYgZWNobyAiU3RvcHBpbmcgJERFU0MiICIkTkFNRSIKKyAgICBkb19zdG9wX2tkYworICAgIGNhc2UgIiQ/IiBpbgorICAgICAgMHwxKQorICAgICAgICBbICIkVkVSQk9TRSIgIT0gbm8gXSAmJiBlY2hvICJrcmI1MjRkIgorICAgICAgICA7OworICAgICAgMikKKyAgICAgICAgWyAiJFZFUkJPU0UiICE9IG5vIF0gJiYgZWNobyAxCisgICAgICAgIDs7CisgICAgZXNhYworICAgIDs7CisKKyAgcmVzdGFydHxmb3JjZS1yZWxvYWQpCisgICAgZWNobyAiUmVzdGFydGluZyAkREVTQyIgIiROQU1FIgorICAgIGRvX3N0b3Bfa2RjCisgICAgY2FzZSAiJD8iIGluCisgICAgICAwfDEpCisgICAgICAgIGRvX3N0YXJ0X2tkYworICAgICAgICBjYXNlICIkPyIgaW4KKyAgICAgICAgICAwKQorCSAgZWNobyAwCisJICA7OworICAgICAgICAgIDF8MikKKyAgICAgICAgICAgIGVjaG8gMQorICAgICAgICAgICAgOzsKKyAgICAgICAgZXNhYworICAgICAgICA7OworICAgICAgKikKKyAgICAgICAgZWNobyAxCisgICAgICAgIDs7CisgICAgZXNhYworICAgIDs7CisKKyAgc3RhdHVzKQorICAgIHBpZG9mcHJvYyAiJERBRU1PTiIgPi9kZXYvbnVsbAorICAgIHN0YXR1cz0kPworICAgIGlmIFsgJHN0YXR1cyAtZXEgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIiROQU1FIGlzIHJ1bm5pbmcuIgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiJE5BTUUgaXMgbm90IHJ1bm5pbmcuIgorICAgIGZpCisgICAgZXhpdCAkc3RhdHVzCisgICAgOzsKKworICAqKQorICAgIGVjaG8gIlVzYWdlOiAkU0NSSVBUTkFNRSB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZHxzdGF0dXN9IiA+JjIKKyAgICBleGl0IDMKKyAgICA7OworZXNhYworCis6CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L2tyYjUtQ1ZFLTIwMTYtMzExOS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjUva3JiNS1DVkUtMjAxNi0zMTE5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3ZmVmZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1L2tyYjUtQ1ZFLTIwMTYtMzExOS5wYXRjaApAQCAtMCwwICsxLDM2IEBACitTdWJqZWN0OiBrZXJiOiBGaXggTERBUCBudWxsIGRlcmVmIG9uIGVtcHR5IGFyZyBbQ1ZFLTIwMTYtMzExOV0KK0Zyb206IEdyZWcgSHVkc29uCisKK0luIHRoZSBMREFQIEtEQiBtb2R1bGUncyBwcm9jZXNzX2RiX2FyZ3MoKSwgc3RydG9rX3IoKSBtYXkgcmV0dXJuIE5VTEwKK2lmIHRoZXJlIGlzIGFuIGVtcHR5IHN0cmluZyBpbiB0aGUgZGJfYXJncyBhcnJheS4gIENoZWNrIGZvciB0aGlzIGNhc2UKK2FuZCBhdm9pZCBkZXJlZmVyZW5jaW5nIGEgbnVsbCBwb2ludGVyLgorCitDVkUtMjAxNi0zMTE5OgorCitJbiBNSVQga3JiNSAxLjYgYW5kIGxhdGVyLCBhbiBhdXRoZW50aWNhdGVkIGF0dGFja2VyIHdpdGggcGVybWlzc2lvbgordG8gbW9kaWZ5IGEgcHJpbmNpcGFsIGVudHJ5IGNhbiBjYXVzZSBrYWRtaW5kIHRvIGRlcmVmZXJlbmNlIGEgbnVsbAorcG9pbnRlciBieSBzdXBwbHlpbmcgYW4gZW1wdHkgREIgYXJndW1lbnQgdG8gdGhlIG1vZGlmeV9wcmluY2lwYWwKK2NvbW1hbmQsIGlmIGthZG1pbmQgaXMgY29uZmlndXJlZCB0byB1c2UgdGhlIExEQVAgS0RCIG1vZHVsZS4KKworICAgIENWU1N2MiBWZWN0b3I6IEFWOk4vQUM6SC9BdTpTL0M6Ti9JOk4vQTpDL0U6SC9STDpPRi9SQzpORAorCit0aWNrZXQ6IDgzODMgKG5ldykKK3RhcmdldF92ZXJzaW9uOiAxLjE0LW5leHQKK3RhcmdldF92ZXJzaW9uOiAxLjEzLW5leHQKK3RhZ3M6IHB1bGx1cAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IFpoaXhpb25nIENoaSA8emhpeGlvbmcuY2hpQHdpbmRyaXZlci5jb20+CitJbmRleDoga3JiNS0xLjEzLjIvc3JjL3BsdWdpbnMva2RiL2xkYXAvbGlia2RiX2xkYXAvbGRhcF9wcmluY2lwYWwyLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBrcmI1LTEuMTMuMi5vcmlnL3NyYy9wbHVnaW5zL2tkYi9sZGFwL2xpYmtkYl9sZGFwL2xkYXBfcHJpbmNpcGFsMi5jCTIwMTUtMDUtMDkgMDc6Mjc6MDIuMDAwMDAwMDAwICswODAwCisrKysga3JiNS0xLjEzLjIvc3JjL3BsdWdpbnMva2RiL2xkYXAvbGlia2RiX2xkYXAvbGRhcF9wcmluY2lwYWwyLmMJMjAxNi0wNC0xMSAxNToxNzoxMi44NzQxNDA1MTggKzA4MDAKK0BAIC0yNjcsNiArMjY3LDcgQEAKKyAgICAgaWYgKGRiX2FyZ3MpIHsKKyAgICAgICAgIGZvciAoaT0wOyBkYl9hcmdzW2ldOyArK2kpIHsKKyAgICAgICAgICAgICBhcmcgPSBzdHJ0b2tfcihkYl9hcmdzW2ldLCAiPSIsICZhcmdfdmFsKTsKKysgICAgICAgICAgICBhcmcgPSAoYXJnICE9IE5VTEwpID8gYXJnIDogIiI7CisgICAgICAgICAgICAgaWYgKHN0cmNtcChhcmcsIFRLVFBPTElDWV9BUkcpID09IDApIHsKKyAgICAgICAgICAgICAgICAgZHB0ciA9ICZ4YXJncy0+dGt0cG9saWN5ZG47CisgICAgICAgICAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjVfMS4xMy4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2tyYjUva3JiNV8xLjEzLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEzYjc2YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjVfMS4xMy4yLmJiCkBAIC0wLDAgKzEsMTA3IEBACitTVU1NQVJZID0gIkEgbmV0d29yayBhdXRoZW50aWNhdGlvbiBwcm90b2NvbCIKK0RFU0NSSVBUSU9OID0gIktlcmJlcm9zIGlzIGEgc3lzdGVtIGZvciBhdXRoZW50aWNhdGluZyB1c2VycyBhbmQgc2VydmljZXMgb24gYSBuZXR3b3JrLiBcCisgS2VyYmVyb3MgaXMgYSB0cnVzdGVkIHRoaXJkLXBhcnR5IHNlcnZpY2UuICBUaGF0IG1lYW5zIHRoYXQgdGhlcmUgaXMgYSBcCisgdGhpcmQgcGFydHkgKHRoZSBLZXJiZXJvcyBzZXJ2ZXIpIHRoYXQgaXMgdHJ1c3RlZCBieSBhbGwgdGhlIGVudGl0aWVzIG9uIFwKKyB0aGUgbmV0d29yayAodXNlcnMgYW5kIHNlcnZpY2VzLCB1c3VhbGx5IGNhbGxlZCAicHJpbmNpcGFscyIpLiBcCisgLiBcCisgVGhpcyBpcyB0aGUgTUlUIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBvZiBLZXJiZXJvcyBWNS4gXAorIC4gXAorIFRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgS2VyYmVyb3Mga2V5IHNlcnZlciAoS0RDKS4gIFRoZSBLREMgbWFuYWdlcyBhbGwgXAorIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIGZvciBhIEtlcmJlcm9zIHJlYWxtLCBob2xkcyB0aGUgbWFzdGVyIGtleXMgXAorIGZvciB0aGUgcmVhbG0sIGFuZCByZXNwb25kcyB0byBhdXRoZW50aWNhdGlvbiByZXF1ZXN0cy4gIFRoaXMgcGFja2FnZSBcCisgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiBib3RoIG1hc3RlciBhbmQgc2xhdmUgS0RDcy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93ZWIubWl0LmVkdS9LZXJiZXJvcy8iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS8uLi9OT1RJQ0U7bWQ1PWY2NDI0ODMyOGQyZDk5MjhlMWYwNDE1OGI1MjQzZTdmIgorREVQRU5EUyA9ICJuY3Vyc2VzIHV0aWwtbGludXggZTJmc3Byb2dzIGUyZnNwcm9ncy1uYXRpdmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBiaW5jb25maWcgcGVybG5hdGl2ZQorCitTSFJUX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9IgorU1JDX1VSSSA9ICJodHRwOi8vd2ViLm1pdC5lZHUva2VyYmVyb3MvZGlzdC8ke0JQTn0vJHtTSFJUX1ZFUn0vJHtCUH0tc2lnbmVkLnRhciBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFjbG9jYWwtQWRkLXBhcmFtZXRlci10by1kaXNhYmxlLWtleXV0aWxzLWRldGVjdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4tc3VwcHJlc3MtdXNyLWxpYi1pbi1rcmI1LWNvbmZpZy5wYXRjaDtzdHJpcGxldmVsPTIgXAorICAgICAgICAgICBmaWxlOi8vRml4LVNQTkVHTy1jb250ZXh0LWFsaWFzaW5nLWJ1Z3MtQ1ZFLTIwMTUtMjY5NS5wYXRjaDtzdHJpcGxldmVsPTIgXAorICAgICAgICAgICBmaWxlOi8vRml4LUlBS0VSQi1jb250ZXh0LWFsaWFzaW5nLWJ1Z3MtQ1ZFLTIwMTUtMjY5Ni5wYXRjaDtzdHJpcGxldmVsPTIgXAorICAgICAgICAgICBmaWxlOi8vRml4LWJ1aWxkX3ByaW5jaXBhbC1tZW1vcnktYnVnLUNWRS0yMDE1LTI2OTcucGF0Y2g7c3RyaXBsZXZlbD0yIFwKKyAgICAgICAgICAgZmlsZTovL0ZpeC1JQUtFUkItY29udGV4dC1leHBvcnQtaW1wb3J0LUNWRS0yMDE1LTI2OTgucGF0Y2g7c3RyaXBsZXZlbD0yIFwKKyAgICAgICAgICAgZmlsZTovL2Nyb3NzY29tcGlsZV9ubS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ldGMvaW5pdC5kL2tyYjUta2RjIFwKKyAgICAgICAgICAgZmlsZTovL2V0Yy9pbml0LmQva3JiNS1hZG1pbi1zZXJ2ZXIgXAorICAgICAgICAgICBmaWxlOi8vZXRjL2RlZmF1bHQva3JiNS1rZGMgXAorICAgICAgICAgICBmaWxlOi8vZXRjL2RlZmF1bHQva3JiNS1hZG1pbi1zZXJ2ZXIgXAorICAgICAgICAgICBmaWxlOi8va3JiNS1DVkUtMjAxNi0zMTE5LnBhdGNoO3N0cmlwbGV2ZWw9MiBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiZjdlYmZhNmM5OWMxMGIxNjk3OWViZjlhOTgzNDMxODkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTUyOGMzMGIwMjA5Yzc0MWY2ZjMyMGNiODMxMjJkZWQ5MmYyOTE4MDJiNmExYTFkYzFhMDFkY2RiM2ZmNmRlMSIKKworUyA9ICIke1dPUktESVJ9LyR7QlB9L3NyYyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2xpYmVkaXRdID0gIi0td2l0aC1saWJlZGl0LC0td2l0aG91dC1saWJlZGl0LGxpYmVkaXQiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1wa2luaXQtY3J5cHRvLWltcGw9b3BlbnNzbCwsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdba2V5dXRpbHNdID0gIi0tZW5hYmxlLWtleXV0aWxzLC0tZGlzYWJsZS1rZXl1dGlscyxrZXl1dGlscyIKK1BBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS13aXRoLWxkYXAsLS13aXRob3V0LWxkYXAsb3BlbmxkYXAiCitQQUNLQUdFQ09ORklHW3JlYWRsaW5lXSA9ICItLXdpdGgtcmVhZGxpbmUsLS13aXRob3V0LXJlYWRsaW5lLHJlYWRsaW5lIgorCitFWFRSQV9PRUNPTkYgKz0gIiAtLXdpdGhvdXQtdGNsIC0td2l0aC1zeXN0ZW0tZXQgLS1kaXNhYmxlLXJwYXRoIgorQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImtyYjVfY3ZfYXR0cl9jb25zdHJ1Y3Rvcl9kZXN0cnVjdG9yPXllcyBhY19jdl9mdW5jX3JlZ2NvbXA9eWVzIFwKKyAgICAgICAgICAgICAgICAgIGFjX2N2X3ByaW50Zl9wb3NpdGlvbmFsPXllcyBhY19jdl9maWxlX19ldGNfZW52aXJvbm1lbnQ9eWVzIFwKKyAgICAgICAgICAgICAgICAgIGFjX2N2X2ZpbGVfX2V0Y19USU1FWk9ORT1ubyIKKworQ0ZMQUdTX2FwcGVuZCArPSAiLURERVNUUlVDVE9SX0FUVFJfV09SS1M9MSAtSSR7U1RBR0lOR19JTkNESVJ9L2V0IgorTERGTEFHU19hcHBlbmQgKz0gIi1scHRocmVhZCIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZ25hdHMiCitGSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0vZXhhbXBsZXMiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMvKi8uZGVidWciCisKKyMgQXMgdGhpcyByZWNpcGUgZG9lc24ndCBpbmhlcml0IHVwZGF0ZS1yYy5kLCB3ZSBuZWVkIHRvIGFkZCB0aGlzIGRlcGVuZGVuY3kgaGVyZQorUkRFUEVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ICs9ICJpbml0c2NyaXB0cy1mdW5jdGlvbnMiCisKK2tyYjVfZG9fdW5wYWNrKCkgeworICAgICMgJHtQfS1zaWduZWQudGFyIGNvbnRhaW5zICR7UH0udGFyLmd6LmFzYyBhbmQgJHtQfS50YXIuZ3oKKyAgICB0YXIgeHpmICR7V09SS0RJUn0vJHtCUH0udGFyLmd6IC1DICR7V09SS0RJUn0vCit9CisKK3B5dGhvbiBkb191bnBhY2soKSB7CisgICAgYmIuYnVpbGQuZXhlY19mdW5jKCdiYXNlX2RvX3VucGFjaycsIGQpCisgICAgYmIuYnVpbGQuZXhlY19mdW5jKCdrcmI1X2RvX3VucGFjaycsIGQpCit9CisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBnbnUtY29uZmlnaXplIC0tZm9yY2UKKyAgICBhdXRvcmVjb25mCisgICAgb2VfcnVuY29uZgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBta2RpciAtcCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZXRjL2luaXQuZC8qICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ldGMvZGVmYXVsdC8qICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0CisKKyAgICBybSAtcmYgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorICAgIG1rZGlyIC1wICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworICAgIGVjaG8gImQgcm9vdCByb290IDA3NTUgJHtsb2NhbHN0YXRlZGlyfS9ydW4va3JiNWtkYyBub25lIiBcCisgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvODdfa3JiNQorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAorICAgICAgICBlY2hvICJkIC9ydW4va3JiNWtkYyAtIC0gLSAtIiBcCisgICAgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9rcmI1LmNvbmYKKyAgICBmaQorCit9CisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgaWYgWyAteiAiJEQiIF07IHRoZW4KKyAgICAgICAgaWYgY29tbWFuZCAtdiBzeXN0ZW1kLXRtcGZpbGVzID4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgIHN5c3RlbWQtdG1wZmlsZXMgLS1jcmVhdGUgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2tyYjUuY29uZgorICAgICAgICBlbGlmIFsgLWUgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggXTsgdGhlbgorICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCisgICAgICAgIGZpCisgICAgZmkKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmltb2JpbGVkZXZpY2UvZmlsZXMvY29uZmlndXJlLWZpeC1sYXJnZWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliaW1vYmlsZWRldmljZS9maWxlcy9jb25maWd1cmUtZml4LWxhcmdlZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzlhOGI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmltb2JpbGVkZXZpY2UvZmlsZXMvY29uZmlndXJlLWZpeC1sYXJnZWZpbGUucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRml4IGNvbmZpZ3VyZSBlcnJvciBpbiBsYXJnZSBmaWxlIGNoZWNrcyBvbiA2NC1iaXQgYXJjaGl0ZWN0dXJlcworCisgY29uZmlndXJlOjE3ODg4OiBjaGVja2luZyBmb3IgbmF0aXZlIGxhcmdlIGZpbGUgc3VwcG9ydAorIGNvbmZpZ3VyZToxNzg5MTogZXJyb3I6IGluIGAvaG9tZS9qZW5raW5zL29lL3Noci1jb3JlLWJyYW5jaGVzL3Noci1jb3JlL3RtcC1lZ2xpYmMvd29yay9jb3JlMi02NC1vZS1saW51eC9saWJpbW9iaWxlZGV2aWNlLzEuMS40LXIwL2xpYmltb2JpbGVkZXZpY2UtMS4xLjQnOgorIGNvbmZpZ3VyZToxNzg5MzogZXJyb3I6IGNhbm5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZworCitjb25maWd1cmUuYWMgd2FzIHVzaW5nIEFDX1NZU19MQVJHRUZJTEUgbWFjcm8gYXMgaXMgdHlwaWNhbCwgYnV0IHRoZW4KK3RoZXJlIHdhcyBhbiBleHRyYSBydW50aW1lIGNoZWNrIGFkZGVkIGJleW9uZCB0aGF0OgorY2hlY2sgaWYgb2ZmX3QgaXMgOCBieXRlcyAoNjQgYml0cykgbG9uZy4KK0lmIHRoYXQgcnVudGltZSBjaGVjayBwYXNzZWQsIF9GSUxFX09GRlNFVF9CSVRTIHdhcyBkZWZpbmVkIGFzIDY0LgorCitSdW50aW1lIGNoZWNrcyBuZWVkIHRvIGdvIGF3YXkgZm9yIGNyb3NzIGNvbXBpbGluZywgYW5kIGx1Y2tpbHkgdGhpcyBleHRyYQorY2hlY2sgd2FzIG5vdCBzZXJ2aW5nIGFueSB1c2VmdWwgcHVycG9zZS4gTm90ZSB0aGF0IG9mZl90IHdhcyAqYWxyZWFkeSoKKzY0IGJpdHMsICp3aXRob3V0KiBzZXR0aW5nIF9GSUxFX09GRlNFVF9CSVRTLCB3aGljaCBtYWtlcyBfRklMRV9PRkZTRVRfQklUUwordW5uZWVkZWQgZm9yIGxhcmdlIGZpbGUgc3VwcG9ydC4gCisKK0lmIEFDX1NZU19MQVJHRUZJTEUgbWFjcm8gc2V0cyBhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cz1ubywKK2p1c3QgbGVhdmUgX0ZJTEVfT0ZGU0VUX0JJVFMgdW5kZWZpbmVkIQorCistLS0gbGliaW1vYmlsZWRldmljZS0xLjEuNC9jb25maWd1cmUuYWMub2xkCTIwMTUtMDctMTUgMDE6Mzg6NTAuOTAwMTQzOTI3IC0wNzAwCisrKysgbGliaW1vYmlsZWRldmljZS0xLjEuNC9jb25maWd1cmUuYWMJMjAxNS0wNy0xNSAwMTozOToxMy4zMDAxNDQ0MzAgLTA3MDAKK0BAIC0xNzQsMTYgKzE3NCw2IEBACisgaWYgdGVzdCAiJGVuYWJsZV9sYXJnZWZpbGUiICE9IG5vOyB0aGVuCisgICAgIGlmIHRlc3QgIiRhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cyIgIT0gJ25vJzsgdGhlbgorIAlMRlNfQ0ZMQUdTPSIkTEZTX0NGTEFHUyAtRF9GSUxFX09GRlNFVF9CSVRTPSRhY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cyIKKy0gICAgZWxzZQorLQlBQ19NU0dfQ0hFQ0tJTkcoZm9yIG5hdGl2ZSBsYXJnZSBmaWxlIHN1cHBvcnQpCistCUFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFsjaW5jbHVkZSA8dW5pc3RkLmg+CistCSAgaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKKy0JICB7CistCSAgICAgIGV4aXQoIShzaXplb2Yob2ZmX3QpID09IDgpKTsKKy0JICB9XSldLAorLQlbYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHM9NjQ7IEFDX0RFRklORShfRklMRV9PRkZTRVRfQklUUyw2NCkKKy0JIEFDX01TR19SRVNVTFQoeWVzKV0sCistCVtBQ19NU0dfUkVTVUxUKG5vKV0pCisgICAgIGZpCisgICAgIGlmIHRlc3QgIiRhY19jdl9zeXNfbGFyZ2VfZmlsZXMiICE9ICdubyc7IHRoZW4KKyAJTEZTX0NGTEFHUz0iJExGU19DRkxBR1MgLURfTEFSR0VfRklMRVM9MSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJpbW9iaWxlZGV2aWNlL2ZpbGVzL2lubGluZS13aXRob3V0LWRlZmluaXRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliaW1vYmlsZWRldmljZS9maWxlcy9pbmxpbmUtd2l0aG91dC1kZWZpbml0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhNzg5NWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliaW1vYmlsZWRldmljZS9maWxlcy9pbmxpbmUtd2l0aG91dC1kZWZpbml0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0ZpeCBsaW5rIGVycm9yIHdpdGggZ2NjIDUgdG9vbGNoYWlucworCisgYWZjLmM6MjU4OiBlcnJvcjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byAnZGVidWdfYnVmZmVyJworIGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cworCitkZWJ1Zy5oIGhlYWRlciB3YXMgZGVjbGFyaW5nIHRoaW5ncyBpbmxpbmUgd2l0aG91dCBwcm92aWRpbmcgYSBkZWZpbml0aW9uLgorRmlsZXMgdGhhdCBpbmNsdWRlZCB0aGlzIGhlYWRlciB0aGVuIGZhaWxlZCB0byBsaW5rIGFnYWluc3QgdGhlIGNvcnJlc3BvbmRpbmcKK2V4dGVybmFsIHN5bWJvbCBpbiBkZWJ1Zy5jLCBiZWNhdXNlIHRoZSBsaW5rZXIgdG9vayB0aGUgJ2lubGluZScga2V5d29yZAorc2VyaW91c2x5IHJhdGhlciB0aGFuIGlnbm9yaW5nIGl0LgorCistLS0gbGliaW1vYmlsZWRldmljZS0xLjEuNC9zcmMvZGVidWcuaC5vcmlnCTIwMTUtMTAtMDMgMTY6MjQ6MDguNzU4NzQwMzg2IC0wNzAwCisrKysgbGliaW1vYmlsZWRldmljZS0xLjEuNC9zcmMvZGVidWcuaAkyMDE1LTEwLTAzIDE2OjI0OjIyLjcwNjc0MDM1NSAtMDcwMAorQEAgLTQ0LDE0ICs0NCwxNCBAQAorICNkZWZpbmUgZGVidWdfcGxpc3QoYSkKKyAjZW5kaWYKKyAKKy1MSUJJTU9CSUxFREVWSUNFX0lOVEVSTkFMIGlubGluZSB2b2lkIGRlYnVnX2luZm9fcmVhbChjb25zdCBjaGFyICpmdW5jLAorK0xJQklNT0JJTEVERVZJQ0VfSU5URVJOQUwgdm9pZCBkZWJ1Z19pbmZvX3JlYWwoY29uc3QgY2hhciAqZnVuYywKKyAJCQkJCQkJCQkJCWNvbnN0IGNoYXIgKmZpbGUsCisgCQkJCQkJCQkJCQlpbnQJbGluZSwKKyAJCQkJCQkJCQkJCWNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKKyAKKy1MSUJJTU9CSUxFREVWSUNFX0lOVEVSTkFMIGlubGluZSB2b2lkIGRlYnVnX2J1ZmZlcihjb25zdCBjaGFyICpkYXRhLCBjb25zdCBpbnQgbGVuZ3RoKTsKKy1MSUJJTU9CSUxFREVWSUNFX0lOVEVSTkFMIGlubGluZSB2b2lkIGRlYnVnX2J1ZmZlcl90b19maWxlKGNvbnN0IGNoYXIgKmZpbGUsIGNvbnN0IGNoYXIgKmRhdGEsIGNvbnN0IGludCBsZW5ndGgpOworLUxJQklNT0JJTEVERVZJQ0VfSU5URVJOQUwgaW5saW5lIHZvaWQgZGVidWdfcGxpc3RfcmVhbChjb25zdCBjaGFyICpmdW5jLAorK0xJQklNT0JJTEVERVZJQ0VfSU5URVJOQUwgdm9pZCBkZWJ1Z19idWZmZXIoY29uc3QgY2hhciAqZGF0YSwgY29uc3QgaW50IGxlbmd0aCk7CisrTElCSU1PQklMRURFVklDRV9JTlRFUk5BTCB2b2lkIGRlYnVnX2J1ZmZlcl90b19maWxlKGNvbnN0IGNoYXIgKmZpbGUsIGNvbnN0IGNoYXIgKmRhdGEsIGNvbnN0IGludCBsZW5ndGgpOworK0xJQklNT0JJTEVERVZJQ0VfSU5URVJOQUwgdm9pZCBkZWJ1Z19wbGlzdF9yZWFsKGNvbnN0IGNoYXIgKmZ1bmMsCisgCQkJCQkJCQkJCQljb25zdCBjaGFyICpmaWxlLAorIAkJCQkJCQkJCQkJaW50CWxpbmUsCisgCQkJCQkJCQkJCQlwbGlzdF90IHBsaXN0KTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJpbW9iaWxlZGV2aWNlL2xpYmltb2JpbGVkZXZpY2VfMS4xLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliaW1vYmlsZWRldmljZS9saWJpbW9iaWxlZGV2aWNlXzEuMS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyYWNhOTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliaW1vYmlsZWRldmljZS9saWJpbW9iaWxlZGV2aWNlXzEuMS40LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiQSBwcm90b2NvbCBsaWJyYXJ5IHRvIGFjY2VzcyBhbiBpUGhvbmUgb3IgaVBvZCBUb3VjaCBpbiBMaW51eCIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1lYmI1YzUwYWI3Y2FiNGJhZWZmYmExNDk3NzAzMGMwNyBcCisgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT02YWIxN2I0MTY0MDU2NDQzNGRkYTg1YzA2YjcxMjRmNyBcCisiCisKK0hPTUVQQUdFID0iaHR0cDovL3d3dy5saWJpbW9iaWxlZGV2aWNlLm9yZy8iCisKK0RFUEVORFMgPSAibGlicGxpc3QgdXNibXV4ZCBsaWJ0YXNuMSBnbnV0bHMgbGliZ2NyeXB0IgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL3d3dy5saWJpbW9iaWxlZGV2aWNlLm9yZy9kb3dubG9hZHMvbGliaW1vYmlsZWRldmljZS0ke1BWfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vY29uZmlndXJlLWZpeC1sYXJnZWZpbGUucGF0Y2ggXAorICAgIGZpbGU6Ly9pbmxpbmUtd2l0aG91dC1kZWZpbml0aW9uLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjNmMjhjYmM2YTJlMzBkMzQ2ODUwNDljMGFiZGU1MTgzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY3NDk5Y2ZhYTYxNzJmNTY2ZWU2YjA3ODM2MDVhY2ZmZTQ4NGZiN2RkYzNiMDk4ODFhYjdhYzU4NjY3ZWU1YjgiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aG91dC1jeXRob24gIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbV8xLjEyLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibWJpbS9saWJtYmltXzEuMTIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWVjY2U1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbV8xLjEyLjIuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJsaWJtYmltIGlzIGxpYnJhcnkgZm9yIHRhbGtpbmcgdG8gV1dBTiBkZXZpY2VzIGJ5IE1CSU0gcHJvdG9jb2wiCitERVNDUklQVElPTiA9ICJsaWJtYmltIGlzIGEgZ2xpYi1iYXNlZCBsaWJyYXJ5IGZvciB0YWxraW5nIHRvIFdXQU4gbW9kZW1zIGFuZCBkZXZpY2VzIHdoaWNoIHNwZWFrIHRoZSBNb2JpbGUgSW50ZXJmYWNlIEJyb2FkYmFuZCBNb2RlbCAoTUJJTSkgcHJvdG9jb2wiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL2xpYm1iaW0vIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCisiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbGliZ3VkZXYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjkyMWZiNWFiM2YxM2YxZTAwODMzZTAwOWQ4ZjNiNGY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk0OTM1MWQzZTNkNjliODFlNDBhNDlmMWQxODc5NDRjMjYxNDllMDY0N2E0MTVmMDIyN2NjZGMxMTIwNDdiMjkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibXRwL2xpYm10cC0xLjEuNS82OS1saWJtdHAucnVsZXMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibXRwL2xpYm10cC0xLjEuNS82OS1saWJtdHAucnVsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNkMjdjNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtdHAvbGlibXRwLTEuMS41LzY5LWxpYm10cC5ydWxlcwpAQCAtMCwwICsxLDk5OSBAQAorIyBVREVWLXN0eWxlIGhvdHBsdWcgbWFwIGZvciBsaWJtdHAKKyMgUHV0IHRoaXMgZmlsZSBpbiAvZXRjL3VkZXYvcnVsZXMuZAorCitBQ1RJT04hPSJhZGQiLCBHT1RPPSJsaWJtdHBfcnVsZXNfZW5kIgorRU5We01BSk9SfSE9Ij8qIiwgR09UTz0ibGlibXRwX3J1bGVzX2VuZCIKK1NVQlNZU1RFTT09InVzYiIsIEdPVE89ImxpYm10cF91c2JfcnVsZXMiCitHT1RPPSJsaWJtdHBfcnVsZXNfZW5kIgorCitMQUJFTD0ibGlibXRwX3VzYl9ydWxlcyIKKworIyBTb21lIHNlbnNpdGl2ZSBkZXZpY2VzIHdlIHN1cmVseSBkb24ndCB3YW5uYSBwcm9iZQorIyBDb2xvciBpbnN0cnVtZW50cworQVRUUntpZFZlbmRvcn09PSIwNjcwIiwgR09UTz0ibGlibXRwX3J1bGVzX2VuZCIKK0FUVFJ7aWRWZW5kb3J9PT0iMDc2NSIsIEdPVE89ImxpYm10cF9ydWxlc19lbmQiCitBVFRSe2lkVmVuZG9yfT09IjA4NWMiLCBHT1RPPSJsaWJtdHBfcnVsZXNfZW5kIgorQVRUUntpZFZlbmRvcn09PSIwOTcxIiwgR09UTz0ibGlibXRwX3J1bGVzX2VuZCIKKyMgQ2Fub24gc2Nhbm5lcnMgdGhhdCBsb29rIGxpa2UgTVRQIGRldmljZXMgKFBJRCAweDIybm4pCitBVFRSe2lkVmVuZG9yfT09IjA0YTkiLCBBVFRSe2lkUHJvZHVjdH09PSIyMioiLCBHT1RPPSJsaWJtdHBfcnVsZXNfZW5kIgorIyBDYW5vbiBkaWdpdGFsIGNhbWVyYSAoRU9TIDNEKSB0aGF0IGxvb2tzIGxpa2UgTVRQIGRldmljZSAoUElEIDB4MzExMykKK0FUVFJ7aWRWZW5kb3J9PT0iMDRhOSIsIEFUVFJ7aWRQcm9kdWN0fT09IjMxMTMiLCBHT1RPPSJsaWJtdHBfcnVsZXNfZW5kIgorIyBTZW5zaXRpdmUgQXRoZXJvcyBkZXZpY2VzIHRoYXQgbG9vayBsaWtlIE1UUCBkZXZpY2VzCitBVFRSe2lkVmVuZG9yfT09IjBjZjMiLCBHT1RPPSJsaWJtdHBfcnVsZXNfZW5kIgorIyBTZW5zaXRpdmUgQXRtZWwgSlRBRyBwcm9ncmFtbWVycworQVRUUntpZFZlbmRvcn09PSIwM2ViIiwgR09UTz0ibGlibXRwX3J1bGVzX2VuZCIKKyMgQ3JlYXRpdmUgWkVOIFZpc2lvbgorQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDExZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgUG9ydGFibGUgTWVkaWEgQ2VudGVyCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTIzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDcmVhdGl2ZSBaRU4gWHRyYSAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTI4IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBEZWxsIERKICgybmQgZ2VuZXJhdGlvbikKK0FUVFJ7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxMmYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENyZWF0aXZlIFpFTiBNaWNybyAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTMwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDcmVhdGl2ZSBaRU4gVG91Y2ggKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDEzMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgRGVsbCBEZWxsIFBvY2tldCBESiAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTMyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDcmVhdGl2ZSBaRU4gTWljcm9QaG90byAoYWx0ZXJuYXRlIHZlcnNpb24pCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTMzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDcmVhdGl2ZSBaRU4gU2xlZWsgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDEzNyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIE1pY3JvUGhvdG8KK0FUVFJ7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxM2MiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENyZWF0aXZlIFpFTiBTbGVlayBQaG90bworQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDEzZCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIFZpc2lvbjpNCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTNlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDcmVhdGl2ZSBaRU4gVgorQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDE1MCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIFZpc2lvbjpNIChEVlAtSEQwMDA0KQorQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDE1MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIFYgUGx1cworQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDE1MiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIFZpc2lvbiBXCitBVFRSe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTUzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDcmVhdGl2ZSBaRU4KK0FUVFJ7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxNTciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENyZWF0aXZlIFpFTiBWIDJHQgorQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDE1OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIE1vemFpYworQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNDE2MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ3JlYXRpdmUgWkVOIFgtRmkKK0FUVFJ7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxNjIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENyZWF0aXZlIFpFTiBYLUZpIDMKK0FUVFJ7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxNjkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFppaUxBQlMgWmlpIEVHRworQVRUUntpZFZlbmRvcn09PSIwNDFlIiwgQVRUUntpZFByb2R1Y3R9PT0iNjAwMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC05MDAKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0MDkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgSTU1MFcgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0YTQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgSmV0IFM4MDAwCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI0ZjFmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIFlILTkyMCAoNTAxZCkKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwMWQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWUgtOTIwICg1MDIyKQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTAyMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZSC05MjVHUworQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTAyNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZSC04MjAKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwMmUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWUgtOTI1KC1HUykKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwMmYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWUgtSjcwSgorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTAzMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1aNQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTAzYyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1UN0oKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwNDciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtVTJKIChZUC1VMkpYQi9YQUEpCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI1MDU0IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIFlQLUYySgorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTA1NyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1LNQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTA1YSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1VMworQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTA3ZCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1UOQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTA3ZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1LMworQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTA4MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1QMgorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNTA4MyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBZUC1UMTAKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwOGEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUzUKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwOGIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUzMKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwOTEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtVTQKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUwOTMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUjEKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMGYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUTEKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMTUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtTTEKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUDMKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMWEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUTIKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMWQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtVTUKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMjEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUjAKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMjUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtUTMKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMzAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWVAtWjMKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxMzciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgWUgtOTk5IFBvcnRhYmxlIE1lZGlhIENlbnRlci9TR0gtQTcwNy9TR0gtTDc2MFYvU0dILVU5MDAvVmVyaXpvbiBJbnRlbnNpdHkvRmFzY2luYXRlCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI1YTBmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIE03NjAwIEJlYXQvR1QtUzgzMDBUL1NHSC1GNDkwL1M4MzAwCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2NjQyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIFg4MzAgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2NzAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIFU2MDAgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2NzA5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIEYyNTAgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2NzI3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIEp1a2UgKFNDSC1VNDcwKQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjczNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBHVC1CMjcwMAorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjc1MiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBTQU1TVU5HIFRyYW5jZQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjc2MyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBHVC1TODUwMAorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjgxOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBHYWxheHkgbW9kZWxzIChNVFArQURCKQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjg1YyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBHYWxheHkgWQorQVRUUntpZFZlbmRvcn09PSIwNGU4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjg1ZSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2Ftc3VuZyBHYWxheHkgbW9kZWxzIChNVFApCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2ODYwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIEdhbGF4eSBtb2RlbHMgS2llcyBtb2RlCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2ODc3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIFZpYnJhbnQgU0dILVQ5NTkvQ2FwdGl2YXRlL01lZGlhIHBsYXllciBtb2RlCitBVFRSe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSe2lkUHJvZHVjdH09PSI2OGE5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW1zdW5nIEdULUIyNzEwL1hjb3ZlciAyNzEKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjY4YWYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbXN1bmcgR1QtUzUyMzAKK0FUVFJ7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJ7aWRQcm9kdWN0fT09ImUyMGMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1pY3Jvc29mdC9JbnRlbCBCYW5kb24gUG9ydGFibGUgTWVkaWEgQ2VudGVyCitBVFRSe2lkVmVuZG9yfT09IjA0NWUiLCBBVFRSe2lkUHJvZHVjdH09PSIwMGM5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNaWNyb3NvZnQgV2luZG93cyBQaG9uZQorQVRUUntpZFZlbmRvcn09PSIwNDVlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDRlYyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWljcm9zb2Z0IFdpbmRvd3MgTVRQIFNpbXVsYXRvcgorQVRUUntpZFZlbmRvcn09PSIwNDVlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDYyMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWljcm9zb2Z0IFp1bmUgSEQKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ1ZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA2M2UiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1pY3Jvc29mdCBLaW4gMQorQVRUUntpZFZlbmRvcn09PSIwNDVlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDY0MCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWljcm9zb2Z0L1NoYXJwL25WaWRpYSBLaW4gVHdvTQorQVRUUntpZFZlbmRvcn09PSIwNDVlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDY0MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWljcm9zb2Z0IFp1bmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ1ZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA3MTAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEpWQyBBbG5lbyBYQS1IRDUwMAorQVRUUntpZFZlbmRvcn09PSIwNGYxIiwgQVRUUntpZFByb2R1Y3R9PT0iNjEwNSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBIREQ2MzIwLzAwIG9yIEhERDYzMzAvMTcKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNGIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgSEREMTRYWCxIREQxNjIwIG9yIEhERDE2MzAvMTcKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNGMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgSEREMDg1LzAwIG9yIEhERDA4Mi8xNworQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE0ZCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBHb0dlYXIgU0E5MjAwCitBVFRSe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTRmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBQaGlsaXBzIFNBMTExNS81NQorQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE2NCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBHb0dlYXIgQXVkaW8KK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNjUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgU2hvcWJveAorQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE3MiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBQU0E2MTAKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxODEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgSERENjMyMAorQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDFlYiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBHb0dlYXIgU0E2MDE0L1NBNjAxNS9TQTYwMjQvU0E2MDI1L1NBNjA0NC9TQTYwNDUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA4NGUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIFNBNTE0NQorQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDg1NyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBHb0dlYXIgU0E2MTI1L1NBNjE0NS9TQTYxODUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwMDIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIFNBMzM0NQorQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iMjAwNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUGhpbGlwcyBTQTUyODUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwMjIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIFZpQkUgU0ExVkJFMDQKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwNzUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIE11c2UKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwNzciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIFZpQkUgU0ExVkJFMDQvMDgKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwN2IiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIEFyaWEKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwN2MiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIFNBMVZCRTA4S1gvNzgKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwOGUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIFZJQkUgU0EyVkJFWzA4fDE2XUsvMDIKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwYjciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBoaWxpcHMgR29HZWFyIEFyaWF6CitBVFRSe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSe2lkUHJvZHVjdH09PSIyMGI5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBQaGlsaXBzIEdvR2VhciBWaWJlLzAyCitBVFRSe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSe2lkUHJvZHVjdH09PSIyMGU1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBQaGlsaXBzIFBTQTIzNQorQVRUUntpZFZlbmRvcn09PSIwNDcxIiwgQVRUUntpZFByb2R1Y3R9PT0iN2UwMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQWNlciBJY29uaWEgVEFCIEE1MDAgKElEMSkKK0FUVFJ7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjMzMjUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFjZXIgSWNvbmlhIFRBQiBBNTAwIChJRDIpCitBVFRSe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSe2lkUHJvZHVjdH09PSIzMzQxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBY2VyIEljb25pYSBUQUIgQTUwMQorQVRUUntpZFZlbmRvcn09PSIwNTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMzM0NCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQWNlciBJY29uaWEgVEFCIEExMDAgKElEMSkKK0FUVFJ7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjMzNDgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFjZXIgSWNvbmlhIFRBQiBBMTAwIChJRDIpCitBVFRSe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSe2lkUHJvZHVjdH09PSIzMzQ5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBY2VyIEljb25pYSBUQUIgQTcwMAorQVRUUntpZFZlbmRvcn09PSIwNTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMzM3OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQWNlciBJY29uaWEgVEFCIEEyMDAgKElEMSkKK0FUVFJ7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjMzN2MiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFjZXIgSWNvbmlhIFRBQiBBMjAwIChJRDIpCitBVFRSe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSe2lkUHJvZHVjdH09PSIzMzdkIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBY2VyIEljb25pYSBUQUIgQTUxMAorQVRUUntpZFZlbmRvcn09PSIwNTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMzM4YSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQWNlciBFMzUwIExpcXVpZCBHYWxsYW50IER1bworQVRUUntpZFZlbmRvcn09PSIwNTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMzNjMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2FuRGlzayBTYW5zYSBtMjMwL20yNDAKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0MDAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgbTIwMC10Y2MgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwNzgxIiwgQVRUUntpZFByb2R1Y3R9PT0iNzQwMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2FuRGlzayBTYW5zYSBjMTUwCitBVFRSe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSe2lkUHJvZHVjdH09PSI3NDEwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW5EaXNrIFNhbnNhIGUyMDAvZTI1MC9lMjYwL2UyNzAvZTI4MAorQVRUUntpZFZlbmRvcn09PSIwNzgxIiwgQVRUUntpZFByb2R1Y3R9PT0iNzQyMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2FuRGlzayBTYW5zYSBlMjYwL2UyODAgdjIKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0MjIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgbTI0MC9tMjUwCitBVFRSe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSe2lkUHJvZHVjdH09PSI3NDMwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW5EaXNrIFNhbnNhIENsaXAKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0MzIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgQ2xpcCB2MgorQVRUUntpZFZlbmRvcn09PSIwNzgxIiwgQVRUUntpZFByb2R1Y3R9PT0iNzQzNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2FuRGlzayBTYW5zYSBjMjQwL2MyNTAKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0NTAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgYzI1MCB2MgorQVRUUntpZFZlbmRvcn09PSIwNzgxIiwgQVRUUntpZFByb2R1Y3R9PT0iNzQ1MiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2FuRGlzayBTYW5zYSBFeHByZXNzCitBVFRSe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSe2lkUHJvZHVjdH09PSI3NDYwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW5EaXNrIFNhbnNhIENvbm5lY3QKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0ODAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgVmlldworQVRUUntpZFZlbmRvcn09PSIwNzgxIiwgQVRUUntpZFByb2R1Y3R9PT0iNzRiMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2FuRGlzayBTYW5zYSBGdXplCitBVFRSe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSe2lkUHJvZHVjdH09PSI3NGMwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTYW5EaXNrIFNhbnNhIEZ1emUgdjIKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0YzIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgQ2xpcCsKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0ZDAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgRnV6ZSsKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0ZTAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNhbkRpc2sgU2Fuc2EgQ2xpcCBaaXAKK0FUVFJ7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0ZTQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBIMzAwIFNlcmllcyBNVFAKK0FUVFJ7aWRWZW5kb3J9PT0iMTAwNiIsIEFUVFJ7aWRQcm9kdWN0fT09IjMwMDQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBQb3J0YWJsZSBNZWRpYSBDZW50ZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMTAwNiIsIEFUVFJ7aWRQcm9kdWN0fT09IjQwMDIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBQb3J0YWJsZSBNZWRpYSBDZW50ZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMTAwNiIsIEFUVFJ7aWRQcm9kdWN0fT09IjQwMDMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBUNyBWb2xjYW5vCitBVFRSe2lkVmVuZG9yfT09IjEwNDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTQzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgaUZQLTg4MAorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTAwOCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIFQxMAorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTExMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIFQyMCBGTQorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTExNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIFQyMAorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTExNSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIFUxMAorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTExNiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIFQxMGEKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjExMTciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBUMjAKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjExMTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBUMzAKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjExMTkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBUMTAgMkdCCitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTIwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgTjEyCitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTIyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgQ2xpeDIKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjExMjYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBDbGl4CitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTJhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgWDIwCitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTMyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgVDYwCitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTM0IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgRTEwMAorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTE0MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIEUxMDAgdjIvTHBsYXllcgorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMTE0MiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIFNwaW5uCitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTQ3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgRTUwCitBVFRSe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTUxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBpUml2ZXIgVDUKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjExNTMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBFMzAKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjExNjciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBIMTAgMjBHQgorQVRUUntpZFZlbmRvcn09PSI0MTAyIiwgQVRUUntpZFByb2R1Y3R9PT0iMjEwMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgaVJpdmVyIEgxMCA1R0IKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjIxMDIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIGlSaXZlciBIMTAgNS42R0IKK0FUVFJ7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjIxMDUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIERlbGwsIEluYyBESiBJdHR5CitBVFRSe2lkVmVuZG9yfT09IjQxM2MiLCBBVFRSe2lkUHJvZHVjdH09PSI0NTAwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBEZWxsLCBJbmMgRGVsbCBTdHJlYWsgNworQVRUUntpZFZlbmRvcn09PSI0MTNjIiwgQVRUUntpZFByb2R1Y3R9PT0iYjEwYiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVG9zaGliYSBHaWdhYmVhdCBNRUdGLTQwCitBVFRSe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDA5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUb3NoaWJhIEdpZ2FiZWF0CitBVFRSe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDBjIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUb3NoaWJhIEdpZ2FiZWF0IFAyMAorQVRUUntpZFZlbmRvcn09PSIwOTMwIiwgQVRUUntpZFByb2R1Y3R9PT0iMDAwZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVG9zaGliYSBHaWdhYmVhdCBTCitBVFRSe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDEwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUb3NoaWJhIEdpZ2FiZWF0IFAxMAorQVRUUntpZFZlbmRvcn09PSIwOTMwIiwgQVRUUntpZFByb2R1Y3R9PT0iMDAxMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVG9zaGliYSBHaWdhYmVhdCBWMzAKK0FUVFJ7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMTQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRvc2hpYmEgR2lnYWJlYXQgVQorQVRUUntpZFZlbmRvcn09PSIwOTMwIiwgQVRUUntpZFByb2R1Y3R9PT0iMDAxNiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVG9zaGliYSBHaWdhYmVhdCBNRVUyMDIKK0FUVFJ7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRvc2hpYmEgR2lnYWJlYXQgVAorQVRUUntpZFZlbmRvcn09PSIwOTMwIiwgQVRUUntpZFByb2R1Y3R9PT0iMDAxOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVG9zaGliYSBHaWdhYmVhdCBNRVUyMDEKK0FUVFJ7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMWEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRvc2hpYmEgR2lnYWJlYXQgTUVUNDAxCitBVFRSe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDFkIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUb3NoaWJhIEV4Y2l0ZSBBVDMwMAorQVRUUntpZFZlbmRvcn09PSIwOTMwIiwgQVRUUntpZFByb2R1Y3R9PT0iMDk2MyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVG9zaGliYSBUaHJpdmUgQVQxMDAvQVQxMDUKK0FUVFJ7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJ7aWRQcm9kdWN0fT09IjcxMDAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyBHbWluaSBYUzEwMAorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTIwNyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIFhTMjAyIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEyMDgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyAxMDQgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTIwYSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDIwNCAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxMjBjIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNDA0IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA0MDRDQU0gKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTMwMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDUwNCAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxMzA3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNjA0IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMDkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA2MDRXSUZJIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMGIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA3MDQgbW9iaWxlIGR2cgorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTMwZCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDcwNFRWIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMGYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA0MDUgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTMxMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDYwNSAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxMzEzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNjA1RiAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxMzE1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNzA1IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMTkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyBUVisgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTMxYiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDEwNSAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxMzFkIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNDA1SEREIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMjEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA1IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMzEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA1IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMzMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA3IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMzUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyBTUE9EIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzNDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA1UyBJVCAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxMzUxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNUggSVQgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTM1NyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIEFybm92YSBDaGlsZHBhZAorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTQ1OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDhvIEc5IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjE1MDgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFyY2hvcyA4byBHOSBUdXJibyAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxNTA5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgODBHOQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTUxOCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDEwMSBHOQorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTUyOCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDEwMSBHOSAodjIpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxNTI5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgMTAxIEc5IFR1cmJvIDI1MCBIRAorQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTUzOCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDEwMSBHOSBUdXJibworQVRUUntpZFZlbmRvcn09PSIwZTc5IiwgQVRUUntpZFByb2R1Y3R9PT0iMTUzOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXJjaG9zIDcwaXQyIChtb2RlIDEpCitBVFRSe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSe2lkUHJvZHVjdH09PSIxNTY4IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcmNob3MgNzBpdDIgKG1vZGUgMikKK0FUVFJ7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJ7aWRQcm9kdWN0fT09IjE1NjkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIER1bmxvcCBNUDMgcGxheWVyIDFHQiAvIEVHT01BTiBNRDIyM0FGRAorQVRUUntpZFZlbmRvcn09PSIxMGQ2IiwgQVRUUntpZFByb2R1Y3R9PT0iMjIwMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWVtb3JleCBvciBpUml2ZXIgTU1QIDg1ODUvODU4NiBvciBpUml2ZXIgRTIwMAorQVRUUntpZFZlbmRvcn09PSIxMGQ2IiwgQVRUUntpZFByb2R1Y3R9PT0iMjMwMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2lyaXVzIFN0aWxldHRvCitBVFRSe2lkVmVuZG9yfT09IjE4ZjYiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTaXJpdXMgU3RpbGV0dG8gMgorQVRUUntpZFZlbmRvcn09PSIxOGY2IiwgQVRUUntpZFByb2R1Y3R9PT0iMDExMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ2Fub24gSXh1cyBEaWdpdGFsIDcwMCAoUFRQL01UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwNGE5IiwgQVRUUntpZFByb2R1Y3R9PT0iMzBmMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ2Fub24gUG93ZXJTaG90IEE2NDAgKFBUUC9NVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMDRhOSIsIEFUVFJ7aWRQcm9kdWN0fT09IjMxMzkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENhbm9uIFBvd2VyU2hvdCBTWDIwSVMgKFBUUC9NVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMDRhOSIsIEFUVFJ7aWRQcm9kdWN0fT09IjMxZTQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIE44MSBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMGEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIDYxMjBjIENsYXNzaWMgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDJlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBOOTYgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDM5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSA2NTAwYyBDbGFzc2ljIE1vYmlsZSBQaG9uZQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDAzYyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgMzExMGMgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDVmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSAzMTA5YyBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwNjUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIDUzMTAgWHByZXNzTXVzaWMKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwNmMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIE45NSBNb2JpbGUgUGhvbmUgOEdCCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDZlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBOODIgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDc0IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBONzggTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDc5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSA2MjIwIENsYXNzaWMKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwOGQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIE44NSBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwOTIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIDYyMTAgTmF2aWdhdG9yCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDk4IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBFNzEKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwZTQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIEU2NgorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDBlNSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgNTMyMCBYcHJlc3NNdXNpYworQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDBlYSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgNTgwMCBYcHJlc3NNdXNpYworQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE1NCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgNTgwMCBYcHJlc3NNdXNpYyB2MgorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE1NSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgNTgwMCBYcHJlc3NNdXNpYyB2MworQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE1OSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgRTYzCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTc5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBONzkKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxODYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIEU3MXgKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxYTEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIEU1MgorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDFjZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgMzcxMAorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDFlZSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgTjk3LTEKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxZjQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIE45NworQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDFmNSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgNTEzMCBYcHJlc3NNdXNpYworQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDIwOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgRTcyCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMjIxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSA1NTMwCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMjI5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBOOTcgbWluaQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDI2YiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgWDYKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAyNzQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIDY2MDBpCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMjk3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSAyNzEwCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMmMxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSA1MjMwCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwMmUyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBOOAorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDJmZSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgTjggKE92aSBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDMwMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgRTcKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzMzQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIEU3IChPdmkgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzMzUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIEM3CitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwM2MxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBDNyAoSUQyKQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDNjZCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgTjk1MAorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDNkMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgMzI1MCBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0NjIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIE45MyBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0NzgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIDU1MDAgU3BvcnQgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNDdlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBOOTEgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNDg1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSA1NzAwIFhwcmVzc011c2ljIE1vYmlsZSBQaG9uZQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDRiNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgNTMwMCBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0YmEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIDUyMDAgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNGJlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBONzMgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNGQxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBONzUgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNGUxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSBOOTNpIE1vYmlsZSBQaG9uZQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDRlNSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgTjk1IE1vYmlsZSBQaG9uZQorQVRUUntpZFZlbmRvcn09PSIwNDIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDRlZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTm9raWEgTjgwIEludGVybmV0IEVkaXRpb24gKE1lZGlhIFBsYXllcikKK0FUVFJ7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0ZjEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5va2lhIE45CitBVFRSe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNTFhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYSA1NTMwIFhwcmVzc211c2ljCitBVFRSe2lkVmVuZG9yfT09IjA1YzYiLCBBVFRSe2lkUHJvZHVjdH09PSIwMjI5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb2tpYS9WZXJpem9uIDYyMDUgQmFsYm9hL1Zlcml6b24gTXVzaWMgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMDVjNiIsIEFUVFJ7aWRQcm9kdWN0fT09IjMxOTYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIExvZ2lrIExPRyBEQVggTVAzIGFuZCBEQUIgUGxheWVyCitBVFRSe2lkVmVuZG9yfT09IjEzZDEiLCBBVFRSe2lkUHJvZHVjdH09PSI3MDAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUZWNobmlrYSBNUC03MDkKK0FUVFJ7aWRWZW5kb3J9PT0iMTNkMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjcwMTciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRob21zb24gRU0yOCBTZXJpZXMKK0FUVFJ7aWRWZW5kb3J9PT0iMDY5YiIsIEFUVFJ7aWRQcm9kdWN0fT09IjA3NzQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRob21zb24gLyBSQ0EgT3BhbCAvIEx5cmEgTUM0MDAyCitBVFRSe2lkVmVuZG9yfT09IjA2OWIiLCBBVFRSe2lkUHJvZHVjdH09PSIwNzc3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUaG9tc29uIEx5cmEgTUM1MTA0QiAoTTUxIFNlcmllcykKK0FUVFJ7aWRWZW5kb3J9PT0iMDY5YiIsIEFUVFJ7aWRQcm9kdWN0fT09IjA3N2MiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRob21zb24gUkNBIEgxMDYKK0FUVFJ7aWRWZW5kb3J9PT0iMDY5YiIsIEFUVFJ7aWRQcm9kdWN0fT09IjMwMWEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRob21zb24gc2Nlbml1bSBFMzA4CitBVFRSe2lkVmVuZG9yfT09IjA2OWIiLCBBVFRSe2lkUHJvZHVjdH09PSIzMDI4IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUaG9tc29uIC8gUkNBIEx5cmEgSEMzMDhBCitBVFRSe2lkVmVuZG9yfT09IjA2OWIiLCBBVFRSe2lkUHJvZHVjdH09PSIzMDM1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBGT01BIEY5MDNpWCBISUdILVNQRUVECitBVFRSe2lkVmVuZG9yfT09IjA0YzUiLCBBVFRSe2lkUHJvZHVjdH09PSIxMTQwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOb3JtU29mdCwgSW5jLiBQb2NrZXQgVHVuZXMKK0FUVFJ7aWRWZW5kb3J9PT0iMTcwMyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5vcm1Tb2Z0LCBJbmMuIFBvY2tldCBUdW5lcyA0CitBVFRSe2lkVmVuZG9yfT09IjE3MDMiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUcmVrU3RvciBWaWJleiA4LzEyR0IKK0FUVFJ7aWRWZW5kb3J9PT0iMDY2ZiIsIEFUVFJ7aWRQcm9kdWN0fT09Ijg0MmEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1lZGlvbiBNRDgzMzMKK0FUVFJ7aWRWZW5kb3J9PT0iMDY2ZiIsIEFUVFJ7aWRQcm9kdWN0fT09Ijg1NTAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1lZGlvbiBNRDgzMzMKK0FUVFJ7aWRWZW5kb3J9PT0iMDY2ZiIsIEFUVFJ7aWRQcm9kdWN0fT09Ijg1ODgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1lZGlvbiBNRDk5MDAwIChQOTUxNCkvT2xpdmV0dGkgT2xpcGFkIDExMAorQVRUUntpZFZlbmRvcn09PSIwNDA4IiwgQVRUUntpZFByb2R1Y3R9PT0iYjAwOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWVkaW9uIExpZmV0YWIgUDk1MTQKK0FUVFJ7aWRWZW5kb3J9PT0iMDQwOCIsIEFUVFJ7aWRQcm9kdWN0fT09ImIwMGEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1heGZpZWxkIEctRmxhc2ggTkcgMUdCCitBVFRSe2lkVmVuZG9yfT09IjA2NmYiLCBBVFRSe2lkUHJvZHVjdH09PSI4NDZjIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTaWdtYVRlbCBJbmMuIE1UUE1TQ04gQXVkaW8gUGxheWVyCitBVFRSe2lkVmVuZG9yfT09IjA2NmYiLCBBVFRSe2lkUHJvZHVjdH09PSJhMDEwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBUcmVrU3RvciBpLkJlYXQgU3dlZXogRk0KK0FUVFJ7aWRWZW5kb3J9PT0iMDQwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjA2MTEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFRyZWtTdG9yIGkuQmVhdCBPcmdhbml4IDIuMAorQVRUUntpZFZlbmRvcn09PSIxZTY4IiwgQVRUUntpZFByb2R1Y3R9PT0iMDAwMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgRGlzbmV5IE1peE1heAorQVRUUntpZFZlbmRvcn09PSIwYWE2IiwgQVRUUntpZFByb2R1Y3R9PT0iNjAyMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVGV2aW9uIE1EIDgxNDg4CitBVFRSe2lkVmVuZG9yfT09IjBhYTYiLCBBVFRSe2lkUHJvZHVjdH09PSIzMDExIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNeU11c2l4IFBELTYwNzAKK0FUVFJ7aWRWZW5kb3J9PT0iMGFhNiIsIEFUVFJ7aWRQcm9kdWN0fT09Ijk2MDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENvd29uIGlBdWRpbyBVMyAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNzAxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb3dvbiBpQXVkaW8gNiAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNzExIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb3dvbiBpQXVkaW8gNyAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwNzUxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb3dvbiBpQXVkaW8gVTUgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDc2MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ293b24gaUF1ZGlvIEQyIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA4MDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENvd29uIGlBdWRpbyBEMisgRlcgMi54IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA4NjEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENvd29uIGlBdWRpbyBEMisgREFCIEZXIDQueCAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwODcxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb3dvbiBpQXVkaW8gRDIrIEZXIDMueCAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwODgxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb3dvbiBpQXVkaW8gRDIrIERNQiBGVyAxLnggKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDg5MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ293b24gaUF1ZGlvIFM5IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA5MDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENvd29uIGlBdWRpbyA5IChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA5MTEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENvd29uIGlBdWRpbyBKMyAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwOTIxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb3dvbiBpQXVkaW8gWDcgKE1UUCBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZTIxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDkzMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQ293b24gaUF1ZGlvIEMyIChNVFAgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjA5NDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIENvd29uIGlBdWRpbyAxMCAoTVRQIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSe2lkUHJvZHVjdH09PSIwOTUyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBJbnNpZ25pYSBOUy1EVjQ1CitBVFRSe2lkVmVuZG9yfT09IjE5ZmYiLCBBVFRSe2lkUHJvZHVjdH09PSIwMzAzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBJbnNpZ25pYSBTcG9ydCBQbGF5ZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMTlmZiIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzMDciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEluc2lnbmlhIFBpbG90IDRHQgorQVRUUntpZFZlbmRvcn09PSIxOWZmIiwgQVRUUntpZFByb2R1Y3R9PT0iMDMwOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTEcgRWxlY3Ryb25pY3MgSW5jLiBUNTQKK0FUVFJ7aWRWZW5kb3J9PT0iMDQzZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjcwNDAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIExHIEVsZWN0cm9uaWNzIEluYy4gVVAzCitBVFRSe2lkVmVuZG9yfT09IjA0M2UiLCBBVFRSe2lkUHJvZHVjdH09PSI3MGIxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBMRyBFbGVjdHJvbmljcyBJbmMuIFZYODU1MCBWIENBU1QgTW9iaWxlIFBob25lCitBVFRSe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSe2lkUHJvZHVjdH09PSI2MDEwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBMRyBFbGVjdHJvbmljcyBJbmMuIEtDOTEwIFJlbm9pciBNb2JpbGUgUGhvbmUKK0FUVFJ7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJ7aWRQcm9kdWN0fT09IjYwOGYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIExHIEVsZWN0cm9uaWNzIEluYy4gR1ItNTAwIE11c2ljIFBsYXllcgorQVRUUntpZFZlbmRvcn09PSIxMDA0IiwgQVRUUntpZFByb2R1Y3R9PT0iNjExYiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTEcgRWxlY3Ryb25pY3MgSW5jLiBLTTkwMAorQVRUUntpZFZlbmRvcn09PSIxMDA0IiwgQVRUUntpZFByb2R1Y3R9PT0iNjEzMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTEcgRWxlY3Ryb25pY3MgSW5jLiBMRzg1NzUKK0FUVFJ7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJ7aWRQcm9kdWN0fT09IjYxOWEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIExHIEVsZWN0cm9uaWNzIEluYy4gVjkwOSBHLVNsYXRlCitBVFRSe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSe2lkUHJvZHVjdH09PSI2MWY5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBMRyBFbGVjdHJvbmljcyBJbmMuIExHLUU2MTdHL1A3MDAKK0FUVFJ7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJ7aWRQcm9kdWN0fT09IjYzMWMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otQTgxNS9OV1otQTgxOAorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDMyNSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1TNTE2CitBVFRSe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSe2lkUHJvZHVjdH09PSIwMzI2IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255IFdhbGttYW4gTldaLVM2MTVGL05XWi1TNjE2Ri9OV1otUzYxOEYKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzMjciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otUzcxNkYKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzNWEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otQTgyNi9OV1otQTgyOC9OV1otQTgyOQorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDM1YiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1BNzI2L05XWi1BNzI4L05XWi1BNzY4CitBVFRSe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSe2lkUHJvZHVjdH09PSIwMzVjIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255IFdhbGttYW4gTldaLUIxMzUKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzNmUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otRTQzNkYKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzODUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otVzIwMgorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDM4OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1TNzM5RgorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDM4YyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1TNjM4RgorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDM4ZSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1YMTA1MEIvTldaLVgxMDYwQgorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDM5NyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1YMTA1MS9OV1otWDEwNjEKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzOTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otQjE0MkYKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzZDgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otRTM0NAorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDNmYyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1FNDQ1CitBVFRSe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSe2lkUHJvZHVjdH09PSIwM2ZkIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255IFdhbGttYW4gTldaLVM1NDUKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAzZmUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgV2Fsa21hbiBOV1otQTg0NQorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDQwNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1XMjUyQgorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDRiYiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1CMTUzRgorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDRiZSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBXYWxrbWFuIE5XWi1FMzU0CitBVFRSe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSe2lkUHJvZHVjdH09PSIwNGNiIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255IFdhbGttYW4gTldaLVM3NTQKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjA0Y2MiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgTldaLUIxNjNGCitBVFRSe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSe2lkUHJvZHVjdH09PSIwNTlhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255IFdhbGttYW4gTldaLUU0NjQKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjA1YTYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgTldaLVM3NjUKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJ7aWRQcm9kdWN0fT09IjA1YTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnkgU29ueSBUYWJsZXQgUworQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDViMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBTb255IFRhYmxldCBTMQorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMDViNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueSBEQ1ItU1I3NQorQVRUUntpZFZlbmRvcn09PSIwNTRjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTI5NCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIEs4NTBpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDc1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVzkxMAorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDA3NiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFc4OTBpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMGIzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVzc2MGkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwYzYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBDOTAyCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMGQ0IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gQzcwMgorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDBkOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFc5ODAKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwZGEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBDOTA1CitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMGVmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVzU5NQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDBmMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFc5MDIKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwZjUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBUNzAwCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMGZiIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVzcwNS9XNzE1CitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTA1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVzk5NQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDExMiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFU1CitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTMzIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVThpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTNhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gajEwaTIgKEVsbSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNDQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBqMTA4aSAoQ2VkYXIpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTRlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gVzMwMgorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMTBjOCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIGoxMGkgKEVsbSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09ImQxNDQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBLNTUwaQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iZTAwMCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIExUMTVpIChYcGVyaWEgYXJjIFMpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTRmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gTVQxMWkgWHBlcmlhIE5lbworQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE1NiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIE1LMTZpIFhwZXJpYQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE1YSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFNUMThhIFhwZXJpYSBSYXkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNjEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBTSzE3aSBYcGVyaWEgTWluaSBQcm8KK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNjYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBTVDE1aSBYcGVyaWEgTWluaQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDE2NyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFNUMTdpIFhwZXJpYSBBY3RpdmUKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNjgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgTFQyNmkgWHBlcmlhIFMKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNjkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgV1QxOWkgTGl2ZSBXYWxrbWFuCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTZkIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIFNUMjFpIFhwZXJpYSBUaXBvCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTcwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIFNUMTVpIFhwZXJpYSBVCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTcxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIExUMjJpIFhwZXJpYSBQCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSIwMTcyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIExUMjZ3IFhwZXJpYSBBY3JvIFMKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxNzYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBTVDE3aSBYcGVyaWEgQWN0aXZlIChNVFArVU1TIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTY4IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIExUMjZpIFhwZXJpYSBTIChNVFArVU1TIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTY5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIFNUMjFpIFhwZXJpYSBUaXBvIChNVFArVU1TIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTcwIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIFNUMjVpIFhwZXJpYSBVIChNVFArVU1TIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTcxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIExUMjJpIFhwZXJpYSBQIChNVFArVU1TIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI0MTcyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIExUMjZ3IFhwZXJpYSBBY3JvIFMgKE1UUCtVTVMgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxNzYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBMVDE1aSBYcGVyaWEgQXJjIChNVFArQURCIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI1MTRmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gTVQxMWkgWHBlcmlhIE5lbyAoTVRQK0FEQiBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iNTE1NiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU29ueUVyaWNzc29uIFNUMTdpIFhwZXJpYSBBY3RpdmUgKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNjgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgTFQyNmkgWHBlcmlhIFMgKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNjkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBNSzE2aSBYcGVyaWEgKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNWEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBTVDE4aSBYcGVyaWEgUmF5IChNVFArQURCIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI1MTYxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gU0sxN2kgWHBlcmlhIE1pbmkgUHJvIChNVFArQURCIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSI1MTY2IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTb255RXJpY3Nzb24gU1QxNWkgWHBlcmlhIE1pbmkgKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNjciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNvbnlFcmljc3NvbiBTSzE3aSBYcGVyaWEgTWluaSBQcm8gKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNmQiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgU1QyMWkgWHBlcmlhIFRpcG8gKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNzAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgU1QyNWkgWHBlcmlhIFUgKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNzEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgTFQyMmkgWHBlcmlhIFAgKE1UUCtBREIgbW9kZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJ7aWRQcm9kdWN0fT09IjUxNzIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFNPTlkgTFQyNncgWHBlcmlhIEFjcm8gUyAoTVRQK0FEQiBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwZmNlIiwgQVRUUntpZFByb2R1Y3R9PT0iNTE3NiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU09OWSBNVDI3aSBYcGVyaWEgU29sYSAoTVRQK1VNUys/IG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSJhMTczIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBTT05ZIFNUMjdpIFhwZXJpYSBHbyAoTVRQK1VNUys/IG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSe2lkUHJvZHVjdH09PSJhMTdlIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNb3Rvcm9sYSBWM20vVjc1MCB2ZXJpem9uCitBVFRSe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSe2lkUHJvZHVjdH09PSIyYTY1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNb3Rvcm9sYSBYb29tIDIgTWVkaWEgRWRpdGlvbiAoSUQyKQorQVRUUntpZFZlbmRvcn09PSIyMmI4IiwgQVRUUntpZFByb2R1Y3R9PT0iNDFjZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTW90b3JvbGEgRHJvaWQgWC9NQjUyNSAoRGVmeSkKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxZDYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIE1pbGVzdG9uZSAvIFZlcml6b24gRHJvaWQKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjQxZGMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIERST0lEMgorQVRUUntpZFZlbmRvcn09PSIyMmI4IiwgQVRUUntpZFByb2R1Y3R9PT0iNDJhNyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTW90b3JvbGEgWG9vbSAyIE1lZGlhIEVkaXRpb24KK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjQzMTEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIFhUOTEyL1hUOTI4CitBVFRSe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSe2lkUHJvZHVjdH09PSI0MzYyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNb3Rvcm9sYSBEUk9JRDQKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjQzN2YiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIElkZWFQYWQgSzEKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjQ4MTEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIEExMjAwCitBVFRSe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSe2lkUHJvZHVjdH09PSI2MGNhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNb3Rvcm9sYSBNVFAgVGVzdCBDb21tYW5kIEludGVyZmFjZQorQVRUUntpZFZlbmRvcn09PSIyMmI4IiwgQVRUUntpZFByb2R1Y3R9PT0iNjQxMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTW90b3JvbGEgUkFaUjIgVjgvVTkvWjYKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjY0MTUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIFhvb20gKEZhY3RvcnkgdGVzdCkKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjcwYTMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIFhvb20gKE1UUCkKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjcwYTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE1vdG9yb2xhIFhvb20gKE1UUCtBREIpCitBVFRSe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSe2lkUHJvZHVjdH09PSI3MGE5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBNb3Rvcm9sYSBNaWxlc3RvbmUgWDIKK0FUVFJ7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJ7aWRQcm9kdWN0fT09IjcwY2EiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEdvb2dsZSBJbmMgKGZvciBTb255KSBTMQorQVRUUntpZFZlbmRvcn09PSIxOGQxIiwgQVRUUntpZFByb2R1Y3R9PT0iMDViMyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgR29vZ2xlIEluYyAoZm9yIEJhcm5lcyAmIE5vYmxlKSBOb29rIENvbG9yCitBVFRSe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSe2lkUHJvZHVjdH09PSIyZDAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBHb29nbGUgSW5jIChmb3IgQXN1cykgVEYxMDEgVHJhbnNmb3JtZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjRlMGYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEdvb2dsZSBJbmMgKGZvciBTYW1zdW5nKSBOZXh1cyBTCitBVFRSe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSe2lkUHJvZHVjdH09PSI0ZTIxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBHb29nbGUgSW5jIChmb3IgQXN1cykgTmV4dXMgNyAoTVRQKQorQVRUUntpZFZlbmRvcn09PSIxOGQxIiwgQVRUUntpZFByb2R1Y3R9PT0iNGU0MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgR29vZ2xlIEluYyAoZm9yIEFzdXMpIE5leHVzIDcgKE1UUCtBREIpCitBVFRSe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSe2lkUHJvZHVjdH09PSI0ZTQyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBHb29nbGUgSW5jIChmb3IgTW90b3JvbGEpIFhvb20gKE1aNjA0KQorQVRUUntpZFZlbmRvcn09PSIxOGQxIiwgQVRUUntpZFByb2R1Y3R9PT0iNzBhOCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgR29vZ2xlIEluYyAoZm9yIFRvc2hpYmEpIFRocml2ZSA3L0FUMTA1CitBVFRSe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSe2lkUHJvZHVjdH09PSI3MTAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBHb29nbGUgSW5jIChmb3IgTGVub3ZvKSBJZGVhcGFkIEsxCitBVFRSe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSe2lkUHJvZHVjdH09PSI3NDBhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBHb29nbGUgSW5jIChmb3IgTWVkaW9uKSBNRDk5MDAwIChQOTUxNCkKK0FUVFJ7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJ7aWRQcm9kdWN0fT09ImIwMGEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEdvb2dsZSBJbmMgKGZvciBMRyBFbGVjdHJvbmljcykgUDk5MC9PcHRpbXVzIChDeWFub2dlbikKK0FUVFJ7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJ7aWRQcm9kdWN0fT09ImQxMDkiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEdvb2dsZSBJbmMgKGZvciBMRyBFbGVjdHJvbmljcykgUDk5MC9PcHRpbXVzCitBVFRSe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSe2lkUHJvZHVjdH09PSJkMTBhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBLZW53b29kIE1lZGlhIEtlZyBIRDEwR0I3IFNwb3J0IFBsYXllcgorQVRUUntpZFZlbmRvcn09PSIwYjI4IiwgQVRUUntpZFByb2R1Y3R9PT0iMTAwYyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgTWljcm8tU3RhciBJbnRlcm5hdGlvbmFsIFA2MTAvTW9kZWwgTVMtNTU1NworQVRUUntpZFZlbmRvcn09PSIwZGIwIiwgQVRUUntpZFByb2R1Y3R9PT0iNTU3MiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgRk9NQSBEOTA1aQorQVRUUntpZFZlbmRvcn09PSIwNmQzIiwgQVRUUntpZFByb2R1Y3R9PT0iMjFiYSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgSGFpZXIgSWJpemEgUmhhcHNvZHkKK0FUVFJ7aWRWZW5kb3J9PT0iMTMwMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjEwMTYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEhhaWVyIEliaXphIFJoYXBzb2R5CitBVFRSe2lkVmVuZG9yfT09IjEzMDIiLCBBVFRSe2lkUHJvZHVjdH09PSIxMDE3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBQYW5hc29uaWMgUDkwNWkKK0FUVFJ7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJ7aWRQcm9kdWN0fT09IjIxNDUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBhbmFzb25pYyBQOTA2aQorQVRUUntpZFZlbmRvcn09PSIwNGRhIiwgQVRUUntpZFByb2R1Y3R9PT0iMjE1OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgUG9sYXJvaWQgRnJlZXNjYXBlL01QVS00MzMxNTgKK0FUVFJ7aWRWZW5kb3J9PT0iMDU0NiIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwMzUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBpb25lZXIgWE1QMworQVRUUntpZFZlbmRvcn09PSIwOGU0IiwgQVRUUntpZFByb2R1Y3R9PT0iMDE0OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgU2xhY2tlciBJbmMuIFNsYWNrZXIgUG9ydGFibGUgTWVkaWEgUGxheWVyCitBVFRSe2lkVmVuZG9yfT09IjFiZGMiLCBBVFRSe2lkUHJvZHVjdH09PSJmYWJmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb25jZXB0cm9uaWMgQ01URDIKK0FUVFJ7aWRWZW5kb3J9PT0iMWU1MyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMDUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE8yIFNpc3RlbWFzIFpvbHRhclRWCitBVFRSe2lkVmVuZG9yfT09IjFlNTMiLCBBVFRSe2lkUHJvZHVjdH09PSIwMDA2IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBXeXBsYXkgV3lwbGF5ZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMWU1MyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMDciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFBlcmNlcHRpb24gRGlnaXRhbCwgTHRkIEdpZ2F3YXJlIEdYNDAwCitBVFRSe2lkVmVuZG9yfT09IjBhYTYiLCBBVFRSe2lkUHJvZHVjdH09PSI5NzAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBSSU0gQmxhY2tCZXJyeSBTdG9ybS85NjUwCitBVFRSe2lkVmVuZG9yfT09IjBmY2EiLCBBVFRSe2lkUHJvZHVjdH09PSI4MDA3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBOZXh0YXIgTUE3MTVBLThSCitBVFRSe2lkVmVuZG9yfT09IjA0MDIiLCBBVFRSe2lkUHJvZHVjdH09PSI1NjY4IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDb2J5IENPQlkgTVA3MDUKK0FUVFJ7aWRWZW5kb3J9PT0iMWU3NCIsIEFUVFJ7aWRQcm9kdWN0fT09IjY1MTIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFwcGxlIGlQaG9uZQorQVRUUntpZFZlbmRvcn09PSIwNWFjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTI5MCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXBwbGUgaVBvZCBUb3VjaCAxc3QgR2VuCitBVFRSe2lkVmVuZG9yfT09IjA1YWMiLCBBVFRSe2lkUHJvZHVjdH09PSIxMjkxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcHBsZSBpUGhvbmUgM0cKK0FUVFJ7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJ7aWRQcm9kdWN0fT09IjEyOTIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFwcGxlIGlQb2QgVG91Y2ggMm5kIEdlbgorQVRUUntpZFZlbmRvcn09PSIwNWFjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTI5MyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXBwbGUgaVBob25lIDNHUworQVRUUntpZFZlbmRvcn09PSIwNWFjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTI5NCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXBwbGUgMHgxMjk2CitBVFRSe2lkVmVuZG9yfT09IjA1YWMiLCBBVFRSe2lkUHJvZHVjdH09PSIxMjk2IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcHBsZSAweDEyOTcKK0FUVFJ7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJ7aWRQcm9kdWN0fT09IjEyOTciLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFwcGxlIDB4MTI5OAorQVRUUntpZFZlbmRvcn09PSIwNWFjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTI5OCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXBwbGUgaVBvZCBUb3VjaCAzcmQgR2VuCitBVFRSe2lkVmVuZG9yfT09IjA1YWMiLCBBVFRSe2lkUHJvZHVjdH09PSIxMjk5IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBcHBsZSBpUGFkCitBVFRSe2lkVmVuZG9yfT09IjA1YWMiLCBBVFRSe2lkUHJvZHVjdH09PSIxMjlhIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBDdXJpdGVsIENvbW11bmljYXRpb25zLCBJbmMuIFZlcml6b24gV2lyZWxlc3MgRGV2aWNlCitBVFRSe2lkVmVuZG9yfT09IjEwNmMiLCBBVFRSe2lkUHJvZHVjdH09PSIzMjE1IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBQYW50ZWNoIENydXgKK0FUVFJ7aWRWZW5kb3J9PT0iMTA2YyIsIEFUVFJ7aWRQcm9kdWN0fT09ImYwMDMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFzdXMgVEYzMDAgVHJhbnNmb3JtZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJ7aWRQcm9kdWN0fT09IjRjODAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFzdXMgVEYzMDAgVHJhbnNmb3JtZXIgKFVTQiBkZWJ1ZyBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwYjA1IiwgQVRUUntpZFByb2R1Y3R9PT0iNGM4MSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXN1cyBURjcwMCBUcmFuc2Zvcm1lcgorQVRUUntpZFZlbmRvcn09PSIwYjA1IiwgQVRUUntpZFByb2R1Y3R9PT0iNGM5MCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXN1cyBURjIwMSBUcmFuc2Zvcm1lciBQcmltZSAoa2V5Ym9hcmQgZG9jaykKK0FUVFJ7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJ7aWRQcm9kdWN0fT09IjRkMDAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEFzdXMgVEYyMDEgVHJhbnNmb3JtZXIgUHJpbWUgKHRhYmxldCBvbmx5KQorQVRUUntpZFZlbmRvcn09PSIwYjA1IiwgQVRUUntpZFByb2R1Y3R9PT0iNGQwMSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXN1cyBURlhYWCBUcmFuc2Zvcm1lciBQcmltZSAodW5rbm93biB2ZXJzaW9uKQorQVRUUntpZFZlbmRvcn09PSIwYjA1IiwgQVRUUntpZFByb2R1Y3R9PT0iNGQwNCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXN1cyBURjEwMSBFZWVwYWQgU2xpZGVyCitBVFRSe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSe2lkUHJvZHVjdH09PSI0ZTAxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBBc3VzIFRGMTAxIEVlZXBhZCBUcmFuc2Zvcm1lcgorQVRUUntpZFZlbmRvcn09PSIwYjA1IiwgQVRUUntpZFByb2R1Y3R9PT0iNGUwZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgQXN1cyBURjEwMSBFZWVwYWQgVHJhbnNmb3JtZXIgKGRlYnVnIG1vZGUpCitBVFRSe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSe2lkUHJvZHVjdH09PSI0ZTFmIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBMZW5vdm8gSzEKK0FUVFJ7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0MGEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIExlbm92byBUaGlua1BhZCBUYWJsZXQKK0FUVFJ7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJ7aWRQcm9kdWN0fT09Ijc0MWMiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIExlbm92byBQNzAwCitBVFRSe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSe2lkUHJvZHVjdH09PSI3NDk3IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBMZW5vdm8gTGlmZXRhYiBTOTUxMgorQVRUUntpZFZlbmRvcn09PSIxN2VmIiwgQVRUUntpZFByb2R1Y3R9PT0iNzRjYyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgSHVhd2VpIEhvbm9yIFU4ODYwCitBVFRSe2lkVmVuZG9yfT09IjEyZDEiLCBBVFRSe2lkUHJvZHVjdH09PSIxMDUxIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBIdWF3ZWkgTWVkaWFwYWQgKG1vZGUgMCkKK0FUVFJ7aWRWZW5kb3J9PT0iMTJkMSIsIEFUVFJ7aWRQcm9kdWN0fT09IjM2MGYiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEh1YXdlaSBNZWRpYXBhZCAobW9kZSAxKQorQVRUUntpZFZlbmRvcn09PSIxMmQxIiwgQVRUUntpZFByb2R1Y3R9PT0iMzYxZiIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgWlRFIFY1NSBJRCAxCitBVFRSe2lkVmVuZG9yfT09IjE5ZDIiLCBBVFRSe2lkUHJvZHVjdH09PSIwMjQ0IiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBaVEUgVjU1IElEIDIKK0FUVFJ7aWRWZW5kb3J9PT0iMTlkMiIsIEFUVFJ7aWRQcm9kdWN0fT09IjAyNDUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEhUQyBab3BvIFpQMTAwIChJRDEpCitBVFRSe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSe2lkUHJvZHVjdH09PSIwYzAyIiwgU1lNTElOSys9ImxpYm10cC0layIsIE1PREU9IjY2MCIsIEdST1VQPSJhdWRpbyIsIEVOVntJRF9NVFBfREVWSUNFfT0iMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIgorIyBIVEMgRVZPIDRHIExURQorQVRUUntpZFZlbmRvcn09PSIwYmI0IiwgQVRUUntpZFByb2R1Y3R9PT0iMGM5MyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgSFRDIEVWTyA0RyBMVEUgKHNlY29uZCBJRCkKK0FUVFJ7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJ7aWRQcm9kdWN0fT09IjBjYTgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIEhld2xldHQtUGFja2FyZCBIUCBUb3VjaHBhZAorQVRUUntpZFZlbmRvcn09PSIwYmI0IiwgQVRUUntpZFByb2R1Y3R9PT0iNjg1YyIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgSGV3bGV0dC1QYWNrYXJkIEhQIFRvdWNocGFkIChkZWJ1ZyBtb2RlKQorQVRUUntpZFZlbmRvcn09PSIwYmI0IiwgQVRUUntpZFByb2R1Y3R9PT0iNjg2MCIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgSFRDIFpvcG8gWlAxMDAgKElEMikKK0FUVFJ7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwMDgiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIE5FQyBGT01BIE4wMUEKK0FUVFJ7aWRWZW5kb3J9PT0iMDQwOSIsIEFUVFJ7aWRQcm9kdWN0fT09IjAyNDIiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIG5WaWRpYSBDTTktQWRhbQorQVRUUntpZFZlbmRvcn09PSIwOTU1IiwgQVRUUntpZFByb2R1Y3R9PT0iNzBhOSIsIFNZTUxJTksrPSJsaWJtdHAtJWsiLCBNT0RFPSI2NjAiLCBHUk9VUD0iYXVkaW8iLCBFTlZ7SURfTVRQX0RFVklDRX09IjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIKKyMgVml6aW8gVlRBQjEwMDgKK0FUVFJ7aWRWZW5kb3J9PT0iMDQ4OSIsIEFUVFJ7aWRQcm9kdWN0fT09ImUwNDAiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIFZhcmlvdXMgVmlld3BpYSBEUi9icSBLZXBsZXIKK0FUVFJ7aWRWZW5kb3J9PT0iMjIwNyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAwMDEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisjIElzYWJlbGxhIEhlciBQcm90b3R5cGUKK0FUVFJ7aWRWZW5kb3J9PT0iMGIyMCIsIEFUVFJ7aWRQcm9kdWN0fT09ImRkZWUiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisKKyMgQXV0b3Byb2JlIHZlbmRvci1zcGVjaWZpYywgY29tbXVuaWNhdGlvbiBhbmQgUFRQIGRldmljZXMKK0VOVntJRF9NVFBfREVWSUNFfSE9IjEiLCBFTlZ7TVRQX05PX1BST0JFfSE9IjEiLCBFTlZ7Q09MT1JfTUVBU1VSRU1FTlRfREVWSUNFfSE9IjEiLCBFTlZ7bGlic2FuZV9tYXRjaGVkfSE9InllcyIsIEFUVFJ7YkRldmljZUNsYXNzfT09IjAwfDAyfDA2fGVmfGZmIiwgUFJPR1JBTT0ibXRwLXByb2JlIC9zeXMkZW52e0RFVlBBVEh9ICRhdHRye2J1c251bX0gJGF0dHJ7ZGV2bnVtfSIsIFJFU1VMVD09IjEiLCBTWU1MSU5LKz0ibGlibXRwLSVrIiwgTU9ERT0iNjYwIiwgR1JPVVA9ImF1ZGlvIiwgRU5We0lEX01UUF9ERVZJQ0V9PSIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiCisKK0xBQkVMPSJsaWJtdHBfcnVsZXNfZW5kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm10cC9saWJtdHAtMS4xLjUvZ2xpYmMtMi4yMC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtdHAvbGlibXRwLTEuMS41L2dsaWJjLTIuMjAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzhiNDVjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtdHAvbGlibXRwLTEuMS41L2dsaWJjLTIuMjAucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorCitJbmNsdWRlIGNvbmZpZy5oIHNvIHdlIGdldCB0aGUgZGVmaW5lcyBhdmFpbGFibGUgZm9yIHN1YnNlcXVlbnQKK2luY2x1ZGUgZmlsZXMKKworRml4ZXMgZXJyb3JzIGxpa2UKKworfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvdWJ1bnR1L3dvcmsvdXBzdHJlYW0vb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLWdsaWJjL3N5c3Jvb3RzL2JlYWdsZWJvbmUvdXNyL2luY2x1ZGUvc3RyaW5nLmg6NjM0OjAsCit8ICAgICAgICAgICAgICAgICAgZnJvbSAvaG9tZS91YnVudHUvd29yay91cHN0cmVhbS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtZ2xpYmMvd29yay9jb3J0ZXhhOHQyaGYtdmZwLW5lb24tb2UtbGludXgtZ251ZWFiaS9saWJtdHAvMS4xLjUtcjAvbGlibXRwLTEuMS41L3NyYy91dGlsLmM6MzY6Cit8IC9ob21lL3VidW50dS93b3JrL3Vwc3RyZWFtL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1nbGliYy93b3JrL2NvcnRleGE4dDJoZi12ZnAtbmVvbi1vZS1saW51eC1nbnVlYWJpL2xpYm10cC8xLjEuNS1yMC9saWJtdHAtMS4xLjUvc3JjL3V0aWwuaDoyOTo3OiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciAnKCcgYmVmb3JlICdfX2V4dGVuc2lvbgorX18nCit8ICBjaGFyICpzdHJuZHVwIChjb25zdCBjaGFyICpzLCBzaXplX3Qgbik7Cit8ICAgICAgICBeCit8IC9ob21lL3VidW50dS93b3JrL3Vwc3RyZWFtL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1nbGliYy93b3JrL2NvcnRleGE4dDJoZi12ZnAtbmVvbi1vZS1saW51eC1nbnVlYWJpL2xpYm10cC8xLjEuNS1yMC9saWJtdHAtMS4xLjUvc3JjL3V0aWwuYzoxMTE6NzogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnIGJlZm9yZSAnX19leHRlbnNpbworbl9fJworfCAgY2hhciAqc3RybmR1cCAoY29uc3QgY2hhciAqcywgc2l6ZV90IG4pCit8ICAgICAgICBeCit8IG1ha2VbMl06ICoqKiBbbGlibXRwX2xhLXV0aWwubG9dIEVycm9yIDEKKworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSW5kZXg6IGxpYm10cC0xLjEuNS9zcmMvdXRpbC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlibXRwLTEuMS41Lm9yaWcvc3JjL3V0aWwuYwkyMDExLTAxLTEwIDA1OjM3OjIxLjAwMDAwMDAwMCAtMDgwMAorKysrIGxpYm10cC0xLjEuNS9zcmMvdXRpbC5jCTIwMTQtMDktMDMgMjM6NTA6NDQuNzAzNTYzODg4IC0wNzAwCitAQCAtMjIsNiArMjIsOCBAQAorICAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICAqLworIAorKyNpbmNsdWRlICJjb25maWcuaCIKKysKKyAvKiBNU1ZDIGRvZXMgbm90IGhhdmUgdGhlc2UgKi8KKyAjaWZuZGVmIF9NU0NfVkVSCisgI2luY2x1ZGUgPHN5cy90aW1lLmg+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibXRwL2xpYm10cF8xLjEuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtdHAvbGlibXRwXzEuMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1ZGY4ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibXRwL2xpYm10cF8xLjEuNS5iYgpAQCAtMCwwICsxLDYxIEBACisjIFRPRE86IGluY2x1ZGUgZGViaWFuJ3MgbXRwLXRvb2xzIG1hbiBwYWdlIChuZWVkcyB4c2x0cHJvYy1uYXRpdmUgYW5kCisjIGRvY2Jvb2steHNsLW5hdGl2ZSwgb3Igd2UgcHJlZ2VuZXJhdGUgaXQpLCBhZGQgc3VwcG9ydCBmb3IgZG94eWdlbgorIyBnZW5lcmF0aW9uIGZ1bGx5IHdpdGggLW5hdGl2ZXMKK0RFU0NSSVBUSU9OID0gImxpYm10cCBpcyBhbiBJbml0aWF0b3IgaW1wbGVtZW50YXRpb24gb2YgdGhlIE1lZGlhIFRyYW5zZmVyIFwKK1Byb3RvY29sIChNVFApIGluIHRoZSBmb3JtIG9mIGEgbGlicmFyeSBzdWl0YWJsZSBwcmltYXJpbHkgZm9yIFBPU0lYIFwKK2NvbXBsaWFudCBvcGVyYXRpbmcgc3lzdGVtcyIKK1NVTU1BUlkgPSAibGlibXRwIGlzIGFuIEluaXRpYXRvciBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgTWVkaWEgVHJhbnNmZXIgUHJvdG9jb2wgKE1UUCkiCitIT01FUEFHRSA9ICJodHRwOi8vbGlibXRwLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkxHUEwtMi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT0wNDQ4ZDM2NzZiYzBkZTAwNDA2YWYyMjdkMzQxYTRkMSBcCisgICAgZmlsZTovL3NyYy9wdHAuYztiZWdpbmxpbmU9MztlbmRsaW5lPTIyO21kNT1kYWZlNmNmZDE3ODJmNTY0NzFiYjk0YWIwNjYyNGMxZiBcCisgICAgZmlsZTovL2V4YW1wbGVzL2FsYnVtcy5jO2JlZ2lubGluZT01O2VuZGxpbmU9MjE7bWQ1PTg0ZjRlNTVkZmVjNDllODk4YjdmNjhhODI4YzE1NjIwIFwKKyIKKworREVQRU5EUyArPSAibGlidXNiMSBnZXR0ZXh0LW5hdGl2ZSIKKworU0NNX1VSSSA9ICJnaXQ6Ly9naXQuY29kZS5zZi5uZXQvcC9saWJtdHAvY29kZSIKK1NSQ19VUkkgPSAiXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovLzY5LWxpYm10cC5ydWxlcyBcCisgICAgZmlsZTovL2dsaWJjLTIuMjAucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImY4MGU0NWMwZTZlNTc5OGM0MzRiYjFjMjZhN2I2MDJkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc4NzY3OTE3MWJhZjhiM2NmMmZjYzAzMTk2YzcwNWFiNGQ3Y2JjOTY5YmQ3MWY5ZDM2OTZiZTFjZTdmMWM2M2EiCisKKyMgQ3VycmVudGx5IHdlIHVzZSBhIHByZWdlbmVyYXRlZCBydWxlcyBmaWxlIHByb2R1Y2VkIGJ5IG10cC1ob3RwbHVnLCByYXRoZXIKKyMgdGhhbiBoYXZpbmcgdG8gZGVwZW5kIHVwb24gbGlibXRwLW5hdGl2ZSBvciBydW4gbXRwLWhvdHBsdWcgaW4gYSBwb3N0aW5zdC4KK2RvX3VucGFja1t2YXJkZXBzXSArPSAic2tpcF91ZGV2X3J1bGVzX2dlbmVyYXRpb24iCitkb191bnBhY2tbcG9zdGZ1bmNzXSArPSAic2tpcF91ZGV2X3J1bGVzX2dlbmVyYXRpb24iCisKK3NraXBfdWRldl9ydWxlc19nZW5lcmF0aW9uICgpIHsKKyAgICBzZWQgLWkgLWUgJy9ebm9pbnN0X0RBVEE9LywvdXRpbFwvbXRwLWhvdHBsdWcgLUgvZCcgJHtTfS9NYWtlZmlsZS5hbQorICAgIGNwICR7V09SS0RJUn0vNjktbGlibXRwLnJ1bGVzICR7U30vCit9CisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBsaWJfcGFja2FnZQorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1ycGF0aCIKKworUEFDS0FHRUNPTkZJRyA/PSAiXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGFyZ2VmaWxlJCcsICdsYXJnZWZpbGUnLCAnJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbZG94eWdlbl0gPSAiLS1lbmFibGUtZG94eWdlbiwtLWRpc2FibGUtZG94eWdlbiIKK1BBQ0tBR0VDT05GSUdbbGFyZ2VmaWxlXSA9ICItLWVuYWJsZS1sYXJnZWZpbGUsLS1kaXNhYmxlLWxhcmdlZmlsZSIKK1BBQ0tBR0VDT05GSUdbbXRwel0gPSAiLS1lbmFibGUtbXRweiwtLWRpc2FibGUtbXRweixsaWJnY3J5cHQiCisKK1BBQ0tBR0VTID0rICJsaWJtdHAtY29tbW9uIGxpYm10cC1ydW50aW1lIG10cC10b29scyIKKworUkRFUEVORFNfJHtQTn0gKz0gImxpYm10cC1jb21tb24iCitSUkVDT01NRU5EU18ke1BOfSArPSAibGlibXRwLXJ1bnRpbWUgbXRwLXRvb2xzIgorRklMRVNfJHtQTn0tZGJnICs9ICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvLmRlYnVnLyoiCitQS0dfJHtQTn0tYmluID0gIm10cC10b29scyIKK1NVTU1BUllfJHtQTn0tYmluID0gIlRvb2xzIGZvciBjb21tdW5pY2F0aW5nIHdpdGggTVRQIGRldmljZXMiCitERVNDUklQVElPTl8ke1BOfS1iaW4gPSAiJHtERVNDUklQVElPTn1cblRoaXMgcGFja2FnZSBjb250YWlucyB0b29scyBmb3IgY29tbXVuaWNhdGluZyB3aXRoIE1UUCBkZXZpY2VzLiIKK0ZJTEVTX2xpYm10cC1jb21tb24gPSAiJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvKiIKK1NVTU1BUllfbGlibXRwLWNvbW1vbiA9ICJUaGUgdWRldiBydWxlcyBmaWxlIGZvciBNVFAgZGV2aWNlcyIKK0ZJTEVTX2xpYm10cC1ydW50aW1lID0gIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9tdHAtcHJvYmUiCitERVBFTkRTX2xpYm10cC1ydW50aW1lID0gImxpYm10cC1jb21tb24iCitTVU1NQVJZX2xpYm10cC1ydW50aW1lID0gIm10cC1wcm9iZSwgdXNlZCBmb3IgdGhlIE1UUCB1ZGV2IHJ1bGVzIgorREVTQ1JJUFRJT05fbGlibXRwLXJ1bnRpbWUgPSAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIG10cC1wcm9iZSwgYSBwcm9ncmFtIHRvIHByb2JlIG5ld2x5IGNvbm5lY3RlZCBkZXZpY2UgaW50ZXJmYWNlcyBmcm9tIHVzZXJzcGFjZSB0byBkZXRlcm1pbmUgaWYgdGhleSBhcmUgTVRQIGRldmljZXMsIHVzZWQgZm9yIHVkZXYgcnVsZXMuIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm5kcC9saWJuZHBfMS41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm5kcC9saWJuZHBfMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMWQxZmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibmRwL2xpYm5kcF8xLjUuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBJUHY2IE5laWdoYm9yIERpc2NvdmVyeSBQcm90b2NvbCIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitTUkNfVVJJID0gImh0dHA6Ly9saWJuZHAub3JnL2ZpbGVzLyR7QlBOfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYmViODJlOGQ3NWQ4MzgyZDFiN2MwYmIwZjY4YmU0MjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmFmMTE2YWI3MGNlOTUxNGVjNGU4NTczNTU2MDI1ZGViZWEwOGY2MDZlN2YzOGI2MTZkZTFmMjZlMTIwYzc5NSIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJuZXQvbGlibmV0XzEuMi1yYzMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibmV0L2xpYm5ldF8xLjItcmMzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1NThlODAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibmV0L2xpYm5ldF8xLjItcmMzLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQSBwYWNrZXQgZGlzc2VjdGlvbiBhbmQgY3JlYXRpb24gbGlicmFyeSIKKyMgbGlibmV0IGF0IHBhY2tldGZhY3RvcnkubmV0IGlzIGRlYWQKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zYW0tZ2l0aHViL2xpYm5ldCIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jL0NPUFlJTkc7bWQ1PTNlYzgzOWUwMDQwOGI0ODRkMzNiNDcyYTg2YjdjMjY2IgorREVQRU5EUyA9ICJsaWJwY2FwIgorIyBUaGVyZSBhcmUgbWFqb3IgQVBJIGNoYW5nZXMgYmV3ZWVuIGxpYm5ldCB2MS4wIGFuZCBsaWJuZXQgdjEuMQorUFJPVklERVMgPSAibGlibmV0LTEuMnJjMiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbGlibmV0LWRldi8ke0JQTn0tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjA1MWU2ZTViZGVjZGRiOTBmNzdjNzAxYzJjYTE4MDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzJjMzgwNzg1YWQ0NDE4MzAwNWU2NTRiNDdjYzEyNDg1ZWUwMjI4ZDdmYTZiMGE4NzEwOWZmNzYxNGJlNGE2MyIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfS0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJxbWkvbGlicW1pXzEuMTIuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJxbWkvbGlicW1pXzEuMTIuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTE1NTI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWlfMS4xMi42LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAibGlicW1pIGlzIGEgbGlicmFyeSBmb3IgdGFsa2luZyB0byBXV0FOIGRldmljZXMgYnkgUU1JIHByb3RvY29sIgorREVTQ1JJUFRJT04gPSAibGlicW1pIGlzIGEgZ2xpYi1iYXNlZCBsaWJyYXJ5IGZvciB0YWxraW5nIHRvIFdXQU4gbW9kZW1zIGFuZCBkZXZpY2VzIHdoaWNoIHNwZWFrIHRoZSBRdWFsY29tbSBNU00gSW50ZXJmYWNlIChRTUkpIHByb3RvY29sIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9saWJxbWkiCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiMjRjOWViMzAwNjYyYmE2Y2ZmMDE1MmRlODliZDllYzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDg1N2JmZmVjZTRlOGRkZmE3ZjcyMWRkOWNhNjNiNGM3OGRlMzQ1YWM5YWUyZmFlYmYwNDA2MmNhY2JhMzc4MCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ0b3JyZW50L2xpYnRvcnJlbnQvZG9uLXQtcnVuLWNvZGUtd2hpbGUtY29uZmlndXJpbmctcGFja2FnZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ0b3JyZW50L2xpYnRvcnJlbnQvZG9uLXQtcnVuLWNvZGUtd2hpbGUtY29uZmlndXJpbmctcGFja2FnZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OWQ0ZjI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnRvcnJlbnQvbGlidG9ycmVudC9kb24tdC1ydW4tY29kZS13aGlsZS1jb25maWd1cmluZy1wYWNrYWdlLnBhdGNoCkBAIC0wLDAgKzEsOTQgQEAKK1VzaW5nIEFDX1JVTl9JRkVMU0UgcHJldmVudCBwZW9wbGUgZnJvbSBjb25maWd1cmluZyBwYWNrYWdlIGZvcgorY3Jvc3MtY29tcGlsaW5nLiBEb24ndCBydW4gY29kZSB3aGlsZSBjb25maWd1cmluZyBwYWNrYWdlLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFuZHJlaSBHaGVyemFuIDxhbmRyZWlAZ2hlcnphbi5ybz4KKworSW5kZXg6IGxpYnRvcnJlbnQtMC4xMy4zL3NjcmlwdHMvY2hlY2tzLm00Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlidG9ycmVudC0wLjEzLjMub3JpZy9zY3JpcHRzL2NoZWNrcy5tNAkyMDEyLTA1LTE0IDE0OjE3OjA0LjAwMDAwMDAwMCArMDMwMAorKysrIGxpYnRvcnJlbnQtMC4xMy4zL3NjcmlwdHMvY2hlY2tzLm00CTIwMTMtMDItMTAgMTU6Mjg6MzcuNDE0NDQ1NTI0ICswMjAwCitAQCAtOTUsNDAgKzk1LDYgQEAKKworIEFDX0RFRlVOKFtUT1JSRU5UX0NIRUNLX0tRVUVVRV9TT0NLRVRfT05MWV0sIFsKKyAgIEFDX01TR19DSEVDS0lORyh3aGV0aGVyIGtxdWV1ZSBzdXBwb3J0cyBwaXBlcyBhbmQgcHR5cykKKy0KKy0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFsKKy0gICAgICAjaW5jbHVkZSA8ZmNudGwuaD4KKy0gICAgICAjaW5jbHVkZSA8c3RkbGliLmg+CistICAgICAgI2luY2x1ZGUgPHVuaXN0ZC5oPgorLSAgICAgICNpbmNsdWRlIDxzeXMvZXZlbnQuaD4KKy0gICAgICAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKy0gICAgICBpbnQgbWFpbigpIHsKKy0gICAgICAgIHN0cnVjdCBrZXZlbnQgZXZAPDpAMkA6PkAsIGV2X291dEA8OkAyQDo+QDsKKy0gICAgICAgIHN0cnVjdCB0aW1lc3BlYyB0cyA9IHsgMCwgMCB9OworLSAgICAgICAgaW50IHBmZEA8OkAyQDo+QCwgcHR5QDw6QDJAOj5ALCBrZmQsIG47CistICAgICAgICBjaGFyIGJ1ZmZlckA8OkA5MDAxQDo+QDsKKy0gICAgICAgIGlmIChwaXBlKHBmZCkgPT0gLTEpIHJldHVybiAxOworLSAgICAgICAgaWYgKGZjbnRsKHBmZEA8OkAxQDo+QCwgRl9TRVRGTCwgT19OT05CTE9DSykgPT0gLTEpIHJldHVybiAyOworLSAgICAgICAgd2hpbGUgKChuID0gd3JpdGUocGZkQDw6QDFAOj5ALCBidWZmZXIsIHNpemVvZihidWZmZXIpKSkgPT0gc2l6ZW9mKGJ1ZmZlcikpOworLSAgICAgICAgaWYgKChwdHlAPDpAMEA6PkA9cG9zaXhfb3BlbnB0KE9fUkRXUiB8IE9fTk9DVFRZKSkgPT0gLTEpIHJldHVybiAzOworLSAgICAgICAgaWYgKChwdHlAPDpAMUA6PkA9Z3JhbnRwdChwdHlAPDpAMEA6PkApKSA9PSAtMSkgcmV0dXJuIDQ7CistICAgICAgICBFVl9TRVQoZXYrMCwgcGZkQDw6QDFAOj5ALCBFVkZJTFRfV1JJVEUsIEVWX0FERCB8IEVWX0VOQUJMRSwgMCwgMCwgTlVMTCk7CistICAgICAgICBFVl9TRVQoZXYrMSwgcHR5QDw6QDFAOj5ALCBFVkZJTFRfUkVBRCwgRVZfQUREIHwgRVZfRU5BQkxFLCAwLCAwLCBOVUxMKTsKKy0gICAgICAgIGlmICgoa2ZkID0ga3F1ZXVlKCkpID09IC0xKSByZXR1cm4gNTsKKy0gICAgICAgIGlmICgobiA9IGtldmVudChrZmQsIGV2LCAyLCBOVUxMLCAwLCBOVUxMKSkgPT0gLTEpIHJldHVybiA2OworLSAgICAgICAgaWYgKGV2X291dEA8OkAwQDo+QC5mbGFncyAmIEVWX0VSUk9SKSByZXR1cm4gNzsKKy0gICAgICAgIGlmIChldl9vdXRAPDpAMUA6PkAuZmxhZ3MgJiBFVl9FUlJPUikgcmV0dXJuIDg7CistICAgICAgICByZWFkKHBmZEA8OkAwQDo+QCwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSk7CistICAgICAgICBpZiAoKG4gPSBrZXZlbnQoa2ZkLCBOVUxMLCAwLCBldl9vdXQsIDIsICZ0cykpIDwgMSkgcmV0dXJuIDk7CistICAgICAgICByZXR1cm4gMDsKKy0gICAgICB9CistICAgICAgXSldLAorLSAgICBbCistICAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCistICAgIF0sIFsKKy0gICAgICBBQ19ERUZJTkUoS1FVRVVFX1NPQ0tFVF9PTkxZLCAxLCBrcXVldWUgb25seSBzdXBwb3J0cyBzb2NrZXRzLikKKy0gICAgICBBQ19NU0dfUkVTVUxUKG5vKQorLSAgICBdKQorIF0pCisKKyBBQ19ERUZVTihbVE9SUkVOVF9XSVRIX0tRVUVVRV0sIFsKK0luZGV4OiBsaWJ0b3JyZW50LTAuMTMuMy9zY3JpcHRzL2NvbW1vbi5tNAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYnRvcnJlbnQtMC4xMy4zLm9yaWcvc2NyaXB0cy9jb21tb24ubTQJMjAxMi0wNS0xNCAxNDoxNzowNC4wMDAwMDAwMDAgKzAzMDAKKysrKyBsaWJ0b3JyZW50LTAuMTMuMy9zY3JpcHRzL2NvbW1vbi5tNAkyMDEzLTAyLTEwIDE1OjI3OjU1Ljg3NDQ0Njc0MSArMDIwMAorQEAgLTIyMiwzOCArMjIyLDEwIEBACisKKyBBQ19ERUZVTihbVE9SUkVOVF9DSEVDS19FWEVDSU5GT10sIFsKKyAgIEFDX01TR19DSEVDS0lORyhmb3IgZXhlY2luZm8uaCkKKy0KKy0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFsKKy0gICAgICAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KKy0gICAgICBpbnQgbWFpbigpIHsgYmFja3RyYWNlKCh2b2lkKiopMCwgMCk7IGJhY2t0cmFjZV9zeW1ib2xzKChjaGFyKiopMCwgMCk7IHJldHVybiAwO30KKy0gICAgICBdKV0sCistICAgIFsKKy0gICAgICBBQ19NU0dfUkVTVUxUKHllcykKKy0gICAgICBBQ19ERUZJTkUoVVNFX0VYRUNJTkZPLCAxLCBVc2UgZXhlY2luZm8uaCkKKy0gICAgXSwgWworLSAgICAgIEFDX01TR19SRVNVTFQobm8pCistICBdKQorIF0pCisKKyBBQ19ERUZVTihbVE9SUkVOVF9DSEVDS19BTElHTkVEXSwgWworICAgQUNfTVNHX0NIRUNLSU5HKHRoZSBieXRlIGFsaWdubWVudCkKKy0KKy0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFsKKy0gICAgICAjaW5jbHVkZSA8aW50dHlwZXMuaD4KKy0gICAgICBpbnQgbWFpbigpIHsKKy0gICAgICAgIGNoYXIgYnVmQDw6QDhAOj5AID0geyAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwIH07CistCWludCBpOworLSAgICAgICAgZm9yIChpID0gMTsgaSA8IDQ7ICsraSkKKy0JICBpZiAoKih1aW50MzJfdCopKGJ1ZiArIGkpID09IDApIHJldHVybiAtMTsKKy0JcmV0dXJuIDA7CistCX0KKy0gICAgICBdKV0sCistICAgIFsKKy0gICAgICBBQ19NU0dfUkVTVUxUKG5vbmUgbmVlZGVkKQorLSAgICBdLCBbCistICAgICAgQUNfREVGSU5FKFVTRV9BTElHTkVELCAxLCBSZXF1aXJlIGJ5dGUgYWxpZ25tZW50KQorLSAgICAgIEFDX01TR19SRVNVTFQocmVxdWlyZWQpCistICBdKQorIF0pCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnRvcnJlbnQvbGlidG9ycmVudF8wLjEzLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidG9ycmVudC9saWJ0b3JyZW50XzAuMTMuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWYzYTZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnRvcnJlbnQvbGlidG9ycmVudF8wLjEzLjMuYmIKQEAgLTAsMCArMSwxNyBAQAorREVTQ1JJUFRJT04gPSAibGliVG9ycmVudCBpcyBhIEJpdFRvcnJlbnQgbGlicmFyeSB3cml0dGVuIGluIEMrKyBmb3IgKm5peCwgXAord2l0aCBhIGZvY3VzIG9uIGhpZ2ggcGVyZm9ybWFuY2UgYW5kIGdvb2QgY29kZS4iCitIT01FUEFHRSA9ICJodHRwOi8vbGlidG9ycmVudC5yYWtzaGFzYS5uby8iCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOTNhNWNhNDQ1ZjY5NjU4NzNlY2EwMjU5YTE3ZjgzMyIKKworREVQRU5EUyA9ICJsaWJzaWdjKystMi4wIG9wZW5zc2wgY3BwdW5pdCIKKworU1JDX1VSSSA9ICJodHRwOi8vbGlidG9ycmVudC5yYWtzaGFzYS5uby9kb3dubG9hZHMvJHtCUH0udGFyLmd6IFwKKyAgICBmaWxlOi8vZG9uLXQtcnVuLWNvZGUtd2hpbGUtY29uZmlndXJpbmctcGFja2FnZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlOTRmNmM1OTBiYjAyYWFmNGQ1ODYxOGY3MzhhODVmMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNDMxN2Q2NzgzYjdmOGQwODA1Mjc0Yzk0Njc0NzViNTQzMmEyNDZjMGRlOGUyOGZjMTZlM2IwYjQzZjM1Njc3IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwL2J1aWxkLUFsbG93LUNDLWFuZC1wcmVmaXgtdG8tYmUtb3ZlcnJpZGVuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwL2J1aWxkLUFsbG93LUNDLWFuZC1wcmVmaXgtdG8tYmUtb3ZlcnJpZGVuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxZDk2YWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHAvYnVpbGQtQWxsb3ctQ0MtYW5kLXByZWZpeC10by1iZS1vdmVycmlkZW4ucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSBhZjQ4NWM2MzhjNjFmYTg4MzIxMmVhNDI0ZTY3NmZiZjkwYmVlNTk0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK0RhdGU6IFR1ZSwgMSBKdWwgMjAxNCAxNzozNzozMSAtMDMwMAorU3ViamVjdDogW1BBVENIXSBidWlsZDogQWxsb3cgQ0MgYW5kIHByZWZpeCB0byBiZSBvdmVycmlkZW4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CistLS0KKyBtYWtlZmlsZSB8ICAgIDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tYWtlZmlsZSBiL21ha2VmaWxlCitpbmRleCAyMmU3ZDBkLi44MDljYzhmIDEwMDY0NAorLS0tIGEvbWFrZWZpbGUKKysrKyBiL21ha2VmaWxlCitAQCAtMTgsNyArMTgsNyBAQAorIEtCVUlMRF9PVVRQVVQgPQorIAorIERFQlVHCT0KKy1DQwk9ICQoQ1JPU1NfQ09NUElMRSlnY2MKKytDQwk/PSAkKENST1NTX0NPTVBJTEUpZ2NjCisgVkVSICAgICA9IC1EVkVSPSQodmVyc2lvbikKKyBDRkxBR1MJPSAtV2FsbCAkKFZFUikgJChpbmNkZWZzKSAkKERFQlVHKSAkKEVYVFJBX0NGTEFHUykKKyBMRExJQlMJPSAtbG0gLWxydCAkKEVYVFJBX0xERkxBR1MpCitAQCAtMzUsNyArMzUsNyBAQCBpbmNkZWZzIDo9ICQoc2hlbGwgJChzcmNkaXIpL2luY2RlZnMuc2gpCisgdmVyc2lvbiA6PSAkKHNoZWxsICQoc3JjZGlyKS92ZXJzaW9uLnNoICQoc3JjZGlyKSkKKyBWUEFUSAk9ICQoc3JjZGlyKQorIAorLXByZWZpeAk9IC91c3IvbG9jYWwKKytwcmVmaXgJPz0gL3Vzci9sb2NhbAorIHNiaW5kaXIJPSAkKHByZWZpeCkvc2JpbgorIG1hbmRpcgk9ICQocHJlZml4KS9tYW4KKyBtYW44ZGlyCT0gJChtYW5kaXIpL21hbjgKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwXzEuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cF8xLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU0Yjg1NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cF8xLjYuYmIKQEAgLTAsMCArMSwyMCBAQAorREVTQ1JJUFRJT04gPSAiUHJlY2lzaW9uIFRpbWUgUHJvdG9jb2wgKFBUUCkgYWNjb3JkaW5nIHRvIElFRUUgc3RhbmRhcmQgMTU4OCBmb3IgTGludXgiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saW51eHB0cC9maWxlcy92JHtQVn0vbGludXhwdHAtJHtQVn0udGd6IFwKKyAgICAgICAgICAgZmlsZTovL2J1aWxkLUFsbG93LUNDLWFuZC1wcmVmaXgtdG8tYmUtb3ZlcnJpZGVuLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNmFhMTVkODNmNWEzNWYxZmQwNzZiYTlhZGM0ZTcyODUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTdmZDE2YTlmMjM1YjA1OWJlNTI3YmQ1MTJlODZmMGMxZDlmMmU3YzM2NzM2ZTZkNmQ5NzI3YTQ0MjdhYzE0YyIKKworRVhUUkFfT0VNQUtFID0gIkFSQ0g9JHtUQVJHRVRfQVJDSH0gXAorCQlFWFRSQV9DRkxBR1M9Jy1EX0dOVV9TT1VSQ0UgLURIQVZFX0NMT0NLX0FESlRJTUUgLURIQVZFX09ORVNURVBfU1lOQyAke0NGTEFHU30nIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtcCAke1N9L3B0cDRsICAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLXAgJHtTfS9wbWMgICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtcCAke1N9L3BoYzJzeXMgICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtcCAke1N9L2h3c3RhbXBfY3RsICAke0R9LyR7YmluZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmY4ZTAxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy5pbmMKQEAgLTAsMCArMSwxMyBAQAorREVTQ1JJUFRJT04gPSAiTElSQyBpcyBhIHBhY2thZ2UgdGhhdCBhbGxvd3MgeW91IHRvIGRlY29kZSBhbmQgc2VuZCBpbmZyYS1yZWQgc2lnbmFscyBvZiBtYW55IGNvbW1vbmx5IHVzZWQgcmVtb3RlIGNvbnRyb2xzLiIKK0RFU0NSSVBUSU9OX2FwcGVuZF9saXJjID0gIiBUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIGxpcmMgZGFlbW9uLCBsaWJyYXJpZXMgYW5kIHRvb2xzLiIKK0RFU0NSSVBUSU9OX2FwcGVuZF9saXJjLWV4ZWMgPSAiIFRoaXMgcGFja2FnZSBjb250YWlucyBhIGRhZW1vbiB0aGF0IHJ1bnMgcHJvZ3JhbXMgb24gSVIgc2lnbmFscy4iCitERVNDUklQVElPTl9hcHBlbmRfbGlyYy1yZW1vdGVzID0gIiBUaGlzIHBhY2thZ2UgY29udGFpbnMgc29tZSBjb25maWcgZmlsZXMgZm9yIHJlbW90ZXMuIgorREVTQ1JJUFRJT05fYXBwZW5kX2xpcmMtbnNsdTJleGFtcGxlID0gIiBUaGlzIHBhY2thZ2UgY29udGFpbnMgYSB3b3JraW5nIGNvbmZpZyBmb3IgUkM1IHJlbW90ZXMgYW5kIGEgbW9kaWZpZWQgTlNMVTIuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saXJjLm9yZyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJHUEx2MiIKK0RFUEVORFMgPSAiYWxzYS1saWIgbGliZnRkaSBsaWJ1c2IxIGxpYnVzYi1jb21wYXQgamFjayBwb3J0YXVkaW8tdjE5IgorCitTUkNfVVJJID0gImh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvbGlyYy9saXJjLSR7UFZ9LnRhci5iejIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy9saXJjLnRtcGZpbGVzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy9saXJjLnRtcGZpbGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiODBlMmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjL2xpcmMudG1wZmlsZXMKQEAgLTAsMCArMSBAQAorZCAvcnVuL2xpcmMgMDc1NSByb290IHJvb3QgLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy9saXJjX29wdGlvbnMuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmMvbGlyY19vcHRpb25zLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhkZGVkZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmMvbGlyY19vcHRpb25zLmNvbmYKQEAgLTAsMCArMSwyNCBAQAorIyBUaGVzZSBhcmUgdGhlIGRlZmF1bHQgb3B0aW9ucyB0byBsaXJjZCwgaWYgaW5zdGFsbGVkIGFzCisjIC9ldGMvbGlyYy9saXJjX29wdGlvbnMuY29uZi4gU2VlIHRoZSBsaXJjZCg4KSBhbmQgbGlyY21kKDgpCisjIG1hbnBhZ2VzIGZvciBpbmZvIG9uIHRoZSBkaWZmZXJlbnQgb3B0aW9ucy4KKworW2xpcmNkXQorbm9kYWVtb24gICAgICAgID0gRmFsc2UKK3Blcm1pc3Npb24gICAgICA9IDY2NgorZHJpdmVyICAgICAgICAgID0gZGVmYXVsdAorZGV2aWNlICAgICAgICAgID0gL2Rldi9saXJjMAorb3V0cHV0ICAgICAgICAgID0gL3Zhci9ydW4vbGlyYy9saXJjZAorcGlkZmlsZSAgICAgICAgID0gL3Zhci9ydW4vbGlyYy9saXJjZC5waWQKK3BsdWdpbmRpciAgICAgICA9IC91c3IvbGliL2xpcmMvcGx1Z2lucworYWxsb3ctc2ltdWxhdGUgID0gTm8KK3JlcGVhdC1tYXggICAgICA9IDYwMAorI2xpc3RlbiAgICAgICAgID0gW2FkZHJlc3M6XXBvcnQKKyNjb25uZWN0ICAgICAgICA9IGhvc3RbOnBvcnRdCisjZGVidWcgICAgICAgICAgPSA1CisjdWlucHV0ICAgICAgICAgPSAuLi4KKyNyZWxlYXNlICAgICAgICA9IC4uLgorI2xvZ2ZpbGUgICAgICAgID0gLi4uCisKK1tsaXJjbWRdCit1aW5wdXQgICAgICAgICAgPSBGYWxzZQorbm9kZWFtb24gICAgICAgID0gRmFsc2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmMvbGlyY2QuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmMvbGlyY2QuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWIwM2M3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy9saXJjZC5jb25mCkBAIC0wLDAgKzEsMzE1IEBACisjIGNvbnRyaWJ1dGVkIGJ5IGFuZ2VsbyBjYXN0ZWxsbworIworIyBub3RlOiB0aGlzIGNvbmZpZyBmaWxlIGhhcyBiZWVuIGRlZHVjZWQgc3RhcnRpbmcgZnJvbSB0aGUKKyMgICAgICAgcmF3IGNvZGVzIHByb3ZpZGVkIHRvIHJ1biBtb2RlMiB1dGlsaXR5LgorIworIyBicmFuZDogZnV0YXJxdWUKKworYmVnaW4gcmVtb3RlCisgIG5hbWUgIGZ1dGFycXVlCisgIGJpdHMgIDgKKyAgZmxhZ3MgU1BBQ0VfRU5DfENPTlNUX0xFTkdUSAorICBlcHMgICAzMAorICBhZXBzICAxMDAKKworICBoZWFkZXIgICAgICAgODA0OCAgMzg5OAorICBvbmUgICAgICAgICAgIDU1NSAgMTQzNgorICB6ZXJvICAgICAgICAgIDU1NSAgIDQzOQorICBnYXAJCTExMzEyMworICBwdHJhaWwgICAgICAgIDU1NQorICBwcmVfZGF0YV9iaXRzICAgOAorICBwcmVfZGF0YSAgICAgMHg1NAorICBwcmUJCTU3MCAgMzg5MAorCisgICAgICBiZWdpbiBjb2RlcworICAgICAgICAgIE1VVEUgICAgICAgICAgICAgICAgICAgICAweDcwCisgICAgICAgICAgRVhJVCAgICAgICAgICAgICAgICAgICAgIDB4QTgKKyAgICAgICAgICBQT1dFUiAgICAgICAgICAgICAgICAgICAgMHhGMAorICAgICAgICAgIENIQU5ORUxfVVAgICAgICAgICAgICAgICAweDUwCisgICAgICAgICAgQ0hBTk5FTF9ET1dOICAgICAgICAgICAgIDB4RDAKKyAgICAgICAgICBWT0xVTUVfVVAgICAgICAgICAgICAgICAgMHgzMAorICAgICAgICAgIFZPTFVNRV9ET1dOICAgICAgICAgICAgICAweEIwCisgICAgICAgICAgT0sgICAgICAgICAgICAgICAgICAgICAgIDB4OTgKKyAgICAgICAgICBGQVZPUklURVMgICAgICAgICAgICAgICAgMHgwNAorICAgICAgICAgIFRFWFQgICAgICAgICAgICAgICAgICAgICAweDY4CisgICAgICAgICAgRVBHICAgICAgICAgICAgICAgICAgICAgIDB4QzgKKyAgICAgICAgICBCQUNLICAgICAgICAgICAgICAgICAgICAgMHg0OAorICAgICAgICAgIE1FTlUgICAgICAgICAgICAgICAgICAgICAweDg4CisgICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKKyAgICAgICAgICAyICAgICAgICAgICAgICAgICAgICAgICAgMHg4MAorICAgICAgICAgIDMgICAgICAgICAgICAgICAgICAgICAgICAweDQwCisgICAgICAgICAgNCAgICAgICAgICAgICAgICAgICAgICAgIDB4QzAKKyAgICAgICAgICA1ICAgICAgICAgICAgICAgICAgICAgICAgMHgyMAorICAgICAgICAgIDYgICAgICAgICAgICAgICAgICAgICAgICAweEEwCisgICAgICAgICAgNyAgICAgICAgICAgICAgICAgICAgICAgIDB4NjAKKyAgICAgICAgICA4ICAgICAgICAgICAgICAgICAgICAgICAgMHhFMAorICAgICAgICAgIDkgICAgICAgICAgICAgICAgICAgICAgICAweDEwCisgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgIDB4OTAKKyAgICAgICAgICBQQVVTRSAgICAgICAgICAgICAgICAgICAgMHg4NAorICAgICAgICAgIElORk8gICAgICAgICAgICAgICAgICAgICAweDM4CisgICAgICAgICAgUkVEICAgICAgICAgICAgICAgICAgICAgIDB4RTgKKyAgICAgICAgICBHUkVFTiAgICAgICAgICAgICAgICAgICAgMHgwOAorICAgICAgICAgIFlFTExPVyAgICAgICAgICAgICAgICAgICAweDI4CisgICAgICAgICAgQkxVRSAgICAgICAgICAgICAgICAgICAgIDB4NzgKKyAgICAgICAgICBVUCAgICAgICAgICAgICAgICAgICAgICAgMHhEOAorICAgICAgICAgIERPV04gICAgICAgICAgICAgICAgICAgICAweEI4CisgICAgICAgICAgUkVXSU5EICAgICAgICAgICAgICAgICAgIDB4NDQKKyAgICAgICAgICBGQVNURk9SV0FSRCAgICAgICAgICAgICAgMHgyNAorICAgICAgICAgIFBMQVlQQVVTRSAgICAgICAgICAgICAgICAweEM0CisgICAgICAgICAgU1RPUCAgICAgICAgICAgICAgICAgICAgIDB4NjQKKyAgICAgICAgICBSRUNPUkQgICAgICAgICAgICAgICAgICAgMHhBNAorICAgICAgICAgIEFVRElPICAgICAgICAgICAgICAgICAgICAweEU0CisgICAgICAgICAgVEFQRSAgICAgICAgICAgICAgICAgICAgIDB4MTQKKyAgICAgICAgICBEVkQgICAgICAgICAgICAgICAgICAgICAgMHg5NAorICAgICAgICAgIENBUElUQUxfQSAgICAgICAgICAgICAgICAweEY4CisgICAgICAgICAgQ0FQSVRBTF9CICAgICAgICAgICAgICAgIDB4NTQKKyAgICAgIGVuZCBjb2RlcworCitlbmQgcmVtb3RlCisKKyMgYnJhbmQ6IFNUTSBQVlItMQorCitiZWdpbiByZW1vdGUKKyAgbmFtZQlzdG1fcHZyXzEKKyAgYml0cwkxNgorICBmbGFncyBTUEFDRV9FTkN8Q09OU1RfTEVOR1RICisgIGVwcwkzMAorICBhZXBzCTE1MAorCisgIGhlYWRlcgk5MDAwICA0NTAwCisgIG9uZQkJIDU3MiAgMTcwMAorICB6ZXJvCQkgNTcyICAgNTcyCisgIHB0cmFpbAkgNTcyCisgIHJlcGVhdAk5MDAwICAyMjAwCisgIHByZV9kYXRhX2JpdHMJICAxNgorICBwcmVfZGF0YQkweEZFCisgIGdhcAkJMTAwMDAwCisKKyAgICAgIGJlZ2luIGNvZGVzCisgICAgICAgICAgUE9XRVIJCQkweDAwZmYKKyAgICAgICAgICBGQVZPUklURVMJCTB4Nzg4NworICAgICAgICAgIE1VVEUJCQkweDI4ZDcKKyAgICAgICAgICAwCQkJMHg3MDhGCisgICAgICAgICAgMQkJCTB4YzAzZgorICAgICAgICAgIDIJCQkweDQwYmYKKyAgICAgICAgICAzCQkJMHg4MDdmCisgICAgICAgICAgNAkJCTB4ZTAxZgorICAgICAgICAgIDUJCQkweDYwOWYKKyAgICAgICAgICA2CQkJMHhhMDVmCisgICAgICAgICAgNwkJCTB4ZDAyZgorICAgICAgICAgIDgJCQkweDUwYWYKKyAgICAgICAgICA5CQkJMHg5MDZmCisgICAgICAgICAgSU5GTwkJCTB4MzhjNworICAgICAgICAgIFNVQlRJVExFCQkweGU4MTcKKyAgICAgICAgICBNRU5VCQkJMHg5ODY3CisgICAgICAgICAgRVhJVAkJCTB4MjBkZgorICAgICAgICAgIEVQRwkJCTB4YTg1NworICAgICAgICAgIEJBQ0sJCQkweDQ4YjcKKyAgICAgICAgICBDVVJTT1JfVVAJCTB4NThhNworICAgICAgICAgIENVUlNPUl9ET1dOCQkweGQ4MjcKKyAgICAgICAgICBDVVJTT1JfTEVGVAkJMHg4ODc3CisgICAgICAgICAgQ1VSU09SX1JJR0hUCQkweGIwNGYKKyAgICAgICAgICBPSwkJCTB4MTBlZgorICAgICAgICAgIFZPTFVNRV9VUAkJMHgyMmRkCisgICAgICAgICAgVk9MVU1FX0RPV04JCTB4OGE3NQorICAgICAgICAgIENIQU5ORUxfVVAJCTB4MTJlZAorICAgICAgICAgIENIQU5ORUxfRE9XTgkJMHg0YWI1CisgICAgICAgICAgVEVYVAkJCTB4ZjAwZgorICAgICAgICAgIFJBRElPCQkJMHg5MjZkCisgICAgICAgICAgWk9PTQkJCTB4Njg5NworICAgICAgICAgIEFVRElPCQkJMHgwOGY3CisgICAgICAgICAgUkVECQkJMHg0MmJkCisgICAgICAgICAgR1JFRU4JCQkweGEyNWQKKyAgICAgICAgICBZRUxMT1cJCTB4ODI3ZAorICAgICAgICAgIEJMVUUJCQkweDAyZmQKKyAgICAgICAgICBDVVNUT00wCQkweDUyYWQKKyAgICAgICAgICBDVVNUT00xCQkweDMwY2YKKyAgICAgICAgICBQTEFZCQkJMHg2MjlkCisgICAgICAgICAgUEFVU0UJCQkweGIyNGQKKyAgICAgICAgICBQUkVWSU9VUwkJMHhjODM3CisgICAgICAgICAgTkVYVAkJCTB4ZjgwNworICAgICAgICAgIFJFV0lORAkJMHgzMmNkCisgICAgICAgICAgRkFTVEZPUldBUkQJCTB4MGFmNQorICAgICAgICAgIEFVWAkJCTB4N2E4NQorICAgICAgICAgIENVU1RPTTMJCTB4Yjg0NworICAgICAgICAgIFBJUAkJCTB4M2FjNQorICAgICAgICAgIFNXQVAJCQkweGJhNDUKKyAgICAgIGVuZCBjb2RlcworCitlbmQgcmVtb3RlCisKKyMgYnJhbmQ6IFNUTSBEVFYtMgorCitiZWdpbiByZW1vdGUKKworICBuYW1lCQlzdG1fZHR2XzIKKyAgZmxhZ3MJU0hJRlRfRU5DfENPTlNUX0xFTkdUSAorICBiaXRzCQkxMworICBhZXBzCTE1MAorCisgIG9uZQkJODUwIDg1MAorICB6ZXJvCQk4NTAgODUwCisgIHBsZWFkCQk4NTAKKyAgZ2FwCQk2NzgwMAorICB0b2dnbGVfYml0CTIKKworICBiZWdpbiBjb2RlcworCVBPV0VSCQkJMHgxMDBDCisJRkFWT1JJVEVTCQkweDEwMTUKKwlBVVgJCQkweDEwMzgKKwkxCQkJMHgxMDAxCisJMgkJCTB4MTAwMgorCTMJCQkweDEwMDMKKwk0CQkJMHgxMDA0CisJNQkJCTB4MTAwNQorCTYJCQkweDEwMDYKKwk3CQkJMHgxMDA3CisJOAkJCTB4MTAwOAorCTkJCQkweDEwMDkKKwlQRVJJT0QJCQkweDEwMjQKKwkwCQkJMHgxMDNFCisJQkFDSwkJCTB4MTAyMworCU1FTlUJCQkweDEwMTYKKwlJTkZPCQkJMHgxMDBGCisJRVBHCQkJMHgxMDFFCisJRVhJVAkJCTB4MTAxOAorCUNVUlNPUl9VUAkJMHgxMDE3CisJQ1VSU09SX0RPV04JCTB4MTAxRAorCUNVUlNPUl9MRUZUCQkweDEwMTkKKwlDVVJTT1JfUklHSFQJCTB4MTAxQgorCU9LCQkJMHgxMDFBCisJVk9MVU1FX1VQCQkweDEwMTAKKwlWT0xVTUVfRE9XTgkJMHgxMDExCisJQ0hBTk5FTF9VUAkJMHgxMDIwCisJQ0hBTk5FTF9ET1dOCQkweDEwMjEKKwlURVhUCQkJMHgxMDJFCisJU1VCVElUTEUJCTB4MTAzQworCUZSRUVaRQkJCTB4MTAxNAorCVpPT00JCQkweDEwMkIKKwlSRUQJCQkweDEwMjgKKwlHUkVFTgkJCTB4MTAyQQorCVlFTExPVwkJCTB4MTAyRgorCUJMVUUJCQkweDEwMzAKKwlDVVNUT00xMAkJMHgxMDIyCisJSU5URVJORVQJCTB4MTAyNworCUNVU1RPTTExCQkweDEwMkMKKwlBVURJTwkJCTB4MTAyNQorCVJFQ09SRAkJCTB4MTAyRAorCVBMQVlQQVVTRQkJMHgxMDI5CisJU1RPUAkJCTB4MTAyNgorCUNVU1RPTTEJCQkweDEwMUMKKwlNVVRFCQkJMHgxMDBkCisJQ1VTVE9NMTIJCTB4MTAxRgorCVBJUAkJCTB4MTAwQgorCVNXQVAJCQkweDEwMEUKKyAgZW5kIGNvZGVzCisKK2VuZCByZW1vdGUKKworIyBicmFuZDogIENvbWNhc3QKKyMgbW9kZWwgbm8uIG9mIHJlbW90ZSBjb250cm9sOiBYUjIKKyMgMzIgYml0cyBmb3IgdGhlIHByZS1kYXRlIChzaG91bGQgYmUgdmFsdWUgMHgxNzBGNDQzRSkKKyMgd2lkdGggYmV0d2VlbiBwcmVfYml0cyBhbmQgZGF0YTogMTI5MDAgbWljcm9zZWNvbmRzCisjCisjIDI0IGJpdHMgZm9yIHRoZSBkYXRhIChrZXkgY29kZSkKKyMgVG8gZ2V0IGtleSBSRVBFQVQsIFhPUiAweDA4OCB3aXRoIEtFWSB2YWx1ZQorIyBUaGVyZSBhcmUgOCBwb3N0IGJpdHMgKGJvdGggc2hvdWxkIGJlIHplcm8pCisjCisjIEdhcCBiZXR3ZWVuIGtleXM6IDgxMDAgbWljcm9zZWNvbmRzCitiZWdpbiByZW1vdGUKKworICBuYW1lIFhmaW5pdHktWFIyCisgIGJpdHMgMjQKKyAgZmxhZ3MgWE1QCisgIGVwcyAgICAgICAgICAgIDIwCisgIGFlcHMgICAgICAgICAgMzAwCisKKyAgb25lICAgICAgICAgICAgIDAgICAxMzcKKyAgemVybyAgICAgICAgICAyNTAgICA3MTAKKyAgcHRyYWlsICAgICAgICAyNTAKKyAgcHJlX2RhdGFfYml0cyAgIDMyCisgIHByZV9kYXRhICAgICAgIDB4MTcwRjQ0M0UKKyAgcG9zdF9kYXRhX2JpdHMgIDgKKyAgcG9zdF9kYXRhICAgICAgMHgwCisgIHByZSAgICAgICAgICAgMjUwIDEyOTIxCisgIGdhcCAgICAgICAgICA4MTY5OAorICB0b2dnbGVfYml0X21hc2sgMHgwCisKKyAgICAgIGJlZ2luIGNvZGVzCisgICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAweDFFMDAwMQorICAgICAgICAgIDFfcmVwZWF0ICAgICAgICAgICAgICAgMHgxNjgwMDEKKyAgICAgICAgICAyICAgICAgICAgICAgICAgICAgICAgIDB4MUQwMDAyCisgICAgICAgICAgMl9yZXBlYXQgICAgICAgICAgICAgICAweDE1ODAwMgorICAgICAgICAgIDMgICAgICAgICAgICAgICAgICAgICAgMHgxQzAwMDMKKyAgICAgICAgICAzX3JlcGVhdCAgICAgICAgICAgICAgIDB4MTQ4MDAzCisgICAgICAgICAgNCAgICAgICAgICAgICAgICAgICAgICAweDFCMDAwNAorICAgICAgICAgIDRfcmVwZWF0ICAgICAgICAgICAgICAgMHgxMzgwMDQKKyAgICAgICAgICA1ICAgICAgICAgICAgICAgICAgICAgIDB4MUEwMDA1CisgICAgICAgICAgNV9yZXBlYXQgICAgICAgICAgICAgICAweDEyODAwNQorICAgICAgICAgIDYgICAgICAgICAgICAgICAgICAgICAgMHgxOTAwMDYKKyAgICAgICAgICA2X3JlcGVhdCAgICAgICAgICAgICAgIDB4MTE4MDA2CisgICAgICAgICAgNyAgICAgICAgICAgICAgICAgICAgICAweDE4MDAwNworICAgICAgICAgIDdfcmVwZWF0ICAgICAgICAgICAgICAgMHgxMDgwMDcKKyAgICAgICAgICA4ICAgICAgICAgICAgICAgICAgICAgIDB4MTcwMDA4CisgICAgICAgICAgOF9yZXBlYXQgICAgICAgICAgICAgICAweDFGODAwOAorICAgICAgICAgIDkgICAgICAgICAgICAgICAgICAgICAgMHgxNjAwMDkKKyAgICAgICAgICA5X3JlcGVhdCAgICAgICAgICAgICAgIDB4MUU4MDA5CisgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAweDFGMDAwMAorICAgICAgICAgIDBfcmVwZWF0ICAgICAgICAgICAgICAgMHgxNzgwMDAKKyAgICAgICAgICBPSyAgICAgICAgICAgICAgICAgICAgIDB4MTgwMDI1CisgICAgICAgICAgT0tfcmVwZWF0ICAgICAgICAgICAgICAweDEwODAyNQorICAgICAgICAgIFBPV0VSICAgICAgICAgICAgICAgICAgMHgxMDAwMEYKKyAgICAgICAgICBQT1dFUl9yZXBlYXQgICAgICAgICAgIDB4MTg4MDBGCisgICAgICAgICAgVVAgICAgICAgICAgICAgICAgICAgICAweDFDMDAyMQorICAgICAgICAgIFVQX3JlcGVhdCAgICAgICAgICAgICAgMHgxNDgwMjEKKyAgICAgICAgICBET1dOICAgICAgICAgICAgICAgICAgIDB4MUIwMDIyCisgICAgICAgICAgRE9XTl9yZXBlYXQgICAgICAgICAgICAweDEzODAyMgorICAgICAgICAgIExFRlQgICAgICAgICAgICAgICAgICAgMHgxQTAwMjMKKyAgICAgICAgICBMRUZUX3JlcGVhdCAgICAgICAgICAgIDB4MTI4MDIzCisgICAgICAgICAgUklHSFQgICAgICAgICAgICAgICAgICAweDE5MDAyNAorICAgICAgICAgIFJJR0hUX3JlcGVhdCAgICAgICAgICAgMHgxMTgwMjQKKyAgICAgICAgICBSRVdJTkQgICAgICAgICAgICAgICAgIDB4MTkwMDMzCisgICAgICAgICAgUkVXSU5EX3JlcGVhdCAgICAgICAgICAweDExODAzMworICAgICAgICAgIFBMQVkgICAgICAgICAgICAgICAgICAgMHgxQzAwMzAKKyAgICAgICAgICBQTEFZX3JlcGVhdCAgICAgICAgICAgIDB4MTQ4MDMwCisgICAgICAgICAgRkFTVEZPUldBUkQgICAgICAgICAgICAweDE4MDAzNAorICAgICAgICAgIEZBU1RGT1JXQVJEX3JlcGVhdCAgICAgMHgxMDgwMzQKKyAgICAgICAgICBSRUNPUkQgICAgICAgICAgICAgICAgIDB4MTcwMDM1CisgICAgICAgICAgUkVDT1JEX3JlcGVhdCAgICAgICAgICAweDFGODAzNQorICAgICAgICAgIFJFUExBWSAgICAgICAgICAgICAgICAgMHgxNzAwNTMKKyAgICAgICAgICBSRVBMQVlfcmVwZWF0ICAgICAgICAgIDB4MUY4MDUzCisgICAgICAgICAgQSAgICAgICAgICAgICAgICAgICAgICAweDE5MDA2MAorICAgICAgICAgIEFfcmVwZWF0ICAgICAgICAgICAgICAgMHgxMTgwNjAKKyAgICAgICAgICBCICAgICAgICAgICAgICAgICAgICAgIDB4MTgwMDYxCisgICAgICAgICAgQl9yZXBlYXQgICAgICAgICAgICAgICAweDEwODA2MQorICAgICAgICAgIEMgICAgICAgICAgICAgICAgICAgICAgMHgxNzAwNjIKKyAgICAgICAgICBDX3JlcGVhdCAgICAgICAgICAgICAgIDB4MUY4MDYyCisgICAgICAgICAgRCAgICAgICAgICAgICAgICAgICAgICAweDE2MDA2MworICAgICAgICAgIERfcmVwZWF0ICAgICAgICAgICAgICAgMHgxRTgwNjMKKyAgICAgICAgICBQQUdFX1VQICAgICAgICAgICAgICAgIDB4MTUwMDI4CisgICAgICAgICAgUEFHRV9VUF9yZXBlYXQgICAgICAgICAweDFEODAyOAorICAgICAgICAgIFBBR0VfRE9XTiAgICAgICAgICAgICAgMHgxNDAwMjkKKyAgICAgICAgICBQQUdFX0RPV05fcmVwZWF0ICAgICAgIDB4MUM4MDI5CisgICAgICAgICAgR1VJREUgICAgICAgICAgICAgICAgICAweDE2MDAyNworICAgICAgICAgIEdVSURFX3JlcGVhdCAgICAgICAgICAgMHgxRTgwMjcKKyAgICAgICAgICBNRU5VICAgICAgICAgICAgICAgICAgIDB4MUQwMDIwCisgICAgICAgICAgTUVOVV9yZXBlYXQgICAgICAgICAgICAweDE1ODAyMAorICAgICAgICAgIEVYSVQgICAgICAgICAgICAgICAgICAgMHgxMzAwMkEKKyAgICAgICAgICBFWElUX3JlcGVhdCAgICAgICAgICAgIDB4MUI4MDJBCisgICAgICAgICAgSU5GTyAgICAgICAgICAgICAgICAgICAweDE3MDAyNgorICAgICAgICAgIElORk9fcmVwZWF0ICAgICAgICAgICAgMHgxRjgwMjYKKyAgICAgICAgICBMQVNUICAgICAgICAgICAgICAgICAgIDB4MTkwMDUxCisgICAgICAgICAgTEFTVF9yZXBlYXQgICAgICAgICAgICAweDExODA1MQorICAgICAgICAgIFZPTFVNRV9VUCAgICAgICAgICAgICAgMHgxNTAwMEEKKyAgICAgICAgICBWT0xVTUVfVVBfcmVwZWF0ICAgICAgIDB4MUQ4MDBBCisgICAgICAgICAgQ0hBTk5FTF9VUCAgICAgICAgICAgICAweDEyMDAwRAorICAgICAgICAgIENIQU5ORUxfVVBfcmVwZWF0ICAgICAgMHgxQTgwMEQKKyAgICAgICAgICBWT0xVTUVfRE9XTiAgICAgICAgICAgIDB4MTQwMDBCCisgICAgICAgICAgVk9MVU1FX0RPV05fcmVwZWF0ICAgICAweDFDODAwQgorICAgICAgICAgIENIQU5ORUxfRE9XTiAgICAgICAgICAgMHgxMTAwMEUKKyAgICAgICAgICBDSEFOTkVMX0RPV05fcmVwZWF0ICAgIDB4MTk4MDBFCisgICAgICAgICAgTVVURSAgICAgICAgICAgICAgICAgICAweDEzMDAwQworICAgICAgICAgIE1VVEVfcmVwZWF0ICAgICAgICAgICAgMHgxQjgwMEQKKyAgICAgIGVuZCBjb2RlcworCitlbmQgcmVtb3RlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjL2xpcmNkLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjL2xpcmNkLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIxMjRhZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmMvbGlyY2QuaW5pdApAQCAtMCwwICsxLDQwIEBACisjISAvYmluL3NoCisjCisjIFRoaXMgaXMgYW4gaW5pdCBzY3JpcHQgZm9yIEZhbWlsaWFyCisjIENvcHkgaXQgdG8gL2V0Yy9pbml0LmQvbGlyY2QgYW5kIHR5cGUKKyMgPiB1cGRhdGUtcmMuZCBsaXJjZCBkZWZhdWx0cyAyMAorIworCisKK3Rlc3QgLWYgL3Vzci9zYmluL2xpcmNkIHx8IGV4aXQgMAordGVzdCAtZiAvZXRjL2xpcmNkLmNvbmYgfHwgZXhpdCAwCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBlY2hvIC1uICJTdGFydGluZyBsaXJjIGRhZW1vbjogbGlyY2QiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAvdXNyL3NiaW4vbGlyY2QgLS0gLS1kZXZpY2U9L2Rldi9saXJjMAorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RvcCkKKyAgICBlY2hvIC1uICJTdG9wcGluZyBsaXJjIGRhZW1vbjogbGlyY2QiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1leGVjIC91c3Ivc2Jpbi9saXJjZAorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgcmVsb2FkfGZvcmNlLXJlbG9hZCkKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXNpZ25hbCAxIC0tZXhlYyAvdXNyL3NiaW4vbGlyY2QKKyAgICA7OworICByZXN0YXJ0KQorICAgIGVjaG8gLW4gIlN0b3BwaW5nIGxpcmMgZGFlbW9uOiBsaXJjZCIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLWV4ZWMgL3Vzci9zYmluL2xpcmNkCisgICAgc2xlZXAgMQorICAgIGVjaG8gLW4gIlN0YXJ0aW5nIGxpcmMgZGFlbW9uOiBsaXJjZCIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1leGVjIC91c3Ivc2Jpbi9saXJjZCAtLSAtLWRldmljZT0vZGV2L2xpcmMwCisgICAgZWNobyAiLiIKKyAgICA7OworICAqKQorICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC9saXJjZCB7c3RhcnR8c3RvcHxyZWxvYWR8cmVzdGFydHxmb3JjZS1yZWxvYWR9IgorICAgIGV4aXQgMQorZXNhYworCitleGl0IDAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy9saXJjZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpcmMvbGlyYy9saXJjZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NjYxMzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjL2xpcmNkLnNlcnZpY2UKQEAgLTAsMCArMSwyMCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1MSVJDIEluZnJhcmVkIFNpZ25hbCBEZWNvZGVyCitBZnRlcj1uZXR3b3JrLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRW52aXJvbm1lbnRGaWxlPS9ldGMvbGlyYy9saXJjZC5jb25mCitQSURGaWxlPS9ydW4vbGlyYy9saXJjZC5waWQKK0V4ZWNTdGFydFByZT0vYmluL21rZGlyIC1wIC9ydW4vbGlyYworRXhlY1N0YXJ0UHJlPS9iaW4vcm0gLWYgL2Rldi9saXJjZAorRXhlY1N0YXJ0UHJlPS9iaW4vcm0gLWYgL3J1bi9saXJjL2xpcmNkCitFeGVjU3RhcnRQcmU9L2Jpbi9sbiAtcyAvcnVuL2xpcmMvbGlyY2QgL2Rldi9saXJjZAorCitFeGVjU3RhcnQ9L3Vzci9zYmluL2xpcmNkIC0tcGlkZmlsZT0vcnVuL2xpcmMvbGlyY2QucGlkIC0tZGV2aWNlPS9kZXYvbGlyYzAKKworRXhlY1N0b3BQb3N0PS9iaW4vcm0gLWYgL2Rldi9saXJjZAorRXhlY1N0b3BQb3N0PS9iaW4vcm0gLWZSIC9ydW4vbGlyYworCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjL2xpcmNleGVjLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjL2xpcmNleGVjLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E4YzFhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmMvbGlyY2V4ZWMuaW5pdApAQCAtMCwwICsxLDM3IEBACisjISAvYmluL3NoCisjCisjIFRoaXMgaXMgYW4gaW5pdCBzY3JpcHQgZm9yIEZhbWlsaWFyCisjIENvcHkgaXQgdG8gL2V0Yy9pbml0LmQvbGlyY2V4ZWNkIGFuZCB0eXBlCisjID4gdXBkYXRlLXJjLmQgbGlyY2V4ZWNkIGRlZmF1bHRzIDIwCisjIEl0IG11c3QgYmUgc3RhcnRlZCBhZnRlciBsaXJjZCAoYW5kIGl0IGRvZXMgYWxwaGFiZXRpY2FsbHkgOi0pCisjIGlyZXhlYyByZWFkcyAvZXRjL2xpcmNyYyBieSBkZWZhdWx0CisKKwordGVzdCAtZiAvdXNyL2Jpbi9pcmV4ZWMgfHwgZXhpdCAwCit0ZXN0IC1mIC9ldGMvbGlyY3JjIHx8IGV4aXQgMAorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgZWNobyAtbiAiU3RhcnRpbmcgbGlyY2V4ZWMgZGFlbW9uOiBpcmV4ZWMiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAvdXNyL2Jpbi9pcmV4ZWMgLS0gLS1kYWVtb24KKyAgICBlY2hvICIuIgorICAgIDs7CisgIHN0b3ApCisgICAgZWNobyAtbiAiU3RvcHBpbmcgbGlyY2V4ZWMgZGFlbW9uOiBpcmV4ZWMiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1leGVjIC91c3IvYmluL2lyZXhlYworICAgIGVjaG8gIi4iCisgICAgOzsKKyAgcmVzdGFydHxmb3JjZS1yZXN0YXJ0KQorICAgIGVjaG8gLW4gIlN0b3BwaW5nIGxpcmNleGVjIGRhZW1vbjogaXJleGVjIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tZXhlYyAvdXNyL2Jpbi9pcmV4ZWMKKyAgICBzbGVlcCAxCisgICAgZWNobyAtbiAiU3RhcnRpbmcgbGlyY2V4ZWMgZGFlbW9uOiBpcmV4ZWMiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAvdXNyL2Jpbi9pcmV4ZWMgLS0gLS1kYWVtb24KKyAgICBlY2hvICIuIgorICAgIDs7CisgICopCisgICAgZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kL2xpcmNleGVjIHtzdGFydHxzdG9wfHJlbG9hZHxyZXN0YXJ0fGZvcmNlLXJlc3RhcnR9IgorICAgIGV4aXQgMQorZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saXJjL2xpcmNfMC45LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjXzAuOS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMGI2OGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlyYy9saXJjXzAuOS4yLmJiCkBAIC0wLDAgKzEsNzEgQEAKK3JlcXVpcmUgbGlyYy5pbmMKKworU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vbGlyY2Quc2VydmljZSBcCisgICAgZmlsZTovL2xpcmNkLmluaXQgXAorICAgIGZpbGU6Ly9saXJjZXhlYy5pbml0IFwKKyAgICBmaWxlOi8vbGlyY2QuY29uZiBcCisgICAgZmlsZTovL2xpcmNfb3B0aW9ucy5jb25mIFwKKyAgICBmaWxlOi8vbGlyYy50bXBmaWxlcyBcCisiCisjZmlsZTovLzAwMDEtQWRhcHRhdGlvbi1mb3ItU1RNLWNvbmZpZ3VyYXRpb24ucGF0Y2ggXAorIworU1JDX1VSSVttZDVzdW1dID0gIjNhZmM4NGU3OWMwODM5ODIzY2MyMGU3YTcxMGRkMDZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRlM2Y5NDhmY2RlZTZkY2UwMDkxNzExNDNmMGNiN2NkN2JlNDg1OTNkZDU4MTM4ZGI0MTAxYTQxZjY1MWExZGQiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAibGlyYyIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJsaXJjZC5zZXJ2aWNlIGxpcmNtZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRV9saXJjID0gImVuYWJsZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgcHl0aG9ubmF0aXZlCisKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14LC0td2l0aC14PW5vLGxpYngxMSwiCisKK1BBQ0tBR0VDT05GSUcgPz0gIiBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJyBzeXN0ZW1kJywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnIHgxMScsICcnLCBkKX0gXAorIgorCisjRVhUUkFfT0VNQUtFID0gJ1NVQkRJUlM9ImxpYiBkYWVtb25zIHRvb2xzIicKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfS9saXJjCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2xpYmRpcn0vdG1wZmlsZXMuZAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2xpcmNkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vbGlyYy8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9saXJjX29wdGlvbnMuY29uZiAke0R9JHtzeXNjb25mZGlyfS9saXJjLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2xpcmNkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbGlyY2V4ZWMuaW5pdCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9saXJjLnRtcGZpbGVzICR7RH0ke2xpYmRpcn0vdG1wZmlsZXMuZC9saXJjLmNvbmYKKyAgICBybSAtcmYgJHtEfSR7bGliZGlyfS9saXJjL3BsdWdpbnMvKi5sYQorICAgIHJtZGlyICR7RH0vdmFyL3J1bi9saXJjICR7RH0vdmFyL3J1bgorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tY29udHJpYiAke1BOfS1leGVjICR7UE59LXBsdWdpbnMgJHtQTn0tcHl0aG9uIgorCitSREVQRU5EU18ke1BOfSA9ICJiYXNoIgorUkRFUEVORFNfJHtQTn0tZXhlYyA9ICIke1BOfSIKK1JERVBFTkRTXyR7UE59LXB5dGhvbiA9ICJweXRob24iCisKK1JSRUNPTU1FTkRTX2xpcmMgPSAiJHtQTn0tZXhlYyAke1BOfS1wbHVnaW5zIgorCitGSUxFU18ke1BOfS1wbHVnaW5zID0gIiR7bGliZGlyfS9saXJjL3BsdWdpbnMvKi5zbyAke2RhdGFkaXJ9L2xpcmMvY29uZmlncyIKK0ZJTEVTXyR7UE59LWNvbnRyaWIgPSAiJHtkYXRhZGlyfS9saXJjL2NvbnRyaWIiCitGSUxFU18ke1BOfS1leGVjID0gIiR7YmluZGlyfS9pcmV4ZWMgJHtzeXNjb25mZGlyfS9saXJjZXhlYyIKK0ZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2xpcmNleGVjLmluaXQiCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9saXJjZC5zZXJ2aWNlIgorRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbGlyY2Quc29ja2V0IgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90bXBmaWxlcy5kL2xpcmMuY29uZiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2xpcmMvcGx1Z2lucy8uZGVidWciCitGSUxFU18ke1BOfS1weXRob24gKz0gIiR7bGliZGlyfS9weXRob24qL3NpdGUtcGFja2FnZXMiCisKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICJsaXJjIGxpcmMtZXhlYyIKK0lOSVRTQ1JJUFRfTkFNRV9saXJjLWV4ZWMgPSAibGlyY2V4ZWMiCitJTklUU0NSSVBUX1BBUkFNU19saXJjLWV4ZWMgPSAiZGVmYXVsdHMgMjEiCisKKyMgdGhpcyBpcyBmb3IgZGlzdHJpYnV0aW9ucyB0aGF0IGRvbid0IHVzZSB1ZGV2Citwa2dfcG9zdGluc3RfJHtQTn1fYXBwZW5kKCkgeworICAgIGlmIFsgISAtYyAkRC9kZXYvbGlyYyAtYSAhIC1mIC9zYmluL3VkZXZkIF07IHRoZW4gbWtub2QgJEQvZGV2L2xpcmMgYyA2MSAwOyBmaQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xvdWRtb3V0aC9sb3VkbW91dGgtMS40LjMvMDQtdXNlLXBrZy1jb25maWctZm9yLWdudXRscy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9sb3VkbW91dGgvbG91ZG1vdXRoLTEuNC4zLzA0LXVzZS1wa2ctY29uZmlnLWZvci1nbnV0bHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBmMzg4ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9sb3VkbW91dGgvbG91ZG1vdXRoLTEuNC4zLzA0LXVzZS1wa2ctY29uZmlnLWZvci1nbnV0bHMucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorRGVzY3JpcHRpb246IHVzZSBwa2ctY29uZmlnIHRvIGRldGVjdCBnbnV0bHMKK0RlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy81Mjk4MzUKK09yaWdpbjogaHR0cDovL2dyb3Vwcy5nb29nbGUuY29tL2dyb3VwL2xvdWRtb3V0aC1kZXYvYnJvd3NlX3RocmVhZC90aHJlYWQvM2Y3ODI1NTgzNzA0OGRhZiMKKworLS0tIGEvY29uZmlndXJlLmFjLm9yaWcJMjAwOS0wOC0xNiAyMDoyOTozNi4wMDAwMDAwMDAgKzAyMDAKKysrKyBiL2NvbmZpZ3VyZS5hYwkyMDA5LTA4LTE2IDIwOjMwOjQzLjAwMDAwMDAwMCArMDIwMAorQEAgLTE0NiwxMCArMTQ2LDEyIEBAIEFDX0FSR19XSVRIKG9wZW5zc2wtbGlicywKKyBlbmFibGVfc3NsPW5vCisgaWYgdGVzdCAieCRhY19zc2wiID0gInhnbnV0bHMiOyB0aGVuCisgICBkbmwgTG9vayBmb3IgR251VExTCistICBBTV9QQVRIX0xNX0xJQkdOVVRMUygkR05VVExTX1JFUVVJUkVELCBoYXZlX2xpYmdudXRscz15ZXMsIGhhdmVfbGliZ251dGxzPW5vKQorLSAgaWYgdGVzdCAieCRoYXZlX2xpYmdudXRscyIgPSAieHllcyI7IHRoZW4KKy0gICAgQ0ZMQUdTPSIkQ0ZMQUdTICRMSUJHTlVUTFNfQ0ZMQUdTIgorLSAgICBMSUJTPSIkTElCUyAkTElCR05VVExTX0xJQlMiCisrICBQS0dfQ0hFQ0tfTU9EVUxFUyhHTlVUTFMsIGdudXRscyA+PSAkR05VVExTX1JFUVVJUkVELCBoYXZlX2dudXRscz15ZXMsIGhhdmVfZ251dGxzPW5vKQorKyAgaWYgdGVzdCAieCRoYXZlX2dudXRscyIgPSAieHllcyI7IHRoZW4gCisrICAgIEFDX1NVQlNUKEFTWU5DTlNfQ0ZMQUdTKQorKyAgICBBQ19TVUJTVChBU1lOQ05TX0xJQlMpCisrICAgIENGTEFHUz0iJENGTEFHUyAkR05VVExTX0NGTEFHUyIKKysgICAgTElCUz0iJExJQlMgJEdOVVRMU19MSUJTIgorICAgICBBQ19ERUZJTkUoSEFWRV9HTlVUTFMsIDEsIFt3aGV0aGVyIHRvIHVzZSBHbnVUU0wgc3VwcG9ydC5dKQorICAgICBlbmFibGVfc3NsPUdudVRMUworICAgZWxzZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xvdWRtb3V0aC9sb3VkbW91dGgtMS40LjMvZ2xpYi0yLjMyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xvdWRtb3V0aC9sb3VkbW91dGgtMS40LjMvZ2xpYi0yLjMyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2Yzk0MjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbG91ZG1vdXRoL2xvdWRtb3V0aC0xLjQuMy9nbGliLTIuMzIucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0tIGxvdWRtb3V0aC0xLjQuMy5vcmlnL2xvdWRtb3V0aC9sbS1lcnJvci5jCTIwMDgtMTAtMjkgMjE6NDg6MTUuMDAwMDAwMDAwICswMTAwCisrKysgbG91ZG1vdXRoLTEuNC4zL2xvdWRtb3V0aC9sbS1lcnJvci5jCTIwMTItMDUtMDYgMDg6Mjc6MDcuNDU1NzM5NDQwICswMjAwCitAQCAtMTksNyArMTksNiBAQAorICAqLworIAorICNpbmNsdWRlIDxjb25maWcuaD4KKy0jaW5jbHVkZSA8Z2xpYi9nZXJyb3IuaD4KKyAjaW5jbHVkZSAibG0tZXJyb3IuaCIKKyAKKyAvKioKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9sb3VkbW91dGgvbG91ZG1vdXRoXzEuNC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xvdWRtb3V0aC9sb3VkbW91dGhfMS40LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGYxNDMwYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9sb3VkbW91dGgvbG91ZG1vdXRoXzEuNC4zLmJiCkBAIC0wLDAgKzEsMjEgQEAKK0RFU0NSSVBUSU9OID0gIkxvdWRtb3V0aCBpcyBhIGxpZ2h0d2VpZ2h0IGFuZCBlYXN5LXRvLXVzZSBDIGxpYnJhcnkgZm9yIHByb2dyYW1taW5nIHdpdGggdGhlIEphYmJlciBwcm90b2NvbC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxvdWRtb3V0aC1wcm9qZWN0Lm9yZy8iCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jNGYzOGFlZjk0ODI4ZjZiMjgwZTAwZDExNzNiZTY4OSIKKworREVQRU5EUyA9ICJnbGliLTIuMCBsaWJjaGVjayBvcGVuc3NsIGxpYmlkbiIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWRvYworCitQUiA9ICJyMiIKKworU1JDX1VSSSArPSAiZmlsZTovLzA0LXVzZS1wa2ctY29uZmlnLWZvci1nbnV0bHMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2dsaWItMi4zMi5wYXRjaCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNTUzMzljYTQyNDk0NjkwYzM5NDJlZTE0NjVhOTY5MzciCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI5NWE5M2Y1ZDAwOWI3MWVhODE5M2Q5OTRhYTExZjMxMWJjMzMwYTNlZmUxYjdjZDc0ZGM0OGYxMWM3ZjkyOWUzIgorR05PTUVfQ09NUFJFU1NfVFlQRT0iYnoyIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXNzbD1vcGVuc3NsIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9kZW1tYW5hZ2VyL21vZGVtbWFuYWdlcl8xLjQuMTIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9kZW1tYW5hZ2VyL21vZGVtbWFuYWdlcl8xLjQuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE3M2U2OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2RlbW1hbmFnZXIvbW9kZW1tYW5hZ2VyXzEuNC4xMi5iYgpAQCAtMCwwICsxLDQ5IEBACitTVU1NQVJZID0gIk1vZGVtTWFuYWdlciBpcyBhIGRhZW1vbiBjb250cm9sbGluZyBicm9hZGJhbmQgZGV2aWNlcy9jb25uZWN0aW9ucyIKK0RFU0NSSVBUSU9OID0gIk1vZGVtTWFuYWdlciBpcyBhIERCdXMtYWN0aXZhdGVkIGRhZW1vbiB3aGljaCBjb250cm9scyBtb2JpbGUgYnJvYWRiYW5kICgyRy8zRy80RykgZGV2aWNlcyBhbmQgY29ubmVjdGlvbnMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL01vZGVtTWFuYWdlci8iCitMSUNFTlNFID0gIkdQTC0yLjAgJiBMR1BMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiIFwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorIgorCitpbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IHN5c3RlbWQgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworREVQRU5EUyA9ICJnbGliLTIuMCBsaWJndWRldiBkYnVzLWdsaWIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvTW9kZW1NYW5hZ2VyL01vZGVtTWFuYWdlci0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiNjZjYzcyNjZiMTU1MjVjYjM2NjI1M2U2NjM5ZmM1NjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2VmNTAzNTM3NWE5NTNiMjg1YTc0MjU5MWRmMGE2NWZkNDQyZjQ2NDFjZTRkOGY0MzkyYTQxZDZkNmJjNzBiMyIKKworUyA9ICIke1dPUktESVJ9L01vZGVtTWFuYWdlci0ke1BWfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm1iaW0gcW1pIHBvbGtpdCBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IFwKKyIKKworUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sLCIKK1BBQ0tBR0VDT05GSUdbcG9sa2l0XSA9ICItLXdpdGgtcG9sa2l0PXllcywtLXdpdGgtcG9sa2l0PW5vLHBvbGtpdCIKKyMgU3VwcG9ydCBXV0FOIG1vZGVtcyBhbmQgZGV2aWNlcyB3aGljaCBzcGVhayB0aGUgTW9iaWxlIEludGVyZmFjZSBCcm9hZGJhbmQgTW9kZWwgKE1CSU0pIHByb3RvY29sLgorUEFDS0FHRUNPTkZJR1ttYmltXSA9ICItLXdpdGgtbWJpbSwtLWVuYWJsZS1tYmltPW5vLGxpYm1iaW0iCisjIFN1cHBvcnQgV1dBTiBtb2RlbXMgYW5kIGRldmljZXMgd2hpY2ggc3BlYWsgdGhlIFF1YWxjb21tIE1TTSBJbnRlcmZhY2UgKFFNSSkgcHJvdG9jb2wuCitQQUNLQUdFQ09ORklHW3FtaV0gPSAiLS13aXRoLXFtaSwtLXdpdGhvdXQtcW1pLGxpYnFtaSIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9pY29ucyBcCisgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorICAgICR7bGliZGlyfS9Nb2RlbU1hbmFnZXIgXAorICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0gXAorIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiBcCisgICAgJHtsaWJkaXJ9L01vZGVtTWFuYWdlci8qLmxhIFwKKyIKKworRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIgXAorICAgICR7bGliZGlyfS9Nb2RlbU1hbmFnZXIvKi5hIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vTW9kZW1NYW5hZ2VyLy5kZWJ1ZyIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIk1vZGVtTWFuYWdlci5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc2gvbW9zaF8xLjIuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2hfMS4yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZlMmE3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2hfMS4yLjQuYmIKQEAgLTAsMCArMSw0NyBAQAorIyBOT1RFOiBtb3NoLXNlcnZlciByZXF1aXJlcyBhIFVURi04IGxvY2FsZSwgYnV0IHRoZXJlJ3Mgbm8gd2F5IHRvIGFkZAorIyBhbiBleHBsaWNpdCBkZXBlbmRlbmN5IGZvciB0aGlzIHNvIHlvdSBuZWVkIHRvIGVuc3VyZSB0aGlzIGlzIGluIHlvdXIKKyMgaW1hZ2UgeW91cnNlbGYgd2hlbiB5b3UgaW5zdGFsbCBtb3NoLXNlcnZlci4KKworU1VNTUFSWSA9ICJSZW1vdGUgc2hlbGwgc3VwcG9ydGluZyByb2FtaW5nIGFuZCBoaWdoLWxhdGVuY3kgY29ubmVjdGlvbnMiCitERVNDUklQVElPTiA9ICJSZW1vdGUgdGVybWluYWwgYXBwbGljYXRpb24gdGhhdCBhbGxvd3Mgcm9hbWluZywgc3VwcG9ydHMgXAoraW50ZXJtaXR0ZW50IGNvbm5lY3Rpdml0eSwgYW5kIHByb3ZpZGVzIGludGVsbGlnZW50IGxvY2FsIGVjaG8gYW5kIGxpbmUgXAorZWRpdGluZyBvZiB1c2VyIGtleXN0cm9rZXMuIE1vc2ggaXMgYSByZXBsYWNlbWVudCBmb3IgU1NILiBJdCdzIG1vcmUgXAorcm9idXN0IGFuZCByZXNwb25zaXZlLCBlc3BlY2lhbGx5IG92ZXIgV2ktRmksIGNlbGx1bGFyLCBhbmQgXAorbG9uZy1kaXN0YW5jZSBsaW5rcy4iCitIT01FUEFHRSA9ICJodHRwOi8vbW9zaC5taXQuZWR1IgorTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJwcm90b2J1Zi1uYXRpdmUgcHJvdG9idWYgbmN1cnNlcyB6bGliIGxpYmlvLXB0eS1wZXJsIG9wZW5zc2wgbGlidXRlbXB0ZXIiCisKK1NSQ19VUkkgPSAiaHR0cDovL21vc2gubWl0LmVkdS9tb3NoLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImMyZDkxOGY0ZDkxZmRjMzI1NDZlMmUwODlmOTI4MWIyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU3NGQwZDMyMzIyNjA0NmU0MDJkZDQ2OWExNzYwNzVmYzIwMTNiNjliMGU2N2NlYTQ5NzYyYzk1NzE3NWRmNDYiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS1zZXJ2ZXIiCitGSUxFU18ke1BOfS1zZXJ2ZXIgPSAiJHtiaW5kaXJ9L21vc2gtc2VydmVyIgorCitORUVERURfUEVSTF9NT0RVTEVTID0gIlwKKwlwZXJsLW1vZHVsZS1zb2NrZXQgXAorCXBlcmwtbW9kdWxlLWdldG9wdC1sb25nIFwKKwlwZXJsLW1vZHVsZS1lcnJubyBcCisJcGVybC1tb2R1bGUtaW8tc29ja2V0LWluZXQgXAorCXBlcmwtbW9kdWxlLXBvc2l4IFwKKyIKKworIyBtb3NoIHVzZXMgU1NIIHRvIGF1dGhlbnRpY2F0ZSBhbmQgdGhlIGNsaWVudCB1c2VzIE9wZW5TU0gtc3BlY2lmaWMgZmVhdHVyZXMKK1JERVBFTkRTXyR7UE59ICs9ICJvcGVuc3NoLXNzaCAke05FRURFRF9QRVJMX01PRFVMRVN9IgorIyBUaGUgc2VydmVyIHNlZW1lZCBub3QgdG8gd29yayB3aXRoIGRyb3BiZWFyIGVpdGhlcgorUkRFUEVORFNfJHtQTn0tc2VydmVyICs9ICJvcGVuc3NoLXNzaGQgJHtORUVERURfUEVSTF9NT0RVTEVTfSIKKworIyBGYWlscyB0byBidWlsZCB3aXRoIHRodW1iLTEgKHFlbXVhcm0pCisjfCB7c3RhbmRhcmQgaW5wdXR9OiBBc3NlbWJsZXIgbWVzc2FnZXM6CisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDA6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgYWRkcyByNCxyNCxyNCcKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjEwMTogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWQgaW4gVGh1bWIxNiBtb2RlIC0tIGBhZGNzIHI1LHI1LHI1JworI3wge3N0YW5kYXJkIGlucHV0fToyMTAyOiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBpbiBUaHVtYjE2IG1vZGUgLS0gYGFkY3MgcjYscjYscjYnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDM6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgYWRjcyByNyxyNyxyNycKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjEwNDogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYGl0IGNzJworQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXItb3BlbnZwbl8xLjAuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci1vcGVudnBuXzEuMC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1OGVlNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXItb3BlbnZwbl8xLjAuOC5iYgpAQCAtMCwwICsxLDMxIEBACitTVU1NQVJZID0gIk5ldHdvcmtNYW5hZ2VyLW9wZW52cG4tcGx1Z2luIgorU0VDVElPTiA9ICJuZXQvbWlzYyIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMDBkNWE1OTliZWFkNzBkZGNkNzBkY2Q3M2YyZTI5YyIKKworREVQRU5EUyA9ICJkYnVzIGRidXMtZ2xpYiBuZXR3b3JrbWFuYWdlciBvcGVudnBuIgorCitpbmhlcml0IGdub21lYmFzZSB1c2VyYWRkIGdldHRleHQgc3lzdGVtZAorCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS9OZXR3b3JrTWFuYWdlci1vcGVudnBuLyR7QGdub21lX3ZlcmRpcigiJHtQVn0iKX0vTmV0d29ya01hbmFnZXItb3BlbnZwbi0ke1BWfS50YXIueHoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3NThhOTk1MWFkNWUyMGEzN2M3MmNjNzMyNmM5Yzc1MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYjk3OTUxOWQ3MmJhNGQ3OGU3MjlkNDg1NmM1YjUzZmFkOTE0Y2E3ZWUzY2E5MTIwOWNlNDg5YmE3ODkxMmFjIgorCitTID0gIiR7V09SS0RJUn0vTmV0d29ya01hbmFnZXItb3BlbnZwbi0ke1BWfSIKKworUEFDS0FHRUNPTkZJR1tnbm9tZV0gPSAiLS13aXRoLWdub21lLC0td2l0aG91dC1nbm9tZSIKKworIyBDcmVhdGUgdXNlciBhbmQgZ3JvdXAgbm0tb3BlbnZwbiB0aGF0IGFyZSBuZWVkZWQgc2luY2UgdmVyc2lvbiAxLjAuNgorVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gbm0tb3BlbnZwbiIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtsaWJkaXJ9L05ldHdvcmtNYW5hZ2VyLyouc28gXAorIgorCitSREVQRU5EU18ke1BOfSA9ICIgXAorICAgIG5ldHdvcmttYW5hZ2VyIFwKKyAgICBvcGVudnBuIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLWRvbi10LXRyeS10by1ydW4tc2Jpbi1kaGNsaWVudC10by1nZXQtdGhlLXZlcnNpb24tbnUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMS1kb24tdC10cnktdG8tcnVuLXNiaW4tZGhjbGllbnQtdG8tZ2V0LXRoZS12ZXJzaW9uLW51LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjOWVkOTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMS1kb24tdC10cnktdG8tcnVuLXNiaW4tZGhjbGllbnQtdG8tZ2V0LXRoZS12ZXJzaW9uLW51LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gN2RkNDBkYjY2MDZjM2IzNTU5MzY1YTAzOTQ0Y2I5OWFlZTVjZWFiYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFRodSwgNCBBcHIgMjAxMyAxMjo1Nzo1OCArMDIwMAorU3ViamVjdDogW1BBVENIXSBkb24ndCB0cnkgdG8gcnVuIC9zYmluL2RoY2xpZW50IHRvIGdldCB0aGUgdmVyc2lvbiBudW1iZXIsCisgdGhpcyBicmVhayBjcm9zcy1jb21waWxpbmcKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtidWlsZCBzeXN0ZW0gc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgIDYgLS0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGNjNjZlOWIuLjcxNjMyODcgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTQ4OCwxMiArNDg4LDYgQEAgQVNfSUYoW3Rlc3QgLXogIiR3aXRoX2RoY3BjZCJdLCB3aXRoX2RoY3BjZD15ZXMpCisgIyBTZWFyY2ggYW5kIGNoZWNrIHRoZSBleGVjdXRhYmxlcworIGlmIHRlc3QgIiR3aXRoX2RoY2xpZW50IiA9ICJ5ZXMiOyB0aGVuCisgCUFDX1BBVEhfUFJPR1Mod2l0aF9kaGNsaWVudCwgZGhjbGllbnQsIG5vLCAvc2JpbjovdXNyL3NiaW46L3Vzci9sb2NhbC9zYmluKQorLQlpZiB0ZXN0ICIkd2l0aF9kaGNsaWVudCIgIT0gIm5vIjsgdGhlbgorLQkJaWYgISAkd2l0aF9kaGNsaWVudCAtLXZlcnNpb24gMj4mMSB8IGdyZXAgLXEgIl5pc2MtZGhjbGllbnQtNFwuIjsgdGhlbgorLQkJCUFDX01TR19XQVJOKFtDYW5ub3QgdXNlIGRoY2xpZW50LCB2ZXJzaW9uIDQueCBpcyByZXF1aXJlZF0pCistCQkJd2l0aF9kaGNsaWVudD1ubworLQkJZmkKKy0JZmkKKyBmaQorIGlmIHRlc3QgIiR3aXRoX2RoY3BjZCIgPSAieWVzIjsgdGhlbgorIAlBQ19QQVRIX1BST0dTKHdpdGhfZGhjcGNkLCBkaGNwY2QsIG5vLCAvc2JpbjovdXNyL3NiaW46L3Vzci9sb2NhbC9zYmluKQorLS0gCisxLjcuNi41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAyLWFkZC1wa2ctY29uZmlnLWZvci1saWJnY3J5cHQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMi1hZGQtcGtnLWNvbmZpZy1mb3ItbGliZ2NyeXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiOTVlYWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMi1hZGQtcGtnLWNvbmZpZy1mb3ItbGliZ2NyeXB0LnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gYTkyNjFmZWU0YTQxMDQ1YzQyZTBkMjkyMjM3Y2VlNTMyZTExOTgyYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFkcmlhbiA8YWRyaWFuLmZyZWlob2ZlckBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDI3IE5vdiAyMDE0IDE1OjQzOjI2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGFkZCBwa2cgY29uZmlnIGZvciBsaWJnY3J5cHQKKworLS0tCisgY29uZmlndXJlLmFjIHwgMTggKysrKysrKy0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDk0YjA3NTguLjY1NGEwMTUgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTQ4MCwxNyArNDgwLDEzIEBAIGlmIHRlc3QgeCIkYWNfY3J5cHRvIiA9IHhuc3M7IHRoZW4KKyAgIHdpdGhfbnNzPXllcworIGVsaWYgdGVzdCB4IiRhY19jcnlwdG8iID0geGdudXRsczsgdGhlbgorICAgUEtHX0NIRUNLX01PRFVMRVMoR05VVExTLCBbZ251dGxzID49IDEuMl0pCistICBBQ19QQVRIX1BST0coTElCR0NSWVBUX0NPTkZJRywgbGliZ2NyeXB0LWNvbmZpZywgbm8pCistICBpZiB0ZXN0IHgiJExJQkdDUllQVF9DT05GSUciID0geG5vOyB0aGVuCistICAgIEFDX01TR19FUlJPUihbZ251dGxzIGV4cGxpY2l0bHkgcmVxdWVzdGVkIGJ1dCBnY3J5cHQgbm90IGZvdW5kIG9uIHN5c3RlbV0pCistICBlbHNlCistICAgIEFDX0RFRklORShIQVZFX0dOVVRMUywgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBsaWJnbnV0bHNdKQorLSAgICBMSUJHQ1JZUFRfQ0ZMQUdTPWAkTElCR0NSWVBUX0NPTkZJRyAtLWNmbGFnc2AKKy0gICAgTElCR0NSWVBUX0xJQlM9YCRMSUJHQ1JZUFRfQ09ORklHIC0tbGlic2AKKy0gICAgQUNfU1VCU1QoTElCR0NSWVBUX0NGTEFHUykKKy0gICAgQUNfU1VCU1QoTElCR0NSWVBUX0xJQlMpCistICAgIHdpdGhfZ251dGxzPXllcworLSAgZmkKKysgIEFDX0RFRklORShIQVZFX0dOVVRMUywgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBsaWJnbnV0bHNdKQorKyAgUEtHX0NIRUNLX01PRFVMRVMoTElCR0NSWVBULCBbbGliZ2NyeXB0ID49IDEuMS40Ml0sIFsKKysgICAgICBBQ19ERUZJTkUoSEFWRV9HQ1JZUFQsIDEsIFtEZWZpbmUgaWYgZ2NyeXB0IGxpYnJhcnkgaXMgYXZhaWxhYmxlLl0pCisrICAgICAgd2l0aF9nbnV0bHM9eWVzCisrICAgIF0sIFsKKysgICAgICBBQ19NU0dfRVJST1IoW2dudXRscyBleHBsaWNpdGx5IHJlcXVlc3RlZCBidXQgZ2NyeXB0IG5vdCBmb3VuZCBvbiBzeXN0ZW1dKQorKyAgICBdKQorIGVsc2UKKyAgIEFDX01TR19FUlJPUihbUGxlYXNlIGNob29zZSBlaXRoZXIgJ25zcycgb3IgJ2dudXRscycgZm9yIGNlcnRpZmljYXRlIGFuZCBjcnlwdG8gb3BlcmF0aW9uc10pCisgZmkKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDMtY29yZS1maXgtZmFpbHVyZS10by1jb25maWd1cmUtcm91dGVzLWR1ZS10by13cm9uZy1kZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAzLWNvcmUtZml4LWZhaWx1cmUtdG8tY29uZmlndXJlLXJvdXRlcy1kdWUtdG8td3JvbmctZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRhNTM2ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAzLWNvcmUtZml4LWZhaWx1cmUtdG8tY29uZmlndXJlLXJvdXRlcy1kdWUtdG8td3JvbmctZGUucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorRnJvbSAxMWFhMDdlZDkzOTE5M2U4NTUxNmMyODdhNTdkZWUxODM3MjQyOTcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVGhvbWFzIEhhbGxlciA8dGhhbGxlckByZWRoYXQuY29tPgorRGF0ZTogTW9uLCA0IEphbiAyMDE2IDE4OjU0OjI2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMS83XSBjb3JlOiBmaXggZmFpbHVyZSB0byBjb25maWd1cmUgcm91dGVzIGR1ZSB0byB3cm9uZworIGRldmljZS1yb3V0ZSBmb3IgSVB2NCBwZWVyLWFkZHJlc3NlcworCitBcyBpbiB0aGUgY2FzZSBvZiBhIE9wZW5WUE4gY29ubmVjdGlvbiwgd2UgbWlnaHQgYWRkIGFuIGFkZHJlc3MgbGlrZToKKyAgMTAuOC4wLjU4LzMyIHB0cCAxMC44LjAuNTcKKworSW4gdGhpcyBjYXNlLCBrZXJuZWwgd291bGQgYXV0b21hdGljYWxseSBhZGQgYSBkZXZpY2Utcm91dGUgbGlrZToKKyAgMTAuOC4wLjU3LzMyIHZpYSAwLjAuMC4wIGRldiAzMiBtZXRyaWMgMCBtc3MgMCBzcmMgcnRwcm90LWtlcm5lbCBzY29wZSBsaW5rIHByZWYtc3JjIDEwLjguMC41OAorCitubV9pcDRfY29uZmlnX2NvbW1pdCgpIGNoZWNrcyBhbGwgSVAgYWRkcmVzc2VzIHRvIGZpZ3VyZSBvdXQKK3RoZSBwcmVzZW50IGRldmljZS1yb3V0ZXMuIFRoZW4gdGhlIHJvdXRlcyBhcmUgc3luY2VkIGJ5IE5NUm91dGVNYW5hZ2VyLgorRHVlIHRvIGEgYnVnLCB3ZSB3b3VsZCBub3QgY29uc2lkZXIgdGhlIHBlZXItYWRkcmVzcywgYnV0IHRoZSBsb2NhbC1hZGRyZXNzCithbmQgY29uZmlndXJlIGEgcm91dGUgMTAuOC4wLjU4LzMyLCBpbnN0ZWFkIG9mIDEwLjguMC41Ny8zMi4KKworVGhhdCBzdGF5cyBtb3N0bHkgdW5ub3RpY2VkLCBiZWNhdXNlIHVzdWFsbHkgdGhlIHBlZXIgYW5kIHRoZSBsb2NhbC1hZGRyZXNzIGFyZQoraW4gdGhlIHNhbWUgc3VibmV0LCBzbyB0aGF0IHRoZXJlIGlzIG5vIGRpZmZlcmVuY2UgKC8zMiBpcyBhbiBleGFtcGxlIG9mIHRoZQorcGVlci1hZGRyZXNzIGJlaW5nIGluIGEgZGlmZmVyZW50IHN1Ym5ldCkuCisKK0l0IGFsc28gc2VlbXMgdGhhdCBkdWUgdG8gYSBidWcgZml4ZWQgYnkgZGY0ZTUzNTc1MjEgdGhpcyBpc3N1ZSBkaWRuJ3Qgc3VyZmFjZS4KK1Byb2JhYmx5IGJlY2F1c2Ugd2Ugd291bGQgbm90IG5vdGljZSB0aGUgMTAuOC4wLjU3LzMyIHJpZ2h0IGF3YXkgYW5kIHRodXMKK25tX3JvdXRlX21hbmFnZXJfaXA0X3JvdXRlX3N5bmMoKSB3b3VsZCBub3Qgd3JvbmdseSBkZWxldGUgaXQuCisKK2h0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk4OTIKKworaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1Zz04MDkxOTUKK2h0dHBzOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9ODA5NDk0CitodHRwczovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTgwOTUyNgoraHR0cHM6Ly9idWdzLmFyY2hsaW51eC5vcmcvdGFzay80NzUzNQoraHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMjk0MzA5CitodHRwczovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL25ldHdvcmttYW5hZ2VyLWxpc3QvMjAxNS1EZWNlbWJlci9tc2cwMDA1OS5odG1sCistLS0KKyBzcmMvbm0taXA0LWNvbmZpZy5jIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbm0taXA0LWNvbmZpZy5jIGIvc3JjL25tLWlwNC1jb25maWcuYworaW5kZXggZjYyNWQzNS4uNjFlMjlhZiAxMDA2NDQKKy0tLSBhL3NyYy9ubS1pcDQtY29uZmlnLmMKKysrKyBiL3NyYy9ubS1pcDQtY29uZmlnLmMKK0BAIC0yOTgsNyArMjk4LDggQEAgbm1faXA0X2NvbmZpZ19jb21taXQgKGNvbnN0IE5NSVA0Q29uZmlnICpjb25maWcsIGludCBpZmluZGV4LCBnYm9vbGVhbiByb3V0ZXNfZnUKKyAKKyAJCQkJcm91dGUuaWZpbmRleCA9IGlmaW5kZXg7CisgCQkJCXJvdXRlLnNvdXJjZSA9IE5NX0lQX0NPTkZJR19TT1VSQ0VfS0VSTkVMOworLQkJCQlyb3V0ZS5uZXR3b3JrID0gbm1fdXRpbHNfaXA0X2FkZHJlc3NfY2xlYXJfaG9zdF9hZGRyZXNzIChhZGRyLT5hZGRyZXNzLCBhZGRyLT5wbGVuKTsKKysJCQkJcm91dGUubmV0d29yayA9IG5tX3V0aWxzX2lwNF9hZGRyZXNzX2NsZWFyX2hvc3RfYWRkcmVzcyAoYWRkci0+cGVlcl9hZGRyZXNzID8gOiBhZGRyLT5hZGRyZXNzLAorKwkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyLT5wbGVuKTsKKyAJCQkJcm91dGUucGxlbiA9IGFkZHItPnBsZW47CisgCQkJCXJvdXRlLnByZWZfc3JjID0gYWRkci0+YWRkcmVzczsKKyAJCQkJcm91dGUubWV0cmljID0gZGVmYXVsdF9yb3V0ZV9tZXRyaWM7CistLSAKKzIuNS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDA0LXBwcC1tYW5hZ2VyLWNsZWFyLXBwcF93YXRjaF9pZC11cG9uLXBwcGQtdGVybWluYXRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwNC1wcHAtbWFuYWdlci1jbGVhci1wcHBfd2F0Y2hfaWQtdXBvbi1wcHBkLXRlcm1pbmF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxZjI4ODIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwNC1wcHAtbWFuYWdlci1jbGVhci1wcHBfd2F0Y2hfaWQtdXBvbi1wcHBkLXRlcm1pbmF0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gODIwNGMyYTE5NjhmNzU3NTk5YzVlYmVjOWE4NWVmYWFjYjBlNTIyYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEJlbmlhbWlubyBHYWx2YW5pIDxiZ2FsdmFuaUByZWRoYXQuY29tPgorRGF0ZTogTW9uLCA0IEphbiAyMDE2IDE0OjE4OjAyICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMi83XSBwcHAtbWFuYWdlcjogY2xlYXIgQHBwcF93YXRjaF9pZCB1cG9uIHBwcGQgdGVybWluYXRpb24KKworU2V0IEBwcHBfd2F0Y2hfaWQgdG8gemVybyB1cG9uIHBwcGQgdGVybWluYXRpb24sIG90aGVyd2lzZSB0aGUgY2FsbCB0bworZ19zb3VyY2VfcmVtb3ZlKHByaXYtPnBwcF93YXRjaF9pZCkgaW4gZGlzcG9zZSgpIGNvdWxkIHRyaWdnZXIgYSBmYWlsZWQKK2Fzc2VydGlvbi4KKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNWY5M2YwMTAxNTM4ZGIzOWVmZTBmOWVhMjMxNmU2M2JmZjk1M2JmMCkKKy0tLQorIHNyYy9wcHAtbWFuYWdlci9ubS1wcHAtbWFuYWdlci5jIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9zcmMvcHBwLW1hbmFnZXIvbm0tcHBwLW1hbmFnZXIuYyBiL3NyYy9wcHAtbWFuYWdlci9ubS1wcHAtbWFuYWdlci5jCitpbmRleCBkMjdiMjYyLi44NWNhOWM1IDEwMDY0NAorLS0tIGEvc3JjL3BwcC1tYW5hZ2VyL25tLXBwcC1tYW5hZ2VyLmMKKysrKyBiL3NyYy9wcHAtbWFuYWdlci9ubS1wcHAtbWFuYWdlci5jCitAQCAtODI4LDYgKzgyOCw3IEBAIHBwcF93YXRjaF9jYiAoR1BpZCBwaWQsIGdpbnQgc3RhdHVzLCBncG9pbnRlciB1c2VyX2RhdGEpCisgCisgCW5tX2xvZ19kYmcgKExPR0RfUFBQLCAicHBwZCBwaWQgJWQgY2xlYW5lZCB1cCIsIHByaXYtPnBpZCk7CisgCXByaXYtPnBpZCA9IDA7CisrCXByaXYtPnBwcF93YXRjaF9pZCA9IDA7CisgCWdfc2lnbmFsX2VtaXQgKG1hbmFnZXIsIHNpZ25hbHNbU1RBVEVfQ0hBTkdFRF0sIDAsIE5NX1BQUF9TVEFUVVNfREVBRCk7CisgfQorIAorLS0gCisyLjUuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwNS1kZXZpY2UtdXBkYXRlLWlwX2lmYWNlLW9ubHktaWYtSVAtaW50ZXJmYWNlLWV4aXN0cy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDA1LWRldmljZS11cGRhdGUtaXBfaWZhY2Utb25seS1pZi1JUC1pbnRlcmZhY2UtZXhpc3RzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1YzJkY2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwNS1kZXZpY2UtdXBkYXRlLWlwX2lmYWNlLW9ubHktaWYtSVAtaW50ZXJmYWNlLWV4aXN0cy5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGNiY2I4NDhlNmQ0ZjRlOGM0YWExMWM4MGYxZjNkYmI3ZmIyZDM5N2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBCZW5pYW1pbm8gR2FsdmFuaSA8YmdhbHZhbmlAcmVkaGF0LmNvbT4KK0RhdGU6IE1vbiwgNCBKYW4gMjAxNiAxNDoyMjowMSArMDEwMAorU3ViamVjdDogW1BBVENIIDMvN10gZGV2aWNlOiB1cGRhdGUgQGlwX2lmYWNlIG9ubHkgaWYgSVAgaW50ZXJmYWNlIGV4aXN0cworCitJZiBAaXBfaWZpbmRleCBpcyB6ZXJvLCB0aGUgSVAgaW50ZXJmYWNlIGhhcyBkaXNhcHBlYXJlZCBhbmQKK3RoZXJlJ3Mgbm8gcG9pbnQgaW4gdXBkYXRpbmcgQGlwX2lmYWNlLgorCitBY3R1YWxseSwgdW5jb25kaXRpb25hbGx5IHVwZGF0aW5nIEBpcF9pZmFjZSBpcyBkYW5nZXJvdXMgYmVjYXVzZSBpdAorYnJlYWtzIHRoZSBhc3N1bXB0aW9uIHVzZWQgYnkgb3RoZXIgZnVuY3Rpb25zIChhcworbm1fZGV2aWNlX2dldF9pcF9pZmluZGV4KCkpIHRoYXQgYSBub24tTlVMTCBAaXBfaWZhY2UgaW1wbGllcyBhIHZhbGlkCitAaXBfaWZpbmRleC4gVGhpcyB3YXMgY2F1c2luZyB0aGUgc2NhcnkgZmFpbHVyZToKKworICBkZXZpY2VzL25tLWRldmljZS5jOjY2NjpnZXRfaXBfaWZhY2VfaWRlbnRpZmllcjogYXNzZXJ0aW9uIGZhaWxlZDogKGlmaW5kZXgpCisKK2h0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTI2ODYxNworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZWQ1MzY5OThmOTUzMDY5OGZmMzA4MmZjNTU4N2RiZWI3ZDNhNTk0ZikKKy0tLQorIHNyYy9kZXZpY2VzL25tLWRldmljZS5jIHwgNyArKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9kZXZpY2VzL25tLWRldmljZS5jIGIvc3JjL2RldmljZXMvbm0tZGV2aWNlLmMKK2luZGV4IGJiMzljYTUuLjQ0MTNlOTIgMTAwNjQ0CistLS0gYS9zcmMvZGV2aWNlcy9ubS1kZXZpY2UuYworKysrIGIvc3JjL2RldmljZXMvbm0tZGV2aWNlLmMKK0BAIC0xNTI2LDEyICsxNTI2LDEzIEBAIGRldmljZV9pcF9saW5rX2NoYW5nZWQgKE5NRGV2aWNlICpzZWxmKQorIHsKKyAJTk1EZXZpY2VQcml2YXRlICpwcml2ID0gTk1fREVWSUNFX0dFVF9QUklWQVRFIChzZWxmKTsKKyAJY29uc3QgTk1QbGF0Zm9ybUxpbmsgKnBsbGluazsKKy0JaW50IGlwX2lmaW5kZXg7CisgCisgCXByaXYtPmRldmljZV9pcF9saW5rX2NoYW5nZWRfaWQgPSAwOworIAorLQlpcF9pZmluZGV4ID0gbm1fZGV2aWNlX2dldF9pcF9pZmluZGV4IChzZWxmKTsKKy0JcGxsaW5rID0gbm1fcGxhdGZvcm1fbGlua19nZXQgKE5NX1BMQVRGT1JNX0dFVCwgaXBfaWZpbmRleCk7CisrCWlmICghcHJpdi0+aXBfaWZpbmRleCkKKysJCXJldHVybiBHX1NPVVJDRV9SRU1PVkU7CisrCisrCXBsbGluayA9IG5tX3BsYXRmb3JtX2xpbmtfZ2V0IChOTV9QTEFURk9STV9HRVQsIHByaXYtPmlwX2lmaW5kZXgpOworIAlpZiAoIXBsbGluaykKKyAJCXJldHVybiBHX1NPVVJDRV9SRU1PVkU7CisgCistLSAKKzIuNS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDA2LUZpeC1ubS12ZXJzaW9uLW1hY3JvLWluY2x1ZGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDYtRml4LW5tLXZlcnNpb24tbWFjcm8taW5jbHVkZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE1N2M4MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDA2LUZpeC1ubS12ZXJzaW9uLW1hY3JvLWluY2x1ZGVzLnBhdGNoCkBAIC0wLDAgKzEsNTggQEAKK0Zyb20gNzI3NGJiYWRkMzk4YTY5YjhiYWJmNDc0MzFmODBkMzVlMDIyOGM0MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFkcmlhbiBGcmVpaG9mZXIgPGFkcmlhbi5mcmVpaG9mZXJAZ21haWwuY29tPgorRGF0ZTogTW9uLCAxOCBKYW4gMjAxNiAwODo1MzoyNiArMDEwMAorU3ViamVjdDogW1BBVENIXSBGaXggbm0tdmVyc2lvbi1tYWNybyBpbmNsdWRlcworCitubS12ZXJzaW9uLW1hY3Jvcy5oIGNhbm5vdCBiZSBmb3VuZCBzaW5jZSBpbmNsdWRlIGRpcmVjdGl2ZSBoYXMKK2JlZW4gY2hhbmdlZCBmcm9tICIgdG8gPC4gVGhpcyBicmVha3MgZm9yIGV4YW1wbGUgZ25vbWUtcGFuZWwKK2J1aWxkOgorL3Vzci9pbmNsdWRlL05ldHdvcmtNYW5hZ2VyL05ldHdvcmtNYW5hZ2VyLmg6MzE6MzE6CitmYXRhbCBlcnJvcjogbm0tdmVyc2lvbi1tYWNyb3MuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeS4KKy0tLQorIGxpYm5tLWNvcmUvbm0tdmVyc2lvbi5oICAgICB8IDIgKy0KKyBsaWJubS11dGlsL05ldHdvcmtNYW5hZ2VyLmggfCAyICstCisgbGlibm0tdXRpbC9ubS12ZXJzaW9uLmggICAgIHwgMiArLQorIDMgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGlibm0tY29yZS9ubS12ZXJzaW9uLmggYi9saWJubS1jb3JlL25tLXZlcnNpb24uaAoraW5kZXggNzMwMzMwYS4uZDc1MWJjMSAxMDA2NDQKKy0tLSBhL2xpYm5tLWNvcmUvbm0tdmVyc2lvbi5oCisrKysgYi9saWJubS1jb3JlL25tLXZlcnNpb24uaAorQEAgLTIzLDcgKzIzLDcgQEAKKyAKKyAjaW5jbHVkZSA8Z2xpYi5oPgorIAorLSNpbmNsdWRlIDxubS12ZXJzaW9uLW1hY3Jvcy5oPgorKyNpbmNsdWRlICJubS12ZXJzaW9uLW1hY3Jvcy5oIgorIAorIC8qIERlcHJlY2F0aW9uIC8gQXZhaWxhYmlsaXR5IG1hY3JvcyAqLworIAorZGlmZiAtLWdpdCBhL2xpYm5tLXV0aWwvTmV0d29ya01hbmFnZXIuaCBiL2xpYm5tLXV0aWwvTmV0d29ya01hbmFnZXIuaAoraW5kZXggZDgzZTRhYi4uM2E5NjRmYyAxMDA2NDQKKy0tLSBhL2xpYm5tLXV0aWwvTmV0d29ya01hbmFnZXIuaAorKysrIGIvbGlibm0tdXRpbC9OZXR3b3JrTWFuYWdlci5oCitAQCAtMjgsNyArMjgsNyBAQAorIAorIC8qIFRoaXMgaGVhZGVyIG11c3Qgbm90IGluY2x1ZGUgZ2xpYiBvciBsaWJubS4gKi8KKyAKKy0jaW5jbHVkZSA8bm0tdmVyc2lvbi1tYWNyb3MuaD4KKysjaW5jbHVkZSAibm0tdmVyc2lvbi1tYWNyb3MuaCIKKyAKKyAvKgorICAqIGRidXMgc2VydmljZXMgZGV0YWlscworZGlmZiAtLWdpdCBhL2xpYm5tLXV0aWwvbm0tdmVyc2lvbi5oIGIvbGlibm0tdXRpbC9ubS12ZXJzaW9uLmgKK2luZGV4IDYzODk1ZGQuLjQxMTAxYTQgMTAwNjQ0CistLS0gYS9saWJubS11dGlsL25tLXZlcnNpb24uaAorKysrIGIvbGlibm0tdXRpbC9ubS12ZXJzaW9uLmgKK0BAIC0yMyw3ICsyMyw3IEBACisgCisgI2luY2x1ZGUgPGdsaWIuaD4KKyAKKy0jaW5jbHVkZSA8bm0tdmVyc2lvbi1tYWNyb3MuaD4KKysjaW5jbHVkZSAibm0tdmVyc2lvbi1tYWNyb3MuaCIKKyAKKyAvKiBEZXByZWNhdGlvbiAvIEF2YWlsYWJpbGl0eSBtYWNyb3MgKi8KKyAKKy0tIAorMi41LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyXzEuMC4xMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlcl8xLjAuMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODMxZGRmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlcl8xLjAuMTAuYmIKQEAgLTAsMCArMSwxMjQgQEAKK1NVTU1BUlkgPSAiTmV0d29ya01hbmFnZXIiCitTRUNUSU9OID0gIm5ldC9taXNjIgorCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNiYmZmZDU2ODIyN2FkYTUwNjY0MGZlOTUwYTQ4MjNiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYm5tLXV0aWwvQ09QWUlORzttZDU9MWM0ZmE3NjVkNmViM2NkMmZiZDg0MzQ0YTFiODE2Y2QgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jcy9hcGkvaHRtbC9saWNlbnNlLmh0bWw7bWQ1PTUxZDdmYjY3YmRlOTkyZTU4NTMzYTg0ODFjZWUwNzBiIFwKKyIKKworREVQRU5EUyA9ICJsaWJubCBkYnVzIGRidXMtZ2xpYiBsaWJndWRldiB1dGlsLWxpbnV4IGxpYm5kcCBsaWJuZXd0IHBvbGtpdCIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ2V0dGV4dCBzeXN0ZW1kIGJsdWV0b290aCBiYXNoLWNvbXBsZXRpb24gdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworU1JDX1VSSSA9ICIgXAorICAgICR7R05PTUVfTUlSUk9SfS9OZXR3b3JrTWFuYWdlci8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9L05ldHdvcmtNYW5hZ2VyLSR7UFZ9LnRhci54eiBcCisgICAgZmlsZTovLzAwMDEtZG9uLXQtdHJ5LXRvLXJ1bi1zYmluLWRoY2xpZW50LXRvLWdldC10aGUtdmVyc2lvbi1udS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItYWRkLXBrZy1jb25maWctZm9yLWxpYmdjcnlwdC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDMtY29yZS1maXgtZmFpbHVyZS10by1jb25maWd1cmUtcm91dGVzLWR1ZS10by13cm9uZy1kZS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDQtcHBwLW1hbmFnZXItY2xlYXItcHBwX3dhdGNoX2lkLXVwb24tcHBwZC10ZXJtaW5hdGlvbi5wYXRjaCBcCisgICAgZmlsZTovLzAwMDUtZGV2aWNlLXVwZGF0ZS1pcF9pZmFjZS1vbmx5LWlmLUlQLWludGVyZmFjZS1leGlzdHMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA2LUZpeC1ubS12ZXJzaW9uLW1hY3JvLWluY2x1ZGVzLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhOGY1NDQ2MGE0NzA4ZWZkODQwMzU4ZjMyZDA5NjhmZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYmNmY2U4NDQxZGZkOWY0MzJhMTAwZDA2YjU0ZjM4MzFhMjI3NWNjY2MzYjc0YjFiNGMwOWEwMTFlMTc5ZmJjIgorCitTID0gIiR7V09SS0RJUn0vTmV0d29ya01hbmFnZXItJHtQVn0iCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1pZmNmZy1yaCBcCisgICAgLS1kaXNhYmxlLWlmbmV0IFwKKyAgICAtLWRpc2FibGUtaWZjZmctc3VzZSBcCisgICAgLS1kaXNhYmxlLW1vcmUtd2FybmluZ3MgXAorICAgIC0td2l0aC1pcHRhYmxlcz0ke3NiaW5kaXJ9L2lwdGFibGVzIFwKKyAgICAtLXdpdGgtdGVzdHMgXAorICAgIC0td2l0aC1ubXR1aT15ZXMgXAorIgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgICAgIGV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSIke0J9L2xpYm5tLXV0aWwvLmxpYnMiCit9CisKK1BBQ0tBR0VDT05GSUcgPz89ICJuc3MgaWZ1cGRvd24gbmV0Y29uZmlnIGRoY2xpZW50IGRuc21hc3EgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywnc3lzdGVtZCcsJ2NvbnNvbGVraXQnLGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ2JsdWV0b290aCcsJyR7QkxVRVp9JywnJyxkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCd3aWZpJywnd2lmaScsJycsZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiIFwKKyAgICAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSAtLXdpdGgtc2Vzc2lvbi10cmFja2luZz1zeXN0ZW1kIC0tZW5hYmxlLXBvbGtpdCwgXAorICAgIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpciwgXAorICAgIHBvbGtpdCBcCisiCitQQUNLQUdFQ09ORklHW2JsdWV6NV0gPSAiLS1lbmFibGUtYmx1ZXo1LWR1biwtLWRpc2FibGUtYmx1ZXo1LWR1bixibHVlejUiCisjIGNvbnNvbGVraXQgaXMgbm90IHBpY2tlZCBieSBzaGxpYnMsIHNvIGFkZCBpdCB0byBSREVQRU5EUyB0b28KK1BBQ0tBR0VDT05GSUdbY29uc29sZWtpdF0gPSAiLS13aXRoLXNlc3Npb24tdHJhY2tpbmc9Y29uc29sZWtpdCwsY29uc29sZWtpdCxjb25zb2xla2l0IgorUEFDS0FHRUNPTkZJR1tjb25jaGVja10gPSAiLS13aXRoLWxpYnNvdXA9eWVzLC0td2l0aC1saWJzb3VwPW5vLGxpYnNvdXAtMi40IgorUEFDS0FHRUNPTkZJR1ttb2RlbW1hbmFnZXJdID0gIi0td2l0aC1tb2RlbS1tYW5hZ2VyLTE9eWVzLC0td2l0aC1tb2RlbS1tYW5hZ2VyLTE9bm8sbW9kZW1tYW5hZ2VyIgorUEFDS0FHRUNPTkZJR1twcHBdID0gIi0tZW5hYmxlLXBwcCwtLWRpc2FibGUtcHBwLHBwcCxwcHAiCisjIFVzZSBmdWxsIGZlYXR1cmVkIGRoY3AgY2xpZW50IGluc3RlYWQgb2YgaW50ZXJuYWwgb25lCitQQUNLQUdFQ09ORklHW2RoY2xpZW50XSA9ICItLXdpdGgtZGhjbGllbnQ9JHtiYXNlX3NiaW5kaXJ9L2RoY2xpZW50LCwsZGhjcC1jbGllbnQiCitQQUNLQUdFQ09ORklHW2Ruc21hc3FdID0gIi0td2l0aC1kbnNtYXNxPSR7YmluZGlyfS9kbnNtYXNxIgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi0td2l0aC1jcnlwdG89bnNzLCxuc3MiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLWNyeXB0bz1nbnV0bHMsLGdudXRscyBsaWJnY3J5cHQiCitQQUNLQUdFQ09ORklHW3dpZmldID0gIi0tZW5hYmxlLXdpZmk9eWVzLC0tZW5hYmxlLXdpZmk9bm8sd2lyZWxlc3MtdG9vbHMsd3BhLXN1cHBsaWNhbnQgd2lyZWxlc3MtdG9vbHMiCitQQUNLQUdFQ09ORklHW2lmdXBkb3duXSA9ICItLWVuYWJsZS1pZnVwZG93biwtLWRpc2FibGUtaWZ1cGRvd24iCitQQUNLQUdFQ09ORklHW25ldGNvbmZpZ10gPSAiLS13aXRoLW5ldGNvbmZpZz15ZXMsLS13aXRoLW5ldGNvbmZpZz1ubyIKK1BBQ0tBR0VDT05GSUdbcXQ0LXgxMS1mcmVlXSA9ICItLWVuYWJsZS1xdCwtLWRpc2FibGUtcXQscXQ0LXgxMS1mcmVlIgorCitQQUNLQUdFUyA9KyAibGlibm11dGlsIGxpYm5tZ2xpYiBsaWJubWdsaWItdnBuICR7UE59LXRlc3RzIFwKKyAgJHtQTn0tbm10dWkgJHtQTn0tbm10dWktZG9jIFwKKyAgJHtQTn0tYWRzbCBcCisiCisKK0ZJTEVTX2xpYm5tdXRpbCArPSAiJHtsaWJkaXJ9L2xpYm5tLXV0aWwuc28uKiIKK0ZJTEVTX2xpYm5tZ2xpYiArPSAiJHtsaWJkaXJ9L2xpYm5tLWdsaWIuc28uKiIKK0ZJTEVTX2xpYm5tZ2xpYi12cG4gKz0gIiR7bGliZGlyfS9saWJubS1nbGliLXZwbi5zby4qIgorCitGSUxFU18ke1BOfS1hZHNsID0gIiR7bGliZGlyfS9OZXR3b3JrTWFuYWdlci9saWJubS1kZXZpY2UtcGx1Z2luLWFkc2wuc28iCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7bGliZXhlY2Rpcn0gXAorICAgICR7bGliZGlyfS9wcHBkLyovbm0tcHBwZC1wbHVnaW4uc28gXAorICAgICR7bGliZGlyfS9OZXR3b3JrTWFuYWdlci8qLnNvIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMSBcCisgICAgJHtiYXNlX2xpYmRpcn0vdWRldi8qIFwKKyAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIFwKKyIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gImlwdGFibGVzIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsJ2Ruc21hc3EnLCdkbnNtYXNxJywnJyxkKX0gXAorIgorUkNPTkZMSUNUU18ke1BOfSA9ICJjb25ubWFuIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiBcCisgICAgJHtsaWJkaXJ9L05ldHdvcmtNYW5hZ2VyLy5kZWJ1Zy8gXAorICAgICR7bGliZGlyfS9wcHBkLyovLmRlYnVnLyBcCisiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiIFwKKyAgICAke2RhdGFkaXJ9L05ldHdvcmtNYW5hZ2VyL2dkYi1jbWQgXAorICAgICR7bGliZGlyfS9wcHBkLyovKi5sYSBcCisgICAgJHtsaWJkaXJ9L05ldHdvcmtNYW5hZ2VyLyoubGEgXAorIgorCitGSUxFU18ke1BOfS10ZXN0cyA9ICIgXAorICAgICR7YmluZGlyfS9ubS1vbmxpbmUgXAorIgorCitGSUxFU18ke1BOfS1ubXR1aSA9ICIgXAorICAgICR7YmluZGlyfS9ubXR1aSBcCisgICAgJHtiaW5kaXJ9L25tdHVpLWVkaXQgXAorICAgICR7YmluZGlyfS9ubXR1aS1jb25uZWN0IFwKKyAgICAke2JpbmRpcn0vbm10dWktaG9zdG5hbWUgXAorIgorCitGSUxFU18ke1BOfS1ubXR1aS1kb2MgPSAiIFwKKyAgICAke21hbmRpcn0vbWFuMS9ubXR1aSogXAorIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiTmV0d29ya01hbmFnZXIuc2VydmljZSBOZXR3b3JrTWFuYWdlci1kaXNwYXRjaGVyLnNlcnZpY2UiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtIC1yZiAke0R9L3J1biAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29iZXgtZGF0YS1zZXJ2ZXJfMC40LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vYmV4LWRhdGEtc2VydmVyXzAuNC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyYzI4NGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vYmV4LWRhdGEtc2VydmVyXzAuNC42LmJiCkBAIC0wLDAgKzEsMTUgQEAKK0RFU0NSSVBUSU9OID0gIm9iZXgtZGF0YS1zZXJ2ZXIgaXMgYSBELUJ1cyBzZXJ2aWNlIHByb3ZpZGluZyBoaWdoLWxldmVsIE9CRVggY2xpZW50IGFuZCBzZXJ2ZXIgc2lkZSBmdW5jdGlvbmFsaXR5IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitERVBFTkRTID0gImd0aysgZGJ1cy1nbGliIGltYWdlbWFnaWNrIG9wZW5vYmV4IgorREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ2JsdWV6NScsJ2JsdWV6NScsJ2JsdWV6NCcsZCl9IgorCitTUkNfVVJJID0gImh0dHA6Ly90YWRhcy5kYWlseWRhLmNvbS9zb2Z0d2FyZS9vYmV4LWRhdGEtc2VydmVyLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5NjFjYTVkYjZmZTljOTcwMjRlMTMzY2M2MjAzY2M0ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiMzk5NDY1ZGRiZDZkMDIxN2FiZWRkOTQxMWQ5ZDc0YTgyMGVmZmEwYTZhMTQyYWRjNDQ4MjY4ZDM5MjAwOTRmIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS8iCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4LTEuNS9kaXNhYmxlLWNhYmxlLXRlc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vcGVub2JleC0xLjUvZGlzYWJsZS1jYWJsZS10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1YjYzNmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleC9vcGVub2JleC0xLjUvZGlzYWJsZS1jYWJsZS10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKKworIworIyBQYXRjaCBtYW5hZ2VkIGJ5IGh0dHA6Ly93d3cuaG9sZ2Vyc2NodXJpZy5kZS9wYXRjaGVyLmh0bWwKKyMKKworLS0tIG9wZW5vYmV4LTEuMi9hcHBzL01ha2VmaWxlLmFtfmRpc2FibGUtY2FibGUtdGVzdAorKysrIG9wZW5vYmV4LTEuMi9hcHBzL01ha2VmaWxlLmFtCitAQCAtNiw3ICs2LDcgQEAKKyAJb2JleF9pby5jIG9iZXhfaW8uaCBcCisgCW9iZXhfcHV0X2NvbW1vbi5jIG9iZXhfcHV0X2NvbW1vbi5oCisgCistYmluX1BST0dSQU1TID0gaXJ4ZmVyIG9iZXhfdGNwIGlyb2JleF9wYWxtMyBvYmV4X3Rlc3QKKytiaW5fUFJPR1JBTVMgPSBpcnhmZXIgb2JleF90Y3AgaXJvYmV4X3BhbG0zCisgCisgb2JleF90ZXN0X1NPVVJDRVMgPSBcCisgCW9iZXhfdGVzdC5jIG9iZXhfdGVzdC5oIFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4LTEuNS9saWJ1c2JfY3Jvc3Njb21waWxlX2NoZWNrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXgvb3Blbm9iZXgtMS41L2xpYnVzYl9jcm9zc2NvbXBpbGVfY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE3N2RmZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4LTEuNS9saWJ1c2JfY3Jvc3Njb21waWxlX2NoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSAvdG1wL2FjaW5jbHVkZS5tNAkyMDA5LTA0LTEyIDEwOjMyOjE1LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5vYmV4LTEuNS9hY2luY2x1ZGUubTQJMjAwOS0wNC0xMiAxMDozMjozOC4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xNTgsNyArMTU4LDcgQEAKKyAJCTs7CisgCSopCisgCQlQS0dfQ0hFQ0tfTU9EVUxFUyhVU0IsIGxpYnVzYiwgdXNiX2xpYl9mb3VuZD15ZXMsIEFDX01TR19SRVNVTFQobm8pKQorLQkJQUNfQ0hFQ0tfRklMRSgke3ByZWZpeH0vbGliL3BrZ2NvbmZpZy9saWJ1c2IucGMsIFJFUVVJUkVTPSJsaWJ1c2IiKQorKwkJUkVRVUlSRVM9ImxpYnVzYiIKKyAJCTs7CisgCWVzYWMKKyAJQUNfU1VCU1QoVVNCX0NGTEFHUykKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4LTEuNS9zZXBhcmF0ZV9idWlsZGRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4LTEuNS9zZXBhcmF0ZV9idWlsZGRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YWJmOGFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXgvb3Blbm9iZXgtMS41L3NlcGFyYXRlX2J1aWxkZGlyLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK0ZpeCBkZXRlY3Rpb24gb2YgSXJEQSBmYWlsaW5nIHdpdGggQiE9UworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CisKKy0tLSBhL2FjaW5jbHVkZS5tNAkyMDE0LTA1LTI0IDE0OjA1OjQxLjc1Nzc5NjgxNiArMDEwMAorKysrIGIvYWNpbmNsdWRlLm00CTIwMTQtMDUtMjQgMTQ6MDM6MDYuNTU2Nzk1NTM2ICswMTAwCitAQCAtNTQsNiArNTQsNyBAQAorIF0pCisgCisgQUNfREVGVU4oW0FDX1BBVEhfSVJEQV9MSU5VWF0sIFsKKysJQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1JJHtzcmNkaXJ9IgorIAlBQ19DQUNIRV9DSEVDSyhbZm9yIElyREEgc3VwcG9ydF0sIGlyZGFfZm91bmQsIFsKKyAJCUFDX1RSWV9DT01QSUxFKFsKKyAJCQkJI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4XzEuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4L29wZW5vYmV4XzEuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWM3OTA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXgvb3Blbm9iZXhfMS41LmJiCkBAIC0wLDAgKzEsMzUgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBPcGVub2JleCBwcm9qZWN0IGlzIGFuIG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBcCitPYmplY3QgRXhjaGFuZ2UgKE9CRVgpIHByb3RvY29sLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9vcGVub2JleC50cmlxLm5ldCIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAidmlydHVhbC9saWJ1c2IwIgorREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ2JsdWV6NScsJ2JsdWV6NScsJ2JsdWV6NCcsZCl9IgorCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lYjcyM2I2MTUzOWZlZWYwMTNkZTQ3NmU2OGI1YzUwYSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9YTZmODllMjEwMGQ5YjZjZGZmY2VhNGYzOThlMzczNDMgXAorIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvYmx1ZXRvb3RoL29wZW5vYmV4LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWNhYmxlLXRlc3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbGlidXNiX2Nyb3NzY29tcGlsZV9jaGVjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zZXBhcmF0ZV9idWlsZGRpci5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjBkODNkYzg2NDQ1YTQ2YTFiOTc1MDEwN2JhN2FiNjVjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU2MDIwNDc1NzA3OTlhNDdlY2IwMjg0MjBiZGE4ZjJjZWY0MTMxMGU1YTk5ZDA4NGRlMTBhYTk0MjI5MzVlNjUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWFwcHMgLS1lbmFibGUtc3lzbG9nIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2FjbG9jYWwKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9vcGVub2JleC5tNCAke0R9JHtkYXRhZGlyfS9hY2xvY2FsCit9CisKK1BBQ0tBR0VTICs9ICJvcGVub2JleC1hcHBzIgorRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9L29wZW5vYmV4LWNvbmZpZyIKK0ZJTEVTXyR7UE59LWFwcHMgPSAiJHtiaW5kaXJ9LyoiCitERUJJQU5fTk9BVVRPTkFNRV8ke1BOfS1hcHBzID0gIjEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4ZnRwL29iZXhmdHAvUmVtb3ZlX3NvbWVfcHJpbnRmX2luX29iZXhmdHBkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXhmdHAvb2JleGZ0cC9SZW1vdmVfc29tZV9wcmludGZfaW5fb2JleGZ0cGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI3M2FmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vYmV4ZnRwL29iZXhmdHAvUmVtb3ZlX3NvbWVfcHJpbnRmX2luX29iZXhmdHBkLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK1NpZ25lZC1vZmYtYnk6IEp1biBaaHUgPFIwMTAwN0BmcmVlc2NhbGUuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6ICBOb3QgYXBwbGljYWJsZQorCitkaWZmIC1OcnUgb2JleGZ0cC0wLjIzL2FwcHMub3JpZy9vYmV4ZnRwZC5jIG9iZXhmdHAtMC4yMy9hcHBzL29iZXhmdHBkLmMKKy0tLSBvYmV4ZnRwLTAuMjMvYXBwcy5vcmlnL29iZXhmdHBkLmMJMjAxMy0xMS0wOCAxMDo0MjoyMC44MTY2MzE1ODMgKzA4MDAKKysrKyBvYmV4ZnRwLTAuMjMvYXBwcy9vYmV4ZnRwZC5jCTIwMTMtMTEtMDggMTA6NDQ6MTguNjI4NjM0ODkzICswODAwCitAQCAtNjM5LDcgKzYzOSw3IEBACisgCXN0cnVjdCBzdGF0IHN0YXRidWY7CisgCS8vY2hhciAqbmFtZWJ1ZiA9IE5VTEw7CisgCistCWZwcmludGYoc3RkZXJyLCAicHV0X2RvbmU+Pj5cbiIpOworKwkvL2ZwcmludGYoc3RkZXJyLCAicHV0X2RvbmU+Pj5cbiIpOworIAl3aGlsZShPQkVYX09iamVjdEdldE5leHRIZWFkZXIoaGFuZGxlLCBvYmplY3QsICZoaSwgJmh2LCAmaGxlbikpCXsKKyAJCXN3aXRjaChoaSkJeworIAkJY2FzZSBPQkVYX0hEUl9CT0RZOgorQEAgLTY3MSw3ICs2NzEsNyBAQAorIAkJfQorIAl9CisgCWlmKCFib2R5KQl7CistCQlwcmludGYoIkdvdCBhIFBVVCB3aXRob3V0IGEgYm9keVxuIik7CisrCQkvL3ByaW50ZigiR290IGEgUFVUIHdpdGhvdXQgYSBib2R5XG4iKTsKKyAJCU9CRVhfT2JqZWN0U2V0UnNwKG9iamVjdCwgT0JFWF9SU1BfQ09OVElOVUUsIE9CRVhfUlNQX1NVQ0NFU1MpOworIAl9CisgCWlmKCFuYW1lKQl7CitAQCAtODA3LDcgKzgwNyw3IEBACisgCQkJCisgCQlzd2l0Y2gob2JleF9jbWQpIHsKKyAJCWNhc2UgT0JFWF9DTURfUFVUOgorLQkJCWZwcmludGYoc3RkZXJyLCAib2JleF9ldl9wcm9ncmVzczogb2JleF9jbWRfcHV0XG4iKTsKKysJCQkvL2ZwcmludGYoc3RkZXJyLCAib2JleF9ldl9wcm9ncmVzczogb2JleF9jbWRfcHV0XG4iKTsKKyAJCQlwdXRfZG9uZShoYW5kbGUsIG9iaiwgMCk7CisgCQkJYnJlYWs7CisgCQlkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXhmdHAvb2JleGZ0cF8wLjIzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L29iZXhmdHAvb2JleGZ0cF8wLjIzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjZDQ0N2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2JleGZ0cC9vYmV4ZnRwXzAuMjMuYmIKQEAgLTAsMCArMSwxOSBAQAorREVTQ1JJUFRJT04gPSAiQSB0b29sIGZvciB0cmFuc2ZlciBmaWxlcyB0by9mcm9tIGFueSBPQkVYIGVuYWJsZWQgZGV2aWNlIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK0RFUEVORFMgKz0gIm9wZW5vYmV4IgorCisjIERlcGVuZHMgb24gb3Blbm9iZXgKK1BOQkxBQ0tMSVNUW29iZXhmdHBdID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV6NScsICdibHVlejUgY29uZmxpY3RzIHdpdGggYmx1ZXo0IGFuZCBibHVlejUgaXMgc2VsZWN0ZWQgaW4gRElTVFJPX0ZFQVRVUkVTJywgJycsIGQpfSIKKworU1JDX1VSSSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL29wZW5vYmV4L2ZpbGVzL29iZXhmdHAvJHtQVn0vb2JleGZ0cC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL1JlbW92ZV9zb21lX3ByaW50Zl9pbl9vYmV4ZnRwZC5wYXRjaCAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMjA3NjIwNjFiNjhiYzkyMWU4MGJlNGFlYmMzNDllYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0NGE3NGZmMjg4ZDM4YzBmNzUzNTRkNmJjMmVmZTdkNmRlYzEwMTEyZWFmZjJlN2IxMGUyOTJiMGQyMTA1YjM2IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtdGNsIC0tZGlzYWJsZS1wZXJsIC0tZGlzYWJsZS1weXRob24gLS1kaXNhYmxlLXJ1YnkiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC10b29scy1ibHVldG9vdGguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtdG9vbHMtYmx1ZXRvb3RoLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkZTQ1OTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtdG9vbHMtYmx1ZXRvb3RoLmJiCkBAIC0wLDAgKzEsMzcgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LTIwMTUgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9MSUNFTlNFO21kNT0zZjQwZDc5OTQzOTcxMDkyODVlYzdiODFmZGViM2I1OCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKKworU1VNTUFSWSA9ICJTZXQgb2YgQmx1ZXRvb3RoIHJlbGF0ZWQgdG9vbHMgZm9yIGluY2x1c2lvbiBpbiBpbWFnZXMiCitERVNDUklQVElPTiA9ICJJbmNsdWRlcyBibHVldG9vdGggc3BlY2lmaWMgdG9vbHMgZm9yIHRoaXMgdmVyc2lvbiBvZiBCbHVlWi5cCitUaGVzZSB0b29scyBhcmUgdXNlZCBhdCBydW50aW1lLiBcCitTdXBwb3J0cyBCbHVlWjQgYW5kIEJsdWVaNS4iCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCitpbmhlcml0IGJsdWV0b290aAorCitSREVQRU5EU19ibHVlejQgPSAiIFwKKyAgICBvYmV4ZnRwIFwKKyIKKworUkRFUEVORFNfYmx1ZXo1ID0gIiBcCisgICAgYmx1ZXo1LW5vaW5zdC10b29scyBcCisgICAgYmx1ZXo1LW9iZXggXAorICAgIGJsdWV6NS10ZXN0dG9vbHMgIFwKKyAgICBsaWJhc291bmQtbW9kdWxlLWJsdWV6IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCBcCisgICAgICAgICdwdWxzZWF1ZGlvLW1vZHVsZS1ibHVldG9vdGgtZGlzY292ZXIgXAorICAgICAgICAgcHVsc2VhdWRpby1tb2R1bGUtYmx1ZXRvb3RoLXBvbGljeSBcCisgICAgICAgICBwdWxzZWF1ZGlvLW1vZHVsZS1ibHVlejUtZGlzY292ZXIgXAorICAgICAgICAgcHVsc2VhdWRpby1tb2R1bGUtYmx1ZXo1LWRldmljZSBcCisgICAgICAgICBwdWxzZWF1ZGlvLW1vZHVsZS1zd2l0Y2gtb24tY29ubmVjdCBcCisgICAgICAgICBwdWxzZWF1ZGlvLW1vZHVsZS1sb29wYmFjaycsIFwKKyAgICAgICAgJycsIGQpfSBcCisiCisKKyMgSW5zdGFsbCBibHVlejQgdG9vbHMgb3IgYmx1ZXo1IHRvb2xzIGRlcGVuZGluZyBvbiB3aGF0IGlzIHNwZWNpZmllZCBpbiB0aGUgZGlzdHJvLgorIyBPdGhlcndpc2UgaW5zdGFsbCBub3RoaW5nLgorUkRFUEVORFNfJHtQTn0gPSAiJHtSREVQRU5EU18ke0JMVUVafX0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcGhvbmV0LXV0aWxzL3Bob25ldC11dGlsc19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcGhvbmV0LXV0aWxzL3Bob25ldC11dGlsc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU4OTk2MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9waG9uZXQtdXRpbHMvcGhvbmV0LXV0aWxzX2dpdC5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIlRoaXMgc21hbGwgcGFja2FnZSBwcm92aWRlcyBhIGZldyBjb21tYW5kIGxpbmUgdG9vbHMgZm9yIExpbnV4IFBob25ldCIKK0hPTUVQQUdFID0gIiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0b3Jpb3VzLm9yZy9tZWVnby1jZWxsdWxhci9waG9uZXQtdXRpbHMuZ2l0O2JyYW5jaD1tYXN0ZXIiCitQUiA9ICJyMiIKK1MgPSAiJHtXT1JLRElSfS9naXQiCitTUkNSRVYgPSAiNGFjZmE3MjBmZDM3ZDE3OGEwNDhmYzJiZTE3MTgwMTM3ZDRhNzBlYSIKK1BWID0gIjAuMC4wK2dpdHIke1NSQ1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK0ZJTEVTXyR7UE59ICs9ICIke2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvODUtcGhvbmV0LXV0aWxzLnJ1bGVzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3JhYmJpdG1xLWMvcmFiYml0bXEtY18wLjcuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yYWJiaXRtcS1jL3JhYmJpdG1xLWNfMC43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk4NDZmZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yYWJiaXRtcS1jL3JhYmJpdG1xLWNfMC43LjAuYmIKQEAgLTAsMCArMSwxOCBAQAorREVTQ1JJUFRJT04gPSAiQSBDLWxhbmd1YWdlIEFNUVAgY2xpZW50IGxpYnJhcnkgZm9yIHVzZSB3aXRoIHYyLjArIG9mIHRoZSBSYWJiaXRNUSBicm9rZXIiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYWxhbnh6L3JhYmJpdG1xLWMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLU1JVDttZDU9NmI3NDI0ZjlkYjgwY2ZiMTFmZGQ1Yzk4MGI1ODNmNTMiCitMSUNFTlNFID0gIk1JVCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FsYW54ei9yYWJiaXRtcS1jLmdpdCIKK1NSQ1JFViA9ICI0ZGRlMzBjZThkOTg0ZWRkYTU0MDM0OWY1N2ViNzk5NWE4N2JhOWRlIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitERVBFTkRTID0gInBvcHQgb3BlbnNzbCIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1leGFtcGxlcyAtLWVuYWJsZS10b29scyAtLWRpc2FibGUtZG9jcyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS10b29scyIKK0ZJTEVTXyR7UE59LXRvb2xzID0gIiR7YmluZGlyfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yZmtpbGwvcmZraWxsLzAwMDEtcmZraWxsLW1ha2VmaWxlLWRvbi10LXVzZS10LXRoZS1PRS1pbnN0YWxsLXdyYXBwZXItZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yZmtpbGwvcmZraWxsLzAwMDEtcmZraWxsLW1ha2VmaWxlLWRvbi10LXVzZS10LXRoZS1PRS1pbnN0YWxsLXdyYXBwZXItZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmY2MGQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Jma2lsbC9yZmtpbGwvMDAwMS1yZmtpbGwtbWFrZWZpbGUtZG9uLXQtdXNlLXQtdGhlLU9FLWluc3RhbGwtd3JhcHBlci1kLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gZGI3NjQwODBlNTRmOGY5OThjMjhlZjhkYWI3OGRhOGI4ZDFkMTQyMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBGcmksIDExIEZlYiAyMDExIDEwOjM1OjQwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHJma2lsbCBtYWtlZmlsZTogZG9uJ3QgdXNlIC10LCB0aGUgT0UgaW5zdGFsbCB3cmFwcGVyIGRpc2xpa2VzIGl0CisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKyBNYWtlZmlsZSB8ICAgIDQgKystLQorIDEgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggOGQ2YzcwMC4uMzY1MjY5MCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTUzLDEwICs1MywxMCBAQCBjaGVjazoKKyBpbnN0YWxsOiByZmtpbGwgcmZraWxsLjguZ3oKKyAJQCQoTlEpICcgSU5TVCByZmtpbGwnCisgCSQoUSkkKE1LRElSKSAkKERFU1RESVIpJChTQklORElSKQorLQkkKFEpJChJTlNUQUxMKSAtbSA3NTUgLXQgJChERVNURElSKSQoU0JJTkRJUikgcmZraWxsCisrCSQoUSkkKElOU1RBTEwpIC1tIDc1NSByZmtpbGwgJChERVNURElSKSQoU0JJTkRJUikgCisgCUAkKE5RKSAnIElOU1QgcmZraWxsLjgnCisgCSQoUSkkKE1LRElSKSAkKERFU1RESVIpJChNQU5ESVIpL21hbjgvCistCSQoUSkkKElOU1RBTEwpIC1tIDY0NCAtdCAkKERFU1RESVIpJChNQU5ESVIpL21hbjgvIHJma2lsbC44Lmd6CisrCSQoUSkkKElOU1RBTEwpIC1tIDY0NCByZmtpbGwuOC5neiAkKERFU1RESVIpJChNQU5ESVIpL21hbjgvCisgCisgY2xlYW46CisgCSQoUSlybSAtZiByZmtpbGwgKi5vICp+ICouZ3ogdmVyc2lvbi5jICotc3RhbXAKKy0tIAorMS42LjYuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmZraWxsL3Jma2lsbC9kb250LmNhbGwuZ2l0LnJldi1wYXJzZS5vbi5wYXJlbnQuZGlyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Jma2lsbC9yZmtpbGwvZG9udC5jYWxsLmdpdC5yZXYtcGFyc2Uub24ucGFyZW50LmRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjgzNjg5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Jma2lsbC9yZmtpbGwvZG9udC5jYWxsLmdpdC5yZXYtcGFyc2Uub24ucGFyZW50LmRpci5wYXRjaApAQCAtMCwwICsxLDMxIEBACitXaGVuIFdPUktESVIgaXMgaW5jbHVkZWQgaW4gc29tZSBvdGhlciBnaXQgY2hlY2tvdXQsIHZlcnNpb24uc2ggY2FsbHMgZ2l0IHJldi1wYXJzZQorYW5kIGl0IHJldHVybnMgc29tZSBkZXNjcmlwdGlvbiBmcm9tIHRoYXQgdXBwZXIgZ2l0IGNoZWNrb3V0IGV2ZW4gd2hlbiByZmtpbGwgaXMKK2JlaW5nIGJ1aWx0IGZyb20gcmVsZWFzZSB0YXJiYWxsLgorCitXaGVuIHJldHVybmVkIGRlc2NyaXB0aW9uIGRvZXNuJ3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB2MC40LCB2ZXJzaW9uLnNoIGV4aXRzCit3aXRob3V0IGNyZWF0aW5nIHZlcnNpb24uYworICAgICMgb24gZ2l0IGJ1aWxkcyBjaGVjayB0aGF0IHRoZSB2ZXJzaW9uIG51bWJlciBhYm92ZQorICAgICMgaXMgY29ycmVjdC4uLgorICAgIFsgIiR7ZGVzY3IlJS0qfSIgPSAidiRWRVJTSU9OIiBdIHx8IGV4aXQgMgorCithbmQgYnVpbGQgZmFpbHMgYSBiaXQgbGF0ZXI6CisgICAgfCBOT1RFOiBtYWtlIC1qIDMyIC1lIE1BS0VGTEFHUz0KKyAgICB8ICBDQyAgIHJma2lsbC5vCisgICAgfCAgR0VOICB2ZXJzaW9uLmMKKyAgICB8IG1ha2U6ICoqKiBbdmVyc2lvbi5jXSBFcnJvciAyCisgICAgfCBtYWtlOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgorICAgIHwgRVJST1I6IG9lX3J1bm1ha2UgZmFpbGVkCisKK0Rvbid0IHRyeSBnaXQgcmV2LXBhcnNlLCBpZiB0aGVyZSBpc24ndCAuZ2l0IGluICR7U30uCisKKy0tLSBhL3ZlcnNpb24uc2gJMjAxMy0xMS0xNSAwMzo0MzoxMi41ODc3NDQzNjYgLTA4MDAKKysrKyBiL3ZlcnNpb24uc2gJMjAxMy0xMS0xNSAwMzo0Mjo0MC42OTk3NDMzMjAgLTA4MDAKK0BAIC0xMiw3ICsxMiw3IEBACisgCisgaWYgdGVzdCAieCRTVUZGSVgiICE9ICd4JzsgdGhlbgorIAl2PSIkVkVSU0lPTiRTVUZGSVgiCistZWxpZiBoZWFkPWBnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEhFQUQgMj4vZGV2L251bGxgOyB0aGVuCisrZWxpZiB0ZXN0IC1kIC5naXQgJiYgaGVhZD1gZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBIRUFEIDI+L2Rldi9udWxsYDsgdGhlbgorIAlnaXQgdXBkYXRlLWluZGV4IC0tcmVmcmVzaCAtLXVubWVyZ2VkID4gL2Rldi9udWxsCisgCWRlc2NyPSQoZ2l0IGRlc2NyaWJlIDI+L2Rldi9udWxsIHx8IGVjaG8gInYkVkVSU0lPTiIpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmZraWxsL3Jma2lsbF8wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmZraWxsL3Jma2lsbF8wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U2NDQ3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yZmtpbGwvcmZraWxsXzAuNS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIlJhZGlvIGVuYWJsZS9kaXNhYmxlIGNvbW1hbmQgbGluZSB1dGlsaXR5IgorSE9NRVBBR0UgPSAiaHR0cDovL2xpbnV4d2lyZWxlc3Mub3JnL2VuL3VzZXJzL0RvY3VtZW50YXRpb24vcmZraWxsIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jNjAzNmQwZWI3ZWRiZmNlZDI4YzQxNjBlNWQzZmE5NCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViL3NvZnR3YXJlL25ldHdvcmsvJHtCUE59LyR7QlB9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1yZmtpbGwtbWFrZWZpbGUtZG9uLXQtdXNlLXQtdGhlLU9FLWluc3RhbGwtd3JhcHBlci1kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RvbnQuY2FsbC5naXQucmV2LXBhcnNlLm9uLnBhcmVudC5kaXIucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiOTU3NzEzYTZjZmJjZDhhYzBlOTQ0MjBhZWRkY2YxYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZTE2MGNjYTUwNGE1MzY3OWYyYjMyNTRmMzFjNTNhNGZiMzhhMDIxYmM1MGZlZDhlYjU3YTQzNmQzM2RmYTA3IgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCit9CisKK2luaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcworCitBTFRFUk5BVElWRV8ke1BOfSA9ICJyZmtpbGwiCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICI2MCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtyZmtpbGxdID0gIiR7c2JpbmRpcn0vcmZraWxsIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcnRvcnJlbnQvcnRvcnJlbnQvZG9uLXQtcnVuLWNvZGUtd2hpbGUtY29uZmlndXJpbmctcGFja2FnZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ydG9ycmVudC9ydG9ycmVudC9kb24tdC1ydW4tY29kZS13aGlsZS1jb25maWd1cmluZy1wYWNrYWdlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ZDRmMjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcnRvcnJlbnQvcnRvcnJlbnQvZG9uLXQtcnVuLWNvZGUtd2hpbGUtY29uZmlndXJpbmctcGFja2FnZS5wYXRjaApAQCAtMCwwICsxLDk0IEBACitVc2luZyBBQ19SVU5fSUZFTFNFIHByZXZlbnQgcGVvcGxlIGZyb20gY29uZmlndXJpbmcgcGFja2FnZSBmb3IKK2Nyb3NzLWNvbXBpbGluZy4gRG9uJ3QgcnVuIGNvZGUgd2hpbGUgY29uZmlndXJpbmcgcGFja2FnZS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWkgR2hlcnphbiA8YW5kcmVpQGdoZXJ6YW4ucm8+CisKK0luZGV4OiBsaWJ0b3JyZW50LTAuMTMuMy9zY3JpcHRzL2NoZWNrcy5tNAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYnRvcnJlbnQtMC4xMy4zLm9yaWcvc2NyaXB0cy9jaGVja3MubTQJMjAxMi0wNS0xNCAxNDoxNzowNC4wMDAwMDAwMDAgKzAzMDAKKysrKyBsaWJ0b3JyZW50LTAuMTMuMy9zY3JpcHRzL2NoZWNrcy5tNAkyMDEzLTAyLTEwIDE1OjI4OjM3LjQxNDQ0NTUyNCArMDIwMAorQEAgLTk1LDQwICs5NSw2IEBACisKKyBBQ19ERUZVTihbVE9SUkVOVF9DSEVDS19LUVVFVUVfU09DS0VUX09OTFldLCBbCisgICBBQ19NU0dfQ0hFQ0tJTkcod2hldGhlciBrcXVldWUgc3VwcG9ydHMgcGlwZXMgYW5kIHB0eXMpCistCistICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbCistICAgICAgI2luY2x1ZGUgPGZjbnRsLmg+CistICAgICAgI2luY2x1ZGUgPHN0ZGxpYi5oPgorLSAgICAgICNpbmNsdWRlIDx1bmlzdGQuaD4KKy0gICAgICAjaW5jbHVkZSA8c3lzL2V2ZW50Lmg+CistICAgICAgI2luY2x1ZGUgPHN5cy90aW1lLmg+CistICAgICAgaW50IG1haW4oKSB7CistICAgICAgICBzdHJ1Y3Qga2V2ZW50IGV2QDw6QDJAOj5ALCBldl9vdXRAPDpAMkA6PkA7CistICAgICAgICBzdHJ1Y3QgdGltZXNwZWMgdHMgPSB7IDAsIDAgfTsKKy0gICAgICAgIGludCBwZmRAPDpAMkA6PkAsIHB0eUA8OkAyQDo+QCwga2ZkLCBuOworLSAgICAgICAgY2hhciBidWZmZXJAPDpAOTAwMUA6PkA7CistICAgICAgICBpZiAocGlwZShwZmQpID09IC0xKSByZXR1cm4gMTsKKy0gICAgICAgIGlmIChmY250bChwZmRAPDpAMUA6PkAsIEZfU0VURkwsIE9fTk9OQkxPQ0spID09IC0xKSByZXR1cm4gMjsKKy0gICAgICAgIHdoaWxlICgobiA9IHdyaXRlKHBmZEA8OkAxQDo+QCwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSkpID09IHNpemVvZihidWZmZXIpKTsKKy0gICAgICAgIGlmICgocHR5QDw6QDBAOj5APXBvc2l4X29wZW5wdChPX1JEV1IgfCBPX05PQ1RUWSkpID09IC0xKSByZXR1cm4gMzsKKy0gICAgICAgIGlmICgocHR5QDw6QDFAOj5APWdyYW50cHQocHR5QDw6QDBAOj5AKSkgPT0gLTEpIHJldHVybiA0OworLSAgICAgICAgRVZfU0VUKGV2KzAsIHBmZEA8OkAxQDo+QCwgRVZGSUxUX1dSSVRFLCBFVl9BREQgfCBFVl9FTkFCTEUsIDAsIDAsIE5VTEwpOworLSAgICAgICAgRVZfU0VUKGV2KzEsIHB0eUA8OkAxQDo+QCwgRVZGSUxUX1JFQUQsIEVWX0FERCB8IEVWX0VOQUJMRSwgMCwgMCwgTlVMTCk7CistICAgICAgICBpZiAoKGtmZCA9IGtxdWV1ZSgpKSA9PSAtMSkgcmV0dXJuIDU7CistICAgICAgICBpZiAoKG4gPSBrZXZlbnQoa2ZkLCBldiwgMiwgTlVMTCwgMCwgTlVMTCkpID09IC0xKSByZXR1cm4gNjsKKy0gICAgICAgIGlmIChldl9vdXRAPDpAMEA6PkAuZmxhZ3MgJiBFVl9FUlJPUikgcmV0dXJuIDc7CistICAgICAgICBpZiAoZXZfb3V0QDw6QDFAOj5ALmZsYWdzICYgRVZfRVJST1IpIHJldHVybiA4OworLSAgICAgICAgcmVhZChwZmRAPDpAMEA6PkAsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpOworLSAgICAgICAgaWYgKChuID0ga2V2ZW50KGtmZCwgTlVMTCwgMCwgZXZfb3V0LCAyLCAmdHMpKSA8IDEpIHJldHVybiA5OworLSAgICAgICAgcmV0dXJuIDA7CistICAgICAgfQorLSAgICAgIF0pXSwKKy0gICAgWworLSAgICAgIEFDX01TR19SRVNVTFQoeWVzKQorLSAgICBdLCBbCistICAgICAgQUNfREVGSU5FKEtRVUVVRV9TT0NLRVRfT05MWSwgMSwga3F1ZXVlIG9ubHkgc3VwcG9ydHMgc29ja2V0cy4pCistICAgICAgQUNfTVNHX1JFU1VMVChubykKKy0gICAgXSkKKyBdKQorCisgQUNfREVGVU4oW1RPUlJFTlRfV0lUSF9LUVVFVUVdLCBbCitJbmRleDogbGlidG9ycmVudC0wLjEzLjMvc2NyaXB0cy9jb21tb24ubTQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJ0b3JyZW50LTAuMTMuMy5vcmlnL3NjcmlwdHMvY29tbW9uLm00CTIwMTItMDUtMTQgMTQ6MTc6MDQuMDAwMDAwMDAwICswMzAwCisrKysgbGlidG9ycmVudC0wLjEzLjMvc2NyaXB0cy9jb21tb24ubTQJMjAxMy0wMi0xMCAxNToyNzo1NS44NzQ0NDY3NDEgKzAyMDAKK0BAIC0yMjIsMzggKzIyMiwxMCBAQAorCisgQUNfREVGVU4oW1RPUlJFTlRfQ0hFQ0tfRVhFQ0lORk9dLCBbCisgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIGV4ZWNpbmZvLmgpCistCistICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbCistICAgICAgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CistICAgICAgaW50IG1haW4oKSB7IGJhY2t0cmFjZSgodm9pZCoqKTAsIDApOyBiYWNrdHJhY2Vfc3ltYm9scygoY2hhcioqKTAsIDApOyByZXR1cm4gMDt9CistICAgICAgXSldLAorLSAgICBbCistICAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCistICAgICAgQUNfREVGSU5FKFVTRV9FWEVDSU5GTywgMSwgVXNlIGV4ZWNpbmZvLmgpCistICAgIF0sIFsKKy0gICAgICBBQ19NU0dfUkVTVUxUKG5vKQorLSAgXSkKKyBdKQorCisgQUNfREVGVU4oW1RPUlJFTlRfQ0hFQ0tfQUxJR05FRF0sIFsKKyAgIEFDX01TR19DSEVDS0lORyh0aGUgYnl0ZSBhbGlnbm1lbnQpCistCistICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbCistICAgICAgI2luY2x1ZGUgPGludHR5cGVzLmg+CistICAgICAgaW50IG1haW4oKSB7CistICAgICAgICBjaGFyIGJ1ZkA8OkA4QDo+QCA9IHsgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCB9OworLQlpbnQgaTsKKy0gICAgICAgIGZvciAoaSA9IDE7IGkgPCA0OyArK2kpCistCSAgaWYgKCoodWludDMyX3QqKShidWYgKyBpKSA9PSAwKSByZXR1cm4gLTE7CistCXJldHVybiAwOworLQl9CistICAgICAgXSldLAorLSAgICBbCistICAgICAgQUNfTVNHX1JFU1VMVChub25lIG5lZWRlZCkKKy0gICAgXSwgWworLSAgICAgIEFDX0RFRklORShVU0VfQUxJR05FRCwgMSwgUmVxdWlyZSBieXRlIGFsaWdubWVudCkKKy0gICAgICBBQ19NU0dfUkVTVUxUKHJlcXVpcmVkKQorLSAgXSkKKyBdKQorCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ydG9ycmVudC9ydG9ycmVudF8wLjkuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ydG9ycmVudC9ydG9ycmVudF8wLjkuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjBhMzlhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3J0b3JyZW50L3J0b3JyZW50XzAuOS4zLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiVG9ycmVudCBjbGllbnQiCitIT01FUEFHRSA9ICJodHRwOi8vbGlidG9ycmVudC5yYWtzaGFzYS5uby8iCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJsaWJzaWdjKystMi4wIGN1cmwgY3BwdW5pdCBsaWJ0b3JyZW50IG5jdXJzZXMiCisKK1NSQ19VUkkgPSAiaHR0cDovL2xpYnRvcnJlbnQucmFrc2hhc2Eubm8vZG93bmxvYWRzLyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovL2Rvbi10LXJ1bi1jb2RlLXdoaWxlLWNvbmZpZ3VyaW5nLXBhY2thZ2UucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMGJmMmYyNjJmYWE4YzhjOGQzYjExY2UyODZlYTJiZjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWU5M2NhNDFiZWIxYWZlNzRhZDdhZDgwMTNlMGQ1M2FlMzU4NmM5YjBlOTcyNjNkNzIyZjcyMTUzNWNjNzMxMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2VyMm5ldC9zZXIybmV0XzIuOS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NlcjJuZXQvc2VyMm5ldF8yLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmU2YTZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NlcjJuZXQvc2VyMm5ldF8yLjkuMS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkEgc2VyaWFsIHRvIG5ldHdvcmsgcHJveHkiCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvc2VyMm5ldC8iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iYWUzMDE5YjRjNmRjNDEzOGMyMTc4NjRiZDA0MzMxZiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC9zZXIybmV0L3NlcjJuZXQvc2VyMm5ldC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4MDAxMWFjMGU2MGJiZGNiNjVmMWQ3YTg2MjUxZTNmMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZGVlMWU2OTkwM2NmNDA5YmRjNmYzMjQwM2E1NjZjYmM2MDA2YWE5ZTJhNGQ2ZjhmMTJiOTBkZmQ1Y2EwZDBlIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworQkJDTEFTU0VYVEVORCArPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbXN0b29sczMvc21zdG9vbHMzL2ZpeC1tYWtlZmlsZS1vdmVycmlkZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbXN0b29sczMvc21zdG9vbHMzL2ZpeC1tYWtlZmlsZS1vdmVycmlkZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGExZDMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Ntc3Rvb2xzMy9zbXN0b29sczMvZml4LW1ha2VmaWxlLW92ZXJyaWRlLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2RlYmlhbl0KKworLS0tIGEvc3JjL01ha2VmaWxlCisrKysgYi9zcmMvTWFrZWZpbGUKK0BAIC0zNywxNiArMzcsMTUgQEAKKyAjIFVzZSB0aGUgZm9sbG93aW5nIG9ubHkgb24gR05VL0xpbnV4IGFuZCBvbmx5IGlmIHlvdSBuZWVkIHBzIGxpc3RpbmcgbGlrZSAic21zZDogTUFJTlBST0NFU1MiIGFuZCAic21zZDogR1NNMSIKKyAjIENGTEFHUyArPSAtRCBVU0VfTElOVVhfUFNfVFJJQ0sKKyAKKy1hbGw6IHNtc2QgCistCistc21zZDogc21zZC5jIGV4dHJhcy5vIGxvY2tpbmcubyBjZmdmaWxlLm8gbG9nZ2luZy5vIGFsYXJtLm8gc21zZF9jZmcubyBjaGFyc2V0Lm8gc3RhdHMubyBibGFja2xpc3QubyB3aGl0ZWxpc3QubyBtb2RlbWluaXQubyBwZHUubworLQorIGlmbmVxICgsJChmaW5kc3RyaW5nIFNPTEFSSVMsJChDRkxBR1MpKSkKKyBpZmVxICgsJChmaW5kc3RyaW5nIERJU0FCTEVfSU5FVF9TT0NLRVQsJChDRkxBR1MpKSkKKyBvdmVycmlkZSBMRkxBR1MgKz0gLWxzb2NrZXQgLWxuc2wKKyBlbmRpZgorIGVuZGlmCisgCisrYWxsOiBzbXNkIAorKworK3Ntc2Q6IHNtc2QuYyBleHRyYXMubyBsb2NraW5nLm8gY2ZnZmlsZS5vIGxvZ2dpbmcubyBhbGFybS5vIHNtc2RfY2ZnLm8gY2hhcnNldC5vIHN0YXRzLm8gYmxhY2tsaXN0Lm8gd2hpdGVsaXN0Lm8gbW9kZW1pbml0Lm8gcGR1Lm8KKyBpZm5lcSAoLCQoZmluZHN0cmluZyBOT1NUQVRTLCQoQ0ZMQUdTKSkpCisgCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCAkXiAkKExGTEFHUykKKyBlbHNlIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Ntc3Rvb2xzMy9zbXN0b29sczMvc21zX2JpbnBhdGhfYW5kX3Bzb3BzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Ntc3Rvb2xzMy9zbXN0b29sczMvc21zX2JpbnBhdGhfYW5kX3Bzb3BzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmY2FhMDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc21zdG9vbHMzL3Ntc3Rvb2xzMy9zbXNfYmlucGF0aF9hbmRfcHNvcHMucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorSW5kZXg6IHNtc3Rvb2xzMy9zY3JpcHRzL3NtczMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBzbXN0b29sczMub3JpZy9zY3JpcHRzL3NtczMJMjAxMC0wNS0wNCAxMToyMTo0NC4wMDAwMDAwMDAgKzAyMDAKKysrKyBzbXN0b29sczMvc2NyaXB0cy9zbXMzCTIwMTUtMDItMjIgMjA6MDU6NTEuNjE1MDc0NDY5ICswMTAwCitAQCAtMjQsMTEgKzI0LDExIEBACisgIyBMb2dmaWxlIGNhbiBhbHNvIGJlIGRlZmluZWQgaW4gaGVyZToKKyBMT0dGSUxFPSIvdmFyL2xvZy9zbXNkLmxvZyIKKyAKKy1EQUVNT049L3Vzci9sb2NhbC9iaW4vc21zZAorK0RBRU1PTj0vdXNyL2Jpbi9zbXNkCisgIyBBIHByb2dyYW0gd2hpY2ggdHVybnMgcG93ZXIgb2ZmIGZvciBjb3VwbGUgb2Ygc2Vjb25kczoKKy1SRVNFVE1PREVNUz0vdXNyL2xvY2FsL2Jpbi9zbXNkX3Jlc2V0bW9kZW1zCisrUkVTRVRNT0RFTVM9L3Vzci9iaW4vc21zZF9yZXNldG1vZGVtcworIE5BTUU9c21zZAorLVBTT1BUPSItZSIKKytQU09QVD0iIgorIEVDSE89ZWNobworIGNhc2UgYHVuYW1lYCBpbgorICAgKkJTRHxEYXJ3aW4pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc21zdG9vbHMzL3Ntc3Rvb2xzM18zLjEuMTUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc21zdG9vbHMzL3Ntc3Rvb2xzM18zLjEuMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTVhZGVjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbXN0b29sczMvc21zdG9vbHMzXzMuMS4xNS5iYgpAQCAtMCwwICsxLDQ2IEBACitTVU1NQVJZID0gIlNNUyBHYXRld2F5IHNvZnR3YXJlIgorREVTQ1JJUFRJT04gPSAiVGhlIFNNUyBTZXJ2ZXIgVG9vbHMgMyBpcyBhIFNNUyBHYXRld2F5IHNvZnR3YXJlIHdoaWNoIGNhbiBzZW5kIGFuZCByZWNlaXZlIHNob3J0IG1lc3NhZ2VzIHRocm91Z2ggR1NNIG1vZGVtcyBhbmQgbW9iaWxlIHBob25lcy4iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00ZDIxZWZhMWJiMmExODYzNjBkZGU0MDM1Zjg2MDY4MiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zbXN0b29sczMua2VrZWthc3ZpLmNvbSIKKworU1JDX1VSSSA9ICJodHRwOi8vc21zdG9vbHMzLmtla2VrYXN2aS5jb20vcGFja2FnZXMvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3Ntc19iaW5wYXRoX2FuZF9wc29wcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtbWFrZWZpbGUtb3ZlcnJpZGUucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMjQxZWY2MGU2NDZmYWMxYTA2MjU0YTg0OGU2MWVkNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlZDAwZmZhZWFhMzEyYTViNGY5NjlmNGU5N2E2NDYwM2E4NjZiYmUxNmUzOTNlYTAyZjViZjA1MjM0ODE0ZDU5IgorCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK1JERVBFTkRTXyR7UE59ID0gImJhc2giCitJTklUU0NSSVBUX05BTUUgPSAic21zMyIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCitpbmhlcml0IHVwZGF0ZS1yYy5kCisKK2RvX2luc3RhbGwgKCkgeworCQorCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQkKKwlpbnN0YWxsIC1tIDc1NSAke1N9L3NyYy9zbXNkICIke0R9JHtiaW5kaXJ9L3Ntc2QiCisJCisJaW5zdGFsbCAtbSA3NTUgJHtTfS9zY3JpcHRzL3NlbmRzbXMgIiR7RH0ke2JpbmRpcn0vc2VuZHNtcyIKKwlpbnN0YWxsIC1tIDc1NSAke1N9L3NjcmlwdHMvc21zMmh0bWwgIiR7RH0ke2JpbmRpcn0vc21zMmh0bWwiCisJaW5zdGFsbCAtbSA3NTUgJHtTfS9zY3JpcHRzL3NtczJ1bmljb2RlICIke0R9JHtiaW5kaXJ9L3NtczJ1bmljb2RlIiAKKwlpbnN0YWxsIC1tIDc1NSAke1N9L3NjcmlwdHMvdW5pY29kZTJzbXMgIiR7RH0ke2JpbmRpcn0vdW5pY29kZTJzbXMiCisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CQorCWluc3RhbGwgLW0gNjQ0ICR7U30vZXhhbXBsZXMvc21zZC5jb25mLmVhc3kgIiR7RH0ke3N5c2NvbmZkaXJ9L3Ntc2QuY29uZiIKKworCWluc3RhbGwgLWQgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sIgorCWluc3RhbGwgLWQgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3NtcyIKKwlpbnN0YWxsIC1kICIke0R9JHtsb2NhbHN0YXRlZGlyfS9zcG9vbC9zbXMvaW5jb21pbmciCisJaW5zdGFsbCAtZCAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc3Bvb2wvc21zL291dGdvaW5nIgorCWluc3RhbGwgLWQgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3Nwb29sL3Ntcy9jaGVja2VkIgorCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKwlpbnN0YWxsIC1tIDc1NSAke1N9L3NjcmlwdHMvc21zMyAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLyR7SU5JVFNDUklQVF9OQU1FfSIKKworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NvZnQ2Ni9maWxlcy9maXgtYXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc29mdDY2L2ZpbGVzL2ZpeC1hci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjFmZmRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NvZnQ2Ni9maWxlcy9maXgtYXIucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tCisgY29uZmlndXJlLmFjIHwgICAgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKKy0tLSBnaXQub3JpZy9jb25maWd1cmUuYWMKKysrKyBnaXQvY29uZmlndXJlLmFjCitAQCAtNyw1ICs3LDYgQEAgQUNfUFJPR19DQworIEFDX0NPTkZJR19IRUFERVJTKFtjb25maWcuaF0pCisgQUNfQ09ORklHX0ZJTEVTKFtNYWtlZmlsZSBsaWIvTWFrZWZpbGUgdG9vbHMvTWFrZWZpbGVdKQorIFBLR19DSEVDS19NT0RVTEVTKFtGVERJXSwgW2xpYmZ0ZGkgPj0gMC4xM10pCisgQUNfT1VUUFVUCisgQU1fUFJPR19DQ19DX08KKytBTV9QUk9HX0FSCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc29mdDY2L3NvZnQ2Nl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvc29mdDY2L3NvZnQ2Nl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY0OTUyNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zb2Z0NjYvc29mdDY2X2dpdC5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIkxpYnJhcnkgYW5kIHRvb2xzIGZvciBTb2Z0NjZBREQgYW5kIHJlbGF0ZWQgU0RSIHJhZGlvIHJlY2VpdmVycyIKK0xJQ0VOU0UgPSAiR1BMdjMgJiBMR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjI3ZGVmZTFlOTZjMmUxZWNkNGUwYzliZTg5Njc5NDkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PWU2YTYwMGZkNWUxZDljYmRlMmQ5ODM2ODAyMzNhZDAyICIKKworUE5CTEFDS0xJU1Rbc29mdDY2XSA/PSAiQlJPS0VOOiBkZXBlbmRzIG9uIGJyb2tlbiBsaWJmdGRpIgorCitERVBFTkRTID0gImxpYmZ0ZGkiCisKK1BWID0gIjAuMS4zK2dpdHIke1NSQ1BWfSIKK1BSID0gInIxIgorCitTUkNSRVYgPSAiYTFkYWIyNWU3Mzg5NmM5MGM5ODIyN2FjODA1NWYyMjdiODMwZDUxMiIKK1NSQ19VUkkgPSAiZ2l0Oi8vaG9tZS5ob3JzdGVuLmNvbS9zb2Z0NjYgXAorZmlsZTovL2ZpeC1hci5wYXRjaCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvbGlidGVsZXBhdGh5L2RvdWJsZWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvbGlidGVsZXBhdGh5L2RvdWJsZWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzczN2ZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS9saWJ0ZWxlcGF0aHkvZG91YmxlZml4LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK0ZpeCBkb3VibGUgcmVmZXJlbmNlIHRvIHRoaXMgZmlsZSB0byB3b3JrIHdpdGggcmVjZW50IGF1dG9jb25mK2F1dG9tYWtlCisKK1JQIDEvMi8xMAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiBsaWJ0ZWxlcGF0aHktMC4zLjMvc3JjL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlidGVsZXBhdGh5LTAuMy4zLm9yaWcvc3JjL01ha2VmaWxlLmFtCTIwMTAtMDItMDEgMTM6MTM6NTAuODY5MDM4OTg0ICswMDAwCisrKysgbGlidGVsZXBhdGh5LTAuMy4zL3NyYy9NYWtlZmlsZS5hbQkyMDEwLTAyLTAxIDEzOjE0OjIzLjI2Nzc4OTQ1NiArMDAwMAorQEAgLTI3LDcgKzI3LDYgQEAKKyAgICAgdHAtY2hhbi10eXBlLXRleHQtZ2VuLmggXAorICAgICB0cC1jaGFuLXR5cGUtdHViZXMtZ2VuLmggXAorICAgICB0cC1jb25uLWlmYWNlLWFsaWFzaW5nLWdlbi5oIFwKKy0gICAgdHAtY29ubi1pZmFjZS1hdmF0YXJzLWdlbi5oIFwKKyAgICAgdHAtY29ubi1pZmFjZS1jYXBhYmlsaXRpZXMtZ2VuLmggXAorICAgICB0cC1jb25uLWlmYWNlLWNvbnRhY3QtaW5mby1nZW4uaCBcCisgICAgIHRwLWNvbm4taWZhY2UtZm9yd2FyZGluZy1nZW4uaCBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L2xpYnRlbGVwYXRoeS9wcmVmZXJfcHl0aG9uXzIuNS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvbGlidGVsZXBhdGh5L3ByZWZlcl9weXRob25fMi41LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3Njc5YWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L2xpYnRlbGVwYXRoeS9wcmVmZXJfcHl0aG9uXzIuNS5wYXRjaApAQCAtMCwwICsxLDE1IEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiBsaWJ0ZWxlcGF0aHktMC4zLjEvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlidGVsZXBhdGh5LTAuMy4xLm9yaWcvY29uZmlndXJlLmFjCTIwMDctMTEtMjIgMTk6MDU6NTYuMDAwMDAwMDAwICswMDAwCisrKysgbGlidGVsZXBhdGh5LTAuMy4xL2NvbmZpZ3VyZS5hYwkyMDA4LTAxLTA0IDEyOjA3OjI4LjAwMDAwMDAwMCArMDAwMAorQEAgLTUxLDcgKzUxLDcgQEAKKyAgIEFDX01TR19FUlJPUihbeHNsdHByb2MgKGZyb20gdGhlIGxpYnhzbHQgc291cmNlIHBhY2thZ2UpIGlzIHJlcXVpcmVkXSkKKyBmaQorIAorLUFDX0NIRUNLX1BST0dTKFtQWVRIT05dLCBbcHl0aG9uMi4zIHB5dGhvbjIuNCBweXRob24yLjUgcHl0aG9uXSkKKytBQ19DSEVDS19QUk9HUyhbUFlUSE9OXSwgW3B5dGhvbjIuNSBweXRob24yLjQgcHl0aG9uMi4zIHB5dGhvbl0pCisgaWYgdGVzdCAteiAiJFBZVEhPTiI7IHRoZW4KKyAgIEFDX01TR19FUlJPUihbUHl0aG9uIGlzIHJlcXVpcmVkIHRvIGNvbXBpbGUgdGhpcyBwYWNrYWdlXSkKKyBmaQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS9saWJ0ZWxlcGF0aHlfMC4zLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L2xpYnRlbGVwYXRoeV8wLjMuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTNlNzA5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS9saWJ0ZWxlcGF0aHlfMC4zLjMuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJUZWxlcGF0aHkgZnJhbWV3b3JrIgorREVTQ1JJUFRJT04gPSAiVGVsZXBhdGh5IGlzIGEgRC1CdXMgZnJhbWV3b3JrIGZvciB1bmlmeWluZyByZWFsIHRpbWUgXAorY29tbXVuaWNhdGlvbiwgaW5jbHVkaW5nIGluc3RhbnQgbWVzc2FnaW5nLCB2b2ljZSBjYWxscyBhbmQgdmlkZW8gY2FsbHMuICBJdCBcCithYnN0cmFjdHMgZGlmZmVyZW5jZXMgYmV0d2VlbiBwcm90b2NvbHMgdG8gcHJvdmlkZSBhIHVuaWZpZWQgaW50ZXJmYWNlIGZvciBcCithcHBsaWNhdGlvbnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3RlbGVwYXRoeS5mcmVlZGVza3RvcC5vcmcvd2lraS8iCitERVBFTkRTID0gImdsaWItMi4wIGRidXMgZGJ1cy1nbGliIHRlbGVwYXRoeS1nbGliIGxpYnhzbHQtbmF0aXZlIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvdHAtY29ubi5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MTk7bWQ1PTRjNTgwNjlmNzdkNjAxY2M1OTIwMGJjZTUzOTZjN2NiIgorUFIgPSAicjUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3RlbGVwYXRoeS5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvbGlidGVsZXBhdGh5L2xpYnRlbGVwYXRoeS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcHJlZmVyX3B5dGhvbl8yLjUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZG91YmxlZml4LnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDkwY2ExYTBjNjE0ZDQ0NjYzOTRiNzJkNDNiZjczNzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTBkMjMwYmU4NTUxMjUxNjM1Nzk3NDM0MTgyMDNjNmY2YmUyZjEwZjk4YzRmMDY1NzM1YzFkYzllZDExNTg3OCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHB5dGhvbm5hdGl2ZQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90ZWxlcGF0aHkgXAorCQkke2RhdGFkaXJ9L2RidXMtMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LWdsaWJfMC4yNC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktZ2xpYl8wLjI0LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFjNmUzNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LWdsaWJfMC4yNC4wLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiVGVsZXBhdGh5IEZyYW1ld29yayBnbGliLWJhc2UgaGVscGVyIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJUZWxlcGF0aHkgRnJhbWV3b3JrOiBHTGliLWJhc2VkIGhlbHBlciBsaWJyYXJ5IGZvciBjb25uZWN0aW9uIG1hbmFnZXJzIgorSE9NRVBBR0UgPSAiaHR0cDovL3RlbGVwYXRoeS5mcmVlZGVza3RvcC5vcmcvd2lraS8iCitERVBFTkRTID0gImdsaWItMi4wIGRidXMgaG9zdHB5dGhvbi1ydW50aW1lLW5hdGl2ZSBkYnVzLW5hdGl2ZSBkYnVzLWdsaWIgbGlieHNsdC1uYXRpdmUiCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKKworU1JDX1VSSSA9ICJodHRwOi8vdGVsZXBhdGh5LmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy90ZWxlcGF0aHktZ2xpYi8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiOTNjNDI5ZTM3NzUwYjI1ZGNmOGRlODZiYjUxNDY2NGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWUwMDAyMTM0OTkxMjE3ZjQyZTUwM2M0M2RlYTc4MTc4NTNhZmMxODg2M2I5MTM3NDRkNTFmZmEwMjk4MThjZiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTQxM2Q4M2RiNmVlOGYyYzhlNjA1NTcxOTA5NmE0OGUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90ZWxlcGF0aHkgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktaWRsZS9maXgtc3ZjLWd0ay1kb2MuaC10YXJnZXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L3RlbGVwYXRoeS1pZGxlL2ZpeC1zdmMtZ3RrLWRvYy5oLXRhcmdldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2QyYzc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktaWRsZS9maXgtc3ZjLWd0ay1kb2MuaC10YXJnZXQucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IENvbnN0YW50aW4gTXVzY2EgPGNvbnN0YW50aW54Lm11c2NhQGludGVsLmNvbT4KKy0tLSBhL2V4dGVuc2lvbnMvTWFrZWZpbGUuYW0KKysrKyBiL2V4dGVuc2lvbnMvTWFrZWZpbGUuYW0KK0BAIC0zNyw4ICszNyw4IEBAIF9nZW4vYWxsLnhtbDogYWxsLnhtbCAkKHdpbGRjYXJkICQoc3JjZGkKKyAJCS0teGluY2x1ZGUgJCh0b29sc19kaXIpL2lkZW50aXR5LnhzbCBcCisgCQkkPCA+ICRACisgCistZXh0ZW5zaW9ucy5odG1sOiBfZ2VuL2FsbC54bWwgJCh0b29sc19kaXIpL2RvYy1nZW5lcmF0b3IueHNsCisrZXh0ZW5zaW9ucy5odG1sIF9nZW4vc3ZjLWd0ay1kb2MuaDogX2dlbi9hbGwueG1sICQodG9vbHNfZGlyKS9kb2MtZ2VuZXJhdG9yLnhzbAorIAkkKEFNX1ZfR0VOKSQoWFNMVFBST0MpICQoWFNMVFBST0NGTEFHUykgXAorIAkJJCh0b29sc19kaXIpL2RvYy1nZW5lcmF0b3IueHNsIFwKKyAJCSQ8ID4gJEAKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LWlkbGVfMC4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L3RlbGVwYXRoeS1pZGxlXzAuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhMDlmNmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L3RlbGVwYXRoeS1pZGxlXzAuMi4wLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiVGVsZXBhdGh5IElSQyBjb25uZWN0aW9uIG1hbmFnZXIiCitERVNDUklQVElPTiA9ICJUZWxlcGF0aHkgaW1wbGVtZW50YXRpb24gb2YgdGhlIEludGVybmV0IFJlbGF5IENoYXQgcHJvdG9jb2xzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly90ZWxlcGF0aHkuZnJlZWRlc2t0b3Aub3JnL3dpa2kvIgorREVQRU5EUyA9ICJnbGliLTIuMCBkYnVzIHRlbGVwYXRoeS1nbGliIG9wZW5zc2wgbGlieHNsdC1uYXRpdmUiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2lkbGUuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTE5O21kNT1iMDZiMWUyNTk0NDIzMTExYTFhNzkxMGIwZWVmYzdmOSIKKworU1JDX1VSSSA9ICJodHRwOi8vdGVsZXBhdGh5LmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtc3ZjLWd0ay1kb2MuaC10YXJnZXQucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiOTJhMmRlNTE5ODI4NGNiZDNjNDMwYjBkMWE5NzFhODYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzAxM2FkNGIzOGQxNGVlNjMwYjhjYzhhZGE1ZTk1Y2NhYTg0OWI5YTZmZTE1ZDJlYWY2ZDA3MTdkNzZmMmZhYiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHB5dGhvbm5hdGl2ZQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90ZWxlcGF0aHkgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktbWlzc2lvbi1jb250cm9sL3RtYy1NYWtlZmlsZS1maXgtcmFjZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LW1pc3Npb24tY29udHJvbC90bWMtTWFrZWZpbGUtZml4LXJhY2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNlMWRhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LW1pc3Npb24tY29udHJvbC90bWMtTWFrZWZpbGUtZml4LXJhY2UucGF0Y2gKQEAgLTAsMCArMSw3NiBAQAorRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBTdW4sIDIyIFNlcCAyMDEzIDIzOjIxOjAxIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIHNyYy9NYWtlZmlsZS5hbTogZml4IHJhY2UgaXNzdWUgZm9yIF9nZW4vZ3R5cGVzLmggYW5kIF9nZW4vZ3R5cGVzLWJvZHkuaAorCitUaGVyZSBtaWdodCBiZSBhbiBlcnJvciB3aGVuIHBhcmFsbGVsIGJ1aWxkOgorCitbc25pcF0KK1RyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgRmlsZSAiL3BhdGgvdG8vdG9vbHMvZ2xpYi1ndHlwZXMtZ2VuZXJhdG9yLnB5IiwgbGluZSAzMDQsIGluIDxtb2R1bGU+CisgICAgR1R5cGVzR2VuZXJhdG9yKGRvbSwgYXJndlsxXSwgYXJndlsyXSkoKQorICBGaWxlICIvcGF0aC90by90b29scy9nbGliLWd0eXBlcy1nZW5lcmF0b3IucHkiLCBsaW5lIDI5NSwgaW4gX19jYWxsX18KKyAgICBmaWxlX3NldF9jb250ZW50cyhzZWxmLm91dHB1dCArICcuaCcsICcnLmpvaW4oc2VsZi5oZWFkZXIpKQorICBGaWxlICIvcGF0aC90by90b29scy9saWJ0cGNvZGVnZW4ucHkiLCBsaW5lIDQyLCBpbiBmaWxlX3NldF9jb250ZW50cworICAgIG9zLnJlbmFtZShmaWxlbmFtZSArICcudG1wJywgZmlsZW5hbWUpCitPU0Vycm9yOiBbRXJybm8gMl0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorW3NuaXBdCisKK1RoaXMgaXMgYSByYWNlIGlzc3VlLCB0aGUgX2dlbi9ndHlwZXMuaCBhbmQgX2dlbi9ndHlwZXMtYm9keS5oIG1heQord3JpdGUocmVtb3ZlL3JlbmFtZSkgX2dlbi9ndHlwZXMudG1wIGF0IHRoZSBzYW1lIHRpbWUsIHRoZW4gdGhlcmUgd291bGQKK2JlIHRoZSBlcnJvci4KKworVGhlcmUgd2FzIGEgc2ltaWxhciBidWcgaW4gdGVsZXBhdGh5LWdsaWIgd2hpY2ggd2FzIGFscmVhZHkgZml4ZWQsIHdlIHVzZSB0aGUKK3NpbWlsYXIgcGF0Y2ggdG8gZml4IGl0LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvTWFrZWZpbGUuYW0gfCAgIDE4ICsrKysrKysrKysrKysrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAgLTI4OCw3ICsyODgsMTEgQEAgX2dlbi9pbnRlcmZhY2VzLWJvZHkuaDogX2dlbi9tY2QueG1sIFwKKyAJCSQodG9vbHNfZGlyKS9nbGliLWludGVyZmFjZXMtYm9keS1nZW5lcmF0b3IueHNsIFwKKyAJCSQ8ID4gJEAKKyAKKy1fZ2VuL2d0eXBlcy5oIF9nZW4vZ3R5cGVzLWJvZHkuaDogX2dlbi9tY2QueG1sIFwKKysjIGRvIG5vdGhpbmcsIG91dHB1dCBhcyBhIHNpZGUtZWZmZWN0CisrX2dlbi9ndHlwZXMuaDogX2dlbi9ndHlwZXMtYm9keS5oCisrCUA6CisrCisrX2dlbi9ndHlwZXMtYm9keS5oOiBfZ2VuL21jZC54bWwgXAorIAkkKHRvcF9zcmNkaXIpL3Rvb2xzL2dsaWItZ3R5cGVzLWdlbmVyYXRvci5weQorIAkkKEFNX1ZfR0VOKSQoUFlUSE9OKSAkKHRvcF9zcmNkaXIpL3Rvb2xzL2dsaWItZ3R5cGVzLWdlbmVyYXRvci5weSBcCisgCQkkPCBfZ2VuL2d0eXBlcyBtYworQEAgLTMwOSw3ICszMTMsMTEgQEAgX2dlbi8lLnhtbDogJS54bWwgJCh3aWxkY2FyZCAkKHRvcF9zcmNkaXIpL3htbC8qLnhtbCkgTWFrZWZpbGUuYW0KKyAJJChBTV9WX0dFTikkKFhTTFRQUk9DKSAkKFhTTFRQUk9DRkxBR1MpIC0teGluY2x1ZGUgJCh0b29sc19kaXIpL2lkZW50aXR5LnhzbCBcCisgCQkkPCA+ICRACisgCistX2dlbi9jbGktJS1ib2R5LmggX2dlbi9jbGktJS5oOiBfZ2VuLyUueG1sIFwKKysjIGRvIG5vdGhpbmcsIG91dHB1dCBhcyBhIHNpZGUtZWZmZWN0CisrX2dlbi9jbGktJS5oOiBfZ2VuL2NsaS0lLWJvZHkuaAorKwlAOgorKworK19nZW4vY2xpLSUtYm9keS5oOiBfZ2VuLyUueG1sIFwKKyAJJCh0b29sc19kaXIpL2dsaWItY2xpZW50LWdlbi5weSBNYWtlZmlsZS5hbQorIAkkKEFNX1ZfR0VOKSQoUFlUSE9OKSAkKHRvb2xzX2RpcikvZ2xpYi1jbGllbnQtZ2VuLnB5IFwKKyAJCS0tZ3JvdXA9YGVjaG8gJCogfCB0ciB4LSB4X2AgXAorQEAgLTMxNyw3ICszMjUsMTEgQEAgX2dlbi9jbGktJS1ib2R5LmggX2dlbi9jbGktJS5oOiBfZ2VuLyUueG1sIFwKKyAJCS0tdHAtcHJveHktYXBpPTAuNy42IFwKKyAJCSQ8IE1jX0NsaSBfZ2VuL2NsaS0kKgorIAorLV9nZW4vc3ZjLSUuYyBfZ2VuL3N2Yy0lLmg6IF9nZW4vJS54bWwgXAorKyMgZG8gbm90aGluZywgb3V0cHV0IGFzIGEgc2lkZS1lZmZlY3QKKytfZ2VuL3N2Yy0lLmg6IF9nZW4vc3ZjLSUuYworKwlAOgorKworK19nZW4vc3ZjLSUuYzogX2dlbi8lLnhtbCBcCisgCSQodG9vbHNfZGlyKS9nbGliLWdpbnRlcmZhY2UtZ2VuLnB5IE1ha2VmaWxlLmFtCisgCSQoQU1fVl9HRU4pJChQWVRIT04pICQodG9vbHNfZGlyKS9nbGliLWdpbnRlcmZhY2UtZ2VuLnB5IFwKKyAJCS0tZmlsZW5hbWU9X2dlbi9zdmMtJCogXAorLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L3RlbGVwYXRoeS1taXNzaW9uLWNvbnRyb2xfNS4xNi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktbWlzc2lvbi1jb250cm9sXzUuMTYuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YWU2OGRkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktbWlzc2lvbi1jb250cm9sXzUuMTYuMS5iYgpAQCAtMCwwICsxLDUxIEBACitTVU1NQVJZID0gIkNlbnRyYWwgY29udHJvbCBmb3IgVGVsZXBhdGh5IElNIGNvbm5lY3Rpb24gbWFuYWdlcnMiCitIT01FUEFHRSA9ICJodHRwOi8vdGVsZXBhdGh5LmZyZWVkZXNrdG9wLm9yZy93aWtpL01pc3Npb25fQ29udHJvbC8iCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ4MDQ1ZjNiOGY5MjljMWNiMjlhMWUzZmQ3MzdiNDk5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9yZXF1ZXN0Lmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yMTttZDU9ZjgwNTM0ZDlhZjFjMzMyOTFiM2I3OTYwOWYxOTZlYjIiCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gImxpYnRlbGVwYXRoeSBkYnVzLWdsaWIgZ2NvbmYgbGlieHNsdC1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3RlbGVwYXRoeS5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvdGVsZXBhdGh5LW1pc3Npb24tY29udHJvbC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vdG1jLU1ha2VmaWxlLWZpeC1yYWNlLnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiNDIxMTE1YTM1YjllNDI3ODA3MzI2ODc3Zjg2ZTdmNDMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTRjZWI3ZDUzNTM1YjQzZDQ0YjgyNzFhZDExMzE5ZDFkMGZlNmQxOTNkMTU0NjM2YjllNjJiNDI3OTliOTcyMyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBweXRob25uYXRpdmUKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbdXBvd2VyXSA9ICItLWVuYWJsZS11cG93ZXIsLS1kaXNhYmxlLXVwb3dlcix1cG93ZXIiCisKKyMgdG8gc2VsZWN0IGNvbm5tYW4gb3Igbm0geW91IG5lZWQgdG8gdXNlICJjb25uZWN0aXZpdHkiIGFuZCAiY29ubm1hbiIgb3IgIm5tIiwgZGVmYXVsdCBpcyB0byBkaXNhYmxlIGJvdGgKK1BBQ0tBR0VDT05GSUdbY29ubmVjdGl2aXR5XSA9ICIsLS13aXRoLWNvbm5lY3Rpdml0eT1ubyIKK1BBQ0tBR0VDT05GSUdbY29ubm1hbl0gPSAiLS13aXRoLWNvbm5lY3Rpdml0eT1jb25ubWFuLCxjb25ubWFuIgorUEFDS0FHRUNPTkZJR1tubV0gPSAiLS13aXRoLWNvbm5lY3Rpdml0eT1ubSwsbmV0d29ya21hbmFnZXIiCisKK1BBQ0tBR0VTID0rICIgXAorCWxpYm1pc3Npb25jb250cm9sIFwKKwlsaWJtaXNzaW9uY29udHJvbC1jb25maWcgXAorCWxpYm1pc3Npb25jb250cm9sLXNlcnZlciBcCisJbGlibWlzc2lvbmNvbnRyb2wtZGV2IFwKKwlsaWJtaXNzaW9uY29udHJvbC1jb25maWctZGV2IFwKKwlsaWJtaXNzaW9uY29udHJvbC1zZXJ2ZXItZGV2IFwKKwlsaWJtaXNzaW9uY29udHJvbC1kYmcgXAorCWxpYm1pc3Npb25jb250cm9sLWNvbmZpZy1kYmcgXAorCWxpYm1pc3Npb25jb250cm9sLXNlcnZlci1kYmcgXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzKiAke2RhdGFkaXJ9L2dsaWItMi4wL3NjaGVtYXMiCisKK0ZJTEVTX2xpYm1pc3Npb25jb250cm9sID0gIiR7bGliZGlyfS9saWJtaXNzaW9uY29udHJvbC5zby4qIgorRklMRVNfbGlibWlzc2lvbmNvbnRyb2wtY29uZmlnID0gIiR7bGliZGlyfS9saWJtaXNzaW9uY29udHJvbC1jb25maWcuc28uKiIKK0ZJTEVTX2xpYm1pc3Npb25jb250cm9sLXNlcnZlciA9ICIke2xpYmRpcn0vbGlibWlzc2lvbmNvbnRyb2wtc2VydmVyLnNvLioiCisKK0ZJTEVTX2xpYm1pc3Npb25jb250cm9sLWRldiA9ICIke2xpYmRpcn0vbGlibWlzc2lvbmNvbnRyb2wuKiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS9saWJtaXNzaW9uY29udHJvbC8gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wa2djb25maWcvbGlibWlzc2lvbmNvbnRyb2wucGMiCitGSUxFU19saWJtaXNzaW9uY29udHJvbC1jb25maWctZGV2ID0gIiR7bGliZGlyfS9saWJtaXNzaW9uY29udHJvbC1jb25maWcuKiIKK0ZJTEVTX2xpYm1pc3Npb25jb250cm9sLXNlcnZlci1kZXYgPSAiJHtsaWJkaXJ9L2xpYm1pc3Npb25jb250cm9sLXNlcnZlci4qIgorCitGSUxFU19saWJtaXNzaW9uY29udHJvbC1kYmcgPSAiJHtsaWJkaXJ9Ly5kZWJ1Zy9saWJtaXNzaW9uY29udHJvbC5zby4qIgorRklMRVNfbGlibWlzc2lvbmNvbnRyb2wtY29uZmlnLWRiZyA9ICIke2xpYmRpcn0vLmRlYnVnL2xpYm1pc3Npb25jb250cm9sLWNvbmZpZy5zby4qIgorRklMRVNfbGlibWlzc2lvbmNvbnRyb2wtc2VydmVyLWRiZyA9ICIke2xpYmRpcn0vLmRlYnVnL2xpYm1pc3Npb25jb250cm9sLXNlcnZlci5zby4qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTkvcGFyYWxsZWxfbWFrZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3BhcmFsbGVsX21ha2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQ4ODI0NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3BhcmFsbGVsX21ha2UucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorQWRkIGRlcGVuZGVuY3kgb2YgX19pbml0X18ucHkKKworVGFza3MgbXVzdCBiZSBkb25lIGFmdGVyIGV4ZWMgb2YgX19pbml0X18sIHdoaWNoIGNyZWF0ZXMgdGhlCitzcmMvX2dlbmVyYXRlZCBkaXJlY3RvcnkgdGhhdCB0YXNrcyBhcmUgYmFzZWQgb24uCisKK1NpZ25lZC1vZmYtYnk6IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCisoSG93ZXZlciBpdCBzZWVtcyB0aGF0IHRoaXMgcHJvamVjdCBpcyBvdXQgb2YgbWFpbnRhbmVuY2UuKQorCitkaWZmIC1ydU4gdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5LW9yaWcvc3JjL01ha2VmaWxlLmFtIHRlbGVwYXRoeS1weXRob24tMC4xNS4xOS9zcmMvTWFrZWZpbGUuYW0KKy0tLSB0ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTktb3JpZy9zcmMvTWFrZWZpbGUuYW0JMjAxMS0wMy0xMCAwODo1MTo0OS4wMDAwMDAwMDAgKzA4MDAKKysrKyB0ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTkvc3JjL01ha2VmaWxlLmFtCTIwMTEtMDMtMTAgMDg6NTQ6NDUuMDAwMDAwMDAwICswODAwCitAQCAtMzksMTcgKzM5LDE3IEBACisgWFNMVFBST0NfT1BUUyA9IC0tbm9uZXQgLS1ub3ZhbGlkIC0teGluY2x1ZGUKKyB0b29sc19kaXIgPSAkKHRvcF9zcmNkaXIpL3Rvb2xzCisgCistX2dlbmVyYXRlZC9pbnRlcmZhY2VzLnB5OiAkKHRvb2xzX2RpcikvcHl0aG9uLWludGVyZmFjZXMtZ2VuZXJhdG9yLnhzbCAkKHdpbGRjYXJkICQoc3BlY19kaXIpLyoueG1sKQorK19nZW5lcmF0ZWQvaW50ZXJmYWNlcy5weTogX2dlbmVyYXRlZC9fX2luaXRfXy5weSAkKHRvb2xzX2RpcikvcHl0aG9uLWludGVyZmFjZXMtZ2VuZXJhdG9yLnhzbCAkKHdpbGRjYXJkICQoc3BlY19kaXIpLyoueG1sKQorIAkkKEFNX1ZfR0VOKSQoWFNMVFBST0MpICQoWFNMVFBST0NfT1BUUykgLW8gJEAgXAorIAkgICAgJCh0b29sc19kaXIpL3B5dGhvbi1pbnRlcmZhY2VzLWdlbmVyYXRvci54c2wgXAorIAkgICAgJChzcGVjX2RpcikvYWxsLnhtbAorIAorLV9nZW5lcmF0ZWQvY29uc3RhbnRzLnB5OiAkKHRvb2xzX2RpcikvcHl0aG9uLWNvbnN0YW50cy1nZW5lcmF0b3IueHNsICQod2lsZGNhcmQgJChzcGVjX2RpcikvKi54bWwpCisrX2dlbmVyYXRlZC9jb25zdGFudHMucHk6IF9nZW5lcmF0ZWQvX19pbml0X18ucHkgJCh0b29sc19kaXIpL3B5dGhvbi1jb25zdGFudHMtZ2VuZXJhdG9yLnhzbCAkKHdpbGRjYXJkICQoc3BlY19kaXIpLyoueG1sKQorIAkkKEFNX1ZfR0VOKSQoWFNMVFBST0MpICQoWFNMVFBST0NfT1BUUykgLW8gJEAgXAorIAkgICAgJCh0b29sc19kaXIpL3B5dGhvbi1jb25zdGFudHMtZ2VuZXJhdG9yLnhzbCBcCisgCSAgICAkKHNwZWNfZGlyKS9hbGwueG1sCisgCistX2dlbmVyYXRlZC9lcnJvcnMucHk6ICQodG9vbHNfZGlyKS9weXRob24tZXJyb3JzLWdlbmVyYXRvci54c2wgJCh3aWxkY2FyZCAkKHNwZWNfZGlyKS8qLnhtbCkKKytfZ2VuZXJhdGVkL2Vycm9ycy5weTogX2dlbmVyYXRlZC9fX2luaXRfXy5weSAkKHRvb2xzX2RpcikvcHl0aG9uLWVycm9ycy1nZW5lcmF0b3IueHNsICQod2lsZGNhcmQgJChzcGVjX2RpcikvKi54bWwpCisgCSQoQU1fVl9HRU4pJChYU0xUUFJPQykgJChYU0xUUFJPQ19PUFRTKSAtbyAkQCBcCisgCSAgICAkKHRvb2xzX2RpcikvcHl0aG9uLWVycm9ycy1nZW5lcmF0b3IueHNsIFwKKyAJICAgICQoc3BlY19kaXIpL2FsbC54bWwKK0BAIC01OCw3ICs1OCw3IEBACisgCSQoQU1fVl9HRU4pJChta2Rpcl9wKSAkKGRpciAkQCkKKyAJQGVjaG8gIiMgUGxhY2Vob2xkZXIgZm9yIHBhY2thZ2UiID4gJEAKKyAKKy1fZ2VuZXJhdGVkLyUucHk6ICQodG9vbHNfZGlyKS9zcGVjLXRvLXB5dGhvbi54c2wgJChzcGVjX2RpcikvJS54bWwKKytfZ2VuZXJhdGVkLyUucHk6IF9nZW5lcmF0ZWQvX19pbml0X18ucHkgJCh0b29sc19kaXIpL3NwZWMtdG8tcHl0aG9uLnhzbCAkKHNwZWNfZGlyKS8lLnhtbAorIAkkKEFNX1ZfR0VOKSQoWFNMVFBST0MpICQoWFNMVFBST0NfT1BUUykgLW8gJEAgXAorIAkgICAgJCh0b29sc19kaXIpL3NwZWMtdG8tcHl0aG9uLnhzbCBcCisgCSAgICAkKHNwZWNfZGlyKS8kKi54bWwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3JlbW92ZV9kdXBsaWNhdGVfaW5zdGFsbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3JlbW92ZV9kdXBsaWNhdGVfaW5zdGFsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjk1YTRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTkvcmVtb3ZlX2R1cGxpY2F0ZV9pbnN0YWxsLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK2NvbW1pdCBmNmM2NzY2MjE0NWRlODg5MDU1YTg2YTZiM2IxMmM3MGE0NWZjOGQ1CitBdXRob3I6IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+CitEYXRlOiAgIFdlZCBTZXAgNyAxNjowMjoyMCAyMDExICswODAwCisKKyAgICBBdm9pZCBkdXBsaWNhdGVkIGluc3RhbGxhdGlvbiBvZiBlcnJvcnMucHkKKyAgICAKKyAgICBuZXdlciB2ZXJzaW9uIG9mIGF1dG90b29scyBkb24ndCBzZWVtIHRvIGxpa2UgbGlzdGluZyBmaWxlcyB0byBpbnN0YWxsCisgICAgdHdpY2UuIFJlbW92ZSBvbmUgZXJyb3JzLnB5IGZyb20gdGhlIGluc3RhbGxhdGlvbiBsaXN0LgorICAgIAorICAgIFNpZ25lZC1vZmYtYnk6IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+CisgICAgCisgICAgVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcGlyYXRlIFt1cHN0cmVhbSBpbmFjdGl2ZV0KKyAgICAKK2RpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KK2luZGV4IDVjMjdkZmUuLjc1MzZlNDMgMTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAgLTExLDcgKzExLDcgQEAgdGVsZXBhdGh5X1BZVEhPTiA9IFwKKyAKKyAjIHRlbGVwYXRoeS5fZ2VuZXJhdGVkLiogYXV0by1nZW5lcmF0ZWQgbW9kdWxlcworIHNwZWNfZGlyID0gJCh0b3Bfc3JjZGlyKS9zcGVjCistc3BlY19maWxlcyA6PSAkKHBhdHN1YnN0ICQoc3BlY19kaXIpJS54bWwsX2dlbmVyYXRlZCUucHksJCh3aWxkY2FyZCAkKHNwZWNfZGlyKS8qLnhtbCkpCisrc3BlY19maWxlcyA6PSAkKGZpbHRlci1vdXQgX2dlbmVyYXRlZC9lcnJvcnMucHksICQocGF0c3Vic3QgJChzcGVjX2RpciklLnhtbCxfZ2VuZXJhdGVkJS5weSwkKHdpbGRjYXJkICQoc3BlY19kaXIpLyoueG1sKSkpCisgCisgQlVJTFRfU09VUkNFUyA9IFwKKyAJX2dlbmVyYXRlZC9pbnRlcmZhY2VzLnB5IFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3RlbGVwYXRoeS1weXRob25fZml4X2Zvcl9hdXRvbWFrZV8xLjEyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3RlbGVwYXRoeS90ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTkvdGVsZXBhdGh5LXB5dGhvbl9maXhfZm9yX2F1dG9tYWtlXzEuMTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYxM2ZkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3RlbGVwYXRoeS1weXRob25fZml4X2Zvcl9hdXRvbWFrZV8xLjEyLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCithdXRvbWFrZSAxLjEyIGhhcyBkZXByZWNhdGVkIHVzZSBvZiBta2Rpcl9wLCBhbmQgaXQgcmVjb21tZW5kcwordXNlIG9mIE1LRElSX1AgaW5zdGVhZC4gQ2hhbmdlZCB0aGUgY29kZSB0byBhdm9pZCB0aGVzZSBraW5kIAorb2Ygd2FybmluZy1lcnJvcnMuCisKK3wgbWFrZVsxXTogX2dlbmVyYXRlZC86IENvbW1hbmQgbm90IGZvdW5kCit8IG1ha2VbMV06ICoqKiBbX2dlbmVyYXRlZC9fX2luaXRfXy5weV0gRXJyb3IgMTI3Cit8IG1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvc3J2L2hvbWUvbml0aW4vYnVpbGRzMi9idWlsZDAvdG1wL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L3RlbGVwYXRoeS1weXRob24tMC4xNS4xOS1yNC90ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTkvc3JjJworfCBtYWtlOiAqKiogW2FsbC1yZWN1cnNpdmVdIEVycm9yIDEKKworU2lnbmVkLU9mZi1CeTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KKzIwMTIvMDcvMTAKK0luZGV4OiB0ZWxlcGF0aHktcHl0aG9uLTAuMTUuMTkvc3JjL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5Lm9yaWcvc3JjL01ha2VmaWxlLmFtCisrKysgdGVsZXBhdGh5LXB5dGhvbi0wLjE1LjE5L3NyYy9NYWtlZmlsZS5hbQorQEAgLTU1LDcgKzU1LDcgQEAgX2dlbmVyYXRlZC9lcnJvcnMucHk6IF9nZW5lcmF0ZWQvX19pbml0XworIAkgICAgJChzcGVjX2RpcikvYWxsLnhtbAorIAorIF9nZW5lcmF0ZWQvX19pbml0X18ucHk6CistCSQoQU1fVl9HRU4pJChta2Rpcl9wKSAkKGRpciAkQCkKKysJJChBTV9WX0dFTikkKE1LRElSX1ApICQoZGlyICRAKQorIAlAZWNobyAiIyBQbGFjZWhvbGRlciBmb3IgcGFja2FnZSIgPiAkQAorIAorIF9nZW5lcmF0ZWQvJS5weTogX2dlbmVyYXRlZC9fX2luaXRfXy5weSAkKHRvb2xzX2Rpcikvc3BlYy10by1weXRob24ueHNsICQoc3BlY19kaXIpLyUueG1sCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L3RlbGVwYXRoeS1weXRob25fMC4xNS4xOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS90ZWxlcGF0aHkvdGVsZXBhdGh5LXB5dGhvbl8wLjE1LjE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YWVhMjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdGVsZXBhdGh5L3RlbGVwYXRoeS1weXRob25fMC4xNS4xOS5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIlRlbGVwYXRoeSBJTSBmcmFtZXdvcmsgLSBQeXRob24gcGFja2FnZSIKK0hPTUVQQUdFID0gImh0dHA6Ly90ZWxlcGF0aHkuZnJlZWRlc2t0b3Aub3JnL3dpa2kvIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvdXRpbHMucHk7YmVnaW5saW5lPTE7ZW5kbGluZT0xNzttZDU9OWEwN2QxYTk3OTFhNzQyOWExNGU3YjI1YzZjODY4MjIiCisKK0RFUEVORFMgPSAibGlieHNsdC1uYXRpdmUiCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLWRidXMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3RlbGVwYXRoeS5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcGFyYWxsZWxfbWFrZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZW1vdmVfZHVwbGljYXRlX2luc3RhbGwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGVsZXBhdGh5LXB5dGhvbl9maXhfZm9yX2F1dG9tYWtlXzEuMTIucGF0Y2giCisKK1BSID0gInI2IgorCitpbmhlcml0IGF1dG90b29scyBweXRob25uYXRpdmUKKworU1JDX1VSSVttZDVzdW1dID0gImY3Y2EyNWFiM2M4ODg3NDAxNWI3ZTk3MjhmN2YzMDE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0NGMwZTFiZjRiYmQ3OGFlMjk4ZWE2NTlmZTEwYmYzYTczNzM4ZGI1NTAxNTY3NjdjYzI0NzdhZWRmNzIzNzYiCisKK0ZJTEVTXyR7UE59ICs9ICJcCisgICAgJHtsaWJkaXJ9L3B5dGhvbiovc2l0ZS1wYWNrYWdlcy90ZWxlcGF0aHkvKi5weSBcCisgICAgJHtsaWJkaXJ9L3B5dGhvbiovc2l0ZS1wYWNrYWdlcy90ZWxlcGF0aHkvKi8qLnB5IFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vcHl0aG9uKi9zaXRlLXBhY2thZ2VzL3RlbGVwYXRoeS8qLnB5YworICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vcHl0aG9uKi9zaXRlLXBhY2thZ2VzL3RlbGVwYXRoeS8qLnB5bworICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vcHl0aG9uKi9zaXRlLXBhY2thZ2VzL3RlbGVwYXRoeS8qLyoucHljCisgICAgcm0gLWYgJHtEfSR7bGliZGlyfS9weXRob24qL3NpdGUtcGFja2FnZXMvdGVsZXBhdGh5LyovKi5weW8KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS91bWlwL3VtaXBfMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3VtaXAvdW1pcF8xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTgwYzFiMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS91bWlwL3VtaXBfMS4wLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiTW9iaWxlIElQdjYgYW5kIE5FTU8gZm9yIExpbnV4IgorREVTQ1JJUFRJT04gPSAiVU1JUCBpcyBhbiBvcGVuIHNvdXJjZSBpbXBsZW1lbnRhdGlvbiBvZiBNb2JpbGUgSVB2NiBhbmQgTkVNTyBcCitCYXNpYyBTdXBwb3J0IGZvciBMaW51eC4gSXQgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIEdQTHYyIGxpY2Vuc2UuIEl0IHN1cHBvcnRzIFwKK3RoZSBmb2xsb3dpbmcgSUVURiBSRkM6IFJGQzYyNzUgKE1vYmlsZSBJUHY2KSwgUkZDMzk2MyAoTkVNTyksIFJGQzM3NzYgYW5kIFwKK1JGQzQ4NzcgKElQc2VjIGFuZCBJS0V2MikuIgorSE9NRVBBR0UgPSAiaHR0cDovL3VtaXAub3JnLyIKK1NFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L0Jhc2UiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDczZGMzMWNjYjJlYmVkNzBkYjU0ZjFlOGFlYjRjMzMiCitERVBFTkRTID0gInJwbSBpbmRlbnQtbmF0aXZlIgorCitTUkNfVVJJID0gImdpdDovL2dpdC51bWlwLm9yZy91bWlwLmdpdCIKK1NSQ1JFViA9ICI0Mjg5NzRjMmQwZDhlNzVhMjc1MGEzYWIwNDg4NzA4YzVkZmRkOGUzIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorRVhUUkFfT0VfQ09ORiA9ICItLWVuYWJsZS12dCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK1BBUkFMTEVMX01BS0UgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3VzYm11eGQvdXNibXV4ZF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvdXNibXV4ZC91c2JtdXhkX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmJmODExCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3VzYm11eGQvdXNibXV4ZF9naXQuYmIKQEAgLTAsMCArMSwyNCBAQAorREVTQ1JJUFRJT04gPSAiVGhpcyBkYWVtb24gaXMgaW4gY2hhcmdlIG9mIG11bHRpcGxleGluZyBjb25uZWN0aW9ucyBvdmVyIFVTQiB0byBhbiBpUGhvbmUgb3IgaVBvZCB0b3VjaC4iCitMSUNFTlNFID0gIkdQTHYzICYgR1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuR1BMdjI7bWQ1PWViYjVjNTBhYjdjYWI0YmFlZmZiYTE0OTc3MDMwYzA3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuR1BMdjM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTHYyLjE7bWQ1PTZhYjE3YjQxNjQwNTY0NDM0ZGRhODVjMDZiNzEyNGY3IgorCitERVBFTkRTID0gInVkZXYgbGlidXNiMSIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcgZ2l0cGtndgorCitQS0dWID0gIiR7R0lUUEtHVlRBR30iCisKK1NSQ1JFViA9ICI5MTk1ODc1ODBjNWU3N2YzOTM2ZjM0MzIxMTVkMmUxMGM3YmFjN2M1IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQuc3VraW1hc2hpdGEuY29tL3VzYm11eGQuZ2l0O3Byb3RvY29sPWh0dHAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0ZJTEVTXyR7UE59ICs9ICIke2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvIgorCisjIGZpeCB1c2JtdXhkIGluc3RhbGxpbmcgZmlsZXMgdG8gL3Vzci9saWI2NCBvbiA2NGJpdCBob3N0czoKK0VYVFJBX09FQ01BS0UgPSAiLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJywgVHJ1ZSkucmVwbGFjZSgnbGliJywgJycpfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbcGxpc3RdID0gIi1EV0FOVF9QTElTVD0xLC1EV0FOVF9QTElTVD0wLGxpYnBsaXN0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3d2ZGlhbC93dmRpYWwvdHlwb19wb24ud3ZkaWFsLjEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2ZGlhbC90eXBvX3Bvbi53dmRpYWwuMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWM1YTVkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3d2ZGlhbC93dmRpYWwvdHlwb19wb24ud3ZkaWFsLjEucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorUmVtb3ZlIHdhcm5pbmdzIGZvdW5kIGJ5IGxpbnRpYW4KK0xhc3QtVXBkYXRlOiAyMDExLTAxLTA5CitJbmRleDogd3ZkaWFsLTEuNjEvcG9uLnd2ZGlhbC4xCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gd3ZkaWFsLTEuNjEub3JpZy9wb24ud3ZkaWFsLjEJMjAxMS0wMS0wOSAyMTozMzowMy4wMDAwMDAwMDAgKzAzMDAKKysrKyB3dmRpYWwtMS42MS9wb24ud3ZkaWFsLjEJMjAxMS0wMS0wOSAyMTozMzoxNS4wMDAwMDAwMDAgKzAzMDAKK0BAIC04LDEzICs4LDExIEBACisgLlNIIERFU0NSSVBUSU9OCisgLkIgcG9uLnd2ZGlhbAorIC5icgorLS5UUgorIC5CIHBvZmYud3ZkaWFsCisgLmJyCisgLlJTCisgUmVwbGFjZW1lbnQgc2NyaXB0cyBmb3IgcG9uIGFuZCBwb2ZmLgorIC5SRQorLVwuIgorIC5TSCBTRUUgQUxTTworIC5CUiB3dmRpYWwgKDEpLAorIC5CUiBwb24gKDEpLApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3d2ZGlhbC93dmRpYWxfMS42MS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZkaWFsXzEuNjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdhZGY0YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZkaWFsXzEuNjEuYmIKQEAgLTAsMCArMSwzMCBAQAorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hbHVtbml0LmNhL3dpa2kvP1d2RGlhbCIKK0RFU0NSSVBUSU9OID0gIld2RGlhbCBpcyBhIHByb2dyYW0gdGhhdCBtYWtlcyBpdCBlYXN5IHRvIGNvbm5lY3QgeW91ciBMaW51eCB3b3Jrc3RhdGlvbiB0byB0aGUgSW50ZXJuZXQuIgorCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSIKKworREVQRU5EUyA9ICJ3dnN0cmVhbXMiCitSREVQRU5EU18ke1BOfSA9ICJwcHAiCisKK1NSQ19VUkkgPSAiaHR0cDovLyR7QlBOfS5nb29nbGVjb2RlLmNvbS9maWxlcy8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3R5cG9fcG9uLnd2ZGlhbC4xLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzN2U5YTJkNjY0ZWZmZTRlZmQ0NGMwZTFhMjAxMzZkZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5OTkwNmQ5NTYwY2JkYmM5N2UxODU1ZTdiMGE3MTY5ZjFlMTE5ODNiZTNhYzUzOTE0MDQyM2YwOWRlYmNlZDgyIgorCitFWFRSQV9PRU1BS0UgPSAiIgorZXhwb3J0IFdWTElOSz0iJHtMRH0iCisKK1BBUkFMTEVMX01BS0UgPSAiIgorCitCVUlMRF9DUFBGTEFHUyArPSAiLUkke1NUQUdJTkdfSU5DRElSfS93dnN0cmVhbXMiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBzZWQgLWkgJ3MvTERGTEFHUys9LWx1bmljb25mL0xJQlMrPS1sdW5pY29uZi8nICR7U30vTWFrZWZpbGUKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIHByZWZpeD0ke0R9L3VzciBQUFBESVI9JHtEfS9ldGMvcHBwL3BlZXJzIGluc3RhbGwKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZzdHJlYW1zLzA0X3NpZ25lZF9yZXF1ZXN0LmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtcy8wNF9zaWduZWRfcmVxdWVzdC5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhYjYzM2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtcy8wNF9zaWduZWRfcmVxdWVzdC5kaWZmCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiB3dnN0cmVhbXMtNC42L2NyeXB0by93dng1MDkuY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB3dnN0cmVhbXMtNC42Lm9yaWcvY3J5cHRvL3d2eDUwOS5jYwkyMDA5LTA3LTI5IDExOjU4OjE2LjAwMDAwMDAwMCAtMDQwMAorKysrIHd2c3RyZWFtcy00LjYvY3J5cHRvL3d2eDUwOS5jYwkyMDA5LTA3LTI5IDExOjU4OjQzLjAwMDAwMDAwMCAtMDQwMAorQEAgLTMyNSw3ICszMjUsNyBAQAorICAgICB9CisgCisgICAgIGludCB2ZXJpZnlfcmVzdWx0ID0gWDUwOV9SRVFfdmVyaWZ5KGNlcnRyZXEsIHBrKTsKKy0gICAgaWYgKHZlcmlmeV9yZXN1bHQgPT0gMCkKKysgICAgaWYgKHZlcmlmeV9yZXN1bHQgPT0gMCB8fCB2ZXJpZnlfcmVzdWx0ID09IC0xKQorICAgICB7CisgCWRlYnVnKFd2TG9nOjpXYXJuaW5nLCAiU2VsZiBzaWduZWQgcmVxdWVzdCBmYWlsZWQiKTsKKyAJWDUwOV9SRVFfZnJlZShjZXJ0cmVxKTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZzdHJlYW1zLzA1X2djYy5kaWZmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3d2ZGlhbC93dnN0cmVhbXMvMDVfZ2NjLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGU0ZmQwMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZzdHJlYW1zLzA1X2djYy5kaWZmCkBAIC0wLDAgKzEsNDEgQEAKK0luZGV4OiB3dnN0cmVhbXMtNC42LjEvY3J5cHRvL3d2eDUwOS5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHd2c3RyZWFtcy00LjYuMS5vcmlnL2NyeXB0by93dng1MDkuY2MJMjAxMS0wNS0yMCAwMDowMjozOC4xMTkxMzY1ODQgKzAyMDAKKysrKyB3dnN0cmVhbXMtNC42LjEvY3J5cHRvL3d2eDUwOS5jYwkyMDExLTA1LTIwIDAwOjAyOjI2LjAzNTEzNjU4OSArMDIwMAorQEAgLTExNTcsNyArMTE1Nyw3IEBACisgICAgICAgICAKKyAgICAgICAgIGlmIChleHQpCisgICAgICAgICB7CistICAgICAgICAgICAgWDUwOVYzX0VYVF9NRVRIT0QgKm1ldGhvZCA9IFg1MDlWM19FWFRfZ2V0KGV4dCk7CisrICAgICAgICAgICAgWDUwOVYzX0VYVF9NRVRIT0QgKm1ldGhvZCA9IChYNTA5VjNfRVhUX01FVEhPRCAqKVg1MDlWM19FWFRfZ2V0KGV4dCk7CisgICAgICAgICAgICAgaWYgKCFtZXRob2QpCisgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICBXdkR5bkJ1ZiBidWY7CitJbmRleDogd3ZzdHJlYW1zLTQuNi4xL2lwc3RyZWFtcy93dnVuaXhkZ3NvY2tldC5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHd2c3RyZWFtcy00LjYuMS5vcmlnL2lwc3RyZWFtcy93dnVuaXhkZ3NvY2tldC5jYwkyMDExLTA1LTIwIDAwOjAyOjM4LjM5MTEzNjU4NCArMDIwMAorKysrIHd2c3RyZWFtcy00LjYuMS9pcHN0cmVhbXMvd3Z1bml4ZGdzb2NrZXQuY2MJMjAxMS0wNS0yMCAwMDowMjozNS4yODMxMzY1ODUgKzAyMDAKK0BAIC0xLDggKzEsNiBAQAorICNpbmNsdWRlICJ3dnVuaXhkZ3NvY2tldC5oIgorLSNpZmRlZiBNQUNPUworICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKy0jZW5kaWYKKyAKKyBXdlVuaXhER1NvY2tldDo6V3ZVbml4REdTb2NrZXQoV3ZTdHJpbmdQYXJtIGZpbGVuYW1lLCBib29sIF9zZXJ2ZXIsIGludCBwZXJtcykKKyAgICAgOiBzb2NrZXRmaWxlKGZpbGVuYW1lKQorSW5kZXg6IHd2c3RyZWFtcy00LjYuMS9zdHJlYW1zL3d2YXRvbWljZmlsZS5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHd2c3RyZWFtcy00LjYuMS5vcmlnL3N0cmVhbXMvd3ZhdG9taWNmaWxlLmNjCTIwMTEtMDUtMjAgMDA6MDI6MzguMjIzMTM2NTg0ICswMjAwCisrKysgd3ZzdHJlYW1zLTQuNi4xL3N0cmVhbXMvd3ZhdG9taWNmaWxlLmNjCTIwMTEtMDUtMjAgMDA6MDI6MzEuNjE5MTM2NTg3ICswMjAwCitAQCAtMTAsMTAgKzEwLDcgQEAKKyAjaW5jbHVkZSAid3ZhdG9taWNmaWxlLmgiCisgI2luY2x1ZGUgInd2ZmlsZXV0aWxzLmgiCisgI2luY2x1ZGUgInd2c3RydXRpbHMuaCIKKy0KKy0jaWZkZWYgTUFDT1MKKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKy0jZW5kaWYKKyAKKyBXdkF0b21pY0ZpbGU6Old2QXRvbWljRmlsZShXdlN0cmluZ1Bhcm0gZmlsZW5hbWUsIGludCBmbGFncywgbW9kZV90IGNyZWF0ZV9tb2RlKQorICAgICA6IHRtcF9maWxlKFd2U3RyaW5nOjpudWxsKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3d2ZGlhbC93dnN0cmVhbXMvMDZfZ2NjLTQuNy5kaWZmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3d2ZGlhbC93dnN0cmVhbXMvMDZfZ2NjLTQuNy5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3NTA2N2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtcy8wNl9nY2MtNC43LmRpZmYKQEAgLTAsMCArMSwxOCBAQAorRGVzY3JpcHRpb246IEZpeCBGVEJGUyB3aXRoIGdjYy00LjcKKyBTbWFsbCBoZWFkZXIgaW5jbHVkZSBjaGFuZ2UuIFRoaXMgaXMgYm9yZGVybGluZGUgY29zbWV0aWMsIGJ1dCBzdGlsbCBuZWVkZWQKKyB0byBwcmV2ZW50IHRoZSBGVEJGUy4KK0F1dGhvcjogUGF1bCBUYWdsaWFtb250ZSA8cGF1bHRhZ0B1YnVudHUuY29tPgorT3JpZ2luOiB2ZW5kb3IKK0J1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNjY3NDE4CitMYXN0LVVwZGF0ZTogMjAxMi0wNC0xMworCistLS0gd3ZzdHJlYW1zLTQuNi4xLm9yaWcvdXRpbHMvd3Z1aWQuY2MKKysrKyB3dnN0cmVhbXMtNC42LjEvdXRpbHMvd3Z1aWQuY2MKK0BAIC0zMyw2ICszMyw3IEBAIHd2dWlkX3Qgd3ZnZXR1aWQoKQorIAorICNlbHNlIC8vIG5vdCBXSU4zMgorIAorKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyAKKyBXdlN0cmluZyB3dl91c2VybmFtZV9mcm9tX3VpZCh3dnVpZF90IHVpZCkKKyB7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtcy8wN19idWlsZGZsYWdzLmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtcy8wN19idWlsZGZsYWdzLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWM5OWRjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZzdHJlYW1zLzA3X2J1aWxkZmxhZ3MuZGlmZgpAQCAtMCwwICsxLDMyIEBACitJbmRleDogYi9nZW4tY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL2dlbi1jYworKysrIGIvZ2VuLWNjCitAQCAtMTUsNiArMTUsMTEgQEAKKyAJc2hpZnQKKyAJc2hpZnQKKyAJCisrCWVjaG8gJENDIFwkTU9ERSAtbyBcJEJBU0UubyBcJEJBU0UuJEVYVCBcXAorKwkgICAgICAgIC1NTUQgLU1GIFwkREVQRklMRSAtTVAgLU1RIFwkQkFTRS5vIFxcCisrCSAgICAgICAgJENQUEZMQUdTIFxcCisrCSAgICAgICAgJENGTEFHUyBcXAorKwkgICAgICAgICJcJEAiCisgCSRDQyBcJE1PREUgLW8gXCRCQVNFLm8gXCRCQVNFLiRFWFQgXFwKKyAJICAgICAgICAtTU1EIC1NRiBcJERFUEZJTEUgLU1QIC1NUSBcJEJBU0UubyBcXAorIAkgICAgICAgICRDUFBGTEFHUyBcXAorSW5kZXg6IGIvd3ZydWxlcy1wb3NpeC5taworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvd3ZydWxlcy1wb3NpeC5taworKysrIGIvd3ZydWxlcy1wb3NpeC5taworQEAgLTM1LDExICszNSw2IEBACisgIyBEZWZhdWx0IGNvbXBpbGVyIHdlIHVzZSBmb3IgbGlua2luZworIFdWTElOS19DQyA9ICQoQ1hYKQorIAorLWlmbmVxICgiJChlbmFibGVfb3B0aW1pemF0aW9uKSIsICJubyIpCistICBDWFhGTEFHUys9LU8yCistICBDRkxBR1MrPS1PMgorLWVuZGlmCistCisgaWZuZXEgKCIkKGVuYWJsZV93YXJuaW5ncykiLCAibm8iKQorICAgQ1hYRkxBR1MrPS1XYWxsIC1Xb3ZlcmxvYWRlZC12aXJ0dWFsCisgICBDRkxBR1MrPS1XYWxsCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtc180LjYuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93dmRpYWwvd3ZzdHJlYW1zXzQuNi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxOTlhMmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3ZkaWFsL3d2c3RyZWFtc180LjYuMS5iYgpAQCAtMCwwICsxLDQ4IEBACitIT01FUEFHRSA9ICJodHRwOi8vYWx1bW5pdC5jYS93aWtpL2luZGV4LnBocD9wYWdlPVd2U3RyZWFtcyIKK1NVTU1BUlkgPSAiV3ZTdHJlYW1zIGlzIGEgbmV0d29yayBwcm9ncmFtbWluZyBsaWJyYXJ5IGluIEMrKyIKKworTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSIKKworREVQRU5EUyA9ICJ6bGliIG9wZW5zc2wgKD49IDAuOS44KSBkYnVzIHJlYWRsaW5lIgorCitTUkNfVVJJID0gImh0dHA6Ly8ke0JQTn0uZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzA0X3NpZ25lZF9yZXF1ZXN0LmRpZmYgXAorICAgICAgICAgICBmaWxlOi8vMDVfZ2NjLmRpZmYgXAorICAgICAgICAgICBmaWxlOi8vMDZfZ2NjLTQuNy5kaWZmIFwKKyAgICAgICAgICAgZmlsZTovLzA3X2J1aWxkZmxhZ3MuZGlmZiBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjc2MGRhYzMxYTQzZDQ1MmExOWEzMTQ3YmZkZTU3MWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODQwM2Y1ZmJmODNhYTlhYzBjNmNlMTVkOTdmZDg1NjA3NDg4MTUyYWE4NGUwMDdiN2QwNjIxYjhlYmMwNzYzMyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZworCitQQVJBTExFTF9NQUtFID0gIiIKKworVEFSR0VUX0NGTEFHU19hcHBlbmQgPSAiIC1mbm8tdHJlZS1kY2UgLWZuby1vcHRpbWl6ZS1zaWJsaW5nLWNhbGxzIgorCitMREZMQUdTX2FwcGVuZCA9ICIgLVdsLC1ycGF0aC1saW5rLCR7Q1JPU1NfRElSfS8ke1RBUkdFVF9TWVN9L2xpYiIKKworRVhUUkFfT0VDT05GID0gIiAtLXdpdGhvdXQtdGNsIC0td2l0aG91dC1xdCAtLXdpdGhvdXQtcGFtIC0td2l0aG91dC12YWxncmluZCIKKworUEFDS0FHRVNfcHJlcGVuZCA9ICJsaWJ1bmljb25mIGxpYnVuaWNvbmYtZGJnICIKK1BBQ0tBR0VTX3ByZXBlbmQgPSAidW5pY29uZmQgdW5pY29uZmQtZGJnICIKK1BBQ0tBR0VTX3ByZXBlbmQgPSAibGlid3ZzdHJlYW1zLWJhc2UgbGlid3ZzdHJlYW1zLWJhc2UtZGJnICIKK1BBQ0tBR0VTX3ByZXBlbmQgPSAibGlid3ZzdHJlYW1zLWV4dHJhcyBsaWJ3dnN0cmVhbXMtZXh0cmFzLWRiZyAiCitQQUNLQUdFU19wcmVwZW5kID0gIiR7UE59LXZhbGdyaW5kICIKKworRklMRVNfbGlidW5pY29uZiAgICAgPSAiJHtsaWJkaXJ9L2xpYnVuaWNvbmYuc28uKiIKK0ZJTEVTX2xpYnVuaWNvbmYtZGJnID0gIiR7bGliZGlyfS8uZGVidWcvbGlidW5pY29uZi5zby4qIgorCitGSUxFU191bmljb25mZCAgICAgPSAiJHtzYmluZGlyfS91bmljb25mZCAke3N5c2NvbmZkaXJ9L3VuaWNvbmYuY29uZiAke2xvY2Fsc3RhdGVkaXJ9L3VuaWNvbmYiCitGSUxFU191bmljb25mZC1kYmcgPSAiJHtzYmluZGlyfS8uZGVidWcvdW5pY29uZmQiCisKK0ZJTEVTX2xpYnd2c3RyZWFtcy1iYXNlICAgICA9ICIke2xpYmRpcn0vbGlid3Z1dGlscy5zby4qIgorRklMRVNfbGlid3ZzdHJlYW1zLWJhc2UtZGJnID0gIiR7bGliZGlyfS8uZGVidWcvbGlid3Z1dGlscy5zby4qIgorCitGSUxFU19saWJ3dnN0cmVhbXMtZXh0cmFzICAgICA9ICIke2xpYmRpcn0vbGlid3ZiYXNlLnNvLiogJHtsaWJkaXJ9L2xpYnd2c3RyZWFtcy5zby4qIgorRklMRVNfbGlid3ZzdHJlYW1zLWV4dHJhcy1kYmcgPSAiJHtsaWJkaXJ9Ly5kZWJ1Zy9saWJ3dmJhc2Uuc28uKiAke2xpYmRpcn0vLmRlYnVnL2xpYnd2c3RyZWFtcy5zby4qIgorCitGSUxFU18ke1BOfS12YWxncmluZCA9ICIke2xpYmRpcn0vdmFsZ3JpbmQvd3ZzdHJlYW1zLnN1cHAiCitSREVQRU5EU18ke1BOfSArPSAicGVybCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96YWJiaXgvemFiYml4LzAwMDEtRml4LWNvbmZpZ3VyZS5hYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96YWJiaXgvemFiYml4LzAwMDEtRml4LWNvbmZpZ3VyZS5hYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjE0YTFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3phYmJpeC96YWJiaXgvMDAwMS1GaXgtY29uZmlndXJlLmFjLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK3VuYW1lIGNhbiBub3QgZ2V0IHZlcnNpb24gb2Yga2VybmVsIGNvcnJlY3RseSB3aGlsZSBjcm9zcyBjb21waWxlCisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA1MjM4OTliLi40ZTZhZTBkIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC05MjQsNyArOTI0LDcgQEAgQUNfTVNHX1JFU1VMVChbJEFSQ0ggKCRob3N0X29zKV0pCisgaWYgdGVzdCAieCRBUkNIIiA9ICJ4bGludXgiOyB0aGVuCisgCUFDX01TR19DSEVDS0lORyhbZm9yIHRoZSBsaW51eCBrZXJuZWwgdmVyc2lvbl0pCisgCistCWtlcm5lbD1gdW5hbWUgLXJgCisrCWtlcm5lbD0iJHtLRVJORUxfVkVSU0lPTn0iCisgCisgCWNhc2UgIiR7a2VybmVsfSIgaW4KKyAJCTIuNi4qKQorLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96YWJiaXgvemFiYml4L3phYmJpeC1hZ2VudC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3phYmJpeC96YWJiaXgvemFiYml4LWFnZW50LnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE4YTk2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96YWJiaXgvemFiYml4L3phYmJpeC1hZ2VudC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249WmFiYml4IE1vbml0b3IgQWdlbnQKK0FmdGVyPXN5c2xvZy50YXJnZXQgbmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPW9uZXNob3QKK0V4ZWNTdGFydD1AU0JJTkRJUkAvemFiYml4X2FnZW50ZAorUmVtYWluQWZ0ZXJFeGl0PXllcworVXNlcj16YWJiaXgKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3phYmJpeC96YWJiaXhfMi40LjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemFiYml4L3phYmJpeF8yLjQuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmM0ZWFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3phYmJpeC96YWJiaXhfMi40LjcuYmIKQEAgLTAsMCArMSw3MiBAQAorU1VNTUFSWSA9ICJPcGVuLXNvdXJjZSBtb25pdG9yaW5nIHNvbHV0aW9uIGZvciB5b3VyIElUIGluZnJhc3RydWN0dXJlIgorREVTQ1JJUFRJT04gPSAiXAorWkFCQklYIGlzIHNvZnR3YXJlIHRoYXQgbW9uaXRvcnMgbnVtZXJvdXMgcGFyYW1ldGVycyBvZiBhIG5ldHdvcmsgYW5kIHRoZSBcCitoZWFsdGggYW5kIGludGVncml0eSBvZiBzZXJ2ZXJzLiBaQUJCSVggdXNlcyBhIGZsZXhpYmxlIG5vdGlmaWNhdGlvbiBcCittZWNoYW5pc20gdGhhdCBhbGxvd3MgdXNlcnMgdG8gY29uZmlndXJlIGUtbWFpbCBiYXNlZCBhbGVydHMgZm9yIHZpcnR1YWxseSBcCithbnkgZXZlbnQuIFRoaXMgYWxsb3dzIGEgZmFzdCByZWFjdGlvbiB0byBzZXJ2ZXIgcHJvYmxlbXMuIFpBQkJJWCBvZmZlcnMgXAorZXhjZWxsZW50IHJlcG9ydGluZyBhbmQgZGF0YSB2aXN1YWxpc2F0aW9uIGZlYXR1cmVzIGJhc2VkIG9uIHRoZSBzdG9yZWQgXAorZGF0YS4gVGhpcyBtYWtlcyBaQUJCSVggaWRlYWwgZm9yIGNhcGFjaXR5IHBsYW5uaW5nLiBcCitcCitaQUJCSVggc3VwcG9ydHMgYm90aCBwb2xsaW5nIGFuZCB0cmFwcGluZy4gQWxsIFpBQkJJWCByZXBvcnRzIGFuZCBcCitzdGF0aXN0aWNzLCBhcyB3ZWxsIGFzIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyBhcmUgYWNjZXNzZWQgdGhyb3VnaCBhIFwKK3dlYi1iYXNlZCBmcm9udCBlbmQuIEEgd2ViLWJhc2VkIGZyb250IGVuZCBlbnN1cmVzIHRoYXQgdGhlIHN0YXR1cyBvZiBcCit5b3VyIG5ldHdvcmsgYW5kIHRoZSBoZWFsdGggb2YgeW91ciBzZXJ2ZXJzIGNhbiBiZSBhc3Nlc3NlZCBmcm9tIGFueSBcCitsb2NhdGlvbi4gUHJvcGVybHkgY29uZmlndXJlZCwgWkFCQklYIGNhbiBwbGF5IGFuIGltcG9ydGFudCByb2xlIGluIFwKK21vbml0b3JpbmcgSVQgaW5mcmFzdHJ1Y3R1cmUuIFRoaXMgaXMgZXF1YWxseSB0cnVlIGZvciBzbWFsbCBcCitvcmdhbmlzYXRpb25zIHdpdGggYSBmZXcgc2VydmVycyBhbmQgZm9yIGxhcmdlIGNvbXBhbmllcyB3aXRoIGEgXAorbXVsdGl0dWRlIG9mIHNlcnZlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy56YWJiaXguY29tLyIKK1NFQ1RJT04gPSAiQXBwbGljYXRpb25zL0ludGVybmV0IgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zMDBlOTM4YWQzMDMxNDdmZWRlMjI5NGVkNzhmZTAyZSIKK0RFUEVORFMgID0gIm9wZW5sZGFwIHZpcnR1YWwvbGliaWNvbnYiCisKK1BBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2phaXN0LmRsLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L3phYmJpeC9aQUJCSVglMjBMYXRlc3QlMjBTdGFibGUvJHtQVn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1jb25maWd1cmUuYWMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vemFiYml4LWFnZW50LnNlcnZpY2UiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZjhhZWIxMWQ4NDE1NTg1ZjQxYzNmMmYyMjU2NmI3OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMmM0N2I4ZjViOWI5MWYxODAxMGQ1NGM0NWRlNTU4NDVkOTc5MDE0YThiM2ZlNGJlZjY0ZTBiMDhmOGIwMGRhIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgbGludXgta2VybmVsLWJhc2UgcGtnY29uZmlnIHN5c3RlbWQgdXNlcmFkZAorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInphYmJpeC1hZ2VudC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJlbmFibGUiCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitHUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItciB6YWJiaXgiCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi1yIC1nIHphYmJpeCAtZCAvdmFyL2xpYi96YWJiaXggXAorICAgICAgICAgICAgICAgICAgICAgICAtcyAvc2Jpbi9ub2xvZ2luIC1jIFwiWmFiYml4IE1vbml0b3JpbmcgU3lzdGVtXCIgemFiYml4IgorCitLRVJORUxfVkVSU0lPTiA9ICIke0BnZXRfa2VybmVsdmVyc2lvbl9oZWFkZXJzKCcke1NUQUdJTkdfS0VSTkVMX0RJUn0nKX0iCisKK0VYVFJBX09FQ09ORiA9ICctLWVuYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nIFwKKwkgICAgICAgIC0tZW5hYmxlLWFnZW50IFwKKwkgICAgICAgIC0tZW5hYmxlLWlwdjYgXAorCSAgICAgICAgLS13aXRoLW5ldC1zbm1wIFwKKwkgICAgICAgIC0td2l0aC1sZGFwPSR7U1RBR0lOR19FWEVDUFJFRklYRElSfSBcCisJICAgICAgICAtLXdpdGgtamFiYmVyIFwKKwkgICAgICAgIC0td2l0aC11bml4b2RiYyBcCisJICAgICAgICAtLXdpdGgtc3NoMiBcCisJICAgICAgICAtLXdpdGgtc3FsaXRlMyBcCisJICAgICAgICAnCitDRkxBR1NfYXBwZW5kICs9ICItbGxkYXAgLWxsYmVyIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBleHBvcnQgS0VSTkVMX1ZFUlNJT049IiR7S0VSTkVMX1ZFUlNJT059IgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS96YWJiaXgtYWdlbnQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICAgICAgc2VkIC1pIC1lICdzI0BTQklORElSQCMke3NiaW5kaXJ9I2cnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3phYmJpeC1hZ2VudC5zZXJ2aWNlCisgICAgZmkKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfSIKKworUkRFUEVORFNfJHtQTn0gPSAibG9ncm90YXRlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9jLWljZS96ZXJvYy1pY2UtMy41LjEvMDAwMi1Nb2RpZnktTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemVyb2MtaWNlL3plcm9jLWljZS0zLjUuMS8wMDAyLU1vZGlmeS1NYWtlZmlsZS1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzA5NmQyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9jLWljZS96ZXJvYy1pY2UtMy41LjEvMDAwMi1Nb2RpZnktTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwyOTIgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQorCitUaGlzIHBhdGNoIGxldHMgeW91IGJ1aWxkIEljZSB3aXRoIE9wZW5FbWJlZGRlZC4gSSBkb3VidCB5b3UgY291bGQgZG8KK2EgcmVndWxhciBidWlsZCBhZnRlciBhcHBseWluZyB0aGlzIHBhdGNoLgorCitGcm9tIGJjNjIyY2U3NGZhMDNhOTM1Mjc4ZDIxNzM2YTVhMjUxNDY2ZTE3OTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUb20gUm9uZGVhdSA8dG9tQHRyb25kZWF1LmNvbT4KK0RhdGU6IFdlZCwgMTYgQXByIDIwMTQgMTQ6MzQ6NTEgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gTW9kaWZ5IE1ha2VmaWxlcyBmb3IgY3Jvc3MgY29tcGlsZQorCistLS0KKyBjb25maWcvTWFrZS5jb21tb24ucnVsZXMgICAgICAgICAgIHwgICAyMCArKysrKysrLS0tLS0tCisgY3BwL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDkgKysrLS0tCisgY3BwL2NvbmZpZy9NYWtlLnJ1bGVzICAgICAgICAgICAgICB8ICAgMzIgKysrKysrKysrKysrLS0tLS0tLS0KKyBjcHAvY29uZmlnL01ha2UucnVsZXMuTGludXggICAgICAgIHwgICAxOCArKy0tLS0tLS0tLQorIGNwcC9zcmMvSWNlU3Rvcm0vRnJlZXplREIvTWFrZWZpbGUgfCAgICAyICstCisgcHkvY29uZmlnL01ha2UucnVsZXMgICAgICAgICAgICAgICB8ICAgNTggKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCisgNiBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCA2OSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZy9NYWtlLmNvbW1vbi5ydWxlcyBiL2NvbmZpZy9NYWtlLmNvbW1vbi5ydWxlcworaW5kZXggZDdiMWQ1OS4uYTNmYjE3ZSAxMDA2NDQKKy0tLSBhL2NvbmZpZy9NYWtlLmNvbW1vbi5ydWxlcworKysrIGIvY29uZmlnL01ha2UuY29tbW9uLnJ1bGVzCitAQCAtNjUsOSArNjUsOSBAQCBpZmVxICgkKFVOQU1FKSxMaW51eCkKKyAgICAgICAjCisgICAgICAgIyBTb21lIExpbnV4IGRpc3RyaWJ1dGlvbnMgbGlrZSBEZWJpYW4vVWJ1bnR1IGRvbid0IHVzZSAvdXNyL2xpYjY0LgorICAgICAgICMKKy0gICAgICBpZmVxICgkKHNoZWxsIHRlc3QgLWQgL3Vzci9saWI2NCAmJiBlY2hvIDApLDApCistICAgICAgICAgIGxwNjRzdWZmaXgJPSA2NAorLSAgICAgIGVuZGlmCisrICAgICAgI2lmZXEgKCQoc2hlbGwgdGVzdCAtZCAvdXNyL2xpYjY0ICYmIGVjaG8gMCksMCkKKysgICAgICAjICAgIGxwNjRzdWZmaXgJPSA2NAorKyAgICAgICNlbmRpZgorICAgICAgIGlmZXEgKCQoTFA2NCksKQorICAgICAgICAgICBMUDY0ICAgICAgCT0geWVzCisgICAgICAgZW5kaWYKK0BAIC0yNDQsMTIgKzI0NCwxMyBAQCBlbHNlCisgICAgIHNsaWNlZGlyID0gJChpY2VfZGlyKS9zbGljZQorIGVuZGlmCisgCistaWZlcSAoJChwcmVmaXgpLCAvdXNyKQorLSAgICBpbnN0YWxsX3NsaWNlZGlyID0gL3Vzci9zaGFyZS9JY2UtJChWRVJTSU9OKS9zbGljZQorLWVsc2UKKy0gICAgaW5zdGFsbF9zbGljZWRpciA9ICQocHJlZml4KS9zbGljZQorLWVuZGlmCisrI2lmZXEgKCQocHJlZml4KSwgL3VzcikKKysjICAgIGluc3RhbGxfc2xpY2VkaXIgPSAvdXNyL3NoYXJlL0ljZS0kKFZFUlNJT04pL3NsaWNlCisrI2Vsc2UKKysjICAgIGluc3RhbGxfc2xpY2VkaXIgPSAkKHByZWZpeCkvc2xpY2UKKysjZW5kaWYKKyAKKytpbnN0YWxsX3NsaWNlZGlyID0gJChwcmVmaXgpL3NsaWNlCisgIworICMgU2V0IGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdGhlIFNsaWNlIHRyYW5zbGF0b3IuCisgIworQEAgLTI2NSw3ICsyNjYsOCBAQCBpZm5lcSAoJChpY2VfZGlyKSwgL3VzcikKKyAgICAgZW5kaWYKKyAKKyAgICAgaWZlcSAoJChVTkFNRSksTGludXgpCistICAgICAgICBleHBvcnQgTERfTElCUkFSWV9QQVRIIDo9ICQoaWNlX2xpYl9kaXIpOiQoTERfTElCUkFSWV9QQVRIKQorKyAgICAgICAgI2V4cG9ydCBMRF9MSUJSQVJZX1BBVEggOj0gJChpY2VfbGliX2Rpcik6JChMRF9MSUJSQVJZX1BBVEgpCisrICAgICAgICBleHBvcnQgTERfTElCUkFSWV9QQVRIIDo9ICQoSUNFX0hPTUUpL2xpYjokKExEX0xJQlJBUllfUEFUSCkKKyAgICAgZW5kaWYKKyAKKyAgICAgaWZlcSAoJChVTkFNRSksU3VuT1MpCitkaWZmIC0tZ2l0IGEvY3BwL01ha2VmaWxlIGIvY3BwL01ha2VmaWxlCitpbmRleCBhNjhmMTEzLi4xZjQ0ZjU3IDEwMDY0NAorLS0tIGEvY3BwL01ha2VmaWxlCisrKysgYi9jcHAvTWFrZWZpbGUKK0BAIC0xMSwxMSArMTEsMTIgQEAgdG9wX3NyY2Rpcgk9IC4KKyAKKyBpbmNsdWRlICQodG9wX3NyY2RpcikvY29uZmlnL01ha2UucnVsZXMKKyAKKy1TVUJESVJTCQk9IGNvbmZpZyBzcmMgaW5jbHVkZSB0ZXN0CisrI1NVQkRJUlMJCT0gY29uZmlnIHNyYyBpbmNsdWRlIHRlc3QKKytTVUJESVJTCQk9IGNvbmZpZyBzcmMgaW5jbHVkZQorIAorLWlmZXEgKCQoc2hlbGwgdW5hbWUgfCBncmVwIE1JTkdXKSwpCistU1VCRElSUwkJOj0gJChTVUJESVJTKSBkZW1vCistZW5kaWYKKysjaWZlcSAoJChzaGVsbCB1bmFtZSB8IGdyZXAgTUlOR1cpLCkKKysjU1VCRElSUwkJOj0gJChTVUJESVJTKSBkZW1vCisrI2VuZGlmCisgCisgSU5TVEFMTF9TVUJESVJTCT0gJChpbnN0YWxsX2JpbmRpcikgJChpbnN0YWxsX2xpYmRpcikgJChpbnN0YWxsX2luY2x1ZGVkaXIpIFwKKyAJJChpbnN0YWxsX2NvbmZpZ2RpcikgJChpbnN0YWxsX21hbmRpcikKK2RpZmYgLS1naXQgYS9jcHAvY29uZmlnL01ha2UucnVsZXMgYi9jcHAvY29uZmlnL01ha2UucnVsZXMKK2luZGV4IDM3NDYxYWUuLjE5N2M1ZTggMTAwNjQ0CistLS0gYS9jcHAvY29uZmlnL01ha2UucnVsZXMKKysrKyBiL2NwcC9jb25maWcvTWFrZS5ydWxlcworQEAgLTE3NSwxMSArMTc1LDEyIEBAIGhlYWRlcmRpcgkJPSAkKHRvcF9zcmNkaXIpL2luY2x1ZGUKKyAjIGluY2x1ZGVkaXIgaXMgbm90IGhhbmRsZWQgdGhlIHNhbWUgYXMgYmluZGlyIGFuZCBsaWJkaXIKKyAjIGJlY2F1c2UgaXQgaXMgdXNlZCBpbiB0aGUgLmRlcGVuZCBmaWxlcworICMKKy1pZmRlZiBpY2Vfc3JjX2Rpc3QKKy0gICAgaW5jbHVkZWRpcgkJPSAkKHRvcF9zcmNkaXIpL2luY2x1ZGUKKy1lbHNlCistICAgIGluY2x1ZGVkaXIJCT0gJChpY2VfZGlyKS9pbmNsdWRlCistZW5kaWYKKysjaWZkZWYgaWNlX3NyY19kaXN0CisrIyAgICBpbmNsdWRlZGlyCQk9ICQodG9wX3NyY2RpcikvaW5jbHVkZQorKyNlbHNlCisrIyAgICBpbmNsdWRlZGlyCQk9ICQoaWNlX2RpcikvaW5jbHVkZQorKyNlbmRpZgorK2luY2x1ZGVkaXIJCT0gJCh0b3Bfc3JjZGlyKS9pbmNsdWRlCisgCisgIworICMgUGxhdGZvcm0gc3BlY2lmaWMgZGVmaW5pdGlvbnMKK0BAIC0yNzcsMTQgKzI3OCwxNyBAQCBJQ0VDUFBGTEFHUwkJPSAtSSQoc2xpY2VkaXIpCisgU0xJQ0UyQ1BQRkxBR1MJCT0gJChJQ0VDUFBGTEFHUykKKyAKKyBpZmVxICgkKGljZV9kaXIpLCAvdXNyKSAKKy0gICAgTERGTEFHUwkJPSAkKExEUExBVEZPUk1GTEFHUykgJChDWFhGTEFHUykKKysgICAgTERGTEFHUwkJKz0gJChMRFBMQVRGT1JNRkxBR1MpICQoQ1hYRkxBR1MpCisgZWxzZQorICAgICBDUFBGTEFHUwkrPSAtSSQoaW5jbHVkZWRpcikKKy0gICAgaWZkZWYgaWNlX3NyY19kaXN0CistCUxERkxBR1MJPSAkKExEUExBVEZPUk1GTEFHUykgJChDWFhGTEFHUykgLUwkKGxpYmRpcikKKy0gICAgZWxzZQorLQlMREZMQUdTCT0gJChMRFBMQVRGT1JNRkxBR1MpICQoQ1hYRkxBR1MpIC1MJChpY2VfZGlyKS8kKGxpYnN1YmRpcikkKGNwcDExc3VmZml4KQorLSAgICBlbmRpZgorKyMgV2UgbXVzdCBhbHdheXMgYnVpbGQgdXNpbmcgdGhlIGxpYnJhcmllcyBpbiB0aGUgc291cmNlIHRyZWUsIHRoZSBob3N0J3MgYXJlIG9idmlvdXNseQorKyMgbm90IHdoYXQgd2Ugd2FudCBmb3IgdGhlIHRhcmdldAorKyAgICBMREZMQUdTCSs9ICQoTERQTEFURk9STUZMQUdTKSAkKENYWEZMQUdTKSAtTCQobGliZGlyKSAkKGNhbGwgcnBhdGhsaW5rLCQobGliZGlyKSkKKysjICAgIGlmZGVmIGljZV9zcmNfZGlzdAorKyMgICAgICAgIExERkxBR1MJPSAkKExEUExBVEZPUk1GTEFHUykgJChDWFhGTEFHUykgLUwkKGxpYmRpcikKKysjICAgIGVsc2UKKysjCUxERkxBR1MJPSAkKExEUExBVEZPUk1GTEFHUykgJChDWFhGTEFHUykgLUwkKGljZV9kaXIpLyQobGlic3ViZGlyKSQoY3BwMTFzdWZmaXgpCisrIyAgICBlbmRpZgorIGVuZGlmCisgCisgaWZlcSAoJChGTEVYX05PTElORSkseWVzKQorQEAgLTMxMyw4ICszMTcsMTAgQEAgZW5kaWYKKyAKKyBpZmRlZiBpY2Vfc3JjX2Rpc3QKKyAgICAgU0xJQ0VQQVJTRVJMSUIJPSAkKGxpYmRpcikvJChjYWxsIG1rbGliZmlsZW5hbWUsU2xpY2UsJChWRVJTSU9OKSkKKy0gICAgU0xJQ0UyQ1BQCQk9ICQoYmluZGlyKS9zbGljZTJjcHAKKy0gICAgU0xJQ0UyRlJFRVpFCT0gJChiaW5kaXIpL3NsaWNlMmZyZWV6ZQorKyMgICAgU0xJQ0UyQ1BQCQk9ICQoYmluZGlyKS9zbGljZTJjcHAKKysjICAgIFNMSUNFMkZSRUVaRQk9ICQoYmluZGlyKS9zbGljZTJmcmVlemUKKysgICAgU0xJQ0UyQ1BQCQk9ICQoSUNFX0hPTUUpL2Jpbi9zbGljZTJjcHAKKysgICAgU0xJQ0UyRlJFRVpFCT0gJChJQ0VfSE9NRSkvYmluL3NsaWNlMmZyZWV6ZQorIGVsc2UKKyAgICAgU0xJQ0VQQVJTRVJMSUIJPSAkKGljZV9kaXIpLyQobGlic3ViZGlyKSQoY3BwMTFzdWZmaXgpLyQoY2FsbCBta2xpYmZpbGVuYW1lLFNsaWNlLCQoVkVSU0lPTikpCisgICAgIFNMSUNFMkNQUAkJPSAkKGljZV9kaXIpLyQoYmluc3ViZGlyKSQoY3BwMTFzdWZmaXgpL3NsaWNlMmNwcAorZGlmZiAtLWdpdCBhL2NwcC9jb25maWcvTWFrZS5ydWxlcy5MaW51eCBiL2NwcC9jb25maWcvTWFrZS5ydWxlcy5MaW51eAoraW5kZXggNWQ1NzE3Yy4uODM2M2M2ZSAxMDA2NDQKKy0tLSBhL2NwcC9jb25maWcvTWFrZS5ydWxlcy5MaW51eAorKysrIGIvY3BwL2NvbmZpZy9NYWtlLnJ1bGVzLkxpbnV4CitAQCAtMzEsNyArMzEsNyBAQCBpZmVxICgkKENYWCksYysrKQorICAgIENYWAkJCT0gZysrCisgZW5kaWYKKyAKKy1pZmVxICgkKENYWCksZysrKQorKyNpZmVxICgkKENYWCksZysrKQorIAorICAgICBpZm5lcSAoJChTVVNFX2k1ODYpLCkKKyAgICAgICAgIENYWEFSQ0hGTEFHUwkrPSAtbWFyY2g9aTU4NgorQEAgLTcxLDE0ICs3MSw2IEBAIGlmZXEgKCQoQ1hYKSxnKyspCisgICAgICAgQ1hYQVJDSEZMQUdTCSs9IC1tdHVuZT12OCAtcGlwZSAtV25vLWRlcHJlY2F0ZWQgLURJQ0VfVVNFX01VVEVYX1NIQVJFRAorICAgIGVuZGlmCisgCistICAgaWZlcSAoJChNQUNISU5FKSx4ODZfNjQpCistICAgICAgaWZlcSAoJChMUDY0KSx5ZXMpCistICAgICAgICAgQ1hYQVJDSEZMQUdTCSs9IC1tNjQKKy0gICAgICBlbHNlCistICAgICAgICAgQ1hYQVJDSEZMQUdTCSs9IC1tMzIKKy0gICAgICBlbmRpZgorLSAgIGVuZGlmCistCisgICAgQ1hYRkxBR1MJCT0gJChDWFhBUkNIRkxBR1MpIC1XYWxsIC1XZXJyb3IgLXB0aHJlYWQKKyAKKyAgICBpZm5lcSAoJChHRU5QSUMpLG5vKQorQEAgLTEwMiwxNSArOTQsMTEgQEAgaWZlcSAoJChDWFgpLGcrKykKKyAKKyAgICBycGF0aGxpbmsgICAgICAgICAgICA9IC1XbCwtcnBhdGgtbGluaywkKDEpIAorIAorLSAgIGlmbmVxICgkKGVtYmVkZGVkX3J1bnBhdGhfcHJlZml4KSwpCistICAgICAgTERQTEFURk9STUZMQUdTICAgICAgPSAtV2wsLS1lbmFibGUtbmV3LWR0YWdzIC1XbCwtcnBhdGgsJChydW5wYXRoX2xpYmRpcikKKy0gICBlbHNlCistICAgICAgTERQTEFURk9STUZMQUdTICAgICAgPSAtV2wsLS1lbmFibGUtbmV3LWR0YWdzCistICAgZW5kaWYKKysgICBMRFBMQVRGT1JNRkxBR1MgICAgICA9IC1XbCwtLWVuYWJsZS1uZXctZHRhZ3MgLVdsLC1ycGF0aCwuLi8uLi8uLi9saWIKKyAKKyAgICBMRFBMQVRGT1JNRkxBR1MJKz0gLXJkeW5hbWljCisgCistZW5kaWYKKysjZW5kaWYKKyAKKyBpZmVxICgkKENYWCksaWNwYykKKyAgICAkKHdhcm5pbmcgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSkgCitkaWZmIC0tZ2l0IGEvY3BwL3NyYy9JY2VTdG9ybS9GcmVlemVEQi9NYWtlZmlsZSBiL2NwcC9zcmMvSWNlU3Rvcm0vRnJlZXplREIvTWFrZWZpbGUKK2luZGV4IDdjODQ0YjcuLmNmMTVjYjEgMTAwNjQ0CistLS0gYS9jcHAvc3JjL0ljZVN0b3JtL0ZyZWV6ZURCL01ha2VmaWxlCisrKysgYi9jcHAvc3JjL0ljZVN0b3JtL0ZyZWV6ZURCL01ha2VmaWxlCitAQCAtNjYsNyArNjYsNyBAQCAkKGxpYmRpcikvJChMSUJOQU1FKTogJChsaWJkaXIpLyQoU09OQU1FKQorIAorICQoTUlHUkFURSk6ICQoTU9CSlMpCisgCXJtIC1mICRACistCSQoQ1hYKSAkKExERkxBR1MpIC1vICRAICQoTU9CSlMpICQoREJfUlBBVEhfTElOSykgLWxJY2VTdG9ybVNlcnZpY2UgLWxJY2VTdG9ybSAtbEZyZWV6ZSAkKExJQlMpCisrCSQoQ1hYKSAkKExERkxBR1MpIC1vICRAICQoTU9CSlMpICQoREJfUlBBVEhfTElOSykgLWxJY2VTdG9ybVNlcnZpY2UgLWxJY2VTdG9ybSAtbEZyZWV6ZSAkKExJQlMpIC1sZGJfY3h4CisgCisgIyBUaGUgc2xpY2UyZnJlZXplIHJ1bGVzIGFyZSBzdHJ1Y3R1cmVkIGxpa2UgdGhpcyB0byBhdm9pZCBpc3N1ZXMgd2l0aAorICMgcGFyYWxsZWwgbWFrZS4KK2RpZmYgLS1naXQgYS9weS9jb25maWcvTWFrZS5ydWxlcyBiL3B5L2NvbmZpZy9NYWtlLnJ1bGVzCitpbmRleCA0M2NlMDFiLi4xMzQ5MzQyIDEwMDY0NAorLS0tIGEvcHkvY29uZmlnL01ha2UucnVsZXMKKysrKyBiL3B5L2NvbmZpZy9NYWtlLnJ1bGVzCitAQCAtOTIsMjEgKzkyLDIzIEBAIGlmZXEgKCQoc2hlbGwgdGVzdCAtZiAkKHRvcF9zcmNkaXIpL2NvbmZpZy9NYWtlLnJ1bGVzLiQoVU5BTUUpICYmIGVjaG8gMCksMCkKKyAgICAgaW5jbHVkZSAkKHRvcF9zcmNkaXIpL2NvbmZpZy9NYWtlLnJ1bGVzLiQoVU5BTUUpCisgZWxzZQorICAgICBpbmNsdWRlICQodG9wX3NyY2RpcikvLi4vY3BwL2NvbmZpZy9NYWtlLnJ1bGVzLiQoVU5BTUUpCistZW5kaWYgCisrZW5kaWYKKyAKKyBsaWJkaXIgICAgICAgICAgICAgICAgICA9ICQodG9wX3NyY2RpcikvcHl0aG9uCistaWZuZXEgKCQocHJlZml4KSwgL3VzcikKKy1pbnN0YWxsX3B5dGhvbmRpciAgICAgICA9ICQocHJlZml4KS9weXRob24KKy1pbnN0YWxsX2xpYmRpciAgICAgICAgICA9ICQocHJlZml4KS9weXRob24KKy1lbHNlCistICAgIGlmZXEgKCQoc2hlbGwgdGVzdCAtZCAkKHByZWZpeCkvJChsaWJzdWJkaXIpLyQoUFlUSE9OX1ZFUlNJT04pL2Rpc3QtcGFja2FnZXMgJiYgZWNobyAwKSwwKQorLSAgICAgICAgaW5zdGFsbF9weXRob25kaXIgICAgICAgPSAkKHByZWZpeCkvJChsaWJzdWJkaXIpLyQoUFlUSE9OX1ZFUlNJT04pL2Rpc3QtcGFja2FnZXMKKy0gICAgICAgIGluc3RhbGxfbGliZGlyICAgICAgICAgID0gJChwcmVmaXgpLyQobGlic3ViZGlyKS8kKFBZVEhPTl9WRVJTSU9OKS9kaXN0LXBhY2thZ2VzCistICAgIGVsc2UKKy0gICAgICAgIGluc3RhbGxfcHl0aG9uZGlyICAgICAgID0gJChwcmVmaXgpLyQobGlic3ViZGlyKS8kKFBZVEhPTl9WRVJTSU9OKS9zaXRlLXBhY2thZ2VzCistICAgICAgICBpbnN0YWxsX2xpYmRpciAgICAgICAgICA9ICQocHJlZml4KS8kKGxpYnN1YmRpcikvJChQWVRIT05fVkVSU0lPTikvc2l0ZS1wYWNrYWdlcworLSAgICBlbmRpZgorLWVuZGlmCisrI2lmbmVxICgkKHByZWZpeCksIC91c3IpCisrI2luc3RhbGxfcHl0aG9uZGlyICAgICAgID0gJChwcmVmaXgpL3B5dGhvbgorKyNpbnN0YWxsX2xpYmRpciAgICAgICAgICA9ICQocHJlZml4KS9weXRob24KKysjZWxzZQorKyMgICAgaWZlcSAoJChzaGVsbCB0ZXN0IC1kICQocHJlZml4KS8kKGxpYnN1YmRpcikvJChQWVRIT05fVkVSU0lPTikvZGlzdC1wYWNrYWdlcyAmJiBlY2hvIDApLDApCisrIyAgICAgICAgaW5zdGFsbF9weXRob25kaXIgICAgICAgPSAkKHByZWZpeCkvJChsaWJzdWJkaXIpLyQoUFlUSE9OX1ZFUlNJT04pL2Rpc3QtcGFja2FnZXMKKysjICAgICAgICBpbnN0YWxsX2xpYmRpciAgICAgICAgICA9ICQocHJlZml4KS8kKGxpYnN1YmRpcikvJChQWVRIT05fVkVSU0lPTikvZGlzdC1wYWNrYWdlcworKyMgICAgZWxzZQorKyMgICAgICAgIGluc3RhbGxfcHl0aG9uZGlyICAgICAgID0gJChwcmVmaXgpLyQobGlic3ViZGlyKS8kKFBZVEhPTl9WRVJTSU9OKS9zaXRlLXBhY2thZ2VzCisrIyAgICAgICAgaW5zdGFsbF9saWJkaXIgICAgICAgICAgPSAkKHByZWZpeCkvJChsaWJzdWJkaXIpLyQoUFlUSE9OX1ZFUlNJT04pL3NpdGUtcGFja2FnZXMKKysjICAgIGVuZGlmCisrI2VuZGlmCisraW5zdGFsbF9weXRob25kaXIgICAgICAgPSAkKHByZWZpeCkvJChsaWJzdWJkaXIpLyQoUFlUSE9OX1ZFUlNJT04pL3NpdGUtcGFja2FnZXMKKytpbnN0YWxsX2xpYmRpciAgICAgICAgICA9ICQocHJlZml4KS8kKGxpYnN1YmRpcikvJChQWVRIT05fVkVSU0lPTikvc2l0ZS1wYWNrYWdlcworIAorIGlmZXEgKCQoVU5BTUUpLFN1bk9TKQorICAgIGlmZXEgKCQoTFA2NCkseWVzKQorQEAgLTExNSwxOSArMTE3LDIxIEBAIGlmZXEgKCQoVU5BTUUpLFN1bk9TKQorICAgIGVuZGlmCisgZW5kaWYKKyAKKy1pZmRlZiBpY2Vfc3JjX2Rpc3QKKy0gICAgaWZlcSAoJChpY2VfY3BwX2RpciksICQoaWNlX2RpcikvY3BwKQorLSAgICAgICAgSUNFX0xJQl9ESVIgPSAtTCQoaWNlX2NwcF9kaXIpL2xpYgorLSAgICBlbHNlCistICAgICAgICBJQ0VfTElCX0RJUiA9IC1MJChpY2VfY3BwX2RpcikvJChsaWJzdWJkaXIpCistICAgIGVuZGlmCistICAgIElDRV9MSUJfRElSID0gLUwkKGljZV9jcHBfZGlyKS9saWIKKy0gICAgSUNFX0ZMQUdTIAk9IC1JJChpY2VfY3BwX2RpcikvaW5jbHVkZQorLWVuZGlmCistaWZkZWYgaWNlX2Jpbl9kaXN0CistICAgIElDRV9MSUJfRElSID0gLUwkKGljZV9kaXIpLyQobGlic3ViZGlyKQorLSAgICBJQ0VfRkxBR1MJPSAtSSQoaWNlX2RpcikvaW5jbHVkZQorLWVuZGlmCisrI2lmZGVmIGljZV9zcmNfZGlzdAorKyMgICAgaWZlcSAoJChpY2VfY3BwX2RpciksICQoaWNlX2RpcikvY3BwKQorKyMgICAgICAgIElDRV9MSUJfRElSID0gLUwkKGljZV9jcHBfZGlyKS9saWIKKysjICAgIGVsc2UKKysjICAgICAgICBJQ0VfTElCX0RJUiA9IC1MJChpY2VfY3BwX2RpcikvJChsaWJzdWJkaXIpCisrIyAgICBlbmRpZgorKyMgICAgSUNFX0xJQl9ESVIgPSAtTCQoaWNlX2NwcF9kaXIpL2xpYgorKyMgICAgSUNFX0ZMQUdTIAk9IC1JJChpY2VfY3BwX2RpcikvaW5jbHVkZQorKyNlbmRpZgorKyNpZmRlZiBpY2VfYmluX2Rpc3QKKysjICAgIElDRV9MSUJfRElSID0gLUwkKGljZV9kaXIpLyQobGlic3ViZGlyKQorKyMgICAgSUNFX0ZMQUdTCT0gLUkkKGljZV9kaXIpL2luY2x1ZGUKKysjZW5kaWYKKytJQ0VfTElCX0RJUiA9IC1MJCh0b3Bfc3JjZGlyKS8uLi9jcHAvbGliCisrSUNFX0ZMQUdTID0gLUkkKGljZV9jcHBfZGlyKS9pbmNsdWRlCisgSUNFX0xJQlMgPSAkKElDRV9MSUJfRElSKSAtbEljZSAtbFNsaWNlIC1sSWNlVXRpbAorIAorIGlmbmVxICgkKGVtYmVkZGVkX3J1bnBhdGhfcHJlZml4KSwpCitAQCAtMTM3LDcgKzE0MSw3IEBAIGVuZGlmCisgQ1BQRkxBR1MJCT0KKyBJQ0VDUFBGTEFHUwkJPSAtSSQoc2xpY2VkaXIpCisgU0xJQ0UyUFlGTEFHUwkJPSAkKElDRUNQUEZMQUdTKQorLUxERkxBR1MJCQk9ICQoTERQTEFURk9STUZMQUdTKSAkKENYWEZMQUdTKSAtTCQobGliZGlyKQorK0xERkxBR1MJCQkrPSAkKExEUExBVEZPUk1GTEFHUykgJChDWFhGTEFHUykgLUwkKGxpYmRpcikKKyAKKyBpZmRlZiBpY2Vfc3JjX2Rpc3QKKyAgICAgaWZlcSAoJChpY2VfY3BwX2RpciksICQoaWNlX2RpcikvY3BwKQorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvYy1pY2UvemVyb2MtaWNlXzMuNS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9jLWljZS96ZXJvYy1pY2VfMy41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI2ZjU2ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvYy1pY2UvemVyb2MtaWNlXzMuNS4xLmJiCkBAIC0wLDAgKzEsODcgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBJbnRlcm5ldCBDb21tdW5pY2F0aW9ucyBFbmdpbmUiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vSUNFX0xJQ0VOU0U7bWQ1PTNkYzMwMzcwMjNjYzJhZTZiMmM1Yjk5NWRhNTI5NTE1IgorREVQRU5EUyA9ICJiemlwMiBleHBhdCBvcGVuc3NsIHB5dGhvbiBkYiBtY3BwIgorREVQRU5EU19wcmVwZW5kX2NsYXNzLXRhcmdldCA9ICJ6ZXJvYy1pY2UtbmF0aXZlICIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lnplcm9jLmNvbS9kb3dubG9hZC9JY2UvMy41L0ljZS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1Nb2RpZnktTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMDBjNTk5ODNjYzkwNGJjYTk3NzEzM2MwYTliM2U4MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ODllNTExOTRjNmFkYWRiZDE1NmRhMzI4OGUzN2JhZDg0N2I5M2IzYjg3NjUwMmU4MzAzM2I3MDQ5M2FmMzkyIgorCisjfCBNYXBEYi5jcHA6IEluIGNvbnN0cnVjdG9yICdGcmVlemU6Ok1hcERiOjpNYXBEYihjb25zdCBDb25uZWN0aW9uSVB0ciYsIGNvbnN0IHN0cmluZyYsIGNvbnN0IHN0cmluZyYsIGNvbnN0IHN0cmluZyYsIGNvbnN0IEtleUNvbXBhcmVCYXNlUHRyJiwgY29uc3Qgc3RkOjp2ZWN0b3I8SWNlVXRpbDo6SGFuZGxlPEZyZWV6ZTo6TWFwSW5kZXhCYXNlPiA+JiwgYm9vbCknOgorI3wgTWFwRGIuY3BwOjEzODo0NjogZXJyb3I6IGNhbGwgb2Ygb3ZlcmxvYWRlZCAnc2V0X2J0X2NvbXBhcmUoaW50ICgqKShEQiosIGNvbnN0IERCVCosIGNvbnN0IERCVCopKScgaXMgYW1iaWd1b3VzCisjfCBNYXBEYi5jcHA6MTM4OjQ2OiBub3RlOiBjYW5kaWRhdGVzIGFyZToKKyN8IC9ob21lL2plbmtpbnMvb2Uvd29ybGQvc2hyLWNvcmUvdG1wLWVnbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2luY2x1ZGUvZGJfY3h4Lmg6MjcyOjE0OiBub3RlOiB2aXJ0dWFsIGludCBEYjo6c2V0X2J0X2NvbXBhcmUoYnRfY29tcGFyZV9mY25fdHlwZSkgPG5lYXIgbWF0Y2g+CisjfCAvaG9tZS9qZW5raW5zL29lL3dvcmxkL3Noci1jb3JlL3RtcC1lZ2xpYmMvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9pbmNsdWRlL2RiX2N4eC5oOjI3MjoxNDogbm90ZTogICBubyBrbm93biBjb252ZXJzaW9uIGZvciBhcmd1bWVudCAxIGZyb20gJ2ludCAoKikoREIqLCBjb25zdCBEQlQqLCBjb25zdCBEQlQqKSB7YWthIGludCAoKikoX19kYiosIGNvbnN0IF9fZGJfZGJ0KiwgY29uc3QgX19kYl9kYnQqKX0nIHRvICdidF9jb21wYXJlX2Zjbl90eXBlIHtha2EgaW50ICgqKShfX2RiKiwgY29uc3QgX19kYl9kYnQqLCBjb25zdCBfX2RiX2RidCosIGxvbmcgdW5zaWduZWQgaW50Kil9JworI3wgL2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZWdsaWJjL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvaW5jbHVkZS9kYl9jeHguaDoyNzM6MTQ6IG5vdGU6IHZpcnR1YWwgaW50IERiOjpzZXRfYnRfY29tcGFyZShpbnQgKCopKERiKiwgY29uc3QgRGJ0KiwgY29uc3QgRGJ0Kiwgc2l6ZV90KikpIDxuZWFyIG1hdGNoPgorI3wgL2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZWdsaWJjL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvaW5jbHVkZS9kYl9jeHguaDoyNzM6MTQ6IG5vdGU6ICAgbm8ga25vd24gY29udmVyc2lvbiBmb3IgYXJndW1lbnQgMSBmcm9tICdpbnQgKCopKERCKiwgY29uc3QgREJUKiwgY29uc3QgREJUKikge2FrYSBpbnQgKCopKF9fZGIqLCBjb25zdCBfX2RiX2RidCosIGNvbnN0IF9fZGJfZGJ0Kil9JyB0byAnaW50ICgqKShEYiosIGNvbnN0IERidCosIGNvbnN0IERidCosIHNpemVfdCopIHtha2EgaW50ICgqKShEYiosIGNvbnN0IERidCosIGNvbnN0IERidCosIGxvbmcgdW5zaWduZWQgaW50Kil9JworI3wgbWFrZVszXTogKioqIFtNYXBEYi5vXSBFcnJvciAxCitQTkJMQUNLTElTVFt6ZXJvYy1pY2VdID89ICJCUk9LRU46IG5vdCBjb21wYXRpYmxlIHdpdGggZGVmYXVsdCBkYiB2ZXJzaW9uIgorCitTID0gIiR7V09SS0RJUn0vSWNlLSR7UFZ9IgorCitpbmhlcml0IHB5dGhvbi1kaXIgcGtnY29uZmlnCisKK2V4cG9ydCBQWVRIT05fVkVSU0lPTiA9ICJweXRob24yLjciCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICA6Cit9CisKK2RvX2NvbXBpbGVfcHJlcGVuZF9jbGFzcy10YXJnZXQgKCkgeworICAgIGV4cG9ydCBQWVRIT05fSU5DTFVERV9ESVI9IiR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCisgICAgZXhwb3J0IFBZVEhPTl9MSUJfRElSPSIke1NUQUdJTkdfTElCRElSfS8ke1BZVEhPTl9ESVJ9IgorICAgIGV4cG9ydCBJQ0VfSE9NRT0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3VzciIKK30KKworZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZXNkayAoKSB7CisgICAgZXhwb3J0IFBZVEhPTl9JTkNMVURFX0RJUj0iJHtTVEFHSU5HX0lOQ0RJUn0vJHtQWVRIT05fRElSfSIKKyAgICBleHBvcnQgUFlUSE9OX0xJQl9ESVI9IiR7U1RBR0lOR19MSUJESVJ9LyR7UFlUSE9OX0RJUn0iCisgICAgZXhwb3J0IElDRV9IT01FPSIke1NUQUdJTkdfRElSX05BVElWRX0vdXNyIgorfQorCitkb19jb21waWxlX3ByZXBlbmRfY2xhc3MtbmF0aXZlICgpIHsKKyAgICBleHBvcnQgUFlUSE9OX0lOQ0xVREVfRElSPSIke1NUQUdJTkdfSU5DRElSfS8ke1BZVEhPTl9ESVJ9IgorICAgIGV4cG9ydCBQWVRIT05fTElCX0RJUj0iJHtTVEFHSU5HX0xJQkRJUn0vJHtQWVRIT05fRElSfSIKKyAgICBleHBvcnQgSUNFX0hPTUU9IiR7U30vY3BwIgorfQorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgLUMgJHtTfSBjcHAKKyAgICBvZV9ydW5tYWtlIC1DICR7U30gcHkKK30KKworZG9faW5zdGFsbF9wcmVwZW5kX2NsYXNzLXRhcmdldCAoKSB7CisgICAgZXhwb3J0IFBZVEhPTl9JTkNMVURFX0RJUj0iJHtTVEFHSU5HX0lOQ0RJUn0vJHtQWVRIT05fRElSfSIKKyAgICBleHBvcnQgUFlUSE9OX0xJQl9ESVI9IiR7U1RBR0lOR19MSUJESVJ9LyR7UFlUSE9OX0RJUn0iCisgICAgZXhwb3J0IElDRV9IT01FPSIke1NUQUdJTkdfRElSX05BVElWRX0vdXNyIgorfQorCitkb19pbnN0YWxsX3ByZXBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKKyAgICBleHBvcnQgUFlUSE9OX0lOQ0xVREVfRElSPSIke1NUQUdJTkdfSU5DRElSfS8ke1BZVEhPTl9ESVJ9IgorICAgIGV4cG9ydCBQWVRIT05fTElCX0RJUj0iJHtTVEFHSU5HX0xJQkRJUn0vJHtQWVRIT05fRElSfSIKKyAgICBleHBvcnQgSUNFX0hPTUU9IiR7U1RBR0lOR19ESVJfTkFUSVZFfS91c3IiCit9CisKK2RvX2luc3RhbGxfcHJlcGVuZF9jbGFzcy1uYXRpdmUgKCkgeworICAgIGV4cG9ydCBJQ0VfSE9NRT0iJHtTfS9jcHAiCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAtQyAke1N9L2NwcCBwcmVmaXg9JHtEfSR7cHJlZml4fSBpbnN0YWxsIGluc3RhbGwtY29tbW9uCisgICAgb2VfcnVubWFrZSAtQyAke1N9L3B5IHByZWZpeD0ke0R9JHtwcmVmaXh9IGluc3RhbGwKK30KKworUEFDS0FHRVMgKz0gIiR7UE59LXB5dGhvbiAke1BOfS1weXRob24tZGV2ICR7UE59LXB5dGhvbi1kYmciCisKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtwcmVmaXh9L21hbi9tYW4xIgorRklMRVNfJHtQTn0gKz0gIiR7cHJlZml4fS8qTElDRU5TRSAke2xpYmRpcn0vSW1wb3J0S2V5LmNsYXNzICR7cHJlZml4fS9SRUxFQVNFX05PVEVTICR7cHJlZml4fS9DSEFOR0VTIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2luY2x1ZGVkaXJ9ICR7cHJlZml4fS9zbGljZSAke3ByZWZpeH0vY29uZmlnIgorRklMRVNfJHtQTn0tcHl0aG9uLWRldiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9JY2VQeS5zbyIKK0ZJTEVTXyR7UE59LXB5dGhvbiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qLnB5ICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L0ljZVB5LnNvLiogJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vSWNlKi8qLnB5IgorRklMRVNfJHtQTn0tcHl0aG9uLWRiZyA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7YmluZGlyfS9zbGljZSogJHtkYXRhZGlyfS9JY2UtJHtQVn0vc2xpY2UvKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS9jcHB6bXFfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS9jcHB6bXFfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0MWNkMGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemVyb21xL2NwcHptcV9naXQuYmIKQEAgLTAsMCArMSwxOSBAQAorREVTQ1JJUFRJT04gPSAiQysrIGJpbmRpbmdzIGZvciBaZXJvTVEiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lnplcm9tcS5vcmciCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWRiMTc0ZWFmN2I1NWEzNGE3Yzg5NTUxMTk3ZjY2ZTk0IgorREVQRU5EUyA9ICJ6ZXJvbXEiCitTUkNSRVYgPSAiNjhhN2IwOWNmY2UwMWM0YzI3OWZiYTJjZjkxNjg2ZmNmYzU2Njg0OCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3plcm9tcS9jcHB6bXEuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsICgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9L3Vzci9pbmNsdWRlCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3ptcS5ocHAgJHtEfS91c3IvaW5jbHVkZS8KK30KKworUEFDS0FHRVMgPSAiJHtQTn0tZGV2IgorCitSREVQRU5EU18ke1BOfS1kZXYgPSAiemVyb21xLWRldiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvbXEvZmlsZXMvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS9maWxlcy9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDhiOWNkOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvbXEvZmlsZXMvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMTAgQEAKKyMhL2Jpbi9zaAorCitjZCB0ZXN0cworZm9yIGkgaW4gYGxzICpgOyBkbworICAgaWYgWyAuLyRpIF0gOyB0aGVuCisgICAgICAgZWNobyAiUEFTUzogJGkiCisgICBlbHNlCisgICAgICAgZWNobyAiRkFJTDogJGkiCisgICBmaQorZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS96ZXJvbXFfNC4xLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemVyb21xL3plcm9tcV80LjEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDkwMTUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS96ZXJvbXFfNC4xLjQuYmIKQEAgLTAsMCArMSwzMCBAQAorREVTQ1JJUFRJT04gPSAiWmVyb01RIGxvb2tzIGxpa2UgYW4gZW1iZWRkYWJsZSBuZXR3b3JraW5nIGxpYnJhcnkgYnV0IGFjdHMgbGlrZSBhIGNvbmN1cnJlbmN5IGZyYW1ld29yayIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuemVyb21xLm9yZyIKK0xJQ0VOU0UgPSAiTEdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1kNTMxMTQ5NWQ5NTIwNjJlMGU0ZmJiYTM5Y2JmM2RlMSIKK0RFUEVORFMgPSAibGlic29kaXVtIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC56ZXJvbXEub3JnL3plcm9tcS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImE2MTFlY2M5M2ZmZmViNmQwNThjMGU2ZWRmNGFkNGZiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU5OWY0NGZkZTI1YzJlNGNiODRjZTQ0MGY4N2NhN2QzZmUzMjcxYzJiOGNmYmM2N2Q1NWU0ZGUyNWU2ZmUzNzgiCisKK1MgPSAiJHtXT1JLRElSfS96ZXJvbXEtJHtQVn0iCisKKyNVbmNvbW1lbnQgdG8gY2hvb3NlIHBvbGxpbmcgc3lzdGVtIG1hbnVhbGx5LiB2YWxpZCB2YWx1ZXMgYXJlIGtxdWV1ZSwgZXBvbGwsIGRldnBvbGwsIHBvbGwgb3Igc2VsZWN0CisjRVhUUkFfT0VDT05GICs9ICItLXdpdGgtcG9sbGVyPWtxdWV1ZSIKKyNDRkxBR1NfYXBwZW5kICs9ICItTzAiCisjQ1hYRkxBR1NfYXBwZW5kICs9ICItTzAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHB0ZXN0IHBrZ2NvbmZpZworCitkb19jb21waWxlX3B0ZXN0ICgpIHsKKwllY2hvICdidWlsZHRlc3QtVEVTVFM6ICQoY2hlY2tfUFJPR1JBTVMpJyA+PiAke0J9L01ha2VmaWxlCisJb2VfcnVubWFrZSBidWlsZHRlc3QtVEVTVFMKK30KKworZG9faW5zdGFsbF9wdGVzdCAoKSB7CisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vLmxpYnMvdGVzdF8qICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy1kYWVtb24tcHJveHlfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9kYnVzL2RidXMtZGFlbW9uLXByb3h5X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDVlMWQxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9kYnVzL2RidXMtZGFlbW9uLXByb3h5X2dpdC5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gImRidXMgZm9yd2FyZGluZyBkYWVtb24iCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RidXMtZGFlbW9uLXByb3h5LmM7ZW5kbGluZT0xOTttZDU9NDFkZjZkMjFmZTFjOTdkNmExY2MyMmE1YmYzNzRjYmEiCitERVBFTkRTID0gImRidXMgZGJ1cy1nbGliIgorU1JDUkVWID0gIjEyMjZhMGExMzc0NjI4ZmYxOTFmNmQ4YTU2MDAwYmU1ZTUzZTc2MDgiCitQViA9ICIwLjAuMCtnaXRyJHtTUkNQVn0iCitQUiA9ICJyMSIKKworQVNORUVERURfcG4tZGJ1cy1kYWVtb24tcHJveHkgPSAiIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5jb2xsYWJvcmEuY28udWsvZ2l0L3VzZXIvYWxiYW4vZGJ1cy1kYWVtb24tcHJveHkiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9ICR7TERGTEFHU30gYHBrZy1jb25maWcgLS1jZmxhZ3MgLS1saWJzIGRidXMtZ2xpYi0xYCAtbyBkYnVzLWRhZW1vbi1wcm94eSBkYnVzLWRhZW1vbi1wcm94eS5jCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IGRidXMtZGFlbW9uLXByb3h5ICR7RH0ke2JpbmRpcn0KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lZ2dkYnVzL2VnZ2RidXMvZ3RrLWRvYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZWdnZGJ1cy9lZ2dkYnVzL2d0ay1kb2MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJkN2ZmNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZWdnZGJ1cy9lZ2dkYnVzL2d0ay1kb2MucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXSAKKworSW5kZXg6IGVnZ2RidXMtMC42L2RvY3MvZWdnZGJ1cy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGVnZ2RidXMtMC42Lm9yaWcvZG9jcy9lZ2dkYnVzL01ha2VmaWxlLmFtCisrKysgZWdnZGJ1cy0wLjYvZG9jcy9lZ2dkYnVzL01ha2VmaWxlLmFtCitAQCAtODcsMTEgKzg3LDcgQEAgSFRNTF9JTUFHRVMgPSAJCQkJXAorICMgRXh0cmEgb3B0aW9ucyB0byBzdXBwbHkgdG8gZ3RrZG9jLWZpeHJlZgorIEZJWFhSRUZfT1BUSU9OUz0KKyAKKy1pZiBFTkFCTEVfR1RLX0RPQworLWluY2x1ZGUgJCh0b3Bfc3JjZGlyKS9ndGstZG9jLm1ha2UKKy1lbHNlCisgQ0xFQU5GSUxFUyA9CistZW5kaWYKKyAKKyBDTEVBTkZJTEVTICs9ICAgKn4JCQkJXAorIAkJZWdnZGJ1cy1zY2FuLioJCQlcCitJbmRleDogZWdnZGJ1cy0wLjYvZG9jcy90ZXN0cy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGVnZ2RidXMtMC42Lm9yaWcvZG9jcy90ZXN0cy9NYWtlZmlsZS5hbQorKysrIGVnZ2RidXMtMC42L2RvY3MvdGVzdHMvTWFrZWZpbGUuYW0KK0BAIC02NSwxMSArNjUsNyBAQCBIVE1MX0lNQUdFUyA9IAkJCQlcCisgIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtZml4cmVmCisgRklYWFJFRl9PUFRJT05TPQorIAorLWlmIEVOQUJMRV9HVEtfRE9DCistaW5jbHVkZSAkKHRvcF9zcmNkaXIpL2d0ay1kb2MubWFrZQorLWVsc2UKKyBDTEVBTkZJTEVTID0KKy1lbmRpZgorIAorIENMRUFORklMRVMgKz0gICAqfgkJCQlcCisgCQl0ZXN0cy1zY2FuLioJCQlcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VnZ2RidXMvZWdnZGJ1cy9tYXJzaGFsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lZ2dkYnVzL2VnZ2RidXMvbWFyc2hhbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjA1YTM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lZ2dkYnVzL2VnZ2RidXMvbWFyc2hhbC5wYXRjaApAQCAtMCwwICsxLDI4IEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiBlZ2dkYnVzLTAuNi9zcmMvZWdnZGJ1cy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGVnZ2RidXMtMC42Lm9yaWcvc3JjL2VnZ2RidXMvTWFrZWZpbGUuYW0KKysrKyBlZ2dkYnVzLTAuNi9zcmMvZWdnZGJ1cy9NYWtlZmlsZS5hbQorQEAgLTEzMCw3ICsxMzAsNyBAQCBCVUlMVF9TT1VSQ0VTID0JCQkJCQkJCVwKKyAJJChOVUxMKQorIAorIGVnZ2RidXMtYnVpbHQtc291cmNlcy5zdGFtcCA6IGVnZ2RidXMtYmluZGluZy10b29sIE1ha2VmaWxlLmFtIG9yZy5mcmVlZGVza3RvcC5EQnVzLnhtbCBvcmcuZnJlZWRlc2t0b3AuREJ1cy5QZWVyLnhtbCBvcmcuZnJlZWRlc2t0b3AuREJ1cy5Qcm9wZXJ0aWVzLnhtbCBvcmcuZnJlZWRlc2t0b3AuREJ1cy5JbnRyb3NwZWN0YWJsZS54bWwgZWdnZGJ1cy1nbGliLWdlbm1hcnNoYWwKKy0JRUdHX0RCVVNfR0VOTUFSU0hBTD0kKHRvcF9idWlsZGRpcikvc3JjL2VnZ2RidXMvZWdnZGJ1cy1nbGliLWdlbm1hcnNoYWwgJCh0b3BfYnVpbGRkaXIpL3NyYy9lZ2dkYnVzL2VnZ2RidXMtYmluZGluZy10b29sCQkJCQkJCVwKKysJRUdHX0RCVVNfR0VOTUFSU0hBTD1lZ2dkYnVzLWdsaWItZ2VubWFyc2hhbCBlZ2dkYnVzLWJpbmRpbmctdG9vbAkJCQkJCQlcCisgCQktLW5hbWVzcGFjZSBFZ2dEQnVzCQkJCQkJCQkJXAorIAkJLS1kYnVzLW5hbWVzcGFjZSBvcmcuZnJlZWRlc2t0b3AuREJ1cwkJCQkJCQlcCisgCQktLWludGVyZmFjZXMtb25seQkJCQkJCQkJCVwKK0luZGV4OiBlZ2dkYnVzLTAuNi9zcmMvdGVzdHMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBlZ2dkYnVzLTAuNi5vcmlnL3NyYy90ZXN0cy9NYWtlZmlsZS5hbQorKysrIGVnZ2RidXMtMC42L3NyYy90ZXN0cy9NYWtlZmlsZS5hbQorQEAgLTI1LDcgKzI1LDcgQEAgQlVJTFRfU09VUkNFUyA9IAkJCQkJCQlcCisgCSQoTlVMTCkKKyAKKyB0ZXN0LWJ1aWx0LXNvdXJjZXMuc3RhbXAgOiBNYWtlZmlsZS5hbSAkKHRvcF9idWlsZGRpcikvc3JjL2VnZ2RidXMvZWdnZGJ1cy1iaW5kaW5nLXRvb2wgY29tLmV4YW1wbGUuRnJvYi54bWwgY29tLmV4YW1wbGUuVHdlYWsueG1sIGNvbS5leGFtcGxlLlR3aWRkbGUueG1sCistCUVHR19EQlVTX0dFTk1BUlNIQUw9JCh0b3BfYnVpbGRkaXIpL3NyYy9lZ2dkYnVzL2VnZ2RidXMtZ2xpYi1nZW5tYXJzaGFsICQodG9wX2J1aWxkZGlyKS9zcmMvZWdnZGJ1cy9lZ2dkYnVzLWJpbmRpbmctdG9vbAkJCQkJCQkJCVwKKysJRUdHX0RCVVNfR0VOTUFSU0hBTD1lZ2dkYnVzLWdsaWItZ2VubWFyc2hhbCBlZ2dkYnVzLWJpbmRpbmctdG9vbAkJCQkJCQkJCVwKKyAJICAtLW5hbWVzcGFjZSAgICAgICAiVGVzdCIJCQkJCQkJCQkJXAorIAkgIC0tZGJ1cy1uYW1lc3BhY2UgICJjb20uZXhhbXBsZSIJCQkJCQkJCQlcCisgCSAgLS1pbmNsdWRlLWhlYWRlciAgdGVzdHR5cGVzLmgJCQkJCQkJCQkJXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lZ2dkYnVzL2VnZ2RidXNfMC42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lZ2dkYnVzL2VnZ2RidXNfMC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMjhlYzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VnZ2RidXMvZWdnZGJ1c18wLjYuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJBbiBhbHRlcm5hdGl2ZSB0byBkYnVnLWdsaWIuIgorREVTQ1JJUFRJT04gPSAiQW4gYWx0ZXJuYXRpdmUgdG8gZGJ1cy1nbGliLiBJdCBpcyBkZXNpZ25lZCBzcGVjaWZpY2FsbHkgdG8gXAorbWFrZSBpdCBjb21mb3J0YWJsZSB0byB3b3JrIHdpdGggdmVyeSBsYXJnZSBhbmQgcG90ZW50aWFsbHkgXAorY29tcGxleCBELUJ1cyBzZXJ2aWNlcyBsaWtlIGUuZy4gRGV2aWNlS2l0LWRpc2tzIgorCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvfmRhdmlkL2VnZ2RidXMiCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xNTVkYjg2Y2RiYWZhNzUzMmI0MWYzOTA0MDkyODNlYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZWdnZGJ1cy9lZ2dkYnVzLmg7bWQ1PTZiMzEyYWVmNTdlZDhkNzM4YjNmMTMxYWQwMzdkNmMyIgorCitERVBFTkRTID0gImRidXMgZ2xpYi0yLjAgZGJ1cy1nbGliIGVnZ2RidXMtbmF0aXZlIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiZGJ1cy1uYXRpdmUgZ2xpYi0yLjAtbmF0aXZlIGRidXMtZ2xpYi1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL35kYXZpZC8ke0JQTn0vc25hcHNob3QvJHtCUE59LSR7UFZ9LnRhci5iejIgXAorICAgIGZpbGU6Ly9ndGstZG9jLnBhdGNoIFwKKyIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICJmaWxlOi8vbWFyc2hhbC5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYTExMWZhYTU0ZGZiYTJjZjQzMmMyYzhlOGE3NmUwNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYWQyNmUyNzFjMWE4NzliYWZjZDE4MWUwNjVmZTBlZDUzYjU0MjI5OWE3NzNjMzE4OGM5ZWRiMjViODk1ZWQxIgorCitpbmhlcml0IGF1dG90b29scyBndGstZG9jCisKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLW1hbi1wYWdlcyAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitQQVJBTExFTF9NQUtFID0gIiIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyBDcmVhdGUgQ2hhbmdlTG9nIHRvIHdhbGsgYXJvdW5kIGF1dG9tYWtlIGVycm9yLgorICAgICMgIiBNYWtlZmlsZS5hbTogZXJyb3I6IHJlcXVpcmVkIGZpbGUgJy4vQ2hhbmdlTG9nJyBub3QgZm91bmQgIgorICAgIHRvdWNoICR7U30vQ2hhbmdlTG9nCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2Zha2Vyb290L2Zha2Vyb290LW5hdGl2ZV8xLjE4LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2Zha2Vyb290L2Zha2Vyb290LW5hdGl2ZV8xLjE4LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI3YTYwYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZmFrZXJvb3QvZmFrZXJvb3QtbmF0aXZlXzEuMTguNC5iYgpAQCAtMCwwICsxLDE1IEBACityZXF1aXJlIGZha2Vyb290XyR7UFZ9LmJiCisKK1MgPSAiJHtXT1JLRElSfS9mYWtlcm9vdC0ke1BWfSIKKworaW5oZXJpdCBuYXRpdmUKKworRVhUUkFfT0VDT05GID0gIi0tcHJvZ3JhbS1wcmVmaXg9IgorCisjIENvbXBhdGFiaWxpdHkgZm9yIHRoZSByYXJlIHN5c3RlbXMgbm90IHVzaW5nIG9yIGhhdmluZyBTWVNWCitweXRob24gKCkgeworICAgIGlmIGQuZ2V0VmFyKCdIT1NUX05PTlNZU1YnLCBUcnVlKSBhbmQgZC5nZXRWYXIoJ0hPU1RfTk9OU1lTVicsIFRydWUpICE9ICcwJzoKKyAgICAgICAgZC5zZXRWYXIoJ0VYVFJBX09FQ09ORicsICcgLS13aXRoLWlwYz10Y3AgLS1wcm9ncmFtLXByZWZpeD0gJykKK30KKworUkRFUEVORFNfJHtQTn0gPSAidXRpbC1saW51eC1uYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2Zha2Vyb290L2Zha2Vyb290XzEuMTguNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZmFrZXJvb3QvZmFrZXJvb3RfMS4xOC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YjNjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2Zha2Vyb290L2Zha2Vyb290XzEuMTguNC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkdpdmVzIGEgZmFrZSByb290IGVudmlyb25tZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL2Zha2Vyb290LmFsaW90aC5kZWJpYW4ub3JnIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IgorCitTUkNfVVJJID0gIlwKKyAgICAke0RFQklBTl9NSVJST1J9L21haW4vZi9mYWtlcm9vdC9mYWtlcm9vdF8ke1BWfS5vcmlnLnRhci5iejIgXAorIgorCitpbmhlcml0IGF1dG90b29scworCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBta2RpciAtcCAke1N9L2J1aWxkLWF1eAorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2Zha2Vyb290CisgICAgaW5zdGFsbCAtbSA2NDQgKi5oICR7RH0ke2luY2x1ZGVkaXJ9L2Zha2Vyb290Cit9CisKKyMgZmFrZXJvb3QgbmVlZHMgZ2V0b3B0IHdoaWNoIGlzIHByb3ZpZGVkIGJ5IHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UKK1JERVBFTkRTXyR7UE59ID0gInV0aWwtbGludXgiCisKKworU1JDX1VSSVttZDVzdW1dID0gIjcwNjE3MWQ4ZDUyMGIxY2ExNTc2YWM3M2YyY2ViNGYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBhMzU5ZWZhM2U5NDk2YzMzMjM0YjNlOWM4OTMwNmEwOWJiNGRhOWQzM2RlNDNjMjYxZjFkODQ0N2U2ZWJlYTIiCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzM1MTQzLworUE5CTEFDS0xJU1RbZmFrZXJvb3RdID89ICJCUk9LRU46IFFBIElzc3VlOiAtZGV2IHBhY2thZ2UgY29udGFpbnMgbm9uLXN5bWxpbmsgLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW0vcmVtb3ZlLWV4YW1wbGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW0vcmVtb3ZlLWV4YW1wbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1OTQ0YzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbS9yZW1vdmUtZXhhbXBsZXMucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorSW5kZXg6IGdsaWJtbS0yLjIyLjEvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbGlibW0tMi4yMi4xLm9yaWcvTWFrZWZpbGUuYW0KKysrKyBnbGlibW0tMi4yMi4xL01ha2VmaWxlLmFtCitAQCAtMjMsMTIgKzIzLDcgQEAgc3JjX3N1YmRpcnMgPSBnbGliL3NyYyBnaW8vc3JjCisgZWxzZQorIHNyY19zdWJkaXJzID0KKyBlbmRpZgorLWlmIEVOQUJMRV9ET0NVTUVOVEFUSU9OCistZG9jX3N1YmRpcnMgPSBkb2NzCistZWxzZQorLWRvY19zdWJkaXJzID0KKy1lbmRpZgorLVNVQkRJUlMgPSB0b29scyAkKHNyY19zdWJkaXJzKSBnbGliL2dsaWJtbSBnaW8vZ2lvbW0gdGVzdHMgZXhhbXBsZXMgJChkb2Nfc3ViZGlycykKKytTVUJESVJTID0gdG9vbHMgJChzcmNfc3ViZGlycykgZ2xpYi9nbGlibW0gZ2lvL2dpb21tIHRlc3RzCisgCisgZ2xpYm1tX2luY2x1ZGVkaXIgPSAkKGluY2x1ZGVkaXIpLyQoR0xJQk1NX01PRFVMRV9OQU1FKQorIGdsaWJtbV9pbmNsdWRlX0hFQURFUlMgPSBnbGliL2dsaWJtbS5oCitJbmRleDogZ2xpYm1tLTIuMjIuMS9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbGlibW0tMi4yMi4xLm9yaWcvY29uZmlndXJlLmFjCisrKysgZ2xpYm1tLTIuMjIuMS9jb25maWd1cmUuYWMKK0BAIC0xMzYsNyArMTM2LDYgQEAgQUNfQ09ORklHX0ZJTEVTKFtNYWtlZmlsZQorICAgICAgICAgICAgICAgICAgZ2lvL3NyYy9NYWtlZmlsZQorICAgICAgICAgICAgICAgICAgZ2lvL2dpb21tL01ha2VmaWxlCisgICAgICAgICAgICAgICAgICB0ZXN0cy9NYWtlZmlsZQorLSAgICAgICAgICAgICAgICAgZXhhbXBsZXMvTWFrZWZpbGUKKyAgICAgICAgICAgICAgICAgIGRvY3MvTWFrZWZpbGUKKyAgICAgICAgICAgICAgICAgIGRvY3MvcmVmZXJlbmNlL0RveHlmaWxlCisgICAgICAgICAgICAgICAgICBNU1ZDX05ldDIwMDUvZ2xpYm1tL2dsaWJtbS5yYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW1fMi40NC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW1fMi40NC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5Y2ZmZmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbV8yLjQ0LjAuYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJDKysgYmluZGluZ3MgZm9yIHRoZSBnbGliIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmd0a21tLm9yZy8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLnRvb2xzO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworREVQRU5EUyA9ICJtbS1jb21tb24gZ2xpYi0yLjAgbGlic2lnYysrLTIuMCIKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTSFJUX1ZFUiA9ICIke0BkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicsMSkuc3BsaXQoJy4nKVsxXX0iCisKK1NSQ19VUkkgPSAiIFwKKyAgICBmdHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzL2dsaWJtbS8ke1NIUlRfVkVSfS9nbGlibW0tJHtQVn0udGFyLnh6IFwKKyAgICBmaWxlOi8vcmVtb3ZlLWV4YW1wbGVzLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMmVlNDE1MGI0MzZkMDk3ZmUyNTA2ZDBiMGIxM2E3NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYjBhYzA0MjVkMjQ4OTU1MDdjMGUwZTgwODhhNDY0YzdhZTJkMjg5YzQ3YWZhMWMxMWY2MzI3OGZjNjcyZWE4IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2dsaWJtbS0yLjQKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2FjbG9jYWwKKworICAgIGluc3RhbGwgLW0gMDY0NCBnbGliL2dsaWJtbWNvbmZpZy5oICR7RH0ke2RhdGFkaXJ9L2dsaWJtbS0yLjQvCisgICAgaW5zdGFsbCAtbSAwNjQ0IHNjcmlwdHMvZ2xpYm1tX2NoZWNrX3BlcmwubTQgJHtEfSR7ZGF0YWRpcn0vYWNsb2NhbC8gfHwgdHJ1ZQorfQorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9L2dsaWJtbS0qICR7bGliZGlyfS9nbGlibW0tMi40L2luY2x1ZGUvICR7bGliZGlyfS9nbGlibW0tMi40L3Byb2MvICR7bGliZGlyfS9naW9tbS0yLjQvaW5jbHVkZS8iCisKK1JERVBFTkRTXyR7UE59LWRldiA9ICJwZXJsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJzaWdjKystMi4wL2xpYnNpZ2MrKy0yLjBfMi4yLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJzaWdjKystMi4wL2xpYnNpZ2MrKy0yLjBfMi4yLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0NjMwNWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnNpZ2MrKy0yLjAvbGlic2lnYysrLTIuMF8yLjIuMTEuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJBIGxpYnJhcnkgZm9yIGxvb3NlIGNvdXBsaW5nIG9mIEMrKyBtZXRob2QgY2FsbHMiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkiCisKK0RFUEVORFMgPSAibW0tY29tbW9uIgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzL2xpYnNpZ2MrKy8yLjIvbGlic2lnYysrLSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4MTVkMGM2ZDYxNjAxZjUxYmJjYWVlZjY4MjY2MDZiMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ODM0MDQ1Zjc0ZjU2NzUyYzJjNmIzY2RjMTk1YzMwYWI4MzE0YWQyMmRjOGU2MjZkNmY2N2Y5NDBmMWU0OTU3IgorCitTID0gIiR7V09SS0RJUn0vbGlic2lnYysrLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scworCitFWFRSQV9BVVRPUkVDT05GID0gIi0tZXhjbHVkZT1hdXRvaGVhZGVyIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9zaWdjKystKi8iCitGSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0vZGV2aGVscCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnhtbC9saWJ4bWwrKy9saWJ4bWwrK19wdGVzdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGlieG1sL2xpYnhtbCsrL2xpYnhtbCsrX3B0ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyOTYwZjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnhtbC9saWJ4bWwrKy9saWJ4bWwrK19wdGVzdC5wYXRjaApAQCAtMCwwICsxLDgyIEBACitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggZDRhYWRiMS4uMGUzNjc1NiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTI1Myw1ICsyNTMsOCBAQCBwb3N0LWh0bWw6IGRvY3MvaW5kZXguaHRtbAorIAlyc3luYyAkKHJzeW5jX2FyZ3MpIC1yIGRvY3MvaW5kZXguaHRtbCAkJFVTRVIsbGlieG1scGx1c3BsdXNAd2ViLnNvdXJjZWZvcmdlLm5ldDokKHdlYl9wYXRoX3Byb2plY3QpCisgCXJzeW5jICQocnN5bmNfYXJncykgLXIgZXhhbXBsZXMgJCRVU0VSLGxpYnhtbHBsdXNwbHVzQHdlYi5zb3VyY2Vmb3JnZS5uZXQ6JCh3ZWJfcGF0aF9wcm9qZWN0KQorIAorK2luc3RhbGwtcHRlc3Q6CisrCW1ha2UgLUMgZXhhbXBsZXMgaW5zdGFsbC1wdGVzdAorKworICMgT3B0aW9uYWw6IGF1dG8tZ2VuZXJhdGUgdGhlIENoYW5nZUxvZyBmaWxlIGZyb20gdGhlIGdpdCBsb2cgb24gbWFrZSBkaXN0CisgaW5jbHVkZSAkKHRvcF9zcmNkaXIpL21hY3Jvcy9kaXN0LWNoYW5nZWxvZy5hbQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL01ha2VmaWxlLmFtIGIvZXhhbXBsZXMvTWFrZWZpbGUuYW0KK2luZGV4IGQ5NTQxY2EuLmMyN2UwODggMTAwNjQ0CistLS0gYS9leGFtcGxlcy9NYWtlZmlsZS5hbQorKysrIGIvZXhhbXBsZXMvTWFrZWZpbGUuYW0KK0BAIC0xOSw2ICsxOSw4IEBAIEFNX0NQUEZMQUdTID0gLUkkKHRvcF9idWlsZGRpcikgLUkkKHRvcF9zcmNkaXIpIC1JLiAkKExJQlhNTFhYX0NGTEFHUykKKyBBTV9DWFhGTEFHUyA9ICQoTElCWE1MWFhfV1hYRkxBR1MpCisgTERBREQgPSAkKHRvcF9idWlsZGRpcikvbGlieG1sKysvbGlieG1sKystJChMSUJYTUxYWF9BUElfVkVSU0lPTikubGEgJChMSUJYTUxYWF9MSUJTKQorIAorK0xPR19EUklWRVIgPSAkKFNIRUxMKSAuLi9tYWNyb3MvdGVzdC1kcml2ZXIKKysKKyBjaGVja19QUk9HUkFNUyA9IFwKKyAgIGRvbV9idWlsZC9kb21fYnVpbGQgXAorICAgZG9tX3BhcnNlX2VudGl0aWVzL2RvbV9wYXJzZV9lbnRpdGllcyBcCitAQCAtMzYsNiArMzgsMjMgQEAgY2hlY2tfUFJPR1JBTVMgPSBcCisgICBzY2hlbWF2YWxpZGF0aW9uL3NjaGVtYXZhbGlkYXRpb24gXAorICAgdGV4dHJlYWRlci90ZXh0cmVhZGVyCisgCisrY2hlY2tfRE9UTElCUyA9IFwKKysgIGRvbV9idWlsZC8ubGlicy9kb21fYnVpbGQgXAorKyAgZG9tX3BhcnNlX2VudGl0aWVzLy5saWJzL2RvbV9wYXJzZV9lbnRpdGllcyBcCisrICBkb21fcGFyc2VyLy5saWJzL2RvbV9wYXJzZXIgXAorKyAgZG9tX3BhcnNlcl9yYXcvLmxpYnMvZG9tX3BhcnNlcl9yYXcgXAorKyAgZG9tX3JlYWRfd3JpdGUvLmxpYnMvZG9tX3JlYWRfd3JpdGUgXAorKyAgZG9tX3hpbmNsdWRlLy5saWJzL2RvbV94aW5jbHVkZSBcCisrICBkb21feHBhdGgvLmxpYnMvZG9tX3hwYXRoIFwKKysgIGR0ZHZhbGlkYXRpb24vLmxpYnMvZHRkdmFsaWRhdGlvbiBcCisrICBpbXBvcnRfbm9kZS8ubGlicy9pbXBvcnRfbm9kZSBcCisrICBzYXhfZXhjZXB0aW9uLy5saWJzL3NheF9leGNlcHRpb24gXAorKyAgc2F4X3BhcnNlci8ubGlicy9zYXhfcGFyc2VyIFwKKysgIHNheF9wYXJzZXJfYnVpbGRfZG9tLy5saWJzL3NheF9wYXJzZXJfYnVpbGRfZG9tIFwKKysgIHNheF9wYXJzZXJfZW50aXRpZXMvLmxpYnMvc2F4X3BhcnNlcl9lbnRpdGllcyBcCisrICBzY2hlbWF2YWxpZGF0aW9uLy5saWJzL3NjaGVtYXZhbGlkYXRpb24gXAorKyAgdGV4dHJlYWRlci8ubGlicy90ZXh0cmVhZGVyCisrCisgIyBTaGVsbCBzY3JpcHRzIHRoYXQgY2FsbCB0aGUgZXhhbXBsZSBwcm9ncmFtcy4KKyBjaGVja19TQ1JJUFRTID0gXAorICAgZG9tX2J1aWxkL21ha2VfY2hlY2suc2ggXAorQEAgLTE0NywxMCArMTY2LDEwIEBAIGRpc3Rfbm9pbnN0X0RBVEEgPSBcCisgIyBmaWxlIGFyZSBsb2NhdGVkIGluIGRpZmZlcmVudCBkaXJlY3Rvcmllcy4KKyBkb21fcmVhZF93cml0ZS9tYWtlX2NoZWNrLnNoOiBNYWtlZmlsZQorIAllY2hvICcjIEdlbmVyYXRlZCBhbmQgdXNlZCBieSAibWFrZSBjaGVjayInID4kQAorLQllY2hvICdkb21fcmVhZF93cml0ZS9kb21fcmVhZF93cml0ZSAiJChzcmNkaXIpL2RvbV9yZWFkX3dyaXRlL2V4YW1wbGUueG1sIiBkb21fcmVhZF93cml0ZS9leGFtcGxlX291dHB1dC54bWwgPi9kZXYvbnVsbCcgPj4kQAorKwllY2hvICdjZCBkb21fcmVhZF93cml0ZSAmJiAubGlicy9kb21fcmVhZF93cml0ZSAiZXhhbXBsZS54bWwiIGV4YW1wbGVfb3V0cHV0LnhtbCA+L2Rldi9udWxsJyA+PiRACisgCWNobW9kICt4ICRACisgCistc2NyaXB0X3RlbXBsYXRlID0gY2QgIiQoc3JjZGlyKS88IXByb2duYW1lIT4iICYmICIkKGFic19idWlsZGRpcikvPCFwcm9nbmFtZSE+LzwhcHJvZ25hbWUhPiIgPi9kZXYvbnVsbAorK3NjcmlwdF90ZW1wbGF0ZSA9IGNkICI8IXByb2duYW1lIT4iICYmICIubGlicy88IXByb2duYW1lIT4iID4vZGV2L251bGwKKyBzdGFuZGFyZF9zY3JpcHRzID0gJChmaWx0ZXItb3V0IGRvbV9yZWFkX3dyaXRlL21ha2VfY2hlY2suc2gsJChjaGVja19TQ1JJUFRTKSkKKyAKKyAjIEFsbCBvdGhlciBzY3JpcHQgZmlsZXMgYXJlIGdlbmVyYXRlZCBsaWtlIHNvOgorQEAgLTE2MiwzICsxODEsMTggQEAgJChzdGFuZGFyZF9zY3JpcHRzKTogTWFrZWZpbGUKKyBDTEVBTkZJTEVTID0gXAorICAgZG9tX3JlYWRfd3JpdGUvZXhhbXBsZV9vdXRwdXQueG1sIFwKKyAgICQoY2hlY2tfU0NSSVBUUykKKysKKytidWlsZHRlc3Q6IGFsbAorKwkkKE1BS0UpICQoQU1fTUFLRUZMQUdTKSAkKGNoZWNrX1BST0dSQU1TKSAkKGNoZWNrX1NDUklQVFMpCisrCSQoTUFLRSkgJChBTV9NQUtFRkxBR1MpIGJ1aWxkdGVzdC1URVNUUworKworK2luc3RhbGwtcHRlc3Q6CisrCSQoTUtESVJfUCkgJChERVNURElSKS9leGFtcGxlcworKwljcCAtLXBhcmVudHMgJChjaGVja19ET1RMSUJTKSAkKERFU1RESVIpL2V4YW1wbGVzCisrCWNwIC0tcGFyZW50cyAkKGNoZWNrX1NDUklQVFMpICQoREVTVERJUikvZXhhbXBsZXMKKysJY2QgJChzcmNkaXIpICYmIGNwIC0tcGFyZW50cyAkKGRpc3Rfbm9pbnN0X0RBVEEpICQoREVTVERJUikvZXhhbXBsZXMKKysJY3AgTWFrZWZpbGUgJChERVNURElSKS9leGFtcGxlcworKwkkKE1LRElSX1ApICQoREVTVERJUikvbWFjcm9zCisrCWNwICQoc3JjZGlyKS8uLi9tYWNyb3MvdGVzdC1kcml2ZXIgJChERVNURElSKS9tYWNyb3MKKysJc2VkIC1pIC1lICdzfF5NYWtlZmlsZTp8X01ha2VmaWxlOnwnICQoREVTVERJUikvZXhhbXBsZXMvTWFrZWZpbGUKKysKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGlieG1sL2xpYnhtbCsrL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGlieG1sL2xpYnhtbCsrL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzZmNjY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJ4bWwvbGlieG1sKysvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCitjZCBleGFtcGxlcworbWFrZSAtayBjaGVjay1URVNUUwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJ4bWwvbGlieG1sKytfMi4zOC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJ4bWwvbGlieG1sKytfMi4zOC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwMzEzZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnhtbC9saWJ4bWwrK18yLjM4LjEuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJDKysgd3JhcHBlciBmb3IgbGlieG1sIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJDKysgd3JhcHBlciBmb3IgbGlieG1sIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0IgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sJTJCJTJCIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0ICIKKworU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJyxUcnVlKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnLFRydWUpLnNwbGl0KCcuJylbMV19IgorU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtCUE59LyR7U0hSVF9WRVJ9LyR7QlB9LnRhci54eiBcCisgICAgZmlsZTovL2xpYnhtbCsrX3B0ZXN0LnBhdGNoIFwKKyAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2YjE2YWFjNTc1NzI1YTliYzBlOWQ5NjQ4OWU5MjUxZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ODI1MjkxODliMDNkYjZjNjk5MjViM2Y1NzlhYjE5NDFmZWI0ZjAyYjVmZTI2MTI1MDRlZTdlNDk4YTRhMDVmIgorCitERVBFTkRTID0gImxpYnhtbDIgZ2xpYm1tIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHRlc3QKKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKyAgb2VfcnVubWFrZSAtQyBleGFtcGxlcyBidWlsZHRlc3QKK30KKworRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L2RldmhlbHAiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9saWJ4bWwrKy0yLjYvaW5jbHVkZS9saWJ4bWwrK2NvbmZpZy5oIgorCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAibWFrZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtLWNvbW1vbi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtLWNvbW1vbi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MThjYzFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9sbHZtL2xsdm0tY29tbW9uLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiSGVscGVyIHNjcmlwdCBmb3IgT0UncyBsbHZtIHN1cHBvcnQiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIFwKKyIKKworU1JDX1VSSSA9ICJmaWxlOi8vbGx2bS1jb25maWciCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCitTWVNST09UX1BSRVBST0NFU1NfRlVOQ1NfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgbGx2bV9jb21tb25fc3lzcm9vdF9wcmVwcm9jZXNzIgorCitsbHZtX2NvbW1vbl9zeXNyb290X3ByZXByb2Nlc3MoKSB7CisgICAgaW5zdGFsbCAtZCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2xsdm0tY29uZmlnICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vCit9CisKK2RvX2luc3RhbGxfY2xhc3MtbmF0aXZlKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2xsdm0tY29uZmlnICR7RH0ke2JpbmRpcn0KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xsdm0vbGx2bS1jb21tb24vbGx2bS1jb25maWcgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xsdm0vbGx2bS1jb21tb24vbGx2bS1jb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlhNDE2ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtLWNvbW1vbi9sbHZtLWNvbmZpZwpAQCAtMCwwICsxLDEwIEBACisjIS9iaW4vc2gKKyMgV3JhcHBlciBzY3JpcHQgZm9yIHJlYWwgbGx2bS1jb25maWcuIFNpbXBseSBjYWxscworCitpZiBbICRXQU5UX0xMVk1fUkVMRUFTRSBdOyB0aGVuCisJZXhlYyBgZGlybmFtZSAkMGAvJHtUQVJHRVRfUFJFRklYfWxsdm0tY29uZmlnJFdBTlRfTExWTV9SRUxFQVNFICR7QH0KK2Vsc2UKKyAgZWNobyAiVGhlIHZhcmlhYmxlIFdBTlRfTExWTV9SRUxFQVNFIGlzIG5vdCBkZWZpbmVkIGFuZCBleHBvcnRlZCIKKwllY2hvICJieSB5b3VyIGJ1aWxkIHJlY2lwZS4gR28gZmlndXJlLiIKKyAgZXhpdCAxCitmaQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9sbHZtL2xsdm0uaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9sbHZtL2xsdm0uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhOTcxZjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xsdm0vbGx2bS5pbmMKQEAgLTAsMCArMSwxNjIgQEAKKyMgTExWTSBkb2VzIG5vdCBwcm92aWRlIEFCSSBzdGFiaWxpdHkgYmV0d2VlbiBkaWZmZXJlbnQgdmVyc2lvbnMuIEZvciB0aGlzCisjIHJlYXNvbiBPRSBtYWtlcyBpdCBwb3NzaWJsZSB0byBidWlsZCBhbmQgaW5zdGFsbCBkaWZmZXJlbnQgbGx2bSB2ZXJzaW9ucworIyBhdCB0aGUgc2FtZSB0aW1lLgorIworIyBUaGlzIGlzIHRydWUgZm9yIHRoZSBub3JtYWwgcmVjaXBlcyBhcyB3ZWxsIGFzIHRoZSBuYXRpdmUgb25lcy4KKyMKKyMgQWxsIHJlZ3VsYXIgaW5zdGFsbGF0aW9uIGRpcmVjdG9yaWVzIGFyZSBwcmVmaXhlZCB3aXRoICdsbHZtJHtMTFZNX1JFTEVBU0V9JworIyBlLmcuICIke1NUQUdJTkdfQklORElSfS9sbHZtMi41IiBvciAiJHtTVEFHSU5HX0lOQ0RJUn0vbGx2bTIuNSIKKyMKKyMgRm9yIHlvdXIgcHJvZ3JhbSBvciBsaWJyYXJ5IHRoYXQgbWFrZXMgdXNlIG9mIGxsdm0geW91IGRvIHNob3VsZCBub3QgbmVlZCB0bworIyBtb2RpZnkgYW55dGhpbmcgYXMgbG9uZyBhcyBpdCB1c2VzIHRoZSByZXN1bHRzIG9mIHZhcmlvdXMgbGx2bS1jb25maWcKKyMgaW52b2NhdGlvbnMuIElmIHlvdSBuZWVkIGN1c3RvbWl6YXRpb25zIHNvbWV0aGluZyBpcyB3cm9uZyBhbmQgaXQgbmVlZHMgdG8gYmUKKyMgZml4ZWQgKHJlcG9ydCBidWcpLgorIworIyBIb3dldmVyIHRoZSAqcmVjaXBlKiBmb3IgeW91ciBwcm9ncmFtL2xpYnJhcnkgKm11c3QqIGRlY2xhcmUKKyMgZXhwb3J0IFdBTlRfTExWTV9SRUxFQVNFID0gIjx2YWxpZCB2ZXJzaW9uIG51bWJlcj4iCisjIFRoZSB2ZXJzaW9uIG51bWJlciBpcyBwaWNrZWQgdXAgYnkgYSBnZW5lcmljIHdyYXBwZXIgc2NyaXB0IHdoaWNoIGp1c3QgY2FsbHMKKyMgdGhlIHZhcmlhbnQgb2YgdGhlIHNwZWNpZmllZCB2ZXJzaW9uLgorCitERVNDUklQVElPTiA9ICJUaGUgTG93IExldmVsIFZpcnR1YWwgTWFjaGluZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9sbHZtLm9yZyIKKworIyAzLWNsYXVzZSBCU0QtbGlrZQorIyBVbml2ZXJzaXR5IG9mIElsbGlub2lzL05DU0EgT3BlbiBTb3VyY2UgTGljZW5zZQorTElDRU5TRSA9ICJOQ1NBIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5UWFQ7bWQ1PWQwYTNlZjBkM2UwZThmNWNmNTllNWZmYzI3M2FiMWY4IgorCitERVBFTkRTID0gImxpYmZmaSBsaWJ4bWwyLW5hdGl2ZSBsbHZtLWNvbW1vbiIKKworaW5oZXJpdCBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZSBhdXRvdG9vbHMKKworTExWTV9SRUxFQVNFID0gIiR7UFZ9IgorTExWTV9ESVIgPSAibGx2bSR7TExWTV9SRUxFQVNFfSIKKworU1JDX1VSSSA9ICJodHRwOi8vbGx2bS5vcmcvcmVsZWFzZXMvJHtQVn0vbGx2bS0ke1BWfS5zcmMudGFyLmd6IgorUyA9ICIke1dPUktESVJ9L2xsdm0tJHtQVn0uc3JjIgorCitMTFZNX0JVSUxEX0RJUiA9ICIke1dPUktESVJ9L2xsdm0tJHtQVn0uYnVpbGQiCitMTFZNX0lOU1RBTExfRElSID0gIiR7V09SS0RJUn0vbGx2bS1pbnN0YWxsIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1hc3NlcnRpb25zIFwKKyAgICAgICAgICAgICAgICAgLS1lbmFibGUtZGVidWctcnVudGltZSBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1leHBlbnNpdmUtY2hlY2tzIFwKKyAgICAgICAgICAgICAgICAgLS1lbmFibGUtYmluZGluZ3M9bm9uZSBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLWtlZXAtc3ltYm9scyBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLWxpYmZmaSBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLW9wdGltaXplZCBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLXNoYXJlZCBcCisgICAgICAgICAgICAgICAgIC0tZW5hYmxlLXRhcmdldHM9aG9zdC1vbmx5IgorRVhUUkFfT0VNQUtFICs9ICJSRVFVSVJFU19SVFRJPTEgVkVSQk9TRT0xIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIFJlbW92ZSBSUEFUSHMKKyAgICBzZWQgLWkgJ3M6JChSUEFUSCkgLVdsLCQoXChUb29sRGlyXHxMaWJEaXJcfEV4bXBsRGlyXCkpOjpnJyAke1N9L01ha2VmaWxlLnJ1bGVzCisKKyAgICAjIERyb3AgInN2biIgc3VmZml4IGZyb20gdmVyc2lvbiBzdHJpbmcKKyAgICBzZWQgLWkgJ3MvJHtQVn1zdm4vJHtQVn0vZycgJHtTfS9jb25maWd1cmUKKworICAgICMgRml4IHBhdGhzIGluIGxsdm0tY29uZmlnCisgICAgc2VkIC1pICJzfHN5czo6cGF0aDo6cGFyZW50X3BhdGgoQ3VycmVudFBhdGgpKVwuc3RyKCl8c3lzOjpwYXRoOjpwYXJlbnRfcGF0aChzeXM6OnBhdGg6OnBhcmVudF9wYXRoKEN1cnJlbnRQYXRoKSkpLnN0cigpfGciICR7U30vdG9vbHMvbGx2bS1jb25maWcvbGx2bS1jb25maWcuY3BwCisgICAgc2VkIC1yaSAicyMvKGJpbnxpbmNsdWRlfGxpYikoLz9cIikjL1wxLyR7TExWTV9ESVJ9XDIjZyIgJHtTfS90b29scy9sbHZtLWNvbmZpZy9sbHZtLWNvbmZpZy5jcHAKKworICAgICMgRml4IHRoZSBoYXJkY29kZWQgbGliZGlyIGluIGxsdm0tY29uZmlnCisgICAgc2VkIC1pICdzOi9saWJcPjovJHtiYXNlbGlifTpnJyAke1N9L3Rvb2xzL2xsdm0tY29uZmlnL2xsdm0tY29uZmlnLmNwcAorCisgICAgIyBGYWlscyB0byBidWlsZCB1bmxlc3MgdXNpbmcgc2VwYXJhdGUgZGlyZWN0b3J5IGZyb20gc291cmNlCisgICAgbWtkaXIgLXAgJHtMTFZNX0JVSUxEX0RJUn0KKyAgICBjZCAke0xMVk1fQlVJTERfRElSfQorfQorCitkb19jb21waWxlKCkgeworICAgIGNkICR7TExWTV9CVUlMRF9ESVJ9CisKKyAgICAjIEZpeCBsaWJkaXIgZm9yIG11bHRpbGliCisgICAgc2VkIC1pICdzOihQUk9KX3ByZWZpeCkvbGliOihQUk9KX3ByZWZpeCkvJHtiYXNlbGlifTpnJyBNYWtlZmlsZS5jb25maWcKKworICAgIG9lX3J1bm1ha2UgXAorICAgICAgICBBUj0iJHtCVUlMRF9BUn0iIFwKKyAgICAgICAgQ0M9IiR7QlVJTERfQ0N9IiBcCisgICAgICAgIENGTEFHUz0iJHtCVUlMRF9DRkxBR1N9IiBcCisgICAgICAgIENYWD0iJHtCVUlMRF9DWFh9IiBcCisgICAgICAgIENYWEZMQUdTPSIke0JVSUxEX0NYWEZMQUdTfSIgXAorICAgICAgICBDUFA9IiR7QlVJTERfQ1BQfSIgXAorICAgICAgICBDUFBGTEFHUz0iJHtCVUlMRF9DUFBGTEFHU30iIFwKKyAgICAgICAgTk09IiR7QlVJTERfTk19IiBcCisgICAgICAgIFJBTkxJQj0iJHtCVUlMRF9SQU5MSUJ9IiBcCisgICAgICAgIFBBVEg9IiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfTokUEFUSCIgXAorICAgICAgICBjcm9zcy1jb21waWxlLWJ1aWxkLXRvb2xzCisgICAgb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGNkICR7TExWTV9CVUlMRF9ESVJ9CisgICAgb2VfcnVubWFrZSBERVNURElSPSR7TExWTV9JTlNUQUxMX0RJUn0gaW5zdGFsbAorCisgICAgbXYgJHtMTFZNX0lOU1RBTExfRElSfSR7YmluZGlyfS8ke0hPU1RfU1lTfS1sbHZtLWNvbmZpZy1ob3N0ICR7TExWTV9JTlNUQUxMX0RJUn0vbGx2bS1jb25maWctaG9zdAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9LyR7TExWTV9ESVJ9CisgICAgbXYgJHtMTFZNX0lOU1RBTExfRElSfSR7YmluZGlyfS8qICR7RH0ke2JpbmRpcn0vJHtMTFZNX0RJUn0vCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9LyR7TExWTV9ESVJ9CisgICAgbXYgJHtMTFZNX0lOU1RBTExfRElSfSR7aW5jbHVkZWRpcn0vKiAke0R9JHtpbmNsdWRlZGlyfS8ke0xMVk1fRElSfS8KKworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS8ke0xMVk1fRElSfQorICAgIG12ICR7TExWTV9JTlNUQUxMX0RJUn0ke2xpYmRpcn0vKiAke0R9JHtsaWJkaXJ9LyR7TExWTV9ESVJ9LworICAgIGxuIC1zICR7TExWTV9ESVJ9L2xpYkxMVk0tJHtQVn0uc28gJHtEfSR7bGliZGlyfS9saWJMTFZNLSR7UFZ9LnNvCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RvY2Rpcn0vJHtMTFZNX0RJUn0KKyAgICBtdiAke0xMVk1fSU5TVEFMTF9ESVJ9JHtwcmVmaXh9L2RvY3MvbGx2bS8qICR7RH0ke2RvY2Rpcn0vJHtMTFZNX0RJUn0KK30KKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJsbHZtX3N5c3Jvb3RfcHJlcHJvY2VzcyIKKworbGx2bV9zeXNyb290X3ByZXByb2Nlc3MoKSB7CisgICAgaW5zdGFsbCAtZCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9CisgICAgbXYgJHtMTFZNX0lOU1RBTExfRElSfS9sbHZtLWNvbmZpZy1ob3N0ICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vbGx2bS1jb25maWcke1BWfQorfQorCitQQUNLQUdFUyArPSAiJHtQTn0tYnVncG9pbnRwYXNzZXMgJHtQTn0tbGx2bWhlbGxvIgorQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKK0FMTE9XX0VNUFRZXyR7UE59LXN0YXRpY2RldiA9ICIxIgorRklMRVNfJHtQTn0gPSAiIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ID0gIiIKK0ZJTEVTXyR7UE59LWRiZyA9ICIgXAorICAgICR7YmluZGlyfS8ke0xMVk1fRElSfS8uZGVidWcgXAorICAgICR7bGliZGlyfS8ke0xMVk1fRElSfS8uZGVidWcvQnVncG9pbnRQYXNzZXMuc28gXAorICAgICR7bGliZGlyfS8ke0xMVk1fRElSfS8uZGVidWcvTExWTUhlbGxvLnNvIFwKKyAgICAvdXNyL3NyYy9kZWJ1ZyBcCisiCisKK0ZJTEVTXyR7UE59LWRldiA9ICIgXAorICAgICR7YmluZGlyfS8ke0xMVk1fRElSfSBcCisgICAgJHtpbmNsdWRlZGlyfS8ke0xMVk1fRElSfSBcCisiCitSUkVDT01NRU5EU18ke1BOfS1kZXYgKz0gIiR7UE59LWJ1Z3BvaW50cGFzc2VzICR7UE59LWxsdm1oZWxsbyIKKworRklMRVNfJHtQTn0tYnVncG9pbnRwYXNzZXMgPSAiXAorICAgICR7bGliZGlyfS8ke0xMVk1fRElSfS9CdWdwb2ludFBhc3Nlcy5zbyBcCisiCitGSUxFU18ke1BOfS1sbHZtaGVsbG8gPSAiXAorICAgICR7bGliZGlyfS8ke0xMVk1fRElSfS9MTFZNSGVsbG8uc28gXAorIgorCitQQUNLQUdFU19EWU5BTUlDID0gIl5saWJsbHZtJHtMTFZNX1JFTEVBU0V9LS4qJCIKK05PQVVUT1BBQ0tBR0VERUJVRyA9ICIxIgorCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmxsdm0ke0xMVk1fUkVMRUFTRX0tbGx2bS0ke0xMVk1fUkVMRUFTRX0gKz0gImRldi1zbyIKKworcHl0aG9uIGxsdm1fcG9wdWxhdGVfcGFja2FnZXMoKSB7CisgICAgbGliZGlyID0gYmIuZGF0YS5leHBhbmQoJyR7bGliZGlyfScsIGQpCisgICAgbGlibGx2bV9saWJkaXIgPSBiYi5kYXRhLmV4cGFuZCgnJHtsaWJkaXJ9LyR7TExWTV9ESVJ9JywgZCkKKyAgICBzcGxpdF9kYmdfcGFja2FnZXMgPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJsbHZtX2xpYmRpcisnLy5kZWJ1ZycsICdebGliKC4qKVwuc28kJywgJ2xpYmxsdm0ke0xMVk1fUkVMRUFTRX0tJXMtZGJnJywgJ1NwbGl0IGRlYnVnIHBhY2thZ2UgZm9yICVzJywgYWxsb3dfZGlycz1UcnVlKQorICAgIHNwbGl0X3BhY2thZ2VzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnXmxpYiguKilcLnNvJCcsICdsaWJsbHZtJHtMTFZNX1JFTEVBU0V9LSVzJywgJ1NwbGl0IHBhY2thZ2UgZm9yICVzJywgYWxsb3dfZGlycz1UcnVlLCBhbGxvd19saW5rcz1UcnVlLCByZWN1cnNpdmU9VHJ1ZSkKKyAgICBzcGxpdF9zdGF0aWNkZXZfcGFja2FnZXMgPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJsbHZtX2xpYmRpciwgJ15saWIoLiopXC5hJCcsICdsaWJsbHZtJHtMTFZNX1JFTEVBU0V9LSVzLXN0YXRpY2RldicsICdTcGxpdCBzdGF0aWNkZXYgcGFja2FnZSBmb3IgJXMnLCBhbGxvd19kaXJzPVRydWUpCisgICAgaWYgc3BsaXRfcGFja2FnZXM6CisgICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkKKyAgICAgICAgZC5hcHBlbmRWYXIoJ1JERVBFTkRTXycgKyBwbiwgJyAnKycgJy5qb2luKHNwbGl0X3BhY2thZ2VzKSkKKyAgICAgICAgZC5hcHBlbmRWYXIoJ1JERVBFTkRTXycgKyBwbiArICctZGJnJywgJyAnKycgJy5qb2luKHNwbGl0X2RiZ19wYWNrYWdlcykpCisgICAgICAgIGQuYXBwZW5kVmFyKCdSREVQRU5EU18nICsgcG4gKyAnLXN0YXRpY2RldicsICcgJysnICcuam9pbihzcGxpdF9zdGF0aWNkZXZfcGFja2FnZXMpKQorfQorCitQQUNLQUdFU1BMSVRGVU5DU19wcmVwZW5kID0gImxsdm1fcG9wdWxhdGVfcGFja2FnZXMgIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9sbHZtL2xsdm0zLjMvUmVtb3ZlLWVycm9yLW91dHB1dC1mcm9tLWNvbmZpZ3VyZS1pZi1DRkxBR1MtaXMtc2V0LS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtMy4zL1JlbW92ZS1lcnJvci1vdXRwdXQtZnJvbS1jb25maWd1cmUtaWYtQ0ZMQUdTLWlzLXNldC0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQzODdlOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtMy4zL1JlbW92ZS1lcnJvci1vdXRwdXQtZnJvbS1jb25maWd1cmUtaWYtQ0ZMQUdTLWlzLXNldC0ucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSBkNGJmN2EzODUzZGFiMTJjMTFjYmZjODA4OGZkNzZmNTQ4YThkMDE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGF0cmlrIEhhZ2dsdW5kIDxwYXRyaWsuaC5oYWdnbHVuZEBlcmljc3Nvbi5jb20+CitEYXRlOiBUdWUsIDI0IFNlcCAyMDEzIDExOjM4OjQ1ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlbW92ZSBlcnJvciBvdXRwdXQgZnJvbSBjb25maWd1cmUgaWYgQ0ZMQUdTIGlzIHNldCAocjE3NDMxMykuCisKK1RoaXMgZml4ZXMgUFIxNjcyNC4KKworZ2l0LXN2bi1pZDogaHR0cHM6Ly9sbHZtLm9yZy9zdm4vbGx2bS1wcm9qZWN0L2xsdm0vdHJ1bmtAMTkxMjg5IDkxMTc3MzA4LTBkMzQtMDQxMC1iNWU2LTk2MjMxYjNiODBkOAorCitodHRwczovL2dpdGh1Yi5jb20vbGx2bS1taXJyb3IvbGx2bS9jb21taXQvZDRiZjdhMzg1M2RhYjEyYzExY2JmYzgwODhmZDc2ZjU0OGE4ZDAxNworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CistLS0KKyBhdXRvY29uZi9jb25maWd1cmUuYWMgfCA0ICsrLS0KKyBjb25maWd1cmUgICAgICAgICAgICAgfCA0ICsrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2F1dG9jb25mL2NvbmZpZ3VyZS5hYyBiL2F1dG9jb25mL2NvbmZpZ3VyZS5hYworaW5kZXggZjljMzY1Yy4uNDVmMmZlNCAxMDA2NDQKKy0tLSBhL2F1dG9jb25mL2NvbmZpZ3VyZS5hYworKysrIGIvYXV0b2NvbmYvY29uZmlndXJlLmFjCitAQCAtNjEsOCArNjEsOCBAQCBmaQorIAorIGRubCBEZWZhdWx0IHRvIGVtcHR5IChpLmUuIGFzc2lnbmluZyB0aGUgbnVsbCBzdHJpbmcgdG8pIENGTEFHUyBhbmQgQ1hYRkxBR1MsCisgZG5sIGluc3RlYWQgb2YgdGhlIGF1dG9jb25mIGRlZmF1bHQgKGZvciBleGFtcGxlLCAnLWcgLU8yJyBmb3IgQ0M9Z2NjKS4KKy0ke0NGTEFHUz19CistJHtDWFhGTEFHUz19CisrOiAke0NGTEFHUz19CisrOiAke0NYWEZMQUdTPX0KKyAKKyBkbmwgV2UgbmVlZCB0byBjaGVjayBmb3IgdGhlIGNvbXBpbGVyIHVwIGhlcmUgdG8gYXZvaWQgYW55dGhpbmcgZWxzZQorIGRubCBzdGFydGluZyB3aXRoIGEgZGlmZmVyZW50IG9uZS4KK2RpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKK2luZGV4IGYzYTY1OTQuLjkwOTBjZGEgMTAwNzU1CistLS0gYS9jb25maWd1cmUKKysrKyBiL2NvbmZpZ3VyZQorQEAgLTE5OTIsOCArMTk5Miw4IEBAIGVjaG8gIiRhc19tZTogZXJyb3I6IEFscmVhZHkgY29uZmlndXJlZCBpbiAke3NyY2Rpcn0iID4mMjt9CisgICBmaQorIGZpCisgCistJHtDRkxBR1M9fQorLSR7Q1hYRkxBR1M9fQorKzogJHtDRkxBR1M9fQorKzogJHtDWFhGTEFHUz19CisgCisgYWNfZXh0PWMKKyBhY19jcHA9JyRDUFAgJENQUEZMQUdTJworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xsdm0vbGx2bTMuMy9hcm1fZmVudl91Y2xpYmMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xsdm0vbGx2bTMuMy9hcm1fZmVudl91Y2xpYmMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNhZTQ5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtMy4zL2FybV9mZW52X3VjbGliYy5wYXRjaApAQCAtMCwwICsxLDE0IEBACitJbmRleDogbGx2bS0yLjkvaW5jbHVkZS9sbHZtL1N1cHBvcnQvRkVudi5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGx2bS0yLjkub3JpZy9pbmNsdWRlL2xsdm0vU3VwcG9ydC9GRW52LmgJMjAxMC0xMS0yOSAyMDo0NDo1MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBsbHZtLTIuOS9pbmNsdWRlL2xsdm0vU3VwcG9ydC9GRW52LmgJMjAxMS0xMS0xOCAxODo0MjoyMi41ODAxNjEyOTcgKzAxMDAKK0BAIC0xNyw2ICsxNyw5IEBACisgCisgI2luY2x1ZGUgImxsdm0vQ29uZmlnL2NvbmZpZy5oIgorICNpbmNsdWRlIDxjZXJybm8+CisrCisrI3VuZGVmIEhBVkVfRkVOVl9ICisrCisgI2lmZGVmIEhBVkVfRkVOVl9ICisgI2luY2x1ZGUgPGZlbnYuaD4KKyAjZW5kaWYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtMy4zXzMuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbGx2bS9sbHZtMy4zXzMuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGEyMjIxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9sbHZtL2xsdm0zLjNfMy4zLmJiCkBAIC0wLDAgKzEsMjIgQEAKK3JlcXVpcmUgbGx2bS5pbmMKKworREVQRU5EUyArPSAiemxpYiIKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtemxpYiIKKworU1JDX1VSSSArPSAiZmlsZTovL1JlbW92ZS1lcnJvci1vdXRwdXQtZnJvbS1jb25maWd1cmUtaWYtQ0ZMQUdTLWlzLXNldC0ucGF0Y2giCisKK1NSQ19VUklfYXBwZW5kX2xpYmMtdWNsaWJjID0gIiBmaWxlOi8vYXJtX2ZlbnZfdWNsaWJjLnBhdGNoICIKKworU1JDX1VSSVttZDVzdW1dID0gIjQwNTY0ZTFkYzM5MGY5ODQ0ZjE3MTFjMDhiMDhlMzkxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY4NzY2YjFlNzBkMDVhMjVlMmY1MDJlOTk3YTNjYjM5MzcxODdhMzI5NjU5NWNmNmUwOTc3ZDVjZDY3Mjc1NzgiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3I2MDBdID0gIi0tZW5hYmxlLWV4cGVyaW1lbnRhbC10YXJnZXRzPVI2MDAsLCwiCisKKyMgRmFpbHMgdG8gYnVpbGQgd2l0aCB0aHVtYi0xIChxZW11YXJtKQorIyB8IHtzdGFuZGFyZCBpbnB1dH06IEFzc2VtYmxlciBtZXNzYWdlczoKKyMgfCB7c3RhbmRhcmQgaW5wdXR9OjIyOiBFcnJvcjogc2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgVGh1bWIgbW9kZSBgc3RtZGIgc3AhLHtyMCxyMSxyMixyMyxscn0nCisjIHwge3N0YW5kYXJkIGlucHV0fTozMTogRXJyb3I6IGxvIHJlZ2lzdGVyIHJlcXVpcmVkIC0tIGBsZG1pYSBzcCEse3IwLHIxLHIyLHIzLGxyfScKKyMgfCB7c3RhbmRhcmQgaW5wdXR9OjMyOiBFcnJvcjogbG8gcmVnaXN0ZXIgcmVxdWlyZWQgLS0gYGxkciBwYyxbc3BdLCM0JworIyB8IG1ha2VbM106ICoqKiBbL2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZ2xpYmMvd29yay9hcm12NXRlLW9lLWxpbnV4LWdudWVhYmkvbGx2bTMuMy8zLjMtcjAvbGx2bS0zLjMuYnVpbGQvbGliL1RhcmdldC9BUk0vUmVsZWFzZS9BUk1KSVRJbmZvLm9dIEVycm9yIDEKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9tZXRhL2Rpc3Ryby1mZWVkLWNvbmZpZ3MuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL21ldGEvZGlzdHJvLWZlZWQtY29uZmlncy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTVjYTM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9tZXRhL2Rpc3Ryby1mZWVkLWNvbmZpZ3MuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJDb25maWd1cmF0aW9uIGZpbGVzIGZvciBvbmxpbmUgcGFja2FnZSByZXBvc2l0b3JpZXMgYWthIGZlZWRzIgorUFIgPSAicjYiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIgorCitESVNUUk9fRkVFRF9QUkVGSVggPz0gInJlbW90ZSIKK0RJU1RST19GRUVEX1VSSSA/PSAiaHR0cDovL215LWRpc3RyaWJ1dGlvbi5leGFtcGxlL3JlbW90ZS1mZWVkLyIKK0RJU1RST19GRUVEX0FSQ0hTID89ICJhbGwgJHtQQUNLQUdFX0VYVFJBX0FSQ0hTfSAke01BQ0hJTkVfQVJDSH0iCisKK2RvX2NvbXBpbGUoKSB7CisgICAgbWtkaXIgLXAgJHtTfS8ke3N5c2NvbmZkaXJ9L29wa2cKKyAgICBmb3IgZmVlZCBpbiAke0RJU1RST19GRUVEX0FSQ0hTfTsgZG8KKyAgICAgICAgZWNobyAic3JjL2d6ICR7RElTVFJPX0ZFRURfUFJFRklYfS0ke2ZlZWR9ICR7RElTVFJPX0ZFRURfVVJJfS8ke2ZlZWR9IiA+ICR7U30vJHtzeXNjb25mZGlyfS9vcGtnLyR7ZmVlZH0tZmVlZC5jb25mCisgICAgZG9uZQorfQorZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9vcGtnCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vJHtzeXNjb25mZGlyfS9vcGtnLyogJHtEfSR7c3lzY29uZmRpcn0vb3BrZy8KK30KKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworI2RlZiBkaXN0cm9fZmVlZF9jb25maWdzKGQpOgorIyAgICBpbXBvcnQgYmIKKyMgICAgcGFyY2hzID0gZC5nZXRWYXIoICJQQUNLQUdFX0VYVFJBX0FSQ0hTIiwgMSApLnNwbGl0KCkKKyMgICAgbWFyY2ggPSBkLmdldFZhciggIk1BQ0hJTkVfQVJDSCIsIDEgKS5zcGxpdCgpCisjICAgIGFyY2hzID0gWyAiYWxsIiBdICsgcGFyY2hzICsgbWFyY2gKKyMgICAgY29uZnMgPSBbICggIiR7c3lzY29uZmRpcn0vb3BrZy8lcy1mZWVkLmNvbmYiICUgZmVlZCApIGZvciBmZWVkIGluIGFyY2hzIF0KKyMgICAgcmV0dXJuICIgIi5qb2luKCBjb25mcyApCisjCisjQ09ORkZJTEVTXyR7UE59ICs9ICcke0BkaXN0cm9fZmVlZF9jb25maWdzKGQpfScKKworQ09ORkZJTEVTXyR7UE59ICs9ICcke0AgIiAiLmpvaW4oIFsgKCAiJHtzeXNjb25mZGlyfS9vcGtnLyVzLWZlZWQuY29uZiIgJSBmZWVkICkgZm9yIGZlZWQgaW4gImFsbCAke1BBQ0tBR0VfRVhUUkFfQVJDSFN9ICR7TUFDSElORV9BUkNIfSIuc3BsaXQoKSBdICkgfScKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbW0tY29tbW9uL21tLWNvbW1vbl8wLjkuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbW0tY29tbW9uL21tLWNvbW1vbl8wLjkuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDMzNDNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9tbS1jb21tb24vbW0tY29tbW9uXzAuOS44LmJiCkBAIC0wLDAgKzEsMTIgQEAKK2luaGVyaXQgZ25vbWViYXNlCisKK0dOT01FX0NPTVBSRVNTX1RZUEU9Inh6IgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIwMGZkNWM2ODUwY2Q1ZmVjYzJlMDJiMDRkMGRkMTYzNyIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImM5YWI1ZmQzODcyZmJlMjQ1ZmJjMzUzNDdhY2Y0YTk1MDYzMTExZjgxZDU0YzQzZGYzYWY2NjJkYWQwYTAzZDUiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtYmFzaWMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWJhc2ljLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxZGQxZGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWJhc2ljLmJiCkBAIC0wLDAgKzEsNTYgQEAKKyMgVGhpcyByZWNpcGUgaXMgaW50ZW5kZWQgYXMgYSAnc2ltcGxlcicgcmVwbGFjZW1lbnQgZm9yIHBhY2thZ2Vncm91cC1iYXNlLgorIyBQbGVhc2UgY29tbXVuaWNhdGUgeW91ciB1c2UgY2FzZXMgYW5kIHN1Z2dlc3Rpb25zIHRvIHRoZSBtYWlsaW5nbGlzdChzKQorCitTVU1NQVJZID0gIkJhc2ljIHRhc2sgdG8gZ2V0IGEgZGV2aWNlIG9ubGluZSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAiCisKK1BSID0gInIxMyIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKK2luaGVyaXQgcGFja2FnZWdyb3VwCitpbmhlcml0IGJsdWV0b290aAorCisjIFBva2UgZXh0cmEgcmVjb21lbmRhdGlvbnMgaW50byB0aGUgbGlzdCB1c2luZyB5b3VyIG1hY2hpbmUuY29uZgorIworTUFDSElORV9FWFRSQV9SUkVDT01NRU5EUyA/PSAiIgorCisjCisjIFNlbGVjdCBiZXR3ZWVuIGRyb3BiZWFyIGFuZCBvcGVuc3NoCisjIFNldCBUQVNLX0JBU0lDX1NTSERBRU1PTiA9ICJvcGVuc3NoLXNzaGQgb3BlbnNzaC1zZnRwIG9wZW5zc2gtc2Z0cC1zZXJ2ZXIiIGluIHlvdXIgRElTVFJPIGNvbmZpZyB0byBnZXQgb3BlbnNzaChkKQorIworVEFTS19CQVNJQ19TU0hEQUVNT04gPz0gImRyb3BiZWFyIG9wZW5zc2gtc2Z0cCBvcGVuc3NoLXNmdHAtc2VydmVyIgorCisjCisjIFRoZSBzZWN0aW9uIGJlbG93IGlzIGRlc2lnbmVkIHRvIG1hdGNoIHdpdGggcGFja2FnZWdyb3VwLWJvb3QsIGJ1dCBkb2Vzbid0IGRlcGVuZCBvbiBpdCB0byBhbGxvdyBmb3IgbW9yZSBmcmVlZG9tIAorIyB3aGVuIHdyaXRpbmcgaW1hZ2UgcmVjaXBlcy4KKyMgSXQgYWxzbyBhdm9pZHMgdGhlIGNob2ljZSBiZXR3ZWVuIGNvbm5tYW4vbmV0d29ya21hbmFnZXIvaWZ1cGRvd24gc2luY2UgdGhhdCBpcyBhbiBpbWFnZSBmZWF0dXJlLCBub3QgYQorIyBkaXN0cm8gZmVhdHVyZS4KKyMKKyMgVXRpbC1saW51eCAodSltb3VudCBpcyBpbmNsdWRlZCBiZWNhdXNlIHRoZSBidXN5Ym94IG9uZSBjYW4ndCBoYW5kbGUgL2V0Yy9tdGFiIGJlaW5nIHN5bWxpbmtlZCB0byAvcHJvYy9tb3VudHMKKyMKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICAke1RBU0tfQkFTSUNfU1NIREFFTU9OfSBcCisgICAgYXZhaGktZGFlbW9uIGF2YWhpLXV0aWxzIFwKKyIKKworIworIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BsaXQgaW4gMzoKKyMgICAxKSBNYWNoaW5lIGZlYXR1cmVzOiBrZXJuZWwgbW9kdWxlcyBhbmQgdXNlcnNwYWNlIGhlbHBlcnMgZm9yIHRob3NlCisjICAgMikgRGlzdHJvIGZlYXR1cmVzOiBwYWNrYWdlcyBhc3NvY2lhdGVkIHdpdGggdGhvc2UKKyMgICAzKSBOaWNlIHRvIGhhdmU6IHBhY2thZ2VzIHRoYXQgYXJlIG5pY2UgdG8gaGF2ZSwgYnV0IGFyZW4ndCBzdHJpY3RseSBuZWVkZWQgIAorIworUlJFQ09NTUVORFNfJHtQTn0gPSAiXAorICAgICR7TUFDSElORV9FWFRSQV9SUkVDT01NRU5EU30gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJNQUNISU5FX0ZFQVRVUkVTIiwgInVzYmhvc3QiLCAidXNidXRpbHMiLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiTUFDSElORV9GRUFUVVJFUyIsICJhbHNhIiwgImFsc2EtdXRpbHMtYWxzYW1peGVyIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIk1BQ0hJTkVfRkVBVFVSRVMiLCAidXNiZ2FkZ2V0IiwgImtlcm5lbC1tb2R1bGUtZy1ldGhlciBrZXJuZWwtbW9kdWxlLWctc2VyaWFsIGtlcm5lbC1tb2R1bGUtZy1tYXNzLXN0b3JhZ2UiLCAiIiwgZCl9IFwKKyAgICBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJibHVldG9vdGgiLCAiJHtCTFVFWn0iLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgIndpZmkiLCAiaXcgd3BhLXN1cHBsaWNhbnQiLCAiIiwgZCl9IFwKKyAgICBcCisgICAgdHpkYXRhIFwKKyAgICBcCisgICAgY3B1ZnJlcXV0aWxzIFwKKyAgICBodG9wIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtYm9vdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtYm9vdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTQyYWU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1ib290LmJiCkBAIC0wLDAgKzEsMzQgQEAKK1NVTU1BUlkgPSAiQmFzaWMgdGFzayB0byBnZXQgYSBkZXZpY2UgYm9vdGluZyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAiCisKK1BSID0gInI1OCIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKKyMKKyMgdGhvc2Ugb25lcyBjYW4gYmUgc2V0IGluIG1hY2hpbmUgY29uZmlnIHRvIHN1cHBseSBwYWNrYWdlcyBuZWVkZWQgdG8gZ2V0IG1hY2hpbmUgYm9vdGluZworIworTUFDSElORV9FU1NFTlRJQUxfRVhUUkFfUkRFUEVORFMgPz0gIiIKK01BQ0hJTkVfRVNTRU5USUFMX0VYVFJBX1JSRUNPTU1FTkRTID89ICIiCisKKyMgTWFrZSBzdXJlIHdlIGJ1aWxkIHRoZSBrZXJuZWwKK0RFUEVORFMgPSAidmlydHVhbC9rZXJuZWwiCisKKyMKKyMgbWluaW1hbCBzZXQgb2YgcGFja2FnZXMgLSBuZWVkZWQgdG8gYm9vdAorIworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIGJhc2UtZmlsZXMgXAorICAgIGJhc2UtcGFzc3dkIFwKKyAgICBidXN5Ym94IFwKKyAgICBuZXRiYXNlIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiTUFDSElORV9GRUFUVVJFUyIsICJrZXlib2FyZCIsICJrZXltYXBzIiwgIiIsIGQpfSBcCisgICAgJHtNQUNISU5FX0VTU0VOVElBTF9FWFRSQV9SREVQRU5EU30gXAorIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJcCisgICAga2VybmVsIFwKKyAgICAke01BQ0hJTkVfRVNTRU5USUFMX0VYVFJBX1JSRUNPTU1FTkRTfSBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNsaS10b29scy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY2xpLXRvb2xzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhNGIwNjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNsaS10b29scy5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIkEgc2V0IG9mIHVzZWZ1bCBjb21tYW5kIGxpbmUgdG9vbHMiCitTVU1NQVJZXyR7UE59LWRlYnVnID0gIkEgc2V0IG9mIGNvbW1hbmQgbGluZSB0b29scyB1c2VmdWwgZm9yIGRlYnVnZ2luZyIKK1NFQ1RJT04gPSAiY29uc29sZSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCitQViA9ICIxLjAiCitQUiA9ICJyMjEiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwIGFsbGFyY2gKKworUEFDS0FHRVMgKz0gIiR7UE59LWRlYnVnIgorCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgZGJ1cy1kYWVtb24tcHJveHkgXAorICAgIGRvc2ZzdG9vbHMgXAorICAgIGh0b3AgXAorICAgIGlwdGFibGVzIFwKKyAgICBsc29mIFwKKyAgICBtYnVmZmVyIFwKKyAgICBtdGQtdXRpbHMgXAorICAgIG5hbm8gXAorICAgIG5mcy11dGlscy1jbGllbnQgXAorICAgIG5tb24gXAorICAgIHBvd2VydG9wIFwKKyAgICBzY3JlZW4gXAorICAgIHNvY2F0IFwKKyAgICBzeXNzdGF0IFwKKyIKKworUkRFUEVORFNfJHtQTn0tZGVidWcgPSAiXAorICAgIGV2dGVzdCBcCisgICAgZGV2bWVtMiBcCisgICAgaTJjLXRvb2xzIFwKKyAgICBnZGIgXAorICAgIHByb2NwcyBcCisgICAgcHhhcmVncyBcCisgICAgczNjMjR4eC1ncGlvIFwKKyAgICBzM2M2NHh4LWdwaW8gXAorICAgIHNlcmlhbC1mb3J3YXJkIFwKKyAgICBzdHJhY2UgXAorIgorCitSUkVDT01NRU5EU18ke1BOfS1kZWJ1ZyA9ICJcCisgICAgbHRyYWNlIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGx5bW91dGgvcGx5bW91dGhfMC45LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BseW1vdXRoL3BseW1vdXRoXzAuOS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljYTg1MDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BseW1vdXRoL3BseW1vdXRoXzAuOS4yLmJiCkBAIC0wLDAgKzEsNjEgQEAKK1NVTU1BUlkgPSAiUGx5bW91dGggaXMgYSBwcm9qZWN0IGZyb20gRmVkb3JhIHByb3ZpZGluZyBhIGZsaWNrZXItZnJlZSBncmFwaGljYWwgYm9vdCBwcm9jZXNzLiIKKworREVTQ1JJUFRJT04gPSAiUGx5bW91dGggaXMgYW4gYXBwbGljYXRpb24gdGhhdCBydW5zIHZlcnkgZWFybHkgaW4gdGhlIGJvb3QgcHJvY2VzcyBcCisgICAgICAgICAgICAgICAoZXZlbiBiZWZvcmUgdGhlIHJvb3QgZmlsZXN5c3RlbSBpcyBtb3VudGVkISkgdGhhdCBwcm92aWRlcyBhIFwKKwkgICAgICAgZ3JhcGhpY2FsIGJvb3QgYW5pbWF0aW9uIHdoaWxlIHRoZSBib290IHByb2Nlc3MgaGFwcGVucyBpbiB0aGUgYmFja2dyb3VuZC4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvUGx5bW91dGgiCitTRUNUSU9OID0gImJhc2UiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJsaWJjYXAgbGlicG5nIGNhaXJvIGRidXMgdWRldiIKK1BST1ZJREVTID0gInZpcnR1YWwvcHNwbGFzaCIKK1JQUk9WSURFU18ke1BOfSA9ICJ2aXJ0dWFsL3BzcGxhc2ggdmlydHVhbC9wc3BsYXNoLXN1cHBvcnQiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvcGx5bW91dGgvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZmY0MjA5OTRkZWI3ZWEyMDNkZjY3OGRmOTJlN2FiN2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmYwY2U4MjA0MmNmOWM3ZWFkZDI1MTdhMWY3NGM4YTg1ZmE4Njk5NzgxZDlmMjk0YTA2ZWFkZTI5ZmJlZDU3ZiIKKworRVhUUkFfT0VDT05GICs9ICIgLS1lbmFibGUtc2hhcmVkIC0tZGlzYWJsZS1zdGF0aWMgLS1kaXNhYmxlLWd0ayAtLWRpc2FibGUtZG9jdW1lbnRhdGlvblwKKwkJICAtLXdpdGgtbG9nbz0ke0xPR099IFwKKyAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICctLWVuYWJsZS1zeXN0ZW1kLWludGVncmF0aW9uIC0td2l0aC1zeXN0ZW0tcm9vdC1pbnN0YWxsJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHW2RybV0gPSAiLS1lbmFibGUtZHJtLC0tZGlzYWJsZS1kcm0sbGliZHJtIgorUEFDS0FHRUNPTkZJR1twYW5nb10gPSAiLS1lbmFibGUtcGFuZ28sLS1kaXNhYmxlLXBhbmdvLHBhbmdvIgorUEFDS0FHRUNPTkZJR1tndGtdID0gIi0tZW5hYmxlLWd0aywtLWRpc2FibGUtZ3RrLGd0aysiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJwYW5nbyIKKworTE9HTyA/Pz0gIiR7ZGF0YWRpcn0vcGx5bW91dGgvYml6Y29tLnBuZyIKKworUEFDS0FHRUNPTkZJR19hcHBlbmRfeDg2ID0gIiBkcm0iCitQQUNLQUdFQ09ORklHX2FwcGVuZF94ODYtNjQgPSAiIGRybSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQKKworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtbSA2NDQgJHtCfS9zeXN0ZW1kLXVuaXRzLyouc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCWluc3RhbGwgLW0gNjQ0ICR7Qn0vc3lzdGVtZC11bml0cy9zeXN0ZW1kLWFzay1wYXNzd29yZC1wbHltb3V0aC5wYXRoICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJIyBSZW1vdmUgL3Zhci9ydW4gZnJvbSBwYWNrYWdlIGFzIHBseW1vdXRoIHdpbGwgcG9wdWxhdGUgaXQgb24gc3RhcnR1cAorCXJtIC1mciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0taW5pdHJkICR7UE59LXNldC1kZWZhdWx0LXRoZW1lIgorCitGSUxFU18ke1BOfS1pbml0cmQgPSAiJHtsaWJleGVjZGlyfS9wbHltb3V0aC8qIgorRklMRVNfJHtQTn0tc2V0LWRlZmF1bHQtdGhlbWUgPSAiJHtzYmluZGlyfS9wbHltb3V0aC1zZXQtZGVmYXVsdC10aGVtZSIKKworRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3BseW1vdXRoL3JlbmRlcmVycy8uZGVidWciCisKKworUkRFUEVORFNfJHtQTn0taW5pdHJkID0gImJhc2ggZHJhY3V0IgorUkRFUEVORFNfJHtQTn0tc2V0LWRlZmF1bHQtdGhlbWUgPSAiYmFzaCIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInBseW1vdXRoLXN0YXJ0LnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3Byb3h5LWxpYmludGwvcHJveHktbGliaW50bC0yMDEwMDkwMi9jcmVhdGUtYXMtc2hhcmVkLWxpYi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcHJveHktbGliaW50bC9wcm94eS1saWJpbnRsLTIwMTAwOTAyL2NyZWF0ZS1hcy1zaGFyZWQtbGliLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwNmUzYjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3Byb3h5LWxpYmludGwvcHJveHktbGliaW50bC0yMDEwMDkwMi9jcmVhdGUtYXMtc2hhcmVkLWxpYi5wYXRjaApAQCAtMCwwICsxLDMxIEBACistLS0gYS9zcmMvcHJveHktbGliaW50bC9NYWtlZmlsZS5vcmcJMjAwOS0wOS0xMiAyMzoxOTowNC45ODk0MjE2MDcgLTA3MDAKKysrKyBhL3NyYy9wcm94eS1saWJpbnRsL01ha2VmaWxlCTIwMDktMDktMTIgMjM6MjE6MTQuMTAwNjQwMDAxIC0wNzAwCitAQCAtNCwyMCArNCwyMCBAQCBaSVBGSUxFID0gcHJveHktbGliaW50bC0kKFRJTUVTVEFNUCkuemlwCisgQ0MgPSBnY2MKKyBDRkxBR1MgPSAtV2FsbCAtSSAuLi8uLi9pbmNsdWRlCisgCistYWxsIDogLi4vLi4vbGliL2xpYmludGwuYSAuLi8uLi9saWIvaW50bC5saWIKKythbGwgOiAuLi8uLi9saWIvbGliaW50bC5zbyAuLi8uLi9saWIvaW50bC5saWIKKyAKKy0uLi8uLi9saWIvbGliaW50bC5hIDogbGliaW50bC5vCistCWFyIHJjICRAIGxpYmludGwubworKy4uLy4uL2xpYi9saWJpbnRsLnNvIDogbGliaW50bC5vCisrCSQoQ0MpIC1zaGFyZWQgLW8gJEAgbGliaW50bC5vCisgCistLi4vLi4vbGliL2ludGwubGliIDogLi4vLi4vbGliL2xpYmludGwuYQorLQljcCAuLi8uLi9saWIvbGliaW50bC5hICRACistCXN0cmlwIC0tc3RyaXAtdW5uZWVkZWQgJEAKKysuLi8uLi9saWIvaW50bC5saWIgOiAuLi8uLi9saWIvbGliaW50bC5zbworKwljcCAuLi8uLi9saWIvbGliaW50bC5zbyAkQAorKwkkKFNUUklQKSAtLXN0cmlwLXVubmVlZGVkICRACisgCisgbGliaW50bC5vIDogbGliaW50bC5jCisgCSQoQ0MpICQoQ0ZMQUdTKSAtYyBsaWJpbnRsLmMKKyAKKyBjbGVhbiA6CistCXJtIC1mICoubyAuLi8uLi9saWIvbGliaW50bC5hIC4uLy4uLyQoWklQRklMRSkKKysJcm0gLWYgKi5vIC4uLy4uL2xpYi9saWJpbnRsLnNvIC4uLy4uLyQoWklQRklMRSkKKyAKKyBkaXN0IDogY2xlYW4gYWxsCistCWNkIC4uLy4uOyB6aXAgJChaSVBGSUxFKSBpbmNsdWRlL2xpYmludGwuaCBsaWIve2xpYmludGwuYSxpbnRsLmxpYn0gc3JjL3Byb3h5LWxpYmludGwve1JFQURNRS50eHQsQ09QWUlORy5MSUIudHh0LE1ha2VmaWxlLGxpYmludGwuW2NoXX07IG1hbmlmZXN0aWZ5ICQoWklQRklMRSkKKysJY2QgLi4vLi47IHppcCAkKFpJUEZJTEUpIGluY2x1ZGUvbGliaW50bC5oIGxpYi97bGliaW50bC5zbyxpbnRsLmxpYn0gc3JjL3Byb3h5LWxpYmludGwve1JFQURNRS50eHQsQ09QWUlORy5MSUIudHh0LE1ha2VmaWxlLGxpYmludGwuW2NoXX07IG1hbmlmZXN0aWZ5ICQoWklQRklMRSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcHJveHktbGliaW50bC9wcm94eS1saWJpbnRsLTIwMTAwOTAyL3NvbmFtZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcHJveHktbGliaW50bC9wcm94eS1saWJpbnRsLTIwMTAwOTAyL3NvbmFtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGYyMzJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wcm94eS1saWJpbnRsL3Byb3h5LWxpYmludGwtMjAxMDA5MDIvc29uYW1lLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK0luZGV4OiBwcm94eS1saWJpbnRsLTIwMDgwNDE4LXI2L3NyYy9wcm94eS1saWJpbnRsL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcHJveHktbGliaW50bC0yMDA4MDQxOC1yNi5vcmlnL3NyYy9wcm94eS1saWJpbnRsL01ha2VmaWxlCTIwMTAtMDctMjUgMDg6NDA6MjIuODkzNjIwMDAxIC0wNzAwCisrKysgcHJveHktbGliaW50bC0yMDA4MDQxOC1yNi9zcmMvcHJveHktbGliaW50bC9NYWtlZmlsZQkyMDEwLTA3LTI1IDEwOjUxOjI5LjU3MzYyMDAwMCAtMDcwMAorQEAgLTYsMTYgKzYsMTMgQEAgQ0ZMQUdTID0gLVdhbGwgLUkgLi4vLi4vaW5jbHVkZQorIAorIGFsbCA6IC4uLy4uL2xpYi9saWJpbnRsLnNvIC4uLy4uL2xpYi9pbnRsLmxpYgorIAorLS4uLy4uL2xpYi9saWJpbnRsLnNvIDogbGliaW50bC5vCistCSQoQ0MpIC1zaGFyZWQgLW8gJEAgbGliaW50bC5vCisrLi4vLi4vbGliL2xpYmludGwuc28gOiBsaWJpbnRsLmMKKysJJChDQykgJChDRkxBR1MpIC1zaGFyZWQgLVdsLC1zb25hbWUgLVdsLGxpYmludGwuc28gLW8gJEAgJDwKKyAKKyAuLi8uLi9saWIvaW50bC5saWIgOiAuLi8uLi9saWIvbGliaW50bC5zbworIAljcCAuLi8uLi9saWIvbGliaW50bC5zbyAkQAorIAkkKFNUUklQKSAtLXN0cmlwLXVubmVlZGVkICRACisgCistbGliaW50bC5vIDogbGliaW50bC5jCistCSQoQ0MpICQoQ0ZMQUdTKSAtYyBsaWJpbnRsLmMKKy0KKyBjbGVhbiA6CisgCXJtIC1mICoubyAuLi8uLi9saWIvbGliaW50bC5zbyAuLi8uLi8kKFpJUEZJTEUpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3Byb3h5LWxpYmludGwvcHJveHktbGliaW50bC0yMDEwMDkwMi9zdHViLW9ubHkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3Byb3h5LWxpYmludGwvcHJveHktbGliaW50bC0yMDEwMDkwMi9zdHViLW9ubHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE4NmIxM2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3Byb3h5LWxpYmludGwvcHJveHktbGliaW50bC0yMDEwMDkwMi9zdHViLW9ubHkucGF0Y2gKQEAgLTAsMCArMSw3MiBAQAorSW5kZXg6IHByb3h5LWxpYmludGwvc3JjL3Byb3h5LWxpYmludGwvbGliaW50bC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcHJveHktbGliaW50bC5vcmlnL3NyYy9wcm94eS1saWJpbnRsL2xpYmludGwuYworKysrIHByb3h5LWxpYmludGwvc3JjL3Byb3h5LWxpYmludGwvbGliaW50bC5jCitAQCAtMTgsOSArMTgsMTIgQEAKKyAgKi8KKyAKKyAjaWZkZWYgX1dJTjMyCistI2luY2x1ZGUgPHdpbmRvd3MuaD4KKysjICBpbmNsdWRlIDx3aW5kb3dzLmg+CisgI2Vsc2UKKy0jaW5jbHVkZSA8ZGxmY24uaD4KKysjICBpbmNsdWRlIDxzdGRkZWYuaD4KKysjICBpZiAhU1RVQl9PTkxZCisrIyAgICBpbmNsdWRlIDxkbGZjbi5oPgorKyMgIGVuZGlmCisgdHlwZWRlZiB2b2lkKiBITU9EVUxFOworICNlbmRpZgorIAorQEAgLTY1LDExICs2OCwxMyBAQCBzdGF0aWMgY2hhciAqICgqcF9iaW5kX3RleHRkb21haW5fY29kZXNlCisgc3RhdGljIGludAorIHVzZV9pbnRsX2RsbCAoSE1PRFVMRSBkbGwpCisgeworLSNpZmRlZiBfV0lOMzIKKy0jZGVmaW5lIExPT0tVUChmbikgcF8jI2ZuID0gKHZvaWQgKikgR2V0UHJvY0FkZHJlc3MgKGRsbCwgI2ZuKTsgaWYgKHBfIyNmbiA9PSBOVUxMKSByZXR1cm4gMAorLSNlbHNlCistI2RlZmluZSBMT09LVVAoZm4pIHBfIyNmbiA9ICh2b2lkICopIGRsc3ltIChkbGwsICNmbik7IGlmIChwXyMjZm4gPT0gTlVMTCkgcmV0dXJuIDAKKy0jZW5kaWYKKysjaWYgIVNUVUJfT05MWQorKyMgIGlmZGVmIF9XSU4zMgorKyMgICAgZGVmaW5lIExPT0tVUChmbikgcF8jI2ZuID0gKHZvaWQgKikgR2V0UHJvY0FkZHJlc3MgKGRsbCwgI2ZuKTsgaWYgKHBfIyNmbiA9PSBOVUxMKSByZXR1cm4gMAorKyMgIGVsc2UKKysjICAgIGRlZmluZSBMT09LVVAoZm4pIHBfIyNmbiA9ICh2b2lkICopIGRsc3ltIChkbGwsICNmbik7IGlmIChwXyMjZm4gPT0gTlVMTCkgcmV0dXJuIDAKKysjICBlbmRpZiAgLyogX1dJTjMyICovCisrCisgCisgICBMT09LVVAgKGdldHRleHQpOworICAgTE9PS1VQIChkZ2V0dGV4dCk7CitAQCAtODIsNyArODcsNyBAQCB1c2VfaW50bF9kbGwgKEhNT0RVTEUgZGxsKQorICAgTE9PS1VQIChiaW5kX3RleHRkb21haW5fY29kZXNldCk7CisgICAKKyAjdW5kZWYgTE9PS1VQCistCisrI2VuZGlmICAvKiAhU1RVQl9PTkxZICovCisgICByZXR1cm4gMTsKKyB9CisgCitAQCAtMTcxLDEzICsxNzYsMTcgQEAgc2V0dXAgKHZvaWQpCisgCisgICBpZiAoIWJlZW5oZXJlKQorICAgICB7CistI2lmZGVmIF9XSU4zMgorLSAgICAgIEhNT0RVTEUgaW50bF9kbGwgPSBMb2FkTGlicmFyeSAoImludGwuZGxsIik7CistI2VsaWYgZGVmaW5lZChfX0FQUExFX18pICYmIGRlZmluZWQoX19NQUNIX18pCistICAgICAgSE1PRFVMRSBpbnRsX2RsbCA9IGRsb3BlbiAoImxpYmludGwuZHlsaWIiLCBSVExEX0xBWlkpOworLSNlbHNlCistICAgICAgSE1PRFVMRSBpbnRsX2RsbCA9IGRsb3BlbiAoImxpYmludGwuc28iLCBSVExEX0xBWlkpOworLSNlbmRpZgorKyNpZiAhU1RVQl9PTkxZCisrIyAgaWZkZWYgX1dJTjMyCisrICAgIEhNT0RVTEUgaW50bF9kbGwgPSBMb2FkTGlicmFyeSAoImludGwuZGxsIik7CisrIyAgZWxpZiBkZWZpbmVkKF9fQVBQTEVfXykgJiYgZGVmaW5lZChfX01BQ0hfXykKKysgICAgSE1PRFVMRSBpbnRsX2RsbCA9IGRsb3BlbiAoImxpYmludGwuZHlsaWIiLCBSVExEX0xBWlkpOworKyMgIGVsc2UKKysgICAgSE1PRFVMRSBpbnRsX2RsbCA9IGRsb3BlbiAoImxpYmludGwuc28iLCBSVExEX0xBWlkpOworKyMgIGVuZGlmCisrI2Vsc2UgIC8qICFTVFVCX09OTFkgKi8KKysgICAgSE1PRFVMRSBpbnRsX2RsbCA9IE5VTEw7CisrI2VuZGlmICAvKiBTVFVCX09OTFkgKi8KKyAKKyAgICAgICBpZiAoaW50bF9kbGwgIT0gTlVMTCAmJgorIAkgIHVzZV9pbnRsX2RsbCAoaW50bF9kbGwpKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wcm94eS1saWJpbnRsL3Byb3h5LWxpYmludGxfMjAxMDA5MDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3Byb3h5LWxpYmludGwvcHJveHktbGliaW50bF8yMDEwMDkwMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDZhOTFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wcm94eS1saWJpbnRsL3Byb3h5LWxpYmludGxfMjAxMDA5MDIuYmIKQEAgLTAsMCArMSwzNCBAQAorU1VNTUFSWSA9ICJQcm94eSBsaWJpbnRsIgorSE9NRVBBR0UgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL2JpbmFyaWVzL3dpbjMyL2RlcGVuZGVuY2llcy8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9wcm94eS1saWJpbnRsL0NPUFlJTkcuTElCLnR4dDttZDU9YmM0MDBiYzIxNDIyZjlhOTJlNzZlYzJjNTE2N2NhMmUiCisKK1BSID0gInIxIgorUFJPVklERVMgPSAidmlydHVhbC9saWJpbnRsIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL2JpbmFyaWVzL3dpbjMyL2RlcGVuZGVuY2llcy8ke1BOfS1kZXZfJHtQVn1fd2luMzIuemlwIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZWY0MDdjMmI5N2VlODI5MzgzYWFkZDg2N2M2MWQxZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyOTFhYzM1MGNjNWViNGEwMWIwZDY1MWNhOTlmYWU2NGNlZThhMWMwNmIyMDA1Mjc3ZmFiNWE0MzU2ZjlhZTkxIgorCitTID0gIiR7V09SS0RJUn0iCitQQUNLQUdFUyA9ICIke1BOfSAke1BOfS1kZXYiCitGSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfS9saWJpbnRsLmggJHtsaWJkaXJ9L2xpYmludGwuYSIKK0lOU0FORV9TS0lQXyR7UE59LWRldiA9ICJzdGF0aWNkZXYiCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorQ0ZMQUdTX2FwcGVuZCA9ICIgLWZQSUMgLVdhbGwgLUkgLi4vLi4vaW5jbHVkZSAke0BbJy1EU1RVQl9PTkxZJywgJyddW2QuZ2V0VmFyKCdVU0VfTkxTJywgMSkgIT0gJ25vJ119IgorVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCisKK2RvX2NvbXBpbGUoKSB7CisgICAgY2QgJHtXT1JLRElSfS9zcmMvcHJveHktbGliaW50bAorICAgIG9lX3J1bm1ha2UgLi4vLi4vbGliL2xpYmludGwuYQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke2luY2x1ZGVkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9LyR7bGliZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2luY2x1ZGUvbGliaW50bC5oICR7RH0vJHtpbmNsdWRlZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2xpYi9saWJpbnRsLmEgJHtEfS8ke2xpYmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvdG95Ym94L3RveWJveF8wLjYuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvdG95Ym94L3RveWJveF8wLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTAzMjAwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS90b3lib3gvdG95Ym94XzAuNi4wLmJiCkBAIC0wLDAgKzEsNjUgQEAKK1NVTU1BUlkgPSAiVG95Ym94IGNvbWJpbmVzIGNvbW1vbiB1dGlsaXRpZXMgdG9nZXRoZXIgaW50byBhIHNpbmdsZSBleGVjdXRhYmxlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGFuZGxleS5uZXQvdG95Ym94LyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxhbmRsZXkubmV0L3RveWJveC9kb3dubG9hZHMvJHtCUE59LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjdmNGE2Yzg5ZTU2YzQ4ZTMzNTBlNjExZjViMzZjMmNmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI2ZTI2OTRkMTlhYzA4ZjFjMzQxNmQ1YjJhMDJhMzFkNDQ1ZGIyZWQ5OGRlYzg5NzYxNDMwY2RmZjJjOTcxMGQiCisKKworTElDRU5TRSA9ICJCU0QtMC1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mMGI4YjNkZDY0MzFiY2FhMjQ1ZGEwYTA4YmQwZDUxMSIKKworU0VDVElPTiA9ICJiYXNlIgorCitkb19jb25maWd1cmUoKSB7CisgICAgb2VfcnVubWFrZSBkZWZjb25maWcKKworICAgICMgRGlzYWJsZSBraWxsYWxsNSBhcyBpdCBpc24ndCBtYW5hZ2VkIGJ5IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKyAgICBzZWQgLWUgJ3MvQ09ORklHX0tJTExBTEw1PXkvIyBDT05GSUdfS0lMTEFMTDUgaXMgbm90IHNldC8nIC1pIC5jb25maWcKK30KKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIHRveWJveF91bnN0cmlwcGVkCisKKyAgICAjIENyZWF0ZSBhIGxpc3Qgb2YgbGlua3MgbmVlZGVkCisgICAgb2VfcnVubWFrZSBnZW5lcmF0ZWQvaW5zdGxpc3QKKyAgICAuL2dlbmVyYXRlZC9pbnN0bGlzdCBsb25nIHwgc2VkIC1lICdzI14jLyMnID4gdG95Ym94LmxpbmtzCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgIyBJbnN0YWxsIG1hbnVhbGx5IGluc3RlYWQgb2YgdXNpbmcgJ21ha2UgaW5zdGFsbCcKKyAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2VfYmluZGlyfQorICAgIGlmIGdyZXAgLXEgIkNPTkZJR19UT1lCT1hfU1VJRD15IiAke0J9Ly5jb25maWc7IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtbSA0NzU1ICR7Qn0vdG95Ym94X3Vuc3RyaXBwZWQgJHtEfSR7YmFzZV9iaW5kaXJ9L3RveWJveAorICAgIGVsc2UKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vdG95Ym94X3Vuc3RyaXBwZWQgJHtEfSR7YmFzZV9iaW5kaXJ9L3RveWJveAorICAgIGZpCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vdG95Ym94LmxpbmtzICR7RH0ke3N5c2NvbmZkaXJ9Cit9CisKK2luaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcworCisjIElmIHlvdSd2ZSBjaG9zZW4gdG8gaW5zdGFsbCB0b3lib3ggeW91IHByb2JhYmx5IHdhbnQgaXQgdG8gdGFrZSBwcmVjZWRlbmNlCisjIG92ZXIgYnVzeWJveCB3aGVyZSBwb3NzaWJsZSBidXQgbm90IG92ZXIgb3RoZXIgcGFja2FnZXMKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjYwIgorCitweXRob24gZG9fcGFja2FnZV9wcmVwZW5kICgpIHsKKyAgICAjIFJlYWQgbGlua3MgZnJvbSAvZXRjL3RveWJveC5saW5rcyBhbmQgY3JlYXRlIGFwcHJvcHJpYXRlCisgICAgIyB1cGRhdGUtYWx0ZXJuYXRpdmVzIHZhcmlhYmxlcworCisgICAgZHZhciA9IGQuZ2V0VmFyKCdEJywgVHJ1ZSkKKyAgICBwbiA9IGQuZ2V0VmFyKCdQTicsIFRydWUpCisgICAgdGFyZ2V0ID0gIi9iaW4vdG95Ym94IgorCisgICAgZiA9IG9wZW4oJyVzL2V0Yy90b3lib3gubGlua3MnICUgKGR2YXIpLCAncicpCisgICAgZm9yIGFsdF9saW5rX25hbWUgaW4gZjoKKyAgICAgICAgYWx0X2xpbmtfbmFtZSA9IGFsdF9saW5rX25hbWUuc3RyaXAoKQorICAgICAgICBhbHRfbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUoYWx0X2xpbmtfbmFtZSkKKyAgICAgICAgZC5hcHBlbmRWYXIoJ0FMVEVSTkFUSVZFXyVzJyAlIChwbiksICcgJyArIGFsdF9uYW1lKQorICAgICAgICBkLnNldFZhckZsYWcoJ0FMVEVSTkFUSVZFX0xJTktfTkFNRScsIGFsdF9uYW1lLCBhbHRfbGlua19uYW1lKQorICAgICAgICBkLnNldFZhckZsYWcoJ0FMVEVSTkFUSVZFX1RBUkdFVCcsIGFsdF9uYW1lLCB0YXJnZXQpCisgICAgZi5jbG9zZSgpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3VzbGVlcC9maWxlcy9HUEx2Mi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvdXNsZWVwL2ZpbGVzL0dQTHYyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlZTgxODEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3VzbGVlcC9maWxlcy9HUEx2Mi5wYXRjaApAQCAtMCwwICsxLDM0NyBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtsaWNlbnNpbmddCisKK2RpZmYgLS1naXQgYS9DT1BZSU5HIGIvQ09QWUlORworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmQ1MTE5MDUKKy0tLSAvZGV2L251bGwKKysrKyBiL0NPUFlJTkcKK0BAIC0wLDAgKzEsMzM5IEBACisrCQkgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKysJCSAgICAgICBWZXJzaW9uIDIsIEp1bmUgMTk5MQorKworKyBDb3B5cmlnaHQgKEMpIDE5ODksIDE5OTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorKyA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisrIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcworKyBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KKysKKysJCQkgICAgUHJlYW1ibGUKKysKKysgIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIKKytmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgaXQuICBCeSBjb250cmFzdCwgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworK0xpY2Vuc2UgaXMgaW50ZW5kZWQgdG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGZyZWUKKytzb2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZSBzb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRzIHVzZXJzLiAgVGhpcworK0dlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBtb3N0IG9mIHRoZSBGcmVlIFNvZnR3YXJlCisrRm91bmRhdGlvbidzIHNvZnR3YXJlIGFuZCB0byBhbnkgb3RoZXIgcHJvZ3JhbSB3aG9zZSBhdXRob3JzIGNvbW1pdCB0bworK3VzaW5nIGl0LiAgKFNvbWUgb3RoZXIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIHNvZnR3YXJlIGlzIGNvdmVyZWQgYnkKKyt0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGluc3RlYWQuKSAgWW91IGNhbiBhcHBseSBpdCB0bworK3lvdXIgcHJvZ3JhbXMsIHRvby4KKysKKysgIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKKytwcmljZS4gIE91ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlcyBhcmUgZGVzaWduZWQgdG8gbWFrZSBzdXJlIHRoYXQgeW91CisraGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlIGZvcgorK3RoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCksIHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldCBpdAorK2lmIHlvdSB3YW50IGl0LCB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBvciB1c2UgcGllY2VzIG9mIGl0CisraW4gbmV3IGZyZWUgcHJvZ3JhbXM7IGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgorKworKyAgVG8gcHJvdGVjdCB5b3VyIHJpZ2h0cywgd2UgbmVlZCB0byBtYWtlIHJlc3RyaWN0aW9ucyB0aGF0IGZvcmJpZAorK2FueW9uZSB0byBkZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4KKytUaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IgeW91IGlmIHlvdQorK2Rpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBzb2Z0d2FyZSwgb3IgaWYgeW91IG1vZGlmeSBpdC4KKysKKysgIEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2Ygc3VjaCBhIHByb2dyYW0sIHdoZXRoZXIKKytncmF0aXMgb3IgZm9yIGEgZmVlLCB5b3UgbXVzdCBnaXZlIHRoZSByZWNpcGllbnRzIGFsbCB0aGUgcmlnaHRzIHRoYXQKKyt5b3UgaGF2ZS4gIFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoZXksIHRvbywgcmVjZWl2ZSBvciBjYW4gZ2V0IHRoZQorK3NvdXJjZSBjb2RlLiAgQW5kIHlvdSBtdXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5IGtub3cgdGhlaXIKKytyaWdodHMuCisrCisrICBXZSBwcm90ZWN0IHlvdXIgcmlnaHRzIHdpdGggdHdvIHN0ZXBzOiAoMSkgY29weXJpZ2h0IHRoZSBzb2Z0d2FyZSwgYW5kCisrKDIpIG9mZmVyIHlvdSB0aGlzIGxpY2Vuc2Ugd2hpY2ggZ2l2ZXMgeW91IGxlZ2FsIHBlcm1pc3Npb24gdG8gY29weSwKKytkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhlIHNvZnR3YXJlLgorKworKyAgQWxzbywgZm9yIGVhY2ggYXV0aG9yJ3MgcHJvdGVjdGlvbiBhbmQgb3Vycywgd2Ugd2FudCB0byBtYWtlIGNlcnRhaW4KKyt0aGF0IGV2ZXJ5b25lIHVuZGVyc3RhbmRzIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZQorK3NvZnR3YXJlLiAgSWYgdGhlIHNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQgcGFzc2VkIG9uLCB3ZQorK3dhbnQgaXRzIHJlY2lwaWVudHMgdG8ga25vdyB0aGF0IHdoYXQgdGhleSBoYXZlIGlzIG5vdCB0aGUgb3JpZ2luYWwsIHNvCisrdGhhdCBhbnkgcHJvYmxlbXMgaW50cm9kdWNlZCBieSBvdGhlcnMgd2lsbCBub3QgcmVmbGVjdCBvbiB0aGUgb3JpZ2luYWwKKythdXRob3JzJyByZXB1dGF0aW9ucy4KKysKKysgIEZpbmFsbHksIGFueSBmcmVlIHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlCisrcGF0ZW50cy4gIFdlIHdpc2ggdG8gYXZvaWQgdGhlIGRhbmdlciB0aGF0IHJlZGlzdHJpYnV0b3JzIG9mIGEgZnJlZQorK3Byb2dyYW0gd2lsbCBpbmRpdmlkdWFsbHkgb2J0YWluIHBhdGVudCBsaWNlbnNlcywgaW4gZWZmZWN0IG1ha2luZyB0aGUKKytwcm9ncmFtIHByb3ByaWV0YXJ5LiAgVG8gcHJldmVudCB0aGlzLCB3ZSBoYXZlIG1hZGUgaXQgY2xlYXIgdGhhdCBhbnkKKytwYXRlbnQgbXVzdCBiZSBsaWNlbnNlZCBmb3IgZXZlcnlvbmUncyBmcmVlIHVzZSBvciBub3QgbGljZW5zZWQgYXQgYWxsLgorKworKyAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKKyttb2RpZmljYXRpb24gZm9sbG93LgorKworKwkJICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCisrICAgVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIENPUFlJTkcsIERJU1RSSUJVVElPTiBBTkQgTU9ESUZJQ0FUSU9OCisrCisrICAwLiBUaGlzIExpY2Vuc2UgYXBwbGllcyB0byBhbnkgcHJvZ3JhbSBvciBvdGhlciB3b3JrIHdoaWNoIGNvbnRhaW5zCisrYSBub3RpY2UgcGxhY2VkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVyIHNheWluZyBpdCBtYXkgYmUgZGlzdHJpYnV0ZWQKKyt1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgVGhlICJQcm9ncmFtIiwgYmVsb3csCisrcmVmZXJzIHRvIGFueSBzdWNoIHByb2dyYW0gb3Igd29yaywgYW5kIGEgIndvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0iCisrbWVhbnMgZWl0aGVyIHRoZSBQcm9ncmFtIG9yIGFueSBkZXJpdmF0aXZlIHdvcmsgdW5kZXIgY29weXJpZ2h0IGxhdzoKKyt0aGF0IGlzIHRvIHNheSwgYSB3b3JrIGNvbnRhaW5pbmcgdGhlIFByb2dyYW0gb3IgYSBwb3J0aW9uIG9mIGl0LAorK2VpdGhlciB2ZXJiYXRpbSBvciB3aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQgaW50byBhbm90aGVyCisrbGFuZ3VhZ2UuICAoSGVyZWluYWZ0ZXIsIHRyYW5zbGF0aW9uIGlzIGluY2x1ZGVkIHdpdGhvdXQgbGltaXRhdGlvbiBpbgorK3RoZSB0ZXJtICJtb2RpZmljYXRpb24iLikgIEVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLgorKworK0FjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90CisrY292ZXJlZCBieSB0aGlzIExpY2Vuc2U7IHRoZXkgYXJlIG91dHNpZGUgaXRzIHNjb3BlLiAgVGhlIGFjdCBvZgorK3J1bm5pbmcgdGhlIFByb2dyYW0gaXMgbm90IHJlc3RyaWN0ZWQsIGFuZCB0aGUgb3V0cHV0IGZyb20gdGhlIFByb2dyYW0KKytpcyBjb3ZlcmVkIG9ubHkgaWYgaXRzIGNvbnRlbnRzIGNvbnN0aXR1dGUgYSB3b3JrIGJhc2VkIG9uIHRoZQorK1Byb2dyYW0gKGluZGVwZW5kZW50IG9mIGhhdmluZyBiZWVuIG1hZGUgYnkgcnVubmluZyB0aGUgUHJvZ3JhbSkuCisrV2hldGhlciB0aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBQcm9ncmFtIGRvZXMuCisrCisrICAxLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBQcm9ncmFtJ3MKKytzb3VyY2UgY29kZSBhcyB5b3UgcmVjZWl2ZSBpdCwgaW4gYW55IG1lZGl1bSwgcHJvdmlkZWQgdGhhdCB5b3UKKytjb25zcGljdW91c2x5IGFuZCBhcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlCisrY29weXJpZ2h0IG5vdGljZSBhbmQgZGlzY2xhaW1lciBvZiB3YXJyYW50eTsga2VlcCBpbnRhY3QgYWxsIHRoZQorK25vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsKKythbmQgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgUHJvZ3JhbSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlCisrYWxvbmcgd2l0aCB0aGUgUHJvZ3JhbS4KKysKKytZb3UgbWF5IGNoYXJnZSBhIGZlZSBmb3IgdGhlIHBoeXNpY2FsIGFjdCBvZiB0cmFuc2ZlcnJpbmcgYSBjb3B5LCBhbmQKKyt5b3UgbWF5IGF0IHlvdXIgb3B0aW9uIG9mZmVyIHdhcnJhbnR5IHByb3RlY3Rpb24gaW4gZXhjaGFuZ2UgZm9yIGEgZmVlLgorKworKyAgMi4gWW91IG1heSBtb2RpZnkgeW91ciBjb3B5IG9yIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbgorK29mIGl0LCB0aHVzIGZvcm1pbmcgYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCBhbmQgY29weSBhbmQKKytkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEKKythYm92ZSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBtZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOgorKworKyAgICBhKSBZb3UgbXVzdCBjYXVzZSB0aGUgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKKysgICAgc3RhdGluZyB0aGF0IHlvdSBjaGFuZ2VkIHRoZSBmaWxlcyBhbmQgdGhlIGRhdGUgb2YgYW55IGNoYW5nZS4KKysKKysgICAgYikgWW91IG11c3QgY2F1c2UgYW55IHdvcmsgdGhhdCB5b3UgZGlzdHJpYnV0ZSBvciBwdWJsaXNoLCB0aGF0IGluCisrICAgIHdob2xlIG9yIGluIHBhcnQgY29udGFpbnMgb3IgaXMgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtIG9yIGFueQorKyAgICBwYXJ0IHRoZXJlb2YsIHRvIGJlIGxpY2Vuc2VkIGFzIGEgd2hvbGUgYXQgbm8gY2hhcmdlIHRvIGFsbCB0aGlyZAorKyAgICBwYXJ0aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuCisrCisrICAgIGMpIElmIHRoZSBtb2RpZmllZCBwcm9ncmFtIG5vcm1hbGx5IHJlYWRzIGNvbW1hbmRzIGludGVyYWN0aXZlbHkKKysgICAgd2hlbiBydW4sIHlvdSBtdXN0IGNhdXNlIGl0LCB3aGVuIHN0YXJ0ZWQgcnVubmluZyBmb3Igc3VjaAorKyAgICBpbnRlcmFjdGl2ZSB1c2UgaW4gdGhlIG1vc3Qgb3JkaW5hcnkgd2F5LCB0byBwcmludCBvciBkaXNwbGF5IGFuCisrICAgIGFubm91bmNlbWVudCBpbmNsdWRpbmcgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgYQorKyAgICBub3RpY2UgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSAob3IgZWxzZSwgc2F5aW5nIHRoYXQgeW91IHByb3ZpZGUKKysgICAgYSB3YXJyYW50eSkgYW5kIHRoYXQgdXNlcnMgbWF5IHJlZGlzdHJpYnV0ZSB0aGUgcHJvZ3JhbSB1bmRlcgorKyAgICB0aGVzZSBjb25kaXRpb25zLCBhbmQgdGVsbGluZyB0aGUgdXNlciBob3cgdG8gdmlldyBhIGNvcHkgb2YgdGhpcworKyAgICBMaWNlbnNlLiAgKEV4Y2VwdGlvbjogaWYgdGhlIFByb2dyYW0gaXRzZWxmIGlzIGludGVyYWN0aXZlIGJ1dAorKyAgICBkb2VzIG5vdCBub3JtYWxseSBwcmludCBzdWNoIGFuIGFubm91bmNlbWVudCwgeW91ciB3b3JrIGJhc2VkIG9uCisrICAgIHRoZSBQcm9ncmFtIGlzIG5vdCByZXF1aXJlZCB0byBwcmludCBhbiBhbm5vdW5jZW1lbnQuKQorKworK1RoZXNlIHJlcXVpcmVtZW50cyBhcHBseSB0byB0aGUgbW9kaWZpZWQgd29yayBhcyBhIHdob2xlLiAgSWYKKytpZGVudGlmaWFibGUgc2VjdGlvbnMgb2YgdGhhdCB3b3JrIGFyZSBub3QgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtLAorK2FuZCBjYW4gYmUgcmVhc29uYWJseSBjb25zaWRlcmVkIGluZGVwZW5kZW50IGFuZCBzZXBhcmF0ZSB3b3JrcyBpbgorK3RoZW1zZWx2ZXMsIHRoZW4gdGhpcyBMaWNlbnNlLCBhbmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2UKKytzZWN0aW9ucyB3aGVuIHlvdSBkaXN0cmlidXRlIHRoZW0gYXMgc2VwYXJhdGUgd29ya3MuICBCdXQgd2hlbiB5b3UKKytkaXN0cmlidXRlIHRoZSBzYW1lIHNlY3Rpb25zIGFzIHBhcnQgb2YgYSB3aG9sZSB3aGljaCBpcyBhIHdvcmsgYmFzZWQKKytvbiB0aGUgUHJvZ3JhbSwgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2hvbGUgbXVzdCBiZSBvbiB0aGUgdGVybXMgb2YKKyt0aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZQorK2VudGlyZSB3aG9sZSwgYW5kIHRodXMgdG8gZWFjaCBhbmQgZXZlcnkgcGFydCByZWdhcmRsZXNzIG9mIHdobyB3cm90ZSBpdC4KKysKKytUaHVzLCBpdCBpcyBub3QgdGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QKKyt5b3VyIHJpZ2h0cyB0byB3b3JrIHdyaXR0ZW4gZW50aXJlbHkgYnkgeW91OyByYXRoZXIsIHRoZSBpbnRlbnQgaXMgdG8KKytleGVyY2lzZSB0aGUgcmlnaHQgdG8gY29udHJvbCB0aGUgZGlzdHJpYnV0aW9uIG9mIGRlcml2YXRpdmUgb3IKKytjb2xsZWN0aXZlIHdvcmtzIGJhc2VkIG9uIHRoZSBQcm9ncmFtLgorKworK0luIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIFByb2dyYW0KKyt3aXRoIHRoZSBQcm9ncmFtIChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSkgb24gYSB2b2x1bWUgb2YKKythIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSBkb2VzIG5vdCBicmluZyB0aGUgb3RoZXIgd29yayB1bmRlcgorK3RoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuCisrCisrICAzLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGEgd29yayBiYXNlZCBvbiBpdCwKKyt1bmRlciBTZWN0aW9uIDIpIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB1bmRlciB0aGUgdGVybXMgb2YKKytTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gZG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6CisrCisrICAgIGEpIEFjY29tcGFueSBpdCB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nIG1hY2hpbmUtcmVhZGFibGUKKysgICAgc291cmNlIGNvZGUsIHdoaWNoIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zCisrICAgIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAorKworKyAgICBiKSBBY2NvbXBhbnkgaXQgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZQorKyAgICB5ZWFycywgdG8gZ2l2ZSBhbnkgdGhpcmQgcGFydHksIGZvciBhIGNoYXJnZSBubyBtb3JlIHRoYW4geW91cgorKyAgICBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyBzb3VyY2UgZGlzdHJpYnV0aW9uLCBhIGNvbXBsZXRlCisrICAgIG1hY2hpbmUtcmVhZGFibGUgY29weSBvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZSwgdG8gYmUKKysgICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0KKysgICAgY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAorKworKyAgICBjKSBBY2NvbXBhbnkgaXQgd2l0aCB0aGUgaW5mb3JtYXRpb24geW91IHJlY2VpdmVkIGFzIHRvIHRoZSBvZmZlcgorKyAgICB0byBkaXN0cmlidXRlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUuICAoVGhpcyBhbHRlcm5hdGl2ZSBpcworKyAgICBhbGxvd2VkIG9ubHkgZm9yIG5vbmNvbW1lcmNpYWwgZGlzdHJpYnV0aW9uIGFuZCBvbmx5IGlmIHlvdQorKyAgICByZWNlaXZlZCB0aGUgcHJvZ3JhbSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gd2l0aCBzdWNoCisrICAgIGFuIG9mZmVyLCBpbiBhY2NvcmQgd2l0aCBTdWJzZWN0aW9uIGIgYWJvdmUuKQorKworK1RoZSBzb3VyY2UgY29kZSBmb3IgYSB3b3JrIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUgd29yayBmb3IKKyttYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4gIEZvciBhbiBleGVjdXRhYmxlIHdvcmssIGNvbXBsZXRlIHNvdXJjZQorK2NvZGUgbWVhbnMgYWxsIHRoZSBzb3VyY2UgY29kZSBmb3IgYWxsIG1vZHVsZXMgaXQgY29udGFpbnMsIHBsdXMgYW55CisrYXNzb2NpYXRlZCBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcywgcGx1cyB0aGUgc2NyaXB0cyB1c2VkIHRvCisrY29udHJvbCBjb21waWxhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIG9mIHRoZSBleGVjdXRhYmxlLiAgSG93ZXZlciwgYXMgYQorK3NwZWNpYWwgZXhjZXB0aW9uLCB0aGUgc291cmNlIGNvZGUgZGlzdHJpYnV0ZWQgbmVlZCBub3QgaW5jbHVkZQorK2FueXRoaW5nIHRoYXQgaXMgbm9ybWFsbHkgZGlzdHJpYnV0ZWQgKGluIGVpdGhlciBzb3VyY2Ugb3IgYmluYXJ5CisrZm9ybSkgd2l0aCB0aGUgbWFqb3IgY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNvIG9uKSBvZiB0aGUKKytvcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHJ1bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudAorK2l0c2VsZiBhY2NvbXBhbmllcyB0aGUgZXhlY3V0YWJsZS4KKysKKytJZiBkaXN0cmlidXRpb24gb2YgZXhlY3V0YWJsZSBvciBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nCisrYWNjZXNzIHRvIGNvcHkgZnJvbSBhIGRlc2lnbmF0ZWQgcGxhY2UsIHRoZW4gb2ZmZXJpbmcgZXF1aXZhbGVudAorK2FjY2VzcyB0byBjb3B5IHRoZSBzb3VyY2UgY29kZSBmcm9tIHRoZSBzYW1lIHBsYWNlIGNvdW50cyBhcworK2Rpc3RyaWJ1dGlvbiBvZiB0aGUgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdAorK2NvbXBlbGxlZCB0byBjb3B5IHRoZSBzb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNvZGUuCisrCisrICA0LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0KKytleGNlcHQgYXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueSBhdHRlbXB0Cisrb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGlzCisrdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLgorK0hvd2V2ZXIsIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzLCBvciByaWdodHMsIGZyb20geW91IHVuZGVyCisrdGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMgdGVybWluYXRlZCBzbyBsb25nIGFzIHN1Y2gKKytwYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCisrCisrICA1LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3QKKytzaWduZWQgaXQuICBIb3dldmVyLCBub3RoaW5nIGVsc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIG1vZGlmeSBvcgorK2Rpc3RyaWJ1dGUgdGhlIFByb2dyYW0gb3IgaXRzIGRlcml2YXRpdmUgd29ya3MuICBUaGVzZSBhY3Rpb25zIGFyZQorK3Byb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkKKyttb2RpZnlpbmcgb3IgZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKKytQcm9ncmFtKSwgeW91IGluZGljYXRlIHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vuc2UgdG8gZG8gc28sIGFuZAorK2FsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKKyt0aGUgUHJvZ3JhbSBvciB3b3JrcyBiYXNlZCBvbiBpdC4KKysKKysgIDYuIEVhY2ggdGltZSB5b3UgcmVkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKKytQcm9ncmFtKSwgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZQorK29yaWdpbmFsIGxpY2Vuc29yIHRvIGNvcHksIGRpc3RyaWJ1dGUgb3IgbW9kaWZ5IHRoZSBQcm9ncmFtIHN1YmplY3QgdG8KKyt0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4gIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgorK3Jlc3RyaWN0aW9ucyBvbiB0aGUgcmVjaXBpZW50cycgZXhlcmNpc2Ugb2YgdGhlIHJpZ2h0cyBncmFudGVkIGhlcmVpbi4KKytZb3UgYXJlIG5vdCByZXNwb25zaWJsZSBmb3IgZW5mb3JjaW5nIGNvbXBsaWFuY2UgYnkgdGhpcmQgcGFydGllcyB0bworK3RoaXMgTGljZW5zZS4KKysKKysgIDcuIElmLCBhcyBhIGNvbnNlcXVlbmNlIG9mIGEgY291cnQganVkZ21lbnQgb3IgYWxsZWdhdGlvbiBvZiBwYXRlbnQKKytpbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLAorK2NvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3IKKytvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CisrZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QKKytkaXN0cmlidXRlIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzCisrTGljZW5zZSBhbmQgYW55IG90aGVyIHBlcnRpbmVudCBvYmxpZ2F0aW9ucywgdGhlbiBhcyBhIGNvbnNlcXVlbmNlIHlvdQorK21heSBub3QgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKKytsaWNlbnNlIHdvdWxkIG5vdCBwZXJtaXQgcm95YWx0eS1mcmVlIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtIGJ5CisrYWxsIHRob3NlIHdobyByZWNlaXZlIGNvcGllcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHRocm91Z2ggeW91LCB0aGVuCisrdGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5kIHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bworK3JlZnJhaW4gZW50aXJlbHkgZnJvbSBkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0uCisrCisrSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyCisrYW55IHBhcnRpY3VsYXIgY2lyY3Vtc3RhbmNlLCB0aGUgYmFsYW5jZSBvZiB0aGUgc2VjdGlvbiBpcyBpbnRlbmRlZCB0bworK2FwcGx5IGFuZCB0aGUgc2VjdGlvbiBhcyBhIHdob2xlIGlzIGludGVuZGVkIHRvIGFwcGx5IGluIG90aGVyCisrY2lyY3Vtc3RhbmNlcy4KKysKKytJdCBpcyBub3QgdGhlIHB1cnBvc2Ugb2YgdGhpcyBzZWN0aW9uIHRvIGluZHVjZSB5b3UgdG8gaW5mcmluZ2UgYW55CisrcGF0ZW50cyBvciBvdGhlciBwcm9wZXJ0eSByaWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBhbnkKKytzdWNoIGNsYWltczsgdGhpcyBzZWN0aW9uIGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlCisraW50ZWdyaXR5IG9mIHRoZSBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlvbiBzeXN0ZW0sIHdoaWNoIGlzCisraW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJhY3RpY2VzLiAgTWFueSBwZW9wbGUgaGF2ZSBtYWRlCisrZ2VuZXJvdXMgY29udHJpYnV0aW9ucyB0byB0aGUgd2lkZSByYW5nZSBvZiBzb2Z0d2FyZSBkaXN0cmlidXRlZAorK3Rocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lzdGVudCBhcHBsaWNhdGlvbiBvZiB0aGF0Cisrc3lzdGVtOyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMgd2lsbGluZworK3RvIGRpc3RyaWJ1dGUgc29mdHdhcmUgdGhyb3VnaCBhbnkgb3RoZXIgc3lzdGVtIGFuZCBhIGxpY2Vuc2VlIGNhbm5vdAorK2ltcG9zZSB0aGF0IGNob2ljZS4KKysKKytUaGlzIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gbWFrZSB0aG9yb3VnaGx5IGNsZWFyIHdoYXQgaXMgYmVsaWV2ZWQgdG8KKytiZSBhIGNvbnNlcXVlbmNlIG9mIHRoZSByZXN0IG9mIHRoaXMgTGljZW5zZS4KKysKKysgIDguIElmIHRoZSBkaXN0cmlidXRpb24gYW5kL29yIHVzZSBvZiB0aGUgUHJvZ3JhbSBpcyByZXN0cmljdGVkIGluCisrY2VydGFpbiBjb3VudHJpZXMgZWl0aGVyIGJ5IHBhdGVudHMgb3IgYnkgY29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlCisrb3JpZ2luYWwgY29weXJpZ2h0IGhvbGRlciB3aG8gcGxhY2VzIHRoZSBQcm9ncmFtIHVuZGVyIHRoaXMgTGljZW5zZQorK21heSBhZGQgYW4gZXhwbGljaXQgZ2VvZ3JhcGhpY2FsIGRpc3RyaWJ1dGlvbiBsaW1pdGF0aW9uIGV4Y2x1ZGluZworK3Rob3NlIGNvdW50cmllcywgc28gdGhhdCBkaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIG9ubHkgaW4gb3IgYW1vbmcKKytjb3VudHJpZXMgbm90IHRodXMgZXhjbHVkZWQuICBJbiBzdWNoIGNhc2UsIHRoaXMgTGljZW5zZSBpbmNvcnBvcmF0ZXMKKyt0aGUgbGltaXRhdGlvbiBhcyBpZiB3cml0dGVuIGluIHRoZSBib2R5IG9mIHRoaXMgTGljZW5zZS4KKysKKysgIDkuIFRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gbWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQvb3IgbmV3IHZlcnNpb25zCisrb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCisrYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvCisrYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMuCisrCisrRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUgUHJvZ3JhbQorK3NwZWNpZmllcyBhIHZlcnNpb24gbnVtYmVyIG9mIHRoaXMgTGljZW5zZSB3aGljaCBhcHBsaWVzIHRvIGl0IGFuZCAiYW55CisrbGF0ZXIgdmVyc2lvbiIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucworK2VpdGhlciBvZiB0aGF0IHZlcnNpb24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisrU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZgorK3RoaXMgTGljZW5zZSwgeW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKKytGb3VuZGF0aW9uLgorKworKyAgMTAuIElmIHlvdSB3aXNoIHRvIGluY29ycG9yYXRlIHBhcnRzIG9mIHRoZSBQcm9ncmFtIGludG8gb3RoZXIgZnJlZQorK3Byb2dyYW1zIHdob3NlIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zIGFyZSBkaWZmZXJlbnQsIHdyaXRlIHRvIHRoZSBhdXRob3IKKyt0byBhc2sgZm9yIHBlcm1pc3Npb24uICBGb3Igc29mdHdhcmUgd2hpY2ggaXMgY29weXJpZ2h0ZWQgYnkgdGhlIEZyZWUKKytTb2Z0d2FyZSBGb3VuZGF0aW9uLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21ldGltZXMKKyttYWtlIGV4Y2VwdGlvbnMgZm9yIHRoaXMuICBPdXIgZGVjaXNpb24gd2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2FscworK29mIHByZXNlcnZpbmcgdGhlIGZyZWUgc3RhdHVzIG9mIGFsbCBkZXJpdmF0aXZlcyBvZiBvdXIgZnJlZSBzb2Z0d2FyZSBhbmQKKytvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcgYW5kIHJldXNlIG9mIHNvZnR3YXJlIGdlbmVyYWxseS4KKysKKysJCQkgICAgTk8gV0FSUkFOVFkKKysKKysgIDExLiBCRUNBVVNFIFRIRSBQUk9HUkFNIElTIExJQ0VOU0VEIEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJUyBOTyBXQVJSQU5UWQorK0ZPUiBUSEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkgQVBQTElDQUJMRSBMQVcuICBFWENFUFQgV0hFTgorK09USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EL09SIE9USEVSIFBBUlRJRVMKKytQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRAorK09SIElNUExJRUQsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisrTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFRIRSBFTlRJUkUgUklTSyBBUworK1RPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTSBJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUKKytQUk9HUkFNIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRSBUSEUgQ09TVCBPRiBBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywKKytSRVBBSVIgT1IgQ09SUkVDVElPTi4KKysKKysgIDEyLiBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcKKytXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1BWSBNT0RJRlkgQU5EL09SCisrUkVESVNUUklCVVRFIFRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywKKytJTkNMVURJTkcgQU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcKKytPVVQgT0YgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBQUk9HUkFNIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVECisrVE8gTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZCisrWU9VIE9SIFRISVJEIFBBUlRJRVMgT1IgQSBGQUlMVVJFIE9GIFRIRSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIKKytQUk9HUkFNUyksIEVWRU4gSUYgU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUKKytQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCisrCisrCQkgICAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUworKworKwkgICAgSG93IHRvIEFwcGx5IFRoZXNlIFRlcm1zIHRvIFlvdXIgTmV3IFByb2dyYW1zCisrCisrICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CisrcG9zc2libGUgdXNlIHRvIHRoZSBwdWJsaWMsIHRoZSBiZXN0IHdheSB0byBhY2hpZXZlIHRoaXMgaXMgdG8gbWFrZSBpdAorK2ZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgorKworKyAgVG8gZG8gc28sIGF0dGFjaCB0aGUgZm9sbG93aW5nIG5vdGljZXMgdG8gdGhlIHByb2dyYW0uICBJdCBpcyBzYWZlc3QKKyt0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5CisrY29udmV5IHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hvdWxkIGhhdmUgYXQgbGVhc3QKKyt0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KKysKKysgICAgPG9uZSBsaW5lIHRvIGdpdmUgdGhlIHByb2dyYW0ncyBuYW1lIGFuZCBhIGJyaWVmIGlkZWEgb2Ygd2hhdCBpdCBkb2VzLj4KKysgICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KKysKKysgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKysgICAgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKysgICAgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKysKKytBbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KKysKKytJZiB0aGUgcHJvZ3JhbSBpcyBpbnRlcmFjdGl2ZSwgbWFrZSBpdCBvdXRwdXQgYSBzaG9ydCBub3RpY2UgbGlrZSB0aGlzCisrd2hlbiBpdCBzdGFydHMgaW4gYW4gaW50ZXJhY3RpdmUgbW9kZToKKysKKysgICAgR25vbW92aXNpb24gdmVyc2lvbiA2OSwgQ29weXJpZ2h0IChDKSB5ZWFyIG5hbWUgb2YgYXV0aG9yCisrICAgIEdub21vdmlzaW9uIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWTsgZm9yIGRldGFpbHMgdHlwZSBgc2hvdyB3Jy4KKysgICAgVGhpcyBpcyBmcmVlIHNvZnR3YXJlLCBhbmQgeW91IGFyZSB3ZWxjb21lIHRvIHJlZGlzdHJpYnV0ZSBpdAorKyAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCisrCisrVGhlIGh5cG90aGV0aWNhbCBjb21tYW5kcyBgc2hvdyB3JyBhbmQgYHNob3cgYycgc2hvdWxkIHNob3cgdGhlIGFwcHJvcHJpYXRlCisrcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHRoZSBjb21tYW5kcyB5b3UgdXNlIG1heQorK2JlIGNhbGxlZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBgc2hvdyB3JyBhbmQgYHNob3cgYyc7IHRoZXkgY291bGQgZXZlbiBiZQorK21vdXNlLWNsaWNrcyBvciBtZW51IGl0ZW1zLS13aGF0ZXZlciBzdWl0cyB5b3VyIHByb2dyYW0uCisrCisrWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHlvdXIKKytzY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBwcm9ncmFtLCBpZgorK25lY2Vzc2FyeS4gIEhlcmUgaXMgYSBzYW1wbGU7IGFsdGVyIHRoZSBuYW1lczoKKysKKysgIFlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlIHByb2dyYW0KKysgIGBHbm9tb3Zpc2lvbicgKHdoaWNoIG1ha2VzIHBhc3NlcyBhdCBjb21waWxlcnMpIHdyaXR0ZW4gYnkgSmFtZXMgSGFja2VyLgorKworKyAgPHNpZ25hdHVyZSBvZiBUeSBDb29uPiwgMSBBcHJpbCAxOTg5CisrICBUeSBDb29uLCBQcmVzaWRlbnQgb2YgVmljZQorKworK1RoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBkb2VzIG5vdCBwZXJtaXQgaW5jb3Jwb3JhdGluZyB5b3VyIHByb2dyYW0gaW50bworK3Byb3ByaWV0YXJ5IHByb2dyYW1zLiAgSWYgeW91ciBwcm9ncmFtIGlzIGEgc3Vicm91dGluZSBsaWJyYXJ5LCB5b3UgbWF5CisrY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGggdGhlCisrbGlicmFyeS4gIElmIHRoaXMgaXMgd2hhdCB5b3Ugd2FudCB0byBkbywgdXNlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwKKytQdWJsaWMgTGljZW5zZSBpbnN0ZWFkIG9mIHRoaXMgTGljZW5zZS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvdXNsZWVwL2ZpbGVzL3VzbGVlcC4xIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS91c2xlZXAvZmlsZXMvdXNsZWVwLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQ3NTIwZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvdXNsZWVwL2ZpbGVzL3VzbGVlcC4xCkBAIC0wLDAgKzEsMjUgQEAKKy5USCBVU0xFRVAgMSAiUmVkIEhhdCwgSW5jIiBcIiAtKi0gbnJvZmYgLSotCisuU0ggTkFNRQordXNsZWVwIFwtIHNsZWVwIHNvbWUgbnVtYmVyIG9mIG1pY3Jvc2Vjb25kcworLlNIIFNZTk9QU0lTCisuQiB1c2xlZXAKK1tcZkludW1iZXJcZlBdCisuU0ggREVTQ1JJUFRJT04KKy5CIHVzbGVlcAorc2xlZXBzIHNvbWUgbnVtYmVyIG9mIG1pY3Jvc2Vjb25kcy4gIFRoZSBkZWZhdWx0IGlzIDEuCisuU0ggT1BUSU9OUworXGZJLS11c2FnZVxmUAorU2hvdyBzaG9ydCB1c2FnZSBtZXNzYWdlLgorLlRQCitcZkktLWhlbHAsIC0/XGZQCitQcmludCBoZWxwIGluZm9ybWF0aW9uLgorLlRQCitcZkktdiwgLS12ZXJzaW9uXGZQCitQcmludCB2ZXJzaW9uIGluZm9ybWF0aW9uLgorLlNIIEJVR1MKK1Byb2JhYmx5IG5vdCBhY2N1cmF0ZSBvbiBtYW55IG1hY2hpbmVzIGRvd24gdG8gdGhlIG1pY3Jvc2Vjb25kLiAgQ291bnQKK29uIHByZWNpc2lvbiBvbmx5IHRvIC00IG9yIG1heWJlIC01LgorLlNIIEFVVEhPUgorRG9uYWxkIEJhcm5lcyA8ZGpiQHJlZGhhdC5jb20+CisuYnIKK0VyaWsgVHJvYW4gPGV3dEByZWRoYXQuY29tPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS91c2xlZXAvZmlsZXMvdXNsZWVwLmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3VzbGVlcC9maWxlcy91c2xlZXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNWU3ZDlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS91c2xlZXAvZmlsZXMvdXNsZWVwLmMKQEAgLTAsMCArMSw4MiBAQAorLyogCisgKiB1c2xlZXAKKyAqIAorICogV3JpdHRlbiBieSBEb25hbGQgQmFybmVzIDxkamJAcmVkaGF0LmNvbT4gZm9yIFJlZCBIYXQsIEluYy4KKyAqIAorICogQ29weXJpZ2h0IChjKSAxOTk3LTIwMDMgUmVkIEhhdCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIsCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAorICogSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqCisgKi8KKworCisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2luY2x1ZGUgInBvcHQuaCIKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgIHVuc2lnbmVkIGxvbmcgY291bnQ7CisgIHBvcHRDb250ZXh0IG9wdENvbjsKKyAgaW50IHNob3dWZXJzaW9uID0gMDsKKyAgaW50IHNob3dPb3QgPSAwOworICBpbnQgcmM7CisgIGNoYXIgKiBjb3VudFN0ciA9IE5VTEw7CisgIHN0cnVjdCBwb3B0T3B0aW9uIG9wdGlvbnNbXSA9IHsKKyAgICAgICAgICAgIHsgInZlcnNpb24iLCAndicsIFBPUFRfQVJHX05PTkUsICZzaG93VmVyc2lvbiwgMCwgCisJCQkiRGlzcGxheSB0aGUgdmVyc2lvbiBvZiB0aGlzIHByb2dyYW0sIGFuZCBleGl0IiB9LAorICAgICAgICAgICAgeyAib290IiwgJ28nLCBQT1BUX0FSR19OT05FLCAmc2hvd09vdCwgMCwgCisJCQkib290IHNheXMgaGV5ISIgfSwKKwkgICAgUE9QVF9BVVRPSEVMUAorICAgICAgICAgICAgeyAwLCAwLCAwLCAwLCAwIH0KKyAgICAgICAgfTsKKworICBvcHRDb24gPSBwb3B0R2V0Q29udGV4dCgidXNsZWVwIiwgYXJnYywgYXJndiwgb3B0aW9ucywwKTsKKyAgLypwb3B0UmVhZERlZmF1bHRDb25maWcob3B0Q29uLCAxKTsqLworICBwb3B0U2V0T3RoZXJPcHRpb25IZWxwKG9wdENvbiwgIlttaWNyb3NlY29uZHNdIik7CisKKyAgaWYgKChyYyA9IHBvcHRHZXROZXh0T3B0KG9wdENvbikpIDwgLTEpIHsKKwlmcHJpbnRmKHN0ZGVyciwgInVzbGVlcDogYmFkIGFyZ3VtZW50ICVzOiAlc1xuIiwgCisJCXBvcHRCYWRPcHRpb24ob3B0Q29uLCBQT1BUX0JBRE9QVElPTl9OT0FMSUFTKSwgCisJCXBvcHRTdHJlcnJvcihyYykpOworCXJldHVybiAyOworICB9CisKKyAgaWYgKHNob3dWZXJzaW9uKSB7CisgICAgICBwcmludGYoInVzbGVlcCB2ZXJzaW9uIDEuMlxuCXVzbGVlcCAtLWhlbHAgZm9yIG1vcmUgaW5mb1xuIik7CisgICAgICByZXR1cm4gMDsKKyAgfQorCisgIGlmIChzaG93T290KSB7CisgICAgICBwcmludGYoIm9vdCBzYXlzIGhleSFcbiIpOworICAgICAgcmV0dXJuIDA7CisgIH0KKworICBjb3VudFN0ciA9IHBvcHRHZXRBcmcob3B0Q29uKTsKKworICBpZiAoY291bnRTdHIgPT0gTlVMTCkgY291bnQgPSAxOworCisgIGVsc2UgaWYgKGNvdW50U3RyICYmIHBvcHRHZXRBcmcob3B0Q29uKSkgeworICAgICAgZnByaW50ZihzdGRlcnIsICIlczogZXhhY3RseSBvbmUgYXJndW1lbnQgKG51bWJlciBvZiBtaWNyb3NlY29uZHMpICIKKyAgICAgIAkJIm11c3QgYmUgdXNlZFxuIiwgYXJndlswXSk7CisgICAgICByZXR1cm4gMjsKKyAgfQorCisgIGVsc2UgY291bnQgPSBzdHJ0b3VsKGNvdW50U3RyLCBOVUxMLCAwKTsgCisKKyAgdXNsZWVwKGNvdW50KTsKKyAgcmV0dXJuIDA7Cit9IApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS91c2xlZXAvdXNsZWVwXzEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvdXNsZWVwL3VzbGVlcF8xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmVmNGI3YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvdXNsZWVwL3VzbGVlcF8xLjAuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJBIHVzZXIgdG9vbCB0byBzdXBwb3J0IHNsZWVwaW5nIHNvbWUgbnVtYmVyIG9mIG1pY3Jvc2Vjb25kcyIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworUFIgPSAicjAiCisKK1MgPSAiJHtXT1JLRElSfSIKK0RFUEVORFMgPSAicG9wdCIKKworU1JDX1VSSSA9ICJmaWxlOi8vdXNsZWVwLmMgXAorICAgICAgICAgICBmaWxlOi8vdXNsZWVwLjEgXAorICAgICAgICAgICBmaWxlOi8vR1BMdjIucGF0Y2ggXAorIgorCitkb19jb21waWxlKCkgeworCSR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IHVzbGVlcC5jIC1vIHVzbGVlcCAtbHBvcHQKK30KKworZG9faW5zdGFsbCgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2Jhc2VfYmluZGlyfQorCWluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisKKwlpbnN0YWxsIC1tIDA3NTUJJHtXT1JLRElSfS91c2xlZXAJJHtEfSR7YmFzZV9iaW5kaXJ9CisJaW5zdGFsbCAtbSAwNjQ0CSR7V09SS0RJUn0vdXNsZWVwLjEJJHtEfSR7bWFuZGlyfS9tYW4xCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9hdXRvY29uZi1hcmNoaXZlL2F1dG9jb25mLWFyY2hpdmUuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYXV0b2NvbmYtYXJjaGl2ZS9hdXRvY29uZi1hcmNoaXZlLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Mzk5MzYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYXV0b2NvbmYtYXJjaGl2ZS9hdXRvY29uZi1hcmNoaXZlLmluYwpAQCAtMCwwICsxLDE1IEBACitMSUNFTlNFID0gIkdQTHYzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2F1dG9jb25mLWFyY2hpdmUvIgorU0VDVElPTiA9ICJkZXZlbCIKKworREVQRU5EUyArPSAibTQtbmF0aXZlIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAibTQtbmF0aXZlIGdudS1jb25maWctbmF0aXZlIgorREVQRU5EU19jbGFzcy1uYXRpdmVzZGsgPSAibTQtbmF0aXZlc2RrIGdudS1jb25maWctbmF0aXZlc2RrIgorCitSREVQRU5EU18ke1BOfSA9ICJtNCBnbnUtY29uZmlnIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIm00LW5hdGl2ZSBnbnUtY29uZmlnLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZXNkayA9ICJtNC1uYXRpdmVzZGsgZ251LWNvbmZpZy1uYXRpdmVzZGsiCisKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9hdXRvY29uZi1hcmNoaXZlL2F1dG9jb25mLWFyY2hpdmVfMjAxMi4wNC4wNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2F1dG9jb25mLWFyY2hpdmUvYXV0b2NvbmYtYXJjaGl2ZV8yMDEyLjA0LjA3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViYWFlY2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9hdXRvY29uZi1hcmNoaXZlL2F1dG9jb25mLWFyY2hpdmVfMjAxMi4wNC4wNy5iYgpAQCAtMCwwICsxLDEzIEBACityZXF1aXJlIGF1dG9jb25mLWFyY2hpdmUuaW5jCisKKworUEFSQUxMRUxfTUFLRSA9ICIiCisKK0xJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTg0MmM1YjlmYWUwMjEwMDdiZDcwNTUwMzYyZTVlODAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDQwYjQ0M2JmNjhlZmQ1MmZiZmNiMjk0YjU1NmJmYmJiZmU0MzJkYjc4NDQ1Y2EyNWUwY2ZlMmU4OGY5NmExNCIKKworRVhUUkFfT0VDT05GICs9ICJhY19jdl9wYXRoX000PW00IgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYm9vdGNoYXJ0L2Jvb3RjaGFydC8wMDAxLXN2Zy1hZGQtcnVkaW1lbnRhcnktc3VwcG9ydC1mb3ItQVJNLWNwdWluZm8ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ib290Y2hhcnQvYm9vdGNoYXJ0LzAwMDEtc3ZnLWFkZC1ydWRpbWVudGFyeS1zdXBwb3J0LWZvci1BUk0tY3B1aW5mby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTgxZWYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYm9vdGNoYXJ0L2Jvb3RjaGFydC8wMDAxLXN2Zy1hZGQtcnVkaW1lbnRhcnktc3VwcG9ydC1mb3ItQVJNLWNwdWluZm8ucGF0Y2gKQEAgLTAsMCArMSw0OSBAQAorRnJvbSA4ZDQwYjRjMjg2ZTAwNWU4MmZhNTBiNjZmYmJiZGUyMmI3ZTY1ZTE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KK0RhdGU6IFN1biwgMjAgTWF5IDIwMTIgMjE6MzU6MzQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIHN2ZzogYWRkIHJ1ZGltZW50YXJ5IHN1cHBvcnQgZm9yIEFSTSBjcHVpbmZvCisKK09uIEFSTSAvcHJvYy9jcHVpbmZvIGxvb2tzIGxpa2UgdGhpczoKKworcm9vdEBiZWFnbGVib25lQTMtMDQyODp+IyBjYXQgL3Byb2MvY3B1aW5mbworUHJvY2Vzc29yCTogQVJNdjcgUHJvY2Vzc29yIHJldiAyICh2N2wpCitCb2dvTUlQUwk6IDQ5OC44OQorRmVhdHVyZXMJOiBzd3AgaGFsZiB0aHVtYiBmYXN0bXVsdCB2ZnAgZWRzcCB0aHVtYmVlIG5lb24gdmZwdjMgdGxzCitDUFUgaW1wbGVtZW50ZXIJOiAweDQxCitDUFUgYXJjaGl0ZWN0dXJlOiA3CitDUFUgdmFyaWFudAk6IDB4MworQ1BVIHBhcnQJOiAweGMwOAorQ1BVIHJldmlzaW9uCTogMgorCitIYXJkd2FyZQk6IGFtMzM1eGV2bQorUmV2aXNpb24JOiAwMDAwCitTZXJpYWwJCTogMDAwMDAwMDAwMDAwMDAwMAorCitTbyBubyByZWFsIHdheSB0byBnZXQgdGhlIGFjdHVhbCBTb0MgbmFtZSwgVEkgQU0zMzU5LCBidXQgYSBsb3QgYmV0dGVyIHRoYW4gJ1Vua25vd24nCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKworVXBzdHJlYW0tU3RhdHVzOiBzdWJtaXR0ZWQKKworIHN2Zy5jIHwgICAgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3ZnLmMgYi9zdmcuYworaW5kZXggODBlMDI5Mi4uNTM3MjRiMiAxMDA2NDQKKy0tLSBhL3N2Zy5jCisrKysgYi9zdmcuYworQEAgLTE3OCw2ICsxNzgsMTAgQEAgdm9pZCBzdmdfdGl0bGUodm9pZCkKKyAJCQkJc3RybmNweShjcHUsICZidWZbMTNdLCAyNTUpOworIAkJCQlicmVhazsKKyAJCQl9CisrCQkJaWYgKHN0cnN0cihidWYsICJQcm9jZXNzb3IiKSkgeworKwkJCQlzdHJuY3B5KGNwdSwgJmJ1ZlsxMl0sIDI1NSk7CisrCQkJCWJyZWFrOworKwkJCX0KKyAJCX0KKyAJCWZjbG9zZShmKTsKKyAJfQorLS0gCisxLjcuMTAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYm9vdGNoYXJ0L2Jvb3RjaGFydC8wMDAyLXN2Zy1vcGVuLWV0Yy1vcy1yZWxlYXNlLWFuZC11c2UtUFJFVFRZX05BTUUtZm9yLXRoZS0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ib290Y2hhcnQvYm9vdGNoYXJ0LzAwMDItc3ZnLW9wZW4tZXRjLW9zLXJlbGVhc2UtYW5kLXVzZS1QUkVUVFlfTkFNRS1mb3ItdGhlLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjNkOThhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYm9vdGNoYXJ0L2Jvb3RjaGFydC8wMDAyLXN2Zy1vcGVuLWV0Yy1vcy1yZWxlYXNlLWFuZC11c2UtUFJFVFRZX05BTUUtZm9yLXRoZS0ucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSBlM2FkYjRjMzEyYzZiYTM0OTFiN2MxNzM1NTllZmFjN2E1M2U1YWJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KK0RhdGU6IFN1biwgMjAgTWF5IDIwMTIgMjI6MTI6MjkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIHN2Zzogb3BlbiAvZXRjL29zLXJlbGVhc2UgYW5kIHVzZSBQUkVUVFlfTkFNRSBmb3IgdGhlCisgJ0J1aWxkJyBuYW1lCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CistLS0KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKKworIHN2Zy5jIHwgICAxMSArKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zdmcuYyBiL3N2Zy5jCitpbmRleCA1MzcyNGIyLi5jNjc1ZDg0IDEwMDY0NAorLS0tIGEvc3ZnLmMKKysrKyBiL3N2Zy5jCitAQCAtMTk0LDYgKzE5NCwxNyBAQCB2b2lkIHN2Z190aXRsZSh2b2lkKQorIAkJZmNsb3NlKGYpOworIAl9CisgCisrCWYgPSBmb3BlbigiL2V0Yy9vcy1yZWxlYXNlIiwgInIiKTsKKysJaWYoZikgeworKwkJd2hpbGUgKGZnZXRzKGJ1ZiwgMjU1LCBmKSkgeworKwkJCWlmIChzdHJzdHIoYnVmLCAiUFJFVFRZX05BTUU9IikpIHsKKysJCQkJc3RybmNweShidWlsZCwgJmJ1ZlsxMl0sIDI1NSk7CisrCQkJCWJyZWFrOworKwkJCX0KKysJCX0KKysJCWZjbG9zZShmKTsKKysJfQorKworIAlzdmcoIjx0ZXh0IGNsYXNzPVwidDFcIiB4PVwiMFwiIHk9XCIzMFwiPkJvb3RjaGFydCBmb3IgJXMgLSAlczwvdGV4dD5cbiIsCisgCSAgICB1dHMubm9kZW5hbWUsIGRhdGUpOworIAlzdmcoIjx0ZXh0IGNsYXNzPVwidDJcIiB4PVwiMjBcIiB5PVwiNTBcIj5TeXN0ZW06ICVzICVzICVzICVzPC90ZXh0PlxuIiwKKy0tIAorMS43LjEwCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Jvb3RjaGFydC9ib290Y2hhcnRfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYm9vdGNoYXJ0L2Jvb3RjaGFydF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI3NWVhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Jvb3RjaGFydC9ib290Y2hhcnRfZ2l0LmJiCkBAIC0wLDAgKzEsMjEgQEAKK0RFU0NSSVBUSU9OID0gIk1vbml0b3JzIHdoZXJlIHRoZSBzeXN0ZW0gc3BlbmRzIGl0cyB0aW1lIGF0IHN0YXJ0LCBjcmVhdGluZyBhIGdyYXBoIG9mIGFsbCBwcm9jZXNzZXMsIGRpc2sgdXRpbGl6YXRpb24sIGFuZCB3YWl0IHRpbWUuIgorSE9NRVBBR0UgPSAiaHR0cDovL21lZWdvLmdpdG9yaW91cy5vcmcvbWVlZ28tZGV2ZWxvcGVyLXRvb2xzL2Jvb3RjaGFydCIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZjYjAyZGM1NTJhMDQxZGVlMjdlNGI4NWM3Mzk2MDY3IgorCitQViA9ICIxLjE3IgorUFIgPSAicjEiCitQRSA9ICIxIgorCitTUkNfVVJJID0gImdpdDovL2dpdG9yaW91cy5vcmcvbWVlZ28tZGV2ZWxvcGVyLXRvb2xzL2Jvb3RjaGFydC5naXQ7cHJvdG9jb2w9aHR0cHMgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1zdmctYWRkLXJ1ZGltZW50YXJ5LXN1cHBvcnQtZm9yLUFSTS1jcHVpbmZvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItc3ZnLW9wZW4tZXRjLW9zLXJlbGVhc2UtYW5kLXVzZS1QUkVUVFlfTkFNRS1mb3ItdGhlLS5wYXRjaCBcCisiCisKK1NSQ1JFViA9ICJhMmM3NTYxZDQwNjBhOWYwNzUzMzliZGE4OWU3OTNjNzZmMmZmNmRkIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZF9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZF9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FkYTNhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkX3N2bi5iYgpAQCAtMCwwICsxLDg5IEBACisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUIGZvciB0aGUgdGVybXMpCisKKyMgQXBwbGljYXRpb25zIHVzaW5nIHRoaXMgbGlicmFyeSBuZWVkcyB0byBhZGQgbGluayBhZ2FpbnN0IGxpYmJyZWFrcGFkX2NsaWVudC5hLgorCitTVU1NQVJZID0gIkFuIG9wZW4tc291cmNlIG11bHRpLXBsYXRmb3JtIGNyYXNoIHJlcG9ydGluZyBzeXN0ZW0iCitERVNDUklQVElPTiA9ICJCcmVha3BhZCBpcyBhIGxpYnJhcnkgYW5kIHRvb2wgc3VpdGUgdGhhdCBhbGxvd3MgeW91IHRvIGRpc3RyaWJ1dGUgYW4gYXBwbGljYXRpb24gdG8gdXNlcnMgd2l0aCBjb21waWxlci1wcm92aWRlZCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gcmVtb3ZlZCwgcmVjb3JkIGNyYXNoZXMgaW4gY29tcGFjdCBcIm1pbmlkdW1wXCIgZmlsZXMsIHNlbmQgdGhlbSBiYWNrIHRvIHlvdXIgc2VydmVyLCBhbmQgcHJvZHVjZSBDIGFuZCBDKysgc3RhY2sgdHJhY2VzIGZyb20gdGhlc2UgbWluaWR1bXBzLiAiCitIT01FUEFHRSA9ICJodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2dvb2dsZS1icmVha3BhZC8iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTU2YzI0YTQzYzgxYzNhZjZmY2Y1OTA4NTE5MzE0ODllIgorU0VDVElPTiA9ICJsaWJzIgorCitpbmhlcml0IGF1dG90b29scworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDUkVWID0gInIxNDM1IgorU1JDX1VSSSA9ICJzdm46Ly9nb29nbGUtYnJlYWtwYWQuZ29vZ2xlY29kZS5jb20vc3ZuO21vZHVsZT10cnVuaztwcm90b2NvbD1odHRwIgorUyA9ICIke1dPUktESVJ9L3RydW5rIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfQorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jbGllbnQvbGludXgvY3Jhc2hfZ2VuZXJhdGlvbgorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvY2xpZW50L2xpbnV4L2NyYXNoX2dlbmVyYXRpb24vY3Jhc2hfZ2VuZXJhdGlvbl9jbGllbnQuaCAgJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY2xpZW50L2xpbnV4L2NyYXNoX2dlbmVyYXRpb24vY3Jhc2hfZ2VuZXJhdGlvbl9jbGllbnQuaAorCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY2xpZW50L2xpbnV4L2hhbmRsZXIvCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL21pbmlkdW1wX2Rlc2NyaXB0b3IuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jbGllbnQvbGludXgvaGFuZGxlci9taW5pZHVtcF9kZXNjcmlwdG9yLmgKKworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vbWFwcGluZ19pbmZvLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9tYXBwaW5nX2luZm8uaAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uaAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9yYXdfY29udGV4dF9jcHUuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Jhd19jb250ZXh0X2NwdS5oCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaAorCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY29tbW9uCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9jb21tb24vbWVtb3J5LmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY29tbW9uL21lbW9yeS5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9jb21tb24vc2NvcGVkX3B0ci5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2NvbW1vbi9zY29wZWRfcHRyLmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NvbW1vbi91c2luZ19zdGRfc3RyaW5nLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY29tbW9uL3VzaW5nX3N0ZF9zdHJpbmcuaAorCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbgorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9icmVha3BhZF90eXBlcy5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vYnJlYWtwYWRfdHlwZXMuaAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9mb3JtYXQuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2Zvcm1hdC5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2NwdV9hbWQ2NC5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X2FtZDY0LmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X2FybS5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X2FybS5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2NwdV9hcm0uaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2NwdV9hcm02NC5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2NwdV9taXBzLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9jcHVfbWlwcy5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2NwdV9wcGM2NC5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X3BwYzY0LmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X3BwYy5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X3BwYy5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2NwdV9zcGFyYy5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X3NwYXJjLmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X3g4Ni5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfY3B1X3g4Ni5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2V4Y2VwdGlvbl9saW51eC5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfZXhjZXB0aW9uX2xpbnV4LmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfZXhjZXB0aW9uX21hYy5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfZXhjZXB0aW9uX21hYy5oCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2V4Y2VwdGlvbl9wczMuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2V4Y2VwdGlvbl9wczMuaAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9leGNlcHRpb25fc29sYXJpcy5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2dvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfZXhjZXB0aW9uX3NvbGFyaXMuaAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvZ29vZ2xlX2JyZWFrcGFkL2NvbW1vbi9taW5pZHVtcF9leGNlcHRpb25fd2luMzIuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9nb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2V4Y2VwdGlvbl93aW4zMi5oCisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC90aGlyZF9wYXJ0eS9sc3MKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC90aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LW1pbmlkdW1wLXVwbG9hZCAke1BOfS1zeW0tdXBsb2FkIgorCitGSUxFU18ke1BOfS1taW5pZHVtcC11cGxvYWQgPSAiJHtiaW5kaXJ9L21pbmlkdW1wX3VwbG9hZCIKK0ZJTEVTXyR7UE59LXN5bS11cGxvYWQgPSAiJHtiaW5kaXJ9L3N5bV91cGxvYWQiCisKKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJicmVha3BhZF9wb3B1bGF0ZV9zeXNyb290IgorYnJlYWtwYWRfcG9wdWxhdGVfc3lzcm9vdCgpIHsKKyAgICAgICAgc3lzcm9vdF9zdGFnZV9kaXIgJHtEfS91c3IvaW5jbHVkZSAke1NZU1JPT1RfREVTVERJUn0vdXNyL2luY2x1ZGUKKyAgICAgICAgc3lzcm9vdF9zdGFnZV9kaXIgJHtEfS91c3IvbGliICR7U1lTUk9PVF9ERVNURElSfS91c3IvbGliCisgICAgICAgIHN5c3Jvb3Rfc3RhZ2VfZGlyICR7RH0vdXNyL2xpYiAke1NZU1JPT1RfREVTVERJUn0vdXNyL2xpYgorfQorCisjIEZhaWxzIHRvIGJ1aWxkIHdpdGggdGh1bWItMSAocWVtdWFybSkKKyN8IHtzdGFuZGFyZCBpbnB1dH06IEFzc2VtYmxlciBtZXNzYWdlczoKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjE3ODogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYGl0IG5lJworI3wge3N0YW5kYXJkIGlucHV0fToyMTc5OiBFcnJvcjogVGh1bWIgZG9lcyBub3Qgc3VwcG9ydCBjb25kaXRpb25hbCBleGVjdXRpb24KKyN8IHtzdGFuZGFyZCBpbnB1dH06MjE4MDogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYGl0IGVxJworI3wge3N0YW5kYXJkIGlucHV0fToyMTgxOiBFcnJvcjogVGh1bWIgZG9lcyBub3Qgc3VwcG9ydCBjb25kaXRpb25hbCBleGVjdXRpb24KKyN8IHtzdGFuZGFyZCBpbnB1dH06MjE4MzogRXJyb3I6IGxvIHJlZ2lzdGVyIHJlcXVpcmVkIC0tIGBzdHIgaXAsW3IxLCMtNF0hJworI3wge3N0YW5kYXJkIGlucHV0fToyMTg0OiBFcnJvcjogVGh1bWIgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIGFkZHJlc3NpbmcgbW9kZSAtLSBgc3RyIHI2LFtyMSwjLTRdIScKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjE5MTogRXJyb3I6IGxvIHJlZ2lzdGVyIHJlcXVpcmVkIC0tIGBsZHIgcGMsW3NwXScKKyN8IG1ha2U6ICoqKiBbc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLm9dIEVycm9yIDEKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2dkYi9jZ2RiL3JlbW92ZS1oZWxwMm1hbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2NnZGIvY2dkYi9yZW1vdmUtaGVscDJtYW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM1ODYyOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2NnZGIvY2dkYi9yZW1vdmUtaGVscDJtYW4ucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRGlzYWJsZSBidWlsZGluZyBtYW5wYWdlcyBzbyB0aGF0IG1ha2UgaW5zdGFsbCBkb2Vzbid0IGZhaWwgZHVlIHRvIGxhY2sgb2YgaGVscDJtYW4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK1NpZ25lZC1vZmYtYnk6IE1hdHRoaWV1IENyYXBldCA8TWF0dGhpZXUuQ3JhcGV0QGluZ2VuaWNvLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyAgICB8IDMgLS0tCisgZG9jL01ha2VmaWxlLmFtIHwgNSAtLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZWU3ZWNhMC4uMWYwZDkyNCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTM0LDkgKzEzNCw2IEBAIGRubCBjaGVjayB0aGF0IHRoZSByZXF1aXJlZCB0b29scyBhcmUgYXZhaWxhYmxlIHRvIGdlbmVyYXRlIGRvY3VtZW50YXRpb24KKyBpZiB0ZXN0ICIkSEFTX01BS0VJTkZPIiAhPSAieWVzIiA7IHRoZW4KKyAJQUNfTVNHX0VSUk9SKFtQbGVhc2UgaW5zdGFsbCBtYWtlaW5mbyBiZWZvcmUgaW5zdGFsbGluZ10pCisgZmkKKy1pZiB0ZXN0ICIkSEFTX0hFTFAyTUFOIiAhPSAieWVzIiA7IHRoZW4KKy0JQUNfTVNHX0VSUk9SKFtQbGVhc2UgaW5zdGFsbCBoZWxwMm1hbl0pCistZmkKKyAKKyBkbmwgQ2hlY2tpbmcgZm9yIGxvZzEwIGZ1bmN0aW9uIGluIG1hdGggLSBJIHdvdWxkIGxpa2UgdG8gcmVtb3ZlIHRoaXMKKyBBQ19DSEVDS19MSUIobSwgbG9nMTApCitkaWZmIC0tZ2l0IGEvZG9jL01ha2VmaWxlLmFtIGIvZG9jL01ha2VmaWxlLmFtCitpbmRleCA2MDY2MmY2Li4wYWUwMDEzIDEwMDY0NAorLS0tIGEvZG9jL01ha2VmaWxlLmFtCisrKysgYi9kb2MvTWFrZWZpbGUuYW0KK0BAIC0xLDE1ICsxLDEwIEBACisgaW5mb19URVhJTkZPUyA9IGNnZGIudGV4aQorIGNnZGJfVEVYSU5GT1MgPSBncGwudGV4aQorIAorLWRpc3RfbWFuX01BTlMgPSBjZ2RiLjEKKyBFWFRSQV9ESVNUID0gY2dkYi50eHQKKyAKKyBkaXN0X3BrZ2RhdGFfREFUQSA9IGNnZGIudHh0CisgCistIyBnZW5lcmF0ZSB0aGUgbWFuIHBhZ2UgdXNpbmcgaGVscDJtYW4uCistY2dkYi4xOgorLQloZWxwMm1hbiAtLW91dHB1dD0kKHRvcF9zcmNkaXIpL2RvYy9jZ2RiLjEgJCh0b3BfYnVpbGRkaXIpL2NnZGIvY2dkYiQoRVhFRVhUKQorLQorIGNnZGIudHh0OiBjZ2RiLnRleGkgJChzcmNkaXIpL3ZlcnNpb24udGV4aSAkKGNnZGJfVEVYSU5GT1MpCisgVEVYVFMgPSBjZ2RiLnR4dAorIHRleHQtYW06ICQoVEVYVFMpCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2NnZGIvY2dkYl8wLjYuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2NnZGIvY2dkYl8wLjYuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDAxOWZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2dkYi9jZ2RiXzAuNi44LmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiY3Vyc2VzLWJhc2VkIGludGVyZmFjZSB0byBHREIiCitERVNDUklQVElPTiA9ICJjZ2RiIGlzIGEgbGlnaHR3ZWlnaHQgY3Vyc2VzICh0ZXJtaW5hbC1iYXNlZCkgaW50ZXJmYWNlIHRvIHRoZSBHTlUgRGVidWdnZXIgKEdEQikuIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnZGIuZ2l0aHViLmlvLyIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK0RFUEVORFMgPSAiZmxleC1uYXRpdmUgcmVhZGxpbmUgbmN1cnNlcyIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworU1JDX1VSSSA9ICJodHRwOi8vY2dkYi5tZS9maWxlcy8ke0JQfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9yZW1vdmUtaGVscDJtYW4ucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiN2JkMzhjNzliZjRkNzk0ZDIzOTkyOGZlZjQwMWZjYTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmUyMDNlMjliZTI5NTA5NzQzOWFiNjdlZmUzZGM4MjYxZjc0MmM1NWZmMzY0NzcxOGQ2N2Q1Mjg5MWY0Y2Y0MSIKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYWNfY3ZfZmlsZV9fZGV2X3B0bXg9eWVzIGFjX2N2X3JsX3ZlcnNpb249Ni4yIgorRVhUUkFfT0VDT05GID0gIi0td2l0aC1yZWFkbGluZT0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgLS13aXRoLW5jdXJzZXM9JHtTVEFHSU5HX0xJQkRJUn0iCisKK1JERVBFTkRTXyR7UE59ID0gImdkYiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Nsb3VkOS9jbG91ZDkvMDAwMS1pZGUtdXNlLW5vZGUtYXMtaW50ZXJwcmV0ZXItZm9yLXNrZXRjaGVzLWluc3RlYWQtb2YtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2xvdWQ5L2Nsb3VkOS8wMDAxLWlkZS11c2Utbm9kZS1hcy1pbnRlcnByZXRlci1mb3Itc2tldGNoZXMtaW5zdGVhZC1vZi0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjMyMzExYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Nsb3VkOS9jbG91ZDkvMDAwMS1pZGUtdXNlLW5vZGUtYXMtaW50ZXJwcmV0ZXItZm9yLXNrZXRjaGVzLWluc3RlYWQtb2YtLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gYWMxOTUzZDA0ZjNmMjZkNmFhNWQ4ZjUzYTkzOTdkM2JhMGU5NmZhMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBjaXJjdWl0Y28uY29tPgorRGF0ZTogRnJpLCAxMSBNYXkgMjAxMiAxNToyMzowMiArMDAwMAorU3ViamVjdDogW1BBVENIXSBpZGU6IHVzZSAnbm9kZScgYXMgaW50ZXJwcmV0ZXIgZm9yIHNrZXRjaGVzIGluc3RlYWQgb2YKKyBhcmd2WzBdCisKK1RoaXMgZW5hYmxlcyBydW5uaW5nIHNjcmlwdHMgd2l0aCBub2RlIDAuNi54IGluc3RlYWQgb2YgMC40LngKKworU2lnbmVkLW9mZi1ieTogcm9vdCA8cm9vdEBiZWFnbGVib25lLihub25lKT4KKy0tLQorIHNlcnZlci9jbG91ZDkvaWRlLmpzIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2VydmVyL2Nsb3VkOS9pZGUuanMgYi9zZXJ2ZXIvY2xvdWQ5L2lkZS5qcworaW5kZXggY2U3ODJmNS4uNmM0ZTBmNyAxMDA2NDQKKy0tLSBhL3NlcnZlci9jbG91ZDkvaWRlLmpzCisrKysgYi9zZXJ2ZXIvY2xvdWQ5L2lkZS5qcworQEAgLTUzLDcgKzUzLDcgQEAgdmFyIElkZSA9IG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24ob3B0aW9ucywgaHR0cFNlcnZlciwgZXh0cywgc29ja2V0KSB7CisgICAgIH07CisgCisgICAgIHRoaXMuJHVzZXJzID0ge307CistICAgIHRoaXMubm9kZUNtZCA9IHByb2Nlc3MuYXJndlswXTsKKysgICAgdGhpcy5ub2RlQ21kID0gIm5vZGUiOworIAorICAgICB2YXIgZGF2T3B0aW9ucyA9IHsKKyAgICAgICAgIG5vZGU6IHRoaXMub3B0aW9ucy5tb3VudERpciwKKy0tIAorMS43LjcKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2xvdWQ5L2Nsb3VkOS9jbG91ZDktYXZhaGkuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Nsb3VkOS9jbG91ZDkvY2xvdWQ5LWF2YWhpLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2I5YjZlMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Nsb3VkOS9jbG91ZDkvY2xvdWQ5LWF2YWhpLnNlcnZpY2UKQEAgLTAsMCArMSwxMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSdubyc/PjwhLS0qLW54bWwtKi0tPgorPCFET0NUWVBFIHNlcnZpY2UtZ3JvdXAgU1lTVEVNICJhdmFoaS1zZXJ2aWNlLmR0ZCI+CisKKzxzZXJ2aWNlLWdyb3VwPgorICA8bmFtZSByZXBsYWNlLXdpbGRjYXJkcz0ieWVzIj5DbG91ZDkgSURFIG9uICVoPC9uYW1lPgorICA8c2VydmljZT4KKyAgICA8dHlwZT5faHR0cC5fdGNwPC90eXBlPgorICAgIDxwb3J0PjMwMDA8L3BvcnQ+CisgIDwvc2VydmljZT4KKzwvc2VydmljZS1ncm91cD4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Nsb3VkOS9jbG91ZDkvY2xvdWQ5LnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jbG91ZDkvY2xvdWQ5L2Nsb3VkOS5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5NWIxMzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jbG91ZDkvY2xvdWQ5L2Nsb3VkOS5zZXJ2aWNlCkBAIC0wLDAgKzEsMTEgQEAKK1tVbml0XQorRGVzY3JpcHRpb249Q2xvdWQ5IElERQorQ29uZGl0aW9uUGF0aEV4aXN0cz18L3Zhci9saWIvY2xvdWQ5CisKK1tTZXJ2aWNlXQorUmVzdGFydD1hbHdheXMKK0Vudmlyb25tZW50RmlsZT0tL2V0Yy9kZWZhdWx0L25vZGUKK0V4ZWNTdGFydD0vdXNyL2Jpbi9ub2RlNCAvdXNyL3NoYXJlL2Nsb3VkOS9iaW4vY2xvdWQ5LmpzIC1sIDAuMC4wLjAgLXcgL3Zhci9saWIvY2xvdWQ5IC1wIDMwMDAKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2xvdWQ5L2Nsb3VkOS9pbmRleC5qcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Nsb3VkOS9jbG91ZDkvaW5kZXguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODhjOWExOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2Nsb3VkOS9jbG91ZDkvaW5kZXguanMKQEAgLTAsMCArMSwyIEBACit2YXIgbzMgPSByZXF1aXJlKCcuL28zLmpzJykKK21vZHVsZS5leHBvcnRzID0gbzMueG1sOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2xvdWQ5L2Nsb3VkOV8wLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jbG91ZDkvY2xvdWQ5XzAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2U1MjRkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY2xvdWQ5L2Nsb3VkOV8wLjYuYmIKQEAgLTAsMCArMSwxMTggQEAKK1NVTU1BUlkgPSAiTWVldCBDbG91ZDksIGRldmVsb3BtZW50LWFzLWEtc2VydmljZSBmb3IgSmF2YXNjcmlwdGVycyBhbmQgb3RoZXIgZGV2ZWxvcGVycyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jOS5pbyIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00Nzg0YzNiY2ZmNjAxZmQ4Zjk1MTVmNTJhMTFlNzAxOCIKKworUFIgPSAicjUiCisKKyMgTm9kZWpzLW5hdGl2ZSBmb3Igbm9kZS13YWYsIG5vZGVqczQtbmF0aXZlIGZvciB0aGUgaGVhZGVycworREVQRU5EUyA9ICJsaWJ4bWwyIG5vZGVqcy1uYXRpdmUgbm9kZWpzNC1uYXRpdmUiCisKK1BOQkxBQ0tMSVNUW2Nsb3VkOV0gPz0gIk5vdCBjb21hdGlibGUgd2l0aCBjdXJyZW50IG5vZGVqcyAwLjEyLCBidXQgdXBzdHJlYW0gaXMgd29ya2luZyBvbiBpdCBmb3IgdjMiCitpbmhlcml0IHN5c3RlbWQKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FqYXhvcmcvY2xvdWQ5LmdpdDtuYW1lPWNsb3VkOWlkZSBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vYWpheG9yZy9vMztkZXN0c3VmZml4PW8zO25hbWU9bzMgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2FqYXhvcmcvYWNlLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L2FjZTtuYW1lPWFjZSBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vYWpheG9yZy9hY2Uud2lraS5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9hY2UvZG9jL3dpa2k7bmFtZT1hY2V3aWtpIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9hamF4b3JnL2FwZi5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9hcGY7bmFtZT1hcGYgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2FqYXhvcmcvYXN5bmMuanMuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3N1cHBvcnQvYXN5bmNqcztuYW1lPWFzeW5janMgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2FqYXhvcmcvY29ubmVjdC5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9jb25uZWN0O25hbWU9Y29ubmVjdDticmFuY2g9YWpheG9yZyBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vamFzaGtlbmFzL2NvZmZlZS1zY3JpcHQuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3N1cHBvcnQvY29ubmVjdC9zdXBwb3J0L2NvZmZlZS1zY3JpcHQ7bmFtZT1jb2ZmZWUtc2NyaXB0IFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS92aXNpb25tZWRpYS9leHByZXNzby5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9jb25uZWN0L3N1cHBvcnQvZXhwcmVzc287bmFtZT1leHByZXNzbyBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vdmlzaW9ubWVkaWEvbm9kZS1qc2NvdmVyYWdlLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L2Nvbm5lY3Qvc3VwcG9ydC9leHByZXNzby9kZXBzL2pzY292ZXJhZ2U7bmFtZT1qc2NvdmVyYWdlIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9jbG91ZGhlYWQvbGVzcy5qcy5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9jb25uZWN0L3N1cHBvcnQvbGVzcztuYW1lPWxlc3MgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL21hdGVoYXQvc2Fzcy5qcy5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9jb25uZWN0L3N1cHBvcnQvc2FzcztuYW1lPXNhc3MgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2FqYXhvcmcvanNEQVYuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3N1cHBvcnQvanNkYXY7bmFtZT1qc2RhdiBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vZmpha29icy9hc3luYy5qcy5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9qc2Rhdi9zdXBwb3J0L2FzeW5jLmpzO25hbWU9YXN5bmMtanMgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2ZlbGl4Z2Uvbm9kZS1mb3JtaWRhYmxlLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L2pzZGF2L3N1cHBvcnQvZm9ybWlkYWJsZTtuYW1lPWZvcm1pZGFibGUgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2FqYXhvcmcvanNmdHAuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3N1cHBvcnQvanNkYXYvc3VwcG9ydC9qc2Z0cDtuYW1lPWpzZnRwIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9Hb3phbGEvc3RyZWFtZXIuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3N1cHBvcnQvanNkYXYvc3VwcG9ydC9qc2Z0cC9zdXBwb3J0L3N0cmVhbWVyO25hbWU9c3RyZWFtZXIgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2FqYXhvcmcvbm9kZS1zZnRwLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L2pzZGF2L3N1cHBvcnQvbm9kZS1zZnRwO25hbWU9c2Z0cCBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vYWpheG9yZy9saWItdjhkZWJ1Zy5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9saWItdjhkZWJ1ZztuYW1lPWxpYi12OGRlYnVnIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9hamF4b3JnL3NvY2tldC5pby5naXQ7ZGVzdHN1ZmZpeD1naXQvc3VwcG9ydC9zb2NrZXQuaW87bmFtZT1zb2NrZXRpbzticmFuY2g9Y2Fkb3JuLXVwc3RyZWFtIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9MZWFybkJvb3N0L3NvY2tldC5pby1jbGllbnQuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3N1cHBvcnQvc29ja2V0LmlvLWNsaWVudDtuYW1lPXNvY2tldGlvLWNsaWVudCBcCisgICAgICAgICAgIGdpdDovL2dpdGh1Yi5jb20vYWpheG9yZy90cmVlaHVnZ2VyLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L3RyZWVodWdnZXI7bmFtZT10cmVlaHVnZ2VyIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9hamF4b3JnL1VnbGlmeUpTLmdpdDtkZXN0c3VmZml4PWdpdC9zdXBwb3J0L3VnbGlmeS1qcztuYW1lPXVnbGlmeS1qcyBcCisgICAgICAgICAgIGZpbGU6Ly9pbmRleC5qcyBcCisgICAgICAgICAgIGZpbGU6Ly9jbG91ZDktYXZhaGkuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9jbG91ZDkuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWlkZS11c2Utbm9kZS1hcy1pbnRlcnByZXRlci1mb3Itc2tldGNoZXMtaW5zdGVhZC1vZi0ucGF0Y2ggXAorIgorCitTUkNSRVZfY2xvdWQ5aWRlID0gImM0ZTI1NzQ4OTZhMjJiYjc0OWYwNTAwYjI1ZjQxYzg4OGQzNDZiZWQiCitTUkNSRVZfbzMgPSAiZDY2ZDRlMzI1MmU1MDVmNDRhZGE2ODA0YzhjYWIzOTkxNWNlOGFmZCIKK1NSQ1JFVl9hY2UgPSAiMGZjNTM5MmNiZTQ2ZmIxMzQwNTJjMzA2NWEyMzhhZDhlM2IzMWNmZCIKK1NSQ1JFVl9hY2V3aWtpID0gImQyYTY1ZDBhZGRjMmU1YWI5MjJiYmZmOWNiNjAyMmE0NjUyYjRmMTMiCitTUkNSRVZfYXBmID0gIjI1NjBiNzYyYjJiMGU1YThiNDZmOGE0MDYyZjkyN2E5YTlkMjM5ZjQiCitTUkNSRVZfYXN5bmNqcyA9ICJkMzZlYWQ0MDhlMjk1OWIxZTk5NTcyMTE0ZWYzYTFiNmE0OGMxMDcyIgorU1JDUkVWX2Nvbm5lY3QgPSAiNmJlYzk1YjUxZjIyODZiOTQyYmM3ZjM0MGQ2MmQ4MTZiY2RjMTNkNCIKK1NSQ1JFVl9jb2ZmZWUtc2NyaXB0ID0gImE1M2MxMDRkYjE2ZDNhYzlkMTNjZjlmMTY4MzRlZGVjMjUwYjk3NDkiCitTUkNSRVZfZXhwcmVzc28gPSAiN2YxMGFiN2ZhNjU1Mjk5YjRlMmY1MTkwNjViMDQ5NWU2YWMzNGVmMiIKK1NSQ1JFVl9qc2NvdmVyYWdlID0gIjBkNDYwOGE2YjQyNzViMDIwYmE2NjUzODlhYTc1ODk3ZDVkNGE1ODQiCitTUkNSRVZfbGVzcyA9ICJhMjgwNzI4ODAwODU4N2I5NWM2YzJmOGJhNWNhYzE2ZjFiY2FiOThmIgorU1JDUkVWX3Nhc3MgPSAiNGRmZDRjNjk5ZTdhOGJhZjIyNjIxNWFiMDQ0ODU0YzQ1MDdmNDQyMCIKK1NSQ1JFVl9qc2RhdiA9ICJmMDRlYmYzZDAxMmNjOGFlYWJmY2ZiMmI4ZmFiODk2NmQ1MjkyOWU5IgorU1JDUkVWX2FzeW5jLWpzID0gIjkyZmI3MTBhNzBlZmQzY2RjMjM3NmViZmJhNzFhN2ZiM2E0ZjE2NTEiCitTUkNSRVZfZm9ybWlkYWJsZSA9ICJhMzcyOTJkNGI3ZDZkNzZhMzg5MDllZDY3MDMzNGM5MDY4ZDQwODcxIgorU1JDUkVWX2pzZnRwID0gImUzZjEwYzg5MjczNDdjMTcwY2RkMDE1MGVmMzhlMTgyNzJhY2Y5NDIiCitTUkNSRVZfc3RyZWFtZXIgPSAiMWE3Zjc1ZDQwNjU4MTkxNzFhYzkxYTA5OTc0MTk5YjkzMmRiZTE3ZCIKK1NSQ1JFVl9zZnRwID0gImEwNTM5MzQ1MTM0OTcwZDc1MzVhMTljYjI2MDhlM2QxYmMxMTlkNzEiCitTUkNSRVZfbGliLXY4ZGVidWcgPSAiN2MxMTg5N2Y0YmM3N2M3Mjc1YzJiNmRmZjViZWNjNzJhYzAxODY2MiIKK1NSQ1JFVl9zb2NrZXRpbyA9ICI3MzVkNTIzOWIzMjVkZjJiYTY3ZDJiOWJiNGVjMzI0NDIyODNiYzA2IgorU1JDUkVWX3NvY2tldGlvLWNsaWVudCA9ICI0Mzc1ZWYxMzQ0ZWNiOGFkNzVhMzg0OGEwMGFmNmIzOTE4MjJmODZiIgorU1JDUkVWX3RyZWVodWdnZXIgPSAiNDM2ZDBkNmRkMGNlNDM3ODJlNmJlMDhhZDEyYzM1NjczMDYyNjk5NiIKK1NSQ1JFVl91Z2xpZnktanMgPSAiOTQxYzg0NWM0YTAxZTRlNDdhMTU4NDU4ZmU4NDZlYjM2ZDA4MjhhZCIKKworU1JDUkVWX0ZPUk1BVCA9ICJjbG91ZDlpZGUiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgY2QgJHtXT1JLRElSfS9vMworICAgIG5vZGUtd2FmIC12diBjb25maWd1cmUKK30KKworRVhUUkFfQ1hYRkxBR1MgPSAiLUlkZWZhdWx0L2luY2x1ZGUgLUkuLi9pbmNsdWRlIC1JZGVmYXVsdC9ob3N0cyAtSS4uL2hvc3RzIC1JZGVmYXVsdC9tb2R1bGVzIC1JLi4vbW9kdWxlcyAtSWRlZmF1bHQvZGVwcyAtSS4uL2RlcHMgLUkke1NUQUdJTkdfRElSX05BVElWRX0vdXNyL2luY2x1ZGUvbm9kZTQgLWZQSUMgLURQSUMiCisKK2RvX2NvbXBpbGUgKCkgeworICAgIGNkICR7V09SS0RJUn0vbzMKKyAgICBub2RlNCB0b29scy9nbHVlZ2VuLmpzCisgICAgY2QgaG9zdHMKKyAgICAke0NYWH0gJHtUQVJHRVRfQ1hYRkxBR1N9ICR7RVhUUkFfQ1hYRkxBR1N9IC1jIC1vIHNoX25vZGUubyBub2RlLW8zL3NoX25vZGUuY2MKKyAgICAke0NYWH0gJHtUQVJHRVRfQ1hYRkxBR1N9ICR7RVhUUkFfQ1hYRkxBR1N9IC1jIC1vIHNoX25vZGVfbGlicy5vIG5vZGUtbzMvc2hfbm9kZV9saWJzLmNjCisgICAgY2QgLi4KKyAgICAke0NYWH0gJHtUQVJHRVRfTERGTEFHU30gaG9zdHMvc2hfbm9kZS5vIGhvc3RzL3NoX25vZGVfbGlicy5vIC1vIG8zLm5vZGUgLXNoYXJlZCAtV2wsLUJkeW5hbWljIC1seG1sMgorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7ZGF0YWRpcn0vY2xvdWQ5ICR7RH0ke2JpbmRpcn0gJHtEfS92YXIvbGliL2Nsb3VkOQorICAgIHJzeW5jIC1yIC0tZXhjbHVkZT0iLioiICR7U30vKiAke0R9JHtkYXRhZGlyfS9jbG91ZDkKKworICAgIHRvdWNoICR7RH0ke2JpbmRpcn0vY2xvdWQ5CisgICAgZWNobyAiIyEvYmluL3NoIiA+ICR7RH0ke2JpbmRpcn0vY2xvdWQ5CisgICAgZWNobyAibm9kZTQgJHtkYXRhZGlyfS9jbG91ZDkvYmluL2Nsb3VkOS5qcyAtbCAwLjAuMC4wIC13IC92YXIvbGliL2Nsb3VkOSAtcCAzMDAwIiA+PiAke0R9JHtiaW5kaXJ9L2Nsb3VkOQorICAgIGNobW9kIDA3NTUgJHtEfSR7YmluZGlyfS9jbG91ZDkKKworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtkYXRhZGlyfS9jbG91ZDkvc3VwcG9ydC9qc2Rhdi9zdXBwb3J0L25vZGUtbzMteG1sLXY0L2xpYi9vMy14bWwKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9pbmRleC5qcyAke0R9JHtkYXRhZGlyfS9jbG91ZDkvc3VwcG9ydC9qc2Rhdi9zdXBwb3J0L25vZGUtbzMteG1sLXY0L2xpYi9vMy14bWwvaW5kZXguanMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9vMy9tb2R1bGVzL28zLmpzICR7RH0ke2RhdGFkaXJ9L2Nsb3VkOS9zdXBwb3J0L2pzZGF2L3N1cHBvcnQvbm9kZS1vMy14bWwtdjQvbGliL28zLXhtbC9vMy5qcworICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L28zL28zLm5vZGUgJHtEfSR7ZGF0YWRpcn0vY2xvdWQ5L3N1cHBvcnQvanNkYXYvc3VwcG9ydC9ub2RlLW8zLXhtbC12NC9saWIvbzMteG1sL28zLm5vZGUKKworICAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0vYXZhaGkvc2VydmljZXMvCisgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2Nsb3VkOS1hdmFoaS5zZXJ2aWNlICR7RH0ke3N5c2NvbmZkaXJ9L2F2YWhpL3NlcnZpY2VzLworICAgICAKKyAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9jbG91ZDkuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorfQorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7ZGF0YWRpcn0vY2xvdWQ5L3N1cHBvcnQvanNkYXYvc3VwcG9ydC9ub2RlLW8zLXhtbC12NC9saWIvbzMteG1sLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vY2xvdWQ5L3N1cHBvcnQvanNkYXYvc3VwcG9ydC9ub2RlLW8zLXhtbC12NC9saWIvLmRlYnVnIFwKKyIKKworUkRFUEVORFNfJHtQTn0gPSAibm9kZWpzNCBub2RlanMgZ3ppcCIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJjbG91ZDkuc2VydmljZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2NvbmN1cnJlbmN5a2l0L2NvbmN1cnJlbmN5a2l0L2Nyb3NzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY29uY3VycmVuY3lraXQvY29uY3VycmVuY3lraXQvY3Jvc3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNiZmFiNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2NvbmN1cnJlbmN5a2l0L2NvbmN1cnJlbmN5a2l0L2Nyb3NzLnBhdGNoCkBAIC0wLDAgKzEsNTUgQEAKK0luZGV4OiBnaXQvY29uZmlndXJlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvY29uZmlndXJlCTIwMTItMTEtMTkgMjE6MDc6NTEuOTE3NDI5NDY1IC0wODAwCisrKysgZ2l0L2NvbmZpZ3VyZQkyMDEyLTExLTE5IDIxOjEzOjE5LjMzNzQzNzI3OCAtMDgwMAorQEAgLTQzOSwxNCArNDQyLDE4IEBACisgCUdaSVBfU1VGRklYPSIuZ3oiCisgZmkKKyAKKy1wcmludGYgIkZpbmRpbmcgc3VpdGFibGUgY29tcGlsZXIuLi4uLi4uLiIKKy1DQz1gcGF0aHNlYXJjaCAiJHtDQzotY2N9ImAKKy1pZiB0ZXN0IC16ICIkQ0MiIC1vICEgLXggIiRDQyI7IHRoZW4KKy0JQ0M9YHBhdGhzZWFyY2ggIiR7Q0M6LWdjY30iYAorK2lmIHRlc3QgLXogIiRDQyI7IHRoZW4KKysJcHJpbnRmICJGaW5kaW5nIHN1aXRhYmxlIGNvbXBpbGVyLi4uLi4uLi4iCisrCUNDPWBwYXRoc2VhcmNoICIke0NDOi1jY30iYAorKwlpZiB0ZXN0IC16ICIkQ0MiIC1vICEgLXggIiRDQyI7IHRoZW4KKysJCUNDPWBwYXRoc2VhcmNoICIke0NDOi1nY2N9ImAKKysJZmkKKyBmaQorIGFzc2VydCAiJENDIiAibm90IGZvdW5kIgorIAorLWNhdCA8PCBFT0YgPiAuMS5jCisraWYgdGVzdCAteiAiJENPTVBJTEVSIjsgdGhlbgorKworKwljYXQgPDwgRU9GID4gLjEuYworICNpbmNsdWRlIDxzdGRpby5oPgorIGludCBtYWluKHZvaWQpIHsKKyAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKF9fR05VQ19fID49IDQpCitAQCAtNTY5LDE2ICs1NzYsMTYgQEAKKyAjZW5kaWYKKyB9CisgRU9GCistCistJENDIC1vIC4xIC4xLmMKKy1DT01QSUxFUj1gLi8uMWAKKy1yPSQ/Cistcm0gLWYgLjEuYyAuMQorLQorLWlmIHRlc3QgIiRyIiAtbmUgMDsgdGhlbgorLQlhc3NlcnQgIiIgInVwZGF0ZSBjb21waWxlciIKKy1lbHNlCistCWVjaG8gInN1Y2Nlc3MgWyRDQ10iCisrCSRDQyAtbyAuMSAuMS5jCisrCUNPTVBJTEVSPWAuLy4xYAorKwlyPSQ/CisrCXJtIC1mIC4xLmMgLjEKKysKKysJaWYgdGVzdCAiJHIiIC1uZSAwOyB0aGVuCisrCQlhc3NlcnQgIiIgInVwZGF0ZSBjb21waWxlciIKKysJZWxzZQorKwkJZWNobyAic3VjY2VzcyBbJENDXSIKKysJZmkKKyBmaQorIAorIGlmIHRlc3QgIiRDT01QSUxFUiIgPSAic3VuY2MiOyB0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jb25jdXJyZW5jeWtpdC9jb25jdXJyZW5jeWtpdF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jb25jdXJyZW5jeWtpdC9jb25jdXJyZW5jeWtpdF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTEyNDNjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2NvbmN1cnJlbmN5a2l0L2NvbmN1cnJlbmN5a2l0X2dpdC5iYgpAQCAtMCwwICsxLDQxIEBACitERVNDUklQVElPTiA9ICJDb25jdXJyZW5jeSBLaXQgcHJvdmlkZXMgYSBwbGV0aG9yYSBvZiBjb25jdXJyZW5jeSBwcmltaXRpdmVzLCBcCitzYWZlIG1lbW9yeSByZWNsYW1hdGlvbiBtZWNoYW5pc21zIGFuZCBub24tYmxvY2tpbmcgZGF0YSBzdHJ1Y3R1cmVzIFwKK2Rlc2lnbmVkIHRvIGFpZCBpbiB0aGUgZGVzaWduIGFuZCBpbXBsZW1lbnRhdGlvbiBvZiBoaWdoIHBlcmZvcm1hbmNlIFwKK2NvbmN1cnJlbnQgc3lzdGVtcy4iCisKK0xJQ0VOU0UgPSAiQlNEICYgQXBhY2hlLTIuMCIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb25jdXJyZW5jeWtpdC5vcmciCitTRUNUSU9OID0gImJhc2UiCisKK1BWID0gIjAuNS4xK2dpdCR7U1JDUFZ9IgorU1JDUkVWID0gImY5N2QzZGE1YzM3NWFjMmZjNWE5MTczY2RkMzZjYjgyODkxNWEyZTEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1hMGIyNGMxYThmOWFkNTE2YTI5N2QwNTViMDI5NDIzMSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9jb25jdXJyZW5jeWtpdC9jay5naXQ7cHJvdG9jb2w9aHR0cHMgXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitDT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fHBvd2VycGN8cG93ZXJwYzY0KS4qLWxpbnV4KiIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK1BMQVRfcG93ZXJwYzY0ID0gInBwYzY0IgorUExBVCA/PSAiJHtIT1NUX0FSQ0h9IgorCitkb19jb25maWd1cmUgKCkgeworICAgIGV4cG9ydCBQTEFURk9STT0ke1BMQVR9CisgICAgZXhwb3J0IENPTVBJTEVSPSdnY2MnCisgICAgJHtTfS9jb25maWd1cmUgXAorICAgIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgLS1pbmNsdWRlZGlyPSR7aW5jbHVkZWRpcn0gXAorICAgIC0tbGliZGlyPSR7bGliZGlyfQorfQorCitkb19jb21waWxlICgpIHsKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3BwdW5pdC9jcHB1bml0XzEuMTMuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2NwcHVuaXQvY3BwdW5pdF8xLjEzLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQyMDI5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2NwcHVuaXQvY3BwdW5pdF8xLjEzLjEuYmIKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT04gPSAiQ3BwVW5pdCBpcyB0aGUgQysrIHBvcnQgb2YgdGhlIGZhbW91cyBKVW5pdCBmcmFtZXdvcmsgZm9yIHVuaXQgdGVzdGluZy4gVGVzdCBvdXRwdXQgaXMgaW4gWE1MIGZvciBhdXRvbWF0aWMgdGVzdGluZyBhbmQgR1VJIGJhc2VkIGZvciBzdXBlcnZpc2VkIHRlc3RzLiAiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL2NwcHVuaXQiCitMSUNFTlNFID0gIkxHUEwtMi4xIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03ZmJjMzM4MzA5YWMzOGZlZmNkNjRiMDRiYjkwM2UzNCIKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vZGV2LXd3dy5saWJyZW9mZmljZS5vcmcvc3JjL2NwcHVuaXQtJHtQVn0udGFyLmd6IFwKKyAgICBmaWxlOi8vMDAwMS1kb2MtTWFrZWZpbGUuYW0tZG8tbm90LXByZXNlcnZlLWZpbGUtZmxhZ3Mtd2hlbi1jb3B5LnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYTlhYTgzOTE0NWNkZjg2MGJmNTk2NTMyYmI4YWY5NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNWI5ZjNmZmM5ZjE2MzRkNzViMjBiNTRmNDhjMDJlMDgxN2JjYTZhZmExZDUxNjBiMjQ0ODg5ZDZiZmY4ZTBmIgorCitpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3BwdW5pdC9maWxlcy8wMDAxLWRvYy1NYWtlZmlsZS5hbS1kby1ub3QtcHJlc2VydmUtZmlsZS1mbGFncy13aGVuLWNvcHkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jcHB1bml0L2ZpbGVzLzAwMDEtZG9jLU1ha2VmaWxlLmFtLWRvLW5vdC1wcmVzZXJ2ZS1maWxlLWZsYWdzLXdoZW4tY29weS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTIwYzEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3BwdW5pdC9maWxlcy8wMDAxLWRvYy1NYWtlZmlsZS5hbS1kby1ub3QtcHJlc2VydmUtZmlsZS1mbGFncy13aGVuLWNvcHkucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA5ZDdjZTg2OTYwN2QxMjNjZDk4Mzc4OTBkNzFmOTQwYzVjZWQzMzkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogTW9uLCAyOSBGZWIgMjAxNiAwNzo1ODoyMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBkb2MvTWFrZWZpbGUuYW06IGRvIG5vdCBwcmVzZXJ2ZSBmaWxlIGZsYWdzIHdoZW4gY29weWluZworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Nyb3NzIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBkb2MvTWFrZWZpbGUuYW0gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9kb2MvTWFrZWZpbGUuYW0gYi9kb2MvTWFrZWZpbGUuYW0KK2luZGV4IDg4MTU0NzYuLjMyMzc0OTkgMTAwNjQ0CistLS0gYS9kb2MvTWFrZWZpbGUuYW0KKysrKyBiL2RvYy9NYWtlZmlsZS5hbQorQEAgLTIyLDcgKzIyLDcgQEAgaHRtbGRpciArPSAkKHBrZ2RhdGFkaXIpL2h0bWwKKyBodG1sX0RBVEEgKz0gJChzdGF0aWNfcGFnZXMpIGh0bWwvaW5kZXguaHRtbAorIAorIGluc3RhbGwtZGF0YS1ob29rOgorLQljcCAtcFIgaHRtbC8qICQoREVTVERJUikkKGh0bWxkaXIpCisrCWNwIC1SIGh0bWwvKiAkKERFU1RESVIpJChodG1sZGlyKQorIAorICMgQXV0b21ha2UncyAiZGlzdGNoZWNrIiBpcyBzZW5zaXRpdmUgdG8gaGF2aW5nIGZpbGVzIGxlZnQgb3ZlcgorICMgYWZ0ZXIgIm1ha2UgdW5pbnN0YWxsIiwgc28gd2UgaGF2ZSB0byBjbGVhbiB1cCB0aGUgaW5zdGFsbCBob29rLgorLS0gCisyLjUuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jc2NvcGUvY3Njb3BlXzE1LjhiLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3Njb3BlL2NzY29wZV8xNS44Yi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YWE1OTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3Njb3BlL2NzY29wZV8xNS44Yi5iYgpAQCAtMCwwICsxLDI0IEBACisjIENvcHlyaWdodCAoQykgMjAxNSBJZ29yIFNhbnRvcyA8aWdvci5zYW50b3NAYWtlci5jb20uYnI+CisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUIGZvciB0aGUgdGVybXMpCisKK1NVTU1BUlkgPSAiQ3Njb3BlIGlzIGEgdGV4dCBzY3JlZW4gYmFzZWQgc291cmNlIGJyb3dzZXIiCitERVNDUklQVElPTiA9ICJDc2NvcGUgaXMgYSBkZXZlbG9wZXIncyB0b29sIGZvciBicm93c2luZyBzb3VyY2UgY29kZS4gXAorICAgICAgICAgICAgICAgSXQgaGFzIGFuIGltcGVjY2FibGUgVW5peCBwZWRpZ3JlZSwgaGF2aW5nIGJlZW4gb3JpZ2luYWxseSBcCisgICAgICAgICAgICAgICBkZXZlbG9wZWQgYXQgQmVsbCBMYWJzIGJhY2sgaW4gdGhlIGRheXMgb2YgdGhlIFBEUC0xMS4gXAorICAgICAgICAgICAgICAgQ3Njb3BlIHdhcyBwYXJ0IG9mIHRoZSBvZmZpY2lhbCBBVCZUIFVuaXggZGlzdHJpYnV0aW9uIGZvciBcCisgICAgICAgICAgICAgICBtYW55IHllYXJzLCBhbmQgaGFzIGJlZW4gdXNlZCB0byBtYW5hZ2UgcHJvamVjdHMgaW52b2x2aW5nIDIwIFwKKyAgICAgICAgICAgICAgIG1pbGxpb24gbGluZXMgb2YgY29kZSEiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9jc2NvcGUuc291cmNlZm9yZ2UubmV0LyIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kNDY2N2I2N2I0ODM4MjMwNDNmY2ZmYTQ4OWVhMzQzYiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworREVQRU5EUyArPSAibmN1cnNlcyIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L2NzY29wZS9jc2NvcGUvJHtQVn0vJHtCUH0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGY5NDA5YTIzOGVlMzEzYTk2ZjlmODdmZTBmM2IxNzYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDg4OWQwOTFmMDVhYTA4NDUzODRiMWU0OTY1YWEzMWQyYjIwOTExZmIyYzAwMWIyY2RjZmZiY2I3MjEyZDNhZiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2N0YWdzL2N0YWdzXzUuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2N0YWdzL2N0YWdzXzUuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDA2ZDgzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3RhZ3MvY3RhZ3NfNS44LmJiCkBAIC0wLDAgKzEsMjUgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE1IElnb3IgU2FudG9zIDxpZ29yLnNhbnRvc0Bha2VyLmNvbS5icj4KKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworU1VNTUFSWSA9ICJFeHViZXJhbnQgQ3RhZ3MiCitERVNDUklQVElPTiA9ICJFeHViZXJhbnQgQ3RhZ3MgaXMgYSBtdWx0aWxhbmd1YWdlIHJlaW1wbGVtZW50YXRpb24gb2YgdGhlIFwKKyAgICAgICAgICAgICAgIFVuaXggY3RhZ3MgdXRpbGl0eS4gQ3RhZ3MgZ2VuZXJhdGVzIGFuIGluZGV4IG9mIHNvdXJjZSBjb2RlIFwKKyAgICAgICAgICAgICAgIGRlZmluaXRpb25zIHdoaWNoIGlzIHVzZWQgYnkgbnVtZXJvdXMgZWRpdG9ycyBhbmQgdXRpbGl0aWVzIFwKKyAgICAgICAgICAgICAgIHRvIGluc3RhbnRseSBsb2NhdGUgdGhlIGRlZmluaXRpb25zLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL2N0YWdzLnNvdXJjZWZvcmdlLm5ldC8iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK1NSQ19VUkkgPSAiaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC8ke0JQTn0vJHtCUH0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzAwZjgyZWNkY2MzNTc0MzQ3MzE5MTNlNWI0ODYzMGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGU0NGI0NWRjYWJlOTY5ZTBiYmJiMTFlMzBjMjQ2ZjgxYWJlNWQzMjAxMmRiMzczOTVlYjU3ZDY2ZTllOTljNyIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1EbSA3NTUgJHtCfS9jdGFncyAke0R9JHtiaW5kaXJ9L2N0YWdzCisgICAgaW5zdGFsbCAtRG0gNjQ0ICR7Qn0vY3RhZ3MuMSAke0R9JHttYW5kaXJ9L21hbjEvY3RhZ3MuMQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3VuaXQvY3VuaXRfMi4xLTMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jdW5pdC9jdW5pdF8yLjEtMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWQ4N2UzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3VuaXQvY3VuaXRfMi4xLTMuYmIKQEAgLTAsMCArMSwxOSBAQAorREVTQ1JJUFRJT04gPSAiQ1VuaXQgaXMgYSBDIGZyYW1ld29yayBmb3IgdW5pdCB0ZXN0aW5nLiBUZXN0IG91dHB1dCBzdXBwb3J0cyBjb21hbmRsaW5lIGFuZCBHVUkgcmVzdWx0cyByZXBvcnRpbmciCitIT01FUEFHRSA9ICJodHRwOi8vY3VuaXQuc291cmNlZm9yZ2UubmV0IgorTElDRU5TRSA9ICJMR1BMLTIuMCIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc3MzRhYTg1M2I4NWQ2ZjkzNTQ2NmYwODE0OTBkZGJiIgorCitTID0gIiR7V09SS0RJUn0vQ1VuaXQtJHtQVn0iCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvY3VuaXQvQ1VuaXQvJHtQVn0vQ1VuaXQtJHtQVn0udGFyLmJ6MiBcCisgICAgZmlsZTovL2ZpeHVwLWluc3RhbGwtZG9jZGlyLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gImI1ZjFhOWY2MDkzODY5YzA3MGM2ZTRhOTQ1MGNjMTBjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY1YjI5MTM3Zjg0NWJiMDhiNzdlYzYwNTg0ZmRiNzI4YjRlNThmMTAyM2U2ZjI0OWE0NjRlZmE0OWE0MGYyMTQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCByZW1vdmUtbGlidG9vbAorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtbWVtdHJhY2UgLS1lbmFibGUtYXV0b21hdGVkIC0tZW5hYmxlLWJhc2ljIC0tZW5hYmxlLWNvbnNvbGUiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtkYXRhZGlyfS9DVW5pdCIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkb2NkaXJ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3VuaXQvZmlsZXMvZml4dXAtaW5zdGFsbC1kb2NkaXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9jdW5pdC9maWxlcy9maXh1cC1pbnN0YWxsLWRvY2Rpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzI4MjI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvY3VuaXQvZmlsZXMvZml4dXAtaW5zdGFsbC1kb2NkaXIucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbTogIk1pa2UgSG9sbWVzIiA8bWlrZS5ob2xtZXNAbGluYXJvLm9yZz4KK0RhdGU6IFRodSwgMzAgT2N0b2JlciAyMDE0IDE2OjIxOjAzIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeHVwLWluc3RhbGwtZG9jZGlyCisKK1RoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gbWFjcm9zIGZvciBDVW5pdCBpbnN0YWxsIHRoZSBkb2N1bWVudGF0aW9uIGFuZAoraGVhZGVyIGZpbGVzIGluIGxvY2F0aW9ucyBub3QgY29uc2lzdGVudCB3aXRoIHRoZSBPRSBmaWxlc3lzdGVtIGxheW91dC4KK1NvIGhlcmUgd2Ugc3BlY2lmeSBuZXcgbG9jYXRpb25zIHdoaWNoIGFyZSBjb25zaXN0ZW50IHdpdGggT0UgZmlsZXN5c3RlbXMuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSAtIGNvbmZpZ3VyYXRpb24gZm9yIE9FIGJ1aWxkIGVudmlyb25tZW50CisKK1NpZ25lZC1vZmYtYnk6IE1pa2UgSG9sbWVzIDxtaWtlLmhvbG1lc0BsaW5hcm8ub3JnPgorU2lnbmVkLW9mZi1ieTogR2FyeSBTLiBSb2JlcnRzb24gPGdhcnkucm9iZXJ0c29uQGxpbmFyby5vcmc+CistLS0KKworZGlmZiAtdU5yIGEvZG9jL2hlYWRlcnMvTWFrZWZpbGUuYW0gYi9kb2MvaGVhZGVycy9NYWtlZmlsZS5hbQorLS0tIGEvZG9jL2hlYWRlcnMvTWFrZWZpbGUuYW0JMjAxNC0xMC0zMCAyMjowNjoyOS43MDQ1NzQxNjIgKzAxMDAKKysrKyBiL2RvYy9oZWFkZXJzL01ha2VmaWxlLmFtCTIwMTQtMTAtMzAgMjI6MDc6NDMuNTc4NTI0NzkxICswMTAwCitAQCAtMSw2ICsxLDYgQEAKKyAjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KKyAKKy1kb2NoZHJkaXIgPSAkKHByZWZpeCkvZG9jL0BQQUNLQUdFQC9oZWFkZXJzCisrZG9jaGRyZGlyID0gJChkb2NkaXIpL2hlYWRlcnMKKyAKKyBJTkNMVURFX0ZJTEVTID0gXAorIAlBdXRvbWF0ZWQuaCBcCitkaWZmIC11TnIgYS9kb2MvTWFrZWZpbGUuYW0gYi9kb2MvTWFrZWZpbGUuYW0KKy0tLSBhL2RvYy9NYWtlZmlsZS5hbQkyMDE0LTEwLTMwIDIyOjA2OjI5LjcwNDU3NDE2MiArMDEwMAorKysrIGIvZG9jL01ha2VmaWxlLmFtCTIwMTQtMTAtMzAgMjI6MDc6MDEuNDYxNDEyMTY2ICswMTAwCitAQCAtMSw3ICsxLDUgQEAKKyAjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KKyAKKy1kb2NkaXIgPSAkKHByZWZpeCkvZG9jL0BQQUNLQUdFQAorLQorIGRvY19EQVRBID0gXAorIAlDVW5pdF9kb2MuY3NzIFwKKyAJZXJyb3JfaGFuZGxpbmcuaHRtbCBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kZWJvb3RzdHJhcC9kZWJvb3RzdHJhcC9kZXZpY2VzLnRhci5neiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RlYm9vdHN0cmFwL2RlYm9vdHN0cmFwL2RldmljZXMudGFyLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwZWFiYTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kZWJvb3RzdHJhcC9kZWJvb3RzdHJhcC9kZXZpY2VzLnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kZWJvb3RzdHJhcC9kZWJvb3RzdHJhcF8xLjAuNjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kZWJvb3RzdHJhcC9kZWJvb3RzdHJhcF8xLjAuNjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjJiMjc5NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RlYm9vdHN0cmFwL2RlYm9vdHN0cmFwXzEuMC42Ny5iYgpAQCAtMCwwICsxLDM1IEBACitTVU1NQVJZID0gIkluc3RhbGwgYSBEZWJpYW4gc3lzdGVtIGludG8gYSBzdWJkaXJlY3RvcnkiCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kuZGViaWFuLm9yZy9EZWJvb3RzdHJhcCIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gImRlYm9vdHN0cmFwLWN1c3RvbS1saWNlbnNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9MWU2OGNlZDZlMTY4OWQ0Y2Q5ZGFjNzVmZjUyMjU2MDgiCisKK2luaGVyaXQgcGtnY29uZmlnCisKK1NSQ19VUkkgID0gIlwKKyAgICBodHRwOi8vaHR0cC5kZWJpYW4ubmV0L2RlYmlhbi9wb29sL21haW4vZC9kZWJvb3RzdHJhcC9kZWJvb3RzdHJhcF8xLjAuNjcudGFyLmd6IFwKKyAgICBmaWxlOi8vZGV2aWNlcy50YXIuZ3o7dW5wYWNrPTAgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWFjYWJmZTJlNDU0MTVhZjYwYjFkNzRjM2EyMzQxOGEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGExMmUwYTJiYmZmMTg1ZDQ3NzExYTcxNmIxZjI3MzQ4NTYxMDBlODc4NDM2MTIwM2U4MzRmZWQwY2ZmYTUxYiIKKworUyA9ICIke1dPUktESVJ9LyR7QlB9IgorCisjIEFsbCBNYWtlZmlsZSBkb2VzIGlzIGNyZWF0aW9uIG9mIGRldmljZXMudGFyLmd6LCB3aGljaCBmYWlscyBpbiBPRSBidWlsZCwgd2UgdXNlCisjIHN0YXRpYyBkZXZpY2VzLnRhci5neiBhcyB3b3JrIGFyb3VuZAorIyB8IE5PVEU6IG1ha2UgLWogOCAtZSBNQUtFRkxBR1M9CisjIHwgcm0gLXJmIGRldgorIyB8IG1rZGlyIC1wIGRldgorIyB8IGNob3duIDA6MCBkZXYKKyMgfCBjaG93bjogY2hhbmdpbmcgb3duZXJzaGlwIG9mIGBkZXYnOiBPcGVyYXRpb24gbm90IHBlcm1pdHRlZAorIyB8IG1ha2U6ICoqKiBbZGV2aWNlcy50YXIuZ3pdIEVycm9yIDEKKyMgfCBXQVJOSU5HOiBleGl0IGNvZGUgMSBmcm9tIGEgc2hlbGwgY29tbWFuZC4KK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBjcCAke1dPUktESVJ9L2RldmljZXMudGFyLmd6ICR7Qn0KK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKyAgICBjaG93biAtUiByb290OnJvb3QgJHtEfSR7ZGF0YWRpcn0vZGVib290c3RyYXAKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RlamFnbnUvZGVqYWdudS9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kZWphZ251L2RlamFnbnUvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlYjhhZjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kZWphZ251L2RlamFnbnUvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0luZGV4OiBkZWphZ251LTEuNC40L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRlamFnbnUtMS40LjQub3JpZy9jb25maWd1cmUuaW4JMjAxNC0wNy0xOCAwNzowNTo0OS45OTc0ODEyMDcgKzAwMDAKKysrKyBkZWphZ251LTEuNC40L2NvbmZpZ3VyZS5pbgkyMDE0LTA3LTE4IDA3OjA1OjUwLjA4NTQ4MTIxMCArMDAwMAorQEAgLTEsMTAgKzEsMTAgQEAKKyBkbmwgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvY29uZiB0byBwcm9kdWNlIGEgY29uZmlndXJlIHNjcmlwdC4KKyBBQ19QUkVSRVEoMi4xMykKKy1BQ19JTklUKHJ1bnRlc3QuZXhwKQorK0FDX0lOSVQoZGVqYWdudSwgMS40LjQpCisgZG5sIEFDX0NPTkZJR19BVVhfRElSKC4uKQorIAorIGRubCBUaGVzZSBhcmUgcmVxdWlyZWQgYnkgYXV0b21ha2UKKy1BTV9JTklUX0FVVE9NQUtFKGRlamFnbnUsIDEuNC40KQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIEFNX01BSU5UQUlORVJfTU9ERQorIEFDX1BST0dfTUFLRV9TRVQKKyAKK0luZGV4OiBkZWphZ251LTEuNC40L2V4YW1wbGUvY2FsYy9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkZWphZ251LTEuNC40Lm9yaWcvZXhhbXBsZS9jYWxjL2NvbmZpZ3VyZS5pbgkyMDAyLTA0LTI2IDAzOjMyOjQwLjAwMDAwMDAwMCArMDAwMAorKysrIGRlamFnbnUtMS40LjQvZXhhbXBsZS9jYWxjL2NvbmZpZ3VyZS5pbgkyMDE0LTA3LTE4IDA3OjExOjU5LjA4NTQ5MTI2NiArMDAwMAorQEAgLTEsOCArMSw4IEBACisgZG5sIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcHJvZHVjZSBhIGNvbmZpZ3VyZSBzY3JpcHQuCisgQUNfUFJFUkVRKDIuNSkKKy1BQ19JTklUKGNhbGMuYykKKytBQ19JTklUKGNhbGMsIDEuMSkKKyBBTV9DT05GSUdfSEVBREVSKGNhbGMuaCkKKy1BTV9JTklUX0FVVE9NQUtFKGNhbGMsIDEuMSkKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKKyAKKyBBQ19QUk9HX0NDCisgQUNfUFJPR19JTlNUQUxMCitJbmRleDogZGVqYWdudS0xLjQuNC9leGFtcGxlL2hlbGxvL2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRlamFnbnUtMS40LjQub3JpZy9leGFtcGxlL2hlbGxvL2NvbmZpZ3VyZS5pbgkyMDAyLTA4LTMxIDA1OjQ2OjE2LjAwMDAwMDAwMCArMDAwMAorKysrIGRlamFnbnUtMS40LjQvZXhhbXBsZS9oZWxsby9jb25maWd1cmUuaW4JMjAxNC0wNy0xOCAwNzoxMjoyMy43MjE0OTE5MzcgKzAwMDAKK0BAIC0yNSw3ICsyNSw3IEBACisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKyBBQ19JTklUKGhlbGxvd29ybGQsIGRlbW8tdmVyc2lvbiwgcGhpbGlwLndpbHNleUBpZWVlLm9yZykKKy1BTV9JTklUX0FVVE9NQUtFKGhlbGxvd29ybGQsIGRlbW8tdmVyc2lvbikKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKKyAKKyAjQUNfQ09ORklHX1NSQ0RJUihbaGVsbG8uY2NdKQorICNBQ19DT05GSUdfSEVBREVSKFtjb25maWcuaF0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kZWphZ251L2RlamFnbnVfMS40LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kZWphZ251L2RlamFnbnVfMS40LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM3MjZiMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RlamFnbnUvZGVqYWdudV8xLjQuNC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkdOVSB1bml0IHRlc3RpbmcgZnJhbWV3b3JrLCB3cml0dGVuIGluIEV4cGVjdCBhbmQgVGNsIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM5M2MwNTUwYmQzMTczZjQ1MDRiMmNiZDg5OTFlNTBiIgorU0VDVElPTiA9ICJkZXZlbCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9LyR7QlBOfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDUzZjE4ZmQ1ZDAwODczZGUzNjU0MTNjYWIxN2E2NjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDBmYmVkZWYyMGZiMDg0MzMxOGQ2MDU1MTAyMzYzMTE3NmIyN2NlYjFlMTFkZTc0NjhhOTcxNzcwZDBlMDQ4ZCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kdC9kdC9TdG9wLXVzaW5nLXJlbGF0aXZlLXBhdGgtZm9yLXNjc2lsaWIuYy1saW5rLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZHQvZHQvU3RvcC11c2luZy1yZWxhdGl2ZS1wYXRoLWZvci1zY3NpbGliLmMtbGluay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jY2I5YTAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZHQvZHQvU3RvcC11c2luZy1yZWxhdGl2ZS1wYXRoLWZvci1zY3NpbGliLmMtbGluay5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDRjZjdlMTZmZTliNzczZTJlNzc2M2Q0Yjc3Mzg1NGVlZmUyYWE5YWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorRGF0ZTogVHVlLCAxMiBKYW4gMjAxNiAwOTo1OTo1NSAtMDIwMAorU3ViamVjdDogW1BBVENIXSBTdG9wIHVzaW5nIHJlbGF0aXZlIHBhdGggZm9yIHNjc2lsaWIuYyBsaW5rCitPcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIE1ha2VmaWxlLmxpbnV4IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUubGludXggYi9NYWtlZmlsZS5saW51eAoraW5kZXggNzgzMzNmZi4uZTIxMDU2NCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmxpbnV4CisrKysgYi9NYWtlZmlsZS5saW51eAorQEAgLTEyOSw3ICsxMjksNyBAQCBzY3NpbGliLmM6CisgCSAgICBlY2hvICJQbGVhc2Ugc3BlY2lmeSBPUz17YWl4LGxpbnV4LGhwdXgsc29sYXJpcyx3aW5kb3dzfSI7IFwKKyAJICAgIGV4aXQgMTsgXAorIAlmaTsgXAorLQlsbiAtc2YgLi4vc2NzaWxpYi0kKE9TKS5jIHNjc2lsaWIuYworKwlsbiAtc2Ygc2NzaWxpYi0kKE9TKS5jIHNjc2lsaWIuYworIAorIHByaW50OjsKKyAJCUAkKFBSSU5URVIpICQoUFJJTlRGTEFHUykgJChBTExfQ0ZJTEVTKQorLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kdC9kdC9Vc2UtdGNzaC1zaGVsbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2R0L2R0L1VzZS10Y3NoLXNoZWxsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjMDBmZGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kdC9kdC9Vc2UtdGNzaC1zaGVsbC5wYXRjaApAQCAtMCwwICsxLDkyIEBACitGcm9tIGUzYzZlYjg3NzZmNjU5ZWI5ZTZlZWNjZjkwZDc4NWVmZjE4ZWNmNzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorRGF0ZTogTW9uLCAxNSBGZWIgMjAxNiAxODowMDowNSAtMDIwMAorU3ViamVjdDogW1BBVENIXSBVc2UgJ3Rjc2gnIHNoZWxsCitPcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIFNjcmlwdHMvZHRhIHwgMiArLQorIFNjcmlwdHMvZHRjIHwgMiArLQorIFNjcmlwdHMvZHRmIHwgMiArLQorIFNjcmlwdHMvZHRyIHwgMiArLQorIFNjcmlwdHMvZHRzIHwgMiArLQorIFNjcmlwdHMvZHR0IHwgMiArLQorIFNjcmlwdHMvZHR3IHwgMiArLQorIDcgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvU2NyaXB0cy9kdGEgYi9TY3JpcHRzL2R0YQoraW5kZXggZWJjNzA3Mi4uNGY5MDI0NyAxMDA3NTUKKy0tLSBhL1NjcmlwdHMvZHRhCisrKysgYi9TY3JpcHRzL2R0YQorQEAgLTEsNCArMSw0IEBACistIyEvYmluL2NzaAorKyMhL2Jpbi90Y3NoCisgIworICMJU2NyaXB0IGZpbGUgdG8gdGVzdCBhc3luY2hyb25vdXMgY29tbXVuaWNhdGlvbiBsaW5lcy4KKyAjCitkaWZmIC0tZ2l0IGEvU2NyaXB0cy9kdGMgYi9TY3JpcHRzL2R0YworaW5kZXggZGE2OWMyZS4uODlkNDhjMiAxMDA3NTUKKy0tLSBhL1NjcmlwdHMvZHRjCisrKysgYi9TY3JpcHRzL2R0YworQEAgLTEsNCArMSw0IEBACistIyEvYmluL2NzaAorKyMhL2Jpbi90Y3NoCisgIwklWiUlTSUgJUklICVFJQorICMKKyAjCURhdGU6CUF1Z3VzdCA3LCAxOTkwCitkaWZmIC0tZ2l0IGEvU2NyaXB0cy9kdGYgYi9TY3JpcHRzL2R0ZgoraW5kZXggOWY4Y2Q4Ny4uMzIxZDI2MSAxMDA3NTUKKy0tLSBhL1NjcmlwdHMvZHRmCisrKysgYi9TY3JpcHRzL2R0ZgorQEAgLTEsNCArMSw0IEBACistIyEgL2Jpbi9jc2gKKysjISAvYmluL3Rjc2gKKyAjCisgIwlTY3JpcHQgZmlsZSB0byBnYXRoZXIgZmxvcHB5IGRpc2sgcGVyZm9ybWFuY2UgZGF0YS4KKyAjCitkaWZmIC0tZ2l0IGEvU2NyaXB0cy9kdHIgYi9TY3JpcHRzL2R0cgoraW5kZXggZGRiNzk0Ny4uMWZmNWEwYiAxMDA3NTUKKy0tLSBhL1NjcmlwdHMvZHRyCisrKysgYi9TY3JpcHRzL2R0cgorQEAgLTEsNCArMSw0IEBACistIyEvYmluL2NzaAorKyMhL2Jpbi90Y3NoCisgIwklWiUlTSUgJUklICVFJQorICMKKyAjCURhdGU6CUF1Z3VzdCAyMSwgMTk5MAorZGlmZiAtLWdpdCBhL1NjcmlwdHMvZHRzIGIvU2NyaXB0cy9kdHMKK2luZGV4IDZiOGExNjcuLjQyZDIzMTIgMTAwNzU1CistLS0gYS9TY3JpcHRzL2R0cworKysrIGIvU2NyaXB0cy9kdHMKK0BAIC0xLDQgKzEsNCBAQAorLSMhL2Jpbi9jc2gKKysjIS9iaW4vdGNzaAorICMJJVolJU0lICVJJSAlRSUKKyAjCisgIwlEYXRlOglBdWd1c3QgNywgMTk5MAorZGlmZiAtLWdpdCBhL1NjcmlwdHMvZHR0IGIvU2NyaXB0cy9kdHQKK2luZGV4IDM2Y2M2YmQuLmRmMTlkMmYgMTAwNzU1CistLS0gYS9TY3JpcHRzL2R0dAorKysrIGIvU2NyaXB0cy9kdHQKK0BAIC0xLDQgKzEsNCBAQAorLSMhIC9iaW4vY3NoCisrIyEgL2Jpbi90Y3NoCisgIwklWiUlTSUgJUklICVFJQorICMKKyAjCURhdGU6CUF1Z3VzdCA3LCAxOTkwCitkaWZmIC0tZ2l0IGEvU2NyaXB0cy9kdHcgYi9TY3JpcHRzL2R0dworaW5kZXggOGE0YWMzOS4uYzU4ZTMwNCAxMDA3NTUKKy0tLSBhL1NjcmlwdHMvZHR3CisrKysgYi9TY3JpcHRzL2R0dworQEAgLTEsNCArMSw0IEBACistIyEvYmluL2NzaAorKyMhL2Jpbi90Y3NoCisgIwklWiUlTSUgJUklICVFJQorICMKKyAjCURhdGU6CUF1Z3VzdCAyMSwgMTk5MAorLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kdC9kdC9kdC1kZWZhdWx0LXNvdXJjZS1kZWZpbmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kdC9kdC9kdC1kZWZhdWx0LXNvdXJjZS1kZWZpbmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODcwMTZlZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2R0L2R0L2R0LWRlZmF1bHQtc291cmNlLWRlZmluZS5wYXRjaApAQCAtMCwwICsxLDE4IEBACitQYXRjaCBmcm9tIGh0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL2dpdC9ycG1zL2R0LmdpdAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KKworZGlmZiAtcnVwTiBkdC52MTguMzIub2xkL2NvbW1vbi5oIGR0LnYxOC4zMi9jb21tb24uaAorLS0tIGR0LnYxOC4zMi5vbGQvY29tbW9uLmgJMjAxMy0wMy0wMSAyMzo1MjozMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBkdC52MTguMzIvY29tbW9uLmgJMjAxNC0wOS0yNCAxNzo0MTo0MC43Nzc2MDQ3MTAgKzAyMDAKK0BAIC0xMjcsNyArMTI3LDcgQEAgdHlwZWRlZiB2b2xhdGlsZSBzbGFyZ2VfdAl2X3NsYXJnZTsKKyAKKyAjZW5kaWYgLyogZGVmaW5lZChfV0lONjQpICovCisgCistI2VsaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgZGVmaW5lZChfQlNEX1NPVVJDRSkgfHwgZGVmaW5lZChTQ08pIHx8IGRlZmluZWQoX19RTlhOVE9fXykgfHwgZGVmaW5lZChTT0xBUklTKSB8fCBkZWZpbmVkKEhQX1VYKSB8fCBkZWZpbmVkKEFJWCkgfHwgZGVmaW5lZChfTlRfU09VUkNFKSAKKysjZWxpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBkZWZpbmVkKF9CU0RfU09VUkNFKSB8fCBkZWZpbmVkIChfREVGQVVMVF9TT1VSQ0UpIHx8ICBkZWZpbmVkKFNDTykgfHwgZGVmaW5lZChfX1FOWE5UT19fKSB8fCBkZWZpbmVkKFNPTEFSSVMpIHx8IGRlZmluZWQoSFBfVVgpIHx8IGRlZmluZWQoQUlYKSB8fCBkZWZpbmVkKF9OVF9TT1VSQ0UpIAorIAorICNkZWZpbmUgUXVhZElzTG9uZ0xvbmcKKyB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQJbGFyZ2VfdDsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2R0L2R0L2R0LXdmb3JtYXQtc2VjdXJpdHkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kdC9kdC9kdC13Zm9ybWF0LXNlY3VyaXR5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2NzgwYzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kdC9kdC9kdC13Zm9ybWF0LXNlY3VyaXR5LnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK1BhdGNoIGZyb20gaHR0cDovL3BrZ3MuZmVkb3JhcHJvamVjdC5vcmcvZ2l0L3JwbXMvZHQuZ2l0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorCitkaWZmIC1ydXBOIGR0LnYxOC4zMi5vbGQvZHQuYyBkdC52MTguMzIvZHQuYworLS0tIGR0LnYxOC4zMi5vbGQvZHQuYwkyMDE0LTA4LTE4IDE0OjQ1OjUzLjI0MjM1MTExNSArMDIwMAorKysrIGR0LnYxOC4zMi9kdC5jCTIwMTQtMDgtMTggMTU6MTE6MzYuMzY3NzE5ODgwICswMjAwCitAQCAtNDM3OCw3ICs0Mzc4LDcgQEAgcmVwb3J0X2Vycm9yKAorIAkgICAgKHZvaWQpc3ByaW50ZihkaXAtPmRpX21zZ19idWZmZXIsICIoJWQpOiAnJXMnLCBlcnJubyA9ICVkIC0gJXNcbiIsCisgCQkJICBkaXAtPmRpX3Byb2Nlc3NfaWQsIGVycm9yX2luZm8sIGVycm5vLCBlbXNnKTsKKyAJfQorLQlzeXNsb2coTE9HX0VSUiwgZGlwLT5kaV9tc2dfYnVmZmVyKTsKKysJc3lzbG9nKExPR19FUlIsICIlcyIsIGRpcC0+ZGlfbXNnX2J1ZmZlcik7CisgICAgIH0KKyAjZW5kaWYgLyogZGVmaW5lZChTWVNMT0cpICovCisgCitkaWZmIC1ydXBOIGR0LnYxOC4zMi5vbGQvZHR1dGlsLmMgZHQudjE4LjMyL2R0dXRpbC5jCistLS0gZHQudjE4LjMyLm9sZC9kdHV0aWwuYwkyMDE0LTA4LTE4IDE0OjQ1OjUzLjM1NDM1MDc3OSArMDIwMAorKysrIGR0LnYxOC4zMi9kdHV0aWwuYwkyMDE0LTA4LTE4IDE1OjEzOjUzLjgzNTMwNzMxMSArMDIwMAorQEAgLTUxODAsNyArNTE4MCw3IEBAIFJlcG9ydERldmljZUluZm8gKAorIAkgICAgYnAgKz0gU3ByaW50ZihicCwKKyAJCQkgICIoJWQpIERldmljZSBuYW1lOiAlc1xuIiwKKyAJCQkgICBkaXAtPmRpX3Byb2Nlc3NfaWQsIGRpcC0+ZGlfZG5hbWUpOworLQkgICAgc3lzbG9nKExPR19FUlIsIGRpcC0+ZGlfbXNnX2J1ZmZlcik7CisrCSAgICBzeXNsb2coTE9HX0VSUiwgIiVzIiwgZGlwLT5kaV9tc2dfYnVmZmVyKTsKKyAJICAgIGJwID0gZGlwLT5kaV9tc2dfYnVmZmVyOworICMgaWYgZGVmaW5lZChTQ1NJKQorIAkgICAgaWYgKGRpcC0+ZGlfc2VyaWFsX251bWJlcikgeworQEAgLTUxOTMsNyArNTE5Myw3IEBAIFJlcG9ydERldmljZUluZm8gKAorIAkJCSAgICAgIGRpcC0+ZGlfcHJvY2Vzc19pZCwgZGlwLT5kaV9kZXZpY2VfaWQpOworIAkgICAgfQorICMgZW5kaWYgLyogZGVmaW5lZChTQ1NJKSAqLworLQkgICAgc3lzbG9nKExPR19FUlIsIGRpcC0+ZGlfbXNnX2J1ZmZlcik7CisrCSAgICBzeXNsb2coTE9HX0VSUiwgIiVzIiwgZGlwLT5kaV9tc2dfYnVmZmVyKTsKKyAJICAgIGJwID0gZGlwLT5kaV9tc2dfYnVmZmVyOworIAkgICAgYnAgKz0gU3ByaW50ZihicCwKKyAJCSAgIiglZCkgUmVsYXRpdmUgYmxvY2sgbnVtYmVyIHdoZXJlIHRoZSBlcnJvciBvY2N1cnJlZCBpcyAiIExVRiAiLCIKK0BAIC01MjAzLDcgKzUyMDMsNyBAQCBSZXBvcnREZXZpY2VJbmZvICgKKyAgIAkgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgYnAgKz0gU3ByaW50ZihicCwgIlxuIik7CisgICAgICAgICAgICAgfQorLQkgICAgc3lzbG9nKExPR19FUlIsIGRpcC0+ZGlfbXNnX2J1ZmZlcik7CisrCSAgICBzeXNsb2coTE9HX0VSUiwgIiVzIiwgZGlwLT5kaV9tc2dfYnVmZmVyKTsKKyAJfQorICNlbmRpZiAvKiBkZWZpbmVkKFNZU0xPRykgKi8KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2R0L2R0XzE4LjMyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZHQvZHRfMTguMzIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY4OGQwMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2R0L2R0XzE4LjMyLmJiCkBAIC0wLDAgKzEsNDcgQEAKK1NVTU1BUlkgPSAiR2VuZXJpYyBkYXRhIHRlc3QgcHJvZ3JhbSIKK0RFU0NSSVBUSU9OID0gIlRoZSBEYXRhIFRlc3QgUHJvZ3JhbSAoZHQpIGlzIGEgZ2VuZXJpYyBkYXRhIHRlc3QgcHJvZ3JhbSB1c2VkIHRvIHZlcmlmeSBwcm9wZXIgXAorb3BlcmF0aW9uIG9mIHBlcmlwaGVyYWxzLCBmaWxlIHN5c3RlbXMsIGRldmljZSBkcml2ZXJzLCBvciBhbnkgZGF0YSBzdHJlYW0gc3VwcG9ydGVkIGJ5IHRoZSBcCitvcGVyYXRpbmcgc3lzdGVtLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc2NzaWZhcS5vcmcvUk1pbGxlcl9Ub29scy9kdC5odG1sIgorCitTRUNUSU9OID0gImNvbnNvbGUvdGVzdHMiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YmU4YmIyNWJiY2ZhYTA3MjU3MTBkMTg4ZTUxNTI2NjgiCisKKyMgU291cmNlIFVSSSB0YWtlbiBmcm9tIEZlZG9yYSBSUE0gc3BlYyBmaWxlIGF0OgorIyAgaHR0cDovL3BrZ3MuZmVkb3JhcHJvamVjdC5vcmcvZ2l0L3JwbXMvZHQuZ2l0CitTUkNfVVJJID0gImh0dHA6Ly9kbC5kcm9wYm94dXNlcmNvbnRlbnQuY29tL3UvMzIzNjM2MjkvRGF0YXRlc3QvZHQtc291cmNlLXYke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZHQtZGVmYXVsdC1zb3VyY2UtZGVmaW5lLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2R0LXdmb3JtYXQtc2VjdXJpdHkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vU3RvcC11c2luZy1yZWxhdGl2ZS1wYXRoLWZvci1zY3NpbGliLmMtbGluay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9Vc2UtdGNzaC1zaGVsbC5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMDU0YWVhYWJhMDQ3YTFkYmU5MGMyMTMyYTM4MmVlMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxMGQxNjQ2NzZlOTE4YTRkMDdmMjMzYmNkMTFlNGNiNmJmZDEwNTJjOTk2MTgyY2QxODI3Y2NkMGMwNjNmY2M2IgorCitTID0gIiR7V09SS0RJUn0vZHQudiR7UFZ9IgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworRVhUUkFfT0VNQUtFICs9ICItZiBNYWtlZmlsZS5saW51eCBcCisgICAgICAgICAgICAgICAgIE9TPWxpbnV4IFwKKyAgICAgICAgICAgICAgICAgQ0ZMQUdTPSItSS4uIC1EQUlPIC1ERklGTyAtRE1NQVAgLURfX2xpbnV4X18gLURfR05VX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EVEhSRUFEUyAtRFNDU0kiIgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1EbTc1NSBkdCAke0R9JHtzYmluZGlyfS9kdAorICAgIGluc3RhbGwgLURtNjQ0IERvY3VtZW50YXRpb24vZHQubWFuICR7RH0ke21hbmRpcn0vbWFuOC9kdC44CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2R0LworICAgIGluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfS9kdC9odG1sLworICAgIGluc3RhbGwgLW03NTUgU2NyaXB0cy9kdD8gJHtEfSR7ZGF0YWRpcn0vZHQvCisgICAgaW5zdGFsbCAtbTY0NCBkYXRhL3BhdHRlcm5fKiAke0R9JHtkYXRhZGlyfS9kdC8KKyAgICBpbnN0YWxsIC1tNjQ0IGh0bWwvKiAke0R9JHtkb2NkaXJ9L2R0L2h0bWwvCit9CisKK1JERVBFTkRTXyR7UE59ICs9ICJ0Y3NoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnkvMDAwMS1jb25maWd1cmUuYWMtcmVtb3ZlLWFkZGl0aW9uYWwtYy10ZXN0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnkvMDAwMS1jb25maWd1cmUuYWMtcmVtb3ZlLWFkZGl0aW9uYWwtYy10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxNjZmZWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueS8wMDAxLWNvbmZpZ3VyZS5hYy1yZW1vdmUtYWRkaXRpb25hbC1jLXRlc3QucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSBlNjJkNWI1OTI2MmVjN2ZmZTA3OTMxNzkwNzEyYzdlMjQ3Mzc3Nzk1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVGh1LCAyMSBGZWIgMjAxMyAwOTozMTozMSArMDEwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuYWMgcmVtb3ZlIGFkZGl0aW9uYWwgYysrIHRlc3QKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworRm9yIG9wZW5lbWJlZGRlZCBjcm9zcy1idWlsZHMgQ1hYIGNhbiBjb250YWluIHNvbWV0aGluZyBsaWtlOgorCithcm0tb2UtbGludXgtZ251ZWFiaS1nKysgIC1tYXJjaD1hcm12NXRlICAtbWFybSAtbXRodW1iLWludGVyd29yayAtLXN5c3Jvb3Q9L2hvbWUvamVua2lucy9vZS9zaHItY29yZS1icmFuY2hlcy9zaHItY29yZS90bXAtZWdsaWJjL3N5c3Jvb3RzL3FlbXVhcm0KKworVGhpcyBlbmRzIHVwIGluCisKK2NvbmZpZ3VyZTo1NTgyOiBlcnJvcjogTm8gQysrIGNvbXBpbGVyIGZvdW5kLiBQbGVhc2UgaW5zdGFsbCBhIEMrKyBjb21waWxlci4KKworQW55d2F5IGlmIFsxXSBpcyBzdGlsbCB2YWxpZCwgdGhlIGNvbWJpbmF0aW9uIG9mIEFDX1BST0dfQ0MgYW5kIEFDX1BST0dfQ1hYCitzaG91bGQgdGhvdyBhbiBlcnJvciBtZXNzYWdlLgorCitbMV0gaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2J1Zy1hdXRvY29uZi8yMDEwLTA1L21zZzAwMDAxLmh0bWwKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAgICA1IC0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGMzNzMxMmEuLjc0MmJmMzUgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTI2LDExICsyNiw2IEBAIEFDX1VTRV9TWVNURU1fRVhURU5TSU9OUworIEFDX1BST0dfQ0MKKyAKKyBBQ19QUk9HX0NYWAorLSMgY2hlY2sgZm9yIEMrKyBjb21waWxlciBleHBsaWNpdGx5IGFuZCBmYWlsIGlmIG5vbmUgaXMgZm91bmQsIGRvIHRoaXMgY2hlY2sKKy0jIGFmdGVyIEFDX1BST0dfQ1hYIGhhcyBzZXQgdGhlIENYWCBlbnZpcm9ubWVudCB2YXJpYWJsZQorLWlmICEgd2hpY2ggJENYWCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0JQUNfTVNHX0VSUk9SKFtObyBDKysgY29tcGlsZXIgZm91bmQuIFBsZWFzZSBpbnN0YWxsIGEgQysrIGNvbXBpbGVyLl0pCistZmkKKyAKKyBBQ19QUk9HX0lOU1RBTEwKKyBBQ19QUk9HX0xOX1MKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueV8xLjI2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnlfMS4yNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTRmNmI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnlfMS4yNi5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIkEgZmFzdCBhbmQgbGlnaHR3ZWlnaHQgSURFIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nZWFueS5vcmcvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJkN2IyYzk5NGFmMjFkMzE4YmQyY2QzYjNmODBjMmQ1IgorREVQRU5EUyA9ICJndGsrIHB5dGhvbi1kb2N1dGlscy1uYXRpdmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZQorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL2Rvd25sb2FkLmdlYW55Lm9yZy8ke0JQfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtcmVtb3ZlLWFkZGl0aW9uYWwtYy10ZXN0LnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZDQ1N2NhYmE1NzA5OWNmYTIzYjA2M2U3OGI2ZjgxOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlMzg1MzBlODdjNTc3ZTFlOTgwNmJlM2I0MGUwOGZiOWVlMzIxZWIxYWJjNjM2MWRkYWNkYWQ4OWM4MjVmOTBkIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dpZmxpYi9naWZsaWJfNC4xLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9naWZsaWIvZ2lmbGliXzQuMS42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1OWQwZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9naWZsaWIvZ2lmbGliXzQuMS42LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAic2hhcmVkIGxpYnJhcnkgZm9yIEdJRiBpbWFnZXMiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWFlMTFjNjFiMDRiMjkxN2JlMzliMTFmNzhkNzE1MTlhIgorUFIgPSAicjMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2dpZmxpYi8ke0JQfS50YXIuYnoyIgorCitpbmhlcml0IGF1dG90b29scworCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXgxMSIKKworUEFDS0FHRVMgKz0gIiR7UE59LXV0aWxzIgorRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYmdpZi5zby4qIgorRklMRVNfJHtQTn0tdXRpbHMgPSAiJHtiaW5kaXJ9IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworUkRFUEVORFNfJHtQTn0tdXRpbHMgPSAicGVybCIKKworU1JDX1VSSVttZDVzdW1dID0gIjcxMjU2NDQxNTVhZTZhZDMzZGJjOWZjMTVhMTQ3MzVmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUxYzFjZWQ5YzViYzhmOTNlZjBmYWYwYThjNzcxN2FiZjc4NGQxMGE3YjI3MGQyMjg1ZThlMWYzYjkzZjJiZWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nbGFkZS9maWxlcy8wMDAxLWdub21lLWRvYy11dGlscy5tYWtlLXN5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2xhZGUvZmlsZXMvMDAwMS1nbm9tZS1kb2MtdXRpbHMubWFrZS1zeXNyb290ZWQtcGtnLWNvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjI0YzM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2xhZGUvZmlsZXMvMDAwMS1nbm9tZS1kb2MtdXRpbHMubWFrZS1zeXNyb290ZWQtcGtnLWNvbmZpZy5wYXRjaApAQCAtMCwwICsxLDUxIEBACitGcm9tIGFlZDAwMmNkOWZmOWU4Zjk3MjEyMGZiYWMzM2I0YTY1YWJhOTUyZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBUdWUsIDI1IFNlcCAyMDEyIDEwOjI4OjMzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGdub21lLWRvYy11dGlscy5tYWtlOiBzeXNyb290ZWQgcGtnLWNvbmZpZworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitzYW1lIGFwcHJvYWNoIGFzIHVzZWQgdXNlZCBpbiBnbm9tZS1kaXNrLXV0aWxpdHk6CisKK0luIGNyb3NzIGVudmlyb25tZW50IHdlIGhhdmUgdG8gcHJlcGVuZCB0aGUgc3lzcm9vdCB0byB0aGUgcGF0aCBmb3VuZCBieQorcGtnY29uZmlnIHNpbmNlIHRoZSBwYXRoIHJldHVybmVkIGZyb20gcGtnY29uZmlnIGRvZXMgbm90IGhhdmUgc3lzcm9vdCBwcmVmaXhlZAoraXQgZW5kcyB1cCB1c2luZyB0aGUgZmlsZXMgZnJvbSBob3N0IHN5c3RlbS4gTm93IHVzdWFsbHkgcGVvcGxlIGhhdmUgZ25vbWUgaW5zdGFsbGVkCitzbyB0aGUgYnVpbGQgc3VjY2VlZHMgYnV0IGlmIHlvdSBkb250IGhhdmUgZ25vbWUgaW5zdGFsbGVkIG9uIGJ1aWxkIGhvc3QgdGhlbgoraXQgd29udCBmaW5kIHRoZSBmaWxlcyBvbiBob3N0IHN5c3RlbSBhbmQgcGFja2FnZXMgdXNpbmcgZ25vbWUtZG9jLXV0aWxzIHdvbnQKK2NvbXBpbGUuCisKK1RoaXMgc2hvdWxkIHdvcmsgb2sgd2l0aCBub24gc3lzcm9vdGVkIGJ1aWxkcyB0b28gc2luY2UgaW4gdGhvc2UgY2FzZXMgUEtHX0NPTkZJR19TWVNST09UX0RJUgord2lsbCBiZSBlbXB0eQorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgZ25vbWUtZG9jLXV0aWxzLm1ha2UgfCAgIDEwICsrKysrLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dub21lLWRvYy11dGlscy5tYWtlIGIvZ25vbWUtZG9jLXV0aWxzLm1ha2UKK2luZGV4IDQyZDlkZjMuLmY3MWJiZmEgMTAwNjQ0CistLS0gYS9nbm9tZS1kb2MtdXRpbHMubWFrZQorKysrIGIvZ25vbWUtZG9jLXV0aWxzLm1ha2UKK0BAIC0xMzMsMTEgKzEzMywxMSBAQCBfRE9DX0FCU19TUkNESVIgPSBAYWJzX3NyY2RpckAKKyBfeG1sMnBvID89IGB3aGljaCB4bWwycG9gCisgX3htbDJwb19tb2RlID0gJChpZiAkKERPQ19JRCksbWFsbGFyZCxkb2Nib29rKQorIAorLV9kYjJodG1sID89IGAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgZGIyaHRtbCBnbm9tZS1kb2MtdXRpbHNgCistX2RiMm9tZiAgPz0gYCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSBkYjJvbWYgZ25vbWUtZG9jLXV0aWxzYAorLV9jaHVua3MgID89IGAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2NodW5rcy54c2wKKy1fY3JlZGl0cyA/PSBgJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHNgL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9jcmVkaXRzLnhzbAorLV9pZHMgPz0gJChzaGVsbCAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlscykvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2lkcy54c2wKKytfZGIyaHRtbCA/PSAke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9YCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSBkYjJodG1sIGdub21lLWRvYy11dGlsc2AKKytfZGIyb21mICA/PSAke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9YCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSBkYjJvbWYgZ25vbWUtZG9jLXV0aWxzYAorK19jaHVua3MgID89ICR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJChQS0dfQ09ORklHKSAtLXZhcmlhYmxlIHhtbGRpciBnbm9tZS1kb2MtdXRpbHNgL2dub21lL3hzbHQvZG9jYm9vay91dGlscy9jaHVua3MueHNsCisrX2NyZWRpdHMgPz0gJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfWAkKFBLR19DT05GSUcpIC0tdmFyaWFibGUgeG1sZGlyIGdub21lLWRvYy11dGlsc2AvZ25vbWUveHNsdC9kb2Nib29rL3V0aWxzL2NyZWRpdHMueHNsCisrX2lkcyA/PSAke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9YCQoUEtHX0NPTkZJRykgLS12YXJpYWJsZSB4bWxkaXIgZ25vbWUtZG9jLXV0aWxzYC9nbm9tZS94c2x0L2RvY2Jvb2svdXRpbHMvaWRzLnhzbAorIAorIGlmIEVOQUJMRV9TSworIF9FTkFCTEVfU0sgPSB0cnVlCistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2xhZGUvZ2xhZGUzXzMuOC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2xhZGUvZ2xhZGUzXzMuOC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlN2VmOWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nbGFkZS9nbGFkZTNfMy44LjUuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJHbGFkZSAtIEEgVXNlciBJbnRlcmZhY2UgRGVzaWduZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ25hc2giCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YWFiZTg3NTkxY2I4YWUwZjNjNjhiZTY5NzdiYjU1MjIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5HUEw7bWQ1PTlhYzJlN2NmZjFkZGFmNDhiNmVhYjYwMjhmMjNlZjg4IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9MjUyODkwZDllZWUyNmFhYjdiNDMyZThiOGE2MTY0NzUiCitERVBFTkRTID0gImd0aysgZ25vbWUtZG9jLXV0aWxzLW5hdGl2ZSBnbm9tZS1jb21tb24gbGlieG1sMiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHB5dGhvbm5hdGl2ZQorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzL2dsYWRlMy8zLjgvZ2xhZGUzLSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWdub21lLWRvYy11dGlscy5tYWtlLXN5c3Jvb3RlZC1wa2ctY29uZmlnLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjRlNGI0ZjVlZTM0YTAzZTAxN2U0Y2VmOTdkNzk2YzFmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU4YTVmNmU0ZGY0MDI4MjMwZGRlY2M3NGM1NjQ4MDhiN2VjNDQ3MWIxOTI1MDU4ZTI5MzA0Zjc3OGI2YjI3MzUiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXNjcm9sbGtlZXBlciIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbZ25vbWVdID0gIi0tZW5hYmxlLWdub21lLC0tZGlzYWJsZS1nbm9tZSxsaWJib25vYm91aSBsaWJnbm9tZXVpIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgJy9eaWYgSEFWRV9HTk9NRV9ET0NfVVRJTFMvLC9eZW5kaWYvZCcgJHtTfS9NYWtlZmlsZS5hbQorfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9pY29ucyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dsYWRlMy9tb2R1bGVzLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dsYWRlMy9tb2R1bGVzLyoubGEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9pY29uLXNsaWNlci9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLW5vLWV4YW1wbGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvaWNvbi1zbGljZXIvZmlsZXMvMDAwMS1NYWtlZmlsZS5hbS1uby1leGFtcGxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDgzODE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvaWNvbi1zbGljZXIvZmlsZXMvMDAwMS1NYWtlZmlsZS5hbS1uby1leGFtcGxlcy5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIGU2ZDUzMDg2NTI0YTk0ZDI3OTIwNjE0ZTM4OTY2MDIwZTBiMmIzZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBNb24sIDUgTm92IDIwMTIgMTE6MjU6MDIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGUuYW06IG5vIGV4YW1wbGVzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorCistLS0KKyBNYWtlZmlsZS5hbSB8ICAgIDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IDI4ZWU3ZWIuLmFmNDM3YTYgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0xICsxIEBACistU1VCRElSUyA9IHNyYyBleGFtcGxlcworXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisrU1VCRElSUyA9IHNyYworLS0gCisxLjcuNi41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ljb24tc2xpY2VyL2ljb24tc2xpY2VyXzAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ljb24tc2xpY2VyL2ljb24tc2xpY2VyXzAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NzY4YTZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvaWNvbi1zbGljZXIvaWNvbi1zbGljZXJfMC4zLmJiCkBAIC0wLDAgKzEsMTMgQEAKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJnZGstcGl4YnVmIHBvcHQiCisKK1NSQ19VUkkgPSAiaHR0cDovL2ZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS8ke0JQTn0vcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLW5vLWV4YW1wbGVzLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjVjNTM3NGQ0ZjI2NWIwYWJlNGRhZWYxZDAzZjg3MTA0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA1ZjAyMTZkZDBjMjVhMTc4NTlkZTY2MzU3ZjY0ZGE1MDMzMzc1YjZmYmY1ZjMxY2E1NDg2NzMxMTE2MGI2NGQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2lwdHJhZi9pcHRyYWYvMDAwMS1zcmMtRml4LWVycm9yLWluLWNyb3NzLWNvbXBpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9pcHRyYWYvaXB0cmFmLzAwMDEtc3JjLUZpeC1lcnJvci1pbi1jcm9zcy1jb21waWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5MWVkMzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9pcHRyYWYvaXB0cmFmLzAwMDEtc3JjLUZpeC1lcnJvci1pbi1jcm9zcy1jb21waWxlLnBhdGNoCkBAIC0wLDAgKzEsMTM4IEBACitGcm9tIDI3OTEwZWExOTI2MGI3ZjdhM2Y5YzA0NjVhZGRkMWRlYTgwY2YzYmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBUaHUsIDggT2N0IDIwMTUgMTU6MTE6MTcgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3JjOiBGaXggZXJyb3IgaW4gY3Jvc3MtY29tcGlsZQorCitUaGUgZXJyb3JzIGFyZSBsaWtlIHRoaXM6Cit0Y3B0YWJsZS5oOjI2OjI1OiBmYXRhbCBlcnJvcjogbGludXgvaWZfdHIuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorbGQ6IGNhbm5vdCBmaW5kIC1sdGV4dGJveAorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgc3JjL01ha2VmaWxlICAgICB8IDIgKy0KKyBzcmMvaG9zdG1vbi5jICAgIHwgMiArLQorIHNyYy9pbnN0YWxsLnNoICAgfCA0ICsrLS0KKyBzcmMvb3RocHRhYi5jICAgIHwgMiArLQorIHNyYy9wYWNrZXQuYyAgICAgfCAyICstCisgc3JjL3RjcHRhYmxlLmggICB8IDIgKy0KKyBzcmMvdHIuYyAgICAgICAgIHwgMiArLQorIHN1cHBvcnQvTWFrZWZpbGUgfCAzICstLQorIDggZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZSBiL3NyYy9NYWtlZmlsZQoraW5kZXggMjA0M2MyZC4uMGY3N2JlYSAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZQorKysrIGIvc3JjL01ha2VmaWxlCitAQCAtMzksNyArMzksNyBAQCBMRE9QVFMJCT0gIy1zdGF0aWMKKyAjIHlvdSBtYXkgd2FudCB0byBjaGFuZ2UgdGhpcyB0byBwb2ludCB0byB5b3VyIG5jdXJzZXMgaW5jbHVkZSBkaXJlY3RvcnkKKyAjIGlmIHRoZSBuY3Vyc2VzIGluY2x1ZGUgZmlsZXMgYXJlIG5vdCBpbiB0aGUgZGVmYXVsdCBsb2NhdGlvbi4KKyAKKy1JTkNMVURFRElSCT0gLUkvdXNyL2luY2x1ZGUvbmN1cnNlcyAtSS4uL3N1cHBvcnQKKytJTkNMVURFRElSCT0gIC1JLi4vc3VwcG9ydAorIAorICMgWW91IGNhbiB1bmNvbW1lbnQgdGhpcyBvbmUgdG8gZGlzYWJsZSB0aGUgYmFja3NwYWNlIGtleSBpbiBpbnB1dCBmaWVsZHMuCisgIyBUaGlzIG1lYW5zIHlvdSBtdXN0IHVzZSB0aGUgRGVsIGtleSBvciBDdHJsK0ggY29tYmluYXRpb24gdG8gZXJhc2UgdGhlCitkaWZmIC0tZ2l0IGEvc3JjL2hvc3Rtb24uYyBiL3NyYy9ob3N0bW9uLmMKK2luZGV4IDE0ZGYyYzguLjY1NzE1NjIgMTAwNjQ0CistLS0gYS9zcmMvaG9zdG1vbi5jCisrKysgYi9zcmMvaG9zdG1vbi5jCitAQCAtMzEsNyArMzEsNyBAQCBkZXRhaWxzLgorICNpbmNsdWRlIDxsaW51eC9pZl9wYWNrZXQuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfZXRoZXIuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfZmRkaS5oPgorLSNpbmNsdWRlIDxsaW51eC9pZl90ci5oPgorKyNpbmNsdWRlIDxuZXRpbmV0L2lmX3RyLmg+CisgI2luY2x1ZGUgPG5ldC9pZl9hcnAuaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPHRpbWUuaD4KK2RpZmYgLS1naXQgYS9zcmMvaW5zdGFsbC5zaCBiL3NyYy9pbnN0YWxsLnNoCitpbmRleCBkMmZkMzYwLi4zNmQzNTE2IDEwMDc1NQorLS0tIGEvc3JjL2luc3RhbGwuc2gKKysrKyBiL3NyYy9pbnN0YWxsLnNoCitAQCAtMjMsOSArMjMsOSBAQCBlY2hvCisgZWNobyAiKioqIEluc3RhbGxpbmcgZXhlY3V0YWJsZSBwcm9ncmFtcyBhbmQgcHJlcGFyaW5nIHdvcmsgZGlyZWN0b3JpZXMiCisgZWNobworIGVjaG8gIj4+PiBJbnN0YWxsaW5nIGlwdHJhZiBpbiAkVEFSR0VUIgorLSRJTlNUQUxMIC1tIDA3MDAgLW8gcm9vdCAtZyByb290IC1zIGlwdHJhZiAkVEFSR0VUCisrJElOU1RBTEwgLW0gMDcwMCAtbyByb290IC1nIHJvb3QgIGlwdHJhZiAkVEFSR0VUCisgZWNobyAiPj4+IEluc3RhbGxpbmcgcnZuYW1lZCBpbiAkVEFSR0VUIgorLSRJTlNUQUxMIC1tIDA3MDAgLW8gcm9vdCAtZyByb290IC1zIHJ2bmFtZWQgJFRBUkdFVAorKyRJTlNUQUxMIC1tIDA3MDAgLW8gcm9vdCAtZyByb290ICBydm5hbWVkICRUQVJHRVQKKyAKKyBpZiBbICEgLWQgJFdPUktESVIgXTsgdGhlbgorICAgICBlY2hvICI+Pj4gQ3JlYXRpbmcgSVBUcmFmIHdvcmsgZGlyZWN0b3J5ICRXT1JLRElSIgorZGlmZiAtLWdpdCBhL3NyYy9vdGhwdGFiLmMgYi9zcmMvb3RocHRhYi5jCitpbmRleCA5Nzc3MWQxLi5hOGJiNTM2IDEwMDY0NAorLS0tIGEvc3JjL290aHB0YWIuYworKysrIGIvc3JjL290aHB0YWIuYworQEAgLTE4LDcgKzE4LDcgQEAgZGV0YWlscy4KKyAKKyAjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+CistI2luY2x1ZGUgPGxpbnV4L2lmX3RyLmg+CisrI2luY2x1ZGUgPG5ldGluZXQvaWZfdHIuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfZmRkaS5oPgorICNpbmNsdWRlIDx3aW5vcHMuaD4KKyAjaW5jbHVkZSAiYXJwaGRyLmgiCitkaWZmIC0tZ2l0IGEvc3JjL3BhY2tldC5jIGIvc3JjL3BhY2tldC5jCitpbmRleCAzM2ZkZjJhLi4xZTJiODFiIDEwMDY0NAorLS0tIGEvc3JjL3BhY2tldC5jCisrKysgYi9zcmMvcGFja2V0LmMKK0BAIC0zNiw3ICszNiw3IEBAIGRldGFpbHMuCisgI2luY2x1ZGUgPGxpbnV4L2lmX3BhY2tldC5oPgorICNpbmNsdWRlIDxsaW51eC9pZl9ldGhlci5oPgorICNpbmNsdWRlIDxsaW51eC9pZl9mZGRpLmg+CistI2luY2x1ZGUgPGxpbnV4L2lmX3RyLmg+CisrI2luY2x1ZGUgPG5ldGluZXQvaWZfdHIuaD4KKyAjaW5jbHVkZSA8bGludXgvaXNkbi5oPgorICNpbmNsdWRlIDxsaW51eC9zb2NraW9zLmg+CisgI2luY2x1ZGUgPG1zZ2JveGVzLmg+CitkaWZmIC0tZ2l0IGEvc3JjL3RjcHRhYmxlLmggYi9zcmMvdGNwdGFibGUuaAoraW5kZXggM2UxNzc5My4uZDEzODBiNSAxMDA2NDQKKy0tLSBhL3NyYy90Y3B0YWJsZS5oCisrKysgYi9zcmMvdGNwdGFibGUuaAorQEAgLTIzLDcgKzIzLDcgQEAKKyAjaW5jbHVkZSA8bGludXgvaWZfcGFja2V0Lmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX2ZkZGkuaD4KKy0jaW5jbHVkZSA8bGludXgvaWZfdHIuaD4KKysjaW5jbHVkZSA8bmV0aW5ldC9pZl90ci5oPgorICNpbmNsdWRlIDxuZXQvaWYuaD4KKyAjaW5jbHVkZSA8bmV0aW5ldC9pcC5oPgorICNpbmNsdWRlIDxuZXRpbmV0L3VkcC5oPgorZGlmZiAtLWdpdCBhL3NyYy90ci5jIGIvc3JjL3RyLmMKK2luZGV4IDQwYzllNjMuLjExZjgwNDUgMTAwNjQ0CistLS0gYS9zcmMvdHIuYworKysrIGIvc3JjL3RyLmMKK0BAIC03LDcgKzcsNyBAQAorICAqLworIAorICNpbmNsdWRlIDxhc20vdHlwZXMuaD4KKy0jaW5jbHVkZSA8bGludXgvaWZfdHIuaD4KKysjaW5jbHVkZSA8bmV0aW5ldC9pZl90ci5oPgorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisgCisgdW5zaWduZWQgaW50IGdldF90cl9pcF9vZmZzZXQodW5zaWduZWQgY2hhciAqcGt0KQorZGlmZiAtLWdpdCBhL3N1cHBvcnQvTWFrZWZpbGUgYi9zdXBwb3J0L01ha2VmaWxlCitpbmRleCAxMTRiZmMzLi5jOTYyYzA5IDEwMDY0NAorLS0tIGEvc3VwcG9ydC9NYWtlZmlsZQorKysrIGIvc3VwcG9ydC9NYWtlZmlsZQorQEAgLTEsNCArMSwzIEBACistSU5DTFVERURJUgkJPSAtSS91c3IvaW5jbHVkZS9uY3Vyc2VzCisgCisgT0JKUwkJCT0gaW5wdXQubyBtZW51cnQubyBsaXN0Ym94Lm8gd2lub3BzLm8gbGFiZWxzLm8gXAorIAkJCQltc2dib3hlcy5vIHR4Ym94Lm8KK0BAIC0xMiw3ICsxMSw3IEBAIGxpYnRleHRib3guYTogJChPQkpTKQorICMJZ2NjIC1zaGFyZWQgLW8gbGlidGV4dGJveC5zbyAkKE9CSlMpCisgCisgJS5vOiAlLmMgKi5oCistCWdjYyAtTzIgLWcgLVdhbGwgLWZQSUMgJChJTkNMVURFRElSKSAtYyAtbyAkKi5vICQ8CisrCSR7Q0N9IC1PMiAtZyAtV2FsbCAtZlBJQyAgLWMgLW8gJCoubyAkPAorIAorIGNsZWFuOgorIAlybSAtcmYgKi5vICp+IGxpYnRleHRib3guYSBsaWJ0ZXh0Ym94LnNvCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvaXB0cmFmL2lwdHJhZl8zLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2lwdHJhZi9pcHRyYWZfMy4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjVlNjAwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2lwdHJhZi9pcHRyYWZfMy4wLjAuYmIKQEAgLTAsMCArMSwzNSBAQAorREVTQ1JJUFRJT04gPSAiSVBUcmFmIGlzIGEgY29uc29sZS1iYXNlZCBuZXR3b3JrIHN0YXRpc3RpY3MgdXRpbGl0eSBmb3IgTGludXguIFwKK0l0IGdhdGhlcnMgYSB2YXJpZXR5IG9mIGZpZ3VyZXMgc3VjaCBhcyBUQ1AgY29ubmVjdGlvbiBwYWNrZXQgYW5kIGJ5dGUgY291bnRzLCBcCitpbnRlcmZhY2Ugc3RhdGlzdGljcyBhbmQgYWN0aXZpdHkgaW5kaWNhdG9ycywgVENQL1VEUCB0cmFmZmljIGJyZWFrZG93bnMsIFwKK2FuZCBMQU4gc3RhdGlvbiBwYWNrZXQgYW5kIGJ5dGUgY291bnRzLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL2lwdHJhZi5zZXVsLm9yZyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWRjMGJkYzI5ZGY3MzhiYWYzMjczNjhiMWJiYjE1YTQ1IgorCitERVBFTkRTID0gIm5jdXJzZXMiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBmdHA6Ly9pcHRyYWYuc2V1bC5vcmcvcHViL2lwdHJhZi9pcHRyYWYtMy4wLjAudGFyLmd6IFwKKyAgICBmaWxlOi8vMDAwMS1zcmMtRml4LWVycm9yLWluLWNyb3NzLWNvbXBpbGUucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiMzc3MzcxYzI4ZWUzYzIxYTc2ZjcwMjQ5MjA2NDllYTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWVlNDMzZDk1NTczZDYxMjUzOWRhNGI0NTJlNmNkY2JjYTZhYjY2NzRhODhiZmJmNmVhZjEyZDQ5MDJiNTE2MyIKK1JERVBFTkRTXyR7UE59ID0gIm5jdXJzZXMiCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgLUMgc3JjIGFsbCAgCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgb2VfcnVubWFrZSAtQyBzcmMgaW5zdGFsbCBcCisgICAgICAgIFRBUkdFVD0ke0R9JHtiaW5kaXJ9IFwKKyAgICAgICAgV09SS0RJUj0ke0R9JHtsb2NhbHN0YXRlZGlyfS9sb2NhbC9pcHRyYWYgXAorICAgICAgICBMT0dESVI9JHtEfSR7bG9jYWxzdGF0ZWRpcn0vbG9nL2lwdHJhZiBcCisgICAgICAgIExPQ0tESVI9JHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuL2lwdHJhZiAKK30KKworRklMRVNfJHtQTn0gKz0gIiR7YmluZGlyfSAke2xvY2Fsc3RhdGVkaXJ9IC9ydW4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qcS9qcV8xLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qcS9qcV8xLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjEyZWFmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pxL2pxXzEuNS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkxpZ2h0d2VpZ2h0IGFuZCBmbGV4aWJsZSBjb21tYW5kLWxpbmUgSlNPTiBwcm9jZXNzb3IiCitERVNDUklQVElPTiA9ICJqcSBpcyBsaWtlIHNlZCBmb3IgSlNPTiBkYXRhLCB5b3UgY2FuIHVzZSBpdCB0byBzbGljZSBhbmQgXAorICAgICAgICAgICAgICAgZmlsdGVyIGFuZCBtYXAgYW5kIHRyYW5zZm9ybSBzdHJ1Y3R1cmVkIGRhdGEgd2l0aCB0aGUgc2FtZSBcCisgICAgICAgICAgICAgICBlYXNlIHRoYXQgc2VkLCBhd2ssIGdyZXAgYW5kIGZyaWVuZHMgbGV0IHlvdSBwbGF5IHdpdGggdGV4dC4iCitIT01FUEFHRSA9ICJodHRwOi8vc3RlZG9sYW4uZ2l0aHViLmlvL2pxLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL3N0ZWRvbGFuL2pxL2lzc3VlcyIKK1NFQ1RJT04gPSAidXRpbHMiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjlkZDBjMzVkN2UzOTFiYjhkNTE1ZWFjZjc1OTJlMDAiCisKK0RFUEVORFMgPSAiZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIG9uaWciCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3N0ZWRvbGFuLyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke0JQTn0tJHtQVn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwOTMzNTMyYjA4NmJkOGI2YTQxYzFiMTYyYjE3MzFmOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNGQyYmZlYzY0MzYzNDExMTM0MTlkZWJmNDc5ZDgzMzY5MmNjNWNkYWI3ZWIwMzI2YjVhNGQ0ZmJlOWY0OTNjIgorCitpbmhlcml0IGF1dG90b29scworCisjIERvbid0IGJ1aWxkIGRvY3VtZW50YXRpb24gKGdlbmVyYXRpb24gcmVxdWlyZXMgcnVieSkKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZG9jcyAtLWRpc2FibGUtbWFpbnRhaW5lci1tb2RlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGVtb24vZmlsZXMvbGVtb24uMSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xlbW9uL2ZpbGVzL2xlbW9uLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE0ZWUwNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xlbW9uL2ZpbGVzL2xlbW9uLjEKQEAgLTAsMCArMSw2MyBAQAorLkRkIDIwMDItMTAtMDQKKy5EdCBMRU1PTiAxCisuT3MgIkRlYmlhbiBHTlUvTGludXgiCisuXCIgTWFudWFsIHBhZ2UgY3JlYXRlZCBieSBHdXVzIFNsaWVwZW4gPGd1dXNAZGViaWFuLm9yZz4KKy5TaCBOQU1FCisuTm0gbGVtb24KKy5OZCBUaGUgTGVtb24gUGFyc2VyIEdlbmVyYXRvcgorLlNoIFNZTk9QU0lTCisuTm0KKy5PcCBGbCBiY2dtcXN4CisuQXIgaW5wdXQKKy5TaCBERVNDUklQVElPTgorLk5tCitpcyBhbiBMQUxSKDEpIHBhcnNlciBnZW5lcmF0b3IgZm9yIEMgb3IgQysrLgorSXQgZG9lcyB0aGUgc2FtZSBqb2IgYXMgYmlzb24gYW5kIHlhY2MuCitCdXQgCisuTm0KK2lzIG5vdCBhbm90aGVyIGJpc29uIG9yIHlhY2MgY2xvbmUuCitJdCB1c2VzIGEgZGlmZmVyZW50IGdyYW1tYXIgc3ludGF4IHdoaWNoIGlzIGRlc2lnbmVkIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNvZGluZyBlcnJvcnMuCisuTm0KK2Fsc28gdXNlcyBhIG1vcmUgc29waGlzdGljYXRlZCBwYXJzaW5nIGVuZ2luZSB0aGF0IGlzIGZhc3RlciB0aGFuIHlhY2MgYW5kIGJpc29uCithbmQgd2hpY2ggaXMgYm90aCByZWVudHJhbnQgYW5kIHRocmVhZC1zYWZlLgorRnVydGhlcm1vcmUsIAorLk5tCitpbXBsZW1lbnRzIGZlYXR1cmVzIHRoYXQgY2FuIGJlIHVzZWQgdG8gZWxpbWluYXRlIHJlc291cmNlIGxlYWtzLAorbWFraW5nIGlzIHN1aXRhYmxlIGZvciB1c2UgaW4gbG9uZy1ydW5uaW5nIHByb2dyYW1zIHN1Y2ggYXMgZ3JhcGhpY2FsIHVzZXIgaW50ZXJmYWNlcyBvciBlbWJlZGRlZCBjb250cm9sbGVycy4KKy5QcAorLk5tCit3aWxsIHJlYWQgdGhlIGdyYW1tZXIgZnJvbQorLkFyIGlucHV0CithbmQgd3JpdGUgb3V0IGEgcGFyc2VyIGZvciB0aGF0IGdyYW1tYXIgaW4gdGhlIEMgbGFuZ3VhZ2UuCisuU2ggT1BUSU9OUworLkJsIC10YWcgLXdpZHRoIGluZGVudAorLkl0IEZsIGIKK1ByaW50IG9ubHkgdGhlIGJhc2lzIGluIHJlcG9ydC4KKy5JdCBGbCBjCitEb24ndCBjb21wcmVzcyB0aGUgYWN0aW9uIHRhYmxlLgorLkl0IEZsIGcKK1ByaW50IGdyYW1tYXIgd2l0aG91dCBhY3Rpb25zLgorLkl0IEZsIG0KK091dHB1dCBhIG1ha2VoZWFkZXJzIGNvbXBhdGlibGUgZmlsZS4KKy5JdCBGbCBxCisoUXVpZXQpIERvbid0IHByaW50IHRoZSByZXBvcnQgZmlsZS4KKy5JdCBGbCBzCitQcmludCBwYXJzZXIgc3RhdHMgdG8gc3RhbmRhcmQgb3V0cHV0LgorLkl0IEZsIHgKK1ByaW50IHRoZSB2ZXJzaW9uIG51bWJlci4KKy5FbAorLlNoIEZJTEVTCisuQmwgLXRhZyAtd2lkdGggaW5kZW50CisuSXQgUGEgL3Vzci9zaGFyZS9sZW1vbi9sZW1wYXIuYworRHJpdmVyIHRlbXBsYXRlIGZvciB0aGUKKy5ObQorcGFyc2VyIGdlbmVyYXRvci4KKy5FbAorLlNoIEFVVEhPUgorLk5tCitoYXMgYmVlbiB3cml0dGVuIGJ5CisuQW4gRC4gUmljaGFyZCBIaXBwIEFxIGRyaEBod2FjaS5jb20gLgorLlBwCitUaGlzIG1hbnVhbCBwYWdlIHdhcyB3cml0dGVuIGJ5CisuQW4gR3V1cyBTbGllcGVuIEFxIGd1dXNAZGViaWFuLm9yZworZm9yIHRoZSBEZWJpYW4gR05VL0xpbnV4IHN5c3RlbS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xlbW9uL2xlbW9uLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xlbW9uL2xlbW9uLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2I5ZmI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGVtb24vbGVtb24uaW5jCkBAIC0wLDAgKzEsMjUgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBMZW1vbiBQYXJzZXIgR2VuZXJhdG9yIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5od2FjaS5jb20vc3cvbGVtb24vIgorTElDRU5TRSA9ICJQRCIKK1NFQ1RJT04gPSAiZGV2ZWwiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5zcWxpdGUub3JnL3NxbGl0ZS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbGVtb24uMSIKKworUyA9ICIke1dPUktESVJ9L3NxbGl0ZS0ke1BWfS90b29sIgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9ICR7Q0ZMQUdTfSBsZW1vbi5jIC1jIC1vIGxlbW9uLm8KKyAgICAke0NDTER9ICR7TERGTEFHU30gbGVtb24ubyAtbyBsZW1vbgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSBsZW1vbiAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0IGxlbXBhci5jICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuMQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2xlbW9uLjEgJHtEfSR7bWFuZGlyfS9tYW4xLworfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGVtb24vbGVtb25fMy43LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sZW1vbi9sZW1vbl8zLjcuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTRkYjE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGVtb24vbGVtb25fMy43LjMuYmIKQEAgLTAsMCArMSw3IEBACityZXF1aXJlIGxlbW9uLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9sZW1vbi5jO2VuZGxpbmU9ODttZDU9Yzc1NTFhNzhmYTNmZGVjZDk2ZDFhZDY3NjFkMjA1ZWUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NDM3OTc4YWFlOTAzNTBjZjk4NDk5MzA5MWUwZDY5NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYmYzNTJlOGZiYjc0ODI5ZjVlN2E4OGY5ZjZjZWViODBhNzA5NTM3ZjY2OGMzNmU0YjZjZGZiMjcxMzA5ZWY2IgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJlZGl0L2xpYmVkaXRfMjAxNTAzMjUtMy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZWRpdC9saWJlZGl0XzIwMTUwMzI1LTMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTcyODk2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZWRpdC9saWJlZGl0XzIwMTUwMzI1LTMuMS5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIkJTRCByZXBsYWNlbWVudCBmb3IgbGlicmVhZGxpbmUiCitERVNDUklQVElPTiA9ICJDb21tYW5kIGxpbmUgZWRpdG9yIGxpYnJhcnkgcHJvdmlkaW5nIGdlbmVyaWMgbGluZSBlZGl0aW5nLCBcCitoaXN0b3J5LCBhbmQgdG9rZW5pemF0aW9uIGZ1bmN0aW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudGhyeXNvZWUuZGsvZWRpdGxpbmUvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZTQyMjhkMGM1YTkwOTNiMDFhZWFhZWFlNjY0MTUzMyIKKworREVQRU5EUyA9ICJuY3Vyc2VzIgorCitpbmhlcml0IGF1dG90b29scworCisjIHVwc3RyZWFtIHNpdGUgZG9lcyBub3QgYWxsb3cgd2dldCdzIFVzZXItQWdlbnQKK0ZFVENIQ01EX3dnZXQgKz0gIi1VIGJpdGJha2UiCitTUkNfVVJJID0gImh0dHA6Ly93d3cudGhyeXNvZWUuZGsvZWRpdGxpbmUvJHtCUE59LSR7UFZ9LnRhci5neiIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfS0ke1BWfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjQzY2RiNWRmMzA2MWQ3OGI1ZTlkNTkxMDk4NzFiNGY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM4OGE1ZTRhZjgzYzVmNDBkZGE4NDU1ODg2YWM5ODkyM2E5YzMzMTI1Njk5NzQyNjAzYTg4YTAyNTNmY2M4YzUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJmcmliaWRpL2ZyaWJpZGlfMC4xOS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZnJpYmlkaS9mcmliaWRpXzAuMTkuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjRiYzI0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZnJpYmlkaS9mcmliaWRpXzAuMTkuMi5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkZyaWJpZGkgbGlicmFyeSBmb3IgYmlkaXJlY3Rpb25hbCB0ZXh0IgorU0VDVElPTiA9ICJsaWJzIgorUFIgPSAicjEiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworUFJPVklERVMgPSAibGliZnJpYmlkaSIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UgcGtnY29uZmlnCisKK0NGTEFHU19hcHBlbmQgPSAiICAtRFBBR0VfU0laRT00MDk2ICIKKworU1JDX1VSSSA9ICJodHRwOi8vZnJpYmlkaS5vcmcvZG93bmxvYWQvZnJpYmlkaS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MjZkYjE3ZDJkOTliNDM2MTVhZDlkMTI1MDBmNTY4YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0OWNmOTE1ODZlNDhiNTJmZTI1ODcyZmY2NmMxZGEwZGZmMGRhYWMyNTkzZjlmMzAwZTJhZjEyZjQ0ZjY0MTc3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZ2VlL2xpYmdlZV8wLjE4LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJnZWUvbGliZ2VlXzAuMTguMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZmE5ZDlmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZ2VlL2xpYmdlZV8wLjE4LjAuYmIKQEAgLTAsMCArMSwyNCBAQAorREVTQ1JJUFRJT04gPSAibGliZ2VlIGlzIGEgY29sbGVjdGlvbiBsaWJyYXJ5IHByb3ZpZGluZyBHT2JqZWN0LWJhc2VkIGludGVyZmFjZXMgXAorYW5kIGNsYXNzZXMgZm9yIGNvbW1vbmx5IHVzZWQgZGF0YSBzdHJ1Y3R1cmVzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9saXZlLmdub21lLm9yZy9MaWJnZWUiCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gImdsaWItMi4wIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCIKKworUEUgPSAiMSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdmFsYSBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBNQUNST1M9ImxpYnRvb2wubTQgbHR+b2Jzb2xldGUubTQgbHRvcHRpb25zLm00IGx0c3VnYXIubTQgbHR2ZXJzaW9uLm00IgorICAgIGZvciBpIGluICR7TUFDUk9TfTsgZG8KKyAgICAgICAgcm0gLWYgbTQvJGkKKyAgICBkb25lCit9CisKK1NIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicsMSkuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzFdfSIKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvbGliZ2VlLyR7U0hSVF9WRVJ9LyR7QlB9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyOWVhNjEyNWU2NTNkN2U2MGI0OWE5YTk1NDRhYmM5NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YWQ5OWVmOTM3ZDA3MWI0ODgzYzA2MWRmNDBiZmUyMzNmNzY0OWQ1MGMzNTRjZjgxMjM1ZjE4MGI0MjQ0Mzk5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGlidWJveC9saWJ1Ym94LzAwMDEtdmVyc2lvbi1saWJyYXJpZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJ1Ym94L2xpYnVib3gvMDAwMS12ZXJzaW9uLWxpYnJhcmllcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjExN2ZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGlidWJveC9saWJ1Ym94LzAwMDEtdmVyc2lvbi1saWJyYXJpZXMucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDU3ODA0Y2YuLjFhYTdmMjcgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0xOCw2ICsxOCw3IEBAIEVORElGKCkKKyBTRVQoU09VUkNFUyBhdmwuYyBhdmwtY21wLmMgYmxvYi5jIGJsb2Jtc2cuYyB1bG9vcC5jIHVzb2NrLmMgdXN0cmVhbS5jIHVzdHJlYW0tZmQuYyB2bGlzdC5jIHV0aWxzLmMgc2FmZV9saXN0LmMgcnVucXVldWUuYyBtZDUuYyBrdmxpc3QuYyB1bG9nLmMgYmFzZTY0LmMpCisgCisgQUREX0xJQlJBUlkodWJveCBTSEFSRUQgJHtTT1VSQ0VTfSkKKytTRVRfVEFSR0VUX1BST1BFUlRJRVModWJveCBQUk9QRVJUSUVTIFZFUlNJT04gMS4wLjEgU09WRVJTSU9OIDEpCisgQUREX0xJQlJBUlkodWJveC1zdGF0aWMgU1RBVElDICR7U09VUkNFU30pCisgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKHVib3gtc3RhdGljIFBST1BFUlRJRVMgT1VUUFVUX05BTUUgdWJveCkKKyAKK0BAIC00Niw2ICs0Nyw3IEBAIGZpbmRfbGlicmFyeShqc29uIE5BTUVTIGpzb24tYykKKyBJRihFWElTVFMgJHtqc29ufSkKKyAJQUREX0xJQlJBUlkoYmxvYm1zZ19qc29uIFNIQVJFRCBibG9ibXNnX2pzb24uYykKKyAJVEFSR0VUX0xJTktfTElCUkFSSUVTKGJsb2Jtc2dfanNvbiB1Ym94ICR7anNvbn0pCisrCVNFVF9UQVJHRVRfUFJPUEVSVElFUyhibG9ibXNnX2pzb24gUFJPUEVSVElFUyBWRVJTSU9OIDEuMC4xIFNPVkVSU0lPTiAxKQorIAorIAlBRERfTElCUkFSWShibG9ibXNnX2pzb24tc3RhdGljIFNUQVRJQyBibG9ibXNnX2pzb24uYykKKyAJU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGJsb2Jtc2dfanNvbi1zdGF0aWMKK0BAIC01NSw2ICs1Nyw3IEBAIElGKEVYSVNUUyAke2pzb259KQorIAlUQVJHRVRfTElOS19MSUJSQVJJRVMoanNobiBibG9ibXNnX2pzb24gJHtqc29ufSkKKyAKKyAJQUREX0xJQlJBUlkoanNvbl9zY3JpcHQgU0hBUkVEIGpzb25fc2NyaXB0LmMpCisrCVNFVF9UQVJHRVRfUFJPUEVSVElFUyhqc29uX3NjcmlwdCBQUk9QRVJUSUVTIFZFUlNJT04gMS4wLjEgU09WRVJTSU9OIDEpCisgCVRBUkdFVF9MSU5LX0xJQlJBUklFUyhqc29uX3NjcmlwdCB1Ym94KQorIAorIAlJTlNUQUxMKFRBUkdFVFMgYmxvYm1zZ19qc29uIGJsb2Jtc2dfanNvbi1zdGF0aWMganNobiBqc29uX3NjcmlwdApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGlidWJveC9saWJ1Ym94L2ZpeC1saWJkaXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJ1Ym94L2xpYnVib3gvZml4LWxpYmRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjA5YzhiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGlidWJveC9saWJ1Ym94L2ZpeC1saWJkaXIucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorW1BBVENIXSBmaXggdGhlIENNQUtFX0lOU1RBTExfTElCRElSCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitsaWJkaXIgbWF5YmUgL3Vzci9saWI2NCBmb3IgNjRiaXQgbWFjaGluZQorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDggKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNTc4MDRjZi4uMmM3YmRjMSAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTM1LDggKzM1LDggQEAgSU5TVEFMTChGSUxFUyAke2hlYWRlcnN9CisgCURFU1RJTkFUSU9OIGluY2x1ZGUvbGlidWJveAorICkKKyBJTlNUQUxMKFRBUkdFVFMgdWJveCB1Ym94LXN0YXRpYworLQlBUkNISVZFIERFU1RJTkFUSU9OIGxpYgorLQlMSUJSQVJZIERFU1RJTkFUSU9OIGxpYgorKwlBUkNISVZFIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9CisrCUxJQlJBUlkgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0KKyApCisgCisgQUREX1NVQkRJUkVDVE9SWShsdWEpCitAQCAtNTgsOCArNTgsOCBAQCBJRihFWElTVFMgJHtqc29ufSkKKyAJVEFSR0VUX0xJTktfTElCUkFSSUVTKGpzb25fc2NyaXB0IHVib3gpCisgCisgCUlOU1RBTEwoVEFSR0VUUyBibG9ibXNnX2pzb24gYmxvYm1zZ19qc29uLXN0YXRpYyBqc2huIGpzb25fc2NyaXB0CistCQlBUkNISVZFIERFU1RJTkFUSU9OIGxpYgorLQkJTElCUkFSWSBERVNUSU5BVElPTiBsaWIKKysJCUFSQ0hJVkUgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0KKysJCUxJQlJBUlkgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0KKyAJCVJVTlRJTUUgREVTVElOQVRJT04gYmluCisgCSkKKyAKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGlidWJveC9saWJ1Ym94X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYnVib3gvbGlidWJveF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA5MjgxYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYnVib3gvbGlidWJveF9naXQuYmIKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT04gPSAiQyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgT3BlbldydCIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gIlwKKyAgICBmaWxlOi8vYXZsLmM7ZW5kbGluZT0zOTttZDU9MDA4MTAxNTVmZWQzZDYwNDgxNmVjNTgxNDUyM2Q2MGEgXAorICAgIGZpbGU6Ly9hdmwtY21wLmM7ZW5kbGluZT0xNTttZDU9MTYwM2U2MDk0YjQzMmE1ZjNmMzIwODc3YTA2ZjQxYjUgXAorICAgIGZpbGU6Ly9iYXNlNjQuYztlbmRsaW5lPTYxO21kNT01MWZkZmYwMTBkNDViMDA4NmFjMGE2ZTAzNTY5M2RjMCBcCisgICAgZmlsZTovL2Jsb2Jtc2cuYztlbmRsaW5lPTE1O21kNT03ZWQ2NGMxNTcwZThjOWI0NmM0ZmM2ZmJkMTZjNDg5ZSBcCisgICAgZmlsZTovL2xpc3QuaDtlbmRsaW5lPTI4O21kNT0yZDVmNTQ3NWZiZDBmMDg3NDEzNTRjNWE5OWMyZTk4MyBcCisgICAgZmlsZTovL21kNS5oO2VuZGxpbmU9Mzk7bWQ1PTA0OGJmOWY2ODk2M2MyMDdhMGMyYjNhOTRjOWQyYWFhIFwKKyAgICBmaWxlOi8vbWQ1LmM7ZW5kbGluZT01MTttZDU9MGE0NDhlZWEwYmNiYzg5ZTNjN2U2NjA4ZjJkMTE5YTAgXAorICAgIGZpbGU6Ly91c29jay5oO2VuZGxpbmU9MTg7bWQ1PWYwZGZkYzhkZTg1OGU2NmQ2NmQ3NDAzNjYxMWJiYTE0IFwKKyIKKworU1JDX1VSSSA9ICJcCisgICAgZ2l0Oi8vZ2l0Lm9wZW53cnQub3JnL3Byb2plY3QvbGlidWJveC5naXQgXAorICAgIGZpbGU6Ly8wMDAxLXZlcnNpb24tbGlicmFyaWVzLnBhdGNoIFwKKyAgICBmaWxlOi8vZml4LWxpYmRpci5wYXRjaCBcCisiCisKK1NSQ1JFViA9ICIxNTViZjM5ODk2ZjEyNmIxYmExMjFiODE2OTIyYTg4ZGMzNGMzMWUzIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlCisKK0RFUEVORFMgPSAianNvbi1jIgorCitFWFRSQV9PRUNNQUtFID0gIi1EQlVJTERfRVhBTVBMRVM9T0ZGIC1EQlVJTERfTFVBPU9GRiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xvZzRjcGx1cy9sb2c0Y3BsdXNfMS4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sb2c0Y3BsdXMvbG9nNGNwbHVzXzEuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyZjVlYzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sb2c0Y3BsdXMvbG9nNGNwbHVzXzEuMi4wLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAibG9nNGNwbHVzIHByb3ZpZGVzIGEgc2ltcGxlIEMrKyBsb2dnaW5nIEFQSSBmb3IgbG9nIG1hbmFnZW1lbnQiCitTRUNUSU9OID0gImxpYnMiCitIT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xvZzRjcGx1cy8iCitCVUdUUkFDS0VSID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9sb2c0Y3BsdXMvYnVncy8iCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCAmIEJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWNlZGFhMjg3ZWNlY2NiOTRmOWYyODgwZDljNGVmMDg1IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0LyR7QlBOfS8ke0JQTn0tc3RhYmxlLyR7UFZ9LyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMjUwZjBmNDMxYzA3MjNmOGI2MjUzMjNlN2I2NDY1ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhZDVlYzNiNjJmMmYwYmRjN2YwNmZhMzk4YmRlNjEwOTFmZDI0OTNlOTEwNTllMTczMTViNTE5NzQyMGRjZjA0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworQkJDTEFTU0VYVEVORCArPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRwLWRkdC9sdHAtZGR0L2x0cC1Eby1ub3QtbGluay1hZ2FpbnN0LWxpYmZsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRwLWRkdC9sdHAtZGR0L2x0cC1Eby1ub3QtbGluay1hZ2FpbnN0LWxpYmZsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlNGFhNzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHAtZGR0L2x0cC1kZHQvbHRwLURvLW5vdC1saW5rLWFnYWluc3QtbGliZmwucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA1YmRhOWMwYWY1Njg2OWM2ZmYyYzI1ZDM4ZWEwODcxNzljOTQ2YmM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hvbmcgTHUgPENob25nLkx1QHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDExIE1hciAyMDE0IDE0OjQ3OjIyICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGx0cDogRG9uJ3QgbGluayBhZ2FpbnN0IGxpYmZsCisKK1dlIGhhdmUgYWxyZWFkeSBkZWZpbmVkIHl5d3JhcCBmdW5jdGlvbiBpbiBzY2FuLmwgZmlsZS4gQWZ0ZXIgdGhpcywgd2Ugbm8gbG9uZ2VyIG5lZWQgdG8KK2xpbmsgYWdhaW5zdCBsaWJmbCBhbmQgc28gbm8gbG9uZ2VyIGdldCBlcnJvcnMgYWJvdXQgdW5kZWZpbmVkIHJlZmVyZW5jZXMgdG8geXlsZXguCisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBDaG9uZyBMdSA8Q2hvbmcuTHVAd2luZHJpdmVyLmNvbT4KKy0tLQorIHBhbi9NYWtlZmlsZSB8ICAgIDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3Bhbi9NYWtlZmlsZSBiL3Bhbi9NYWtlZmlsZQoraW5kZXggNGNjNjQ2Ni4uYTRiNTc1YiAxMDA2NDQKKy0tLSBhL3Bhbi9NYWtlZmlsZQorKysrIGIvcGFuL01ha2VmaWxlCitAQCAtMzEsNyArMzEsNyBAQCBDUFBGTEFHUwkJKz0gLVduby1lcnJvcgorIAorIENQUEZMQUdTCQkrPSAtSSQoYWJzX3NyY2RpcikKKyAKKy1MRExJQlMJCQkrPSAtbG0gJChMRVhMSUIpCisrTERMSUJTCQkJKz0gLWxtCisgCisgTEZMQUdTCQkJKz0gLWwKKyAKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHAtZGR0L2x0cC1kZHRfMS4wLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHAtZGR0L2x0cC1kZHRfMS4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjIxMTdiMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cC1kZHQvbHRwLWRkdF8xLjAuMC5iYgpAQCAtMCwwICsxLDk3IEBACitTVU1NQVJZID0gIkVtYmVkZGVkIExpbnV4IERldmljZSBEcml2ZXIgVGVzdHMgYmFzZWQgb24gTGludXggVGVzdCBQcm9qZWN0IgorSE9NRVBBR0UgPSAiaHR0cDovL2FyYWdvLXByb2plY3Qub3JnL2dpdC9wcm9qZWN0cy90ZXN0LWF1dG9tYXRpb24vbHRwLWRkdC5naXQiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCisKK1BST1ZJREVTICs9ICJsdHAiCitERVBFTkRTICs9ICJ6aXAtbmF0aXZlIHZpcnR1YWwva2VybmVsIGFsc2EtbGliIgorCitSREVQRU5EU18ke1BOfSArPSAicG0tcWEgc2VyaWFsY2hlY2siCisKK2luaGVyaXQgYXV0b3Rvb2xzIG1vZHVsZS1iYXNlIGtlcm5lbC1tb2R1bGUtc3BsaXQKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworU1JDUkVWID0gImYwODZiZWQ2Y2M4OGJmMTAyZWFhZDBlOTZjYjdlYmU3OTk0NGE4YWQiCitCUkFOQ0ggPz0gIm1hc3RlciIKKworU1JDX1VSSSA9ICJnaXQ6Ly9hcmFnby1wcm9qZWN0Lm9yZy9naXQvcHJvamVjdHMvdGVzdC1hdXRvbWF0aW9uL2x0cC1kZHQuZ2l0O2JyYW5jaD0ke0JSQU5DSH0gXAorICAgIGZpbGU6Ly9sdHAtRG8tbm90LWxpbmstYWdhaW5zdC1saWJmbC5wYXRjaCBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0xUUFJPT1QgPSAiL29wdC9sdHAiCisKK0VYVFJBX09FTUFLRV9hcHBlbmQgPSAiIFwKKyAgICBwcmVmaXg9JHtMVFBST09UfSBcCisgICAgQ1JPU1NfQ09NUElMRT0ke0hPU1RfUFJFRklYfSBcCisgICAgU0tJUF9JRENIRUNLPTEgXAorICAgIEtFUk5FTF9QQVRIPSR7U1RBR0lOR19LRVJORUxfRElSfSBcCisgICAgS0VSTkVMX0lOQz0ke1NUQUdJTkdfS0VSTkVMX0RJUn0gXAorICAgIEtFUk5FTF9VU1JfSU5DPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICBBTFNBX0lOQ1BBVEg9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgIEFMU0FfTElCUEFUSD0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgUExBVEZPUk09JHtNQUNISU5FfSBcCisgICAgUkFOTElCPSR7UkFOTElCfSBcCisgICAgREVTVERJUj0ke0R9IFwKKyAgICBDQz0nJHtDQ30nIFwKKyAgICBLRVJORUxfQ0M9JyR7S0VSTkVMX0NDfScgXAorIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworRklMRVNfJHtQTn0tZGJnICs9ICIgXAorICAgICR7TFRQUk9PVH0vLmRlYnVnIFwKKyAgICAke0xUUFJPT1R9L2Jpbi8uZGVidWcgXAorICAgICR7TFRQUk9PVH0vcnVudGVzdC8uZGVidWcgXAorICAgICR7TFRQUk9PVH0vdGVzdGNhc2VzL2Jpbi8uZGVidWcgXAorICAgICR7TFRQUk9PVH0vdGVzdGNhc2VzL2Jpbi8qL2Jpbi8uZGVidWcgXAorICAgICR7TFRQUk9PVH0vdGVzdGNhc2VzL2Jpbi8qL3Rlc3QvLmRlYnVnIFwKKyAgICAke0xUUFJPT1R9L3Rlc3RjYXNlcy9iaW4vZGR0Ly5kZWJ1ZyBcCisgICAgJHtMVFBST09UfS90ZXN0Y2FzZXMvYmluL2RkdC8qL2Jpbi8uZGVidWcgXAorICAgICR7TFRQUk9PVH0vdGVzdGNhc2VzL2Jpbi9kZHQvKi90ZXN0Ly5kZWJ1ZyBcCisgICAgJHtMVFBST09UfS90ZXN0Y2FzZXMvcmVhbHRpbWUvKi8qLy5kZWJ1ZyBcCisiCisKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtMVFBST09UfS9saWIiCitGSUxFU18ke1BOfSArPSAiJHtMVFBST09UfS8qIgorCitLRVJORUxfTU9EVUxFU19NRVRBX1BBQ0tBR0UgPSAiJHtQTn0iCisKK2ttb2RkaXIgPSAiL2xpYi9tb2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059L2tlcm5lbC9kcml2ZXJzL2RkdCIKKworIyBsdHAgZG9lc24ndCByZWdlbmVyYXRlIGZmc2ItNi4wLXJjMiBjb25maWd1cmUgYW5kIGhhcmRjb2RlIGNvbmZpZ3VyZSBjYWxsLgorIyB3ZSBleHBsaWNpdGx5IGZvcmNlIHJlZ2VuZXJhdGlvbiBvZiB0aGF0IGRpcmVjdG9yeSBhbmQgcGFzcyBjb25maWd1cmUgb3B0aW9ucy4KK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgKGNkIHV0aWxzL2Zmc2ItNi4wLXJjMjsgYXV0b3JlY29uZiAtZnZpOyAuL2NvbmZpZ3VyZSAke0NPTkZJR1VSRU9QVFN9KQorfQorCisjIFRoZSBtYWtlZmlsZXMgbWFrZSBleGNlc3NpdmUgdXNlIG9mIG1ha2UgLUMgYW5kIHNldmVyYWwgaW5jbHVkZSB0ZXN0Y2FzZXMubWsKKyMgd2hpY2ggdHJpZ2dlcnMgYSBidWlsZCBvZiB0aGUgc3lzY2FsbCBoZWFkZXIuIFRvIHJlcHJvZHVjZSwgYnVpbGQgbHRwLAorIyB0aGVuIGRlbGV0ZSB0aGUgaGVhZGVyLCB0aGVuICJtYWtlIC1qIFhYIiBhbmQgd2F0Y2ggcmVnZW4uc2ggcnVuIG11bHRpcGxlCisjIHRpbWVzLiBJdHMgZWFzaWVyIHRvIGdlbmVyYXRlIHRoaXMgb25jZSBoZXJlIGluc3RlYWQuCitkb19jb21waWxlX3ByZXBlbmQgKCkgeworICAgICggbWFrZSAtQyAke0J9L3Rlc3RjYXNlcy9rZXJuZWwgaW5jbHVkZS9saW51eF9zeXNjYWxsX251bWJlcnMuaCApCit9CisKK2RvX2NvbXBpbGVfYXBwZW5kICgpIHsKKyAgICB1bnNldCBDRkxBR1MgQ1BQRkxBR1MgQ1hYRkxBR1MgTERGTEFHUworICAgIG9lX3J1bm1ha2UgbW9kdWxlcworfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbAorICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2ttb2RkaXJ9CisgICAgbXYgJHtEfSR7TFRQUk9PVH0vdGVzdGNhc2VzL2Jpbi9kZHQvKi5rbyAke0R9JHtrbW9kZGlyfQorfQorCisjIGRvX21ha2Vfc2NyaXB0cyBzaG91bGQgYmUgYSBzZXBhcmF0ZSB0YXNrIGZvciB0aGUgbG9jayB0byB3b3JrCithZGR0YXNrIG1ha2Vfc2NyaXB0cyBiZWZvcmUgZG9fY29tcGlsZQorZG9fbWFrZV9zY3JpcHRzW2xvY2tmaWxlc10gPSAiJHtUTVBESVJ9L2tlcm5lbC1zY3JpcHRzLmxvY2siCitkb19tYWtlX3NjcmlwdHNbZGVwdGFza10gPSAiZG9fcG9wdWxhdGVfc3lzcm9vdCIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvNTYzMjcvCitQTkJMQUNLTElTVFtsdHAtZGR0XSA/PSAiQlJPS0VOOiBmYWlscyBzaW5jZSBsYXN0IGF1dG90b29scy5iYmNsYXNzIGNoYW5nZXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlLzAwMDEtbHRyYWNlLWZpeC1nY2MtNS1sb2dpY2FsLW5vdC1wYXJlbnRoZXNlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvMDAwMS1sdHJhY2UtZml4LWdjYy01LWxvZ2ljYWwtbm90LXBhcmVudGhlc2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4MWM0M2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlLzAwMDEtbHRyYWNlLWZpeC1nY2MtNS1sb2dpY2FsLW5vdC1wYXJlbnRoZXNlcy5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDg3NmZlNTY4MGQ3NzgwMDQyNmY4YzRjNTY4MGEyMzU3MzJkNzIyZTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjQgQXVnIDIwMTUgMTc6Mzc6NTQgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbHRyYWNlOiBmaXggZ2NjIDUgbG9naWNhbCBub3QgcGFyZW50aGVzZXMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0J1aWxkIGx0cmFjZSB3aXRoIGdjYyA1LjIsIGl0IGZhaWxzIHdpdGg6CisKK2Vycm9yOiBsb2dpY2FsIG5vdCBpcyBvbmx5IGFwcGxpZWQgdG8gdGhlIGxlZnQgaGFuZCBzaWRlIG9mIGNvbXBhcmlzb24KK1stV2Vycm9yPWxvZ2ljYWwtbm90LXBhcmVudGhlc2VzXQorICAgaWYgKCFuZWVkX2RhdGEoZGF0YSwgb2Zmc2V0LCBTSVpFIC8gOCkgPCAwKSAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorCitGdW5jdGlvbiBuZWVkX2RhdGEganVzdCByZXR1cm4gMCBvbiBzdWNjZXNzIGFuZCAtMSBpZiBmYWlsLiBTbyBpdCBpcyBvawordG8ganVzdCB0ZXN0IGlmIChuZWVkX2RhdGEoZGF0YSwgb2Zmc2V0LCBTSVpFIC8gOCkgPCAwKS4KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBsdHJhY2UtZWxmLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9sdHJhY2UtZWxmLmMgYi9sdHJhY2UtZWxmLmMKK2luZGV4IGM1NzFkMmEuLjdmZTgzMGYgMTAwNjQ0CistLS0gYS9sdHJhY2UtZWxmLmMKKysrKyBiL2x0cmFjZS1lbGYuYworQEAgLTIxOCw3ICsyMTgsNyBAQCBuZWVkX2RhdGEoRWxmX0RhdGEgKmRhdGEsIEdFbGZfWHdvcmQgb2Zmc2V0LCBHRWxmX1h3b3JkIHNpemUpCisgCWludAkJCQkJCQkJXAorIAlOQU1FKEVsZl9EYXRhICpkYXRhLCBHRWxmX1h3b3JkIG9mZnNldCwgdWludCMjU0laRSMjX3QgKnJldHApCVwKKyAJewkJCQkJCQkJXAorLQkJaWYgKCFuZWVkX2RhdGEoZGF0YSwgb2Zmc2V0LCBTSVpFIC8gOCkgPCAwKQkJXAorKwkJaWYgKG5lZWRfZGF0YShkYXRhLCBvZmZzZXQsIFNJWkUgLyA4KSA8IDApCQlcCisgCQkJcmV0dXJuIC0xOwkJCQkJXAorIAkJCQkJCQkJCVwKKyAJCWlmIChkYXRhLT5kX2J1ZiA9PSBOVUxMKSAvKiBOT0RBVEEgc2VjdGlvbiAqLyB7CQlcCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvY29uZmlndXJlLWFsbG93LXRvLWRpc2FibGUtc2VsaW51eC1zdXBwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZS9jb25maWd1cmUtYWxsb3ctdG8tZGlzYWJsZS1zZWxpbnV4LXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGY4OWQ4ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvY29uZmlndXJlLWFsbG93LXRvLWRpc2FibGUtc2VsaW51eC1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gODg3YTQwM2UzOGY1OTBlYmYxZDA0Y2U2MDBkOTRjYjdhMzUxNzQ0YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAxIERlYyAyMDE0IDAwOjU3OjQyIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIGx0cmFjZTogYWxsb3cgdG8gZW5hYmxlL2Rpc2FibGUgc2VsaW51eCBzdXBwb3J0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgMTAgKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDZmZTVlM2IuLjE4OTg4NWEgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTEyNSw4ICsxMjUsMTQgQEAgQUNfU1VCU1QobGlic3RkY3h4X0xJQlMpCisgCisgCisgZG5sIENoZWNrIHNlY3VyaXR5X2dldF9ib29sZWFuX2FjdGl2ZSBhdmFpbGFiaWxpdHkuCistQUNfQ0hFQ0tfSEVBREVSUyhzZWxpbnV4L3NlbGludXguaCkKKy1BQ19DSEVDS19MSUIoc2VsaW51eCwgc2VjdXJpdHlfZ2V0X2Jvb2xlYW5fYWN0aXZlKQorK0FDX0FSR19FTkFCTEUoW3NlbGludXhdLAorKyAgICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtc2VsaW51eF0sW2VuYWJsZSBTRUxpbnV4IHN1cHBvcnQgW2RlZmF1bHQ9YXV0b11dKSwKKysgICAgW10sIFtlbmFibGVfc2VsaW51eD1hdXRvXSkKKysKKytpZiB0ZXN0IHgkZW5hYmxlX3NlbGludXggIT0geG5vOyB0aGVuCisrICAgIEFDX0NIRUNLX0hFQURFUlMoc2VsaW51eC9zZWxpbnV4LmgpCisrICAgIEFDX0NIRUNLX0xJQihzZWxpbnV4LCBzZWN1cml0eV9nZXRfYm9vbGVhbl9hY3RpdmUpCisrZmkKKyAKKyBkbmwgV2hldGhlciAoYW5kIHdoaWNoKSBlbGZ1dGlscyBsaWJkdy5zbyB0byB1c2UgZm9yIHVud2luZGluZy4KKyBBQ19BUkdfV0lUSChlbGZ1dGlscywKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlL2x0cmFjZS0wLjcuMi11bnVzZWQtdHlwZWRlZi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvbHRyYWNlLTAuNy4yLXVudXNlZC10eXBlZGVmLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmM2MwZWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlL2x0cmFjZS0wLjcuMi11bnVzZWQtdHlwZWRlZi5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitkaWZmIC0tZ2l0IGEvdmFsdWUuYyBiL3ZhbHVlLmMKK2luZGV4IGQxOGRiMTcuLmI5ODI5OGUgMTAwNjQ0CistLS0gYS92YWx1ZS5jCisrKysgYi92YWx1ZS5jCitAQCAtMSw2ICsxLDYgQEAKKyAvKgorICAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGx0cmFjZS4KKy0gKiBDb3B5cmlnaHQgKEMpIDIwMTEsMjAxMiBQZXRyIE1hY2hhdGEsIFJlZCBIYXQgSW5jLgorKyAqIENvcHlyaWdodCAoQykgMjAxMSwyMDEyLDIwMTMgUGV0ciBNYWNoYXRhLCBSZWQgSGF0IEluYy4KKyAgKgorICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworQEAgLTI4Miw5ICsyODIsOSBAQCB2YWx1ZV9pbml0X2RlcmVmKHN0cnVjdCB2YWx1ZSAqcmV0X3ZhbCwgc3RydWN0IHZhbHVlICp2YWxwKQorIAlpZiAodmFsdWVfZXh0cmFjdF93b3JkKHZhbHAsICZsLCBOVUxMKSA8IDApCisgCQlyZXR1cm4gLTE7CisgCistCS8qIFdlIG5lZWQgImxvbmciIHRvIGJlIGxvbmcgZW5vdWdoIHRvIGhvbGQgcGxhdGZvcm0KKysJLyogV2UgbmVlZCAibG9uZyIgdG8gYmUgbG9uZyBlbm91Z2ggdG8gaG9sZCB0YXJnZXQKKyAJICogcG9pbnRlcnMuICAqLworLQl0eXBlZGVmIGNoYXIgYXNzZXJ0X19sb25nX2Vub3VnaF9sb25nWy0oc2l6ZW9mKGwpIDwgc2l6ZW9mKHZvaWQgKikpXTsKKysJYXNzZXJ0KHNpemVvZihsKSA+PSBzaXplb2YoYXJjaF9hZGRyX3QpKTsKKyAKKyAJdmFsdWVfY29tbW9uX2luaXQocmV0X3ZhbCwgdmFscC0+aW5mZXJpb3IsIHZhbHAsCisgCQkJICB2YWxwLT50eXBlLT51LnB0cl9pbmZvLmluZm8sIDApOworZGlmZiAtLWdpdCBhL2xlbnNfZGVmYXVsdC5jIGIvbGVuc19kZWZhdWx0LmMKK2luZGV4IGVkM2QwZTEuLjVkMDA4MTQgMTAwNjQ0CistLS0gYS9sZW5zX2RlZmF1bHQuYworKysrIGIvbGVuc19kZWZhdWx0LmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qCisgICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgbHRyYWNlLgorLSAqIENvcHlyaWdodCAoQykgMjAxMSwyMDEyIFBldHIgTWFjaGF0YSwgUmVkIEhhdCBJbmMuCisrICogQ29weXJpZ2h0IChDKSAyMDExLDIwMTIsMjAxMyBQZXRyIE1hY2hhdGEsIFJlZCBIYXQgSW5jLgorICAqIENvcHlyaWdodCAoQykgMTk5OCwyMDA0LDIwMDcsMjAwOCwyMDA5IEp1YW4gQ2VzcGVkZXMKKyAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgSWFuIFdpZW5hbmQKKyAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU3RldmUgRmluaworQEAgLTM0Miw5ICszNDIsOSBAQCBmb3JtYXRfYXJyYXkoRklMRSAqc3RyZWFtLCBzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBzdHJ1Y3QgdmFsdWVfZGljdCAqYXJndW1lbnRzLAorIAkgICAgIHN0cnVjdCBleHByX25vZGUgKmxlbmd0aCwgc2l6ZV90IG1heGxlbiwgaW50IGJlZm9yZSwKKyAJICAgICBjb25zdCBjaGFyICpvcGVuLCBjb25zdCBjaGFyICpjbG9zZSwgY29uc3QgY2hhciAqZGVsaW0pCisgeworLQkvKiBXZSBuZWVkICJsb25nIiB0byBiZSBsb25nIGVub3VnaCB0byBjb3ZlciB0aGUgd2hvbGUgYWRkcmVzcworLQkgKiBzcGFjZS4gICovCistCXR5cGVkZWYgY2hhciBhc3NlcnRfX2xvbmdfZW5vdWdoX2xvbmdbLShzaXplb2YobG9uZykgPCBzaXplb2Yodm9pZCAqKSldOworKwkvKiBXZSBuZWVkICJsb25nIiB0byBiZSBsb25nIGVub3VnaCB0byBjb3ZlciB0aGUgd2hvbGUgdGFyZ2V0CisrCSAqIGFkZHJlc3Mgc3BhY2UuICAqLworKwlhc3NlcnQoc2l6ZW9mKGxvbmcpID49IHNpemVvZihhcmNoX2FkZHJfdCkpOworIAlsb25nIGw7CisgCWlmIChleHByX2V2YWxfd29yZChsZW5ndGgsIHZhbHVlLCBhcmd1bWVudHMsICZsKSA8IDApCisgCQlyZXR1cm4gLTE7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2VfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjNGUyNzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlX2dpdC5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gImx0cmFjZSBpbnRlcmNlcHRzIGFuZCByZWNvcmRzIGR5bmFtaWMgbGlicmFyeSBjYWxscyIKKworREVTQ1JJUFRJT04gPSAibHRyYWNlIGludGVyY2VwdHMgYW5kIHJlY29yZHMgZHluYW1pYyBsaWJyYXJ5IGNhbGxzIFwKK3doaWNoIGFyZSBjYWxsZWQgYnkgYW4gZXhlY3V0ZWQgcHJvY2VzcyBhbmQgdGhlIHNpZ25hbHMgcmVjZWl2ZWQgYnkgdGhhdCBwcm9jZXNzLiBcCitJdCBjYW4gYWxzbyBpbnRlcmNlcHQgYW5kIHByaW50IHRoZSBzeXN0ZW0gY2FsbHMgZXhlY3V0ZWQgYnkgdGhlIHByb2dyYW0uXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL2x0cmFjZS5vcmcvIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWI3MjNiNjE1MzlmZWVmMDEzZGU0NzZlNjhiNWM1MGEiCisKK1BFID0gIjEiCitQViA9ICI3LjMrZ2l0JHtTUkNQVn0iCitTUkNSRVYgPSAiMzdlY2M0MWI1OGJlM2RiZGQ3OTU5MmE3NmUzMzFiNWIzNzFlNGY4MSIKKworREVQRU5EUyA9ICJlbGZ1dGlscyIKK1JERVBFTkRTXyR7UE59ID0gImVsZnV0aWxzIgorU1JDX1VSSSA9ICJnaXQ6Ly9hbm9uc2NtLmRlYmlhbi5vcmcvY29sbGFiLW1haW50L2x0cmFjZS5naXQ7YnJhbmNoPWx0cmFjZS0wLjcgXAorICAgICAgICAgICBmaWxlOi8vbHRyYWNlLTAuNy4yLXVudXNlZC10eXBlZGVmLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS1hbGxvdy10by1kaXNhYmxlLXNlbGludXgtc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWx0cmFjZS1maXgtZ2NjLTUtbG9naWNhbC1ub3QtcGFyZW50aGVzZXMucGF0Y2ggXAorICAgICAgICAgICIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc2VsaW51eCcsICdzZWxpbnV4JywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbdW53aW5kXSA9ICItLXdpdGgtbGlidW53aW5kLC0td2l0aG91dC1saWJ1bndpbmQsbGlidW53aW5kIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLWVuYWJsZS1zZWxpbnV4LC0tZGlzYWJsZS1zZWxpbnV4LGxpYnNlbGludXgsbGlic2VsaW51eCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCSggY2QgJHtTfTsgLi9hdXRvZ2VuLnNoICkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YS9sdWEvbHVhLnBjLmluIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhL2x1YS9sdWEucGMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI3ZTg2ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YS9sdWEvbHVhLnBjLmluCkBAIC0wLDAgKzEsMTAgQEAKK3ByZWZpeD0vdXNyCitsaWJkaXI9JHtwcmVmaXh9L2xpYgoraW5jbHVkZWRpcj0ke3ByZWZpeH0vaW5jbHVkZQorCitOYW1lOiBMdWEKK0Rlc2NyaXB0aW9uOiBMdWEgbGFuZ3VhZ2UgZW5naW5lCitWZXJzaW9uOiBAVkVSU0lPTkAKK1JlcXVpcmVzOgorTGliczogLUwke2xpYmRpcn0gLWxsdWEgLWxtIC1sZGwKK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdWEvbHVhL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YS9sdWEvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlMDg1ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdWEvbHVhL3J1bi1wdGVzdApAQCAtMCwwICsxLDE5IEBACisjIS9iaW4vc2gKKworY2QgdGVzdAorbHVhIC1lIl9VPXRydWUiIGFsbC5sdWEgPiBsdWEtdGVzdC50bXAKKworZWNobyAiLS0tIHRlc3Qgb3V0cHV0IC0tLSIKK2NhdCBsdWEtdGVzdC50bXAKK2VjaG8gIiIKK2VjaG8gIiIKK2VjaG8gIi0tLSBwdGVzdCByZXN1bHQgLS0tIgorCitncmVwICJmaW5hbCBPSyBcIVwhXCEiIGx1YS10ZXN0LnRtcCA+IC9kZXYvbnVsbAoraWYgWyAkPyAtZXEgMCBdOyB0aGVuCisgICBlY2hvICJQQVNTOiBsdWEiCitlbHNlCisgICBlY2hvICJGQUlMOiBsdWEiCitmaQorCitybSAtZiBsdWEtdGVzdC50bXAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YS9sdWEvdWNsaWJjLXB0aHJlYWQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdWEvbHVhL3VjbGliYy1wdGhyZWFkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0Y2RjNWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdWEvbHVhL3VjbGliYy1wdGhyZWFkLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiBsdWEtNS4xLjQvc3JjL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYS9zcmMvTWFrZWZpbGUub3JpZwkyMDEzLTEwLTIyIDIyOjE3OjE5LjkyOTEwMzUyMyAtMDQwMAorKysrIGEvc3JjL01ha2VmaWxlCTIwMTMtMTAtMjIgMjI6MTg6MjcuOTkyMTA0NTQ1IC0wNDAwCitAQCAtOSw3ICs5LDcgQEAKKyBDQz0gZ2NjCisgQ0ZMQUdTPSAtTzIgLVdhbGwgLURMVUFfQ09NUEFUX0FMTCAkKFNZU0NGTEFHUykgJChNWUNGTEFHUykKKyBMREZMQUdTPSAkKFNZU0xERkxBR1MpICQoTVlMREZMQUdTKQorLUxJQlM9IC1sbSAkKFNZU0xJQlMpICQoTVlMSUJTKQorK0xJQlM9IC1sbSAtbHB0aHJlYWQgJChTWVNMSUJTKSAkKE1ZTElCUykKKyAKKyBBUj0gYXIgcmN1CisgUkFOTElCPSByYW5saWIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YS9sdWFfNS4zLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdWEvbHVhXzUuMy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3YTFhNDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdWEvbHVhXzUuMy4yLmJiCkBAIC0wLDAgKzEsNjEgQEAKK0RFU0NSSVBUSU9OID0gIkx1YSBpcyBhIHBvd2VyZnVsIGxpZ2h0LXdlaWdodCBwcm9ncmFtbWluZyBsYW5ndWFnZSBkZXNpZ25lZCBcCitmb3IgZXh0ZW5kaW5nIGFwcGxpY2F0aW9ucy4iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9yZWFkbWUuaHRtbDtiZWdpbmxpbmU9MzE4O2VuZGxpbmU9MzUyO21kNT02OGZjMmFhMmI3NTFhMzdmZjI2NTUyNGRkZjAyNmQ3ZiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubHVhLm9yZy8iCisKK1BSID0gInIwIgorCitERVBFTkRTID0gInJlYWRsaW5lIgorU1JDX1VSSSA9ICJodHRwOi8vd3d3Lmx1YS5vcmcvZnRwL2x1YS0ke1BWfS50YXIuZ3o7bmFtZT10YXJiYWxsc3JjIFwKKyAgICAgICAgICAgZmlsZTovL2x1YS5wYy5pbiBcCisgICAgICAgICAgICIKK1NSQ19VUkkgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHRlc3QnLCBcCisgICAgICAgICAgICdodHRwOi8vd3d3Lmx1YS5vcmcvdGVzdHMvbHVhLSR7UFZ9LXRlc3RzLnRhci5nejtuYW1lPXRhcmJhbGx0ZXN0IFwKKyAgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICAnLCAnJywgZCl9IgorCitTUkNfVVJJW3RhcmJhbGxzcmMubWQ1c3VtXSA9ICIzMzI3OGMyYWI1ZWUzYzFhODc1YmU4ZDU1YzFjYTJhMSIKK1NSQ19VUklbdGFyYmFsbHNyYy5zaGEyNTZzdW1dID0gImM3NDBjN2JiMjNhOTM2OTQ0ZTFjYzYzYjdjM2M1MzUxYTg5NzZkNzg2N2M1MjUyYzg4NTRmN2IyYWY5ZGE2OGYiCitTUkNfVVJJW3RhcmJhbGx0ZXN0Lm1kNXN1bV0gPSAiYTJiN2FiMWI4ZmY4MmEwMTQ1Mzc2ZTIzM2VmMzBhNGEiCitTUkNfVVJJW3RhcmJhbGx0ZXN0LnNoYTI1NnN1bV0gPSAiNTY5MDk4NjNhMzcxM2RlZTM3MDliM2RiZDBjODY4MjM3ZTRmNWM5ZWExNzQ0ZjViZjBiYThiYWZhNmM0ZWQzMiIKKworaW5oZXJpdCBwa2djb25maWcgYmluY29uZmlnIHB0ZXN0CisKK1VDTElCQ19QQVRDSEVTICs9ICJmaWxlOi8vdWNsaWJjLXB0aHJlYWQucGF0Y2giCitTUkNfVVJJX2FwcGVuZF9saWJjLXVjbGliYyA9ICIke1VDTElCQ19QQVRDSEVTfSIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIiAtZlBJQyAke0xERkxBR1N9IgorRVhUUkFfT0VNQUtFID0gIidDQz0ke0NDfSAtZlBJQycgJ01ZQ0ZMQUdTPSR7Q0ZMQUdTfSAtRExVQV9VU0VfTElOVVggLWZQSUMnIE1ZTERGTEFHUz0nJHtMREZMQUdTfSciCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSBzOi91c3IvbG9jYWw6JHtwcmVmaXh9Omcgc3JjL2x1YWNvbmYuaAorfQorCitkb19jb21waWxlICgpIHsKKyAgICBvZV9ydW5tYWtlIGxpbnV4Cit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgXAorICAgICAgICAnSU5TVEFMTF9UT1A9JHtEfSR7cHJlZml4fScgXAorICAgICAgICAnSU5TVEFMTF9CSU49JHtEfSR7YmluZGlyfScgXAorICAgICAgICAnSU5TVEFMTF9JTkM9JHtEfSR7aW5jbHVkZWRpcn0vJyBcCisgICAgICAgICdJTlNUQUxMX01BTj0ke0R9JHttYW5kaXJ9L21hbjEnIFwKKyAgICAgICAgJ0lOU1RBTExfU0hBUkU9JHtEfSR7ZGF0YWRpcn0vbHVhJyBcCisgICAgICAgICdJTlNUQUxMX0xJQj0ke0R9JHtsaWJkaXJ9JyBcCisgICAgICAgICdJTlNUQUxMX0NNT0Q9JHtEfSR7bGliZGlyfS9sdWEvNS4zJyBcCisgICAgICAgIGluc3RhbGwKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnCisKKyAgICBzZWQgLWUgcy9AVkVSU0lPTkAvJHtQVn0vICR7V09SS0RJUn0vbHVhLnBjLmluID4gJHtXT1JLRElSfS9sdWEucGMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9sdWEucGMgJHtEfSR7bGliZGlyfS9wa2djb25maWcvCisgICAgcm1kaXIgJHtEfSR7ZGF0YWRpcn0vbHVhLzUuMworICAgIHJtZGlyICR7RH0ke2RhdGFkaXJ9L2x1YQorfQorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKyAgICAgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtXT1JLRElSfS9sdWEtJHtQVn0tdGVzdHMgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdAorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YWppdC9sdWFqaXQvMDAwMS1Eby1ub3Qtc3RyaXAtYXV0b21hdGljYWxseS10aGlzLWxlYXZlcy10aGUtc3RyaXBwaW5nLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhaml0L2x1YWppdC8wMDAxLURvLW5vdC1zdHJpcC1hdXRvbWF0aWNhbGx5LXRoaXMtbGVhdmVzLXRoZS1zdHJpcHBpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjEyM2IzZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YWppdC9sdWFqaXQvMDAwMS1Eby1ub3Qtc3RyaXAtYXV0b21hdGljYWxseS10aGlzLWxlYXZlcy10aGUtc3RyaXBwaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gNTI4MDA5ZjVjYTA2ODVjOTVlZjI3ZjZjODk1NzE2MDQ5OWMwNTc2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDEwIE1heSAyMDEzIDEwOjQyOjQ1IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBzdHJpcCBhdXRvbWF0aWNhbGx5LCB0aGlzIGxlYXZlcyB0aGUgc3RyaXBwaW5nCisgYnVzaW5lcyB0byBPRQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FLVNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL01ha2VmaWxlIHwgICAgMiAtLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlIGIvc3JjL01ha2VmaWxlCitpbmRleCAyNzgzMjRhLi41ZWNkNmQ1IDEwMDY0NAorLS0tIGEvc3JjL01ha2VmaWxlCisrKysgYi9zcmMvTWFrZWZpbGUKK0BAIC02NjUsMTIgKzY2NSwxMCBAQCAkKExVQUpJVF9BKTogJChMSlZNQ09SRV9PKQorICQoTFVBSklUX1NPKTogJChMSlZNQ09SRV9PKQorIAkkKEUpICJEWU5MSU5LICAgJEAiCisgCSQoUSkkKFRBUkdFVF9MRCkgJChUQVJHRVRfQVNITERGTEFHUykgLW8gJEAgJChMSlZNQ09SRV9EWU5PKSAkKFRBUkdFVF9BTElCUykKKy0JJChRKSQoVEFSR0VUX1NUUklQKSAkQAorIAorICQoTFVBSklUX1QpOiAkKFRBUkdFVF9PKSAkKExVQUpJVF9PKSAkKFRBUkdFVF9ERVApCisgCSQoRSkgIkxJTksgICAgICAkQCIKKyAJJChRKSQoVEFSR0VUX0xEKSAkKFRBUkdFVF9BTERGTEFHUykgLW8gJEAgJChMVUFKSVRfTykgJChUQVJHRVRfTykgJChUQVJHRVRfQUxJQlMpCistCSQoUSkkKFRBUkdFVF9TVFJJUCkgJEAKKyAJJChFKSAiT0sgICAgICAgIFN1Y2Nlc3NmdWxseSBidWlsdCBMdWFKSVQiCisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhaml0L2x1YWppdF8yLjAuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YWppdC9sdWFqaXRfMi4wLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTAyNTJhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YWppdC9sdWFqaXRfMi4wLjQuYmIKQEAgLTAsMCArMSw2MyBAQAorU1VNTUFSWSA9ICJKdXN0LUluLVRpbWUgQ29tcGlsZXIgZm9yIEx1YSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT0zOTkyZjFmYmFlM2I4YjA2MWY5MDU2YjdmY2RhOGNjNiIKK0hPTUVQQUdFID0gImh0dHA6Ly9sdWFqaXQub3JnIgorCitTUkNfVVJJID0gImh0dHA6Ly9sdWFqaXQub3JnL2Rvd25sb2FkL0x1YUpJVC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3Qtc3RyaXAtYXV0b21hdGljYWxseS10aGlzLWxlYXZlcy10aGUtc3RyaXBwaW5nLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkZDljMzgzMDdmMjIyM2E1MDRjYmZiOTZlNDc3ZWNhMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MjBmYTRlYjEyMzc1MDIxYmVmNmU0ZjIzN2NiZDJkZDVkNDllNTZiZWI0MTRiZWUwNTJjNzQ2YmVlZjE4MDdkIgorCitTID0gIiR7V09SS0RJUn0vTHVhSklULSR7UFZ9IgorCitpbmhlcml0IHBrZ2NvbmZpZyBiaW5jb25maWcKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAnczpQUkVGSVg9IC91c3IvbG9jYWw6UFJFRklYPSAke3ByZWZpeH06ZycgJHtTfS9NYWtlZmlsZQorICAgIHNlZCAtaSAnczpNVUxUSUxJQj0gbGliOk1VTFRJTElCPSAke2Jhc2VsaWJ9OmcnICR7U30vTWFrZWZpbGUKK30KKworIyBodHRwOi8vbHVhaml0Lm9yZy9pbnN0YWxsLmh0bWwjY3Jvc3MKKyMgSG9zdCBsdWFqaXQgbmVlZHMgdG8gYmUgY29tcGlsZWQgd2l0aCB0aGUgc2FtZSBwb2ludGVyIHNpemUKKyMgSWYgeW91IHdhbnQgdG8gY3Jvc3MtY29tcGlsZSB0byBhbnkgMzIgYml0IHRhcmdldCBvbiBhbiB4NjQgT1MsCisjIHlvdSBuZWVkIHRvIGluc3RhbGwgdGhlIG11bHRpbGliIGRldmVsb3BtZW50IHBhY2thZ2UgKGUuZy4KKyMgbGliYzYtZGV2LWkzODYgb24gRGViaWFuL1VidW50dSkgYW5kIGJ1aWxkIGEgMzIgYml0IGhvc3QgcGFydAorIyAoSE9TVF9DQz0iZ2NjIC1tMzIiKS4KK0JVSUxEX0NDX0FSQ0hfYXBwZW5kX3Bvd2VycGMgPSAnIC1tMzInCitCVUlMRF9DQ19BUkNIX2FwcGVuZF94ODYgPSAnIC1tMzInCitCVUlMRF9DQ19BUkNIX2FwcGVuZF9hcm0gPSAnIC1tMzInCisKK0VYVFJBX09FTUFLRV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gJ1wKKyAgICBDUk9TUz0ke0hPU1RfUFJFRklYfSBcCisgICAgSE9TVF9DQz0iJHtCVUlMRF9DQ30gJHtCVUlMRF9DQ19BUkNIfSIgXAorICAgIFRBUkdFVF9DRkxBR1M9IiR7VE9PTENIQUlOX09QVElPTlN9ICR7VEFSR0VUX0NDX0FSQ0h9IiBcCisgICAgVEFSR0VUX0xERkxBR1M9IiR7VE9PTENIQUlOX09QVElPTlN9IiBcCisgICAgVEFSR0VUX1NITERGTEFHUz0iJHtUT09MQ0hBSU5fT1BUSU9OU30iIFwKKycKKworZG9fY29tcGlsZSAoKSB7CisgICAgb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKyAgICBybWRpciAke0R9JHtkYXRhZGlyfS9sdWEvNS4qIFwKKyAgICAgICAgICAke0R9JHtkYXRhZGlyfS9sdWEgXAorICAgICAgICAgICR7RH0ke2xpYmRpcn0vbHVhLzUuKiBcCisgICAgICAgICAgJHtEfSR7bGliZGlyfS9sdWEKK30KKworUEFDS0FHRVMgKz0gJ2x1YWppdC1jb21tb24nCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGlibHVhaml0LTUuMS5zby4yIFwKKyAgICAke2xpYmRpcn0vbGlibHVhaml0LTUuMS5zby4ke1BWfSBcCisiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9saWJsdWFqaXQtNS4xLmEgXAorICAgICR7bGliZGlyfS9saWJsdWFqaXQtNS4xLnNvIFwKKyAgICAke2xpYmRpcn0vcGtnY29uZmlnL2x1YWppdC5wYyBcCisiCitGSUxFU19sdWFqaXQtY29tbW9uID0gIiR7ZGF0YWRpcn0vJHtCUE59LSR7UFZ9IgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tY3BwL2ZpbGVzL2ljZS1tY3BwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbWNwcC9maWxlcy9pY2UtbWNwcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTAzY2YwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbWNwcC9maWxlcy9pY2UtbWNwcC5wYXRjaApAQCAtMCwwICsxLDIwOCBAQAorZGlmZiAtciAtYyAtTiAuLi9tY3BwLTIuNy4yLW9sZC9ub2NvbmZpZy92YzIwMTAuZGlmIC4vbm9jb25maWcvdmMyMDEwLmRpZgorKioqIC4uL21jcHAtMi43LjItb2xkL25vY29uZmlnL3ZjMjAxMC5kaWYJV2VkIERlYyAzMSAyMDozMDowMCAxOTY5CistLS0gLi9ub2NvbmZpZy92YzIwMTAuZGlmCUZyaSBNYXkgMTQgMTI6NDc6MjIgMjAxMAorKioqKioqKioqKioqKioqCisqKiogMCAqKioqCistLS0gMSw2NyAtLS0tCisrICoqKiBub2NvbmZpZy5ICVRodSBTZXAgMjUgMTU6MzQ6NTYgMjAwOAorKyAtLS0gbm9jb25maWcuSC52YzIwMDUJVGh1IFNlcCAyNSAxNzoyMzo0OSAyMDA4CisrICoqKioqKioqKioqKioqKgorKyAqKiogMTUsMjEgKioqKgorKyAgICAqLworKyAgIAorKyAgIC8qIERlZmluZSB0YXJnZXQgb3BlcmF0aW5nLXN5c3RlbS4gICovCisrICEgI2RlZmluZSBTWVNURU0gICAgICAgICAgICAgIFNZU19GUkVFQlNECisrICAgCisrICAgLyogRGVmaW5lIHRhcmdldCBjb21waWxlci4gICAgICAgICAgKi8KKysgICAjaWZuZGVmIENPTVBJTEVSCisrIC0tLSAxNSwyMSAtLS0tCisrICAgICovCisrICAgCisrICAgLyogRGVmaW5lIHRhcmdldCBvcGVyYXRpbmctc3lzdGVtLiAgKi8KKysgISAjZGVmaW5lIFNZU1RFTSAgICAgICAgICAgICAgU1lTX1dJTjMyCisrICAgCisrICAgLyogRGVmaW5lIHRhcmdldCBjb21waWxlci4gICAgICAgICAgKi8KKysgICAjaWZuZGVmIENPTVBJTEVSCisrICoqKioqKioqKioqKioqKgorKyAqKiogMjYsMzYgKioqKgorKyAgICNkZWZpbmUgSE9TVF9TWVNURU0gICAgICAgICBTWVNURU0KKysgICAKKysgICAvKiBEZWZpbmUgaG9zdCBjb21waWxlci4gICAgICAgICAgICAqLworKyAhICNkZWZpbmUgSE9TVF9DT01QSUxFUiAgICAgICBHTlVDCisrICAgCisrICAgLyogVmVyc2lvbiBtZXNzYWdlLiAgICAgICAgICAgICAgICAgKi8KKysgICAvKiAiTUNQUCBWLjIuKiAoMjAweS9tbSkgY29tcGlsZWQgYnkgIiBwcmVjZWRlcyBWRVJTSU9OX01TRyAqLworKyAhICNkZWZpbmUgVkVSU0lPTl9NU0cgICAgICAgICAiR0NDIDMuNCIKKysgICAjaWYgICAgIDAKKysgICAgICAgIkxDQy1XaW4zMiAyMDA2LTAzIgorKyAgICAgICAiVmlzdWFsIEMgMjAwNSIKKysgLS0tIDI2LDM2IC0tLS0KKysgICAjZGVmaW5lIEhPU1RfU1lTVEVNICAgICAgICAgU1lTVEVNCisrICAgCisrICAgLyogRGVmaW5lIGhvc3QgY29tcGlsZXIuICAgICAgICAgICAgKi8KKysgISAjZGVmaW5lIEhPU1RfQ09NUElMRVIgICAgICAgTVNDCisrICAgCisrICAgLyogVmVyc2lvbiBtZXNzYWdlLiAgICAgICAgICAgICAgICAgKi8KKysgICAvKiAiTUNQUCBWLjIuKiAoMjAweS9tbSkgY29tcGlsZWQgYnkgIiBwcmVjZWRlcyBWRVJTSU9OX01TRyAqLworKyAhICNkZWZpbmUgVkVSU0lPTl9NU0cgICAgICAgICAiVmlzdWFsIEMgMjAxMCIKKysgICAjaWYgICAgIDAKKysgICAgICAgIkxDQy1XaW4zMiAyMDA2LTAzIgorKyAgICAgICAiVmlzdWFsIEMgMjAwNSIKKysgKioqKioqKioqKioqKioqCisrICoqKiAyMTIsMjIxICoqKioKKysgICAjZGVmaW5lIE9ORV9QQVNTICAgICAgICAgICAgVFJVRQorKyAgICNlbmRpZgorKyAgICNkZWZpbmUgQ09NUElMRVJfRVhUICAgICAgICAiX01TQ19WRVIiCisrICEgI2RlZmluZSBDT01QSUxFUl9FWFRfVkFMICAgICIxNTAwIiAgICAgIC8qIFZDIDYuMDogIjEyMDAiICAgKi8KKysgICAgICAgLyogVkMgMjAwMjogIjEzMDAiLCBWQyAyMDAzOiAiMTMxMCIsIFZDIDIwMDU6ICIxNDAwIiwgVkMgMjAwODogIjE1MDAiICAgKi8KKysgICAjZGVmaW5lIENPTVBJTEVSX0VYVDIgICAgICAgIl9NU0NfRlVMTF9WRVIiCisrICEgI2RlZmluZSBDT01QSUxFUl9FWFQyX1ZBTCAgICIxNTAwMjEwMjIiIC8qIFZDIDYuMDogIjEyMDA4ODA0IiAgICAgICAqLworKyAgICAgICAvKiBWQyAyMDAyOiAiMTMwMDk0NjYiLCBWQyAyMDAzOiAiMTMxMDMwNzciLCBWQyAyMDA1OiAiMTQwMDUwMzIwIiAgICAgICAqLworKyAgICAgICAvKiBWQyAyMDA4OiAiMTUwMDIxMDIyIiAqLworKyAgICNkZWZpbmUgQ09NUElMRVJfU1AxICAgICAgICAiX01TQ19FWFRFTlNJT05TIgorKyAtLS0gMjEyLDIyMSAtLS0tCisrICAgI2RlZmluZSBPTkVfUEFTUyAgICAgICAgICAgIFRSVUUKKysgICAjZW5kaWYKKysgICAjZGVmaW5lIENPTVBJTEVSX0VYVCAgICAgICAgIl9NU0NfVkVSIgorKyAhICNkZWZpbmUgQ09NUElMRVJfRVhUX1ZBTCAgICAiMTYwMCIgICAgICAvKiBWQyA2LjA6ICIxMjAwIiAgICovCisrICAgICAgIC8qIFZDIDIwMDI6ICIxMzAwIiwgVkMgMjAwMzogIjEzMTAiLCBWQyAyMDA1OiAiMTQwMCIsIFZDIDIwMDg6ICIxNTAwIiAgICovCisrICAgI2RlZmluZSBDT01QSUxFUl9FWFQyICAgICAgICJfTVNDX0ZVTExfVkVSIgorKyAhICNkZWZpbmUgQ09NUElMRVJfRVhUMl9WQUwgICAiMTYwMDMwMzE5IiAvKiBWQyA2LjA6ICIxMjAwODgwNCIgICAgICAgKi8KKysgICAgICAgLyogVkMgMjAwMjogIjEzMDA5NDY2IiwgVkMgMjAwMzogIjEzMTAzMDc3IiwgVkMgMjAwNTogIjE0MDA1MDMyMCIgICAgICAgKi8KKysgICAgICAgLyogVkMgMjAwODogIjE1MDAyMTAyMiIgKi8KKysgICAjZGVmaW5lIENPTVBJTEVSX1NQMSAgICAgICAgIl9NU0NfRVhURU5TSU9OUyIKK2RpZmYgLXIgLWMgLU4gLi4vbWNwcC0yLjcuMi1vbGQvc3JjL2ludGVybmFsLkggLi9zcmMvaW50ZXJuYWwuSAorKioqIC4uL21jcHAtMi43LjItb2xkL3NyYy9pbnRlcm5hbC5ICVdlZCBBdWcgMjcgMTA6MzE6MTYgMjAwOAorLS0tIC4vc3JjL2ludGVybmFsLkgJRnJpIE1heSAxNCAxMjo0MDo1NiAyMDEwCisqKioqKioqKioqKioqKioKKyoqKiAzOTAsMzk1ICoqKioKKy0tLSAzOTAsMzk3IC0tLS0KKyAgZXh0ZXJuIGNoYXIgICAgIGlkZW50aWZpZXJbXTsgICAgICAgLyogTGFzdGx5IHNjYW5uZWQgbmFtZSAgICAgICAgICAqLworICBleHRlcm4gSUZJTkZPICAgaWZzdGFja1tdOyAgICAgICAgICAvKiBJbmZvcm1hdGlvbiBvZiAjaWYgbmVzdGluZyAgICovCisgIGV4dGVybiBjaGFyICAgICB3b3JrX2J1ZltdOworKyBleHRlcm4gRklMRUlORk8gKiBzaF9maWxlOworKyBleHRlcm4gaW50ICAgICAgc2hfbGluZTsKKyAgICAgICAgICAvKiBUZW1wb3JhcnkgYnVmZmVyIGZvciBkaXJlY3RpdmUgbGluZSBhbmQgbWFjcm8gZXhwYW5zaW9uICAqLworICAKKyAgLyogbWFpbi5jICAgKi8KKyoqKioqKioqKioqKioqKgorKioqIDU1Nyw1NjIgKioqKgorICAjZW5kaWYKKyAgI2VuZGlmCisgIAorISAjaWYgSE9TVF9IQVZFX1NUUENQWQorICBleHRlcm4gY2hhciAqICAgc3RwY3B5KCBjaGFyICogZGVzdCwgY29uc3QgY2hhciAqIHNyYyk7CisgICNlbmRpZgorLS0tIDU1OSw1NjQgLS0tLQorICAjZW5kaWYKKyAgI2VuZGlmCisgIAorISAjaWYgSE9TVF9IQVZFX1NUUENQWSAmJiAhZGVmaW5lZChzdHBjcHkpCisgIGV4dGVybiBjaGFyICogICBzdHBjcHkoIGNoYXIgKiBkZXN0LCBjb25zdCBjaGFyICogc3JjKTsKKyAgI2VuZGlmCitkaWZmIC1yIC1jIC1OIC4uL21jcHAtMi43LjItb2xkL3NyYy9tYWluLmMgLi9zcmMvbWFpbi5jCisqKiogLi4vbWNwcC0yLjcuMi1vbGQvc3JjL21haW4uYwlXZWQgTm92ICA1IDA1OjA0OjQ2IDIwMDgKKy0tLSAuL3NyYy9tYWluLmMJRnJpIE1heSAxNCAxMjo0MDo1NiAyMDEwCisqKioqKioqKioqKioqKioKKyoqKiAzMjYsMzMxICoqKioKKy0tLSAzMjYsMzMzIC0tLS0KKyAgICAgICAgICAgICAgPSBGQUxTRTsKKyAgICAgIG9wdGlvbl9mbGFncy50cmlnID0gVFJJR1JBUEhTX0lOSVQ7CisgICAgICBvcHRpb25fZmxhZ3MuZGlnID0gRElHUkFQSFNfSU5JVDsKKysgICAgIHNoX2ZpbGUgPSBOVUxMOworKyAgICAgc2hfbGluZSA9IDA7CisgIH0KKyAgCisgIGludCAgICAgbWNwcF9saWJfbWFpbgorZGlmZiAtciAtYyAtTiAuLi9tY3BwLTIuNy4yLW9sZC9zcmMvc3VwcG9ydC5jIC4vc3JjL3N1cHBvcnQuYworKioqIC4uL21jcHAtMi43LjItb2xkL3NyYy9zdXBwb3J0LmMJVHVlIEp1biAxMCAwNjowMjozMyAyMDA4CistLS0gLi9zcmMvc3VwcG9ydC5jCUZyaSBNYXkgMTQgMTI6NDA6NTYgMjAxMAorKioqKioqKioqKioqKioqCisqKiogMTg4LDE5NCAqKioqCisgICAgICBzaXplX3QgICAgICBsZW5ndGgKKyAgKQorICB7CishICAgICBpZiAobWVtX2J1Zl9wLT5ieXRlc19hdmFpbCA8IGxlbmd0aCkgeyAgLyogTmVlZCB0byBhbGxvY2F0ZSBtb3JlIG1lbW9yeSAqLworICAgICAgICAgIHNpemVfdCBzaXplID0gTUFYKCBCVUZfSU5DUl9TSVpFLCBsZW5ndGgpOworICAKKyAgICAgICAgICBpZiAobWVtX2J1Zl9wLT5idWZmZXIgPT0gTlVMTCkgeyAgICAgICAgICAgIC8qIDFzdCBhcHBlbmQgICAqLworLS0tIDE4OCwxOTQgLS0tLQorICAgICAgc2l6ZV90ICAgICAgbGVuZ3RoCisgICkKKyAgeworISAgICAgaWYgKG1lbV9idWZfcC0+Ynl0ZXNfYXZhaWwgPCBsZW5ndGggKyAxKSB7ICAvKiBOZWVkIHRvIGFsbG9jYXRlIG1vcmUgbWVtb3J5ICovCisgICAgICAgICAgc2l6ZV90IHNpemUgPSBNQVgoIEJVRl9JTkNSX1NJWkUsIGxlbmd0aCk7CisgIAorICAgICAgICAgIGlmIChtZW1fYnVmX3AtPmJ1ZmZlciA9PSBOVUxMKSB7ICAgICAgICAgICAgLyogMXN0IGFwcGVuZCAgICovCisqKioqKioqKioqKioqKioKKyoqKiAxNzIyLDE3MjcgKioqKgorLS0tIDE3MjIsMTcyOSAtLS0tCisgICAgICAgICAgICAgICAgICAgICAgc3AgLT0gMjsKKyAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoKnNwICE9ICdcbicpICAgICAvKiBVbnRpbCBlbmQgb2YgbGluZSAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICBtY3BwX2ZwdXRjKCAqc3ArKywgT1VUKTsKKysgICAgICAgICAgICAgICAgICAgICBtY3BwX2ZwdXRjKCAnXG4nLCBPVVQpOworKyAgICAgICAgICAgICAgICAgICAgIHdyb25nX2xpbmUgPSBUUlVFOworICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgZ290byAgZW5kX2xpbmU7CisgICAgICAgICAgICAgIGRlZmF1bHQ6ICAgICAgICAgICAgICAgICAgICAgICAgLyogTm90IGEgY29tbWVudCAgICAgICAgKi8KK2RpZmYgLXIgLWMgLU4gLi4vbWNwcC0yLjcuMi1vbGQvc3JjL3N5c3RlbS5jIC4vc3JjL3N5c3RlbS5jCisqKiogLi4vbWNwcC0yLjcuMi1vbGQvc3JjL3N5c3RlbS5jICAgICAgMjAwOC0xMS0yNiAxMDo1Mzo1MS4wMDAwMDAwMDAgKzAxMDAKKy0tLSAuL3NyYy9zeXN0ZW0uYyAgICAgIDIwMTEtMDItMjEgMTY6MTg6MDUuNjc4MDU4MTA2ICswMTAwCisqKioqKioqKioqKioqKioKKyoqKiAzNTM0LDM1MzkgKioqKgorLS0tIDM1MzQsMzU2NSAtLS0tCisgICAgICBGSUxFSU5GTyAqICAgICAgZmlsZTsKKyAgICAgIGNvbnN0IGNoYXIgKiAgICB0b29fbWFueV9pbmNsdWRlX25lc3QgPQorICAgICAgICAgICAgICAiTW9yZSB0aGFuICUuMHMlbGQgbmVzdGluZyBvZiAjaW5jbHVkZSI7ICAgIC8qIF9GXyBfVzRfICovCisrICAgICAgICAgICAgIAorKyAgICAgLy8KKysgICAgIC8vIFdoZW4gZW5jb2RpbmcgaXMgVVRGLTgsIHNraXAgQk9NIGlmIHByZXNlbnQuCisrICAgICAvLworKyAgICAgaWYobWJjaGFyID09IFVURjggJiYgZnAgIT0gTlVMTCAmJiBmdGVsbChmcCkgPT0gMCkKKysgICAgIHsKKysgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyIFVURjhfQk9NWzNdID0gezB4RUYsIDB4QkIsIDB4QkZ9OworKyAgICAgICAgIHVuc2lnbmVkIGNoYXIgRklMRV9IRUFEWzNdID0gezAsIDAsIDB9OworKyAgICAgICAgIGludCBpOworKyAgICAgICAgIGZvcihpID0gMDsgaSA8IDM7ICsraSkKKysgICAgICAgICB7CisrICAgICAgICAgICAgIEZJTEVfSEVBRFtpXSA9IGdldGMoZnApOworKyAgICAgICAgICAgICBpZihGSUxFX0hFQURbaV0gIT0gVVRGOF9CT01baV0pCisrICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgIGlmKEZJTEVfSEVBRFtpXSA9PSAodW5zaWduZWQgY2hhcilFT0YpCisrICAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICAgaS0tOworKyAgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICAgZm9yKDsgaSA+PSAwOyAtLWkpCisrICAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICAgdW5nZXRjKEZJTEVfSEVBRFtpXSwgZnApOworKyAgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgIH0KKysgICAgICAgICB9CisrICAgICB9CisgIAorICAgICAgZmlsZW5hbWUgPSBzZXRfZm5hbWUoIGZpbGVuYW1lKTsgICAgLyogU2VhcmNoIG9yIGFwcGVuZCB0byBmbmFtZWxpc3RbXSAgKi8KKyAgICAgIGZ1bGxuYW1lID0gc2V0X2ZuYW1lKCBmdWxsbmFtZSk7ICAgIC8qIFNlYXJjaCBvciBhcHBlbmQgdG8gZm5hbWVsaXN0W10gICovCisqKioqKioqKioqKioqKioKKyoqKiAzODU4LDM4NjMgKioqKgorLS0tIDM4ODQsMzg5MiAtLS0tCisgIH0KKyAgI2VuZGlmCisgIAorKyBGSUxFSU5GTyogICAgICAgc2hfZmlsZTsKKysgaW50ICAgICAgICAgICAgIHNoX2xpbmU7CisrIAorICB2b2lkICAgIHNoYXJwKAorICAgICAgRklMRUlORk8gKiAgc2hhcnBfZmlsZSwKKyAgICAgIGludCAgICAgICAgIGZsYWcgICAgICAgIC8qIEZsYWcgdG8gYXBwZW5kIHRvIHRoZSBsaW5lIGZvciBHQ0MgICAqLworKioqKioqKioqKioqKioqCisqKiogMzg2OCwzODc1ICoqKioKKyAgICogZWxzZSAoaS5lLiAnc2hhcnBfZmlsZScgaXMgTlVMTCkgJ2luZmlsZScuCisgICAqLworICB7CistICAgICBzdGF0aWMgRklMRUlORk8gKiAgIHNoX2ZpbGU7CistICAgICBzdGF0aWMgaW50ICBzaF9saW5lOworICAgICAgRklMRUlORk8gKiAgZmlsZTsKKyAgICAgIGludCAgICAgICAgIGxpbmU7CisgIAorLS0tIDM4OTcsMzkwMiAtLS0tCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tY3BwL21jcHBfMi43LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tY3BwL21jcHBfMi43LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTcxNjNhMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21jcHAvbWNwcF8yLjcuMi5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIk1DUFAgaXMgYSBwb3J0YWJsZSBDL0MrKyBwcmVwcm9jZXNzb3IiCitIT01FUEFHRSA9ICJodHRwOi8vbWNwcC5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01Y2EzNzBiNzVlYzg5MDMyMTg4OGEwMGNlYTliYzFkNSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vaWNlLW1jcHAucGF0Y2ggIgorU1JDX1VSSVttZDVzdW1dID0gIjUxMmRlNDhjODdhYjAyM2E2OTI1MGVkYzdhMGM3YjA1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNiOWI0NDIxODg4NTE5ODc2YzRmYzY4YWRlMzI0YTNiYmQ4MWNlZWI3MDkyZWNkYmJjMjA1NTA5OWZjYjg4NjQiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiA9ICIgLS1lbmFibGUtbWNwcGxpYiAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbWVtc3RhdC9tZW1zdGF0XzEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21lbXN0YXQvbWVtc3RhdF8xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI1MjE1MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21lbXN0YXQvbWVtc3RhdF8xLjAuYmIKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJEaXNwbGF5IHZpcnR1YWwgbWVtb3J5IGFsbG9jYXRpb24iCitERVNDUklQVElPTiA9ICJMaXN0cyBhbGwgdGhlIHByb2Nlc3NlcywgZXhlY3V0YWJsZXMsIGFuZCBzaGFyZWQgbGlicmFyaWVzIFwKK3RoYXQgYXJlIHVzaW5nIHVwIHZpcnR1YWwgbWVtb3J5LiBJdCdzIGhlbHBmdWwgdG8gc2VlIGhvdyB0aGUgc2hhcmVkIG1lbW9yeSBcCitpcyB1c2VkIGFuZCB3aGljaCAnb2xkJyBsaWJzIGFyZSBsb2FkZWQuIFwKKyIKK0hPTUVQQUdFID0gImh0dHA6Ly9tZW1zdGF0dG9vbC5zb3VyY2Vmb3JnZS5uZXQvIgorU0VDVElPTiA9ICJkZXZ0b29sIgorCitMSUNFTlNFID0gIkdQTHYyIgorCitTID0gIiR7V09SS0RJUn0vbWVtc3RhdHRvb2wiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PTg3YmUxODY0NDNiMWFjMmNmYTQ2NmY0NzVlMWVlMGNiIgorCitTUkNfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbWVtc3RhdHRvb2wvZmlsZXMvbWVtc3RhdF8ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjJjM2FjYzBjNjJiMmExOGY2NjAxYjg0ZTU0YWE3NDYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0NWQ1ZmM3ZmI4N2JjZmQxNDQ4NmNkMzQ5MTdjYWUyODU2ZTc5OTU1OWFjNTY4NDM0YWYxMmM0ODUyYmNlOTQiCisKK2RvX2luc3RhbGxfYXBwZW5kKCl7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IG1lbXN0YXQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgbWVtc3RhdC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjEKKyAgICBpbnN0YWxsIC1tIDA2NDQgbWVtc3RhdC4xICR7RH0ke21hbmRpcn0vbWFuMQorICAgIGluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgbWVtc3RhdC10dXRvcmlhbC50eHQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21lcmN1cmlhbC9tZXJjdXJpYWwtbmF0aXZlXzMuNC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbWVyY3VyaWFsL21lcmN1cmlhbC1uYXRpdmVfMy40LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAzYTAzMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21lcmN1cmlhbC9tZXJjdXJpYWwtbmF0aXZlXzMuNC4xLmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NVTU1BUlkgPSAiVGhlIE1lcmN1cmlhbCBkaXN0cmlidXRlZCBTQ00iCitIT01FUEFHRSA9ICJodHRwOi8vbWVyY3VyaWFsLnNlbGVuaWMuY29tLyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKK0RFUEVORFMgPSAicHl0aG9uLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vbWVyY3VyaWFsLnNlbGVuaWMuY29tL3JlbGVhc2UvbWVyY3VyaWFsLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NTc4M2E2MGFlZmI0NmExMTI5NmI1ODdlOTQwMzUzNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YThhY2Y3MzI5YmVkYTM4Y2VlYTI5YzY4OTIxMjU3NGQ5YTZiZmZmZTI0Y2Y1NjUwMTVlYTAwNjZmN2NlZTNmIgorCitTID0gIiR7V09SS0RJUn0vbWVyY3VyaWFsLSR7UFZ9IgorCitpbmhlcml0IG5hdGl2ZQorCitFWFRSQV9PRU1BS0UgPSAiU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0gU1RBR0lOR19JTkNESVI9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgIEJVSUxEX1NZUz0ke0JVSUxEX1NZU30gSE9TVF9TWVM9JHtIT1NUX1NZU30gUFJFRklYPSR7cHJlZml4fSIKKworZG9fY29uZmlndXJlX2FwcGVuZCAoKSB7CisgICAgc2VkIC1pIC1lICdzOlBZVEhPTj1weXRob246UFlUSE9OPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9weXRob24tbmF0aXZlL3B5dGhvbjpnJyAke1N9L01ha2VmaWxlCit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgLWUgaW5zdGFsbC1iaW4gREVTVERJUj0ke0R9IFBSRUZJWD0ke3ByZWZpeH0KK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbXBpY2gvbXBpY2hfMy4xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tcGljaC9tcGljaF8zLjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDAwOTA2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbXBpY2gvbXBpY2hfMy4xLjEuYmIKQEAgLTAsMCArMSwzOSBAQAorU1VNTUFSWSA9ICJNZXNzYWdlIFBhc3NpbmcgSW50ZXJmYWNlIChNUEkpIGltcGxlbWVudGF0aW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5tcGljaC5vcmcvIgorU0VDVElPTiA9ICJkZXZlbCIKKworTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTIxMDZmMDQzNTA1NmYzZGQ5MzQ5NzQ3YTc2NmU1ODE2IgorCitTUkNfVVJJID0gIiBcCisJaHR0cDovL3d3dy5tcGljaC5vcmcvc3RhdGljL2Rvd25sb2Fkcy8ke1BWfS9tcGljaC0ke1BWfS50YXIuZ3ogXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDBkYzQwOGIxZTAzY2MzNmQ4MDIwOWJhYWEyZDMyYjciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDU1Y2NmYWY0ZWM3MjRkMmNmNWQ4YmZmMWYzZDI2YTk1OGFkMTk2MTIxZTdlYTI2NTA0ZmQzMDE4NzU3NjUyZCIKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gIkJBU0hfU0hFTEw9JHtiYXNlX2JpbmRpcn0vYmFzaCIKKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2ggcGVybCBsaWJ4bWwyIgorUyA9ICIke1dPUktESVJ9LyR7QlB9IgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtZGVidWdpbmZvIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1mYXN0IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1zaGFyZWQgIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtcG09Z2ZvcmtlciAgXAorCQktLWRpc2FibGUtcnBhdGggXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1mNzcgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1mYyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWZvcnRyYW4gXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1jeHgiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBnZXR0ZXh0CisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGF1dG9yZWNvbmYgLS12ZXJib3NlIC0taW5zdGFsbCAtLWZvcmNlIC1JIC4gLUkgY29uZmRiLyAtSSBtYWludC8KKyAgICBvZV9ydW5jb25mCisgICAgZXhpdAorfQorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8zNTE0Ni8KK1BOQkxBQ0tMSVNUW21waWNoXSA/PSAiQlJPS0VOOiBRQSBJc3N1ZTogbGlibXBpLmxhIGZhaWxlZCBzYW5pdHkgdGVzdCAod29ya2RpciksIFFBIElzc3VlOiBtcGljaC5wYyBmYWlsZWQgc2FuaXR5IHRlc3QgKHRtcGRpcikiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tc3ItdG9vbHMvbXNyLXRvb2xzXzEuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21zci10b29scy9tc3ItdG9vbHNfMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0NzAxYWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tc3ItdG9vbHMvbXNyLXRvb2xzXzEuMy5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gInV0aWxpZXMgdG8gcmVhZCBhbmQgd3JpdGUgSW50ZWwgbW9kZWwtc3BlY2lmaWMgcmVnaXN0ZXJzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly8wMS5vcmcvbXNyLXRvb2xzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL01ha2VmaWxlO2JlZ2lubGluZT0xO2VuZGxpbmU9MTE7bWQ1PTY3OGEzOTI4Yzg1NjA0MjQyNGM3MzRmNGE3NTg2ZTY1IgorU0VDVElPTiA9ICJkZXZlbCIKKworU1JDX1VSSSA9ICJodHRwczovLzAxLm9yZy9zaXRlcy9kZWZhdWx0L2ZpbGVzL2Rvd25sb2Fkcy9tc3ItdG9vbHMvbXNyLXRvb2xzLSR7UFZ9LnppcCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2N2QxODUyN2Y2NGZkNzA3YzliN2E3OWYxM2QxOWZkNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmOTQ1N2I1MzQwZjVmMjc0ZGE0MjM5YTQ2MWYwZGI2YjUxNDE0MmI0MDQ2MTU1OWQ5YzYxNTBmMDVhYWIxZDFlIgorCitTID0gIiR7V09SS0RJUn0vbXNyLXRvb2xzLW1hc3RlciIKKworQ09NUEFUSUJMRV9IT1NUID0gJyhpLjg2fHg4Nl82NCkuKi1saW51eCcKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSByZG1zciAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSB3cm1zciAke0R9JHtzYmluZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbmluamEvbmluamEtbmF0aXZlXzEuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbmluamEvbmluamEtbmF0aXZlXzEuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwMDcxMGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYS1uYXRpdmVfMS42LjAuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJOaW5qYSBpcyBhIHNtYWxsIGJ1aWxkIHN5c3RlbSB3aXRoIGEgZm9jdXMgb24gc3BlZWQuIgorSE9NRVBBR0UgPSAiaHR0cDovL21hcnRpbmUuZ2l0aHViLmNvbS9uaW5qYS8iCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hODE1ODZhNjRhZDRlNDc2Yzc5MWNkYTdlMmYyYzUyZSIKKworREVQRU5EUyA9ICJyZTJjLW5hdGl2ZSIKKworaW5oZXJpdCBuYXRpdmUKKworU1JDUkVWPSI0ODRjMTYzMzZmMTliZDg5NzBiYjZlNzUzMjJkNjFiOTJhMjI5ODk5IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbWFydGluZS9uaW5qYS5naXQ7YnJhbmNoPXJlbGVhc2UiCisKK1M9IiR7V09SS0RJUn0vZ2l0IgorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorCitkb19jb21waWxlKCkgeworICAgIHB5dGhvbiAke1N9L2NvbmZpZ3VyZS5weSAtLWJvb3RzdHJhcAorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L25pbmphICR7RH0ke2JpbmRpcn0vCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzL25vLXJlZ2lzdHJ5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy9uby1yZWdpc3RyeS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDI0NzM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy9uby1yZWdpc3RyeS5wYXRjaApAQCAtMCwwICsxLDU5IEBACitCdWdmaXggZm9yIC0tbm8tcmVnaXN0cnkgaW4gbm9kZWpzLXYwLjEyLjIKKworZGlmZiAtdSAtciBub2RlLXYwLjEyLjJfZGVmL2RlcHMvbnBtL2xpYi9jYWNoZS9jYWNoaW5nLWNsaWVudC5qcyBub2RlLXYwLjEyLjIvZGVwcy9ucG0vbGliL2NhY2hlL2NhY2hpbmctY2xpZW50LmpzCistLS0gbm9kZS12MC4xMi4yX2RlZi9kZXBzL25wbS9saWIvY2FjaGUvY2FjaGluZy1jbGllbnQuanMJMjAxNS0wNC0wMSAwMToxMzowMS4wMDAwMDAwMDAgKzAzMDAKKysrKyBub2RlLXYwLjEyLjIvZGVwcy9ucG0vbGliL2NhY2hlL2NhY2hpbmctY2xpZW50LmpzCTIwMTUtMDUtMTggMDA6NDc6MTAuNzM4NTk5Njg2ICswMzAwCitAQCAtNjcsNiArNjcsMjIgQEAKKyAgIHZhciBjYWNoZUJhc2UgPSBjYWNoZUZpbGUobnBtLmNvbmZpZy5nZXQoImNhY2hlIikpKHVyaSkKKyAgIHZhciBjYWNoZVBhdGggPSBwYXRoLmpvaW4oY2FjaGVCYXNlLCAiLmNhY2hlLmpzb24iKQorIAorKyAgaWYgKHBhcnNlZC5ob3N0ID09PSAibm9yZWdpc3RyeSIpIChmdW5jdGlvbigpIHsKKysgICAgdmFyIHN0YXQgPSBudWxsCisrICAgIHZhciBmaWxlID0gbnBtLmNvbmZpZy5nZXQoImNhY2hlIikgKyBwYXJzZWQucGF0aG5hbWUgKyAiLy5jYWNoZS5qc29uIgorKyAgICB0cnkgeworKyAgICAgIHN0YXQgPSBmcy5zdGF0U3luYyhjYWNoZVBhdGgpCisrICAgIH0gY2F0Y2ggKGV4KSB7fQorKyAgICBpZiAoIXN0YXQpIHRyeSB7CisrICAgICAgc3RhdCA9IGZzLnN0YXRTeW5jKGZpbGUpIAorKyAgICAgIGNhY2hlUGF0aCA9IGZpbGUKKysgICAgfSBjYXRjaCAoZXgpIHsKKysgICAgICBzdGF0ID0gIlJlZ2lzdHJ5IG5vdCBkZWZpbmVkIGFuZCByZWdpc3RyeSBmaWxlcyBub3QgZm91bmQ6IFwiIiArCisrICAgICAgICAgICAgIGNhY2hlUGF0aCArICJcIiwgXCIiICsgZmlsZSArICJcIi4iCisrICAgICAgdGhyb3cgbmV3IEVycm9yKHN0YXQpCisrICAgIH0KKysgIH0pKCkKKysKKyAgIC8vIElmIHRoZSBHRVQgaXMgcGFydCBvZiBhIHdyaXRlIG9wZXJhdGlvbiAoUFVUIG9yIERFTEVURSksIHRoZW4KKyAgIC8vIHNraXAgcGFzdCB0aGUgY2FjaGUgZW50aXJlbHksIGJ1dCBzdGlsbCBzYXZlIHRoZSByZXN1bHRzLgorICAgaWYgKHVyaS5tYXRjaCgvXD93cml0ZT10cnVlJC8pKSB7CitAQCAtODMsMTIgKzk5LDE3IEBACisgICAgICAgICB9CisgICAgICAgICBjYXRjaCAoZXgpIHsKKyAgICAgICAgICAgZGF0YSA9IG51bGwKKysgICAgICAgICAgaWYgKHBhcnNlZC5ob3N0ID09PSAibm9yZWdpc3RyeSIpCisrICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJGaWxlIFwiIiArIGNhY2hlUGF0aCsiXCIiICsgIiBjb3JydXB0ZWQuIikKKyAgICAgICAgIH0KKyAKKyAgICAgICAgIHBhcmFtcy5zdGF0ID0gc3RhdAorICAgICAgICAgcGFyYW1zLmRhdGEgPSBkYXRhCisgCistICAgICAgICBnZXRfLmNhbGwoY2xpZW50LCB1cmksIGNhY2hlUGF0aCwgcGFyYW1zLCBjYikKKysgICAgICAgIGlmIChwYXJzZWQuaG9zdCA9PT0gIm5vcmVnaXN0cnkiKQorKyAgICAgICAgICBjYihudWxsLCBkYXRhLCBKU09OLnN0cmluZ2lmeShkYXRhKSwgeyBzdGF0dXNDb2RlIDogMzA0IH0pCisrICAgICAgICBlbHNlCisrICAgICAgICAgIGdldF8uY2FsbChjbGllbnQsIHVyaSwgY2FjaGVQYXRoLCBwYXJhbXMsIGNiKQorICAgICAgIH0pCisgICAgIH0KKyAgICAgZWxzZSB7CitkaWZmIC11IC1yIG5vZGUtdjAuMTIuMl9kZWYvZGVwcy9ucG0vbGliL3V0aWxzL21hcC10by1yZWdpc3RyeS5qcyBub2RlLXYwLjEyLjIvZGVwcy9ucG0vbGliL3V0aWxzL21hcC10by1yZWdpc3RyeS5qcworLS0tIG5vZGUtdjAuMTIuMl9kZWYvZGVwcy9ucG0vbGliL3V0aWxzL21hcC10by1yZWdpc3RyeS5qcwkyMDE1LTA0LTAxIDAxOjEzOjAxLjAwMDAwMDAwMCArMDMwMAorKysrIG5vZGUtdjAuMTIuMi9kZXBzL25wbS9saWIvdXRpbHMvbWFwLXRvLXJlZ2lzdHJ5LmpzCTIwMTUtMDUtMTggMDE6MTU6MTAuMDMwNTY5NjEzICswMzAwCitAQCAtNDUsNiArNDUsOCBAQAorIAorICAgbG9nLnNpbGx5KCJtYXBUb1JlZ2lzdHJ5IiwgInJlZ2lzdHJ5IiwgcmVnaXN0cnkpCisgCisrICBpZiAoIXJlZ2lzdHJ5KSByZXR1cm4gY2IobnVsbCwgImh0dHA6Ly9ub3JlZ2lzdHJ5LyIgKyBuYW1lLCB7fSkKKysKKyAgIHZhciBhdXRoID0gY29uZmlnLmdldENyZWRlbnRpYWxzQnlVUkkocmVnaXN0cnkpCisgCisgICAvLyBub3JtYWxpemUgcmVnaXN0cnkgVVJMIHNvIHJlc29sdXRpb24gZG9lc24ndCBkcm9wIGEgcGllY2Ugb2YgcmVnaXN0cnkgVVJMCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzXzQuNC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqc180LjQuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Mzc2MWFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqc180LjQuMy5iYgpAQCAtMCwwICsxLDg0IEBACitERVNDUklQVElPTiA9ICJub2RlSlMgRXZlbnRlZCBJL08gZm9yIFY4IEphdmFTY3JpcHQiCitIT01FUEFHRSA9ICJodHRwOi8vbm9kZWpzLm9yZyIKK0xJQ0VOU0UgPSAiTUlUICYgQlNEICYgQXJ0aXN0aWMtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OTZhYTFhYzEyMmM0MWY4YzA4YTA2ODNkNGIyMTI2YjUiCisKK0RFUEVORFMgPSAib3BlbnNzbCIKKworQ09NUEFUSUJMRV9NQUNISU5FX2FybXY0ID0gIighLiphcm12NCkuKiIKK0NPTVBBVElCTEVfTUFDSElORV9hcm12NSA9ICIoIS4qYXJtdjUpLioiCitDT01QQVRJQkxFX01BQ0hJTkVfbWlwczY0ID0gIighLiptaXBzNjQpLioiCisKK1NSQ19VUkkgPSAiaHR0cDovL25vZGVqcy5vcmcvZGlzdC92JHtQVn0vbm9kZS12JHtQVn0udGFyLnh6IFwKKyAgICBmaWxlOi8vbm8tcmVnaXN0cnkucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjc0ZTgzYzljNTEyYmQ5OWIzOGEwMmVkZDc0MGI0MzM0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU3NDk5YmIwYjFiODYwODA0NTlkNDA2NmUzYzEzODU3OWEyNzhiMmQwYjFmNWIyZjE5ZTY2YzY5YjRlODQzM2MiCisKK1MgPSAiJHtXT1JLRElSfS9ub2RlLXYke1BWfSIKKworIyB2OCBlcnJvcnMgb3V0IGlmIHlvdSBoYXZlIHNldCBDQ0FDSEUKK0NDQUNIRSA9ICIiCisKK2RlZiBtYXBfbm9kZWpzX2FyY2goYSwgZCk6CisgICAgaW1wb3J0IHJlCisKKyAgICBpZiAgIHJlLm1hdGNoKCdpLjg2JCcsIGEpOiByZXR1cm4gJ2lhMzInCisgICAgZWxpZiByZS5tYXRjaCgneDg2XzY0JCcsIGEpOiByZXR1cm4gJ3g2NCcKKyAgICBlbGlmIHJlLm1hdGNoKCdhYXJjaDY0JCcsIGEpOiByZXR1cm4gJ2FybTY0JworICAgIGVsaWYgcmUubWF0Y2goJ3Bvd2VycGM2NCQnLCBhKTogcmV0dXJuICdwcGM2NCcKKyAgICBlbGlmIHJlLm1hdGNoKCdwb3dlcnBjJCcsIGEpOiByZXR1cm4gJ3BwYycKKyAgICByZXR1cm4gYQorCitBUkNIRkxBR1NfYXJtID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NhbGxjb252ZW50aW9uLWhhcmQnLCAnLS13aXRoLWFybS1mbG9hdC1hYmk9aGFyZCcsICctLXdpdGgtYXJtLWZsb2F0LWFiaT1zb2Z0ZnAnLCBkKX0iCitHWVBfREVGSU5FU19hcHBlbmRfbWlwc2VsID0gIiBtaXBzX2FyY2hfdmFyaWFudD0ncjEnICIKK0FSQ0hGTEFHUyA/PSAiIgorCisjIE5vZGUgaXMgd2F5IHRvbyBjb29sIHRvIHVzZSBwcm9wZXIgYXV0b3Rvb2xzLCBzbyB3ZSBpbnN0YWxsIHR3byB3cmFwcGVycyB0byBmb3JjZWZ1bGx5IGluamVjdCBwcm9wZXIgYXJjaCBjZmxhZ3MgdG8gd29ya2Fyb3VuZCBneXBpCitkb19jb25maWd1cmUgKCkgeworICAgIGV4cG9ydCBMRD0iJHtDWFh9IgorICAgIEdZUF9ERUZJTkVTPSIke0dZUF9ERUZJTkVTfSIgZXhwb3J0IEdZUF9ERUZJTkVTCisgICAgIyAkVEFSR0VUX0FSQ0ggc2V0dGluZ3MgZG9uJ3QgbWF0Y2ggLS1kZXN0LWNwdSBzZXR0aW5ncworICAgLi9jb25maWd1cmUgLS1wcmVmaXg9JHtwcmVmaXh9IC0td2l0aG91dC1zbmFwc2hvdCAtLXNoYXJlZC1vcGVuc3NsIFwKKyAgICAgICAgICAgICAgIC0tZGVzdC1jcHU9IiR7QG1hcF9ub2RlanNfYXJjaChkLmdldFZhcignVEFSR0VUX0FSQ0gnLCBUcnVlKSwgZCl9IiBcCisgICAgICAgICAgICAgICAtLWRlc3Qtb3M9bGludXggXAorICAgICAgICAgICAgICAgJHtBUkNIRkxBR1N9Cit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIGV4cG9ydCBMRD0iJHtDWFh9IgorICAgIG9lX3J1bm1ha2UgQlVJTERUWVBFPVJlbGVhc2UKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgIyB1c2Ugbm9kZSBmcm9tIFBBVEggaW5zdGVhZCBvZiBhYnNvbHV0ZSBwYXRoIHRvIHN5c3Jvb3QKKyAgICAjIG5vZGUtdjAuMTAuMjUvdG9vbHMvaW5zdGFsbC5weSBpcyB1c2luZzoKKyAgICAjIHNoZWJhbmcgPSBvcy5wYXRoLmpvaW4obm9kZV9wcmVmaXgsICdiaW4vbm9kZScpCisgICAgIyB1cGRhdGVfc2hlYmFuZyhsaW5rX3BhdGgsIHNoZWJhbmcpCisgICAgIyBhbmQgbm9kZV9wcmVmaXggY2FuIGJlIHZlcnkgbG9uZyBwYXRoIHRvIGJpbmRpciBpbiBuYXRpdmUgc3lzcm9vdCBhbmQKKyAgICAjIHdoZW4gaXQgZXhjZWVkcyAxMjggY2hhcmFjdGVyIHNoZWJhbmcgbGltaXQgaXQncyBzdHJpcHBlZCB0byBpbmNvcnJlY3QgcGF0aAorICAgICMgYW5kIG5wbSBmYWlscyB0byBleGVjdXRlIGxpa2UgaW4gdGhpcyBjYXNlIHdpdGggMTMzIGNoYXJhY3RlcnMgc2hvdyBpbiBsb2cuZG9faW5zdGFsbDoKKyAgICAjIHVwZGF0aW5nIHNoZWJhbmcgb2YgL2hvbWUvamVua2lucy93b3Jrc3BhY2UvYnVpbGQtd2Vib3MtbmlnaHRseS9kZXZpY2UvcWVtdXg4Ni9sYWJlbC9vcGVuLXdlYm9zLWJ1aWxkZXIvQlVJTEQtcWVtdXg4Ni93b3JrL3g4Nl82NC1saW51eC9ub2RlanMtbmF0aXZlLzAuMTAuMTUtcjAvaW1hZ2UvaG9tZS9qZW5raW5zL3dvcmtzcGFjZS9idWlsZC13ZWJvcy1uaWdodGx5L2RldmljZS9xZW11eDg2L2xhYmVsL29wZW4td2Vib3MtYnVpbGRlci9CVUlMRC1xZW11eDg2L3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluL25wbSB0byAvaG9tZS9qZW5raW5zL3dvcmtzcGFjZS9idWlsZC13ZWJvcy1uaWdodGx5L2RldmljZS9xZW11eDg2L2xhYmVsL29wZW4td2Vib3MtYnVpbGRlci9CVUlMRC1xZW11eDg2L3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluL25vZGUKKyAgICAjIC91c3IvYmluL25wbSBpcyBzeW1saW5rIHRvIC91c3IvbGliL25vZGVfbW9kdWxlcy9ucG0vYmluL25wbS1jbGkuanMKKyAgICAjIHVzZSBzZWQgb24gbnBtLWNsaS5qcyBiZWNhdXNlIG90aGVyd2lzZSBzeW1saW5rIGlzIHJlcGxhY2VkIHdpdGggbm9ybWFsIGZpbGUgYW5kCisgICAgIyBucG0tY2xpLmpzIGNvbnRpbnVlcyB0byB1c2Ugb2xkIHNoZWJhbmcKKyAgICBzZWQgIjFzXi4qXiNcIS91c3IvYmluL2VudiBub2RlXmciIC1pICR7RH0ke2V4ZWNfcHJlZml4fS9saWIvbm9kZV9tb2R1bGVzL25wbS9iaW4vbnBtLWNsaS5qcworfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgc2VkICIxc14uKl4jXCEke2JpbmRpcn0vZW52IG5vZGVeZyIgLWkgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYi9ub2RlX21vZHVsZXMvbnBtL2Jpbi9ucG0tY2xpLmpzCit9CisKK1BBQ0tBR0VTID0rICIke1BOfS1ucG0iCitGSUxFU18ke1BOfS1ucG0gPSAiJHtleGVjX3ByZWZpeH0vbGliL25vZGVfbW9kdWxlcyAke2JpbmRpcn0vbnBtIgorUkRFUEVORFNfJHtQTn0tbnBtID0gImJhc2ggcHl0aG9uLXNoZWxsIHB5dGhvbi1kYXRldGltZSBweXRob24tc3VicHJvY2VzcyBweXRob24tdGV4dHV0aWxzIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tc3lzdGVtdGFwIgorRklMRVNfJHtQTn0tc3lzdGVtdGFwID0gIiR7ZGF0YWRpcn0vc3lzdGVtdGFwIgorCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtc2RrLXRhcmdldC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXNkay10YXJnZXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTRlNzVkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXNkay10YXJnZXQuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJQYWNrYWdlcyByZXF1aXJlZCBmb3IgYSB0YXJnZXQgKG9uLWRldmljZSkgU0RLIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9MSUNFTlNFO21kNT00ZDkyY2QzNzNhYmRhMzkzN2MyYmM0N2ZiYzQ5ZDY5MCIKKworUFIgPSAicjEiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwIGFsbGFyY2gKKworUlBST1ZJREVTXyR7UE59ICs9ICJwYWNrYWdlZ3JvdXAtbmF0aXZlLXNkayIKK1JSRVBMQUNFU18ke1BOfSArPSAicGFja2FnZWdyb3VwLW5hdGl2ZS1zZGsiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICJwYWNrYWdlZ3JvdXAtbmF0aXZlLXNkayIKK1JERVBFTkRTXyR7UE59ID0gImdjYy1zeW1saW5rcyBnKystc3ltbGlua3MgY3BwIGNwcC1zeW1saW5rcyBcCisgICAgICAgICAgICAgICAgICBiaW51dGlscy1zeW1saW5rcyBcCisgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZXMgXAorICAgICAgICAgICAgICAgICAgZmxleCBmbGV4LWRldiBcCisgICAgICAgICAgICAgICAgICBiaXNvbiBcCisgICAgICAgICAgICAgICAgICBnYXdrIFwKKyAgICAgICAgICAgICAgICAgIHNlZCBcCisgICAgICAgICAgICAgICAgICBncmVwIFwKKyAgICAgICAgICAgICAgICAgIGF1dG9jb25mIGF1dG9tYWtlIFwKKyAgICAgICAgICAgICAgICAgIG1ha2UgXAorICAgICAgICAgICAgICAgICAgcGF0Y2ggZGlmZnN0YXQgZGlmZnV0aWxzIFwKKyAgICAgICAgICAgICAgICAgIGxpYnN0ZGMrKy1kZXYgXAorICAgICAgICAgICAgICAgICAgbGlidG9vbCBsaWJ0b29sLWRldiBcCisgICAgICAgICAgICAgICAgICBwa2djb25maWciCisKKyMgdXNlZnVsbCwgYnV0IG5vdCBpbiBvZS1jb3JlL21ldGEtb2UgeWV0OiBwYXRjaHV0aWxzCitSUkVDT01NRU5EU18ke1BOfSA9ICIgZzc3LXN5bWxpbmtzIGdmb3J0cmFuLXN5bWxpbmtzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWtpdC9wYWNrYWdla2l0LTAuNS42LzAwMDEtRG9uLXQtY2FsbC1kZXByZWNhdGVkLWdsaWItZnVuY3Rpb25zLWFuZC11c2UtdGhlLW5ldy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BhY2thZ2VraXQvcGFja2FnZWtpdC0wLjUuNi8wMDAxLURvbi10LWNhbGwtZGVwcmVjYXRlZC1nbGliLWZ1bmN0aW9ucy1hbmQtdXNlLXRoZS1uZXcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNmOGU3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BhY2thZ2VraXQvcGFja2FnZWtpdC0wLjUuNi8wMDAxLURvbi10LWNhbGwtZGVwcmVjYXRlZC1nbGliLWZ1bmN0aW9ucy1hbmQtdXNlLXRoZS1uZXcucGF0Y2gKQEAgLTAsMCArMSwxNjYgQEAKK0Zyb20gODY5ZTUyYTkwNTVjNzI5NzBmZWQwMzZhMTUxMGY2NzZlNmNlMDgyNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDEzIEp1biAyMDEzIDAxOjI0OjE5IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIERvbid0IGNhbGwgZGVwcmVjYXRlZCBnbGliIGZ1bmN0aW9ucyBhbmQgdXNlIHRoZSBuZXcgZ3RocmVhZAorIEFQSS4KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlW3ZlcnNpb24gVW5tYWludGFpbmVkIFVwc3RyZWFtXQorLS0tCisgY2xpZW50L3BrLWNvbnNvbGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArKy0KKyBjbGllbnQvcGstZ2VuZXJhdGUtcGFjay5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAzICsrLQorIGNsaWVudC9way1tb25pdG9yLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKystCisgY29udHJpYi9jb21tYW5kLW5vdC1mb3VuZC9QYWNrYWdlS2l0LnNoICAgICAgICAgIHwgICAgMiArLQorIGNvbnRyaWIvY29tbWFuZC1ub3QtZm91bmQvcGstY29tbWFuZC1ub3QtZm91bmQuYyB8ICAgIDQgKystLQorIGNvbnRyaWIvZGVidWdpbmZvLWluc3RhbGwvcGstZGVidWdpbmZvLWluc3RhbGwuYyB8ICAgIDQgKystLQorIHNyYy9way1iYWNrZW5kLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDcgKysrKysrKworIHNyYy9way1tYWluLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKystLQorIDEwIGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY2xpZW50L3BrLWNvbnNvbGUuYyBiL2NsaWVudC9way1jb25zb2xlLmMKK2luZGV4IGRlOTI3ZTEuLjI0MzVmMjcgMTAwNjQ0CistLS0gYS9jbGllbnQvcGstY29uc29sZS5jCisrKysgYi9jbGllbnQvcGstY29uc29sZS5jCitAQCAtMTI2NCwxMSArMTI2NCwxMiBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAliaW5kdGV4dGRvbWFpbiAoR0VUVEVYVF9QQUNLQUdFLCBQQUNLQUdFX0xPQ0FMRV9ESVIpOworIAliaW5kX3RleHRkb21haW5fY29kZXNldCAoR0VUVEVYVF9QQUNLQUdFLCAiVVRGLTgiKTsKKyAJdGV4dGRvbWFpbiAoR0VUVEVYVF9QQUNLQUdFKTsKKy0KKysjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTigyLDMyLDApCisgCWlmICghIGdfdGhyZWFkX3N1cHBvcnRlZCAoKSkKKyAJCWdfdGhyZWFkX2luaXQgKE5VTEwpOworIAlnX3R5cGVfaW5pdCAoKTsKKyAJZGJ1c19nX3RocmVhZF9pbml0ICgpOworKyNlbmRpZgorIAorIAkvKiBkbyBzdHVmZiBvbiBjdHJsLWMgKi8KKyAJc2lnbmFsIChTSUdJTlQsIHBrX2NvbnNvbGVfc2lnaW50X2NiKTsKK2RpZmYgLS1naXQgYS9jbGllbnQvcGstZ2VuZXJhdGUtcGFjay5jIGIvY2xpZW50L3BrLWdlbmVyYXRlLXBhY2suYworaW5kZXggMGIyYjQwZi4uMjBkN2U4ZCAxMDA2NDQKKy0tLSBhL2NsaWVudC9way1nZW5lcmF0ZS1wYWNrLmMKKysrKyBiL2NsaWVudC9way1nZW5lcmF0ZS1wYWNrLmMKK0BAIC0yNTEsMTIgKzI1MSwxMyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAliaW5kdGV4dGRvbWFpbiAoR0VUVEVYVF9QQUNLQUdFLCBQQUNLQUdFX0xPQ0FMRV9ESVIpOworIAliaW5kX3RleHRkb21haW5fY29kZXNldCAoR0VUVEVYVF9QQUNLQUdFLCAiVVRGLTgiKTsKKyAJdGV4dGRvbWFpbiAoR0VUVEVYVF9QQUNLQUdFKTsKKy0KKysjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTigyLDMyLDApCisgCWlmICghIGdfdGhyZWFkX3N1cHBvcnRlZCAoKSkKKyAJCWdfdGhyZWFkX2luaXQgKE5VTEwpOworIAorIAlnX3R5cGVfaW5pdCAoKTsKKyAJZGJ1c19nX3RocmVhZF9pbml0ICgpOworKyNlbmRpZgorIAorIAkvKiBkbyBzdHVmZiBvbiBjdHJsLWMgKi8KKyAJc2lnbmFsIChTSUdJTlQsIHBrX2dlbmVyYXRlX3BhY2tfc2lnaW50X2NiKTsKK2RpZmYgLS1naXQgYS9jbGllbnQvcGstbW9uaXRvci5jIGIvY2xpZW50L3BrLW1vbml0b3IuYworaW5kZXggZjIzMGY3YS4uZDQzMDA3ZiAxMDA2NDQKKy0tLSBhL2NsaWVudC9way1tb25pdG9yLmMKKysrKyBiL2NsaWVudC9way1tb25pdG9yLmMKK0BAIC0yODUsMTEgKzI4NSwxMiBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAliaW5kdGV4dGRvbWFpbiAoR0VUVEVYVF9QQUNLQUdFLCBQQUNLQUdFX0xPQ0FMRV9ESVIpOworIAliaW5kX3RleHRkb21haW5fY29kZXNldCAoR0VUVEVYVF9QQUNLQUdFLCAiVVRGLTgiKTsKKyAJdGV4dGRvbWFpbiAoR0VUVEVYVF9QQUNLQUdFKTsKKy0KKysjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTigyLDMyLDApCisgCWlmICghIGdfdGhyZWFkX3N1cHBvcnRlZCAoKSkKKyAJCWdfdGhyZWFkX2luaXQgKE5VTEwpOworIAlnX3R5cGVfaW5pdCAoKTsKKyAJZGJ1c19nX3RocmVhZF9pbml0ICgpOworKyNlbmRpZgorIAorIAljb250ZXh0ID0gZ19vcHRpb25fY29udGV4dF9uZXcgKE5VTEwpOworIAkvKiBUUkFOU0xBVE9SUzogdGhpcyBpcyBhIHByb2dyYW0gdGhhdCBtb25pdG9ycyBQYWNrYWdlS2l0ICovCitkaWZmIC0tZ2l0IGEvY29udHJpYi9jb21tYW5kLW5vdC1mb3VuZC9QYWNrYWdlS2l0LnNoIGIvY29udHJpYi9jb21tYW5kLW5vdC1mb3VuZC9QYWNrYWdlS2l0LnNoCitpbmRleCBkMDg5ODljLi5kNzA4ZmZmIDEwMDY0NAorLS0tIGEvY29udHJpYi9jb21tYW5kLW5vdC1mb3VuZC9QYWNrYWdlS2l0LnNoCisrKysgYi9jb250cmliL2NvbW1hbmQtbm90LWZvdW5kL1BhY2thZ2VLaXQuc2gKK0BAIC0xOCw3ICsxOCw3IEBAIGNvbW1hbmRfbm90X2ZvdW5kX2hhbmRsZSAoKSB7CisgCisgCSMgcnVuIHRoZSBjb21tYW5kLCBvciBqdXN0IHByaW50IGEgd2FybmluZworIAlpZiBbICRydW5jbmYgLWVxIDEgXTsgdGhlbgorLQkJL2hvbWUvaHVnaHNpZS8ucm9vdC9saWJleGVjL3BrLWNvbW1hbmQtbm90LWZvdW5kICQxCisrCQkvdXNyL2xpYi9wYWNrYWdla2l0L3BrLWNvbW1hbmQtbm90LWZvdW5kICQxCisgCQlyZXR2YWw9JD8KKyAJZWxzZQorIAkJZWNobyAiYmFzaDogJDE6IGNvbW1hbmQgbm90IGZvdW5kIgorZGlmZiAtLWdpdCBhL2NvbnRyaWIvY29tbWFuZC1ub3QtZm91bmQvcGstY29tbWFuZC1ub3QtZm91bmQuYyBiL2NvbnRyaWIvY29tbWFuZC1ub3QtZm91bmQvcGstY29tbWFuZC1ub3QtZm91bmQuYworaW5kZXggNzA2NzljMC4uOWY4MWNlNCAxMDA2NDQKKy0tLSBhL2NvbnRyaWIvY29tbWFuZC1ub3QtZm91bmQvcGstY29tbWFuZC1ub3QtZm91bmQuYworKysrIGIvY29udHJpYi9jb21tYW5kLW5vdC1mb3VuZC9way1jb21tYW5kLW5vdC1mb3VuZC5jCitAQCAtNjU5LDEyICs2NTksMTIgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJYmluZHRleHRkb21haW4gKEdFVFRFWFRfUEFDS0FHRSwgUEFDS0FHRV9MT0NBTEVfRElSKTsKKyAJYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQgKEdFVFRFWFRfUEFDS0FHRSwgIlVURi04Iik7CisgCXRleHRkb21haW4gKEdFVFRFWFRfUEFDS0FHRSk7CistCisrI2lmICFHTElCX0NIRUNLX1ZFUlNJT04oMiwzMiwwKQorIAlpZiAoISBnX3RocmVhZF9zdXBwb3J0ZWQgKCkpCisgCQlnX3RocmVhZF9pbml0IChOVUxMKTsKKyAJZGJ1c19nX3RocmVhZF9pbml0ICgpOworIAlnX3R5cGVfaW5pdCAoKTsKKy0KKysjZW5kaWYKKyAJY29udGV4dCA9IGdfb3B0aW9uX2NvbnRleHRfbmV3IChOVUxMKTsKKyAJLyogVFJBTlNMQVRPUlM6IHRvb2wgdGhhdCBnZXRzIGNhbGxlZCB3aGVuIHRoZSBjb21tYW5kIGlzIG5vdCBmb3VuZCAqLworIAlnX29wdGlvbl9jb250ZXh0X3NldF9zdW1tYXJ5IChjb250ZXh0LCBfKCJQYWNrYWdlS2l0IENvbW1hbmQgTm90IEZvdW5kIikpOworZGlmZiAtLWdpdCBhL2NvbnRyaWIvZGVidWdpbmZvLWluc3RhbGwvcGstZGVidWdpbmZvLWluc3RhbGwuYyBiL2NvbnRyaWIvZGVidWdpbmZvLWluc3RhbGwvcGstZGVidWdpbmZvLWluc3RhbGwuYworaW5kZXggYzEyYWNhNS4uYjBlMWU3YyAxMDA2NDQKKy0tLSBhL2NvbnRyaWIvZGVidWdpbmZvLWluc3RhbGwvcGstZGVidWdpbmZvLWluc3RhbGwuYworKysrIGIvY29udHJpYi9kZWJ1Z2luZm8taW5zdGFsbC9way1kZWJ1Z2luZm8taW5zdGFsbC5jCitAQCAtNTMyLDExICs1MzIsMTEgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJYmluZHRleHRkb21haW4gKEdFVFRFWFRfUEFDS0FHRSwgUEFDS0FHRV9MT0NBTEVfRElSKTsKKyAJYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQgKEdFVFRFWFRfUEFDS0FHRSwgIlVURi04Iik7CisgCXRleHRkb21haW4gKEdFVFRFWFRfUEFDS0FHRSk7CistCisrI2lmICFHTElCX0NIRUNLX1ZFUlNJT04oMiwzMiwwKQorIAlpZiAoISBnX3RocmVhZF9zdXBwb3J0ZWQgKCkpCisgCQlnX3RocmVhZF9pbml0IChOVUxMKTsKKyAJZ190eXBlX2luaXQgKCk7CistCisrI2VuZGlmCisgCWNvbnRleHQgPSBnX29wdGlvbl9jb250ZXh0X25ldyAoTlVMTCk7CisgCS8qIFRSQU5TTEFUT1JTOiB0b29sIHRoYXQgZ2V0cyBjYWxsZWQgd2hlbiB0aGUgY29tbWFuZCBpcyBub3QgZm91bmQgKi8KKyAJZ19vcHRpb25fY29udGV4dF9zZXRfc3VtbWFyeSAoY29udGV4dCwgXygiUGFja2FnZUtpdCBEZWJ1Z2luZm8gSW5zdGFsbGVyIikpOworZGlmZiAtLWdpdCBhL3NyYy9way1iYWNrZW5kLmMgYi9zcmMvcGstYmFja2VuZC5jCitpbmRleCA1MjE2YjYzLi41YjgzYWU0IDEwMDY0NAorLS0tIGEvc3JjL3BrLWJhY2tlbmQuYworKysrIGIvc3JjL3BrLWJhY2tlbmQuYworQEAgLTIxMDMsNyArMjEwMywxNCBAQCBwa19iYWNrZW5kX3RocmVhZF9jcmVhdGUgKFBrQmFja2VuZCAqYmFja2VuZCwgUGtCYWNrZW5kVGhyZWFkRnVuYyBmdW5jKQorIAkJZWdnX3dhcm5pbmcgKCJhbHJlYWR5IGhhcyB0aHJlYWQiKTsKKyAJCXJldHVybiBGQUxTRTsKKyAJfQorKyNpZiAhR0xJQl9DSEVDS19WRVJTSU9OKDIsMzIsMCkKKyAJYmFja2VuZC0+cHJpdi0+dGhyZWFkID0gZ190aHJlYWRfY3JlYXRlICgoR1RocmVhZEZ1bmMpIGZ1bmMsIGJhY2tlbmQsIEZBTFNFLCBOVUxMKTsKKysjZWxzZQorKwliYWNrZW5kLT5wcml2LT50aHJlYWQgPSBnX3RocmVhZF90cnlfbmV3ICgiZGFlbW9uIHRocmVhZCIsIChHVGhyZWFkRnVuYykgZnVuYywgYmFja2VuZCwgTlVMTCk7CisrCWlmIChiYWNrZW5kLT5wcml2LT50aHJlYWQgIT0gTlVMTCkgeworKwkJZ190aHJlYWRfdW5yZWYoYmFja2VuZC0+cHJpdi0+dGhyZWFkKTsKKysJfQorKyNlbmRpZgorIAlpZiAoYmFja2VuZC0+cHJpdi0+dGhyZWFkID09IE5VTEwpIHsKKyAJCWVnZ193YXJuaW5nICgiZmFpbGVkIHRvIGNyZWF0ZSB0aHJlYWQiKTsKKyAJCXJldHVybiBGQUxTRTsKK2RpZmYgLS1naXQgYS9zcmMvcGstbWFpbi5jIGIvc3JjL3BrLW1haW4uYworaW5kZXggNGM3NThjZC4uOGZhMjQ4MiAxMDA2NDQKKy0tLSBhL3NyYy9way1tYWluLmMKKysrKyBiL3NyYy9way1tYWluLmMKK0BAIC0yMTksMTIgKzIxOSwxMiBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAliaW5kdGV4dGRvbWFpbiAoR0VUVEVYVF9QQUNLQUdFLCBQQUNLQUdFX0xPQ0FMRV9ESVIpOworIAliaW5kX3RleHRkb21haW5fY29kZXNldCAoR0VUVEVYVF9QQUNLQUdFLCAiVVRGLTgiKTsKKyAJdGV4dGRvbWFpbiAoR0VUVEVYVF9QQUNLQUdFKTsKKy0KKysjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTigyLDMyLDApCisgCWlmICghIGdfdGhyZWFkX3N1cHBvcnRlZCAoKSkKKyAJCWdfdGhyZWFkX2luaXQgKE5VTEwpOworIAlkYnVzX2dfdGhyZWFkX2luaXQgKCk7CisgCWdfdHlwZV9pbml0ICgpOworLQorKyNlbmRpZgorIAkvKiBUUkFOU0xBVE9SUzogZGVzY3JpYmluZyB0aGUgc2VydmljZSB0aGF0IGlzIHJ1bm5pbmcgKi8KKyAJY29udGV4dCA9IGdfb3B0aW9uX2NvbnRleHRfbmV3IChfKCJQYWNrYWdlS2l0IHNlcnZpY2UiKSk7CisgCWdfb3B0aW9uX2NvbnRleHRfYWRkX21haW5fZW50cmllcyAoY29udGV4dCwgb3B0aW9ucywgTlVMTCk7CistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWtpdC9wYWNrYWdla2l0LTAuNS42L2NvbmZpZ3VyZWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BhY2thZ2VraXQvcGFja2FnZWtpdC0wLjUuNi9jb25maWd1cmVmaXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDhmOTU5MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BhY2thZ2VraXQvcGFja2FnZWtpdC0wLjUuNi9jb25maWd1cmVmaXgucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorSW5kZXg6IFBhY2thZ2VLaXQtMC42LjAvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gUGFja2FnZUtpdC0wLjYuMC5vcmlnL2NvbmZpZ3VyZS5hYwkyMDEwLTAxLTA0IDE2OjMyOjE4LjAwMDAwMDAwMCArMDAwMAorKysrIFBhY2thZ2VLaXQtMC42LjAvY29uZmlndXJlLmFjCTIwMTAtMDEtMjkgMTE6MzM6NDguMDAwMDAwMDAwICswMDAwCitAQCAtOTAsNyArOTAsNyBAQAorIAkJCQkJCQllbmFibGVfc3RyaWN0PSRkZWZhdWx0X3N0cmljdCkKKyBpZiB0ZXN0IHgkZW5hYmxlX3N0cmljdCAhPSB4bm87IHRoZW4KKyAJaWYgdGVzdCAiJEdDQyIgPSAieWVzIjsgdGhlbgorLQkJV0FSTklOR0ZMQUdTX0NQUD0iJFdBUk5JTkdGTEFHU19DUFAgLVdlcnJvciIKKysJCToKKyAJZmkKKyBmaQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWtpdC9wYWNrYWdla2l0LTAuNS42L29wa2dmaXhlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BhY2thZ2VraXQvcGFja2FnZWtpdC0wLjUuNi9vcGtnZml4ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWE3M2ExOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BhY2thZ2VraXQvcGFja2FnZWtpdC0wLjUuNi9vcGtnZml4ZXMucGF0Y2gKQEAgLTAsMCArMSw0MjIgQEAKK0luZGV4OiBQYWNrYWdlS2l0LTAuNi4wL2JhY2tlbmRzL29wa2cvcGstYmFja2VuZC1vcGtnLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBQYWNrYWdlS2l0LTAuNi4wLm9yaWcvYmFja2VuZHMvb3BrZy9way1iYWNrZW5kLW9wa2cuYwkyMDEwLTAxLTI5IDA5OjM5OjMzLjAwMDAwMDAwMCArMDAwMAorKysrIFBhY2thZ2VLaXQtMC42LjAvYmFja2VuZHMvb3BrZy9way1iYWNrZW5kLW9wa2cuYwkyMDEwLTAxLTI5IDExOjMwOjUxLjAwMDAwMDAwMCArMDAwMAorQEAgLTI5LDggKzI5LDcgQEAKKyAKKysjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8bGlib3BrZy9vcGtnLmg+CisgCistc3RhdGljIG9wa2dfdCAqb3BrZzsKKy0KKyBlbnVtIHsKKyAJU0VBUkNIX05BTUUsCisgCVNFQVJDSF9ERVNDUklQVElPTiwKK0BAIC02Miw3ICs2MCw3IEBACisgICogY2hlY2sgYW4gb3BrZyBwYWNrYWdlIGZvciBrbm93biBHVUkgZGVwZW5kYW5jaWVzCisgICovCisgc3RhdGljIGdib29sZWFuCistb3BrZ19pc19ndWlfcGtnIChvcGtnX3BhY2thZ2VfdCAqcGtnKQorK29wa2dfaXNfZ3VpX3BrZyAocGtnX3QgKnBrZykKKyB7CisgCisgICAvKiBUT0RPOiBjaGVjayBhcHByb3ByaWF0ZSB0YWcgKi8KK0BAIC04NCw3ICs4Miw3IEBACisgICogY2hlY2sgYW4gb3BrZyBwYWNrYWdlIHRvIGRldGVybWluZSBpZiBpdCBpcyBhIGRldmVsb3BtZW50IHBhY2thZ2UKKyAgKi8KKyBzdGF0aWMgZ2Jvb2xlYW4KKy1vcGtnX2lzX2RldmVsX3BrZyAob3BrZ19wYWNrYWdlX3QgKnBrZykKKytvcGtnX2lzX2RldmVsX3BrZyAocGtnX3QgKnBrZykKKyB7CisgICBpZiAoZ19zdHJyc3RyIChwa2ctPm5hbWUsICItZGV2IikpCisgICAgICAgcmV0dXJuIFRSVUU7CitAQCAtMTA1LDcgKzEwMyw3IEBACisgICogcmV0dXJucyB0cnVlIGlmIHRoZSB0YWcgaXMgcHJlc2VudAorICAqLworIHN0YXRpYyBnYm9vbGVhbiAKKy1vcGtnX2NoZWNrX3RhZyAob3BrZ19wYWNrYWdlX3QgKnBrZywgY29uc3QgZ2NoYXIgKnRhZykKKytvcGtnX2NoZWNrX3RhZyAocGtnX3QgKnBrZywgY29uc3QgZ2NoYXIgKnRhZykKKyB7CisgCWlmIChwa2ctPnRhZ3MgJiYgdGFnKQorIAkJcmV0dXJuIChnX3N0cnJzdHIgKHBrZy0+dGFncywgdGFnKSAhPSBOVUxMKTsKK0BAIC0xMTgsNyArMTE2LDcgQEAKKyB7CisgCXN3aXRjaCAoZXJyKQorIAl7CistCWNhc2UgT1BLR19OT19FUlJPUjoKKysvKgljYXNlIE9QS0dfTk9fRVJST1I6CisgCQlicmVhazsKKyAJY2FzZSBPUEtHX1BBQ0tBR0VfTk9UX0lOU1RBTExFRDoKKyAJCXBrX2JhY2tlbmRfZXJyb3JfY29kZSAoYmFja2VuZCwgUEtfRVJST1JfRU5VTV9QQUNLQUdFX05PVF9JTlNUQUxMRUQsIE5VTEwpOworQEAgLTE0MCw3ICsxMzgsNyBAQAorIAkJYnJlYWs7CisgCWNhc2UgT1BLR19QQUNLQUdFX05PVF9BVkFJTEFCTEU6CisgCQlwa19iYWNrZW5kX2Vycm9yX2NvZGUgKGJhY2tlbmQsIFBLX0VSUk9SX0VOVU1fUEFDS0FHRV9OT1RfRk9VTkQsIE5VTEwpOworLQkJYnJlYWs7CisrCQlicmVhazsqLworIAlkZWZhdWx0OgorIAkJb3BrZ191bmtub3duX2Vycm9yIChiYWNrZW5kLCBlcnIsICJVcGRhdGUgcGFja2FnZSIpOworIAl9CitAQCAtMTUyLDcgKzE1MCw3IEBACisgc3RhdGljIHZvaWQKKyBiYWNrZW5kX2luaXRpYWxpemUgKFBrQmFja2VuZCAqYmFja2VuZCkKKyB7CistCW9wa2cgPSBvcGtnX25ldyAoKTsKKysJaW50IG9wa2cgPSBvcGtnX25ldyAoKTsKKyAKKyAJaWYgKCFvcGtnKSB7CisgCQlwa19iYWNrZW5kX2Vycm9yX2NvZGUgKGJhY2tlbmQsCitAQCAtMTYyLDggKzE2MCw4IEBACisgCX0KKyAKKyAjaWZkZWYgT1BLR19PRkZMSU5FX1JPT1QKKy0Jb3BrZ19zZXRfb3B0aW9uIChvcGtnLCAoY2hhciAqKSAib2ZmbGluZV9yb290IiwgT1BLR19PRkZMSU5FX1JPT1QpOworLQlvcGtnX3JlX3JlYWRfY29uZmlnX2ZpbGVzIChvcGtnKTsKKysJb3BrZ19zZXRfb3B0aW9uICgoY2hhciAqKSAib2ZmbGluZV9yb290IiwgT1BLR19PRkZMSU5FX1JPT1QpOworKwlvcGtnX3JlX3JlYWRfY29uZmlnX2ZpbGVzICgpOworICNlbmRpZgorIAorIH0KK0BAIC0xNzQsMjIgKzE3MiwyMiBAQAorIHN0YXRpYyB2b2lkCisgYmFja2VuZF9kZXN0cm95IChQa0JhY2tlbmQgKmJhY2tlbmQpCisgeworLQlvcGtnX2ZyZWUgKG9wa2cpOworKwlvcGtnX2ZyZWUgKCk7CisgfQorIAorIAorIHN0YXRpYyB2b2lkCistcGtfb3BrZ19wcm9ncmVzc19jYiAob3BrZ190ICpfb3BrZywgY29uc3Qgb3BrZ19wcm9ncmVzc19kYXRhX3QgKnBkYXRhLCB2b2lkICpkYXRhKQorK3BrX29wa2dfcHJvZ3Jlc3NfY2IgKGNvbnN0IG9wa2dfcHJvZ3Jlc3NfZGF0YV90ICpwZGF0YSwgdm9pZCAqZGF0YSkKKyB7CistCVBrQmFja2VuZCAqYmFja2VuZCA9IFBLX0JBQ0tFTkQgKGRhdGEpOworKwlQa0JhY2tlbmQgKmJhY2tlbmQgPSAoUGtCYWNrZW5kKikgZGF0YTsKKyAJaWYgKCFiYWNrZW5kKQorIAkJcmV0dXJuOworIAorIAlwa19iYWNrZW5kX3NldF9wZXJjZW50YWdlIChiYWNrZW5kLCBwZGF0YS0+cGVyY2VudGFnZSk7CistCWlmIChwZGF0YS0+cGFja2FnZSkKKysJaWYgKHBkYXRhLT5wa2cpCisgCXsKKyAJCWdjaGFyICp1aWQ7CistCQlvcGtnX3BhY2thZ2VfdCAqcGtnID0gcGRhdGEtPnBhY2thZ2U7CisrCQlwa2dfdCAqcGtnID0gcGRhdGEtPnBrZzsKKyAJCWdpbnQgc3RhdHVzID0gUEtfSU5GT19FTlVNX1VOS05PV047CisgCisgCQl1aWQgPSBnX3N0cmR1cF9wcmludGYgKCIlczslczslczsiLAorQEAgLTIyNSwxMiArMjIzLDEyIEBACisgeworIAlpbnQgcmV0OworIAorLQlyZXQgPSBvcGtnX3VwZGF0ZV9wYWNrYWdlX2xpc3RzIChvcGtnLCBwa19vcGtnX3Byb2dyZXNzX2NiLCBiYWNrZW5kKTsKKysJcmV0ID0gb3BrZ191cGRhdGVfcGFja2FnZV9saXN0cyAocGtfb3BrZ19wcm9ncmVzc19jYiwgYmFja2VuZCk7CisgCisgCWlmIChyZXQpIHsKKy0JCWlmIChyZXQgPT0gT1BLR19ET1dOTE9BRF9GQUlMRUQpCistCQkJcGtfYmFja2VuZF9lcnJvcl9jb2RlIChiYWNrZW5kLCBQS19FUlJPUl9FTlVNX1JFUE9fTk9UX0FWQUlMQUJMRSwgTlVMTCk7CistCQllbHNlCisrLy8JCWlmIChyZXQgPT0gT1BLR19ET1dOTE9BRF9GQUlMRUQpCisrLy8JCQlwa19iYWNrZW5kX2Vycm9yX2NvZGUgKGJhY2tlbmQsIFBLX0VSUk9SX0VOVU1fUkVQT19OT1RfQVZBSUxBQkxFLCBOVUxMKTsKKysvLwkJZWxzZQorIAkJCW9wa2dfdW5rbm93bl9lcnJvciAoYmFja2VuZCwgcmV0LCAiUmVmcmVzaGluZyBjYWNoZSIpOworIAl9CisgCXBrX2JhY2tlbmRfZmluaXNoZWQgKGJhY2tlbmQpOworQEAgLTI1Niw3ICsyNTQsNyBAQAorICAqLworIAorIHN0YXRpYyB2b2lkCistcGtfb3BrZ19wYWNrYWdlX2xpc3RfY2IgKG9wa2dfdCAqX29wa2csIG9wa2dfcGFja2FnZV90ICpwa2csIHZvaWQgKmRhdGEpCisrcGtfb3BrZ19wYWNrYWdlX2xpc3RfY2IgKHBrZ190ICpwa2csIHZvaWQgKmRhdGEpCisgeworIAlTZWFyY2hQYXJhbXMgKnBhcmFtcyA9IChTZWFyY2hQYXJhbXMqKSBkYXRhOworIAlnY2hhciAqdWlkOworQEAgLTI5OCw3ICsyOTYsNyBAQAorIAl1aWQgPSBnX3N0cmR1cF9wcmludGYgKCIlczslczslczsiLAorIAkJcGtnLT5uYW1lLCBwa2ctPnZlcnNpb24sIHBrZy0+YXJjaGl0ZWN0dXJlKTsKKyAKKy0JaWYgKHBrZy0+aW5zdGFsbGVkKQorKwlpZiAocGtnLT5zdGF0ZV9zdGF0dXMgPT0gU1NfSU5TVEFMTEVEKQorIAkJc3RhdHVzID0gUEtfSU5GT19FTlVNX0lOU1RBTExFRDsKKyAJZWxzZQorIAkJc3RhdHVzID0gUEtfSU5GT19FTlVNX0FWQUlMQUJMRTsKK0BAIC0zMTgsMTAgKzMxNiwxMCBAQAorICAgICAgICAgICAgICAgICBvcGtnX2lzX2d1aV9wa2cgKHBrZykpCisgCQlnb3RvIGVuZF9oYW5kbGU7CisgCWlmIChwa19iaXRmaWVsZF9jb250YWluKGZpbHRlcnMsIFBLX0ZJTFRFUl9FTlVNX0lOU1RBTExFRCkgJiYgCistICAgICAgICAgICAgICAgICghcGtnLT5pbnN0YWxsZWQpKQorKyAgICAgICAgICAgICAgICAocGtnLT5zdGF0ZV9zdGF0dXMgIT0gU1NfSU5TVEFMTEVEKSkKKyAJCWdvdG8gZW5kX2hhbmRsZTsKKyAJaWYgKHBrX2JpdGZpZWxkX2NvbnRhaW4oZmlsdGVycywgUEtfRklMVEVSX0VOVU1fTk9UX0lOU1RBTExFRCkgJiYgCistICAgICAgICAgICAgICAgIChwa2ctPmluc3RhbGxlZCkpCisrICAgICAgICAgICAgICAgIChwa2ctPnN0YXRlX3N0YXR1cyA9PSBTU19JTlNUQUxMRUQpKQorIAkJZ290byBlbmRfaGFuZGxlOworIAorIAlwa19iYWNrZW5kX3BhY2thZ2UgKHBhcmFtcy0+YmFja2VuZCwgc3RhdHVzLCB1aWQsIHBrZy0+ZGVzY3JpcHRpb24pOworQEAgLTMzOCw3ICszMzYsNyBAQAorIAorIAlwYXJhbXMgPSBwa19iYWNrZW5kX2dldF9wb2ludGVyIChiYWNrZW5kLCAic2VhcmNoLXBhcmFtcyIpOworIAorLQlvcGtnX2xpc3RfcGFja2FnZXMgKG9wa2csIHBrX29wa2dfcGFja2FnZV9saXN0X2NiLCBwYXJhbXMpOworKwlvcGtnX2xpc3RfcGFja2FnZXMgKHBrX29wa2dfcGFja2FnZV9saXN0X2NiLCBwYXJhbXMpOworIAorIAlwa19iYWNrZW5kX2ZpbmlzaGVkIChwYXJhbXMtPmJhY2tlbmQpOworIAorQEAgLTM0OSw3ICszNDcsNyBAQAorIH0KKyAKKyBzdGF0aWMgdm9pZAorLWJhY2tlbmRfc2VhcmNoX25hbWUgKFBrQmFja2VuZCAqYmFja2VuZCwgUGtCaXRmaWVsZCBmaWx0ZXJzLCBjb25zdCBnY2hhciAqc2VhcmNoKQorK2JhY2tlbmRfc2VhcmNoX25hbWUgKFBrQmFja2VuZCAqYmFja2VuZCwgUGtCaXRmaWVsZCBmaWx0ZXJzLCBnY2hhciAqKnNlYXJjaCkKKyB7CisgCVNlYXJjaFBhcmFtcyAqcGFyYW1zOworIAorQEAgLTM2MCw3ICszNTgsNyBAQAorIAlwYXJhbXMgPSBnX25ldzAgKFNlYXJjaFBhcmFtcywgMSk7CisgCXBhcmFtcy0+ZmlsdGVycyA9IGZpbHRlcnM7CisgCXBhcmFtcy0+c2VhcmNoX3R5cGUgPSBTRUFSQ0hfTkFNRTsKKy0JcGFyYW1zLT5uZWVkbGUgPSBnX3V0Zjhfc3RyZG93biAoc2VhcmNoLCAtMSk7CisrCXBhcmFtcy0+bmVlZGxlID0gZ191dGY4X3N0cmRvd24gKHNlYXJjaFswXSwgLTEpOworIAlwYXJhbXMtPmJhY2tlbmQgPSBiYWNrZW5kOworIAorIAlwa19iYWNrZW5kX3NldF9wb2ludGVyIChiYWNrZW5kLCAic2VhcmNoLXBhcmFtcyIsIHBhcmFtcyk7CitAQCAtMzcxLDcgKzM2OSw3IEBACisgICogYmFja2VuZF9zZWFyY2hfZGVzY3JpcHRpb246CisgICovCisgc3RhdGljIHZvaWQKKy1iYWNrZW5kX3NlYXJjaF9kZXNjcmlwdGlvbiAoUGtCYWNrZW5kICpiYWNrZW5kLCBQa0JpdGZpZWxkIGZpbHRlcnMsIGNvbnN0IGdjaGFyICpzZWFyY2gpCisrYmFja2VuZF9zZWFyY2hfZGVzY3JpcHRpb24gKFBrQmFja2VuZCAqYmFja2VuZCwgUGtCaXRmaWVsZCBmaWx0ZXJzLCBnY2hhciAqKnNlYXJjaCkKKyB7CisgCVNlYXJjaFBhcmFtcyAqcGFyYW1zOworIAorQEAgLTM4Miw3ICszODAsNyBAQAorIAlwYXJhbXMgPSBnX25ldzAgKFNlYXJjaFBhcmFtcywgMSk7CisgCXBhcmFtcy0+ZmlsdGVycyA9IGZpbHRlcnM7CisgCXBhcmFtcy0+c2VhcmNoX3R5cGUgPSBTRUFSQ0hfREVTQ1JJUFRJT047CistCXBhcmFtcy0+bmVlZGxlID0gZ191dGY4X3N0cmRvd24gKHNlYXJjaCwgLTEpOworKwlwYXJhbXMtPm5lZWRsZSA9IGdfdXRmOF9zdHJkb3duIChzZWFyY2hbMF0sIC0xKTsKKyAJcGFyYW1zLT5iYWNrZW5kID0gYmFja2VuZDsKKyAKKyAJcGtfYmFja2VuZF9zZXRfcG9pbnRlciAoYmFja2VuZCwgInNlYXJjaC1wYXJhbXMiLCBwYXJhbXMpOworQEAgLTM5MCw3ICszODgsNyBAQAorIH0KKyAKKyBzdGF0aWMgdm9pZAorLWJhY2tlbmRfc2VhcmNoX2dyb3VwIChQa0JhY2tlbmQgKmJhY2tlbmQsIFBrQml0ZmllbGQgZmlsdGVycywgY29uc3QgZ2NoYXIgKnNlYXJjaCkKKytiYWNrZW5kX3NlYXJjaF9ncm91cCAoUGtCYWNrZW5kICpiYWNrZW5kLCBQa0JpdGZpZWxkIGZpbHRlcnMsIGdjaGFyICoqc2VhcmNoKQorIHsKKyAJU2VhcmNoUGFyYW1zICpwYXJhbXM7CisgCitAQCAtNDAxLDcgKzM5OSw3IEBACisgCXBhcmFtcyA9IGdfbmV3MCAoU2VhcmNoUGFyYW1zLCAxKTsKKyAJcGFyYW1zLT5maWx0ZXJzID0gZmlsdGVyczsKKyAJcGFyYW1zLT5zZWFyY2hfdHlwZSA9IFNFQVJDSF9UQUc7CistCXBhcmFtcy0+bmVlZGxlID0gZ19zdHJkdXBfcHJpbnRmICgiZ3JvdXA6OiVzIiwgc2VhcmNoKTsKKysJcGFyYW1zLT5uZWVkbGUgPSBnX3N0cmR1cF9wcmludGYgKCJncm91cDo6JXMiLCBzZWFyY2hbMF0pOworIAlwYXJhbXMtPmJhY2tlbmQgPSBiYWNrZW5kOworIAorIAlwa19iYWNrZW5kX3NldF9wb2ludGVyIChiYWNrZW5kLCAic2VhcmNoLXBhcmFtcyIsIHBhcmFtcyk7CitAQCAtNDEyLDkgKzQxMCw5IEBACisgc3RhdGljIGdib29sZWFuCisgYmFja2VuZF9pbnN0YWxsX3BhY2thZ2VzX3RocmVhZCAoUGtCYWNrZW5kICpiYWNrZW5kKQorIHsKKy0JUGtQYWNrYWdlSWQgKnBpOworIAlnaW50IGVyciwgaTsKKyAJZ2NoYXIgKipwYWNrYWdlX2lkczsKKysJZ2NoYXIgKipwYXJ0czsKKyAKKyAJcGFja2FnZV9pZHMgPSBwa19iYWNrZW5kX2dldF9zdHJ2IChiYWNrZW5kLCAicGtpZHMiKTsKKyAKK0BAIC00MjQsMTMgKzQyMiwxMyBAQAorIAl7CisgCQlwa19iYWNrZW5kX3BhY2thZ2UgKGJhY2tlbmQsIFBLX0lORk9fRU5VTV9JTlNUQUxMSU5HLCBwYWNrYWdlX2lkc1tpXSwgTlVMTCk7CisgCistCQlwaSA9IHBrX3BhY2thZ2VfaWRfbmV3X2Zyb21fc3RyaW5nIChwYWNrYWdlX2lkc1tpXSk7CisrCQlwYXJ0cyA9IHBrX3BhY2thZ2VfaWRfc3BsaXQgKHBhY2thZ2VfaWRzW2ldKTsKKyAKKy0JCWVyciA9IG9wa2dfaW5zdGFsbF9wYWNrYWdlIChvcGtnLCBwaS0+bmFtZSwgcGtfb3BrZ19wcm9ncmVzc19jYiwgYmFja2VuZCk7CisrCQllcnIgPSBvcGtnX2luc3RhbGxfcGFja2FnZSAocGFydHNbUEtfUEFDS0FHRV9JRF9OQU1FXSwgcGtfb3BrZ19wcm9ncmVzc19jYiwgYmFja2VuZCk7CisgCQlpZiAoZXJyKQorIAkJCWhhbmRsZV9pbnN0YWxsX2Vycm9yIChiYWNrZW5kLCBlcnIpOworIAorLQkJcGtfcGFja2FnZV9pZF9mcmVlIChwaSk7CisrCQlnX3N0cmZyZWV2IChwYXJ0cyk7CisgCQlpZiAoZXJyICE9IDApCisgCQkJYnJlYWs7CisgCX0KK0BAIC00NTMsOSArNDUxLDkgQEAKKyBzdGF0aWMgZ2Jvb2xlYW4KKyBiYWNrZW5kX3JlbW92ZV9wYWNrYWdlc190aHJlYWQgKFBrQmFja2VuZCAqYmFja2VuZCkKKyB7CistCVBrUGFja2FnZUlkICpwaTsKKyAJZ2ludCBlcnIsIGk7CisgCWdjaGFyICoqcGFja2FnZV9pZHM7CisrCWdjaGFyICoqcGFydHM7CisgCWdib29sZWFuIGFsbG93X2RlcHM7CisgCWdib29sZWFuIGF1dG9yZW1vdmU7CisgCWdwb2ludGVyICpkYXRhOworQEAgLTQ2NywyOSArNDY1LDMwIEBACisgCWF1dG9yZW1vdmUgPSBHUE9JTlRFUl9UT19JTlQgKGRhdGFbMl0pOworIAlnX2ZyZWUgKGRhdGEpOworIAorLQlvcGtnX3NldF9vcHRpb24gKG9wa2csIChjaGFyICopImF1dG9yZW1vdmUiLCAmYXV0b3JlbW92ZSk7CistCW9wa2dfc2V0X29wdGlvbiAob3BrZywgKGNoYXIgKikiZm9yY2VfcmVtb3ZhbF9vZl9kZXBlbmRlbnRfcGFja2FnZXMiLCAmYWxsb3dfZGVwcyk7CisrCW9wa2dfc2V0X29wdGlvbiAoKGNoYXIgKikiYXV0b3JlbW92ZSIsICZhdXRvcmVtb3ZlKTsKKysJb3BrZ19zZXRfb3B0aW9uICgoY2hhciAqKSJmb3JjZV9yZW1vdmFsX29mX2RlcGVuZGVudF9wYWNrYWdlcyIsICZhbGxvd19kZXBzKTsKKyAKKyAJZXJyID0gMDsKKyAKKyAJZm9yIChpID0gMDsgcGFja2FnZV9pZHNbaV07IGkrKykKKyAJeworLQkJcGkgPSBwa19wYWNrYWdlX2lkX25ld19mcm9tX3N0cmluZyAocGFja2FnZV9pZHNbaV0pOworIAkJcGtfYmFja2VuZF9wYWNrYWdlIChiYWNrZW5kLCBQS19JTkZPX0VOVU1fUkVNT1ZJTkcsIHBhY2thZ2VfaWRzW2ldLCBOVUxMKTsKKyAKKy0JCWVyciA9IG9wa2dfcmVtb3ZlX3BhY2thZ2UgKG9wa2csIHBpLT5uYW1lLCBwa19vcGtnX3Byb2dyZXNzX2NiLCBiYWNrZW5kKTsKKysJCXBhcnRzID0gcGtfcGFja2FnZV9pZF9zcGxpdCAocGFja2FnZV9pZHNbaV0pOworKworKwkJZXJyID0gb3BrZ19yZW1vdmVfcGFja2FnZSAocGFydHNbUEtfUEFDS0FHRV9JRF9OQU1FXSwgcGtfb3BrZ19wcm9ncmVzc19jYiwgYmFja2VuZCk7CisgCisgCQlzd2l0Y2ggKGVycikKKyAJCXsKKy0JCWNhc2UgT1BLR19OT19FUlJPUjoKKy0JCQlicmVhazsKKy0JCWNhc2UgT1BLR19QQUNLQUdFX05PVF9JTlNUQUxMRUQ6CistCQkJcGtfYmFja2VuZF9lcnJvcl9jb2RlIChiYWNrZW5kLCBQS19FUlJPUl9FTlVNX1BBQ0tBR0VfTk9UX0lOU1RBTExFRCwgTlVMTCk7CistCQkJYnJlYWs7CisrCQkvL2Nhc2UgT1BLR19OT19FUlJPUjoKKysJCS8vCWJyZWFrOworKwkJLy9jYXNlIE9QS0dfUEFDS0FHRV9OT1RfSU5TVEFMTEVEOgorKwkJLy8JcGtfYmFja2VuZF9lcnJvcl9jb2RlIChiYWNrZW5kLCBQS19FUlJPUl9FTlVNX1BBQ0tBR0VfTk9UX0lOU1RBTExFRCwgTlVMTCk7CisrCQkvLwlicmVhazsKKyAJCWRlZmF1bHQ6CisgCQkJb3BrZ191bmtub3duX2Vycm9yIChiYWNrZW5kLCBlcnIsICJSZW1vdmUiKTsKKyAJCX0KKy0JCXBrX3BhY2thZ2VfaWRfZnJlZSAocGkpOworKwkJZ19zdHJmcmVldiAocGFydHMpOworIAorIAkJaWYgKGVyciAhPSAwKQorIAkJCWJyZWFrOworQEAgLTU0MCw3ICs1MzksNyBAQAorIAlnaW50IGVycjsKKyAKKyAJLyogRklYTUU6IHN1cHBvcnQgb25seV90cnVzdGVkICovCistCWVyciA9IG9wa2dfdXBncmFkZV9hbGwgKG9wa2csIHBrX29wa2dfcHJvZ3Jlc3NfY2IsIGJhY2tlbmQpOworKwllcnIgPSBvcGtnX3VwZ3JhZGVfYWxsIChwa19vcGtnX3Byb2dyZXNzX2NiLCBiYWNrZW5kKTsKKyAKKyAJaWYgKGVycikKKyAJCW9wa2dfdW5rbm93bl9lcnJvciAoYmFja2VuZCwgZXJyLCAiVXBncmFkaW5nIHN5c3RlbSIpOworQEAgLTU2NCwyOSArNTYzLDI4IEBACisgc3RhdGljIGdib29sZWFuCisgYmFja2VuZF91cGRhdGVfcGFja2FnZV90aHJlYWQgKFBrQmFja2VuZCAqYmFja2VuZCkKKyB7CistCVBrUGFja2FnZUlkICpwaTsKKysgICAgICAgIGdjaGFyICoqcGFydHM7CisgCWdpbnQgZXJyID0gMDsKKyAJY29uc3QgZ2NoYXIgKnBhY2thZ2VfaWQ7CisgCisgCS8qIEZJWE1FOiBzdXBwb3J0IG9ubHlfdHJ1c3RlZCAqLworIAlwYWNrYWdlX2lkID0gcGtfYmFja2VuZF9nZXRfc3RyaW5nIChiYWNrZW5kLCAicGtnaWQiKTsKKy0JcGkgPSBwa19wYWNrYWdlX2lkX25ld19mcm9tX3N0cmluZyAocGFja2FnZV9pZCk7CisrCXBhcnRzID0gcGtfcGFja2FnZV9pZF9zcGxpdCAocGFja2FnZV9pZCk7CisgCistCWlmICghcGktPm5hbWUgfHwgIXBpLT52ZXJzaW9uKQorKwlpZiAoIXBhcnRzKQorIAl7CisgCQlwa19iYWNrZW5kX2Vycm9yX2NvZGUgKGJhY2tlbmQsIFBLX0VSUk9SX0VOVU1fUEFDS0FHRV9OT1RfRk9VTkQsCisgCQkJCSJQYWNrYWdlIG5vdCBmb3VuZCIpOworLQkJcGtfcGFja2FnZV9pZF9mcmVlIChwaSk7CisgCQlwa19iYWNrZW5kX2ZpbmlzaGVkIChiYWNrZW5kKTsKKyAJCXJldHVybiBGQUxTRTsKKyAJfQorIAorLQllcnIgPSBvcGtnX3VwZ3JhZGVfcGFja2FnZSAob3BrZywgcGktPm5hbWUsIHBrX29wa2dfcHJvZ3Jlc3NfY2IsIGJhY2tlbmQpOworKwllcnIgPSBvcGtnX3VwZ3JhZGVfcGFja2FnZSAocGFydHNbUEtfUEFDS0FHRV9JRF9OQU1FXSwgcGtfb3BrZ19wcm9ncmVzc19jYiwgYmFja2VuZCk7CisgCWlmIChlcnIpCisgCQloYW5kbGVfaW5zdGFsbF9lcnJvciAoYmFja2VuZCwgZXJyKTsKKyAKKyAKKy0JcGtfcGFja2FnZV9pZF9mcmVlIChwaSk7CisrCWdfc3RyZnJlZXYgKHBhcnRzKTsKKyAJcGtfYmFja2VuZF9maW5pc2hlZCAoYmFja2VuZCk7CisgCXJldHVybiAoZXJyICE9IDApOworIH0KK0BAIC02MTAsMTMgKzYwOCwxMyBAQAorICAqLworIAorIHN0YXRpYyB2b2lkCistcGtfb3BrZ19saXN0X3VwZ3JhZGFibGVfY2IgKG9wa2dfdCAqX29wa2csIG9wa2dfcGFja2FnZV90ICpwa2csIHZvaWQgKmRhdGEpCisrcGtfb3BrZ19saXN0X3VwZ3JhZGFibGVfY2IgKHBrZ190ICpwa2csIHZvaWQgKmRhdGEpCisgeworLQlQa0JhY2tlbmQgKmJhY2tlbmQgPSBQS19CQUNLRU5EIChkYXRhKTsKKysJUGtCYWNrZW5kICpiYWNrZW5kID0gKFBrQmFja2VuZCopIGRhdGE7CisgCWdjaGFyICp1aWQ7CisgCWdpbnQgc3RhdHVzOworIAorLQlpZiAocGtnLT5pbnN0YWxsZWQpCisrCWlmIChwa2ctPnN0YXRlX3N0YXR1cyA9PSBTU19JTlNUQUxMRUQpCisgCQlzdGF0dXMgPSBQS19JTkZPX0VOVU1fSU5TVEFMTEVEOworIAllbHNlCisgCQlzdGF0dXMgPSBQS19JTkZPX0VOVU1fQVZBSUxBQkxFOworQEAgLTYzMSw3ICs2MjksNyBAQAorIHN0YXRpYyBnYm9vbGVhbgorIGJhY2tlbmRfZ2V0X3VwZGF0ZXNfdGhyZWFkIChQa0JhY2tlbmQgKmJhY2tlbmQpCisgeworLQlvcGtnX2xpc3RfdXBncmFkYWJsZV9wYWNrYWdlcyAob3BrZywgcGtfb3BrZ19saXN0X3VwZ3JhZGFibGVfY2IsIGJhY2tlbmQpOworKwlvcGtnX2xpc3RfdXBncmFkYWJsZV9wYWNrYWdlcyAocGtfb3BrZ19saXN0X3VwZ3JhZGFibGVfY2IsIGJhY2tlbmQpOworIAlwa19iYWNrZW5kX2ZpbmlzaGVkIChiYWNrZW5kKTsKKyAJcmV0dXJuIFRSVUU7CisgfQorQEAgLTY2OCwxNiArNjY2LDE4IEBACisgc3RhdGljIGdib29sZWFuCisgYmFja2VuZF9nZXRfZGV0YWlsc190aHJlYWQgKFBrQmFja2VuZCAqYmFja2VuZCkKKyB7CistCVBrUGFja2FnZUlkICpwaTsKKyAJZ2NoYXIgKipwYWNrYWdlX2lkczsKKysgICAgICAgIGdjaGFyICoqcGFydHM7CisgCWludCBncm91cF9pbmRleDsKKyAJUGtHcm91cEVudW0gZ3JvdXAgPSAwOworLQlvcGtnX3BhY2thZ2VfdCAqcGtnOworKwlwa2dfdCAqcGtnOworIAlnY2hhciAqbmV3aWQ7CisgCisgICAgICAgICBwYWNrYWdlX2lkcyA9IHBrX2JhY2tlbmRfZ2V0X3N0cnYoYmFja2VuZCwgInBhY2thZ2VfaWRzIik7CistCXBpID0gcGtfcGFja2FnZV9pZF9uZXdfZnJvbV9zdHJpbmcgKHBhY2thZ2VfaWRzWzBdKTsKKy0JaWYgKHBpID09IE5VTEwpCisrCXBhcnRzID0gcGtfcGFja2FnZV9pZF9zcGxpdCAocGFja2FnZV9pZHNbMF0pOworKworKworKwlpZiAoIXBhcnRzKQorIAl7CisgCQlwa19iYWNrZW5kX2Vycm9yX2NvZGUgKGJhY2tlbmQsIFBLX0VSUk9SX0VOVU1fUEFDS0FHRV9JRF9JTlZBTElELCAiaW52YWxpZCBwYWNrYWdlIGlkIik7CisgCQlwa19iYWNrZW5kX2ZpbmlzaGVkIChiYWNrZW5kKTsKK0BAIC02ODUsOCArNjg1LDggQEAKKyAJfQorIAorIAorLQlwa2cgPSBvcGtnX2ZpbmRfcGFja2FnZSAob3BrZywgcGktPm5hbWUsIHBpLT52ZXJzaW9uLCBwaS0+YXJjaCwgcGktPmRhdGEpOworLQlwa19wYWNrYWdlX2lkX2ZyZWUgKHBpKTsKKysJcGtnID0gb3BrZ19maW5kX3BhY2thZ2UgKHBhcnRzW1BLX1BBQ0tBR0VfSURfTkFNRV0sIHBhcnRzW1BLX1BBQ0tBR0VfSURfVkVSU0lPTl0sIHBhcnRzW1BLX1BBQ0tBR0VfSURfQVJDSF0sIHBhcnRzW1BLX1BBQ0tBR0VfSURfREFUQV0pOworKwlnX3N0cmZyZWV2IChwYXJ0cyk7CisgCisgCWlmICghcGtnKQorIAl7CitAQCAtNjk1LDcgKzY5NSw3IEBACisgCQlyZXR1cm4gRkFMU0U7CisgCX0KKyAKKy0JbmV3aWQgPSBnX3N0cmR1cF9wcmludGYgKCIlczslczslczslcyIsIHBrZy0+bmFtZSwgcGtnLT52ZXJzaW9uLCBwa2ctPmFyY2hpdGVjdHVyZSwgcGtnLT5yZXBvc2l0b3J5KTsKKysJbmV3aWQgPSBnX3N0cmR1cF9wcmludGYgKCIlczslczslczslcyIsIHBrZy0+bmFtZSwgcGtnLT52ZXJzaW9uLCBwa2ctPmFyY2hpdGVjdHVyZSwgcGtnLT5zcmMtPm5hbWUpOworIAorIAlpZiAocGtnLT50YWdzKSB7CisgCQlmb3IgKGdyb3VwX2luZGV4ID0gMDsgZ3JvdXAgPCBQS19HUk9VUF9FTlVNX0xBU1Q7IGdyb3VwX2luZGV4KyspIHsKK0BAIC03MDYsOSArNzA2LDggQEAKKyAJCX0KKyAJfQorIAorLQlwa19iYWNrZW5kX2RldGFpbHMgKGJhY2tlbmQsIG5ld2lkLCBOVUxMLCBncm91cCwgcGtnLT5kZXNjcmlwdGlvbiwgcGtnLT51cmwsIHBrZy0+c2l6ZSk7CisrCXBrX2JhY2tlbmRfZGV0YWlscyAoYmFja2VuZCwgbmV3aWQsIE5VTEwsIGdyb3VwLCBwa2ctPmRlc2NyaXB0aW9uLCBOVUxMLCBwa2ctPnNpemUpOworIAlnX2ZyZWUgKG5ld2lkKTsKKy0Jb3BrZ19wYWNrYWdlX2ZyZWUocGtnKTsKKyAJcGtfYmFja2VuZF9maW5pc2hlZCAoYmFja2VuZCk7CisgCXJldHVybiBUUlVFOworIH0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BhY2thZ2VraXQvcGFja2FnZWtpdF8wLjUuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BhY2thZ2VraXQvcGFja2FnZWtpdF8wLjUuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNjMzZjI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGFja2FnZWtpdC9wYWNrYWdla2l0XzAuNS42LmJiCkBAIC0wLDAgKzEsNjUgQEAKK1NVTU1BUlkgPSAiUGFja2FnZUtpdCBwYWNrYWdlIG1hbmFnZW1lbnQgYWJzdHJhY3Rpb24iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTC0yLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCitERVBFTkRTID0gImd0aysgcHl0aG9uIHBvbGtpdCBkYnVzIGRidXMtZ2xpYiBnbGliLTIuMCBzcWxpdGUzIG9wa2cgaW50bHRvb2wgaW50bHRvb2wtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAib3BrZyBiYXNoIgorCitpbmhlcml0IGdub21lIHB5dGhvbm5hdGl2ZQorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlL1BhY2thZ2VLaXQvcmVsZWFzZXMvUGFja2FnZUtpdC0ke1BWfS50YXIuYnoyO25hbWU9YXJjaGl2ZSBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmVmaXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vb3BrZ2ZpeGVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG9uLXQtY2FsbC1kZXByZWNhdGVkLWdsaWItZnVuY3Rpb25zLWFuZC11c2UtdGhlLW5ldy5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzM2EzMTI3ZTllZDQxZTI2NjcxNzg2YWVlOWZlNTZmZiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjhkYWU0MTQ5M2RmYjAxMTQ0Mjc0NmQyNTJiMzQzNWJmMzIwNGUxN2JmN2M0N2UzOTZmOTBmYmQyMTUyNjBlMTQiCisKK1MgPSAiJHtXT1JLRElSfS9QYWNrYWdlS2l0LSR7UFZ9IgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tzZXJ2aWNlLXBhY2tzXSA9ICItLWVuYWJsZS1zZXJ2aWNlLXBhY2tzLC0tZGlzYWJsZS1zZXJ2aWNlLXBhY2tzLGxpYmFyY2hpdmUiCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtc2VjdXJpdHktZnJhbWV3b3JrPWR1bW15IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtZGVmYXVsdC1iYWNrZW5kPW9wa2cgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLW9wa2cgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS10ZXN0cyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXJ1Y2sgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1xdCBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWdzdHJlYW1lci1wbHVnaW4gXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1sb2NhbCAgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1uZXR3b3JrbWFuYWdlciBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWRldmljZS1yZWJpbmQgXAorICAgICAgICAgICAgICAgIGFjX2N2X3BhdGhfWE1MVE89bm8gXAorIgorCisjZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisjICAgIG1rZGlyIC1wIG00CisjICAgIGVjaG8gIkVYVFJBX0RJU1Q9IiA+IGd0ay1kb2MubWFrZQorI30KKworZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKyAgICBmb3IgaSBpbiAkKGZpbmQgLiAtbmFtZSBNYWtlZmlsZSkgOyBkbworICAgICAgICBzZWQgLWkgLWUgczoke1NUQUdJTkdfRElSX05BVElWRX06OmcgXAorICAgICAgICAgICAgICAgLWUgczovdXNyL2Jpbi9pbnRsdG9vbC1tZXJnZToke1NUQUdJTkdfQklORElSX05BVElWRX0vaW50bHRvb2wtbWVyZ2U6ZyBcCisgICAgICAgICAgICAgICAkaQorICAgIGRvbmUKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LXdlYnNpdGUiCitGSUxFU18ke1BOfS13ZWJzaXRlID0gIiR7ZGF0YWRpcn0vUGFja2FnZUtpdC93ZWJzaXRlIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tcHl0aG9uIgorRklMRVNfJHtQTn0tcHl0aG9uID0gIiR7bGliZGlyfS9weXRob24qIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tZ3RrbW9kdWxlIgorRklMRVNfJHtQTn0tZ3RrbW9kdWxlID0gIiR7bGliZGlyfS9ndGstMi4wLyovKi5zbyIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9wYWNrYWdla2l0LWJhY2tlbmQvKi5zbyAke2xpYmRpcn0vcG0tdXRpbHMgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzLyAke2RhdGFkaXJ9L1BvbGljeUtpdCAke2RhdGFkaXJ9L1BhY2thZ2VLaXQiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9wYWNrYWdla2l0LWJhY2tlbmQvLmRlYnVnLyouc28gJHtsaWJkaXJ9L2d0ay0yLjAvKi8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9wYWNrYWdla2l0LWJhY2tlbmQvKi5sYSAke2xpYmRpcn0vZ3RrLTIuMC8qLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9wYWNrYWdla2l0LWJhY2tlbmQvKi5hICR7bGliZGlyfS9ndGstMi4wLyovKi5hIgorCisjIFBhY2thZ2VLaXQtMC41LjYvYmFja2VuZHMvb3BrZy9way1iYWNrZW5kLW9wa2cuYzozMToyNjogZmF0YWwgZXJyb3I6IGxpYm9wa2cvb3BrZy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CitQTkJMQUNLTElTVFtwYWNrYWdla2l0XSA/PSAiQlJPS0VOOiBkZXBlbmRzIG9uIG9sZCBkZXByZWNhdGVkIGxpYm9wa2cgd2hpY2ggaXMgY3VycmVudGx5IGRpc2FibGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgc29vbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvaXBjLXJ1bl8wLjk0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9pcGMtcnVuXzAuOTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjYwNTRhMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvaXBjLXJ1bl8wLjk0LmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OID0gIlwKK0lQQzo6UnVuIGFsbG93cyB5b3UgcnVuIGFuZCBpbnRlcmFjdCB3aXRoIGNoaWxkIHByb2Nlc3NlcyBcCit1c2luZyBmaWxlcywgcGlwZXMsIGFuZCBwc2V1ZG8tdHR5cy4gQm90aCBzeXN0ZW0oKS1zdHlsZSBhbmQgc2NyaXB0ZWQgXAordXNhZ2VzIGFyZSBzdXBwb3J0ZWQgYW5kIG1heSBiZSBtaXhlZC4gTGlrZXdpc2UsIGZ1bmN0aW9uYWwgYW5kIE9PIEFQSSBcCitzdHlsZXMgYXJlIGJvdGggc3VwcG9ydGVkIGFuZCBtYXkgYmUgbWl4ZWQuIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTBlYmQzN2NhZjUzNzgxZThiNzIyM2U2Yjk5YjYzZjRlIgorREVQRU5EUyA9ICJwZXJsIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdG9kZHIvSVBDLVJ1bi5naXQiCitTUkNSRVYgPSAiNmJkZjQxZTI3NmUwNmQyM2UxNDA3ODNiMTNhNmVhZWY0NzQ1YzIxNiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjcGFuCisKK0VYVFJBX0NQQU5GTEFHUyA9ICJFWFBBVExJQlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0gRVhQQVRJTkNQQVRIPSR7U1RBR0lOR19JTkNESVJ9IgorCitkb19jb21waWxlKCkgeworICAgIGV4cG9ydCBMSUJDPSIkKGZpbmQgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9LyAtbmFtZSAnbGliYy0qLnNvJykiCisgICAgY3Bhbl9kb19jb21waWxlCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmlvLXB0eS1wZXJsXzEuMTIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmlvLXB0eS1wZXJsXzEuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjFhOTVlNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliaW8tcHR5LXBlcmxfMS4xMi5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlBlcmwgbW9kdWxlIGZvciBwc2V1ZG8gdHR5IElPIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL01FVEEueW1sO2JlZ2lubGluZT0xMTtlbmRsaW5lPTEyO21kNT1iMjU2MmY5NDkwN2VlYjQyZThjZTlkNDVmNjI4ZTU4NyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmNwYW4ub3JnL21vZHVsZXMvYnktbW9kdWxlL0lPL0lPLVR0eS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxMTY5NWExYTUxNmIzYmQxYjkwY2U3NWZmMGNlM2U2ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhMmVmODc3MGQzMzA5MTc4MjAzZjhjOGFjMjVlNjIzZTYzY2Y3NmU5NzgzMGZkM2JlMjgwYWRlMWE1NTUyOTBkIgorCitTID0gIiR7V09SS0RJUn0vSU8tVHR5LSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGVybC92ZW5kb3JfcGVybC8qL2F1dG8vSU8vVHR5Ly5kZWJ1Zy8iCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAtNS42LjE4L2NoYW5nZS1BQ19UUllfUlVOLXRvLUFDX1RSWV9MSU5LLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC01LjYuMTgvY2hhbmdlLUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTksucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzljMzM0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAtNS42LjE4L2NoYW5nZS1BQ19UUllfUlVOLXRvLUFDX1RSWV9MSU5LLnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAKK1tQQVRDSF0gY29uZmlnLm00OiBjaGFuZ2UgQUNfVFJZX1JVTiB0byBBQ19UUllfTElOSworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworQUNfVFJZX1JVTiBpcyBub3Qgc3VpdGFibGUgZm9yIGNyb3NzLWNvbXBpbGUKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgZXh0L2ZpbGVpbmZvL2NvbmZpZy5tNCB8IDMxICsrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2V4dC9maWxlaW5mby9jb25maWcubTQgYi9leHQvZmlsZWluZm8vY29uZmlnLm00CitpbmRleCA3ZTk4ZDYyLi44YThlYTBlIDEwMDY0NAorLS0tIGEvZXh0L2ZpbGVpbmZvL2NvbmZpZy5tNAorKysrIGIvZXh0L2ZpbGVpbmZvL2NvbmZpZy5tNAorQEAgLTE0LDMxICsxNCwxMiBAQCBpZiB0ZXN0ICIkUEhQX0ZJTEVJTkZPIiAhPSAibm8iOyB0aGVuCisgICAgIGxpYm1hZ2ljL3JlYWRjZGYuYyBsaWJtYWdpYy9zb2Z0bWFnaWMuYyIKKyAKKyAgIEFDX01TR19DSEVDS0lORyhbZm9yIHN0cmNhc2VzdHJdKQorLSAgQUNfVFJZX1JVTihbCistI2luY2x1ZGUgPHN0cmluZy5oPgorLSNpbmNsdWRlIDxzdHJpbmdzLmg+CistI2luY2x1ZGUgPHN0ZGxpYi5oPgorLQorLWludCBtYWluKHZvaWQpCisteworLSAgICAgICAgY2hhciAqczAsICpzMSwgKnJldDsKKy0KKy0gICAgICAgIHMwID0gKGNoYXIgKikgbWFsbG9jKDQyKTsKKy0gICAgICAgIHMxID0gKGNoYXIgKikgbWFsbG9jKDgpOworLQorLSAgICAgICAgbWVtc2V0KHMwLCAnWCcsIDQyKTsKKy0gICAgICAgIHMwWzI0XSA9ICdZJzsKKy0gICAgICAgIHMwWzI2XSA9ICdaJzsKKy0gICAgICAgIHMwWzQxXSA9ICdcMCc7CistICAgICAgICBtZW1zZXQoczEsICd4JywgOCk7CistICAgICAgICBzMVswXSA9ICd5JzsKKy0gICAgICAgIHMxWzJdID0gJ1onOworLSAgICAgICAgczFbN10gPSAnXDAnOworLQorLSAgICAgICAgcmV0ID0gc3RyY2FzZXN0cihzMCwgczEpOworLQorLSAgICAgICAgcmV0dXJuICEoTlVMTCAhPSByZXQpOworLX0KKysgIEFDX1RSWV9DT01QSUxFKFsKKysgICAgICNpbmNsdWRlIDxzdHJpbmcuaD4KKysgICAgICNpbmNsdWRlIDxzdHJpbmdzLmg+CisrICAgICAjaW5jbHVkZSA8c3RkbGliLmg+CisrICBdLFsKKysgICAgIHN0cmNhc2VzdHIoTlVMTCwgTlVMTCk7CisgICBdLFsKKyAgICAgZG5sIHVzaW5nIHRoZSBwbGF0Zm9ybSBpbXBsZW1lbnRhdGlvbgorICAgICBBQ19NU0dfUkVTVUxUKHllcykKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTdhMTQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC5pbmMKQEAgLTAsMCArMSwyNzIgQEAKK1NVTU1BUlkgPSAiQSBzZXJ2ZXItc2lkZSwgSFRNTC1lbWJlZGRlZCBzY3JpcHRpbmcgbGFuZ3VhZ2UiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnBocC5uZXQiCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKKworTElDRU5TRSA9ICJQSFAtMy4wIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK0RFUEVORFMgPSAiemxpYiBiemlwMiBsaWJ4bWwyIHZpcnR1YWwvbGliaWNvbnYgcGhwLW5hdGl2ZSBsZW1vbi1uYXRpdmUgXAorICAgICAgICAgICBvcGVuc3NsIGxpYm1jcnlwdCIKK0RFUEVORFNfY2xhc3MtbmF0aXZlID0gInpsaWItbmF0aXZlIGxpYnhtbDItbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHA6Ly9waHAubmV0L2Rpc3RyaWJ1dGlvbnMvcGhwLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vYWNpbmNsdWRlLXhtbDItY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcGhwLWRvbi10LXVzZS1icm9rZW4td3JhcHBlci1mb3ItbWtkaXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hY2luY2x1ZGUtdXNlLXBrZ2NvbmZpZy1mb3ItbGlieG1sMi1jb25maWcucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ICs9ICIgXAorICAgICAgICAgICAgZmlsZTovL2ljb252LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9pbWFwLWZpeC1hdXRvZm9vLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9wZWFyLW1ha2VmaWxlLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9waGFyLW1ha2VmaWxlLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9waHBfZXhlY19uYXRpdmUucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3BocC1mcG0uY29uZiBcCisgICAgICAgICAgICBmaWxlOi8vcGhwLWZwbS1hcGFjaGUuY29uZiBcCisgICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9wdGhyZWFkLWNoZWNrLXRocmVhZHMtbTQucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzcwX21vZF9waHA1LmNvbmYgXAorICAgICAgICAgICAgZmlsZTovL3BocC1mcG0uc2VydmljZSBcCisgICAgICAgICAgIgorUyA9ICIke1dPUktESVJ9L3BocC0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHB5dGhvbm5hdGl2ZSBnZXR0ZXh0CisKKyMgcGhwaXplIGlzIG5vdCBzY2FubmVkIGZvciBhYnNvbHV0ZSBwYXRocyBieSBkZWZhdWx0IChidXQgcGhwLWNvbmZpZyBpcykuCisjCitTU1RBVEVfU0NBTl9GSUxFUyArPSAicGhwaXplIgorU1NUQVRFX1NDQU5fRklMRVMgKz0gImJ1aWxkLWRlZnMuaCIKKworUEhQX0xJQkRJUiA9ICIke2xpYmRpcn0vcGhwNSIKKworIyBDb21tb24gRVhUUkFfT0VDT05GCitDT01NT05fRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXNvY2tldHMgXAorICAgICAgICAgICAgICAgICAgICAgICAtLWVuYWJsZS1wY250bCBcCisgICAgICAgICAgICAgICAgICAgICAgIC0tZW5hYmxlLXNoYXJlZCBcCisgICAgICAgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1vcGNhY2hlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXJwYXRoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS13aXRoLXBpYyBcCisgICAgICAgICAgICAgICAgICAgICAgIC0tbGliZGlyPSR7UEhQX0xJQkRJUn0gXAorIgorRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLW1ic3RyaW5nIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS13ZGR4IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1mcG0gXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXppcCBcCisgICAgICAgICAgICAgICAgLS13aXRoLWxpYmRpcj0ke2Jhc2VsaWJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtZ2V0dGV4dD0ke1NUQUdJTkdfTElCRElSfS8uLiBcCisgICAgICAgICAgICAgICAgLS13aXRoLXpsaWI9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAorICAgICAgICAgICAgICAgIC0td2l0aC1pY29udj0ke1NUQUdJTkdfTElCRElSfS8uLiBcCisgICAgICAgICAgICAgICAgLS13aXRoLW1jcnlwdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2V4ZWNfcHJlZml4fSBcCisgICAgICAgICAgICAgICAgLS13aXRoLWJ6Mj0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2V4ZWNfcHJlZml4fSBcCisgICAgICAgICAgICAgICAgLS13aXRoLWNvbmZpZy1maWxlLXBhdGg9JHtzeXNjb25mZGlyfS9waHAvYXBhY2hlMi1waHA1IFwKKyAgICAgICAgICAgICAgICAke0BiYXNlX2NvbmRpdGlvbmFsKCdTSVRFSU5GT19FTkRJQU5ORVNTJywgJ2xlJywgJ2FjX2N2X2NfYmlnZW5kaWFuX3BocD1ubycsICdhY19jdl9jX2JpZ2VuZGlhbl9waHA9eWVzJywgZCl9IFwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwYW0nLCAnJywgJ2FjX2N2X2xpYl9wYW1fcGFtX3N0YXJ0PW5vJywgZCl9IFwKKyAgICAgICAgICAgICAgICAke0NPTU1PTl9FWFRSQV9PRUNPTkZ9IFwKKyIKK0VYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtemxpYj0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vLi4gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1pY29udiBcCisgICAgICAgICAgICAgICAgJHtDT01NT05fRVhUUkFfT0VDT05GfSBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJteXNxbCBzcWxpdGUzIGltYXAgXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCisKK1BBQ0tBR0VDT05GSUdbbXlzcWxdID0gIi0td2l0aC1teXNxbD0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke3ByZWZpeH0gXAorICAgICAgICAgICAgICAgICAgICAgICAgLS13aXRoLW15c3FsaT0ke1NUQUdJTkdfQklORElSX0NST1NTfS9teXNxbF9jb25maWcgXAorICAgICAgICAgICAgICAgICAgICAgICAgLS13aXRoLXBkby1teXNxbD0ke1NUQUdJTkdfQklORElSX0NST1NTfS9teXNxbF9jb25maWcgXAorICAgICAgICAgICAgICAgICAgICAgICAgLC0td2l0aG91dC1teXNxbCAtLXdpdGhvdXQtbXlzcWxpIC0td2l0aG91dC1wZG8tbXlzcWwgXAorICAgICAgICAgICAgICAgICAgICAgICAgLG15c3FsNSIKKworUEFDS0FHRUNPTkZJR1tzcWxpdGUzXSA9ICItLXdpdGgtc3FsaXRlMz0ke1NUQUdJTkdfTElCRElSfS8uLiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIC0td2l0aC1wZG8tc3FsaXRlPSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICxzcWxpdGUzIgorUEFDS0FHRUNPTkZJR1twZ3NxbF0gPSAiLS13aXRoLXBnc3FsPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9LC0td2l0aG91dC1wZ3NxbCxwb3N0Z3Jlc3FsIgorUEFDS0FHRUNPTkZJR1tzb2FwXSA9ICItLWVuYWJsZS1saWJ4bWwgLS1lbmFibGUtc29hcCwgLS1kaXNhYmxlLXNvYXAsIGxpYnhtbDIiCitQQUNLQUdFQ09ORklHW2FwYWNoZTJdID0gIi0td2l0aC1hcHhzMj0ke1NUQUdJTkdfQklORElSX0NST1NTfS9hcHhzLCxhcGFjaGUyLW5hdGl2ZSBhcGFjaGUyIgorUEFDS0FHRUNPTkZJR1twYW1dID0gIiwsbGlicGFtIgorUEFDS0FHRUNPTkZJR1tpbWFwXSA9ICItLXdpdGgtaW1hcD0ke1NUQUdJTkdfRElSX0hPU1R9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS13aXRoLWltYXAtc3NsPSR7U1RBR0lOR19ESVJfSE9TVH0gXAorICAgICAgICAgICAgICAgICAgICAgICAsLS13aXRob3V0LWltYXAgLS13aXRob3V0LWltYXAtc3NsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLHV3LWltYXAiCisKKworZXhwb3J0IFBIUF9OQVRJVkVfRElSID0gIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfSIKK2V4cG9ydCBQSFBfUEVBUl9QSFBfQklOID0gIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9waHAiCitDRkxBR1MgKz0gIiAtRF9HTlVfU09VUkNFIC1nIC1EUFRZU19BUkVfR0VUUFQgLURQVFlTX0FSRV9TRUFSQ0hFRCAtSSR7U1RBR0lOR19JTkNESVJ9L2FwYWNoZTIiCitDRkxBR1NfYXBwZW5kX2FhcmNoNjQgPSAiIC1PMiIKKworRVhUUkFfT0VNQUtFID0gIklOU1RBTExfUk9PVD0ke0R9IgorCithY3BhdGhzID0gIiIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIHJtIC1mICR7U30vYnVpbGQvbGlidG9vbC5tNCAke1N9L2x0bWFpbi5zaCAke1N9L2FjbG9jYWwubTQKKyAgICBmaW5kICR7U30gLW5hbWUgY29uZmlnLm00IHwgeGFyZ3MgLW4xIHNlZCAtaSAncyFBUFhTX0hUVFBEPS4qIUFQWFNfSFRUUEQ9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2h0dHBkIScKK30KKworZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKyAgICAjIE5vLCBsaWJ0b29sLCB3ZSByZWFsbHkgZG9uJ3Qgd2FudCBycGF0aCBzZXQuLi4KKyAgICBzZWQgLWkgJ3N8XmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Lip8aGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0iInxnJyAke0hPU1RfU1lTfS1saWJ0b29sCisgICAgc2VkIC1pICdzfF5ydW5wYXRoX3Zhcj1MRF9SVU5fUEFUSHxydW5wYXRoX3Zhcj1ESUVfUlBBVEhfRElFfGcnICR7SE9TVF9TWVN9LWxpYnRvb2wKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgIHJtIC1yZiAke0R9LyR7UEhQX0xJQkRJUn0vcGhwLy5yZWdpc3RyeQorICAgIHJtIC1yZiAke0R9LyR7UEhQX0xJQkRJUn0vcGhwLy5jaGFubmVscworICAgIHJtIC1yZiAke0R9LyR7UEhQX0xJQkRJUn0vcGhwLy5bYS16XSoKK30KKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgIGNhdCBhY2xvY2FsLWNvcHkvbGlidG9vbC5tNCBhY2xvY2FsLWNvcHkvbHR+b2Jzb2xldGUubTQgYWNsb2NhbC1jb3B5L2x0b3B0aW9ucy5tNCBcCisgICAgICAgIGFjbG9jYWwtY29weS9sdHN1Z2FyLm00IGFjbG9jYWwtY29weS9sdHZlcnNpb24ubTQgPiAke1N9L2J1aWxkL2xpYnRvb2wubTQKK30KKworZG9faW5zdGFsbF9wcmVwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdhcGFjaGUyJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgIyBJbnN0YWxsIGR1bW15IGNvbmZpZyBmaWxlIHNvIGFweHMgZG9lc24ndCBmYWlsCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vYXBhY2hlMgorICAgICAgICBwcmludGYgIlxuTG9hZE1vZHVsZSBkdW1teV9tb2R1bGUgbW9kdWxlcy9tb2RfZHVtbXkuc29cbiIgPiAke0R9JHtzeXNjb25mZGlyfS9hcGFjaGUyL2h0dHBkLmNvbmYKKyAgICBmaQorfQorCisjIGZpeG1lCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vCisgICAgaWYgWyAtZCAke0R9LyR7U1RBR0lOR19ESVJfTkFUSVZFfS8ke3N5c2NvbmZkaXJ9IF07dGhlbgorICAgICAgICAgbXYgJHtEfS8ke1NUQUdJTkdfRElSX05BVElWRX0vJHtzeXNjb25mZGlyfS8qICR7RH0vJHtzeXNjb25mZGlyfS8KKyAgICBmaQorICAgIHJtIC1yZiAke0R9LyR7VE1QRElSfQorICAgIHJtIC1yZiAke0R9Ly5yZWdpc3RyeQorICAgIHJtIC1yZiAke0R9Ly5jaGFubmVscworICAgIHJtIC1yZiAke0R9Ly5bYS16XSoKKyAgICBybSAtcmYgJHtEfS92YXIKKyAgICBybSAtZiAgJHtEfS8ke3N5c2NvbmZkaXJ9L3BocC1mcG0uY29uZi5kZWZhdWx0CisgICAgc2VkIC1pICdzOiR7U1RBR0lOR19ESVJfTkFUSVZFfTo6ZycgJHtEfS8ke3N5c2NvbmZkaXJ9L3BlYXIuY29uZgorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3BocC1mcG0uY29uZiAke0R9LyR7c3lzY29uZmRpcn0vcGhwLWZwbS5jb25mCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vYXBhY2hlMi9jb25mLmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9waHAtZnBtLWFwYWNoZS5jb25mICR7RH0vJHtzeXNjb25mZGlyfS9hcGFjaGUyL2NvbmYuZC9waHAtZnBtLmNvbmYKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIHNlZCAtaSAnczo9L3Vzci9zYmluOj0ke3NiaW5kaXJ9OmcnICR7Qn0vc2FwaS9mcG0vaW5pdC5kLnBocC1mcG0KKyAgICBzZWQgLWkgJ3M6PS9ldGM6PSR7c3lzY29uZmRpcn06ZycgJHtCfS9zYXBpL2ZwbS9pbml0LmQucGhwLWZwbQorICAgIHNlZCAtaSAnczo9L3Zhcjo9JHtsb2NhbHN0YXRlZGlyfTpnJyAke0J9L3NhcGkvZnBtL2luaXQuZC5waHAtZnBtCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vc2FwaS9mcG0vaW5pdC5kLnBocC1mcG0gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3BocC1mcG0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9waHAtZnBtLWFwYWNoZS5jb25mICR7RH0vJHtzeXNjb25mZGlyfS9hcGFjaGUyL2NvbmYuZC9waHAtZnBtLmNvbmYKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07dGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3BocC1mcG0uc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICAgICAgc2VkIC1pIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKKyAgICAgICAgICAgIC1lICdzLEBMT0NBTFNUQVRFRElSQCwke2xvY2Fsc3RhdGVkaXJ9LGcnIFwKKyAgICAgICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3BocC1mcG0uc2VydmljZQorICAgIGZpCisKKyAgICBUTVA9YGRpcm5hbWUgJHtEfS8ke1RNUERJUn1gCisgICAgd2hpbGUgdGVzdCAke1RNUH0gIT0gJHtEfTsgZG8KKyAgICAgICAgaWYgWyAtZCAke1RNUH0gXTsgdGhlbgorICAgICAgICAgICAgcm1kaXIgJHtUTVB9CisgICAgICAgIGZpCisgICAgICAgIFRNUD1gZGlybmFtZSAke1RNUH1gOworICAgIGRvbmUKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2FwYWNoZTInLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vYXBhY2hlMi9tb2R1bGVzCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vYXBhY2hlMi9tb2R1bGVzLmQKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9waHAvYXBhY2hlMi1waHA1CisgICAgICAgIGluc3RhbGwgLW0gNzU1ICBsaWJzL2xpYnBocDUuc28gJHtEfSR7bGliZGlyfS9hcGFjaGUyL21vZHVsZXMKKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgICR7V09SS0RJUn0vNzBfbW9kX3BocDUuY29uZiAke0R9JHtzeXNjb25mZGlyfS9hcGFjaGUyL21vZHVsZXMuZAorICAgICAgICBzZWQgLWkgcyxsaWIvLCR7bGliZGlyfS8sICR7RH0ke3N5c2NvbmZkaXJ9L2FwYWNoZTIvbW9kdWxlcy5kLzcwX21vZF9waHA1LmNvbmYKKyAgICAgICAgY2F0ICR7U30vcGhwLmluaS1wcm9kdWN0aW9uIHwgXAorICAgICAgICAgICAgc2VkIC1lICdzLGV4dGVuc2lvbl9kaXIgPSBcIlwuL1wiLGV4dGVuc2lvbl9kaXIgPSBcIi91c3IvbGliL2V4dGVuc2lvbnNcIiwnIFwKKyAgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vcGhwL2FwYWNoZTItcGhwNS9waHAuaW5pCisgICAgICAgIHJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L2FwYWNoZTIvaHR0cGQuY29uZioKKyAgICBmaQorfQorCitTWVNST09UX1BSRVBST0NFU1NfRlVOQ1MgKz0gInBocF9zeXNyb290X3ByZXByb2Nlc3MiCisKK3BocF9zeXNyb290X3ByZXByb2Nlc3MgKCkgeworICAgIGluc3RhbGwgLWQgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS8KKyAgICBpbnN0YWxsIC1tIDc1NSAke0R9JHtiaW5kaXJ9L3BocGl6ZSAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworICAgIGluc3RhbGwgLW0gNzU1ICR7RH0ke2JpbmRpcn0vcGhwLWNvbmZpZyAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworCisgICAgc2VkIC1pICdzIWV2YWwgZWNobyAvIWV2YWwgZWNobyAke1NUQUdJTkdfRElSX0hPU1R9LyEnICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vcGhwaXplCisgICAgc2VkIC1pICdzIV5pbmNsdWRlX2Rpcj0uKiFpbmNsdWRlX2Rpcj0ke1NUQUdJTkdfSU5DRElSfS9waHAhJyAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9L3BocC1jb25maWcKK30KKworTU9EUEhQX1BBQ0tBR0UgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYXBhY2hlMicsICcke1BOfS1tb2RwaHAnLCAnJywgZCl9IgorCitQQUNLQUdFUyA9ICIke1BOfS1kYmcgJHtQTn0tY2xpICR7UE59LWNnaSAke1BOfS1mcG0gJHtQTn0tZnBtLWFwYWNoZTIgJHtQTn0tcGVhciAke1BOfS1waGFyICR7TU9EUEhQX1BBQ0tBR0V9ICR7UE59LWRldiAke1BOfS1zdGF0aWNkZXYgJHtQTn0tZG9jICR7UE59IgorCitSREVQRU5EU18ke1BOfS1wZWFyID0gIiR7UE59IgorUkRFUEVORFNfJHtQTn0tcGhhciA9ICIke1BOfS1jbGkiCitSREVQRU5EU18ke1BOfS1jbGkgPSAiJHtQTn0iCitSREVQRU5EU18ke1BOfS1tb2RwaHAgPSAiJHtQTn0gYXBhY2hlMiIKK1JERVBFTkRTXyR7UE59LWRldiA9ICIke1BOfSIKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1mcG0iCitpbmhlcml0IHVwZGF0ZS1yYy5kCisKK0ZJTEVTXyR7UE59LWRiZyA9KyAiJHtiaW5kaXJ9Ly5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9hcGFjaGUyL21vZHVsZXMvLmRlYnVnIgorRklMRVNfJHtQTn0tZG9jICs9ICIke1BIUF9MSUJESVJ9L3BocC9kb2MiCitGSUxFU18ke1BOfS1jbGkgPSAiJHtiaW5kaXJ9L3BocCIKK0ZJTEVTXyR7UE59LXBoYXIgPSAiJHtiaW5kaXJ9L3BoYXIqIgorRklMRVNfJHtQTn0tY2dpID0gIiR7YmluZGlyfS9waHAtY2dpIgorRklMRVNfJHtQTn0tZnBtID0gIiR7c2JpbmRpcn0vcGhwLWZwbSAke3N5c2NvbmZkaXJ9L3BocC1mcG0uY29uZiAke2RhdGFkaXJ9L2ZwbSAke3N5c2NvbmZkaXJ9L2luaXQuZC9waHAtZnBtICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcGhwLWZwbS5zZXJ2aWNlIgorRklMRVNfJHtQTn0tZnBtLWFwYWNoZTIgPSAiJHtzeXNjb25mZGlyfS9hcGFjaGUyL2NvbmYuZC9waHAtZnBtLmNvbmYiCitDT05GRklMRVNfJHtQTn0tZnBtID0gIiR7c3lzY29uZmRpcn0vcGhwLWZwbS5jb25mIgorQ09ORkZJTEVTXyR7UE59LWZwbS1hcGFjaGUyID0gIiR7c3lzY29uZmRpcn0vYXBhY2hlMi9jb25mLmQvcGhwLWZwbS5jb25mIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LWZwbSA9ICJwaHAtZnBtIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0tZnBtID0gImRlZmF1bHRzIDYwIgorRklMRVNfJHtQTn0tcGVhciA9ICIke2JpbmRpcn0vcGVhciogJHtiaW5kaXJ9L3BlY2wgJHtQSFBfTElCRElSfS9waHAvUEVBUiBcCisgICAgICAgICAgICAgICAgJHtQSFBfTElCRElSfS9waHAvUEVBUioucGhwICR7UEhQX0xJQkRJUn0vcGhwL1N5c3RlbS5waHAgXAorICAgICAgICAgICAgICAgICR7UEhQX0xJQkRJUn0vcGhwL3BlY2xjbWQucGhwICR7UEhQX0xJQkRJUn0vcGhwL3BlYXJjbWQucGhwIFwKKyAgICAgICAgICAgICAgICAke1BIUF9MSUJESVJ9L3BocC8uY2hhbm5lbHMgJHtQSFBfTElCRElSfS9waHAvLmNoYW5uZWxzLy5hbGlhcyBcCisgICAgICAgICAgICAgICAgJHtQSFBfTElCRElSfS9waHAvLnJlZ2lzdHJ5ICR7UEhQX0xJQkRJUn0vcGhwL0FyY2hpdmUvVGFyLnBocCBcCisgICAgICAgICAgICAgICAgJHtQSFBfTElCRElSfS9waHAvQ29uc29sZS9HZXRvcHQucGhwICR7UEhQX0xJQkRJUn0vcGhwL09TL0d1ZXNzLnBocCBcCisgICAgICAgICAgICAgICAgJHtQSFBfTElCRElSfS9waHAvZGF0YS9QRUFSIFwKKyAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3BlYXIuY29uZiIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9L3BocCAke1BIUF9MSUJESVJ9L2J1aWxkICR7YmluZGlyfS9waHBpemUgXAorICAgICAgICAgICAgICAgICR7YmluZGlyfS9waHAtY29uZmlnICR7UEhQX0xJQkRJUn0vcGhwLy5kZXBkYiBcCisgICAgICAgICAgICAgICAgJHtQSFBfTElCRElSfS9waHAvLmRlcGRibG9jayAke1BIUF9MSUJESVJ9L3BocC8uZmlsZW1hcCBcCisgICAgICAgICAgICAgICAgJHtQSFBfTElCRElSfS9waHAvLmxvY2sgJHtQSFBfTElCRElSfS9waHAvdGVzdCIKK0ZJTEVTXyR7UE59ID0gIiR7UEhQX0xJQkRJUn0vcGhwIgorRklMRVNfJHtQTn0gKz0gIiR7YmluZGlyfSIKKworU1VNTUFSWV8ke1BOfS1tb2RwaHAgPSAiUEhQIG1vZHVsZSBmb3IgdGhlIEFwYWNoZSBIVFRQIHNlcnZlciIKK0ZJTEVTXyR7UE59LW1vZHBocCA9ICIke2xpYmRpcn0vYXBhY2hlMiAke3N5c2NvbmZkaXJ9IgorCitNT0RQSFBfT0xEUEFDS0FHRSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdhcGFjaGUyJywgJ21vZHBocCcsICcnLCBkKX0iCitSUFJPVklERVNfJHtQTn0tbW9kcGhwID0gIiR7TU9EUEhQX09MRFBBQ0tBR0V9IgorUlJFUExBQ0VTXyR7UE59LW1vZHBocCA9ICIke01PRFBIUF9PTERQQUNLQUdFfSIKK1JDT05GTElDVFNfJHtQTn0tbW9kcGhwID0gIiR7TU9EUEhQX09MRFBBQ0tBR0V9IgorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9waHAgXAorICAgICAgICBQSFBfUEVBUl9TWVNDT05GX0RJUj0ke3N5c2NvbmZkaXJ9LworfQorCitTU1RBVEVQT1NUSU5TVEZVTkNTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIHBocF9zc3RhdGVfcG9zdGluc3QgIgorCitwaHBfc3N0YXRlX3Bvc3RpbnN0KCkgeworICAgIGlmIFsgIiR7QkJfQ1VSUkVOVFRBU0t9IiA9ICJwb3B1bGF0ZV9zeXNyb290X3NldHNjZW5lIiBdCisgICAgdGhlbgorICAgICAgICBoZWFkIC1uMSAke3N5c2NvbmZkaXJ9L3BlYXIuY29uZiA+ICR7c3lzY29uZmRpcn0vcGVhci50bXAuY29uZgorICAgICAgICBmb3IgcCBpbiBgdGFpbCAtbjEgICR7c3lzY29uZmRpcn0vcGVhci5jb25mIHwgc2VkIC1zICdzLzsvIC9nJ2A7IGRvCisgICAgICAgICAgICBlY2hvICRwIHwgYXdrIC1GOiAnQkVHSU4ge09GUyA9ICI6IjsgT1JTID0gIjsifXtpZihORj09Myl7cHJpbnQgJDEsIGxlbmd0aCgkMyktMiptYXRjaCgkMywgL14iLyksICQzfSBlbHNlIHtwcmludCAkMH19JzsKKyAgICAgICAgZG9uZSA+PiAke3N5c2NvbmZkaXJ9L3BlYXIudG1wLmNvbmYKKyAgICAgICAgbXYgLWYgJHtzeXNjb25mZGlyfS9wZWFyLnRtcC5jb25mICR7c3lzY29uZmRpcn0vcGVhci5jb25mCisgICAgZmkKK30KKworIyBGYWlscyB0byBidWlsZCB3aXRoIHRodW1iLTEgKHFlbXVhcm0pCisjIHwge3N0YW5kYXJkIGlucHV0fTogQXNzZW1ibGVyIG1lc3NhZ2VzOgorIyB8IHtzdGFuZGFyZCBpbnB1dH06MzcxOTogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYHNtdWxsIHIwLHIyLHI5LHIzJworIyB8IHtzdGFuZGFyZCBpbnB1dH06MzcyMDogRXJyb3I6IHVuc2hpZnRlZCByZWdpc3RlciByZXF1aXJlZCAtLSBgc3ViIHIyLHIyLHIwLGFzciMzMScKKyMgfCB7c3RhbmRhcmQgaW5wdXR9OjM3OTY6IEVycm9yOiBzZWxlY3RlZCBwcm9jZXNzb3IgZG9lcyBub3Qgc3VwcG9ydCBUaHVtYiBtb2RlIGBzbXVsbCByMCxyMixyMyxyMycKKyMgfCB7c3RhbmRhcmQgaW5wdXR9OjM3OTc6IEVycm9yOiB1bnNoaWZ0ZWQgcmVnaXN0ZXIgcmVxdWlyZWQgLS0gYHN1YiByMixyMixyMCxhc3IjMzEnCisjIHwgbWFrZTogKioqIFtleHQvc3RhbmRhcmQvbWF0aC5sb10gRXJyb3IgMQorQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtYWNpbmNsdWRlLXVzZS1wa2djb25maWctZm9yLWxpYnhtbDItY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLWFjaW5jbHVkZS11c2UtcGtnY29uZmlnLWZvci1saWJ4bWwyLWNvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MWE1ZTQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLWFjaW5jbHVkZS11c2UtcGtnY29uZmlnLWZvci1saWJ4bWwyLWNvbmZpZy5wYXRjaApAQCAtMCwwICsxLDkwIEBACitGcm9tIDAwM2M5ZmVhYWU2ZWQ1YzE3M2VkY2VhNTExOTNlNDliYzk0YWMzOWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW4ua29vaUBsaW5hcm8ub3JnPgorRGF0ZTogVHVlLCAxNyBKdW4gMjAxNCAwOTo1MzowMCArMDIwMAorU3ViamVjdDogW1BBVENIIDMvOF0gYWNpbmNsdWRlOiB1c2UgcGtnY29uZmlnIGZvciBsaWJ4bWwyIGNvbmZpZworCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW4ua29vaUBsaW5hcm8ub3JnPgorVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCistLS0KKyBhY2luY2x1ZGUubTQgfCA2MyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hY2luY2x1ZGUubTQgYi9hY2luY2x1ZGUubTQKK2luZGV4IDIwNmZjYmYuLmE2YzBkODQgMTAwNjQ0CistLS0gYS9hY2luY2x1ZGUubTQKKysrKyBiL2FjaW5jbHVkZS5tNAorQEAgLTI1MzAsNDggKzI1MzAsMzEgQEAgZG5sCisgZG5sIENvbW1vbiBzZXR1cCBtYWNybyBmb3IgbGlieG1sCisgZG5sCisgQUNfREVGVU4oW1BIUF9TRVRVUF9MSUJYTUxdLCBbCistQUNfQ0FDSEVfQ0hFQ0soW2ZvciB4bWwyLWNvbmZpZyBwYXRoXSwgYWNfY3ZfcGhwX3htbDJfY29uZmlnX3BhdGgsCistWworLQorLSAgICAgIGFjX2N2X3BocF94bWwyX2NvbmZpZ19wYXRoPSIkUEhQX0xJQlhNTF9ESVIveG1sMi1jb25maWciCistCisrUEtHX0NIRUNLX01PRFVMRVMoW0xJQlhNTF0sIFtsaWJ4bWwtMi4wID4gMi42LjExXSwgWworKyAgUEhQX0VWQUxfTElCTElORSgkTElCWE1MX0xJQlMsICQxKQorKyAgUEhQX0VWQUxfSU5DTElORSgkTElCWE1MX0NGTEFHUykKKysKKysgIGRubCBDaGVjayB0aGF0IGJ1aWxkIHdvcmtzIHdpdGggZ2l2ZW4gbGlicworKyAgQUNfQ0FDSEVfQ0hFQ0sod2hldGhlciBsaWJ4bWwgYnVpbGQgd29ya3MsIHBocF9jdl9saWJ4bWxfYnVpbGRfd29ya3MsIFsKKysgICAgUEhQX1RFU1RfQlVJTEQoeG1sSW5pdFBhcnNlciwKKysgICAgWworKyAgICAgIHBocF9jdl9saWJ4bWxfYnVpbGRfd29ya3M9eWVzCisrICAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCisrICAgIF0sIFsKKysgICAgICBBQ19NU0dfUkVTVUxUKG5vKQorKyAgICAgIEFDX01TR19FUlJPUihbYnVpbGQgdGVzdCBmYWlsZWQuICBQbGVhc2UgY2hlY2sgdGhlIGNvbmZpZy5sb2cgZm9yIGRldGFpbHMuXSkKKysgICAgXSwgWworKyAgICAgIFskXSQxCisrICAgIF0pCisrICBdKQorKyAgaWYgdGVzdCAiJHBocF9jdl9saWJ4bWxfYnVpbGRfd29ya3MiID0gInllcyI7IHRoZW4KKysgICAgQUNfREVGSU5FKEhBVkVfTElCWE1MLCAxLCBbIF0pCisrICBmaQorKyAgJDIKKytdLCBbCisrICBBQ19NU0dfRVJST1IoWyRMSUJYTUxfUEtHX0VSUk9SU10pCisgXSkKKyAKKy0gIGlmIHRlc3QgLXggIiRhY19jdl9waHBfeG1sMl9jb25maWdfcGF0aCI7IHRoZW4KKy0gICAgWE1MMl9DT05GSUc9IiRhY19jdl9waHBfeG1sMl9jb25maWdfcGF0aCIKKy0gICAgbGlieG1sX2Z1bGxfdmVyc2lvbj1gJFhNTDJfQ09ORklHIC0tdmVyc2lvbmAKKy0gICAgYWNfSUZTPSRJRlMKKy0gICAgSUZTPSIuIgorLSAgICBzZXQgJGxpYnhtbF9mdWxsX3ZlcnNpb24KKy0gICAgSUZTPSRhY19JRlMKKy0gICAgTElCWE1MX1ZFUlNJT049YGV4cHIgWyRdMSBcKiAxMDAwMDAwICsgWyRdMiBcKiAxMDAwICsgWyRdM2AKKy0gICAgaWYgdGVzdCAiJExJQlhNTF9WRVJTSU9OIiAtZ2UgIjIwMDYwMTEiOyB0aGVuCistICAgICAgTElCWE1MX0xJQlM9YCRYTUwyX0NPTkZJRyAtLWxpYnNgCistICAgICAgTElCWE1MX0lOQ1M9YCRYTUwyX0NPTkZJRyAtLWNmbGFnc2AKKy0gICAgICBQSFBfRVZBTF9MSUJMSU5FKCRMSUJYTUxfTElCUywgJDEpCistICAgICAgUEhQX0VWQUxfSU5DTElORSgkTElCWE1MX0lOQ1MpCistCistICAgICAgZG5sIENoZWNrIHRoYXQgYnVpbGQgd29ya3Mgd2l0aCBnaXZlbiBsaWJzCistICAgICAgQUNfQ0FDSEVfQ0hFQ0sod2hldGhlciBsaWJ4bWwgYnVpbGQgd29ya3MsIHBocF9jdl9saWJ4bWxfYnVpbGRfd29ya3MsIFsKKy0gICAgICAgIFBIUF9URVNUX0JVSUxEKHhtbEluaXRQYXJzZXIsCistICAgICAgICBbCistICAgICAgICAgIHBocF9jdl9saWJ4bWxfYnVpbGRfd29ya3M9eWVzCistICAgICAgICBdLCBbCistICAgICAgICAgIEFDX01TR19SRVNVTFQobm8pCistICAgICAgICAgIEFDX01TR19FUlJPUihbYnVpbGQgdGVzdCBmYWlsZWQuICBQbGVhc2UgY2hlY2sgdGhlIGNvbmZpZy5sb2cgZm9yIGRldGFpbHMuXSkKKy0gICAgICAgIF0sIFsKKy0gICAgICAgICAgWyRdJDEKKy0gICAgICAgIF0pCistICAgICAgXSkKKy0gICAgICBpZiB0ZXN0ICIkcGhwX2N2X2xpYnhtbF9idWlsZF93b3JrcyIgPSAieWVzIjsgdGhlbgorLSAgICAgICAgQUNfREVGSU5FKEhBVkVfTElCWE1MLCAxLCBbIF0pCistICAgICAgZmkKKy0gICAgICAkMgorLSAgICBlbHNlCistICAgICAgQUNfTVNHX0VSUk9SKFtsaWJ4bWwyIHZlcnNpb24gMi42LjExIG9yIGdyZWF0ZXIgcmVxdWlyZWQuXSkKKy0gICAgZmkKKy1pZmVsc2UoWyQzXSxbXSwsW2Vsc2UgJDNdKQorLSAgZmkKKyBdKQorIAorIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1waHAtZG9uLXQtdXNlLWJyb2tlbi13cmFwcGVyLWZvci1ta2Rpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1waHAtZG9uLXQtdXNlLWJyb2tlbi13cmFwcGVyLWZvci1ta2Rpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjdkNTgxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLXBocC1kb24tdC11c2UtYnJva2VuLXdyYXBwZXItZm9yLW1rZGlyLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gZWJjMTAxZTA3MjhiOWRiNmM2ODdjZmY1MjVlNWRmYzhlYjBlZGJmMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBUaHUsIDMgTm92IDIwMTEgMTQ6Mjc6MTUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzhdIHBocDogZG9uJ3QgdXNlIGJyb2tlbiB3cmFwcGVyIGZvciBta2RpcgorCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorLS0tCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQorCisgTWFrZWZpbGUuZ2xvYmFsIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuZ2xvYmFsIGIvTWFrZWZpbGUuZ2xvYmFsCitpbmRleCBmZjg1OGMyLi5hZTU1NGI0IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuZ2xvYmFsCisrKysgYi9NYWtlZmlsZS5nbG9iYWwKK0BAIC0xLDQgKzEsNCBAQAorLW1raW5zdGFsbGRpcnMgPSAkKHRvcF9zcmNkaXIpL2J1aWxkL3NodG9vbCBta2RpciAtcAorK21raW5zdGFsbGRpcnMgPSBta2RpciAtcAorIElOU1RBTEwgPSAkKHRvcF9zcmNkaXIpL2J1aWxkL3NodG9vbCBpbnN0YWxsIC1jCisgSU5TVEFMTF9EQVRBID0gJChJTlNUQUxMKSAtbSA2NDQKKyAKKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC83MF9tb2RfcGhwNS5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC83MF9tb2RfcGhwNS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkZTZmYjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzcwX21vZF9waHA1LmNvbmYKQEAgLTAsMCArMSwxMiBAQAorIyB2aW06IGZ0PWFwYWNoZSBzdz00IHRzPTQKKzxJZkRlZmluZSBQSFA1PgorCSMgTG9hZCB0aGUgbW9kdWxlIGZpcnN0CisJPElmTW9kdWxlICFzYXBpX2FwYWNoZTIuYz4KKwkJTG9hZE1vZHVsZSBwaHA1X21vZHVsZSAgICBsaWIvYXBhY2hlMi9tb2R1bGVzL2xpYnBocDUuc28KKwk8L0lmTW9kdWxlPgorCisJIyBTZXQgaXQgdG8gaGFuZGxlIHRoZSBmaWxlcworCUFkZEhhbmRsZXIgcGhwNS1zY3JpcHQgLnBocCAucGh0bWwgLnBocDMgLnBocDQgLnBocDUKKwlBZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwLXNvdXJjZSAucGhwcworCURpcmVjdG9yeUluZGV4IGluZGV4Lmh0bWwgaW5kZXguaHRtbC52YXIgaW5kZXgucGhwIGluZGV4LnBodG1sCis8L0lmRGVmaW5lPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9hY2luY2x1ZGUteG1sMi1jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL2FjaW5jbHVkZS14bWwyLWNvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDgxMWE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9hY2luY2x1ZGUteG1sMi1jb25maWcucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorVXBzdHJlYW0tc3RhdHVzOiBVbmtub3duCisKK2RpZmYgLS1naXQgYS9hY2luY2x1ZGUubTQgYi9hY2luY2x1ZGUubTQKK2luZGV4IDRmZDQ1MmUuLjIwNmZjYmYgMTAwNjQ0CistLS0gYS9hY2luY2x1ZGUubTQKKysrKyBiL2FjaW5jbHVkZS5tNAorQEAgLTI1MzIsMTIgKzI1MzIsOSBAQCBkbmwKKyBBQ19ERUZVTihbUEhQX1NFVFVQX0xJQlhNTF0sIFsKKyBBQ19DQUNIRV9DSEVDSyhbZm9yIHhtbDItY29uZmlnIHBhdGhdLCBhY19jdl9waHBfeG1sMl9jb25maWdfcGF0aCwKKyBbCistICBmb3IgaSBpbiAkUEhQX0xJQlhNTF9ESVIgL3Vzci9sb2NhbCAvdXNyOyBkbworLSAgICBpZiB0ZXN0IC14ICIkaS9iaW4veG1sMi1jb25maWciOyB0aGVuCistICAgICAgYWNfY3ZfcGhwX3htbDJfY29uZmlnX3BhdGg9IiRpL2Jpbi94bWwyLWNvbmZpZyIKKy0gICAgICBicmVhaworLSAgICBmaQorLSAgZG9uZQorKworKyAgICAgIGFjX2N2X3BocF94bWwyX2NvbmZpZ19wYXRoPSIkUEhQX0xJQlhNTF9ESVIveG1sMi1jb25maWciCisrCisgXSkKKyAKKyAgIGlmIHRlc3QgLXggIiRhY19jdl9waHBfeG1sMl9jb25maWdfcGF0aCI7IHRoZW4KKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTMzNGM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIHBocC01LjEuNi9jb25maWd1cmUub2xkCTIwMDYtMDktMTIgMDc6NTQ6MTQuMDAwMDAwMDAwIC0wNzAwCisrKysgcGhwLTUuMS42L2NvbmZpZ3VyZQkyMDA2LTA5LTEyIDA3OjU0OjM3LjAwMDAwMDAwMCAtMDcwMAorQEAgLTE0NzE1LDggKzE0NzE1LDYgQEAKKyAKKyAKKyAKKy0gIHVuc2V0IGFjX2N2X2Z1bmNfZGxvcGVuCistICB1bnNldCBhY19jdl9mdW5jX19fZGxvcGVuCisgICB1bnNldCBmb3VuZAorICAgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgZGxvcGVuIiIuLi4gJGFjX2MiIDE+JjYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvaWNvbnYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL2ljb252LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1NWZiYjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL2ljb252LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK1Vwc3RyZWFtLXN0YXR1czogVW5rbm93bgorCitkaWZmIC0tZ2l0IGEvYWNpbmNsdWRlLm00IGIvYWNpbmNsdWRlLm00CitpbmRleCBhNmMwZDg0Li5kZjExYWJkIDEwMDY0NAorLS0tIGEvYWNpbmNsdWRlLm00CisrKysgYi9hY2luY2x1ZGUubTQKK0BAIC0yNDUyLDcgKzI0NTIsOCBAQCBBQ19ERUZVTihbUEhQX1NFVFVQX0lDT05WXSwgWworICAgZG5sIENoZWNrIGxpYmMgZmlyc3QgaWYgbm8gcGF0aCBpcyBwcm92aWRlZCBpbiAtLXdpdGgtaWNvbnYKKyAgIGRubAorIAorLSAgaWYgdGVzdCAiJFBIUF9JQ09OViIgPSAieWVzIjsgdGhlbgorKyAgZG5sIG11c3QgY2hlY2sgYWdhaW5zdCBubywgbm90IGFnYWluc3QgeWVzIGFzIFBIUF9JQ09OViBjYW4gYWxzbyBpbmNsdWRlIGEgcGF0aCwgd2hpY2ggaW1wbGllcyB5ZXMKKysgIGlmIHRlc3QgIiRQSFBfSUNPTlYiICE9ICJubyI7IHRoZW4KKyAgICAgZG5sIFJlc2V0IExJQlMgdGVtcG9yYXJpbHkgYXMgaXQgbWF5IGhhdmUgYWxyZWFkeSBiZWVuIGluY2x1ZGVkCisgICAgIGRubCAtbGljb252IGluLgorICAgICBMSUJTX3NhdmU9IiRMSUJTIgorZGlmZiAtLWdpdCBhL2V4dC9pY29udi9jb25maWcubTQgYi9leHQvaWNvbnYvY29uZmlnLm00CitpbmRleCBkNjczYjBhLi4xZmJlZjEzIDEwMDY0NAorLS0tIGEvZXh0L2ljb252L2NvbmZpZy5tNAorKysrIGIvZXh0L2ljb252L2NvbmZpZy5tNAorQEAgLTE1LDcgKzE1LDcgQEAgaWYgdGVzdCAiJFBIUF9JQ09OViIgIT0gIm5vIjsgdGhlbgorIAorICAgaWYgdGVzdCAiJGljb252X2F2YWlsIiAhPSAibm8iOyB0aGVuCisgICAgIGlmIHRlc3QgLXogIiRJQ09OVl9ESVIiOyB0aGVuCistICAgICAgZm9yIGkgaW4gL3Vzci9sb2NhbCAvdXNyOyBkbworKyAgICAgIGZvciBpIGluICRQSFBfSUNPTlYgL3Vzci9sb2NhbCAvdXNyOyBkbworICAgICAgICAgaWYgdGVzdCAtZiAiJGkvaW5jbHVkZS9pY29udi5oIiB8fCB0ZXN0IC1mICIkaS9pbmNsdWRlL2dpY29udi5oIjsgdGhlbgorICAgICAgICAgICBQSFBfSUNPTlZfUFJFRklYPSIkaSIKKyAgICAgICAgICAgYnJlYWsKKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9pbWFwLWZpeC1hdXRvZm9vLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9pbWFwLWZpeC1hdXRvZm9vLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhMDRjMmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL2ltYXAtZml4LWF1dG9mb28ucGF0Y2gKQEAgLTAsMCArMSw0NiBAQAorVXBzdHJlYW0tc3RhdHVzOiBVbmtub3duCisKK2RpZmYgLS1naXQgYS9hY2luY2x1ZGUubTQgYi9hY2luY2x1ZGUubTQKK2luZGV4IGRmMTFhYmQuLjA2ZTcyMzYgMTAwNjQ0CistLS0gYS9hY2luY2x1ZGUubTQKKysrKyBiL2FjaW5jbHVkZS5tNAorQEAgLTIzNTcsNyArMjM1Nyw3IEBAIEFDX0RFRlVOKFtQSFBfU0VUVVBfT1BFTlNTTF0sWworICAgICAgIFBIUF9PUEVOU1NMX0RJUj0iL3Vzci9sb2NhbC9zc2wgL3Vzci9sb2NhbCAvdXNyIC91c3IvbG9jYWwvb3BlbnNzbCIKKyAgICAgZmkKKyAKKy0gICAgZm9yIGkgaW4gJFBIUF9PUEVOU1NMX0RJUjsgZG8KKysgICAgZm9yIGkgaW4gJFBIUF9PUEVOU1NMX0RJUiAkUEhQX09QRU5TU0xfRElSL3VzcjsgZG8KKyAgICAgICBpZiB0ZXN0IC1yICRpL2luY2x1ZGUvb3BlbnNzbC9ldnAuaDsgdGhlbgorICAgICAgICAgT1BFTlNTTF9JTkNESVI9JGkvaW5jbHVkZQorICAgICAgIGZpCitkaWZmIC0tZ2l0IGEvZXh0L2ltYXAvY29uZmlnLm00IGIvZXh0L2ltYXAvY29uZmlnLm00CitpbmRleCAzZmNmNjc0Li5mMDhjYWY3IDEwMDY0NAorLS0tIGEvZXh0L2ltYXAvY29uZmlnLm00CisrKysgYi9leHQvaW1hcC9jb25maWcubTQKK0BAIC0xMDksNyArMTA5LDcgQEAgaWYgdGVzdCAiJFBIUF9JTUFQIiAhPSAibm8iOyB0aGVuCisgICAgIFBIUF9ORVdfRVhURU5TSU9OKGltYXAsIHBocF9pbWFwLmMsICRleHRfc2hhcmVkKQorICAgICBBQ19ERUZJTkUoSEFWRV9JTUFQLDEsWyBdKQorIAorLSAgICBmb3IgaSBpbiAkUEhQX0lNQVAgL3Vzci9sb2NhbCAvdXNyOyBkbworKyAgICBmb3IgaSBpbiAkUEhQX0lNQVAgJFBIUF9JTUFQL3VzciAvdXNyL2xvY2FsIC91c3I7IGRvCisgICAgICAgSU1BUF9JTkNfQ0hLKCkKKyAgICAgICBlbFtdSU1BUF9JTkNfQ0hLKC9pbmNsdWRlL2MtY2xpZW50KQorICAgICAgIGVsW11JTUFQX0lOQ19DSEsoL2luY2x1ZGUvaW1hcCkKK0BAIC0xOTgsMTMgKzE5OCw3IEBAIGlmIHRlc3QgIiRQSFBfSU1BUCIgIT0gIm5vIjsgdGhlbgorICAgICAgIEFDX01TR19FUlJPUihDYW5ub3QgZmluZCByZmM4MjIuaC4gUGxlYXNlIGNoZWNrIHlvdXIgYy1jbGllbnQgaW5zdGFsbGF0aW9uLikKKyAgICAgZmkKKyAKKy0gICAgaWYgdGVzdCAhIC1yICIkSU1BUF9ESVIvYy1jbGllbnQvbGliYy1jbGllbnQuYSIgJiYgdGVzdCAtciAiJElNQVBfRElSL2MtY2xpZW50L2MtY2xpZW50LmEiIDsgdGhlbgorLSAgICAgIGxuIC1zICIkSU1BUF9ESVIvYy1jbGllbnQvYy1jbGllbnQuYSIgIiRJTUFQX0RJUi9jLWNsaWVudC9saWJjLWNsaWVudC5hIiA+L2Rldi9udWxsIDI+JjEKKy0gICAgZWxpZiB0ZXN0ICEgLXIgIiRJTUFQX0RJUi8kUEhQX0xJQkRJUi9saWJjLWNsaWVudC5hIiAmJiB0ZXN0IC1yICIkSU1BUF9ESVIvJFBIUF9MSUJESVIvYy1jbGllbnQuYSI7IHRoZW4KKy0gICAgICBsbiAtcyAiJElNQVBfRElSLyRQSFBfTElCRElSL2MtY2xpZW50LmEiICIkSU1BUF9ESVIvJFBIUF9MSUJESVIvbGliYy1jbGllbnQuYSIgPi9kZXYvbnVsbCAyPiYxCistICAgIGZpCistCistICAgIGZvciBsaWIgaW4gYy1jbGllbnQ0IGMtY2xpZW50IGltYXA7IGRvCisrICAgIGZvciBsaWIgaW4gL3Vzci9saWIgYy1jbGllbnQ0IGMtY2xpZW50IGltYXA7IGRvCisgICAgICAgSU1BUF9MSUI9JGxpYgorICAgICAgIElNQVBfTElCX0NISygkUEhQX0xJQkRJUikKKyAgICAgICBJTUFQX0xJQl9DSEsoYy1jbGllbnQpCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGVhci1tYWtlZmlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGVhci1tYWtlZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTI3ZDJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9wZWFyLW1ha2VmaWxlLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK1Vwc3RyZWFtLXN0YXR1czogVW5rbm93bgorCitkaWZmIC0tZ2l0IGEvcGVhci9NYWtlZmlsZS5mcmFnIGIvcGVhci9NYWtlZmlsZS5mcmFnCitpbmRleCAwMGJhY2FlLi43MzllZWNhIDEwMDY0NAorLS0tIGEvcGVhci9NYWtlZmlsZS5mcmFnCisrKysgYi9wZWFyL01ha2VmaWxlLmZyYWcKK0BAIC0xMSw3ICsxMSw3IEBAIFBFQVJfUFJFRklYID0gLWRwIGEke3Byb2dyYW1fcHJlZml4fQorIFBFQVJfU1VGRklYID0gLWRzIGEkKHByb2dyYW1fc3VmZml4KQorIAorIGluc3RhbGwtcGVhci1pbnN0YWxsZXI6ICQoU0FQSV9DTElfUEFUSCkKKy0JQCQodG9wX2J1aWxkZGlyKS9zYXBpL2NsaS9waHAgJChQRUFSX0lOU1RBTExfRkxBR1MpIHBlYXIvaW5zdGFsbC1wZWFyLW5vemxpYi5waGFyIC1kICIkKHBlYXJkaXIpIiAtYiAiJChiaW5kaXIpIiAke1BFQVJfUFJFRklYfSAke1BFQVJfU1VGRklYfQorKwlAJChQSFBfTkFUSVZFX0RJUikvcGhwICQoUEVBUl9JTlNUQUxMX0ZMQUdTKSAkKGJ1aWxkZGlyKS9pbnN0YWxsLXBlYXItbm96bGliLnBoYXIgLWQgIiQocGVhcmRpcikiIC1iICIkKGJpbmRpcikiICR7UEVBUl9QUkVGSVh9ICR7UEVBUl9TVUZGSVh9CisgCisgaW5zdGFsbC1wZWFyOgorIAlAZWNobyAiSW5zdGFsbGluZyBQRUFSIGVudmlyb25tZW50OiAgICAgICQoSU5TVEFMTF9ST09UKSQocGVhcmRpcikvIgorLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BoYXItbWFrZWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BoYXItbWFrZWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY3ZmUzNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhhci1tYWtlZmlsZS5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGaXggcGhhciBwYWNrYWdpbmcKKworSW5oZXJpdGVkIGZyb20gT0UtQ2xhc3NpYywgd2l0aCBzb21lIGFkZGl0aW9ucyB0byBmaXggaG9zdCBwYXRocyBsZWFraW5nCitpbnRvIHRoZSB0YXJnZXQgcGFja2FnZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK2RpZmYgLS1naXQgYS9leHQvcGhhci9NYWtlZmlsZS5mcmFnIGIvZXh0L3BoYXIvTWFrZWZpbGUuZnJhZworaW5kZXggNjUxNmRkZi4uMzZlNmNmNCAxMDA2NDQKKy0tLSBhL2V4dC9waGFyL01ha2VmaWxlLmZyYWcKKysrKyBiL2V4dC9waGFyL01ha2VmaWxlLmZyYWcKK0BAIC01LDIwICs1LDkgQEAgcGhhcmNtZDogJChidWlsZGRpcikvcGhhci5waHAgJChidWlsZGRpcikvcGhhci5waGFyCisgCisgUEhQX1BIQVJDTURfU0VUVElOR1MgPSAtZCAnb3Blbl9iYXNlZGlyPScgLWQgJ291dHB1dF9idWZmZXJpbmc9MCcgLWQgJ21lbW9yeV9saW1pdD0tMScgLWQgcGhhci5yZWFkb25seT0wIC1kICdzYWZlX21vZGU9MCcKKyBQSFBfUEhBUkNNRF9FWEVDVVRBQkxFID0gYCBcCistCWlmIHRlc3QgLXggIiQodG9wX2J1aWxkZGlyKS8kKFNBUElfQ0xJX1BBVEgpIjsgdGhlbiBcCistCQkkKHRvcF9zcmNkaXIpL2J1aWxkL3NodG9vbCBlY2hvIC1uIC0tICIkKHRvcF9idWlsZGRpcikvJChTQVBJX0NMSV9QQVRIKSAtbiI7IFwKKy0JCWlmIHRlc3QgIngkKFBIUF9NT0RVTEVTKSIgIT0gIngiOyB0aGVuIFwKKy0JCSQodG9wX3NyY2RpcikvYnVpbGQvc2h0b29sIGVjaG8gLW4gLS0gIiAtZCBleHRlbnNpb25fZGlyPSQodG9wX2J1aWxkZGlyKS9tb2R1bGVzIjsgXAorLQkJZm9yIGkgaW4gYnoyIHpsaWIgcGhhcjsgZG8gXAorLQkJCWlmIHRlc3QgLWYgIiQodG9wX2J1aWxkZGlyKS9tb2R1bGVzLyQkaS5sYSI7IHRoZW4gXAorLQkJCQkuICQodG9wX2J1aWxkZGlyKS9tb2R1bGVzLyQkaS5sYTsgJCh0b3Bfc3JjZGlyKS9idWlsZC9zaHRvb2wgZWNobyAtbiAtLSAiIC1kIGV4dGVuc2lvbj0kJGRsbmFtZSI7IFwKKy0JCQlmaTsgXAorLQkJZG9uZTsgXAorLQkJZmk7IFwKKy0JZWxzZSBcCistCQkkKHRvcF9zcmNkaXIpL2J1aWxkL3NodG9vbCBlY2hvIC1uIC0tICIkKFBIUF9FWEVDVVRBQkxFKSI7IFwKKy0JZmk7YAorLVBIUF9QSEFSQ01EX0JBTkcgPSBgJCh0b3Bfc3JjZGlyKS9idWlsZC9zaHRvb2wgZWNobyAtbiAtLSAiJChJTlNUQUxMX1JPT1QpJChiaW5kaXIpLyQocHJvZ3JhbV9wcmVmaXgpcGhwJChwcm9ncmFtX3N1ZmZpeCkkKEVYRUVYVCkiO2AKKysJCSQodG9wX3NyY2RpcikvYnVpbGQvc2h0b29sIGVjaG8gLW4gLS0gIiQoUEhQX0VYRUNVVEFCTEUpIjsgYAorKworK1BIUF9QSEFSQ01EX0JBTkcgPSBgJCh0b3Bfc3JjZGlyKS9idWlsZC9zaHRvb2wgZWNobyAtbiAtLSAiJChiaW5kaXIpLyQocHJvZ3JhbV9wcmVmaXgpcGhwJChwcm9ncmFtX3N1ZmZpeCkkKEVYRUVYVCkiO2AKKyAKKyAkKGJ1aWxkZGlyKS9waGFyL3BoYXIuaW5jOiAkKHNyY2RpcikvcGhhci9waGFyLmluYworIAktQHRlc3QgLWQgJChidWlsZGRpcikvcGhhciB8fCBta2RpciAkKGJ1aWxkZGlyKS9waGFyCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BocC1mcG0tYXBhY2hlLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BocC1mcG0tYXBhY2hlLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdjZGQ4MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhwLWZwbS1hcGFjaGUuY29uZgpAQCAtMCwwICsxLDYgQEAKKyMgVGFrZW4gZnJvbSBodHRwOi8vd2lraS5hcGFjaGUub3JnL2h0dHBkL1BIUC1GUE0KKworTG9hZE1vZHVsZSBwcm94eV9tb2R1bGUgICAgICBsaWIvYXBhY2hlMi9tb2R1bGVzL21vZF9wcm94eS5zbworTG9hZE1vZHVsZSBwcm94eV9mY2dpX21vZHVsZSBsaWIvYXBhY2hlMi9tb2R1bGVzL21vZF9wcm94eV9mY2dpLnNvCisKK1Byb3h5UGFzc01hdGNoIF4vKC4qXC5waHAoLy4qKT8pJCBmY2dpOi8vMTI3LjAuMC4xOjkwMDAvdXNyL3NoYXJlL2FwYWNoZTIvaHRkb2NzLwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9waHAtZnBtLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BocC1mcG0uY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMWUzZGZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9waHAtZnBtLmNvbmYKQEAgLTAsMCArMSw1MTAgQEAKKzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OworOyBGUE0gQ29uZmlndXJhdGlvbiA7Cis7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKKworOyBBbGwgcmVsYXRpdmUgcGF0aHMgaW4gdGhpcyBjb25maWd1cmF0aW9uIGZpbGUgYXJlIHJlbGF0aXZlIHRvIFBIUCdzIGluc3RhbGwKKzsgcHJlZml4ICgvdXNyKS4gVGhpcyBwcmVmaXggY2FuIGJlIGR5bmFtaWNhbHkgY2hhbmdlZCBieSB1c2luZyB0aGUKKzsgJy1wJyBhcmd1bWVudCBmcm9tIHRoZSBjb21tYW5kIGxpbmUuCisKKzsgSW5jbHVkZSBvbmUgb3IgbW9yZSBmaWxlcy4gSWYgZ2xvYigzKSBleGlzdHMsIGl0IGlzIHVzZWQgdG8gaW5jbHVkZSBhIGJ1bmNoIG9mCis7IGZpbGVzIGZyb20gYSBnbG9iKDMpIHBhdHRlcm4uIFRoaXMgZGlyZWN0aXZlIGNhbiBiZSB1c2VkIGV2ZXJ5d2hlcmUgaW4gdGhlCis7IGZpbGUuCis7IFJlbGF0aXZlIHBhdGggY2FuIGFsc28gYmUgdXNlZC4gVGhleSB3aWxsIGJlIHByZWZpeGVkIGJ5OgorOyAgLSB0aGUgZ2xvYmFsIHByZWZpeCBpZiBpdCdzIGJlZW4gc2V0ICgtcCBhcmd1ZW1lbnQpCis7ICAtIC91c3Igb3RoZXJ3aXNlCis7aW5jbHVkZT1ldGMvZnBtLmQvKi5jb25mCisKKzs7Ozs7Ozs7Ozs7Ozs7Ozs7OworOyBHbG9iYWwgT3B0aW9ucyA7Cis7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKKworW2dsb2JhbF0KKzsgUGlkIGZpbGUKKzsgTm90ZTogdGhlIGRlZmF1bHQgcHJlZml4IGlzIC92YXIKKzsgRGVmYXVsdCBWYWx1ZTogbm9uZQorO3BpZCA9IHJ1bi9waHAtZnBtLnBpZAorCis7IEVycm9yIGxvZyBmaWxlCis7IElmIGl0J3Mgc2V0IHRvICJzeXNsb2ciLCBsb2cgaXMgc2VudCB0byBzeXNsb2dkIGluc3RlYWQgb2YgYmVpbmcgd3JpdHRlbgorOyBpbiBhIGxvY2FsIGZpbGUuCis7IE5vdGU6IHRoZSBkZWZhdWx0IHByZWZpeCBpcyAvdmFyCis7IERlZmF1bHQgVmFsdWU6IGxvZy9waHAtZnBtLmxvZworO2Vycm9yX2xvZyA9IGxvZy9waHAtZnBtLmxvZworCis7IHN5c2xvZ19mYWNpbGl0eSBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCB0eXBlIG9mIHByb2dyYW0gaXMgbG9nZ2luZyB0aGUKKzsgbWVzc2FnZS4gVGhpcyBsZXRzIHN5c2xvZ2Qgc3BlY2lmeSB0aGF0IG1lc3NhZ2VzIGZyb20gZGlmZmVyZW50IGZhY2lsaXRpZXMKKzsgd2lsbCBiZSBoYW5kbGVkIGRpZmZlcmVudGx5LgorOyBTZWUgc3lzbG9nKDMpIGZvciBwb3NzaWJsZSB2YWx1ZXMgKGV4IGRhZW1vbiBlcXVpdiBMT0dfREFFTU9OKQorOyBEZWZhdWx0IFZhbHVlOiBkYWVtb24KKztzeXNsb2cuZmFjaWxpdHkgPSBkYWVtb24KKworOyBzeXNsb2dfaWRlbnQgaXMgcHJlcGVuZGVkIHRvIGV2ZXJ5IG1lc3NhZ2UuIElmIHlvdSBoYXZlIG11bHRpcGxlIEZQTQorOyBpbnN0YW5jZXMgcnVubmluZyBvbiB0aGUgc2FtZSBzZXJ2ZXIsIHlvdSBjYW4gY2hhbmdlIHRoZSBkZWZhdWx0IHZhbHVlCis7IHdoaWNoIG11c3Qgc3VpdCBjb21tb24gbmVlZHMuCis7IERlZmF1bHQgVmFsdWU6IHBocC1mcG0KKztzeXNsb2cuaWRlbnQgPSBwaHAtZnBtCisKKzsgTG9nIGxldmVsCis7IFBvc3NpYmxlIFZhbHVlczogYWxlcnQsIGVycm9yLCB3YXJuaW5nLCBub3RpY2UsIGRlYnVnCis7IERlZmF1bHQgVmFsdWU6IG5vdGljZQorO2xvZ19sZXZlbCA9IG5vdGljZQorCis7IElmIHRoaXMgbnVtYmVyIG9mIGNoaWxkIHByb2Nlc3NlcyBleGl0IHdpdGggU0lHU0VHViBvciBTSUdCVVMgd2l0aGluIHRoZSB0aW1lCis7IGludGVydmFsIHNldCBieSBlbWVyZ2VuY3lfcmVzdGFydF9pbnRlcnZhbCB0aGVuIEZQTSB3aWxsIHJlc3RhcnQuIEEgdmFsdWUKKzsgb2YgJzAnIG1lYW5zICdPZmYnLgorOyBEZWZhdWx0IFZhbHVlOiAwCis7ZW1lcmdlbmN5X3Jlc3RhcnRfdGhyZXNob2xkID0gMAorCis7IEludGVydmFsIG9mIHRpbWUgdXNlZCBieSBlbWVyZ2VuY3lfcmVzdGFydF9pbnRlcnZhbCB0byBkZXRlcm1pbmUgd2hlbiAKKzsgYSBncmFjZWZ1bCByZXN0YXJ0IHdpbGwgYmUgaW5pdGlhdGVkLiAgVGhpcyBjYW4gYmUgdXNlZnVsIHRvIHdvcmsgYXJvdW5kCis7IGFjY2lkZW50YWwgY29ycnVwdGlvbnMgaW4gYW4gYWNjZWxlcmF0b3IncyBzaGFyZWQgbWVtb3J5LgorOyBBdmFpbGFibGUgVW5pdHM6IHMoZWNvbmRzKSwgbShpbnV0ZXMpLCBoKG91cnMpLCBvciBkKGF5cykKKzsgRGVmYXVsdCBVbml0OiBzZWNvbmRzCis7IERlZmF1bHQgVmFsdWU6IDAKKztlbWVyZ2VuY3lfcmVzdGFydF9pbnRlcnZhbCA9IDAKKworOyBUaW1lIGxpbWl0IGZvciBjaGlsZCBwcm9jZXNzZXMgdG8gd2FpdCBmb3IgYSByZWFjdGlvbiBvbiBzaWduYWxzIGZyb20gbWFzdGVyLgorOyBBdmFpbGFibGUgdW5pdHM6IHMoZWNvbmRzKSwgbShpbnV0ZXMpLCBoKG91cnMpLCBvciBkKGF5cykKKzsgRGVmYXVsdCBVbml0OiBzZWNvbmRzCis7IERlZmF1bHQgVmFsdWU6IDAKKztwcm9jZXNzX2NvbnRyb2xfdGltZW91dCA9IDAKKworOyBUaGUgbWF4aW11bSBudW1iZXIgb2YgcHJvY2Vzc2VzIEZQTSB3aWxsIGZvcmsuIFRoaXMgaGFzIGJlZW4gZGVzaWduIHRvIGNvbnRyb2wKKzsgdGhlIGdsb2JhbCBudW1iZXIgb2YgcHJvY2Vzc2VzIHdoZW4gdXNpbmcgZHluYW1pYyBQTSB3aXRoaW4gYSBsb3Qgb2YgcG9vbHMuCis7IFVzZSBpdCB3aXRoIGNhdXRpb24uCis7IE5vdGU6IEEgdmFsdWUgb2YgMCBpbmRpY2F0ZXMgbm8gbGltaXQKKzsgRGVmYXVsdCBWYWx1ZTogMAorOyBwcm9jZXNzLm1heCA9IDEyOAorCis7IFNwZWNpZnkgdGhlIG5pY2UoMikgcHJpb3JpdHkgdG8gYXBwbHkgdG8gdGhlIG1hc3RlciBwcm9jZXNzIChvbmx5IGlmIHNldCkKKzsgVGhlIHZhbHVlIGNhbiB2YXJ5IGZyb20gLTE5IChoaWdoZXN0IHByaW9yaXR5KSB0byAyMCAobG93ZXIgcHJpb3JpdHkpCis7IE5vdGU6IC0gSXQgd2lsbCBvbmx5IHdvcmsgaWYgdGhlIEZQTSBtYXN0ZXIgcHJvY2VzcyBpcyBsYXVuY2hlZCBhcyByb290Cis7ICAgICAgIC0gVGhlIHBvb2wgcHJvY2VzcyB3aWxsIGluaGVyaXQgdGhlIG1hc3RlciBwcm9jZXNzIHByaW9yaXR5Cis7ICAgICAgICAgdW5sZXNzIGl0IHNwZWNpZmllZCBvdGhlcndpc2UKKzsgRGVmYXVsdCBWYWx1ZTogbm8gc2V0Cis7IHByb2Nlc3MucHJpb3JpdHkgPSAtMTkKKworOyBTZW5kIEZQTSB0byBiYWNrZ3JvdW5kLiBTZXQgdG8gJ25vJyB0byBrZWVwIEZQTSBpbiBmb3JlZ3JvdW5kIGZvciBkZWJ1Z2dpbmcuCis7IERlZmF1bHQgVmFsdWU6IHllcworO2RhZW1vbml6ZSA9IHllcworIAorOyBTZXQgb3BlbiBmaWxlIGRlc2NyaXB0b3IgcmxpbWl0IGZvciB0aGUgbWFzdGVyIHByb2Nlc3MuCis7IERlZmF1bHQgVmFsdWU6IHN5c3RlbSBkZWZpbmVkIHZhbHVlCis7cmxpbWl0X2ZpbGVzID0gMTAyNAorIAorOyBTZXQgbWF4IGNvcmUgc2l6ZSBybGltaXQgZm9yIHRoZSBtYXN0ZXIgcHJvY2Vzcy4KKzsgUG9zc2libGUgVmFsdWVzOiAndW5saW1pdGVkJyBvciBhbiBpbnRlZ2VyIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMAorOyBEZWZhdWx0IFZhbHVlOiBzeXN0ZW0gZGVmaW5lZCB2YWx1ZQorO3JsaW1pdF9jb3JlID0gMAorCis7IFNwZWNpZnkgdGhlIGV2ZW50IG1lY2hhbmlzbSBGUE0gd2lsbCB1c2UuIFRoZSBmb2xsb3dpbmcgaXMgYXZhaWxhYmxlOgorOyAtIHNlbGVjdCAgICAgKGFueSBQT1NJWCBvcykKKzsgLSBwb2xsICAgICAgIChhbnkgUE9TSVggb3MpCis7IC0gZXBvbGwgICAgICAobGludXggPj0gMi41LjQ0KQorOyAtIGtxdWV1ZSAgICAgKEZyZWVCU0QgPj0gNC4xLCBPcGVuQlNEID49IDIuOSwgTmV0QlNEID49IDIuMCkKKzsgLSAvZGV2L3BvbGwgIChTb2xhcmlzID49IDcpCis7IC0gcG9ydCAgICAgICAoU29sYXJpcyA+PSAxMCkKKzsgRGVmYXVsdCBWYWx1ZTogbm90IHNldCAoYXV0byBkZXRlY3Rpb24pCis7IGV2ZW50cy5tZWNoYW5pc20gPSBlcG9sbAorCis7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OworOyBQb29sIERlZmluaXRpb25zIDsgCis7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OworCis7IE11bHRpcGxlIHBvb2xzIG9mIGNoaWxkIHByb2Nlc3NlcyBtYXkgYmUgc3RhcnRlZCB3aXRoIGRpZmZlcmVudCBsaXN0ZW5pbmcKKzsgcG9ydHMgYW5kIGRpZmZlcmVudCBtYW5hZ2VtZW50IG9wdGlvbnMuICBUaGUgbmFtZSBvZiB0aGUgcG9vbCB3aWxsIGJlCis7IHVzZWQgaW4gbG9ncyBhbmQgc3RhdHMuIFRoZXJlIGlzIG5vIGxpbWl0YXRpb24gb24gdGhlIG51bWJlciBvZiBwb29scyB3aGljaAorOyBGUE0gY2FuIGhhbmRsZS4gWW91ciBzeXN0ZW0gd2lsbCB0ZWxsIHlvdSBhbnl3YXkgOikKKworOyBTdGFydCBhIG5ldyBwb29sIG5hbWVkICd3d3cnLgorOyB0aGUgdmFyaWFibGUgJHBvb2wgY2FuIHdlIHVzZWQgaW4gYW55IGRpcmVjdGl2ZSBhbmQgd2lsbCBiZSByZXBsYWNlZCBieSB0aGUKKzsgcG9vbCBuYW1lICgnd3d3JyBoZXJlKQorW3d3d10KKworOyBQZXIgcG9vbCBwcmVmaXgKKzsgSXQgb25seSBhcHBsaWVzIG9uIHRoZSBmb2xsb3dpbmcgZGlyZWN0aXZlczoKKzsgLSAnc2xvd2xvZycKKzsgLSAnbGlzdGVuJyAodW5peHNvY2tldCkKKzsgLSAnY2hyb290JworOyAtICdjaGRpcicKKzsgLSAncGhwX3ZhbHVlcycKKzsgLSAncGhwX2FkbWluX3ZhbHVlcycKKzsgV2hlbiBub3Qgc2V0LCB0aGUgZ2xvYmFsIHByZWZpeCAob3IgL3VzcikgYXBwbGllcyBpbnN0ZWFkLgorOyBOb3RlOiBUaGlzIGRpcmVjdGl2ZSBjYW4gYWxzbyBiZSByZWxhdGl2ZSB0byB0aGUgZ2xvYmFsIHByZWZpeC4KKzsgRGVmYXVsdCBWYWx1ZTogbm9uZQorO3ByZWZpeCA9IC9wYXRoL3RvL3Bvb2xzLyRwb29sCisKKzsgVW5peCB1c2VyL2dyb3VwIG9mIHByb2Nlc3NlcworOyBOb3RlOiBUaGUgdXNlciBpcyBtYW5kYXRvcnkuIElmIHRoZSBncm91cCBpcyBub3Qgc2V0LCB0aGUgZGVmYXVsdCB1c2VyJ3MgZ3JvdXAKKzsgICAgICAgd2lsbCBiZSB1c2VkLgordXNlciA9IG5vYm9keQorO2dyb3VwID0gbm9ib2R5CisKKzsgVGhlIGFkZHJlc3Mgb24gd2hpY2ggdG8gYWNjZXB0IEZhc3RDR0kgcmVxdWVzdHMuCis7IFZhbGlkIHN5bnRheGVzIGFyZToKKzsgICAnaXAuYWRkLnJlLnNzOnBvcnQnICAgIC0gdG8gbGlzdGVuIG9uIGEgVENQIHNvY2tldCB0byBhIHNwZWNpZmljIGFkZHJlc3Mgb24KKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBzcGVjaWZpYyBwb3J0OworOyAgICdwb3J0JyAgICAgICAgICAgICAgICAgLSB0byBsaXN0ZW4gb24gYSBUQ1Agc29ja2V0IHRvIGFsbCBhZGRyZXNzZXMgb24gYQorOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpYyBwb3J0OworOyAgICcvcGF0aC90by91bml4L3NvY2tldCcgLSB0byBsaXN0ZW4gb24gYSB1bml4IHNvY2tldC4KKzsgTm90ZTogVGhpcyB2YWx1ZSBpcyBtYW5kYXRvcnkuCitsaXN0ZW4gPSAxMjcuMC4wLjE6OTAwMAorCis7IFNldCBsaXN0ZW4oMikgYmFja2xvZy4gQSB2YWx1ZSBvZiAnLTEnIG1lYW5zIHVubGltaXRlZC4KKzsgRGVmYXVsdCBWYWx1ZTogMTI4ICgtMSBvbiBGcmVlQlNEIGFuZCBPcGVuQlNEKQorO2xpc3Rlbi5iYWNrbG9nID0gLTEKKworOyBTZXQgcGVybWlzc2lvbnMgZm9yIHVuaXggc29ja2V0LCBpZiBvbmUgaXMgdXNlZC4gSW4gTGludXgsIHJlYWQvd3JpdGUKKzsgcGVybWlzc2lvbnMgbXVzdCBiZSBzZXQgaW4gb3JkZXIgdG8gYWxsb3cgY29ubmVjdGlvbnMgZnJvbSBhIHdlYiBzZXJ2ZXIuIE1hbnkKKzsgQlNELWRlcml2ZWQgc3lzdGVtcyBhbGxvdyBjb25uZWN0aW9ucyByZWdhcmRsZXNzIG9mIHBlcm1pc3Npb25zLiAKKzsgRGVmYXVsdCBWYWx1ZXM6IHVzZXIgYW5kIGdyb3VwIGFyZSBzZXQgYXMgdGhlIHJ1bm5pbmcgdXNlcgorOyAgICAgICAgICAgICAgICAgbW9kZSBpcyBzZXQgdG8gMDY2NgorO2xpc3Rlbi5vd25lciA9IG5vYm9keQorO2xpc3Rlbi5ncm91cCA9IG5vYm9keQorO2xpc3Rlbi5tb2RlID0gMDY2NgorIAorOyBMaXN0IG9mIGlwdjQgYWRkcmVzc2VzIG9mIEZhc3RDR0kgY2xpZW50cyB3aGljaCBhcmUgYWxsb3dlZCB0byBjb25uZWN0LgorOyBFcXVpdmFsZW50IHRvIHRoZSBGQ0dJX1dFQl9TRVJWRVJfQUREUlMgZW52aXJvbm1lbnQgdmFyaWFibGUgaW4gdGhlIG9yaWdpbmFsCis7IFBIUCBGQ0dJICg1LjIuMispLiBNYWtlcyBzZW5zZSBvbmx5IHdpdGggYSB0Y3AgbGlzdGVuaW5nIHNvY2tldC4gRWFjaCBhZGRyZXNzCis7IG11c3QgYmUgc2VwYXJhdGVkIGJ5IGEgY29tbWEuIElmIHRoaXMgdmFsdWUgaXMgbGVmdCBibGFuaywgY29ubmVjdGlvbnMgd2lsbCBiZQorOyBhY2NlcHRlZCBmcm9tIGFueSBpcCBhZGRyZXNzLgorOyBEZWZhdWx0IFZhbHVlOiBhbnkKKztsaXN0ZW4uYWxsb3dlZF9jbGllbnRzID0gMTI3LjAuMC4xCisKKzsgU3BlY2lmeSB0aGUgbmljZSgyKSBwcmlvcml0eSB0byBhcHBseSB0byB0aGUgcG9vbCBwcm9jZXNzZXMgKG9ubHkgaWYgc2V0KQorOyBUaGUgdmFsdWUgY2FuIHZhcnkgZnJvbSAtMTkgKGhpZ2hlc3QgcHJpb3JpdHkpIHRvIDIwIChsb3dlciBwcmlvcml0eSkKKzsgTm90ZTogLSBJdCB3aWxsIG9ubHkgd29yayBpZiB0aGUgRlBNIG1hc3RlciBwcm9jZXNzIGlzIGxhdW5jaGVkIGFzIHJvb3QKKzsgICAgICAgLSBUaGUgcG9vbCBwcm9jZXNzZXMgd2lsbCBpbmhlcml0IHRoZSBtYXN0ZXIgcHJvY2VzcyBwcmlvcml0eQorOyAgICAgICAgIHVubGVzcyBpdCBzcGVjaWZpZWQgb3RoZXJ3aXNlCis7IERlZmF1bHQgVmFsdWU6IG5vIHNldAorOyBwcmlvcml0eSA9IC0xOQorCis7IENob29zZSBob3cgdGhlIHByb2Nlc3MgbWFuYWdlciB3aWxsIGNvbnRyb2wgdGhlIG51bWJlciBvZiBjaGlsZCBwcm9jZXNzZXMuCis7IFBvc3NpYmxlIFZhbHVlczoKKzsgICBzdGF0aWMgIC0gYSBmaXhlZCBudW1iZXIgKHBtLm1heF9jaGlsZHJlbikgb2YgY2hpbGQgcHJvY2Vzc2VzOworOyAgIGR5bmFtaWMgLSB0aGUgbnVtYmVyIG9mIGNoaWxkIHByb2Nlc3NlcyBhcmUgc2V0IGR5bmFtaWNhbGx5IGJhc2VkIG9uIHRoZQorOyAgICAgICAgICAgICBmb2xsb3dpbmcgZGlyZWN0aXZlcy4gV2l0aCB0aGlzIHByb2Nlc3MgbWFuYWdlbWVudCwgdGhlcmUgd2lsbCBiZQorOyAgICAgICAgICAgICBhbHdheXMgYXQgbGVhc3QgMSBjaGlsZHJlbi4KKzsgICAgICAgICAgICAgcG0ubWF4X2NoaWxkcmVuICAgICAgLSB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2hpbGRyZW4gdGhhdCBjYW4KKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZSBhbGl2ZSBhdCB0aGUgc2FtZSB0aW1lLgorOyAgICAgICAgICAgICBwbS5zdGFydF9zZXJ2ZXJzICAgICAtIHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gY3JlYXRlZCBvbiBzdGFydHVwLgorOyAgICAgICAgICAgICBwbS5taW5fc3BhcmVfc2VydmVycyAtIHRoZSBtaW5pbXVtIG51bWJlciBvZiBjaGlsZHJlbiBpbiAnaWRsZScKKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSAod2FpdGluZyB0byBwcm9jZXNzKS4gSWYgdGhlIG51bWJlcgorOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mICdpZGxlJyBwcm9jZXNzZXMgaXMgbGVzcyB0aGFuIHRoaXMKKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXIgdGhlbiBzb21lIGNoaWxkcmVuIHdpbGwgYmUgY3JlYXRlZC4KKzsgICAgICAgICAgICAgcG0ubWF4X3NwYXJlX3NlcnZlcnMgLSB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2hpbGRyZW4gaW4gJ2lkbGUnCis7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgKHdhaXRpbmcgdG8gcHJvY2VzcykuIElmIHRoZSBudW1iZXIKKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiAnaWRsZScgcHJvY2Vzc2VzIGlzIGdyZWF0ZXIgdGhhbiB0aGlzCis7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyIHRoZW4gc29tZSBjaGlsZHJlbiB3aWxsIGJlIGtpbGxlZC4KKzsgIG9uZGVtYW5kIC0gbm8gY2hpbGRyZW4gYXJlIGNyZWF0ZWQgYXQgc3RhcnR1cC4gQ2hpbGRyZW4gd2lsbCBiZSBmb3JrZWQgd2hlbgorOyAgICAgICAgICAgICBuZXcgcmVxdWVzdHMgd2lsbCBjb25uZWN0LiBUaGUgZm9sbG93aW5nIHBhcmFtZXRlciBhcmUgdXNlZDoKKzsgICAgICAgICAgICAgcG0ubWF4X2NoaWxkcmVuICAgICAgICAgICAtIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGlsZHJlbiB0aGF0Cis7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW4gYmUgYWxpdmUgYXQgdGhlIHNhbWUgdGltZS4KKzsgICAgICAgICAgICAgcG0ucHJvY2Vzc19pZGxlX3RpbWVvdXQgICAtIFRoZSBudW1iZXIgb2Ygc2Vjb25kcyBhZnRlciB3aGljaAorOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW4gaWRsZSBwcm9jZXNzIHdpbGwgYmUga2lsbGVkLgorOyBOb3RlOiBUaGlzIHZhbHVlIGlzIG1hbmRhdG9yeS4KK3BtID0gZHluYW1pYworCis7IFRoZSBudW1iZXIgb2YgY2hpbGQgcHJvY2Vzc2VzIHRvIGJlIGNyZWF0ZWQgd2hlbiBwbSBpcyBzZXQgdG8gJ3N0YXRpYycgYW5kIHRoZQorOyBtYXhpbXVtIG51bWJlciBvZiBjaGlsZCBwcm9jZXNzZXMgd2hlbiBwbSBpcyBzZXQgdG8gJ2R5bmFtaWMnIG9yICdvbmRlbWFuZCcuCis7IFRoaXMgdmFsdWUgc2V0cyB0aGUgbGltaXQgb24gdGhlIG51bWJlciBvZiBzaW11bHRhbmVvdXMgcmVxdWVzdHMgdGhhdCB3aWxsIGJlCis7IHNlcnZlZC4gRXF1aXZhbGVudCB0byB0aGUgQXBhY2hlTWF4Q2xpZW50cyBkaXJlY3RpdmUgd2l0aCBtcG1fcHJlZm9yay4KKzsgRXF1aXZhbGVudCB0byB0aGUgUEhQX0ZDR0lfQ0hJTERSRU4gZW52aXJvbm1lbnQgdmFyaWFibGUgaW4gdGhlIG9yaWdpbmFsIFBIUAorOyBDR0kuIFRoZSBiZWxvdyBkZWZhdWx0cyBhcmUgYmFzZWQgb24gYSBzZXJ2ZXIgd2l0aG91dCBtdWNoIHJlc291cmNlcy4gRG9uJ3QKKzsgZm9yZ2V0IHRvIHR3ZWFrIHBtLiogdG8gZml0IHlvdXIgbmVlZHMuCis7IE5vdGU6IFVzZWQgd2hlbiBwbSBpcyBzZXQgdG8gJ3N0YXRpYycsICdkeW5hbWljJyBvciAnb25kZW1hbmQnCis7IE5vdGU6IFRoaXMgdmFsdWUgaXMgbWFuZGF0b3J5LgorcG0ubWF4X2NoaWxkcmVuID0gNQorCis7IFRoZSBudW1iZXIgb2YgY2hpbGQgcHJvY2Vzc2VzIGNyZWF0ZWQgb24gc3RhcnR1cC4KKzsgTm90ZTogVXNlZCBvbmx5IHdoZW4gcG0gaXMgc2V0IHRvICdkeW5hbWljJworOyBEZWZhdWx0IFZhbHVlOiBtaW5fc3BhcmVfc2VydmVycyArIChtYXhfc3BhcmVfc2VydmVycyAtIG1pbl9zcGFyZV9zZXJ2ZXJzKSAvIDIKK3BtLnN0YXJ0X3NlcnZlcnMgPSAyCisKKzsgVGhlIGRlc2lyZWQgbWluaW11bSBudW1iZXIgb2YgaWRsZSBzZXJ2ZXIgcHJvY2Vzc2VzLgorOyBOb3RlOiBVc2VkIG9ubHkgd2hlbiBwbSBpcyBzZXQgdG8gJ2R5bmFtaWMnCis7IE5vdGU6IE1hbmRhdG9yeSB3aGVuIHBtIGlzIHNldCB0byAnZHluYW1pYycKK3BtLm1pbl9zcGFyZV9zZXJ2ZXJzID0gMQorCis7IFRoZSBkZXNpcmVkIG1heGltdW0gbnVtYmVyIG9mIGlkbGUgc2VydmVyIHByb2Nlc3Nlcy4KKzsgTm90ZTogVXNlZCBvbmx5IHdoZW4gcG0gaXMgc2V0IHRvICdkeW5hbWljJworOyBOb3RlOiBNYW5kYXRvcnkgd2hlbiBwbSBpcyBzZXQgdG8gJ2R5bmFtaWMnCitwbS5tYXhfc3BhcmVfc2VydmVycyA9IDMKKworOyBUaGUgbnVtYmVyIG9mIHNlY29uZHMgYWZ0ZXIgd2hpY2ggYW4gaWRsZSBwcm9jZXNzIHdpbGwgYmUga2lsbGVkLgorOyBOb3RlOiBVc2VkIG9ubHkgd2hlbiBwbSBpcyBzZXQgdG8gJ29uZGVtYW5kJworOyBEZWZhdWx0IFZhbHVlOiAxMHMKKztwbS5wcm9jZXNzX2lkbGVfdGltZW91dCA9IDEwczsKKyAKKzsgVGhlIG51bWJlciBvZiByZXF1ZXN0cyBlYWNoIGNoaWxkIHByb2Nlc3Mgc2hvdWxkIGV4ZWN1dGUgYmVmb3JlIHJlc3Bhd25pbmcuCis7IFRoaXMgY2FuIGJlIHVzZWZ1bCB0byB3b3JrIGFyb3VuZCBtZW1vcnkgbGVha3MgaW4gM3JkIHBhcnR5IGxpYnJhcmllcy4gRm9yCis7IGVuZGxlc3MgcmVxdWVzdCBwcm9jZXNzaW5nIHNwZWNpZnkgJzAnLiBFcXVpdmFsZW50IHRvIFBIUF9GQ0dJX01BWF9SRVFVRVNUUy4KKzsgRGVmYXVsdCBWYWx1ZTogMAorO3BtLm1heF9yZXF1ZXN0cyA9IDUwMAorCis7IFRoZSBVUkkgdG8gdmlldyB0aGUgRlBNIHN0YXR1cyBwYWdlLiBJZiB0aGlzIHZhbHVlIGlzIG5vdCBzZXQsIG5vIFVSSSB3aWxsIGJlCis7IHJlY29nbml6ZWQgYXMgYSBzdGF0dXMgcGFnZS4gSXQgc2hvd3MgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbnM6Cis7ICAgcG9vbCAgICAgICAgICAgICAgICAgLSB0aGUgbmFtZSBvZiB0aGUgcG9vbDsKKzsgICBwcm9jZXNzIG1hbmFnZXIgICAgICAtIHN0YXRpYywgZHluYW1pYyBvciBvbmRlbWFuZDsKKzsgICBzdGFydCB0aW1lICAgICAgICAgICAtIHRoZSBkYXRlIGFuZCB0aW1lIEZQTSBoYXMgc3RhcnRlZDsKKzsgICBzdGFydCBzaW5jZSAgICAgICAgICAtIG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIEZQTSBoYXMgc3RhcnRlZDsKKzsgICBhY2NlcHRlZCBjb25uICAgICAgICAtIHRoZSBudW1iZXIgb2YgcmVxdWVzdCBhY2NlcHRlZCBieSB0aGUgcG9vbDsKKzsgICBsaXN0ZW4gcXVldWUgICAgICAgICAtIHRoZSBudW1iZXIgb2YgcmVxdWVzdCBpbiB0aGUgcXVldWUgb2YgcGVuZGluZworOyAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbnMgKHNlZSBiYWNrbG9nIGluIGxpc3RlbigyKSk7Cis7ICAgbWF4IGxpc3RlbiBxdWV1ZSAgICAgLSB0aGUgbWF4aW11bSBudW1iZXIgb2YgcmVxdWVzdHMgaW4gdGhlIHF1ZXVlCis7ICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBwZW5kaW5nIGNvbm5lY3Rpb25zIHNpbmNlIEZQTSBoYXMgc3RhcnRlZDsKKzsgICBsaXN0ZW4gcXVldWUgbGVuICAgICAtIHRoZSBzaXplIG9mIHRoZSBzb2NrZXQgcXVldWUgb2YgcGVuZGluZyBjb25uZWN0aW9uczsKKzsgICBpZGxlIHByb2Nlc3NlcyAgICAgICAtIHRoZSBudW1iZXIgb2YgaWRsZSBwcm9jZXNzZXM7Cis7ICAgYWN0aXZlIHByb2Nlc3NlcyAgICAgLSB0aGUgbnVtYmVyIG9mIGFjdGl2ZSBwcm9jZXNzZXM7Cis7ICAgdG90YWwgcHJvY2Vzc2VzICAgICAgLSB0aGUgbnVtYmVyIG9mIGlkbGUgKyBhY3RpdmUgcHJvY2Vzc2VzOworOyAgIG1heCBhY3RpdmUgcHJvY2Vzc2VzIC0gdGhlIG1heGltdW0gbnVtYmVyIG9mIGFjdGl2ZSBwcm9jZXNzZXMgc2luY2UgRlBNCis7ICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgc3RhcnRlZDsKKzsgICBtYXggY2hpbGRyZW4gcmVhY2hlZCAtIG51bWJlciBvZiB0aW1lcywgdGhlIHByb2Nlc3MgbGltaXQgaGFzIGJlZW4gcmVhY2hlZCwKKzsgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gcG0gdHJpZXMgdG8gc3RhcnQgbW9yZSBjaGlsZHJlbiAod29ya3Mgb25seSBmb3IKKzsgICAgICAgICAgICAgICAgICAgICAgICAgIHBtICdkeW5hbWljJyBhbmQgJ29uZGVtYW5kJyk7Cis7IFZhbHVlIGFyZSB1cGRhdGVkIGluIHJlYWwgdGltZS4KKzsgRXhhbXBsZSBvdXRwdXQ6Cis7ICAgcG9vbDogICAgICAgICAgICAgICAgIHd3dworOyAgIHByb2Nlc3MgbWFuYWdlcjogICAgICBzdGF0aWMKKzsgICBzdGFydCB0aW1lOiAgICAgICAgICAgMDEvSnVsLzIwMTE6MTc6NTM6NDkgKzAyMDAKKzsgICBzdGFydCBzaW5jZTogICAgICAgICAgNjI2MzYKKzsgICBhY2NlcHRlZCBjb25uOiAgICAgICAgMTkwNDYwCis7ICAgbGlzdGVuIHF1ZXVlOiAgICAgICAgIDAKKzsgICBtYXggbGlzdGVuIHF1ZXVlOiAgICAgMQorOyAgIGxpc3RlbiBxdWV1ZSBsZW46ICAgICA0MgorOyAgIGlkbGUgcHJvY2Vzc2VzOiAgICAgICA0Cis7ICAgYWN0aXZlIHByb2Nlc3NlczogICAgIDExCis7ICAgdG90YWwgcHJvY2Vzc2VzOiAgICAgIDE1Cis7ICAgbWF4IGFjdGl2ZSBwcm9jZXNzZXM6IDEyCis7ICAgbWF4IGNoaWxkcmVuIHJlYWNoZWQ6IDAKKzsKKzsgQnkgZGVmYXVsdCB0aGUgc3RhdHVzIHBhZ2Ugb3V0cHV0IGlzIGZvcm1hdHRlZCBhcyB0ZXh0L3BsYWluLiBQYXNzaW5nIGVpdGhlcgorOyAnaHRtbCcsICd4bWwnIG9yICdqc29uJyBpbiB0aGUgcXVlcnkgc3RyaW5nIHdpbGwgcmV0dXJuIHRoZSBjb3JyZXNwb25kaW5nCis7IG91dHB1dCBzeW50YXguIEV4YW1wbGU6Cis7ICAgaHR0cDovL3d3dy5mb28uYmFyL3N0YXR1cworOyAgIGh0dHA6Ly93d3cuZm9vLmJhci9zdGF0dXM/anNvbgorOyAgIGh0dHA6Ly93d3cuZm9vLmJhci9zdGF0dXM/aHRtbAorOyAgIGh0dHA6Ly93d3cuZm9vLmJhci9zdGF0dXM/eG1sCis7Cis7IEJ5IGRlZmF1bHQgdGhlIHN0YXR1cyBwYWdlIG9ubHkgb3V0cHV0cyBzaG9ydCBzdGF0dXMuIFBhc3NpbmcgJ2Z1bGwnIGluIHRoZQorOyBxdWVyeSBzdHJpbmcgd2lsbCBhbHNvIHJldHVybiBzdGF0dXMgZm9yIGVhY2ggcG9vbCBwcm9jZXNzLgorOyBFeGFtcGxlOiAKKzsgICBodHRwOi8vd3d3LmZvby5iYXIvc3RhdHVzP2Z1bGwKKzsgICBodHRwOi8vd3d3LmZvby5iYXIvc3RhdHVzP2pzb24mZnVsbAorOyAgIGh0dHA6Ly93d3cuZm9vLmJhci9zdGF0dXM/aHRtbCZmdWxsCis7ICAgaHR0cDovL3d3dy5mb28uYmFyL3N0YXR1cz94bWwmZnVsbAorOyBUaGUgRnVsbCBzdGF0dXMgcmV0dXJucyBmb3IgZWFjaCBwcm9jZXNzOgorOyAgIHBpZCAgICAgICAgICAgICAgICAgIC0gdGhlIFBJRCBvZiB0aGUgcHJvY2VzczsKKzsgICBzdGF0ZSAgICAgICAgICAgICAgICAtIHRoZSBzdGF0ZSBvZiB0aGUgcHJvY2VzcyAoSWRsZSwgUnVubmluZywgLi4uKTsKKzsgICBzdGFydCB0aW1lICAgICAgICAgICAtIHRoZSBkYXRlIGFuZCB0aW1lIHRoZSBwcm9jZXNzIGhhcyBzdGFydGVkOworOyAgIHN0YXJ0IHNpbmNlICAgICAgICAgIC0gdGhlIG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIHRoZSBwcm9jZXNzIGhhcyBzdGFydGVkOworOyAgIHJlcXVlc3RzICAgICAgICAgICAgIC0gdGhlIG51bWJlciBvZiByZXF1ZXN0cyB0aGUgcHJvY2VzcyBoYXMgc2VydmVkOworOyAgIHJlcXVlc3QgZHVyYXRpb24gICAgIC0gdGhlIGR1cmF0aW9uIGluIMK1cyBvZiB0aGUgcmVxdWVzdHM7Cis7ICAgcmVxdWVzdCBtZXRob2QgICAgICAgLSB0aGUgcmVxdWVzdCBtZXRob2QgKEdFVCwgUE9TVCwgLi4uKTsKKzsgICByZXF1ZXN0IFVSSSAgICAgICAgICAtIHRoZSByZXF1ZXN0IFVSSSB3aXRoIHRoZSBxdWVyeSBzdHJpbmc7Cis7ICAgY29udGVudCBsZW5ndGggICAgICAgLSB0aGUgY29udGVudCBsZW5ndGggb2YgdGhlIHJlcXVlc3QgKG9ubHkgd2l0aCBQT1NUKTsKKzsgICB1c2VyICAgICAgICAgICAgICAgICAtIHRoZSB1c2VyIChQSFBfQVVUSF9VU0VSKSAob3IgJy0nIGlmIG5vdCBzZXQpOworOyAgIHNjcmlwdCAgICAgICAgICAgICAgIC0gdGhlIG1haW4gc2NyaXB0IGNhbGxlZCAob3IgJy0nIGlmIG5vdCBzZXQpOworOyAgIGxhc3QgcmVxdWVzdCBjcHUgICAgIC0gdGhlICVjcHUgdGhlIGxhc3QgcmVxdWVzdCBjb25zdW1lZAorOyAgICAgICAgICAgICAgICAgICAgICAgICAgaXQncyBhbHdheXMgMCBpZiB0aGUgcHJvY2VzcyBpcyBub3QgaW4gSWRsZSBzdGF0ZQorOyAgICAgICAgICAgICAgICAgICAgICAgICAgYmVjYXVzZSBDUFUgY2FsY3VsYXRpb24gaXMgZG9uZSB3aGVuIHRoZSByZXF1ZXN0Cis7ICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nIGhhcyB0ZXJtaW5hdGVkOworOyAgIGxhc3QgcmVxdWVzdCBtZW1vcnkgIC0gdGhlIG1heCBhbW91bnQgb2YgbWVtb3J5IHRoZSBsYXN0IHJlcXVlc3QgY29uc3VtZWQKKzsgICAgICAgICAgICAgICAgICAgICAgICAgIGl0J3MgYWx3YXlzIDAgaWYgdGhlIHByb2Nlc3MgaXMgbm90IGluIElkbGUgc3RhdGUKKzsgICAgICAgICAgICAgICAgICAgICAgICAgIGJlY2F1c2UgbWVtb3J5IGNhbGN1bGF0aW9uIGlzIGRvbmUgd2hlbiB0aGUgcmVxdWVzdAorOyAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2luZyBoYXMgdGVybWluYXRlZDsKKzsgSWYgdGhlIHByb2Nlc3MgaXMgaW4gSWRsZSBzdGF0ZSwgdGhlbiBpbmZvcm1hdGlvbnMgYXJlIHJlbGF0ZWQgdG8gdGhlCis7IGxhc3QgcmVxdWVzdCB0aGUgcHJvY2VzcyBoYXMgc2VydmVkLiBPdGhlcndpc2UgaW5mb3JtYXRpb25zIGFyZSByZWxhdGVkIHRvCis7IHRoZSBjdXJyZW50IHJlcXVlc3QgYmVpbmcgc2VydmVkLgorOyBFeGFtcGxlIG91dHB1dDoKKzsgICAqKioqKioqKioqKioqKioqKioqKioqKioKKzsgICBwaWQ6ICAgICAgICAgICAgICAgICAgMzEzMzAKKzsgICBzdGF0ZTogICAgICAgICAgICAgICAgUnVubmluZworOyAgIHN0YXJ0IHRpbWU6ICAgICAgICAgICAwMS9KdWwvMjAxMToxNzo1Mzo0OSArMDIwMAorOyAgIHN0YXJ0IHNpbmNlOiAgICAgICAgICA2MzA4NworOyAgIHJlcXVlc3RzOiAgICAgICAgICAgICAxMjgwOAorOyAgIHJlcXVlc3QgZHVyYXRpb246ICAgICAxMjUwMjYxCis7ICAgcmVxdWVzdCBtZXRob2Q6ICAgICAgIEdFVAorOyAgIHJlcXVlc3QgVVJJOiAgICAgICAgICAvdGVzdF9tZW0ucGhwP049MTAwMDAKKzsgICBjb250ZW50IGxlbmd0aDogICAgICAgMAorOyAgIHVzZXI6ICAgICAgICAgICAgICAgICAtCis7ICAgc2NyaXB0OiAgICAgICAgICAgICAgIC9ob21lL2ZhdC93ZWIvZG9jcy9waHAvdGVzdF9tZW0ucGhwCis7ICAgbGFzdCByZXF1ZXN0IGNwdTogICAgIDAuMDAKKzsgICBsYXN0IHJlcXVlc3QgbWVtb3J5OiAgMAorOworOyBOb3RlOiBUaGVyZSBpcyBhIHJlYWwtdGltZSBGUE0gc3RhdHVzIG1vbml0b3Jpbmcgc2FtcGxlIHdlYiBwYWdlIGF2YWlsYWJsZQorOyAgICAgICBJdCdzIGF2YWlsYWJsZSBpbjogL3Vzci9zaGFyZS9mcG0vc3RhdHVzLmh0bWwKKzsKKzsgTm90ZTogVGhlIHZhbHVlIG11c3Qgc3RhcnQgd2l0aCBhIGxlYWRpbmcgc2xhc2ggKC8pLiBUaGUgdmFsdWUgY2FuIGJlCis7ICAgICAgIGFueXRoaW5nLCBidXQgaXQgbWF5IG5vdCBiZSBhIGdvb2QgaWRlYSB0byB1c2UgdGhlIC5waHAgZXh0ZW5zaW9uIG9yIGl0Cis7ICAgICAgIG1heSBjb25mbGljdCB3aXRoIGEgcmVhbCBQSFAgZmlsZS4KKzsgRGVmYXVsdCBWYWx1ZTogbm90IHNldCAKKztwbS5zdGF0dXNfcGF0aCA9IC9zdGF0dXMKKyAKKzsgVGhlIHBpbmcgVVJJIHRvIGNhbGwgdGhlIG1vbml0b3JpbmcgcGFnZSBvZiBGUE0uIElmIHRoaXMgdmFsdWUgaXMgbm90IHNldCwgbm8KKzsgVVJJIHdpbGwgYmUgcmVjb2duaXplZCBhcyBhIHBpbmcgcGFnZS4gVGhpcyBjb3VsZCBiZSB1c2VkIHRvIHRlc3QgZnJvbSBvdXRzaWRlCis7IHRoYXQgRlBNIGlzIGFsaXZlIGFuZCByZXNwb25kaW5nLCBvciB0bworOyAtIGNyZWF0ZSBhIGdyYXBoIG9mIEZQTSBhdmFpbGFiaWxpdHkgKHJyZCBvciBzdWNoKTsKKzsgLSByZW1vdmUgYSBzZXJ2ZXIgZnJvbSBhIGdyb3VwIGlmIGl0IGlzIG5vdCByZXNwb25kaW5nIChsb2FkIGJhbGFuY2luZyk7Cis7IC0gdHJpZ2dlciBhbGVydHMgZm9yIHRoZSBvcGVyYXRpbmcgdGVhbSAoMjQvNykuCis7IE5vdGU6IFRoZSB2YWx1ZSBtdXN0IHN0YXJ0IHdpdGggYSBsZWFkaW5nIHNsYXNoICgvKS4gVGhlIHZhbHVlIGNhbiBiZQorOyAgICAgICBhbnl0aGluZywgYnV0IGl0IG1heSBub3QgYmUgYSBnb29kIGlkZWEgdG8gdXNlIHRoZSAucGhwIGV4dGVuc2lvbiBvciBpdAorOyAgICAgICBtYXkgY29uZmxpY3Qgd2l0aCBhIHJlYWwgUEhQIGZpbGUuCis7IERlZmF1bHQgVmFsdWU6IG5vdCBzZXQKKztwaW5nLnBhdGggPSAvcGluZworCis7IFRoaXMgZGlyZWN0aXZlIG1heSBiZSB1c2VkIHRvIGN1c3RvbWl6ZSB0aGUgcmVzcG9uc2Ugb2YgYSBwaW5nIHJlcXVlc3QuIFRoZQorOyByZXNwb25zZSBpcyBmb3JtYXR0ZWQgYXMgdGV4dC9wbGFpbiB3aXRoIGEgMjAwIHJlc3BvbnNlIGNvZGUuCis7IERlZmF1bHQgVmFsdWU6IHBvbmcKKztwaW5nLnJlc3BvbnNlID0gcG9uZworCis7IFRoZSBhY2Nlc3MgbG9nIGZpbGUKKzsgRGVmYXVsdDogbm90IHNldAorO2FjY2Vzcy5sb2cgPSBsb2cvJHBvb2wuYWNjZXNzLmxvZworCis7IFRoZSBhY2Nlc3MgbG9nIGZvcm1hdC4KKzsgVGhlIGZvbGxvd2luZyBzeW50YXggaXMgYWxsb3dlZAorOyAgJSU6IHRoZSAnJScgY2hhcmFjdGVyCis7ICAlQzogJUNQVSB1c2VkIGJ5IHRoZSByZXF1ZXN0Cis7ICAgICAgaXQgY2FuIGFjY2VwdCB0aGUgZm9sbG93aW5nIGZvcm1hdDoKKzsgICAgICAtICV7dXNlcn1DIGZvciB1c2VyIENQVSBvbmx5Cis7ICAgICAgLSAle3N5c3RlbX1DIGZvciBzeXN0ZW0gQ1BVIG9ubHkKKzsgICAgICAtICV7dG90YWx9QyAgZm9yIHVzZXIgKyBzeXN0ZW0gQ1BVIChkZWZhdWx0KQorOyAgJWQ6IHRpbWUgdGFrZW4gdG8gc2VydmUgdGhlIHJlcXVlc3QKKzsgICAgICBpdCBjYW4gYWNjZXB0IHRoZSBmb2xsb3dpbmcgZm9ybWF0OgorOyAgICAgIC0gJXtzZWNvbmRzfWQgKGRlZmF1bHQpCis7ICAgICAgLSAle21pbGlzZWNvbmRzfWQKKzsgICAgICAtICV7bWlsaX1kCis7ICAgICAgLSAle21pY3Jvc2Vjb25kc31kCis7ICAgICAgLSAle21pY3JvfWQKKzsgICVlOiBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSAoc2FtZSBhcyAkX0VOViBvciAkX1NFUlZFUikKKzsgICAgICBpdCBtdXN0IGJlIGFzc29jaWF0ZWQgd2l0aCBlbWJyYWNlcyB0byBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBlbnYKKzsgICAgICB2YXJpYWJsZS4gU29tZSBleGVtcGxlczoKKzsgICAgICAtIHNlcnZlciBzcGVjaWZpY3MgbGlrZTogJXtSRVFVRVNUX01FVEhPRH1lIG9yICV7U0VSVkVSX1BST1RPQ09MfWUKKzsgICAgICAtIEhUVFAgaGVhZGVycyBsaWtlOiAle0hUVFBfSE9TVH1lIG9yICV7SFRUUF9VU0VSX0FHRU5UfWUKKzsgICVmOiBzY3JpcHQgZmlsZW5hbWUKKzsgICVsOiBjb250ZW50LWxlbmd0aCBvZiB0aGUgcmVxdWVzdCAoZm9yIFBPU1QgcmVxdWVzdCBvbmx5KQorOyAgJW06IHJlcXVlc3QgbWV0aG9kCis7ICAlTTogcGVhayBvZiBtZW1vcnkgYWxsb2NhdGVkIGJ5IFBIUAorOyAgICAgIGl0IGNhbiBhY2NlcHQgdGhlIGZvbGxvd2luZyBmb3JtYXQ6Cis7ICAgICAgLSAle2J5dGVzfU0gKGRlZmF1bHQpCis7ICAgICAgLSAle2tpbG9ieXRlc31NCis7ICAgICAgLSAle2tpbG99TQorOyAgICAgIC0gJXttZWdhYnl0ZXN9TQorOyAgICAgIC0gJXttZWdhfU0KKzsgICVuOiBwb29sIG5hbWUKKzsgICVvOiBvdXB1dCBoZWFkZXIKKzsgICAgICBpdCBtdXN0IGJlIGFzc29jaWF0ZWQgd2l0aCBlbWJyYWNlcyB0byBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBoZWFkZXI6Cis7ICAgICAgLSAle0NvbnRlbnQtVHlwZX1vCis7ICAgICAgLSAle1gtUG93ZXJlZC1CeX1vCis7ICAgICAgLSAle1RyYW5zZmVydC1FbmNvZGluZ31vCis7ICAgICAgLSAuLi4uCis7ICAlcDogUElEIG9mIHRoZSBjaGlsZCB0aGF0IHNlcnZpY2VkIHRoZSByZXF1ZXN0Cis7ICAlUDogUElEIG9mIHRoZSBwYXJlbnQgb2YgdGhlIGNoaWxkIHRoYXQgc2VydmljZWQgdGhlIHJlcXVlc3QKKzsgICVxOiB0aGUgcXVlcnkgc3RyaW5nIAorOyAgJVE6IHRoZSAnPycgY2hhcmFjdGVyIGlmIHF1ZXJ5IHN0cmluZyBleGlzdHMKKzsgICVyOiB0aGUgcmVxdWVzdCBVUkkgKHdpdGhvdXQgdGhlIHF1ZXJ5IHN0cmluZywgc2VlICVxIGFuZCAlUSkKKzsgICVSOiByZW1vdGUgSVAgYWRkcmVzcworOyAgJXM6IHN0YXR1cyAocmVzcG9uc2UgY29kZSkKKzsgICV0OiBzZXJ2ZXIgdGltZSB0aGUgcmVxdWVzdCB3YXMgcmVjZWl2ZWQKKzsgICAgICBpdCBjYW4gYWNjZXB0IGEgc3RyZnRpbWUoMykgZm9ybWF0OgorOyAgICAgICVkLyViLyVZOiVIOiVNOiVTICV6IChkZWZhdWx0KQorOyAgJVQ6IHRpbWUgdGhlIGxvZyBoYXMgYmVlbiB3cml0dGVuICh0aGUgcmVxdWVzdCBoYXMgZmluaXNoZWQpCis7ICAgICAgaXQgY2FuIGFjY2VwdCBhIHN0cmZ0aW1lKDMpIGZvcm1hdDoKKzsgICAgICAlZC8lYi8lWTolSDolTTolUyAleiAoZGVmYXVsdCkKKzsgICV1OiByZW1vdGUgdXNlcgorOworOyBEZWZhdWx0OiAiJVIgLSAldSAldCBcIiVtICVyXCIgJXMiCis7YWNjZXNzLmZvcm1hdCA9ICIlUiAtICV1ICV0IFwiJW0gJXIlUSVxXCIgJXMgJWYgJXttaWxpfWQgJXtraWxvfU0gJUMlJSIKKyAKKzsgVGhlIGxvZyBmaWxlIGZvciBzbG93IHJlcXVlc3RzCis7IERlZmF1bHQgVmFsdWU6IG5vdCBzZXQKKzsgTm90ZTogc2xvd2xvZyBpcyBtYW5kYXRvcnkgaWYgcmVxdWVzdF9zbG93bG9nX3RpbWVvdXQgaXMgc2V0Cis7c2xvd2xvZyA9IGxvZy8kcG9vbC5sb2cuc2xvdworIAorOyBUaGUgdGltZW91dCBmb3Igc2VydmluZyBhIHNpbmdsZSByZXF1ZXN0IGFmdGVyIHdoaWNoIGEgUEhQIGJhY2t0cmFjZSB3aWxsIGJlCis7IGR1bXBlZCB0byB0aGUgJ3Nsb3dsb2cnIGZpbGUuIEEgdmFsdWUgb2YgJzBzJyBtZWFucyAnb2ZmJy4KKzsgQXZhaWxhYmxlIHVuaXRzOiBzKGVjb25kcykoZGVmYXVsdCksIG0oaW51dGVzKSwgaChvdXJzKSwgb3IgZChheXMpCis7IERlZmF1bHQgVmFsdWU6IDAKKztyZXF1ZXN0X3Nsb3dsb2dfdGltZW91dCA9IDAKKyAKKzsgVGhlIHRpbWVvdXQgZm9yIHNlcnZpbmcgYSBzaW5nbGUgcmVxdWVzdCBhZnRlciB3aGljaCB0aGUgd29ya2VyIHByb2Nlc3Mgd2lsbAorOyBiZSBraWxsZWQuIFRoaXMgb3B0aW9uIHNob3VsZCBiZSB1c2VkIHdoZW4gdGhlICdtYXhfZXhlY3V0aW9uX3RpbWUnIGluaSBvcHRpb24KKzsgZG9lcyBub3Qgc3RvcCBzY3JpcHQgZXhlY3V0aW9uIGZvciBzb21lIHJlYXNvbi4gQSB2YWx1ZSBvZiAnMCcgbWVhbnMgJ29mZicuCis7IEF2YWlsYWJsZSB1bml0czogcyhlY29uZHMpKGRlZmF1bHQpLCBtKGludXRlcyksIGgob3VycyksIG9yIGQoYXlzKQorOyBEZWZhdWx0IFZhbHVlOiAwCis7cmVxdWVzdF90ZXJtaW5hdGVfdGltZW91dCA9IDAKKyAKKzsgU2V0IG9wZW4gZmlsZSBkZXNjcmlwdG9yIHJsaW1pdC4KKzsgRGVmYXVsdCBWYWx1ZTogc3lzdGVtIGRlZmluZWQgdmFsdWUKKztybGltaXRfZmlsZXMgPSAxMDI0CisgCis7IFNldCBtYXggY29yZSBzaXplIHJsaW1pdC4KKzsgUG9zc2libGUgVmFsdWVzOiAndW5saW1pdGVkJyBvciBhbiBpbnRlZ2VyIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMAorOyBEZWZhdWx0IFZhbHVlOiBzeXN0ZW0gZGVmaW5lZCB2YWx1ZQorO3JsaW1pdF9jb3JlID0gMAorIAorOyBDaHJvb3QgdG8gdGhpcyBkaXJlY3RvcnkgYXQgdGhlIHN0YXJ0LiBUaGlzIHZhbHVlIG11c3QgYmUgZGVmaW5lZCBhcyBhbgorOyBhYnNvbHV0ZSBwYXRoLiBXaGVuIHRoaXMgdmFsdWUgaXMgbm90IHNldCwgY2hyb290IGlzIG5vdCB1c2VkLgorOyBOb3RlOiB5b3UgY2FuIHByZWZpeCB3aXRoICckcHJlZml4JyB0byBjaHJvb3QgdG8gdGhlIHBvb2wgcHJlZml4IG9yIG9uZQorOyBvZiBpdHMgc3ViZGlyZWN0b3JpZXMuIElmIHRoZSBwb29sIHByZWZpeCBpcyBub3Qgc2V0LCB0aGUgZ2xvYmFsIHByZWZpeAorOyB3aWxsIGJlIHVzZWQgaW5zdGVhZC4KKzsgTm90ZTogY2hyb290aW5nIGlzIGEgZ3JlYXQgc2VjdXJpdHkgZmVhdHVyZSBhbmQgc2hvdWxkIGJlIHVzZWQgd2hlbmV2ZXIgCis7ICAgICAgIHBvc3NpYmxlLiBIb3dldmVyLCBhbGwgUEhQIHBhdGhzIHdpbGwgYmUgcmVsYXRpdmUgdG8gdGhlIGNocm9vdAorOyAgICAgICAoZXJyb3JfbG9nLCBzZXNzaW9ucy5zYXZlX3BhdGgsIC4uLikuCis7IERlZmF1bHQgVmFsdWU6IG5vdCBzZXQKKztjaHJvb3QgPSAKKyAKKzsgQ2hkaXIgdG8gdGhpcyBkaXJlY3RvcnkgYXQgdGhlIHN0YXJ0LgorOyBOb3RlOiByZWxhdGl2ZSBwYXRoIGNhbiBiZSB1c2VkLgorOyBEZWZhdWx0IFZhbHVlOiBjdXJyZW50IGRpcmVjdG9yeSBvciAvIHdoZW4gY2hyb290Cis7Y2hkaXIgPSAvdmFyL3d3dworIAorOyBSZWRpcmVjdCB3b3JrZXIgc3Rkb3V0IGFuZCBzdGRlcnIgaW50byBtYWluIGVycm9yIGxvZy4gSWYgbm90IHNldCwgc3Rkb3V0IGFuZAorOyBzdGRlcnIgd2lsbCBiZSByZWRpcmVjdGVkIHRvIC9kZXYvbnVsbCBhY2NvcmRpbmcgdG8gRmFzdENHSSBzcGVjcy4KKzsgTm90ZTogb24gaGlnaGxvYWRlZCBlbnZpcm9uZW1lbnQsIHRoaXMgY2FuIGNhdXNlIHNvbWUgZGVsYXkgaW4gdGhlIHBhZ2UKKzsgcHJvY2VzcyB0aW1lIChzZXZlcmFsIG1zKS4KKzsgRGVmYXVsdCBWYWx1ZTogbm8KKztjYXRjaF93b3JrZXJzX291dHB1dCA9IHllcworCis7IExpbWl0cyB0aGUgZXh0ZW5zaW9ucyBvZiB0aGUgbWFpbiBzY3JpcHQgRlBNIHdpbGwgYWxsb3cgdG8gcGFyc2UuIFRoaXMgY2FuCis7IHByZXZlbnQgY29uZmlndXJhdGlvbiBtaXN0YWtlcyBvbiB0aGUgd2ViIHNlcnZlciBzaWRlLiBZb3Ugc2hvdWxkIG9ubHkgbGltaXQKKzsgRlBNIHRvIC5waHAgZXh0ZW5zaW9ucyB0byBwcmV2ZW50IG1hbGljaW91cyB1c2VycyB0byB1c2Ugb3RoZXIgZXh0ZW5zaW9ucyB0bworOyBleGVjdHV0ZSBwaHAgY29kZS4KKzsgTm90ZTogc2V0IGFuIGVtcHR5IHZhbHVlIHRvIGFsbG93IGFsbCBleHRlbnNpb25zLgorOyBEZWZhdWx0IFZhbHVlOiAucGhwCis7c2VjdXJpdHkubGltaXRfZXh0ZW5zaW9ucyA9IC5waHAgLnBocDMgLnBocDQgLnBocDUKKyAKKzsgUGFzcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgbGlrZSBMRF9MSUJSQVJZX1BBVEguIEFsbCAkVkFSSUFCTEVzIGFyZSB0YWtlbiBmcm9tCis7IHRoZSBjdXJyZW50IGVudmlyb25tZW50LgorOyBEZWZhdWx0IFZhbHVlOiBjbGVhbiBlbnYKKztlbnZbSE9TVE5BTUVdID0gJEhPU1ROQU1FCis7ZW52W1BBVEhdID0gL3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbgorO2VudltUTVBdID0gL3RtcAorO2VudltUTVBESVJdID0gL3RtcAorO2VudltURU1QXSA9IC90bXAKKworOyBBZGRpdGlvbmFsIHBocC5pbmkgZGVmaW5lcywgc3BlY2lmaWMgdG8gdGhpcyBwb29sIG9mIHdvcmtlcnMuIFRoZXNlIHNldHRpbmdzCis7IG92ZXJ3cml0ZSB0aGUgdmFsdWVzIHByZXZpb3VzbHkgZGVmaW5lZCBpbiB0aGUgcGhwLmluaS4gVGhlIGRpcmVjdGl2ZXMgYXJlIHRoZQorOyBzYW1lIGFzIHRoZSBQSFAgU0FQSToKKzsgICBwaHBfdmFsdWUvcGhwX2ZsYWcgICAgICAgICAgICAgLSB5b3UgY2FuIHNldCBjbGFzc2ljIGluaSBkZWZpbmVzIHdoaWNoIGNhbgorOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIG92ZXJ3cml0dGVuIGZyb20gUEhQIGNhbGwgJ2luaV9zZXQnLiAKKzsgICBwaHBfYWRtaW5fdmFsdWUvcGhwX2FkbWluX2ZsYWcgLSB0aGVzZSBkaXJlY3RpdmVzIHdvbid0IGJlIG92ZXJ3cml0dGVuIGJ5Cis7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBIUCBjYWxsICdpbmlfc2V0JworOyBGb3IgcGhwXypmbGFnLCB2YWxpZCB2YWx1ZXMgYXJlIG9uLCBvZmYsIDEsIDAsIHRydWUsIGZhbHNlLCB5ZXMgb3Igbm8uCisKKzsgRGVmaW5pbmcgJ2V4dGVuc2lvbicgd2lsbCBsb2FkIHRoZSBjb3JyZXNwb25kaW5nIHNoYXJlZCBleHRlbnNpb24gZnJvbQorOyBleHRlbnNpb25fZGlyLiBEZWZpbmluZyAnZGlzYWJsZV9mdW5jdGlvbnMnIG9yICdkaXNhYmxlX2NsYXNzZXMnIHdpbGwgbm90Cis7IG92ZXJ3cml0ZSBwcmV2aW91c2x5IGRlZmluZWQgcGhwLmluaSB2YWx1ZXMsIGJ1dCB3aWxsIGFwcGVuZCB0aGUgbmV3IHZhbHVlCis7IGluc3RlYWQuCisKKzsgTm90ZTogcGF0aCBJTkkgb3B0aW9ucyBjYW4gYmUgcmVsYXRpdmUgYW5kIHdpbGwgYmUgZXhwYW5kZWQgd2l0aCB0aGUgcHJlZml4Cis7IChwb29sLCBnbG9iYWwgb3IgL3VzcikKKworOyBEZWZhdWx0IFZhbHVlOiBub3RoaW5nIGlzIGRlZmluZWQgYnkgZGVmYXVsdCBleGNlcHQgdGhlIHZhbHVlcyBpbiBwaHAuaW5pIGFuZAorOyAgICAgICAgICAgICAgICBzcGVjaWZpZWQgYXQgc3RhcnR1cCB3aXRoIHRoZSAtZCBhcmd1bWVudAorO3BocF9hZG1pbl92YWx1ZVtzZW5kbWFpbF9wYXRoXSA9IC91c3Ivc2Jpbi9zZW5kbWFpbCAtdCAtaSAtZiB3d3dAbXkuZG9tYWluLmNvbQorO3BocF9mbGFnW2Rpc3BsYXlfZXJyb3JzXSA9IG9mZgorO3BocF9hZG1pbl92YWx1ZVtlcnJvcl9sb2ddID0gL3Zhci9sb2cvZnBtLXBocC53d3cubG9nCis7cGhwX2FkbWluX2ZsYWdbbG9nX2Vycm9yc10gPSBvbgorO3BocF9hZG1pbl92YWx1ZVttZW1vcnlfbGltaXRdID0gMzJNCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BocC1mcG0uc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhwLWZwbS5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjNzlkYzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BocC1mcG0uc2VydmljZQpAQCAtMCwwICsxLDEwIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVBIUC1GUE0KK0FmdGVyPW5ldHdvcmsudGFyZ2V0CitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworUElERmlsZT1ATE9DQUxTVEFURURJUkAvcnVuL3BocC1mcG0ucGlkCitFeGVjU3RhcnQ9QFNZU0NPTkZESVJAL2luaXQuZC9waHAtZnBtIHN0YXJ0CitFeGVjU3RvcD1AU1lTQ09ORkRJUkAvaW5pdC5kL3BocC1mcG0gc3RvcAorW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9waHBfZXhlY19uYXRpdmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3BocF9leGVjX25hdGl2ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTA2YmRkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9waHBfZXhlY19uYXRpdmUucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJpYXRlCisKK2RpZmYgLS1naXQgYS9zYXBpL2NsaS9jb25maWcubTQgYi9zYXBpL2NsaS9jb25maWcubTQKK2luZGV4IGNkZmExZjcuLjBmZTExZTMgMTAwNjQ0CistLS0gYS9zYXBpL2NsaS9jb25maWcubTQKKysrKyBiL3NhcGkvY2xpL2NvbmZpZy5tNAorQEAgLTM2LDcgKzM2LDcgQEAgaWYgdGVzdCAiJFBIUF9DTEkiICE9ICJubyI7IHRoZW4KKyAgIGVzYWMKKyAKKyAgIGRubCBTZXQgZXhlY3V0YWJsZSBmb3IgdGVzdHMKKy0gIFBIUF9FWEVDVVRBQkxFPSJcJCh0b3BfYnVpbGRkaXIpL1wkKFNBUElfQ0xJX1BBVEgpIgorKyAgUEhQX0VYRUNVVEFCTEU9IiR7UEhQX05BVElWRV9ESVJ9L3BocCIKKyAgIFBIUF9TVUJTVChQSFBfRVhFQ1VUQUJMRSkKKyAKKyAgIGRubCBFeHBvc2UgdG8gTWFrZWZpbGUKKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9wdGhyZWFkLWNoZWNrLXRocmVhZHMtbTQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL3B0aHJlYWQtY2hlY2stdGhyZWFkcy1tNC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzU2NGNkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9wdGhyZWFkLWNoZWNrLXRocmVhZHMtbTQucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSBkODA2N2NlYWNiZjU0ZTc5YzljNmI2ODY3NTMzMmMwOWVhYTBiNTVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgOCBBcHIgMjAxMyAxNDoyOTo1MSArMDgwMAorU3ViamVjdDogW1BBVENIXSBwdGhyZWFkLWNoZWNrCisKK0VuYWJsZSBwdGhyZWFkcyBzdXBwb3J0IHdoZW4gY3Jvc3MtY29tcGlsaW5nCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByYXRlIFtjb25maWddCisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBUU1JNL3RocmVhZHMubTQgfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9UU1JNL3RocmVhZHMubTQgYi9UU1JNL3RocmVhZHMubTQKK2luZGV4IDM4NDk0Y2UuLjE1ZDk0NTQgMTAwNjQ0CistLS0gYS9UU1JNL3RocmVhZHMubTQKKysrKyBiL1RTUk0vdGhyZWFkcy5tNAorQEAgLTg2LDcgKzg2LDcgQEAgaW50IG1haW4oKSB7CisgICBwdGhyZWFkc193b3JraW5nPW5vCisgICBdLCBbCisgICBkbmwgRm9yIGNyb3NzIGNvbXBpbGluZyBydW5uaW5nIHRoaXMgdGVzdCBpcyBvZiBubyB1c2UuIE5ldFdhcmUgc3VwcG9ydHMgcHRocmVhZHMKKy0gIHB0aHJlYWRzX3dvcmtpbmc9bm8KKysgIHB0aHJlYWRzX3dvcmtpbmc9eWVzCisgICBjYXNlICRob3N0X2FsaWFzIGluCisgICAqbmV0d2FyZSopCisgICAgIHB0aHJlYWRzX3dvcmtpbmc9eWVzCistLSAKKzEuNy40LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocF81LjUuMzIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzUuNS4zMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWUzYzM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocF81LjUuMzIuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlIHBocC5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NDY0Y2E3MGFmMjE0ZDI0MDdmNmI3ZDQ0NTgxNThhZmQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NzQ0M2YzOTE1MmQ2NzFkMjRiYzgzOWU2YTQ5MDQ5ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiMGYyYzEwOGRiOGUwNWRiOWY2MzY2YWFiYTlhNzU0ZmQwZWUzMWYzZjg2ZWU4ODk1NjFiNjA4ZGZkNmU5MmVlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocF81LjYuMTguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzUuNi4xOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2UwMTJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocF81LjYuMTguYmIKQEAgLTAsMCArMSw3IEBACityZXF1aXJlIHBocC5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YjYwMjYzNmQ0NmE2MWMwYWMwNDMyYmJmNWMwNzhmZTQiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9jaGFuZ2UtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MzQwMzUzYmVkZDk5ODI4NmJhMmM0ZDg3ZDc4NjRmOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjM2NkNGEyOWE5NTYyMzA5ZDM2ZTJiMTI4NDA3ZDZlYWE1YzdkZGU1OTBkMmIxYTQ2NDQ1NzM4M2U1MTdmNGVkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcG0tcWEvcG0tcWFfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcG0tcWEvcG0tcWFfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczMjJkZjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wbS1xYS9wbS1xYV9naXQuYmIKQEAgLTAsMCArMSw2NiBAQAorREVTQ1JJUFRJT04gPSAiVXRpbGl0aWVzIGZvciB0ZXN0aW5nIFBvd2VyIE1hbmFnZW1lbnQiCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kubGluYXJvLm9yZy9Xb3JraW5nR3JvdXBzL1Bvd2VyTWFuYWdlbWVudC9SZXNvdXJjZXMvVGVzdFN1aXRlL1BtUWEiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworUFYgPSAiMC40LjE0IgorCitCUkFOQ0ggPz0gIm1hc3RlciIKKworIyBDb3JyZXNwb25kcyB0byB0YWcgcG0tcWEtdjAuNC4xNAorU1JDUkVWID0gIjkxMTFkMTkzMGYwMjMzNzM5NGNmMTZlODRhZDJhMjdmMzM2MDdjYmIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmxpbmFyby5vcmcvcG93ZXIvcG0tcWEuZ2l0O3Byb3RvY29sPWdpdDticmFuY2g9JHtCUkFOQ0h9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitDRkxBR1MgKz0gIi1wdGhyZWFkIgorCitkb19jb21waWxlICgpIHsKKyAgICAjIEZpbmQgYWxsIHRoZSAuYyBmaWxlcyBpbiB0aGlzIHByb2plY3QgYW5kIGJ1aWxkIHRoZW0uCisgICAgZm9yIHggaW4gYGZpbmQgLiAtbmFtZSAiKi5jImAKKyAgICBkbworICAgICAgICB1dGlsPWBlY2hvICR7eH0gfCBzZWQgcy8uYyQvL2AKKyAgICAgICAgb2VfcnVubWFrZSAke3V0aWx9CisgICAgZG9uZQorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vJHtCUE59CisKKyAgICAjIEluc3RhbGwgdGhlIGNvbXBpbGVkIGJpbmFyaWVzIHRoYXQgd2VyZSBidWlsdCBpbiB0aGUgcHJldmlvdXMgc3RlcAorICAgIGZvciB4IGluIGBmaW5kIC4gLW5hbWUgIiouYyJgCisgICAgZG8KKyAgICAgICAgdXRpbD1gZWNobyAke3h9IHwgc2VkIHMvLmMkLy9gCisgICAgICAgIHV0aWxfYmFzZW5hbWU9YGJhc2VuYW1lICR7dXRpbH1gCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke3V0aWx9ICR7RH0ke2JpbmRpcn0vJHt1dGlsX2Jhc2VuYW1lfQorICAgIGRvbmUKKworICAgICMgSW5zdGFsbCB0aGUgaGVscGVyIHNjcmlwdHMgaW4gYSBzdWJkaXJlY3Rvcnkgb2YgJGxpYmRpcgorICAgIGZvciBzY3JpcHQgaW4gYGZpbmQgLiAtbmFtZSAiKi5zaCIgfCBncmVwIGluY2x1ZGVgCisgICAgZG8KKyAgICAgICAgIyBSZW1vdmUgaGFyZGNvZGVkIHJlbGF0aXZlIHBhdGhzCisgICAgICAgIHNlZCAtaSAtZSAncyMuLlwvdXRpbHNcLyMjJyAke3NjcmlwdH0KKworICAgICAgICBzY3JpcHRfYmFzZW5hbWU9YGJhc2VuYW1lICR7c2NyaXB0fWAKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICRzY3JpcHQgJHtEfSR7bGliZGlyfS8ke0JQTn0vJHtzY3JpcHRfYmFzZW5hbWV9CisgICAgZG9uZQorCisgICAgIyBJbnN0YWxsIHRoZSBzaGVsbCBzY3JpcHRzIE5PVCBpbiB0aGUgJGxpYmRpciBkaXJlY3Rvcnkgc2luY2UgdGhvc2UKKyAgICAjIHdpbGwgYmUgaW5zdGFsbGVkIGVsc2V3aGVyZQorICAgIGZvciBzY3JpcHQgaW4gYGZpbmQgLiAtbmFtZSAiKi5zaCIgfCBncmVwIC12IGluY2x1ZGVgCisgICAgZG8KKyAgICAgICAgIyBpZiB0aGUgc2NyaXB0IGluY2x1ZGVzIGFueSBoZWxwZXIgc2NyaXB0cyBmcm9tIHRoZSAkbGliZGlyCisgICAgICAgICMgZGlyZWN0b3J5IHRoZW4gY2hhbmdlIHRoZSBzb3VyY2UgcGF0aCB0byB0aGUgYWJzb2x1dGUgcGF0aAorICAgICAgICAjIHRvIHJlZmxlY3QgdGhlIGluc3RhbGwgbG9jYXRpb24gb2YgdGhlIGhlbHBlciBzY3JpcHRzLgorICAgICAgICBzZWQgLWkgLWUgInMjc291cmNlIC4uL2luY2x1ZGUjc291cmNlICR7bGliZGlyfS8ke0JQTn0jZyIgJHtzY3JpcHR9CisgICAgICAgICMgUmVtb3ZlIGhhcmRjb2RlZCByZWxhdGl2ZSBwYXRocworICAgICAgICBzZWQgLWkgLWUgJ3MjLi5cL3V0aWxzXC8jIycgJHtzY3JpcHR9CisKKyAgICAgICAgc2NyaXB0X2Jhc2VuYW1lPWBiYXNlbmFtZSAke3NjcmlwdH1gCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAkc2NyaXB0ICR7RH0ke2JpbmRpcn0vJHtzY3JpcHRfYmFzZW5hbWV9CisgICAgZG9uZQorfQorUkRFUEVORFNfJHtQTn0gKz0iYmFzaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BtdG9vbHMvcG10b29scy9wbXRvb2xzLXN3aXRjaC10by1keW5hbWljLWJ1ZmZlci1mb3ItaHVnZS1BQ1BJLXRhYmxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcG10b29scy9wbXRvb2xzL3BtdG9vbHMtc3dpdGNoLXRvLWR5bmFtaWMtYnVmZmVyLWZvci1odWdlLUFDUEktdGFibGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2NjZGFiMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BtdG9vbHMvcG10b29scy9wbXRvb2xzLXN3aXRjaC10by1keW5hbWljLWJ1ZmZlci1mb3ItaHVnZS1BQ1BJLXRhYmxlLnBhdGNoCkBAIC0wLDAgKzEsNjYgQEAKK0Zyb20gMDNhODg2MjUyZjY1NTVkNmIwYWY3NmI2NTRlNzY0NTk2NDJiODlkYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFl1bmd1byBXZWkgPHl1bmd1by53ZWlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMyBEZWMgMjAxMyAxODoxMjo1MCArMDgwMAorU3ViamVjdDogW1BBVENIXSBwbXRvb2xzOiBzd2l0Y2ggdG8gZHluYW1pYyBidWZmZXIgZm9yIGh1Z2UgQUNQSSB0YWJsZXMKKworRm9yIHNlcnZlcnMgbGlrZSBDYW5vZSBQYXNzIG9yIFRodW5kZXIgUmlkZ2UsIHRoZXJlIGFyZSBtdWNoIG1vcmUKK2VudHJpZXMgaW4gQUNQSSB0YWJsZSwgc28gb3JpZ2luYWwgMUsgYnVmZmVyIGlzIGluc3VmZmljaWVudC4KKworV2Ugc3dpdGNoIHRvIGR5bmFtaWMgYnVmZmVyIG9uIHRoaXMgc2l0dWF0aW9uLgorCitTaWduZWQtb2ZmLWJ5OiBZdW5ndW8gV2VpIDx5dW5ndW8ud2VpQHdpbmRyaXZlci5jb20+CisKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgbWFkdC9tYWR0LmMgfCAxOCArKysrKysrKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbWFkdC9tYWR0LmMgYi9tYWR0L21hZHQuYworaW5kZXggYWVkOTY1Yy4uODc3MGNkNSAxMDA2NDQKKy0tLSBhL21hZHQvbWFkdC5jCisrKysgYi9tYWR0L21hZHQuYworQEAgLTUxLDcgKzUxLDkgQEAgZ2V0X25leHRfZW50cnkoYWNwaV90YWJsZV9lbnRyeV9oZWFkZXIgKiBlbnRyeV9oZWFkZXIpCisgCXJldHVybiByZXR2YWw7CisgfQorIAorLXU4CWJ1ZmZlclsxMDI0XTsKKysKKyt1OAlidWZbMTAyNF07CisrdTgJKmJ1ZmZlciA9IGJ1ZjsKKyAKKyBtYWluKCkKKyB7CitAQCAtNzUsNiArNzcsMTcgQEAgbWFpbigpCisgCisgCWlmICh2ZXJib3NlKSBwcmludGYoImhlYWRlci5sZW5ndGggJWRcbiIsIG1hZHRfaGVhZGVyLT5oZWFkZXIubGVuZ3RoKTsKKyAKKysJLyogaWYgMUsgYnVmZmVyIGlzIGluc3VmZmljaWVudCBmb3IgYWNwaSB0YWJsZSwgc3dpdGNoIHRvIGEgbGFyZ2VyIG1lbW9yeSBidWZmZXIgKi8KKysJaWYoZXhwZWN0ZWRfbGVuZ3RoID4gc2l6ZW9mKGJ1ZikpIHsKKysJCWJ1ZmZlciA9IG1hbGxvYyhleHBlY3RlZF9sZW5ndGgpOworKwkJaWYgKCFidWZmZXIpIHsKKysJCQlwZXJyb3IoIm1hbGxvYyIpOworKwkJCWV4aXQoMSk7CisrCQl9CisrCQltZW1zZXQoYnVmZmVyLCAwLCBleHBlY3RlZF9sZW5ndGgpOworKwkJbWVtY3B5KGJ1ZmZlciwgYnVmLCBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfbWFkdCkpOworKwl9CisrCisgCWFjcGlfdGFibGVfcHJpbnQoKHZvaWQqKSYoYnVmZmVyW2J5dGVzX3JlYWRdKSwgMCk7CisgCisgCWJ5dGVzX3JlYWQgPSBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfbWFkdCk7CitAQCAtMTE4LDYgKzEzMSw5IEBAIGRvbmU6CisgCQlwcmludGYoIkNoZWNrc3VtIDB4JXggIT0gMDsgMHgleCBpbiBoZWFkZXIgRVJST1JcbiIsIGNzdW0sCisgCQkJIG1hZHRfaGVhZGVyLT5oZWFkZXIuY2hlY2tzdW0pOworIAorKwlpZihidWZmZXIgIT0gYnVmKQorKwkJZnJlZShidWZmZXIpOworKworIAlyZXR1cm4gMDsKKyB9CisgCistLSAKKzEuOC4xLjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcG10b29scy9wbXRvb2xzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BtdG9vbHMvcG10b29sc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJlZDhlMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BtdG9vbHMvcG10b29sc19naXQuYmIKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT04gPSAiVGhpcyBpcyBhIHNtYWxsIGNvbGxlY3Rpb24gb2YgcG93ZXIgbWFuYWdlbWVudCBcCisgICAgICAgICAgICAgICB0ZXN0IGFuZCBpbnZlc3RpZ2F0aW9uIHRvb2xzIgorSE9NRVBBR0UgPSAiaHR0cDovL2xlc3N3YXR0cy5vcmcvcHJvamVjdHMvYWNwaSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCisKK1BWID0gIjIwMTMwMjA5K2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYW55Yy9wbXRvb2xzLmdpdCBcCisgICAgZmlsZTovL3BtdG9vbHMtc3dpdGNoLXRvLWR5bmFtaWMtYnVmZmVyLWZvci1odWdlLUFDUEktdGFibGUucGF0Y2ggXAorIgorU1JDUkVWID0gIjNlYmUwZTU0YzU0MDYxYjRjNjI3MjM2Y2JlMzVkODIwZGUyZTExNjgiCisKK0NPTVBBVElCTEVfSE9TVCA9ICIoaS44Nnx4ODZfNjQpLiotbGludXgiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCitkb19jb21waWxlKCkgeworCW9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0gJHtEfSR7ZG9jZGlyfQorCWluc3RhbGwgLW0gNzU1ICR7U30vYWNwaWR1bXAvYWNwaWR1bXAgJHtEfSR7YmluZGlyfQorCWluc3RhbGwgLW0gNzU1ICR7U30vYWNwaXh0cmFjdC9hY3BpeHRyYWN0ICR7RH0ke2JpbmRpcn0KKwlpbnN0YWxsIC1tIDc1NSAke1N9L21hZHQvbWFkdCAke0R9JHtiaW5kaXJ9CisJaW5zdGFsbCAtbSA2NDQgJHtTfS9SRUFETUUgJHtEfSR7ZG9jZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcHJvdG9idWYvcHJvdG9idWZfMi42LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wcm90b2J1Zi9wcm90b2J1Zl8yLjYuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDlmOWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcHJvdG9idWYvcHJvdG9idWZfMi42LjEuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJQcm90b2NvbCBCdWZmZXJzIC0gc3RydWN0dXJlZCBkYXRhIHNlcmlhbGlzYXRpb24gbWVjaGFuaXNtIgorREVTQ1JJUFRJT04gPSAiUHJvdG9jb2wgQnVmZmVycyBhcmUgYSB3YXkgb2YgZW5jb2Rpbmcgc3RydWN0dXJlZCBkYXRhIGluIGFuIFwKK2VmZmljaWVudCB5ZXQgZXh0ZW5zaWJsZSBmb3JtYXQuIEdvb2dsZSB1c2VzIFByb3RvY29sIEJ1ZmZlcnMgZm9yIGFsbW9zdCBcCithbGwgb2YgaXRzIGludGVybmFsIFJQQyBwcm90b2NvbHMgYW5kIGZpbGUgZm9ybWF0cy4iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL3Byb3RvYnVmIgorU0VDVElPTiA9ICJjb25zb2xlL3Rvb2xzIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCisKK0RFUEVORFMgPSAiemxpYiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YWY2ODA5NTgzYmZkZTlhMzE1OTVhNThiYjRhMjQ1MTQiCisKK1NSQ1JFViA9ICJiYmE4MzY1MmUxYmU2MTBiZGI3ZWUxNTY2YWQxODM0NmQ5OGI4NDNjIgorCitQViA9ICIyLjYuMStnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2dvb2dsZS9wcm90b2J1Zi5naXQiCisKK0VYVFJBX09FQ09ORiArPSAiIC0td2l0aC1wcm90b2M9ZWNobyIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mdXR1cmVzXzMuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mdXR1cmVzXzMuMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlYjE4ODIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZ1dHVyZXNfMy4wLjUuYmIKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT04gPSAiVGhlIGNvbmN1cnJlbnQuZnV0dXJlcyBtb2R1bGUgcHJvdmlkZXMgYSBoaWdoLWxldmVsIGludGVyZmFjZSBmb3IgYXN5bmNocm9ub3VzbHkgZXhlY3V0aW5nIGNhbGxhYmxlcy4iCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87bWQ1PTNkNzhjNWJiMTVhYzY0MWQzNGYyZGRjM2JkN2Y1MWZhIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3B5dGhvbmZ1dHVyZXMiCitERVBFTkRTID0gInB5dGhvbiIKKworU1JDX1VSSSA9ICJodHRwczovL3B5cGkucHl0aG9uLm9yZy9wYWNrYWdlcy9zb3VyY2UvZi9mdXR1cmVzL2Z1dHVyZXMtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImNlZDJjMzY1ZTUxODI0MjUxMmQ3YTM5OGI1MTVmZjk1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA1NDI1MjUxNDVkNWFmYzk4NGM4OGY5MTRhMGM4NWM3NzUyN2Y2NTk0NjYxN2VkYjUyNzRmNzI0MDZmOTgxZGYiCisKK1MgPSAiJHtXT1JLRElSfS9mdXR1cmVzLSR7UFZ9IgorCitpbmhlcml0IHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2ltcGxlanNvbl8zLjguMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2ltcGxlanNvbl8zLjguMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmE2YzQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zaW1wbGVqc29uXzMuOC4yLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiU2ltcGxlLCBmYXN0LCBleHRlbnNpYmxlIEpTT04gZW5jb2Rlci9kZWNvZGVyIGZvciBQeXRob24iCitIT01FUEFHRSA9ICJodHRwOi8vY2hlZXNlc2hvcC5weXRob24ub3JnL3B5cGkvc2ltcGxlanNvbiIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1jNjMzOGQ3YWJkMzIxYzBiNTBhMmE1NDdlNDQxYzUyZSIKK1BSID0gInIxIgorCitTUkNOQU1FID0gInNpbXBsZWpzb24iCisKK1NSQ19VUkkgPSAiaHR0cDovL2NoZWVzZXNob3AucHl0aG9uLm9yZy9wYWNrYWdlcy9zb3VyY2Uvcy9zaW1wbGVqc29uLyR7U1JDTkFNRX0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjUzYjEzNzFiYmY4ODNiMTI5YTEyZDU5NGE5N2U5YTE4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ1ODQzOWM1NDg0MzNhZGNkYTk4ZTY5NWJlNTNlNTI2YmE5NDBhNGI5YzQ0ZmI5YTA1ZDkyY2Q0OTVjZGQ0N2YiCisKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitpbmhlcml0IGRpc3R1dGlscworCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgcHl0aG9uLWNvcmUgXAorICAgIHB5dGhvbi1yZSBcCisgICAgcHl0aG9uLWlvIFwKKyAgICBweXRob24tbmV0c2VydmVyIFwKKyAgICBweXRob24tbnVtYmVycyBcCisiCisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvc2VyaWFsY2hlY2svc2VyaWFsY2hlY2svMDAwMS1BZGQtb3B0aW9uLXRvLWVuYWJsZS1pbnRlcm5hbC1sb29wYmFjay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3NlcmlhbGNoZWNrL3NlcmlhbGNoZWNrLzAwMDEtQWRkLW9wdGlvbi10by1lbmFibGUtaW50ZXJuYWwtbG9vcGJhY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY5MjU0YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3NlcmlhbGNoZWNrL3NlcmlhbGNoZWNrLzAwMDEtQWRkLW9wdGlvbi10by1lbmFibGUtaW50ZXJuYWwtbG9vcGJhY2sucGF0Y2gKQEAgLTAsMCArMSw4MSBAQAorRnJvbSAwNTlkNTUxMmU4NDBmZTY4ZTJiYjM3YWRkNmM5MjA4ZmE5YzM0ZDE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU2VraGFyIE5vcmkgPG5zZWtoYXJAdGkuY29tPgorRGF0ZTogVHVlLCAyNCBGZWIgMjAxNSAyMjoxNjozNyArMDUzMAorU3ViamVjdDogW1BBVENIIDEvMl0gQWRkIG9wdGlvbiB0byBlbmFibGUgaW50ZXJuYWwgbG9vcGJhY2sKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCistLS0KKyBzZXJpYWxjaGVjay5jIHwgMjMgKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc2VyaWFsY2hlY2suYyBiL3NlcmlhbGNoZWNrLmMKK2luZGV4IDRmNWI3NDcuLjQxMDBjMzcgMTAwNjQ0CistLS0gYS9zZXJpYWxjaGVjay5jCisrKysgYi9zZXJpYWxjaGVjay5jCitAQCAtMTIsNiArMTIsOCBAQAorICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyAjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CisKKysjZGVmaW5lIFRJT0NNX0xPT1AJMHg4MDAwCisrCisgI2RlZmluZSBfX3NhbWVfdHlwZShhLCBiKQlfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wKHR5cGVvZihhKSwgdHlwZW9mKGIpKQorICNkZWZpbmUgQlVJTERfQlVHX09OX1pFUk8oZSkJKHNpemVvZihzdHJ1Y3QgeyBpbnQ6LSEhKGUpOyB9KSkKKyAjZGVmaW5lIF9fbXVzdF9iZV9hcnJheShhKQlCVUlMRF9CVUdfT05fWkVSTyhfX3NhbWVfdHlwZSgoYSksICYoYSlbMF0pKQorQEAgLTQwLDYgKzQyLDcgQEAgc3RydWN0IGdfb3B0IHsKKwl1bnNpZ25lZCBjaGFyIGhmbG93OworCXVuc2lnbmVkIGNoYXIgZG9fdGVybWlvczsKKwl1bnNpZ25lZCBjaGFyICpjbXBfYnVmZjsKKysJdW5zaWduZWQgY2hhciBsb29wYmFjazsKKyB9OworCisgLyogbmFtZSwga2V5LCBhcmcsIGZsYWdzLCBkb2MsIGdyb3VwICovCitAQCAtNTEsNiArNTQsNyBAQCBzdGF0aWMgc3RydWN0IGFyZ3Bfb3B0aW9uIG9wdGlvbnNbXSA9IHsKKwl7Im1vZGUiLAknbScsICJNIiwgICAgMCwgInRyYW5zZmVyIG1vZGUgKGQgPSBkdXBsZXgsIHQgPSBzZW5kIHIgPSByZWNlaXZlKSIsIDB9LAorCXsibG9vcHMiLAknbCcsICJOVU0iLCAgMCwgImxvb3BzIHRvIHBlcmZvcm0gKDAgPT4gd2FpdCBmb3QgQ1RSTC1DIiwgMH0sCisJeyJuby10ZXJtaW9zIiwJJ24nLCBOVUxMLCAgIDAsICJObyB0ZXJtaW9zIGNoYW5nZSAoYmF1ZCByYXRlIGV0Yy4gcmVtYWlucyB1bmNoYW5nZWQpIiwgMH0sCisrCXsibG9vcGJhY2siLAknaycsIE5VTEwsICAgMCwgImxvb3BiYWNrIG1vZGUiLCAwfSwKKwl7TlVMTCwgMCwgTlVMTCwgMCwgTlVMTCwgMH0KKyB9OworCitAQCAtNjcsNiArNzEsNyBAQCBzdGF0aWMgZXJyb3JfdCBwYXJzZV9vcHQoaW50IGtleSwgY2hhciAqYXJnLCBzdHJ1Y3QgYXJncF9zdGF0ZSAqc3RhdGUpCisJCWdvLT5iYXVkcmF0ZSA9IDExNTIwMDsKKwkJZ28tPmxvb3BzID0gVUlOVF9NQVg7CisJCWdvLT5kb190ZXJtaW9zID0gMTsKKysJCWdvLT5sb29wYmFjayA9IDA7CisJCWJyZWFrOworCWNhc2UgQVJHUF9LRVlfQVJHOgorCQlyZXQgPSAgQVJHUF9FUlJfVU5LTk9XTjsKK0BAIC0xMTMsNiArMTE4LDkgQEAgc3RhdGljIGVycm9yX3QgcGFyc2Vfb3B0KGludCBrZXksIGNoYXIgKmFyZywgc3RydWN0IGFyZ3Bfc3RhdGUgKnN0YXRlKQorCQl9IGVsc2UKKwkJCWdvLT5sb29wcyA9IG51bTsKKwkJYnJlYWs7CisrCWNhc2UgJ2snOgorKwkJZ28tPmxvb3BiYWNrID0gMTsKKysJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldCA9IEFSR1BfRVJSX1VOS05PV047CisJfQorQEAgLTQ4Nyw2ICs0OTUsMjEgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKwkJCWRpZSgidGNmbHVzaCBmYWlsZWQ6ICVtXG4iKTsKKwl9CisKKysJaWYgKG9wdHMubG9vcGJhY2spIHsKKysJCXVuc2lnbmVkIGludCBtY3I7CisrCisrCQlyZXQgPSBpb2N0bChmZCwgVElPQ01HRVQsICZtY3IpOworKwkJaWYgKHJldCA8IDApCisrCQkJZGllKCJtY3IgZ2V0IGZhaWxlZDogJW1cbiIpOworKworKwkJbWNyIHw9IFRJT0NNX0xPT1A7CisrCisrCQlyZXQgPSBpb2N0bChmZCwgVElPQ01TRVQsICZtY3IpOworKwkJaWYgKHJldCA8IDApCisrCQkJZGllICgibWNyIHNldCBmYWlsZWQ6ICVtXG4iKTsKKysKKysJfQorKworCXJldCA9IGZjbnRsKGZkLCBGX1NFVEZMLCAwKTsKKwlpZiAocmV0KQorCQlwcmludGYoIkZhaWxlZCB0byByZW1vdmUgbm9uYmxvY2sgbW9kZVxuIik7CistLQorMS45LjEKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3NlcmlhbGNoZWNrL3NlcmlhbGNoZWNrLzAwMDEtTWFrZWZpbGUtQ2hhbmdlLW9yZGVyLW9mLWxpbmstZmxhZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9zZXJpYWxjaGVjay9zZXJpYWxjaGVjay8wMDAxLU1ha2VmaWxlLUNoYW5nZS1vcmRlci1vZi1saW5rLWZsYWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhYjQ4MzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9zZXJpYWxjaGVjay9zZXJpYWxjaGVjay8wMDAxLU1ha2VmaWxlLUNoYW5nZS1vcmRlci1vZi1saW5rLWZsYWdzLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gZWZjOGE0ZTcxN2JhOTE5Yzg2OWMyZGExYzdkZTJkMDhiYzk3NjkyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDI0IEZlYiAyMDE2IDE4OjQ4OjA3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlOiBDaGFuZ2Ugb3JkZXIgb2YgbGluayBmbGFncworCitUaGlzIGhlbHBzIGluIGluamVjdGN0aW5nIExERkxBR1MgZnJvbSBlbnYgdG8gdGFrZSBlZmZlY3QKK2FzIGl0IGFwcGVhcnMgbGFzdCBvbiBjbWRsaW5lIG5vdworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworIE1ha2VmaWxlIHwgMTAgKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCBiYTJiZmJiLi42ZDEzZTY4IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMSwzICsxLDkgQEAKKy1DRkxBR1M9LU8yIC1XYWxsIC1XZXh0cmEgLWcgLVduby1zaWduLWNvbXBhcmUgLVduby1wb2ludGVyLXNpZ24KKy1DQz1nY2MKKytDRkxBR1M/PS1PMiAtV2FsbCAtV2V4dHJhIC1nIC1Xbm8tc2lnbi1jb21wYXJlIC1Xbm8tcG9pbnRlci1zaWduCisrQ0M/PWdjYworIGFsbDogc2VyaWFsY2hlY2sKKytzZXJpYWxjaGVjayA6IHNlcmlhbGNoZWNrLm8KKysJJChDQykgLW8gc2VyaWFsY2hlY2sgc2VyaWFsY2hlY2subyAkKENGTEFHUykgJChMREZMQUdTKQorKworKyUubyA6ICUuYworKwkkKENDKSAtYyAkKENGTEFHUykgJChDUFBGTEFHUykgJDwgLW8gJEAKKysKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvc2VyaWFsY2hlY2svc2VyaWFsY2hlY2svMDAwMi1SZXN0b3JlLW9yaWdpbmFsLWxvb3BiYWNrLWNvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3NlcmlhbGNoZWNrL3NlcmlhbGNoZWNrLzAwMDItUmVzdG9yZS1vcmlnaW5hbC1sb29wYmFjay1jb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWI4Yzk1YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3NlcmlhbGNoZWNrL3NlcmlhbGNoZWNrLzAwMDItUmVzdG9yZS1vcmlnaW5hbC1sb29wYmFjay1jb25maWcucGF0Y2gKQEAgLTAsMCArMSw0OSBAQAorRnJvbSBhNmU1ODEzZDJmODQwMmJmM2EzMTFjOGJjZGEwMjYyM2JmYjc2ODgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2FybG9zIEhlcm5hbmRleiA8Y2VoQHRpLmNvbT4KK0RhdGU6IFR1ZSwgMjQgRmViIDIwMTUgMTY6MDA6MzQgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIFJlc3RvcmUgb3JpZ2luYWwgbG9vcGJhY2sgY29uZmlnCisKK0lmIGxvb3BiYWNrIG9wdGlvbiBpcyBlbmFibGVkLCBkaXNhYmxlIGl0IGF0IHRoZSBlbmQgb2YgdGhlIHRlc3QuCisKK1NpZ25lZC1vZmYtYnk6IENhcmxvcyBIZXJuYW5kZXogPGNlaEB0aS5jb20+CitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKKy0tLQorIHNlcmlhbGNoZWNrLmMgfCA5ICsrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXJpYWxjaGVjay5jIGIvc2VyaWFsY2hlY2suYworaW5kZXggNDEwMGMzNy4uMDY0NzBmNyAxMDA2NDQKKy0tLSBhL3NlcmlhbGNoZWNrLmMKKysrKyBiL3NlcmlhbGNoZWNrLmMKK0BAIC00MjcsNiArNDI3LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKwl1bnNpZ25lZCBjaGFyICpkYXRhOworCXVuc2lnbmVkIGludCBvcGVuX21vZGU7CisJb2ZmX3QgZGF0YV9sZW47CisrCXVuc2lnbmVkIGludCBtY3I7CisKKwlhcmdwX3BhcnNlKCZhcmdwLCBhcmdjLCBhcmd2LCAwLCBOVUxMLCAmb3B0cyk7CisJaWYgKCFvcHRzLmZpbGVfdHJhbnMpCitAQCAtNDk2LDggKzQ5Nyw2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisJfQorCisJaWYgKG9wdHMubG9vcGJhY2spIHsKKy0JCXVuc2lnbmVkIGludCBtY3I7CistCisJCXJldCA9IGlvY3RsKGZkLCBUSU9DTUdFVCwgJm1jcik7CisJCWlmIChyZXQgPCAwKQorCQkJZGllKCJtY3IgZ2V0IGZhaWxlZDogJW1cbiIpOworQEAgLTUzNSw2ICs1MzQsMTIgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKwlyZXQgPSB0Y3NldGF0dHIoZmQsIFRDU0FGTFVTSCwgJm9sZF90ZXJtKTsKKwlpZiAocmV0KQorCQlwcmludGYoInRjc2V0YXR0cigpIG9mIG9sZCBvbmVzIGZhaWxlZDogJW1cbiIpOworKwlpZiAob3B0cy5sb29wYmFjaykgeworKwkJbWNyICY9IH4oVElPQ01fTE9PUCk7CisrCQlyZXQgPSBpb2N0bChmZCwgVElPQ01TRVQsICZtY3IpOworKwl9CisrCWlmIChyZXQpCisrCQlwcmludGYoImRpc2FibGluZyBsb29wYmFjayBmYWlsZWQ6ICVtXG4iKTsKKworCWNsb3NlKGZkKTsKKwlyZXR1cm4gc3RhdHVzOworLS0KKzEuOS4xCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9zZXJpYWxjaGVjay9zZXJpYWxjaGVja18xLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3NlcmlhbGNoZWNrL3NlcmlhbGNoZWNrXzEuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkNWUwYTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9zZXJpYWxjaGVjay9zZXJpYWxjaGVja18xLjAuMC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkFwcGxpY2F0aW9uIHRvIHZlcmlmeSBvcGVyYXRpb24gb2Ygc2VyaWFsIHBvcnRzIgorSE9NRVBBR0UgPSAiaHR0cDovL2dpdC5icmVha3BvaW50LmNjL2NnaXQvYmlnZWFzeS9zZXJpYWxjaGVjay5naXQvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5icmVha3BvaW50LmNjL2JpZ2Vhc3kvc2VyaWFsY2hlY2suZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLW9wdGlvbi10by1lbmFibGUtaW50ZXJuYWwtbG9vcGJhY2sucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1SZXN0b3JlLW9yaWdpbmFsLWxvb3BiYWNrLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLUNoYW5nZS1vcmRlci1vZi1saW5rLWZsYWdzLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNSRVYgPSAiNjM4NTRhMmQwYzAxMjllZmFiMTMyZWMzMjhhNzUyNzllMDEzZmI4NCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworREVQRU5EU19hcHBlbmRfbGliYy1tdXNsID0gIiBhcmdwLXN0YW5kYWxvbmUiCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKKworQ0ZMQUdTX3ByZXBlbmQgPSAiLVdhbGwgLVdleHRyYSAtV25vLXNpZ24tY29tcGFyZSAtV25vLXBvaW50ZXItc2lnbiAiCitMREZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiIC1sYXJncCIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsICR7U30vc2VyaWFsY2hlY2sgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfS8ke0JQfQorICAgIGluc3RhbGwgJHtTfS9SZWFkbWUudHh0ICR7RH0ke2RvY2Rpcn0vJHtCUH0KK30KK0NMRUFOQlJPS0VOID0gIjEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsYXAvdGNsYXAvTWFrZWZpbGUuYW0tZGlzYWJsZS1kb2NzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsYXAvdGNsYXAvTWFrZWZpbGUuYW0tZGlzYWJsZS1kb2NzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1OGNiZWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2xhcC90Y2xhcC9NYWtlZmlsZS5hbS1kaXNhYmxlLWRvY3MucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSBjMjA5ZWQwZTdmZmNhMzJmZTM3MTRiYWQ5Y2M1NGJkYjAwYzI4NmJiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVGluZyBMaXUgPGIyODQ5NUBmcmVlc2NhbGUuY29tPgorRGF0ZTogTW9uLCAxNSBBcHIgMjAxMyAxNjoyODozNyArMDgwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogZGlzYWJsZSBkb2NzCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK2RvY3MgbmVlZCBzb21lIGdlbmVyYXRpbmcgdG9vbCAoZm9yIGV4YW1wbGUsIGRveHlnZW4pIGZyb20gaG9zdCB3aGljaCBtYXkKK2JlIG5vdCBhdmFpbGFibGUuIERpc2FibGUgaXQgdG8gYXZvaWQgYnVpbGQgaXNzdWUuCisKK1NpZ25lZC1vZmYtYnk6IFRpbmcgTGl1IDxiMjg0OTVAZnJlZXNjYWxlLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggMGE2ZWJjOS4uNmI0MmY0MSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTEsNyArMSw3IEBACisgCisgQUNMT0NBTF9BTUZMQUdTID0gLUkgY29uZmlnCisgCistU1VCRElSUyA9IGluY2x1ZGUgZXhhbXBsZXMgZG9jcyB0ZXN0cyBtc2MgY29uZmlnCisrU1VCRElSUyA9IGluY2x1ZGUgZXhhbXBsZXMgdGVzdHMgbXNjIGNvbmZpZworIAorIHBrZ2NvbmZpZ2RpciA9ICQobGliZGlyKS9wa2djb25maWcKKyBwa2djb25maWdfREFUQSA9ICQoUEFDS0FHRSkucGMKKy0tIAorMS43LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsYXAvdGNsYXBfMS4yLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2xhcC90Y2xhcF8xLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjE1YTdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsYXAvdGNsYXBfMS4yLjEuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJUZW1wbGF0aXplZCBDKysgQ29tbWFuZCBMaW5lIFBhcnNlciIKK0hPTUVQQUdFID0gImh0dHA6Ly90Y2xhcC5zb3VyY2Vmb3JnZS5uZXQvIiAKK0xJQ0VOU0UgPSAiTUlUIiAKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM4YWIwZmYxMzRiY2M1ODRkMGU2YjViOWY4NzMyNDUzIgorCitTUkNSRVYgPSAiMzYyN2Q5NDAyZTUyOTc3MGRmOWIwZWRmMmFhOGMwZTBkNmM2YmI0MSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmNvZGUuc2YubmV0L3AvdGNsYXAvY29kZSBcCisgICAgZmlsZTovL01ha2VmaWxlLmFtLWRpc2FibGUtZG9jcy5wYXRjaCBcCisiIAorCitTID0gIiR7V09SS0RJUn0vZ2l0IgoraW5oZXJpdCBhdXRvdG9vbHMKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvY29uZmlndXJlLnVzZS5mb250Y29uZmlnLndpdGgueGZ0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvY29uZmlndXJlLnVzZS5mb250Y29uZmlnLndpdGgueGZ0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwYzE1N2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9jb25maWd1cmUudXNlLmZvbnRjb25maWcud2l0aC54ZnQucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGEvY29uZmlndXJlLmluLm9yaWcJMjAxNC0wNS0xMCAxNDozNTozOS44NTkxNDczODUgKzAwMDAKKysrKyBiL2NvbmZpZ3VyZS5pbgkyMDE0LTA1LTEwIDE0OjM2OjIwLjI4MjkyNTE4NCArMDAwMAorQEAgLTU1NCw4ICs1NTQsOCBAQAorIAlkbmwgbWFrZSBzdXJlIHBhY2thZ2UgY29uZmlndXJhdG9yICh4ZnQtY29uZmlnIG9yIHBrZy1jb25maWcKKyAJZG5sIHNheXMgdGhhdCB4ZnQgaXMgcHJlc2VudC4KKyAJICAgIGZvdW5kX3hmdD15ZXMKKy0JICAgIFhGVF9DRkxBR1M9YHBrZy1jb25maWcgLS1jZmxhZ3MgeGZ0IDI+L2Rldi9udWxsYCB8fCBmb3VuZF94ZnQ9Im5vIgorLQkgICAgWEZUX0xJQlM9YHBrZy1jb25maWcgLS1saWJzIHhmdCAyPi9kZXYvbnVsbGAgfHwgZm91bmRfeGZ0PSJubyIKKysJICAgIFhGVF9DRkxBR1M9YHBrZy1jb25maWcgLS1jZmxhZ3MgeGZ0IGZvbnRjb25maWcgMj4vZGV2L251bGxgIHx8IGZvdW5kX3hmdD0ibm8iCisrCSAgICBYRlRfTElCUz1gcGtnLWNvbmZpZyAtLWxpYnMgeGZ0IGZvbnRjb25maWcgMj4vZGV2L251bGxgIHx8IGZvdW5kX3hmdD0ibm8iCisgCUFDX01TR19SRVNVTFQoWyRmb3VuZF94ZnRdKQorIAlkbmwgbWFrZSBzdXJlIHRoYXQgY29tcGlsaW5nIGFnYWluc3QgWGZ0IGhlYWRlciBmaWxlIGRvZXNuJ3QgYm9tYgorIAlpZiB0ZXN0ICIkZm91bmRfeGZ0IiA9ICJ5ZXMiIDsgdGhlbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvY29uZnNlYXJjaC5kaWZmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvY29uZnNlYXJjaC5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1MWU0NzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9jb25mc2VhcmNoLmRpZmYKQEAgLTAsMCArMSwzMiBAQAorUGF0Y2ggYnkgU2VyZ2VpIEdvbG92YW4gYWxsb3dzIHRvIGZpbmQgdGNsQ29uZmlnLnNoIGluIC91c3Ivc2hhcmUvdGNsdGsvdGNsOC41CithbmQgdGtDb25maWcuc2ggaW4gL3Vzci9zaGFyZS90Y2x0ay90azguNSB3aGVyZSB0aGV5IGFyZSBsb2NhdGVkIGluIERlYmlhbgoraW5zdGFsbGF0aW9uLgorCistLS0gdGs4LjUtOC41Ljgub3JpZy91bml4L2NvbmZpZ3VyZQorKysrIHRrOC41LTguNS44L3VuaXgvY29uZmlndXJlCitAQCAtMTQzMSw2ICsxNDMxLDcgQEAKKyAJCQlgbHMgLWQgJHtwcmVmaXh9L2xpYiAyPi9kZXYvbnVsbGAgXAorIAkJCWBscyAtZCAvdXNyL2xvY2FsL2xpYiAyPi9kZXYvbnVsbGAgXAorIAkJCWBscyAtZCAvdXNyL2NvbnRyaWIvbGliIDI+L2Rldi9udWxsYCBcCisrCQkJYGxzIC1kIC91c3Ivc2hhcmUvdGNsdGsvdGNsOC41IDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvbGliIDI+L2Rldi9udWxsYCBcCisgCQkJOyBkbworIAkJICAgIGlmIHRlc3QgLWYgIiRpL3RjbENvbmZpZy5zaCIgOyB0aGVuCistLS0gdGs4LjUtOC41Ljgub3JpZy91bml4L3RjbC5tNAorKysrIHRrOC41LTguNS44L3VuaXgvdGNsLm00CitAQCAtOTMsNiArOTMsNyBAQAorIAkJCWBscyAtZCAke3ByZWZpeH0vbGliIDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvbG9jYWwvbGliIDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvY29udHJpYi9saWIgMj4vZGV2L251bGxgIFwKKysJCQlgbHMgLWQgL3Vzci9zaGFyZS90Y2x0ay90Y2w4LjUgMj4vZGV2L251bGxgIFwKKyAJCQlgbHMgLWQgL3Vzci9saWIgMj4vZGV2L251bGxgIFwKKyAJCQk7IGRvCisgCQkgICAgaWYgdGVzdCAtZiAiJGkvdGNsQ29uZmlnLnNoIiA7IHRoZW4KK0BAIC0yMjMsNiArMjI0LDcgQEAKKyAJCQlgbHMgLWQgJHtwcmVmaXh9L2xpYiAyPi9kZXYvbnVsbGAgXAorIAkJCWBscyAtZCAvdXNyL2xvY2FsL2xpYiAyPi9kZXYvbnVsbGAgXAorIAkJCWBscyAtZCAvdXNyL2NvbnRyaWIvbGliIDI+L2Rldi9udWxsYCBcCisrCQkJYGxzIC1kIC91c3Ivc2hhcmUvdGNsdGsvdGs4LjUgMj4vZGV2L251bGxgIFwKKyAJCQlgbHMgLWQgL3Vzci9saWIgMj4vZGV2L251bGxgIFwKKyAJCQk7IGRvCisgCQkgICAgaWYgdGVzdCAtZiAiJGkvdGtDb25maWcuc2giIDsgdGhlbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvZml4LXhmdC5kaWZmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvZml4LXhmdC5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxYmI3MTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9maXgteGZ0LmRpZmYKQEAgLTAsMCArMSwxNiBAQAorLS0tIC90bXAvY29uZmlndXJlLmluCTIwMTAtMDUtMTkgMTM6Mjk6MDMuMDAwMDAwMDAwICswMjAwCisrKysgdW5peC9jb25maWd1cmUuaW4JMjAxMC0wNS0xOSAxMzo0MjowNS4wMDAwMDAwMDAgKzAyMDAKK0BAIC01MjYsMTMgKzUyNiw5IEBACisgCWZvdW5kX3hmdD0ieWVzIgorIAlkbmwgbWFrZSBzdXJlIHBhY2thZ2UgY29uZmlndXJhdG9yICh4ZnQtY29uZmlnIG9yIHBrZy1jb25maWcKKyAJZG5sIHNheXMgdGhhdCB4ZnQgaXMgcHJlc2VudC4KKy0JWEZUX0NGTEFHUz1geGZ0LWNvbmZpZyAtLWNmbGFncyAyPi9kZXYvbnVsbGAgfHwgZm91bmRfeGZ0PSJubyIKKy0JWEZUX0xJQlM9YHhmdC1jb25maWcgLS1saWJzIDI+L2Rldi9udWxsYCB8fCBmb3VuZF94ZnQ9Im5vIgorLQlpZiB0ZXN0ICIkZm91bmRfeGZ0IiA9ICJubyIgOyB0aGVuCisgCSAgICBmb3VuZF94ZnQ9eWVzCisgCSAgICBYRlRfQ0ZMQUdTPWBwa2ctY29uZmlnIC0tY2ZsYWdzIHhmdCAyPi9kZXYvbnVsbGAgfHwgZm91bmRfeGZ0PSJubyIKKyAJICAgIFhGVF9MSUJTPWBwa2ctY29uZmlnIC0tbGlicyB4ZnQgMj4vZGV2L251bGxgIHx8IGZvdW5kX3hmdD0ibm8iCistCWZpCisgCUFDX01TR19SRVNVTFQoWyRmb3VuZF94ZnRdKQorIAlkbmwgbWFrZSBzdXJlIHRoYXQgY29tcGlsaW5nIGFnYWluc3QgWGZ0IGhlYWRlciBmaWxlIGRvZXNuJ3QgYm9tYgorIAlpZiB0ZXN0ICIkZm91bmRfeGZ0IiA9ICJ5ZXMiIDsgdGhlbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvbm9uLWxpbnV4LmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9ub24tbGludXguZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDMxZjlmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvbm9uLWxpbnV4LmRpZmYKQEAgLTAsMCArMSwyNyBAQAorUGF0Y2ggYnkgU2VyZ2VpIEdvbG92YW4gKG9yaWdpbmFsbHkgYnkgTWlrZSBNYXJrbGV5IGFuZCBDaHJpcyBXYXRlcnMpIGZpeGVzCitidWlsZGluZyBvbiBub24tbGludXggRGViaWFuIGFyY2hpdGVjdHVyZXMuCisKKy0tLSB0azguNS04LjUuOC5vcmlnL3VuaXgvY29uZmlndXJlCisrKysgdGs4LjUtOC41LjgvdW5peC9jb25maWd1cmUKK0BAIC00NDQ3LDYgKzQ0NDcsOSBAQAorIAkJaWYgdGVzdCAiYHVuYW1lIC1zYCIgPSAiQUlYIiA7IHRoZW4KKyAJCSAgICB0Y2xfY3Zfc3lzX3ZlcnNpb249QUlYLWB1bmFtZSAtdmAuYHVuYW1lIC1yYAorIAkJZmkKKysJCWlmIHRlc3QgImB1bmFtZSAtc2AiID0gIk5ldEJTRCIgLWEgLWYgL2V0Yy9kZWJpYW5fdmVyc2lvbiA7IHRoZW4KKysJCSAgICB0Y2xfY3Zfc3lzX3ZlcnNpb249TmV0QlNELURlYmlhbgorKwkJZmkKKyAJICAgIGZpCisgCWZpCisKKy0tLSB0azguNS04LjUuOC5vcmlnL3VuaXgvdGNsLm00CisrKysgdGs4LjUtOC41LjgvdW5peC90Y2wubTQKK0BAIC05NjIsNiArOTYyLDkgQEAKKyAJCWlmIHRlc3QgImB1bmFtZSAtc2AiID0gIkFJWCIgOyB0aGVuCisgCQkgICAgdGNsX2N2X3N5c192ZXJzaW9uPUFJWC1gdW5hbWUgLXZgLmB1bmFtZSAtcmAKKyAJCWZpCisrCQlpZiB0ZXN0ICJgdW5hbWUgLXNgIiA9ICJOZXRCU0QiIC1hIC1mIC9ldGMvZGViaWFuX3ZlcnNpb24gOyB0aGVuCisrCQkgICAgdGNsX2N2X3N5c192ZXJzaW9uPU5ldEJTRC1EZWJpYW4KKysJCWZpCisgCSAgICBmaQorIAlmaQorICAgICBdKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvdGtsaWJyYXJ5LmRpZmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay90a2xpYnJhcnkuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTM4YzJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvdGtsaWJyYXJ5LmRpZmYKQEAgLTAsMCArMSwyMiBAQAorLS0tIHRrOC41LTguNS44Lm9yaWcvdW5peC9jb25maWd1cmUKKysrKyB0azguNS04LjUuOC91bml4L2NvbmZpZ3VyZQorQEAgLTExMDcwLDcgKzExMDcwLDcgQEAKKyAgICAgVENMX1NUVUJfRkxBR1M9Ii1EVVNFX1RDTF9TVFVCUyIKKyBmaQorIAorLVRLX0xJQlJBUlk9JyQocHJlZml4KS9saWIvdGskKFZFUlNJT04pJworK3Rlc3QgLXogIiRUS19MSUJSQVJZIiAmJiBUS19MSUJSQVJZPSckKHByZWZpeCkvbGliL3RrJChWRVJTSU9OKScKKyBQUklWQVRFX0lOQ0xVREVfRElSPSckKGluY2x1ZGVkaXIpJworIEhUTUxfRElSPSckKERJU1RESVIpL2h0bWwnCisgVEtfUEtHX0RJUj0ndGskKFZFUlNJT04pJworLS0tIHRrOC41LTguNS44Lm9yaWcvdW5peC9jb25maWd1cmUuaW4KKysrKyB0azguNS04LjUuOC91bml4L2NvbmZpZ3VyZS5pbgorQEAgLTYwNyw3ICs2MDcsNyBAQAorICAgICBUQ0xfU1RVQl9GTEFHUz0iLURVU0VfVENMX1NUVUJTIgorIGZpCisgCistVEtfTElCUkFSWT0nJChwcmVmaXgpL2xpYi90ayQoVkVSU0lPTiknCisrdGVzdCAteiAiJFRLX0xJQlJBUlkiICYmIFRLX0xJQlJBUlk9JyQocHJlZml4KS9saWIvdGskKFZFUlNJT04pJworIFBSSVZBVEVfSU5DTFVERV9ESVI9JyQoaW5jbHVkZWRpciknCisgSFRNTF9ESVI9JyQoRElTVERJUikvaHRtbCcKKyBUS19QS0dfRElSPSd0ayQoVkVSU0lPTiknCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay90a3ByaXZhdGUuZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrL3RrcHJpdmF0ZS5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlMTU0NjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay90a3ByaXZhdGUuZGlmZgpAQCAtMCwwICsxLDQxIEBACitQYXRjaCBieSBDaHJpcyBXYXRlcnMgc2V0cyBwYXRoIHdoaWNoIGFyZSBub3JtYWxseSBwb2ludCB0byBhIGRpcmVjdG9yeQord2l0aCBUayBzb3VyY2VzIHRvIGEgc3ViZGlyZWN0b3J5IG9mIC91c3IvaW5jbHVkZS90Y2w4LjQgKGRlYmlhbi9ydWxlcworcHV0cyBwcml2YXRlIFRrIGhlYWRlcnMgdGhlcmUpLgorCistLS0gdGs4LjUtOC41Ljgub3JpZy91bml4L3RrQ29uZmlnLnNoLmluCisrKysgdGs4LjUtOC41LjgvdW5peC90a0NvbmZpZy5zaC5pbgorQEAgLTU1LDcgKzU1LDcgQEAKKyAKKyAjIFN0cmluZyB0byBwYXNzIHRvIGxpbmtlciB0byBwaWNrIHVwIHRoZSBUayBsaWJyYXJ5IGZyb20gaXRzCisgIyBidWlsZCBkaXJlY3RvcnkuCistVEtfQlVJTERfTElCX1NQRUM9J0BUS19CVUlMRF9MSUJfU1BFQ0AnCisrVEtfQlVJTERfTElCX1NQRUM9J0BUS19MSUJfU1BFQ0AnCisgCisgIyBTdHJpbmcgdG8gcGFzcyB0byBsaW5rZXIgdG8gcGljayB1cCB0aGUgVGsgbGlicmFyeSBmcm9tIGl0cworICMgaW5zdGFsbGVkIGRpcmVjdG9yeS4KK0BAIC03MSw3ICs3MSw3IEBACisgIyBkaWZmZXJlbnQgcGxhY2UgdGhhbiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNvdXJjZSBmaWxlcywgdGhpcworICMgcG9pbnRzIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUgc291cmNlcywgbm90IHRoZSBsb2NhdGlvbiB3aGVyZSBUayB3YXMKKyAjIGNvbXBpbGVkLgorLVRLX1NSQ19ESVI9J0BUS19TUkNfRElSQCcKKytUS19TUkNfRElSPSdAaW5jbHVkZWRpckAvdGstcHJpdmF0ZScKKyAKKyAjIE5lZWRlZCBpZiB5b3Ugd2FudCB0byBtYWtlIGEgJ2ZhdCcgc2hhcmVkIGxpYnJhcnkgbGlicmFyeQorICMgY29udGFpbmluZyB0ayBvYmplY3RzIG9yIGxpbmsgYSBkaWZmZXJlbnQgd2lzaC4KK0BAIC04NiwxNCArODYsMTQgQEAKKyAKKyAjIFN0cmluZyB0byBwYXNzIHRvIGxpbmtlciB0byBwaWNrIHVwIHRoZSBUayBzdHViIGxpYnJhcnkgZnJvbSBpdHMKKyAjIGJ1aWxkIGRpcmVjdG9yeS4KKy1US19CVUlMRF9TVFVCX0xJQl9TUEVDPSdAVEtfQlVJTERfU1RVQl9MSUJfU1BFQ0AnCisrVEtfQlVJTERfU1RVQl9MSUJfU1BFQz0nQFRLX1NUVUJfTElCX1NQRUNAJworIAorICMgU3RyaW5nIHRvIHBhc3MgdG8gbGlua2VyIHRvIHBpY2sgdXAgdGhlIFRrIHN0dWIgbGlicmFyeSBmcm9tIGl0cworICMgaW5zdGFsbGVkIGRpcmVjdG9yeS4KKyBUS19TVFVCX0xJQl9TUEVDPSdAVEtfU1RVQl9MSUJfU1BFQ0AnCisgCisgIyBQYXRoIHRvIHRoZSBUayBzdHViIGxpYnJhcnkgaW4gdGhlIGJ1aWxkIGRpcmVjdG9yeS4KKy1US19CVUlMRF9TVFVCX0xJQl9QQVRIPSdAVEtfQlVJTERfU1RVQl9MSUJfUEFUSEAnCisrVEtfQlVJTERfU1RVQl9MSUJfUEFUSD0nQFRLX1NUVUJfTElCX1BBVEhAJworIAorICMgUGF0aCB0byB0aGUgVGsgc3R1YiBsaWJyYXJ5IGluIHRoZSBpbnN0YWxsIGRpcmVjdG9yeS4KKyBUS19TVFVCX0xJQl9QQVRIPSdAVEtfU1RVQl9MSUJfUEFUSEAnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90a184LjYuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrXzguNi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4ZWNhNTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90a184LjYuNC5iYgpAQCAtMCwwICsxLDc5IEBACitTVU1NQVJZID0gIlRvb2wgQ29tbWFuZCBMYW5ndWFnZSBUb29sS2l0IEV4dGVuc2lvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly90Y2wuc291cmNlZm9yZ2UubmV0IgorU0VDVElPTiA9ICJkZXZlbC90Y2x0ayIKKworIyBodHRwOi8vd3d3LnRjbC50ay9zb2Z0d2FyZS90Y2x0ay9saWNlbnNlLmh0bWwKK0xJQ0VOU0UgPSAidGNsIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8uLi9jb21wYXQvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8uLi9kb2MvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8uLi9saWJyYXJ5L2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyAgICBmaWxlOi8vLi4vbWFjb3N4L2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyAgICBmaWxlOi8vLi4vdGVzdHMvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8uLi91bml4L2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyAgICBmaWxlOi8vLi4vd2luL2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyAgICBmaWxlOi8vLi4veGxpYi9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisiCisKK0RFUEVORFMgPSAidGNsIHZpcnR1YWwvbGlieDExIGxpYnh0IgorCitTUkNfVVJJID0gIlwKKyAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vdGNsLyR7QlBOfSR7UFZ9LXNyYy50YXIuZ3ogXAorICAgIGZpbGU6Ly9jb25mc2VhcmNoLmRpZmY7c3RyaXBsZXZlbD0yIFwKKyAgICBmaWxlOi8vbm9uLWxpbnV4LmRpZmY7c3RyaXBsZXZlbD0yIFwKKyAgICBmaWxlOi8vdGtsaWJyYXJ5LmRpZmY7c3RyaXBsZXZlbD0yIFwKKyAgICBmaWxlOi8vdGtwcml2YXRlLmRpZmY7c3RyaXBsZXZlbD0yIFwKKyAgICBmaWxlOi8vZml4LXhmdC5kaWZmIFwKKyAgICBmaWxlOi8vY29uZmlndXJlLnVzZS5mb250Y29uZmlnLndpdGgueGZ0LnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyNjE3NTRkN2RjMmE1ODJmMDBlMzU1NDc3NzdlMWZlYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwOGY5OWRmODVlNWRjOWM0MjcxNzYyMTYzYzZhYWJiOTYyYzhiMjk3ZGM1YzRjMWFmOGJkZDA1ZmMyZGQyNmMxIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59JHtQVn0vdW5peCIKKworIyBTaG9ydCB2ZXJzaW9uIGZvcm1hdDogIjguNiIKK1ZFUiA9ICIke0Bvcy5wYXRoLnNwbGl0ZXh0KGQuZ2V0VmFyKCdQVicsIFRydWUpKVswXX0iCisKK0xERkxBR1MgKz0gIi1XbCwtcnBhdGgsJHtsaWJkaXJ9L3RjbHRrLyR7UFZ9L2xpYiIKK2luaGVyaXQgYXV0b3Rvb2xzIGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZW5hYmxlLXRocmVhZHMgXAorICAgIC0td2l0aC14IFwKKyAgICAtLXdpdGgtdGNsPSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9IFwKKyAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAorIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBsbiAtc2YgbGlidGske1ZFUn0uc28gJHtEfSR7bGliZGlyfS9saWJ0ayR7VkVSfS5zby4wCisgICAgb2VfbGliaW5zdGFsbCAtc28gbGlidGske1ZFUn0gJHtEfSR7bGliZGlyfQorICAgIGxuIC1zZiB3aXNoJHtWRVJ9ICR7RH0ke2JpbmRpcn0vd2lzaAorCisgICAgIyBFdmVuIGFmdGVyIHBhc3NpbmcgbGliZGlyPSR7bGliZGlyfSBhdCBjb25maWcsIHNvbWUgaW5jb3JyZWN0IGRpcnMgYXJlIHN0aWxsIGdlbmVyYXRlZCBmb3IgdGhlIG11bHRpbGliIGJ1aWxkCisgICAgaWYgWyAiJGxpYmRpciIgIT0gIi91c3IvbGliIiBdOyB0aGVuCisgICAgICAgICMgTW92ZSBmaWxlcyB0byBjb3JyZWN0IGxpYnJhcnkgZGlyZWN0b3J5CisgICAgICAgIG12ICR7RH0vdXNyL2xpYi90ayR7VkVSfS8qICR7RH0vJHtsaWJkaXJ9L3RrJHtWRVJ9LworICAgICAgICAjIFJlbW92ZSB1bm5lZWRlZC9pbmNvcnJlY3QgZGlyICgndXNyL2xpYi8nKQorICAgICAgICBybSAtcmYgJHtEfS91c3IvbGliCisgICAgZmkKK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gInhmdCIKK1BBQ0tBR0VDT05GSUdbeGZ0XSA9ICItLWVuYWJsZS14ZnQsLS1kaXNhYmxlLXhmdCx4ZnQiCitQQUNLQUdFQ09ORklHW3hzc10gPSAiLS1lbmFibGUteHNzLC0tZGlzYWJsZS14c3MsbGlieHNjcm5zYXZlciBsaWJ4ZXh0IgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbGliIgorCitGSUxFU18ke1BOfS1saWIgPSAiJHtsaWJkaXJ9L2xpYnRrJHtWRVJ9LnNvKiIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vdGsqIgorCisjIGlzbid0IGdldHRpbmcgcGlja2VkIHVwIGJ5IHNobGlicyBjb2RlCitSREVQRU5EU18ke1BOfSArPSAidGstbGliIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKKyMgRml4IHRoZSBwYXRoIGluIHNzdGF0ZQorU1NUQVRFX1NDQU5fRklMRVMgKz0gIipDb25maWcuc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91dy1pbWFwL3V3LWltYXAvaW1hcC0yMDA3ZS1zaGFyZWQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91dy1pbWFwL3V3LWltYXAvaW1hcC0yMDA3ZS1zaGFyZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQzNGU4MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3V3LWltYXAvdXctaW1hcC9pbWFwLTIwMDdlLXNoYXJlZC5wYXRjaApAQCAtMCwwICsxLDgyIEBACitGaXggbGlua2luZyBsaWJyYXJpZXMgYnVpbHQgd2l0aCAtZlBJQyB3aXRoIHRoaXMgbGlicmFyeQorCitQYXRjaCBib3Jyb3dlZCBmcm9tIEZlZG9yYQorCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK2RpZmYgLXVwIGltYXAtMjAwN2Uvc3JjL29zZGVwL3VuaXgvTWFrZWZpbGUuc2hhcmVkIGltYXAtMjAwN2Uvc3JjL29zZGVwL3VuaXgvTWFrZWZpbGUKKy0tLSBpbWFwLTIwMDdlL3NyYy9vc2RlcC91bml4L01ha2VmaWxlLnNoYXJlZAkyMDA5LTA3LTA3IDE5OjI4OjAyLjkwOTc1NTUxMiAtMDUwMAorKysrIGltYXAtMjAwN2Uvc3JjL29zZGVwL3VuaXgvTWFrZWZpbGUJMjAwOS0wNy0wNyAxOToyOTozNS44NzAwMDY3OTkgLTA1MDAKK0BAIC0xNzAsNiArMTcwLDEwIEBAIEJVSUxEPSQoTUFLRSkgYnVpbGQgRVhUUkFDRkxBR1M9JyQoRVhUUkEKKyAgRVhUUkFEUklWRVJTPSckKEVYVFJBRFJJVkVSUyknIEVYVFJBQVVUSEVOVElDQVRPUlM9JyQoRVhUUkFBVVRIRU5USUNBVE9SUyknXAorICBQQVNTV0RUWVBFPSQoUEFTU1dEVFlQRSkgU1NMVFlQRT0kKFNTTFRZUEUpIElQPSQoSVApCisgCisrIyBOZWVkIHRoaXMgZm9yIHRoZSBzaGFyZWQgbGlicmFyeSBydWxlIHRvIHdvcmsgY29ycmVjdGx5CisrLlNVRkZJWEVTOiAubyAuc28KKytTT0ZJTEVTPSR7QklOQVJJRVM6Lm89LnNvfQorKworIAorICMgSGVyZSBpZiBubyBtYWtlIGFyZ3VtZW50IGVzdGFibGlzaGVkCisgCitAQCAtODQ1LDE4ICs4NDksMjQgQEAgdnUyOgkjIFZBWCBVbHRyaXggMi4zLCBldGMuCisgCisgIyBCdWlsZCBpdCEKKyAKKy1idWlsZDoJY2xlYW4gb25jZSAkKEFSQ0hJVkUpCisrYnVpbGQ6CWNsZWFuIG9uY2UgJChBUkNISVZFKSAkKFNITElCTkFNRSkKKyAKKy1hbGw6CSQoQVJDSElWRSkKKythbGw6CSQoQVJDSElWRSkgJChTSExJQk5BTUUpCisgCisgJChBUkNISVZFKTogJChCSU5BUklFUykKKyAJc2ggLWMgJyQoUk0pICQoQVJDSElWRSkgfHwgdHJ1ZScKKyAJQCQoQ0FUKSBBUkNISVZFCisgCUAkKFNIKSBBUkNISVZFCisgCistLmMubzoKKy0JYCQoQ0FUKSBDQ1RZUEVgIC1jIGAkKENBVCkgQ0ZMQUdTYCAkKi5jCisrJChTSExJQk5BTUUpOgkkKFNPRklMRVMpCisrCWdjYyAtc2hhcmVkIC1XbCwtc29uYW1lLCQoU0hMSUJOQU1FKSAtbyAkKFNITElCTkFNRSkgJChTT0ZJTEVTKSBgY2F0IExERkxBR1NgCisrCWxuIC1zICQoU0hMSUJOQU1FKSBsaWIkKFNITElCQkFTRSkuc28KKyAKKysuYy5zbzoJb3NkZXAuaAorKwkkKENDKSAtZlBJQyAtRFBJQyAtRF9SRUVOVFJBTlQgLWMgYCQoQ0FUKSBDRkxBR1NgICR7QDouc289LmN9IC1vICRACisrCisrLmMubzoKKysJJChDQykgLWZQSUMgLURQSUMgLURfUkVFTlRSQU5UIC1jIGAkKENBVCkgQ0ZMQUdTYCAkKi5jCisgCisgIyBDbGVhbnVwCisgCitAQCAtODk1LDggKzkwNSw3IEBAIHV0ZjhhdXgubzogbWFpbC5oIG1pc2MuaCBvc2RlcC5oIHV0ZjguaAorIAorIAorICMgT1MtZGVwZW5kZW50CistCistb3NkZXAubzptYWlsLmggbWlzYy5oIGVudi5oIGZzLmggZnRsLmggbmwuaCB0Y3AuaCBcCisrT1NERVBTPSBtYWlsLmggbWlzYy5oIGVudi5oIGZzLmggZnRsLmggbmwuaCB0Y3AuaCBcCisgCW9zZGVwLmggZW52X3VuaXguaCB0Y3BfdW5peC5oIFwKKyAJb3NkZXAuYyBlbnZfdW5peC5jIGZzX3VuaXguYyBmdGxfdW5peC5jIG5sX3VuaXguYyB0Y3BfdW5peC5jIGlwX3VuaXguY1wKKyAJYXV0aHMuYyBjcmV4Y2wuYyBmbG9ja2N5Zy5jIGZsb2NrbG54LmMgZmxvY2tzaW0uYyBmc3luYy5jIFwKK0BAIC05MTAsMTIgKzkxOSwxOSBAQCBvc2RlcC5vOm1haWwuaCBtaXNjLmggZW52LmggZnMuaCBmdGwuaCBuCisgCXdyaXRlLmMgc3Nsc3RkaW8uYyBcCisgCXN0cmVycm9yLmMgc3RycGJyay5jIHN0cnN0ci5jIHN0cnRvay5jIHN0cnRvdWwuYyBcCisgCU9TQ0ZMQUdTCisrCisrb3NkZXAubzoJJChPU0RFUFMpCisrCSQoQ0MpIC1mUElDIC1EUElDIC1EX1JFRU5UUkFOVCBgJChDQVQpIENGTEFHU2AgYCQoQ0FUKSBPU0NGTEFHU2AgLWMgb3NkZXAuYworKwlAZWNobyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAJQGVjaG8gQnVpbGRpbmcgT1MtZGVwZW5kZW50IG1vZHVsZQorIAlAZWNobyBJZiB5b3UgZ2V0IE5vIHN1Y2ggZmlsZSBlcnJvciBtZXNzYWdlcyBmb3IgZmlsZXMgeDUwOS5oLCBzc2wuaCwKKyAJQGVjaG8gcGVtLmgsIGJ1ZmZlci5oLCBiaW8uaCwgYW5kIGNyeXB0by5oLCB0aGF0IG1lYW5zIHRoYXQgT3BlblNTTAorIAlAZWNobyBpcyBub3QgaW5zdGFsbGVkIG9uIHlvdXIgc3lzdGVtLiAgRWl0aGVyIGluc3RhbGwgT3BlblNTTCBmaXJzdAorIAlAZWNobyBvciBidWlsZCB3aXRoIGNvbW1hbmQ6IG1ha2UgYCQoQ0FUKSBPU1RZUEVgIFNTTFRZUEU9bm9uZQorLQlgJChDQVQpIENDVFlQRWAgLWMgYCQoQ0FUKSBDRkxBR1NgIGAkKENBVCkgT1NDRkxBR1NgIC1jIG9zZGVwLmMKKysJQGVjaG8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrCisrb3NkZXAuc286CSQoT1NERVBTKQorKwkkKENDKSAtZlBJQyAtRFBJQyAtRF9SRUVOVFJBTlQgYCQoQ0FUKSBDRkxBR1NgIGBjYXQgT1NDRkxBR1NgIC1jIG9zZGVwLmMgLW8gJEAKKyAKKyBvc2RlcC5jOiBvc2RlcGJhcy5jIG9zZGVwY2twLmMgb3NkZXBsb2cuYyBvc2RlcHNzbC5jCisgCSQoQ0FUKSBvc2RlcGJhcy5jIG9zZGVwY2twLmMgb3NkZXBsb2cuYyBvc2RlcHNzbC5jID4gb3NkZXAuYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdXctaW1hcC91dy1pbWFwL2ltYXAtMjAwN2YtZm9ybWF0LXNlY3VyaXR5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdXctaW1hcC91dy1pbWFwL2ltYXAtMjAwN2YtZm9ybWF0LXNlY3VyaXR5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlYzA0NzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91dy1pbWFwL3V3LWltYXAvaW1hcC0yMDA3Zi1mb3JtYXQtc2VjdXJpdHkucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorRml4IGVycm9yIGZvdW5kIHdpdGggIi1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IiBmbGFnCisKK1BhdGNoIGJvcnJvd2VkIGZyb20gRmVkb3JhCisKK1NpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworZGlmZiAtTmF1ciBpbWFwLTIwMDdmLm9yaWcvc3JjL29zZGVwL3VuaXgvZmxvY2tsbnguYyBpbWFwLTIwMDdmL3NyYy9vc2RlcC91bml4L2Zsb2NrbG54LmMKKy0tLSBpbWFwLTIwMDdmLm9yaWcvc3JjL29zZGVwL3VuaXgvZmxvY2tsbnguYwkyMDExLTA3LTIzIDAyOjIwOjExLjAwMDAwMDAwMCArMDIwMAorKysrIGltYXAtMjAwN2Yvc3JjL29zZGVwL3VuaXgvZmxvY2tsbnguYwkyMDE0LTA0LTE0IDE5OjE3OjQ2LjQyOTAwMDAwMCArMDIwMAorQEAgLTU3LDcgKzU3LDcgQEAKKyAgICAgY2FzZSBFTk9MQ0s6CQkvKiBsb2NrIHRhYmxlIGlzIGZ1bGwgKi8KKyAgICAgICBzcHJpbnRmICh0bXAsIkZpbGUgbG9ja2luZyBmYWlsdXJlOiAlcyIsc3RyZXJyb3IgKGVycm5vKSk7CisgICAgICAgbW1fbG9nICh0bXAsV0FSTik7CS8qIGdpdmUgdGhlIHVzZXIgYSB3YXJuaW5nIG9mIHdoYXQgaGFwcGVuZWQgKi8KKy0gICAgICBpZiAoIWxvZ2dlZCsrKSBzeXNsb2cgKExPR19FUlIsdG1wKTsKKysgICAgICBpZiAoIWxvZ2dlZCsrKSBzeXNsb2cgKExPR19FUlIsICIlcyIsIHRtcCk7CisgCQkJCS8qIHJldHVybiBmYWlsdXJlIGlmIG5vbi1ibG9ja2luZyBsb2NrICovCisgICAgICAgaWYgKG9wICYgTE9DS19OQikgcmV0dXJuIC0xOworICAgICAgIHNsZWVwICg1KTsJCS8qIHNsb3cgZG93biBpbiBjYXNlIGl0IGxvb3BzICovCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91dy1pbWFwL3V3LWltYXAvcXVvdGVfY2N0eXBlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdXctaW1hcC91dy1pbWFwL3F1b3RlX2NjdHlwZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzI5ZWUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdXctaW1hcC91dy1pbWFwL3F1b3RlX2NjdHlwZS5wYXRjaApAQCAtMCwwICsxLDEyIEBACitkaWZmIC11ck4gaW1hcC0yMDA3Lm9yaWcvTWFrZWZpbGUgaW1hcC0yMDA3L01ha2VmaWxlCistLS0gaW1hcC0yMDA3Lm9yaWcvTWFrZWZpbGUJMjAwNy0xMi0yMCAyMzoxMToxMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBpbWFwLTIwMDcvTWFrZWZpbGUJMjAwOC0wMy0xOSAxNDowODo0Ny4wMDAwMDAwMDAgKzAxMDAKK0BAIC02OTAsNyArNjkwLDcgQEAKKyAJQCQoU0gpIC1jICcodGVzdCAkKEJVSUxEVFlQRSkgPSByZWJ1aWxkIC1vICQoQlVJTERUWVBFKSA9IGAkKENBVCkgT1NUWVBFYCkgfHwgKGVjaG8gQWxyZWFkeSBidWlsdCBmb3IgYCQoQ0FUKSBPU1RZUEVgIC0tIHlvdSBtdXN0IGRvIFwibWFrZSBjbGVhblwiIGZpcnN0ICYmIGV4aXQgMSknCisgCUBlY2hvIFJlYnVpbGRpbmcgYy1jbGllbnQgZm9yIGAkKENBVCkgT1NUWVBFYC4uLgorIAlAJChUT1VDSCkgU1BFQ0lBTFMKKy0JJChDRCkgYy1jbGllbnQ7JChNQUtFKSBhbGwgQ0M9YCQoQ0FUKSBDQ1RZUEVgIFwKKysJJChDRCkgYy1jbGllbnQ7JChNQUtFKSBhbGwgQ0M9ImAkKENBVCkgQ0NUWVBFYCIgXAorIAkgQ0ZMQUdTPSJgJChDQVQpIENGTEFHU2AiIGAkKENBVCkgU1BFQ0lBTFNgCisgCisgcmVidWlsZGNsZWFuOgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdXctaW1hcC91dy1pbWFwXzIwMDdmLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdXctaW1hcC91dy1pbWFwXzIwMDdmLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyYjY4OWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91dy1pbWFwL3V3LWltYXBfMjAwN2YuYmIKQEAgLTAsMCArMSw0NCBAQAorU1VNTUFSWSA9ICJVVyBjLWNsaWVudCBsaWJyYXJ5IGZvciBtYWlsIHByb3RvY29scyIKK1NFQ1RJT04gPSAiZGV2ZWwiCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1hNmE0ZGRiYjdjZDI5OTlmNjgyN2VlMTQzZjZmY2Q5NyIKKworREVQRU5EUyA9ICJvcGVuc3NsIgorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5jYWMud2FzaGluZ3Rvbi5lZHUvaW1hcC9pbWFwLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9xdW90ZV9jY3R5cGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW1hcC0yMDA3ZS1zaGFyZWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW1hcC0yMDA3Zi1mb3JtYXQtc2VjdXJpdHkucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMTI2ZmQxMjVlYTI2YjczYjIwZjAxZmNkNTk0MDM2OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1M2UxNWEyYjVjMWJjODAxNjFkNDJlOWY2OTc5MmEzZmExODMzMmI3Yjc3MTkxMDEzMTAwNGViNTIwMDA0YTI4IgorCitTID0gIiR7V09SS0RJUn0vaW1hcC0ke1BWfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLCxsaWJwYW0iCisKK0VYVFJBX09FTUFLRSA9ICJDQz0nJHtDQ30nIgorCitIRUFERVJTID0gInNyYy9jLWNsaWVudC8qLmggc3JjL29zZGVwL3VuaXgvKi5oIGMtY2xpZW50L2F1dGhzLmMgYy1jbGllbnQvbGlua2FnZS5jIGMtY2xpZW50L2xpbmthZ2UuaCBjLWNsaWVudC9vc2RlcC5oIgorCitkb19jb21waWxlKCkgeworICAgIGVjaG8gIlNTTElOQ0xVREU9JHtTVEFHSU5HX0lOQ0RJUn0gU1NMTElCPSR7U1RBR0lOR19MSUJESVJ9IiA+ICR7U30vU1BFQ0lBTFMKKyAgICBvZV9ydW5tYWtlICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BhbScsICdsbnAnLCAnc2x4JywgZCl9Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9jLWNsaWVudAorICAgIGluc3RhbGwgJHtIRUFERVJTfSAke0R9JHtpbmNsdWRlZGlyfS9jLWNsaWVudAorICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQorICAgIGluc3RhbGwgYy1jbGllbnQvYy1jbGllbnQuYSAke0R9JHtsaWJkaXJ9L2xpYmMtY2xpZW50LmEKK30KKworUlBST1ZJREVTXyR7UE59ID0gImxpYmMtY2xpZW50IgorUlJFUExBQ0VTXyR7UE59ID0gImxpYmMtY2xpZW50IgorUkNPTkZMSUNUU18ke1BOfSA9ICJsaWJjLWNsaWVudCIKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS1kYnVzLWJpbmRpbmctdG9vbC92YWxhLWRidXMtYmluZGluZy10b29sLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2wvdmFsYS1kYnVzLWJpbmRpbmctdG9vbC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc0NTEzMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2wvdmFsYS1kYnVzLWJpbmRpbmctdG9vbC5pbmMKQEAgLTAsMCArMSwxNiBAQAorREVTQ1JJUFRJT04gPSAiVmFsYSBEQnVzIEJpbmRpbmcgVG9vbCIKK1NFQ1RJT04gPSAiZGV2ZWwiCitERVBFTkRTID0gInZhbGEgbGliZ2VlIGxpYnhtbDIgaW50bHRvb2wtbmF0aXZlIgorSE9NRVBBR0UgPSAiaHR0cDovL3dpa2kuZnJlZXNtYXJ0cGhvbmUub3JnL2luZGV4LnBocC9JbXBsZW1lbnRhdGlvbnMvdmFsYS1kYnVzLWJpbmRpbmctdG9vbCIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK1BFID0gIjEiCitJTkNfUFIgPSAicjMiCisKK2V4cG9ydCBYREdfREFUQV9ESVJTID0gIiR7U1RBR0lOR19EQVRBRElSfSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZnJlZXNtYXJ0cGhvbmUvc291cmNlcy8ke0JQfS50YXIuYnoyIgorCitpbmhlcml0IGF1dG90b29scyBwZXJsbmF0aXZlIHBrZ2NvbmZpZworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2wvdmFsYS1kYnVzLWJpbmRpbmctdG9vbC8wMDAxLWNvbmZpZ3VyZS5hYy1kb24tdC11c2UtZGFzaC1pbi1tNC1tYWNyby1uYW1lcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2wvdmFsYS1kYnVzLWJpbmRpbmctdG9vbC8wMDAxLWNvbmZpZ3VyZS5hYy1kb24tdC11c2UtZGFzaC1pbi1tNC1tYWNyby1uYW1lcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNGQ4NGFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS1kYnVzLWJpbmRpbmctdG9vbC92YWxhLWRidXMtYmluZGluZy10b29sLzAwMDEtY29uZmlndXJlLmFjLWRvbi10LXVzZS1kYXNoLWluLW00LW1hY3JvLW5hbWVzLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gOGFiZWQyZTViZjhlNzgxNWIxMWRmNmQyMjA0MmQ1ZjBhYzhlZmNiMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNSBNYXkgMjAxNSAxMzo0MzozNSArMDIwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuYWM6IGRvbid0IHVzZSBkYXNoIGluIG00IG1hY3JvIG5hbWVzCisKKyogb3RoZXJ3aXNlIGl0IGRvZXNuJ3QgZ2V0IGV4cGFuZGVkIGFuZCB2YWxhLWRidXMtYmluZGluZy10b29sIGVuZHMgd2l0aCB2ZXJzaW9uICd2YWxhLWRidXMtYmluZGluZy10b29sX3ZlcnNpb24nCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDEwICsrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA0OGYwMDdjLi4xOGQwYmRlIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0xLDkgKzEsOSBAQAorLW00X2RlZmluZShbdmFsYS1kYnVzLWJpbmRpbmctdG9vbF9yZWxlYXNlZF0sIFswXSkKKy1tNF9kZWZpbmUoW3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfYmFzZV92ZXJzaW9uXSwgWzEuMF0pCistbTRfZGVmaW5lKFt2YWxhLWRidXMtYmluZGluZy10b29sX21heWJlX2dpdHJldl0sIG00X2lmKHZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfcmVsZWFzZWQsIFsxXSwgW10sIFttNF9lc3lzY21kKFtnaXQgc2hvdy1yZWYgLS1oYXNoPTUgSEVBRCB8IHRyIC1kICdcblxyJ10pXSkpCistbTRfZGVmaW5lKFt2YWxhLWRidXMtYmluZGluZy10b29sX3ZlcnNpb25dLCBtNF9pZih2YWxhLWRidXMtYmluZGluZy10b29sX3JlbGVhc2VkLCBbMV0sIFt2YWxhLWRidXMtYmluZGluZy10b29sX2Jhc2VfdmVyc2lvbl0sIFt2YWxhLWRidXMtYmluZGluZy10b29sX2Jhc2VfdmVyc2lvbi12YWxhLWRidXMtYmluZGluZy10b29sX21heWJlX2dpdHJldl0pKQorK200X2RlZmluZShbdmFsYV9kYnVzX2JpbmRpbmdfdG9vbF9yZWxlYXNlZF0sIFswXSkKKyttNF9kZWZpbmUoW3ZhbGFfZGJ1c19iaW5kaW5nX3Rvb2xfYmFzZV92ZXJzaW9uXSwgWzEuMF0pCisrbTRfZGVmaW5lKFt2YWxhX2RidXNfYmluZGluZ190b29sX21heWJlX2dpdHJldl0sIG00X2lmKHZhbGFfZGJ1c19iaW5kaW5nX3Rvb2xfcmVsZWFzZWQsIFsxXSwgW10sIFttNF9lc3lzY21kKFtnaXQgc2hvdy1yZWYgLS1oYXNoPTUgSEVBRCB8IHRyIC1kICdcblxyJ10pXSkpCisrbTRfZGVmaW5lKFt2YWxhX2RidXNfYmluZGluZ190b29sX3ZlcnNpb25dLCBtNF9pZih2YWxhX2RidXNfYmluZGluZ190b29sX3JlbGVhc2VkLCBbMV0sIFt2YWxhX2RidXNfYmluZGluZ190b29sX2Jhc2VfdmVyc2lvbl0sIFt2YWxhX2RidXNfYmluZGluZ190b29sX2Jhc2VfdmVyc2lvbi12YWxhX2RidXNfYmluZGluZ190b29sX21heWJlX2dpdHJldl0pKQorIAorLUFDX0lOSVQoW3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xdLCBbdmFsYS1kYnVzLWJpbmRpbmctdG9vbF92ZXJzaW9uXSwgW2Zzb0BvcGVucGhvZW51eC5vcmddLCBbdmFsYS1kYnVzLWJpbmRpbmctdG9vbF0pCisrQUNfSU5JVChbdmFsYS1kYnVzLWJpbmRpbmctdG9vbF0sIFt2YWxhX2RidXNfYmluZGluZ190b29sX3ZlcnNpb25dLCBbZnNvQG9wZW5waG9lbnV4Lm9yZ10sIFt2YWxhLWRidXMtYmluZGluZy10b29sXSkKKyBBQ19DT05GSUdfU1JDRElSKFtzcmMvTWFrZWZpbGUuYW1dKQorIEFDX0NPTkZJR19IRUFERVJTKGNvbmZpZy5oKQorIEFNX0lOSVRfQVVUT01BS0UoW2Rpc3QtYnppcDJdKQorLS0gCisyLjMuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy92YWxhLWRidXMtYmluZGluZy10b29sL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfMC40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy92YWxhLWRidXMtYmluZGluZy10b29sL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfMC40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJmYjczYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2wvdmFsYS1kYnVzLWJpbmRpbmctdG9vbF8wLjQuMC5iYgpAQCAtMCwwICsxLDQgQEAKK3JlcXVpcmUgdmFsYS1kYnVzLWJpbmRpbmctdG9vbC5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjU5ZWFiN2FiZjM4ZjM1MzU1ZDM3ODY4MDNiZDI0NDFmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFlMzdhYjJlNjIzOGVhZWY5ZjU3MzU2MGVhNzM3OWU2OTU1NTcwZjdjOTUwMzA4M2U1MGM0YzE4NWMxOTU2ZGYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy92YWxhLWRidXMtYmluZGluZy10b29sL3ZhbGEtZGJ1cy1iaW5kaW5nLXRvb2xfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS1kYnVzLWJpbmRpbmctdG9vbC92YWxhLWRidXMtYmluZGluZy10b29sX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMmE4NjlmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS1kYnVzLWJpbmRpbmctdG9vbC92YWxhLWRidXMtYmluZGluZy10b29sX2dpdC5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHZhbGEtZGJ1cy1iaW5kaW5nLXRvb2wuaW5jCisKKyMgVGVtcG9yYXJ5IHJlbW92ZSBuZWdhdGl2ZSBwcmVmZXJlbmNlLCBiZWNhdXNlIHRoZXJlIGFyZSAyIHZlcnNpb25zIG9mIDAuNC4wIGFyY2hpdmVzOgorIyB0aGUgb3JpZ2luYWwgb25lIGRlcGVuZGluZyBvbiBsaWJnZWUxLjAgZnJvbQorIyBodHRwOi8vZG93bmxvYWRzLmZyZWVzbWFydHBob25lLm9yZy9zb3VyY2VzLyR7QlBOfS8ke0JQfS50YXIuYnoyCisjIGFuZCBuZXcgb25lIGRlcGVuZGluZyBvbiBsaWJnZWUwLjggZnJvbQorIyBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2ZyZWVzbWFydHBob25lL2ZpbGVzL3NvdXJjZXMvCisjIFRoZSBvcmlnaW5hbCBvbmUgY2FuIGJlIGFscmVhZHkgZGVwbG95ZWQgb24gdmFyaW91cyBwcmVtaXJyb3JzLAorIyBzbyBwcmVmZXIgdGhlIGdpdCByZWNpcGUgd2hpY2ggZG9lc24ndCBzdWZmZXIgZnJvbSB0aGlzIGlzc3VlCisjIERFRkFVTFRfUFJFRkVSRU5DRSA9ICItMSIKKworU1JDUkVWID0gIjc0MmMwNGMyYmIwNzQzODkxOTA0NTIyY2U0N2U1MGY5ZTVjOTliMTIiCitQViA9ICIwLjQuMCtnaXRyJHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9mcmVlc21hcnRwaG9uZS92YWxhLWRidXMtYmluZGluZy10b29sLmdpdDtwcm90b2NvbD1odHRwcyBcCisgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWRvbi10LXVzZS1kYXNoLWluLW00LW1hY3JvLW5hbWVzLnBhdGNoIFwKKyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94ZXJjZXMtYy94ZXJjZXMtY18zLjEuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3hlcmNlcy1jL3hlcmNlcy1jXzMuMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNTVjOWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94ZXJjZXMtYy94ZXJjZXMtY18zLjEuMy5iYgpAQCAtMCwwICsxLDQ2IEBACitTVU1NQVJZID0gIlhlcmNlcy1jIGlzIGEgdmFsaWRhdGluZyB4bWwgcGFyc2VyIHdyaXR0ZW4gaW4gQysrIgorREVTQ1JJUFRJT04gPSAiWGVyY2VzLUMrKyBtYWtlcyBpdCBlYXN5IHRvIGdpdmUgeW91ciBhcHBsaWNhdGlvbiBcCisgICAgICAgICAgICAgICB0aGUgYWJpbGl0eSB0byByZWFkIGFuZCB3cml0ZSBYTUwgZGF0YS4gXAorICAgICAgICAgICAgICAgQSBzaGFyZWQgbGlicmFyeSBpcyBwcm92aWRlZCBmb3IgcGFyc2luZywgZ2VuZXJhdGluZywgXAorICAgICAgICAgICAgICAgbWFuaXB1bGF0aW5nLCBhbmQgdmFsaWRhdGluZyBYTUwgZG9jdW1lbnRzIHVzaW5nIFwKKyAgICAgICAgICAgICAgIHRoZSBET00sIFNBWCwgYW5kIFNBWDIgQVBJcy4iCitIT01FUEFHRSA9ICJodHRwOi8veGVyY2VzLmFwYWNoZS5vcmcveGVyY2VzLWMvIgorU0VDVElPTiA9ICAibGlicyIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNiODNlZjk2Mzg3ZjE0NjU1ZmM4NTRkZGMzYzZiZDU3IgorCitTUkNfVVJJID0gImh0dHA6Ly9hcGFjaGUubGF1Zi1mb3J1bS5hdC94ZXJjZXMvYy8zL3NvdXJjZXMvJHtCUH0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ZTMzM2I1NWNiNDNlNmIwMjVkZGYwZTVkMGYwZmIwZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmYzVlNWUwMjQ3YjEwOGI4ZDY0ZDc1YWViMTI0Y2FiZGVlOWI3ZmNkNzI1YTg5ZmUyMjQyYjQ2MzdiMjVjMWZhIgorCitpbmhlcml0IGF1dG90b29scworCitQQUNLQUdFQ09ORklHID8/PSAiY3VybCBpY3UiCitQQUNLQUdFQ09ORklHW2N1cmxdID0gIi0td2l0aC1jdXJsPSR7U1RBR0lOR19ESVJ9LC0td2l0aC1jdXJsPW5vLGN1cmwiCitQQUNLQUdFQ09ORklHW2ljdV0gPSAiLS13aXRoLWljdT0ke1NUQUdJTkdfRElSfSwtLXdpdGgtaWN1PW5vLGljdSIKKworZG9faW5zdGFsbF9wcmVwZW5kICgpIHsKKyAgICAgICAgc2VkIC1pIC1lICdzOi1MJHtTVEFHSU5HX0RJUn0vbGliOi1MXCRce2xpYmRpclx9OmcnICR7Qn0veGVyY2VzLWMucGMKK30KKworUEFDS0FHRVMgPSAibGlieGVyY2VzLWMgXAorICAgICAgICAgICAgbGlieGVyY2VzLWMtZGJnIFwKKyAgICAgICAgICAgIGxpYnhlcmNlcy1jLWRldiBcCisgICAgICAgICAgICB4ZXJjZXMtYy1zYW1wbGVzIFwKKyAgICAgICAgICAgIHhlcmNlcy1jLXNhbXBsZXMtZGJnIFwKKyAgICAgICAgICAgIGxpYnhlcmNlcy1jLXN0YXRpY2RldiBcCisJICAgIiAKKworRklMRVNfbGlieGVyY2VzLWMgPSAiJHtsaWJkaXJ9L2xpYnhlcmNlcy1jLTMuMS5zbyIKK0ZJTEVTX2xpYnhlcmNlcy1jLWRiZyA9ICIke2xpYmRpcn0vLmRlYnVnIFwgCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NyYy9kZWJ1ZyAiCitGSUxFU19saWJ4ZXJjZXMtYy1kZXYgPSAiJHtsaWJkaXJ9L2xpYioubGEgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJ4ZXJjZXMtYy5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy94ZXJjZXMtYy5wYyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS94ZXJjZXNjIFwKKwkJCSAiCitGSUxFU194ZXJjZXMtYy1zYW1wbGVzID0gIiR7YmluZGlyfS8qIgorRklMRVNfeGVyY2VzLWMtc2FtcGxlcy1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy8iCitGSUxFU19saWJ4ZXJjZXMtYy1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYiouYSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy95YWpsL3lhamxfMi4xLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy95YWpsL3lhamxfMi4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWJmNTM4OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3lhamwveWFqbF8yLjEuMC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIllldCBBbm90aGVyIEpTT04gTGlicmFyeS4iCisKK0RFU0NSSVBUSU9OID0gIllBSkwgaXMgYSBzbWFsbCBldmVudC1kcml2ZW4gKFNBWC1zdHlsZSkgSlNPTiBwYXJzZXIgXAord3JpdHRlbiBpbiBBTlNJIEMsIGFuZCBhIHNtYWxsIHZhbGlkYXRpbmcgSlNPTiBnZW5lcmF0b3IuIgorCitIT01FUEFHRSA9ICJodHRwOi8vbGxveWQuZ2l0aHViLmNvbS95YWpsLyIKKworTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOWFmNmViNDI5OTk4NTJiZGQzZWEwMGFkMTIwYTM2ZCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2xsb3lkL3lhamwiCitTUkNSRVYgPSAiYTBlY2RkZTBjMDQyYjkyNTYxNzBmMmY4ODkwZGQ5NDUxYTQyNDBhYSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZSBsaWJfcGFja2FnZQorCitFWFRSQV9PRUNNQUtFID0gIi1ETElCX1NVRkZJWD0ke0BkLmdldFZhcignYmFzZWxpYicsIFRydWUpLnJlcGxhY2UoJ2xpYicsICcnKX0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9hY3BpY2EvYWNwaWNhXzIwMTUwNTE1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvYWNwaWNhL2FjcGljYV8yMDE1MDUxNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTg5N2UxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvYWNwaWNhL2FjcGljYV8yMDE1MDUxNS5iYgpAQCAtMCwwICsxLDQ2IEBACitTVU1NQVJZID0gIkFDUElDQSB0b29scyBmb3IgdGhlIGRldmVsb3BtZW50IGFuZCBkZWJ1ZyBvZiBBQ1BJIHRhYmxlcyIKK0RFU0NSSVBUSU9OID0gIlRoZSBBQ1BJIENvbXBvbmVudCBBcmNoaXRlY3R1cmUgKEFDUElDQSkgcHJvamVjdCBwcm92aWRlcyBhbiBcCitPUy1pbmRlcGVuZGVudCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gb2YgdGhlIEFkdmFuY2VkIENvbmZpZ3VyYXRpb24gYW5kIFwKK1Bvd2VyIEludGVyZmFjZSBTcGVjaWZpY2F0aW9uIChBQ1BJKS4gQUNQSUNBIGNvZGUgY29udGFpbnMgdGhvc2UgcG9ydGlvbnMgb2YgXAorQUNQSSBtZWFudCB0byBiZSBkaXJlY3RseSBpbnRlZ3JhdGVkIGludG8gdGhlIGhvc3QgT1MgYXMgYSBrZXJuZWwtcmVzaWRlbnQgXAorc3Vic3lzdGVtLCBhbmQgYSBzbWFsbCBzZXQgb2YgdG9vbHMgdG8gYXNzaXN0IGluIGRldmVsb3BpbmcgYW5kIGRlYnVnZ2luZyBcCitBQ1BJIHRhYmxlcy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYWNwaWNhLm9yZy8iCitTRUNUSU9OID0gImNvbnNvbGUvdG9vbHMiCisKK0xJQ0VOU0UgPSAiQlNEIHwgR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9nZW5lcmF0ZS91bml4L3JlYWRtZS50eHQ7bWQ1PTIwNDQwN2UxOTdjMWEwMTE1NGE0OGY2YzYyODBjM2FhIgorCitDT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fGFybXxhYXJjaDY0KS4qLWxpbnV4IgorCitERVBFTkRTID0gImJpc29uIGZsZXgiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9hY3BpY2Eub3JnL3NpdGVzL2FjcGljYS9maWxlcy9hY3BpY2EtdW5peDItJHtQVn0udGFyLmd6IFwKKyAgICBmaWxlOi8vbm8td2Vycm9yLnBhdGNoIFwKKyAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiMmJjNGE3Y2NjODJkZTlkZjlmYTk2NGY3ODRlY2IyOWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjEyMDRlYzU2ZDcxYmM5YmZhMmVlMmFkZTRjNjZmN2U4NTQxNzcyYWM3MmVmOGNjYzIwYjNmMzM5Y2M5NjM3NCIKKworUyA9ICIke1dPUktESVJ9L2FjcGljYS11bml4Mi0ke1BWfSIKKworRVhUUkFfT0VNQUtFID0gIkNDPScke0NDfScgJ09QVF9DRkxBR1M9LVdhbGwnIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLUQgLXAgLW0wNzU1IGdlbmVyYXRlL3VuaXgvYmluKi9pYXNsICR7RH0ke2JpbmRpcn0vaWFzbAorICAgIGluc3RhbGwgLUQgLXAgLW0wNzU1IGdlbmVyYXRlL3VuaXgvYmluKi9hY3BpYmluICR7RH0ke2JpbmRpcn0vYWNwaWJpbgorICAgIGluc3RhbGwgLUQgLXAgLW0wNzU1IGdlbmVyYXRlL3VuaXgvYmluKi9hY3BpZXhlYyAke0R9JHtiaW5kaXJ9L2FjcGlleGVjCisgICAgaW5zdGFsbCAtRCAtcCAtbTA3NTUgZ2VuZXJhdGUvdW5peC9iaW4qL2FjcGloZWxwICR7RH0ke2JpbmRpcn0vYWNwaWhlbHAKKyAgICBpbnN0YWxsIC1EIC1wIC1tMDc1NSBnZW5lcmF0ZS91bml4L2JpbiovYWNwaW5hbWVzICR7RH0ke2JpbmRpcn0vYWNwaW5hbWVzCisgICAgaW5zdGFsbCAtRCAtcCAtbTA3NTUgZ2VuZXJhdGUvdW5peC9iaW4qL2FjcGlzcmMgJHtEfSR7YmluZGlyfS9hY3Bpc3JjCisgICAgaW5zdGFsbCAtRCAtcCAtbTA3NTUgZ2VuZXJhdGUvdW5peC9iaW4qL2FjcGl4dHJhY3QgJHtEfSR7YmluZGlyfS9hY3BpeHRyYWN0Cit9CisKKyMgaWFzbCouYmIgaXMgYSBzdWJzZXQgb2YgdGhpcyByZWNpcGUsIHNvIFJSRVBMQUNFIGl0CitQUk9WSURFUyA9ICJpYXNsIgorUlBST1ZJREVTXyR7UE59ICs9ICJpYXNsIgorUlJFUExBQ0VTXyR7UE59ICs9ICJpYXNsIgorUkNPTkZMSUdIVFNfJHtQTn0gKz0gImlhc2wiCisKK05BVElWRV9JTlNUQUxMX1dPUktTID0gIjEiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2FjcGljYS9hY3BpdGVzdHMvYWFwaXRzLWxpbnV4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvYWNwaWNhL2FjcGl0ZXN0cy9hYXBpdHMtbGludXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M1ZDZiMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2FjcGljYS9hY3BpdGVzdHMvYWFwaXRzLWxpbnV4LnBhdGNoCkBAIC0wLDAgKzEsMzM2IEBACitGcm9tOiBBbCBTdG9uZSA8YWhzM0BhaHMzLm5ldD4KK0RhdGU6IE1vbiwgNyBBcHIgMjAxNCAxOTowOTozNyArMDAwMAorU3ViamVjdDogW1BBVENIIDEvMl0gRml4dXAgYWFwaXRzIGJ1aWxkCisKK0Zyb20gaHR0cDovL2dpdC5saW5hcm8ub3JnL3Blb3BsZS9hbC5zdG9uZS9hY3BpY2EtdG9vbHMuZ2l0CitVcHN0cmVhbS1zdGF0dXM6IFVua25vd24KKworZGlmZiAtdXJOIGFjcGljYS11bml4Mi0yMDEzMDYyNi90ZXN0cy9hYXBpdHMvYXRleGVjLmMgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvYXRleGVjLmMKKy0tLSBhY3BpY2EtdW5peDItMjAxMzA2MjYvdGVzdHMvYWFwaXRzL2F0ZXhlYy5jCTIwMTMtMDEtMTcgMTI6NDg6MjguMDAwMDAwMDAwIC0wNzAwCisrKysgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvYXRleGVjLmMJMjAxMy0wNy0yNSAxMzo0NDoyMy4wMjM4OTQ0NDEgLTA2MDAKK0BAIC02MzksNiArNjM5LDcgQEAKKyB9CisgCisgCisrI2lmIEFDUElfTUFDSElORV9XSURUSCA9PSAzMgorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICoKKyAgKiBGVU5DVElPTjogICAgQXRCdWlsZExvY2FsUlNEVAorQEAgLTc1Nyw4ICs3NTgsOSBAQAorICAgICAgICAgTG9jYWxSU0RULT5IZWFkZXIuQ2hlY2tzdW0gPSAoVUlOVDgpfkxvY2FsUlNEVC0+SGVhZGVyLkNoZWNrc3VtOworICAgICB9CisgfQorKyNlbmRpZgorIAorIAorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICoKKyAgKiBGVU5DVElPTjogICAgQXRCdWlsZExvY2FsWFNEVAorQEAgLTE0MjQsNyArMTQyNiw3IEBACisgICAgICAgICBBQ1BJX1dBUk5JTkcgKChBRV9JTkZPLAorICAgICAgICAgICAgICJSZXF1ZXN0IG9uIFslNC40c10gaXMgYmV5b25kIHJlZ2lvbiBsaW1pdCBSZXEtJVgrJVgsIEJhc2U9JVgsIExlbi0lWFxuIiwKKyAgICAgICAgICAgICAoUmVnaW9uT2JqZWN0LT5SZWdpb24uTm9kZSktPk5hbWUuQXNjaWksIChVSU5UMzIpIEFkZHJlc3MsCistICAgICAgICAgICAgQnl0ZVdpZHRoLCAoVUlOVDMyKSBCdWZmZXJBZGRyZXNzLCBMZW5ndGgpKTsKKysgICAgICAgICAgICBCeXRlV2lkdGgsIChVSU5UMzIpIEJ1ZmZlckFkZHJlc3MsIChVSU5UMzIpIExlbmd0aCkpOworIAorICAgICAgICAgcmV0dXJuIChBRV9BTUxfUkVHSU9OX0xJTUlUKTsKKyAgICAgfQorQEAgLTE3OTIsNyArMTc5Niw5IEBACisgICAgICAgICAgICAgUGF0aCwgT2JqLkludGVnZXIuVmFsdWUsIFZhbHVlKTsKKyAjZWxzZQorICAgICAgICAgcHJpbnRmICgiQVBJIEVycm9yOiBWYWx1ZSBvZiAlcyBpcyAweCVsbHggaW5zdGVhZCBvZiBleHBlY3RlZCAweCVsbHhcbiIsCistICAgICAgICAgICAgUGF0aCwgT2JqLkludGVnZXIuVmFsdWUsIFZhbHVlKTsKKysgICAgICAgICAgICBQYXRoLAorKwkgICAgKGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQpIE9iai5JbnRlZ2VyLlZhbHVlLAorKwkgICAgKGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQpIFZhbHVlKTsKKyAjZW5kaWYKKyAgICAgICAgIFN0YXR1cyA9IEFFX0VSUk9SOworICAgICB9CitAQCAtMTg3MSw3ICsxODc3LDcgQEAKKyAgICAgeworICAgICAgICAgVGVzdEVycm9ycysrOworICAgICAgICAgcHJpbnRmICgiVGVzdCBFcnJvcjogY2Fubm90IGFsbG9jYXRlIGJ1ZmZlciBvZiAlZCBieXRlc1xuIiwKKy0gICAgICAgICAgICBSZXN1bHRzLkxlbmd0aCk7CisrICAgICAgICAgICAgICAgIChpbnQpIFJlc3VsdHMuTGVuZ3RoKTsKKyAgICAgICAgIHJldHVybiAoQUVfTk9fTUVNT1JZKTsKKyAgICAgfQorICAgICBSZXN1bHRzLlBvaW50ZXIgPSBPYmplY3Q7CitAQCAtMTk1Miw3ICsxOTU2LDggQEAKKyAgICAgeworICAgICAgICAgcHJpbnRmICgiQXRDaGVja0J1ZmZlcjogdW5leHBlY3RlZCBsZW5ndGggJWQgb2YgQnVmZmVyIHZzIgorICAgICAgICAgICAgICIgY2FsY3VsYXRlZCAlZCBieXRlc1xuIiwKKy0gICAgICAgICAgICBSZXN1bHRzLkxlbmd0aCwgQUNQSV9ST1VORF9VUF9UT19OQVRJVkVfV09SRChzaXplb2YgKEFDUElfT0JKRUNUKSArIExlbmd0aCkpOworKyAgICAgICAgICAgIChpbnQpUmVzdWx0cy5MZW5ndGgsCisrCSAgICAoaW50KShBQ1BJX1JPVU5EX1VQX1RPX05BVElWRV9XT1JEKHNpemVvZiAoQUNQSV9PQkpFQ1QpICsgTGVuZ3RoKSkpOworICAgICB9CisgCisgICAgIC8qIEluaXRpYWxpemUgdGhlIHJldHVybiBidWZmZXIgc3RydWN0dXJlICovCitAQCAtMTk2MSw3ICsxOTY4LDcgQEAKKyAgICAgeworICAgICAgICAgVGVzdEVycm9ycysrOworICAgICAgICAgcHJpbnRmICgiVGVzdCBFcnJvcjogY2Fubm90IGFsbG9jYXRlIGJ1ZmZlciBvZiAlZCBieXRlc1xuIiwKKy0gICAgICAgICAgICBSZXN1bHRzLkxlbmd0aCk7CisrICAgICAgICAgICAgKGludCkgUmVzdWx0cy5MZW5ndGgpOworICAgICAgICAgcmV0dXJuIChBRV9OT19NRU1PUlkpOworICAgICB9CisgICAgIFJlc3VsdHMuUG9pbnRlciA9IE9iamVjdDsKK2RpZmYgLXVyTiBhY3BpY2EtdW5peDItMjAxMzA2MjYvdGVzdHMvYWFwaXRzL2F0aW5pdC5jIGFjcGljYS11bml4Mi0yMDEzMDYyNi1hYXBpdHMvdGVzdHMvYWFwaXRzL2F0aW5pdC5jCistLS0gYWNwaWNhLXVuaXgyLTIwMTMwNjI2L3Rlc3RzL2FhcGl0cy9hdGluaXQuYwkyMDEzLTAxLTE3IDEyOjQ4OjI4LjAwMDAwMDAwMCAtMDcwMAorKysrIGFjcGljYS11bml4Mi0yMDEzMDYyNi1hYXBpdHMvdGVzdHMvYWFwaXRzL2F0aW5pdC5jCTIwMTMtMDctMjUgMTM6MjA6MTkuNzA2NzA1OTYwIC0wNjAwCitAQCAtMzAyNCw3ICszMDI0LDcgQEAKKyAgICAgICAgICAgICBBYXBpRXJyb3JzKys7CisgICAgICAgICAgICAgcHJpbnRmICgiQVBJIEVycm9yOiBBY3BpR2V0U3lzdGVtSW5mbygpIHJldHVybmVkIgorICAgICAgICAgICAgICAgICAiIExlbmd0aCAlZCwgZXhwZWN0ZWQgJWRcbiIsCistICAgICAgICAgICAgICAgIE91dEJ1ZmZlci5MZW5ndGgsIHNpemVvZiAoSW5mbykpOworKyAgICAgICAgICAgICAgICAoaW50KSBPdXRCdWZmZXIuTGVuZ3RoLCAoaW50KSBzaXplb2YgKEluZm8pKTsKKyAgICAgICAgICAgICByZXR1cm4gKEFFX0VSUk9SKTsKKyAgICAgICAgIH0KKyAKK0BAIC0zMDQ2LDcgKzMwNDYsNyBAQAorICAgICAgICAgICAgIEFhcGlFcnJvcnMrKzsKKyAgICAgICAgICAgICBwcmludGYgKCJBUEkgRXJyb3I6IEFjcGlHZXRTeXN0ZW1JbmZvKCkgcmV0dXJuZWQiCisgICAgICAgICAgICAgICAgICIgTGVuZ3RoICVkLCBleHBlY3RlZCAlZFxuIiwKKy0gICAgICAgICAgICAgICAgT3V0QnVmZmVyLkxlbmd0aCwgc2l6ZW9mIChJbmZvKSk7CisrICAgICAgICAgICAgICAgIChpbnQpIE91dEJ1ZmZlci5MZW5ndGgsIChpbnQpIHNpemVvZiAoSW5mbykpOworICAgICAgICAgICAgIHJldHVybiAoQUVfRVJST1IpOworICAgICAgICAgfQorIAorQEAgLTMwNjYsNyArMzA2Niw3IEBACisgICAgICAgICAgICAgQWFwaUVycm9ycysrOworICAgICAgICAgICAgIHByaW50ZiAoIkFQSSBFcnJvcjogQWNwaUdldFN5c3RlbUluZm8oKSByZXR1cm5lZCIKKyAgICAgICAgICAgICAgICAgIiBMZW5ndGggJWQsIGV4cGVjdGVkICVkXG4iLAorLSAgICAgICAgICAgICAgICBPdXRCdWZmZXIuTGVuZ3RoLCBzaXplb2YgKEluZm8pKTsKKysgICAgICAgICAgICAgICAgKGludCkgT3V0QnVmZmVyLkxlbmd0aCwgKGludCkgc2l6ZW9mIChJbmZvKSk7CisgICAgICAgICAgICAgcmV0dXJuIChBRV9FUlJPUik7CisgICAgICAgICB9CisgICAgICAgICBlbHNlIGlmIChPdXRCdWZmZXIuUG9pbnRlciAhPSAmSW5mbykKK0BAIC0zMTQ5LDcgKzMxNDksNyBAQAorICAgICAgICAgICAgIEFhcGlFcnJvcnMrKzsKKyAgICAgICAgICAgICBwcmludGYgKCJBUEkgRXJyb3I6IEFjcGlHZXRTeXN0ZW1JbmZvKCkgcmV0dXJuZWQiCisgICAgICAgICAgICAgICAgICIgTGVuZ3RoICVkLCBleHBlY3RlZCAlZFxuIiwKKy0gICAgICAgICAgICAgICAgT3V0QnVmZmVyLkxlbmd0aCwgc2l6ZW9mIChJbmZvKSk7CisrICAgICAgICAgICAgICAgIChpbnQpIE91dEJ1ZmZlci5MZW5ndGgsIChpbnQpIHNpemVvZiAoSW5mbykpOworICAgICAgICAgICAgIHJldHVybiAoQUVfRVJST1IpOworICAgICAgICAgfQorICAgICAgICAgZWxzZSBpZiAoT3V0QnVmZmVyLlBvaW50ZXIgIT0gJkluZm8pCitAQCAtMzIxNCw3ICszMjE0LDcgQEAKKyAgICAgICAgICAgICBBYXBpRXJyb3JzKys7CisgICAgICAgICAgICAgcHJpbnRmICgiQVBJIEVycm9yOiBBY3BpR2V0U3lzdGVtSW5mbygpIHJldHVybmVkIgorICAgICAgICAgICAgICAgICAiIExlbmd0aCAlZCwgZXhwZWN0ZWQgJWRcbiIsCistICAgICAgICAgICAgICAgIE91dEJ1ZmZlci5MZW5ndGgsIHNpemVvZiAoQUNQSV9TWVNURU1fSU5GTykpOworKyAgICAgICAgICAgICAgICAoaW50KSBPdXRCdWZmZXIuTGVuZ3RoLCAoaW50KSBzaXplb2YgKEFDUElfU1lTVEVNX0lORk8pKTsKKyAgICAgICAgICAgICByZXR1cm4gKEFFX0VSUk9SKTsKKyAgICAgICAgIH0KKyAgICAgICAgIGVsc2UKK2RpZmYgLXVyTiBhY3BpY2EtdW5peDItMjAxMzA2MjYvdGVzdHMvYWFwaXRzL2F0bWFpbi5jIGFjcGljYS11bml4Mi0yMDEzMDYyNi1hYXBpdHMvdGVzdHMvYWFwaXRzL2F0bWFpbi5jCistLS0gYWNwaWNhLXVuaXgyLTIwMTMwNjI2L3Rlc3RzL2FhcGl0cy9hdG1haW4uYwkyMDEzLTAxLTE3IDEyOjQ4OjI4LjAwMDAwMDAwMCAtMDcwMAorKysrIGFjcGljYS11bml4Mi0yMDEzMDYyNi1hYXBpdHMvdGVzdHMvYWFwaXRzL2F0bWFpbi5jCTIwMTMtMDctMjUgMTM6MTg6MjIuMDgzMzIzOTQ4IC0wNjAwCitAQCAtMzE1LDcgKzMxNSw3IEBACisgICAgIHsKKyAgICAgICAgIHByaW50ZiAoIkFDUElDQSBBUEkgVFMgZXJyOiB0ZXN0IG51bSAlbGQgb2YgdGVzdCBjYXNlICVsZCIKKyAgICAgICAgICAgICAiIGlzIG5vdCBpbXBsZW1lbnRlZFxuIiwKKy0gICAgICAgICAgICB0ZXN0X251bSwgdGVzdF9jYXNlKTsKKysgICAgICAgICAgICAobG9uZyBpbnQpIHRlc3RfbnVtLCAobG9uZyBpbnQpIHRlc3RfY2FzZSk7CisgICAgICAgICByZXR1cm4gKEF0UmV0Tm90SW1wbCk7CisgICAgIH0KKyAKK0BAIC00MzAsNyArNDMyLDcgQEAKKyAgICAgaWYgKHRlc3RfY2FzZSA8IDEgfHwgdGVzdF9jYXNlID4gQVRfVEVTVF9DQVNFX05VTSkKKyAgICAgeworICAgICAgICAgcHJpbnRmICgiQUNQSUNBIEFQSSBUUyBlcnI6IHRlc3QgY2FzZSAlbGQgaXMgb3V0IG9mIHJhbmdlIDEgLSAlZFxuIiwKKy0gICAgICAgICAgICB0ZXN0X2Nhc2UsIEFUX1RFU1RfQ0FTRV9OVU0pOworKyAgICAgICAgICAgIChsb25nIGludCkgdGVzdF9jYXNlLCAoaW50KSBBVF9URVNUX0NBU0VfTlVNKTsKKyAgICAgICAgIHJldHVybiAoQXRSZXRCYWRQYXJhbSk7CisgICAgIH0KKyAKK0BAIC00MzgsNyArNDQwLDcgQEAKKyAgICAgaWYgKHRlc3RfbnVtIDwgMCB8fCB0ZXN0X251bSA+IEF0VGVzdENhc2VbdGVzdF9jYXNlXS5UZXN0c051bSkKKyAgICAgeworICAgICAgICAgcHJpbnRmICgiQUNQSUNBIEFQSSBUUyBlcnI6IHRlc3QgbnVtICVsZCBpcyBvdXQgb2YgcmFuZ2UgMCAtICVkXG4iLAorLSAgICAgICAgICAgIHRlc3RfbnVtLCBBdFRlc3RDYXNlW3Rlc3RfY2FzZV0uVGVzdHNOdW0pOworKyAgICAgICAgICAgIChsb25nIGludCkgdGVzdF9udW0sIEF0VGVzdENhc2VbdGVzdF9jYXNlXS5UZXN0c051bSk7CisgICAgICAgICByZXR1cm4gKEF0UmV0QmFkUGFyYW0pOworICAgICB9CisKK2RpZmYgLXVyTiBhY3BpY2EtdW5peDItMjAxMzA2MjYvdGVzdHMvYWFwaXRzL2F0bmFtZXNwYWNlLmMgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvYXRuYW1lc3BhY2UuYworLS0tIGFjcGljYS11bml4Mi0yMDEzMDYyNi90ZXN0cy9hYXBpdHMvYXRuYW1lc3BhY2UuYwkyMDEzLTAxLTE3IDEyOjQ4OjI4LjAwMDAwMDAwMCAtMDcwMAorKysrIGFjcGljYS11bml4Mi0yMDEzMDYyNi1hYXBpdHMvdGVzdHMvYWFwaXRzL2F0bmFtZXNwYWNlLmMJMjAxMy0wNy0yNSAxMzoyNDoxNS4zNjY0NjY3MDcgLTA2MDAKK0BAIC0yNTM1LDcgKzI1MzUsOCBAQAorICNlbHNlCisgICAgICAgICAgICAgICAgIHByaW50ZiAoIkFQSSBFcnJvcjogQWRkcmVzcyBvZiAlcyAoMHglbGxYKSAhPSAoMHglbGxYKVxuIiwKKyAgICAgICAgICAgICAgICAgICAgIFBhdGhOYW1lc1syICogaSArIDFdLAorLSAgICAgICAgICAgICAgICAgICAgSW5mby0+QWRkcmVzcywgRXhwZWN0ZWRJbmZvW2ldLkFkZHJlc3MpOworKyAgICAgICAgICAgICAgICAgICAgKGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQpIEluZm8tPkFkZHJlc3MsCisrCQkgICAgKGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQpIEV4cGVjdGVkSW5mb1tpXS5BZGRyZXNzKTsKKyAjZW5kaWYKKyAjZWxzZQorICAgICAgICAgICAgICAgICBwcmludGYgKCJBUEkgRXJyb3I6IEFkZHJlc3Mgb2YgJXMgKDB4JVgpICE9ICgweCVYKVxuIiwKK0BAIC0yOTA4LDcgKzI5MDksOCBAQAorICAgICAgICAgVGVzdEVycm9ycysrOworICAgICAgICAgcHJpbnRmICgiQXRHZXROZXh0T2JqZWN0VHlwZUNvbW1vbjogZGlmZmVyZW50IG51bWJlcnMgb2YgZW50aXRpZXMiCisgICAgICAgICAgICAgImluIFR5cGVzTmFtZXMgKCVkKSBhbmQgTGV2ZWxUeXBlczAwMDAgKCVkKVxuIiwKKy0gICAgICAgICAgICBUeXBlc0NvdW50LCBzaXplb2YgKExldmVsVHlwZXMwMDAwKSAvIHNpemVvZiAoQUNQSV9PQkpFQ1RfVFlQRSkpOworKyAgICAgICAgICAgIFR5cGVzQ291bnQsCisrCSAgICAoaW50KSAoc2l6ZW9mIChMZXZlbFR5cGVzMDAwMCkgLyBzaXplb2YgKEFDUElfT0JKRUNUX1RZUEUpKSk7CisgICAgICAgICByZXR1cm4gKEFFX0VSUk9SKTsKKyAgICAgfQorIAorQEAgLTQxOTIsNyArNDE5NCw5IEBACisgICAgICAgICAgICAgUGF0aG5hbWUsIE9iai5JbnRlZ2VyLlZhbHVlLCBWYWx1ZSk7CisgI2Vsc2UKKyAgICAgICAgIHByaW50ZiAoIkFQSSBFcnJvcjogVmFsdWUgb2YgJXMgaXMgMHglbGx4IGluc3RlYWQgb2YgZXhwZWN0ZWQgMHglbGx4XG4iLAorLSAgICAgICAgICAgIFBhdGhuYW1lLCBPYmouSW50ZWdlci5WYWx1ZSwgVmFsdWUpOworKyAgICAgICAgICAgIFBhdGhuYW1lLAorKwkgICAgKGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQpIE9iai5JbnRlZ2VyLlZhbHVlLAorKwkgICAgKGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQpIFZhbHVlKTsKKyAjZW5kaWYKKyAgICAgICAgIFN0YXR1cyA9IEFFX0VSUk9SOworICAgICB9CitAQCAtNTE5OSw3ICs1MjAzLDcgQEAKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIEFhcGlFcnJvcnMrKzsKKyAgICAgICAgICAgICAgICAgcHJpbnRmICgiQVBJIEVycm9yOiBBY3BpT3NBbGxvY2F0ZSglZCkgcmV0dXJuZWQgTlVMTFxuIiwKKy0gICAgICAgICAgICAgICAgICAgIE91dE5hbWUuTGVuZ3RoKTsKKysgICAgICAgICAgICAgICAgICAgIChpbnQpIE91dE5hbWUuTGVuZ3RoKTsKKyAgICAgICAgICAgICAgICAgcmV0dXJuIChBRV9FUlJPUik7CisgICAgICAgICAgICAgfQorICAgICAgICAgfQorZGlmZiAtdXJOIGFjcGljYS11bml4Mi0yMDEzMDYyNi90ZXN0cy9hYXBpdHMvYXRvc3hmY3RybC5jIGFjcGljYS11bml4Mi0yMDEzMDYyNi1hYXBpdHMvdGVzdHMvYWFwaXRzL2F0b3N4ZmN0cmwuYworLS0tIGFjcGljYS11bml4Mi0yMDEzMDYyNi90ZXN0cy9hYXBpdHMvYXRvc3hmY3RybC5jCTIwMTMtMDEtMTcgMTI6NDg6MjguMDAwMDAwMDAwIC0wNzAwCisrKysgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvYXRvc3hmY3RybC5jCTIwMTMtMDctMjUgMTM6MzA6MDAuMzc1NDkyNzUxIC0wNjAwCitAQCAtNzM3LDEzICs3MzcsMTUgQEAKKyAjaWYgQUNQSV9NQUNISU5FX1dJRFRIID09IDY0CisgI2lmZGVmICAgIF9NU0NfVkVSCisgICAgICAgICBwcmludGYoIk9zeGZDdHJsRmluZ1JlZzogdW5leHBlY3RlZCBXaWR0aCAlZCBvZiBSZWcgMHglSTY0eFxuIiwKKysgICAgICAgICAgICBXaWR0aCwgQWRkcmVzcyk7CisgI2Vsc2UKKyAgICAgICAgIHByaW50ZigiT3N4ZkN0cmxGaW5nUmVnOiB1bmV4cGVjdGVkIFdpZHRoICVkIG9mIFJlZyAweCVsbHhcbiIsCisrICAgICAgICAgICAgV2lkdGgsIChsb25nIGxvbmcgdW5zaWduZWQgaW50KSBBZGRyZXNzKTsKKyAjZW5kaWYKKyAjZWxzZQorICAgICAgICAgcHJpbnRmKCJPc3hmQ3RybEZpbmdSZWc6IHVuZXhwZWN0ZWQgV2lkdGggJWQgb2YgUmVnIDB4JXhcbiIsCistI2VuZGlmCisgICAgICAgICAgICAgV2lkdGgsIEFkZHJlc3MpOworKyNlbmRpZgorICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgfQorIAorQEAgLTc2NCwxNSArNzY2LDE5IEBACisgI2lmZGVmICAgIF9NU0NfVkVSCisgICAgICAgICAgICAgICAgIHByaW50ZigiT3N4ZkN0cmxGaW5nUmVnOiBpbnRlcnNlY3Rpb24gUmVncyAoMHglSTY0eDogMHgleCkiCisgICAgICAgICAgICAgICAgICAgICAiIGFuZCAoMHglSTY0eDogMHgleClcbiIsCisrICAgICAgICAgICAgICAgICAgICBSZWctPkFkZHJlc3MsIFJlZy0+V2lkdGgsIEFkZHJlc3MsIFdpZHRoKTsKKyAjZWxzZQorICAgICAgICAgICAgICAgICBwcmludGYoIk9zeGZDdHJsRmluZ1JlZzogaW50ZXJzZWN0aW9uIFJlZ3MgKDB4JWxseDogMHgleCkiCisgICAgICAgICAgICAgICAgICAgICAiIGFuZCAoMHglbGx4OiAweCV4KVxuIiwKKysgICAgICAgICAgICAgICAgICAgIChsb25nIGxvbmcgdW5zaWduZWQgaW50KSBSZWctPkFkZHJlc3MsCisrCQkgICAgUmVnLT5XaWR0aCwKKysJCSAgICAobG9uZyBsb25nIHVuc2lnbmVkIGludCkgQWRkcmVzcywgV2lkdGgpOworICNlbmRpZgorICNlbHNlCisgICAgICAgICAgICAgICAgIHByaW50ZigiT3N4ZkN0cmxGaW5nUmVnOiBpbnRlcnNlY3Rpb24gUmVncyAoMHgleDogMHgleCkiCisgICAgICAgICAgICAgICAgICAgICAiIGFuZCAoMHgleDogMHgleClcbiIsCistI2VuZGlmCisgICAgICAgICAgICAgICAgICAgICBSZWctPkFkZHJlc3MsIFJlZy0+V2lkdGgsIEFkZHJlc3MsIFdpZHRoKTsKKysjZW5kaWYKKyAgICAgICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CitAQCAtNzg2LDEzICs3OTIsMTUgQEAKKyAjaWYgQUNQSV9NQUNISU5FX1dJRFRIID09IDY0CisgI2lmZGVmICAgIF9NU0NfVkVSCisgICAgICAgICAgICAgcHJpbnRmKCJPc3hmQ3RybEZpbmdSZWc6IG5vIG1lbW9yeSBmb3IgUmVnICgweCVJNjR4OiAweCV4KVxuIiwKKysgICAgICAgICAgICAgICAgUmVnLT5BZGRyZXNzLCBSZWctPldpZHRoKTsKKyAjZWxzZQorICAgICAgICAgICAgIHByaW50ZigiT3N4ZkN0cmxGaW5nUmVnOiBubyBtZW1vcnkgZm9yIFJlZyAoMHglbGx4OiAweCV4KVxuIiwKKysgICAgICAgICAgICAgICAgKGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQpIFJlZy0+QWRkcmVzcywgUmVnLT5XaWR0aCk7CisgI2VuZGlmCisgI2Vsc2UKKyAgICAgICAgICAgICBwcmludGYoIk9zeGZDdHJsRmluZ1JlZzogbm8gbWVtb3J5IGZvciBSZWcgKDB4JXg6IDB4JXgpXG4iLAorLSNlbmRpZgorICAgICAgICAgICAgICAgICBSZWctPkFkZHJlc3MsIFJlZy0+V2lkdGgpOworKyNlbmRpZgorICAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgICB9CisgICAgICAgICBSZWctPlR5cGUgPSBUeXBlOworQEAgLTkzMiwxNCArOTQwLDE5IEBACisgI2lmIEFDUElfTUFDSElORV9XSURUSCA9PSA2NAorICNpZmRlZiAgICBfTVNDX1ZFUgorICAgICAgICAgICAgIHByaW50ZigiJS4ydSAoJXMgQWRkcmVzcyAweCVJNjR4OiBXaWR0aCAlLjJ1KSByL3cgY291bnRzOiAldS8ldVxuIiwKKysgICAgICAgICAgICAgICAgaSwgKFJlZy0+VHlwZSA9PSBFTVVMX1JFR19TWVMpPyAiU1lTIjogIklPIiwKKysgICAgICAgICAgICAgICAgUmVnLT5BZGRyZXNzLCBSZWctPldpZHRoLCBSZWctPlJlYWRDb3VudCwgUmVnLT5Xcml0ZUNvdW50KTsKKyAjZWxzZQorICAgICAgICAgICAgIHByaW50ZigiJS4ydSAoJXMgQWRkcmVzcyAweCVsbHg6IFdpZHRoICUuMnUpIHIvdyBjb3VudHM6ICV1LyV1XG4iLAorKyAgICAgICAgICAgICAgICBpLCAoUmVnLT5UeXBlID09IEVNVUxfUkVHX1NZUyk/ICJTWVMiOiAiSU8iLAorKyAgICAgICAgICAgICAgICAobG9uZyBsb25nIHVuc2lnbmVkIGludCkgUmVnLT5BZGRyZXNzLAorKwkJUmVnLT5XaWR0aCwgUmVnLT5SZWFkQ291bnQsIFJlZy0+V3JpdGVDb3VudCk7CisgI2VuZGlmCisgI2Vsc2UKKyAgICAgICAgICAgICBwcmludGYoIiUuMnUgKCVzIEFkZHJlc3MgMHglLjR4OiBXaWR0aCAlLjJ1KSByL3cgY291bnRzOiAldS8ldVxuIiwKKy0jZW5kaWYKKyAgICAgICAgICAgICAgICAgaSwgKFJlZy0+VHlwZSA9PSBFTVVMX1JFR19TWVMpPyAiU1lTIjogIklPIiwKKyAgICAgICAgICAgICAgICAgUmVnLT5BZGRyZXNzLCBSZWctPldpZHRoLCBSZWctPlJlYWRDb3VudCwgUmVnLT5Xcml0ZUNvdW50KTsKKysjZW5kaWYKKyAgICAgICAgICAgICBSZWcgPSBSZWctPk5leHQ7CisgICAgICAgICAgICAgaSsrOworICAgICAgICAgfQorZGlmZiAtdXJOIGFjcGljYS11bml4Mi0yMDEzMDYyNi90ZXN0cy9hYXBpdHMvYXRyZXNvdXJjZS5jIGFjcGljYS11bml4Mi0yMDEzMDYyNi1hYXBpdHMvdGVzdHMvYWFwaXRzL2F0cmVzb3VyY2UuYworLS0tIGFjcGljYS11bml4Mi0yMDEzMDYyNi90ZXN0cy9hYXBpdHMvYXRyZXNvdXJjZS5jCTIwMTMtMDEtMTcgMTI6NDg6MjkuMDAwMDAwMDAwIC0wNzAwCisrKysgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvYXRyZXNvdXJjZS5jCTIwMTMtMDctMjUgMTM6MjU6NDkuNDIzNTY1OTQ3IC0wNjAwCitAQCAtMTc0LDcgKzE3NCw3IEBACisgICAgICAgICBBYXBpRXJyb3JzKys7CisgICAgICAgICBwcmludGYgKCJBUEkgRXJyb3I6IEFjcGlHZXRDdXJyZW50UmVzb3VyY2VzKCVzKSByZXR1cm5lZCBMZW5ndGggJWQsIgorICAgICAgICAgICAgICIgZXhwZWN0ZWQgJWRcbiIsCistICAgICAgICAgICAgUGF0aG5hbWUsIE91dEJ1ZmZlci5MZW5ndGgsIFJUMDAwMF9ERVYwX0NSU19MRU4pOworKyAgICAgICAgICAgIFBhdGhuYW1lLCAoaW50KSBPdXRCdWZmZXIuTGVuZ3RoLCBSVDAwMDBfREVWMF9DUlNfTEVOKTsKKyAgICAgICAgIHJldHVybiAoQUVfRVJST1IpOworICAgICB9CisgCitAQCAtNDkwLDcgKzQ5MCw3IEBACisgICAgICAgICBBYXBpRXJyb3JzKys7CisgICAgICAgICBwcmludGYgKCJBUEkgRXJyb3I6IEFjcGlHZXRDdXJyZW50UmVzb3VyY2VzKCVzKSByZXR1cm5lZCBMZW5ndGggJWQsIgorICAgICAgICAgICAgICIgZXhwZWN0ZWQgJWRcbiIsCistICAgICAgICAgICAgUGF0aG5hbWUsIE91dEJ1ZmZlci5MZW5ndGgsIFJUMDAwMF9ERVYwX0NSU19MRU4pOworKyAgICAgICAgICAgIFBhdGhuYW1lLCAoaW50KSBPdXRCdWZmZXIuTGVuZ3RoLCBSVDAwMDBfREVWMF9DUlNfTEVOKTsKKyAgICAgICAgIHJldHVybiAoQUVfRVJST1IpOworICAgICB9CisgCitAQCAtNjg5LDcgKzY4OSw3IEBACisgICAgICAgICBBYXBpRXJyb3JzKys7CisgICAgICAgICBwcmludGYgKCJBcGkgRXJyb3I6IFJlc291cmNlLT5MZW5ndGggKCVkKSAhPSAlZFxuIiwKKyAgICAgICAgICAgICBDdXJyZW50UmVzb3VyY2UtPkxlbmd0aCwKKy0gICAgICAgICAgICBBQ1BJX1JPVU5EX1VQX1RPX05BVElWRV9XT1JEIChBQ1BJX1JTX1NJWkUgKEFDUElfUkVTT1VSQ0VfSVJRKSkpOworKyAgICAgICAgICAgIChpbnQpIChBQ1BJX1JPVU5EX1VQX1RPX05BVElWRV9XT1JEIChBQ1BJX1JTX1NJWkUgKEFDUElfUkVTT1VSQ0VfSVJRKSkpKTsKKyAgICAgfQorIAorICAgICBpZiAoQ3VycmVudFJlc291cmNlLT5EYXRhLklycS5UcmlnZ2VyaW5nICE9IDApIC8qIExldmVsLVRyaWdnZXJlZCAqLworQEAgLTk4MSw3ICs5ODEsNyBAQAorICAgICAgICAgQWFwaUVycm9ycysrOworICAgICAgICAgcHJpbnRmICgiQVBJIEVycm9yOiBBY3BpR2V0UG9zc2libGVSZXNvdXJjZXMoJXMpIHJldHVybmVkIExlbmd0aCAlZCwiCisgICAgICAgICAgICAgIiBleHBlY3RlZCAlZFxuIiwKKy0gICAgICAgICAgICBQYXRobmFtZSwgT3V0QnVmZmVyLkxlbmd0aCwgUlQwMDAwX0RFVjBfQ1JTX0xFTik7CisrICAgICAgICAgICAgUGF0aG5hbWUsIChpbnQpIE91dEJ1ZmZlci5MZW5ndGgsIFJUMDAwMF9ERVYwX0NSU19MRU4pOworICAgICAgICAgcmV0dXJuIChBRV9FUlJPUik7CisgICAgIH0KKyAKK0BAIC0xOTIzLDcgKzE5MjMsNyBAQAorICAgICAgICAgQWFwaUVycm9ycysrOworICAgICAgICAgcHJpbnRmICgiQVBJIEVycm9yOiBBY3BpR2V0SXJxUm91dGluZ1RhYmxlKCVzKSByZXR1cm5lZCBMZW5ndGggJWQsIgorICAgICAgICAgICAgICIgZXhwZWN0ZWQgJWRcbiIsCistICAgICAgICAgICAgUGF0aG5hbWUsIE91dEJ1ZmZlci5MZW5ndGgsIDB4QTQ4KTsKKysgICAgICAgICAgICBQYXRobmFtZSwgKGludCkgT3V0QnVmZmVyLkxlbmd0aCwgMHhBNDgpOworICAgICAgICAgcmV0dXJuIChBRV9FUlJPUik7CisgICAgIH0KKworZGlmZiAtdXJOIGFjcGljYS11bml4Mi0yMDEzMDYyNi90ZXN0cy9hYXBpdHMvTWFrZWZpbGUgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvTWFrZWZpbGUKKy0tLSBhY3BpY2EtdW5peDItMjAxMzA2MjYvdGVzdHMvYWFwaXRzL01ha2VmaWxlCTIwMTMtMDEtMTcgMTI6NDg6MjkuMDAwMDAwMDAwIC0wNzAwCisrKysgYWNwaWNhLXVuaXgyLTIwMTMwNjI2LWFhcGl0cy90ZXN0cy9hYXBpdHMvTWFrZWZpbGUJMjAxMy0wNy0yNSAxNToxNzowOS4zMDkyMzY0MjIgLTA2MDAKK0BAIC0xOTQsNyArMTk0LDcgQEAKKyBDRkxBR1MrPSAtV2FsbCAtZyAtRF9MSU5VWCAtRE5ERUJVRyAtRF9DT05TT0xFIC1EQUNQSV9BUElUUyAtREFDUElfRVhFQ19BUFAgLURfTVVMVElfVEhSRUFERUQgLVdzdHJpY3QtcHJvdG90eXBlcyAtSS4uLy4uL3NvdXJjZS9pbmNsdWRlCisKKyAKKy1hY3BpZXhlYyA6ICQocGF0c3Vic3QgJS5jLCUubywgJChTUkNTKSkKKyskKFBST0cpIDogJChwYXRzdWJzdCAlLmMsJS5vLCAkKFNSQ1MpKQorIAkkKENDKSAkKExERkxBR1MpICQocGF0c3Vic3QgJS5jLCUubywgJChTUkNTKSkgLW8gJChQUk9HKQorIAorIENMRUFORklMRVM9ICQoUFJPRykKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2FjcGljYS9hY3BpdGVzdHMvYWFwaXRzLW1ha2VmaWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvYWNwaWNhL2FjcGl0ZXN0cy9hYXBpdHMtbWFrZWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ5ZTk5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2FjcGljYS9hY3BpdGVzdHMvYWFwaXRzLW1ha2VmaWxlLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb206IEFsIFN0b25lIDxhaHMzQGFoczMubmV0PgorRGF0ZTogTW9uLCA3IEFwciAyMDE0IDE5OjA5OjM3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBGaXh1cCBhYXBpdHMgYnVpbGQKKworRnJvbSBodHRwOi8vZ2l0LmxpbmFyby5vcmcvcGVvcGxlL2FsLnN0b25lL2FjcGljYS10b29scy5naXQKK1Vwc3RyZWFtLXN0YXR1czogVW5rbm93bgorCitkaWZmIC11ck4gYWNwaWNhLXVuaXgyLTIwMTQwMzI1L3Rlc3RzL2FhcGl0cy9NYWtlZmlsZSBhY3BpY2EtdW5peDItMjAxNDAzMjUvdGVzdHMvYWFwaXRzL01ha2VmaWxlCistLS0gYWNwaWNhLXVuaXgyLTIwMTQwMzI1L3Rlc3RzL2FhcGl0cy9NYWtlZmlsZQkyMDE0LTA0LTA1IDE0OjIzOjE0LjY4MzYzNjc5NCAtMDYwMAorKysrIGFjcGljYS11bml4Mi0yMDE0MDMyNS1hYXBpdHMvdGVzdHMvYWFwaXRzL01ha2VmaWxlCTIwMTQtMDQtMDUgMTU6MTA6NTcuODc5MTg0NTk4IC0wNjAwCitAQCAtMTYsNiArMTYsNyBAQAorIAlhdG9zeGZ3cmFwLmMgXAorIAlvc3VuaXh4Zi5jIFwKKyAJLi4vLi4vc291cmNlL2NvbW1vbi9haGlkcy5jIFwKKysJLi4vLi4vc291cmNlL2NvbW1vbi9haHV1aWRzLmMgXAorIAkuLi8uLi9zb3VyY2UvY29tbW9uL2NtZnNpemUuYyBcCisgCS4uLy4uL3NvdXJjZS9jb21tb24vZ2V0b3B0LmMgXAorIAkuLi8uLi9zb3VyY2UvY29tcG9uZW50cy9oYXJkd2FyZS9od3RpbWVyLmMgXAorQEAgLTE3NCw2ICsxNzUsNyBAQAorIAkuLi8uLi9zb3VyY2UvY29tcG9uZW50cy91dGlsaXRpZXMvdXRleGNlcC5jIFwKKyAJLi4vLi4vc291cmNlL2NvbXBvbmVudHMvdXRpbGl0aWVzL3V0ZmlsZWlvLmMgXAorIAkuLi8uLi9zb3VyY2UvY29tcG9uZW50cy91dGlsaXRpZXMvdXRnbG9iYWwuYyBcCisrCS4uLy4uL3NvdXJjZS9jb21wb25lbnRzL3V0aWxpdGllcy91dGhleC5jIFwKKyAJLi4vLi4vc291cmNlL2NvbXBvbmVudHMvdXRpbGl0aWVzL3V0aWRzLmMgXAorIAkuLi8uLi9zb3VyY2UvY29tcG9uZW50cy91dGlsaXRpZXMvdXRpbml0LmMgXAorIAkuLi8uLi9zb3VyY2UvY29tcG9uZW50cy91dGlsaXRpZXMvdXRsb2NrLmMgXAorQEAgLTE4OSw2ICsxOTEsNyBAQAorIAkuLi8uLi9zb3VyY2UvY29tcG9uZW50cy91dGlsaXRpZXMvdXRzdGF0ZS5jIFwKKyAJLi4vLi4vc291cmNlL2NvbXBvbmVudHMvdXRpbGl0aWVzL3V0c3RyaW5nLmMgXAorIAkuLi8uLi9zb3VyY2UvY29tcG9uZW50cy91dGlsaXRpZXMvdXR0cmFjay5jIFwKKysJLi4vLi4vc291cmNlL2NvbXBvbmVudHMvdXRpbGl0aWVzL3V0dXVpZC5jIFwKKyAJLi4vLi4vc291cmNlL2NvbXBvbmVudHMvdXRpbGl0aWVzL3V0eGZhY2UuYyBcCisgCS4uLy4uL3NvdXJjZS9jb21wb25lbnRzL3V0aWxpdGllcy91dHhmZXJyb3IuYyBcCisgCS4uLy4uL3NvdXJjZS9jb21wb25lbnRzL3V0aWxpdGllcy91dHhmaW5pdC5jIFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2FjcGljYS9hY3BpdGVzdHNfMjAxNDA4MjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9hY3BpY2EvYWNwaXRlc3RzXzIwMTQwODI4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmNmYxOTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9hY3BpY2EvYWNwaXRlc3RzXzIwMTQwODI4LmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiVGVzdCBzdWl0ZSB1c2VkIHRvIHZhbGlkYXRlIEFDUElDQSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYWNwaWNhLm9yZy8iCisKK0xJQ0VOU0UgPSAiSW50ZWwiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly90ZXN0cy9hYXBpdHMvYXRleGVjLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0xMTU7bWQ1PWU5MmJjZGZjZDAxZDExN2QxYmRhM2U4MTRiYjIwMzBhIgorCitERVBFTkRTID0gImJpc29uIGZsZXgiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9hY3BpY2Eub3JnL3NpdGVzL2FjcGljYS9maWxlcy9hY3BpdGVzdHMtdW5peC0ke1BWfS50YXIuZ3o7bmFtZT1hY3BpdGVzdHMgXAorICAgICAgICAgICBodHRwczovL2FjcGljYS5vcmcvc2l0ZXMvYWNwaWNhL2ZpbGVzL2FjcGljYS11bml4Mi0ke1BWfS50YXIuZ3o7bmFtZT1hY3BpY2EgXAorICAgICAgICAgICBmaWxlOi8vYWFwaXRzLWxpbnV4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2FhcGl0cy1tYWtlZmlsZS5wYXRjaCBcCisiCitTUkNfVVJJW2FjcGl0ZXN0cy5tZDVzdW1dID0gImRiOWQ2ZmRhYThlM2ViMTAxZDcwMGVlNWJhNDkzOGVkIgorU1JDX1VSSVthY3BpdGVzdHMuc2hhMjU2c3VtXSA9ICJlNTc2Yzc0YmYxYmYxYzlmNzM0OGJmOTQxOWUwNWM4YWNmZWNlNzEwNWFiY2RjMDUyZTY2NjcwYzdhZjJjZjAwIgorU1JDX1VSSVthY3BpY2EubWQ1c3VtXSA9ICI2ZjA1ZjBkMTAxNjZhMWIxZmY2MTA3ZjNkMWNkZjFlNSIKK1NSQ19VUklbYWNwaWNhLnNoYTI1NnN1bV0gPSAiMDFkODg2NzY1NmM1YmE0MWRlYzMwN2M0MzgzY2U2NzYxOTZhZDQyODFhYzJjOWRlYzlmNWJlNWZhYzZkODg4ZSIKKworUyA9ICIke1dPUktESVJ9L2FjcGl0ZXN0cy11bml4LSR7UFZ9IgorCitFWFRSQV9PRU1BS0UgPSAiJ0NDPSR7VEFSR0VUX1BSRUZJWH1nY2MgJHtIT1NUX0NDX0FSQ0h9ICR7VE9PTENIQUlOX09QVElPTlN9JyAnT1BUX0NGTEFHUz0tV2FsbCciCisKKyMgVGhlIE1ha2VmaWxlcyBleHBlY3QgYSBzcGVjaWZpYyBsYXlvdXQKK2RvX2NvbXBpbGUoKSB7CisgICAgY3AgLWFmICR7V09SS0RJUn0vYWNwaWNhLXVuaXgyLSR7UFZ9L3NvdXJjZSAke1N9CisgICAgY2QgdGVzdHMvYWFwaXRzCisgICAgb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0wNzU1IHRlc3RzL2FhcGl0cy9iaW4vYWFwaXRzICR7RH0ke2JpbmRpcn0KK30KKworQ09NUEFUSUJMRV9IT1NUID0gIihpLjg2fHg4Nl82NHxhcm18YWFyY2g2NCkuKi1saW51eCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2FjcGljYS9maWxlcy9uby13ZXJyb3IucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9hY3BpY2EvZmlsZXMvbm8td2Vycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkMjhmNDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9hY3BpY2EvZmlsZXMvbm8td2Vycm9yLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Rlc2NyaXB0aW9uOiByZW1vdmUgLVdlcnJvciBmbGFnCitGb3J3YXJkZWQ6IG5vdC1uZWVkZWQKK0F1dGhvcjogRmF0aGkgQm91ZHJhIDxmYXRoaS5ib3VkcmFAbGluYXJvLm9yZz4KKworLS0tCisgZ2VuZXJhdGUvdW5peC9pYXNsL01ha2VmaWxlIHwgICAxMiArKysrKystLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCistLS0gYS9nZW5lcmF0ZS91bml4L2lhc2wvTWFrZWZpbGUKKysrKyBiL2dlbmVyYXRlL3VuaXgvaWFzbC9NYWtlZmlsZQorQEAgLTI2NiwxOSArMjY2LDE5IEBAICQoT0JKRElSKS9wcnBhcnNlci55Lmg6ICQoT0JKRElSKS9wcnBhcnMKKyAjIGJ5IHRoZSB1dGlsaXRpZXMgYWJvdmUgYW5kIHRoZXkgYXJlIG5vdCBuZWNlc3NhcmlseSBBTlNJIEMsIGV0Yy4KKyAjCisgJChPQkpESVIpL2FzbGNvbXBpbGVybGV4Lm8gOiAgICQoT0JKRElSKS9hc2xjb21waWxlcmxleC5jCistCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtV2FsbCAtV2Vycm9yIC1vJEAgJDwKKysJJChDQykgLWMgJChDRkxBR1MpIC1XYWxsIC1vJEAgJDwKKyAKKyAkKE9CSkRJUikvYXNsY29tcGlsZXJwYXJzZS5vIDogJChPQkpESVIpL2FzbGNvbXBpbGVycGFyc2UuYworLQkkKENDKSAtYyAkKENGTEFHUykgLVdhbGwgLVdlcnJvciAtbyRAICQ8CisrCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtV2FsbCAtbyRAICQ8CisgCisgJChPQkpESVIpL2R0cGFyc2VybGV4Lm8gOiAgICAgICQoT0JKRElSKS9kdHBhcnNlcmxleC5jCistCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtV2FsbCAtV2Vycm9yIC1vJEAgJDwKKysJJChDQykgLWMgJChDRkxBR1MpIC1XYWxsIC1vJEAgJDwKKyAKKyAkKE9CSkRJUikvZHRwYXJzZXJwYXJzZS5vIDogICAgJChPQkpESVIpL2R0cGFyc2VycGFyc2UuYworLQkkKENDKSAtYyAkKENGTEFHUykgLVdhbGwgLVdlcnJvciAtbyRAICQ8CisrCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtV2FsbCAtbyRAICQ8CisgCisgJChPQkpESVIpL3BycGFyc2VybGV4Lm8gOiAgICAgICQoT0JKRElSKS9wcnBhcnNlcmxleC5jCistCSQoQ0MpIC1jICQoQ0ZMQUdTKSAtV2FsbCAtV2Vycm9yIC1vJEAgJDwKKysJJChDQykgLWMgJChDRkxBR1MpIC1XYWxsIC1vJEAgJDwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2FjcGl0b29sL2FjcGl0b29sXzAuNS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvYWNwaXRvb2wvYWNwaXRvb2xfMC41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM5NjY5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2FjcGl0b29sL2FjcGl0b29sXzAuNS4xLmJiCkBAIC0wLDAgKzEsMTMgQEAKK0RFU0NSSVBUSU9OID0gIkFjcGl0b29sIGlzIGEgTGludXggQUNQSSBjbGllbnQuIEl0IHNpbXBseSByZWFkcyAvcHJvYy9hY3BpIG9yIC9zeXMvY2xhc3MgZW50cmllcyBcCithbmQgcHJlc2VudHMgdGhlIG91dHB1dCBpbiBhIG1lYW5pbmdmdWxsLCBodW1hbi1yZWFkYWJsZSBmb3JtYXQuIgorSE9NRVBBR0UgPSAiaHR0cDovL2ZyZWV1bml4LmR5bmRucy5vcmc6ODA4OC9zaXRlMi9hY3BpdG9vbC5zaHRtbCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworU1JDX1VSSSA9ICJodHRwOi8vbmNoYy5kbC5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC8ke0JQTn0vJHtCUE59LyR7UFZ9LyR7QlB9LnRhci5iejIgXAorICAgICIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworU1JDX1VSSVttZDVzdW1dID0gIjllNGVjNTUyMDFiZTBiZTcxZmZiYzU2ZDM4YjQyYjU3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAwNGZiNmNkNDMxMDI5MThiNjMwMmNmNTM3YTJkYjdjZWFkZGEwNGFlZjJlMDkwNmRkZjIzMGY4MjBkYWQzNGYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvMDAwMS1GaXgtZXJyb3IucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvMDAwMS1GaXgtZXJyb3IucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFhMzAzYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy8wMDAxLUZpeC1lcnJvci5wYXRjaApAQCAtMCwwICsxLDI2IEBACitGcm9tIGI4ZTc5MWNlOTNhNDY3MDgxZmIxNTk0YjkxODQxZTJmNTdjNjM0YTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBRaWFuIExlaSA8cWlhbmwuZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IEZyaSwgMTYgSmFuIDIwMTUgMTg6Mzc6MjYgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGVycm9yCisKK1NpZ25lZC1vZmYtYnk6IFFpYW4gTGVpIDxxaWFubC5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgc3dpZy9weXRob24vQ01ha2VMaXN0cy50eHQgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zd2lnL3B5dGhvbi9DTWFrZUxpc3RzLnR4dCBiL3N3aWcvcHl0aG9uL0NNYWtlTGlzdHMudHh0CitpbmRleCAzOTc2Mjk2Li44MDczZmM4IDEwMDY0NAorLS0tIGEvc3dpZy9weXRob24vQ01ha2VMaXN0cy50eHQKKysrKyBiL3N3aWcvcHl0aG9uL0NNYWtlTGlzdHMudHh0CitAQCAtMjcsNyArMjcsNyBAQCBTRVQoIFNXSUdfSU5QVVQgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi9jbXBpLmkiICkKKyBBRERfQ1VTVE9NX0NPTU1BTkQgKAorICAgIE9VVFBVVCAgJHtTV0lHX09VVFBVVH0KKyAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgZWNob19hcHBlbmQgIkNyZWF0aW5nIHdyYXBwZXIgY29kZSBmb3IgUHl0aG9uIC4uLiIKKy0gICBDT01NQU5EICR7U1dJR19FWEVDVVRBQkxFfSAtcHl0aG9uIC1XYWxsIC10aHJlYWRzIC1mZWF0dXJlcyBhdXRvZG9jIC1vICR7U1dJR19PVVRQVVR9IC1vdXRkaXIgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9IC1JL3Vzci9pbmNsdWRlICR7U1dJR19JTlBVVH0KKysgICBDT01NQU5EICR7U1dJR19FWEVDVVRBQkxFfSAtcHl0aG9uIC1XYWxsIC10aHJlYWRzIC1mZWF0dXJlcyBhdXRvZG9jIC1vICR7U1dJR19PVVRQVVR9IC1vdXRkaXIgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9IC1JJEVOVntTVEFHSU5HX0lOQ0RJUn0gJHtTV0lHX0lOUFVUfQorICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBlY2hvICJEb25lLiIKKyAgICBXT1JLSU5HX0RJUkVDVE9SWSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0KKyAgICBERVBFTkRTICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8uLi8qLmkKKy0tIAorMS44LjMuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvMDAwMS1Nb2RpZnktY21ha2VsaXN0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzLzAwMDEtTW9kaWZ5LWNtYWtlbGlzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmU1ZTU2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzLzAwMDEtTW9kaWZ5LWNtYWtlbGlzdC5wYXRjaApAQCAtMCwwICsxLDQxIEBACitGcm9tIDA3MDgyMjUwN2JlZmU3YzFiOGJiMWJlMmQzNmNiMTIxNDFkMDNiOGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBRaWFuIExlaSA8cWlhbmwuZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgNiBKYW4gMjAxNSAxODozODozMiArMDgwMAorU3ViamVjdDogW1BBVENIXSBDaGFuZ2UgdGhlIGluc3RhbGwgcGF0aCBpbiBjbWFrZWxpc3QKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBRaWFuIExlaSA8cWlhbmwuZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIHN3aWcvcHl0aG9uL0NNYWtlTGlzdHMudHh0IHwgOCArKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zd2lnL3B5dGhvbi9DTWFrZUxpc3RzLnR4dCBiL3N3aWcvcHl0aG9uL0NNYWtlTGlzdHMudHh0CitpbmRleCAzOTc2Mjk2Li45M2M4N2MxIDEwMDY0NAorLS0tIGEvc3dpZy9weXRob24vQ01ha2VMaXN0cy50eHQKKysrKyBiL3N3aWcvcHl0aG9uL0NNYWtlTGlzdHMudHh0CitAQCAtNTYsMTggKzU2LDE4IEBAIFRBUkdFVF9MSU5LX0xJQlJBUklFUyggJHtOQU1FfSB1dGlsICkKKyAKKyBJTlNUQUxMKFRBUkdFVFMgJHtOQU1FfSBMSUJSQVJZIERFU1RJTkFUSU9OICR7Q01QSV9MSUJSQVJZX0RJUn0pCisgIyAucHk6IHN3aWcgZ2VuZXJhdGVkCistSU5TVEFMTChGSUxFUyAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vY21waS5weSBERVNUSU5BVElPTiAke1BZVEhPTl9TSVRFX0RJUn0gKQorK0lOU1RBTEwoRklMRVMgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2NtcGkucHkgREVTVElOQVRJT04gJEVOVntFTlZfSU5TVEFMTF9QQVRIfSApCisgCisgCisgIworICMgY21waV9weXdiZW1fYmluZGluZ3MucHk6IHByb3ZpZGVyIGltcGxlbWVudGF0aW9uCisgIworLUlOU1RBTEwoRklMRVMgY21waV9weXdiZW1fYmluZGluZ3MucHkgREVTVElOQVRJT04gJHtQWVRIT05fU0lURV9ESVJ9ICkKKytJTlNUQUxMKEZJTEVTIGNtcGlfcHl3YmVtX2JpbmRpbmdzLnB5IERFU1RJTkFUSU9OICRFTlZ7RU5WX0lOU1RBTExfUEFUSH0gKQorICNJTlNUQUxMKEZJTEVTIFB5X1VuaXhQcm9jZXNzUHJvdmlkZXIucHkgREVTVElOQVRJT04gL3Vzci9saWIvcHljaW0gKQorIAorLUlOU1RBTEwoQ09ERSAiRVhFQ1VURV9QUk9DRVNTKENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMgXCJmcm9tIHB5X2NvbXBpbGUgaW1wb3J0IGNvbXBpbGU7IGNvbXBpbGUoJ1wkRU5We0RFU1RESVJ9JHtQWVRIT05fU0lURV9ESVJ9L2NtcGkucHknLCBkZmlsZT0nJHtQWVRIT05fU0lURV9ESVJ9L2NtcGkucHknKVwiKSIpCisrSU5TVEFMTChDT0RFICJFWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAtYyBcImZyb20gcHlfY29tcGlsZSBpbXBvcnQgY29tcGlsZTsgY29tcGlsZSgnXCRFTlZ7REVTVERJUn0kRU5We0VOVl9JTlNUQUxMX1BBVEh9L2NtcGkucHknLCBkZmlsZT0nXCRFTlZ7RU5WX0lOU1RBTExfUEFUSH0vY21waS5weScpXCIpIikKKyAKKy1JTlNUQUxMKENPREUgIkVYRUNVVEVfUFJPQ0VTUyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jIFwiZnJvbSBweV9jb21waWxlIGltcG9ydCBjb21waWxlOyBjb21waWxlKCdcJEVOVntERVNURElSfSR7UFlUSE9OX1NJVEVfRElSfS9jbXBpX3B5d2JlbV9iaW5kaW5ncy5weScsIGRmaWxlPScke1BZVEhPTl9TSVRFX0RJUn0vY21waV9weXdiZW1fYmluZGluZ3MucHknKVwiKSIpCisrSU5TVEFMTChDT0RFICJFWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAtYyBcImZyb20gcHlfY29tcGlsZSBpbXBvcnQgY29tcGlsZTsgY29tcGlsZSgnXCRFTlZ7REVTVERJUn0kRU5We0VOVl9JTlNUQUxMX1BBVEh9L2NtcGlfcHl3YmVtX2JpbmRpbmdzLnB5JywgZGZpbGU9JyRFTlZ7RU5WX0lOU1RBTExfUEFUSH0vY21waV9weXdiZW1fYmluZGluZ3MucHknKVwiKSIpCisgCisgCisgCistLSAKKzEuOC4zLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzLzAwMDEtZml4LXRoZS1idWlsZC1lcnJvci13aGVuLXB5dGhvbi0zLjAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvMDAwMS1maXgtdGhlLWJ1aWxkLWVycm9yLXdoZW4tcHl0aG9uLTMuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDZmMDI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzLzAwMDEtZml4LXRoZS1idWlsZC1lcnJvci13aGVuLXB5dGhvbi0zLjAucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAzMjNjZWQwM2E2NmU2Y2Q5NjNkODI3N2I2NmNmY2M3ZGNlNzQwYmU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGVpIE1hb2h1aSA8bGVpbWFvaHVpQGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCAxNyBKdWwgMjAxNSAwMTozMzo0MyAtMDcwMAorU3ViamVjdDogW1BBVENIXSBmaXggWHRoZSBidWlsZCBlcnJvciB3aGVuIHB5dGhvbj4zLjAKKworU2lnbmVkLW9mZi1ieTogTGVpIE1hb2h1aSA8bGVpbWFvaHVpQGNuLmZ1aml0c3UuY29tPgorLS0tCisgc3JjL3RhcmdldF9weXRob24uYyB8IDcgKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy90YXJnZXRfcHl0aG9uLmMgYi9zcmMvdGFyZ2V0X3B5dGhvbi5jCitpbmRleCA5MGI0M2ExLi4yYjc2YzllIDEwMDY0NAorLS0tIGEvc3JjL3RhcmdldF9weXRob24uYworKysrIGIvc3JjL3RhcmdldF9weXRob24uYworQEAgLTE2Nyw3ICsxNjcsMTIgQEAgUHlHbG9iYWxJbml0aWFsaXplKGNvbnN0IENNUElCcm9rZXIqIGJyb2tlciwgQ01QSVN0YXR1cyogc3QpCisgICAKKyAgIFB5X1NldFByb2dyYW1OYW1lKCJjbXBpX3N3aWciKTsKKyAgIFB5X0luaXRpYWxpemUoKTsKKy0gIFNXSUdFWFBPUlQgdm9pZCBTV0lHX2luaXQodm9pZCk7CisrI2lmIFBZX1ZFUlNJT05fSEVYID49IDB4MDMwMDAwMDAKKytTV0lHRVhQT1JUIFB5T2JqZWN0KgorKyNlbHNlCisrICBTV0lHRVhQT1JUIHZvaWQgCisrI2VuZGlmCisrICBTV0lHX2luaXQodm9pZCk7CisgICBTV0lHX2luaXQoKTsKKyAgIGNtcGlNYWluUHlUaHJlYWRTdGF0ZSA9IFB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlKCk7CisgICBQeUV2YWxfUmVsZWFzZVRocmVhZChjbXBpTWFpblB5VGhyZWFkU3RhdGUpOyAKKy0tIAorMi4xLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MtMC40LjE3LW5vLXJ1YnktcGVybC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzLTAuNC4xNy1uby1ydWJ5LXBlcmwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA3MmRhNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzLTAuNC4xNy1uby1ydWJ5LXBlcmwucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSA3ZGQwMWUzM2Y5ZGFjNzVmMTc3MTEzZGU5YThmZjQ1OGQ0MjYzYTExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGVpIE1hb2h1aSA8bGVpbWFvaHVpQGNuLmZ1aml0c3UuY29tPgorRGF0ZTogTW9uLCAyNCBBdWcgMjAxNSAxMTowMDoxMyArMDkwMAorU3ViamVjdDogW1BBVENIXSBjbXBpLWJpbmRpbmdzLTAuNC4xNyBubyBydWJ5IHBlcmwKKworUG9ydCBmcm9tIEZlZG9yYTIwCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogUWlhbiBMZWkgPHFpYW5sLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBzd2lnL0NNYWtlTGlzdHMudHh0IHwgMjIgKysrKysrKysrKystLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3N3aWcvQ01ha2VMaXN0cy50eHQgYi9zd2lnL0NNYWtlTGlzdHMudHh0CitpbmRleCA4YjU1NTVjLi5jMjY1NWI5IDEwMDY0NAorLS0tIGEvc3dpZy9DTWFrZUxpc3RzLnR4dAorKysrIGIvc3dpZy9DTWFrZUxpc3RzLnR4dAorQEAgLTE1LDE1ICsxNSwxNSBAQCBJRiAoUFlUSE9OX0xJQlJBUlkpCisgICBFTkRJRiAoUFlUSE9OX0xJTktfTElCUykKKyBFTkRJRiAoUFlUSE9OX0xJQlJBUlkpCisgCistRklORF9QQUNLQUdFKFBlcmwpCistSUYgKFBFUkxfRVhFQ1VUQUJMRSkKKy0gIE1FU1NBR0UoU1RBVFVTICJCdWlsZGluZyBQZXJsLi4uIikKKy0gIEFERF9TVUJESVJFQ1RPUlkocGVybCkKKy1FTkRJRiAoUEVSTF9FWEVDVVRBQkxFKQorKyNGSU5EX1BBQ0tBR0UoUGVybCkKKysjSUYgKFBFUkxfRVhFQ1VUQUJMRSkKKysjICBNRVNTQUdFKFNUQVRVUyAiQnVpbGRpbmcgUGVybC4uLiIpCisrIyAgQUREX1NVQkRJUkVDVE9SWShwZXJsKQorKyNFTkRJRiAoUEVSTF9FWEVDVVRBQkxFKQorIAorLUZJTkRfUEFDS0FHRShSdWJ5KQorLUlGIChSVUJZX0xJQlJBUlkgQU5EIFJVQllfSU5DTFVERV9QQVRIKQorLSAgTUVTU0FHRShTVEFUVVMgIkJ1aWxkaW5nIFJ1YnkuLi4iKQorLSAgQUREX1NVQkRJUkVDVE9SWShydWJ5KQorLSAgT1BUSU9OKCBCVUlMRF9SVUJZX0dFTSAiQnVpbGQgUnVieSBHRU0iIFlFUyApCistRU5ESUYgKFJVQllfTElCUkFSWSBBTkQgUlVCWV9JTkNMVURFX1BBVEgpCisrI0ZJTkRfUEFDS0FHRShSdWJ5KQorKyNJRiAoUlVCWV9MSUJSQVJZIEFORCBSVUJZX0lOQ0xVREVfUEFUSCkKKysjICBNRVNTQUdFKFNUQVRVUyAiQnVpbGRpbmcgUnVieS4uLiIpCisrIyAgQUREX1NVQkRJUkVDVE9SWShydWJ5KQorKyMgIE9QVElPTiggQlVJTERfUlVCWV9HRU0gIkJ1aWxkIFJ1YnkgR0VNIiBZRVMgKQorKyNFTkRJRiAoUlVCWV9MSUJSQVJZIEFORCBSVUJZX0lOQ0xVREVfUEFUSCkKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy0wLjQuMTctc2JsaW0tc2lnc2Vndi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzLTAuNC4xNy1zYmxpbS1zaWdzZWd2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5OTMzNzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy0wLjQuMTctc2JsaW0tc2lnc2Vndi5wYXRjaApAQCAtMCwwICsxLDIyIEBACitQb3J0IGZyb20gRmVkb3JhMjAKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBRaWFuIExlaSA8cWlhbmwuZm5zdEBjbi5mdWppdHN1LmNvbT4KKworZGlmZiAtdXAgY21waS1iaW5kaW5ncy0wLjQuMTcvc3dpZy9weXRob24vY21waV9weXdiZW1fYmluZGluZ3MucHkub3JpZyBjbXBpLWJpbmRpbmdzLTAuNC4xNy9zd2lnL3B5dGhvbi9jbXBpX3B5d2JlbV9iaW5kaW5ncy5weQorLS0tIGNtcGktYmluZGluZ3MtMC40LjE3L3N3aWcvcHl0aG9uL2NtcGlfcHl3YmVtX2JpbmRpbmdzLnB5Lm9yaWcJMjAxMi0wMy0wMSAxNzowNTozMS44NzgzNjcyODEgKzAxMDAKKysrKyBjbXBpLWJpbmRpbmdzLTAuNC4xNy9zd2lnL3B5dGhvbi9jbXBpX3B5d2JlbV9iaW5kaW5ncy5weQkyMDEyLTAzLTAxIDE3OjA2OjM0LjcxODExMDEzNyArMDEwMAorQEAgLTM1MCwxMCArMzUwLDEwIEBAIGNsYXNzIEJyb2tlckNJTU9NSGFuZGxlKG9iamVjdCk6CisgICAgICAgICAgICAgYWxsb3dfbnVsbF9ucyA9IEZhbHNlCisgICAgICAgICBlbHNlOgorICAgICAgICAgICAgIGFsbG93X251bGxfbnMgPSBUcnVlCistICAgICAgICAgICAgaWYgc2VsZi5icm9rZXIubmFtZSgpID09ICdSZXF1ZXN0SGFuZGxlcic6CisrIyAgICAgICAgICAgIGlmIHNlbGYuYnJva2VyLm5hbWUoKSA9PSAnUmVxdWVzdEhhbmRsZXInOgorICAgICAgICAgICAgICAgICAjIENoZWNrIHNibGltIGJ1ZyAjMjE4NTQxMC4KKy0gICAgICAgICAgICAgICAgaWYgaW5zdGFuY2UucGF0aCBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLnBhdGgubmFtZXNwYWNlID0gTm9uZQorKyMgICAgICAgICAgICAgICAgaWYgaW5zdGFuY2UucGF0aCBpcyBub3QgTm9uZToKKysjICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5wYXRoLm5hbWVzcGFjZSA9IE5vbmUKKyAgICAgICAgIGluc3QgPSBzZWxmLnByb3h5LnB5d2JlbTJjbXBpX2luc3QoaW5zdGFuY2UsIGFsbG93X251bGxfbnMpCisgICAgICAgICBydiA9IHNlbGYuYnJva2VyLmRlbGl2ZXJJbmRpY2F0aW9uKHNlbGYuY3R4LCBucywgaW5zdCkKKyAgICAgICAgIHJldHVybiBydgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MtMC45LjUtcHl0aG9uLWxpYi1kaXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5ncy0wLjkuNS1weXRob24tbGliLWRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNmE1MWVjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzL2NtcGktYmluZGluZ3MtMC45LjUtcHl0aG9uLWxpYi1kaXIucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorUG9ydCBmcm9tIEZlZG9yYTIwCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogUWlhbiBMZWkgPHFpYW5sLmZuc3RAY24uZnVqaXRzdS5jb20+CisKK2RpZmYgLXVwIGNtcGktYmluZGluZ3MtMC45LjUvc3dpZy9weXRob24vQ01ha2VMaXN0cy50eHQub2xkIGNtcGktYmluZGluZ3MtMC45LjUvc3dpZy9weXRob24vQ01ha2VMaXN0cy50eHQKKy0tLSBjbXBpLWJpbmRpbmdzLTAuOS41L3N3aWcvcHl0aG9uL0NNYWtlTGlzdHMudHh0Lm9sZAkyMDEzLTA4LTA2IDE1OjU3OjAzLjU3NjI4NTc2NCArMDIwMAorKysrIGNtcGktYmluZGluZ3MtMC45LjUvc3dpZy9weXRob24vQ01ha2VMaXN0cy50eHQJMjAxMy0wOC0wNiAxNTo1NzoxNC44OTEzNDU5NDEgKzAyMDAKK0BAIC05LDcgKzksNyBAQCBTRVQgKEJVSUxEX1NIQVJFRF9MSUJTIE9OKQorIAorIEZJTkRfUEFDS0FHRShQeXRob25JbnRlcnAgUkVRVUlSRUQpCisgCistRVhFQ1VURV9QUk9DRVNTKENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMgImZyb20gc3lzIGltcG9ydCBzdGRvdXQ7IGZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWc7IHN0ZG91dC53cml0ZShzeXNjb25maWcuZ2V0X3B5dGhvbl9saWIoKSkiIE9VVFBVVF9WQVJJQUJMRSBQWVRIT05fTElCX0RJUikKKytFWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAtYyAiZnJvbSBzeXMgaW1wb3J0IHN0ZG91dDsgZnJvbSBkaXN0dXRpbHMgaW1wb3J0IHN5c2NvbmZpZzsgc3Rkb3V0LndyaXRlKHN5c2NvbmZpZy5nZXRfcHl0aG9uX2xpYigxKSkiIE9VVFBVVF9WQVJJQUJMRSBQWVRIT05fTElCX0RJUikKKyAKKyBJRiAoTk9UIFBZVEhPTl9TSVRFX0RJUikKKyAgIFNFVCAoUFlUSE9OX1NJVEVfRElSICR7UFlUSE9OX0xJQl9ESVJ9KQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY21waS1iaW5kaW5ncy9jbXBpLWJpbmRpbmdzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5nc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI3NDdjMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NtcGktYmluZGluZ3MvY21waS1iaW5kaW5nc19naXQuYmIKQEAgLTAsMCArMSwzNyBAQAorU1VNTUFSWSA9ICJBZGFwdGVyIHRvIHdyaXRlIGFuZCBydW4gQ01QSS10eXBlIENJTSBwcm92aWRlcnMiCitERVNDUklQVElPTiA9ICJDTVBJLWNvbXBsaWFudCBwcm92aWRlciBpbnRlcmZhY2UgZm9yIHZhcmlvdXMgbGFuZ3VhZ2VzIHZpYSBTV0lHIgorSE9NRVBBR0UgPSAiaHR0cDovL2dpdGh1Yi5jb20va2thZW1wZi9jbXBpLWJpbmRpbmdzIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMTllZTA1OGQyZDVmNjlhZjQ1ZGE5ODA1MWQ5MTA2NCIKK1NFQ1RJT04gPSAiRGV2ZWxvcG1lbnQvTGlicmFyaWVzIgorREVQRU5EUyA9ICJzd2lnLW5hdGl2ZSBweXRob24gc2JsaW0tY21waS1kZXZlbCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2trYWVtcGYvY21waS1iaW5kaW5ncy5naXQ7cHJvdG9jb2w9aHR0cCBcCisgICAgICAgICAgIGZpbGU6Ly9jbXBpLWJpbmRpbmdzLTAuNC4xNy1uby1ydWJ5LXBlcmwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY21waS1iaW5kaW5ncy0wLjQuMTctc2JsaW0tc2lnc2Vndi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jbXBpLWJpbmRpbmdzLTAuOS41LXB5dGhvbi1saWItZGlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtTW9kaWZ5LWNtYWtlbGlzdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1lcnJvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC10aGUtYnVpbGQtZXJyb3Itd2hlbi1weXRob24tMy4wLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ1JFViA9ICI2MmY2MGUwNjVhYTFiOTAxZjgyNmU0ZjUzMGMwNTczYWUzMmQwNjVlIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZSBweXRob25uYXRpdmUKKworRVhUUkFfT0VDTUFLRSA9ICItRExJQj0nJHtiYXNlbGlifScgXAorICAgICAgICAgICAgICAgICAtRFBZVEhPTl9JTkNMVURFX1BBVEg9JHtTVEFHSU5HX0lOQ0RJUn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059IgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBleHBvcnQgSE9TVF9TWVM9JHtIT1NUX1NZU30KKyAgICBleHBvcnQgQlVJTERfU1lTPSR7QlVJTERfU1lTfQorICAgIGV4cG9ydCBTVEFHSU5HX0xJQkRJUj0ke1NUQUdJTkdfTElCRElSfQorICAgIGV4cG9ydCBTVEFHSU5HX0lOQ0RJUj0ke1NUQUdJTkdfSU5DRElSfQorICAgIGV4cG9ydCBFTlZfSU5TVEFMTF9QQVRIPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9Cit9CisKK0ZJTEVTXyR7UE59ID0rIiR7bGliZGlyfS9jbXBpL2xpYnB5Q21waVByb3ZpZGVyLnNvICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCitGSUxFU18ke1BOfS1kYmcgPSsgIiR7bGliZGlyfS9jbXBpLy5kZWJ1Zy9saWJweUNtcGlQcm92aWRlci5zbyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC8wMDAxLWNvbmRpdGlvbmFsbHktY2hlY2stbGlidmlydC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDEtY29uZGl0aW9uYWxseS1jaGVjay1saWJ2aXJ0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwYTU4MDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC8wMDAxLWNvbmRpdGlvbmFsbHktY2hlY2stbGlidmlydC5wYXRjaApAQCAtMCwwICsxLDM5IEBACitbUEFUQ0hdIGNvbmRpdGlvbmFsbHkgY2hlY2sgbGlidmlydAorCitVcHN0cmVhbS1TdGF0dWU6IFBlbmRpbmcKKworY2hlY2sgaWYgbGlidmlydCBpcyBhdmFpbGFibGUgb25seSB3aGVuIGEgdXNlciB3YW50cyB0byB1c2UgbGlidmlydAorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAxNCArKysrKysrKy0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDkyMzQ5OGUuLjcyMDYwOTUgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTQ3NzgsMTIgKzQ3NzgsMTQgQEAgdGhlbgorIAkJd2l0aF9saWJ4bWwyPSJubyAocGtnLWNvbmZpZyBkb2Vzbid0IGtub3cgbGlieG1sLTIuMCkiCisgCWZpCisgCistCSRQS0dfQ09ORklHIC0tZXhpc3RzIGxpYnZpcnQgMj4vZGV2L251bGwKKy0JaWYgdGVzdCAiJD8iID0gIjAiCistCXRoZW4KKy0JCXdpdGhfbGlidmlydD0ieWVzIgorLQllbHNlCistCQl3aXRoX2xpYnZpcnQ9Im5vIChwa2ctY29uZmlnIGRvZXNuJ3Qga25vdyBsaWJ2aXJ0KSIKKysJaWYgdGVzdCAieCRlbmFibGVfbGlidmlydCIgPSAieHllcyI7IHRoZW4KKysJCSRQS0dfQ09ORklHIC0tZXhpc3RzIGxpYnZpcnQgMj4vZGV2L251bGwKKysJCWlmIHRlc3QgIiQ/IiA9ICIwIgorKwkJdGhlbgorKwkJCXdpdGhfbGlidmlydD0ieWVzIgorKwkJZWxzZQorKwkJCXdpdGhfbGlidmlydD0ibm8gKHBrZy1jb25maWcgZG9lc24ndCBrbm93IGxpYnZpcnQpIgorKwkJZmkKKyAJZmkKKyBmaQorIGlmIHRlc3QgIngkd2l0aF9saWJ4bWwyIiA9ICJ4eWVzIgorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC8wMDAxLXJlZGVmaW5lLXRoZS1kZXBlbmRlbmNlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvMDAwMS1yZWRlZmluZS10aGUtZGVwZW5kZW5jZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjZhZmFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvMDAwMS1yZWRlZmluZS10aGUtZGVwZW5kZW5jZS5wYXRjaApAQCAtMCwwICsxLDI4IEBACitbUEFUQ0hdIGRlZmluZSB0aGUgY29sbGVjdGQgZGVwZW5kZW5jZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworbGliYXZsdHJlZS5sYSBsaWJjb21tb24ubGEgbGliaGVhcC5sYSBhcmUgY3JlYXRlZCBkeW5hbWljYWxseSwgYW5kIGluIExEQURELAorYnV0IG5vdCBpbiBERVBFTkRFTkNJRVMKKworU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2RhZW1vbi9NYWtlZmlsZS5hbSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9kYWVtb24vTWFrZWZpbGUuYW0gYi9zcmMvZGFlbW9uL01ha2VmaWxlLmFtCitpbmRleCAxMDg2MGVjLi43ZjgyNmUzIDEwMDY0NAorLS0tIGEvc3JjL2RhZW1vbi9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2RhZW1vbi9NYWtlZmlsZS5hbQorQEAgLTQ5LDcgKzQ5LDcgQEAgY29sbGVjdGRfQ1BQRkxBR1MgPSAgJChBTV9DUFBGTEFHUykgJChMVERMSU5DTCkKKyBjb2xsZWN0ZF9DRkxBR1MgPSAkKEFNX0NGTEFHUykKKyBjb2xsZWN0ZF9MREZMQUdTID0gLWV4cG9ydC1keW5hbWljCisgY29sbGVjdGRfTERBREQgPSBsaWJhdmx0cmVlLmxhIGxpYmNvbW1vbi5sYSBsaWJoZWFwLmxhIC1sbQorLWNvbGxlY3RkX0RFUEVOREVOQ0lFUyA9CisrY29sbGVjdGRfREVQRU5ERU5DSUVTID0gbGliYXZsdHJlZS5sYSBsaWJjb21tb24ubGEgbGliaGVhcC5sYQorIAorICMgTGluayB0byB0aGVzZSBsaWJyYXJpZXMuLgorIGlmIEJVSUxEX1dJVEhfTElCUlQKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvY29sbGVjdGQtdmVyc2lvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkL2NvbGxlY3RkLXZlcnNpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZjM2Y2NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkL2NvbGxlY3RkLXZlcnNpb24ucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRG9uJ3QgcGljayB1cCB2ZXJzaW9uIHN0cmluZyBmcm9tIHBhcmVudCBnaXQgcmVwb3NpdG9yeQorCitJZiB0aGUgY29sbGVjdGQgc291cmNlIGlzIGV4dHJhY3RlZCBmcm9tIGEgdGFyYmFsbCB1bmRlcm5lYXRoIGEKK2RpcmVjdG9yeSBzdHJ1Y3R1cmUgdGhhdCBpbmNsdWRlcyBhbm90aGVyIGdpdCByZXBvc2l0b3J5LCB0aGF0CityZXBvc2l0b3J5IHdpbGwgYmUgcGlja2VkIHVwIGJ5ICJnaXQgZGVzY3JpYmUiIHdoaWNoIGlzIG5vdAorZGVzaXJhYmxlLiBDaGVjayB3aGV0aGVyIGNvbGxlY3RkIGl0c2VsZiBpcyBhIGdpdCByZXBvc2l0b3J5IGFuZCBqdXN0Cit1c2UgdGhlIGRlZmF1bHQgdmVyc2lvbiBpZiBub3QuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworZGlmZiAtLWdpdCBhL3ZlcnNpb24tZ2VuLnNoIGIvdmVyc2lvbi1nZW4uc2gKK2luZGV4IGIwOWJlOGUuLjI2NzEwNjYgMTAwNzU1CistLS0gYS92ZXJzaW9uLWdlbi5zaAorKysrIGIvdmVyc2lvbi1nZW4uc2gKK0BAIC0yLDggKzIsMTAgQEAKKyAKKyBERUZBVUxUX1ZFUlNJT049IjUuNS4wLmdpdCIKKyAKKy1WRVJTSU9OPSJgZ2l0IGRlc2NyaWJlIDI+IC9kZXYvbnVsbCB8IGdyZXAgY29sbGVjdGQgfCBzZWQgLWUgJ3MvXmNvbGxlY3RkLS8vJ2AiCistCisrVkVSU0lPTj0iIgorK2lmIHRlc3QgLWQgLmdpdCA7IHRoZW4KKysJVkVSU0lPTj0iYGdpdCBkZXNjcmliZSAyPiAvZGV2L251bGwgfCBncmVwIGNvbGxlY3RkIHwgc2VkIC1lICdzL15jb2xsZWN0ZC0vLydgIgorK2ZpCisgaWYgdGVzdCAteiAiJFZFUlNJT04iOyB0aGVuCisgCVZFUlNJT049IiRERUZBVUxUX1ZFUlNJT04iCisgZmkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkL2NvbGxlY3RkLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC9jb2xsZWN0ZC5pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1ZjVmNzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC9jb2xsZWN0ZC5pbml0CkBAIC0wLDAgKzEsMjEyIEBACisjIS9iaW4vc2gKKyMKKyMgY29sbGVjdGQgLSBzdGFydCBhbmQgc3RvcCB0aGUgc3RhdGlzdGljcyBjb2xsZWN0aW9uIGRhZW1vbgorIyBodHRwOi8vY29sbGVjdGQub3JnLworIworIyBDb3B5cmlnaHQgKEMpIDIwMDUtMjAwNiBGbG9yaWFuIEZvcnN0ZXIgPG9jdG9AdmVycGxhbnQub3JnPgorIyBDb3B5cmlnaHQgKEMpIDIwMDYtMjAwOSBTZWJhc3RpYW4gSGFybCA8dG9ra2VlQGRlYmlhbi5vcmc+CisjCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIGNvbGxlY3RkCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkbG9jYWxfZnMgJHJlbW90ZV9mcworIyBSZXF1aXJlZC1TdG9wOiAgICAgJGxvY2FsX2ZzICRyZW1vdGVfZnMKKyMgU2hvdWxkLVN0YXJ0OiAgICAgICRuZXR3b3JrICRuYW1lZCAkc3lzbG9nICR0aW1lIGNwdWZyZXF1dGlscworIyBTaG91bGQtU3RvcDogICAgICAgJG5ldHdvcmsgJG5hbWVkICRzeXNsb2cKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBtYW5hZ2UgdGhlIHN0YXRpc3RpY3MgY29sbGVjdGlvbiBkYWVtb24KKyMgRGVzY3JpcHRpb246ICAgICAgIGNvbGxlY3RkIGlzIHRoZSBzdGF0aXN0aWNzIGNvbGxlY3Rpb24gZGFlbW9uLgorIyAgICAgICAgICAgICAgICAgICAgSXQgaXMgYSBzbWFsbCBkYWVtb24gd2hpY2ggY29sbGVjdHMgc3lzdGVtIGluZm9ybWF0aW9uCisjICAgICAgICAgICAgICAgICAgICBwZXJpb2RpY2FsbHkgYW5kIHByb3ZpZGVzIG1lY2hhbmlzbXMgdG8gbW9uaXRvciBhbmQgc3RvcmUKKyMgICAgICAgICAgICAgICAgICAgIHRoZSB2YWx1ZXMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCisjIyMgRU5EIElOSVQgSU5GTworCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCitleHBvcnQgUEFUSD0vc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbgorCitESVNBQkxFPTAKKworTkFNRT1jb2xsZWN0ZAorREFFTU9OPS91c3Ivc2Jpbi9jb2xsZWN0ZAorCitDT05GSUdGSUxFPS9ldGMvY29sbGVjdGQuY29uZgorUElERklMRT0vdmFyL3J1bi9jb2xsZWN0ZC5waWQKKworVVNFX0NPTExFQ1RETU9OPTEKK0NPTExFQ1RETU9OX0RBRU1PTj0vdXNyL3NiaW4vY29sbGVjdGRtb24KK0NPTExFQ1RETU9OX1BJREZJTEU9L3Zhci9ydW4vY29sbGVjdGRtb24ucGlkCisKK01BWFdBSVQ9MzAKKworIyBHcmFjZWZ1bGx5IGV4aXQgaWYgdGhlIHBhY2thZ2UgaGFzIGJlZW4gcmVtb3ZlZC4KK3Rlc3QgLXggJERBRU1PTiB8fCBleGl0IDAKKworaWYgWyAtciAvZXRjL2RlZmF1bHQvJE5BTUUgXTsgdGhlbgorCS4gL2V0Yy9kZWZhdWx0LyROQU1FCitmaQorCitpZiB0ZXN0ICIkRU5BQkxFX0NPUkVGSUxFUyIgPT0gMTsgdGhlbgorCXVsaW1pdCAtYyB1bmxpbWl0ZWQKK2ZpCisKK2lmIHRlc3QgIiRVU0VfQ09MTEVDVERNT04iID09IDE7IHRoZW4KKwlfUElERklMRT0iJENPTExFQ1RETU9OX1BJREZJTEUiCitlbHNlCisJX1BJREZJTEU9IiRQSURGSUxFIgorZmkKKworIyByZXR1cm46CisjICAgMCBpZiBjb25maWcgaXMgZmluZQorIyAgIDEgaWYgdGhlcmUgaXMgYSBzeW50YXggZXJyb3IKKyMgICAyIGlmIHRoZXJlIGlzIG5vIGNvbmZpZ3VyYXRpb24KK2NoZWNrX2NvbmZpZygpIHsKKwlpZiB0ZXN0ICEgLWUgIiRDT05GSUdGSUxFIjsgdGhlbgorCQlyZXR1cm4gMgorCWZpCisJaWYgISAkREFFTU9OIC10IC1DICIkQ09ORklHRklMRSI7IHRoZW4KKwkJcmV0dXJuIDEKKwlmaQorCXJldHVybiAwCit9CisKKyMgcmV0dXJuOgorIyAgIDAgaWYgdGhlIGRhZW1vbiBoYXMgYmVlbiBzdGFydGVkCisjICAgMSBpZiB0aGUgZGFlbW9uIHdhcyBhbHJlYWR5IHJ1bm5pbmcKKyMgICAyIGlmIHRoZSBkYWVtb24gY291bGQgbm90IGJlIHN0YXJ0ZWQKKyMgICAzIGlmIHRoZSBkYWVtb24gd2FzIG5vdCBzdXBwb3NlZCB0byBiZSBzdGFydGVkCitkX3N0YXJ0KCkgeworCWlmIHRlc3QgIiRESVNBQkxFIiAhPSAwOyB0aGVuCisJCSMgd2UgZ2V0IGhlcmUgZHVyaW5nIHJlc3RhcnQKKwkJZWNobyAiZGlzYWJsZWQgYnkgL2V0Yy9kZWZhdWx0LyROQU1FIgorCQlyZXR1cm4gMworCWZpCisKKwlpZiB0ZXN0ICEgLWUgIiRDT05GSUdGSUxFIjsgdGhlbgorCQkjIHdlIGdldCBoZXJlIGR1cmluZyByZXN0YXJ0CisJCWVjaG8gImRpc2FibGVkLCBubyBjb25maWd1cmF0aW9uICgkQ09ORklHRklMRSkgZm91bmQiCisJCXJldHVybiAzCisJZmkKKworCWNoZWNrX2NvbmZpZworCXJjPSIkPyIKKwlpZiB0ZXN0ICIkcmMiIC1uZSAwOyB0aGVuCisJCWVjaG8gIm5vdCBzdGFydGluZywgY29uZmlndXJhdGlvbiBlcnJvciIKKwkJcmV0dXJuIDIKKwlmaQorCisJaWYgdGVzdCAiJFVTRV9DT0xMRUNURE1PTiIgPT0gMTsgdGhlbgorCQlzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1va25vZG8gLS1waWRmaWxlICIkX1BJREZJTEUiIFwKKwkJCS0tZXhlYyAkQ09MTEVDVERNT05fREFFTU9OIC0tIC1QICIkX1BJREZJTEUiIC0tIC1DICIkQ09ORklHRklMRSIgXAorCQkJfHwgcmV0dXJuIDIKKwllbHNlCisJCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLW9rbm9kbyAtLXBpZGZpbGUgIiRfUElERklMRSIgXAorCQkJLS1leGVjICREQUVNT04gLS0gLUMgIiRDT05GSUdGSUxFIiAtUCAiJF9QSURGSUxFIiBcCisJCQl8fCByZXR1cm4gMgorCWZpCisJcmV0dXJuIDAKK30KKworc3RpbGxfcnVubmluZ193YXJuaW5nPSIKK1dBUk5JTkc6ICROQU1FIG1pZ2h0IHN0aWxsIGJlIHJ1bm5pbmcuCitJbiBsYXJnZSBzZXR1cHMgaXQgbWlnaHQgdGFrZSBzb21lIHRpbWUgdG8gd3JpdGUgYWxsIHBlbmRpbmcgZGF0YSB0bwordGhlIGRpc2suIFlvdSBjYW4gYWRqdXN0IHRoZSB3YWl0aW5nIHRpbWUgaW4gL2V0Yy9kZWZhdWx0L2NvbGxlY3RkLiIKKworIyByZXR1cm46CisjICAgMCBpZiB0aGUgZGFlbW9uIGhhcyBiZWVuIHN0b3BwZWQKKyMgICAxIGlmIHRoZSBkYWVtb24gd2FzIGFscmVhZHkgc3RvcHBlZAorIyAgIDIgaWYgZGFlbW9uIGNvdWxkIG5vdCBiZSBzdG9wcGVkCitkX3N0b3AoKSB7CisJUElEPSQoIGNhdCAiJF9QSURGSUxFIiAyPiAvZGV2L251bGwgKSB8fCB0cnVlCisKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLW9rbm9kbyAtLXBpZGZpbGUgIiRfUElERklMRSIKKwlyYz0iJD8iCisKKwlpZiB0ZXN0ICIkcmMiIC1lcSAyOyB0aGVuCisJCXJldHVybiAyCisJZmkKKworCXNsZWVwIDEKKwlpZiB0ZXN0IC1uICIkUElEIiAmJiBraWxsIC0wICRQSUQgMj4gL2Rldi9udWxsOyB0aGVuCisJCWk9MAorCQl3aGlsZSBraWxsIC0wICRQSUQgMj4gL2Rldi9udWxsOyBkbworCQkJaT0kKCggJGkgKyAyICkpCisJCQllY2hvIC1uICIgLiIKKworCQkJaWYgdGVzdCAkaSAtZ3QgJE1BWFdBSVQ7IHRoZW4KKwkJCQllY2hvICIkc3RpbGxfcnVubmluZ193YXJuaW5nIgorCQkJCXJldHVybiAyCisJCQlmaQorCisJCQlzbGVlcCAyCisJCWRvbmUKKwkJcmV0dXJuICIkcmMiCisJZmkKKwlyZXR1cm4gIiRyYyIKK30KKworIyByZXR1cm46CisjICAgMCBpZiB0aGUgZGFlbW9uIGlzIHJ1bm5pbmcKKyMgICAzIGlmIHRoZSBkYWVtb24gaXMgc3RvcHBlZAorZF9zdGF0dXMoKXsKKwlpZiB0ZXN0ICIkVVNFX0NPTExFQ1RETU9OIiA9PSAxOyB0aGVuCisJCXN0YXR1cyAkQ09MTEVDVERNT05fREFFTU9OCisJZWxzZQorCQlzdGF0dXMgJERBRU1PTgorCWZpCit9CisKK2Nhc2UgIiQxIiBpbgorCXN0YXJ0KQorCQllY2hvIC1uICJTdGFydGluZyAkTkFNRSIKKwkJZF9zdGFydAorCQljYXNlICIkPyIgaW4KKwkJCTB8MSkgZWNobyAiLiIgOzsKKwkJCSopIGV4aXQgMSA7OworCQllc2FjCisJCTs7CisJc3RvcCkKKwkJZWNobyAtbiAiU3RvcHBpbmcgJE5BTUUiCisJCWRfc3RvcAorCQljYXNlICIkPyIgaW4KKwkJCTB8MSkgZWNobyAiLiIgOzsKKwkJCSopIGV4aXQgMSA7OworCQllc2FjCisJCTs7CisJc3RhdHVzKQorCQlkX3N0YXR1cworCQk7OworCXJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorCQllY2hvIC1uICJSZXN0YXJ0aW5nICROQU1FIgorCQljaGVja19jb25maWcKKwkJcmM9IiQ/IgorCQlpZiB0ZXN0ICIkcmMiIC1lcSAxOyB0aGVuCisJCQllY2hvICJub3QgcmVzdGFydGluZywgY29uZmlndXJhdGlvbiBlcnJvciIKKwkJCWV4aXQgMQorCQlmaQorCQlkX3N0b3AKKwkJcmM9IiQ/IgorCQljYXNlICIkcmMiIGluCisJCQkwfDEpCisJCQkJc2xlZXAgMQorCQkJCWRfc3RhcnQKKwkJCQlyYzI9IiQ/IgorCQkJCWNhc2UgIiRyYzIiIGluCisJCQkJCTB8MSkgZWNobyAiLiIgOzsKKwkJCQkJKikgZXhpdCAxIDs7CisJCQkJZXNhYworCQkJCTs7CisJCQkqKQorCQkJCWV4aXQgMQorCQkJCTs7CisJCWVzYWMKKwkJOzsKKwkqKQorCQllY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8cmVzdGFydHxmb3JjZS1yZWxvYWR8c3RhdHVzfSIgPiYyCisJCWV4aXQgMworCQk7OworZXNhYworCisjIHZpbTogc3ludGF4PXNoIG5vZXhwYW5kdGFiIHN3PTQgdHM9NCA6CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkL2NvbGxlY3RkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC9jb2xsZWN0ZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4MzViNzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC9jb2xsZWN0ZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249Q29sbGVjdGQKK0FmdGVyPWxvY2FsLWZzLnRhcmdldCBuZXR3b3JrLnRhcmdldAorUmVxdWlyZXM9bG9jYWwtZnMudGFyZ2V0IG5ldHdvcmsudGFyZ2V0CisKK1tTZXJ2aWNlXQorRXhlY1N0YXJ0PUBTQklORElSQC9jb2xsZWN0ZCAtQyAvZXRjL2NvbGxlY3RkLmNvbmYgLWYKK1Jlc3RhcnQ9YWx3YXlzCitSZXN0YXJ0U2VjPTEwCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkL25vLWdjcnlwdC1iYWRwYXRoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvbm8tZ2NyeXB0LWJhZHBhdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGU4NzZhZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkL25vLWdjcnlwdC1iYWRwYXRoLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Rpc2FibGUgZGVmYXVsdGluZyBvZiBHQ1JZUFRfTERGTEFHUyB0byAtTC91c3IvbGliCisKK1ByZXZlbnRzICJ1bnNhZmUgZm9yIGNyb3NzIGNvbXBpbGF0aW9uIiB3YXJuaW5ncyB0aGF0IGNhdXNlCitkb19xYV9jb25maWd1cmUgdG8gZmFpbC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworSW5kZXg6IGNvbGxlY3RkLTUuNC4xL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNvbGxlY3RkLTUuNC4xLm9yaWcvY29uZmlndXJlLmFjCTIwMTQtMDktMDMgMDE6MjA6MjIuMDYyMDg0MjQ0IC0wNzAwCisrKysgY29sbGVjdGQtNS40LjEvY29uZmlndXJlLmFjCTIwMTQtMDktMDMgMDE6MjA6MjIuMDU4MDg0MjQ0IC0wNzAwCitAQCAtMTg2NywxMSArMTg2NywxMSBAQAorIAkJR0NSWVBUX0NQUEZMQUdTPWAiJHdpdGhfbGliZ2NyeXB0X2NvbmZpZyIgLS1jZmxhZ3MgMj4vZGV2L251bGxgCisgCWZpCisgCistCWlmIHRlc3QgIngkR0NSWVBUX0xERkxBR1MiID0gIngiCistCXRoZW4KKy0JCWdjcnlwdF9leGVjX3ByZWZpeD1gIiR3aXRoX2xpYmdjcnlwdF9jb25maWciIC0tZXhlYy1wcmVmaXggMj4vZGV2L251bGxgCistCQlHQ1JZUFRfTERGTEFHUz0iLUwkZ2NyeXB0X2V4ZWNfcHJlZml4L2xpYiIKKy0JZmkKKysjCWlmIHRlc3QgIngkR0NSWVBUX0xERkxBR1MiID0gIngiCisrIwl0aGVuCisrIwkJZ2NyeXB0X2V4ZWNfcHJlZml4PWAiJHdpdGhfbGliZ2NyeXB0X2NvbmZpZyIgLS1leGVjLXByZWZpeCAyPi9kZXYvbnVsbGAKKysjCQlHQ1JZUFRfTERGTEFHUz0iLUwkZ2NyeXB0X2V4ZWNfcHJlZml4L2xpYiIKKysjCWZpCisgCisgCWlmIHRlc3QgIngkR0NSWVBUX0xJQlMiID0gIngiCisgCXRoZW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkXzUuNS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGRfNS41LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmEzNDc2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkXzUuNS4wLmJiCkBAIC0wLDAgKzEsODQgQEAKK1NVTU1BUlkgPSAiQ29sbGVjdHMgYW5kIHN1bW1hcmlzZXMgc3lzdGVtIHBlcmZvcm1hbmNlIHN0YXRpc3RpY3MiCitERVNDUklQVElPTiA9ICJjb2xsZWN0ZCBpcyBhIGRhZW1vbiB3aGljaCBjb2xsZWN0cyBzeXN0ZW0gcGVyZm9ybWFuY2Ugc3RhdGlzdGljcyBwZXJpb2RpY2FsbHkgYW5kIHByb3ZpZGVzIG1lY2hhbmlzbXMgdG8gc3RvcmUgdGhlIHZhbHVlcyBpbiBhIHZhcmlldHkgb2Ygd2F5cywgZm9yIGV4YW1wbGUgaW4gUlJEIGZpbGVzLiIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xYmQyMWYxOWY3ZjBjNjFhN2JlOGVjYWNiMGUyODg1NCIKKworREVQRU5EUyA9ICJycmR0b29sIGN1cmwgbGlicGNhcCBsaWJ4bWwyIHlhamwgbGliZ2NyeXB0IGxpYnRvb2wgbHZtMiIKKworU1JDX1VSSSA9ICJodHRwOi8vY29sbGVjdGQub3JnL2ZpbGVzL2NvbGxlY3RkLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vbm8tZ2NyeXB0LWJhZHBhdGgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY29sbGVjdGQtdmVyc2lvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlZGVmaW5lLXRoZS1kZXBlbmRlbmNlLnBhdGNoICBcCisgICAgICAgICAgIGZpbGU6Ly9jb2xsZWN0ZC5pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2NvbGxlY3RkLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25kaXRpb25hbGx5LWNoZWNrLWxpYnZpcnQucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImMzOTMwNWVmNTUxNGI0NDIzOGIwZDMxZjc3ZTI5ZTZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg0NzY4NGNmNWMxMGRlMWRjMzQxNDUwNzhhZjNmY2Y2ZTBkMTY4YmE5OGMxNGYxMzQzYjEwNjJhNGI1NjllODgiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHB5dGhvbm5hdGl2ZSB1cGRhdGUtcmMuZCBwa2djb25maWcgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiY29sbGVjdGQuc2VydmljZSIKKworIyBGbG9hdGluZ3BvaW50IGxheW91dCwgYXJjaGl0ZWN0dXJlIGRlcGVuZGVudAorIyAnbm90aGluZycsICdlbmRpYW5mbGlwJyBvciAnaW50c3dhcCcKK0ZQTEFZT1VUID89ICItLXdpdGgtZnAtbGF5b3V0PW5vdGhpbmciCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW29wZW5qZGtdID0gIi0td2l0aC1qYXZhPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7bGliZGlyfS9qdm0sLS13aXRob3V0LWphdmEsb3Blbmpkay03IgorUEFDS0FHRUNPTkZJR1tzbm1wXSA9ICItLWVuYWJsZS1zbm1wLC0tZGlzYWJsZS1zbm1wIC0td2l0aC1saWJuZXRzbm1wPW5vLG5ldC1zbm1wIgorUEFDS0FHRUNPTkZJR1tsaWJtZW1jYWNoZWRdID0gIi0td2l0aC1saWJtZW1jYWNoZWQsLS13aXRob3V0LWxpYm1lbWNhY2hlZCxsaWJtZW1jYWNoZWQiCitQQUNLQUdFQ09ORklHW2lwdGFibGVzXSA9ICItLWVuYWJsZS1pcHRhYmxlcywtLWRpc2FibGUtaXB0YWJsZXMsaXB0YWJsZXMiCitQQUNLQUdFQ09ORklHW3Bvc3RncmVzcWxdID0gIi0tZW5hYmxlLXBvc3RncmVzcWwgLS13aXRoLWxpYnBxPXllcywgXAorICAgICAgICAtLWRpc2FibGUtcG9zdGdyZXNxbCAtLXdpdGgtbGlicHE9bm8scG9zdGdyZXNxbCIKK1BBQ0tBR0VDT05GSUdbbXlzcWxdID0gIi0tZW5hYmxlLW15c3FsIC0td2l0aC1saWJteXNxbD15ZXMsIFwKKyAgICAgICAgLS1kaXNhYmxlLW15c3FsIC0td2l0aC1saWJteXNxbD1ubyxteXNxbDUiCitQQUNLQUdFQ09ORklHW2RiaV0gPSAiLS1lbmFibGUtZGJpLC0tZGlzYWJsZS1kYmksbGliZGJpIgorUEFDS0FHRUNPTkZJR1ttb2RidXNdID0gIi0tZW5hYmxlLW1vZGJ1cywtLWRpc2FibGUtbW9kYnVzLGxpYm1vZGJ1cyIKK1BBQ0tBR0VDT05GSUdbbGlib3djYXBpXSA9ICItLXdpdGgtbGlib3djYXBpLC0td2l0aG91dC1saWJvd2NhcGksb3dmcyIKK1BBQ0tBR0VDT05GSUdbc2Vuc29yc10gPSAiLS1lbmFibGUtc2Vuc29ycyAtLXdpdGgtbGlic2Vuc29ycz15ZXMsIFwKKyAgICAgICAgLS1kaXNhYmxlLXNlbnNvcnMgLS13aXRoLWxpYnNlbnNvcnM9bm8sbG1zZW5zb3JzIgorUEFDS0FHRUNPTkZJR1thbXFwXSA9ICItLWVuYWJsZS1hbXFwIC0td2l0aC1saWJyYWJiaXRtcT15ZXMsIFwKKyAgICAgICAgLS1kaXNhYmxlLWFtcXAgLS13aXRoLWxpYnJhYmJpdG1xPW5vLHJhYmJpdG1xLWMiCisjIHByb3RvYnVmLWMsIGxpYnZpcnQgdGhhdCBhcmUgY3VycmVudGx5IG9ubHkgYXZhaWxhYmxlIGluIG1ldGEtdmlydHVhbGl6YXRpb24gbGF5ZXIKK1BBQ0tBR0VDT05GSUdbcGluYmFdID0gIi0tZW5hYmxlLXBpbmJhLC0tZGlzYWJsZS1waW5iYSxwcm90b2J1Zi1jLW5hdGl2ZSBwcm90b2J1Zi1jIgorUEFDS0FHRUNPTkZJR1tsaWJ2aXJ0XSA9ICItLWVuYWJsZS1saWJ2aXJ0LC0tZGlzYWJsZS1saWJ2aXJ0LGxpYnZpcnQiCitQQUNLQUdFQ09ORklHW2xpYmVzbXRwXSA9ICItLXdpdGgtbGliZXNtdHAsLS13aXRob3V0LWxpYmVzbXRwLGxpYmVzbXRwIgorUEFDS0FHRUNPTkZJR1tsaWJtbmxdID0gIi0td2l0aC1saWJtbmwsLS13aXRob3V0LWxpYm1ubCxsaWJtbmwiCitQQUNLQUdFQ09ORklHW2xpYmF0YXNtYXJ0XSA9ICItLXdpdGgtbGliYXRhc21hcnQsLS13aXRob3V0LWxpYmF0YXNtYXJ0LGxpYmF0YXNtYXJ0IgorUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLWVuYWJsZS1vcGVubGRhcCAtLXdpdGgtbGlibGRhcCwtLWRpc2FibGUtb3BlbmxkYXAgLS13aXRob3V0LWxpYmxkYXAsIG9wZW5sZGFwIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAgICAgICAgICAgICAke0ZQTEFZT1VUfSBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXBlcmwgLS13aXRoLWxpYnBlcmw9bm8gLS13aXRoLXBlcmwtYmluZGluZ3M9bm8gXAorICAgICAgICAgICAgICAgIC0td2l0aC1saWJnY3J5cHQ9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vbGliZ2NyeXB0LWNvbmZpZyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW5vdGlmeV9kZXNrdG9wIFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9jb2xsZWN0ZC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb2xsZWN0ZAorICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb2xsZWN0ZAorICAgIHNlZCAtaSAncyEvZXRjLyEke3N5c2NvbmZkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29sbGVjdGQKKyAgICBzZWQgLWkgJ3MhL3Zhci8hJHtsb2NhbHN0YXRlZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCisgICAgc2VkIC1pICdzIV5QQVRIPS4qIVBBVEg9JHtiYXNlX3NiaW5kaXJ9OiR7YmFzZV9iaW5kaXJ9OiR7c2JpbmRpcn06JHtiaW5kaXJ9IScgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCisKKyAgICAjIEZpeCBjb25maWd1cmF0aW9uIGZpbGUgdG8gYWxsb3cgY29sbGVjdGQgdG8gc3RhcnQgdXAKKyAgICBzZWQgLWkgJ3MhXiNGUUROTG9va3VwWyBcdF0qdHJ1ZSFGUUROTG9va3VwICAgZmFsc2UhZycgJHtEfSR7c3lzY29uZmRpcn0vY29sbGVjdGQuY29uZgorCisgICAgcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKKyAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0iCisKKyAgICAjIEluc3RhbGwgc3lzdGVtZCB1bml0IGZpbGVzCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2NvbGxlY3RkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9jb2xsZWN0ZC5zZXJ2aWNlCit9CisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJjb2xsZWN0ZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCisjIHRocmVzaG9sZC5zbyBsb2FkLnNvIGFyZSBhbHNvIHByb3ZpZGVkIGJ5IGdlZ2wKKyMgZGlzay5zbyBpcyBhbHNvIHByb3ZpZGVkIGJ5IGxpYmdwaG90bzItY2FtbGlicworUFJJVkFURV9MSUJTID0gInRocmVzaG9sZC5zbyBsb2FkLnNvIGRpc2suc28iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb3Jvc3luYy9jb3Jvc3luY18yLjMuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2Nvcm9zeW5jL2Nvcm9zeW5jXzIuMy41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwODI3N2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb3Jvc3luYy9jb3Jvc3luY18yLjMuNS5iYgpAQCAtMCwwICsxLDU2IEBACitTVU1NQVJZID0gIlRoZSBDb3Jvc3luYyBDbHVzdGVyIEVuZ2luZSBhbmQgQXBwbGljYXRpb24gUHJvZ3JhbW1pbmcgSW50ZXJmYWNlcyIKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgQ29yb3N5bmMgQ2x1c3RlciBFbmdpbmUgRXhlY3V0aXZlLCBzZXZlcmFsIGRlZmF1bHQgXAorQVBJcyBhbmQgbGlicmFyaWVzLCBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZmlsZXMsIGFuZCBhbiBpbml0IHNjcmlwdC4iCitIT01FUEFHRSA9ICJodHRwOi8vY29yb3N5bmMuZ2l0aHViLmlvL2Nvcm9zeW5jLyIKKworU0VDVElPTiA9ICJiYXNlIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZAorCitTUkNfVVJJID0gImh0dHA6Ly9idWlsZC5jbHVzdGVybGFicy5vcmcvY29yb3N5bmMvcmVsZWFzZXMvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjg4OTRmMDBkNDk5ZTA3NTU0NjdiMzgxZTYzNDZmOWZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFkNDhjZGZhMjI0YjBjZWIwMmUyN2ZlOWQ1NmI3MzhmYjJhOTIyNjJiMDRiMTViYjNhNjdlMWM0MjQ4ZGE4ZTIiCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YTg1ZWI0Y2UyNDAzM2FkYjYwODhkZDFkNmZmYzVlNWQiCisKK0RFUEVORFMgPSAiZ3JvZmYtbmF0aXZlIG5zcyBsaWJxYiIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImNvcm9zeW5jLnNlcnZpY2UgY29yb3N5bmMtbm90aWZ5ZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJlbmFibGUiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJjb3Jvc3luYy1kYWVtb24iCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnc3lzdGVtZCcsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS1lbmFibGUtc3lzdGVtZCAtLXdpdGgtc3lzdGVtZGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywtLXdpdGgtc3lzdGVtZGRpcj0iCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtdXBzdGFydGRpcj0le19zeXNjb25mZGlyfS9pbml0IgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAoIGNkICR7U30KKyAgICAke1N9L2F1dG9nZW4uc2ggKQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy8KKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9pbml0L2Nvcm9zeW5jLnN5c2NvbmZpZy5leGFtcGxlICR7RH0ke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy9jb3Jvc3luYworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2luaXQvY29yb3N5bmMtbm90aWZ5ZC5jb25mLmluICR7RH0ke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy9jb3Jvc3luYy1ub3RpZnlkLmNvbmYKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9pbml0L2Nvcm9zeW5jLmNvbmYuaW4gJHtEfSR7c3lzY29uZmRpcn0vc3lzY29uZmlnL2Nvcm9zeW5jLmNvbmYKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9pbml0L2Nvcm9zeW5jLmluICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb3Jvc3luYworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2luaXQvY29yb3N5bmMtbm90aWZ5ZC5pbiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29yb3N5bmMtbm90aWZ5ZAorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2luaXQvY29yb3N5bmMuc2VydmljZS5pbiAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9jb3Jvc3luYy5zZXJ2aWNlCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2luaXQvY29yb3N5bmMtbm90aWZ5ZC5zZXJ2aWNlLmluICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2Nvcm9zeW5jLW5vdGlmeWQuc2VydmljZQorICAgICAgICBzZWQgLWkgLWUgJ3MsQElOSVRXUkFQUEVSU0RJUkAsJHtzeXNjb25mZGlyfS9pbml0LmQsZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vY29yb3N5bmMuc2VydmljZQorICAgICAgICBzZWQgLWkgLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vY29yb3N5bmMtbm90aWZ5ZC5zZXJ2aWNlCisgICAgICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtiYXNlX3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2Nvcm9zeW5jLW5vdGlmeWQuc2VydmljZQorICAgIGZpCQorfQorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmV4ZWNkaXJ9L2xjcnNvLy5kZWJ1ZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2Rhc2gvZGFzaF8wLjUuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2Rhc2gvZGFzaF8wLjUuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTYxZDdiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZGFzaC9kYXNoXzAuNS44LmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiU21hbGwgYW5kIGZhc3QgUE9TSVgtY29tcGxpYW50IHNoZWxsIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvbmRvci5hcGFuYS5vcmcuYXUvfmhlcmJlcnQvZGFzaC8iCitTRUNUSU9OID0gIlN5c3RlbSBFbnZpcm9ubWVudC9TaGVsbHMiCisKK0xJQ0VOU0UgPSAiQlNEICYgR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjUyNjJiNGExYTFiZmY3MmI0OGU5MzU1MzE5NzZkMmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworU1JDX1VSSSA9ICJodHRwOi8vZ29uZG9yLmFwYW5hLm9yZy5hdS9+aGVyYmVydC8ke0JQTn0vZmlsZXMvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjVjMTUyMjA5NjgwZGFiM2MzMTllODkyM2Y2YzUxMzc4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM2ZGIzYTIzNzc0N2IwMmQyMDM4MmE3NjEzOTc1NjNkODEzYjMwNmMwMjBhZTI4Y2UyNWExYzM5MTVmYWM2MGYiCisKK0VYVFJBX09FQ09ORiArPSAiLS1iaW5kaXI9JHtiYXNlX2JpbmRpcn0iCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gInNoIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3NoXSA9ICIke2Jhc2VfYmluZGlyfS9zaCIKK0FMVEVSTkFUSVZFX1RBUkdFVFtzaF0gPSAiJHtiYXNlX2JpbmRpcn0vZGFzaCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwIgorCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworICAgIGdyZXAgLXEgIl4ke2Jhc2VfYmluZGlyfS9kYXNoJCIgJEQke3N5c2NvbmZkaXJ9L3NoZWxscyB8fCBlY2hvICR7YmFzZV9iaW5kaXJ9L2Rhc2ggPj4gJEQke3N5c2NvbmZkaXJ9L3NoZWxscworfQorCitwa2dfcG9zdHJtXyR7UE59ICgpIHsKKyAgICBwcmludGYgIiQoZ3JlcCAtdiAiXiR7YmFzZV9iaW5kaXJ9L2Rhc2gkIiAkRCR7c3lzY29uZmRpcn0vc2hlbGxzKVxuIiA+ICREJHtzeXNjb25mZGlyfS9zaGVsbHMKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2RkcmVzY3VlL2RkcmVzY3VlXzEuMTkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9kZHJlc2N1ZS9kZHJlc2N1ZV8xLjE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3ZTAwYTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9kZHJlc2N1ZS9kZHJlc2N1ZV8xLjE5LmJiCkBAIC0wLDAgKzEsNDUgQEAKK1NVTU1BUlkgPSAiRGF0YSByZWNvdmVyeSB0b29sIgorREVTQ1JJUFRJT04gPSAiR05VIGRkcmVzY3VlIGlzIGEgZGF0YSByZWNvdmVyeSB0b29sLiBJdCBjb3BpZXMgZGF0YSBcCisgICAgZnJvbSBvbmUgZmlsZSBvciBibG9jayBkZXZpY2UgKGhhcmQgZGlzYywgY2Ryb20sIGV0YykgdG8gYW5vdGhlciwgXAorICAgIHRyeWluZyBoYXJkIHRvIHJlc2N1ZSBkYXRhIGluIGNhc2Ugb2YgcmVhZCBlcnJvcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2RkcmVzY3VlL2RkcmVzY3VlLmh0bWwiCitTRUNUSU9OID0gImNvbnNvbGUiCitMSUNFTlNFID0gIkdQTHYyKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzZkNmUzMDBmZmQ4ZmI5ZDE4YmQ5YjEzNmE5YmJhMTMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbWFpbl9jb21tb24uY2M7YmVnaW5saW5lPTU7ZW5kbGluZT0xNjttZDU9M2VjMjg4YjI2NzY1MjhjZDJiMDY5MzY0ZTMxMzAxNmYiCisKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmx6IgorU1JDX1VSSVttZDVzdW1dID0gImVkNmI1YjgyZDc0Y2JkOTI1ZGIyYjgyOTM1MGU3NGIxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVkOGQwYzlkOWFhYzgwYTkxMTBlOWNiMGQwYTkxYTczOTBkM2JmOWY4MTZiNjdhNjJjYTRlYjE0MGY0NzQ3YjgiCisKKyMgVGhpcyBpc24ndCBhbHJlYWR5IGFkZGVkIGJ5IGJhc2UuYmJjbGFzcworZG9fdW5wYWNrW2RlcGVuZHNdICs9ICJsemlwLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IgorCitDT05GSUdVUkVPUFRTID0gIlwKKyAgICAnLS1zcmNkaXI9JHtTfScgXAorICAgICctLXByZWZpeD0ke3ByZWZpeH0nIFwKKyAgICAnLS1leGVjLXByZWZpeD0ke2V4ZWNfcHJlZml4fScgXAorICAgICctLWJpbmRpcj0ke2JpbmRpcn0nIFwKKyAgICAnLS1kYXRhZGlyPSR7ZGF0YWRpcn0nIFwKKyAgICAnLS1pbmZvZGlyPSR7aW5mb2Rpcn0nIFwKKyAgICAnLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0nIFwKKyAgICAnQ1hYPSR7Q1hYfScgXAorICAgICdDUFBGTEFHUz0ke0NQUEZMQUdTfScgXAorICAgICdDWFhGTEFHUz0ke0NYWEZMQUdTfScgXAorICAgICdMREZMQUdTPSR7TERGTEFHU30nIFwKKyIKK0VYVFJBX09FTUFLRSA9ICIiCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgJHtTfS9jb25maWd1cmUgJHtDT05GSUdVUkVPUFRTfQorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKyAgICAjIEluZm8gZGlyIGxpc3RpbmcgaXNuJ3QgaW50ZXJlc3RpbmcgYXQgdGhpcyBwb2ludCBzbyByZW1vdmUgaXQgaWYgaXQgZXhpc3RzLgorICAgIGlmIFsgLWUgIiR7RH0ke2luZm9kaXJ9L2RpciIgXTsgdGhlbgorICAgICAgICBybSAtZiAke0R9JHtpbmZvZGlyfS9kaXIKKyAgICBmaQorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9kaWFsb2cvZGlhbG9nXzEuMi0yMDE1MDkyMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2RpYWxvZy9kaWFsb2dfMS4yLTIwMTUwOTIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmZWY5ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9kaWFsb2cvZGlhbG9nXzEuMi0yMDE1MDkyMC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gImRpc3BsYXkgZGlhbG9nIGJveGVzIGZyb20gc2hlbGwgc2NyaXB0cyIKK0RFU0NSSVBUSU9OID0gIkRpYWxvZyBsZXRzIHlvdSB0byBwcmVzZW50IGEgdmFyaWV0eSBvZiBxdWVzdGlvbnMgXAorb3IgZGlzcGxheSBtZXNzYWdlcyB1c2luZyBkaWFsb2cgYm94ZXMgZnJvbSBhIHNoZWxsIFwKK3NjcmlwdCAob3IgYW55IHNjcmlwdGluZyBsYW5ndWFnZSkuIgorSE9NRVBBR0UgPSAiaHR0cDovL2ludmlzaWJsZS1pc2xhbmQubmV0L2RpYWxvZy8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitERVBFTkRTID0gIm5jdXJzZXMiCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTZmODllMjEwMGQ5YjZjZGZmY2VhNGYzOThlMzczNDMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYjdjMDAyYjBhODhjZTFlMDAxNGFmMzRiNmIxZWJkYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNGU2MWVjNTc2ODcwMTY4M2RkNGI1YjJlYmQ4YTMxZTYyODlmYTZhMWY1ODAxZTRiNDgxMDg1NjUwNjk4YzA1IgorCitTUkNfVVJJID0gImZ0cDovL2ludmlzaWJsZS1pc2xhbmQubmV0L2RpYWxvZy9kaWFsb2ctJHtQVn0udGd6IFwKKyAgICAgICAgICAiCisKKyMgaGFyZGNvZGVkIGhlcmUgZm9yIHVzZSBpbiBkaWFsb2ctc3RhdGljIHJlY2lwZQorUyA9ICIke1dPUktESVJ9L2RpYWxvZy0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLW5jdXJzZXMgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ycGF0aC1oYWNrIgorCitkb19jb25maWd1cmUoKSB7CisgICAgZ251LWNvbmZpZ2l6ZSAtLWZvcmNlCisgICAgc2VkIC1pICdzLCR7Y2ZfbmN1Y29uZmlnX3Jvb3R9Ni1jb25maWcsJHtjZl9uY3Vjb25maWdfcm9vdH0tY29uZmlnLGcnIC1pIGNvbmZpZ3VyZQorICAgIHNlZCAtaSAncyxjZl9oYXZlX25jdWNvbmZpZz11bmtub3duLGNmX2hhdmVfbmN1Y29uZmlnPXllcyxnJyAtaSBjb25maWd1cmUKKyAgICBvZV9ydW5jb25mCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9kbG0vZGxtXzQuMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZGxtL2RsbV80LjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjM3MzA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZGxtL2RsbV80LjAuMi5iYgpAQCAtMCwwICsxLDQ5IEBACitERVNDUklQVElPTiA9ICJkbG0gY29udHJvbCBkYWVtb24gYW5kIHRvb2wiCisKK1NFQ1RJT04gPSAidXRpbHMiCitIT01FUEFHRSA9ICJodHRwczovL2ZlZG9yYWhvc3RlZC5vcmcvY2x1c3Rlci93aWtpL0hvbWVQYWdlIgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAic3lzdGVtZCIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdC5mZWRvcmFob3N0ZWQub3JnL2NnaXQvZGxtLmdpdC9zbmFwc2hvdC8ke0JQfS50YXIueHoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZmMyZWU2MDkzYWE2YWEwYTg4YWFhZDgzZTk5OGEzZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiODliYzU1N2FhZmZiYWIwYWMwMDUzOTgwMjVmMjQ3NzE4YTU1ODljZmY2NTc0ZDkwMmVhZmZlMmIyMGU2ODNlIgorCitMSUNFTlNFID0gIkxHUEx2MisgJiBHUEx2MiAmIEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRS5saWNlbnNlO21kNT04ZjBiYmNkZDY3OGRmMWJjZTk4NjM0OTJiNmM4ODMyZCIKKworREVQRU5EUyA9ICJjb3Jvc3luYyBzeXN0ZW1kIgorCitpbmhlcml0IHBrZ2NvbmZpZyBzeXN0ZW1kIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiZGxtLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImVuYWJsZSIKKworZXhwb3J0IEVYVFJBX09FTUFLRSA9ICIiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgInMvbGlic3lzdGVtZC1kYWVtb24vbGlic3lzdGVtZC9nIiAke1N9L2RsbV9jb250cm9sZC9NYWtlZmlsZQorfQorCitkb19jb21waWxlICgpIHsKKyAgICBvZV9ydW5tYWtlICdDQz0ke0NDfScKK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCl7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcvCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vaW5pdC9kbG0uc3lzY29uZmlnICR7RH0ke3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy9kbG0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9pbml0L2RsbS5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9kbG0KKworICAgICMgaW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZXMKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vaW5pdC9kbG0uc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGZpCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfSBMSUJESVI9JHtsaWJkaXJ9Cit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2VmaWJvb3RtZ3IvZWZpYm9vdG1ncl8wLjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZWZpYm9vdG1nci9lZmlib290bWdyXzAuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWI2MTFjZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2VmaWJvb3RtZ3IvZWZpYm9vdG1ncl8wLjEyLmJiCkBAIC0wLDAgKzEsMjkgQEAKK0RFU0NSSVBUSU9OID0gIkxpbnV4IHVzZXItc3BhY2UgYXBwbGljYXRpb24gdG8gbW9kaWZ5IHRoZSBFRkkgQm9vdCBNYW5hZ2VyLiIKK1NVTU1BUlkgPSAiRUZJIEJvb3QgTWFuYWdlciIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZmlib290bWdyIgorU0VDVElPTiA9ICJiYXNlIgorCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitERVBFTkRTID0gInBjaXV0aWxzIHpsaWIgZWZpdmFyIgorCitDT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fGFybXxhYXJjaDY0KS4qLWxpbnV4IgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZmlib290bWdyL3JlbGVhc2VzL2Rvd25sb2FkLyR7QlB9LyR7QlB9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vbGRmbGFncy5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjY0N2Y1Y2Q4MDdiYzg0ODQxMzViYTc0ZmNiY2MzOWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTY2ZjU4NTA2NzdlODYyNTVkOTNjYjFjZWFkMDRjM2M0OGE4MjNhMmI4NjRjNTc5MzIxZjJhMDdmMDAyNTZlNiIKKworRVhUUkFfT0VNQUtFID0gIidDQz0ke0NDfScgJ0NGTEFHUz0ke0NGTEFHU30gLUkke1N9L3NyYy9pbmNsdWRlIGBwa2ctY29uZmlnIC0tY2ZsYWdzIGVmaXZhcmAgXAorICAgICAgICAgICAgICAgICAtREVGSUJPT1RNR1JfVkVSU0lPTj1cIiQoUkVMRUFTRV9NQUpPUikuJChSRUxFQVNFX01JTk9SKVwiICciCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLUQgLXAgLW0wNzU1IHNyYy9lZmlib290bWdyL2VmaWJvb3RtZ3IgJHtEfS8ke3NiaW5kaXJ9L2VmaWJvb3RtZ3IKK30KKworaW5oZXJpdCBwa2djb25maWcKKworUE5CTEFDS0xJU1RbZWZpYm9vdG1ncl0gPz0gIkRlcGVuZHMgb24gYmxhY2tsaXN0ZWQgZWZpdmFyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZWZpYm9vdG1nci9maWxlcy9sZGZsYWdzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZWZpYm9vdG1nci9maWxlcy9sZGZsYWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkNTU5NGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9lZmlib290bWdyL2ZpbGVzL2xkZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0ltcG9ydCB0aGlzIHBhdGNoIGZyb20gbWV0YS1saW5hcm8uCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorCistLS0gZWZpYm9vdG1nci0wLjUuNC5vcmlnL01ha2VmaWxlCisrKysgZWZpYm9vdG1nci0wLjUuNC9NYWtlZmlsZQorQEAgLTExLDYgKzExLDggQEAKKyAgIENGTEFHUyA9ICQoRVhUUkFfQ0ZMQUdTKSAtREVGSUJPT1RNR1JfVkVSU0lPTj1cIiQoUkVMRUFTRV9NQUpPUikuJChSRUxFQVNFX01JTk9SKS4kKFJFTEVBU0VfU1VCTEVWRUwpJChSRUxFQVNFX0VYVFJBTEVWRUwpXCIgXAorIAkgICAgLVdhbGwgLWcgLURfRklMRV9PRkZTRVRfQklUUz02NAorIAorKyAgTERGTEFHUyArPSAtbHoKKysKKyAgIE1PRFVMRVMgOj0gc3JjCisgCisgICBCSU5ESVIgOj0gL3Vzci9zYmluCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9lZml2YXIvZWZpdmFyLzAwMDEtZWZpdmFyLWZpeC1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2VmaXZhci9lZml2YXIvMDAwMS1lZml2YXItZml4LWZvci1jcm9zcy1jb21waWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiZDdkOTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9lZml2YXIvZWZpdmFyLzAwMDEtZWZpdmFyLWZpeC1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDcwMzZlOGIwZGNhNjE0MzI5NzA3ODllNTM5N2I2ZmIwMmIzNjJjMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgMjUgU2VwIDIwMTUgMTg6MTQ6MzEgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZWZpdmFyOiBmaXggZm9yIGNyb3NzIGNvbXBpbGUKKworSXQgYnVpbGRzIGFuZCBjYWxscyBlbGYgZmlsZSBtYWtlZ3VpZHMgdG8gZ2VuZXJhdGUgYSBoZWFkZXIgZmlsZSB3aGljaAorZG9lc24ndCB3b3JrIGZvciBjcm9zcyBjb21waWxlLiBGaXggaXQuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL01ha2VmaWxlIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZSBiL3NyYy9NYWtlZmlsZQoraW5kZXggNmVhYzg1OC4uZWY0ZWIxZCAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZQorKysrIGIvc3JjL01ha2VmaWxlCitAQCAtNjUsOCArNjUsOCBAQCBtYWtlZ3VpZHMubyA6IG1ha2VndWlkcy5jCisgbWFrZWd1aWRzIDogbWFrZWd1aWRzLm8gZmFrZWd1aWQubworIAkkKENDKSAkKGNmbGFncykgLW8gJEAgJF4gLWxkbAorIAorLWluY2x1ZGUvZWZpdmFyL2VmaXZhci1ndWlkcy5oIDogbWFrZWd1aWRzIGd1aWRzLnR4dAorLQkuL21ha2VndWlkcyBndWlkcy50eHQgZ3VpZHMuYmluIG5hbWVzLmJpbiBndWlkLXN5bWJvbHMuUyAkQAorK2luY2x1ZGUvZWZpdmFyL2VmaXZhci1ndWlkcy5oIDogZ3VpZHMudHh0CisrCW1ha2VndWlkcyBndWlkcy50eHQgZ3VpZHMuYmluIG5hbWVzLmJpbiBndWlkLXN5bWJvbHMuUyAkQAorIAorIGd1aWRsaXN0Lm8gOiBndWlkcy5TIGluY2x1ZGUvZWZpdmFyL2VmaXZhci1ndWlkcy5oCisgCSQoQ0MpICQoY2ZsYWdzKSAtYyAtbyBndWlkbGlzdC5vIGd1aWRzLlMKKy0tIAorMi42LjAucmMyLjEwLmdmNGQ5NzUzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2VmaXZhci9lZml2YXIvZWZpdmFyLWRyb3Atb3B0aW9ucy1ub3Qtc3VwcG9ydGVkLWJ5LWxvd2VyLXZlcnNpb24tZ2NjLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZWZpdmFyL2VmaXZhci9lZml2YXItZHJvcC1vcHRpb25zLW5vdC1zdXBwb3J0ZWQtYnktbG93ZXItdmVyc2lvbi1nY2MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2YwNGIxOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2VmaXZhci9lZml2YXIvZWZpdmFyLWRyb3Atb3B0aW9ucy1ub3Qtc3VwcG9ydGVkLWJ5LWxvd2VyLXZlcnNpb24tZ2NjLnBhdGNoCkBAIC0wLDAgKzEsNzEgQEAKK2djYyBvcHRpb25zICctV21heWJlLXVuaW5pdGlhbGl6ZWQnIGFuZCAnLXN0ZD1nbnUxMScgYXJlIG5vdCByZWNvZ25pemVkIGJ5IGdjYword2hvc2UgdmVyc2lvbiBpcyBsb3dlciB0aGFuIDQuNiwgc3VjaCBhcyBvbiBVYnVudHUgMTIuMDQuIERyb3AgdGhlbSBmb3IgYmFja3dhcmQKK2NvbXBhdGlibGUuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorZGlmZiAtLWdpdCBhL01ha2UuZGVmYXVsdHMgYi9NYWtlLmRlZmF1bHRzCitpbmRleCBjYzJiYWE5Li4xMThhZTU2IDEwMDY0NAorLS0tIGEvTWFrZS5kZWZhdWx0cworKysrIGIvTWFrZS5kZWZhdWx0cworQEAgLTEwLDEwICsxMCw5IEBAIENGTEFHUwk/PSAtTzIgLWcKKyAKKyBBUkNIID0gJChzaGVsbCB1bmFtZSAtbSkKKyBjbGFuZ19jZmxhZ3MgPQorLWdjY19jZmxhZ3MgPSAtV21heWJlLXVuaW5pdGlhbGl6ZWQKKyBjZmxhZ3MJOj0gJChDRkxBR1MpIFwKKyAJLVdlcnJvciAtV2FsbCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1hbGlhc2luZyBcCistCS1zdGQ9Z251MTEgLWZzaG9ydC13Y2hhciAtZlBJQyBcCisrCS1mc2hvcnQtd2NoYXIgLWZQSUMgXAorIAktZnZpc2liaWxpdHk9aGlkZGVuIFwKKyAJLURfR05VX1NPVVJDRSAtSSR7VE9QRElSfS9zcmMvaW5jbHVkZS9lZml2YXIvIFwKKyAJJChpZiAkKGZpbHRlciAkKENDKSxjbGFuZyksJChjbGFuZ19jZmxhZ3MpLCkgXAorZGlmZiAtLWdpdCBhL3NyYy9ndWlkLmggYi9zcmMvZ3VpZC5oCitpbmRleCA5NTQyZWUxLi4wODE3OTkxIDEwMDY0NAorLS0tIGEvc3JjL2d1aWQuaAorKysrIGIvc3JjL2d1aWQuaAorQEAgLTMxLDcgKzMxLDggQEAgc3RhdGljIGlubGluZSBpbnQKKyByZWFsX2lzc3BhY2UoY2hhciBjKQorIHsKKyAJY2hhciBzcGFjZXNbXSA9ICIgXGZcblxyXHRcdiI7CistCWZvciAoaW50IGkgPSAwOyBzcGFjZXNbaV0gIT0gJ1wwJzsgaSsrKQorKwlpbnQgaTsKKysJZm9yIChpID0gMDsgc3BhY2VzW2ldICE9ICdcMCc7IGkrKykKKyAJCWlmIChjID09IHNwYWNlc1tpXSkKKyAJCQlyZXR1cm4gMTsKKyAJcmV0dXJuIDA7CitAQCAtNTksNyArNjAsOCBAQCBjaGVja19zYW5pdHkoY29uc3QgY2hhciAqdGV4dCwgc2l6ZV90IGxlbikKKyBzdGF0aWMgaW5saW5lIGludAorIGNoZWNrX3NlZ21lbnRfc2FuaXR5KGNvbnN0IGNoYXIgKnRleHQsIHNpemVfdCBsZW4pCisgeworLQlmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKysJdW5zaWduZWQgaW50IGk7CisrCWZvcihpID0gMDsgaSA8IGxlbjsgaSsrKSB7CisgCQlpZiAodGV4dFtpXSA+PSAnMCcgJiYgdGV4dFtpXSA8PSAnOScpCisgCQkJY29udGludWU7CisgCQkvKiAifCAweDIwIiBpcyB0b2xvd2VyKCkgd2l0aG91dCBoYXZpbmcgdG8gd29ycnkgYWJvdXQKK2RpZmYgLS1naXQgYS9zcmMvbWFrZWd1aWRzLmMgYi9zcmMvbWFrZWd1aWRzLmMKK2luZGV4IGU5YWNmMTUuLjdlMTZjYjIgMTAwNjQ0CistLS0gYS9zcmMvbWFrZWd1aWRzLmMKKysrKyBiL3NyYy9tYWtlZ3VpZHMuYworQEAgLTE1MCw3ICsxNTAsOCBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCisgCWZwcmludGYoaGVhZGVyLCAiI2lmbmRlZiBFRklWQVJfR1VJRFNfSFxuI2RlZmluZSBFRklWQVJfR1VJRFNfSCAxXG5cbiIpOworIAorLQlmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGxpbmUtMTsgaSsrKSB7CisrCXVuc2lnbmVkIGludCBpLCBqOworKwlmb3IgKGkgPSAwOyBpIDwgbGluZS0xOyBpKyspIHsKKyAJCWlmICghc3RyY21wKG91dGJ1ZltpXS5zeW1ib2wsICJlZmlfZ3VpZF96ZXJvIikpCisgCQkJZnByaW50ZihzeW1vdXQsICJcdC5nbG9ibCAlc1xuIgorIAkJCQkJIlx0LmRhdGFcbiIKK0BAIC0xNzYsNyArMTc3LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJCWZwcmludGYoc3ltb3V0LCAiZWZpX2d1aWRfZW1wdHk6XG4iKTsKKyAKKyAJCXVpbnQ4X3QgKmd1aWRfZGF0YSA9ICh1aW50OF90ICopICZvdXRidWZbaV0uZ3VpZDsKKy0JCWZvciAodW5zaWduZWQgaW50IGogPSAwOyBqIDwgc2l6ZW9mIChlZmlfZ3VpZF90KTsgaisrKQorKwkJZm9yIChqID0gMDsgaiA8IHNpemVvZiAoZWZpX2d1aWRfdCk7IGorKykKKyAJCQlmcHJpbnRmKHN5bW91dCwiXHQuYnl0ZSAweCUwMnhcbiIsIGd1aWRfZGF0YVtqXSk7CisgCisgCQlmcHJpbnRmKHN5bW91dCwgIiVzX2VuZDpcbiIsIG91dGJ1ZltpXS5zeW1ib2wpOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZWZpdmFyL2VmaXZhcl8wLjIxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZWZpdmFyL2VmaXZhcl8wLjIxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3YTRkNTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9lZml2YXIvZWZpdmFyXzAuMjEuYmIKQEAgLTAsMCArMSwzOSBAQAorU1VNTUFSWSA9ICJUb29scyB0byBtYW5pcHVsYXRlIFVFRkkgdmFyaWFibGVzIgorREVTQ1JJUFRJT04gPSAiZWZpdmFyIHByb3ZpZGVzIGEgc2ltcGxlIGNvbW1hbmQgbGluZSBpbnRlcmZhY2UgdG8gdGhlIFVFRkkgdmFyaWFibGUgZmFjaWxpdHkiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvZWZpdmFyIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NjYyNmJiMWUyMDE4OWNmYTk1ZjJjNTA4YmEyODYzOTMiCisKK0RFUEVORFNfY2xhc3MtdGFyZ2V0ID0gInBvcHQgZWZpdmFyLW5hdGl2ZSIKKworU1JDUkVWID0gImFhYjZjMmE2NGQ5MGI2ZTVhNjM2NjFmYjViZDZiZThkODc4YjA3ODQiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvZWZpdmFyLmdpdCIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZmlsZTovLzAwMDEtZWZpdmFyLWZpeC1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaCIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovL2VmaXZhci1kcm9wLW9wdGlvbnMtbm90LXN1cHBvcnRlZC1ieS1sb3dlci12ZXJzaW9uLWdjYy5wYXRjaCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Cit9CisKK2RvX2NvbXBpbGVfY2xhc3MtbmF0aXZlKCkgeworICAgIG9lX3J1bm1ha2UgLUMgc3JjIG1ha2VndWlkcworfQorCitkb19pbnN0YWxsX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtCfS9zcmMvbWFrZWd1aWRzICR7RH0ke2JpbmRpcn0vbWFrZWd1aWRzCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCisjIFNlZQorIyBodHRwOi8vbGlzdHMub3BlbmVtYmVkZGVkLm9yZy9waXBlcm1haWwvb3BlbmVtYmVkZGVkLWNvcmUvMjAxNi1GZWJydWFyeS8xMTY1NjQuaHRtbAorIyBodHRwOi8vbGlzdHMub3BlbmVtYmVkZGVkLm9yZy9waXBlcm1haWwvb3BlbmVtYmVkZGVkLWNvcmUvMjAxNi1GZWJydWFyeS8xMTY1NzEuaHRtbAorIyBodHRwOi8vbGlzdHMub3BlbmVtYmVkZGVkLm9yZy9waXBlcm1haWwvb3BlbmVtYmVkZGVkLWRldmVsLzIwMTYtRmVicnVhcnkvMTA1ODAyLmh0bWwKKyMgaHR0cDovL2xpc3RzLm9wZW5lbWJlZGRlZC5vcmcvcGlwZXJtYWlsL29wZW5lbWJlZGRlZC1kZXZlbC8yMDE2LUZlYnJ1YXJ5LzEwNTc4Ni5odG1sCisjIGJ1dCBpdCdzIHN0aWxsIGJyb2tlbjoKKyMgaHR0cDovL2xpc3RzLm9wZW5lbWJlZGRlZC5vcmcvcGlwZXJtYWlsL29wZW5lbWJlZGRlZC1kZXZlbC8yMDE2LUZlYnJ1YXJ5LzEwNTgyNS5odG1sCisjIGh0dHA6Ly9saXN0cy5vcGVuZW1iZWRkZWQub3JnL3BpcGVybWFpbC9vcGVuZW1iZWRkZWQtZGV2ZWwvMjAxNi1GZWJydWFyeS8xMDU4MzAuaHRtbAorUE5CTEFDS0xJU1RbZWZpdmFyXSA/PSAiQlJPS0VOOiBsaW51eC5jOjI3OjMwOiBmYXRhbCBlcnJvcjogbGludXgvbnZtZV9pb2N0bC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZmxhc2hyb20vZmxhc2hyb21fMC45LjYuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2ZsYXNocm9tL2ZsYXNocm9tXzAuOS42LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFmMGIzMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2ZsYXNocm9tL2ZsYXNocm9tXzAuOS42LjEuYmIKQEAgLTAsMCArMSwxNSBAQAorREVTQ1JJUFRJT04gPSAiZmxhc2hyb20gaXMgYSB1dGlsaXR5IGZvciBpZGVudGlmeWluZywgcmVhZGluZywgd3JpdGluZywgdmVyaWZ5aW5nIGFuZCBlcmFzaW5nIGZsYXNoIGNoaXBzIgorTElDRU5TRSA9ICJHUEx2MiIKK0hPTUVQQUdFID0gImh0dHA6Ly9mbGFzaHJvbS5vcmciCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorREVQRU5EUyA9ICJwY2l1dGlscyIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuZmxhc2hyb20ub3JnL3JlbGVhc2VzL2ZsYXNocm9tLSR7UFZ9LnRhci5iejIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0MDdlODM2YzBhMmIxN2VjNzY1ODNjYjY4MDlmNjVlNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZjdiNTg4Y2NlNzRjOTBiNGZlOWM5Yzc5NGRlMTA1ZGU3NmUwMzIzNDQyZmI1NzcwYjFhZWFiODFlOWQ1NjBhIgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgUFJFRklYPSR7cHJlZml4fSBERVNURElSPSR7RH0gaW5zdGFsbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZnd0cy9md3RzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2Z3dHMvZnd0c19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIwZTYxYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2Z3dHMvZnd0c19naXQuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJGaXJtd2FyZSB0ZXN0c3VpdGUiCitERVNDUklQVElPTiA9ICJUaGUgdG9vbCBmd3RzIGNvbXByaXNlcyBvZiBvdmVyIGZpZnR5IHRlc3RzIHRoYXQgYXJlIGRlc2lnbmVkIHRvIGV4ZXJjaXNlIGFuZCB0ZXN0IGRpZmZlcmVudCBhc3BlY3RzIG9mIGEgbWFjaGluZSdzIGZpcm13YXJlLiBNYW55IG9mIHRoZXNlIHRlc3RzIG5lZWQgc3VwZXIgdXNlciBhY2Nlc3MgdG8gcmVhZCBCSU9TIGRhdGEgYW5kIEFDUEkgdGFibGVzLCBzbyB0aGUgdG9vbCByZXF1aXJlcyBydW5uaW5nIHdpdGggc3VwZXIgdXNlciBwcml2aWxlZ2VzIChlLmcuIHdpdGggc3VkbykuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLnVidW50dS5jb20vS2VybmVsL1JlZmVyZW5jZS9md3RzIgorCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9tYWluLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0xNjttZDU9ZGViOGFmNTM4OGU4MzhkMTMzZWFhMDM2ZjRkMTQ5NmYiCisKK1BWID0gIjE0LjA5LjAwIgorCitTUkNSRVYgPSAiY2YxNGYzYjRiYWI3MTZkZWE5NWRlNzcyYWQ1Mjc4NmMxY2JlODYyYSIKK1NSQ19VUkkgPSAiZ2l0Oi8va2VybmVsLnVidW50dS5jb20vaHdlL2Z3dHMuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitERVBFTkRTID0gImxpYnBjcmUganNvbi1jIGdsaWItMi4wIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9md3RzL2xpYioke1NPTElCU30iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9md3RzL2xpYioke1NPTElCU0RFVn0gJHtsaWJkaXJ9L2Z3dHMvbGliKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2Z3dHMvbGliKmEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9md3RzLy5kZWJ1ZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC00LjYuNS9sdWEtbG9hZGxpYnMtY29uZmlndXJlLWluLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC00LjYuNS9sdWEtbG9hZGxpYnMtY29uZmlndXJlLWluLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yM2YyY2QyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZ251cGxvdC9nbnVwbG90LTQuNi41L2x1YS1sb2FkbGlicy1jb25maWd1cmUtaW4tZml4LnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK0luZGV4OiBnbnVwbG90LTQuNi41L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdudXBsb3QtNC42LjUub3JpZy9jb25maWd1cmUuaW4KKysrKyBnbnVwbG90LTQuNi41L2NvbmZpZ3VyZS5pbgorQEAgLTY5MCw2ICs2OTAsMTEgQEAgaWYgdGVzdCAiJHt3aXRoX2x1YX0iID0geWVzIDsgdGhlbgorICAgZmkKKyAKKyAgIGlmIHRlc3QgIiR3aXRoX2x1YSIgIT0gbm87IHRoZW4KKysgICAgZG5sIGNoZWNrIGZvciBkbG9wZW4vZGwgdG8gZml4IGxvYWRsaWJzIGxpbmsgZmFpbHVyZQorKyAgICBBQ19DSEVDS19GVU5DKFtkbG9wZW5dLCBbXSwKKysgICAgICBBQ19DSEVDS19MSUIoW2RsXSwgW2Rsb3Blbl0sIERMT1BFTl9MSUJTPSItbGRsIikpCisrICAgIEFDX1NVQlNUKERMT1BFTl9MSUJTKQorKyAgICBMVUFfTElCUz0iJExVQV9MSUJTICRETE9QRU5fTElCUyIKKyAgICAgVEVSTUxJQlM9IiRURVJNTElCUyAkTFVBX0xJQlMiCisgICAgIENQUEZMQUdTPSIkQ1BQRkxBR1MgJExVQV9DRkxBR1MiCisgICBlbHNlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9nbnVwbG90L2dudXBsb3QtNC42LjUvc3ViZGlycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC00LjYuNS9zdWJkaXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjN2QxZjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9nbnVwbG90L2dudXBsb3QtNC42LjUvc3ViZGlycy5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gL3RtcC9NYWtlZmlsZS5hbQkyMDA3LTA4LTIzIDEzOjEwOjE1LjU2MDY1OTAyMyArMDIwMAorKysrIGdudXBsb3QtNC4yLjAvTWFrZWZpbGUuYW0JMjAwNy0wOC0yMyAxMzoxMDozNC45NjE3NjQ2MjkgKzAyMDAKK0BAIC0xLDcgKzEsNyBAQAorICMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbiAtKi1NYWtlZmlsZS0qLQorIEFVVE9NQUtFX09QVElPTlMgPSBmb3JlaWduIDEuMmgKKyAKKy1TVUJESVJTID0gY29uZmlnIG00IHRlcm0gc3JjIGRvY3MgJChMSVNQRElSKSBtYW4gZGVtbyB0dXRvcmlhbCBzaGFyZQorK1NVQkRJUlMgPSBjb25maWcgbTQgdGVybSBzcmMgICQoTElTUERJUikgbWFuIHNoYXJlCisgCisgRVhUUkFfRElTVCA9IEJVR1MgQ29kZVN0eWxlIENvcHlyaWdodCBGQVEgR05VbWFrZWZpbGUgSU5TVEFMTCBJTlNUQUxMLmdudSBcCisgTWFrZWZpbGUubWFpbnQgUEFUQ0hMRVZFTCBQR1BLRVlTIFBPUlRJTkcgUkVBRE1FIFJFQURNRS4xU1QgUkVBRE1FLmV4cCBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9nbnVwbG90L2dudXBsb3QuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZ251cGxvdC9nbnVwbG90LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OWJjNzRiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZ251cGxvdC9nbnVwbG90LmluYwpAQCAtMCwwICsxLDQxIEBACitERVNDUklQVElPTiA9ICJHbnVwbG90IGlzIGEgcG9ydGFibGUgY29tbWFuZC1saW5lIGRyaXZlbiBpbnRlcmFjdGl2ZSBkYXRhZmlsZSBcCisodGV4dCBvciBiaW5hcnkpIGFuZCBmdW5jdGlvbiBwbG90dGluZyB1dGlsaXR5LiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251cGxvdC5pbmZvLyIKK1NFQ1RJT04gPSAiY29uc29sZS9zY2llbnRpZmljIgorTElDRU5TRSA9ICJnbnVwbG90IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ29weXJpZ2h0O21kNT0yNDNhMTg2ZmMyZmQzYjk5MjEyNWQ2MGQ1YjFiYWI4ZiIKK0RFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgZ2QgcmVhZGxpbmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCithY3BhdGhzID0gIiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImNhaXJvIgorUEFDS0FHRUNPTkZJR1tjYWlyb10gPSAiLS13aXRoLWNhaXJvLC0td2l0aG91dC1jYWlybyxjYWlybyBwYW5nbyIKK1BBQ0tBR0VDT05GSUdbbHVhXSA9ICItLXdpdGgtbHVhLC0td2l0aG91dC1sdWEsbHVhIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXJlYWRsaW5lPSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbGlzcC1maWxlcyBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXR1dG9yaWFsIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtd3h3aWRnZXRzIgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcXRwbG90LTAuMi9xdG9waWEudHJtICR7U30vdGVybS8KK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZ251cGxvdC5kZXNrdG9wICR7RH0ke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucy8KKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L3BpeG1hcHMvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZ251cGxvdC5wbmcgJHtEfSR7ZGF0YWRpcn0vcGl4bWFwcy8KK30KKworUEFDS0FHRVMgPSsgIiR7UE59LXgxMS1kYmcgJHtQTn0teDExIgorREVTQ1JJUFRJT05fJHtQTn0teDExID0gIlgxMSBkaXNwbGF5IHRlcm1pbmFsIGZvciBHbnVwbG90LiIKK1NFQ1RJT05fJHtQTn0teDExID0gIngxMS9zY2llbnRpZmljIgorRklMRVNfJHtQTn0teDExID0gIiR7bGliZXhlY2Rpcn0gJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMgJHtkYXRhZGlyfS9waXhtYXBzICR7bGliZGlyfS9YMTEgIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90ZXhtZiIKK0ZJTEVTXyR7UE59LXgxMS1kYmcgKz0gIiR7bGliZXhlY2Rpcn0vZ251cGxvdC8qLy5kZWJ1ZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC9nbnVwbG90LmRlc2t0b3AgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9nbnVwbG90L2dudXBsb3QvZ251cGxvdC5kZXNrdG9wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2N2RmOWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9nbnVwbG90L2dudXBsb3QvZ251cGxvdC5kZXNrdG9wCkBAIC0wLDAgKzEsOCBAQAorW0Rlc2t0b3AgRW50cnldCitOYW1lPUdudXBsb3QKK0NvbW1lbnQ9UGxvdCBkYXRhIGFuZCBmdW5jdGlvbiBncmFwaHMKK0V4ZWM9eC10ZXJtaW5hbC1lbXVsYXRvciAtZSBnbnVwbG90CitUZXJtaW5hbD1mYWxzZQorVHlwZT1BcHBsaWNhdGlvbgorSWNvbj1nbnVwbG90CitDYXRlZ29yaWVzPVNjaWVuY2U7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9nbnVwbG90L2dudXBsb3QvZ251cGxvdC5wbmcgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9nbnVwbG90L2dudXBsb3QvZ251cGxvdC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDU0Y2Q5ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC9nbnVwbG90LnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9nbnVwbG90L2dudXBsb3QvcXRvcGlhLnRybSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdC9xdG9waWEudHJtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1MmY5YmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9nbnVwbG90L2dudXBsb3QvcXRvcGlhLnRybQpAQCAtMCwwICsxLDQ4MyBAQAorLyoKKyAqICRJZDogZHVtYi50cm0sdiAxLjE2IDIwMDQvMDQvMTMgMTc6MjQ6MTYgYnJvZWtlciBFeHAgJAorICoKKyAqLworCisvKiBHTlVQTE9UIC0gcXRvcGlhLnRybSAqLworCisvKlsKKyAqIENvcHlyaWdodCAxOTkxIC0gMTk5MywgMTk5OCwgMjAwNCAgIFRob21hcyBXaWxsaWFtcywgQ29saW4gS2VsbGV5CisgKgorICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgYW5kIGl0cworICogZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwKKyAqIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMgYW5kCisgKiB0aGF0IGJvdGggdGhhdCBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhcgorICogaW4gc3VwcG9ydGluZyBkb2N1bWVudGF0aW9uLgorICoKKyAqIFBlcm1pc3Npb24gdG8gbW9kaWZ5IHRoZSBzb2Z0d2FyZSBpcyBncmFudGVkLCBidXQgbm90IHRoZSByaWdodCB0bworICogZGlzdHJpYnV0ZSB0aGUgY29tcGxldGUgbW9kaWZpZWQgc291cmNlIGNvZGUuICBNb2RpZmljYXRpb25zIGFyZSB0bworICogYmUgZGlzdHJpYnV0ZWQgYXMgcGF0Y2hlcyB0byB0aGUgcmVsZWFzZWQgdmVyc2lvbi4gIFBlcm1pc3Npb24gdG8KKyAqIGRpc3RyaWJ1dGUgYmluYXJpZXMgcHJvZHVjZWQgYnkgY29tcGlsaW5nIG1vZGlmaWVkIHNvdXJjZXMgaXMgZ3JhbnRlZCwKKyAqIHByb3ZpZGVkIHlvdQorICogICAxLiBkaXN0cmlidXRlIHRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBtb2RpZmljYXRpb25zIGZyb20gdGhlCisgKiAgICByZWxlYXNlZCB2ZXJzaW9uIGluIHRoZSBmb3JtIG9mIGEgcGF0Y2ggZmlsZSBhbG9uZyB3aXRoIHRoZSBiaW5hcmllcywKKyAqICAgMi4gYWRkIHNwZWNpYWwgdmVyc2lvbiBpZGVudGlmaWNhdGlvbiB0byBkaXN0aW5ndWlzaCB5b3VyIHZlcnNpb24KKyAqICAgIGluIGFkZGl0aW9uIHRvIHRoZSBiYXNlIHJlbGVhc2UgdmVyc2lvbiBudW1iZXIsCisgKiAgIDMuIHByb3ZpZGUgeW91ciBuYW1lIGFuZCBhZGRyZXNzIGFzIHRoZSBwcmltYXJ5IGNvbnRhY3QgZm9yIHRoZQorICogICAgc3VwcG9ydCBvZiB5b3VyIG1vZGlmaWVkIHZlcnNpb24sIGFuZAorICogICA0LiByZXRhaW4gb3VyIGNvbnRhY3QgaW5mb3JtYXRpb24gaW4gcmVnYXJkIHRvIHVzZSBvZiB0aGUgYmFzZQorICogICAgc29mdHdhcmUuCisgKiBQZXJtaXNzaW9uIHRvIGRpc3RyaWJ1dGUgdGhlIHJlbGVhc2VkIHZlcnNpb24gb2YgdGhlIHNvdXJjZSBjb2RlIGFsb25nCisgKiB3aXRoIGNvcnJlc3BvbmRpbmcgc291cmNlIG1vZGlmaWNhdGlvbnMgaW4gdGhlIGZvcm0gb2YgYSBwYXRjaCBmaWxlIGlzCisgKiBncmFudGVkIHdpdGggc2FtZSBwcm92aXNpb25zIDIgdGhyb3VnaCA0IGZvciBiaW5hcnkgZGlzdHJpYnV0aW9ucy4KKyAqCisgKiBUaGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkICJhcyBpcyIgd2l0aG91dCBleHByZXNzIG9yIGltcGxpZWQgd2FycmFudHkKKyAqIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LgorXSovCisKKy8qCisgKiBUaGlzIGZpbGUgaXMgaW5jbHVkZWQgYnkgLi4vdGVybS5jLgorICoKKyAqIFRoaXMgdGVybWluYWwgZHJpdmVyIHN1cHBvcnRzOgorICogICBxdG9waWEgdGVybWluYWxzCisgKgorICogQVVUSE9SUworICogICBNaWNoYWVsIE5ldXJvdGgsIDIwMDQtMDUtMTYKKyAqICAgICAgICAgICBJTlRFUk5FVDogbWljaGFlbC5uZXVyb3RoQGZyZWVuZXQuZGUKKyAqCisgKiBzZW5kIHlvdXIgY29tbWVudHMgb3Igc3VnZ2VzdGlvbnMgdG8gKGdudXBsb3QtaW5mb0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQpLgorICoKKyAqLworI2luY2x1ZGUgImRyaXZlci5oIgorCisjZGVmaW5lIE5PX1FUT1BJQV9FTkhBTkNFRF9TVVBQT1JUCisKKyNpZmRlZiBURVJNX1JFR0lTVEVSCityZWdpc3Rlcl90ZXJtKHF0b3BpYV9kcml2ZXIpCisjZW5kaWYKKworI2lmZGVmIFRFUk1fUFJPVE8KK1RFUk1fUFVCTElDIHZvaWQgUVRPUElBX29wdGlvbnMgX19QUk9UTygodm9pZCkpOworVEVSTV9QVUJMSUMgdm9pZCBRVE9QSUFfaW5pdCBfX1BST1RPKCh2b2lkKSk7CitURVJNX1BVQkxJQyB2b2lkIFFUT1BJQV9ncmFwaGljcyBfX1BST1RPKCh2b2lkKSk7CitURVJNX1BVQkxJQyB2b2lkIFFUT1BJQV90ZXh0IF9fUFJPVE8oKHZvaWQpKTsKK1RFUk1fUFVCTElDIHZvaWQgUVRPUElBX3Jlc2V0IF9fUFJPVE8oKHZvaWQpKTsKK1RFUk1fUFVCTElDIHZvaWQgUVRPUElBX2xpbmV0eXBlIF9fUFJPVE8oKGludCBsaW5ldHlwZSkpOworVEVSTV9QVUJMSUMgdm9pZCBRVE9QSUFfbW92ZSBfX1BST1RPKCh1bnNpZ25lZCBpbnQgeCwgdW5zaWduZWQgaW50IHkpKTsKK1RFUk1fUFVCTElDIHZvaWQgUVRPUElBX3BvaW50IF9fUFJPVE8oKHVuc2lnbmVkIGludCB4LCB1bnNpZ25lZCBpbnQgeSwKKwkJCQkgICAgIGludCBwb2ludCkpOworVEVSTV9QVUJMSUMgdm9pZCBRVE9QSUFfdmVjdG9yIF9fUFJPVE8oKHVuc2lnbmVkIGludCB4LCB1bnNpZ25lZCBpbnQgeSkpOworVEVSTV9QVUJMSUMgdm9pZCBRVE9QSUFfcHV0X3RleHQgX19QUk9UTygodW5zaWduZWQgaW50IHgsIHVuc2lnbmVkIGludCB5LAorCQkJCQljb25zdCBjaGFyICpzdHIpKTsKK1RFUk1fUFVCTElDIHZvaWQgUVRPUElBX2Fycm93IF9fUFJPVE8oKHVuc2lnbmVkIGludCBzeCwgdW5zaWduZWQgaW50IHN5LAorCQkJCSAgICAgdW5zaWduZWQgaW50IGV4LCB1bnNpZ25lZCBpbnQgZXksCisJCQkJICAgICBpbnQgaGVhZCkpOworCisjZGVmaW5lIEVOSHF0b3BpYV9wdXRfdGV4dCBOVUxMCisKKworI2RlZmluZSBRVE9QSUFfWE1BWCA0MDk2CisjZGVmaW5lIFFUT1BJQV9ZTUFYIDQwOTYKKworI2lmZGVmIFpBVVJVUworI2RlZmluZSBRVE9QSUFfVkNIQVIgKFFUT1BJQV9ZTUFYLzI1KQorI2RlZmluZSBRVE9QSUFfSENIQVIgKFFUT1BJQV9YTUFYLzQwKQorI2RlZmluZSBRVE9QSUFfVlRJQyAoUVRPUElBX1lNQVgvNTApCisjZGVmaW5lIFFUT1BJQV9IVElDIChRVE9QSUFfWE1BWC80MCkKKyNlbHNlCisjZGVmaW5lIFFUT1BJQV9WQ0hBUiAoUVRPUElBX1lNQVgvMjUpCisjZGVmaW5lIFFUT1BJQV9IQ0hBUiAoUVRPUElBX1hNQVgvNTApCisjZGVmaW5lIFFUT1BJQV9WVElDIChRVE9QSUFfWU1BWC8xMDApCisjZGVmaW5lIFFUT1BJQV9IVElDIChRVE9QSUFfWE1BWC8xNTApCisjZW5kaWYKKworI2VuZGlmIC8qIFRFUk1fUFJPVE8gKi8KKworI2lmZGVmIFRFUk1fQk9EWQorCisvKiNpbmNsdWRlIDx3aW5zb2NrMi5oPiovCisvKiBuZWVkczogd3MyXzMyLmxpYiAqLworI2lmbmRlZiBfTVNDX1ZFUgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CisjZW5kaWYKKworI2RlZmluZSBRVE9QSUFfTUFYX0JVRkZFUgkJNTEyCisjZGVmaW5lIFFUT1BJQV9NQVhfREVMQVlfQ09VTlQJMjAJLyogKiAxMDAgbXMgPSAyIHMgKi8KKworI2lmZGVmIF9NU0NfVkVSCisjZGVmaW5lIFFUT1BJQV9CQURfU09DS0VUCQlJTlZBTElEX1NPQ0tFVAkJLyogLTEgKi8KKyNkZWZpbmUgUVRPUElBX0JBRF9DT05ORUNUCQlTT0NLRVRfRVJST1IKKyNlbHNlCisjZGVmaW5lIFFUT1BJQV9CQURfU09DS0VUCQktMQorI2RlZmluZSBRVE9QSUFfQkFEX0NPTk5FQ1QJCS0xCisjZW5kaWYKKyNkZWZpbmUgUVRPUElBX1BPUlRfTk8JCQk1MDUwCisKK3N0YXRpYyBpbnQgcXRvcGlhX2NsaWVudF9zb2NrZXQgPSBRVE9QSUFfQkFEX1NPQ0tFVDsKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBxdG9waWFfcG9ydF9ubyA9IFFUT1BJQV9QT1JUX05POworc3RhdGljIGNoYXIgcXRvcGlhX2hvc3RfbmFtZVtRVE9QSUFfTUFYX0JVRkZFUisxXSA9IHsgImxvY2FsaG9zdCIgfTsKKworc3RhdGljIGludCBPcGVuQ2xpZW50IF9fUFJPVE8oKCBpbnQgdGVzdCkpOworc3RhdGljIHZvaWQgQ2xvc2VDbGllbnQoKTsKKworc3RhdGljIHZvaWQgTXlTbGVlcCggZGVsYXkgKQoraW50IGRlbGF5OworeworI2lmZGVmIF9NU0NfVkVSCisJU2xlZXAoIGRlbGF5ICk7CisjZWxzZQorCXVzbGVlcCggZGVsYXkgKTsKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBJbml0U29ja2V0cygpCit7CisjaWZkZWYgX01TQ19WRVIKKwlXT1JEIHdWZXJzaW9uUmVxdWVzdGVkOworCVdTQURBVEEgd3NhRGF0YTsKKwlpbnQgZXJyOworCisJd1ZlcnNpb25SZXF1ZXN0ZWQgPSBNQUtFV09SRCggMiwgMiApOworCisJZXJyID0gV1NBU3RhcnR1cCggd1ZlcnNpb25SZXF1ZXN0ZWQsICZ3c2FEYXRhICk7CisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgRXhpdFNvY2tldHMoKQoreworI2lmZGVmIF9NU0NfVkVSCisJV1NBQ2xlYW51cCgpOworI2VuZGlmCit9CisKK3N0YXRpYyBpbnQgQ2hlY2tGb3JRdHBsb3QoIGNvdW50ICkKK2ludCBjb3VudDsKK3sKKwkvKiB0ZXN0ICh2aWEgc29ja2V0cykgaWYgcXRwbG90IGlzIGFsbHJlYWR5IHJ1bm5pbmcgKi8KKwlpZiggIU9wZW5DbGllbnQoIDEgKSApCisJeworCQkvKiBnaXZlIHF0cGxvdCBhIGxpdGxlIGJpdCB0aW1lIHRvIHN0YXJ0Li4uICovCisJCWlmKCBjb3VudCA8IFFUT1BJQV9NQVhfREVMQVlfQ09VTlQgKQorCQl7CisJCQlpZiggY291bnQgPT0gMCApCisJCQl7CisjaWZkZWYgX01TQ19WRVIKKwkJCQlzeXN0ZW0oICJzdGFydCBxdHBsb3QiICk7CisjZWxzZQorCQkJCXN5c3RlbSggInF0cGxvdCYiICk7CisjZW5kaWYKKwkJCX0KKwkJCisJCQlNeVNsZWVwKDEwMCk7CisKKwkJCXJldHVybiBDaGVja0ZvclF0cGxvdCggY291bnQrMSApOworCQl9CisJCWVsc2UKKwkJeworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisJZWxzZQorCXsKKwkJQ2xvc2VDbGllbnQoKTsKKworCQlyZXR1cm4gMTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgT3BlbkNsaWVudCggdGVzdCApCitpbnQgdGVzdDsKK3sKKyAgICBpbnQgbGVuOworICAgIHN0cnVjdCBzb2NrYWRkcl9pbiBhZGRyZXNzOworICAgIGludCByZXN1bHQ7CisKKwkvKiAgQ3JlYXRlIGEgc29ja2V0IGZvciB0aGUgY2xpZW50LiAgKi8KKworICAgIHF0b3BpYV9jbGllbnRfc29ja2V0ID0gc29ja2V0KEFGX0lORVQsIFNPQ0tfU1RSRUFNLCAwKTsKKworCWlmKCBxdG9waWFfY2xpZW50X3NvY2tldCAhPSBRVE9QSUFfQkFEX1NPQ0tFVCApCisJeworCQkvKiAgTmFtZSB0aGUgc29ja2V0LCBhcyBhZ3JlZWQgd2l0aCB0aGUgc2VydmVyLiAgKi8KKworCQlhZGRyZXNzLnNpbl9mYW1pbHkgPSBBRl9JTkVUOworCQlhZGRyZXNzLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcigvKnF0b3BpYV9ob3N0X25hbWUqLyIxMjcuMC4wLjEiKTsJLyogbG9jYWxob3N0ICovCisJCWFkZHJlc3Muc2luX3BvcnQgPSBodG9ucyhxdG9waWFfcG9ydF9ubyk7CisJCWxlbiA9IHNpemVvZihhZGRyZXNzKTsKKworCQkvKiAgTm93IGNvbm5lY3Qgb3VyIHNvY2tldCB0byB0aGUgc2VydmVyJ3Mgc29ja2V0LiAgKi8KKworCQlyZXN1bHQgPSBjb25uZWN0KHF0b3BpYV9jbGllbnRfc29ja2V0LCAoc3RydWN0IHNvY2thZGRyICopJmFkZHJlc3MsIGxlbik7CisJCQorCQlpZiggcmVzdWx0ID09IFFUT1BJQV9CQURfU09DS0VUICkKKwkJeworCQkJLyogbWFyayB0aGlzIHNvY2tldCBhcyBiYWQgKi8KKworCQkJY2xvc2UoIHF0b3BpYV9jbGllbnRfc29ja2V0ICk7CisKKwkJCXF0b3BpYV9jbGllbnRfc29ja2V0ID0gUVRPUElBX0JBRF9TT0NLRVQ7CisKKwkJCWlmKCAhdGVzdCApCisJCQl7CisJCQkJZnByaW50ZiggZ3BvdXRmaWxlLCAiZXJyb3IgY29ubmVjdGluZyB0byBzZXJ2ZXIgIVxuIiApOworCQkJfQorCQkJcmV0dXJuIDA7CS8qIHNvbWV0aGluZyB3ZW50IHdyb25nICovCisJCX0KKwl9CisJZWxzZQorCXsKKwkJaWYoICF0ZXN0ICkKKwkJeworCQkJZnByaW50ZiggZ3BvdXRmaWxlLCAiZXJyb3IgY3JlYXRpbmcgc29ja2V0ICFcbiIgKTsKKwkJfQorCQlyZXR1cm4gMDsJLyogc29tZXRoaW5nIHdlbnQgd3JvbmcgKi8KKwl9CisKKwlyZXR1cm4gMTsJLyogZXZlcnl0aGluZyBpc3Qgb2sgISAqLworfQorCitzdGF0aWMgdm9pZCBDbG9zZUNsaWVudCgpCit7CisgICAgY2xvc2UoIHF0b3BpYV9jbGllbnRfc29ja2V0ICk7Cit9CisKK3N0YXRpYyBpbnQgSXNDbGllbnRPaygpCit7CisJcmV0dXJuIHF0b3BpYV9jbGllbnRfc29ja2V0ICE9IFFUT1BJQV9CQURfU09DS0VUOworfQorCitzdGF0aWMgdm9pZCBTZW5kRGF0YVRvU29ja2V0KCBzTGluZSApCitjb25zdCBjaGFyICogc0xpbmU7Cit7CisJaWYoIElzQ2xpZW50T2soKSApCisJeworCQlpbnQgc2VuZF9jb3VudDsKKworCQlzZW5kX2NvdW50ID0gc2VuZCggcXRvcGlhX2NsaWVudF9zb2NrZXQsIHNMaW5lLCBzdHJsZW4oIHNMaW5lICksIDAgKTsKKworCQlpZiggc2VuZF9jb3VudCA8PSAwICkKKwkJeworCQkJZnByaW50ZiggZ3BvdXRmaWxlLCAiZXJyb3Igd3JpdGluZyB0byBzb2NrZXQgc3RyPSVzIVxuIiwgc0xpbmUgKTsKKwkJfQorCQkvKgorCQllbHNlCisJCXsKKwkJCWZwcmludGYoIGdwb3V0ZmlsZSwgIndyb3RlICVkIGJ5dGVzXG4iLCBzZW5kX2NvdW50ICk7CisJCX0KKwkJKi8KKwl9CisJZWxzZQorCXsKKwkJLyogZm9yIHRlc3RpbmcuLi4gKi8KKwkJLypmcHJpbnRmKCBncG91dGZpbGUsIHNMaW5lICk7Ki8KKwl9Cit9CisKKy8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisKK2VudW0gUVRPUElBX2lkIHsgUVRPUElBX1BPUlQsIFFUT1BJQV9IT1NULCBRVE9QSUFfT1RIRVIgfTsKKworc3RhdGljIHN0cnVjdCBnZW5fdGFibGUgUVRPUElBX29wdHNbXSA9Cit7CisgICAgeyAicG8kcnQiLCBRVE9QSUFfUE9SVCB9LAorICAgIHsgImhvJHN0IiwgUVRPUElBX0hPU1QgfSwKKyAgICB7IE5VTEwsIFFUT1BJQV9PVEhFUiB9Cit9OworCitURVJNX1BVQkxJQyB2b2lkCitRVE9QSUFfb3B0aW9ucygpCit7CisgICAgLyogdGhpcyBpcyBub3QgZm9yIHRoZSBxdG9waWEgdGVybWluYWwgISAqLworCS8qU2VuZERhdGFUb1NvY2tldCggInF0ZCBvcHRpb25zXG4iICk7Ki8KKworICAgIGludCB4LCB5OworICAgIHN0cnVjdCB2YWx1ZSBhOworCisgICAgd2hpbGUgKCFFTkRfT0ZfQ09NTUFORCkgCisJeworCQlzd2l0Y2gobG9va3VwX3RhYmxlKCZRVE9QSUFfb3B0c1swXSxjX3Rva2VuKSkgCisJCXsKKwkJCWNhc2UgUVRPUElBX1BPUlQ6CisJCQkJY190b2tlbisrOworCQkJCWlmIChFTkRfT0ZfQ09NTUFORCkKKwkJCQkJaW50X2Vycm9yKGNfdG9rZW4sICJleHBlY3RpbmcgcG9ydCBudW1iZXIiKTsKKwkJCQlxdG9waWFfcG9ydF9ubyA9IChpbnQpIHJlYWwoY29uc3RfZXhwcmVzcygmYSkpOworCQkJCWJyZWFrOworCQkJY2FzZSBRVE9QSUFfSE9TVDoKKwkJCQljX3Rva2VuKys7CisJCQkJaWYgKEVORF9PRl9DT01NQU5EKQorCQkJCQlpbnRfZXJyb3IoY190b2tlbiwgImV4cGVjdGluZyBob3N0IG5hbWUiKTsKKwkJCQlpZiAoaXNzdHJpbmcoY190b2tlbikpCisJCQkJCXF1b3RlX3N0ciggcXRvcGlhX2hvc3RfbmFtZSwgY190b2tlbiwgc2l6ZW9mKHF0b3BpYV9ob3N0X25hbWUpICk7CisJCQkJZWxzZQorIAkJCQkJY29weV9zdHIoIHF0b3BpYV9ob3N0X25hbWUsIGNfdG9rZW4sIHNpemVvZihxdG9waWFfaG9zdF9uYW1lKSApOworCQkJCWNfdG9rZW4rKzsKKwkJCQlicmVhazsKKwkJCWNhc2UgUVRPUElBX09USEVSOgorCQkJZGVmYXVsdDoKKwkJCQlicmVhazsKKwkJfQorICAgIH0KKworICAgIHNwcmludGYodGVybV9vcHRpb25zLCAiaG9zdD0lcyBwb3J0PSVkIixxdG9waWFfaG9zdF9uYW1lLHF0b3BpYV9wb3J0X25vKTsKK30KKworCitURVJNX1BVQkxJQyB2b2lkCitRVE9QSUFfaW5pdCgpCit7CisJLyogaW5pdGlhbGl6ZSBsaWIgKGlmIG5lY2Fzc2FyeSkgKi8KKwlJbml0U29ja2V0cygpOworCUNoZWNrRm9yUXRwbG90KCAwICk7CisJT3BlbkNsaWVudCggMCApOyAKKworCVNlbmREYXRhVG9Tb2NrZXQoICJxdGQgaW5pdFxuIiApOworfQorCisKK1RFUk1fUFVCTElDIHZvaWQKK1FUT1BJQV9ncmFwaGljcygpCit7CisJU2VuZERhdGFUb1NvY2tldCggInF0ZCBncmFwaGljc1xuIiApOworfQorCitURVJNX1BVQkxJQyB2b2lkCitRVE9QSUFfdGV4dCgpCit7CisJU2VuZERhdGFUb1NvY2tldCggInF0ZCB0ZXh0XG4iICk7Cit9CisKKworVEVSTV9QVUJMSUMgdm9pZAorUVRPUElBX3Jlc2V0KCkKK3sKKwlTZW5kRGF0YVRvU29ja2V0KCAicXRkIHJlc2V0XG4iICk7CisKKwkvKiBnaXZlIHRoZSBxdHBsb3QgYSBsaXRsZSBiaXQgdGltZSB0byBzaHV0ZG93biAqLworCU15U2xlZXAoMTAwKTsKKworCUNsb3NlQ2xpZW50KCk7CisJRXhpdFNvY2tldHMoKTsKK30KKworCitURVJNX1BVQkxJQyB2b2lkCitRVE9QSUFfbGluZXR5cGUobGluZXR5cGUpCitpbnQgbGluZXR5cGU7Cit7CisJY2hhciBzQnVmZmVyW1FUT1BJQV9NQVhfQlVGRkVSXTsKKworCXNwcmludGYoIHNCdWZmZXIsICJxdGQgbGluZXR5cGUgdHlwZT0lZFxuIixsaW5ldHlwZSApOworCisJU2VuZERhdGFUb1NvY2tldCggc0J1ZmZlciApOworfQorCisKK1RFUk1fUFVCTElDIHZvaWQKK1FUT1BJQV9tb3ZlKHgsIHkpCit1bnNpZ25lZCBpbnQgeCwgeTsKK3sKKwljaGFyIHNCdWZmZXJbUVRPUElBX01BWF9CVUZGRVJdOworCisJc3ByaW50Ziggc0J1ZmZlciwgInF0ZCBtb3ZlIHg9JWQgeT0lZFxuIix4LHkgKTsKKworCVNlbmREYXRhVG9Tb2NrZXQoIHNCdWZmZXIgKTsKK30KKworCitURVJNX1BVQkxJQyB2b2lkCitRVE9QSUFfcG9pbnQoeCwgeSwgcG9pbnQpCit1bnNpZ25lZCBpbnQgeCwgeTsKK2ludCBwb2ludDsKK3sKKwljaGFyIHNCdWZmZXJbUVRPUElBX01BWF9CVUZGRVJdOworCisJc3ByaW50Ziggc0J1ZmZlciwgInF0ZCBwb2ludCB4PSVkIHk9JWQgcG9pbnQ9JWRcbiIseCx5LHBvaW50ICk7CisKKwlTZW5kRGF0YVRvU29ja2V0KCBzQnVmZmVyICk7Cit9CisKKworVEVSTV9QVUJMSUMgdm9pZAorUVRPUElBX3ZlY3RvcihfeCwgX3kpCit1bnNpZ25lZCBpbnQgX3gsIF95OworeworCWNoYXIgc0J1ZmZlcltRVE9QSUFfTUFYX0JVRkZFUl07CisKKwlzcHJpbnRmKCBzQnVmZmVyLCAicXRkIHZlY3RvciB4PSVkIHk9JWRcbiIsX3gsX3kgKTsKKworCVNlbmREYXRhVG9Tb2NrZXQoIHNCdWZmZXIgKTsKK30KKworCitURVJNX1BVQkxJQyB2b2lkCitRVE9QSUFfcHV0X3RleHQoeCwgeSwgc3RyKQordW5zaWduZWQgaW50IHgsIHk7Citjb25zdCBjaGFyICpzdHI7Cit7CisJY2hhciBzQnVmZmVyW1FUT1BJQV9NQVhfQlVGRkVSXTsKKworCXNwcmludGYoIHNCdWZmZXIsICJxdGQgcHV0X3RleHQgeD0lZCB5PSVkIHN0cj0lc1xuIix4LHksc3RyICk7CisKKwlTZW5kRGF0YVRvU29ja2V0KCBzQnVmZmVyICk7Cit9CisKKy8qIG5vdCBzdXBvcnRlZCB5ZXQgISAqLworVEVSTV9QVUJMSUMgdm9pZAorUVRPUElBX2Fycm93KHN4LCBzeSwgZXgsIGV5LCBoZWFkKQorICAgIHVuc2lnbmVkIGludCBzeCwgc3ksIGV4LCBleTsKKyAgICBpbnQgaGVhZDsJCS8qIGlnbm9yZWQgKi8KK3sKKwljaGFyIHNCdWZmZXJbUVRPUElBX01BWF9CVUZGRVJdOworCisJc3ByaW50Ziggc0J1ZmZlciwgInF0ZCBhcnJvdyBzeD0lZCBzeT0lZCBleD0lZCBleT0lZCBoZWFkPSVkXG4iLHN4LHN5LGV4LGV5LGhlYWQgKTsKKworCVNlbmREYXRhVG9Tb2NrZXQoIHNCdWZmZXIgKTsKK30KKworCisjZW5kaWYgLyogVEVSTV9CT0RZICovCisKKyNpZmRlZiBURVJNX1RBQkxFCitURVJNX1RBQkxFX1NUQVJUKHF0b3BpYV9kcml2ZXIpCisgICAgInF0b3BpYSIsICJxdG9waWEgb3IgUXQiLAorICAgIFFUT1BJQV9YTUFYLCBRVE9QSUFfWU1BWCwgUVRPUElBX1ZDSEFSLCBRVE9QSUFfSENIQVIsCisgICAgUVRPUElBX1ZUSUMsIFFUT1BJQV9IVElDLCBRVE9QSUFfb3B0aW9ucywgUVRPUElBX2luaXQsIFFUT1BJQV9yZXNldCwKKyAgICBRVE9QSUFfdGV4dCwgbnVsbF9zY2FsZSwgUVRPUElBX2dyYXBoaWNzLCBRVE9QSUFfbW92ZSwgUVRPUElBX3ZlY3RvciwKKyAgICBRVE9QSUFfbGluZXR5cGUsIFFUT1BJQV9wdXRfdGV4dCwgbnVsbF90ZXh0X2FuZ2xlLAorICAgIG51bGxfanVzdGlmeV90ZXh0LCBRVE9QSUFfcG9pbnQsIC8qUVRPUElBX2Fycm93Ki8wLCBzZXRfZm9udF9udWxsLAorICAgIDAsCQkJCS8qIHBvaW50c2l6ZSAqLworICAgIFRFUk1fQ0FOX01VTFRJUExPVCwKKyAgICBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMCisjaWZkZWYgVVNFX01PVVNFCisgICAgLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMCisjZW5kaWYKKyNpZmRlZiBQTTNECisgICAgLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMCisjZW5kaWYKK1RFUk1fVEFCTEVfRU5EKHF0b3BpYV9kcml2ZXIpCisKKyN1bmRlZiBMQVNUX1RFUk0KKyNkZWZpbmUgTEFTVF9URVJNIHF0b3BpYV9kcml2ZXIKKworI2VuZGlmIC8qIFRFUk1fVEFCTEUgKi8KKworI2lmZGVmIFRFUk1fSEVMUAorU1RBUlRfSEVMUChxdG9waWEpCisiMSBxdG9waWEiLAorIj9jb21tYW5kcyBzZXQgdGVybWluYWwgcXRvcGlhIiwKKyI/c2V0IHRlcm1pbmFsIHF0b3BpYSIsCisiP3NldCB0ZXJtIHF0b3BpYSIsCisiP3Rlcm1pbmFsIHF0b3BpYSIsCisiP3Rlcm0gcXRvcGlhIiwKKyI/cXRvcGlhIiwKKyIgVGhlIGBxdG9waWFgIHRlcm1pbmFsIGRyaXZlciBoYXMgbm8gYWRkaXRpb25hbCBvcHRpb25zLiIsCisiIiwKKyIgU3ludGF4OiIsCisiICAgICAgIHNldCB0ZXJtaW5hbCBxdG9waWEiLAorIiIKK0VORF9IRUxQKHF0b3BpYSkKKyNlbmRpZiAvKiBURVJNX0hFTFAgKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdF80LjYuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2dudXBsb3QvZ251cGxvdF80LjYuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjY5NGEwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvZ251cGxvdC9nbnVwbG90XzQuNi41LmJiCkBAIC0wLDAgKzEsMTQgQEAKK3JlcXVpcmUgZ251cGxvdC5pbmMKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZ251cGxvdC8ke0JQfS50YXIuZ3o7bmFtZT1hcmNoaXZlIFwKKyAgICBodHRwOi8vd3d3Lm1uZXVyb3RoLmRlL3ByaXZhdC96YXVydXMvcXRwbG90LTAuMi50YXIuZ3o7bmFtZT1xdHBsb3QgXAorICAgIGZpbGU6Ly9zdWJkaXJzLnBhdGNoIFwKKyAgICBmaWxlOi8vbHVhLWxvYWRsaWJzLWNvbmZpZ3VyZS1pbi1maXgucGF0Y2ggXAorICAgIGZpbGU6Ly9nbnVwbG90LmRlc2t0b3AgXAorICAgIGZpbGU6Ly9nbnVwbG90LnBuZyBcCisiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjlhNDc2YjIxZjc0YmQ5OWM4NzZmMTUwOWQ3MzFhMGY5IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZTU1MGYwMzBjN2QwNDU3MGU4OWMzZDRlM2Y2ZTgyMjk2ODE2NTA4NDE5Yzg2YWI0NmM0ZGQ3MzE1NjUxOWEyZCIKK1NSQ19VUklbcXRwbG90Lm1kNXN1bV0gPSAiMGE0ODE4ODVhNDk2MDkyYzc3ZWI0MDE3NTQwYjVjZjYiCitTUkNfVVJJW3F0cGxvdC5zaGEyNTZzdW1dID0gIjZkZjMxNzE4M2ZmNjJjYzgyZjNkY2Y4ODIwN2EyNjdjZDY0NzhjYjUxNDdmNTVkNzUzMGM5NGYxYWQ1ZjQxMzIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oYXZlZ2VkL2hhdmVnZWQvcmVtb3ZlLXN5c3RlbWQtdW5pdC01MDMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oYXZlZ2VkL2hhdmVnZWQvcmVtb3ZlLXN5c3RlbWQtdW5pdC01MDMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGYyN2JjYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZC9yZW1vdmUtc3lzdGVtZC11bml0LTUwMy5wYXRjaApAQCAtMCwwICsxLDIwIEBACistLS0gYS9pbml0LmQvTWFrZWZpbGUuYW0JMjAxNC0wMS0wMiAxODo1NTo1My4wMDAwMDAwMDAgKzAxMDAKKysrKyBiL2luaXQuZC9NYWtlZmlsZS5hbQkyMDE0LTA4LTExIDEwOjU5OjQwLjAwMDAwMDAwMCArMDIwMAorQEAgLTM0LDExICszNCwxMSBAQAorIAkkKGRvX3N1YnN0KSA8ICQoc3JjZGlyKS8kKHNyY190bXBsKSA+IGhhdmVnZWQuc2VydmljZTsKKyAKKyBpbnN0YWxsLWRhdGEtaG9vazoKKy1pZiBFTkFCTEVfU1lTVEVNRF9MT09LVVAKKy0JaW5zdGFsbCAtcCAtbTY0NCBoYXZlZ2VkLnNlcnZpY2UgYHBrZy1jb25maWcgLS12YXJpYWJsZT1zeXN0ZW1kc3lzdGVtdW5pdGRpciBzeXN0ZW1kYC9oYXZlZ2VkLnNlcnZpY2U7CistZWxzZQorLQlpbnN0YWxsIC1wIC1tNjQ0IGhhdmVnZWQuc2VydmljZSAoJHVuaXRfZGlyKS9oYXZlZ2VkLnNlcnZpY2U7CistZW5kaWYKKy0Jc3lzdGVtY3RsIGVuYWJsZSBoYXZlZ2VkLnNlcnZpY2U7CisrI2lmIEVOQUJMRV9TWVNURU1EX0xPT0tVUAorKyMJaW5zdGFsbCAtcCAtbTY0NCBoYXZlZ2VkLnNlcnZpY2UgYHBrZy1jb25maWcgLS12YXJpYWJsZT1zeXN0ZW1kc3lzdGVtdW5pdGRpciBzeXN0ZW1kYC9oYXZlZ2VkLnNlcnZpY2U7CisrI2Vsc2UKKysjCWluc3RhbGwgLXAgLW02NDQgaGF2ZWdlZC5zZXJ2aWNlICgkdW5pdF9kaXIpL2hhdmVnZWQuc2VydmljZTsKKysjZW5kaWYKKysjCXN5c3RlbWN0bCBlbmFibGUgaGF2ZWdlZC5zZXJ2aWNlOworIAorIGVuZGlmCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oYXZlZ2VkL2hhdmVnZWRfMS45LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oYXZlZ2VkL2hhdmVnZWRfMS45LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJkMTk5MmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oYXZlZ2VkL2hhdmVnZWRfMS45LjEuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJoYXZlZ2VkIC0gQSBzaW1wbGUgZW50cm9weSBkYWVtb24iCitERVNDUklQVElPTiA9ICJUaGUgaGF2ZWdlZCBwcm9qZWN0IGlzIGFuIGF0dGVtcHQgdG8gcHJvdmlkZSBhbiBlYXN5LXRvLXVzZSwgdW5wcmVkaWN0YWJsZSByYW5kb20gbnVtYmVyIGdlbmVyYXRvciBiYXNlZCB1cG9uIGFuIGFkYXB0YXRpb24gb2YgdGhlIEhBVkVHRSBhbGdvcml0aG0uIEhhdmVnZWQgd2FzIGNyZWF0ZWQgdG8gcmVtZWR5IGxvdy1lbnRyb3B5IGNvbmRpdGlvbnMgaW4gdGhlIExpbnV4IHJhbmRvbSBkZXZpY2UgdGhhdCBjYW4gb2NjdXIgdW5kZXIgc29tZSB3b3JrbG9hZHMsIGVzcGVjaWFsbHkgb24gaGVhZGxlc3Mgc2VydmVycy4iCitBVVRIT1IgPSAiR2FyeSBXdWVydHoiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmlzc2lob3N0cy5jb20vaGF2ZWdlZC9pbmRleC5odG1sIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU09ImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lmlzc2lob3N0cy5jb20vaGF2ZWdlZC9oYXZlZ2VkLSR7UFZ9LnRhci5neiBcCisJCWZpbGU6Ly9yZW1vdmUtc3lzdGVtZC11bml0LTUwMy5wYXRjaCBcCisJCSIKKworU1JDX1VSSVttZDVzdW1dID0gIjAxNWZmNThjZDEwNjA3ZGIwZTBkZTYwYWVjYTJmNWY4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjljMjM2M2VkOTU0MmE2Nzg0ZmYwOGUyNDcxODIxMzdlNzFmMmRkYjc5ZThlNmMxYWM0YWQ1MGQyMWNlZDM3MTUiCisKK1BSID0gInIwIgorCitpbmhlcml0IGF1dG90b29scyBzeXN0ZW1kCisKK0VYVFJBX09FQ09ORiA9ICJcCisJCQktLWVuYWJsZS1pbml0PXNlcnZpY2UucmVkaGF0IFwKKwkJCS0tZW5hYmxlLW5pc3Rlc3Q9eWVzIFwKKwkJCS0tZW5hYmxlLW9sdD15ZXMgXAorCQkJLS1lbmFibGUtdGhyZWFkcz1ubyBcCisJCQkiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiaGF2ZWdlZC5zZXJ2aWNlIgorCQkJCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlta2RpciAtcCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCWluc3RhbGwgLXAgLW02NDQgJHtCfS9pbml0LmQvaGF2ZWdlZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oZXhlZGl0L2hleGVkaXQvMDAwMS1kb24tdC1zdHJpcC13aGVuLWluc3RhbGxpbmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oZXhlZGl0L2hleGVkaXQvMDAwMS1kb24tdC1zdHJpcC13aGVuLWluc3RhbGxpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM4NGIwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hleGVkaXQvaGV4ZWRpdC8wMDAxLWRvbi10LXN0cmlwLXdoZW4taW5zdGFsbGluZy5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIGNjNjcyNDZjYTY4MzllNWIzZjZhMjg2ZjEwZWQyNGMyMjViNzdhNWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/RXJpYz0yMEI9QzM9QTluYXJkPz0gPGVyaWNAZXVrcmVhLmNvbT4KK0RhdGU6IFRodSwgNCBKdWwgMjAxMyAxMjozNDozMiArMDIwMAorU3ViamVjdDogW1BBVENIXSBkb24ndCBzdHJpcCB3aGVuIGluc3RhbGxpbmcKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworU2lnbmVkLW9mZi1ieTogRXJpYyBCw6luYXJkIDxlcmljQGV1a3JlYS5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKy0tLQorIE1ha2VmaWxlLmluIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgoraW5kZXggMTU5NDYzZS4uNzM1Y2M3MiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmluCisrKysgYi9NYWtlZmlsZS5pbgorQEAgLTQyLDYgKzQyLDYgQEAgZGlzdGNsZWFuOiBjbGVhbgorIAorIGluc3RhbGw6ICQoUFJPRFVDVCkKKyAJJChJTlNUQUxMKSAtZCAtbSA3NTUgJChERVNURElSKSQoYmluZGlyKQorLQkkKElOU1RBTEwpIC1zIC1tIDc1NSAkKFBST0RVQ1QpICQoREVTVERJUikkKGJpbmRpcikKKysJJChJTlNUQUxMKSAtbSA3NTUgJChQUk9EVUNUKSAkKERFU1RESVIpJChiaW5kaXIpCisgCSQoSU5TVEFMTCkgLWQgLW0gNzU1ICQoREVTVERJUikkKG1hbmRpcikvbWFuMQorIAkkKElOU1RBTEwpIC1tIDY0NCAkKFBST0RVQ1QpLjEgJChERVNURElSKSQobWFuZGlyKS9tYW4xCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hleGVkaXQvaGV4ZWRpdF8xLjIuMTMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oZXhlZGl0L2hleGVkaXRfMS4yLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZGY1YjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oZXhlZGl0L2hleGVkaXRfMS4yLjEzLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAidmlldyBhbmQgZWRpdCBmaWxlcyBpbiBoZXhhZGVjaW1hbCBvciBpbiBBU0NJSSIKK0hPTUVQQUdFID0gImh0dHA6Ly9yaWdhdXgub3JnL2hleGVkaXQuaHRtbCIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorREVQRU5EUyA9ICJuY3Vyc2VzIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKKworU1JDX1VSSSA9ICJodHRwOi8vcmlnYXV4Lm9yZy8ke0JQfS5zcmMudGd6IFwKKyAgICBmaWxlOi8vMDAwMS1kb24tdC1zdHJpcC13aGVuLWluc3RhbGxpbmcucGF0Y2ggIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTVhZjEzNzhkMDI4NTEyYTljYWQyN2E1YmEzZTE1ZjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmExMjZkYTMwYTc3ZjVjMGIwODAzOGFhN2E4ODFkOTEwZTNiNjVkMTM3NjdmYjU0YzU4Yzk4Mzk2M2I4OGRkNyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9ocGxpcC9ocGxpcC0zLjEyLjYvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaHBsaXAvaHBsaXAtMy4xMi42L2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMWMwMDVjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaHBsaXAvaHBsaXAtMy4xMi42L2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDE0IEBACitJbmRleDogaHBsaXAtMy4xMi42L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGhwbGlwLTMuMTIuNi5vcmlnL2NvbmZpZ3VyZS5pbgkyMDE0LTA3LTE2IDIwOjAzOjUxLjMxMDA0NDE5NiArMDAwMAorKysrIGhwbGlwLTMuMTIuNi9jb25maWd1cmUuaW4JMjAxNC0wNy0xOCAwNzo1MzozMS41ODk1NTkxOTIgKzAwMDAKK0BAIC0yNyw4ICsyNyw3IEBACisgCisgI0FDX1BSRVJFUSgyLjU5KQorIEFDX0lOSVQoW0hQIExpbnV4IEltYWdpbmcgYW5kIFByaW50aW5nXSwgWzMuMTIuNl0sIFszLjEyLjZdLCBbaHBsaXBdKQorLSNBTV9JTklUX0FVVE9NQUtFKFsxLjkgZm9yZWlnbl0pCistQU1fSU5JVF9BVVRPTUFLRQorK0FNX0lOSVRfQVVUT01BS0UoWzEuOSBmb3JlaWduXSkKKyBBQ19ESVNBQkxFX1NUQVRJQworIAorICMgQ2hlY2tzIGZvciBwcm9ncmFtcy4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hwbGlwL2hwbGlwLTMuMTIuNi9jdXBzLTEuNi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hwbGlwL2hwbGlwLTMuMTIuNi9jdXBzLTEuNi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGYwMWFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaHBsaXAvaHBsaXAtMy4xMi42L2N1cHMtMS42LnBhdGNoCkBAIC0wLDAgKzEsMzk1IEBACitJbXBvcnRlZCBmcm9tIGdlbnRvbzoKK2h0dHBzOi8vYnVncy5nZW50b28ub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg2NzIKKworZGlmZiAtTmF1ciBocGxpcC0zLjEyLjZfb2xkL3BybnQvY3Vwc2V4dC9jdXBzZXh0LmMgaHBsaXAtMy4xMi42L3BybnQvY3Vwc2V4dC9jdXBzZXh0LmMKKy0tLSBocGxpcC0zLjEyLjZfb2xkL3BybnQvY3Vwc2V4dC9jdXBzZXh0LmMJMjAxMi0wOC0wNCAwOToxODoxOC4zODgzMzAwMzggKzAyMDAKKysrKyBocGxpcC0zLjEyLjYvcHJudC9jdXBzZXh0L2N1cHNleHQuYwkyMDEyLTA4LTA0IDA5OjE4OjI3Ljg1NTE4MTMyNyArMDIwMAorQEAgLTg3LDYgKzg3LDQ2IEBACisgI2RlZmluZSBQWV9TU0laRV9UX01JTiBJTlRfTUlODQorICNlbmRpZg0KKyANCisrI2lmIChDVVBTX1ZFUlNJT05fTUFKT1IgPiAxKSB8fCAoQ1VQU19WRVJTSU9OX01JTk9SID4gNSkNCisrI2RlZmluZSBIQVZFX0NVUFNfMV82IDENCisrI2VuZGlmDQorKw0KKysjaWZuZGVmIEhBVkVfQ1VQU18xXzYNCisrI2RlZmluZSBpcHBHZXRDb3VudChhdHRyKSAgICAgYXR0ci0+bnVtX3ZhbHVlcw0KKysjZGVmaW5lIGlwcEdldEdyb3VwVGFnKGF0dHIpICBhdHRyLT5ncm91cF90YWcNCisrI2RlZmluZSBpcHBHZXRWYWx1ZVRhZyhhdHRyKSAgYXR0ci0+dmFsdWVfdGFnDQorKyNkZWZpbmUgaXBwR2V0TmFtZShhdHRyKSAgICAgIGF0dHItPm5hbWUNCisrI2RlZmluZSBpcHBHZXRCb29sZWFuKGF0dHIsIGVsZW1lbnQpIGF0dHItPnZhbHVlc1tlbGVtZW50XS5ib29sZWFuDQorKyNkZWZpbmUgaXBwR2V0SW50ZWdlcihhdHRyLCBlbGVtZW50KSBhdHRyLT52YWx1ZXNbZWxlbWVudF0uaW50ZWdlcg0KKysjZGVmaW5lIGlwcEdldFN0YXR1c0NvZGUoaXBwKSBpcHAtPnJlcXVlc3Quc3RhdHVzLnN0YXR1c19jb2RlDQorKyNkZWZpbmUgaXBwR2V0U3RyaW5nKGF0dHIsIGVsZW1lbnQsIGxhbmd1YWdlKSBhdHRyLT52YWx1ZXNbZWxlbWVudF0uc3RyaW5nLnRleHQNCisrDQorK3N0YXRpYyBpcHBfYXR0cmlidXRlX3QgKiBpcHBGaXJzdEF0dHJpYnV0ZSggaXBwX3QgKmlwcCApDQorK3sNCisrICAgIGlmICghaXBwKQ0KKysgICAgICAgIHJldHVybiAoTlVMTCk7DQorKyAgICByZXR1cm4gKGlwcC0+Y3VycmVudCA9IGlwcC0+YXR0cnMpOw0KKyt9DQorKw0KKytzdGF0aWMgaXBwX2F0dHJpYnV0ZV90ICogaXBwTmV4dEF0dHJpYnV0ZSggaXBwX3QgKmlwcCApDQorK3sNCisrICAgIGlmICghaXBwIHx8ICFpcHAtPmN1cnJlbnQpDQorKyAgICAgICAgcmV0dXJuIChOVUxMKTsNCisrICAgIHJldHVybiAoaXBwLT5jdXJyZW50ID0gaXBwLT5jdXJyZW50LT5uZXh0KTsNCisrfQ0KKysNCisrc3RhdGljIGludCBpcHBTZXRPcGVyYXRpb24oIGlwcF90ICppcHAsIGlwcF9vcF90IG9wICkNCisrew0KKysgICAgaXBwLT5yZXF1ZXN0Lm9wLm9wZXJhdGlvbl9pZCA9IG9wOw0KKysgICAgcmV0dXJuICgxKTsNCisrfQ0KKysNCisrc3RhdGljIGludCBpcHBTZXRSZXF1ZXN0SWQoIGlwcF90ICppcHAsIGludCByZXF1ZXN0X2lkICkNCisrew0KKysgICAgaXBwLT5yZXF1ZXN0LmFueS5yZXF1ZXN0X2lkID0gcmVxdWVzdF9pZDsNCisrICAgIHJldHVybiAoMSk7DQorK30NCisrI2VuZGlmDQorIA0KKyBpbnQgZ19udW1fb3B0aW9ucyA9IDA7DQorIGN1cHNfb3B0aW9uX3QgKiBnX29wdGlvbnM7DQorQEAgLTMzMyw4ICszNzMsOCBAQAorICAgICByZXF1ZXN0ID0gaXBwTmV3KCk7DQorICAgICBsYW5ndWFnZSA9IGN1cHNMYW5nRGVmYXVsdCgpOw0KKyANCistICAgIHJlcXVlc3QtPnJlcXVlc3Qub3Aub3BlcmF0aW9uX2lkID0gQ1VQU19HRVRfUFJJTlRFUlM7DQorLSAgICByZXF1ZXN0LT5yZXF1ZXN0LmFueS5yZXF1ZXN0X2lkID0gMTsNCisrICAgIGlwcFNldE9wZXJhdGlvbiggcmVxdWVzdCwgQ1VQU19HRVRfUFJJTlRFUlMgKTsNCisrICAgIGlwcFNldFJlcXVlc3RJZCAoIHJlcXVlc3QsIDEpOw0KKyANCisgICAgIGlwcEFkZFN0cmluZyggcmVxdWVzdCwgSVBQX1RBR19PUEVSQVRJT04sIElQUF9UQUdfQ0hBUlNFVCwNCisgICAgICAgICAgICAgICAgICAgImF0dHJpYnV0ZXMtY2hhcnNldCIsIE5VTEwsIGN1cHNMYW5nRW5jb2RpbmcoIGxhbmd1YWdlICkgKTsNCitAQCAtMzc4LDEwICs0MTgsMTAgQEAKKyAgICAgICAgIGlwcF9wc3RhdGVfdCBzdGF0ZTsNCisgICAgICAgICBpbnQgaSA9IDA7DQorIA0KKy0gICAgICAgIGZvciAoIGF0dHIgPSByZXNwb25zZS0+YXR0cnM7IGF0dHIgIT0gTlVMTDsgYXR0ciA9IGF0dHItPm5leHQgKQ0KKysgICAgICAgIGZvciAoIGF0dHIgPSBpcHBGaXJzdEF0dHJpYnV0ZSggcmVzcG9uc2UgKTsgYXR0ciAhPSBOVUxMOyBhdHRyID0gaXBwTmV4dEF0dHJpYnV0ZSggcmVzcG9uc2UgKSApDQorICAgICAgICAgew0KKy0gICAgICAgICAgICB3aGlsZSAoIGF0dHIgIT0gTlVMTCAmJiBhdHRyLT5ncm91cF90YWcgIT0gSVBQX1RBR19QUklOVEVSICkNCistICAgICAgICAgICAgICAgIGF0dHIgPSBhdHRyLT5uZXh0Ow0KKysgICAgICAgICAgICB3aGlsZSAoIGF0dHIgIT0gTlVMTCAmJiBpcHBHZXRHcm91cFRhZyggYXR0ciApICE9IElQUF9UQUdfUFJJTlRFUiApDQorKyAgICAgICAgICAgICAgICBhdHRyID0gaXBwTmV4dEF0dHJpYnV0ZSggcmVzcG9uc2UgKTsNCisgDQorICAgICAgICAgICAgIGlmICggYXR0ciA9PSBOVUxMICkNCisgICAgICAgICAgICAgICAgIGJyZWFrOw0KK0BAIC0zOTAsNDEgKzQzMCw0MSBAQAorICAgICAgICAgICAgIHN0YXRlID0gSVBQX1BSSU5URVJfSURMRTsNCisgICAgICAgICAgICAgYWNjZXB0aW5nID0gMDsNCisgDQorLSAgICAgICAgICAgIHdoaWxlICggYXR0ciAhPSBOVUxMICYmIGF0dHItPmdyb3VwX3RhZyA9PSBJUFBfVEFHX1BSSU5URVIgKQ0KKysgICAgICAgICAgICB3aGlsZSAoIGF0dHIgIT0gTlVMTCAmJiBpcHBHZXRHcm91cFRhZyggYXR0ciApID09IElQUF9UQUdfUFJJTlRFUiApDQorICAgICAgICAgICAgIHsNCistICAgICAgICAgICAgICAgIGlmICggc3RyY21wKCBhdHRyLT5uYW1lLCAicHJpbnRlci1uYW1lIiApID09IDAgJiYNCistICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci0+dmFsdWVfdGFnID09IElQUF9UQUdfTkFNRSApDQorLSAgICAgICAgICAgICAgICAgICAgbmFtZSA9IGF0dHItPnZhbHVlc1sgMCBdLnN0cmluZy50ZXh0Ow0KKy0NCistICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBzdHJjbXAoIGF0dHItPm5hbWUsICJkZXZpY2UtdXJpIiApID09IDAgJiYNCistICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci0+dmFsdWVfdGFnID09IElQUF9UQUdfVVJJICkNCistICAgICAgICAgICAgICAgICAgICBkZXZpY2VfdXJpID0gYXR0ci0+dmFsdWVzWyAwIF0uc3RyaW5nLnRleHQ7DQorLQ0KKy0gICAgICAgICAgICAgICAgZWxzZSBpZiAoIHN0cmNtcCggYXR0ci0+bmFtZSwgInByaW50ZXItdXJpLXN1cHBvcnRlZCIgKSA9PSAwICYmDQorLSAgICAgICAgICAgICAgICAgICAgICAgIGF0dHItPnZhbHVlX3RhZyA9PSBJUFBfVEFHX1VSSSApDQorLSAgICAgICAgICAgICAgICAgICAgcHJpbnRlcl91cmkgPSBhdHRyLT52YWx1ZXNbIDAgXS5zdHJpbmcudGV4dDsNCistDQorLSAgICAgICAgICAgICAgICBlbHNlIGlmICggc3RyY21wKCBhdHRyLT5uYW1lLCAicHJpbnRlci1pbmZvIiApID09IDAgJiYNCistICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci0+dmFsdWVfdGFnID09IElQUF9UQUdfVEVYVCApDQorLSAgICAgICAgICAgICAgICAgICAgaW5mbyA9IGF0dHItPnZhbHVlc1sgMCBdLnN0cmluZy50ZXh0Ow0KKy0NCistICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBzdHJjbXAoIGF0dHItPm5hbWUsICJwcmludGVyLWxvY2F0aW9uIiApID09IDAgJiYNCistICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci0+dmFsdWVfdGFnID09IElQUF9UQUdfVEVYVCApDQorLSAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24gPSBhdHRyLT52YWx1ZXNbIDAgXS5zdHJpbmcudGV4dDsNCistDQorLSAgICAgICAgICAgICAgICBlbHNlIGlmICggc3RyY21wKCBhdHRyLT5uYW1lLCAicHJpbnRlci1tYWtlLWFuZC1tb2RlbCIgKSA9PSAwICYmDQorLSAgICAgICAgICAgICAgICAgICAgICAgIGF0dHItPnZhbHVlX3RhZyA9PSBJUFBfVEFHX1RFWFQgKQ0KKy0gICAgICAgICAgICAgICAgICAgIG1ha2VfbW9kZWwgPSBhdHRyLT52YWx1ZXNbIDAgXS5zdHJpbmcudGV4dDsNCistDQorLSAgICAgICAgICAgICAgICBlbHNlIGlmICggc3RyY21wKCBhdHRyLT5uYW1lLCAicHJpbnRlci1zdGF0ZSIgKSA9PSAwICYmDQorLSAgICAgICAgICAgICAgICAgICAgICAgIGF0dHItPnZhbHVlX3RhZyA9PSBJUFBfVEFHX0VOVU0gKQ0KKy0gICAgICAgICAgICAgICAgICAgIHN0YXRlID0gKCBpcHBfcHN0YXRlX3QgKSBhdHRyLT52YWx1ZXNbIDAgXS5pbnRlZ2VyOw0KKy0NCistICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzdHJjbXAoYXR0ci0+bmFtZSwgInByaW50ZXItaXMtYWNjZXB0aW5nLWpvYnMiKSAmJg0KKy0gICAgICAgICAgICAgICAgICAgICAgICBhdHRyLT52YWx1ZV90YWcgPT0gSVBQX1RBR19CT09MRUFOKQ0KKy0gICAgICAgICAgICAgICAgICAgIGFjY2VwdGluZyA9IGF0dHItPnZhbHVlc1sgMCBdLmJvb2xlYW47DQorKyAgICAgICAgICAgICAgICBpZiAoIHN0cmNtcCggaXBwR2V0TmFtZSggYXR0ciApLCAicHJpbnRlci1uYW1lIiApID09IDAgJiYNCisrICAgICAgICAgICAgICAgICAgICAgICAgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX05BTUUgKQ0KKysgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBpcHBHZXRTdHJpbmcoIGF0dHIsIDAsIE5VTEwgKTsNCisrDQorKyAgICAgICAgICAgICAgICBlbHNlIGlmICggc3RyY21wKCBpcHBHZXROYW1lKCBhdHRyICksICJkZXZpY2UtdXJpIiApID09IDAgJiYNCisrICAgICAgICAgICAgICAgICAgICAgICAgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX1VSSSApDQorKyAgICAgICAgICAgICAgICAgICAgZGV2aWNlX3VyaSA9IGlwcEdldFN0cmluZyggYXR0ciwgMCwgTlVMTCApOw0KKysNCisrICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBzdHJjbXAoIGlwcEdldE5hbWUoIGF0dHIgKSwgInByaW50ZXItdXJpLXN1cHBvcnRlZCIgKSA9PSAwICYmDQorKyAgICAgICAgICAgICAgICAgICAgICAgIGlwcEdldFZhbHVlVGFnKCBhdHRyICkgPT0gSVBQX1RBR19VUkkgKQ0KKysgICAgICAgICAgICAgICAgICAgIHByaW50ZXJfdXJpID0gaXBwR2V0U3RyaW5nKCBhdHRyLCAwLCBOVUxMICk7DQorKw0KKysgICAgICAgICAgICAgICAgZWxzZSBpZiAoIHN0cmNtcCggaXBwR2V0TmFtZSggYXR0ciApLCAicHJpbnRlci1pbmZvIiApID09IDAgJiYNCisrICAgICAgICAgICAgICAgICAgICAgICAgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX1RFWFQgKQ0KKysgICAgICAgICAgICAgICAgICAgIGluZm8gPSBpcHBHZXRTdHJpbmcoIGF0dHIsIDAsIE5VTEwgKTsNCisrDQorKyAgICAgICAgICAgICAgICBlbHNlIGlmICggc3RyY21wKCBpcHBHZXROYW1lKCBhdHRyICksICJwcmludGVyLWxvY2F0aW9uIiApID09IDAgJiYNCisrICAgICAgICAgICAgICAgICAgICAgICAgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX1RFWFQgKQ0KKysgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uID0gaXBwR2V0U3RyaW5nKCBhdHRyLCAwLCBOVUxMICk7DQorKw0KKysgICAgICAgICAgICAgICAgZWxzZSBpZiAoIHN0cmNtcCggaXBwR2V0TmFtZSggYXR0ciApLCAicHJpbnRlci1tYWtlLWFuZC1tb2RlbCIgKSA9PSAwICYmDQorKyAgICAgICAgICAgICAgICAgICAgICAgIGlwcEdldFZhbHVlVGFnKCBhdHRyICkgPT0gSVBQX1RBR19URVhUICkNCisrICAgICAgICAgICAgICAgICAgICBtYWtlX21vZGVsID0gaXBwR2V0U3RyaW5nKCBhdHRyLCAwLCBOVUxMICk7DQorKw0KKysgICAgICAgICAgICAgICAgZWxzZSBpZiAoIHN0cmNtcCggaXBwR2V0TmFtZSggYXR0ciApLCAicHJpbnRlci1zdGF0ZSIgKSA9PSAwICYmDQorKyAgICAgICAgICAgICAgICAgICAgICAgIGlwcEdldFZhbHVlVGFnKCBhdHRyICkgPT0gSVBQX1RBR19FTlVNICkNCisrICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9ICggaXBwX3BzdGF0ZV90ICkgaXBwR2V0SW50ZWdlciggYXR0ciwgMCApOw0KKysNCisrICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzdHJjbXAoaXBwR2V0TmFtZSggYXR0ciApLCAicHJpbnRlci1pcy1hY2NlcHRpbmctam9icyIpICYmDQorKyAgICAgICAgICAgICAgICAgICAgICAgIGlwcEdldFZhbHVlVGFnKCBhdHRyICkgPT0gSVBQX1RBR19CT09MRUFOKQ0KKysgICAgICAgICAgICAgICAgICAgIGFjY2VwdGluZyA9IGlwcEdldEJvb2xlYW4oIGF0dHIsIDAgKTsNCisgDQorLSAgICAgICAgICAgICAgICBhdHRyID0gYXR0ci0+bmV4dDsNCisrICAgICAgICAgICAgICAgIGF0dHIgPSBpcHBOZXh0QXR0cmlidXRlKCByZXNwb25zZSApOw0KKyAgICAgICAgICAgICB9DQorIA0KKyAgICAgICAgICAgICBpZiAoIGRldmljZV91cmkgPT0gTlVMTCApDQorQEAgLTUyMiw4ICs1NjIsOCBAQAorICAgICByZXF1ZXN0ID0gaXBwTmV3KCk7DQorICAgICBsYW5ndWFnZSA9IGN1cHNMYW5nRGVmYXVsdCgpOw0KKyANCistICAgIHJlcXVlc3QtPnJlcXVlc3Qub3Aub3BlcmF0aW9uX2lkID0gQ1VQU19BRERfUFJJTlRFUjsNCistICAgIHJlcXVlc3QtPnJlcXVlc3QuYW55LnJlcXVlc3RfaWQgPSAxOw0KKysgICAgaXBwU2V0T3BlcmF0aW9uKCByZXF1ZXN0LCBDVVBTX0FERF9QUklOVEVSICk7DQorKyAgICBpcHBTZXRSZXF1ZXN0SWQgKCByZXF1ZXN0LCAxICk7DQorIA0KKyAgICAgaXBwQWRkU3RyaW5nKCByZXF1ZXN0LCBJUFBfVEFHX09QRVJBVElPTiwgSVBQX1RBR19DSEFSU0VULA0KKyAgICAgICAgICAgICAgICAgICAiYXR0cmlidXRlcy1jaGFyc2V0IiwgTlVMTCwgY3Vwc0xhbmdFbmNvZGluZyggbGFuZ3VhZ2UgKSApOw0KK0BAIC01NjgsNyArNjA4LDcgQEAKKyAgICAgfQ0KKyAgICAgZWxzZQ0KKyAgICAgew0KKy0gICAgICAgIHN0YXR1cyA9IHJlc3BvbnNlLT5yZXF1ZXN0LnN0YXR1cy5zdGF0dXNfY29kZTsNCisrICAgICAgICBzdGF0dXMgPSBpcHBHZXRTdGF0dXNDb2RlKCByZXNwb25zZSApOw0KKyAgICAgICAgIC8vaXBwRGVsZXRlKCByZXNwb25zZSApOw0KKyAgICAgICAgIHIgPSAxOw0KKyAgICAgfQ0KK0BAIC02MzEsOCArNjcxLDggQEAKKyAgICAgICAgKi8NCisgICAgIHJlcXVlc3QgPSBpcHBOZXcoKTsNCisgDQorLSAgICByZXF1ZXN0LT5yZXF1ZXN0Lm9wLm9wZXJhdGlvbl9pZCA9IENVUFNfREVMRVRFX1BSSU5URVI7DQorLSAgICByZXF1ZXN0LT5yZXF1ZXN0Lm9wLnJlcXVlc3RfaWQgPSAxOw0KKysgICAgaXBwU2V0T3BlcmF0aW9uKCByZXF1ZXN0LCBDVVBTX0RFTEVURV9QUklOVEVSICk7DQorKyAgICBpcHBTZXRSZXF1ZXN0SWQgKCByZXF1ZXN0LCAxICk7DQorIA0KKyAgICAgbGFuZ3VhZ2UgPSBjdXBzTGFuZ0RlZmF1bHQoKTsNCisgDQorQEAgLTY1MCw3ICs2OTAsNyBAQAorICAgICAgKi8NCisgICAgIHJlc3BvbnNlID0gY3Vwc0RvUmVxdWVzdCggaHR0cCwgcmVxdWVzdCwgIi9hZG1pbi8iICk7DQorIA0KKy0gICAgaWYgKCAoIHJlc3BvbnNlICE9IE5VTEwgKSAmJiAoIHJlc3BvbnNlLT5yZXF1ZXN0LnN0YXR1cy5zdGF0dXNfY29kZSA8PSBJUFBfT0tfQ09ORkxJQ1QgKSApDQorKyAgICBpZiAoICggcmVzcG9uc2UgIT0gTlVMTCApICYmICggaXBwR2V0U3RhdHVzQ29kZSggcmVzcG9uc2UgKSA8PSBJUFBfT0tfQ09ORkxJQ1QgKSApDQorICAgICB7DQorICAgICAgICAgciA9IDE7DQorICAgICB9DQorQEAgLTcyMSw4ICs3NjEsOCBAQAorIA0KKyAgICAgcmVxdWVzdCA9IGlwcE5ldygpOw0KKyANCistICAgIHJlcXVlc3QtPnJlcXVlc3Qub3Aub3BlcmF0aW9uX2lkID0gQ1VQU19TRVRfREVGQVVMVDsNCistICAgIHJlcXVlc3QtPnJlcXVlc3Qub3AucmVxdWVzdF9pZCA9IDE7DQorKyAgICBpcHBTZXRPcGVyYXRpb24oIHJlcXVlc3QsIENVUFNfU0VUX0RFRkFVTFQgKTsNCisrICAgIGlwcFNldFJlcXVlc3RJZCAoIHJlcXVlc3QsIDEgKTsNCisgDQorICAgICBsYW5ndWFnZSA9IGN1cHNMYW5nRGVmYXVsdCgpOw0KKyANCitAQCAtNzQzLDcgKzc4Myw3IEBACisgDQorICAgICByZXNwb25zZSA9IGN1cHNEb1JlcXVlc3QoIGh0dHAsIHJlcXVlc3QsICIvYWRtaW4vIiApOw0KKyANCistICAgIGlmICggKCByZXNwb25zZSAhPSBOVUxMICkgJiYgKCByZXNwb25zZS0+cmVxdWVzdC5zdGF0dXMuc3RhdHVzX2NvZGUgPD0gSVBQX09LX0NPTkZMSUNUICkgKQ0KKysgICAgaWYgKCAoIHJlc3BvbnNlICE9IE5VTEwgKSAmJiAoIGlwcEdldFN0YXR1c0NvZGUoIHJlc3BvbnNlICkgPD0gSVBQX09LX0NPTkZMSUNUICkgKQ0KKyAgICAgew0KKyAgICAgICAgIHIgPSAxOw0KKyAgICAgfQ0KK0BAIC03OTcsOCArODM3LDggQEAKKyANCisgICAgIHJlcXVlc3QgPSBpcHBOZXcoKTsNCisgDQorLSAgICByZXF1ZXN0LT5yZXF1ZXN0Lm9wLm9wZXJhdGlvbl9pZCA9IG9wOw0KKy0gICAgcmVxdWVzdC0+cmVxdWVzdC5vcC5yZXF1ZXN0X2lkID0gMTsNCisrICAgIGlwcFNldE9wZXJhdGlvbiggcmVxdWVzdCwgb3AgKTsNCisrICAgIGlwcFNldFJlcXVlc3RJZCAoIHJlcXVlc3QsIDEgKTsNCisgDQorICAgICBsYW5ndWFnZSA9IGN1cHNMYW5nRGVmYXVsdCgpOw0KKyANCitAQCAtODIyLDcgKzg2Miw3IEBACisgDQorICAgICByZXNwb25zZSA9IGN1cHNEb1JlcXVlc3QoaHR0cCwgcmVxdWVzdCwgIi9hZG1pbi8iKTsNCisgDQorLSAgICBpZiAoKCByZXNwb25zZSAhPSBOVUxMICkgJiYgKHJlc3BvbnNlLT5yZXF1ZXN0LnN0YXR1cy5zdGF0dXNfY29kZSA8PSBJUFBfT0tfQ09ORkxJQ1QpKQ0KKysgICAgaWYgKCggcmVzcG9uc2UgIT0gTlVMTCApICYmIChpcHBHZXRTdGF0dXNDb2RlKCByZXNwb25zZSApIDw9IElQUF9PS19DT05GTElDVCkpDQorICAgICB7DQorICAgICAgICAgciA9IDE7DQorICAgICB9DQorQEAgLTgzNyw3ICs4NzcsNyBAQAorICAgICBpZiAoIHJlc3BvbnNlICE9IE5VTEwgKQ0KKyAgICAgICAgIGlwcERlbGV0ZSggcmVzcG9uc2UgKTsNCisgDQorLSAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSggImkiLCByICk7Ow0KKysgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoICJpIiwgciApOw0KKyB9DQorIA0KKyANCitAQCAtMTExNiw4ICsxMTU2LDggQEAKKyANCisgICAgIHJlcXVlc3QgPSBpcHBOZXcoKTsNCisgDQorLSAgICByZXF1ZXN0LT5yZXF1ZXN0Lm9wLm9wZXJhdGlvbl9pZCA9IENVUFNfR0VUX1BQRFM7DQorLSAgICByZXF1ZXN0LT5yZXF1ZXN0Lm9wLnJlcXVlc3RfaWQgICA9IDE7DQorKyAgICBpcHBTZXRPcGVyYXRpb24oIHJlcXVlc3QsIENVUFNfR0VUX1BQRFMgKTsNCisrICAgIGlwcFNldFJlcXVlc3RJZCAoIHJlcXVlc3QsIDEgKTsNCisgDQorICAgICBsYW5ndWFnZSA9IGN1cHNMYW5nRGVmYXVsdCgpOw0KKyANCitAQCAtMTE0Myw0MyArMTE4Myw0MyBAQAorICAgICBpZiAoKHJlc3BvbnNlID0gY3Vwc0RvUmVxdWVzdChodHRwLCByZXF1ZXN0LCAiLyIpKSAhPSBOVUxMKQ0KKyAgICAgew0KKyANCistICAgICAgICBmb3IgKGF0dHIgPSByZXNwb25zZS0+YXR0cnM7IGF0dHI7IGF0dHIgPSBhdHRyLT5uZXh0KQ0KKysgICAgICAgIGZvciAoYXR0ciA9IGlwcEZpcnN0QXR0cmlidXRlKCByZXNwb25zZSApOyBhdHRyOyBhdHRyID0gaXBwTmV4dEF0dHJpYnV0ZSggcmVzcG9uc2UgKSkNCisgICAgICAgICB7DQorICAgICAgICAgICAgIFB5T2JqZWN0ICpkaWN0Ow0KKyAgICAgICAgICAgICBjaGFyICpwcGRuYW1lID0gTlVMTDsNCisgDQorLSAgICAgICAgICAgIHdoaWxlIChhdHRyICYmIGF0dHItPmdyb3VwX3RhZyAhPSBJUFBfVEFHX1BSSU5URVIpDQorLSAgICAgICAgICAgICAgICBhdHRyID0gYXR0ci0+bmV4dDsNCisrICAgICAgICAgICAgd2hpbGUgKGF0dHIgJiYgaXBwR2V0R3JvdXBUYWcoIGF0dHIgKSAhPSBJUFBfVEFHX1BSSU5URVIpDQorKyAgICAgICAgICAgICAgICBhdHRyID0gaXBwTmV4dEF0dHJpYnV0ZSggcmVzcG9uc2UgKTsNCisgDQorICAgICAgICAgICAgIGlmICghYXR0cikNCisgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyANCisgICAgICAgICAgICAgZGljdCA9IFB5RGljdF9OZXcgKCk7DQorIA0KKy0gICAgICAgICAgICBmb3IgKDsgYXR0ciAmJiBhdHRyLT5ncm91cF90YWcgPT0gSVBQX1RBR19QUklOVEVSOyBhdHRyID0gYXR0ci0+bmV4dCkNCisrICAgICAgICAgICAgZm9yICg7IGF0dHIgJiYgaXBwR2V0R3JvdXBUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX1BSSU5URVI7IGF0dHIgPSBpcHBOZXh0QXR0cmlidXRlKCByZXNwb25zZSApKQ0KKyAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICBQeU9iamVjdCAqdmFsID0gTlVMTDsNCisgDQorLSAgICAgICAgICAgICAgICBpZiAoIXN0cmNtcCAoYXR0ci0+bmFtZSwgInBwZC1uYW1lIikgJiYgYXR0ci0+dmFsdWVfdGFnID09IElQUF9UQUdfTkFNRSkNCisrICAgICAgICAgICAgICAgIGlmICghc3RyY21wIChpcHBHZXROYW1lKCBhdHRyICksICJwcGQtbmFtZSIpICYmIGlwcEdldFZhbHVlVGFnKCBhdHRyICkgPT0gSVBQX1RBR19OQU1FKQ0KKyAgICAgICAgICAgICAgICAgew0KKy0gICAgICAgICAgICAgICAgICAgIHBwZG5hbWUgPSBhdHRyLT52YWx1ZXNbMF0uc3RyaW5nLnRleHQ7DQorKyAgICAgICAgICAgICAgICAgICAgcHBkbmFtZSA9IGlwcEdldFN0cmluZyggYXR0ciwgMCwgTlVMTCApOw0KKyANCisgICAgICAgICAgICAgICAgICAgICAvL3NwcmludGYoIGJ1ZiwgInByaW50ICclcyciLCBwcGRuYW1lKTsNCisgICAgICAgICAgICAgICAgICAgICAvL1B5UnVuX1NpbXBsZVN0cmluZyggYnVmICk7DQorICAgICAgICAgICAgICAgICB9DQorIA0KKy0gICAgICAgICAgICAgICAgZWxzZSBpZiAoYXR0ci0+dmFsdWVfdGFnID09IElQUF9UQUdfVEVYVCB8fCBhdHRyLT52YWx1ZV90YWcgPT0gSVBQX1RBR19OQU1FIHx8IGF0dHItPnZhbHVlX3RhZyA9PSBJUFBfVEFHX0tFWVdPUkQpDQorLSAgICAgICAgICAgICAgICAvL2Vsc2UgaWYgKCghc3RyY21wIChhdHRyLT5uYW1lLCAicHBkLW5hdHVyYWwtbGFuZ3VhZ2UiKSAmJiBhdHRyLT52YWx1ZV90YWcgPT0gSVBQX1RBR19MQU5HVUFHRSkgfHwNCistICAgICAgICAgICAgICAgIC8vICAgICghc3RyY21wIChhdHRyLT5uYW1lLCAicHBkLW1ha2UtYW5kLW1vZGVsIikgJiYgYXR0ci0+dmFsdWVfdGFnID09IElQUF9UQUdfVEVYVCkgfHwNCistICAgICAgICAgICAgICAgIC8vICAgICghc3RyY21wIChhdHRyLT5uYW1lLCAicHBkLW1ha2UiKSAmJiBhdHRyLT52YWx1ZV90YWcgPT0gSVBQX1RBR19URVhUKSB8fA0KKy0gICAgICAgICAgICAgICAgLy8gICAgKCFzdHJjbXAgKGF0dHItPm5hbWUsICJwcGQtZGV2aWNlLWlkIikgJiYgYXR0ci0+dmFsdWVfdGFnID09IElQUF9UQUdfVEVYVCkpDQorKyAgICAgICAgICAgICAgICBlbHNlIGlmIChpcHBHZXRWYWx1ZVRhZyggYXR0ciApID09IElQUF9UQUdfVEVYVCB8fCBpcHBHZXRWYWx1ZVRhZyggYXR0ciApID09IElQUF9UQUdfTkFNRSB8fCBpcHBHZXRWYWx1ZVRhZyggYXR0ciApID09IElQUF9UQUdfS0VZV09SRCkNCisrICAgICAgICAgICAgICAgIC8vZWxzZSBpZiAoKCFzdHJjbXAgKGlwcEdldE5hbWUoIGF0dHIgKSwgInBwZC1uYXR1cmFsLWxhbmd1YWdlIikgJiYgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX0xBTkdVQUdFKSB8fA0KKysgICAgICAgICAgICAgICAgLy8gICAgKCFzdHJjbXAgKGlwcEdldE5hbWUoIGF0dHIgKSwgInBwZC1tYWtlLWFuZC1tb2RlbCIpICYmIGlwcEdldFZhbHVlVGFnKCBhdHRyICkgPT0gSVBQX1RBR19URVhUKSB8fA0KKysgICAgICAgICAgICAgICAgLy8gICAgKCFzdHJjbXAgKGlwcEdldE5hbWUoIGF0dHIgKSwgInBwZC1tYWtlIikgJiYgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX1RFWFQpIHx8DQorKyAgICAgICAgICAgICAgICAvLyAgICAoIXN0cmNtcCAoaXBwR2V0TmFtZSggYXR0ciApLCAicHBkLWRldmljZS1pZCIpICYmIGlwcEdldFZhbHVlVGFnKCBhdHRyICkgPT0gSVBQX1RBR19URVhUKSkNCisgICAgICAgICAgICAgICAgIHsNCistICAgICAgICAgICAgICAgICAgICB2YWwgPSBQeU9ial9mcm9tX1VURjgoYXR0ci0+dmFsdWVzWzBdLnN0cmluZy50ZXh0KTsNCisrICAgICAgICAgICAgICAgICAgICB2YWwgPSBQeU9ial9mcm9tX1VURjgoaXBwR2V0U3RyaW5nKCBhdHRyLCAwLCBOVUxMICkpOw0KKyAgICAgICAgICAgICAgICAgfQ0KKyANCisgICAgICAgICAgICAgICAgIGlmICh2YWwpDQorICAgICAgICAgICAgICAgICB7DQorLSAgICAgICAgICAgICAgICAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcgKGRpY3QsIGF0dHItPm5hbWUsIHZhbCk7DQorKyAgICAgICAgICAgICAgICAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcgKGRpY3QsIGlwcEdldE5hbWUoIGF0dHIgKSwgdmFsKTsNCisgICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYgKHZhbCk7DQorICAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgIH0NCitkaWZmIC1OYXVyIGhwbGlwLTMuMTIuNl9vbGQvc2Nhbi9zYW5lL2hwYWlvLmMgaHBsaXAtMy4xMi42L3NjYW4vc2FuZS9ocGFpby5jCistLS0gaHBsaXAtMy4xMi42X29sZC9zY2FuL3NhbmUvaHBhaW8uYwkyMDEyLTA4LTA0IDA5OjE4OjIxLjQ1ODM4OTkxMyArMDIwMAorKysrIGhwbGlwLTMuMTIuNi9zY2FuL3NhbmUvaHBhaW8uYwkyMDEyLTA4LTA0IDA5OjE4OjI3Ljg3NTE4MTcyMCArMDIwMAorQEAgLTQ3LDYgKzQ3LDQzIEBACisgI2RlZmluZSBERUJVR19ERUNMQVJFX09OTFkKKyAjaW5jbHVkZSAic2FuZWlfZGVidWcuaCIKKyAKKysjaWYgKENVUFNfVkVSU0lPTl9NQUpPUiA+IDEpIHx8IChDVVBTX1ZFUlNJT05fTUlOT1IgPiA1KQorKyNkZWZpbmUgSEFWRV9DVVBTXzFfNiAxCisrI2VuZGlmCisrCisrI2lmbmRlZiBIQVZFX0NVUFNfMV82CisrI2RlZmluZSBpcHBHZXRHcm91cFRhZyhhdHRyKSAgYXR0ci0+Z3JvdXBfdGFnCisrI2RlZmluZSBpcHBHZXRWYWx1ZVRhZyhhdHRyKSAgYXR0ci0+dmFsdWVfdGFnCisrI2RlZmluZSBpcHBHZXROYW1lKGF0dHIpICAgICAgYXR0ci0+bmFtZQorKyNkZWZpbmUgaXBwR2V0U3RyaW5nKGF0dHIsIGVsZW1lbnQsIGxhbmd1YWdlKSBhdHRyLT52YWx1ZXNbZWxlbWVudF0uc3RyaW5nLnRleHQKKysKKytzdGF0aWMgaXBwX2F0dHJpYnV0ZV90ICogaXBwRmlyc3RBdHRyaWJ1dGUoIGlwcF90ICppcHAgKQorK3sKKysgICAgaWYgKCFpcHApCisrICAgICAgICByZXR1cm4gKE5VTEwpOworKyAgICByZXR1cm4gKGlwcC0+Y3VycmVudCA9IGlwcC0+YXR0cnMpOworK30KKysKKytzdGF0aWMgaXBwX2F0dHJpYnV0ZV90ICogaXBwTmV4dEF0dHJpYnV0ZSggaXBwX3QgKmlwcCApCisreworKyAgICBpZiAoIWlwcCB8fCAhaXBwLT5jdXJyZW50KQorKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKysgICAgcmV0dXJuIChpcHAtPmN1cnJlbnQgPSBpcHAtPmN1cnJlbnQtPm5leHQpOworK30KKysKKytzdGF0aWMgaW50IGlwcFNldE9wZXJhdGlvbiggaXBwX3QgKmlwcCwgaXBwX29wX3Qgb3AgKQorK3sKKysgICAgaXBwLT5yZXF1ZXN0Lm9wLm9wZXJhdGlvbl9pZCA9IG9wOworKyAgICByZXR1cm4gKDEpOworK30KKysKKytzdGF0aWMgaW50IGlwcFNldFJlcXVlc3RJZCggaXBwX3QgKmlwcCwgaW50IHJlcXVlc3RfaWQgKQorK3sKKysgICAgaXBwLT5yZXF1ZXN0LmFueS5yZXF1ZXN0X2lkID0gcmVxdWVzdF9pZDsKKysgICAgcmV0dXJuICgxKTsKKyt9CisrI2VuZGlmCisrCisgc3RhdGljIFNBTkVfRGV2aWNlICoqRGV2aWNlTGlzdCA9IE5VTEw7CisgCisgc3RhdGljIGludCBBZGREZXZpY2VMaXN0KGNoYXIgKnVyaSwgY2hhciAqbW9kZWwsIFNBTkVfRGV2aWNlICoqKnBkKQorQEAgLTE4Niw4ICsyMjMsOCBAQAorICAgIC8qIEFzc2VtYmxlIHRoZSBJUFAgcmVxdWVzdCAqLworICAgIHJlcXVlc3QgPSBpcHBOZXcoKTsKKyAKKy0gICByZXF1ZXN0LT5yZXF1ZXN0Lm9wLm9wZXJhdGlvbl9pZCA9IENVUFNfR0VUX1BSSU5URVJTOworLSAgIHJlcXVlc3QtPnJlcXVlc3QuYW55LnJlcXVlc3RfaWQgID0gMTsKKysgICBpcHBTZXRPcGVyYXRpb24oIHJlcXVlc3QsIENVUFNfR0VUX1BSSU5URVJTICk7CisrICAgaXBwU2V0UmVxdWVzdElkKCByZXF1ZXN0LCAxICk7CisgCisgICAgaXBwQWRkU3RyaW5nKHJlcXVlc3QsIElQUF9UQUdfT1BFUkFUSU9OLCBJUFBfVEFHX0NIQVJTRVQsICJhdHRyaWJ1dGVzLWNoYXJzZXQiLCBOVUxMLCAidXRmLTgiKTsKKyAgICBpcHBBZGRTdHJpbmcocmVxdWVzdCwgSVBQX1RBR19PUEVSQVRJT04sIElQUF9UQUdfTEFOR1VBR0UsICJhdHRyaWJ1dGVzLW5hdHVyYWwtbGFuZ3VhZ2UiLCBOVUxMLCAiZW4iKTsKK0BAIC0xOTcsMjAgKzIzNCwyMCBAQAorICAgIGlmICgocmVzcG9uc2UgPSBjdXBzRG9SZXF1ZXN0KGh0dHAsIHJlcXVlc3QsICIvIikpID09IE5VTEwpCisgICAgICAgZ290byBidWdvdXQ7CisgCistICAgZm9yIChhdHRyID0gcmVzcG9uc2UtPmF0dHJzOyBhdHRyICE9IE5VTEw7IGF0dHIgPSBhdHRyLT5uZXh0KQorKyAgIGZvciAoYXR0ciA9IGlwcEZpcnN0QXR0cmlidXRlICggcmVzcG9uc2UgKTsgYXR0ciAhPSBOVUxMOyBhdHRyID0gaXBwTmV4dEF0dHJpYnV0ZSggcmVzcG9uc2UgKSkKKyAgICB7CisgICAgICAgLyogU2tpcCBsZWFkaW5nIGF0dHJpYnV0ZXMgdW50aWwgd2UgaGl0IGEgcHJpbnRlci4gKi8KKy0gICAgICB3aGlsZSAoYXR0ciAhPSBOVUxMICYmIGF0dHItPmdyb3VwX3RhZyAhPSBJUFBfVEFHX1BSSU5URVIpCistICAgICAgICAgYXR0ciA9IGF0dHItPm5leHQ7CisrICAgICAgd2hpbGUgKGF0dHIgIT0gTlVMTCAmJiBpcHBHZXRHcm91cFRhZyggYXR0ciApICE9IElQUF9UQUdfUFJJTlRFUikKKysgICAgICAgICBhdHRyID0gaXBwTmV4dEF0dHJpYnV0ZSggcmVzcG9uc2UgKTsKKyAKKyAgICAgICBpZiAoYXR0ciA9PSBOVUxMKQorICAgICAgICAgIGJyZWFrOworIAorLSAgICAgIHdoaWxlIChhdHRyICE9IE5VTEwgJiYgYXR0ci0+Z3JvdXBfdGFnID09IElQUF9UQUdfUFJJTlRFUikKKysgICAgICB3aGlsZSAoYXR0ciAhPSBOVUxMICYmIGlwcEdldEdyb3VwVGFnKCBhdHRyICkgPT0gSVBQX1RBR19QUklOVEVSKQorICAgICAgIHsKKy0gICAgICAgICBpZiAoc3RyY21wKGF0dHItPm5hbWUsICJkZXZpY2UtdXJpIikgPT0gMCAmJiBhdHRyLT52YWx1ZV90YWcgPT0gSVBQX1RBR19VUkkgJiYgQWRkQ3Vwc0xpc3QoYXR0ci0+dmFsdWVzWzBdLnN0cmluZy50ZXh0LCBwcmludGVyKSA9PSAwKQorKyAgICAgICAgIGlmIChzdHJjbXAoaXBwR2V0TmFtZSggYXR0ciApLCAiZGV2aWNlLXVyaSIpID09IDAgJiYgaXBwR2V0VmFsdWVUYWcoIGF0dHIgKSA9PSBJUFBfVEFHX1VSSSAmJiBBZGRDdXBzTGlzdChpcHBHZXRTdHJpbmcoIGF0dHIsIDAsIE5VTEwgKSwgcHJpbnRlcikgPT0gMCkKKyAgICAgICAgICAgICBjbnQrKzsKKy0gICAgICAgICBhdHRyID0gYXR0ci0+bmV4dDsKKysgICAgICAgICBhdHRyID0gaXBwTmV4dEF0dHJpYnV0ZSggcmVzcG9uc2UgKTsKKyAgICAgICB9CisgCisgICAgICAgaWYgKGF0dHIgPT0gTlVMTCkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hwbGlwL2hwbGlwLTMuMTIuNi9maXgtbGlidXNiLXBhdGhzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaHBsaXAvaHBsaXAtMy4xMi42L2ZpeC1saWJ1c2ItcGF0aHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjM0N2Y4MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hwbGlwL2hwbGlwLTMuMTIuNi9maXgtbGlidXNiLXBhdGhzLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworZGlmZiAtcnVwTiBocGxpcC0zLjEyLjZfb3JpZy9jb25maWd1cmUuaW4gaHBsaXAtMy4xMi42L2NvbmZpZ3VyZS5pbgorLS0tIGhwbGlwLTMuMTIuNl9vcmlnL2NvbmZpZ3VyZS5pbgkyMDEyLTA2LTE4IDIwOjQ0OjI0LjAwMDAwMDAwMCArMTAwMAorKysrIGhwbGlwLTMuMTIuNi9jb25maWd1cmUuaW4JMjAxMi0wOC0xNiAxMzo0MDowNy4yNTk5Mjc2NTAgKzEwMDAKK0BAIC01MjQsNiArNTI0LDggQEAgaWYgdGVzdCAiJGhwaWpzX29ubHlfYnVpbGQiID0gIm5vIjsgdGhlbgorICAgICAgIEFDX0NIRUNLX0hFQURFUlModXNiLmgsICxbQUNfTVNHX0VSUk9SKFtjYW5ub3QgZmluZCBsaWJ1c2ItZGV2ZWwgc3VwcG9ydF0sIDExKV0pCisgICAgZWxzZQorICAgICAgIEFDX0NIRUNLX0xJQihbdXNiLTEuMF0sIFtsaWJ1c2JfaW5pdF0sIFtMSUJTPSIkTElCUyJdLCBbQUNfTVNHX0VSUk9SKFtjYW5ub3QgZmluZCBsaWJ1c2IgMS4wIHN1cHBvcnRdLCAyKV0pCisrICAgICAgTElCVVNCSU5DTFVERVJPT1Q/PSIvdXNyL2luY2x1ZGUvIgorKyAgICAgIEFDX0FSR19WQVIoTElCVVNCSU5DTFVERVJPT1QsIFtwYXRoIHRvIGxpYnVzYi0xLjAgZm9sZGVyXSkKKyAgICAgICBBQ19DSEVDS19IRUFERVJTKGxpYnVzYi0xLjAvbGlidXNiLmgsICxbQUNfTVNHX0VSUk9SKFtjYW5ub3QgZmluZCBsaWJ1c2ItMS4wLWRldmVsIHN1cHBvcnRdLCAxMSldKQorICAgIGZpCisgZmkKK2RpZmYgLXJ1cE4gaHBsaXAtMy4xMi42X29yaWcvTWFrZWZpbGUuYW0gaHBsaXAtMy4xMi42L01ha2VmaWxlLmFtCistLS0gaHBsaXAtMy4xMi42X29yaWcvTWFrZWZpbGUuYW0JMjAxMi0wNi0xOCAyMDo0NDoxMy4wMDAwMDAwMDAgKzEwMDAKKysrKyBocGxpcC0zLjEyLjYvTWFrZWZpbGUuYW0JMjAxMi0wOC0xNiAxMzo0MToxMi4zMDc5MzI4MjIgKzEwMDAKK0BAIC03Miw3ICs3Miw3IEBAIGxpYmhwbXVkX2xhX1NPVVJDRVMgPSBpby9ocG11ZC9ocG11ZC5jIGkKKyAJICBpby9ocG11ZC9ocG11ZC5oIGlvL2hwbXVkL2hwbXVkaS5oIGlvL2hwbXVkL2xpc3QuaCBpby9ocG11ZC9tbGMuaCBpby9ocG11ZC9wbWwuaCBpby9ocG11ZC9kb3Q0LmMgXAorIAkgIGlvL2hwbXVkL2RvdDQuaCBpby9ocG11ZC9qZC5jIGlvL2hwbXVkL2pkLmggaW8vaHBtdWQvcHAuYyBpby9ocG11ZC9wcC5oIGlvL2hwbXVkL211c2IuaCBpby9ocG11ZC9tdXNiX2xpYnVzYjAxLmMKKyBlbHNlCistbGliaHBtdWRfbGFfQ0ZMQUdTID0gLUkvdXNyL2luY2x1ZGUvbGlidXNiLTEuMCAtRE1VRE5BTUU9XCIkKE1VRE5BTUUpXCIgLURDT05GRElSPVwiJChocGxpcF9jb25mZGlyKVwiCisrbGliaHBtdWRfbGFfQ0ZMQUdTID0gLUkvJChMSUJVU0JJTkNMVURFUk9PVCkvbGlidXNiLTEuMCAtRE1VRE5BTUU9XCIkKE1VRE5BTUUpXCIgLURDT05GRElSPVwiJChocGxpcF9jb25mZGlyKVwiCisgbGliaHBtdWRfbGFfU09VUkNFUyA9IGlvL2hwbXVkL2hwbXVkLmMgaW8vaHBtdWQvbWxjLmMgaW8vaHBtdWQvbW9kZWwuYyBpby9ocG11ZC9wbWwuYyBcCisgCSAgaW8vaHBtdWQvaHBtdWQuaCBpby9ocG11ZC9ocG11ZGkuaCBpby9ocG11ZC9saXN0LmggaW8vaHBtdWQvbWxjLmggaW8vaHBtdWQvcG1sLmggaW8vaHBtdWQvZG90NC5jIFwKKyAJICBpby9ocG11ZC9kb3Q0LmggaW8vaHBtdWQvamQuYyBpby9ocG11ZC9qZC5oIGlvL2hwbXVkL3BwLmMgaW8vaHBtdWQvcHAuaCBpby9ocG11ZC9tdXNiLmggaW8vaHBtdWQvbXVzYi5jCitAQCAtMjg2LDcgKzI4Niw3IEBAIGhwbXVkZXh0X2xhX0xJQkFERCA9IGxpYmhwbXVkLmxhCisgaWYgTElCVVNCMDFfQlVJTEQKKyBocG11ZGV4dF9sYV9DRkxBR1MgPSAtSSQoUFlUSE9OSU5DTFVERURJUikKKyBlbHNlCistaHBtdWRleHRfbGFfQ0ZMQUdTID0tSS91c3IvaW5jbHVkZS9saWJ1c2ItMS4wIC1JJChQWVRIT05JTkNMVURFRElSKQorK2hwbXVkZXh0X2xhX0NGTEFHUyA9LUkkKExJQlVTQklOQ0xVREVST09UKS9saWJ1c2ItMS4wIC1JJChQWVRIT05JTkNMVURFRElSKQorIGVuZGlmCisgCisgIyB1aSAocXQzKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaHBsaXAvaHBsaXAtMy4xMi42L3NldHVwLWFkZC1zbGVlcC1hZnRlci1jdXBzLXJlc2V0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaHBsaXAvaHBsaXAtMy4xMi42L3NldHVwLWFkZC1zbGVlcC1hZnRlci1jdXBzLXJlc2V0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlMWI2YzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9ocGxpcC9ocGxpcC0zLjEyLjYvc2V0dXAtYWRkLXNsZWVwLWFmdGVyLWN1cHMtcmVzZXQucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworLS0tIGhwbGlwLTMuMTEuMTAvc2V0dXAucHkub3JpZwkyMDExLTEwLTAyIDE0OjA2OjE5LjAwMDAwMDAwMCArMTEwMAorKysrIGhwbGlwLTMuMTEuMTAvc2V0dXAucHkJMjAxMi0wMi0yOSAwODoyMTozOS4xNjc5OTk5MzggKzExMDAKK0BAIC01NzMsNiArNTczLDcgQEAKKyAKKyAgICAgICAgICAgICBsb2cuZGVidWcoIlJlc3RhcnRpbmcgQ1VQUy4uLiIpCisgICAgICAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSB1dGlscy5ydW4ocmVzdGFydF9jdXBzKCkpCisrICAgICAgICAgICAgdGltZS5zbGVlcCgzKQorICAgICAgICAgICAgIGxvZy5kZWJ1ZygiUmVzdGFydCBDVVBTIHJldHVybmVkOiBleGl0PSVkIG91dHB1dD0lcyIgJSAoc3RhdHVzLCBvdXRwdXQpKQorIAorICAgICAgICAgICAgIGN1cHMuc2V0UGFzc3dvcmRQcm9tcHQoIllvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFkZCBhIHByaW50ZXIuIikKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hwbGlwL2hwbGlwXzMuMTIuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hwbGlwL2hwbGlwXzMuMTIuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjYyOGIxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaHBsaXAvaHBsaXBfMy4xMi42LmJiCkBAIC0wLDAgKzEsNzUgQEAKK1NVTU1BUlkgPSAiSFAgTGludXggSW1hZ2luZyBhbmQgUHJpbnRpbmciCitMSUNFTlNFPSJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQ0MmJiM2NiYmVlYjYwNjQzYTg3MzI1NzE4YjhhOGVlIgorCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9zZXR1cC1hZGQtc2xlZXAtYWZ0ZXItY3Vwcy1yZXNldC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtbGlidXNiLXBhdGhzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2N1cHMtMS42LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCBcCisiCisKK0RFUEVORFMgKz0gImN1cHMgcHl0aG9uIGxpYnVzYiIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHB5dGhvbi1kaXIgcHl0aG9ubmF0aXZlIHBrZ2NvbmZpZworCitleHBvcnQgQlVJTERfU1lTCitleHBvcnQgSE9TVF9TWVMKK2V4cG9ydCBTVEFHSU5HX0lOQ0RJUgorZXhwb3J0IFNUQUdJTkdfTElCRElSCisKK0VYVFJBX09FQ09ORiArPSAiXAorICAgICAgICBMSUJVU0JJTkNMVURFUk9PVD0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgIC0tZGlzYWJsZS1uZXR3b3JrLWJ1aWxkIFwKKyAgICAgICAgLS1kaXNhYmxlLWRvYy1idWlsZCBcCisgICAgICAgIC0tZGlzYWJsZS1wcC1idWlsZCBcCisgICAgICAgIC0tZGlzYWJsZS1zY2FuLWJ1aWxkIFwKKyAgICAgICAgLS1kaXNhYmxlLWd1aS1idWlsZCBcCisgICAgICAgIC0tZGlzYWJsZS1mYXgtYnVpbGQgXAorICAgICAgICAtLWRpc2FibGUtcG9saWN5a2l0ICBcCisgICAgICAgIC0tZGlzYWJsZS1xdDQgXAorICAgICAgICAtLWRpc2FibGUtcXQzIFwKKyAgICAgICAgLS1kaXNhYmxlLWRidXMtYnVpbGQgXAorICAgICAgICAtLWRpc2FibGUtZm9vbWF0aWMtZHJ2LWluc3RhbGwgXAorICAgICAgICAtLWVuYWJsZS1mb29tYXRpYy1wcGQtaW5zdGFsbCAgXAorICAgICAgICAtLWVuYWJsZS1mb29tYXRpYy1yaXAtaHBsaXAtaW5zdGFsbCBcCisgICAgICAgIC0td2l0aC1jdXBzYmFja2VuZGRpcj0ke2xpYmRpcn0vY3Vwcy9iYWNrZW5kIFwKKyAgICAgICAgLS13aXRoLWN1cHNmaWx0ZXJkaXI9JHtsaWJkaXJ9L2N1cHMvZmlsdGVyIFwKKyIKKworUEFDS0FHRVMgKz0gIiR7UE59LXBwZCAke1BOfS1jdXBzICR7UE59LWJhY2tlbmQgJHtQTn0tZmlsdGVyICR7UE59LWhhbCIKKworUkRFUEVORFNfJHtQTn0gKz0gIiBcCisgICAgICAgIHB5dGhvbi1zeXNsb2cgXAorICAgICAgICBweXRob24tcHByaW50IFwKKyAgICAgICAgcHl0aG9uLWNvbXByZXNzaW9uIFwKKyAgICAgICAgcHl0aG9uLXNoZWxsIFwKKyAgICAgICAgcHl0aG9uLXhtbCBcCisgICAgICAgIHB5dGhvbi11bml4YWRtaW4gXAorICAgICAgICBweXRob24taHRtbCBcCisgICAgICAgIHB5dGhvbi1yZXNvdXJjZSBcCisgICAgICAgIHB5dGhvbi10ZXJtaW5hbCBcCisgICAgICAgIHB5dGhvbi1zdWJwcm9jZXNzXAorIgorUkRFUEVORFNfJHtQTn0tZmlsdGVyICs9ICJwZXJsIgorCisjIG5lZWQgdG8gc25hZyB0aGUgZGVidWcgZmlsZSBvciBPRSB3aWxsIGZhaWwgb24gYmFja2VuZCBwYWNrYWdlCitGSUxFU18ke1BOfS1kYmcgKz0gIlwKKyAgICAgICAgJHtsaWJkaXJ9L2N1cHMvYmFja2VuZC8uZGVidWcgXAorICAgICAgICAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8uZGVidWcgXAorICAgICAgICAke2xpYmRpcn0vY3Vwcy9maWx0ZXIvLmRlYnVnICIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qLmxhIgorRklMRVNfJHtQTn0tcHBkID0gIiR7ZGF0YWRpcn0vcHBkIgorRklMRVNfJHtQTn0tY3VwcyA9ICIke2RhdGFkaXJ9L2N1cHMiCitGSUxFU18ke1BOfS1iYWNrZW5kID0gIiR7bGliZGlyfS9jdXBzL2JhY2tlbmQiCitGSUxFU18ke1BOfS1maWx0ZXIgPSAiJHtsaWJkaXJ9L2N1cHMvZmlsdGVyIgorRklMRVNfJHtQTn0taGFsID0gIiR7ZGF0YWRpcn0vaGFsIgorCitGSUxFU18ke1BOfSArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKi5zbyIKKworU1JDX1VSSVttZDVzdW1dID0gIjUzMDM5MzhlODYzMDc3NWVhNmZiMzgzYWY4NTc3NWU1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU0NTc4MDAwNzkyOTY5YWRiNTgzZTc1ZWZlYWNiOWM0NmFiNjk2NTllYzdlOTQyNGRlMzkwNjEzZjM1OTU3NzUiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2luZGVudC9pbmRlbnRfMi4yLjEwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaW5kZW50L2luZGVudF8yLjIuMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI1ZThlMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2luZGVudC9pbmRlbnRfMi4yLjEwLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiQSBHTlUgcHJvZ3JhbSBmb3IgZm9ybWF0dGluZyBDIGNvZGUiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvaW5kZW50LyIKK1NFQ1RJT04gPSAiQXBwbGljYXRpb25zL1RleHQiCitERVNDUklQVElPTiA9ICJJbmRlbnQgaXMgYSBHTlUgcHJvZ3JhbSBmb3IgYmVhdXRpZnlpbmcgQyBjb2RlLCBzbyB0aGF0IFwKK2l0IGlzIGVhc2llciB0byByZWFkLiBJbmRlbnQgY2FuIGFsc28gY29udmVydCBmcm9tIG9uZSBDIHdyaXRpbmcgc3R5bGUgXAordG8gYSBkaWZmZXJlbnQgb25lLiBJbmRlbnQgdW5kZXJzdGFuZHMgY29ycmVjdCBDIHN5bnRheCBhbmQgdHJpZXMgdG8gaGFuZGxlIFwKK2luY29ycmVjdCBDIHN5bnRheC4gXAorSW5zdGFsbCB0aGUgaW5kZW50IHBhY2thZ2UgaWYgeW91IGFyZSBkZXZlbG9waW5nIGFwcGxpY2F0aW9ucyBpbiBDIGFuZCBcCit5b3Ugd2FudCBhIHByb2dyYW0gdG8gZm9ybWF0IHlvdXIgY29kZS4iCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitERVBFTkRTID0gInZpcnR1YWwvZ2V0dGV4dCIKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9LyR7QlBOfS8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYmUzNWVhNjI3MDU3MzM4NTlmYmY4Y2FmODE2ZDg5NTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGE5YjQxYmU1YmZjYWI1ZDhjMWJlNzQyMDRiMTBhZTc4Nzg5ZmMzZGVhYmVhMDc3NWZkY2VkODY3NzI5MjYzOSIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dAorCitGSUxFU18ke1BOfS1kb2MgKz0gIi91c3IvZG9jL2luZGVudC9pbmRlbnQuaHRtbCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9pb3RvcC9pb3RvcF8wLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9pb3RvcC9pb3RvcF8wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRjYWU5OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2lvdG9wL2lvdG9wXzAuNi5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIlNpbXBsZSB0b3AtbGlrZSBJL08gbW9uaXRvciIKK0RFU0NSSVBUSU9OID0gImlvdG9wIGRvZXMgZm9yIEkvTyB1c2FnZSB3aGF0IHRvcCgxKSBkb2VzIGZvciBDUFUgdXNhZ2UuIFwKKyAgICBJdCB3YXRjaGVzIEkvTyB1c2FnZSBpbmZvcm1hdGlvbiBvdXRwdXQgYnkgdGhlIExpbnV4IGtlcm5lbCBhbmQgZGlzcGxheXMgXAorICAgIGEgdGFibGUgb2YgY3VycmVudCBJL08gdXNhZ2UgYnkgcHJvY2Vzc2VzIG9uIHRoZSBzeXN0ZW0uIgorSE9NRVBBR0UgPSAiaHR0cDovL2d1aWNoYXouZnJlZS5mci9pb3RvcC8iCisKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKKworU1JDX1VSSSA9ICJodHRwOi8vZ3VpY2hhei5mcmVlLmZyL2lvdG9wL2ZpbGVzLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiNWVmOTQ1NmIyNmQ3Njk0YWJmMzEwMWE3MmUxZTBkMWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2FkZWEyYTI0ZWRhNDliYmJhZWI0ZTZlZDIwNDIzNTViNDQxZGJkNzE2MWU4ODMwNjdhMDJiZmM4ZGNlZjc1YiIKKworaW5oZXJpdCBkaXN0dXRpbHMKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLWYgJHtEfSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L3NpdGUucHlvIHx8IHRydWUKKyAgICBybSAtZiAke0R9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vc2l0ZS5weSAgfHwgdHJ1ZQorfQorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tY3Vyc2VzIHB5dGhvbi10ZXh0dXRpbHMgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWNvZGVjcyBweXRob24tY3R5cGVzIHB5dGhvbi1wcHJpbnQgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXNoZWxsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvamFuc3Nvbi9qYW5zc29uXzIuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2phbnNzb24vamFuc3Nvbl8yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzIzNTcyOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2phbnNzb24vamFuc3Nvbl8yLjQuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJKYW5zc29uIGlzIGEgQyBsaWJyYXJ5IGZvciBlbmNvZGluZywgZGVjb2RpbmcgYW5kIG1hbmlwdWxhdGluZyBKU09OIGRhdGEiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmRpZ2lwLm9yZy9qYW5zc29uLyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9Njk0NmI3MjhlNzAwZGU4NzVlNjBlYmI0NTNjYzNhMjAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5kaWdpcC5vcmcvamFuc3Nvbi9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzQ2MjliODliZjA0MzJmMzE1OGM0NjFlODhmZTAxMTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWZjYmQxYWMzZDhiNjEwNjQ0YWNmODZhNTczMWQ3NjBiYjIyOGM5YWNiYWNlMjBhMmFkMGYyM2JhZWM3OWI0MSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2tvbmtyZXRjbXBpL2tvbmtyZXRjbXBpLW5hdGl2ZV8wLjkuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2tvbmtyZXRjbXBpL2tvbmtyZXRjbXBpLW5hdGl2ZV8wLjkuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjJhY2U5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQva29ua3JldGNtcGkva29ua3JldGNtcGktbmF0aXZlXzAuOS4yLmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiVG9vbCBmb3IgcmFwaWQgQ01QSSBwcm92aWRlcnMgZGV2ZWxvcG1lbnQiCitERVNDUklQVElPTiA9ICJcCitLb25rcmV0Q01QSSBtYWtlcyBDTVBJIHByb3ZpZGVyIGRldmVsb3BtZW50IGVhc2llciBieSBnZW5lcmF0aW5nIHR5cGUtc2FmZSBcCitjb25jcmV0ZSBDSU0gaW50ZXJmYWNlcyBmcm9tIE1PRiBkZWZpbml0aW9ucyBhbmQgYnkgcHJvdmlkaW5nIGRlZmF1bHQgXAoraW1wbGVtZW50YXRpb25zIGZvciBtYW55IG9mIHRoZSBwcm92aWRlciBvcGVyYXRpb25zLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9ybm92YWNlay9rb25rcmV0Y21waSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjY3MzI3MGJmYzM1MGQ5Y2UxZWZjODcyNGM2YzE4NzMiCitERVBFTkRTID0gImNtYWtlLW5hdGl2ZSBjbXBpLWJpbmRpbmdzLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3Jub3ZhY2VrL2tvbmtyZXRjbXBpLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9rb25rcmV0Y21waS0wLjkuMi1maXgtcmV0dXJuaW5nLWluc3RhbmNlLWZyb20tbWV0aG9kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQ01ha2VMaXN0cy50eHQtZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LS5wYXRjaCAiCisKK1NSQ1JFViA9ICI0NjBlNjQyMWMxNmE4MjE2ZDI5Y2NkMWI3NDkwZjgxNGRhYjhiNzY5IgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBuYXRpdmUgY21ha2UKK0xERkxBR1NfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICcgLWZ1c2UtbGQ9YmZkICcsICcnLCBkKX0iCisKK0VYVFJBX09FQ01BS0UgPSAiLURXSVRIX1BZVEhPTj1PTiBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29uZGl0aW9uYWwoImxpYmRpciIsICIvdXNyL2xpYjY0IiwgIi1ETElCX1NVRkZJWD02NCIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICAke0BiYXNlX2NvbmRpdGlvbmFsKCJsaWJkaXIiLCAiL3Vzci9saWIzMiIsICItRExJQl9TVUZGSVg9MzIiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICAiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtIC1yZiAke0R9JHtkYXRhZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQva29ua3JldGNtcGkva29ua3JldGNtcGkvMDAwMS1DTWFrZUxpc3RzLnR4dC1maXgtbGliNjQtY2FuLW5vdC1iZS1zaGlwZWQtaW4tNjRiaXQtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQva29ua3JldGNtcGkva29ua3JldGNtcGkvMDAwMS1DTWFrZUxpc3RzLnR4dC1maXgtbGliNjQtY2FuLW5vdC1iZS1zaGlwZWQtaW4tNjRiaXQtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwYTA2NDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9rb25rcmV0Y21waS9rb25rcmV0Y21waS8wMDAxLUNNYWtlTGlzdHMudHh0LWZpeC1saWI2NC1jYW4tbm90LWJlLXNoaXBlZC1pbi02NGJpdC0ucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSBkOTdhYzJiZjJlZDljODRmZmQ2NWZmMTA5ODkwNjhiMjAyZTA5ZmRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGVpIE1hb2h1aSA8bGVpbWFvaHVpQGNuLmZ1aml0c3UuY29tPgorRGF0ZTogTW9uLCAzIEF1ZyAyMDE1IDAwOjI5OjU0ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIENNYWtlTGlzdHMudHh0OiBmaXggbGliNjQgY2FuIG5vdCBiZSBzaGlwZWQgaW4gNjRiaXQgdGFyZ2V0CisKK1NpZ25lZC1vZmYtYnk6IExlaSBNYW9odWkgPGxlaW1hb2h1aUBjbi5mdWppdHN1LmNvbT4KKy0tLQorIENNYWtlTGlzdHMudHh0IHwgNyAtLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCBiZTU0NGQxLi4xNDY5NmU0IDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMTEsMTMgKzExLDYgQEAgc2V0KENNQUtFX01PRFVMRV9QQVRIICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9jbWFrZS9tb2R1bGVzICR7Q01BS0VfTU9EVUxFX1AKKyAKKyBmaW5kX3BhY2thZ2UoQ01QSSkKKyAKKy0jIFNldCBMSUJfU1VGRklYIHRvIDY0IG9uIDY0Yml0IGFyY2hpdGVjdHVyZXMKKy1pZihDTUFLRV9TSVpFT0ZfVk9JRF9QIEVRVUFMIDQpCistICAgIHNldChMSUJfU1VGRklYICIiKQorLWVsc2UoQ01BS0VfU0laRU9GX1ZPSURfUCBFUVVBTCA0KQorLSAgICBzZXQoTElCX1NVRkZJWCA2NCkKKy1lbmRpZihDTUFLRV9TSVpFT0ZfVk9JRF9QIEVRVUFMIDQpCistCisgb3B0aW9uKFdJVEhfUFlUSE9OICJCdWlsZCBleHBlcmltZW50YWwgUHl0aG9uIGJpbmRpbmdzIiBPRkYpCisgCisgYWRkX3N1YmRpcmVjdG9yeShjbWFrZSkKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9rb25rcmV0Y21waS9rb25rcmV0Y21waS8wMDAxLXRvLWZpeC1saWI2NC1jYW4tbm90LWJlLXNoaXBlZC1pbi02NGJpdC10YXJnZXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9rb25rcmV0Y21waS9rb25rcmV0Y21waS8wMDAxLXRvLWZpeC1saWI2NC1jYW4tbm90LWJlLXNoaXBlZC1pbi02NGJpdC10YXJnZXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RhMTNlZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2tvbmtyZXRjbXBpL2tvbmtyZXRjbXBpLzAwMDEtdG8tZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIGYzYzM5ZmQyYTRiNWY1MzMzOGI1ZjgyMTc4OGM2Mzg1OGJmODYwY2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBTdW4sIDIgQXVnIDIwMTUgMjI6MDg6NDMgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gdG8gZml4IGxpYjY0IGNhbiBub3QgYmUgc2hpcGVkIGluIDY0Yml0IHRhcmdldAorCitUbyBmaXggdGhlIHdhcm5pbmcgYXMgZm9sbG93aW5nOgorV0FSTklORzogUUEgSXNzdWU6IGtvbmtyZXRjbXBpOiBGaWxlcy9kaXJlY3RvcmllcyB3ZXJlIGluc3RhbGxlZCBidXQgbm90IHNoaXBwZWQgaW4gYW55IHBhY2thZ2U6CisgIC91c3IvbGliNjQKKyAgL3Vzci9saWI2NC9saWJrb25rcmV0LnNvCisgIC91c3IvbGliNjQvbGlia29ua3JldC5zby4wLjAuMQorICAvdXNyL2xpYjY0L2xpYmtvbmtyZXQuc28uMAorICAvdXNyL2xpYjY0L2xpYmtvbmtyZXRtb2Yuc28uMC4wLjEKKyAgL3Vzci9saWI2NC9saWJrb25rcmV0bW9mLnNvCisgIC4uLgorCitTaWduZWQtb2ZmLWJ5OiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CistLS0KKyBjbWFrZS9tb2R1bGVzL0ZpbmRLb25rcmV0Q01QSS5jbWFrZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NtYWtlL21vZHVsZXMvRmluZEtvbmtyZXRDTVBJLmNtYWtlIGIvY21ha2UvbW9kdWxlcy9GaW5kS29ua3JldENNUEkuY21ha2UKK2luZGV4IGI4ODhjZmQuLjA5N2NhZWQgMTAwNjQ0CistLS0gYS9jbWFrZS9tb2R1bGVzL0ZpbmRLb25rcmV0Q01QSS5jbWFrZQorKysrIGIvY21ha2UvbW9kdWxlcy9GaW5kS29ua3JldENNUEkuY21ha2UKK0BAIC05LDcgKzksNyBAQCBmaW5kX3BhdGgoS09OS1JFVENNUElfSU5DTFVERV9ESVIKKyBmaW5kX2xpYnJhcnkoS09OS1JFVENNUElfTElCUkFSWQorICAgICBOQU1FUyBrb25rcmV0CisgICAgIEhJTlRTICRFTlZ7S09OS1JFVENNUElfTElCX0RJUn0KKy0gICAgUEFUSF9TVUZGSVhFUyBsaWI2NCBsaWIKKysgICAgUEFUSF9TVUZGSVhFUyBsaWIgbGliNjQKKyAgICAgUEFUSFMgL3VzciAvdXNyL2xvY2FsCisgKQorIAorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2tvbmtyZXRjbXBpL2tvbmtyZXRjbXBpL2tvbmtyZXRjbXBpLTAuOS4yLWZpeC1yZXR1cm5pbmctaW5zdGFuY2UtZnJvbS1tZXRob2QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9rb25rcmV0Y21waS9rb25rcmV0Y21waS9rb25rcmV0Y21waS0wLjkuMi1maXgtcmV0dXJuaW5nLWluc3RhbmNlLWZyb20tbWV0aG9kLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1NGQwOTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9rb25rcmV0Y21waS9rb25rcmV0Y21waS9rb25rcmV0Y21waS0wLjkuMi1maXgtcmV0dXJuaW5nLWluc3RhbmNlLWZyb20tbWV0aG9kLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK1BvcnQgZnJvbSBGZWRvcmEyMAorCisgICAgfCBjb21taXQgYWNhNmM3ZjkxMGZmZTk5MzBiNTc4OTk2OWYwYWRmYWRkNjY4YmI0NgorICAgIHwgQXV0aG9yOiBNaWNoYWwgTWluYXIgPG1pbWluYXJAcmVkaGF0LmNvbT4KKyAgICB8IERhdGU6ICAgRnJpIEp1biAyMCAxMDo1MDo0NSAyMDE0ICswMjAwCisgICAgfCAKKyAgICB8ICAgICBGaXggcmV0dXJuaW5nIGluc3RhbmNlIGFzIGFuIG91dHB1dCBhcmd1bWVudCBmcm9tIG1ldGhvZAorICAgIHwgICAgIAorICAgIHwgICAgIFN1Ym1pdHRlZCBCeTogUmFkZWsgTm92YWNlayA8cm5vdmFjZWtAcmVkaGF0LmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBRaWFuIExlaSA8cWlhbmwuZm5zdEBjbi5mdWppdHN1LmNvbT4KKworZGlmZiAtLWdpdCBhL3NyYy9wcm9ncmFtL21haW4uY3BwIGIvc3JjL3Byb2dyYW0vbWFpbi5jcHAKK2luZGV4IDg4NWRjMTIuLjllNzEwOGEgMTAwNjQ0CistLS0gYS9zcmMvcHJvZ3JhbS9tYWluLmNwcAorKysrIGIvc3JjL3Byb2dyYW0vbWFpbi5jcHAKK0BAIC01MDYsNyArNTA2LDExIEBAIHN0YXRpYyB2b2lkIGdlbl9mZWF0dXJlX2RlY2xzKAorIAorICAgICAgICAgICAgIC8vIEFkZCBzaWcgZW50cnkgW3R5cGVdW2xlbmd0aF1bbmFtZV1bemVyby10ZXJtaW5hdG9yXQorIAorLSAgICAgICAgICAgIEtUYWcgdGFnID0gX2t0YWcocGQtPmRhdGFfdHlwZSwgcGQtPmFycmF5X2luZGV4LCBrZXksIGZhbHNlLCBmYWxzZSk7CisrICAgICAgICAgICAgS1RhZyB0YWc7CisrICAgICAgICAgICAgaWYgKHBkLT5xdWFsaWZpZXJzLT5oYXNfa2V5KCJFbWJlZGRlZEluc3RhbmNlIikpCisrICAgICAgICAgICAgICAgIHRhZyA9IF9rdGFnKFRPS19JTlNUQU5DRSwgcGQtPmFycmF5X2luZGV4LCBrZXksIGZhbHNlLCBmYWxzZSk7CisrICAgICAgICAgICAgZWxzZQorKyAgICAgICAgICAgICAgICB0YWcgPSBfa3RhZyhwZC0+ZGF0YV90eXBlLCBwZC0+YXJyYXlfaW5kZXgsIGtleSwgZmFsc2UsIGZhbHNlKTsKKyAgICAgICAgICAgICBwYWNrX3RhZyhzaWcsIHRhZyk7CisgICAgICAgICAgICAgcGFja19uYW1lKHNpZywgcGQtPm5hbWUpOworICAgICAgICAgICAgIGNvdW50Kys7CitAQCAtNjQwLDYgKzY0NCw3IEBAIHN0YXRpYyB2b2lkIGdlbl9wYXJhbShGSUxFKiBvcywgTU9GX1BhcmFtZXRlciogcCwgdmVjdG9yPHVuc2lnbmVkIGNoYXI+JiBzaWcpCisgICAgICAgICBjb25zdCBjaGFyKiBrdG4gPSBfa3R5cGVfbmFtZShwLT5kYXRhX3R5cGUpOworIAorICAgICAgICAgaWYgKHAtPnF1YWxpZmllcnMtPmhhc19rZXkoIkVtYmVkZGVkSW5zdGFuY2UiKSkgeworKyAgICAgICAgICAgIHRhZyA9IF9rdGFnKFRPS19JTlNUQU5DRSwgcC0+YXJyYXlfaW5kZXgsIGZhbHNlLCBpbiwgb3V0KTsKKyAgICAgICAgICAgICBpZiAocC0+YXJyYXlfaW5kZXgpCisgICAgICAgICAgICAgICAgIHB1dChvcywgIiAgICBLSW5zdGFuY2VBICQwO1xuIiwgcC0+bmFtZSwgTlVMTCk7CisgICAgICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQva29ua3JldGNtcGkva29ua3JldGNtcGlfMC45LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9rb25rcmV0Y21waS9rb25rcmV0Y21waV8wLjkuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDhiMGRiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQva29ua3JldGNtcGkva29ua3JldGNtcGlfMC45LjIuYmIKQEAgLTAsMCArMSwzNCBAQAorU1VNTUFSWSA9ICJUb29sIGZvciByYXBpZCBDTVBJIHByb3ZpZGVycyBkZXZlbG9wbWVudCIKK0RFU0NSSVBUSU9OID0gIlwKK0tvbmtyZXRDTVBJIG1ha2VzIENNUEkgcHJvdmlkZXIgZGV2ZWxvcG1lbnQgZWFzaWVyIGJ5IGdlbmVyYXRpbmcgdHlwZS1zYWZlIFwKK2NvbmNyZXRlIENJTSBpbnRlcmZhY2VzIGZyb20gTU9GIGRlZmluaXRpb25zIGFuZCBieSBwcm92aWRpbmcgZGVmYXVsdCBcCitpbXBsZW1lbnRhdGlvbnMgZm9yIG1hbnkgb2YgdGhlIHByb3ZpZGVyIG9wZXJhdGlvbnMuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3Jub3ZhY2VrL2tvbmtyZXRjbXBpIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mNjczMjcwYmZjMzUwZDljZTFlZmM4NzI0YzZjMTg3MyIKK0RFUEVORFMgPSAic3dpZy1uYXRpdmUgc2JsaW0tY21waS1kZXZlbCBweXRob24iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ybm92YWNlay9rb25rcmV0Y21waS5naXQgXAorICAgICAgICAgICBmaWxlOi8va29ua3JldGNtcGktMC45LjItZml4LXJldHVybmluZy1pbnN0YW5jZS1mcm9tLW1ldGhvZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUNNYWtlTGlzdHMudHh0LWZpeC1saWI2NC1jYW4tbm90LWJlLXNoaXBlZC1pbi02NGJpdC0ucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ1JFViA9ICI0NjBlNjQyMWMxNmE4MjE2ZDI5Y2NkMWI3NDkwZjgxNGRhYjhiNzY5IgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZQorCitFWFRSQV9PRUNNQUtFID0gIi1EV0lUSF9QWVRIT049T04gXAorICAgICAgICAgICAgICAgICAke0BiYXNlX2NvbmRpdGlvbmFsKCJsaWJkaXIiLCAiL3Vzci9saWI2NCIsICItRExJQl9TVUZGSVg9NjQiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICAgJHtAYmFzZV9jb25kaXRpb25hbCgibGliZGlyIiwgIi91c3IvbGliMzIiLCAiLURMSUJfU1VGRklYPTMyIiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAtcmYgJHtEfSR7ZGF0YWRpcn0KK30KKworUEFDS0FHRVMgPSsgIiR7UE59LXB5dGhvbiAke1BOfS1weXRob24tZGJnIgorCitGSUxFU18ke1BOfS1weXRob24gPSAiJHtsaWJkaXJ9L3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL2tvbmtyZXRtb2YucHkqICR7bGliZGlyfS9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9fa29ua3JldG1vZi5zbyIKK0ZJTEVTXyR7UE59LXB5dGhvbi1kYmcgPSAiJHtsaWJkaXJ9L3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzLy5kZWJ1Zy8qIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sY2Rwcm9jL2xjZHByb2M1LmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xjZHByb2MvbGNkcHJvYzUuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4MGY1NTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sY2Rwcm9jL2xjZHByb2M1LmluYwpAQCAtMCwwICsxLDgxIEBACitERVNDUklQVElPTiA9ICJMQ0Rwcm9jIGlzIGEgY2xpZW50L3NlcnZlciBzdWl0ZSB0byBkcml2ZSBhbGwga2luZHMgb2YgTENEICgtbGlrZSkgZGV2aWNlcy4gVGhlIGNsaWVudCBcCitzaGlwcGVkIHdpdGggdGhpcyBwYWNrYWdlIGNhbiBiZSB1c2VkIHRvIGFjcXVpcmUgdmFyaW91cyBraW5kcyBvZiBzeXN0ZW0gc3RhdHMuIgorU1VNTUFSWSA9ICJEcml2ZXJzIGZvciBjaGFyYWN0ZXItYmFzZWQgTENEIGRpc3BsYXlzIgorSE9NRVBBR0UgPSAiaHR0cDovL2xjZHByb2Mub3JnIgorU0VDVElPTiA9ICJ1dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorREVQRU5EUyA9ICJuY3Vyc2VzIGxpcmMiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE4ODEwNjY5ZjEzYjg3MzQ4NDU5ZTYxMWQzMWFiNzYwIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9NjA7bWQ1PTYzN2UwNDJjZGQzNjcxYmEwMGU3OGI1OGVkZTQ1ZDNiIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9sY2Rwcm9jLyR7QlB9LnRhci5neiIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQKKworTENEX0RSSVZFUlMgPz0gImFsbCIKK0xDRF9ERUZBVUxUX0RSSVZFUiA/PSAiY3Vyc2VzIgorCitQQUNLQUdFQ09ORklHID8/PSAidXNiIgorUEFDS0FHRUNPTkZJR1t1c2JdID0gIi0tZW5hYmxlLWxpYnVzYiwtLWRpc2FibGUtbGlidXNiLHZpcnR1YWwvbGlidXNiMCIKK1BBQ0tBR0VDT05GSUdbZnRkaV0gPSAiLS1lbmFibGUtbGliZnRkaSwtLWRpc2FibGUtbGliZnRkaSxsaWJmdGRpIgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtZHJpdmVycz0ke0xDRF9EUklWRVJTfSIKKworZG9faW5zdGFsbCAoKSB7CisgICAgIyBiaW5hcmllcworICAgIGluc3RhbGwgLUQgLW0gMDc1NSBzZXJ2ZXIvTENEZCAke0R9JHtzYmluZGlyfS9MQ0RkCisgICAgaW5zdGFsbCAtRCAtbSAwNzU1IGNsaWVudHMvbGNkcHJvYy9sY2Rwcm9jICR7RH0ke2JpbmRpcn0vbGNkcHJvYworCisgICAgIyBpbml0IHNjcmlwdHMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgICMgc28gZmFyLCBub3QgZml4ZWQgOi0oIGFuZCBub3cgZXZlbiB1Z2xpZXIgOi0oKAorICAgIGNhdCBzY3JpcHRzL2luaXQtTENEZC5kZWJpYW4gfCBzZWQgLWUgcycvLS1va25vZG8vLycgLWUgJ3MvIC1zIC1mIC8gLXMgMSAtZiAxIC8nIC1lICdzL2ZvcmNlLXJlbG9hZC9mb3JjZS1yZXN0YXJ0LycgLWUgJ3Mvc2xlZXAgMS9zbGVlcCA0LycgPiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbGNkZAorICAgIGNobW9kIDA3NTUgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2xjZGQKKyAgICBpbnN0YWxsIC1tIDA3NTUgc2NyaXB0cy9pbml0LWxjZHByb2MuZGViaWFuICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9sY2Rwcm9jCisgICAgc2VkIC1pIHMnLy0tb2tub2RvLy8nICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9sY2Rwcm9jCisKKyAgICAjIGNvbmZpZ3VyYXRpb24gZmlsZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9MQ0RkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vTENEZC5jb25mCisgICAgc2VkIC1pICdzIV5Ecml2ZXJQYXRoPS4qIURyaXZlclBhdGg9JHtsaWJkaXJ9L2xjZHByb2MvIScgJHtEfSR7c3lzY29uZmRpcn0vTENEZC5jb25mCisgICAgc2VkIC1pICdzIV5Ecml2ZXI9LiohRHJpdmVyPSR7TENEX0RFRkFVTFRfRFJJVkVSfSEnICR7RH0ke3N5c2NvbmZkaXJ9L0xDRGQuY29uZgorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2NsaWVudHMvbGNkcHJvYy9sY2Rwcm9jLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vbGNkcHJvYy5jb25mCisKKyAgICAjIGRyaXZlciBsaWJyYXJ5IGZpbGVzCisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9L2xjZHByb2MKKyAgICBmb3IgaSBpbiBzZXJ2ZXIvZHJpdmVycy8qLnNvOyBkbworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJGkgJHtEfSR7bGliZGlyfS9sY2Rwcm9jLworICAgIGRvbmUKK30KKworUEFDS0FHRVMgPSsgImxjZGQiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gImxjZGQiCisKK0ZJTEVTX2xjZGQgPSAiJHtzeXNjb25mZGlyfS9MQ0RkLmNvbmYgXAorICAgICR7c2JpbmRpcn0vTENEZCBcCisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvbGNkZCIKKworQ09ORkZJTEVTX2xjZGQgPSAiJHtzeXNjb25mZGlyfS9MQ0RkLmNvbmYiCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9sY2Rwcm9jLmNvbmYiCisKKyMgRHJpdmVyIHBhY2thZ2VzCisKKyMgVVNCIC8gbm8gVVNCIHRyaWNrZXJ5CisKK1JDT05GTElDVFNfbGNkZC1kcml2ZXItaGQ0Nzc4MG5vdXNiID0gImxjZGQtZHJpdmVyLWhkNDQ3ODAiCitSQ09ORkxJQ1RTX2xjZGQtZHJpdmVyLWhkNDc3ODAgPSAibGNkZC1kcml2ZXItaGQ0NDc4MG5vdXNiIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gImxjZGQgbGNkcHJvYyIKK0lOSVRTQ1JJUFRfTkFNRV9sY2RkID0gImxjZGQiCitJTklUU0NSSVBUX05BTUVfbGNkcHJvYyA9ICJsY2Rwcm9jIgorSU5JVFNDUklQVF9QQVJBTVNfbGNkZCA9ICJkZWZhdWx0cyA3MCAyMSIKK0lOSVRTQ1JJUFRfUEFSQU1TX2xjZHByb2MgPSAiZGVmYXVsdHMgNzEgMjAiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgeworICAgIHBsdWdpbmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0vbGNkcHJvYycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luZGlyLCAnKC4qKVwuc28kJywgJ2xjZGQtZHJpdmVyLSVzJywgJ0xDRGQgZHJpdmVyIGZvciAlcycsIHByZXBlbmQ9VHJ1ZSkKK30KKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXmxjZGQtZHJpdmVyLS4qIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sY2Rwcm9jL2xjZHByb2NfMC41LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sY2Rwcm9jL2xjZHByb2NfMC41LjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU3ZTlkZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xjZHByb2MvbGNkcHJvY18wLjUuNi5iYgpAQCAtMCwwICsxLDIzIEBACityZXF1aXJlIGxjZHByb2M1LmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiZGY0ZjVjMmM3Mjg1ZWFmNjk3OWI5Yzc3NjhiNDg3N2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmQyZjQzYzMwZmY0M2IzMGY0MzExMGFiZTZiNGE1YmM4ZTAyNjdjYjlmNTdmYTk3Y2M1ZTVlZjk0ODhiOTg0YSIKKworUEFDS0FHRUNPTkZJRyA/PSAiIgorUEFDS0FHRUNPTkZJR1tnMTVdID0gIiwsbGliZzE1IGcxNWRhZW1vbiBsaWJnMTVyZW5kZXIsIgorUEFDS0FHRUNPTkZJR1toaWRdID0gIi0tZW5hYmxlLWxpYmhpZCwtLWRpc2FibGUtbGliaGlkLGxpYmhpZCIKKworTENEX0RSSVZFUlNfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2cxNScsICcnLCAnLCFnMTUnLCBkKX0iCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICAjIGJpbmFyaWVzCisgICAgaW5zdGFsbCAtRCAtbSAwNzU1IGNsaWVudHMvbGNkdmMvbGNkdmMgJHtEfSR7c2JpbmRpcn0vbGNkdmMKKworICAgICMgY29uZmlndXJhdGlvbiBmaWxlcworICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1N9L2NsaWVudHMvbGNkdmMvbGNkdmMuY29uZiAke0R9JHtzeXNjb25mZGlyfS9sY2R2Yy5jb25mCit9CisKK1BBQ0tBR0VTID0rICJsY2R2YyIKK0NPTkZGSUxFU19sY2R2YyA9ICIke3N5c2NvbmZkaXJ9L2xjZHZjLmNvbmYiCitGSUxFU19sY2R2YyA9ICIke3N5c2NvbmZkaXJ9L2xjZHZjLmNvbmYgJHtzYmluZGlyfS9sY2R2YyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGV2ZWxkYi9sZXZlbGRiLzAwMDEtRXhwbGljaXRseS1kaXNhYmxlLXRjbWFsbG9jLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGV2ZWxkYi9sZXZlbGRiLzAwMDEtRXhwbGljaXRseS1kaXNhYmxlLXRjbWFsbG9jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiNzZkZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sZXZlbGRiL2xldmVsZGIvMDAwMS1FeHBsaWNpdGx5LWRpc2FibGUtdGNtYWxsb2MucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorRnJvbSBkNmRhYWMwNGRhYjRiM2FjZjRiODhmMTY3NDJkMWI0MDJjZGMzZDgzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogV2VkLCAxIE9jdCAyMDE0IDE4OjU0OjA0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEV4cGxpY2l0bHkgZGlzYWJsZSB0Y21hbGxvYworCitXaXRob3V0IHRoaXMgY2hhbmdlIGxldmVsZGIgYXV0b2RldGVjdHMgdGNtYWxsb2MgZnJvbSBzeXNyb290IGFuZAorc29tZXRpbWVzIGJlY2FtZSBkZXBlbmRhbnQgb24gZ3BlcmZ0b29scworCitEaXNhYmxlIGF1dG9kZXRlY3Rpb24gd2l0aG91dCBUQ01BTExPQ19FTkFCTEVEPXRydWUgcGFzZWQgdG8gbWFrZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIGJ1aWxkX2RldGVjdF9wbGF0Zm9ybSB8IDE2ICsrKysrKysrKy0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnVpbGRfZGV0ZWN0X3BsYXRmb3JtIGIvYnVpbGRfZGV0ZWN0X3BsYXRmb3JtCitpbmRleCBiYjc2YzRmLi5hNTg2MzY0IDEwMDc1NQorLS0tIGEvYnVpbGRfZGV0ZWN0X3BsYXRmb3JtCisrKysgYi9idWlsZF9kZXRlY3RfcGxhdGZvcm0KK0BAIC0yMDEsMTUgKzIwMSwxNyBAQCBFT0YKKyAgICAgICAgIFBMQVRGT1JNX0xJQlM9IiRQTEFURk9STV9MSUJTIC1sc25hcHB5IgorICAgICBmaQorIAorLSAgICAjIFRlc3Qgd2hldGhlciB0Y21hbGxvYyBpcyBhdmFpbGFibGUKKy0gICAgJENYWCAkQ1hYRkxBR1MgLXggYysrIC0gLW8gJENYWE9VVFBVVCAtbHRjbWFsbG9jIDI+L2Rldi9udWxsICA8PEVPRgorLSAgICAgIGludCBtYWluKCkge30KKysgICAgaWYgWyAiJFRDTUFMTE9DX0VOQUJMRUQiID0gInRydWUiIF07IHRoZW4KKysgICAgICAgICMgVGVzdCB3aGV0aGVyIHRjbWFsbG9jIGlzIGF2YWlsYWJsZQorKyAgICAgICAgJENYWCAkQ1hYRkxBR1MgLXggYysrIC0gLW8gJENYWE9VVFBVVCAtbHRjbWFsbG9jIDI+L2Rldi9udWxsICA8PEVPRgorKyAgICAgICAgICBpbnQgbWFpbigpIHt9CisgRU9GCistICAgIGlmIFsgIiQ/IiA9IDAgXTsgdGhlbgorLSAgICAgICAgUExBVEZPUk1fTElCUz0iJFBMQVRGT1JNX0xJQlMgLWx0Y21hbGxvYyIKKy0gICAgZmkKKysgICAgICAgIGlmIFsgIiQ/IiA9IDAgXTsgdGhlbgorKyAgICAgICAgICAgIFBMQVRGT1JNX0xJQlM9IiRQTEFURk9STV9MSUJTIC1sdGNtYWxsb2MiCisrICAgICAgICBmaQorIAorLSAgICBybSAtZiAkQ1hYT1VUUFVUIDI+L2Rldi9udWxsCisrICAgICAgICBybSAtZiAkQ1hYT1VUUFVUIDI+L2Rldi9udWxsCisrICAgIGZpCisgZmkKKyAKKyBQTEFURk9STV9DQ0ZMQUdTPSIkUExBVEZPUk1fQ0NGTEFHUyAkQ09NTU9OX0ZMQUdTIgorLS0gCisyLjEuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sZXZlbGRiL2xldmVsZGJfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGV2ZWxkYi9sZXZlbGRiX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNmEzMDI0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGV2ZWxkYi9sZXZlbGRiX2dpdC5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkxldmVsREIgaXMgYSBmYXN0IGtleS12YWx1ZSBzdG9yYWdlIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJMZXZlbERCIGlzIGEgZmFzdCBrZXktdmFsdWUgc3RvcmFnZSBsaWJyYXJ5IHRoYXQgcHJvdmlkZXMgYW4gb3JkZXJlZCBtYXBwaW5nIGZyb20gc3RyaW5nIGtleXMgdG8gc3RyaW5nIHZhbHVlcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9sZXZlbGRiLmdvb2dsZWNvZGUuY29tIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT05MmQxYjEyODk1MGIxMWJhODQ5NWI2NDkzOGZjMTY0ZCIKKworU1JDUkVWID0gIjgwM2Q2OTIwM2E2MmZhZjUwZjFiNzc4OTczMTBhM2ExZmNhZTcxMmIiCitQViA9ICIxLjE4K2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZ29vZ2xlLyR7QlBOfS5naXQgXAorICAgIGZpbGU6Ly8wMDAxLUV4cGxpY2l0bHktZGlzYWJsZS10Y21hbGxvYy5wYXRjaCBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgIyBkbyBub3QgdXNlIG9lX3J1bm1ha2UuIG9lX3J1bm1ha2UgcGFzcyB0byBtYWtlIGNvbXBpbGF0aW9uIGFyZ3VtZW50cyBhbmQgb3ZlcnJpZGUKKyAgICAjIGxldmVsZGIgbWFrZWZpbGUgdmFyaWFibGUgQ0ZMQUdTIGFuZCBicm9rZSBsZXZlbGRiIGJ1aWxkLgorICAgIENGTEFHUz0iJHtDRkxBR1N9IiBtYWtlIHx8IGRpZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQorICAgIG9lX2xpYmluc3RhbGwgLUMgJHtTfSAtc28gbGlibGV2ZWxkYiAke0R9JHtsaWJkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9sZXZlbGRiCisgICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9pbmNsdWRlL2xldmVsZGIvKi5oICR7RH0ke2luY2x1ZGVkaXJ9L2xldmVsZGIvCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJjZWMvbGliY2VjX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmNlYy9saWJjZWNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmMmE2NGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJjZWMvbGliY2VjX2dpdC5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIlVTQiBDRUMgQWRhcHRvciBjb21tdW5pY2F0aW9uIExpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vbGliY2VjLnB1bHNlLWVpZ2h0LmNvbS8iCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWU4ZTE2Mzk2OTkyMzY5ZjczZjNkMjg4NzVmODQ2ZGEiCisKK0RFUEVORFMgPSAidWRldiBsb2NrZGV2IgorCitQViA9ICIyLjEuNCIKKworU1JDUkVWID0gIjgxZTM4MjExNzI0YmM2ZThiZDdhNjBmNDg0NDMzMDUzZWQ2ODI2MzUiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vUHVsc2UtRWlnaHQvbGliY2VjLmdpdDticmFuY2g9cmVsZWFzZSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKKyMgY2VjLWNsaWVudCBhbmQgeGJtYyBuZWVkIHRoZSAuc28gcHJlc2VudCB0byB3b3JrIDooCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9Lyouc28iCitJTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCisKKyMgQWRhcHRlciBzaG93cyB1cCBhcyBhIENEQy1BQ00gZGV2aWNlCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLWNkYy1hY20iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJjb25maWcvbGliY29uZmlnXzEuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmNvbmZpZy9saWJjb25maWdfMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiNmU1MGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJjb25maWcvbGliY29uZmlnXzEuNS5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkMvQysrIENvbmZpZ3VyYXRpb24gRmlsZSBMaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiTGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIHN0cnVjdHVyZWQgY29uZmlndXJhdGlvbiBmaWxlcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuaHlwZXJyZWFsbS5jb20vbGliY29uZmlnLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT1mYWQ5YjMzMzJiZTg5NGJhYjliYzUwMTU3Mjg2NGIyOSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lmh5cGVycmVhbG0uY29tLyR7QlBOfS8ke0JQfS50YXIuZ3oiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworU1JDX1VSSVttZDVzdW1dID0gImE5MzljNDk5MGQ3NGU2ZmMxZWU2MmJlMDU3MTZmNjMzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUzMWRhYTM5MGQ4ZTQ0NjFjODgzMDUxMmZlMmUxM2JhMWEzZDZhMDJhMjMwNWEwMjQyOWVlYzYxZTY4NzAzZjYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJkaXZlY29tcHV0ZXIvZmlsZXMvZml4LWFyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliZGl2ZWNvbXB1dGVyL2ZpbGVzL2ZpeC1hci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzNmNWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliZGl2ZWNvbXB1dGVyL2ZpbGVzL2ZpeC1hci5wYXRjaApAQCAtMCwwICsxLDE4IEBACistLS0KKyBjb25maWd1cmUuYWMgfCAgICAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworLS0tIGdpdC5vcmlnL2NvbmZpZ3VyZS5hYworKysrIGdpdC9jb25maWd1cmUuYWMKK0BAIC0yNCwxMCArMjQsMTEgQEAgTFRfSU5JVChbd2luMzItZGxsXSkKKyBMVF9QUk9HX1JDCisgCisgIyBDaGVja3MgZm9yIHByb2dyYW1zLgorIEFDX1BST0dfQ0MKKyBBQ19QUk9HX0NDX0M5OQorK0FNX1BST0dfQVIKKyAKKyAjIEVuYWJsZSBhdXRvbWFrZSBzaWxlbnQgYnVpbGQgcnVsZXMuCisgbTRfaWZkZWYoW0FNX1NJTEVOVF9SVUxFU10sW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldKQorIAorICMgQ2hlY2tzIGZvciBuYXRpdmUgV2luZG93cy4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmRpdmVjb21wdXRlci9saWJkaXZlY29tcHV0ZXJfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliZGl2ZWNvbXB1dGVyL2xpYmRpdmVjb21wdXRlcl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmM0ZjRhMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmRpdmVjb21wdXRlci9saWJkaXZlY29tcHV0ZXJfZ2l0LmJiCkBAIC0wLDAgKzEsMjAgQEAKK0RFU0NSSVBUSU9OID0gIkxpYmRpdmVjb21wdXRlciBpcyBhIGNyb3NzLXBsYXRmb3JtIGFuZCBvcGVuIHNvdXJjZSBsaWJyYXJ5IGZvciBjb21tdW5pY2F0aW9uIHdpdGggZGl2ZSBjb21wdXRlcnMgZnJvbSB2YXJpb3VzIG1hbnVmYWN0dXJlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5kaXZlc29mdHdhcmUub3JnL2xpYmRjLyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI0M2I3MjVkNzFiYjVkZjRhMWU1OTIwYjM0NGI4NmFkIgorCitERVBFTkRTID0gImxpYnVzYjEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitQViA9ICIwLjQuMitnaXRyJHtTUkNQVn0iCisKK1NSQ1JFViA9ICI1Zjc2NWY5MTQzMGYxNjkzMmQ5NmIzNzc3NDA0NDIwYWEyZGQ0YzdjIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQubGliZGl2ZWNvbXB1dGVyLm9yZy9saWJkaXZlY29tcHV0ZXIuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1hci5wYXRjaCBcCisgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmd4aW0vbGliZ3hpbS9tdWx0aS1saW5lLUFDTE9DQUxfQU1GTEFHUy1pc25vdC1zdXBwb3J0ZWQtYnktYXV0b3JlY29uZi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmd4aW0vbGliZ3hpbS9tdWx0aS1saW5lLUFDTE9DQUxfQU1GTEFHUy1pc25vdC1zdXBwb3J0ZWQtYnktYXV0b3JlY29uZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDI5M2I0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliZ3hpbS9saWJneGltL211bHRpLWxpbmUtQUNMT0NBTF9BTUZMQUdTLWlzbm90LXN1cHBvcnRlZC1ieS1hdXRvcmVjb25mLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK211bHRpLWxpbmUgQUNMT0NBTF9BTUZMQUdTIGlzbid0IHN1cHBvcnRlZCBieSBhdXRvcmVjb25mLgorSXQgd2lsbCBjYXVzZSBjb25maWd1cmUgZXJyb3IgYXMgZm9sbG93LgorCisgICBhY2xvY2FsOiBlcnJvcjogbm9uLW9wdGlvbiBhcmd1bWVudHMgYXJlIG5vdCBhY2NlcHRlZDogJ1wnLgorCitTaWduZWQtb2ZmLWJ5OiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KKworZGlmZiAtTnVycCBsaWJneGltLTAuNS4wLm9yaWcvTWFrZWZpbGUuYW0gbGliZ3hpbS0wLjUuMC9NYWtlZmlsZS5hbQorLS0tIGxpYmd4aW0tMC41LjAub3JpZy9NYWtlZmlsZS5hbQkyMDEyLTEyLTEzIDE1OjQ4OjA5LjAwMDAwMDAwMCArMDgwMAorKysrIGxpYmd4aW0tMC41LjAvTWFrZWZpbGUuYW0JMjAxNC0xMi0xOSAxMTowNTo1MC43MjcyMDk4MjEgKzA4MDAKK0BAIC0yLDkgKzIsNyBAQCBOVUxMID0KKyBBVVRPTUFLRV9PUFRJT05TID0gZGlzdC1iemlwMgorIFNVQkRJUlMgPSBsaWJneGltIG00bWFjcm9zIHBvIHRlc3RzIGRvY3MKKyAKKy1BQ0xPQ0FMX0FNRkxBR1MgPQkJCVwKKy0JLUkgbTRtYWNyb3MJCQlcCistCSQoTlVMTCkKKytBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBtNG1hY3JvcyAkKE5VTEwpCisgCisgQ09ORklHVVJFX0RFUEVOREVOQ0lFUyA9CQlcCisgCXJlcXVpcmVzCQkJXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliZ3hpbS9saWJneGltXzAuNS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliZ3hpbS9saWJneGltXzAuNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2OGJkYWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJneGltL2xpYmd4aW1fMC41LjAuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJHT2JqZWN0LWJhc2VkIFhJTSBwcm90b2NvbCBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAibGliZ3hpbSBpcyBhIFggSW5wdXQgTWV0aG9kIHByb3RvY29sIGxpYnJhcnkgdGhhdCBpcyBpbXBsZW1lbnRlZCBieSBHT2JqZWN0LlwKK3RoaXMgbGlicmFyeSBoZWxwcyB5b3UgdG8gaW1wbGVtZW50IFhJTSBzZXJ2ZXJzIG9yIGNsaWVudCBhcHBsaWNhdGlvbnMgdG9cCitjb21tdW5pY2F0ZSB0aHJvdWdoIFhJTSBwcm90b2NvbCB3aXRob3V0IHVzaW5nIFhsaWIgQVBJIGRpcmVjdGx5LCBwYXJ0aWN1bGFybHlcCitpZiB5b3VyIGFwcGxpY2F0aW9uIHVzZXMgR09iamVjdC1iYXNlZCBtYWluIGxvb3AuXAorXAorVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBzaGFyZWQgbGlicmFyeS4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9saWJneGltLyIKK1NFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L0xpYnJhcmllcyIKKworU1JDX1VSSSA9ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvdGFnb2gvbGliZ3hpbS9kb3dubG9hZHMvJHtCUE59LSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vbXVsdGktbGluZS1BQ0xPQ0FMX0FNRkxBR1MtaXNub3Qtc3VwcG9ydGVkLWJ5LWF1dG9yZWNvbmYucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0YmIxZmE2M2QwMGViMjI0NDM5ZDQxMzU5MWMyOWE2YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3NWUyMGQxNzQ0MTM5NjQ0Zjk5NTFiNzhlYTM5MTBiMTYyZDMzODAzMDIzMTVjYjRiM2QwNjQwZjIzNjk0Yzc5IgorCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gIlwKK2ZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSIKKworRVhUUkFfT0VDT05GID0gIiAtLWRpc2FibGUtc3RhdGljIC0tZGlzYWJsZS1yZWJ1aWxkcyIKK0RFUEVORFMgKz0gImd0aysgZ2xpYi0yLjAgcnVieS1uYXRpdmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJpbW9iaWxlZGV2aWNlL2ZpbGVzL2ZpeC1wYXJhbGxlbC1tYWtlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliaW1vYmlsZWRldmljZS9maWxlcy9maXgtcGFyYWxsZWwtbWFrZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmVmNmY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliaW1vYmlsZWRldmljZS9maWxlcy9maXgtcGFyYWxsZWwtbWFrZS5wYXRjaApAQCAtMCwwICsxLDIxIEBACitGcm9tIDMzNWIyNWZlYmQ0Yzg2NGFkMGFjMDg0NzlmNWNkNDNmYzIxYjdkNzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBOaWtpYXMgQmFzc2VuCitEYXRlOiBNb24sIDA5IEp1bCAyMDEyIDIxOjE3OjE1ICswMDAwCitTdWJqZWN0OiBGaXggYnVpbGRpbmcgd2l0aCBwYXJhbGxlbCBidWlsZCBtYWtlb3B0cworCistLS0KK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCAwYmFkODQwLi4xNTU5OTRlIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtNTcsNiArNTcsOCBAQCBBRERfU1VCRElSRUNUT1JZKCBwbHV0aWwgKQorIEFERF9TVUJESVJFQ1RPUlkoIGluY2x1ZGUgKQorIEFERF9TVUJESVJFQ1RPUlkoIHRlc3QgKQorIAorK0FERF9ERVBFTkRFTkNJRVMoIHBsaXN0IGxpYmNuYXJ5ICkKKysKKyBJRiAoIFNXSUdfRk9VTkQgQU5EIFBZVEhPTkxJQlNfRk9VTkQgQU5EIFBZVEhPTklOVEVSUF9GT1VORCApCisgCUFERF9TVUJESVJFQ1RPUlkoIHN3aWcgKQorIEVORElGICggU1dJR19GT1VORCBBTkQgUFlUSE9OTElCU19GT1VORCBBTkQgUFlUSE9OSU5URVJQX0ZPVU5EICkKKy0tCitjZ2l0IHYwLjkuMC4yCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJpbW9iaWxlZGV2aWNlL2xpYnBsaXN0XzEuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmltb2JpbGVkZXZpY2UvbGlicGxpc3RfMS44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlOGQ2OWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJpbW9iaWxlZGV2aWNlL2xpYnBsaXN0XzEuOC5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkEgbGlicmFyeSB0byBoYW5kbGUgQXBwbGUgUHJvcGVydHkgTGlzdCBmb3JtYXQgd2hlcmVhcyBpdCdzIGJpbmFyeSBvciBYTUwiCisKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWViYjVjNTBhYjdjYWI0YmFlZmZiYTE0OTc3MDMwYzA3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT02YWIxN2I0MTY0MDU2NDQzNGRkYTg1YzA2YjcxMjRmNyIKKworREVQRU5EUyA9ICJsaWJ4bWwyIGdsaWItMi4wIHN3aWcgcHl0aG9uIgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZworCitTUkNfVVJJID0gImh0dHA6Ly93d3cubGliaW1vYmlsZWRldmljZS5vcmcvZG93bmxvYWRzL2xpYnBsaXN0LSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vZml4LXBhcmFsbGVsLW1ha2UucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmE5ZTAyNTg4NDdkNTBmOTc2MGRjM2VjZTI1ZjRkYzYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTQxOGRhMzg4MDMwODE5OWI3NDc2NmRlZWYyYTc2MGE5YjE2OWI4MWE4NjhhNmE5MDMyZjc2MTRlMjA1MDBlYyIKKworUEFDS0FHRVMgPSsgIiR7UE59LXV0aWxzICR7UE59KysiCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGlicGxpc3Qke1NPTElCU30iCitGSUxFU18ke1BOfSsrID0gIiR7bGliZGlyfS9saWJwbGlzdCsrJHtTT0xJQlN9IgorRklMRVNfJHtQTn0tdXRpbHMgPSAiJHtiaW5kaXJ9LyoiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlLTEuMDkvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGUtMS4wOS9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWExM2UxMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlLTEuMDkvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKKworIworIyBQYXRjaCBtYW5hZ2VkIGJ5IGh0dHA6Ly93d3cubW4tbG9naXN0aWsuZGUvdW5zdXBwb3J0ZWQvcHhhMjUwL3BhdGNoZXIKKyMKKworLS0tIGxpYmxvY2tmaWxlLTEuMDUvLi9jb25maWd1cmUuaW5+Y29uZmlndXJlCisrKysgbGlibG9ja2ZpbGUtMS4wNS8uL2NvbmZpZ3VyZS5pbgorQEAgLTEsNCArMSw1IEBACistQUNfSU5JVChsb2NrZmlsZS5jKQorK0FDX0lOSVQKKytBQ19DT05GSUdfU1JDRElSKFtsb2NrZmlsZS5jXSkKKyBBQ19DT05GSUdfSEVBREVSKGF1dG9jb25mLmgpCisgQUNfUkVWSVNJT04oJFJldmlzaW9uOiAxLjAgJClkbmwKKyAKK0BAIC0xMTEsNyArMTEyLDggQEAKKyBBQ19TVUJTVChJTlNUQUxMX1RBUkdFVFMpCisgQUNfU1VCU1QobmZzbG9ja2RpcikKKyAKKy1BQ19PVVRQVVQoXAorK0FDX0NPTkZJR19GSUxFUyhbXAorIAkuL01ha2VmaWxlIFwKKyAJLi9tYWlsbG9jay5oIFwKKy0pCisrXSkKKytBQ19PVVRQVVQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlLTEuMDkvZ2xpYmMtMi40LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGUtMS4wOS9nbGliYy0yLjQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTNjNGFhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlLTEuMDkvZ2xpYmMtMi40LnBhdGNoCkBAIC0wLDAgKzEsNzAgQEAKK1RoZSBsb2NhbCBmdW5jdGlvbiBlYWNjZXNzIGNvbmZsaWN0cyB3aXRoIGEgZ2xpYmMgZnVuY3Rpb24gb2YgdGhlIHNhbWUgbmFtZS4KK1JlbmFtZSB0aGUgZnVuY3Rpb24gc28gdGhhdCB0aGlzIGNhbiBiZSBidWlsZCB1bmRlciBnbGliYyAyLjQsIGFuZCBvbGRlcgorcmV2aXNpb25zLCB3aXRob3V0IGFueSBwcm9ibGVtcy4KKworLS0tIGxpYmxvY2tmaWxlLTEuMDYvZG90bG9ja2ZpbGUuYwkyMDA2LzA3LzEwIDAzOjE3OjQwCTEuMQorKysrIGxpYmxvY2tmaWxlLTEuMDYvZG90bG9ja2ZpbGUuYwkyMDA2LzA3LzEwIDAzOjE4OjI2CitAQCAtNDIsNyArNDIsNyBAQAorIGV4dGVybiBpbnQgb3B0aW5kOworICNlbmRpZgorIAorLWV4dGVybiBpbnQgZWFjY2VzcyhjaGFyICosIGdpZF90LCBzdHJ1Y3Qgc3RhdCAqKTsKKytleHRlcm4gaW50IHhlYWNjZXNzKGNoYXIgKiwgZ2lkX3QsIHN0cnVjdCBzdGF0ICopOworIAorIC8qCisgICoJU2xlZXAgZm9yIGFuIGFtb3V0IG9mIHRpbWUgd2hpbGUgcmVndWxhcnkgY2hlY2tpbmcgaWYKK0BAIC0yNTIsMTQgKzI1MiwxNCBAQAorIAkJcmV0dXJuIExfRVJST1I7CisgCX0KKyAJZ2lkID0gZ2V0Z2lkKCk7CistCWlmIChlYWNjZXNzKGRpciwgZ2lkLCAmc3QpIDwgMCkgeworKwlpZiAoeGVhY2Nlc3MoZGlyLCBnaWQsICZzdCkgPCAwKSB7CisgCQlpZiAoZXJybm8gPT0gRU5PRU5UKSB7CisgZW5vZW50OgorIAkJCWlmICghcXVpZXQpIGZwcmludGYoc3RkZXJyLAorIAkJCQkiZG90bG9ja2ZpbGU6ICVzOiBubyBzdWNoIGRpcmVjdG9yeVxuIiwgZGlyKTsKKyAJCQlyZXR1cm4gTF9UTVBMT0NLOworIAkJfQorLQkJaWYgKChyID0gZWFjY2VzcyhkaXIsIGdldGVnaWQoKSwgJnN0KSA8IDApICYmIGVycm5vID09IEVOT0VOVCkKKysJCWlmICgociA9IHhlYWNjZXNzKGRpciwgZ2V0ZWdpZCgpLCAmc3QpIDwgMCkgJiYgZXJybm8gPT0gRU5PRU5UKQorIAkJCWdvdG8gZW5vZW50OworIAkJaWYgKHIgPCAwIHx8ICFpc21haWxsb2NrKGxvY2tmaWxlLCBwd2QtPnB3X25hbWUpKSB7CisgCQkJaWYgKCFxdWlldCkgZnByaW50ZihzdGRlcnIsCitAQCAtMjcyLDcgKzI3Miw3IEBACisgCS8qCisgCSAqCU5vdyB3ZSBzaG91bGQgYmUgYWJsZSB0byBjaGRpcigpIHRvIHRoZSBsb2NrIGRpcmVjdG9yeS4KKyAJICoJV2hlbiB3ZSBzdGF0KCIuIiksIGl0IHNob3VsZCBiZSB0aGUgc2FtZSBhcyBhdCB0aGUKKy0JICoJZWFjY2VzcygpIGNoZWNrIG9yIHNvbWVvbmUgcGxheWVkIHN5bWxpbmsoKSBnYW1lcyBvbiB1cy4KKysJICoJeGVhY2Nlc3MoKSBjaGVjayBvciBzb21lb25lIHBsYXllZCBzeW1saW5rKCkgZ2FtZXMgb24gdXMuCisgCSAqLworIAlpZiAoY2hkaXIoZGlyKSA8IDAgfHwgc3RhdCgiLiIsICZzdDIpIDwgMCkgeworIAkJaWYgKCFxdWlldCkgZnByaW50ZihzdGRlcnIsCistLS0gbGlibG9ja2ZpbGUtMS4wNi9sb2NrZmlsZS5jCTIwMDYvMDcvMTAgMDM6MTc6NDAJMS4xCisrKysgbGlibG9ja2ZpbGUtMS4wNi9sb2NrZmlsZS5jCTIwMDYvMDcvMTAgMDM6MTg6MjYKK0BAIC01NCw3ICs1NCw3IEBACisgI2lmZGVmIExJQgorIHN0YXRpYworICNlbmRpZgorLWludCBlYWNjZXNzKGNoYXIgKmZuLCBnaWRfdCBnaWQsIHN0cnVjdCBzdGF0ICpzdCkKKytpbnQgeGVhY2Nlc3MoY2hhciAqZm4sIGdpZF90IGdpZCwgc3RydWN0IHN0YXQgKnN0KQorIHsKKyAJc3RydWN0IHN0YXQJdG1wOworIAl1aWRfdAkJdWlkID0gZ2V0ZXVpZCgpOworQEAgLTk2LDcgKzk2LDcgQEAKKyAJCSpwID0gMDsKKyAJZWxzZQorIAkJc3RyY3B5KGRpciwgIi4iKTsKKy0JaWYgKGVhY2Nlc3MoZGlyLCBlZ2lkLCBOVUxMKSA+PSAwKSB7CisrCWlmICh4ZWFjY2VzcyhkaXIsIGVnaWQsIE5VTEwpID49IDApIHsKKyAJCWZyZWUoZGlyKTsKKyAJCXJldHVybiAwOworIAl9CitAQCAtMTExLDcgKzExMSw3IEBACisgCQkJcmV0dXJuIDA7CisgCQltYWlsZ2lkID0gc3Quc3RfZ2lkOworIAl9CistCXJldCA9IGVhY2Nlc3MoZGlyLCBtYWlsZ2lkLCBOVUxMKSA+PSAwOworKwlyZXQgPSB4ZWFjY2VzcyhkaXIsIG1haWxnaWQsIE5VTEwpID49IDA7CisgCWZyZWUgKGRpcik7CisgCXJldHVybiByZXQ7CisgfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGUtMS4wOS9pbnN0YWxsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGUtMS4wOS9pbnN0YWxsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5MzE5ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2NrZmlsZS9saWJsb2NrZmlsZS0xLjA5L2luc3RhbGwucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorCisjCisjIFBhdGNoIG1hbmFnZWQgYnkgaHR0cDovL3d3dy5tbi1sb2dpc3Rpay5kZS91bnN1cHBvcnRlZC9weGEyNTAvcGF0Y2hlcgorIworCistLS0gbGlibG9ja2ZpbGUtMS4wNS9NYWtlZmlsZS5pbn5pbnN0YWxsCisrKysgbGlibG9ja2ZpbGUtMS4wNS9NYWtlZmlsZS5pbgorQEAgLTIwLDYgKzIwLDcgQEAKKyBpbmNsdWRlZGlyCT0gQGluY2x1ZGVkaXJACisgCisgTUFJTEdST1VQCT0gQE1BSUxHUk9VUEAKKytJTlNUR1JQCQk9ICQoaWYgJChNQUlMR1JPVVApLC1nICQoTUFJTEdST1VQKSkKKyAKKyBhbGw6CQlAVEFSR0VUU0AKKyBpbnN0YWxsOglASU5TVEFMTF9UQVJHRVRTQAorQEAgLTUwLDI1ICs1MSwyNyBAQAorIAkJJChDQykgJChDRkxBR1MpIC1jIGxvY2tmaWxlLmMgLW8geGxvY2tmaWxlLm8KKyAKKyBpbnN0YWxsX3N0YXRpYzoJc3RhdGljIGluc3RhbGxfY29tbW9uCisrCQlpbnN0YWxsIC1kICQoUk9PVCkkKGxpYmRpcikKKyAJCWluc3RhbGwgLW0gNjQ0IGxpYmxvY2tmaWxlLmEgJChST09UKSQobGliZGlyKQorIAorIGluc3RhbGxfc2hhcmVkOglzaGFyZWQgaW5zdGFsbF9jb21tb24KKysJCWluc3RhbGwgLWQgJChST09UKSQobGliZGlyKQorIAkJaW5zdGFsbCAtbSA3NTUgbGlibG9ja2ZpbGUuc28gXAorIAkJCSQoUk9PVCkkKGxpYmRpcikvbGlibG9ja2ZpbGUuc28uJChWRVIpCisgCQlsbiAtcyBsaWJsb2NrZmlsZS5zby4kKFZFUikgJChST09UKSQobGliZGlyKS9saWJsb2NrZmlsZS5zbworIAkJaWYgdGVzdCAiJChST09UKSIgPSAiIjsgdGhlbiBATERDT05GSUdAOyBmaQorIAorIGluc3RhbGxfY29tbW9uOgorKwkJaW5zdGFsbCAtZCAkKFJPT1QpJChpbmNsdWRlZGlyKQorIAkJaW5zdGFsbCAtbSA2NDQgbG9ja2ZpbGUuaCBtYWlsbG9jay5oICQoUk9PVCkkKGluY2x1ZGVkaXIpCistCQlpZiBbICIkKE1BSUxHUk9VUCkiICE9ICIiIF07IHRoZW5cCistCQkgIGluc3RhbGwgLWcgJChNQUlMR1JPVVApIC1tIDI3NTUgZG90bG9ja2ZpbGUgJChST09UKSQoYmluZGlyKTtcCistCQllbHNlIFwKKy0JCSAgaW5zdGFsbCAtZyByb290IC1tIDc1NSBkb3Rsb2NrZmlsZSAkKFJPT1QpJChiaW5kaXIpOyBcCistCQlmaQorKwkJaW5zdGFsbCAtZCAkKFJPT1QpJChiaW5kaXIpCisrCQlpbnN0YWxsIC1tIDc1NSAkKElOU1RHUlApIGRvdGxvY2tmaWxlICQoUk9PVCkkKGJpbmRpcikKKysJCWluc3RhbGwgLWQgJChST09UKSQobWFuZGlyKS9tYW4xICQoUk9PVCkkKG1hbmRpcikvbWFuMworIAkJaW5zdGFsbCAtbSA2NDQgKi4xICQoUk9PVCkkKG1hbmRpcikvbWFuMQorIAkJaW5zdGFsbCAtbSA2NDQgKi4zICQoUk9PVCkkKG1hbmRpcikvbWFuMworIAorIGluc3RhbGxfbmZzbGliOgluZnNsaWIKKysJCWluc3RhbGwgLWQgJChST09UKSQobmZzbG9ja2RpcikKKyAJCWluc3RhbGwgLW0gNzU1IG5mc2xvY2suc28uJChWRVIpICQoUk9PVCkkKG5mc2xvY2tkaXIpCisgCQlpZiB0ZXN0ICIkKFJPT1QpIiA9ICIiOyB0aGVuIEBMRENPTkZJR0A7IGZpCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2NrZmlsZS9saWJsb2NrZmlsZS0xLjA5L2xkZmxhZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2NrZmlsZS9saWJsb2NrZmlsZS0xLjA5L2xkZmxhZ3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWIxZDE0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlLTEuMDkvbGRmbGFncy5wYXRjaApAQCAtMCwwICsxLDIxIEBACisKKyMKKyMgUGF0Y2ggbWFuYWdlZCBieSBodHRwOi8vd3d3Lm1uLWxvZ2lzdGlrLmRlL3Vuc3VwcG9ydGVkL3B4YTI1MC9wYXRjaGVyCisjCisKKy0tLSBsaWJsb2NrZmlsZS0xLjA1L01ha2VmaWxlLmlufmxkZmxhZ3MKKysrKyBsaWJsb2NrZmlsZS0xLjA1L01ha2VmaWxlLmluCitAQCAtMzQsMTEgKzM0LDExIEBACisgCisgbGlibG9ja2ZpbGUuc286IGxpYmxvY2tmaWxlLmEKKyAJCSQoQ0MpIC1mUElDIC1zaGFyZWQgLVdsLC1zb25hbWUsbGlibG9ja2ZpbGUuc28uMSBcCistCQkJLW8gbGlibG9ja2ZpbGUuc28gbG9ja2ZpbGUubyAtbGMKKysJCQktbyBsaWJsb2NrZmlsZS5zbyBsb2NrZmlsZS5vICQoTERGTEFHUykgLWxjCisgCisgbmZzbG9jay5zby4kKFZFUik6CW5mc2xvY2subworIAkJJChDQykgLWZQSUMgLXNoYXJlZCAtV2wsLXNvbmFtZSxuZnNsb2NrLnNvLjAgXAorLQkJCS1vIG5mc2xvY2suc28uJChOVkVSKSBuZnNsb2NrLm8KKysJCQktbyBuZnNsb2NrLnNvLiQoTlZFUikgbmZzbG9jay5vICQoTERGTEFHUykKKyAKKyBkb3Rsb2NrZmlsZToJZG90bG9ja2ZpbGUubyB4bG9ja2ZpbGUubworIAkJJChDQykgJChMREZMQUdTKSAtbyBkb3Rsb2NrZmlsZSBkb3Rsb2NrZmlsZS5vIHhsb2NrZmlsZS5vCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2NrZmlsZS9saWJsb2NrZmlsZS0xLjA5L2xpYmxvY2tmaWxlLWZpeC1pbnN0YWxsLXNvLXRvLW1hbi1kaXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2NrZmlsZS9saWJsb2NrZmlsZS0xLjA5L2xpYmxvY2tmaWxlLWZpeC1pbnN0YWxsLXNvLXRvLW1hbi1kaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdmNzYwYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlLTEuMDkvbGlibG9ja2ZpbGUtZml4LWluc3RhbGwtc28tdG8tbWFuLWRpci5wYXRjaApAQCAtMCwwICsxLDIwIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vIHVwc3RyZWFtXQorCitUaGUgZXh0ZW5kIHNvIGZpbGUgaXMgcmVuYW1lIGZyb20gbmZzbG9jay5zby4kKFZFUikgdG8gbmZzbG9jay5zby4kKE5WRVIpLiBUaGF0CitjYXVzZXMgZmlsZSBuZnNsb2NrLnNvLjAuMSBpcyBpbnN0YWxsZWQgaW50byBtYW51YWwgZGlyZWN0b3J5LiBGaXggaXQuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgoraW5kZXggYTU4OWZiOC4uNDZhNTdlOCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmluCisrKysgYi9NYWtlZmlsZS5pbgorQEAgLTY4LDcgKzY4LDcgQEAgaW5zdGFsbF9jb21tb246CisgCQlpbnN0YWxsIC1kICQoUk9PVCkkKGJpbmRpcikKKyAJCWluc3RhbGwgLW0gNzU1ICQoSU5TVEdSUCkgZG90bG9ja2ZpbGUgJChST09UKSQoYmluZGlyKQorIAkJaW5zdGFsbCAtZCAkKFJPT1QpJChtYW5kaXIpL21hbjEgJChST09UKSQobWFuZGlyKS9tYW4zCistCQlpbnN0YWxsIC1tIDY0NCAqLjEgJChST09UKSQobWFuZGlyKS9tYW4xCisrCQlpbnN0YWxsIC1tIDY0NCBkb3Rsb2NrZmlsZS4xICQoUk9PVCkkKG1hbmRpcikvbWFuMQorIAkJaW5zdGFsbCAtbSA2NDQgKi4zICQoUk9PVCkkKG1hbmRpcikvbWFuMworIAorIGluc3RhbGxfbmZzbGliOgluZnNsaWIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlLTEuMDkvbGlibG9ja2ZpbGUtZml4LW5mc2xpYi1hbmQtc29uYW1lLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGUtMS4wOS9saWJsb2NrZmlsZS1maXgtbmZzbGliLWFuZC1zb25hbWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmZkN2E0MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlLTEuMDkvbGlibG9ja2ZpbGUtZml4LW5mc2xpYi1hbmQtc29uYW1lLnBhdGNoCkBAIC0wLDAgKzEsNTQgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbm8gdXBzdHJlYW1dCisKKyogbmZzbGliIHNob3VsZCB1c2UgTlZFUiBpbnN0ZWFkIG9mIFZFUgorKiBpbnN0YWxsIHRoZSBtaXNzaW5nIHNvbmFtZSBsaWJyYXJ5CisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBNYWtlZmlsZS5pbiAgICAgICAgIHwgICAgOSArKysrKystLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KK2luZGV4IDgzNmNhOWIuLmE1ODlmYjggMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC0yNyw3ICsyNyw3IEBAIGluc3RhbGw6CUBJTlNUQUxMX1RBUkdFVFNACisgCisgc3RhdGljOgkJbGlibG9ja2ZpbGUuYSBkb3Rsb2NrZmlsZQorIHNoYXJlZDoJCWxpYmxvY2tmaWxlLnNvIGRvdGxvY2tmaWxlCistbmZzbGliOgkJbmZzbG9jay5zby4kKFZFUikKKytuZnNsaWI6CQluZnNsb2NrLnNvLiQoTlZFUikKKyAKKyBsaWJsb2NrZmlsZS5hOglsb2NrZmlsZS5vCisgCQkkKEFSKSBydiBsaWJsb2NrZmlsZS5hIGxvY2tmaWxlLm8KK0BAIC0zNiw3ICszNiw3IEBAIGxpYmxvY2tmaWxlLnNvOiBsaWJsb2NrZmlsZS5hCisgCQkkKENDKSAtZlBJQyAtc2hhcmVkIC1XbCwtc29uYW1lLGxpYmxvY2tmaWxlLnNvLjEgXAorIAkJCS1vIGxpYmxvY2tmaWxlLnNvIGxvY2tmaWxlLm8gJChMREZMQUdTKSAtbGMKKyAKKy1uZnNsb2NrLnNvLiQoVkVSKToJbmZzbG9jay5vCisrbmZzbG9jay5zby4kKE5WRVIpOgluZnNsb2NrLm8KKyAJCSQoQ0MpIC1mUElDIC1zaGFyZWQgLVdsLC1zb25hbWUsbmZzbG9jay5zby4wIFwKKyAJCQktbyBuZnNsb2NrLnNvLiQoTlZFUikgbmZzbG9jay5vICQoTERGTEFHUykKKyAKK0BAIC01OSw2ICs1OSw3IEBAIGluc3RhbGxfc2hhcmVkOglzaGFyZWQgaW5zdGFsbF9jb21tb24KKyAJCWluc3RhbGwgLW0gNzU1IGxpYmxvY2tmaWxlLnNvIFwKKyAJCQkkKFJPT1QpJChsaWJkaXIpL2xpYmxvY2tmaWxlLnNvLiQoVkVSKQorIAkJbG4gLXMgbGlibG9ja2ZpbGUuc28uJChWRVIpICQoUk9PVCkkKGxpYmRpcikvbGlibG9ja2ZpbGUuc28KKysJCWxuIC1zIGxpYmxvY2tmaWxlLnNvLiQoVkVSKSAkKFJPT1QpJChsaWJkaXIpL2xpYmxvY2tmaWxlLnNvLjEKKyAJCWlmIHRlc3QgIiQoUk9PVCkiID0gIiI7IHRoZW4gQExEQ09ORklHQDsgZmkKKyAKKyBpbnN0YWxsX2NvbW1vbjoKK0BAIC03Miw3ICs3Myw5IEBAIGluc3RhbGxfY29tbW9uOgorIAorIGluc3RhbGxfbmZzbGliOgluZnNsaWIKKyAJCWluc3RhbGwgLWQgJChST09UKSQobmZzbG9ja2RpcikKKy0JCWluc3RhbGwgLW0gNzU1IG5mc2xvY2suc28uJChWRVIpICQoUk9PVCkkKG5mc2xvY2tkaXIpCisrCQlpbnN0YWxsIC1tIDc1NSBuZnNsb2NrLnNvLiQoTlZFUikgJChST09UKSQobmZzbG9ja2RpcikKKysJCWxuIC1zZiBuZnNsb2NrLnNvLiQoTlZFUikgJChST09UKSQobGliZGlyKS9uZnNsb2NrLnNvCisrCQlsbiAtc2YgbmZzbG9jay5zby4kKE5WRVIpICQoUk9PVCkkKGxpYmRpcikvbmZzbG9jay5zby4wCisgCQlpZiB0ZXN0ICIkKFJPT1QpIiA9ICIiOyB0aGVuIEBMRENPTkZJR0A7IGZpCisgCisgY2xlYW46CistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGVfMS4wOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlXzEuMDkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTU2NTViNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvY2tmaWxlL2xpYmxvY2tmaWxlXzEuMDkuYmIKQEAgLTAsMCArMSwzNCBAQAorU1VNTUFSWSA9ICJGaWxlIGxvY2tpbmcgbGlicmFyeSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyAmIEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9YWMyODRhNjBkNDhlYWE0YmM4MTFjZGRjMzc3ZmEzNDEiCisKK1NSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2xpYmwvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGVfMS4wOS5vcmlnLnRhci5neiBcCisgICAgJHtERUJJQU5fTUlSUk9SfS9tYWluL2xpYmwvbGlibG9ja2ZpbGUvbGlibG9ja2ZpbGVfMS4wOS02LmRlYmlhbi50YXIuYnoyO25hbWU9MS4wOS02IFwKKyAgICBmaWxlOi8vaW5zdGFsbC5wYXRjaCBcCisgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCBcCisgICAgZmlsZTovL2xkZmxhZ3MucGF0Y2ggXAorICAgIGZpbGU6Ly9saWJsb2NrZmlsZS1maXgtbmZzbGliLWFuZC1zb25hbWUucGF0Y2ggXAorICAgIGZpbGU6Ly9saWJsb2NrZmlsZS1maXgtaW5zdGFsbC1zby10by1tYW4tZGlyLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjJhYTI2OWU0NDA1ZWU4MjM1ZmYxN2QxYjM1N2M2YWU4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE2OTc5ZWJhMDUzOTYzNjVlMWQ2YWY3MTAwNDMxYWU5ZDMyZjliYzA2MzkzMGQxZGU2NjI5OGEwNjk1ZjFiN2YiCisKK1NSQ19VUklbMS4wOS02Lm1kNXN1bV0gPSAiYTI4MTE4MDdlNjNhNTI2YzA3YjBmNjA2MjZlMzI5YTIiCitTUkNfVVJJWzEuMDktNi5zaGEyNTZzdW1dID0gImQ0NWVhY2I3YzYzN2MxNmQwM2M3NzdjNTU5ODlkOThkYTQ5NGFlOTU4NGEwNzgzZmU2ZGJmMGRiNjBmYTI5MGYiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCisjIHNldCBkZWZhdWx0IG1haWxncm91cCB0byBtYWlsCisjIC0td2l0aC1saWJuZnNsb2NrIHNwZWNpZnkgd2hlcmUgdG8gaW5zdGFsbCBuZnNsb2NrLnNvLk5WRVIKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zaGFyZWQgXAorICAgICAgICAgICAgICAgIC0td2l0aC1tYWlsZ3JvdXA9bWFpbCBcCisgICAgICAgICAgICAgICAgLS13aXRoLWxpYm5mc2xvY2s9JHtsaWJkaXJ9IFwKKyIKKworIyBNYWtlZmlsZSB1c2luZyBST09UIG5vdCBERVNURElSCitFWFRSQV9PRU1BS0UgKz0gIlJPT1Q9JHtEfSIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9uZnNsb2NrLnNvLioiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9uZnNsb2NrLnNvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9nZ2luZy9saWJsb2dnaW5nXzEuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibG9nZ2luZy9saWJsb2dnaW5nXzEuMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ODhiMTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2dnaW5nL2xpYmxvZ2dpbmdfMS4wLjUuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJBbiBlYXN5IHRvIHVzZSBsb2dnaW5nIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICIgXAorbGlibG9nZ2luZyAodGhlIHVwc3RyZWFtIHByb2plY3QpIGlzIGEgY29sbGVjdGlvbiBvZiBzZXZlcmFsIGNvbXBvbmVudHMuIFwKK05hbWVseTogc3RkbG9nLCBqb3VybmFsZW11LCByZmMzMTk1LiBcCitUaGUgc3RkbG9nIGNvbXBvbmVudCBvZiBsaWJsb2dnaW5nIGNhbiBiZSB2aWV3ZWQgYXMgYW4gZW5oYW5jZWQgdmVyc2lvbiBvZiBcCit0aGUgc3lzbG9nKDMpIEFQSS4gSXQgcmV0YWlucyB0aGUgZWFzeSBzZW1hbnRpY3MsIGJ1dCBtYWtlcyB0aGUgQVBJIG1vcmUgXAorc29waGlzdGljYXRlZCAiYmVoaW5kIHRoZSBzY2VuZXMiIHdpdGggYmV0dGVyIHN1cHBvcnQgZm9yIG11bHRpcGxlIHRocmVhZHMgXAorYW5kIGZsZXhpYmlsaXR5IGZvciBkaWZmZXJlbnQgbG9nIGRlc3RpbmF0aW9ucyAoZS5nLiBzeXNsb2cgYW5kIHN5c3RlbWQgXAoram91cm5hbCkuIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02M2ZlMDM1MzVkODM3MjZmNTY1NTA3MjUwMmJlZjFiYyIKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnJzeXNsb2cuY29tLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDRiOGNlMmRhYTFiZmI4NGM5ZmVhZjQyZjk5MjVmZDciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzEwZGMxNjkxMjc5YjdhNjY5ZDM4MzU4MWZlNGIwYmFiZGM3YmY3NWM5YjU0YTI0ZTUxZTYwNDI4NjI0ODkwYiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtbWFuLXBhZ2VzIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzeXN0ZW1kIiwgInN5c3RlbWQiLCAiIiwgZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1qb3VybmFsLCAtLWRpc2FibGUtam91cm5hbCwgc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvZ25vcm0vbGlibG9nbm9ybS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2dub3JtL2xpYmxvZ25vcm0uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjOGFiYjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2dub3JtL2xpYmxvZ25vcm0uaW5jCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiRmFzdCBzYW1wbGVzLWJhc2VkIGxvZyBub3JtYWxpemF0aW9uIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJCcmllZmx5IGRlc2NyaWJlZCwgbGlibG9nbm9ybSBpcyBhIHRvb2wgdG8gbm9ybWFsaXplIGxvZyBkYXRhLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWJsb2dub3JtLmNvbSIKK1NFQ1RJT04gPSAiYmFzZSIKKworTElDRU5TRSA9ICJMR1BMLTIuMSsiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJsb2dub3JtLmNvbS9maWxlcy9kb3dubG9hZC8ke0JQTn0tJHtQVn0udGFyLmd6XAorIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworREVQRU5EUyArPSAibGliZWUgbGliZXN0ciBqc29uLWMiCisKK1BBQ0tBR0VDT05GSUdbZGVidWddID0gIi0tZW5hYmxlLWRlYnVnLC0tZGlzYWJsZS1kZWJ1ZywsIgorUEFDS0FHRUNPTkZJR1tkb2NzXSA9ICItLWVuYWJsZS1kb2NzLC0tZGlzYWJsZS1kb2NzLHNwaGlueCwiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2dub3JtL2xpYmxvZ25vcm1fMS4wLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJsb2dub3JtL2xpYmxvZ25vcm1fMS4wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ4OWUzNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmxvZ25vcm0vbGlibG9nbm9ybV8xLjAuMS5iYgpAQCAtMCwwICsxLDUgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiN2I5YTgyNjU0MmFmOTY4NjEyNzExMGRlYWIwOWQ3YTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWY2Y2RmZDkwMWE4ZjZhOTdhM2NiNzRiYzYxMDdjNjc0NmIzZTkzODFmNzg4OWU0Y2Q4NjZhNDg4ZTBjNTlhNSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNhMDE2ZGI1N2UwMDg1MjhkYWNlMDAyMTg4YzczZGFkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibW9kYnVzL2xpYm1vZGJ1cy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJtb2RidXMvbGlibW9kYnVzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDE2NTlhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibW9kYnVzL2xpYm1vZGJ1cy5pbmMKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJBIE1vZGJ1cyBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAibGlibW9kYnVzIGlzIGEgQyBsaWJyYXJ5IGRlc2lnbmVkIHRvIHByb3ZpZGUgYSBmYXN0IGFuZCByb2J1c3QgXAoraW1wbGVtZW50YXRpb24gb2YgdGhlIE1vZGJ1cyBwcm90b2NvbC4gSXQgcnVucyBvbiBMaW51eCwgTWFjIE9TIFgsIEZyZWVCU0QsIFwKK1FOWCBhbmQgV2luZG93cy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpYm1vZGJ1cy5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworU1JDX1VSSSA9ICJodHRwOi8vbGlibW9kYnVzLm9yZy9yZWxlYXNlcy8ke0JQfS50YXIuZ3oiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibW9kYnVzL2xpYm1vZGJ1c18zLjAuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYm1vZGJ1cy9saWJtb2RidXNfMy4wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRkMzJmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYm1vZGJ1cy9saWJtb2RidXNfMy4wLjYuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlIGxpYm1vZGJ1cy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImM4MGY4OGI2Y2ExOWNhYmM0Y2VmZmMxOTVjYTA3NzcxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA0NmQ2M2YxMGY3NTVlMjE2MGRjNTZlZjY4MWU1ZjVhZDM4NjJhNTdjMTk1NWZkODJlMGNlMDM2YjY5NDcxYjYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJtb2RidXMvbGlibW9kYnVzXzMuMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibW9kYnVzL2xpYm1vZGJ1c18zLjEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmNmYzNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlibW9kYnVzL2xpYm1vZGJ1c18zLjEuMi5iYgpAQCAtMCwwICsxLDcgQEAKK3JlcXVpcmUgbGlibW9kYnVzLmluYworCisjIFVzZSB0aGUgc3RhYmxlIGJyYW5jaCBieSBkZWZhdWx0CitERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkZDQyNjJmODdlZDgzNWM0ZDFlNTYwZjgzMjFhMjIyYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2NjFlMTRmOWRjOTA0ZjNmMWIwMzQ0NjRkZGFhNWZkNGI4NDcyZjhmNWQxZWExMGExMTQ4YWY4NTU5MWI3ZWU5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlicWIvbGlicWJfMC4xNy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlicWIvbGlicWJfMC4xNy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MzA3ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJxYi9saWJxYl8wLjE3LjEuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJBbiBJUEMgbGlicmFyeSBmb3IgaGlnaCBwZXJmb3JtYW5jZSBzZXJ2ZXJzIgorREVTQ1JJUFRJT04gPSAibGlicWIgaXMgYSBsaWJyYXJ5IHdpdGggdGhlIHByaW1hcnkgcHVycG9zZSBvZiBwcm92aWRpbmcgaGlnaCBwZXJmb3JtYW5jZSBjbGllbnQgc2VydmVyIHJldXNhYmxlIGZlYXR1cmVzLiBcCitJdCBwcm92aWRlcyBoaWdoIHBlcmZvcm1hbmNlIGxvZ2dpbmcsIHRyYWNpbmcsIGlwYywgYW5kIHBvbGwuIgorCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vY2x1c3RlcmxhYnMvbGlicWIvd2lraSIKKworU0VDVElPTiA9ICJsaWJzIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworU1JDX1VSSSA9ICJodHRwczovL2ZlZG9yYWhvc3RlZC5vcmcvcmVsZWFzZXMvcS91L3F1YXJ0ZXJiYWNrLyR7QlB9LnRhci54eiBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTc3MGIzNDNiYWE0NTI4ZjZmZWM5MDEyMGVjNTUwNDgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2EyMTE1ZjgzYmZlMjBlYWE1ZjJlNGVkMjM1ZThmMjk5NDIzNWQzYjg3ZTNlNWNhNDFiYTQ3YjMyMGYxMmUyOSIKKworTElDRU5TRSA9ICJMR1BMLTIuMSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzIxYmY0MWYyODBjZjgwNTA4NmRkNWE3MjBiMzc3ODUiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICggY2QgJHtTfQorICAgICR7U30vYXV0b2dlbi5zaCApCit9CisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlidWlvL2xpYnVpby9yZXBsYWNlX2lubGluZV93aXRoX3N0YXRpYy1pbmxpbmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ1aW8vbGlidWlvL3JlcGxhY2VfaW5saW5lX3dpdGhfc3RhdGljLWlubGluZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDMxNGJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlidWlvL2xpYnVpby9yZXBsYWNlX2lubGluZV93aXRoX3N0YXRpYy1pbmxpbmUucGF0Y2gKQEAgLTAsMCArMSwxMjEgQEAKK0J5IGRlZmF1bHQsIGdjYy01IHVzZXMgQzk5IGlubGluZSBzZW1hbnRpY3MsIHRoaXMgc2VtYW50aWNzIGRvZXNuJ3QgCitnZW5lcmF0ZSBleHRlcm5hbGx5IHZpc2libGUgZnVuY3Rpb24gZm9yIGlubGluZSBmdW5jdGlvbnMuIFRoaXMgcmVzdWx0cyBpbiAKK2JlbG93IGVycm9yLCB3aGVuIGFuIGFub3RoZXIgdHJhbnNsYXRpb24gdW5pdCAoVFUpIHRyaWVzIHRvIGxpbmsgd2l0aCB0aGUgCitpbmxpbmUgZnVuY3Rpb24sCisKKy0tIHNuaXAgLS0KK3wgbHN1aW8ubzogSW4gZnVuY3Rpb24gYG1haW4nOgorfCA8Li4uPi9saWJ1aW8vMC4yLjEtcjAvZ2l0L3Rvb2xzL2xzdWlvLmM6ODU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHVpb19tbWFwJworfCBjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKK3wgbWFrZVsyXTogKioqIFtsc3Vpb10gRXJyb3IgMQorLS0gQ1VUIC0tCisKK1RvIHNvbHZlIHRoaXMgZXJyb3IgYW5kIG1ha2UgbGlidWlvIHRvIGNvbXBpbGUgd2l0aCBib3RoIDQueCBhbmQgNS54LAorCisxLiBXZSBjYW4gcmVtb3ZlICd1aW9fbW1hcCcgaW5saW5lIGZ1bmN0aW9uIGRlZmluaXRpb24gaW4gdWlvX21tYXAuYywgYW5kIG1vdmUKKyAgIHRoYXQgZGVmaW5pdGlvbiBpbnRvIHVpb19oZWxwZXIuaCBmaWxlICh3aGljaCBpcyBpbmNsdWRlZCBieSBsc3Vpby5jKSBhbmQgCisgICByZXBsYWNlIGlubGluZSB3aXRoICJzdGF0aWMgaW5saW5lIi4gU2ltaWxhcmx5IGl0IGNhbiBiZSBkb25lIHRvIG90aGVyIAorICAgdWlvX3NpbmdsZV9tdW5tYXAgYW5kIHVpb19tdW5tYXAgaW5saW5lIGZ1bmN0aW9ucworCisyLiBBZGQgJ2V4dGVybicga2V5d29yZCBpbiBmcm9udCBvZiBpbmxpbmUgZnVuY3Rpb25zIGRlY2xhcmF0aW9uLCB0byBtYWtlIAorICAgaW5saW5lZCBmdW5jdGlvbiBhcyBleHRlcm5hbGx5IHZpc2libGUgZnVuY3Rpb24sIGFuZCB0byBsaW5rIHdpdGggb3RoZXIgVFVzLgorCitHb2luZyB3aXRoIG9wdGlvbiAxLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFnYWRlZXNoIEtyaXNobmFuamFuYXBwYSA8amtyaXNobmFuamFuYXBwYUBtdmlzdGEuY29tPgorCistLS0gZ2l0X29yZy9zcmMvdWlvX2hlbHBlci5oCTIwMTUtMTAtMjAgMDI6Mzc6MDQuMTgzMDc1ODU1IC0wNDAwCisrKysgZ2l0L3NyYy91aW9faGVscGVyLmgJMjAxNS0xMC0yMCAwMzozNDoyNC42NTk5NzAxMzYgLTA0MDAKK0BAIC02MSwxMSArNjEsMTEgQEAgc3RydWN0IHVpb19pbmZvX3QgeworIAorIC8qIGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KKyAKKy1pbmxpbmUgY2hhciogdWlvX2xpYl9uYW1lKHZvaWQpOworLWlubGluZSBjaGFyKiB1aW9fbGliX3ZlcnNpb24odm9pZCk7CistaW5saW5lIGludCB1aW9fbGliX2lmY3VycmVudCh2b2lkKTsKKy1pbmxpbmUgaW50IHVpb19saWJfaWZyZXZpc2lvbih2b2lkKTsKKy1pbmxpbmUgaW50IHVpb19saWJfaWZhZ2Uodm9pZCk7Cisrc3RhdGljIGlubGluZSBjaGFyKiB1aW9fbGliX25hbWUodm9pZCk7Cisrc3RhdGljIGlubGluZSBjaGFyKiB1aW9fbGliX3ZlcnNpb24odm9pZCk7Cisrc3RhdGljIGlubGluZSBpbnQgdWlvX2xpYl9pZmN1cnJlbnQodm9pZCk7Cisrc3RhdGljIGlubGluZSBpbnQgdWlvX2xpYl9pZnJldmlzaW9uKHZvaWQpOworK3N0YXRpYyBpbmxpbmUgaW50IHVpb19saWJfaWZhZ2Uodm9pZCk7CisgCisgaW50IHVpb19nZXRfbWVtX3NpemUoc3RydWN0IHVpb19pbmZvX3QqIGluZm8sIGludCBtYXBfbnVtKTsKKyBpbnQgdWlvX2dldF9tZW1fYWRkcihzdHJ1Y3QgdWlvX2luZm9fdCogaW5mbywgaW50IG1hcF9udW0pOworQEAgLTc2LDEwICs3NiwzMCBAQCBpbnQgdWlvX2dldF9hbGxfaW5mbyhzdHJ1Y3QgdWlvX2luZm9fdCogCisgaW50IHVpb19nZXRfZGV2aWNlX2F0dHJpYnV0ZXMoc3RydWN0IHVpb19pbmZvX3QqIGluZm8pOworIAorIHZvaWQqIHVpb19zaW5nbGVfbW1hcChzdHJ1Y3QgdWlvX2luZm9fdCogaW5mbywgaW50IG1hcF9udW0sIGludCBmZCk7CistaW5saW5lIHZvaWQgdWlvX21tYXAoc3RydWN0IHVpb19pbmZvX3QqIGluZm8sIGludCBmZCk7CisgCistaW5saW5lIHZvaWQgdWlvX3NpbmdsZV9tdW5tYXAoc3RydWN0IHVpb19pbmZvX3QqIGluZm8sIGludCBtYXBfbnVtKTsKKy1pbmxpbmUgdm9pZCB1aW9fbXVubWFwKHN0cnVjdCB1aW9faW5mb190KiBpbmZvKTsKKytzdGF0aWMgaW5saW5lIHZvaWQgdWlvX21tYXAoc3RydWN0IHVpb19pbmZvX3QqIGluZm8sIGludCBmZCk7Cisrc3RhdGljIGlubGluZSB2b2lkIHVpb19tbWFwKHN0cnVjdCB1aW9faW5mb190KiBpbmZvLCBpbnQgZmQpCisreworKyAgICAgICAgaW50IG1hcF9udW07CisrICAgICAgICBpZiAoIWZkKSByZXR1cm47CisrICAgICAgICBmb3IgKG1hcF9udW09IDA7IG1hcF9udW0gPCBNQVhfVUlPX01BUFM7IG1hcF9udW0rKykKKysgICAgICAgICAgICAgICAgdWlvX3NpbmdsZV9tbWFwKGluZm8sIG1hcF9udW0sIGZkKTsKKyt9CisrCisrc3RhdGljIGlubGluZSB2b2lkIHVpb19zaW5nbGVfbXVubWFwKHN0cnVjdCB1aW9faW5mb190KiBpbmZvLCBpbnQgbWFwX251bSk7Cisrc3RhdGljIGlubGluZSB2b2lkIHVpb19zaW5nbGVfbXVubWFwKHN0cnVjdCB1aW9faW5mb190KiBpbmZvLCBpbnQgbWFwX251bSkKKyt7CisrICAgICAgICBtdW5tYXAoaW5mby0+bWFwc1ttYXBfbnVtXS5pbnRlcm5hbF9hZGRyLCBpbmZvLT5tYXBzW21hcF9udW1dLnNpemUpOworKyAgICAgICAgaW5mby0+bWFwc1ttYXBfbnVtXS5tbWFwX3Jlc3VsdCA9IFVJT19NTUFQX05PVF9ET05FOworK30KKysKKytzdGF0aWMgaW5saW5lIHZvaWQgdWlvX211bm1hcChzdHJ1Y3QgdWlvX2luZm9fdCogaW5mbyk7Cisrc3RhdGljIGlubGluZSB2b2lkIHVpb19tdW5tYXAoc3RydWN0IHVpb19pbmZvX3QqIGluZm8pCisreworKyAgICAgICAgaW50IGk7CisrICAgICAgICBmb3IgKGkgPSAwOyBpIDwgTUFYX1VJT19NQVBTOyBpKyspCisrICAgICAgICAgICAgICAgIHVpb19zaW5nbGVfbXVubWFwKGluZm8sIGkpOworK30KKyAKKyB2b2lkIHVpb19mcmVlX2Rldl9hdHRycyhzdHJ1Y3QgdWlvX2luZm9fdCogaW5mbyk7Cisgdm9pZCB1aW9fZnJlZV9pbmZvKHN0cnVjdCB1aW9faW5mb190KiBpbmZvKTsKKy0tLSBnaXRfb3JnL3NyYy91aW9fbW1hcC5jCTIwMTUtMTAtMjAgMDI6Mzc6MDQuMTgzMDc1ODU1IC0wNDAwCisrKysgZ2l0L3NyYy91aW9fbW1hcC5jCTIwMTUtMTAtMjAgMDM6MzQ6NDUuMDYwMDAzMjA4IC0wNDAwCitAQCAtMjIsMTEgKzIyLDMgQEAKKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgCisgI2luY2x1ZGUgInVpb19oZWxwZXIuaCIKKy0KKy1pbmxpbmUgdm9pZCB1aW9fbW1hcChzdHJ1Y3QgdWlvX2luZm9fdCogaW5mbywgaW50IGZkKQorLXsKKy0JaW50IG1hcF9udW07CistCWlmICghZmQpIHJldHVybjsKKy0JZm9yIChtYXBfbnVtPSAwOyBtYXBfbnVtIDwgTUFYX1VJT19NQVBTOyBtYXBfbnVtKyspCistCQl1aW9fc2luZ2xlX21tYXAoaW5mbywgbWFwX251bSwgZmQpOworLX0KKy0tLSBnaXRfb3JnL3NyYy91aW9fbXVubWFwLmMJMjAxNS0xMC0yMCAwMjozNzowNC4xODMwNzU4NTUgLTA0MDAKKysrKyBnaXQvc3JjL3Vpb19tdW5tYXAuYwkyMDE1LTEwLTIwIDAzOjM0OjU5LjYzNjAyNjgzNSAtMDQwMAorQEAgLTIyLDEwICsyMiwzIEBACisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorIAorICNpbmNsdWRlICJ1aW9faGVscGVyLmgiCistCistaW5saW5lIHZvaWQgdWlvX211bm1hcChzdHJ1Y3QgdWlvX2luZm9fdCogaW5mbykKKy17CistCWludCBpOworLQlmb3IgKGkgPSAwOyBpIDwgTUFYX1VJT19NQVBTOyBpKyspCistCQl1aW9fc2luZ2xlX211bm1hcChpbmZvLCBpKTsKKy19CitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKy0tLSBnaXRfb3JnL3NyYy91aW9fc2luZ2xlX211bm1hcC5jCTIwMTUtMTAtMjAgMDI6Mzc6MDQuMTgzMDc1ODU1IC0wNDAwCisrKysgZ2l0L3NyYy91aW9fc2luZ2xlX211bm1hcC5jCTIwMTUtMTAtMjAgMDM6NTI6NTUuMDA1NzYzMDIzIC0wNDAwCitAQCAtMjQsOSArMjQsMyBAQAorICNpbmNsdWRlIDxzeXMvbW1hbi5oPgorIAorICNpbmNsdWRlICJ1aW9faGVscGVyLmgiCistCistaW5saW5lIHZvaWQgdWlvX3NpbmdsZV9tdW5tYXAoc3RydWN0IHVpb19pbmZvX3QqIGluZm8sIGludCBtYXBfbnVtKQorLXsKKy0JbXVubWFwKGluZm8tPm1hcHNbbWFwX251bV0uaW50ZXJuYWxfYWRkciwgaW5mby0+bWFwc1ttYXBfbnVtXS5zaXplKTsKKy0JaW5mby0+bWFwc1ttYXBfbnVtXS5tbWFwX3Jlc3VsdCA9IFVJT19NTUFQX05PVF9ET05FOworLX0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnVpby9saWJ1aW9fMC4yLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ1aW8vbGlidWlvXzAuMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0MDUxOTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ1aW8vbGlidWlvXzAuMi4xLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiTGlidWlvIC0gaGVscGVyIGxpYnJhcnkgZm9yIFVJTyBzdWJzeXN0ZW0iCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOTNhNWNhNDQ1ZjY5NjU4NzNlY2EwMjU5YTE3ZjgzMyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuY29kZS5zZi5uZXQvcC9saWJ1aW8vY29kZSBcCisgICAgICAgICAgIGZpbGU6Ly9yZXBsYWNlX2lubGluZV93aXRoX3N0YXRpYy1pbmxpbmUucGF0Y2giCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1NSQ1JFViA9ICJlZDRmMDdlYTE0N2FjNDAzYzI4MTA1YWI0NGQwMWJiZjUyNGQzNmY5IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitQQUNLQUdFUyArPSAiJHtQTn0tdG9vbHMiCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfSIKK0ZJTEVTXyR7UE59LXRvb2xzID0gIiR7YmluZGlyfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYndtZi9saWJ3bWYvMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLWZyZWV0eXBlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlid21mL2xpYndtZi8wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItZnJlZXR5cGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGYxMzNlMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYndtZi9saWJ3bWYvMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLWZyZWV0eXBlLnBhdGNoCkBAIC0wLDAgKzEsNjcgQEAKK0Zyb20gNjE2NTVmODIyMjRjYWRiMjYxZTgxZjhiYWUxMTFlYWFhN2JkZjUzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBXZWQsIDYgQXVnIDIwMTQgMTQ6NTM6MDMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyBmb3IgZnJlZXR5cGUKKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorLS0tCisgY29uZmlndXJlLmFjIHwgMzcgKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAzY2ZlOTc0Li4wMDU1YThjIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0zOTksNDAgKzM5OSwxOSBAQCBBQ19BUkdfV0lUSChmcmVldHlwZSxbICAtLXdpdGgtZnJlZXR5cGU9RElSICAgICB1c2UgZnJlZXR5cGUyIGluIERJUl0sWworIAlmaQorIF0pCisgCistaWYgWyB0ZXN0IC1uICIkRlJFRVRZUEVfRElSIiBdOyB0aGVuCistCUFDX1BBVEhfUFJPRyhGUkVFVFlQRV9DT05GSUcsZnJlZXR5cGUtY29uZmlnLCAsWyRGUkVFVFlQRV9ESVIvYmluOiRQQVRIXSkKKy1lbHNlCistCUFDX1BBVEhfUFJPRyhGUkVFVFlQRV9DT05GSUcsZnJlZXR5cGUtY29uZmlnKQorLWZpCistCistaWYgWyB0ZXN0IC1uICIkRlJFRVRZUEVfQ09ORklHIiBdOyB0aGVuCistCWlmIFsgdGVzdCAtbiAiJEZSRUVUWVBFX0RJUiIgXTsgdGhlbgorLQkJZnJlZXR5cGVfY2ZsYWdzPSJgJEZSRUVUWVBFX0NPTkZJRyAtLWNmbGFnc2AgLUkkRlJFRVRZUEVfRElSL2luY2x1ZGUiCistCQlmcmVldHlwZV9saWJzPWAkRlJFRVRZUEVfQ09ORklHIC0tbGlic2AKKy0JZWxzZQorLQkJZnJlZXR5cGVfY2ZsYWdzPWAkRlJFRVRZUEVfQ09ORklHIC0tY2ZsYWdzYAorLQkJZnJlZXR5cGVfbGlicz1gJEZSRUVUWVBFX0NPTkZJRyAtLWxpYnNgCistCWZpCistZWxzZQorLQlpZiBbIHRlc3QgLW4gIiRGUkVFVFlQRV9ESVIiIF07IHRoZW4KKy0JCWZyZWV0eXBlX2NmbGFncz0iLUkkRlJFRVRZUEVfRElSL2luY2x1ZGUvZnJlZXR5cGUyIC1JJEZSRUVUWVBFX0RJUi9pbmNsdWRlIgorLQkJZnJlZXR5cGVfbGlicz0iLUwkRlJFRVRZUEVfRElSL2xpYiAtbGZyZWV0eXBlIgorLQllbHNlCistCQlmcmVldHlwZV9jZmxhZ3M9IiIKKy0JCWZyZWV0eXBlX2xpYnM9Ii1sZnJlZXR5cGUiCistCWZpCistZmkKKy0KKy1DUFBGTEFHUz0iJGZyZWV0eXBlX2NmbGFncyAkQ1BQRkxBR1MiCistTERGTEFHUz0iJExERkxBR1MgJGZyZWV0eXBlX2xpYnMiCisrUEtHX0NIRUNLX01PRFVMRVMoRlJFRVRZUEUyLCBmcmVldHlwZTIsIAorKyAgICBDRkxBR1M9IiRDRkxBR1MgJEZSRUVUWVBFMl9DRkxBR1MiCisrICAgIExERkxBR1M9IiRMREZMQUdTICRGUkVFVFlQRTJfTElCUyIsCisrICAgIEFDX01TR19FUlJPUihbKioqIFVuYWJsZSB0byBmaW5kIEZyZWVUeXBlMiBsaWJyYXJ5IChodHRwOi8vd3d3LmZyZWV0eXBlLm9yZy8pXSkKKyspCisgCisgQUNfQ0hFQ0tfTElCKGZyZWV0eXBlLEZUX0luaXRfRnJlZVR5cGUsWworLQlXTUZfRlRfTERGTEFHUz0iJGZyZWV0eXBlX2xpYnMiCisrCVdNRl9GVF9MREZMQUdTPSIkRlJFRVRZUEUyX0xJQlMiCisgXSxbCUFDX01TR19FUlJPUihbKiAqICogZnJlZXR5cGUoMikgaXMgcmVxdWlyZWQgKiAqICpdKQorIF0pCisgQUNfQ0hFQ0tfSEVBREVSKGZ0MmJ1aWxkLmgsWworLQlXTUZfRlRfQ0ZMQUdTPSIkZnJlZXR5cGVfY2ZsYWdzIgorLQlXTUZfRlRfQ09ORklHX0NGTEFHUz0iJGZyZWV0eXBlX2NmbGFncyIKKysJV01GX0ZUX0NGTEFHUz0iJEZSRUVUWVBFMl9DRkxBR1MiCisrCVdNRl9GVF9DT05GSUdfQ0ZMQUdTPSIkRlJFRVRZUEUyX0NGTEFHUyIKKyBdLFsJQUNfTVNHX0VSUk9SKFsqICogKiBmcmVldHlwZSgyKSBpcyByZXF1aXJlZCAqICogKl0pCisgXSkKKyAKKy0tIAorMS45LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlid21mL2xpYndtZi9saWJ3bWYtMC4yLjguNC1pbnRvdmVyZmxvdy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYndtZi9saWJ3bWYvbGlid21mLTAuMi44LjQtaW50b3ZlcmZsb3cucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTBkOTE1YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYndtZi9saWJ3bWYvbGlid21mLTAuMi44LjQtaW50b3ZlcmZsb3cucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAoraHR0cDovL2N2cy5mZWRvcmFwcm9qZWN0Lm9yZy92aWV3dmMvZGV2ZWwvbGlid21mL2xpYndtZi0wLjIuOC40LWludG92ZXJmbG93LnBhdGNoP3ZpZXc9bG9nCisKK0NWRS0yMDA2LTMzNzYgbGlid21mIGludGVnZXIgb3ZlcmZsb3cKKworLS0tIGxpYndtZi0wLjIuOC40Lm9yaWcvc3JjL3BsYXllci5jCTIwMDItMTItMTAgMTk6MzA6MjYuMDAwMDAwMDAwICswMDAwCisrKysgbGlid21mLTAuMi44LjQvc3JjL3BsYXllci5jCTIwMDYtMDctMTIgMTU6MTI6NTIuMDAwMDAwMDAwICswMTAwCitAQCAtNDIsNiArNDIsNyBAQAorICNpbmNsdWRlICJwbGF5ZXIvZGVmYXVsdHMuaCIgLyogUHJvdmlkZXM6IGRlZmF1bHQgc2V0dGluZ3MgICAgICAgICAgICAgICAqLworICNpbmNsdWRlICJwbGF5ZXIvcmVjb3JkLmgiICAgLyogUHJvdmlkZXM6IHBhcmFtZXRlciBtZWNoYW5pc20gICAgICAgICAgICAqLworICNpbmNsdWRlICJwbGF5ZXIvbWV0YS5oIiAgICAgLyogUHJvdmlkZXM6IHJlY29yZCBpbnRlcnByZXRlcnMgICAgICAgICAgICAqLworKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyAKKyAvKioKKyAgKiBAaW50ZXJuYWwKK0BAIC0xMzIsOCArMTM0LDE0IEBACisgCQl9CisgCX0KKyAKKy0vKglQLT5QYXJhbWV0ZXJzID0gKHVuc2lnbmVkIGNoYXIqKSB3bWZfbWFsbG9jIChBUEksKE1BWF9SRUNfU0laRShBUEkpLTMpICogMiAqIHNpemVvZiAodW5zaWduZWQgY2hhcikpOworLSAqLwlQLT5QYXJhbWV0ZXJzID0gKHVuc2lnbmVkIGNoYXIqKSB3bWZfbWFsbG9jIChBUEksKE1BWF9SRUNfU0laRShBUEkpICApICogMiAqIHNpemVvZiAodW5zaWduZWQgY2hhcikpOworKwlpZiAoTUFYX1JFQ19TSVpFKEFQSSkgPiBVSU5UMzJfTUFYIC8gMikKKysJeworKwkJQVBJLT5lcnIgPSB3bWZfRV9JbnNNZW07CisrCQlXTUZfREVCVUcgKEFQSSwiYmFpbGluZy4uLiIpOworKwkJcmV0dXJuIChBUEktPmVycik7CisrCX0KKysJCisrIAlQLT5QYXJhbWV0ZXJzID0gKHVuc2lnbmVkIGNoYXIqKSB3bWZfbWFsbG9jIChBUEksKE1BWF9SRUNfU0laRShBUEkpICApICogMiAqIHNpemVvZiAodW5zaWduZWQgY2hhcikpOworIAorIAlpZiAoRVJSIChBUEkpKQorIAl7CVdNRl9ERUJVRyAoQVBJLCJiYWlsaW5nLi4uIik7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ3bWYvbGlid21mL2xpYndtZi0wLjIuOC40LXVzZWFmdGVyZnJlZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYndtZi9saWJ3bWYvbGlid21mLTAuMi44LjQtdXNlYWZ0ZXJmcmVlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMmQyODUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ3bWYvbGlid21mL2xpYndtZi0wLjIuOC40LXVzZWFmdGVyZnJlZS5wYXRjaApAQCAtMCwwICsxLDE0IEBACisKK2h0dHA6Ly9jdnMuZmVkb3JhcHJvamVjdC5vcmcvdmlld3ZjL2RldmVsL2xpYndtZi9saWJ3bWYtMC4yLjguNC11c2VhZnRlcmZyZWUucGF0Y2g/dmlldz1sb2cKK1Jlc29sdmVzOiBDVkUtMjAwOS0xMzY0CisKKy0tLSBsaWJ3bWYtMC4yLjguNC9zcmMvZXh0cmEvZ2QvZ2RfY2xpcC5jLkNWRS0yMDA5LTEzNjQtaW0tY2xpcC1saXN0CTIwMDktMDQtMjQgMDQ6MDY6NDQuMDAwMDAwMDAwIC0wNDAwCisrKysgbGlid21mLTAuMi44LjQvc3JjL2V4dHJhL2dkL2dkX2NsaXAuYwkyMDA5LTA0LTI0IDA0OjA4OjMwLjAwMDAwMDAwMCAtMDQwMAorQEAgLTcwLDYgKzcwLDcgQEAgdm9pZCBnZENsaXBTZXRBZGQoZ2RJbWFnZVB0ciBpbSxnZENsaXBSZQorIAl7CW1vcmUgPSBnZFJlYWxsb2MgKGltLT5jbGlwLT5saXN0LChpbS0+Y2xpcC0+bWF4ICsgOCkgKiBzaXplb2YgKGdkQ2xpcFJlY3RhbmdsZSkpOworIAkJaWYgKG1vcmUgPT0gMCkgcmV0dXJuOworIAkJaW0tPmNsaXAtPm1heCArPSA4OworKyAgICAgICAgICAgICAgICBpbS0+Y2xpcC0+bGlzdCA9IG1vcmU7CisgCX0KKyAJaW0tPmNsaXAtPmxpc3RbaW0tPmNsaXAtPmNvdW50XSA9ICgqcmVjdCk7CisgCWltLT5jbGlwLT5jb3VudCsrOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlid21mL2xpYndtZl8wLjIuOC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlid21mL2xpYndtZl8wLjIuOC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhZDU0NTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ3bWYvbGlid21mXzAuMi44LjQuYmIKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBjb252ZXJ0aW5nIFdNRiBmaWxlcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93dndhcmUuc291cmNlZm9yZ2UubmV0L2xpYndtZi5odG1sIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK1BSID0gInIzIgorCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJmcmVldHlwZS1uYXRpdmUgbGlicG5nLW5hdGl2ZSBqcGVnLW5hdGl2ZSIKK0RFUEVORFMgPSAiZnJlZXR5cGUgbGlicG5nIGpwZWcgZXhwYXQgZ3RrKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS93dndhcmUvJHtCUE59LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3o7bmFtZT10YXJiYWxsIFwKKyAgICAgICAgICAgZmlsZTovL2xpYndtZi0wLjIuOC40LWludG92ZXJmbG93LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xpYndtZi0wLjIuOC40LXVzZWFmdGVyZnJlZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItZnJlZXR5cGUucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVt0YXJiYWxsLm1kNXN1bV0gPSAiZDExNzc3MzliZjFjZWIwN2Y1NzQyMWYwY2VlMTkxZTAiCitTUkNfVVJJW3RhcmJhbGwuc2hhMjU2c3VtXSA9ICI1YjM0NWM2OTIyMDU0NWQwMDNhZDUyYmZkMDM1ZDVkNmY0ZjA3NWU2NTIwNDExNGE5ZTg3NWU4NDg5NWE3Y2Y4IgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9ndGstMi4wLzIuMTAuMC9sb2FkZXJzLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2d0ay0yLjAvMi4xMC4wL2xvYWRlcnMvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2d0ay0yLjAvMi4xMC4wL2xvYWRlcnMvKi5hIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9ndGstMi4wLzIuMTAuMC9sb2FkZXJzLyouc28iCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYng4Ni0xL2xpYng4Ni0xLjEvMDAwMS1hc3N1bWUtemVyby1pcy12YWxpZC1hZGRyZXNzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlieDg2LTEvbGlieDg2LTEuMS8wMDAxLWFzc3VtZS16ZXJvLWlzLXZhbGlkLWFkZHJlc3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E0NjMwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYng4Ni0xL2xpYng4Ni0xLjEvMDAwMS1hc3N1bWUtemVyby1pcy12YWxpZC1hZGRyZXNzLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK2Fzc3VtZSB6ZXJvIGlzIHZhbGlkIGFkZHJlc3MKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIHRodW5rLmMgfCAzIC0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGh1bmsuYyBiL3RodW5rLmMKK2luZGV4IDc5NmU4OGIuLjYxMjFlYTEgMTAwNjQ0CistLS0gYS90aHVuay5jCisrKysgYi90aHVuay5jCitAQCAtMTQxLDkgKzE0MSw2IEBAIGludCBMUk1JX2luaXQoKSB7CisgCisgCW1tYXBfYWRkciA9IExSTUlfY29tbW9uX2luaXQoMSk7CisgCistCWlmICghbW1hcF9hZGRyKQorLQkJcmV0dXJuIDA7CistCisgCVg4NkVNVV9waW9GdW5jcyBwaW9GdW5jcyA9IHsKKyAJCSgmeF9pbmIpLAorIAkJKCZ4X2ludyksCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYng4Ni0xL2xpYng4Ni0xLjEvbGlieDg2LW1tYXAtb2Zmc2V0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlieDg2LTEvbGlieDg2LTEuMS9saWJ4ODYtbW1hcC1vZmZzZXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQzYWNjOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYng4Ni0xL2xpYng4Ni0xLjEvbGlieDg2LW1tYXAtb2Zmc2V0LnBhdGNoCkBAIC0wLDAgKzEsMTkwIEBACitVcHN0cmVhbS1TdGF0dWU6IFBlbmRpbmcgCitbZnJvbSBmdHA6Ly8xOTUuMjIwLjEwOC4xMDgvbGludXgvZmVkb3JhL2xpbnV4L2RldmVsb3BtZW50L3Jhd2hpZGUvc291cmNlL1NSUE1TL2wvbGlieDg2LTEuMS0yMS5mYzIzLnNyYy5ycG1dCisKK2RpZmYgLXVyIGxpYng4Ni0xLjEvbHJtaS5jIGxpYng4Ni0xLjEuaGFjay9scm1pLmMKKy0tLSBsaWJ4ODYtMS4xL2xybWkuYwkyMDA2LTEwLTMwIDE1OjEwOjE2LjAwMDAwMDAwMCAtMDUwMAorKysrIGxpYng4Ni0xLjEuaGFjay9scm1pLmMJMjAwOS0xMC0yNiAxNTo1NTo0Mi4wMDAwMDAwMDAgLTA0MDAKK0BAIC0xMzYsNyArMTM2LDcgQEAKKyAJaWYgKGNvbnRleHQucmVhZHkpCisgCQlyZXR1cm4gMTsKKyAKKy0JaWYgKCFMUk1JX2NvbW1vbl9pbml0KCkpCisrCWlmICghTFJNSV9jb21tb25faW5pdCgwKSkKKyAJCXJldHVybiAwOworIAorIAkvKgorZGlmZiAtdXIgbGlieDg2LTEuMS90aHVuay5jIGxpYng4Ni0xLjEuaGFjay90aHVuay5jCistLS0gbGlieDg2LTEuMS90aHVuay5jCTIwMDgtMDQtMDIgMjA6NDg6MDAuMDAwMDAwMDAwIC0wNDAwCisrKysgbGlieDg2LTEuMS5oYWNrL3RodW5rLmMJMjAwOS0xMC0yNiAxNjowNTozOS4wMDAwMDAwMDAgLTA0MDAKK0BAIC0xMzksMTEgKzEzOSwxMSBAQAorIAlpbnQgaTsKKyAJWDg2RU1VX2ludHJGdW5jcyBpbnRGdW5jc1syNTZdOworIAorLQlpZiAoIUxSTUlfY29tbW9uX2luaXQoKSkKKysJbW1hcF9hZGRyID0gTFJNSV9jb21tb25faW5pdCgxKTsKKysKKysJaWYgKCFtbWFwX2FkZHIpCisgCQlyZXR1cm4gMDsKKyAKKy0JbW1hcF9hZGRyID0gMDsKKy0JCisgCVg4NkVNVV9waW9GdW5jcyBwaW9GdW5jcyA9IHsKKyAJCSgmeF9pbmIpLAorIAkJKCZ4X2ludyksCitAQCAtMTY5LDEwICsxNjksMTAgQEAKKyAJWDg2X0VTUCA9IDB4RkZGOTsKKyAJbWVtc2V0IChzdGFjaywgMCwgNjQqMTAyNCk7CisgCistCSooKGNoYXIgKikwKSA9IDB4NGY7IC8qIE1ha2Ugc3VyZSB0aGF0IHdlIGVuZCB1cCBqdW1waW5nIGJhY2sgdG8gYQorLQkJCQloYWx0IGluc3RydWN0aW9uICovCisrCSptbWFwX2FkZHIgPSAweDRmOyAvKiBNYWtlIHN1cmUgdGhhdCB3ZSBlbmQgdXAganVtcGluZyBiYWNrIHRvIGEKKysJCQkgICAgICBoYWx0IGluc3RydWN0aW9uICovCisgCistCU0ubWVtX2Jhc2UgPSAwOworKwlNLm1lbV9iYXNlID0gKHVuc2lnbmVkIGxvbmcpbW1hcF9hZGRyOworIAlNLm1lbV9zaXplID0gMTAyNCoxMDI0OworIAorIAlyZXR1cm4gMTsKK2RpZmYgLXVyIGxpYng4Ni0xLjEveDg2LWNvbW1vbi5jIGxpYng4Ni0xLjEuaGFjay94ODYtY29tbW9uLmMKKy0tLSBsaWJ4ODYtMS4xL3g4Ni1jb21tb24uYwkyMDA4LTA1LTE2IDEyOjU2OjIzLjAwMDAwMDAwMCAtMDQwMAorKysrIGxpYng4Ni0xLjEuaGFjay94ODYtY29tbW9uLmMJMjAwOS0xMC0yNiAxNjowMzoyMS4wMDAwMDAwMDAgLTA0MDAKK0BAIC00NSwxNCArNDUsMTUgQEAKKyBzdGF0aWMgc3RydWN0IHsKKyAJaW50IHJlYWR5OworIAlpbnQgY291bnQ7CisrCXZvaWQgKm9mZnNldDsKKyAJc3RydWN0IG1lbV9ibG9jayBibG9ja3NbUkVBTF9NRU1fQkxPQ0tTXTsKKyB9IG1lbV9pbmZvID0geyAwIH07CisgCisgc3RhdGljIGludAorLXJlYWxfbWVtX2luaXQodm9pZCkKKytyZWFsX21lbV9pbml0KGludCBoaWdoX3BhZ2UpCisgeworIAl2b2lkICptOworLQlpbnQgZmRfemVybzsKKysJaW50IGZkX3plcm8sIGZsYWdzID0gTUFQX1NIQVJFRDsKKyAKKyAJaWYgKG1lbV9pbmZvLnJlYWR5KQorIAkJcmV0dXJuIDE7CitAQCAtNjMsOSArNjQsMTIgQEAKKyAJCXJldHVybiAwOworIAl9CisgCisrCWlmICghaGlnaF9wYWdlKQorKwkJZmxhZ3MgfD0gTUFQX0ZJWEVEOworKworIAltID0gbW1hcCgodm9pZCAqKVJFQUxfTUVNX0JBU0UsIFJFQUxfTUVNX1NJWkUsCistCSBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFIHwgUFJPVF9FWEVDLAorLQkgTUFQX0ZJWEVEIHwgTUFQX1NIQVJFRCwgZmRfemVybywgMCk7CisrCQkgUFJPVF9SRUFEIHwgUFJPVF9XUklURSB8IFBST1RfRVhFQywKKysJCSBmbGFncywgZmRfemVybywgMCk7CisgCisgCWlmIChtID09ICh2b2lkICopLTEpIHsKKyAJCXBlcnJvcigibW1hcCAvZGV2L3plcm8iKTsKK0BAIC03Niw2ICs4MCw3IEBACisgCWNsb3NlKGZkX3plcm8pOworIAorIAltZW1faW5mby5yZWFkeSA9IDE7CisrCW1lbV9pbmZvLm9mZnNldCA9IG07CisgCW1lbV9pbmZvLmNvdW50ID0gMTsKKyAJbWVtX2luZm8uYmxvY2tzWzBdLnNpemUgPSBSRUFMX01FTV9TSVpFOworIAltZW1faW5mby5ibG9ja3NbMF0uZnJlZSA9IDE7CitAQCAtODcsNyArOTIsNyBAQAorIHJlYWxfbWVtX2RlaW5pdCh2b2lkKQorIHsKKyAJaWYgKG1lbV9pbmZvLnJlYWR5KSB7CistCQltdW5tYXAoKHZvaWQgKilSRUFMX01FTV9CQVNFLCBSRUFMX01FTV9TSVpFKTsKKysJCW11bm1hcChtZW1faW5mby5vZmZzZXQsIFJFQUxfTUVNX1NJWkUpOworIAkJbWVtX2luZm8ucmVhZHkgPSAwOworIAl9CisgfQorQEAgLTExOSw3ICsxMjQsNyBAQAorIExSTUlfYWxsb2NfcmVhbChpbnQgc2l6ZSkKKyB7CisgCWludCBpOworLQljaGFyICpyID0gKGNoYXIgKilSRUFMX01FTV9CQVNFOworKwljaGFyICpyID0gKGNoYXIgKiltZW1faW5mby5vZmZzZXQ7CisgCisgCWlmICghbWVtX2luZm8ucmVhZHkpCisgCQlyZXR1cm4gTlVMTDsKK0BAIC0xNTEsNyArMTU2LDcgQEAKKyBMUk1JX2ZyZWVfcmVhbCh2b2lkICptKQorIHsKKyAJaW50IGk7CistCWNoYXIgKnIgPSAoY2hhciAqKVJFQUxfTUVNX0JBU0U7CisrCWNoYXIgKnIgPSAoY2hhciAqKW1lbV9pbmZvLm9mZnNldDsKKyAKKyAJaWYgKCFtZW1faW5mby5yZWFkeSkKKyAJCXJldHVybjsKK0BAIC0yMDAsMTMgKzIwNSwxNSBAQAorIAlyZXR1cm4gKih1bnNpZ25lZCBzaG9ydCAqKShpICogNCk7CisgfQorIAorLWludCBMUk1JX2NvbW1vbl9pbml0KHZvaWQpCisrdm9pZCAqTFJNSV9jb21tb25faW5pdChpbnQgaGlnaF9wYWdlKQorIHsKKy0Jdm9pZCAqbTsKKysJdm9pZCAqbSwgKm9mZnNldDsKKyAJaW50IGZkX21lbTsKKyAKKy0JaWYgKCFyZWFsX21lbV9pbml0KCkpCistCQlyZXR1cm4gMDsKKysJaWYgKCFyZWFsX21lbV9pbml0KGhpZ2hfcGFnZSkpCisrCQlyZXR1cm4gTlVMTDsKKysKKysJb2Zmc2V0ID0gbWVtX2luZm8ub2Zmc2V0IC0gUkVBTF9NRU1fQkFTRTsKKyAKKyAJLyoKKyAJIE1hcCB0aGUgSW50ZXJydXB0IFZlY3RvcnMgKDB4MCAtIDB4NDAwKSArIEJJT1MgZGF0YSAoMHg0MDAgLSAweDUwMikKK0BAIC0yMTcsMzMgKzIyNCwzMyBAQAorIAlpZiAoZmRfbWVtID09IC0xKSB7CisgCQlyZWFsX21lbV9kZWluaXQoKTsKKyAJCXBlcnJvcigib3BlbiAvZGV2L21lbSIpOworLQkJcmV0dXJuIDA7CisrCQlyZXR1cm4gTlVMTDsKKyAJfQorIAorLQltID0gbW1hcCgodm9pZCAqKTAsIDB4NTAyLAorLQkgUFJPVF9SRUFEIHwgUFJPVF9XUklURSB8IFBST1RfRVhFQywKKy0JIE1BUF9GSVhFRCB8IE1BUF9TSEFSRUQsIGZkX21lbSwgMCk7CisrCW0gPSBtbWFwKG9mZnNldCwgMHg1MDIsCisrCQkgUFJPVF9SRUFEIHwgUFJPVF9XUklURSB8IFBST1RfRVhFQywKKysJCSBNQVBfRklYRUQgfCBNQVBfU0hBUkVELCBmZF9tZW0sIDApOworIAorIAlpZiAobSA9PSAodm9pZCAqKS0xKSB7CisgCQljbG9zZShmZF9tZW0pOworIAkJcmVhbF9tZW1fZGVpbml0KCk7CisgCQlwZXJyb3IoIm1tYXAgL2Rldi9tZW0iKTsKKy0JCXJldHVybiAwOworKwkJcmV0dXJuIE5VTEw7CisgCX0KKyAKKy0JbSA9IG1tYXAoKHZvaWQgKikweGEwMDAwLCAweDEwMDAwMCAtIDB4YTAwMDAsCisrCW0gPSBtbWFwKG9mZnNldCsweGEwMDAwLCAweDEwMDAwMCAtIDB4YTAwMDAsCisgCSBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFIHwgUFJPVF9FWEVDLAorIAkgTUFQX0ZJWEVEIHwgTUFQX1NIQVJFRCwgZmRfbWVtLCAweGEwMDAwKTsKKyAKKyAJaWYgKG0gPT0gKHZvaWQgKiktMSkgeworLQkJbXVubWFwKCh2b2lkICopMCwgMHg1MDIpOworKwkJbXVubWFwKG9mZnNldCwgMHg1MDIpOworIAkJY2xvc2UoZmRfbWVtKTsKKyAJCXJlYWxfbWVtX2RlaW5pdCgpOworIAkJcGVycm9yKCJtbWFwIC9kZXYvbWVtIik7CistCQlyZXR1cm4gMDsKKysJCXJldHVybiBOVUxMOworIAl9CisgCisgCWNsb3NlKGZkX21lbSk7CisgCistCXJldHVybiAxOworKwlyZXR1cm4gb2Zmc2V0OworIH0KK2RpZmYgLXVyIGxpYng4Ni0xLjEveDg2LWNvbW1vbi5oIGxpYng4Ni0xLjEuaGFjay94ODYtY29tbW9uLmgKKy0tLSBsaWJ4ODYtMS4xL3g4Ni1jb21tb24uaAkyMDA2LTA5LTA3IDE4OjQ0OjI3LjAwMDAwMDAwMCAtMDQwMAorKysrIGxpYng4Ni0xLjEuaGFjay94ODYtY29tbW9uLmgJMjAwOS0xMC0yNiAxNjowMToxOS4wMDAwMDAwMDAgLTA0MDAKK0BAIC00MCw0ICs0MCw0IEBACisgCisgdm9pZCAqTFJNSV9hbGxvY19yZWFsKGludCBzaXplKTsKKyB2b2lkIExSTUlfZnJlZV9yZWFsKHZvaWQgKm0pOworLWludCBMUk1JX2NvbW1vbl9pbml0KHZvaWQpOworK3ZvaWQgKkxSTUlfY29tbW9uX2luaXQoaW50IGhpZ2hfcGFnZSk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ4ODYtMS9saWJ4ODYtMV8xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJ4ODYtMS9saWJ4ODYtMV8xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBjMTUyYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYng4Ni0xL2xpYng4Ni0xXzEuMS5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIng4NiByZWFsLW1vZGUgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIkEgbGlicmFyeSB0byBwcm92aWRlIHN1cHBvcnQgZm9yIG1ha2luZyByZWFsLW1vZGUgY2FsbHMgeDg2IGNhbGxzLiBPbiBcCit4ODYgaGFyZHdhcmUsIHZtODYgbW9kZSBpcyB1c2VkLiBPbiBvdGhlciBwbGF0Zm9ybXMsIHg4NiBlbXVsYXRpb24gaXMgXAorcHJvdmlkZWQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jb2Rvbi5vcmcudWsvfm1qZzU5L2xpYng4Ni8iCitMSUNFTlNFID0gIk1JVCAmIEJTRC0zLUNsYXVzZSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9NjMzYWY2YzAyZTZmNjI0ZDRjNDcyZDk3MGEyYWNhNTMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jb2Rvbi5vcmcudWsvfm1qZzU5L2xpYng4Ni9kb3dubG9hZHMvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9saWJ4ODYtbW1hcC1vZmZzZXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hc3N1bWUtemVyby1pcy12YWxpZC1hZGRyZXNzLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjQxYmVlMWY4ZTIyYjgyZDgyYjVmN2Q3YmE1MWFiYzJhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjViZjEzMTA0Y2IzMjc0NzJiNWNiNjU2NDMzNTJhOTEzODY0NmJlY2FjYzA2NzYzMDg4ZDgzMDAxZDgzMmQwNDgiCisKK0JQTiA9ICJsaWJ4ODYiCitDT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NHxpLjg2KS4qLWxpbnV4JworCitleHBvcnQgTElCRElSID0gIiR7bGliZGlyfSIKK2V4cG9ydCBCQUNLRU5EID0gIng4NmVtdSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sb2NrZmlsZS1wcm9ncy9sb2NrZmlsZS1wcm9nc18wLjEuMTcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sb2NrZmlsZS1wcm9ncy9sb2NrZmlsZS1wcm9nc18wLjEuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM1NGZmZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xvY2tmaWxlLXByb2dzL2xvY2tmaWxlLXByb2dzXzAuMS4xNy5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIkNvbW1hbmQtbGluZSBwcm9ncmFtcyB0byBzYWZlbHkgbG9jayBhbmQgdW5sb2NrIGZpbGVzIGFuZCBtYWlsYm94ZXMiCitERVNDUklQVElPTiA9ICJcCitsb2NrZmlsZS1wcm9ncyBwcm92aWRlIGEgbWV0aG9kIHRvIGxvY2sgYW5kIHVubG9jayBtYWlsYm94ZXMgYW5kIGZpbGVzIFwKK3NhZmVseSAodmlhIGxpYmxvY2tmaWxlKS4iCitIT01FUEFHRSA9ICJodHRwOi8vcGFja2FnZXMucWEuZGViaWFuLm9yZy9sL2xvY2tmaWxlLXByb2dzLmh0bWwiCitTRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCitERVBFTkRTID0gImxpYmxvY2tmaWxlIgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZGUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL2wvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNjQ0MjRhNzY2ZmJjOGNmNmQ2MTNmY2MxNGEwOTZlMTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDNmYjA1ZDI1NDk5NTMyZjQ5Nzc3NWIxNzQ3YjYxZmE2YmVlYmYxMmQzYmNjOTUxZTEyNTM0OWFlMTY2YzUxMSIKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIENGTEFHUz0nIC1nIC1waXBlIC1XYWxsIC1XcCwtRF9GT1JUSUZZX1NPVVJDRT0yIC1mZXhjZXB0aW9ucyAtZnN0YWNrLXByb3RlY3RvciAtLXBhcmFtPXNzcC1idWZmZXItc2l6ZT00IC1mYXN5bmNocm9ub3VzLXVud2luZC10YWJsZXMnCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgYmluLyogJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke21hbmRpcn0vbWFuMQorICAgIGluc3RhbGwgbWFuLyogJHtEfSR7bWFuZGlyfS9tYW4xCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sb2djaGVjay9sb2djaGVja18xLjMuMTcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sb2djaGVjay9sb2djaGVja18xLjMuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE0YzJhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xvZ2NoZWNrL2xvZ2NoZWNrXzEuMy4xNy5iYgpAQCAtMCwwICsxLDM4IEBACitTVU1NQVJZID0gIkFuYWx5emVzIGxvZyBmaWxlcyBhbmQgc2VuZHMgbm90aWNlYWJsZSBldmVudHMgYXMgZW1haWwiCitERVNDUklQVElPTiA9ICJcCitMb2djaGVjayBpcyBhIHNpbXBsZSB1dGlsaXR5IHdoaWNoIGlzIGRlc2lnbmVkIHRvIGFsbG93IGEgc3lzdGVtIGFkbWluaXN0cmF0b3IgXAordG8gdmlldyB0aGUgbG9nLWZpbGVzIHdoaWNoIGFyZSBwcm9kdWNlZCB1cG9uIGhvc3RzIHVuZGVyIHRoZWlyIGNvbnRyb2wuIFwKK0l0IGRvZXMgdGhpcyBieSBtYWlsaW5nIHN1bW1hcmllcyBvZiB0aGUgbG9nLWZpbGVzIHRvIHRoZW0sIGFmdGVyIGZpcnN0IFwKK2ZpbHRlcmluZyBvdXQgIm5vcm1hbCIgZW50cmllcy4gXAorTm9ybWFsIGVudHJpZXMgYXJlIGVudHJpZXMgd2hpY2ggbWF0Y2ggb25lIG9mIHRoZSBtYW55IGluY2x1ZGVkIHJlZ3VsYXIgXAorZXhwcmVzc2lvbiBmaWxlcyBjb250YWluIGluIHRoZSBkYXRhYmFzZS4iCitTRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzkzYzA1NTBiZDMxNzNmNDUwNGIyY2JkODk5MWU1MGIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmRlYmlhbi5vcmcvZ2l0L2xvZ2NoZWNrL2xvZ2NoZWNrLmdpdCIKK1NSQ1JFViA9ICIyNDI5ZTY3YWQ4NzVmZWU4YTAyMzRjNjRkNTA0Mjc3YjAzOGM4OWNkIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsKCkgeworICAgICMgRml4IFFBIElzc3VlCisgICAgc2VkIC1pICcvaW5zdGFsbCAtZCAkKERFU1RESVIpXC92YXJcL2xvY2tcL2xvZ2NoZWNrL3MvXi8jLycgTWFrZWZpbGUKKworICAgICMgIm1ha2UgaW5zdGFsbCIgZG8gbm90IGluc3RhbGwgdGhlIG1hbnBhZ2VzLiBJbnN0YWxsIHRoZW0gbWFudWFsbHkuCisgICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7bWFuZGlyfS9tYW44CisgICAgaW5zdGFsbCAtbSA2NDQgZG9jcy9sb2djaGVjay10ZXN0LjEgJHtEfSR7bWFuZGlyfS9tYW4xLworICAgIGluc3RhbGwgLW0gNjQ0IGRvY3MvbG9ndGFpbC44ICR7RH0ke21hbmRpcn0vbWFuOC8KKyAgICBpbnN0YWxsIC1tIDY0NCBkb2NzL2xvZ3RhaWwyLjggJHtEfSR7bWFuZGlyfS9tYW44LworICAgIHNlZCAtaSAicy9zeXNsb2cvbWVzc2FnZXMvIiBldGMvbG9nY2hlY2subG9nZmlsZXMKKyAgICBzZWQgLWkgInMvYXV0aFwubG9nL3NlY3VyZS8iIGV0Yy9sb2djaGVjay5sb2dmaWxlcworICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uZAorICAgIGluc3RhbGwgLW0gNjQ0IGRlYmlhbi9sb2djaGVjay5jcm9uLmQgJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5kL2xvZ2NoZWNrCisgICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfS92YXIvbGliL2xvZ2NoZWNrCisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitSREVQRU5EU18ke1BOfSA9ICJwZXJsIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9sb2d0YWlsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbG9nd2F0Y2gvbG9nd2F0Y2hfNy40LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sb2d3YXRjaC9sb2d3YXRjaF83LjQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTIxNTIyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbG9nd2F0Y2gvbG9nd2F0Y2hfNy40LjEuYmIKQEAgLTAsMCArMSw1OCBAQAorU1VNTUFSWSA9ICJBIGxvZyBmaWxlIGFuYWx5c2lzIHByb2dyYW0iCitERVNDUklQVElPTiA9ICJcCitMb2d3YXRjaCBpcyBhIGN1c3RvbWl6YWJsZSwgcGx1Z2dhYmxlIGxvZy1tb25pdG9yaW5nIHN5c3RlbS4gSXQgd2lsbCBnbyBcCit0aHJvdWdoIHlvdXIgbG9ncyBmb3IgYSBnaXZlbiBwZXJpb2Qgb2YgdGltZSBhbmQgbWFrZSBhIHJlcG9ydCBpbiB0aGUgYXJlYXMgXAordGhhdCB5b3Ugd2lzaCB3aXRoIHRoZSBkZXRhaWwgdGhhdCB5b3Ugd2lzaC4gRWFzeSB0byB1c2UgLSB3b3JrcyByaWdodCBvdXQgb2YgXAordGhlIHBhY2thZ2Ugb24gbWFueSBzeXN0ZW1zLlwKKyIKK1NFQ1RJT04gPSAiZGV2ZWwiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxvZ3dhdGNoLm9yZy8iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWYyNTY2YmIxMmIxNmQyZDgwZDkwZWJjNTMzMjYxYWE3IgorUkRFUEVORFNfJHtQTn0gPSAicGVybCIKKworU1JDX1VSSSA9ICJodHRwOi8vamFpc3QuZGwuc291cmNlZm9yZ2UubmV0L3Byb2plY3QvJHtCUE59LyR7QlB9LyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhMGMzZDg3MjFmODc3YmRjZDRhOTA4OWViMWI0NjkxYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNWVjMzFmOWZlOTgxYWFhNzI3YjE0NGFiM2ZmMmViNjU1OTk3ZDhjY2FiYWY2NjU4NjQ1OGY1ZGZjM2E1NmViIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfS9sb2d3YXRjaC9zY3JpcHRzCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2RhdGFkaXJ9L2xvZ3dhdGNoL2Rpc3QuY29uZi9sb2dmaWxlcworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaC9kaXN0LmNvbmYvc2VydmljZXMKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vY2FjaGUvbG9nd2F0Y2gKKyAgICBtdiBjb25mLyAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaC9kZWZhdWx0LmNvbmYKKyAgICBtdiBzY3JpcHRzLyAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaC9zY3JpcHRzCisgICAgbXYgbGliICR7RH0ke2RhdGFkaXJ9L2xvZ3dhdGNoL2xpYgorICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaAorCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke21hbmRpcn0vbWFuMQorICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHttYW5kaXJ9L21hbjUKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7bWFuZGlyfS9tYW44CisgICAgaW5zdGFsbCAtbSAwNjQ0IGFtYXZpcy1sb2d3YXRjaC4xICR7RH0ke21hbmRpcn0vbWFuMQorICAgIGluc3RhbGwgLW0gMDY0NCBwb3N0Zml4LWxvZ3dhdGNoLjEgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtbSAwNjQ0IGlnbm9yZS5jb25mLjUgJHtEfSR7bWFuZGlyfS9tYW41CisgICAgaW5zdGFsbCAtbSAwNjQ0IG92ZXJyaWRlLmNvbmYuNSAke0R9JHttYW5kaXJ9L21hbjUKKyAgICBpbnN0YWxsIC1tIDA2NDQgbG9nd2F0Y2guY29uZi41ICR7RH0ke21hbmRpcn0vbWFuNQorICAgIGluc3RhbGwgLW0gMDY0NCBsb2d3YXRjaC44ICR7RH0ke21hbmRpcn0vbWFuOAorCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uZGFpbHkKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBsbiAtc2YgLi4vLi4ke2RhdGFkaXJ9L2xvZ3dhdGNoL3NjcmlwdHMvbG9nd2F0Y2gucGwgJHtEfSR7c2JpbmRpcn0vbG9nd2F0Y2gKKyAgICBjYXQgPiAke0R9JHtzeXNjb25mZGlyfS9jcm9uLmRhaWx5LzBsb2d3YXRjaCA8PEVPRgorICAgIERhaWx5UmVwb3J0PVxgZ3JlcCAtZSAiXltbOnNwYWNlOl1dKkRhaWx5UmVwb3J0W1s6c3BhY2U6XV0qPVtbOnNwYWNlOl1dKiIgL3Vzci9zaGFyZS9sb2d3YXRjaC9kZWZhdWx0LmNvbmYvbG9nd2F0Y2guY29uZiB8IGhlYWQgLW4xIHwgc2VkIC1lICJzfF5ccypEYWlseVJlcG9ydFxzKj1ccyp8fCJcYAorICAgIGlmIFsgIlwkRGFpbHlSZXBvcnQiICE9ICJObyIgXSAmJiBbICJcJERhaWx5UmVwb3J0IiAhPSAibm8iIF0KKyAgICB0aGVuCisgICAgICAgICAgICBsb2d3YXRjaAorICAgIGZpCitFT0YKKyAgICBjaG1vZCA3NTUgJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5kYWlseS8wbG9nd2F0Y2gKKworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfS9sb2d3YXRjaC9jb25mL2xvZ2ZpbGVzCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3dhdGNoL2NvbmYvc2VydmljZXMKKyAgICB0b3VjaCAke0R9JHtzeXNjb25mZGlyfS9sb2d3YXRjaC9jb25mL2xvZ3dhdGNoLmNvbmYKKyAgICB0b3VjaCAke0R9JHtzeXNjb25mZGlyfS9sb2d3YXRjaC9jb25mL2lnbm9yZS5jb25mCisgICAgdG91Y2ggJHtEfSR7c3lzY29uZmRpcn0vbG9nd2F0Y2gvY29uZi9vdmVycmlkZS5jb25mCisgICAgZWNobyAiIyBMb2NhbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgZ28gaGVyZSAoZGVmYXVsdHMgYXJlIGluIC91c3Ivc2hhcmUvbG9nd2F0Y2gvZGVmYXVsdC5jb25mL2xvZ3dhdGNoLmNvbmYpIiA+ICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3dhdGNoL2NvbmYvbG9nd2F0Y2guY29uZgorICAgIGVjaG8gIiMjIyMjIyBSRUdVTEFSIEVYUFJFU1NJT05TIElOIFRISVMgRklMRSBXSUxMIEJFIFRSSU1NRUQgRlJPTSBSRVBPUlQgT1VUUFVUICMjIyMjIiA+ICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3dhdGNoL2NvbmYvaWdub3JlLmNvbmYKKyAgICBlY2hvICIjIENvbmZpZ3VyYXRpb24gb3ZlcnJpZGVzIGZvciBzcGVjaWZpYyBsb2dmaWxlcy9zZXJ2aWNlcyBtYXkgYmUgcGxhY2VkIGhlcmUuIiA+ICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3dhdGNoL2NvbmYvb3ZlcnJpZGUuY29uZgorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbHBybmcvbHBybmdfMy44LkMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9scHJuZy9scHJuZ18zLjguQy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MGI5M2Q5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbHBybmcvbHBybmdfMy44LkMuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJBbiBFbmhhbmNlZCBQcmludGVyIFNwb29sZXIiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyIHwgQXJ0aXN0aWMtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzY1NzBkOGQ2OTlhZjE4ODNkYjlkMGU3MzNhYzliZmIiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjU5MDFiZWQ5NWU2MWQyYmVhM2JhMzA1NjA1NmFmNDMyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY5NGExNzQ3YTk2Mzg1Yjg5ZTkzZjQzMzQzYmYzNWNlZTVjOGM3MzM1M2E4MzgxNDEwNjkxMWM5OWYwOWRlMTAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1zc2wgLS1kaXNhYmxlLWtlcmJlcm9zIC0tZW5hYmxlLWZvcmNlX2xvY2FsaG9zdCIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2xwcm5nL2ZpbHRlcnMvLmRlYnVnIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBtdiAke0R9L2V0Yy9wcmludGNhcC5zYW1wbGUgJHtEfS9ldGMvcHJpbnRjYXAKKyAgICBtdiAke0R9L2V0Yy9scGQvbHBkLmNvbmYuc2FtcGxlICR7RH0vZXRjL2xwZC9scGQuY29uZgorICAgIG12ICR7RH0vZXRjL2xwZC9scGQucGVybXMuc2FtcGxlICR7RH0vZXRjL2xwZC9scGQucGVybXMKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xzc2NpL2xzc2NzaV8wLjI4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbHNzY2kvbHNzY3NpXzAuMjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGI4Y2JhZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xzc2NpL2xzc2NzaV8wLjI4LmJiCkBAIC0wLDAgKzEsMTIgQEAKK1NVTU1BUlkgPSAiVGhlIGxzc2NzaSBjb21tYW5kIGxpc3RzIGluZm9ybWF0aW9uIGFib3V0IFNDU0kgZGV2aWNlcyBpbiBMaW51eCIKK0hPTUVQQUdFID0gImh0dHA6Ly9zZy5kYW5ueS5jei9zY3NpL2xzc2NzaS5odG1sIgorTElDRU5TRSA9ICJHUEx2MiIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ19GSUxFU19DSEtTVU09ImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKKworU1JDX1VSSSA9ICJodHRwOi8vc2cuZGFubnkuY3ovc2NzaS8ke0JQfS50Z3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0YTM5ZTNiMDljZDQyMmUyY2FlM2VkYmFmNTZiMzE3NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMjVkMDA5YTFhZjQyYmM1YjJmY2E2NjRjNDRjOWVjZGZkNzU0MzU2ZTRhNDRmNWM2YWNlZDI0MjBhZmFkZDUwIgorCitpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbWQ1ZGVlcC9maWxlcy93cm9uZy12YXJpYWJsZS1leHBhbnNpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tZDVkZWVwL2ZpbGVzL3dyb25nLXZhcmlhYmxlLWV4cGFuc2lvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTRjNGY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbWQ1ZGVlcC9maWxlcy93cm9uZy12YXJpYWJsZS1leHBhbnNpb24ucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorLS0tIGEvY29uZmlndXJlLmFjCTIwMTQtMDgtMjIgMTI6MjI6NTQuMjkwODg0MzUxICswMjAwCisrKysgYi9jb25maWd1cmUuYWMJMjAxNC0wOC0yMiAxMjoyMzoxNS44MjIzMDYyOTUgKzAyMDAKK0BAIC00MiwxOCArNDIsNiBAQAorICAgICAgOzsJCSAJCSAgICAgCisgZXNhYworIAorLQorLSMgQnJpbmcgYWRkaXRpb25hbCBkaXJlY3RvcmllcyB3aGVyZSB0aGluZ3MgbWlnaHQgYmUgZm91bmQgaW50byBvdXIKKy0jIHNlYXJjaCBwYXRoLiBJIGRvbid0IGtub3cgd2h5IGF1dG9jb25mIGRvZXNuJ3QgZG8gdGhpcyBieSBkZWZhdWx0CistaWYgdGVzdCB4IiR7bWluZ3d9IiA9PSAieG5vIiA7IHRoZW4KKy0gIGZvciBzcGZ4IGluIC91c3IvbG9jYWwgL29wdC9sb2NhbCAvc3cgOyBkbworLSAgICBlY2hvIGNoZWNraW5nICR7c3BmeH0vaW5jbHVkZQorLSAgICBpZiB0ZXN0IC1kICR7c3BmeH0vaW5jbHVkZTsgdGhlbgorLSAgICAgICAgQ1BQRkxBR1M9Ii1JJHtzcGZ4fS9pbmNsdWRlICRDUFBGTEFHUyIKKy0gICAgICAgIExERkxBR1M9Ii1MJHtzcGZ4fS9saWIgJExERkxBR1MiCistICAgIGZpCistICBkb25lCistZmkKKyAjCisgIworICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0BAIC03MSw3ICs1OSw3IEBACisgCisgaWYgdGVzdCAkbWluZ3cgPSAibm8iIDsgdGhlbgorICAgIyBhZGQgdGhlIHdhcm5pbmdzIHdlIGRvbid0IHdhbnQgdG8gZG8gb24gbWluZ3cKKy0gICRXQVJOSU5HU19UT19URVNUPSIkV0FSTklOR1NfVE9fVEVTVCAtV2FsbCAtV3N0cmljdC1wcm90b3R5cGVzICAtV2VmZmMrKyIKKysgIFdBUk5JTkdTX1RPX1RFU1Q9IiRXQVJOSU5HU19UT19URVNUIC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMgIC1XZWZmYysrIgorIGZpCisgCisgZm9yIG9wdGlvbiBpbiAkV0FSTklOR1NfVE9fVEVTVAorQEAgLTEwNSw3ICs5Myw3IEBACisgCisgaWYgdGVzdCAkbWluZ3cgPSAibm8iIDsgdGhlbgorICAgIyBhZGQgdGhlIHdhcm5pbmdzIHdlIGRvbid0IHdhbnQgdG8gZG8gb24gbWluZ3cKKy0gICRXQVJOSU5HU19UT19URVNUPSIkV0FSTklOR1NfVE9fVEVTVCAgLVdlZmZjKysiCisrICBXQVJOSU5HU19UT19URVNUPSIkV0FSTklOR1NfVE9fVEVTVCAgLVdlZmZjKysiCisgZmkKKyAKKyBmb3Igb3B0aW9uIGluICRXQVJOSU5HU19UT19URVNUCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tZDVkZWVwL21kNWRlZXBfNC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbWQ1ZGVlcC9tZDVkZWVwXzQuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjBlMDBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbWQ1ZGVlcC9tZDVkZWVwXzQuNC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIm1kNWRlZXAgYW5kIGhhc2hkZWVwIHRvIGNvbXB1dGUgYW5kIGF1ZGl0IGhhc2hzZXRzIG9mIGFtb3VudHMgb2YgZmlsZXMuIgorREVTQ1JJUFRJT04gPSAibWQ1ZGVlcCBpcyBhIHNldCBvZiBwcm9ncmFtcyB0byBjb21wdXRlIE1ENSwgU0hBLTEsIFNIQS0yNTYsIFRpZ2VyLCBvciBXaGlybHBvb2wgbWVzc2FnZSBkaWdlc3RzIG9uIGFuIGFyYml0cmFyeSBudW1iZXIgb2YgZmlsZXMuIFRoaXMgcGFja2FnZSBhbHNvIGluY2x1ZGVzIGhhc2hkZWVwIHdoaWNoIGlzIGFsc28gYWJsZSB0byBhdWRpdCBoYXNoc2V0cy4iCitBVVRIT1IgPSAiSmVzc2UgS29ybmJsdW0sIFNpbXNvbiBMLiBHYXJmaW5rZWwiCitIT01FUEFHRSA9ICJodHRwOi8vbWQ1ZGVlcC5zb3VyY2Vmb3JnZS5uZXQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTE5MGY2NjAxMDViOWE1NmNkYjI3MjMwOWJmZDU0OTEiCisjIFJlbGVhc2UgNC40CitTUkNSRVYgPSAiY2QyZWQ3NDE2Njg1YTVlODNlYjEwYmI2NTlkNmU5YmVjMDEyNDRhZSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2plc3Nlay9oYXNoZGVlcC5naXQgXAorICAgICAgICBmaWxlOi8vd3JvbmctdmFyaWFibGUtZXhwYW5zaW9uLnBhdGNoIFwKKyAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW1sLXdpZGdldC9ndGttYXRodmlldy8wMDAxLWluY2x1ZGUtY3N0ZGlvLXRvLWdldC1wcmludGYtZGVmaW5pdGlvbnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tbWwtd2lkZ2V0L2d0a21hdGh2aWV3LzAwMDEtaW5jbHVkZS1jc3RkaW8tdG8tZ2V0LXByaW50Zi1kZWZpbml0aW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTgxNGJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW1sLXdpZGdldC9ndGttYXRodmlldy8wMDAxLWluY2x1ZGUtY3N0ZGlvLXRvLWdldC1wcmludGYtZGVmaW5pdGlvbnMucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSBjOTI4OTBjNWUxOGJiNmVlMjNiZGIxNDA3NGJhY2YzMDZkZDk0MjhmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNSBNYXkgMjAxNSAyMDozNTowMSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBpbmNsdWRlIGNzdGRpbyB0byBnZXQgcHJpbnRmIGRlZmluaXRpb25zCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL2VuZ2luZS9ib3htbC9Cb3hNTEhPVkVsZW1lbnQuY2MgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZW5naW5lL2JveG1sL0JveE1MSE9WRWxlbWVudC5jYyBiL3NyYy9lbmdpbmUvYm94bWwvQm94TUxIT1ZFbGVtZW50LmNjCitpbmRleCAxYTI4MTJjLi45NmM5ZWVhIDEwMDY0NAorLS0tIGEvc3JjL2VuZ2luZS9ib3htbC9Cb3hNTEhPVkVsZW1lbnQuY2MKKysrKyBiL3NyYy9lbmdpbmUvYm94bWwvQm94TUxIT1ZFbGVtZW50LmNjCitAQCAtMjEsNyArMjEsNyBAQAorIC8vIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CistCisrI2luY2x1ZGUgPGNzdGRpbz4KKyAjaW5jbHVkZSAiQm94TUxBdHRyaWJ1dGVTaWduYXR1cmVzLmhoIgorICNpbmNsdWRlICJCb3hNTEhPVkVsZW1lbnQuaGgiCisgI2luY2x1ZGUgIkJveE1MSEVsZW1lbnQuaGgiCistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21tbC13aWRnZXQvZ3RrbWF0aHZpZXcvdXNlX2hvc3RjeHgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tbWwtd2lkZ2V0L2d0a21hdGh2aWV3L3VzZV9ob3N0Y3h4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmZTYzMjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tbWwtd2lkZ2V0L2d0a21hdGh2aWV3L3VzZV9ob3N0Y3h4LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK1VzZSBidWlsZF9jYyB0byBjb21waWxlIHRoZSBwcm9ncmFtcyB0byBydW4gb24gYnVpbGQgaG9zdAoraGVscHMgd2l0aCBjcm9zcyBjb21waWxpbmcKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtDcm9zcy1jb21waWxlZCBPRSBzcGVjaWZpY10KKworZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vbWF0aHZhcmlhbnRzL01ha2VmaWxlLmFtIGIvc3JjL2NvbW1vbi9tYXRodmFyaWFudHMvTWFrZWZpbGUuYW0KK2luZGV4IDYzNmNjZjAuLmVkOTkyMWQgMTAwNjQ0CistLS0gYS9zcmMvY29tbW9uL21hdGh2YXJpYW50cy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2NvbW1vbi9tYXRodmFyaWFudHMvTWFrZWZpbGUuYW0KK0BAIC01Miw3ICs1Miw3IEBAIFhTTFRQUk9DID0geHNsdHByb2MKKyAlLmNjIDogJV9nZW4uY2MgJChzcmNkaXIpL3ZhcmlhbnQudG9wICQoc3JjZGlyKS92YXJpYW50LmJvdAorIAljYXQgJChzcmNkaXIpL3ZhcmlhbnQudG9wID4kQAorIAkkKFhTTFRQUk9DKSAtLW5vdmFsaWQgLS1wYXJhbSB0ZW1wICJmYWxzZSgpIiAkKHNyY2RpcikvZXh0cmFjdC54c2wgJCg8OiVfZ2VuLmNjPSQoc3JjZGlyKS94bWwvJS54bWwpID4+JEAKKy0JJChDWFgpIC1vICQoQDolLmNjPSUpIC1JJCh0b3BfYnVpbGRkaXIpL2F1dG8gJDwKKysJJChCVUlMRF9DWFgpIC1vICQoQDolLmNjPSUpIC1JJCh0b3BfYnVpbGRkaXIpL2F1dG8gJDwKKyAJZWNobyAiQ2hhcjMyICIgPj4kQAorIAliYXNlbmFtZSBtYXBfdmFyaWFudF8kQCAuY2MgfCB0ciAiLSIgIl8iID4+JEAKKyAJZWNobyAiKENoYXIzMiBjaCkiID4+JEAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21tbC13aWRnZXQvZ3RrbWF0aHZpZXdfMC44LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tbWwtd2lkZ2V0L2d0a21hdGh2aWV3XzAuOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlZGJlZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tbWwtd2lkZ2V0L2d0a21hdGh2aWV3XzAuOC4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0hPTUVQQUdFID0gImh0dHA6Ly9oZWxtLmNzLnVuaWJvLml0L21tbC13aWRnZXQvIgorREVQRU5EUyA9ICJ0MWxpYiBndGsrIHBvcHQgbGlieHNsdCBsaWJ4bWwyIgorCitMSUNFTlNFID0gIkxHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTZhNmE4ZTAyMDgzOGIyMzQwNmM4MWIxOWMxZDQ2ZGY2IgorCitQUiA9ICJyMyIKK1NSQ1JFViA9ICIwYmMyY2ZhMGE0N2FlZDJjOGE2M2FiZDk4OWNiOGRhNGRjY2ViMmVjIgorUFYgPSAiMC44LjArZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9HTk9NRS9ndGttYXRodmlldy5naXQgXAorICAgICAgICAgICBmaWxlOi8vdXNlX2hvc3RjeHgucGF0Y2ggXAorCSAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtY3N0ZGlvLXRvLWdldC1wcmludGYtZGVmaW5pdGlvbnMucGF0Y2ggXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgIyBhdm9pZCBob3N0IHBvbHV0aW9uIGluZiBwa2ctY29uZmlnIGZpbGVzCisgICAgc2VkIC1pICJzOiR7U1RBR0lOR19ESVJfSE9TVH06OmciIGBmaW5kIC1uYW1lICcqLnBjJ2AKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDEtYWRkLXN1cHBvcnQtZm9yLWJpZy1lbmRpYW4tMzJiaXQtQVJNLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwMS1hZGQtc3VwcG9ydC1mb3ItYmlnLWVuZGlhbi0zMmJpdC1BUk0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I3MDM4ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDEtYWRkLXN1cHBvcnQtZm9yLWJpZy1lbmRpYW4tMzJiaXQtQVJNLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gMDc4MzBjYmM0MDlmOGU5OThmYTgzOTI3NTQ3MDAzMWZjODNkNmViNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbi5rb29pQGxpbmFyby5vcmc+CitEYXRlOiBUaHUsIDIxIEFwciAyMDE2IDE0OjEwOjU0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGFkZCBzdXBwb3J0IGZvciBiaWcgZW5kaWFuIDMyYml0IEFSTQorCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW4ua29vaUBsaW5hcm8ub3JnPgorLS0tCisgbWZidC9kb3VibGUtY29udmVyc2lvbi91dGlscy5oIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbWZidC9kb3VibGUtY29udmVyc2lvbi91dGlscy5oIGIvbWZidC9kb3VibGUtY29udmVyc2lvbi91dGlscy5oCitpbmRleCBmZTI2ZGFiLi43OGExOWNiIDEwMDY0NAorLS0tIGEvbWZidC9kb3VibGUtY29udmVyc2lvbi91dGlscy5oCisrKysgYi9tZmJ0L2RvdWJsZS1jb252ZXJzaW9uL3V0aWxzLmgKK0BAIC01OCw3ICs1OCw3IEBACisgICAgIGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoX19wb3dlcnBjX18pIHx8IFwKKyAgICAgZGVmaW5lZChfX3NwYXJjX18pIHx8IGRlZmluZWQoX19zcGFyYykgfHwgZGVmaW5lZChfX3MzOTBfXykgfHwgXAorICAgICBkZWZpbmVkKF9fU0g0X18pIHx8IGRlZmluZWQoX19hbHBoYV9fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IFwKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX0FSTUVCX18pIHx8IFwKKyAgICAgZGVmaW5lZChfTUlQU19BUkNIX01JUFMzMlIyKQorICNkZWZpbmUgRE9VQkxFX0NPTlZFUlNJT05fQ09SUkVDVF9ET1VCTEVfT1BFUkFUSU9OUyAxCisgI2VsaWYgZGVmaW5lZChfTV9JWDg2KSB8fCBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9faTM4NikKKy0tIAorMi40LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwMS1qcy5wYy5pbi1kby1ub3QtaW5jbHVkZS1SZXF1aXJlZERlZmluZXMuaC1mb3ItZGVwZW5kLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwMS1qcy5wYy5pbi1kby1ub3QtaW5jbHVkZS1SZXF1aXJlZERlZmluZXMuaC1mb3ItZGVwZW5kLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjMTQxZDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDAxLWpzLnBjLmluLWRvLW5vdC1pbmNsdWRlLVJlcXVpcmVkRGVmaW5lcy5oLWZvci1kZXBlbmQucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSAwYTYxYjBiOThjMTUyZjEwNDA0Y2NiZGVlYWM1ODNhNDg2NjM4YTdhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVGh1LCA2IEp1biAyMDEzIDE4OjM2OjAxICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGpzLnBjLmluOiBkbyBub3QgaW5jbHVkZSBSZXF1aXJlZERlZmluZXMuaCBmb3IgZGVwZW5kaW5nCisgcGFja2FnZXMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworaW4gb3VyIGNyb3NzIGVudmlyb25tZW50IHRoZSB3b3VsZCBmYWlsIHdpdGg6CisKK3wgY2MxOiBmYXRhbCBlcnJvcjogL3Vzci9pbmNsdWRlL2pzLTE3LjAvanMvUmVxdWlyZWREZWZpbmVzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKworYW5kIGN1cnJlbnRseSBpdCBvbmx5IGRlZmluZXMgX19TVERDX0xJTUlUX01BQ1JPUworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBqcy5wYy5pbiB8ICAgIDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2pzLnBjLmluIGIvanMucGMuaW4KK2luZGV4IDEzZDc2MWQuLmE5NWE3YmQgMTAwNjQ0CistLS0gYS9qcy5wYy5pbgorKysrIGIvanMucGMuaW4KK0BAIC04LDQgKzgsNCBAQCBEZXNjcmlwdGlvbjogVGhlIE1vemlsbGEgbGlicmFyeSBmb3IgSmF2YVNjcmlwdAorIFZlcnNpb246IEBNT1pJTExBX1ZFUlNJT05ACisgUmVxdWlyZXMucHJpdmF0ZTogQE5TUFJfUEtHQ09ORl9DSEVDS0AKKyBMaWJzOiAtTCR7bGliZGlyfSAtbEBMSUJSQVJZX05BTUVACistQ2ZsYWdzOiAtaW5jbHVkZSAke2luY2x1ZGVkaXJ9L0BNT0RVTEVAL2pzL1JlcXVpcmVkRGVmaW5lcy5oIC1JJHtpbmNsdWRlZGlyfS9ATU9EVUxFQAorK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9L0BNT0RVTEVACistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwMS1tb3pqczE3LjAuMC1maXgtdGhlLWNvbXBpbGUtYnVnLW9mLXBvd2VycGMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDAxLW1vempzMTcuMC4wLWZpeC10aGUtY29tcGlsZS1idWctb2YtcG93ZXJwYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTcyZDRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwMS1tb3pqczE3LjAuMC1maXgtdGhlLWNvbXBpbGUtYnVnLW9mLXBvd2VycGMucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSBkYTM5MjlhOTZkOWM3NGUxMWJmMzdkMTI4ODkwZTE4ZmNiNzQ1MzY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGVpIE1hb2h1aSA8bGVpbWFvaHVpQGNuLmZ1aml0c3UuY29tPgorRGF0ZTogTW9uLCAyNiBKYW4gMjAxNSAwODo1MzoxOSArMDkwMAorU3ViamVjdDogW1BBVENIXSBtb3pqczE3LjAuMDogZml4IHRoZSBjb21waWxlIGJ1ZyBvZiBwb3dlcnBjCisKK1RvIGZpeCB0aGUgYnVnIGFzIGZvbGxvd2luZworCitlcnJvcjogY2Fubm90IGNvbnZlcnQgJ19fdmFfbGlzdF90YWcqKicgdG8gJ19fdmFfbGlzdF90YWcgKCopWzFdJyBmb3IKK2FyZ3VtZW50ICc1JyB0byAnSlNCb29sIFRyeUFyZ3VtZW50Rm9ybWF0dGVyKEpTQ29udGV4dCosIGNvbnN0IGNoYXIqKiwKK0pTQm9vbCwganN2YWwqKiwgX192YV9saXN0X3RhZyAoKilbMV0pJworCitTaWduZWQtb2ZmLWJ5OiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CistLS0KKyBqc2NwdWNmZy5oIHwgNiArKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9qc2NwdWNmZy5oIGIvanNjcHVjZmcuaAoraW5kZXggZGZiMWMxNC4uODY4MzQ5MSAxMDA2NDQKKy0tLSBhL2pzY3B1Y2ZnLmgKKysrKyBiL2pzY3B1Y2ZnLmgKK0BAIC00Nyw2ICs0NywxMiBAQAorICNlbGlmIGRlZmluZWQoSlNfSEFWRV9FTkRJQU5fSCkKKyAjIGluY2x1ZGUgPGVuZGlhbi5oPgorIAorKyNpZiBkZWZpbmVkKF9QT1dFUikgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykgfHwgXAorKyAgICBkZWZpbmVkKF9fcHBjX18pCisrIyBkZWZpbmUgSEFWRV9WQV9MSVNUX0FTX0FSUkFZIDEKKysjIGVuZGlmCisrCisrCisgIyBpZiBkZWZpbmVkKF9fQllURV9PUkRFUikKKyAjICBpZiBfX0JZVEVfT1JERVIgPT0gX19MSVRUTEVfRU5ESUFOCisgIyAgIGRlZmluZSBJU19MSVRUTEVfRU5ESUFOIDEKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDAxLXJlZ2VuZXJhdGUtY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwMS1yZWdlbmVyYXRlLWNvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYTQxM2VhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwMS1yZWdlbmVyYXRlLWNvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDMyMzggQEAKK0Zyb20gNjQ0MGI0OTAxYzZmNGJjYzY5Njg2ZmYxMDgwNmUzMTFjYzVhOTI3YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbi5rb29pQGxpbmFyby5vcmc+CitEYXRlOiBUdWUsIDMgTWFyIDIwMTUgMTk6MTI6MTcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gcmVnZW5lcmF0ZSBjb25maWd1cmUgd2l0aCBhdXRvY29uZi0yLjEzCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbi5rb29pQGxpbmFyby5vcmc+CitVcHN0cmVhbS1zdGF0dXM6IEluYXBwcm9wcmlhdGUgW2dlbmVyYXRlZCBmaWxlXQorCistLS0KKyBqcy9zcmMvY29uZmlndXJlIHwgODM4ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMzg5IGluc2VydGlvbnMoKyksIDQ0OSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2pzL3NyYy9jb25maWd1cmUgYi9qcy9zcmMvY29uZmlndXJlCitpbmRleCBjYjZiNDFiLi5iMDUyOThmIDEwMDc1NQorLS0tIGEvanMvc3JjL2NvbmZpZ3VyZQorKysrIGIvanMvc3JjL2NvbmZpZ3VyZQorQEAgLTU3NTcsNiArNTc1NywxMCBAQCBhcm0qKQorICAgICBDUFVfQVJDSD1hcm0KKyAgICAgOzsKKyAKKythYXJjaDY0KikKKysgICAgQ1BVX0FSQ0g9YWFyY2g2NAorKyAgICA7OworKworIG1pcHN8bWlwc2VsKQorICAgICBDUFVfQVJDSD0ibWlwcyIKKyAgICAgOzsKK0BAIC01ODkzLDE0ICs1ODk3LDE0IEBAIG5vKQorICAgICBfU0FWRV9DRkxBR1M9IiRDRkxBR1MiCisgICAgIENGTEFHUz0iJGFyY2hfZmxhZyIKKyAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDU4OTcgImNvbmZpZ3VyZSIKKysjbGluZSA1OTAxICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgcmV0dXJuIHNpemVvZihfX3RodW1iMl9fKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo1OTA0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo1OTA4OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBNT1pfVEhVTUIyPTEKKyBlbHNlCitAQCAtNTk3MiwxNiArNTk3NiwxNiBAQCBpZiB0ZXN0IC1uICIkYWxsX2ZsYWdzIjsgdGhlbgorICAgICBfU0FWRV9DRkxBR1M9IiRDRkxBR1MiCisgICAgIENGTEFHUz0iJGFsbF9mbGFncyIKKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgY2hvc2VuIGNvbWJpbmF0aW9uIG9mIGNvbXBpbGVyIGZsYWdzICgkYWxsX2ZsYWdzKSB3b3JrcyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjU5NzY6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGNob3NlbiBjb21iaW5hdGlvbiBvZiBjb21waWxlciBmbGFncyAoJGFsbF9mbGFncykgd29ya3MiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo1OTgwOiBjaGVja2luZyB3aGV0aGVyIHRoZSBjaG9zZW4gY29tYmluYXRpb24gb2YgY29tcGlsZXIgZmxhZ3MgKCRhbGxfZmxhZ3MpIHdvcmtzIiA+JjUKKyAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDU5NzggImNvbmZpZ3VyZSIKKysjbGluZSA1OTgyICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgcmV0dXJuIDA7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NTk4NTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NTk4OTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZWNobyAiJGFjX3QiInllcyIgMT4mNgorIGVsc2UKK0BAIC02MDA0LDE4ICs2MDA4LDE4IEBAIGZpCisgCisgaWYgdGVzdCAiJENQVV9BUkNIIiA9ICJhcm0iOyB0aGVuCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgQVJNIFNJTUQgc3VwcG9ydCBpbiBjb21waWxlciIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjYwMDg6IGNoZWNraW5nIGZvciBBUk0gU0lNRCBzdXBwb3J0IGluIGNvbXBpbGVyIiA+JjUKKytlY2hvICJjb25maWd1cmU6NjAxMjogY2hlY2tpbmcgZm9yIEFSTSBTSU1EIHN1cHBvcnQgaW4gY29tcGlsZXIiID4mNQorICAgIyBXZSB0cnkgdG8gbGluayBzbyB0aGF0IHRoaXMgYWxzbyBmYWlscyB3aGVuCisgICAjIGJ1aWxkaW5nIHdpdGggTFRPLgorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDYwMTIgImNvbmZpZ3VyZSIKKysjbGluZSA2MDE2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgYXNtKCJ1cWFkZDggcjEsIHIxLCByMiIpOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYwMTk6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjAyMzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICByZXN1bHQ9InllcyIKKyBlbHNlCitAQCAtNjAzOCwxOCArNjA0MiwxOCBAQCBFT0YKKyAgIGZpCisgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgQVJNIE5FT04gc3VwcG9ydCBpbiBjb21waWxlciIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjYwNDI6IGNoZWNraW5nIGZvciBBUk0gTkVPTiBzdXBwb3J0IGluIGNvbXBpbGVyIiA+JjUKKytlY2hvICJjb25maWd1cmU6NjA0NjogY2hlY2tpbmcgZm9yIEFSTSBORU9OIHN1cHBvcnQgaW4gY29tcGlsZXIiID4mNQorICAgIyBXZSB0cnkgdG8gbGluayBzbyB0aGF0IHRoaXMgYWxzbyBmYWlscyB3aGVuCisgICAjIGJ1aWxkaW5nIHdpdGggTFRPLgorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDYwNDYgImNvbmZpZ3VyZSIKKysjbGluZSA2MDUwICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgYXNtKCIuZnB1IG5lb25cbiB2YWRkLmk4IGQwLCBkMCwgZDAiKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2MDUzOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYwNTc6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgcmVzdWx0PSJ5ZXMiCisgZWxzZQorQEAgLTYwOTQsNyArNjA5OCw3IEBAIGNvbmZpZ3VyZV9zdGF0aWNfYXNzZXJ0X21hY3Jvcz0nCisgJworIAorIGVjaG8gJGFjX24gImNoZWNraW5nIHRoYXQgc3RhdGljIGFzc2VydGlvbiBtYWNyb3MgdXNlZCBpbiBhdXRvY29uZiB0ZXN0cyB3b3JrIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6NjA5ODogY2hlY2tpbmcgdGhhdCBzdGF0aWMgYXNzZXJ0aW9uIG1hY3JvcyB1c2VkIGluIGF1dG9jb25mIHRlc3RzIHdvcmsiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2MTAyOiBjaGVja2luZyB0aGF0IHN0YXRpYyBhc3NlcnRpb24gbWFjcm9zIHVzZWQgaW4gYXV0b2NvbmYgdGVzdHMgd29yayIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3N0YXRpY19hc3NlcnRpb25fbWFjcm9zX3dvcmsnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtNjEwOCwxNCArNjExMiwxNCBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyAKKyAgIGFjX2N2X3N0YXRpY19hc3NlcnRpb25fbWFjcm9zX3dvcms9InllcyIKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA2MTEyICJjb25maWd1cmUiCisrI2xpbmUgNjExNiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICRjb25maWd1cmVfc3RhdGljX2Fzc2VydF9tYWNyb3MKKyBpbnQgbWFpbigpIHsKKyBDT05GSUdVUkVfU1RBVElDX0FTU0VSVCgxKQorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYxMTk6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYxMjM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIDoKKyBlbHNlCisgICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorQEAgLTYxMjUsMTQgKzYxMjksMTQgQEAgZWxzZQorIGZpCisgcm0gLWYgY29uZnRlc3QqCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNjEyOSAiY29uZmlndXJlIgorKyNsaW5lIDYxMzMgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAkY29uZmlndXJlX3N0YXRpY19hc3NlcnRfbWFjcm9zCisgaW50IG1haW4oKSB7CisgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoMCkKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2MTM2OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2MTQwOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9zdGF0aWNfYXNzZXJ0aW9uX21hY3Jvc193b3JrPSJubyIKKyBlbHNlCitAQCAtNjE0OCwxNCArNjE1MiwxNCBAQCBhY19saW5rPScke0NYWC1nKyt9IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRDWFhGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlcworIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jeHhfY3Jvc3MKKyAKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA2MTUyICJjb25maWd1cmUiCisrI2xpbmUgNjE1NiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICRjb25maWd1cmVfc3RhdGljX2Fzc2VydF9tYWNyb3MKKyBpbnQgbWFpbigpIHsKKyBDT05GSUdVUkVfU1RBVElDX0FTU0VSVCgxKQorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYxNTk6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjYxNjM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIDoKKyBlbHNlCisgICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorQEAgLTYxNjUsMTQgKzYxNjksMTQgQEAgZWxzZQorIGZpCisgcm0gLWYgY29uZnRlc3QqCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNjE2OSAiY29uZmlndXJlIgorKyNsaW5lIDYxNzMgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAkY29uZmlndXJlX3N0YXRpY19hc3NlcnRfbWFjcm9zCisgaW50IG1haW4oKSB7CisgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoMCkKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2MTc2OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2MTgwOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9zdGF0aWNfYXNzZXJ0aW9uX21hY3Jvc193b3JrPSJubyIKKyBlbHNlCitAQCAtNjMxNyw3ICs2MzIxLDcgQEAgaWYgdGVzdCAiJEdOVV9DQyI7IHRoZW4KKyAgICAgX1dBUk5JTkdTX0NGTEFHUz0iJHtfV0FSTklOR1NfQ0ZMQUdTfSAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQiCisgICAgIAorICAgICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1XZXJyb3I9cmV0dXJuLXR5cGUiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo2MzIxOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1XZXJyb3I9cmV0dXJuLXR5cGUiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2MzI1OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1XZXJyb3I9cmV0dXJuLXR5cGUiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jX2hhc193ZXJyb3JfcmV0dXJuX3R5cGUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtNjMzMywxNCArNjMzNywxNCBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyAgICAgICAgICAgICBfU0FWRV9DRkxBR1M9IiRDRkxBR1MiCisgICAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1XZXJyb3IgLVdlcnJvcj1yZXR1cm4tdHlwZSIKKyAgICAgICAgICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNjMzNyAiY29uZmlndXJlIgorKyNsaW5lIDYzNDEgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyByZXR1cm4oMCk7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjM0NDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjM0ODogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY19oYXNfd2Vycm9yX3JldHVybl90eXBlPSJ5ZXMiCisgZWxzZQorQEAgLTYzNjgsNyArNjM3Miw3IEBAIGVjaG8gIiRhY190IiIkYWNfY19oYXNfd2Vycm9yX3JldHVybl90eXBlIiAxPiY2CisgCisgICAgIAorICAgICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1XdHlwZS1saW1pdHMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo2MzcyOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1XdHlwZS1saW1pdHMiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2Mzc2OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1XdHlwZS1saW1pdHMiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jX2hhc193dHlwZV9saW1pdHMnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtNjM4NCwxNCArNjM4OCwxNCBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyAgICAgICAgICAgICBfU0FWRV9DRkxBR1M9IiRDRkxBR1MiCisgICAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1XZXJyb3IgLVd0eXBlLWxpbWl0cyIKKyAgICAgICAgICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNjM4OCAiY29uZmlndXJlIgorKyNsaW5lIDYzOTIgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyByZXR1cm4oMCk7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjM5NTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NjM5OTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY19oYXNfd3R5cGVfbGltaXRzPSJ5ZXMiCisgZWxzZQorQEAgLTY0MTksNyArNjQyMyw3IEBAIGVjaG8gIiRhY190IiIkYWNfY19oYXNfd3R5cGVfbGltaXRzIiAxPiY2CisgCisgICAgIAorICAgICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1XZW1wdHktYm9keSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjY0MjM6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVdlbXB0eS1ib2R5IiA+JjUKKytlY2hvICJjb25maWd1cmU6NjQyNzogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciBzdXBwb3J0cyAtV2VtcHR5LWJvZHkiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jX2hhc193ZW1wdHlfYm9keScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC02NDM1LDE0ICs2NDM5LDE0IEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworICAgICAgICAgICAgIF9TQVZFX0NGTEFHUz0iJENGTEFHUyIKKyAgICAgICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLVdlcnJvciAtV2VtcHR5LWJvZHkiCisgICAgICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDY0MzkgImNvbmZpZ3VyZSIKKysjbGluZSA2NDQzICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgcmV0dXJuKDApOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY0NDY6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY0NTA6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2NfaGFzX3dlbXB0eV9ib2R5PSJ5ZXMiCisgZWxzZQorQEAgLTY0NzYsNyArNjQ4MCw3IEBAIGVjaG8gIiRhY190IiIkYWNfY19oYXNfd2VtcHR5X2JvZHkiIDE+JjYKKyAgICAgX1dBUk5JTkdTX0NGTEFHUz0iJHtfV0FSTklOR1NfQ0ZMQUdTfSAtV25vLXVudXNlZCIKKyAgICAgCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVduby1vdmVybGVuZ3RoLXN0cmluZ3MiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo2NDgwOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tb3Zlcmxlbmd0aC1zdHJpbmdzIiA+JjUKKytlY2hvICJjb25maWd1cmU6NjQ4NDogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciBzdXBwb3J0cyAtV25vLW92ZXJsZW5ndGgtc3RyaW5ncyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2NfaGFzX3dub19vdmVybGVuZ3RoX3N0cmluZ3MnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtNjQ5MiwxNCArNjQ5NiwxNCBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyAgICAgICAgICAgICBfU0FWRV9DRkxBR1M9IiRDRkxBR1MiCisgICAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1XZXJyb3IgLVdvdmVybGVuZ3RoLXN0cmluZ3MiCisgICAgICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDY0OTYgImNvbmZpZ3VyZSIKKysjbGluZSA2NTAwICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgcmV0dXJuKDApOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY1MDM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY1MDc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2NfaGFzX3dub19vdmVybGVuZ3RoX3N0cmluZ3M9InllcyIKKyBlbHNlCitAQCAtNjU4MCw3ICs2NTg0LDcgQEAgaWYgdGVzdCAiJEdOVV9DWFgiOyB0aGVuCisgICAgIF9XQVJOSU5HU19DWFhGTEFHUz0iJHtfV0FSTklOR1NfQ1hYRkxBR1N9IC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV292ZXJsb2FkZWQtdmlydHVhbCIKKyAgICAgCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV2Vycm9yPXJldHVybi10eXBlIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6NjU4NDogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1XZXJyb3I9cmV0dXJuLXR5cGUiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2NTg4OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVdlcnJvcj1yZXR1cm4tdHlwZSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N4eF9oYXNfd2Vycm9yX3JldHVybl90eXBlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTY1OTYsMTQgKzY2MDAsMTQgQEAgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworICAgICAgICAgICAgIF9TQVZFX0NYWEZMQUdTPSIkQ1hYRkxBR1MiCisgICAgICAgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAtV2Vycm9yIC1XZXJyb3I9cmV0dXJuLXR5cGUiCisgICAgICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDY2MDAgImNvbmZpZ3VyZSIKKysjbGluZSA2NjA0ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgcmV0dXJuKDApOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY2MDc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY2MTE6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N4eF9oYXNfd2Vycm9yX3JldHVybl90eXBlPSJ5ZXMiCisgZWxzZQorQEAgLTY2MzEsNyArNjYzNSw3IEBAIGVjaG8gIiRhY190IiIkYWNfY3h4X2hhc193ZXJyb3JfcmV0dXJuX3R5cGUiIDE+JjYKKyAKKyAgICAgCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV3R5cGUtbGltaXRzIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6NjYzNTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1XdHlwZS1saW1pdHMiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2NjM5OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVd0eXBlLWxpbWl0cyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N4eF9oYXNfd3R5cGVfbGltaXRzJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTY2NDcsMTQgKzY2NTEsMTQgQEAgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworICAgICAgICAgICAgIF9TQVZFX0NYWEZMQUdTPSIkQ1hYRkxBR1MiCisgICAgICAgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAtV2Vycm9yIC1XdHlwZS1saW1pdHMiCisgICAgICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDY2NTEgImNvbmZpZ3VyZSIKKysjbGluZSA2NjU1ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgcmV0dXJuKDApOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY2NTg6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjY2NjI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N4eF9oYXNfd3R5cGVfbGltaXRzPSJ5ZXMiCisgZWxzZQorQEAgLTY2ODIsNyArNjY4Niw3IEBAIGVjaG8gIiRhY190IiIkYWNfY3h4X2hhc193dHlwZV9saW1pdHMiIDE+JjYKKyAKKyAgICAgCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV2VtcHR5LWJvZHkiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo2Njg2OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVdlbXB0eS1ib2R5IiA+JjUKKytlY2hvICJjb25maWd1cmU6NjY5MDogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1XZW1wdHktYm9keSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N4eF9oYXNfd2VtcHR5X2JvZHknK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtNjY5OCwxNCArNjcwMiwxNCBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY3h4X2Nyb3NzCisgICAgICAgICAgICAgX1NBVkVfQ1hYRkxBR1M9IiRDWFhGTEFHUyIKKyAgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1XZXJyb3IgLVdlbXB0eS1ib2R5IgorICAgICAgICAgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA2NzAyICJjb25maWd1cmUiCisrI2xpbmUgNjcwNiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGludCBtYWluKCkgeworIHJldHVybigwKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2NzA5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2NzEzOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jeHhfaGFzX3dlbXB0eV9ib2R5PSJ5ZXMiCisgZWxzZQorQEAgLTY3NDEsNyArNjc0NSw3IEBAIGVjaG8gIiRhY190IiIkYWNfY3h4X2hhc193ZW1wdHlfYm9keSIgMT4mNgorICAgICBfV0FSTklOR1NfQ1hYRkxBR1M9IiR7X1dBUk5JTkdTX0NYWEZMQUdTfSAtV25vLWN0b3ItZHRvci1wcml2YWN5IgorICAgICAKKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tb3Zlcmxlbmd0aC1zdHJpbmdzIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6Njc0NTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tb3Zlcmxlbmd0aC1zdHJpbmdzIiA+JjUKKytlY2hvICJjb25maWd1cmU6Njc0OTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tb3Zlcmxlbmd0aC1zdHJpbmdzIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3h4X2hhc193bm9fb3Zlcmxlbmd0aF9zdHJpbmdzJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTY3NTcsMTQgKzY3NjEsMTQgQEAgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworICAgICAgICAgICAgIF9TQVZFX0NYWEZMQUdTPSIkQ1hYRkxBR1MiCisgICAgICAgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAtV2Vycm9yIC1Xb3Zlcmxlbmd0aC1zdHJpbmdzIgorICAgICAgICAgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA2NzYxICJjb25maWd1cmUiCisrI2xpbmUgNjc2NSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGludCBtYWluKCkgeworIHJldHVybigwKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2NzY4OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2NzcyOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jeHhfaGFzX3dub19vdmVybGVuZ3RoX3N0cmluZ3M9InllcyIKKyBlbHNlCitAQCAtNjc5Miw3ICs2Nzk2LDcgQEAgZWNobyAiJGFjX3QiIiRhY19jeHhfaGFzX3dub19vdmVybGVuZ3RoX3N0cmluZ3MiIDE+JjYKKyAKKyAgICAgCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV25vLWludmFsaWQtb2Zmc2V0b2YiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo2Nzk2OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby1pbnZhbGlkLW9mZnNldG9mIiA+JjUKKytlY2hvICJjb25maWd1cmU6NjgwMDogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8taW52YWxpZC1vZmZzZXRvZiIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N4eF9oYXNfd25vX2ludmFsaWRfb2Zmc2V0b2YnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtNjgwOCwxNCArNjgxMiwxNCBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY3h4X2Nyb3NzCisgICAgICAgICAgICAgX1NBVkVfQ1hYRkxBR1M9IiRDWFhGTEFHUyIKKyAgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1XZXJyb3IgLVdpbnZhbGlkLW9mZnNldG9mIgorICAgICAgICAgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA2ODEyICJjb25maWd1cmUiCisrI2xpbmUgNjgxNiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGludCBtYWluKCkgeworIHJldHVybigwKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2ODE5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2ODIzOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jeHhfaGFzX3dub19pbnZhbGlkX29mZnNldG9mPSJ5ZXMiCisgZWxzZQorQEAgLTY4NDMsNyArNjg0Nyw3IEBAIGVjaG8gIiRhY190IiIkYWNfY3h4X2hhc193bm9faW52YWxpZF9vZmZzZXRvZiIgMT4mNgorIAorICAgICAKKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tdmFyaWFkaWMtbWFjcm9zIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6Njg0NzogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tdmFyaWFkaWMtbWFjcm9zIiA+JjUKKytlY2hvICJjb25maWd1cmU6Njg1MTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tdmFyaWFkaWMtbWFjcm9zIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3h4X2hhc193bm9fdmFyaWFkaWNfbWFjcm9zJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTY4NTksMTQgKzY4NjMsMTQgQEAgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworICAgICAgICAgICAgIF9TQVZFX0NYWEZMQUdTPSIkQ1hYRkxBR1MiCisgICAgICAgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAtV2Vycm9yIC1XdmFyaWFkaWMtbWFjcm9zIgorICAgICAgICAgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA2ODYzICJjb25maWd1cmUiCisrI2xpbmUgNjg2NyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGludCBtYWluKCkgeworIHJldHVybigwKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2ODcwOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2ODc0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jeHhfaGFzX3dub192YXJpYWRpY19tYWNyb3M9InllcyIKKyBlbHNlCitAQCAtNjkxOCw3ICs2OTIyLDcgQEAgZWNobyAiJGFjX3QiIiRhY19jeHhfaGFzX3dub192YXJpYWRpY19tYWNyb3MiIDE+JjYKKyAgICAgICAgIF9XQVJOSU5HU19DWFhGTEFHUz0iJHtfV0FSTklOR1NfQ1hYRkxBR1N9IC1Xbm8tYysrMHgtZXh0ZW5zaW9ucyIKKyAgICAgICAgIAorICAgICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby1leHRlbmRlZC1vZmZzZXRvZiIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjY5MjI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV25vLWV4dGVuZGVkLW9mZnNldG9mIiA+JjUKKytlY2hvICJjb25maWd1cmU6NjkyNjogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tZXh0ZW5kZWQtb2Zmc2V0b2YiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jeHhfaGFzX3dub19leHRlbmRlZF9vZmZzZXRvZicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC02OTM0LDE0ICs2OTM4LDE0IEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jeHhfY3Jvc3MKKyAgICAgICAgICAgICBfU0FWRV9DWFhGTEFHUz0iJENYWEZMQUdTIgorICAgICAgICAgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MgLVdlcnJvciAtV2V4dGVuZGVkLW9mZnNldG9mIgorICAgICAgICAgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA2OTM4ICJjb25maWd1cmUiCisrI2xpbmUgNjk0MiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGludCBtYWluKCkgeworIHJldHVybigwKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2OTQ1OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo2OTQ5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jeHhfaGFzX3dub19leHRlbmRlZF9vZmZzZXRvZj0ieWVzIgorIGVsc2UKK0BAIC02OTc5LDcgKzY5ODMsNyBAQCBNS1NITElCX1VORk9SQ0VfQUxMPQorIGlmIHRlc3QgIiRDT01QSUxFX0VOVklST05NRU5UIjsgdGhlbgorIGlmIHRlc3QgIiRHTlVfQ0MiOyB0aGVuCisgICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIGxkIGhhcyBhcmNoaXZlIGV4dHJhY3Rpb24gZmxhZ3MiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo2OTgzOiBjaGVja2luZyB3aGV0aGVyIGxkIGhhcyBhcmNoaXZlIGV4dHJhY3Rpb24gZmxhZ3MiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo2OTg3OiBjaGVja2luZyB3aGV0aGVyIGxkIGhhcyBhcmNoaXZlIGV4dHJhY3Rpb24gZmxhZ3MiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X21rc2hsaWJfZm9yY2VfYW5kX3VuZm9yY2UnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtNjk5NiwxNCArNzAwMCwxNCBAQCBMT09QX0lOUFVUCisgICAgICAgTERGTEFHUz0kZm9yY2UKKyAgICAgICBMSUJTPSR1bmZvcmNlCisgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDcwMDAgImNvbmZpZ3VyZSIKKysjbGluZSA3MDA0ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NzAwNzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3MDExOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X21rc2hsaWJfZm9yY2VfYW5kX3VuZm9yY2U9JGxpbmU7IGJyZWFrCisgZWxzZQorQEAgLTcwMzgsMTYgKzcwNDIsMTYgQEAgYWNfbGluaz0nJHtDQy1jY30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGEKKyBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgNjQtYml0IE9TIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6NzA0MjogY2hlY2tpbmcgZm9yIDY0LWJpdCBPUyIgPiY1CisrZWNobyAiY29uZmlndXJlOjcwNDY6IGNoZWNraW5nIGZvciA2NC1iaXQgT1MiID4mNQorIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA3MDQ0ICJjb25maWd1cmUiCisrI2xpbmUgNzA0OCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICRjb25maWd1cmVfc3RhdGljX2Fzc2VydF9tYWNyb3MKKyBpbnQgbWFpbigpIHsKKyBDT05GSUdVUkVfU1RBVElDX0FTU0VSVChzaXplb2Yodm9pZCopID09IDgpCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NzA1MTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NzA1NTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgcmVzdWx0PSJ5ZXMiCisgZWxzZQorQEAgLTcxNzAsNyArNzE3NCw3IEBAIGNhc2UgIiRob3N0IiBpbgorIGVzYWMKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgUHl0aG9uIHZlcnNpb24gPj0gJFBZVEhPTl9WRVJTSU9OIGJ1dCBub3QgMy54IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6NzE3NDogY2hlY2tpbmcgZm9yIFB5dGhvbiB2ZXJzaW9uID49ICRQWVRIT05fVkVSU0lPTiBidXQgbm90IDMueCIgPiY1CisrZWNobyAiY29uZmlndXJlOjcxNzg6IGNoZWNraW5nIGZvciBQeXRob24gdmVyc2lvbiA+PSAkUFlUSE9OX1ZFUlNJT04gYnV0IG5vdCAzLngiID4mNQorIAorICRQWVRIT04gLWMgImltcG9ydCBzeXM7IHN5cy5leGl0KHN5cy52ZXJzaW9uWzozXSA8IHN5cy5hcmd2WzFdIG9yIHN5cy52ZXJzaW9uWzoyXSAhPSAnMi4nKSIgJFBZVEhPTl9WRVJTSU9OCisgX3B5dGhvbl9yZXM9JD8KK0BAIC03MTgxLDcgKzcxODUsNyBAQCBmaQorIGVjaG8gIiRhY190IiJ5ZXMiIDE+JjYKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgY3VzdG9tIDxzdGRpbnQuaD4gaW1wbGVtZW50YXRpb24iIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo3MTg1OiBjaGVja2luZyBmb3IgY3VzdG9tIDxzdGRpbnQuaD4gaW1wbGVtZW50YXRpb24iID4mNQorK2VjaG8gImNvbmZpZ3VyZTo3MTg5OiBjaGVja2luZyBmb3IgY3VzdG9tIDxzdGRpbnQuaD4gaW1wbGVtZW50YXRpb24iID4mNQorIGlmIHRlc3QgIiRNT1pfQ1VTVE9NX1NURElOVF9IIjsgdGhlbgorICAgY2F0ID4+IGNvbmZkZWZzLnB5dG1wIDw8RU9GCisgICAgICAgICAoJycnIE1PWl9DVVNUT01fU1RESU5UX0ggJycnLCByJycnICIkTU9aX0NVU1RPTV9TVERJTlRfSCIgJycnKQorQEAgLTcyNDksOSArNzI1Myw5IEBAIGFjX2xpbms9JyR7Q1hYLWcrK30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJENYWEZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzCisgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworIAorICAgICAgICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBJQk0gWExDL0MrKyBjb21waWxlciB2ZXJzaW9uID49IDkuMC4wLjciIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo3MjUzOiBjaGVja2luZyBmb3IgSUJNIFhMQy9DKysgY29tcGlsZXIgdmVyc2lvbiA+PSA5LjAuMC43IiA+JjUKKytlY2hvICJjb25maWd1cmU6NzI1NzogY2hlY2tpbmcgZm9yIElCTSBYTEMvQysrIGNvbXBpbGVyIHZlcnNpb24gPj0gOS4wLjAuNyIgPiY1CisgICAgICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDcyNTUgImNvbmZpZ3VyZSIKKysjbGluZSA3MjU5ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CitAQCAtNzI2MCw3ICs3MjY0LDcgQEAgaW50IG1haW4oKSB7CisgICAgICAgICAgICAgICAgICAjZW5kaWYKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3MjY0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3MjY4OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBfQkFEX0NPTVBJTEVSPQorIGVsc2UKK0BAIC03Mjk4LDEyICs3MzAyLDEyIEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworICAgZG8KKyAgICAgICAgYWNfc2FmZT1gZWNobyAiJGFjX2hkciIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2hkciIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjczMDI6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKytlY2hvICJjb25maWd1cmU6NzMwNjogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgNzMwNyAiY29uZmlndXJlIgorKyNsaW5lIDczMTEgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaW5jbHVkZSA8JGFjX2hkcj4KK0BAIC03MzExLDcgKzczMTUsNyBAQCBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3MzE1OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3MzE5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC03Mzk0LDE3ICs3Mzk4LDE3IEBAIEVPRgorICAgICAjIGJ1aWxkcy4KKyAgICAgX1NBVkVfTERGTEFHUz0kTERGTEFHUworICAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIC1mcmFtZXdvcmsgRXhjZXB0aW9uSGFuZGxpbmciIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo3Mzk4OiBjaGVja2luZyBmb3IgLWZyYW1ld29yayBFeGNlcHRpb25IYW5kbGluZyIgPiY1CisrZWNobyAiY29uZmlndXJlOjc0MDI6IGNoZWNraW5nIGZvciAtZnJhbWV3b3JrIEV4Y2VwdGlvbkhhbmRsaW5nIiA+JjUKKyAgICAgTERGTEFHUz0iJExERkxBR1MgLWZyYW1ld29yayBFeGNlcHRpb25IYW5kbGluZyIKKyAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDc0MDEgImNvbmZpZ3VyZSIKKysjbGluZSA3NDA1ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CisgcmV0dXJuIDA7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NzQwODogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo3NDEyOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2hhdmVfZnJhbWV3b3JrX2V4Y2VwdGlvbmhhbmRsaW5nPSJ5ZXMiCisgZWxzZQorQEAgLTc0MjYsMTggKzc0MzAsMTggQEAgcm0gLWYgY29uZnRlc3QqCisgICAgICAgICBlY2hvICJTa2lwcGluZyAtZGVhZF9zdHJpcCBiZWNhdXNlIERUcmFjZSBpcyBlbmFibGVkLiBTZWUgYnVnIDQwMzEzMi4iCisgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIC1kZWFkX3N0cmlwIG9wdGlvbiB0byBsZCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjc0MzA6IGNoZWNraW5nIGZvciAtZGVhZF9zdHJpcCBvcHRpb24gdG8gbGQiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo3NDM0OiBjaGVja2luZyBmb3IgLWRlYWRfc3RyaXAgb3B0aW9uIHRvIGxkIiA+JjUKKyAgICAgICAgIF9TQVZFX0xERkxBR1M9JExERkxBR1MKKyAgICAgICAgIExERkxBR1M9IiRMREZMQUdTIC1XbCwtZGVhZF9zdHJpcCIKKyAgICAgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA3NDM0ICJjb25maWd1cmUiCisrI2xpbmUgNzQzOCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGludCBtYWluKCkgeworIHJldHVybiAwOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjc0NDE6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NzQ0NTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBfSEFWRV9ERUFEX1NUUklQPTEKKyBlbHNlCitAQCAtNzc4MywxMiArNzc4NywxMiBAQCBFT0YKKyAgIGRvCisgICAgICAgIGFjX3NhZmU9YGVjaG8gIiRhY19oZHIiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19oZHIiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo3Nzg3OiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1CisrZWNobyAiY29uZmlndXJlOjc3OTE6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKyAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDc3OTIgImNvbmZpZ3VyZSIKKysjbGluZSA3Nzk2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPCRhY19oZHI+CitAQCAtNzc5Niw3ICs3ODAwLDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NzgwMDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6NzgwNDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtNzk4OSwxOSArNzk5MywxOSBAQCBFT0YKKyAgICAgX0RFRklORVNfQ1hYRkxBR1M9IiRfREVGSU5FU19DWFhGTEFHUyAtVXVuaXggLVVfX3VuaXggLVVfX3VuaXhfXyIKKyAKKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIF9fZGVjbHNwZWMoZGxsZXhwb3J0KSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjc5OTM6IGNoZWNraW5nIGZvciBfX2RlY2xzcGVjKGRsbGV4cG9ydCkiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo3OTk3OiBjaGVja2luZyBmb3IgX19kZWNsc3BlYyhkbGxleHBvcnQpIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfb3MyX2RlY2xzcGVjJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDc5OTggImNvbmZpZ3VyZSIKKysjbGluZSA4MDAyICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgX19kZWNsc3BlYyhkbGxleHBvcnQpIHZvaWQgYWNfb3MyX2RlY2xzcGVjKHZvaWQpIHt9CisgaW50IG1haW4oKSB7CisgcmV0dXJuIDA7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODAwNTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODAwOTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfb3MyX2RlY2xzcGVjPSJ5ZXMiCisgZWxzZQorQEAgLTgwNTQsMTQgKzgwNTgsMTQgQEAgRU9GCisgICAgICAgICAgICBfU0FWRV9MREZMQUdTPSRMREZMQUdTCisgICAgICAgICAgICBMREZMQUdTPSItTSAvdXNyL2xpYi9sZC9tYXAubm9leHN0ayAkTERGTEFHUyIKKyAgICAgICAgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA4MDU4ICJjb25maWd1cmUiCisrI2xpbmUgODA2MiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzdGRpby5oPgorIGludCBtYWluKCkgeworIHByaW50ZigiSGVsbG8gV29ybGRcbiIpOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjgwNjU6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODA2OTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICA6CisgZWxzZQorICAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK0BAIC04MDg5LDcgKzgwOTMsNyBAQCBybSAtZiBjb25mdGVzdCoKKyAgICAgICAgQ0NfVkVSU0lPTj1gJENDIC1WIDI+JjEgfCBncmVwICdeY2M6JyAyPi9kZXYvbnVsbCB8ICRBV0sgLUZcOiAneyBwcmludCAkMiB9J2AKKyAgICAgICAgQ1hYX1ZFUlNJT049YCRDWFggLVYgMj4mMSB8IGdyZXAgJ15DQzonIDI+L2Rldi9udWxsIHwgJEFXSyAtRlw6ICd7IHByaW50ICQyIH0nYAorICAgICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgU3VuIEMrKyBjb21waWxlciB2ZXJzaW9uID49IDUuOSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjgwOTM6IGNoZWNraW5nIGZvciBTdW4gQysrIGNvbXBpbGVyIHZlcnNpb24gPj0gNS45IiA+JjUKKytlY2hvICJjb25maWd1cmU6ODA5NzogY2hlY2tpbmcgZm9yIFN1biBDKysgY29tcGlsZXIgdmVyc2lvbiA+PSA1LjkiID4mNQorICAgICAgICAKKyAgICAgICAgYWNfZXh0PUMKKyAjIENYWEZMQUdTIGlzIG5vdCBpbiBhY19jcHAgYmVjYXVzZSAtZywgLU8sIGV0Yy4gYXJlIG5vdCB2YWxpZCBjcHAgb3B0aW9ucy4KK0BAIC04MDk5LDcgKzgxMDMsNyBAQCBhY19saW5rPScke0NYWC1nKyt9IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRDWFhGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlcworIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jeHhfY3Jvc3MKKyAKKyAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDgxMDMgImNvbmZpZ3VyZSIKKysjbGluZSA4MTA3ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CitAQCAtODEwOCw3ICs4MTEyLDcgQEAgaW50IG1haW4oKSB7CisgICAgICAgICAgICAjZW5kaWYKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MTEyOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MTE2OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBfQkFEX0NPTVBJTEVSPQorIGVsc2UKK0BAIC04MTI1LDcgKzgxMjksNyBAQCBybSAtZiBjb25mdGVzdCoKKyAgICAgICAgICAgIF9yZXM9InllcyIKKyAgICAgICAgZmkKKyAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDgxMjkgImNvbmZpZ3VyZSIKKysjbGluZSA4MTMzICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CitAQCAtODEzNCw3ICs4MTM4LDcgQEAgaW50IG1haW4oKSB7CisgICAgICAgICAgICAjZW5kaWYKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MTM4OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4MTQyOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBfQUJPVkVfU1MxMlUxPQorIGVsc2UKK0BAIC04NTM1LDcgKzg1MzksNyBAQCBmaQorIAorIGlmIHRlc3QgIiRHTlVfQ0MiIC1hICIkR0NDX1VTRV9HTlVfTEQiIC1hIC16ICIkTU9aX0RJU0FCTEVfSUNGIjsgdGhlbgorICAgICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBsaW5rZXIgc3VwcG9ydHMgSWRlbnRpY2FsIENvZGUgRm9sZGluZyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjg1Mzk6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGxpbmtlciBzdXBwb3J0cyBJZGVudGljYWwgQ29kZSBGb2xkaW5nIiA+JjUKKytlY2hvICJjb25maWd1cmU6ODU0MzogY2hlY2tpbmcgd2hldGhlciB0aGUgbGlua2VyIHN1cHBvcnRzIElkZW50aWNhbCBDb2RlIEZvbGRpbmciID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydMRF9TVVBQT1JUU19JQ0YnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtODU0NCw3ICs4NTQ4LDcgQEAgZWxzZQorICAgICAgICAgICAgICAgJ2ludCBtYWluKCkge3JldHVybiBmb28oKSAtIGJhcigpO30nID4gY29uZnRlc3QuJHthY19leHR9CisgICAgICAgICAjIElmIHRoZSBsaW5rZXIgc3VwcG9ydHMgSUNGLCBmb28gYW5kIGJhciBzeW1ib2xzIHdpbGwgaGF2ZQorICAgICAgICAgIyB0aGUgc2FtZSBhZGRyZXNzCistICAgICAgICBpZiB7IGFjX3RyeT0nJHtDQy1jY30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJExERkxBR1MgLVdsLC0taWNmPXNhZmUgLWZmdW5jdGlvbi1zZWN0aW9ucyBjb25mdGVzdC4ke2FjX2V4dH0gJExJQlMgMT4mMic7IHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODU0ODogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH07IH0gJiYKKysgICAgICAgIGlmIHsgYWNfdHJ5PScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkTERGTEFHUyAtV2wsLS1pY2Y9c2FmZSAtZmZ1bmN0aW9uLXNlY3Rpb25zIGNvbmZ0ZXN0LiR7YWNfZXh0fSAkTElCUyAxPiYyJzsgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4NTUyOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSAmJgorICAgICAgICAgICAgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJgorICAgICAgICAgICAgb2JqZHVtcCAtdCBjb25mdGVzdCR7YWNfZXhlZXh0fSB8IGF3ayAne2FbJDZdID0gJDF9IEVORCB7aWYgKGFbImZvbyJdICYmIChhWyJmb28iXSAhPSBhWyJiYXIiXSkpIHsgZXhpdCAxIH19JzsgdGhlbgorICAgICAgICAgICAgIExEX1NVUFBPUlRTX0lDRj15ZXMKK0BAIC04NTU5LDE0ICs4NTYzLDE0IEBAIGVjaG8gIiRhY190IiIkTERfU1VQUE9SVFNfSUNGIiAxPiY2CisgICAgICAgICBfU0FWRV9MREZMQUdTPSIkTERGTEFHUyAtV2wsLS1pY2Y9c2FmZSIKKyAgICAgICAgIExERkxBR1M9IiRMREZMQUdTIC1XbCwtLWljZj1zYWZlIC1XbCwtLXByaW50LWljZi1zZWN0aW9ucyIKKyAgICAgICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA4NTYzICJjb25maWd1cmUiCisrI2xpbmUgODU2NyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjg1NzA6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODU3NDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBMRF9QUklOVF9JQ0ZfU0VDVElPTlM9LVdsLC0tcHJpbnQtaWNmLXNlY3Rpb25zCisgZWxzZQorQEAgLTg1ODQsMTUgKzg1ODgsMTUgQEAgZmkKKyAKKyBpZiB0ZXN0ICIkR05VX0NDIiAtYSAiJEdDQ19VU0VfR05VX0xEIiAtYSAtbiAiJE1PWl9ERUJVR19GTEFHUyI7IHRoZW4KKyAgICAgICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHJlbW92aW5nIGRlYWQgc3ltYm9scyBicmVha3MgZGVidWdnaW5nIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6ODU4ODogY2hlY2tpbmcgd2hldGhlciByZW1vdmluZyBkZWFkIHN5bWJvbHMgYnJlYWtzIGRlYnVnZ2luZyIgPiY1CisrZWNobyAiY29uZmlndXJlOjg1OTI6IGNoZWNraW5nIHdoZXRoZXIgcmVtb3ZpbmcgZGVhZCBzeW1ib2xzIGJyZWFrcyBkZWJ1Z2dpbmciID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydHQ19TRUNUSU9OU19CUkVBS1NfREVCVUdfUkFOR0VTJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgZWNobyAnaW50IGZvbygpIHtyZXR1cm4gNDI7fScgXAorICAgICAgICAgICAgICAnaW50IGJhcigpIHtyZXR1cm4gMTt9JyBcCisgICAgICAgICAgICAgICdpbnQgbWFpbigpIHtyZXR1cm4gZm9vKCk7fScgPiBjb25mdGVzdC4ke2FjX2V4dH0KKy0gICAgICAgIGlmIHsgYWNfdHJ5PScke0NDLWNjfSAtbyBjb25mdGVzdC4ke2FjX29iamV4dH0gJENGTEFHUyAkTU9aX0RFQlVHX0ZMQUdTIC1jIGNvbmZ0ZXN0LiR7YWNfZXh0fSAxPiYyJzsgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4NTk1OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSAmJgorLSAgICAgICAgICAgeyBhY190cnk9JyR7Q0MtY2N9IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRMREZMQUdTICRNT1pfREVCVUdfRkxBR1MgLVdsLC0tZ2Mtc2VjdGlvbnMgY29uZnRlc3QuJHthY19vYmpleHR9ICRMSUJTIDE+JjInOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjg1OTY6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9OyB9ICYmCisrICAgICAgICBpZiB7IGFjX3RyeT0nJHtDQy1jY30gLW8gY29uZnRlc3QuJHthY19vYmpleHR9ICRDRkxBR1MgJE1PWl9ERUJVR19GTEFHUyAtYyBjb25mdGVzdC4ke2FjX2V4dH0gMT4mMic7IHsgKGV2YWwgZWNobyBjb25maWd1cmU6ODU5OTogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH07IH0gJiYKKysgICAgICAgICAgIHsgYWNfdHJ5PScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkTERGTEFHUyAkTU9aX0RFQlVHX0ZMQUdTIC1XbCwtLWdjLXNlY3Rpb25zIGNvbmZ0ZXN0LiR7YWNfb2JqZXh0fSAkTElCUyAxPiYyJzsgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4NjAwOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSAmJgorICAgICAgICAgICAgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAtYSAtcyBjb25mdGVzdC4ke2FjX29iamV4dH07IHRoZW4KKyAgICAgICAgICAgICBpZiB0ZXN0ICJgJFBZVEhPTiAiJF90b3BzcmNkaXIiL2J1aWxkL2F1dG9jb25mL2NoZWNrX2RlYnVnX3Jhbmdlcy5weSBjb25mdGVzdC4ke2FjX29iamV4dH0gY29uZnRlc3QuJHthY19leHR9YCIgPSBcCisgICAgICAgICAgICAgICAgICAgICAiYCRQWVRIT04gIiRfdG9wc3JjZGlyIi9idWlsZC9hdXRvY29uZi9jaGVja19kZWJ1Z19yYW5nZXMucHkgY29uZnRlc3Qke2FjX2V4ZWV4dH0gY29uZnRlc3QuJHthY19leHR9YCI7IHRoZW4KK0BAIC04NjE1LDEyICs4NjE5LDEyIEBAIGZpCisgCisgaWYgdGVzdCAteiAiJFNLSVBfQ09NUElMRVJfQ0hFQ0tTIjsgdGhlbgorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6ODYxOTogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo4NjIzOiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl9zdGRjJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDg2MjQgImNvbmZpZ3VyZSIKKysjbGluZSA4NjI4ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxzdGRhcmcuaD4KK0BAIC04NjI4LDcgKzg2MzIsNyBAQCBlbHNlCisgI2luY2x1ZGUgPGZsb2F0Lmg+CisgRU9GCisgYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCIKKy17IChldmFsIGVjaG8gY29uZmlndXJlOjg2MzI6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9CisreyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4NjM2OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQorIGFjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKKyBpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorQEAgLTg2NDUsNyArODY0OSw3IEBAIHJtIC1mIGNvbmZ0ZXN0KgorIGlmIHRlc3QgJGFjX2N2X2hlYWRlcl9zdGRjID0geWVzOyB0aGVuCisgICAjIFN1bk9TIDQueCBzdHJpbmcuaCBkb2VzIG5vdCBkZWNsYXJlIG1lbSosIGNvbnRyYXJ5IHRvIEFOU0kuCisgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDg2NDkgImNvbmZpZ3VyZSIKKysjbGluZSA4NjUzICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN0cmluZy5oPgorIEVPRgorQEAgLTg2NjMsNyArODY2Nyw3IEBAIGZpCisgaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX3N0ZGMgPSB5ZXM7IHRoZW4KKyAgICMgSVNDIDIuMC4yIHN0ZGxpYi5oIGRvZXMgbm90IGRlY2xhcmUgZnJlZSwgY29udHJhcnkgdG8gQU5TSS4KKyBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgODY2NyAiY29uZmlndXJlIgorKyNsaW5lIDg2NzEgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgRU9GCitAQCAtODY4NCw3ICs4Njg4LDcgQEAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4KKyAgIDoKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgODY4OCAiY29uZmlndXJlIgorKyNsaW5lIDg2OTIgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8Y3R5cGUuaD4KKyAjZGVmaW5lIElTTE9XRVIoYykgKCdhJyA8PSAoYykgJiYgKGMpIDw9ICd6JykKK0BAIC04Njk1LDcgKzg2OTksNyBAQCBpZiAoWE9SIChpc2xvd2VyIChpKSwgSVNMT1dFUiAoaSkpIHx8IHRvdXBwZXIgKGkpICE9IFRPVVBQRVIgKGkpKSBleGl0KDIpOworIGV4aXQgKDApOyB9CisgCisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4Njk5OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo4NzAzOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsCisgdGhlbgorICAgOgorIGVsc2UKK0BAIC04NzIyLDEyICs4NzI2LDEyIEBAIEVPRgorIGZpCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHdvcmtpbmcgY29uc3QiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo4NzI2OiBjaGVja2luZyBmb3Igd29ya2luZyBjb25zdCIgPiY1CisrZWNobyAiY29uZmlndXJlOjg3MzA6IGNoZWNraW5nIGZvciB3b3JraW5nIGNvbnN0IiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfY19jb25zdCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA4NzMxICJjb25maWd1cmUiCisrI2xpbmUgODczNSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGludCBtYWluKCkgeworQEAgLTg3NzYsNyArODc4MCw3IEBAIGNjcCA9IChjaGFyIGNvbnN0ICpjb25zdCAqKSBwOworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjg3ODA6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjg3ODQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2NfY29uc3Q9eWVzCisgZWxzZQorQEAgLTg4MDAsMTIgKzg4MDQsMTIgQEAgRU9GCisgZmkKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgbW9kZV90IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6ODgwNDogY2hlY2tpbmcgZm9yIG1vZGVfdCIgPiY1CisrZWNobyAiY29uZmlndXJlOjg4MDg6IGNoZWNraW5nIGZvciBtb2RlX3QiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl90eXBlX21vZGVfdCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA4ODA5ICJjb25maWd1cmUiCisrI2xpbmUgODgxMyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaWYgU1REQ19IRUFERVJTCitAQCAtODgzNiwxMiArODg0MCwxMiBAQCBFT0YKKyBmaQorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBvZmZfdCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjg4NDA6IGNoZWNraW5nIGZvciBvZmZfdCIgPiY1CisrZWNobyAiY29uZmlndXJlOjg4NDQ6IGNoZWNraW5nIGZvciBvZmZfdCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3R5cGVfb2ZmX3QnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgODg0NSAiY29uZmlndXJlIgorKyNsaW5lIDg4NDkgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2lmIFNURENfSEVBREVSUworQEAgLTg4NzIsMTIgKzg4NzYsMTIgQEAgRU9GCisgZmkKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgcGlkX3QiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo4ODc2OiBjaGVja2luZyBmb3IgcGlkX3QiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo4ODgwOiBjaGVja2luZyBmb3IgcGlkX3QiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl90eXBlX3BpZF90JytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDg4ODEgImNvbmZpZ3VyZSIKKysjbGluZSA4ODg1ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpZiBTVERDX0hFQURFUlMKK0BAIC04OTA4LDEyICs4OTEyLDEyIEBAIEVPRgorIGZpCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHNpemVfdCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjg5MTI6IGNoZWNraW5nIGZvciBzaXplX3QiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo4OTE2OiBjaGVja2luZyBmb3Igc2l6ZV90IiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfdHlwZV9zaXplX3QnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgODkxNyAiY29uZmlndXJlIgorKyNsaW5lIDg5MjEgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2lmIFNURENfSEVBREVSUworQEAgLTg5NTEsMTIgKzg5NTUsMTIgQEAgYWNfbGluaz0nJHtDWFgtZysrfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkQ1hYRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXMKKyBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY3h4X2Nyb3NzCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIF9fc3RkY2FsbCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjg5NTU6IGNoZWNraW5nIGZvciBfX3N0ZGNhbGwiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo4OTU5OiBjaGVja2luZyBmb3IgX19zdGRjYWxsIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfX19zdGRjYWxsJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDg5NjAgImNvbmZpZ3VyZSIKKysjbGluZSA4OTY0ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgdGVtcGxhdGUgPHR5cGVuYW1lIE1ldGhvZD4gc3RydWN0IGZvbzsKKyAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZSA8PiBzdHJ1Y3QgZm9vPHZvaWQgKCopKCk+IHt9OworQEAgLTg5NjUsNyArODk2OSw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjg5Njk6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjg5NzM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X19fc3RkY2FsbD10cnVlCisgZWxzZQorQEAgLTg5OTcsMTIgKzkwMDEsMTIgQEAgYWNfbGluaz0nJHtDQy1jY30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGEKKyBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3Igc3NpemVfdCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjkwMDE6IGNoZWNraW5nIGZvciBzc2l6ZV90IiA+JjUKKytlY2hvICJjb25maWd1cmU6OTAwNTogY2hlY2tpbmcgZm9yIHNzaXplX3QiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl90eXBlX3NzaXplX3QnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgOTAwNiAiY29uZmlndXJlIgorKyNsaW5lIDkwMTAgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAgICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CitAQCAtOTAxMCw3ICs5MDE0LDcgQEAgaW50IG1haW4oKSB7Cisgc3NpemVfdCBmb28gPSAwOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkwMTQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkwMTg6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X3R5cGVfc3NpemVfdD10cnVlCisgZWxzZQorQEAgLTkwMzUsMTIgKzkwMzksMTIgQEAgZWxzZQorICAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgZmkKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3Igc3RfYmxrc2l6ZSBpbiBzdHJ1Y3Qgc3RhdCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjkwMzk6IGNoZWNraW5nIGZvciBzdF9ibGtzaXplIGluIHN0cnVjdCBzdGF0IiA+JjUKKytlY2hvICJjb25maWd1cmU6OTA0MzogY2hlY2tpbmcgZm9yIHN0X2Jsa3NpemUgaW4gc3RydWN0IHN0YXQiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9zdHJ1Y3Rfc3RfYmxrc2l6ZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA5MDQ0ICJjb25maWd1cmUiCisrI2xpbmUgOTA0OCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KK0BAIC05MDQ4LDcgKzkwNTIsNyBAQCBpbnQgbWFpbigpIHsKKyBzdHJ1Y3Qgc3RhdCBzOyBzLnN0X2Jsa3NpemU7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTA1MjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTA1NjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3Zfc3RydWN0X3N0X2Jsa3NpemU9eWVzCisgZWxzZQorQEAgLTkwNzIsMTIgKzkwNzYsMTIgQEAgRU9GCisgZmkKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3Igc2lnaW5mb190IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTA3NjogY2hlY2tpbmcgZm9yIHNpZ2luZm9fdCIgPiY1CisrZWNobyAiY29uZmlndXJlOjkwODA6IGNoZWNraW5nIGZvciBzaWdpbmZvX3QiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9zaWdpbmZvX3QnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgOTA4MSAiY29uZmlndXJlIgorKyNsaW5lIDkwODUgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjZGVmaW5lIF9QT1NJWF9DX1NPVVJDRSAxOTk1MDZMCisgICAgICAgICAgICAgICAgICAgI2luY2x1ZGUgPHNpZ25hbC5oPgorQEAgLTkwODUsNyArOTA4OSw3IEBAIGludCBtYWluKCkgeworIHNpZ2luZm9fdCogaW5mbzsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5MDg5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5MDkzOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9zaWdpbmZvX3Q9dHJ1ZQorIGVsc2UKK0BAIC05MTExLDcyICs5MTE1LDggQEAgZWxzZQorIGZpCisgCisgCistZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHRoZSBzaXplIG9mIHZvaWQqIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTExNjogY2hlY2tpbmcgZm9yIHRoZSBzaXplIG9mIHZvaWQqIiA+JjUKKy1pZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snbW96X2N2X3NpemVfb2ZfSlNfQllURVNfUEVSX1dPUkQnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorLSAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKy1lbHNlCistICAKKy0gIG1vel9jdl9zaXplX29mX0pTX0JZVEVTX1BFUl9XT1JEPQorLSAgZm9yIHNpemUgaW4gNCA4OyBkbworLSAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgOTEyNCAiY29uZmlndXJlIgorLSNpbmNsdWRlICJjb25mZGVmcy5oIgorLQorLWludCBtYWluKCkgeworLQorLSAgICAgICAgICAgICAgICAgICAgIGludCBhW3NpemVvZiAodm9pZCopID09ICRzaXplID8gMSA6IC0xXTsKKy0gICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKy0gICAgICAgICAgICAgICAgICAgCistOyByZXR1cm4gMDsgfQorLUVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTEzNDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorLSAgcm0gLXJmIGNvbmZ0ZXN0KgorLSAgbW96X2N2X3NpemVfb2ZfSlNfQllURVNfUEVSX1dPUkQ9JHNpemU7IGJyZWFrCistZWxzZQorLSAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy0gIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorLWZpCistcm0gLWYgY29uZnRlc3QqCistICBkb25lCistICBpZiB0ZXN0ICEgIiRtb3pfY3Zfc2l6ZV9vZl9KU19CWVRFU19QRVJfV09SRCI7IHRoZW4KKy0gICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBObyBzaXplIGZvdW5kIGZvciB2b2lkKiIgMT4mMjsgZXhpdCAxOyB9CistICBmaQorLQorLWZpCistCistZWNobyAiJGFjX3QiIiRtb3pfY3Zfc2l6ZV9vZl9KU19CWVRFU19QRVJfV09SRCIgMT4mNgorLWNhdCA+PiBjb25mZGVmcy5weXRtcCA8PEVPRgorLSAgICAgICAgKCcnJyBKU19CWVRFU19QRVJfV09SRCAnJycsIHInJycgJG1vel9jdl9zaXplX29mX0pTX0JZVEVTX1BFUl9XT1JEICcnJykKKy1FT0YKKy1jYXQgPj4gY29uZmRlZnMuaCA8PEVPRgorLSNkZWZpbmUgSlNfQllURVNfUEVSX1dPUkQgJG1vel9jdl9zaXplX29mX0pTX0JZVEVTX1BFUl9XT1JECistRU9GCistCistCistaWYgdGVzdCAiJG1vel9jdl9zaXplX29mX0pTX0JZVEVTX1BFUl9XT1JEIiAtZXEgIjQiOyB0aGVuCistICBjYXQgPj4gY29uZmRlZnMucHl0bXAgPDxcRU9GCistICAgICAgICAoJycnIEpTX0JJVFNfUEVSX1dPUkRfTE9HMiAnJycsIHInJycgNSAnJycpCistRU9GCistY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCistI2RlZmluZSBKU19CSVRTX1BFUl9XT1JEX0xPRzIgNQorLUVPRgorLQorLWVsaWYgdGVzdCAiJG1vel9jdl9zaXplX29mX0pTX0JZVEVTX1BFUl9XT1JEIiAtZXEgIjgiOyB0aGVuCistICBjYXQgPj4gY29uZmRlZnMucHl0bXAgPDxcRU9GCistICAgICAgICAoJycnIEpTX0JJVFNfUEVSX1dPUkRfTE9HMiAnJycsIHInJycgNiAnJycpCistRU9GCistY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCistI2RlZmluZSBKU19CSVRTX1BFUl9XT1JEX0xPRzIgNgorLUVPRgorLQorLWVsc2UKKy0gIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogVW5leHBlY3RlZCBKU19CWVRFU19QRVJfV09SRCIgMT4mMjsgZXhpdCAxOyB9CistZmkKKy0KKy0KKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdGhlIGFsaWdubWVudCBvZiB2b2lkKiIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjkxODA6IGNoZWNraW5nIGZvciB0aGUgYWxpZ25tZW50IG9mIHZvaWQqIiA+JjUKKytlY2hvICJjb25maWd1cmU6OTEyMDogY2hlY2tpbmcgZm9yIHRoZSBhbGlnbm1lbnQgb2Ygdm9pZCoiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydtb3pfY3ZfYWxpZ25fb2ZfSlNfQUxJR05fT0ZfUE9JTlRFUicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC05MTg0LDcgKzkxMjQsNyBAQCBlbHNlCisgICBtb3pfY3ZfYWxpZ25fb2ZfSlNfQUxJR05fT0ZfUE9JTlRFUj0KKyAgIGZvciBhbGlnbiBpbiAyIDQgOCAxNjsgZG8KKyAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDkxODggImNvbmZpZ3VyZSIKKysjbGluZSA5MTI4ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgICAgICAgICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN0ZGRlZi5oPgorQEAgLTkxOTcsNyArOTEzNyw3IEBAIGludCBtYWluKCkgeworICAgICAgICAgICAgICAgICAgICAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5MjAxOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5MTQxOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBtb3pfY3ZfYWxpZ25fb2ZfSlNfQUxJR05fT0ZfUE9JTlRFUj0kYWxpZ247IGJyZWFrCisgZWxzZQorQEAgLTkyMjMsNyArOTE2Myw3IEBAIEVPRgorIAorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciB0aGUgc2l6ZSBvZiBkb3VibGUiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo5MjI3OiBjaGVja2luZyBmb3IgdGhlIHNpemUgb2YgZG91YmxlIiA+JjUKKytlY2hvICJjb25maWd1cmU6OTE2NzogY2hlY2tpbmcgZm9yIHRoZSBzaXplIG9mIGRvdWJsZSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J21vel9jdl9zaXplX29mX0pTX0JZVEVTX1BFUl9ET1VCTEUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtOTIzMSw3ICs5MTcxLDcgQEAgZWxzZQorICAgbW96X2N2X3NpemVfb2ZfSlNfQllURVNfUEVSX0RPVUJMRT0KKyAgIGZvciBzaXplIGluIDYgOCAxMCAxMiAxNDsgZG8KKyAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDkyMzUgImNvbmZpZ3VyZSIKKysjbGluZSA5MTc1ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgaW50IG1haW4oKSB7CitAQCAtOTI0MSw3ICs5MTgxLDcgQEAgaW50IG1haW4oKSB7CisgICAgICAgICAgICAgICAgICAgIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkyNDU6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkxODU6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIG1vel9jdl9zaXplX29mX0pTX0JZVEVTX1BFUl9ET1VCTEU9JHNpemU7IGJyZWFrCisgZWxzZQorQEAgLTkyNzAsMTIgKzkyMTAsMTIgQEAgRU9GCisgICBkbworICAgICAgICBhY19zYWZlPWBlY2hvICIkYWNfaGRyIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfaGRyIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTI3NDogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5MjE0OiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA5Mjc5ICJjb25maWd1cmUiCisrI2xpbmUgOTIxOSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICNpbmNsdWRlIDwkYWNfaGRyPgorQEAgLTkyODMsNyArOTIyMyw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkyODc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkyMjc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorQEAgLTkzMjYsMTIgKzkyNjYsMTIgQEAgZmkKKyAgIGRvCisgICAgICAgIGFjX3NhZmU9YGVjaG8gIiRhY19oZHIiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19oZHIiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo5MzMwOiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1CisrZWNobyAiY29uZmlndXJlOjkyNzA6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKyAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDkzMzUgImNvbmZpZ3VyZSIKKysjbGluZSA5Mjc1ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDwkYWNfaGRyPgorQEAgLTkzMzksNyArOTI3OSw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkzNDM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkyODM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorQEAgLTkzODIsMTIgKzkzMjIsMTIgQEAgZmkKKyAgIGRvCisgICAgICAgIGFjX3NhZmU9YGVjaG8gIiRhY19oZHIiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19oZHIiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo5Mzg2OiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1CisrZWNobyAiY29uZmlndXJlOjkzMjY6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKyAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDkzOTEgImNvbmZpZ3VyZSIKKysjbGluZSA5MzMxICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPCRhY19oZHI+CitAQCAtOTM5NSw3ICs5MzM1LDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTM5OTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTMzOTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtOTQzNSwxMiArOTM3NSwxMiBAQCBFT0YKKyBmaQorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciB1aW50IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTQzOTogY2hlY2tpbmcgZm9yIHVpbnQiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5Mzc5OiBjaGVja2luZyBmb3IgdWludCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3VpbnQnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgOTQ0NCAiY29uZmlndXJlIgorKyNsaW5lIDkzODQgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAgICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CitAQCAtOTQ0OCw3ICs5Mzg4LDcgQEAgaW50IG1haW4oKSB7CisgdWludCBmb28gPSAwOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk0NTI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjkzOTI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X3VpbnQ9dHJ1ZQorIGVsc2UKK0BAIC05NDczLDEyICs5NDEzLDEyIEBAIGVsc2UKKyAgIGVjaG8gIiRhY190IiJubyIgMT4mNgorIGZpCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHVpbnRfdCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjk0Nzc6IGNoZWNraW5nIGZvciB1aW50X3QiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5NDE3OiBjaGVja2luZyBmb3IgdWludF90IiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfdWludF90JytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDk0ODIgImNvbmZpZ3VyZSIKKysjbGluZSA5NDIyICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgICAgICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorQEAgLTk0ODYsNyArOTQyNiw3IEBAIGludCBtYWluKCkgeworIHVpbnRfdCBmb28gPSAwOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk0OTA6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk0MzA6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X3VpbnRfdD10cnVlCisgZWxzZQorQEAgLTk1MjAsMTIgKzk0NjAsMTIgQEAgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworIAorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciB1bmFtZS5kb21haW5uYW1lIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTUyNDogY2hlY2tpbmcgZm9yIHVuYW1lLmRvbWFpbm5hbWUiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5NDY0OiBjaGVja2luZyBmb3IgdW5hbWUuZG9tYWlubmFtZSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hhdmVfdW5hbWVfZG9tYWlubmFtZV9maWVsZCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA5NTI5ICJjb25maWd1cmUiCisrI2xpbmUgOTQ2OSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgorIGludCBtYWluKCkgeworQEAgLTk1MzMsNyArOTQ3Myw3IEBAIGludCBtYWluKCkgeworICAgICAgICAgICAgICh2b2lkKXVuYW1lKHJlcyk7ICBpZiAocmVzICE9IDApIHsgZG9tYWluID0gcmVzLT5kb21haW5uYW1lOyB9IAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk1Mzc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk0Nzc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2hhdmVfdW5hbWVfZG9tYWlubmFtZV9maWVsZD10cnVlCisgZWxzZQorQEAgLTk1NjAsMTIgKzk1MDAsMTIgQEAgZWxzZQorIGZpCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHVuYW1lLl9fZG9tYWlubmFtZSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjk1NjQ6IGNoZWNraW5nIGZvciB1bmFtZS5fX2RvbWFpbm5hbWUiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5NTA0OiBjaGVja2luZyBmb3IgdW5hbWUuX19kb21haW5uYW1lIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGF2ZV91bmFtZV91c19kb21haW5uYW1lX2ZpZWxkJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDk1NjkgImNvbmZpZ3VyZSIKKysjbGluZSA5NTA5ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisgaW50IG1haW4oKSB7CitAQCAtOTU3Myw3ICs5NTEzLDcgQEAgaW50IG1haW4oKSB7CisgICAgICAgICAgICAgKHZvaWQpdW5hbWUocmVzKTsgIGlmIChyZXMgIT0gMCkgeyBkb21haW4gPSByZXMtPl9fZG9tYWlubmFtZTsgfSAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5NTc3OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5NTE3OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9oYXZlX3VuYW1lX3VzX2RvbWFpbm5hbWVfZmllbGQ9dHJ1ZQorIGVsc2UKK0BAIC05NjA5LDcgKzk1NDksNyBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyAKKyBpZiB0ZXN0ICIkR05VX0NDIjsgdGhlbgorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHZpc2liaWxpdHkoaGlkZGVuKSBhdHRyaWJ1dGUiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo5NjEzOiBjaGVja2luZyBmb3IgdmlzaWJpbGl0eShoaWRkZW4pIGF0dHJpYnV0ZSIgPiY1CisrZWNobyAiY29uZmlndXJlOjk1NTM6IGNoZWNraW5nIGZvciB2aXNpYmlsaXR5KGhpZGRlbikgYXR0cmlidXRlIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfdmlzaWJpbGl0eV9oaWRkZW4nK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtOTYzNyw3ICs5NTc3LDcgQEAgRU9GCisgCisgCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciB2aXNpYmlsaXR5KGRlZmF1bHQpIGF0dHJpYnV0ZSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjk2NDE6IGNoZWNraW5nIGZvciB2aXNpYmlsaXR5KGRlZmF1bHQpIGF0dHJpYnV0ZSIgPiY1CisrZWNobyAiY29uZmlndXJlOjk1ODE6IGNoZWNraW5nIGZvciB2aXNpYmlsaXR5KGRlZmF1bHQpIGF0dHJpYnV0ZSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Zpc2liaWxpdHlfZGVmYXVsdCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC05NjY1LDcgKzk2MDUsNyBAQCBFT0YKKyAKKyAKKyAgICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdmlzaWJpbGl0eSBwcmFnbWEgc3VwcG9ydCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjk2Njk6IGNoZWNraW5nIGZvciB2aXNpYmlsaXR5IHByYWdtYSBzdXBwb3J0IiA+JjUKKytlY2hvICJjb25maWd1cmU6OTYwOTogY2hlY2tpbmcgZm9yIHZpc2liaWxpdHkgcHJhZ21hIHN1cHBvcnQiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl92aXNpYmlsaXR5X3ByYWdtYScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC05NjkwLDcgKzk2MzAsNyBAQCBmaQorIGVjaG8gIiRhY190IiIkYWNfY3ZfdmlzaWJpbGl0eV9wcmFnbWEiIDE+JjYKKyAgICAgICBpZiB0ZXN0ICIkYWNfY3ZfdmlzaWJpbGl0eV9wcmFnbWEiID0gInllcyI7IHRoZW4KKyAgICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIEZvciBnY2MgdmlzaWJpbGl0eSBidWcgd2l0aCBjbGFzcy1sZXZlbCBhdHRyaWJ1dGVzIChHQ0MgYnVnIDI2OTA1KSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjk2OTQ6IGNoZWNraW5nIEZvciBnY2MgdmlzaWJpbGl0eSBidWcgd2l0aCBjbGFzcy1sZXZlbCBhdHRyaWJ1dGVzIChHQ0MgYnVnIDI2OTA1KSIgPiY1CisrZWNobyAiY29uZmlndXJlOjk2MzQ6IGNoZWNraW5nIEZvciBnY2MgdmlzaWJpbGl0eSBidWcgd2l0aCBjbGFzcy1sZXZlbCBhdHRyaWJ1dGVzIChHQ0MgYnVnIDI2OTA1KSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hhdmVfdmlzaWJpbGl0eV9jbGFzc19idWcnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtOTcxOCw3ICs5NjU4LDcgQEAgZmkKKyBlY2hvICIkYWNfdCIiJGFjX2N2X2hhdmVfdmlzaWJpbGl0eV9jbGFzc19idWciIDE+JjYKKyAKKyAgICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIEZvciB4ODZfNjQgZ2NjIHZpc2liaWxpdHkgYnVnIHdpdGggYnVpbHRpbnMgKEdDQyBidWcgMjAyOTcpIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6OTcyMjogY2hlY2tpbmcgRm9yIHg4Nl82NCBnY2MgdmlzaWJpbGl0eSBidWcgd2l0aCBidWlsdGlucyAoR0NDIGJ1ZyAyMDI5NykiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5NjYyOiBjaGVja2luZyBGb3IgeDg2XzY0IGdjYyB2aXNpYmlsaXR5IGJ1ZyB3aXRoIGJ1aWx0aW5zIChHQ0MgYnVnIDIwMjk3KSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hhdmVfdmlzaWJpbGl0eV9idWlsdGluX2J1Zycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC05NzcwLDcgKzk3MTAsNyBAQCBmaSAgICAgICAgICMgU3VuIFN0dWRpbyBvbiBTb2xhcmlzCisgaWYgdGVzdCAiJEdOVV9DQyI7IHRoZW4KKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgZ2NjIFBSNDk5MTEiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo5Nzc0OiBjaGVja2luZyBmb3IgZ2NjIFBSNDk5MTEiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5NzE0OiBjaGVja2luZyBmb3IgZ2NjIFBSNDk5MTEiID4mNQorIGFjX2hhdmVfZ2NjX3ByNDk5MTE9Im5vIgorIAorIGFjX2V4dD1DCitAQCAtOTc4Nyw3ICs5NzI3LDcgQEAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4KKyAgIHRydWUKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgOTc5MSAiY29uZmlndXJlIgorKyNsaW5lIDk3MzEgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBleHRlcm4gIkMiIHZvaWQgYWJvcnQodm9pZCk7CitAQCAtOTgyOCw3ICs5NzY4LDcgQEAgaW50IG1haW4odm9pZCkgeworIH0KKyAKKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk4MzI6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk3NzI6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKKyB0aGVuCisgICB0cnVlCisgZWxzZQorQEAgLTk4NjUsMTIgKzk4MDUsMTIgQEAgZm9yIGFjX2hkciBpbiBkaXJlbnQuaCBzeXMvbmRpci5oIHN5cy9kaXIuaCBuZGlyLmgKKyBkbworIGFjX3NhZmU9YGVjaG8gIiRhY19oZHIiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfaGRyIHRoYXQgZGVmaW5lcyBESVIiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZTo5ODY5OiBjaGVja2luZyBmb3IgJGFjX2hkciB0aGF0IGRlZmluZXMgRElSIiA+JjUKKytlY2hvICJjb25maWd1cmU6OTgwOTogY2hlY2tpbmcgZm9yICRhY19oZHIgdGhhdCBkZWZpbmVzIERJUiIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl9kaXJlbnRfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgOTg3NCAiY29uZmlndXJlIgorKyNsaW5lIDk4MTQgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPCRhY19oZHI+CitAQCAtOTg3OCw3ICs5ODE4LDcgQEAgaW50IG1haW4oKSB7CisgRElSICpkaXJwID0gMDsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5ODgyOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5ODIyOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfZGlyZW50XyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtOTkwNiw3ICs5ODQ2LDcgQEAgZG9uZQorICMgVHdvIHZlcnNpb25zIG9mIG9wZW5kaXIgZXQgYWwuIGFyZSBpbiAtbGRpciBhbmQgLWx4IG9uIFNDTyBYZW5peC4KKyBpZiB0ZXN0ICRhY19oZWFkZXJfZGlyZW50ID0gZGlyZW50Lmg7IHRoZW4KKyBlY2hvICRhY19uICJjaGVja2luZyBmb3Igb3BlbmRpciBpbiAtbGRpciIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjk5MTA6IGNoZWNraW5nIGZvciBvcGVuZGlyIGluIC1sZGlyIiA+JjUKKytlY2hvICJjb25maWd1cmU6OTg1MDogY2hlY2tpbmcgZm9yIG9wZW5kaXIgaW4gLWxkaXIiID4mNQorIGFjX2xpYl92YXI9YGVjaG8gZGlyJ18nb3BlbmRpciB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbGliXyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitAQCAtOTkxNCw3ICs5ODU0LDcgQEAgZWxzZQorICAgYWNfc2F2ZV9MSUJTPSIkTElCUyIKKyBMSUJTPSItbGRpciAgJExJQlMiCisgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDk5MTggImNvbmZpZ3VyZSIKKysjbGluZSA5ODU4ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KKyAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCitAQCAtOTkyNSw3ICs5ODY1LDcgQEAgaW50IG1haW4oKSB7Cisgb3BlbmRpcigpCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTkyOTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5ODY5OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2xpYl8kYWNfbGliX3Zhcj15ZXMiCisgZWxzZQorQEAgLTk5NDcsNyArOTg4Nyw3IEBAIGZpCisgCisgZWxzZQorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBvcGVuZGlyIGluIC1seCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjk5NTE6IGNoZWNraW5nIGZvciBvcGVuZGlyIGluIC1seCIgPiY1CisrZWNobyAiY29uZmlndXJlOjk4OTE6IGNoZWNraW5nIGZvciBvcGVuZGlyIGluIC1seCIgPiY1CisgYWNfbGliX3Zhcj1gZWNobyB4J18nb3BlbmRpciB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfbGliXyRhY19saWJfdmFyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitAQCAtOTk1NSw3ICs5ODk1LDcgQEAgZWxzZQorICAgYWNfc2F2ZV9MSUJTPSIkTElCUyIKKyBMSUJTPSItbHggICRMSUJTIgorIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSA5OTU5ICJjb25maWd1cmUiCisrI2xpbmUgOTg5OSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCisgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgorQEAgLTk5NjYsNyArOTkwNiw3IEBAIGludCBtYWluKCkgeworIG9wZW5kaXIoKQorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjk5NzA6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6OTkxMDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92YXI9eWVzIgorIGVsc2UKK0BAIC0xMDAwMCwxMiArOTk0MCwxMiBAQCBlc2FjCisgICBkbworICAgICAgICBhY19zYWZlPWBlY2hvICIkYWNfaGRyIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfaGRyIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTAwMDQ6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKytlY2hvICJjb25maWd1cmU6OTk0NDogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTAwMDkgImNvbmZpZ3VyZSIKKysjbGluZSA5OTQ5ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPCRhY19oZHI+CitAQCAtMTAwMTMsNyArOTk1Myw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMDE3OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo5OTU3OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC0xMDA0OCwxMiArOTk4OCwxMiBAQCBFT0YKKyAgIGRvCisgICAgICAgIGFjX3NhZmU9YGVjaG8gIiRhY19oZHIiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19oZHIiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDA1MjogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorK2VjaG8gImNvbmZpZ3VyZTo5OTkyOiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMDA1NyAiY29uZmlndXJlIgorKyNsaW5lIDk5OTcgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaW5jbHVkZSA8JGFjX2hkcj4KK0BAIC0xMDA2MSw3ICsxMDAwMSw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMDY1OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDAwNTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtMTAwOTUsMTIgKzEwMDM1LDEyIEBAIEVPRgorICAgZG8KKyAgICAgICAgYWNfc2FmZT1gZWNobyAiJGFjX2hkciIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2hkciIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEwMDk5OiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwMDM5OiBjaGVja2luZyBmb3IgJGFjX2hkciIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMDEwNCAiY29uZmlndXJlIgorKyNsaW5lIDEwMDQ0ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPCRhY19oZHI+CitAQCAtMTAxMDgsNyArMTAwNDgsNyBAQCBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDExMjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAwNTI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorQEAgLTEwMTQxLDEyICsxMDA4MSwxMiBAQCBFT0YKKyAgIGRvCisgICAgICAgIGFjX3NhZmU9YGVjaG8gIiRhY19oZHIiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19oZHIiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDE0NTogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMDA4NTogY2hlY2tpbmcgZm9yICRhY19oZHIiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTAxNTAgImNvbmZpZ3VyZSIKKysjbGluZSAxMDA5MCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICNpbmNsdWRlIDwkYWNfaGRyPgorQEAgLTEwMTU0LDcgKzEwMDk0LDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAxNTg6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMDk4OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC0xMDE4OCwxMiArMTAxMjgsMTIgQEAgRU9GCisgICBkbworICAgICAgICBhY19zYWZlPWBlY2hvICIkYWNfaGRyIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfaGRyIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTAxOTI6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTAxMzI6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKyAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwMTk3ICJjb25maWd1cmUiCisrI2xpbmUgMTAxMzcgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaW5jbHVkZSA8JGFjX2hkcj4KK0BAIC0xMDIwMSw3ICsxMDE0MSw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMjA1OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDE0NTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtMTAyNDEsMTIgKzEwMTgxLDEyIEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jeHhfY3Jvc3MKKyBORVdfSD1uZXcuaAorICAgIGFjX3NhZmU9YGVjaG8gIm5ldyIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgbmV3IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTAyNDU6IGNoZWNraW5nIGZvciBuZXciID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMDE4NTogY2hlY2tpbmcgZm9yIG5ldyIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMDI1MCAiY29uZmlndXJlIgorKyNsaW5lIDEwMTkwICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPG5ldz4KK0BAIC0xMDI1NCw3ICsxMDE5NCw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMjU4OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDE5ODogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtMTAyOTgsMTIgKzEwMjM4LDEyIEBAIGZpCisgaWYgdGVzdCAieCRlbmFibGVfZHRyYWNlIiA9ICJ4eWVzIjsgdGhlbgorICAgICAgYWNfc2FmZT1gZWNobyAic3lzL3NkdC5oIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBzeXMvc2R0LmgiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDMwMjogY2hlY2tpbmcgZm9yIHN5cy9zZHQuaCIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwMjQyOiBjaGVja2luZyBmb3Igc3lzL3NkdC5oIiA+JjUKKyAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwMzA3ICJjb25maWd1cmUiCisrI2xpbmUgMTAyNDcgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaW5jbHVkZSA8c3lzL3NkdC5oPgorQEAgLTEwMzExLDcgKzEwMjUxLDcgQEAgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAzMTU6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMjU1OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKK0BAIC0xMDM1MywxMiArMTAyOTMsMTIgQEAgY2FzZSAkdGFyZ2V0IGluCisgICBkbworICAgICAgICBhY19zYWZlPWBlY2hvICIkYWNfaGRyIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKyAgIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfaGRyIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTAzNTc6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTAyOTc6IGNoZWNraW5nIGZvciAkYWNfaGRyIiA+JjUKKyAgIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwMzYyICJjb25maWd1cmUiCisrI2xpbmUgMTAzMDIgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaW5jbHVkZSA8JGFjX2hkcj4KK0BAIC0xMDM2Niw3ICsxMDMwNiw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMzcwOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDMxMDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtMTA0MTgsMTIgKzEwMzU4LDEyIEBAIENGTEFHUz0iJENGTEFHUyAkTElOVVhfSEVBREVSU19JTkNMVURFUyIKKyAKKyAgICBhY19zYWZlPWBlY2hvICJsaW51eC9wZXJmX2V2ZW50LmgiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGxpbnV4L3BlcmZfZXZlbnQuaCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEwNDIyOiBjaGVja2luZyBmb3IgbGludXgvcGVyZl9ldmVudC5oIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTAzNjI6IGNoZWNraW5nIGZvciBsaW51eC9wZXJmX2V2ZW50LmgiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTA0MjcgImNvbmZpZ3VyZSIKKysjbGluZSAxMDM2NyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICNpbmNsdWRlIDxsaW51eC9wZXJmX2V2ZW50Lmg+CitAQCAtMTA0MzEsNyArMTAzNzEsNyBAQCBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDQzNTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTAzNzU6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorQEAgLTEwNDQ2LDE5ICsxMDM4NiwxOSBAQCBmaQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckYWNfY3ZfaGVhZGVyXyckYWNfc2FmZWBcIiA9IHllcyI7IHRoZW4KKyAgICAgZWNobyAiJGFjX3QiInllcyIgMT4mNgorICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgcGVyZl9ldmVudF9vcGVuIHN5c3RlbSBjYWxsIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTA0NTA6IGNoZWNraW5nIGZvciBwZXJmX2V2ZW50X29wZW4gc3lzdGVtIGNhbGwiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMDM5MDogY2hlY2tpbmcgZm9yIHBlcmZfZXZlbnRfb3BlbiBzeXN0ZW0gY2FsbCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3BlcmZfZXZlbnRfb3Blbicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMDQ1NSAiY29uZmlndXJlIgorKyNsaW5lIDEwMzk1ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4KKyBpbnQgbWFpbigpIHsKKyByZXR1cm4gc2l6ZW9mKF9fTlJfcGVyZl9ldmVudF9vcGVuKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDQ2MjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA0MDI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X3BlcmZfZXZlbnRfb3Blbj15ZXMKKyBlbHNlCitAQCAtMTA0OTQsNyArMTA0MzQsNyBAQCBjYXNlICR0YXJnZXQgaW4KKyAJOzsKKyAqKQorIAllY2hvICRhY19uICJjaGVja2luZyBmb3IgZ2V0aG9zdGJ5bmFtZV9yIGluIC1sY19yIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTA0OTg6IGNoZWNraW5nIGZvciBnZXRob3N0YnluYW1lX3IgaW4gLWxjX3IiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMDQzODogY2hlY2tpbmcgZm9yIGdldGhvc3RieW5hbWVfciBpbiAtbGNfciIgPiY1CisgYWNfbGliX3Zhcj1gZWNobyBjX3InXydnZXRob3N0YnluYW1lX3IgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2xpYl8kYWNfbGliX3Zhcicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorQEAgLTEwNTAyLDcgKzEwNDQyLDcgQEAgZWxzZQorICAgYWNfc2F2ZV9MSUJTPSIkTElCUyIKKyBMSUJTPSItbGNfciAgJExJQlMiCisgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwNTA2ICJjb25maWd1cmUiCisrI2xpbmUgMTA0NDYgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLworIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKK0BAIC0xMDUxMyw3ICsxMDQ1Myw3IEBAIGludCBtYWluKCkgeworIGdldGhvc3RieW5hbWVfcigpCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA1MTc6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA0NTc6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfbGliXyRhY19saWJfdmFyPXllcyIKKyBlbHNlCitAQCAtMTA1NTQsMTQgKzEwNDk0LDE0IEBAIGNhc2UgJHRhcmdldCBpbgorICopCisgICAgIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgZGxvcGVuIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTA1NTg6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgZGxvcGVuIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTA0OTg6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgZGxvcGVuIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3Zfc2VhcmNoX2Rsb3Blbicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGFjX2Z1bmNfc2VhcmNoX3NhdmVfTElCUz0iJExJQlMiCisgYWNfY3Zfc2VhcmNoX2Rsb3Blbj0ibm8iCisgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwNTY1ICJjb25maWd1cmUiCisrI2xpbmUgMTA1MDUgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLworIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKK0BAIC0xMDU3Miw3ICsxMDUxMiw3IEBAIGludCBtYWluKCkgeworIGRsb3BlbigpCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA1NzY6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA1MTY6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3Zfc2VhcmNoX2Rsb3Blbj0ibm9uZSByZXF1aXJlZCIKKyBlbHNlCitAQCAtMTA1ODMsNyArMTA1MjMsNyBAQCBybSAtZiBjb25mdGVzdCoKKyB0ZXN0ICIkYWNfY3Zfc2VhcmNoX2Rsb3BlbiIgPSAibm8iICYmIGZvciBpIGluIGRsOyBkbworIExJQlM9Ii1sJGkgICRhY19mdW5jX3NlYXJjaF9zYXZlX0xJQlMiCisgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwNTg3ICJjb25maWd1cmUiCisrI2xpbmUgMTA1MjcgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLworIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKK0BAIC0xMDU5NCw3ICsxMDUzNCw3IEBAIGludCBtYWluKCkgeworIGRsb3BlbigpCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA1OTg6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA1Mzg6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3Zfc2VhcmNoX2Rsb3Blbj0iLWwkaSIKKyBicmVhaworQEAgLTEwNjEyLDEyICsxMDU1MiwxMiBAQCBpZiB0ZXN0ICIkYWNfY3Zfc2VhcmNoX2Rsb3BlbiIgIT0gIm5vIjsgdGhlbgorICAgdGVzdCAiJGFjX2N2X3NlYXJjaF9kbG9wZW4iID0gIm5vbmUgcmVxdWlyZWQiIHx8IExJQlM9IiRhY19jdl9zZWFyY2hfZGxvcGVuICRMSUJTIgorICAgICAgYWNfc2FmZT1gZWNobyAiZGxmY24uaCIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgZGxmY24uaCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEwNjE2OiBjaGVja2luZyBmb3IgZGxmY24uaCIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwNTU2OiBjaGVja2luZyBmb3IgZGxmY24uaCIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMDYyMSAiY29uZmlndXJlIgorKyNsaW5lIDEwNTYxICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPGRsZmNuLmg+CitAQCAtMTA2MjUsNyArMTA1NjUsNyBAQCBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDYyOTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA1Njk6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorQEAgLTEwNjYyLDEyICsxMDYwMiwxMiBAQCBDRkxBR1M9IiRDRkxBR1MgLURfR05VX1NPVVJDRSIKKyBmb3IgYWNfZnVuYyBpbiBkbGFkZHIKKyBkbworIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfZnVuYyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEwNjY2OiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMDYwNjogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY18kYWNfZnVuYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMDY3MSAiY29uZmlndXJlIgorKyNsaW5lIDEwNjExICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAorICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyICRhY19mdW5jKCk7IGJlbG93LiAgKi8KK0BAIC0xMDY5MCw3ICsxMDYzMCw3IEBAICRhY19mdW5jKCk7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA2OTQ6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA2MzQ6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfZnVuY18kYWNfZnVuYz15ZXMiCisgZWxzZQorQEAgLTEwNzI0LDcgKzEwNjY0LDcgQEAgaWYgdGVzdCAhICIkR05VX0NYWCI7IHRoZW4KKyAgICAgY2FzZSAkdGFyZ2V0IGluCisgICAgICotYWl4KikKKyAJZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGRlbWFuZ2xlIGluIC1sQ19yIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTA3Mjg6IGNoZWNraW5nIGZvciBkZW1hbmdsZSBpbiAtbENfciIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwNjY4OiBjaGVja2luZyBmb3IgZGVtYW5nbGUgaW4gLWxDX3IiID4mNQorIGFjX2xpYl92YXI9YGVjaG8gQ19yJ18nZGVtYW5nbGUgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2xpYl8kYWNfbGliX3Zhcicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorQEAgLTEwNzMyLDcgKzEwNjcyLDcgQEAgZWxzZQorICAgYWNfc2F2ZV9MSUJTPSIkTElCUyIKKyBMSUJTPSItbENfciAgJExJQlMiCisgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwNzM2ICJjb25maWd1cmUiCisrI2xpbmUgMTA2NzYgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLworIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKK0BAIC0xMDc0Myw3ICsxMDY4Myw3IEBAIGludCBtYWluKCkgeworIGRlbWFuZ2xlKCkKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDc0NzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDY4NzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92YXI9eWVzIgorIGVsc2UKK0BAIC0xMDc3Niw3ICsxMDcxNiw3IEBAIGZpCisgCTs7CisgICAgICAqKQorIAllY2hvICRhY19uICJjaGVja2luZyBmb3IgZGVtYW5nbGUgaW4gLWxDIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTA3ODA6IGNoZWNraW5nIGZvciBkZW1hbmdsZSBpbiAtbEMiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMDcyMDogY2hlY2tpbmcgZm9yIGRlbWFuZ2xlIGluIC1sQyIgPiY1CisgYWNfbGliX3Zhcj1gZWNobyBDJ18nZGVtYW5nbGUgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2xpYl8kYWNfbGliX3Zhcicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorQEAgLTEwNzg0LDcgKzEwNzI0LDcgQEAgZWxzZQorICAgYWNfc2F2ZV9MSUJTPSIkTElCUyIKKyBMSUJTPSItbEMgICRMSUJTIgorIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMDc4OCAiY29uZmlndXJlIgorKyNsaW5lIDEwNzI4ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KKyAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCitAQCAtMTA3OTUsNyArMTA3MzUsNyBAQCBpbnQgbWFpbigpIHsKKyBkZW1hbmdsZSgpCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA3OTk6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA3Mzk6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfbGliXyRhY19saWJfdmFyPXllcyIKKyBlbHNlCitAQCAtMTA4MzQsNyArMTA3NzQsNyBAQCBjYXNlICR0YXJnZXQgaW4KKyAgICAgOzsKKyAqKQorICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3Igc29ja2V0IGluIC1sc29ja2V0IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTA4Mzg6IGNoZWNraW5nIGZvciBzb2NrZXQgaW4gLWxzb2NrZXQiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMDc3ODogY2hlY2tpbmcgZm9yIHNvY2tldCBpbiAtbHNvY2tldCIgPiY1CisgYWNfbGliX3Zhcj1gZWNobyBzb2NrZXQnXydzb2NrZXQgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2xpYl8kYWNfbGliX3Zhcicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorQEAgLTEwODQyLDcgKzEwNzgyLDcgQEAgZWxzZQorICAgYWNfc2F2ZV9MSUJTPSIkTElCUyIKKyBMSUJTPSItbHNvY2tldCAgJExJQlMiCisgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEwODQ2ICJjb25maWd1cmUiCisrI2xpbmUgMTA3ODYgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLworIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKK0BAIC0xMDg1Myw3ICsxMDc5Myw3IEBAIGludCBtYWluKCkgeworIHNvY2tldCgpCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA4NTc6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA3OTc6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfbGliXyRhY19saWJfdmFyPXllcyIKKyBlbHNlCitAQCAtMTA4OTIsNyArMTA4MzIsNyBAQCBkYXJ3aW4qKQorICopCisgICAgIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbHB0aHJlYWRzIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTA4OTY6IGNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbHB0aHJlYWRzIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTA4MzY6IGNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbHB0aHJlYWRzIiA+JjUKKyBlY2hvICIKKyAgICAgI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyAgICAgI2luY2x1ZGUgPHN0ZGxpYi5oPgorQEAgLTEwOTE1LDcgKzEwODU1LDcgQEAgZWNobyAiCisgICAgICAgICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyAgICAgICAgIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbHB0aHJlYWQiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDkxOTogY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1scHRocmVhZCIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwODU5OiBjaGVja2luZyBmb3IgcHRocmVhZF9jcmVhdGUgaW4gLWxwdGhyZWFkIiA+JjUKKyBlY2hvICIKKyAgICAgI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyAgICAgI2luY2x1ZGUgPHN0ZGxpYi5oPgorQEAgLTEwOTM4LDcgKzEwODc4LDcgQEAgZWNobyAiCisgICAgICAgICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyAgICAgICAgIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbGNfciIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEwOTQyOiBjaGVja2luZyBmb3IgcHRocmVhZF9jcmVhdGUgaW4gLWxjX3IiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMDg4MjogY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1sY19yIiA+JjUKKyBlY2hvICIKKyAgICAgI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyAgICAgI2luY2x1ZGUgPHN0ZGxpYi5oPgorQEAgLTEwOTYxLDcgKzEwOTAxLDcgQEAgZWNobyAiCisgICAgICAgICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyAgICAgICAgIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbGMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMDk2NTogY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1sYyIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwOTA1OiBjaGVja2luZyBmb3IgcHRocmVhZF9jcmVhdGUgaW4gLWxjIiA+JjUKKyBlY2hvICIKKyAgICAgI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyAgICAgI2luY2x1ZGUgPHN0ZGxpYi5oPgorQEAgLTExMDIwLDcgKzEwOTYwLDcgQEAgdGhlbgorIAkJCQlybSAtZiBjb25mdGVzdCoKKyAJYWNfY3ZfaGF2ZV9kYXNoX3B0aHJlYWQ9bm8KKyAJZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciAke0NDLWNjfSBhY2NlcHRzIC1wdGhyZWFkIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTEwMjQ6IGNoZWNraW5nIHdoZXRoZXIgJHtDQy1jY30gYWNjZXB0cyAtcHRocmVhZCIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwOTY0OiBjaGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IGFjY2VwdHMgLXB0aHJlYWQiID4mNQorIAllY2hvICdpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0nIHwgY2F0ID4gY29uZnRlc3QuYworIAkke0NDLWNjfSAtcHRocmVhZCAtbyBjb25mdGVzdCBjb25mdGVzdC5jID4gY29uZnRlc3Qub3V0IDI+JjEKKyAJaWYgdGVzdCAkPyAtZXEgMDsgdGhlbgorQEAgLTExMDQzLDcgKzEwOTgzLDcgQEAgZWNobyAiY29uZmlndXJlOjExMDI0OiBjaGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IGFjY2VwdHMgLXB0aHJlYWQiID4mNQorIAkJCSAgICBhY19jdl9oYXZlX2Rhc2hfcHRocmVhZHM9bm8KKyAgICAgaWYgdGVzdCAiJGFjX2N2X2hhdmVfZGFzaF9wdGhyZWFkIiA9ICJubyI7IHRoZW4KKyAJICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgJHtDQy1jY30gYWNjZXB0cyAtcHRocmVhZHMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTA0NzogY2hlY2tpbmcgd2hldGhlciAke0NDLWNjfSBhY2NlcHRzIC1wdGhyZWFkcyIgPiY1CisrZWNobyAiY29uZmlndXJlOjEwOTg3OiBjaGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IGFjY2VwdHMgLXB0aHJlYWRzIiA+JjUKKyAgICAgCWVjaG8gJ2ludCBtYWluKCkgeyByZXR1cm4gMDsgfScgfCBjYXQgPiBjb25mdGVzdC5jCisgCSAgICAke0NDLWNjfSAtcHRocmVhZHMgLW8gY29uZnRlc3QgY29uZnRlc3QuYyA+IGNvbmZ0ZXN0Lm91dCAyPiYxCisgICAgIAlpZiB0ZXN0ICQ/IC1lcSAwOyB0aGVuCitAQCAtMTExNDgsMTMgKzExMDg4LDEzIEBAIGZpCisgCisgaWYgdGVzdCAkYWNfY3ZfcHJvZ19nY2MgPSB5ZXM7IHRoZW4KKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciAke0NDLWNjfSBuZWVkcyAtdHJhZGl0aW9uYWwiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTE1MjogY2hlY2tpbmcgd2hldGhlciAke0NDLWNjfSBuZWVkcyAtdHJhZGl0aW9uYWwiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMTA5MjogY2hlY2tpbmcgd2hldGhlciAke0NDLWNjfSBuZWVkcyAtdHJhZGl0aW9uYWwiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX2djY190cmFkaXRpb25hbCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICAgYWNfcGF0dGVybj0iQXV0b2NvbmYuKid4JyIKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTE1OCAiY29uZmlndXJlIgorKyNsaW5lIDExMDk4ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHNndHR5Lmg+CisgQXV0b2NvbmYgVElPQ0dFVFAKK0BAIC0xMTE3Miw3ICsxMTExMiw3IEBAIHJtIC1mIGNvbmZ0ZXN0KgorIAorICAgaWYgdGVzdCAkYWNfY3ZfcHJvZ19nY2NfdHJhZGl0aW9uYWwgPSBubzsgdGhlbgorICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTExNzYgImNvbmZpZ3VyZSIKKysjbGluZSAxMTExNiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDx0ZXJtaW8uaD4KKyBBdXRvY29uZiBUQ0dFVEEKK0BAIC0xMTE5NCw3ICsxMTEzNCw3IEBAIGVjaG8gIiRhY190IiIkYWNfY3ZfcHJvZ19nY2NfdHJhZGl0aW9uYWwiIDE+JjYKKyBmaQorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciA4LWJpdCBjbGVhbiBtZW1jbXAiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTE5ODogY2hlY2tpbmcgZm9yIDgtYml0IGNsZWFuIG1lbWNtcCIgPiY1CisrZWNobyAiY29uZmlndXJlOjExMTM4OiBjaGVja2luZyBmb3IgOC1iaXQgY2xlYW4gbWVtY21wIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY19tZW1jbXBfY2xlYW4nK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtMTEyMDIsNyArMTExNDIsNyBAQCBlbHNlCisgICBhY19jdl9mdW5jX21lbWNtcF9jbGVhbj1ubworIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTIwNiAiY29uZmlndXJlIgorKyNsaW5lIDExMTQ2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgbWFpbigpCitAQCAtMTEyMTIsNyArMTExNTIsNyBAQCBtYWluKCkKKyB9CisgCisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTIxNjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbAorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTExNTY6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKKyB0aGVuCisgICBhY19jdl9mdW5jX21lbWNtcF9jbGVhbj15ZXMKKyBlbHNlCitAQCAtMTEyMzQsMTIgKzExMTc0LDEyIEBAIGZvciBhY19mdW5jIGluIGZjaG1vZCBmbG9ja2ZpbGUgZ2V0Y191bmxvY2tlZCBfZ2V0Y19ub2xvY2sgZ2V0cGFnZXNpemUgXAorICAgICAgICAgICAgICAgICBzdGF0NjQgc3RhdHZmcyBzdGF0dmZzNjQgc3RyZXJyb3Igc3RydG9rX3IgdHJ1bmNhdGU2NAorIGRvCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19mdW5jIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTEyMzg6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIgPiY1CisrZWNobyAiY29uZmlndXJlOjExMTc4OiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jXyRhY19mdW5jJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDExMjQzICJjb25maWd1cmUiCisrI2xpbmUgMTExODMgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCisgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgJGFjX2Z1bmMoKTsgYmVsb3cuICAqLworQEAgLTExMjYyLDcgKzExMjAyLDcgQEAgJGFjX2Z1bmMoKTsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTI2NjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTIwNjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9mdW5jXyRhY19mdW5jPXllcyIKKyBlbHNlCitAQCAtMTEyOTEsMTQgKzExMjMxLDE0IEBAIGRvbmUKKyAKKyAKKyBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTEyOTUgImNvbmZpZ3VyZSIKKysjbGluZSAxMTIzNSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDx3aW5kb3dzLmg+CisgaW50IG1haW4oKSB7CisgU1lTVEVNVElNRSBzdDtGSUxFVElNRSBmdDtTeXN0ZW1UaW1lVG9GaWxlVGltZSgmc3QsJmZ0KTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTMwMjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTI0MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9oYXZlX3N5c3RlbXRpbWV0b2ZpbGV0aW1lPSJ5ZXMiCisgZWxzZQorQEAgLTExMzE4LDE0ICsxMTI1OCwxNCBAQCBFT0YKKyAKKyBmaQorIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTMyMiAiY29uZmlndXJlIgorKyNsaW5lIDExMjYyICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHdpbmRvd3MuaD4KKyBpbnQgbWFpbigpIHsKKyBGSUxFVElNRSBmdDtHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgmZnQpOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExMzI5OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExMjY5OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2hhdmVfZ2V0c3lzdGVtdGltZWFzZmlsZXRpbWU9InllcyIKKyBlbHNlCitAQCAtMTEzNTUsMTkgKzExMjk1LDE5IEBAIGFjX2xpbms9JyR7Q1hYLWcrK30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJENYWEZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzCisgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciB3Y3J0b21iIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTEzNTk6IGNoZWNraW5nIGZvciB3Y3J0b21iIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTEyOTk6IGNoZWNraW5nIGZvciB3Y3J0b21iIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGF2ZV93Y3J0b21iJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDExMzY0ICJjb25maWd1cmUiCisrI2xpbmUgMTEzMDQgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8d2NoYXIuaD4KKyBpbnQgbWFpbigpIHsKKyBtYnN0YXRlX3QgcHM9ezB9O3djcnRvbWIoMCwnZicsJnBzKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTM3MTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTMxMTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9oYXZlX3djcnRvbWI9InllcyIKKyBlbHNlCitAQCAtMTEzOTAsMTkgKzExMzMwLDE5IEBAIEVPRgorIAorIGZpCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIG1icnRvd2MiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTM5NDogY2hlY2tpbmcgZm9yIG1icnRvd2MiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMTMzNDogY2hlY2tpbmcgZm9yIG1icnRvd2MiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oYXZlX21icnRvd2MnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTEzOTkgImNvbmZpZ3VyZSIKKysjbGluZSAxMTMzOSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDx3Y2hhci5oPgorIGludCBtYWluKCkgeworIG1ic3RhdGVfdCBwcz17MH07bWJydG93YygwLDAsMCwmcHMpOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExNDA2OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExMzQ2OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2hhdmVfbWJydG93Yz0ieWVzIgorIGVsc2UKK0BAIC0xMTQzNCwxMiArMTEzNzQsMTIgQEAgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2NjX2Nyb3NzCisgZmkKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgcmVzX25pbml0KCkiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTQzODogY2hlY2tpbmcgZm9yIHJlc19uaW5pdCgpIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTEzNzg6IGNoZWNraW5nIGZvciByZXNfbmluaXQoKSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2Z1bmNfcmVzX25pbml0JytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDExNDQzICJjb25maWd1cmUiCisrI2xpbmUgMTEzODMgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAgICAgICAgICNpZmRlZiBsaW51eAorQEAgLTExNDUxLDcgKzExMzkxLDcgQEAgaW50IG1haW4oKSB7CisgaW50IGZvbyA9IHJlc19uaW5pdCgmX3Jlcyk7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE0NTU6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTEzOTU6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgYWNfY3ZfZnVuY19yZXNfbmluaXQ9eWVzCisgZWxzZQorQEAgLTExNDg0LDEyICsxMTQyNCwxMiBAQCBhY19saW5rPScke0NYWC1nKyt9IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRDWFhGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlcworIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jeHhfY3Jvc3MKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgZ251X2dldF9saWJjX3ZlcnNpb24oKSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjExNDg4OiBjaGVja2luZyBmb3IgZ251X2dldF9saWJjX3ZlcnNpb24oKSIgPiY1CisrZWNobyAiY29uZmlndXJlOjExNDI4OiBjaGVja2luZyBmb3IgZ251X2dldF9saWJjX3ZlcnNpb24oKSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2Z1bmNfZ251X2dldF9saWJjX3ZlcnNpb24nK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTE0OTMgImNvbmZpZ3VyZSIKKysjbGluZSAxMTQzMyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICAgICAgICAgI2lmZGVmIEhBVkVfR05VX0xJQkNfVkVSU0lPTl9ICitAQCAtMTE1MDAsNyArMTE0NDAsNyBAQCBpbnQgbWFpbigpIHsKKyBjb25zdCBjaGFyICpnbGliY192ZXJzaW9uID0gZ251X2dldF9saWJjX3ZlcnNpb24oKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTUwNDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTQ0NDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9mdW5jX2dudV9nZXRfbGliY192ZXJzaW9uPXllcworIGVsc2UKK0BAIC0xMTUzNCw3ICsxMTQ3NCw3IEBAIGNyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworIAorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBhbiBpbXBsZW1lbnRhdGlvbiBvZiB2YV9jb3B5KCkiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTUzODogY2hlY2tpbmcgZm9yIGFuIGltcGxlbWVudGF0aW9uIG9mIHZhX2NvcHkoKSIgPiY1CisrZWNobyAiY29uZmlndXJlOjExNDc4OiBjaGVja2luZyBmb3IgYW4gaW1wbGVtZW50YXRpb24gb2YgdmFfY29weSgpIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfdmFfY29weScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC0xMTU0NCw3ICsxMTQ4NCw3IEBAIGVsc2UKKyAgICAgCisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDExNTQ4ICJjb25maWd1cmUiCisrI2xpbmUgMTE0ODggImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAgICAgICAgICNpbmNsdWRlIDxzdGRhcmcuaD4KK0BAIC0xMTU1OCw3ICsxMTQ5OCw3IEBAIGVsc2UKKyAgICAgICAgIH0KKyAgICAgICAgIGludCBtYWluKCkgeyBmICgwLCA0Mik7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTU2MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbAorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE1MDI6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKKyB0aGVuCisgICBhY19jdl92YV9jb3B5PXllcworIGVsc2UKK0BAIC0xMTU3NSw3ICsxMTUxNSw3IEBAIGZpCisgCisgZWNobyAiJGFjX3QiIiRhY19jdl92YV9jb3B5IiAxPiY2CisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGFuIGltcGxlbWVudGF0aW9uIG9mIF9fdmFfY29weSgpIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTE1Nzk6IGNoZWNraW5nIGZvciBhbiBpbXBsZW1lbnRhdGlvbiBvZiBfX3ZhX2NvcHkoKSIgPiY1CisrZWNobyAiY29uZmlndXJlOjExNTE5OiBjaGVja2luZyBmb3IgYW4gaW1wbGVtZW50YXRpb24gb2YgX192YV9jb3B5KCkiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9fX3ZhX2NvcHknK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCitAQCAtMTE1ODUsNyArMTE1MjUsNyBAQCBlbHNlCisgICAgIAorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTU4OSAiY29uZmlndXJlIgorKyNsaW5lIDExNTI5ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgICAgICAgICAjaW5jbHVkZSA8c3RkYXJnLmg+CitAQCAtMTE1OTksNyArMTE1MzksNyBAQCBlbHNlCisgICAgICAgICB9CisgICAgICAgICBpbnQgbWFpbigpIHsgZiAoMCwgNDIpOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE2MDM6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExNTQzOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsCisgdGhlbgorICAgYWNfY3ZfX192YV9jb3B5PXllcworIGVsc2UKK0BAIC0xMTYxNiw3ICsxMTU1Niw3IEBAIGZpCisgCisgZWNobyAiJGFjX3QiIiRhY19jdl9fX3ZhX2NvcHkiIDE+JjYKKyBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHZhX2xpc3RzIGNhbiBiZSBjb3BpZWQgYnkgdmFsdWUiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTYyMDogY2hlY2tpbmcgd2hldGhlciB2YV9saXN0cyBjYW4gYmUgY29waWVkIGJ5IHZhbHVlIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTE1NjA6IGNoZWNraW5nIHdoZXRoZXIgdmFfbGlzdHMgY2FuIGJlIGNvcGllZCBieSB2YWx1ZSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3ZhX3ZhbF9jb3B5JytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTExNjI2LDcgKzExNTY2LDcgQEAgZWxzZQorICAgICAKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTE2MzAgImNvbmZpZ3VyZSIKKysjbGluZSAxMTU3MCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICAgICAgICAgI2luY2x1ZGUgPHN0ZGFyZy5oPgorQEAgLTExNjQwLDcgKzExNTgwLDcgQEAgZWxzZQorICAgICAgICAgfQorICAgICAgICAgaW50IG1haW4oKSB7IGYgKDAsIDQyKTsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExNjQ0OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH0gJiYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTU4NDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbAorIHRoZW4KKyAgIGFjX2N2X3ZhX3ZhbF9jb3B5PXllcworIGVsc2UKK0BAIC0xMTcxMCwxMiArMTE2NTAsMTIgQEAgQVJNX0FCSV9QUkVGSVg9CisgaWYgdGVzdCAiJEdOVV9DQyI7IHRoZW4KKyAgIGlmIHRlc3QgIiRDUFVfQVJDSCIgPSAiYXJtIiA7IHRoZW4KKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIEFSTSBFQUJJIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTE3MTQ6IGNoZWNraW5nIGZvciBBUk0gRUFCSSIgPiY1CisrZWNobyAiY29uZmlndXJlOjExNjU0OiBjaGVja2luZyBmb3IgQVJNIEVBQkkiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9nY2NfYXJtX2VhYmknK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTE3MTkgImNvbmZpZ3VyZSIKKysjbGluZSAxMTY1OSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorIGludCBtYWluKCkgeworQEAgLTExNzI4LDcgKzExNjY4LDcgQEAgaW50IG1haW4oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE3MzI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExNjcyOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9nY2NfYXJtX2VhYmk9InllcyIKKyBlbHNlCitAQCAtMTE3NTMsMTIgKzExNjkzLDEyIEBAIGVjaG8gIiRhY190IiIkYWNfY3ZfZ2NjX2FybV9lYWJpIiAxPiY2CisgZmkKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgbW9kZXJuIEMrKyB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbiBzeW50YXggc3VwcG9ydCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjExNzU3OiBjaGVja2luZyBmb3IgbW9kZXJuIEMrKyB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbiBzeW50YXggc3VwcG9ydCIgPiY1CisrZWNobyAiY29uZmlndXJlOjExNjk3OiBjaGVja2luZyBmb3IgbW9kZXJuIEMrKyB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbiBzeW50YXggc3VwcG9ydCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2NwcF9tb2Rlcm5fc3BlY2lhbGl6ZV90ZW1wbGF0ZV9zeW50YXgnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTE3NjIgImNvbmZpZ3VyZSIKKysjbGluZSAxMTcwMiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIHRlbXBsYXRlIDxjbGFzcyBUPiBzdHJ1Y3QgWCB7IGludCBhOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcyBZIHt9OworQEAgLTExNzY4LDcgKzExNzA4LDcgQEAgWDxpbnQ+IGludF94OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYPFk+IHlfeDsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTc3MjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE3MTI6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2NwcF9tb2Rlcm5fc3BlY2lhbGl6ZV90ZW1wbGF0ZV9zeW50YXg9eWVzCisgZWxzZQorQEAgLTExNzg2LDEyICsxMTcyNiwxMiBAQCBpZiB0ZXN0ICIkYWNfY3ZfY3BwX21vZGVybl9zcGVjaWFsaXplX3RlbXBsYXRlX3N5bnRheCIgPSBubyA7IHRoZW4KKyBmaQorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgcGFydGlhbCB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbiB3b3JrcyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjExNzkwOiBjaGVja2luZyB3aGV0aGVyIHBhcnRpYWwgdGVtcGxhdGUgc3BlY2lhbGl6YXRpb24gd29ya3MiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMTczMDogY2hlY2tpbmcgd2hldGhlciBwYXJ0aWFsIHRlbXBsYXRlIHNwZWNpYWxpemF0aW9uIHdvcmtzIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfY3BwX3BhcnRpYWxfc3BlY2lhbGl6YXRpb24nK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTE3OTUgImNvbmZpZ3VyZSIKKysjbGluZSAxMTczNSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIHRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBGb28ge307CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBGb288VCo+IHt9OworQEAgLTExNzk5LDcgKzExNzM5LDcgQEAgaW50IG1haW4oKSB7CisgcmV0dXJuIDA7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE4MDM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExNzQzOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9jcHBfcGFydGlhbF9zcGVjaWFsaXphdGlvbj15ZXMKKyBlbHNlCitAQCAtMTE4MjMsMTIgKzExNzYzLDEyIEBAIEVPRgorIGZpCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIFwidXNpbmdcIiBrZXl3b3JkIHJlc29sdmVzIGFtYmlndWl0eSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjExODI3OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgXCJ1c2luZ1wiIGtleXdvcmQgcmVzb2x2ZXMgYW1iaWd1aXR5IiA+JjUKKytlY2hvICJjb25maWd1cmU6MTE3Njc6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBcInVzaW5nXCIga2V5d29yZCByZXNvbHZlcyBhbWJpZ3VpdHkiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9jcHBfYW1iaWd1aXR5X3Jlc29sdmluZ191c2luZycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTgzMiAiY29uZmlndXJlIgorKyNsaW5lIDExNzcyICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgY2xhc3MgWCB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljOiBpbnQgZ28oY29uc3QgWCYpIHtyZXR1cm4gMzt9CitAQCAtMTE4NDQsNyArMTE3ODQsNyBAQCBpbnQgbWFpbigpIHsKKyBYIHg7IFkgeTsgeS5qbyh4KTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTg0ODogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE3ODg6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2NwcF9hbWJpZ3VpdHlfcmVzb2x2aW5nX3VzaW5nPXllcworIGVsc2UKK0BAIC0xMTg2OCw3ICsxMTgwOCw3IEBAIEVPRgorIGZpCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIEMrKyBkeW5hbWljX2Nhc3QgdG8gdm9pZCoiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTg3MjogY2hlY2tpbmcgZm9yIEMrKyBkeW5hbWljX2Nhc3QgdG8gdm9pZCoiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMTgxMjogY2hlY2tpbmcgZm9yIEMrKyBkeW5hbWljX2Nhc3QgdG8gdm9pZCoiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9jcHBfZHluYW1pY19jYXN0X3ZvaWRfcHRyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTExODc2LDcgKzExODE2LDcgQEAgZWxzZQorICAgYWNfY3ZfY3BwX2R5bmFtaWNfY2FzdF92b2lkX3B0cj1ubworIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTg4MCAiY29uZmlndXJlIgorKyNsaW5lIDExODIwICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgY2xhc3MgWCB7IGludCBpOyBwdWJsaWM6IHZpcnR1YWwgflgoKSB7IH0gfTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3MgWSB7IGludCBqOyBwdWJsaWM6IHZpcnR1YWwgflkoKSB7IH0gfTsKK0BAIC0xMTg5Miw3ICsxMTgzMiw3IEBAIGNsYXNzIFggeyBpbnQgaTsgcHVibGljOiB2aXJ0dWFsIH5YKCkgeyB9IH07CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodm9pZCopJm1kbyA9PSBkeW5hbWljX2Nhc3Q8dm9pZCo+KHN1YnkpKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTg5NjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbAorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE4MzY6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKKyB0aGVuCisgICBhY19jdl9jcHBfZHluYW1pY19jYXN0X3ZvaWRfcHRyPXllcworIGVsc2UKK0BAIC0xMTkxOSwxOSArMTE4NTksMTkgQEAgZmkKKyAKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIEMrKyByZXF1aXJlcyBpbXBsZW1lbnRhdGlvbiBvZiB1bnVzZWQgdmlydHVhbCBtZXRob2RzIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTE5MjM6IGNoZWNraW5nIHdoZXRoZXIgQysrIHJlcXVpcmVzIGltcGxlbWVudGF0aW9uIG9mIHVudXNlZCB2aXJ0dWFsIG1ldGhvZHMiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMTg2MzogY2hlY2tpbmcgd2hldGhlciBDKysgcmVxdWlyZXMgaW1wbGVtZW50YXRpb24gb2YgdW51c2VkIHZpcnR1YWwgbWV0aG9kcyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2NwcF91bnVzZWRfcmVxdWlyZWQnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTE5MjggImNvbmZpZ3VyZSIKKysjbGluZSAxMTg2OCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIGNsYXNzIFgge3ByaXZhdGU6IHZpcnR1YWwgdm9pZCBuZXZlcl9jYWxsZWQoKTt9OworIGludCBtYWluKCkgeworIFggeDsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTkzNTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTg3NTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9jcHBfdW51c2VkX3JlcXVpcmVkPW5vCisgZWxzZQorQEAgLTExOTU3LDEyICsxMTg5NywxMiBAQCBmaQorIAorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciB0cm91YmxlIGNvbXBhcmluZyB0byB6ZXJvIG5lYXIgc3RkOjpvcGVyYXRvciE9KCkiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMTk2MTogY2hlY2tpbmcgZm9yIHRyb3VibGUgY29tcGFyaW5nIHRvIHplcm8gbmVhciBzdGQ6Om9wZXJhdG9yIT0oKSIgPiY1CisrZWNobyAiY29uZmlndXJlOjExOTAxOiBjaGVja2luZyBmb3IgdHJvdWJsZSBjb21wYXJpbmcgdG8gemVybyBuZWFyIHN0ZDo6b3BlcmF0b3IhPSgpIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfdHJvdWJsZV9jb21wYXJpbmdfdG9femVybycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMTk2NiAiY29uZmlndXJlIgorKyNsaW5lIDExOTA2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPGFsZ29yaXRobT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBGb28ge307CitAQCAtMTE5NzMsNyArMTE5MTMsNyBAQCBpbnQgbWFpbigpIHsKKyBGb288aW50PiBmOyByZXR1cm4gKDAgIT0gZik7CisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTE5Nzc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjExOTE3OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl90cm91YmxlX2NvbXBhcmluZ190b196ZXJvPW5vCisgZWxzZQorQEAgLTEyMDAzLDE5ICsxMTk0MywxOSBAQCBmaQorIF9TQVZFX0xERkxBR1M9JExERkxBR1MKKyBMREZMQUdTPSIkTERGTEFHUyAkRFNPX1BJQ19DRkxBR1MgJERTT19MRE9QVFMgJE1PWl9PUFRJTUlaRV9MREZMQUdTIgorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBfX3RocmVhZCBrZXl3b3JkIGZvciBUTFMgdmFyaWFibGVzIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTIwMDc6IGNoZWNraW5nIGZvciBfX3RocmVhZCBrZXl3b3JkIGZvciBUTFMgdmFyaWFibGVzIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTE5NDc6IGNoZWNraW5nIGZvciBfX3RocmVhZCBrZXl3b3JkIGZvciBUTFMgdmFyaWFibGVzIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfdGhyZWFkX2tleXdvcmQnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTIwMTIgImNvbmZpZ3VyZSIKKysjbGluZSAxMTk1MiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIF9fdGhyZWFkIGJvb2wgdGxzSXNNYWluVGhyZWFkID0gZmFsc2U7CisgaW50IG1haW4oKSB7CisgcmV0dXJuIHRsc0lzTWFpblRocmVhZDsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjAxOTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMTk1OTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl90aHJlYWRfa2V5d29yZD15ZXMKKyBlbHNlCitAQCAtMTIwNTUsMTIgKzExOTk1LDEyIEBAIGZpCisgTUFMTE9DX0g9CisgICAgYWNfc2FmZT1gZWNobyAibWFsbG9jLmgiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIG1hbGxvYy5oIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTIwNTk6IGNoZWNraW5nIGZvciBtYWxsb2MuaCIgPiY1CisrZWNobyAiY29uZmlndXJlOjExOTk5OiBjaGVja2luZyBmb3IgbWFsbG9jLmgiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTIwNjQgImNvbmZpZ3VyZSIKKysjbGluZSAxMjAwNCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICNpbmNsdWRlIDxtYWxsb2MuaD4KK0BAIC0xMjA2OCw3ICsxMjAwOCw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyMDcyOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjAxMjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtMTIwOTEsMTIgKzEyMDMxLDEyIEBAIGZpCisgaWYgdGVzdCAiJE1BTExPQ19IIiA9ICIiOyB0aGVuCisgICAgICBhY19zYWZlPWBlY2hvICJtYWxsb2MvbWFsbG9jLmgiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIG1hbGxvYy9tYWxsb2MuaCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEyMDk1OiBjaGVja2luZyBmb3IgbWFsbG9jL21hbGxvYy5oIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTIwMzU6IGNoZWNraW5nIGZvciBtYWxsb2MvbWFsbG9jLmgiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTIxMDAgImNvbmZpZ3VyZSIKKysjbGluZSAxMjA0MCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICNpbmNsdWRlIDxtYWxsb2MvbWFsbG9jLmg+CitAQCAtMTIxMDQsNyArMTIwNDQsNyBAQCBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjEwODogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTIwNDg6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorQEAgLTEyMTI3LDEyICsxMjA2NywxMiBAQCBmaQorICAgaWYgdGVzdCAiJE1BTExPQ19IIiA9ICIiOyB0aGVuCisgICAgICAgIGFjX3NhZmU9YGVjaG8gInN5cy9tYWxsb2MuaCIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3Igc3lzL21hbGxvYy5oIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTIxMzE6IGNoZWNraW5nIGZvciBzeXMvbWFsbG9jLmgiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMjA3MTogY2hlY2tpbmcgZm9yIHN5cy9tYWxsb2MuaCIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMjEzNiAiY29uZmlndXJlIgorKyNsaW5lIDEyMDc2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPHN5cy9tYWxsb2MuaD4KK0BAIC0xMjE0MCw3ICsxMjA4MCw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyMTQ0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjA4NDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtMTIxNzYsMTIgKzEyMTE2LDEyIEBAIE1PWl9BTExPQ0FUSU5HX0ZVTkNTPSJzdHJuZHVwIHBvc2l4X21lbWFsaWduIG1lbWFsaWduIHZhbGxvYyIKKyBmb3IgYWNfZnVuYyBpbiBzdHJuZHVwIHBvc2l4X21lbWFsaWduIG1lbWFsaWduIHZhbGxvYworIGRvCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19mdW5jIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTIxODA6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIgPiY1CisrZWNobyAiY29uZmlndXJlOjEyMTIwOiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jXyRhY19mdW5jJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEyMTg1ICJjb25maWd1cmUiCisrI2xpbmUgMTIxMjUgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCisgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgJGFjX2Z1bmMoKTsgYmVsb3cuICAqLworQEAgLTEyMjA3LDcgKzEyMTQ3LDcgQEAgJGFjX2Z1bmMoKTsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjIxMTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjE1MTogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9mdW5jXyRhY19mdW5jPXllcyIKKyBlbHNlCitAQCAtMTIyMzcsMTkgKzEyMTc3LDE5IEBAIGRvbmUKKyAKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkpIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTIyNDE6IGNoZWNraW5nIGZvciBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMjE4MTogY2hlY2tpbmcgZm9yIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2F0dHJpYnV0ZV9hbHdheXNfaW5saW5lJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEyMjQ2ICJjb25maWd1cmUiCisrI2xpbmUgMTIxODYgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyBpbmxpbmUgdm9pZCBmKHZvaWQpIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKTsKKyBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjI1MzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTIxOTM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2F0dHJpYnV0ZV9hbHdheXNfaW5saW5lPXllcworIGVsc2UKK0BAIC0xMjI2NCwxOSArMTIyMDQsMTkgQEAgZmkKKyBlY2hvICIkYWNfdCIiJGFjX2N2X2F0dHJpYnV0ZV9hbHdheXNfaW5saW5lIiAxPiY2CisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIF9fYXR0cmlidXRlX18oKG1hbGxvYykpIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTIyNjg6IGNoZWNraW5nIGZvciBfX2F0dHJpYnV0ZV9fKChtYWxsb2MpKSIgPiY1CisrZWNobyAiY29uZmlndXJlOjEyMjA4OiBjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygobWFsbG9jKSkiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9hdHRyaWJ1dGVfbWFsbG9jJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEyMjczICJjb25maWd1cmUiCisrI2xpbmUgMTIyMTMgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyB2b2lkKiBmKGludCkgX19hdHRyaWJ1dGVfXygobWFsbG9jKSk7CisgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTIyODA6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyMjIwOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9hdHRyaWJ1dGVfbWFsbG9jPXllcworIGVsc2UKK0BAIC0xMjI5MSwxOSArMTIyMzEsMTkgQEAgZmkKKyBlY2hvICIkYWNfdCIiJGFjX2N2X2F0dHJpYnV0ZV9tYWxsb2MiIDE+JjYKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSkiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjI5NTogY2hlY2tpbmcgZm9yIF9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTIyMzU6IGNoZWNraW5nIGZvciBfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKSIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2F0dHJpYnV0ZV93YXJuX3VudXNlZCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMjMwMCAiY29uZmlndXJlIgorKyNsaW5lIDEyMjQwICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgaW50IGYodm9pZCkgX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisgaW50IG1haW4oKSB7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTIzMDc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyMjQ3OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBhY19jdl9hdHRyaWJ1dGVfd2Fybl91bnVzZWQ9eWVzCisgZWxzZQorQEAgLTEyMzI3LDE5ICsxMjI2NywxOSBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyAKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgTENfTUVTU0FHRVMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjMzMTogY2hlY2tpbmcgZm9yIExDX01FU1NBR0VTIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTIyNzE6IGNoZWNraW5nIGZvciBMQ19NRVNTQUdFUyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2kxOG5fbGNfbWVzc2FnZXMnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTIzMzYgImNvbmZpZ3VyZSIKKysjbGluZSAxMjI3NiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxsb2NhbGUuaD4KKyBpbnQgbWFpbigpIHsKKyBpbnQgY2F0ZWdvcnkgPSBMQ19NRVNTQUdFUzsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjM0MzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTIyODM6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2kxOG5fbGNfbWVzc2FnZXM9eWVzCisgZWxzZQorQEAgLTEyMzY1LDEyICsxMjMwNSwxMiBAQCBmaQorIGZvciBhY19mdW5jIGluIGxvY2FsZWNvbnYKKyBkbworIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfZnVuYyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEyMzY5OiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMjMwOTogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY18kYWNfZnVuYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMjM3NCAiY29uZmlndXJlIgorKyNsaW5lIDEyMzE0ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAorICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyICRhY19mdW5jKCk7IGJlbG93LiAgKi8KK0BAIC0xMjM5Myw3ICsxMjMzMyw3IEBAICRhY19mdW5jKCk7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTIzOTc6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTIzMzc6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfZnVuY18kYWNfZnVuYz15ZXMiCisgZWxzZQorQEAgLTEyNTgwLDcgKzEyNTIwLDcgQEAgZmkKKyAJIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJuc3ByLWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCisgc2V0IGR1bW15IG5zcHItY29uZmlnOyBhY193b3JkPSQyCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTI1ODQ6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CisrZWNobyAiY29uZmlndXJlOjEyNTI0OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wYXRoX05TUFJfQ09ORklHJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTEyNjE1LDcgKzEyNTU1LDcgQEAgZmkKKyAKKyAJbWluX25zcHJfdmVyc2lvbj0kTlNQUl9NSU5WRVIKKyAJZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIE5TUFIgLSB2ZXJzaW9uID49ICRtaW5fbnNwcl92ZXJzaW9uIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTI2MTk6IGNoZWNraW5nIGZvciBOU1BSIC0gdmVyc2lvbiA+PSAkbWluX25zcHJfdmVyc2lvbiIgPiY1CisrZWNobyAiY29uZmlndXJlOjEyNTU5OiBjaGVja2luZyBmb3IgTlNQUiAtIHZlcnNpb24gPj0gJG1pbl9uc3ByX3ZlcnNpb24iID4mNQorIAorIAlub19uc3ByPSIiCisgCWlmIHRlc3QgIiROU1BSX0NPTkZJRyIgIT0gIm5vIjsgdGhlbgorQEAgLTEyNjc4LDcgKzEyNjE4LDcgQEAgaWYgdGVzdCAtbiAiJE1PWl9OQVRJVkVfTlNQUiI7IHRoZW4KKyAgICAgX1NBVkVfQ0ZMQUdTPSRDRkxBR1MKKyAgICAgQ0ZMQUdTPSIkQ0ZMQUdTICROU1BSX0NGTEFHUyIKKyAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEyNjgyICJjb25maWd1cmUiCisrI2xpbmUgMTI2MjIgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSAicHJsb2cuaCIKKyBpbnQgbWFpbigpIHsKK0BAIC0xMjY4Nyw3ICsxMjYyNyw3IEBAIGludCBtYWluKCkgeworICAgICAgICAgICAgICAgICAgI2VuZGlmCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTI2OTE6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyNjMxOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBNT1pfTkFUSVZFX05TUFI9MQorIGVsc2UKK0BAIC0xMjcyOSw3ICsxMjY2OSw3IEBAIGlmIHRlc3QgLXogIiRNT1pfWkxJQl9MSUJTJE1PWl9aTElCX0NGTEFHUyRTS0lQX0xJQlJBUllfQ0hFQ0tTIjsgdGhlbgorICAgICAgICAgTU9aX05BVElWRV9aTElCPQorICAgICBlbHNlCisgICAgICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgZ3pyZWFkIGluIC1seiIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEyNzMzOiBjaGVja2luZyBmb3IgZ3pyZWFkIGluIC1seiIgPiY1CisrZWNobyAiY29uZmlndXJlOjEyNjczOiBjaGVja2luZyBmb3IgZ3pyZWFkIGluIC1seiIgPiY1CisgYWNfbGliX3Zhcj1gZWNobyB6J18nZ3pyZWFkIHwgc2VkICd5JS4vKy0lX19wXyUnYAorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9saWJfJGFjX2xpYl92YXInK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKK0BAIC0xMjczNyw3ICsxMjY3Nyw3IEBAIGVsc2UKKyAgIGFjX3NhdmVfTElCUz0iJExJQlMiCisgTElCUz0iLWx6ICAkTElCUyIKKyBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTI3NDEgImNvbmZpZ3VyZSIKKysjbGluZSAxMjY4MSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCisgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgorQEAgLTEyNzQ4LDcgKzEyNjg4LDcgQEAgaW50IG1haW4oKSB7CisgZ3pyZWFkKCkKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjc1MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjY5MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92YXI9eWVzIgorIGVsc2UKK0BAIC0xMjc3Miw3ICsxMjcxMiw3IEBAIGZpCisgICAgICAgICBpZiB0ZXN0ICIkTU9aX05BVElWRV9aTElCIiA9IDE7IHRoZW4KKyAgICAgICAgICAgICBNT1paTElCTlVNPWBlY2hvICRNT1paTElCIHwgYXdrIC1GLiAne3ByaW50ZiAiMHgleFxuIiwgKCgoJDEgKiAxNiArICQyKSAqIDE2KSArICQzKSAqIDE2ICsgJDR9J2AKKyAgICAgICAgICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTI3NzYgImNvbmZpZ3VyZSIKKysjbGluZSAxMjcxNiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICAjaW5jbHVkZSA8c3RkaW8uaD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzdHJpbmcuaD4KK0BAIC0xMjc4Myw3ICsxMjcyMyw3IEBAIGludCBtYWluKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2VuZGlmIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEyNzg3OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjcyNzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgTU9aX05BVElWRV9aTElCPTEKKyBlbHNlCitAQCAtMTI4MjksNyArMTI3NjksNyBAQCBpZiB0ZXN0IC1uICIkTU9aX05BVElWRV9GRkkiOyB0aGVuCisgICAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAicGtnLWNvbmZpZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCisgc2V0IGR1bW15IHBrZy1jb25maWc7IGFjX3dvcmQ9JDIKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMjgzMzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTI3NzM6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3BhdGhfUEtHX0NPTkZJRycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKK0BAIC0xMjg3MywxOSArMTI4MTMsMTkgQEAgZmkKKyAgICAgIFBLR19DT05GSUdfTUlOX1ZFUlNJT049MC45LjAKKyAgICAgIGlmICRQS0dfQ09ORklHIC0tYXRsZWFzdC1wa2djb25maWctdmVyc2lvbiAkUEtHX0NPTkZJR19NSU5fVkVSU0lPTjsgdGhlbgorICAgICAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGxpYmZmaSA+IDMuMC45IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTI4Nzc6IGNoZWNraW5nIGZvciBsaWJmZmkgPiAzLjAuOSIgPiY1CisrZWNobyAiY29uZmlndXJlOjEyODE3OiBjaGVja2luZyBmb3IgbGliZmZpID4gMy4wLjkiID4mNQorIAorICAgICAgICAgaWYgJFBLR19DT05GSUcgLS1leGlzdHMgImxpYmZmaSA+IDMuMC45IiA7IHRoZW4KKyAgICAgICAgICAgICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgICAgICAgICAgICAgc3VjY2VlZGVkPXllcworIAorICAgICAgICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIE1PWl9GRklfQ0ZMQUdTIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTI4ODQ6IGNoZWNraW5nIE1PWl9GRklfQ0ZMQUdTIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTI4MjQ6IGNoZWNraW5nIE1PWl9GRklfQ0ZMQUdTIiA+JjUKKyAgICAgICAgICAgICBNT1pfRkZJX0NGTEFHUz1gJFBLR19DT05GSUcgLS1jZmxhZ3MgImxpYmZmaSA+IDMuMC45ImAKKyAgICAgICAgICAgICBlY2hvICIkYWNfdCIiJE1PWl9GRklfQ0ZMQUdTIiAxPiY2CisgCisgICAgICAgICAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgTU9aX0ZGSV9MSUJTIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTI4ODk6IGNoZWNraW5nIE1PWl9GRklfTElCUyIgPiY1CisrZWNobyAiY29uZmlndXJlOjEyODI5OiBjaGVja2luZyBNT1pfRkZJX0xJQlMiID4mNQorICAgICAgICAgICAgICMjIFJlbW92ZSBldmlsIGZsYWdzIGxpa2UgLVdsLC0tZXhwb3J0LWR5bmFtaWMKKyAgICAgICAgICAgICBNT1pfRkZJX0xJQlM9ImAkUEtHX0NPTkZJRyAtLWxpYnMgXCJsaWJmZmkgPiAzLjAuOVwiIHxzZWQgcy8tV2wsLS1leHBvcnQtZHluYW1pYy8vZ2AiCisgICAgICAgICAgICAgZWNobyAiJGFjX3QiIiRNT1pfRkZJX0xJQlMiIDE+JjYKK0BAIC0xMjkyMSw3ICsxMjg2MSw3IEBAIGVjaG8gImNvbmZpZ3VyZToxMjg4OTogY2hlY2tpbmcgTU9aX0ZGSV9MSUJTIiA+JjUKKyAgICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJwa2ctY29uZmlnIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKyBzZXQgZHVtbXkgcGtnLWNvbmZpZzsgYWNfd29yZD0kMgorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEyOTI1OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMjg2NTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcGF0aF9QS0dfQ09ORklHJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTEyOTY1LDE5ICsxMjkwNSwxOSBAQCBmaQorICAgICAgUEtHX0NPTkZJR19NSU5fVkVSU0lPTj0wLjkuMAorICAgICAgaWYgJFBLR19DT05GSUcgLS1hdGxlYXN0LXBrZ2NvbmZpZy12ZXJzaW9uICRQS0dfQ09ORklHX01JTl9WRVJTSU9OOyB0aGVuCisgICAgICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgbGliZmZpID49IDMuMC45IiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTI5Njk6IGNoZWNraW5nIGZvciBsaWJmZmkgPj0gMy4wLjkiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMjkwOTogY2hlY2tpbmcgZm9yIGxpYmZmaSA+PSAzLjAuOSIgPiY1CisgCisgICAgICAgICBpZiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAibGliZmZpID49IDMuMC45IiA7IHRoZW4KKyAgICAgICAgICAgICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgICAgICAgICAgICAgc3VjY2VlZGVkPXllcworIAorICAgICAgICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIE1PWl9GRklfQ0ZMQUdTIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTI5NzY6IGNoZWNraW5nIE1PWl9GRklfQ0ZMQUdTIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTI5MTY6IGNoZWNraW5nIE1PWl9GRklfQ0ZMQUdTIiA+JjUKKyAgICAgICAgICAgICBNT1pfRkZJX0NGTEFHUz1gJFBLR19DT05GSUcgLS1jZmxhZ3MgImxpYmZmaSA+PSAzLjAuOSJgCisgICAgICAgICAgICAgZWNobyAiJGFjX3QiIiRNT1pfRkZJX0NGTEFHUyIgMT4mNgorIAorICAgICAgICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIE1PWl9GRklfTElCUyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEyOTgxOiBjaGVja2luZyBNT1pfRkZJX0xJQlMiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMjkyMTogY2hlY2tpbmcgTU9aX0ZGSV9MSUJTIiA+JjUKKyAgICAgICAgICAgICAjIyBSZW1vdmUgZXZpbCBmbGFncyBsaWtlIC1XbCwtLWV4cG9ydC1keW5hbWljCisgICAgICAgICAgICAgTU9aX0ZGSV9MSUJTPSJgJFBLR19DT05GSUcgLS1saWJzIFwibGliZmZpID49IDMuMC45XCIgfHNlZCBzLy1XbCwtLWV4cG9ydC1keW5hbWljLy9nYCIKKyAgICAgICAgICAgICBlY2hvICIkYWNfdCIiJE1PWl9GRklfTElCUyIgMT4mNgorQEAgLTEzMTEyLDE4ICsxMzA1MiwxOCBAQCBNT1pfREVCVUdfRElTQUJMRV9ERUZTPSItRE5ERUJVRyAtRFRSSU1NRUQiCisgCisgaWYgdGVzdCAtbiAiJE1PWl9ERUJVRyI7IHRoZW4KKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHZhbGlkIGRlYnVnIGZsYWdzIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTMxMTY6IGNoZWNraW5nIGZvciB2YWxpZCBkZWJ1ZyBmbGFncyIgPiY1CisrZWNobyAiY29uZmlndXJlOjEzMDU2OiBjaGVja2luZyBmb3IgdmFsaWQgZGVidWcgZmxhZ3MiID4mNQorICAgICBfU0FWRV9DRkxBR1M9JENGTEFHUworICAgICBDRkxBR1M9IiRDRkxBR1MgJE1PWl9ERUJVR19GTEFHUyIKKyAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDEzMTIwICJjb25maWd1cmUiCisrI2xpbmUgMTMwNjAgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyBpbnQgbWFpbigpIHsKKyBwcmludGYoIkhlbGxvIFdvcmxkXG4iKTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMzEyNzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTMwNjc6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIF9yZXN1bHRzPXllcworIGVsc2UKK0BAIC0xMzIwMSwxOCArMTMxNDEsMTggQEAgZmkKKyBpZiB0ZXN0ICIkQ09NUElMRV9FTlZJUk9OTUVOVCI7IHRoZW4KKyBpZiB0ZXN0IC1uICIkTU9aX09QVElNSVpFIjsgdGhlbgorICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdmFsaWQgb3B0aW1pemF0aW9uIGZsYWdzIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTMyMDU6IGNoZWNraW5nIGZvciB2YWxpZCBvcHRpbWl6YXRpb24gZmxhZ3MiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxMzE0NTogY2hlY2tpbmcgZm9yIHZhbGlkIG9wdGltaXphdGlvbiBmbGFncyIgPiY1CisgICAgIF9TQVZFX0NGTEFHUz0kQ0ZMQUdTCisgICAgIENGTEFHUz0iJENGTEFHUyAkTU9aX09QVElNSVpFX0ZMQUdTIgorICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTMyMDkgImNvbmZpZ3VyZSIKKysjbGluZSAxMzE0OSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzdGRpby5oPgorIGludCBtYWluKCkgeworIHByaW50ZigiSGVsbG8gV29ybGRcbiIpOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEzMjE2OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMzE1NjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgX3Jlc3VsdHM9eWVzCisgZWxzZQorQEAgLTEzMzY0LDcgKzEzMzA0LDcgQEAgRU9GCisgICAgIGZpCisgICBlbHNlCisgICAgIGVjaG8gJGFjX24gImNoZWNraW5nIHNpemUgb2YgaW50ICoiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMzM2ODogY2hlY2tpbmcgc2l6ZSBvZiBpbnQgKiIgPiY1CisrZWNobyAiY29uZmlndXJlOjEzMzA4OiBjaGVja2luZyBzaXplIG9mIGludCAqIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3Zfc2l6ZW9mX2ludF9wJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTEzMzcyLDcgKzEzMzEyLDcgQEAgZWxzZQorICAgYWNfY3Zfc2l6ZW9mX2ludF9wPTQKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTMzNzYgImNvbmZpZ3VyZSIKKysjbGluZSAxMzMxNiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzdGRpby5oPgorIGludCBtYWluKCkKK0BAIC0xMzM4Myw3ICsxMzMyMyw3IEBAIGludCBtYWluKCkKKyAgIHJldHVybigwKTsKKyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMzM4NzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbAorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTMzMjc6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fSAmJiAoLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGwKKyB0aGVuCisgICBhY19jdl9zaXplb2ZfaW50X3A9YGNhdCBjb25mdGVzdHZhbGAKKyBlbHNlCitAQCAtMTM2ODcsMTIgKzEzNjI3LDEyIEBAIGZpCisgaWYgdGVzdCAtbiAiJE1PWl9WQUxHUklORCI7IHRoZW4KKyAgICAgICAgYWNfc2FmZT1gZWNobyAidmFsZ3JpbmQvdmFsZ3JpbmQuaCIgfCBzZWQgJ3klLi8rLSVfX3BfJSdgCisgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgdmFsZ3JpbmQvdmFsZ3JpbmQuaCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjEzNjkxOiBjaGVja2luZyBmb3IgdmFsZ3JpbmQvdmFsZ3JpbmQuaCIgPiY1CisrZWNobyAiY29uZmlndXJlOjEzNjMxOiBjaGVja2luZyBmb3IgdmFsZ3JpbmQvdmFsZ3JpbmQuaCIgPiY1CisgICBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxMzY5NiAiY29uZmlndXJlIgorKyNsaW5lIDEzNjM2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgI2luY2x1ZGUgPHZhbGdyaW5kL3ZhbGdyaW5kLmg+CitAQCAtMTM3MDAsNyArMTM2NDAsNyBAQCBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMzcwNDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTM2NDQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorQEAgLTEzOTczLDcgKzEzOTEzLDcgQEAgZG8KKyAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRhY19wcm9nIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKyBzZXQgZHVtbXkgJGFjX3Byb2c7IGFjX3dvcmQ9JDIKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxMzk3NzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTM5MTc6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3BhdGhfQ0NBQ0hFJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTE0MDk5LDEyICsxNDAzOSwxMiBAQCBjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY3h4X2Nyb3NzCisgICAgIGZvciBhY19mdW5jIGluIF9fY3hhX2RlbWFuZ2xlCisgZG8KKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2Z1bmMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxNDEwMzogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTQwNDM6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2Z1bmNfJGFjX2Z1bmMnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTQxMDggImNvbmZpZ3VyZSIKKysjbGluZSAxNDA0OCAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKKyAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciAkYWNfZnVuYygpOyBiZWxvdy4gICovCitAQCAtMTQxMzAsNyArMTQwNzAsNyBAQCAkYWNfZnVuYygpOworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0MTM0OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0MDc0OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2Z1bmNfJGFjX2Z1bmM9eWVzIgorIGVsc2UKK0BAIC0xNDE4NCwxMiArMTQxMjQsMTIgQEAgZmkKKyBpZiB0ZXN0IC16ICIkU0tJUF9MSUJSQVJZX0NIRUNLUyI7IHRoZW4KKyAgICAgICAgYWNfc2FmZT1gZWNobyAidW53aW5kLmgiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHVud2luZC5oIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTQxODg6IGNoZWNraW5nIGZvciB1bndpbmQuaCIgPiY1CisrZWNobyAiY29uZmlndXJlOjE0MTI4OiBjaGVja2luZyBmb3IgdW53aW5kLmgiID4mNQorICAgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTQxOTMgImNvbmZpZ3VyZSIKKysjbGluZSAxNDEzMyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICNpbmNsdWRlIDx1bndpbmQuaD4KK0BAIC0xNDE5Nyw3ICsxNDEzNyw3IEBAIGludCBtYWluKCkgeworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0MjAxOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDE0MTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKyBlbHNlCitAQCAtMTQyMTQsMTIgKzE0MTU0LDEyIEBAIGZpCisgICAgIGZvciBhY19mdW5jIGluIF9VbndpbmRfQmFja3RyYWNlCisgZG8KKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX2Z1bmMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxNDIxODogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTQxNTg6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2Z1bmNfJGFjX2Z1bmMnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTQyMjMgImNvbmZpZ3VyZSIKKysjbGluZSAxNDE2MyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKKyAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciAkYWNfZnVuYygpOyBiZWxvdy4gICovCitAQCAtMTQyNDIsNyArMTQxODIsNyBAQCAkYWNfZnVuYygpOworIAorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0MjQ2OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0MTg2OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGV2YWwgImFjX2N2X2Z1bmNfJGFjX2Z1bmM9eWVzIgorIGVsc2UKK0BAIC0xNDMzNCw3ICsxNDI3NCw3IEBAIGlmIHRlc3QgLXogIiRTS0lQX0NPTVBJTEVSX0NIRUNLUyI7IHRoZW4KKyAjIENvbXBpbGVyIE9wdGlvbnMKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyBmb3IgLXBpcGUgc3VwcG9ydCIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjE0MzM4OiBjaGVja2luZyBmb3IgLXBpcGUgc3VwcG9ydCIgPiY1CisrZWNobyAiY29uZmlndXJlOjE0Mjc4OiBjaGVja2luZyBmb3IgLXBpcGUgc3VwcG9ydCIgPiY1CisgaWYgdGVzdCAtbiAiJEdOVV9DQyIgLWEgLW4gIiRHTlVfQ1hYIjsgdGhlbgorICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1waXBlIgorICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1waXBlIgorQEAgLTE0MzQ4LDE2ICsxNDI4OCwxNiBAQCBfU0FWRV9DRkxBR1M9IiRDRkxBR1MiCisgQ0ZMQUdTPSIkQ0ZMQUdTIC1mcHJvZmlsZS1nZW5lcmF0ZSAtZnByb2ZpbGUtY29ycmVjdGlvbiIKKyAKKyBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgc3VwcG9ydHMgLWZwcm9maWxlLWdlbmVyYXRlIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTQzNTI6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBzdXBwb3J0cyAtZnByb2ZpbGUtZ2VuZXJhdGUiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxNDI5MjogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIHN1cHBvcnRzIC1mcHJvZmlsZS1nZW5lcmF0ZSIgPiY1CisgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDE0MzU0ICJjb25maWd1cmUiCisrI2xpbmUgMTQyOTQgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyByZXR1cm4gMDsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDM2MTogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQzMDE6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgICBQUk9GSUxFX0dFTl9DRkxBR1M9Ii1mcHJvZmlsZS1nZW5lcmF0ZSIKKyAgICAgICAgICAgICAgICAgIHJlc3VsdD0ieWVzIiAKK0BAIC0xNDQyMSwxNiArMTQzNjEsMTYgQEAgaWYgdGVzdCAiJF9QRURBTlRJQyI7IHRoZW4KKyAgICAgX1NBVkVfQ1hYRkxBR1M9JENYWEZMQUdTCisgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MgLXBlZGFudGljICR7X1dBUk5JTkdTX0NYWEZMQUdTfSAtV25vLWxvbmctbG9uZyIKKyAgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciBDKysgY29tcGlsZXIgaGFzIC1wZWRhbnRpYyBsb25nIGxvbmcgYnVnIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTQ0MjU6IGNoZWNraW5nIHdoZXRoZXIgQysrIGNvbXBpbGVyIGhhcyAtcGVkYW50aWMgbG9uZyBsb25nIGJ1ZyIgPiY1CisrZWNobyAiY29uZmlndXJlOjE0MzY1OiBjaGVja2luZyB3aGV0aGVyIEMrKyBjb21waWxlciBoYXMgLXBlZGFudGljIGxvbmcgbG9uZyBidWciID4mNQorICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTQ0MjcgImNvbmZpZ3VyZSIKKysjbGluZSAxNDM2NyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICRjb25maWd1cmVfc3RhdGljX2Fzc2VydF9tYWNyb3MKKyBpbnQgbWFpbigpIHsKKyBDT05GSUdVUkVfU1RBVElDX0FTU0VSVChzaXplb2YobG9uZyBsb25nKSA9PSA4KQorIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NDM0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDM3NDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgcmVzdWx0PSJubyIKKyBlbHNlCitAQCAtMTQ0NTcsMTIgKzE0Mzk3LDEyIEBAIGZpCisgX1NBVkVfQ1hYRkxBR1M9JENYWEZMQUdTCisgQ1hYRkxBR1M9IiRDWFhGTEFHUyAke19XQVJOSU5HU19DWFhGTEFHU30iCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGNvcnJlY3Qgb3ZlcmxvYWQgcmVzb2x1dGlvbiB3aXRoIGNvbnN0IGFuZCB0ZW1wbGF0ZXMiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxNDQ2MTogY2hlY2tpbmcgZm9yIGNvcnJlY3Qgb3ZlcmxvYWQgcmVzb2x1dGlvbiB3aXRoIGNvbnN0IGFuZCB0ZW1wbGF0ZXMiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxNDQwMTogY2hlY2tpbmcgZm9yIGNvcnJlY3Qgb3ZlcmxvYWQgcmVzb2x1dGlvbiB3aXRoIGNvbnN0IGFuZCB0ZW1wbGF0ZXMiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19uc2NhcF9ub25jb25zdF9vcGVxX2J1Zycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxNDQ2NiAiY29uZmlndXJlIgorKyNsaW5lIDE0NDA2ICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCisgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUPgorQEAgLTE0NDkyLDcgKzE0NDMyLDcgQEAgaW50IG1haW4oKSB7CisgICAgICAgICAgICAgICAgICAgICAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDQ5NjogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQ0MzY6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX25zY2FwX25vbmNvbnN0X29wZXFfYnVnPSJubyIKKyBlbHNlCitAQCAtMTQ1MTgsMTkgKzE0NDU4LDE5IEBAIEVPRgorIGZpCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIHRtX3pvbmUgdG1fZ210b2ZmIGluIHN0cnVjdCB0bSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjE0NTIyOiBjaGVja2luZyBmb3IgdG1fem9uZSB0bV9nbXRvZmYgaW4gc3RydWN0IHRtIiA+JjUKKytlY2hvICJjb25maWd1cmU6MTQ0NjI6IGNoZWNraW5nIGZvciB0bV96b25lIHRtX2dtdG9mZiBpbiBzdHJ1Y3QgdG0iID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9zdHJ1Y3RfdG1fem9uZV90bV9nbXRvZmYnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTQ1MjcgImNvbmZpZ3VyZSIKKysjbGluZSAxNDQ2NyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDx0aW1lLmg+CisgaW50IG1haW4oKSB7Cisgc3RydWN0IHRtIHRtOyB0bS50bV96b25lID0gMDsgdG0udG1fZ210b2ZmID0gMTsKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDUzNDogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNTsgfTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQ0NzQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X3N0cnVjdF90bV96b25lX3RtX2dtdG9mZj0ieWVzIgorIGVsc2UKK0BAIC0xNDU3MiwxOCArMTQ1MTIsMTggQEAgY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2NjX2Nyb3NzCisgCisgCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hhdCBraW5kIG9mIGxpc3QgZmlsZXMgYXJlIHN1cHBvcnRlZCBieSB0aGUgbGlua2VyIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTQ1NzY6IGNoZWNraW5nIHdoYXQga2luZCBvZiBsaXN0IGZpbGVzIGFyZSBzdXBwb3J0ZWQgYnkgdGhlIGxpbmtlciIgPiY1CisrZWNobyAiY29uZmlndXJlOjE0NTE2OiBjaGVja2luZyB3aGF0IGtpbmQgb2YgbGlzdCBmaWxlcyBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBsaW5rZXIiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydFWFBBTkRfTElCU19MSVNUX1NUWUxFJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgZWNobyAiaW50IG1haW4oKSB7cmV0dXJuIDA7fSIgPiBjb25mdGVzdC4ke2FjX2V4dH0KKy0gICAgIGlmIHsgYWNfdHJ5PScke0NDLWNjfSAtbyBjb25mdGVzdC4ke09CSl9TVUZGSVh9IC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiR7YWNfZXh0fSAxPiY1JzsgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDU4MTogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH07IH0gJiYgdGVzdCAtcyBjb25mdGVzdC4ke09CSl9TVUZGSVh9OyB0aGVuCisrICAgICBpZiB7IGFjX3RyeT0nJHtDQy1jY30gLW8gY29uZnRlc3QuJHtPQkpfU1VGRklYfSAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4ke2FjX2V4dH0gMT4mNSc7IHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQ1MjE6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9OyB9ICYmIHRlc3QgLXMgY29uZnRlc3QuJHtPQkpfU1VGRklYfTsgdGhlbgorICAgICAgICAgIGVjaG8gIklOUFVUKGNvbmZ0ZXN0LiR7T0JKX1NVRkZJWH0pIiA+IGNvbmZ0ZXN0Lmxpc3QKKy0gICAgICAgICBpZiB7IGFjX3RyeT0nJHtDQy1jY30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJExERkxBR1MgY29uZnRlc3QubGlzdCAkTElCUyAxPiY1JzsgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDU4MzogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH07IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorKyAgICAgICAgIGlmIHsgYWNfdHJ5PScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkTERGTEFHUyBjb25mdGVzdC5saXN0ICRMSUJTIDE+JjUnOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NTIzOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICAgICAgICAgICAgIEVYUEFORF9MSUJTX0xJU1RfU1RZTEU9bGlua2Vyc2NyaXB0CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICBlY2hvICJjb25mdGVzdC4ke09CSl9TVUZGSVh9IiA+IGNvbmZ0ZXN0Lmxpc3QKKy0gICAgICAgICAgICAgaWYgeyBhY190cnk9JyR7Q0MtY2N9IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRMREZMQUdTIEBjb25mdGVzdC5saXN0ICRMSUJTIDE+JjUnOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NTg3OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisrICAgICAgICAgICAgIGlmIHsgYWNfdHJ5PScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkTERGTEFHUyBAY29uZnRlc3QubGlzdCAkTElCUyAxPiY1JzsgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDUyNzogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH07IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgICAgICAgICAgICAgICAgRVhQQU5EX0xJQlNfTElTVF9TVFlMRT1saXN0CisgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgIEVYUEFORF9MSUJTX0xJU1RfU1RZTEU9bm9uZQorQEAgLTE0NjAzLDcgKzE0NTQzLDcgQEAgTElCU19ERVNDX1NVRkZJWD1kZXNjCisgCisgaWYgdGVzdCAiJEdDQ19VU0VfR05VX0xEIjsgdGhlbgorICAgICBlY2hvICRhY19uICJjaGVja2luZyB3aGF0IGtpbmQgb2Ygb3JkZXJpbmcgY2FuIGJlIGRvbmUgd2l0aCB0aGUgbGlua2VyIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTQ2MDc6IGNoZWNraW5nIHdoYXQga2luZCBvZiBvcmRlcmluZyBjYW4gYmUgZG9uZSB3aXRoIHRoZSBsaW5rZXIiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxNDU0NzogY2hlY2tpbmcgd2hhdCBraW5kIG9mIG9yZGVyaW5nIGNhbiBiZSBkb25lIHdpdGggdGhlIGxpbmtlciIgPiY1CisgaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J0VYUEFORF9MSUJTX09SREVSX1NUWUxFJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorQEAgLTE0NjExLDE0ICsxNDU1MSwxNCBAQCBlbHNlCisgICAgICAgICAgX1NBVkVfTERGTEFHUz0iJExERkxBR1MiCisgICAgICAgICAgTERGTEFHUz0iJHtMREZMQUdTfSAtV2wsLS1zZWN0aW9uLW9yZGVyaW5nLWZpbGUsY29uZnRlc3Qub3JkZXIiCisgICAgICAgICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDE0NjE1ICJjb25maWd1cmUiCisrI2xpbmUgMTQ1NTUgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyBpbnQgbWFpbigpIHsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDYyMjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDU2MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBFWFBBTkRfTElCU19PUkRFUl9TVFlMRT1zZWN0aW9uLW9yZGVyaW5nLWZpbGUKKyBlbHNlCitAQCAtMTQ2MzAsNyArMTQ1NzAsNyBAQCBmaQorIHJtIC1mIGNvbmZ0ZXN0KgorICAgICAgICAgIExERkxBR1M9IiRfU0FWRV9MREZMQUdTIgorICAgICAgICAgIGlmIHRlc3QgLXogIiRFWFBBTkRfTElCU19PUkRFUl9TVFlMRSI7IHRoZW4KKy0gICAgICAgICAgICAgaWYgeyBhY190cnk9JyR7Q0MtY2N9ICR7RFNPX0xET1BUU30gJHtMREZMQUdTfSAtbyAke0RMTF9QUkVGSVh9Y29uZnRlc3Qke0RMTF9TVUZGSVh9IC1XbCc7IHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTQ2MzQ6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9OyB9OyB0aGVuCisrICAgICAgICAgICAgIGlmIHsgYWNfdHJ5PScke0NDLWNjfSAke0RTT19MRE9QVFN9ICR7TERGTEFHU30gLW8gJHtETExfUFJFRklYfWNvbmZ0ZXN0JHtETExfU1VGRklYfSAtV2wnOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NTc0OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfTsgdGhlbgorICAgICAgICAgICAgICAgICAgRVhQQU5EX0xJQlNfT1JERVJfU1RZTEU9bGlua2Vyc2NyaXB0CisgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgIEVYUEFORF9MSUJTX09SREVSX1NUWUxFPW5vbmUKK0BAIC0xNDc0MSw3ICsxNDY4MSw3IEBAIGVzYWMKKyBpZiB0ZXN0IC16ICIkU0tJUF9MSUJSQVJZX0NIRUNLUyIgLWEgLXogIiROT19FRElUTElORSI7IHRoZW4KKyAgIGlmIHRlc3QgLW4gIiRKU19XQU5UX1JFQURMSU5FIjsgdGhlbgorICAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgcmVhZGxpbmUgaW4gLWxyZWFkbGluZSIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjE0NzQ1OiBjaGVja2luZyBmb3IgcmVhZGxpbmUgaW4gLWxyZWFkbGluZSIgPiY1CisrZWNobyAiY29uZmlndXJlOjE0Njg1OiBjaGVja2luZyBmb3IgcmVhZGxpbmUgaW4gLWxyZWFkbGluZSIgPiY1CisgYWNfbGliX3Zhcj1gZWNobyByZWFkbGluZSdfJ3JlYWRsaW5lIHwgc2VkICd5JS4vKy0lX19wXyUnYAorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9saWJfJGFjX2xpYl92YXInK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKK0BAIC0xNDc0OSw3ICsxNDY4OSw3IEBAIGVsc2UKKyAgIGFjX3NhdmVfTElCUz0iJExJQlMiCisgTElCUz0iLWxyZWFkbGluZSAgJExJQlMiCisgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDE0NzUzICJjb25maWd1cmUiCisrI2xpbmUgMTQ2OTMgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLworIC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKK0BAIC0xNDc2MCw3ICsxNDcwMCw3IEBAIGludCBtYWluKCkgeworIHJlYWRsaW5lKCkKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDc2NDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNDcwNDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92YXI9eWVzIgorIGVsc2UKK0BAIC0xNDk5MCw5ICsxNDkzMCw5IEBAIEVPRgorIAorIAorIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBwb3NpeF9mYWxsb2NhdGUiIi4uLiAkYWNfYyIgMT4mNgorLWVjaG8gImNvbmZpZ3VyZToxNDk5NDogY2hlY2tpbmcgZm9yIHBvc2l4X2ZhbGxvY2F0ZSIgPiY1CisrZWNobyAiY29uZmlndXJlOjE0OTM0OiBjaGVja2luZyBmb3IgcG9zaXhfZmFsbG9jYXRlIiA+JjUKKyBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTQ5OTYgImNvbmZpZ3VyZSIKKysjbGluZSAxNDkzNiAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorICNkZWZpbmUgX1hPUEVOX1NPVVJDRSA2MDAKKyAgICNpbmNsdWRlIDxmY250bC5oPgorQEAgLTE1MDAwLDcgKzE0OTQwLDcgQEAgaW50IG1haW4oKSB7CisgcG9zaXhfZmFsbG9jYXRlKDAsIDAsIDApOworIDsgcmV0dXJuIDA7IH0KKyBFT0YKKy1pZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE1MDA0OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0OTQ0OiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X19fcG9zaXhfZmFsbG9jYXRlPXRydWUKKyBlbHNlCitAQCAtMTUwMjksNyArMTQ5NjksNyBAQCBpZiB0ZXN0ICIkTU9aX1gxMSI7IHRoZW4KKyAgICAgICAgICAgICAgICAgX1NBVkVfQ0ZMQUdTPSRDRkxBR1MKKyAgICAgQ0ZMQUdTPSIkQ0ZMQUdTICRYQ0ZMQUdTIgorICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCistI2xpbmUgMTUwMzMgImNvbmZpZ3VyZSIKKysjbGluZSAxNDk3MyAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAorICAgICAgICAgI2luY2x1ZGUgPHN0ZGlvLmg+CitAQCAtMTUwNDcsNyArMTQ5ODcsNyBAQCBpbnQgbWFpbigpIHsKKyAgICAgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTUwNTE6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjE0OTkxOiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisgICA6CisgZWxzZQorICAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKK0BAIC0xNTE2MiwxMiArMTUxMDIsMTIgQEAgZmkKKyBmb3IgYWNfZnVuYyBpbiBzZXRsb2NhbGUKKyBkbworIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfZnVuYyIiLi4uICRhY19jIiAxPiY2CistZWNobyAiY29uZmlndXJlOjE1MTY2OiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4mNQorK2VjaG8gImNvbmZpZ3VyZToxNTEwNjogY2hlY2tpbmcgZm9yICRhY19mdW5jIiA+JjUKKyBpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfZnVuY18kYWNfZnVuYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKy0jbGluZSAxNTE3MSAiY29uZmlndXJlIgorKyNsaW5lIDE1MTExICJjb25maWd1cmUiCisgI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAorICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyICRhY19mdW5jKCk7IGJlbG93LiAgKi8KK0BAIC0xNTE5MCw3ICsxNTEzMCw3IEBAICRhY19mdW5jKCk7CisgCisgOyByZXR1cm4gMDsgfQorIEVPRgorLWlmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTUxOTQ6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTUxMzQ6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICAgcm0gLXJmIGNvbmZ0ZXN0KgorICAgZXZhbCAiYWNfY3ZfZnVuY18kYWNfZnVuYz15ZXMiCisgZWxzZQorQEAgLTE1MjIwLDEyICsxNTE2MCwxMiBAQCBkb25lCisgZm9yIGFjX2Z1bmMgaW4gbG9jYWxlY29udgorIGRvCisgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY19mdW5jIiIuLi4gJGFjX2MiIDE+JjYKKy1lY2hvICJjb25maWd1cmU6MTUyMjQ6IGNoZWNraW5nIGZvciAkYWNfZnVuYyIgPiY1CisrZWNobyAiY29uZmlndXJlOjE1MTY0OiBjaGVja2luZyBmb3IgJGFjX2Z1bmMiID4mNQorIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jXyRhY19mdW5jJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorLSNsaW5lIDE1MjI5ICJjb25maWd1cmUiCisrI2xpbmUgMTUxNjkgImNvbmZpZ3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCisgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgJGFjX2Z1bmMoKTsgYmVsb3cuICAqLworQEAgLTE1MjQ4LDcgKzE1MTg4LDcgQEAgJGFjX2Z1bmMoKTsKKyAKKyA7IHJldHVybiAwOyB9CisgRU9GCistaWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNTI1MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNTE5MjogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgICBybSAtcmYgY29uZnRlc3QqCisgICBldmFsICJhY19jdl9mdW5jXyRhY19mdW5jPXllcyIKKyBlbHNlCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDItTW92ZS1KU19CWVRFU19QRVJfV09SRC1vdXQtb2YtY29uZmlnLmgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDAyLU1vdmUtSlNfQllURVNfUEVSX1dPUkQtb3V0LW9mLWNvbmZpZy5oLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhZWIyZjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDAyLU1vdmUtSlNfQllURVNfUEVSX1dPUkQtb3V0LW9mLWNvbmZpZy5oLnBhdGNoCkBAIC0wLDAgKzEsNzUgQEAKK0Zyb20gZDRhMTVhZDgyMjkyZmY2ZDc3MmRjYzYzMWRmOTg3NTRkMjBiZTMxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENvbGluIFdhbHRlcnMgPHdhbHRlcnNAdmVyYnVtLm9yZz4KK0RhdGU6IFR1ZSwgMTggTWFyIDIwMTQgMTE6NDY6MDUgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzVdIE1vdmUgSlNfQllURVNfUEVSX1dPUkQgb3V0IG9mIGNvbmZpZy5oCisKK0luc3RlYWQgZGVmaW5lIGl0IGluIHRlcm1zIG9mIHRoZSBhbHJlYWR5IGV4dGFudCBHTlUgQyBleHRlbnNpb24KK19fU0laRU9GX1BPSU5URVJfXy4gIFRoaXMgYXZvaWRzIG11bHRpYXJjaCBjb25mbGljdHMgd2hlbiAzMiBhbmQgNjQKK2JpdCBwYWNrYWdlcyBvZiBqcyBhcmUgY28taW5zdGFsbGVkLgorLS0tCisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCisganMvc3JjL2NvbmZpZ3VyZS5pbiAgIHwgIDkgLS0tLS0tLS0tCisganMvc3JjL2pzLWNvbmZpZy5oLmluIHwgIDEgLQorIGpzL3NyYy9qc3R5cGVzLmggICAgICB8IDEyICsrKysrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9qcy9zcmMvY29uZmlndXJlLmluIGIvanMvc3JjL2NvbmZpZ3VyZS5pbgoraW5kZXggMTU2MDViMi4uNjRjNzYwNiAxMDA2NDQKKy0tLSBhL2pzL3NyYy9jb25maWd1cmUuaW4KKysrKyBiL2pzL3NyYy9jb25maWd1cmUuaW4KK0BAIC0yMzQ1LDE1ICsyMzQ1LDYgQEAgZWxzZQorICAgQUNfTVNHX1JFU1VMVChubykKKyBmaQorIAorLU1PWl9TSVpFX09GX1RZUEUoSlNfQllURVNfUEVSX1dPUkQsIHZvaWQqLCA0IDgpCistaWYgdGVzdCAiJG1vel9jdl9zaXplX29mX0pTX0JZVEVTX1BFUl9XT1JEIiAtZXEgIjQiOyB0aGVuCistICBBQ19ERUZJTkUoSlNfQklUU19QRVJfV09SRF9MT0cyLCA1KQorLWVsaWYgdGVzdCAiJG1vel9jdl9zaXplX29mX0pTX0JZVEVTX1BFUl9XT1JEIiAtZXEgIjgiOyB0aGVuCistICBBQ19ERUZJTkUoSlNfQklUU19QRVJfV09SRF9MT0cyLCA2KQorLWVsc2UKKy0gIEFDX01TR19FUlJPUihbVW5leHBlY3RlZCBKU19CWVRFU19QRVJfV09SRF0pCistZmkKKy0KKyBNT1pfQUxJR05fT0ZfVFlQRShKU19BTElHTl9PRl9QT0lOVEVSLCB2b2lkKiwgMiA0IDggMTYpCisgTU9aX1NJWkVfT0ZfVFlQRShKU19CWVRFU19QRVJfRE9VQkxFLCBkb3VibGUsIDYgOCAxMCAxMiAxNCkKKyAKK2RpZmYgLS1naXQgYS9qcy9zcmMvanMtY29uZmlnLmguaW4gYi9qcy9zcmMvanMtY29uZmlnLmguaW4KK2luZGV4IDY4ODllMDAuLjQ3NzU0MjAgMTAwNjQ0CistLS0gYS9qcy9zcmMvanMtY29uZmlnLmguaW4KKysrKyBiL2pzL3NyYy9qcy1jb25maWcuaC5pbgorQEAgLTU2LDcgKzU2LDYgQEAKKyAjdW5kZWYgSlNfSU5UMzJfVFlQRQorICN1bmRlZiBKU19JTlQ2NF9UWVBFCisgI3VuZGVmIEpTX0lOVFBUUl9UWVBFCistI3VuZGVmIEpTX0JZVEVTX1BFUl9XT1JECisgCisgLyogU29tZSBtb3ppbGxhIGNvZGUgdXNlcyBKUy1mcmllbmQgQVBJcyB0aGF0IGRlcGVuZCBvbiBKU19NRVRIT0RKSVQgYmVpbmcKKyAgICBjb3JyZWN0LiAqLworZGlmZiAtLWdpdCBhL2pzL3NyYy9qc3R5cGVzLmggYi9qcy9zcmMvanN0eXBlcy5oCitpbmRleCBkMGNmMTgzLi4zZTc5MjhmIDEwMDY0NAorLS0tIGEvanMvc3JjL2pzdHlwZXMuaAorKysrIGIvanMvc3JjL2pzdHlwZXMuaAorQEAgLTI0LDYgKzI0LDE4IEBACisgI2luY2x1ZGUgIm1vemlsbGEvVXRpbC5oIgorIAorICNpbmNsdWRlICJqcy1jb25maWcuaCIKKysjaWZuZGVmIEpTX0JZVEVTX1BFUl9XT1JECisrI2RlZmluZSBKU19CWVRFU19QRVJfV09SRCBfX1NJWkVPRl9QT0lOVEVSX18KKysjZW5kaWYKKysjaWZuZGVmIEpTX0JJVFNfUEVSX1dPUkRfTE9HMgorKyNpZiBKU19CWVRFU19QRVJfV09SRCA9PSA4CisrI2RlZmluZSBKU19CSVRTX1BFUl9XT1JEX0xPRzIgNgorKyNlbGlmIEpTX0JZVEVTX1BFUl9XT1JEID09IDQKKysjZGVmaW5lIEpTX0JJVFNfUEVSX1dPUkRfTE9HMiA1CisrI2Vsc2UKKysjZXJyb3IgVW5oYW5kbGVkIEpTX0JZVEVTX1BFUl9XT1JECisrI2VuZGlmIAorKyNlbmRpZgorIAorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqIE1BQ1JPUzogICAgICBKU19FWFRFUk5fQVBJCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDMtQWRkLUFBcmNoNjQtc3VwcG9ydC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDMtQWRkLUFBcmNoNjQtc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTcyNDI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAwMy1BZGQtQUFyY2g2NC1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsNzYgQEAKK0Zyb20gMTVlNzEwZTMzMWQzNmViMjc5ODUyYjVjZDFiYTM3YTlhNjAwNTIxNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbi5rb29pQGxpbmFyby5vcmc+CitEYXRlOiBNb24sIDIgTWFyIDIwMTUgMTk6MDg6MjIgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAzLzVdIEFkZCBBQXJjaDY0IHN1cHBvcnQKKworLS0tCitVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKKworIGpzL3NyYy9hc3NlbWJsZXIvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaCB8IDYgKysrKysrCisganMvc3JjL2Fzc2VtYmxlci93dGYvUGxhdGZvcm0uaCAgICAgICAgICAgIHwgNCArKysrCisganMvc3JjL2NvbmZpZ3VyZS5pbiAgICAgICAgICAgICAgICAgICAgICAgIHwgNCArKysrCisgbWZidC9kb3VibGUtY29udmVyc2lvbi91dGlscy5oICAgICAgICAgICAgIHwgMSArCisgNCBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9qcy9zcmMvYXNzZW1ibGVyL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmggYi9qcy9zcmMvYXNzZW1ibGVyL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKK2luZGV4IGMwNzFjMzMuLjkwNzY0YzMgMTAwNjQ0CistLS0gYS9qcy9zcmMvYXNzZW1ibGVyL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKKysrKyBiL2pzL3NyYy9hc3NlbWJsZXIvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaAorQEAgLTM4Miw2ICszODIsMTIgQEAgcHVibGljOgorICAgICB7CisgICAgICAgICByZXByb3RlY3RSZWdpb24oc3RhcnQsIHNpemUsIEV4ZWN1dGFibGUpOworICAgICB9CisrI2VsaWYgV1RGX0NQVV9BQVJDSDY0ICYmIFdURl9QTEFURk9STV9MSU5VWAorKyAgICBzdGF0aWMgdm9pZCBjYWNoZUZsdXNoKHZvaWQqIGNvZGUsIHNpemVfdCBzaXplKQorKyAgICB7CisrICAgICAgICBpbnRwdHJfdCBlbmQgPSByZWludGVycHJldF9jYXN0PGludHB0cl90Pihjb2RlKSArIHNpemU7CisrICAgICAgICBfX2J1aWx0aW5fX19jbGVhcl9jYWNoZShyZWludGVycHJldF9jYXN0PGNoYXIqPihjb2RlKSwgcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oZW5kKSk7CisrICAgIH0KKyAjZWxzZQorICAgICBzdGF0aWMgdm9pZCBtYWtlV3JpdGFibGUodm9pZCosIHNpemVfdCkge30KKyAgICAgc3RhdGljIHZvaWQgbWFrZUV4ZWN1dGFibGUodm9pZCosIHNpemVfdCkge30KK2RpZmYgLS1naXQgYS9qcy9zcmMvYXNzZW1ibGVyL3d0Zi9QbGF0Zm9ybS5oIGIvanMvc3JjL2Fzc2VtYmxlci93dGYvUGxhdGZvcm0uaAoraW5kZXggMGM4NDg5Ni4uZTg3NjNhNyAxMDA2NDQKKy0tLSBhL2pzL3NyYy9hc3NlbWJsZXIvd3RmL1BsYXRmb3JtLmgKKysrKyBiL2pzL3NyYy9hc3NlbWJsZXIvd3RmL1BsYXRmb3JtLmgKK0BAIC0zMjUsNiArMzI1LDEwIEBACisgI2RlZmluZSBXVEZfVEhVTUJfQVJDSF9WRVJTSU9OIDAKKyAjZW5kaWYKKyAKKysvKiBDUFUoQUFyY2g2NCkgLSA2NC1iaXQgQVJNICovCisrI2lmIGRlZmluZWQoX19hYXJjaDY0X18pCisrI2RlZmluZSBXVEZfQ1BVX0FBUkNINjQgMQorKyNlbmRpZgorIAorIC8qIFdURl9DUFVfQVJNVjVfT1JfTE9XRVIgLSBBUk0gaW5zdHJ1Y3Rpb24gc2V0IHY1IG9yIGVhcmxpZXIgKi8KKyAvKiBPbiBBUk12NSBhbmQgYmVsb3cgdGhlIG5hdHVyYWwgYWxpZ25tZW50IGlzIHJlcXVpcmVkLiAKK2RpZmYgLS1naXQgYS9qcy9zcmMvY29uZmlndXJlLmluIGIvanMvc3JjL2NvbmZpZ3VyZS5pbgoraW5kZXggNjRjNzYwNi4uMDY3M2FjYSAxMDA2NDQKKy0tLSBhL2pzL3NyYy9jb25maWd1cmUuaW4KKysrKyBiL2pzL3NyYy9jb25maWd1cmUuaW4KK0BAIC0xMTIxLDYgKzExMjEsMTAgQEAgYXJtKikKKyAgICAgQ1BVX0FSQ0g9YXJtCisgICAgIDs7CisgCisrYWFyY2g2NCkKKysgICAgQ1BVX0FSQ0g9YWFyY2g2NAorKyAgICA7OworKworIG1pcHN8bWlwc2VsKQorICAgICBDUFVfQVJDSD0ibWlwcyIKKyAgICAgOzsKK2RpZmYgLS1naXQgYS9tZmJ0L2RvdWJsZS1jb252ZXJzaW9uL3V0aWxzLmggYi9tZmJ0L2RvdWJsZS1jb252ZXJzaW9uL3V0aWxzLmgKK2luZGV4IDBlZWMyZDkuLmZlMjZkYWIgMTAwNjQ0CistLS0gYS9tZmJ0L2RvdWJsZS1jb252ZXJzaW9uL3V0aWxzLmgKKysrKyBiL21mYnQvZG91YmxlLWNvbnZlcnNpb24vdXRpbHMuaAorQEAgLTU4LDYgKzU4LDcgQEAKKyAgICAgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykgfHwgXAorICAgICBkZWZpbmVkKF9fc3BhcmNfXykgfHwgZGVmaW5lZChfX3NwYXJjKSB8fCBkZWZpbmVkKF9fczM5MF9fKSB8fCBcCisgICAgIGRlZmluZWQoX19TSDRfXykgfHwgZGVmaW5lZChfX2FscGhhX18pIHx8IFwKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgXAorICAgICBkZWZpbmVkKF9NSVBTX0FSQ0hfTUlQUzMyUjIpCisgI2RlZmluZSBET1VCTEVfQ09OVkVSU0lPTl9DT1JSRUNUX0RPVUJMRV9PUEVSQVRJT05TIDEKKyAjZWxpZiBkZWZpbmVkKF9NX0lYODYpIHx8IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19pMzg2KQorLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDA0LW1vemJ1Zzc0NjExMi1uby1kZWNvbW1pdC1vbi1sYXJnZS1wYWdlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDQtbW96YnVnNzQ2MTEyLW5vLWRlY29tbWl0LW9uLWxhcmdlLXBhZ2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiZDM1ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDA0LW1vemJ1Zzc0NjExMi1uby1kZWNvbW1pdC1vbi1sYXJnZS1wYWdlcy5wYXRjaApAQCAtMCwwICsxLDEwMyBAQAorRnJvbSAwMTI4YzVhOWVlZWUwZDNmYzBkZWI5MTI5ZGQyMGViNzkzMzhjOGY0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuLmtvb2lAbGluYXJvLm9yZz4KK0RhdGU6IE1vbiwgMiBNYXIgMjAxNSAxOTowODo1OSArMDgwMAorU3ViamVjdDogW1BBVENIIDQvNV0gbW96YnVnNzQ2MTEyLW5vLWRlY29tbWl0LW9uLWxhcmdlLXBhZ2VzCisKKy0tLQorVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKKyBqcy9zcmMvZ2MvSGVhcC5oIHwgMTUgKysrKysrKysrKy0tLS0tCisganMvc3JjL2pzZ2MuY3BwICB8IDE1ICsrKysrKysrKysrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2pzL3NyYy9nYy9IZWFwLmggYi9qcy9zcmMvZ2MvSGVhcC5oCitpbmRleCBiOGY4Yzc4Li4xY2ZkMjY5IDEwMDY0NAorLS0tIGEvanMvc3JjL2djL0hlYXAuaAorKysrIGIvanMvc3JjL2djL0hlYXAuaAorQEAgLTEwMywyNiArMTAzLDMxIEBAIHN0cnVjdCBDZWxsCisgfTsKKyAKKyAvKgorLSAqIFBhZ2Ugc2l6ZSBpcyA0MDk2IGJ5IGRlZmF1bHQsIGV4Y2VwdCBmb3IgU1BBUkMsIHdoZXJlIGl0IGlzIDgxOTIuCisrICogUGFnZSBzaXplIG11c3QgYmUgc3RhdGljIHRvIHN1cHBvcnQgb3VyIGFyZW5hIHBvaW50ZXIgb3B0aW1pemF0aW9ucywgc28gd2UKKysgKiBhcmUgZm9yY2VkIHRvIHN1cHBvcnQgZWFjaCBwbGF0Zm9ybSB3aXRoIG5vbi00MDk2IHBhZ2VzIGFzIGEgc3BlY2lhbCBjYXNlLgorKyAqIE5vdGU6IFRoZSBmcmVlbGlzdCBzdXBwb3J0cyBhIG1heGltdW0gYXJlbmEgc2hpZnQgb2YgMTUuCisgICogTm90ZTogRG8gbm90IHVzZSBKU19DUFVfU1BBUkMgaGVyZSwgdGhpcyBoZWFkZXIgaXMgdXNlZCBvdXRzaWRlIEpTLgorICAqIEJ1ZyA2OTIyNjc6IE1vdmUgcGFnZSBzaXplIGRlZmluaXRpb24gdG8gZ2MvTWVtb3J5LmggYW5kIGluY2x1ZGUgaXQKKyAgKiAgICAgICAgICAgICBkaXJlY3RseSBvbmNlIGpzZ2MuaCBpcyBubyBsb25nZXIgYW4gaW5zdGFsbGVkIGhlYWRlci4KKyAgKi8KKyAjaWYgZGVmaW5lZChTT0xBUklTKSAmJiAoZGVmaW5lZChfX3NwYXJjKSB8fCBkZWZpbmVkKF9fc3BhcmN2OSkpCisgY29uc3Qgc2l6ZV90IFBhZ2VTaGlmdCA9IDEzOworK2NvbnN0IHNpemVfdCBBcmVuYVNoaWZ0ID0gUGFnZVNoaWZ0OworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjX18pCisrY29uc3Qgc2l6ZV90IFBhZ2VTaGlmdCA9IDE2OworK2NvbnN0IHNpemVfdCBBcmVuYVNoaWZ0ID0gMTI7CisgI2Vsc2UKKyBjb25zdCBzaXplX3QgUGFnZVNoaWZ0ID0gMTI7CisrY29uc3Qgc2l6ZV90IEFyZW5hU2hpZnQgPSBQYWdlU2hpZnQ7CisgI2VuZGlmCisgY29uc3Qgc2l6ZV90IFBhZ2VTaXplID0gc2l6ZV90KDEpIDw8IFBhZ2VTaGlmdDsKKytjb25zdCBzaXplX3QgQXJlbmFTaXplID0gc2l6ZV90KDEpIDw8IEFyZW5hU2hpZnQ7CisrY29uc3Qgc2l6ZV90IEFyZW5hTWFzayA9IEFyZW5hU2l6ZSAtIDE7CisgCisgY29uc3Qgc2l6ZV90IENodW5rU2hpZnQgPSAyMDsKKyBjb25zdCBzaXplX3QgQ2h1bmtTaXplID0gc2l6ZV90KDEpIDw8IENodW5rU2hpZnQ7CisgY29uc3Qgc2l6ZV90IENodW5rTWFzayA9IENodW5rU2l6ZSAtIDE7CisgCistY29uc3Qgc2l6ZV90IEFyZW5hU2hpZnQgPSBQYWdlU2hpZnQ7CistY29uc3Qgc2l6ZV90IEFyZW5hU2l6ZSA9IFBhZ2VTaXplOworLWNvbnN0IHNpemVfdCBBcmVuYU1hc2sgPSBBcmVuYVNpemUgLSAxOworLQorIC8qCisgICogVGhpcyBpcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgYXJlbmFzIHdlIGFsbG93IGluIHRoZSBGcmVlQ29tbWl0dGVkIHN0YXRlCisgICogYmVmb3JlIHdlIHRyaWdnZXIgYSBHQ19TSFJJTksgdG8gcmVsZWFzZSBmcmVlIGFyZW5hcyB0byB0aGUgT1MuCitkaWZmIC0tZ2l0IGEvanMvc3JjL2pzZ2MuY3BwIGIvanMvc3JjL2pzZ2MuY3BwCitpbmRleCBiM2NhZjA1Li5hMjU4ZDJkIDEwMDY0NAorLS0tIGEvanMvc3JjL2pzZ2MuY3BwCisrKysgYi9qcy9zcmMvanNnYy5jcHAKK0BAIC0yNTEsNiArMjUxLDEzIEBAIHN0YXRpYyBjb25zdCBpbnQgQmFja2dyb3VuZFBoYXNlTGVuZ3RoW10gPSB7CisgICAgIHNpemVvZihCYWNrZ3JvdW5kUGhhc2VTdHJpbmdzKSAvIHNpemVvZihBbGxvY0tpbmQpCisgfTsKKyAKKysvKiBVbnVzZWQgbWVtb3J5IGRlY29tbWl0aW5nIHJlcXVpcmVzIHRoZSBhcmVuYSBzaXplIG1hdGNoIHRoZSBwYWdlIHNpemUuICovCisrc3RhdGljIGJvb2wKKytEZWNvbW1pdEVuYWJsZWQoKQorK3sKKysgICAgcmV0dXJuIFBhZ2VTaXplID09IEFyZW5hU2l6ZTsKKyt9CisrCisgI2lmZGVmIERFQlVHCisgdm9pZAorIEFyZW5hSGVhZGVyOjpjaGVja1N5bmNocm9uaXplZFdpdGhGcmVlTGlzdCgpIGNvbnN0CitAQCAtNzQyLDcgKzc0OSw4IEBAIENodW5rOjpmZXRjaE5leHREZWNvbW1pdHRlZEFyZW5hKCkKKyAgICAgZGVjb21taXR0ZWRBcmVuYXMudW5zZXQob2Zmc2V0KTsKKyAKKyAgICAgQXJlbmEgKmFyZW5hID0gJmFyZW5hc1tvZmZzZXRdOworLSAgICBNYXJrUGFnZXNJblVzZShhcmVuYSwgQXJlbmFTaXplKTsKKysgICAgaWYgKERlY29tbWl0RW5hYmxlZCgpKQorKyAgICAgICAgTWFya1BhZ2VzSW5Vc2UoYXJlbmEsIEFyZW5hU2l6ZSk7CisgICAgIGFyZW5hLT5haGVhZGVyLnNldEFzTm90QWxsb2NhdGVkKCk7CisgCisgICAgIHJldHVybiAmYXJlbmEtPmFoZWFkZXI7CitAQCAtMjczMSw3ICsyNzM5LDcgQEAgRGVjb21taXRBcmVuYXNGcm9tQXZhaWxhYmxlTGlzdChKU1J1bnRpbWUgKnJ0LCBDaHVuayAqKmF2YWlsYWJsZUxpc3RIZWFkcCkKKyAgICAgICAgICAgICAgICAgY2h1bmstPnJlbW92ZUZyb21BdmFpbGFibGVMaXN0KCk7CisgCisgICAgICAgICAgICAgc2l6ZV90IGFyZW5hSW5kZXggPSBDaHVuazo6YXJlbmFJbmRleChhaGVhZGVyLT5hcmVuYUFkZHJlc3MoKSk7CistICAgICAgICAgICAgYm9vbCBvazsKKysgICAgICAgICAgICBib29sIG9rID0gdHJ1ZTsKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAqIElmIHRoZSBtYWluIHRocmVhZCB3YWl0cyBmb3IgdGhlIGRlY29tbWl0IHRvIGZpbmlzaCwgc2tpcAorQEAgLTI3NDEsNyArMjc0OSw4IEBAIERlY29tbWl0QXJlbmFzRnJvbUF2YWlsYWJsZUxpc3QoSlNSdW50aW1lICpydCwgQ2h1bmsgKiphdmFpbGFibGVMaXN0SGVhZHApCisgICAgICAgICAgICAgICAgIE1heWJlPEF1dG9VbmxvY2tHQz4gbWF5YmVVbmxvY2s7CisgICAgICAgICAgICAgICAgIGlmICghcnQtPmlzSGVhcEJ1c3koKSkKKyAgICAgICAgICAgICAgICAgICAgIG1heWJlVW5sb2NrLmNvbnN0cnVjdChydCk7CistICAgICAgICAgICAgICAgIG9rID0gTWFya1BhZ2VzVW51c2VkKGFoZWFkZXItPmdldEFyZW5hKCksIEFyZW5hU2l6ZSk7CisrICAgICAgICAgICAgICAgIGlmIChEZWNvbW1pdEVuYWJsZWQoKSkKKysgICAgICAgICAgICAgICAgICAgIG9rID0gTWFya1BhZ2VzVW51c2VkKGFoZWFkZXItPmdldEFyZW5hKCksIEFyZW5hU2l6ZSk7CisgICAgICAgICAgICAgfQorIAorICAgICAgICAgICAgIGlmIChvaykgeworLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDA1LWFhcmNoNjQtNjRrLXBhZ2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDA1LWFhcmNoNjQtNjRrLXBhZ2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM5OWVjYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzLzAwMDUtYWFyY2g2NC02NGstcGFnZS5wYXRjaApAQCAtMCwwICsxLDQ0IEBACitGcm9tIDljNDI5MjBjMmI2MzVhMzk5YmQxZjkzODMzZWZkZWIxNjk2ZjE3ZWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW4ua29vaUBsaW5hcm8ub3JnPgorRGF0ZTogTW9uLCAyIE1hciAyMDE1IDE5OjA5OjU3ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggNS81XSBhYXJjaDY0LTY0ay1wYWdlCisKKy0tLQorVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKKyBqcy9zcmMvZ2MvSGVhcC5oICAgICB8IDIgKy0KKyBqcy9zcmMvZ2MvTWVtb3J5LmNwcCB8IDMgKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2pzL3NyYy9nYy9IZWFwLmggYi9qcy9zcmMvZ2MvSGVhcC5oCitpbmRleCAxY2ZkMjY5Li5mNGRiY2RhIDEwMDY0NAorLS0tIGEvanMvc3JjL2djL0hlYXAuaAorKysrIGIvanMvc3JjL2djL0hlYXAuaAorQEAgLTExMyw3ICsxMTMsNyBAQCBzdHJ1Y3QgQ2VsbAorICNpZiBkZWZpbmVkKFNPTEFSSVMpICYmIChkZWZpbmVkKF9fc3BhcmMpIHx8IGRlZmluZWQoX19zcGFyY3Y5KSkKKyBjb25zdCBzaXplX3QgUGFnZVNoaWZ0ID0gMTM7CisgY29uc3Qgc2l6ZV90IEFyZW5hU2hpZnQgPSBQYWdlU2hpZnQ7CistI2VsaWYgZGVmaW5lZChfX3Bvd2VycGNfXykKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwY19fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKQorIGNvbnN0IHNpemVfdCBQYWdlU2hpZnQgPSAxNjsKKyBjb25zdCBzaXplX3QgQXJlbmFTaGlmdCA9IDEyOworICNlbHNlCitkaWZmIC0tZ2l0IGEvanMvc3JjL2djL01lbW9yeS5jcHAgYi9qcy9zcmMvZ2MvTWVtb3J5LmNwcAoraW5kZXggNWIzODZhMi4uZTVhZDAxOCAxMDA2NDQKKy0tLSBhL2pzL3NyYy9nYy9NZW1vcnkuY3BwCisrKysgYi9qcy9zcmMvZ2MvTWVtb3J5LmNwcAorQEAgLTMwMiw4ICszMDIsMTEgQEAgR2V0UGFnZUZhdWx0Q291bnQoKQorIHZvaWQKKyBJbml0TWVtb3J5U3Vic3lzdGVtKCkKKyB7CisrICAgIC8qIGFhcmNoNjQgbWF5IGhhdmUgNjRLQiBvciA0S0IgcGFnZXMgKi8KKysjaWZuZGVmIF9fYWFyY2g2NF9fCisgICAgIGlmIChzaXplX3Qoc3lzY29uZihfU0NfUEFHRVNJWkUpKSAhPSBQYWdlU2l6ZSkKKyAgICAgICAgIE1PWl9DUkFTSCgpOworKyNlbmRpZgorIH0KKyAKKyB2b2lkICoKKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAxMC1maXgtY3Jvc3MtY29tcGlsYXRpb24tb24taTU4Ni10YXJnZXRzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvMDAxMC1maXgtY3Jvc3MtY29tcGlsYXRpb24tb24taTU4Ni10YXJnZXRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0MzJlMWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy8wMDEwLWZpeC1jcm9zcy1jb21waWxhdGlvbi1vbi1pNTg2LXRhcmdldHMucGF0Y2gKQEAgLTAsMCArMSw0NiBAQAorRnJvbSBhNDUyMTM4YTFkZDI3NGJmYWQzODFhNzAxNzI5NzgzMzYwZGM4NmZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFjaWVqIEJvcnplY2tpIDxtYWNpZWouYm9yemVja2lAb3Blbi1ybmQucGw+CitEYXRlOiBUdWUsIDUgSmFuIDIwMTYgMjI6MDQ6MTcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IGNyb3NzIGNvbXBpbGF0aW9uIG9uIGk1ODYgdGFyZ2V0cworCitSZW1vdmUgb2ZmZW5kaW5nIC1XbCwtcnBhdGgtbGluayB0aGF0IG1heSBjYXVzZSBob3N0IGxpYnJhcmllcyB0byBiZSBwaWNrZWQKK2R1cmluZyBsaW5raW5nLiBUaGUgcGF0Y2ggYXBwbGllcyBhIGZpeCB0byBjb25maWd1cmUuaW4uIFNvIGFzIG5vdCB0bworcmVnZW5lcmF0ZSBjb25maWd1cmUsIHNpbWlsYXIgZml4IGlzIGFwcGxpZWQgdGhlcmUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IE1hY2llaiBCb3J6ZWNraSA8bWFjaWVqLmJvcnplY2tpQG9wZW4tcm5kLnBsPgorLS0tCisganMvc3JjL2NvbmZpZ3VyZSAgICB8IDIgKy0KKyBqcy9zcmMvY29uZmlndXJlLmluIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvanMvc3JjL2NvbmZpZ3VyZSBiL2pzL3NyYy9jb25maWd1cmUKK2luZGV4IGQwMTliMGZkYmE0NDIzMzU5NjU0MWRlOTQzMDcwMTBkODVhOGUzMmUuLjVhYTQwZjc1N2EzZGJiN2Q2ODg3MTc1MDQ2ZjQ0MjEyYzE1YzJlYWMgMTAwNzU1CistLS0gYS9qcy9zcmMvY29uZmlndXJlCisrKysgYi9qcy9zcmMvY29uZmlndXJlCitAQCAtNTU1NSw3ICs1NTU1LDcgQEAgVEFSR0VUX01EX0FSQ0g9dW5peAorIERJUkVOVF9JTk89ZF9pbm8KKyBNT1pfVVNFUl9ESVI9Ii5tb3ppbGxhIgorIAorLU1PWl9GSVhfTElOS19QQVRIUz0nLVdsLC1ycGF0aC1saW5rLCQoTElCWFVMX0RJU1QpL2JpbiAtV2wsLXJwYXRoLWxpbmssJChwcmVmaXgpL2xpYicKKytNT1pfRklYX0xJTktfUEFUSFM9Jy1XbCwtcnBhdGgtbGluaywkKExJQlhVTF9ESVNUKS9iaW4nCisgCisgTU9aX0NPTVBPTkVOVF9OU1BSX0xJQlM9Jy1MJChMSUJYVUxfRElTVCkvYmluICQoTlNQUl9MSUJTKScKKyAKK2RpZmYgLS1naXQgYS9qcy9zcmMvY29uZmlndXJlLmluIGIvanMvc3JjL2NvbmZpZ3VyZS5pbgoraW5kZXggMDY3M2FjYTEyZjZkODMwMzU1NDlhZGUyYTRhODM5MDZiZjkxZjBmMC4uMzliMjI3MjRmOTUzNWFjMWE2ZGJhMDQ2NThjOTFlNGVmNjY3ZmM0NyAxMDA2NDQKKy0tLSBhL2pzL3NyYy9jb25maWd1cmUuaW4KKysrKyBiL2pzL3NyYy9jb25maWd1cmUuaW4KK0BAIC05MTksNyArOTE5LDcgQEAgVEFSR0VUX01EX0FSQ0g9dW5peAorIERJUkVOVF9JTk89ZF9pbm8KKyBNT1pfVVNFUl9ESVI9Ii5tb3ppbGxhIgorIAorLU1PWl9GSVhfTElOS19QQVRIUz0nLVdsLC1ycGF0aC1saW5rLCQoTElCWFVMX0RJU1QpL2JpbiAtV2wsLXJwYXRoLWxpbmssJChwcmVmaXgpL2xpYicKKytNT1pfRklYX0xJTktfUEFUSFM9Jy1XbCwtcnBhdGgtbGluaywkKExJQlhVTF9ESVNUKS9iaW4nCisgCisgTU9aX0NPTVBPTkVOVF9OU1BSX0xJQlM9Jy1MJChMSUJYVUxfRElTVCkvYmluICQoTlNQUl9MSUJTKScKKyAKKy0tIAorMi41LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvZml4LXRoZS1jb21waWxlLWVycm9yLW9mLXBvd2VycGM2NC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzL2ZpeC10aGUtY29tcGlsZS1lcnJvci1vZi1wb3dlcnBjNjQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDNjNDU5MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzL2ZpeC10aGUtY29tcGlsZS1lcnJvci1vZi1wb3dlcnBjNjQucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorZml4IHRoZSBjb21waWxlIGVycm9yIG9mIHBvd2VycGM2NAorIAorVXBzdHJlYW0tc3RhdHVzOiBBY2NlcHRlZAorCisgZml4IHRoZSBmb2xsb3dpbmcgZXJyb3IKKyB8ZXJyb3I6ICdqc3V3b3JkJyBkb2VzIG5vdCBuYW1lIGEgdHlwZQorCisKKy0tLSBhL2pzL3NyYy9qc3ZhbC5ob2xkCTIwMTUtMDQtMjQgMDE6MTU6MDYuNjkyOTcwNzMxIC0wNTAwCisrKysgYi9qcy9zcmMvanN2YWwuaAkyMDE1LTA0LTI0IDAxOjE1OjQxLjc5Mjk2OTQ3OCAtMDUwMAorQEAgLTMwNCw3ICszMDQsNiBAQAorICAgICAgICAgICAgIGludDMyX3QgICAgICAgIGkzMjsKKyAgICAgICAgICAgICB1aW50MzJfdCAgICAgICB1MzI7CisgICAgICAgICAgICAgSlNXaHlNYWdpYyAgICAgd2h5OworLSAgICAgICAgICAgIGpzdXdvcmQgICAgICAgIHdvcmQ7CisgICAgICAgICB9IHBheWxvYWQ7CisgICAgIH0gczsKKyAgICAgZG91YmxlIGFzRG91YmxlOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvZml4X21pbGVzdG9uZV9jb21waWxlX2lzc3VlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anMvZml4X21pbGVzdG9uZV9jb21waWxlX2lzc3VlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiZGUwMWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy9maXhfbWlsZXN0b25lX2NvbXBpbGVfaXNzdWUucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorZml4IHRoZSBjb21waWxlIGVycm9yIGRvIHRvIHBlcmwgdXBkYXRlCisKK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZQorCisKK1NpZ25lZC1vZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKworSW5kZXg6IHNyYy9jb25maWcvbWlsZXN0b25lLnBsCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gc3JjLm9yaWcvY29uZmlnL21pbGVzdG9uZS5wbAorKysrIHNyYy9jb25maWcvbWlsZXN0b25lLnBsCitAQCAtNTUsNyArNTUsNyBAQCAkTUlMRVNUT05FX0ZJTEUgID0gIiRUT1BTUkNESVIvY29uZmlnL21pCisgIworIG15ICRtaWxlc3RvbmUgPSBNb3o6Ok1pbGVzdG9uZTo6Z2V0T2ZmaWNpYWxNaWxlc3RvbmUoJE1JTEVTVE9ORV9GSUxFKTsKKyAKKy1pZiAoZGVmaW5lZChAVEVNUExBVEVfRklMRSkpIHsKKytpZiAoQFRFTVBMQVRFX0ZJTEUpIHsKKyAgIG15ICRURklMRTsKKyAKKyAgIGZvcmVhY2ggJFRGSUxFIChAVEVNUExBVEVfRklMRSkgewpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anNfMTcuMC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anNfMTcuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyZDU2OTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqc18xNy4wLjAuYmIKQEAgLTAsMCArMSw3MyBAQAorU1VNTUFSWSA9ICJTcGlkZXJNb25rZXkgaXMgTW96aWxsYSdzIEphdmFTY3JpcHQgZW5naW5lIHdyaXR0ZW4gaW4gQy9DKysiCitMSUNFTlNFID0gIk1QTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi8uLi9MSUNFTlNFO21kNT04MTVjYTU5OWM5ZGYyNDdhMGM3ZjYxOWJhYjEyM2RhZCIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly9mdHAubW96aWxsYS5vcmcvcHViL21vemlsbGEub3JnL2pzLyR7QlBOfSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovLzAwMDEtbW96anMxNy4wLjAtZml4LXRoZS1jb21waWxlLWJ1Zy1vZi1wb3dlcnBjLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1qcy5wYy5pbi1kby1ub3QtaW5jbHVkZS1SZXF1aXJlZERlZmluZXMuaC1mb3ItZGVwZW5kLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1Nb3ZlLUpTX0JZVEVTX1BFUl9XT1JELW91dC1vZi1jb25maWcuaC5wYXRjaDtwYXRjaGRpcj0uLi8uLi8gXAorICAgIGZpbGU6Ly8wMDAzLUFkZC1BQXJjaDY0LXN1cHBvcnQucGF0Y2g7cGF0Y2hkaXI9Li4vLi4vIFwKKyAgICBmaWxlOi8vMDAwNC1tb3pidWc3NDYxMTItbm8tZGVjb21taXQtb24tbGFyZ2UtcGFnZXMucGF0Y2g7cGF0Y2hkaXI9Li4vLi4vIFwKKyAgICBmaWxlOi8vMDAwNS1hYXJjaDY0LTY0ay1wYWdlLnBhdGNoO3BhdGNoZGlyPS4uLy4uLyBcCisgICAgZmlsZTovLzAwMDEtcmVnZW5lcmF0ZS1jb25maWd1cmUucGF0Y2g7cGF0Y2hkaXI9Li4vLi4vIFwgCisgICAgZmlsZTovL2ZpeC10aGUtY29tcGlsZS1lcnJvci1vZi1wb3dlcnBjNjQucGF0Y2g7cGF0Y2hkaXI9Li4vLi4vIFwKKyAgICBmaWxlOi8vZml4X21pbGVzdG9uZV9jb21waWxlX2lzc3VlLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAxMC1maXgtY3Jvc3MtY29tcGlsYXRpb24tb24taTU4Ni10YXJnZXRzLnBhdGNoO3BhdGNoZGlyPS4uLy4uLyBcCisgICAgZmlsZTovLzAwMDEtYWRkLXN1cHBvcnQtZm9yLWJpZy1lbmRpYW4tMzJiaXQtQVJNLnBhdGNoO3BhdGNoZGlyPS4uLy4uLyBcCisgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjIwYjZmOGYxMTQwZWY2ZTQ3ZGFhM2IxNjk2NWM5MjAyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMyMWU5NjRmZTkzODY3ODVkM2JmODA4NzA2NDBmMmZhMWM2ODNlMzJmZTk4OGVlYjIwMWIwNDQ3MWMxNzJmYmEiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0ke1BWfS9qcy9zcmMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZQorCitERVBFTkRTICs9ICJuc3ByIHpsaWIiCisKKyMgbnNwcidzIHBhY2thZ2UtY29uZmlnIGlzIGlnbm9yZWQgc28gc2V0IGxpYnMgbWFudWFsbHkKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tdGFyZ2V0PSR7VEFSR0VUX1NZU30gXAorICAgIC0taG9zdD0ke0JVSUxEX1NZU30gXAorICAgIC0tYnVpbGQ9JHtCVUlMRF9TWVN9IFwKKyAgICAtLXByZWZpeD0ke3ByZWZpeH0gXAorICAgIC0tbGliZGlyPSR7bGliZGlyfSBcCisgICAgLS13aXRoLW5zcHItbGlicz0nLWxwbGRzNCAtbHBsYzQgLWxuc3ByNCcgXAorICAgIC0tZW5hYmxlLXRocmVhZHNhZmUgXAorICAgIC0tZGlzYWJsZS1zdGF0aWMgXAorIgorRVhUUkFfT0VDT05GX2FwcGVuZF9hcm12NCArPSAiIFwKKyAgICAtLWRpc2FibGUtbWV0aG9kaml0IFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXggLS14LWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0teC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sLS13aXRob3V0LXgsdmlydHVhbC9saWJ4MTEiCisKKyMgbW96anMgcmVxdWlyZXMgYXV0b3JlY29uZiAyLjEzCitkb19jb25maWd1cmUoKSB7CisgICAgKCBjZCAke1N9IAorICAgICAgZ251LWNvbmZpZ2l6ZSAtLWZvcmNlCisgICAgICBtdiBjb25maWcuZ3Vlc3MgY29uZmlnLnN1YiBidWlsZC9hdXRvY29uZiApCisgICAgJHtTfS9jb25maWd1cmUgJHtFWFRSQV9PRUNPTkZ9Cit9CisKKyMgcGF0Y2guYmJjbGFzcyB3aWxsIHRyeSB0byBhcHBseSB0aGUgcGF0Y2hlcyBhbHJlYWR5IHByZXNlbnQgYW5kIGZhaWwsIHNvIGNsZWFuIHRoZW0gb3V0Citkb191bnBhY2soKSB7CisgICAgdGFyIC14dmYgJHtETF9ESVJ9L21vempzMTcuMC4wLnRhci5neiAtQyAke1dPUktESVJ9LworICAgIHJtIC1yZiAke1dPUktESVJ9LyR7QlBOfSR7UFZ9L3BhdGNoZXMKK30KKworCitQQUNLQUdFUyA9KyAibGliJHtQTn0iCitGSUxFU19saWIke1BOfSArPSAiJHtsaWJkaXJ9L2xpYiouc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7YmluZGlyfS9qczE3LWNvbmZpZyIKKworIyBGYWlscyB0byBidWlsZCB3aXRoIHRodW1iLTEgKHFlbXVhcm0pCisjfCB7c3RhbmRhcmQgaW5wdXR9OiBBc3NlbWJsZXIgbWVzc2FnZXM6CisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxNzI6IEVycm9yOiBzaGlmdHMgaW4gQ01QL01PViBpbnN0cnVjdGlvbnMgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHVuaWZpZWQgc3ludGF4IC0tIGBtb3YgcjIscjEsTFNSIzIwJworI3wge3N0YW5kYXJkIGlucHV0fToyMTczOiBFcnJvcjogdW5zaGlmdGVkIHJlZ2lzdGVyIHJlcXVpcmVkIC0tIGBiaWMgcjIscjIsIygxPDwxMSknCisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxNzQ6IEVycm9yOiB1bnNoaWZ0ZWQgcmVnaXN0ZXIgcmVxdWlyZWQgLS0gYG9yciByMSxyMSwjKDE8PDIwKScKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjE3NjogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWQgaW4gVGh1bWIxNiBtb2RlIC0tIGBzdWJzIHIyLHIyLCMweDMwMCcKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjE3ODogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWQgaW4gVGh1bWIxNiBtb2RlIC0tIGBzdWJzIHI1LHIyLCM1MicKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbmFuYS9uYW5hL2NoYW5nZS1tYW5kaXItdG8tREVTVERJUi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL25hbmEvbmFuYS9jaGFuZ2UtbWFuZGlyLXRvLURFU1RESVIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjUzYTdlNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL25hbmEvbmFuYS9jaGFuZ2UtbWFuZGlyLXRvLURFU1RESVIucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSA3YjA0YzQ4NzNjMGE0NTEwYmRhZjkxNDViZjAxY2EzNGIzNTQ5ZmRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVGh1LCA0IERlYyAyMDE0IDAzOjUwOjE5ICswOTAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBjaGFuZ2UgbWFuZGlyIHRvIERFU1RESVIKKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIG1hbi9NYWtlZmlsZS5hbSB8IDIgKy0KKyBtYW4vTWFrZWZpbGUuaW4gfCAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tYW4vTWFrZWZpbGUuYW0gYi9tYW4vTWFrZWZpbGUuYW0KK2luZGV4IDgwZDI0ZDguLjk0NGJjNTcgMTAwNjQ0CistLS0gYS9tYW4vTWFrZWZpbGUuYW0KKysrKyBiL21hbi9NYWtlZmlsZS5hbQorQEAgLTE2LDUgKzE2LDUgQEAgaW5zdGFsbC1kYXRhLWxvY2FsOgorIAlAc2VjdD0xOwkJCQlcCisgCWluc3Q9YGVjaG8gIm5hbmEiIHwgc2VkICckKHRyYW5zZm9ybSknYC4xOyBcCisgCWVjaG8gaW5zdGFsbGluZyBuYW5hLjEgYXMgJChtYW5kaXIpL21hbiQkc2VjdC8kJGluc3Q7IFwKKy0JJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS9uYW5hLjEgJChtYW5kaXIpL21hbiQkc2VjdC8kJGluc3QKKysJJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS9uYW5hLjEgJChERVNURElSKSQobWFuZGlyKS9tYW4kJHNlY3QvJCRpbnN0CisgCitkaWZmIC0tZ2l0IGEvbWFuL01ha2VmaWxlLmluIGIvbWFuL01ha2VmaWxlLmluCitpbmRleCA2MDA4YjIwLi42NGJiODRjIDEwMDY0NAorLS0tIGEvbWFuL01ha2VmaWxlLmluCisrKysgYi9tYW4vTWFrZWZpbGUuaW4KK0BAIC0yNzQsNyArMjc0LDcgQEAgaW5zdGFsbC1kYXRhLWxvY2FsOgorIAlAc2VjdD0xOwkJCQlcCisgCWluc3Q9YGVjaG8gIm5hbmEiIHwgc2VkICckKHRyYW5zZm9ybSknYC4xOyBcCisgCWVjaG8gaW5zdGFsbGluZyBuYW5hLjEgYXMgJChtYW5kaXIpL21hbiQkc2VjdC8kJGluc3Q7IFwKKy0JJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS9uYW5hLjEgJChtYW5kaXIpL21hbiQkc2VjdC8kJGluc3QKKysJJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS9uYW5hLjEgJChERVNURElSKSQobWFuZGlyKS9tYW4kJHNlY3QvJCRpbnN0CisgCisgIyBUZWxsIHZlcnNpb25zIFszLjU5LDMuNjMpIG9mIEdOVSBtYWtlIHRvIG5vdCBleHBvcnQgYWxsIHZhcmlhYmxlcy4KKyAjIE90aGVyd2lzZSBhIHN5c3RlbSBsaW1pdCAoZm9yIFN5c1YgYXQgbGVhc3QpIG1heSBiZSBleGNlZWRlZC4KKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9uYW5hL25hbmEvbW9kaWZ5LWFjaW5jbHVkZS5tNC1hbmQtY29uZmlndXJlLmluLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbmFuYS9uYW5hL21vZGlmeS1hY2luY2x1ZGUubTQtYW5kLWNvbmZpZ3VyZS5pbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWIyNTQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbmFuYS9uYW5hL21vZGlmeS1hY2luY2x1ZGUubTQtYW5kLWNvbmZpZ3VyZS5pbi5wYXRjaApAQCAtMCwwICsxLDEzNyBAQAorRnJvbSA2NzllMzNiZmU3NGQ3MTMyNDBmZGQ5MzA2MDJiOTkzYjkzN2RjZTM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCAyMyBKYW4gMjAxNSAwMzozMDo0NyArMDkwMAorU3ViamVjdDogW1BBVENIXSBtb2RpZnkgYWNpbmNsdWRlLm00IGFuZCBjb25maWd1cmUuaW4KKwordGhpcyBwYXRjaCBpcyBmcm9tIERlYmlhbiB0byBmaXggYnVpbGQgZXJyb3JzLgorImFjaW5jbHVkZS5tNDozNDogZXJyb3I6IGF1dG9tYXRpYyBkZS1BTlNJLWZpY2F0aW9uCitzdXBwb3J0IGhhcyBiZWVuIHJlbW92ZWQiCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBhY2luY2x1ZGUubTQgfCA3OSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBjb25maWd1cmUuaW4gfCAxMiArKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDc5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWNpbmNsdWRlLm00IGIvYWNpbmNsdWRlLm00CitpbmRleCBlOWU1NTAwLi5kNDY3ZmI1IDEwMDY0NAorLS0tIGEvYWNpbmNsdWRlLm00CisrKysgYi9hY2luY2x1ZGUubTQKK0BAIC0zMCw4MiArMzAsMyBAQCBBQ19TVUJTVCgkMSkKKyAjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCisgIyMgQ2hlY2sgZm9yIGZ1bmN0aW9uIHByb3RvdHlwZXMuICAjIworICMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy1BQ19ERUZVTihmcF9DX1BST1RPVFlQRVMsCistW0FDX1JFUVVJUkUoW0FNX1BST0dfQ0NfU1REQ10pCistQUNfTVNHX0NIRUNLSU5HKFtmb3IgZnVuY3Rpb24gcHJvdG90eXBlc10pCistaWYgdGVzdCAiJGFjX2N2X3Byb2dfY2Nfc3RkYyIgIT0gbm87IHRoZW4KKy0gIEFDX01TR19SRVNVTFQoeWVzKQorLSAgQUNfREVGSU5FKFBST1RPVFlQRVMpCistICBVPSBBTlNJMktOUj0KKy1lbHNlCistICBBQ19NU0dfUkVTVUxUKG5vKQorLSAgVT1fIEFOU0kyS05SPS4vYW5zaTJrbnIKKy1maQorLUFDX1NVQlNUKFUpZG5sCistQUNfU1VCU1QoQU5TSTJLTlIpZG5sCistXSkKKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIEFOU0lmeSB0aGUgQyBjb21waWxlciB3aGVuZXZlciBwb3NzaWJsZS4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy0jIEBkZWZtYWMgQUNfUFJPR19DQ19TVERDCistIyBAbWFpbmRleCBQUk9HX0NDX1NUREMKKy0jIEBvdmluZGV4IENDCistIyBJZiB0aGUgQyBjb21waWxlciBpbiBub3QgaW4gQU5TSSBDIG1vZGUgYnkgZGVmYXVsdCwgdHJ5IHRvIGFkZCBhbiBvcHRpb24KKy0jIHRvIG91dHB1dCB2YXJpYWJsZSBAY29kZXtDQ30gdG8gbWFrZSBpdCBzby4gIFRoaXMgbWFjcm8gdHJpZXMgdmFyaW91cworLSMgb3B0aW9ucyB0aGF0IHNlbGVjdCBBTlNJIEMgb24gc29tZSBzeXN0ZW0gb3IgYW5vdGhlci4gIEl0IGNvbnNpZGVycyB0aGUKKy0jIGNvbXBpbGVyIHRvIGJlIGluIEFOU0kgQyBtb2RlIGlmIGl0IGRlZmluZXMgQGNvZGV7X19TVERDX199IHRvIDEgYW5kCistIyBoYW5kbGVzIGZ1bmN0aW9uIHByb3RvdHlwZXMgY29ycmVjdGx5LgorLSMKKy0jIElmIHlvdSB1c2UgdGhpcyBtYWNybywgeW91IHNob3VsZCBjaGVjayBhZnRlciBjYWxsaW5nIGl0IHdoZXRoZXIgdGhlIEMKKy0jIGNvbXBpbGVyIGhhcyBiZWVuIHNldCB0byBhY2NlcHQgQU5TSSBDOyBpZiBub3QsIHRoZSBzaGVsbCB2YXJpYWJsZQorLSMgQGNvZGV7YWNfY3ZfcHJvZ19jY19zdGRjfSBpcyBzZXQgdG8gQHNhbXB7bm99LiAgSWYgeW91IHdyb3RlIHlvdXIgc291cmNlCistIyBjb2RlIGluIEFOU0kgQywgeW91IGNhbiBtYWtlIGFuIHVuLUFOU0lmaWVkIGNvcHkgb2YgaXQgYnkgdXNpbmcgdGhlCistIyBwcm9ncmFtIEBjb2Rle2Fuc2kya25yfSwgd2hpY2ggY29tZXMgd2l0aCBHaG9zdHNjcmlwdC4KKy0jIEBlbmQgZGVmbWFjCistCistQUNfREVGVU4oZnBfUFJPR19DQ19TVERDLAorLVtBQ19NU0dfQ0hFQ0tJTkcoZm9yICR7Q0MtY2N9IG9wdGlvbiB0byBhY2NlcHQgQU5TSSBDKQorLUFDX0NBQ0hFX1ZBTChhY19jdl9wcm9nX2NjX3N0ZGMsCistW2FjX2N2X3Byb2dfY2Nfc3RkYz1ubworLWFjX3NhdmVfQ0ZMQUdTPSIkQ0ZMQUdTIgorLSMgRG9uJ3QgdHJ5IGdjYyAtYW5zaTsgdGhhdCB0dXJucyBvZmYgdXNlZnVsIGV4dGVuc2lvbnMgYW5kCistIyBicmVha3Mgc29tZSBzeXN0ZW1zJyBoZWFkZXIgZmlsZXMuCistIyBBSVgJCQktcWxhbmdsdmw9YW5zaQorLSMgVWx0cml4IGFuZCBPU0YvMQktc3RkMQorLSMgSFAtVVgJCQktQWEgLURfSFBVWF9TT1VSQ0UKKy0jIFNWUjQJCQktWGMKKy1mb3IgYWNfYXJnIGluICIiIC1xbGFuZ2x2bD1hbnNpIC1zdGQxICItQWEgLURfSFBVWF9TT1VSQ0UiIC1YYworLWRvCistICBDRkxBR1M9IiRhY19zYXZlX0NGTEFHUyAkYWNfYXJnIgorLSAgQUNfVFJZX0NPTVBJTEUoCistWyNpZiAhZGVmaW5lZChfX1NURENfXykgfHwgX19TVERDX18gIT0gMQorLWNob2tlIG1lCistI2VuZGlmCistXSwgW2ludCB0ZXN0IChpbnQgaSwgZG91YmxlIHgpOworLXN0cnVjdCBzMSB7aW50ICgqZikgKGludCBhKTt9OworLXN0cnVjdCBzMiB7aW50ICgqZikgKGRvdWJsZSBhKTt9O10sCistW2FjX2N2X3Byb2dfY2Nfc3RkYz0iJGFjX2FyZyI7IGJyZWFrXSkKKy1kb25lCistQ0ZMQUdTPSIkYWNfc2F2ZV9DRkxBR1MiCistXSkKKy1BQ19NU0dfUkVTVUxUKCRhY19jdl9wcm9nX2NjX3N0ZGMpCistY2FzZSAieCRhY19jdl9wcm9nX2NjX3N0ZGMiIGluCistICB4fHhubykgOzsKKy0gICopIENDPSIkQ0MgJGFjX2N2X3Byb2dfY2Nfc3RkYyIgOzsKKy1lc2FjCistXSkKKy0KKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBVc2UgQUNfUFJPR19JTlNUQUxMLCBzdXBwbGVtZW50aW5nIGl0IHdpdGggSU5TVEFMTF9TQ1JJUFQgIyMKKy0jIyBzdWJzdGl0dXRpb24uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0KKy1BQ19ERUZVTihmcF9QUk9HX0lOU1RBTEwsCistW0FDX1BST0dfSU5TVEFMTAorLXRlc3QgLXogIiRJTlNUQUxMX1NDUklQVCIgJiYgSU5TVEFMTF9TQ1JJUFQ9JyR7SU5TVEFMTH0gLW0gNzU1JworLUFDX1NVQlNUKElOU1RBTExfU0NSSVBUKWRubAorLV0pCistCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCA2YjI1ZWQ1Li5hNmE3ZjViIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0xMDMsNiArMTAzLDEyIEBAIG5hbmFfREVGSU5FKERJX01BS0VfVkFMSURfQlJFQUtQT0lOVCwoZXhwcm4pLAorICAgc3BhcmMtKi0qfGk/ODYtKi0qKQorICAgICBESV9NQUtFX1ZBTElEX0JSRUFLUE9JTlQ9J2FzbSgibm9wIiknCisgICAgIDs7CisrICBhcm0qLSotKnxmcnYtKi0qfG1pcHMqLSotKikKKysgICAgRElfTUFLRV9WQUxJRF9CUkVBS1BPSU5UPSdhc20oIm5vcCIpJworKyAgICA7OworKyAgc2gqLSotKikKKysgICAgRElfTUFLRV9WQUxJRF9CUkVBS1BPSU5UPSdhc20oIm5vcFxuXHRub3Bcblx0IiknCisrICAgIDs7CisgICBlc2FjCisgXSkKKyAKK0BAIC0xMTMsNiArMTE5LDEyIEBAIG5hbmFfREVGSU5FKERMX01BS0VfVkFMSURfQlJFQUtQT0lOVCwoKSwKKyAgIHNwYXJjLSotKnxpPzg2LSotKikKKyAgICAgRExfTUFLRV9WQUxJRF9CUkVBS1BPSU5UPSdhc20oIm5vcCIpJworICAgICA7OworKyAgYXJtKi0qLSp8ZnJ2LSotKnxtaXBzKi0qLSopCisrICAgIERMX01BS0VfVkFMSURfQlJFQUtQT0lOVD0nYXNtKCJub3AiKScKKysgICAgOzsKKysgIHNoKi0qLSopCisrICAgIERMX01BS0VfVkFMSURfQlJFQUtQT0lOVD0nYXNtKCJub3Bcblx0bm9wXG5cdCIpJworKyAgICA7OworICAgZXNhYworIF0pCisgCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbmFuYS9uYW5hXzIuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL25hbmEvbmFuYV8yLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTlhOTBmZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL25hbmEvbmFuYV8yLjUuYmIKQEAgLTAsMCArMSwzNCBAQAorU1VNTUFSWSA9ICJTdXBwb3J0IGZvciBhc3NlcnRpb24gY2hlY2tpbmcgYW5kIGxvZ2dpbmcgaW4gR05VIEMvQysrIgorREVTQ1JJUFRJT04gPSAiR05VIE5hbmEgaXMgYSBmcmVlIGxpYnJhcnkgcHJvdmlkaW5nIGltcHJvdmVkIHN1cHBvcnQgZm9yIGFzc2VydGlvblwKK2NoZWNraW5nIChhcyBpbiBhc3NlcnQuaCkgYW5kIGxvZ2dpbmcgKHByaW50ZiBzdHlsZSBkZWJ1Z2dpbmcpIGluIFwKK0dOVSBDIGFuZCBDKysuIgorU0VDVElPTiA9ICJEZXZlbG9wbWVudC9MYW5ndWFnZXMvQyBhbmQgQysrIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5zYXZhbm5haC5nbnUub3JnL3JlbGVhc2VzLyR7UE59LyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovL2NoYW5nZS1tYW5kaXItdG8tREVTVERJUi5wYXRjaCBcCisgICAgZmlsZTovL21vZGlmeS1hY2luY2x1ZGUubTQtYW5kLWNvbmZpZ3VyZS5pbi5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiNjZjODhhYTBhZDA5NWIyZTY3NjczNzczMTM1NDc1ZjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmQxODE5ZmZlYTk0YjIwOTUxMzk1OTQ0N2U0ODAyYWZlMjcxOTYwMGU3ZDE2MWNkNzhiMjY1YTQyODEyYWZmYSIKKworTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE2YWE1N2YzYjdmZGRhODcwY2VlNTk3Mjc1YmQ1ZDExIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK0VYVFJBX09FTUFLRSA9ICJERVNURElSPSR7RH0iCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKyAgICBzZWQgLWkgLWUgJ3M6QENQUEA6XCRce0NYWFx9IFwkXHtDWFhGTEFHU1x9IFwtRTpnJyAke1N9L3NyYy9uYW5hLmluCisgICAgc2VkIC1pIC1lICdzOkBDQ0A6XCRce0NDXH0gXCRce0NGTEFHU1x9IFwtRTpnJyAke1N9L3NyYy9uYW5hLWNsZy5pbgorICAgIHNlZCAtaSAtZSAnczpAQ1hYQDo6ZycgJHtTfS9zcmMvbmFuYS1jKytsZy5pbgorICAgIHNlZCAtaSAtZSAnczpAR0RCQDpcJFx7R0RCXH06ZycgJHtTfS9zcmMvbmFuYS1ydW4uaW4KK30KKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjMKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2luZm8KK30KK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL25pY3N0YXQvbmljc3RhdF8xLjk1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbmljc3RhdC9uaWNzdGF0XzEuOTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTEyNmEzMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL25pY3N0YXQvbmljc3RhdF8xLjk1LmJiCkBAIC0wLDAgKzEsMjAgQEAKK0RFU0NSSVBUSU9OID0gIm5pY3N0YXQgaXMgYSBTb2xhcmlzIGFuZCBMaW51eCBjb21tYW5kLWxpbmUgdGhhdCBwcmludHMgb3V0IG5ldHdvcmsgXAorc3RhdGlzdGljcyBmb3IgYWxsIG5ldHdvcmsgaW50ZXJmYWNlIGNhcmRzIChOSUNzKSwgaW5jbHVkaW5nIHBhY2tldHMsIGtpbG9ieXRlcyBcCitwZXIgc2Vjb25kLCBhdmVyYWdlIHBhY2tldCBzaXplcyBhbmQgbW9yZS4iCitIT01FUEFHRSA9ICJodHRwOi8vbmljc3RhdC5zb3VyY2Vmb3JnZS5uZXQiCitMSUNFTlNFID0gIkFydGlzdGljLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1iNGE5NGRhMmExZjkxOGIyMTdlZjUxNTY2MzRmYzllMCIKKworU1JDX1VSSSA9ICJodHRwOi8vc29mdGxheWVyLXNuZy5kbC5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC8ke0JQTn0vJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjlhMGI4N2JiYzY3MGMxZTczOGU1YjQwYzdhZmQxODRkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0Y2MzM2Y4ODM4ZjQ1MjNmMjdjM2Q3NTg0ZWVkYmU1OWY0YzU4N2YwODIxNjEyZjVhYzIyMDFhZGMxOGIzNjciCisKK2RvX2NvbXBpbGUoKSB7CisgICAgJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30gLW8gbmljc3RhdCBuaWNzdGF0LmMKK30KK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1kICR7RH0vJHttYW5kaXJ9LworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L25pY3N0YXQgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9uaWNzdGF0LjEgJHtEfS8ke21hbmRpcn0vCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktbmV0d29ya2luZy8wMDAxLWZpeC1saWI2NC1jYW4tbm90LWJlLXNoaXBlZC1pbi02NGJpdC10YXJnZXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktbmV0d29ya2luZy8wMDAxLWZpeC1saWI2NC1jYW4tbm90LWJlLXNoaXBlZC1pbi02NGJpdC10YXJnZXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzIzODIwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1uZXR3b3JraW5nLzAwMDEtZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDMzNmJiNWEwMzEwNzc0NjFlYzZiMmU1NDM4NzM4YmYxMDBmMGRkMmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBNb24sIDMgQXVnIDIwMTUgMDI6Mzc6NDYgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IGxpYjY0IGNhbiBub3QgYmUgc2hpcGVkIGluIDY0Yml0IHRhcmdldAorCitTaWduZWQtb2ZmLWJ5OiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDcgLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggMWJhM2NkMy4uMjQxMTc0NSAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTM1LDEzICszNSw2IEBAIGlmIChERUJVRykKKyAgICAgYWRkX2RlZmluaXRpb25zKCItRERFQlVHX0VOQUJMRUQiKQorIGVuZGlmIChERUJVRykKKyAKKy0jIFNldCBMSUJfU1VGRklYIHRvIDY0IG9uIDY0Yml0IGFyY2hpdGVjdHVyZXMKKy1pZihDTUFLRV9TSVpFT0ZfVk9JRF9QIEVRVUFMIDQpCistICAgIHNldChMSUJfU1VGRklYICIiKQorLWVsc2UoQ01BS0VfU0laRU9GX1ZPSURfUCBFUVVBTCA0KQorLSAgICBTRVQoTElCX1NVRkZJWCA2NCkKKy1lbmRpZihDTUFLRV9TSVpFT0ZfVk9JRF9QIEVRVUFMIDQpCistCisgIyBGaW5kIE9wZW5MTUlNYWNyb3Mgd2hlbiBpbnN0YWxsZWQgaW4gb3RoZXIgcHJlZml4IHRoYW4gL3VzciAoZS5nLiAvdXNyL2xvY2FsKQorIHNldChDTUFLRV9NT0RVTEVfUEFUSCAke0NNQUtFX01PRFVMRV9QQVRIfSAke0NNQUtFX0lOU1RBTExfUFJFRklYfSkKKyBpbmNsdWRlKE9wZW5MTUlNYWNyb3MgUkVTVUxUX1ZBUklBQkxFIExNSU1BQ1JPUykKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktbmV0d29ya2luZ18wLjMuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1uZXR3b3JraW5nXzAuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0NDI5MTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktbmV0d29ya2luZ18wLjMuMS5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkNJTSBwcm92aWRlcnMgZm9yIG5ldHdvcmsgbWFuYWdlbWVudCIKK0RFU0NSSVBUSU9OID0gIlwKK29wZW5sbWktbmV0d29ya2luZyBpcyBzZXQgb2YgQ01QSSBwcm92aWRlcnMgZm9yIG5ldHdvcmsgbWFuYWdlbWVudCB1c2luZyBcCitDb21tb24gSW5mb3JtYXRpb24gTW9kZWwgKENJTSkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVubG1pLm9yZy8iCitMSUNFTlNFID0gIkxHUEwtMi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdjMTNiMzM3NmNlYTBjZTY4ZDJkMmRhMGExYjNhNzJjIgorU0VDVElPTiA9ICJTeXN0ZW0vTWFuYWdlbWVudCIKK0RFUEVORFMgPSAib3BlbmxtaS1wcm92aWRlcnMga29ua3JldGNtcGkgc2JsaW0tY21waS1kZXZlbCBjaW0tc2NoZW1hLWV4cGVyIG5ldHdvcmttYW5hZ2VyIGRidXMgbGliY2hlY2sgZ2xpYi0yLjAiCisKK1NSQ19VUkkgPSAiaHR0cDovL2ZlZG9yYWhvc3RlZC5vcmcvcmVsZWFzZWQvJHtCUE59LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1saWI2NC1jYW4tbm90LWJlLXNoaXBlZC1pbi02NGJpdC10YXJnZXQucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMjBkZThjNzZmYjZhODAwMDFiMTRjMWViMDM1OTUzZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NzhlYWE1YzY1ZmU5MjRiNWQ3YWViNjM1NTA5ZGQ0NjQ0MzE2NmNkNmE4OGIwMTliYzQyNjQ2ZTM1MThhNDYwIgorCitpbmhlcml0IGNtYWtlCisKK0VYVFJBX09FQ01BS0UgPSAiJHtAYmFzZV9jb25kaXRpb25hbCgibGliZGlyIiwgIi91c3IvbGliNjQiLCAiLURMSUJfU1VGRklYPTY0IiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29uZGl0aW9uYWwoImxpYmRpciIsICIvdXNyL2xpYjMyIiwgIi1ETElCX1NVRkZJWD0zMiIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICIKKworCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAgZXhwb3J0IENNQUtFX0lOU1RBTExfREFURElSPSIke1NUQUdJTkdfREFUQURJUn0iCit9CisKKworRklMRVNfJHtQTn0gPSsgIiR7bGliZGlyfS9jbXBpL2xpYmNtcGlMTUlfTmV0d29ya2luZy5zbyAke3ByZWZpeH0vbGliZXhlYyoiCitGSUxFU18ke1BOfS1kYmcgPSsgIiR7bGliZGlyfS9jbXBpLy5kZWJ1ZyoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktcHJvdmlkZXJzLzAwMDEtZml4LWVycm9yLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbmxtaS9vcGVubG1pLXByb3ZpZGVycy8wMDAxLWZpeC1lcnJvci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmNkMWM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbmxtaS9vcGVubG1pLXByb3ZpZGVycy8wMDAxLWZpeC1lcnJvci5wYXRjaApAQCAtMCwwICsxLDI2IEBACitGcm9tIDc2NDE3MTg2NmI4NGUwMTk4YjY3NTM4ZjYzMDIyYWJkZTNlNjI4YWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBRaWFuIExlaSA8cWlhbmwuZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IEZyaSwgMTYgSmFuIDIwMTUgMTQ6MTU6MjUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IGVycm9yCisKK1NpZ25lZC1vZmYtYnk6IFFpYW4gTGVpIDxxaWFubC5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgY21ha2UvbW9kdWxlcy9PcGVuTE1JTWFjcm9zLmNtYWtlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY21ha2UvbW9kdWxlcy9PcGVuTE1JTWFjcm9zLmNtYWtlIGIvY21ha2UvbW9kdWxlcy9PcGVuTE1JTWFjcm9zLmNtYWtlCitpbmRleCBkNTVmOTgzLi5kYmMzMmVjIDEwMDY0NAorLS0tIGEvY21ha2UvbW9kdWxlcy9PcGVuTE1JTWFjcm9zLmNtYWtlCisrKysgYi9jbWFrZS9tb2R1bGVzL09wZW5MTUlNYWNyb3MuY21ha2UKK0BAIC04OSw3ICs4OSw3IEBAIG1hY3JvKGtvbmtyZXRjbXBpX2dlbmVyYXRlIE1PRlMgQ0lNX1BST1ZJREVSUyBDSU1fSEVBREVSUyBDSU1fQ0xBU1NFUykKKyAgICAgICAgIGVuZGZvcmVhY2goQ0xBU1MgJHtDSU1fQ0xBU1NfTkFNRVN9KQorIAorICAgICAgICAgIyBHZW5lcmF0ZSBoZWFkZXJzIGZvciBDSU0gY2xhc3NlcworLSAgICAgICAgc2V0KEVOVntLT05LUkVUX1NDSEVNQV9ESVJ9ICIvdXNyL3NoYXJlL21vZi9jaW0tY3VycmVudCIpCisrICAgICAgICBzZXQoRU5We0tPTktSRVRfU0NIRU1BX0RJUn0gIiRFTlZ7Q01BS0VfSU5TVEFMTF9EQVRESVJ9L21vZi9jaW0tY3VycmVudCIpCisgICAgICAgICBleGVjdXRlX3Byb2Nlc3MoQ09NTUFORCAke0tPTktSRVRDTVBJX0tPTktSRVR9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0tPTktSRVRfTU9GX0ZJTEVTfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtHRU5FUkFURV9QUk9WSURFUlN9CistLSAKKzEuOC4zLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbmxtaS9vcGVubG1pLXByb3ZpZGVycy8wMDAxLWZpeC1saWI2NC1jYW4tbm90LWJlLXNoaXBlZC1pbi02NGJpdC10YXJnZXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktcHJvdmlkZXJzLzAwMDEtZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzhlYmU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbmxtaS9vcGVubG1pLXByb3ZpZGVycy8wMDAxLWZpeC1saWI2NC1jYW4tbm90LWJlLXNoaXBlZC1pbi02NGJpdC10YXJnZXQucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA3Y2VjZmE5NWYwMzNiMzNhMWMzMjYwYzIxNGIyZDBlNWU4MWI0ZmQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGVpIE1hb2h1aSA8bGVpbWFvaHVpQGNuLmZ1aml0c3UuY29tPgorRGF0ZTogTW9uLCAzIEF1ZyAyMDE1IDAyOjA1OjU2ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBsaWI2NCBjYW4gbm90IGJlIHNoaXBlZCBpbiA2NGJpdCB0YXJnZXQKKworU2lnbmVkLW9mZi1ieTogTGVpIE1hb2h1aSA8bGVpbWFvaHVpQGNuLmZ1aml0c3UuY29tPgorLS0tCisgQ01ha2VMaXN0cy50eHQgfCA3IC0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDQ4YWUyMDYuLjNlYWQ5YzYgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0yMSwxMyArMjEsNiBAQCBlbHNlKEhBU19TVEFDS19QUk9URUNUT1JfU1RST05HKQorICAgICBzZXQoQ01BS0VfQ19GTEFHUyAiJHtDTUFLRV9DX0ZMQUdTfSAtZnN0YWNrLXByb3RlY3RvciIpCisgZW5kaWYoKQorIAorLSMgU2V0IExJQl9TVUZGSVggdG8gNjQgb24gNjRiaXQgYXJjaGl0ZWN0dXJlcworLWlmKENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgNCkKKy0gICAgc2V0KExJQl9TVUZGSVggIiIpCistZWxzZShDTUFLRV9TSVpFT0ZfVk9JRF9QIEVRVUFMIDQpCistICAgIFNFVChMSUJfU1VGRklYIDY0KQorLWVuZGlmKENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgNCkKKy0KKyBpZihOT1QgU1lTQ09ORl9JTlNUQUxMX0RJUikKKyAgICAgc2V0KFNZU0NPTkZfSU5TVEFMTF9ESVIgJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vZXRjKQorIGVuZGlmKE5PVCBTWVNDT05GX0lOU1RBTExfRElSKQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1wcm92aWRlcnNfMC42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktcHJvdmlkZXJzXzAuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwNDg4ODgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktcHJvdmlkZXJzXzAuNi4wLmJiCkBAIC0wLDAgKzEsNTQgQEAKK1NVTU1BUlkgPSAiU2V0IG9mIGJhc2ljIENJTSBwcm92aWRlcnMiCitERVNDUklQVElPTiA9ICJcCitvcGVubG1pLXByb3ZpZGVycyBpcyBzZXQgb2YgKHVzdWFsbHkpIHNtYWxsIENNUEkgcHJvdmlkZXJzIChhZ2VudHMpIGZvciBcCitiYXNpYyBtb25pdG9yaW5nIGFuZCBtYW5hZ2VtZW50IG9mIGhvc3Qgc3lzdGVtIHVzaW5nIENvbW1vbiBJbmZvcm1hdGlvbiBcCitNb2RlbCAoQ0lNKS4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5sbWkub3JnLyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdjMTNiMzM3NmNlYTBjZTY4ZDJkMmRhMGExYjNhNzJjIgorU0VDVElPTiA9ICJTeXN0ZW0vTWFuYWdlbWVudCIKK0RFUEVORFMgPSAia29ua3JldGNtcGktbmF0aXZlIGtvbmtyZXRjbXBpIHNibGltLXNmY2Igc2JsaW0tY21waS1kZXZlbCBjaW0tc2NoZW1hLWV4cGVyIGxtc2Vuc29ycyBsaWJ1c2VyIHN3aWcgc3dpZy1uYXRpdmUgZGJ1cyB1ZGV2IHN5c3RlbWQtc3lzdGVtY3RsLW5hdGl2ZSBwY2l1dGlscyIKKworU1JDX1VSSSA9ICJodHRwOi8vZmVkb3JhaG9zdGVkLm9yZy9yZWxlYXNlZC8ke0JQTn0vJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWVycm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWxpYjY0LWNhbi1ub3QtYmUtc2hpcGVkLWluLTY0Yml0LXRhcmdldC5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjU5MDRmMjNjZjQ5NDk0NjIzN2NmYmJkYmU2NDRhM2NkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUyYjJmYmVhZWM0NWE4MzkwNWQwZGEzYjg3ZGE4MzkwNGQ5Y2Q5NGMxYjg2MzEyZjg0NDU4N2IzZmZmMTFmNTYiCisKK2luaGVyaXQgY21ha2UKK0xERkxBR1NfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICcgLWZ1c2UtbGQ9YmZkICcsICcnLCBkKX0iCitFWFRSQV9PRUNNQUtFID0gIiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSC1ERVZBU1NJU1RBTlQ9T0ZGIFwKKyAgICAgICAgICAgICAgICAgLURXSVRILUpPVVJOQUxEPU9GRiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSC1TRVJWSUNFPU9GRiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSC1TRVJWSUNFLUxFR0FDWT1PTiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSC1BQ0NPVU5UPU9GRiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSC1QQ1A9T0ZGIFwKKyAgICAgICAgICAgICAgICAgLURXSVRILVJFQUxNRD1PRkYgXAorICAgICAgICAgICAgICAgICAtRFdJVEgtRkFOPU9GRiBcCisgICAgICAgICAgICAgICAgIC1EV0lUSC1MT0NBTEU9T0ZGIFwKKyAgICAgICAgICAgICAgICAgLURXSVRILUlORFNFTkRFUj1PRkYgXAorICAgICAgICAgICAgICAgICAtRFdJVEgtSk9CTUFOQUdFUj1PRkYgXAorICAgICAgICAgICAgICAgICAtRFdJVEgtU1NTRD1PRkYgXAorICAgICAgICAgICAgICAgICAtRFdJVEgtU0VMSU5VWD1PRkYgXAorICAgICAgICAgICAgICAgICAtRFdJVEgtU09GVFdBUkUtREJVUz1PTiBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29uZGl0aW9uYWwoImxpYmRpciIsICIvdXNyL2xpYjY0IiwgIi1ETElCX1NVRkZJWD02NCIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICAke0BiYXNlX2NvbmRpdGlvbmFsKCJsaWJkaXIiLCAiL3Vzci9saWIzMiIsICItRExJQl9TVUZGSVg9MzIiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgZXhwb3J0IENNQUtFX0lOU1RBTExfREFURElSPSIke1NUQUdJTkdfREFUQURJUn0iCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGlmIFsgLWQgJHtEfSR7cHJlZml4fSR7c3lzY29uZmlkcn0gXTsgdGhlbgorICAgICAgICBtdiAke0R9JHtwcmVmaXh9JHtzeXNjb25mZGlyfSAke0R9JHtzeXNjb25mZGlyfQorICAgIGZpCit9CisKK0ZJTEVTXyR7UE59ID0rICIke2xpYmRpcn0vY21waS9saWJjbXBpTE1JKiAke3ByZWZpeH0vbGliZXhlYyoiCitGSUxFU18ke1BOfS1kZXYgPSsgIiR7ZGF0YWRpcn0vY21ha2UqIgorRklMRVNfJHtQTn0tZGJnID0rICIke2xpYmRpcn0vY21waS8uZGVidWcqIgorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktc3RvcmFnZV8wLjguMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW5sbWkvb3BlbmxtaS1zdG9yYWdlXzAuOC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxNWQ4MDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktc3RvcmFnZV8wLjguMS5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIkNJTSBwcm92aWRlcnMgZm9yIHN0b3JhZ2UgbWFuYWdlbWVudCIKK0RFU0NSSVBUSU9OID0gIlwKK1RoZSBvcGVubG1pLXN0b3JhZ2UgcGFja2FnZSBjb250YWlucyBDTVBJIHByb3ZpZGVycyBmb3IgbWFuYWdlbWVudCBvZiBzdG9yYWdlIFwKK3VzaW5nIENvbW1vbiBJbmZvcm1hdGlvbiBNYW5hZ2VtZW4gKENJTSkgcHJvdG9jb2wuIFwKK1wKK1RoZSBwcm92aWRlcnMgY2FuIGJlIHJlZ2lzdGVyZWQgaW4gYW55IENNUEktYXdhcmUgQ0lNT00sIGJvdGggT3BlblBlZ2FzdXMgYW5kIFwKK1NGQ0Igd2VyZSB0ZXN0ZWQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVubG1pLm9yZy8iCitMSUNFTlNFID0gIkxHUEwtMi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorU0VDVElPTiA9ICJTeXN0ZW0vTWFuYWdlbWVudCIKK0RFUEVORFMgPSAib3BlbmxtaS1wcm92aWRlcnMgcHl3YmVtIGNtcGktYmluZGluZ3MiCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCIKKworU1JDX1VSSSA9ICJodHRwOi8vZmVkb3JhaG9zdGVkLm9yZy9yZWxlYXNlZC8ke0JQTn0vJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjg5OGNmMGQ4YzAzYjhhZDZiNDVkNjVmMzM1ZGRlZTBkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRhMWJhOTk1Nzc1MGY5NGVhNThhODljZWEyODk4NTU2NGYzOGQ3Y2M5YWEwMGZjYWUyMGM1MWU3YjMyYmQwYTgiCisKK2luaGVyaXQgc2V0dXB0b29scworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1tIDc1NSAtZCAke0R9JHtkYXRhZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsIC1tIDY0NCAke1N9L21vZi8qICR7RH0ke2RhdGFkaXJ9LyR7QlBOfS8KKworICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L29wZW5sbWkvc3RvcmFnZQorICAgIGluc3RhbGwgLW0gNjQ0IHN0b3JhZ2UuY29uZiAke0R9JHtzeXNjb25mZGlyfS9vcGVubG1pL3N0b3JhZ2Uvc3RvcmFnZS5jb25mCisKKyAgICBpbnN0YWxsIC1tIDc1NSAtZCAke0R9JHtsaWJleGVjZGlyfS9wZWdhc3VzCisgICAgaW5zdGFsbCAtbSA3NTUgcHljbXBpTE1JX1N0b3JhZ2UtY2ltcHJvdmFndCAke0R9JHtsaWJleGVjZGlyfS9wZWdhc3VzLworfQorCitGSUxFU18ke1BOfSA9KyAiJHtzeXNjb25mZGlyfS9vcGVubG1pL3N0b3JhZ2Uvc3RvcmFnZS5jb25mICR7ZGF0YWRpcn0vJHtCUE59LyoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVubG1pL29wZW5sbWktdG9vbHNfMC4xMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbmxtaS9vcGVubG1pLXRvb2xzXzAuMTAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjM4NjlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbmxtaS9vcGVubG1pLXRvb2xzXzAuMTAuNS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIlNldCBvZiBDTEkgdG9vbHMgZm9yIE9wZW5sbWkgcHJvdmlkZXJzIgorREVTQ1JJUFRJT04gPSAib3BlbmxtaS10b29scyBpcyBhIHNldCBvZiBjb21tYW5kIGxpbmUgdG9vbHMgZm9yIE9wZW5sbWkgcHJvdmlkZXJzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbmxtaS5vcmcvIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTg1OTk4OTU0NWUzNzk2OGE5OWI2MzFlZjQyNzIyZSIKK1NFQ1RJT04gPSAiU3lzdGVtL01hbmFnZW1lbnQiCisKK2luaGVyaXQgc2V0dXB0b29scworCitERVBFTkRTID0gInB5dGhvbi1uYXRpdmUgcHl3YmVtLW5hdGl2ZSBweXRob24tbTJjcnlwdG8gcHl3YmVtIgorCitTUkNfVVJJID0gImh0dHA6Ly9mZWRvcmFob3N0ZWQub3JnL3JlbGVhc2VkLyR7QlBOfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMTU2MjQ2Y2I3YjQ5NzUzZGI4MmY0ZGRmN2YwM2U1MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyOTJiOGY1ZjIyNTA2NTVhNGFkZDgxODNjNTI5YjczMzU4YmM5ODBiZDRmMjNjZmE0ODRhOTQwOTUzZmNlOWU0IgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgY2QgY2xpCisgICAgc2VkICdzL0BAVkVSU0lPTkBALyQoVkVSU0lPTikvZycgc2V0dXAucHkuc2tlbCA+c2V0dXAucHkKK30KK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKyAgICBjZCBjbGkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vbGlic3NsLWlzLXJlcXVpcmVkLWlmLWV2ZW50aW50LXN1cHBvcnRlZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vbGlic3NsLWlzLXJlcXVpcmVkLWlmLWV2ZW50aW50LXN1cHBvcnRlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDU0MGUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi9saWJzc2wtaXMtcmVxdWlyZWQtaWYtZXZlbnRpbnQtc3VwcG9ydGVkLnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK2xpYnNzbCBpcyByZXF1aXJlZCBieSB3c21hbl9jbGllbnRfdHJhbnNwb3J0IGlmIEVOQUJMRV9FVkVOVElOR19TVVBQT1JUIGVuYWJsZWQuCisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorCitkaWZmIC1OdXJwIG9wZW53c21hbi0yLjQuMTIub3JpZy9zcmMvbGliL0NNYWtlTGlzdHMudHh0IG9wZW53c21hbi0yLjQuMTIvc3JjL2xpYi9DTWFrZUxpc3RzLnR4dAorLS0tIG9wZW53c21hbi0yLjQuMTIub3JpZy9zcmMvbGliL0NNYWtlTGlzdHMudHh0CTIwMTQtMTAtMjggMjM6MDQ6NDcuMDAwMDAwMDAwICswODAwCisrKysgb3BlbndzbWFuLTIuNC4xMi9zcmMvbGliL0NNYWtlTGlzdHMudHh0CTIwMTQtMTItMzEgMTE6MDk6MjAuMzQwNDI4NTIzICswODAwCitAQCAtNTYsNiArNTYsOSBAQCBUQVJHRVRfTElOS19MSUJSQVJJRVMoICR7V1NNQU5fQ0xJRU5UX1RSCisgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKCAke1dTTUFOX0NMSUVOVF9UUkFOU1BPUlRfUEtHfSBQUk9QRVJUSUVTIFZFUlNJT04gMS4wLjAgU09WRVJTSU9OIDEpCisgSU5TVEFMTChUQVJHRVRTICR7V1NNQU5fQ0xJRU5UX1RSQU5TUE9SVF9QS0d9IERFU1RJTkFUSU9OICR7TElCX0lOU1RBTExfRElSfSkKKyAKKytJRiggRU5BQkxFX0VWRU5USU5HX1NVUFBPUlQgKQorK1RBUkdFVF9MSU5LX0xJQlJBUklFUyggJHtXU01BTl9DTElFTlRfVFJBTlNQT1JUX1BLR30gJHtPUEVOU1NMX0xJQlJBUklFU30gKQorK0VORElGKCBFTkFCTEVfRVZFTlRJTkdfU1VQUE9SVCApCisgCisgIyMjIyMjIyMjIyMjIyMjIHdzbWFuX2NsaWVudCAjIyMjIyMjIyMjIyMjIyMKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vb3BlbndzbWFuZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi9vcGVud3NtYW5kLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU0ZjNjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vb3BlbndzbWFuZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249T3BlbndzbWFuIFdTLU1hbmFnZW1lbnQgU2VydmljZQorQWZ0ZXI9c3lzbG9nLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRXhlY1N0YXJ0PUBTQklORElSQC9vcGVud3NtYW5kCitFeGVjU3RhcnRQcmU9QFNZU0NPTkZESVJAL29wZW53c21hbi9vd3NtYW5nZW5jZXJ0LnNoCitQSURGaWxlPUBMT0NBTFNUQVRFRElSQC9ydW4vd3NtYW5kLnBpZAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuXzIuNi4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbl8yLjYuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmIyNzFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbl8yLjYuMi5iYgpAQCAtMCwwICsxLDY3IEBACitTVU1NQVJZID0gIk9wZW5zb3VyY2UgSW1wbGVtZW50YXRpb24gb2YgV1MtTWFuYWdlbWVudCIKK0RFU0NSSVBUSU9OID0gIk9wZW53c21hbiBpcyBhIHByb2plY3QgaW50ZW5kZWQgdG8gcHJvdmlkZSBhbiBvcGVuLXNvdXJjZSBcCitpbXBsZW1lbnRhdGlvbiBvZiB0aGUgV2ViIFNlcnZpY2VzIE1hbmFnZW1lbnQgc3BlY2lwaWNhdGlvbiBcCisoV1MtTWFuYWdlbWVudCkgYW5kIHRvIGV4cG9zZSBzeXN0ZW0gbWFuYWdlbWVudCBpbmZvcm1hdGlvbiBvbiB0aGUgXAorTGludXggb3BlcmF0aW5nIHN5c3RlbSB1c2luZyB0aGUgV1MtTWFuYWdlbWVudCBwcm90b2NvbC4gV1MtTWFuYWdlbWVudCBcCitpcyBiYXNlZCBvbiBhIHN1aXRlIG9mIHdlYiBzZXJ2aWNlcyBzcGVjaWZpY2F0aW9ucyBhbmQgdXNhZ2UgXAorcmVxdWlyZW1lbnRzIHRoYXQgZXhwb3NlcyBhIHNldCBvZiBvcGVyYXRpb25zIGZvY3VzZWQgb24gYW5kIGNvdmVycyBcCithbGwgc3lzdGVtIG1hbmFnZW1lbnQgYXNwZWN0cy4gXAorT3BlbndzbWFuIFNlcnZlciBhbmQgc2VydmljZSBsaWJyYXJpZXMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW53c21hbi5vcmcvIgorU0VDVElPTiA9ICJBcHBsaWNhdGlvbnMvU3lzdGVtIgorCitERVBFTkRTID0gImN1cmwgbGlieG1sMiBvcGVuc3NsIGxpYnBhbSIKKworU1JDUkVWID0gImVkN2ExMTllMDM2YzUzMDc4ZDcwZmQ4NTkzNmQ5NGRjOWI5Yjk4YmUiCitQViA9ICIyLjYuMiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL09wZW53c21hbi9vcGVud3NtYW4uZ2l0O3Byb3RvY29sPWh0dHAgXAorICAgICAgICAgICBmaWxlOi8vbGlic3NsLWlzLXJlcXVpcmVkLWlmLWV2ZW50aW50LXN1cHBvcnRlZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9vcGVud3NtYW5kLnNlcnZpY2UiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDRmNTNkNGM2Y2Y3M2I5ZDQzMTg2Y2UzYmU2ZGQwYmEiCisKK2luaGVyaXQgc3lzdGVtZCBjbWFrZSBwa2djb25maWcgcHl0aG9ubmF0aXZlIHBlcmxuYXRpdmUKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm9wZW53c21hbmQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworTERGTEFHU19hcHBlbmQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgIiAtZnVzZS1sZD1iZmQgIiwgJycsIGQpfSIKKworRVhUUkFfT0VDTUFLRSA9ICItREJVSUxEX0JJTkRJTkdTPU5PIFwKKyAgICAgICAgICAgICAgICAgLURCVUlMRF9MSUJDSU09Tk8gXAorICAgICAgICAgICAgICAgICAtREJVSUxEX1BFUkw9WUVTIFwKKyAgICAgICAgICAgICAgICAgLURDTUFLRV9JTlNUQUxMX1BSRUZJWD0ke3ByZWZpeH0gXAorICAgICAgICAgICAgICAgICAtRExJQj0ke2Jhc2VsaWJ9IFwKKyAgICAgICAgICAgICAgICAiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGV4cG9ydCBIT1NUX1NZUz0ke0hPU1RfU1lTfQorICAgIGV4cG9ydCBCVUlMRF9TWVM9JHtCVUlMRF9TWVN9CisgICAgZXhwb3J0IFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9CisgICAgZXhwb3J0IFNUQUdJTkdfTElCRElSPSR7U1RBR0lOR19MSUJESVJ9Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gNzU1ICR7Qn0vZXRjL2luaXQvb3BlbndzbWFuZC5zaCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW53c21hbmQKKyAgICBsbiAtc2YgJHtzeXNjb25mZGlyfS9pbml0LmQvb3BlbndzbWFuZCAke0R9LyR7c2JpbmRpcn0vcmNvcGVud3NtYW5kCisgICAgY2htb2QgNzU1ICR7RH0vJHtzeXNjb25mZGlyfS9vcGVud3NtYW4vb3dzbWFuZ2VuY2VydC5zaAorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9vcGVud3NtYW5kLnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisKKyAgICAgICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL29wZW53c21hbmQuc2VydmljZQorICAgICAgICBzZWQgLWkgLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vb3BlbndzbWFuZC5zZXJ2aWNlCisgICAgICAgIHNlZCAtaSAtZSAncyxATE9DQUxTVEFURURJUkAsJHtsb2NhbHN0YXRlZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9vcGVud3NtYW5kLnNlcnZpY2UKKyAgICBmaQorfQorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9vcGVud3NtYW4vcGx1Z2lucy8uZGVidWcvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L29wZW53c21hbi9hdXRoZW50aWNhdG9ycy8uZGVidWcvIFwKKyAgICAgICAgICAgICAgICAgICAiCisKK0lOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3A3emlwL2ZpbGVzL2RvX25vdF9vdmVycmlkZV9jb21waWxlcl9hbmRfZG9fbm90X3N0cmlwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcDd6aXAvZmlsZXMvZG9fbm90X292ZXJyaWRlX2NvbXBpbGVyX2FuZF9kb19ub3Rfc3RyaXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTNiMDJjNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3A3emlwL2ZpbGVzL2RvX25vdF9vdmVycmlkZV9jb21waWxlcl9hbmRfZG9fbm90X3N0cmlwLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK2RvIG5vdCBvdmVycmlkZSBjb21waWxlciBhbmQgZG8gbm90IHN0cmlwCisKK1RoZSBkZWZhdWx0IG1ha2VmaWxlIHNldHMgdGhlIGNvbXBpbGVyIHRvIGcrKyBvciBnY2MuIFRoaXMgbGVhZHMgdG8gYSB3cm9uZyBhcmNoaXRlY3R1cmUgd2hlbiBjcm9zcy1jb21waWxpbmcuCitSZW1vdmUgdGhlIGhhcmRjb2RlZCBjb21waWxlciBhbmQganVzdCBhcHBlbmQgdGhlIGZsYWdzIHRvIENYWCBhbmQgQ0MuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogUmFwaGFlbCBGcmV1ZGlnZXIgPHJhcGhhZWwuZnJldWRpZ2VyQHNpZW1lbnMuY29tPgorUmV2aWV3ZWQtQnk6IFBhc2NhbCBCYWNoIDxwYXNjYWwuYmFjaEBzaWVtZW5zLmNvbT4KKworSW5kZXg6IHA3emlwXzkuMjAuMS9tYWtlZmlsZS5tYWNoaW5lCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwN3ppcF85LjIwLjEvbWFrZWZpbGUubWFjaGluZQkyMDExLTAzLTEzIDEyOjU0OjU3LjAwMDAwMDAwMCArMDEwMAorKysrIHA3emlwXzkuMjAuMS9tYWtlZmlsZS5tYWNoaW5lCTIwMTUtMDItMDMgMDg6Mzk6NDQuNDI3Njk2OTQ0ICswMTAwCitAQCAtNCwxNCArNCwxNCBAQAorIAorIE9QVEZMQUdTPS1PCisgCistQUxMRkxBR1M9JHtPUFRGTEFHU30gLXBpcGUgLXMgXAorK0FMTEZMQUdTPSR7T1BURkxBR1N9IC1waXBlIFwKKyAgICAgCS1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSBcCisgCS1ETkRFQlVHIC1EX1JFRU5UUkFOVCAtREVOVl9VTklYIFwKKyAJLURfN1pJUF9MQVJHRV9QQUdFUyBcCisgCSQoTE9DQUxfRkxBR1MpCisgCistQ1hYPWcrKyAkKEFMTEZMQUdTKQorLUNDPWdjYyAkKEFMTEZMQUdTKQorK0NYWCs9JChBTExGTEFHUykKKytDQys9JChBTExGTEFHUykKKyBDQ19TSEFSRUQ9LWZQSUMKKyBMSU5LX1NIQVJFRD0tZlBJQyAtc2hhcmVkCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wN3ppcC9wN3ppcF85LjIwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wN3ppcC9wN3ppcF85LjIwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg5ZmM0MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3A3emlwL3A3emlwXzkuMjAuMS5iYgpAQCAtMCwwICsxLDM1IEBACitTVU1NQVJZID0gIjctemlwIGlzIGEgY29tbWFuZGxpbmUgdXRpbGl0eSBoYW5kbGluZyA3eiBhcmNoaXZlcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LjctemlwLm9yZy8iCitMSUNFTlNFID0gIkxHUEwtMi4xKyAmIHVuUkFSIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vRE9DUy9jb3B5aW5nLnR4dDttZDU9ZWNmYzU0YzllMzdiNjNhYzU4OTAwMDYxY2UyZWFiNWEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vRE9DUy91blJhckxpY2Vuc2UudHh0O21kNT05Yzg3ZGRkZTQ2OWVmOTRhZWQxNTNiMDk1MWQwODhkZSIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9wN3ppcC9wN3ppcC8ke1BWfS9wN3ppcF8ke1BWfV9zcmNfYWxsLnRhci5iejIgXAorICAgICAgICAgIGZpbGU6Ly9kb19ub3Rfb3ZlcnJpZGVfY29tcGlsZXJfYW5kX2RvX25vdF9zdHJpcC5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZDZjYWFlYTU2N2RjMGQ5OTVjOTkwYzVjYzg4M2M4OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0OTU1N2U3ZmZjYTA4MTAwZjlmYzY4N2Y0ZGZjNWFlYTcwM2NhMjA3NjQwYzc2ZDlkZWU3YjY2ZjAzY2I0NzgyIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59XyR7UFZ9IgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2Jpbi8qICR7RH0ke2JpbmRpcn0KK30KKworIyBhbGwzOiB0byBidWlsZCBiaW4vN3phLCBiaW4vN3ogKHdpdGggaXRzIHBsdWdpbnMpLCBiaW4vN3pyIGFuZCBiaW4vN3pDb24uc2Z4CitFWFRSQV9PRU1BS0VfY2xhc3MtbmF0aXZlID0gImFsbDMiCisKK2RvX2luc3RhbGxfY2xhc3MtbmF0aXZlKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfS9Db2RlY3MKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9iaW4vNyogJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2Jpbi9Db2RlY3MvKiAke0R9JHtiaW5kaXJ9L0NvZGVjcworCisgICAgIyBDcmVhdGUgYSBzaGVsbCBzY3JpcHQgd3JhcHBlciB0byBleGVjdXRlIG5leHQgdG8gN3ouc28KKyAgICBtdiAke0R9JHtiaW5kaXJ9Lzd6ICR7RH0ke2JpbmRpcn0vN3ouYmluCisgICAgZWNobyAiIyEgL2Jpbi9zaCIgPiAke0R9JHtiaW5kaXJ9Lzd6CisgICAgZWNobyAiZXhlYyAke0R9JHtiaW5kaXJ9Lzd6LmJpbiBcIlwkQFwiIiA+PiAke0R9JHtiaW5kaXJ9Lzd6CisgICAgY2htb2QgMDc1NSAke0R9JHtiaW5kaXJ9Lzd6Cit9CisKK0JCQ0xBU1NFWFRFTkQgKz0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9maWxlcy81MC1vcmcuZnJlZWRlc2t0b3AuTmV0d29ya01hbmFnZXIucnVsZXMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvZmlsZXMvNTAtb3JnLmZyZWVkZXNrdG9wLk5ldHdvcmtNYW5hZ2VyLnJ1bGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiNTBjZjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvZmlsZXMvNTAtb3JnLmZyZWVkZXNrdG9wLk5ldHdvcmtNYW5hZ2VyLnJ1bGVzCkBAIC0wLDAgKzEsOCBAQAorLyogZ2l2ZSBncm91cCAnbmV0d29yaycgcmlnaHRzIHRvIGNoYW5nZSBzZXR0aW5ncyAqLworLyogdGFrZW4gZnJvbSBodHRwczovL3dpa2kuYXJjaGxpbnV4Lm9yZy9pbmRleC5waHAvTmV0d29ya01hbmFnZXIjU2V0X3VwX1BvbGljeUtpdF9wZXJtaXNzaW9ucyAqLworCitwb2xraXQuYWRkUnVsZShmdW5jdGlvbihhY3Rpb24sIHN1YmplY3QpIHsKKyAgaWYgKGFjdGlvbi5pZC5pbmRleE9mKCJvcmcuZnJlZWRlc2t0b3AuTmV0d29ya01hbmFnZXIuIikgPT0gMCAmJiBzdWJqZWN0LmlzSW5Hcm91cCgibmV0d29yayIpKSB7CisgICAgcmV0dXJuIHBvbGtpdC5SZXN1bHQuWUVTOworICB9Cit9KTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9maWxlcy81MC1vcmcuZnJlZWRlc2t0b3AudGltZWRhdGUxLnJ1bGVzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L2ZpbGVzLzUwLW9yZy5mcmVlZGVza3RvcC50aW1lZGF0ZTEucnVsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTViMGUwZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9maWxlcy81MC1vcmcuZnJlZWRlc2t0b3AudGltZWRhdGUxLnJ1bGVzCkBAIC0wLDAgKzEsOCBAQAorLyogZ2l2ZSBncm91cCAnZGF0ZXRpbWUnIHJpZ2h0cyB0byBjaGFuZ2Ugc2V0dGluZ3MgKi8KKy8qIGJhc2VkIHVwb24gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9zeXN0ZW1kLWRldmVsLzIwMTMtTWFyY2gvMDA5NTc2Lmh0bWwgKi8KKworcG9sa2l0LmFkZFJ1bGUoZnVuY3Rpb24oYWN0aW9uLCBzdWJqZWN0KSB7CisgIGlmIChhY3Rpb24uaWQuaW5kZXhPZigib3JnLmZyZWVkZXNrdG9wLnRpbWVkYXRlMS4iKSA9PSAwICYmIHN1YmplY3QuaXNJbkdyb3VwKCJkYXRldGltZSIpKSB7CisgICAgcmV0dXJuIHBvbGtpdC5SZXN1bHQuWUVTOworICB9Cit9KTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9maWxlcy9ndGstZG9jLWNoZWNrLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L2ZpbGVzL2d0ay1kb2MtY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGI2YWQ3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9maWxlcy9ndGstZG9jLWNoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKKy0tLSBwb2xraXQtZ25vbWUtMC4xMDUvY29uZmlndXJlLmFjLm9yZwkyMDE1LTA1LTA0IDIyOjMzOjAzLjkyNTk3Nzk1MyAtMDcwMAorKysrIHBvbGtpdC1nbm9tZS0wLjEwNS9jb25maWd1cmUuYWMJMjAxNS0wNS0wNCAyMjozMzoxNi44NjIyODgwMzAgLTA3MDAKK0BAIC0xMjAsNiArMTIwLDkgQEAKKyAjIENoZWNrIGZvciByZXF1aXJlZCBwYWNrYWdlcworICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisrIyBjaGVjayBmb3IgZ3RrLWRvYworK0dUS19ET0NfQ0hFQ0soWzEuMTRdLFstLWZsYXZvdXIgbm8tdG1wbF0pCisrCisgUE9MS0lUX0FHRU5UX1JFUVVJUkVEPTAuOTcKKyBQT0xLSVRfR09CSkVDVF9SRVFVSVJFRD0wLjk3CisgR1RLX1JFUVVJUkVEPTMuMC4wCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LWdub21lXzAuMTA1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC1nbm9tZV8wLjEwNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTk5NzMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC1nbm9tZV8wLjEwNS5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkdOT01FIEF1dGhlbnRpY2F0aW9uIEFnZW50IGZvciBQb2xpY3lLaXQiCitERVNDUklQVElPTiA9ICJQb2xpY3lLaXQtZ25vbWUgcHJvdmlkZXMgYW4gQXV0aGVudGljYXRpb24gQWdlbnQgZm9yIFBvbGljeUtpdCB0aGF0IGludGVncmF0ZXMgd2VsbCB3aXRoIHRoZSBHTk9NRSBkZXNrdG9wIGVudmlyb25tZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wYWNrYWdla2l0Lm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgorREVQRU5EUyA9ICJwb2xraXQgZGJ1cy1nbGliIGdjb25mIGd0aysgaW50bHRvb2wtbmF0aXZlIGdub21lLWNvbW1vbiIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc0NTc5ZmFiMTczZTRjNWUxMmFhYzBjZDgzZWU5OGVjIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9tYWluLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9YWJhMTQ1ZDE4MDJmMjMyOWJhNTYxZTNlNDhlY2I3OTUiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9kb3dubG9hZC5nbm9tZS5vcmcvc291cmNlcy9wb2xraXQtZ25vbWUvJHtQVn0vcG9sa2l0LWdub21lLSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9ndGstZG9jLWNoZWNrLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MGVjYWQzN2M4MzQyZmI0YTUyZjU5MGRiNzUzMDYyMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNzg0NDk0OTYzYjhiZjlhMDBlZWRjNmNkM2EyODY4ZmIxMjNiOGE1ZTUxNmU2NmM1ZWRhNDhkZjE3YWI5MzY5IgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZGlzYWJsZS1zdGF0aWMgXAorIgorCitERVBFTkRTICs9ICJndGsrMyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ3RrLWRvYyBwa2djb25maWcKKworRklMRVNfJHtQTn0gKz0gIiAke2RhdGFkaXJ9L2RidXMtMSBcCisgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vUG9saWN5S2l0IFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ3JvdXAtcnVsZS1kYXRldGltZS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ3JvdXAtcnVsZS1kYXRldGltZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2VkNGI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC1ncm91cC1ydWxlLWRhdGV0aW1lLmJiCkBAIC0wLDAgKzEsMTQgQEAKK0RFU0NSSVBUSU9OID0gIkNyZWF0ZSB1c2VyZ3JvdXAgZGF0ZXRpbWUuIEFsbCBtZW1iZXJzIG9mZiB0aGlzIGdyb3VwIGFyZSBhbGxvd2VkIHNldCBkYXRlL3RpbWUvdGltZXpvbmUgdmlhIHN5c3RlbSBkYnVzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9MSUNFTlNFO21kNT00ZDkyY2QzNzNhYmRhMzkzN2MyYmM0N2ZiYzQ5ZDY5MCIKKworcmVxdWlyZSBwb2xraXQtZ3JvdXAtcnVsZS5pbmMKKworU1JDX1VSSSA9ICJmaWxlOi8vNTAtb3JnLmZyZWVkZXNrdG9wLnRpbWVkYXRlMS5ydWxlcyIKKworZG9faW5zdGFsbCgpIHsKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vNTAtb3JnLmZyZWVkZXNrdG9wLnRpbWVkYXRlMS5ydWxlcyAke0R9JHtzeXNjb25mZGlyfS9wb2xraXQtMS9ydWxlcy5kCit9CisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitHUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSBkYXRldGltZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ3JvdXAtcnVsZS1uZXR3b3JrLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC1ncm91cC1ydWxlLW5ldHdvcmsuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTUxZWQzZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ3JvdXAtcnVsZS1uZXR3b3JrLmJiCkBAIC0wLDAgKzEsMTQgQEAKK0RFU0NSSVBUSU9OID0gIkNyZWF0ZSB1c2VyZ3JvdXAgbmV0d29yay4gQWxsIG1lbWJlcnMgb2ZmIHRoaXMgZ3JvdXAgYXJlIGFsbG93ZWQgdG8gbW9kaWZ5IG5ldHdvcmttYW5hZ2VyIHNldHRpbmdzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9MSUNFTlNFO21kNT00ZDkyY2QzNzNhYmRhMzkzN2MyYmM0N2ZiYzQ5ZDY5MCIKKworcmVxdWlyZSBwb2xraXQtZ3JvdXAtcnVsZS5pbmMKKworU1JDX1VSSSA9ICJmaWxlOi8vNTAtb3JnLmZyZWVkZXNrdG9wLk5ldHdvcmtNYW5hZ2VyLnJ1bGVzIgorCitkb19pbnN0YWxsKCkgeworICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS81MC1vcmcuZnJlZWRlc2t0b3AuTmV0d29ya01hbmFnZXIucnVsZXMgJHtEfSR7c3lzY29uZmRpcn0vcG9sa2l0LTEvcnVsZXMuZAorfQorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gbmV0d29yayIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ3JvdXAtcnVsZS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LWdyb3VwLXJ1bGUuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3MjdkMDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LWdyb3VwLXJ1bGUuaW5jCkBAIC0wLDAgKzEsMTAgQEAKKyMgcG9sa2l0IG11c3QgcHJlcGFyZSBwb2xraWQgZ3JvdXAKK0RFUEVORFMgKz0gInBvbGtpdCIKKworaW5oZXJpdCB1c2VyYWRkCisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1tIDcwMCAtZCAke0R9JHtzeXNjb25mZGlyfS9wb2xraXQtMS9ydWxlcy5kCisgICAgY2hvd24gcG9sa2l0ZDpwb2xraXRkICR7RH0ke3N5c2NvbmZkaXJ9L3BvbGtpdC0xL3J1bGVzLmQKK30KK1VTRVJBRERfUEFSQU1fJHtQTn1fcHJlcGVuZCA9ICItLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0tdXNlci1ncm91cCAtLWhvbWUtZGlyICR7c3lzY29uZmRpcn0vcG9sa2l0LTEgcG9sa2l0ZDsiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LzAwMDEtbWFrZS1uZXRncm91cC1zdXBwb3J0LWNvbmZpZ3VyYWJsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQvMDAwMS1tYWtlLW5ldGdyb3VwLXN1cHBvcnQtY29uZmlndXJhYmxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlM2FmODcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LzAwMDEtbWFrZS1uZXRncm91cC1zdXBwb3J0LWNvbmZpZ3VyYWJsZS5wYXRjaApAQCAtMCwwICsxLDEwNyBAQAorRnJvbSA3ZDVlMjA1YWE1OGExMGU3YjFjY2MyZmE3NWI0NDM1MDhhNWMzZTE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjAgSmFuIDIwMTYgMDQ6MzE6NTkgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWFrZSBuZXRncm91cCBzdXBwb3J0IGNvbmZpZ3VyYWJsZQorCitEaXNhYmxlIHVzaW5nIGlubmV0Z3IgYW5kICpuZXRpZ3JlbnQgZnVuY3Rpb24gaWYgbm90IGF2YWlsYWJsZQorCitUaGVzZSBmdW5jdGlvbnMgYXJlIG5vdCBhdmFpbGFibGUgb24gYWxsIGxpYmMgaW1wbGVtZW50YXRpb25zIGUuZy4gbXVzbAorZG9lc250IGhhdmUgdGhlbS4KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKyBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBzcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYyB8IDYgKysrKystCisgc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGpzYXV0aG9yaXR5LmMgICAgICAgICAgfCA1ICsrLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDA3OTgyZDEuLjIxNTkwYjIgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTE1OCw3ICsxNTgsNyBAQCBBQ19DSEVDS19MSUIoZXhwYXQsWE1MX1BhcnNlckNyZWF0ZSxbRVhQQVRfTElCUz0iLWxleHBhdCJdLAorIAkgICAgIFtBQ19NU0dfRVJST1IoW0Nhbid0IGZpbmQgZXhwYXQgbGlicmFyeS4gUGxlYXNlIGluc3RhbGwgZXhwYXQuXSldKQorIEFDX1NVQlNUKEVYUEFUX0xJQlMpCisgCistQUNfQ0hFQ0tfRlVOQ1MoY2xlYXJlbnYgZmRhdGFzeW5jKQorK0FDX0NIRUNLX0ZVTkNTKGNsZWFyZW52IGZkYXRhc3luYyBnZXRuZXRncmVudCBpbm5ldGdyKQorIAorIGlmIHRlc3QgIngkR0NDIiA9ICJ4eWVzIjsgdGhlbgorICAgTERGTEFHUz0iLVdsLC0tYXMtbmVlZGVkICRMREZMQUdTIgorZGlmZiAtLWdpdCBhL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jIGIvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGludGVyYWN0aXZlYXV0aG9yaXR5LmMKK2luZGV4IDcwMTkzNTYuLmNmMzlkNzcgMTAwNjQ0CistLS0gYS9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYworKysrIGIvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGludGVyYWN0aXZlYXV0aG9yaXR5LmMKK0BAIC0yMjEzLDcgKzIyMTMsNyBAQCBnZXRfdXNlcnNfaW5fZ3JvdXAgKFBvbGtpdElkZW50aXR5ICAgICAgICAgICAgICAgICAgICAqZ3JvdXAsCisgIG91dDoKKyAgIHJldHVybiByZXQ7CisgfQorLQorKyNpZiBkZWZpbmVkIEhBVkVfR0VUTkVUR1JFTlQKKyBzdGF0aWMgR0xpc3QgKgorIGdldF91c2Vyc19pbl9uZXRfZ3JvdXAgKFBvbGtpdElkZW50aXR5ICAgICAgICAgICAgICAgICAgICAqZ3JvdXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX3Jvb3QpCitAQCAtMjI3MCw2ICsyMjcwLDggQEAgZ2V0X3VzZXJzX2luX25ldF9ncm91cCAoUG9sa2l0SWRlbnRpdHkgICAgICAgICAgICAgICAgICAgICpncm91cCwKKyAgIHJldHVybiByZXQ7CisgfQorIAorKyNlbmRpZgorKworIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKyAKKyBzdGF0aWMgdm9pZAorQEAgLTIzNTUsMTAgKzIzNTcsMTIgQEAgYXV0aGVudGljYXRpb25fYWdlbnRfaW5pdGlhdGVfY2hhbGxlbmdlIChBdXRoZW50aWNhdGlvbkFnZW50ICAgICAgICAgKmFnZW50LAorICAgICAgICAgeworICAgICAgICAgICB1c2VyX2lkZW50aXRpZXMgPSBnX2xpc3RfY29uY2F0ICh1c2VyX2lkZW50aXRpZXMsIGdldF91c2Vyc19pbl9ncm91cCAoaWRlbnRpdHksIEZBTFNFKSk7CisgICAgICAgICB9CisrI2lmIGRlZmluZWQgSEFWRV9HRVRORVRHUkVOVAorICAgICAgIGVsc2UgaWYgKFBPTEtJVF9JU19VTklYX05FVEdST1VQIChpZGVudGl0eSkpCisgICAgICAgICB7CisgICAgICAgICAgIHVzZXJfaWRlbnRpdGllcyA9ICBnX2xpc3RfY29uY2F0ICh1c2VyX2lkZW50aXRpZXMsIGdldF91c2Vyc19pbl9uZXRfZ3JvdXAgKGlkZW50aXR5LCBGQUxTRSkpOworICAgICAgICAgfQorKyNlbmRpZgorICAgICAgIGVsc2UKKyAgICAgICAgIHsKKyAgICAgICAgICAgZ193YXJuaW5nICgiVW5zdXBwb3J0ZWQgaWRlbnRpdHkiKTsKK2RpZmYgLS1naXQgYS9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kanNhdXRob3JpdHkuYyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRqc2F1dGhvcml0eS5jCitpbmRleCAwOTdkY2M1Li5lNTliM2Y3IDEwMDY0NAorLS0tIGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGpzYXV0aG9yaXR5LmMKKysrKyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRqc2F1dGhvcml0eS5jCitAQCAtMTQ5OCw3ICsxNDk4LDYgQEAganNfcG9sa2l0X3NwYXduIChKU0NvbnRleHQgICpjeCwKKyAKKyAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisgCistCisgc3RhdGljIEpTQm9vbAorIGpzX3BvbGtpdF91c2VyX2lzX2luX25ldGdyb3VwIChKU0NvbnRleHQgICpjeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgICAgYXJnYywKK0BAIC0xNTE4LDYgKzE1MTcsNyBAQCBqc19wb2xraXRfdXNlcl9pc19pbl9uZXRncm91cCAoSlNDb250ZXh0ICAqY3gsCisgICB1c2VyID0gSlNfRW5jb2RlU3RyaW5nIChjeCwgdXNlcl9zdHIpOworICAgbmV0Z3JvdXAgPSBKU19FbmNvZGVTdHJpbmcgKGN4LCBuZXRncm91cF9zdHIpOworIAorKyNpZiBkZWZpbmVkIEhBVkVfSU5ORVRHUgorICAgaWYgKGlubmV0Z3IgKG5ldGdyb3VwLAorICAgICAgICAgICAgICAgIE5VTEwsICAvKiBob3N0ICovCisgICAgICAgICAgICAgICAgdXNlciwKK0BAIC0xNTI1LDYgKzE1MjUsNyBAQCBqc19wb2xraXRfdXNlcl9pc19pbl9uZXRncm91cCAoSlNDb250ZXh0ICAqY3gsCisgICAgIHsKKyAgICAgICBpc19pbl9uZXRncm91cCA9ICBKU19UUlVFOworICAgICB9CisrI2VuZGlmCisgCisgICBKU19mcmVlIChjeCwgbmV0Z3JvdXApOworICAgSlNfZnJlZSAoY3gsIHVzZXIpOworQEAgLTE1MzYsOCArMTUzNyw2IEBAIGpzX3BvbGtpdF91c2VyX2lzX2luX25ldGdyb3VwIChKU0NvbnRleHQgICpjeCwKKyAgIHJldHVybiByZXQ7CisgfQorIAorLQorLQorIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKyAKKyB0eXBlZGVmIHN0cnVjdAorLS0gCisyLjcuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0L3BvbGtpdC0xX3BhbS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQvcG9sa2l0LTFfcGFtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0NjQ3ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0L3BvbGtpdC0xX3BhbS5wYXRjaApAQCAtMCwwICsxLDIzIEBACitwb2xraXQ6IE5vIHN5c3RlbS1hdXRoIGluIE9FLUNvcmUsIHdlIGNhbiB1c2UgY29tbW9uLSogaW4gcGxhY2Ugb2YgaXQuCisKK1Vwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBYaWFvZmVuZyBZYW4gPHhpYW9mZW5nLnlhbkB3aW5kcml2ZXIuY29tPgorCistLS0gYS9jb25maWd1cmUuYWMJMjAxMS0wMy0wNCAwMjoyNjoyMC4wMDAwMDAwMDAgKzA4MDAKKysrKyBiL2NvbmZpZ3VyZS5hYy5uZXcJMjAxMS0wNy0xOCAxMDoxNDoxMi41MTY4MTg4NTIgKzA4MDAKK0BAIC0zNTAsMTAgKzM1MCwxMCBAQAorICAgICBQQU1fRklMRV9JTkNMVURFX1BBU1NXT1JEPXN5c3RlbQorICAgICBQQU1fRklMRV9JTkNMVURFX1NFU1NJT049c3lzdGVtCisgZWxzZQorLSAgIFBBTV9GSUxFX0lOQ0xVREVfQVVUSD1zeXN0ZW0tYXV0aAorLSAgIFBBTV9GSUxFX0lOQ0xVREVfQUNDT1VOVD1zeXN0ZW0tYXV0aAorLSAgIFBBTV9GSUxFX0lOQ0xVREVfUEFTU1dPUkQ9c3lzdGVtLWF1dGgKKy0gICBQQU1fRklMRV9JTkNMVURFX1NFU1NJT049c3lzdGVtLWF1dGgKKysgICBQQU1fRklMRV9JTkNMVURFX0FVVEg9Y29tbW9uLWF1dGgKKysgICBQQU1fRklMRV9JTkNMVURFX0FDQ09VTlQ9Y29tbW9uLWFjY291bnQKKysgICBQQU1fRklMRV9JTkNMVURFX1BBU1NXT1JEPWNvbW1vbi1wYXNzd29yZAorKyAgIFBBTV9GSUxFX0lOQ0xVREVfU0VTU0lPTj1jb21tb24tc2Vzc2lvbgorIGZpCisgCisgQUNfU1VCU1QoUEFNX0ZJTEVfSU5DTFVERV9BVVRIKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdF8wLjExMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXRfMC4xMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRkMTk4YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXRfMC4xMTMuYmIKQEAgLTAsMCArMSw0OSBAQAorU1VNTUFSWSA9ICJQb2xpY3lLaXQgQXV0aG9yaXphdGlvbiBGcmFtZXdvcmsiCitERVNDUklQVElPTiA9ICJUaGUgcG9sa2l0IHBhY2thZ2UgaXMgYW4gYXBwbGljYXRpb24tbGV2ZWwgdG9vbGtpdCBmb3IgZGVmaW5pbmcgYW5kIGhhbmRsaW5nIHRoZSBwb2xpY3kgdGhhdCBhbGxvd3MgdW5wcml2aWxlZ2VkIHByb2Nlc3NlcyB0byBzcGVhayB0byBwcml2aWxlZ2VkIHByb2Nlc3Nlcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL3BvbGtpdCIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE1NWRiODZjZGJhZmE3NTMyYjQxZjM5MDQwOTI4M2ViIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9wb2xraXQvcG9sa2l0Lmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9MGE4NjMwYjAxMzMxNzZkMDUwNGM4N2EwZGVkMzlkYjQiCisKK0RFUEVORFMgPSAiZXhwYXQgZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIG1vempzIgorCitpbmhlcml0IGF1dG90b29scyBndGstZG9jIHBrZ2NvbmZpZyB1c2VyYWRkIHN5c3RlbWQgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1BBQ0tBR0VDT05GSUcgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywnc3lzdGVtZCcsJ2NvbnNvbGVraXQnLGQpfSIKKworUEFDS0FHRUNPTkZJR1twYW1dID0gIi0td2l0aC1hdXRoZnc9cGFtLC0td2l0aC1hdXRoZnc9c2hhZG93LGxpYnBhbSxsaWJwYW0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0tZW5hYmxlLWxpYnN5c3RlbWQtbG9naW49eWVzIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywtLWVuYWJsZS1saWJzeXN0ZW1kLWxvZ2luPW5vIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0sc3lzdGVtZCIKKyMgdGhlcmUgaXMgbm8gLS1lbmFibGUvLS1kaXNhYmxlIG9wdGlvbiBmb3IgY29uc29sZWtpdCBhbmQgaXQncyBub3QgcGlja2VkIGJ5IHNobGlicywgc28gYWRkIGl0IHRvIFJERVBFTkRTCitQQUNLQUdFQ09ORklHW2NvbnNvbGVraXRdID0gIiwsLGNvbnNvbGVraXQiCisKK1BBTV9TUkNfVVJJID0gImZpbGU6Ly9wb2xraXQtMV9wYW0ucGF0Y2giCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlL3BvbGtpdC9yZWxlYXNlcy9wb2xraXQtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWFrZS1uZXRncm91cC1zdXBwb3J0LWNvbmZpZ3VyYWJsZS5wYXRjaCBcCisgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyR7UEFNX1NSQ19VUkl9JywgJycsIGQpfSBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiNGI3Nzc3NmM5ZTRmODk3ZGNmZTAzYjJjMzQxOThlZGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTFjMDk1MDkzYzY1NDk1MWY3OGY4NjE4ZDQyN2ZhZjkxY2Y2MmFiZGVmZWQ5OGRlNDBmZjY1ZWNhNjQxM2M4MSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1vcy10eXBlPW1vYmxpbiAtLWRpc2FibGUtbWFuLXBhZ2VzIgorCitkb19jb21waWxlX3ByZXBlbmQgKCkgeworCWV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSIke0J9L3NyYy9wb2xraXQvLmxpYnMiCit9CisKK1BBQ0tBR0VTID0rICIke1BOfS1leGFtcGxlcyIKKworRklMRVNfJHtQTn1fYXBwZW5kID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS0xIFwKKyAgICAke25vbmFyY2hfbGliZGlyfS8ke0JQTn0tMSBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LTEgXAorIgorCitGSUxFU18ke1BOfS1leGFtcGxlcyA9ICIke2JpbmRpcn0vKmV4YW1wbGUqIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0tdXNlci1ncm91cCAtLWhvbWUtZGlyICR7c3lzY29uZmRpcn0vJHtCUE59LTEgcG9sa2l0ZCIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QlBOfS5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcHl3YmVtL3B5d2JlbV8wLjguMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3B5d2JlbS9weXdiZW1fMC44LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY5YTViZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3B5d2JlbS9weXdiZW1fMC44LjAuYmIKQEAgLTAsMCArMSwzNiBAQAorU1VNTUFSWSA9ICJQeXRob24gV0JFTSBDbGllbnQgYW5kIFByb3ZpZGVyIEludGVyZmFjZSIKK0RFU0NSSVBUSU9OID0gIlwKK0EgUHl0aG9uIGxpYnJhcnkgZm9yIG1ha2luZyBDSU0gKENvbW1vbiBJbmZvcm1hdGlvbiBNb2RlbCkgb3BlcmF0aW9ucyBvdmVyIFwKK0hUVFAgdXNpbmcgdGhlIFdCRU0gQ0lNLVhNTCBwcm90b2NvbC4gSXQgaXMgYmFzZWQgb24gdGhlIGlkZWEgdGhhdCBhIGdvb2QgXAorV0JFTSBjbGllbnQgc2hvdWxkIGJlIGVhc3kgdG8gdXNlIGFuZCBub3QgbmVjZXNzYXJpbHkgcmVxdWlyZSBhIGxhcmdlIGFtb3VudCBcCitvZiBwcm9ncmFtbWluZyBrbm93bGVkZ2UuIEl0IGlzIHN1aXRhYmxlIGZvciBhIGxhcmdlIHJhbmdlIG9mIHRhc2tzIGZyb20gXAorc2ltcGx5IHBva2luZyBhcm91bmQgdG8gd3JpdGluZyB3ZWIgYW5kIEdVSSBhcHBsaWNhdGlvbnMuIFwKK1wKK1dCRU0sIG9yIFdlYiBCYXNlZCBFbnRlcnByaXNlIE1hbmFnZW1lbnQgaXMgYSBtYW5hZ2VhYmlsaXR5IHByb3RvY29sLCBsaWtlIFwKK1NOTVAsIHN0YW5kYXJkaXNlZCBieSB0aGUgRGlzdHJpYnV0ZWQgTWFuYWdlbWVudCBUYXNrIEZvcmNlIChETVRGKSBhdmFpbGFibGUgXAorYXQgaHR0cDovL3d3dy5kbXRmLm9yZy9zdGFuZGFyZHMvd2JlbS4gXAorXAorSXQgYWxzbyBwcm92aWRlcyBhIFB5dGhvbiBwcm92aWRlciBpbnRlcmZhY2UsIGFuZCBpcyB0aGUgZmFzdGVzdCBhbmQgZWFzaWVzdCBcCit3YXkgdG8gd3JpdGUgcHJvdmlkZXJzIG9uIHRoZSBwbGFuZXQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3B5d2JlbS5zZi5uZXQvIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9weXdiZW0vTElDRU5TRS50eHQ7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IgorU0VDVElPTiA9ICJEZXZlbG9wbWVudC9MaWJyYXJpZXMiCitERVBFTkRTID0gInB5dGhvbi1tMmNyeXB0by1uYXRpdmUiCitTUkNfVVJJID0gImh0dHA6Ly9qYWlzdC5kbC5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC8ke0JQTn0vJHtCUE59LyR7QlB9LyR7QlB9LWRldi5yNzA0LnppcCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NDA3MjQ1MWRjZGQxYWE5ZWU4MjM2Mzg0OGZhZjdhZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4OTgwMzU4NjZkM2NjNzQxYmJjZDYyYzRhYzI2ZTYzM2FkMDdiN2MxMWQ4OWRiMjQ3MmI5ZjkyM2YzZmQzZWQ4IgorCitTID0gIiR7V09SS0RJUn0vJHtCUH0tZGV2IgorCitpbmhlcml0IHNldHVwdG9vbHMgcHl0aG9uLWRpcgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBtdiAke0R9JHtiaW5kaXJ9L3diZW1jbGkucHkgJHtEfSR7YmluZGlyfS9weXdiZW1jbGkKKyAgICBtdiAke0R9JHtiaW5kaXJ9L21vZl9jb21waWxlci5weSAke0R9JHtiaW5kaXJ9L21vZmNvbXAKKworICAgIHJtICR7RH0ke2xpYmRpcn0vcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvJHtCUE59L3diZW1jbGkucHkqCisgICAgcm0gJHtEfSR7bGliZGlyfS9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8ke0JQTn0vbW9mX2NvbXBpbGVyLnB5KgorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkLzAwMDEtcmFycGQuOC1hZGQtbWFuLWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC8wMDAxLXJhcnBkLjgtYWRkLW1hbi1maWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3Yzc1YjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC8wMDAxLXJhcnBkLjgtYWRkLW1hbi1maWxlLnBhdGNoCkBAIC0wLDAgKzEsODkgQEAKK0Zyb20gZDkxMTYxZWIxNjNjMTY0MDgyMDJhOTFiNDMyNWEzMzgxYWIzMzc1MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgMTggTm92IDIwMTQgMTc6NTU6MzEgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzVdIHJhcnBkLjggOiBhZGQgbWFuIGZpbGUKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgcmFycGQuOCB8IDY5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgcmFycGQuOAorCitkaWZmIC0tZ2l0IGEvcmFycGQuOCBiL3JhcnBkLjgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5jZTdiZDcwCistLS0gL2Rldi9udWxsCisrKysgYi9yYXJwZC44CitAQCAtMCwwICsxLDY5IEBACisrLlRIIFJBUlAgOCAiNyBBcHJpbCAyMDAwIiAicmFycGQiICJMaW51eCBQcm9ncmFtbWVyJ3MgTWFudWFsIgorKy5TSCBOQU1FCisrcmFycGQgXC0gUmV2ZXJzZSBBZGRyZXNzIFJlc29sdXRpb24gUHJvdG9jb2wgKFJBUlApIGRhZW1vbgorKy5TSCBTWU5PUFNJUworKy5CICJyYXJwZCBbLWFBdmRlXSBbLWIgYm9vdGRpciBdIFsgaW50ZXJmYWNlIF0iCisrLlNIIERFU0NSSVBUSU9OCisrLkIgUmFycGQKKytpcyBhIGRhZW1vbiB3aGljaCByZXNwb25kcyB0byBSQVJQIHJlcXVlc3RzLgorK1JBUlAgaXMgdXNlZCBieSBzb21lIG1hY2hpbmVzIGF0IGJvb3QgdGltZSB0byBkaXNjb3ZlciB0aGVpciBJUCBhZGRyZXNzLgorK1RoZXkgcHJvdmlkZSB0aGVpciBFdGhlcm5ldCBhZGRyZXNzIGFuZAorKy5CIHJhcnBkCisrcmVzcG9uZHMgd2l0aCB0aGVpciBJUCBhZGRyZXNzIGlmIGl0IGZpbmRzIGl0IGluIHRoZSBldGhlcnMgZGF0YWJhc2UKKysoZWl0aGVyCisrLkkgL2V0Yy9ldGhlcnMKKytmaWxlIG9yIE5JUysgbG9va3VwKSBhbmQgdXNpbmcgRE5TIGxvb2t1cCBpZiBldGhlcnMgZGF0YWJhc2UKKytjb250YWlucyBhIGhvc3RuYW1lIGFuZCBub3QgYW4gSVAgYWRkcmVzcy4KKytCeSBkZWZhdWx0CisrLkIgcmFycGQKKythbHNvIGNoZWNrcyBpZiBhIGJvb3RhYmxlIGltYWdlIHdpdGggYSBuYW1lIHN0YXJ0aW5nIHdpdGggdGhlIElQIGFkZHJlc3MKKytpbiBoZXhhZGVjaW1hbCB1cHBlcmNhc2UgbGV0dGVycyBpcyBwcmVzZW50IGluIHRoZSBURlRQIGJvb3QgZGlyZWN0b3J5CisrKHVzdWFsbHkKKysuSSAvdGZ0cGJvb3QKKyspIGJlZm9yZSBpdCBkZWNpZGVzIHRvIHJlc3BvbmQgdG8gdGhlIFJBUlAgcmVxdWVzdC4KKysuU0ggT1BUSU9OUworKy5UUAorKy5CIFwtYQorK0RvIG5vdCBiaW5kIHRvIHRoZSBpbnRlcmZhY2UuCisrLlRQCisrLkIgXC1BCisrUmVzcG9uZCB0byBBUlAgYXMgd2VsbCBhcyBSQVJQIHJlcXVlc3RzLgorKy5UUAorKy5CIFwtdgorK1RlbGwgdGhlIHVzZXIgd2hhdCBpcyBnb2luZyBvbiBieSBiZWluZyB2ZXJib3NlLgorKy5UUAorKy5CIFwtZAorK0RlYnVnZ2luZyBtb2RlLiBEbyBub3QgZGV0YWNoIGZyb20gdGhlIHR0eS4KKysuVFAKKysuQiBcLWUKKytTa2lwIHRoZSBjaGVjayBmb3IgYm9vdGFibGUgaW1hZ2UgaW4gdGhlIFRGVFAgYm9vdCBkaXJlY3RvcnkuIElmIG5vdAorK3ByZXNlbnQsIHRoZW4gZXZlbiBpZiB0aGUgRXRoZXJuZXQgYWRkcmVzcyBpcyBwcmVzZW50IGluCisrdGhlIGV0aGVycyBkYXRhYmFzZSBidXQgdGhlIGJvb3RhYmxlIGltYWdlIGZvciB0aGUgcmVzb2x2ZWQgSVAgZG9lcyBub3QgZXhpc3QsCisrLkIgcmFycGQKKyt3aWxsIG5vdCByZXNwb25kIHRvIHRoZSByZXF1ZXN0LgorKy5UUAorKy5CICJcLWIgYm9vdGRpciIKKytVc2UKKysuSSBib290ZGlyCisraW5zdGVhZCBvZiB0aGUgZGVmYXVsdAorKy5JIC90ZnRwYm9vdAorK2FzIHRoZSBURlRQIGJvb3QgZGlyZWN0b3J5IGZvciBib290YWJsZSBpbWFnZSBjaGVja3MuCisrLlNIIE9CU09MRVRFUworK1RoaXMKKysuQiByYXJwZAorK29ic29sZXRlcyBrZXJuZWwKKysuQiByYXJwCisrZGFlbW9uIHByZXNlbnQgaW4gTGludXgga2VybmVscyB1cCB0byAyLjIgd2hpY2ggd2FzIGNvbnRyb2xsZWQgYnkgdGhlCisrcmFycCg4KSBjb21tYW5kLgorKy5TSCBGSUxFUworKy5JIC9ldGMvZXRoZXJzLAorKy5icgorKy5JIC9ldGMvbnNzd2l0Y2guY29uZiwKKysuYnIKKysuSSAvdGZ0cGJvb3QKKysuU0ggU0VFIEFMU08KKytldGhlcnMoNSkKKysuU0ggQVVUSE9SUworK0FsZXhleSBLdXpuZXRzb3YsIDxrdXpuZXRAbXMyLmluci5hYy5ydT4KKysuYnIKKytKYWt1YiBKZWxpbmVrLCA8amFrdWJAcmVkaGF0LmNvbT4KKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC8wMDAyLU1ha2VmaWxlLW1vZGlmeS1jb21waWxlLXBhcmFtZXRlcnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC8wMDAyLU1ha2VmaWxlLW1vZGlmeS1jb21waWxlLXBhcmFtZXRlcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIzZWJjNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkLzAwMDItTWFrZWZpbGUtbW9kaWZ5LWNvbXBpbGUtcGFyYW1ldGVycy5wYXRjaApAQCAtMCwwICsxLDI2IEBACitGcm9tIGQyM2IxM2JkOTU5MjA0ODI0MDcwNDMzZDk1NGM1ZGZiZmM0MjFiYjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBUdWUsIDE4IE5vdiAyMDE0IDE4OjA1OjI3ICswOTAwCitTdWJqZWN0OiBbUEFUQ0ggMi81XSBNYWtlZmlsZSA6IG1vZGlmeSBjb21waWxlIHBhcmFtZXRlcnMKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgTWFrZWZpbGUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAxOTk2NmI0Li44NmE4MTY5IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMSw3ICsxLDcgQEAKKyBDQz1nY2MKKyBDRkxBR1M9LU8yIC1XYWxsIC1nICQoREVGSU5FUykKKyAKKy1PQko9cmFycGQubyBldGhlcm5ldC5vCisrT0JKPXJhcnBkLm8KKyAKKyBhbGw6IHJhcnBkCisgCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGQvMDAwMy1yYXJwZC5jLWJ1Zy1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC8wMDAzLXJhcnBkLmMtYnVnLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2UxMjc5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGQvMDAwMy1yYXJwZC5jLWJ1Zy1maXgucGF0Y2gKQEAgLTAsMCArMSwyNjMgQEAKK0Zyb20gYjQ5YzhlNmU2NjgwMTQwNjUyMGQxYmZmNzkxYzY2ZGZmN2IxY2RkYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgMTggTm92IDIwMTQgMTg6MTA6MjAgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCAzLzVdIHJhcnBkLmMgOiBidWcgZml4CisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIHJhcnBkLmMgfCA5OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3JhcnBkLmMgYi9yYXJwZC5jCitpbmRleCAzMzVkMmQyLi5kNDUzMDBlIDEwMDY0NAorLS0tIGEvcmFycGQuYworKysrIGIvcmFycGQuYworQEAgLTcsOSArNywxMSBAQAorICAqCQkyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICAqCisgICogQXV0aG9yczoJQWxleGV5IEt1em5ldHNvdiwgPGt1em5ldEBtczIuaW5yLmFjLnJ1PgorKyAqCQlKYWt1YiBKZWxpbmVrLCA8amFrdWJAcmVkaGF0LmNvbT4KKyAgKi8KKyAKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKysjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPHN5c2xvZy5oPgorICNpbmNsdWRlIDxkaXJlbnQuaD4KKyAjaW5jbHVkZSA8bWFsbG9jLmg+CitAQCAtMjYsNiArMjgsOCBAQAorICNpbmNsdWRlIDxuZXQvaWYuaD4KKyAjaW5jbHVkZSA8bmV0L2lmX2FycC5oPgorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisrI2luY2x1ZGUgPG5ldGluZXQvZXRoZXIuaD4KKysjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX3BhY2tldC5oPgorICNpbmNsdWRlIDxsaW51eC9maWx0ZXIuaD4KKyAKK0BAIC0zOSwyNyArNDMsMjYgQEAgaW50IG9ubHlfZXRoZXJzOworIGludCBhbGxfaWZhY2VzOworIGludCBsaXN0ZW5fYXJwOworIGNoYXIgKmlmbmFtZTsKKy1jaGFyICp0ZnRwX2RpciA9ICIvZXRjL3RmdHBib290IjsKKytjaGFyICp0ZnRwX2RpciA9ICIvdGZ0cGJvb3QiOworIAorLWV4dGVybiBpbnQgZXRoZXJfbnRvaG9zdChjaGFyICpuYW1lLCB1bnNpZ25lZCBjaGFyICplYSk7Cisgdm9pZCB1c2FnZSh2b2lkKSBfX2F0dHJpYnV0ZV9fKChub3JldHVybikpOworIAorLXN0cnVjdCBpZmxpbmsKKytzdHJ1Y3QgcmFycGlmbGluaworIHsKKy0Jc3RydWN0IGlmbGluawkqbmV4dDsKKy0JaW50CSAgICAgICAJaW5kZXg7CistCWludAkJaGF0eXBlOworLQl1bnNpZ25lZCBjaGFyCWxsYWRkclsxNl07CistCXVuc2lnbmVkIGNoYXIJbmFtZVtJRk5BTVNJWl07CistCXN0cnVjdCBpZmFkZHIgCSppZmFfbGlzdDsKKysJc3RydWN0IHJhcnBpZmxpbmsJKm5leHQ7CisrCWludAkgICAgICAgCQlpbmRleDsKKysJaW50CQkJaGF0eXBlOworKwl1bnNpZ25lZCBjaGFyCQlsbGFkZHJbMTZdOworKwl1bnNpZ25lZCBjaGFyCQluYW1lW0lGTkFNU0laXTsKKysJc3RydWN0IHJhcnBpZmFkZHIgCSppZmFfbGlzdDsKKyB9ICppZmxfbGlzdDsKKyAKKy1zdHJ1Y3QgaWZhZGRyCisrc3RydWN0IHJhcnBpZmFkZHIKKyB7CistCXN0cnVjdCBpZmFkZHIgCSpuZXh0OworLQlfX3UzMgkJcHJlZml4OworLQlfX3UzMgkJbWFzazsKKy0JX191MzIJCWxvY2FsOworKwlzdHJ1Y3QgcmFycGlmYWRkciAJKm5leHQ7CisrCV9fdTMyCQkJcHJlZml4OworKwlfX3UzMgkJCW1hc2s7CisrCV9fdTMyCQkJbG9jYWw7CisgfTsKKyAKKyBzdHJ1Y3QgcmFycF9tYXAKK0BAIC04Nyw4ICs5MCw4IEBAIHZvaWQgbG9hZF9pZigpCisgeworIAlpbnQgZmQ7CisgCXN0cnVjdCBpZnJlcSAqaWZycCwgKmlmZW5kOworLQlzdHJ1Y3QgaWZsaW5rICppZmw7CistCXN0cnVjdCBpZmFkZHIgKmlmYTsKKysJc3RydWN0IHJhcnBpZmxpbmsgKmlmbDsKKysJc3RydWN0IHJhcnBpZmFkZHIgKmlmYTsKKyAJc3RydWN0IGlmY29uZiBpZmM7CisgCXN0cnVjdCBpZnJlcSBpYnVmWzI1Nl07CisgCitAQCAtMTQ0LDcgKzE0Nyw3IEBAIHZvaWQgbG9hZF9pZigpCisgCQkJCWNvbnRpbnVlOworIAkJCX0KKyAKKy0JCQlpZmwgPSAoc3RydWN0IGlmbGluayopbWFsbG9jKHNpemVvZigqaWZsKSk7CisrCQkJaWZsID0gKHN0cnVjdCByYXJwaWZsaW5rKiltYWxsb2Moc2l6ZW9mKCppZmwpKTsKKyAJCQlpZiAoaWZsID09IE5VTEwpCisgCQkJCWNvbnRpbnVlOworIAkJCW1lbXNldChpZmwsIDAsIHNpemVvZigqaWZsKSk7CitAQCAtMTU0LDYgKzE1Nyw3IEBAIHZvaWQgbG9hZF9pZigpCisgCQkJaWZsLT5oYXR5cGUgPSBpZnJwLT5pZnJfaHdhZGRyLnNhX2ZhbWlseTsKKyAJCQltZW1jcHkoaWZsLT5sbGFkZHIsIGlmcnAtPmlmcl9od2FkZHIuc2FfZGF0YSwgMTQpOworIAkJCXN0cm5jcHkoaWZsLT5uYW1lLCBpZnJwLT5pZnJfbmFtZSwgSUZOQU1TSVopOworKwkJCWlmbC0+bmFtZVtJRk5BTVNJWi0xXSA9IDA7CisgCQkJcCA9IHN0cmNocihpZmwtPm5hbWUsICc6Jyk7CisgCQkJaWYgKHApCisgCQkJCSpwID0gMDsKK0BAIC0xNzksNyArMTgzLDcgQEAgdm9pZCBsb2FkX2lmKCkKKyAJCWlmIChpZmEgPT0gTlVMTCkgeworIAkJCWlmIChtYXNrID09IDAgfHwgcHJlZml4ID09IDApCisgCQkJCWNvbnRpbnVlOworLQkJCWlmYSA9IChzdHJ1Y3QgaWZhZGRyKiltYWxsb2Moc2l6ZW9mKCppZmEpKTsKKysJCQlpZmEgPSAoc3RydWN0IHJhcnBpZmFkZHIqKW1hbGxvYyhzaXplb2YoKmlmYSkpOworIAkJCW1lbXNldChpZmEsIDAsIHNpemVvZigqaWZhKSk7CisgCQkJaWZhLT5sb2NhbCA9IGFkZHI7CisgCQkJaWZhLT5wcmVmaXggPSBwcmVmaXg7CitAQCAtMjA3LDYgKzIxMSw3IEBAIHZvaWQgbG9hZF9pZigpCisgCQkJfQorIAkJfQorIAl9CisrCWNsb3NlKGZkKTsKKyB9CisgCisgdm9pZCBjb25maWd1cmUoKQorQEAgLTIyNSwyMCArMjMwLDIxIEBAIGludCBib290YWJsZShfX3UzMiBhZGRyKQorIAlkID0gb3BlbmRpcih0ZnRwX2Rpcik7CisgCWlmIChkID09IE5VTEwpIHsKKyAJCXN5c2xvZyhMT0dfRVJSLCAib3BlbmRpcjogJW0iKTsKKy0JCXJldHVybiAwOworKwkJZ290byBkb25lX2Jvb3RhYmxlOworIAl9CisgCXdoaWxlICgoZGVudCA9IHJlYWRkaXIoZCkpICE9IE5VTEwpIHsKKyAJCWlmIChzdHJuY21wKGRlbnQtPmRfbmFtZSwgbmFtZSwgOCkgPT0gMCkKKyAJCQlicmVhazsKKyAJfQorK2RvbmVfYm9vdGFibGU6CisgCWNsb3NlZGlyKGQpOworIAlyZXR1cm4gZGVudCAhPSBOVUxMOworIH0KKyAKKy1zdHJ1Y3QgaWZhZGRyICpzZWxlY3RfaXBhZGRyKGludCBpZmluZGV4LCBfX3UzMiAqc2VsX2FkZHIsIF9fdTMyICoqYWxpc3QpCisrc3RydWN0IHJhcnBpZmFkZHIgKnNlbGVjdF9pcGFkZHIoaW50IGlmaW5kZXgsIF9fdTMyICpzZWxfYWRkciwgX191MzIgKiphbGlzdCkKKyB7CistCXN0cnVjdCBpZmxpbmsgKmlmbDsKKy0Jc3RydWN0IGlmYWRkciAqaWZhOworKwlzdHJ1Y3QgcmFycGlmbGluayAqaWZsOworKwlzdHJ1Y3QgcmFycGlmYWRkciAqaWZhOworIAlpbnQgcmV0cnkgPSAwOworIAlpbnQgaTsKKyAKK0BAIC0yOTQsNyArMzAwLDcgQEAgc3RydWN0IHJhcnBfbWFwICpyYXJwX2xvb2t1cChpbnQgaWZpbmRleCwgaW50IGhhdHlwZSwKKyAKKyAJaWYgKHIgPT0gTlVMTCkgeworIAkJaWYgKGhhdHlwZSA9PSBBUlBIUkRfRVRIRVIgJiYgaGFsZW4gPT0gNikgeworLQkJCXN0cnVjdCBpZmFkZHIgKmlmYTsKKysJCQlzdHJ1Y3QgcmFycGlmYWRkciAqaWZhOworIAkJCXN0cnVjdCBob3N0ZW50ICpocDsKKyAJCQljaGFyIGVuYW1lWzI1Nl07CisgCQkJc3RhdGljIHN0cnVjdCByYXJwX21hcCBlbWFwID0geworQEAgLTMwNCw3ICszMTAsNyBAQCBzdHJ1Y3QgcmFycF9tYXAgKnJhcnBfbG9va3VwKGludCBpZmluZGV4LCBpbnQgaGF0eXBlLAorIAkJCQk2LAorIAkJCX07CisgCistCQkJaWYgKGV0aGVyX250b2hvc3QoZW5hbWUsIGxsYWRkcikgIT0gMCB8fAorKwkJCWlmIChldGhlcl9udG9ob3N0KGVuYW1lLCAoc3RydWN0IGV0aGVyX2FkZHIgKilsbGFkZHIpICE9IDAgfHwKKyAJCQkgICAgKGhwID0gZ2V0aG9zdGJ5bmFtZShlbmFtZSkpID09IE5VTEwpIHsKKyAJCQkJaWYgKHZlcmJvc2UpCisgCQkJCQlzeXNsb2coTE9HX0lORk8sICJub3QgZm91bmQgaW4gL2V0Yy9ldGhlcnMiKTsKK0BAIC0zNDUsNyArMzUxLDcgQEAgc3RhdGljIGludCBsb2FkX2FycF9icGZsZXQoaW50IGZkKQorIAorIGludCBwdXRfbXlsbGFkZHIodW5zaWduZWQgY2hhciAqKnB0cl9wLCBpbnQgaWZpbmRleCwgaW50IGFsZW4pCisgeworLQlzdHJ1Y3QgaWZsaW5rICppZmw7CisrCXN0cnVjdCByYXJwaWZsaW5rICppZmw7CisgCisgCWZvciAoaWZsPWlmbF9saXN0OyBpZmw7IGlmbCA9IGlmbC0+bmV4dCkKKyAJCWlmIChpZmwtPmluZGV4ID09IGlmaW5kZXgpCitAQCAtMzYyLDggKzM2OCw4IEBAIGludCBwdXRfbXlsbGFkZHIodW5zaWduZWQgY2hhciAqKnB0cl9wLCBpbnQgaWZpbmRleCwgaW50IGFsZW4pCisgaW50IHB1dF9teWlwYWRkcih1bnNpZ25lZCBjaGFyICoqcHRyX3AsIGludCBpZmluZGV4LCBfX3UzMiBoaXNpcGFkZHIpCisgeworIAlfX3UzMiBsYWRkciA9IDA7CistCXN0cnVjdCBpZmxpbmsgKmlmbDsKKy0Jc3RydWN0IGlmYWRkciAqaWZhOworKwlzdHJ1Y3QgcmFycGlmbGluayAqaWZsOworKwlzdHJ1Y3QgcmFycGlmYWRkciAqaWZhOworIAorIAlmb3IgKGlmbD1pZmxfbGlzdDsgaWZsOyBpZmwgPSBpZmwtPm5leHQpCisgCQlpZiAoaWZsLT5pbmRleCA9PSBpZmluZGV4KQorQEAgLTM4OCw3ICszOTQsNyBAQCB2b2lkIGFycF9hZHZpc2UoaW50IGlmaW5kZXgsIHVuc2lnbmVkIGNoYXIgKmxsYWRkciwgaW50IGxsbGVuLCBfX3UzMiBpcGFkZHIpCisgCWludCBmZDsKKyAJc3RydWN0IGFycHJlcSByZXE7CisgCXN0cnVjdCBzb2NrYWRkcl9pbiAqc2luOworLQlzdHJ1Y3QgaWZsaW5rICppZmw7CisrCXN0cnVjdCByYXJwaWZsaW5rICppZmw7CisgCisgCWZvciAoaWZsPWlmbF9saXN0OyBpZmw7IGlmbCA9IGlmbC0+bmV4dCkKKyAJCWlmIChpZmwtPmluZGV4ID09IGlmaW5kZXgpCitAQCAtNDIxLDYgKzQyNywxMCBAQCB2b2lkIHNlcnZlX2l0KGludCBmZCkKKyAJc3RydWN0IHJhcnBfbWFwICpybWFwOworIAl1bnNpZ25lZCBjaGFyICpwdHI7CisgCWludCBuOworKwlpbnQgaTsKKysJY2hhciB0bXBidWZbMTYqM107CisrCWNoYXIgdG1wbmFtZVtJRk5BTVNJWl07CisrCXN0cnVjdCByYXJwaWZsaW5rICppZmw7CisgCisgCW4gPSByZWN2ZnJvbShmZCwgYnVmLCBzaXplb2YoYnVmKSwgTVNHX0RPTlRXQUlULCAoc3RydWN0IHNvY2thZGRyKikmc2xsLCAmc2xsX2xlbik7CisgCWlmIChuPDApIHsKK0BAIC00NDcsMjEgKzQ1NywyMyBAQCB2b2lkIHNlcnZlX2l0KGludCBmZCkKKyAJaWYgKGEtPmFyX29wICE9IGh0b25zKEFSUE9QX1JSRVFVRVNUKSkKKyAJCXJldHVybjsKKyAKKy0JaWYgKHZlcmJvc2UpIHsKKy0JCWludCBpOworLQkJY2hhciB0bXBidWZbMTYqM107CistCQljaGFyICpwdHIgPSB0bXBidWY7CistCQlmb3IgKGk9MDsgaTxzbGwuc2xsX2hhbGVuOyBpKyspIHsKKy0JCQlpZiAoaSkgeworLQkJCQlzcHJpbnRmKHB0ciwgIjolMDJ4Iiwgc2xsLnNsbF9hZGRyW2ldKTsKKy0JCQkJcHRyKys7CistCQkJfSBlbHNlCistCQkJCXNwcmludGYocHRyLCAiJTAyeCIsIHNsbC5zbGxfYWRkcltpXSk7CistCQkJcHRyICs9IDI7CistCQl9CistCQlzeXNsb2coTE9HX0lORk8sICJSQVJQIHJlcXVlc3QgZnJvbSAlcyBvbiBpZiVkIiwgdG1wYnVmLCBzbGwuc2xsX2lmaW5kZXgpOworKwlwdHIgPSB0bXBidWY7CisrICAgICAgICBzbnByaW50Zih0bXBidWYsIDIsICIlMDJ4Iiwgc2xsLnNsbF9hZGRyWzBdKTsKKysJZm9yIChwdHI9dG1wYnVmKzIsIGk9MTsgaTxzbGwuc2xsX2hhbGVuOyBpKyspIHsKKysJCXNucHJpbnRmKHB0ciwgMywgIjolMDJ4Iiwgc2xsLnNsbF9hZGRyW2ldKTsKKysJCXB0ciArPSAzOworIAl9CisgCisrCWZvciAoaWZsPWlmbF9saXN0OyBpZmw7IGlmbCA9IGlmbC0+bmV4dCkKKysJCWlmIChpZmwtPmluZGV4ID09IHNsbC5zbGxfaWZpbmRleCkKKysJCQlicmVhazsKKysJaWYgKGlmbCkgeworKwkJc3RybmNweSh0bXBuYW1lLCBpZmwtPm5hbWUsIElGTkFNU0laKTsKKysJCXRtcG5hbWVbSUZOQU1TSVotMV0gPSAwOworKwl9IGVsc2UKKysJCXNwcmludGYodG1wbmFtZSwgImlmJWQiLCBzbGwuc2xsX2lmaW5kZXgpOworKwlzeXNsb2coTE9HX0lORk8sICJSQVJQIHJlcXVlc3QgZnJvbSAlcyBvbiAlcyIsIHRtcGJ1ZiwgdG1wbmFtZSk7CisrCisgCS8qIFNhbml0eSBjaGVja3MgKi8KKyAKKyAJLyogMS4gSVAgb25seSAtPiBwbG49PTQgKi8KK0BAIC01MjYsNiArNTM4LDggQEAgdm9pZCBzZXJ2ZV9pdChpbnQgZmQpCisgCXB0ciArPSBybWFwLT5sbGFkZHJfbGVuOworIAltZW1jcHkocHRyLCAmcm1hcC0+aXBhZGRyLCA0KTsKKyAJcHRyICs9IDQ7CisrCXN5c2xvZyhMT0dfSU5GTywgIlJBUlAgcmVzcG9uc2UgdG8gJXMgJXMgb24gJXMiLCB0bXBidWYsCisrCSAgICAgICBpbmV0X250b2EoKihzdHJ1Y3QgaW5fYWRkciAqKSZybWFwLT5pcGFkZHIpLCB0bXBuYW1lKTsKKyAKKyAJLyogVXBkYXRlIG91ciBBUlAgY2FjaGUuIFByb2JhYmx5LCB0aGlzIGd1eQorIAkgICB3aWxsIG5vdCBhYmxlIHRvIG1ha2UgQVJQIChpZiBpdCBpcyBicm9rZW4pCitAQCAtNjEzLDcgKzYyNyw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgICAgIGlmIChpZm5hbWUpIHsKKyAJCXN0cnVjdCBpZnJlcSBpZnI7CisgCQltZW1zZXQoJmlmciwgMCwgc2l6ZW9mKGlmcikpOworLQkJc3RybmNweShpZnIuaWZyX25hbWUsIGlmbmFtZSwgSUZOQU1TSVopOworKwkJc3RybmNweShpZnIuaWZyX25hbWUsIGlmbmFtZSwgSUZOQU1TSVotMSk7CisgCQlpZiAoaW9jdGwocHNldFswXS5mZCwgU0lPQ0dJRklOREVYLCAmaWZyKSkgeworIAkJCXBlcnJvcigiaW9jdGwoU0lPQ0dJRklOREVYKSIpOworIAkJCXVzYWdlKCk7CistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGQvMDAwNC1yYXJwZC5pbml0LWFkZC1uZXctaW5pdC1maWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGQvMDAwNC1yYXJwZC5pbml0LWFkZC1uZXctaW5pdC1maWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiYTExZmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC8wMDA0LXJhcnBkLmluaXQtYWRkLW5ldy1pbml0LWZpbGUucGF0Y2gKQEAgLTAsMCArMSwxMTYgQEAKK0Zyb20gMGVmMWE5NWIyMjBjN2UxMTBkYTk1MGU1Y2M1NDRjNTBjMjViMWJjNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgMTggTm92IDIwMTQgMTg6MTE6NTYgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCA0LzVdIHJhcnBkLmluaXQgOiBhZGQgbmV3IGluaXQgZmlsZQorCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyByYXJwZC5pbml0IHwgOTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOTYgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCByYXJwZC5pbml0CisKK2RpZmYgLS1naXQgYS9yYXJwZC5pbml0IGIvcmFycGQuaW5pdAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmVmY2Y4MjUKKy0tLSAvZGV2L251bGwKKysrKyBiL3JhcnBkLmluaXQKK0BAIC0wLDAgKzEsOTYgQEAKKysjIS9iaW4vYmFzaAorKyMKKysjCS9ldGMvaW5pdC5kL3JhcnBkCisrIworKyMgU3RhcnRzIHRoZSByYXJwZCBkYWVtb24KKysjCisrIyBjaGtjb25maWc6IC0gODIgMTYKKysjIGRlc2NyaXB0aW9uOiBTZXJ2ZXIgUmV2ZXJzZSBBZGRyZXNzIFJlc29sdXRpb24gUHJvdG9jb2wgcmVxdWVzdHMuCisrIyBwcm9jZXNzbmFtZTogcmFycGQKKysKKysjIyMgQkVHSU4gSU5JVCBJTkZPCisrIyBQcm92aWRlczogcmFycGQKKysjIFJlcXVpcmVkLVN0YXJ0OiAkc3lzbG9nICRuZXR3b3JrCisrIyBSZXF1aXJlZC1TdG9wOiAgJHN5c2xvZyAkbmV0d29yaworKyMgRGVmYXVsdC1TdGFydDoKKysjIERlZmF1bHQtU3RvcDogMCAxIDIgMyA0IDUgNgorKyMgU2hvcnQtRGVzY3JpcHRpb246IHN0YXJ0IGFuZCBzdG9wIHJhcnBkCisrIyBEZXNjcmlwdGlvbjogUkFSUCAoUmV2ZXJzZSBBZGRyZXNzIFJlc29sdXRpb24gUHJvdG9jb2wpIGlzIGEgcHJvdG9jb2wgXAorKyMgICAgICAgICAgICAgIHdoaWNoIGFsbG93cyBpbmRpdmlkdWFsIGRldmljZXMgb24gYW4gSVAgbmV0d29yayB0byBnZXQgXAorKyMgICAgICAgICAgICAgIHRoZWlyIG93biBJUCBhZGRyZXNzZXMgZnJvbSB0aGUgUkFSUCBzZXJ2ZXIuIFwKKysjIyMgRU5EIElOSVQgSU5GTworKworKyMgU291cmNlIGZ1bmN0aW9uIGxpYnJhcnkuCisrLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKysKKysjIFJlYWQgdGhlIGNvbmZpZyBmaWxlIGlmIGV4aXN0cworK2lmIFsgLWYgL2V0Yy9zeXNjb25maWcvcmFycGQgXTsgdGhlbgorKyAuIC9ldGMvc3lzY29uZmlnL3JhcnBkCisrZmkKKysKKytSRVRWQUw9MAorK3Byb2c9InJhcnBkIgorKworKworK3N0YXJ0KCkgeworKyAgICAjaWYgdGhlc2UgZmlsZXMgZG9uJ3QgZXhpc3QgcmFycGQgY2FuJ3Qgd29yaworKyAgICB0ZXN0IC14IC91c3Ivc2Jpbi9yYXJwZCAtYSAtZiAvZXRjL2V0aGVycyB8fCBleGl0IDYKKysJIyBDaGVjayBpZiByYXJwZCBpcyBhbHJlYWR5IHJ1bm5pbmcKKysJI2lmIFsgISAtZiAvdmFyL2xvY2svc3Vic3lzL3JhcnBkIF07IHRoZW4KKysgICAgc3RhdHVzIHJhcnBkOworKyAgICBpZiBbICQ/IC1uZSAwIF07IHRoZW4KKysJICAgIGVjaG8gLW4gJCJTdGFydGluZyAkcHJvZzogIgorKwkgICAgZGFlbW9uIC91c3Ivc2Jpbi9yYXJwZCAkT1BUSU9OUyAkSU5URVJGQUNFCisrCSAgICBSRVRWQUw9JD8KKysJICAgIFsgJFJFVFZBTCAtZXEgMCBdICYmIHRvdWNoIC92YXIvbG9jay9zdWJzeXMvcmFycGQKKysJICAgIGVjaG8KKysJZmkKKysJcmV0dXJuICRSRVRWQUwKKyt9CisrCisrc3RvcCgpIHsKKysJZWNobyAtbiAkIlN0b3BwaW5nICRwcm9nOiAiCisrCWtpbGxwcm9jIC91c3Ivc2Jpbi9yYXJwZAorKwlSRVRWQUw9JD8KKysJWyAkUkVUVkFMIC1lcSAwIF0gJiYgcm0gLWYgL3Zhci9sb2NrL3N1YnN5cy9yYXJwZAorKwllY2hvCisrCXJldHVybiAkUkVUVkFMCisrfQorK3JlbG9hZCgpIHsKKysgICAgUkVUVkFMPTMKKyt9CisrCisrIworKyMJU2VlIGhvdyB3ZSB3ZXJlIGNhbGxlZC4KKysjCisrY2FzZSAiJDEiIGluCisrICBzdGFydCkKKysJc3RhcnQKKysJOzsKKysgIHN0b3ApCisrCXN0b3AKKysJOzsKKysgIHJlbG9hZCkKKysgICAgcmVsb2FkCisrICAgIDs7CisrICBmb3JjZS1yZWxvYWR8cmVzdGFydCkKKysgICAgc3RvcAorKwlzdGFydAorKwk7OworKyAgY29uZHJlc3RhcnQpCisrCWlmIFsgLWYgL3Zhci9sb2NrL3N1YnN5cy9yYXJwZCBdOyB0aGVuCisrCSAgICBzdG9wCisrCSAgICBzdGFydAorKwlmaQorKwk7OworKyAgc3RhdHVzKQorKwlzdGF0dXMgcmFycGQKKysJUkVUVkFMPSQ/CisrCTs7CisrICAqKQorKwllY2hvICQiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHJlc3RhcnR8Y29uZHJlc3RhcnR8cmVsb2FkfHN0YXR1c3xmb3JjZS1yZWxvYWR9IgorKwlSRVRWQUw9MgorKyAgICAKKytlc2FjCisrCisrZXhpdCAkUkVUVkFMCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGQvMDAwNS1ldGhlcm5ldC5jLXJlbW92ZS1pdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkLzAwMDUtZXRoZXJuZXQuYy1yZW1vdmUtaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzc3YzgwNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkLzAwMDUtZXRoZXJuZXQuYy1yZW1vdmUtaXQucGF0Y2gKQEAgLTAsMCArMSwyNDQgQEAKK0Zyb20gYWJlMTViYTEwZGRjMzU0OGM1MjhjY2IwODgwOTdkN2FiZjViZTQ4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgMTggTm92IDIwMTQgMTg6MTQ6MDcgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCA1LzVdIGV0aGVybmV0LmMgOiByZW1vdmUgaXQKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgZXRoZXJuZXQuYyB8IDIyNCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIyNCBkZWxldGlvbnMoLSkKKyBkZWxldGUgbW9kZSAxMDA2NDQgZXRoZXJuZXQuYworCitkaWZmIC0tZ2l0IGEvZXRoZXJuZXQuYyBiL2V0aGVybmV0LmMKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggZDY4MmI2My4uMDAwMDAwMAorLS0tIGEvZXRoZXJuZXQuYworKysrIC9kZXYvbnVsbAorQEAgLTEsMjI0ICswLDAgQEAKKy0vKgorLSAqIENvcHlyaWdodCAoYykgMTk5MCwgMTk5MyBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCistICoKKy0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdDogKDEpIHNvdXJjZSBjb2RlIGRpc3RyaWJ1dGlvbnMKKy0gKiByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGFyYWdyYXBoIGluIGl0cyBlbnRpcmV0eSwgKDIpCistICogZGlzdHJpYnV0aW9ucyBpbmNsdWRpbmcgYmluYXJ5IGNvZGUgaW5jbHVkZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQKKy0gKiB0aGlzIHBhcmFncmFwaCBpbiBpdHMgZW50aXJldHkgaW4gdGhlIGRvY3VtZW50YXRpb24gb3Igb3RoZXIgbWF0ZXJpYWxzCistICogcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLCBhbmQgKDMpIGFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZworLSAqIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlIGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CistICogYGBUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEsCistICogTGF3cmVuY2UgQmVya2VsZXkgTGFib3JhdG9yeSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4nJyBOZWl0aGVyIHRoZSBuYW1lIG9mCistICogdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2UKKy0gKiBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKy0gKiB3cml0dGVuIHBlcm1pc3Npb24uCistICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIFdJVEhPVVQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorLSAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgV0lUSE9VVCBMSU1JVEFUSU9OLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCistICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KKy0gKi8KKy0jaWZuZGVmIGxpbnQKKy1zdGF0aWMgY2hhciByY3NpZFtdID0KKy0gICAgIkAoIykgJEhlYWRlcjogZXRoZXJlbnQuYyx2IDEuNCA5Ni8wNi8xNCAyMDozNDoyNSBsZXJlcyBFeHAgJCAoTEJMKSI7CistI2VuZGlmCistCistI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorLSNpbmNsdWRlIDxzeXMvc3RhdC5oPgorLSNpbmNsdWRlIDxzeXMvdGltZS5oPgorLQorLSNpbmNsdWRlIDxjdHlwZS5oPgorLSNpbmNsdWRlIDxzdGRpby5oPgorLSNpbmNsdWRlIDxzdHJpbmcuaD4KKy0KKy0jaWZuZGVmIEVUSEVSU19GSUxFCistI2RlZmluZSBFVEhFUlNfRklMRSAiL2V0Yy9ldGhlcnMiCistI2VuZGlmCistCistc3RydWN0IGV0aGVyZW50IHsKKy0gICAgICAgIHVfY2hhciBhZGRyWzZdOworLSAgICAgICAgY2hhciBuYW1lWzEyMl07CistfTsKKy0KKy1zdGF0aWMgRklMRSAqZXRoZXJfZnAgPSBOVUxMOworLQorLQorLS8qIEhleCBkaWdpdCB0byBpbnRlZ2VyLiAqLworLXN0YXRpYyBpbmxpbmUgaW50CisteGR0b2koYykKKy0JaW50IGM7CisteworLQorLQlpZiAoaXNkaWdpdChjKSkKKy0JCXJldHVybiBjIC0gJzAnOworLQllbHNlIGlmIChpc2xvd2VyKGMpKQorLQkJcmV0dXJuIGMgLSAnYScgKyAxMDsKKy0JZWxzZQorLQkJcmV0dXJuIGMgLSAnQScgKyAxMDsKKy19CistCistc3RhdGljIGlubGluZSBpbnQKKy1za2lwX3NwYWNlKGYpCistCUZJTEUgKmY7CisteworLQlpbnQgYzsKKy0KKy0JZG8geworLQkJYyA9IGdldGMoZik7CistCX0gd2hpbGUgKGlzc3BhY2UoYykgJiYgYyAhPSAnXG4nKTsKKy0KKy0JcmV0dXJuIGM7CistfQorLQorLXN0YXRpYyBpbmxpbmUgaW50Cistc2tpcF9saW5lKGYpCistCUZJTEUgKmY7CisteworLQlpbnQgYzsKKy0KKy0JZG8KKy0JCWMgPSBnZXRjKGYpOworLQl3aGlsZSAoYyAhPSAnXG4nICYmIGMgIT0gRU9GKTsKKy0KKy0JcmV0dXJuIGM7CistfQorLQorLXN0YXRpYyBzdHJ1Y3QgZXRoZXJlbnQgKgorLW5leHRfZXRoZXJlbnQoZnApCistCUZJTEUgKmZwOworLXsKKy0JcmVnaXN0ZXIgaW50IGMsIGQsIGk7CistCWNoYXIgKmJwOworLQlzdGF0aWMgc3RydWN0IGV0aGVyZW50IGU7CistCXN0YXRpYyBpbnQgbmxpbmUgPSAxOworLSB0b3A6CistCXdoaWxlIChubGluZSkgeworLQkJLyogRmluZCBhZGRyICovCistCQljID0gc2tpcF9zcGFjZShmcCk7CistCQlpZiAoYyA9PSAnXG4nKQorLQkJCWNvbnRpbnVlOworLQkJLyogSWYgdGhpcyBpcyBhIGNvbW1lbnQsIG9yIGZpcnN0IHRoaW5nIG9uIGxpbmUKKy0JCSAgIGNhbm5vdCBiZSBldGVocm5ldCBhZGRyZXNzLCBza2lwIHRoZSBsaW5lLiAqLworLQkJZWxzZSBpZiAoIWlzeGRpZ2l0KGMpKQorLQkJCWMgPSBza2lwX2xpbmUoZnApOworLQkJZWxzZSB7CistCQkJLyogbXVzdCBiZSB0aGUgc3RhcnQgb2YgYW4gYWRkcmVzcyAqLworLQkJCWZvciAoaSA9IDA7IGkgPCA2OyBpICs9IDEpIHsKKy0JCQkJZCA9IHhkdG9pKGMpOworLQkJCQljID0gZ2V0YyhmcCk7CistCQkJCWlmIChjICE9ICc6JykgeworLQkJCQkJZCA8PD0gNDsKKy0JCQkJCWQgfD0geGR0b2koYyk7CistCQkJCQljID0gZ2V0YyhmcCk7CistCQkJCX0KKy0JCQkJZS5hZGRyW2ldID0gZDsKKy0JCQkJaWYgKGMgIT0gJzonKQorLQkJCQkJYnJlYWs7CistCQkJCWMgPSBnZXRjKGZwKTsKKy0JCQl9CistCQkJbmxpbmUgPSAwOworLQkJfQorLQkJaWYgKGMgPT0gRU9GKQorLQkJCXJldHVybiBOVUxMOworLQl9CistCQorLQkvKiBJZiB3ZSBzdGFydGVkIGEgbmV3IGxpbmUsICdjJyBob2xkcyB0aGUgY2hhciBwYXN0IHRoZSBldGhlciBhZGRyLAorLQkgICB3aGljaCB3ZSBhc3N1bWUgaXMgd2hpdGUgc3BhY2UuICBJZiB3ZSBhcmUgY29udGludWluZyBhIGxpbmUsCistCSAgICdjJyBpcyBnYXJiYWdlLiAgSW4gZWl0aGVyIGNhc2UsIHdlIGNhbiB0aHJvdyBpdCBhd2F5LiAqLworLQkgICAKKy0JYyA9IHNraXBfc3BhY2UoZnApOworLQlpZiAoYyA9PSAnXG4nKSB7CistCQlubGluZSA9IDE7CistCQlnb3RvIHRvcDsKKy0JfQorLQllbHNlIGlmIChjID09ICcjJykgeworLQkJKHZvaWQpc2tpcF9saW5lKGZwKTsKKy0JCW5saW5lID0gMTsKKy0JCWdvdG8gdG9wOworLQl9CistCWVsc2UgaWYgKGMgPT0gRU9GKQorLQkJcmV0dXJuIE5VTEw7CistCQorLQkvKiBNdXN0IGJlIGEgbmFtZS4gKi8KKy0JYnAgPSBlLm5hbWU7CistCS8qIFVzZSAnZCcgdG8gcHJldmVudCBidWZmZXIgb3ZlcmZsb3cuICovCistCWQgPSBzaXplb2YoZS5uYW1lKSAtIDE7CistCWRvIHsKKy0JCSpicCsrID0gYzsKKy0JCWMgPSBnZXRjKGZwKTsKKy0JfSB3aGlsZSAoIWlzc3BhY2UoYykgJiYgYyAhPSBFT0YgJiYgLS1kID4gMCk7CistCSpicCA9ICdcMCc7CistCWlmIChjID09ICdcbicpCistCQlubGluZSA9IDE7CistCistCXJldHVybiAmZTsKKy19CistCistLyogT3Blbi9yZXdpbmQgdGhlIGV0aGVycyBmaWxlczsgcmV0dXJucyAxIGlmIGZpbGUgd2FzIHJlb3BlbmVkICovCistaW50CistZXRoZXJfcmV3aW5kKCkKKy17CistCXN0cnVjdCBzdGF0IHN0OworLQlzdGF0aWMgbG9uZyBtdGltZSA9IDAsIGN0aW1lID0gMDsKKy0KKy0JaWYgKGV0aGVyX2ZwICE9IE5VTEwpIHsKKy0JCWlmIChmc3RhdChmaWxlbm8oZXRoZXJfZnApLCAmc3QpIDwgMCB8fAorLQkJICAgIG10aW1lICE9IHN0LnN0X210aW1lIHx8IGN0aW1lICE9IHN0LnN0X2N0aW1lIHx8CistCQkgICAgZnNlZWsoZXRoZXJfZnAsIDBMLCBTRUVLX1NFVCkgPCAwKSB7CistCQkJZmNsb3NlKGV0aGVyX2ZwKTsKKy0JCQlldGhlcl9mcCA9IE5VTEw7CistCQl9CistCX0KKy0JaWYgKGV0aGVyX2ZwID09IE5VTEwpIHsKKy0JCWV0aGVyX2ZwID0gZm9wZW4oRVRIRVJTX0ZJTEUsICJyIik7CistCQlpZiAoZXRoZXJfZnAgPT0gTlVMTCkKKy0JCQlyZXR1cm4gKC0xKTsKKy0JCWlmIChmc3RhdChmaWxlbm8oZXRoZXJfZnApLCAmc3QpIDwgMCkgeworLQkJCWZjbG9zZShldGhlcl9mcCk7CistCQkJZXRoZXJfZnAgPSBOVUxMOworLQkJCXJldHVybiAoLTEpOworLQkJfQorLQkJbXRpbWUgPSBzdC5zdF9tdGltZTsKKy0JCWN0aW1lID0gc3Quc3RfY3RpbWU7CistCQlyZXR1cm4gKDEpOworLQl9CistCXJldHVybiAoMCk7CistfQorLQorLS8qIE1hcCBhbiBldGhlcm5ldCBhZGRyZXNzIHRvIGEgbmFtZTsgcmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgMS4gKi8KKy1pbnQKKy1ldGhlcl9udG9ob3N0KG5hbWUsIGVhKQorLQlyZWdpc3RlciBjaGFyICpuYW1lOworLQlyZWdpc3RlciB1X2NoYXIgKmVhOworLXsKKy0JcmVnaXN0ZXIgc3RydWN0IGV0aGVyZW50ICplcDsKKy0KKy0JaWYgKGV0aGVyX3Jld2luZCgpIDwgMCkKKy0JCXJldHVybiAoMSk7CistCistCXdoaWxlICgoZXAgPSBuZXh0X2V0aGVyZW50KGV0aGVyX2ZwKSkgIT0gTlVMTCkKKy0JCWlmIChiY21wKGVwLT5hZGRyLCBlYSwgNikgPT0gMCkgeworLQkJCXN0cmNweShuYW1lLCBlcC0+bmFtZSk7CistCQkJcmV0dXJuICgwKTsKKy0JCX0KKy0JcmV0dXJuICgxKTsKKy19CistCistLyogTWFwIGFuIGV0aGVybmV0IG5hbWUgdG8gYW4gYWRkcmVzczsgcmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgMS4gKi8KKy1pbnQKKy1ldGhlcl9ob3N0dG9uKG5hbWUsIGVhKQorLQlyZWdpc3RlciBjaGFyICpuYW1lOworLQlyZWdpc3RlciB1X2NoYXIgKmVhOworLXsKKy0JcmVnaXN0ZXIgc3RydWN0IGV0aGVyZW50ICplcDsKKy0KKy0JaWYgKGV0aGVyX3Jld2luZCgpIDwgMCkKKy0JCXJldHVybiAoMSk7CistCistCXdoaWxlICgoZXAgPSBuZXh0X2V0aGVyZW50KGV0aGVyX2ZwKSkgIT0gTlVMTCkKKy0JCWlmIChzdHJjbXAoZXAtPm5hbWUsIG5hbWUpID09IDApIHsKKy0JCQliY29weShlcC0+YWRkciwgZWEsIDYpOworLQkJCXJldHVybiAoMCk7CistCQl9CistCXJldHVybiAoMSk7CistfQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkL2V0aGVycy5zYW1wbGUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC9ldGhlcnMuc2FtcGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0OWNhNmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZC9ldGhlcnMuc2FtcGxlCkBAIC0wLDAgKzEgQEAKKyMgc2VlIG1hbiBldGhlcnMgZm9yIHN5bnRheApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGQvcmFycGQuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkL3JhcnBkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM3NzEwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JhcnBkL3JhcnBkL3JhcnBkLnNlcnZpY2UKQEAgLTAsMCArMSwxNCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1SZXZlcnNlIEFkZHJlc3MgUmVzb2x1dGlvbiBQcm90b2NvbCBSZXF1ZXN0cyBTZXJ2ZXIKK1JlcXVpcmVzPW5ldHdvcmsudGFyZ2V0CitBZnRlcj1zeXNsb2cudGFyZ2V0IG5ldHdvcmsudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFbnZpcm9ubWVudEZpbGU9LS9ldGMvc3lzY29uZmlnL3JhcnBkCitFeGVjU3RhcnQ9L3Vzci9zYmluL3JhcnBkICRPUFRJT05TICRJTlRFUkZBQ0UKK1N0YW5kYXJkRXJyb3I9c3lzbG9nCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGRfc3M5ODExMDcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yYXJwZC9yYXJwZF9zczk4MTEwNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTEyMTY4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmFycGQvcmFycGRfc3M5ODExMDcuYmIKQEAgLTAsMCArMSw1MyBAQAorU1VNTUFSWSA9ICJUaGUgUkFSUCBkYWVtb24uIgorREVTQ1JJUFRJT04gPSAiUkFSUCAoUmV2ZXJzZSBBZGRyZXNzIFJlc29sdXRpb24gUHJvdG9jb2wpIGlzIGEgcHJvdG9jb2wgd2hpY2ggXAorYWxsb3dzIGluZGl2aWR1YWwgZGV2aWNlcyBvbiBhbiBJUCBuZXR3b3JrIHRvIGdldCB0aGVpciBvd24gSVAgYWRkcmVzc2VzIGZyb20gXAordGhlIFJBUlAgc2VydmVyLiBTb21lIG1hY2hpbmVzIChlLmcuIFNQQVJDIGJveGVzKSB1c2UgdGhpcyBwcm90b2NvbCBpbnN0ZWFkIFwKK29mIGUuZy4gREhDUCB0byBxdWVyeSB0aGVpciBJUCBhZGRyZXNzZXMgZHVyaW5nIG5ldHdvcmsgYm9vdHVwLiBcCitMaW51eCBrZXJuZWxzIHVwIHRvIDIuMiB1c2VkIHRvIHByb3ZpZGUgYSBrZXJuZWwgZGFlbW9uIGZvciB0aGlzIHNlcnZpY2UsIFwKK2J1dCBzaW5jZSAyLjMga2VybmVscyBpdCBpcyBzZXJ2ZWQgYnkgdGhpcyB1c2VybGFuZCBkYWVtb24uIFwKK1lvdSBzaG91bGQgaW5zdGFsbCByYXJwZCBpZiB5b3Ugd2FudCB0byBzZXQgdXAgYSBSQVJQIHNlcnZlciBvbiB5b3VyIFwKK25ldHdvcmsuIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvRGFlbW9ucyIKKworU1JDX1VSSSA9ICJodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9yZXBvL3BrZ3MvJHtCUE59LyR7QlB9LnRhci5nei9iZTJhODhmOGNjZGRmMmE0MGFjNDg0Y2IzMjk0ZmVkYy8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYmUyYTg4ZjhjY2RkZjJhNDBhYzQ4NGNiMzI5NGZlZGMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGQ2MTQ1ZDQzNWE1ZDhiNTY3Yjk3OTg2MjBmNTdmOWIwYTQ2NDA3OGExZGViYTI2Nzk1OGYxNjhmYmU3NzZlNiIKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtcmFycGQuOC1hZGQtbWFuLWZpbGUucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLU1ha2VmaWxlLW1vZGlmeS1jb21waWxlLXBhcmFtZXRlcnMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAzLXJhcnBkLmMtYnVnLWZpeC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDQtcmFycGQuaW5pdC1hZGQtbmV3LWluaXQtZmlsZS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDUtZXRoZXJuZXQuYy1yZW1vdmUtaXQucGF0Y2ggXAorICAgIGZpbGU6Ly9ldGhlcnMuc2FtcGxlIFwKKyAgICBmaWxlOi8vcmFycGQuc2VydmljZSBcCisiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vcmFycGQuYzttZDU9MTk5YjIwYjE3MmVhOTMxMjFiYzYxM2E5Yzc3YjY5MzEiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW44CisgICAgaW5zdGFsbCAtbSA3NTUgcmFycGQuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcmFycGQKKyAgICBpbnN0YWxsIC1tIDc1NSByYXJwZCAke0R9JHtzYmluZGlyfS9yYXJwZAorICAgIGluc3RhbGwgLW0gNjQ0IHJhcnBkLjggJHtEfSR7bWFuZGlyfS9tYW44L3JhcnBkLjgKKyAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L2V0aGVycy5zYW1wbGUgJHtEfSR7c3lzY29uZmRpcn0vZXRoZXJzCisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmFycGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBmaQorfQorCitpbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdWSVJUVUFMLVJVTlRJTUVfaW5pdF9tYW5hZ2VyJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCcnLGQpfQorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInJhcnBkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK1JERVBFTkRTXyR7UE59ICs9ICJiYXNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXMvaGlyZWRpcy11c2UtZGVmYXVsdC1DQy1pZi1pdC1pcy1zZXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpcy9oaXJlZGlzLXVzZS1kZWZhdWx0LUNDLWlmLWl0LWlzLXNldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWYxYzBkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXMvaGlyZWRpcy11c2UtZGVmYXVsdC1DQy1pZi1pdC1pcy1zZXQucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSBkYzc0NWEzM2YzODc1Y2M3MmQ0MWJkMzRlZDQ5MGIzNTJlNTQ2MzUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVmVudHVyZSBSZXNlYXJjaCA8dGVjaEB2ZW50dXJlcmVzZWFyY2guY29tPgorRGF0ZTogRnJpLCA4IEZlYiAyMDEzIDE3OjM5OjUyIC0wNjAwCitTdWJqZWN0OiBbUEFUQ0hdIGhpcmVkaXM6IHVzZSBkZWZhdWx0IENDIGlmIGl0IGlzIHNldAorCitJbnN0ZWFkIG9mIHRyeWluZyB0byBhdXRvbWFnaWNhbGx5IGZpZ3VyZSBvdXQgQ0MsIHdoaWNoIGJyZWFrcyB3aXRoIE9FCithcyBDQyBoYXMgc3BhY2VzIGluIGl0LCBqdXN0IHNraXAgaXQgaWYgb25lIHdhcyBhbHJlYWR5IHBhc3NlZCBpbi4KKworU2lnbmVkLW9mZi1ieTogVmVudHVyZSBSZXNlYXJjaCA8dGVjaEB2ZW50dXJlcmVzZWFyY2guY29tPgorCitVcGRhdGUgdG8gd29yayB3aXRoIDMuMC54CitTaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorCistLS0KKyBkZXBzL2hpcmVkaXMvTWFrZWZpbGUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK0luZGV4OiBkZXBzL2hpcmVkaXMvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL2RlcHMvaGlyZWRpcy9NYWtlZmlsZQorKysrIGIvZGVwcy9oaXJlZGlzL01ha2VmaWxlCitAQCAtMjQsNyArMjQsNyBAQCBlbmRlZgorIGV4cG9ydCBSRURJU19URVNUX0NPTkZJRworIAorICMgRmFsbGJhY2sgdG8gZ2NjIHdoZW4gJENDIGlzIG5vdCBpbiAkUEFUSC4KKy1DQzo9JChzaGVsbCBzaCAtYyAndHlwZSAkKENDKSA+L2Rldi9udWxsIDI+L2Rldi9udWxsICYmIGVjaG8gJChDQykgfHwgZWNobyBnY2MnKQorK0NDPz0kKHNoZWxsIHNoIC1jICd0eXBlICQoQ0MpID4vZGV2L251bGwgMj4vZGV2L251bGwgJiYgZWNobyAkKENDKSB8fCBlY2hvIGdjYycpCisgT1BUSU1JWkFUSU9OPz0tTzMKKyBXQVJOSU5HUz0tV2FsbCAtVyAtV3N0cmljdC1wcm90b3R5cGVzIC1Xd3JpdGUtc3RyaW5ncworIERFQlVHPz0gLWcgLWdnZGIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzL2luaXQtcmVkaXMtc2VydmVyIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXMvaW5pdC1yZWRpcy1zZXJ2ZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjAxNGQ3MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzL2luaXQtcmVkaXMtc2VydmVyCkBAIC0wLDAgKzEsNDAgQEAKKyMhL2Jpbi9zaAorIworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgcmVkaXMtc2VydmVyCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkbmV0d29yaworIyBSZXF1aXJlZC1TdG9wOiAgICAgJG5ldHdvcmsKKyMgRGVmYXVsdC1TdGFydDogICAgIFMgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IFJlZGlzLCBhIGtleS12YWx1ZSBzdG9yZQorIyBEZXNjcmlwdGlvbjogICAgICAgUmVkaXMgaXMgYW4gb3BlbiBzb3VyY2UsIGFkdmFuY2VkIGtleS12YWx1ZSBzdG9yZS4KKyMgICAgICAgICAgICAgICAgICAgIGh0dHA6Ly9yZWRpcy5pbworIyMjIEVORCBJTklUIElORk8KKwordGVzdCAtZiAvdXNyL2Jpbi9yZWRpcy1zZXJ2ZXIgfHwgZXhpdCAwCisKK0FSR1M9Ii9ldGMvcmVkaXMvcmVkaXMuY29uZiIKKworY2FzZSAiJDEiIGluCisgICAgc3RhcnQpCisJZWNobyAiU3RhcnRpbmcgcmVkaXMtc2VydmVyLi4uIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1leGVjIC91c3IvYmluL3JlZGlzLXNlcnZlciAtLSAkQVJHUworCTs7CisgICAgc3RvcCkKKyAgICAgICAgZWNobyAiU3RvcHBpbmcgcmVkaXMtc2VydmVyLi4uIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLWV4ZWMgL3Vzci9iaW4vcmVkaXMtc2VydmVyCisJOzsKKyAgICByZXN0YXJ0KQorICAgICAgICBlY2hvICJTdG9wcGluZyByZWRpcy1zZXJ2ZXIuLi4iCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tZXhlYyAvdXNyL2Jpbi9yZWRpcy1zZXJ2ZXIKKwllY2hvICJTdGFydGluZyByZWRpcy1zZXJ2ZXIuLi4iCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgL3Vzci9iaW4vcmVkaXMtc2VydmVyIC0tICRBUkdTCisJOzsKKyAgICAqKQorCWVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC9yZWRpcy1zZXJ2ZXIge3N0YXJ0fHN0b3B8cmVzdGFydH0iCisJZXhpdCAxCisJOzsKK2VzYWMKKworZXhpdCAwCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzL2x1YS11cGRhdGUtTWFrZWZpbGUtdG8tdXNlLWVudmlyb25tZW50LWJ1aWxkLXNldHRpbmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpcy9sdWEtdXBkYXRlLU1ha2VmaWxlLXRvLXVzZS1lbnZpcm9ubWVudC1idWlsZC1zZXR0aW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNjJhZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpcy9sdWEtdXBkYXRlLU1ha2VmaWxlLXRvLXVzZS1lbnZpcm9ubWVudC1idWlsZC1zZXR0aW5nLnBhdGNoCkBAIC0wLDAgKzEsNzEgQEAKK0Zyb20gMzk0MTA4MDM1ZDM1MGFlNjYyYTQzMWM4MDEzMWY4MTJiNWY3MmRmZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFZlbnR1cmUgUmVzZWFyY2ggPHRlY2hAdmVudHVyZXJlc2VhcmNoLmNvbT4KK0RhdGU6IEZyaSwgOCBGZWIgMjAxMyAyMDoyMjoxOSAtMDYwMAorU3ViamVjdDogW1BBVENIXSBsdWE6IHVwZGF0ZSBNYWtlZmlsZSB0byB1c2UgZW52aXJvbm1lbnQgYnVpbGQgc2V0dGluZ3MKKworT0Utc3BlY2lmaWMgcGFyYW1ldGVycywgaW5zdGVhZCBvZiBvdmVycmlkaW5nIGFsbCBvZiB0aGVzZSBzaW1wbHkgdXNlCit0aGUgb25lcyB0aGF0IGFyZSBhbHJlYWR5IHBhc3NlZCBpbi4gQWxzbyBjb25maWd1cmUgZm9yIG9ubHkgTGludXguLi4KKworU2lnbmVkLW9mZi1ieTogVmVudHVyZSBSZXNlYXJjaCA8dGVjaEB2ZW50dXJlcmVzZWFyY2guY29tPgorCitVcGRhdGVkIHRvIHdvcmsgd2l0aCAzLjAueAorCitTaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ODA4QGdtYWlsLmNvbT4KKworLS0tCisgZGVwcy9sdWEvc3JjL01ha2VmaWxlIHwgMTggKysrKysrKy0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisKK0luZGV4OiByZWRpcy0zLjAuMi9kZXBzL2x1YS9zcmMvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSByZWRpcy0zLjAuMi5vcmlnL2RlcHMvbHVhL3NyYy9NYWtlZmlsZQorKysrIHJlZGlzLTMuMC4yL2RlcHMvbHVhL3NyYy9NYWtlZmlsZQorQEAgLTUsMTggKzUsMTQgQEAKKyAjID09IENIQU5HRSBUSEUgU0VUVElOR1MgQkVMT1cgVE8gU1VJVCBZT1VSIEVOVklST05NRU5UID09PT09PT09PT09PT09PT09PT09PT09CisgCisgIyBZb3VyIHBsYXRmb3JtLiBTZWUgUExBVFMgZm9yIHBvc3NpYmxlIHZhbHVlcy4KKy1QTEFUPSBub25lCisrUExBVD0gbGludXgKKyAKKy1DQz89IGdjYworLUNGTEFHUz0gLU8yIC1XYWxsICQoTVlDRkxBR1MpCistQVI9IGFyIHJjdQorLVJBTkxJQj0gcmFubGliCistUk09IHJtIC1mCistTElCUz0gLWxtICQoTVlMSUJTKQorLQorLU1ZQ0ZMQUdTPQorK01ZQ0ZMQUdTPS1ETFVBX1VTRV9MSU5VWAorIE1ZTERGTEFHUz0KKy1NWUxJQlM9CisrTVlMSUJTPS1XbCwtRSAtbGRsIC1scmVhZGxpbmUgLWxoaXN0b3J5IC1sbmN1cnNlcworKworK0NGTEFHUyArPSAkKE1ZQ0ZMQUdTKQorK0xJQlMgKz0gLWxtICQoTVlMSUJTKQorIAorICMgPT0gRU5EIE9GIFVTRVIgU0VUVElOR1MuIE5PIE5FRUQgVE8gQ0hBTkdFIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSA9PT09PT09PT0KKyAKK0luZGV4OiByZWRpcy0zLjAuMi9kZXBzL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcmVkaXMtMy4wLjIub3JpZy9kZXBzL01ha2VmaWxlCisrKysgcmVkaXMtMy4wLjIvZGVwcy9NYWtlZmlsZQorQEAgLTYzLDcgKzYzLDYgQEAgTFVBX0xERkxBR1MrPSAkKExERkxBR1MpCisgIyBsdWEncyBNYWtlZmlsZSBkZWZpbmVzIEFSPSJhciByY3UiLCB3aGljaCBpcyB1bnVzdWFsLCBhbmQgbWFrZXMgaXQgbW9yZQorICMgY2hhbGxlbmdpbmcgdG8gY3Jvc3MtY29tcGlsZSBsdWEgKGFuZCByZWRpcykuICBUaGVzZSBkZWZpbmVzIG1ha2UgaXQgZWFzaWVyCisgIyB0byBmaXQgcmVkaXMgaW50byBjcm9zcy1jb21waWxhdGlvbiBlbnZpcm9ubWVudHMsIHdoaWNoIHR5cGljYWxseSBzZXQgQVIuCistQVI9YXIKKyBBUkZMQUdTPXJjdQorIAorIGx1YTogLm1ha2UtcHJlcmVxdWlzaXRlcworSW5kZXg6IHJlZGlzLTMuMC4yL2RlcHMvbHVhL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcmVkaXMtMy4wLjIub3JpZy9kZXBzL2x1YS9NYWtlZmlsZQorKysrIHJlZGlzLTMuMC4yL2RlcHMvbHVhL01ha2VmaWxlCitAQCAtMzMsNyArMzMsNiBAQCBJTlNUQUxMX0RBVEE9ICQoSU5TVEFMTCkgLW0gMDY0NAorIAorICMgVXRpbGl0aWVzLgorIE1LRElSPSBta2RpciAtcAorLVJBTkxJQj0gcmFubGliCisgCisgIyA9PSBFTkQgT0YgVVNFUiBTRVRUSU5HUy4gTk8gTkVFRCBUTyBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FID09PT09PT09PQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXMvb2UtdXNlLWxpYmMtbWFsbG9jLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXMvb2UtdXNlLWxpYmMtbWFsbG9jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NjhhNzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpcy9vZS11c2UtbGliYy1tYWxsb2MucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSBmODg2MWQyMTI5YjllMThiYmExMzc3MDViZmEzOGM2YmQ5YmUxNzkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVmVudHVyZSBSZXNlYXJjaCA8dGVjaEB2ZW50dXJlcmVzZWFyY2guY29tPgorRGF0ZTogV2VkLCA2IEZlYiAyMDEzIDIwOjUxOjAyIC0wNjAwCitTdWJqZWN0OiBbUEFUQ0hdIGhhY2sgdG8gZm9yY2UgdXNlIG9mIGxpYmMgbWFsbG9jCisKK0hhY2sgdG8gZm9yY2UgbGliYyB1c2FnZSBhcyBpdCBzZWVtcyB0aGUgb3B0aW9uIHRvIHBhc3MgaXQgaW4gaGFzIGJlZW4KK3JlbW92ZWQgaW4gZmF2b3Igb2YgbWFnaWMuCisKK05vdGUgdGhhdCB0aGlzIG9mIGNvdXJzZSBkb2Vzbid0IGFsbG93IHRjbWFsbG9jIGFuZCBqZW1hbGxvYywgaG93ZXZlciAKK2plbWFsbG9jIHdhc24ndCBidWlsZGluZyBjb3JyZWN0bHkuCisKK1NpZ25lZC1vZmYtYnk6IFZlbnR1cmUgUmVzZWFyY2ggPHRlY2hAdmVudHVyZXJlc2VhcmNoLmNvbT4KKworVXBkYXRlIHRvIHdvcmsgd2l0aCAzLjAueAorU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKworLS0tCisgc3JjL01ha2VmaWxlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitJbmRleDogc3JjL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYS9zcmMvTWFrZWZpbGUKKysrKyBiL3NyYy9NYWtlZmlsZQorQEAgLTEzLDcgKzEzLDggQEAKKyAjIEp1c3QgdXNlICdtYWtlIGRlcCcsIGJ1dCB0aGlzIGlzIG9ubHkgbmVlZGVkIGJ5IGRldmVsb3BlcnMuCisgCisgcmVsZWFzZV9oZHIgOj0gJChzaGVsbCBzaCAtYyAnLi9ta3JlbGVhc2VoZHIuc2gnKQorLXVuYW1lX1MgOj0gJChzaGVsbCBzaCAtYyAndW5hbWUgLXMgMj4vZGV2L251bGwgfHwgZWNobyBub3QnKQorKyMgdXNlIGZha2UgdW5hbWUgb3B0aW9uIHRvIGZvcmNlIHVzZSBvZiBnZW5lcmljIGxpYmMKKyt1bmFtZV9TIDo9ICJVU0VfTElCQ19NQUxMT0MiCisgT1BUSU1JWkFUSU9OPz0tTzIKKyBERVBFTkRFTkNZX1RBUkdFVFM9aGlyZWRpcyBsaW5lbm9pc2UgbHVhCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpcy9yZWRpcy5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXMvcmVkaXMuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MjNiOThlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXMvcmVkaXMuY29uZgpAQCAtMCwwICsxLDU1MCBAQAorIyBSZWRpcyBjb25maWd1cmF0aW9uIGZpbGUgZXhhbXBsZQorCisjIE5vdGUgb24gdW5pdHM6IHdoZW4gbWVtb3J5IHNpemUgaXMgbmVlZGVkLCBpdCBpcyBwb3NzaWJsZSB0byBzcGVjaWZ5CisjIGl0IGluIHRoZSB1c3VhbCBmb3JtIG9mIDFrIDVHQiA0TSBhbmQgc28gZm9ydGg6CisjCisjIDFrID0+IDEwMDAgYnl0ZXMKKyMgMWtiID0+IDEwMjQgYnl0ZXMKKyMgMW0gPT4gMTAwMDAwMCBieXRlcworIyAxbWIgPT4gMTAyNCoxMDI0IGJ5dGVzCisjIDFnID0+IDEwMDAwMDAwMDAgYnl0ZXMKKyMgMWdiID0+IDEwMjQqMTAyNCoxMDI0IGJ5dGVzCisjCisjIHVuaXRzIGFyZSBjYXNlIGluc2Vuc2l0aXZlIHNvIDFHQiAxR2IgMWdCIGFyZSBhbGwgdGhlIHNhbWUuCisKKyMgQnkgZGVmYXVsdCBSZWRpcyBkb2VzIG5vdCBydW4gYXMgYSBkYWVtb24uIFVzZSAneWVzJyBpZiB5b3UgbmVlZCBpdC4KKyMgTm90ZSB0aGF0IFJlZGlzIHdpbGwgd3JpdGUgYSBwaWQgZmlsZSBpbiAvdmFyL3J1bi9yZWRpcy5waWQgd2hlbiBkYWVtb25pemVkLgorIworIyBPRTogcnVuIGFzIGEgZGFlbW9uLgorIworZGFlbW9uaXplIHllcworCisjIFdoZW4gcnVubmluZyBkYWVtb25pemVkLCBSZWRpcyB3cml0ZXMgYSBwaWQgZmlsZSBpbiAvdmFyL3J1bi9yZWRpcy5waWQgYnkKKyMgZGVmYXVsdC4gWW91IGNhbiBzcGVjaWZ5IGEgY3VzdG9tIHBpZCBmaWxlIGxvY2F0aW9uIGhlcmUuCitwaWRmaWxlIC92YXIvcnVuL3JlZGlzLnBpZAorCisjIEFjY2VwdCBjb25uZWN0aW9ucyBvbiB0aGUgc3BlY2lmaWVkIHBvcnQsIGRlZmF1bHQgaXMgNjM3OS4KKyMgSWYgcG9ydCAwIGlzIHNwZWNpZmllZCBSZWRpcyB3aWxsIG5vdCBsaXN0ZW4gb24gYSBUQ1Agc29ja2V0LgorcG9ydCA2Mzc5CisKKyMgSWYgeW91IHdhbnQgeW91IGNhbiBiaW5kIGEgc2luZ2xlIGludGVyZmFjZSwgaWYgdGhlIGJpbmQgb3B0aW9uIGlzIG5vdAorIyBzcGVjaWZpZWQgYWxsIHRoZSBpbnRlcmZhY2VzIHdpbGwgbGlzdGVuIGZvciBpbmNvbWluZyBjb25uZWN0aW9ucy4KKyMKKyMgYmluZCAxMjcuMC4wLjEKKworIyBTcGVjaWZ5IHRoZSBwYXRoIGZvciB0aGUgdW5peCBzb2NrZXQgdGhhdCB3aWxsIGJlIHVzZWQgdG8gbGlzdGVuIGZvcgorIyBpbmNvbWluZyBjb25uZWN0aW9ucy4gVGhlcmUgaXMgbm8gZGVmYXVsdCwgc28gUmVkaXMgd2lsbCBub3QgbGlzdGVuCisjIG9uIGEgdW5peCBzb2NrZXQgd2hlbiBub3Qgc3BlY2lmaWVkLgorIworIyB1bml4c29ja2V0IC90bXAvcmVkaXMuc29jaworIyB1bml4c29ja2V0cGVybSA3NTUKKworIyBDbG9zZSB0aGUgY29ubmVjdGlvbiBhZnRlciBhIGNsaWVudCBpcyBpZGxlIGZvciBOIHNlY29uZHMgKDAgdG8gZGlzYWJsZSkKK3RpbWVvdXQgMAorCisjIFNldCBzZXJ2ZXIgdmVyYm9zaXR5IHRvICdkZWJ1ZycKKyMgaXQgY2FuIGJlIG9uZSBvZjoKKyMgZGVidWcgKGEgbG90IG9mIGluZm9ybWF0aW9uLCB1c2VmdWwgZm9yIGRldmVsb3BtZW50L3Rlc3RpbmcpCisjIHZlcmJvc2UgKG1hbnkgcmFyZWx5IHVzZWZ1bCBpbmZvLCBidXQgbm90IGEgbWVzcyBsaWtlIHRoZSBkZWJ1ZyBsZXZlbCkKKyMgbm90aWNlIChtb2RlcmF0ZWx5IHZlcmJvc2UsIHdoYXQgeW91IHdhbnQgaW4gcHJvZHVjdGlvbiBwcm9iYWJseSkKKyMgd2FybmluZyAob25seSB2ZXJ5IGltcG9ydGFudCAvIGNyaXRpY2FsIG1lc3NhZ2VzIGFyZSBsb2dnZWQpCitsb2dsZXZlbCBub3RpY2UKKworIyBTcGVjaWZ5IHRoZSBsb2cgZmlsZSBuYW1lLiBBbHNvICdzdGRvdXQnIGNhbiBiZSB1c2VkIHRvIGZvcmNlCisjIFJlZGlzIHRvIGxvZyBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0LiBOb3RlIHRoYXQgaWYgeW91IHVzZSBzdGFuZGFyZAorIyBvdXRwdXQgZm9yIGxvZ2dpbmcgYnV0IGRhZW1vbml6ZSwgbG9ncyB3aWxsIGJlIHNlbnQgdG8gL2Rldi9udWxsCitsb2dmaWxlIC92YXIvbG9nL3JlZGlzLmxvZworCisjIFRvIGVuYWJsZSBsb2dnaW5nIHRvIHRoZSBzeXN0ZW0gbG9nZ2VyLCBqdXN0IHNldCAnc3lzbG9nLWVuYWJsZWQnIHRvIHllcywKKyMgYW5kIG9wdGlvbmFsbHkgdXBkYXRlIHRoZSBvdGhlciBzeXNsb2cgcGFyYW1ldGVycyB0byBzdWl0IHlvdXIgbmVlZHMuCisjIHN5c2xvZy1lbmFibGVkIG5vCisKKyMgU3BlY2lmeSB0aGUgc3lzbG9nIGlkZW50aXR5LgorIyBzeXNsb2ctaWRlbnQgcmVkaXMKKworIyBTcGVjaWZ5IHRoZSBzeXNsb2cgZmFjaWxpdHkuICBNdXN0IGJlIFVTRVIgb3IgYmV0d2VlbiBMT0NBTDAtTE9DQUw3LgorIyBzeXNsb2ctZmFjaWxpdHkgbG9jYWwwCisKKyMgU2V0IHRoZSBudW1iZXIgb2YgZGF0YWJhc2VzLiBUaGUgZGVmYXVsdCBkYXRhYmFzZSBpcyBEQiAwLCB5b3UgY2FuIHNlbGVjdAorIyBhIGRpZmZlcmVudCBvbmUgb24gYSBwZXItY29ubmVjdGlvbiBiYXNpcyB1c2luZyBTRUxFQ1QgPGRiaWQ+IHdoZXJlCisjIGRiaWQgaXMgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAnZGF0YWJhc2VzJy0xCitkYXRhYmFzZXMgMTYKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgU05BUFNIT1RUSU5HICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgU2F2ZSB0aGUgREIgb24gZGlzazoKKyMKKyMgICBzYXZlIDxzZWNvbmRzPiA8Y2hhbmdlcz4KKyMKKyMgICBXaWxsIHNhdmUgdGhlIERCIGlmIGJvdGggdGhlIGdpdmVuIG51bWJlciBvZiBzZWNvbmRzIGFuZCB0aGUgZ2l2ZW4KKyMgICBudW1iZXIgb2Ygd3JpdGUgb3BlcmF0aW9ucyBhZ2FpbnN0IHRoZSBEQiBvY2N1cnJlZC4KKyMKKyMgICBJbiB0aGUgZXhhbXBsZSBiZWxvdyB0aGUgYmVoYXZpb3VyIHdpbGwgYmUgdG8gc2F2ZToKKyMgICBhZnRlciA5MDAgc2VjICgxNSBtaW4pIGlmIGF0IGxlYXN0IDEga2V5IGNoYW5nZWQKKyMgICBhZnRlciAzMDAgc2VjICg1IG1pbikgaWYgYXQgbGVhc3QgMTAga2V5cyBjaGFuZ2VkCisjICAgYWZ0ZXIgNjAgc2VjIGlmIGF0IGxlYXN0IDEwMDAwIGtleXMgY2hhbmdlZAorIworIyAgIE5vdGU6IHlvdSBjYW4gZGlzYWJsZSBzYXZpbmcgYXQgYWxsIGNvbW1lbnRpbmcgYWxsIHRoZSAic2F2ZSIgbGluZXMuCisjCisjICAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0byByZW1vdmUgYWxsIHRoZSBwcmV2aW91c2x5IGNvbmZpZ3VyZWQgc2F2ZQorIyAgIHBvaW50cyBieSBhZGRpbmcgYSBzYXZlIGRpcmVjdGl2ZSB3aXRoIGEgc2luZ2xlIGVtcHR5IHN0cmluZyBhcmd1bWVudAorIyAgIGxpa2UgaW4gdGhlIGZvbGxvd2luZyBleGFtcGxlOgorIworIyAgIHNhdmUgIiIKKworI3NhdmUgOTAwIDEKKyNzYXZlIDMwMCAxMAorI3NhdmUgNjAgMTAwMDAKKworIyBPRTogdHVuZSBmb3IgYSBzbWFsbCBlbWJlZGRlZCBzeXN0ZW0gd2l0aCBhIGxpbWl0ZWQgIyBvZiBrZXlzLgorc2F2ZSAxMjAgMQorc2F2ZSA2MCAxMDAKK3NhdmUgMzAgMTAwMAorCisjIEJ5IGRlZmF1bHQgUmVkaXMgd2lsbCBzdG9wIGFjY2VwdGluZyB3cml0ZXMgaWYgUkRCIHNuYXBzaG90cyBhcmUgZW5hYmxlZAorIyAoYXQgbGVhc3Qgb25lIHNhdmUgcG9pbnQpIGFuZCB0aGUgbGF0ZXN0IGJhY2tncm91bmQgc2F2ZSBmYWlsZWQuCisjIFRoaXMgd2lsbCBtYWtlIHRoZSB1c2VyIGF3YXJlIChpbiBhbiBoYXJkIHdheSkgdGhhdCBkYXRhIGlzIG5vdCBwZXJzaXN0aW5nCisjIG9uIGRpc2sgcHJvcGVybHksIG90aGVyd2lzZSBjaGFuY2VzIGFyZSB0aGF0IG5vIG9uZSB3aWxsIG5vdGljZSBhbmQgc29tZQorIyBkaXN0YXRlciB3aWxsIGhhcHBlbi4KKyMKKyMgSWYgdGhlIGJhY2tncm91bmQgc2F2aW5nIHByb2Nlc3Mgd2lsbCBzdGFydCB3b3JraW5nIGFnYWluIFJlZGlzIHdpbGwKKyMgYXV0b21hdGljYWxseSBhbGxvdyB3cml0ZXMgYWdhaW4uCisjCisjIEhvd2V2ZXIgaWYgeW91IGhhdmUgc2V0dXAgeW91ciBwcm9wZXIgbW9uaXRvcmluZyBvZiB0aGUgUmVkaXMgc2VydmVyCisjIGFuZCBwZXJzaXN0ZW5jZSwgeW91IG1heSB3YW50IHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlIHNvIHRoYXQgUmVkaXMgd2lsbAorIyBjb250aW51ZSB0byB3b3JrIGFzIHVzdWFsbHkgZXZlbiBpZiB0aGVyZSBhcmUgcHJvYmxlbXMgd2l0aCBkaXNrLAorIyBwZXJtaXNzaW9ucywgYW5kIHNvIGZvcnRoLgorc3RvcC13cml0ZXMtb24tYmdzYXZlLWVycm9yIHllcworCisjIENvbXByZXNzIHN0cmluZyBvYmplY3RzIHVzaW5nIExaRiB3aGVuIGR1bXAgLnJkYiBkYXRhYmFzZXM/CisjIEZvciBkZWZhdWx0IHRoYXQncyBzZXQgdG8gJ3llcycgYXMgaXQncyBhbG1vc3QgYWx3YXlzIGEgd2luLgorIyBJZiB5b3Ugd2FudCB0byBzYXZlIHNvbWUgQ1BVIGluIHRoZSBzYXZpbmcgY2hpbGQgc2V0IGl0IHRvICdubycgYnV0CisjIHRoZSBkYXRhc2V0IHdpbGwgbGlrZWx5IGJlIGJpZ2dlciBpZiB5b3UgaGF2ZSBjb21wcmVzc2libGUgdmFsdWVzIG9yIGtleXMuCityZGJjb21wcmVzc2lvbiB5ZXMKKworIyBTaW5jZSB2ZXJpc29uIDUgb2YgUkRCIGEgQ1JDNjQgY2hlY2tzdW0gaXMgcGxhY2VkIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUuCisjIFRoaXMgbWFrZXMgdGhlIGZvcm1hdCBtb3JlIHJlc2lzdGFudCB0byBjb3JydXB0aW9uIGJ1dCB0aGVyZSBpcyBhIHBlcmZvcm1hbmNlCisjIGhpdCB0byBwYXkgKGFyb3VuZCAxMCUpIHdoZW4gc2F2aW5nIGFuZCBsb2FkaW5nIFJEQiBmaWxlcywgc28geW91IGNhbiBkaXNhYmxlIGl0CisjIGZvciBtYXhpbXVtIHBlcmZvcm1hbmNlcy4KKyMKKyMgUkRCIGZpbGVzIGNyZWF0ZWQgd2l0aCBjaGVja3N1bSBkaXNhYmxlZCBoYXZlIGEgY2hlY2tzdW0gb2YgemVybyB0aGF0IHdpbGwKKyMgdGVsbCB0aGUgbG9hZGluZyBjb2RlIHRvIHNraXAgdGhlIGNoZWNrLgorcmRiY2hlY2tzdW0geWVzCisKKyMgVGhlIGZpbGVuYW1lIHdoZXJlIHRvIGR1bXAgdGhlIERCCitkYmZpbGVuYW1lIGR1bXAucmRiCisKKyMgVGhlIHdvcmtpbmcgZGlyZWN0b3J5LgorIworIyBUaGUgREIgd2lsbCBiZSB3cml0dGVuIGluc2lkZSB0aGlzIGRpcmVjdG9yeSwgd2l0aCB0aGUgZmlsZW5hbWUgc3BlY2lmaWVkCisjIGFib3ZlIHVzaW5nIHRoZSAnZGJmaWxlbmFtZScgY29uZmlndXJhdGlvbiBkaXJlY3RpdmUuCisjIAorIyBBbHNvIHRoZSBBcHBlbmQgT25seSBGaWxlIHdpbGwgYmUgY3JlYXRlZCBpbnNpZGUgdGhpcyBkaXJlY3RvcnkuCisjIAorIyBOb3RlIHRoYXQgeW91IG11c3Qgc3BlY2lmeSBhIGRpcmVjdG9yeSBoZXJlLCBub3QgYSBmaWxlIG5hbWUuCitkaXIgL3Zhci9saWIvcmVkaXMvCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBSRVBMSUNBVElPTiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBNYXN0ZXItU2xhdmUgcmVwbGljYXRpb24uIFVzZSBzbGF2ZW9mIHRvIG1ha2UgYSBSZWRpcyBpbnN0YW5jZSBhIGNvcHkgb2YKKyMgYW5vdGhlciBSZWRpcyBzZXJ2ZXIuIE5vdGUgdGhhdCB0aGUgY29uZmlndXJhdGlvbiBpcyBsb2NhbCB0byB0aGUgc2xhdmUKKyMgc28gZm9yIGV4YW1wbGUgaXQgaXMgcG9zc2libGUgdG8gY29uZmlndXJlIHRoZSBzbGF2ZSB0byBzYXZlIHRoZSBEQiB3aXRoIGEKKyMgZGlmZmVyZW50IGludGVydmFsLCBvciB0byBsaXN0ZW4gdG8gYW5vdGhlciBwb3J0LCBhbmQgc28gb24uCisjCisjIHNsYXZlb2YgPG1hc3RlcmlwPiA8bWFzdGVycG9ydD4KKworIyBJZiB0aGUgbWFzdGVyIGlzIHBhc3N3b3JkIHByb3RlY3RlZCAodXNpbmcgdGhlICJyZXF1aXJlcGFzcyIgY29uZmlndXJhdGlvbgorIyBkaXJlY3RpdmUgYmVsb3cpIGl0IGlzIHBvc3NpYmxlIHRvIHRlbGwgdGhlIHNsYXZlIHRvIGF1dGhlbnRpY2F0ZSBiZWZvcmUKKyMgc3RhcnRpbmcgdGhlIHJlcGxpY2F0aW9uIHN5bmNocm9uaXphdGlvbiBwcm9jZXNzLCBvdGhlcndpc2UgdGhlIG1hc3RlciB3aWxsCisjIHJlZnVzZSB0aGUgc2xhdmUgcmVxdWVzdC4KKyMKKyMgbWFzdGVyYXV0aCA8bWFzdGVyLXBhc3N3b3JkPgorCisjIFdoZW4gYSBzbGF2ZSBsb3N0IHRoZSBjb25uZWN0aW9uIHdpdGggdGhlIG1hc3Rlciwgb3Igd2hlbiB0aGUgcmVwbGljYXRpb24KKyMgaXMgc3RpbGwgaW4gcHJvZ3Jlc3MsIHRoZSBzbGF2ZSBjYW4gYWN0IGluIHR3byBkaWZmZXJlbnQgd2F5czoKKyMKKyMgMSkgaWYgc2xhdmUtc2VydmUtc3RhbGUtZGF0YSBpcyBzZXQgdG8gJ3llcycgKHRoZSBkZWZhdWx0KSB0aGUgc2xhdmUgd2lsbAorIyAgICBzdGlsbCByZXBseSB0byBjbGllbnQgcmVxdWVzdHMsIHBvc3NpYmx5IHdpdGggb3V0IG9mIGRhdGUgZGF0YSwgb3IgdGhlCisjICAgIGRhdGEgc2V0IG1heSBqdXN0IGJlIGVtcHR5IGlmIHRoaXMgaXMgdGhlIGZpcnN0IHN5bmNocm9uaXphdGlvbi4KKyMKKyMgMikgaWYgc2xhdmUtc2VydmUtc3RhbGUgZGF0YSBpcyBzZXQgdG8gJ25vJyB0aGUgc2xhdmUgd2lsbCByZXBseSB3aXRoCisjICAgIGFuIGVycm9yICJTWU5DIHdpdGggbWFzdGVyIGluIHByb2dyZXNzIiB0byBhbGwgdGhlIGtpbmQgb2YgY29tbWFuZHMKKyMgICAgYnV0IHRvIElORk8gYW5kIFNMQVZFT0YuCisjCitzbGF2ZS1zZXJ2ZS1zdGFsZS1kYXRhIHllcworCisjIFlvdSBjYW4gY29uZmlndXJlIGEgc2xhdmUgaW5zdGFuY2UgdG8gYWNjZXB0IHdyaXRlcyBvciBub3QuIFdyaXRpbmcgYWdhaW5zdAorIyBhIHNsYXZlIGluc3RhbmNlIG1heSBiZSB1c2VmdWwgdG8gc3RvcmUgc29tZSBlcGhlbWVyYWwgZGF0YSAoYmVjYXVzZSBkYXRhCisjIHdyaXR0ZW4gb24gYSBzbGF2ZSB3aWxsIGJlIGVhc2lseSBkZWxldGVkIGFmdGVyIHJlc3luYyB3aXRoIHRoZSBtYXN0ZXIpIGJ1dAorIyBtYXkgYWxzbyBjYXVzZSBwcm9ibGVtcyBpZiBjbGllbnRzIGFyZSB3cml0aW5nIHRvIGl0IGJlY2F1c2Ugb2YgYQorIyBtaXNjb25maWd1cmF0aW9uLgorIworIyBTaW5jZSBSZWRpcyAyLjYgYnkgZGVmYXVsdCBzbGF2ZXMgYXJlIHJlYWQtb25seS4KKyMKKyMgTm90ZTogcmVhZCBvbmx5IHNsYXZlcyBhcmUgbm90IGRlc2lnbmVkIHRvIGJlIGV4cG9zZWQgdG8gdW50cnVzdGVkIGNsaWVudHMKKyMgb24gdGhlIGludGVybmV0LiBJdCdzIGp1c3QgYSBwcm90ZWN0aW9uIGxheWVyIGFnYWluc3QgbWlzdXNlIG9mIHRoZSBpbnN0YW5jZS4KKyMgU3RpbGwgYSByZWFkIG9ubHkgc2xhdmUgZXhwb3J0cyBieSBkZWZhdWx0IGFsbCB0aGUgYWRtaW5pc3RyYXRpdmUgY29tbWFuZHMKKyMgc3VjaCBhcyBDT05GSUcsIERFQlVHLCBhbmQgc28gZm9ydGguIFRvIGEgbGltaXRlZCBleHRlbmQgeW91IGNhbiBpbXByb3ZlCisjIHNlY3VyaXR5IG9mIHJlYWQgb25seSBzbGF2ZXMgdXNpbmcgJ3JlbmFtZS1jb21tYW5kJyB0byBzaGFkb3cgYWxsIHRoZQorIyBhZG1pbmlzdHJhdGl2ZSAvIGRhbmdlcm91cyBjb21tYW5kcy4KK3NsYXZlLXJlYWQtb25seSB5ZXMKKworIyBTbGF2ZXMgc2VuZCBQSU5HcyB0byBzZXJ2ZXIgaW4gYSBwcmVkZWZpbmVkIGludGVydmFsLiBJdCdzIHBvc3NpYmxlIHRvIGNoYW5nZQorIyB0aGlzIGludGVydmFsIHdpdGggdGhlIHJlcGxfcGluZ19zbGF2ZV9wZXJpb2Qgb3B0aW9uLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAxMAorIyBzZWNvbmRzLgorIworIyByZXBsLXBpbmctc2xhdmUtcGVyaW9kIDEwCisKKyMgVGhlIGZvbGxvd2luZyBvcHRpb24gc2V0cyBhIHRpbWVvdXQgZm9yIGJvdGggQnVsayB0cmFuc2ZlciBJL08gdGltZW91dCBhbmQKKyMgbWFzdGVyIGRhdGEgb3IgcGluZyByZXNwb25zZSB0aW1lb3V0LiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyA2MCBzZWNvbmRzLgorIworIyBJdCBpcyBpbXBvcnRhbnQgdG8gbWFrZSBzdXJlIHRoYXQgdGhpcyB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIHZhbHVlCisjIHNwZWNpZmllZCBmb3IgcmVwbC1waW5nLXNsYXZlLXBlcmlvZCBvdGhlcndpc2UgYSB0aW1lb3V0IHdpbGwgYmUgZGV0ZWN0ZWQKKyMgZXZlcnkgdGltZSB0aGVyZSBpcyBsb3cgdHJhZmZpYyBiZXR3ZWVuIHRoZSBtYXN0ZXIgYW5kIHRoZSBzbGF2ZS4KKyMKKyMgcmVwbC10aW1lb3V0IDYwCisKKyMgVGhlIHNsYXZlIHByaW9yaXR5IGlzIGFuIGludGVnZXIgbnVtYmVyIHB1Ymxpc2hlZCBieSBSZWRpcyBpbiB0aGUgSU5GTyBvdXRwdXQuCisjIEl0IGlzIHVzZWQgYnkgUmVkaXMgU2VudGluZWwgaW4gb3JkZXIgdG8gc2VsZWN0IGEgc2xhdmUgdG8gcHJvbW90ZSBpbnRvIGEKKyMgbWFzdGVyIGlmIHRoZSBtYXN0ZXIgaXMgbm8gbG9uZ2VyIHdvcmtpbmcgY29ycmVjdGx5LgorIworIyBBIHNsYXZlIHdpdGggYSBsb3cgcHJpb3JpdHkgbnVtYmVyIGlzIGNvbnNpZGVyZWQgYmV0dGVyIGZvciBwcm9tb3Rpb24sIHNvCisjIGZvciBpbnN0YW5jZSBpZiB0aGVyZSBhcmUgdGhyZWUgc2xhdmVzIHdpdGggcHJpb3JpdHkgMTAsIDEwMCwgMjUgU2VudGluZWwgd2lsbAorIyBwaWNrIHRoZSBvbmUgd3RpaCBwcmlvcml0eSAxMCwgdGhhdCBpcyB0aGUgbG93ZXN0LgorIworIyBIb3dldmVyIGEgc3BlY2lhbCBwcmlvcml0eSBvZiAwIG1hcmtzIHRoZSBzbGF2ZSBhcyBub3QgYWJsZSB0byBwZXJmb3JtIHRoZQorIyByb2xlIG9mIG1hc3Rlciwgc28gYSBzbGF2ZSB3aXRoIHByaW9yaXR5IG9mIDAgd2lsbCBuZXZlciBiZSBzZWxlY3RlZCBieQorIyBSZWRpcyBTZW50aW5lbCBmb3IgcHJvbW90aW9uLgorIworIyBCeSBkZWZhdWx0IHRoZSBwcmlvcml0eSBpcyAxMDAuCitzbGF2ZS1wcmlvcml0eSAxMDAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBTRUNVUklUWSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIFJlcXVpcmUgY2xpZW50cyB0byBpc3N1ZSBBVVRIIDxQQVNTV09SRD4gYmVmb3JlIHByb2Nlc3NpbmcgYW55IG90aGVyCisjIGNvbW1hbmRzLiAgVGhpcyBtaWdodCBiZSB1c2VmdWwgaW4gZW52aXJvbm1lbnRzIGluIHdoaWNoIHlvdSBkbyBub3QgdHJ1c3QKKyMgb3RoZXJzIHdpdGggYWNjZXNzIHRvIHRoZSBob3N0IHJ1bm5pbmcgcmVkaXMtc2VydmVyLgorIworIyBUaGlzIHNob3VsZCBzdGF5IGNvbW1lbnRlZCBvdXQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgYW5kIGJlY2F1c2UgbW9zdAorIyBwZW9wbGUgZG8gbm90IG5lZWQgYXV0aCAoZS5nLiB0aGV5IHJ1biB0aGVpciBvd24gc2VydmVycykuCisjIAorIyBXYXJuaW5nOiBzaW5jZSBSZWRpcyBpcyBwcmV0dHkgZmFzdCBhbiBvdXRzaWRlIHVzZXIgY2FuIHRyeSB1cCB0bworIyAxNTBrIHBhc3N3b3JkcyBwZXIgc2Vjb25kIGFnYWluc3QgYSBnb29kIGJveC4gVGhpcyBtZWFucyB0aGF0IHlvdSBzaG91bGQKKyMgdXNlIGEgdmVyeSBzdHJvbmcgcGFzc3dvcmQgb3RoZXJ3aXNlIGl0IHdpbGwgYmUgdmVyeSBlYXN5IHRvIGJyZWFrLgorIworIyByZXF1aXJlcGFzcyBmb29iYXJlZAorCisjIENvbW1hbmQgcmVuYW1pbmcuCisjCisjIEl0IGlzIHBvc3NpYmxlIHRvIGNoYW5nZSB0aGUgbmFtZSBvZiBkYW5nZXJvdXMgY29tbWFuZHMgaW4gYSBzaGFyZWQKKyMgZW52aXJvbm1lbnQuIEZvciBpbnN0YW5jZSB0aGUgQ09ORklHIGNvbW1hbmQgbWF5IGJlIHJlbmFtZWQgaW50byBzb21ldGhpbmcKKyMgb2YgaGFyZCB0byBndWVzcyBzbyB0aGF0IGl0IHdpbGwgYmUgc3RpbGwgYXZhaWxhYmxlIGZvciBpbnRlcm5hbC11c2UKKyMgdG9vbHMgYnV0IG5vdCBhdmFpbGFibGUgZm9yIGdlbmVyYWwgY2xpZW50cy4KKyMKKyMgRXhhbXBsZToKKyMKKyMgcmVuYW1lLWNvbW1hbmQgQ09ORklHIGI4NDBmYzAyZDUyNDA0NTQyOTk0MWNjMTVmNTllNDFjYjdiZTZjNTIKKyMKKyMgSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBjb21wbGV0ZWx5IGtpbGwgYSBjb21tYW5kIHJlbmFtaW5nIGl0IGludG8KKyMgYW4gZW1wdHkgc3RyaW5nOgorIworIyByZW5hbWUtY29tbWFuZCBDT05GSUcgIiIKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgTElNSVRTICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIFNldCB0aGUgbWF4IG51bWJlciBvZiBjb25uZWN0ZWQgY2xpZW50cyBhdCB0aGUgc2FtZSB0aW1lLiBCeSBkZWZhdWx0CisjIHRoaXMgbGltaXQgaXMgc2V0IHRvIDEwMDAwIGNsaWVudHMsIGhvd2V2ZXIgaWYgdGhlIFJlZGlzIHNlcnZlciBpcyBub3QKKyMgYWJsZSBvdCBjb25maWd1cmUgdGhlIHByb2Nlc3MgZmlsZSBsaW1pdCB0byBhbGxvdyBmb3IgdGhlIHNwZWNpZmllZCBsaW1pdAorIyB0aGUgbWF4IG51bWJlciBvZiBhbGxvd2VkIGNsaWVudHMgaXMgc2V0IHRvIHRoZSBjdXJyZW50IGZpbGUgbGltaXQKKyMgbWludXMgMzIgKGFzIFJlZGlzIHJlc2VydmVzIGEgZmV3IGZpbGUgZGVzY3JpcHRvcnMgZm9yIGludGVybmFsIHVzZXMpLgorIworIyBPbmNlIHRoZSBsaW1pdCBpcyByZWFjaGVkIFJlZGlzIHdpbGwgY2xvc2UgYWxsIHRoZSBuZXcgY29ubmVjdGlvbnMgc2VuZGluZworIyBhbiBlcnJvciAnbWF4IG51bWJlciBvZiBjbGllbnRzIHJlYWNoZWQnLgorIworIyBtYXhjbGllbnRzIDEwMDAwCisKKyMgRG9uJ3QgdXNlIG1vcmUgbWVtb3J5IHRoYW4gdGhlIHNwZWNpZmllZCBhbW91bnQgb2YgYnl0ZXMuCisjIFdoZW4gdGhlIG1lbW9yeSBsaW1pdCBpcyByZWFjaGVkIFJlZGlzIHdpbGwgdHJ5IHRvIHJlbW92ZSBrZXlzCisjIGFjY29yZGluZ2x5IHRvIHRoZSBldmljdGlvbiBwb2xpY3kgc2VsZWN0ZWQgKHNlZSBtYXhtZW1tb3J5LXBvbGljeSkuCisjCisjIElmIFJlZGlzIGNhbid0IHJlbW92ZSBrZXlzIGFjY29yZGluZyB0byB0aGUgcG9saWN5LCBvciBpZiB0aGUgcG9saWN5IGlzCisjIHNldCB0byAnbm9ldmljdGlvbicsIFJlZGlzIHdpbGwgc3RhcnQgdG8gcmVwbHkgd2l0aCBlcnJvcnMgdG8gY29tbWFuZHMKKyMgdGhhdCB3b3VsZCB1c2UgbW9yZSBtZW1vcnksIGxpa2UgU0VULCBMUFVTSCwgYW5kIHNvIG9uLCBhbmQgd2lsbCBjb250aW51ZQorIyB0byByZXBseSB0byByZWFkLW9ubHkgY29tbWFuZHMgbGlrZSBHRVQuCisjCisjIFRoaXMgb3B0aW9uIGlzIHVzdWFsbHkgdXNlZnVsIHdoZW4gdXNpbmcgUmVkaXMgYXMgYW4gTFJVIGNhY2hlLCBvciB0byBzZXQKKyMgYW4gaGFyZCBtZW1vcnkgbGltaXQgZm9yIGFuIGluc3RhbmNlICh1c2luZyB0aGUgJ25vZXZpY3Rpb24nIHBvbGljeSkuCisjCisjIFdBUk5JTkc6IElmIHlvdSBoYXZlIHNsYXZlcyBhdHRhY2hlZCB0byBhbiBpbnN0YW5jZSB3aXRoIG1heG1lbW9yeSBvbiwKKyMgdGhlIHNpemUgb2YgdGhlIG91dHB1dCBidWZmZXJzIG5lZWRlZCB0byBmZWVkIHRoZSBzbGF2ZXMgYXJlIHN1YnRyYWN0ZWQKKyMgZnJvbSB0aGUgdXNlZCBtZW1vcnkgY291bnQsIHNvIHRoYXQgbmV0d29yayBwcm9ibGVtcyAvIHJlc3luY3Mgd2lsbAorIyBub3QgdHJpZ2dlciBhIGxvb3Agd2hlcmUga2V5cyBhcmUgZXZpY3RlZCwgYW5kIGluIHR1cm4gdGhlIG91dHB1dAorIyBidWZmZXIgb2Ygc2xhdmVzIGlzIGZ1bGwgd2l0aCBERUxzIG9mIGtleXMgZXZpY3RlZCB0cmlnZ2VyaW5nIHRoZSBkZWxldGlvbgorIyBvZiBtb3JlIGtleXMsIGFuZCBzbyBmb3J0aCB1bnRpbCB0aGUgZGF0YWJhc2UgaXMgY29tcGxldGVseSBlbXB0aWVkLgorIworIyBJbiBzaG9ydC4uLiBpZiB5b3UgaGF2ZSBzbGF2ZXMgYXR0YWNoZWQgaXQgaXMgc3VnZ2VzdGVkIHRoYXQgeW91IHNldCBhIGxvd2VyCisjIGxpbWl0IGZvciBtYXhtZW1vcnkgc28gdGhhdCB0aGVyZSBpcyBzb21lIGZyZWUgUkFNIG9uIHRoZSBzeXN0ZW0gZm9yIHNsYXZlCisjIG91dHB1dCBidWZmZXJzIChidXQgdGhpcyBpcyBub3QgbmVlZGVkIGlmIHRoZSBwb2xpY3kgaXMgJ25vZXZpY3Rpb24nKS4KKyMKKyMgbWF4bWVtb3J5IDxieXRlcz4KKworIyBNQVhNRU1PUlkgUE9MSUNZOiBob3cgUmVkaXMgd2lsbCBzZWxlY3Qgd2hhdCB0byByZW1vdmUgd2hlbiBtYXhtZW1vcnkKKyMgaXMgcmVhY2hlZD8gWW91IGNhbiBzZWxlY3QgYW1vbmcgZml2ZSBiZWhhdmlvcjoKKyMgCisjIHZvbGF0aWxlLWxydSAtPiByZW1vdmUgdGhlIGtleSB3aXRoIGFuIGV4cGlyZSBzZXQgdXNpbmcgYW4gTFJVIGFsZ29yaXRobQorIyBhbGxrZXlzLWxydSAtPiByZW1vdmUgYW55IGtleSBhY2NvcmRpbmdseSB0byB0aGUgTFJVIGFsZ29yaXRobQorIyB2b2xhdGlsZS1yYW5kb20gLT4gcmVtb3ZlIGEgcmFuZG9tIGtleSB3aXRoIGFuIGV4cGlyZSBzZXQKKyMgYWxsa2V5cy1yYW5kb20gLT4gcmVtb3ZlIGEgcmFuZG9tIGtleSwgYW55IGtleQorIyB2b2xhdGlsZS10dGwgLT4gcmVtb3ZlIHRoZSBrZXkgd2l0aCB0aGUgbmVhcmVzdCBleHBpcmUgdGltZSAobWlub3IgVFRMKQorIyBub2V2aWN0aW9uIC0+IGRvbid0IGV4cGlyZSBhdCBhbGwsIGp1c3QgcmV0dXJuIGFuIGVycm9yIG9uIHdyaXRlIG9wZXJhdGlvbnMKKyMgCisjIE5vdGU6IHdpdGggYWxsIHRoZSBraW5kIG9mIHBvbGljaWVzLCBSZWRpcyB3aWxsIHJldHVybiBhbiBlcnJvciBvbiB3cml0ZQorIyAgICAgICBvcGVyYXRpb25zLCB3aGVuIHRoZXJlIGFyZSBub3Qgc3VpdGFibGUga2V5cyBmb3IgZXZpY3Rpb24uCisjCisjICAgICAgIEF0IHRoZSBkYXRlIG9mIHdyaXRpbmcgdGhpcyBjb21tYW5kcyBhcmU6IHNldCBzZXRueCBzZXRleCBhcHBlbmQKKyMgICAgICAgaW5jciBkZWNyIHJwdXNoIGxwdXNoIHJwdXNoeCBscHVzaHggbGluc2VydCBsc2V0IHJwb3BscHVzaCBzYWRkCisjICAgICAgIHNpbnRlciBzaW50ZXJzdG9yZSBzdW5pb24gc3VuaW9uc3RvcmUgc2RpZmYgc2RpZmZzdG9yZSB6YWRkIHppbmNyYnkKKyMgICAgICAgenVuaW9uc3RvcmUgemludGVyc3RvcmUgaHNldCBoc2V0bnggaG1zZXQgaGluY3JieSBpbmNyYnkgZGVjcmJ5CisjICAgICAgIGdldHNldCBtc2V0IG1zZXRueCBleGVjIHNvcnQKKyMKKyMgVGhlIGRlZmF1bHQgaXM6CisjCisjIG1heG1lbW9yeS1wb2xpY3kgdm9sYXRpbGUtbHJ1CisKKyMgTFJVIGFuZCBtaW5pbWFsIFRUTCBhbGdvcml0aG1zIGFyZSBub3QgcHJlY2lzZSBhbGdvcml0aG1zIGJ1dCBhcHByb3hpbWF0ZWQKKyMgYWxnb3JpdGhtcyAoaW4gb3JkZXIgdG8gc2F2ZSBtZW1vcnkpLCBzbyB5b3UgY2FuIHNlbGVjdCBhcyB3ZWxsIHRoZSBzYW1wbGUKKyMgc2l6ZSB0byBjaGVjay4gRm9yIGluc3RhbmNlIGZvciBkZWZhdWx0IFJlZGlzIHdpbGwgY2hlY2sgdGhyZWUga2V5cyBhbmQKKyMgcGljayB0aGUgb25lIHRoYXQgd2FzIHVzZWQgbGVzcyByZWNlbnRseSwgeW91IGNhbiBjaGFuZ2UgdGhlIHNhbXBsZSBzaXplCisjIHVzaW5nIHRoZSBmb2xsb3dpbmcgY29uZmlndXJhdGlvbiBkaXJlY3RpdmUuCisjCisjIG1heG1lbW9yeS1zYW1wbGVzIDMKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEFQUEVORCBPTkxZIE1PREUgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIEJ5IGRlZmF1bHQgUmVkaXMgYXN5bmNocm9ub3VzbHkgZHVtcHMgdGhlIGRhdGFzZXQgb24gZGlzay4gVGhpcyBtb2RlIGlzCisjIGdvb2QgZW5vdWdoIGluIG1hbnkgYXBwbGljYXRpb25zLCBidXQgYW4gaXNzdWUgd2l0aCB0aGUgUmVkaXMgcHJvY2VzcyBvcgorIyBhIHBvd2VyIG91dGFnZSBtYXkgcmVzdWx0IGludG8gYSBmZXcgbWludXRlcyBvZiB3cml0ZXMgbG9zdCAoZGVwZW5kaW5nIG9uCisjIHRoZSBjb25maWd1cmVkIHNhdmUgcG9pbnRzKS4KKyMKKyMgVGhlIEFwcGVuZCBPbmx5IEZpbGUgaXMgYW4gYWx0ZXJuYXRpdmUgcGVyc2lzdGVuY2UgbW9kZSB0aGF0IHByb3ZpZGVzCisjIG11Y2ggYmV0dGVyIGR1cmFiaWxpdHkuIEZvciBpbnN0YW5jZSB1c2luZyB0aGUgZGVmYXVsdCBkYXRhIGZzeW5jIHBvbGljeQorIyAoc2VlIGxhdGVyIGluIHRoZSBjb25maWcgZmlsZSkgUmVkaXMgY2FuIGxvc2UganVzdCBvbmUgc2Vjb25kIG9mIHdyaXRlcyBpbiBhCisjIGRyYW1hdGljIGV2ZW50IGxpa2UgYSBzZXJ2ZXIgcG93ZXIgb3V0YWdlLCBvciBhIHNpbmdsZSB3cml0ZSBpZiBzb21ldGhpbmcKKyMgd3Jvbmcgd2l0aCB0aGUgUmVkaXMgcHJvY2VzcyBpdHNlbGYgaGFwcGVucywgYnV0IHRoZSBvcGVyYXRpbmcgc3lzdGVtIGlzCisjIHN0aWxsIHJ1bm5pbmcgY29ycmVjdGx5LgorIworIyBBT0YgYW5kIFJEQiBwZXJzaXN0ZW5jZSBjYW4gYmUgZW5hYmxlZCBhdCB0aGUgc2FtZSB0aW1lIHdpdGhvdXQgcHJvYmxlbXMuCisjIElmIHRoZSBBT0YgaXMgZW5hYmxlZCBvbiBzdGFydHVwIFJlZGlzIHdpbGwgbG9hZCB0aGUgQU9GLCB0aGF0IGlzIHRoZSBmaWxlCisjIHdpdGggdGhlIGJldHRlciBkdXJhYmlsaXR5IGd1YXJhbnRlZXMuCisjCisjIFBsZWFzZSBjaGVjayBodHRwOi8vcmVkaXMuaW8vdG9waWNzL3BlcnNpc3RlbmNlIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCisjCisjIE9FOiBjaGFuZ2VkIGRlZmF1bHQgdG8gZW5hYmxlIHRoaXMKK2FwcGVuZG9ubHkgeWVzCisKKyMgVGhlIG5hbWUgb2YgdGhlIGFwcGVuZCBvbmx5IGZpbGUgKGRlZmF1bHQ6ICJhcHBlbmRvbmx5LmFvZiIpCisjIGFwcGVuZGZpbGVuYW1lIGFwcGVuZG9ubHkuYW9mCisKKyMgVGhlIGZzeW5jKCkgY2FsbCB0ZWxscyB0aGUgT3BlcmF0aW5nIFN5c3RlbSB0byBhY3R1YWxseSB3cml0ZSBkYXRhIG9uIGRpc2sKKyMgaW5zdGVhZCB0byB3YWl0IGZvciBtb3JlIGRhdGEgaW4gdGhlIG91dHB1dCBidWZmZXIuIFNvbWUgT1Mgd2lsbCByZWFsbHkgZmx1c2ggCisjIGRhdGEgb24gZGlzaywgc29tZSBvdGhlciBPUyB3aWxsIGp1c3QgdHJ5IHRvIGRvIGl0IEFTQVAuCisjCisjIFJlZGlzIHN1cHBvcnRzIHRocmVlIGRpZmZlcmVudCBtb2RlczoKKyMKKyMgbm86IGRvbid0IGZzeW5jLCBqdXN0IGxldCB0aGUgT1MgZmx1c2ggdGhlIGRhdGEgd2hlbiBpdCB3YW50cy4gRmFzdGVyLgorIyBhbHdheXM6IGZzeW5jIGFmdGVyIGV2ZXJ5IHdyaXRlIHRvIHRoZSBhcHBlbmQgb25seSBsb2cgLiBTbG93LCBTYWZlc3QuCisjIGV2ZXJ5c2VjOiBmc3luYyBvbmx5IG9uZSB0aW1lIGV2ZXJ5IHNlY29uZC4gQ29tcHJvbWlzZS4KKyMKKyMgVGhlIGRlZmF1bHQgaXMgImV2ZXJ5c2VjIiB0aGF0J3MgdXN1YWxseSB0aGUgcmlnaHQgY29tcHJvbWlzZSBiZXR3ZWVuCisjIHNwZWVkIGFuZCBkYXRhIHNhZmV0eS4gSXQncyB1cCB0byB5b3UgdG8gdW5kZXJzdGFuZCBpZiB5b3UgY2FuIHJlbGF4IHRoaXMgdG8KKyMgIm5vIiB0aGF0IHdpbGwgbGV0IHRoZSBvcGVyYXRpbmcgc3lzdGVtIGZsdXNoIHRoZSBvdXRwdXQgYnVmZmVyIHdoZW4KKyMgaXQgd2FudHMsIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2VzIChidXQgaWYgeW91IGNhbiBsaXZlIHdpdGggdGhlIGlkZWEgb2YKKyMgc29tZSBkYXRhIGxvc3MgY29uc2lkZXIgdGhlIGRlZmF1bHQgcGVyc2lzdGVuY2UgbW9kZSB0aGF0J3Mgc25hcHNob3R0aW5nKSwKKyMgb3Igb24gdGhlIGNvbnRyYXJ5LCB1c2UgImFsd2F5cyIgdGhhdCdzIHZlcnkgc2xvdyBidXQgYSBiaXQgc2FmZXIgdGhhbgorIyBldmVyeXNlYy4KKyMKKyMgTW9yZSBkZXRhaWxzIHBsZWFzZSBjaGVjayB0aGUgZm9sbG93aW5nIGFydGljbGU6CisjIGh0dHA6Ly9hbnRpcmV6LmNvbS9wb3N0L3JlZGlzLXBlcnNpc3RlbmNlLWRlbXlzdGlmaWVkLmh0bWwKKyMKKyMgSWYgdW5zdXJlLCB1c2UgImV2ZXJ5c2VjIi4KKworIyBhcHBlbmRmc3luYyBhbHdheXMKK2FwcGVuZGZzeW5jIGV2ZXJ5c2VjCisjIGFwcGVuZGZzeW5jIG5vCisKKyMgV2hlbiB0aGUgQU9GIGZzeW5jIHBvbGljeSBpcyBzZXQgdG8gYWx3YXlzIG9yIGV2ZXJ5c2VjLCBhbmQgYSBiYWNrZ3JvdW5kCisjIHNhdmluZyBwcm9jZXNzIChhIGJhY2tncm91bmQgc2F2ZSBvciBBT0YgbG9nIGJhY2tncm91bmQgcmV3cml0aW5nKSBpcworIyBwZXJmb3JtaW5nIGEgbG90IG9mIEkvTyBhZ2FpbnN0IHRoZSBkaXNrLCBpbiBzb21lIExpbnV4IGNvbmZpZ3VyYXRpb25zCisjIFJlZGlzIG1heSBibG9jayB0b28gbG9uZyBvbiB0aGUgZnN5bmMoKSBjYWxsLiBOb3RlIHRoYXQgdGhlcmUgaXMgbm8gZml4IGZvcgorIyB0aGlzIGN1cnJlbnRseSwgYXMgZXZlbiBwZXJmb3JtaW5nIGZzeW5jIGluIGEgZGlmZmVyZW50IHRocmVhZCB3aWxsIGJsb2NrCisjIG91ciBzeW5jaHJvbm91cyB3cml0ZSgyKSBjYWxsLgorIworIyBJbiBvcmRlciB0byBtaXRpZ2F0ZSB0aGlzIHByb2JsZW0gaXQncyBwb3NzaWJsZSB0byB1c2UgdGhlIGZvbGxvd2luZyBvcHRpb24KKyMgdGhhdCB3aWxsIHByZXZlbnQgZnN5bmMoKSBmcm9tIGJlaW5nIGNhbGxlZCBpbiB0aGUgbWFpbiBwcm9jZXNzIHdoaWxlIGEKKyMgQkdTQVZFIG9yIEJHUkVXUklURUFPRiBpcyBpbiBwcm9ncmVzcy4KKyMKKyMgVGhpcyBtZWFucyB0aGF0IHdoaWxlIGFub3RoZXIgY2hpbGQgaXMgc2F2aW5nIHRoZSBkdXJhYmlsaXR5IG9mIFJlZGlzIGlzCisjIHRoZSBzYW1lIGFzICJhcHBlbmRmc3luYyBub25lIiwgdGhhdCBpbiBwcmFjdGljYWwgdGVybXMgbWVhbnMgdGhhdCBpdCBpcworIyBwb3NzaWJsZSB0byBsb3N0IHVwIHRvIDMwIHNlY29uZHMgb2YgbG9nIGluIHRoZSB3b3JzdCBzY2VuYXJpbyAod2l0aCB0aGUKKyMgZGVmYXVsdCBMaW51eCBzZXR0aW5ncykuCisjIAorIyBJZiB5b3UgaGF2ZSBsYXRlbmN5IHByb2JsZW1zIHR1cm4gdGhpcyB0byAieWVzIi4gT3RoZXJ3aXNlIGxlYXZlIGl0IGFzCisjICJubyIgdGhhdCBpcyB0aGUgc2FmZXN0IHBpY2sgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZiBkdXJhYmlsaXR5Lgorbm8tYXBwZW5kZnN5bmMtb24tcmV3cml0ZSBubworCisjIEF1dG9tYXRpYyByZXdyaXRlIG9mIHRoZSBhcHBlbmQgb25seSBmaWxlLgorIyBSZWRpcyBpcyBhYmxlIHRvIGF1dG9tYXRpY2FsbHkgcmV3cml0ZSB0aGUgbG9nIGZpbGUgaW1wbGljaXRseSBjYWxsaW5nCisjIEJHUkVXUklURUFPRiB3aGVuIHRoZSBBT0YgbG9nIHNpemUgd2lsbCBncm93dGggYnkgdGhlIHNwZWNpZmllZCBwZXJjZW50YWdlLgorIyAKKyMgVGhpcyBpcyBob3cgaXQgd29ya3M6IFJlZGlzIHJlbWVtYmVycyB0aGUgc2l6ZSBvZiB0aGUgQU9GIGZpbGUgYWZ0ZXIgdGhlCisjIGxhdGVzdCByZXdyaXRlIChvciBpZiBubyByZXdyaXRlIGhhcHBlbmVkIHNpbmNlIHRoZSByZXN0YXJ0LCB0aGUgc2l6ZSBvZgorIyB0aGUgQU9GIGF0IHN0YXJ0dXAgaXMgdXNlZCkuCisjCisjIFRoaXMgYmFzZSBzaXplIGlzIGNvbXBhcmVkIHRvIHRoZSBjdXJyZW50IHNpemUuIElmIHRoZSBjdXJyZW50IHNpemUgaXMKKyMgYmlnZ2VyIHRoYW4gdGhlIHNwZWNpZmllZCBwZXJjZW50YWdlLCB0aGUgcmV3cml0ZSBpcyB0cmlnZ2VyZWQuIEFsc28KKyMgeW91IG5lZWQgdG8gc3BlY2lmeSBhIG1pbmltYWwgc2l6ZSBmb3IgdGhlIEFPRiBmaWxlIHRvIGJlIHJld3JpdHRlbiwgdGhpcworIyBpcyB1c2VmdWwgdG8gYXZvaWQgcmV3cml0aW5nIHRoZSBBT0YgZmlsZSBldmVuIGlmIHRoZSBwZXJjZW50YWdlIGluY3JlYXNlCisjIGlzIHJlYWNoZWQgYnV0IGl0IGlzIHN0aWxsIHByZXR0eSBzbWFsbC4KKyMKKyMgU3BlY2lmeSBhIHBlcmNlbnRhZ2Ugb2YgemVybyBpbiBvcmRlciB0byBkaXNhYmxlIHRoZSBhdXRvbWF0aWMgQU9GCisjIHJld3JpdGUgZmVhdHVyZS4KKworYXV0by1hb2YtcmV3cml0ZS1wZXJjZW50YWdlIDEwMAorYXV0by1hb2YtcmV3cml0ZS1taW4tc2l6ZSA2NG1iCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIExVQSBTQ1JJUFRJTkcgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBNYXggZXhlY3V0aW9uIHRpbWUgb2YgYSBMdWEgc2NyaXB0IGluIG1pbGxpc2Vjb25kcy4KKyMKKyMgSWYgdGhlIG1heGltdW0gZXhlY3V0aW9uIHRpbWUgaXMgcmVhY2hlZCBSZWRpcyB3aWxsIGxvZyB0aGF0IGEgc2NyaXB0IGlzCisjIHN0aWxsIGluIGV4ZWN1dGlvbiBhZnRlciB0aGUgbWF4aW11bSBhbGxvd2VkIHRpbWUgYW5kIHdpbGwgc3RhcnQgdG8KKyMgcmVwbHkgdG8gcXVlcmllcyB3aXRoIGFuIGVycm9yLgorIworIyBXaGVuIGEgbG9uZyBydW5uaW5nIHNjcmlwdCBleGNlZWQgdGhlIG1heGltdW0gZXhlY3V0aW9uIHRpbWUgb25seSB0aGUKKyMgU0NSSVBUIEtJTEwgYW5kIFNIVVRET1dOIE5PU0FWRSBjb21tYW5kcyBhcmUgYXZhaWxhYmxlLiBUaGUgZmlyc3QgY2FuIGJlCisjIHVzZWQgdG8gc3RvcCBhIHNjcmlwdCB0aGF0IGRpZCBub3QgeWV0IGNhbGxlZCB3cml0ZSBjb21tYW5kcy4gVGhlIHNlY29uZAorIyBpcyB0aGUgb25seSB3YXkgdG8gc2h1dCBkb3duIHRoZSBzZXJ2ZXIgaW4gdGhlIGNhc2UgYSB3cml0ZSBjb21tYW5kcyB3YXMKKyMgYWxyZWFkeSBpc3N1ZSBieSB0aGUgc2NyaXB0IGJ1dCB0aGUgdXNlciBkb24ndCB3YW50IHRvIHdhaXQgZm9yIHRoZSBuYXR1cmFsCisjIHRlcm1pbmF0aW9uIG9mIHRoZSBzY3JpcHQuCisjCisjIFNldCBpdCB0byAwIG9yIGEgbmVnYXRpdmUgdmFsdWUgZm9yIHVubGltaXRlZCBleGVjdXRpb24gd2l0aG91dCB3YXJuaW5ncy4KK2x1YS10aW1lLWxpbWl0IDUwMDAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBTTE9XIExPRyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIFRoZSBSZWRpcyBTbG93IExvZyBpcyBhIHN5c3RlbSB0byBsb2cgcXVlcmllcyB0aGF0IGV4Y2VlZGVkIGEgc3BlY2lmaWVkCisjIGV4ZWN1dGlvbiB0aW1lLiBUaGUgZXhlY3V0aW9uIHRpbWUgZG9lcyBub3QgaW5jbHVkZSB0aGUgSS9PIG9wZXJhdGlvbnMKKyMgbGlrZSB0YWxraW5nIHdpdGggdGhlIGNsaWVudCwgc2VuZGluZyB0aGUgcmVwbHkgYW5kIHNvIGZvcnRoLAorIyBidXQganVzdCB0aGUgdGltZSBuZWVkZWQgdG8gYWN0dWFsbHkgZXhlY3V0ZSB0aGUgY29tbWFuZCAodGhpcyBpcyB0aGUgb25seQorIyBzdGFnZSBvZiBjb21tYW5kIGV4ZWN1dGlvbiB3aGVyZSB0aGUgdGhyZWFkIGlzIGJsb2NrZWQgYW5kIGNhbiBub3Qgc2VydmUKKyMgb3RoZXIgcmVxdWVzdHMgaW4gdGhlIG1lYW50aW1lKS4KKyMgCisjIFlvdSBjYW4gY29uZmlndXJlIHRoZSBzbG93IGxvZyB3aXRoIHR3byBwYXJhbWV0ZXJzOiBvbmUgdGVsbHMgUmVkaXMKKyMgd2hhdCBpcyB0aGUgZXhlY3V0aW9uIHRpbWUsIGluIG1pY3Jvc2Vjb25kcywgdG8gZXhjZWVkIGluIG9yZGVyIGZvciB0aGUKKyMgY29tbWFuZCB0byBnZXQgbG9nZ2VkLCBhbmQgdGhlIG90aGVyIHBhcmFtZXRlciBpcyB0aGUgbGVuZ3RoIG9mIHRoZQorIyBzbG93IGxvZy4gV2hlbiBhIG5ldyBjb21tYW5kIGlzIGxvZ2dlZCB0aGUgb2xkZXN0IG9uZSBpcyByZW1vdmVkIGZyb20gdGhlCisjIHF1ZXVlIG9mIGxvZ2dlZCBjb21tYW5kcy4KKworIyBUaGUgZm9sbG93aW5nIHRpbWUgaXMgZXhwcmVzc2VkIGluIG1pY3Jvc2Vjb25kcywgc28gMTAwMDAwMCBpcyBlcXVpdmFsZW50CisjIHRvIG9uZSBzZWNvbmQuIE5vdGUgdGhhdCBhIG5lZ2F0aXZlIG51bWJlciBkaXNhYmxlcyB0aGUgc2xvdyBsb2csIHdoaWxlCisjIGEgdmFsdWUgb2YgemVybyBmb3JjZXMgdGhlIGxvZ2dpbmcgb2YgZXZlcnkgY29tbWFuZC4KK3Nsb3dsb2ctbG9nLXNsb3dlci10aGFuIDEwMDAwCisKKyMgVGhlcmUgaXMgbm8gbGltaXQgdG8gdGhpcyBsZW5ndGguIEp1c3QgYmUgYXdhcmUgdGhhdCBpdCB3aWxsIGNvbnN1bWUgbWVtb3J5LgorIyBZb3UgY2FuIHJlY2xhaW0gbWVtb3J5IHVzZWQgYnkgdGhlIHNsb3cgbG9nIHdpdGggU0xPV0xPRyBSRVNFVC4KK3Nsb3dsb2ctbWF4LWxlbiAxMjgKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBBRFZBTkNFRCBDT05GSUcgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIEhhc2hlcyBhcmUgZW5jb2RlZCB1c2luZyBhIG1lbW9yeSBlZmZpY2llbnQgZGF0YSBzdHJ1Y3R1cmUgd2hlbiB0aGV5IGhhdmUgYQorIyBzbWFsbCBudW1iZXIgb2YgZW50cmllcywgYW5kIHRoZSBiaWdnZXN0IGVudHJ5IGRvZXMgbm90IGV4Y2VlZCBhIGdpdmVuCisjIHRocmVzaG9sZC4gVGhlc2UgdGhyZXNob2xkcyBjYW4gYmUgY29uZmlndXJlZCB1c2luZyB0aGUgZm9sbG93aW5nIGRpcmVjdGl2ZXMuCitoYXNoLW1heC16aXBsaXN0LWVudHJpZXMgNTEyCitoYXNoLW1heC16aXBsaXN0LXZhbHVlIDY0CisKKyMgU2ltaWxhcmx5IHRvIGhhc2hlcywgc21hbGwgbGlzdHMgYXJlIGFsc28gZW5jb2RlZCBpbiBhIHNwZWNpYWwgd2F5IGluIG9yZGVyCisjIHRvIHNhdmUgYSBsb3Qgb2Ygc3BhY2UuIFRoZSBzcGVjaWFsIHJlcHJlc2VudGF0aW9uIGlzIG9ubHkgdXNlZCB3aGVuCisjIHlvdSBhcmUgdW5kZXIgdGhlIGZvbGxvd2luZyBsaW1pdHM6CitsaXN0LW1heC16aXBsaXN0LWVudHJpZXMgNTEyCitsaXN0LW1heC16aXBsaXN0LXZhbHVlIDY0CisKKyMgU2V0cyBoYXZlIGEgc3BlY2lhbCBlbmNvZGluZyBpbiBqdXN0IG9uZSBjYXNlOiB3aGVuIGEgc2V0IGlzIGNvbXBvc2VkCisjIG9mIGp1c3Qgc3RyaW5ncyB0aGF0IGhhcHBlbnMgdG8gYmUgaW50ZWdlcnMgaW4gcmFkaXggMTAgaW4gdGhlIHJhbmdlCisjIG9mIDY0IGJpdCBzaWduZWQgaW50ZWdlcnMuCisjIFRoZSBmb2xsb3dpbmcgY29uZmlndXJhdGlvbiBzZXR0aW5nIHNldHMgdGhlIGxpbWl0IGluIHRoZSBzaXplIG9mIHRoZQorIyBzZXQgaW4gb3JkZXIgdG8gdXNlIHRoaXMgc3BlY2lhbCBtZW1vcnkgc2F2aW5nIGVuY29kaW5nLgorc2V0LW1heC1pbnRzZXQtZW50cmllcyA1MTIKKworIyBTaW1pbGFybHkgdG8gaGFzaGVzIGFuZCBsaXN0cywgc29ydGVkIHNldHMgYXJlIGFsc28gc3BlY2lhbGx5IGVuY29kZWQgaW4KKyMgb3JkZXIgdG8gc2F2ZSBhIGxvdCBvZiBzcGFjZS4gVGhpcyBlbmNvZGluZyBpcyBvbmx5IHVzZWQgd2hlbiB0aGUgbGVuZ3RoIGFuZAorIyBlbGVtZW50cyBvZiBhIHNvcnRlZCBzZXQgYXJlIGJlbG93IHRoZSBmb2xsb3dpbmcgbGltaXRzOgorenNldC1tYXgtemlwbGlzdC1lbnRyaWVzIDEyOAorenNldC1tYXgtemlwbGlzdC12YWx1ZSA2NAorCisjIEFjdGl2ZSByZWhhc2hpbmcgdXNlcyAxIG1pbGxpc2Vjb25kIGV2ZXJ5IDEwMCBtaWxsaXNlY29uZHMgb2YgQ1BVIHRpbWUgaW4KKyMgb3JkZXIgdG8gaGVscCByZWhhc2hpbmcgdGhlIG1haW4gUmVkaXMgaGFzaCB0YWJsZSAodGhlIG9uZSBtYXBwaW5nIHRvcC1sZXZlbAorIyBrZXlzIHRvIHZhbHVlcykuIFRoZSBoYXNoIHRhYmxlIGltcGxlbWVudGF0aW9uIFJlZGlzIHVzZXMgKHNlZSBkaWN0LmMpCisjIHBlcmZvcm1zIGEgbGF6eSByZWhhc2hpbmc6IHRoZSBtb3JlIG9wZXJhdGlvbiB5b3UgcnVuIGludG8gYW4gaGFzaCB0YWJsZQorIyB0aGF0IGlzIHJlaGFzaGluZywgdGhlIG1vcmUgcmVoYXNoaW5nICJzdGVwcyIgYXJlIHBlcmZvcm1lZCwgc28gaWYgdGhlCisjIHNlcnZlciBpcyBpZGxlIHRoZSByZWhhc2hpbmcgaXMgbmV2ZXIgY29tcGxldGUgYW5kIHNvbWUgbW9yZSBtZW1vcnkgaXMgdXNlZAorIyBieSB0aGUgaGFzaCB0YWJsZS4KKyMgCisjIFRoZSBkZWZhdWx0IGlzIHRvIHVzZSB0aGlzIG1pbGxpc2Vjb25kIDEwIHRpbWVzIGV2ZXJ5IHNlY29uZCBpbiBvcmRlciB0bworIyBhY3RpdmUgcmVoYXNoaW5nIHRoZSBtYWluIGRpY3Rpb25hcmllcywgZnJlZWluZyBtZW1vcnkgd2hlbiBwb3NzaWJsZS4KKyMKKyMgSWYgdW5zdXJlOgorIyB1c2UgImFjdGl2ZXJlaGFzaGluZyBubyIgaWYgeW91IGhhdmUgaGFyZCBsYXRlbmN5IHJlcXVpcmVtZW50cyBhbmQgaXQgaXMKKyMgbm90IGEgZ29vZCB0aGluZyBpbiB5b3VyIGVudmlyb25tZW50IHRoYXQgUmVkaXMgY2FuIHJlcGx5IGZvcm0gdGltZSB0byB0aW1lCisjIHRvIHF1ZXJpZXMgd2l0aCAyIG1pbGxpc2Vjb25kcyBkZWxheS4KKyMKKyMgdXNlICJhY3RpdmVyZWhhc2hpbmcgeWVzIiBpZiB5b3UgZG9uJ3QgaGF2ZSBzdWNoIGhhcmQgcmVxdWlyZW1lbnRzIGJ1dAorIyB3YW50IHRvIGZyZWUgbWVtb3J5IGFzYXAgd2hlbiBwb3NzaWJsZS4KK2FjdGl2ZXJlaGFzaGluZyB5ZXMKKworIyBUaGUgY2xpZW50IG91dHB1dCBidWZmZXIgbGltaXRzIGNhbiBiZSB1c2VkIHRvIGZvcmNlIGRpc2Nvbm5lY3Rpb24gb2YgY2xpZW50cworIyB0aGF0IGFyZSBub3QgcmVhZGluZyBkYXRhIGZyb20gdGhlIHNlcnZlciBmYXN0IGVub3VnaCBmb3Igc29tZSByZWFzb24gKGEKKyMgY29tbW9uIHJlYXNvbiBpcyB0aGF0IGEgUHViL1N1YiBjbGllbnQgY2FuJ3QgY29uc3VtZSBtZXNzYWdlcyBhcyBmYXN0IGFzIHRoZQorIyBwdWJsaXNoZXIgY2FuIHByb2R1Y2UgdGhlbSkuCisjCisjIFRoZSBsaW1pdCBjYW4gYmUgc2V0IGRpZmZlcmVudGx5IGZvciB0aGUgdGhyZWUgZGlmZmVyZW50IGNsYXNzZXMgb2YgY2xpZW50czoKKyMKKyMgbm9ybWFsIC0+IG5vcm1hbCBjbGllbnRzCisjIHNsYXZlICAtPiBzbGF2ZSBjbGllbnRzIGFuZCBNT05JVE9SIGNsaWVudHMKKyMgcHVic3ViIC0+IGNsaWVudHMgc3ViY3JpYmVkIHRvIGF0IGxlYXN0IG9uZSBwdWJzdWIgY2hhbm5lbCBvciBwYXR0ZXJuCisjCisjIFRoZSBzeW50YXggb2YgZXZlcnkgY2xpZW50LW91dHB1dC1idWZmZXItbGltaXQgZGlyZWN0aXZlIGlzIHRoZSBmb2xsb3dpbmc6CisjCisjIGNsaWVudC1vdXRwdXQtYnVmZmVyLWxpbWl0IDxjbGFzcz4gPGhhcmQgbGltaXQ+IDxzb2Z0IGxpbWl0PiA8c29mdCBzZWNvbmRzPgorIworIyBBIGNsaWVudCBpcyBpbW1lZGlhdGVseSBkaXNjb25uZWN0ZWQgb25jZSB0aGUgaGFyZCBsaW1pdCBpcyByZWFjaGVkLCBvciBpZgorIyB0aGUgc29mdCBsaW1pdCBpcyByZWFjaGVkIGFuZCByZW1haW5zIHJlYWNoZWQgZm9yIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mCisjIHNlY29uZHMgKGNvbnRpbnVvdXNseSkuCisjIFNvIGZvciBpbnN0YW5jZSBpZiB0aGUgaGFyZCBsaW1pdCBpcyAzMiBtZWdhYnl0ZXMgYW5kIHRoZSBzb2Z0IGxpbWl0IGlzCisjIDE2IG1lZ2FieXRlcyAvIDEwIHNlY29uZHMsIHRoZSBjbGllbnQgd2lsbCBnZXQgZGlzY29ubmVjdGVkIGltbWVkaWF0ZWx5CisjIGlmIHRoZSBzaXplIG9mIHRoZSBvdXRwdXQgYnVmZmVycyByZWFjaCAzMiBtZWdhYnl0ZXMsIGJ1dCB3aWxsIGFsc28gZ2V0CisjIGRpc2Nvbm5lY3RlZCBpZiB0aGUgY2xpZW50IHJlYWNoZXMgMTYgbWVnYWJ5dGVzIGFuZCBjb250aW51b3VzbHkgb3ZlcmNvbWVzCisjIHRoZSBsaW1pdCBmb3IgMTAgc2Vjb25kcy4KKyMKKyMgQnkgZGVmYXVsdCBub3JtYWwgY2xpZW50cyBhcmUgbm90IGxpbWl0ZWQgYmVjYXVzZSB0aGV5IGRvbid0IHJlY2VpdmUgZGF0YQorIyB3aXRob3V0IGFza2luZyAoaW4gYSBwdXNoIHdheSksIGJ1dCBqdXN0IGFmdGVyIGEgcmVxdWVzdCwgc28gb25seQorIyBhc3luY2hyb25vdXMgY2xpZW50cyBtYXkgY3JlYXRlIGEgc2NlbmFyaW8gd2hlcmUgZGF0YSBpcyByZXF1ZXN0ZWQgZmFzdGVyCisjIHRoYW4gaXQgY2FuIHJlYWQuCisjCisjIEluc3RlYWQgdGhlcmUgaXMgYSBkZWZhdWx0IGxpbWl0IGZvciBwdWJzdWIgYW5kIHNsYXZlIGNsaWVudHMsIHNpbmNlCisjIHN1YnNjcmliZXJzIGFuZCBzbGF2ZXMgcmVjZWl2ZSBkYXRhIGluIGEgcHVzaCBmYXNoaW9uLgorIworIyBCb3RoIHRoZSBoYXJkIG9yIHRoZSBzb2Z0IGxpbWl0IGNhbiBiZSBkaXNhYmxlZCBqdXN0IHNldHRpbmcgaXQgdG8gemVyby4KK2NsaWVudC1vdXRwdXQtYnVmZmVyLWxpbWl0IG5vcm1hbCAwIDAgMAorY2xpZW50LW91dHB1dC1idWZmZXItbGltaXQgc2xhdmUgMjU2bWIgNjRtYiA2MAorY2xpZW50LW91dHB1dC1idWZmZXItbGltaXQgcHVic3ViIDMybWIgOG1iIDYwCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgSU5DTFVERVMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBJbmNsdWRlIG9uZSBvciBtb3JlIG90aGVyIGNvbmZpZyBmaWxlcyBoZXJlLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91CisjIGhhdmUgYSBzdGFuZGFyZCB0ZW1wbGF0ZSB0aGF0IGdvZXMgdG8gYWxsIFJlZGlzIHNlcnZlciBidXQgYWxzbyBuZWVkCisjIHRvIGN1c3RvbWl6ZSBhIGZldyBwZXItc2VydmVyIHNldHRpbmdzLiAgSW5jbHVkZSBmaWxlcyBjYW4gaW5jbHVkZQorIyBvdGhlciBmaWxlcywgc28gdXNlIHRoaXMgd2lzZWx5LgorIworIyBpbmNsdWRlIC9wYXRoL3RvL2xvY2FsLmNvbmYKKyMgaW5jbHVkZSAvcGF0aC90by9vdGhlci5jb25mCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpc18zLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JlZGlzL3JlZGlzXzMuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1ZjJjOTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpc18zLjAuMi5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIlJlZGlzIGtleS12YWx1ZSBzdG9yZSIKK0RFU0NSSVBUSU9OID0gIlJlZGlzIGlzIGFuIG9wZW4gc291cmNlLCBhZHZhbmNlZCBrZXktdmFsdWUgc3RvcmUuIgorSE9NRVBBR0UgPSAiaHR0cDovL3JlZGlzLmlvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYzAxYjQ5ZmVkNGRmMWE3OTg0MzY4OGZhM2Y3YjlkNiIKK0RFUEVORFMgPSAiIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5yZWRpcy5pby9yZWxlYXNlcy8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vaGlyZWRpcy11c2UtZGVmYXVsdC1DQy1pZi1pdC1pcy1zZXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbHVhLXVwZGF0ZS1NYWtlZmlsZS10by11c2UtZW52aXJvbm1lbnQtYnVpbGQtc2V0dGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9vZS11c2UtbGliYy1tYWxsb2MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVkaXMuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0LXJlZGlzLXNlcnZlciBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiODdiZTg4Njc0NDdmNjI1MjRiNTg0ODEzZTVhN2JkMTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTNlNDIyYzBkNTg0NjIzNjAxZjg5Yjk1NjA0NWJlMTU4ODg5ZWJlNTk0NDc4YTJjMjRlMWJmMjE4NDk1NjMzZiIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kCisKK2RvX2luc3RhbGwoKSB7CisgICAgZXhwb3J0IFBSRUZJWD0ke0R9LyR7cHJlZml4fQorICAgIG9lX3J1bm1ha2UgaW5zdGFsbAorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L3JlZGlzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmVkaXMuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vcmVkaXMvcmVkaXMuY29uZgorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQtcmVkaXMtc2VydmVyICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvcmVkaXMtc2VydmVyCisgICAgaW5zdGFsbCAtZCAke0R9L3Zhci9saWIvcmVkaXMvCit9CisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L3JlZGlzL3JlZGlzLmNvbmYiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJyZWRpcy1zZXJ2ZXIiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyA4NyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JyZHRvb2wvcnJkdG9vbF8xLjUuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JyZHRvb2wvcnJkdG9vbF8xLjUuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTZhYWZjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnJkdG9vbC9ycmR0b29sXzEuNS40LmJiCkBAIC0wLDAgKzEsMTIwIEBACitTVU1NQVJZID0gIkhpZ2ggcGVyZm9ybWFuY2UgZGF0YSBsb2dnaW5nIGFuZCBncmFwaGluZyBzeXN0ZW0gZm9yIHRpbWUgc2VyaWVzIGRhdGEiCitIT01FUEFHRSA9ICJodHRwOi8vb3NzLm9ldGlrZXIuY2gvcnJkdG9vbC8iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTMzNDkxMTFlZDA1MzM0NzE0OTRiZWVjOTk3MTViYzlkIgorCitERVBFTkRTID0gImxpYnBuZyB6bGliIGNhaXJvIHBhbmdvIGdsaWItMi4wIGxpYnhtbDIgZ3JvZmYtbmF0aXZlIgorCitTUkNSRVYgPSAiMDRmNzAwNThjYzg5NGMwYTNlZTVkNTU1ZWExYmI1YThkNGJiOGEwZSIKK1BWID0gIjEuNS40IgorCitTUkNfVVJJID0gIlwKKyAgICBnaXQ6Ly9naXRodWIuY29tL29ldGlrZXIvcnJkdG9vbC0xLnguZ2l0O2JyYW5jaD0xLjUgXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNwYW4gYXV0b3Rvb2xzLWJyb2tlbnNlcCBnZXR0ZXh0IHB5dGhvbm5hdGl2ZSBweXRob24tZGlyIHN5c3RlbWQKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJycmRjYWNoZWQuc29ja2V0IHJyZGNhY2hlZC5zZXJ2aWNlIgorCitFWFRSQV9BVVRPUkVDT05GID0gIi1JIG00IgorCitQQUNLQUdFQ09ORklHID8/PSAicHl0aG9uIHBlcmwgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IgorCitQQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS1lbmFibGUtcHl0aG9uPXllcyBcCithbV9jdl9weXRob25fcHl0aG9uZGlyPSR7U1RBR0lOR19MSUJESVJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfS9zaXRlLXBhY2thZ2VzIFwKK2FtX2N2X3B5dGhvbl9weWV4ZWNkaXI9JHtTVEFHSU5HX0xJQkRJUn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMsXAorLS1kaXNhYmxlLXB5dGhvbixweXRob24sIgorCitQQUNLQUdFQ09ORklHW3BlcmxdID0gXAorIi0tZW5hYmxlLXBlcmw9eWVzIC0td2l0aC1wZXJsLW9wdGlvbnM9J0lOU1RBTExESVJTPSJ2ZW5kb3IiJyBcCithY19jdl9wYXRoX1BFUkxfQ0M9JyR7Q0N9JywgIFwKKy0tZGlzYWJsZS1wZXJsLHBlcmwsIgorCitQQUNLQUdFQ09ORklHW2RiaV0gPSAiLS1lbmFibGUtbGliZGJpLC0tZGlzYWJsZS1saWJkYmksbGliZGJpIgorCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsc3lzdGVtZCwiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZW5hYmxlLXNoYXJlZCBcCisgICAgLS1kaXNhYmxlLWxpYndyYXAgXAorICAgIC0tcHJvZ3JhbS1wcmVmaXg9JycgXAorICAgIHJkX2N2X2llZWVfd29ya3M9eWVzIFwKKyAgICAtLWRpc2FibGUtcnVieSBcCisgICAgLS1kaXNhYmxlLWx1YSBcCisgICAgLS1kaXNhYmxlLXRjbCBcCisgICAgLS1kaXNhYmxlLXJwYXRoIFwKKyIKKworZXhwb3J0IEJVSUxEX1NZUworZXhwb3J0IEhPU1RfU1lTCitleHBvcnQgU1RBR0lOR19MSUJESVIKK2V4cG9ydCBTVEFHSU5HX0lOQ0RJUgorCisjIGVtdWxhdGUgY3Bhbl9kb19jb25maWd1cmUKK0VYVFJBX09FTUFLRSA9ICcgUEVSTDVMSUI9IiR7UEVSTF9BUkNITElCfSIgJworIyBBdm9pZCBkb19jb25maWd1cmUgZXJyb3Igb24gc29tZSBob3N0cworZXhwb3J0IFBFUkxIT1NUTElCID0gIiIKKworZG9fY29uZmlndXJlKCkgeworICAgICNmaXggdGhlIHBrZ2xpYiBwcm9ibGVtIHdpdGggbmV3ZXIgYXV0b21ha2UKKyAgICAjcGVybAorICAgIHNlZCAtaSAtZSAic3wtV2wsLS1ycGF0aCAtV2wsXCRycHx8ZyIgXAorICAgICAgICAke1N9L2JpbmRpbmdzL3Blcmwtc2hhcmVkL01ha2VmaWxlLlBMCisKKyAgICAjcHl0aG9uCisgICAgc2VkIC1pIC1lICcvUFlUSE9OX0lOQ0xVREVTPSItSSR7L2MgXAorICAgIFBZVEhPTl9JTkNMVURFUz0iLUk9L3Vzci9pbmNsdWRlL3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfSInIFwKKyAgICAgICAgJHtTfS9tNC9hY2luY2x1ZGUubTQKKyAgICAjcmVtb3ZlIHRoZSB1c2VsZXNzIFJQQVRIIGZyb20gdGhlIHJyZHRvb2wuc28KKyAgICBzZWQgLWkgLWUgJ3N8TERfUlVOX1BBVEg9JChsaWJkaXIpfHxnJyAke1N9L2JpbmRpbmdzL01ha2VmaWxlLmFtCisKKyAgICBhdXRvdG9vbHNfZG9fY29uZmlndXJlCisKKyAgICAjbW9kaWZ5IHB5dGhvbiBzaXRlcGtnCisgICAgI3JlbW92ZSB0aGUgZGVwZW5kZW5jeSBvZiBwZXJsLXNoYXJlZDpNYWtlZmlsZQorICAgICNvciBwZXJsLXNoYXJlZC9NYWtlZmlsZSB3aWxsIGJlIHJlZ2VuZXJhdGVkCisgICAgI2lmIGFueSBjb2RlIHRvdWNoIGJpbmRpbmdzL01ha2VmaWxlIGFmdGVyIGJlbG93IHBlcmwgYmluZGluZ3MgY29kZQorICAgIHNlZCAtaSAtZSAiczpweXRob24vc2V0dXAucHkgaW5zdGFsbDpweXRob24vc2V0dXAucHkgaW5zdGFsbCBcCisgICAgICAgIC0taW5zdGFsbC1saWI9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn06IiBcCisgICAgICAgIC1lICJzOnBlcmwtc2hhcmVkL01ha2VmaWxlLlBMIE1ha2VmaWxlOnBlcmwtc2hhcmVkL01ha2VmaWxlLlBMOiIgXAorICAgICAgICAke0J9L2JpbmRpbmdzL01ha2VmaWxlCisKKyAgICAjcmVkbyB0aGUgcGVybCBiaW5kaW5ncworICAgICgKKyAgICBjZCAke1N9L2JpbmRpbmdzL3Blcmwtc2hhcmVkOworICAgIHBlcmwgTWFrZWZpbGUuUEwgSU5TVEFMTERJUlM9InZlbmRvciIgSU5TVEFMTFBSSVZMSUI9ImFiYyI7CisKKyAgICBjZCAuLi8uLi9iaW5kaW5ncy9wZXJsLXBpcGVkOworICAgIHBlcmwgTWFrZWZpbGUuUEwgSU5TVEFMTERJUlM9InZlbmRvciI7CisgICAgKQorCisgICAgI2NoYW5nZSB0aGUgaW50ZXJwcmV0ZXIgaW4gZmlsZQorICAgIHNlZCAtaSAtZSAic3xeUEVSTCA9ICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS8uKnxQRVJMID0gL3Vzci9iaW4vcGVybHxnIiBcCisgICAgICAgICR7Qn0vZXhhbXBsZXMvTWFrZWZpbGUKKyAgICBzZWQgLWkgLWUgInN8JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3BlcmwtbmF0aXZlL3Blcmx8L3Vzci9iaW4vcGVybHxnIiBcCisgICAgICAgICR7Qn0vZXhhbXBsZXMvKi5wbAorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tcGVybCAke1BOfS1weXRob24iCisKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS9ycmR0b29sL2V4YW1wbGVzIgorCitERVNDUklQVElPTl8ke1BOfS1wZXJsID0gXAorIlRoZSAke1BOfS1wZXJsIHBhY2thZ2UgaW5jbHVkZXMgUlJEdG9vbCBiaW5kaW5ncyBmb3IgcGVybC4iCitGSUxFU18ke1BOfS1wZXJsID0gIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovKi5wbSBcCisgICAgJHtsaWJkaXJ9L3BlcmwvdmVuZG9yX3BlcmwvKi9hdXRvL1JSRHMvUlJEcy4qIgorUkRFUEVORFNfJHtQTn0tcGVybCA9ICJwZXJsIHBlcmwtbW9kdWxlLWxpYiBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBwZXJsLW1vZHVsZS10aW1lLWhpcmVzIFwKKyAgICBwZXJsLW1vZHVsZS1pby1maWxlIHBlcmwtbW9kdWxlLWlwYy1vcGVuMiBwZXJsLW1vZHVsZS1pby1zb2NrZXQiCisKK0RFU0NSSVBUSU9OXyR7UE59LXB5dGhvbiA9IFwKKyJUaGUgJHtQTn0tcHl0aG9uIHBhY2thZ2UgaW5jbHVkZXMgUlJEdG9vbCBiaW5kaW5ncyBmb3IgcHl0aG9uLiIKK0ZJTEVTXyR7UE59LXB5dGhvbiA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvKiIKK1JERVBFTkRTXyR7UE59LXB5dGhvbiA9ICJweXRob24iCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3BlcmwvdmVuZG9yX3BlcmwvKi9hdXRvL1JSRHMvLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL2VuYWJsZV90bHNfcHRlc3RzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL2VuYWJsZV90bHNfcHRlc3RzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NThmMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvZW5hYmxlX3Rsc19wdGVzdHMucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRW5hYmxlIHRscyBwdGVzdAorCitTaWduZWQtb2ZmLWJ5OiBUdWRvciBGbG9yZWEgPHR1ZG9yLmZsb3JlYUBlbmVhLmNvbT4KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCistLS0gcnN5c2xvZy03LjQuNC90ZXN0cy9NYWtlZmlsZS5hbS5vcmlnCTIwMTMtMDgtMzAgMTg6MzA6NDEuMDAwMDAwMDAwICswMjAwCisrKysgcnN5c2xvZy03LjQuNC90ZXN0cy9NYWtlZmlsZS5hbQkyMDE1LTEwLTAxIDA5OjM4OjQ1LjE3NjI4OTAzMSArMDIwMAorQEAgLTExOCwxNSArMTE4LDEzIEBACisgZW5kaWYKKyAKKyBpZiBFTkFCTEVfR05VVExTCistIyBUT0RPOiByZS1lbmFibGUgaW4gbmV3ZXIgdmVyc2lvbgorLSNURVNUUyArPSAgXAorLQkjc25kcmN2X3Rsc19hbm9uLnNoIFwKKy0JI3NuZHJjdl90bHNfYW5vbl9yZWJpbmQuc2ggXAorLQkjaW10Y3AtdGxzLWJhc2ljLnNoCisrVEVTVFMgKz0gIFwKKysJIGltdGNwLXRscy1iYXNpYy5zaCBcCisrCSBpbXRjcF9jb25uZHJvcF90bHMuc2gKKyBpZiBIQVZFX1ZBTEdSSU5ECisgVEVTVFMgKz0gaW10Y3AtdGxzLWJhc2ljLXZnLnNoIFwKKy0JIGltdGNwX2Nvbm5kcm9wX3Rscy12Zy5zaCAKKy0JIG1hbnl0Y3AtdG9vLWZldy10bHMtdmcuc2ggCisrCSBpbXRjcF9jb25uZHJvcF90bHMtdmcuc2ggXAorKwkgbWFueXRjcC10b28tZmV3LXRscy5zaAorIGVuZGlmCisgZW5kaWYKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL2luaXRzY3JpcHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvaW5pdHNjcmlwdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YThmOGY5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL2luaXRzY3JpcHQKQEAgLTAsMCArMSwxMTggQEAKKyMhIC9iaW4vc2gKKyMKKyMgVGhpcyBpcyBhbiBpbml0IHNjcmlwdCBmb3Igb3BlbmVtYmVkZGVkCisjIENvcHkgaXQgdG8gL2V0Yy9pbml0LmQvcnN5c2xvZyBhbmQgdHlwZQorIyA+IHVwZGF0ZS1yYy5kIHJzeXNsb2cgZGVmYXVsdHMgNQorIworCitQQVRIPS9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluCitOQU1FPXJzeXNsb2cKK1JTWVNMT0dEPXJzeXNsb2dkCitSU1lTTE9HRF9CSU49L3Vzci9zYmluL3JzeXNsb2dkCitSU1lTTE9HRF9PUFRJT05TPSIiCitSU1lTTE9HRF9QSURGSUxFPS92YXIvcnVuL3JzeXNsb2dkLnBpZAorU0NSSVBUTkFNRT0vZXRjL2luaXQuZC8kTkFNRQorIyBFeGl0IGlmIHRoZSBwYWNrYWdlIGlzIG5vdCBpbnN0YWxsZWQKK1sgLXggIiRSU1lTTE9HRF9CSU4iIF0gfHwgZXhpdCAwCisjIFJlYWQgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBmaWxlIGlmIGl0IGlzIHByZXNlbnQKK1sgLXIgL2V0Yy9kZWZhdWx0LyROQU1FIF0gJiYgLiAvZXRjL2RlZmF1bHQvJE5BTUUKKyMKKyMgRnVuY3Rpb24gdGhhdCBzdGFydHMgdGhlIGRhZW1vbi9zZXJ2aWNlCisjCitkb19zdGFydCgpCit7CisgICAgICAgIERBRU1PTj0kMQorICAgICAgICBEQUVNT05fQVJHUz0kMgorICAgICAgICBQSURGSUxFPSQzCisgICAgICAgICMgUmV0dXJuCisgICAgICAgICMgICAwIGlmIGRhZW1vbiBoYXMgYmVlbiBzdGFydGVkCisgICAgICAgICMgICAxIGlmIGRhZW1vbiBjb3VsZCBub3QgYmUgc3RhcnRlZAorICAgICAgICAjICAgaWYgZGFlbW9uIGhhZCBhbHJlYWR5IGJlZW4gc3RhcnRlZCwgc3RhcnQtc3RvcC1kYWVtb24gd2lsbCByZXR1cm4gMQorICAgICAgICAjICAgc28gYWRkIC1vLy0tb2tub2RvKGlmIG5vdGhpbmcgaXMgZG9uZSwgZXhpdCAwKQorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtUyAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLWV4ZWMgJERBRU1PTiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tb2tub2RvIC0tICREQUVNT05fQVJHUyB8fCByZXR1cm4gMQorfQorIworIyBGdW5jdGlvbiB0aGF0IHN0b3BzIHRoZSBkYWVtb24vc2VydmljZQorIworZG9fc3RvcCgpCit7CisgICAgICAgIE5BTUU9JDEKKyAgICAgICAgUElERklMRT0kMgorICAgICAgICAjIFJldHVybgorICAgICAgICAjICAgMCBpZiBkYWVtb24gaGFzIGJlZW4gc3RvcHBlZAorICAgICAgICAjICAgMSBpZiBkYWVtb24gd2FzIGFscmVhZHkgc3RvcHBlZAorICAgICAgICAjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0b3BwZWQKKyAgICAgICAgIyAgIG90aGVyIGlmIGEgZmFpbHVyZSBvY2N1cnJlZAorICAgICAgICAjIFFVSVQvVEVSTS9JTlQgc2hvdWxkIHdvcmsgaGVyZSwgYnV0IHRoZXkgZG9uJ3QgPz8/Pz8gCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC1LIC0tcXVpZXQgLS1zaWduYWwgS0lMTCAtLXBpZGZpbGUgJFBJREZJTEUgLS1uYW1lICROQU1FCisgICAgICAgIFJFVFZBTD0iJD8iCisgICAgICAgIHJtIC1mICRQSURGSUxFCisgICAgICAgIHJldHVybiAiJFJFVFZBTCIKK30KKyMKKyMgRnVuY3Rpb24gdGhhdCBzZW5kcyBhIFNJR0hVUCB0byB0aGUgZGFlbW9uL3NlcnZpY2UKKyMKK2RvX3JlbG9hZCgpIHsKKyAgICAgICAgTkFNRT0kMQorICAgICAgICBQSURGSUxFPSQyCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC1LIC0tc2lnbmFsIEhVUCAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLW5hbWUgJE5BTUUKKyAgICAgICAgcmV0dXJuIDAKK30KKworZG9fc3RhdHVzKCkgeworICAgICAgICBOQU1FPSQxCisgICAgICAgIFBJREZJTEU9JDIKKyAgICAgICAgIyAtdDogdGVzdCBvbmx5IGJ1dCBub3Qgc3RvcAorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAtdCAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLW5hbWUgJE5BTUUKKyAgICAgICAgIyBleGl0IHdpdGggc3RhdHVzIDAgaWYgcHJvY2VzcyBpcyBmb3VuZAorICAgICAgICBpZiBbICIkPyIgPSAiMCIgXTsgdGhlbgorICAgICAgICAgICAgICAgIHJldHVybiAwCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gMQorICAgICAgICBmaQorfQorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgICAgIGVjaG8gLW4gInN0YXJ0aW5nICRSU1lTTE9HRCAuLi4gIgorICAgICAgICBkb19zdGFydCAiJFJTWVNMT0dEX0JJTiIgIiRSU1lTTE9HRF9PUFRJT05TIiAiJFJTWVNMT0dEX1BJREZJTEUiCisgICAgICAgIGNhc2UgIiQ/IiBpbgorICAgICAgICAgICAgICAgIDApIGVjaG8gImRvbmUiIDs7CisgICAgICAgICAgICAgICAgMSkgZWNobyAiZmFpbGVkIiA7OworICAgICAgICBlc2FjCisgICAgICAgIDs7CisgIHN0b3ApCisgICAgICAgIGVjaG8gLW4gInN0b3BwaW5nICRSU1lTTE9HRCAuLi4gIgorICAgICAgICBkb19zdG9wICIkUlNZU0xPR0QiICIkUlNZU0xPR0RfUElERklMRSIKKyAgICAgICAgY2FzZSAiJD8iIGluCisgICAgICAgICAgICAgICAgMHwxKSBlY2hvICJkb25lIiA7OworICAgICAgICAgICAgICAgIDIpIGVjaG8gImZhaWxlZCIgOzsKKyAgICAgICAgZXNhYworICAgICAgICA7OworICByZWxvYWR8Zm9yY2UtcmVsb2FkKQorICAgICAgICBlY2hvIC1uICJyZWxvYWRpbmcgJFJTWVNMT0dEIC4uLiAiCisgICAgICAgIGRvX3JlbG9hZCAiJFJTWVNMT0dEIiAiJFJTWVNMT0dEX1BJREZJTEUiCisgICAgICAgIGVjaG8gImRvbmUiCisgICAgICAgIDs7CisgIHJlc3RhcnQpCisgICAgICAgICQwIHN0b3AKKyAgICAgICAgJDAgc3RhcnQKKyAgICAgICAgOzsKKyAgc3RhdHVzKQorICAgICAgICBlY2hvIC1uICJzdGF0dXMgJFJTWVNMT0dEIC4uLiAiCisgICAgICAgIGRvX3N0YXR1cyAiJFJTWVNMT0dEIiAiJFJTWVNMT0dEX1BJREZJTEUiCisgICAgICAgIGlmIFsgIiQ/IiA9ICIwIiBdOyB0aGVuCisgICAgICAgICAgICAgICAgZWNobyAicnVubmluZyIKKyAgICAgICAgICAgICAgICBleGl0IDAgICAgICAgIAorICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZWNobyAic3RvcHBlZCIKKyAgICAgICAgICAgICAgICBleGl0IDEgICAgICAgIAorICAgICAgICBmaQorICAgICAgICA7OworICAqKQorICAgICAgICBlY2hvICJVc2FnZTogJFNDUklQVE5BTUUge3N0YXJ0fHN0b3B8c3RhdHVzfHJlc3RhcnR8cmVsb2FkfGZvcmNlLXJlbG9hZH0iID4mMgorICAgICAgICBleGl0IDMKKyAgICAgICAgOzsKK2VzYWMKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL2pzb24tMC4xMi1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvanNvbi0wLjEyLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGQ4NWE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL2pzb24tMC4xMi1maXgucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAoranNvbi1jLTAuMTIgdW5saWtlIDAuMTEgZG9lc24ndCBpbnN0YWxsIGpzb24gLT4ganNvbi1jIHN5bWxpbmsgaW4gaW5jbHVkZQorCisqIFJlc29sdmVkIGluIFZlcnNpb24gNy42LjQgW3Y3LjYtc3RhYmxlXSAyMDE0LTA5LTEyCisgIGh0dHBzOi8vZ2l0aHViLmNvbS9yc3lzbG9nL3JzeXNsb2cvYmxvYi92Ny1zdGFibGUvQ2hhbmdlTG9nCisqIHBlcm1pdHMgdG8gYnVpbGQgYWdhaW5zdCBqc29uLWMgMC4xMgorICBVbmZvcnR1bmF0ZWx5LCBqc29uLWMgaGFkIGFuIEFCSSBicmVha2FnZSwgc28gdGhpcyBpcyBuZWNlc3NhcnkuIE5vdGUKKyAgdGhhdCB2ZXJzaW9ucyBwcmlvciB0byAwLjEyIGhhZCBzZWN1cml0eSBpc3N1ZXMgKENWRS0yMDEzLTYzNzAsCisgIENWRS0yMDEzLTYzNzEpIGFuZCBzbyBpdCBpcyBkZXNpcmFibGUgdG8gbGluayBhZ2FpbnN0IHRoZSBuZXcgdmVyc2lvbi4KKyAgVGhhbmtzIHRvIFRob21hcyBELiBmb3IgdGhlIHBhdGNoLiBOb3RlIHRoYXQgYXQgbGVhc3Qgc29tZSBkaXN0cm9zCisgIGhhdmUgZml4ZWQgdGhlIHNlY3VyaXR5IGlzc3VlIGluIG9sZGVyIHZlcnNpb25zIG9mIGpzb24tYywgc28gdGhpcworICBzZWVtcyB0byBhcHBseSBtb3N0bHkgd2hlbiBidWlsZGluZyBmcm9tIHNvdXJjZXMuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKworZGlmZiAtLWdpdCBhL3BsdWdpbnMvb21tb25nb2RiL29tbW9uZ29kYi5jIGIvcGx1Z2lucy9vbW1vbmdvZGIvb21tb25nb2RiLmMKK2luZGV4IDQxYzBkNzYuLjY4MmM0MGUgMTAwNjQ0CistLS0gYS9wbHVnaW5zL29tbW9uZ29kYi9vbW1vbmdvZGIuYworKysrIGIvcGx1Z2lucy9vbW1vbmdvZGIvb21tb25nb2RiLmMKK0BAIC0zMyw5ICszMyw5IEBACisgI2luY2x1ZGUgPHN0ZGludC5oPgorICNpbmNsdWRlIDx0aW1lLmg+CisgI2luY2x1ZGUgPG1vbmdvLmg+CistI2luY2x1ZGUgPGpzb24uaD4KKysjaW5jbHVkZSA8anNvbi1jL2pzb24uaD4KKyAvKiBGb3Igc3RydWN0IGpzb25fb2JqZWN0X2l0ZXIsIHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5IGluIGZ1dHVyZSB2ZXJzaW9ucyAqLworLSNpbmNsdWRlIDxqc29uX29iamVjdF9wcml2YXRlLmg+CisrI2luY2x1ZGUgPGpzb24tYy9qc29uX29iamVjdF9wcml2YXRlLmg+CisgCisgI2luY2x1ZGUgInJzeXNsb2cuaCIKKyAjaW5jbHVkZSAiY29uZi5oIgorZGlmZiAtLWdpdCBhL3J1bnRpbWUvbXNnLmMgYi9ydW50aW1lL21zZy5jCitpbmRleCBkMDRjZTdiLi5iMzY3ZTFmIDEwMDY0NAorLS0tIGEvcnVudGltZS9tc2cuYworKysrIGIvcnVudGltZS9tc2cuYworQEAgLTQxLDkgKzQxLDkgQEAKKyAjZW5kaWYKKyAjaW5jbHVkZSA8bmV0ZGIuaD4KKyAjaW5jbHVkZSA8bGliZXN0ci5oPgorLSNpbmNsdWRlIDxqc29uLmg+CisrI2luY2x1ZGUgPGpzb24tYy9qc29uLmg+CisgLyogRm9yIHN0cnVjdCBqc29uX29iamVjdF9pdGVyLCBzaG91bGQgbm90IGJlIG5lY2Vzc2FyeSBpbiBmdXR1cmUgdmVyc2lvbnMgKi8KKy0jaW5jbHVkZSA8anNvbl9vYmplY3RfcHJpdmF0ZS5oPgorKyNpbmNsdWRlIDxqc29uLWMvanNvbl9vYmplY3RfcHJpdmF0ZS5oPgorICNpZiBIQVZFX01BTExPQ19ICisgIyAgaW5jbHVkZSA8bWFsbG9jLmg+CisgI2VuZGlmCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvcmVwbGFjZV9kZXByZWNhdGVkX0dudVRMU19mdW5jdGlvbnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvcmVwbGFjZV9kZXByZWNhdGVkX0dudVRMU19mdW5jdGlvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmUwNWVlZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9yZXBsYWNlX2RlcHJlY2F0ZWRfR251VExTX2Z1bmN0aW9ucy5wYXRjaApAQCAtMCwwICsxLDczIEBACityZXBsYWNlIGRlcHJlY2F0ZWQgR251VExTIGZ1bmN0aW9ucyB3aXRoIG5ld2VyIG9uZXMgaWYgYXZhaWxhYmxlCisKK2Nsb3NlcyBodHRwczovL2dpdGh1Yi5jb20vcnN5c2xvZy9yc3lzbG9nL2lzc3Vlcy8zMDIKKworVXBzdHJlYW0gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS9yc3lzbG9nL3JzeXNsb2cvY29tbWl0L2IzNGMzNWUzOGYyNTg5MzVjMGU5MmNhNzU0ZGEwOTdkN2YzZjBmNTgKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogVHVkb3IgRmxvcmVhICA8dHVkb3IuZmxvcmVhQGVuZWEuY29tPgorCistLS0KKyBjb25maWd1cmUuYWMgICAgICAgfCAgMiArKworIHJ1bnRpbWUvbnNkX2d0bHMuYyB8IDIxICsrKysrKysrKysrKysrKysrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNjQzZmM5NC4uNTY4MzVmYiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNzYzLDYgKzc2Myw4IEBAIEFDX0FSR19FTkFCTEUoZ251dGxzLAorIGlmIHRlc3QgIngkZW5hYmxlX2dudXRscyIgPSAieHllcyI7IHRoZW4KKyAJUEtHX0NIRUNLX01PRFVMRVMoR05VVExTLCBnbnV0bHMgPj0gMS40LjApCisgCUFDX0RFRklORShbRU5BQkxFX0dOVVRMU10sIFsxXSwgW0luZGljYXRvciB0aGF0IEdudVRMUyBpcyBwcmVzZW50XSkKKysgICAgICAgIEFDX0NIRUNLX0xJQihnbnV0bHMsIGdudXRsc19nbG9iYWxfaW5pdCkKKysJQUNfQ0hFQ0tfRlVOQ1MoZ251dGxzX2NlcnRpZmljYXRlX3NldF9yZXRyaWV2ZV9mdW5jdGlvbiwsKQorIGZpCisgQU1fQ09ORElUSU9OQUwoRU5BQkxFX0dOVVRMUywgdGVzdCB4JGVuYWJsZV9nbnV0bHMgPSB4eWVzKQorIAorZGlmZiAtLWdpdCBhL3J1bnRpbWUvbnNkX2d0bHMuYyBiL3J1bnRpbWUvbnNkX2d0bHMuYworaW5kZXggYTc2M2U0Yi4uZTEyNzgzNCAxMDA2NDQKKy0tLSBhL3J1bnRpbWUvbnNkX2d0bHMuYworKysrIGIvcnVudGltZS9uc2RfZ3Rscy5jCitAQCAtMjMyLDE1ICsyMzIsMjYgQEAgZ3Rsc0xvYWRPdXJDZXJ0S2V5KG5zZF9ndGxzX3QgKnBUaGlzKQorICAqLworIHN0YXRpYyBpbnQKKyBndGxzQ2xpZW50Q2VydENhbGxiYWNrKGdudXRsc19zZXNzaW9uIHNlc3Npb24sCistICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSBjb25zdCBnbnV0bHNfZGF0dW0qIHJlcV9jYV9yZG4sIGludCBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSBucmVxcywKKy0gICAgICAgICAgICAgIF9fYXR0cmlidXRlX18oKHVudXNlZCkpIGNvbnN0IGdudXRsc19wa19hbGdvcml0aG0qIHNpZ25fYWxnb3MsIGludCBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSBzaWduX2FsZ29zX2xlbmd0aCwKKy0gICAgICAgICAgICAgIGdudXRsc19yZXRyX3N0ICpzdCkKKysgICAgICAgIF9fYXR0cmlidXRlX18oKHVudXNlZCkpIGNvbnN0IGdudXRsc19kYXR1bSogcmVxX2NhX3JkbiwKKysJaW50IF9fYXR0cmlidXRlX18oKHVudXNlZCkpIG5yZXFzLAorKyAgICAgICAgX19hdHRyaWJ1dGVfXygodW51c2VkKSkgY29uc3QgZ251dGxzX3BrX2FsZ29yaXRobSogc2lnbl9hbGdvcywKKysJaW50IF9fYXR0cmlidXRlX18oKHVudXNlZCkpIHNpZ25fYWxnb3NfbGVuZ3RoLAorKyNpZiBIQVZFX0dOVVRMU19DRVJUSUZJQ0FURV9TRVRfUkVUUklFVkVfRlVOQ1RJT04KKysJZ251dGxzX3JldHIyX3N0KiBzdAorKyNlbHNlCisrICAgICAgICBnbnV0bHNfcmV0cl9zdCAqc3QKKysjZW5kaWYKKysJKQorIHsKKyAJbnNkX2d0bHNfdCAqcFRoaXM7CisgCisgCXBUaGlzID0gKG5zZF9ndGxzX3QqKSBnbnV0bHNfc2Vzc2lvbl9nZXRfcHRyKHNlc3Npb24pOworIAorKyNpZiBIQVZFX0dOVVRMU19DRVJUSUZJQ0FURV9TRVRfUkVUUklFVkVfRlVOQ1RJT04KKysJc3QtPmNlcnRfdHlwZSA9IEdOVVRMU19DUlRfWDUwOTsKKysjZWxzZQorIAlzdC0+dHlwZSA9IEdOVVRMU19DUlRfWDUwOTsKKysjZW5kaWYKKyAJc3QtPm5jZXJ0cyA9IDE7CisgCXN0LT5jZXJ0Lng1MDkgPSAmcFRoaXMtPm91ckNlcnQ7CisgCXN0LT5rZXkueDUwOSA9IHBUaGlzLT5vdXJLZXk7CitAQCAtMTYyNSw3ICsxNjI1LDExIEBAIENvbm5lY3QobnNkX3QgKnBOc2QsIGludCBmYW1pbHksIHVjaGFyICpwb3J0LCB1Y2hhciAqaG9zdCkKKyAJZ251dGxzX3Nlc3Npb25fc2V0X3B0cihwVGhpcy0+c2VzcywgKHZvaWQqKXBUaGlzKTsKKyAJaVJldCA9IGd0bHNMb2FkT3VyQ2VydEtleShwVGhpcyk7IC8qIGZpcnN0IGxvYWQgLnBlbSBmaWxlcyAqLworIAlpZihpUmV0ID09IFJTX1JFVF9PSykgeworKyMJCWlmIEhBVkVfR05VVExTX0NFUlRJRklDQVRFX1NFVF9SRVRSSUVWRV9GVU5DVElPTiAKKysJCWdudXRsc19jZXJ0aWZpY2F0ZV9zZXRfcmV0cmlldmVfZnVuY3Rpb24oeGNyZWQsIGd0bHNDbGllbnRDZXJ0Q2FsbGJhY2spOworKyMJCWVsc2UKKyAJCWdudXRsc19jZXJ0aWZpY2F0ZV9jbGllbnRfc2V0X3JldHJpZXZlX2Z1bmN0aW9uKHhjcmVkLCBndGxzQ2xpZW50Q2VydENhbGxiYWNrKTsKKysjCWVuZGlmCisgCX0gZWxzZSBpZihpUmV0ICE9IFJTX1JFVF9DRVJUTEVTUykgeworIAkJRklOQUxJWkU7IC8qIHdlIGhhdmUgYW4gZXJyb3IgY2FzZSEgKi8KKyAJfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3JzeXNsb2ctZml4LXB0ZXN0LW5vdC1maW5pc2gucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvcnN5c2xvZy1maXgtcHRlc3Qtbm90LWZpbmlzaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGNiNmUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3JzeXNsb2ctZml4LXB0ZXN0LW5vdC1maW5pc2gucGF0Y2gKQEAgLTAsMCArMSw5NiBAQAorJE1heE1lc3NhZ2VTaXplIGRvZXNuJ3Qgd29yayBpZiBiZWZvcmUgJEluY2x1ZGVDb25maWcgZGlhZy1jb21tb24uY29uZiwgdGhlbgordGVzdCBjYXNlcyBmYWxsIGludG8gaW5maW5pdGUgbG9vcCB3aXRoIGVycm9yIG1lc3NhZ2U6CisKKzgwNjIuNTExMTEwNzI5OjQ5MDJjNDgwOiBlcnJvcjogbWVzc2FnZSByZWNlaXZlZCBpcyBsYXJnZXIgdGhhbiBtYXggbXNnIHNpemUsIHdlIHNwbGl0IGl0Cis4MDYyLjUxMTE1MjI2NTo0OTAyYzQ4MDogZGlzY2FyZGluZyB6ZXJvLXNpemVkIG1lc3NhZ2UKKworVXBkYXRlIGNvbmZpZ3VyZSB0byBmaXggaXQuCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorZGlmZiAtTnJ1IHJzeXNsb2ctNy40LjQvdGVzdHMvdGVzdHN1aXRlcy9jb21wbGV4MS5jb25mIHJzeXNsb2ctNy40LjQubmV3L3Rlc3RzL3Rlc3RzdWl0ZXMvY29tcGxleDEuY29uZgorLS0tIHJzeXNsb2ctNy40LjQvdGVzdHMvdGVzdHN1aXRlcy9jb21wbGV4MS5jb25mCTIwMTMtMDgtMzEgMDA6MzA6NDEuMDAwMDAwMDAwICswODAwCisrKysgcnN5c2xvZy03LjQuNC5uZXcvdGVzdHMvdGVzdHN1aXRlcy9jb21wbGV4MS5jb25mCTIwMTMtMTItMTggMTQ6Mjg6MTAuNjQ0MDA0MTg0ICswODAwCitAQCAtMSw3ICsxLDcgQEAKKyAjIGNvbXBsZXggdGVzdCBjYXNlIHdpdGggbXVsdGlwbGUgYWN0aW9ucyBpbiBnemlwIG1vZGUKKyAjIHJnZXJoYXJkcywgMjAwOS0wNS0yMgorLSRNYXhNZXNzYWdlU2l6ZSAxMGsKKyAkSW5jbHVkZUNvbmZpZyBkaWFnLWNvbW1vbi5jb25mCisrJE1heE1lc3NhZ2VTaXplIDEwaworIAorICRNYWluTXNnUXVldWVUaW1lb3V0RW5xdWV1ZSA1MDAwCisgCitkaWZmIC1OcnUgcnN5c2xvZy03LjQuNC90ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZS5jb25mIHJzeXNsb2ctNy40LjQubmV3L3Rlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlLmNvbmYKKy0tLSByc3lzbG9nLTcuNC40L3Rlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlLmNvbmYJMjAxMi0wNC0wNCAxNDoyOTo1NS4wMDAwMDAwMDAgKzA4MDAKKysrKyByc3lzbG9nLTcuNC40Lm5ldy90ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZS5jb25mCTIwMTMtMTItMTggMTQ6Mjg6MTAuNjQ1MDA0MTg2ICswODAwCitAQCAtMSw3ICsxLDcgQEAKKyAjIHNpbXBsZSBhc3luYyB3cml0aW5nIHRlc3QKKyAjIHJnZXJoYXJkcywgMjAxMC0wMy0wOQorLSRNYXhNZXNzYWdlU2l6ZSAxMGsKKyAkSW5jbHVkZUNvbmZpZyBkaWFnLWNvbW1vbi5jb25mCisrJE1heE1lc3NhZ2VTaXplIDEwaworIAorICRNb2RMb2FkIC4uL3BsdWdpbnMvaW10Y3AvLmxpYnMvaW10Y3AKKyAkTWFpbk1zZ1F1ZXVlVGltZW91dFNodXRkb3duIDEwMDAwCitkaWZmIC1OcnUgcnN5c2xvZy03LjQuNC90ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZV9keW5maWxlLmNvbmYgcnN5c2xvZy03LjQuNC5uZXcvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2VfZHluZmlsZS5jb25mCistLS0gcnN5c2xvZy03LjQuNC90ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZV9keW5maWxlLmNvbmYJMjAxMi0wNC0wNCAxNDoyOTo1NS4wMDAwMDAwMDAgKzA4MDAKKysrKyByc3lzbG9nLTcuNC40Lm5ldy90ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZV9keW5maWxlLmNvbmYJMjAxMy0xMi0xOCAxNDoyODoxMC42NDUwMDQxODYgKzA4MDAKK0BAIC0xLDcgKzEsNyBAQAorICMgc2ltcGxlIGFzeW5jIHdyaXRpbmcgdGVzdAorICMgcmdlcmhhcmRzLCAyMDEwLTAzLTA5CistJE1heE1lc3NhZ2VTaXplIDEwaworICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYKKyskTWF4TWVzc2FnZVNpemUgMTBrCisgCisgJE1vZExvYWQgLi4vcGx1Z2lucy9pbXRjcC8ubGlicy9pbXRjcAorICRNYWluTXNnUXVldWVUaW1lb3V0U2h1dGRvd24gMTAwMDAKK2RpZmYgLU5ydSByc3lzbG9nLTcuNC40L3Rlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2Nvbm5kcm9wLmNvbmYgcnN5c2xvZy03LjQuNC5uZXcvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfY29ubmRyb3AuY29uZgorLS0tIHJzeXNsb2ctNy40LjQvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfY29ubmRyb3AuY29uZgkyMDEzLTA4LTMxIDAwOjMwOjQxLjAwMDAwMDAwMCArMDgwMAorKysrIHJzeXNsb2ctNy40LjQubmV3L3Rlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2Nvbm5kcm9wLmNvbmYJMjAxMy0xMi0xOCAxNDoyODoxMC42NDYwMDQxODkgKzA4MDAKK0BAIC0xLDcgKzEsNyBAQAorICMgc2ltcGxlIGFzeW5jIHdyaXRpbmcgdGVzdAorICMgcmdlcmhhcmRzLCAyMDEwLTAzLTA5CistJE1heE1lc3NhZ2VTaXplIDEwaworICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYKKyskTWF4TWVzc2FnZVNpemUgMTBrCisgCisgJE1vZExvYWQgLi4vcGx1Z2lucy9pbXB0Y3AvLmxpYnMvaW1wdGNwCisgJE1haW5Nc2dRdWV1ZVRpbWVvdXRTaHV0ZG93biAxMDAwMAorZGlmZiAtTnJ1IHJzeXNsb2ctNy40LjQvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfbGFyZ2UuY29uZiByc3lzbG9nLTcuNC40Lm5ldy90ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9sYXJnZS5jb25mCistLS0gcnN5c2xvZy03LjQuNC90ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9sYXJnZS5jb25mCTIwMTMtMDgtMzEgMDA6MzA6NDEuMDAwMDAwMDAwICswODAwCisrKysgcnN5c2xvZy03LjQuNC5uZXcvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfbGFyZ2UuY29uZgkyMDEzLTEyLTE4IDE0OjI4OjEwLjY0NjAwNDE4OSArMDgwMAorQEAgLTEsNyArMSw3IEBACisgIyBzaW1wbGUgYXN5bmMgd3JpdGluZyB0ZXN0CisgIyByZ2VyaGFyZHMsIDIwMTAtMDMtMDkKKy0kTWF4TWVzc2FnZVNpemUgMTBrCisgJEluY2x1ZGVDb25maWcgZGlhZy1jb21tb24uY29uZgorKyRNYXhNZXNzYWdlU2l6ZSAxMGsKKyAKKyAkTW9kTG9hZCAuLi9wbHVnaW5zL2ltcHRjcC8ubGlicy9pbXB0Y3AKKyAkTWFpbk1zZ1F1ZXVlVGltZW91dFNodXRkb3duIDEwMDAwCitkaWZmIC1OcnUgcnN5c2xvZy03LjQuNC90ZXN0cy90ZXN0c3VpdGVzL2ltdGNwX2Nvbm5kcm9wLmNvbmYgcnN5c2xvZy03LjQuNC5uZXcvdGVzdHMvdGVzdHN1aXRlcy9pbXRjcF9jb25uZHJvcC5jb25mCistLS0gcnN5c2xvZy03LjQuNC90ZXN0cy90ZXN0c3VpdGVzL2ltdGNwX2Nvbm5kcm9wLmNvbmYJMjAxMy0wNy0xOSAyMDo1OTowMy4wMDAwMDAwMDAgKzA4MDAKKysrKyByc3lzbG9nLTcuNC40Lm5ldy90ZXN0cy90ZXN0c3VpdGVzL2ltdGNwX2Nvbm5kcm9wLmNvbmYJMjAxMy0xMi0xOCAxNDoyODoxMC42NDYwMDQxODkgKzA4MDAKK0BAIC0xLDcgKzEsNyBAQAorICMgc2ltcGxlIGFzeW5jIHdyaXRpbmcgdGVzdAorICMgcmdlcmhhcmRzLCAyMDEwLTAzLTA5CistJE1heE1lc3NhZ2VTaXplIDEwaworICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYKKyskTWF4TWVzc2FnZVNpemUgMTBrCisgCisgJE1vZExvYWQgLi4vcGx1Z2lucy9pbXRjcC8ubGlicy9pbXRjcAorICRNYWluTXNnUXVldWVUaW1lb3V0U2h1dGRvd24gMTAwMDAKK2RpZmYgLU5ydSByc3lzbG9nLTcuNC40L3Rlc3RzL3Rlc3RzdWl0ZXMvd3JfbGFyZ2UuY29uZiByc3lzbG9nLTcuNC40Lm5ldy90ZXN0cy90ZXN0c3VpdGVzL3dyX2xhcmdlLmNvbmYKKy0tLSByc3lzbG9nLTcuNC40L3Rlc3RzL3Rlc3RzdWl0ZXMvd3JfbGFyZ2UuY29uZgkyMDEyLTA0LTA0IDE0OjI5OjU1LjAwMDAwMDAwMCArMDgwMAorKysrIHJzeXNsb2ctNy40LjQubmV3L3Rlc3RzL3Rlc3RzdWl0ZXMvd3JfbGFyZ2UuY29uZgkyMDEzLTEyLTE4IDE0OjI4OjEwLjY0NzAwNDE5MCArMDgwMAorQEAgLTEsNyArMSw3IEBACisgIyBzaW1wbGUgYXN5bmMgd3JpdGluZyB0ZXN0CisgIyByZ2VyaGFyZHMsIDIwMTAtMDMtMDkKKy0kTWF4TWVzc2FnZVNpemUgMTBrCisgJEluY2x1ZGVDb25maWcgZGlhZy1jb21tb24uY29uZgorKyRNYXhNZXNzYWdlU2l6ZSAxMGsKKyAKKyAkTW9kTG9hZCAuLi9wbHVnaW5zL2ltdGNwLy5saWJzL2ltdGNwCisgJE1haW5Nc2dRdWV1ZVRpbWVvdXRTaHV0ZG93biAxMDAwMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3JzeXNsb2cuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9yc3lzbG9nLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzI0YWU2ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9yc3lzbG9nLmNvbmYKQEAgLTAsMCArMSw4NiBAQAorIyBpZiB5b3UgZXhwZXJpZW5jZSBwcm9ibGVtcywgY2hlY2sKKyMgaHR0cDovL3d3dy5yc3lzbG9nLmNvbS90cm91Ymxlc2hvb3QgZm9yIGFzc2lzdGFuY2UKKworIyByc3lzbG9nIHYzOiBsb2FkIGlucHV0IG1vZHVsZXMKKyMgSWYgeW91IGRvIG5vdCBsb2FkIGlucHV0cywgbm90aGluZyBoYXBwZW5zIQorIyBZb3UgbWF5IG5lZWQgdG8gc2V0IHRoZSBtb2R1bGUgbG9hZCBwYXRoIGlmIG1vZHVsZXMgYXJlIG5vdCBmb3VuZC4KKyMKKyMgUG9ydGVkIGZyb20gZGViaWFuJ3Mgc3lza2xvZ2QuY29uZgorCiskTW9kTG9hZCBpbW1hcmsgICAjIHByb3ZpZGVzIC0tTUFSSy0tIG1lc3NhZ2UgY2FwYWJpbGl0eQorJE1vZExvYWQgaW11eHNvY2sgIyBwcm92aWRlcyBzdXBwb3J0IGZvciBsb2NhbCBzeXN0ZW0gbG9nZ2luZyAoZS5nLiB2aWEgbG9nZ2VyIGNvbW1hbmQpCiskTW9kTG9hZCBpbWtsb2cgICAjIGtlcm5lbCBsb2dnaW5nIChmb3JtZXJseSBwcm92aWRlZCBieSBya2xvZ2QpCisKKyMKKyMgU2V0IHRoZSBkZWZhdWx0IHBlcm1pc3Npb25zCisjCiskRmlsZU93bmVyIHJvb3QKKyRGaWxlR3JvdXAgYWRtCiskRmlsZUNyZWF0ZU1vZGUgMDY0MAorJERpckNyZWF0ZU1vZGUgMDc1NQorJFVtYXNrIDAwMjIKKworYXV0aCxhdXRocHJpdi4qICAgICAgICAgICAgICAgICAvdmFyL2xvZy9hdXRoLmxvZworKi4qO2F1dGgsYXV0aHByaXYubm9uZSAgICAgICAgICAtL3Zhci9sb2cvc3lzbG9nCitjcm9uLiogICAgICAgICAgICAgICAgICAgICAgICAgIC92YXIvbG9nL2Nyb24ubG9nCitkYWVtb24uKiAgICAgICAgICAgICAgICAgICAgICAgIC0vdmFyL2xvZy9kYWVtb24ubG9nCitrZXJuLiogICAgICAgICAgICAgICAgICAgICAgICAgIC0vdmFyL2xvZy9rZXJuLmxvZworbHByLiogICAgICAgICAgICAgICAgICAgICAgICAgICAtL3Zhci9sb2cvbHByLmxvZworbWFpbC4qICAgICAgICAgICAgICAgICAgICAgICAgICAtL3Zhci9sb2cvbWFpbC5sb2cKK3VzZXIuKiAgICAgICAgICAgICAgICAgICAgICAgICAgLS92YXIvbG9nL3VzZXIubG9nCisKKyMKKyMgTG9nZ2luZyBmb3IgdGhlIG1haWwgc3lzdGVtLiAgU3BsaXQgaXQgdXAgc28gdGhhdAorIyBpdCBpcyBlYXN5IHRvIHdyaXRlIHNjcmlwdHMgdG8gcGFyc2UgdGhlc2UgZmlsZXMuCisjCittYWlsLmluZm8gICAgICAgICAgICAgICAgICAgICAgIC0vdmFyL2xvZy9tYWlsLmluZm8KK21haWwud2FybiAgICAgICAgICAgICAgICAgICAgICAgLS92YXIvbG9nL21haWwud2FybgorbWFpbC5lcnIgICAgICAgICAgICAgICAgICAgICAgICAvdmFyL2xvZy9tYWlsLmVycgorCisjIExvZ2dpbmcgZm9yIElOTiBuZXdzIHN5c3RlbQorIworbmV3cy5jcml0ICAgICAgICAgICAgICAgICAgICAgICAvdmFyL2xvZy9uZXdzLmNyaXQKK25ld3MuZXJyICAgICAgICAgICAgICAgICAgICAgICAgL3Zhci9sb2cvbmV3cy5lcnIKK25ld3Mubm90aWNlICAgICAgICAgICAgICAgICAgICAgLS92YXIvbG9nL25ld3Mubm90aWNlCisKKyMKKyMgU29tZSBgY2F0Y2gtYWxsJyBsb2dmaWxlcy4KKyMKKyouPWRlYnVnO1wKKyAgICAgICAgYXV0aCxhdXRocHJpdi5ub25lO1wKKyAgICAgICAgbmV3cy5ub25lO21haWwubm9uZSAgICAgLS92YXIvbG9nL2RlYnVnCisqLj1pbmZvOyouPW5vdGljZTsqLj13YXJuO1wKKyAgICAgICAgYXV0aCxhdXRocHJpdi5ub25lO1wKKyAgICAgICAgY3JvbixkYWVtb24ubm9uZTtcCisgICAgICAgIG1haWwsbmV3cy5ub25lICAgICAgICAgIC0vdmFyL2xvZy9tZXNzYWdlcworCisjCisjIEVtZXJnZW5jaWVzIGFyZSBzZW50IHRvIGV2ZXJ5Ym9keSBsb2dnZWQgaW4uCisjCisqLmVtZXJnICAgICAgICAgICAgICAgICAgICAgICAgIDpvbXVzcm1zZzoqCisKKyMgU2F2ZSBib290IG1lc3NhZ2VzIGFsc28gdG8gYm9vdC5sb2cKK2xvY2FsNy4qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL3Zhci9sb2cvYm9vdC5sb2cKKworIyBSZW1vdGUgTG9nZ2luZyAod2UgdXNlIFRDUCBmb3IgcmVsaWFibGUgZGVsaXZlcnkpCisjIEFuIG9uLWRpc2sgcXVldWUgaXMgY3JlYXRlZCBmb3IgdGhpcyBhY3Rpb24uIElmIHRoZSByZW1vdGUgaG9zdCBpcworIyBkb3duLCBtZXNzYWdlcyBhcmUgc3Bvb2xlZCB0byBkaXNrIGFuZCBzZW50IHdoZW4gaXQgaXMgdXAgYWdhaW4uCisjJFdvcmtEaXJlY3RvcnkgL3Zhci9zcG9vbC9yc3lzbG9nICMgd2hlcmUgdG8gcGxhY2Ugc3Bvb2wgZmlsZXMKKyMkQWN0aW9uUXVldWVGaWxlTmFtZSB1bmlxTmFtZSAjIHVuaXF1ZSBuYW1lIHByZWZpeCBmb3Igc3Bvb2wgZmlsZXMKKyRBY3Rpb25RdWV1ZU1heERpc2tTcGFjZSAxMG0gICAjIDFnYiBzcGFjZSBsaW1pdCAodXNlIGFzIG11Y2ggYXMgcG9zc2libGUpCisjJEFjdGlvblF1ZXVlU2F2ZU9uU2h1dGRvd24gb24gIyBzYXZlIG1lc3NhZ2VzIHRvIGRpc2sgb24gc2h1dGRvd24KKyMkQWN0aW9uUXVldWVUeXBlIExpbmtlZExpc3QgICAjIHJ1biBhc3luY2hyb25vdXNseQorIyRBY3Rpb25SZXN1bWVSZXRyeUNvdW50IC0xICAgICMgaW5maW5pdGUgcmV0cmllcyBpZiBob3N0IGlzIGRvd24KKyMgcmVtb3RlIGhvc3QgaXM6IG5hbWUvaXA6cG9ydCwgZS5nLiAxOTIuMTY4LjAuMTo1MTQsIHBvcnQgb3B0aW9uYWwKKyMqLiogQEByZW1vdGUtaG9zdDo1MTQKKworCisjICMjIyMjIyMjIyBSZWNlaXZpbmcgTWVzc2FnZXMgZnJvbSBSZW1vdGUgSG9zdHMgIyMjIyMjIyMjIworIyBUQ1AgU3lzbG9nIFNlcnZlcjoKKyMgcHJvdmlkZXMgVENQIHN5c2xvZyByZWNlcHRpb24gYW5kIEdTUy1BUEkgKGlmIGNvbXBpbGVkIHRvIHN1cHBvcnQgaXQpCisjJE1vZExvYWQgaW10Y3Auc28gICMgbG9hZCBtb2R1bGUKKyMkSW5wdXRUQ1BTZXJ2ZXJSdW4gNTE0ICMgc3RhcnQgdXAgVENQIGxpc3RlbmVyIGF0IHBvcnQgNTE0CisKKyMgVURQIFN5c2xvZyBTZXJ2ZXI6CisjJE1vZExvYWQgaW11ZHAuc28gICMgcHJvdmlkZXMgVURQIHN5c2xvZyByZWNlcHRpb24KKyMkVURQU2VydmVyUnVuIDUxNCAjIHN0YXJ0IGEgVURQIHN5c2xvZyBzZXJ2ZXIgYXQgc3RhbmRhcmQgcG9ydCA1MTQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9yc3lzbG9nLmxvZ3JvdGF0ZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9yc3lzbG9nLmxvZ3JvdGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGVjNTE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3JzeXNsb2cubG9ncm90YXRlCkBAIC0wLDAgKzEsMzkgQEAKKyMgL2V0Yy9sb2dyb3RhdGUuZC9yc3lzbG9nIC0gUG9ydGVkIGZyb20gRGViaWFuCisKKy92YXIvbG9nL3N5c2xvZworeworICAgICAgICByb3RhdGUgNworICAgICAgICBkYWlseQorICAgICAgICBtaXNzaW5nb2sKKyAgICAgICAgbm90aWZlbXB0eQorICAgICAgICBkZWxheWNvbXByZXNzCisgICAgICAgIGNvbXByZXNzCisgICAgICAgIHBvc3Ryb3RhdGUKKwkJL2Jpbi9raWxsIC1IVVAgYGNhdCAvdmFyL3J1bi9yc3lzbG9nZC5waWQgMj4gL2Rldi9udWxsYCAyPiAvZGV2L251bGwgfHwgdHJ1ZQorICAgICAgICBlbmRzY3JpcHQKK30KKworL3Zhci9sb2cvbWFpbC5pbmZvCisvdmFyL2xvZy9tYWlsLndhcm4KKy92YXIvbG9nL21haWwuZXJyCisvdmFyL2xvZy9tYWlsLmxvZworL3Zhci9sb2cvZGFlbW9uLmxvZworL3Zhci9sb2cva2Vybi5sb2cKKy92YXIvbG9nL2F1dGgubG9nCisvdmFyL2xvZy91c2VyLmxvZworL3Zhci9sb2cvbHByLmxvZworL3Zhci9sb2cvY3Jvbi5sb2cKKy92YXIvbG9nL2RlYnVnCisvdmFyL2xvZy9tZXNzYWdlcworeworICAgICAgICByb3RhdGUgNAorICAgICAgICB3ZWVrbHkKKyAgICAgICAgbWlzc2luZ29rCisgICAgICAgIG5vdGlmZW1wdHkKKyAgICAgICAgY29tcHJlc3MKKyAgICAgICAgZGVsYXljb21wcmVzcworICAgICAgICBzaGFyZWRzY3JpcHRzCisgICAgICAgIHBvc3Ryb3RhdGUKKwkJL2Jpbi9raWxsIC1IVVAgYGNhdCAvdmFyL3J1bi9yc3lzbG9nZC5waWQgMj4gL2Rldi9udWxsYCAyPiAvZGV2L251bGwgfHwgdHJ1ZQorICAgICAgICBlbmRzY3JpcHQKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3NzBhNzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCisjCittYWtlIC1DIHRlc3RzIC1rIGNoZWNrLVRFU1RTCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvdXNlLXBrZ2NvbmZpZy10by1jaGVjay1saWJnY3J5cHQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2cvdXNlLXBrZ2NvbmZpZy10by1jaGVjay1saWJnY3J5cHQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJjMTA3MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy91c2UtcGtnY29uZmlnLXRvLWNoZWNrLWxpYmdjcnlwdC5wYXRjaApAQCAtMCwwICsxLDQ4IEBACitGcm9tIDVjM2JhNzkxNzdmN2QxNzYzZGIzM2M0MzU4YWYyYWY2MGZmMjE0YjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+IAorRGF0ZTogV2VkLCAxOCBKdW4gMjAxNCAxMzo0Njo1MiArMDgwMAorU3ViamVjdDogW1BBVENIXSB1c2UgcGtnY29uZmlnIHRvIGNoZWNrIGxpYmdjcnlwdAorCitVcHN0cmVhbS1zdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK2xpYmdjcnlwdCBkb2VzIG5vIGxvbmdlciBwcm92aWRlIGxpYmdjcnlwdC1jb25maWcsIGFuZCBwcm92aWRlCisqLnBjLCBzbyB3ZSBzaG91bGQgdXNlIHBrZ2NvbmZpZyB0byBjaGVjaworCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAgIDE5ICstLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDE4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAwMTcxMTZlLi4xYjg4MGY4IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC03ODQsMjQgKzc4NCw3IEBAIEFDX0FSR19FTkFCTEUobGliZ2NyeXB0LAorICAgICAgICAgW2VuYWJsZV9saWJnY3J5cHQ9eWVzXQorICkKKyBpZiB0ZXN0ICJ4JGVuYWJsZV9saWJnY3J5cHQiID0gInh5ZXMiOyB0aGVuCistICAgICAgICBBQ19DSEVDS19QUk9HKAorLSAgICAgIAkgICAgW0hBVkVfTElCR0NSWVBUX0NPTkZJR10sCistICAgICAgICAgICAgW2xpYmdjcnlwdC1jb25maWddLAorLSAgICAgICAgICAgIFt5ZXNdLCwsCistICAgICAgICAgICAgKQorLSAgICAgICAgaWYgdGVzdCAieCR7SEFWRV9MSUJHQ1JZUFRfQ09ORklHfSIgIT0gInh5ZXMiOyB0aGVuCistICAgICAgICAgICBBQ19NU0dfRkFJTFVSRShbbGliZ2NyeXB0LWNvbmZpZyBub3QgZm91bmQgaW4gUEFUSF0pCistICAgICAgICBmaQorLSAgICAgICAgQUNfQ0hFQ0tfTElCKAorLQkJW2djcnlwdF0sCistICAgICAgICAJW2djcnlfY2lwaGVyX29wZW5dLAorLSAgICAgICAgCVtMSUJHQ1JZUFRfQ0ZMQUdTPSJgbGliZ2NyeXB0LWNvbmZpZyAtLWNmbGFnc2AiCistICAgICAgICAJTElCR0NSWVBUX0xJQlM9ImBsaWJnY3J5cHQtY29uZmlnIC0tbGlic2AiCistICAgICAgICAJXSwKKy0gICAgICAgIAlbQUNfTVNHX0ZBSUxVUkUoW2xpYmdjcnlwdCBpcyBtaXNzaW5nXSldLAorLSAgICAgICAgCVtgbGliZ2NyeXB0LWNvbmZpZyAtLWxpYnMgLS1jZmxhZ3NgXQorLSAgICAgICAgCSkKKy0JQUNfREVGSU5FKFtFTkFCTEVfTElCR0NSWVBUXSwgWzFdLCBbSW5kaWNhdG9yIHRoYXQgTElCR0NSWVBUIGlzIHByZXNlbnRdKQorKwlQS0dfQ0hFQ0tfTU9EVUxFUyhMSUJHQ1JZUFQsIGxpYmdjcnlwdCkKKyBmaQorIEFNX0NPTkRJVElPTkFMKEVOQUJMRV9MSUJHQ1JZUFQsIHRlc3QgeCRlbmFibGVfbGliZ2NyeXB0ID0geHllcykKKyBBQ19TVUJTVChMSUJHQ1JZUFRfQ0ZMQUdTKQorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy91c2VfZ251dGxzX2NlcnRpZmljYXRlX3R5cGVfc2V0X3ByaW9yaXR5X29ubHlfaWZfYXZhaWxhYmxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3VzZV9nbnV0bHNfY2VydGlmaWNhdGVfdHlwZV9zZXRfcHJpb3JpdHlfb25seV9pZl9hdmFpbGFibGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFkYWI3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy91c2VfZ251dGxzX2NlcnRpZmljYXRlX3R5cGVfc2V0X3ByaW9yaXR5X29ubHlfaWZfYXZhaWxhYmxlLnBhdGNoCkBAIC0wLDAgKzEsNzkgQEAKK0Zyb20gMjE2NzQwMzlkYjk5ZDEwNjdlOWRmNGRmMDRkOTY1Mjk3ZDYyYzZhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJhaW5lciBHZXJoYXJkcyA8cmdlcmhhcmRzQGFkaXNjb24uY29tPgorRGF0ZTogTW9uLCAxOCBNYXkgMjAxNSAwOTozNjowMiArMDIwMAorU3ViamVjdDogW1BBVENIXSB1c2UgZ251dGxzX2NlcnRpZmljYXRlX3R5cGVfc2V0X3ByaW9yaXR5KCkgb25seSBpZiBhdmFpbGFibGUKKworVGhlIGdudXRsc19jZXJ0aWZpY2F0ZV90eXBlX3NldF9wcmlvcml0eSBmdW5jdGlvbiBpcyBkZXByZWNhdGVkCithbmQgbm90IGF2YWlsYWJsZSBpbiByZWNlbnQgR251VExTIHZlcnNpb25zLiBIb3dldmVyLCB0aGVyZSBpcyBubworZG9jIGhvdyB0byBwcm9wZXJseSByZXBsYWNlIGl0IHdpdGggZ251dGxzX3ByaW9yaXR5X3NldF9kaXJlY3QuCitBIGxvdCBvZiBmb2xrcyBoYXZlIHNpbXBseSByZW1vdmVkIGl0LCB3aGVuIHRoZXkgYWxzbyBjYWxsZWQKK2dudXRsc19zZXRfZGVmYXVsdF9wcmlvcml0eS4gVGhpcyBpcyB3aGF0IHdlIG5vdyBhbHNvIGRvLiBJZgordGhpcyBjYXVzZXMgcHJvYmxlbXMgb3Igc29tZW9uZSBoYXMgYW4gaWRlYSBvZiBob3cgdG8gcmVwbGFjZQordGhlIGRlcHJlY2F0ZWQgZnVuY3Rpb24gaW4gYSBiZXR0ZXIgd2F5LCBwbGVhc2UgbGV0IHVzIGtub3chCitJbiBhbnkgY2FzZSwgd2UgdXNlIGl0IGFzIGxvbmcgYXMgaXQgaXMgYXZhaWxhYmxlIGFuZCBsZXQKK25vdCBpbnN1bHQgdXMgYnkgdGhlIGRlcHJlY2F0aW9uIHdhcm5pbmdzLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBUdWRvciBGbG9yZWEgIDx0dWRvci5mbG9yZWFAZW5lYS5jb20+CisKKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICB8ICAxICsKKyBydW50aW1lL25zZF9ndGxzLmMgfCAxOCArKysrKysrKysrKysrKysrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDU2ODM1ZmIuLjFjMmJlMDEgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTc2NSw2ICs3NjUsNyBAQCBpZiB0ZXN0ICJ4JGVuYWJsZV9nbnV0bHMiID0gInh5ZXMiOyB0aGVuCisgCUFDX0RFRklORShbRU5BQkxFX0dOVVRMU10sIFsxXSwgW0luZGljYXRvciB0aGF0IEdudVRMUyBpcyBwcmVzZW50XSkKKyAgICAgICAgIEFDX0NIRUNLX0xJQihnbnV0bHMsIGdudXRsc19nbG9iYWxfaW5pdCkKKyAJQUNfQ0hFQ0tfRlVOQ1MoZ251dGxzX2NlcnRpZmljYXRlX3NldF9yZXRyaWV2ZV9mdW5jdGlvbiwsKQorKwlBQ19DSEVDS19GVU5DUyhnbnV0bHNfY2VydGlmaWNhdGVfdHlwZV9zZXRfcHJpb3JpdHksLCkKKyBmaQorIEFNX0NPTkRJVElPTkFMKEVOQUJMRV9HTlVUTFMsIHRlc3QgeCRlbmFibGVfZ251dGxzID0geHllcykKKyAKK2RpZmYgLS1naXQgYS9ydW50aW1lL25zZF9ndGxzLmMgYi9ydW50aW1lL25zZF9ndGxzLmMKK2luZGV4IGUxMjc4MzQuLjRiNmFhYjEgMTAwNjQ0CistLS0gYS9ydW50aW1lL25zZF9ndGxzLmMKKysrKyBiL3J1bnRpbWUvbnNkX2d0bHMuYworQEAgLTE2NTgsOCArMTY1OCw5IEBAIENvbm5lY3QobnNkX3QgKnBOc2QsIGludCBmYW1pbHksIHVjaGFyICpwb3J0LCB1Y2hhciAqaG9zdCkKKyAJbnNkX2d0bHNfdCAqcFRoaXMgPSAobnNkX2d0bHNfdCopIHBOc2Q7CisgCWludCBzb2NrOworIAlpbnQgZ251UmV0OworLQkvKiBUT0RPOiBsYXRlcj8gc3RhdGljIGNvbnN0IGludCBjZXJ0X3R5cGVfcHJpb3JpdHlbM10gPSB7IEdOVVRMU19DUlRfWDUwOSwgR05VVExTX0NSVF9PUEVOUEdQLCAwIH07Ki8KKysjCWlmIEhBVkVfR05VVExTX0NFUlRJRklDQVRFX1RZUEVfU0VUX1BSSU9SSVRZCisgCXN0YXRpYyBjb25zdCBpbnQgY2VydF90eXBlX3ByaW9yaXR5WzJdID0geyBHTlVUTFNfQ1JUX1g1MDksIDAgfTsKKysjCWVuZGlmCisgCURFRmlSZXQ7CisgCisgCUlTT0JKX1RZUEVfYXNzZXJ0KHBUaGlzLCBuc2RfZ3Rscyk7CitAQCAtMTY4OCwxNCArMTY4OSwyNyBAQCBDb25uZWN0KG5zZF90ICpwTnNkLCBpbnQgZmFtaWx5LCB1Y2hhciAqcG9ydCwgdWNoYXIgKmhvc3QpCisgCQlnbnV0bHNfY2VydGlmaWNhdGVfc2V0X3JldHJpZXZlX2Z1bmN0aW9uKHhjcmVkLCBndGxzQ2xpZW50Q2VydENhbGxiYWNrKTsKKyAjCQllbHNlCisgCQlnbnV0bHNfY2VydGlmaWNhdGVfY2xpZW50X3NldF9yZXRyaWV2ZV9mdW5jdGlvbih4Y3JlZCwgZ3Rsc0NsaWVudENlcnRDYWxsYmFjayk7CistIwllbmRpZgorKyMJCWVuZGlmCisgCX0gZWxzZSBpZihpUmV0ICE9IFJTX1JFVF9DRVJUTEVTUykgeworIAkJRklOQUxJWkU7IC8qIHdlIGhhdmUgYW4gZXJyb3IgY2FzZSEgKi8KKyAJfQorIAorIAkvKiBVc2UgZGVmYXVsdCBwcmlvcml0aWVzICovCisgCUNIS2dudXRscyhnbnV0bHNfc2V0X2RlZmF1bHRfcHJpb3JpdHkocFRoaXMtPnNlc3MpKTsKKysjCWlmIEhBVkVfR05VVExTX0NFUlRJRklDQVRFX1RZUEVfU0VUX1BSSU9SSVRZCisrCS8qIFRoZSBnbnV0bHNfY2VydGlmaWNhdGVfdHlwZV9zZXRfcHJpb3JpdHkgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZAorKwkgKiBhbmQgbm90IGF2YWlsYWJsZSBpbiByZWNlbnQgR251VExTIHZlcnNpb25zLiBIb3dldmVyLCB0aGVyZSBpcyBubworKwkgKiBkb2MgaG93IHRvIHByb3Blcmx5IHJlcGxhY2UgaXQgd2l0aCBnbnV0bHNfcHJpb3JpdHlfc2V0X2RpcmVjdC4KKysJICogQSBsb3Qgb2YgZm9sa3MgaGF2ZSBzaW1wbHkgcmVtb3ZlZCBpdCwgd2hlbiB0aGV5IGFsc28gY2FsbGVkCisrCSAqIGdudXRsc19zZXRfZGVmYXVsdF9wcmlvcml0eS4gVGhpcyBpcyB3aGF0IHdlIG5vdyBhbHNvIGRvLiBJZgorKwkgKiB0aGlzIGNhdXNlcyBwcm9ibGVtcyBvciBzb21lb25lIGhhcyBhbiBpZGVhIG9mIGhvdyB0byByZXBsYWNlCisrCSAqIHRoZSBkZXByZWNhdGVkIGZ1bmN0aW9uIGluIGEgYmV0dGVyIHdheSwgcGxlYXNlIGxldCB1cyBrbm93IQorKwkgKiBJbiBhbnkgY2FzZSwgd2UgdXNlIGl0IGFzIGxvbmcgYXMgaXQgaXMgYXZhaWxhYmxlIGFuZCBsZXQKKysJICogbm90IGluc3VsdCB1cyBieSB0aGUgZGVwcmVjYXRpb24gd2FybmluZ3MuCisrCSAqIDIwMTUtMDUtMTggcmdlcmhhcmRzCisrCSAqLworIAlDSEtnbnV0bHMoZ251dGxzX2NlcnRpZmljYXRlX3R5cGVfc2V0X3ByaW9yaXR5KHBUaGlzLT5zZXNzLCBjZXJ0X3R5cGVfcHJpb3JpdHkpKTsKKysjCWVuZGlmCisgCisgCS8qIHB1dCB0aGUgeDUwOSBjcmVkZW50aWFscyB0byB0aGUgY3VycmVudCBzZXNzaW9uICovCisgCUNIS2dudXRscyhnbnV0bHNfY3JlZGVudGlhbHNfc2V0KHBUaGlzLT5zZXNzLCBHTlVUTFNfQ1JEX0NFUlRJRklDQVRFLCB4Y3JlZCkpOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nXzcuNi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nXzcuNi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxZDkyM2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2dfNy42LjEuYmIKQEAgLTAsMCArMSwxNzggQEAKK1NVTU1BUlkgPSAiUnN5c2xvZyBpcyBhbiBlbmhhbmNlZCBtdWx0aS10aHJlYWRlZCBzeXNsb2dkIgorREVTQ1JJUFRJT04gPSAiXAorUnN5c2xvZyBpcyBhbiBlbmhhbmNlZCBzeXNsb2dkIHN1cHBvcnRpbmcsIGFtb25nIG90aGVycywgTXlTUUwsXAorIFBvc3RncmVTUUwsIGZhaWxvdmVyIGxvZyBkZXN0aW5hdGlvbnMsIHN5c2xvZy90Y3AsIGZpbmUgZ3JhaW5cCisgb3V0cHV0IGZvcm1hdCBjb250cm9sLCBoaWdoIHByZWNpc2lvbiB0aW1lc3RhbXBzLCBxdWV1ZWQgb3BlcmF0aW9uc1wKKyBhbmQgdGhlIGFiaWxpdHkgdG8gZmlsdGVyIG9uIGFueSBtZXNzYWdlIHBhcnQuIEl0IGlzIHF1aXRlXAorIGNvbXBhdGlibGUgdG8gc3RvY2sgc3lza2xvZ2QgYW5kIGNhbiBiZSB1c2VkIGFzIGEgZHJvcC1pbiByZXBsYWNlbWVudC5cCisgSXRzIGFkdmFuY2VkIGZlYXR1cmVzIG1ha2UgaXQgc3VpdGFibGUgZm9yIGVudGVycHJpc2UtY2xhc3MsXAorIGVuY3J5cHRpb24gcHJvdGVjdGVkIHN5c2xvZyByZWxheSBjaGFpbnMgd2hpbGUgYXQgdGhlIHNhbWUgdGltZSBiZWluZ1wKKyB2ZXJ5IGVhc3kgdG8gc2V0dXAgZm9yIHRoZSBub3ZpY2UgdXNlci4iCisKK0RFUEVORFMgPSAiemxpYiBsaWJlc3RyIGpzb24tYyBiaXNvbi1uYXRpdmUgZmxleC1uYXRpdmUgbGlibG9nZ2luZyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucnN5c2xvZy5jb20vIgorTElDRU5TRSA9ICJHUEx2MyAmIExHUEx2MyAmIEFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01MWQ5NjM1ZTY0NmZiNzVlMWI3NGMwNzRmNzg4ZTk3MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9Y2I3OTAzZjFlNWMzOWFlODM4MjA5ZTEzMGRjYTI3MGEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5BU0wyMDttZDU9MDUyZjhhMDkyMDY2MTVhYjA3MzI2ZmY4Y2UyZDlkMzJcCisiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5yc3lzbG9nLmNvbS9kb3dubG9hZC9maWxlcy9kb3dubG9hZC9yc3lzbG9nLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vaW5pdHNjcmlwdCBcCisgICAgICAgICAgIGZpbGU6Ly9yc3lzbG9nLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vcnN5c2xvZy5sb2dyb3RhdGUgXAorICAgICAgICAgICBmaWxlOi8vdXNlLXBrZ2NvbmZpZy10by1jaGVjay1saWJnY3J5cHQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL3JzeXNsb2ctZml4LXB0ZXN0LW5vdC1maW5pc2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vanNvbi0wLjEyLWZpeC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZXBsYWNlX2RlcHJlY2F0ZWRfR251VExTX2Z1bmN0aW9ucy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly91c2VfZ251dGxzX2NlcnRpZmljYXRlX3R5cGVfc2V0X3ByaW9yaXR5X29ubHlfaWZfYXZhaWxhYmxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2VuYWJsZV90bHNfcHRlc3RzLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjA5M2M0NjJhNTI0NTAxMmJkOWU3YjgyZGQ4YWVkZmZiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM1N2YwODlkODY2YzM1MWQ1ZmU1YjcxMzlmYTg1YjAxMDIyM2Q3N2IzYzIxZjI5YjJhMWJhYTg2ODg5MjYxMTEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1yYy5kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcHRlc3QKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1jYWNoZWQtbWFuLXBhZ2VzIgorCisjIGZpcnN0IGxpbmUgaXMgZGVmYXVsdCB5ZXMgaW4gY29uZmlndXJlCitQQUNLQUdFQ09ORklHID8/PSAiIFwKKyAgICB6bGliIHJzeXNsb2dkIHJzeXNsb2dydCBrbG9nIGluZXQgcmVnZXhwIHV1aWQgbGliZ2NyeXB0IFwKKyAgICBpbWRpYWcgZ251dGxzIGltZmlsZSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzbm1wJywgJ3NubXAnLCAnJywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnc3lzdGVtZCcsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHRlc3QnLCAndGVzdGJlbmNoICR7VkFMR1JJTkR9JywgJycsIGQpfSBcCisiCisKKyMgZGVmYXVsdCB5ZXMgaW4gY29uZmlndXJlCitQQUNLQUdFQ09ORklHW3psaWJdID0gIi0tZW5hYmxlLXpsaWIsLS1kaXNhYmxlLXpsaWIsemxpYiwiCitQQUNLQUdFQ09ORklHW3JzeXNsb2dkXSA9ICItLWVuYWJsZS1yc3lzbG9nZCwtLWRpc2FibGUtcnN5c2xvZ2QsLCIKK1BBQ0tBR0VDT05GSUdbcnN5c2xvZ3J0XSA9ICItLWVuYWJsZS1yc3lzbG9ncnQsLS1kaXNhYmxlLXJzeXNsb2dydCwsIgorUEFDS0FHRUNPTkZJR1tpbmV0XSA9ICItLWVuYWJsZS1pbmV0LC0tZGlzYWJsZS1pbmV0LCwiCitQQUNLQUdFQ09ORklHW2tsb2ddID0gIi0tZW5hYmxlLWtsb2csLS1kaXNhYmxlLWtsb2csLCIKK1BBQ0tBR0VDT05GSUdbcmVnZXhwXSA9ICItLWVuYWJsZS1yZWdleHAsLS1kaXNhYmxlLXJlZ2V4cCwsIgorUEFDS0FHRUNPTkZJR1t1dWlkXSA9ICItLWVuYWJsZS11dWlkLC0tZGlzYWJsZS11dWlkLHV0aWwtbGludXgsIgorUEFDS0FHRUNPTkZJR1tsaWJnY3J5cHRdID0gIi0tZW5hYmxlLWxpYmdjcnlwdCwtLWRpc2FibGUtbGliZ2NyeXB0LGxpYmdjcnlwdCwiCitQQUNLQUdFQ09ORklHW3Rlc3RiZW5jaF0gPSAiLS1lbmFibGUtdGVzdGJlbmNoLC0tZGlzYWJsZS10ZXN0YmVuY2gsLCIKKworIyBkZWZhdWx0IG5vIGluIGNvbmZpZ3VyZQorUEFDS0FHRUNPTkZJR1tkZWJ1Z10gPSAiLS1lbmFibGUtZGVidWcsLS1kaXNhYmxlLWRlYnVnLCwiCitQQUNLQUdFQ09ORklHW2ltZGlhZ10gPSAiLS1lbmFibGUtaW1kaWFnLC0tZGlzYWJsZS1pbWRpYWcsLCIKK1BBQ0tBR0VDT05GSUdbaW1maWxlXSA9ICItLWVuYWJsZS1pbWZpbGUsLS1kaXNhYmxlLWltZmlsZSwsIgorUEFDS0FHRUNPTkZJR1tzbm1wXSA9ICItLWVuYWJsZS1zbm1wLC0tZGlzYWJsZS1zbm1wLG5ldC1zbm1wLCIKK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLWVuYWJsZS1nbnV0bHMsLS1kaXNhYmxlLWdudXRscyxnbnV0bHMsIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sLS13aXRob3V0LXN5c3RlbWRzeXN0ZW11bml0ZGlyLHN5c3RlbWQsIgorUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS1lbmFibGUtbXlzcWwsLS1kaXNhYmxlLW15c3FsLG15c3FsNSwiCitQQUNLQUdFQ09ORklHW3Bvc3RncmVzcWxdID0gIi0tZW5hYmxlLXBnc3FsLC0tZGlzYWJsZS1wZ3NxbCxwb3N0Z3Jlc3FsLCIKK1BBQ0tBR0VDT05GSUdbbGliZGJpXSA9ICItLWVuYWJsZS1saWJkYmksLS1kaXNhYmxlLWxpYmRiaSxsaWJkYmksIgorUEFDS0FHRUNPTkZJR1ttYWlsXSA9ICItLWVuYWJsZS1tYWlsLC0tZGlzYWJsZS1tYWlsLCwiCitQQUNLQUdFQ09ORklHW2d1aV0gPSAiLS1lbmFibGUtZ3VpLC0tZGlzYWJsZS1ndWksLCIKK1BBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi0tZW5hYmxlLXZhbGdyaW5kLC0tZGlzYWJsZS12YWxncmluZCx2YWxncmluZCwiCisKK1RFU1RESVIgPSAidGVzdHMiCitkb19jb21waWxlX3B0ZXN0KCkgeworICAgIGVjaG8gJ2J1aWxkdGVzdC1URVNUUzogJChjaGVja19QUk9HUkFNUyknID4+ICR7VEVTVERJUn0vTWFrZWZpbGUKKyAgICBvZV9ydW5tYWtlIC1DICR7VEVTVERJUn0gYnVpbGR0ZXN0LVRFU1RTCit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisgICAgIyBpbnN0YWxsIHRoZSB0ZXN0cworICAgIGNwIC1yZiAke1N9LyR7VEVTVERJUn0gJHtEfSR7UFRFU1RfUEFUSH0KKyAgICBjcCAtcmYgJHtCfS8ke1RFU1RESVJ9ICR7RH0ke1BURVNUX1BBVEh9CisKKyAgICAjIGRvIE5PVCBuZWVkIHRvIHJlYnVpbGQgTWFrZWZpbGUgaXRzZWxmCisgICAgc2VkIC1pICdzL15NYWtlZmlsZTouKiQvTWFrZWZpbGU6LycgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQorCisgICAgIyBmaXggdGhlIHNyY2RpciwgdG9wX3NyY2RpcgorICAgIHNlZCAtaSAncyxeXChzcmNkaXIgPSBcKS4qLFwxJHtQVEVTVF9QQVRIfS90ZXN0cywnICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKKyAgICBzZWQgLWkgJ3MsXlwodG9wX3NyY2RpciA9IFwpLiosXDEke1BURVNUX1BBVEh9L3Rlc3RzLCcgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQorCisgICAgIyB2YWxncmluZCBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGFybSBhbmQgbWlwcywKKyAgICAjIHNvIHJlbW92ZSByZWxhdGVkIHRlc3QgY2FzZXMgaWYgdGhlcmUgaXMgbm8gdmFsZ3JpbmQuCisgICAgaWYgWyB4JHtWQUxHUklORH0gPSB4IF07IHRoZW4KKyAgICAgICAgc2VkIC1pICcvdWRwLW1zZ3JlZHVjLS9kJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCisgICAgZmkKKworICAgICMgaW5zdGFsbCB0ZXN0LWRyaXZlcgorICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vdGVzdC1kcml2ZXIgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfQorCisgICAgIyBpbnN0YWxsIG5lY2Vzc2FyeSBsaW5rcworICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdG9vbHMKKyAgICBsbiAtc2YgJHtzYmluZGlyfS9yc3lzbG9nZCAke0R9JHtQVEVTVF9QQVRIfS90b29scy9yc3lzbG9nZAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS9ydW50aW1lCisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS9ydW50aW1lLy5saWJzCisgICAgKAorICAgICAgICBjZCAke0R9LyR7bGliZGlyfS9yc3lzbG9nCisgICAgICAgIGFsbHNvPSIqLnNvIgorICAgICAgICBmb3IgaSBpbiAkYWxsc287IGRvCisgICAgICAgICAgICBsbiAtc2YgJHtsaWJkaXJ9L3JzeXNsb2cvJGkgJHtEfSR7UFRFU1RfUEFUSH0vcnVudGltZS8ubGlicy8kaQorICAgICAgICBkb25lCisgICAgKQorCisgICAgIyBmaXggdGhlIG1vZHVsZSBsb2FkIHBhdGggd2l0aCBydW50aW1lLy5saWJzCisgICAgZmluZCAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9IC1uYW1lIFwqLmNvbmYgLWV4ZWMgXAorICAgICAgICBzZWQgLWkgLWUgJ3M6Li4vcGx1Z2lucy8uKi8ubGlicy86Li4vcnVudGltZS8ubGlicy86JyBcCisgICAgICAgICd7fScgXDsKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIgorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vaW5pdHNjcmlwdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3lzbG9nLiR7QlBOfQorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vcnN5c2xvZy5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3JzeXNsb2cuY29uZgorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vcnN5c2xvZy5sb2dyb3RhdGUgJHtEfSR7c3lzY29uZmRpcn0vbG9ncm90YXRlLnJzeXNsb2cKK30KKworRklMRVNfJHtQTn0gKz0gIiR7YmluZGlyfSIKKworSU5JVFNDUklQVF9OQU1FID0gInN5c2xvZyIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgorCisjIGhpZ2hlciB0aGFuIHN5c2tsb2dkJ3MgMTAwCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMTAiCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gInN5c2xvZ2Qgc3lzbG9nLWNvbmYgc3lzbG9nLWxvZ3JvdGF0ZSIKKworQUxURVJOQVRJVkVfTElOS19OQU1FW3N5c2xvZ2RdID0gIiR7YmFzZV9zYmluZGlyfS9zeXNsb2dkIgorQUxURVJOQVRJVkVfVEFSR0VUW3N5c2xvZ2RdID0gIiR7c2JpbmRpcn0vcnN5c2xvZ2QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3lzbG9nLWNvbmZdID0gIiR7c3lzY29uZmRpcn0vc3lzbG9nLmNvbmYiCitBTFRFUk5BVElWRV9UQVJHRVRbc3lzbG9nLWNvbmZdID0gIiR7c3lzY29uZmRpcn0vcnN5c2xvZy5jb25mIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3N5c2xvZy1sb2dyb3RhdGVdID0gIiR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQvc3lzbG9nIgorQUxURVJOQVRJVkVfVEFSR0VUW3N5c2xvZy1sb2dyb3RhdGVdID0gIiR7c3lzY29uZmRpcn0vbG9ncm90YXRlLnJzeXNsb2ciCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L3JzeXNsb2cuY29uZiIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKKworUkRFUEVORFNfJHtQTn0gKz0gImxvZ3JvdGF0ZSIKKworIyBmb3IgcnN5c2xvZy1wdGVzdAorVkFMR1JJTkQgPSAidmFsZ3JpbmQiCitWQUxHUklORF9taXBzID0gIiIKK1ZBTEdSSU5EX21pcHM2NCA9ICIiCitWQUxHUklORF9taXBzNjRuMzIgPSAiIgorVkFMR1JJTkRfYXJtID0gIiIKK1ZBTEdSSU5EX2FhcmNoNjQgPSAiIgorUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UgZGlmZnV0aWxzIGd6aXAiCitSUkVDT01NRU5EU18ke1BOfS1wdGVzdCArPSAiJHtUQ0xJQkN9LWRiZyAke1ZBTEdSSU5EfSIKKworIyBubyBzeXNsb2ctaW5pdCBmb3Igc3lzdGVtZAorcHl0aG9uICgpIHsKKyAgICBpZiBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgVHJ1ZSwgRmFsc2UsIGQpOgorICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicsIFRydWUpCisgICAgICAgIHN5c2NvbmZkaXIgPSBkLmdldFZhcignc3lzY29uZmRpcicsIFRydWUpCisgICAgICAgIGQuYXBwZW5kVmFyKCdBTFRFUk5BVElWRV8lcycgJSAocG4pLCAnIHN5c2xvZy1pbml0JykKKyAgICAgICAgZC5zZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9MSU5LX05BTUUnLCAnc3lzbG9nLWluaXQnLCAnJXMvaW5pdC5kL3N5c2xvZycgJSAoc3lzY29uZmRpcikpCisgICAgICAgIGQuc2V0VmFyRmxhZygnQUxURVJOQVRJVkVfVEFSR0VUJywgJ3N5c2xvZy1pbml0JywgJyVzL2luaXQuZC9zeXNsb2cuJXMnICUgKGQuZ2V0VmFyKCdzeXNjb25mZGlyJywgVHJ1ZSksIGQuZ2V0VmFyKCdCUE4nLCBUcnVlKSkpCisKKyAgICBpZiBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBUcnVlLCBGYWxzZSwgZCk6CisgICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkKKyAgICAgICAgZC5hcHBlbmRWYXIoJ0FMVEVSTkFUSVZFXyVzJyAlIChwbiksICcgc3lzbG9nLXNlcnZpY2UnKQorICAgICAgICBkLnNldFZhckZsYWcoJ0FMVEVSTkFUSVZFX0xJTktfTkFNRScsICdzeXNsb2ctc2VydmljZScsICclcy9zeXN0ZW1kL3N5c3RlbS9zeXNsb2cuc2VydmljZScgJSAoZC5nZXRWYXIoJ3N5c2NvbmZkaXInLCBUcnVlKSkpCisgICAgICAgIGQuc2V0VmFyRmxhZygnQUxURVJOQVRJVkVfVEFSR0VUJywgJ3N5c2xvZy1zZXJ2aWNlJywgJyVzL3N5c3RlbS9yc3lzbG9nLnNlcnZpY2UnICUgKGQuZ2V0VmFyKCdzeXN0ZW1kX3VuaXRkaXInLCBUcnVlKSkpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1jbXBpLWRldmVsL3NibGltLWNtcGktZGV2ZWwvc2JsaW0tY21waS1kZXZlbC0yLjAuMy1kb2NkaXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1jbXBpLWRldmVsL3NibGltLWNtcGktZGV2ZWwvc2JsaW0tY21waS1kZXZlbC0yLjAuMy1kb2NkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg5NDBjMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLWNtcGktZGV2ZWwvc2JsaW0tY21waS1kZXZlbC9zYmxpbS1jbXBpLWRldmVsLTIuMC4zLWRvY2Rpci5wYXRjaApAQCAtMCwwICsxLDE3IEBACitQb3J0IGZyb20gRmVkb3JhMjAKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBRaWFuIExlaSA8cWlhbmwuZm5zdEBjbi5mdWppdHN1LmNvbT4KKworZGlmZiAtdXAgc2JsaW0tY21waS1kZXZlbC0yLjAuMy9NYWtlZmlsZS5pbi5vcmlnIHNibGltLWNtcGktZGV2ZWwtMi4wLjMvTWFrZWZpbGUuaW4KKy0tLSBzYmxpbS1jbXBpLWRldmVsLTIuMC4zL01ha2VmaWxlLmluLm9yaWcJMjAxMi0wNy0zMSAwNjoxMTo1MS4wMDAwMDAwMDAgKzAyMDAKKysrKyBzYmxpbS1jbXBpLWRldmVsLTIuMC4zL01ha2VmaWxlLmluCTIwMTMtMDgtMDcgMTg6Mjg6MDkuNjAwNzEyODA3ICswMjAwCitAQCAtMjIxLDcgKzIyMSw3IEBAIGJ1aWxkX3ZlbmRvciA9IEBidWlsZF92ZW5kb3JACisgYnVpbGRkaXIgPSBAYnVpbGRkaXJACisgZGF0YWRpciA9IEBkYXRhZGlyQAorIGRhdGFyb290ZGlyID0gQGRhdGFyb290ZGlyQAorLWRvY2RpciA9ICQoZGF0YWRpcikvZG9jLyQoUEFDS0FHRSktJChWRVJTSU9OKQorK2RvY2RpciA9ICQoZGF0YWRpcikvZG9jLyQoUEFDS0FHRSkKKyBkdmlkaXIgPSBAZHZpZGlyQAorIGV4ZWNfcHJlZml4ID0gQGV4ZWNfcHJlZml4QAorIGhvc3QgPSBAaG9zdEAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLWNtcGktZGV2ZWwvc2JsaW0tY21waS1kZXZlbF8yLjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLWNtcGktZGV2ZWwvc2JsaW0tY21waS1kZXZlbF8yLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTVmYzdiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tY21waS1kZXZlbC9zYmxpbS1jbXBpLWRldmVsXzIuMC4zLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiU0JMSU0gQ01QSSBQcm92aWRlciBEZXZlbG9wbWVudCBTdXBwb3J0IgorREVTQ1JJUFRJT04gPSAiXAorVGhpcyBwYWNrYWdlcyBwcm92aWRlcyB0aGUgQyBhbmQgQysrIENNUEkgaGVhZGVyIGZpbGVzIG5lZWRlZCBieSBwcm92aWRlciBcCitkZXZlbG9wZXJzIGFuZCBjYW4gYmUgdXNlZCBzdGFuZGFsb25lLiBJZiB1c2VkIGZvciBDKysgcHJvdmlkZXIgZGV2ZWxvcG1lbnQgXAoraXQgaXMgYWxzbyBuZWNlc3NhcnkgdG8gaGF2ZSB0b2ctcGVnYXN1cy1kZXZlbCBpbnN0YWxsZWQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NibGltLndpa2kuc291cmNlZm9yZ2UubmV0LyIKK0xJQ0VOU0UgPSAiRVBMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmNjNkM2E0ZTcwMTEyOWU4NjllODlkN2RjYWM4OTgyIgorU0VDVElPTiA9ICJEZXZlbG9wbWVudC9MaWJyYXJpZXMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3NibGltLyR7QlB9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vc2JsaW0tY21waS1kZXZlbC0yLjAuMy1kb2NkaXIucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiYjkzNDYxNmY4OGE4NDhmMTdjYTNjZjFiOWU3OTJjYmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTY3MWNhYmZmNmI5MjJiNmZkZTg5NzY3M2Q5ZmRhZmQ1NmM5MzEwZjgyYTdlYWNjMDU0N2Q1OTZiOWNkZmVhNiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmMtY29tbW9uL3NibGltLXNmYy1jb21tb25fMS4wLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmMtY29tbW9uL3NibGltLXNmYy1jb21tb25fMS4wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE5YjRiYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmYy1jb21tb24vc2JsaW0tc2ZjLWNvbW1vbl8xLjAuMS5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIkNvbW1vbiBmdW5jdGlvbnMgZm9yIFNCTElNIFNtYWxsIEZvb3RwcmludCBDSU0gQnJva2VyIGFuZCBDSU0gQ2xpZW50IExpYnJhcnkuIgorREVTQ1JJUFRJT04gPSAiXAorVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGEgY29tbW9uIGxpYnJhcnkgZm9yIGZ1bmN0aW9ucyBzaGFyZWQgYmV0d2VlbiBTbWFsbCBGb290cHJpbnQgQ0lNIEJyb2tlciAoc2JsaW0tc2ZjYikgXAorU21hbGwgRm9vdHByaW50IENJTSBDbGllbnQgKGFuZCBzYmxpbS1zZmNjKS4iCitIT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL3NibGltLyIKK0xJQ0VOU0UgPSAiRVBMIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjMwMGFmZDU5ODU0NmFkZDAzNDM2NGNkMGE1MzMyNjEiCitTRUNUSU9OID0gIkRldmVsb3BtZW50L0xpYnJhcmllcyIKKworREVQRU5EUyA9ICJjbXBpLWJpbmRpbmdzIgorCitTID0gIiR7V09SS0RJUn0vc2JsaW0tc2ZjQ29tbW9uLSR7UFZ9IgorU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9zYmxpbS9zYmxpbS1zZmNDb21tb24tJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4YWEyNjU1ZDk3YmRlYTU0YzQ3NTBmMjIwYjQwOTkwYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiOWIxMDM3MTczZDZhZTAxODFjM2JkNWEzMTZkZGFiNWFmZDZhMzQyYWQwZGJkYzE4ZTk0MGZjMGFkMmMzMjk3IgorCitpbmhlcml0IGF1dG90b29scworCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKKworICAgIHJtIC1yZiAke0R9JHtsaWJkaXJ9L2xpYnNmY1V0aWwuYQorICAgIHJtIC1yZiAke0R9JHtsaWJkaXJ9L2xpYnNmY1V0aWwubGEKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9maWxlcy9zZmNiLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL2ZpbGVzL3NmY2Iuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YWRmNjNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9maWxlcy9zZmNiLnNlcnZpY2UKQEAgLTAsMCArMSwxMSBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1TbWFsbCBGb290cHJpbnQgQ0lNIEJyb2tlciBTZXJ2aWNlCitBZnRlcj1zeXNsb2cudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1vbmVzaG90CitFeGVjU3RhcnQ9L3Vzci9zYmluL3NmY2JkIC1kCitSZW1haW5BZnRlckV4aXQ9eWVzCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYi0xLjQuOS9zYmxpbS1zZmNiLTEuMy4xNS1maXgtcHJvdmlkZXItZGVidWdnaW5nLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS4zLjE1LWZpeC1wcm92aWRlci1kZWJ1Z2dpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGZiZWNhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYi0xLjQuOS9zYmxpbS1zZmNiLTEuMy4xNS1maXgtcHJvdmlkZXItZGVidWdnaW5nLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK2RpZmYgLXVwIHNibGltLXNmY2ItMS40LjUvcHJvdmlkZXJEcnYuYy5vcmlnIHNibGltLXNmY2ItMS40LjUvcHJvdmlkZXJEcnYuYworLS0tIHNibGltLXNmY2ItMS40LjUvcHJvdmlkZXJEcnYuYy5vcmlnCTIwMTMtMDktMDQgMTI6NTk6MjIuMTQwODEzMjM5ICswMjAwCisrKysgc2JsaW0tc2ZjYi0xLjQuNS9wcm92aWRlckRydi5jCTIwMTMtMDktMDQgMTI6NTk6NDAuNTExODcwMjc0ICswMjAwCitAQCAtMzU4NSw3ICszNTg1LDcgQEAgcHJvY2Vzc1Byb3ZpZGVySW52b2NhdGlvblJlcXVlc3RzKGNoYXIgKgorICAgICByYyA9IHNwUmVjdlJlcSgmcHJvdmlkZXJTb2NrZXRzLnJlY2VpdmUsICZwYXJtcy0+cmVxdWVzdG9yLAorICAgICAgICAgICAgICAgICAgICAodm9pZCAqKikgJnBhcm1zLT5yZXEsICZybCwgJm1xZyk7CisgICAgIGlmIChtcWcucmRvbmUpIHsKKy0gICAgICBpbnQgICAgICAgICAgICAgZGVidWdfYnJlYWsgPSAwOworKyAgICAgIHZvbGF0aWxlIGludCBkZWJ1Z19icmVhayA9IDA7CisgICAgICAgaWYgKHJjICE9IDApIHsKKyAgICAgICAgIG1sb2dmKE1fRVJST1IsTV9TSE9XLCAic3BSZWN2UmVxIHJldHVybmVkIGVycm9yICVkLiBTa2lwcGluZyBtZXNzYWdlLlxuIiwgcmMpOworICAgICAgICAgZnJlZShwYXJtcyk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjMuMTYtbWF4TXNnTGVuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS4zLjE2LW1heE1zZ0xlbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMGRkODE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS4zLjE2LW1heE1zZ0xlbi5wYXRjaApAQCAtMCwwICsxLDE0IEBACitkaWZmIC11cCBzYmxpbS1zZmNiLTEuMy4xNi9zZmNiLmNmZy5wcmUuaW4ub2xkIHNibGltLXNmY2ItMS4zLjE2L3NmY2IuY2ZnLnByZS5pbgorLS0tIHNibGltLXNmY2ItMS4zLjE2L3NmY2IuY2ZnLnByZS5pbi5vbGQJMjAxMi0wNi0xMyAyMzoyMTowOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBzYmxpbS1zZmNiLTEuMy4xNi9zZmNiLmNmZy5wcmUuaW4JMjAxMy0wNi0yNCAxNTozNDozOC44ODE5OTI3ODEgKzAyMDAKK0BAIC0xMTMsOCArMTEzLDggQEAgcHJvdlByb2NzOiAgICAgIDMyCisgCisgIyMgTWF4IG1lc3NhZ2UgbGVuZ3RoLCBpbiBieXRlcy4gVGhpcyBpcyBhIGxpbWl0IG9uIHRoZSBzaXplIG9mIG1lc3NhZ2VzCisgIyMgd3JpdHRlbiBhY3Jvc3Mgc29ja2V0cywgZm9yIGluc3RhbmNlLCBiZXR3ZWVuIHByb3ZpZGVycyBhbmQgU0ZDQi4KKy0jIyBEZWZhdWx0IGlzIDEwMDAwMDAwCistbWF4TXNnTGVuOiAgICAgIDEwMDAwMDAwCisrIyMgRGVmYXVsdCBpcyAxMDAwMDAwMDAKKyttYXhNc2dMZW46ICAgICAgMTAwMDAwMDAwCisgCisgIyMgTG9jYXRpb24gb2YgdGhlIHJlZ2lzdHJhdGlvbiBkaXJlY3RvcnksIHdoZXJlIHByb3ZpZGVyUmVnaXN0ZXIgY2FuIGJlIGZvdW5kCisgIyMgRGVmYXVsdCBpcyBAbG9jYWxzdGF0ZWRpckAvbGliL3NmY2IvcmVnaXN0cmF0aW9uCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjMuMTYtbXVsdGlsaWItbWFuLWNmZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYi0xLjQuOS9zYmxpbS1zZmNiLTEuMy4xNi1tdWx0aWxpYi1tYW4tY2ZnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4Y2VjZTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjMuMTYtbXVsdGlsaWItbWFuLWNmZy5wYXRjaApAQCAtMCwwICsxLDQxIEBACitkaWZmIC11cCBzYmxpbS1zZmNiLTEuMy4xNi9tYW4vc2ZjYmQuMS5wcmUuaW4ub3JpZyBzYmxpbS1zZmNiLTEuMy4xNi9tYW4vc2ZjYmQuMS5wcmUuaW4KKy0tLSBzYmxpbS1zZmNiLTEuMy4xNi9tYW4vc2ZjYmQuMS5wcmUuaW4ub3JpZwkyMDE0LTAyLTI2IDE0OjA1OjMyLjIxMzA5MTczNCArMDEwMAorKysrIHNibGltLXNmY2ItMS4zLjE2L21hbi9zZmNiZC4xLnByZS5pbgkyMDE0LTAyLTI2IDE1OjEwOjU0LjQ3NjE5NjM3OSArMDEwMAorQEAgLTE1MSw3ICsxNTEsNyBAQCBEZWZhdWx0PVxmSUBsb2NhbHN0YXRlZGlyQC9saWIvc2ZjYi9yZWdpCisgLlRQCisgLkIgcHJvdmlkZXJEaXJzCisgQSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyB3aGVyZSBzZmNiIGlzIGxvb2tpbmcgZm9yIHByb3ZpZGVyCistbGlicmFyaWVzLiBEZWZhdWx0PVxmSUBsaWJkaXJAXCBAbGliZGlyQC9jbXBpXGZSCisrbGlicmFyaWVzLiBEZWZhdWx0PVxmSS91c3IvbGliXCAvdXNyL2xpYi9jbXBpIC91c3IvbGliNjRcIC91c3IvbGliNjQvY21waVxmUgorIC5UUAorIC5CIHByb3ZpZGVyU2FtcGxlSW50ZXJ2YWwKKyBUaGUgaW50ZXJ2YWwgaW4gc2Vjb25kcyBhdCB3aGljaCB0aGUgcHJvdmlkZXIgbWFuYWdlciBpcyBjaGVja2luZyBmb3IKK0BAIC0yNzUsMTEgKzI3NSwxMSBAQCBTU0wgcHJpdmF0ZSBrZXkgZmlsZSBmb3Igc2ZjYi4KKyBTU0wgY2xpZW50IGNlcnRpZmljYXRlIC8gdHJ1c3Qgc3RvcmUgZm9yIHNmY2IuCisgLlNIIExJQlJBUklFUworIC5UUAorLS5JIEBsaWJkaXJAL2xpYnNmYyoKKysuSSAvdXNyL2xpYi9saWJzZmMqIC91c3IvbGliNjQvbGlic2ZjKgorIEJpbmFyaWVzIGZvciBzZmNiIHJ1bnRpbWUgbGlicmFyaWVzLgorIC5UUAorLS5JIEBsaWJkaXJAL2NtcGkvKgorLUJpbmFyaWVzIGZvciBwcm92aWRlcnMKKysuSSAvdXNyL2xpYi9jbXBpLyogL3Vzci9saWI2NC9jbXBpLyoKKytCaW5hcmllcyBmb3IgcHJvdmlkZXJzLgorIC5TSCBBVVRIT1IKKyBBZHJpYW4gU2NodXVyIDxzY2h1dXJAZGUuaWJtLmNvbT4KKyAuU0ggQ09OUklCVVRPUlMKK2RpZmYgLXVwIHNibGltLXNmY2ItMS4zLjE2L3NmY2IuY2ZnLnByZS5pbi5vcmlnIHNibGltLXNmY2ItMS4zLjE2L3NmY2IuY2ZnLnByZS5pbgorLS0tIHNibGltLXNmY2ItMS4zLjE2L3NmY2IuY2ZnLnByZS5pbi5vcmlnCTIwMTQtMDItMjYgMTU6MzU6NDMuMTMzODY5NzE4ICswMTAwCisrKysgc2JsaW0tc2ZjYi0xLjMuMTYvc2ZjYi5jZmcucHJlLmluCTIwMTQtMDItMjYgMTU6Mzg6MTIuNzk0MjQwNTMyICswMTAwCitAQCAtMTIxLDggKzEyMSw4IEBAIG1heE1zZ0xlbjogICAgICAxMDAwMDAwMDAKKyByZWdpc3RyYXRpb25EaXI6IEBsb2NhbHN0YXRlZGlyQC9saWIvc2ZjYi9yZWdpc3RyYXRpb24KKyAKKyAjIyBMb2NhdGlvbnMgdG8gbG9vayBmb3IgcHJvdmlkZXIgbGlicmFyaWVzLiBEZWxpbWl0IHBhdGhzIHdpdGggYSBzcGFjZS4KKy0jIyBEZWZhdWx0IGlzIEBsaWJkaXJAL3NmY2IgQGxpYmRpckAgQGxpYmRpckAvY21waQorLXByb3ZpZGVyRGlyczogQGxpYmRpckAvc2ZjYiBAbGliZGlyQCBAbGliZGlyQC9jbXBpCisrIyMgRGVmYXVsdCBpcyAvdXNyL2xpYi9zZmNiIC91c3IvbGliNjQvc2ZjYiAvdXNyL2xpYiAvdXNyL2xpYjY0IC91c3IvbGliL2NtcGkgL3Vzci9saWI2NC9jbXBpCisrcHJvdmlkZXJEaXJzOiAvdXNyL2xpYi9zZmNiIC91c3IvbGliNjQvc2ZjYiAvdXNyL2xpYiAvdXNyL2xpYjY0IC91c3IvbGliL2NtcGkgL3Vzci9saWI2NC9jbXBpCisgCisgIyMgRW5hYmxlIHRoZSByb290L2ludGVyb3AgbmFtZXNwYWNlIChhZmZlY3RzIGluZGljYXRpb25zKQorICMjIERlZmF1bHQ6IHRydWUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYi0xLjQuOS9zYmxpbS1zZmNiLTEuMy45LXNmY2JyZXBvcy1zY2hlbWEtbG9jYXRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjMuOS1zZmNicmVwb3Mtc2NoZW1hLWxvY2F0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmOTVhOWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjMuOS1zZmNicmVwb3Mtc2NoZW1hLWxvY2F0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK2RpZmYgLXVwIHNibGltLXNmY2ItMS4zLjkvbWFuL3NmY2JyZXBvcy4xLnByZS5pbi5vcmlnIHNibGltLXNmY2ItMS4zLjkvbWFuL3NmY2JyZXBvcy4xLnByZS5pbgorLS0tIHNibGltLXNmY2ItMS4zLjkvbWFuL3NmY2JyZXBvcy4xLnByZS5pbi5vcmlnCTIwMDktMTAtMTMgMjE6NTQ6MTMuMDAwMDAwMDAwICswMjAwCisrKysgc2JsaW0tc2ZjYi0xLjMuOS9tYW4vc2ZjYnJlcG9zLjEucHJlLmluCTIwMTAtMDktMDYgMTQ6MDE6NTcuMjk0NTY0MDYyICswMjAwCitAQCAtMjYsNyArMjYsNyBAQCBTdXBwb3J0ZWQgY29tbWFuZCBsaW5lIG9wdGlvbnMgYXJlOgorIC5UUAorIFxmQlwtY1xmUiBcZklzY2hlbWFkaXJcZlIKKyBQYXRoIHRvIG9idGFpbiB0aGUgQ0lNIFNjaGVtYSBjbGFzc2VzLgorLURlZmF1bHQgaXMgXGZJQGRhdGFkaXJAL3NmY2JcZlIKKytEZWZhdWx0IGlzIFxmSUBkYXRhZGlyQC9tb2YvY2ltLWN1cnJlbnRcZlIKKyAuVFAKKyBcZkJcLXNcZlIgXGZJc3RhZ2luZ2RpclxmUgorIFBhdGggdG8gc2ZjYiBzdGFnaW5nIGFyZWEgY29udGFpbmluZyBjbGFzcyBNT0ZzIGFuZCByZWdpc3RyYXRpb24gZmlsZXMKK0BAIC01OCw3ICs1OCw3IEBAIEFsaWFzIG9mIFxmQi1iXGZSCisgRGlzcGxheSB1c2FnZSBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKyAuU0ggRklMRVMKKyAuVFAKKy1cZklAZGF0YWRpckAvc2ZjYi9DSU0vQ0lNX1NjaGVtYS5tb2ZcZlIKKytcZklAZGF0YWRpckAvbW9mL2NpbS1jdXJyZW50L0NJTV9TY2hlbWEubW9mXGZSCisgQ0lNIFNjaGVtYQorIC5UUAorIFxmSUBsb2NhbHN0YXRlZGlyQC9saWIvc2ZjYi9yZWdpc3RyYXRpb24vcHJvdmlkZXJSZWdpc3RlclxmUgorZGlmZiAtdXAgc2JsaW0tc2ZjYi0xLjMuOS9zZmNicmVwb3Muc2guaW4ub3JpZyBzYmxpbS1zZmNiLTEuMy45L3NmY2JyZXBvcy5zaC5pbgorLS0tIHNibGltLXNmY2ItMS4zLjkvc2ZjYnJlcG9zLnNoLmluLm9yaWcJMjAwOS0xMi0yMiAwMToxODoyOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBzYmxpbS1zZmNiLTEuMy45L3NmY2JyZXBvcy5zaC5pbgkyMDEwLTA5LTA2IDEzOjQ1OjI4LjY3MTQ5MTY0OCArMDIwMAorQEAgLTU5LDcgKzU5LDcgQEAgdGhlbgorICAgICBlY2hvIC1lICJcdC1YIGNyZWF0ZSByZXBvc2l0b3J5IGluIG5vbi1uYXRpdmUgZm9ybWF0IGFzIHNwZWNpZmVkIGJ5IGFyZ3VtZW50IgorICAgICBlY2hvIC1lICJcdC1zIHNwZWNpZnkgc3RhZ2luZyBkaXJlY3RvcnkgW0Bsb2NhbHN0YXRlZGlyQC9saWIvc2ZjYi9zdGFnZV0iCisgICAgIGVjaG8gLWUgIlx0LXIgc3BlY2lmeSByZXBvc2l0b3J5IGRpcmVjdG9yeSBbQGxvY2Fsc3RhdGVkaXJAL2xpYi9zZmNiL3JlZ2lzdHJhdGlvbl0iCistICAgIGVjaG8gLWUgIlx0LWMgc3BlY2lmeSBkaXJlY3RvcnkgY29udGFpbmluZyBDSU0gU2NoZW1hIE1PRnMgW0BkYXRhZGlyQC9zZmNiL0NJTV0iCisrICAgIGVjaG8gLWUgIlx0LWMgc3BlY2lmeSBkaXJlY3RvcnkgY29udGFpbmluZyBDSU0gU2NoZW1hIE1PRnMgW0BkYXRhZGlyQC9tb2YvY2ltLWN1cnJlbnRdIgorICAgICBlY2hvIC1lICJcdC10IGNyZWF0ZSB0aW55IGNsYXNzIHJlcG9zaXRvcnkgYnkgb21pdHRpbmcgaW5oZXJpdGFuY2UgaW5mb3JtYXRpb24iCisgICAgIGVjaG8gLWUgIlx0LXogY29tcHJlc3MgcmVwb3NpdG9yeSB3aXRoIGd6aXAiCisgICAgIGVjaG8KK0BAIC05OSw3ICs5OSw3IEBAIGZpCisgCisgaWYgWyAteiAiJGNpbXNjaGVtYWRpciIgXQorIHRoZW4KKy0gICAgY2ltc2NoZW1hZGlyPSR7REVTVERJUn1AZGF0YWRpckAvc2ZjYi9DSU0KKysgICAgY2ltc2NoZW1hZGlyPSR7REVTVERJUn1AZGF0YWRpckAvbW9mL2NpbS1jdXJyZW50CisgZmkKKyAKKyBpZiBbIC1kICRzdGFnaW5nZGlyIF0gJiYgWyAtZiAkc3RhZ2luZ2Rpci9kZWZhdWx0LnJlZyBdICYmCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjQuNS1zZXJ2aWNlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS40LjUtc2VydmljZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWNjZmE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS40LjUtc2VydmljZS5wYXRjaApAQCAtMCwwICsxLDI3IEBACitkaWZmIC11cCBzYmxpbS1zZmNiLTEuNC42L01ha2VmaWxlLmluLm9yaWcgc2JsaW0tc2ZjYi0xLjQuNi9NYWtlZmlsZS5pbgorLS0tIHNibGltLXNmY2ItMS40LjYvTWFrZWZpbGUuaW4ub3JpZwkyMDEzLTEwLTA3IDEwOjQzOjM0Ljc4MzIyODEzNyArMDIwMAorKysrIHNibGltLXNmY2ItMS40LjYvTWFrZWZpbGUuaW4JMjAxMy0xMC0wNyAxMDo0NDozMC4xNzg1MzMyODkgKzAyMDAKK0BAIC02MjcsNyArNjI3LDYgQEAgaW5pdGRpciA9ICQoc3lzY29uZmRpcikvaW5pdC5kCisgcGFtZGlyID0gJChzeXNjb25mZGlyKS9wYW0uZAorIHNmY2JsaWJkaXIgPSAkKGxpYmRpcikvc2ZjYgorIGNtcGlsaWJkaXIgPSAkKGxpYmRpcikvY21waQorLXN5c3RlbWRkaXIgPSAkKERFU1RESVIpQFNZU1RFTURESVJACisgTUFORklMRVMgPSBtYW4vZ2VuU3NsQ2VydC4xIG1hbi9nZXRTY2hlbWEuMSBtYW4vc2ZjYmQuMSBtYW4vc2ZjYm1vZi4xIFwKKyAJbWFuL3NmY2JyZXBvcy4xIG1hbi9zZmNic3RhZ2UuMSBtYW4vc2ZjYnVuc3RhZ2UuMSBtYW4vc2ZjYnV1aWQuMSBcCisgCW1hbi93YmVtY2F0LjEgbWFuL3htbHRlc3QuMQorQEAgLTIzNjYsNyArMjM2NSw2IEBAIHVuaXR0ZXN0OgorIAljZCB0ZXN0ICYmIHNoIGNoZWNrX2FsbC5zaAorIAorIGluc3RhbGwtZGF0YS1sb2NhbDoKKy0JaWYgdGVzdCAtZCAkKHN5c3RlbWRkaXIpOyB0aGVuIGNwICQoc3JjZGlyKS9zYmxpbS1zZmNiLnNlcnZpY2UgJChzeXN0ZW1kZGlyKTsgZmk7IAorIAl0ZXN0IC1kICQoREVTVERJUikkKHNmY2JzdGF0ZWRpcikvcmVnaXN0cmF0aW9uL3JlcG9zaXRvcnkgfHwgJChta2Rpcl9wKSAkKERFU1RESVIpJChzZmNic3RhdGVkaXIpL3JlZ2lzdHJhdGlvbi9yZXBvc2l0b3J5CisgCXRlc3QgLWQgJChERVNURElSKSQoc2ZjYnN0YXRlZGlyKS9zdGFnZS9tb2ZzL3Jvb3QvaW50ZXJvcCB8fCAkKG1rZGlyX3ApICQoREVTVERJUikkKHNmY2JzdGF0ZWRpcikvc3RhZ2UvbW9mcy9yb290L2ludGVyb3AKKyAJdGVzdCAtZCAkKERFU1RESVIpJChzZmNic3RhdGVkaXIpL3N0YWdlL3JlZ3MgfHwgJChta2Rpcl9wKSAkKERFU1RESVIpJChzZmNic3RhdGVkaXIpL3N0YWdlL3JlZ3MKK0BAIC0yMzg0LDcgKzIzODIsNiBAQCBpbnN0YWxsLWRhdGEtbG9jYWw6CisgdW5pbnN0YWxsLWxvY2FsOgorIAlybSAtZiAkKERFU1RESVIpJChzZmNic3RhdGVkaXIpL3N0YWdlL2RlZmF1bHQucmVnCisgCXJtIC1mICQoREVTVERJUikkKHNmY2JzdGF0ZWRpcikvc3RhZ2UvbW9mcy9yb290L2ludGVyb3AvMTBfaW50ZXJvcC5tb2YKKy0Jcm0gLWYgJChzeXN0ZW1kZGlyKS9zYmxpbS1zZmNiLnNlcnZpY2UKKyBASU5ESUNBVElPTlNfVFJVRUAJcm0gLWYgJChERVNURElSKSQoc2ZjYnN0YXRlZGlyKS9zdGFnZS9tb2ZzL3Jvb3QvaW50ZXJvcC8yMF9pbmRpY2F0aW9uLm1vZgorIEBJTkRJQ0FUSU9OU19UUlVFQAlybSAtZiAkKERFU1RESVIpJChzZmNic3RhdGVkaXIpL3N0YWdlL21vZnMvaW5kaWNhdGlvbi5tb2YKKyBARE9DU19UUlVFQAlybSAtcmYgJChERVNURElSKSQoc2ZjYmRvY2RpcikvaHRtbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS40LjgtZGVmYXVsdC1lY2RoLWN1cnZlLW5hbWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2ItMS40Ljkvc2JsaW0tc2ZjYi0xLjQuOC1kZWZhdWx0LWVjZGgtY3VydmUtbmFtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjY4ZDQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS40LjgtZGVmYXVsdC1lY2RoLWN1cnZlLW5hbWUucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorZGlmZiAtdXAgc2JsaW0tc2ZjYi0xLjQuOC9jb250cm9sLmMub3JpZyBzYmxpbS1zZmNiLTEuNC44L2NvbnRyb2wuYworLS0tIHNibGltLXNmY2ItMS40LjgvY29udHJvbC5jLm9yaWcJMjAxNC0wMy0yNyAwMDo0NjoyOC4wMDAwMDAwMDAgKzAxMDAKKysrKyBzYmxpbS1zZmNiLTEuNC44L2NvbnRyb2wuYwkyMDE0LTA1LTE1IDEyOjMxOjM4LjMwNDE2OTQwOSArMDIwMAorQEAgLTE3MCw3ICsxNzAsNyBAQCBzdGF0aWMgQ29udHJvbCBpbml0W10gPSB7CisgICB7InNzbENlcnRMaXN0IiwgQ1RMX1NUUklORywgU0ZDQl9DT05GRElSICIvY2xpc3QucGVtIiwgezB9fSwKKyAgIHsic3NsQ2lwaGVycyIsIENUTF9TVFJJTkcsICJBTEw6IUFESDohTE9XOiFFWFA6IU1ENTpAU1RSRU5HVEgiLCB7MH19LAorICAgeyJzc2xEaFBhcmFtc0ZpbGVQYXRoIiwgQ1RMX1NUUklORywgTlVMTCwgezB9fSwKKy0gIHsic3NsRWNEaEN1cnZlTmFtZSIsIENUTF9TVFJJTkcsICJzZWNwMjI0cjEiLCB7MH19LAorKyAgeyJzc2xFY0RoQ3VydmVOYW1lIiwgQ1RMX1NUUklORywgInNlY3AzODRyMSIsIHswfX0sCisgICB7ImVuYWJsZVNzbENpcGhlclNlcnZlclByZWYiLCBDVExfQk9PTCwgTlVMTCwgey5iPTB9fSwKKyAKKyAgIHsicmVnaXN0cmF0aW9uRGlyIiwgQ1RMX1NUUklORywgU0ZDQl9TVEFURURJUiAiL3JlZ2lzdHJhdGlvbiIsIHswfX0sCitkaWZmIC11cCBzYmxpbS1zZmNiLTEuNC44L3NmY2IuY2ZnLnByZS5pbi5vcmlnIHNibGltLXNmY2ItMS40Ljgvc2ZjYi5jZmcucHJlLmluCistLS0gc2JsaW0tc2ZjYi0xLjQuOC9zZmNiLmNmZy5wcmUuaW4ub3JpZwkyMDE0LTA1LTE1IDEyOjMxOjU5LjE4ODI0NDg2NSArMDIwMAorKysrIHNibGltLXNmY2ItMS40Ljgvc2ZjYi5jZmcucHJlLmluCTIwMTQtMDUtMTUgMTI6MzI6NDUuNTU0NDA4NDEyICswMjAwCitAQCAtMjkzLDggKzI5Myw4IEBAIHNzbENpcGhlcnM6IEFMTDohQURIOiFMT1c6IUVYUDohTUQ1OkBTVFIKKyAjIyBlbnZpcm9ubWVudC4gSWYgdGhpcyB2YWx1ZSBpcyBub3Qgc2V0LCB0aGUgaW5kaWNhdGVkIGRlZmF1bHQgaXMgaW4gZWZmZWN0LgorICMjIElmIHRoZSB2YWx1ZSBpcyBzZXQgYnV0IHRoZSBjdXJ2ZSBuYW1lIGlzIG5vdCByZWNvZ25pemVkIGJ5IHRoZSB1bmRlcmx5aW5nCisgIyMgb3BlbnNzbCBpbXBsZW1lbnRhdGlvbiwgU0ZDQiB3aWxsIGFib3J0LgorLSMjIERlZmF1bHQgaXMgc2VjcDIyNHIxCistI3NzbEVjRGhDdXJ2ZU5hbWU6IHNlY3AyMjRyMQorKyMjIERlZmF1bHQgaXMgc2VjcDM4NHIxCisrI3NzbEVjRGhDdXJ2ZU5hbWU6IHNlY3AzODRyMQorIAorICMjIFdoZW4gc2V0IHRvIHRydWUsIHNldHMgdGhlIFNTTF9PUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UgZmxhZyBmb3IgdGhlIHNzbAorICMjIGNvbnRleHQsIHRvIGVuZm9yY2Ugc2VydmVyJ3MgcHJlZmVyZW5jZSBpbnN0ZWFkIG9mIHRoZSBjbGllbnQgcHJlZmVyZW5jZSBmb3IKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYi0xLjQuOS9zYmxpbS1zZmNiLTEuNC45LWZpeC1mdGJmcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYi0xLjQuOS9zYmxpbS1zZmNiLTEuNC45LWZpeC1mdGJmcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTQ4YjNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2JsaW0tc2ZjYi9zYmxpbS1zZmNiLTEuNC45L3NibGltLXNmY2ItMS40LjktZml4LWZ0YmZzLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK2RpZmYgLXVwIHNibGltLXNmY2ItMS40LjkvY29udHJvbC5jLm9yaWcgc2JsaW0tc2ZjYi0xLjQuOS9jb250cm9sLmMKKy0tLSBzYmxpbS1zZmNiLTEuNC45L2NvbnRyb2wuYy5vcmlnCTIwMTUtMDctMTMgMTU6MDY6MjEuMzMxNjYwMzM2ICswMjAwCisrKysgc2JsaW0tc2ZjYi0xLjQuOS9jb250cm9sLmMJMjAxNS0wNy0xMyAxNTowODozOC4wMzEzMDg5MTcgKzAyMDAKK0BAIC04Myw3ICs4Myw3IEBAIGxvbmcgICAgICAgICAgICBodHRwUmVxSGFuZGxlclRpbWVvdXQ7CisgICogS2luZGx5IG51bGwgdGVybWluYXRlLCBhbHdheXMsIGV2ZW4gaWYgbWlnaHQgb3ZlcndyaXRlCisgICogdGhlIGxhc3QgY2hhciBvZiB0aGUgdHJ1bmNhdGVkIHN0cmluZy4gCisgKi8KKy1pbmxpbmUgY2hhciAqc3RybmNweV9raW5kKGNoYXIgKnRvLCBjaGFyICpmcm9tLCBzaXplX3Qgc2l6ZSkgeworK2NoYXIgKnN0cm5jcHlfa2luZChjaGFyICp0bywgY2hhciAqZnJvbSwgc2l6ZV90IHNpemUpIHsKKyAgIHN0cm5jcHkodG8sIGZyb20sIHNpemUpOworICAgKih0byArIHNpemUgLSAxKSA9ICdcMCc7CisgICByZXR1cm4gdG87CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2JfMS40LjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNiL3NibGltLXNmY2JfMS40LjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE2MjZkMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Ivc2JsaW0tc2ZjYl8xLjQuOS5iYgpAQCAtMCwwICsxLDgzIEBACitTVU1NQVJZID0gIlNtYWxsIEZvb3RwcmludCBDSU0gQnJva2VyIgorREVTQ1JJUFRJT04gPSAiXAorU21hbGwgRm9vdHByaW50IENJTSBCcm9rZXIgKHNmY2IpIGlzIGEgQ0lNIHNlcnZlciBjb25mb3JtaW5nIHRvIHRoZSBDSU0gXAorT3BlcmF0aW9ucyBvdmVyIEhUVFAgcHJvdG9jb2wuIEl0IGlzIHJvYnVzdCwgd2l0aCBsb3cgcmVzb3VyY2UgY29uc3VtcHRpb24gXAorYW5kIHRoZXJlZm9yZSBzcGVjaWZpY2FsbHkgc3VpdGVkIGZvciBlbWJlZGRlZCBhbmQgcmVzb3VyY2UgY29uc3RyYWluZWQgXAorZW52aXJvbm1lbnRzLiBzZmNiIHN1cHBvcnRzIHByb3ZpZGVycyB3cml0dGVuIGFnYWluc3QgdGhlIENvbW1vbiBcCitNYW5hZ2VhYmlsaXR5IFByb2dyYW1taW5nIEludGVyZmFjZSAoQ01QSSkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zYmxpbS5vcmciCitTRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCitMSUNFTlNFID0gIkVQTC0xLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mMzAwYWZkNTk4NTQ2YWRkMDM0MzY0Y2QwYTUzMzI2MSIKK0RFUEVORFMgPSAiY3VybCBsaWJwYW0gb3BlbnNzbCBzYmxpbS1zZmMtY29tbW9uIHVuemlwLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9zYmxpbS8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3NibGltLXNmY2ItMS4zLjktc2ZjYnJlcG9zLXNjaGVtYS1sb2NhdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zYmxpbS1zZmNiLTEuMy4xNS1maXgtcHJvdmlkZXItZGVidWdnaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NibGltLXNmY2ItMS4zLjE2LW1heE1zZ0xlbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zYmxpbS1zZmNiLTEuNC41LXNlcnZpY2UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2JsaW0tc2ZjYi0xLjMuMTYtbXVsdGlsaWItbWFuLWNmZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zYmxpbS1zZmNiLTEuNC44LWRlZmF1bHQtZWNkaC1jdXJ2ZS1uYW1lLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NibGltLXNmY2ItMS40LjktZml4LWZ0YmZzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NmY2Iuc2VydmljZSIKKyAgICAgICAgICAgCitTUkNfVVJJW21kNXN1bV0gPSAiMjgwMjFjZGFiYzczNjkwYTk0ZjRmOWQ1NzI1NGNlMzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjM0YTY3YjJmN2FjM2IzODZhNzkxNjBlYjQ0NDEzZDYxOGUzM2U0ZTdmYzc0YWU2OGIwMjQwNDg0YWYxNDlkZCIKKworaW5oZXJpdCBhdXRvdG9vbHMKK2luaGVyaXQgJHtAYmIudXRpbHMuY29udGFpbnMoJ1ZJUlRVQUwtUlVOVElNRV9pbml0X21hbmFnZXInLCdzeXN0ZW1kJywnc3lzdGVtZCcsJycsIGQpfQorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInNibGltLXNmY2Iuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZW5hYmxlIgorCitMREZMQUdTX2FwcGVuZCA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCAnIC1mdXNlLWxkPWJmZCAnLCAnJywgZCl9IgorCitFWFRSQV9PRUNPTkYgPSAnLS1lbmFibGUtZGVidWcgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXNzbCBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtcGFtIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1pcHY2IFwKKyAgICAgICAgICAgICAgICBDRkxBR1M9IiR7Q0ZMQUdTfSAtRF9HTlVfU09VUkNFIicKKworIyBtYWtlIGFsbCB3aXRoIC1qIG9wdGlvbiBpcyB1bnNhZmUuCitQQVJBTExFTF9NQUtFID0gIiIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgorQ09ORklHX1NJVEUgPSAiJHtXT1JLRElSfS9jb25maWctc2l0ZS4ke1B9IgorCitkb19pbnN0YWxsKCkgeworICAgIGNwIC1mICR7U30vc2ZjYi5jZmcucHJlLmluICR7U30vc2ZjYi5jZmcKKworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zZmNiLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc2JsaW0tc2ZjYi5zZXJ2aWNlCisgICAgZmkKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgbXYgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3NmY2IgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3NibGltLXNmY2IKKyAgICBzZWQgLWkgLWUgJ3MvXC92YXJcL2xvY2tcL3N1YnN5c1wvc2ZjYi9cL3ZhclwvbG9ja1wvc3Vic3lzXC9zYmxpbS1zZmNiL2cnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zYmxpbS1zZmNiCisgICAgCisgICAgcm0gLXJmICR7RH0ke2xpYmRpcn0vc2ZjYi8qLmxhCit9CisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgT1BUUz0iIgorCisgICAgaWYgWyB4IiREIiAhPSAieCIgXTsgdGhlbgorICAgICAgICBPUFRTPSItLXJvb3Q9JEQiCisgICAgICAgIGlmIHR5cGUgc3lzdGVtY3RsID4vZGV2L251bGwgMj4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgICAgICBzeXN0ZW1jdGwgJE9QVFMgJHtTWVNURU1EX0FVVE9fRU5BQkxFfSAke1NZU1RFTURfU0VSVklDRX0KKyAgICAgICAgZmkKKyAgICAgICAgZXhpdCAxCisgICAgZmkKKworICAgICR7ZGF0YWRpcn0vc2ZjYi9nZW5Tc2xDZXJ0LnNoICR7c3lzY29uZmRpcn0vc2ZjYgorICAgICR7YmluZGlyfS9zZmNicmVwb3MgLWYKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9zZmNiICR7ZGF0YWRpcn0vc2ZjYiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3NmY2IvLmRlYnVnIgorCitSREVQRU5EU18ke1BOfSA9ICJwZXJsIGJhc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNjL3NibGltLXNmY2NfMi4yLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zYmxpbS1zZmNjL3NibGltLXNmY2NfMi4yLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVjOTk0MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NibGltLXNmY2Mvc2JsaW0tc2ZjY18yLjIuOC5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIlNtYWxsIEZvb3RwcmludCBDSU0gQ2xpZW50IExpYnJhcnkiCitERVNDUklQVElPTiA9ICJTbWFsbCBGb290cHJpbnQgQ0lNIENsaWVudCBMaWJyYXJ5IFJ1bnRpbWUgTGlicmFyaWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zYmxpbS5vcmciCisKK1NSQ19VUkkgPSAiaHR0cDovL25ldGNvbG9nbmUuZGwuc291cmNlZm9yZ2UubmV0L3Byb2plY3Qvc2JsaW0vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMGJhYzBkZWMxOWYxN2VjMDY1YjZjMzMyYTU2ZDdiYWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWI4ZjE4NzU4M2JjNmM2YjBhNjNhYWUwMTY1Y2EzNzg5MmEyYTNiZDRiYjA2ODJjZDc2YjU2MjY4YjQyYzNkNiIKKworTElDRU5TRSA9ICJFUEwtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjMwMGFmZDU5ODU0NmFkZDAzNDM2NGNkMGE1MzMyNjEiCisKK0RFUEVORFMgPSAiY3VybCIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Njc2lyYXN0b29scy9zY3NpcmFzdG9vbHNfMS42LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zY3NpcmFzdG9vbHMvc2NzaXJhc3Rvb2xzXzEuNi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzZjkzY2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zY3NpcmFzdG9vbHMvc2NzaXJhc3Rvb2xzXzEuNi40LmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiTGludXggU0NTaSB0b29scyB0byBzZXJ2aWNlIG1haW50YWluIGRpc2sgc3RvcmFnZSBkZXZpY2VzIgorREVTQ1JJUFRJT04gPSAic2NzaXJhc3Rvb2xzIHdlcmUgZGVzaWduZWQgdG8gYWRkIHRvIHRoZSBTZXJ2aWNlYWJpbGl0eSBvZiBcCisgICAgICAgICAgICAgICBTQ1NJIGRldmljZXMgdW5kZXIgTGludXggc28gdGhhdCB0aGUgc3lzdGVtIGRvZXMgbm90IGhhdmUgXAorICAgICAgICAgICAgICAgdG8gYmUgcmVib290ZWQgb3IgdGFrZW4gb3V0IG9mIHNlcnZpY2UgdG8gcGVyZm9ybSBjb21tb24gXAorICAgICAgICAgICAgICAgbWFpbnRlbmFuY2Ugb3Igc2VydmljZSBmdW5jdGlvbnMuIEl0IGhhbmRsZXMgU0NTSSwgXAorICAgICAgICAgICAgICAgTGludXggU1cgUkFJRCwgU0FTLCBTQVRBLCBhbmQgVVNCIGRldmljZXMgdmlhIFNDU0kgZW11bGF0aW9uLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zY3NpcmFzdG9vbHMuc291cmNlZm9yZ2UubmV0LyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9Njg3ZWExMDg0NzhkMjYxNTJhZTQ2ZWIyOWQ5ZDE1NDUiCitQUiA9ICJyMCIKKworU1JDX1VSSSA9ICJodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3Njc2lyYXN0b29scy9zY3NpcmFzdG9vbHMtJHtQVn0udGFyLmd6IFwKKwkgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZDc3NTExMWI2MmUyZGZjMTk2MGE3MjJmNWZkYTIxMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzOGQyYzZjOWIwNGEyYzU5NGU1Mjg5MjdiOTUwNzU0Zjk0YzA1MjI3MThkMTdjNzhlNjU4OWJhNzc4MzM5YmY4IgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZAorCisjIG1kYWRtIE1ha2VmaWxlIGhhcyBDQyBzZXQgdG8gZ2NjLCBoZW5jZSBvdmVycmlkZSBDQyB0byAke0NDfQorRVhUUkFfT0VNQUtFICs9ICJDQz0nJHtDQ30nIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59LWRpc2ttb24gJHtQTn0tcmFpZG1vbiIKK0lOSVRTQ1JJUFRfTkFNRV8ke1BOfS1kaXNrbW9uID0gInNnZGlzayIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LWRpc2ttb24gPSAiZGVmYXVsdHMgODAgMjAiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tcmFpZG1vbiA9ICJzZ3JhaWQiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfS1yYWlkbW9uID0gImRlZmF1bHRzIDgwIDIwIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tZGlza21vbiAke1BOfS1kaXNrbW9uLWRiZyIKK1BBQ0tBR0VTID0rICIke1BOfS1yYWlkbW9uICR7UE59LXJhaWRtb24tZGJnIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIi91c3Ivc2hhcmUvc2NzaXJhc3Rvb2xzLy5kZWJ1ZyIKKworRklMRVNfJHtQTn0tZGlza21vbiA9ICIke3NiaW5kaXJ9L3NnZGlza21vbiAke3N5c2NvbmZkaXJ9L2luaXQuZC9zZ2Rpc2siCitGSUxFU18ke1BOfS1kaXNrbW9uLWRiZyA9ICIke3NiaW5kaXJ9Ly5kZWJ1Zy9zZ2Rpc2ttb24iCisKK0ZJTEVTXyR7UE59LXJhaWRtb24gPSAiJHtzYmluZGlyfS9zZ3JhaWRtb24gJHtzeXNjb25mZGlyfS9pbml0LmQvc2dyYWlkIgorRklMRVNfJHtQTn0tcmFpZG1vbi1kYmcgPSAiJHtzYmluZGlyfS8uZGVidWcvc2dyYWlkbW9uIgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCIKK1JERVBFTkRTXyR7UE59LWRpc2ttb24gKz0gIiR7UE59IgorUkRFUEVORFNfJHtQTn0tcmFpZG1vbiArPSAiJHtQTn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zZ3Bpby9zZ3Bpby9NYWtlZmlsZS1lcnJvci1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zZ3Bpby9zZ3Bpby9NYWtlZmlsZS1lcnJvci1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA5ZjgzMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NncGlvL3NncGlvL01ha2VmaWxlLWVycm9yLWZpeC5wYXRjaApAQCAtMCwwICsxLDEyNyBAQAorRml4IE1ha2VmaWxlOgorCisqIGNoYW5nZSB0aGUgZmlsZSBmb3JtYXQgZnJvbSBkb3MgdG8gdW5peCB0byBhdm9pZCBkb19wYXRjaCBmYWlsZWQuCisqIG92ZXJyaWRlIGdjYyxTQklOX0RJUiBhbmQgSU5TVEFMTCBmb3IgY3Jvc3MtY29tcGlsYXRpb24uCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBNYWtlZmlsZSB8IDEwNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygrKSwgNTIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAyNzhkOTY2Li5jMmIwYmM3IDEwMDc1NQorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMSw1MiArMSw1NSBAQAorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKy0jIENvcHlyaWdodCAoQykgMjAwNy0yMDA4LCBJbnRlbCBDb3JwLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKy0jDQorLSMNCistIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcg0KKy0jIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlDQorLSMgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCistIw0KKy0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQNCistIyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvcg0KKy0jIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIA0KKy0jIGZvciBtb3JlIGRldGFpbHMuDQorLSMNCistIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZw0KKy0jIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sDQorLSMgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorLQ0KKy0NCistIyBJbnRlbCBTR1BJTyBlbmNsb3N1cmUgbWFuYWdlbWVudCB1dGlsaXR5DQorLSMNCistIyBBdXRob3I6IEVyaWMgUiBIYWxsIDxFcmljLlIuSGFsbEBpbnRlbC5jb20+DQorLQ0KKy0NCistTUFORElSID89IC91c3IvbG9jYWwvbWFuDQorLUFMTCA9IHNncGlvDQorLQ0KKy1hbGw6ICQoQUxMKQ0KKy0NCistc2dwaW8ubzogc2dwaW8uYw0KKy0JZ2NjIC1nIC1XYWxsIC1jIHNncGlvLmMNCistDQorLXNncGlvOiBzZ3Bpby5vDQorLQlnY2MgLWcgc2dwaW8ubyAtbyBzZ3Bpbw0KKy0NCistY2xlYW46DQorLQlybSAtZiBzZ3Bpby5vIHNncGlvDQorLQ0KKy1pbnN0YWxsOiAkKEFMTCkNCistCWZvciBpIGluICQoQUxMKTsgZG8gXA0KKy0JCWluc3RhbGwgJCRpIC9zYmluLyQkaTsgXA0KKy0JZG9uZQ0KKy0JaW5zdGFsbCAtZCAkKE1BTkRJUikvbWFuMQ0KKy0JaW5zdGFsbCAtbSAwNjQ0ICouMSAkKE1BTkRJUikvbWFuMQ0KKy0NCistdW5pbnN0YWxsOg0KKy0JZm9yIGkgaW4gJChBTEwpOyBkbyBcDQorLQkJcm0gLWYgL3NiaW4vJCRpOyBcDQorLQlkb25lDQorLQlmb3IgaSBpbiAkKEFMTDo9LjEpOyBkbyBcDQorLQkJcm0gLWYgJChNQU5ESVIpL21hbjEvJCRpOyBcDQorLQlkb25lDQorKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworKyMgQ29weXJpZ2h0IChDKSAyMDA3LTIwMDgsIEludGVsIENvcnAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrIworKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCisrIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQorKyMgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisrIyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvcgorKyMgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgCisrIyBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisrIyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorKyMgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKKysjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKysKKysKKysjIEludGVsIFNHUElPIGVuY2xvc3VyZSBtYW5hZ2VtZW50IHV0aWxpdHkKKysjCisrIyBBdXRob3I6IEVyaWMgUiBIYWxsIDxFcmljLlIuSGFsbEBpbnRlbC5jb20+CisrCisrCisrTUFORElSID89IC91c3IvbG9jYWwvbWFuCisrU0JJTl9ESVIgPSAvc2JpbgorK0lOU1RBTEwgPS91c3IvYmluL2luc3RhbGwgLWMKKytBTEwgPSBzZ3BpbworK0NGTEFHUyA9IC1nIC1XYWxsCisrCisrYWxsOiAkKEFMTCkKKysKKytzZ3Bpby5vOiBzZ3Bpby5jCisrCSR7Q0N9ICQoQ0ZMQUdTKSAtYyBzZ3Bpby5jCisrCisrc2dwaW86IHNncGlvLm8KKysJJHtDQ30gLWcgc2dwaW8ubyAtbyBzZ3BpbworKworK2NsZWFuOgorKwlybSAtZiBzZ3Bpby5vIHNncGlvCisrCisraW5zdGFsbDogJChBTEwpCisrCWZvciBpIGluICQoQUxMKTsgZG8gXAorKwkJJChJTlNUQUxMKSAtRCAkJGkgJChTQklOX0RJUikvJCRpOyBcCisrCWRvbmUKKysJJChJTlNUQUxMKSAtZCAkKE1BTkRJUikvbWFuMQorKwkkKElOU1RBTEwpIC1tIDA2NDQgKi4xICQoTUFORElSKS9tYW4xCisrCisrdW5pbnN0YWxsOgorKwlmb3IgaSBpbiAkKEFMTCk7IGRvIFwKKysJCXJtIC1mIC9zYmluLyQkaTsgXAorKwlkb25lCisrCWZvciBpIGluICQoQUxMOj0uMSk7IGRvIFwKKysJCXJtIC1mICQoTUFORElSKS9tYW4xLyQkaTsgXAorKwlkb25lCistLSAKKzEuOC4zLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2dwaW8vc2dwaW9fMS4yLjAuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zZ3Bpby9zZ3Bpb18xLjIuMC4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDdjNDEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2dwaW8vc2dwaW9fMS4yLjAuMTAuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJTR1BJTyBjYXB0aXZlIGJhY2twbGFuZSB0b29sIgorREVTQ1JJUFRJT04gPSAiSW50ZWwgU0dQSU8gZW5jbG9zdXJlIG1hbmFnZW1lbnQgdXRpbGl0eSIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL3JlcG8vcGtncy8ke0JQTn0vJHtCUE59LTEuMi0wLjEwLXNyYy50YXIuZ3ovYTQxN2JmNjhkYTRlOWJkNzlhNDY2NGMxMWQ3ZGViZDEvJHtCUE59LTEuMi0wLjEwLXNyYy50YXIuZ3ogXAorICAgIGZpbGU6Ly9NYWtlZmlsZS1lcnJvci1maXgucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImE0MTdiZjY4ZGE0ZTliZDc5YTQ2NjRjMTFkN2RlYmQxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjliZjhjNDJhY2FhMjQ3ZWZkOTMyMWJkYjFmYzIzOTAwMjJmMGM1NTRkNzdmYmJkNGE3MzYzZDk5MGZjMDI3MGIiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRV9HUEw7bWQ1PTM5M2E1Y2E0NDVmNjk2NTg3M2VjYTAyNTlhMTdmODMzIgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgb2VfcnVubWFrZSBjbGVhbgorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBcCisgICAgICAgIElOU1RBTEw9Ii91c3IvYmluL2luc3RhbGwgLXAiIFwKKyAgICAgICAgREVTVERJUj0ke0R9IFwKKyAgICAgICAgU0JJTl9ESVI9JHtEfS8ke3NiaW5kaXJ9IFwKKyAgICAgICAgTUFORElSPSR7RH0vJHttYW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL2ZpbGVzL2luaXRkLnNtYXJ0ZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvZmlsZXMvaW5pdGQuc21hcnRkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0YWRjYjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL2ZpbGVzL2luaXRkLnNtYXJ0ZApAQCAtMCwwICsxLDExMiBAQAorIyEgL2Jpbi9zaAorCisjIHNtYXJ0bW9udG9vbHMgaW5pdCBmaWxlIGZvciBzbWFydGQKKyMgQ29weXJpZ2h0IChDKSAyMDAyLTggQnJ1Y2UgQWxsZW4gPHNtYXJ0bW9udG9vbHMtc3VwcG9ydEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+CisjICRJZDogc21hcnRkLmluaXRkLmluIDMzNjAgMjAxMS0wNi0wNiAxOToyNTozNlogY2hyZnJhbmtlICQKKworIyBGb3IgUmVkSGF0IGFuZCBjb3VzaW5zOgorIyBjaGtjb25maWc6IC0gNjAgNjAKKyMgZGVzY3JpcHRpb246IFNlbGYgTW9uaXRvcmluZyBhbmQgUmVwb3J0aW5nIFRlY2hub2xvZ3kgKFNNQVJUKSBEYWVtb24KKyMgcHJvY2Vzc25hbWU6IHNtYXJ0ZCAKKworIyBGb3IgU3VTRSBhbmQgY291c2lucworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgICAgICAgICAgc21hcnRkCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAgICAgICAgICAkc3lzbG9nICRyZW1vdGVfZnMKKyMgU2hvdWxkLVN0YXJ0OiAgICAgICAgICAgICAgIHNlbmRtYWlsCisjIFJlcXVpcmVkLVN0b3A6ICAgICAgICAgICAgICAkc3lzbG9nICRyZW1vdGVfZnMKKyMgU2hvdWxkLVN0b3A6ICAgICAgICAgICAgICAgIHNlbmRtYWlsCisjIERlZmF1bHQtU3RhcnQ6ICAgICAgICAgICAgICAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDogICAgICAgICAgICAgICAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogICAgICAgICAgTW9uaXRvcnMgZGlzayBhbmQgdGFwZSBoZWFsdGggdmlhIFMuTS5BLlIuVC4KKyMgRGVzY3JpcHRpb246ICAgICAgICAgICAgICAgIFN0YXJ0IFMuTS5BLlIuVC4gZGlzayBhbmQgdGFwZSBtb25pdG9yLgorIyMjIEVORCBJTklUIElORk8KKworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorIyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorIyBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlcgorIyB2ZXJzaW9uLiAKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKGZvcgorIyBleGFtcGxlIENPUFlJTkcpOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDY3NQorIyBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorIyBUaGlzIGNvZGUgd2FzIG9yaWdpbmFsbHkgZGV2ZWxvcGVkIGFzIGEgU2VuaW9yIFRoZXNpcyBieSBNaWNoYWVsIENvcm53ZWxsCisjIGF0IHRoZSBDb25jdXJyZW50IFN5c3RlbXMgTGFib3JhdG9yeSAobm93IHBhcnQgb2YgdGhlIFN0b3JhZ2UgU3lzdGVtcworIyBSZXNlYXJjaCBDZW50ZXIpLCBKYWNrIEJhc2tpbiBTY2hvb2wgb2YgRW5naW5lZXJpbmcsIFVuaXZlcnNpdHkgb2YKKyMgQ2FsaWZvcm5pYSwgU2FudGEgQ3J1ei4gaHR0cDovL3NzcmMuc29lLnVjc2MuZWR1Ly4KKworIyBVbmNvbW1lbnQgdGhlIGxpbmUgYmVsb3cgdG8gcGFzcyBvcHRpb25zIHRvIHNtYXJ0ZCBvbiBzdGFydHVwLiAKKyMgTm90ZSB0aGF0IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGZpbGVzIGxpa2UKKyMgL2V0Yy97ZGVmYXVsdCxzeXNjb25maWd9L3NtYXJ0bW9udG9vbHMgbWlnaHQgb3ZlcnJpZGUgdGhlc2UKKyNzbWFydGRfb3B0cz0iLS1pbnRlcnZhbD0xODAwIgorCitTTUFSVERfQklOPS91c3Ivc2Jpbi9zbWFydGQKK1NNQVJURFBJRD0vdmFyL3J1bi9zbWFydGQucGlkCitbIC14ICRTTUFSVERfQklOIF0gfHwgZXhpdCAwCitSRVQ9MAorCisjIHNvdXJjZSBjb25maWd1cmF0aW9uIGZpbGUKK1sgLXIgL2V0Yy9kZWZhdWx0L3JjUyBdICYmIC4gL2V0Yy9kZWZhdWx0L3JjUworWyAtciAvZXRjL2RlZmF1bHQvc21hcnRtb250b29scyBdICYmIC4gL2V0Yy9kZWZhdWx0L3NtYXJ0bW9udG9vbHMKKworc21hcnRkX29wdHM9Ii0tcGlkZmlsZSAkU01BUlREUElEICRzbWFydGRfb3B0cyIKKworY2FzZSAiJDEiIGluCisJc3RhcnQpCisJCWlmIFsgIiRzdGFydF9zbWFydGQiICE9ICJ5ZXMiIF07IHRoZW4KKwkJCVsgIiRWRVJCT1NFIiAhPSAibm8iIF0gJiYgZWNobyAiTm90IHN0YXJ0aW5nIFMuTS5BLlIuVC4gZGFlbW9uIHNtYXJ0ZCwgZGlzYWJsZWQgdmlhIC9ldGMvZGVmYXVsdC9zbWFydG1vbnRvb2xzIgorCQkJZXhpdCAwCisJCWZpCisJCWVjaG8gLW4gIlN0YXJ0aW5nIFMuTS5BLlIuVC4gZGFlbW9uOiBzbWFydGQiCisJCWlmIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLXBpZGZpbGUgJFNNQVJURFBJRCBcCisJCQktLWV4ZWMgJFNNQVJURF9CSU4gLS0gJHNtYXJ0ZF9vcHRzOyB0aGVuCisJCQllY2hvICIuIgorCQllbHNlCisJCQllY2hvICIgKGZhaWxlZCkiCisJCQlSRVQ9MQorCQlmaQorCQk7OworCXN0b3ApCisJCWVjaG8gLW4gIlN0b3BwaW5nIFMuTS5BLlIuVC4gZGFlbW9uOiBzbWFydGQiCisJCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tb2tub2RvIC0tcGlkZmlsZSAkU01BUlREUElECisJCWVjaG8gIi4iCisJCTs7CisJcmVzdGFydCkKKwkJJDAgc3RvcAorCQkkMCBzdGFydAorCQk7OworCWZvcmNlLXJlbG9hZCkKKwkJJDAgcmVsb2FkIHx8ICQwIHJlc3RhcnQKKwkJOzsKKwlyZWxvYWQpCisJCWVjaG8gLW4gIlJlbG9hZCBTLk0uQS5SLlQuIGRhZW1vbjogc21hcnRkIgorCQlpZiBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXNpZ25hbCAxIFwKKwkJCS0tcGlkZmlsZSAkU01BUlREUElEOyB0aGVuCisJCQllY2hvICIuIgorCQllbHNlCisJCQllY2hvICIgKGZhaWxlZCkiCisJCQlSRVQ9MQorCQlmaQorCQk7OworCXJlcG9ydCkKKwkJZWNobyAtbiAiQ2hlY2tpbmcgU01BUlQgZGV2aWNlcyBub3ciCisJCWlmIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tc2lnbmFsIDEwIFwKKwkJCS0tcGlkZmlsZSAkU01BUlREUElEOyB0aGVuCisJCQllY2hvICIuIgorCQllbHNlCisJCQllY2hvICIgKGZhaWxlZCkiCisJCQlSRVQ9MQorCQlmaQorCQk7OworCXN0YXR1cykKKwkJaWYgcGlkb2YgJFNNQVJURF9CSU4gPi9kZXYvbnVsbDsgdGhlbgorCQkJZWNobyAiJFNNQVJURF9CSU4gaXMgcnVubmluZy4iCisJCWVsc2UKKwkJCWVjaG8gIiRTTUFSVERfQklOIGlzIG5vdCBydW5uaW5nLiIKKwkJCVJFVD0xCisJCWZpCisJCTs7CisJKikKKwkJZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfHJlbG9hZHxyZXBvcnR8c3RhdHVzfSIKKwkJZXhpdCAxCitlc2FjCitleGl0ICRSRVQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvZmlsZXMvc21hcnRkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL2ZpbGVzL3NtYXJ0ZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzZGI5NDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL2ZpbGVzL3NtYXJ0ZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTIgQEAKK1tVbml0XQorRGVzY3JpcHRpb249U2VsZiBNb25pdG9yaW5nIGFuZCBSZXBvcnRpbmcgVGVjaG5vbG9neSAoU01BUlQpIERhZW1vbgorQWZ0ZXI9c3lzbG9nLnRhcmdldAorCitbU2VydmljZV0KK0Vudmlyb25tZW50RmlsZT0tQFNZU0NPTkZESVJAL3NtYXJ0bW9udG9vbHMKK0V4ZWNTdGFydD1AU0JJTkRJUkAvc21hcnRkIC1uICRzbWFydF9vcHRzCitFeGVjUmVsb2FkPUBCQVNFX0JJTkRJUkAva2lsbCAtSFVQICRNQUlOUElECitTdGFuZGFyZE91dHB1dD1zeXNsb2cKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc21hcnRtb250b29scy9maWxlcy9zbWFydG1vbnRvb2xzLmRlZmF1bHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL2ZpbGVzL3NtYXJ0bW9udG9vbHMuZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDJlMDBiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc21hcnRtb250b29scy9maWxlcy9zbWFydG1vbnRvb2xzLmRlZmF1bHQKQEAgLTAsMCArMSw2IEBACisjIHVuY29tbWVudCB0byBzdGFydCBzbWFydGQgb24gc3lzdGVtIHN0YXJ0dXAgZm9yIFN5c1YgaW5pdCBzY3JpcHQKKyMgRm9yIHN5c3RlbWQgc2VydmljZSBmaWxlLCB1c2UgYHN5c3RlbWN0bCBlbmFibGUgc21hcnRkJy4KKyNzdGFydF9zbWFydGQ9eWVzCisKKyMgdW5jb21tZW50IHRvIHBhc3MgYWRkaXRpb25hbCBvcHRpb25zIHRvIHNtYXJ0ZCBvbiBzdGFydHVwCisjc21hcnRkX29wdHM9Ii0taW50ZXJ2YWw9MTgwMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29sc182LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL3NtYXJ0bW9udG9vbHNfNi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2ZTZkOWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL3NtYXJ0bW9udG9vbHNfNi40LmJiCkBAIC0wLDAgKzEsNTQgQEAKK1NVTU1BUlkgPSAiQ29udHJvbCBhbmQgbW9uaXRvciBzdG9yYWdlIHN5c3RlbXMgdXNpbmcgUy5NLkEuUi5UIgorREVTQ1JJUFRJT04gPSBcCisiVGhlIHNtYXJ0bW9udG9vbHMgcGFja2FnZSBjb250YWlucyB0d28gdXRpbGl0eSBwcm9ncmFtcyAoc21hcnRjdGwgXAorYW5kIHNtYXJ0ZCkgdG8gY29udHJvbCBhbmQgbW9uaXRvciBzdG9yYWdlIHN5c3RlbXMgdXNpbmcgdGhlIFNlbGYtXAorTW9uaXRvcmluZywgQW5hbHlzaXMgYW5kIFJlcG9ydGluZyBUZWNobm9sb2d5IFN5c3RlbSAoU01BUlQpIGJ1aWx0IFwKK2ludG8gbW9zdCBtb2Rlcm4gQVRBIGFuZCBTQ1NJIGhhcmQgZGlza3MuIEluIG1hbnkgY2FzZXMsIHRoZXNlIFwKK3V0aWxpdGllcyB3aWxsIHByb3ZpZGUgYWR2YW5jZWQgd2FybmluZyBvZiBkaXNrIGRlZ3JhZGF0aW9uIGFuZCBmYWlsdXJlLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3NtYXJ0bW9udG9vbHMuc291cmNlZm9yZ2UubmV0LyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9zbWFydG1vbnRvb2xzL3NtYXJ0bW9udG9vbHMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2luaXRkLnNtYXJ0ZCBcCisgICAgICAgICAgIGZpbGU6Ly9zbWFydG1vbnRvb2xzLmRlZmF1bHQgXAorICAgICAgICAgICBmaWxlOi8vc21hcnRkLnNlcnZpY2UgXAorICAgICAgICAgICIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGliY2FwLW5nJywgJ2xpYmNhcC1uZycsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc2VsaW51eCcsICdzZWxpbnV4JywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAiCitQQUNLQUdFQ09ORklHW2xpYmNhcC1uZ10gPSAiLS13aXRoLWxpYmNhcC1uZz15ZXMsLS13aXRoLWxpYmNhcC1uZz1ubyxsaWJjYXAtbmciCitQQUNLQUdFQ09ORklHW3NlbGludXhdID0gIi0td2l0aC1zZWxpbnV4PXllcywtLXdpdGgtc2VsaW51eD1ubyxsaWJzZWxpbnV4IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTY4MTJjODMxMmZkMTIzZWQ0MGVmNjVhZmRlMTA0OWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWFiNzU2MDBjMWVkYTljMzRiMTMwOTdkYjcxMTM4YWIzNzZmM2RhZDhhNmE0NjY3ZmI0ZDFkMDgxZmViN2E4NSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAic21hcnRkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwkjaW5zdGFsbCB0aGUgaW5pdC5kL3NtYXJ0ZAorCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisJaW5zdGFsbCAtcCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdGQuc21hcnRkICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zbWFydGQKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKKwlpbnN0YWxsIC1wIC1tIDA2NDQgJHtXT1JLRElSfS9zbWFydG1vbnRvb2xzLmRlZmF1bHQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC9zbWFydG1vbnRvb2xzCisKKwkjaW5zdGFsbCBzeXN0ZW1kIHNlcnZpY2UgZmlsZQorCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zbWFydGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCXNlZCAtaSAtZSAncyxAQkFTRV9CSU5ESVJALCR7YmFzZV9iaW5kaXJ9LGcnIFwKKwkJLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAorCQktZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCisJCSR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3NtYXJ0ZC5zZXJ2aWNlCit9CisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJzbWFydGQiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA2MCAyIDMgNCA1IC4gc3RvcCA2MCAwIDEgNiAuIgorCitSREVQRU5EU18ke1BOfSArPSAibWFpbHgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zb2NrZXRjYW4vY2FuLXV0aWxzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NvY2tldGNhbi9jYW4tdXRpbHNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzMWUzMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zb2NrZXRjYW4vY2FuLXV0aWxzX2dpdC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIkxpbnV4IENBTiBuZXR3b3JrIGRldmVsb3BtZW50IHV0aWxpdGllcyIKK0RFU0NSSVBUSU9OID0gIkxpbnV4IENBTiBuZXR3b3JrIGRldmVsb3BtZW50IgorTElDRU5TRSA9ICJHUEx2MiAmIEJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2luY2x1ZGUvbGludXgvY2FuLmg7ZW5kbGluZT00MzttZDU9MzkwYTJjOWEzYzVlMzU5NWEwNjlhYzE0MzY1NTNlZTciCisKK0RFUEVORFMgPSAibGlic29ja2V0Y2FuIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGludXgtY2FuLyR7QlBOfS5naXQ7cHJvdG9jb2w9Z2l0O2JyYW5jaD1tYXN0ZXIiCitTUkNSRVYgPSAiNjdhMmJkY2QzMzZlNmJlY2ZhNTc4NDc0MmUxOGM4OGRiZWRkYzk3MyIKKworUFYgPSAiMC4wK2dpdHIke1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NvY2tldGNhbi9jYW51dGlscy8wMDAxLWNhbnV0aWxzLWNhbmR1bXAtQWRkLWVycm9yLWZyYW1lLXMtaGFuZGxpbmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zb2NrZXRjYW4vY2FudXRpbHMvMDAwMS1jYW51dGlscy1jYW5kdW1wLUFkZC1lcnJvci1mcmFtZS1zLWhhbmRsaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjYzM4ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zb2NrZXRjYW4vY2FudXRpbHMvMDAwMS1jYW51dGlscy1jYW5kdW1wLUFkZC1lcnJvci1mcmFtZS1zLWhhbmRsaW5nLnBhdGNoCkBAIC0wLDAgKzEsOTQgQEAKK0Zyb20gYmFiNTk1ZTM4Mjk1ZGNhZmNmYzE3YTAxMWQzZDUxZjJkZjE2MThlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuaWxLdW1hciBDaCA8YW5pbGt1bWFyQHRpLmNvbT4KK0RhdGU6IFR1ZSwgMTAgSmFuIDIwMTIgMTg6NTU6MTEgKzA1MzAKK1N1YmplY3Q6IFtQQVRDSF0gY2FudXRpbHM6IGNhbmR1bXA6IEFkZCBlcnJvciBmcmFtZSdzIGhhbmRsaW5nCisKK1RoaXMgcGF0Y2ggYWRkcyB0aGUgZXJyb3IgaGFuZGxpbmcgY2FwYWJpbGl0eSB0byBjYW5kdW1wIHV0aWxpdHkKK2J5IGFkZGluZyBlcnJvciBmbGFncyBmb3IgZGlzcGxheWluZyBhbGwga2luZCBvZiBlcnJvciBmcmFtZXMKK2xpa2UgdHhfdGltZW91dCwgbG9zdCBhcmJpdHJhdGlvbiwgY29udHJvbGxlciBwcm9ibGVtcywgYnVzZXJyb3JzLAorYnVzIHdhcm5pbmdzIGV0Yy4KKworVXNhZ2Ugb2YgY2FuZHVtcCBmb3IgZXJyb3IgZnJhbWUgZGlzcGxheSBvbiBjb25zb2xlOgorY2FuZHVtcCBbPGNhbi1pbnRlcmZhY2U+XSBbT3B0aW9uc10KK0V4OiBjYW5kdW1wIGNhbjAgLS1lcnJvcgorCitUaGlzIHBhdGNoIGlzIGNyZWF0ZWQgb24gdG9wIG9mIGNhbnV0aWxzLTQuMC42IHRhZyBmcm9tCitodHRwOi8vZ2l0LnBlbmd1dHJvbml4LmRlLz9wPXRvb2xzL2NhbnV0aWxzLmdpdAorCitTaWduZWQtb2ZmLWJ5OiBBbmlsS3VtYXIgQ2ggPGFuaWxrdW1hckB0aS5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXJjIEtsZWluZS1CdWRkZSA8bWtsQHBlbmd1dHJvbml4LmRlPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKKyBzcmMvY2FuZHVtcC5jIHwgMjAgKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NhbmR1bXAuYyBiL3NyYy9jYW5kdW1wLmMKK2luZGV4IDI1OWQ0NDIuLmMxNjQyNWIgMTAwNjQ0CistLS0gYS9zcmMvY2FuZHVtcC5jCisrKysgYi9zcmMvY2FuZHVtcC5jCitAQCAtMjAsNiArMjAsNyBAQAorIAorICNpbmNsdWRlIDxsaW51eC9jYW4uaD4KKyAjaW5jbHVkZSA8bGludXgvY2FuL3Jhdy5oPgorKyNpbmNsdWRlIDxsaW51eC9jYW4vZXJyb3IuaD4KKyAKKyBleHRlcm4gaW50IG9wdGluZCwgb3B0ZXJyLCBvcHRvcHQ7CisgCitAQCAtNDAsNiArNDEsNyBAQCBzdGF0aWMgdm9pZCBwcmludF91c2FnZShjaGFyICpwcmcpCisgCQkiIC1wLCAtLXByb3RvY29sPVBST1RPXHQiCSJDQU4gcHJvdG9jb2wgKGRlZmF1bHQgQ0FOX1JBVyA9ICVkKVxuIgorIAkJIiAgICAgLS1maWx0ZXI9aWQ6bWFza1s6aWQ6bWFza10uLi5cbiIKKyAJCSJcdFx0XHQiCQkJImFwcGx5IGZpbHRlclxuIgorKwkJIiAtZSwgLS1lcnJvclx0XHQiCQkiZHVtcCBlcnJvciBmcmFtZXMgYWxvbmcgd2l0aCBkYXRhIGZyYW1lc1xuIgorIAkJIiAtaCwgLS1oZWxwXHRcdCIJCSJ0aGlzIGhlbHBcbiIKKyAJCSIgLW8gPGZpbGVuYW1lPlx0XHQiCQkib3V0cHV0IGludG8gZmlsZW5hbWVcbiIKKyAJCSIgLWRcdFx0XHQiCQkJImRhZW1vbml6ZVxuIgorQEAgLTg2LDYgKzg4LDExIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJaW50IG5ieXRlcywgaTsKKyAJaW50IG9wdCwgb3B0ZGFlbW9uID0gMDsKKyAJdWludDMyX3QgaWQsIG1hc2s7CisrCWludCBlcnJvciA9IDA7CisrCWNhbl9lcnJfbWFza190IGVycl9tYXNrID0gKENBTl9FUlJfVFhfVElNRU9VVCB8IENBTl9FUlJfTE9TVEFSQiB8CisrCQkJCQlDQU5fRVJSX0NSVEwgfCBDQU5fRVJSX1BST1QgfAorKwkJCQkJQ0FOX0VSUl9UUlggfCBDQU5fRVJSX0FDSyB8IENBTl9FUlJfQlVTT0ZGIHwKKysJCQkJCUNBTl9FUlJfQlVTRVJST1IpOworIAorIAlzaWduYWwoU0lHUElQRSwgU0lHX0lHTik7CisgCitAQCAtOTUsNiArMTAyLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkJeyAicHJvdG9jb2wiLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgJ3AnIH0sCisgCQl7ICJ0eXBlIiwgcmVxdWlyZWRfYXJndW1lbnQsIDAsICd0JyB9LAorIAkJeyAiZmlsdGVyIiwgcmVxdWlyZWRfYXJndW1lbnQsIDAsIEZJTFRFUl9PUFRJT04gfSwKKysJCXsgImVycm9yIiwgbm9fYXJndW1lbnQsIDAsICdlJyB9LAorIAkJeyAidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCAwLCBWRVJTSU9OX09QVElPTn0sCisgCQl7IDAsIDAsIDAsIDB9LAorIAl9OworQEAgLTEyMSw2ICsxMjksMTAgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkJCXByb3RvID0gc3RydG91bChvcHRhcmcsIE5VTEwsIDApOworIAkJCWJyZWFrOworIAorKwkJY2FzZSAnZSc6CisrCQkJZXJyb3IgPSAxOworKwkJCWJyZWFrOworKworIAkJY2FzZSAnbyc6CisgCQkJb3B0b3V0ID0gb3B0YXJnOworIAkJCWJyZWFrOworQEAgLTE4Niw2ICsxOTgsMTQgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkJfQorIAl9CisgCisrCWlmIChlcnJvcikgeworKwkJaWYgKHNldHNvY2tvcHQocywgU09MX0NBTl9SQVcsIENBTl9SQVdfRVJSX0ZJTFRFUiwgJmVycl9tYXNrLAorKwkJCSAgICAgICBzaXplb2YoZXJyX21hc2spKSAhPSAwKSB7CisrCQkJcGVycm9yKCJzZXRzb2Nrb3B0Iik7CisrCQkJZXhpdCgxKTsKKysJCX0KKysJfQorKworIAlpZiAob3B0ZGFlbW9uKQorIAkJZGFlbW9uKDEsIDApOworIAllbHNlIHsKKy0tIAorMS44LjMuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zb2NrZXRjYW4vY2FudXRpbHNfNC4wLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zb2NrZXRjYW4vY2FudXRpbHNfNC4wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTE1MDhhZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NvY2tldGNhbi9jYW51dGlsc180LjAuNi5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gImNhbnV0aWxzIChQVFggZmxhdm91cikiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnBlbmd1dHJvbml4LmRlIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJsaWJzb2NrZXRjYW4iCisKK1NSQ1JFViA9ICIyOTlkZmY3ZjUzMjJiZjAzNDhkY2RkNjAwNzE5NThlYmVkZjVmMDlkIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQucGVuZ3V0cm9uaXguZGUvZ2l0L3Rvb2xzL2NhbnV0aWxzLmdpdDtwcm90b2NvbD1naXQgXAorICAgIGZpbGU6Ly8wMDAxLWNhbnV0aWxzLWNhbmR1bXAtQWRkLWVycm9yLWZyYW1lLXMtaGFuZGxpbmcucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworIyBCdXN5Ym94IGlwIGRvZXNuJ3Qgc3VwcG9ydCBjYW4gaW50ZXJmYWNlIGNvbmZpZ3VyYXRpb24sIHVzZSB0aGUgcmVhbCB0aGluZworUkRFUEVORFNfJHtQTn0gKz0gImlwcm91dGUyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc29ja2V0Y2FuL2xpYnNvY2tldGNhbi8wMDAxLVVzZS1zdHJjbXAtaW5zdGVhZC1vZi1zaXplb2Ytb24tY2hhci1zdHJpbmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zb2NrZXRjYW4vbGlic29ja2V0Y2FuLzAwMDEtVXNlLXN0cmNtcC1pbnN0ZWFkLW9mLXNpemVvZi1vbi1jaGFyLXN0cmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTYxOTZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc29ja2V0Y2FuL2xpYnNvY2tldGNhbi8wMDAxLVVzZS1zdHJjbXAtaW5zdGVhZC1vZi1zaXplb2Ytb24tY2hhci1zdHJpbmcucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSA5NDA5NGNjNGVlN2FlNTg1ZGEzZTVlN2U4M2U3ZDgyYjVkNmRlNjU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIFN0ZWluIDxhbGV4YW5kZXIuc3RlaW5Ac3lzdGVjLWVsZWN0cm9uaWMuY29tPgorRGF0ZTogV2VkLCAxNCBOb3YgMjAxMiAxMjoxMzowNiArMDEwMAorU3ViamVjdDogW1BBVENIXSBVc2Ugc3RyY21wIGluc3RlYWQgb2Ygc2l6ZW9mIG9uIGNoYXIqIHN0cmluZworCitUaGlzIGJ1ZyB3YXMgZGV0ZWN0ZWQgYnkgdGhlIGNsYW5nIHdhcm5pbmc6CitsaWJzb2NrZXRjYW4uYzozODQ6MTY6IHdhcm5pbmc6IGFyZ3VtZW50IHRvICdzaXplb2YnIGluICdzdHJuY21wJyBjYWxsCitpcyB0aGUgc2FtZSBleHByZXNzaW9uIGFzIHRoZSBzb3VyY2U7IGRpZCB5b3UgbWVhbiB0byBwcm92aWRlIGFuCitleHBsaWNpdCBsZW5ndGg/IFstV3NpemVvZi1wb2ludGVyLW1lbWFjY2Vzc10KK3NpemVvZihuYW1lKSkgIT0gMCkKK35+fn5+fn5efn5+fn4KKworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIFN0ZWluIDxhbGV4YW5kZXIuc3RlaW5Ac3lzdGVjLWVsZWN0cm9uaWMuY29tPgorU2lnbmVkLW9mZi1ieTogTWFyYyBLbGVpbmUtQnVkZGUgPG1rbEBwZW5ndXRyb25peC5kZT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCisgc3JjL2xpYnNvY2tldGNhbi5jIHwgNSArKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbGlic29ja2V0Y2FuLmMgYi9zcmMvbGlic29ja2V0Y2FuLmMKK2luZGV4IGZlZGNiZGMuLjg0MWMyZWQgMTAwNjQ0CistLS0gYS9zcmMvbGlic29ja2V0Y2FuLmMKKysrKyBiL3NyYy9saWJzb2NrZXRjYW4uYworQEAgLTM3OSw5ICszNzksOCBAQCBzdGF0aWMgaW50IGRvX2dldF9ubF9saW5rKGludCBmZCwgX191OCBhY3F1aXJlLCBjb25zdCBjaGFyICpuYW1lLCB2b2lkICpyZXMpCisgCQkJCW5sX21zZy0+bmxtc2dfbGVuIC0gTkxNU0dfTEVOR1RIKHNpemVvZihzdHJ1Y3QgaWZhZGRybXNnKSk7CisgCQkJcGFyc2VfcnRhdHRyKHRiLCBJRkxBX01BWCwgSUZMQV9SVEEoaWZpKSwgbGVuKTsKKyAKKy0JCQlpZiAoc3RybmNtcAorLQkJCSAgICAoKGNoYXIgKilSVEFfREFUQSh0YltJRkxBX0lGTkFNRV0pLCBuYW1lLAorLQkJCSAgICAgc2l6ZW9mKG5hbWUpKSAhPSAwKQorKwkJCWlmIChzdHJjbXAKKysJCQkgICAgKChjaGFyICopUlRBX0RBVEEodGJbSUZMQV9JRk5BTUVdKSwgbmFtZSkgIT0gMCkKKyAJCQkJY29udGludWU7CisgCisgCQkJaWYgKHRiW0lGTEFfTElOS0lORk9dKQorLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NvY2tldGNhbi9saWJzb2NrZXRjYW5fMC4wLjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zb2NrZXRjYW4vbGlic29ja2V0Y2FuXzAuMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4ZWY3M2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zb2NrZXRjYW4vbGlic29ja2V0Y2FuXzAuMC45LmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiQ29udHJvbCBiYXNpYyBmdW5jdGlvbnMgaW4gc29ja2V0Y2FuIGZyb20gdXNlcnNwYWNlIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wZW5ndXRyb25peC5kZSIKK1NFQ1RJT04gPSAibGlicy9uZXR3b3JrIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3JjL2xpYnNvY2tldGNhbi5jO2JlZ2lubGluZT0zO2VuZGxpbmU9MTc7bWQ1PTk3ZTM4YWRjZWQ0Mzg1ZDhmYmExYWUyNDM3Y2VkZWUxIgorCitTUkNSRVYgPSAiZTFhMjI0YmYxYzQwOWFkZjBjMDJiMDdhOTBkZWFkYTYzNGU1NGI4OCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQucGVuZ3V0cm9uaXguZGUvZ2l0L3Rvb2xzL2xpYnNvY2tldGNhbi5naXQ7cHJvdG9jb2w9Z2l0IFwKKyAgICBmaWxlOi8vMDAwMS1Vc2Utc3RyY21wLWluc3RlYWQtb2Ytc2l6ZW9mLW9uLWNoYXItc3RyaW5nLnBhdGNoIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSBzOnRlc3RzL0dOVW1ha2VmaWxlOjpnIC1lIHM6dHJ1bms6MC4wLjk6ICR7U30vY29uZmlndXJlLmFjCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zdWJzdXJmYWNlL3N1YnN1cmZhY2VfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc3Vic3VyZmFjZS9zdWJzdXJmYWNlX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMmI5ZDJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc3Vic3VyZmFjZS9zdWJzdXJmYWNlX2dpdC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIlN1YnN1cmZhY2UgaXMgYW4gb3BlbiBzb3VyY2UgZGl2ZSBsb2cgcHJvZ3JhbSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9ncGwtMi4wLnR4dDttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK0RFUEVORFMgPSAibGliZGl2ZWNvbXB1dGVyIGd0aysgbGlieG1sMiBnbGliLTIuMCBnY29uZiIKKworUE5CTEFDS0xJU1Rbc3Vic3VyZmFjZV0gPz0gIk5lZWRzIHRvIGJlIHVwZ3JhZGVkIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbmV3IGxpYmRpdmVjb21wdXRlciIKKworaW5oZXJpdCBndGstaWNvbi1jYWNoZSBjbWFrZQorCitpbmhlcml0IGdpdHBrZ3YKK1BLR1YgPSAiJHtHSVRQS0dWVEFHfSIKK1BWID0gIjQuMiIKKworU1JDUkVWID0gImY2MWVlMjBiYTM1NmVjZmM0YzViMjQ3ZjU0OGY1MmQ1ODgxNzljOTQiCitTUkNfVVJJID0gImdpdDovL3N1YnN1cmZhY2UuaG9obmRlbC5vcmcvc3Vic3VyZmFjZS5naXQiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCisjRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vaWNvbnMvaGljb2xvci9zY2FsYWJsZS9hcHBzL3N1YnN1cmZhY2Uuc3ZnIgorUlJFQ09NTUVORFNfJHtQTn1fYXBwZW5kX2xpYmMtZ2xpYmMgPSAiIGdsaWJjLWdjb252LWlzbzg4NTktMTUiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3N5c2RpZy9zeXNkaWcvMDAwMS1GaXgtYnVpbGQtd2l0aC1tdXNsLWJhY2t0cmFjZS1BUElzLWFyZS1nbGliYy1zcGVjaWZpLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc3lzZGlnL3N5c2RpZy8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wtYmFja3RyYWNlLUFQSXMtYXJlLWdsaWJjLXNwZWNpZmkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2QzZjhhMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3N5c2RpZy9zeXNkaWcvMDAwMS1GaXgtYnVpbGQtd2l0aC1tdXNsLWJhY2t0cmFjZS1BUElzLWFyZS1nbGliYy1zcGVjaWZpLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20gMjkwNzAzYTVkMjFmMzRlYTVlYzIzZWZjODE1YTlmNGRmMjQxZTdlOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDIzIE9jdCAyMDE1IDAwOjMzOjMyIC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCB3aXRoIG11c2wsIGJhY2t0cmFjZSgpIEFQSXMgYXJlIGdsaWJjIHNwZWNpZmljCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyB1c2Vyc3BhY2UvbGlic2luc3AvdXRpbHMuY3BwIHwgNCArKystCisgdXNlcnNwYWNlL2xpYnNpbnNwL3V0aWxzLmggICB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3VzZXJzcGFjZS9saWJzaW5zcC91dGlscy5jcHAgYi91c2Vyc3BhY2UvbGlic2luc3AvdXRpbHMuY3BwCitpbmRleCA4ZjIzZjljLi5jNDk2YTU3IDEwMDY0NAorLS0tIGEvdXNlcnNwYWNlL2xpYnNpbnNwL3V0aWxzLmNwcAorKysrIGIvdXNlcnNwYWNlL2xpYnNpbnNwL3V0aWxzLmNwcAorQEAgLTIxLDcgKzIxLDkgQEAgYWxvbmcgd2l0aCBzeXNkaWcuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgI2luY2x1ZGUgPGxpbWl0cy5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKysjaWZkZWYgX19HTElCQ19fCisgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CisrI2VuZGlmCisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorICNpbmNsdWRlIDxzeXMvdGltZS5oPgorICNpbmNsdWRlIDxuZXRkYi5oPgorQEAgLTc0MSw3ICs3NDMsNyBAQCB1aW50NjRfdCBzaW5zcF91dGlsczo6Z2V0X2N1cnJlbnRfdGltZV9ucygpCisgICAgIHJldHVybiB0di50dl9zZWMgKiAodWludDY0X3QpIDEwMDAwMDAwMDAgKyB0di50dl91c2VjICogMTAwMDsKKyB9CisgCistI2lmbmRlZiBfV0lOMzIKKysjaWYgZGVmaW5lZChfV0lOMzIpICYmIGRlZmluZWQoX19HTElCQ19fKQorIHZvaWQgc2luc3BfdXRpbHM6OmJ0KHZvaWQpCisgeworIAlzdGF0aWMgY29uc3QgY2hhciBzdGFydFtdID0gIkJBQ0tUUkFDRSAtLS0tLS0tLS0tLS0iOworZGlmZiAtLWdpdCBhL3VzZXJzcGFjZS9saWJzaW5zcC91dGlscy5oIGIvdXNlcnNwYWNlL2xpYnNpbnNwL3V0aWxzLmgKK2luZGV4IDYwMGQwMGIuLjRhYjQ2NTAgMTAwNjQ0CistLS0gYS91c2Vyc3BhY2UvbGlic2luc3AvdXRpbHMuaAorKysrIGIvdXNlcnNwYWNlL2xpYnNpbnNwL3V0aWxzLmgKK0BAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKKyAKKyAJc3RhdGljIHVpbnQ2NF90IGdldF9jdXJyZW50X3RpbWVfbnMoKTsKKyAKKy0jaWZuZGVmIF9XSU4zMgorKyNpZiBub3QgZGVmaW5lZChfV0lOMzIpICYmIGRlZmluZWQoX19HTElCQ19fKQorIAkvLworIAkvLyBQcmludCB0aGUgY2FsbCBzdGFjaworIAkvLworLS0gCisyLjYuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zeXNkaWcvc3lzZGlnLzAwMDEtbGlic2luc3AtUG9ydC10by1idWlsZC13aXRoLWx1YS01LjIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zeXNkaWcvc3lzZGlnLzAwMDEtbGlic2luc3AtUG9ydC10by1idWlsZC13aXRoLWx1YS01LjIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZlYzBjYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3N5c2RpZy9zeXNkaWcvMDAwMS1saWJzaW5zcC1Qb3J0LXRvLWJ1aWxkLXdpdGgtbHVhLTUuMi5wYXRjaApAQCAtMCwwICsxLDEwOCBAQAorRnJvbSBjMjc4MmE2Y2E5NjgxOTBlMjIxYzI1YjA4OTA2MDBiYThjZDQzNzk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjMgT2N0IDIwMTUgMDA6MjM6MTUgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gbGlic2luc3A6IFBvcnQgdG8gYnVpbGQgd2l0aCBsdWEgPj0gNS4yCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyB1c2Vyc3BhY2UvbGlic2luc3AvY2hpc2VsLmNwcCB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS91c2Vyc3BhY2UvbGlic2luc3AvY2hpc2VsLmNwcCBiL3VzZXJzcGFjZS9saWJzaW5zcC9jaGlzZWwuY3BwCitpbmRleCAzY2ZiZDhkLi4yZGI5MzQ4IDEwMDY0NAorLS0tIGEvdXNlcnNwYWNlL2xpYnNpbnNwL2NoaXNlbC5jcHAKKysrKyBiL3VzZXJzcGFjZS9saWJzaW5zcC9jaGlzZWwuY3BwCitAQCAtOTQsNyArOTQsNyBAQCB2b2lkIGx1YV9zdGFja2R1bXAobHVhX1N0YXRlICpMKQorIC8vIEx1YSBjYWxsYmFja3MKKyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgI2lmZGVmIEhBU19MVUFfQ0hJU0VMUworLWNvbnN0IHN0YXRpYyBzdHJ1Y3QgbHVhTF9yZWcgbGxfc3lzZGlnIFtdID0gCisrY29uc3Qgc3RhdGljIHN0cnVjdCBsdWFMX1JlZyBsbF9zeXNkaWcgW10gPQorIHsKKyAJeyJzZXRfZmlsdGVyIiwgJmx1YV9jYmFja3M6OnNldF9nbG9iYWxfZmlsdGVyfSwKKyAJeyJzZXRfc25hcGxlbiIsICZsdWFfY2JhY2tzOjpzZXRfc25hcGxlbn0sCitAQCAtMTIwLDcgKzEyMCw3IEBAIGNvbnN0IHN0YXRpYyBzdHJ1Y3QgbHVhTF9yZWcgbGxfc3lzZGlnIFtdID0KKyAJe05VTEwsTlVMTH0KKyB9OworIAorLWNvbnN0IHN0YXRpYyBzdHJ1Y3QgbHVhTF9yZWcgbGxfY2hpc2VsIFtdID0gCisrY29uc3Qgc3RhdGljIHN0cnVjdCBsdWFMX1JlZyBsbF9jaGlzZWwgW10gPQorIHsKKyAJeyJyZXF1ZXN0X2ZpZWxkIiwgJmx1YV9jYmFja3M6OnJlcXVlc3RfZmllbGR9LAorIAl7InNldF9maWx0ZXIiLCAmbHVhX2NiYWNrczo6c2V0X2ZpbHRlcn0sCitAQCAtMTMxLDcgKzEzMSw3IEBAIGNvbnN0IHN0YXRpYyBzdHJ1Y3QgbHVhTF9yZWcgbGxfY2hpc2VsIFtdID0KKyAJe05VTEwsTlVMTH0KKyB9OworIAorLWNvbnN0IHN0YXRpYyBzdHJ1Y3QgbHVhTF9yZWcgbGxfZXZ0IFtdID0gCisrY29uc3Qgc3RhdGljIHN0cnVjdCBsdWFMX1JlZyBsbF9ldnQgW10gPQorIHsKKyAJeyJmaWVsZCIsICZsdWFfY2JhY2tzOjpmaWVsZH0sCisgCXsiZ2V0X251bSIsICZsdWFfY2JhY2tzOjpnZXRfbnVtfSwKK0BAIC04NTMsMTAgKzg1MywyOCBAQCBib29sIHNpbnNwX2NoaXNlbDo6cGFyc2Vfdmlld19pbmZvKGx1YV9TdGF0ZSAqbHMsIE9VVCBjaGlzZWxfZGVzYyogY2QpCisgCisgCisgI2lmZGVmIEhBU19MVUFfQ0hJU0VMUworK3N0YXRpYyB2b2lkIGNoaXNlbF9sdWFfcmVnaXN0ZXJsaWIobHVhX1N0YXRlICpMLCBjb25zdCBjaGFyICpsaWJuYW1lLAorKwkJCQljb25zdCBsdWFMX1JlZyAqbCwgaW50IGluZCkKKyt7CisrI2lmIExVQV9WRVJTSU9OX05VTSA+PSA1MDIKKysJaWYgKGxpYm5hbWUpCisrCXsKKysJCWx1YV9uZXd0YWJsZShMKTsKKysJCWx1YUxfc2V0ZnVuY3MoTCwgbCwgaW5kKTsKKysJCWx1YV9wdXNodmFsdWUoTCwgLTEpOworKwkJbHVhX3NldGdsb2JhbChMLCBsaWJuYW1lKTsKKysJfQorKwllbHNlCisrCQlsdWFMX3NldGZ1bmNzKEwsIGwsIGluZCk7CisrI2Vsc2UKKysJbHVhTF9yZWdpc3RlcihMLCBsaWJuYW1lLCBsKTsKKysjZW5kaWYKKyt9CisrCisgLy8gSW5pdGlhbGl6ZXMgYSBsdWEgY2hpc2VsCisgYm9vbCBzaW5zcF9jaGlzZWw6OmluaXRfbHVhX2NoaXNlbChjaGlzZWxfZGVzYyAmY2QsIHN0cmluZyBjb25zdCAmZnBhdGgpCisgeworLQlsdWFfU3RhdGUqIGxzID0gbHVhX29wZW4oKTsKKysJbHVhX1N0YXRlKiBscyA9IGx1YUxfbmV3c3RhdGUoKTsKKyAJaWYobHMgPT0gTlVMTCkKKyAJeworIAkJcmV0dXJuIGZhbHNlOworQEAgLTg2Nyw5ICs4ODUsOSBAQCBib29sIHNpbnNwX2NoaXNlbDo6aW5pdF9sdWFfY2hpc2VsKGNoaXNlbF9kZXNjICZjZCwgc3RyaW5nIGNvbnN0ICZmcGF0aCkKKyAJLy8KKyAJLy8gTG9hZCBvdXIgb3duIGx1YSBsaWJzCisgCS8vCistCWx1YUxfb3BlbmxpYihscywgInN5c2RpZyIsIGxsX3N5c2RpZywgMCk7CistCWx1YUxfb3BlbmxpYihscywgImNoaXNlbCIsIGxsX2NoaXNlbCwgMCk7CistCWx1YUxfb3BlbmxpYihscywgImV2dCIsIGxsX2V2dCwgMCk7CisrCWNoaXNlbF9sdWFfcmVnaXN0ZXJsaWIobHMsICJzeXNkaWciLCBsbF9zeXNkaWcsIDApOworKwljaGlzZWxfbHVhX3JlZ2lzdGVybGliKGxzLCAiY2hpc2VsIiwgbGxfY2hpc2VsLCAwKTsKKysJY2hpc2VsX2x1YV9yZWdpc3RlcmxpYihscywgImV2dCIsIGxsX2V2dCwgMCk7CisgCisgCS8vCisgCS8vIEFkZCBvdXIgY2hpc2VsIHBhdGhzIHRvIHBhY2thZ2UucGF0aAorQEAgLTExMTEsMTYgKzExMjksMTYgQEAgdm9pZCBzaW5zcF9jaGlzZWw6OmxvYWQoc3RyaW5nIGNtZHN0cikKKyAJLy8KKyAJLy8gT3BlbiB0aGUgc2NyaXB0CisgCS8vCistCW1fbHMgPSBsdWFfb3BlbigpOworKwltX2xzID0gbHVhTF9uZXdzdGF0ZSgpOworICAKKyAJbHVhTF9vcGVubGlicyhtX2xzKTsKKyAKKyAJLy8KKyAJLy8gTG9hZCBvdXIgb3duIGx1YSBsaWJzCisgCS8vCistCWx1YUxfb3BlbmxpYihtX2xzLCAic3lzZGlnIiwgbGxfc3lzZGlnLCAwKTsKKy0JbHVhTF9vcGVubGliKG1fbHMsICJjaGlzZWwiLCBsbF9jaGlzZWwsIDApOworLQlsdWFMX29wZW5saWIobV9scywgImV2dCIsIGxsX2V2dCwgMCk7CisrCWNoaXNlbF9sdWFfcmVnaXN0ZXJsaWIobV9scywgInN5c2RpZyIsIGxsX3N5c2RpZywgMCk7CisrCWNoaXNlbF9sdWFfcmVnaXN0ZXJsaWIobV9scywgImNoaXNlbCIsIGxsX2NoaXNlbCwgMCk7CisrCWNoaXNlbF9sdWFfcmVnaXN0ZXJsaWIobV9scywgImV2dCIsIGxsX2V2dCwgMCk7CisgCisgCS8vCisgCS8vIEFkZCBvdXIgY2hpc2VsIHBhdGhzIHRvIHBhY2thZ2UucGF0aAorLS0gCisyLjYuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zeXNkaWcvc3lzZGlnX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3N5c2RpZy9zeXNkaWdfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxN2ZhYjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zeXNkaWcvc3lzZGlnX2dpdC5iYgpAQCAtMCwwICsxLDM1IEBACitTVU1NQVJZID0gIkEgTmV3IFN5c3RlbSBUcm91Ymxlc2hvb3RpbmcgVG9vbCBCdWlsdCBmb3IgdGhlIFdheSBZb3UgV29yayIKK0RFU0NSSVBUSU9OID0gIlN5c2RpZyBpcyBvcGVuIHNvdXJjZSwgc3lzdGVtLWxldmVsIGV4cGxvcmF0aW9uOiBjYXB0dXJlIFwKK3N5c3RlbSBzdGF0ZSBhbmQgYWN0aXZpdHkgZnJvbSBhIHJ1bm5pbmcgTGludXggaW5zdGFuY2UsIHRoZW4gc2F2ZSwgXAorZmlsdGVyIGFuZCBhbmFseXplLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc3lzZGlnLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCisKK0RFUEVORFMgPSAibHVhaml0IHpsaWIgbmN1cnNlcyIKK1JERVBFTkRTXyR7UE59ID0gImJhc2giCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9kcmFpb3Mvc3lzZGlnLmdpdDticmFuY2g9bWFzdGVyIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbGlic2luc3AtUG9ydC10by1idWlsZC13aXRoLWx1YS01LjIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYnVpbGQtd2l0aC1tdXNsLWJhY2t0cmFjZS1BUElzLWFyZS1nbGliYy1zcGVjaWZpLnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNSRVYgPSAiODVkMTZmMzNhODJhMTdmODdjY2RiYzA4ODc0OTI3MWM3MWQ4NzAxMyIKK1BWID0gIjAuMS4xMDIrZ2l0JHtTUkNQVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RJUl9FVEM9Ii9ldGMiCitFWFRSQV9PRUNNQUtFID0gJyAtRFVTRV9CVU5ETEVEX0xVQUpJVD0iT0ZGIiBcCisgICAgICAgICAgICAgICAgICAtRFVTRV9CVU5ETEVEX1pMSUI9Ik9GRiIgXAorICAgICAgICAgICAgICAgICAgLURCVUlMRF9EUklWRVI9Ik9GRiIgXAorICAgICAgICAgICAgICAgICAgLURVU0VfQlVORExFRF9OQ1VSU0VTPSJPRkYiIFwKKyAgICAgICAgICAgICAgICAgIC1ERElSX0VUQz0iJHtESVJfRVRDfSIgXAorICAgICAgICAgICAgICAgICcKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtESVJfRVRDfS8qIFwKKyAgICAke2RhdGFkaXJ9L3pzaC8qIFwgCisgICAgJHtwcmVmaXh9L3NyYy8qICBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90MWxpYi90MWxpYi01LjEuMi9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90MWxpYi90MWxpYi01LjEuMi9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI5ODcwNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3QxbGliL3QxbGliLTUuMS4yL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDEyOCBAQAorCisjCisjIFBhdGNoIG1hbmFnZWQgYnkgaHR0cDovL3d3dy5ob2xnZXJzY2h1cmlnLmRlL3BhdGNoZXIuaHRtbAorIworCistLS0gdDFsaWItNS4wLjIvY29uZmlndXJlLmlufmNvbmZpZ3VyZS5wYXRjaAorKysrIHQxbGliLTUuMC4yL2NvbmZpZ3VyZS5pbgorQEAgLTc1LDkgKzc1LDkgQEAKKyBUMUxJQl9WRVJTSU9OU1RSSU5HPVwiTUFDUk9fVDFMSUJfSURFTlRJRklFUlwiCisgCisgCistZG5sIFdlIHVzZSB0aGlzIGZpbGUgYnkgQW5kcmVhcyBaZWxsZXIgdG8gY2hlY2sgZm9yIGxpYlhhdworLWJ1aWx0aW4oaW5jbHVkZSwgYWMtdG9vbHMvaWNlX2ZpbmRfYXRoZW5hLm00KQorLWJ1aWx0aW4oaW5jbHVkZSwgYWMtdG9vbHMvYWNsb2NhbC5tNCkKKysjZG5sIFdlIHVzZSB0aGlzIGZpbGUgYnkgQW5kcmVhcyBaZWxsZXIgdG8gY2hlY2sgZm9yIGxpYlhhdworKyNidWlsdGluKGluY2x1ZGUsIGFjLXRvb2xzL2ljZV9maW5kX2F0aGVuYS5tNCkKKysjYnVpbHRpbihpbmNsdWRlLCBhYy10b29scy9hY2xvY2FsLm00KQorIAorIGRubCBXZSB3YW50IHRoZXNlIGJlZm9yZSB0aGUgY2hlY2tzLCBzbyB0aGUgY2hlY2tzIGNhbiBtb2RpZnkgdGhlaXIgdmFsdWVzLgorIHRlc3QgLXogIiRMRExJQlMiICYmIExETElCUz0tbG0gICBBQ19TVUJTVChMRExJQlMpCitAQCAtMTYxLDYgKzE2MSw3IEBACisgCisgZG5sICoqKiogQ2hlY2sgZm9yIHVuZGVyc2NvcmUgb24gZXh0ZXJuYWwgc3ltYm9scyAqKioqCisgCisrQUhfVEVNUExBVEUoW05FRURfVU5ERVJTQ09SRV9QUkVGSVhdLCBbRGVmaW5lIGlmIGV4dGVybmFsIHN5bWJvbHMgbmVlZCBhbiB1bmRlcnNjb3JlIHByZWZpeF0pCisgQUNfQ0FDSEVfQ0hFQ0soIndoZXRoZXIgZXh0ZXJuYWwgc3ltYm9scyBuZWVkIGFuIHVuZGVyc2NvcmUgcHJlZml4IiwKKyAgICAgICAgICAgICAgICBhY19jdl9jX2V4dGVybl9wcmVmaXgsCisgW3NhdmVkX2xpYnM9JExJQlMKK0BAIC0xNzgsNjggKzE3OSw0OCBAQAorICAgQUNfREVGSU5FKE5FRURfVU5ERVJTQ09SRV9QUkVGSVgpCisgZmkKKyAKKy1kbmwgKioqKiBDaGVjayB3aGljaCBBTlNJIGludGVnZXIgdHlwZSBpcyAxNiBiaXQgCisrZG5sICoqKiogQ2hlY2sgd2hpY2ggQU5TSSBpbnRlZ2VyIHR5cGUgaXMgMTYgYml0CisrVDFfQUFfVFlQRTE2PSIiCisrZm9yIHR5cGUgaW4gc2hvcnQgaW50OyBkbworKwlpZiB0ZXN0IHgiYGV2YWwgZWNobyBcXCRhY19jdl9zaXplb2ZfJHR5cGVgIiA9ICJ4MiI7IHRoZW4KKysJCVQxX0FBX1RZUEUxNj0iLURUMV9BQV9UWVBFMTY9JHR5cGUiCisrCQlUMV9JTlQxNj0iJHR5cGUiCisrCQlicmVhaworKwlmaQorK2RvbmUKKyAKKy1BQ19DQUNIRV9DSEVDSyggIndoaWNoIEFOU0kgaW50ZWdlciB0eXBlIGlzIDE2IGJpdCIsIGFjXzE2Yml0X3R5cGUsCistCQlBQ19UUllfUlVOKFsKKy1pbnQgbWFpbih2b2lkKSB7CistICBpZiAoc2l6ZW9mKHNob3J0KT09MikKKy0gICAgcmV0dXJuKDApOworLSAgZWxzZSBpZiAoc2l6ZW9mKGludCk9PTIpCistICAgIHJldHVybigxKTsKKy0gIGVsc2UKKy0gICAgcmV0dXJuKDIpOworLX1dLCBhY18xNmJpdF90eXBlPSJzaG9ydCIsIGFjXzE2Yml0X3R5cGU9ImludCIsIGFjXzE2Yml0X3R5cGU9KSkKKy1pZiB0ZXN0ICIkYWNfMTZiaXRfdHlwZSIgPSAic2hvcnQiCistdGhlbgorLSAgVDFfQUFfVFlQRTE2PSItRFQxX0FBX1RZUEUxNj1zaG9ydCIKKy0gIFQxX0lOVDE2PSJzaG9ydCIKKy1lbHNlCistICBUMV9BQV9UWVBFMTY9Ii1EVDFfQUFfVFlQRTE2PWludCIKKy0gIFQxX0lOVDE2PSJpbnQiCisraWYgdGVzdCB4IiRUMV9BQV9UWVBFMTYiID0gIngiOyB0aGVuCisrCUFDX01TR19FUlJPUigiVW5hYmxlIHRvIGRldGVybWluZSB3aGljaCBpbnRlZ2VyIHR5cGUgaXMgMTYgYml0LiIpCisgZmkKKyAKKy0KKyBkbmwgKioqKiBDaGVjayB3aGljaCBBTlNJIGludGVnZXIgdHlwZSBpcyAzMiBiaXQgCisrVDFfQUFfVFlQRTMyPSIiCisrZm9yIHR5cGUgaW4gaW50IGxvbmc7IGRvCisrCWlmIHRlc3QgeCJgZXZhbCBlY2hvIFxcJGFjX2N2X3NpemVvZl8kdHlwZWAiID0gIng0IjsgdGhlbgorKwkJVDFfQUFfVFlQRTMyPSItRFQxX0FBX1RZUEUzMj0kdHlwZSIKKysJCVQxX0lOVDMyPSIkdHlwZSIKKysJCWJyZWFrCisrCWZpCisrZG9uZQorIAorLUFDX0NBQ0hFX0NIRUNLKCAid2hpY2ggQU5TSSBpbnRlZ2VyIHR5cGUgaXMgMzIgYml0IiwgYWNfMzJiaXRfdHlwZSwKKy0JCUFDX1RSWV9SVU4oWworLWludCBtYWluKHZvaWQpIHsKKy0gIGlmIChzaXplb2YoaW50KT09NCkKKy0gICAgcmV0dXJuKDApOworLSAgZWxzZSBpZiAoc2l6ZW9mKGxvbmcpPT00KQorLSAgICByZXR1cm4oMSk7CistICBlbHNlCistICAgIHJldHVybigyKTsKKy19XSwgYWNfMzJiaXRfdHlwZT0iaW50IiwgYWNfMzJiaXRfdHlwZT0ibG9uZyIsIGFjXzMyYml0X3R5cGU9KSkKKy1pZiB0ZXN0ICIkYWNfMzJiaXRfdHlwZSIgPSAiaW50IgorLXRoZW4KKy0gIFQxX0FBX1RZUEUzMj0iLURUMV9BQV9UWVBFMzI9aW50IgorLSAgVDFfSU5UMzI9ImludCIKKy1lbHNlCistICBUMV9BQV9UWVBFMzI9Ii1EVDFfQUFfVFlQRTMyPWxvbmciCistICBUMV9JTlQzMj0ibG9uZyIKKytpZiB0ZXN0IHgiJFQxX0FBX1RZUEUzMiIgPSAieCI7IHRoZW4KKysJQUNfTVNHX0VSUk9SKCJVbmFibGUgdG8gZGV0ZXJtaW5lIHdoaWNoIGludGVnZXIgdHlwZSBpcyAzMiBiaXQuIikKKyBmaQorIAorLQorIGRubCAqKioqIENoZWNrIHdoaWNoIEFOU0kgaW50ZWdlciB0eXBlIGlzIDY0IGJpdCAKKytUMV9BQV9UWVBFNjQ9IiIKKytmb3IgdHlwZSBpbiBsb25nIGxvbmdfbG9uZzsgZG8KKysJaWYgdGVzdCB4ImBldmFsIGVjaG8gXFwkYWNfY3Zfc2l6ZW9mXyR0eXBlYCIgPSAieDgiOyB0aGVuCisrCQlBQ19NU0dfV0FSTigiJHR5cGUgaXMgNjQgYml0IikKKysJCVQxX0FBX1RZUEU2ND0iLURUMV9BQV9UWVBFNjQ9XCJgZWNobyAkdHlwZXx0ciAnXycgJyAnYFwiIgorKwkJYnJlYWsKKysJZmkKKytkb25lCisgCistQUNfQ0FDSEVfQ0hFQ0soICJ3aGljaCBBTlNJIGludGVnZXIgdHlwZSBpcyA2NCBiaXQiLCBhY182NGJpdF90eXBlLAorLQkJQUNfVFJZX1JVTihbCistaW50IG1haW4odm9pZCkgeworLSAgaWYgKHNpemVvZihsb25nKT09OCkKKy0gICAgcmV0dXJuKDApOworLSAgZWxzZQorLSAgICByZXR1cm4oMSk7CistfV0sIGFjXzY0Yml0X3R5cGU9ImxvbmciLCBhY182NGJpdF90eXBlPSI8bm9uZT4iKSkKKy1pZiB0ZXN0ICIkYWNfNjRiaXRfdHlwZSIgPSAibG9uZyIKKy10aGVuCistICBUMV9BQV9UWVBFNjQ9Ii1EVDFfQUFfVFlQRTY0PWxvbmciCistZWxzZQorLSAgVDFfQUFfVFlQRTY0PQorK2lmIHRlc3QgeCIkVDFfQUFfVFlQRTY0IiA9ICJ4IjsgdGhlbgorKwlBQ19NU0dfRVJST1IoIlVuYWJsZSB0byBkZXRlcm1pbmUgd2hpY2ggaW50ZWdlciB0eXBlIGlzIDY0IGJpdC4iKQorIGZpCisgCistCisgQ0ZMQUdTPSIke0NGTEFHU30gLURUMUxJQl9JREVOVD1cIlxcXCIke1QxTElCX0lERU5USUZJRVJ9XFxcIlwiIC1ER0xPQkFMX0NPTkZJR19ESVI9XCJcXFwiJHtUMUxJQl9EQVRBX0RJUn1cXFwiXCIiCisgCisgZG5sICoqKiogQ2hlY2sgZm9yIGZ1bmN0aW9ucyBhbmQgaGVhZGVyIGZpbGVzICoqKioKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3QxbGliL3QxbGliLTUuMS4yL2xpYnRvb2wucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90MWxpYi90MWxpYi01LjEuMi9saWJ0b29sLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNTAwMjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90MWxpYi90MWxpYi01LjEuMi9saWJ0b29sLnBhdGNoCkBAIC0wLDAgKzEsMTE2IEBACisKKyMKKyMgUGF0Y2ggbWFuYWdlZCBieSBodHRwOi8vd3d3LmhvbGdlcnNjaHVyaWcuZGUvcGF0Y2hlci5odG1sCisjCisKKy0tLSB0MWxpYi01LjAuMi9NYWtlZmlsZS5pbn5saWJ0b29sCisrKysgdDFsaWItNS4wLjIvTWFrZWZpbGUuaW4KK0BAIC0xOCw3ICsxOCw4IEBACisgIyBMYXN0IG1vZGlmaWVkOiAgICAgICAyMDAxLTA0LTAxCisgIworIAorLVNIRUxMICAgICA9IC9iaW4vc2gKKytTSEVMTCAgICAgPSBAU0hFTExACisrTElCVE9PTCAgID0gQExJQlRPT0xACisgQ0MgICAgICAgID0gQENDQAorIENQUCAgICAgICA9IEBDUFBACisgQ0ZMQUdTICAgID0gQENGTEFHU0AKK0BAIC0xNTAsNyArMTUxLDcgQEAKKyAJJChSTSkgZXhhbXBsZXMvTWFrZWZpbGUKKyAJJChSTSkgeGdseXBoL01ha2VmaWxlCisgCSQoUk0pIGRvYy9NYWtlZmlsZQorLQkkKFJNKSBsaWJ0b29sCisrCSQoUk0pICQoTElCVE9PTCkKKyAKKyAKKyAjIFRoZSBmb2xsb3dpbmcgdHdvIHRhcmdldHMgYXJlIGZvciBidWlsZGluZyBhbmQgY2xlYW5pbmcgdGhlIHB5dGhvbi0KKy0tLSB0MWxpYi01LjAuMi9leGFtcGxlcy9NYWtlZmlsZS5pbn5saWJ0b29sCisrKysgdDFsaWItNS4wLjIvZXhhbXBsZXMvTWFrZWZpbGUuaW4KK0BAIC0xNCw5ICsxNCwxMCBAQAorICMgTGFzdCBtb2RpZmllZDogICAgICAgMjAwMS0wNC0wMQorICMKKyAKKyt0b3BfYnVpbGRkaXIgPSBAdG9wX2J1aWxkZGlyQAorIAorLUxJQlRPT0wgICA9IC4uL2xpYnRvb2wKKy1TSEVMTCAgICAgPSAvYmluL3NoCisrTElCVE9PTCAgID0gQExJQlRPT0xACisrU0hFTEwgICAgID0gQFNIRUxMQAorIENDICAgICAgICA9IEBDQ0AKKyBDUFAgICAgICAgPSBAQ1BQQAorIENGTEFHUyAgICA9IEBDRkxBR1NACistLS0gdDFsaWItNS4wLjIvbGliL01ha2VmaWxlLmlufmxpYnRvb2wKKysrKyB0MWxpYi01LjAuMi9saWIvTWFrZWZpbGUuaW4KK0BAIC0xNSw4ICsxNSwxMCBAQAorICMKKyAjIENvbnRyaWJ1dGlvbnMgYnkgSC5LYWt1Z2F3YSB0byB1c2UgbGlidG9vbCEKKyAKKy1MSUJUT09MICAgPSAuLi9saWJ0b29sCistU0hFTEwgICAgID0gL2Jpbi9zaAorK3RvcF9idWlsZGRpciA9IEB0b3BfYnVpbGRkaXJACisrCisrTElCVE9PTCAgID0gQExJQlRPT0xACisrU0hFTEwgICAgID0gQFNIRUxMQAorIENDICAgICAgICA9IEBDQ0AKKyBDUFAgICAgICAgPSBAQ1BQQAorIENGTEFHUyAgICA9IEBDRkxBR1NACistLS0gdDFsaWItNS4wLjIvbGliL3QxbGliL01ha2VmaWxlLmlufmxpYnRvb2wKKysrKyB0MWxpYi01LjAuMi9saWIvdDFsaWIvTWFrZWZpbGUuaW4KK0BAIC0xNCw4ICsxNCwxMCBAQAorICMKKyAjIE1vZGlmaWVkIGJ5IEguS2FrdWdhd2EgdG8gdXNlIGxpYnRvb2wKKyAKKy1MSUJUT09MICAgPSAuLi8uLi9saWJ0b29sCistU0hFTEwgICAgID0gL2Jpbi9zaAorK3RvcF9idWlsZGRpciA9IEB0b3BfYnVpbGRkaXJACisrCisrTElCVE9PTCAgID0gQExJQlRPT0xACisrU0hFTEwgICAgID0gQFNIRUxMQAorIENDICAgICAgICA9IEBDQ0AKKyBDUFAgICAgICAgPSBAQ1BQQAorIENGTEFHUyAgICA9IEBDRkxBR1NACistLS0gdDFsaWItNS4wLjIvbGliL3R5cGUxL01ha2VmaWxlLmlufmxpYnRvb2wKKysrKyB0MWxpYi01LjAuMi9saWIvdHlwZTEvTWFrZWZpbGUuaW4KK0BAIC0xNCw4ICsxNCwxMCBAQAorICMKKyAjIE1vZGlmaWVkIGJ5IEguS2FrdWdhd2EgdG8gdXNlIGxpYnRvb2wKKyAKKy1MSUJUT09MICAgPSAuLi8uLi9saWJ0b29sCistU0hFTEwgICAgID0gL2Jpbi9zaAorK3RvcF9idWlsZGRpciA9IEB0b3BfYnVpbGRkaXJACisrCisrTElCVE9PTCAgID0gQExJQlRPT0xACisrU0hFTEwgICAgID0gQFNIRUxMQAorIENDICAgICAgICA9IEBDQ0AKKyBDUFAgICAgICAgPSBAQ1BQQAorIENGTEFHUyAgICA9IEBDRkxBR1NACistLS0gdDFsaWItNS4wLjIvdHlwZTFhZm0vTWFrZWZpbGUuaW5+bGlidG9vbAorKysrIHQxbGliLTUuMC4yL3R5cGUxYWZtL01ha2VmaWxlLmluCitAQCAtMTUsOCArMTUsMTAgQEAKKyAjCisgIyBNb2RpZmllZCBieSBILktha3VnYXdhIHRvIHVzZSBsaWJ0b29sCisgCistTElCVE9PTCAgID0gLi4vbGlidG9vbAorLVNIRUxMICAgICA9IC9iaW4vc2gKKyt0b3BfYnVpbGRkaXIgPSBAdG9wX2J1aWxkZGlyQAorKworK0xJQlRPT0wgICA9IEBMSUJUT09MQAorK1NIRUxMICAgICA9IEBTSEVMTEAKKyBDQyAgICAgICAgPSBAQ0NACisgQ1BQICAgICAgID0gQENQUEAKKyBDRkxBR1MgICAgPSBAQ0ZMQUdTQAorLS0tIHQxbGliLTUuMC4yL3hnbHlwaC9NYWtlZmlsZS5pbn5saWJ0b29sCisrKysgdDFsaWItNS4wLjIveGdseXBoL01ha2VmaWxlLmluCitAQCAtMTUsOCArMTUsMTAgQEAKKyAjCisgIyBNb2RpZmllZCBieSBILktha3VnYXdhIHRvIHVzZSBsaWJ0b29sCisgCistTElCVE9PTCAgID0gLi4vbGlidG9vbAorLVNIRUxMICAgICA9IC9iaW4vc2gKKyt0b3BfYnVpbGRkaXIgPSBAdG9wX2J1aWxkZGlyQAorKworK0xJQlRPT0wgICA9IEBMSUJUT09MQAorK1NIRUxMICAgICA9IEBTSEVMTEAKKyBDQyAgICAgICAgPSBAQ0NACisgQ1BQICAgICAgID0gQENQUEAKKyBDRkxBR1MgICAgPSBAQ0ZMQUdTQApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdDFsaWIvdDFsaWJfNS4xLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90MWxpYi90MWxpYl81LjEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDY3MGE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdDFsaWIvdDFsaWJfNS4xLjIuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJBIFR5cGUxIEZvbnQgUmFzdGVyaW5nIExpYnJhcnkiCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGxpYnhhdyIKKworTElDRU5TRSA9ICJMR1BMdjIgJiBHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xHUEw7bWQ1PTZlMjljNjg4ZDkxMmRhMTJiNjZiNzNlMzJiMDNkODEyIFwKKyIKKworU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vdC90MWxpYi90MWxpYl8ke1BWfS5vcmlnLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbGlidG9vbC5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNTYyOWI1NmI5MzEzNDM3NzcxODAwOWRmMTQzNWYzYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4MjEzMjhiNTA1NGY3ODkwYTBkMGNkMmY1MjgyNTI3MDcwNWRmMzY0MWRiZDQ3NmQ1OGQxN2U1NmVkOTU3YjU5IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKKyMgRml4IEdOVV9IQVNIIHByb2JsZW0KK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXggLS13aXRob3V0LWF0aGVuYSIKK0VYVFJBX09FTUFLRSA9ICJ3aXRob3V0X2RvYyIKKworRklMRVNfJHtQTn0gKz0gIiAke2RhdGFkaXJ9L3QxbGliL3QxbGliLmNvbmZpZyIKK0ZJTEVTXyR7UE59LWRvYyA9ICIke2RhdGFkaXJ9L3QxbGliL2RvYy90MWxpYl9kb2MucGRmIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzLzAxX2J1aWxkLjEucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzLzAxX2J1aWxkLjEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjlmNDFhZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvMDFfYnVpbGQuMS5wYXRjaApAQCAtMCwwICsxLDE2IEBACitBdXRob3I6IEZyYW56IFBsZXR6IDxmcGxldHpAZnJhbnotcGxldHoub3JnPgorRGVzY3JpcHRpb246IE9yaWdpbmFsIGNvbW1lbnQ6IEZpeCBidWlsZAorTm90IHN1cmUgd2h5IHdlIGhhdmUgdGhpcyBwYXRjaC4gTGV0J3Mga2VlcCBpdCBmb3IgY29tcGF0aWJpbGl0eS4KKy0tLSBhL3BhdGhuYW1lcy5oCisrKysgYi9wYXRobmFtZXMuaAorQEAgLTkyLDYgKzkyLDEwIEBACisgIyBkZWZpbmUgX1BBVEhfVENTSEVMTAkJIi9sb2NhbC9iaW4vdGNzaCIJLyogdXNlIHJhbSBkaXNrICovCisgI2VuZGlmIC8qIF9NSU5JWCAmJiAhX1BBVEhfVENTSEVMTCAqLworIAorKyNpZm5kZWYgX1BBVEhfVENTSEVMTAorKyMgZGVmaW5lIF9QQVRIX1RDU0hFTEwJCSIvYmluL3Rjc2giCQkvKiBEZWJpYW4gKi8KKysjZW5kaWYgLyogIV9QQVRIX1RDU0hFTEwgKi8KKysKKyAjaWYgZGVmaW5lZChfX0VNWF9fKSAmJiAhZGVmaW5lZChfUEFUSF9ERVZOVUxMKQorICMgZGVmaW5lIF9QQVRIX0RFVk5VTEwJCSJudWwiCisgI2VuZGlmIC8qIF9fRU1YX18gJiYgIV9QQVRIX0RFVk5VTEwgKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvMDFfYnVpbGQuMi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvMDFfYnVpbGQuMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjI3NTMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy8wMV9idWlsZC4yLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0F1dGhvcjogRnJhbnogUGxldHogPGZwbGV0ekBmcmFuei1wbGV0ei5vcmc+CitEZXNjcmlwdGlvbjogVXBkYXRlIG1hbnBhZ2UuCistLS0gYS90Y3NoLm1hbgorKysrIGIvdGNzaC5tYW4KK0BAIC01NzgsNyArNTc4LDcgQEAgUmVwZWF0aW5nIFxmSWRhYmJyZXYtZXhwYW5kXGZSIHdpdGhvdXQgYQorIGNoYW5nZXMgdG8gdGhlIG5leHQgcHJldmlvdXMgd29yZCBldGMuLCBza2lwcGluZyBpZGVudGljYWwgbWF0Y2hlcworIG11Y2ggbGlrZSBcZkloaXN0b3J5LXNlYXJjaC1iYWNrd2FyZFxmUiBkb2VzLgorIC5UUCA4CistLkIgZGVsZXRlLWNoYXIgXGZSKG5vdCBib3VuZCkKKysuQiBkZWxldGUtY2hhciBcZlIoYm91bmQgdG8gYERlbCcgaWYgdXNpbmcgdGhlIHN0YW5kYXJkIFxmSS9ldGMvY3NoLmNzaHJjXGZSKQorIERlbGV0ZXMgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yLgorIFNlZSBhbHNvIFxmSWRlbGV0ZS1jaGFyLW9yLWxpc3Qtb3ItZW9mXGZSLgorIC5UUCA4CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzLzAxX2J1aWxkLjMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzLzAxX2J1aWxkLjMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM2YzE3NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvMDFfYnVpbGQuMy5wYXRjaApAQCAtMCwwICsxLDEzIEBACitBdXRob3I6IEZyYW56IFBsZXR6IDxmcGxldHpAZnJhbnotcGxldHoub3JnPgorRGVzY3JpcHRpb246IEVuYWJsZSBOT0RPVAorLS0tIGEvY29uZmlnX2YuaAorKysrIGIvY29uZmlnX2YuaAorQEAgLTk4LDcgKzk4LDcgQEAKKyAvKgorICAqIE5PRE9UCURvbid0IHB1dCAiLiIgaW4gdGhlIGRlZmF1bHQgcGF0aCwgZm9yIHNlY3VyaXR5IHJlYXNvbnMKKyAgKi8KKy0jdW5kZWYgTk9ET1QKKysjZGVmaW5lIE5PRE9UCisgCisgLyoKKyAgKiBBVVRPTE9HT1VUCXRyaWVzIHRvIGRldGVybWluZSBpZiBpdCBzaG91bGQgc2V0IGF1dG9sb2dvdXQgZGVwZW5kaW5nCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzLzEyX3Vua25vd25fbHNjb2xvcnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzLzEyX3Vua25vd25fbHNjb2xvcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFhNTljYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvMTJfdW5rbm93bl9sc2NvbG9ycy5wYXRjaApAQCAtMCwwICsxLDI0IEBACitBdXRob3I6IEZyYW56IFBsZXR6IDxmcGxldHpAZnJhbnotcGxldHoub3JnPgorRGVzY3JpcHRpb246IERvbid0IGRpZSBvbiB1bmtub3duIExTX0NPTE9SUyB2YWx1ZXMKK1JlbW92aW5nIHRoZSBwYXRjaCBjYXVzZXMgYSBzZWdmYXVsdCB3aGVuIGRpcmNvbG9ycyBpcyBzZXQgYnkgY29yZXV0aWxzJyBkaXJjb2xvcnMuCitEZWJpYW4tQnVnOiAjNTkyMDg5CisKKy0tLSBhL3R3LmNvbG9yLmMKKysrKyBiL3R3LmNvbG9yLmMKK0BAIC0yMzksMTMgKzIzOSwxMCBAQCBwYXJzZUxTX0NPTE9SUyhjb25zdCBDaGFyICp2YWx1ZSkKKyAJCSAgICBpZiAoKENoYXIpdmFyaWFibGVzW2ldLnZhcmlhYmxlWzBdID09ICh2WzBdICYgQ0hBUikgJiYKKyAJCQkoQ2hhcil2YXJpYWJsZXNbaV0udmFyaWFibGVbMV0gPT0gKHZbMV0gJiBDSEFSKSkKKyAJCQlicmVhazsKKy0JCWlmIChpIDwgbnZhcmlhYmxlcykgeworLQkJICAgIHYgKz0gMzsKKysJCXYgKz0gMzsKKysJCWlmIChpIDwgbnZhcmlhYmxlcykKKyAJCSAgICBnZXRzdHJpbmcoJmMsICZ2LCAmdmFyaWFibGVzW2ldLmNvbG9yLCAnOicpOworLQkJICAgIGNvbnRpbnVlOworLQkJfQorLQkJZWxzZQorLQkJICAgIHN0ZGVycm9yKEVSUl9CQURDT0xPUlZBUiwgdlswXSwgdlsxXSk7CisrCQljb250aW51ZTsKKyAJICAgIH0KKyAJICAgIGJyZWFrOworIAl9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzLzE1X25vLXN0cmlwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy8xNV9uby1zdHJpcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYmM5ZjY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy8xNV9uby1zdHJpcC5wYXRjaApAQCAtMCwwICsxLDE0IEBACitBdXRob3I6IEx1Y2FzIE51c3NiYXVtIDxsdWNhc0BkZWJpYW4ub3JnPgorRGVzY3JpcHRpb246IGRvIG5vdCBzdHJpcCBiaW5hcnkKKyBTdHJpcHBpbmcgc2hvdWxkIGJlIGhhbmRsZWQgYnkgZGhfc3RyaXAgaW5zdGVhZCwgc28gREVCX0JVSUxEX09QVElPTlM9bm9zdHJpcCB3b3Jrcy4KKyBDbG9zZXM6ICM0MzgxMDksICM0MTE2MDcKKy0tLSBhL01ha2VmaWxlLmluCisrKysgYi9NYWtlZmlsZS5pbgorQEAgLTU5Niw3ICs1OTYsNiBAQCBpbnN0YWxsOiB0Y3NoJChFWEVFWFQpCisgCS1ta2RpciAtcCAke0RFU1RCSU59CisgCS1tdiAtZiAke0RFU1RCSU59L3Rjc2gkKEVYRUVYVCkgICR7REVTVEJJTn0vdGNzaC5vbGQKKyAJY3AgdGNzaCQoRVhFRVhUKSAke0RFU1RCSU59L3Rjc2gkKEVYRUVYVCkKKy0JLXN0cmlwICR7REVTVEJJTn0vdGNzaCQoRVhFRVhUKQorIAljaG1vZCA3NTUgJHtERVNUQklOfS90Y3NoJChFWEVFWFQpCisgCisgaW5zdGFsbC5tYW46IHRjc2gubWFuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzL2Rpc2FibGUtYnJva2VuLXRlc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzL2Rpc2FibGUtYnJva2VuLXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJkYTBiYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvZGlzYWJsZS1icm9rZW4tdGVzdC5wYXRjaApAQCAtMCwwICsxLDE0IEBACitBdXRob3I6IEx1Y2FzIE51c3NiYXVtIDxsdWNhc0BkZWJpYW4ub3JnPgorRGVzY3JpcHRpb246IGRpc2FibGUgc3ludGFjdGljYWxseSBpbmNvcnJlY3QgdGVzdAorLS0tIGEvdGVzdHMvbGV4aWNhbC5hdAorKysrIGIvdGVzdHMvbGV4aWNhbC5hdAorQEAgLTE3Miw5ICsxNzIsNiBAQAorIEFUX0RBVEEoW25vaGlzdC5jc2hdLAorIFtlY2hvICEgc3BhY2UgIQl0YWIgIT0gIiEoIiBuZXdsaW5lICEKKyBdKQorLUFUX0NIRUNLKFt0Y3NoIC1mIG5vaGlzdC5jc2hdLCAsCistW1shIHNwYWNlICEgdGFiICE9ICEoIG5ld2xpbmUgIQorLV1dKQorIAorIEFUX0NMRUFOVVAKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvZGlzYWJsZS1sZXhpY2FsLmF0LTMxLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy9kaXNhYmxlLWxleGljYWwuYXQtMzEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThhOWIyZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvZmlsZXMvZGlzYWJsZS1sZXhpY2FsLmF0LTMxLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKKy0tLSBhL3Rlc3RzL2xleGljYWwuYXQKKysrKyBiL3Rlc3RzL2xleGljYWwuYXQKK0BAIC0yNywyNyArMjcsNiBAQCBBVF9DSEVDSyhbdGNzaCAtZiBvbmV3b3JkLmNzaF0sICwKKyAKKyBBVF9DTEVBTlVQCisgCistCistQVRfU0VUVVAoW0NvbW1lbnRzXSkKKy0KKy1BVF9DSEVDSyhbZWNobyAnZWNobyBPS0AlOkBjb21tZW50JyB8IHRjc2ggLWZdLCAsIFtPSworLV0pCistCistQVRfQ0hFQ0soW3Rjc2ggLWYgLWMgJ2VjaG8gQCU6QG5vIGNvbW1lbnQnXSwgLAorLVtAJTpAbm8gY29tbWVudAorLV0pCistCistQVRfREFUQShbY29tbWVudDIuY3NoXSwKKy1bW2VjaG8gdGVzdGluZy4uLkAlOkBcCistT0sKKy1dXSkKKy1BVF9DSEVDSyhbdGNzaCAtZiBjb21tZW50Mi5jc2hdLCAsCistW3Rlc3RpbmcuLi4gT0sKKy1dKQorLQorLUFUX0NMRUFOVVAKKy0KKy0KKyBBVF9TRVRVUChbRXNjYXBpbmcgc3BlY2lhbCBjaGFyYWN0ZXJzXSkKKyAKKyBBVF9EQVRBKFtub3NwbGl0LmNzaF0sCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzL2Rpc2FibGUtdGVzdC1uaWNlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy9kaXNhYmxlLXRlc3QtbmljZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OWY5MThjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy9kaXNhYmxlLXRlc3QtbmljZS5wYXRjaApAQCAtMCwwICsxLDIzIEBACitBdXRob3I6IEx1Y2FzIE51c3NiYXVtIDxsdWNhc0BkZWJpYW4ub3JnPgorRGVzY3JpcHRpb246IGRpc2FibGUgdGVzdCB0aGF0IGZhaWxzIG9uIHRoZSBidWlsZGQgd2l0aAorICAic2V0cHJpb3JpdHk6IFBlcm1pc3Npb24gZGVuaWVkIi4KKy0tLSBhL3Rlc3RzL2NvbW1hbmRzLmF0CisrKysgYi90ZXN0cy9jb21tYW5kcy5hdAorQEAgLTg4OCwxNyArODg4LDYgQEAgVENTSF9VTlRFU1RFRChbbWlncmF0ZV0pCisgVENTSF9VTlRFU1RFRChbbmV3Z3JwXSkKKyAKKyAKKy1BVF9TRVRVUChbbmljZV0pCistCistIyBOb3RoaW5nIHJlYWxseSB0ZXN0ZWQKKy1BVF9DSEVDSyhbdGNzaCAtZiAtYyAnbmljZSBzZXQgdmFyPTE7IGVjaG8gJD92YXInXSwgLAorLVswCistXSkKKy0KKy0KKy1BVF9DTEVBTlVQCistCistCisgQVRfU0VUVVAoW25vaHVwXSkKKyAKKyBBVF9EQVRBKFtub2h1cC5jc2hdLApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy9kaXNhYmxlLXRlc3Qtbm90dHkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzL2Rpc2FibGUtdGVzdC1ub3R0eS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OWYwNTY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy9kaXNhYmxlLXRlc3Qtbm90dHkucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbTogTHVjYXMgTnVzc2JhdW0gPGx1Y2FzQGRlYmlhbi5vcmc+CitEZXNjcmlwdGlvbjogVGhvc2UgdGVzdHMgZmFpbCB3aGVuIHJ1bm5pbmcgdGhlIHRlc3RzdWl0ZSB3aXRob3V0IGEgdHR5LiBEaXNhYmxpbmcgdGhlbS4KKworLS0tIGEvdGVzdHMvY29tbWFuZHMuYXQKKysrKyBiL3Rlc3RzL2NvbW1hbmRzLmF0CitAQCAtMTIwMywxMSArMTIwMyw2IEBAIEFUX1NFVFVQKFtzb3VyY2VdKQorIEFUX0RBVEEoW3NjcmlwdC5jc2hdLAorIFtbc2V0IHZhcj0kMQorIF1dKQorLUFUX0NIRUNLKFtbdGNzaCAtZiAtYyAnc291cmNlIC1oIHNjcmlwdC5jc2ggZm9vOyBoaXN0b3J5JyBcCistCSAgIHwgc2VkICdzLwlbXgldKgkvIFRJTUUgLyddXSwgLAorLVsgICAgIDEgVElNRSBzb3VyY2UgLWggc2NyaXB0LmNzaCBmb28gOyBoaXN0b3J5CistICAgICAyIFRJTUUgc2V0IHZhcj0kMQorLV0pCisgCisgQVRfQ0hFQ0soW3Rjc2ggLWYgLWMgJ3NvdXJjZSAtaCBzY3JpcHQuY3NoIGZvbzsgZWNobyAkdmFyJ10sIDEsIFtdLAorIFt2YXI6IFVuZGVmaW5lZCB2YXJpYWJsZS4KKy0tLSBhL3Rlc3RzL3ZhcmlhYmxlcy5hdAorKysrIGIvdGVzdHMvdmFyaWFibGVzLmF0CitAQCAtMzE5LDEwICszMTksNiBAQCBBVF9DTEVBTlVQCisgCisgQVRfU0VUVVAoWyQgZWRpdF0pCisgCistQVRfQ0hFQ0soW1RFUk09c29tZXRoaW5nIHRjc2ggLWYgLWMgJ2VjaG8gJD9lZGl0J10sICwKKy1bMQorLV0pCistCisgQVRfQ0hFQ0soW1RFUk09ZHVtYiB0Y3NoIC1mIC1jICdlY2hvICQ/ZWRpdCddLCAsCisgWzAKKyBdKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy90Y3NoLTYuMTcuMDItbXVsdGlieXRlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC9maWxlcy90Y3NoLTYuMTcuMDItbXVsdGlieXRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkZDQyMGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90Y3NoL2ZpbGVzL3Rjc2gtNi4xNy4wMi1tdWx0aWJ5dGUucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorQXV0aG9yOiAgSmVhbi1MdWMgTGVnZXIgPHJlaWdhQGRzcG5ldC5mci5ldS5vcmc+CitEZXNjcmlwdGlvbjogZml4IGJyb2tlbiBnbG9iYmluZyBleHBhbnNpb24KK0RlYmlhbi1CdWc6ICM2MDM1NDUKK0luZGV4OiB0Y3NoLTYuMTguMDEvdGMuc3RyLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB0Y3NoLTYuMTguMDEub3JpZy90Yy5zdHIuYwkyMDEyLTAxLTEwIDEzOjM0OjMxLjAwMDAwMDAwMCAtMDgwMAorKysrIHRjc2gtNi4xOC4wMS90Yy5zdHIuYwkyMDEzLTAyLTI2IDEzOjEyOjEzLjQyOTE1MzQ4OSAtMDgwMAorQEAgLTEyMiw4ICsxMjIsOSBAQAorICNlbHNlCisgICAgIHJldCA9IG1idG93YygmdG1wLCBzLCBuKTsKKyAjZW5kaWYKKy0gICAgaWYgKHJldCA+IDApIHsKKysgICAgaWYgKHJldCA+PSAwKQorIAkqcHdjID0gdG1wOworKyAgICBpZiAocmV0ID49IDApIHsKKyAjaWYgZGVmaW5lZChVVEYxNl9TVFJJTkdTKSAmJiBkZWZpbmVkKEhBVkVfTUJSVE9XQykKKyAJaWYgKHRtcCA+PSAweGQ4MDAgJiYgdG1wIDw9IDB4ZGJmZikgeworIAkgICAgLyogVVRGLTE2IHN1cnJvZ2F0ZSBwYWlyLiAgRmV0Y2ggc2Vjb25kIGhhbGYgYW5kIGNvbXB1dGUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvdGNzaF82LjE4LjAxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGNzaC90Y3NoXzYuMTguMDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRkNGNiNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rjc2gvdGNzaF82LjE4LjAxLmJiCkBAIC0wLDAgKzEsNDkgQEAKK0RFU0NSSVBUSU9OID0gIlRFTkVYIEMgU2hlbGwsIGFuIGVuaGFuY2VkIHZlcnNpb24gb2YgQmVya2VsZXkgY3NoIFwKKyAgICBUaGUgVEVORVggQyBTaGVsbCBpcyBhbiBlbmhhbmNlZCB2ZXJzaW9uIG9mIHRoZSBCZXJrZWxleSBVbml4IEMgc2hlbGwuIFwKKyAgICBJdCBpbmNsdWRlcyBhbGwgZmVhdHVyZXMgb2YgNC40QlNEIEMgc2hlbGwsIHBsdXMgYSBjb21tYW5kLWxpbmUgZWRpdG9yLCBcCisgICAgcHJvZ3JhbW1hYmxlIHdvcmQgY29tcGxldGlvbiwgc3BlbGxpbmcgY29ycmVjdGlvbiBhbmQgbW9yZS4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudGNzaC5vcmcvIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9Db3B5cmlnaHQ7bWQ1PTFjZjI5YmU2MmRmMmJlMWEzNzYzMTE4YjI1YjRjNzgwIgorU0VDVElPTiA9ICJiYXNlIgorREVQRU5EUyA9ICJuY3Vyc2VzIGdldHRleHQtbmF0aXZlIgorU1JDX1VSSSA9ICIgXAorICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi90L3Rjc2gvdGNzaF8ke1BWfS5vcmlnLnRhci5nejtuYW1lPXRhcmJhbGwgXAorICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi90L3Rjc2gvdGNzaF8ke1BWfS0yLmRpZmYuZ3o7bmFtZT1kaWZmcyBcCisgICAgZmlsZTovLzAxX2J1aWxkLjEucGF0Y2ggXAorICAgIGZpbGU6Ly8wMV9idWlsZC4yLnBhdGNoIFwKKyAgICBmaWxlOi8vMDFfYnVpbGQuMy5wYXRjaCBcCisgICAgZmlsZTovLzE1X25vLXN0cmlwLnBhdGNoIFwKKyAgICBmaWxlOi8vZGlzYWJsZS10ZXN0LW5vdHR5LnBhdGNoIFwKKyAgICBmaWxlOi8vZGlzYWJsZS10ZXN0LW5pY2UucGF0Y2ggXAorICAgIGZpbGU6Ly9kaXNhYmxlLWxleGljYWwuYXQtMzEucGF0Y2ggXAorICAgIGZpbGU6Ly8xMl91bmtub3duX2xzY29sb3JzLnBhdGNoIFwKKyAgICBmaWxlOi8vdGNzaC02LjE3LjAyLW11bHRpYnl0ZS5wYXRjaCBcCisgICAgZmlsZTovL2Rpc2FibGUtYnJva2VuLXRlc3QucGF0Y2ggXAorIgorU1JDX1VSSVt0YXJiYWxsLm1kNXN1bV0gPSAiNmVlZDA5ZGJkNDIyM2FiNWI2OTU1Mzc4NDUwZDIyOGEiCitTUkNfVVJJW3RhcmJhbGwuc2hhMjU2c3VtXSA9ICJkODFjYTI3ODUxZjNlODU0NTY2NjM5OWI0YmNmMjU0MzNlNjAyYTE5NTExM2IzZjdjNzM4ODZmZWY4NGM5ZmE4IgorU1JDX1VSSVtkaWZmcy5tZDVzdW1dID0gImVhMzliODE4YjYyNGFjYTQ5ZWJmMmNkMjcwOGQ2ZmY5IgorU1JDX1VSSVtkaWZmcy5zaGEyNTZzdW1dID0gIjk1YjBjMWEzMzliNzQ1YzQ3YzVkMmY5ZDAyYzIyYTcxNTk3NDYyZTJlODgyYjUxNjE0YTlkMWY3NWJkM2QxNmMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwubWFuIERFU1RESVI9JHtEfQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBsbiAtcyAvdXNyL2Jpbi90Y3NoICR7RH0ke2Jhc2VfYmluZGlyfS90Y3NoCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2NzaC9sb2dpbi5kCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZGViaWFuL2NzaC5jc2hyYyAke1N9L2RlYmlhbi9jc2gubG9naW4gJHtTfS9kZWJpYW4vY3NoLmxvZ291dCAke1N9L2NvbXBsZXRlLnRjc2ggJHtEfSR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtTfS9jc2gtbW9kZS5lbCAke0R9JHtkYXRhZGlyfS9lbWFjcy9zaXRlLWxpc3AvY3NoLW1vZGUuZWwKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZW1hY3Mvc2l0ZS1saXNwL2NzaC1tb2RlLmVsIgorCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisjIS9iaW4vc2ggLWUKK2VjaG8gL3Vzci9iaW4vdGNzaCA+PiAkRC9ldGMvc2hlbGxzCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90ZXN0ZmxvYXQvZmlsZXMvMDAwMS1NYWtlZmlsZS1mb3ItY3Jvc3MtY29tcGlsZS1Tb2Z0RmxvYXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90ZXN0ZmxvYXQvZmlsZXMvMDAwMS1NYWtlZmlsZS1mb3ItY3Jvc3MtY29tcGlsZS1Tb2Z0RmxvYXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE3ODJjNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rlc3RmbG9hdC9maWxlcy8wMDAxLU1ha2VmaWxlLWZvci1jcm9zcy1jb21waWxlLVNvZnRGbG9hdC5wYXRjaApAQCAtMCwwICsxLDM0OCBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitGcm9tIDA3ZjI1MjhkOTNmNDRmZTFkODA4MGE0MjI1ZjI5ZjRhZGE5ZjQ2NjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgorRGF0ZTogVGh1LCA0IEZlYiAyMDE2IDA5OjE1OjM3IC0wMjAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBNYWtlZmlsZSBmb3IgY3Jvc3MgY29tcGlsZSBTb2Z0RmxvYXQKKworU2lnbmVkLW9mZi1ieTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIFNvZnRGbG9hdC0zYS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL01ha2VmaWxlICAgfCAyNzQgKysrKysrKysrKysrKysrKysrKysrKworIFNvZnRGbG9hdC0zYS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL3BsYXRmb3JtLmggfCAgNDQgKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMzE4IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgU29mdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvTWFrZWZpbGUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgU29mdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvcGxhdGZvcm0uaAorCitkaWZmIC0tZ2l0IGEvU29mdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvTWFrZWZpbGUgYi9Tb2Z0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9NYWtlZmlsZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmM0ZDBhNjAKKy0tLSAvZGV2L251bGwKKysrKyBiL1NvZnRGbG9hdC0zYS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL01ha2VmaWxlCitAQCAtMCwwICsxLDI3NCBAQAorKworKyM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKyMKKysjIFRoaXMgTWFrZWZpbGUgaXMgcGFydCBvZiB0aGUgU29mdEZsb2F0IElFRUUgRmxvYXRpbmctUG9pbnQgQXJpdGhtZXRpYworKyMgUGFja2FnZSwgUmVsZWFzZSAzYSwgYnkgSm9obiBSLiBIYXVzZXIuCisrIworKyMgQ29weXJpZ2h0IDIwMTEsIDIwMTIsIDIwMTMsIDIwMTQgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YKKysjIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKyMKKysjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisrIworKyMgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKysjICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKysjCisrIyAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKysjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zLCBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisrIworKyMgIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisrIyAgICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisrIyAgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisrIworKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIsIEFORCBBTlkKKysjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKysjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQVJFCisrIyBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisrIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKyMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworKyMgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisrIyBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisrIyBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKyMKKysjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysKKytTT1VSQ0VfRElSID0gLi4vLi4vc291cmNlCisrU1BFQ0lBTElaRV9UWVBFID0gODA4NgorKworK1NPRlRGTE9BVF9PUFRTID0gLURJTkxJTkVfTEVWRUw9NSAtRFNPRlRGTE9BVF9GQVNUX0RJVjY0VE8zMiAtZmdudTg5LWlubGluZQorKworK0RFTEVURSA9IHJtIC1mCisrQ19JTkNMVURFUyA9IC1JLiAtSSQoU09VUkNFX0RJUikvJChTUEVDSUFMSVpFX1RZUEUpIC1JJChTT1VSQ0VfRElSKS9pbmNsdWRlCisrQ09NUElMRV9DID0gXAorKyAgJHtDQ30gLWMgLVdlcnJvci1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbiAkKFNPRlRGTE9BVF9PUFRTKSBcCisrICAgICQoQ19JTkNMVURFUykgLU8yIC1vICRACisrTUFLRUxJQiA9ICR7QVJ9IGNycyAkQAorKworK09CSiA9IC5vCisrTElCID0gLmEKKysKKysuUEhPTlk6IGFsbAorK2FsbDogc29mdGZsb2F0JChMSUIpCisrCisrT0JKU19QUklNSVRJVkVTID0gXAorKyAgc19jb21wYXJlOTZNJChPQkopIFwKKysgIHNfY29tcGFyZTEyOE0kKE9CSikgXAorKyAgc19zaG9ydFNoaWZ0TGVmdDY0VG85Nk0kKE9CSikgXAorKyAgc19zaG9ydFNoaWZ0TGVmdE0kKE9CSikgXAorKyAgc19zaGlmdExlZnRNJChPQkopIFwKKysgIHNfc2hvcnRTaGlmdFJpZ2h0TSQoT0JKKSBcCisrICBzX3Nob3J0U2hpZnRSaWdodEphbTY0JChPQkopIFwKKysgIHNfc2hvcnRTaGlmdFJpZ2h0SmFtTSQoT0JKKSBcCisrICBzX3NoaWZ0UmlnaHRKYW0zMiQoT0JKKSBcCisrICBzX3NoaWZ0UmlnaHRKYW02NCQoT0JKKSBcCisrICBzX3NoaWZ0UmlnaHRKYW1NJChPQkopIFwKKysgIHNfc2hpZnRSaWdodE0kKE9CSikgXAorKyAgc19jb3VudExlYWRpbmdaZXJvczgkKE9CSikgXAorKyAgc19jb3VudExlYWRpbmdaZXJvczMyJChPQkopIFwKKysgIHNfY291bnRMZWFkaW5nWmVyb3M2NCQoT0JKKSBcCisrICBzX2FkZE0kKE9CSikgXAorKyAgc19hZGRDYXJyeU0kKE9CSikgXAorKyAgc19hZGRDb21wbENhcnJ5TSQoT0JKKSBcCisrICBzX25lZ1hNJChPQkopIFwKKysgIHNfc3ViMVhNJChPQkopIFwKKysgIHNfc3ViTSQoT0JKKSBcCisrICBzX211bDY0VG8xMjhNJChPQkopIFwKKysgIHNfbXVsMTI4TVRvMjU2TSQoT0JKKSBcCisrICBzX2FwcHJveFJlY2lwMzJfMSQoT0JKKSBcCisrICBzX2FwcHJveFJlY2lwU3FydDMyXzEkKE9CSikgXAorKyAgc19yZW1TdGVwTUJ5MzIkKE9CSikgXAorKworK09CSlNfU1BFQ0lBTElaRSA9IFwKKysgIHNvZnRmbG9hdF9yYWlzZUZsYWdzJChPQkopIFwKKysgIHNfZjMyVUlUb0NvbW1vbk5hTiQoT0JKKSBcCisrICBzX2NvbW1vbk5hTlRvRjMyVUkkKE9CSikgXAorKyAgc19wcm9wYWdhdGVOYU5GMzJVSSQoT0JKKSBcCisrICBzX2Y2NFVJVG9Db21tb25OYU4kKE9CSikgXAorKyAgc19jb21tb25OYU5Ub0Y2NFVJJChPQkopIFwKKysgIHNfcHJvcGFnYXRlTmFORjY0VUkkKE9CSikgXAorKyAgZXh0RjgwTV9pc1NpZ25hbGluZ05hTiQoT0JKKSBcCisrICBzX2V4dEY4ME1Ub0NvbW1vbk5hTiQoT0JKKSBcCisrICBzX2NvbW1vbk5hTlRvRXh0RjgwTSQoT0JKKSBcCisrICBzX3Byb3BhZ2F0ZU5hTkV4dEY4ME0kKE9CSikgXAorKyAgZjEyOE1faXNTaWduYWxpbmdOYU4kKE9CSikgXAorKyAgc19mMTI4TVRvQ29tbW9uTmFOJChPQkopIFwKKysgIHNfY29tbW9uTmFOVG9GMTI4TSQoT0JKKSBcCisrICBzX3Byb3BhZ2F0ZU5hTkYxMjhNJChPQkopIFwKKysKKytPQkpTX09USEVSUyA9IFwKKysgIHNfcm91bmRQYWNrVG9VSTMyJChPQkopIFwKKysgIHNfcm91bmRQYWNrTVRvVUk2NCQoT0JKKSBcCisrICBzX3JvdW5kUGFja1RvSTMyJChPQkopIFwKKysgIHNfcm91bmRQYWNrTVRvSTY0JChPQkopIFwKKysgIHNfbm9ybVN1Ym5vcm1hbEYzMlNpZyQoT0JKKSBcCisrICBzX3JvdW5kUGFja1RvRjMyJChPQkopIFwKKysgIHNfbm9ybVJvdW5kUGFja1RvRjMyJChPQkopIFwKKysgIHNfYWRkTWFnc0YzMiQoT0JKKSBcCisrICBzX3N1Yk1hZ3NGMzIkKE9CSikgXAorKyAgc19tdWxBZGRGMzIkKE9CSikgXAorKyAgc19ub3JtU3Vibm9ybWFsRjY0U2lnJChPQkopIFwKKysgIHNfcm91bmRQYWNrVG9GNjQkKE9CSikgXAorKyAgc19ub3JtUm91bmRQYWNrVG9GNjQkKE9CSikgXAorKyAgc19hZGRNYWdzRjY0JChPQkopIFwKKysgIHNfc3ViTWFnc0Y2NCQoT0JKKSBcCisrICBzX211bEFkZEY2NCQoT0JKKSBcCisrICBzX3RyeVByb3BhZ2F0ZU5hTkV4dEY4ME0kKE9CSikgXAorKyAgc19pbnZhbGlkRXh0RjgwTSQoT0JKKSBcCisrICBzX25vcm1FeHRGODBTaWdNJChPQkopIFwKKysgIHNfcm91bmRQYWNrTVRvRXh0RjgwTSQoT0JKKSBcCisrICBzX25vcm1Sb3VuZFBhY2tNVG9FeHRGODBNJChPQkopIFwKKysgIHNfYWRkRXh0RjgwTSQoT0JKKSBcCisrICBzX2NvbXBhcmVOb25ub3JtRXh0RjgwTSQoT0JKKSBcCisrICBzX2lzTmFORjEyOE0kKE9CSikgXAorKyAgc190cnlQcm9wYWdhdGVOYU5GMTI4TSQoT0JKKSBcCisrICBzX2ludmFsaWRGMTI4TSQoT0JKKSBcCisrICBzX3NoaWZ0Tm9ybVNpZ0YxMjhNJChPQkopIFwKKysgIHNfcm91bmRQYWNrTVRvRjEyOE0kKE9CSikgXAorKyAgc19ub3JtUm91bmRQYWNrTVRvRjEyOE0kKE9CSikgXAorKyAgc19hZGRGMTI4TSQoT0JKKSBcCisrICBzX211bEFkZEYxMjhNJChPQkopIFwKKysgIHNvZnRmbG9hdF9zdGF0ZSQoT0JKKSBcCisrICB1aTMyX3RvX2YzMiQoT0JKKSBcCisrICB1aTMyX3RvX2Y2NCQoT0JKKSBcCisrICB1aTMyX3RvX2V4dEY4ME0kKE9CSikgXAorKyAgdWkzMl90b19mMTI4TSQoT0JKKSBcCisrICB1aTY0X3RvX2YzMiQoT0JKKSBcCisrICB1aTY0X3RvX2Y2NCQoT0JKKSBcCisrICB1aTY0X3RvX2V4dEY4ME0kKE9CSikgXAorKyAgdWk2NF90b19mMTI4TSQoT0JKKSBcCisrICBpMzJfdG9fZjMyJChPQkopIFwKKysgIGkzMl90b19mNjQkKE9CSikgXAorKyAgaTMyX3RvX2V4dEY4ME0kKE9CSikgXAorKyAgaTMyX3RvX2YxMjhNJChPQkopIFwKKysgIGk2NF90b19mMzIkKE9CSikgXAorKyAgaTY0X3RvX2Y2NCQoT0JKKSBcCisrICBpNjRfdG9fZXh0RjgwTSQoT0JKKSBcCisrICBpNjRfdG9fZjEyOE0kKE9CSikgXAorKyAgZjMyX3RvX3VpMzIkKE9CSikgXAorKyAgZjMyX3RvX3VpNjQkKE9CSikgXAorKyAgZjMyX3RvX2kzMiQoT0JKKSBcCisrICBmMzJfdG9faTY0JChPQkopIFwKKysgIGYzMl90b191aTMyX3JfbWluTWFnJChPQkopIFwKKysgIGYzMl90b191aTY0X3JfbWluTWFnJChPQkopIFwKKysgIGYzMl90b19pMzJfcl9taW5NYWckKE9CSikgXAorKyAgZjMyX3RvX2k2NF9yX21pbk1hZyQoT0JKKSBcCisrICBmMzJfdG9fZjY0JChPQkopIFwKKysgIGYzMl90b19leHRGODBNJChPQkopIFwKKysgIGYzMl90b19mMTI4TSQoT0JKKSBcCisrICBmMzJfcm91bmRUb0ludCQoT0JKKSBcCisrICBmMzJfYWRkJChPQkopIFwKKysgIGYzMl9zdWIkKE9CSikgXAorKyAgZjMyX211bCQoT0JKKSBcCisrICBmMzJfbXVsQWRkJChPQkopIFwKKysgIGYzMl9kaXYkKE9CSikgXAorKyAgZjMyX3JlbSQoT0JKKSBcCisrICBmMzJfc3FydCQoT0JKKSBcCisrICBmMzJfZXEkKE9CSikgXAorKyAgZjMyX2xlJChPQkopIFwKKysgIGYzMl9sdCQoT0JKKSBcCisrICBmMzJfZXFfc2lnbmFsaW5nJChPQkopIFwKKysgIGYzMl9sZV9xdWlldCQoT0JKKSBcCisrICBmMzJfbHRfcXVpZXQkKE9CSikgXAorKyAgZjMyX2lzU2lnbmFsaW5nTmFOJChPQkopIFwKKysgIGY2NF90b191aTMyJChPQkopIFwKKysgIGY2NF90b191aTY0JChPQkopIFwKKysgIGY2NF90b19pMzIkKE9CSikgXAorKyAgZjY0X3RvX2k2NCQoT0JKKSBcCisrICBmNjRfdG9fdWkzMl9yX21pbk1hZyQoT0JKKSBcCisrICBmNjRfdG9fdWk2NF9yX21pbk1hZyQoT0JKKSBcCisrICBmNjRfdG9faTMyX3JfbWluTWFnJChPQkopIFwKKysgIGY2NF90b19pNjRfcl9taW5NYWckKE9CSikgXAorKyAgZjY0X3RvX2YzMiQoT0JKKSBcCisrICBmNjRfdG9fZXh0RjgwTSQoT0JKKSBcCisrICBmNjRfdG9fZjEyOE0kKE9CSikgXAorKyAgZjY0X3JvdW5kVG9JbnQkKE9CSikgXAorKyAgZjY0X2FkZCQoT0JKKSBcCisrICBmNjRfc3ViJChPQkopIFwKKysgIGY2NF9tdWwkKE9CSikgXAorKyAgZjY0X211bEFkZCQoT0JKKSBcCisrICBmNjRfZGl2JChPQkopIFwKKysgIGY2NF9yZW0kKE9CSikgXAorKyAgZjY0X3NxcnQkKE9CSikgXAorKyAgZjY0X2VxJChPQkopIFwKKysgIGY2NF9sZSQoT0JKKSBcCisrICBmNjRfbHQkKE9CSikgXAorKyAgZjY0X2VxX3NpZ25hbGluZyQoT0JKKSBcCisrICBmNjRfbGVfcXVpZXQkKE9CSikgXAorKyAgZjY0X2x0X3F1aWV0JChPQkopIFwKKysgIGY2NF9pc1NpZ25hbGluZ05hTiQoT0JKKSBcCisrICBleHRGODBNX3RvX3VpMzIkKE9CSikgXAorKyAgZXh0RjgwTV90b191aTY0JChPQkopIFwKKysgIGV4dEY4ME1fdG9faTMyJChPQkopIFwKKysgIGV4dEY4ME1fdG9faTY0JChPQkopIFwKKysgIGV4dEY4ME1fdG9fdWkzMl9yX21pbk1hZyQoT0JKKSBcCisrICBleHRGODBNX3RvX3VpNjRfcl9taW5NYWckKE9CSikgXAorKyAgZXh0RjgwTV90b19pMzJfcl9taW5NYWckKE9CSikgXAorKyAgZXh0RjgwTV90b19pNjRfcl9taW5NYWckKE9CSikgXAorKyAgZXh0RjgwTV90b19mMzIkKE9CSikgXAorKyAgZXh0RjgwTV90b19mNjQkKE9CSikgXAorKyAgZXh0RjgwTV90b19mMTI4TSQoT0JKKSBcCisrICBleHRGODBNX3JvdW5kVG9JbnQkKE9CSikgXAorKyAgZXh0RjgwTV9hZGQkKE9CSikgXAorKyAgZXh0RjgwTV9zdWIkKE9CSikgXAorKyAgZXh0RjgwTV9tdWwkKE9CSikgXAorKyAgZXh0RjgwTV9kaXYkKE9CSikgXAorKyAgZXh0RjgwTV9yZW0kKE9CSikgXAorKyAgZXh0RjgwTV9zcXJ0JChPQkopIFwKKysgIGV4dEY4ME1fZXEkKE9CSikgXAorKyAgZXh0RjgwTV9sZSQoT0JKKSBcCisrICBleHRGODBNX2x0JChPQkopIFwKKysgIGV4dEY4ME1fZXFfc2lnbmFsaW5nJChPQkopIFwKKysgIGV4dEY4ME1fbGVfcXVpZXQkKE9CSikgXAorKyAgZXh0RjgwTV9sdF9xdWlldCQoT0JKKSBcCisrICBmMTI4TV90b191aTMyJChPQkopIFwKKysgIGYxMjhNX3RvX3VpNjQkKE9CSikgXAorKyAgZjEyOE1fdG9faTMyJChPQkopIFwKKysgIGYxMjhNX3RvX2k2NCQoT0JKKSBcCisrICBmMTI4TV90b191aTMyX3JfbWluTWFnJChPQkopIFwKKysgIGYxMjhNX3RvX3VpNjRfcl9taW5NYWckKE9CSikgXAorKyAgZjEyOE1fdG9faTMyX3JfbWluTWFnJChPQkopIFwKKysgIGYxMjhNX3RvX2k2NF9yX21pbk1hZyQoT0JKKSBcCisrICBmMTI4TV90b19mMzIkKE9CSikgXAorKyAgZjEyOE1fdG9fZjY0JChPQkopIFwKKysgIGYxMjhNX3RvX2V4dEY4ME0kKE9CSikgXAorKyAgZjEyOE1fcm91bmRUb0ludCQoT0JKKSBcCisrICBmMTI4TV9hZGQkKE9CSikgXAorKyAgZjEyOE1fc3ViJChPQkopIFwKKysgIGYxMjhNX211bCQoT0JKKSBcCisrICBmMTI4TV9tdWxBZGQkKE9CSikgXAorKyAgZjEyOE1fZGl2JChPQkopIFwKKysgIGYxMjhNX3JlbSQoT0JKKSBcCisrICBmMTI4TV9zcXJ0JChPQkopIFwKKysgIGYxMjhNX2VxJChPQkopIFwKKysgIGYxMjhNX2xlJChPQkopIFwKKysgIGYxMjhNX2x0JChPQkopIFwKKysgIGYxMjhNX2VxX3NpZ25hbGluZyQoT0JKKSBcCisrICBmMTI4TV9sZV9xdWlldCQoT0JKKSBcCisrICBmMTI4TV9sdF9xdWlldCQoT0JKKSBcCisrCisrT0JKU19BTEwgPSAkKE9CSlNfUFJJTUlUSVZFUykgJChPQkpTX1NQRUNJQUxJWkUpICQoT0JKU19PVEhFUlMpCisrCisrJChPQkpTX0FMTCk6IFwKKysgIHBsYXRmb3JtLmggJChTT1VSQ0VfRElSKS9pbmNsdWRlL3ByaW1pdGl2ZVR5cGVzLmggXAorKyAgJChTT1VSQ0VfRElSKS9pbmNsdWRlL3ByaW1pdGl2ZXMuaAorKyQoT0JKU19TUEVDSUFMSVpFKSAkKE9CSlNfT1RIRVJTKTogXAorKyAgJChTT1VSQ0VfRElSKS9pbmNsdWRlL3NvZnRmbG9hdF90eXBlcy5oICQoU09VUkNFX0RJUikvaW5jbHVkZS9pbnRlcm5hbHMuaCBcCisrICAkKFNPVVJDRV9ESVIpLyQoU1BFQ0lBTElaRV9UWVBFKS9zcGVjaWFsaXplLmggXAorKyAgJChTT1VSQ0VfRElSKS9pbmNsdWRlL3NvZnRmbG9hdC5oCisrCisrJChPQkpTX1BSSU1JVElWRVMpICQoT0JKU19PVEhFUlMpOiAlJChPQkopOiAkKFNPVVJDRV9ESVIpLyUuYworKwkkKENPTVBJTEVfQykgJChTT1VSQ0VfRElSKS8kKi5jCisrCisrJChPQkpTX1NQRUNJQUxJWkUpOiAlJChPQkopOiAkKFNPVVJDRV9ESVIpLyQoU1BFQ0lBTElaRV9UWVBFKS8lLmMKKysJJChDT01QSUxFX0MpICQoU09VUkNFX0RJUikvJChTUEVDSUFMSVpFX1RZUEUpLyQqLmMKKysKKytzb2Z0ZmxvYXQkKExJQik6ICQoT0JKU19BTEwpCisrCSQoREVMRVRFKSAkQAorKwkkKE1BS0VMSUIpICReCisrCisrLlBIT05ZOiBjbGVhbgorK2NsZWFuOgorKwkkKERFTEVURSkgJChPQkpTX0FMTCkgc29mdGZsb2F0JChMSUIpCisrCitkaWZmIC0tZ2l0IGEvU29mdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvcGxhdGZvcm0uaCBiL1NvZnRGbG9hdC0zYS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL3BsYXRmb3JtLmgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi41ZTU2NmZjCistLS0gL2Rldi9udWxsCisrKysgYi9Tb2Z0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9wbGF0Zm9ybS5oCitAQCAtMCwwICsxLDQ0IEBACisrCisrLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrCisrVGhpcyBDIGhlYWRlciBmaWxlIGlzIHBhcnQgb2YgdGhlIFNvZnRGbG9hdCBJRUVFIEZsb2F0aW5nLVBvaW50IEFyaXRobWV0aWMKKytQYWNrYWdlLCBSZWxlYXNlIDNhLCBieSBKb2huIFIuIEhhdXNlci4KKysKKytDb3B5cmlnaHQgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisrCisrUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisrbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisrCisrIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKysgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMsIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisrCisrIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKysgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMsIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKysgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisrCisrIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heQorKyAgICBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0CisrICAgIHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKysKKytUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiwgQU5EIEFOWQorK0VYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKytXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEFSRQorK0RJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKytESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKytMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKytPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisrU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisrCisrPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLworKworKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKysjZGVmaW5lIExJVFRMRUVORElBTiAxCisrCisrLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworKyNkZWZpbmUgSU5MSU5FIGV4dGVybiBpbmxpbmUKKysKKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGVzdGZsb2F0L2ZpbGVzLzAwMDItTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUtVGVzdEZsb2F0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGVzdGZsb2F0L2ZpbGVzLzAwMDItTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUtVGVzdEZsb2F0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMTI0YjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90ZXN0ZmxvYXQvZmlsZXMvMDAwMi1NYWtlZmlsZS1mb3ItY3Jvc3MtY29tcGlsZS1UZXN0RmxvYXQucGF0Y2gKQEAgLTAsMCArMSwzOTYgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworRnJvbSA5YWE0YTQxNmYwNTk2NzMyMGMxYWE1MmJkY2NmZTEwNWEzYmYzMjY5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KK0RhdGU6IFRodSwgNCBGZWIgMjAxNiAwOToxNjowOSAtMDIwMAorU3ViamVjdDogW1BBVENIIDIvMl0gTWFrZWZpbGUgZm9yIGNyb3NzIGNvbXBpbGUgVGVzdEZsb2F0CisKK1NpZ25lZC1vZmYtYnk6IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+CistLS0KKyBUZXN0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9NYWtlZmlsZSAgIHwgMzIxICsrKysrKysrKysrKysrKysrKysrKysKKyBUZXN0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9wbGF0Zm9ybS5oIHwgIDQ1ICsrKworIDIgZmlsZXMgY2hhbmdlZCwgMzY2IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgVGVzdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvTWFrZWZpbGUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgVGVzdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvcGxhdGZvcm0uaAorCitkaWZmIC0tZ2l0IGEvVGVzdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvTWFrZWZpbGUgYi9UZXN0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9NYWtlZmlsZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmE4OTMyNmEKKy0tLSAvZGV2L251bGwKKysrKyBiL1Rlc3RGbG9hdC0zYS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL01ha2VmaWxlCitAQCAtMCwwICsxLDMyMSBAQAorKworKyM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKyMKKysjIFRoaXMgTWFrZWZpbGUgaXMgcGFydCBvZiBUZXN0RmxvYXQsIFJlbGVhc2UgM2EsIGEgcGFja2FnZSBvZiBwcm9ncmFtcyBmb3IKKysjIHRlc3RpbmcgdGhlIGNvcnJlY3RuZXNzIG9mIGZsb2F0aW5nLXBvaW50IGFyaXRobWV0aWMgY29tcGx5aW5nIHdpdGggdGhlIElFRUUKKysjIFN0YW5kYXJkIGZvciBGbG9hdGluZy1Qb2ludCwgYnkgSm9obiBSLiBIYXVzZXIuCisrIworKyMgQ29weXJpZ2h0IDIwMTEsIDIwMTIsIDIwMTMsIDIwMTQsIDIwMTUgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YKKysjIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKyMKKysjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisrIworKyMgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKysjICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKysjCisrIyAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKysjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zLCBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisrIworKyMgIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisrIyAgICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisrIyAgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisrIworKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIsIEFORCBBTlkKKysjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKysjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQVJFCisrIyBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisrIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKyMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworKyMgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisrIyBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisrIyBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKyMKKysjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysKKytTT1VSQ0VfRElSID0gLi4vLi4vc291cmNlCisrU1VCSl9TT1VSQ0VfRElSID0gJChTT1VSQ0VfRElSKS9zdWJqLUMKKytTT0ZURkxPQVRfRElSID0gLi4vLi4vLi4vU29mdEZsb2F0LTNhCisrU09GVEZMT0FUX0lOQ0xVREVfRElSID0gJChTT0ZURkxPQVRfRElSKS9zb3VyY2UvaW5jbHVkZQorK1BMQVRGT1JNID0gTGludXgtQ3Jvc3MtQ29tcGlsZQorKworK1NPRlRGTE9BVF9IID0gXAorKyAgJChTT0ZURkxPQVRfSU5DTFVERV9ESVIpL3NvZnRmbG9hdF90eXBlcy5oIFwKKysgICQoU09GVEZMT0FUX0lOQ0xVREVfRElSKS9zb2Z0ZmxvYXQuaAorK1NPRlRGTE9BVF9MSUIgPSAkKFNPRlRGTE9BVF9ESVIpL2J1aWxkLyQoUExBVEZPUk0pL3NvZnRmbG9hdCQoTElCKQorKworK1RFU1RGTE9BVF9PUFRTID0gLURFWFRGTE9BVDgwIC1ERkxPQVQxMjggLURMT05HX0RPVUJMRV9JU19FWFRGTE9BVDgwIC1mZ251ODktaW5saW5lCisrCisrREVMRVRFID0gcm0gLWYKKytDX0lOQ0xVREVTID0gXAorKyAgLUkuIC1JJChTVUJKX1NPVVJDRV9ESVIpIC1JJChTT1VSQ0VfRElSKSAtSSQoU09GVEZMT0FUX0lOQ0xVREVfRElSKQorK0NPTVBJTEVfQyA9IFwKKysgICR7Q0N9IC1jIC1XZXJyb3ItaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb24gJChURVNURkxPQVRfT1BUUykgXAorKyAgICAkKENfSU5DTFVERVMpIC1PMiAtbyAkQAorK0NPTVBJTEVfU0xPV0ZMT0FUX0MgPSBcCisrICAke0NDfSAtYyAtV2Vycm9yLWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uICQoVEVTVEZMT0FUX09QVFMpIFwKKysgICAgJChDX0lOQ0xVREVTKSAtTzMgLW8gJEAKKytNQUtFTElCID0gJHtBUn0gY3JzICRACisrTElOSyA9ICR7Q0N9IC1vICRACisrT1RIRVJfTElCUyA9IC1sbQorKworK09CSiA9IC5vCisrTElCID0gLmEKKytFWEUgPQorKworKy5QSE9OWTogYWxsCisrYWxsOiBcCisrICB0ZXN0c29mdGZsb2F0JChFWEUpIFwKKysgIHRpbWVzb2Z0ZmxvYXQkKEVYRSkgXAorKyAgdGVzdGZsb2F0X2dlbiQoRVhFKSBcCisrICB0ZXN0ZmxvYXRfdmVyJChFWEUpIFwKKysgIHRlc3RmbG9hdCQoRVhFKSBcCisrCisrT0JKU19HRU5DQVNFUyA9IFwKKysgIGdlbkNhc2VzX3VpMzIkKE9CSikgXAorKyAgZ2VuQ2FzZXNfdWk2NCQoT0JKKSBcCisrICBnZW5DYXNlc19pMzIkKE9CSikgXAorKyAgZ2VuQ2FzZXNfaTY0JChPQkopIFwKKysgIGdlbkNhc2VzX2YzMiQoT0JKKSBcCisrICBnZW5DYXNlc19mNjQkKE9CSikgXAorKyAgZ2VuQ2FzZXNfZXh0RjgwJChPQkopIFwKKysgIGdlbkNhc2VzX2YxMjgkKE9CSikgXAorKworK09CSlNfV1JJVEVDQVNFID0gXAorKyAgd3JpdGVDYXNlX2FfdWkzMiQoT0JKKSBcCisrICB3cml0ZUNhc2VfYV91aTY0JChPQkopIFwKKysgIHdyaXRlQ2FzZV9hX2YzMiQoT0JKKSBcCisrICB3cml0ZUNhc2VfYWJfZjMyJChPQkopIFwKKysgIHdyaXRlQ2FzZV9hYmNfZjMyJChPQkopIFwKKysgIHdyaXRlQ2FzZV9hX2Y2NCQoT0JKKSBcCisrICB3cml0ZUNhc2VfYWJfZjY0JChPQkopIFwKKysgIHdyaXRlQ2FzZV9hYmNfZjY0JChPQkopIFwKKysgIHdyaXRlQ2FzZV9hX2V4dEY4ME0kKE9CSikgXAorKyAgd3JpdGVDYXNlX2FiX2V4dEY4ME0kKE9CSikgXAorKyAgd3JpdGVDYXNlX2FiY19leHRGODBNJChPQkopIFwKKysgIHdyaXRlQ2FzZV9hX2YxMjhNJChPQkopIFwKKysgIHdyaXRlQ2FzZV9hYl9mMTI4TSQoT0JKKSBcCisrICB3cml0ZUNhc2VfYWJjX2YxMjhNJChPQkopIFwKKysgIHdyaXRlQ2FzZV96X2Jvb2wkKE9CSikgXAorKyAgd3JpdGVDYXNlX3pfdWkzMiQoT0JKKSBcCisrICB3cml0ZUNhc2Vfel91aTY0JChPQkopIFwKKysgIHdyaXRlQ2FzZV96X2YzMiQoT0JKKSBcCisrICB3cml0ZUNhc2Vfel9mNjQkKE9CSikgXAorKyAgd3JpdGVDYXNlX3pfZXh0RjgwTSQoT0JKKSBcCisrICB3cml0ZUNhc2Vfel9mMTI4TSQoT0JKKSBcCisrCisrT0JKU19URVNUID0gXAorKyAgdGVzdF9hX3VpMzJfel9mMzIkKE9CSikgXAorKyAgdGVzdF9hX3VpMzJfel9mNjQkKE9CSikgXAorKyAgdGVzdF9hX3VpMzJfel9leHRGODAkKE9CSikgXAorKyAgdGVzdF9hX3VpMzJfel9mMTI4JChPQkopIFwKKysgIHRlc3RfYV91aTY0X3pfZjMyJChPQkopIFwKKysgIHRlc3RfYV91aTY0X3pfZjY0JChPQkopIFwKKysgIHRlc3RfYV91aTY0X3pfZXh0RjgwJChPQkopIFwKKysgIHRlc3RfYV91aTY0X3pfZjEyOCQoT0JKKSBcCisrICB0ZXN0X2FfaTMyX3pfZjMyJChPQkopIFwKKysgIHRlc3RfYV9pMzJfel9mNjQkKE9CSikgXAorKyAgdGVzdF9hX2kzMl96X2V4dEY4MCQoT0JKKSBcCisrICB0ZXN0X2FfaTMyX3pfZjEyOCQoT0JKKSBcCisrICB0ZXN0X2FfaTY0X3pfZjMyJChPQkopIFwKKysgIHRlc3RfYV9pNjRfel9mNjQkKE9CSikgXAorKyAgdGVzdF9hX2k2NF96X2V4dEY4MCQoT0JKKSBcCisrICB0ZXN0X2FfaTY0X3pfZjEyOCQoT0JKKSBcCisrICB0ZXN0X2FfZjMyX3pfdWkzMl9yeCQoT0JKKSBcCisrICB0ZXN0X2FfZjMyX3pfdWk2NF9yeCQoT0JKKSBcCisrICB0ZXN0X2FfZjMyX3pfaTMyX3J4JChPQkopIFwKKysgIHRlc3RfYV9mMzJfel9pNjRfcngkKE9CSikgXAorKyAgdGVzdF9hX2YzMl96X3VpMzJfeCQoT0JKKSBcCisrICB0ZXN0X2FfZjMyX3pfdWk2NF94JChPQkopIFwKKysgIHRlc3RfYV9mMzJfel9pMzJfeCQoT0JKKSBcCisrICB0ZXN0X2FfZjMyX3pfaTY0X3gkKE9CSikgXAorKyAgdGVzdF9hX2YzMl96X2Y2NCQoT0JKKSBcCisrICB0ZXN0X2FfZjMyX3pfZXh0RjgwJChPQkopIFwKKysgIHRlc3RfYV9mMzJfel9mMTI4JChPQkopIFwKKysgIHRlc3RfYXpfZjMyJChPQkopIFwKKysgIHRlc3RfYXpfZjMyX3J4JChPQkopIFwKKysgIHRlc3RfYWJ6X2YzMiQoT0JKKSBcCisrICB0ZXN0X2FiY3pfZjMyJChPQkopIFwKKysgIHRlc3RfYWJfZjMyX3pfYm9vbCQoT0JKKSBcCisrICB0ZXN0X2FfZjY0X3pfdWkzMl9yeCQoT0JKKSBcCisrICB0ZXN0X2FfZjY0X3pfdWk2NF9yeCQoT0JKKSBcCisrICB0ZXN0X2FfZjY0X3pfaTMyX3J4JChPQkopIFwKKysgIHRlc3RfYV9mNjRfel9pNjRfcngkKE9CSikgXAorKyAgdGVzdF9hX2Y2NF96X3VpMzJfeCQoT0JKKSBcCisrICB0ZXN0X2FfZjY0X3pfdWk2NF94JChPQkopIFwKKysgIHRlc3RfYV9mNjRfel9pMzJfeCQoT0JKKSBcCisrICB0ZXN0X2FfZjY0X3pfaTY0X3gkKE9CSikgXAorKyAgdGVzdF9hX2Y2NF96X2YzMiQoT0JKKSBcCisrICB0ZXN0X2FfZjY0X3pfZXh0RjgwJChPQkopIFwKKysgIHRlc3RfYV9mNjRfel9mMTI4JChPQkopIFwKKysgIHRlc3RfYXpfZjY0JChPQkopIFwKKysgIHRlc3RfYXpfZjY0X3J4JChPQkopIFwKKysgIHRlc3RfYWJ6X2Y2NCQoT0JKKSBcCisrICB0ZXN0X2FiY3pfZjY0JChPQkopIFwKKysgIHRlc3RfYWJfZjY0X3pfYm9vbCQoT0JKKSBcCisrICB0ZXN0X2FfZXh0RjgwX3pfdWkzMl9yeCQoT0JKKSBcCisrICB0ZXN0X2FfZXh0RjgwX3pfdWk2NF9yeCQoT0JKKSBcCisrICB0ZXN0X2FfZXh0RjgwX3pfaTMyX3J4JChPQkopIFwKKysgIHRlc3RfYV9leHRGODBfel9pNjRfcngkKE9CSikgXAorKyAgdGVzdF9hX2V4dEY4MF96X3VpMzJfeCQoT0JKKSBcCisrICB0ZXN0X2FfZXh0RjgwX3pfdWk2NF94JChPQkopIFwKKysgIHRlc3RfYV9leHRGODBfel9pMzJfeCQoT0JKKSBcCisrICB0ZXN0X2FfZXh0RjgwX3pfaTY0X3gkKE9CSikgXAorKyAgdGVzdF9hX2V4dEY4MF96X2YzMiQoT0JKKSBcCisrICB0ZXN0X2FfZXh0RjgwX3pfZjY0JChPQkopIFwKKysgIHRlc3RfYV9leHRGODBfel9mMTI4JChPQkopIFwKKysgIHRlc3RfYXpfZXh0RjgwJChPQkopIFwKKysgIHRlc3RfYXpfZXh0RjgwX3J4JChPQkopIFwKKysgIHRlc3RfYWJ6X2V4dEY4MCQoT0JKKSBcCisrICB0ZXN0X2FiX2V4dEY4MF96X2Jvb2wkKE9CSikgXAorKyAgdGVzdF9hX2YxMjhfel91aTMyX3J4JChPQkopIFwKKysgIHRlc3RfYV9mMTI4X3pfdWk2NF9yeCQoT0JKKSBcCisrICB0ZXN0X2FfZjEyOF96X2kzMl9yeCQoT0JKKSBcCisrICB0ZXN0X2FfZjEyOF96X2k2NF9yeCQoT0JKKSBcCisrICB0ZXN0X2FfZjEyOF96X3VpMzJfeCQoT0JKKSBcCisrICB0ZXN0X2FfZjEyOF96X3VpNjRfeCQoT0JKKSBcCisrICB0ZXN0X2FfZjEyOF96X2kzMl94JChPQkopIFwKKysgIHRlc3RfYV9mMTI4X3pfaTY0X3gkKE9CSikgXAorKyAgdGVzdF9hX2YxMjhfel9mMzIkKE9CSikgXAorKyAgdGVzdF9hX2YxMjhfel9mNjQkKE9CSikgXAorKyAgdGVzdF9hX2YxMjhfel9leHRGODAkKE9CSikgXAorKyAgdGVzdF9hel9mMTI4JChPQkopIFwKKysgIHRlc3RfYXpfZjEyOF9yeCQoT0JKKSBcCisrICB0ZXN0X2Fiel9mMTI4JChPQkopIFwKKysgIHRlc3RfYWJjel9mMTI4JChPQkopIFwKKysgIHRlc3RfYWJfZjEyOF96X2Jvb2wkKE9CSikgXAorKworK09CSlNfTElCID0gXAorKyAgdWludDEyOCQoT0JKKSBcCisrICBmYWlsJChPQkopIFwKKysgIGZ1bmN0aW9uc19jb21tb24kKE9CSikgXAorKyAgZnVuY3Rpb25JbmZvcyQoT0JKKSBcCisrICBzdGFuZGFyZEZ1bmN0aW9uSW5mb3MkKE9CSikgXAorKyAgcmFuZG9tJChPQkopIFwKKysgIGdlbkNhc2VzX2NvbW1vbiQoT0JKKSBcCisrICAkKE9CSlNfR0VOQ0FTRVMpIFwKKysgIGdlbkNhc2VzX3dyaXRlVGVzdHNUb3RhbCQoT0JKKSBcCisrICB2ZXJDYXNlc19jb21tb24kKE9CSikgXAorKyAgdmVyQ2FzZXNfd3JpdGVGdW5jdGlvbk5hbWUkKE9CSikgXAorKyAgcmVhZEhleCQoT0JKKSBcCisrICB3cml0ZUhleCQoT0JKKSBcCisrICAkKE9CSlNfV1JJVEVDQVNFKSBcCisrICB0ZXN0TG9vcHNfY29tbW9uJChPQkopIFwKKysgICQoT0JKU19URVNUKSBcCisrCisrdWludDEyOCQoT0JKKTogJChTT1VSQ0VfRElSKS91aW50MTI4LmgKKytmYWlsJChPQkopOiAkKFNPVVJDRV9ESVIpL2ZhaWwuaAorK2Z1bmN0aW9uc19jb21tb24kKE9CSik6ICQoU09GVEZMT0FUX0gpICQoU09VUkNFX0RJUikvZnVuY3Rpb25zLmgKKytmdW5jdGlvbkluZm9zJChPQkopOiAkKFNPVVJDRV9ESVIpL2Z1bmN0aW9ucy5oCisrc3RhbmRhcmRGdW5jdGlvbkluZm9zJChPQkopOiAkKFNPVVJDRV9ESVIpL2Z1bmN0aW9ucy5oCisrcmFuZG9tJChPQkopOiAkKFNPVVJDRV9ESVIpL3JhbmRvbS5oCisrZ2VuQ2FzZXNfY29tbW9uJChPQkopOiAkKFNPVVJDRV9ESVIpL2ZhaWwuaCAkKFNPVVJDRV9ESVIpL2dlbkNhc2VzLmgKKyskKE9CSlNfR0VOQ0FTRVMpOiBcCisrICAkKFNPVVJDRV9ESVIpL3JhbmRvbS5oICQoU09GVEZMT0FUX0gpICQoU09VUkNFX0RJUikvZ2VuQ2FzZXMuaAorK2dlbkNhc2VzX2YxMjgkKE9CSik6ICQoU09VUkNFX0RJUikvdWludDEyOC5oCisrZ2VuQ2FzZXNfd3JpdGVUZXN0c1RvdGFsJChPQkopOiAkKFNPVVJDRV9ESVIpL2dlbkNhc2VzLmgKKyt2ZXJDYXNlc19jb21tb24kKE9CSik6ICQoU09VUkNFX0RJUikvdmVyQ2FzZXMuaAorK3ZlckNhc2VzX3dyaXRlRnVuY3Rpb25OYW1lJChPQkopOiAkKFNPVVJDRV9ESVIpL3ZlckNhc2VzLmgKKytyZWFkSGV4JChPQkopOiAkKFNPVVJDRV9ESVIpL3JlYWRIZXguaAorK3dyaXRlSGV4JChPQkopOiAkKFNPVVJDRV9ESVIpL3VpbnQxMjguaCAkKFNPRlRGTE9BVF9IKSAkKFNPVVJDRV9ESVIpL3dyaXRlSGV4LmgKKyskKE9CSlNfV1JJVEVDQVNFKTogXAorKyAgJChTT0ZURkxPQVRfSCkgJChTT1VSQ0VfRElSKS93cml0ZUhleC5oICQoU09VUkNFX0RJUikvd3JpdGVDYXNlLmgKKyt0ZXN0TG9vcHNfY29tbW9uJChPQkopOiAkKFNPVVJDRV9ESVIpL3Rlc3RMb29wcy5oCisrJChPQkpTX1RFU1QpOiBcCisrICAkKFNPVVJDRV9ESVIpL3VpbnQxMjguaCAkKFNPRlRGTE9BVF9IKSAkKFNPVVJDRV9ESVIpL2dlbkNhc2VzLmggXAorKyAgJChTT1VSQ0VfRElSKS92ZXJDYXNlcy5oICQoU09VUkNFX0RJUikvd3JpdGVDYXNlLmggJChTT1VSQ0VfRElSKS90ZXN0TG9vcHMuaAorKyQoT0JKU19MSUIpOiAlJChPQkopOiBwbGF0Zm9ybS5oICQoU09VUkNFX0RJUikvJS5jCisrCSQoQ09NUElMRV9DKSAkKFNPVVJDRV9ESVIpLyQqLmMKKyt0ZXN0ZmxvYXQkKExJQik6ICQoT0JKU19MSUIpCisrCSQoTUFLRUxJQikgJF4KKysKKytPQkpTX1RFU1RTT0ZURkxPQVQgPSBzbG93ZmxvYXQkKE9CSikgdGVzdHNvZnRmbG9hdCQoT0JKKQorKworK3Nsb3dmbG9hdCQoT0JKKTogXAorKyAgcGxhdGZvcm0uaCAkKFNPVVJDRV9ESVIpL3VpbnQxMjguaCAkKFNPRlRGTE9BVF9IKSBcCisrICAkKFNPVVJDRV9ESVIpL3Nsb3dmbG9hdC5oICQoU09VUkNFX0RJUikvc2xvd2Zsb2F0LmMKKysJJChDT01QSUxFX1NMT1dGTE9BVF9DKSAkKFNPVVJDRV9ESVIpL3Nsb3dmbG9hdC5jCisrdGVzdHNvZnRmbG9hdCQoT0JKKTogXAorKyAgcGxhdGZvcm0uaCAkKFNPVVJDRV9ESVIpL3VpbnQxMjguaCAkKFNPVVJDRV9ESVIpL2ZhaWwuaCAkKFNPRlRGTE9BVF9IKSBcCisrICAkKFNPVVJDRV9ESVIpL3Nsb3dmbG9hdC5oICQoU09VUkNFX0RJUikvZnVuY3Rpb25zLmggXAorKyAgJChTT1VSQ0VfRElSKS9nZW5DYXNlcy5oICQoU09VUkNFX0RJUikvdmVyQ2FzZXMuaCAkKFNPVVJDRV9ESVIpL3dyaXRlQ2FzZS5oIFwKKysgICQoU09VUkNFX0RJUikvdGVzdExvb3BzLmggJChTT1VSQ0VfRElSKS90ZXN0c29mdGZsb2F0LmMKKysJJChDT01QSUxFX0MpICQoU09VUkNFX0RJUikvdGVzdHNvZnRmbG9hdC5jCisrCisrdGVzdHNvZnRmbG9hdCQoRVhFKTogJChPQkpTX1RFU1RTT0ZURkxPQVQpIHRlc3RmbG9hdCQoTElCKSAkKFNPRlRGTE9BVF9MSUIpCisrCSQoTElOSykgJF4gJChPVEhFUl9MSUJTKQorKworK09CSlNfVElNRVNPRlRGTE9BVCA9IHRpbWVzb2Z0ZmxvYXQkKE9CSikKKysKKyt0aW1lc29mdGZsb2F0JChPQkopOiBcCisrICBwbGF0Zm9ybS5oICQoU09VUkNFX0RJUikvdWludDEyOC5oICQoU09VUkNFX0RJUikvZmFpbC5oICQoU09GVEZMT0FUX0gpIFwKKysgICQoU09VUkNFX0RJUikvZnVuY3Rpb25zLmggJChTT1VSQ0VfRElSKS90aW1lc29mdGZsb2F0LmMKKysJJChDT01QSUxFX0MpICQoU09VUkNFX0RJUikvdGltZXNvZnRmbG9hdC5jCisrCisrdGltZXNvZnRmbG9hdCQoRVhFKTogJChPQkpTX1RJTUVTT0ZURkxPQVQpIHRlc3RmbG9hdCQoTElCKSAkKFNPRlRGTE9BVF9MSUIpCisrCSQoTElOSykgJF4gJChPVEhFUl9MSUJTKQorKworK09CSlNfVEVTVEZMT0FUX0dFTiA9IGdlbkxvb3BzJChPQkopIHRlc3RmbG9hdF9nZW4kKE9CSikKKysKKytnZW5Mb29wcyQoT0JKKTogXAorKyAgcGxhdGZvcm0uaCAkKFNPVVJDRV9ESVIpL3VpbnQxMjguaCAkKFNPVVJDRV9ESVIpL2ZhaWwuaCAkKFNPRlRGTE9BVF9IKSBcCisrICAkKFNPVVJDRV9ESVIpL2dlbkNhc2VzLmggJChTT1VSQ0VfRElSKS93cml0ZUhleC5oICQoU09VUkNFX0RJUikvZ2VuTG9vcHMuaCBcCisrICAkKFNPVVJDRV9ESVIpL2dlbkxvb3BzLmMKKysJJChDT01QSUxFX0MpICQoU09VUkNFX0RJUikvZ2VuTG9vcHMuYworK3Rlc3RmbG9hdF9nZW4kKE9CSik6IFwKKysgICQoU09VUkNFX0RJUikvZmFpbC5oICQoU09GVEZMT0FUX0gpICQoU09VUkNFX0RJUikvZnVuY3Rpb25zLmggXAorKyAgJChTT1VSQ0VfRElSKS9nZW5DYXNlcy5oICQoU09VUkNFX0RJUikvZ2VuTG9vcHMuaCBcCisrICAkKFNPVVJDRV9ESVIpL3Rlc3RmbG9hdF9nZW4uYworKwkkKENPTVBJTEVfQykgJChTT1VSQ0VfRElSKS90ZXN0ZmxvYXRfZ2VuLmMKKysKKyt0ZXN0ZmxvYXRfZ2VuJChFWEUpOiAkKE9CSlNfVEVTVEZMT0FUX0dFTikgdGVzdGZsb2F0JChMSUIpICQoU09GVEZMT0FUX0xJQikKKysJJChMSU5LKSAkXiAkKE9USEVSX0xJQlMpCisrCisrT0JKU19URVNURkxPQVRfVkVSID0gdmVyTG9vcHMkKE9CSikgdGVzdGZsb2F0X3ZlciQoT0JKKQorKworK3Zlckxvb3BzJChPQkopOiBcCisrICBwbGF0Zm9ybS5oICQoU09VUkNFX0RJUikvdWludDEyOC5oICQoU09VUkNFX0RJUikvZmFpbC5oICQoU09GVEZMT0FUX0gpIFwKKysgICQoU09VUkNFX0RJUikvcmVhZEhleC5oICQoU09VUkNFX0RJUikvdmVyQ2FzZXMuaCAkKFNPVVJDRV9ESVIpL3dyaXRlQ2FzZS5oIFwKKysgICQoU09VUkNFX0RJUikvdmVyTG9vcHMuaCAkKFNPVVJDRV9ESVIpL3Zlckxvb3BzLmMKKysJJChDT01QSUxFX0MpICQoU09VUkNFX0RJUikvdmVyTG9vcHMuYworK3Rlc3RmbG9hdF92ZXIkKE9CSik6IFwKKysgIHBsYXRmb3JtLmggJChTT1VSQ0VfRElSKS91aW50MTI4LmggJChTT1VSQ0VfRElSKS9mYWlsLmggJChTT0ZURkxPQVRfSCkgXAorKyAgJChTT1VSQ0VfRElSKS9mdW5jdGlvbnMuaCAkKFNPVVJDRV9ESVIpL3ZlckNhc2VzLmggXAorKyAgJChTT1VSQ0VfRElSKS93cml0ZUNhc2UuaCAkKFNPVVJDRV9ESVIpL3Zlckxvb3BzLmggXAorKyAgJChTT1VSQ0VfRElSKS90ZXN0ZmxvYXRfdmVyLmMKKysJJChDT01QSUxFX0MpICQoU09VUkNFX0RJUikvdGVzdGZsb2F0X3Zlci5jCisrCisrdGVzdGZsb2F0X3ZlciQoRVhFKTogJChPQkpTX1RFU1RGTE9BVF9WRVIpIHRlc3RmbG9hdCQoTElCKSAkKFNPRlRGTE9BVF9MSUIpCisrCSQoTElOSykgJF4gJChPVEhFUl9MSUJTKQorKworK09CSlNfVEVTVEZMT0FUID0gc3ViamZsb2F0JChPQkopIHN1YmpmbG9hdF9mdW5jdGlvbnMkKE9CSikgdGVzdGZsb2F0JChPQkopCisrCisrc3ViamZsb2F0JChPQkopOiBcCisrICBwbGF0Zm9ybS5oICQoU09GVEZMT0FUX0gpICQoU1VCSl9TT1VSQ0VfRElSKS9zdWJqZmxvYXRfY29uZmlnLmggXAorKyAgJChTT1VSQ0VfRElSKS9zdWJqZmxvYXQuaCAkKFNVQkpfU09VUkNFX0RJUikvc3ViamZsb2F0LmMKKysJJChDT01QSUxFX0MpICQoU1VCSl9TT1VSQ0VfRElSKS9zdWJqZmxvYXQuYworK3N1YmpmbG9hdF9mdW5jdGlvbnMkKE9CSik6IFwKKysgIHBsYXRmb3JtLmggJChTVUJKX1NPVVJDRV9ESVIpL3N1YmpmbG9hdF9jb25maWcuaCAkKFNPVVJDRV9ESVIpL3N1YmpmbG9hdC5oIFwKKysgICQoU09VUkNFX0RJUikvZnVuY3Rpb25zLmggJChTT1VSQ0VfRElSKS9zdWJqZmxvYXRfZnVuY3Rpb25zLmMKKysJJChDT01QSUxFX0MpICQoU09VUkNFX0RJUikvc3ViamZsb2F0X2Z1bmN0aW9ucy5jCisrdGVzdGZsb2F0JChPQkopOiBcCisrICBwbGF0Zm9ybS5oICQoU09VUkNFX0RJUikvdWludDEyOC5oICQoU09VUkNFX0RJUikvZmFpbC5oICQoU09GVEZMT0FUX0gpIFwKKysgICQoU1VCSl9TT1VSQ0VfRElSKS9zdWJqZmxvYXRfY29uZmlnLmggJChTT1VSQ0VfRElSKS9zdWJqZmxvYXQuaCBcCisrICAkKFNPVVJDRV9ESVIpL2Z1bmN0aW9ucy5oICQoU09VUkNFX0RJUikvZ2VuQ2FzZXMuaCAkKFNPVVJDRV9ESVIpL3ZlckNhc2VzLmggXAorKyAgJChTT1VSQ0VfRElSKS90ZXN0TG9vcHMuaCAkKFNPVVJDRV9ESVIpL3Rlc3RmbG9hdC5jCisrCSQoQ09NUElMRV9DKSAkKFNPVVJDRV9ESVIpL3Rlc3RmbG9hdC5jCisrCisrdGVzdGZsb2F0JChFWEUpOiAkKE9CSlNfVEVTVEZMT0FUKSB0ZXN0ZmxvYXQkKExJQikgJChTT0ZURkxPQVRfTElCKQorKwkkKExJTkspICReICQoT1RIRVJfTElCUykKKysKKysuUEhPTlk6IGNsZWFuCisrY2xlYW46CisrCSQoREVMRVRFKSAkKE9CSlNfTElCKSB0ZXN0ZmxvYXQkKExJQikKKysJJChERUxFVEUpICQoT0JKU19URVNUU09GVEZMT0FUKSB0ZXN0c29mdGZsb2F0JChFWEUpCisrCSQoREVMRVRFKSAkKE9CSlNfVElNRVNPRlRGTE9BVCkgdGltZXNvZnRmbG9hdCQoRVhFKQorKwkkKERFTEVURSkgJChPQkpTX1RFU1RGTE9BVF9HRU4pIHRlc3RmbG9hdF9nZW4kKEVYRSkKKysJJChERUxFVEUpICQoT0JKU19URVNURkxPQVRfVkVSKSB0ZXN0ZmxvYXRfdmVyJChFWEUpCisrCSQoREVMRVRFKSAkKE9CSlNfVEVTVEZMT0FUKSB0ZXN0ZmxvYXQkKEVYRSkKKysKK2RpZmYgLS1naXQgYS9UZXN0RmxvYXQtM2EvYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS9wbGF0Zm9ybS5oIGIvVGVzdEZsb2F0LTNhL2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvcGxhdGZvcm0uaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjA5ZTYzYTAKKy0tLSAvZGV2L251bGwKKysrKyBiL1Rlc3RGbG9hdC0zYS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL3BsYXRmb3JtLmgKK0BAIC0wLDAgKzEsNDUgQEAKKysKKysvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysKKytUaGlzIEMgaGVhZGVyIGZpbGUgaXMgcGFydCBvZiBUZXN0RmxvYXQsIFJlbGVhc2UgM2EsIGEgcGFja2FnZSBvZiBwcm9ncmFtcyBmb3IKKyt0ZXN0aW5nIHRoZSBjb3JyZWN0bmVzcyBvZiBmbG9hdGluZy1wb2ludCBhcml0aG1ldGljIGNvbXBseWluZyB3aXRoIHRoZSBJRUVFCisrU3RhbmRhcmQgZm9yIEZsb2F0aW5nLVBvaW50LCBieSBKb2huIFIuIEhhdXNlci4KKysKKytDb3B5cmlnaHQgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisrCisrUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisrbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisrCisrIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKysgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMsIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisrCisrIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKysgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMsIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKysgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisrCisrIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heQorKyAgICBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0CisrICAgIHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKysKKytUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiwgQU5EIEFOWQorK0VYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKytXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEFSRQorK0RJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKytESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKyhJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKytMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKytPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisrU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisrCisrPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLworKworKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKysjZGVmaW5lIExJVFRMRUVORElBTiAxCisrCisrLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworKyNkZWZpbmUgSU5MSU5FIGV4dGVybiBpbmxpbmUKKysKKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGVzdGZsb2F0L3Rlc3RmbG9hdF8zYS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rlc3RmbG9hdC90ZXN0ZmxvYXRfM2EuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhlOTY3NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3Rlc3RmbG9hdC90ZXN0ZmxvYXRfM2EuYmIKQEAgLTAsMCArMSwzNSBAQAorREVTQ1JJUFRJT04gPSAiQmVya2VsZXkgVGVzdEZsb2F0IGlzIGEgc21hbGwgY29sbGVjdGlvbiBvZiBwcm9ncmFtcyBmb3IgXAorICAgIHRlc3RpbmcgdGhhdCBhbiBpbXBsZW1lbnRhdGlvbiBvZiBiaW5hcnkgZmxvYXRpbmctcG9pbnQgY29uZm9ybXMgdG8gdGhlIFwKKyAgICBJRUVFIFN0YW5kYXJkIGZvciBGbG9hdGluZy1Qb2ludCBBcml0aG1ldGljLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5qaGF1c2VyLnVzL2FyaXRobWV0aWMvVGVzdEZsb2F0Lmh0bWwiCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vVGVzdEZsb2F0LSR7UFZ9L0NPUFlJTkcudHh0O21kNT1lNDVjMTc1YTMyM2I1NzI3Nzc3ZmI2YmQ0YjI2ZWFmYyIKKworU1JDX1VSSSA9ICJcCisgICAgaHR0cDovL3d3dy5qaGF1c2VyLnVzL2FyaXRobWV0aWMvVGVzdEZsb2F0LTNhLnppcDtuYW1lPVRlc3RGbG9hdCBcCisgICAgaHR0cDovL3d3dy5qaGF1c2VyLnVzL2FyaXRobWV0aWMvU29mdEZsb2F0LTNhLnppcDtuYW1lPVNvZnRGbG9hdCBcCisgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUtZm9yLWNyb3NzLWNvbXBpbGUtU29mdEZsb2F0LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1NYWtlZmlsZS1mb3ItY3Jvc3MtY29tcGlsZS1UZXN0RmxvYXQucGF0Y2ggXAorIgorU1JDX1VSSVtUZXN0RmxvYXQubWQ1c3VtXSA9ICI1YTEyNGU4NWFiNzRjNWU1MmRhMjdkNDAxY2VhNmNjMyIKK1NSQ19VUklbVGVzdEZsb2F0LnNoYTI1NnN1bV0gPSAiZmEyNThiNWIzYzc1MTY1NmEzNzIwNTFhZGVlNDE4M2UxOWFkNDc2MzAzMjMyMmViN2E4N2RmYjllMmMyMmM3NSIKK1NSQ19VUklbU29mdEZsb2F0Lm1kNXN1bV0gPSAiZTUzYmQ0NTUwY2Y5OTY5MDY0MmM0MTM3NGQxODg1MTciCitTUkNfVVJJW1NvZnRGbG9hdC5zaGEyNTZzdW1dID0gIjk0NmZkMjMxODA1NTlkNjBlYjY2ODNkZGExY2Y4YjE0MmY1NDI2ZGVkZmVmYjk3YjAzYzZhZmRmZDcwZWU5ZTAiCisKK1MgPSAiJHtXT1JLRElSfSIKKworZG9fY29tcGlsZSgpeworICAgIG9lX3J1bm1ha2UgLUMgU29mdEZsb2F0LSR7UFZ9L2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvCisgICAgb2VfcnVubWFrZSAtQyBUZXN0RmxvYXQtJHtQVn0vYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS8KK30KKworZG9faW5zdGFsbCgpeworICAgIGluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0KKyAgICBpbnN0YWxsICR7U30vVGVzdEZsb2F0LSR7UFZ9L2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvdGVzdGZsb2F0ICAgICAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgJHtTfS9UZXN0RmxvYXQtJHtQVn0vYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS90ZXN0ZmxvYXRfZ2VuICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAke1N9L1Rlc3RGbG9hdC0ke1BWfS9idWlsZC9MaW51eC1Dcm9zcy1Db21waWxlL3Rlc3RmbG9hdF92ZXIgJHtEfS8ke2JpbmRpcn0KKyAgICBpbnN0YWxsICR7U30vVGVzdEZsb2F0LSR7UFZ9L2J1aWxkL0xpbnV4LUNyb3NzLUNvbXBpbGUvdGVzdHNvZnRmbG9hdCAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgJHtTfS9UZXN0RmxvYXQtJHtQVn0vYnVpbGQvTGludXgtQ3Jvc3MtQ29tcGlsZS90aW1lc29mdGZsb2F0ICR7RH0vJHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90aXBjdXRpbHMvdGlwY3V0aWxzXzIuMC42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGlwY3V0aWxzL3RpcGN1dGlsc18yLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWM4ZmFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGlwY3V0aWxzL3RpcGN1dGlsc18yLjAuNi5iYgpAQCAtMCwwICsxLDQzIEBACitTVU1NQVJZID0gIlRyYW5zcGFyZW50IEludGVyLVByb2Nlc3MgQ29tbXVuaWNhdGlvbiBwcm90b2NvbCIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdGlwYy1jb25maWcvdGlwYy1jb25maWcuYztlbmRsaW5lPTMyO21kNT01MjdhM2Q1NzQ1ZTE1ODFiMTVhNGZkZGZiNWRmZGE2OCIKKworU1JDX1VSSSA9ICJnaXQ6Ly90aXBjLmdpdC5zb3VyY2Vmb3JnZS5uZXQvZ2l0cm9vdC90aXBjL3RpcGN1dGlscyIKK1NSQ1JFViA9ICIyOTJhMDNlMTdmODg5MDEzZmNhMmM3YmQwYWFlZWJkNjAwYzg4ZjQwIgorCitERVBFTkRTPSJ2aXJ0dWFsL2tlcm5lbCIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgKCBjZCAke1N9OyAke1N9L2Jvb3RzdHJhcCApCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGRlbW9zPSJiZW5jaG1hcmsgaGVsbG9fd29ybGQgdG9wb2xvZ3lfc3Vic2NyX2RlbW8gY29ubmVjdGlvbl9kZW1vIFwKKyAgICAgICAgICAgbXVsdGljYXN0X2RlbW8gc3RyZWFtX2RlbW8iCisgICAgZm9yIGkgaW4gJGRlbW9zO2RvCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS9vcHQvdGlwY3V0aWxzL2RlbW9zLyRpCisgICAgICAgIGluc3RhbGwgJHtCfS9kZW1vcy8kaS9jbGllbnRfdGlwYyAke0R9L29wdC90aXBjdXRpbHMvZGVtb3MvJGkvCisgICAgICAgIGluc3RhbGwgJHtCfS9kZW1vcy8kaS9zZXJ2ZXJfdGlwYyAke0R9L29wdC90aXBjdXRpbHMvZGVtb3MvJGkvCisgICAgZG9uZQorICAgIGluc3RhbGwgLWQgJHtEfS9vcHQvdGlwY3V0aWxzL2RlbW9zL2ludmVudG9yeV9zaW0KKyAgICBpbnN0YWxsICR7Qn0vZGVtb3MvaW52ZW50b3J5X3NpbS9pbnZlbnRvcnlfc2ltICR7RH0vb3B0L3RpcGN1dGlscy9kZW1vcy9pbnZlbnRvcnlfc2ltLworCisgICAgaW5zdGFsbCAtZCAke0R9L29wdC90aXBjdXRpbHMvcHR0cworICAgIGluc3RhbGwgJHtCfS9wdHRzL3RpcGNUUyAke0R9L29wdC90aXBjdXRpbHMvcHR0cy8KKyAgICBpbnN0YWxsICR7Qn0vcHR0cy90aXBjVEMgJHtEfS9vcHQvdGlwY3V0aWxzL3B0dHMvCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtTfS9zY3JpcHRzL2V0Yy8qICR7RH0ke3N5c2NvbmZkaXJ9LworICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9JHtzeXNjb25mZGlyfQorfQorCitQQUNLQUdFUyArPSAiJHtQTn0tZGVtb3MiCitGSUxFU18ke1BOfS1kYmcgKz0gIi9vcHQvdGlwY3V0aWxzL2RlbW9zLyovLmRlYnVnIC9vcHQvdGlwY3V0aWxzL3B0dHMvLmRlYnVnIgorRklMRVNfJHtQTn0tZGVtb3MgPSAiL29wdC90aXBjdXRpbHMvKiIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGlwdG9wL3RpcHRvcF8yLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC90aXB0b3AvdGlwdG9wXzIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTk4MTE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdGlwdG9wL3RpcHRvcF8yLjMuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJIYXJkd2FyZSBwZXJmb3JtYW5jZSBtb25pdG9yaW5nIGNvdW50ZXJzIgorSE9NRVBBR0UgPSAiaHR0cDovL3RpcHRvcC5nZm9yZ2UuaW5yaWEuZnIvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorREVQRU5EUyA9ICJuY3Vyc2VzIGxpYnhtbDIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3RpcHRvcC5nZm9yZ2UuaW5yaWEuZnIvcmVsZWFzZXMvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImYxZmJhMWU5MDQ2NWIwZTVhMzg2NWIxOTEzM2ZhMTlkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNmMDdlOTU4YjQwYWNhZWFiOThlOWViMTMyNmM5ZjkxYjBiZTBhNzgyYzFjYzJiZDdhOWUxOGQzMWZhYjE4Y2EiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorRVhUUkFfT0VDT05GID0gIkNGTEFHUz0iJENGTEFHUyAtSSR7U1RBR0lOR19JTkNESVJ9L2xpYnhtbDIiIgorQ09NUEFUSUJMRV9IT1NUID0gIihpLjg2fHg4Nl82NHxhcm18cG93ZXJwYykuKi1saW51eCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgICMgVHdvIGJ1Z3MgaW4gY29uZmlndXJlLmFjIHdoZW4gY3Jvc3MtY29tcGlsaW5nLgorICAgICMgMS4gVGhlIHBhdGggb2YgbGlieG1sMi4gU3BlY2lmeSBpdCBpbiBFWFRSQV9PRUNPTkYuCisgICAgIyAyLiBodydzIHZhbHVlIG9uIG90aGVyIHBsYXRmb3Jtcy4gUmVwbGFjZSBpdCBpZiB0aGUgdGFyZ2V0IGlzIAorICAgICMgICAgbm90IGkqODYveDg2XzY0LgorICAgIGlmICggZWNobyAiJHtUQVJHRVRfQVJDSH0iIHwgZ3JlcCAtcSAtZSAnaS44NicgLWUgJ3g4Nl82NCcgKTsgdGhlbgorICAgICAgICBzZWQgLWkgJ3M9IC1JL3Vzci9pbmNsdWRlL2xpYnhtbDI9PScgICAgJHtTfS9jb25maWd1cmUuYWMKKyAgICBlbHNlCisgICAgICAgIHNlZCAtaSAncy9odz1gdW5hbWUgLW1gL2h3PSJ1bmtub3duIi8nICAke1N9L2NvbmZpZ3VyZS5hYworICAgICAgICBzZWQgLWkgJ3M9IC1JL3Vzci9pbmNsdWRlL2xpYnhtbDI9PScgICAgJHtTfS9jb25maWd1cmUuYWMKKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdG11eC90bXV4XzIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3RtdXgvdG11eF8yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmYyMWRlNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3RtdXgvdG11eF8yLjEuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJUZXJtaW5hbCBtdWx0aXBsZXhlciIKK0hPTUVQQUdFID0gImh0dHA6Ly90bXV4LnNvdXJjZWZvcmdlLm5ldCIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKKworTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly90bXV4LmM7YmVnaW5saW5lPTM7ZW5kbGluZT0xNzttZDU9ODY4NWI0NDU1MzMwYTk0MGZhYjFmZjQ1MWFhOTQxYTAiCisKK0RFUEVORFMgPSAibmN1cnNlcyBsaWJldmVudCIKKworCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdG11eC90bXV4LmdpdDticmFuY2g9bWFzdGVyIgorU1JDUkVWID89ICIzMTBmMGE5NjBjYTY0ZmEzODA5NTQ1YmFkYzYyOWMwYzE2NmM2Y2QyIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorQiA9ICIke1dPUktESVJ9L2J1aWxkIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbdXRlbXB0ZXJdID0gImFjX2N2X2hlYWRlcl91dGVtcHRlcl9oPXllcyxhY19jdl9oZWFkZXJfdXRlbXB0ZXJfaD1ubyxsaWJ1dGVtcHRlciwiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VtbC11dGlsaXRpZXMvdW1sLXV0aWxpdGllcy0yMDA0MDQwNi9maXgtbGRmbGFncy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VtbC11dGlsaXRpZXMvdW1sLXV0aWxpdGllcy0yMDA0MDQwNi9maXgtbGRmbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWNjNTM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdW1sLXV0aWxpdGllcy91bWwtdXRpbGl0aWVzLTIwMDQwNDA2L2ZpeC1sZGZsYWdzLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKKworIworIyBQYXRjaCBtYW5hZ2VkIGJ5IGh0dHA6Ly93d3cubW4tbG9naXN0aWsuZGUvdW5zdXBwb3J0ZWQvcHhhMjUwL3BhdGNoZXIKKyMKKworLS0tIHRvb2xzL21jb25zb2xlL01ha2VmaWxlfmZpeC1sZGZsYWdzCTIwMDMtMDItMDggMDU6MTA6MDguMDAwMDAwMDAwICswMTAwCisrKysgdG9vbHMvbWNvbnNvbGUvTWFrZWZpbGUJMjAwNC0wNC0wMSAxNTozNzozNy4wMDAwMDAwMDAgKzAyMDAKK0BAIC03LDcgKzcsNyBAQAorIGFsbCA6ICQoQklOKQorIAorICQoQklOKSA6ICQoT0JKUykKKy0JJChDQykgJChDRkxBR1MpIC1vICQoQklOKSAkKE9CSlMpIC1scmVhZGxpbmUgLWxuY3Vyc2VzCisrCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkKEJJTikgJChPQkpTKSAkKExERkxBR1MpIC1scmVhZGxpbmUgLWxuY3Vyc2VzCisgCisgY2xlYW4gOiAKKyAJcm0gLWYgJChCSU4pICQoT0JKUykgKn4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VtbC11dGlsaXRpZXMvdW1sLXV0aWxpdGllcy0yMDA0MDQwNi91bnN0cmlwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdW1sLXV0aWxpdGllcy91bWwtdXRpbGl0aWVzLTIwMDQwNDA2L3Vuc3RyaXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODY4MDAxZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VtbC11dGlsaXRpZXMvdW1sLXV0aWxpdGllcy0yMDA0MDQwNi91bnN0cmlwLnBhdGNoCkBAIC0wLDAgKzEsODQgQEAKK0RvbnQgc3RyaXAgZHVyaW5nIGluc3RhbGwgbGV0IHRoZSBwYWNrYWdpbmcgaGFuZGxlIGl0CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK0luZGV4OiB0b29scy9qYWlsdGVzdC9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHRvb2xzLm9yaWcvamFpbHRlc3QvTWFrZWZpbGUJMjAwMy0wMi0wNyAyMDoxMDoyNy4wMDAwMDAwMDAgLTA4MDAKKysrKyB0b29scy9qYWlsdGVzdC9NYWtlZmlsZQkyMDEyLTA5LTA1IDEyOjEzOjU2LjA2MTYxNTg1NCAtMDcwMAorQEAgLTE0LDQgKzE0LDQgQEAKKyAKKyBpbnN0YWxsIDogJChCSU4pCisgCWluc3RhbGwgLWQgJChERVNURElSKSQoQklOX0RJUikKKy0JaW5zdGFsbCAtcyAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKKysJaW5zdGFsbCAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKK0luZGV4OiB0b29scy9tY29uc29sZS9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHRvb2xzLm9yaWcvbWNvbnNvbGUvTWFrZWZpbGUJMjAxMi0wOS0wNSAxMjowNTowOS44Njk2MDcwNDMgLTA3MDAKKysrKyB0b29scy9tY29uc29sZS9NYWtlZmlsZQkyMDEyLTA5LTA1IDEyOjE0OjA3LjcyNTYwNzQ2OSAtMDcwMAorQEAgLTE0LDQgKzE0LDQgQEAKKyAKKyBpbnN0YWxsIDogJChCSU4pCisgCWluc3RhbGwgLWQgJChERVNURElSKSQoQklOX0RJUikKKy0JaW5zdGFsbCAtcyAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKKysJaW5zdGFsbCAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKK0luZGV4OiB0b29scy9tb28vTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB0b29scy5vcmlnL21vby9NYWtlZmlsZQkyMDAzLTA2LTI2IDA5OjI3OjAwLjAwMDAwMDAwMCAtMDcwMAorKysrIHRvb2xzL21vby9NYWtlZmlsZQkyMDEyLTA5LTA1IDEyOjE0OjIwLjk4MTYwNDU4MCAtMDcwMAorQEAgLTIyLDQgKzIyLDQgQEAKKyAKKyBpbnN0YWxsIDogJChCSU4pCisgCWluc3RhbGwgLWQgJChERVNURElSKSQoQklOX0RJUikKKy0JaW5zdGFsbCAtcyAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKKysJaW5zdGFsbCAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKK0luZGV4OiB0b29scy9wb3J0LWhlbHBlci9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHRvb2xzLm9yaWcvcG9ydC1oZWxwZXIvTWFrZWZpbGUJMjAwMy0wMi0wNyAyMDowNTozMS4wMDAwMDAwMDAgLTA4MDAKKysrKyB0b29scy9wb3J0LWhlbHBlci9NYWtlZmlsZQkyMDEyLTA5LTA1IDEyOjE0OjM5LjQyOTYwOTY3OCAtMDcwMAorQEAgLTE0LDQgKzE0LDQgQEAKKyAKKyBpbnN0YWxsIDogJChCSU4pCisgCWluc3RhbGwgLWQgJChERVNURElSKSQoTElCX0RJUikKKy0JaW5zdGFsbCAtcyAkKEJJTikgJChERVNURElSKSQoTElCX0RJUikKKysJaW5zdGFsbCAkKEJJTikgJChERVNURElSKSQoTElCX0RJUikKK0luZGV4OiB0b29scy90dW5jdGwvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB0b29scy5vcmlnL3R1bmN0bC9NYWtlZmlsZQkyMDAzLTAyLTA3IDIwOjA1OjA0LjAwMDAwMDAwMCAtMDgwMAorKysrIHRvb2xzL3R1bmN0bC9NYWtlZmlsZQkyMDEyLTA5LTA1IDEyOjE0OjQ5Ljk4NTYwNjQ3MCAtMDcwMAorQEAgLTE0LDQgKzE0LDQgQEAKKyAKKyBpbnN0YWxsIDogJChCSU4pCisgCWluc3RhbGwgLWQgJChERVNURElSKSQoQklOX0RJUikKKy0JaW5zdGFsbCAtcyAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKKysJaW5zdGFsbCAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKK0luZGV4OiB0b29scy91bWxfbmV0L01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdG9vbHMub3JpZy91bWxfbmV0L01ha2VmaWxlCTIwMDMtMDItMDcgMjA6MDQ6NTUuMDAwMDAwMDAwIC0wODAwCisrKysgdG9vbHMvdW1sX25ldC9NYWtlZmlsZQkyMDEyLTA5LTA1IDEyOjE1OjAwLjk2MTYwNzI5MCAtMDcwMAorQEAgLTIxLDQgKzIxLDQgQEAKKyAKKyBpbnN0YWxsIDogJChCSU4pCisgCWluc3RhbGwgLWQgJChERVNURElSKSQoQklOX0RJUikKKy0JaW5zdGFsbCAtcyAtbSAwNDc1NSAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKKysJaW5zdGFsbCAtbSAwNDc1NSAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKK0luZGV4OiB0b29scy91bWxfcm91dGVyL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdG9vbHMub3JpZy91bWxfcm91dGVyL01ha2VmaWxlCTIwMDMtMDItMDcgMjA6MDQ6MzkuMDAwMDAwMDAwIC0wODAwCisrKysgdG9vbHMvdW1sX3JvdXRlci9NYWtlZmlsZQkyMDEyLTA5LTA1IDEyOjE1OjEwLjY0OTYwNzU3MSAtMDcwMAorQEAgLTIwLDQgKzIwLDQgQEAKKyAKKyBpbnN0YWxsIDogJChCSU4pCisgCWluc3RhbGwgLWQgJChERVNURElSKSQoQklOX0RJUikKKy0JaW5zdGFsbCAtcyAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKKysJaW5zdGFsbCAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKK0luZGV4OiB0b29scy93YXRjaGRvZy9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHRvb2xzLm9yaWcvd2F0Y2hkb2cvTWFrZWZpbGUJMjAwMy0wMi0wNyAyMDowNDoyNS4wMDAwMDAwMDAgLTA4MDAKKysrKyB0b29scy93YXRjaGRvZy9NYWtlZmlsZQkyMDEyLTA5LTA1IDEyOjE1OjM1LjU2MTYxMjIwMyAtMDcwMAorQEAgLTE0LDQgKzE0LDQgQEAKKyAKKyBpbnN0YWxsIDogJChCSU4pCisgCWluc3RhbGwgLWQgJChERVNURElSKSQoQklOX0RJUikKKy0JaW5zdGFsbCAtcyAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKKysJaW5zdGFsbCAkKEJJTikgJChERVNURElSKSQoQklOX0RJUikKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VtbC11dGlsaXRpZXMvdW1sLXV0aWxpdGllc18yMDA0MDQwNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VtbC11dGlsaXRpZXMvdW1sLXV0aWxpdGllc18yMDA0MDQwNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWNjMmU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdW1sLXV0aWxpdGllcy91bWwtdXRpbGl0aWVzXzIwMDQwNDA2LmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIGZvciBVc2VyLU1vZGUtTGludXgiCitMSUNFTlNFID0gIkdQTC0yLjAiCitERVBFTkRTID0gInpsaWIgbmN1cnNlcyByZWFkbGluZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L3VzZXItbW9kZS1saW51eC90b29scy8xL3VtbF91dGlsaXRpZXNfJHtQVn0udGFyLmJ6MiAgXAorICAgICAgICAgICBmaWxlOi8vZml4LWxkZmxhZ3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdW5zdHJpcC5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMmMxY2NkOWVmYWNiZmIzOWU0MmQ0ODJiODliMjU1MGEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGYxNzliMWRiMDIxZWYxNWFjN2U5YjJlZWQ1N2M1MjVkYjEyN2E3NTRjNTc0ZjU5MWMzNjc0NjBjZGVkOWY0MSIKKworUFIgPSAicjEiCisKK1MgPSAiJHtXT1JLRElSfS90b29scyIKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitGSUxFU18ke1BOfSArPSAiJHtleGVjX3ByZWZpeH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9IgorRklMRVNfJHtQTn0tZGJnICs9ICIke2V4ZWNfcHJlZml4fSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdW1sLy5kZWJ1ZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3dpcGUvZmlsZXMvc3VwcG9ydC1jcm9zcy1jb21waWxlLWZvci1saW51eC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3dpcGUvZmlsZXMvc3VwcG9ydC1jcm9zcy1jb21waWxlLWZvci1saW51eC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjNhZWU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvd2lwZS9maWxlcy9zdXBwb3J0LWNyb3NzLWNvbXBpbGUtZm9yLWxpbnV4LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gMzVmMTRiZDVhYmEyZWQ2Y2VlMjU4ZTExZWFiNDJjNDA4YWZjMDRkMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgNCBOb3YgMjAxNSAwMjoyOTowNSAtMDUwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZTogc3VwcG9ydCBjcm9zcyBjb21waWxlIGZvciBsaW51eAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgNSArKystLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAxN2Q5NzU4Li45ZTc0Y2RmIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtNDEsNyArNDEsNyBAQAorICMgTGludXggMi4wLngKKyAjCisgCistQ0NfTElOVVg9Z2NjCisrQ0NfTElOVVg9JChDQykKKyBDQ09fTElOVVg9LVdhbGwgLURIQVZFX0RFVl9VUkFORE9NIC1ESEFWRV9PU1lOQyAtREhBVkVfU1RSQ0FTRUNNUCAtREhBVkVfUkFORE9NIC1EV0VBS19SQzYgLURTWU5DX1dBSVRTX0ZPUl9TWU5DIC1ERklORF9ERVZJQ0VfU0laRV9CWV9CTEtHRVRTSVpFIC1EU0lYVFlGT1VSIC1EX19VU0VfTEFSR0VGSUxFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQKKyAjIGRlZmF1bHQgc2hvdWxkIGJlIHRvIHR1cm4gb2ZmIGRlYnVnZ2luZyBhbmQgdG8gdHVybiBvbiBvcHRpbWl6YXRpb24uCisgI0NDT19MSU5VWCs9LU85IC1waXBlIC1mb21pdC1mcmFtZS1wb2ludGVyIC1maW5saW5lLWZ1bmN0aW9ucyAtZnVucm9sbC1sb29wcyAtZnN0cmVuZ3RoLXJlZHVjZQorQEAgLTE4NSw2ICsxODUsNyBAQCBjbGVhbgk6CisgCQlybSAtZiB3aXBlICQoT0JKRUNUUykgd2lwZS50ci1hc2MuMSB2ZXJzaW9uLmgKKyAKKyBpbnN0YWxsOgorLQlpbnN0YWxsIC1tNzU1IC1vIHJvb3QgLWcgcm9vdCB3aXBlICQoREVTVERJUikvdXNyL2JpbgorKwlbIC1lICQoREVTVERJUikkKGJpbmRpcikgXSB8fCBta2RpciAtcCAkKERFU1RESVIpJChiaW5kaXIpCisrCWluc3RhbGwgLW03NTUgLW8gcm9vdCAtZyByb290IHdpcGUgJChERVNURElSKSQoYmluZGlyKQorIAorIC5QSE9OWTogYWx3YXlzIGNsZWFuIGluc3RhbGwKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvd2lwZS93aXBlX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3dpcGUvd2lwZV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzAyMjlmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3dpcGUvd2lwZV9naXQuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJBIFVOSVggdG9vbCBmb3Igc2VjdXJlIGRlbGV0aW9uIgorREVTQ1JJUFRJT04gPSAiV2lwZSBpcyBhIGxpdHRsZSBjb21tYW5kIGZvciBzZWN1cmVseSBlcmFzaW5nIGZpbGVzIGZyb20gXAorbWFnbmV0aWMgbWVkaWEuIEl0IGNvbXBpbGVzIHVuZGVyIHZhcmlvdXMgdW5peCBwbGF0Zm9ybXMsIFwKK2luY2x1ZGluZyBMaW51eCAyLiAqICwgKE9wZW4sIE5ldCwgRnJlZSlCU0QsIGFpeCA0LjEsIFN1bk9TIFwKKzUuNS4xLCBTb2xhcmlzIDIuNi4gd2lwZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgR1BMLiBQcmUtY29tcGlsZWQgXAorcGFja2FnZXMgYXJlIGF2YWlsYWJsZSBvbiBtb3N0IExpbnV4IGRpc3RyaWJ1dGlvbnMuIFwKK1VuZGVyIERlYmlhbiwgdGhlIHBhY2thZ2UgbmFtZSBpcyB3aXBlIgorSE9NRVBBR0UgPSAiaHR0cDovL2xhbWJkYS1kaW9kZS5jb20vc29mdHdhcmUvd2lwZS8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vR1BMO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2JlcmtlL3dpcGUuZ2l0O2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vc3VwcG9ydC1jcm9zcy1jb21waWxlLWZvci1saW51eC5wYXRjaCBcCisgICAgICAgICAgIgorU1JDUkVWID0gImQ5YzEwMGM5Y2QwYjFjYmJlNDM1OWU0ZDZjOWEwMzVkMTFlNzU5N2MiCitQViA9ICIwLjIzK2dpdCR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitFWFRSQV9PRU1BS0UgPSAibGludXgiCisKK2RvX2luc3RhbGwoKSB7CisJbWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvenJhbS96cmFtL2luaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC96cmFtL3pyYW0vaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjZjYmY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvenJhbS96cmFtL2luaXQKQEAgLTAsMCArMSw4NSBAQAorIyEvYmluL3NoCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiB6cmFtCisjIFJlcXVpcmVkLVN0YXJ0OgorIyBSZXF1aXJlZC1TdG9wOgorIyBEZWZhdWx0LVN0YXJ0OiAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDogMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IEluY3JlYXNlZCBQZXJmb3JtYW5jZSBJbiBMaW51eCBXaXRoIHpSYW0gKFZpcnR1YWwgU3dhcCBDb21wcmVzc2VkIGluIFJBTSkKKyMgRGVzY3JpcHRpb246IEFkYXB0ZWQgZnJvbSBzeXN0ZW1kIHNjcmlwdHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL215c3RpbGxlZWYvRmVkb3JhWnJhbQorIyBJbmNsdWRlZCBhcyBwYXJ0IG9mIGFudGl4LWdvb2RpZXMgcGFja2FnZSBieSBhbnRpY2FwaXRhbGlzdGEgPGFudGlYQG9wZXJhbWFpbC5jb20+CisjIFRoaXMgc2NyaXB0IHdhcyB3cml0dGVuIGJ5IHRyYWRldGF4ZnJlZSBhbmQgaXMgZm91bmQgYXQgaHR0cDovL2NydW5jaGJhbmdsaW51eC5vcmcvZm9ydW1zL3RvcGljLzE1MzQ0L3pyYW0tYS1nb29kLWlkZWEvCisjIENvcHkgdGhpcyBzY3JpcHQgKGFzIHJvb3QpIGZyb20gL3Vzci9sb2NhbC9iaW4gdG8gL2V0Yy9pbml0LmQgYW5kIHRoZW4gI3VwZGF0ZS1yYy5kIHpyYW0gZGVmYXVsdHMKKyMgQWZ0ZXIgYm9vdGluZyB2ZXJpZnkgdGhlIG1vZHVsZSBpcyBsb2FkZWQgd2l0aDogbHNtb2QgfCBncmVwIHpyYW0KKyMjIyBFTkQgSU5JVCBJTkZPCitzZXQgLWUKKworc3RhcnQoKSB7CisgICAgIyBnZXQgdGhlIG51bWJlciBvZiBDUFVzCisgICAgbnVtX2NwdXM9JChncmVwIC1jIHByb2Nlc3NvciAvcHJvYy9jcHVpbmZvKQorICAgICMgaWYgc29tZXRoaW5nIGdvZXMgd3JvbmcsIGFzc3VtZSB3ZSBoYXZlIDEKKyAgICBbICIkbnVtX2NwdXMiICE9IDAgXSB8fCBudW1fY3B1cz0xCisKKyAgICAjIHNldCBkZWNyZW1lbnRlZCBudW1iZXIgb2YgQ1BVcworICAgIGxhc3RfY3B1PSQoKG51bV9jcHVzIC0gMSkpCisKKyAgICAjZGVmYXVsdCBGYWN0b3IgJSA9IDkwIGNoYW5nZSB0aGlzIHZhbHVlIGhlcmUgb3IgY3JlYXRlIC9ldGMvZGVmYXVsdC96cmFtCisgICAgRkFDVE9SPTkwCisgICAgIyYgcHV0IHRoZSBhYm92ZSBzaW5nbGUgbGluZSBpbiAvZXRjL2RlZmF1bHQvenJhbSB3aXRoIHRoZSB2YWx1ZSB5b3Ugd2FudAorICAgIFsgLWYgL2V0Yy9kZWZhdWx0L3pyYW0gXSAmJiAuIC9ldGMvZGVmYXVsdC96cmFtIHx8IHRydWUKKyAgICBmYWN0b3I9JEZBQ1RPUiAjIHBlcmNlbnRhZ2UKKworICAgICMgZ2V0IHRoZSBhbW91bnQgb2YgbWVtb3J5IGluIHRoZSBtYWNoaW5lCisgICAgbWVtdG90YWw9JChncmVwIE1lbVRvdGFsIC9wcm9jL21lbWluZm8gfCBhd2sgJyB7IHByaW50ICQyIH0gJykKKyAgICBtZW1fYnlfY3B1PSQoKCRtZW10b3RhbC8kbnVtX2NwdXMqJGZhY3Rvci8xMDAqMTAyNCkpCisKKyAgICAjIGxvYWQgZGVwZW5kZW5jeSBtb2R1bGVzCisgICAgbW9kcHJvYmUgenJhbSB6cmFtX251bV9kZXZpY2VzPSRudW1fY3B1cworICAgIGVjaG8gInpyYW0gZGV2aWNlcyBwcm9iZWQgc3VjY2Vzc2Z1bGx5IgorCisgICAgIyBpbml0aWFsaXplIHRoZSBkZXZpY2VzCisgICAgZm9yIGkgaW4gJChzZXEgMCAkbGFzdF9jcHUpOyBkbworICAgIAllY2hvIDEgPiAvc3lzL2Jsb2NrL3pyYW0kaS9yZXNldAorICAgIAllY2hvICRtZW1fYnlfY3B1ID4gL3N5cy9ibG9jay96cmFtJGkvZGlza3NpemUKKyAgICAJIyBDcmVhdGluZyBzd2FwIGZpbGVzeXN0ZW1zCisgICAgCW1rc3dhcCAvZGV2L3pyYW0kaQorICAgIAkjIFN3aXRjaCB0aGUgc3dhcHMgb24KKyAgICAJc3dhcG9uIC1wIDEwMCAvZGV2L3pyYW0kaQorICAgIGRvbmUKK30KKworc3RvcCgpIHsKKyAgICAjIGdldCB0aGUgbnVtYmVyIG9mIENQVXMKKyAgICBudW1fY3B1cz0kKGdyZXAgLWMgcHJvY2Vzc29yIC9wcm9jL2NwdWluZm8pCisKKyAgICAjIHNldCBkZWNyZW1lbnRlZCBudW1iZXIgb2YgQ1BVcworICAgIGxhc3RfY3B1PSQoKG51bV9jcHVzIC0gMSkpCisKKyAgICAjIFN3aXRjaGluZyBvZmYgc3dhcAorICAgIGZvciBpIGluICQoc2VxIDAgJGxhc3RfY3B1KTsgZG8KKyAgICAJaWYgWyAiJChncmVwIC9kZXYvenJhbSRpIC9wcm9jL3N3YXBzKSIgIT0gIiIgXTsgdGhlbgorICAgIAkJc3dhcG9mZiAvZGV2L3pyYW0kaQorICAgIAkJc2xlZXAgMQorICAgIAlmaQorICAgIGRvbmUKKyAgICBzbGVlcCAxCisgICAgcm1tb2QgenJhbQorfQorCitjYXNlICIkMSIgaW4KKyAgICBzdGFydCkKKyAgICAgICAgc3RhcnQKKyAgICAgICAgOzsKKyAgICBzdG9wKQorICAgICAgICBzdG9wCisgICAgICAgIDs7CisgICAgcmVzdGFydCkKKyAgICAgICAgc3RvcAorICAgICAgICBzbGVlcCAzCisgICAgICAgIHN0YXJ0CisgICAgICAgIDs7CisgICAgKikKKyAgICAgICAgZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHJlc3RhcnR9IgorICAgICAgICBSRVRWQUw9MQorZXNhYworZXhpdCAkUkVUVkFMCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC96cmFtL3pyYW0venJhbS5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvenJhbS96cmFtL3pyYW0uc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTE5MzY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvenJhbS96cmFtL3pyYW0uc2VydmljZQpAQCAtMCwwICsxLDEyIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUVuYWJsZSB6cmFtIGNvbXByZXNzZWQgaW4tbWVtb3J5IHN3YXAuCitBZnRlcj1tdWx0aS11c2VyLnRhcmdldAorCitbU2VydmljZV0KK1JlbWFpbkFmdGVyRXhpdD15ZXMKK0V4ZWNTdGFydD0vdXNyL2Jpbi96cmFtLWxvYWQuc2ggLS1sb2FkCitFeGVjU3RvcD0vdXNyL2Jpbi96cmFtLWxvYWQuc2ggLS11bmxvYWQKK1R5cGU9b25lc2hvdAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC96cmFtL3pyYW1fMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvenJhbS96cmFtXzAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDdmNTcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvenJhbS96cmFtXzAuMS5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIkxpbnV4IHpyYW0gY29tcHJlc3NlZCBpbi1tZW1vcnkgc3dhcCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAiCisKK2luaGVyaXQgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitSREVQRU5EU18ke1BOfSA9ICJ1dGlsLWxpbnV4LXN3YXBvbm9mZiBrbW9kIgorUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS16cmFtIgorCitQUiA9ICJyMyIKKworU1JDX1VSSSA9ICIgXAorICAgICAgICAgICBmaWxlOi8vaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly96cmFtLnNlcnZpY2UgXAorIgorCitkb19pbnN0YWxsICgpIHsKKyAgICAjIFN5c3Zpbml0CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC96cmFtCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0venJhbS5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0iCitJTklUU0NSSVBUX05BTUUgPSAienJhbSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDA1IDIgMyA0IDUgLiBzdG9wIDIyIDAgMSA2IC4iCisKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAienJhbS5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvenNoL3pzaF81LjAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3pzaC96c2hfNS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzliMmQ5NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3pzaC96c2hfNS4wLjUuYmIKQEAgLTAsMCArMSw2MSBAQAorU1VNTUFSWSA9ICJVTklYIFNoZWxsIHNpbWlsYXIgdG8gdGhlIEtvcm4gc2hlbGwiCitERVNDUklQVElPTiA9ICJac2ggaXMgYSBzaGVsbCBkZXNpZ25lZCBmb3IgaW50ZXJhY3RpdmUgdXNlLCBhbHRob3VnaCBpdCBpcyBhbHNvIGEgXAorICAgICAgICAgICAgICAgcG93ZXJmdWwgc2NyaXB0aW5nIGxhbmd1YWdlLiBNYW55IG9mIHRoZSB1c2VmdWwgZmVhdHVyZXMgb2YgYmFzaCwgXAorICAgICAgICAgICAgICAga3NoLCBhbmQgdGNzaCB3ZXJlIGluY29ycG9yYXRlZCBpbnRvIHpzaDsgbWFueSBvcmlnaW5hbCBmZWF0dXJlcyB3ZXJlIGFkZGVkLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuenNoLm9yZyIKK1NFQ1RJT04gPSAiYmFzZS9zaGVsbCIKKworTElDRU5TRSA9ICJ6c2giCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFO21kNT1iN2JjODUzODk0NjY0YmU0NTVhOTIyZGI5ODA1Mjg4ZSIKKworREVQRU5EUyA9ICJuY3Vyc2VzIGJpc29uLW5hdGl2ZSBsaWJjYXAgbGlicGNyZSBnZGJtIGdyb2ZmLW5hdGl2ZSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ZmIwZTNlNTJhMGY4ZGU1Y2E2MzEzODM5MWI4MWNlMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiMzVjZjE5ZTRhNmJhMzlmZDAzYzYzNzJiOGE4NzYwYTQ5MWNjMmUyZTRhYmEzZDE1MDIzZmYyOTFjMjg5NGI0IgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1iaW5kaXI9JHtiYXNlX2JpbmRpcn0gXAorICAgIC0tZW5hYmxlLWV0Y2Rpcj0ke3N5c2NvbmZkaXJ9IFwKKyAgICAtLWVuYWJsZS1mbmRpcj0ke2RhdGFkaXJ9LyR7UE59LyR7UFZ9L2Z1bmN0aW9ucyBcCisgICAgLS1lbmFibGUtc2l0ZS1mbmRpcj0ke2RhdGFkaXJ9LyR7UE59L3NpdGUtZnVuY3Rpb25zIFwKKyAgICAtLXdpdGgtdGVybS1saWI9J25jdXJzZXN3IG5jdXJzZXMnIFwKKyAgICAtLXdpdGgtdGNzZXRwZ3JwIFwKKyAgICAtLWVuYWJsZS1jYXAgXAorICAgIC0tZW5hYmxlLW11bHRpYnl0ZSBcCisgICAgLS1kaXNhYmxlLWdkYm0gXAorICAgIC0tZGlzYWJsZS1keW5hbWljIFwKKyAgICB6c2hfY3Zfc2hhcmVkX2Vudmlyb249eWVzIFwKKyIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gInNoIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3NoXSA9ICIke2Jhc2VfYmluZGlyfS9zaCIKK0FMVEVSTkFUSVZFX1RBUkdFVFtzaF0gPSAiJHtiYXNlX2JpbmRpcn0vJHtCUE59IgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgorCitleHBvcnQgQVVUT0hFQURFUiA9ICJ0cnVlIgorCitkb19jb25maWd1cmUgKCkgeworICAgIGdudS1jb25maWdpemUgLS1mb3JjZSAke1N9CisgICAgb2VfcnVuY29uZgorfQorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgcm0gLWZyICR7RH0vdXNyL3NoYXJlCit9CisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgdG91Y2ggJEQke3N5c2NvbmZkaXJ9L3NoZWxscworICAgIGdyZXAgLXEgImJpbi96c2giICREJHtzeXNjb25mZGlyfS9zaGVsbHMgfHwgZWNobyAvYmluL3pzaCA+PiAkRCR7c3lzY29uZmRpcn0vc2hlbGxzCisgICAgZ3JlcCAtcSAiYmluL3NoIiAkRCR7c3lzY29uZmRpcn0vc2hlbGxzIHx8IGVjaG8gL2Jpbi9zaCA+PiAkRCR7c3lzY29uZmRpcn0vc2hlbGxzCit9CisKK0ZJTEVTXyR7UE59LWRiZyArPSAiXAorICAgICR7bGliZGlyfS8ke1BOfS8ke1BWfS8ke1BOfS8uZGVidWcvKi5zbyBcCisgICAgJHtsaWJkaXJ9LyR7UE59LyR7UFZ9LyR7UE59L2RiLy5kZWJ1Zy8qLnNvIFwKKyAgICAke2xpYmRpcn0vJHtQTn0vJHtQVn0vJHtQTn0vbmV0Ly5kZWJ1Zy8qLnNvIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2F0ay9hdGttbV8yLjIyLjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9hdGsvYXRrbW1fMi4yMi43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmNTFlMzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9hdGsvYXRrbW1fMi4yMi43LmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQysrIGJpbmRpbmdzIGZvciB0aGUgYXRrIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLnRvb2xzO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworREVQRU5EUyA9ICJhdGsgZ2xpYm1tIgorCitpbmhlcml0IGdub21lIGF1dG90b29scyBwa2djb25maWcKKworR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZmVjN2RiM2ZjNDdiYTJlMGM5NWQxMzBlYzg2NWEyMzYiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJiZmJmODQ2YjQwOWI0YzVlYjNhNTJmYTMyYTEzZDg2OTM2MDIxOTY5NDA2YjNkY2FmZDRkZDA1YWJkNzBmOTFiIgorCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uICIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vKi9pbmNsdWRlICR7bGliZGlyfS8qL3Byb2MvbTQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGsrL2d0a21tXzIuMjQuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0aysvZ3RrbW1fMi4yNC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwNTk1ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGsrL2d0a21tXzIuMjQuMy5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgdGhlIEdUSysgdG9vbGtpdCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3RrbW0ub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy50b29sczttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAiYXRrbW0gcGFuZ29tbSBnbGlibW0gZ3RrKyBjYWlyb21tIgorCitpbmhlcml0IGdub21lIGF1dG90b29scyBwa2djb25maWcKKworR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNDJmYzVhM2ZlZWIzM2VhNTliNzY2MDIwMGUyYTU0NjUiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJjNTY0YTQzODY3NzE3NGI5N2Q2OWRkNzA0NjdjYjAzYzkzMzQ4MTAwNjM5OGRjOTM3NzQxN2FhNmFiZTAyYTM5IgorCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uICIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vKi9pbmNsdWRlICR7bGliZGlyfS8qL3Byb2MvbTQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGtleHRyYS9maWxlcy9yZW1vdmUtdHV0b3JpYWwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGtleHRyYS9maWxlcy9yZW1vdmUtdHV0b3JpYWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGE0ZjNmNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0a2V4dHJhL2ZpbGVzL3JlbW92ZS10dXRvcmlhbC5wYXRjaApAQCAtMCwwICsxLDEyIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK2RpZmYgLS1naXQgYS9kb2NzL01ha2VmaWxlLmFtIGIvZG9jcy9NYWtlZmlsZS5hbQoraW5kZXggZjUzNzVmNS4uYzMwNmYyMyAxMDA2NDQKKy0tLSBhL2RvY3MvTWFrZWZpbGUuYW0KKysrKyBiL2RvY3MvTWFrZWZpbGUuYW0KK0BAIC0xLDQgKzEsNCBAQAorLVNVQkRJUlMgPSByZWZlcmVuY2UgdHV0b3JpYWwKKytTVUJESVJTID0gcmVmZXJlbmNlCisgCisgRVhUUkFfRElTVCA9IFwKKyAJQ09QWUlORyBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGtleHRyYS9ndGtleHRyYV8zLjAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0a2V4dHJhL2d0a2V4dHJhXzMuMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyNmVmZjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGtleHRyYS9ndGtleHRyYV8zLjAuNS5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkd0aytFeHRyYSBpcyBhIHNldCBvZiBjdXN0b20gd2lkZ2V0IGZvciBwbG90cyBhbmQgaW1hZ2VzIgorSE9NRVBBR0UgPSAiaHR0cDovL2d0a2V4dHJhLnNvdXJjZWZvcmdlLm5ldC8iCisKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTciCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2d0a2V4dHJhLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtdHV0b3JpYWwucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDg2Y2VhOTM2NjYwMjBmODVmMTAxZWQ4MzQxYmFmNDEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWNhYjZjNWQ2Yjc5MmViODI4ZDE3Y2VjMmI5YzFiYWJhMmVmNTdmNzg5YTI5MDQ2NGFmYWI4MGI1Mzk2OWU2NSIKKworREVQRU5EUyA9ICJndGsrIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKKyMgfCAuLy5saWJzL2xpYmd0a2V4dHJhLXgxMS0zLjAuc286IGVycm9yOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvICdyb3VuZGludCcKK1BOQkxBQ0tMSVNUW2d0a2V4dHJhXSA/PSAiQlJPS0VOOiBGYWlscyB0byBidWlsZCB3aXRoIGdjYy01IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvZ3RraHRtbDIvZmlsZXMvMDAwMS10ZXN0cy1tYWluLmMtZml4LWJ1aWxkLXdpdGgtZ2xpYi0yLjM2LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvZ3RraHRtbDIvZmlsZXMvMDAwMS10ZXN0cy1tYWluLmMtZml4LWJ1aWxkLXdpdGgtZ2xpYi0yLjM2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzZWIzOTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGtodG1sMi9maWxlcy8wMDAxLXRlc3RzLW1haW4uYy1maXgtYnVpbGQtd2l0aC1nbGliLTIuMzYucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSA0YjE3ZWVkNGI4NTg4NTY5ZDExZWM0YmQyYjZmYTNjMDYzODMwZTZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVGh1LCAxNiBNYXkgMjAxMyAxODo0NDo1MCArMDIwMAorU3ViamVjdDogW1BBVENIXSB0ZXN0cy9tYWluLmM6IGZpeCBidWlsZCB3aXRoIGdsaWIgMi4zNgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IHByb2plY3Qgc2VlbXMgZGVhZAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyB0ZXN0cy9tYWluLmMgfCAgICAyICsrCisgMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy9tYWluLmMgYi90ZXN0cy9tYWluLmMKK2luZGV4IDYxY2NlODIuLjE4MTY1ZWQgMTAwNjQ0CistLS0gYS90ZXN0cy9tYWluLmMKKysrKyBiL3Rlc3RzL21haW4uYworQEAgLTMwLDcgKzMwLDkgQEAgbWFpbiAoZ2ludCBhcmdjLCBnY2hhciAqKmFyZ3YpCisgeworIAlHdGtXaWRnZXQgKmJyb3dzZXI7CisgCisrI2lmICFHTElCX0NIRUNLX1ZFUlNJT04gKDIsIDM2LCAwKQorIAlnX3RocmVhZF9pbml0KE5VTEwpOworKyNlbmRpZgorIAorIAlndGtfaW5pdCAoJmFyZ2MsICZhcmd2KTsKKyAKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGtodG1sMi9ndGtodG1sMl9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGtodG1sMi9ndGtodG1sMl9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2QyMjU3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0a2h0bWwyL2d0a2h0bWwyX3N2bi5iYgpAQCAtMCwwICsxLDM5IEBACitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gImd0aysgZ2xpYi0yLjAgbGlieG1sMiIKK1NVTU1BUlkgPSAiQSBHVEsrIEhUTUwgcmVuZGVyaW5nIGxpYnJhcnkiCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSIKKworU1JDUkVWID0gIjExNjEiCitQViA9ICIyLjExLjArc3ZuciR7U1JDUFZ9IgorUFIgPSAicjUiCisKK1NSQ19VUkkgPSAic3ZuOi8vc3ZuLmdub21lLm9yZy9zdm4vZ3RraHRtbDIvO21vZHVsZT10cnVuaztwcm90b2NvbD1odHRwIFwKKyAgICAgICAgICAgaHR0cDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2NnaXQvY2dpdC5jZ2kvd2ViLXBhdGNoZXMvcGxhaW4vY3NzLXN0eWxlc2hlZXQtdXNlci5wYXRjaDtzdHJpcGxldmVsPTA7bmFtZT1wYXRjaDIgXAorICAgICAgICAgICBodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS93ZWItcGF0Y2hlcy9wbGFpbi9jc3MtbWVkaWEucGF0Y2g7c3RyaXBsZXZlbD0wO25hbWU9cGF0Y2gzIFwKKyAgICAgICAgICAgaHR0cDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2NnaXQvY2dpdC5jZ2kvd2ViLXBhdGNoZXMvcGxhaW4vYWRkLWVuZC1lbGVtZW50LXNpZ25hbC5wYXRjaDtzdHJpcGxldmVsPTA7bmFtZT1wYXRjaDQgXAorICAgICAgICAgICBodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS93ZWItcGF0Y2hlcy9wbGFpbi9hZGQtZG9tLWZ1bmN0aW9ucy5wYXRjaDtzdHJpcGxldmVsPTA7bmFtZT1wYXRjaDUgXAorICAgICAgICAgICBodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS93ZWItcGF0Y2hlcy9wbGFpbi9pYWluLW1lbS1sZWFrLnBhdGNoO3N0cmlwbGV2ZWw9MDtuYW1lPXBhdGNoNiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXRlc3RzLW1haW4uYy1maXgtYnVpbGQtd2l0aC1nbGliLTIuMzYucGF0Y2ggXAorIgorCitTUkNfVVJJW3BhdGNoMi5tZDVzdW1dID0gIjA1ZmMzNjI3Y2EzNjQwOTU3MDJkYzgwNGY0MWM4MzkxIgorU1JDX1VSSVtwYXRjaDIuc2hhMjU2c3VtXSA9ICJkZjVjY2E1MGE4Zjk1MzMzNTA1ZDc5MjA5MjlmZWEyNTFkYWVhM2JlMjViZTY4MzRhMWM1MGE3NDJkOWViNjc0IgorCitTUkNfVVJJW3BhdGNoMy5tZDVzdW1dID0gImQzZmU0Y2RhMzU0NWYzZTQ3MThmMWFjYzE4NjYwOGFiIgorU1JDX1VSSVtwYXRjaDMuc2hhMjU2c3VtXSA9ICIzYWVmYWExN2ZmYTM4MTQzYmY1ZGYxMTYxYzUxYWI0MDJkMzViZmJlZTQxYWI0NjQzYzMxM2VkZjU2OTE2NWQ1IgorCitTUkNfVVJJW3BhdGNoNC5tZDVzdW1dID0gIjY1MWIxNjAxZDhhMWIyMWM4YTMwNDBmYWRiNzI5MDQzIgorU1JDX1VSSVtwYXRjaDQuc2hhMjU2c3VtXSA9ICJkMDY3ZTgzMzFiZjljNjg1MWYxYzYwNjdkOTkxYTdmNTQzMjdmNTMyOTAwYjQwNWViZGY4ZTE0OWMwNzFmMzgxIgorCitTUkNfVVJJW3BhdGNoNS5tZDVzdW1dID0gIjA0MWJlOTcxMWExNmU2MjlkMDE0ODc2NjRiYTk3MTUyIgorU1JDX1VSSVtwYXRjaDUuc2hhMjU2c3VtXSA9ICI0Mjk1NmZiNDEzNDFjZjgyYWU4YmNlMThiNGNmOTZhN2UyYWE2MzFiMWI2MDY1N2FmYjZkN2U5YmU3Y2QxMzhjIgorCitTUkNfVVJJW3BhdGNoNi5tZDVzdW1dID0gIjRlMTFkYzc4OTlkNjhmMmJlMmUwNmNjZWUwMWQyOTZkIgorU1JDX1VSSVtwYXRjaDYuc2hhMjU2c3VtXSA9ICIxZTJjYzA4MGU2NTRjMTgzOWM1Y2I0YjRhZGY0YzYyYTIzZTdkYTIwODQyN2YzYmEwYjE2Y2ZlZDllNWNmYTk4IgorCitTID0gIiR7V09SS0RJUn0vdHJ1bmsiCisKK2luaGVyaXQgcGtnY29uZmlnIGF1dG90b29scworCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1hY2Nlc3NpYmlsaXR5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlidW5pcXVlL2xpYnVuaXF1ZS8wMDAxLU1ha2VmaWxlLmFtLXVzZS1MSUJUT09MLWluc3RlYWQtb2YtaGFyZGNvZGVkLWxpYnRvb2wucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlLzAwMDEtTWFrZWZpbGUuYW0tdXNlLUxJQlRPT0wtaW5zdGVhZC1vZi1oYXJkY29kZWQtbGlidG9vbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjVlZGEwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlidW5pcXVlL2xpYnVuaXF1ZS8wMDAxLU1ha2VmaWxlLmFtLXVzZS1MSUJUT09MLWluc3RlYWQtb2YtaGFyZGNvZGVkLWxpYnRvb2wucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSBmMzliY2Q1YWY3OWFhM2VmZTJjZWNiMjIxMjc5M2M1YjU5Njg5MGE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDE4IEZlYiAyMDE2IDE3OjQwOjQ1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlLmFtOiB1c2UgJChMSUJUT09MKSBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBsaWJ0b29sIG5hbWUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIHVuaXF1ZS9NYWtlZmlsZS5hbSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3VuaXF1ZS9NYWtlZmlsZS5hbSBiL3VuaXF1ZS9NYWtlZmlsZS5hbQoraW5kZXggNjQ3NWE4Ny4uNzM0ZjQzMSAxMDA2NDQKKy0tLSBhL3VuaXF1ZS9NYWtlZmlsZS5hbQorKysrIGIvdW5pcXVlL01ha2VmaWxlLmFtCitAQCAtMTE0LDcgKzExNCw3IEBAIFVuaXF1ZS0xLjAuZ2lyOiAkKElOVFJPU1BFQ1RJT05fU0NBTk5FUikgbGlidW5pcXVlLTEuMC5sYQorIAkJLS1pbmNsdWRlPUdPYmplY3QtMi4wIFwKKyAJCS0taW5jbHVkZT1HdGstMi4wIFwKKyAJCS0tbGlicmFyeT1saWJ1bmlxdWUtMS4wLmxhIFwKKy0JCS0tbGlidG9vbD0iJCh0b3BfYnVpbGRkaXIpL2xpYnRvb2wiIFwKKysJCS0tbGlidG9vbD0iJChMSUJUT09MKSIgXAorIAkJLS1wa2cgZ29iamVjdC0yLjAgXAorIAkJLS1wa2cgZ3RrKy0yLjAgXAorIAkJLS1vdXRwdXQgJEAgXAorLS0gCisyLjcuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlL2J1aWxkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlidW5pcXVlL2xpYnVuaXF1ZS9idWlsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NmE1YzYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlidW5pcXVlL2xpYnVuaXF1ZS9idWlsZC5wYXRjaApAQCAtMCwwICsxLDQyMSBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cDovL2dpdC5nbm9tZS5vcmcvYnJvd3NlL3VuaXF1ZS9jb21taXQvP2g9dW5pcXVlLTEuMSZpZD1mNzVjYTJkN2FhZDdkMjc2ODZhY2NhNjA5MGMxYzU2OWE3OWQ3ZTYzXQorU2lnbmVkLW9mZi1CeTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSBmNzVjYTJkN2FhZDdkMjc2ODZhY2NhNjA5MGMxYzU2OWE3OWQ3ZTYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRW1tYW51ZWxlIEJhc3NpIDxlYmFzc2lAZ25vbWUub3JnPgorRGF0ZTogU2F0LCAwOCBNYXkgMjAxMCAxMToxNzoyMSArMDAwMAorU3ViamVjdDogYnVpbGQ6IFVwZGF0ZSB0aGUgYnVpbGQgZW52aXJvbm1lbnQKKworUmVxdWlyZSBhdXRvY29uZiAyLjYzLCBhdXRvbWFrZSAxLjExIGFuZCBsaWJ0b29sIDIuMi42IHRvIHJlbW92ZSBTaGF2ZS4KKworQWxzbyBidW1wIHVwIHRoZSByZXF1aXJlbWVudCBmb3IgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHRvIDAuNi43LgorLS0tCitkaWZmIC0tZ2l0IGEvYnVpbGQvYXV0b3Rvb2xzL01ha2VmaWxlLmFtIGIvYnVpbGQvYXV0b3Rvb2xzL01ha2VmaWxlLmFtCitpbmRleCA1ZjM1Yjg1Li5iNzg0MjhmIDEwMDY0NAorLS0tIGEvYnVpbGQvYXV0b3Rvb2xzL01ha2VmaWxlLmFtCisrKysgYi9idWlsZC9hdXRvdG9vbHMvTWFrZWZpbGUuYW0KK0BAIC0xLDcgKzEsNCBAQAorIEVYVFJBX0RJU1QgPSBcCistCXNoYXZlLWxpYnRvb2wuaW4gCVwKKy0Jc2hhdmUuaW4gCQlcCistCXNoYXZlLm00IAkJXAorIAlhcy1jb21waWxlci1mbGFnLm00CVwKKyAJaW50cm9zcGVjdGlvbi5tNAlcCisgCU1ha2VmaWxlLmFtLmVudW1zCVwKK2RpZmYgLS1naXQgYS9idWlsZC9hdXRvdG9vbHMvTWFrZWZpbGUuYW0uc2lsZW50IGIvYnVpbGQvYXV0b3Rvb2xzL01ha2VmaWxlLmFtLnNpbGVudAoraW5kZXggMjQ5ZjZhZi4uODU3Njg0NiAxMDA2NDQKKy0tLSBhL2J1aWxkL2F1dG90b29scy9NYWtlZmlsZS5hbS5zaWxlbnQKKysrKyBiL2J1aWxkL2F1dG90b29scy9NYWtlZmlsZS5hbS5zaWxlbnQKK0BAIC0xLDEwICsxLDUgQEAKKyAjIGN1c3RvbSBydWxlcyBmb3IgcXVpZXQgYnVpbGRzCisgCistaWYgVVNFX1NIQVZFCistUVVJRVRfR0VOID0gJChROkA9QGVjaG8gJyAgR0VOICAgJyRAOykKKy1RVUlFVF9MTiAgPSAkKFE6QD1AZWNobyAnICBMTiAgICAnJEA7KQorLVFVSUVUX1JNICA9ICQoUTpAPUBlY2hvICcgIFJNICAgICckQDspCistZWxzZQorIFFVSUVUX0dFTiA9ICQoQU1fVl9HRU4pCisgCisgUVVJRVRfTE4gICA9ICQoUVVJRVRfTE5fJChWKSkKK0BAIC0xNCw0ICs5LDMgQEAgUVVJRVRfTE5fMCA9IEBlY2hvICcgIExOICAgICAnJEA7CisgUVVJRVRfUk0gICA9ICQoUVVJRVRfUk1fJChWKSkKKyBRVUlFVF9STV8gID0gJChRVUlFVF9STV8kKEFNX0RFRkFVTFRfVkVSQk9TSVRZKSkKKyBRVUlFVF9STV8wID0gQGVjaG8gJyAgUk0gICAgICckQDsKKy1lbmRpZiAjIFVTRV9TSEFWRQorZGlmZiAtLWdpdCBhL2J1aWxkL2F1dG90b29scy9pbnRyb3NwZWN0aW9uLm00IGIvYnVpbGQvYXV0b3Rvb2xzL2ludHJvc3BlY3Rpb24ubTQKK2luZGV4IGY5Y2U0OWMuLjU4OTcyMWMgMTAwNjQ0CistLS0gYS9idWlsZC9hdXRvdG9vbHMvaW50cm9zcGVjdGlvbi5tNAorKysrIGIvYnVpbGQvYXV0b3Rvb2xzL2ludHJvc3BlY3Rpb24ubTQKK0BAIC01OSwxMiArNTksMTggQEAgbTRfZGVmaW5lKFtfR09CSkVDVF9JTlRST1NQRUNUSU9OX0NIRUNLX0lOVEVSTkFMXSwKKyAgICAgICAgSU5UUk9TUEVDVElPTl9HRU5FUkFURT1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1nX2lyX2dlbmVyYXRlIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgCisgICAgICAgIElOVFJPU1BFQ1RJT05fR0lSRElSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWdpcmRpciBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wYAorICAgICAgICBJTlRST1NQRUNUSU9OX1RZUEVMSUJESVI9IiQoJFBLR19DT05GSUcgLS12YXJpYWJsZT10eXBlbGliZGlyIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjApIgorKyAgICAgICBJTlRST1NQRUNUSU9OX0NGTEFHUz1gJFBLR19DT05GSUcgLS1jZmxhZ3MgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKysgICAgICAgSU5UUk9TUEVDVElPTl9MSUJTPWAkUEtHX0NPTkZJRyAtLWxpYnMgZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMGAKKysgICAgICAgSU5UUk9TUEVDVElPTl9NQUtFRklMRT1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1kYXRhZGlyIGdvYmplY3QtaW50cm9zcGVjdGlvbi0xLjBgL2dvYmplY3QtaW50cm9zcGVjdGlvbi0xLjAvTWFrZWZpbGUuaW50cm9zcGVjdGlvbgorICAgICBmaQorICAgICBBQ19TVUJTVChJTlRST1NQRUNUSU9OX1NDQU5ORVIpCisgICAgIEFDX1NVQlNUKElOVFJPU1BFQ1RJT05fQ09NUElMRVIpCisgICAgIEFDX1NVQlNUKElOVFJPU1BFQ1RJT05fR0VORVJBVEUpCisgICAgIEFDX1NVQlNUKElOVFJPU1BFQ1RJT05fR0lSRElSKQorICAgICBBQ19TVUJTVChJTlRST1NQRUNUSU9OX1RZUEVMSUJESVIpCisrICAgIEFDX1NVQlNUKElOVFJPU1BFQ1RJT05fQ0ZMQUdTKQorKyAgICBBQ19TVUJTVChJTlRST1NQRUNUSU9OX0xJQlMpCisrICAgIEFDX1NVQlNUKElOVFJPU1BFQ1RJT05fTUFLRUZJTEUpCisgCisgICAgIEFNX0NPTkRJVElPTkFMKEhBVkVfSU5UUk9TUEVDVElPTiwgdGVzdCAieCRmb3VuZF9pbnRyb3NwZWN0aW9uIiA9ICJ4eWVzIikKKyBdKQorZGlmZiAtLWdpdCBhL2J1aWxkL2F1dG90b29scy9zaGF2ZS1saWJ0b29sLmluIGIvYnVpbGQvYXV0b3Rvb2xzL3NoYXZlLWxpYnRvb2wuaW4KK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMWYzYTcyMC4uMDAwMDAwMAorLS0tIGEvYnVpbGQvYXV0b3Rvb2xzL3NoYXZlLWxpYnRvb2wuaW4KKysrKyBiL2Rldi9udWxsCitAQCAtMSw2OSArMCwwIEBACistIyEvYmluL3NoCistCistIyB3ZSBuZWVkIHNlZAorLVNFRD1AU0VEQAorLWlmIHRlc3QgLXogIiRTRUQiIDsgdGhlbgorLVNFRD1zZWQKKy1maQorLQorLWx0X3VubWFuZ2xlICgpCisteworLSAgIGxhc3RfcmVzdWx0PWBlY2hvICQxIHwgJFNFRCAtZSAncyMubGlicy8jIycgLWUgJ3MjWzAtOWEtekEtWl9cLVwuXSpfbGEtIyMnYAorLX0KKy0KKy0jIHRoZSByZWFsIGxpYnRvb2wgdG8gdXNlCistTElCVE9PTD0iJDEiCistc2hpZnQKKy0KKy0jIGlmIDEsIGRvbid0IHByaW50IGFueXRoaW5nLCB0aGUgdW5kZXJsYXlpbmcgd3JhcHBlciB3aWxsIGRvIGl0CistcGFzc190aG91Z2g9MAorLQorLSMgc2NhbiB0aGUgYXJndW1lbnRzLCBrZWVwIHRoZSByaWdodCBvbmVzIGZvciBsaWJ0b29sLCBhbmQgZGlzY292ZXIgdGhlIG1vZGUKKy1wcmVzZXJ2ZWRfYXJncz0KKy13aGlsZSB0ZXN0ICIkIyIgLWd0IDA7IGRvCistICAgIG9wdD0iJDEiCistICAgIHNoaWZ0CistCistICAgIGNhc2UgJG9wdCBpbgorLSAgICAtLW1vZGU9KikKKy0gICAgICAgIG1vZGU9YGVjaG8gJG9wdCB8ICRTRUQgLWUgJ3MvWy1fYS16QS1aMC05XSo9Ly8nYAorLSAgICAgICAgcHJlc2VydmVkX2FyZ3M9IiRwcmVzZXJ2ZWRfYXJncyAkb3B0IgorLSAgICAgICAgOzsKKy0gICAgLW8pCistICAgICAgICBsdF9vdXRwdXQ9IiQxIgorLSAgICAgICAgcHJlc2VydmVkX2FyZ3M9IiRwcmVzZXJ2ZWRfYXJncyAkb3B0IgorLQk7OworLSAgICAqKQorLSAgICAgICAgcHJlc2VydmVkX2FyZ3M9IiRwcmVzZXJ2ZWRfYXJncyAkb3B0IgorLSAgICAgICAgOzsKKy0gICAgICBlc2FjCistZG9uZQorLQorLWNhc2UgIiRtb2RlIiBpbgorLWNvbXBpbGUpCistICAgICMgc2hhdmUgd2lsbCBiZSBjYWxsZWQgYW5kIHByaW50IHRoZSBhY3R1YWwgQ0MvQ1hYL0xJTksgbGluZQorLSAgICBwcmVzZXJ2ZWRfYXJncz0iJHByZXNlcnZlZF9hcmdzIC0tc2hhdmUtbW9kZT0kbW9kZSIKKy0gICAgcGFzc190aG91Z2g9MQorLSAgICA7OworLWxpbmspCistICAgIHByZXNlcnZlZF9hcmdzPSIkcHJlc2VydmVkX2FyZ3MgLS1zaGF2ZS1tb2RlPSRtb2RlIgorLSAgICBRPSIgIExJTksgICIKKy0gICAgOzsKKy0qKQorLSAgICAjIGxldCdzIHUKKy0gICAgIyBlY2hvICIqKiogbGlidG9vbDogVW5pbXBsZW1lbnRlZCBtb2RlOiAkbW9kZSwgZmlsbCBhIGJ1ZyByZXBvcnQiCistICAgIDs7CistZXNhYworLQorLWx0X3VubWFuZ2xlICIkbHRfb3V0cHV0IgorLW91dHB1dD0kbGFzdF9yZXN1bHQKKy0KKy1pZiB0ZXN0IC16ICRWOyB0aGVuCistICAgIGlmIHRlc3QgJHBhc3NfdGhvdWdoIC1lcSAwOyB0aGVuCistICAgICAgICBlY2hvICIkUSRvdXRwdXQiCistICAgIGZpCistICAgICRMSUJUT09MIC0tc2lsZW50ICRwcmVzZXJ2ZWRfYXJncworLWVsc2UKKy0gICAgZWNobyAkTElCVE9PTCAkcHJlc2VydmVkX2FyZ3MKKy0gICAgJExJQlRPT0wgJHByZXNlcnZlZF9hcmdzCistZmkKK2RpZmYgLS1naXQgYS9idWlsZC9hdXRvdG9vbHMvc2hhdmUuaW4gYi9idWlsZC9hdXRvdG9vbHMvc2hhdmUuaW4KK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggNWMxNmYyNy4uMDAwMDAwMAorLS0tIGEvYnVpbGQvYXV0b3Rvb2xzL3NoYXZlLmluCisrKysgYi9kZXYvbnVsbAorQEAgLTEsNzkgKzAsMCBAQAorLSMhL2Jpbi9zaAorLQorLSMgd2UgbmVlZCBzZWQKKy1TRUQ9QFNFREAKKy1pZiB0ZXN0IC16ICIkU0VEIiA7IHRoZW4KKy1TRUQ9c2VkCistZmkKKy0KKy1sdF91bm1hbmdsZSAoKQorLXsKKy0gICBsYXN0X3Jlc3VsdD1gZWNobyAkMSB8ICRTRUQgLWUgJ3MjLmxpYnMvIyMnIC1lICdzI1swLTlhLXpBLVpfXC1cLl0qX2xhLSMjJ2AKKy19CistCistIyB0aGUgdG9vbCB0byB3cmFwIChjYywgY3h4LCBhciwgcmFubGliLCAuLikKKy10b29sPSIkMSIKKy1zaGlmdAorLQorLSMgdGhlIHJlZWwgdG9vbCAodG8gY2FsbCkKKy1SRUVMX1RPT0w9IiQxIgorLXNoaWZ0CistCistcGFzc190aHJvdWdoPTAKKy1wcmVzZXJ2ZWRfYXJncz0KKy13aGlsZSB0ZXN0ICIkIyIgLWd0IDA7IGRvCistICAgIG9wdD0iJDEiCistICAgIHNoaWZ0CistCistICAgIGNhc2UgJG9wdCBpbgorLSAgICAtLXNoYXZlLW1vZGU9KikKKy0gICAgICAgIG1vZGU9YGVjaG8gJG9wdCB8ICRTRUQgLWUgJ3MvWy1fYS16QS1aMC05XSo9Ly8nYAorLQk7OworLSAgICAtbykKKy0gICAgICAgIGx0X291dHB1dD0iJDEiCistICAgICAgICBwcmVzZXJ2ZWRfYXJncz0iJHByZXNlcnZlZF9hcmdzICRvcHQiCistCTs7CistICAgICopCistICAgICAgICBwcmVzZXJ2ZWRfYXJncz0iJHByZXNlcnZlZF9hcmdzICRvcHQiCistICAgICAgICA7OworLSAgICAgIGVzYWMKKy1kb25lCistCistIyBtb2RlPWxpbmsgaXMgaGFuZGxlZCBpbiB0aGUgbGlidG9vbCB3cmFwcGVyCistY2FzZSAiJG1vZGUsJHRvb2wiIGluCistbGluaywqKQorLSAgICBwYXNzX3Rocm91Z2g9MQorLSAgICA7OworLSosY3h4KQorLSAgICBRPSIgIENYWCAgICIKKy0gICAgOzsKKy0qLGNjKQorLSAgICBRPSIgIENDICAgICIKKy0gICAgOzsKKy0qLGZjKQorLSAgICBRPSIgIEZDICAgICIKKy0gICAgOzsKKy0qLGY3NykKKy0gICAgUT0iICBGNzcgICAiCistICAgIDs7CistKixvYmpjKQorLSAgICBRPSIgIE9CSkMgICAiCistICAgIDs7CistKiwqKQorLSAgICAjIHNob3VsZCBub3QgaGFwcGVuCistICAgIFE9IiAgQ0MgICAgIgorLSAgICA7OworLWVzYWMKKy0KKy1sdF91bm1hbmdsZSAiJGx0X291dHB1dCIKKy1vdXRwdXQ9JGxhc3RfcmVzdWx0CistCistaWYgdGVzdCAteiAkVjsgdGhlbgorLSAgICBpZiB0ZXN0ICRwYXNzX3Rocm91Z2ggLWVxIDA7IHRoZW4KKy0gICAgICAgIGVjaG8gIiRRJG91dHB1dCIKKy0gICAgZmkKKy0gICAgJFJFRUxfVE9PTCAkcHJlc2VydmVkX2FyZ3MKKy1lbHNlCistICAgIGVjaG8gJFJFRUxfVE9PTCAkcHJlc2VydmVkX2FyZ3MKKy0gICAgJFJFRUxfVE9PTCAkcHJlc2VydmVkX2FyZ3MKKy1maQorZGlmZiAtLWdpdCBhL2J1aWxkL2F1dG90b29scy9zaGF2ZS5tNCBiL2J1aWxkL2F1dG90b29scy9zaGF2ZS5tNAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwYTM1MDllLi4wMDAwMDAwCistLS0gYS9idWlsZC9hdXRvdG9vbHMvc2hhdmUubTQKKysrKyBiL2Rldi9udWxsCitAQCAtMSw3NyArMCwwIEBACistZG5sIE1ha2UgYXV0b21ha2UvbGlidG9vbCBvdXRwdXQgbW9yZSBmcmllbmRseSB0byBodW1hbnMKKy1kbmwgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CistZG5sCistZG5sIFNIQVZFX0lOSVQoW3NoYXZlZGlyXSxbZGVmYXVsdF9tb2RlXSkKKy1kbmwKKy1kbmwgc2hhdmVkaXI6IHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIHNoYXZlIHNjcmlwdHMgYXJlLCBpdCBkZWZhdWx0cyB0bworLWRubCAgICAgICAgICAgJCh0b3BfYnVpbGRkaXIpCistZG5sIGRlZmF1bHRfbW9kZTogKGVuYWJsZXxkaXNhYmxlKSBkZWZhdWx0IHNoYXZlIG1vZGUuICBUaGlzIHBhcmFtZXRlcgorLWRubCAgICAgICAgICAgICAgIGNvbnRyb2xzIHNoYXZlJ3MgYmVoYXZpb3VyIHdoZW4gbm8gb3B0aW9uIGhhcyBiZWVuCistZG5sICAgICAgICAgICAgICAgZ2l2ZW4gdG8gY29uZmlndXJlLiAgSXQgZGVmYXVsdHMgdG8gZGlzYWJsZS4KKy1kbmwKKy1kbmwgKiBTSEFWRV9JTklUIHNob3VsZCBiZSBjYWxsZWQgbGF0ZSBpbiB5b3VyIGNvbmZpZ3VyZS4oYWN8aW4pIGZpbGUgKGp1c3QKKy1kbmwgICBiZWZvcmUgQUNfQ09ORklHX0ZJTEUvQUNfT1VUUFVUIGlzIHBlcmZlY3QuICBUaGlzIG1hY3JvIHJld3JpdGVzIENDIGFuZAorLWRubCAgIExJQlRPT0wsIHlvdSBkb24ndCB3YW50IHRoZSBjb25maWd1cmUgdGVzdHMgdG8gaGF2ZSB0aGVzZSB2YXJpYWJsZXMKKy1kbmwgICByZS1kZWZpbmVkLgorLWRubCAqIFRoaXMgbWFjcm8gcmVxdWlyZXMgR05VIG1ha2UncyAtcyBvcHRpb24uCistCistQUNfREVGVU4oW19TSEFWRV9BUkdfRU5BQkxFXSwKKy1bCistICBBQ19BUkdfRU5BQkxFKFtzaGF2ZV0sCistICAgIEFTX0hFTFBfU1RSSU5HKAorLSAgICAgIFstLWVuYWJsZS1zaGF2ZV0sCistICAgICAgW3VzZSBzaGF2ZSB0byBtYWtlIHRoZSBidWlsZCBwcmV0dHkgW1tkZWZhdWx0PSQxXV1dKSwsCistICAgICAgW2VuYWJsZV9zaGF2ZT0kMV0KKy0gICAgKQorLV0pCistCistQUNfREVGVU4oW1NIQVZFX0lOSVRdLAorLVsKKy0gIGRubCB5b3UgY2FuIHR3ZWFrIHRoZSBkZWZhdWx0IHZhbHVlIG9mIGVuYWJsZV9zaGF2ZQorLSAgbTRfaWYoWyQyXSwgW2VuYWJsZV0sIFtfU0hBVkVfQVJHX0VOQUJMRSh5ZXMpXSwgW19TSEFWRV9BUkdfRU5BQkxFKG5vKV0pCistCistICBpZiB0ZXN0IHgiJGVuYWJsZV9zaGF2ZSIgPSB4eWVzOyB0aGVuCistICAgIGRubCB3aGVyZSBjYW4gd2UgZmluZCB0aGUgc2hhdmUgc2NyaXB0cz8KKy0gICAgbTRfaWYoWyQxXSwsCistICAgICAgW3NoYXZlZGlyPSIkYWNfcHdkIl0sCistICAgICAgW3NoYXZlZGlyPSIkYWNfcHdkLyQxIl0pCistICAgIEFDX1NVQlNUKHNoYXZlZGlyKQorLQorLSAgICBkbmwgbWFrZSBpcyBub3cgcXVpZXQKKy0gICAgQUNfU1VCU1QoW01BS0VGTEFHU10sIFstc10pCistICAgIEFDX1NVQlNUKFtBTV9NQUtFRkxBR1NdLCBbJ2B0ZXN0IC16ICRWICYmIGVjaG8gLXNgJ10pCistCistICAgIGRubCB3ZSBuZWVkIHNlZAorLSAgICBBQ19DSEVDS19QUk9HKFNFRCxzZWQsc2VkLGZhbHNlKQorLQorLSAgICBkbmwgc3Vic3RpdHV0ZSBsaWJ0b29sCistICAgIFNIQVZFX1NBVkVEX0xJQlRPT0w9JExJQlRPT0wKKy0gICAgTElCVE9PTD0iJHtTSEVMTH0gJHtzaGF2ZWRpcn0vc2hhdmUtbGlidG9vbCAnJHtTSEFWRV9TQVZFRF9MSUJUT09MfSciCistICAgIEFDX1NVQlNUKExJQlRPT0wpCistCistICAgIGRubCBzdWJzdGl0dXRlIGNjL2N4eAorLSAgICBTSEFWRV9TQVZFRF9DQz0kQ0MKKy0gICAgU0hBVkVfU0FWRURfQ1hYPSRDWFgKKy0gICAgU0hBVkVfU0FWRURfRkM9JEZDCistICAgIFNIQVZFX1NBVkVEX0Y3Nz0kRjc3CistICAgIFNIQVZFX1NBVkVEX09CSkM9JE9CSkMKKy0gICAgQ0M9IiR7U0hFTEx9ICR7c2hhdmVkaXJ9L3NoYXZlIGNjICR7U0hBVkVfU0FWRURfQ0N9IgorLSAgICBDWFg9IiR7U0hFTEx9ICR7c2hhdmVkaXJ9L3NoYXZlIGN4eCAke1NIQVZFX1NBVkVEX0NYWH0iCistICAgIEZDPSIke1NIRUxMfSAke3NoYXZlZGlyfS9zaGF2ZSBmYyAke1NIQVZFX1NBVkVEX0ZDfSIKKy0gICAgRjc3PSIke1NIRUxMfSAke3NoYXZlZGlyfS9zaGF2ZSBmNzcgJHtTSEFWRV9TQVZFRF9GNzd9IgorLSAgICBPQkpDPSIke1NIRUxMfSAke3NoYXZlZGlyfS9zaGF2ZSBvYmpjICR7U0hBVkVfU0FWRURfT0JKQ30iCistICAgIEFDX1NVQlNUKENDKQorLSAgICBBQ19TVUJTVChDWFgpCistICAgIEFDX1NVQlNUKEZDKQorLSAgICBBQ19TVUJTVChGNzcpCistICAgIEFDX1NVQlNUKE9CSkMpCistCistICAgIFY9QAorLSAgZWxzZQorLSAgICBWPTEKKy0gIGZpCistICBRPSckKFY6MT0pJworLSAgQUNfU1VCU1QoVikKKy0gIEFDX1NVQlNUKFEpCistXSkKKy0KK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGEzZWQzZWUuLmJjMzE2M2EgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTE0LDcgKzE0LDcgQEAgbTRfZGVmaW5lKFt1bmlxdWVfYXBpX3ZlcnNpb25dLCBbMS4wXSkKKyAjIFRoaXMgaXMgdGhlIFguWSB1c2VkIGluIHRoZSBwcm90b2NvbCBuZWdvdGlhdGlvbgorIG00X2RlZmluZShbdW5pcXVlX3Byb3RvY29sX3ZlcnNpb25dLCBbMS4wXSkKKyAKKy1BQ19QUkVSRVEoWzIuNTldKQorK0FDX1BSRVJFUShbMi42M10pCisgCisgQUNfSU5JVChbdW5pcXVlXSwgW3VuaXF1ZV92ZXJzaW9uXSwKKyAgICAgICAgIFtodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1saWJ1bmlxdWVdLAorQEAgLTIzLDkgKzIzLDIxIEBAIEFDX0lOSVQoW3VuaXF1ZV0sIFt1bmlxdWVfdmVyc2lvbl0sCisgQUNfQ09ORklHX1NSQ0RJUihbdW5pcXVlL3VuaXF1ZS5oXSkKKyBBQ19DT05GSUdfTUFDUk9fRElSKFtidWlsZC9hdXRvdG9vbHNdKQorIAorLUFNX0lOSVRfQVVUT01BS0UoWzEuMTBdKQorK0FNX0lOSVRfQVVUT01BS0UoWzEuMTEgbm8tZGVmaW5lIC1Xbm8tcG9ydGFiaWxpdHkgZGlzdC1iemlwMl0pCisgQU1fQ09ORklHX0hFQURFUihbY29uZmlnLmhdKQorIAorK0FNX1NJTEVOVF9SVUxFUyhbeWVzXSkKKysKKytBQ19QUk9HX0NDX0NfTworKworK0FNX1BBVEhfR0xJQl8yXzAKKysKKytMVF9QUkVSRVEoWzIuMi42XSkKKytMVF9JTklUKFtkaXNhYmxlLXN0YXRpY10pCisrCisrIyBIb25vciBhY2xvY2FsIGZsYWdzCisrQUNMT0NBTD0iJEFDTE9DQUwgJEFDTE9DQUxfRkxBR1MiCisrCisgIyB2ZXJzaW9uIHN5bWJvbHMKKyBVTklRVUVfTUFKT1JfVkVSU0lPTj11bmlxdWVfbWFqb3JfdmVyc2lvbgorIFVOSVFVRV9NSU5PUl9WRVJTSU9OPXVuaXF1ZV9taW5vcl92ZXJzaW9uCitAQCAtNDksMjEgKzYxLDYgQEAgVU5JUVVFX0xUX0NVUlJFTlRfTUlOVVNfQUdFPW00X2V2YWwobHRfY3VycmVudCAtIGx0X2FnZSkKKyBBQ19TVUJTVChVTklRVUVfTFRfVkVSU0lPTl9JTkZPKQorIEFDX1NVQlNUKFVOSVFVRV9MVF9DVVJSRU5UX01JTlVTX0FHRSkKKyAKKy1BQ19JU0NfUE9TSVgKKy1BQ19QUk9HX0NDCistQUNfUFJPR19JTlNUQUxMCistQUNfUFJPR19NQUtFX1NFVAorLUFDX0NfQ09OU1QKKy1BQ19QUk9HX0xJQlRPT0wKKy1BQ19QQVRIX1BST0coR0xJQl9NS0VOVU1TLCBbZ2xpYi1ta2VudW1zXSkKKy1BQ19QQVRIX1BST0coR0xJQl9HRU5NQVJTSEFMLCBbZ2xpYi1nZW5tYXJzaGFsXSkKKy0KKy1BTV9TQU5JVFlfQ0hFQ0sKKy1BTV9QUk9HX0NDX1NUREMKKy0KKy0jIEhvbm9yIGFjbG9jYWwgZmxhZ3MKKy1BQ0xPQ0FMPSIkQUNMT0NBTCAkQUNMT0NBTF9GTEFHUyIKKy0KKyBtNF9kZWZpbmUoW2dsaWJfcmVxdWlyZWRdLCBbMi4xMi4wXSkKKyBtNF9kZWZpbmUoW2d0a19yZXF1aXJlZF0sICBbMi4xMS4wXSkKKyBtNF9kZWZpbmUoW2RidXNfcmVxdWlyZWRdLCBbMC43MF0pCitAQCAtMTIyLDcgKzExOSw2IEBAIEFNX0NPTkRJVElPTkFMKFtIQVZFX0RCVVNdLCBbdGVzdCAieCRoYXZlX2RidXMiID0gInh5ZXMiXSkKKyBkbmwgQmFjb24gYmFja2VuZAorIGRubCBUaGlzIGlzIHRoZSBmYWxsYmFjayBiYWNrZW5kLCBzbyB3ZSAqbmVlZCogdGhlc2UgaGVhZGVycyBhbmQgZnVuY3Rpb25zCisgZG5sIGV2ZW4gaWYgd2UgZW5kIHVwIHVzaW5nIEQtQnVzCistZG5sIEQtQnVzIGJhY2tlbmQgZGVwZW5kZW5jaWVzCisgbTRfZGVmaW5lKFtoYXZlX2JhY29uX2RlZmF1bHRdLCBbeWVzXSkKKyBBQ19BUkdfRU5BQkxFKFtiYWNvbl0sCisgICAgICAgICAgICAgICBbQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWJhY29uPUA8OkB5ZXMvbm9AOj5AXSwKK0BAIC0xNzgsOSArMTc0LDkgQEAgQUNfQVJHX0VOQUJMRShbbWFpbnRhaW5lci1mbGFnc10sCisgQVNfSUYoW3Rlc3QgIngkZW5hYmxlX21haW50YWluZXJfZmxhZ3MiID0gInh5ZXMiICYmICB0ZXN0ICJ4JEdDQyIgPSAieHllcyJdLAorICAgICAgIFsKKyAgICAgICAgIEFTX0NPTVBJTEVSX0ZMQUdTKFtNQUlOVEFJTkVSX0NGTEFHU10sCistICAgICAgICAgICAgICAgICAgICAgICAgICBbIi1XZXJyb3IgLVdhbGwgLVdzaGFkb3cgLVdjYXN0LWFsaWduCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1Xbm8tdW5pbml0aWFsaXplZCAtV2VtcHR5LWJvZHkgLVdmb3JtYXQtc2VjdXJpdHkKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLVdpbml0LXNlbGYiXSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgIFsiLVdhbGwgLVdzaGFkb3cgLVdjYXN0LWFsaWduCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1Xbm8tdW5pbml0aWFsaXplZCAtV2VtcHR5LWJvZHkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVdmb3JtYXQtc2VjdXJpdHkgLVdpbml0LXNlbGYiXSkKKyAgICAgICBdCisgKQorIAorQEAgLTIzMCwyNyArMjI2LDEwIEBAIEFDX0RFRklORV9VTlFVT1RFRChbR0VUVEVYVF9QQUNLQUdFXSwKKyBBTV9HTElCX0RFRklORV9MT0NBTEVESVIoVU5JUVVFX0xPQ0FMRURJUikKKyAKKyAjIGludHJvc3BlY3Rpb24KKy1HT0JKRUNUX0lOVFJPU1BFQ1RJT05fQ0hFQ0soWzAuNi4zXSkKKytHT0JKRUNUX0lOVFJPU1BFQ1RJT05fQ0hFQ0soWzAuNi43XSkKKyAKKyAjIGd0ay1kb2MKKy1HVEtfRE9DX0NIRUNLKFsxLjExXSkKKy0KKy0jIG5pY2UgYnVpbGRzCistbTRfaWZkZWYoW0FNX1NJTEVOVF9SVUxFU10sCistICAgICAgICAgWworLSAgICAgICAgICAgQU1fU0lMRU5UX1JVTEVTKFt5ZXNdKQorLSAgICAgICAgICAgdXNlX3NoYXZlPW5vCistICAgICAgICAgXSwKKy0gICAgICAgICBbCistICAgICAgICAgICBTSEFWRV9JTklUKFtidWlsZC9hdXRvdG9vbHNdLCBbZW5hYmxlXSkKKy0gICAgICAgICAgIEFDX0NPTkZJR19GSUxFUyhbCistICAgICAgICAgICAgICAgIGJ1aWxkL2F1dG90b29scy9zaGF2ZS1saWJ0b29sCistICAgICAgICAgICAgICAgIGJ1aWxkL2F1dG90b29scy9zaGF2ZQorLSAgICAgICAgICAgXSkKKy0gICAgICAgICAgIHVzZV9zaGF2ZT15ZXMKKy0gICAgICAgICBdKQorLQorLUFNX0NPTkRJVElPTkFMKFtVU0VfU0hBVkVdLCBbdGVzdCAieCR1c2Vfc2hhdmUiID0gInh5ZXMiXSkKKytHVEtfRE9DX0NIRUNLKFsxLjEzXSkKKyAKKyBBQ19DT05GSUdfRklMRVMoWworICAgICAgICAgTWFrZWZpbGUKKy0tCitjZ2l0IHYwLjkuMC4yCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlL2ZpeF9mb3JfY29tcGlsZV93aXRoX2djYy00LjYuMC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2xpYnVuaXF1ZS9saWJ1bmlxdWUvZml4X2Zvcl9jb21waWxlX3dpdGhfZ2NjLTQuNi4wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3NWRlOTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlL2ZpeF9mb3JfY29tcGlsZV93aXRoX2djYy00LjYuMC5wYXRjaApAQCAtMCwwICsxLDM2IEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworRml4IEZvbGxvd2luZyBjb21waWxhdGlvbiBlcnJvcnMgd2l0aCBnY2MgNC42LjAKKworTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4gMjAxMS8wNS8xMAorCit8IHVuaXF1ZWJhY2tlbmQtZGJ1cy5jOiBJbiBmdW5jdGlvbiAndW5pcXVlX2JhY2tlbmRfZGJ1c19yZXF1ZXN0X25hbWUnOgorfCB1bmlxdWViYWNrZW5kLWRidXMuYzo4NzoyMjogZXJyb3I6IHZhcmlhYmxlICdiYWNrZW5kX2RidXMnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCit8IHVuaXF1ZWJhY2tlbmQtZGJ1cy5jOiBJbiBmdW5jdGlvbiAndW5pcXVlX2JhY2tlbmRfZGJ1c19zZW5kX21lc3NhZ2UnOgorfCB1bmlxdWViYWNrZW5kLWRidXMuYzoxODk6MTI6IGVycm9yOiB2YXJpYWJsZSAncmVzJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQorfCBjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycworfCAKK3wgbWFrZVs1XTogKioqIFtsaWJ1bmlxdWVfZGJ1c19sYS11bmlxdWViYWNrZW5kLWRidXMubG9dIEVycm9yIDEKKworSW5kZXg6IGxpYnVuaXF1ZS0xLjEuNi91bmlxdWUvZGJ1cy91bmlxdWViYWNrZW5kLWRidXMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYnVuaXF1ZS0xLjEuNi5vcmlnL3VuaXF1ZS9kYnVzL3VuaXF1ZWJhY2tlbmQtZGJ1cy5jCisrKysgbGlidW5pcXVlLTEuMS42L3VuaXF1ZS9kYnVzL3VuaXF1ZWJhY2tlbmQtZGJ1cy5jCitAQCAtODQsNyArODQsNyBAQCB1bmlxdWVfYmFja2VuZF9kYnVzX3JlZ2lzdGVyX3Byb3h5IChVbmlxCisgc3RhdGljIGdib29sZWFuCisgdW5pcXVlX2JhY2tlbmRfZGJ1c19yZXF1ZXN0X25hbWUgKFVuaXF1ZUJhY2tlbmQgKmJhY2tlbmQpCisgeworLSAgVW5pcXVlQmFja2VuZERCdXMgKmJhY2tlbmRfZGJ1czsKKysgIFVuaXF1ZUJhY2tlbmREQnVzIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSAqYmFja2VuZF9kYnVzOworICAgY29uc3QgZ2NoYXIgKm5hbWU7CisgICBEQnVzR0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb247CisgICBEQnVzR1Byb3h5ICpwcm94eTsKK0BAIC0xODYsNyArMTg2LDcgQEAgdW5pcXVlX2JhY2tlbmRfZGJ1c19zZW5kX21lc3NhZ2UgKFVuaXF1ZQorICAgR1ZhbHVlQXJyYXkgKmRhdGE7CisgICBnY2hhciAqY21kOworICAgZ2NoYXIgKnJlc3A7CistICBnYm9vbGVhbiByZXM7CisrICBnYm9vbGVhbiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgcmVzOworICAgR0Vycm9yICplcnJvcjsKKyAgIFVuaXF1ZVJlc3BvbnNlIHJlc3BvbnNlOworIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlidW5pcXVlL2xpYnVuaXF1ZS9ub2NvbnN0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlidW5pcXVlL2xpYnVuaXF1ZS9ub2NvbnN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjYzAzNDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlL25vY29uc3QucGF0Y2gKQEAgLTAsMCArMSwxMzAgQEAKK0dfQ09OU1RfUkVUVVJOIGlzIGRlcHJlY2F0ZWQgaW4gZ2xpYiAyLjMwIHNvIHJlbW92ZSB0byB0byBhdm9pZAorYnVpbGQgZmFpbHVyZXMuCisKK1JQIDIwMTEvMTAvMTIKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0luZGV4OiBsaWJ1bmlxdWUtMS4xLjYvdW5pcXVlL3VuaXF1ZWFwcC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlidW5pcXVlLTEuMS42Lm9yaWcvdW5pcXVlL3VuaXF1ZWFwcC5jCTIwMTEtMTAtMTIgMDE6MjE6MjUuODQyMDQ2NDg4ICswMTAwCisrKysgbGlidW5pcXVlLTEuMS42L3VuaXF1ZS91bmlxdWVhcHAuYwkyMDExLTEwLTEyIDAxOjIxOjU1LjA2MjA0Njc5NiArMDEwMAorQEAgLTc4MSw3ICs3ODEsNyBAQAorIH0KKyAKKyAKKy1HX0NPTlNUX1JFVFVSTiBnY2hhciAqCisrY29uc3QgZ2NoYXIgKgorIHVuaXF1ZV9jb21tYW5kX3RvX3N0cmluZyAoVW5pcXVlQXBwICphcHAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50ICAgICAgIGNvbW1hbmQpCisgeworQEAgLTg2Myw3ICs4NjMsNyBAQAorICAgcmV0dXJuIHJldHZhbDsKKyB9CisgCistR19DT05TVF9SRVRVUk4gZ2NoYXIgKgorK2NvbnN0IGdjaGFyICoKKyB1bmlxdWVfcmVzcG9uc2VfdG9fc3RyaW5nIChVbmlxdWVSZXNwb25zZSByZXNwb25zZSkKKyB7CisgICBHRW51bUNsYXNzICplbnVtX2NsYXNzOworSW5kZXg6IGxpYnVuaXF1ZS0xLjEuNi91bmlxdWUvdW5pcXVlYmFja2VuZC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlidW5pcXVlLTEuMS42Lm9yaWcvdW5pcXVlL3VuaXF1ZWJhY2tlbmQuYwkyMDExLTEwLTEyIDAxOjIxOjI1Ljc0MjA0NjMyMyArMDEwMAorKysrIGxpYnVuaXF1ZS0xLjEuNi91bmlxdWUvdW5pcXVlYmFja2VuZC5jCTIwMTEtMTAtMTIgMDE6MjE6NTUuMDYyMDQ2Nzk2ICswMTAwCitAQCAtMTExLDcgKzExMSw3IEBACisgICoKKyAgKiBSZXR1cm4gdmFsdWU6IEZJWE1FCisgICovCistR19DT05TVF9SRVRVUk4gZ2NoYXIgKgorK2NvbnN0IGdjaGFyICoKKyB1bmlxdWVfYmFja2VuZF9nZXRfbmFtZSAoVW5pcXVlQmFja2VuZCAqYmFja2VuZCkKKyB7CisgICBnX3JldHVybl92YWxfaWZfZmFpbCAoVU5JUVVFX0lTX0JBQ0tFTkQgKGJhY2tlbmQpLCBOVUxMKTsKK0BAIC0xNTQsNyArMTU0LDcgQEAKKyAgKgorICAqIFJldHVybiB2YWx1ZTogRklYTUUKKyAgKi8KKy1HX0NPTlNUX1JFVFVSTiBnY2hhciAqCisrY29uc3QgZ2NoYXIgKgorIHVuaXF1ZV9iYWNrZW5kX2dldF9zdGFydHVwX2lkIChVbmlxdWVCYWNrZW5kICpiYWNrZW5kKQorIHsKKyAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChVTklRVUVfSVNfQkFDS0VORCAoYmFja2VuZCksIE5VTEwpOworSW5kZXg6IGxpYnVuaXF1ZS0xLjEuNi91bmlxdWUvdW5pcXVlYmFja2VuZC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlidW5pcXVlLTEuMS42Lm9yaWcvdW5pcXVlL3VuaXF1ZWJhY2tlbmQuaAkyMDExLTEwLTEyIDAxOjIxOjI1Ljk5MjA0NjUyMSArMDEwMAorKysrIGxpYnVuaXF1ZS0xLjEuNi91bmlxdWUvdW5pcXVlYmFja2VuZC5oCTIwMTEtMTAtMTIgMDE6MjE6NTYuNTEyMDQ3ODc1ICswMTAwCitAQCAtOTQsMTAgKzk0LDEwIEBACisgCisgVW5pcXVlQmFja2VuZCAqICAgICAgIHVuaXF1ZV9iYWNrZW5kX2NyZWF0ZSAgICAgICAgICh2b2lkKTsKKyAKKy1HX0NPTlNUX1JFVFVSTiBnY2hhciAqdW5pcXVlX2JhY2tlbmRfZ2V0X25hbWUgICAgICAgKFVuaXF1ZUJhY2tlbmQgICAgICpiYWNrZW5kKTsKKytjb25zdCBnY2hhciAqdW5pcXVlX2JhY2tlbmRfZ2V0X25hbWUgICAgICAgKFVuaXF1ZUJhY2tlbmQgICAgICpiYWNrZW5kKTsKKyB2b2lkICAgICAgICAgICAgICAgICAgdW5pcXVlX2JhY2tlbmRfc2V0X25hbWUgICAgICAgKFVuaXF1ZUJhY2tlbmQgICAgICpiYWNrZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgKm5hbWUpOworLUdfQ09OU1RfUkVUVVJOIGdjaGFyICp1bmlxdWVfYmFja2VuZF9nZXRfc3RhcnR1cF9pZCAoVW5pcXVlQmFja2VuZCAgICAgKmJhY2tlbmQpOworK2NvbnN0IGdjaGFyICp1bmlxdWVfYmFja2VuZF9nZXRfc3RhcnR1cF9pZCAoVW5pcXVlQmFja2VuZCAgICAgKmJhY2tlbmQpOworIHZvaWQgICAgICAgICAgICAgICAgICB1bmlxdWVfYmFja2VuZF9zZXRfc3RhcnR1cF9pZCAoVW5pcXVlQmFja2VuZCAgICAgKmJhY2tlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAqc3RhcnR1cF9pZCk7CisgR2RrU2NyZWVuICogICAgICAgICAgIHVuaXF1ZV9iYWNrZW5kX2dldF9zY3JlZW4gICAgIChVbmlxdWVCYWNrZW5kICAgICAqYmFja2VuZCk7CitJbmRleDogbGlidW5pcXVlLTEuMS42L3VuaXF1ZS91bmlxdWVpbnRlcm5hbHMuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYnVuaXF1ZS0xLjEuNi5vcmlnL3VuaXF1ZS91bmlxdWVpbnRlcm5hbHMuaAkyMDExLTEwLTEyIDAxOjIxOjI1Ljg5MjA0NjUzMiArMDEwMAorKysrIGxpYnVuaXF1ZS0xLjEuNi91bmlxdWUvdW5pcXVlaW50ZXJuYWxzLmgJMjAxMS0xMC0xMiAwMToyMTo1Ni41MTIwNDc4NzUgKzAxMDAKK0BAIC00NCwxMSArNDQsMTEgQEAKKyAgKiBhbmQgdGhlbiBiYWNrIGludG8gYW4gaWQKKyAgKi8KKyBVbmlxdWVSZXNwb25zZSAgICAgICAgdW5pcXVlX3Jlc3BvbnNlX2Zyb21fc3RyaW5nICAoY29uc3QgZ2NoYXIgICAgKnJlc3BvbnNlKTsKKy1HX0NPTlNUX1JFVFVSTiBnY2hhciAqdW5pcXVlX3Jlc3BvbnNlX3RvX3N0cmluZyAgICAoVW5pcXVlUmVzcG9uc2UgIHJlc3BvbnNlKTsKKytjb25zdCBnY2hhciAqdW5pcXVlX3Jlc3BvbnNlX3RvX3N0cmluZyAgICAoVW5pcXVlUmVzcG9uc2UgIHJlc3BvbnNlKTsKKyAKKyBnaW50ICAgICAgICAgICAgICAgICAgdW5pcXVlX2NvbW1hbmRfZnJvbV9zdHJpbmcgICAoVW5pcXVlQXBwICAgICAgKmFwcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgKmNvbW1hbmQpOworLUdfQ09OU1RfUkVUVVJOIGdjaGFyICp1bmlxdWVfY29tbWFuZF90b19zdHJpbmcgICAgIChVbmlxdWVBcHAgICAgICAqYXBwLAorK2NvbnN0IGdjaGFyICp1bmlxdWVfY29tbWFuZF90b19zdHJpbmcgICAgIChVbmlxdWVBcHAgICAgICAqYXBwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50ICAgICAgICAgICAgY29tbWFuZCk7CisgCisgR19FTkRfREVDTFMKK0luZGV4OiBsaWJ1bmlxdWUtMS4xLjYvdW5pcXVlL3VuaXF1ZW1lc3NhZ2UuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYnVuaXF1ZS0xLjEuNi5vcmlnL3VuaXF1ZS91bmlxdWVtZXNzYWdlLmMJMjAxMS0xMC0xMiAwMToyMToyNS45NDIwNDY1MjQgKzAxMDAKKysrKyBsaWJ1bmlxdWUtMS4xLjYvdW5pcXVlL3VuaXF1ZW1lc3NhZ2UuYwkyMDExLTEwLTEyIDAxOjIxOjU1LjA3MjA0NjU5NSArMDEwMAorQEAgLTE4NSw3ICsxODUsNyBAQAorICAqCisgICogU2luY2U6IDEuMC4yCisgICovCistR19DT05TVF9SRVRVUk4gZ3VjaGFyICoKKytjb25zdCBndWNoYXIgKgorIHVuaXF1ZV9tZXNzYWdlX2RhdGFfZ2V0IChVbmlxdWVNZXNzYWdlRGF0YSAqbWVzc2FnZV9kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBnc2l6ZSAgICAgICAgICAgICAqbGVuZ3RoKQorIHsKK0BAIC01MjUsNyArNTI1LDcgQEAKKyAgKiAgIG93bmVkIGJ5IHRoZSAjVW5pcXVlTWVzc2FnZURhdGEgc3RydWN0dXJlIGFuZCBzaG91bGQgbm90IGJlCisgICogICBtb2RpZmllZCBvciBmcmVlZAorICAqLworLUdfQ09OU1RfUkVUVVJOIGdjaGFyICoKKytjb25zdCBnY2hhciAqCisgdW5pcXVlX21lc3NhZ2VfZGF0YV9nZXRfc3RhcnR1cF9pZCAoVW5pcXVlTWVzc2FnZURhdGEgKm1lc3NhZ2VfZGF0YSkKKyB7CisgICBnX3JldHVybl92YWxfaWZfZmFpbCAobWVzc2FnZV9kYXRhICE9IE5VTEwsIE5VTEwpOworSW5kZXg6IGxpYnVuaXF1ZS0xLjEuNi91bmlxdWUvdW5pcXVlbWVzc2FnZS5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGlidW5pcXVlLTEuMS42Lm9yaWcvdW5pcXVlL3VuaXF1ZW1lc3NhZ2UuaAkyMDExLTEwLTEyIDAxOjIxOjI1Ljc5MjA0NjU5NiArMDEwMAorKysrIGxpYnVuaXF1ZS0xLjEuNi91bmlxdWUvdW5pcXVlbWVzc2FnZS5oCTIwMTEtMTAtMTIgMDE6MjE6NTYuNTEyMDQ3ODc1ICswMTAwCitAQCAtNDgsNyArNDgsNyBAQAorIHZvaWQgICAgICAgICAgICAgICAgICAgdW5pcXVlX21lc3NhZ2VfZGF0YV9zZXQgICAgICAgICAgICAoVW5pcXVlTWVzc2FnZURhdGEgKm1lc3NhZ2VfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGd1Y2hhciAgICAgICpkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3NpemUgICAgICAgICAgICAgIGxlbmd0aCk7CistR19DT05TVF9SRVRVUk4gZ3VjaGFyICp1bmlxdWVfbWVzc2FnZV9kYXRhX2dldCAgICAgICAgICAgIChVbmlxdWVNZXNzYWdlRGF0YSAqbWVzc2FnZV9kYXRhLAorK2NvbnN0IGd1Y2hhciAqdW5pcXVlX21lc3NhZ2VfZGF0YV9nZXQgICAgICAgICAgICAoVW5pcXVlTWVzc2FnZURhdGEgKm1lc3NhZ2VfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdzaXplICAgICAgICAgICAgICpsZW5ndGgpOworIAorIGdib29sZWFuICAgICAgICAgICAgICAgdW5pcXVlX21lc3NhZ2VfZGF0YV9zZXRfdGV4dCAgICAgICAoVW5pcXVlTWVzc2FnZURhdGEgKm1lc3NhZ2VfZGF0YSwKK0BAIC02Myw3ICs2Myw3IEBACisgZ2NoYXIgKiAgICAgICAgICAgICAgICB1bmlxdWVfbWVzc2FnZV9kYXRhX2dldF9maWxlbmFtZSAgIChVbmlxdWVNZXNzYWdlRGF0YSAqbWVzc2FnZV9kYXRhKTsKKyAKKyBHZGtTY3JlZW4gKiAgICAgICAgICAgIHVuaXF1ZV9tZXNzYWdlX2RhdGFfZ2V0X3NjcmVlbiAgICAgKFVuaXF1ZU1lc3NhZ2VEYXRhICptZXNzYWdlX2RhdGEpOworLUdfQ09OU1RfUkVUVVJOIGdjaGFyICogdW5pcXVlX21lc3NhZ2VfZGF0YV9nZXRfc3RhcnR1cF9pZCAoVW5pcXVlTWVzc2FnZURhdGEgKm1lc3NhZ2VfZGF0YSk7CisrY29uc3QgZ2NoYXIgKiB1bmlxdWVfbWVzc2FnZV9kYXRhX2dldF9zdGFydHVwX2lkIChVbmlxdWVNZXNzYWdlRGF0YSAqbWVzc2FnZV9kYXRhKTsKKyBndWludCAgICAgICAgICAgICAgICAgIHVuaXF1ZV9tZXNzYWdlX2RhdGFfZ2V0X3dvcmtzcGFjZSAgKFVuaXF1ZU1lc3NhZ2VEYXRhICptZXNzYWdlX2RhdGEpOworIAorIEdfRU5EX0RFQ0xTCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJ1bmlxdWUvbGlidW5pcXVlXzEuMS42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlidW5pcXVlL2xpYnVuaXF1ZV8xLjEuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDEzZTVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlidW5pcXVlL2xpYnVuaXF1ZV8xLjEuNi5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIHN1cHBvcnRpbmcgc2luZ2xlIGluc3RhbmNlIEdUSysgYXBwbGljYXRpb25zIgorREVTQ1JJUFRJT04gPSAiVW5pcXVlIGlzIGEgbGlicmFyeSBmb3Igd3JpdGluZyBzaW5nbGUgaW5zdGFuY2UgR1RLKyBhcHBsaWNhdGlvbnMuIElmIHlvdSBsYXVuY2ggYSBzaW5nbGUgaW5zdGFuY2UgYXBwbGljYXRpb24gdHdpY2UsIHRoZSBzZWNvbmQgaW5zdGFuY2Ugd2lsbCBlaXRoZXIganVzdCBxdWl0IG9yIHdpbGwgc2VuZCBhIG1lc3NhZ2UgdG8gdGhlIHJ1bm5pbmcgaW5zdGFuY2UuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmdub21lLm9yZy9BdHRpYy9MaWJVbmlxdWUiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1saWJ1bmlxdWUiCisKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L2xpYnVuaXF1ZS8xLjEvbGlidW5pcXVlLSR7UFZ9LnRhci5iejIgXAorCWZpbGU6Ly9maXhfZm9yX2NvbXBpbGVfd2l0aF9nY2MtNC42LjAucGF0Y2ggXAorCWZpbGU6Ly9ub2NvbnN0LnBhdGNoIFwKKyAgICAgICAgZmlsZTovL2J1aWxkLnBhdGNoIFwKKyAgICAgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tdXNlLUxJQlRPT0wtaW5zdGVhZC1vZi1oYXJkY29kZWQtbGlidG9vbC5wYXRjaCBcCisgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjc5NTU3NjllZjMxZjFiYzRmODM0NDZkYmIzNjI1ZTZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU1YzgwNDFjZWY4ZTMzYzU1NzMyZjA2YTI5MjM4MWNiMzQ1ZGI5NDZjZjc5MmE0YWUxOGFhNWM2NmNkZDRmYmIiCisKK1BSID0gInI3IgorCitERVBFTkRTID0gImdsaWItMi4wIGd0aysiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJkYnVzIgorUEFDS0FHRUNPTkZJR1tkYnVzXSA9ICItLWVuYWJsZS1kYnVzLC0tZGlzYWJsZS1kYnVzLGRidXMgZGJ1cy1nbGliIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEiCisKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdvYmplY3QtaW50cm9zcGVjdGlvbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvYmFibC9iYWJsXzAuMS4xNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2JhYmwvYmFibF8wLjEuMTYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGFlYTA1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2JhYmwvYmFibF8wLjEuMTYuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJCYWJsIGlzIGEgZHluYW1pYywgYW55IHRvIGFueSwgcGl4ZWwgZm9ybWF0IGNvbnZlcnNpb24gbGlicmFyeSIKK0xJQ0VOU0UgPSAiTEdQTC0zLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02YTZhOGUwMjA4MzhiMjM0MDZjODFiMTljMWQ0NmRmNiIKKworaW5oZXJpdCBnbm9tZWJhc2UKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdpbXAub3JnL3B1Yi8ke0JQTn0vMC4xLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiYTFjNzJlNWY1ZDU1YThiNzM2ZWYyZmE2N2RkYjg2ZWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2Q2YmE1NWVjNTNlZTZmNmJmNjk0NWJlZWMyODgzOWQwOWZmNzIzNzZmNGQ4MzAzNWViMzc5Y2Q0ZjNlOTgwZSIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9iYWJsLSovKi5zbyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2JhYmwtKi8qLmxhIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vYmFibC0qLy5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyb21tXzEuMTEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvbW1fMS4xMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzMzA0NTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyb21tXzEuMTEuMi5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgQ2Fpcm8gZ3JhcGhpY3MgbGlicmFyeSIKKworTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jNDZiZGEwMGZmYmIwYmExZGFjMjJmOGQwODdmNTRkOSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0RFUEVORFMgPSAiY2Fpcm8gbGlic2lnYysrLTIuMCIKKworU1JDX1VSSSA9ICJodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmcvcmVsZWFzZXMvY2Fpcm9tbS0ke1BWfS50YXIuZ3o7bmFtZT1hcmNoaXZlIgorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNzMyYTNmZjViNTc0MDFlYjVkZmVlZjc5NWEyYTBjNTIiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJjY2Y2NzcwOThjMWUwOGUxODlhZGQwYmQxNDZmNzg0OTgxMDlmMjAyNTc1NDkxYTgyZjE4MTViNmJjMjgwMDhkIgorCitGSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0vZGV2aGVscCIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2NhaXJvbW0tKi8iCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ib3gyZC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItYm94MmQuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NmI3ODUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItYm94MmQuaW5jCkBAIC0wLDAgKzEsMTUgQEAKK0RFU0NSSVBUSU9OID0gIkNsdXR0ZXIgQm94MkQiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmNsdXR0ZXItcHJvamVjdC5vcmcvIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCisKKyMgVGhlIG1haW4gY2x1dHRlciBsaWIgaXMgbWFjaGluZSBzcGVjaWZpYyBzbyB3ZSBuZWVkIHRvIGJlIHRvbworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgJHtTfS9leGFtcGxlcy8ubGlicy9ibG9ja2JveCAke0R9JHtiaW5kaXJ9Cit9CisKK0ZJTEVTUEFUSCA9ICIke0ZJTEVfRElSTkFNRX0vY2x1dHRlci1ib3gyZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ib3gyZF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItYm94MmRfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5NGQxMDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItYm94MmRfZ2l0LmJiCkBAIC0wLDAgKzEsMTkgQEAKK3JlcXVpcmUgY2x1dHRlci1ib3gyZC5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vYm94MmQvTGljZW5zZS50eHQ7bWQ1PWU1ZDM5YWQ5MWY3ZGM0NjkyZGNkYjFkODUxMzllYzZiIgorCisjIDAuMTIuMStnaXRBVVRPSU5DK2RlNTQ1MmU1NmItcjEvZ2l0L2NsdXR0ZXItYm94MmQvY2x1dHRlci1ib3gyZC5oOjIyNjo0NzoKKyMgIGZhdGFsIGVycm9yOiBjbHV0dGVyLWJveDJkL2NsdXR0ZXItYm94MmQtY2hpbGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorIyB8ICAjaW5jbHVkZSA8Y2x1dHRlci1ib3gyZC9jbHV0dGVyLWJveDJkLWNoaWxkLmg+CitQTkJMQUNLTElTVFtjbHV0dGVyLWJveDJkXSA/PSAiQlJPS0VOOiBkb2Vzbid0IGJ1aWxkIHdpdGggQiE9UyIKKworU1JDUkVWID0gImRlNTQ1MmU1NmI1MzdhMTFmZDdmOTQ1M2QwNDhmZjRiNDc5M2I1YTIiCitQViA9ICIwLjEyLjErZ2l0JHtTUkNQVn0iCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuZ25vbWUub3JnL2NsdXR0ZXItYm94MmQuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitERVBFTkRTICs9ICJjbHV0dGVyLTEuMCIKK1BST1ZJREVTID0gImNsdXR0ZXItYm94MmQtMS42IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZGlldHNwbGFzaC9kaWV0c3BsYXNoX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2RpZXRzcGxhc2gvZGlldHNwbGFzaF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg4Y2FmOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2RpZXRzcGxhc2gvZGlldHNwbGFzaF9naXQuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJTaW1wbGUgYm9vdHNwbGFzaCBmb3Igc3lzdGVtZCBzeXN0ZW1zIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCisjIFJlYWxseSwgbm8gZGVwZW5kcyBiZXNpZGVzIGEgQyBsaWJyYXJ5CisKK1BWID0gIjAuMyIKK1BSID0gInIxIgorCitTUkNSRVYgPSAiZjdhYWRhY2JlM2MxOWUzN2VhOTM4ZTAwYTUxNDFiNTc3ZmI3NGE1ZSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9sdWNhc2RlbWFyY2hpL2RpZXRzcGxhc2guZ2l0IgorCitpbmhlcml0IGF1dG90b29scworCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXN0YXRpY2ltYWdlcyIKKworRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZmJncmFiL2ZiZ3JhYl8xLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mYmdyYWIvZmJncmFiXzEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDg3Yjg2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZmJncmFiL2ZiZ3JhYl8xLjIuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJGQkdyYWIgaXMgYSBmcmFtZWJ1ZmZlciBzY3JlZW5zaG90IHByb2dyYW0iCitIT01FUEFHRSA9ICJodHRwOi8vZmJncmFiLm1vbmVsbHMuc2UvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVhNWJlZDJmNjBkMzU3NjE4Y2ExNjFhZDUzOWY3YzBhIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorREVQRU5EUyA9ICJsaWJwbmcgemxpYiIKK1NSQ19VUkkgPSAiaHR0cDovL2ZiZ3JhYi5tb25lbGxzLnNlLyR7QlB9LnRhci5neiIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxNWI0MzI3MzVkNmVmZDAzNzM3MjJiYjk2NTc3Yjk0NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MWUwNzcyYWQ2ZWE3NDRlZTU5N2FlNDc4Mzk4ZGRkMGJhNmZjZWVlMmNmMzQzODU5YmViZGUyYzE1YmFmYjkxIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgJ3N8JChERVNURElSKS91c3IvbWFuL3wkKERFU1RESVIpJHttYW5kaXJ9L3xnJyAke1N9L01ha2VmaWxlCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mYmlkYS9mYmlkYV8yLjEwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZmJpZGEvZmJpZGFfMi4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTRmYzliCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZmJpZGEvZmJpZGFfMi4xMC5iYgpAQCAtMCwwICsxLDY2IEBACitTVU1NQVJZID0gIkZyYW1lYnVmZmVyIGltYWdlIGFuZCBkb2Mgdmlld2VyIHRvb2xzIgorREVTQ1JJUFRJT04gPSAiVGhlIGZiaWRhIHByb2plY3QgY29udGFpbnMgYSBmZXcgYXBwbGljYXRpb25zIGZvciB2aWV3aW5nIGFuZCBlZGl0aW5nIGltYWdlcywgXAorICAgICAgICAgICAgICAgd2l0aCB0aGUgbWFpbiBmb2N1cyBiZWluZyBwaG90b3MuIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpbnV4LmJ5dGVzZXgub3JnL2ZiaWRhLyIKK0FVVEhPUiA9ICJHZXJkIEhvZmZtYW5uIgorU0VDVElPTiA9ICJ1dGlscyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorCitERVBFTkRTID0gInZpcnR1YWwvbGliaWNvbnYganBlZyBmb250Y29uZmlnIGZyZWV0eXBlIGxpYmV4aWYiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93d3cua3JheGVsLm9yZy9yZWxlYXNlcy9mYmlkYS9mYmlkYS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMDk0NjBiOTY0YjU4YzJlMzliNjY1NDk4ZWNhMjkwMTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2E1YTNhYWM2MWI0MGE2YTJiYmY3MTZkMjcwYTQ2ZTJmOGU4ZDVjOTdlMzE0ZTkyN2Q0MTM5OGE0ZDBiNmNiNiIKKworQiA9ICIke1dPUktESVJ9L2J1aWxkIgorCitFWFRSQV9PRU1BS0UgPSAiU1RSSVA9ICdzcmNkaXI9JHtTfScgLWYgJHtTfS9HTlVtYWtlZmlsZSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImdpZiBwbmcgY3VybCIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLCxjdXJsIgorUEFDS0FHRUNPTkZJR1tnaWZdID0gIiwsZ2lmbGliIgorUEFDS0FHRUNPTkZJR1twbmddID0gIiwsbGlicG5nIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICIsLHRpZmYiCitQQUNLQUdFQ09ORklHW21vdGlmXSA9ICIsLGxpYngxMSBsaWJ4ZXh0IGxpYnhwbSBsaWJ4dCBvcGVubW90aWYiCitQQUNLQUdFQ09ORklHW3dlYnBdID0gIiwsbGlid2VicCIKK1BBQ0tBR0VDT05GSUdbbGlyY10gPSAiLCxsaXJjIgorCitkb19jb21waWxlKCkgeworICAgIHNlZCAtaSAtZSAncyMgZmJncyMgXCQoc3JjZGlyKS9mYmdzIzsgcyMtSWpwZWcjLUlcJChzcmNkaXIpL2pwZWcjOyBzIyBqcGVnLyMgXCQoc3JjZGlyKS9qcGVnLyMnICR7U30vR05VbWFrZWZpbGUKKyAgICBzZWQgLWkgLWUgJ3M6L3NiaW4vbGRjb25maWc6ZWNobyB4OicgJHtTfS9tay9BdXRvY29uZi5taworICAgIHNlZCAtaSAtZSAnczogY3BwOiAke1RBUkdFVF9QUkVGSVh9Y3BwIC1JJHtTVEFHSU5HX0lOQ0RJUn06JyAke1N9L0dOVW1ha2VmaWxlCisKKyAgICAjIEJlIHN1cmUgdG8gcmVzcGVjdCBwcmVmZXJlbmNlcyAoZm9yY2UgdG8gIm5vIikKKyAgICAjIEFsc28gYXZvaWQgaXNzdWVzIHdoZW4gJHtCVUlMRF9BUkNIfSA9PSAke0hPU1RfQVJDSH0KKyAgICBpZiBbIC16ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdjdXJsJywgJ2N1cmwnLCAnJywgZCl9IiBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSAnL15IQVZFX0xJQkNVUkwvcy86PS4qJC86PSBuby8nICR7U30vR05VbWFrZWZpbGUKKyAgICBmaQorICAgIGlmIFsgLXogIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dpZicsICdnaWYnLCAnJywgZCl9IiBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSAnL15IQVZFX0xJQkdJRi9zLzo9LiokLzo9IG5vLycgJHtTfS9HTlVtYWtlZmlsZQorICAgIGZpCisgICAgaWYgWyAteiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncG5nJywgJ3BuZycsICcnLCBkKX0iIF07IHRoZW4KKyAgICAgICAgc2VkIC1pIC1lICcvXkhBVkVfTElCUE5HL3MvOj0uKiQvOj0gbm8vJyAke1N9L0dOVW1ha2VmaWxlCisgICAgZmkKKyAgICBpZiBbIC16ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd0aWZmJywgJ3RpZmYnLCAnJywgZCl9IiBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSAnL15IQVZFX0xJQlRJRkYvcy86PS4qJC86PSBuby8nICR7U30vR05VbWFrZWZpbGUKKyAgICBmaQorICAgIGlmIFsgLXogIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21vdGlmJywgJ21vdGlmJywgJycsIGQpfSIgXTsgdGhlbgorICAgICAgICBzZWQgLWkgLWUgJy9eSEFWRV9NT1RJRi9zLzo9LiokLzo9IG5vLycgJHtTfS9HTlVtYWtlZmlsZQorICAgIGZpCisgICAgaWYgWyAteiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnd2VicCcsICd3ZWJwJywgJycsIGQpfSIgXTsgdGhlbgorICAgICAgICBzZWQgLWkgLWUgJy9eSEFWRV9MSUJXRUJQL3MvOj0uKiQvOj0gbm8vJyAke1N9L0dOVW1ha2VmaWxlCisgICAgZmkKKyAgICBpZiBbIC16ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdsaXJjJywgJ2xpcmMnLCAnJywgZCl9IiBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSAnL15IQVZFX0xJQkxJUkMvcy86PS4qJC86PSBuby8nICR7U30vR05VbWFrZWZpbGUKKyAgICBmaQorCisgICAgb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorfQorCitSREVQRU5EU18ke1BOfSA9ICJ0dGYtZGVqYXZ1LXNhbnMtbW9ubyBiYXNoIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZmltL2ZpbGVzL2Nyb3NzX2NjLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZmltL2ZpbGVzL2Nyb3NzX2NjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1YWIxZWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9maW0vZmlsZXMvY3Jvc3NfY2MucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSA5YjBiMzIyZDg2YzdiMmQyY2RkYWE2MmY3ZGFiNGFhNjY5NzM5YTQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWF0dGhpZXUgQ3JhcGV0IDxNYXR0aGlldS5DcmFwZXRAaW5nZW5pY28uY29tPgorRGF0ZTogV2VkLCAxOSBNYXIgMjAxNCAxMzoxODoyMSArMDEwMAorU3ViamVjdDogW1BBVENIXSBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworYjJiYSBzaG91bGQgYmUgYnVpbHQgYnkgQlVJTERfQ0MgaW4gY3Jvc3MgZW52aXJvbm1lbnQKK1RoaXMgaXMgb25seSB1c2VkIHdoZW4gY29uZmlndXJlZCB3aXRoIC0tZW5hYmxlLWhhcmRjb2RlZC1mb250CisKK1NpZ25lZC1vZmYtYnk6IE1hdHRoaWV1IENyYXBldCA8TWF0dGhpZXUuQ3JhcGV0QGluZ2VuaWNvLmNvbT4KKy0tLQorIHNyYy9NYWtlZmlsZS5hbSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQoraW5kZXggYTFkNDMzMC4uYTgxNTBiOSAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL01ha2VmaWxlLmFtCitAQCAtNjMsNyArNjMsNyBAQCBoZWxwLWFjbS5jcHA6IGZpbS5oCisgCSQoRUNITykgJy8vI2VuZGlmJyA+PiAkQAorIAorIGIyYmE6CistCSQoQ0MpIC1vIGIyYmEgYjJiYS5jCisrCSQoQlVJTERfQ0MpIC1vIGIyYmEgYjJiYS5jCisgCisgaWYgRklNX1dBTlRfQ1VTVE9NX0hBUkRDT0RFRF9DT05TT0xFRk9OVAorIGRlZmF1bHRfZm9udF9ieXRlX2FycmF5Lmg6ICQoRklNX0NVU1RPTV9IQVJEQ09ERURfQ09OU09MRUZPTlQpIGIyYmEKKy0tIAorMS44LjUuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9maW0vZmltXzAuNC1yYzEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9maW0vZmltXzAuNC1yYzEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBhYzcwMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZpbS9maW1fMC40LXJjMS5iYgpAQCAtMCwwICsxLDUyIEBACitTVU1NQVJZID0gIkZyYW1lYnVmZmVyIChzY3JpcHRhYmxlKSBpbWFnZSB2aWV3ZXIiCitERVNDUklQVElPTiA9ICJGSU0gKEZiaSBJTXByb3ZlZCkgYWltcyB0byBiZSBhIGhpZ2hseSBjdXN0b21pemFibGUgYW5kIHNjcmlwdGFibGUgXAorICAgICAgICAgICAgICAgaW1hZ2Ugdmlld2VyIHRhcmdldGVkIGF0IHVzZXJzIHdobyBhcmUgY29tZm9ydGFibGUgd2l0aCBzb2Z0d2FyZSBcCisgICAgICAgICAgICAgICBsaWtlIHRoZSBWaW0gdGV4dCBlZGl0b3Igb3IgdGhlIE11dHQgbWFpbCB1c2VyIGFnZW50LiIKK1NFQ1RJT04gPSAidXRpbHMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmF1dGlzdGljaS5vcmcvZGV6cGVyYWRvL2ZpbS8iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYTAxYmZmMTM4Y2M5OGE2MmI4ODQwYTE1Nzk1MWM4OCIKKworUE5CTEFDS0xJU1RbZmltXSA/PSAiQlJPS0VOOiBkb2Vzbid0IGJ1aWxkIHdpdGggQiE9UyAoZmxleDogY2FuJ3Qgb3BlbiBsZXgubGV4KSIKKworIyBmbGV4IHdpdGggcHJvdmlkZSAvdXNyL2luY2x1ZGUvRmxleExleGVyLmgKK0RFUEVORFMgPSAiZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIGZsZXgiCisKK1NSQ19VUkkgPSAiJHtTQVZBTk5BSF9OT05HTlVfTUlSUk9SfS9mYmktaW1wcm92ZWQvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jcm9zc19jYy5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkNzM2MmRkZTU1NDFjMmI2NDM5YzM1YzZlMmJkNTA0NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZjZiZjJkZTI5NTJiOWFkY2JlYjNkYjEyYzJhOTc5ZTk5OWE4MWRkMWUzMTRhMDNiYzU4ZTI0ZjFlYTlmNjg2IgorCitQQVJBTExFTF9NQUtFID0gIiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKKyMgRG9uJ3QgdXNlIHByb3ZpZGVkIHJlZ2V4LmMKK0VYVFJBX09FQ09ORiA9ICJmaW1fY3ZfcmVnZXg9bm8gZmltX2N2X3JlZ2V4X2Jyb2tlbj1ubyBcCisgICAgLS1lbmFibGUtZnJhbWVidWZmZXIgXAorICAgIC0tZGlzYWJsZS1kanZ1IFwKKyAgICAtLWRpc2FibGUtcHMgXAorICAgIC0tZGlzYWJsZS14Y2Z0b3BubSBcCisgICAgLS1kaXNhYmxlLWNvbnZlcnQgXAorICAgIC0tZGlzYWJsZS1pbmtzY2FwZSBcCisgICAgLS1kaXNhYmxlLXhmaWcgXAorICAgIC0tZGlzYWJsZS1kaWEgXAorICAgIC0tZGlzYWJsZS1hYSBcCisgICAgLS1kaXNhYmxlLXNkbCBcCisgICAgLS1lbmFibGUtcmVhZC1kaXJzIFwKKyAgICAtLWVuYWJsZS1yZWN1cnNpdmUtZGlycyBcCisgICAgLS1lbmFibGUtY3VzdG9tLXN0YXR1cy1iYXIgXAorIgorCisjIE5vdGU6IGltbGliMiBpcyBsb2NhdGVkIGluIG1ldGEtZWZsIGxheWVyLgorUEFDS0FHRUNPTkZJRyA/PSAianBlZyBybCBoZiIKK1BBQ0tBR0VDT05GSUdbcG5nXSA9ICItLWVuYWJsZS1wbmcsLS1kaXNhYmxlLXBuZyxsaWJwbmciCitQQUNLQUdFQ09ORklHW2pwZWddID0gIi0tZW5hYmxlLWpwZWcsLS1kaXNhYmxlLWpwZWcsanBlZyIKK1BBQ0tBR0VDT05GSUdbdGlmZl0gPSAiLS1lbmFibGUtdGlmZiwtLWRpc2FibGUtdGlmZix0aWZmIgorUEFDS0FHRUNPTkZJR1tnaWZdID0gIi0tZW5hYmxlLWdpZiwtLWRpc2FibGUtZ2lmLGdpZmxpYiIKK1BBQ0tBR0VDT05GSUdbcGRmXSA9ICItLWVuYWJsZS1wb3BwbGVyLC0tZGlzYWJsZS1wb3BwbGVyLHBvcHBsZXIiCitQQUNLQUdFQ09ORklHW21hZ2lja10gPSAiLS1lbmFibGUtZ3JhcGhpY3NtYWdpY2ssLS1kaXNhYmxlLWdyYXBoaWNzbWFnaWNrLGltYWdlbWFnaWNrIgorUEFDS0FHRUNPTkZJR1tpbWxpYjJdID0gIi0tZW5hYmxlLWltbGliMiwtLWRpc2FibGUtaW1saWIyLGltbGliMiIKK1BBQ0tBR0VDT05GSUdbcmxdID0gIi0tZW5hYmxlLXJlYWRsaW5lLC0tZGlzYWJsZS1yZWFkbGluZSxyZWFkbGluZSIKK1BBQ0tBR0VDT05GSUdbaGZdID0gIi0tZW5hYmxlLWhhcmRjb2RlZC1mb250LC0tZGlzYWJsZS1oYXJkY29kZWQtZm9udCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRmb3JnZS9mb250Zm9yZ2VfMjAxNTA4MjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mb250Zm9yZ2UvZm9udGZvcmdlXzIwMTUwODI0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzODk5ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mb250Zm9yZ2UvZm9udGZvcmdlXzIwMTUwODI0LmJiCkBAIC0wLDAgKzEsNjAgQEAKK1NVTU1BUlkgPSAiQSBmb250IGVkaXRvciIKK0hPTUVQQUdFID0gImh0dHA6Ly9mb250Zm9yZ2UuZ2l0aHViLmlvL2VuLVVTLyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlICYgR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkcuZ3BsdjM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICBmaWxlOi8vTElDRU5TRTttZDU9M2Y5MjJiNDJlZDAwMzNmYTBmZDRjZDMyNjhmNjQyOWMgXAorIgorCitERVBFTkRTID0gImdsaWItMi4wIHBhbmdvIGdpZmxpYiB0aWZmIGxpYnhtbDIganBlZyBweXRob24gbGlidG9vbCB1dGhhc2giCitERVBFTkRTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGxpYnhpIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHl0aG9ubmF0aXZlIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgeDExIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vJHtCUE59LyR7QlBOfS5naXQiCisjIHRhZyAyMDE1MDgyNAorU1JDUkVWID0gIjA3ZDVjY2ZmMjcwNGY4YTU2ZjFiM2NjNjY5NWE0ZTMxZjg1Zjg4ZTYiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgd2l0aF94PW5vIC0tZGlzYWJsZS1weXRob24tZXh0ZW5zaW9uIC0tZGlzYWJsZS1weXRob24tc2NyaXB0aW5nIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIHV0aGFzaCBzb3VyY2VzIGFyZSBleHBlY3RlZCBpbiB1dGhhc2gvc3JjCisgICAgY3VycmRpcj1gcHdkYAorICAgIGNkICR7U30KKworICAgIG1rZGlyIC1wIHV0aGFzaC9zcmMKKyAgICBjcCAke1NUQUdJTkdfSU5DRElSfS91dCouaCB1dGhhc2gvc3JjCisKKyAgICAjIGF2b2lkIGJvb3RzdHJhcCBjbG9uaW5nIGdudWxpYiBvbiBldmVyeSBjb25maWd1cmUKKyAgICBjYXQgPi5naXRtb2R1bGVzIDw8RU9GCitbc3VibW9kdWxlICJnbnVsaWIiXQorICAgICAgIHBhdGggPSBnbnVsaWIKKyAgICAgICB1cmwgPSBnaXQ6Ly9naXQuc3YuZ251Lm9yZy9nbnVsaWIKK0VPRgorICAgIGNwIC1yZiAke1NUQUdJTkdfREFUQURJUn0vZ251bGliICR7U30KKworICAgICMgLS1mb3JjZSB0byBhdm9pZCBlcnJvcnMgb24gcmVjb25maWd1cmUgZS5nIGlmIHJlY2lwZXMgY2hhbmdlZCB3ZSBkZXBlbmQgb24KKyAgICAjIHwgYm9vdHN0cmFwOiBydW5uaW5nOiBsaWJ0b29saXplIC0tcXVpZXQKKyAgICAjIHwgbGlidG9vbGl6ZTogICBlcnJvcjogJ2xpYmx0ZGwvQ09QWUlORy5MSUInIGV4aXN0czogdXNlICctLWZvcmNlJyB0byBvdmVyd3JpdGUKKyAgICAjIHwgLi4uCisgICAgLi9ib290c3RyYXAgLS1mb3JjZQorCisgICAgY2QgJGN1cnJkaXIKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LXB5dGhvbi1kYmcgJHtQTn0tcHl0aG9uIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L21pbWUgXAorICAgICR7ZGF0YWRpcn0vaWNvbnMgXAorIgorCitGSUxFU18ke1BOfS1weXRob24gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gJHtkYXRhZGlyfS8ke1BOfS9weXRob24iCitGSUxFU18ke1BOfS1weXRob24tZGJnID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9Ly5kZWJ1ZyIKK1JERVBFTkRTXyR7UE59LXB5dGhvbiA9ICJweXRob24iCisKKyMgZm9yIGUuZyBrZGUncyBveHlnZW4tZm9udHMKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2VnbC9nZWdsL3BrZ2NvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dlZ2wvZ2VnbC9wa2djb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE0NWI2MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dlZ2wvZ2VnbC9wa2djb25maWcucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorSW5kZXg6IGdlZ2wtMC4yLjAvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2VnbC0wLjIuMC5vcmlnL2NvbmZpZ3VyZS5hYwkyMDEyLTA0LTAyIDIxOjU2OjQ5LjAwMDAwMDAwMCArMDAwMAorKysrIGdlZ2wtMC4yLjAvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjE6MzQ6MTUuMzEyNTQ2NjAyICswMDAwCitAQCAtNzY1LDE1ICs3NjUsNyBAQAorIAorIGhhdmVfc2RsPSJubyIKKyBpZiB0ZXN0ICJ4JHdpdGhfc2RsIiAhPSAieG5vIjsgdGhlbgorLSAgQUNfUEFUSF9QUk9HKFNETF9DT05GSUcsIHNkbC1jb25maWcsIG5vKQorLSAgaWYgdGVzdCAiJFNETF9DT05GSUciID0gIm5vIjsgdGhlbgorLSAgICBoYXZlX3NkbD0ibm8gIChTREwgbGlicmFyeSBub3QgZm91bmQpIgorLSAgICBBQ19NU0dfUkVTVUxUKFsqKiogQ2hlY2sgZm9yIFNETCBsaWJyYXJ5IGZhaWxlZC5dKQorLSAgZWxzZQorLSAgICBoYXZlX3NkbD0ieWVzIgorLSAgICBTRExfQ0ZMQUdTPWAkU0RMX0NPTkZJRyAtLWNmbGFnc2AKKy0gICAgU0RMX0xJQlM9YCRTRExfQ09ORklHIC0tbGlic2AKKy0gIGZpCisrICBQS0dfQ0hFQ0tfTU9EVUxFUyhbU0RMXSwgW3NkbF0sIFtoYXZlX3NkbD0ieWVzIl0sIFtoYXZlX3NkbD0ibm8gIChTREwgbGlicmFyeSBub3QgZm91bmQpIl0pCisgZmkKKyAKKyBBTV9DT05ESVRJT05BTChIQVZFX1NETCwgdGVzdCAiJGhhdmVfc2RsIiA9ICJ5ZXMiKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2VnbC9nZWdsXzAuMy40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2VnbC9nZWdsXzAuMy40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1YzFiNjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nZWdsL2dlZ2xfMC4zLjQuYmIKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJHRUdMIChHZW5lcmljIEdyYXBoaWNzIExpYnJhcnkpIGlzIGEgZ3JhcGggYmFzZWQgaW1hZ2UgcHJvY2Vzc2luZyBmcmFtZXdvcmsiCitMSUNFTlNFID0gIkxHUEwtMy4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitERVBFTkRTID0gImJhYmwgbGlicnN2ZyBnbGliLTIuMCBndGsrIHBhbmdvIGNhaXJvIGV4cGF0IHpsaWIgbGlicG5nIGpwZWcgdmlydHVhbC9saWJzZGwganNvbi1nbGliIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRvY3MiCisKK2luaGVyaXQgZ25vbWViYXNlIHZhbGEgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2phc3Blcl0gPSAiLS13aXRoLWphc3BlciwtLXdpdGhvdXQtamFzcGVyLGphc3BlciIKK1BBQ0tBR0VDT05GSUdbYXZmb3JtYXRdID0gIi0td2l0aC1saWJhdmZvcm1hdCwtLXdpdGhvdXQtbGliYXZmb3JtYXQsbGliYXYiCitQQUNLQUdFQ09ORklHW2xjbXNdID0gIi0td2l0aC1sY21zLC0td2l0aG91dC1sY21zLGxjbXMiCitQQUNLQUdFQ09ORklHW3RpZmZdID0gIi0td2l0aC1saWJ0aWZmLC0td2l0aG91dC1saWJ0aWZmLHRpZmYiCitQQUNLQUdFQ09ORklHW3dlYnBdID0gIi0td2l0aC13ZWJwLC0td2l0aG91dC13ZWJwLHdlYnAiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5naW1wLm9yZy9wdWIvJHtCUE59LzAuMy8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3BrZ2NvbmZpZy5wYXRjaCAiCitTUkNfVVJJW21kNXN1bV0gPSAiYzE5NDc4MzIxNTk0ZDcxNWE0Y2IzMjRhMGRlY2RhNmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODQ2MjkwYTc5MDg1NGQxZTZiN2MxN2EyZDZmODJhZDdjYjE0YzcyZTI0MGJkM2I4MWI5OGNjMGNlZGRiYzNlYyIKKworIyBUaGVyZSBhcmUgYSBjb3VwbGUgb2Ygbm9uLXN5bWxpbmsgLnNvIGZpbGVzIGluc3RhbGxlZCBpbnRvIGxpYmRpciwgd2hpY2ggbmVlZCB0byBnbyBpbnRvIG1haW4gcGFja2FnZQorRklMRVNfJHtQTn1fYXBwZW5kID0gIiAke2xpYmRpcn0vZ2VnbC0wLjMvKi5zbyAke2xpYmRpcn0vZ2VnbC0wLjMvKi5qc29uICR7bGliZGlyfS9saWJnZWdsLW5wZC0wLjMuc28gJHtsaWJkaXJ9L2xpYmdlZ2wtc2MtMC4zLnNvIgorRklMRVNfJHtQTn0tZGV2X2FwcGVuZCA9ICIgJHtsaWJkaXJ9L2dlZ2wtMC4zLyoubGEgJHtsaWJkaXJ9L2xpYmdlZ2wtMC4zLnNvIgorRklMRVNfJHtQTn0tZGV2X3JlbW92ZSA9ICIke2xpYmRpcn0vbGliKi5zbyIKKworIyBGYWlscyB0byBidWlsZCB3aXRoIHRodW1iLTEgKHFlbXVhcm0pCisjIGdlZ2wtMC4yLjAvb3BlcmF0aW9ucy9jb21tb24vbWF0dGluZy1nbG9iYWwuYzogSW4gZnVuY3Rpb24gJ21hdHRpbmdfcHJvY2Vzcyc6CisjIGdlZ2wtMC4yLjAvb3BlcmF0aW9ucy9jb21tb24vbWF0dGluZy1nbG9iYWwuYzo0NjM6MTogaW50ZXJuYWwgY29tcGlsZXIgZXJyb3I6IGluIHBhdGNoX2p1bXBfaW5zbiwgYXQgY2ZncnRsLmM6MTI3NQorQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9naW1wL2dpbXAvMDAwMS1jb25maWd1cmUtYWMtZG8tbm90LWNoZWNrLWZvci1mcmVldHlwZS1jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9naW1wL2dpbXAvMDAwMS1jb25maWd1cmUtYWMtZG8tbm90LWNoZWNrLWZvci1mcmVldHlwZS1jb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVjZDAxMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dpbXAvZ2ltcC8wMDAxLWNvbmZpZ3VyZS1hYy1kby1ub3QtY2hlY2stZm9yLWZyZWV0eXBlLWNvbmZpZy5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDcyYWQ3Njg0MWQ4N2U4NTc0Mjg2OTNkODEyYTk2MTkzNTI4NGFjNjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBUaHUsIDEyIEZlYiAyMDE1IDE1OjU3OjQ3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS1hYzogZG8gbm90IGNoZWNrIGZvciBmcmVldHlwZS1jb25maWcKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworZnJlZXR5cGUtY29uZmlnIGlzIG5vdCBhbGxvd2VkIGluIG91ciBlbnZpcm9ubWVudCAtIHNlZSBhbHNvIGJpbmNvbmZpZy1kaXNhYmxlZAorCitVcHN0cmVhbS1TdGF0dXM6IGluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCA3IC0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggMjY4MTJiNi4uYWJlYzcxNCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNjQ3LDEzICs2NDcsNiBAQCBpZiB0ZXN0ICJ4JGZvbnRjb25maWdfb2siID0geG5vOyB0aGVuCisgZmkKKyAKKyAKKy1BQ19QQVRIX1BST0coRlJFRVRZUEVfQ09ORklHLCBmcmVldHlwZS1jb25maWcsIG5vKQorLWlmIHRlc3QgIngkRlJFRVRZUEVfQ09ORklHIiAhPSAieG5vIiA7IHRoZW4KKy0gIEFDX01TR19DSEVDS0lORyhbZm9yIGZyZWV0eXBlIGxpYnJhcmllc10pCistICBGUkVFVFlQRV9MSUJTPWAkRlJFRVRZUEVfQ09ORklHIC0tbGlic2AKKy0gIEFDX01TR19SRVNVTFQoJEZSRUVUWVBFX0xJQlMpCistZmkKKy1BQ19TVUJTVChGUkVFVFlQRV9MSUJTKQorIAorIAorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLS0gCisxLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9naW1wL2dpbXAvYnVtcF9CYWJsLUdFR0xfdmVyc2lvbnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9naW1wL2dpbXAvYnVtcF9CYWJsLUdFR0xfdmVyc2lvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjcxYmYzMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dpbXAvZ2ltcC9idW1wX0JhYmwtR0VHTF92ZXJzaW9ucy5wYXRjaApAQCAtMCwwICsxLDUzIEBACitCdW1wIGFjY2VwdGFibGUgdmVyc2lvbnMgb2YgYmFibCBhbmQgZ2VnbC4KKworUGF0Y2ggaXMgdGFrZW4gZnJvbSBkZWJpYW46CitodHRwczovL3BhY2thZ2VzLmRlYmlhbi5vcmcvc3RyZXRjaC9naW1wCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK2RpZmYgLS1naXQgYS9hcHAvc2FuaXR5LmMgYi9hcHAvc2FuaXR5LmMKK2luZGV4IGZlYmRkZmIuLjg1ZmVhNTUgMTAwNjQ0CistLS0gYS9hcHAvc2FuaXR5LmMKKysrKyBiL2FwcC9zYW5pdHkuYworQEAgLTM1MSw3ICszNTEsNyBAQCBzYW5pdHlfY2hlY2tfYmFibCAodm9pZCkKKyAKKyAjZGVmaW5lIEJBQkxfUkVRVUlSRURfTUFKT1IgMAorICNkZWZpbmUgQkFCTF9SRVFVSVJFRF9NSU5PUiAxCistI2RlZmluZSBCQUJMX1JFUVVJUkVEX01JQ1JPIDEwCisrI2RlZmluZSBCQUJMX1JFUVVJUkVEX01JQ1JPIDEyCisgCisgICBiYWJsX2dldF92ZXJzaW9uICgmYmFibF9tYWpvcl92ZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgJmJhYmxfbWlub3JfdmVyc2lvbiwKK0BAIC0zODgsNyArMzg4LDcgQEAgc2FuaXR5X2NoZWNrX2dlZ2wgKHZvaWQpCisgICBnaW50IGdlZ2xfbWljcm9fdmVyc2lvbjsKKyAKKyAjZGVmaW5lIEdFR0xfUkVRVUlSRURfTUFKT1IgMAorLSNkZWZpbmUgR0VHTF9SRVFVSVJFRF9NSU5PUiAyCisrI2RlZmluZSBHRUdMX1JFUVVJUkVEX01JTk9SIDMKKyAjZGVmaW5lIEdFR0xfUkVRVUlSRURfTUlDUk8gMAorIAorICAgZ2VnbF9nZXRfdmVyc2lvbiAoJmdlZ2xfbWFqb3JfdmVyc2lvbiwKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDI2ODEyYjYuLjQyNTJmZTkgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTQwLDggKzQwLDggQEAgbTRfZGVmaW5lKFtnaW1wX3N0YWJsZV0sCisgbTRfZGVmaW5lKFtnaW1wX2Z1bGxfbmFtZV0sIFtHTlUgSW1hZ2UgTWFuaXB1bGF0aW9uIFByb2dyYW1dKQorIAorICMgcmVxdWlyZWQgdmVyc2lvbnMgb2Ygb3RoZXIgcGFja2FnZXMKKy1tNF9kZWZpbmUoW2JhYmxfcmVxdWlyZWRfdmVyc2lvbl0sIFswLjEuMTBdKQorLW00X2RlZmluZShbZ2VnbF9yZXF1aXJlZF92ZXJzaW9uXSwgWzAuMi4wXSkKKyttNF9kZWZpbmUoW2JhYmxfcmVxdWlyZWRfdmVyc2lvbl0sIFswLjEuMTJdKQorK200X2RlZmluZShbZ2VnbF9yZXF1aXJlZF92ZXJzaW9uXSwgWzAuMy4wXSkKKyBtNF9kZWZpbmUoW2dsaWJfcmVxdWlyZWRfdmVyc2lvbl0sIFsyLjMwLjJdKQorIG00X2RlZmluZShbYXRrX3JlcXVpcmVkX3ZlcnNpb25dLCBbMi4yLjBdKQorIG00X2RlZmluZShbZ3RrX3JlcXVpcmVkX3ZlcnNpb25dLCBbMi4yNC4xMF0pCitAQCAtNTE5LDcgKzUxOSw3IEBAIEFDX1NVQlNUKElTT19DT0RFU19MT0NBTEVESVIpCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIAorIFBLR19DSEVDS19NT0RVTEVTKEJBQkwsIGJhYmwgPj0gYmFibF9yZXF1aXJlZF92ZXJzaW9uKQorLVBLR19DSEVDS19NT0RVTEVTKEdFR0wsIGdlZ2wtMC4yID49IGdlZ2xfcmVxdWlyZWRfdmVyc2lvbikKKytQS0dfQ0hFQ0tfTU9EVUxFUyhHRUdMLCBnZWdsLTAuMyA+PSBnZWdsX3JlcXVpcmVkX3ZlcnNpb24pCisgUEtHX0NIRUNLX01PRFVMRVMoQVRLLCBhdGsgPj0gYXRrX3JlcXVpcmVkX3ZlcnNpb24pCisgCisgQU1fUEFUSF9HTElCXzJfMChnbGliX3JlcXVpcmVkX3ZlcnNpb24sIDosCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9naW1wL2dpbXBfMi44LjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2ltcC9naW1wXzIuOC4xNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWVkNGQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2ltcC9naW1wXzIuOC4xNC5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIlRoZSBHSU1QIGlzIHRoZSBHTlUgSW1hZ2UgTWFuaXB1bGF0aW9uIFByb2dyYW0iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdpbXAub3JnIgorU0VDVElPTiA9ICJ4MTEvZ3JhcGhpY3MiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK0RFUEVORFMgPSAiYmFibCBnZGstcGl4YnVmLW5hdGl2ZSBsaWJhcnQtbGdwbCBndGsrIGpwZWcgbGlicG5nIGxpYmV4aWYgdGlmZiBsY21zIGdlZ2wgcG9wcGxlciBqYXNwZXIgYnppcDIgbGliZ3VkZXYiCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICdsaWJ4bXUgbGlieHBtJywgJycsIGQpfSIKKworaW5oZXJpdCBnbm9tZSBndGstZG9jCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vZnRwLmdpbXAub3JnL3B1Yi9naW1wL3YyLjgvZ2ltcC0ke1BWfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtYWMtZG8tbm90LWNoZWNrLWZvci1mcmVldHlwZS1jb25maWcucGF0Y2ggXAorICAgIGZpbGU6Ly9idW1wX0JhYmwtR0VHTF92ZXJzaW9ucy5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMjMzYzk0ODIwMzM4M2ZhMDc4NDM0Y2MzZjhmOTI1Y2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDgyYTk1ODY0MWM5Yzc1MmQ2OGUzNWY2NTg0MDkyNWMwOGUzMTRjZWE5MDIyMmFkODQ1ODkyYTQwZTA1YjIyZCIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1weXRob24gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC13ZWJraXQgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC13bWYiCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgZmluZCAke0J9IC1uYW1lIE1ha2VmaWxlIHwgeGFyZ3Mgc2VkIC1pIHM6Jy1JJChpbmNsdWRlZGlyKSc6Jy1JLic6ZworICAgIGZpbmQgJHtCfSAtbmFtZSBNYWtlZmlsZSB8IHhhcmdzIHNlZCAtaSBzOictSS91c3IvaW5jbHVkZSc6Jy1JJHtTVEFHSU5HX0lOQ0RJUn0nOmcKK30KKworQ0ZMQUdTICs9ICItZlBJQyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ2ltcC8yLjAvKi8uZGVidWciCitGSUxFU18ke1BOfSAgKz0gIiR7ZGF0YWRpcn0vYXBwZGF0YSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsY29tcGJlbmNoL2dsY29tcGJlbmNoL2dsYmVuY2gtY29tcGlsZS1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbGNvbXBiZW5jaC9nbGNvbXBiZW5jaC9nbGJlbmNoLWNvbXBpbGUtZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3NGE2Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbGNvbXBiZW5jaC9nbGNvbXBiZW5jaC9nbGJlbmNoLWNvbXBpbGUtZml4LnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gYzRiYzQ0YzNhYmY2OWYyNmU0YzJiNzY4NGY0ZGE0NjcwYTUxZjk5MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFByYWJodSBTdW5kYXJhcmFqIDxwcmFiaHUuc3VuZGFyYXJhakBmcmVlc2NhbGUuY29tPgorRGF0ZTogVHVlLCA1IE5vdiAyMDEzIDExOjAzOjA0IC0wNjAwCitTdWJqZWN0OiBbUEFUQ0hdIHRvIG1ha2UgY29tcGlsYWJsZQorCitVcHN0cmVhbSBTdGF0dXM6IEluYXBwcm9wcmlhdGUgW3dvcmthcm91bmRdCisKK1NpZ25lZC1vZmYtYnk6IFByYWJodSBTdW5kYXJhcmFqIDxwcmFiaHUuc3VuZGFyYXJhakBmcmVlc2NhbGUuY29tPgorLS0tCisgc3JjL2NvbXBvc2l0ZS10ZXN0LXNpbXBsZS1ibHVyLmNjIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9jb21wb3NpdGUtdGVzdC1zaW1wbGUtYmx1ci5jYyBiL3NyYy9jb21wb3NpdGUtdGVzdC1zaW1wbGUtYmx1ci5jYworaW5kZXggMTcwYWQ2NC4uZDdmNzdjZiAxMDA2NDQKKy0tLSBhL3NyYy9jb21wb3NpdGUtdGVzdC1zaW1wbGUtYmx1ci5jYworKysrIGIvc3JjL2NvbXBvc2l0ZS10ZXN0LXNpbXBsZS1ibHVyLmNjCitAQCAtMzQ3LDYgKzM0Nyw3IEBAIENvbXBvc2l0ZVRlc3RTaW1wbGVCbHVyOjpDb21wb3NpdGVUZXN0U2ltcGxlQmx1cigpIDoKKyAKKyBDb21wb3NpdGVUZXN0U2ltcGxlQmx1cjo6fkNvbXBvc2l0ZVRlc3RTaW1wbGVCbHVyKCkKKyB7CisrI2lmIDAKKyAgICAgZm9yIChCbHVyV2luZG93TWFwVHlwZTo6aXRlcmF0b3Igd2luSXQgPSBwcml2Xy0+d2luZG93TWFwLmJlZ2luKCk7CisgICAgICAgICAgd2luSXQgIT0gcHJpdl8tPndpbmRvd01hcC5lbmQoKTsKKyAgICAgICAgICB3aW5JdCsrKQorQEAgLTM1NCw2ICszNTUsNyBAQCBDb21wb3NpdGVUZXN0U2ltcGxlQmx1cjo6fkNvbXBvc2l0ZVRlc3RTaW1wbGVCbHVyKCkKKyAgICAgICAgIFJlbmRlcldpbmRvd0JsdXIqIHJvID0gd2luSXQtPnNlY29uZDsKKyAgICAgICAgIGRlbGV0ZSBybzsKKyAgICAgfQorKyNlbmRpZgorICAgICBkZWxldGUgcHJpdl87CisgfQorIAorLS0gCisxLjguMS4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsY29tcGJlbmNoL2dsY29tcGJlbmNoXzIwMTIuMDguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbGNvbXBiZW5jaC9nbGNvbXBiZW5jaF8yMDEyLjA4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwZjQ0OTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbGNvbXBiZW5jaC9nbGNvbXBiZW5jaF8yMDEyLjA4LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiQSBiZW5jaG1hcmsgZm9yIEdMKEVTKTIgYmFzZWQgY29tcG9zaXRpbmcgb3BlcmF0aW9ucyIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mMjdkZWZlMWU5NmMyZTFlY2Q0ZTBjOWJlODk2Nzk0OSIKKworREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYmdsIHZpcnR1YWwvZWdsIHZpcnR1YWwvbGliZ2xlczEgdmlydHVhbC9saWJnbGVzMiBcCisgICAgICAgICAgIHZpcnR1YWwvbGlieDExIGxpYnhjb21wb3NpdGUgcGl4bWFuIGxpYnhyZW5kZXIgbGlicG5nMTIiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L2dsY29tcGJlbmNoL3RydW5rLyR7UFZ9Lytkb3dubG9hZC8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2dsYmVuY2gtY29tcGlsZS1maXgucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjOTM5ZDkxNTZmZTk0MDk2MDA5OGYzODcwN2ZlYTgyNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiMDRiNzM4Y2VjMDZjNjc4NmNlYWZhODZlNDczNWZkOGI5NzFjMDc4MjY1NzU0ODU0ZWYzNTZiMDM3OTU0MmVlIgorCitpbmhlcml0IHBrZ2NvbmZpZyB3YWYgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2dwaG90bzItMi41LjgvMDAwMS1jb25maWd1cmUuYWMtcmVtb3ZlLUFNX1BPX1NVQkRJUlMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2dwaG90bzItMi41LjgvMDAwMS1jb25maWd1cmUuYWMtcmVtb3ZlLUFNX1BPX1NVQkRJUlMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzgwMGZkZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvZ3Bob3RvMi0yLjUuOC8wMDAxLWNvbmZpZ3VyZS5hYy1yZW1vdmUtQU1fUE9fU1VCRElSUy5wYXRjaApAQCAtMCwwICsxLDI2IEBACitGcm9tIDYwYjZkNWM5NWNhMzYzMmUwMjAzMWFjMDRmYjU0ODZkZDIwOTAxMWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWFzIEJhYWsgPGFuZHJlYXMuYmFha0BnbWFpbC5jb20+CitEYXRlOiBTdW4sIDEyIEp1bCAyMDE1IDAxOjAyOjE1IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYyByZW1vdmUgQU1fUE9fU1VCRElSUworCitUaGlzIGlzIGRvbmUgdHdpY2UgdG9nZXRoZXIgd2l0aCBvZSBhdXRvdG9vbHMuYmJjbGFzcy4KKworLS0tCisgY29uZmlndXJlLmFjIHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYmI1Yjc5NS4uOTNmYmFmMiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNjQsNyArNjQsNiBAQCBHUF9HRVRURVhUX0hBQ0soW10sW0x1dHogTcO8bGxlciBhbmQgb3RoZXJzXSxbJHtNQUlMX0dQSE9UT19UUkFOU0xBVElPTn1dKQorIEFMTF9MSU5HVUFTPSJheiBjcyBkYSBkZSBlbl9HQiBlcyBldSBmaSBmciBodSBpZCBpcyBpdCBqYSBubCBwYSBwbCBwdF9CUiBybyBydSBydyBzayBzciBzdiB1ayB2aSB6aF9DTiB6aF9UVyIKKyBBTV9HTlVfR0VUVEVYVF9WRVJTSU9OKFswLjE0LjFdKQorIEFNX0dOVV9HRVRURVhUKFtleHRlcm5hbF0pCistQU1fUE9fU1VCRElSUygpCisgQU1fSUNPTlYoKQorIEdQX0dFVFRFWFRfRkxBR1MoKQorIAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2dwaG90bzItMi41LjgvMDAwMi1Mb29rLWZvci1wb3B0LXdpdGgtR1BfQ0hFQ0tfTElCUkFSWS1mdW5jdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvZ3Bob3RvMi0yLjUuOC8wMDAyLUxvb2stZm9yLXBvcHQtd2l0aC1HUF9DSEVDS19MSUJSQVJZLWZ1bmN0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2YzdkZDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2dwaG90bzItMi41LjgvMDAwMi1Mb29rLWZvci1wb3B0LXdpdGgtR1BfQ0hFQ0tfTElCUkFSWS1mdW5jdGlvbi5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIDg4NGQ0YzliYmQyZGMxNDdkNjE0YTVmYWJjMjVkYmVhN2E3MWNkNDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWFzIEJhYWsgPGFuZHJlYXMuYmFha0BnbWFpbC5jb20+CitEYXRlOiBTdW4sIDEyIEp1bCAyMDE1IDAyOjEzOjU4IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIExvb2sgZm9yIHBvcHQgd2l0aCBHUF9DSEVDS19MSUJSQVJZIGZ1bmN0aW9uCisKK1RoZSBwcmV2aW91c2x5IHVzZWQgcHJvcHJpZXRhcnkgZnVuY3Rpb24gR1BfQ0hFQ0tfUE9QVAorZGVmaW5lZCBpbiAvLm00bS9ncC1jaGVjay1vcHQubTQgaXMgbm90IHJlYWR5IGZvciBjcm9zcworY29tcGlsYXRpb24gc2luY2UgaXQgbG9va3MgZm9yIHRoZSBsaWJyYXJ5IGFuZCBoZWFkZXJzCitpbiB0aGUgaG9zdCBzeXN0ZW0uIFlvY3RvIHJlcG9ydHMgdGhlIGZvbGxvd2luZyBlcnJvcjoKKyJRQSBJc3N1ZTogZ3Bob3RvMjogVGhlIGNvbXBpbGUgbG9nIGluZGljYXRlcyB0aGF0IGhvc3QKK2luY2x1ZGUgYW5kL29yIGxpYnJhcnkgcGF0aHMgd2VyZSB1c2VkLiIKK1VzaW5nIHRoZSBHUF9DSEVDS19MSUJSQVJZIGZ1bmN0aW9uIGZpeGVzIHRoaXMgcHJvYmxlbQorLS0tCisgY29uZmlndXJlLmFjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA5M2ZiYWYyLi42ZDY2MWYwIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0yODUsNyArMjg1LDcgQEAgR1BfQ09ORklHX01TRyhbVGV4dCBwcmV2aWV3IHN1cHBvcnRdLFskYWFfbXNnXSkKKyBkbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZG5sIHBvcHQuaDogU2ltcGxpZmllcyBoYW5kbGluZyBvZiBjb21tYW5kLWxpbmUgb3B0aW9ucyBlbm9ybW91c2x5LgorIGRubCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1HUF9DSEVDS19QT1BUKFttYW5kYXRvcnldKQorK0dQX0NIRUNLX0xJQlJBUlkoW1BPUFRdLCBbcG9wdF0sIFtdLCBbcG9wdC5oXSwgW10sIFtdLCBbbWFuZGF0b3J5XSkKKyAKKyAKKyBkbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvZ3Bob3RvMl8yLjUuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvZ3Bob3RvMl8yLjUuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmQyODNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9ncGhvdG8yXzIuNS44LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiZ3Bob3RvMiAtIGEgY29tbWFuZC1saW5lIGZyb250ZW5kIHRvIGxpYmdwaG90bzIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdwaG90by5jb20vIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorCitERVBFTkRTID0gImxpYmdwaG90bzIgcG9wdCByZWFkbGluZSIKK1JERVBFTkRTX2dwaG90bzIgPSAibGliZ3Bob3RvMiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZ3Bob3RvL2dwaG90bzItJHtQVn0udGFyLmJ6MjtuYW1lPWdwaG90bzIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtcmVtb3ZlLUFNX1BPX1NVQkRJUlMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1Mb29rLWZvci1wb3B0LXdpdGgtR1BfQ0hFQ0tfTElCUkFSWS1mdW5jdGlvbi5wYXRjaCBcCisiCisKK1NSQ19VUklbZ3Bob3RvMi5tZDVzdW1dID0gImJhZTM2OWFlZTY4ODFlNTkwYzVjOTFiZGJiMTFhNWY4IgorU1JDX1VSSVtncGhvdG8yLnNoYTI1NnN1bV0gPSAiYTlhYmNkMTVkOTVmMjA1MzE4ZDE3ZTNhYzEyYWY3Y2U1MjNkMmJjNDk0MzcwOWQ1MGIwYTEyYzMwY2M1ZWU0ZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtanBlZy1wcmVmaXg9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtY2RrIFwKKyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9saWJncGhvdG8yLTIuNS44LzAwMDEtY29uZmlndXJlLmFjLXJlbW92ZS1BTV9QT19TVUJESVJTLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9saWJncGhvdG8yLTIuNS44LzAwMDEtY29uZmlndXJlLmFjLXJlbW92ZS1BTV9QT19TVUJESVJTLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwOTM2NzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2xpYmdwaG90bzItMi41LjgvMDAwMS1jb25maWd1cmUuYWMtcmVtb3ZlLUFNX1BPX1NVQkRJUlMucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorRnJvbSAzMWE1ZDJmN2RiMTg3MzdhZWYwOGMzNGU4NzA3YjRmNjlmN2U1MTU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogU3VuLCAyMSBPY3QgMjAxMiAxNzo1OToyMCArMDIwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuYWM6IHJlbW92ZSBBTV9QT19TVUJESVJTCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK3RvZ2V0aGVyIHdpdGggb2UgYXV0b3Rvb2xzLmJiY2xhc3MgdGhpcyBpcyBkb25lIHR3aWNlIGFuZCBjYXVzZXM6CisKK3wgYXV0b3JlY29uZjogcnVubmluZzogYWNsb2NhbCAtLXN5c3RlbS1hY2Rpcj0vaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3dvcmsvYXJtdjdhLXZmcC1uZW9uLWFuZ3N0cm9tLWxpbnV4LWdudWVhYmkvbGliZ3Bob3RvMi0yLjQuMTEtcjIvbGliZ3Bob3RvMi0yLjQuMTEvYWNsb2NhbC1jb3B5LyAtLWF1dG9tYWtlLWFjZGlyPS9ob21lL1N1cGVyYW5keS90bXAvb2UtY29yZS1lZ2xpYmMvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9zaGFyZS9hY2xvY2FsLTEuMTIgLUkgL2hvbWUvU3VwZXJhbmR5L3RtcC9vZS1jb3JlLWVnbGliYy93b3JrL2FybXY3YS12ZnAtbmVvbi1hbmdzdHJvbS1saW51eC1nbnVlYWJpL2xpYmdwaG90bzItMi40LjExLXIyL2xpYmdwaG90bzItMi40LjExL2F1dG8tbTQvIC1JIC9ob21lL1N1cGVyYW5keS90bXAvb2UtY29yZS1lZ2xpYmMvd29yay9hcm12N2EtdmZwLW5lb24tYW5nc3Ryb20tbGludXgtZ251ZWFiaS9saWJncGhvdG8yLTIuNC4xMS1yMi9saWJncGhvdG8yLTIuNC4xMS9tNG0vIC1JIC9ob21lL1N1cGVyYW5keS90bXAvb2UtY29yZS1lZ2xpYmMvd29yay9hcm12N2EtdmZwLW5lb24tYW5nc3Ryb20tbGludXgtZ251ZWFiaS9saWJncGhvdG8yLTIuNC4xMS1yMi9saWJncGhvdG8yLTIuNC4xMS9hdXRvLW00LyAtSSAvaG9tZS9TdXBlcmFuZHkvdG1wL29lLWNvcmUtZWdsaWJjL3dvcmsvYXJtdjdhLXZmcC1uZW9uLWFuZ3N0cm9tLWxpbnV4LWdudWVhYmkvbGliZ3Bob3RvMi0yLjQuMTEtcjIvbGliZ3Bob3RvMi0yLjQuMTEvbTRtLyAtLWZvcmNlIC1JIGF1dG8tbTQgLUkgbTRtCit8IGNvbmZpZ3VyZS5hYzoyMzA6IGVycm9yOiBgcG8tZGlyZWN0b3JpZXMnIGlzIGFscmVhZHkgcmVnaXN0ZXJlZCB3aXRoIEFDX0NPTkZJR19DT01NQU5EUy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgfCAgICAxIC0KKyBsaWJncGhvdG8yX3BvcnQvY29uZmlndXJlLmFjIHwgICAgMSAtCisgMiBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDJmOGUxYjguLjJlOTBhY2YgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTIwOSw3ICsyMDksNiBAQCBBTExfTElOR1VBUz0iY3MgZGEgZGUgZXMgZXUgZnIgaHUgaXQgamEgbmwgcGwgcnUgc3YgdWsgdmkgemhfQ04iCisgR1BfR0VUVEVYVF9IQUNLKFske1BBQ0tBR0V9LSR7TElCR1BIT1RPMl9DVVJSRU5UX01JTn1dLFtUaGUgZ1Bob3RvIFRlYW1dLFske01BSUxfR1BIT1RPX1RSQU5TTEFUSU9OfV0pCisgQU1fR05VX0dFVFRFWFRfVkVSU0lPTihbMC4xNC4xXSkKKyBBTV9HTlVfR0VUVEVYVChbZXh0ZXJuYWxdKQorLUFNX1BPX1NVQkRJUlMoKQorIEFNX0lDT05WKCkKKyBHUF9HRVRURVhUX0ZMQUdTKCkKKyAKK2RpZmYgLS1naXQgYS9saWJncGhvdG8yX3BvcnQvY29uZmlndXJlLmFjIGIvbGliZ3Bob3RvMl9wb3J0L2NvbmZpZ3VyZS5hYworaW5kZXggMGI2NmQ1OC4uZGY0NzM1NyAxMDA2NDQKKy0tLSBhL2xpYmdwaG90bzJfcG9ydC9jb25maWd1cmUuYWMKKysrKyBiL2xpYmdwaG90bzJfcG9ydC9jb25maWd1cmUuYWMKK0BAIC0xMjQsNyArMTI0LDYgQEAgR1BfR0VUVEVYVF9IQUNLKFske1BBQ0tBR0V9LSR7TElCR1BIT1RPMl9QT1JUX0NVUlJFTlRfTUlOfV0sW0x1dHogTXVlbGxlciBhbmQgb3QKKyBBTExfTElOR1VBUz0iY3MgZGEgZGUgZXMgZXUgZmkgZnIgaXQgamEgbmwgcGwgcHRfQlIgcnUgc2sgc3Igc3YgdWsgdmkgemhfQ04gemhfVFciCisgQU1fR05VX0dFVFRFWFRfVkVSU0lPTihbMC4xNC4xXSkKKyBBTV9HTlVfR0VUVEVYVChbZXh0ZXJuYWxdKQorLUFNX1BPX1NVQkRJUlMoKQorIEFNX0lDT05WKCkKKyBHUF9HRVRURVhUX0ZMQUdTKCkKKyAKKy0tIAorMS43LjQuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2xpYmdwaG90bzItMi41LjgvMTAtY2FtZXJhLWxpYmdwaG90bzItZGV2aWNlLmZkaSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvbGliZ3Bob3RvMi0yLjUuOC8xMC1jYW1lcmEtbGliZ3Bob3RvMi1kZXZpY2UuZmRpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5NzcwNjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2xpYmdwaG90bzItMi41LjgvMTAtY2FtZXJhLWxpYmdwaG90bzItZGV2aWNlLmZkaQpAQCAtMCwwICsxLDk1MzMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4gPCEtLSAtKi0gU0dNTCAtKi0gLS0+Cis8IS0tIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IGxpYmdwaG90bzIgcHJpbnQtY2FtZXJhLWxpc3QgLSAtIGZkaS1kZXZpY2UgLS0+Cis8IS0tKworICAgIHwgQ3JlYXRlZCBmcm9tIHRoaXMgbGlicmFyeToKKyAgICB8ICAgbGliZ3Bob3RvMiAgICAgIDIuNS44ICAgICAgICAgIGFsbCBjYW1saWJzLCBnY2MsIGx0ZGwsIG5vIEVYSUYKKyAgICB8ICAgbGliZ3Bob3RvMl9wb3J0IDAuMTIuMCAgICAgICAgIGdjYywgbHRkbCwgbm8gVVNCLCBzZXJpYWwgd2l0aG91dCBsb2NraW5nCisgICAgKy0tPgorPGRldmljZWluZm8gdmVyc2lvbj0iMC4yIj4KKyA8ZGV2aWNlPgorICA8bWF0Y2gga2V5PSJpbmZvLnN1YnN5c3RlbSIgc3RyaW5nPSJ1c2IiPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMyNTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMjUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzg5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM2MjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzODY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzcwMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMxMjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMTI5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzEzMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMyNzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMTgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzE4MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMyNTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMDkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzEyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMxMjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMTI1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzE5MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMxOTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMTc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzU4OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM3MzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzODkyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDExNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM4MzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzNDI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzY2MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM5MTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMjI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzc5NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM4NTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNTg0NSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNzc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjU4NDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjc3MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE3MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE3MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDI4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNzYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDU1NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNzYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDU1NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIyNTAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTU0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNzYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDU1NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI3MDk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzYwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjcwOTkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MjAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjcwOTkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjcwOTkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDk3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI3MDk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjE0NDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzA5OSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OTQxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjcwOTkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA0OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjQ3MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjQ3MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU0OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDc2MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDc3OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDc1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDc1NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDc1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDc1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDc2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDc3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDc1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDc1NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDc2MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA0ODgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNDg5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjM4NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQxNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQxNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQzMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQzMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTMwNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQ0OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDYxOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDg5MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDYyMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDg2NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDg2NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDg4MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDg5NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3ODciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ5MTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ5MTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODQxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODcxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MjAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0OTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0OTQ1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODgzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0OTE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODc5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODg5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MzU5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MzExIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1Mzg0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1Mzg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MjkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1Mjc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MjI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MjE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MjA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjcxNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDYxNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDkyOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDg5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDYxNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE4MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzMDU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTY4MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTk2ODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODE1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDU3OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjE1MTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNTM1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTc3NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjE3NjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5NjY0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTY2NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjEwMjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxMDA3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTY0OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTk2NDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNjAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTYwOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjE1MDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxNTIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTUyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjE2MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNTc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTc2NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjE4NTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwOTkyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDk5MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjEwMDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxMDA5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTAxMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjEwMjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxMDI1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTA0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjEwNDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5OTY4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTk2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTk5ODMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5OTk5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTcxMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTk3MTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5NTg0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTU4NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTk2MDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5NjAxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTYxNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTk2MTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIyMDQ3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDMyMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjI1NDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIyNTU5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTYzMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjE2MzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNTkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTY0OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjE2NDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk0NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4MzIwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4MzIwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTg5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIyOTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzQ5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3ODIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwODIzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzI1MjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA4MjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MjAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwODIzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzNTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjczMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3NzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzg3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjkwNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0ODAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzY1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzOTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDc5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQwNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTU4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU0MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTMwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYyMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2NjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTk4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2NjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTY1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjM5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2OTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDg0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQwMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTMyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQwMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1MjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM5NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDIzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2NjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyOTEyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQxOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODIzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjkyNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1MjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjE1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4MjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTIzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjUyNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDQxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU2MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1MjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjUyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYxMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjk5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTQ2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY5NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODI0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjgyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjkxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4ODMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjk4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjkxMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzg0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQyMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTYwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQyMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg2MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI5NTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYxMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODY1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjk2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4MzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzNTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzYzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ4NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzOTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQxMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDQ4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQzOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQxNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzk1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQyOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDE1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQxNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzOTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ1NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDMwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM2NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzODUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjczOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyOTAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM2NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzODYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjg5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjczNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg3MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI5MTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODk4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM3NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3ODUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjUzNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTM2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYyOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjY2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjczNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3ODMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDgyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ4MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1ODIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTcxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYyNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY2MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2NjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDA0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU0MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjAyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYwMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDAzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU2NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjM3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg2MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjczMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI5MzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyOTM3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjg3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc2NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4ODgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM5OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzOTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ2NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1ODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzNjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDQ0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzU3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4OTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyOTE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjUyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzNTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzg5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQwMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM3NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzNjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzkwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjM5NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzOTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQwNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0NjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDY2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ2NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1MzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODE4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0MDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjIzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2NzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc4OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI0ODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNDgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU5OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1MjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTQzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjUzMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNTQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjU2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjYxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjczOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2NjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjE5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjY5NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1NjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjczNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2OTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjYzOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2OTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzY4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjgxNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODkwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjkxOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI3NzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc5MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4NjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODk1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjg1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4OTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyOTE5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjk1NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzNjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjc3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODU5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQwOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDE2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDE2MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDE3MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDE3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDQ3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzc1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDk2NjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0OTg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDk4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk0MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNzY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI3Nzk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU4NzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzc2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjY0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODU3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODU3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxODA5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxODczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDQ5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTYxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTQ1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzM3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzA1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxODg5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjQwNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTYzOTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Mzk0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjQwMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTYzOTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NDAzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjY3NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3MjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Njg4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjcwMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY2OTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzM3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjY5NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3MDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Njg5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjcyMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3MjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjY3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzAyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjcyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3MzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzQ1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjY4MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MjA0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI4MjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjEyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzQyOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg0OTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMxNDEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjc2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY2OTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Njg3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NzAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDUzMjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY3MDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NTMzOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjcwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ1MzM5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NzAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTc2NjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI3OTk0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ5OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDQ4MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ5OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI3MjYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDYwOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OTQ0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5NDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDMxMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNjA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODIwMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDYwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjAxOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Mzg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE3NDciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NjM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM1MzAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM1MzAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ2NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDU0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUzOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDAzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0ODAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDg0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ4NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTA2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjI1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1OTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ3NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0OTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDg4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjM3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2MTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjY2NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzOTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjY2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTYzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2MjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjYxMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2NDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTEzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NDE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0OTIzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5NjA1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTEyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg2NzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0OTA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNDQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MjAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNDQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDAzMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjAwMzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5OTgzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTcxMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE1MjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5NzA2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MzUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTM1MTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwMTkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDE5NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDUwNjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4ODQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDAwNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjAwMDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4OTMwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDE5NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI5ODQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk0MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNzk2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDg2NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDg2NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjI4NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjM4MzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzNTgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQyNTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzEyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MjUxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxMjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDI1MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTI1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTg1OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjUwOTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMxNzQ2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjAwMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjUzNDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2MTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTY5OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA3MjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5MTg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyODE2MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA5NzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3OTA2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTM0NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY2NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NjI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyODkzMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjczOTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NjAyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDIxMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjYzNzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3NjUwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzEzOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY4OTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNDY2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjI1OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTcxNTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzQxMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTc2NjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDU3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTQ0MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI0NTc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTU4NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzU4NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5OTU0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMTQ5MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk0NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMxMjM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjc3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzMwMjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMzMjgyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzOTY4MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzM3OTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0MDUwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODQwMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzg2NTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0NTYyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNDgxOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY3MTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NzIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MjAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzgyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTgzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjE5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTgyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTQxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTY2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTQ2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzOTg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzOTQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzOTM5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzOTc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzOTM1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzOTM2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTYyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTk0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTYyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTk1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDA5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMzA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTc5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MjEwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTQ3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2MTY0MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk3NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0ODE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDIyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0ODE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM4MzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDgxNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzODU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQ4MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQ4MTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcyMDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTYxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDkxODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2NjU1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzcxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY2NTUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3NzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjY1NSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc3NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzMjkwMyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzI5MDMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMyOTAzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU4MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzMjkwMiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE1ODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzI5MDMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjU0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMyOTAzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU1NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0Mzk0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDM5MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0MTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NDE4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDQzNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0NTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NDMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODQ0OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg0NTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NDUwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjI5MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0Mzg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjM4NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MTAyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTYzODciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NDIzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDM3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQzODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0Mzc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDM3MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQzNzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0Mzc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDM3NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0MzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NDA0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NDE5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijc3ODQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDk4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDM3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0MDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjg0OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU2ODE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMDU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjY0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDk4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDEwMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTQ1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0NSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI2NSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI0ODM3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIxMjYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI4NTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg3NTkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MzUxMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4NzU5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTM1MTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODc1OSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ1MzIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTU5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTQ3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDA2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDE4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDUwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDYzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDY2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDQ3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDU0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDQ5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDM2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzgyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzgyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzk2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzk1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDEyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDAxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDAyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDAzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDA0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyODAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyOTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEzMjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM2NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM5OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM5MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM5NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM5NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTQwNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTQwNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM5OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzY4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzQ0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzg0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzgzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDg2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTM2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDM5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDEzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDI0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDIzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDI1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDY0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDM3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDE1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDU5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDYwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDYxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDI5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDg3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMjQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxODI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQ5MDciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQ5MDciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0OTA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0OTA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0OTA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDkwNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijc5OTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTAyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDI1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDY0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5NDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjkwNzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjgwOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNTE5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDUwNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk4NDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwMTQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDE0MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzAwMTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwMDc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDQ0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk3MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwODUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDEzMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA1NTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5OTAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTg0NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk4NjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5OTQ0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDQ4OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk3MjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNDUwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDY5OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA0NjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNjQxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTA3MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjUwODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1MjE1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTE5OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjQ4NTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI0NzE5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDg4MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU0MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1MTQ1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTE0OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjUxMTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1MTI1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDk4NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDg2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg3MzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA4NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4ODQ5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTM3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjUxODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI0NTkyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDU4MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY2NDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNTA3MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4Njc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzA0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzg0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjY0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMwNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1NTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY0NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMzOTAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzcyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NTA2NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk4MjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTU0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjY0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcwOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY2NDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY0NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0MTI4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NDciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNDE4NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDMyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDUwNjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDcyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgyMTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODIyMiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3MDY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODIwMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwNzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDMxMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg5NjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzUwNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxODc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTExOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2MDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTExOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE1NzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTExOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTExOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE4MDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTExOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE1OTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTExOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjYxNjQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMTgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTExOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2MDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzE0MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNzc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIxMjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjQ3NzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4ODA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTgwNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE4MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExODI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTg3OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE5NDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExOTQ0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTg4MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY4NTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2ODU4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzA2MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTcyNzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3MjY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxODQ0OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY4NjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4ODc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTg5NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE5MDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExOTA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTg3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE4NzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExODc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTYxOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU3ODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NzgyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTg1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE4NTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NjIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDg1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg4MzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4ODQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyODg0MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTcxNjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3MTU4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjg0NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg5NDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4OTQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzI1MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzc1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDk2NjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM3NSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxODA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNzUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0OTY5NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzc1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTAyMDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM3NSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUwNDY0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI3MjYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODQwMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDMzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODA2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAyNiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIyMTIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyODUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzA0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzAyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzEzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDAxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzkyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc3OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzg5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3ODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc5MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzkxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgzNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU0NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzg4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU0NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQ5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgyMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgwMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODEzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc5NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgxMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzI0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQ0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDAzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAzNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAzMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAzNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA0NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA1MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA2MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA2MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA3NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA2MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA2NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA0NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA0OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA3NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA2NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA3MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA1NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAzMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA1OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA2NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAzOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA3OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA0MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA2NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTA1NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTUzOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTUzOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTU0MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTU0NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTU0MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTUzNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTU0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1NTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU0OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzA1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijk1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0OTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjEwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIzNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE1MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjA0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM0MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzQ1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjYwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2NjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0OTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijk2MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgxNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgyMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTQ1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzg4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTYwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjQ5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzY2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3NzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyNjUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMwNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE1NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE0NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTEwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5NzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjYxOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTAwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2MjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3NjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNTg5MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNTg5MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM4OSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI4ODQxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzODkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NjA4MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzg5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTI5OTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM4OSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUyOTk0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzODkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyODkyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzg5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjg5MzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzc2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzAzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMwMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDA4NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI4OTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAxMDAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwMDk5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODUxNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODUzNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MjA0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjE0NDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzUwMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijc1MDEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDUzMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI3NTAxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1NTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI5NzIzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzU3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI1ODMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNTgzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjQ3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI3MjYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODY1OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODMxNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODM3NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODUwNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzU3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MzExIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MzM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MTk2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTM1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MTk0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgzMDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgzMTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgzNzUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg0MjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMzMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzMyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0OTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMzMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjQxMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NTkyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjI1NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzg1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgyMjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIyNzYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTI0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAzNzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1MCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgyNDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1MCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1MDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA3MjQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NjExIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwNzI0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDM1NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTI0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjEyNDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjY1NTM1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNDgxNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNjE0NDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTI2OTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NDY4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjQ2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5MjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OTAxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzUzMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyNCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ3MDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwMDciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NzEyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgwNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcyNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODEzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NzE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NzIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgxNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcyNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODczMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NzA2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNzc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NzE5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NzE5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE4MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzE0MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMyNzcxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMxNDEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjc3MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzMTQxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzI3NzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NzI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjQwNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY3MjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NzE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjc0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY0NTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2Nzk5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1Nzg2OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjY2NDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExODgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwMjU1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjQyMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjYxNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxMzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ5OTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2Njk4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjQ2NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjYzNzciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI2NzkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjM3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTA5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1MjciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzA1NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1MzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwMzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDYwOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1NzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNzYwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDYxMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA3NjIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNzU3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDc2NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA3ODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNzczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDc1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA3ODIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNjI1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDYxOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA2MTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDYwNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA1NjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNjA1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDYyNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA3NjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNzkxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDU0MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk3MTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5Nzc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTc3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk3NDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5NzQ4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTkyNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk5MDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5ODI0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTcyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk3MzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5NzkyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTg4OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk4OTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5OTIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTY5NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjk2OTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5NzQ0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyOTg3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTQwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTYwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NDMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTA3MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxOTQzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzUwODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTk0MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM1MDg5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIxMjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg1MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODcxOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODA3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEyNDUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODQ5NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMjQ1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzg2MDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE2MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ5MTg5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY0NyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQwOTc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMxOTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTEzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMxOTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMxOTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDk4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMxOTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTEyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM0MjgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMxOTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjYzOTAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjM5MCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMwNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNzEzMiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjY0MTkxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM1MzAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM3ODMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTA0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxODcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTkwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzkxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMjc5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzgyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMjMxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzg3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMzg4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMjc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NzU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3MDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc0MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTM0NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTU2NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTc3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjIyMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzIzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxODY3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjY2MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjY2MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODM1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3NjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4NTMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMzMzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NTQyOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg1MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3NTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4NzAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Nzc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODQxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc0NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc1NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzc0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc1OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg1NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3NTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMzM1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NTQzMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3NjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM4NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4NjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzcwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc1NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDEzMzEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ1NDI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE4MzkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODA1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4NTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwMjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTg0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjczIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMDIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjI3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEwMjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE0NDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjgwNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTAyMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODA3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg1OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjI4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNDQ4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI5MDQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjkxOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iOTIwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODAxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMTg3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjQxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxODQ2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxODQ3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMzk2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg1NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDEzMzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ1NDMwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzODUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODY1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTQ1OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTQ2MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODQ4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzg0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg2NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3NjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODQ5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzgyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg2MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3NjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQxMzQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NTQzOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODg4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODk5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjgwMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzk2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg3NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3ODAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA5MjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ0NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDU5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDkzOSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY4NDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4NzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Nzc2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODgyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc4NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDExIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg5MSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3OTUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQyNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA5MDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2ODExIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwOTA2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjgxMCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDA1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg4NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3ODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDA0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg3NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4ODQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NzgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc4OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDAzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg4MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3ODciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQzOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDA2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwOTE4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg4NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4OTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Nzk2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MjMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2ODA3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDkwMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDg5NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY3OTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQzMSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA5MTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2ODE1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwOTIzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjgyNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDQyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDkyMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTY4MjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM5MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjA4NzMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2Nzc3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODg3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODA2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIxMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjM5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNDMiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODIzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjcyNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzM0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MzU3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzI0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NzM0NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDgxNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzM1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODI2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNDIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNDkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODI5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODM4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODM5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNjc0NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMDgzMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjUxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMDciPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjMxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDI5NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjQzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE5OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTc5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjExOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjE4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwODQ1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTgxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTEwNSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjUzNTEyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjUwNzMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyODY5NSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyNzI2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzMDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTY5MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjEyMzQxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2OTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTExIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2OTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2OTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxOTE2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2OTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxMjMxNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNjkxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIzMjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjUwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMTU4OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0NTcxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDA5NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjQwMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM1MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM1MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI5Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjQiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM1MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM1MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDQwMiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3MjA3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjQ0MDIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNzIwMiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI0NDAyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTcyMDUiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNDQwMiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE3MjA0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyODkyOCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTMwNTYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMzQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijc3ODQiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMjYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNTUzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE2NDciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMzgzNCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMTI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxNzUwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTc1MCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjIyNTAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIyNzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjIwNTU0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjE5NDMiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjc5NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjM0MjgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0MDk3Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg3MTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijg3MTEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIxNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDMyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMTQ0ODkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjI3MCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjcxIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMxNDEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjc3OCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjExNjEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1NzYxNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMTYxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDkxOTAiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTE2MSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjU3NDA4Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4MTkzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjMxNDEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjc2OSI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI3NzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjQ5NjgiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwMDciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI0NjgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNDY3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjYxNDQzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMzY5MjEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwMDciPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2NTM1MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg3MiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijg2NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjE2MzIiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iODcxMSI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTA1MTgiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNzE5NyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDUxOCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9IjYxNDQzIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9Ijc4NzEiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzMjU1MyI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iMjQ1NzYiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2NjEwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iODM1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY2MTAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI2NTQ4NiI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2NjEwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNTgwIj4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY2MTAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI1ODEiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiX2RldmljZS52ZW5kb3JfaWQiIGludD0iNjYxMCI+CisgICAgPG1hdGNoIGtleT0idXNiX2RldmljZS5wcm9kdWN0X2lkIiBpbnQ9Ijc3NCI+CisgICAgIDxhcHBlbmQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hcHBlbmQ+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnZlbmRvcl9pZCIgaW50PSI2NjEwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2JfZGV2aWNlLnByb2R1Y3RfaWQiIGludD0iNzc1Ij4KKyAgICAgPGFwcGVuZCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FwcGVuZD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UudmVuZG9yX2lkIiBpbnQ9IjY2MTAiPgorICAgIDxtYXRjaCBrZXk9InVzYl9kZXZpY2UucHJvZHVjdF9pZCIgaW50PSI4OTkiPgorICAgICA8YXBwZW5kIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYXBwZW5kPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICA8L21hdGNoPgorIDwvZGV2aWNlPgorPC9kZXZpY2VpbmZvPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9saWJncGhvdG8yLTIuNS44LzEwLWNhbWVyYS1saWJncGhvdG8yLmZkaSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvbGliZ3Bob3RvMi0yLjUuOC8xMC1jYW1lcmEtbGliZ3Bob3RvMi5mZGkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA0MjdlNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dwaG90bzIvbGliZ3Bob3RvMi0yLjUuOC8xMC1jYW1lcmEtbGliZ3Bob3RvMi5mZGkKQEAgLTAsMCArMSwxOTAxOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PiA8IS0tIC0qLSBTR01MIC0qLSAtLT4KKzwhLS0gVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgbGliZ3Bob3RvMiBwcmludC1jYW1lcmEtbGlzdCAtIC0gZmRpIC0tPgorPCEtLSsKKyAgICB8IENyZWF0ZWQgZnJvbSB0aGlzIGxpYnJhcnk6CisgICAgfCAgIGxpYmdwaG90bzIgICAgICAyLjUuOCAgICAgICAgICBhbGwgY2FtbGlicywgZ2NjLCBsdGRsLCBubyBFWElGCisgICAgfCAgIGxpYmdwaG90bzJfcG9ydCAwLjEyLjAgICAgICAgICBnY2MsIGx0ZGwsIG5vIFVTQiwgc2VyaWFsIHdpdGhvdXQgbG9ja2luZworICAgICstLT4KKzxkZXZpY2VpbmZvIHZlcnNpb249IjAuMiI+CisgPGRldmljZT4KKyAgPG1hdGNoIGtleT0iaW5mby5zdWJzeXN0ZW0iIHN0cmluZz0idXNiIj4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+IEpMMjAwNUIvQy9EIGNhbWVyYTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzI1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEUzNTAgTGlxdWlkIEdhbGxhbnQgRHVvIChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzMjUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFjZXIgRTM1MCBMaXF1aWQgR2FsbGFudCBEdW8gKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM4OTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBFMzk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM2MjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgQTEtODEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzODY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFjZXIgSWNvbmlhIEExLTg0MEZIRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzcwMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIEljb25pYSBBMy1BMTE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMxMjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEExMDAgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMxMjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEExMDAgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMxMzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEExMDEgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMyNzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEExMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMxODAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEEyMDAgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMxODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEEyMDAgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMyNTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEEyMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMwOTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEE1MDAgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMxMjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEE1MDAgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMxMjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEE1MDEgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMxMjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEE1MDEgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMxOTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEE1MTAgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMxOTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEE1MTAgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMxNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBJY29uaWEgVEFCIEE3MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM1ODgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBMaXF1aWQgRTI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM3MzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBMaXF1aWQgRTM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM4OTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBsaXF1aWQgZTcwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDExNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIExpcXVpZCBTNTY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM4MzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBMaXF1aWQgWDE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM0MjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBMaXF1aWQgWjEyMCBNVDY1eHggQW5kcm9pZCBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzY2MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIExpcXVpZCBaMTMwIE1UNjV4eCBBbmRyb2lkIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzOTExIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFjZXIgT25lIDc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMyMjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNlciBTNTAwIENsb3VkTW9iaWxlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzNzk2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFjZXIgWjE1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzg1MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY2VyIFoxNjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNTg0NSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI3NzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWNyb21hZyBJbmMuIFhPIExlYXJuaW5nIFRhYmxldCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI1ODQ1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjc3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BY3JvbWFnIEluYy4gWE8gTGVhcm5pbmcgVGFibGV0IChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BRUcgU25hcCAzMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTcyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFnZmEgZVBob3RvIENMMTg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTcyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAyOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFnZmEgZVBob3RvIENMMjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1NTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BaXB0ZWsgMS4zIG1lZ2EgUG9ja2V0Q2FtPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFpcHRlayBQYWxtQ2FtIFRyaW88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BaXB0ZWsgUGVuY2FtPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFpcHRlayBQZW5DYW0gVHJpbzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMjUwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BaXB0ZWsgUGVuQ2FtIFZHQSs8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BaXB0ZWsgUGVuY2FtIHdpdGhvdXQgZmxhc2g8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1NTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BaXB0ZWsgU21hcnQgTWVnYWNhbTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3MDk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWxjYXRlbCA2MDMwYTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3MDk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MjAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFsY2F0ZWwgT25lIFRvdWNoIDk5N0QgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzA5OSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BbGNhdGVsIE9uZSBUb3VjaCA5OTdEIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3MDk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDk3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BbGNhdGVsIE9uZVRvdWNoIDUwNDJEIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjcwOTkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjYxNDQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFsY2F0ZWwgT25lVG91Y2ggNjAzNFI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzA5OSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWxjYXRlbC9Cb3V5Z3VlcyBCUzQ3MjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3MDk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QWxjYXRlbC9UQ1QgNjAxMEQvVENMIFM5NTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QW1hemluZyBTcGlkZXJtYW48L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjQ3MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA0OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BbWF6b24gRmlyZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFtYXpvbiBLaW5kbGUgRmlyZSAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFtYXpvbiBLaW5kbGUgRmlyZSAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BbWF6b24gS2luZGxlIEZpcmUgKElEMyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjQ3MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QW1hem9uIEtpbmRsZSBGaXJlIChJRDQpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFtYXpvbiBLaW5kbGUgRmlyZSAoSUQ1KTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BbWF6b24gS2luZGxlIEZpcmUgKElENik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjQ3MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QW1hem9uIEtpbmRsZSBGaXJlIChJRDcpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QW1hem9uIEtpbmRsZSBGaXJlIDJHIChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY0NzMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BbWF6b24gS2luZGxlIEZpcmUgSEQ2PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU0OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFtZXJpY2FuIElkb2wgS2V5Y2hhaW4gQ2FtZXJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3NjIiPgorICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLmNsYXNzIiBpbnQ9IjYiPgorICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5zdWJjbGFzcyIgaW50PSIxIj4KKyAgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnByb3RvY29sIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXBwbGUgaVBhZCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgICAgPC9tYXRjaD4KKyAgICAgIDwvbWF0Y2g+CisgICAgIDwvbWF0Y2g+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3NzkiPgorICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLmNsYXNzIiBpbnQ9IjYiPgorICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5zdWJjbGFzcyIgaW50PSIxIj4KKyAgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnByb3RvY29sIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXBwbGUgaVBhZCBBaXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICAgICA8L21hdGNoPgorICAgICAgPC9tYXRjaD4KKyAgICAgPC9tYXRjaD4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ1MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDc1MiI+CisgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UuY2xhc3MiIGludD0iNiI+CisgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnN1YmNsYXNzIiBpbnQ9IjEiPgorICAgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UucHJvdG9jb2wiIGludD0iMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcHBsZSBpUGhvbmUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgICAgIDwvbWF0Y2g+CisgICAgICA8L21hdGNoPgorICAgICA8L21hdGNoPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NzU0Ij4KKyAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5jbGFzcyIgaW50PSI2Ij4KKyAgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2Uuc3ViY2xhc3MiIGludD0iMSI+CisgICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5wcm90b2NvbCIgaW50PSIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFwcGxlIGlQaG9uZSAzRyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgICAgPC9tYXRjaD4KKyAgICAgIDwvbWF0Y2g+CisgICAgIDwvbWF0Y2g+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3NTYiPgorICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLmNsYXNzIiBpbnQ9IjYiPgorICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5zdWJjbGFzcyIgaW50PSIxIj4KKyAgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnByb3RvY29sIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXBwbGUgaVBob25lIDNHUyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgICAgPC9tYXRjaD4KKyAgICAgIDwvbWF0Y2g+CisgICAgIDwvbWF0Y2g+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3NTkiPgorICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLmNsYXNzIiBpbnQ9IjYiPgorICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5zdWJjbGFzcyIgaW50PSIxIj4KKyAgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnByb3RvY29sIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXBwbGUgaVBob25lIDQgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgICAgIDwvbWF0Y2g+CisgICAgICA8L21hdGNoPgorICAgICA8L21hdGNoPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NzY4Ij4KKyAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5jbGFzcyIgaW50PSI2Ij4KKyAgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2Uuc3ViY2xhc3MiIGludD0iMSI+CisgICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5wcm90b2NvbCIgaW50PSIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFwcGxlIGlQaG9uZSA0UyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgICAgPC9tYXRjaD4KKyAgICAgIDwvbWF0Y2g+CisgICAgIDwvbWF0Y2g+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3NzYiPgorICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLmNsYXNzIiBpbnQ9IjYiPgorICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5zdWJjbGFzcyIgaW50PSIxIj4KKyAgICAgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLnByb3RvY29sIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXBwbGUgaVBob25lIDUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgICAgIDwvbWF0Y2g+CisgICAgICA8L21hdGNoPgorICAgICA8L21hdGNoPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NzUzIj4KKyAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5jbGFzcyIgaW50PSI2Ij4KKyAgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2Uuc3ViY2xhc3MiIGludD0iMSI+CisgICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5wcm90b2NvbCIgaW50PSIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFwcGxlIGlQb2QgVG91Y2ggKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgICAgIDwvbWF0Y2g+CisgICAgICA8L21hdGNoPgorICAgICA8L21hdGNoPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NzU1Ij4KKyAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5jbGFzcyIgaW50PSI2Ij4KKyAgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2Uuc3ViY2xhc3MiIGludD0iMSI+CisgICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5wcm90b2NvbCIgaW50PSIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFwcGxlIGlQb2QgVG91Y2ggMkcgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgICAgIDwvbWF0Y2g+CisgICAgICA8L21hdGNoPgorICAgICA8L21hdGNoPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NzYxIj4KKyAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5jbGFzcyIgaW50PSI2Ij4KKyAgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2Uuc3ViY2xhc3MiIGludD0iMSI+CisgICAgICAgPG1hdGNoIGtleT0idXNiLmludGVyZmFjZS5wcm90b2NvbCIgaW50PSIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFwcGxlIGlQb2QgVG91Y2ggM3JkIEdlbiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgICAgPC9tYXRjaD4KKyAgICAgIDwvbWF0Y2g+CisgICAgIDwvbWF0Y2g+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNDg4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyAoZm9yIFRlc2NvKSBIdWRsIChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNDg5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyAoZm9yIFRlc2NvKSBIdWRsIChJRDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Mzg2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyAxMDEgRzQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQxNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgMTAxIEc5IChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU0MTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDEwMSBHOSAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDMzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyAxMDEgRzkgVHVyYm88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQzMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgMTAxIEc5IFR1cmJvIDI1MCBIRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MzA1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyAxMDEgVGl0YW5pdW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQ0OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgMTAxIFhTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ2MTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDEwNCAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ4OTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDEwNSAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ2MjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDIwNCAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ4NjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDQwNCAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ4NjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDQwNENBTSAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ4ODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDQwNSAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ4OTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDQwNUhERCAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzg3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA0NSBOZW9uPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5MTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDUgKE1UUCBtb2RlIDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5MTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDUgKE1UUCBtb2RlIDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODQxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA1MCBEaWFtb25kPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ4NzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDUwNCAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgyMDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDUwYzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0OTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA1SCBJVCAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5NDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDVTIElUIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNjA0IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNjA0V0lGSSAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ4ODMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDYwNSAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ4ODUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDYwNUYgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0OTE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA3IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNzA0IG1vYmlsZSBkdnI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg3OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNzA0VFYgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0ODg5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA3MDUgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MzU5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA3MGIgVGl0YW5pdW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQ4MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgNzBpdDIgKElEIDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU0ODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDcwaXQyIChJRCAyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MzExIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA4MCBUaXRhbml1bTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA4MEc5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUzODQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIDhvIEc5IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTM4NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgOG8gRzkgVHVyYm8gKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MjkzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA5NyBUaXRhbml1bTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1Mjc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyA5NyBYZW5vbjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MjI3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyBBcm5vdmEgMTBiRzMgVGFibGV0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM3MDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUyMTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIEFybm92YSA4YyBHMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MjA4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyBBcm5vdmEgQ2hpbGRwYWQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3MTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJjaG9zIEM0MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NjE1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyBHbWluaSBYUzEwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzA1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0OTI5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyY2hvcyBTUE9EIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgVFYrIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzcwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDYxNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmNob3MgWFMyMDIgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bcmd1cyBCZWFuIFNwcm91dDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bcmd1cyBEQy0xNTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyZ3VzIERDLTE1MTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJndXMgREMtMTYxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bcmd1cyBEQy0xNjIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzE4MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyZ3VzIERDLTE3MzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXJndXMgREMtMjIwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bcmd1cyBEQzE1MTJlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFyZ3VzIFF1aWNrQ2xpeDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmllcyBBVEMtMDAxNzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5BcmllcyBEaWdpdGFsIEtleWNoYWluIENhbWVyYSwgSTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzA1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIEE0NTBDRyAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTY4MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIEFzdXMgRm9uZXBhZCBOb3RlIDYgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk2ODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBBc3VzIEZvbmVwYWQgTm90ZSA2IChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDgxNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIEZvbmVwYWQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA1NzkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBGb25lcGFkIDcgKEZFMzc1Q1hHKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTUxOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIEZvbmVwYWQgNyBMVEUgTUUzNzJDTCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTUzNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIEZvbmVwYWQgNyBMVEUgTUUzNzJDTCAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE3NzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBLMDBFIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTc2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIEswMTAgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk2NjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBNRTMwMVQgTWVNbyBQYWQgU21hcnQgMTAgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk2NjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBNRTMwMVQgTWVNbyBQYWQgU21hcnQgMTAgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxMDIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgTUUzMDJDIE1lbW9QYWQgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjEwMDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBNRTMwMkMgTWVtb1BhZCAoTVRQKz8pPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5NjQ4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgTUUzMDJLTCBNZU1vIFBhZCBGSEQxMCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTY0OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIE1FMzAyS0wgTWVNbyBQYWQgRkhEMTAgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNjAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgTWVtbyBLMDBGIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNjA4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgTWVtbyBLMDBGIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTUwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIE1lbW8gTUUxNzJWIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNTIwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgTWVtbyBNRTE3M1ggKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE1MjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBNZW1vIE1FMTczWCAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE2MDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBNZW1vIFBhZCA4IChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNTc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgTWVtb1BhZCA3IChNRTU3MkNMKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTc2NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIE1lbW9QYWQgNyAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE4NTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBNZW1vUGFkIDggTUUxODEgQ1ggKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA5OTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBQYWRGb25lIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwOTkzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgUGFkRm9uZSAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjEwMDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBQYWRGb25lIDIgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjEwMDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBQYWRGb25lIDIgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxMDEyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgUGFkRm9uZSAyIChQVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxMDI0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgUGFkRm9uZSBJbmZpbml0eSAoMm5kIElEKSAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTAyNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFBhZEZvbmUgSW5maW5pdHkgKDJuZCBJRCkgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxMDQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgUGFkRm9uZSBJbmZpbml0eSAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTA0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFBhZEZvbmUgSW5maW5pdHkgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5OTY4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgU0wxMDEgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk5NjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBTTDEwMSAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk5ODMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBURjEwMSBFZWVwYWQgVHJhbnNmb3JtZXIgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk5OTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBURjEwMSBFZWVwYWQgVHJhbnNmb3JtZXIgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5NzEyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgVEYyMDEgVHJhbnNmb3JtZXIgUHJpbWUgKGtleWJvYXJkIGRvY2spPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5NzEzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgVEYyMDEgVHJhbnNmb3JtZXIgUHJpbWUgKHRhYmxldCBvbmx5KTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTU4NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFRGMzAwIFRyYW5zZm9ybWVyIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5NTg1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgVEYzMDAgVHJhbnNmb3JtZXIgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5NjAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgVEY3MDAgVHJhbnNmb3JtZXIgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk2MDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBURjcwMCBUcmFuc2Zvcm1lciAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk2MTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBURjcwMVQgVHJhbnNmb3JtZXIgUGFkIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5NjE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgVEY3MDFUIFRyYW5zZm9ybWVyIFBhZCAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjIwNDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBUWDIwMUxBIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0MzIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgWmVuZm9uZSAyIFpFNTUwTUwgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjI1NDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBaZW5Gb25lIDQgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjI1NTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QXN1cyBaZW5Gb25lIDQgQTQwMENHIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNjMyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgWmVuRm9uZSA1IChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNjMzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgWmVuRm9uZSA1IChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyODIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDU5MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Bc3VzIFplbkZvbmUgNSBBNTAwS0wgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNjQ4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgWmVuRm9uZSA2IChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNjQ5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkFzdXMgWmVuRm9uZSA2IChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5CYXJiaWUgQ2FtZXJhIChEaWdpdGFsIEJsdWUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjgzMjAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QmFybmVzJmFtcDtOb2JsZSBOb29rIEhEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjgzMjAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+QmFybmVzJmFtcDtOb2JsZSBOb29rIEhEKzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTg5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjI5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkJlbnEgREMxMzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijc0OTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3ODIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkJlblEgRjU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA4MjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNTI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmJxIEFxdWFyaXVzIEU1LTRHPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwODIzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MjAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmJxIEtyaWxsaW4gKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA4MjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+YnEgS3JpbGxpbiAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3MzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDEwMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjczMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgMTEwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyAxMjAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3ODciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDEzMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjkwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgMjU1SFM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0ODAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDMwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgMzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzkxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyAzMDAgSFM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzOTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgMzMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDc5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA0MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDA1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA0MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgNDMwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDUwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDUwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA1NSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA2MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA2NSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA3MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTMwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA3MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYyMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgNzUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU2NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgNzUwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2NzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDgwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA4MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgODUgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1OTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDg1MCBJUyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA4NjAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2NjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDkwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTY1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA5MDBUaSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA5NSBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYxOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgOTUwIElTIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MzkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDk2MCBJUyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjU5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyA5NzAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2OTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIDk4MCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjczNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgOTkwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIGkgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgaSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDg0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIGk1IChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIElJIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIElJcyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTMyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgSVhVUyBpWiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRGlnaXRhbCBJWFVTIHY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzODkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgdjI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgdjMgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgdjMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjUyOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBEaWdpdGFsIElYVVMgV2lyZWxlc3MgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjUyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgUmViZWwgWFQgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM5NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIERpZ2l0YWwgdW5rbm93biAzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDI0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRWx1cmEgNTAgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQyMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFbHVyYSA1MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVsdXJhIDY1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2NjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDEwMDBEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyOTEyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyAxMDBEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDE5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDEwRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgMTBEIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4MjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDExMDBEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyOTI3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyAxMjAwRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjUyMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgMUQgTWFyayBJSSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjE1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyAxRCBNYXJrIElJSSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyAxRCBNYXJrIElWPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODI1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyAxRCBYPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDIwRCAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTI0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyAyMEQgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyAzMDBEIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDMwMEQgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU2MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgMzBEIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1MjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDM1MEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1MjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgMzUwRCAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyAzNTBEIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDQwMEQgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgNDBEIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDQ1MEQgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjc1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgNTAwRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY5OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgNTBEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyA1NTBEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTQ1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDVEIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDVEIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2OTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDVEIE1hcmsgSUk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4NTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDVEIE1hcmsgSUlJPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODI0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyA2MDBEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyA2MEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4NTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDY1MEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4ODAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDZEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyOTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyA3MDBEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODgzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyA3MEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2OTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIDdEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyOTExIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyA3RCBNYXJrSUk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgRDMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzg0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIEQ2MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyBEaWdpdGFsIFJlYmVsIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gRU9TIERpZ2l0YWwgUmViZWwgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgRGlnaXRhbCBSZWJlbCBYVGkgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyBLaXNzIERpZ2l0YWwgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgS2lzcyBEaWdpdGFsIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1MjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgS2lzcyBEaWdpdGFsIE4gKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgS2lzcyBEaWdpdGFsIFggKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYxMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgS2lzcyBYMiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyBLaXNzIFgzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODYxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyBNPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyOTUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyBNMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjc1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBFT1MgUmViZWwgVDFpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjEzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEVPUyBSZWJlbCBYU2kgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQzMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIEZWIE0xIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4NjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gSVhVUyAxMjVIUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjk2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBJWFVTIDE2NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjgzNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBJWFVTIDMxMElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIElYWSAyMjAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2OTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gSVhZIDMwMDAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBJWFkgRElHSVRBTDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM2MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIElYWSBESUdJVEFMIDMwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ4NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIElYWSBEaWdpdGFsIEwyIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzOTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBJWFkgRFYgTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQzOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIElYWSBEViBNMiAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDEyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gTVY2MzBpIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBNVjY1MGkgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ0OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBNVjc1MGkgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQzOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIE1WWCAxMGkgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQzMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIE1WWCAzaSAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gTVZYMTAwaTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQxNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIE1WWDE1MGkgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ1NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIE1WWDI1aSAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzk1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gTVZYMmk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gTVZYM2kgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQxOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIE9wdHVyYSAxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQxNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIE9wdHVyYSAyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQxNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIE9wdHVyYSAyMCAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzk1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gT3B0dXJhIDIwMCBNQzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQzOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIE9wdHVyYSAzMDAgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ1NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIE9wdHVyYSA0MCAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTQ5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIE9wdHVyYSA2MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQzMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIE9wdHVyYSBYaSAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzY3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEExMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM4NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjg2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMTAwMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjczOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTExMDAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4NjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEExMzAwSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI5MDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEExNDAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzY2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEEyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM4NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjg5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMjAwMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjczNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTIxMDAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4NDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEEyMjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMjMwMElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODczIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMjQwMElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyOTEzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMjUwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg5OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTI2MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDA2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMzAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3ODYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEEzMDAwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMzEwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3ODUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEEzMTAwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODk3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBMzUwMElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE0MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTQwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODY3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNDAwMElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTM3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNDEwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE0MjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjUzNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTQzMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjI5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNDUwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE0NjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY2NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTQ3MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjczNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTQ4MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjc4MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlcnNob3QgQTQ5NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ4MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTUxMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNTIwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1ODIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE1MzAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTU0MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjI0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNTUwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE1NjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTU3MCBJUyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjYzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNTgwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjYyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNTkwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDA0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNjAgKFBUUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE2MTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTYyMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjAyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNjMwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE2NDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYzNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTY1MElTIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE3MCAoUFRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU2NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTcwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBBNzEwIElTIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE3MjAgSVMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTc1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE4MCAoUFRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjgzOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTgwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg2MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTgxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgQTg1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEE5NSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzMyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBEMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI5MzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEVscGgxMzU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI5MzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEVscGgzNDBIUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBHMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgRzEgWDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY4NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgRzEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzY3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBHMTE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4ODgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IEcxNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBHMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM5OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBHMyAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzk5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBHMyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBHNSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDY3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2Vyc2hvdCBHNiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBHNyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBHOSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IElYWSBEaWdpdGFsIEwgKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM2MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBQcm85MCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ0NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzEgSVMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM1MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFMxMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzEwMCAoMjAwMCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzExMCAoMjAwMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4OTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFMxMTAgKFBUUCBNb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjkxNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzEyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjUyOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzIgSVMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTMjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzODkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzIwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQwMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTMjMwIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0MDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFMyMzAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjU3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzMgSVMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzMwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM5MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTMzMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFM0MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQwNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzQwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTNDEwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzOTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzQ1IChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzOTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFM0NSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjE2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTNSBJUyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDA3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTNTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ2OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgUzUwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDY2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2Vyc2hvdCBTNjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQ2NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlcnNob3QgUzcwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1MzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFM4MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODE4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTOTU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0QxMCBEaWdpdGFsIEVMUEggKG5vcm1hbCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjQwMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0QxMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYyMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0QxMDAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0NzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNEMTEwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2NzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJzaG90IFNEMTEwMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjc0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlcnNob3QgU0QxMjAwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzg4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTRDEzMDAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0ODQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0QyMCAobm9ybWFsIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTRDIwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTk5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTRDQwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1MjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNENDMwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNENDUwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1MzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNENTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNENjAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNENjMwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1NjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNENzAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNENzUwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2NjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNENzcwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTRDc4MCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjY2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlcnNob3QgU0Q3OTAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2MTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNEODUwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2OTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNEODgwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNTY1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTRDkwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTRDk0MCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjczNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU0Q5NzAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI2OTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNEOTkwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjg1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDEwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2Vyc2hvdCBTWDEwMCBJUyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDExMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjc2OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU1gxMjAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4MTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNYMTMwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDE1MCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg5MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU1gxNjBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjkxOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU1gxNzAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3NzIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNYMjAgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI3MzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IFNYMjAwIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNzkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDIxMCBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg0NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU1gyMjBIUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU1gyMzBIUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU1gyNDBIUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg2OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU1gyNjBIUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg5NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU1gyODBIUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjg1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU1g0MEhTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODkyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDUwMElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyOTE5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhbm9uIFBvd2VyU2hvdCBTWDUxMCBIUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjk1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgU1g1MjAgSFM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzNjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBQb3dlclNob3QgdW5rbm93biAxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUG93ZXJTaG90IHVua25vd24gMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTkzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjc3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYW5vbiBSZWJlbCBUMmk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4MjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUmViZWwgVDM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE5MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI4NTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gUmViZWwgVDRpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExOTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNDA4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2Fub24gWlI3ME1DIChub3JtYWwgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk5OSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDE2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYXNpbyBFWC1TNzcwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5OTkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxNjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2FzaW8gRVgtWjEyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTczIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhc2lvIEVYLVo2NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTk5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhc2lvIEVYLVo3MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk5OSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDQ3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DYXNpbyBFWC1aUjcwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzc1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0OTY2NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhc2lvIExWIDEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0OTg1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNhdGVycGlsbGFyIENhdCBTNTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2hlLWV6IFNuYXA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2hlLUV6IFNuYXAgU05BUC1VPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNoZS1leiEgQmFiZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDk4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2hlLWV6ISBTcGxhc2g8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2hlLWV6ISBTUFlaPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NDMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNzY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q2xldmVyIENBTSAzNjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQ4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q29icmEgREMxMjU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q29icmEgRGlnaXRhbCBDYW1lcmEgREMxNTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzc5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU4NzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q29ieSBDT0JZIE1QNzA1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijc3NjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q29uY2VwdHJvbmljIENNVEQyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvbmNvcmQgRXllLVEgRHVvPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvbmNvcmQgRXllLVEgRWFzeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvbmNvcmQgRXllUSA0MzMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg1NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db25jb3JkIEV5ZVFNaW5pXzE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODU3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvbmNvcmQgRXllUU1pbmlfMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db29sQ2FtIENQMDg2PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzODYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q293b24gaUF1ZGlvIDEwIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTgwOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db3dvbiBpQXVkaW8gNiAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE4NzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q293b24gaUF1ZGlvIDcgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNjE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvd29uIGlBdWRpbyA5IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjM2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db3dvbiBpQXVkaW8gQzIgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNjE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDQ5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvd29uIGlBdWRpbyBEMiAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q293b24gaUF1ZGlvIEQyKyBEQUIgRlcgNC54IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE5MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db3dvbiBpQXVkaW8gRDIrIERNQiBGVyAxLnggKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNjE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTQ1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvd29uIGlBdWRpbyBEMisgRlcgMi54IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjE3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db3dvbiBpQXVkaW8gRDIrIEZXIDMueCAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzMzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q293b24gaUF1ZGlvIEozIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjMwNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db3dvbiBpQXVkaW8gUzkgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNjE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzkzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNvd29uIGlBdWRpbyBVMyAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM2MTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE4ODkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q293b24gaUF1ZGlvIFU1IChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzYxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjM1MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Db3dvbiBpQXVkaW8gWDcgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjQwNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIENhcmRDYW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTYzOTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBHbyBNaW5pPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Mzk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgUEMtQ0FNIDMwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjQwMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIFBDLUNBTTM1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjM5NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIFBDLUNBTTYwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjQwMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIFBDLUNBTTc1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBQb3J0YWJsZSBNZWRpYSBDZW50ZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3MjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Njg4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIFpFTiBNaWNybyAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIFpFTiBNaWNyb1Bob3RvPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NjkxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIFpFTiBNaWNyb1Bob3RvIChhbHRlcm5hdGUgdmVyc2lvbik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3MzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOIE1vemFpYzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY5NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBaRU4gU2xlZWsgKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjcwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBaRU4gU2xlZWsgUGhvdG88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY2ODkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOIFRvdWNoIChNVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3MjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOIFY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3MjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOIFYgMkdCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIFpFTiBWIFBsdXM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY2NzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOIFZpc2lvbjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjcyMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBaRU4gVmlzaW9uIFc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3MDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOIFZpc2lvbjpNPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkNyZWF0aXZlIFpFTiBWaXNpb246TSAoRFZQLUhEMDAwNCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3MzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOIFgtRmk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3NDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Q3JlYXRpdmUgWkVOIFgtRmkgMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY4MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5DcmVhdGl2ZSBaRU4gWHRyYSAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQyMDQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyODIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkN1cml0ZWwgQ29tbXVuaWNhdGlvbnMsIEluYy4gVmVyaXpvbiBXaXJlbGVzcyBEZXZpY2U8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjEyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkQtTGluayBEU0MgMzUwKzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNDI4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTI5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RC1MaW5rIERTQyAzNTBGPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg0OTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5ELU1BWCBETTM1ODg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+REMtTjEzMHQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+REMtTjEzMHRhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjMxNDEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNzY4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+REMzMVZDPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NjkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRlbGwgRGVsbCBQb2NrZXQgREogKE1UUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY4NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EZWxsIERKICgybmQgZ2VuZXJhdGlvbik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY3MDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ1MzIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRlbGwgSW5jIERlbGwgU3RyZWFrIDc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY3MDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ1MzM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRlbGwgSW5jIERlbGwgVmVudWUgNyBpbmNoPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NzAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NTMzOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EZWxsIEluYyBEZWxsIFZlbnVlIDcgaW5jaCAoMm5kIElEKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjcwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTc2NjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RGVsbCBJbmMgREogSXR0eTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EaWdpZ3I4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijc5OTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RGlnaUxhbmQgREw3MDFRPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRpZ2l0YWwgY2FtZXJhLCBDRDMwMk48L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RElHSVRBTCBNSUQjMDAyMDUwOSAobm8tbmFtZSBjYW1lcmEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0OTgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EaWdpdGFsRHJlYW0gRW5pZ21hMS4zPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRpZ2l0YWxEcmVhbSBsJ2VsZWdhbnRlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRpZ2l0YWxEcmVhbSBsJ2VsaXRlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRpZ2l0YWxEcmVhbSBsJ2VzcGlvbjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0NDgzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RGlnaXRhbERyZWFtIGwnZXNwaW9uIFhTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0OTgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EaWdpdGFsRHJlYW0gbCdlc3Bpb24geHRyYTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EaWdpdGFsRHJlYW0gbCdlc3ByaXQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RGlnaXRhbERyZWFtIGxhIHJvbmRlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI3MjYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0NjA5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkRpc25leSBNaXhNYXg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2OTQ0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RGlzbmV5IHBpeCBtaWNybzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EaXNuZXkgcGl4IG1pY3JvIDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDMxMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5EdW5sb3AgTVAzIHBsYXllciAxR0IgLyBFR09NQU4gTUQyMjNBRkQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RWx0YSBNZWRpQCBkaWdpLWNhbTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5FbXByZXggUENEMzYwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDI3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RXBzb24gUGhvdG9QQyAzMDAwejwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RXBzb24gUGhvdG9QQyA4NTB6PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNjA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MjAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZseSBFdm8gVGVjaCA0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNjA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZseSBpcTQ0MTUgZXJhIHN0eWxlIDM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjAxOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTYzODUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Rmx5IGlxNDQ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE3NDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg2MzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Rk9NQSBEOTA1aTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNTMwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBBeGlhIEV5ZXBsYXRlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM1MzAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEF4aWEgU2xpbXNob3Q8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzMwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBBMzMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ2NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggQTgwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IEE4MjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDY3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBBOTIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUzOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggQVYtMTUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggRTkwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0ODAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IEYxMDBmZDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IEYyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0ODQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IEYyMDAgRVhSPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggRjMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ0OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggRjMxZmQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBGNDBmZDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IEY1MGZkPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ4NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggRjYwZmQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTA2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBGNzAgRVhSPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggRjgwRVhSPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggSDIwRVhSPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjYyNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggSFMzMEVYUjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1OTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IEpYMzcwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggUzEwMDBmZDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFMxMDBmczwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0OTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFMxNTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggUzE4MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDg4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBTMjAwMEhEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggUzI1MDBIRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFMyOTUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjYzNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggUzI5ODA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjEzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBTNDMwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2NjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFM0ODUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggUzU3MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDcxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBTNTgwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFM2NTAwZmQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBTNzAwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzOTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFM5NTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjY2OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggU0wxMDAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU2MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZpbmVQaXggVDIwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2MjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaSBGaW5lUGl4IFgtUzE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjExIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBYMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBYMjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjQ4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBYRjE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBaMTAwZmQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTEzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBaMzU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTI1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRmluZVBpeCBaNzAwRVhSPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIEZ1amlmaWxtIEEyMjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjkzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgRnVqaWZpbG0gWC1FMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5GdWppIElYLTE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amkgUzUgUHJvPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkZ1amlGaWxtIEB4aWEgaXgtMTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ0MTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaXRzdSwgTHRkIEY5MDNpWCBISUdILVNQRUVEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5MjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+RnVqaXRzdSwgTHRkIFNUWUxJU1RJQyBNNTMyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijk2MDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R2FybWluIE1vbnRlcnJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdlYXIgdG8gZ288L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R2VuZXJpYyBTb3VuZFZpc2lvbiBDbGFyaXR5MjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTEyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODY3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdlbml1cyBTbWFydCAzMDAsIHZlcnNpb24gMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNDkwOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5HZW5zaXMgR1QtNzMwNSA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA0NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODIwMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5HaWdhYnl0ZSBSQ1Q2NzczVzIyIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNDQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R2lnYWJ5dGUgUkNUNjc3M1cyMiAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R2xvYmFsIFBvaW50IDMgaW4gMSBEaWdpdGFsIEZ1biBHcmFmZml0aSAwMDA0NDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5HbG9iYWwgUG9pbnQgQ2xpcHN0ZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R2xvYmFsIFBvaW50IFNwbGFzaCBNaW5pICh1bmRlcndhdGVyIGNhbWVyYSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Hb29nbGUgSW5jIChmb3IgQWlub2wgTm92bykgRmlyZS9GbGFtZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdvb2dsZSBJbmMgKGZvciBBbGx3aW5uZXIpIEEzMSBTb0M8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjAwMzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIEFzdXMpIE5leHVzIDcgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjAwMzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIEFzdXMpIE5leHVzIDcgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5OTgzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdvb2dsZSBJbmMgKGZvciBBc3VzKSBURjEwMSBUcmFuc2Zvcm1lcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTcxMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Hb29nbGUgSW5jIChmb3IgQXN1cykgVEYyMDEgVHJhbnNmb3JtZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE1MjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIEJhcm5lcyAmYW1wOyBOb2JsZSkgTm9vayBDb2xvcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTcwNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Hb29nbGUgSW5jIChmb3IgTGVub3ZvKSBJZGVhcGFkIEsxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUzNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdvb2dsZSBJbmMgKGZvciBMRyBFbGVjdHJvbmljcykgUDk5MC9PcHRpbXVzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUzNTEzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdvb2dsZSBJbmMgKGZvciBMRyBFbGVjdHJvbmljcykgUDk5MC9PcHRpbXVzIChDeWFub2dlbik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjAxOTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIExHIEVsZWN0cm9uaWNzL1NhbXN1bmcpIE5leHVzIDQvNS83LzEwIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwMTk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdvb2dsZSBJbmMgKGZvciBMRyBFbGVjdHJvbmljcy9TYW1zdW5nKSBOZXh1cyA0LzUvNy8xMCAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDUwNjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIEluYyAoZm9yIE1lZGlvbikgTUQ5OTAwMCAoUDk1MTQpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4ODQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdvb2dsZSBJbmMgKGZvciBNb3Rvcm9sYSkgWG9vbSAoTVo2MDQpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwMDA1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdvb2dsZSBJbmMgKGZvciBTYW1zdW5nKSBOZXh1cyBTIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYzNTMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwMDA2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdvb2dsZSBJbmMgKGZvciBTYW1zdW5nKSBOZXh1cyBTIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDU5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkdvb2dsZSBJbmMgKGZvciBTb255KSBTMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MzUzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODkzMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Hb29nbGUgSW5jIChmb3IgVG9zaGliYSkgVGhyaXZlIDcvQVQxMDU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM1MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjAxOTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29vZ2xlIE5leHVzIDUgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iOTg0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R29Qcm8gSEVSTzMrPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NDMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNzk2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R3JhbmRUZWsgU2NvcGVDYW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+R1RXIEVsZWN0cm9uaWNzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ4NjYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SGFpZXIgSWJpemEgUmhhcHNvZHkgMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0ODY2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTE5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhhaWVyIEliaXphIFJoYXBzb2R5IDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SGFpbWVpIEVsZWN0cm9uaWNzIEhFLTUwMUE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SGF3a2luZyBEQzEyMCBQb2NrZXRjYW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzIyODUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SGV3bGV0dC1QYWNrYXJkIFNsYXRlIDEwIEhEPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzODM3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhld2xldHQtUGFja2FyZCBTbGF0ZSA3IDI4MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjM1ODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SGV3bGV0dC1QYWNrYXJkIFNsYXRlIDcgNDYwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MjUxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzEyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IaXNlbnNlIEU4NjAgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDI1MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxMjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SGlzZW5zZSBFODYwIChJRDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQyNTEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTI1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhpU2Vuc2UgU2VybyA3IFBybzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTg1OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDEyMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1MDkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCAyMTU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzE3NDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCAyMTcgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjAwMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDMxNyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1MzQ2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgMzE4IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjYxMTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCAzMjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTY5OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDQwNyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNzIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgNDE3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjkxODYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA0M3ggKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODE2MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDUwNyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwOTc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgNTE3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc5MDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA2MDcgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTM0NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDYxMiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA2MTg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY2MjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA2MjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODkzMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDYzNSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3Mzk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgNzA3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2MDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA3MTUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDIxMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDcxNyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2MzcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgNzIwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc2NTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA3MzMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzEzOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDczNSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2ODk4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgODEyIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA0NjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCA4MTcgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjI1OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDgxOCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3MTU0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgODUwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY2NDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDkxMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzQxMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IDkzNSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3NjY2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgOTQ1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY2NDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IEM1MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQ1NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBDNTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjE0NDMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0NTc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBDNTAwIDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU1ODYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBFMzI3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU4NDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBFNDI3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk5NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFAgUGhvdG9TbWFydCBNMjIgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMTQ5MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IUCBQaG90b1NtYXJ0IE0yMyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5NDQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgTTMwNyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMxMjM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgTTQxNSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNzcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgTTQyNSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMzMDI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgTTUyNSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMzMjgyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgTTUyNyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM5NjgyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgTTU0NyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMzNzk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgTTcyNSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0MDUwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgTTcyNyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4NDAyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgTTczNyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4NjU4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgUjc0MiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0NTYyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgUjkyNyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0ODE4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhQIFBob3RvU21hcnQgUjk2NyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2NzE2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyAoZm9yIEhld2xldHQtUGFja2FyZCkgSFAgVG91Y2hwYWQgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY3MjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIChmb3IgSGV3bGV0dC1QYWNrYXJkKSBIUCBUb3VjaHBhZCAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgQW5kcm9pZCBEZXZpY2UgSUQxIChab3BvLCBIRDIsIEJpcmQuLi4pPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgyMDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEFuZHJvaWQgRGV2aWNlIElEMiAoWm9wbywgSEQyLi4uKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzgyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBEZXNpcmUgMzEwIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3NzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIERyb2lkIEROQSAoTVRQK1VNUyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU4MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgRHJvaWQgRE5BIChNVFArVU1TK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzIxOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgRVZPIDRHIExURS9PbmUgViAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBFVk8gNEcgTFRFL09uZSBWIChJRDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1ODIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBCdXR0ZXJmbHkgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIEJ1dHRlcmZseSBYMjkwZDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNTMzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgRGVzaXJlIDUxMCAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIERlc2lyZSBYPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2MzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBEcm9pZCBJbmNyZWRpYmxlIDRHIExURSAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgRHJvaWQgSW5jcmVkaWJsZSA0RyBMVEUgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1NzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBFdm8gNEcgTFRFIChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5NjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgKEhUQzY1MDBMVlcpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1NDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzk4NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSAoSUQzKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzOTQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM5MzkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM5NzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgKE1UUCtBREIrPyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzkzNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSAoTVRQK0FEQitDREMpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM5MzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgKE1UUCtDREMpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1NjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgKE1UUCtVTVMrQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIDgwMncgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk5NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSBNOCAoSFRDNjUyNUxWVyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzg3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSBNOCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNTYyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIE04IChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDIwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIE04IChNVFArQURCK1VNUyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDAyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSBNOCAoTVRQK1VNUyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk5NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSBNOCAoVmVyaXpvbikgKEhUQzY1MjVMVlcpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwMDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgUmVtaXggKEhUQzY1MTVMVlcpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMzMDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgUyAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIFMgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSBTIChJRDMpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgWCAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTc5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEMgT25lIFggKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU4MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgSFRDIE9uZSBYIChJRDMpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1ODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIEhUQyBPbmUgWCAoSUQ0KTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDA4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBIVEM2NTE1TFZXL09uZSBSZW1peDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MjEwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBNb3Rvcm9sYSBSYXpyIEQxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI5OTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1NDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SFRDIE9uZSBNOCBHb29nbGUgUGxheSBFZGl0aW9uIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTMzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkhUQyBPbmUgTWluaSAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyOTk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2MTY0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgV2luZG93cyBQaG9uZSA4cyBJRDE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgV2luZG93cyBQaG9uZSA4WCBJRDE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjk5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IVEMgV2luZG93cyBQaG9uZSA4WCBJRDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDgxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDIyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IdWF3ZWkgQXNjZW5kIFA4IDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0ODE3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzgzOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IdWF3ZWkgTWVkaWFwYWQgKG1vZGUgMCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDgxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM4NTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SHVhd2VpIE1lZGlhcGFkIChtb2RlIDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ4MTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxNzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SHVhd2VpIE1UUCBkZXZpY2UgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDgxNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDE3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5IdWF3ZWkgTVRQIGRldmljZSAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcyMDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pQ2xpY2sgNVg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aUNvbmNlcHRzIGRpZ2l0YWwgY2FtZXJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExNjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5MTg5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkluRm9jdXMgTTgxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5JTk5PVkFHRSBNaW5pIERpZ2l0YWwsIENEMzAyTjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NjU1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3NzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SW5zaWduaWEgTlMtRFY0NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NjU1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3NzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SW5zaWduaWEgUGlsb3QgNEdCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY2NTUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5JbnNpZ25pYSBTcG9ydCBQbGF5ZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzI5MDMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2NTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SW50ZWwgQ2h1d2kgdmk4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjMyOTAzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkludGVsIEZveGNvbm4gaVZpZXcgaTcwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzMjkwMyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU4MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5JbnRlbCBOb2JsZXggVDdBMjE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzI5MDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1ODQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5JbnRlbCBQb2NrZXQgUEMgQ2FtZXJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjMyOTAzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjU0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkludGVsIFRlbGNhc3QgQWlyIDNHPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjMyOTAzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTU1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkludGVsIFhvbG8gOTAwL0FaMjEwQTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5JT01hZ2ljIE1hZ2ljSW1hZ2UgNDAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPklPTiBkaWdpdGFsIGNhbWVyYTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDM5NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgQ2xpeDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDM5MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgQ2xpeDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ0MTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIEUxMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ0MTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIEUxMDAgdjIvTHBsYXllcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDQzNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgRTE1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDQ1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgRTMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NDMzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBFNTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg0NDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIEgxMCAyMEdCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NDUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBIMTAgNS42R0I8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg0NTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIEgxMCA1R0I8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIyOTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIEgzMDAgU2VyaWVzIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDEwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgaUZQLTg4MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDM4NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgTjEyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Mzg2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBQb3J0YWJsZSBNZWRpYSBDZW50ZXIgMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MTAyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjM4NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgUG9ydGFibGUgTWVkaWEgQ2VudGVyIDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ0MjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIFNwaW5uPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MzcxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBUMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQzODQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIFQxMCAyR0I8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQzNzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIFQxMGI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQzNzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIFQyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDM3MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgVDIwIEZNPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0Mzc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBUMjBiPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0Mzc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBUMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ0MzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIFQ1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NDA0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBUNjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDE2MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDQxOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgVDcgVm9sY2FubzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3Nzg0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDk4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPmlSaXZlciBUb2xpbm8gVGFiIDc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY2NDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQzNzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+aVJpdmVyIFUxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjY0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDQwMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5pUml2ZXIgWDIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4NDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU2ODE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPklzYWJlbGxhIEhlciBQcm90b3R5cGU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SXhsYSBEdWFsQ2FtIDY0MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5KYXp3YXJlcyBTdGFyIFdhcnMgbm8uIDE1MjU2PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkphenogSkRDOTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5KYXp6IEpESzIzNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzA1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkplbm9wdGlrIEpELTMzMDB6MzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkplbm9wdGlrIEpELTQxMDB6MzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDk4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTAyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SmVub3B0aWsgSkQzNTAgZW50cmFuY2U8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkplbm9wdGlrIEpEMzUwIHZpZGVvPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkplbm9wdGlrIEpEQyAzNTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Sm9sbGEgU2FpbGZpc2ggKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Sm9sbGEgU2FpbGZpc2ggKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI2NSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQ4MzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+SlZDIEFsbmVvIFhBLUhENTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIxMjYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5LQkdlYXIgSmFtQ2FtPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI4NTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S2Vud29vZCBNZWRpYSBLZWcgSEQxMEdCNyBTcG9ydCBQbGF5ZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODc1OSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTM1MTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29ibyBBcmMgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODc1OSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTM1MTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29ibyBBcmMgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODc1OSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDUzMjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29ibyBBcmMgNyBIRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNTU5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIEMxNTMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1NDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQzE4MzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDA2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIEMzMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQxOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDMzEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQzMzMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDIxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIEMzNDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQxNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDMzYwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQzQzMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIEM1MzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDNTMzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQzYxMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDY2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIEM2MzM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ0NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDNjQzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQzY1MzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDU0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIEM3NDM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDODEzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQzg3NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIEM5MTM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQzNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBDRDMzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g0MjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g0MjEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzMzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g0MjMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzODIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g0MzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzODIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g0MzEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzOTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g2MjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzOTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g2MjMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzOTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g2MzMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g2NDQ1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g3MjIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g3MzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g3MzEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g3MzMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g3NDMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g3NTI1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgQ1g3NTMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIERDMjIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIERDMjQwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBEQzI0MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIERDMjYwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIERDMjY1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIERDMjgwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIERDMjkwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIERDMzQwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgREM0ODAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIERDNTAwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIERYMzIxNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIERYMzUwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjk2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIERYMzYwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIERYMzcwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFgzOTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzNjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFg0MzMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzOTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFg0NTMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzNjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFg0OTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzOTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFg2MzQwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzOTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFg2NDQwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzOTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFg2NDkwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFg3NDQwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFg3NTkwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzOTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgRFg3NjMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc2OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIEVaMjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzNDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgTFM0MjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM4NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBMUzQ0MzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzg1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIExTNjYzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgTFM3NDM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTM4MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBMUzc1MzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDg2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIE0xMDYzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1MzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgTTUzMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDM5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIE03NTM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBNODYzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgTTg4MzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDEzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIE04OTMgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAyNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBNQzM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBQODUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgUDg4MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFY1MzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQyMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBWNTUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgVjU3MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFY2MDM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBWNjEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgVjcwNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDY0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFY4MDM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQzNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBaNjEyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgWjY1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDE1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFo3MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBaNzEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgWjcxMiBJUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDA4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFo3MzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQxNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBaNzQwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwMjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgWjc1OTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ2MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBaODEyIElTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgWjg2MTIgSVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQ4NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb2RhayBaOTE1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0ODUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29kYWsgWjk1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDM0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvZGFrIFpENzEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMjQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE4MjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb25pY2EgZS1taW5pPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ5MDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29uaWNhLU1pbm9sdGEgRGlNQUdFIEEyIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDkwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29uaWNhLU1pbm9sdGEgRGlNQUdFIEEyMDAgKFBpY3RCcmlkZ2UgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDkwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb25pY2EtTWlub2x0YSBEaU1BR0UgWDIxIChQaWN0QnJpZGdlIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ5MDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S29uaWNhLU1pbm9sdGEgRGlNQUdFIFoyIChQaWN0QnJpZGdlIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQ5MDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPktvbmljYS1NaW5vbHRhIERpTUFHRSBaMyAoUGljdEJyaWRnZSBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0OTA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Lb25pY2EtTWlub2x0YSBEaU1BR0UgWjUgKFBpY3RCcmlkZ2UgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzk5NCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDEwMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5LdXJpbyA3UzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNDI1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkt5b2NlcmEgRHVyYUZvcmNlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+S3lvY2VyYSBLWUwyMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzkzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkt5b2NlcmEgUmlzZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTU0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkt5b2NlcmEgVG9ycXVlIE1vZGVsIEU2NzE1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk0NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxlZ28gQmlvbmljbGU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTA3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZWljYSBELUxVWCAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY4MDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVpY2EgTTk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA1MTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIEEzNTAwLUY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA1MDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIEE1NTAwLUY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk4NDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIEE4MjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzAxNDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIElkZWFQYWQgQTMwMDAgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzAxNDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIElkZWFQYWQgQTMwMDAgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzAwMTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIElkZWFUYWIgQTIxMDlBPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYxMjciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwMDc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxlbm92byBJZGVhVGFiIFMyMjEwYTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDQ0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gSWRlYVRhYiBTNTAwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTcwNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gSzE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA4NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIEszIE5vdGU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzAxMzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIEs5MDAgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA1NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIExpZmVUYWIgRTczM1g8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk5MDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIExpZmV0YWIgUzk1MTI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gUDcwLUE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk4NDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIFA3MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk4NjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIFA3ODA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk5NDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIFM2NjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA0ODgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIFM5MzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk3MjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TGVub3ZvIFRoaW5rUGFkIFRhYmxldDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDQ1MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gVG9nYSBUYWJsZXQgQjYwMDAtRjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDY5OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gVmliZSBaMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDQ2MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gWW9nYSBUYWJsZXQgMTAgQjgwMDAtSDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2MTI3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDY0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MZW5vdm8gWW9nYSBUYWJsZXQgMiBQcm88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjUwNzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TEcgRWxlY3Ryb25pY3MgSW5jLiBBbmRyb2lkIHBob25lIChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1MDgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gQW5kcm9pZCBwaG9uZSAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTIxNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MRyBFbGVjdHJvbmljcyBJbmMuIEczPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1MTk4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gRzMgKFZTOTg1KTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNDg1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MRyBFbGVjdHJvbmljcyBJbmMuIEdSLTUwMCBNdXNpYyBQbGF5ZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQ3MTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TEcgRWxlY3Ryb25pY3MgSW5jLiBLQzkxMCBSZW5vaXIgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0ODgyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gS005MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU0MDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TEcgRWxlY3Ryb25pY3MgSW5jLiBMRyBHIEZsZXggMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTE0NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MRyBFbGVjdHJvbmljcyBJbmMuIExHIFZTODcwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1MTQ5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gTEcgVlM4OTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjUxMTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TEcgRWxlY3Ryb25pY3MgSW5jLiBMRyBWUzk4MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTEyNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MRyBFbGVjdHJvbmljcyBJbmMuIExHMiBPcHRpbXVzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0OTg2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gTEc4NTc1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwODYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4NzM2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gVDU0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwODYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4ODQ5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gVVAzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1MzcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gVmFyaW91cyBFIGFuZCBQIG1vZGVsczwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MTAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTE4OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MRyBFbGVjdHJvbmljcyBJbmMuIFZLODEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQxMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0NTkyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxHIEVsZWN0cm9uaWNzIEluYy4gVlg4NTUwIFYgQ0FTVCBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDEwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQ1ODEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5MRyBUNTEwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxpZmV0ZWMgTFQgNTk5NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI1MDczIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODY3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Mb2dpayBMT0cgREFYIE1QMyBhbmQgREFCIFBsYXllcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTMzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzA0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TG9naXRlY2ggQ2xpY2tzbWFydCAzMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzMyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjM4NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPkxvZ2l0ZWNoIFBvY2tldCBEaWdpdGFsPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NjQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWFnaW5vbiBTWC00MTB6PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzMDU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWFnaW5vbiBTWDMzMHo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWFncGl4IEIzNTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1NTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NYXhlbGwgTWF4IFBvY2tldDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjQ3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMzkwMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NYXhmaWVsZCBHLUZsYXNoIE5HIDFHQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzI5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NZWRpYS1UZWNoIG10LTQwNjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNzI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NZWRpYVRlayBJbmMgTVQ1eHggYW5kIE1UNnh4IFNvQ3M8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzMiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDUwNjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWVkaW9uIExpZmV0YWIgUDk1MTQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjEyNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk4MjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWVkaW9uIExpZmV0YWIgUDk1MTY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NZWRpb24gTUQgNTMxOTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1lZGlvbiBNRCA2MDAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg3MDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NZWRpb24gTUQgNjEyNjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1lZGlvbiBNRCA5NzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0MTI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1lZGlvbiBNRDgzMzMgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY0NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzQxODQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWVkaW9uIE1EODMzMyAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDMyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NTA2NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NZWRpb24gTUQ5OTAwMCAoUDk1MTQpL09saXZldHRpIE9saXBhZCAxMTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDcyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODIxMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NZWdhZm9uIExvZ2luKzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4MjIyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzA2NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NZWdhZm9uIE1GTG9naW4zVDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODIwMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NZWl6dSBNWCBQaG9uZSAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDgyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA3NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NZWl6dSBNWCBQaG9uZSAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDMxMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODk2MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NZW1vcmV4IG9yIGlSaXZlciBNTVAgODU4NS84NTg2IG9yIGlSaXZlciBFMjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM1MDQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxODc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1pY3JvLVN0YXIgSW50ZXJuYXRpb25hbCBQNjEwL01vZGVsIE1TLTU1NTc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWljcm9tYXh4IERpZ2l0YWwgQ2FtZXJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMTgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2MDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWljcm9zb2Z0IEtpbiAxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMTgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1NzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWljcm9zb2Z0IFdpbmRvd3MgTVRQIFNpbXVsYXRvcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1pY3Jvc29mdCBXaW5kb3dzIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMTgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE4MDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWljcm9zb2Z0IFp1bmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTExOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTU5OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NaWNyb3NvZnQgWnVuZSBIRDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2MTY0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NaWNyb3NvZnQvSFRDIEhUQyA4UzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTE4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWljcm9zb2Z0L0ludGVsIEJhbmRvbiBQb3J0YWJsZSBNZWRpYSBDZW50ZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTExOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTYwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NaWNyb3NvZnQvU2hhcnAvblZpZGlhIEtpbiBUd29NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjMxNDEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNzc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TWluaSBTaG90eiBtcy0zNTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjEyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1pbnRvbiBTLUNhbSBGNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NaXRlayBDRDEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1pdGVrIENEMzBQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0Nzc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIEExMjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4ODA4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIEF0cml4IE1CODYwIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1ODA3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIEF0cml4IFhUNjg3IChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExODI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIEF0cml4L1JhenIgSEQgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE4MjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgQXRyaXgvUmF6ciBIRCAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE4NzkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgRHJvaWQgTWF4eCAoWFQxMDgwKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTk0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBEcm9pZCBUdXJibyAoWFQxMjU0KTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTk0NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBEcm9pZCBUdXJibyBWZXJpem9uPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExODgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIERyb2lkIFVsdHJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2ODU0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIERyb2lkIFgvTUI1MjUgKERlZnkpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2ODU4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIERST0lEMiAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzA2MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBEUk9JRDIgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTcyNzkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgRFJPSUQ0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3MjY3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIERST0lENCAoUFRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxODQ0OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBJZGVhUGFkIEsxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2ODYwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIE1pbGVzdG9uZSAvIFZlcml6b24gRHJvaWQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg4NzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgTWlsZXN0b25lIFgyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExODk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIE1vdG8gRyAoSUQxKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTkwNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBNb3RvIEcgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE5MDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgTW90byBHIChYVDEwMzIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExODc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIE1vdG8gWCAoWFQxMDUzKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTg3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBNb3RvIFggKFhUMTA1OCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE4NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgTW90byBYIChYVDEwODApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NjE5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIE1UUCBUZXN0IENvbW1hbmQgSW50ZXJmYWNlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NzgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIFJhenIgRDEvRDMvaSAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTc4MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBSYXpyIEQxL0QzL2kgKE1UUCs/KTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTg1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBSQVpSIE0gWFQ5MDcgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE4NTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgUkFaUiBNIFhUOTA3IChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTYyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBSQVpSMiBWOC9VOS9aNjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDg1MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBWM20vVjc1MCB2ZXJpem9uPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg4ODgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4ODM1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk1vdG9yb2xhIFhvb20gKEZhY3RvcnkgdGVzdCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg4NDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgWG9vbSAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODg0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBYb29tIChNVFArQURCKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzE2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBYb29tIDIgTWVkaWEgRWRpdGlvbjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzE1OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBYb29tIDIgTWVkaWEgRWRpdGlvbiAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjg0NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBYb29tIDIgTWVkaWEgRWRpdGlvbiAoSUQzKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODk0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBYVDg5MC85MDcvUmF6ciAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4ODg4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODk0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Nb3Rvcm9sYSBYVDg5MC85MDcvUmF6ciAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODg4OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTcyNTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TW90b3JvbGEgWFQ5MTIvWFQ5Mjg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM3NSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDk2NjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NdXN0ZWsgZ1NtYXJ0IDMwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzc1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTgwOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk11c3RlayBnU21hcnQgMzUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNzUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5Njk2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TXVzdGVrIGdTbWFydCBtaW5pPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNzUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUwMjA4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TXVzdGVrIGdTbWFydCBtaW5pIDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM3NSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTA0NjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NdXN0ZWsgZ1NtYXJ0IG1pbmkgMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNzI2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzODQwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5NeU11c2l4IFBELTYwNzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzMyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODA2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5FQyBDYXNpbyBDODExPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMzMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TkVDIENhc2lvIENBLTIwMUw8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAzMyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5FQyBGT01BIE4wMUE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAyNiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjIxMjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+TmV4dGFyIE1BNzE1QS04UjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OZXh4dGVjaCBNaW5pIERpZ2l0YWwgQ2FtZXJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDIwMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCAyMTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggMjIwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDIyMDB2MS4xIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggMjUwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDMxMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCAzMjAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjczIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggMzUwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDM3MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCA0MTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggNDIwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDQzMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCA0NTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggNDYwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDQ2MDBhIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggNDgwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDUwMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCA1MjAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggNTQwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDU2MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCA1NzAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggNTkwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMxMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDc2MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCA3OTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggODcwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xQaXggODgwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IDg4MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCA4ODUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCA5NDAwICAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xQaXggOTkwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IEEgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzOTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBBVzEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IEwxIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzc5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggTDEwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggTDExIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzgyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggTDExMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IEwxMiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IEwxMjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3ODkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBMMTYgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBMMTkgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBMMjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBMMjMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBMMjc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzczIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggTDQgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBMODIwICAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFAxIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFAyIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQ1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDMwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFAzMzAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBQNCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFA1MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFA1MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBQNTAwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU0NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFA1MTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBQNTEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFA1MjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3ODUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBQNjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBQNjAwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFA3MDAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzk1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDcxMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBQNzcwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFA3ODAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzYzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDgwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUDgwIHYxLjEgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBQOTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTMDE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMzNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFMyIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzIwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFMyMjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTMjI1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODAxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzI1MDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MTMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTMjYwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgzMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFMyNzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc5NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFMzMDAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzMxMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTMzIwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTMzMwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFM0IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODA5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzQzMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNDkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTNTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQ0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzUxMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTNiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFM2MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU0MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFM2MDAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzYyMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFM3YyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFM4MDAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQ2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzgyMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzkwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIENvb2xwaXggUzkxMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gQ29vbHBpeCBTOTUwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFM5NzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBDb29scGl4IFNRIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAyOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEMkggU0xSIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAzNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEMkhzIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAzMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEMlggU0xSIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEMyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwMzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRDUwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQyMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDQ2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBEMlhzIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA1MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDMwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQzMDAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA2MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDMwMHMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDYzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBEMzEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQzMjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQzMzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQzcyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQzeCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ0MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ0MHggKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBENHM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDUwMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDY1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBENTEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ1MjAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ1MzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ2MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ2MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDYxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDMwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBENzAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDU4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBENzAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA2NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDcwMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBENzBzIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA3MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDcxMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA3OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDc1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBEODAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDY2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIERTQyBEODAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ4MDBFPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gRFNDIEQ4MTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTA1NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBEU0MgRDkwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTUzOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBKMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNTM5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIEoyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1NDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gSjM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTU0NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBKNDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjAwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNTQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5pa29uIFMxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyMDAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE1MzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tmlrb24gVjE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTIwMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTU0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5OaWtvbiBWMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDU1NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPm5pc2lzIFF1aWNrcGl4IFFwMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2dhTmV0IFREQy0xNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3MDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgMjcxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgMzEwOWMgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijk1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDMxMTBjIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDMyNTAgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSAzNzEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSA1MTMwIFhwcmVzc011c2ljPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgNTIwMCBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDUyMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIxMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSA1MzAwIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgNTMxMCBYcHJlc3NNdXNpYzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgNTMyMCBYcHJlc3NNdXNpYzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTUwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDU1MDAgU3BvcnQgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSA1NTMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgNTcwMCBYcHJlc3NNdXNpYyBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDU4MDAgWHByZXNzTXVzaWM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzQxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDU4MDAgWHByZXNzTXVzaWMgdjI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzQ1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDU4MDAgWHByZXNzTXVzaWMgdjM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgNjEyMGMgQ2xhc3NpYyBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDYyMTAgTmF2aWdhdG9yPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSA2MjIwIENsYXNzaWM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgNjUwMGMgQ2xhc3NpYyBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjYzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIDY2MDBpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0OTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgODA4IFB1cmVWaWV3PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0MjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgQzUtMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTYxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIEM3PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijk3MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBDNyAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgRTUyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgxNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBFNjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgRTYzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIyOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBFNjY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODIwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIEU3PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBFNyAoT3ZpIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIyOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBFNzE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIEU3MXg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTQ1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIEU3MjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzg4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIEx1bWlhIChSTS05NzUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2MzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTHVtaWEgMzAxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2MzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTHVtaWEgV1A4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzMTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjMwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTYwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE43MzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjMzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE43MyBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI0OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBONzUgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBONzggTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM5MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBONzk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzY2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE44PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBOOCAoT3ZpIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjgwIEludGVybmV0IEVkaXRpb24gKE1lZGlhIFBsYXllcik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjgxIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjgyIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjg1IE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzA2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE45PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExNTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjkxIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTQ0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE45MyBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTI1MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBOOTNpIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjYzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE45NSBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTEwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE45NSBNb2JpbGUgUGhvbmUgOEdCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijk3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBOOTUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE45NiBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTAxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE45NzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2MTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9raWEgTjk3IG1pbmk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1NyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTAwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIE45Ny0xPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjYyOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ob2tpYSBYNjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDU3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzY4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk5va2lhIFhMPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjU4OTEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9ybVNvZnQsIEluYy4gUG9ja2V0IFR1bmVzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjU4OTEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Tm9ybVNvZnQsIEluYy4gUG9ja2V0IFR1bmVzIDQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM4OSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg4NDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+blZpZGlhIENNOS1BZGFtPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzODkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ2MDgwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPm5WaWRpYSBTaGllbGQgKElEMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM4OSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTI5OTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+blZpZGlhIFNoaWVsZCAoSUQyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzg5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1Mjk5NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5uVmlkaWEgVGVncmEgTm90ZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzg5Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODkyOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5uVmlkaWEgVmFyaW91cyB0YWJsZXRzIChJRDEpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzODkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI4OTMwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPm5WaWRpYSBWYXJpb3VzIHRhYmxldHMgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzc2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PMiBTaXN0ZW1hcyBab2x0YXJUVjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIEMtMjEwMFVaPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgQy0zMDAwWjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIEMtMzAzMFo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgQy0zMTBaPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIEMtMzUwWjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+T2x5bXB1cyBDLTU1MDBaPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIEMtNTVaPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIEQtNTQwWjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+T2x5bXB1cyBELTU2MFo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgRSBzZXJpZXMgKENvbnRyb2wpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIEUtTTU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzAzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgRS1QTDU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgRkU0MDAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIElSLTMwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTcyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+T2x5bXB1cyBtanUgNTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMwMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIFNQLTcyMFVaPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIFgtMTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIFgtMjUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PbHltcHVzIFg5MjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk3MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9seW1wdXMgWDkyNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4OTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDA4NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5PcHBvIEZpbmQgNyAoSUQgMSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAxMDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+T3BwbyBGaW5kIDcgKElEIDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwMDk5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPk9wcG8gWDkwMDY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+T3JlZ29uIFNjaWVudGlmaWMgRFNob3QgSUk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+T3JlZ29uIFNjaWVudGlmaWMgRFNob3QgSUlJPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkwNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGFuYXNvbmljIERNQy1GUzYyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkwNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGFuYXNvbmljIERNQy1GWjIwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkwNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGFuYXNvbmljIERNQy1GWjM4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkwNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGFuYXNvbmljIERNQy1GWjQ1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkwNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGFuYXNvbmljIERNQy1GWjUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkwNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGFuYXNvbmljIERNQy1HRjE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QYW5hc29uaWMgRE1DLUxTMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5MDc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBhbmFzb25pYyBETUMtTFMzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkwNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGFuYXNvbmljIERNQy1MWDc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QYW5hc29uaWMgRE1DLVRaMTU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QYW5hc29uaWMgRE1DLVRaMTg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI0MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTA3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QYW5hc29uaWMgRE1DLVRaODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NTE3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBhbmFzb25pYyBQOTA1aTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjQyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NTM2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBhbmFzb25pYyBQOTA2aTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MjA0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2MTQ0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QYW50ZWNoIENydXg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzUwMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1MzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGVnYXRyb24gQ2hhZ2FsbDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3NTAxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDUzMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QZWdhdHJvbiBDaGFnYWxsIChBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijc1MDEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNTU0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBlZ2F0cm9uIEh1ZGwgMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QZW5jYW0gVEVWSU9OIE1EIDk0NTY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iOTcyMyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBlbnRheCBLMyAoUFRQIE1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI1ODMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBlbnRheCBPcHRpbyA0M1dSPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI1ODMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QZW50YXggT3B0aW8gVzkwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI3MjYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4NjU4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBlcmNlcHRpb24gRGlnaXRhbCwgTHRkIEdpZ2F3YXJlIEdYNDAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgzMTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBHb0dlYXIgQXJpYTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4Mzc3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgR29HZWFyIEFyaWF6PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg1MDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBHb0dlYXIgQXJpYXovOTc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgR29HZWFyIEF1ZGlvPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgzMTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBHb0dlYXIgTXVzZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MzM0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgR29HZWFyIFNBMVZCRTA4S1gvNzg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODE5NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIEdvR2VhciBTQTMzNDU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjEzNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIEdvR2VhciBTQTUxNDU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjEyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIEdvR2VhciBTQTYwMTQvU0E2MDE1L1NBNjAyNC9TQTYwMjUvU0E2MDQ0L1NBNjA0NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MTk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgR29HZWFyIFNBNjEyNS9TQTYxNDUvU0E2MTg1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMzNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIEdvR2VhciBTQTkyMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODMwOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIEdvR2VhciBWaUJFIFNBMVZCRTA0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgzMTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBHb0dlYXIgVmlCRSBTQTFWQkUwNC8wODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4Mzc1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgR29HZWFyIFZJQkUgU0EyVkJFWzA4fDE2XUsvMDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODQyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIEdvR2VhciBWaWJlLzAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMzMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIEhERDA4NS8wMCBvciBIREQwODIvMTc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzMyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgSEREMTRYWCxIREQxNjIwIG9yIEhERDE2MzAvMTc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDkxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgSERENjMyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBIREQ2MzIwLzAwIG9yIEhERDYzMzAvMTc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjQxMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIGk5MDg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBQNDQ0MTdCIGtleWNoYWluIGNhbWVyYTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NTkyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgUEkzOTAwQjIvNTggPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyMjU3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBoaWxpcHMgUFNBMjM1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjExMzciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIFBTQTYxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBTQTExMTUvNTU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEzNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODIyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaGlsaXBzIFNBNTI4NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTM3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGhpbGlwcyBTaG9xYm94PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBob2ViZSBTbWFydGNhbTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UGlvbmVlciBEVlItTFg2MEQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBpb25lZXIgWE1QMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaXhhcnQgR2VtaW5pIEtleWNoYWluIENhbWVyYTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QaXhpZSBQcmluY2VzcyBKZWxseS1Tb2Z0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBvY2tDYW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAzNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Qb2xhcm9pZCBEQzcwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzUwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MjQ1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlBvbGFyb2lkIEZyZWVzY2FwZS9NUFUtNDMzMTU4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1MDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Qb2xhcm9pZCBQREMgMjMwMFo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM2OTU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UHJha3RpY2EgU2xpbXBpeDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QcmVjaXNpb24gTWluaSBEaWdpdGFsIENhbWVyYTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5QcmVjaXNpb24gTWluaSwgTW9kZWwgSEE1MTNBPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNzI0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NjExIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlByZXN0aWdpbyA1NTA0IERVTyA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA3MjQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQzNTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UHJlc3RpZ2lvIDU1MDUgRFVPIDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTI0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTI0OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlByZXRlYyBkYzUzMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjc2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2NTUzNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlB1cmVEaWdpdGFsIFJpdHogRGlzcG9zYWJsZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNDgxNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5RdWFsY29tbSAoZm9yIEdpZ2FieXRlKSBHU21hcnQgRzEzNDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjE0NDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UXVhbGNvbW0gKGZvciBIaWdoc2NyZWVuKSBPbWVnYSBQcmltZSBTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5RdWFsY29tbSAoZm9yIE5va2lhKSA1NTMwIFhwcmVzc211c2ljPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyNjk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlF1YWxjb21tIChmb3IgTm9raWEvVmVyaXpvbikgNjIwNSBCYWxib2EvVmVyaXpvbiBNdXNpYyBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjQ2OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5RdWFsY29tbSAoZm9yIE9uZVBsdXMpIE9uZSAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjQ2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5RdWFsY29tbSAoZm9yIE9uZVBsdXMpIE9uZSAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ3OCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5MjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UXVhbGNvbW0gKGZvciBQaGlDb21tKSBDMjMwdyAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjkwMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5RdWFsY29tbSAoZm9yIFNtYXJ0ZnJlbikgQW5kcm9tYXggVTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5RdWlja1BpeCBRUDE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzUzMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJhZGlvc2hhY2sgRmxhdGZvdG88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyNCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UkNBIENEUzEwMDU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwMDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3MDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UmVkbWkgMVMgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwMDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3MTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UmVkbWkgSE0gMVMgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+UmVxdWVzdCBVbHRyYSBTbGltPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg3MTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SaWNvaCBDYXBpbG8gUlg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcwNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJpY29oIENhcGxpbyAzMDBHPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg3MDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SaWNvaCBDYXBsaW8gRzM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcxMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJpY29oIENhcGxpbyBHNDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzE2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIEdYPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgwNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SaWNvaCBDYXBsaW8gR1ggKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzI0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIEdYIDg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODEzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJpY29oIENhcGxpbyBHWCA4IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcxNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJpY29oIENhcGxpbyBSMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIFIxdjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIFIxdiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg3MjMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SaWNvaCBDYXBsaW8gUjI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJpY29oIENhcGxpbyBSMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIFIzIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJpY29oIENhcGxpbyBSNDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzMwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIFI1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SaWNvaCBDYXBsaW8gUjUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NzA2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Umljb2ggQ2FwbGlvIFJSMzA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODI5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJpY29oIENhcGxpbyBSUjc1MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg3MTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5SaWNvaCBDYXBsaW8gUloxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNzc1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJJTSBCbGFja0JlcnJ5IFN0b3JtLzk2NTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcxOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlJvbGxlaSBkcjU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTQ4MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODcxOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Sb2xsZWkgZHI1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgMjMwNzAgIENyYXlvbGEgRGlnaXRhbCBDYW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgMjgyOTAgYW5kIDI4MjkyICBEaWdpdGFsIEM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgOTIwNDUgIFNwaWRlcm1hbjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciBjbGlwc2hvdCBuby4gMTE2OXg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzE0MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI3NzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciBEaWdpdGFsIEtleWNoYWluIDExMTk5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjMxNDEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNzcxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgRGlnaXRhbCBubywgNjYzN3g8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzE0MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI3NzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciBEaWdpdGFsIG5vLCA2NzQ4MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciBEaWdpdGFsIG5vLiA1NjM3OSBTcHlzaG90PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNha2FyIERpZ2l0YWwgbm8uIDc3Mzc5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNha2FyIERvcmEgdGhlIEV4cGxvcmVyIG5vLiA4ODA2NzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciBIZWxsbyBLaXR0eSBuby4gOTQwMDk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgS2lkeiBDYW0gODYzNzk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgS2lkei1DYW0gbm8uIDg4Mzc5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNha2FyIE1pY3JvIERpZ2l0YWwgMjQyOHg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgTmlja2Vsb2Rlb24gaUNhcmx5IG5vLiA4ODA2MTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciBuby4gMTYzOHggQ3liZXJQaXg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgbm8uIDc1Mzc5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNha2FyIG5vLiA4MTg5MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyNDI1Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYWthciBuby4gOTEzNzk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjQyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FrYXIgbm8uIDk4Mzc5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNha2FyIFN0YXIgV2FycyBraXQgbm8uIDkyMDIyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNha2FyIFN0aWNrZXIgV2l6YXJkIG5vLiA1OTM3OTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjcyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIEVLLUdDMTAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2NDA3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgRjI1MCBNb2JpbGUgUGhvbmU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY3MjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBHYWxheHkgbW9kZWxzIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2NzE2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgR2FsYXh5IG1vZGVscyAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY3NDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBHYWxheHkgbW9kZWxzIEtpZXMgbW9kZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjQ1MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIEdULUIyNzAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2Nzk5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgR1QtQjI3MTAvWGNvdmVyIDI3MTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1Nzg2OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIEdULVM1MjMwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2NjQ5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgR1QtUzg1MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE4OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIEk1NTBXIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwMjU1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgSmV0IFM4MDAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2NDIwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgSnVrZSAoU0NILVU0NzApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2MTc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgTTc2MDAgQmVhdC9HVC1TODMwMFQvU0dILUY0OTAvUzgzMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTEzMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIE5YMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0OTk2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgTlgxMDAwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2Njk4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgUzU2MjA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjY0NjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBTQU1TVU5HIFRyYW5jZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjM3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFU2MDAgTW9iaWxlIFBob25lPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI2NzkzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgVmlicmFudCBTR0gtVDk1OS9DYXB0aXZhdGUvTWVkaWEgcGxheWVyIG1vZGU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjYzNzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBYODMwIE1vYmlsZSBQaG9uZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDUyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlILTgyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDUwOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlILTkyMCAoNTAxZCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZSC05MjAgKDUwMjIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNTI3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWUgtOTI1KC1HUyk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1MTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZSC05MjVHUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzA1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlILTk5OSBQb3J0YWJsZSBNZWRpYSBDZW50ZXIvU0dILUE3MDcvU0dILUw3NjBWL1NHSC1VOTAwL1Zlcml6b24gSW50ZW5zaXR5L0Zhc2NpbmF0ZTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDUzMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlILUo3MEo8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAzMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLTkwMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDU2NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLUYySjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDYwOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLUszPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNTcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtSzU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA3NjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1NMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDYxMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLVAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNzYyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtUDM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA3NTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1RMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDc2NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLVEyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNzg0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtUTM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA3NzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1SMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDc1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLVIxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNzgyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtUjI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA2MjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1TMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDYxOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLVM1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNjE4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtVDEwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNTUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtVDdKPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNjA3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtVDk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1NjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1VMkogKFlQLVUySlhCL1hBQSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA2MDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1VMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDYyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLVU0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwNzY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbXN1bmcgWVAtVTU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA3OTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2Ftc3VuZyBZUC1aMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMjU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDU0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW1zdW5nIFlQLVo1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5NzEyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgYzE1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTc3NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW5EaXNrIFNhbnNhIGMyNDAvYzI1MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTc3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW5EaXNrIFNhbnNhIGMyNTAgdjI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk3NDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBDbGlwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5NzQ4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgQ2xpcCB2MjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTkyNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW5EaXNrIFNhbnNhIENsaXAgWmlwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5OTA0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgQ2xpcCs8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk4MjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBDb25uZWN0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5NzI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgZTIwMC9lMjUwL2UyNjAvZTI3MC9lMjgwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5NzMwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgZTI2MC9lMjgwIHYyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5NzkyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgRXhwcmVzczwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTIxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOTg4OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TYW5EaXNrIFNhbnNhIEZ1emU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk4OTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBGdXplIHYyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5OTIwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgRnV6ZSs8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTkyMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjk2OTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FuRGlzayBTYW5zYSBtMjAwLXRjYyAoTVRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5Njk2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgbTIzMC9tMjQwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5NzQ0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgbTI0MC9tMjUwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5MjEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI5ODcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNhbkRpc2sgU2Fuc2EgVmlldzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTQwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2FueW8gVlBDLUM1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTk0MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzUwNzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TY2FuSGV4IFNYLTM1YTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTQzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTA4MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNjYW5IZXggU1gtMzViPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE5NDMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1MDg5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2NhbkhleCBTWC0zNWM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjEyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDA5NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNjYW5IZXggU1gtMzVkPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNjb3R0IEFQWCAzMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNDgyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2VhICZhbXA7IFNlYSAyRyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg3MTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TZWEgJmFtcDsgU2VhIDUwMDBHPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE0ODIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjgwNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TZWEgJmFtcDsgU2VhIDUwMDBHIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2hhcmsgMi1pbi0xIE1pbmk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2hhcmsgU0RDLTUxMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxNTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TaGFyayBTREMtNTE5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4NDk3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNIQVJQIENvcnBvcmF0aW9uIFNCTTIwM1NIPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEyNDUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4NjAyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNIQVJQIENvcnBvcmF0aW9uIFNILTA2RTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTYxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0OTE4OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TSEFSUCBDb3Jwb3JhdGlvbiBTSDkzMFc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM2MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2hpZnQzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2NDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwOTc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNpZ21hVGVsIEluYy4gTVRQTVNDTiBBdWRpbyBQbGF5ZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzE5MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDExMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNpUGl4IEJsaW5rIDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzE5MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDExNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNpUGl4IENBTWVsZW9uPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjMxOTEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwOTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TaVBpeCBTQzIxMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzE5MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDExMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNpUGl4IFNuYXA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzQyOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDA5NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNpUGl4IFN0eWxlY2FtPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjMxOTEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQwOTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TaVBpeCBXZWIyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjYzOTAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TaXJpdXMgU3RpbGV0dG88L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjM5MCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNpcml1cyBTdGlsZXR0byAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjM0NzgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzMDU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U2thbmhleCBTWC0zMzB6PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjcxMzIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjY0MTkxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNsYWNrZXIgSW5jLiBTbGFja2VyIFBvcnRhYmxlIE1lZGlhIFBsYXllcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNTMwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U01hTCBVbHRyYS1Qb2NrZXQ8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzc4MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDEwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvLiBTaG93IDMwMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxODcwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgQWxwaGEtQTMwMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTk5MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IEFscGhhLUE1MDAwIChDb250cm9sKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzkxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgQWxwaGEtQTUxMDAgKENvbnRyb2wpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIyNzkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBBbHBoYS1BNTEwMCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzgyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgQWxwaGEtQTYwMDAgKENvbnRyb2wpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIyMzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBBbHBoYS1BNjAwMCAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzg3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgQWxwaGEtQTc3IE0yIChDb250cm9sKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgQWxwaGEtQTdyIChDb250cm9sKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMzg4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgQWxwaGEtQTdTIChDb250cm9sKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMjc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgQWxwaGEtQTdTIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ3NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEQ1ItU1I3NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3MDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtQTEwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1BOTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtRjcwN1YgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1GNzE3IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtRjgyOCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLUgxIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtSDIgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1INSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzNDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtSFgxMDBWIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTU2NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1IWDIwMFYgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLUhYMzAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTE2OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1IWDVWIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjIyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1IWDYwViAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1OMiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVAxMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVAxMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1QMTIwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDIwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVAzMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVAzMSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVAzMiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVA0MSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVA0MyAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVA1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDUwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDUxIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDUyIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDcxIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDcyIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDczIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDkyIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUDkzIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUjEgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVJYMSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzMjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUlgxMDAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxODY3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVJYMTAwTTI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUzQwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUzYwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjYyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVM3MzAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1TNzUgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2NjIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtUzc4MCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVM4NSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVQxIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtVDEwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtVDMgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1VMTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1VMjAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IERTQy1WMSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVcxIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtVzEyIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODM1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVcxMzAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3NjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtVzIwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVczNSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEzNDAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBEU0MtVzUxMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgRFNDLVc1NSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgSVMxMlMgWHBlcmlhIEFjcm8gSEQgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTMzMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIElTMTJTIFhwZXJpYSBBY3JvIEhEIE1UUCtVTVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDU0MjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBJUzEyUyBYcGVyaWEgQWNybyBNVFArVU1TK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDIyaSBYcGVyaWEgUCBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NTAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDIyaSBYcGVyaWEgUCBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzU0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQyMmkgWHBlcmlhIFAgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM5MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjVpIFhwZXJpYSBWIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjVpIFhwZXJpYSBWIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3NzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDI1aSBYcGVyaWEgViBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzYxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQyNmkgWHBlcmlhIFMgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODQxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQyNmkgWHBlcmlhIFMgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc0NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjZpIFhwZXJpYSBTIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDI2dyBYcGVyaWEgQWNybyBIRCBJUzEyUyBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3NTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDI2dyBYcGVyaWEgQWNybyBIRCBJUzEyUyBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQyNncgWHBlcmlhIEFjcm8gSEQgU08tMDNEIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc1OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjZ3IFhwZXJpYSBBY3JvIEhEIFNPLTAzRCBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzc1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQyOGF0IFhwZXJpYSBJb24gTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODU1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQyOGF0IFhwZXJpYSBJb24gTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc1OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjhhdCBYcGVyaWEgSW9uIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTMzNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMjhhdCBYcGVyaWEgSW9uIE1UUCtVTVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDU0MzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDI4YXQgWHBlcmlhIElvbiBNVFArVU1TK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDI5aSBYcGVyaWEgR1ggTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTFQyOWkgWHBlcmlhIEdYIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3NjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDI5aSBYcGVyaWEgR1ggTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMzBwIFhwZXJpYSBUIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg2NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIExUMzBwIFhwZXJpYSBUIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3NzAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBMVDMwcCBYcGVyaWEgVCBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzcxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTVQyN2kgWHBlcmlhIFNvbGEgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODUxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgTVQyN2kgWHBlcmlhIFNvbGEgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc1NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIE1UMjdpIFhwZXJpYSBTb2xhIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTMzMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIE1UMjdpIFhwZXJpYSBTb2xhIE1UUCtVTVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDU0MjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBNVDI3aSBYcGVyaWEgU29sYSBNVFArVU1TK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE1WQy1DRDMwMCAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTVZDLUNENTAwIChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTgzOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5FWC0zTiAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBORVgtNjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otQTcyNi9OV1otQTcyOC9OV1otQTc2ODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otQTgxNS9OV1otQTgxODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4NTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otQTgyNi9OV1otQTgyOC9OV1otQTgyOTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDI4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTldaLUE4NDU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTldaLUIxMzU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTg0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTldaLUIxNDJGPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otQjE1M0Y8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTQzNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1CMTYzRjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjczIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTldaLUIxNzNGPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEwMjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otRTM0NC9FMzQ1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMjciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otRTM1NDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5MDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otRTQzNkY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTAyMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1FNDQ1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otRTQ2NDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otUzUxNjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMDIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTldaLVM1NDU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODA3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTldaLVM2MTVGL05XWi1TNjE2Ri9OV1otUzYxOEY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iOTEwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTldaLVM2MzhGPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg1OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1TNzE2RjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5MDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otUzczOUY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIyOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1TNzU0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otUzc2NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5MDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otVzIwMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjExIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgTldaLVcyNTJCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjkxOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IE5XWi1YMTA1MEIvTldaLVgxMDYwQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5MjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBOV1otWDEwNTEvTldaLVgxMDYxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijc4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgUFRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExOTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBTTFQtQTM1IChQVFAgbW9kZSk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODAxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgU0xULUEzNTAgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTg3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgU0xULUE1NSAoUFRQIG1vZGUpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NDEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBTTFQtQTU3PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE4NDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBTTFQtQTU4PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE4NDciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnB0cDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBTTFQtQTU4IChDb250cm9sKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzk2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgU0xULUE2NVYgKFBUUCBtb2RlKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzU2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wdHA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnkgU0xULUE5OXY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTTy0wM0QgWHBlcmlhIEFjcm8gSEQgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTMzNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFNPLTAzRCBYcGVyaWEgQWNybyBIRCBNVFArVU1TPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ1NDMwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgU08tMDNEIFhwZXJpYSBBY3JvIE1UUCtVTVMrQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM4NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFNPLTA1RCBYcGVyaWEgU1ggTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODY1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgU08tMDVEIFhwZXJpYSBTWCBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzY5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgU08tMDVEIFhwZXJpYSBTWCBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM1NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255IFNvbnkgVGFibGV0IFAxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBTb255IFRhYmxldCBTPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE0NjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueSBTb255IFRhYmxldCBTMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTVDE1aSBYcGVyaWEgVSBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgU1QyMWkgWHBlcmlhIFRpcG8gTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODQ4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgU1QyMWkgWHBlcmlhIFRpcG8gTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFNUMjFpIFhwZXJpYSBUaXBvIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzODQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTVDIzaSBYcGVyaWEgTWlybyBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTVDIzaSBYcGVyaWEgTWlybyBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2NzY4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgU1QyM2kgWHBlcmlhIE1pcm8gTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODQ5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgU1QyNWkgWHBlcmlhIFUgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc1MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFNUMjVpIFhwZXJpYSBVIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzODIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTVDI3aS9TVDI3YSBYcGVyaWEgZ28gTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODYyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgU1QyN2kvU1QyN2EgWHBlcmlhIGdvIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3NjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTVDI3aS9TVDI3YSBYcGVyaWEgZ28gTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxMzQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgU1QyN2kvU1QyN2EgWHBlcmlhIGdvIE1UUCtVTVM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDU0MzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBTVDI3aS9TVDI3YSBYcGVyaWEgZ28gTVRQK1VNUytBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgV1QxOWkgTGl2ZSBXYWxrbWFuIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgQSBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4ODgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgQSBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQxOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBDIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg5OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBDIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY4MDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgQyBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzk2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIEUgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIEUgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc4MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBFIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgRTMgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwOTI0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIEUzIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDQ0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIEUzIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYUGVyaWEgRTRnIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDkzOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhQZXJpYSBFNGcgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjg0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhQZXJpYSBFNGcgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM5MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBKIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg3MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBKIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3NzYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgSiBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDAyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIEwgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODgyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIEwgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc4NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBMIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgTSBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4OTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgTSBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Nzk1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIE0gTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBNMiBEdWFsIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDkwNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBNMiBEdWFsIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY4MTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgTTIgRHVhbCBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDI2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIE0yIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDkwNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBNMiBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2ODEwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIE0yIE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgU1AgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODg1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFNQIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3ODkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgU1AgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM5NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBUYWJsZXQgWiBNVFAgMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgVGFibGV0IFogTVRQIDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NzciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgVGFibGV0IFogTVRQK0FEQiAxPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODg0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFRhYmxldCBaIE1UUCtBREIgMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc4MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBUYWJsZXQgWiBNVFArQ0RST00gMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc4OCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBUYWJsZXQgWiBNVFArQ0RST00gMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWiBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4ODMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWiBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Nzg3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFogTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQzOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaIFVsdHJhIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWiBVbHRyYSBNVFAgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDEyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFogVWx0cmEgTVRQIChJRDMpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwOTE4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFogVWx0cmEgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg4NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaIFVsdHJhIE1UUCtBREIgKElEMik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4OTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWiBVbHRyYSBNVFArQURCIChJRDMpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2Nzk2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFogVWx0cmEgTVRQK0NEUk9NIChJRDMpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQyMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaMSBDb21wYWN0IEQ1NTAzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE2ODA3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFoxIENvbXBhY3QgRDU1MDMgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwOTAzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFoxIENvbXBhY3QgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWjEgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODk0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFoxIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3OTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWjEgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQzMSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaMiBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA5MTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWjIgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjgxNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaMiBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDQzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFozIENvbXBhY3QgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwOTIzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFozIENvbXBhY3QgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjgyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaMyBDb21wYWN0IE1UUCtDRFJPTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NDIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWjMgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwOTIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFozIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY4MjYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWjMgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM5MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaTCBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4NzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U09OWSBYcGVyaWEgWkwgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjc3NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaTCBNVFArQ0RST008L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDA3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNPTlkgWHBlcmlhIFpSIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDg4NyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TT05ZIFhwZXJpYSBaUiBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gYzE2MDUgWHBlcmlhIER1YWwgRSBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4MDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIGMxNjA1IFhwZXJpYSBEdWFsIEUgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIEM3MDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjEyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBDOTAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIzOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gQzkwNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIElTMTJTIFhwZXJpYSBBY3JvIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDgyMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gSVMxMlMgWHBlcmlhIEFjcm8gTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjcyNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gSVMxMlMgWHBlcmlhIEFjcm8gTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMzNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gajEwOGkgKENlZGFyKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MzU3MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gajEwaSAoRWxtKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIGoxMGkyIChFbG0pPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU3MzQ0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBLNTUwaTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMTciPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIEs4NTBpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODE1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBMVDE1aSBYcGVyaWEgQXJjIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzM1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBMVDE1aSBYcGVyaWEgYXJjIFMgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gTUsxNmkgWHBlcmlhIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDgyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gTUsxNmkgWHBlcmlhIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzQyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBNVDExaSBYcGVyaWEgTmVvIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDgyMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gTVQxMWkgWHBlcmlhIE5lbyBNVFArQURCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM0OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gUjgwMC9SODhpIFhwZXJpYSBQbGF5IE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDgyOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gUjgwMC9SODhpIFhwZXJpYSBQbGF5IE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzU4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBTSzE3aSBYcGVyaWEgTWluaSBQcm8gTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODM4Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBTSzE3aSBYcGVyaWEgTWluaSBQcm8gTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNTkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFNUMTVpIFhwZXJpYSBNaW5pIE1UUDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMDgzOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gU1QxNWkgWHBlcmlhIE1pbmkgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjAiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFNUMTdpIFhwZXJpYSBBY3RpdmUgTVRQPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODQwIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBTVDE3aSBYcGVyaWEgQWN0aXZlIE1UUCtBREI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTY3NDQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFNUMTdpIFhwZXJpYSBBY3RpdmUgTVRQK0NEUk9NPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM1MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gU1QxOGEgWHBlcmlhIFJheSBNVFA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA4MzMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFNUMThpIFhwZXJpYSBSYXkgTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFQ3MDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzA3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBVNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFU4aTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0Mjk2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBXMzAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gVzU5NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFc3MDUvVzcxNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxOTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFc3NjBpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE3OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gVzg5MGk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjQ1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBXOTAyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjExOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb255RXJpY3Nzb24gVzkxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0MDQ2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMTgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U29ueUVyaWNzc29uIFc5ODA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNDA0NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjc0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBXOTk1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjQwNDYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIwODQ1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNvbnlFcmljc3NvbiBXVDE5aSBMaXZlIFdhbGttYW4gTVRQK0FEQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Tb3VuZHN0YXIgVERDLTM1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNweVBlbiBBeHlzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNweVBlbiBDbGVvPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNweVBlbiBMdXhvPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNweVBlbiBNZW1vPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEzNjMiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjUxNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNweVBlbiBYaW9uPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzE1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlNRIGNoaXAgY2FtZXJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzMjkiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlN0YXJDYW0gQ1AwODY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U1RNIFVTQiBEdWFsLW1vZGUgY2FtZXJhPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNjk1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlN0b3AgJmFtcDsgU2hvcCA4NzA5NjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMzYzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1MTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5TVFYwNjgwPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDk2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzNzE4MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlN1cHJlbWEgRGlnaXRhbCBLZXljaGFpbiBDYW1lcmE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+U1ktMjEwN0M8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTEwNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTM1MTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VENMIEFsY2F0ZWwgb25lIHRvdWNoIDk4Nis8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNTA3MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjg2OTUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VGVjaG5pa2EgTVAtNzA5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI3MjYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzA1Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRldmlvbiBNRCA4MTQ4ODwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjkxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMjM0MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5UaG9tc29uIC8gUkNBIEx5cmEgSEMzMDhBPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2OTEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5MTEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VGhvbXNvbiAvIFJDQSBPcGFsIC8gTHlyYSBNQzQwMDI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY5MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTkwOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5UaG9tc29uIEVNMjggU2VyaWVzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2OTEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjE5MTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VGhvbXNvbiBMeXJhIE1DNTEwNEIgKE01MSBTZXJpZXMpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjE2OTEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEyMzE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRob21zb24gUkNBIEgxMDY8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTY5MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIzMjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VGhvbXNvbiBzY2VuaXVtIEUzMDg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjU2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VGlnZXIgRmFzdCBGbGlja3M8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VGltbGV4IENQMDc1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjUwMDgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIxNTg5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvbVRvbSBSaWRlciA0MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0NTcxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDk2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VG9wZmllbGQgVEY1MDAwUFZSPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0MDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VG9zaGliYSBFeGNpdGUgQVQzMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM1MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTIiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VG9zaGliYSBHaWdhYmVhdDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI5Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgR2lnYWJlYXQgTUVHRi00MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyOSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ub3NoaWJhIEdpZ2FiZWF0IE1FVDQwMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ub3NoaWJhIEdpZ2FiZWF0IE1FVTIwMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ub3NoaWJhIEdpZ2FiZWF0IE1FVTIwMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ub3NoaWJhIEdpZ2FiZWF0IFAxMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ub3NoaWJhIEdpZ2FiZWF0IFAyMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ub3NoaWJhIEdpZ2FiZWF0IFM8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjM1MiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VG9zaGliYSBHaWdhYmVhdCBUPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNTIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgR2lnYWJlYXQgVTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyMCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ub3NoaWJhIEdpZ2FiZWF0IFYzMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0NDAyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzIwNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgUERSLU0xMTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0NDAyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzIwMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgUERSLU02MDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0NDAyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzIwNSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgUERSLU02MTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI0NDAyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNzIwNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRvc2hpYmEgUERSLU02NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzUyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyODkyOCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5Ub3NoaWJhIFRocml2ZSBBVDEwMC9BVDEwNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxMzA1NiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRyYXZlbGVyIFNYMzMwejwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNDc4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNjY0MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRyYXZlbGVyIFNYNDEwejwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI3Nzg0Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRyZWtTdG9yIGkuQmVhdCBPcmdhbml4IDIuMDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDI2Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNTUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRyZWtTdG9yIGkuQmVhdCBTd2VleiBGTTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNjQ3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMzgzNCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5UcmVrU3RvciBWaWJleiA4LzEyR0I8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMjEyNSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRydXN0IEZhbWlseWNhbSAzMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTc1MCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5UcnVzdCBQb3dlckNAbSAzNTBGUzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxNzUwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRydXN0IFBvd2VyQ0BtIDM1MEZUPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIyNTAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlRydXN0IFNweWNAbSAxMDA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTI3NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMjA1NTQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5UcnVzdCBTcHljQG0gNTAwRiBGTEFTSDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxOTQzIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIzMjc5NCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlR5cGhvb24gU3R5bG9DYW08L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTM2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTE0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VU1BWCBBc3RyYVBlbjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIzNDI4Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0MDk3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VU1BWCBBc3RyYVBpeCAzMjBzPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IuaW50ZXJmYWNlLmNsYXNzIiBpbnQ9IjYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2Uuc3ViY2xhc3MiIGludD0iMSI+CisgICAgIDxtYXRjaCBrZXk9InVzYi5pbnRlcmZhY2UucHJvdG9jb2wiIGludD0iMSI+CisgICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHRwPC9tZXJnZT4KKyAgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VVNCIFBUUCBDbGFzcyBDYW1lcmE8L21lcmdlPgorICAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgIDwvbWF0Y2g+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijg3MTEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+VmFyaW91cyBWaWV3cGlhIERSL2JxIEtlcGxlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI4NzExIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5WYXJpb3VzIFZpZXdwaWEgRFIvYnEgS2VwbGVyIERlYnVnZ2luZzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDMyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIxNDQ4OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5WZXJpem9uIEVsbGlwc2lzIDc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Vml2aUNhbTMzNTA8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwOTYiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTUyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5jYW1lcmE8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPmNhbWVyYTwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj5wcm9wcmlldGFyeTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Vml2aUNhbTVCPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjI0MjUiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU1MSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlZpdml0YXIgRnJlZWxhbmNlPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjIzNjIiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI3MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+Y2FtZXJhPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5jYW1lcmE8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+cHJvcHJpZXRhcnk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlZpdml0YXIgTWluaSBEaWdpdGFsIENhbWVyYTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIyMzYyIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSIyNzEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5WaXZpdGFyIFZpdmljYW0gNTU8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzE0MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI3NzgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5WaXZpdGFyIFZpdmljYW0zMzUwQjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5WaXZpdGFyIFZpdmljYW0zNTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTYxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI1NzYxNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5WaXppbyAoZm9yIExlbm92bykgTElGRVRBQiBTOTcxNDwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMTYxIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0OTE5MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5WaXppbyBVbmtub3duIDE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTE2MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTc0MDgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+Vml6aW8gVlRBQjEwMDg8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTMyOSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODE5MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5XYWNvbSBDaW50aXEgQ29tcGFuaW9uIEh5YnJpZCAoTVRQK0FEQik8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMzE0MSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzI3NjkiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5XaWxkIFBsYW5ldCBEaWdpdGFsIFNweSBDYW1lcmEgNzAxMzc8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNzc2MyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5XeXBsYXkgV3lwbGF5ZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwMDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjQ5NjgiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+WGlhb21pIEhNIE5PVEUgMUxURVcgTUlVSSAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNDY4MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5YaWFvbWkgSG9uZ21pIChNVFApPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI0NjcyIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlhpYW9taSBIb25nbWkgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2MTQ0MyI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5YaWFvbWkgTWktMiAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5MjEiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+WGlhb21pIE1pLTIgKE1UUCtBREIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwMDA3Ij4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI2NTM1MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5YaWFvbWkgTWktMnMgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTAwMDciPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg3MiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5YaWFvbWkgTWktMyAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iODY0Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlhpYW9taSBNaS0zdyAoTVRQKTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDAwNyI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMTYzMiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5YaWFvbWkgTWlQYWQgKE1UUCk8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iODcxMSI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNiI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5ZaUZhbmcgQlEgVGVzbGE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iMTA1MTgiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjM3MTk3Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPllvdGEgUGhvbmUgMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDUxOCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjE0NDMiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+WW90YSBQaG9uZSAyIChJRDIpPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9Ijc4NzEiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjMyNTUzIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPllVIFl1cmVrYSBWb2RhZm9uZSBzbWFydCB0dXJibyA0PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjEwNTQiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjI0NTc2Ij4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlppaUxBQlMgWmlpIEVHRzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSIxMDA5NiI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iMzY5NTYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPmNhbWVyYTwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+Y2FtZXJhPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnByb3ByaWV0YXJ5PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5aSU5BIE1pbmkgRGlnaXRhbCBLZXljaGFpbiBDYW1lcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NjEwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI4MzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+WlRFIEdyYW5kIFggSW48L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjYxMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNjU0ODYiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+WlRFIFY1PC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY2MTAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9IjU4MCI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5aVEUgVjU1IElEIDE8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5zdXBwb3J0IiB0eXBlPSJib29sIj50cnVlPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICAgPC9tYXRjaD4KKyAgIDxtYXRjaCBrZXk9InVzYi52ZW5kb3JfaWQiIGludD0iNjYxMCI+CisgICAgPG1hdGNoIGtleT0idXNiLnByb2R1Y3RfaWQiIGludD0iNTgxIj4KKyAgICAgPG1lcmdlIGtleT0iaW5mby5jYXRlZ29yeSIgdHlwZT0ic3RyaW5nIj5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L21lcmdlPgorICAgICA8YWRkc2V0IGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIHR5cGU9InN0cmxpc3QiPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvYWRkc2V0PgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIuYWNjZXNzX21ldGhvZCIgdHlwZT0ic3RyaW5nIj51c2VyPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLnR5cGUiIHR5cGU9InN0cmluZyI+bXRwPC9tZXJnZT4KKyAgICAgPGFwcGVuZCBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5vdXRwdXRfZm9ybWF0cyIgdHlwZT0ic3RybGlzdCI+YXVkaW8vbXBlZzwvYXBwZW5kPgorICAgICA8bWVyZ2Uga2V5PSJjYW1lcmEubGliZ3Bob3RvMi5uYW1lIiB0eXBlPSJzdHJpbmciPlpURSBWNTUgSUQgMjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NjEwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3NzQiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+WlRFIFY3OTAvQmxhZGUgMzwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICAgPG1hdGNoIGtleT0idXNiLnZlbmRvcl9pZCIgaW50PSI2NjEwIj4KKyAgICA8bWF0Y2gga2V5PSJ1c2IucHJvZHVjdF9pZCIgaW50PSI3NzUiPgorICAgICA8bWVyZ2Uga2V5PSJpbmZvLmNhdGVnb3J5IiB0eXBlPSJzdHJpbmciPnBvcnRhYmxlX2F1ZGlvX3BsYXllcjwvbWVyZ2U+CisgICAgIDxhZGRzZXQga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgdHlwZT0ic3RybGlzdCI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9hZGRzZXQ+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci5hY2Nlc3NfbWV0aG9kIiB0eXBlPSJzdHJpbmciPnVzZXI8L21lcmdlPgorICAgICA8bWVyZ2Uga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIudHlwZSIgdHlwZT0ic3RyaW5nIj5tdHA8L21lcmdlPgorICAgICA8YXBwZW5kIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLm91dHB1dF9mb3JtYXRzIiB0eXBlPSJzdHJsaXN0Ij5hdWRpby9tcGVnPC9hcHBlbmQ+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLm5hbWUiIHR5cGU9InN0cmluZyI+WlRFIFY4ODBFPC9tZXJnZT4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIuc3VwcG9ydCIgdHlwZT0iYm9vbCI+dHJ1ZTwvbWVyZ2U+CisgICAgPC9tYXRjaD4KKyAgIDwvbWF0Y2g+CisgICA8bWF0Y2gga2V5PSJ1c2IudmVuZG9yX2lkIiBpbnQ9IjY2MTAiPgorICAgIDxtYXRjaCBrZXk9InVzYi5wcm9kdWN0X2lkIiBpbnQ9Ijg5OSI+CisgICAgIDxtZXJnZSBrZXk9ImluZm8uY2F0ZWdvcnkiIHR5cGU9InN0cmluZyI+cG9ydGFibGVfYXVkaW9fcGxheWVyPC9tZXJnZT4KKyAgICAgPGFkZHNldCBrZXk9ImluZm8uY2FwYWJpbGl0aWVzIiB0eXBlPSJzdHJsaXN0Ij5wb3J0YWJsZV9hdWRpb19wbGF5ZXI8L2FkZHNldD4KKyAgICAgPG1lcmdlIGtleT0icG9ydGFibGVfYXVkaW9fcGxheWVyLmFjY2Vzc19tZXRob2QiIHR5cGU9InN0cmluZyI+dXNlcjwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9InBvcnRhYmxlX2F1ZGlvX3BsYXllci50eXBlIiB0eXBlPSJzdHJpbmciPm10cDwvbWVyZ2U+CisgICAgIDxhcHBlbmQga2V5PSJwb3J0YWJsZV9hdWRpb19wbGF5ZXIub3V0cHV0X2Zvcm1hdHMiIHR5cGU9InN0cmxpc3QiPmF1ZGlvL21wZWc8L2FwcGVuZD4KKyAgICAgPG1lcmdlIGtleT0iY2FtZXJhLmxpYmdwaG90bzIubmFtZSIgdHlwZT0ic3RyaW5nIj5aVEUgVjk4NTwvbWVyZ2U+CisgICAgIDxtZXJnZSBrZXk9ImNhbWVyYS5saWJncGhvdG8yLnN1cHBvcnQiIHR5cGU9ImJvb2wiPnRydWU8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICA8L21hdGNoPgorICA8L21hdGNoPgorIDwvZGV2aWNlPgorPC9kZXZpY2VpbmZvPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9saWJncGhvdG8yLTIuNS44LzQwLWxpYmdwaG90bzIucnVsZXMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2xpYmdwaG90bzItMi41LjgvNDAtbGliZ3Bob3RvMi5ydWxlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOWYwNDM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9saWJncGhvdG8yLTIuNS44LzQwLWxpYmdwaG90bzIucnVsZXMKQEAgLTAsMCArMSwxOTU1IEBACisjIHVkZXYgcnVsZXMgZmlsZSBmb3IgbGliZ3Bob3RvMiBkZXZpY2VzIChmb3IgdWRldiAwLjk4IHZlcnNpb24pCisjIENyZWF0ZWQgZnJvbSB0aGlzIGxpYnJhcnk6CisjICAgbGliZ3Bob3RvMiAgICAgIDIuNS44ICAgICAgICAgIGFsbCBjYW1saWJzLCBnY2MsIGx0ZGwsIG5vIEVYSUYKKyMgICBsaWJncGhvdG8yX3BvcnQgMC4xMi4wICAgICAgICAgZ2NjLCBsdGRsLCBubyBVU0IsIHNlcmlhbCB3aXRob3V0IGxvY2tpbmcKKyMKKyMgdGhpcyBmaWxlIGlzIGF1dG9nZW5lcmF0ZWQsIGxvY2FsIGNoYW5nZXMgd2lsbCBiZSBMT1NUIG9uIHVwZ3JhZGVzCitBQ1RJT04hPSJhZGQiLCBHT1RPPSJsaWJncGhvdG8yX3J1bGVzX2VuZCIKK1NVQlNZU1RFTSE9InVzYnx1c2JfZGV2aWNlIiwgR09UTz0ibGliZ3Bob3RvMl91c2JfZW5kIgorCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjMzYzMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzNjNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzNjQzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjM1M2MiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzYyZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzNTg2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjMzNDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzM0OSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMzRhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjMzZDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzM3YyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMzdkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjMzY2IiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzMyNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMzQxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjMzNDQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzM0NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMzg5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjMzOGEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzM3OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzNTE0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjM1YTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzY0NCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzNzI1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjM2MDkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzQ3MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzNTVmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjM2NTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzNhYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzNWU0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjM2MWQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE2ZDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODAwNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTZkNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI4MDA1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNmJkIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNmJkIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MDQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGZjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwNGIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGZjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwNGEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOGNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGZjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwNGEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGZjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwNGIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxYmJiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNjgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFiYmIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjAwOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWJiYiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYzAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxYmJiIiwgQVRUUlN7aWRQcm9kdWN0fT09ImEwMGUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFiYmIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iZjAwMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWJiYiIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDRkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxYmJiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNjciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5NDkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDgwMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTk0OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDA3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOTQ5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5NDkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTk0OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDBjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOTQ5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5NDkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTk0OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDBkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOTQ5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5NDkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDBmMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjlhIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMmFiIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjkwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjkyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjk0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjk3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMmEwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMmE4IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjkxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjkzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjk5IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDA4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwMDkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDAwMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxNTI4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjE1MjkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTUzOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxNTM4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjE0YjkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTU0OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjBhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzMWQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTIwYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzAxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzMDMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMxMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZjMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMzMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzMzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMjkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMwNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMDA4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzNTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTM1MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzA5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzMGIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMxMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzE1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzMzUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMwZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzBmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzMTkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTRlZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxNTY4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjE1NjkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTRiZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxNTE4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjE1MDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTUwOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxNGFkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjE0OWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTQ2YiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxNDVlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjE0NTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzFhYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjA3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzNDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlNzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMxYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjA4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxM2MiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkwNWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjVhMGYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGNlMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0Y2UxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxNGYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzc3MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NDBmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjU0MWYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTUwZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NTAwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjRjZDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGNkMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MjFmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUyMGYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGNjMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0Y2MxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjU0NjAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTQ2OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NDAwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjU0MTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTQxMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NDY2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc3NzIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTUwNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NTYxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUyMDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTIwMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MjEwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUyMTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTIxNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MjIwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUyMjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTIzMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MjMxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjRlMDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGUwMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0ZTBmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjRlMWYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGQwMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0ZDAxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjRjODAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGM4MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0YzkwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjRjOTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGNhMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0Y2ExIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjU2MWYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNWYwMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1ODBmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjU4MWYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTQ4MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NDgxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjA1IiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc3ODEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTQ5MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGIwNSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NDkxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkwNTEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMDgwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIwODAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRhNSIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMDAzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWQ0NSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0NTlkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyYTQ3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjdmMTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjJhNDciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjAwOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMmE0NyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYzAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNDciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxYzIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxYmQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZjMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNjgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNGQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNjYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNzUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYmEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYjQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZmUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZjIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxODQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMzYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMTUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxYzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNGIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNWYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNzMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxOTMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxYzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNzIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYjYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZjQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNTIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNjUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZWUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNmEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwODgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwODciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYTUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxN2IiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwODMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYmMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMTciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyN2YiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZWEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNDciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwODQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMTMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZWYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZWUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZWUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNDYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNDUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxY2YiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxOWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZWEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMDEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxOTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyM2EiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMTgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMTUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyM2IiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNzIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNTMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxOWEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNDQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwODQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwODQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZWUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNDUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxY2YiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyM2QiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyOTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxY2YiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNDUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNDEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyYTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMjUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxOTMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNDYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNGIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNmIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwN2MiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwN2EiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwODEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwODAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNmIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOGQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwODIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwN2YiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwODAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNmIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMDUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxOGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxYzMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyM2UiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNjQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNjIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxOTEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxYmUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMmEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNGEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNDkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNjIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNzYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZjIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYjgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNTgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZjkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZjgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNTUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNDkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxN2EiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxYmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZWYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYzIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMjYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNGQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNGMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNzciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNzYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZmQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZmMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxM2EiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMzkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNzMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMTciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMzgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNWQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYjUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOWEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMjYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyM2YiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYjkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYmIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxYmMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyODgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyODkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNDgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMzMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxOGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNTgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNTUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNmUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwODUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYjMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMjUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNWEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNDkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNDEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMzYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNDUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNTEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNzUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNjUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMWEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNTciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNGMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNjYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNzUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYmEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNmMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNmQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNDgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNzciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYjQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYjIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZmEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMTIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwOWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNzIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYjYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxODQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxYzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZjQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwYzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMzciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZjIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwZmUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNzUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxYzIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNGIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxOTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxMTUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxYzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxOTMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxOGQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxNWUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxOTIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMTEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNWEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNzYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxYzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZjYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMmMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMjgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNDUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNDQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNWYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMzgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyNzciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyOWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxZWEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyMTciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMyM2IiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwNzgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2NmIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwNDkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2NmIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwNDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2NmIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwNGQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2NmIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwNGMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwN2NmIiwgQVRUUlN7aWRQcm9kdWN0fT09IjExN2EiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTVmIiwgQVRUUlN7aWRQcm9kdWN0fT09ImMyMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGI3IiwgQVRUUlN7aWRQcm9kdWN0fT09Ijg4YTkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTAwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3OTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iODAwMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFlNzQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjUxMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDA1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZDk2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2U4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjIxODIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2U4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjIxODAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA5NTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDcxMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNzUxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA5MTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDk0MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwODAxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA4NzEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDg5MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwODYxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA4ODEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDkyMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOTAxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZTIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA3MDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBlMjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDc2MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGUyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOTMxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQwMTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQwMDciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQwMGEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQwMTIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQwMGIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQwMTMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMjMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE1NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTMwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxM2MiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEzMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTYxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMzciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEzZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTMxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxNTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE1OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTUyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMWYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE1MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTNlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxNTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE2MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTY5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMjgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwNmMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzIxNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDg0ZCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDAzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGQ2NCIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDNlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMTMwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDVjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGM0NSIsIEFUVFJTe2lkUHJvZHVjdH09PSI4MDAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTMyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMmYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxM2MiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYjEwYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEzYyIsIEFUVFJTe2lkUHJvZHVjdH09PSJiMTFhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTNjIiwgQVRUUlN7aWRQcm9kdWN0fT09ImIxMWIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxM2MiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDUwMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDVjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWYzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYzAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMTgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMTgzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYWE2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjYwMjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1MiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwZDYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIwMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTBlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTBmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNDAzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNDAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjk3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMDA4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyOTcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjBjMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ODIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDAwMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDZkMyIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMWJhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZGNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZGNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNGEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYzYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOTMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYzUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZDQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZmEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMmQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyNzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyNTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZGQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZGIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZWYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZTgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyNDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyN2QiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyNjUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyOTgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZDciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyOWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMzMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyNmUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyNjMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyYTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyODgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZDgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMGQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZmUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyYjUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGNiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYzMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGM1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjExNDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0YzUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMzYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyNTg1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTE5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjcwMDUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDBkIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijg4NWMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MTQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjAwOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYzAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0ZTQxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjRlNDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGUwZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0ZDAwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjJkMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQwYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSJkMTBhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGQxIiwgQVRUUlN7aWRQcm9kdWN0fT09ImQxMDkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNGVlMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0ZWUyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGQxIiwgQVRUUlN7aWRQcm9kdWN0fT09ImIwMGEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzBhOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0ZTI1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjRlMjYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE4ZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDViMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMThkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MTAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjRlZTUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI2NzIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAxMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3OTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iODAxYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEzMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTAxNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTMwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDE3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjdlMWQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjAzZjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNWQxZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDNmMCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1YzFkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDliIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxMDYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwOWIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEwOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTA5YiIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTA1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjY1MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjYyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjdjMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjdkMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjYzMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjY2MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc4MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjcyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjZlMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc5MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjZkMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjYzMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjY4MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjcxMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjZiMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjY0MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc2MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjY3MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjZjMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjZhMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc3MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjdlMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQzMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQ0MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQ1MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjYwMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSJmMDAzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjYwMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjhiMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjhjMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc1MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjdiMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjczMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjdhMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjgwMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjgxMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjgyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjliMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijg0MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijg1MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijk2MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijk3MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijg3MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwM2YwIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijg4MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY4NWMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjg2MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYzAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwMDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGVjNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZWJkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBkZmYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGM5MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwY2E4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBkZmUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGRlNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWZkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBkZDUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGUzMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZTMyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBkZjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDdhZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZGRhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBmOTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGY2NCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZjYzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBmODciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGY1ZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZjYwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBkZWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGRkMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwN2NhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBmMjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDYxYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZmI0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBmYjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDdjYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwN2Q5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBjZWMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGRmOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZGY5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBkZmEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGRmYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwZGZjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBkZmQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDdkOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMDEyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MGIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGRjZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGJiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSJmMGNhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYmI0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBiYTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiYjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGJhMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTJkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDgyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMmQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjM2MGYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEyZDEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzYxZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTJkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDUxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMmQxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwNTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTE1MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ODkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYzAyNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTBlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTlmZiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzAzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOWZmIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMDkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5ZmYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMwNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iODA4NyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYTVmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI4MDg3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjBhMTUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjgwODciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGExNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iODA4NiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNjMwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iODA4NyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYTVlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI4MDg3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjA5ZmIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5M2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTEyYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTI2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjExNDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTE0MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTUyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjExNjciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTE1MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMTAxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIxMDUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjEwMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTAwNiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMDA0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTEyMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTAwNiIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MDAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQwMDMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTE0NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTEzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjExMjAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTExNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTE1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjExMTQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTExOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTE5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSI0MTAyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjExNTMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTEzNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTA0MiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTQzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxZTY4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjQxMDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTExNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iNDEwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTMyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYjIwIiwgQVRUUlN7aWRQcm9kdWN0fT09ImRkZWUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NzkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkOTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzMwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkOTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1ZGEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTAwNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkOTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI5MzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGEwMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjkzMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYTA1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGYxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjYxMDUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA4NGUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBiMjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTAwYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjIzNyIsIEFUVFJTe2lkUHJvZHVjdH09PSJkMTA4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMjM3IiwgQVRUUlN7aWRQcm9kdWN0fT09ImQxMDkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyMzciLCBBVFRSU3tpZFByb2R1Y3R9PT0iYjEwOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNjE3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNjBiIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTdlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNThhIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNThjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNThkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTg5IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWFhIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTlhIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWEyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWJhIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWE3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWFmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWFlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWMzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWE5IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWM2IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTljIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTYwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTYwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTM1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTY2IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTY2IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTczIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTcxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTg0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTc5IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTc4IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTc4IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTdhIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTdiIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTg2IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTdjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTEwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTExIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTMwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTEyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTMyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTYwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTMxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTI1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTEwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTMwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTcwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTU1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTc2IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTUwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTcwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTcyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTc1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTdkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTdmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTc3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTQwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTY4IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTY5IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTY1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTY3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWNlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNjAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTlmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWMxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWFkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTg1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNDAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTkyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTkzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNThlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNThmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTkxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWEwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWFjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWFiIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWI4IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTlkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTllIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTg3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWIzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWI0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTgwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTg4IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNDAzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWI1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTk1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWNmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWNkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWMwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRjOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNzIyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTMyYiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDAxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTMyYiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDE5IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTMyYiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDA5IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTMyYiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDA3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTMyYiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDE4IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTMyYiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDIyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWYzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDA2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDgyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA5NzkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ODIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDgxMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ4MiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTcxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDgyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1MSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZGEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjM3NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFhOTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzczNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NzJiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0OTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzViYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NWJlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc1NDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzU3ZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NmU4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0MGEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzg4MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NWI1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc3NWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzRjYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYzAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0OTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzRhNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NGY4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc3MTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQxYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NmYyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxN2VmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc3ZWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzZmZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTdlZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI3N2IxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjYxZjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjFmOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2MjdmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjYyNmUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjExYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2MDhmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjYxMzIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjMzZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2MjM5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjYyM2QiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjIxYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2MjI1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjYxOWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0M2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzA0MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQzZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MGIxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjYzMWMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwMDQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjI2NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTAwNCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2MDEwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMDA0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjYwMDUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZDk2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxM2QxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjcwMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NmQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDkwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NmQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDk1MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkOTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkOTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzMwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZmMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA0YiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA2NmYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODQ2YyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkxOSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGU4ZCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDUwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDA4IiwgQVRUUlN7aWRQcm9kdWN0fT09ImIwMGEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE3ZWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQ4MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRmYyIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDRhIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGQ5NiIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjA1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGQ5NiIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDY2ZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI4NTUwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNjZmIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijg1ODgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MDgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYjAwOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTI3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMDEyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMDFlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQyYWIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjJhNDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjAwOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMmE0NSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwYzAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxMGQ2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjIzMDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkYjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTU3MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ1ZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNjQwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDVlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MjIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRlYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ1ZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNzEwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDVlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2M2UiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NWUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iZjBjYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ1ZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMGM5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDVlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2NDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBjNDUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODAwOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA4NGQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjBjYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MDg4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY0Y2YiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMmUzMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIyZTMzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjJlNjciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMmVhNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIyZWE4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjJlNjgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDFkNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MWRhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQyYTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDM3ZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MzczIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQ4MTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDFkYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MGNhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjJlNzYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMmU4MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIyZTg0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjJlNjIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMmU2MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIyZTY2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY0MTMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjRiNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2NGI2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjJlNTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMmU1MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2NDE1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjJhNjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzBhMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MGE4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjcwYTkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDMxMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MzA2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxY2YiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyYjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzEwZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJiOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MTBlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmI4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQzNjIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKKyMgbm90IHdvcmtpbmcgeWV0OiBQUk9HUkFNPSJjaGVjay1tdHAtZGV2aWNlIiwgLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYzIwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYTM1MCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYzIyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYzQyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NWYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYzUyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBhYTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTYwMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwOSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzI2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDA5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MzIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MDkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI0MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQwMiIsIEFUVFJTe2lkUHJvZHVjdH09PSI1NjY4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkwNWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMjIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMjMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMWQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMmQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMjkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMmUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMzUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMzkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMzciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMWYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOTEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxODgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMGIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMDkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxN2UiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNWYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxODUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMTUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMTgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMTciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMjQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzNDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMDUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOTIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxN2QiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMGMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNjkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxODQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNjMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMTEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxN2YiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOGIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNmIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNmMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNzMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMzciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzNDYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNzciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNzgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMmQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzM2YiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMWIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMmEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNDQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMjkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNWQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMWUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNTciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMWYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxODYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOTMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzNGIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MDQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MGMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MDgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MGEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MWEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MjQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MjUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MjciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MmMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MzMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MjYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MmIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MTQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MTgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MzUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MjMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MjkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MzEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MWUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MmQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MzQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MDYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MjIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MjgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MzciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MTIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MmEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MmUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MzYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MDUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MDkiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MDYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MDEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MDQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGZjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwNGEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTc5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyYzEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA2NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDVmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0NjIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFlZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjA5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0YmUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDJlMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNGJhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNmMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDBlYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNDdlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMjkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRiNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTU0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNTUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE1OSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDJlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwOTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA4ZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDNjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyOTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDVkMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTkyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzYzEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDNjZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMWNmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMmYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3OSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMGU1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMzQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMzNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMGU0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIyMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNmZjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2NjYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDY2MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNTI0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0ODgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0ZDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRlMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDc5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxODYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDJmZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0ZjEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDc0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwOTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDUxYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNDg1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0NzgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRlNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNGVmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNmUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDNkMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDM5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxZjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDI2YiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQyMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMWY0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDIxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyNzQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MjEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDZlOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTcwMyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDAxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxNzAzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NTUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzBhOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk1NSIsIEFUVFJTe2lkUHJvZHVjdH09PSJiNDAwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTU1IiwgQVRUUlN7aWRQcm9kdWN0fT09ImNmMDciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5NTUiLCBBVFRSU3tpZFByb2R1Y3R9PT0iY2YwMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk1NSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MTAwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTU1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjcxMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFlNTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTE0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTE0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTE0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTE0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTE0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTE0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTEwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTJmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTJmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTE2IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTE0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTEzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTJmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTE0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTE0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTE2IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTE2IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjJkOSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyNzY1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMmQ5IiwgQVRUUlN7aWRQcm9kdWN0fT09IjI3NzQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyZDkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjc3MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkxOSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkxOSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMzc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMzc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMzc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMzc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMzc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMzc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMzc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMzc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMzc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMzc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMzc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMzc0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMTQ1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGRhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIxNTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEwNmMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iZjAwMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMWQ0ZCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDM2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxZDRkIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwMzUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFkNGQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA0YSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjVmYiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTY1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGExNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDBkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGExNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMGY3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGFhNiIsIEFUVFJTe2lkUHJvZHVjdH09PSI5NzAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwN2MiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjBiOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMTM4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjA3NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMDhlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwMDQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDg1NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwODRlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE0ZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMDc1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwN2IiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjBiNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMGU1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNGQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE0YyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMWViIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNGIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTkwYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTBlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMTkwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjdlMDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ3MSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTY0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDcxIiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwMjIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDhlNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTQyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDhlNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTQ4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkwNWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkxMjAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzg0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjI4ODgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTQ2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjIwMzUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NDYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMGRhZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5M2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI5ZTQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTIwMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjllNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMTAzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzg0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUzMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGZjIiwgQVRUUlN7aWRQcm9kdWN0fT09ImZmZmYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWM2IiwgQVRUUlN7aWRQcm9kdWN0fT09Ijg4MDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1YzYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iZjAwMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjNiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWM2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMxOTYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1YzYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjc2NCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjNiIsIEFUVFJTe2lkUHJvZHVjdH09PSI2NzY1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNWM2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjkwMzkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1YzYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTAyNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU1MyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGRjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDA0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4NCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjcxNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjYwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyNjgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIwYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIwMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIwNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIwOCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIwYyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyNSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIxNCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIwZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIxMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyYiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIxMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIxNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyZiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIxNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIxYSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMzZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIwZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iODAwNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjBmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDVjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMjBmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTNkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTNkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTNkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGM0NSIsIEFUVFJTe2lkUHJvZHVjdH09PSI4MDAzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGM0NSIsIEFUVFJTe2lkUHJvZHVjdH09PSI4MDAzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGM0NSIsIEFUVFJTe2lkUHJvZHVjdH09PSI4MDAzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTBlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTBmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDVjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTBmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2ODY2IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2NzI3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY4NjAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjg1YyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2ODc3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY3NTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjhhZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSJlMjBjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY4MTkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRhNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI0ZjFmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY3MzQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjY0MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIxNDBjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMzg0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2ODRhIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2NzYzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjY3MDkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNjhhOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI2NzAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwMmUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTAxZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDIyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwMmYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTAyNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1YTBmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwMzMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDQwOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDU3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwODEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA1YSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTE4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwODMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTExYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTE1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxMWQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTEzMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTI1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxMGYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTEyZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDkxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwOGIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA4YSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDQ3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwN2YiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTA1NCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MDdkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwOTMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZTgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTEyMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRlOCIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTM3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGU4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwM2MiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQxMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NDUwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzgxIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0NTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQzMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NDM0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzgxIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0ZTQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzRkMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NDgwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzgxIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0MjAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQyMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NDYwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzgxIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0YzAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzRjMiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NGUwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzgxIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0MDEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3ODEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNzQwMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDc4MSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3NDMwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzgxIiwgQVRUUlN7aWRQcm9kdWN0fT09Ijc0YjAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NzQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIzMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3OTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iODkwMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3OTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iODkwOSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA3OTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iODkxMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA4NGQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTAwMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM1MyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMjIwZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1Y2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ZGQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTY2MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDRkZCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5NmNhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDg5IiwgQVRUUlN7aWRQcm9kdWN0fT09ImMwMjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5M2EiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA2NmYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYTAxMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGM3NyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDExIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGM3NyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDE1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGM3NyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGM3NyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDEwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGQ2NCIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDAxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGM3NyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDAxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMThmNiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOGY2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBkOTYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzMwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFiZGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iZmFiZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGRjYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDAyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGVjNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDA4IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNzRlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwN2M2IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOTU3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOGU3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOTRlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOGI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOTUzIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOTRkIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOTU0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOGUyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjk0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyYzAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyZTciLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1NDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2MWYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2ZWUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0OTEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA4YWQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1MmIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1MmEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA3NGIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyOTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyOTYiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzNDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyZjgiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1M2MiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNGUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxNzUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYTE3NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSJiMTc1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNzIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE3MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTcyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxODYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE4NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTg2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNjkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE2OSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTY5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNzUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE3NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTc2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxNzYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTc3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxNzciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYTE3NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSJiMTc3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNzgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE3OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTc4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxODIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE4MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTgyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNzMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE3MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTczIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09ImExNzMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYjE3MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDRlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDRlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNzJmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNjc4IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzVjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMjUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM1YiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNDA0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzNmUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDNkOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNGJlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1OWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDY4OSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwM2ZjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0Y2IiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM4NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwM2ZkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YTYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwM2ZlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzMjciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM4ZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzVhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzOGMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRjYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWE4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzODgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRiYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzk3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzOTgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA0ZSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRhNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMyMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRhMyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDY2OSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDczNiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDczNyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDU3NCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDY3NSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE3NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSJhMTc2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09ImIxNzYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTgxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxODEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NGMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDRkMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDU0YyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNWIzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTRjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA1YjQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTcwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxNzAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE3MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTgwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxODAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE4MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTcxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxNzEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE3ZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTdlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxN2UiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iYTE3ZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSJiMTdlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNmQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTk4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYTMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTFhMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MWEzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOGMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE4YyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MThjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYmMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTFiYyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMWJjIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxY2IiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTFjYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MWNiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxODgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE4OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTg4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOTIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE5MiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTkyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOWIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE5YiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTliIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYWIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTFhYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MWFiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTFhYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MWFhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOTUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE5NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTk1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOGQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5NCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MThkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxOTQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE4ZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTk0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxOTMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE5MyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MTkzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxYjYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTljIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxYjYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE5NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTljIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxOWMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFhNyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MWE3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxYTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5ZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTllIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxOWUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFhZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MWFmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxYWYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFiYiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MWJiIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxYmIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDFiYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MWJhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxYmEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE4OSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTg5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxODkiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE5NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTk3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNDYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE0NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMGQ5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwZDQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDBlZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTU3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxNTciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNDE1NyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTRlIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09ImQxNDQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE0NCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSJlMDAwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNzUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE0ZiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTRmIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE1YSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTU2IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxNTYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE1ZCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTVkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxNjYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTE2NiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTY3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxNjciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTY4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxNjgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2MSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI1MTYxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwZmIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEzMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTNhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwYzgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDBmMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTA1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwYzYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDBiMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMGY1IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwNzYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjBmY2UiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDBkYSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGZjZSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTEyIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZmNlIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUxNmQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTA1YyIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEzZCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3NzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iOTEyMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0NTEiLCBBVFRSU3tpZFByb2R1Y3R9PT0iZDEwOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTNkMSIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MDE3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYWE2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwMTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA2OWIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzAzNSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDY5YiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwNzc3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNjliIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA3NzQiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA2OWIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDc3YyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDY5YiIsIEFUVFJTe2lkUHJvZHVjdH09PSIzMDFhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNjliIiwgQVRUUlN7aWRQcm9kdWN0fT09IjMwMjgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MTkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwMCIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA1NTMiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDIwMiIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjEzOTAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iNTQ1NSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTFkYiIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMDAwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwOTYzIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTMwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMGMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDFkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTMwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMWEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAxOCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDExIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTMwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMGYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAxMCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDE5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOTMwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMTYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA5MzAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAxNCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTEzMiIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MzM3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTEzMiIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MzMyIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTEzMiIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MzM1IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTEzMiIsIEFUVFJTe2lkUHJvZHVjdH09PSI0MzM0IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzMCIsIEFUVFJTe2lkUHJvZHVjdH09PSI3MTAwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZDk2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMzMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZDk2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjQxMDAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxZTY4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDIiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDYxMSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDY2ZiIsIEFUVFJTe2lkUHJvZHVjdH09PSI4NDJhIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwODRkIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNmQ2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMmUiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNmQ2IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMmQiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwOGNhIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTAiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNGZjIiwgQVRUUlN7aWRQcm9kdWN0fT09IjUwNGEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNzk3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjgwMWEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyMDIiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwZDY0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEwMDEiLCBNT0RFPSJsMzYiCitQUk9HUkFNPSJjaGVjay1wdHAtY2FtZXJhIDA2LzAxLzAxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjIwNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDAxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyMjA3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMTEiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0MDgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzg5OSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTIwIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDk3OSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjI3IiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTBlIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDkzYSIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTBmIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMGM0NSIsIEFUVFJTe2lkUHJvZHVjdH09PSI4MDBhIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjc3MCIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDVjIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQ4OSIsIEFUVFJTe2lkUHJvZHVjdH09PSJlMTExIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwNDg5IiwgQVRUUlN7aWRQcm9kdWN0fT09ImMwMjYiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjA0ODkiLCBBVFRSU3tpZFByb2R1Y3R9PT0iZTA0MCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDUzMSIsIEFUVFJTe2lkUHJvZHVjdH09PSIyMDAxIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIwYzQ1IiwgQVRUUlN7aWRQcm9kdWN0fT09IjgwMDEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxZTUzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDciLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3MTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTM2OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjcxNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIxMjQ4IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEyNDAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3MTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iZjAwMyIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjcxNyIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MDM5IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzE3IiwgQVRUUlN7aWRQcm9kdWN0fT09ImZmNDgiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjI3MTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDM2OCIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjcxNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzYwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjA2NjAiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjIyMDciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMjkxNiIsIEFUVFJTe2lkUHJvZHVjdH09PSI5MTRkIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyOTE2IiwgQVRUUlN7aWRQcm9kdWN0fT09ImYwMDMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjFlYmYiLCBBVFRSU3tpZFByb2R1Y3R9PT0iN2YyOSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMDQxZSIsIEFUVFJTe2lkUHJvZHVjdH09PSI2MDAwIiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIyNzcwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjkwNWMiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOWQyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzNDMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5ZDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iZmZjZSIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTlkMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMjQ0IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOWQyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAyNDUiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKK0FUVFJTe2lkVmVuZG9yfT09IjE5ZDIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDMwNiIsIEVOVntJRF9NRURJQV9QTEFZRVJ9PSIxIiwgTU9ERT0ibDM2IgorQVRUUlN7aWRWZW5kb3J9PT0iMTlkMiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMzA3IiwgRU5We0lEX01FRElBX1BMQVlFUn09IjEiLCBNT0RFPSJsMzYiCitBVFRSU3tpZFZlbmRvcn09PSIxOWQyIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAzODMiLCBFTlZ7SURfTUVESUFfUExBWUVSfT0iMSIsIE1PREU9ImwzNiIKKworTEFCRUw9ImxpYmdwaG90bzJfdXNiX2VuZCIKKworS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIxOTA4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjEzMTUiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjE5MDgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMTMyMCIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMTkwOCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTAyIiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIxOTA4IiwgQVRUUlN7aWRQcm9kdWN0fT09IjMzMzUiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDExNiIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDRiMCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTA4IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMTAiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjA0YjAiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwZSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDRiMCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTA0IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwNGIwIiwgQVRUUlN7aWRQcm9kdWN0fT09IjA0MDEiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjA3YjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwNSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTA1IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDUiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjA3YjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwOSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTA1IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDUiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjA3YjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwNSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTA1IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDUiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjA3YjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwOSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMDdiNCIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTA5IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwN2I0IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDkiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjA3YjQiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDEwOSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMGExNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDcwIiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwYTE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwYTEiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjBhMTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDA2ZSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMGExNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDkzIiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIwYTE3IiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwOTEiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjI1ZmIiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDE2NCIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMjVmYiIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMTMyIiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2dbMC05XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIyNWZiIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAxMDIiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjBhMTciLCBBVFRSU3tpZFByb2R1Y3R9PT0iMDAwOSIsIE1PREU9ImwzNiIKK0tFUk5FTD09InNnWzAtOV0qIiwgQVRUUlN7aWRWZW5kb3J9PT0iMGExNyIsIEFUVFJTe2lkUHJvZHVjdH09PSIwMDA3IiwgTU9ERT0ibDM2IgorS0VSTkVMPT0ic2RbYS16XSoiLCBBVFRSU3tpZFZlbmRvcn09PSIxNDAzIiwgQVRUUlN7aWRQcm9kdWN0fT09IjAwMDEiLCBNT0RFPSJsMzYiCitLRVJORUw9PSJzZ1swLTldKiIsIEFUVFJTe2lkVmVuZG9yfT09IjAxNjgiLCBBVFRSU3tpZFByb2R1Y3R9PT0iMzAxMSIsIE1PREU9ImwzNiIKKworTEFCRUw9ImxpYmdwaG90bzJfcnVsZXNfZW5kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9saWJncGhvdG8yXzIuNS44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3Bob3RvMi9saWJncGhvdG8yXzIuNS44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkZTY5NDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncGhvdG8yL2xpYmdwaG90bzJfMi41LjguYmIKQEAgLTAsMCArMSw1NSBAQAorU1VNTUFSWSA9ICJsaWJncGhvdG8yIGFsbG93cyB5b3UgdG8gYWNjZXNzIGRpZ2l0YWwgY2FtZXJhcyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNDQ4ZDM2NzZiYzBkZTAwNDA2YWYyMjdkMzQxYTRkMSIKKworREVQRU5EUyA9ICJsaWJ0b29sIGpwZWcgdmlydHVhbC9saWJ1c2IwIGxpYmV4aWYgemxpYiBsaWJ4bWwyIgorCisjIFRoZSAuZmRpIGFuZCAucnVsZXMgZmlsZXMgd2VyZSBnZW5lcmF0ZWQgd2l0aDoKKyMgIGxpYmdwaG90bzItMi41LjgvcGFja2FnaW5nL2dlbmVyaWMkIHFlbXUtYXJtIC1zIDEwNDg1NzYgLXIgMi42LjI0IC1MIC9PRS9hbmdzdHJvbS1kZXYvc3RhZ2luZy9hcm12NXRlLWFuZ3N0cm9tLWxpbnV4LWdudWVhYmkvIC5saWJzL3ByaW50LWNhbWVyYS1saXN0CisjIFRoZXkgYXJlIHJlbGVhc2Ugc3BlY2lmaWMsIHNvIHBsZWFzZSByZWdlbiB3aGVuIGFkZGluZyBuZXcgcmVsZWFzZXMKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZ3Bob3RvL2xpYmdwaG90bzItJHtQVn0udGFyLmJ6MjtuYW1lPWxpYmdwaG90bzIgXAorICAgICAgICAgICBmaWxlOi8vMTAtY2FtZXJhLWxpYmdwaG90bzItZGV2aWNlLmZkaSBcCisgICAgICAgICAgIGZpbGU6Ly8xMC1jYW1lcmEtbGliZ3Bob3RvMi5mZGkgXAorICAgICAgICAgICBmaWxlOi8vNDAtbGliZ3Bob3RvMi5ydWxlcyBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy1yZW1vdmUtQU1fUE9fU1VCRElSUy5wYXRjaCBcCisiCisKK1NSQ19VUklbbGliZ3Bob3RvMi5tZDVzdW1dID0gIjg3M2FiMDFhY2VkNDljNmI5MmE5OGU1MTVkYjVkY2VmIgorU1JDX1VSSVtsaWJncGhvdG8yLnNoYTI1NnN1bV0gPSAiMDMxYTI2MmUzNDJmYWU0M2Y3MjRhZmU2Njc4Nzk0N2NlMWZiNDgzMjc3ZGZlNWE4Y2YxZmJlOTJjNThlMjdiNiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQgbGliX3BhY2thZ2UKKworRVhUUkFfT0VDT05GID0gIiAtLXdpdGgtZHJpdmVycz1hbGwgdWRldnNjcmlwdGRpcj0vbGliL3VkZXYgYWNfY3ZfbGliX2x0ZGxfbHRfZGxjYWxsZXJfcmVnaXN0ZXI9eWVzIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tnZF0gPSAiLC0td2l0aG91dC1nZGxpYixnZCIKK1BBQ0tBR0VDT05GSUdbc2VyaWFsXSA9ICItLWVuYWJsZS1zZXJpYWwsLS1kaXNhYmxlLXNlcmlhbCxsb2NrZGV2IgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgIGNwICR7U1RBR0lOR19EQVRBRElSfS9nZXR0ZXh0L3BvL01ha2VmaWxlLmluLmluICR7U30vbGliZ3Bob3RvMl9wb3J0L3BvLworICAgIGNkICR7U30vbGliZ3Bob3RvMl9wb3J0LworICAgIGF1dG9yZWNvbmYgLVdjcm9zcyAtLXZlcmJvc2UgLS1pbnN0YWxsIC0tZm9yY2UgJHtFWFRSQV9BVVRPUkVDT05GfSAkYWNwYXRocworICAgIGNkICR7U30KK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9oYWwvZmRpL2luZm9ybWF0aW9uLzIwdGhpcmRwYXJ0eQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LyouZmRpICR7RH0ke2RhdGFkaXJ9L2hhbC9mZGkvaW5mb3JtYXRpb24vMjB0aGlyZHBhcnR5LworCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS91ZGV2L3J1bGVzLmQvCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vKi5ydWxlcyAke0R9JHtzeXNjb25mZGlyfS91ZGV2L3J1bGVzLmQvCit9CisKK1BBQ0tBR0VTID0rICJsaWJncGhvdG9wb3J0IGxpYmdwaG90bzItY2FtbGlicyIKK0ZJTEVTX2xpYmdwaG90bzItY2FtbGlicyA9ICIke2xpYmRpcn0vbGliZ3Bob3RvMiovKi8qLnNvKiIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImxpYmdwaG90bzItY2FtbGlicyIKK1JERVBFTkRTXyR7UE59ID0gImJhc2giCisKK0ZJTEVTX2xpYmdwaG90b3BvcnQgPSAiJHtsaWJkaXJ9L2xpYmdwaG90bzJfcG9ydC5zby4qIgorCitGSUxFU18ke1BOfSArPSAiJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2LyogJHtkYXRhZGlyfS9oYWwiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8qLyovLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vKi8qLyoubGEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2d0a3BlcmYvZ3RrcGVyZi9NYWtldmFycyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2d0a3BlcmYvZ3RrcGVyZi9NYWtldmFycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjA5ZjUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3RrcGVyZi9ndGtwZXJmL01ha2V2YXJzCkBAIC0wLDAgKzEsMjUgQEAKKyMgTWFrZWZpbGUgdmFyaWFibGVzIGZvciBQTyBkaXJlY3RvcnkgaW4gYW55IHBhY2thZ2UgdXNpbmcgR05VIGdldHRleHQuCisKKyMgVXN1YWxseSB0aGUgbWVzc2FnZSBkb21haW4gaXMgdGhlIHNhbWUgYXMgdGhlIHBhY2thZ2UgbmFtZS4KK0RPTUFJTiA9ICQoUEFDS0FHRSkKKworIyBUaGVzZSB0d28gdmFyaWFibGVzIGRlcGVuZCBvbiB0aGUgbG9jYXRpb24gb2YgdGhpcyBkaXJlY3RvcnkuCitzdWJkaXIgPSBwbwordG9wX2J1aWxkZGlyID0gLi4KKworIyBUaGVzZSBvcHRpb25zIGdldCBwYXNzZWQgdG8geGdldHRleHQuCitYR0VUVEVYVF9PUFRJT05TID0gLS1rZXl3b3JkPV8gLS1rZXl3b3JkPU5fCisKKyMgVGhpcyBpcyB0aGUgY29weXJpZ2h0IGhvbGRlciB0aGF0IGdldHMgaW5zZXJ0ZWQgaW50byB0aGUgaGVhZGVyIG9mIHRoZQorIyAkKERPTUFJTikucG90IGZpbGUuICBTZXQgdGhpcyB0byB0aGUgY29weXJpZ2h0IGhvbGRlciBvZiB0aGUgc3Vycm91bmRpbmcKKyMgcGFja2FnZS4gIChOb3RlIHRoYXQgdGhlIG1zZ3N0ciBzdHJpbmdzLCBleHRyYWN0ZWQgZnJvbSB0aGUgcGFja2FnZSdzCisjIHNvdXJjZXMsIGJlbG9uZyB0byB0aGUgY29weXJpZ2h0IGhvbGRlciBvZiB0aGUgcGFja2FnZS4pICBUcmFuc2xhdG9ycyBhcmUKKyMgZXhwZWN0ZWQgdG8gdHJhbnNmZXIgdGhlIGNvcHlyaWdodCBmb3IgdGhlaXIgdHJhbnNsYXRpb25zIHRvIHRoaXMgcGVyc29uCisjIG9yIGVudGl0eSwgb3IgdG8gZGlzY2xhaW0gdGhlaXIgY29weXJpZ2h0LiAgVGhlIGVtcHR5IHN0cmluZyBzdGFuZHMgZm9yCisjIHRoZSBwdWJsaWMgZG9tYWluOyBpbiB0aGlzIGNhc2UgdGhlIHRyYW5zbGF0b3JzIGFyZSBleHBlY3RlZCB0byBkaXNjbGFpbQorIyB0aGVpciBjb3B5cmlnaHQuCitDT1BZUklHSFRfSE9MREVSID0gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyMgVGhpcyBpcyB0aGUgbGlzdCBvZiBsb2NhbGUgY2F0ZWdvcmllcywgYmV5b25kIExDX01FU1NBR0VTLCBmb3Igd2hpY2ggdGhlCisjIG1lc3NhZ2UgY2F0YWxvZ3Mgc2hhbGwgYmUgdXNlZC4gIEl0IGlzIHVzdWFsbHkgZW1wdHkuCitFWFRSQV9MT0NBTEVfQ0FURUdPUklFUyA9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ndGtwZXJmL2d0a3BlcmZfMC40MC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2d0a3BlcmYvZ3RrcGVyZl8wLjQwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0MDRhN2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ndGtwZXJmL2d0a3BlcmZfMC40MC5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkdUSyBQZXJmb3JtYW5jZSB0b29sIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTUkNfVVJJID0gImh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vTWFrZXZhcnMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0MzMxZGRlNGJiODM4NjVlMTU0ODI4ODVmY2IwY2M1MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NzA0MzQ0ZTczMjAzOGVlY2JkMDA3ZGQ5OTZhNTYyOTNhNmIwMjdiNWI3NmYzZjAzNjI3M2EzZmFlMWFiMjdiIgorCitERVBFTkRTID0gImd0aysiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZyBwa2djb25maWcgZ2V0dGV4dAorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgcm0gLWYgJHtTfS9tNC9pbml0Lm00CisgICAgY3AgLWYgJHtXT1JLRElSfS9NYWtldmFycyAke1N9L3BvLworfQorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgcm0gLXJmICR7RH0vJHtleGVjX3ByZWZpeH0vZG9jCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2V4ZWNfcHJlZml4fS9zaGFyZS9kdWNrLnBuZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2phc3Blci9qYXNwZXJfMS45MDAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2phc3Blci9qYXNwZXJfMS45MDAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzUxMzE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvamFzcGVyL2phc3Blcl8xLjkwMC4xLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiSnBlZyAyMDAwIGltcGxlbWVudGF0aW9uIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iYWE2OTdkNzUxMDI4OGE5Y2RjY2U5YmQ3ZWRhZjliYyIKKworUFIgPSAicjEiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5lY2UudXZpYy5jYS9+bWRhZGFtcy9qYXNwZXIvc29mdHdhcmUvamFzcGVyLSR7UFZ9LnppcCIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbanBlZ10gPSAiLS1lbmFibGUtbGlianBlZywtLWRpc2FibGUtbGlianBlZyxqcGVnIgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtc2hhcmVkIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTM0MmIyYjQ0OTViM2UxMzk0ZTE2MWViNWQ4NWQ3NTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmI5MDVhOWMyYWNhMmUyNzU1NDQyMTI2NjZlZWZjNGViNDRkOTVkMGE1N2U0MzA1NDU3YjQwN2ZlNjNmOTQ5NCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xlcHRvbmljYS9sZXB0b25pY2FfMS43MC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xlcHRvbmljYS9sZXB0b25pY2FfMS43MC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODI2ZTA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGVwdG9uaWNhL2xlcHRvbmljYV8xLjcwLmJiCkBAIC0wLDAgKzEsMTQgQEAKK0RFU0NSSVBUSU9OID0gIkEgcGVkYWdvZ2ljYWxseS1vcmllbnRlZCBvcGVuIHNvdXJjZSBzaXRlIGNvbnRhaW5pbmcgc29mdHdhcmUgdGhhdCBpcyBicm9hZGx5IHVzZWZ1bCBmb3IgaW1hZ2UgcHJvY2Vzc2luZyBhbmQgaW1hZ2UgYW5hbHlzaXMgYXBwbGljYXRpb25zIgorREVQRU5EUyA9ICJqcGVnIHRpZmYgbGlicG5nIHpsaWIgZ2lmbGliIgorTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9sZXB0b25pY2EtbGljZW5zZS50eHQ7bWQ1PTIwY2RkM2FmMDk3Y2E0MzFiODIwMDRjNjkxZjQwNmE2IgorCitTUkNfVVJJID0gImh0dHA6Ly9sZXB0b25pY2EuY29tL3NvdXJjZS9sZXB0b25pY2EtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjVhYzJhMzFjZjViNGYwZThmNWE4NTNhNTI2NmM0MmVmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzZDIwOWExZjZkMWY3YTgwMTE5NDg2YjUwMTFiYzhjNjYyN2U1ODJjOTI3YWI0NGJhMzNjMzdlZGIyY2ZiYTIiCisKK0VYVFJBX09FQ09ORiArPSAiIFwKKyAgICAtLXdpdGhvdXQtbGlid2VicCBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2V4eS9saWJzZXh5LmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNleHkvbGlic2V4eS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWExMWNhMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNleHkvbGlic2V4eS5pbmMKQEAgLTAsMCArMSwxNSBAQAorREVTQ1JJUFRJT04gPSAiTGlic2V4eSBpcyBhIGNvbGxlY3Rpb24gb2YgR1RLKyB3aWRnZXRzIHRoYXQgZXh0ZW5kIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHN1Y2ggc3RhbmRhcmQgd2lkZ2V0cyBhcyBHdGtFbnRyeSBhbmQgR3RrTGFiZWwiCitIT01FUEFHRSA9ICJodHRwOi8vd2lraS5jaGlweDg2LmNvbS93aWtpL0xpYnNleHkiCitBVVRIT1IgPSAiQ2hyaXN0aWFuIEhhbW1vbmQgPGNoaXB4ODZAY2hpcHg4Ni5jb20+IgorU0VDVElPTiA9ICJ4MTEvbGlicyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgorCitERVBFTkRTID0gImd0aysgZW5jaGFudCBsaWJ4bWwyIgorCitTUkNfVVJJID0gImh0dHA6Ly9yZWxlYXNlcy5jaGlweDg2LmNvbS9saWJzZXh5LyR7QlBOfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbGlic2V4eS1wa2djb25maWctZml4ZXMucGF0Y2giCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJzZXh5L2xpYnNleHkvbGlic2V4eS1wa2djb25maWctZml4ZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJzZXh5L2xpYnNleHkvbGlic2V4eS1wa2djb25maWctZml4ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjFkYTk0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNleHkvbGlic2V4eS9saWJzZXh5LXBrZ2NvbmZpZy1maXhlcy5wYXRjaApAQCAtMCwwICsxLDE1IEBACitJbmRleDogbGlic2V4eS0wLjEuMTEvbGlic2V4eS5wYy5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYnNleHktMC4xLjExLm9yaWcvbGlic2V4eS5wYy5pbgkyMDA1LTExLTEwIDEwOjIxOjE4LjAwMDAwMDAwMCArMDAwMAorKysrIGxpYnNleHktMC4xLjExL2xpYnNleHkucGMuaW4JMjAwOC0wMy0wNSAxNDozNjozOS4wMDAwMDAwMDAgKzAwMDAKK0BAIC02LDcgKzYsOCBAQAorIE5hbWU6IGxpYnNleHkKKyBEZXNjcmlwdGlvbjogRG9pbmcgbmF1Z2h0eSB0aGluZ3MgdG8gZ29vZCB3aWRnZXRzCisgVmVyc2lvbjogQFZFUlNJT05ACistTGliczogLUwke2xpYmRpcn0gLWxzZXh5IEBQQUNLQUdFX0xJQlNACistQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0gQFBBQ0tBR0VfQ0ZMQUdTQAorIAorK1JlcXVpcmVzOiBwYW5nbyBnbGliLTIuMCBndGsrLTIuMCBsaWJ4bWwtMi4wCisrTGliczogLUwke2xpYmRpcn0gLWxzZXh5IAorK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJzZXh5L2xpYnNleHlfMC4xLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2V4eS9saWJzZXh5XzAuMS4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmI0OTU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2V4eS9saWJzZXh5XzAuMS4xMS5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgbGlic2V4eS5pbmMKKworUFIgPSAicjIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzM2MwNzlhMjUzMjcwZWM4YmZiOTUwOGU0YmIzMDc1NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4YzQxMDFhOGNkYTVmY2NiYmE4NWJhMWExNWY0NmYyY2Y3NWRlYWE4YjNjNTI1Y2U1YjEzNWI5ZTFhOGZlNDllIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlci8wMDAxLXJlbW92ZS13ZWJjbGllbnRzLWJ1aWxkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlci8wMDAxLXJlbW92ZS13ZWJjbGllbnRzLWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmNDM2NWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJ2bmNzZXJ2ZXIvbGlidm5jc2VydmVyLzAwMDEtcmVtb3ZlLXdlYmNsaWVudHMtYnVpbGQucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IDVjMmE5NGQuLmY5ODAzOGEgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0xLDcgKzEsNyBAQAorIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG00CisgCistU1VCRElSUz1saWJ2bmNzZXJ2ZXIgZXhhbXBsZXMgbGlidm5jY2xpZW50IHdlYmNsaWVudHMgY2xpZW50X2V4YW1wbGVzIHRlc3QKKy1ESVNUX1NVQkRJUlM9bGlidm5jc2VydmVyIGV4YW1wbGVzIGxpYnZuY2NsaWVudCB3ZWJjbGllbnRzIGNsaWVudF9leGFtcGxlcyB0ZXN0CisrU1VCRElSUz1saWJ2bmNzZXJ2ZXIgZXhhbXBsZXMgbGlidm5jY2xpZW50IGNsaWVudF9leGFtcGxlcyB0ZXN0CisrRElTVF9TVUJESVJTPWxpYnZuY3NlcnZlciBleGFtcGxlcyBsaWJ2bmNjbGllbnQgY2xpZW50X2V4YW1wbGVzIHRlc3QKKyBFWFRSQV9ESVNUID0gQ01ha2VMaXN0cy50eHQgcmZiL3JmYmludC5oLmNtYWtlIHJmYi9yZmJjb25maWcuaC5jbWFrZQorIAorIGJpbl9TQ1JJUFRTID0gbGlidm5jc2VydmVyLWNvbmZpZworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggY2E5ZjNiMy4uOWI0NjRjZiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNjAwLDkgKzYwMCw2IEBAIEFDX0NPTkZJR19GSUxFUyhbTWFrZWZpbGUKKyAJbGlidm5jc2VydmVyL01ha2VmaWxlCisgCWV4YW1wbGVzL01ha2VmaWxlCisgCWV4YW1wbGVzL2FuZHJvaWQvTWFrZWZpbGUKKy0Jd2ViY2xpZW50cy9NYWtlZmlsZQorLQl3ZWJjbGllbnRzL2phdmEtYXBwbGV0L01ha2VmaWxlCistCXdlYmNsaWVudHMvamF2YS1hcHBsZXQvc3NsL01ha2VmaWxlCisgCWxpYnZuY2NsaWVudC9NYWtlZmlsZQorIAljbGllbnRfZXhhbXBsZXMvTWFrZWZpbGUKKyAJdGVzdC9NYWtlZmlsZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlci8wMDAyLWNvbW1vbi1hZGQtc2hhMS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZuY3NlcnZlci9saWJ2bmNzZXJ2ZXIvMDAwMi1jb21tb24tYWRkLXNoYTEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI3MGQyZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZuY3NlcnZlci9saWJ2bmNzZXJ2ZXIvMDAwMi1jb21tb24tYWRkLXNoYTEucGF0Y2gKQEAgLTAsMCArMSw1MjQgQEAKK2RpZmYgLS1naXQgYS9jb21tb24vc2hhMS5jIGIvY29tbW9uL3NoYTEuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjk4OGIxODgKKy0tLSAvZGV2L251bGwKKysrKyBiL2NvbW1vbi9zaGExLmMKK0BAIC0wLDAgKzEsNDExIEBACisrLyoKKysgKiBDb3B5cmlnaHQgKEMpIFRoZSBJbnRlcm5ldCBTb2NpZXR5ICgyMDAxKS4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisrICoKKysgKiBUaGlzIGRvY3VtZW50IGFuZCB0cmFuc2xhdGlvbnMgb2YgaXQgbWF5IGJlIGNvcGllZCBhbmQgZnVybmlzaGVkIHRvCisrICogb3RoZXJzLCBhbmQgZGVyaXZhdGl2ZSB3b3JrcyB0aGF0IGNvbW1lbnQgb24gb3Igb3RoZXJ3aXNlIGV4cGxhaW4gaXQKKysgKiBvciBhc3Npc3QgaW4gaXRzIGltcGxlbWVudGF0aW9uIG1heSBiZSBwcmVwYXJlZCwgY29waWVkLCBwdWJsaXNoZWQKKysgKiBhbmQgZGlzdHJpYnV0ZWQsIGluIHdob2xlIG9yIGluIHBhcnQsIHdpdGhvdXQgcmVzdHJpY3Rpb24gb2YgYW55CisrICoga2luZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwYXJhZ3JhcGggYXJlCisrICogaW5jbHVkZWQgb24gYWxsIHN1Y2ggY29waWVzIGFuZCBkZXJpdmF0aXZlIHdvcmtzLiAgSG93ZXZlciwgdGhpcworKyAqIGRvY3VtZW50IGl0c2VsZiBtYXkgbm90IGJlIG1vZGlmaWVkIGluIGFueSB3YXksIHN1Y2ggYXMgYnkgcmVtb3ZpbmcKKysgKiB0aGUgY29weXJpZ2h0IG5vdGljZSBvciByZWZlcmVuY2VzIHRvIHRoZSBJbnRlcm5ldCBTb2NpZXR5IG9yIG90aGVyCisrICogSW50ZXJuZXQgb3JnYW5pemF0aW9ucywgZXhjZXB0IGFzIG5lZWRlZCBmb3IgdGhlIHB1cnBvc2Ugb2YKKysgKiBkZXZlbG9waW5nIEludGVybmV0IHN0YW5kYXJkcyBpbiB3aGljaCBjYXNlIHRoZSBwcm9jZWR1cmVzIGZvcgorKyAqIGNvcHlyaWdodHMgZGVmaW5lZCBpbiB0aGUgSW50ZXJuZXQgU3RhbmRhcmRzIHByb2Nlc3MgbXVzdCBiZQorKyAqIGZvbGxvd2VkLCBvciBhcyByZXF1aXJlZCB0byB0cmFuc2xhdGUgaXQgaW50byBsYW5ndWFnZXMgb3RoZXIgdGhhbgorKyAqIEVuZ2xpc2guCisrICoKKysgKiBUaGUgbGltaXRlZCBwZXJtaXNzaW9ucyBncmFudGVkIGFib3ZlIGFyZSBwZXJwZXR1YWwgYW5kIHdpbGwgbm90IGJlCisrICogcmV2b2tlZCBieSB0aGUgSW50ZXJuZXQgU29jaWV0eSBvciBpdHMgc3VjY2Vzc29ycyBvciBhc3NpZ25zLgorKyAqCisrICogVGhpcyBkb2N1bWVudCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaXMgcHJvdmlkZWQgb24gYW4KKysgKiAiQVMgSVMiIGJhc2lzIGFuZCBUSEUgSU5URVJORVQgU09DSUVUWSBBTkQgVEhFIElOVEVSTkVUIEVOR0lORUVSSU5HCisrICogVEFTSyBGT1JDRSBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMsIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HCisrICogQlVUIE5PVCBMSU1JVEVEIFRPIEFOWSBXQVJSQU5UWSBUSEFUIFRIRSBVU0UgT0YgVEhFIElORk9STUFUSU9OCisrICogSEVSRUlOIFdJTEwgTk9UIElORlJJTkdFIEFOWSBSSUdIVFMgT1IgQU5ZIElNUExJRUQgV0FSUkFOVElFUyBPRgorKyAqIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KKysgKi8KKysKKysvKgorKyAqICBzaGExLmMKKysgKgorKyAqICBEZXNjcmlwdGlvbjoKKysgKiAgICAgIFRoaXMgZmlsZSBpbXBsZW1lbnRzIHRoZSBTZWN1cmUgSGFzaGluZyBBbGdvcml0aG0gMSBhcworKyAqICAgICAgZGVmaW5lZCBpbiBGSVBTIFBVQiAxODAtMSBwdWJsaXNoZWQgQXByaWwgMTcsIDE5OTUuCisrICoKKysgKiAgICAgIFRoZSBTSEEtMSwgcHJvZHVjZXMgYSAxNjAtYml0IG1lc3NhZ2UgZGlnZXN0IGZvciBhIGdpdmVuCisrICogICAgICBkYXRhIHN0cmVhbS4gIEl0IHNob3VsZCB0YWtlIGFib3V0IDIqKm4gc3RlcHMgdG8gZmluZCBhCisrICogICAgICBtZXNzYWdlIHdpdGggdGhlIHNhbWUgZGlnZXN0IGFzIGEgZ2l2ZW4gbWVzc2FnZSBhbmQKKysgKiAgICAgIDIqKihuLzIpIHRvIGZpbmQgYW55IHR3byBtZXNzYWdlcyB3aXRoIHRoZSBzYW1lIGRpZ2VzdCwKKysgKiAgICAgIHdoZW4gbiBpcyB0aGUgZGlnZXN0IHNpemUgaW4gYml0cy4gIFRoZXJlZm9yZSwgdGhpcworKyAqICAgICAgYWxnb3JpdGhtIGNhbiBzZXJ2ZSBhcyBhIG1lYW5zIG9mIHByb3ZpZGluZyBhCisrICogICAgICAiZmluZ2VycHJpbnQiIGZvciBhIG1lc3NhZ2UuCisrICoKKysgKiAgUG9ydGFiaWxpdHkgSXNzdWVzOgorKyAqICAgICAgU0hBLTEgaXMgZGVmaW5lZCBpbiB0ZXJtcyBvZiAzMi1iaXQgIndvcmRzIi4gIFRoaXMgY29kZQorKyAqICAgICAgdXNlcyA8c3RkaW50Lmg+IChpbmNsdWRlZCB2aWEgInNoYTEuaCIgdG8gZGVmaW5lIDMyIGFuZCA4CisrICogICAgICBiaXQgdW5zaWduZWQgaW50ZWdlciB0eXBlcy4gIElmIHlvdXIgQyBjb21waWxlciBkb2VzIG5vdAorKyAqICAgICAgc3VwcG9ydCAzMiBiaXQgdW5zaWduZWQgaW50ZWdlcnMsIHRoaXMgY29kZSBpcyBub3QKKysgKiAgICAgIGFwcHJvcHJpYXRlLgorKyAqCisrICogIENhdmVhdHM6CisrICogICAgICBTSEEtMSBpcyBkZXNpZ25lZCB0byB3b3JrIHdpdGggbWVzc2FnZXMgbGVzcyB0aGFuIDJeNjQgYml0cworKyAqICAgICAgbG9uZy4gIEFsdGhvdWdoIFNIQS0xIGFsbG93cyBhIG1lc3NhZ2UgZGlnZXN0IHRvIGJlIGdlbmVyYXRlZAorKyAqICAgICAgZm9yIG1lc3NhZ2VzIG9mIGFueSBudW1iZXIgb2YgYml0cyBsZXNzIHRoYW4gMl42NCwgdGhpcworKyAqICAgICAgaW1wbGVtZW50YXRpb24gb25seSB3b3JrcyB3aXRoIG1lc3NhZ2VzIHdpdGggYSBsZW5ndGggdGhhdCBpcworKyAqICAgICAgYSBtdWx0aXBsZSBvZiB0aGUgc2l6ZSBvZiBhbiA4LWJpdCBjaGFyYWN0ZXIuCisrICoKKysgKi8KKysKKysjaW5jbHVkZSAic2hhMS5oIgorKworKy8qCisrICogIERlZmluZSB0aGUgU0hBMSBjaXJjdWxhciBsZWZ0IHNoaWZ0IG1hY3JvCisrICovCisrI2RlZmluZSBTSEExQ2lyY3VsYXJTaGlmdChiaXRzLHdvcmQpIFwKKysgICAgICAgICAgICAgICAgKCgod29yZCkgPDwgKGJpdHMpKSB8ICgod29yZCkgPj4gKDMyLShiaXRzKSkpKQorKworKy8qIExvY2FsIEZ1bmN0aW9uIFByb3RvdHlwdGVzICovCisrdm9pZCBTSEExUGFkTWVzc2FnZShTSEExQ29udGV4dCAqKTsKKyt2b2lkIFNIQTFQcm9jZXNzTWVzc2FnZUJsb2NrKFNIQTFDb250ZXh0ICopOworKworKy8qCisrICogIFNIQTFSZXNldAorKyAqCisrICogIERlc2NyaXB0aW9uOgorKyAqICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIGluaXRpYWxpemUgdGhlIFNIQTFDb250ZXh0IGluIHByZXBhcmF0aW9uCisrICogICAgICBmb3IgY29tcHV0aW5nIGEgbmV3IFNIQTEgbWVzc2FnZSBkaWdlc3QuCisrICoKKysgKiAgUGFyYW1ldGVyczoKKysgKiAgICAgIGNvbnRleHQ6IFtpbi9vdXRdCisrICogICAgICAgICAgVGhlIGNvbnRleHQgdG8gcmVzZXQuCisrICoKKysgKiAgUmV0dXJuczoKKysgKiAgICAgIHNoYSBFcnJvciBDb2RlLgorKyAqCisrICovCisraW50IFNIQTFSZXNldChTSEExQ29udGV4dCAqY29udGV4dCkKKyt7CisrICAgIGlmICghY29udGV4dCkKKysgICAgeworKyAgICAgICAgcmV0dXJuIHNoYU51bGw7CisrICAgIH0KKysKKysgICAgY29udGV4dC0+TGVuZ3RoX0xvdyAgICAgICAgICAgICA9IDA7CisrICAgIGNvbnRleHQtPkxlbmd0aF9IaWdoICAgICAgICAgICAgPSAwOworKyAgICBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrX0luZGV4ICAgID0gMDsKKysKKysgICAgY29udGV4dC0+SW50ZXJtZWRpYXRlX0hhc2hbMF0gICA9IDB4Njc0NTIzMDE7CisrICAgIGNvbnRleHQtPkludGVybWVkaWF0ZV9IYXNoWzFdICAgPSAweEVGQ0RBQjg5OworKyAgICBjb250ZXh0LT5JbnRlcm1lZGlhdGVfSGFzaFsyXSAgID0gMHg5OEJBRENGRTsKKysgICAgY29udGV4dC0+SW50ZXJtZWRpYXRlX0hhc2hbM10gICA9IDB4MTAzMjU0NzY7CisrICAgIGNvbnRleHQtPkludGVybWVkaWF0ZV9IYXNoWzRdICAgPSAweEMzRDJFMUYwOworKworKyAgICBjb250ZXh0LT5Db21wdXRlZCAgID0gMDsKKysgICAgY29udGV4dC0+Q29ycnVwdGVkICA9IDA7CisrICAgIHJldHVybiBzaGFTdWNjZXNzOworK30KKysKKysvKgorKyAqICBTSEExUmVzdWx0CisrICoKKysgKiAgRGVzY3JpcHRpb246CisrICogICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIHRoZSAxNjAtYml0IG1lc3NhZ2UgZGlnZXN0IGludG8gdGhlCisrICogICAgICBNZXNzYWdlX0RpZ2VzdCBhcnJheSAgcHJvdmlkZWQgYnkgdGhlIGNhbGxlci4KKysgKiAgICAgIE5PVEU6IFRoZSBmaXJzdCBvY3RldCBvZiBoYXNoIGlzIHN0b3JlZCBpbiB0aGUgMHRoIGVsZW1lbnQsCisrICogICAgICAgICAgICB0aGUgbGFzdCBvY3RldCBvZiBoYXNoIGluIHRoZSAxOXRoIGVsZW1lbnQuCisrICoKKysgKiAgUGFyYW1ldGVyczoKKysgKiAgICAgIGNvbnRleHQ6IFtpbi9vdXRdCisrICogICAgICAgICAgVGhlIGNvbnRleHQgdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgU0hBLTEgaGFzaC4KKysgKiAgICAgIE1lc3NhZ2VfRGlnZXN0OiBbb3V0XQorKyAqICAgICAgICAgIFdoZXJlIHRoZSBkaWdlc3QgaXMgcmV0dXJuZWQuCisrICoKKysgKiAgUmV0dXJuczoKKysgKiAgICAgIHNoYSBFcnJvciBDb2RlLgorKyAqCisrICovCisraW50IFNIQTFSZXN1bHQoIFNIQTFDb250ZXh0ICpjb250ZXh0LAorKyAgICAgICAgICAgICAgICB1aW50OF90IE1lc3NhZ2VfRGlnZXN0W1NIQTFIYXNoU2l6ZV0pCisreworKyAgICBpbnQgaTsKKysKKysgICAgaWYgKCFjb250ZXh0IHx8ICFNZXNzYWdlX0RpZ2VzdCkKKysgICAgeworKyAgICAgICAgcmV0dXJuIHNoYU51bGw7CisrICAgIH0KKysKKysgICAgaWYgKGNvbnRleHQtPkNvcnJ1cHRlZCkKKysgICAgeworKyAgICAgICAgcmV0dXJuIGNvbnRleHQtPkNvcnJ1cHRlZDsKKysgICAgfQorKworKyAgICBpZiAoIWNvbnRleHQtPkNvbXB1dGVkKQorKyAgICB7CisrICAgICAgICBTSEExUGFkTWVzc2FnZShjb250ZXh0KTsKKysgICAgICAgIGZvcihpPTA7IGk8NjQ7ICsraSkKKysgICAgICAgIHsKKysgICAgICAgICAgICAvKiBtZXNzYWdlIG1heSBiZSBzZW5zaXRpdmUsIGNsZWFyIGl0IG91dCAqLworKyAgICAgICAgICAgIGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbaV0gPSAwOworKyAgICAgICAgfQorKyAgICAgICAgY29udGV4dC0+TGVuZ3RoX0xvdyA9IDA7ICAgIC8qIGFuZCBjbGVhciBsZW5ndGggKi8KKysgICAgICAgIGNvbnRleHQtPkxlbmd0aF9IaWdoID0gMDsKKysgICAgICAgIGNvbnRleHQtPkNvbXB1dGVkID0gMTsKKysgICAgfQorKworKyAgICBmb3IoaSA9IDA7IGkgPCBTSEExSGFzaFNpemU7ICsraSkKKysgICAgeworKyAgICAgICAgTWVzc2FnZV9EaWdlc3RbaV0gPSBjb250ZXh0LT5JbnRlcm1lZGlhdGVfSGFzaFtpPj4yXQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PiA4ICogKCAzIC0gKCBpICYgMHgwMyApICk7CisrICAgIH0KKysKKysgICAgcmV0dXJuIHNoYVN1Y2Nlc3M7CisrfQorKworKy8qCisrICogIFNIQTFJbnB1dAorKyAqCisrICogIERlc2NyaXB0aW9uOgorKyAqICAgICAgVGhpcyBmdW5jdGlvbiBhY2NlcHRzIGFuIGFycmF5IG9mIG9jdGV0cyBhcyB0aGUgbmV4dCBwb3J0aW9uCisrICogICAgICBvZiB0aGUgbWVzc2FnZS4KKysgKgorKyAqICBQYXJhbWV0ZXJzOgorKyAqICAgICAgY29udGV4dDogW2luL291dF0KKysgKiAgICAgICAgICBUaGUgU0hBIGNvbnRleHQgdG8gdXBkYXRlCisrICogICAgICBtZXNzYWdlX2FycmF5OiBbaW5dCisrICogICAgICAgICAgQW4gYXJyYXkgb2YgY2hhcmFjdGVycyByZXByZXNlbnRpbmcgdGhlIG5leHQgcG9ydGlvbiBvZgorKyAqICAgICAgICAgIHRoZSBtZXNzYWdlLgorKyAqICAgICAgbGVuZ3RoOiBbaW5dCisrICogICAgICAgICAgVGhlIGxlbmd0aCBvZiB0aGUgbWVzc2FnZSBpbiBtZXNzYWdlX2FycmF5CisrICoKKysgKiAgUmV0dXJuczoKKysgKiAgICAgIHNoYSBFcnJvciBDb2RlLgorKyAqCisrICovCisraW50IFNIQTFJbnB1dCggICAgU0hBMUNvbnRleHQgICAgKmNvbnRleHQsCisrICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAgKm1lc3NhZ2VfYXJyYXksCisrICAgICAgICAgICAgICAgICAgdW5zaWduZWQgICAgICAgbGVuZ3RoKQorK3sKKysgICAgaWYgKCFsZW5ndGgpCisrICAgIHsKKysgICAgICAgIHJldHVybiBzaGFTdWNjZXNzOworKyAgICB9CisrCisrICAgIGlmICghY29udGV4dCB8fCAhbWVzc2FnZV9hcnJheSkKKysgICAgeworKyAgICAgICAgcmV0dXJuIHNoYU51bGw7CisrICAgIH0KKysKKysgICAgaWYgKGNvbnRleHQtPkNvbXB1dGVkKQorKyAgICB7CisrICAgICAgICBjb250ZXh0LT5Db3JydXB0ZWQgPSBzaGFTdGF0ZUVycm9yOworKyAgICAgICAgcmV0dXJuIHNoYVN0YXRlRXJyb3I7CisrICAgIH0KKysKKysgICAgaWYgKGNvbnRleHQtPkNvcnJ1cHRlZCkKKysgICAgeworKyAgICAgICAgIHJldHVybiBjb250ZXh0LT5Db3JydXB0ZWQ7CisrICAgIH0KKysgICAgd2hpbGUobGVuZ3RoLS0gJiYgIWNvbnRleHQtPkNvcnJ1cHRlZCkKKysgICAgeworKyAgICBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrW2NvbnRleHQtPk1lc3NhZ2VfQmxvY2tfSW5kZXgrK10gPQorKyAgICAgICAgICAgICAgICAgICAgKCptZXNzYWdlX2FycmF5ICYgMHhGRik7CisrCisrICAgIGNvbnRleHQtPkxlbmd0aF9Mb3cgKz0gODsKKysgICAgaWYgKGNvbnRleHQtPkxlbmd0aF9Mb3cgPT0gMCkKKysgICAgeworKyAgICAgICAgY29udGV4dC0+TGVuZ3RoX0hpZ2grKzsKKysgICAgICAgIGlmIChjb250ZXh0LT5MZW5ndGhfSGlnaCA9PSAwKQorKyAgICAgICAgeworKyAgICAgICAgICAgIC8qIE1lc3NhZ2UgaXMgdG9vIGxvbmcgKi8KKysgICAgICAgICAgICBjb250ZXh0LT5Db3JydXB0ZWQgPSAxOworKyAgICAgICAgfQorKyAgICB9CisrCisrICAgIGlmIChjb250ZXh0LT5NZXNzYWdlX0Jsb2NrX0luZGV4ID09IDY0KQorKyAgICB7CisrICAgICAgICBTSEExUHJvY2Vzc01lc3NhZ2VCbG9jayhjb250ZXh0KTsKKysgICAgfQorKworKyAgICBtZXNzYWdlX2FycmF5Kys7CisrICAgIH0KKysKKysgICAgcmV0dXJuIHNoYVN1Y2Nlc3M7CisrfQorKworKy8qCisrICogIFNIQTFQcm9jZXNzTWVzc2FnZUJsb2NrCisrICoKKysgKiAgRGVzY3JpcHRpb246CisrICogICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgcHJvY2VzcyB0aGUgbmV4dCA1MTIgYml0cyBvZiB0aGUgbWVzc2FnZQorKyAqICAgICAgc3RvcmVkIGluIHRoZSBNZXNzYWdlX0Jsb2NrIGFycmF5LgorKyAqCisrICogIFBhcmFtZXRlcnM6CisrICogICAgICBOb25lLgorKyAqCisrICogIFJldHVybnM6CisrICogICAgICBOb3RoaW5nLgorKyAqCisrICogIENvbW1lbnRzOgorKyAqICAgICAgTWFueSBvZiB0aGUgdmFyaWFibGUgbmFtZXMgaW4gdGhpcyBjb2RlLCBlc3BlY2lhbGx5IHRoZQorKyAqICAgICAgc2luZ2xlIGNoYXJhY3RlciBuYW1lcywgd2VyZSB1c2VkIGJlY2F1c2UgdGhvc2Ugd2VyZSB0aGUKKysgKiAgICAgIG5hbWVzIHVzZWQgaW4gdGhlIHB1YmxpY2F0aW9uLgorKyAqCisrICoKKysgKi8KKyt2b2lkIFNIQTFQcm9jZXNzTWVzc2FnZUJsb2NrKFNIQTFDb250ZXh0ICpjb250ZXh0KQorK3sKKysgICAgY29uc3QgdWludDMyX3QgS1tdID0gICAgeyAgICAgICAvKiBDb25zdGFudHMgZGVmaW5lZCBpbiBTSEEtMSAgICovCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NUE4Mjc5OTksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NkVEOUVCQTEsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4OEYxQkJDREMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4Q0E2MkMxRDYKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKKysgICAgaW50ICAgICAgICAgICB0OyAgICAgICAgICAgICAgICAgLyogTG9vcCBjb3VudGVyICAgICAgICAgICAgICAgICovCisrICAgIHVpbnQzMl90ICAgICAgdGVtcDsgICAgICAgICAgICAgIC8qIFRlbXBvcmFyeSB3b3JkIHZhbHVlICAgICAgICAqLworKyAgICB1aW50MzJfdCAgICAgIFdbODBdOyAgICAgICAgICAgICAvKiBXb3JkIHNlcXVlbmNlICAgICAgICAgICAgICAgKi8KKysgICAgdWludDMyX3QgICAgICBBLCBCLCBDLCBELCBFOyAgICAgLyogV29yZCBidWZmZXJzICAgICAgICAgICAgICAgICovCisrCisrICAgIC8qCisrICAgICAqICBJbml0aWFsaXplIHRoZSBmaXJzdCAxNiB3b3JkcyBpbiB0aGUgYXJyYXkgVworKyAgICAgKi8KKysgICAgZm9yKHQgPSAwOyB0IDwgMTY7IHQrKykKKysgICAgeworKyAgICAgICAgV1t0XSA9IGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbdCAqIDRdIDw8IDI0OworKyAgICAgICAgV1t0XSB8PSBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrW3QgKiA0ICsgMV0gPDwgMTY7CisrICAgICAgICBXW3RdIHw9IGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbdCAqIDQgKyAyXSA8PCA4OworKyAgICAgICAgV1t0XSB8PSBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrW3QgKiA0ICsgM107CisrICAgIH0KKysKKysgICAgZm9yKHQgPSAxNjsgdCA8IDgwOyB0KyspCisrICAgIHsKKysgICAgICAgV1t0XSA9IFNIQTFDaXJjdWxhclNoaWZ0KDEsV1t0LTNdIF4gV1t0LThdIF4gV1t0LTE0XSBeIFdbdC0xNl0pOworKyAgICB9CisrCisrICAgIEEgPSBjb250ZXh0LT5JbnRlcm1lZGlhdGVfSGFzaFswXTsKKysgICAgQiA9IGNvbnRleHQtPkludGVybWVkaWF0ZV9IYXNoWzFdOworKyAgICBDID0gY29udGV4dC0+SW50ZXJtZWRpYXRlX0hhc2hbMl07CisrICAgIEQgPSBjb250ZXh0LT5JbnRlcm1lZGlhdGVfSGFzaFszXTsKKysgICAgRSA9IGNvbnRleHQtPkludGVybWVkaWF0ZV9IYXNoWzRdOworKworKyAgICBmb3IodCA9IDA7IHQgPCAyMDsgdCsrKQorKyAgICB7CisrICAgICAgICB0ZW1wID0gIFNIQTFDaXJjdWxhclNoaWZ0KDUsQSkgKworKyAgICAgICAgICAgICAgICAoKEIgJiBDKSB8ICgofkIpICYgRCkpICsgRSArIFdbdF0gKyBLWzBdOworKyAgICAgICAgRSA9IEQ7CisrICAgICAgICBEID0gQzsKKysgICAgICAgIEMgPSBTSEExQ2lyY3VsYXJTaGlmdCgzMCxCKTsKKysgICAgICAgIEIgPSBBOworKyAgICAgICAgQSA9IHRlbXA7CisrICAgIH0KKysKKysgICAgZm9yKHQgPSAyMDsgdCA8IDQwOyB0KyspCisrICAgIHsKKysgICAgICAgIHRlbXAgPSBTSEExQ2lyY3VsYXJTaGlmdCg1LEEpICsgKEIgXiBDIF4gRCkgKyBFICsgV1t0XSArIEtbMV07CisrICAgICAgICBFID0gRDsKKysgICAgICAgIEQgPSBDOworKyAgICAgICAgQyA9IFNIQTFDaXJjdWxhclNoaWZ0KDMwLEIpOworKyAgICAgICAgQiA9IEE7CisrICAgICAgICBBID0gdGVtcDsKKysgICAgfQorKworKyAgICBmb3IodCA9IDQwOyB0IDwgNjA7IHQrKykKKysgICAgeworKyAgICAgICAgdGVtcCA9IFNIQTFDaXJjdWxhclNoaWZ0KDUsQSkgKworKyAgICAgICAgICAgICAgICgoQiAmIEMpIHwgKEIgJiBEKSB8IChDICYgRCkpICsgRSArIFdbdF0gKyBLWzJdOworKyAgICAgICAgRSA9IEQ7CisrICAgICAgICBEID0gQzsKKysgICAgICAgIEMgPSBTSEExQ2lyY3VsYXJTaGlmdCgzMCxCKTsKKysgICAgICAgIEIgPSBBOworKyAgICAgICAgQSA9IHRlbXA7CisrICAgIH0KKysKKysgICAgZm9yKHQgPSA2MDsgdCA8IDgwOyB0KyspCisrICAgIHsKKysgICAgICAgIHRlbXAgPSBTSEExQ2lyY3VsYXJTaGlmdCg1LEEpICsgKEIgXiBDIF4gRCkgKyBFICsgV1t0XSArIEtbM107CisrICAgICAgICBFID0gRDsKKysgICAgICAgIEQgPSBDOworKyAgICAgICAgQyA9IFNIQTFDaXJjdWxhclNoaWZ0KDMwLEIpOworKyAgICAgICAgQiA9IEE7CisrICAgICAgICBBID0gdGVtcDsKKysgICAgfQorKworKyAgICBjb250ZXh0LT5JbnRlcm1lZGlhdGVfSGFzaFswXSArPSBBOworKyAgICBjb250ZXh0LT5JbnRlcm1lZGlhdGVfSGFzaFsxXSArPSBCOworKyAgICBjb250ZXh0LT5JbnRlcm1lZGlhdGVfSGFzaFsyXSArPSBDOworKyAgICBjb250ZXh0LT5JbnRlcm1lZGlhdGVfSGFzaFszXSArPSBEOworKyAgICBjb250ZXh0LT5JbnRlcm1lZGlhdGVfSGFzaFs0XSArPSBFOworKworKyAgICBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrX0luZGV4ID0gMDsKKyt9CisrCisrCisrLyoKKysgKiAgU0hBMVBhZE1lc3NhZ2UKKysgKgorKyAqICBEZXNjcmlwdGlvbjoKKysgKiAgICAgIEFjY29yZGluZyB0byB0aGUgc3RhbmRhcmQsIHRoZSBtZXNzYWdlIG11c3QgYmUgcGFkZGVkIHRvIGFuIGV2ZW4KKysgKiAgICAgIDUxMiBiaXRzLiAgVGhlIGZpcnN0IHBhZGRpbmcgYml0IG11c3QgYmUgYSAnMScuICBUaGUgbGFzdCA2NAorKyAqICAgICAgYml0cyByZXByZXNlbnQgdGhlIGxlbmd0aCBvZiB0aGUgb3JpZ2luYWwgbWVzc2FnZS4gIEFsbCBiaXRzIGluCisrICogICAgICBiZXR3ZWVuIHNob3VsZCBiZSAwLiAgVGhpcyBmdW5jdGlvbiB3aWxsIHBhZCB0aGUgbWVzc2FnZQorKyAqICAgICAgYWNjb3JkaW5nIHRvIHRob3NlIHJ1bGVzIGJ5IGZpbGxpbmcgdGhlIE1lc3NhZ2VfQmxvY2sgYXJyYXkKKysgKiAgICAgIGFjY29yZGluZ2x5LiAgSXQgd2lsbCBhbHNvIGNhbGwgdGhlIFByb2Nlc3NNZXNzYWdlQmxvY2sgZnVuY3Rpb24KKysgKiAgICAgIHByb3ZpZGVkIGFwcHJvcHJpYXRlbHkuICBXaGVuIGl0IHJldHVybnMsIGl0IGNhbiBiZSBhc3N1bWVkIHRoYXQKKysgKiAgICAgIHRoZSBtZXNzYWdlIGRpZ2VzdCBoYXMgYmVlbiBjb21wdXRlZC4KKysgKgorKyAqICBQYXJhbWV0ZXJzOgorKyAqICAgICAgY29udGV4dDogW2luL291dF0KKysgKiAgICAgICAgICBUaGUgY29udGV4dCB0byBwYWQKKysgKiAgICAgIFByb2Nlc3NNZXNzYWdlQmxvY2s6IFtpbl0KKysgKiAgICAgICAgICBUaGUgYXBwcm9wcmlhdGUgU0hBKlByb2Nlc3NNZXNzYWdlQmxvY2sgZnVuY3Rpb24KKysgKiAgUmV0dXJuczoKKysgKiAgICAgIE5vdGhpbmcuCisrICoKKysgKi8KKysKKyt2b2lkIFNIQTFQYWRNZXNzYWdlKFNIQTFDb250ZXh0ICpjb250ZXh0KQorK3sKKysgICAgLyoKKysgICAgICogIENoZWNrIHRvIHNlZSBpZiB0aGUgY3VycmVudCBtZXNzYWdlIGJsb2NrIGlzIHRvbyBzbWFsbCB0byBob2xkCisrICAgICAqICB0aGUgaW5pdGlhbCBwYWRkaW5nIGJpdHMgYW5kIGxlbmd0aC4gIElmIHNvLCB3ZSB3aWxsIHBhZCB0aGUKKysgICAgICogIGJsb2NrLCBwcm9jZXNzIGl0LCBhbmQgdGhlbiBjb250aW51ZSBwYWRkaW5nIGludG8gYSBzZWNvbmQKKysgICAgICogIGJsb2NrLgorKyAgICAgKi8KKysgICAgaWYgKGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tfSW5kZXggPiA1NSkKKysgICAgeworKyAgICAgICAgY29udGV4dC0+TWVzc2FnZV9CbG9ja1tjb250ZXh0LT5NZXNzYWdlX0Jsb2NrX0luZGV4KytdID0gMHg4MDsKKysgICAgICAgIHdoaWxlKGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tfSW5kZXggPCA2NCkKKysgICAgICAgIHsKKysgICAgICAgICAgICBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrW2NvbnRleHQtPk1lc3NhZ2VfQmxvY2tfSW5kZXgrK10gPSAwOworKyAgICAgICAgfQorKworKyAgICAgICAgU0hBMVByb2Nlc3NNZXNzYWdlQmxvY2soY29udGV4dCk7CisrCisrICAgICAgICB3aGlsZShjb250ZXh0LT5NZXNzYWdlX0Jsb2NrX0luZGV4IDwgNTYpCisrICAgICAgICB7CisrICAgICAgICAgICAgY29udGV4dC0+TWVzc2FnZV9CbG9ja1tjb250ZXh0LT5NZXNzYWdlX0Jsb2NrX0luZGV4KytdID0gMDsKKysgICAgICAgIH0KKysgICAgfQorKyAgICBlbHNlCisrICAgIHsKKysgICAgICAgIGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbY29udGV4dC0+TWVzc2FnZV9CbG9ja19JbmRleCsrXSA9IDB4ODA7CisrICAgICAgICB3aGlsZShjb250ZXh0LT5NZXNzYWdlX0Jsb2NrX0luZGV4IDwgNTYpCisrICAgICAgICB7CisrICAgICAgICAgICAgY29udGV4dC0+TWVzc2FnZV9CbG9ja1tjb250ZXh0LT5NZXNzYWdlX0Jsb2NrX0luZGV4KytdID0gMDsKKysgICAgICAgIH0KKysgICAgfQorKworKyAgICAvKgorKyAgICAgKiAgU3RvcmUgdGhlIG1lc3NhZ2UgbGVuZ3RoIGFzIHRoZSBsYXN0IDggb2N0ZXRzCisrICAgICAqLworKyAgICBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrWzU2XSA9IGNvbnRleHQtPkxlbmd0aF9IaWdoID4+IDI0OworKyAgICBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrWzU3XSA9IGNvbnRleHQtPkxlbmd0aF9IaWdoID4+IDE2OworKyAgICBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrWzU4XSA9IGNvbnRleHQtPkxlbmd0aF9IaWdoID4+IDg7CisrICAgIGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbNTldID0gY29udGV4dC0+TGVuZ3RoX0hpZ2g7CisrICAgIGNvbnRleHQtPk1lc3NhZ2VfQmxvY2tbNjBdID0gY29udGV4dC0+TGVuZ3RoX0xvdyA+PiAyNDsKKysgICAgY29udGV4dC0+TWVzc2FnZV9CbG9ja1s2MV0gPSBjb250ZXh0LT5MZW5ndGhfTG93ID4+IDE2OworKyAgICBjb250ZXh0LT5NZXNzYWdlX0Jsb2NrWzYyXSA9IGNvbnRleHQtPkxlbmd0aF9Mb3cgPj4gODsKKysgICAgY29udGV4dC0+TWVzc2FnZV9CbG9ja1s2M10gPSBjb250ZXh0LT5MZW5ndGhfTG93OworKworKyAgICBTSEExUHJvY2Vzc01lc3NhZ2VCbG9jayhjb250ZXh0KTsKKyt9CitkaWZmIC0tZ2l0IGEvY29tbW9uL3NoYTEuaCBiL2NvbW1vbi9zaGExLmgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4xZDQ5YjFiCistLS0gL2Rldi9udWxsCisrKysgYi9jb21tb24vc2hhMS5oCitAQCAtMCwwICsxLDEwMSBAQAorKy8qCisrICogQ29weXJpZ2h0IChDKSBUaGUgSW50ZXJuZXQgU29jaWV0eSAoMjAwMSkuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorKyAqCisrICogVGhpcyBkb2N1bWVudCBhbmQgdHJhbnNsYXRpb25zIG9mIGl0IG1heSBiZSBjb3BpZWQgYW5kIGZ1cm5pc2hlZCB0bworKyAqIG90aGVycywgYW5kIGRlcml2YXRpdmUgd29ya3MgdGhhdCBjb21tZW50IG9uIG9yIG90aGVyd2lzZSBleHBsYWluIGl0CisrICogb3IgYXNzaXN0IGluIGl0cyBpbXBsZW1lbnRhdGlvbiBtYXkgYmUgcHJlcGFyZWQsIGNvcGllZCwgcHVibGlzaGVkCisrICogYW5kIGRpc3RyaWJ1dGVkLCBpbiB3aG9sZSBvciBpbiBwYXJ0LCB3aXRob3V0IHJlc3RyaWN0aW9uIG9mIGFueQorKyAqIGtpbmQsIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGFyYWdyYXBoIGFyZQorKyAqIGluY2x1ZGVkIG9uIGFsbCBzdWNoIGNvcGllcyBhbmQgZGVyaXZhdGl2ZSB3b3Jrcy4gIEhvd2V2ZXIsIHRoaXMKKysgKiBkb2N1bWVudCBpdHNlbGYgbWF5IG5vdCBiZSBtb2RpZmllZCBpbiBhbnkgd2F5LCBzdWNoIGFzIGJ5IHJlbW92aW5nCisrICogdGhlIGNvcHlyaWdodCBub3RpY2Ugb3IgcmVmZXJlbmNlcyB0byB0aGUgSW50ZXJuZXQgU29jaWV0eSBvciBvdGhlcgorKyAqIEludGVybmV0IG9yZ2FuaXphdGlvbnMsIGV4Y2VwdCBhcyBuZWVkZWQgZm9yIHRoZSBwdXJwb3NlIG9mCisrICogZGV2ZWxvcGluZyBJbnRlcm5ldCBzdGFuZGFyZHMgaW4gd2hpY2ggY2FzZSB0aGUgcHJvY2VkdXJlcyBmb3IKKysgKiBjb3B5cmlnaHRzIGRlZmluZWQgaW4gdGhlIEludGVybmV0IFN0YW5kYXJkcyBwcm9jZXNzIG11c3QgYmUKKysgKiBmb2xsb3dlZCwgb3IgYXMgcmVxdWlyZWQgdG8gdHJhbnNsYXRlIGl0IGludG8gbGFuZ3VhZ2VzIG90aGVyIHRoYW4KKysgKiBFbmdsaXNoLgorKyAqCisrICogVGhlIGxpbWl0ZWQgcGVybWlzc2lvbnMgZ3JhbnRlZCBhYm92ZSBhcmUgcGVycGV0dWFsIGFuZCB3aWxsIG5vdCBiZQorKyAqIHJldm9rZWQgYnkgdGhlIEludGVybmV0IFNvY2lldHkgb3IgaXRzIHN1Y2Nlc3NvcnMgb3IgYXNzaWducy4KKysgKgorKyAqIFRoaXMgZG9jdW1lbnQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGlzIHByb3ZpZGVkIG9uIGFuCisrICogIkFTIElTIiBiYXNpcyBhbmQgVEhFIElOVEVSTkVUIFNPQ0lFVFkgQU5EIFRIRSBJTlRFUk5FVCBFTkdJTkVFUklORworKyAqIFRBU0sgRk9SQ0UgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTLCBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORworKyAqIEJVVCBOT1QgTElNSVRFRCBUTyBBTlkgV0FSUkFOVFkgVEhBVCBUSEUgVVNFIE9GIFRIRSBJTkZPUk1BVElPTgorKyAqIEhFUkVJTiBXSUxMIE5PVCBJTkZSSU5HRSBBTlkgUklHSFRTIE9SIEFOWSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKysgKiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCisrICovCisrCisrLyoKKysgKiAgc2hhMS5oCisrICoKKysgKiAgRGVzY3JpcHRpb246CisrICogICAgICBUaGlzIGlzIHRoZSBoZWFkZXIgZmlsZSBmb3IgY29kZSB3aGljaCBpbXBsZW1lbnRzIHRoZSBTZWN1cmUKKysgKiAgICAgIEhhc2hpbmcgQWxnb3JpdGhtIDEgYXMgZGVmaW5lZCBpbiBGSVBTIFBVQiAxODAtMSBwdWJsaXNoZWQKKysgKiAgICAgIEFwcmlsIDE3LCAxOTk1LgorKyAqCisrICogICAgICBNYW55IG9mIHRoZSB2YXJpYWJsZSBuYW1lcyBpbiB0aGlzIGNvZGUsIGVzcGVjaWFsbHkgdGhlCisrICogICAgICBzaW5nbGUgY2hhcmFjdGVyIG5hbWVzLCB3ZXJlIHVzZWQgYmVjYXVzZSB0aG9zZSB3ZXJlIHRoZSBuYW1lcworKyAqICAgICAgdXNlZCBpbiB0aGUgcHVibGljYXRpb24uCisrICoKKysgKiAgICAgIFBsZWFzZSByZWFkIHRoZSBmaWxlIHNoYTEuYyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKysgKgorKyAqLworKworKworKyNpZm5kZWYgX1NIQTFfSF8KKysjZGVmaW5lIF9TSEExX0hfCisrCisrI2luY2x1ZGUgPHN0ZGludC5oPgorKy8qCisrICogSWYgeW91IGRvIG5vdCBoYXZlIHRoZSBJU08gc3RhbmRhcmQgc3RkaW50LmggaGVhZGVyIGZpbGUsIHRoZW4geW91CisrICogbXVzdCB0eXBkZWYgdGhlIGZvbGxvd2luZzoKKysgKiAgICBuYW1lICAgICAgICAgICAgICBtZWFuaW5nCisrICogIHVpbnQzMl90ICAgICAgICAgdW5zaWduZWQgMzIgYml0IGludGVnZXIKKysgKiAgdWludDhfdCAgICAgICAgICB1bnNpZ25lZCA4IGJpdCBpbnRlZ2VyIChpLmUuLCB1bnNpZ25lZCBjaGFyKQorKyAqICBpbnRfbGVhc3QxNl90ICAgIGludGVnZXIgb2YgPj0gMTYgYml0cworKyAqCisrICovCisrCisrI2lmbmRlZiBfU0hBX2VudW1fCisrI2RlZmluZSBfU0hBX2VudW1fCisrZW51bQorK3sKKysgICAgc2hhU3VjY2VzcyA9IDAsCisrICAgIHNoYU51bGwsICAgICAgICAgICAgLyogTnVsbCBwb2ludGVyIHBhcmFtZXRlciAqLworKyAgICBzaGFJbnB1dFRvb0xvbmcsICAgIC8qIGlucHV0IGRhdGEgdG9vIGxvbmcgKi8KKysgICAgc2hhU3RhdGVFcnJvciAgICAgICAvKiBjYWxsZWQgSW5wdXQgYWZ0ZXIgUmVzdWx0ICovCisrfTsKKysjZW5kaWYKKysjZGVmaW5lIFNIQTFIYXNoU2l6ZSAyMAorKworKy8qCisrICogIFRoaXMgc3RydWN0dXJlIHdpbGwgaG9sZCBjb250ZXh0IGluZm9ybWF0aW9uIGZvciB0aGUgU0hBLTEKKysgKiAgaGFzaGluZyBvcGVyYXRpb24KKysgKi8KKyt0eXBlZGVmIHN0cnVjdCBTSEExQ29udGV4dAorK3sKKysgICAgdWludDMyX3QgSW50ZXJtZWRpYXRlX0hhc2hbU0hBMUhhc2hTaXplLzRdOyAvKiBNZXNzYWdlIERpZ2VzdCAgKi8KKysKKysgICAgdWludDMyX3QgTGVuZ3RoX0xvdzsgICAgICAgICAgICAvKiBNZXNzYWdlIGxlbmd0aCBpbiBiaXRzICAgICAgKi8KKysgICAgdWludDMyX3QgTGVuZ3RoX0hpZ2g7ICAgICAgICAgICAvKiBNZXNzYWdlIGxlbmd0aCBpbiBiaXRzICAgICAgKi8KKysKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSW5kZXggaW50byBtZXNzYWdlIGJsb2NrIGFycmF5ICAgKi8KKysgICAgaW50X2xlYXN0MTZfdCBNZXNzYWdlX0Jsb2NrX0luZGV4OworKyAgICB1aW50OF90IE1lc3NhZ2VfQmxvY2tbNjRdOyAgICAgIC8qIDUxMi1iaXQgbWVzc2FnZSBibG9ja3MgICAgICAqLworKworKyAgICBpbnQgQ29tcHV0ZWQ7ICAgICAgICAgICAgICAgLyogSXMgdGhlIGRpZ2VzdCBjb21wdXRlZD8gICAgICAgICAqLworKyAgICBpbnQgQ29ycnVwdGVkOyAgICAgICAgICAgICAvKiBJcyB0aGUgbWVzc2FnZSBkaWdlc3QgY29ycnVwdGVkPyAqLworK30gU0hBMUNvbnRleHQ7CisrCisrLyoKKysgKiAgRnVuY3Rpb24gUHJvdG90eXBlcworKyAqLworK2ludCBTSEExUmVzZXQoICBTSEExQ29udGV4dCAqKTsKKytpbnQgU0hBMUlucHV0KCAgU0hBMUNvbnRleHQgKiwKKysgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqLAorKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQpOworK2ludCBTSEExUmVzdWx0KCBTSEExQ29udGV4dCAqLAorKyAgICAgICAgICAgICAgICB1aW50OF90IE1lc3NhZ2VfRGlnZXN0W1NIQTFIYXNoU2l6ZV0pOworKworKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlcl8wLjkuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJ2bmNzZXJ2ZXIvbGlidm5jc2VydmVyXzAuOS4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzViMTdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlcl8wLjkuMTAuYmIKQEAgLTAsMCArMSwyNCBAQAorREVTQ1JJUFRJT04gPSAibGlicmFyeSBmb3IgZWFzeSBpbXBsZW1lbnRhdGlvbiBvZiBhIFJEUC9WTkMgc2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9saWJ2bmMuZ2l0aHViLmlvIgorU0VDVElPTiA9ICJsaWJzIgorUFJJT1JJVFkgPSAib3B0aW9uYWwiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzYxYjZiODM3Y2FkMjZjNjkwMGE5MjZiNjJhYWRhNWYiCisKK0RFUEVORFMgKz0gInpsaWIgbGlic2RsIGpwZWcgbGlicG5nIGd0aysgbGliZ2NyeXB0IG5ldHRsZSBnbnV0bHMgZ21wIgorUkRFUEVORFNfJHtQTn0gKz0gImxpYnBuZyBndGsrIGxpYmdjcnlwdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnIHBrZ2NvbmZpZworCitTUkNfVVJJICA9ICJcCisJICR7REVCSUFOX01JUlJPUn0vbWFpbi9saWJ2L2xpYnZuY3NlcnZlci9saWJ2bmNzZXJ2ZXJfMC45LjEwK2Rmc2cub3JpZy50YXIueHogXAorCSBmaWxlOi8vMDAwMS1yZW1vdmUtd2ViY2xpZW50cy1idWlsZC5wYXRjaCBcCisJIGZpbGU6Ly8wMDAyLWNvbW1vbi1hZGQtc2hhMS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlODgzYjZjN2JkMzM5YTVlMWM0ODY0NTA1MWFiZTVjNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ODNmMjg4NjliODJhZWM1Nzc2OGQ3ZDE4Y2Q3ZmY4MWJmMDkyZWNiYmMxMjA5YjU4N2MyYzJjZDY4MzMwMjUwIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59LUxpYlZOQ1NlcnZlci0ke1BWfSIKKworVEFSR0VUX0xERkxBR1MgKz0gIi1sZ2NyeXB0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbHhkbS9seGRtLzAwMDEtbHhkbS5jb25mLmluLWJsYWNrbGlzdC1yb290LWZvci1yZWxlYXNlLWltYWdlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbS8wMDAxLWx4ZG0uY29uZi5pbi1ibGFja2xpc3Qtcm9vdC1mb3ItcmVsZWFzZS1pbWFnZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDllY2RiOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbS8wMDAxLWx4ZG0uY29uZi5pbi1ibGFja2xpc3Qtcm9vdC1mb3ItcmVsZWFzZS1pbWFnZXMucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSA1MDM4YzQ5YzBiNjFlMDU3ZGVjNDRjOTMyZjAyYzRiZjk5Y2VlOTZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogTW9uLCAzIFNlcCAyMDEyIDEwOjAyOjUxICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGx4ZG0uY29uZi5pbjogYmxhY2tsaXN0IHJvb3QgZm9yIHJlbGVhc2UgaW1hZ2VzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgZGF0YS9seGRtLmNvbmYuaW4gfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kYXRhL2x4ZG0uY29uZi5pbiBiL2RhdGEvbHhkbS5jb25mLmluCitpbmRleCBkZWZjMDgyLi43NTllNmU1IDEwMDY0NAorLS0tIGEvZGF0YS9seGRtLmNvbmYuaW4KKysrKyBiL2RhdGEvbHhkbS5jb25mLmluCitAQCAtNTgsNSArNTgsNSBAQCBkaXNhYmxlPTAKKyB3aGl0ZT0KKyAKKyAjIyBibGFja2xpc3QgdXNlcgorLWJsYWNrPQorK2JsYWNrPXJvb3QKKyAKKy0tIAorMS43LjQuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9seGRtL2x4ZG0vMDAwMi1sZXQtYXV0b3Rvb2xzLWNyZWF0ZS1seGRtLmNvbmYucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9seGRtL2x4ZG0vMDAwMi1sZXQtYXV0b3Rvb2xzLWNyZWF0ZS1seGRtLmNvbmYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVkYzEwYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbS8wMDAyLWxldC1hdXRvdG9vbHMtY3JlYXRlLWx4ZG0uY29uZi5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDBlYTAzMjlmMmMxOWE0M2FjZGM4NDQ0ZmE4OWUyMzNiYTYxNzk3M2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBNb24sIDYgT2N0IDIwMTQgMTM6MDY6MjQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbGV0IGF1dG90b29scyBjcmVhdGUgbHhkbS5jb25mCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK2luIG91dCBvZiB0cmVlIGJ1aWxkcyBseGRtLmNvbmYgaXMgZW1wdHkKKworVXBzdHJlYW0tU3RhdHVzOiBzdWJtaXR0ZWQgWzFdCisKK1sxXSBodHRwOi8vc291cmNlZm9yZ2UubmV0L3AvbHhkZS9tYWlsbWFuL21lc3NhZ2UvMzI5MDE0MTcvCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGRhdGEvbHhkbS5jb25mLmluIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kYXRhL2x4ZG0uY29uZi5pbiBiL2RhdGEvbHhkbS5jb25mLmluCitpbmRleCBkOTNmMjgwLi42MjA2MjYyIDEwMDY0NAorLS0tIGEvZGF0YS9seGRtLmNvbmYuaW4KKysrKyBiL2RhdGEvbHhkbS5jb25mLmluCitAQCAtMTksNyArMTksNyBAQAorICMgc2tpcF9wYXNzd29yZD0xCisgCisgIyMgZ3JlZXRlciB1c2VkIHRvIHdlbGNvbWUgdGhlIHVzZXIKKy1ncmVldGVyPUBGVUxMX0xJQkVYRUNESVJAL2x4ZG0tZ3JlZXRlci1ndGsKKytncmVldGVyPUBsaWJleGVjZGlyQC9seGRtLWdyZWV0ZXItZ3RrCisgCisgW3NlcnZlcl0KKyAjIyBhcmcgdXNlZCB0byBzdGFydCB4c2VydmVyLCBub3QgZnVsbHkgZnVuY3Rpb24KKy0tIAorMS44LjMuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9seGRtL2x4ZG0vbHhkbS1wYW0gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9seGRtL2x4ZG0vbHhkbS1wYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDg2NjIxZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbS9seGRtLXBhbQpAQCAtMCwwICsxLDEzIEBACisjJVBBTS0xLjAKKyMgdGFrZW4gZnJvbSBodHRwOi8vYXVyLmFyY2hsaW51eC5vcmcvcGFja2FnZXMvbHgvbHhkbS1naXQvbHhkbS1naXQudGFyLmd6CisjIGZ1cnRoZXIgaW5mbyBodHRwczovL3dpa2kuYXJjaGxpbnV4Lm9yZy9pbmRleC5waHAvTFhETQorYXV0aCAgICAgICAgICAgIHJlcXVpc2l0ZSAgICAgICBwYW1fbm9sb2dpbi5zbworYXV0aCAgICAgICAgICAgIHJlcXVpcmVkICAgICAgICBwYW1fZW52LnNvCithdXRoICAgICAgICAgICAgcmVxdWlyZWQgICAgICAgIHBhbV91bml4LnNvCisjIFRvIGFsbG93IHBhc3N3b3JkbGVzcyBsb2dpbiBjb21tZW50IHByZXZpb3VzIGxpbmUgYW5kIHVuY29tbWVudCBuZXh0IGxpbmUKKyNhdXRoICAgICAgICAgICAgcmVxdWlyZWQgICAgICAgIHBhbV91bml4LnNvIG51bGxvaworYWNjb3VudCAgICAgICAgIHJlcXVpcmVkICAgICAgICBwYW1fdW5peC5zbworc2Vzc2lvbiAgICAgICAgIHJlcXVpcmVkICAgICAgICBwYW1fbGltaXRzLnNvCitzZXNzaW9uICAgICAgICAgcmVxdWlyZWQgICAgICAgIHBhbV91bml4LnNvCitwYXNzd29yZCAgICAgICAgcmVxdWlyZWQgICAgICAgIHBhbV91bml4LnNvCistc2Vzc2lvbiBvcHRpb25hbCBwYW1fc3lzdGVtZC5zbwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbHhkbS9seGRtL2x4ZG0tcGFtLWRlYnVnIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbHhkbS9seGRtL2x4ZG0tcGFtLWRlYnVnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczNDk0OWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9seGRtL2x4ZG0vbHhkbS1wYW0tZGVidWcKQEAgLTAsMCArMSwxMyBAQAorIyVQQU0tMS4wCisjIHRha2VuIGZyb20gaHR0cDovL2F1ci5hcmNobGludXgub3JnL3BhY2thZ2VzL2x4L2x4ZG0tZ2l0L2x4ZG0tZ2l0LnRhci5negorIyBmdXJ0aGVyIGluZm8gaHR0cHM6Ly93aWtpLmFyY2hsaW51eC5vcmcvaW5kZXgucGhwL0xYRE0KK2F1dGggICAgICAgICAgICByZXF1aXNpdGUgICAgICAgcGFtX25vbG9naW4uc28KK2F1dGggICAgICAgICAgICByZXF1aXJlZCAgICAgICAgcGFtX2Vudi5zbworI2F1dGggICAgICAgICAgICByZXF1aXJlZCAgICAgICAgcGFtX3VuaXguc28KKyMgVG8gZGVueSBwYXNzd29yZGxlc3MgbG9naW4gY29tbWVudCBuZXh0IGxpbmUgYW5kIHVuY29tbWVudCBwcmV2aW91cyBsaW5lCithdXRoICAgICAgICAgICAgcmVxdWlyZWQgICAgICAgIHBhbV91bml4LnNvIG51bGxvaworYWNjb3VudCAgICAgICAgIHJlcXVpcmVkICAgICAgICBwYW1fdW5peC5zbworc2Vzc2lvbiAgICAgICAgIHJlcXVpcmVkICAgICAgICBwYW1fbGltaXRzLnNvCitzZXNzaW9uICAgICAgICAgcmVxdWlyZWQgICAgICAgIHBhbV91bml4LnNvCitwYXNzd29yZCAgICAgICAgcmVxdWlyZWQgICAgICAgIHBhbV91bml4LnNvCistc2Vzc2lvbiBvcHRpb25hbCBwYW1fc3lzdGVtZC5zbwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbHhkbS9seGRtL2x4ZG0uY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbS9seGRtLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE2ZTY3MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbS9seGRtLmNvbmYKQEAgLTAsMCArMSw0IEBACitbYmFzZV0KK2xhc3Rfc2Vzc2lvbj0KK2xhc3RfbGFuZz0KK2xhc3RfbGFuZ3M9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9seGRtL2x4ZG1fMC41LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9seGRtL2x4ZG1fMC41LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA3MTI5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2x4ZG0vbHhkbV8wLjUuMy5iYgpAQCAtMCwwICsxLDc4IEBACitTVU1NQVJZID0gIkxYRE0gaXMgdGhlIGxpZ2h0d2VpZ2h0IGRpc3BsYXkgbWFuYWdlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9ibG9nLmx4ZGUub3JnLz9wPTUzMSIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK1NSQ19VUkkgPSAiIFwKKyAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC8ke0JQTn0vJHtCUE59JTIwJHtQVn0vJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgZmlsZTovL2x4ZG0uY29uZiBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnZmlsZTovL2x4ZG0tcGFtIGZpbGU6Ly9seGRtLXBhbS1kZWJ1ZycsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fVFlQRSIsICJkZWJ1ZyIsICIiLCAiZmlsZTovLzAwMDEtbHhkbS5jb25mLmluLWJsYWNrbGlzdC1yb290LWZvci1yZWxlYXNlLWltYWdlcy5wYXRjaCIsZCl9IFwKKyAgICBmaWxlOi8vMDAwMi1sZXQtYXV0b3Rvb2xzLWNyZWF0ZS1seGRtLmNvbmYucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjA2MWNhYWU0MzI2MzRlNmRiMzhiYmRjODRiYzZmZmEwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ4OTFlZmVlODFjNzJhNDAwY2M2NzAzZTQwYWE3NmYzZjM4NTM4MzNkMDQ4YjcyZWM4MDVkYTBmOTM1NjdmMmYiCisKK1BFID0gIjEiCisKK0RFUEVORFMgPSAidmlydHVhbC9saWJpbnRsIGludGx0b29sLW5hdGl2ZSBjYWlybyBkYnVzIGdkay1waXhidWYgZ2xpYi0yLjAgZ3RrKyB2aXJ0dWFsL2xpYngxMSBsaWJ4Y2IgcGFuZ28gaXNvLWNvZGVzIgorREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzeXN0ZW1kIiwgIiIsICJjb25zb2xla2l0IiwgZCl9IgorCisjIGNvbWJpbmUgb2UtY29yZSB3YXkgd2l0aCBhbmdzdHJvbSBESVNUUk9fVFlQRQorRElTVFJPX1RZUEUgPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJJTUFHRV9GRUFUVVJFUyIsICJkZWJ1Zy10d2Vha3MiLCAiZGVidWciLCAiIixkKX0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IHN5c3RlbWQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK0NGTEFHU19hcHBlbmQgPSAiIC1mbm8tYnVpbHRpbi1mb3JrIC1mbm8tYnVpbHRpbi1tZW1zZXQgLWZuby1idWlsdGluLXN0cnN0ciAiCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtZ3RrMz1ubyAtLWVuYWJsZS1wYXNzd29yZD15ZXMgLS13aXRoLXggLXdpdGgteGNvbm49eGNiIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vIC0tZGlzYWJsZS1jb25zb2xla2l0JywgJy0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcicsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnLS13aXRoLXBhbScsICctLXdpdGhvdXQtcGFtJywgZCl9IFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgY3AgJHtTVEFHSU5HX0RBVEFESVJ9L2dldHRleHQvcG8vTWFrZWZpbGUuaW4uaW4gJHtTfS9wby8KK30KKworZG9fY29tcGlsZV9hcHBlbmQoKSB7CisgICAgIyBkZWZhdWx0IGJhY2tncm91bmQgY29uZmlndXJlZCBub3QgYXZhaWxhYmxlIC8gbm8gcGFzc3dvcmQgZmllbGQgYXZhaWxhYmxlIC8gbm8gZGVmYXVsdCBzY3JlZW5zYXZlcgorICAgIHNlZCAtaSAgICAgLWUgJ3MsYmc9LCMgYmc9LGcnIFwKKyAgICAgICAgLWUgJ3MsIyBza2lwX3Bhc3N3b3JkPSxza2lwX3Bhc3N3b3JkPSxnJyBcCisgICAgICAgIC1lICdzLCMgYXJnPS4qLGFyZz0ke2JpbmRpcn0vWCAtcyAwLGcnIFwKKyAgICAgICAgJHtTfS9kYXRhL2x4ZG0uY29uZi5pbgorICAgICMgYWRkIGRlZmF1bHQgY29uZmlndXJhdGlvbgorICAgIG9lX3J1bm1ha2UgLUMgJHtCfS9kYXRhIGx4ZG0uY29uZgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9seGRtCisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9seGRtLmNvbmYgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2x4ZG0KKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgICMgQXJjaExpbnV4IHZlcnNpb24gb2YgcGFtIGNvbmZpZyBoYXMgdGhlIGZvbGxvd2luZyBhZHZhbnRhZ2VzOgorICAgICAgICAjICogc2ltcGxlIHNldHVwIG9mIHBhc3N3b3JkbGVzcyBsb2dpbgorICAgICAgICAjICogaW4gWEZDRSBwb3dlcmRvd24vcmVzdGFydCBlbmFibGVkIGluIGxvZ29mZiBkaWFsb2cKKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS8ke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX1RZUEUiLCAiZGVidWciLCAibHhkbS1wYW0tZGVidWciLCAibHhkbS1wYW0iLGQpfSAke0R9JHtzeXNjb25mZGlyfS9wYW0uZC9seGRtCisgICAgZmkKK30KKworIyBtYWtlIGluc3RhbGxlZCBsYW5ndWFnZXMgY2hvb3NhYmxlCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworbGFuZ3M9IiIKK2ZvciBsYW5nIGluIGBmaW5kICREJHtsaWJkaXJ9L2xvY2FsZSAtbWF4ZGVwdGggMSB8IGdyZXAgXyB8IHNvcnRgOyBkbworbGFuZz1gYmFzZW5hbWUgJGxhbmdgCitpZiBbICJ4JGxhbmdzIiA9ICJ4IiBdOyB0aGVuCisgICAgbGFuZ3M9IiRsYW5nIgorZWxzZQorICAgbGFuZ3M9IiRsYW5ncyAkbGFuZyIKK2ZpCitkb25lCitzZWQgLWkgInM6bGFzdF9sYW5ncz0uKiQ6bGFzdF9sYW5ncz0kbGFuZ3M6ZyIgJEQke2xvY2Fsc3RhdGVkaXJ9L2xpYi9seGRtL2x4ZG0uY29uZgorfQorCitSREVQRU5EU18ke1BOfSA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0tcGx1Z2luLWxvZ2ludWlkJywgJycsIGQpfSBzZXR4a2JtYXAgYmFzaCBsaWJyc3ZnLWd0ayIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJseGRtLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZ2x1dF84LjAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbHV0XzguMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwNGVlNTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZ2x1dF84LjAuMS5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIk9wZW5HTCBVdGlsaXR5IFRvb2xraXQiCitMSUNFTlNFID0gIktpbGdhcmQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9pbmNsdWRlL0dML2dsdXQuaDttZDU9NGFhYjYyNmM4MzBhZWQ3OWQ3YjJlNWE3NmRmYTJkZDY7c3RhcnRsaW5lPTQ7ZW5kbGluZT04IgorCitTUkNfVVJJID0gImdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL21lc2EvZ2x1dCIKKworU1JDUkVWID0gImVlODllOWFlYjQ5NjA0YjAzNmUwNmYxZGY2NDc4ZDMyMDA2YjMwY2QiCitQViA9ICI4LjAuMCtnaXQke1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJ4bXUgbGlieGkgdmlydHVhbC9saWJnbCBsaWJnbHUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9udW1sb2NreC9udW1sb2NreF8xLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9udW1sb2NreC9udW1sb2NreF8xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhkN2Y1YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL251bWxvY2t4L251bWxvY2t4XzEuMi5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkVuYWJsZSBOdW1Mb2NrIGluIFgxMSBzZXNzaW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly9ob21lLmtkZS5vcmcvfnNlbGkvbnVtbG9ja3gvIgorU0VDVElPTiA9ICJ4MTEvYXBwcyIKK0xJQ0VOU0UgPSAiTUlULVgiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kY2IxY2M3NWUyMTU0MGE0YTY2YjU0ZTM4ZDk1YjA0NyIKK0RFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgbGlieHRzdCIKKworU1JDX1VSSSA9ICJodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9yZXBvL3BrZ3MvbnVtbG9ja3gvbnVtbG9ja3gtJHtQVn0udGFyLmd6L2JlOTEwOTM3MDQ0N2VhZTIzZjZmM2Y4NTI3YmIxYTY3L251bWxvY2t4LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImJlOTEwOTM3MDQ0N2VhZTIzZjZmM2Y4NTI3YmIxYTY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU0NjhlYjkxMjFjOTRjOTA4OWRjNmEyODdlZWIzNDdlOTAwY2UwNGExNGJlMzdkYTI5ZDc2OTZjYmNlNzcyZTQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitFWFRSQV9PRUNPTkYgPSAiLS14LWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXgtbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9IgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIHJlbW92ZSB0aGlzIGZyb20gYWNpbmNsdWRlLm00IG9yIGJ1aWxkIGZhaWxzCisgICAgc2VkIC1pICcvX0FDX1BBVEhfWF9YTUtNRi9kJyAke1N9L2FjaW5jbHVkZS5tNAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvb3BlbmJveC9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLWF2b2lkLXJhY2Utd2hlbi1jcmVhdGluZy1hdXRvc3RhcnQtZGlyZWMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9vcGVuYm94L2ZpbGVzLzAwMDEtTWFrZWZpbGUuYW0tYXZvaWQtcmFjZS13aGVuLWNyZWF0aW5nLWF1dG9zdGFydC1kaXJlYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzYyZTFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvb3BlbmJveC9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLWF2b2lkLXJhY2Utd2hlbi1jcmVhdGluZy1hdXRvc3RhcnQtZGlyZWMucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorRnJvbSA2YmJkZTg0YTIxOTdjOTdlNDlkOWU2NDExOGE5Nzk3MjgyMDllNDM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogV2VkLCAyMyBTZXAgMjAxNSAyMzoyMTo0MiArMDIwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogYXZvaWQgcmFjZSB3aGVuIGNyZWF0aW5nIGF1dG9zdGFydCBkaXJlY3RvcmllcworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitmaXhlczoKKworfCBtYWtlOiBjcmVhdGluZyBkYXRhL3hzZXNzaW9uL29wZW5ib3gtZ25vbWUtc2Vzc2lvbgorfCBtYWtlOiBjcmVhdGluZyBkYXRhL3hzZXNzaW9uL29wZW5ib3gtc2Vzc2lvbgorfCBtYWtlOiBjcmVhdGluZyBkYXRhL3hzZXNzaW9uL29wZW5ib3gta2RlLXNlc3Npb24KK3wgbWFrZTogY3JlYXRpbmcgZGF0YS9hdXRvc3RhcnQvb3BlbmJveC1hdXRvc3RhcnQKK3wgbWFrZTogY3JlYXRpbmcgZG9jL29wZW5ib3guMQorfCBtYWtlOiBjcmVhdGluZyBkYXRhL2F1dG9zdGFydC9hdXRvc3RhcnQKK3wgbWFrZTogY3JlYXRpbmcgZG9jL29wZW5ib3gtc2Vzc2lvbi4xCit8IG1ha2U6IGNyZWF0aW5nIGRvYy9vcGVuYm94LWdub21lLXNlc3Npb24uMQorfCBtYWtlOiBjcmVhdGluZyBkb2Mvb3BlbmJveC1rZGUtc2Vzc2lvbi4xCit8IG1ha2U6IGNyZWF0aW5nIGRvYy9vYnhwcm9wLjEKK3wgbWtkaXI6IGNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICcuL2RhdGEvYXV0b3N0YXJ0JzogRmlsZSBleGlzdHMKK3wgTWFrZWZpbGU6NDMyOTogcmVjaXBlIGZvciB0YXJnZXQgJ2RhdGEvYXV0b3N0YXJ0L2F1dG9zdGFydCcgZmFpbGVkCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZS5hbSB8IDYgKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IGYyNWJmOGUuLjMwNmU3N2QgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC01MDUsMTQgKzUwNSwxMiBAQCBlZGl0ID0gJChTRUQpIFwKKyAKKyBkYXRhL2F1dG9zdGFydC9hdXRvc3RhcnQ6ICQodG9wX3NyY2RpcikvZGF0YS9hdXRvc3RhcnQvYXV0b3N0YXJ0LmluIE1ha2VmaWxlCisgCUBlY2hvIG1ha2U6IGNyZWF0aW5nICRACistCUB0ZXN0IC1kICQoc2hlbGwgZGlybmFtZSAkKHRvcF9idWlsZGRpcikvJEApIHx8IFwKKy0JICBta2RpciAkKHNoZWxsIGRpcm5hbWUgJCh0b3BfYnVpbGRkaXIpLyRAKQorKwlta2RpciAtcCAkKHNoZWxsIGRpcm5hbWUgJCh0b3BfYnVpbGRkaXIpLyRAKQorIAlAJChlZGl0KSAkPCA+JCh0b3BfYnVpbGRkaXIpLyRACisgCisgZGF0YS9hdXRvc3RhcnQvb3BlbmJveC1hdXRvc3RhcnQ6ICQodG9wX3NyY2RpcikvZGF0YS9hdXRvc3RhcnQvb3BlbmJveC1hdXRvc3RhcnQuaW4gTWFrZWZpbGUKKyAJQGVjaG8gbWFrZTogY3JlYXRpbmcgJEAKKy0JQHRlc3QgLWQgJChzaGVsbCBkaXJuYW1lICQodG9wX2J1aWxkZGlyKS8kQCkgfHwgXAorLQkgIG1rZGlyICQoc2hlbGwgZGlybmFtZSAkKHRvcF9idWlsZGRpcikvJEApCisrCW1rZGlyIC1wICQoc2hlbGwgZGlybmFtZSAkKHRvcF9idWlsZGRpcikvJEApCisgCUAkKGVkaXQpICQ8ID4kKHRvcF9idWlsZGRpcikvJEAKKyAKKyAlLmRlc2t0b3A6ICUuZGVza3RvcC5pbiBNYWtlZmlsZQorLS0gCisyLjEuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9vcGVuYm94L29wZW5ib3hfMy42LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9vcGVuYm94L29wZW5ib3hfMy42LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjM1NGFlNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL29wZW5ib3gvb3BlbmJveF8zLjYuMS5iYgpAQCAtMCwwICsxLDUzIEBACitTVU1NQVJZID0gIm9wZW5ib3ggV2luZG93IE1hbmFnZXIiCitTRUNUSU9OID0gIngxMS93bSIKK0RFUEVORFMgPSAiZ2xpYi0yLjAgcGFuZ28gbGlieG1sMiB2aXJ0dWFsL2xpYngxMSBsaWJjcm9jbyBsaWJyc3ZnIGdkay1waXhidWYiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL2ljY3VsdXMub3JnL29wZW5ib3gvcmVsZWFzZXMvb3BlbmJveC0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLWF2b2lkLXJhY2Utd2hlbi1jcmVhdGluZy1hdXRvc3RhcnQtZGlyZWMucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjcyNzk0OTk2YzZhM2FkOTQ2MzQ3MjdiOTVmOWQyMDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGI0YWMwNzYwMDE4Yzc3YzAwNDRmYWIwNmE0ZjBjNTEwYmE4N2VhZTkzNGQ5OTgzYjEwODc4NDgzYmRlN2VmNyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB1cGRhdGUtYWx0ZXJuYXRpdmVzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworQUxURVJOQVRJVkVfJHtQTn0tY29yZSA9ICJ4LXdpbmRvdy1tYW5hZ2VyIgorQUxURVJOQVRJVkVfVEFSR0VUW3gtd2luZG93LW1hbmFnZXJdID0gIiR7YmluZGlyfS9vcGVuYm94IgorQUxURVJOQVRJVkVfUFJJT1JJVFlbeC13aW5kb3ctbWFuYWdlcl0gPSAiMTAiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2ltbGliMl0gPSAiLS1lbmFibGUtaW1saWIyLC0tZGlzYWJsZS1pbWxpYjIsaW1saWIyIgorUEFDS0FHRUNPTkZJR1tzdGFydHVwLW5vdGlmaWNhdGlvbl0gPSAiLS1lbmFibGUtc3RhcnR1cC1ub3RpZmljYXRpb24sLS1kaXNhYmxlLXN0YXJ0dXAtbm90aWZpY2F0aW9uLHN0YXJ0dXAtbm90aWZpY2F0aW9uIgorUEFDS0FHRUNPTkZJR1t4cmFuZHJdID0gIi0tZW5hYmxlLXhyYW5kciwtLWRpc2FibGUteHJhbmRyLGxpYnhyYW5kciIKK1BBQ0tBR0VDT05GSUdbeGluZXJhbWFdID0gIi0tZW5hYmxlLXhpbmVyYW1hLC0tZGlzYWJsZS14aW5lcmFtYSxsaWJ4aW5lcmFtYSIKK1BBQ0tBR0VDT05GSUdbeGN1cnNvcl0gPSAiLS1lbmFibGUteGN1cnNvciwtLWRpc2FibGUteGN1cnNvcixsaWJ4Y3Vyc29yIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tY29yZSAke1BOfS1seGRlICR7UE59LWdub21lICR7UE59LWNvbmZpZyIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7UE59LXRoZW1lLS4qIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKKyAgICB0aGVtZV9kaXIgPSBkLmV4cGFuZCgnJHtkYXRhZGlyfS90aGVtZXMvJykKKyAgICB0aGVtZV9uYW1lID0gZC5leHBhbmQoJyR7UE59LXRoZW1lLSVzJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCB0aGVtZV9kaXIsICcoLiopJywgdGhlbWVfbmFtZSwgJyR7UE59IHRoZW1lIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2RpcnM9VHJ1ZSkKK30KKworUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LWNvcmUgJHtQTn0tY29uZmlnICR7UE59LXRoZW1lLWNsZWFybG9va3MiCitGSUxFU18ke1BOfS1jb3JlID0gIiR7YmluZGlyfS9vcGVuYm94ICR7bGliZGlyfS8qJHtTT0xJQlN9IgorCitGSUxFU18ke1BOfS1seGRlICs9ICIke2RhdGFkaXJ9L2x4ZGUvIFwKKyAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vbHhwYW5lbCBcCisgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3hzZXNzaW9ucyBcCisgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2ljb25zIgorCitGSUxFU18ke1BOfS1nbm9tZSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2dub21lIFwKKyAgICAke2RhdGFkaXJ9L2dub21lLXNlc3Npb24gXAorIgorCitGSUxFU18ke1BOfS1jb25maWcgKz0gIiR7c3lzY29uZmRpcn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9vcGVuanBlZy9vcGVuanBlZ18yLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL29wZW5qcGVnL29wZW5qcGVnXzIuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyOGE4NjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9vcGVuanBlZy9vcGVuanBlZ18yLjEuMC5iYgpAQCAtMCwwICsxLDE5IEBACitERVNDUklQVElPTiA9ICJPcGVuSlBFRyBsaWJyYXJ5IGlzIGFuIG9wZW4tc291cmNlIEpQRUcgMjAwMCBjb2RlYyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbmpwZWcub3JnL2luZGV4LnBocD9tZW51PW1haW4iCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzY0ODg3OGI0ODQwZDdiYWJhYWRlMTMwM2U3ZjEwOGMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvJHtCUE59Lm1pcnJvci8ke1BWfS8ke0JQTn0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImY2NDE5ZmNjMjMzZGY4NGY5YTgxZWIzNjYzM2M2ZGI2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEyMzJiYjgxNGZkODhkOGVkMzE0Yzk0ZjBiZmViYjAzZGU4NTU5NTgzYTMzYWJiZThjNjRlZjNmYzBhOGZmMDMiCisKK2luaGVyaXQgY21ha2UKKworREVQRU5EUyA9ICJsaWJwbmcgdGlmZiBsY21zIgorCisjIHN0YW5kYXJkIHBhdGggZm9yICouY21ha2UKK0VYVFJBX09FQ01BS0UgKz0gIi1ET1BFTkpQRUdfSU5TVEFMTF9QQUNLQUdFX0RJUj0ke2Jhc2VsaWJ9L2NtYWtlIFwKKyAgICAgICAgICAgICAgICAgIC1ET1BFTkpQRUdfSU5TVEFMTF9MSUJfRElSOlBBVEg9JHtsaWJkaXJ9IgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9jbWFrZS8qLmNtYWtlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtZm9udHMtdHJ1ZXR5cGUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1mb250cy10cnVldHlwZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzJlN2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtZm9udHMtdHJ1ZXR5cGUuYmIKQEAgLTAsMCArMSw0MCBAQAorU1VNTUFSWSA9ICJJbnN0YWxsIG9uZSBvZiB0aGVzZSB0YXNrcyB0byBnZXQgc3VwcG9ydCBmb3IgdHJ1ZXR5cGUgZm9udHMiCitTRUNUSU9OID0gImZvbnRzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKK1BWID0gIjEuMCIKK1BSID0gInIyIgorCitpbmhlcml0IHBhY2thZ2Vncm91cCBhbGxhcmNoCisKK1BBQ0tBR0VTICs9ICJcCisgICAgJHtQTn0tY29yZSBcCisgICAgJHtQTn0tY2hpbmVzZSBcCisgICAgJHtQTn0tamFwYW5lc2UgXAorIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJcCisgICAgJHtQTn0tY29yZSBcCisgICAgJHtQTn0tY2hpbmVzZSBcCisgICAgJHtQTn0tamFwYW5lc2UgXAorIgorCitSREVQRU5EU18ke1BOfS1jb3JlID0gIlwKKyAgICBmb250Y29uZmlnLXV0aWxzIFwKKyAgICBcCisgICAgdHRmLWRlamF2dS1jb21tb24gXAorICAgIHR0Zi1kZWphdnUtc2FucyBcCisgICAgdHRmLWRlamF2dS1zYW5zLW1vbm8gXAorIgorIyAgdHRmLWRlamF2dS1zZXJpZgorCitSREVQRU5EU18ke1BOfS1jaGluZXNlID0gIlwKKyAgICAke1BOfS1jb3JlIFwKKyAgICB0dGYtYXJwaGljLXVtaW5nIFwKKyIKKworUkRFUEVORFNfJHtQTn0tamFwYW5lc2UgPSAiXAorICAgICR7UE59LWNvcmUgXAorICAgIHR0Zi1zYXphbmFtaS1nb3RoaWMgXAorICAgIHR0Zi1zYXphbmFtaS1taW5jaG8gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29tbV8yLjM2LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb21tXzIuMzYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzM4MTUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29tbV8yLjM2LjAuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJDKysgYmluZGluZ3MgZm9yIHRoZSBwYW5nbyBsaWJyYXJ5IgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy50b29sczttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAibW0tY29tbW9uIGNhaXJvbW0gZ2xpYm1tIHBhbmdvIgorCitTSFJUX1ZFUiA9ICIke0BkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicsMSkuc3BsaXQoJy4nKVsxXX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvcGFuZ29tbS8ke1NIUlRfVkVSfS9wYW5nb21tLSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MjkxMDcyMzIxMWQ4NmFiODI1YjY2NmI0Nzk4NzFjOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhOGQ5Njk1MmM3MDhkNzcyNmJlZDI2MGQ2OTNjZWNlNTU0ZjhmMDBlNDhiOTdjY2NmYmY0ZjU2OTBiNjgyMWYwIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIiAtLWRpc2FibGUtZG9jdW1lbnRhdGlvbiAiCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWIqLnNvLioiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8qL2luY2x1ZGUvICR7bGliZGlyfS9wYW5nb21tLSovIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9xcmVuY29kZS9xcmVuY29kZV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9xcmVuY29kZS9xcmVuY29kZV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmExNTlhNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3FyZW5jb2RlL3FyZW5jb2RlX2dpdC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIkMgbGlicmFyeSBmb3IgZW5jb2RpbmcgZGF0YSBpbiBhIFFSIENvZGUgc3ltYm9sIgorQVVUSE9SID0gIktlbnRhcm8gRnVrdWNoaSIKK0hPTUVQQUdFID0gImh0dHA6Ly9mdWt1Y2hpLm9yZy93b3Jrcy9xcmVuY29kZS8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEiCitQViA9ICIzLjQuNCtnaXQke1NSQ1BWfSIKKworU1JDUkVWID0gIjFiNTY1YzdiNTk5MDI5ODE4ZmM1OTZlN2RhNDM3MWEzMDgzZGEzNmMiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZnVrdWNoaS9saWJxcmVuY29kZS5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aG91dC10b29scyAtLXdpdGhvdXQtdGVzdHMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwMi1GaXgtaW1hZ2UtaGFuZGxpbmctaW50ZWdlci1vdmVyZmxvd3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwMi1GaXgtaW1hZ2UtaGFuZGxpbmctaW50ZWdlci1vdmVyZmxvd3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU4MmQ2MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS8wMDAyLUZpeC1pbWFnZS1oYW5kbGluZy1pbnRlZ2VyLW92ZXJmbG93cy5wYXRjaApAQCAtMCwwICsxLDM0MyBAQAorRnJvbSAyNGU1NDhhMjIyZjBhYWI0MzEzZDViYThiMDRmMDg0MGIxNzMwMDBmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogaXdhbWF0c3UgPGl3YW1hdHN1QDdjNTNlN2NjLTk4ZWEtMDMxMC04ZjFmLWEwYjI0ZGE2MDQwOD4KK0RhdGU6IE1vbiwgMzAgQXVnIDIwMTAgMDE6MjQ6NTQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzhdIEZpeCBpbWFnZSBoYW5kbGluZyBpbnRlZ2VyIG92ZXJmbG93cworCitJbWFnZSBsb2FkaW5nIG1lbW9yeSBhbGxvY2F0aW9uIGlzIGJhc2VkIG9uIHRoZSBpbWFnZSB3aWR0aCBhbmQgaGVpZ2h0OgorIG1hbGxvYyhoZWlndGggKiB3aWR0aCAqIDMpLiAgUHJvdmlkaW5nIGFuIGltYWdlIHdpdGggbGFyZ2UgaGVpZ2h0IGFuZAord2lkdGggdmFsdWVzIGNhbiBjYXVzZSB0aGUgcmVzdWx0IG9mIHRoaXMgY2FsY3VsYXRpb24gdG8gZXhjZWVkIHRoZQorbWF4aW11bSB2YWx1ZSBvZiBhbiB1bnNpZ25lZCBpbnQgYW5kIHRodXMgY2F1c2VzIGFuIGludGVnZXIgb3ZlcmZsb3cuCitUaGUgcmVzdWx0OiB0b28gbGl0dGxlIG1lbW9yeSBpcyBhbGxvY2F0ZWQgYW5kIGFuIGhlYXAgb3ZlcmZsb3cgb2NjdXJzLgorCitUaGlzIHBhdGNoIHdhcyBiYXNlZCBieSBOaWVscyBIZWluZW4gPG5pZWxzQGZyZWVic2Qub3JnPgorVGhhbmtzIQorCitTaWduZWQtb2ZmLWJ5OiBOb2J1aGlybyBJd2FtYXRzdSA8aXdhbWF0c3VAbmlnYXVyaS5vcmc+CisKK2dpdC1zdm4taWQ6IHN2bjovL3N2bi5iZXJsaW9zLmRlL3NsaW0vdHJ1bmtAMTc2IDdjNTNlN2NjLTk4ZWEtMDMxMC04ZjFmLWEwYjI0ZGE2MDQwOAorLS0tCisgY29uc3QuaCB8ICAgIDMgKysKKyBqcGVnLmMgIHwgICA1MSArKysrKysrKysrKysrKystLS0tLS0tLS0tLQorIHBuZy5jICAgfCAgMTIyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCA5NiBpbnNlcnRpb25zKCspLCA4MCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbnN0LmggYi9jb25zdC5oCitpbmRleCBkZjA5ODljLi5hMThjNmYzIDEwMDY0NAorLS0tIGEvY29uc3QuaAorKysrIGIvY29uc3QuaAorQEAgLTQyLDQgKzQyLDcgQEAKKyAvLyB2YXJpYWJsZXMgcmVwbGFjZWQgaW4gcHJlLXNlc3Npb25fY21kIGFuZCBwb3N0LXNlc3Npb25fY21kCisgI2RlZmluZSBVU0VSX1ZBUiAgICAgICAiJXVzZXIiCisgCisrLy8gbWF4IGhlaWdodC93aWR0aCBmb3IgaW1hZ2VzCisrI2RlZmluZSBNQVhfRElNRU5TSU9OIDEwMDAwCisrCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvanBlZy5jIGIvanBlZy5jCitpbmRleCAxY2YxMDZjLi5lMWY4MzUyIDEwMDY0NAorLS0tIGEvanBlZy5jCisrKysgYi9qcGVnLmMKK0BAIC0yMiwxNiArMjIsMjIgQEAKKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgCisgI2luY2x1ZGUgPGpwZWdsaWIuaD4KKysjaW5jbHVkZSAiY29uc3QuaCIKKyAKKyBpbnQKKyByZWFkX2pwZWcoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCAqd2lkdGgsIGludCAqaGVpZ2h0LCB1bnNpZ25lZCBjaGFyICoqcmdiKQorIHsKKysgICAgaW50IHJldCA9IDA7CisgICAgIHN0cnVjdCBqcGVnX2RlY29tcHJlc3Nfc3RydWN0IGNpbmZvOworICAgICBzdHJ1Y3QganBlZ19lcnJvcl9tZ3IgamVycjsKKyAgICAgdW5zaWduZWQgY2hhciAqcHRyID0gTlVMTDsKKyAgICAgdW5zaWduZWQgaW50IGksIGlwb3M7CisgCisgICAgIEZJTEUgKmluZmlsZSA9IGZvcGVuKGZpbGVuYW1lLCAicmIiKTsKKysgICAgaWYgKGluZmlsZSA9PSBOVUxMKSB7CisrICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbiBub3QgZm9wZW4gZmlsZTogJXNcbiIsZmlsZW5hbWUpOworKyAgICAgICAgcmV0dXJuIHJldDsKKysgICAgfQorIAorICAgICBjaW5mby5lcnIgPSBqcGVnX3N0ZF9lcnJvcigmamVycik7CisgICAgIGpwZWdfY3JlYXRlX2RlY29tcHJlc3MoJmNpbmZvKTsKK0BAIC0zOSw0MyArNDUsMzkgQEAgcmVhZF9qcGVnKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgKndpZHRoLCBpbnQgKmhlaWdodCwgdW5zaWduZWQgY2hhciAqKnJnYikKKyAgICAganBlZ19yZWFkX2hlYWRlcigmY2luZm8sIFRSVUUpOworICAgICBqcGVnX3N0YXJ0X2RlY29tcHJlc3MoJmNpbmZvKTsKKyAKKysgICAgLyogUHJldmVudCBhZ2FpbnN0IGludGVnZXIgb3ZlcmZsb3cgKi8KKysgICAgaWYoY2luZm8ub3V0cHV0X3dpZHRoID49IE1BWF9ESU1FTlNJT04gfHwgY2luZm8ub3V0cHV0X2hlaWdodCA+PSBNQVhfRElNRU5TSU9OKSB7CisrICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVucmVhc29uYWJsZSBkaW1lbnNpb24gZm91bmQgaW4gZmlsZTogJXNcbiIsZmlsZW5hbWUpOworKyAgICAgICAgZ290byBjbG9zZV9maWxlOworKyAgICB9CisrCisgICAgICp3aWR0aCA9IGNpbmZvLm91dHB1dF93aWR0aDsKKyAgICAgKmhlaWdodCA9IGNpbmZvLm91dHB1dF9oZWlnaHQ7CisgCisgICAgIHJnYlswXSA9IG1hbGxvYygzICogY2luZm8ub3V0cHV0X3dpZHRoICogY2luZm8ub3V0cHV0X2hlaWdodCk7CistICAgIGlmIChyZ2JbMF0gPT0gTlVMTCkKKy0gICAgeworKyAgICBpZiAocmdiWzBdID09IE5VTEwpIHsKKyAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ2FuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBKUEVHIGZpbGUuXG4iKTsKKy0gICAgZmNsb3NlKGluZmlsZSk7CistICAgICAgICByZXR1cm4oMCk7CisrICAgICAgICBnb3RvIGNsb3NlX2ZpbGU7CisgICAgIH0KKyAKKy0gICAgaWYgKGNpbmZvLm91dHB1dF9jb21wb25lbnRzID09IDMpCistICAgIHsKKysgICAgaWYgKGNpbmZvLm91dHB1dF9jb21wb25lbnRzID09IDMpIHsKKyAgICAgICAgIHB0ciA9IHJnYlswXTsKKy0gICAgICAgIHdoaWxlIChjaW5mby5vdXRwdXRfc2NhbmxpbmUgPCBjaW5mby5vdXRwdXRfaGVpZ2h0KSAKKy0gICAgICAgIHsKKysgICAgICAgIHdoaWxlIChjaW5mby5vdXRwdXRfc2NhbmxpbmUgPCBjaW5mby5vdXRwdXRfaGVpZ2h0KSB7CisgICAgICAgICAgICAganBlZ19yZWFkX3NjYW5saW5lcygmY2luZm8sICZwdHIsIDEpOworICAgICAgICAgICAgIHB0ciArPSAzICogY2luZm8ub3V0cHV0X3dpZHRoOworICAgICAgICAgfQorLSAgICB9CistICAgIGVsc2UgaWYgKGNpbmZvLm91dHB1dF9jb21wb25lbnRzID09IDEpCistICAgIHsKKysgICAgfSBlbHNlIGlmIChjaW5mby5vdXRwdXRfY29tcG9uZW50cyA9PSAxKSB7CisgICAgICAgICBwdHIgPSBtYWxsb2MoY2luZm8ub3V0cHV0X3dpZHRoKTsKKy0gICAgICAgIGlmIChwdHIgPT0gTlVMTCkKKy0gICAgICAgIHsKKysgICAgICAgIGlmIChwdHIgPT0gTlVMTCkgeworICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ2FuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBKUEVHIGZpbGUuXG4iKTsKKy0gICAgICAgIGZjbG9zZShpbmZpbGUpOworLSAgICAgICAgICAgIHJldHVybigwKTsKKysgICAgICAgICAgICBnb3RvIHJnYl9mcmVlOworICAgICAgICAgfQorIAorICAgICAgICAgaXBvcyA9IDA7CistICAgICAgICB3aGlsZSAoY2luZm8ub3V0cHV0X3NjYW5saW5lIDwgY2luZm8ub3V0cHV0X2hlaWdodCkgCistICAgICAgICB7CisrICAgICAgICB3aGlsZSAoY2luZm8ub3V0cHV0X3NjYW5saW5lIDwgY2luZm8ub3V0cHV0X2hlaWdodCkgeworICAgICAgICAgICAgIGpwZWdfcmVhZF9zY2FubGluZXMoJmNpbmZvLCAmcHRyLCAxKTsKKyAKKy0gICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY2luZm8ub3V0cHV0X3dpZHRoOyBpKyspCistICAgICAgICAgICAgeworKyAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjaW5mby5vdXRwdXRfd2lkdGg7IGkrKykgeworICAgICAgICAgICAgICAgICBtZW1zZXQocmdiWzBdICsgaXBvcywgcHRyW2ldLCAzKTsKKyAgICAgICAgICAgICAgICAgaXBvcyArPSAzOworICAgICAgICAgICAgIH0KK0BAIC04NSw5ICs4NywxNiBAQCByZWFkX2pwZWcoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCAqd2lkdGgsIGludCAqaGVpZ2h0LCB1bnNpZ25lZCBjaGFyICoqcmdiKQorICAgICB9CisgCisgICAgIGpwZWdfZmluaXNoX2RlY29tcHJlc3MoJmNpbmZvKTsKKy0gICAganBlZ19kZXN0cm95X2RlY29tcHJlc3MoJmNpbmZvKTsKKyAKKysgICAgcmV0ID0gMTsKKysgICAgZ290byBjbG9zZV9maWxlOworKworK3JnYl9mcmVlOgorKyAgICBmcmVlKHJnYlswXSk7CisrCisrY2xvc2VfZmlsZToKKysgICAganBlZ19kZXN0cm95X2RlY29tcHJlc3MoJmNpbmZvKTsKKyAgICAgZmNsb3NlKGluZmlsZSk7CisgCistICAgIHJldHVybigxKTsKKysgICAgcmV0dXJuKHJldCk7CisgfQorZGlmZiAtLWdpdCBhL3BuZy5jIGIvcG5nLmMKK2luZGV4IGEyNjYxYzYuLjVjMDg2YzYgMTAwNjQ0CistLS0gYS9wbmcuYworKysrIGIvcG5nLmMKK0BAIC0yMiwxMiArMjIsMTMgQEAKKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgCisgI2luY2x1ZGUgPHBuZy5oPgorKyNpbmNsdWRlICJjb25zdC5oIgorIAorIGludAorIHJlYWRfcG5nKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgKndpZHRoLCBpbnQgKmhlaWdodCwgdW5zaWduZWQgY2hhciAqKnJnYiwgCisgICAgICB1bnNpZ25lZCBjaGFyICoqYWxwaGEpCisgeworLSAgICBGSUxFICppbmZpbGUgPSBmb3BlbihmaWxlbmFtZSwgInJiIik7CisrICAgIGludCByZXQgPSAwOworIAorICAgICBwbmdfc3RydWN0cCBwbmdfcHRyOworICAgICBwbmdfaW5mb3AgaW5mb19wdHI7CitAQCAtMzgsMzEgKzM5LDI3IEBAIHJlYWRfcG5nKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgKndpZHRoLCBpbnQgKmhlaWdodCwgdW5zaWduZWQgY2hhciAqKnJnYiwKKyAgICAgaW50IGJpdF9kZXB0aCwgY29sb3JfdHlwZSwgaW50ZXJsYWNlX3R5cGU7CisgICAgIGludCBpOworIAorKyAgICBGSUxFICppbmZpbGUgPSBmb3BlbihmaWxlbmFtZSwgInJiIik7CisrICAgIGlmIChpbmZpbGUgPT0gTlVMTCkgeworKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJDYW4gbm90IGZvcGVuIGZpbGU6ICVzXG4iLGZpbGVuYW1lKTsKKysgICAgICAgIHJldHVybiByZXQ7CisrICAgIH0KKysKKyAgICAgcG5nX3B0ciA9IHBuZ19jcmVhdGVfcmVhZF9zdHJ1Y3QoUE5HX0xJQlBOR19WRVJfU1RSSU5HLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBuZ192b2lkcCkgTlVMTCwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwbmdfZXJyb3JfcHRyKSBOVUxMLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBuZ19lcnJvcl9wdHIpIE5VTEwpOworLSAgICBpZiAoIXBuZ19wdHIpIAorLSAgICB7CistICAgICAgICBmY2xvc2UoaW5maWxlKTsKKy0gICAgICAgIHJldHVybigwKTsKKy0gICAgfQorKyAgICBpZiAoIXBuZ19wdHIpCisrICAgICAgICBnb3RvIGZpbGVfY2xvc2U7CisgICAKKyAgICAgaW5mb19wdHIgPSBwbmdfY3JlYXRlX2luZm9fc3RydWN0KHBuZ19wdHIpOworLSAgICBpZiAoIWluZm9fcHRyKQorLSAgICB7CisrICAgIGlmICghaW5mb19wdHIpIHsKKyAgICAgICAgIHBuZ19kZXN0cm95X3JlYWRfc3RydWN0KCZwbmdfcHRyLCAocG5nX2luZm9wcCkgTlVMTCwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocG5nX2luZm9wcCkgTlVMTCk7CistICAgICAgICBmY2xvc2UoaW5maWxlKTsKKy0gICAgICAgIHJldHVybigwKTsKKyAgICAgfQorICAgCisgICAgIGlmIChzZXRqbXAocG5nX3B0ci0+am1wYnVmKSkKKy0gICAgeworLSAgICAgICAgcG5nX2Rlc3Ryb3lfcmVhZF9zdHJ1Y3QoJnBuZ19wdHIsICZpbmZvX3B0ciwgKHBuZ19pbmZvcHApIE5VTEwpOworLSAgICAgICAgZmNsb3NlKGluZmlsZSk7CistICAgICAgICByZXR1cm4oMCk7CistICAgIH0KKysgICAgICAgIGdvdG8gcG5nX2Rlc3Ryb3k7CisgICAKKyAgICAgcG5nX2luaXRfaW8ocG5nX3B0ciwgaW5maWxlKTsKKyAgICAgcG5nX3JlYWRfaW5mbyhwbmdfcHRyLCBpbmZvX3B0cik7CitAQCAtNzAsMTggKzY3LDIzIEBAIHJlYWRfcG5nKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgKndpZHRoLCBpbnQgKmhlaWdodCwgdW5zaWduZWQgY2hhciAqKnJnYiwKKyAgICAgcG5nX2dldF9JSERSKHBuZ19wdHIsIGluZm9fcHRyLCAmdywgJmgsICZiaXRfZGVwdGgsICZjb2xvcl90eXBlLAorICAgICAgICAgICAgICAgICAgJmludGVybGFjZV90eXBlLCAoaW50ICopIE5VTEwsIChpbnQgKikgTlVMTCk7CisgCisrICAgIC8qIFByZXZlbnQgYWdhaW5zdCBpbnRlZ2VyIG92ZXJmbG93ICovCisrICAgIGlmKHcgPj0gTUFYX0RJTUVOU0lPTiB8fCBoID49IE1BWF9ESU1FTlNJT04pIHsKKysgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5yZWFzb25hYmxlIGRpbWVuc2lvbiBmb3VuZCBpbiBmaWxlOiAlc1xuIixmaWxlbmFtZSk7CisrICAgICAgICBnb3RvIHBuZ19kZXN0cm95OworKyAgICB9CisrCisgICAgICp3aWR0aCA9IChpbnQpIHc7CisgICAgICpoZWlnaHQgPSAoaW50KSBoOworICAgICAKKyAgICAgaWYgKGNvbG9yX3R5cGUgPT0gUE5HX0NPTE9SX1RZUEVfUkdCX0FMUEhBCistICAgIHx8IGNvbG9yX3R5cGUgPT0gUE5HX0NPTE9SX1RZUEVfR1JBWV9BTFBIQSkKKy0gICAgeworLSAgICBhbHBoYVswXSA9IG1hbGxvYygqd2lkdGggKiAqaGVpZ2h0KTsKKy0gICAgaWYgKGFscGhhWzBdID09IE5VTEwpCistICAgIHsKKy0gICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ2FuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBhbHBoYSBjaGFubmVsIGluIFBORyBmaWxlLlxuIik7CistICAgICAgICByZXR1cm4oMCk7IAorLSAgICB9CisrICAgICAgICB8fCBjb2xvcl90eXBlID09IFBOR19DT0xPUl9UWVBFX0dSQVlfQUxQSEEpIHsKKysgICAgICAgIGFscGhhWzBdID0gbWFsbG9jKCp3aWR0aCAqICpoZWlnaHQpOworKyAgICAgICAgaWYgKGFscGhhWzBdID09IE5VTEwpCisrICAgICAgICB7CisrICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJDYW4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGFscGhhIGNoYW5uZWwgaW4gUE5HIGZpbGUuXG4iKTsKKysgICAgICAgICAgICBnb3RvIHBuZ19kZXN0cm95OworKyAgICAgICAgfQorICAgICB9CisgCisgICAgIC8qIENoYW5nZSBhIHBhbGV0dGVkL2dyYXlzY2FsZSBpbWFnZSB0byBSR0IgKi8KK0BAIC05NCw2OCArOTYsNzAgQEAgcmVhZF9wbmcoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCAqd2lkdGgsIGludCAqaGVpZ2h0LCB1bnNpZ25lZCBjaGFyICoqcmdiLAorICAgICAgICAgcG5nX3NldF9ncmF5X3RvX3JnYihwbmdfcHRyKTsKKyAKKyAgICAgLyogSWYgdGhlIFBORyBmaWxlIGhhcyAxNiBiaXRzIHBlciBjaGFubmVsLCBzdHJpcCB0aGVtIGRvd24gdG8gOCAqLworLSAgICBpZiAoYml0X2RlcHRoID09IDE2KSBwbmdfc2V0X3N0cmlwXzE2KHBuZ19wdHIpOworKyAgICBpZiAoYml0X2RlcHRoID09IDE2KQorKyAgICAgICAgcG5nX3NldF9zdHJpcF8xNihwbmdfcHRyKTsKKyAKKyAgICAgLyogdXNlIDEgYnl0ZSBwZXIgcGl4ZWwgKi8KKyAgICAgcG5nX3NldF9wYWNraW5nKHBuZ19wdHIpOworIAorICAgICByb3dfcG9pbnRlcnMgPSBtYWxsb2MoKmhlaWdodCAqIHNpemVvZihwbmdfYnl0ZXApKTsKKy0gICAgaWYgKHJvd19wb2ludGVycyA9PSBOVUxMKQorLSAgICB7CisrICAgIGlmIChyb3dfcG9pbnRlcnMgPT0gTlVMTCkgeworICAgICAgICAgZnByaW50ZihzdGRlcnIsICJDYW4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIFBORyBmaWxlLlxuIik7CistICAgICAgICByZXR1cm4oMCk7CisrICAgICAgICBnb3RvIHBuZ19kZXN0cm95OworICAgICB9CisgCistICAgIGZvciAoaSA9IDA7IGkgPCAqaGVpZ2h0OyBpKyspCistICAgIHsKKysgICAgZm9yIChpID0gMDsgaSA8ICpoZWlnaHQ7IGkrKykgeworICAgICAgICAgcm93X3BvaW50ZXJzW2ldID0gbWFsbG9jKDQgKiAqd2lkdGgpOworLSAgICAgICAgaWYgKHJvd19wb2ludGVycyA9PSBOVUxMKQorLSAgICAgICAgeworKyAgICAgICAgaWYgKHJvd19wb2ludGVycyA9PSBOVUxMKSB7CisgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJDYW4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIFBORyBsaW5lLlxuIik7CistICAgICAgICAgICAgcmV0dXJuKDApOworKyAgICAgICAgICAgIGdvdG8gcm93c19mcmVlOworICAgICAgICAgfQorICAgICB9CisgCisgICAgIHBuZ19yZWFkX2ltYWdlKHBuZ19wdHIsIHJvd19wb2ludGVycyk7CisgCisgICAgIHJnYlswXSA9IG1hbGxvYygzICogKndpZHRoICogKmhlaWdodCk7CistICAgIGlmIChyZ2JbMF0gPT0gTlVMTCkKKy0gICAgeworKyAgICBpZiAocmdiWzBdID09IE5VTEwpIHsKKyAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ2FuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBQTkcgZmlsZS5cbiIpOworLSAgICAgICAgcmV0dXJuKDApOworKyAgICAgICAgZ290byByb3dzX2ZyZWU7CisgICAgIH0KKyAKKyAgICAgaWYgKGFscGhhWzBdID09IE5VTEwpCisgICAgIHsKKy0gICAgcHRyID0gcmdiWzBdOworLSAgICBmb3IgKGkgPSAwOyBpIDwgKmhlaWdodDsgaSsrKQorLSAgICB7CistICAgICAgICBtZW1jcHkocHRyLCByb3dfcG9pbnRlcnNbaV0sIDMgKiAqd2lkdGgpOworLSAgICAgICAgcHRyICs9IDMgKiAqd2lkdGg7CistICAgIH0KKy0gICAgfQorLSAgICBlbHNlCistICAgIHsKKy0gICAgaW50IGo7CistICAgIHB0ciA9IHJnYlswXTsKKy0gICAgZm9yIChpID0gMDsgaSA8ICpoZWlnaHQ7IGkrKykKKy0gICAgeworLSAgICAgICAgaW50IGlwb3MgPSAwOworLSAgICAgICAgZm9yIChqID0gMDsgaiA8ICp3aWR0aDsgaisrKQorLSAgICAgICAgeworLSAgICAgICAgKnB0cisrID0gcm93X3BvaW50ZXJzW2ldW2lwb3MrK107CistICAgICAgICAqcHRyKysgPSByb3dfcG9pbnRlcnNbaV1baXBvcysrXTsKKy0gICAgICAgICpwdHIrKyA9IHJvd19wb2ludGVyc1tpXVtpcG9zKytdOworLSAgICAgICAgYWxwaGFbMF1baSAqICp3aWR0aCArIGpdID0gcm93X3BvaW50ZXJzW2ldW2lwb3MrK107CisrICAgICAgICBwdHIgPSByZ2JbMF07CisrICAgICAgICBmb3IgKGkgPSAwOyBpIDwgKmhlaWdodDsgaSsrKSB7CisrICAgICAgICAgICAgbWVtY3B5KHB0ciwgcm93X3BvaW50ZXJzW2ldLCAzICogKndpZHRoKTsKKysgICAgICAgICAgICBwdHIgKz0gMyAqICp3aWR0aDsKKysgICAgICAgIH0KKysgICAgfSBlbHNlIHsKKysgICAgICAgIGludCBqOworKyAgICAgICAgcHRyID0gcmdiWzBdOworKyAgICAgICAgZm9yIChpID0gMDsgaSA8ICpoZWlnaHQ7IGkrKykgeworKyAgICAgICAgICAgIGludCBpcG9zID0gMDsKKysgICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgKndpZHRoOyBqKyspIHsKKysgICAgICAgICAgICAgICAgKnB0cisrID0gcm93X3BvaW50ZXJzW2ldW2lwb3MrK107CisrICAgICAgICAgICAgICAgICpwdHIrKyA9IHJvd19wb2ludGVyc1tpXVtpcG9zKytdOworKyAgICAgICAgICAgICAgICAqcHRyKysgPSByb3dfcG9pbnRlcnNbaV1baXBvcysrXTsKKysgICAgICAgICAgICAgICAgYWxwaGFbMF1baSAqICp3aWR0aCArIGpdID0gcm93X3BvaW50ZXJzW2ldW2lwb3MrK107CisrICAgICAgICAgICAgfQorICAgICAgICAgfQorLSAgICB9CisgICAgIH0KKyAKKy0gICAgcG5nX2Rlc3Ryb3lfcmVhZF9zdHJ1Y3QoJnBuZ19wdHIsICZpbmZvX3B0ciwgKHBuZ19pbmZvcHApIE5VTEwpOworKyAgICByZXQgPSAxOyAvKiBkYXRhIHJlYWRpbmcgaXMgT0sgKi8KKysKKytyb3dzX2ZyZWU6CisrICAgIGZvciAoaSA9IDA7IGkgPCAqaGVpZ2h0OyBpKyspIHsKKysgICAgICAgIGlmIChyb3dfcG9pbnRlcnNbaV0gIT0gTlVMTCApIHsKKysgICAgICAgICAgICBmcmVlKHJvd19wb2ludGVyc1tpXSk7CisrICAgICAgICB9CisrICAgIH0KKyAKKy0gICAgZm9yIChpID0gMDsgaSA8ICpoZWlnaHQ7IGkrKykgZnJlZShyb3dfcG9pbnRlcnNbaV0pOworICAgICBmcmVlKHJvd19wb2ludGVycyk7CisgCisrcG5nX2Rlc3Ryb3k6CisrICAgIHBuZ19kZXN0cm95X3JlYWRfc3RydWN0KCZwbmdfcHRyLCAmaW5mb19wdHIsIChwbmdfaW5mb3BwKSBOVUxMKTsKKysKKytmaWxlX2Nsb3NlOgorICAgICBmY2xvc2UoaW5maWxlKTsKKy0gICAgcmV0dXJuKDEpOworKyAgICByZXR1cm4ocmV0KTsKKyB9CistLSAKKzEuNi42LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltLzAwMDMtRml4LWJ1aWxkLWZhaWx1cmUtd2l0aC1sZC1hcy1uZWVkZWQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwMy1GaXgtYnVpbGQtZmFpbHVyZS13aXRoLWxkLWFzLW5lZWRlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzFjNGY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltLzAwMDMtRml4LWJ1aWxkLWZhaWx1cmUtd2l0aC1sZC1hcy1uZWVkZWQucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSA2YWFkOTEzZGRkNWNkYjQ3M2RiOWZhMjFhNWU4ZWNlYzU4ZGUxNzJiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogaXdhbWF0c3UgPGl3YW1hdHN1QDdjNTNlN2NjLTk4ZWEtMDMxMC04ZjFmLWEwYjI0ZGE2MDQwOD4KK0RhdGU6IFdlZCwgMTIgSmFuIDIwMTEgMDQ6NDE6MDIgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzhdIEZpeCBidWlsZCBmYWlsdXJlIHdpdGggbGQgLS1hcy1uZWVkZWQuCisKK1NpZ25lZC1vZmYtYnk6IE5vYnVoaXJvIEl3YW1hdHN1IDxpd2FtYXRzdUBuaWdhdXJpLm9yZz4KKworZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLmJlcmxpb3MuZGUvc2xpbS90cnVua0AxNzcgN2M1M2U3Y2MtOThlYS0wMzEwLThmMWYtYTBiMjRkYTYwNDA4CistLS0KKyBNYWtlZmlsZSB8ICAgIDQgKystLQorIDEgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggMTIxOWRlNC4uZmFmYTBlZiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTQsNyArNCw3IEBACisgIyB0byBmaXQgaW50byB5b3VyIG9wZXJhdGluZyBzeXN0ZW0gLyBkaXN0cmlidXRpb24KKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgQ1hYPS91c3IvYmluL2crKworLUNDPS91c3IvYmluL2djYworK0NDPS91c3IvYmluL2djYy00LjUKKyBDRkxBR1M9LVdhbGwgLUkuIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIvY29uZmlnIC1JL3Vzci9pbmNsdWRlL2xpYnBuZzEyIC1JL3Vzci9pbmNsdWRlCisgQ1hYRkxBR1M9JChDRkxBR1MpCisgTERGTEFHUz0tbFhmdCAtbFgxMSAtbGZyZWV0eXBlIC1sWHJlbmRlciAtbGZvbnRjb25maWcgLWxwbmcxMiAtbHogLWxtIC1sY3J5cHQgLWxYbXUgLWxwbmcgLWxqcGVnIC1scnQKK0BAIC0zMyw3ICszMyw3IEBAIGVuZGlmCisgYWxsOiBzbGltCisgCisgc2xpbTogJChPQkpFQ1RTKQorLQkkKENYWCkgJChMREZMQUdTKSAkKE9CSkVDVFMpIC1vICQoTkFNRSkKKysJJChDWFgpICQoT0JKRUNUUykgJChMREZMQUdTKSAtbyAkKE5BTUUpCisgCisgLmNwcC5vOgorIAkkKENYWCkgJChDWFhGTEFHUykgJChERUZJTkVTKSAkKENVU1RPTSkgLWMgJDwgLW8gJEAKKy0tIAorMS42LjYuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwNC1BZGQtc3VwcG9ydC1saWJwbmcxNS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS8wMDA0LUFkZC1zdXBwb3J0LWxpYnBuZzE1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyMDg3YzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwNC1BZGQtc3VwcG9ydC1saWJwbmcxNS5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tIGMyMDY3ZThjMTZiZmI3MjFkMzM5NzE4YWUwYzk5YzcwYTk5NDkzNmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBpd2FtYXRzdSA8aXdhbWF0c3VAN2M1M2U3Y2MtOThlYS0wMzEwLThmMWYtYTBiMjRkYTYwNDA4PgorRGF0ZTogRnJpLCAxNyBKdW4gMjAxMSAyMDozNTowNyArMDAwMAorU3ViamVjdDogW1BBVENIIDQvOF0gQWRkIHN1cHBvcnQgbGlicG5nMTUKKworU2lnbmVkLW9mZi1ieTogTm9idWhpcm8gSXdhbWF0c3UgPGl3YW1hdHN1QG5pZ2F1cmkub3JnPgorCitnaXQtc3ZuLWlkOiBzdm46Ly9zdm4uYmVybGlvcy5kZS9zbGltL3RydW5rQDE3OCA3YzUzZTdjYy05OGVhLTAzMTAtOGYxZi1hMGIyNGRhNjA0MDgKKy0tLQorIE1ha2VmaWxlIHwgICAgNCArKy0tCisgcG5nLmMgICAgfCAgICA2ICsrKysrLQorIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggZmFmYTBlZi4uMTIwMjYxNCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTUsOSArNSw5IEBACisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIENYWD0vdXNyL2Jpbi9nKysKKyBDQz0vdXNyL2Jpbi9nY2MtNC41CistQ0ZMQUdTPS1XYWxsIC1JLiAtSS91c3IvaW5jbHVkZS9mcmVldHlwZTIgLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyL2NvbmZpZyAtSS91c3IvaW5jbHVkZS9saWJwbmcxMiAtSS91c3IvaW5jbHVkZQorK0NGTEFHUz0tV2FsbCAtSS4gLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMi9jb25maWcgLUkvdXNyL2luY2x1ZGUKKyBDWFhGTEFHUz0kKENGTEFHUykKKy1MREZMQUdTPS1sWGZ0IC1sWDExIC1sZnJlZXR5cGUgLWxYcmVuZGVyIC1sZm9udGNvbmZpZyAtbHBuZzEyIC1seiAtbG0gLWxjcnlwdCAtbFhtdSAtbHBuZyAtbGpwZWcgLWxydAorK0xERkxBR1M9LWxYZnQgLWxYMTEgLWxmcmVldHlwZSAtbFhyZW5kZXIgLWxmb250Y29uZmlnIC1scG5nIC1seiAtbG0gLWxjcnlwdCAtbFhtdSAtbHBuZyAtbGpwZWcgLWxydAorIENVU1RPTT0tREhBVkVfU0hBRE9XCisgaWZkZWYgVVNFX1BBTQorIExERkxBR1MrPSAtbHBhbQorZGlmZiAtLWdpdCBhL3BuZy5jIGIvcG5nLmMKK2luZGV4IDVjMDg2YzYuLmFhMGY1ZTUgMTAwNjQ0CistLS0gYS9wbmcuYworKysrIGIvcG5nLmMKK0BAIC01Nyw4ICs1NywxMiBAQCByZWFkX3BuZyhjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50ICp3aWR0aCwgaW50ICpoZWlnaHQsIHVuc2lnbmVkIGNoYXIgKipyZ2IsCisgICAgICAgICBwbmdfZGVzdHJveV9yZWFkX3N0cnVjdCgmcG5nX3B0ciwgKHBuZ19pbmZvcHApIE5VTEwsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBuZ19pbmZvcHApIE5VTEwpOworICAgICB9CistICAKKysKKysjaWYgUE5HX0xJQlBOR19WRVJfTUFKT1IgPj0gMSAmJiBQTkdfTElCUE5HX1ZFUl9NSU5PUiA+PSA0CisrCWlmIChzZXRqbXAocG5nX2ptcGJ1ZigoZGF0YS0+cG5nX3B0cikpKSkKKysjZWxzZQorICAgICBpZiAoc2V0am1wKHBuZ19wdHItPmptcGJ1ZikpCisrI2VuZGlmCisgICAgICAgICBnb3RvIHBuZ19kZXN0cm95OworICAgCisgICAgIHBuZ19pbml0X2lvKHBuZ19wdHIsIGluZmlsZSk7CistLSAKKzEuNi42LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltLzAwMDUtUmVtb3ZlLXBhdGgtb2YtZ2NjLWFtZC1nLWFuZC12ZXJzaW9uLW9mLWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwNS1SZW1vdmUtcGF0aC1vZi1nY2MtYW1kLWctYW5kLXZlcnNpb24tb2YtZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjZhZTM1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltLzAwMDUtUmVtb3ZlLXBhdGgtb2YtZ2NjLWFtZC1nLWFuZC12ZXJzaW9uLW9mLWcucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSA0ZjY5ZWIxYWE4NWZiYjM5NWEwNDc0YjFmMzc2NTA1ZmFiODFlZTIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogaXdhbWF0c3UgPGl3YW1hdHN1QDdjNTNlN2NjLTk4ZWEtMDMxMC04ZjFmLWEwYjI0ZGE2MDQwOD4KK0RhdGU6IEZyaSwgMTcgSnVuIDIwMTEgMjA6MzU6MTAgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCA1LzhdIFJlbW92ZSBwYXRoIG9mIGdjYyBhbWQgZysrLCBhbmQgdmVyc2lvbiBvZiBnKysKKworU2lnbmVkLW9mZi1ieTogTm9idWhpcm8gSXdhbWF0c3UgPGl3YW1hdHN1QG5pZ2F1cmkub3JnPgorCitnaXQtc3ZuLWlkOiBzdm46Ly9zdm4uYmVybGlvcy5kZS9zbGltL3RydW5rQDE3OSA3YzUzZTdjYy05OGVhLTAzMTAtOGYxZi1hMGIyNGRhNjA0MDgKKy0tLQorIE1ha2VmaWxlIHwgICAgNCArKy0tCisgMSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAxMjAyNjE0Li41YzVmZGUxIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMyw4ICszLDggQEAKKyAjIEVkaXQgdGhlIGZvbGxvd2luZyBzZWN0aW9uIHRvIGFkanVzdCB0aGUgb3B0aW9ucworICMgdG8gZml0IGludG8geW91ciBvcGVyYXRpbmcgc3lzdGVtIC8gZGlzdHJpYnV0aW9uCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLUNYWD0vdXNyL2Jpbi9nKysKKy1DQz0vdXNyL2Jpbi9nY2MtNC41CisrQ1hYPWcrKworK0NDPWdjYworIENGTEFHUz0tV2FsbCAtSS4gLUkvdXNyL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9pbmNsdWRlL2ZyZWV0eXBlMi9jb25maWcgLUkvdXNyL2luY2x1ZGUKKyBDWFhGTEFHUz0kKENGTEFHUykKKyBMREZMQUdTPS1sWGZ0IC1sWDExIC1sZnJlZXR5cGUgLWxYcmVuZGVyIC1sZm9udGNvbmZpZyAtbHBuZyAtbHogLWxtIC1sY3J5cHQgLWxYbXUgLWxwbmcgLWxqcGVnIC1scnQKKy0tIAorMS42LjYuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwNi1SZW1vdmUtbG9jYWxob3N0LWZyb20tQXV0aGVudGljYXRvci1vZi1wYW0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwNi1SZW1vdmUtbG9jYWxob3N0LWZyb20tQXV0aGVudGljYXRvci1vZi1wYW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTViODEyNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS8wMDA2LVJlbW92ZS1sb2NhbGhvc3QtZnJvbS1BdXRoZW50aWNhdG9yLW9mLXBhbS5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIGUxODhkNWZkM2UzYzBlNDBjM2UzNTcyOWZkOGI4MWIxMzgxOTFhNzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBpd2FtYXRzdSA8aXdhbWF0c3VAN2M1M2U3Y2MtOThlYS0wMzEwLThmMWYtYTBiMjRkYTYwNDA4PgorRGF0ZTogRnJpLCAxNyBKdW4gMjAxMSAyMDozNToxMyArMDAwMAorU3ViamVjdDogW1BBVENIIDYvOF0gUmVtb3ZlIGxvY2FsaG9zdCBmcm9tIEF1dGhlbnRpY2F0b3Igb2YgcGFtCisKK2h0dHA6Ly9idWdzLmdlbnRvby5vcmcvMzQ2MDM3CitodHRwczovL2RldmVsb3Blci5iZXJsaW9zLmRlL2J1Z3MvP2Z1bmM9ZGV0YWlsYnVnJmJ1Z19pZD0xNzc1NyZncm91cF9pZD0yNjYzCitodHRwOi8vc291cmNlcy5nZW50b28ub3JnL2NnaS1iaW4vdmlld3ZjLmNnaS9nZW50b28teDg2L3gxMS1taXNjL3NsaW0vZmlsZXMvMzQ2MDM3LXN0b3Bfc2V0dGluZ19ob3N0X2Zvcl9wYW1fY2tfY29ubmVjdG9yX3NvLnBhdGNoP3ZpZXc9bG9nCisKK1NpZ25lZC1vZmYtYnk6IE5vYnVoaXJvIEl3YW1hdHN1IDxpd2FtYXRzdUBuaWdhdXJpLm9yZz4KKworZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLmJlcmxpb3MuZGUvc2xpbS90cnVua0AxODAgN2M1M2U3Y2MtOThlYS0wMzEwLThmMWYtYTBiMjRkYTYwNDA4CistLS0KKyBhcHAuY3BwIHwgICAgMiAtLQorIDEgZmlsZXMgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYXBwLmNwcCBiL2FwcC5jcHAKK2luZGV4IGM4MGE3M2UuLjcxNzczNjMgMTAwNjQ0CistLS0gYS9hcHAuY3BwCisrKysgYi9hcHAuY3BwCitAQCAtMjM2LDggKzIzNiw2IEBAIHZvaWQgQXBwOjpSdW4oKSB7CisgICAgICAgICBwYW0uc3RhcnQoInNsaW0iKTsKKyAgICAgICAgIHBhbS5zZXRfaXRlbShQQU06OkF1dGhlbnRpY2F0b3I6OlRUWSwgRGlzcGxheU5hbWUpOworICAgICAgICAgcGFtLnNldF9pdGVtKFBBTTo6QXV0aGVudGljYXRvcjo6UmVxdWVzdG9yLCAicm9vdCIpOworLSAgICAgICAgcGFtLnNldF9pdGVtKFBBTTo6QXV0aGVudGljYXRvcjo6SG9zdCwgImxvY2FsaG9zdCIpOworLQorICAgICB9CisgICAgIGNhdGNoKFBBTTo6RXhjZXB0aW9uJiBlKXsKKyAgICAgICAgIGNlcnIgPDwgQVBQTkFNRSA8PCAiOiAiIDw8IGUgPDwgZW5kbDsKKy0tIAorMS42LjYuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwNy1GaXgtdHR5LXNsb3duZXNzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltLzAwMDctRml4LXR0eS1zbG93bmVzcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYTI1MDJiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltLzAwMDctRml4LXR0eS1zbG93bmVzcy5wYXRjaApAQCAtMCwwICsxLDQ3IEBACitGcm9tIGRhMTcyZmQ2MjM0YjNiMmI0ODdhYjM2ZDYzZGE3Mjc1ODgyOWNiMWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBpd2FtYXRzdSA8aXdhbWF0c3VAN2M1M2U3Y2MtOThlYS0wMzEwLThmMWYtYTBiMjRkYTYwNDA4PgorRGF0ZTogRnJpLCAxNyBKdW4gMjAxMSAyMDozNToxNSArMDAwMAorU3ViamVjdDogW1BBVENIIDcvOF0gRml4IHR0eSBzbG93bmVzcworCitTaWduZWQtb2ZmLWJ5OiBOb2J1aGlybyBJd2FtYXRzdSA8aXdhbWF0c3VAbmlnYXVyaS5vcmc+CisKK2dpdC1zdm4taWQ6IHN2bjovL3N2bi5iZXJsaW9zLmRlL3NsaW0vdHJ1bmtAMTgxIDdjNTNlN2NjLTk4ZWEtMDMxMC04ZjFmLWEwYjI0ZGE2MDQwOAorLS0tCisgYXBwLmNwcCB8ICAgMTAgKysrKysrLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYXBwLmNwcCBiL2FwcC5jcHAKK2luZGV4IDcxNzczNjMuLjQ0YWIwOTkgMTAwNjQ0CistLS0gYS9hcHAuY3BwCisrKysgYi9hcHAuY3BwCitAQCAtMjc4LDIxICsyNzgsMjMgQEAgdm9pZCBBcHA6OlJ1bigpIHsKKyAgICAgICAgIHNpZ25hbChTSUdBTFJNLCBBbGFybVNpZ25hbCk7CisgCisgI2lmbmRlZiBYTkVTVF9ERUJVRworLSAgICAgICAgT3BlbkxvZygpOworLSAgICAgICAgCisgICAgICAgICBpZiAoIWZvcmNlX25vZGFlbW9uICYmIGNmZy0+Z2V0T3B0aW9uKCJkYWVtb24iKSA9PSAieWVzIikgeworICAgICAgICAgICAgIGRhZW1vbm1vZGUgPSB0cnVlOworICAgICAgICAgfQorIAorICAgICAgICAgLy8gRGFlbW9uaXplCisgICAgICAgICBpZiAoZGFlbW9ubW9kZSkgeworLSAgICAgICAgICAgIGlmIChkYWVtb24oMCwgMSkgPT0gLTEpIHsKKysgICAgICAgICAgICBpZiAoZGFlbW9uKDAsIDApID09IC0xKSB7CisgICAgICAgICAgICAgICAgIGNlcnIgPDwgQVBQTkFNRSA8PCAiOiAiIDw8IHN0cmVycm9yKGVycm5vKSA8PCBlbmRsOworICAgICAgICAgICAgICAgICBleGl0KEVSUl9FWElUKTsKKyAgICAgICAgICAgICB9CistICAgICAgICAgICAgVXBkYXRlUGlkKCk7CisgICAgICAgICB9CisgCisrICAgICAgICBPcGVuTG9nKCk7CisrCisrICAgICAgICBpZiAoZGFlbW9ubW9kZSkKKysgICAgICAgICAgICBVcGRhdGVQaWQoKTsKKysKKyAgICAgICAgIENyZWF0ZVNlcnZlckF1dGgoKTsKKyAgICAgICAgIFN0YXJ0U2VydmVyKCk7CisgICAgICAgICBhbGFybSgyKTsKKy0tIAorMS42LjYuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vMDAwOC1yZXN0YXJ0LVhzZXJ2ZXItaWYta2lsbGVkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltLzAwMDgtcmVzdGFydC1Yc2VydmVyLWlmLWtpbGxlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzVjZmI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltLzAwMDgtcmVzdGFydC1Yc2VydmVyLWlmLWtpbGxlZC5wYXRjaApAQCAtMCwwICsxLDE2MSBAQAorRnJvbSBlZTc3YTNkMTU0NDQzZDI4MjNlY2JmMjE0MWRhYTFiNTkyNGY2MjlmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogaXdhbWF0c3UgPGl3YW1hdHN1QDdjNTNlN2NjLTk4ZWEtMDMxMC04ZjFmLWEwYjI0ZGE2MDQwOD4KK0RhdGU6IEZyaSwgMTcgSnVuIDIwMTEgMjA6Mzg6MzQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCA4LzhdIHJlc3RhcnQgWHNlcnZlciBpZiBraWxsZWQKKworUGF0Y2ggZnJvbSBodHRwOi8vZGV2ZWxvcGVyLmJlcmxpb3MuZGUvcGF0Y2gvP2Z1bmM9ZGV0YWlscGF0Y2gmcGF0Y2hfaWQ9MjM3OCZncm91cF9pZD0yNjYzLgorCitTaWduZWQtb2ZmLWJ5OiBOb2J1aGlybyBJd2FtYXRzdSA8aXdhbWF0c3VAbmlnYXVyaS5vcmc+CisKK2dpdC1zdm4taWQ6IHN2bjovL3N2bi5iZXJsaW9zLmRlL3NsaW0vdHJ1bmtAMTgyIDdjNTNlN2NjLTk4ZWEtMDMxMC04ZjFmLWEwYjI0ZGE2MDQwOAorLS0tCisgYXBwLmNwcCB8ICAgMzYgKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgYXBwLmggICB8ICAgIDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYXBwLmNwcCBiL2FwcC5jcHAKK2luZGV4IDQ0YWIwOTkuLjM1OGE5OGYgMTAwNjQ0CistLS0gYS9hcHAuY3BwCisrKysgYi9hcHAuY3BwCitAQCAtMTA0LDYgKzEwNCwxMSBAQCBpbnQgY29udihpbnQgbnVtX21zZywgY29uc3Qgc3RydWN0IHBhbV9tZXNzYWdlICoqbXNnLAorIAorIGV4dGVybiBBcHAqIExvZ2luQXBwOworIAorK2ludCB4aW9lcnJvcihEaXNwbGF5ICpkaXNwKSB7CisrCUxvZ2luQXBwLT5SZXN0YXJ0U2VydmVyKCk7CisrICAgIHJldHVybiAwOworK30KKysKKyB2b2lkIENhdGNoU2lnbmFsKGludCBzaWcpIHsKKyAgICAgY2VyciA8PCBBUFBOQU1FIDw8ICI6IHVuZXhwZWN0ZWQgc2lnbmFsICIgPDwgc2lnIDw8IGVuZGw7CisgCitAQCAtMTE0LDE5ICsxMTksNiBAQCB2b2lkIENhdGNoU2lnbmFsKGludCBzaWcpIHsKKyAgICAgZXhpdChFUlJfRVhJVCk7CisgfQorIAorLQorLXZvaWQgQWxhcm1TaWduYWwoaW50IHNpZykgeworLSAgICBpbnQgcGlkID0gTG9naW5BcHAtPkdldFNlcnZlclBJRCgpOworLSAgICBpZih3YWl0cGlkKHBpZCwgTlVMTCwgV05PSEFORykgPT0gcGlkKSB7CistICAgICAgICBMb2dpbkFwcC0+U3RvcFNlcnZlcigpOworLSAgICAgICAgTG9naW5BcHAtPlJlbW92ZUxvY2soKTsKKy0gICAgICAgIGV4aXQoT0tfRVhJVCk7CistICAgIH0KKy0gICAgc2lnbmFsKHNpZywgQWxhcm1TaWduYWwpOworLSAgICBhbGFybSgyKTsKKy19CistCistCisgdm9pZCBVc2VyMVNpZ25hbChpbnQgc2lnKSB7CisgICAgIHNpZ25hbChzaWcsIFVzZXIxU2lnbmFsKTsKKyB9CitAQCAtMjc1LDcgKzI2Nyw2IEBAIHZvaWQgQXBwOjpSdW4oKSB7CisgICAgICAgICBzaWduYWwoU0lHSFVQLCBDYXRjaFNpZ25hbCk7CisgICAgICAgICBzaWduYWwoU0lHUElQRSwgQ2F0Y2hTaWduYWwpOworICAgICAgICAgc2lnbmFsKFNJR1VTUjEsIFVzZXIxU2lnbmFsKTsKKy0gICAgICAgIHNpZ25hbChTSUdBTFJNLCBBbGFybVNpZ25hbCk7CisgCisgI2lmbmRlZiBYTkVTVF9ERUJVRworICAgICAgICAgaWYgKCFmb3JjZV9ub2RhZW1vbiAmJiBjZmctPmdldE9wdGlvbigiZGFlbW9uIikgPT0gInllcyIpIHsKK0BAIC0yOTcsNyArMjg4LDYgQEAgdm9pZCBBcHA6OlJ1bigpIHsKKyAKKyAgICAgICAgIENyZWF0ZVNlcnZlckF1dGgoKTsKKyAgICAgICAgIFN0YXJ0U2VydmVyKCk7CistICAgICAgICBhbGFybSgyKTsKKyAjZW5kaWYKKyAKKyAgICAgfQorQEAgLTYxMyw2ICs2MDMsOCBAQCB2b2lkIEFwcDo6TG9naW4oKSB7CisgICAgIGludCBzdGF0dXM7CisgICAgIHdoaWxlICh3cGlkICE9IHBpZCkgeworICAgICAgICAgd3BpZCA9IHdhaXQoJnN0YXR1cyk7CisrCQlpZiAod3BpZCA9PSBTZXJ2ZXJQSUQpCisrCQkJeGlvZXJyb3IoRHB5KTsJLy8gU2VydmVyIGRpZWQsIHNpbXVsYXRlIElPIGVycm9yCisgICAgIH0KKyAgICAgaWYgKFdJRkVYSVRFRChzdGF0dXMpICYmIFdFWElUU1RBVFVTKHN0YXR1cykpIHsKKyAgICAgICAgIExvZ2luUGFuZWwtPk1lc3NhZ2UoIkZhaWxlZCB0byBleGVjdXRlIGxvZ2luIGNvbW1hbmQiKTsKK0BAIC02NTgsOSArNjUwLDYgQEAgdm9pZCBBcHA6OkxvZ2luKCkgeworIAorIAorIHZvaWQgQXBwOjpSZWJvb3QoKSB7CistICAgIC8vIFN0b3AgYWxhcm0gY2xvY2sKKy0gICAgYWxhcm0oMCk7CistCisgI2lmZGVmIFVTRV9QQU0KKyAgICAgdHJ5eworICAgICAgICAgcGFtLmVuZCgpOworQEAgLTY4Myw5ICs2NzIsNiBAQCB2b2lkIEFwcDo6UmVib290KCkgeworIAorIAorIHZvaWQgQXBwOjpIYWx0KCkgeworLSAgICAvLyBTdG9wIGFsYXJtIGNsb2NrCistICAgIGFsYXJtKDApOworLQorICNpZmRlZiBVU0VfUEFNCisgICAgIHRyeXsKKyAgICAgICAgIHBhbS5lbmQoKTsKK0BAIC03NzEsNiArNzU3LDcgQEAgdm9pZCBBcHA6OlJlc3RhcnRTZXJ2ZXIoKSB7CisgCisgICAgIFN0b3BTZXJ2ZXIoKTsgCisgICAgIFJlbW92ZUxvY2soKTsKKysJd2hpbGUgKHdhaXRwaWQoLTEsIE5VTEwsIFdOT0hBTkcpID4gMCk7IC8vIENvbGxlY3RzIGFsbCBkZWFkIGNoaWxkcmVucworICAgICBSdW4oKTsKKyB9IAorIAorQEAgLTg0MSw2ICs4MjgsNyBAQCBpbnQgQXBwOjpXYWl0Rm9yU2VydmVyKCkgeworIAorICAgICBmb3IoY3ljbGVzID0gMDsgY3ljbGVzIDwgbmN5Y2xlczsgY3ljbGVzKyspIHsKKyAgICAgICAgIGlmKChEcHkgPSBYT3BlbkRpc3BsYXkoRGlzcGxheU5hbWUpKSkgeworKyAgICAgICAgICAgIFhTZXRJT0Vycm9ySGFuZGxlcih4aW9lcnJvcik7CisgICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgIGlmKCFTZXJ2ZXJUaW1lb3V0KDEsIChjaGFyICopICJYIHNlcnZlciB0byBiZWdpbiBhY2NlcHRpbmcgY29ubmVjdGlvbnMiKSkKK0BAIC05MjUsOSArOTEzLDYgQEAgaW50IEFwcDo6U3RhcnRTZXJ2ZXIoKSB7CisgICAgICAgICAgICAgU2VydmVyUElEID0gLTE7CisgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICB9CistICAgICAgICBhbGFybSgxNSk7CistICAgICAgICBwYXVzZSgpOworLSAgICAgICAgYWxhcm0oMCk7CisgCisgICAgICAgICAvLyBXYWl0IGZvciBzZXJ2ZXIgdG8gc3RhcnQgdXAKKyAgICAgICAgIGlmKFdhaXRGb3JTZXJ2ZXIoKSA9PSAwKSB7CitAQCAtOTYyLDE1ICs5NDcsMTIgQEAgaW50IElnbm9yZVhJTyhEaXNwbGF5ICpkKSB7CisgCisgCisgdm9pZCBBcHA6OlN0b3BTZXJ2ZXIoKSB7CistICAgIC8vIFN0b3AgYWxhcnMgY2xvY2sgYW5kIGlnbm9yZSBzaWduYWxzCistICAgIGFsYXJtKDApOworICAgICBzaWduYWwoU0lHUVVJVCwgU0lHX0lHTik7CisgICAgIHNpZ25hbChTSUdJTlQsIFNJR19JR04pOworICAgICBzaWduYWwoU0lHSFVQLCBTSUdfSUdOKTsKKyAgICAgc2lnbmFsKFNJR1BJUEUsIFNJR19JR04pOworICAgICBzaWduYWwoU0lHVEVSTSwgU0lHX0RGTCk7CisgICAgIHNpZ25hbChTSUdLSUxMLCBTSUdfREZMKTsKKy0gICAgc2lnbmFsKFNJR0FMUk0sIFNJR19ERkwpOworIAorICAgICAvLyBDYXRjaCBYIGVycm9yCisgICAgIFhTZXRJT0Vycm9ySGFuZGxlcihJZ25vcmVYSU8pOworZGlmZiAtLWdpdCBhL2FwcC5oIGIvYXBwLmgKK2luZGV4IGRkN2MyODEuLjJkYjEwMzggMTAwNjQ0CistLS0gYS9hcHAuaAorKysrIGIvYXBwLmgKK0BAIC0zNCw2ICszNCw3IEBAIHB1YmxpYzoKKyAgICAgfkFwcCgpOworICAgICB2b2lkIFJ1bigpOworICAgICBpbnQgR2V0U2VydmVyUElEKCk7CisrICAgIHZvaWQgUmVzdGFydFNlcnZlcigpOworICAgICB2b2lkIFN0b3BTZXJ2ZXIoKTsKKyAKKyAJYm9vbCBzZXJ2ZXJTdGFydGVkOworQEAgLTQ5LDcgKzUwLDYgQEAgcHJpdmF0ZToKKyAgICAgdm9pZCBDb25zb2xlKCk7CisgICAgIHZvaWQgRXhpdCgpOworICAgICB2b2lkIEtpbGxBbGxDbGllbnRzKEJvb2wgdG9wKTsKKy0gICAgdm9pZCBSZXN0YXJ0U2VydmVyKCk7CisgICAgIHZvaWQgUmVhZENvbmZpZygpOworICAgICB2b2lkIE9wZW5Mb2coKTsKKyAgICAgdm9pZCBDbG9zZUxvZygpOworLS0gCisxLjYuNi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS9NYWtlZmlsZS5vZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS9NYWtlZmlsZS5vZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWU2OTM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltL01ha2VmaWxlLm9lCkBAIC0wLDAgKzEsNjQgQEAKKyMgTWFrZWZpbGUgZm9yIHNsaW0gLSBPcGVuRW1iZWRkZWQKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCitTTElNTERGTEFHUz0tbFhmdCAtbFgxMSAtbGZyZWV0eXBlIC1sWHJlbmRlciAtbGZvbnRjb25maWcgLWxwbmcxMiAtbHogLWxtIC1sY3J5cHQgLWxYbXUgLWxwbmcgLWxqcGVnIC1scnQgLWxwdGhyZWFkCitDVVNUT009LURIQVZFX1NIQURPVworCitVU0VfUEFNPTEKK2lmZGVmIFVTRV9QQU0KK1NMSU1MREZMQUdTKz0gLWxwYW0KK0NVU1RPTSs9IC1EVVNFX1BBTQorZW5kaWYKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitOQU1FPXNsaW0KK1ZFUlNJT049MS4zLjIKKworREVGSU5FUz0tRFBBQ0tBR0U9XCIkKE5BTUUpXCIgLURWRVJTSU9OPVwiJChWRVJTSU9OKVwiIFwKKwkJLURQS0dEQVRBRElSPVwiJChQUkVGSVgpL3NoYXJlL3NsaW1cIiAtRFNZU0NPTkZESVI9XCIkKENGR0RJUilcIgorCitPQkpFQ1RTPWpwZWcubyBwbmcubyBtYWluLm8gaW1hZ2UubyBudW1sb2NrLm8gY2ZnLm8gc3dpdGNodXNlci5vIGFwcC5vIFwKKwlwYW5lbC5vIHV0aWwubworaWZkZWYgVVNFX1BBTQorT0JKRUNUUys9UEFNLm8KK2VuZGlmCisKK2FsbDogc2xpbQorCitzbGltOiAkKE9CSkVDVFMpCisJJChDWFgpICQoT0JKRUNUUykgJChMREZMQUdTKSAkKFNMSU1MREZMQUdTKSAtbyAkKE5BTUUpCisKKy5jcHAubzoKKwkkKENYWCkgJChDWFhGTEFHUykgJChERUZJTkVTKSAkKENVU1RPTSkgLWMgJDwgLW8gJEAKKworLmMubzoKKwkkKENDKSAkKENGTEFHUykgJChERUZJTkVTKSAkKENVU1RPTSkgLWMgJDwgLW8gJEAKKworaW5zdGFsbDogc2xpbSBpbnN0YWxsLXRoZW1lCisJaW5zdGFsbCAtRCAtbSA3NTUgc2xpbSAkKERFU1RESVIpJChQUkVGSVgpL2Jpbi9zbGltCisJaW5zdGFsbCAtRCAtbSA2NDQgc2xpbS4xICQoREVTVERJUikkKE1BTkRJUikvbWFuMS9zbGltLjEKKwl0ZXN0IC1lICQoREVTVERJUikkKENGR0RJUikvc2xpbS5jb25mIHx8IFwKKwkJaW5zdGFsbCAtRCAtbSA2NDQgc2xpbS5jb25mICQoREVTVERJUikkKENGR0RJUikvc2xpbS5jb25mCisKK2NsZWFuOgorCUBybSAtZiBzbGltICoubworCitkaXN0OgorCUBybSAtcmYgJChOQU1FKS0kKFZFUlNJT04pCisJQG1rZGlyICQoTkFNRSktJChWRVJTSU9OKQorCUBjcCAtciAqLmNwcCAqLmggKi5jIE1ha2VmaWxlIE1ha2VmaWxlLiogQ09QWUlORyBDaGFuZ2VMb2cgSU5TVEFMTCBSRUFETUUgVE9ETyBcCisJCXhpbml0cmMuc2FtcGxlIHNsaW0uMSBUSEVNRVMgdGhlbWVzIHNsaW0uY29uZiAkKE5BTUUpLSQoVkVSU0lPTikKKwlAcm0gLXJmICQoTkFNRSktJChWRVJTSU9OKS90aGVtZXMvLnN2bgkkKE5BTUUpLSQoVkVSU0lPTikvdGhlbWVzL2RlZmF1bHQvLnN2bgorCUB0YXIgY3Z6ZiAkKE5BTUUpLSQoVkVSU0lPTikudGFyLmd6ICQoTkFNRSktJChWRVJTSU9OKQorCUBybSAtcmYgJChOQU1FKS0kKFZFUlNJT04pCisKKworaW5zdGFsbC10aGVtZToKKwlpbnN0YWxsIC1EIC1tIDY0NCB0aGVtZXMvZGVmYXVsdC9zbGltLnRoZW1lIFwKKwkJICQoREVTVERJUikkKFBSRUZJWCkvc2hhcmUvc2xpbS90aGVtZXMvZGVmYXVsdC9zbGltLnRoZW1lCisJaW5zdGFsbCAtRCAtbSA2NDQgdGhlbWVzL2RlZmF1bHQvcGFuZWwucG5nIFwKKwkJICQoREVTVERJUikkKFBSRUZJWCkvc2hhcmUvc2xpbS90aGVtZXMvZGVmYXVsdC9wYW5lbC5wbmcKKwlpbnN0YWxsIC1EIC1tIDY0NCB0aGVtZXMvZGVmYXVsdC9iYWNrZ3JvdW5kLmpwZyBcCisJCSAkKERFU1RESVIpJChQUkVGSVgpL3NoYXJlL3NsaW0vdGhlbWVzL2RlZmF1bHQvYmFja2dyb3VuZC5qcGcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS9zbGltLWR5bndtIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltL3NsaW0tZHlud20KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDljOWQ0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS9zbGltLWR5bndtCkBAIC0wLDAgKzEsOCBAQAorIyEvYmluL3NoCit1cGRhdGVfc2xpbV93bWxpc3QKK2lmIFsgIngkMSIgPSAieC1ub2RhZW1vbiIgXTsgdGhlbgorICBzaGlmdAorICBleGVjIHNsaW0gIiRAIgorZWxzZQorICBzbGltIC1kICIkQCIKK2ZpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vc2xpbS5wYW1kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltL3NsaW0ucGFtZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MGMzNGIxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc2xpbS9zbGltL3NsaW0ucGFtZApAQCAtMCwwICsxLDE5IEBACisjIEJlZ2luIC9ldGMvcGFtLmQvc2xpbQorCithdXRoICAgICAgIHJlcXVpcmVkICAgICBwYW1fc2hlbGxzLnNvCithdXRoICAgICAgIGluY2x1ZGUgICAgICBjb21tb24tYXV0aAorYXV0aCAgICAgICBvcHRpb25hbCAgICAgcGFtX3NlY3VyZXR0eS5zbworYXV0aCAgICAgICBvcHRpb25hbCAgICAgcGFtX2dub21lX2tleXJpbmcuc28KKworYWNjb3VudCAgICByZXF1aXJlZCAgICAgcGFtX25vbG9naW4uc28KK2FjY291bnQgICAgaW5jbHVkZSAgICAgIGNvbW1vbi1hY2NvdW50CisKK3Bhc3N3b3JkICAgaW5jbHVkZSAgICAgIGNvbW1vbi1wYXNzd29yZAorCitzZXNzaW9uICAgIGluY2x1ZGUgICAgICBjb21tb24tc2Vzc2lvbgorc2Vzc2lvbiAgICByZXF1aXJlZCAgICAgcGFtX21raG9tZWRpci5zbyBza2VsPS9ldGMvc2tlbC8gdW1hc2s9MDAyMgorc2Vzc2lvbiAgICBvcHRpb25hbCAgICAgcGFtX2xhc3Rsb2cuc28gbm93dG1wCitzZXNzaW9uICAgIG9wdGlvbmFsICAgICBwYW1fbWFpbC5zbyBkaXI9L3Zhci9tYWlsIHN0YW5kYXJkCitzZXNzaW9uICAgIG9wdGlvbmFsICAgICBwYW1fZ25vbWVfa2V5cmluZy5zbyAgYXV0b19zdGFydAorCisjIEVuZCAvZXRjL3BhbS5kL3NsaW0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS9zbGltLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vc2xpbS5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MTM1MWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vc2xpbS5zZXJ2aWNlCkBAIC0wLDAgKzEsMTEgQEAKK1tVbml0XQorRGVzY3JpcHRpb249U0xpTSBTaW1wbGUgTG9naW4gTWFuYWdlcgorUmVxdWlyZXM9ZGV2LXR0eTcuZGV2aWNlCitBZnRlcj1kZXYtdHR5Ny5kZXZpY2Ugc3lzdGVtZC11c2VyLXNlc3Npb25zLnNlcnZpY2UKKworW1NlcnZpY2VdCitFeGVjU3RhcnQ9L3Vzci9iaW4vc2xpbSAtbm9kYWVtb24KK1N0YW5kYXJkT3V0cHV0PXN5c2xvZworCitbSW5zdGFsbF0KK1dhbnRlZEJ5PWdyYXBoaWNhbC50YXJnZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbS91cGRhdGVfc2xpbV93bWxpc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vdXBkYXRlX3NsaW1fd21saXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmMTE2NTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW0vdXBkYXRlX3NsaW1fd21saXN0CkBAIC0wLDAgKzEsNzYgQEAKKyMhL3Vzci9iaW4vcGVybCAtdworIworIyB1cGRhdGVfc2xpbV93bWxpc3QsIGJhc2VkIG9uOgorIyB1cGRhdGVfd2RtX3dtbGlzdCwgKGMpIDE5OTggTWFyY2VsbyBNYWdhbGzzbiA8bW1hZ2FsbG9AZGViaWFuLm9yZz4KKyMgcmV3cml0ZW4gdG8gdXNlIHRoZSB4LXdpbmRvdy1tYW5hZ2VyIGFsdGVybmF0aXZlCisjIG1vZGlmaWVkIHRvIGFsc28gdXNlIHRoZSB4LXNlc3Npb24tbWFuYWdlciBhbHRlcm5hdGl2ZSBieSBBcnRodXIgS29ybgorIyBDb3B5cmlnaHQgMjAwMCBXaWNoZXJ0IEFra2VybWFuIDx3YWtrZXJtYUBkZWJpYW4ub3JnPgorIyBNb2RpZmllZCB0byB1c2UgdGhlIGZyZWVkZXNrdG9wLm9yZyAuZGVza3RvcCBsaWtlIGtkbSBhbmQgZ2RtCisjCisjIFRoaXMgc2NyaXB0IHdpbGwgcmVhZCB0aGUgbGlzdCBvZiBpbnN0YWxsZWQgd2luZG93IG1hbmFnZXJzIGZyb20KKyMgdGhlIGZyZWVkZXNrdG9wIC5kZXNrdG9wIGZpbGVzIGluIDxldGM+L1gxMS9zZXNzaW9ucy86PGV0Yz4vZG0vU2Vzc2lvbnMvOgorIyA8c2hhcmU+L3hzZXNzaW9ucy8KKyMgYW5kIHVwZGF0ZSB0aGUgc2Vzc2lvbnMgbGluZSBpbiAvZXRjL3NsaW0uY29uZi4KKyMgQkVXQVJFOiBJdCBkb2Vzbid0IGFzayBhbnkgcXVlc3Rpb25zIGFib3V0IHRoaXMuIEl0IGp1c3QgZG9lcyBpdC4gSXQKKyMgdGFrZXMgYW4gb3B0aW9uYWwgbGlzdCBvZiB3aW5kb3cgbWFuYWdlcnMuCisKK3VzZSBzdHJpY3Q7Cit1c2UgRmlsZTo6RGVza3RvcEVudHJ5OworCitteSAkd21fbGlzdD0nJzsKK215ICVkZXNrdG9wX2ZpbGVzOworCit1bmxlc3MgKEBBUkdWKSB7CisgICAgI215IEB3bV9saXN0ID0gKCdkZWZhdWx0Jyk7CisgICAgbXkgQHdtX2xpc3Q7CisgICAgZm9yZWFjaCBteSAkZGlyICgnL2V0Yy9YMTEvc2Vzc2lvbnMvJywnL2V0Yy9kbS9TZXNzaW9ucy8nLCcvdXNyL3NoYXJlL3hzZXNzaW9ucy8nKSB7CisJICAgIG5leHQgdW5sZXNzIChvcGVuZGlyIERJUiwgJGRpcik7CisJICAgIG15IEBmaWxlczsKKwkgICAgQGZpbGVzID0gZ3JlcCB7IC9cLmRlc2t0b3AkLyAmJiAtciAiJGRpci8kXyIgfSByZWFkZGlyKERJUik7CisJICAgIGZvcmVhY2ggbXkgJGZpbGUgKEBmaWxlcykgeworCQkgICBwdXNoIEB7JGRlc2t0b3BfZmlsZXN7JGZpbGV9fSwgIiRkaXIvJGZpbGUiOworCSAgICB9CisgICAgfQorICAgIERFU0tUT1A6IGZvcmVhY2ggbXkgJGRlc2t0b3BfZmlsZSAoa2V5cyglZGVza3RvcF9maWxlcykpIHsKKwkgICAgZm9yZWFjaCBteSAkZmlsZSAoQHskZGVza3RvcF9maWxlc3skZGVza3RvcF9maWxlfX0pIHsKKwkJICAgIG15ICRlbnRyeSA9IEZpbGU6OkRlc2t0b3BFbnRyeS0+bmV3X2Zyb21fZmlsZSgkZmlsZSk7CisJCSAgICBuZXh0IERFU0tUT1AgaWYgKGRlZmluZWQoJGVudHJ5LT5nZXRfdmFsdWUoJ0hpZGRlbicpKQorCQkJYW5kICRlbnRyeS0+Z2V0X3ZhbHVlKCdIaWRkZW4nKSBlcSAndHJ1ZScpOworCQkgICAgaWYgKCRlbnRyeS0+Z2V0X3ZhbHVlKCdOYW1lJykgPX4gL15nbm9tZSQvaSkgeworCQkJICAgIHB1c2ggKEB3bV9saXN0LCAnZ25vbWUnKTsKKwkJICAgIH0KKwkJICAgIGVsc2lmICgkZW50cnktPmdldF92YWx1ZSgnTmFtZScpID1+IC9ea2RlJC9pKSB7CisJCQkgICAgcHVzaCAoQHdtX2xpc3QsICdrZGUnKTsKKwkJICAgIH0KKwkJICAgIGVsc2lmIChkZWZpbmVkKCRlbnRyeS0+Z2V0X3ZhbHVlKCdFeGVjJykpKSB7CisJCQkgICAgcHVzaCAoQHdtX2xpc3QsICRlbnRyeS0+Z2V0X3ZhbHVlKCdFeGVjJykpOworCQkgICAgfQorCQkgICAgZWxzZSB7ICMgbm90IGZvdW5kLCBnbyB0byBuZXh0IGZpbGUKKwkJCSAgICBuZXh0OworCQkgICAgfQorCQkgICAgIyBmb3VuZCwgcHJvY2VlZCB0byBuZXh0IGRlc3RvcCBmaWxlCisJCSAgICBuZXh0IERFU0tUT1A7CisJICAgIH0KKyAgICB9CisgICAkd21fbGlzdCA9IGpvaW4gKCcsJywgc29ydCBAd21fbGlzdCkgLiAnLGN1c3RvbSc7Cit9IGVsc2UgeworICAgICR3bV9saXN0ID0gam9pbiAoJywnLCBzb3J0IEBBUkdWKTsKK30KKworb3BlbiAoU0xJTV9DT05GSUdfRklMRSwgJzwvZXRjL3NsaW0uY29uZicpCisgICAgb3IgZGllICJDYW4ndCBvcGVuIC9ldGMvc2xpbS5jb25mIGZvciByZWFkaW5nOiAkISI7CitvcGVuIChORVdfU0xJTV9DT05GSUdfRklMRSwgJz4vZXRjL3NsaW0uY29uZi5uZXcnKQorICAgIG9yIGRpZSAiQ2FuJ3Qgb3BlbiAvZXRjL3NsaW0uY29uZi5uZXcgZm9yIHdyaXRpbmc6ICQhIjsKKword2hpbGUgKDxTTElNX0NPTkZJR19GSUxFPikgeworICAgIHN8XihzZXNzaW9uc1xzKikuKnwkMSR3bV9saXN0fDsKKyAgICBwcmludCBORVdfU0xJTV9DT05GSUdfRklMRTsKK30KKworY2xvc2UoU0xJTV9DT05GSUdfRklMRSk7CitjbG9zZShORVdfU0xJTV9DT05GSUdfRklMRSk7CisKK3JlbmFtZSAnL2V0Yy9zbGltLmNvbmYubmV3JywgJy9ldGMvc2xpbS5jb25mJworICAgIG9yIGRpZSAiQ2FuJ3QgcmVuYW1lIC9ldGMvc2xpbS5jb25mLm5ldzogJCEiOworCitleGl0IDA7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW1fMS4zLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zbGltL3NsaW1fMS4zLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEzNTllMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NsaW0vc2xpbV8xLjMuMi5iYgpAQCAtMCwwICsxLDgyIEBACitERVNDUklQVElPTj0iU2ltcGxlIExvZ2luIE1hbmFnZXIiCitIT01FUEFHRT0iaHR0cDovL3NsaW0uYmVybGlvcy5kZSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIiCisKK1BSID0gInIxIgorCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGxpYnhtdSBsaWJwbmcganBlZyBmcmVldHlwZSBzZXNzcmVnICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vZG93bmxvYWQuYmVybGlvcy5kZS8ke0JQTn0vJHtCUH0udGFyLmd6IFwKKyAgICBmaWxlOi8vMDAwMi1GaXgtaW1hZ2UtaGFuZGxpbmctaW50ZWdlci1vdmVyZmxvd3MucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAzLUZpeC1idWlsZC1mYWlsdXJlLXdpdGgtbGQtYXMtbmVlZGVkLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNC1BZGQtc3VwcG9ydC1saWJwbmcxNS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDUtUmVtb3ZlLXBhdGgtb2YtZ2NjLWFtZC1nLWFuZC12ZXJzaW9uLW9mLWcucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA2LVJlbW92ZS1sb2NhbGhvc3QtZnJvbS1BdXRoZW50aWNhdG9yLW9mLXBhbS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDctRml4LXR0eS1zbG93bmVzcy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDgtcmVzdGFydC1Yc2VydmVyLWlmLWtpbGxlZC5wYXRjaCBcCisgICAgZmlsZTovL3NsaW0tZHlud20gXAorICAgIGZpbGU6Ly91cGRhdGVfc2xpbV93bWxpc3QgXAorICAgIGZpbGU6Ly9NYWtlZmlsZS5vZSBcCisgICAgZmlsZTovL3NsaW0ucGFtZCBcCisgICAgZmlsZTovL3NsaW0uc2VydmljZSBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjYTFhZTYxMjBlNmY0YjQ5NjlmMmQ2Y2Y5NGY0N2I0MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMTU2MDEyNTAwNWYyNTNiOWI4ODIyMDU5OGZlZDdhOTU3NWVmNDA1NzE2ODYyYzZjYTNmY2M3MmRiZDQ4MmI4IgorCisKK0VYVFJBX09FTUFLRSArPSAiIFwKKyAgICBVU0VfUEFNPSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJzEnLCAnMCcsIGQpfSBcCisgICAgUFJFRklYPSR7cHJlZml4fSBcCisgICAgQ0ZHRElSPSR7c3lzY29uZmRpcn0gXAorICAgIE1BTkRJUj0ke21hbmRpcn0gXAorICAgIERFU1RESVI9JHtEfSBcCisgICAgQ0ZMQUdTKz0tSSR7U1RBR0lOR19JTkNESVJ9L2ZyZWV0eXBlMiBcCisgICAgQ1hYRkxBR1MrPS1JJHtTVEFHSU5HX0lOQ0RJUn0vZnJlZXR5cGUyIFwKKyIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGNwIC1wUCAke1dPUktESVJ9L01ha2VmaWxlLm9lICR7U30vTWFrZWZpbGUKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9zbGltLWR5bndtICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vdXBkYXRlX3NsaW1fd21saXN0ICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9wYW0uZC8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zbGltLnBhbWQgJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvc2xpbQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8qLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisKKyAgICBlY2hvICdzZXNzaW9uc3RhcnRfY21kICAgIC91c3IvYmluL3Nlc3NyZWcgLWEgLWwgJERJU1BMQVkgJXVzZXInID4+ICR7RH0ke3N5c2NvbmZkaXJ9L3NsaW0uY29uZgorICAgIGVjaG8gJ3Nlc3Npb25zdG9wX2NtZCAgICAgL3Vzci9iaW4vc2Vzc3JlZyAtZCAtbCAkRElTUExBWSAldXNlcicgPj4gJHtEfSR7c3lzY29uZmRpcn0vc2xpbS5jb25mCit9CisKKworUkRFUEVORFNfJHtQTn0gPSAicGVybCB4YXV0aCBmcmVldHlwZSBzZXNzcmVnICIKK0ZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyIKKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKK2lmIHRlc3QgIngkRCIgIT0gIngiOyB0aGVuCisgICAgZXhpdCAxCitmaQorc3lzdGVtY3RsIGVuYWJsZSBzbGltLnNlcnZpY2UKKworIyBSZWdpc3RlciBTTGlNIGFzIGRlZmF1bHQgRE0KK21rZGlyIC1wICR7c3lzY29uZmRpcn0vWDExLworZWNobyAiJHtiaW5kaXJ9L3NsaW0iID4gJHtzeXNjb25mZGlyfS9YMTEvZGVmYXVsdC1kaXNwbGF5LW1hbmFnZXIKK30KKworcGtnX3Bvc3RybV8ke1BOfSAoKSB7CitpZiB0ZXN0ICJ4JEQiICE9ICJ4IjsgdGhlbgorICAgIGV4aXQgMQorZmkKK3N5c3RlbWN0bCBkaXNhYmxlIHNsaW0uc2VydmljZQorc2VkIC1pIC9zbGltL2QgJEQke3N5c2NvbmZkaXJ9L1gxMS9kZWZhdWx0LWRpc3BsYXktbWFuYWdlciB8fCB0cnVlCit9CisKK1BOQkxBQ0tMSVNUW3NsaW1dID89ICJkb2VzIG5vdCBidWlsZCB3aXRoIGRpc3Ryb2xlc3MgcWVtdWFybSBhcyByZXBvcnRlZCBpbiAnU3RhdGUgb2YgYml0YmFrZSB3b3JsZCcgdGhyZWFkLCBub2JvZHkgdm9sdW50ZWVyZWQgdG8gZml4IHRoZW0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90YWthby1mb250cy90YWthby1mb250c18wMDMuMDMuMDEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90YWthby1mb250cy90YWthby1mb250c18wMDMuMDMuMDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk5ZmYxNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rha2FvLWZvbnRzL3Rha2FvLWZvbnRzXzAwMy4wMy4wMS5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIlRha2FvIEZvbnRzIGFyZSBhIGNvbW11bml0eSBkZXZlbG9wZWQgZGVyaXZhdGl2ZXMgb2YgSVBBIEZvbnRzLiIKK0RFU0NSSVBUSU9OID0gIlRha2FvIEZvbnRzIGFyZSBhIGNvbW11bml0eSBkZXZlbG9wZWQgZGVyaXZhdGl2ZXMgb2YgSVBBIEZvbnRzLiIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L3Rha2FvLWZvbnRzIgorU0VDVElPTiA9ICJVc2VyIEludGVyZmFjZS9YIgorCitMSUNFTlNFID0gIklQQSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0lQQV9Gb250X0xpY2Vuc2VfQWdyZWVtZW50X3YxLjAudHh0O21kNT02Y2QzMzUxYmE5NzljZjlkYjFmYWQ2NDRlODIyMTI3NiIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0LyR7QlBOfS90cnVuay8xNS4wMy8rZG93bmxvYWQvVGFrYW9Gb250c18wMDMwMy4wMS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiOGNkM2ZlNzI0ZmFhNTAzNGE5MzY5ZTk4Y2YxMDhkMmQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTk4NzFmNzJhYzY5YWNiM2UyNzdhZWJiZWU3Y2EwMWZiZWJmNTQ4MDA3MzNlMjlmYWZkYzQ2MTMzZmMzNTUyZiIKKworUyA9ICIke1dPUktESVJ9L1Rha2FvRm9udHNfMDAzMDMuMDEiCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9LyR7ZGF0YWRpcn0vZm9udHMKKyAgICBpbnN0YWxsIC1tIDA2NDQgLXAgJHtTfS8qLnR0ZiAke0R9LyR7ZGF0YWRpcn0vZm9udHMvCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ZvbnRzLyoudHRmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVybWludXMtZm9udC90ZXJtaW51cy1mb250XzQuMzguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXJtaW51cy1mb250L3Rlcm1pbnVzLWZvbnRfNC4zOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNWJlYTk3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVybWludXMtZm9udC90ZXJtaW51cy1mb250XzQuMzguYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJUZXJtaW51cyBmb250cyBwYWNrYWdlcyAoY29uc29sZSBhbmQgWDExKSIKK0RFU0NSSVBUSU9OID0gIlRlcm1pbnVzIEZvbnQgaXMgYSBjbGVhbiwgZml4ZWQgd2lkdGggYml0bWFwIGZvbnQsIGRlc2lnbmVkIGZvciBcCisgICAgICAgICAgICAgICBsb25nICg4IGFuZCBtb3JlIGhvdXJzIHBlciBkYXkpIHdvcmsgd2l0aCBjb21wdXRlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3Rlcm1pbnVzLWZvbnQuc291cmNlZm9yZ2UubmV0LyIKK0FVVEhPUiA9ICJEaW1pdGFyIFpoZWtvdiIKK1NFQ1RJT04gPSAiZm9udHMiCisKK0xJQ0VOU0UgPSAiT0ZMLTEuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL09GTC5UWFQ7bWQ1PTljYWRiMjZmNGM1YzAwNTYxOGM1YWU3NGYwNDFlYzU0IgorCitERVBFTkRTID0gImhvc3RwZXJsLXJ1bnRpbWUtbmF0aXZlIGd6aXAtbmF0aXZlIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhOGU3OTJmZTZlODRjODZlZDJiNmVkM2UyYTEyYmE2NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNmY0ODc2YTRkYWJlNmEzN2MyNzBjMjBiYjllMTQxZTM4ZmI1MGUwYmJhMjAwZTFiOWQwNDcwZTVlZWQ5N2I3IgorCitpbmhlcml0IGFsbGFyY2ggZm9udGNhY2hlCisKK1BBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiIgorCisjIERvbid0IHVzZSBmb250IGNhY2hlIG1lY2FuaXNtIGZvciBjb25zb2xlIHBhY2thZ2VzCitGT05UX1BBQ0tBR0VTID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3gxMScsICcke1BOfS1wY2YnLCAnJywgZCl9IgorCisjIEhhbmQgbWFkZSBjb25maWd1cmUgc2NyaXB0LiBEb24ndCBuZWVkIG9lX3J1bmNvbmYKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBjaG1vZCAreCAke1N9L2NvbmZpZ3VyZQorICAgICR7U30vY29uZmlndXJlIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgICAgICAgICAgICAgICAgLS1wc2ZkaXI9JHtkYXRhZGlyfS9jb25zb2xlZm9udHMgXAorICAgICAgICAgICAgICAgICAgIC0tYWNtZGlyPSR7ZGF0YWRpcn0vY29uc29sZXRyYW5zIFwKKyAgICAgICAgICAgICAgICAgICAtLXgxMWRpcj0ke2RhdGFkaXJ9L2ZvbnRzL3Rlcm1pbnVzCit9CisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gcHNmIHR4dCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd4MTEnLCAncGNmJywgJycsIGQpfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwtcHNmIGluc3RhbGwtYWNtICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3gxMScsICdpbnN0YWxsLXBjZicsICcnLCBkKX0KK30KKworUEFDS0FHRVMgKz0gIiR7UE59LWNvbnNvbGVmb250cyAke1BOfS1jb25zb2xldHJhbnMgJHtQTn0tcGNmIgorRklMRVNfJHtQTn0tY29uc29sZWZvbnRzID0gIiR7ZGF0YWRpcn0vY29uc29sZWZvbnRzIgorRklMRVNfJHtQTn0tY29uc29sZXRyYW5zID0gIiR7ZGF0YWRpcn0vY29uc29sZXRyYW5zIgorRklMRVNfJHtQTn0tcGNmID0gIiR7ZGF0YWRpcn0vZm9udHMvdGVybWludXMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctYWZyXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctYWZyXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM3M2E1MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1hZnJfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJhZnIiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxNmE3NTZiZjM1Mzg5NmUzNDM4NmY0NTA5NTgyZTQ4NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNzEzOTljZTY3MDBmMjhkMDRjY2ZjMTJlNDIxZjMxNWUzNTZlM2FhMjY1NzViMjdkMDYwODNjMDY5ODc3ODRkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWFyYV8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWFyYV8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiNjhiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctYXJhXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiYXJhIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiZDdiMzcwOGYxZjFmMjg5OGMyNTgyMDk5MjMwNjNmNTciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmM3YmUzMTljMzBlOTM5NTBjMTIxODk3OTY5YzFiYzFlYjFkNmJkY2ViNzVmMTE4NGVlMzRhNmYwMWQ2NmI2YSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1hemVfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1hemVfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMWVkM2QzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWF6ZV8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImF6ZSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjE0MzA0NGZmN2I2NDNiODQ0YzJmMGIyYTE3MGNlZGEyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBmMTdhMDZhMTYzZDk3ZWMyM2RiM2FiMTRiOTFiODRhNjdhZWJhMWU0NDFjYTVlNTNhODYzMmIyMTEwYTBlNzkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctYmVsXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctYmVsXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWY4ODMwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1iZWxfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJiZWwiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzYmI2ZGFiNTE1MTY2ZDY0MWFjNjJlOTczYzg2OGFjNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNTllMDA4YzU0MmY3ODZmNmY3YmQxNGM2NjA4YjJjMTI4YzkyOTdkNmJlZGU2NDdhZTM1N2Y3NDIxZjdhM2U3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWJlbl8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWJlbl8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3M2ZkNDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctYmVuXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiYmVuIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMGI2NjI2MzBlYjRiMmUwZWJmNDBjMzgxODQwNjhmYmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTRhODdlMDc2MmRjZWUwY2Q5NWFjZmQzYjM3MGI4MWZkMTRhMDAzZDM5MzI4ZWQ5N2RiMGIyOGM1NWQzMWU1MCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1idWxfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1idWxfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTg4ZmMyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWJ1bF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImJ1bCIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjkxZmMzNGVmMDQxYWFmZTMyNTQ5YTdhNjIzMmFmYWQwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFiOGI0ZDdiMTJkODk2Y2Y5ZjdlNjBlOGUzMjc0ZDM4OTE4ODY1NDQyNTNkNDE2ODFkZDliMzJkNjU2N2UzZjMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctY2F0XzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctY2F0XzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWMzZmE3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1jYXRfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJjYXQiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyN2I3N2VjYzY2ZjhjOGQ5MDRjZDZiODc4ODZhY2EyMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4OTRhZjRjNzE4ZTgyMWNkYzRhZTNlYzY1ODM4YjE3NGFjOGEwMDNlNTQxN2EwODU1NzY5OGUxNTc2YWMzYTM0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWNlc18zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWNlc18zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1OGQwZTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctY2VzXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiY2VzIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiYWUxNDRiOWQyMzAyNjdiNWFlNjI4MDRhZDdhMDlkYWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODQzNTIyZWRkY2QwZTIwNTlhMWM3MDY5MTgzYjY4YzI0NTlkNTI3MTU3YmM0NzgzM2E3OWI2ZmY1NmJiMDlkZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1jaGktc2ltXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctY2hpLXNpbV8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0Njk4MDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctY2hpLXNpbV8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImNoaV9zaW0iCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MTg3Nzk1MzlkMzIwMmFlOTVhZTVmZjUyYTNhZDVlOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNWIxOTZiNWJlYTY5MTdiY2JiZjE1MTMxYjRjMmFmZTk0ZDM0YzJkOWUyMWQwOGMwY2E0MmRmYmU1YWExMDk1IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWNoaS10cmFfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1jaGktdHJhXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWM0ZDk4ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1jaGktdHJhXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiY2hpX3RyYSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjM5MWVkM2ZjZjAxNGJhZTc3N2IzM2RjN2E3NzFhMDBkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc4NzQyZTI3M2E5Y2E3NGE2YWI1NTQzNDE0ZTA0YmNhYzkwZDAzYTMxN2RkMzVlZGM2MzQ5NTZiZWFmYTNkMjAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctY2hyXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctY2hyXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FhNmNjNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1jaHJfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJjaHIiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkZDViNGZhMjQ3NTAwZDc3MTNhYjU1NTZhZjYyZDlmYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyN2M5MTdiYTM5ODk4ZDYzNzUyYjJhNGVjYjBjZDhmNjg4NzcyYmNiYmFlMmJmNDMwYTkzZDg5NGQzMjhhNGMxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWRhbl8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWRhbl8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhZjNmNzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZGFuXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiZGFuIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMmY2YTkzOTIwYjNjZTU1ZGUyNGNhNzYyYTY2YTVkZTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGViOTNmNjMyNmFhOGE0ZDM1MzE1OTIwMTY4MTk0N2E4MDg1Nzc2NjIwODRkNDA2MGRhZWE3ZDY0NGU2M2ViOSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1kZXVfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1kZXVfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDY4ZmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWRldV8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImRldSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjU3YmRiMjZlYzdjNzY3ZTEyNmZmOTc3NzZkOGJmYjEwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQwM2NkZDBiMDBkMzY4ZmY0OWViYWY3N2I4NzU4YmNmMmZmMWIwZDM5MzMxMzY4OTg3ZTYyMmFjMjYxNDQzY2EiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZWxsXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZWxsXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU0YjkwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1lbGxfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJlbGwiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNzYwY2MzZGVlNjQ4OWRjYzg2NWIzMWU3YTM2YmQ0NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyOTc0NWNlZDhmYmZiNGVjOWFiZWJlYjk5ZTRiMzg1ODIxY2I1ZWIwZWQ4MWZiMTg3MGI5MzU0MzU1M2I4ZmJhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVuZ18zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVuZ18zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlMTVhMmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZW5nXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiZW5nIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMzU2MjI1MGZlNmY0ZTc2MjI5YTMyOTE2NmI4YWU4NTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzExMDAyOTU2MGU3ZjZkNDFjYjg1MmNhMjNiNjY4OTlkYWE0NDU2ZDlhZmVlYWU5ZDA2MjIwNGJkMjcxYmRmOCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1lbm1fMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1lbm1fMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjE1MzFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVubV8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImVubSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImQ5ZGM0YWQ5Y2JjZGU3OGU1YmU1OWViMjI2ODY1NjYxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE5YzliZDg5YzgyMzQ1MTY1NWUzZjI2NWI3ZmNkMDY3MjdjZDM2ZGRlYzAxYjhmYWQ5OTAwMTU5YjY4OGExZTMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZXBvLWFsdF8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVwby1hbHRfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDY5ZWE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVwby1hbHRfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJlcG9fYWx0IgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiNjc4MTU1MjkzODY2NzkyMjMwOTJkZGYzMDFiZjU3ZDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTUxNmI4MzYyZmEwNjBiZTcyMGQyNzY4YThhYmJlZTljYzk2NWI5MTYyMjQ5YzU5MTRlZjFkODE1OWUwM2RjMiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1lcG9fMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1lcG9fMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjQyNTAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVwb18zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImVwbyIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjVkYzBjZjAxZDIxZWU0M2VkODM0ZWU5NDdlMWU4MTBhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIyYWU2ODFjMzRlZTdhYTgyNTk5NDExNWY5MjdjMmUxZjhlYzFhOThjOTdjMDEyMThiOThkMjU0OWFmMjIyNTIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZXF1XzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZXF1XzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjRkODFiYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1lcXVfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJlcXUiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5NDY2NzgzNmM2NTFmYzRmZDQzNjQ1ZWZkYzM0ZTE5YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyMDEwZTcyNDY4NjE3MWVmMmViMzM4OGRmMDBkOGQ4OWJhN2U1MGNiMjI5OGIwMzY4Yjg0N2ZmZmI5NWQ4MDRlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVzdF8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWVzdF8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkZmUyNWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZXN0XzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiZXN0IgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiYTA2N2Y1OTc1Y2JlODNmZWEyMDU4OTcxODdmYTI1NmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDVkNmI5ZDRiNTY3YTEwZTJmNjNjYWZkMmY2MGJmNWIwYzk5NGU0MTU0NzBiZWNhZmQ3MjliMjAzNDllMmU4MCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ldXNfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ldXNfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjJiY2FjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWV1c18zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImV1cyIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjRjMmNlZTViZjM1NThmNjM4NGU1OTA3YWEwMmFlODBjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc4MzU5ZDU3ODk2NjIzY2Y4MjExZTE3NjA0YTlkZmE1NzRlMjI1M2M5MTU3MDM1ZjQzOWM1ZmJlMDZjZDUwMTkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZmluXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZmluXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThhNTVlMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1maW5fMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJmaW4iCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MWY4YjM0M2VkMjAxMGY3NzVmZjQ3NGZhZWM1ODc0ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlMDJmZjE3OTg5NjBkM2FmMTVjMGRhZmFmYWMwZGU5NTQ0NDJjZmIxM2Y0ZWZmNDVjMzI2M2MyZmY2ZTU5MDI2IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWZyYV8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWZyYV8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyYzkyNjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZnJhXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiZnJhIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMmJjYTIwMGI3ODNmZGJhMmY1NDYwNjNjNjg3NDBjNTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzQ1OTJmNWYyYWI3M2E2NjY4OTM0OTIyNzUzYmUwNTA1ZmM0MzMzZWU3OTA1NDM5NDlmOGI3MGYwM2VhYjEwMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1mcmtfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1mcmtfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzViOTZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWZya18zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImZyayIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImRkNzM0YWMyMTJhOThhMDI5NDU3NjA4OTFiNjU3ZTcwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE5ZjQyMTlkNmIyZWY0ZWQ4Yjc2Yzg2YmU5OWFlM2M5MTkwNTA5ZGY3MmJhNmYwMjE3YTc3ZjcyMDVlYzUyZjgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZnJtXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZnJtXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBkMTM5OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1mcm1fMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJmcm0iCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMGNhMjRjYTQ1ZGU4M2U2NzA1N2YwZTIwODIzM2ZmYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMzJmNzc0ZDg4ZTc5MzZmMTZmZjQxYjgzMmNlY2ZiZDcxZjgyYzliZjc1ODQzMzBkNzUwZGE5NDFjMDdjYTc5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWdsZ18zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWdsZ18zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5NGZkMDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctZ2xnXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiZ2xnIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiZWY3YjhlMTM4OTFlMDhmMjliMDIwMTFhNWRkNmI2MzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODJmZmEyN2M0ZGUxNzU0NWZhOWQ0NmUwZmNkNTY5MGIxYjU5YmNjZTllOTNmNzFjMGE0MWQxOWFmYmU4NjllZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ncmNfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ncmNfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmM5NjA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWdyY18zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImdyYyIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImFjNDkzZTVhNDllNDU2ZjJkZDM1NGY1YjY0NDk1NzNlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU4NmI5NTVlYjlmYmE1YTMwNGNmYTM3YmZkZDdjODlmMmRiMzMzMzVkNWFlODNmMjk2MmFlZDg5MDMyNjY4MDUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaGViXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaGViXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQ3YTRmYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1oZWJfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJoZWIiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3YWU3ZjMzODQwODNjNjZmMDZkNjNiNmMwZjBhNjZjMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYTQ3YjBjZmUyNDE3NzVjOWIzNjMzOWVmZGE2MzM5ZDU5ZTE0NmZhNjE0M2M2NWEyMjUzZWI5ZjY3MTY0ODExIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWhpbl8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWhpbl8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzZWQxNzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaGluXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiaGluIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMTg2ZjE3YjMyNmE1ODMxMzM0NGMyZWE5ODdlYTc3ODUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTFmOTFkYTVhZGM3M2VlNzExNTA4NjVkNjU5OGRmOGE1MDQyNDM1MDQ4MGRmMjc1M2NhOTAzNTMyMGIzYzc4ZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ocnZfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ocnZfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDIzNjg3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWhydl8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImhydiIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjAzOTZhMjY3ZDg5NGY0ODViNmI1MzQ0NzZmMzMyMmRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUyMDU3NWY1YjBlYzczZmY3ZjMxOTdjMTEyYThkY2MyNDMwM2I2NDAxNjkxMDM5OWQ5MTI3YmRhNDJlN2Q4NjYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaHVuXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaHVuXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjFhOWNlNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1odW5fMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJodW4iCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYjFiMzUzN2NkNjY0ZmVjNDhiZWJhYzc1ZmFjNTk5MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlZGY1Y2M0MmI1MTZiMmExODY4MTk1NTE2N2QxOTY0ZGZjN2ZmOGNkYTY0MjQwOGViZGE5MWIzYzQ2NTZmOWYxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWluZF8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWluZF8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3NzY5NTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaW5kXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAiaW5kIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiOWY2NzJlYTdjOTBlZWNiYmUzNWVjMzUzZmY0NWM3NjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzM3YmE0NDAwYTc5OGM2MGRlZTE2MDcwMDcxMzM3Yzk2ZmM2N2JjYjRlMmNjMWI0Njc2ZGNiYzM0MGZiYmNkNyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1pc2xfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1pc2xfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZmExODhmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWlzbF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImlzbCIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjNmMDU5NDZhOWU1N2E4ZmZhYmIzZmNjYzhhODBjZmFhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZiMjI2MzY2ZDhkMmQ4N2Y4NTlkNDA5OWU4YjcxNWUzZWMzODkwZjkzMTcxOThlN2I4YzgwZmJhMDAxMDU1ZjgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctaXRhLW9sZF8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWl0YS1vbGRfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTRhZDNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWl0YS1vbGRfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJpdGFfb2xkIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiOTg5Y2E1NThlYjA1ZmNmNjg3M2RmZGQ4YzY5MjI5MWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2FmNTkxYmU2ZDRlZGE5ZTc2MjczOTdjM2M1MjBkNTgxMTVjNjYwMDAyZWNhY2U2ODA3NDk1MDQzNDhiYTEwNCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1pdGFfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1pdGFfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODE5NzdhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWl0YV8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gIml0YSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImZiZGJhODZmMzRiOTA3ZjVhNzA5MDUxYzAxYjUzZjcxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI2NDUzYjMwMmMxMDhlMDhmNTk0YzdhMTk1OTczODIzMTQ1MjlmNjQ4ZTE0MTgwNTQxN2Y5YWYxZTRjOTlhYzIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctanBuXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctanBuXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjY5YmRlZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1qcG5fMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJqcG4iCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMWJlMmIwOGU2NjdjM2JiMGFiMGYxOGM5NDU2YmYyZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwOWJmNDQ3YTI5ZTk5MGMwNjUwMjRiM2I3MjBmZDcwZjA4ZDU5NmE3YmU1MzQzMTJmYzllNDdkMGFhYmY2ODFmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWthbl8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWthbl8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkMjEwODUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmcta2FuXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAia2FuIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiNTEwMDE2ZTg1ZDdlYThlMWY0ZWJmOTg3NDExMzg5MDkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTU4NTFjYzIyMDU4YzA4Y2FkOWVjNjA1ODExM2Y3Njk2NjQwOTA2MWYyMWY1Y2RlOGM5Y2MxZDIxNDI5OGMyMiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1rb3JfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1rb3JfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTdkMTk5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWtvcl8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gImtvciIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImZjOTEyNWY2NjUyZmI2NjE1NzVkNmUxNWM5NGY4OGY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdjODVjNDEwN2E3ODFkOTBkNmQ0YWRiMDAxZjIxODliMTEzZjlkYjY5NDI2MThiNGJjNDdmNGNjODBjZDEyNmEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbGF2XzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbGF2XzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzIwNzUwNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1sYXZfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJsYXYiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMDk1YjU2YzljNmIwZGJhOWI4MzdmZDIyNmVkNmQyOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNmExOTBlZTFlZGYwYTU4OTQ4YTlkN2IwMTU2OWZkOGE0YzA1YmM2NzhkYTNhNDBhZDg4NGMwODQ5OTU4YzM2IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWxpdF8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLWxpdF8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzYWQ0ODAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbGl0XzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAibGl0IgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiODAxMDIxYTFhZDZlNGFhM2VmNjk3ZjA2NWZmNmM3OTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzUwODkxYTE4MjA3NmRmMmU4MDY3ZGEwNGIzYjIxMjdhNzdlNDg3ODJkOTkwNWU4MzM5ZGI0ZjFkNmM3YTcyOSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1tYWxfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1tYWxfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzEzODVlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLW1hbF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gIm1hbCIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjFmNWU4ZjAyMmQzYzI2OTcwNzViZGZjMDM5MzVmMTI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjcyYjNiMjM5NzlhZTRhNmI2MzUxODk2NGJmMjM5YmVhZThiYjZjMDJmMzVhMjY5NWY0NzI2MjE3OGIzZmVmMzQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbWtkXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbWtkXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQxZWFmZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ta2RfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJta2QiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiODkzMGM2NGJlZmNhYWRiYjQ3OTUxY2FkNGEyZjA3NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlYTQ4OTI3N2U3YTU4OGExYjc1NjZhMjFjYmJkNjQ3Nzg2ZjE2NjU5Y2FlMDg3YTQ3MDVkNGZkYWJkODIzZWU2IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLW1sdF8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLW1sdF8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhNmQ0MmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbWx0XzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAibWx0IgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiOTBhNDFhYzg2Mzc1YjIzMDk4MGI2NDNiMzViODgwMTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmE5OWU4YmZjNzUzYTI3NGJiZWEzOGVmNDRmNWFiZjgxZTVmMTJkMDlmOWQxMmQyNjc0MzY5NjEyNzBlZjJkZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1tc2FfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1tc2FfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDE4YWI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLW1zYV8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gIm1zYSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImNiNDJlYzk1MDRlZWNkYzRmOTc0ZGJjYTQzODdhYzM0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYzNGU0OTUwYWQ5MDc5ZjkyOTY1YTIzNDI1M2NjMTZmOTJkZWI2NmYxY2U0ZTljOWE4ODVhZDI2OTVjMmQxMzYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbmxkXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbmxkXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEyZDRhNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ubGRfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJubGQiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ZGI1NzUzYjNiMDMyOTY1NDRiYmIyYzBmNTlhNzE3OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZTJlNTM0OTlhMDUyODI5NjhlNWE5Njk5YWFkNjZhZTUyYTVhYmYwNmFlODI4ZTJmNGNmMmMxZjZlNjc0YTk4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLW5vcl8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLW5vcl8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1ZDI5NDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctbm9yXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAibm9yIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiNmQ5Nzk1ODVhYmIwN2MxM2RkYTAwMzgyMDEyOTQ2MWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmI1YzQyNDQ0NTk1YTgxYjVmNmZlYTg1OWQ5Nzk5OTg5NTkxN2JjYzJmODVhNTA1NDg4ZWE1YzJmNGVmYTAxYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1wb2xfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1wb2xfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODU4MDEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXBvbF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gInBvbCIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjkwYjNmMWY0MTEzYTlkY2NkMDI4N2U2YjViNzUxMmQ2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYyOTk5MDU4YmZiNjA5ZDk1ZDUzYmQ1MTljNmRlOTk2MjBkMDI1YjNiZmJjNTRkODY3OWE4N2IxMDQ3NGNjYmIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctcG9yXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctcG9yXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVmMDEzOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1wb3JfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJwb3IiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZDQ5MGE4MDkxZWUzMjkxOTAyNjZmM2ZkMDU3YzUxMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmOWIxMjYzMjM3NTdjNjJkYTIzYWFiMTYzZTJjZTUyNTdkMTM3ZTg2YmU3YzM3ZGVhMTNiYjA1ODVlMWFjZTNmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXJvbl8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXJvbl8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjODk0MGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctcm9uXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAicm9uIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiOWY0OThlMDE4NTVhNTc0NzNhZjhmMDgzYzEyNTQ1NWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDdlNjQ1NGM5Y2M4MGM4NGE2NTRmOTQyODNmYzA2YjJkZjMzYzVjN2ZkMmQzYmZmMjY5YzNjYmRlYjBiMzllNyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ydXNfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1ydXNfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWRkM2YxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXJ1c18zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gInJ1cyIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImU4Yzc4NWRmOGFhYTQ5ZTYxZjNhOTVhYTI0MDY2MTIyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA5MWNkYTQ5NDg5ZDE1ZjMzOTE2MjYzZmM3OGZiZjhkY2Q0ZTY1NDcwMTJkYzdlMWE4NDk2YTM4YWIxOTIzMTUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc2xrXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc2xrXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQxYjAzOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zbGtfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJzbGsiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5OTFlNDc3MWUxNmFiZDZhNjZjYWVhZWViMmE0ZDRkMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYmQ1YTg4ZTIxODhlZjM5ZWY0MzhjOTg1OWRiZDdhOWI5ZTJhOTljMjNhODIzZWMzMTBmN2Y4NGEwMTJjYzgyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXNsdl8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXNsdl8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiMDgyMTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc2x2XzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAic2x2IgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiYzdiZWE5NzViYTY2M2QxM2UwM2MyOWQ2Y2YzM2I1YTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjkwMTUwN2QyOTAxYzg4MmY5OGY2ZWY1ZGIwN2RiZjc0NjM2ZmJhNmExZjYxNmM1ZjA5NDk1NDEwNjc5MTY2NyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zcGEtb2xkXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc3BhLW9sZF8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5YmU4YTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc3BhLW9sZF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gInNwYV9vbGQiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3ODM4ZGE5NDhlNDA0YmI3NjBiZWY4M2E1YzNkNjRkZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyYjk4MGMwZWRhMTU3MjQyM2RkNTYyNjBiMzJkNzQ4Mjg4MDI4ZmRkNDUyNjYzMTFjNGFiNDQ4ZmNiY2U1ODE0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXNwYV8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXNwYV8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3OTBlZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc3BhXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAic3BhIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiZmUxMzg1ZWQyMDNlY2Q5ZTA5OTlhNDRiMTM1MDY5ZWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjQwY2MyNjRkMDM3YjBjNzFlY2I0YThiYjZkZWY4YjNlYzA0YjY0N2Q4ZGE3ZmQ0NGQwZGFhNTU4YmZhMzFiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zcWlfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zcWlfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTkyM2E5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXNxaV8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gInNxaSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjM3MmUzODYxN2ZjYzdlMjVjNzc5OTZjNTQ5OWFlMDYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk5YmZjZGEzZTBjNDcxZjYzYjM2Y2QwZGI3ZGVhNTk2ZTU5YTIyMTljOTI3NWMzYmE1MWU1OTk3MzU1NWMxMDEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc3JwXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc3JwXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg2NzZjNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zcnBfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJzcnAiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkODM1MDY2OGZhNzkwYjVkNDAwNzM0OGE1NTg0MGJkZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiMWVlZWIyOTU4ZDBhNGUyYmExNmZiNTVhOThjYTRjYThlNjlmZWU4YjBiZTgxNjJmZjU5OWJhMTlkMGIyNDA0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXN3YV8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXN3YV8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiOTk2MGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctc3dhXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAic3dhIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiNmM2ODEwN2E3MWY4MmZhNDJjODU4ZTRkNmRjNzBhY2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjY4MWU1OWYyYTkzMzMyNTlhMmRlNDJmM2RlZWQ0NmFhN2RkODRiNjM4ZTY5MjdmNDBkYjA0MDlhZGZmMTQzYiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zd2VfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy1zd2VfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZmQxYzFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXN3ZV8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gInN3ZSIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjQ2ZDNhNWQ3MTU5MjM2ZWRiMzMyNzJkZDhiMTA5MGY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFkYTI4N2Q3YjY0MTgzZGY5MDYyMTVmZTRjYTg2YzNiNmZlMzBkYzUxMjFlOWE4MzExM2MzMjY1Y2E3ZmM1YWUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdGFtXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdGFtXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNmYzFmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy10YW1fMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJ0YW0iCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNjhiMGZkY2RmMzRkZDQzMWMyNWYzMjM2NzNlZjFkNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3NWY3MzM2MjQyMWEyM2ViOTU1MjEyZjdhYTE5YzlhM2VmZGM4MGE0YzY3NjE0NDU4NjkxNDhiZmQyYTZkYzYyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXRlbF8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXRlbF8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiODI3ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdGVsXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAidGVsIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMzQ5ZDIwM2VmODg4NjRlYWI4ZDEyMDE2NzJjYTg0YmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjM2YWYzZDVjYTlmOGZmNmU2MDY0ODVmZTVkYjgzNWY5NmI0MmU3ZDIzODBhYzVkNjFhZjZiNDE4Mjc4MzRmZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy10Z2xfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy10Z2xfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Yzg0ZWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXRnbF8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gInRnbCIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gImQ0NThmMDcxOWI5OWU0ZGNmZDRmYTJhMDZlNTE1MGEzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVjNTE1MzEwZGY4M2M5YjQwZTU1NzAyN2U0OWRlNmRmNzBlMzNhOWJiYWJlYWYxMzAxY2E5ZThjMTM1NTg5NDgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdGhhXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdGhhXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDYwNTVkMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy10aGFfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJ0aGEiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzZGM1YTUwMjhlNzVkYTEyZWFiYTYyNjY5YTgwYWNjNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YTk4ZTI1ZTBjNjFkZGE0OGNiZGIyNDFmMGY1M2MzZGZhYTdlZjU3NGI4MTc5OWFiMmRkYWM1MGRhNmRiNGZiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXR1cl8zLjAyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXR1cl8zLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1ZWM3NmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdHVyXzMuMDIuYmIKQEAgLTAsMCArMSw5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCwgTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIEx0ZGEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgbWV0YS1vcGVuZW1iZWRkZWQgbGF5ZXIncyBDT1BZSU5HLk1JVCkKKworVEVTU0VSQUNUX0xBTkcgPSAidHVyIgorCityZXF1aXJlIHRlc3NlcmFjdC1sYW5nLmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiYTg5MzRlMGU2NDk2OTk3MTEyY2JlZjI5NjFhZGVmNWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmU0NjU3Y2EzNDU1NTg1YTA2ZWIzZDAyYjRhMDQ3MmZkYThjYTA2ZWZlNTg3YmU3NWUxNzU2NjJkYzYzMjlkNyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy11a3JfMy4wMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy11a3JfMy4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNWRlMDZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLXVrcl8zLjAyLmJiCkBAIC0wLDAgKzEsOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTQsIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIG1ldGEtb3BlbmVtYmVkZGVkIGxheWVyJ3MgQ09QWUlORy5NSVQpCisKK1RFU1NFUkFDVF9MQU5HID0gInVrciIKKworcmVxdWlyZSB0ZXNzZXJhY3QtbGFuZy5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjBhYTYxZjE4NDYzYmI4OTIzNGE2ZDA2ZmNiZjBjNjQ0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc4NjJiMTBjMWZmN2UwMmI0MWM3YTUwZWVjN2ZjY2QyYzMwYjgxNjJkOTY1ZmExYWUwMDUxMGM2ZDEyMTA3NjIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdmllXzMuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0LWxhbmctdmllXzMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJkODEzZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy12aWVfMy4wMi5iYgpAQCAtMCwwICsxLDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE0LCBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTHRkYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBtZXRhLW9wZW5lbWJlZGRlZCBsYXllcidzIENPUFlJTkcuTUlUKQorCitURVNTRVJBQ1RfTEFORyA9ICJ2aWUiCisKK3JlcXVpcmUgdGVzc2VyYWN0LWxhbmcuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3OGE3NDQzMjg0OGI0YzUzY2MyY2NmMmViMzM5YzBiNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhMTEzMjU0ODgyZWFjNzAxNjhhZWMwMDU0NDgwNWU3YzljZWMyMDUyNzIxN2I5ODM0OWVkNDhmNmUyZDI2MTFlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdGVzc2VyYWN0L3Rlc3NlcmFjdC1sYW5nLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQwYzcxZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3QtbGFuZy5pbmMKQEAgLTAsMCArMSwxNSBAQAorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvQXBhY2hlLTIuMDttZDU9ODlhZWE0ZTE3ZDk5YTdjYWNkYmVlZDQ2YTAwOTZiMTAiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly90ZXNzZXJhY3Qtb2NyLmdvb2dsZWNvZGUuY29tL2ZpbGVzL3Rlc3NlcmFjdC1vY3ItJHtQVn0uJHtURVNTRVJBQ1RfTEFOR30udGFyLmd6IgorCitTID0gIiR7V09SS0RJUn0vdGVzc2VyYWN0LW9jciIKKworaW5oZXJpdCBhbGxhcmNoCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS90ZXNzZGF0YQorICAgIGNwICR7U30vdGVzc2RhdGEvJHtURVNTRVJBQ1RfTEFOR30udHJhaW5lZGRhdGEgJHtEfSR7ZGF0YWRpcn0vdGVzc2RhdGEKK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vdGVzc2RhdGEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0XzMuMDIuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90ZXNzZXJhY3QvdGVzc2VyYWN0XzMuMDIuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjUyYmNmMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3Rlc3NlcmFjdC90ZXNzZXJhY3RfMy4wMi4wMi5iYgpAQCAtMCwwICsxLDIzIEBACitERVNDUklQVElPTiA9ICJBIGNvbW1lcmNpYWwgcXVhbGl0eSBPQ1IgZW5naW5lICIKKworREVQRU5EUyA9ICJsZXB0b25pY2EiCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWMwYzk0YjNjODZhZDBjMzg2YmI2ZGVjNzBjYThhMzZhIgorCitTUkNfVVJJID0gImh0dHBzOi8vdGVzc2VyYWN0LW9jci5nb29nbGVjb2RlLmNvbS9maWxlcy90ZXNzZXJhY3Qtb2NyLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyNmFkYzgxNTRmMGU4MTUwNTM4MTY4MjVkZGUyNDZlNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNmNkMzljYjNmMmE2ZjZmMWJmNDA1MGQxY2MwYWFlMzVlZGVlNDllYjQ5YTkyZGYzY2I3Zjk0ODdjYWEwMTNkIgorCitFWFRSQV9PRUNPTkYgKz0gIkxJQkxFUFRfSEVBREVSU0RJUj0ke1NUQUdJTkdfSU5DRElSfS9sZXB0b25pY2EiCisKK1MgPSAiJHtXT1JLRElSfS90ZXNzZXJhY3Qtb2NyIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vdGVzc2RhdGEiCisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJ0ZXNzZXJhY3QtbGFuZy1lbmciCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzM1MTM0LworUE5CTEFDS0xJU1RbdGVzc2VyYWN0XSA/PSAiQlJPS0VOOiBRQSBJc3N1ZTogdGVzc2VyYWN0LnBjIGZhaWxlZCBzYW5pdHkgdGVzdCAodG1wZGlyKSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMtY24tZm9udHMvNDQtc291cmNlLWhhbi1zYW5zLWNuLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLWNuLWZvbnRzLzQ0LXNvdXJjZS1oYW4tc2Fucy1jbi5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4NTU3OTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLWNuLWZvbnRzLzQ0LXNvdXJjZS1oYW4tc2Fucy1jbi5jb25mCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgZm9udGNvbmZpZyBTWVNURU0gIi4uL2ZvbnRzLmR0ZCI+Cis8Zm9udGNvbmZpZz4KKwk8IS0tIAorCSAgICAtIE1lZGl1bSB2YXJpYW50IGlzIHVzZWQgaW5zdGVhZCBvZiBSZWd1bGFyIG9uIFF0IGFwcHM6CisJCWh0dHBzOi8vYnVncy5sYXVuY2hwYWQubmV0L3VidW50dS1mb250LWZhbWlseS8rYnVnLzc0NDgxMgorCQktIE1lZGl1bSBhbmQgQm9sZCBsb29rcyB0aGUgc2FtZSBpbiBjZXJ0YWluIGFwcGxpY2F0aW9uczoKKwkJaHR0cHM6Ly9idWdzLmxhdW5jaHBhZC5uZXQvdWJ1bnR1Lytzb3VyY2UvZ25vbWUtc3BlY2ltZW4vK2J1Zy84MTMzNzMKKwktLT4KKwk8bWF0Y2ggdGFyZ2V0PSJzY2FuIj4KKwkJPHRlc3QgbmFtZT0iZnVsbG5hbWUiIGNvbXBhcmU9ImVxIj4KKwkJCTxzdHJpbmc+U291cmNlIEhhbiBTYW5zIENOIE1lZGl1bTwvc3RyaW5nPgorCQk8L3Rlc3Q+CisJCTxlZGl0IG5hbWU9IndlaWdodCIgbW9kZT0iYXNzaWduIj4KKwkJCTxjb25zdD5kZW1pYm9sZDwvY29uc3Q+CisJCTwvZWRpdD4KKwk8L21hdGNoPgorPC9mb250Y29uZmlnPgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLWNuLWZvbnRzXzEuMDA0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy1jbi1mb250c18xLjAwNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZmJmYzhiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy1jbi1mb250c18xLjAwNC5iYgpAQCAtMCwwICsxLDM0IEBACityZXF1aXJlIHR0Zi5pbmMKKworU1VNTUFSWSA9ICJBZG9iZSBPcGVuVHlwZSBQYW4tQ0pLIGZvbnQgZmFtaWx5IGZvciBTaW1wbGlmaWVkIENoaW5lc2UiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYWRvYmUtZm9udHMvc291cmNlLWhhbi1zYW5zIgorTElDRU5TRSA9ICJPRkwtMS4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTU1NzE5ZmFhMDExMjcwOGU5NDZiODIwYjI0YjE0MDk3IgorCitpbmhlcml0IGFsbGFyY2ggZm9udGNhY2hlCisKKyMgRG93bmxvYWQgdGVuZHMgdG8gYnJlYWsgLSBzbyAtIG9yIG5vdD8KKyNFWENMVURFX0ZST01fV09STEQgPSAiMSIKKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9hZG9iZS1mb250cy9zb3VyY2UtaGFuLXNhbnMvcmF3L3JlbGVhc2UvU3Vic2V0T1RGL1NvdXJjZUhhblNhbnNDTi56aXAgXAorICAgIGZpbGU6Ly80NC1zb3VyY2UtaGFuLXNhbnMtY24uY29uZiBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiZDE2YWJjMjFmNjU3NWJiMDg4OTRlZmVkYmVkNDg0YTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGEwZTFkOGU1MjgzM2JjMzUyZDQ1NGQ4MjQyZGEwM2I4MmMwZWZjNDEzMjNmYjY2Zjc0MzVlNWIzOTczNGE0ZiIKKworUyA9ICIke1dPUktESVJ9L1NvdXJjZUhhblNhbnNDTiIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2ZvbnRzL2NvbmYuZC8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS80NC1zb3VyY2UtaGFuLXNhbnMtY24uY29uZiAke0R9JHtzeXNjb25mZGlyfS9mb250cy9jb25mLmQvCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlLworICAgIGZpbmQgLi8gLW5hbWUgJyoub3RmJyAtZXhlYyBpbnN0YWxsIC1tIDA2NDQge30gJHtEfSR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvIFw7Cit9CisKK0ZJTEVTXyR7UE59ID0gIiBcCisgICAgJHtzeXNjb25mZGlyfS9mb250cyBcCisgICAgJHtkYXRhZGlyfS9mb250cyBcCisiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMtanAtZm9udHMvNDQtc291cmNlLWhhbi1zYW5zLWpwLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLWpwLWZvbnRzLzQ0LXNvdXJjZS1oYW4tc2Fucy1qcC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3YTkzZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLWpwLWZvbnRzLzQ0LXNvdXJjZS1oYW4tc2Fucy1qcC5jb25mCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgZm9udGNvbmZpZyBTWVNURU0gIi4uL2ZvbnRzLmR0ZCI+Cis8Zm9udGNvbmZpZz4KKyAgICA8IS0tIAorICAgICAgICAtIE1lZGl1bSB2YXJpYW50IGlzIHVzZWQgaW5zdGVhZCBvZiBSZWd1bGFyIG9uIFF0IGFwcHM6CisgICAgICAgIGh0dHBzOi8vYnVncy5sYXVuY2hwYWQubmV0L3VidW50dS1mb250LWZhbWlseS8rYnVnLzc0NDgxMgorICAgICAgICAtIE1lZGl1bSBhbmQgQm9sZCBsb29rcyB0aGUgc2FtZSBpbiBjZXJ0YWluIGFwcGxpY2F0aW9uczoKKyAgICAgICAgaHR0cHM6Ly9idWdzLmxhdW5jaHBhZC5uZXQvdWJ1bnR1Lytzb3VyY2UvZ25vbWUtc3BlY2ltZW4vK2J1Zy84MTMzNzMKKyAgICAtLT4KKyAgICA8bWF0Y2ggdGFyZ2V0PSJzY2FuIj4KKyAgICAgICAgPHRlc3QgbmFtZT0iZnVsbG5hbWUiIGNvbXBhcmU9ImVxIj4KKyAgICAgICAgICAgIDxzdHJpbmc+U291cmNlIEhhbiBTYW5zIEpQIE1lZGl1bTwvc3RyaW5nPgorICAgICAgICA8L3Rlc3Q+CisgICAgICAgIDxlZGl0IG5hbWU9IndlaWdodCIgbW9kZT0iYXNzaWduIj4KKyAgICAgICAgICAgIDxjb25zdD5kZW1pYm9sZDwvY29uc3Q+CisgICAgICAgIDwvZWRpdD4KKyAgICA8L21hdGNoPgorPC9mb250Y29uZmlnPgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLWpwLWZvbnRzXzEuMDA0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy1qcC1mb250c18xLjAwNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTI2YTJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy1qcC1mb250c18xLjAwNC5iYgpAQCAtMCwwICsxLDM0IEBACityZXF1aXJlIHR0Zi5pbmMKKworU1VNTUFSWSA9ICJBZG9iZSBPcGVuVHlwZSBQYW4tQ0pLIGZvbnQgZmFtaWx5IGZvciBKYXBhbmVzZSIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hZG9iZS1mb250cy9zb3VyY2UtaGFuLXNhbnMiCitMSUNFTlNFID0gIk9GTC0xLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NTU3MTlmYWEwMTEyNzA4ZTk0NmI4MjBiMjRiMTQwOTciCisKK2luaGVyaXQgYWxsYXJjaCBmb250Y2FjaGUKKworIyBEb3dubG9hZCB0ZW5kcyB0byBicmVhayAtIHNvIC0gb3Igbm90PworI0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cHM6Ly9naXRodWIuY29tL2Fkb2JlLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy9yYXcvcmVsZWFzZS9TdWJzZXRPVEYvU291cmNlSGFuU2Fuc0pQLnppcCBcCisgICAgZmlsZTovLzQ0LXNvdXJjZS1oYW4tc2Fucy1qcC5jb25mIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MDhmYmY5N2YzZGYwNGE2ODM4NzA4YzA5M2YxZTkwMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYzZkYmFlM2ZiYTM1ZjIyMGJhYzg4YmE3MTMwYjgyNmM3ZWZlMTI4MmY0NzI3ODhmYWUzNjI4Yjc5YmUzZjU0IgorCitTID0gIiR7V09SS0RJUn0vU291cmNlSGFuU2Fuc0pQIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZm9udHMvY29uZi5kLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LzQ0LXNvdXJjZS1oYW4tc2Fucy1qcC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2ZvbnRzL2NvbmYuZC8KKworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvCisgICAgZmluZCAuLyAtbmFtZSAnKi5vdGYnIC1leGVjIGluc3RhbGwgLW0gMDY0NCB7fSAke0R9JHtkYXRhZGlyfS9mb250cy90cnVldHlwZS8gXDsKK30KKworRklMRVNfJHtQTn0gPSAiIFwKKyAgICAke3N5c2NvbmZkaXJ9L2ZvbnRzIFwKKyAgICAke2RhdGFkaXJ9L2ZvbnRzIFwKKyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy1rci1mb250cy80NC1zb3VyY2UtaGFuLXNhbnMta3IuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMta3ItZm9udHMvNDQtc291cmNlLWhhbi1zYW5zLWtyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGVlNzNhZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMta3ItZm9udHMvNDQtc291cmNlLWhhbi1zYW5zLWtyLmNvbmYKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiLi4vZm9udHMuZHRkIj4KKzxmb250Y29uZmlnPgorICAgIDwhLS0gCisgICAgICAgIC0gTWVkaXVtIHZhcmlhbnQgaXMgdXNlZCBpbnN0ZWFkIG9mIFJlZ3VsYXIgb24gUXQgYXBwczoKKyAgICAgICAgaHR0cHM6Ly9idWdzLmxhdW5jaHBhZC5uZXQvdWJ1bnR1LWZvbnQtZmFtaWx5LytidWcvNzQ0ODEyCisgICAgICAgIC0gTWVkaXVtIGFuZCBCb2xkIGxvb2tzIHRoZSBzYW1lIGluIGNlcnRhaW4gYXBwbGljYXRpb25zOgorICAgICAgICBodHRwczovL2J1Z3MubGF1bmNocGFkLm5ldC91YnVudHUvK3NvdXJjZS9nbm9tZS1zcGVjaW1lbi8rYnVnLzgxMzM3MworICAgIC0tPgorICAgIDxtYXRjaCB0YXJnZXQ9InNjYW4iPgorICAgICAgICA8dGVzdCBuYW1lPSJmdWxsbmFtZSIgY29tcGFyZT0iZXEiPgorICAgICAgICAgICAgPHN0cmluZz5Tb3VyY2UgSGFuIFNhbnMgS1IgTWVkaXVtPC9zdHJpbmc+CisgICAgICAgIDwvdGVzdD4KKyAgICAgICAgPGVkaXQgbmFtZT0id2VpZ2h0IiBtb2RlPSJhc3NpZ24iPgorICAgICAgICAgICAgPGNvbnN0PmRlbWlib2xkPC9jb25zdD4KKyAgICAgICAgPC9lZGl0PgorICAgIDwvbWF0Y2g+Cis8L2ZvbnRjb25maWc+CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMta3ItZm9udHNfMS4wMDQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLWtyLWZvbnRzXzEuMDA0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5MWQxNjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvc291cmNlLWhhbi1zYW5zLWtyLWZvbnRzXzEuMDA0LmJiCkBAIC0wLDAgKzEsMzQgQEAKK3JlcXVpcmUgdHRmLmluYworCitTVU1NQVJZID0gIkFkb2JlIE9wZW5UeXBlIFBhbi1DSksgZm9udCBmYW1pbHkgZm9yIEtvcmVhbiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hZG9iZS1mb250cy9zb3VyY2UtaGFuLXNhbnMiCitMSUNFTlNFID0gIk9GTC0xLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NTU3MTlmYWEwMTEyNzA4ZTk0NmI4MjBiMjRiMTQwOTciCisKK2luaGVyaXQgYWxsYXJjaCBmb250Y2FjaGUKKworIyBEb3dubG9hZCB0ZW5kcyB0byBicmVhayAtIHNvIC0gb3Igbm90PworI0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cHM6Ly9naXRodWIuY29tL2Fkb2JlLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy9yYXcvcmVsZWFzZS9TdWJzZXRPVEYvU291cmNlSGFuU2Fuc0tSLnppcCBcCisgICAgZmlsZTovLzQ0LXNvdXJjZS1oYW4tc2Fucy1rci5jb25mIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmOGQxYmQ2Yzg3ZDg1NzVhZmRiMjVlMmY0NmJkODFkNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzOGZkMTVjODBmOTk4MDQ5MmZhYWExYWYzOWZmODczZDhhMzhlNDUwMjcwMjNmYjE3ZDViMTBkNGI0YjBlNmFmIgorCitTID0gIiR7V09SS0RJUn0vU291cmNlSGFuU2Fuc0tSIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZm9udHMvY29uZi5kLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LzQ0LXNvdXJjZS1oYW4tc2Fucy1rci5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2ZvbnRzL2NvbmYuZC8KKworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvCisgICAgZmluZCAuLyAtbmFtZSAnKi5vdGYnIC1leGVjIGluc3RhbGwgLW0gMDY0NCB7fSAke0R9JHtkYXRhZGlyfS9mb250cy90cnVldHlwZS8gXDsKK30KKworRklMRVNfJHtQTn0gPSAiIFwKKyAgICAke3N5c2NvbmZkaXJ9L2ZvbnRzIFwKKyAgICAke2RhdGFkaXJ9L2ZvbnRzIFwKKyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy10dy1mb250cy80NC1zb3VyY2UtaGFuLXNhbnMtdHcuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMtdHctZm9udHMvNDQtc291cmNlLWhhbi1zYW5zLXR3LmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWUyODk0MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMtdHctZm9udHMvNDQtc291cmNlLWhhbi1zYW5zLXR3LmNvbmYKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiLi4vZm9udHMuZHRkIj4KKzxmb250Y29uZmlnPgorICAgIDwhLS0gCisgICAgICAgIC0gTWVkaXVtIHZhcmlhbnQgaXMgdXNlZCBpbnN0ZWFkIG9mIFJlZ3VsYXIgb24gUXQgYXBwczoKKyAgICAgICAgaHR0cHM6Ly9idWdzLmxhdW5jaHBhZC5uZXQvdWJ1bnR1LWZvbnQtZmFtaWx5LytidWcvNzQ0ODEyCisgICAgICAgIC0gTWVkaXVtIGFuZCBCb2xkIGxvb2tzIHRoZSBzYW1lIGluIGNlcnRhaW4gYXBwbGljYXRpb25zOgorICAgICAgICBodHRwczovL2J1Z3MubGF1bmNocGFkLm5ldC91YnVudHUvK3NvdXJjZS9nbm9tZS1zcGVjaW1lbi8rYnVnLzgxMzM3MworICAgIC0tPgorICAgIDxtYXRjaCB0YXJnZXQ9InNjYW4iPgorICAgICAgICA8dGVzdCBuYW1lPSJmdWxsbmFtZSIgY29tcGFyZT0iZXEiPgorICAgICAgICAgICAgPHN0cmluZz5Tb3VyY2UgSGFuIFNhbnMgVFdISyBNZWRpdW08L3N0cmluZz4KKyAgICAgICAgPC90ZXN0PgorICAgICAgICA8ZWRpdCBuYW1lPSJ3ZWlnaHQiIG1vZGU9ImFzc2lnbiI+CisgICAgICAgICAgICA8Y29uc3Q+ZGVtaWJvbGQ8L2NvbnN0PgorICAgICAgICA8L2VkaXQ+CisgICAgPC9tYXRjaD4KKzwvZm9udGNvbmZpZz4KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy10dy1mb250c18xLjAwNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMtdHctZm9udHNfMS4wMDQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzI4MjUwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9zb3VyY2UtaGFuLXNhbnMtdHctZm9udHNfMS4wMDQuYmIKQEAgLTAsMCArMSwzNCBAQAorcmVxdWlyZSB0dGYuaW5jCisKK1NVTU1BUlkgPSAiQWRvYmUgT3BlblR5cGUgUGFuLUNKSyBmb250IGZhbWlseSBmb3IgVHJhZGl0aW9uYWwgQ2hpbmVzZSIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hZG9iZS1mb250cy9zb3VyY2UtaGFuLXNhbnMiCitMSUNFTlNFID0gIk9GTC0xLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NTU3MTlmYWEwMTEyNzA4ZTk0NmI4MjBiMjRiMTQwOTciCisKK2luaGVyaXQgYWxsYXJjaCBmb250Y2FjaGUKKworIyBEb3dubG9hZCB0ZW5kcyB0byBicmVhayAtIHNvIC0gb3Igbm90PworI0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cHM6Ly9naXRodWIuY29tL2Fkb2JlLWZvbnRzL3NvdXJjZS1oYW4tc2Fucy9yYXcvcmVsZWFzZS9TdWJzZXRPVEYvU291cmNlSGFuU2Fuc1RXLnppcCBcCisgICAgZmlsZTovLzQ0LXNvdXJjZS1oYW4tc2Fucy10dy5jb25mIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NTMzYjcxYjMxYzE5ZTU0ODc2OGYwZmM5NjMyMDJmMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MmJhMTYxOTIxYzVjZGVjNWE4ZjhkNTcxMTY3NmYwODY1YjUwY2VlMDcxYzI1ZWI0YmQ0MTI1YjVhZjU5ZmQwIgorCitTID0gIiR7V09SS0RJUn0vU291cmNlSGFuU2Fuc1RXIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZm9udHMvY29uZi5kLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LzQ0LXNvdXJjZS1oYW4tc2Fucy10dy5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2ZvbnRzL2NvbmYuZC8KKworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvCisgICAgZmluZCAuLyAtbmFtZSAnKi5vdGYnIC1leGVjIGluc3RhbGwgLW0gMDY0NCB7fSAke0R9JHtkYXRhZGlyfS9mb250cy90cnVldHlwZS8gXDsKK30KKworRklMRVNfJHtQTn0gPSAiIFwKKyAgICAke3N5c2NvbmZkaXJ9L2ZvbnRzIFwKKyAgICAke2RhdGFkaXJ9L2ZvbnRzIFwKKyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1hcnBoaWMtdW1pbmdfMjAwODAyMTYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWFycGhpYy11bWluZ18yMDA4MDIxNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjJmMGZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1hcnBoaWMtdW1pbmdfMjAwODAyMTYuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJVbmljb2RlIE1pbmd0aSAocHJpbnRlZCkgVHJ1ZVR5cGUgRm9udCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvQ0pLVW5pZm9udHMiCitMSUNFTlNFID0gIkFycGhpYy1QdWJsaWMtTGljZW5zZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTttZDU9NjJiZTAxMTA5NGI3ODY1ZGRjNGQxYTY0ODQ0NGQzMWEiCitTUkNfRElTVFJJQlVURV9MSUNFTlNFUyArPSAiJHtQTn0iCitSUFJPVklERVNfJHtQTn0gPSAidmlydHVhbC1jaGluZXNlLWZvbnQiCitQUiA9ICJyNiIKKworRk9OVF9QQUNLQUdFUyA9ICIke1BOfSIKKworU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS51YnVudHUuY29tL3VidW50dS9wb29sL21haW4vdC90dGYtYXJwaGljLXVtaW5nL3R0Zi1hcnBoaWMtdW1pbmdfMC4yLiR7UFZ9LjEub3JpZy50YXIuZ3oiCitTID0gIiR7V09SS0RJUn0iCisKK3JlcXVpcmUgdHRmLmluYworCitGSUxFU18ke1BOfSA9ICIke2RhdGFkaXJ9IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDIxOWZjYWY5NTNmM2ViMTg4OTM5OTk1NWEwMDM3OWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODAzOGE2ZGI5ZTgzMjQ1NmQ1ZGE1NTU5YWZmOGQxNTEzMDI0M2JlMTA5MWJmMjRmMzI0MzUwM2E2ZjFiZGE5OCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtZGVqYXZ1LzMwLWRlamF2dS1hbGlhc2VzLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWRlamF2dS8zMC1kZWphdnUtYWxpYXNlcy5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljNmU1NmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWRlamF2dS8zMC1kZWphdnUtYWxpYXNlcy5jb25mCkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPgorPGZvbnRjb25maWc+CisJPGFsaWFzPgorCQk8ZmFtaWx5PkRlamFWdSBTZXJpZjwvZmFtaWx5PgorCQk8ZGVmYXVsdD48ZmFtaWx5PnNlcmlmPC9mYW1pbHk+PC9kZWZhdWx0PgorCTwvYWxpYXM+CisJPGFsaWFzPgorCQk8ZmFtaWx5PkRlamFWdSBTYW5zPC9mYW1pbHk+CisJCTxkZWZhdWx0PjxmYW1pbHk+c2Fucy1zZXJpZjwvZmFtaWx5PjwvZGVmYXVsdD4KKwk8L2FsaWFzPgorIAk8YWxpYXM+CisJCTxmYW1pbHk+RGVqYVZ1IFNhbnMgTW9ubzwvZmFtaWx5PgorCQk8ZGVmYXVsdD48ZmFtaWx5Pm1vbm9zcGFjZTwvZmFtaWx5PjwvZGVmYXVsdD4KKwk8L2FsaWFzPgorPC9mb250Y29uZmlnPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1kZWphdnVfMi4zNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtZGVqYXZ1XzIuMzUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2NlNzkxYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtZGVqYXZ1XzIuMzUuYmIKQEAgLTAsMCArMSw0NCBAQAorcmVxdWlyZSB0dGYuaW5jCisKK1NVTU1BUlkgPSAiRGVqYVZ1IGZvbnQgLSBUVEYgRWRpdGlvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9kZWphdnUuc291cmNlZm9yZ2UubmV0L3dpa2kvIgorTElDRU5TRSA9ICJCaXRzdHJlYW1WZXJhIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtXT1JLRElSfS9kZWphdnUtZm9udHMtdHRmLSR7UFZ9L0xJQ0VOU0U7bWQ1PTlmODY3ZGE3YTczZmFkMjcxNTI5MTM0OGU4MGQwNzYzIgorCisjIGFsbCBzdWJwYWNrYWdlcyBleGNlcHQgJHtQTn0tY29tbW9uIGl0c2VsZiByZGVwZW5kcyBvbiAke1BOfS1jb21tb24KK1JERVBFTkRTXyR7UE59LXNhbnMgPSAiJHtQTn0tY29tbW9uIgorUkRFUEVORFNfJHtQTn0tc2Fucy1tb25vID0gIiR7UE59LWNvbW1vbiIKK1JERVBFTkRTXyR7UE59LXNhbnMtY29uZGVuc2VkID0gIiR7UE59LWNvbW1vbiIKK1JERVBFTkRTXyR7UE59LXNlcmlmID0gIiR7UE59LWNvbW1vbiIKK1JERVBFTkRTXyR7UE59LXNlcmlmLWNvbmRlbnNlZCA9ICIke1BOfS1jb21tb24iCitSREVQRU5EU18ke1BOfS1jb21tb24gPSAiIgorUFIgPSAicjciCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2RlamF2dS9kZWphdnUtZm9udHMtdHRmLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vMzAtZGVqYXZ1LWFsaWFzZXMuY29uZiIKKworUyA9ICIke1dPUktESVJ9L2RlamF2dS1mb250cy10dGYtJHtQVn0vdHRmIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9mb250cy9jb25mLmQvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vMzAtZGVqYXZ1LWFsaWFzZXMuY29uZiAke0R9JHtzeXNjb25mZGlyfS9mb250cy9jb25mLmQvCit9CisKK1BBQ0tBR0VTID0gIlwKKyAgICAgICAgICAgICR7UE59LXNhbnMgXAorICAgICAgICAgICAgJHtQTn0tc2Fucy1tb25vIFwKKyAgICAgICAgICAgICR7UE59LXNhbnMtY29uZGVuc2VkIFwKKyAgICAgICAgICAgICR7UE59LXNlcmlmIFwKKyAgICAgICAgICAgICR7UE59LXNlcmlmLWNvbmRlbnNlZCBcCisgICAgICAgICAgICAke1BOfS1jb21tb24iCitGT05UX1BBQ0tBR0VTID0gIiR7UE59LXNhbnMgJHtQTn0tc2Fucy1tb25vICR7UE59LXNhbnMtY29uZGVuc2VkICR7UE59LXNlcmlmICR7UE59LXNlcmlmLWNvbmRlbnNlZCIKKworRklMRVNfJHtQTn0tc2FucyAgICAgICAgICAgID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvRGVqYVZ1U2Fucy50dGYgJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9EZWphVnVTYW5zLSoudHRmIgorRklMRVNfJHtQTn0tc2Fucy1tb25vICAgICAgID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvRGVqYVZ1U2Fuc01vbm8qLnR0ZiIKK0ZJTEVTXyR7UE59LXNhbnMtY29uZGVuc2VkICA9ICIke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlL0RlamFWdVNhbnNDb25kZW5zZWQqLnR0ZiIKK0ZJTEVTXyR7UE59LXNlcmlmICAgICAgICAgICA9ICIke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlL0RlamFWdVNlcmlmLnR0ZiAke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlL0RlamFWdVNlcmlmLSoudHRmIgorRklMRVNfJHtQTn0tc2VyaWYtY29uZGVuc2VkID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvRGVqYVZ1U2VyaWZDb25kZW5zZWQqLnR0ZiIKK0ZJTEVTXyR7UE59LWNvbW1vbiAgICAgICAgICA9ICIke3N5c2NvbmZkaXJ9IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTllYWNhNWFjZjVjN2M4MjEyZTkyNzc4ZTNlMDFmMzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjZkNzk2NTU4NjEwMWZmM2E4YTVjM2VjNTAzZTA4MmJiNmE5NjA0ZmY1MzQxM2UxMDcwMmU1OTE3YzE5NGQ4OCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtZHJvaWRfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1kcm9pZF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTYyYmFkZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtZHJvaWRfZ2l0LmJiCkBAIC0wLDAgKzEsMjcgQEAKK3JlcXVpcmUgdHRmLmluYworCitTVU1NQVJZID0gIkRyb2lkIGZvbnRzIC0gVFRGIEVkaXRpb24iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmRyb2lkZm9udHMuY29tLyIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRS50eHQ7bWQ1PTgzNTQ0MjYyYTg2ZjFmMWVjNzYxZTc1ODk3ZGY5MmJjIgorU1JDUkVWID0gIjIxZTZlMmRlMWYwMDYyZjk0OWZjYzUyZDBiNDU1OWRmYTMyNDZlMGUiCitQViA9ICIwLjErZ2l0ciR7U1JDUFZ9IgorUFIgPSAicjMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9hbmRyb2lkL3BsYXRmb3JtX2ZyYW1ld29ya3NfYmFzZS5naXQ7YnJhbmNoPW1hc3RlciIKKworUyA9ICIke1dPUktESVJ9L2dpdC9kYXRhL2ZvbnRzIgorCitkb19pbnN0YWxsX3ByZXBlbmQoKSB7CisgICAgcm0gJHtTfS9BaGVtLnR0ZiBNVExjM20udHRmIERyb2lkU2Fuc0FyYWJpYy50dGYgRHJvaWRTYW5zVGhhaS50dGYgQ2xvY2tvcGlhLnR0ZiBNVExtcjNtLnR0ZiBEcm9pZFNhbnNIZWJyZXcudHRmIERyb2lkU2Fuc0ZhbGxiYWNrTGVnYWN5LnR0ZiAjIHdlJ3JlIG5vdCBwYWNrYWdpbmcgaXQKK30KKworUEFDS0FHRVMgPSAidHRmLWRyb2lkLXNhbnMgdHRmLWRyb2lkLXNhbnMtbW9ubyBcCisgICAgICAgICAgICB0dGYtZHJvaWQtc2Fucy1mYWxsYmFjayB0dGYtZHJvaWQtc2Fucy1qYXBhbmVzZSB0dGYtZHJvaWQtc2VyaWYiCitGT05UX1BBQ0tBR0VTID0gInR0Zi1kcm9pZC1zYW5zIHR0Zi1kcm9pZC1zYW5zLW1vbm8gdHRmLWRyb2lkLXNhbnMtZmFsbGJhY2sgdHRmLWRyb2lkLXNhbnMtamFwYW5lc2UgdHRmLWRyb2lkLXNlcmlmIgorCitGSUxFU190dGYtZHJvaWQtc2FucyA9ICIke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlL0Ryb2lkU2Fucy50dGYgJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9Ecm9pZFNhbnMtQm9sZC50dGYiCitGSUxFU190dGYtZHJvaWQtc2Fucy1tb25vID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvRHJvaWRTYW5zTW9uby50dGYiCitGSUxFU190dGYtZHJvaWQtc2Fucy1mYWxsYmFjayA9ICIke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlL0Ryb2lkU2Fuc0ZhbGxiYWNrLnR0ZiIKK0ZJTEVTX3R0Zi1kcm9pZC1zYW5zLWphcGFuZXNlID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvRHJvaWRTYW5zSmFwYW5lc2UudHRmIgorRklMRVNfdHRmLWRyb2lkLXNlcmlmID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvRHJvaWRTZXJpZioudHRmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1nZW50aXVtXzEuMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWdlbnRpdW1fMS4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTYyNThhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1nZW50aXVtXzEuMDIuYmIKQEAgLTAsMCArMSwzNyBAQAorcmVxdWlyZSB0dGYuaW5jCisKK1NVTU1BUlkgPSAiR2VudGl1bSBmb250cyAtIFRURiBWZXJzaW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3NjcmlwdHMuc2lsLm9yZy9nZW50aXVtIgorTElDRU5TRSA9ICJPRkwiCitMSUNFTlNFX1VSTCA9ICJodHRwOi8vc2NyaXB0cy5zaWwub3JnL2Ntcy9zY3JpcHRzL3BhZ2UucGhwP3NpdGVfaWQ9bnJzaSZpdGVtX2lkPU9GTCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL09GTDttZDU9MzNhNWJmN2I5OGE5YzBhZTg3NDMwNzYwYmE3NjIyOTUgXAorIgorUFIgPSAicjgiCisKK1NSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL3QvdHRmLWdlbnRpdW0vdHRmLWdlbnRpdW1fJHtQVn0ub3JpZy50YXIuZ3ogIgorCitTID0gIiR7V09SS0RJUn0vdHRmLXNpbC1nZW50aXVtLSR7UFZ9IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZG9jL3R0Zi1nZW50aXVtLworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZG9jL3R0Zi1nZW50aXVtLWFsdC8KKworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L09GTCAke0R9JHtkYXRhZGlyfS9kb2MvdHRmLWdlbnRpdW0vCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vT0ZMICR7RH0ke2RhdGFkaXJ9L2RvYy90dGYtZ2VudGl1bS1hbHQvCisKK30KKworUEFDS0FHRVMgPSAiJHtQTn0gJHtQTn0tYWx0IgorRk9OVF9QQUNLQUdFUyA9ICIke1BOfSAke1BOfS1hbHQiCisKK0ZJTEVTXyR7UE59LWFsdCA9ICIke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlL0dlbkFJKi50dGYgXAorICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvR2VuQVIqLnR0ZiBcCisgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kb2MvdHRmLWdlbnRpdW0tYWx0LyoiCisKK0ZJTEVTXyR7UE59ID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvR2VuSSoudHRmIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvR2VuUioudHRmIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZG9jL3R0Zi1nZW50aXVtLyoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0YzNlNmFlNTg2YmUyNzc1MzdlYmI2OGYyYTQ1Yjg4MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0NzQ2YzA0YzlhNGFkOWUwNzg4YTM4ZTBhMmY4MTkxOWE2MzBkODA3MGNlYWJjODlmMTU2YjZkNDFkOGNlYjM3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1odW5reWZvbnRzXzAuMy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1odW5reWZvbnRzXzAuMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjZDk5MzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWh1bmt5Zm9udHNfMC4zLjAuYmIKQEAgLTAsMCArMSwyMCBAQAorcmVxdWlyZSB0dGYuaW5jCisKK1NVTU1BUlkgPSAiSHVua3kgZm9udHMgLSBUVEYgVmVyc2lvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvaHVua3lmb250cyIKK0xJQ0VOU0UgPSAiTEdQTCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL0xJQ0VOU0U7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgorUFIgPSAicjciCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2h1bmt5Zm9udHMvaHVua3lmb250cy0ke1BWfS50YXIuYnoyIgorCitTID0gIiR7V09SS0RJUn0vaHVua3lmb250cy0ke1BWfS9UVEYvIgorCitQQUNLQUdFUyA9ICJ0dGYtaHVua3ktc2FucyB0dGYtaHVua3ktc2VyaWYiCitGT05UX1BBQ0tBR0VTID0gInR0Zi1odW5reS1zYW5zIHR0Zi1odW5reS1zZXJpZiIKKworRklMRVNfdHRmLWh1bmt5LXNhbnMgPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9IdW5reVNhbnMqLnR0ZiIKK0ZJTEVTX3R0Zi1odW5reS1zZXJpZiA9ICIke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlL0h1bmt5U2VyaWYqLnR0ZiIKKworU1JDX1VSSVttZDVzdW1dID0gIjM2NDQ0Nzk1YTM1NmZiOGE1NmM2M2IyODQwNzI5YmFiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUwYjE4NDljNTQ1YjZhZjI3NjQwN2Q5MzAyNWM3MzA5NGRkNzRmYzI1OWIwN2MxZDkxNTk0ZmRiYjlhMGI4MjkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWluY29uc29sYXRhL09GTC50eHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWluY29uc29sYXRhL09GTC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ1NmMxOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtaW5jb25zb2xhdGEvT0ZMLnR4dApAQCAtMCwwICsxLDk3IEBACitDb3B5cmlnaHQgKGMpIDxkYXRlcz4sIDxDb3B5cmlnaHQgSG9sZGVyPiAoPFVSTHxlbWFpbD4pLAord2l0aCBSZXNlcnZlZCBGb250IE5hbWUgPFJlc2VydmVkIEZvbnQgTmFtZT4uCitDb3B5cmlnaHQgKGMpIDxkYXRlcz4sIDxhZGRpdGlvbmFsIENvcHlyaWdodCBIb2xkZXI+ICg8VVJMfGVtYWlsPiksCit3aXRoIFJlc2VydmVkIEZvbnQgTmFtZSA8YWRkaXRpb25hbCBSZXNlcnZlZCBGb250IE5hbWU+LgorQ29weXJpZ2h0IChjKSA8ZGF0ZXM+LCA8YWRkaXRpb25hbCBDb3B5cmlnaHQgSG9sZGVyPiAoPFVSTHxlbWFpbD4pLgorCitUaGlzIEZvbnQgU29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIFNJTCBPcGVuIEZvbnQgTGljZW5zZSwgVmVyc2lvbiAxLjEuCitUaGlzIGxpY2Vuc2UgaXMgY29waWVkIGJlbG93LCBhbmQgaXMgYWxzbyBhdmFpbGFibGUgd2l0aCBhIEZBUSBhdDoKK2h0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMCisKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1NJTCBPUEVOIEZPTlQgTElDRU5TRSBWZXJzaW9uIDEuMSAtIDI2IEZlYnJ1YXJ5IDIwMDcKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1BSRUFNQkxFCitUaGUgZ29hbHMgb2YgdGhlIE9wZW4gRm9udCBMaWNlbnNlIChPRkwpIGFyZSB0byBzdGltdWxhdGUgd29ybGR3aWRlCitkZXZlbG9wbWVudCBvZiBjb2xsYWJvcmF0aXZlIGZvbnQgcHJvamVjdHMsIHRvIHN1cHBvcnQgdGhlIGZvbnQgY3JlYXRpb24KK2VmZm9ydHMgb2YgYWNhZGVtaWMgYW5kIGxpbmd1aXN0aWMgY29tbXVuaXRpZXMsIGFuZCB0byBwcm92aWRlIGEgZnJlZSBhbmQKK29wZW4gZnJhbWV3b3JrIGluIHdoaWNoIGZvbnRzIG1heSBiZSBzaGFyZWQgYW5kIGltcHJvdmVkIGluIHBhcnRuZXJzaGlwCit3aXRoIG90aGVycy4KKworVGhlIE9GTCBhbGxvd3MgdGhlIGxpY2Vuc2VkIGZvbnRzIHRvIGJlIHVzZWQsIHN0dWRpZWQsIG1vZGlmaWVkIGFuZAorcmVkaXN0cmlidXRlZCBmcmVlbHkgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3Qgc29sZCBieSB0aGVtc2VsdmVzLiBUaGUKK2ZvbnRzLCBpbmNsdWRpbmcgYW55IGRlcml2YXRpdmUgd29ya3MsIGNhbiBiZSBidW5kbGVkLCBlbWJlZGRlZCwgCityZWRpc3RyaWJ1dGVkIGFuZC9vciBzb2xkIHdpdGggYW55IHNvZnR3YXJlIHByb3ZpZGVkIHRoYXQgYW55IHJlc2VydmVkCituYW1lcyBhcmUgbm90IHVzZWQgYnkgZGVyaXZhdGl2ZSB3b3Jrcy4gVGhlIGZvbnRzIGFuZCBkZXJpdmF0aXZlcywKK2hvd2V2ZXIsIGNhbm5vdCBiZSByZWxlYXNlZCB1bmRlciBhbnkgb3RoZXIgdHlwZSBvZiBsaWNlbnNlLiBUaGUKK3JlcXVpcmVtZW50IGZvciBmb250cyB0byByZW1haW4gdW5kZXIgdGhpcyBsaWNlbnNlIGRvZXMgbm90IGFwcGx5Cit0byBhbnkgZG9jdW1lbnQgY3JlYXRlZCB1c2luZyB0aGUgZm9udHMgb3IgdGhlaXIgZGVyaXZhdGl2ZXMuCisKK0RFRklOSVRJT05TCisiRm9udCBTb2Z0d2FyZSIgcmVmZXJzIHRvIHRoZSBzZXQgb2YgZmlsZXMgcmVsZWFzZWQgYnkgdGhlIENvcHlyaWdodAorSG9sZGVyKHMpIHVuZGVyIHRoaXMgbGljZW5zZSBhbmQgY2xlYXJseSBtYXJrZWQgYXMgc3VjaC4gVGhpcyBtYXkKK2luY2x1ZGUgc291cmNlIGZpbGVzLCBidWlsZCBzY3JpcHRzIGFuZCBkb2N1bWVudGF0aW9uLgorCisiUmVzZXJ2ZWQgRm9udCBOYW1lIiByZWZlcnMgdG8gYW55IG5hbWVzIHNwZWNpZmllZCBhcyBzdWNoIGFmdGVyIHRoZQorY29weXJpZ2h0IHN0YXRlbWVudChzKS4KKworIk9yaWdpbmFsIFZlcnNpb24iIHJlZmVycyB0byB0aGUgY29sbGVjdGlvbiBvZiBGb250IFNvZnR3YXJlIGNvbXBvbmVudHMgYXMKK2Rpc3RyaWJ1dGVkIGJ5IHRoZSBDb3B5cmlnaHQgSG9sZGVyKHMpLgorCisiTW9kaWZpZWQgVmVyc2lvbiIgcmVmZXJzIHRvIGFueSBkZXJpdmF0aXZlIG1hZGUgYnkgYWRkaW5nIHRvLCBkZWxldGluZywKK29yIHN1YnN0aXR1dGluZyAtLSBpbiBwYXJ0IG9yIGluIHdob2xlIC0tIGFueSBvZiB0aGUgY29tcG9uZW50cyBvZiB0aGUKK09yaWdpbmFsIFZlcnNpb24sIGJ5IGNoYW5naW5nIGZvcm1hdHMgb3IgYnkgcG9ydGluZyB0aGUgRm9udCBTb2Z0d2FyZSB0byBhCituZXcgZW52aXJvbm1lbnQuCisKKyJBdXRob3IiIHJlZmVycyB0byBhbnkgZGVzaWduZXIsIGVuZ2luZWVyLCBwcm9ncmFtbWVyLCB0ZWNobmljYWwKK3dyaXRlciBvciBvdGhlciBwZXJzb24gd2hvIGNvbnRyaWJ1dGVkIHRvIHRoZSBGb250IFNvZnR3YXJlLgorCitQRVJNSVNTSU9OICYgQ09ORElUSU9OUworUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nCithIGNvcHkgb2YgdGhlIEZvbnQgU29mdHdhcmUsIHRvIHVzZSwgc3R1ZHksIGNvcHksIG1lcmdlLCBlbWJlZCwgbW9kaWZ5LAorcmVkaXN0cmlidXRlLCBhbmQgc2VsbCBtb2RpZmllZCBhbmQgdW5tb2RpZmllZCBjb3BpZXMgb2YgdGhlIEZvbnQKK1NvZnR3YXJlLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworMSkgTmVpdGhlciB0aGUgRm9udCBTb2Z0d2FyZSBub3IgYW55IG9mIGl0cyBpbmRpdmlkdWFsIGNvbXBvbmVudHMsCitpbiBPcmlnaW5hbCBvciBNb2RpZmllZCBWZXJzaW9ucywgbWF5IGJlIHNvbGQgYnkgaXRzZWxmLgorCisyKSBPcmlnaW5hbCBvciBNb2RpZmllZCBWZXJzaW9ucyBvZiB0aGUgRm9udCBTb2Z0d2FyZSBtYXkgYmUgYnVuZGxlZCwKK3JlZGlzdHJpYnV0ZWQgYW5kL29yIHNvbGQgd2l0aCBhbnkgc29mdHdhcmUsIHByb3ZpZGVkIHRoYXQgZWFjaCBjb3B5Citjb250YWlucyB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBsaWNlbnNlLiBUaGVzZSBjYW4gYmUKK2luY2x1ZGVkIGVpdGhlciBhcyBzdGFuZC1hbG9uZSB0ZXh0IGZpbGVzLCBodW1hbi1yZWFkYWJsZSBoZWFkZXJzIG9yCitpbiB0aGUgYXBwcm9wcmlhdGUgbWFjaGluZS1yZWFkYWJsZSBtZXRhZGF0YSBmaWVsZHMgd2l0aGluIHRleHQgb3IKK2JpbmFyeSBmaWxlcyBhcyBsb25nIGFzIHRob3NlIGZpZWxkcyBjYW4gYmUgZWFzaWx5IHZpZXdlZCBieSB0aGUgdXNlci4KKworMykgTm8gTW9kaWZpZWQgVmVyc2lvbiBvZiB0aGUgRm9udCBTb2Z0d2FyZSBtYXkgdXNlIHRoZSBSZXNlcnZlZCBGb250CitOYW1lKHMpIHVubGVzcyBleHBsaWNpdCB3cml0dGVuIHBlcm1pc3Npb24gaXMgZ3JhbnRlZCBieSB0aGUgY29ycmVzcG9uZGluZworQ29weXJpZ2h0IEhvbGRlci4gVGhpcyByZXN0cmljdGlvbiBvbmx5IGFwcGxpZXMgdG8gdGhlIHByaW1hcnkgZm9udCBuYW1lIGFzCitwcmVzZW50ZWQgdG8gdGhlIHVzZXJzLgorCis0KSBUaGUgbmFtZShzKSBvZiB0aGUgQ29weXJpZ2h0IEhvbGRlcihzKSBvciB0aGUgQXV0aG9yKHMpIG9mIHRoZSBGb250CitTb2Z0d2FyZSBzaGFsbCBub3QgYmUgdXNlZCB0byBwcm9tb3RlLCBlbmRvcnNlIG9yIGFkdmVydGlzZSBhbnkKK01vZGlmaWVkIFZlcnNpb24sIGV4Y2VwdCB0byBhY2tub3dsZWRnZSB0aGUgY29udHJpYnV0aW9uKHMpIG9mIHRoZQorQ29weXJpZ2h0IEhvbGRlcihzKSBhbmQgdGhlIEF1dGhvcihzKSBvciB3aXRoIHRoZWlyIGV4cGxpY2l0IHdyaXR0ZW4KK3Blcm1pc3Npb24uCisKKzUpIFRoZSBGb250IFNvZnR3YXJlLCBtb2RpZmllZCBvciB1bm1vZGlmaWVkLCBpbiBwYXJ0IG9yIGluIHdob2xlLAorbXVzdCBiZSBkaXN0cmlidXRlZCBlbnRpcmVseSB1bmRlciB0aGlzIGxpY2Vuc2UsIGFuZCBtdXN0IG5vdCBiZQorZGlzdHJpYnV0ZWQgdW5kZXIgYW55IG90aGVyIGxpY2Vuc2UuIFRoZSByZXF1aXJlbWVudCBmb3IgZm9udHMgdG8KK3JlbWFpbiB1bmRlciB0aGlzIGxpY2Vuc2UgZG9lcyBub3QgYXBwbHkgdG8gYW55IGRvY3VtZW50IGNyZWF0ZWQKK3VzaW5nIHRoZSBGb250IFNvZnR3YXJlLgorCitURVJNSU5BVElPTgorVGhpcyBsaWNlbnNlIGJlY29tZXMgbnVsbCBhbmQgdm9pZCBpZiBhbnkgb2YgdGhlIGFib3ZlIGNvbmRpdGlvbnMgYXJlCitub3QgbWV0LgorCitESVNDTEFJTUVSCitUSEUgRk9OVCBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIEFOWSBXQVJSQU5USUVTIE9GCitNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQKK09GIENPUFlSSUdIVCwgUEFURU5ULCBUUkFERU1BUkssIE9SIE9USEVSIFJJR0hULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKK0NPUFlSSUdIVCBIT0xERVIgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLAorSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgT1IgQ09OU0VRVUVOVElBTAorREFNQUdFUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCitGUk9NLCBPVVQgT0YgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBGT05UIFNPRlRXQVJFIE9SIEZST00KK09USEVSIERFQUxJTkdTIElOIFRIRSBGT05UIFNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1pbmNvbnNvbGF0YV8yMDEwMDUyNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtaW5jb25zb2xhdGFfMjAxMDA1MjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjAwNDFiYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtaW5jb25zb2xhdGFfMjAxMDA1MjYuYmIKQEAgLTAsMCArMSwyNiBAQAorcmVxdWlyZSB0dGYuaW5jCisKK1NVTU1BUlkgPSAiSW5jb25zb2xhdGEgZm9udCAtIFRURiBWZXJzaW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5sZXZpZW4uY29tL3R5cGUvbXlmb250cy9pbmNvbnNvbGF0YS5odG1sIgorTElDRU5TRSA9ICJPRkwtMS4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vT0ZMLnR4dDttZDU9OTY5ODUxZTNhNzAxMjIwNjlhNGQ5ZWU2MWRkNWEyZWQiCisKK1NSQ19VUkkgPSAiaHR0cDovL2xldmllbi5jb20vdHlwZS9teWZvbnRzL0luY29uc29sYXRhLm90ZiBcCisgICAgZmlsZTovL09GTC50eHQiCisKK1MgPSAiJHtXT1JLRElSfS90dGYtaW5jb25zb2xhdGEtJHtQVn0iCisKK0ZJTEVTXyR7UE59ID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvSW5jb25zb2xhdGEudHRmIFwKKyAgICAke2RhdGFkaXJ9L2RvYy90dGYtaW5jb25zb2xhdGEvKiIKKworZG9fY29uZmlndXJlKCkgeworICAgIG12ICR7V09SS0RJUn0vSW5jb25zb2xhdGEub3RmICR7U30vSW5jb25zb2xhdGEudHRmCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZG9jL3R0Zi1pbmNvbnNvbGF0YS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9PRkwudHh0ICR7RH0ke2RhdGFkaXJ9L2RvYy90dGYtaW5jb25zb2xhdGEvCit9CisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZmJlMDE0YzFmMGZiNWUzYzcxMTQwZmYwZGM2M2VkZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNTYxZTYxNmM0MTRhMWI4MmQ2ZTZkZmJkMThlNTcyNmZkNjUwMjg5MTNhZGUxOTFlNWZhMzhiNmVjMzc1YTFhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1saWJlcmF0aW9uXzAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtbGliZXJhdGlvbl8wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzIwNGM5MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtbGliZXJhdGlvbl8wLjIuYmIKQEAgLTAsMCArMSwyMyBAQAorcmVxdWlyZSB0dGYuaW5jCisKK1NVTU1BUlkgPSAiTGliZXJhdGlvbiBmb250cyAtIFRURiBWZXJzaW9uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cucmVkaGF0LmNvbS9wcm9tby9mb250cy8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTGljZW5zZS50eHQ7bWQ1PTViMTcxYzUxMDAwMjlkODg0ZmNlYTIxZDlhMmI3NTQzIFwKKyIKKworUFIgPSAicjciCisKK1NSQ19VUkkgPSAiaHR0cDovL2ZlZG9yYWhvc3RlZC5vcmcvbGliZXJhdGlvbi1mb250cy9leHBvcnQvODA3YjZkZmQwNjliOTk4Y2Q5YjRkMzE1OGRhOTg4MTdlZjIzYzc5ZC9GLTkvbGliZXJhdGlvbi1mb250cy10dGYtMy50YXIuZ3oiCitTID0gIiR7V09SS0RJUn0vbGliZXJhdGlvbi1mb250cy0ke1BWfSIKKworUEFDS0FHRVMgPSAidHRmLWxpYmVyYXRpb24tbW9ubyB0dGYtbGliZXJhdGlvbi1zYW5zIHR0Zi1saWJlcmF0aW9uLXNlcmlmIgorRk9OVF9QQUNLQUdFUyA9ICJ0dGYtbGliZXJhdGlvbi1tb25vIHR0Zi1saWJlcmF0aW9uLXNhbnMgdHRmLWxpYmVyYXRpb24tc2VyaWYiCisKK0ZJTEVTX3R0Zi1saWJlcmF0aW9uLW1vbm8gID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvKk1vbm8qIgorRklMRVNfdHRmLWxpYmVyYXRpb24tc2FucyAgPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS8qU2FucyoiCitGSUxFU190dGYtbGliZXJhdGlvbi1zZXJpZiA9ICIke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlLypTZXJpZioiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3NzcyODA3OGExN2UzOWY3YzI0MmI0MmMzYmY2ZmViOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNzRjZjI3YzU3NjEyOTcxNDM0ZWM4Y2M0YTUyYmZkMzdiYWQ4NDA4ZTliOTIxOTUzOWM2ZDUxMTNkZjZmZjhmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1tcGx1c18wMjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLW1wbHVzXzAyNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YWQzNDhkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1tcGx1c18wMjcuYmIKQEAgLTAsMCArMSwyOCBAQAorcmVxdWlyZSB0dGYuaW5jCisKK1NVTU1BUlkgPSAiTVBsdXMgZm9udCAtIFRURiBFZGl0aW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL2RlamF2dS5zb3VyY2Vmb3JnZS5uZXQvd2lraS8iCitMSUNFTlNFID0gIiR7UE59IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRV9FO21kNT1hYzE2MWU5NmVkYTAwZGI5YTNhZWM3ODcwYjVkOTY1OCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MSUNFTlNFX0o7bWQ1PWExMjBjYThkN2M4ZTRhNDc1ZDUyNzdjOWFlYjk1MjIxIFwKKyIKK1BSID0gInI0IgorCitTUkNfVVJJID0gImh0dHA6Ly9vc2RuLmRsLnNvdXJjZWZvcmdlLmpwL21wbHVzLWZvbnRzLzY2NTAvbXBsdXMtVEVTVEZMSUdIVC0ke1BWfS50YXIuZ3oiCitTID0gIiR7V09SS0RJUn0vbXBsdXMtVEVTVEZMSUdIVC0ke1BWfSIKKworUEFDS0FHRVNQTElURlVOQ1NfcHJlcGVuZCA9ICJzcGxpdF90dGZfbXBsdXNfcGFja2FnZXMgIgorCitweXRob24gc3BsaXRfdHRmX21wbHVzX3BhY2thZ2VzKCkgeworICAgIHBsdWdpbmRpciA9IGQuZXhwYW5kKCcke2RhdGFkaXJ9L2ZvbnRzL3R0Zi1tcGx1cy8nKQorICAgIHBhY2thZ2VzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luZGlyLCAnXiguKilcLnR0ZiQnLCAndHRmLSVzJywgJ1RURiBGb250ICVzJykKKyAgICBkLnNldFZhcignRk9OVF9QQUNLQUdFUycsICcgJy5qb2luKHBhY2thZ2VzKSkKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2ZvbnRzL3R0Zi1tcGx1cworICAgIGluc3RhbGwgLW0gMDY0NCAqLnR0ZiAke0R9JHtkYXRhZGlyfS9mb250cy90dGYtbXBsdXMvCit9CisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMTQwMDE4NGI1MWIzODcxZThkMmZjYTZjNTBlMThhZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhMjBiOWI5YjAzYzJhNmZiMWUyMTM3ZDI5ZThhNmNlMDY0MDZiYTFlMDA4OTA2ZWEzYzQ3NGRjMDQ4ZGMwNmE2IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1wdC1zYW5zXzEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtcHQtc2Fuc18xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM2MGEzNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtcHQtc2Fuc18xLjEuYmIKQEAgLTAsMCArMSwzOSBAQAorU1VNTUFSWSA9ICJQVCBTYW5zIEZvbnRzIgorREVTQ1JJUFRJT04gPSAiVGhlIFBUIFNhbnMgVFRGIGZvbnQgc2V0IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wYXJhdHlwZS5jb20vcHVibGljLyIKKworU0VDVElPTiA9ICJ4MTEvZm9udHMiCisKK0xJQ0VOU0UgPSAiUGFyYVR5cGVGRkwtMS4zIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vUFQlMjBGcmVlJTIwRm9udCUyMExpY2Vuc2VfZW5nLnR4dDttZDU9ZDcyMGYzYTI4MWVkODFjM2Y0Y2ZjNDY1ZTExYjFkMGQiCisKK2luaGVyaXQgYWxsYXJjaCBmb250Y2FjaGUKKworIyBEb3dubG9hZGluZyBmcm9tIGZlZG9yYSBiZWNhdXNlIHVwc3RyZWFtIGRvZXNuJ3QgdmVyc2lvbiBpdHMgemlwIGZpbGUKKyMgYW5kIGNhdXNlcyBoYXNoIGJ1aWxkIGZhaWx1cmVzCitTUkNfVVJJID0gImh0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL3JlcG8vcGtncy9wYXJhdHlwZS1wdC1zYW5zLWZvbnRzL1BUU2Fucy56aXAvYzNmNWEwZTIwYTc1Y2Y2MjgzODc1MTBhNzIwOTI0YTcvUFRTYW5zLnppcCIKKworU1JDX1VSSVttZDVzdW1dID0gImMzZjVhMGUyMGE3NWNmNjI4Mzg3NTEwYTcyMDkyNGE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAxNjRmODI0ZTAzYzMyYzk5ZThhMjI1ODUzZWMxNjg4OTNhMDRhMDlhZGUxMzJlOTNhNjc0ZTg1YWUwMzNiMmUiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZm9udHMvWDExL1RURi8KKyAgICBjZCAuLgorICAgIGZvciBpIGluICoudHRmOyBkbworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJGkgJHtEfSR7cHJlZml4fS9zaGFyZS9mb250cy9YMTEvVFRGLyR7aX0KKyAgICBkb25lCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9IgorCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworICAgIHNldCAteAorICAgIGZvciBmb250ZGlyIGluIGBmaW5kICREL3Vzci9saWIvWDExL2ZvbnRzIC10eXBlIGRgOyBkbworICAgICAgICBta2ZvbnRkaXIgJGZvbnRkaXIKKyAgICAgICAgbWtmb250c2NhbGUgJGZvbnRkaXIKKyAgICBkb25lCisgICAgZm9yIGZvbnRkaXIgaW4gYGZpbmQgJEQvdXNyL3NoYXJlL2ZvbnRzL1gxMSAtdHlwZSBkYDsgZG8KKyAgICAgICAgbWtmb250ZGlyICRmb250ZGlyCisgICAgICAgIG1rZm9udHNjYWxlICRmb250ZGlyCisgICAgZG9uZQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1zYXphbmFtaV8yMDA0MDYyOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtc2F6YW5hbWlfMjAwNDA2MjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWZkY2VjOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtc2F6YW5hbWlfMjAwNDA2MjkuYmIKQEAgLTAsMCArMSwzNSBAQAorcmVxdWlyZSB0dGYuaW5jCisKK1NVTU1BUlkgPSAiU2F6YW5hbWkgR290aGljL01pbmNobyBKYXBhbmVzZSBUcnVlVHlwZSBmb250cyIKK1NVTU1BUllfdHRmLXNhemFuYW1pLWdvdGhpYyA9ICJTYXphbmFtaSBHb3RoaWMgSmFwYW5lc2UgVHJ1ZVR5cGUgZm9udCIKK1NVTU1BUllfdHRmLXNhemFuYW1pLW1pbmNobyA9ICJTYXphbmFtaSBNaW5jaG8gSmFwYW5lc2UgVHJ1ZVR5cGUgZm9udCIKK0FVVEhPUiA9ICJFbGVjdHJvbmljIEZvbnQgT3BlbiBMYWJvcmF0b3J5ICgvZWZvbnQvKSIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5qcC9wcm9qZWN0cy9lZm9udC8iCitMSUNFTlNFID0gIlBEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO21kNT05N2Q3Mzk5MDBiZTZlODUyODMwZjU1YWEzYzA3ZDRhMCIKK1NSQ19ESVNUUklCVVRFX0xJQ0VOU0VTICs9ICIke1BOfSIKK1JQUk9WSURFU18ke1BOfSA9ICJ2aXJ0dWFsLWphcGFuZXNlLWZvbnQiCitQUiA9ICJyOSIKKworU1JDX1VSSSA9ICJodHRwOi8vb3Nkbi5kbC5zb3VyY2Vmb3JnZS5qcC9lZm9udC8xMDA4Ny9zYXphbmFtaS0yMDA0MDYyOS50YXIuYnoyIgorUyA9ICIke1dPUktESVJ9L3NhemFuYW1pLTIwMDQwNjI5IgorCitQQUNLQUdFUyA9ICJ0dGYtc2F6YW5hbWktZ290aGljIHR0Zi1zYXphbmFtaS1taW5jaG8iCitGT05UX1BBQ0tBR0VTID0gInR0Zi1zYXphbmFtaS1nb3RoaWMgdHRmLXNhemFuYW1pLW1pbmNobyIKKworRklMRVNfdHRmLXNhemFuYW1pLWdvdGhpYyA9ICIke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlL3NhemFuYW1pLWdvdGhpYy50dGYgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RvYy90dGYtc2F6YW5hbWktZ290aGljL1JFQURNRSIKK0ZJTEVTX3R0Zi1zYXphbmFtaS1taW5jaG8gPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS9zYXphbmFtaS1taW5jaG8udHRmIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kb2MvdHRmLXNhemFuYW1pLW1pbmNoby9SRUFETUUiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgUkVBRE1FIGNvbnRhaW5zIHRoZSByZWRpc3RyaWJ1dGlvbiBsaWNlbnNlCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9kb2MvCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9kb2MvdHRmLXNhemFuYW1pLWdvdGhpYworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZG9jL3R0Zi1zYXphbmFtaS1taW5jaG8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9SRUFETUUgJHtEfSR7ZGF0YWRpcn0vZG9jL3R0Zi1zYXphbmFtaS1nb3RoaWMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9SRUFETUUgJHtEfSR7ZGF0YWRpcn0vZG9jL3R0Zi1zYXphbmFtaS1taW5jaG8KK30KKworU1JDX1VSSVttZDVzdW1dID0gImNlZWYxMDU3OWE3NWM5MjQ4MzE3MWYzYmQ3Zjc3ZGYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM0NjdjZTJmNzBhOWEzZmJiZjhkNGQ5NzM1NWEyZjMzNGE2MzUxYmFhNjcyMjI1MTQwMzYzN2E4Y2JlYmY2YjciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLXRsd2dfMC42LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLXRsd2dfMC42LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZhM2ZlNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtdGx3Z18wLjYuMS5iYgpAQCAtMCwwICsxLDI3IEBACityZXF1aXJlIHR0Zi5pbmMKKworU1VNTUFSWSA9ICJUaGFpIExpbnV4IFdvcmtpbmcgR3JvdXAgRm9udHMiCitBVVRIT1IgPSAiVGhhaSBMaW51eCBXb3JraW5nIEdyb3VwIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpbnV4LnRoYWkubmV0L3Byb2plY3RzL2ZvbnRzLXRsd2ciCitMSUNFTlNFID0gIkdQTHYyICYgVExXRyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL2ZvbnRzLXRsd2ctJHtQVn0vQ09QWUlORzttZDU9M2QyMGNkN2VhZGY0YWZkNTQ2MGMwYWRiMzJlMzg3ZmQiCisKK1NSQ19VUkkgPSAiaHR0cDovL2xpbnV4LnRoYWkubmV0L3B1Yi9UaGFpTGludXgvc29mdHdhcmUvZm9udHMtdGx3Zy9mb250cy10bHdnLSR7UFZ9LnRhci54ejtuYW1lPXNvdXJjZSBcCisgICAgICAgICAgIGh0dHA6Ly9saW51eC50aGFpLm5ldC9wdWIvVGhhaUxpbnV4L3NvZnR3YXJlL3R0Zi10bHdnL3R0Zi10bHdnLSR7UFZ9LnRhci54ejtuYW1lPXR0ZiIKK1NSQ19VUklbc291cmNlLm1kNXN1bV0gPSAiNWVhNWJjOTY0ZDk5MmRmMDQyOGYyZTBiODVmNDg0MDAiCitTUkNfVVJJW3NvdXJjZS5zaGEyNTZzdW1dID0gIjc3ZmI5ODMyMjIxZmRlNjBjOWY2ODNhYzNmZGNlN2Q0NWFiNmU5YzBkODNkZjgzZGE5NjlhM2ZlOWZhYmE1MzciCitTUkNfVVJJW3R0Zi5tZDVzdW1dID0gIjFiYzUxZjQ1YTdiNjYxNDA0YTk0NGZhYjY5MTEyNjFjIgorU1JDX1VSSVt0dGYuc2hhMjU2c3VtXSA9ICJhYTljZDY4OTY5YjZmNzA0ZGYzZTViMWEyZTExMjA0YzQ3ZjExOGM4YWIwNTJmMDRjMTExYmQ1ZjI5OWY3N2M4IgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9mb250cy9jb25mLmQKKworICAgIGZvciB4IGluICR7U30vZXRjL2ZvbnRzL2NvbmYuYXZhaWwvKi5jb25mOyBkbworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHggJHtEfSR7c3lzY29uZmRpcn0vZm9udHMvY29uZi5kLworICAgIGRvbmUKK30KKworUEFDS0FHRVMgPSAiJHtQTn0iCitGT05UX1BBQ0tBR0VTID0gIiR7UE59IgorCitGSUxFU18ke1BOfSA9ICIke2RhdGFkaXJ9L2ZvbnRzICR7c3lzY29uZmRpcn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLXVidW50dS1mb250LWZhbWlseV8wLjgwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi11YnVudHUtZm9udC1mYW1pbHlfMC44MC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWQxYjlhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi11YnVudHUtZm9udC1mYW1pbHlfMC44MC5iYgpAQCAtMCwwICsxLDIwIEBACityZXF1aXJlIHR0Zi5pbmMKKworU1VNTUFSWSA9ICJVYnVudHUgRm9udCBGYW1pbHkgLSBUVEYgVmVyc2lvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9mb250LnVidW50dS5jb20iCitMSUNFTlNFID0gIlVGTCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0UudHh0O21kNT0zMjVhMWE5MDI5MTEyYTI0MDVlNzQzYzdmODE2NDI3YiIKK1BSID0gInIxIgorCitTUkNfVVJJID0gImh0dHA6Ly9mb250LnVidW50dS5jb20vZG93bmxvYWQvdWJ1bnR1LWZvbnQtZmFtaWx5LSR7UFZ9LnppcCIKKworU1JDX1VSSVttZDVzdW1dID0gImExZmM3MGY1YTViMWQwOTZhYjgzMTA4ODZjZGRhYTFjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwNzE3MDA5OWJiYzNiZWFlODYwMmI5N2E1YzQyMzUyNWQzNjMxMDZjM2MyNGY3ODdkNDNlMDk4MTEyOThlNGMiCisKK1MgPSAiJHtXT1JLRElSfS91YnVudHUtZm9udC1mYW1pbHktJHtQVn0iCisKK1BBQ0tBR0VTID0gInR0Zi11YnVudHUtbW9ubyB0dGYtdWJ1bnR1LXNhbnMiCitGT05UX1BBQ0tBR0VTID0gInR0Zi11YnVudHUtbW9ubyB0dGYtdWJ1bnR1LXNhbnMiCisKK0ZJTEVTX3R0Zi11YnVudHUtbW9ubyAgPSAiJHtkYXRhZGlyfS9mb250cy90cnVldHlwZS8qTW9ubyoiCitGSUxFU190dGYtdWJ1bnR1LXNhbnMgID0gIiR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvVWJ1bnR1LSoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLXdxeS16ZW5oZWlfMC45LjQ1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi13cXktemVuaGVpXzAuOS40NS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjA3YTYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi13cXktemVuaGVpXzAuOS40NS5iYgpAQCAtMCwwICsxLDI3IEBACityZXF1aXJlIHR0Zi5pbmMKKworU1VNTUFSWSA9ICJXZW5RdWFuWWkgWmVuIEhlaSAtIEEgSGVpLVRpIFN0eWxlIENoaW5lc2UgZm9udCIKK0FVVEhPUiA9ICJRaWFucWlhbiBGYW5nIGFuZCBUaGUgV2VuUXVhbllpIFByb2plY3QgQ29udHJpYnV0b3JzIgorSE9NRVBBR0UgPSAiaHR0cDovL3dlbnEub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jZjU0MGZjN2QzNWI1Nzc3ZTM2MDUxMjgwYjNhOTExYyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vd3F5L3dxeS16ZW5oZWktJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjRjNmMzZjRlOTAyZGQ1ZWUwYTEyMWU4YzQxZDA0MGJkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU0YjdlMzA2NDc1YmY5NDI3ZDE3NTc1NzhmMGU0NTI4OTMwYzg0YzQ0ZWFhM2YxNjdkNGM0MmYxMTBlZTc1ZDYiCisKK1MgPSAiJHtXT1JLRElSfS93cXktemVuaGVpIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgc2VkIC1pIC1lICcvPHN0cmluZz5bXlddL2QnICR7U30vNDQtd3F5LXplbmhlaS5jb25mCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9mb250cy9jb25mLmQKKworICAgIGZvciB4IGluICR7U30vKi5jb25mOyBkbworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHggJHtEfSR7c3lzY29uZmRpcn0vZm9udHMvY29uZi5kLworICAgIGRvbmUKK30KKworUEFDS0FHRVMgPSAiJHtQTn0iCitGT05UX1BBQ0tBR0VTID0gIiR7UE59IgorCitGSUxFU18ke1BOfSA9ICIke2RhdGFkaXJ9L2ZvbnRzICR7c3lzY29uZmRpcn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3N2FmMzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLmluYwpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA/PSAiVHJ1ZVR5cGUgZm9udCBwYWNrYWdlICR7UE59IgorU0VDVElPTiA9ICJmb250cyIKKworIyB3ZSBkb24ndCBuZWVkIGEgY29tcGlsZXIgbm9yIGEgYyBsaWJyYXJ5IGZvciB0aGVzZSBmb250cworSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlLworICAgIGZpbmQgLi8gLW5hbWUgJyoudHRbY2ZdJyAtZXhlYyBpbnN0YWxsIC1tIDA2NDQge30gJHtEfSR7ZGF0YWRpcn0vZm9udHMvdHJ1ZXR5cGUvIFw7Cit9CisKK2luaGVyaXQgYWxsYXJjaCBmb250Y2FjaGUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC1maXRzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC1maXRzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ODUyZmQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kLWZpdHNfZ2l0LmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiV2F5bGFuZC1maXRzLCB0aGUgV2F5bGFuZCBGdW5jdGlvbmFsIEludGVncmF0aW9uIFRlc3QgU3VpdGUiCitERVNDUklQVElPTiA9ICJXYXlsYW5kLWZpdHMgaXMgYSBmdWxseSBhdXRvbWF0ZWQgZnVuY3Rpb25hbCBpbnRlZ3JhdGlvbiBcCit0ZXN0IHN1aXRlLiBJdHMgbWFpbiBwdXJwb3NlIGlzIHRvIHRlc3QgdGhlIGZ1bmN0aW9uYWxpdHkgYW5kIGludGVncmF0aW9uIG9mIFwKK2NsaWVudC1zaWRlIChpLmUuIHRvb2xraXQpIGFuZCBzZXJ2ZXItc2lkZSAoY29tcG9zaXRvcikgaW1wbGVtZW50YXRpb25zIG9mIFwKK3RoZSBXYXlsYW5kIHByb3RvY29sLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS8wMW9yZy93YXlsYW5kLWZpdHMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWY4ZDM0Y2FkYWY4OTE3NTNjMGYwMGM2Y2Q0OGYwOGY1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9leHRlbnNpb25zL3dlc3Rvbi93ZXN0b24td2ZpdHMuY3BwO2VuZGxpbmU9MjE7bWQ1PTg0OGM4MWU1NWNmM2EzMGE5ZjZlZDc1ZjBkYmE3YTk3IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vMDFvcmcvd2F5bGFuZC1maXRzLmdpdCIKK1NSQ1JFViA9ICJmMTA4MzM1ZTM3NDc3MmFlMjgxOGEzMGFlMzdmZTZmY2RhODE5ODBmIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworREVQRU5EUyA9ICJsaWJjaGVjayBib29zdCB3YXlsYW5kIHdlc3RvbiIKK1JERVBFTkRTXyR7UE59ID0gIndlc3RvbiIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1zaGFyZWQgLS1kaXNhYmxlLXN0YXRpYyAtLXdpdGgtYm9vc3QtbGliZGlyPSR7U1RBR0lOR19MSUJESVJ9IgorCitQQUNLQUdFQ09ORklHID89ICJndGsrMyIKKworUEFDS0FHRUNPTkZJR1tlbGVtZW50YXJ5XSA9ICItLWVuYWJsZS1lZmwtdGVzdHMsLS1kaXNhYmxlLWVmbC10ZXN0cyxlbGVtZW50YXJ5IgorUEFDS0FHRUNPTkZJR1tndGsrM10gPSAiLS1lbmFibGUtZ3RrLXRlc3RzLC0tZGlzYWJsZS1ndGstdGVzdHMsZ3RrKzMiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCXJtIC1mICR7RH0vJHtsaWJkaXJ9L3dlc3Rvbi8qLmxhCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2JpbmRpcn0vd2ZpdHMgJHtsaWJkaXJ9L3dlc3Rvbi8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2JpbmRpcn0vLmRlYnVnICR7bGliZGlyfS93ZXN0b24vLmRlYnVnICR7cHJlZml4fS9zcmMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMvZmlsZXMvZW5kaWFuLWZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9lbmRpYW4tZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyYTUzOGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMvZmlsZXMvZW5kaWFuLWZpeC5wYXRjaApAQCAtMCwwICsxLDI0IEBACitsaWJ2bmNzZXJ2ZXI6IHJlcGxhY2UgTElCVk5DU0VSVkVSX1dPUkRTX0JJR0VORElBTiB3aXRoIFdPUkRTX0JJR0VORElBTgorCitzaW5jZSBtYWNybyBBQ19DX0JJR0VORElBTiBpcyB1c2VkIGluIGF1dG9jb25mIGFuZCBXT1JEU19CSUdFTkRJQU4gaXMKK2F1dG9tYXRpY2FsbHkgc2V0IGZvciBkaWZmZXJlbnQgYXJjaCwgaXQgaXMgYmV0dGVyIHRvIHVzZSBXT1JEU19CSUdFTkRJQU4KK2luc3RlYWQgb2YgTElCVk5DU0VSVkVSX1dPUkRTX0JJR0VORElBTiwgd2hpY2ggY3Vhc2UgaXNzdWUgaW4gbWlwcy4KKworU2lnbmVkLW9mZi1ieTogWXUgS2UgPGtlLnl1QGludGVsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK2RpZmYgLS1naXQgYS9saWJ2bmNzZXJ2ZXIvbWFpbi5jIGIvbGlidm5jc2VydmVyL21haW4uYworaW5kZXggYjZiZDkzMC4uOGJiYjdiZiAxMDA2NDQKKy0tLSBhL2xpYnZuY3NlcnZlci9tYWluLmMKKysrKyBiL2xpYnZuY3NlcnZlci9tYWluLmMKK0BAIC00Nyw3ICs0Nyw3IEBAIHN0YXRpYyBNVVRFWChleHRNdXRleCk7CisgCisgc3RhdGljIGludCByZmJFbmFibGVMb2dnaW5nPTE7CisgCistI2lmZGVmIExJQlZOQ1NFUlZFUl9XT1JEU19CSUdFTkRJQU4KKysjaWZkZWYgV09SRFNfQklHRU5ESUFOCisgY2hhciByZmJFbmRpYW5UZXN0ID0gKDE9PTApOworICNlbHNlCisgY2hhciByZmJFbmRpYW5UZXN0ID0gKDE9PTEpOworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMvZmlsZXMvc3RhcnRpbmctZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL3N0YXJ0aW5nLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjJlNDA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL3N0YXJ0aW5nLWZpeC5wYXRjaApAQCAtMCwwICsxLDI1IEBACisiLWd1aSIgJiAiLXJmYnBvcnQiIHJlcXVpcmUgIndpc2giIGluc3RhbGxlZCwgb3IgZWxzZSB4MTF2bmMgZmFpbHMgdG8gc3RhcnQuCitSZW1vdmluZyB0aGVzZSAyIHBhcmFtZXRlcnMgbWFrZXMgeDExdm5jIHdvcmtzIHdlbGwgb24gcG9reSBzYXRvIGltYWdlLgorCitBZGQgYWxzbyAtc2tpcF9sb2Nra2V5cyBvcHRpb24gdG8gaWdub3JlIGFsbCBDYXBzX0xvY2ssIFNoaWZ0X0xvY2ssIE51bV9Mb2NrLAorU2Nyb2xsX0xvY2sga2V5c3ltcyByZWNlaXZlZCBmcm9tIHZpZXdlcnMsIGluIG9yZGVyIHRvIGxlYXZlIHRoZSBsb2NrIHN0YXRlIG9uCit0aGUgc2VydmVyIHNpZGUgdW5jaGFuZ2VkLiBZZXQsIHRoZSBrZXlzIHdpbGwgYXBwZWFyIGNvcnJlY3RseS4KKworU2lnbmVkLW9mZi1ieTogWmhhaSBFZHdpbiA8ZWR3aW4uemhhaUBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBMYXVyZW50aXUgUGFsY3UgPGxhdXJlbnRpdS5wYWxjdUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworSW5kZXg6IHgxMXZuYy0wLjkuMTIveDExdm5jL3gxMXZuYy5kZXNrdG9wCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0geDExdm5jLTAuOS4xMi5vcmlnL3gxMXZuYy94MTF2bmMuZGVza3RvcAkyMDExLTAzLTAzIDEwOjMzOjE4LjAwMDAwMDAwMCArMDgwMAorKysrIHgxMXZuYy0wLjkuMTIveDExdm5jL3gxMXZuYy5kZXNrdG9wCTIwMTEtMDMtMDMgMTA6MzU6MjAuMDAwMDAwMDAwICswODAwCitAQCAtMSw3ICsxLDcgQEAKKyBbRGVza3RvcCBFbnRyeV0KKyBOYW1lPVgxMVZOQyBTZXJ2ZXIKKyBDb21tZW50PVNoYXJlIHRoaXMgZGVza3RvcCBieSBWTkMKKy1FeGVjPXgxMXZuYyAtZ3VpIHRyYXk9c2V0cGFzcyAtcmZicG9ydCBQUk9NUFQgLWJnIC1vICUlSE9NRS8ueDExdm5jLmxvZy4lJVZOQ0RJU1BMQVkKKytFeGVjPXgxMXZuYyAtYmcgLXJmYnBvcnQgNTkwMCAtc2tpcF9sb2Nra2V5cyAtbyAlJUhPTUUvLngxMXZuYy5sb2cuJSVWTkNESVNQTEFZCisgSWNvbj1jb21wdXRlcgorIFRlcm1pbmFsPWZhbHNlCisgVHlwZT1BcHBsaWNhdGlvbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL3gxMXZuY18wLjkuMTMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMveDExdm5jXzAuOS4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTkyOTY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL3gxMXZuY18wLjkuMTMuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJFeHBvcnRzIHlvdXIgWCBzZXNzaW9uIG9uLXRoZS1mbHkgdmlhIFZOQyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cua2FybHJ1bmdlLmNvbS94MTF2bmMvIgorCitTRUNUSU9OID0gIngxMS91dGlscyIKK0FVVEhPUiA9ICJLYXJsIFJ1bmdlIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNjFiNmI4MzdjYWQyNmM2OTAwYTkyNmI2MmFhZGE1ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly94MTF2bmMveDExdm5jLmg7ZW5kbGluZT0zMzttZDU9NmY5NWRjNjUzNTQ2N2Q3ZWUxNTYzZmQ0MzRmYjM3MmUiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2xpYnZuY3NlcnZlci94MTF2bmMvJHtQVn0veDExdm5jLSR7UFZ9LnRhci5nelwKKyAgICAgICAgICAgZmlsZTovL3N0YXJ0aW5nLWZpeC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9lbmRpYW4tZml4LnBhdGNoICIKKworU1JDX1VSSVttZDVzdW1dID0gImEzNzJlYzRmZTgyMTEyMjE1NDdiMWMxMDhjZjU2ZTRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY2ODI5ZjJlNjI5NjY3YTUyODRkZTYyYjA4MGIxMzEyNmEwNzM2NDk5ZmU0N2NkYjQ0N2FlZGIwN2E1OWYxM2IiCisKK0RFUEVORFMgPSAib3BlbnNzbCB2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGpwZWcgemxpYiBsaWJ4Zml4ZXMgbGlieHJhbmRyIGxpYnhkYW1hZ2UgbGlieHRzdCBsaWJ0YXNuMSBwMTEta2l0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3plcm9jb25mJywgJ2F2YWhpJywgJycsIGQpfSBsaWJ2bmNzZXJ2ZXIiCitQQUNLQUdFQ09ORklHW2F2YWhpXSA9ICItLXdpdGgtYXZhaGksLS13aXRob3V0LWF2YWhpLGF2YWhpIgorUEFDS0FHRUNPTkZJR1t4aW5lcmFtYV0gPSAiLS13aXRoLXhpbmVyYW1hLC0td2l0aG91dC14aW5lcmFtYSxsaWJ4aW5lcmFtYSIKK1BBQ0tBR0VDT05GSUdbbGlidm5jc2VydmVyXSA9ICItLXdpdGgtc3lzdGVtLWxpYnZuY3NlcnZlciwtLXdpdGhvdXQtc3lzdGVtLWxpYnZuY3NlcnZlcixsaWJ2bmNzZXJ2ZXIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94Y3Vyc29yZ2VuL3hjdXJzb3JnZW5fMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94Y3Vyc29yZ2VuL3hjdXJzb3JnZW5fMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdhMzhjMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hjdXJzb3JnZW4veGN1cnNvcmdlbl8xLjAuNS5iYgpAQCAtMCwwICsxLDEyIEBACitMSUNFTlNFID0gIk1hbmlzaFNpbmdoIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmQxZmI5ZWU5MGVlYWQ4NWY3YjE3MTgwN2IzYWI0ZjIiCisKK0RFUEVORFMgPSAibGlicG5nIGxpYnhjdXJzb3IiCisKK1NSQ19VUkkgPSAiaHR0cDovL3hvcmcuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmUvaW5kaXZpZHVhbC9hcHAvJHtCUE59LSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiMDlmNTY5NzhhNjI4NTQ1MzRkZWFjYzhhYThmZjMwMzEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmM3MTcxYTBmYTIxMmRhODY2ZmNhMjMwMTI0MTYzMGUyMDA5YWVhOGM0ZGRiNzVmMjFiNTFhMzFjMmU0YzU4MSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveGRvdG9vbC94ZG90b29sXzEuMjAxMDA0MTYuMjgwOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hkb3Rvb2wveGRvdG9vbF8xLjIwMTAwNDE2LjI4MDkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDc0ZDI5OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hkb3Rvb2wveGRvdG9vbF8xLjIwMTAwNDE2LjI4MDkuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJ4ZG90b29sIC0gY29tbWFuZC1saW5lIFgxMSBhdXRvbWF0aW9uIHRvb2wgLSB1dGlsaXNpbmcgWDExIFhURVNUIGludGVyZmFjZSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc2VtaWNvbXBsZXRlLmNvbS9wcm9qZWN0cy94ZG90b29sIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTJmOWNiZjdlOTQwMWNlYzhhMzg2NjZhMDg4NTFjZTZiIgorU0VDVElPTiA9ICJ4MTEiCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGxpYnh0c3QiCisKK1BSID0gInIxIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZW1pY29tcGxldGUuZ29vZ2xlY29kZS5jb20vZmlsZXMveGRvdG9vbC0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMWQ1YmU2NDFlNTEyYzM0M2FiZmU1Zjc4YjM5ZTZmMTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDJkNzI3MWZiYzc5NmU1M2RiNzFiYjIyMWYzMTFiOWZmM2M1MWQ5MGE3MWM5NDg3YTliZDMxMDFjYTM5ODk0ZiIKKworRVhUUkFfT0VNQUtFID0gIlBSRUZJWD0ke3ByZWZpeH0gSU5TVEFMTExJQj0ke2xpYmRpcn0gSU5TVEFMTE1BTj0ke21hbmRpcn0iCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAtZSBpbnN0YWxsIERFU1RESVI9JHtEfSBQUkVGSVg9JHtwcmVmaXh9Cit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL2JkZnRvcGNmXzEuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvYmRmdG9wY2ZfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVkNTAwMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL2JkZnRvcGNmXzEuMC41LmJiCkBAIC0wLDAgKzEsMTMgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiYmRmdG9wY2YgaXMgYSB0b29sIHRvIGNvbnZlcnQgQkRGIGZvbnRzIHRvIFBDRiBmb250cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2FwcC9iZGZ0b3BjZi8iCitTRUNUSU9OID0gIngxMS9hcHAiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWY5YTM1MzMzYWRmNzVlZGQxZWFlZjg0YmNhNjVhNDkwIgorREVQRU5EUyA9ICJsaWJ4Zm9udCIKKworU1JDX1VSSVttZDVzdW1dID0gIjUzYTQ4ZTFmZGZlYzI5YWIyZTg5Zjg2ZDRiN2NhOTAyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM4ZjQ0N2JlMGM2MWY5NGM0NzNmMTI4Y2Y1MTlkZDBjZmY2M2I1ZDc3NzUyNDBhMmU4OTVhMTgzYTYxZTIwMjYiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvaWNlYXV0aF8xLjAuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL2ljZWF1dGhfMS4wLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQwZGVjOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL2ljZWF1dGhfMS4wLjcuYmIKQEAgLTAsMCArMSwxNiBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYMTEgWCBjbGllbnQgdXRpbGl0aWVzIgorCitERVNDUklQVElPTiA9ICJBIGNvbGxlY3Rpb24gb2YgdXRpbGl0aWVzIHVzZWQgdG8gdHdlYWsgYW5kIHF1ZXJ5IHRoZSBydW50aW1lIGNvbmZpZ3VyYXRpb25cCitvZiB0aGUgWCBzZXJ2ZXIuIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xM2Y3MGFjZjNjMjdmNWY4MzRiYmM5NTRkZjc3NWY4ZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK0RFUEVORFMgKz0gImxpYmljZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjI1ZGFiMDJmOGU0MGQ1YjcxY2UyOWEwN2RjOTAxYjhjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEyMTZhZjJkZWU5OWIzMThmY2Y4YmY5YTI1OTkxNTI3M2JjYjM3YTdmMWU3ODU5YWY0ZjE1ZDBlYmY2ZjNmMGEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3Nlc3NyZWcvMDAwMS1NYWtlZmlsZS5hbS1FcnJvci1GaXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC9zZXNzcmVnLzAwMDEtTWFrZWZpbGUuYW0tRXJyb3ItRml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwNzI4NTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC9zZXNzcmVnLzAwMDEtTWFrZWZpbGUuYW0tRXJyb3ItRml4LnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gMDg4YmI0Y2VmMmM5M2JlZjMxMmIwNzZhOGM3YTNjNzk4Y2JmMmYxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGRhaWN5IDxkYWljeUBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgOCBEZWMgMjAxNSAxMTo0NTowMSArMDkwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogRXJyb3IgRml4CisKK0RvIG5vdCBjb21waWxlIG1hbiBkaXIgc2luY2UgZXJyb3IgYWx3YXlzIG9jY3VyLgorIHwgc2VkOiBmaWxlIGZpbGVuYW1lcy5zZWQgbGluZSAzOiB1bnRlcm1pbmF0ZWQgYHMnIGNvbW1hbmQKKyB8IG1ha2VbMl06ICoqKiBbc2Vzc3JlZy4xXSBFcnJvciAxCitJdCBpcyBub3QgYSBnb29kIHdheS5CdXQgY2FuIHJlbW92ZSBpdCBmcm9tIFBOQkxBQ0tMSVNULgorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgTWFrZWZpbGUuYW0gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCitpbmRleCBjZGRmZmQwLi45NGY3MDQ4IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuYW0KKysrKyBiL01ha2VmaWxlLmFtCitAQCAtMTgsNyArMTgsNyBAQAorICMgIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKKyAjICBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgorIAorLVNVQkRJUlMgPSBtYW4KKysjU1VCRElSUyA9IG1hbgorIGJpbl9QUk9HUkFNUyA9IHNlc3NyZWcKKyAKKyBBTV9DRkxBR1MgPSAkKENXQVJORkxBR1MpICQoU0VTU1JFR19DRkxBR1MpCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvc2Vzc3JlZ18xLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3Nlc3NyZWdfMS4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmUyNWI3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3Nlc3NyZWdfMS4xLjAuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gImEgc2ltcGxlIHByb2dyYW0gZm9yIG1hbmFnaW5nIHV0bXAvd3RtcCBlbnRyaWVzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kOTM4YTcwYzgyODBjMjY1YTFjY2QyOTU0MzY1ZDE4NSIKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLUVycm9yLUZpeC5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMjM4Yzg5ZGFiYzU2NmUxODM1ZTFlY2I2MWI2MDViOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NTExNzc2NTc4MzVlMDkwMmI1ZWVlN2IxOTcxMzAzNWJlYWExNTgxYmJkM2M2NTA2YmFhNTUzZTc1MWUwMTdjIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvc2V0eGtibWFwXzEuMy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvc2V0eGtibWFwXzEuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MDI3NTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC9zZXR4a2JtYXBfMS4zLjEuYmIKQEAgLTAsMCArMSwxOSBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJBIHByb2dyYW0gdG8gY29tcGlsZSBYS0Iga2V5Ym9hcmQgZGVzY3JpcHRpb24iCisKK0RFU0NSSVBUSU9OID0gIlRoZSB4a2Jjb21wIGtleW1hcCBjb21waWxlciBjb252ZXJ0cyBhIGRlc2NyaXB0aW9uIG9mIGFuIFwKK1hLQiBrZXltYXAgaW50byBvbmUgb2Ygc2V2ZXJhbCBvdXRwdXQgZm9ybWF0cy4gVGhlIG1vc3QgY29tbW9uIHVzZSBmb3IgXAoreGtiY29tcCBpcyB0byBjcmVhdGUgYSBjb21waWxlZCBrZXltYXAgZmlsZSAoLnhrbSBleHRlbnNpb24pIHdoaWNoIGNhbiBcCitiZSByZWFkIGRpcmVjdGx5IGJ5IFhLQi1jYXBhYmxlIFggc2VydmVycyBvciB1dGlsaXRpZXMuIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZmVhZmRiZTZkZmU5ZTJiZDMyMzI1YmUwY2ZjODZmOCIKKworUEUgPSAiMSIKKworREVQRU5EUyArPSAibGlieGtiZmlsZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYzQ3YTFiOGUyNjhkZjczOTYzYzRlYjIzMTZiMWE4OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhOWRkYjM5NjNmMjYzYmExM2YwZWExMDVkOGM0NWE1MzE4MzIxNDA1MzAyMTdjYzU1OTU4N2JiOTRmMDJkM2UxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvdHdtXzEuMC45LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvdHdtXzEuMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxYzgwNGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC90d21fMS4wLjkuYmIKQEAgLTAsMCArMSwxNSBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKK1NVTU1BUlkgPSAidGlueSB3aW5kb3cgbWFuYWdlciIKK0RFUEVORFMgKz0gIiBsaWJ4ZXh0IGxpYnh0IGxpYnhtdSBiaXNvbi1uYXRpdmUiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGM2ZDQyZWY2MGU4MTY2YWEyNjYwNjUyNGMwYjk1ODYiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1OWE2ZjA3NmNkYWNiNWY2OTQ1ZGFjODA5YmNmNDkwNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNTc1MTY3YWMzM2VkZjNiZDE1OTJmMWJlZGZlMDU1OWRlYmIxMjhlZDVmYjQ4NzNjMTI3OGUzYmUxNjYzMTBhIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9YMTEvdHdtL3N5c3RlbS50d21yYyIKK0FMVEVSTkFUSVZFX05BTUUgPSAieC13aW5kb3ctbWFuYWdlciIKK0FMVEVSTkFUSVZFX1BBVEggPSAiJHtiaW5kaXJ9L3R3bSIKK0FMVEVSTkFUSVZFX0xJTksgPSAiJHtiaW5kaXJ9L3gtd2luZG93LW1hbmFnZXIiCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGNsb2NrXzEuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGNsb2NrXzEuMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmOTcwZDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94Y2xvY2tfMS4wLjUuYmIKQEAgLTAsMCArMSwxMSBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJhbmFsb2cgLyBkaWdpdGFsIGNsb2NrIGZvciBYIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04NTc3NTlhZGU4ZjJkZGRlNWM3YjMyZWY3MzU2ZWEzNiIKKworREVQRU5EUyArPSAiIGxpYnhhdyBsaWJ4cmVuZGVyIGxpYnhmdCBsaWJ4a2JmaWxlIGxpYnh0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWFmMTI0YmJjOWQxM2UxYTEyYTI5ZmFhYTJlZDM2MTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTNhOTE2OWUyNGYzODE0ZmJmY2ZlZTNjYTBiOTg2Mzc4NDBhMzE1NmVkN2M3ZTM2YWUwMzk0MGZhYmFlNGM5YSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGZvbnRzZWxfMS4wLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94Zm9udHNlbF8xLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzRiMjkxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGZvbnRzZWxfMS4wLjUuYmIKQEAgLTAsMCArMSwxMyBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJ4Zm9udHNlbCBwcm92aWRlcyBwb2ludCBhbmQgY2xpY2sgc2VsZWN0aW9uIG9mIFgxMSBmb250IG5hbWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvYXBwL3hmb250c2VsLyIKK1NFQ1RJT04gPSAieDExL2FwcCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDY2OWQyNzAzYzYwZDU4NWNjMjliYTdlOWE2OWJjYjMiCitERVBFTkRTICs9ICIgbGlieGF3IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00NjY5ZDI3MDNjNjBkNTg1Y2MyOWJhN2U5YTY5YmNiMyIKKworU1JDX1VSSVttZDVzdW1dID0gImE0MDMwMmI4OGM1OTliNjNlM2QzZDQxMmUwMjg3MWU2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE3MGQ4NTUwYjk2ZmI0N2IwNGRiNjE4MWI5NDdlNmY2YjhiOTdmNGRmNWQ2OTFjMzUxYTI3ODQ4MGNjOTMxYmYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94Z2FtbWFfMS4wLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94Z2FtbWFfMS4wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk0OTYxNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hnYW1tYV8xLjAuNi5iYgpAQCAtMCwwICsxLDE1IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIlguT3JnIFgxMSBYIGNsaWVudCB1dGlsaXRpZXMiCisKK0RFU0NSSVBUSU9OID0gInhnYW1tYSBhbGxvd3MgWCB1c2VycyB0byBxdWVyeSBhbmQgYWx0ZXIgdGhlIGdhbW1hIFwKK2NvcnJlY3Rpb24gb2YgYSBtb25pdG9yIHZpYSB0aGUgWCB2aWRlbyBtb2RlIGV4dGVuc2lvbi4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWFjOTgwMWI4NDIzZmQ3YTc2OTljY2JkNDVjZjEzNGQ4IgorCitERVBFTkRTICs9ICJsaWJ4eGY4NnZtIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjkwYjQzMDUxNTdjMmI5NjZkNTE4MGUyZWU2MTI2MmJlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBlZjFjMzViNWMxOGIxYjIyMzE3ZjQ1NWM4ZGYxM2MwYTQ3MWE4ZWZhZDYzYzg5Yzk4YWUzY2U4YzJiMjIyZDMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94a2JldmRfMS4xLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94a2JldmRfMS4xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZmYzllNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hrYmV2ZF8xLjEuNC5iYgpAQCAtMCwwICsxLDEzIEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworU1VNTUFSWSA9ICJBIHByb2dyYW0gdG8gY29tcGlsZSBYS0Iga2V5Ym9hcmQgZGVzY3JpcHRpb24iCitERVNDUklQVElPTiA9ICJUaGUgIHhrYmV2ZCBldmVudCBkYWVtb24gbGlzdGVucyBmb3Igc3BlY2lmaWVkIFhLQiBcCitldmVudHMgYW5kIGV4ZWN1dGVzIHJlcXVlc3RlZCBjb21tYW5kcyBpZiB0aGV5IG9jY3VyLiAiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTIwODY2OGZhOTAwNDcwOWJhMjJjMmI3NDgxNDA5NTZjIgorCitERVBFTkRTICs9ICJsaWJ4a2JmaWxlIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gImM3NDdmYWYxZjc4ZjVhNTk2MjQxOWY4YmRkMDY2NTAxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0MzBhMmU1MzAyYTRjYjRhNTUzMGMxZGY4Y2IzNzIxYTE0OWJiZjhlYjM3N2EyODk4OTIxYTE0NTE5N2Y5NmEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94a2JwcmludF8xLjAuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hrYnByaW50XzEuMC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2OTc3YmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94a2JwcmludF8xLjAuNC5iYgpAQCAtMCwwICsxLDEzIEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworU1VNTUFSWSA9ICJBIHByb2dyYW0gdG8gY29tcGlsZSBYS0Iga2V5Ym9hcmQgZGVzY3JpcHRpb24iCitERVNDUklQVElPTiA9ICJ4a2JwcmludCBnZW5lcmF0ZXMgYSBwcmludGFibGUgb3IgZW5jYXBzdWxhdGVkIFBvc3RTY3JpcHQgXAorZGVzY3JpcHRpb24gb2YgYW4gWEtCIGtleWJvYXJkIGRlc2NyaXB0aW9uLiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjBmMjhmOTc1NTViMjIwZmRlNzYyYmMyYTQ0MDZhOGYiCisKK0RFUEVORFMgKz0gImxpYnhrYmZpbGUiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2MyNWI0MGRlNTMwMTEyYzA4YmY3ZDIyOWM1YzZhMjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGIzZmFhYjhmZWZhZDAzZGZiN2U4NjZmNjM0Y2Y4NTk4MjI4MDFkZTZiNWZjNmNmNWUwYTYyODU3ZWQ5M2UxMiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hrYnV0aWxzXzEuMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGtidXRpbHNfMS4wLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmEwNWU5OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hrYnV0aWxzXzEuMC40LmJiCkBAIC0wLDAgKzEsMTkgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWEtleWJvYXJkIChYS0IpIGV4dGVuc2lvbiB0byB0aGUgWDExIHByb3RvY29sIgorREVTQ1JJUFRJT04gPSAiIFwKK3hrYnV0aWxzIGlzIGEgY29sbGVjdGlvbiBvZiBzbWFsbCB1dGlsaXRpZXMgdXRpbGl6aW5nIHRoZSBYS2V5Ym9hcmQgKFhLQikgXAorZXh0ZW5zaW9uIHRvIHRoZSBYMTEgcHJvdG9jb2wuIFwKK0l0IGluY2x1ZGVzOiBcCisgICAgeGtiYmVsbCAgLSBnZW5lcmF0ZSBYS0IgYmVsbCBldmVudHMgXAorICAgIHhrYnZsZWRzIC0gZGlzcGxheSB0aGUgc3RhdGUgb2YgTEVEcyBvbiBhbiBYS0Iga2V5Ym9hcmQgaW4gYSB3aW5kb3cgXAorICAgIHhrYndhdGNoIC0gcmVwb3J0cyBjaGFuZ2VzIGluIHRoZSBYS0Iga2V5Ym9hcmQgc3RhdGUgXAorIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NjQzMjJmYWI1MjM5ZjVjOGQ5N2NmNmUwZTE0ZjFjNjIiCisKK0RFUEVORFMgKz0gImxpYnhhdyBsaWJ4a2JmaWxlIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjUwMmIxNDg0M2Y2MTBhZjk3N2RmZmM2Y2JmMjEwMmQ1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQyYTE4YWI5MDI3NWU4YmNhMDI4NzczYzQ0MjY0ZDIyNjZkYWI3MDg1M2RiNDMyMWJkYmMxOGRhNzUxNDgxMzAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bHNhdG9tc18xLjEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hsc2F0b21zXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyM2Q0ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bHNhdG9tc18xLjEuMi5iYgpAQCAtMCwwICsxLDE0IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIlguT3JnIFgxMSBYIGNsaWVudCB1dGlsaXRpZXMiCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9hcHAveGxzYXRvbXMvIgorREVTQ1JJUFRJT04gPSAiWGxzYXRvbXMgbGlzdHMgdGhlIGludGVybmVkIGF0b21zIGRlZmluZWQgb24gYW4gWDExIHNlcnZlciIKK1NFQ1RJT04gPSAieDExL2FwcCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmIwOGQ5ZTJlNzE4YWM4M2U2ZmUyYjk3NGQ0YjVmZDgiCisKK0RFUEVORFMgKz0gImxpYnhtdSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNWRjYjZlNmM0YjI4YzhkN2FlYjQ1MjU3ZjVhNzJhN2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDdlNWRjN2MzZGJkYTZkYjJjZjhjMDBjZWRhYzE3MjI4MzVjMTU1MGFhMjFjZmRiYzliYTgzOTA2Njk0ZGVhNCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hsc2NsaWVudHNfMS4xLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bHNjbGllbnRzXzEuMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4M2E1MzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bHNjbGllbnRzXzEuMS4zLmJiCkBAIC0wLDAgKzEsMTQgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWC5PcmcgWDExIFggY2xpZW50IHV0aWxpdGllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2FwcC94bHNjbGllbnRzLyIKK0RFU0NSSVBUSU9OID0gInhsc2NsaWVudHMgaXMgYSB1dGlsaXR5IGZvciBsaXN0aW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBcCitjbGllbnQgYXBwbGljYXRpb25zIHJ1bm5pbmcgb24gYSBYMTEgc2VydmVyLiIKK1NFQ1RJT04gPSAieDExL2FwcCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzUwZTFiNzE4YTU2ZGYzOWNmZThjYTkzNDVlYTQ1NzUiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOWZiZjZiMTc0YTUxMzhhNjE3MzhhNDJlNzA3YWQ4ZjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWQ5NjY2ZmNjNmMzZGUyMTBmYzcwZDVhODQxYTQwNDk1NWFmNzA5YTYxNmZkZTUzMGZlNGU4Zjc3MjNlM2QzZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hsc2ZvbnRzXzEuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGxzZm9udHNfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZlZWQ3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hsc2ZvbnRzXzEuMC41LmJiCkBAIC0wLDAgKzEsMTAgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAic2VydmVyIGZvbnQgbGlzdCBkaXNwbGF5ZXIgZm9yIFgiCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9hcHAveGxzZm9udHMvIgorU0VDVElPTiA9ICJ4MTEvYXBwIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZWM3NGRkN2VhNGQxMGM0NzE1YTdjNDRmMTU5YTQwYiIKKworU1JDX1VSSVttZDVzdW1dID0gIjZmNTcxMWJlZjhjNzY1ODU3YTA4ODdhOTE0NzYyODNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQwMjk1YmVjMzUwNzdjZWU5M2JlMmU0YzI2Y2MwMDI2OGVkNmFjZTc3OWFlNmU5Nzc2NmE4NjZjMWUzOTI3ZmEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bWFnXzEuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG1hZ18xLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTc3NDIxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG1hZ18xLjAuNS5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gInhtYWcgaXMgYSB0b29sIHRvIG1hZ25pZnkgcGFydHMgb2YgdGhlIHNjcmVlbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2FwcC94bWFnLyIKK1NFQ1RJT04gPSAieDExL2FwcCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzQxM2ZlNjgzMjM4MGI0NGI2OWIxNzJkMmQxYjIzODciCitERVBFTkRTICs9ICIgbGlieGF3IGxpYnh0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjgwYjgxY2IwOWQxOTAzYWE4NjhhMDU4ZDkwMTI4YWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGFjZTg3OTVjZjc1NmJlNGJhMzg3ZjMwMzY2MDQ1NTk0Y2UyNmFkZGEyZjVmZmUxZjhlODk2ODI1ZDA5MzJjNiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3htZXNzYWdlXzEuMC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG1lc3NhZ2VfMS4wLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk2MDcwNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3htZXNzYWdlXzEuMC40LmJiCkBAIC0wLDAgKzEsMTAgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiRGlzcGxheSBhIG1lc3NhZ2Ugb3IgcXVlcnkgaW4gYSB3aW5kb3ciCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTczYzdmNjk2YTcyOGRlNzI4ZDc0NDZjYmNhODE0Y2M1IgorCitERVBFTkRTICs9ICJsaWJ4YXciCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZGQ1YWU0NmZhMThhYmM5MzMxYmMyNjI1MGEyNTAwNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiY2RmNGI0NjFjNDM5YmIzYWRlNmUxZTQxYzQ3ZDYyMThiOTEyZGE4ZTkzOTZiN2FkNzA4NTZkYjJmOTVhYjY4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHJkYl8xLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hyZGJfMS4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU5NTdlMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hyZGJfMS4xLjAuYmIKQEAgLTAsMCArMSw5IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworU1VNTUFSWSA9ICJYIHNlcnZlciByZXNvdXJjZSBkYXRhYmFzZSB1dGlsaXR5IgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMTE2N2M0ZjU4NmJkNDFmMGM2MjE2NmRiNDM4NGE2OSIKKworREVQRU5EUyArPSAibGlieG11IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjU0YzdlM2U1M2I0ZjMzMmQ0MWVkNDM1NDMzZmJkYTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzM4MjdiNmJiZmM5ZDI3Y2EyODdkOTVhMTIyNGMzMDZkNzA1M2NkN2I4MTU2NjQxNjk4ZDdkYzU0MWNhNTY1YiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hyZWZyZXNoXzEuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHJlZnJlc2hfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTJhNDk0MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hyZWZyZXNoXzEuMC41LmJiCkBAIC0wLDAgKzEsMTMgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWC5PcmcgWDExIFggY2xpZW50IHV0aWxpdGllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2FwcC94cmVmcmVzaC8iCitERVNDUklQVElPTiA9ICJ4cmVmcmVzaCAtIHJlZnJlc2ggYWxsIG9yIHBhcnQgb2YgYW4gWCBzY3JlZW4iCitTRUNUSU9OID0gIngxMS9hcHAiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWRhZDYzM2JjZTljM2NkMGUzYWJmNzJhMTZlMDA1N2NmIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gImE4OTYzODJiYzUzZWYzZTE0OWVhZjliMTNiYzgxZDQyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMyMTM2NzFiMGE4YTlkMWU4ZDFkNWQ5ZTNmZDg2ODQyYzg5NGRkOWFjYzFiZTI1NjBlZGE1MGJjMWZiNzkxZDYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94c2V0bW9kZV8xLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hzZXRtb2RlXzEuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NTczMjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94c2V0bW9kZV8xLjAuMC5iYgpAQCAtMCwwICsxLDE1IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIlguT3JnIFgxMSBYIGNsaWVudCB1dGlsaXRpZXMiCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9hcHAveHNldG1vZGUvIgorREVTQ1JJUFRJT04gPSAieHNldG1vZGUgc2V0cyB0aGUgbW9kZSBvZiBhbiBYSW5wdXQgZGV2aWNlIHRvIGVpdGhlciBhYnNvbHV0ZSBcCitvciByZWxhdGl2ZS4iCitTRUNUSU9OID0gIngxMS9hcHAiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTliMzdlMDBlNzc5M2I2NjdjYmM2NGY5ZGY3YjZkNzMzIgorCitERVBFTkRTICs9ICJsaWJ4aSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDA3NGU3OWQzODBiMDMxZDJmNjBlNGNkNTY1MzhjOTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTg4YjQ3Y2Q5MjI5OTFjNmU2YWRiY2UxNWRjMzg2YWM3NTY5MGI2MTc0NGI1MjZjM2FmNWE0ZWFhOWFmYTBhYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hzZXRyb290XzEuMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHNldHJvb3RfMS4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmM3OWYyNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hzZXRyb290XzEuMS4xLmJiCkBAIC0wLDAgKzEsMTQgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWC5PcmcgWDExIFggY2xpZW50IHV0aWxpdGllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2FwcC94c2V0cm9vdC8iCitERVNDUklQVElPTiA9ICJ4c2V0cm9vdCBpcyBhIHJvb3Qgd2luZG93IHBhcmFtZXRlciBzZXR0aW5nIHV0aWxpdHkgZm9yIFgiCitTRUNUSU9OID0gIngxMS9hcHAiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTZlYTI5ZGJlZTIyMzI0Nzg3YzA2MWYwMzllMDUyOWRlIgorCitERVBFTkRTICs9ICJ4Yml0bWFwcyBsaWJ4Y3Vyc29yIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MjExYjMxZWM3MDYzMTgyOWViYWU5NDYwOTk5YWEwYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiYTIxNWRhYWE3OGM0MTVmY2UxMWI5ZTU4YzM2NWQwM2JiNjAyZWFhNWVhOTE2NTc4ZDc2ODYxYTQ2OGNjM2Q5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHN0ZGNtYXBfMS4wLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94c3RkY21hcF8xLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjU1MTFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHN0ZGNtYXBfMS4wLjMuYmIKQEAgLTAsMCArMSwxNSBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYMTEgWCBjbGllbnQgdXRpbGl0aWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvYXBwL3hzdGRjbWFwIgorREVTQ1JJUFRJT04gPSAiVGhlIHhzdGRjbWFwIHV0aWxpdHkgY2FuIGJlIHVzZWQgdG8gc2VsZWN0aXZlbHkgZGVmaW5lIFwKK3N0YW5kYXJkIGNvbG9ybWFwIHByb3BlcnRpZXMuIgorU0VDVElPTiA9ICJ4MTEvYXBwIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yYjA4ZDllMmU3MThhYzgzZTZmZTJiOTc0ZDRiNWZkOCIKKworUkRFUEVORFNfJHtQTn0gPSAibGlieG11IgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYjU0NzNhY2FlZjE1YTVkYjliNTBkZjI5YzZhN2Y5MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNjQ4ZTJiMGNmMTZhYTI5ODU2ZGU5OThlMmM3MjA0YmUzOWRjMWY4ZGFlZGE5NDY0ZDMyMjg4ZTBiNTgwZmMxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHRlcm1fMzIwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHRlcm1fMzIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyYWJjM2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94dGVybV8zMjAuYmIKQEAgLTAsMCArMSwzMCBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKK1NVTU1BUlkgPSAieHRlcm0gaXMgdGhlIHN0YW5kYXJkIHRlcm1pbmFsIGVtdWxhdG9yIGZvciB0aGUgWCBXaW5kb3cgU3lzdGVtIgorREVQRU5EUyA9ICJsaWJ4YXcgeHByb3RvIHhleHRwcm90byBsaWJ4ZXh0IGxpYnhhdSBsaWJ4aW5lcmFtYSBsaWJ4cG0gbmN1cnNlcyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8veHRlcm0uaDtiZWdpbmxpbmU9MztlbmRsaW5lPTMxO21kNT1lZTY0MzUwMTlkMDBiODg0Y2RlOGQ3YmEyYjMxOGZmMCIKKworU1JDX1VSSSA9ICJodHRwOi8vaW52aXNpYmxlLW1pcnJvci5uZXQvYXJjaGl2ZXMvJHtCUE59LyR7QlB9LnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gIjBkN2YwZTYzOTBkMTMyYWU1OTg3NmIzODcwZTU3ODNkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE2MGRiYjU3NDMzNGMwODE0MjVmYTMwZjAxMWNkOWY1NzFlM2JlN2E5MWUyYTg0ZTI1MjQ2MTc5OGJjZTI0YTciCisKK1BBQ0tBR0VDT05GSUcgPz0gIiIKK1BBQ0tBR0VDT05GSUdbeGZ0XSA9ICItLWVuYWJsZS1mcmVldHlwZSwtLWRpc2FibGUtZnJlZXR5cGUsbGlieGZ0IGZvbnRjb25maWcgZnJlZXR5cGUtbmF0aXZlIgorCitFWFRSQV9PRUNPTkYgPSAiIC0teC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgIC0teC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgICBGUkVFVFlQRV9DT05GSUc9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vZnJlZXR5cGUtY29uZmlnIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWltYWtlIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXJwYXRoLWhhY2sgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtc2V0dWlkIgorCitCID0gIiR7U30iCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBnbnUtY29uZmlnaXplIC0tZm9yY2UKKyAgICBzZWQgLWUgInMlL3Vzci9jb250cmliL1gxMVI2JSR7U1RBR0lOR19MSUJESVJ9JWciIC1pIGNvbmZpZ3VyZQorICAgIG9lX3J1bmNvbmYKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9YMTEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94d2RfMS4wLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94d2RfMS4wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk0YmY1NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h3ZF8xLjAuNi5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gInh3ZCBpcyBhIHRvb2wgdG8gY2FwdHVyZSBhbiBYIHdpbmRvdyBvciBzY3JlZW4gdG8gZmlsZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2FwcC94d2QvIgorU0VDVElPTiA9ICJ4MTEvYXBwIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMGNkYjc4M2U5YTAxOTgyMzczNzFmZGFhMjZhMThiZiIKK0RFUEVORFMgPSAibGlieG11IGxpYnhrYmZpbGUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2YjVkNDg0NjRjNWYzNjZlOTFlZmQwOGI2MmIxMmQ5NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYmIzOTZhMjI2OGQ3OGRlNGIxYzNlNTIzN2E4NWY3ODQ5ZDM0MzRlODdiM2NkMWY0ZDU3ZWVmNjE0MjI3ZDc5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHd1ZF8xLjAuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h3dWRfMS4wLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNiZDdmMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h3dWRfMS4wLjQuYmIKQEAgLTAsMCArMSwxMiBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYMTEgWCBjbGllbnQgdXRpbGl0aWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvYXBwL3h3dWQvIgorREVTQ1JJUFRJT04gPSAieHd1ZCBhbGxvd3MgWCB1c2VycyB0byBkaXNwbGF5IGluIGEgd2luZG93IGFuIGltYWdlIHNhdmVkIFwKK2luIGEgc3BlY2lhbGx5IGZvcm1hdHRlZCBkdW1wIGZpbGUsIHN1Y2ggYXMgcHJvZHVjZWQgYnkgeHdkLiIKK1NFQ1RJT04gPSAieDExL2FwcCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzFlODg5MmM4MGI3YTBjMWM1ZjM3YzhlOGFlNmQ3OTQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMDI1YjE1MmI0ZjEzZmRmZmQwYzQ2ZDBiZTU4N2JlNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNmIzYTA5Y2NmZTc1MDg2OGUyNmJkMjM4NDkwMGFiNWZmMGQ0MzRmN2Y0MGNkMjcyYTUwZWRhOGFhYTFmOGJkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kYXRhL3hiaXRtYXBzXzEuMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kYXRhL3hiaXRtYXBzXzEuMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2NDdmMDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRhdGEveGJpdG1hcHNfMS4xLjEuYmIKQEAgLTAsMCArMSwxMSBAQAorcmVxdWlyZSB4b3JnLWRhdGEtY29tbW9uLmluYworCitTVU1NQVJZID0gIkNvbW1vbiBYMTEgQml0bWFwcyIKK0xJQ0VOU0UgPSAiTUlUIgorREVQRU5EUyArPSAibGlieG11IgorUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGJkMDc1YWFmZmE0YTYwYThkMDA2OTZmMmU0YjlhOGYiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3NDQ0YmJiZDk5OWI1M2JlYzZhNjA2MDhhNTMwMWY0YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNjcxYjAzNDM1NmJiYzRkMzJkMDUyODA4Y2Y2NDZjOTQwZWM4YjJkMTkxM2FkYWM1MWIxNDUzZTQxYWExZTlkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kYXRhL3hvcmctZGF0YS1jb21tb24uaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kYXRhL3hvcmctZGF0YS1jb21tb24uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMzA5NjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRhdGEveG9yZy1kYXRhLWNvbW1vbi5pbmMKQEAgLTAsMCArMSwxMCBAQAorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy54Lm9yZyIKK1NFQ1RJT04gPSAieDExL2RhdGEiCitMSUNFTlNFID0gIk1JVC1YIgorCitYT1JHX1BOID0gIiR7QlBOfSIKKworU1JDX1VSSSA9ICIke1hPUkdfTUlSUk9SfS9pbmRpdmlkdWFsL2RhdGEvJHtCUH0udGFyLmJ6MiIKK1MgPSAiJHtXT1JLRElSfS8ke1hPUkdfUE59LSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZG9jL3hvcmctZG9jLWNvbW1vbi5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRvYy94b3JnLWRvYy1jb21tb24uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0YjhiMDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRvYy94b3JnLWRvYy1jb21tb24uaW5jCkBAIC0wLDAgKzEsMTIgQEAKK0RFU0NSSVBUSU9OID0gIlggZG9jdW1lbnRhdGlvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cueC5vcmciCitTRUNUSU9OID0gIngxMS9kb2NzIgorTElDRU5TRSA9ICJNSVQtWCIKKworU1JDX1VSSSA9ICIke1hPUkdfTUlSUk9SfS9pbmRpdmlkdWFsL2RvYy8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfS0ke1BWfSIKKworSU5DX1BSID0gInIxIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZG9jL3hvcmctc2dtbC1kb2N0b29sc18xLjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRvYy94b3JnLXNnbWwtZG9jdG9vbHNfMS43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwZjFmMDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRvYy94b3JnLXNnbWwtZG9jdG9vbHNfMS43LmJiCkBAIC0wLDAgKzEsMTIgQEAKK3JlcXVpcmUgeG9yZy1kb2MtY29tbW9uLmluYworUEUgPSAiMSIKK1BSID0gIiR7SU5DX1BSfS4wIgorCitERVBFTkRTICs9ICJ1dGlsLW1hY3JvcyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzhjNmM4MDhjZDNjNzk3YTA3YjI0ZTQ0M2FmMWM0NDkiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyNTg4ZWZiM2Y0OWY3ZmM2ZWNmNDFjZTQyZTBiMmU1ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NGZkOTRlNWM1MDU1NmU2Zjc3NTAxNDg1ZjhhNDg3MjRjZjNjOTVjNmQ1ODQ4MGJjMjgwMjU4YmExNDU4MGM4IgorCitGSUxFU18ke1BOfSArPSAiIC91c3Ivc2hhcmUvc2dtbC9YMTEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LW10ZXYvZml4LWl0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC1tdGV2L2ZpeC1pdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzFhMmE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC1tdGV2L2ZpeC1pdC5wYXRjaApAQCAtMCwwICsxLDE1MyBAQAorZGlmZiAtLWdpdCBhL3NyYy9tdWx0aXRvdWNoLmMgYi9zcmMvbXVsdGl0b3VjaC5jCitpbmRleCBjNTVkNzQyLi40YTgxOTJkIDEwMDY0NAorLS0tIGEvc3JjL211bHRpdG91Y2guYworKysrIGIvc3JjL211bHRpdG91Y2guYworQEAgLTExNCw3ICsxMTQsNyBAQCBzdGF0aWMgaW50IGluaXRfcHJvcGVydGllcyhEZXZpY2VJbnRQdHIgZGV2KQorIAlyZXR1cm4gU3VjY2VzczsKKyB9CisgCistc3RhdGljIGludCBkZXZpY2VfaW5pdChEZXZpY2VJbnRQdHIgZGV2LCBMb2NhbERldmljZVB0ciBsb2NhbCkKKytzdGF0aWMgaW50IGRldmljZV9pbml0KERldmljZUludFB0ciBkZXYsIElucHV0SW5mb1B0ciBsb2NhbCkKKyB7CisgCXN0cnVjdCBtdGV2X210b3VjaCAqbXQgPSBsb2NhbC0+cHJpdmF0ZTsKKyAJQXRvbSBhdG9tOworQEAgLTIyMiw3ICsyMjIsNyBAQCBzdGF0aWMgaW50IGRldmljZV9pbml0KERldmljZUludFB0ciBkZXYsIExvY2FsRGV2aWNlUHRyIGxvY2FsKQorIAkJCXhmODZJbml0VmFsdWF0b3JBeGlzU3RydWN0KGRldiwgdmFsLCBheGVzX2xhYmVsc1t2YWxdLAorIAkJCQkJCSAgIG1pbiwKKyAJCQkJCQkgICBtYXgsCistCQkJCQkJICAgMSwgMCwgMSk7CisrCQkJCQkJICAgMSwgMCwgMSxBYnNvbHV0ZSk7CisgCQkJeGY4NkluaXRWYWx1YXRvckRlZmF1bHRzKGRldiwgdmFsKTsKKyAJCX0KKyAJfQorQEAgLTIzMiw3ICsyMzIsNyBAQCBzdGF0aWMgaW50IGRldmljZV9pbml0KERldmljZUludFB0ciBkZXYsIExvY2FsRGV2aWNlUHRyIGxvY2FsKQorIAlyZXR1cm4gU3VjY2VzczsKKyB9CisgCistc3RhdGljIGludCBkZXZpY2Vfb24oTG9jYWxEZXZpY2VQdHIgbG9jYWwpCisrc3RhdGljIGludCBkZXZpY2Vfb24oSW5wdXRJbmZvUHRyIGxvY2FsKQorIHsKKyAJc3RydWN0IG10ZXZfbXRvdWNoICptdCA9IGxvY2FsLT5wcml2YXRlOworIAlsb2NhbC0+ZmQgPSB4Zjg2T3BlblNlcmlhbChsb2NhbC0+b3B0aW9ucyk7CitAQCAtMjQ4LDcgKzI0OCw3IEBAIHN0YXRpYyBpbnQgZGV2aWNlX29uKExvY2FsRGV2aWNlUHRyIGxvY2FsKQorIAlyZXR1cm4gU3VjY2VzczsKKyB9CisgCistc3RhdGljIGludCBkZXZpY2Vfb2ZmKExvY2FsRGV2aWNlUHRyIGxvY2FsKQorK3N0YXRpYyBpbnQgZGV2aWNlX29mZihJbnB1dEluZm9QdHIgbG9jYWwpCisgeworIAlzdHJ1Y3QgbXRldl9tdG91Y2ggKm10ID0gbG9jYWwtPnByaXZhdGU7CisgCXhmODZSZW1vdmVFbmFibGVkRGV2aWNlKGxvY2FsKTsKK0BAIC0yNTksMTIgKzI1OSwxMiBAQCBzdGF0aWMgaW50IGRldmljZV9vZmYoTG9jYWxEZXZpY2VQdHIgbG9jYWwpCisgCXJldHVybiBTdWNjZXNzOworIH0KKyAKKy1zdGF0aWMgaW50IGRldmljZV9jbG9zZShMb2NhbERldmljZVB0ciBsb2NhbCkKKytzdGF0aWMgaW50IGRldmljZV9jbG9zZShJbnB1dEluZm9QdHIgbG9jYWwpCisgeworIAlyZXR1cm4gU3VjY2VzczsKKyB9CisgCistc3RhdGljIHZvaWQgcHJvY2Vzc19zdGF0ZShMb2NhbERldmljZVB0ciBsb2NhbCwKKytzdGF0aWMgdm9pZCBwcm9jZXNzX3N0YXRlKElucHV0SW5mb1B0ciBsb2NhbCwKKyAJCQkgIGNvbnN0IHN0cnVjdCBtdGV2X210b3VjaCAqbXQpCisgeworIAorQEAgLTMyMSwyMiArMzIxLDIyIEBAIHN0YXRpYyB2b2lkIHByb2Nlc3Nfc3RhdGUoTG9jYWxEZXZpY2VQdHIgbG9jYWwsCisgCX0KKyAKKyAJLyogU29tZSB4LWNsaWVudHMgYXNzdW1lIHRoZXkgZ2V0IG1vdGlvbiBldmVudHMgYmVmb3JlIGJ1dHRvbiBkb3duICovCisrCXhmODZNc2coWF9JTkZPLCJkb3duICVkfHBkb3duICVkXG4iLCBkb3duLCBwZG93bik7CisgCWlmIChkb3duKQorIAkJeGY4NlBvc3RNb3Rpb25FdmVudFAobG9jYWwtPmRldiwgVFJVRSwKKyAJCQkJICAgICAwLCBkb3duICogTVRfQVhJU19QRVJfRklOR0VSLCB2YWx1YXRvcnMpOworLQorIAlpZihkb3duICYmIHBkb3duID09IDApCisgCQl4Zjg2UG9zdEJ1dHRvbkV2ZW50UChsb2NhbC0+ZGV2LCBUUlVFLAorIAkJCQkgICAgIDEsIDEsCisgCQkJCSAgICAgMCwgZG93biAqIE1UX0FYSVNfUEVSX0ZJTkdFUiwgdmFsdWF0b3JzKTsKKy0JZWxzZSBpZiAoZG93biA9PSAwICYmIHBkb3duKQorLQkJeGY4NlBvc3RCdXR0b25FdmVudChsb2NhbC0+ZGV2LCBUUlVFLCAxLCAwLCAwLCAwKTsKKy0KKysJZWxzZSBpZiAoZG93biA9PSAwICYmIHBkb3duKXsKKysJCXhmODZQb3N0QnV0dG9uRXZlbnQobG9jYWwtPmRldiwgVFJVRSwgMSwgMSwgMCwgMCk7CisrCX0KKyAJcGRvd24gPSAhIWRvd247CisgfQorIAorIC8qIGNhbGxlZCBmb3IgZWFjaCBmdWxsIHJlY2VpdmVkIHBhY2tldCBmcm9tIHRoZSB0b3VjaHBhZCAqLworLXN0YXRpYyB2b2lkIHJlYWRfaW5wdXQoTG9jYWxEZXZpY2VQdHIgbG9jYWwpCisrc3RhdGljIHZvaWQgcmVhZF9pbnB1dChJbnB1dEluZm9QdHIgbG9jYWwpCisgeworIAlzdHJ1Y3QgbXRldl9tdG91Y2ggKm10ID0gbG9jYWwtPnByaXZhdGU7CisgCXdoaWxlIChtdG91Y2hfcmVhZF9zeW5jaHJvbml6ZWRfZXZlbnQobXQsIGxvY2FsLT5mZCkpIHsKK0BAIC0zNDYsNyArMzQ2LDcgQEAgc3RhdGljIHZvaWQgcmVhZF9pbnB1dChMb2NhbERldmljZVB0ciBsb2NhbCkKKyAKKyBzdGF0aWMgQm9vbCBkZXZpY2VfY29udHJvbChEZXZpY2VJbnRQdHIgZGV2LCBpbnQgbW9kZSkKKyB7CistCUxvY2FsRGV2aWNlUHRyIGxvY2FsID0gZGV2LT5wdWJsaWMuZGV2aWNlUHJpdmF0ZTsKKysJSW5wdXRJbmZvUHRyIGxvY2FsID0gZGV2LT5wdWJsaWMuZGV2aWNlUHJpdmF0ZTsKKyAJc3dpdGNoIChtb2RlKSB7CisgCWNhc2UgREVWSUNFX0lOSVQ6CisgCQl4Zjg2TXNnKFhfSU5GTywgImRldmljZSBjb250cm9sOiBpbml0XG4iKTsKK0BAIC0zNjYsMzkgKzM2NiwyOSBAQCBzdGF0aWMgQm9vbCBkZXZpY2VfY29udHJvbChEZXZpY2VJbnRQdHIgZGV2LCBpbnQgbW9kZSkKKyAJfQorIH0KKyAKKy1zdGF0aWMgSW5wdXRJbmZvUHRyIHByZWluaXQoSW5wdXREcml2ZXJQdHIgZHJ2LCBJRGV2UHRyIGRldiwgaW50IGZsYWdzKQorK3N0YXRpYyBJbnB1dEluZm9QdHIgcHJlaW5pdChJbnB1dERyaXZlclB0ciBkcnYsIElucHV0SW5mb1B0ciBwSW5mbywgaW50IGZsYWdzKQorIHsKKyAJc3RydWN0IG10ZXZfbXRvdWNoICptdDsKKy0JSW5wdXRJbmZvUHRyIGxvY2FsID0geGY4NkFsbG9jYXRlSW5wdXQoZHJ2LCAwKTsKKy0JaWYgKCFsb2NhbCkKKy0JCWdvdG8gZXJyb3I7CisrCWludCByYzsKKysKKyAJbXQgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBtdGV2X210b3VjaCkpOworKworIAlpZiAoIW10KQorIAkJZ290byBlcnJvcjsKKyAKKy0JbG9jYWwtPm5hbWUgPSBkZXYtPmlkZW50aWZpZXI7CistCWxvY2FsLT50eXBlX25hbWUgPSBYSV9UT1VDSFNDUkVFTjsKKy0JbG9jYWwtPmRldmljZV9jb250cm9sID0gZGV2aWNlX2NvbnRyb2w7CistCWxvY2FsLT5yZWFkX2lucHV0ID0gcmVhZF9pbnB1dDsKKy0JbG9jYWwtPnByaXZhdGUgPSBtdDsKKy0JbG9jYWwtPmZsYWdzID0gWEk4Nl9QT0lOVEVSX0NBUEFCTEUgfAorLQkJWEk4Nl9TRU5EX0RSQUdfRVZFTlRTOworLQorLQlsb2NhbC0+Y29uZl9pZGV2ID0gZGV2OworLQorLQl4Zjg2Q29sbGVjdElucHV0T3B0aW9ucyhsb2NhbCwgTlVMTCwgTlVMTCk7CistCS8veGY4Nk9wdGlvbkxpc3RSZXBvcnQobG9jYWwtPm9wdGlvbnMpOworLQl4Zjg2UHJvY2Vzc0NvbW1vbk9wdGlvbnMobG9jYWwsIGxvY2FsLT5vcHRpb25zKTsKKysJcEluZm8tPnByaXZhdGUgPSBtdDsKKysJcEluZm8tPnR5cGVfbmFtZSA9ICJVTktOT1dOIjsKKysJcEluZm8tPmRldmljZV9jb250cm9sID0gZGV2aWNlX2NvbnRyb2w7CisrCXBJbmZvLT5yZWFkX2lucHV0ID0gcmVhZF9pbnB1dDsKKyAKKysJbXQtPnN3YXBfeHkgPSB4Zjg2U2V0Qm9vbE9wdGlvbihwSW5mby0+b3B0aW9ucywgIlN3YXBBeGVzIiwgRkFMU0UpOworKwltdC0+aW52ZXJ0X3ggPSB4Zjg2U2V0Qm9vbE9wdGlvbihwSW5mby0+b3B0aW9ucywgIkludmVydFgiLCBGQUxTRSk7CisrCW10LT5pbnZlcnRfeSA9IHhmODZTZXRCb29sT3B0aW9uKHBJbmZvLT5vcHRpb25zLCAiSW52ZXJ0WSIsIEZBTFNFKTsKKyAKKy0JbXQtPnN3YXBfeHkgPSB4Zjg2U2V0Qm9vbE9wdGlvbihsb2NhbC0+b3B0aW9ucywgIlN3YXBBeGVzIiwgRkFMU0UpOworLQltdC0+aW52ZXJ0X3ggPSB4Zjg2U2V0Qm9vbE9wdGlvbihsb2NhbC0+b3B0aW9ucywgIkludmVydFgiLCBGQUxTRSk7CistCW10LT5pbnZlcnRfeSA9IHhmODZTZXRCb29sT3B0aW9uKGxvY2FsLT5vcHRpb25zLCAiSW52ZXJ0WSIsIEZBTFNFKTsKKy0KKy0JbG9jYWwtPmZsYWdzIHw9IFhJODZfQ09ORklHVVJFRDsKKysJcmV0dXJuIFN1Y2Nlc3M7CisgCisgZXJyb3I6CistCXJldHVybiBsb2NhbDsKKysJcmV0dXJuICFTdWNjZXNzOworIH0KKyAKKyBzdGF0aWMgdm9pZCB1bmluaXQoSW5wdXREcml2ZXJQdHIgZHJ2LCBJbnB1dEluZm9QdHIgbG9jYWwsIGludCBmbGFncykKK0BAIC00MTUsNyArNDA1LDYgQEAgc3RhdGljIElucHV0RHJpdmVyUmVjIE1URVYgPSB7CisgCS5QcmVJbml0ID0gcHJlaW5pdCwKKyAJLlVuSW5pdCA9IHVuaW5pdCwKKyAJLm1vZHVsZSA9IE5VTEwsCistCS5yZWZDb3VudCA9IDAKKyB9OworIAorIHN0YXRpYyBYRjg2TW9kdWxlVmVyc2lvbkluZm8gVkVSU0lPTiA9IHsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbXRldl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LW10ZXZfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0N2VjODYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LW10ZXZfZ2l0LmJiCkBAIC0wLDAgKzEsMjIgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94b3JnLWRyaXZlci1pbnB1dC5pbmMKK1NVTU1BUlkgPSAiWC5PcmcgWCBzZXJ2ZXIgLS0gbXVsdGl0b3VjaCBpbnB1dCBkcml2ZXIiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThhNzFkMDQ3NWQwOGVlZTc2ZDhiNmQwYzZkYmVjNTQzIgorCitERVBFTkRTICs9ICJwaXhtYW4iCisKK1BOQkxBQ0tMSVNUW3hmODYtaW5wdXQtbXRldl0gPz0gIkJST0tFTjogZG9lc24ndCBidWlsZCB3aXRoIEIhPVMgKE1ha2VmaWxlIHdpdGhvdXQgJHtTfSBpbiBzZWQgY2FsbCkiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0b3Jpb3VzLm9yZy94b3JnL3hmODYtaW5wdXQtbXRldi5naXQgZmlsZTovL2ZpeC1pdC5wYXRjaCIKK1NSQ1JFViA9ICIxZWI0NjkxNjZmZmMwOTVjNTgwMTQ3NWYwNTdmOTExZjk3YTZlNjQxIgorUyA9ICIke1dPUktESVJ9L2dpdCIKK1BWID0gIjEuMC4wK2dpdHIke1NSQ1BWfSIKK1BSID0gIiR7SU5DX1BSfS4wIgorCitFWFRSQV9PRU1BS0UgPSAiJ0lOQ0xVREU9LUkke1NUQUdJTkdfSU5DRElSfS94b3JnIC1JJHtTVEFHSU5HX0lOQ0RJUn0vcGl4bWFuLTEnIgorCisjc2tpcCB4b3JnLWRyaXZlci1jb21tb24uaW5jIEFDX0NIRUNLX0ZJTEUgbWFuZ2xpbmcKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICBzZWQgJ3MjZ2NjIyR7Q0N9I2cnIC1pIE1ha2VmaWxlCisgICAgcmV0dXJuCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXRzbGliLzEwLXgxMS1pbnB1dC10c2xpYi5mZGkgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXRzbGliLzEwLXgxMS1pbnB1dC10c2xpYi5mZGkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTA2MDQzOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIvMTAteDExLWlucHV0LXRzbGliLmZkaQpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGRldmljZWluZm8gdmVyc2lvbj0iMC4yIj4KKyAgPGRldmljZT4KKyAgICA8bWF0Y2gga2V5PSJpbmZvLmNhcGFiaWxpdGllcyIgY29udGFpbnM9ImlucHV0LnRvdWNocGFkIj4KKyAgICAgIDxtZXJnZSBrZXk9ImlucHV0LngxMV9kcml2ZXIiIHR5cGU9InN0cmluZyI+dHNsaWI8L21lcmdlPgorICAgIDwvbWF0Y2g+CisgICAgPG1hdGNoIGtleT0iaW5mby5jYXBhYmlsaXRpZXMiIGNvbnRhaW5zPSJpbnB1dC50b3VjaHNjcmVlbiI+CisgICAgICA8bWVyZ2Uga2V5PSJpbnB1dC54MTFfZHJpdmVyIiB0eXBlPSJzdHJpbmciPnRzbGliPC9tZXJnZT4KKyAgICA8L21hdGNoPgorICA8L2RldmljZT4KKzwvZGV2aWNlaW5mbz4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIvOTkteGY4Ni1pbnB1dC10c2xpYi5ydWxlcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIvOTkteGY4Ni1pbnB1dC10c2xpYi5ydWxlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzEzMGMyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC10c2xpYi85OS14Zjg2LWlucHV0LXRzbGliLnJ1bGVzCkBAIC0wLDAgKzEsNSBAQAorIyBjcmVhdGUgL2Rldi9pbnB1dC90b3VjaHNjcmVlblggc3ltbGluaywgdGFnIHhmODYtaW5wdXQtdHNsaWIgYXMgZHJpdmVyCitTVUJTWVNURU09PSJpbnB1dCIsIEtFUk5FTD09ImV2ZW50WzAtOV0qIiwgQVRUUlN7bW9kYWxpYXN9PT0iaW5wdXQ6Ki1lMCosMywqYTAsMSwqMTgsKiIsIFNZTUxJTksrPSJpbnB1dC90b3VjaHNjcmVlbiVuIiwgRU5We3gxMV9kcml2ZXJ9PSJ0c2xpYiIKK1NVQlNZU1RFTT09ImlucHV0IiwgS0VSTkVMPT0iZXZlbnRbMC05XSoiLCBBVFRSU3ttb2RhbGlhc309PSJhZHM3ODQ2IiwgU1lNTElOSys9ImlucHV0L3RvdWNoc2NyZWVuJW4iLCBFTlZ7eDExX2RyaXZlcn09InRzbGliIgorCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIvZG91YmxlLWZyZWUtY3Jhc2gucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXRzbGliL2RvdWJsZS1mcmVlLWNyYXNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NzU0NzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXRzbGliL2RvdWJsZS1mcmVlLWNyYXNoLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK3hvcmctc2VydmVyLTEuNy4zL2h3L3hmcmVlODYvY29tbW9uL3hmODZIZWxwZXIuYyBjb250YWlucyB0aGlzIGNvZGUKK2NhdXNpbmcgYSBkb3VibGUgZnJlZSBjcmFzaCBvbiBjaHZ0IG9yIGV4aXQ6CisKKyAgICAvKiBUaGlzIHNob3VsZCAqcmVhbGx5KiBiZSBoYW5kbGVkIGluIGRydi0+VW5Jbml0KGRldikgY2FsbCBpbnN0ZWFkLCBidXQKKyAgICAgKiBpZiB0aGUgZHJpdmVyIGZvcmdldHMgYWJvdXQgaXQgbWFrZSBzdXJlIHdlIGZyZWUgaXQgb3IgYXQgbGVhc3QgY3Jhc2gKKyAgICAgKiB3aXRoIGZseWluZyBjb2xvcnMgKi8KKyAgICBpZiAocElucC0+cHJpdmF0ZSkKKwl4ZnJlZShwSW5wLT5wcml2YXRlKTsKK0luZGV4OiB4Zjg2LWlucHV0LXRzbGliLTAuMC42L3NyYy90c2xpYi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0geGY4Ni1pbnB1dC10c2xpYi0wLjAuNi5vcmlnL3NyYy90c2xpYi5jCisrKysgeGY4Ni1pbnB1dC10c2xpYi0wLjAuNi9zcmMvdHNsaWIuYworQEAgLTQzNSw2ICs0MzUsNyBAQCB4Zjg2VHNsaWJVbmluaXQoSW5wdXREcml2ZXJQdHIgZHJ2LCBJbnB1CisgCXhmODZUc2xpYkNvbnRyb2xQcm9jKHBJbmZvLT5kZXYsIERFVklDRV9PRkYpOworIAl0c19jbG9zZShwcml2LT50cyk7CisgCXhmcmVlKHBJbmZvLT5wcml2YXRlKTsKKysJcEluZm8tPnByaXZhdGUgPSBOVUxMOworIAl4Zjg2RGVsZXRlSW5wdXQocEluZm8sIDApOworIH0KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIveGY4Ni1pbnB1dC10c2xpYi0wLjAuNi14Zjg2WElucHV0U2V0U2NyZWVuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC10c2xpYi94Zjg2LWlucHV0LXRzbGliLTAuMC42LXhmODZYSW5wdXRTZXRTY3JlZW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE2YjRhNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIveGY4Ni1pbnB1dC10c2xpYi0wLjAuNi14Zjg2WElucHV0U2V0U2NyZWVuLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0ZpeGVzIGNyYXNoIHdoZW4gYSB0b3VjaHNjcmVlbiBldmVudCBpcyByZWNlaXZlZCB3aXRoIHhzZXJ2ZXIgMS4xMiBhbmQgbGF0ZXI6CitYOiBzeW1ib2wgbG9va3VwIGVycm9yOiAvdXNyL2xpYi94b3JnL21vZHVsZXMvaW5wdXQvdHNsaWJfZHJ2LnNvOiB1bmRlZmluZWQgc3ltYm9sOiB4Zjg2WElucHV0U2V0U2NyZWVuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitUYWtlbiBmcm9tIEdlbnRvbzoKK2h0dHBzOi8vYnVncy5nZW50b28ub3JnL3Nob3dfYnVnLmNnaT9pZD00NDY0MzIKKworZGlmZiAtdXIgeGY4Ni1pbnB1dC10c2xpYi0wLjAuNi5vcmlnL3NyYy90c2xpYi5jIHhmODYtaW5wdXQtdHNsaWItMC4wLjYvc3JjL3RzbGliLmMKKy0tLSB4Zjg2LWlucHV0LXRzbGliLTAuMC42Lm9yaWcvc3JjL3RzbGliLmMJMjAxMi0xMi0wNSAwMToxMjoxNi4yODY1OTcwNzEgKzAxMDAKKysrKyB4Zjg2LWlucHV0LXRzbGliLTAuMC42L3NyYy90c2xpYi5jCTIwMTItMTItMDUgMDE6MTE6MDIuNjg2NTk4NTk1ICswMTAwCitAQCAtNzUsNiArNzUsMTkgQEAKKyAjZGVmaW5lIENPTExFQ1RfSU5QVVRfT1BUSU9OUyhwSW5mbywgb3B0aW9ucykgeGY4NkNvbGxlY3RJbnB1dE9wdGlvbnMoKHBJbmZvKSwgKG9wdGlvbnMpKQorICNlbmRpZgorIAorKyNpZiBHRVRfQUJJX01BSk9SKEFCSV9YSU5QVVRfVkVSU0lPTikgPiAxMworK3N0YXRpYyB2b2lkCisreGY4NlhJbnB1dFNldFNjcmVlbihJbnB1dEluZm9QdHIJcEluZm8sCisrCQkgICAgaW50CQkJc2NyZWVuX251bWJlciwKKysJCSAgICBpbnQJCQl4LAorKwkJICAgIGludAkJCXkpCisreworKyAgICBpZiAobWlQb2ludGVyR2V0U2NyZWVuKHBJbmZvLT5kZXYpICE9CisrICAgICAgICAgIHNjcmVlbkluZm8uc2NyZWVuc1tzY3JlZW5fbnVtYmVyXSkgeworKwltaVBvaW50ZXJTZXRTY3JlZW4ocEluZm8tPmRldiwgc2NyZWVuX251bWJlciwgeCwgeSk7CisrICAgIH0KKyt9CisrI2VuZGlmCisgCisgZW51bSB7IFRTTElCX1JPVEFURV9OT05FPTAsIFRTTElCX1JPVEFURV9DVz0yNzAsIFRTTElCX1JPVEFURV9VRD0xODAsIFRTTElCX1JPVEFURV9DQ1c9OTAgfTsKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIveGY4Ni1pbnB1dC10c2xpYi1wb3J0LUFCSS0xMi1yNDgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXRzbGliL3hmODYtaW5wdXQtdHNsaWItcG9ydC1BQkktMTItcjQ4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhNmQ1YjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXRzbGliL3hmODYtaW5wdXQtdHNsaWItcG9ydC1BQkktMTItcjQ4LnBhdGNoCkBAIC0wLDAgKzEsMTk2IEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworVGFrZW4gZnJvbSBkZWJpYW46CitodHRwOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9NjI3MDc1CisKK0luZGV4OiB4Zjg2LWlucHV0LXRzbGliLXRydW5rL3NyYy90c2xpYi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0geGY4Ni1pbnB1dC10c2xpYi10cnVuay9zcmMvdHNsaWIuYwkocmV2aXNpb24gNDgpCisrKysgeGY4Ni1pbnB1dC10c2xpYi10cnVuay9zcmMvdHNsaWIuYwkod29ya2luZyBjb3B5KQorQEAgLTY5LDYgKzY5LDEzIEBACisgI2RlZmluZSBERUZBVUxUX0hFSUdIVAkJMjQwCisgI2RlZmluZSBERUZBVUxUX1dJRFRICQkzMjAKKyAKKysjaWYgR0VUX0FCSV9NQUpPUihBQklfWElOUFVUX1ZFUlNJT04pIDwgMTIKKysjZGVmaW5lIENPTExFQ1RfSU5QVVRfT1BUSU9OUyhwSW5mbywgb3B0aW9ucykgeGY4NkNvbGxlY3RJbnB1dE9wdGlvbnMoKHBJbmZvKSwgKG9wdGlvbnMpLCBOVUxMKQorKyNlbHNlCisrI2RlZmluZSBDT0xMRUNUX0lOUFVUX09QVElPTlMocEluZm8sIG9wdGlvbnMpIHhmODZDb2xsZWN0SW5wdXRPcHRpb25zKChwSW5mbyksIChvcHRpb25zKSkKKysjZW5kaWYKKysKKysKKyBlbnVtIHsgVFNMSUJfUk9UQVRFX05PTkU9MCwgVFNMSUJfUk9UQVRFX0NXPTI3MCwgVFNMSUJfUk9UQVRFX1VEPTE4MCwgVFNMSUJfUk9UQVRFX0NDVz05MCB9OworIAorIGVudW0gYnV0dG9uX3N0YXRlIHsgQlVUVE9OX05PVF9QUkVTU0VEID0gMCwgQlVUVE9OXzFfUFJFU1NFRCA9IDEsIEJVVFRPTl8zX0NMSUNLID0gMywgQlVUVE9OXzNfQ0xJQ0tFRD00LCBCVVRUT05fRU1VTEFUSU9OX09GRj0tMSB9OworQEAgLTEwNiw3ICsxMTMsNyBAQAorIH0KKyAKKyBzdGF0aWMgQm9vbAorLUNvbnZlcnRQcm9jKCBMb2NhbERldmljZVB0ciBsb2NhbCwKKytDb252ZXJ0UHJvYyggSW5wdXRJbmZvUHRyIGxvY2FsLAorIAkJCSBpbnQgZmlyc3QsCisgCQkJIGludCBudW0sCisgCQkJIGludCB2MCwKK0BAIC0xMzUsNyArMTQyLDcgQEAKKyAgICAgcmV0dXJuIHQ7CisgfQorIAorLXN0YXRpYyB2b2lkIFJlYWRJbnB1dCAoTG9jYWxEZXZpY2VQdHIgbG9jYWwpCisrc3RhdGljIHZvaWQgUmVhZElucHV0IChJbnB1dEluZm9QdHIgbG9jYWwpCisgeworIAlzdHJ1Y3QgdHNfcHJpdiAqcHJpdiA9IChzdHJ1Y3QgdHNfcHJpdiAqKSAobG9jYWwtPnByaXZhdGUpOworIAlzdHJ1Y3QgdHNfc2FtcGxlIHNhbXA7CitAQCAtMzgyLDcgKzM4OSwxMSBAQAorIAkJCQkJICAgICAgIGF4aXN3aWR0aCAtIDEsCS8qIG1heCB2YWwgKi8KKyAJCQkJCSAgICAgICBheGlzd2lkdGgsCS8qIHJlc29sdXRpb24gKi8KKyAJCQkJCSAgICAgICAwLAkJLyogbWluX3JlcyAqLworLQkJCQkJICAgICAgIGF4aXN3aWR0aCk7CS8qIG1heF9yZXMgKi8KKysJCQkJCSAgICAgICBheGlzd2lkdGgJLyogbWF4X3JlcyAqLworKyNpZiBHRVRfQUJJX01BSk9SKEFCSV9YSU5QVVRfVkVSU0lPTikgPj0gMTIKKysJCQkJCSAgICAgICAsQWJzb2x1dGUKKysjZW5kaWYKKysJCQkJCSAgICAgICApOworIAorIAkJSW5pdFZhbHVhdG9yQXhpc1N0cnVjdChkZXZpY2UsIDEsCisgI2lmIEdFVF9BQklfTUFKT1IoQUJJX1hJTlBVVF9WRVJTSU9OKSA+PSA3CitAQCAtMzkyLDcgKzQwMywxMSBAQAorIAkJCQkJICAgICAgIGF4aXNoZWlnaHQgLSAxLAkvKiBtYXggdmFsICovCisgCQkJCQkgICAgICAgYXhpc2hlaWdodCwJLyogcmVzb2x1dGlvbiAqLworIAkJCQkJICAgICAgIDAsCQkvKiBtaW5fcmVzICovCistCQkJCQkgICAgICAgYXhpc2hlaWdodCk7CS8qIG1heF9yZXMgKi8KKysJCQkJCSAgICAgICBheGlzaGVpZ2h0CS8qIG1heF9yZXMgKi8KKysjaWYgR0VUX0FCSV9NQUpPUihBQklfWElOUFVUX1ZFUlNJT04pID49IDEyCisrCQkJCQkgICAgICAgLEFic29sdXRlCisrI2VuZGlmCisrCQkJCQkgICAgICAgKTsKKyAKKyAJCWlmIChJbml0UHJveGltaXR5Q2xhc3NEZXZpY2VTdHJ1Y3QgKGRldmljZSkgPT0gRkFMU0UpIHsKKyAJCQlFcnJvckYgKCJVbmFibGUgdG8gYWxsb2NhdGUgRVZUb3VjaCB0b3VjaHNjcmVlbiBQcm94aW1pdHlDbGFzc0RldmljZVN0cnVjdFxuIik7CitAQCAtNDM0LDcgKzQ0OSw3IEBACisgCUVycm9yRigiJXNcbiIsIF9fRlVOQ1RJT05fXyk7CisgCXhmODZUc2xpYkNvbnRyb2xQcm9jKHBJbmZvLT5kZXYsIERFVklDRV9PRkYpOworIAl0c19jbG9zZShwcml2LT50cyk7CistCXhmcmVlKHBJbmZvLT5wcml2YXRlKTsKKysJZnJlZShwSW5mby0+cHJpdmF0ZSk7CisgCXBJbmZvLT5wcml2YXRlID0gTlVMTDsKKyAJeGY4NkRlbGV0ZUlucHV0KHBJbmZvLCAwKTsKKyB9CitAQCAtNDQ0LDQ3ICs0NTksNTcgQEAKKyAgKgorICAqIGNhbGxlZCB3aGVuIHRoZSBtb2R1bGUgc3Vic2VjdGlvbiBpcyBmb3VuZCBpbiBYRjg2Q29uZmlnCisgICovCisrI2lmIEdFVF9BQklfTUFKT1IoQUJJX1hJTlBVVF9WRVJTSU9OKSA+PSAxMgorK3N0YXRpYyBpbnQgCisreGY4NlRzbGliSW5pdChJbnB1dERyaXZlclB0ciBkcnYsIElucHV0SW5mb1B0ciBwSW5mbywgaW50IGZsYWdzKQorKyNlbHNlCisgc3RhdGljIElucHV0SW5mb1B0cgorIHhmODZUc2xpYkluaXQoSW5wdXREcml2ZXJQdHIgZHJ2LCBJRGV2UHRyIGRldiwgaW50IGZsYWdzKQorKyNlbmRpZgorIHsKKyAJc3RydWN0IHRzX3ByaXYgKnByaXY7CisgCWNoYXIgKnM7CisrI2lmIEdFVF9BQklfTUFKT1IoQUJJX1hJTlBVVF9WRVJTSU9OKSA8IDEyCisgCUlucHV0SW5mb1B0ciBwSW5mbzsKKysjZW5kaWYKKyAKKy0JcHJpdiA9IHhjYWxsb2MgKDEsIHNpemVvZiAoc3RydWN0IHRzX3ByaXYpKTsKKysJcHJpdiA9IGNhbGxvYyAoMSwgc2l6ZW9mIChzdHJ1Y3QgdHNfcHJpdikpOworICAgICAgICAgaWYgKCFwcml2KQorLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgICAgICAgICAgcmV0dXJuIEJhZFZhbHVlOworIAorKyNpZiBHRVRfQUJJX01BSk9SKEFCSV9YSU5QVVRfVkVSU0lPTikgPCAxMgorIAlpZiAoIShwSW5mbyA9IHhmODZBbGxvY2F0ZUlucHV0KGRydiwgMCkpKSB7CistCQl4ZnJlZShwcml2KTsKKy0JCXJldHVybiBOVUxMOworKwkJZnJlZShwcml2KTsKKysJCXJldHVybiBCYWRWYWx1ZTsKKyAJfQorIAorIAkvKiBJbml0aWFsaXNlIHRoZSBJbnB1dEluZm9SZWMuICovCisgCXBJbmZvLT5uYW1lID0gZGV2LT5pZGVudGlmaWVyOworLQlwSW5mby0+dHlwZV9uYW1lID0gWElfVE9VQ0hTQ1JFRU47CisgCXBJbmZvLT5mbGFncyA9CisgCSAgICBYSTg2X0tFWUJPQVJEX0NBUEFCTEUgfCBYSTg2X1BPSU5URVJfQ0FQQUJMRSB8CisgCSAgICBYSTg2X1NFTkRfRFJBR19FVkVOVFM7CistCXBJbmZvLT5kZXZpY2VfY29udHJvbCA9IHhmODZUc2xpYkNvbnRyb2xQcm9jOworLQlwSW5mby0+cmVhZF9pbnB1dCA9IFJlYWRJbnB1dDsKKyAjaWYgR0VUX0FCSV9NQUpPUihBQklfWElOUFVUX1ZFUlNJT04pID09IDAKKyAJcEluZm8tPm1vdGlvbl9oaXN0b3J5X3Byb2MgPSB4Zjg2R2V0TW90aW9uRXZlbnRzOworIAlwSW5mby0+aGlzdG9yeV9zaXplID0gMDsKKyAjZW5kaWYKKy0JcEluZm8tPmNvbnRyb2xfcHJvYyA9IE5VTEw7CisrCXBJbmZvLT5jb25mX2lkZXYgPSBkZXY7CisgCXBJbmZvLT5jbG9zZV9wcm9jID0gTlVMTDsKKy0JcEluZm8tPnN3aXRjaF9tb2RlID0gTlVMTDsKKyAJcEluZm8tPmNvbnZlcnNpb25fcHJvYyA9IENvbnZlcnRQcm9jOworIAlwSW5mby0+cmV2ZXJzZV9jb252ZXJzaW9uX3Byb2MgPSBOVUxMOworLQlwSW5mby0+ZGV2ID0gTlVMTDsKKyAJcEluZm8tPnByaXZhdGVfZmxhZ3MgPSAwOworIAlwSW5mby0+YWx3YXlzX2NvcmVfZmVlZGJhY2sgPSAwOworLQlwSW5mby0+Y29uZl9pZGV2ID0gZGV2OworKyNlbmRpZgorKworKwlwSW5mby0+dHlwZV9uYW1lID0gWElfVE9VQ0hTQ1JFRU47CisrCXBJbmZvLT5jb250cm9sX3Byb2MgPSBOVUxMOworKwlwSW5mby0+cmVhZF9pbnB1dCA9IFJlYWRJbnB1dDsKKysJcEluZm8tPmRldmljZV9jb250cm9sID0geGY4NlRzbGliQ29udHJvbFByb2M7CisrCXBJbmZvLT5zd2l0Y2hfbW9kZSA9IE5VTEw7CisgCXBJbmZvLT5wcml2YXRlID0gcHJpdjsKKysJcEluZm8tPmRldiA9IE5VTEw7CisgCisgCS8qIENvbGxlY3QgdGhlIG9wdGlvbnMsIGFuZCBwcm9jZXNzIHRoZSBjb21tb24gb3B0aW9ucy4gKi8KKy0JeGY4NkNvbGxlY3RJbnB1dE9wdGlvbnMocEluZm8sIE5VTEwsIE5VTEwpOworKwlDT0xMRUNUX0lOUFVUX09QVElPTlMocEluZm8sIE5VTEwpOworIAl4Zjg2UHJvY2Vzc0NvbW1vbk9wdGlvbnMocEluZm8sIHBJbmZvLT5vcHRpb25zKTsKKyAKKyAJcHJpdi0+c2NyZWVuX251bSA9IHhmODZTZXRJbnRPcHRpb24ocEluZm8tPm9wdGlvbnMsICJTY3JlZW5OdW1iZXIiLCAwICk7CitAQCAtNTEwLDIzICs1MzUsMzEgQEAKKyAJCXByaXYtPnJvdGF0ZSA9IFRTTElCX1JPVEFURV9OT05FOworIAl9CisgCisrI2lmIEdFVF9BQklfTUFKT1IoQUJJX1hJTlBVVF9WRVJTSU9OKSA8IDEyCisgIAlzID0geGY4NkNoZWNrU3RyT3B0aW9uKGRldi0+Y29tbW9uT3B0aW9ucywgInBhdGgiLCBOVUxMKTsKKysjZWxzZQorKwlzID0geGY4NkNoZWNrU3RyT3B0aW9uKHBJbmZvLT5vcHRpb25zLCAicGF0aCIsIE5VTEwpOworKyNlbmRpZgorICAgCWlmICghcykKKysjaWYgR0VUX0FCSV9NQUpPUihBQklfWElOUFVUX1ZFUlNJT04pIDwgMTIKKyAJCXMgPSB4Zjg2Q2hlY2tTdHJPcHRpb24oZGV2LT5jb21tb25PcHRpb25zLCAiRGV2aWNlIiwgTlVMTCk7CisrI2Vsc2UKKysJCXMgPSB4Zjg2Q2hlY2tTdHJPcHRpb24ocEluZm8tPm9wdGlvbnMsICJEZXZpY2UiLCBOVUxMKTsKKysjZW5kaWYKKyAgCisgCXByaXYtPnRzID0gdHNfb3BlbihzLCAxKTsKKy0JeGZyZWUocyk7CisrCWZyZWUocyk7CisgCisgCWlmICghcHJpdi0+dHMpIHsKKyAJCUVycm9yRigidHNfb3BlbiBmYWlsZWQgKGRldmljZT0lcylcbiIscyk7CisgCQl4Zjg2RGVsZXRlSW5wdXQocEluZm8sIDApOworLQkJcmV0dXJuIE5VTEw7CisrCQlyZXR1cm4gQmFkVmFsdWU7CisgCX0KKyAKKyAJaWYgKHRzX2NvbmZpZyhwcml2LT50cykpIHsKKyAJCUVycm9yRigidHNfY29uZmlnIGZhaWxlZFxuIik7CisgCQl4Zjg2RGVsZXRlSW5wdXQocEluZm8sIDApOworLQkJcmV0dXJuIE5VTEw7CisrCQlyZXR1cm4gQmFkVmFsdWU7CisgCX0KKyAKKyAJcEluZm8tPmZkID0gdHNfZmQocHJpdi0+dHMpOworQEAgLTUzNiwxMSArNTY5LDEzIEBACisgCQlwcml2LT5zdGF0ZSA9IEJVVFRPTl9FTVVMQVRJT05fT0ZGOworIAl9CisgCisrI2lmIEdFVF9BQklfTUFKT1IoQUJJX1hJTlBVVF9WRVJTSU9OKSA8IDEyCisgCS8qIE1hcmsgdGhlIGRldmljZSBjb25maWd1cmVkICovCisgCXBJbmZvLT5mbGFncyB8PSBYSTg2X0NPTkZJR1VSRUQ7CisrI2VuZGlmCisgCisgCS8qIFJldHVybiB0aGUgY29uZmlndXJlZCBkZXZpY2UgKi8KKy0JcmV0dXJuIChwSW5mbyk7CisrCXJldHVybiBTdWNjZXNzOworIH0KKyAKKyBfWF9FWFBPUlQgSW5wdXREcml2ZXJSZWMgVFNMSUIgPSB7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXRzbGliL3hzZXJ2ZXItMTc0LVhHZXRQb2ludGVyQ29udHJvbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWIveHNlcnZlci0xNzQtWEdldFBvaW50ZXJDb250cm9sLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExZjZiYTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXRzbGliL3hzZXJ2ZXItMTc0LVhHZXRQb2ludGVyQ29udHJvbC5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIEdyYXp2eWRhcyBJZ25vdGFzCisKK0F0IGxlYXN0IHhzZXJ2ZXIgMS43LjQgY3Jhc2hlcyBvbiBYR2V0UG9pbnRlckNvbnRyb2wgcmVxdWVzdCBiZWNhdXNlIG9mIHhmODYtaW5wdXQtdHNsaWI6CisKK1Byb2dyYW0gcmVjZWl2ZWQgc2lnbmFsIFNJR1NFR1YsIFNlZ21lbnRhdGlvbiBmYXVsdC4KKyMwICAweDAwMDM1NWUwIGluIFByb2NHZXRQb2ludGVyQ29udHJvbCAoY2xpZW50PTB4NGEyZTU4KSBhdCBkZXZpY2VzLmM6MjEyMgorIzEgIDB4MDAwNjJmYTggaW4gRGlzcGF0Y2ggKCkgYXQgZGlzcGF0Y2guYzo0MzkKKyMyICAweDAwMDIyNDQ0IGluIG1haW4gKGFyZ2M9NCwgYXJndj0weGJlZWJlZGM0LCBlbnZwPTB4YmVlYmVkZDgpIGF0IG1haW4uYzoyODUKKworVGhpcyBoYXBwZW5zIGJlY2F1c2UgcHRyZmVlZCBmaWVsZCBpcyBub3Qgc2V0IGluIGRldmljZSBzdHJ1Y3R1cmUgZnJvbSB0c2xpYi4KK1RvIGZpeCB0aGlzLCBjYWxsIEluaXRQdHJGZWVkYmFja0NsYXNzRGV2aWNlU3RydWN0KCkgZHVyaW5nIERFVklDRV9JTklUIHRvIGdldCBuZWNlc3Nhcnkgc2V0dXAgZG9uZSAoYXMgZG9uZSBpbiBvdGhlciBpbnB1dCBkcml2ZXJzKS4KKworLS0tCitkaWZmIC11ciB4Zjg2LWlucHV0LXRzbGliLTAuMC42L3NyYy90c2xpYi5jIHhmODYtaW5wdXQtdHNsaWItMC4wLjZfL3NyYy90c2xpYi5jCistLS0geGY4Ni1pbnB1dC10c2xpYi0wLjAuNi9zcmMvdHNsaWIuYwkyMDEwLTAyLTA5IDEyOjIzOjIyLjAwMDAwMDAwMCArMDIwMAorKysrIHhmODYtaW5wdXQtdHNsaWItMC4wLjZfL3NyYy90c2xpYi5jCTIwMTAtMDItMDkgMTI6Mzc6MzMuMDAwMDAwMDAwICswMjAwCitAQCAtMTAzLDggKzEwMyw2IEBACisgc3RhdGljIHZvaWQKKyBQb2ludGVyQ29udHJvbFByb2MoRGV2aWNlSW50UHRyIGRldiwgUHRyQ3RybCAqIGN0cmwpCisgeworLQlFcnJvckYoIiVzXG4iLCBfX0ZVTkNUSU9OX18pOworLQlyZXR1cm47CisgfQorIAorIHN0YXRpYyBCb29sCitAQCAtNDA2LDYgKzQwNCw4IEBACisgCQl4Zjg2TW90aW9uSGlzdG9yeUFsbG9jYXRlKHBJbmZvKTsKKyAjZW5kaWYKKyAKKysJCWlmICghSW5pdFB0ckZlZWRiYWNrQ2xhc3NEZXZpY2VTdHJ1Y3QoZGV2aWNlLCBQb2ludGVyQ29udHJvbFByb2MpKQorKwkJCXJldHVybiAhU3VjY2VzczsKKyAJCWJyZWFrOworIAorIAljYXNlIERFVklDRV9PTjoKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdHNsaWJfMC4wLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXRzbGliXzAuMC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4MmM3NzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXRzbGliXzAuMC42LmJiCkBAIC0wLDAgKzEsMzUgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94b3JnLWRyaXZlci1pbnB1dC5pbmMKK1NVTU1BUlkgPSAiWC5PcmcgWCBzZXJ2ZXIgLS0gdHNsaWIgaW5wdXQgZHJpdmVyIgorREVQRU5EUyArPSAidHNsaWIiCitSUkVDT01NRU5EU18ke1BOfSArPSAidHNsaWItY2FsaWJyYXRlIgorUlNVR0dFU1RTXyR7UE59ICs9ICJoYWwiCisKKyMgZGVyaXZlZCBmcm9tIHhmODYtaW5wdXQtdm9pZCwgdGhhdCdzIHdoeSBJIGtlcHQgTUlULVgsIGJ1dCBpdCdzIG5vdCBjbGVhciwgc2VlIENPUFlJTkcKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy90c2xpYi5jO2VuZGxpbmU9Mjg7bWQ1PWJkNjJlYWVmMjIyZGNmNWNkNTllNDkwYTEyYmQ3OTVlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTQ2NDFkZWRkYWE4MGZlN2NhODhlOTQ0ZTFmZDk0YTk0IgorCitQUiA9ICIke0lOQ19QUn0uMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnBlbmd1dHJvbml4LmRlL3NvZnR3YXJlL3hmODYtaW5wdXQtdHNsaWIvZG93bmxvYWQveGY4Ni1pbnB1dC10c2xpYi0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2RvdWJsZS1mcmVlLWNyYXNoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzEwLXgxMS1pbnB1dC10c2xpYi5mZGkgXAorICAgICAgICAgICBmaWxlOi8veHNlcnZlci0xNzQtWEdldFBvaW50ZXJDb250cm9sLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzk5LXhmODYtaW5wdXQtdHNsaWIucnVsZXMgXAorICAgICAgICAgICBmaWxlOi8veGY4Ni1pbnB1dC10c2xpYi1wb3J0LUFCSS0xMi1yNDgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8veGY4Ni1pbnB1dC10c2xpYi0wLjAuNi14Zjg2WElucHV0U2V0U2NyZWVuLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImI3YTRkMmYxMTYzN2VlM2ZjZjQzMmUwNDRiMWQwMTdmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVmNDZmZGVmMDk1YTZlNDRhNjllMGYwYjU3YzdkNjY1MjI0YjI2ZDk5MGQwMDY2MTEyMzZkODMzMmU4NWIxMDUiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHJtIC1yZiAke1N9L200LyB8fCB0cnVlCit9Citkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9oYWwvZmRpL3BvbGljeS8yMHRoaXJkcGFydHkKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8xMC14MTEtaW5wdXQtdHNsaWIuZmRpICR7RH0vJHtkYXRhZGlyfS9oYWwvZmRpL3BvbGljeS8yMHRoaXJkcGFydHkKKyAgICBpbnN0YWxsIC1kICR7RH0vbGliL3VkZXYvcnVsZXMuZAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5LXhmODYtaW5wdXQtdHNsaWIucnVsZXMgJHtEfS9saWIvdWRldi9ydWxlcy5kLworfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9oYWwgL2xpYi91ZGV2IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC12b2lkXzEuNC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC12b2lkXzEuNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhMGI0ODYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXZvaWRfMS40LjEuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveG9yZy1kcml2ZXItaW5wdXQuaW5jCitTVU1NQVJZID0gIlguT3JnIFggc2VydmVyIC0tIHZvaWQgaW5wdXQgZHJpdmVyIgorUFIgPSAiJHtJTkNfUFJ9LjAiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRiZTZhOTE1YmZiZjExMWNkODg3MDZmYzZhNmYxNDFiIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTIyNzAxM2I1MmIzY2E4NWQ2YjdlYzhhZGVhOTg4ZDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjk2ZTRmMGE2MjI4MjFiZjQzYTc0YmQ0MTlmMmExODQyMzM0Mzk5NmM5ZDI0M2M3ZTE0MzBiYTJkMTQyMzM5YyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tYXRpXzcuNi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1hdGlfNy42LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjFkMDZmMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tYXRpXzcuNi4xLmJiCkBAIC0wLDAgKzEsMjAgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94b3JnLWRyaXZlci12aWRlby5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YWFiZmYxNjA2NTUxZjk0NjFjY2Y1Njc3MzlhZjYzZGMiCisKK1NVTU1BUlkgPSAiWC5PcmcgWCBzZXJ2ZXIgLS0gQVRJIFJhZGVvbiB2aWRlbyBkcml2ZXIiCisKK0RFU0NSSVBUSU9OID0gIk9wZW4tc291cmNlIFgub3JnIGdyYXBoaWNzIGRyaXZlciBmb3IgQVRJIFJhZGVvbiBncmFwaGljcyIKKworREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEgbGlieHZtYyBkcm0geGY4NmRyaXByb3RvIGdscHJvdG8gXAorICAgICAgICAgICAgdmlydHVhbC9saWJnbCB4aW5lcmFtYXByb3RvIGxpYnBjaWFjY2VzcyIKKworQ09NUEFUSUJMRV9IT1NUID0gJyhpLjg2fHg4Nl82NCkuKi1saW51eCcKKworU1JDX1VSSVttZDVzdW1dID0gImVkZTg2Y2QzZDFiMWQ4ODgyZjBhZWE2MWQ5ZTkyNGVkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI1MTZkOWVlYjhkYThiY2QzYTAxMzY1ZWQxMzE0OTE5Nzc3OTEwZmE5MDRhYjI2OGFmMzQyYjU2OTNlMWQzNGMiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWdsYW1vciIKKworUkRFUEVORFNfJHtQTn0gKz0gInhzZXJ2ZXIteG9yZy1tb2R1bGUtZXhhIgorUlJFQ09NTUVORFNfJHtQTn0gKz0gImxpbnV4LWZpcm13YXJlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nZW9kZS8wMDAxLUFkZC1jb25maWcuaC1pbmNsdWRlLXRvLXNyYy1seF9tZW1vcnkuYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2VvZGUvMDAwMS1BZGQtY29uZmlnLmgtaW5jbHVkZS10by1zcmMtbHhfbWVtb3J5LmMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNkMmY2OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2VvZGUvMDAwMS1BZGQtY29uZmlnLmgtaW5jbHVkZS10by1zcmMtbHhfbWVtb3J5LmMucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSA2MjFkOTQ2ZTU2ZWZhYzJjNzc5YjgzYjFhNWM2YjY0NTE2OWM0ZWJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogIkJyaWFuIEEuIExsb3lkIiA8YnJpYW4ubGxveWRAZmFtaWx5aG9ub3IubmV0PgorRGF0ZTogV2VkLCAxIE9jdCAyMDE0IDEyOjM1OjE4ICswMzAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBjb25maWcuaCBpbmNsdWRlIHRvIHNyYy9seF9tZW1vcnkuYworCitUaGUgc3JjL2x4X21lbW9yeS5jIGZpbGUgdXNlcyB0aGUgeGY4Ni5oIGhlYWRlciBmaWxlLiAgVGhpcyBmaWxlIG11c3QgaGF2ZQorSEFWRV9TVFJORFVQIGRlZmluZWQgYmVmb3JlIGNhbGxpbmcgaXQgd2hlbiB0aGUgYnVpbGRpbmcgcGxhdGZvcm0gaGFzIGEgc3RybmR1cAorZnVuY3Rpb24uICBXaGVuIHVzaW5nIGNvbmZpZy5oLCB0aGlzIGZpbGUgZG9lc24ndCBoYXZlIHRoYXQgZGVmaW5lIGFuZCBzbyBmYWlscwordG8gY29tcGlsZS4KKworVGhlIGF0dGFjaGVkIHBhdGNoIGFkZHMgdGhlIGNvbmRpdGlvbmFsIGNvbmZpZy5oIHRvIHRoaXMgZmlsZSBzbyBpdCBtYXkgY29tcGlsZQorb24gdGhlIGFmZmVjdGVkIHBsYXRmb3Jtcy4KKworVGhlIHBhdGNoIGlzIHRyaXZpYWwgYW5kIG1heSBiZSBpbmNsdWRlZCBhbmQgdXNlZCB1bmRlciB3aGF0ZXZlciBsaWNlbnNpbmcKK2Rlc2lyZWQuCisKK0Nsb3NlczogRnJlZSBEZXNrdG9wIEJ1ZyAjODQ1NDEKKworU2lnbmVkLW9mZi1ieTogQnJpYW4gQS4gTGxveWQgPGJyaWFuLmxsb3lkQGZhbWlseWhvbm9yLm5ldD4KK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKy0tLQorIHNyYy9seF9tZW1vcnkuYyB8IDMgKysrCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2x4X21lbW9yeS5jIGIvc3JjL2x4X21lbW9yeS5jCitpbmRleCBmMjZkMjgwLi45OTI0NDZmIDEwMDY0NAorLS0tIGEvc3JjL2x4X21lbW9yeS5jCisrKysgYi9zcmMvbHhfbWVtb3J5LmMKK0BAIC0yMiw2ICsyMiw5IEBACisgICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICAqIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICAqLworKyNpZiBIQVZFX0NPTkZJR19ICisrI2luY2x1ZGUgImNvbmZpZy5oIgorKyNlbmRpZgorIAorICNpbmNsdWRlICJ4Zjg2LmgiCisgI2luY2x1ZGUgImdlb2RlLmgiCistLSAKKzIuMS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2VvZGVfMi4xMS4xNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2VvZGVfMi4xMS4xNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjY3NTk4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nZW9kZV8yLjExLjE2LmJiCkBAIC0wLDAgKzEsMTYgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94b3JnLWRyaXZlci12aWRlby5pbmMKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU3ZjNlMzk0NzRhZWVhNWFmMzgxYThlMTAzZGFmYzM2IgorCitTVU1NQVJZID0gIlgub3JnIHNlcnZlciAtLSBHZW9kZSBHWDIvTFggZGlzcGxheSBkcml2ZXIiCitQUiA9ICIke0lOQ19QUn0uMCIKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtQWRkLWNvbmZpZy5oLWluY2x1ZGUtdG8tc3JjLWx4X21lbW9yeS5jLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjM1ZmEzODdmNmEzM2Y2YjIyYTU2Y2U0YmRhNDI0MzkyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM4ZmMxZjU1ZTI5ZmI3OTg1YjkwYzkwMjFhNGI3ZTUyOTVkNDI4ODhiZDY2OTE3NGY0MmYzYjdmNjgxZmMxYTciCisKK0NPTVBBVElCTEVfSE9TVCA9ICJpLjg2LiotbGludXgiCisKK1JERVBFTkRTXyR7UE59ICs9ICJ4c2VydmVyLXhvcmctbW9kdWxlLWV4YSIKKworIyAyXzIuMTEuMTYtcjIxLjAveGY4Ni12aWRlby1nZW9kZS0yLjExLjE2L3NyYy9neF9kcml2ZXIuYzozNzY6MjA6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAneGY4Nk1hcFZpZE1lbScgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCitQTkJMQUNLTElTVFt4Zjg2LXZpZGVvLWdlb2RlXSA/PSAiQlJPS0VOLCBmYWlscyB0byBidWlsZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2xhbW8vMDAwMS1maXgtYnVpbGQtd2l0aC1LTVMtZGlzYWJsZWQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdsYW1vLzAwMDEtZml4LWJ1aWxkLXdpdGgtS01TLWRpc2FibGVkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1ZTgzMjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdsYW1vLzAwMDEtZml4LWJ1aWxkLXdpdGgtS01TLWRpc2FibGVkLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gZjQ4NWU4NzhiYzhiYjBlMzgxYTM4YTMwMDA5MzA4YzgyZmE4ZDY3MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTYgQXVnIDIwMTIgMDg6MTg6NTYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IGJ1aWxkIHdpdGggS01TIGRpc2FibGVkCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9nbGFtby5oIHwgICAgMyArKysKKyAxIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9nbGFtby5oIGIvc3JjL2dsYW1vLmgKK2luZGV4IGQ0YTJmMTkuLjVmZDVjMDQgMTAwNjQ0CistLS0gYS9zcmMvZ2xhbW8uaAorKysrIGIvc3JjL2dsYW1vLmgKK0BAIC0zNyw4ICszNywxMSBAQAorICNpbmNsdWRlICJ4Zjg2LmgiCisgI2luY2x1ZGUgImV4YS5oIgorICNpbmNsdWRlIDxsaW51eC9mYi5oPgorKworKyNpZmRlZiBIQVZFX0tNUworICNpbmNsdWRlIDxsaWJkcm0vZHJtLmg+CisgI2luY2x1ZGUgPGxpYmRybS9nbGFtb19iby5oPgorKyNlbmRpZgorIAorICNkZWZpbmUgR0xBTU9fUkVHX0JBU0UoYykJCSgoYyktPmF0dHIuYWRkcmVzc1swXSkKKyAjZGVmaW5lIEdMQU1PX1JFR19TSVpFKGMpCQkoMHgyNDAwKQorLS0gCisxLjcuOC42CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2xhbW8vMDAwMS1nbGFtby1kcml2ZXItcmVtb3ZlLXJlZmVyZW5jZXMtdG8tbWlic3RvcmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdsYW1vLzAwMDEtZ2xhbW8tZHJpdmVyLXJlbW92ZS1yZWZlcmVuY2VzLXRvLW1pYnN0b3JlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhYjBiMjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdsYW1vLzAwMDEtZ2xhbW8tZHJpdmVyLXJlbW92ZS1yZWZlcmVuY2VzLXRvLW1pYnN0b3JlLnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK0Zyb20gMDQwYWRlOGJiODZhNzcxZmE0ZTcxYjQxZDIwODAyNTQ4MzBjYTlmMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwgMTYgTWFyIDIwMTMgMTc6NDQ6MzcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gZ2xhbW8qZHJpdmVyOiByZW1vdmUgcmVmZXJlbmNlcyB0byBtaWJzdG9yZQorCisqIGZpeCBidWlsZCB3aXRoIHhzZXJ2ZXItMS4xNAorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBzcmMvZ2xhbW8tZHJpdmVyLmMgICAgIHwgMiAtLQorIHNyYy9nbGFtby1rbXMtZHJpdmVyLmMgfCAxIC0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZ2xhbW8tZHJpdmVyLmMgYi9zcmMvZ2xhbW8tZHJpdmVyLmMKK2luZGV4IDEwYjc3NjIuLjIyZjU3ZDcgMTAwNjQ0CistLS0gYS9zcmMvZ2xhbW8tZHJpdmVyLmMKKysrKyBiL3NyYy9nbGFtby1kcml2ZXIuYworQEAgLTE0LDcgKzE0LDYgQEAKKyAjaW5jbHVkZSAieGY4Nl9PU3Byb2MuaCIKKyAKKyAjaW5jbHVkZSAibWlwb2ludGVyLmgiCistI2luY2x1ZGUgIm1pYnN0b3JlLmgiCisgI2luY2x1ZGUgIm1pY21hcC5oIgorICNpbmNsdWRlICJjb2xvcm1hcHN0LmgiCisgI2luY2x1ZGUgInhmODZjbWFwLmgiCitAQCAtNjEyLDcgKzYxMSw2IEBAIEdsYW1vU2NyZWVuSW5pdChTQ1JFRU5fSU5JVF9BUkdTX0RFQ0wpCisgICAgIH0KKyAKKyAgICAgeGY4NlNldEJsYWNrV2hpdGVQaXhlbHMocFNjcmVlbik7CistICAgIG1pSW5pdGlhbGl6ZUJhY2tpbmdTdG9yZShwU2NyZWVuKTsKKyAgICAgeGY4NlNldEJhY2tpbmdTdG9yZShwU2NyZWVuKTsKKyAKKyAgICAgLyogc29mdHdhcmUgY3Vyc29yICovCitkaWZmIC0tZ2l0IGEvc3JjL2dsYW1vLWttcy1kcml2ZXIuYyBiL3NyYy9nbGFtby1rbXMtZHJpdmVyLmMKK2luZGV4IGM1YzdhMDAuLmYxOTIzOTggMTAwNjQ0CistLS0gYS9zcmMvZ2xhbW8ta21zLWRyaXZlci5jCisrKysgYi9zcmMvZ2xhbW8ta21zLWRyaXZlci5jCitAQCAtNDE1LDcgKzQxNSw2IEBAIEJvb2wgR2xhbW9LTVNTY3JlZW5Jbml0KGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywKKyAKKyAJR2xhbW9LTVNFeGFJbml0KHBTY3JuKTsKKyAKKy0JbWlJbml0aWFsaXplQmFja2luZ1N0b3JlKHBTY3JlZW4pOworIAl4Zjg2U2V0QmFja2luZ1N0b3JlKHBTY3JlZW4pOworIAl4Zjg2U2V0U2lsa2VuTW91c2UocFNjcmVlbik7CisgCW1pRENJbml0aWFsaXplKHBTY3JlZW4sIHhmODZHZXRQb2ludGVyU2NyZWVuRnVuY3MoKSk7CistLSAKKzEuOC4xLjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nbGFtby8wMDAxLWdsYW1vLWttcy1kcml2ZXItZHJvcC11bnVzZWQteGY4Nl9jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdsYW1vLzAwMDEtZ2xhbW8ta21zLWRyaXZlci1kcm9wLXVudXNlZC14Zjg2X2NvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDYzNzQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nbGFtby8wMDAxLWdsYW1vLWttcy1kcml2ZXItZHJvcC11bnVzZWQteGY4Nl9jb25maWcucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSA5NjNjMjIxYWEwMWJlMmVhOTlkMzk1NzhkOTFlNGFhMDhlYzNhYjBhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogTW9uLCAyMyBNYXkgMjAxMSAxNDoyOTozOCArMDIwMAorU3ViamVjdDogW1BBVENIXSBnbGFtby1rbXMtZHJpdmVyOiBkcm9wIHVudXNlZCB4Zjg2X2NvbmZpZworCisqIGdjYy00LjYgZG9lc24ndCBsaWtlIHVudXNlZCB2YXJpYWJsZXMgd2hpY2ggYXJlIG9ubHkgc2V0IGFuZCBuZXZlciByZWFkCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9nbGFtby1rbXMtZHJpdmVyLmMgfCAgICAyIC0tCisgMSBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZ2xhbW8ta21zLWRyaXZlci5jIGIvc3JjL2dsYW1vLWttcy1kcml2ZXIuYworaW5kZXggY2U4N2NhYS4uYzVjN2EwMCAxMDA2NDQKKy0tLSBhL3NyYy9nbGFtby1rbXMtZHJpdmVyLmMKKysrKyBiL3NyYy9nbGFtby1rbXMtZHJpdmVyLmMKK0BAIC0yMDgsNyArMjA4LDYgQEAgc3RhdGljIGNvbnN0IHhmODZDcnRjQ29uZmlnRnVuY3NSZWMgY3J0Y19jb25maWdfZnVuY3MgPSB7CisgCisgQm9vbCBHbGFtb0tNU1ByZUluaXQoU2NybkluZm9QdHIgcFNjcm4sIGludCBmbGFncykKKyB7CistCXhmODZDcnRjQ29uZmlnUHRyIHhmODZfY29uZmlnOworIAlHbGFtb1B0ciBwR2xhbW87CisgCXJnYiBkZWZhdWx0V2VpZ2h0ID0geyAwLCAwLCAwIH07CisgCWludCBtYXhfd2lkdGgsIG1heF9oZWlnaHQ7CitAQCAtMjU0LDcgKzI1Myw2IEBAIEJvb2wgR2xhbW9LTVNQcmVJbml0KFNjcm5JbmZvUHRyIHBTY3JuLCBpbnQgZmxhZ3MpCisgCisgCS8qIEFsbG9jYXRlIGFuIHhmODZDcnRjQ29uZmlnICovCisgCXhmODZDcnRjQ29uZmlnSW5pdChwU2NybiwgJmNydGNfY29uZmlnX2Z1bmNzKTsKKy0JeGY4Nl9jb25maWcgPSBYRjg2X0NSVENfQ09ORklHX1BUUihwU2Nybik7CisgCisgCW1heF93aWR0aCA9IDQ4MDsKKyAJbWF4X2hlaWdodCA9IDY0MDsKKy0tIAorMS43LjUucmMzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2xhbW8vMDAwMy1nbGFtby1kcml2ZXItYWRhcHQtdG8teHNlcnZlci0wLjEzLXZpZGVvLUFQSS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2xhbW8vMDAwMy1nbGFtby1kcml2ZXItYWRhcHQtdG8teHNlcnZlci0wLjEzLXZpZGVvLUFQSS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYmRjNmU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nbGFtby8wMDAzLWdsYW1vLWRyaXZlci1hZGFwdC10by14c2VydmVyLTAuMTMtdmlkZW8tQVBJLnBhdGNoCkBAIC0wLDAgKzEsMjc5IEBACitGcm9tIDU3ZTg5NDRlM2NjZWQwM2I5NTI2YmQwNzU2NDlkNzRkOTdjMjQ4OTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDIwIE5vdiAyMDEyIDIyOjE4OjIzICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMy8zXSBnbGFtby1kcml2ZXI6IGFkYXB0IHRvIHhzZXJ2ZXItMC4xMyB2aWRlbyBBUEkKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgc3JjL2NvbXBhdC1hcGkuaCAgIHwgOTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgc3JjL2dsYW1vLWRyaXZlci5jIHwgNDMgKysrKysrKysrKysrLS0tLS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMTggaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9jb21wYXQtYXBpLmgKKworZGlmZiAtLWdpdCBhL3NyYy9jb21wYXQtYXBpLmggYi9zcmMvY29tcGF0LWFwaS5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYjE1OTFiMQorLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjL2NvbXBhdC1hcGkuaAorQEAgLTAsMCArMSw5NiBAQAorKy8qCisrICogQ29weXJpZ2h0IDIwMTIgUmVkIEhhdCwgSW5jLgorKyAqCisrICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKysgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKysgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKysgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKysgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKyAqCisrICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKKysgKiBTb2Z0d2FyZS4KKysgKgorKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisrICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisrICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisrICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKysgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKKysgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisrICoKKysgKiBBdXRob3I6IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+CisrICovCisrCisrLyogdGhpcyBmaWxlIHByb3ZpZGVzIEFQSSBjb21wYXQgYmV0d2VlbiBzZXJ2ZXIgcG9zdCAxLjEzIGFuZCBwcmUgaXQsCisrICAgaXQgc2hvdWxkIGJlIHJldXNlZCBpbnNpZGUgYXMgbWFueSBkcml2ZXJzIGFzIHBvc3NpYmxlICovCisrI2lmbmRlZiBDT01QQVRfQVBJX0gKKysjZGVmaW5lIENPTVBBVF9BUElfSAorKworKyNpZm5kZWYgR0xZUEhfSEFTX0dMWVBIX1BJQ1RVUkVfQUNDRVNTT1IKKysjZGVmaW5lIEdldEdseXBoUGljdHVyZShnLCBzKSBHbHlwaFBpY3R1cmUoKGcpKVsocyktPm15TnVtXQorKyNkZWZpbmUgU2V0R2x5cGhQaWN0dXJlKGcsIHMsIHApIEdseXBoUGljdHVyZSgoZykpWyhzKS0+bXlOdW1dID0gcAorKyNlbmRpZgorKworKyNpZm5kZWYgWEY4Nl9IQVNfU0NSTl9DT05WCisrI2RlZmluZSB4Zjg2U2NyZWVuVG9TY3JuKHMpIHhmODZTY3JlZW5zWyhzKS0+bXlOdW1dCisrI2RlZmluZSB4Zjg2U2NyblRvU2NyZWVuKHMpIHNjcmVlbkluZm8uc2NyZWVuc1socyktPnNjcm5JbmRleF0KKysjZW5kaWYKKysKKysjaWZuZGVmIFhGODZfU0NSTl9JTlRFUkZBQ0UKKysKKysjZGVmaW5lIFNDUk5fQVJHX1RZUEUgaW50CisrI2RlZmluZSBTQ1JOX0lORk9fUFRSKGFyZzEpIFNjcm5JbmZvUHRyIHBTY3JuID0geGY4NlNjcmVlbnNbKGFyZzEpXQorKworKyNkZWZpbmUgU0NSRUVOX0FSR19UWVBFIGludAorKyNkZWZpbmUgU0NSRUVOX1BUUihhcmcxKSBTY3JlZW5QdHIgcFNjcmVlbiA9IHNjcmVlbkluZm8uc2NyZWVuc1soYXJnMSldCisrCisrI2RlZmluZSBTQ1JFRU5fSU5JVF9BUkdTX0RFQ0wgaW50IGluZGV4LCBTY3JlZW5QdHIgcFNjcmVlbiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2CisrCisrI2RlZmluZSBCTE9DS0hBTkRMRVJfQVJHU19ERUNMIGludCBhcmcsIHBvaW50ZXIgYmxvY2tEYXRhLCBwb2ludGVyIHBUaW1lb3V0LCBwb2ludGVyIHBSZWFkbWFzaworKyNkZWZpbmUgQkxPQ0tIQU5ETEVSX0FSR1MgYXJnLCBibG9ja0RhdGEsIHBUaW1lb3V0LCBwUmVhZG1hc2sKKysKKysjZGVmaW5lIENMT1NFX1NDUkVFTl9BUkdTX0RFQ0wgaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4KKysjZGVmaW5lIENMT1NFX1NDUkVFTl9BUkdTIHNjcm5JbmRleCwgcFNjcmVlbgorKworKyNkZWZpbmUgQURKVVNUX0ZSQU1FX0FSR1NfREVDTCBpbnQgYXJnLCBpbnQgeCwgaW50IHksIGludCBmbGFncworKworKyNkZWZpbmUgU1dJVENIX01PREVfQVJHU19ERUNMIGludCBhcmcsIERpc3BsYXlNb2RlUHRyIG1vZGUsIGludCBmbGFncworKworKyNkZWZpbmUgRlJFRV9TQ1JFRU5fQVJHU19ERUNMIGludCBhcmcsIGludCBmbGFncworKyNkZWZpbmUgRlJFRV9TQ1JFRU5fQVJHUyh4KSAoeCktPnNjcm5JbmRleCwgMAorKworKyNkZWZpbmUgVlRfRlVOQ19BUkdTX0RFQ0wgaW50IGFyZywgaW50IGZsYWdzCisrI2RlZmluZSBWVF9GVU5DX0FSR1MoZmxhZ3MpIHBTY3JuLT5zY3JuSW5kZXgsIChmbGFncykKKysKKysjZGVmaW5lIFhGODZfRU5BQkxFRElTQUJMRUZCX0FSRyh4KSAoKHgpLT5zY3JuSW5kZXgpCisrI2Vsc2UKKysjZGVmaW5lIFNDUk5fQVJHX1RZUEUgU2NybkluZm9QdHIKKysjZGVmaW5lIFNDUk5fSU5GT19QVFIoYXJnMSkgU2NybkluZm9QdHIgcFNjcm4gPSAoYXJnMSkKKysKKysjZGVmaW5lIFNDUkVFTl9BUkdfVFlQRSBTY3JlZW5QdHIKKysjZGVmaW5lIFNDUkVFTl9QVFIoYXJnMSkgU2NyZWVuUHRyIHBTY3JlZW4gPSAoYXJnMSkKKysKKysjZGVmaW5lIFNDUkVFTl9JTklUX0FSR1NfREVDTCBTY3JlZW5QdHIgcFNjcmVlbiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2CisrCisrI2RlZmluZSBCTE9DS0hBTkRMRVJfQVJHU19ERUNMIFNjcmVlblB0ciBhcmcsIHBvaW50ZXIgcFRpbWVvdXQsIHBvaW50ZXIgcFJlYWRtYXNrCisrI2RlZmluZSBCTE9DS0hBTkRMRVJfQVJHUyBhcmcsIHBUaW1lb3V0LCBwUmVhZG1hc2sKKysKKysjZGVmaW5lIENMT1NFX1NDUkVFTl9BUkdTX0RFQ0wgU2NyZWVuUHRyIHBTY3JlZW4KKysjZGVmaW5lIENMT1NFX1NDUkVFTl9BUkdTIHBTY3JlZW4KKysKKysjZGVmaW5lIEFESlVTVF9GUkFNRV9BUkdTX0RFQ0wgU2NybkluZm9QdHIgYXJnLCBpbnQgeCwgaW50IHkKKysjZGVmaW5lIFNXSVRDSF9NT0RFX0FSR1NfREVDTCBTY3JuSW5mb1B0ciBhcmcsIERpc3BsYXlNb2RlUHRyIG1vZGUKKysKKysjZGVmaW5lIEZSRUVfU0NSRUVOX0FSR1NfREVDTCBTY3JuSW5mb1B0ciBhcmcKKysjZGVmaW5lIEZSRUVfU0NSRUVOX0FSR1MoeCkgKHgpCisrCisrI2RlZmluZSBWVF9GVU5DX0FSR1NfREVDTCBTY3JuSW5mb1B0ciBhcmcKKysjZGVmaW5lIFZUX0ZVTkNfQVJHUyhmbGFncykgcFNjcm4KKysKKysjZGVmaW5lIFhGODZfRU5BQkxFRElTQUJMRUZCX0FSRyh4KSAoeCkKKysKKysjZW5kaWYKKysKKysjZW5kaWYKK2RpZmYgLS1naXQgYS9zcmMvZ2xhbW8tZHJpdmVyLmMgYi9zcmMvZ2xhbW8tZHJpdmVyLmMKK2luZGV4IGIxM2NhYWUuLjEwYjc3NjIgMTAwNjQ0CistLS0gYS9zcmMvZ2xhbW8tZHJpdmVyLmMKKysrKyBiL3NyYy9nbGFtby1kcml2ZXIuYworQEAgLTQzLDYgKzQzLDcgQEAKKyAKKyAjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyAKKysjaW5jbHVkZSAiY29tcGF0LWFwaS5oIgorIAorIHN0YXRpYyBCb29sIGRlYnVnID0gMDsKKyAKK0BAIC02OCwxMCArNjksMTAgQEAgc3RhdGljIEJvb2wKKyBHbGFtb1ByZUluaXQoU2NybkluZm9QdHIgcFNjcm4sIGludCBmbGFncyk7CisgCisgc3RhdGljIEJvb2wKKy1HbGFtb1NjcmVlbkluaXQoaW50IEluZGV4LCBTY3JlZW5QdHIgcFNjcmVlbiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KTsKKytHbGFtb1NjcmVlbkluaXQoU0NSRUVOX0lOSVRfQVJHU19ERUNMKTsKKyAKKyBzdGF0aWMgQm9vbAorLUdsYW1vQ2xvc2VTY3JlZW4oaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4pOworK0dsYW1vQ2xvc2VTY3JlZW4oQ0xPU0VfU0NSRUVOX0FSR1NfREVDTCk7CisgCisgc3RhdGljIEJvb2wKKyBHbGFtb0NydGNSZXNpemUoU2NybkluZm9QdHIgc2NybiwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKK0BAIC04NiwxMCArODcsMTAgQEAgc3RhdGljIHZvaWQKKyBHbGFtb1Jlc3RvcmVIVyhTY3JuSW5mb1B0ciBwU2NyZW4pOworIAorIHN0YXRpYyBCb29sCistR2xhbW9FbnRlclZUKGludCBzY3JuSW5kZXgsIGludCBmbGFncyk7CisrR2xhbW9FbnRlclZUKFZUX0ZVTkNfQVJHU19ERUNMKTsKKyAKKyBzdGF0aWMgdm9pZAorLUdsYW1vTGVhdmVWVChpbnQgc2NybkluZGV4LCBpbnQgZmxhZ3MpOworK0dsYW1vTGVhdmVWVChWVF9GVU5DX0FSR1NfREVDTCk7CisgCisgc3RhdGljIHZvaWQKKyBHbGFtb0xvYWRDb2xvcm1hcChTY3JuSW5mb1B0ciBwU2NybiwgaW50IG51bUNvbG9ycywgaW50ICppbmRpY2VzLAorQEAgLTI0OCw4ICsyNDksOCBAQCBHbGFtb1VubWFwTU1JTyhTY3JuSW5mb1B0ciBwU2NybikgeworIH0KKyAKKyBzdGF0aWMgQm9vbAorLUdsYW1vU3dpdGNoTW9kZShpbnQgc2NybkluZGV4LCBEaXNwbGF5TW9kZVB0ciBtb2RlLCBpbnQgZmxhZ3MpIHsKKy0gICAgU2NybkluZm9QdHIgcFNjcm4gPSB4Zjg2U2NyZWVuc1tzY3JuSW5kZXhdOworK0dsYW1vU3dpdGNoTW9kZShTV0lUQ0hfTU9ERV9BUkdTX0RFQ0wpIHsKKysgICAgU0NSTl9JTkZPX1BUUihhcmcpOworICAgICB4Zjg2Q3J0Y0NvbmZpZ1B0ciBjb25maWcgPSBYRjg2X0NSVENfQ09ORklHX1BUUiAocFNjcm4pOworICAgICB4Zjg2T3V0cHV0UHRyIG91dHB1dCA9IGNvbmZpZy0+b3V0cHV0W2NvbmZpZy0+Y29tcGF0X291dHB1dF07CisgICAgIFJvdGF0aW9uIHJvdGF0aW9uOworQEAgLTI4Niw3ICsyODcsNyBAQCBHbGFtb0ZiZGV2UHJvYmUoRHJpdmVyUHRyIGRydiwgR0RldlB0ciAqZGV2U2VjdGlvbnMsIGludCBudW1EZXZTZWN0aW9ucykKKyAKKyAJZm9yIChpID0gMDsgaSA8IG51bURldlNlY3Rpb25zOyBpKyspIHsKKyAKKy0JCWRldiA9IHhmODZGaW5kT3B0aW9uVmFsdWUoZGV2U2VjdGlvbnNbaV0tPm9wdGlvbnMsICJEZXZpY2UiKTsKKysJCWRldiA9IChjaGFyICopIHhmODZGaW5kT3B0aW9uVmFsdWUoZGV2U2VjdGlvbnNbaV0tPm9wdGlvbnMsICJEZXZpY2UiKTsKKyAJCWlmIChmYmRldkhXUHJvYmUoTlVMTCwgZGV2LCBOVUxMKSkgeworIAkJCWludCBlbnRpdHk7CisgCQkJcFNjcm4gPSBOVUxMOworQEAgLTQzMCw3ICs0MzEsNyBAQCBHbGFtb1ByZUluaXQoU2NybkluZm9QdHIgcFNjcm4sIGludCBmbGFncykKKyAKKyAgICAgcEdsYW1vLT5wRW50ID0geGY4NkdldEVudGl0eUluZm8ocFNjcm4tPmVudGl0eUxpc3RbMF0pOworIAorLSAgICBmYl9kZXZpY2UgPSB4Zjg2RmluZE9wdGlvblZhbHVlKHBHbGFtby0+cEVudC0+ZGV2aWNlLT5vcHRpb25zLCAiRGV2aWNlIik7CisrICAgIGZiX2RldmljZSA9IChjaGFyICopIHhmODZGaW5kT3B0aW9uVmFsdWUocEdsYW1vLT5wRW50LT5kZXZpY2UtPm9wdGlvbnMsICJEZXZpY2UiKTsKKyAKKyAgICAgLyogb3BlbiBkZXZpY2UgKi8KKyAgICAgaWYgKCFmYmRldkhXSW5pdChwU2NybiwgTlVMTCwgZmJfZGV2aWNlKSkKK0BAIC01MjMsNyArNTI0LDcgQEAgR2xhbW9QcmVJbml0KFNjcm5JbmZvUHRyIHBTY3JuLCBpbnQgZmxhZ3MpCisgCisgCisgc3RhdGljIEJvb2wKKy1HbGFtb1NjcmVlbkluaXQoaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLCBjaGFyICoqYXJndikKKytHbGFtb1NjcmVlbkluaXQoU0NSRUVOX0lOSVRfQVJHU19ERUNMKQorIHsKKyAgICAgU2NybkluZm9QdHIgcFNjcm4gPSB4Zjg2U2NyZWVuc1twU2NyZWVuLT5teU51bV07CisgICAgIEdsYW1vUHRyIHBHbGFtbyA9IEdsYW1vUFRSKHBTY3JuKTsKK0BAIC01NDUsNyArNTQ2LDcgQEAgR2xhbW9TY3JlZW5Jbml0KGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgI2VuZGlmCisgCisgICAgIGlmIChOVUxMID09IChwR2xhbW8tPmZibWVtID0gZmJkZXZIV01hcFZpZG1lbShwU2NybikpKSB7CistICAgICAgICB4Zjg2RHJ2TXNnKHNjcm5JbmRleCwgWF9FUlJPUiwgIm1hcHBpbmcgb2YgdmlkZW8gbWVtb3J5IGZhaWxlZFxuIik7CisrICAgICAgICB4Zjg2RHJ2TXNnKHBTY3JuLT5zY3JuSW5kZXgsIFhfRVJST1IsICJtYXBwaW5nIG9mIHZpZGVvIG1lbW9yeSBmYWlsZWRcbiIpOworICAgICAgICAgcmV0dXJuIEZBTFNFOworICAgICB9CisgCitAQCAtNTU2LDEzICs1NTcsMTMgQEAgR2xhbW9TY3JlZW5Jbml0KGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgICAgIC8qIG1pIGxheWVyICovCisgICAgIG1pQ2xlYXJWaXN1YWxUeXBlcygpOworICAgICBpZiAoIW1pU2V0VmlzdWFsVHlwZXMocFNjcm4tPmRlcHRoLCBUcnVlQ29sb3JNYXNrLCBwU2Nybi0+cmdiQml0cywgVHJ1ZUNvbG9yKSkgeworLSAgICAgICAgeGY4NkRydk1zZyhzY3JuSW5kZXgsIFhfRVJST1IsCisrICAgICAgICB4Zjg2RHJ2TXNnKHBTY3JuLT5zY3JuSW5kZXgsIFhfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICJ2aXN1YWwgdHlwZSBzZXR1cCBmYWlsZWQgZm9yICVkIGJpdHMgcGVyIHBpeGVsIFsxXVxuIiwKKyAgICAgICAgICAgICAgICAgICAgcFNjcm4tPmJpdHNQZXJQaXhlbCk7CisgICAgICAgICByZXR1cm4gRkFMU0U7CisgICAgIH0KKyAgICAgaWYgKCFtaVNldFBpeG1hcERlcHRocygpKSB7CistICAgICAgeGY4NkRydk1zZyhzY3JuSW5kZXgsIFhfRVJST1IsICJwaXhtYXAgZGVwdGggc2V0dXAgZmFpbGVkXG4iKTsKKysgICAgICB4Zjg2RHJ2TXNnKHBTY3JuLT5zY3JuSW5kZXgsIFhfRVJST1IsICJwaXhtYXAgZGVwdGggc2V0dXAgZmFpbGVkXG4iKTsKKyAgICAgICByZXR1cm4gRkFMU0U7CisgICAgIH0KKyAKK0BAIC02MTcsNyArNjE4LDcgQEAgR2xhbW9TY3JlZW5Jbml0KGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgICAgIC8qIHNvZnR3YXJlIGN1cnNvciAqLworICAgICBtaURDSW5pdGlhbGl6ZShwU2NyZWVuLCB4Zjg2R2V0UG9pbnRlclNjcmVlbkZ1bmNzKCkpOworIAorLSAgICBHbGFtb0VudGVyVlQoc2NybkluZGV4LCAwKTsKKysgICAgR2xhbW9FbnRlclZUKFZUX0ZVTkNfQVJHUygwKSk7CisgCisgICAgIHhmODZDcnRjU2NyZWVuSW5pdChwU2NyZWVuKTsKKyAjaWYgWE9SR19WRVJTSU9OX0NVUlJFTlQgPj0gWE9SR19WRVJTSU9OX05VTUVSSUMoMSw1LDAsMCwwKQorQEAgLTYyNyw3ICs2MjgsNyBAQCBHbGFtb1NjcmVlbkluaXQoaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgLyogY29sb3JtYXAgKi8KKyAgICAgcEdsYW1vLT5jb2xvcm1hcCA9IE5VTEw7CisgICAgIGlmICghbWlDcmVhdGVEZWZDb2xvcm1hcChwU2NyZWVuKSkgeworLSAgICAgICAgeGY4NkRydk1zZyhzY3JuSW5kZXgsIFhfRVJST1IsCisrICAgICAgICB4Zjg2RHJ2TXNnKHBTY3JuLT5zY3JuSW5kZXgsIFhfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICJpbnRlcm5hbCBlcnJvcjogbWlDcmVhdGVEZWZDb2xvcm1hcCBmYWlsZWQgIgorICAgICAgICAgICAgICAgICAgICAiaW4gR2xhbW9TY3JlZW5Jbml0KClcbiIpOworICAgICAgICAgcmV0dXJuIEZBTFNFOworQEAgLTY1Miw5ICs2NTMsOSBAQCBHbGFtb1NjcmVlbkluaXQoaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLCBjaGFyICoqYXJndikKKyB9CisgCisgc3RhdGljIEJvb2wKKy1HbGFtb0Nsb3NlU2NyZWVuKGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuKQorK0dsYW1vQ2xvc2VTY3JlZW4oQ0xPU0VfU0NSRUVOX0FSR1NfREVDTCkKKyB7CistICAgIFNjcm5JbmZvUHRyIHBTY3JuID0geGY4NlNjcmVlbnNbc2NybkluZGV4XTsKKysgICAgU2NybkluZm9QdHIgcFNjcm4gPSB4Zjg2U2NyZWVuVG9TY3JuKHBTY3JlZW4pOworICAgICBHbGFtb1B0ciBwR2xhbW8gPSBHbGFtb1BUUihwU2Nybik7CisgCisgICAgIGlmIChwR2xhbW8tPmFjY2VsKQorQEAgLTY3NSw3ICs2NzYsNyBAQCBHbGFtb0Nsb3NlU2NyZWVuKGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuKQorIAorICAgICBwU2NyZWVuLT5DcmVhdGVTY3JlZW5SZXNvdXJjZXMgPSBwR2xhbW8tPkNyZWF0ZVNjcmVlblJlc291cmNlczsKKyAgICAgcFNjcmVlbi0+Q2xvc2VTY3JlZW4gPSBwR2xhbW8tPkNsb3NlU2NyZWVuOworLSAgICByZXR1cm4gKCpwU2NyZWVuLT5DbG9zZVNjcmVlbikoc2NybkluZGV4LCBwU2NyZWVuKTsKKysgICAgcmV0dXJuICgqcFNjcmVlbi0+Q2xvc2VTY3JlZW4pKENMT1NFX1NDUkVFTl9BUkdTKTsKKyB9CisgCisgc3RhdGljIEJvb2wKK0BAIC04MjYsOCArODI3LDggQEAgR2xhbW9SZXN0b3JlSFcoU2NybkluZm9QdHIgcFNjcm4pIHsKKyB9CisgCisgc3RhdGljIEJvb2wKKy1HbGFtb0VudGVyVlQoaW50IHNjcm5JbmRleCwgaW50IGZsYWdzKSB7CistICAgIFNjcm5JbmZvUHRyIHBTY3JuID0geGY4NlNjcmVlbnNbc2NybkluZGV4XTsKKytHbGFtb0VudGVyVlQoVlRfRlVOQ19BUkdTX0RFQ0wpIHsKKysgICAgU0NSTl9JTkZPX1BUUihhcmcpOworICAgICBHbGFtb1B0ciBwR2xhbW8gPSBHbGFtb1BUUihwU2Nybik7CisgCisgICAgIEdsYW1vU2F2ZUhXKHBTY3JuKTsKK0BAIC04NDIsOCArODQzLDggQEAgR2xhbW9FbnRlclZUKGludCBzY3JuSW5kZXgsIGludCBmbGFncykgeworIH0KKyAKKyBzdGF0aWMgdm9pZAorLUdsYW1vTGVhdmVWVChpbnQgc2NybkluZGV4LCBpbnQgZmxhZ3MpIHsKKy0gICAgU2NybkluZm9QdHIgcFNjcm4gPSB4Zjg2U2NyZWVuc1tzY3JuSW5kZXhdOworK0dsYW1vTGVhdmVWVChWVF9GVU5DX0FSR1NfREVDTCkgeworKyAgICBTQ1JOX0lORk9fUFRSKGFyZyk7CisgICAgIEdsYW1vUHRyIHBHbGFtbyA9IEdsYW1vUFRSKHBTY3JuKTsKKyAKKyAgICAgaWYgKHBHbGFtby0+YWNjZWwpCistLSAKKzEuOC4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2xhbW8vMDAwNC1nbGFtby5oLXVzZS1jb25zdC1mb3ItamJ0Nms3NF9zdGF0ZV9wYXRoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nbGFtby8wMDA0LWdsYW1vLmgtdXNlLWNvbnN0LWZvci1qYnQ2azc0X3N0YXRlX3BhdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTgyMDM3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tZ2xhbW8vMDAwNC1nbGFtby5oLXVzZS1jb25zdC1mb3ItamJ0Nms3NF9zdGF0ZV9wYXRoLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gMTgwYTAwNjM0ZjM1MWEwOWNlYWJjNTY5NWQ4ZTFhY2MzZTU4NTUwMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTIgRGVjIDIwMTQgMTI6MDA6MTAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gZ2xhbW8uaDogdXNlIGNvbnN0IGZvciBqYnQ2azc0X3N0YXRlX3BhdGgKKworKiBmaXggYnVpbGQgaXNzdWUgd2l0aCB4c2VydmVyIDEuMTY6CisgIGdsYW1vLWRyaXZlci5jOjUwMTozMjogZXJyb3I6IGFzc2lnbm1lbnQgZGlzY2FyZHMgJ2NvbnN0JyBxdWFsaWZpZXIgZnJvbSBwb2ludGVyIHRhcmdldCB0eXBlIFstV2Vycm9yXQorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBzcmMvZ2xhbW8uaCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9nbGFtby5oIGIvc3JjL2dsYW1vLmgKK2luZGV4IDVmZDVjMDQuLjVlMDcyYmUgMTAwNjQ0CistLS0gYS9zcmMvZ2xhbW8uaAorKysrIGIvc3JjL2dsYW1vLmgKK0BAIC0xNDgsNyArMTQ4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgeworICNlbmRpZgorIAorICNpZmRlZiBKQlQ2Szc0X1NFVF9TVEFURQorLSAgICBjaGFyICpqYnQ2azc0X3N0YXRlX3BhdGg7CisrICAgIGNvbnN0IGNoYXIgKmpidDZrNzRfc3RhdGVfcGF0aDsKKyAgICAgY2hhciBzYXZlZF9qYnQ2azc0X3N0YXRlWzE0XTsKKyAjZW5kaWYKKyAKKy0tIAorMi4xLjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nbGFtb19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWdsYW1vX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGM2NTY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1nbGFtb19naXQuYmIKQEAgLTAsMCArMSwyMyBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hvcmctZHJpdmVyLXZpZGVvLmluYworU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBHbGFtbyBkaXNwbGF5IGRyaXZlciB3aXRoIEtNUyBzdXBwb3J0IgorREVQRU5EUyArPSAibGliZHJtIgorUkRFUEVORFNfJHtQTn0gKz0gInhzZXJ2ZXIteG9yZy1tb2R1bGUtZXhhIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kOGNiZDk5ZmZmNzczZjkyZTg0NDk0OGY3NGVmMGRmOCIKKworUEUgPSAiMiIKK1BWID0gIjEuMC4wK2dpdHIke1NSQ1BWfSIKK1BSID0gIiR7SU5DX1BSfS40IgorCitTUkNfVVJJID0gImdpdDovL2dpdC5vcGVubW9rby5vcmcvZ2l0L3hmODYtdmlkZW8tZ2xhbW8uZ2l0O2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1nbGFtby1rbXMtZHJpdmVyLWRyb3AtdW51c2VkLXhmODZfY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWJ1aWxkLXdpdGgtS01TLWRpc2FibGVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtZ2xhbW8tZHJpdmVyLWFkYXB0LXRvLXhzZXJ2ZXItMC4xMy12aWRlby1BUEkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1nbGFtby1kcml2ZXItcmVtb3ZlLXJlZmVyZW5jZXMtdG8tbWlic3RvcmUucGF0Y2ggXCAgIAorICAgICAgICAgICBmaWxlOi8vMDAwNC1nbGFtby5oLXVzZS1jb25zdC1mb3ItamJ0Nms3NF9zdGF0ZV9wYXRoLnBhdGNoIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK1NSQ1JFViA9ICJjYjllZDE3MDM1YTc5ZTQ5ZGRlMjZhMWU3ZTJiYzVmMTBmZDgxNDRiIgorCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1rbXMgIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1ub3V2ZWF1XzEuMC4xMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tbm91dmVhdV8xLjAuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E3NTA3YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tbm91dmVhdV8xLjAuMTIuYmIKQEAgLTAsMCArMSwxNyBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hvcmctZHJpdmVyLXZpZGVvLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00NjQxZGVkZGFhODBmZTdjYTg4ZTk0NGUxZmQ5NGE5NCIKKworU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBub3V2ZWF1IHZpZGVvIGRyaXZlciIKKworREVTQ1JJUFRJT04gPSAiT3Blbi1zb3VyY2UgWC5vcmcgZ3JhcGhpY3MgZHJpdmVyIGZvciBOVklESUEgZ3JhcGhpY3MiCisKK0RFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIGxpYnh2bWMgZHJtIHhmODZkcmlwcm90byBnbHByb3RvIFwKKyAgICAgICAgICAgIHZpcnR1YWwvbGliZ2wgeGluZXJhbWFwcm90byBsaWJwY2lhY2Nlc3MiCitSREVQRU5EU18ke1BOfSArPSAieHNlcnZlci14b3JnLW1vZHVsZS1leGEiCisKK0NPTVBBVElCTEVfSE9TVCA9ICcoaS44Nnx4ODZfNjQpLiotbGludXgnCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYzc5OTEwYzdiOWUzMjMyMWNlZmM3YWYyNTBjNzc2NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwZWEwNTdhZDdmYzMxY2FiYTJkNGU0NmM3ZTQxOGZlMmIzYzc2MmIwNGZiOGQzODJmNTMzODMzOTdmZDgzOTFlIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1hZG9iZS0xMDBkcGlfMS4wLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1hZG9iZS0xMDBkcGlfMS4wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVhNDQ2NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LWFkb2JlLTEwMGRwaV8xLjAuMy5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctZm9udC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiQWRvYmUgMTAwIERQSSBmb250cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2ZvbnQvYWRvYmUtMTAwZHBpLyIKK1NFQ1RJT04gPSAieDExL2ZvbnQiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVkZmEwZmRmNDU0NzNiNGNhMGFjZjM3ZDg1NGRmMTBlIgorCitERVBFTkRTID0gInV0aWwtbWFjcm9zLW5hdGl2ZSBmb250LXV0aWwtbmF0aXZlIGJkZnRvcGNmLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ID0gImVuY29kaW5ncyBmb250LXV0aWwiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiZm9udC11dGlsLW5hdGl2ZSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiBiZGZ0b3BjZi1uYXRpdmUgLT4gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxMzQ3YzMwMzFiNzRjOWU5MWRjNGRmYTUzYjEyZjE0MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiMmMwODQzM2VhYjVjYjIwMjQ3MGFhOWY3NzllZmVmY2U4ZDljYWIyNTM0ZjM0ZjNhYTRhMzFkMDU2NzFjMDU0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtYWRvYmUtdXRvcGlhLTEwMGRwaV8xLjAuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LWFkb2JlLXV0b3BpYS0xMDBkcGlfMS4wLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZlM2QyYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LWFkb2JlLXV0b3BpYS0xMDBkcGlfMS4wLjQuYmIKQEAgLTAsMCArMSwxOCBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLWZvbnQtY29tbW9uLmluYworCitTVU1NQVJZID0gIkFkb2JlIFV0b3BpYSAxMDAgRFBJIGZvbnRzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvZm9udC9hZG9iZS11dG9waWEtMTAwZHBpLyIKK1NFQ1RJT04gPSAieDExL2ZvbnQiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZhMTNlNzA0YjcyNDFmNjBlZjkxMDVjYzA0MWI5NzMyIgorCitERVBFTkRTID0gInV0aWwtbWFjcm9zLW5hdGl2ZSBmb250LXV0aWwtbmF0aXZlIGJkZnRvcGNmLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ID0gImVuY29kaW5ncyBmb250LXV0aWwiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiZm9udC11dGlsLW5hdGl2ZSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiBiZGZ0b3BjZi1uYXRpdmUgLT4gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NmZiNmRlNTYxNjQ4YTZkY2UyNzU1NjIxZDZhZWExNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMTZmNWUzZjIyN2NjNmRkMDdhMTYwYTcxZjQ0MzU1OTY4MmRiYzM1ZjFjMDU2YTUzODUwODVhYWVjNGZhZGE1IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtYmgtMTAwZHBpXzEuMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtYmgtMTAwZHBpXzEuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4ZWQ2YjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1iaC0xMDBkcGlfMS4wLjMuYmIKQEAgLTAsMCArMSwxOCBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLWZvbnQtY29tbW9uLmluYworCitTVU1NQVJZID0gIkJpZ2Vsb3cgJiBIb2xtZXMgMTAwIERQSSBmb250cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2ZvbnQvYmgtMTAwZHBpLyIKK1NFQ1RJT04gPSAieDExL2ZvbnQiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNmZmQ1ZTljNGI2MWIzZDc0MTY2Y2E3NGI5OWU0NjBlIgorCitERVBFTkRTID0gInV0aWwtbWFjcm9zLW5hdGl2ZSBmb250LXV0aWwtbmF0aXZlIGJkZnRvcGNmLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ID0gImVuY29kaW5ncyBmb250LXV0aWwiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiZm9udC11dGlsLW5hdGl2ZSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiBiZGZ0b3BjZi1uYXRpdmUgLT4gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZjExYWRlMDg5ZDY4OWI5ZDU5ZTBmNDdkMjZmMzljZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyM2MwNzE2MjcwOGU0Yjc5ZWIzMzA5NWM4YmZhNjJjNzgzNzE3YTk0MzEyNTRiYmY0NDg2MzczNGVhMjM5NDgxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtYmgtbHVjaWRhdHlwZXdyaXRlci0xMDBkcGlfMS4wLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1iaC1sdWNpZGF0eXBld3JpdGVyLTEwMGRwaV8xLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGVkNDFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtYmgtbHVjaWRhdHlwZXdyaXRlci0xMDBkcGlfMS4wLjMuYmIKQEAgLTAsMCArMSwxOCBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLWZvbnQtY29tbW9uLmluYworCitTVU1NQVJZID0gIkJpZ2Vsb3cgJiBIb2xtZXMgTHVjaWRhIFR5cGV3cml0ZXIgMTAwIERQSSBmb250cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2ZvbnQvYmgtbHVjaWRhdHlwZXdyaXRlci0xMDBkcGkvIgorU0VDVElPTiA9ICJ4MTEvZm9udCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGQyMjFhOWNkMTQ0ODA2Y2I0Njk3MzVjYzQ3NzU5MzkiCisKK0RFUEVORFMgPSAidXRpbC1tYWNyb3MtbmF0aXZlIGZvbnQtdXRpbC1uYXRpdmUgYmRmdG9wY2YtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiZW5jb2RpbmdzIGZvbnQtdXRpbCIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICJmb250LXV0aWwtbmF0aXZlIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIGJkZnRvcGNmLW5hdGl2ZSAtPiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVttZDVzdW1dID0gImM4YjczYTUzZGNlZmUzZThkMzkwN2QzNTAwZTQ4NGE5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYyYTgzMzYzYzI1MzYwOTVmZGE0OWQyNjBkMjFlMDg0NzY3NTY3NmU0ZTM0MTUwNTQwNjRjYmRmZmE2NDFmYmIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1iaXRzdHJlYW0tMTAwZHBpXzEuMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtYml0c3RyZWFtLTEwMGRwaV8xLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOGNmYjYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtYml0c3RyZWFtLTEwMGRwaV8xLjAuMy5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctZm9udC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiQml0c3RyZWFtIDEwMCBEUEkgZm9udHMiCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9mb250L2JpdHN0cmVhbS0xMDBkcGkvIgorU0VDVElPTiA9ICJ4MTEvZm9udCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzAzMzA4MTIzMjRmZjlkOWJkOWVhNjQ1YmI5NDQ0MjciCisKK0RFUEVORFMgPSAidXRpbC1tYWNyb3MtbmF0aXZlIGZvbnQtdXRpbC1uYXRpdmUgYmRmdG9wY2YtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiZW5jb2RpbmdzIGZvbnQtdXRpbCIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICJmb250LXV0aWwtbmF0aXZlIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIGJkZnRvcGNmLW5hdGl2ZSAtPiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjZiMjIzYTU0YjE1ZWNiZDVhMWJjNTIzMTJhZDc5MGQ4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImViZTBkNzQ0NGUzZDdjOGRhNzY0MjA1NWFjMjIwNmYwMTkwZWUwNjA3MDBkOTljZDg3NmY4ZmM5OTY0Y2I2Y2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1jdXJzb3ItbWlzY18xLjAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LWN1cnNvci1taXNjXzEuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0MjVjZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1jdXJzb3ItbWlzY18xLjAuMy5iYgpAQCAtMCwwICsxLDE3IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctZm9udC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWC5vcmcgY3Vyc29yIGZvbnRzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvZm9udC9jdXJzb3ItbWlzYy8iCitTRUNUSU9OID0gIngxMS9mb250IgorTElDRU5TRSA9ICJQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThiMzJjY2FjM2FkMjVlNzVlNjg0NzhkZWI3NzgwMjY1IgorCitERVBFTkRTID0gInV0aWwtbWFjcm9zLW5hdGl2ZSBmb250LXV0aWwtbmF0aXZlIGJkZnRvcGNmLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ID0gImVuY29kaW5ncyBmb250LXV0aWwiCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gYmRmdG9wY2YtbmF0aXZlIC0+IHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2UwMDY5ZDRmMTc4YTM5OWNmZmU1NmRhYTk1YzJiNjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTczNjNlYjM1ZWVjZTJlMDgxNDRkYTVmMDYwYzcwMTAzYjU5ZDA5NzJiNGY0ZDc3ZmQ4NGM5YTdhMmRiYTYzNSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LW1pc2MtbWlzY18xLjEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LW1pc2MtbWlzY18xLjEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hN2MyODRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtbWlzYy1taXNjXzEuMS4yLmJiCkBAIC0wLDAgKzEsMTcgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1mb250LWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYLm9yZyBtaXNjZWxsYW5lb3VzIGZvbnRzIgorSE9NRVBBR0UgPSAiaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvZm9udC9taXNjLW1pc2MvIgorU0VDVElPTiA9ICJ4MTEvZm9udCIKK0xJQ0VOU0UgPSAiUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yMDBjNTA3ZjU5NWVlOTcwMDhjN2M1YzNlOTRhYjlhOCIKKworREVQRU5EUyA9ICJ1dGlsLW1hY3Jvcy1uYXRpdmUgZm9udC11dGlsLW5hdGl2ZSBiZGZ0b3BjZi1uYXRpdmUiCitSREVQRU5EU18ke1BOfSA9ICJlbmNvZGluZ3MgZm9udC11dGlsIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIGJkZnRvcGNmLW5hdGl2ZSAtPiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVttZDVzdW1dID0gImM4OGViNDRiM2I5MDNkNzlmYjQ0Yjg2MGEyMTNlNjIzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI4ZTc3OTQwZTRlMTc2OWRjNDdlZjE4MDU5MThkOGM5YmUzN2M3MDg3MzU4MzJhMDcyMDQyNThiYWNjMTE3OTQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1mb250cy0xMDBkcGkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1mb250cy0xMDBkcGkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU4NDE2YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLWZvbnRzLTEwMGRwaS5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIlhvcmcgMTAwIERQSSBmb250IHNldCIKK0xJQ0VOU0UgPSAiQ3VzdG9tIgorCitpbmhlcml0IHBhY2thZ2Vncm91cCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgcmRlcGVuZHMgb24gZm9udCByZWNpcGVzIHdpdGggdGhpcyByZXN0cmljdGlvbgorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworUkRFUEVORFNfJHtQTn0gPSAiXAorCWZvbnQtYWRvYmUtMTAwZHBpIFwKKwlmb250LWFkb2JlLXV0b3BpYS0xMDBkcGkgXAorCWZvbnQtYmgtMTAwZHBpIFwKKwlmb250LWJoLWx1Y2lkYXR5cGV3cml0ZXItMTAwZHBpIFwKKwlmb250LWJpdHN0cmVhbS0xMDBkcGkgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlibGJ4dXRpbC0xLjEuMC9ta2czc3RhdGVzLTEuMS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmxieHV0aWwtMS4xLjAvbWtnM3N0YXRlcy0xLjEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjlmNGE2MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmxieHV0aWwtMS4xLjAvbWtnM3N0YXRlcy0xLjEucGF0Y2gKQEAgLTAsMCArMSw1NSBAQAorZGlmZiAtdU5yIGxpYmxieHV0aWwtMS4xLjAub3JpZy9jb25maWd1cmUuYWMgbGlibGJ4dXRpbC0xLjEuMC9jb25maWd1cmUuYWMKKy0tLSBsaWJsYnh1dGlsLTEuMS4wLm9yaWcvY29uZmlndXJlLmFjCTIwMDktMTItMDQgMjM6NTI6MDQuMDAwMDAwMDAwICswMTAwCisrKysgbGlibGJ4dXRpbC0xLjEuMC9jb25maWd1cmUuYWMJMjAwOS0xMi0xNiAxMDo0NTowMC4wMDAwMDAwMDAgKzAxMDAKK0BAIC01MCw0ICs1MCw1IEBACisgCisgQUNfT1VUUFVUKFtNYWtlZmlsZQorIAkgICBzcmMvTWFrZWZpbGUKKysJICAgc3JjL2ltYWdlL01ha2VmaWxlCisgCSAgIGxieHV0aWwucGNdKQorZGlmZiAtdU5yIGxpYmxieHV0aWwtMS4xLjAub3JpZy9zcmMvaW1hZ2UvTWFrZWZpbGUuYW0gbGlibGJ4dXRpbC0xLjEuMC9zcmMvaW1hZ2UvTWFrZWZpbGUuYW0KKy0tLSBsaWJsYnh1dGlsLTEuMS4wLm9yaWcvc3JjL2ltYWdlL01ha2VmaWxlLmFtCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgbGlibGJ4dXRpbC0xLjEuMC9zcmMvaW1hZ2UvTWFrZWZpbGUuYW0JMjAwOS0xMi0xNiAxMDo0NTowMC4wMDAwMDAwMDAgKzAxMDAKK0BAIC0wLDAgKzEsMTUgQEAKKysjIGV2aWwgaGFjaworK0NGTEFHUz0kKENGTEFHU19GT1JfQlVJTEQpCisrQ1BQRkxBR1M9JChDUFBGTEFHU19GT1JfQlVJTEQpCisrTERGTEFHUz0kKExERkxBR1NfRk9SX0JVSUxEKQorKworK0NDPSQoQ0NfRk9SX0JVSUxEKQorK0xJQlRPT0wgPSBATElCVE9PTEAgLS10YWc9Q0MKKysKKytub2luc3RfUFJPR1JBTVMgPSBta2czc3RhdGVzCisrCisrbWtnM3N0YXRlc19TT1VSQ0VTID0JCQkJXAorKwlta2czc3RhdGVzLmMKKysKKytta2czc3RhdGVzX0NGTEFHUz0kKENGTEFHU19GT1JfQlVJTEQpCisrbWtnM3N0YXRlc19MREZMQUdTPSQoTERGTEFHU19GT1JfQlVJTEQpCitkaWZmIC11TnIgbGlibGJ4dXRpbC0xLjEuMC5vcmlnL3NyYy9NYWtlZmlsZS5hbSBsaWJsYnh1dGlsLTEuMS4wL3NyYy9NYWtlZmlsZS5hbQorLS0tIGxpYmxieHV0aWwtMS4xLjAub3JpZy9zcmMvTWFrZWZpbGUuYW0JMjAwOS0xMi0xNiAxMDo0ODoxMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJsYnh1dGlsLTEuMS4wL3NyYy9NYWtlZmlsZS5hbQkyMDA5LTEyLTE2IDEwOjQ2OjQ3LjAwMDAwMDAwMCArMDEwMAorQEAgLTMsMTAgKzMsNyBAQAorIEFNX0NGTEFHUyA9ICQoQ1dBUk5GTEFHUykgJChMQlhVVElMX0NGTEFHUykKKyBJTkNMVURFUyA9IC1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlCisgCistbm9pbnN0X1BST0dSQU1TID0gbWtnM3N0YXRlcworLQorLW1rZzNzdGF0ZXNfU09VUkNFUyA9CQkJCVwKKy0JJChzcmNkaXIpL2ltYWdlL21rZzNzdGF0ZXMuYworK1NVQkRJUlMgPSBpbWFnZQorIAorIGxpYmxieHV0aWxfbGFfU09VUkNFUyA9CQkJCVwKKyAJJChzcmNkaXIpL2xieF96bGliL3JlcXN0YXRzLmgJCVwKK0BAIC0zOCw5ICszNSw4IEBACisgCisgJChzcmNkaXIpL2ltYWdlL2RmYXhnNDJkLmM6IGczc3RhdGVzLmgKKyAKKy1nM3N0YXRlcy5oOiBta2czc3RhdGVzCistCS1ybSAtZiBnM3N0YXRlcy5oCistCSQoQU1fVl9HRU4pIC4vbWtnM3N0YXRlcyAtYyA+IGczc3RhdGVzLmhfICYmIG12IGczc3RhdGVzLmhfIGczc3RhdGVzLmgKKytnM3N0YXRlcy5oOiBpbWFnZS9ta2czc3RhdGVzCisrCSQoQU1fVl9HRU4pIC4vaW1hZ2UvbWtnM3N0YXRlcyAtYyA+IGczc3RhdGVzLmhfICYmIG12IGczc3RhdGVzLmhfIGczc3RhdGVzLmgKKyAKKyBsaWJsYnh1dGlsX2xhX0xERkxBR1MgPSAtdmVyc2lvbi1udW1iZXIgMTowOjAgLW5vLXVuZGVmaW5lZAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlibGJ4dXRpbF8xLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmxieHV0aWxfMS4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2QyNmQxNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmxieHV0aWxfMS4xLjAuYmIKQEAgLTAsMCArMSwxNCBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hvcmctbGliLWNvbW1vbi5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjBkNWJkYzk4ZjdlYmFiM2I2YzM3OTFkOWJmNDA5MDciCisKK1NVTU1BUlkgPSAiWEZJWEVTIEV4dGVuc2lvbiIKK0RFUEVORFMgKz0gIiB4ZXh0cHJvdG8geHByb3RvIHpsaWIiCitQRSA9ICIxIgorUFIgPSAicjExIgorCitTUkNfVVJJICs9ICJmaWxlOi8vbWtnM3N0YXRlcy0xLjEucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiMjczMzI5YTc4YzJlOWVhMTg5YWM0MTZjN2ZkZTk0YTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzZiNmZmNzg1OGVjNjE5Y2FmYTgyMDVkZWJjYTZiZjc4YzU2MTBhMjg0NGE3ODJlZDY0M2M3ZmQwMTdjZjhhZSIKKworZXhwb3J0IENDX0ZPUl9CVUlMRCA9ICJnY2MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4YXdfMS4wLjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGF3XzEuMC4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmE1YWMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGF3XzEuMC4xMy5iYgpAQCAtMCwwICsxLDI4IEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveG9yZy1saWItY29tbW9uLmluYworU1VNTUFSWSA9ICJYIEF0aGVuYSBXaWRnZXQgU2V0IgorREVQRU5EUyArPSAieHByb3RvIHZpcnR1YWwvbGlieDExIGxpYnhleHQgeGV4dHByb3RvIGxpYnh0IGxpYnhtdSBsaWJ4cG0gbGlieGF1IHhtbHRvLW5hdGl2ZSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWM2NTcxOWQ0MjkwMGJiODFiODNlODI5M2MyMGEzNjQiCisKK1BFID0gIjEiCitQUiA9ICJyMiIKKworU1JDX1VSSVttZDVzdW1dID0gImU1ZTA2ZWIxNGE2MDhiNTg3NDZiZGQxYzBiZDdiOGUzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhlZjgwNjczMTI1NzEyOTJjY2MyYmJlOTRjNDExMDlkY2YwMjJlYTVhNGVjNzE2NTZhODNkOGNjZTllZGIwY2QiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBsbiAtc2YgbGliWGF3Ni5zby42ICR7RH0ke2xpYmRpcn0vbGliWGF3LnNvLjYKKyAgICBsbiAtc2YgbGliWGF3Ny5zby43ICR7RH0ke2xpYmRpcn0vbGliWGF3LnNvLjcKKyAgICBsbiAtc2YgbGliWGF3Ny5zby43ICR7RH0ke2xpYmRpcn0vbGliWGF3LnNvCit9CisKK1BBQ0tBR0VTID0rICJsaWJ4YXc2IGxpYnhhdzcgbGlieGF3OCIKKworRklMRVNfbGlieGF3NiA9ICIke2xpYmRpcn0vbGliWGF3Ki5zby42KiIKK0ZJTEVTX2xpYnhhdzcgPSAiJHtsaWJkaXJ9L2xpYlhhdyouc28uNyoiCitGSUxFU19saWJ4YXc4ID0gIiR7bGliZGlyfS9saWJYYXc4LnNvLjgqIgorCisjIEF2b2lkIGRlcGVuZGVuY3kgb24gbGlieGF3IGFzIGl0IGlzIG5vdCBidWlsZAorUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKKworWE9SR19QTiA9ICJsaWJYYXciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2J1aV8xLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhrYnVpXzEuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2YTcxN2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2J1aV8xLjAuMi5iYgpAQCAtMCwwICsxLDEwIEBACityZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveG9yZy1saWItY29tbW9uLmluYworU1VNTUFSWSA9ICJYMTEga2V5Ym9hcmQgVUkgcHJlc2VudGF0aW9uIGxpYnJhcnkiCitMSUNFTlNFID0gIkdQTCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQ2NDFkZWRkYWE4MGZlN2NhODhlOTQ0ZTFmZDk0YTk0IgorREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEgbGlieHQgbGlieGtiZmlsZSIKK1BFID0gIjEiCitQUiA9ICJyMTAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxMTQzZTQ1NmY3NDI5ZTE4ZTg4ZjJlYWRiMmYyYjZiMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyMGMyMzEwMWQ2MzIzNGVlNWY2ZDY5NmRmYTA2OWIyOWM2YzU4ZTM5ZWZmNDMzYmNkNzcwNWI1MGIzZmZhMjE0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDAxLUNPUFlJTkctYWRkLUdQTHYyLWxpY2Vuc2UtZmlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwMS1DT1BZSU5HLWFkZC1HUEx2Mi1saWNlbnNlLWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjlkZDcxYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwMS1DT1BZSU5HLWFkZC1HUEx2Mi1saWNlbnNlLWZpbGUucGF0Y2gKQEAgLTAsMCArMSwzNjQgQEAKK0Zyb20gODM0ZmEwNjkyMGY4OGNlZWRmNzUyOTY0YzhlMjk2YzY1M2Q1NDFlNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFl1IEtlIDxrZS55dUBpbnRlbC5jb20+CitEYXRlOiBXZWQsIDExIEFwciAyMDEyIDE0OjI2OjE2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDEvMTJdIENPUFlJTkc6IGFkZCBHUEx2MiBsaWNlbnNlIGZpbGUKKwordGhpcyBpcyBhIGxvY2FsIGZpbGUgcmVjaXBlIGFuZCB0aGUgbGljZW5zZSBmaWxlIGlzIG1pc3NpbmcuSW4gb3JkZXIKK3RvIHBhc3MgdGhlIGxpY2Vuc2UgY2hlY2tzdW0gY2hlY2tpbmcsIHRoZSBsaWNlbnNlIGZpbGUgaXMgbmVlZGVkLiBTbwordGhpcyBwYXRjaCBhZGQgdGhlIEdQTHYyIGxpY2Vuc2UgZmlsZS4KKworU2lnbmVkLW9mZi1ieTogWXUgS2UgPGtlLnl1QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIENPUFlJTkcgfCAgMzM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZXMgY2hhbmdlZCwgMzM5IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IENPUFlJTkcKKworZGlmZiAtLWdpdCBhL0NPUFlJTkcgYi9DT1BZSU5HCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZDUxMTkwNQorLS0tIC9kZXYvbnVsbAorKysrIGIvQ09QWUlORworQEAgLTAsMCArMSwzMzkgQEAKKysJCSAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQorKwkJICAgICAgIFZlcnNpb24gMiwgSnVuZSAxOTkxCisrCisrIENvcHlyaWdodCAoQykgMTk4OSwgMTk5MSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisrIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKysgRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCisrIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgorKworKwkJCSAgICBQcmVhbWJsZQorKworKyAgVGhlIGxpY2Vuc2VzIGZvciBtb3N0IHNvZnR3YXJlIGFyZSBkZXNpZ25lZCB0byB0YWtlIGF3YXkgeW91cgorK2ZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBpdC4gIEJ5IGNvbnRyYXN0LCB0aGUgR05VIEdlbmVyYWwgUHVibGljCisrTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgZnJlZQorK3NvZnR3YXJlLS10byBtYWtlIHN1cmUgdGhlIHNvZnR3YXJlIGlzIGZyZWUgZm9yIGFsbCBpdHMgdXNlcnMuICBUaGlzCisrR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcHBsaWVzIHRvIG1vc3Qgb2YgdGhlIEZyZWUgU29mdHdhcmUKKytGb3VuZGF0aW9uJ3Mgc29mdHdhcmUgYW5kIHRvIGFueSBvdGhlciBwcm9ncmFtIHdob3NlIGF1dGhvcnMgY29tbWl0IHRvCisrdXNpbmcgaXQuICAoU29tZSBvdGhlciBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gc29mdHdhcmUgaXMgY292ZXJlZCBieQorK3RoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW5zdGVhZC4pICBZb3UgY2FuIGFwcGx5IGl0IHRvCisreW91ciBwcm9ncmFtcywgdG9vLgorKworKyAgV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJlLCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZyZWVkb20sIG5vdAorK3ByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdCB5b3UKKytoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCisrdGhpcyBzZXJ2aWNlIGlmIHlvdSB3aXNoKSwgdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0IGl0CisraWYgeW91IHdhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQKKytpbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5kIHRoYXQgeW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuCisrCisrICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkCisrYW55b25lIHRvIGRlbnkgeW91IHRoZXNlIHJpZ2h0cyBvciB0byBhc2sgeW91IHRvIHN1cnJlbmRlciB0aGUgcmlnaHRzLgorK1RoZXNlIHJlc3RyaWN0aW9ucyB0cmFuc2xhdGUgdG8gY2VydGFpbiByZXNwb25zaWJpbGl0aWVzIGZvciB5b3UgaWYgeW91CisrZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZiB5b3UgbW9kaWZ5IGl0LgorKworKyAgRm9yIGV4YW1wbGUsIGlmIHlvdSBkaXN0cmlidXRlIGNvcGllcyBvZiBzdWNoIGEgcHJvZ3JhbSwgd2hldGhlcgorK2dyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IGdpdmUgdGhlIHJlY2lwaWVudHMgYWxsIHRoZSByaWdodHMgdGhhdAorK3lvdSBoYXZlLiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNhbiBnZXQgdGhlCisrc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkga25vdyB0aGVpcgorK3JpZ2h0cy4KKysKKysgIFdlIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCB0d28gc3RlcHM6ICgxKSBjb3B5cmlnaHQgdGhlIHNvZnR3YXJlLCBhbmQKKysoMikgb2ZmZXIgeW91IHRoaXMgbGljZW5zZSB3aGljaCBnaXZlcyB5b3UgbGVnYWwgcGVybWlzc2lvbiB0byBjb3B5LAorK2Rpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGUgc29mdHdhcmUuCisrCisrICBBbHNvLCBmb3IgZWFjaCBhdXRob3IncyBwcm90ZWN0aW9uIGFuZCBvdXJzLCB3ZSB3YW50IHRvIG1ha2UgY2VydGFpbgorK3RoYXQgZXZlcnlvbmUgdW5kZXJzdGFuZHMgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhpcyBmcmVlCisrc29mdHdhcmUuICBJZiB0aGUgc29mdHdhcmUgaXMgbW9kaWZpZWQgYnkgc29tZW9uZSBlbHNlIGFuZCBwYXNzZWQgb24sIHdlCisrd2FudCBpdHMgcmVjaXBpZW50cyB0byBrbm93IHRoYXQgd2hhdCB0aGV5IGhhdmUgaXMgbm90IHRoZSBvcmlnaW5hbCwgc28KKyt0aGF0IGFueSBwcm9ibGVtcyBpbnRyb2R1Y2VkIGJ5IG90aGVycyB3aWxsIG5vdCByZWZsZWN0IG9uIHRoZSBvcmlnaW5hbAorK2F1dGhvcnMnIHJlcHV0YXRpb25zLgorKworKyAgRmluYWxseSwgYW55IGZyZWUgcHJvZ3JhbSBpcyB0aHJlYXRlbmVkIGNvbnN0YW50bHkgYnkgc29mdHdhcmUKKytwYXRlbnRzLiAgV2Ugd2lzaCB0byBhdm9pZCB0aGUgZGFuZ2VyIHRoYXQgcmVkaXN0cmlidXRvcnMgb2YgYSBmcmVlCisrcHJvZ3JhbSB3aWxsIGluZGl2aWR1YWxseSBvYnRhaW4gcGF0ZW50IGxpY2Vuc2VzLCBpbiBlZmZlY3QgbWFraW5nIHRoZQorK3Byb2dyYW0gcHJvcHJpZXRhcnkuICBUbyBwcmV2ZW50IHRoaXMsIHdlIGhhdmUgbWFkZSBpdCBjbGVhciB0aGF0IGFueQorK3BhdGVudCBtdXN0IGJlIGxpY2Vuc2VkIGZvciBldmVyeW9uZSdzIGZyZWUgdXNlIG9yIG5vdCBsaWNlbnNlZCBhdCBhbGwuCisrCisrICBUaGUgcHJlY2lzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZAorK21vZGlmaWNhdGlvbiBmb2xsb3cuCisrCisrCQkgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKysgICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgQ09QWUlORywgRElTVFJJQlVUSU9OIEFORCBNT0RJRklDQVRJT04KKysKKysgIDAuIFRoaXMgTGljZW5zZSBhcHBsaWVzIHRvIGFueSBwcm9ncmFtIG9yIG90aGVyIHdvcmsgd2hpY2ggY29udGFpbnMKKythIG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXIgc2F5aW5nIGl0IG1heSBiZSBkaXN0cmlidXRlZAorK3VuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBUaGUgIlByb2dyYW0iLCBiZWxvdywKKytyZWZlcnMgdG8gYW55IHN1Y2ggcHJvZ3JhbSBvciB3b3JrLCBhbmQgYSAid29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSIKKyttZWFucyBlaXRoZXIgdGhlIFByb2dyYW0gb3IgYW55IGRlcml2YXRpdmUgd29yayB1bmRlciBjb3B5cmlnaHQgbGF3OgorK3RoYXQgaXMgdG8gc2F5LCBhIHdvcmsgY29udGFpbmluZyB0aGUgUHJvZ3JhbSBvciBhIHBvcnRpb24gb2YgaXQsCisrZWl0aGVyIHZlcmJhdGltIG9yIHdpdGggbW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNsYXRlZCBpbnRvIGFub3RoZXIKKytsYW5ndWFnZS4gIChIZXJlaW5hZnRlciwgdHJhbnNsYXRpb24gaXMgaW5jbHVkZWQgd2l0aG91dCBsaW1pdGF0aW9uIGluCisrdGhlIHRlcm0gIm1vZGlmaWNhdGlvbiIuKSAgRWFjaCBsaWNlbnNlZSBpcyBhZGRyZXNzZWQgYXMgInlvdSIuCisrCisrQWN0aXZpdGllcyBvdGhlciB0aGFuIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQgbW9kaWZpY2F0aW9uIGFyZSBub3QKKytjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZTsgdGhleSBhcmUgb3V0c2lkZSBpdHMgc2NvcGUuICBUaGUgYWN0IG9mCisrcnVubmluZyB0aGUgUHJvZ3JhbSBpcyBub3QgcmVzdHJpY3RlZCwgYW5kIHRoZSBvdXRwdXQgZnJvbSB0aGUgUHJvZ3JhbQorK2lzIGNvdmVyZWQgb25seSBpZiBpdHMgY29udGVudHMgY29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQgb24gdGhlCisrUHJvZ3JhbSAoaW5kZXBlbmRlbnQgb2YgaGF2aW5nIGJlZW4gbWFkZSBieSBydW5uaW5nIHRoZSBQcm9ncmFtKS4KKytXaGV0aGVyIHRoYXQgaXMgdHJ1ZSBkZXBlbmRzIG9uIHdoYXQgdGhlIFByb2dyYW0gZG9lcy4KKysKKysgIDEuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhlIFByb2dyYW0ncworK3NvdXJjZSBjb2RlIGFzIHlvdSByZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdQorK2NvbnNwaWN1b3VzbHkgYW5kIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUKKytjb3B5cmlnaHQgbm90aWNlIGFuZCBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5OyBrZWVwIGludGFjdCBhbGwgdGhlCisrbm90aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSBhbmQgdG8gdGhlIGFic2VuY2Ugb2YgYW55IHdhcnJhbnR5OworK2FuZCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBQcm9ncmFtIGEgY29weSBvZiB0aGlzIExpY2Vuc2UKKythbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgorKworK1lvdSBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgcGh5c2ljYWwgYWN0IG9mIHRyYW5zZmVycmluZyBhIGNvcHksIGFuZAorK3lvdSBtYXkgYXQgeW91ciBvcHRpb24gb2ZmZXIgd2FycmFudHkgcHJvdGVjdGlvbiBpbiBleGNoYW5nZSBmb3IgYSBmZWUuCisrCisrICAyLiBZb3UgbWF5IG1vZGlmeSB5b3VyIGNvcHkgb3IgY29waWVzIG9mIHRoZSBQcm9ncmFtIG9yIGFueSBwb3J0aW9uCisrb2YgaXQsIHRodXMgZm9ybWluZyBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0sIGFuZCBjb3B5IGFuZAorK2Rpc3RyaWJ1dGUgc3VjaCBtb2RpZmljYXRpb25zIG9yIHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gMQorK2Fib3ZlLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CisrCisrICAgIGEpIFlvdSBtdXN0IGNhdXNlIHRoZSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcworKyAgICBzdGF0aW5nIHRoYXQgeW91IGNoYW5nZWQgdGhlIGZpbGVzIGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLgorKworKyAgICBiKSBZb3UgbXVzdCBjYXVzZSBhbnkgd29yayB0aGF0IHlvdSBkaXN0cmlidXRlIG9yIHB1Ymxpc2gsIHRoYXQgaW4KKysgICAgd2hvbGUgb3IgaW4gcGFydCBjb250YWlucyBvciBpcyBkZXJpdmVkIGZyb20gdGhlIFByb2dyYW0gb3IgYW55CisrICAgIHBhcnQgdGhlcmVvZiwgdG8gYmUgbGljZW5zZWQgYXMgYSB3aG9sZSBhdCBubyBjaGFyZ2UgdG8gYWxsIHRoaXJkCisrICAgIHBhcnRpZXMgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4KKysKKysgICAgYykgSWYgdGhlIG1vZGlmaWVkIHByb2dyYW0gbm9ybWFsbHkgcmVhZHMgY29tbWFuZHMgaW50ZXJhY3RpdmVseQorKyAgICB3aGVuIHJ1biwgeW91IG11c3QgY2F1c2UgaXQsIHdoZW4gc3RhcnRlZCBydW5uaW5nIGZvciBzdWNoCisrICAgIGludGVyYWN0aXZlIHVzZSBpbiB0aGUgbW9zdCBvcmRpbmFyeSB3YXksIHRvIHByaW50IG9yIGRpc3BsYXkgYW4KKysgICAgYW5ub3VuY2VtZW50IGluY2x1ZGluZyBhbiBhcHByb3ByaWF0ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCBhCisrICAgIG5vdGljZSB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IChvciBlbHNlLCBzYXlpbmcgdGhhdCB5b3UgcHJvdmlkZQorKyAgICBhIHdhcnJhbnR5KSBhbmQgdGhhdCB1c2VycyBtYXkgcmVkaXN0cmlidXRlIHRoZSBwcm9ncmFtIHVuZGVyCisrICAgIHRoZXNlIGNvbmRpdGlvbnMsIGFuZCB0ZWxsaW5nIHRoZSB1c2VyIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzCisrICAgIExpY2Vuc2UuICAoRXhjZXB0aW9uOiBpZiB0aGUgUHJvZ3JhbSBpdHNlbGYgaXMgaW50ZXJhY3RpdmUgYnV0CisrICAgIGRvZXMgbm90IG5vcm1hbGx5IHByaW50IHN1Y2ggYW4gYW5ub3VuY2VtZW50LCB5b3VyIHdvcmsgYmFzZWQgb24KKysgICAgdGhlIFByb2dyYW0gaXMgbm90IHJlcXVpcmVkIHRvIHByaW50IGFuIGFubm91bmNlbWVudC4pCisrCisrVGhlc2UgcmVxdWlyZW1lbnRzIGFwcGx5IHRvIHRoZSBtb2RpZmllZCB3b3JrIGFzIGEgd2hvbGUuICBJZgorK2lkZW50aWZpYWJsZSBzZWN0aW9ucyBvZiB0aGF0IHdvcmsgYXJlIG5vdCBkZXJpdmVkIGZyb20gdGhlIFByb2dyYW0sCisrYW5kIGNhbiBiZSByZWFzb25hYmx5IGNvbnNpZGVyZWQgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGluCisrdGhlbXNlbHZlcywgdGhlbiB0aGlzIExpY2Vuc2UsIGFuZCBpdHMgdGVybXMsIGRvIG5vdCBhcHBseSB0byB0aG9zZQorK3NlY3Rpb25zIHdoZW4geW91IGRpc3RyaWJ1dGUgdGhlbSBhcyBzZXBhcmF0ZSB3b3Jrcy4gIEJ1dCB3aGVuIHlvdQorK2Rpc3RyaWJ1dGUgdGhlIHNhbWUgc2VjdGlvbnMgYXMgcGFydCBvZiBhIHdob2xlIHdoaWNoIGlzIGEgd29yayBiYXNlZAorK29uIHRoZSBQcm9ncmFtLCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZgorK3RoaXMgTGljZW5zZSwgd2hvc2UgcGVybWlzc2lvbnMgZm9yIG90aGVyIGxpY2Vuc2VlcyBleHRlbmQgdG8gdGhlCisrZW50aXJlIHdob2xlLCBhbmQgdGh1cyB0byBlYWNoIGFuZCBldmVyeSBwYXJ0IHJlZ2FyZGxlc3Mgb2Ygd2hvIHdyb3RlIGl0LgorKworK1RodXMsIGl0IGlzIG5vdCB0aGUgaW50ZW50IG9mIHRoaXMgc2VjdGlvbiB0byBjbGFpbSByaWdodHMgb3IgY29udGVzdAorK3lvdXIgcmlnaHRzIHRvIHdvcmsgd3JpdHRlbiBlbnRpcmVseSBieSB5b3U7IHJhdGhlciwgdGhlIGludGVudCBpcyB0bworK2V4ZXJjaXNlIHRoZSByaWdodCB0byBjb250cm9sIHRoZSBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGl2ZSBvcgorK2NvbGxlY3RpdmUgd29ya3MgYmFzZWQgb24gdGhlIFByb2dyYW0uCisrCisrSW4gYWRkaXRpb24sIG1lcmUgYWdncmVnYXRpb24gb2YgYW5vdGhlciB3b3JrIG5vdCBiYXNlZCBvbiB0aGUgUHJvZ3JhbQorK3dpdGggdGhlIFByb2dyYW0gKG9yIHdpdGggYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtKSBvbiBhIHZvbHVtZSBvZgorK2Egc3RvcmFnZSBvciBkaXN0cmlidXRpb24gbWVkaXVtIGRvZXMgbm90IGJyaW5nIHRoZSBvdGhlciB3b3JrIHVuZGVyCisrdGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KKysKKysgIDMuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYSB3b3JrIGJhc2VkIG9uIGl0LAorK3VuZGVyIFNlY3Rpb24gMikgaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHVuZGVyIHRoZSB0ZXJtcyBvZgorK1NlY3Rpb25zIDEgYW5kIDIgYWJvdmUgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBkbyBvbmUgb2YgdGhlIGZvbGxvd2luZzoKKysKKysgICAgYSkgQWNjb21wYW55IGl0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZQorKyAgICBzb3VyY2UgY29kZSwgd2hpY2ggbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMKKysgICAgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCisrCisrICAgIGIpIEFjY29tcGFueSBpdCB3aXRoIGEgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlCisrICAgIHllYXJzLCB0byBnaXZlIGFueSB0aGlyZCBwYXJ0eSwgZm9yIGEgY2hhcmdlIG5vIG1vcmUgdGhhbiB5b3VyCisrICAgIGNvc3Qgb2YgcGh5c2ljYWxseSBwZXJmb3JtaW5nIHNvdXJjZSBkaXN0cmlidXRpb24sIGEgY29tcGxldGUKKysgICAgbWFjaGluZS1yZWFkYWJsZSBjb3B5IG9mIHRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBjb2RlLCB0byBiZQorKyAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bQorKyAgICBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCisrCisrICAgIGMpIEFjY29tcGFueSBpdCB3aXRoIHRoZSBpbmZvcm1hdGlvbiB5b3UgcmVjZWl2ZWQgYXMgdG8gdGhlIG9mZmVyCisrICAgIHRvIGRpc3RyaWJ1dGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZS4gIChUaGlzIGFsdGVybmF0aXZlIGlzCisrICAgIGFsbG93ZWQgb25seSBmb3Igbm9uY29tbWVyY2lhbCBkaXN0cmlidXRpb24gYW5kIG9ubHkgaWYgeW91CisrICAgIHJlY2VpdmVkIHRoZSBwcm9ncmFtIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB3aXRoIHN1Y2gKKysgICAgYW4gb2ZmZXIsIGluIGFjY29yZCB3aXRoIFN1YnNlY3Rpb24gYiBhYm92ZS4pCisrCisrVGhlIHNvdXJjZSBjb2RlIGZvciBhIHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrIGZvcgorK21ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgRm9yIGFuIGV4ZWN1dGFibGUgd29yaywgY29tcGxldGUgc291cmNlCisrY29kZSBtZWFucyBhbGwgdGhlIHNvdXJjZSBjb2RlIGZvciBhbGwgbW9kdWxlcyBpdCBjb250YWlucywgcGx1cyBhbnkKKythc3NvY2lhdGVkIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzLCBwbHVzIHRoZSBzY3JpcHRzIHVzZWQgdG8KKytjb250cm9sIGNvbXBpbGF0aW9uIGFuZCBpbnN0YWxsYXRpb24gb2YgdGhlIGV4ZWN1dGFibGUuICBIb3dldmVyLCBhcyBhCisrc3BlY2lhbCBleGNlcHRpb24sIHRoZSBzb3VyY2UgY29kZSBkaXN0cmlidXRlZCBuZWVkIG5vdCBpbmNsdWRlCisrYW55dGhpbmcgdGhhdCBpcyBub3JtYWxseSBkaXN0cmlidXRlZCAoaW4gZWl0aGVyIHNvdXJjZSBvciBiaW5hcnkKKytmb3JtKSB3aXRoIHRoZSBtYWpvciBjb21wb25lbnRzIChjb21waWxlciwga2VybmVsLCBhbmQgc28gb24pIG9mIHRoZQorK29wZXJhdGluZyBzeXN0ZW0gb24gd2hpY2ggdGhlIGV4ZWN1dGFibGUgcnVucywgdW5sZXNzIHRoYXQgY29tcG9uZW50CisraXRzZWxmIGFjY29tcGFuaWVzIHRoZSBleGVjdXRhYmxlLgorKworK0lmIGRpc3RyaWJ1dGlvbiBvZiBleGVjdXRhYmxlIG9yIG9iamVjdCBjb2RlIGlzIG1hZGUgYnkgb2ZmZXJpbmcKKythY2Nlc3MgdG8gY29weSBmcm9tIGEgZGVzaWduYXRlZCBwbGFjZSwgdGhlbiBvZmZlcmluZyBlcXVpdmFsZW50CisrYWNjZXNzIHRvIGNvcHkgdGhlIHNvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2UgY291bnRzIGFzCisrZGlzdHJpYnV0aW9uIG9mIHRoZSBzb3VyY2UgY29kZSwgZXZlbiB0aG91Z2ggdGhpcmQgcGFydGllcyBhcmUgbm90CisrY29tcGVsbGVkIHRvIGNvcHkgdGhlIHNvdXJjZSBhbG9uZyB3aXRoIHRoZSBvYmplY3QgY29kZS4KKysKKysgIDQuIFlvdSBtYXkgbm90IGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSwgb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbQorK2V4Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQKKytvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gaXMKKyt2b2lkLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2UuCisrSG93ZXZlciwgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsIG9yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIKKyt0aGlzIExpY2Vuc2Ugd2lsbCBub3QgaGF2ZSB0aGVpciBsaWNlbnNlcyB0ZXJtaW5hdGVkIHNvIGxvbmcgYXMgc3VjaAorK3BhcnRpZXMgcmVtYWluIGluIGZ1bGwgY29tcGxpYW5jZS4KKysKKysgIDUuIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UsIHNpbmNlIHlvdSBoYXZlIG5vdAorK3NpZ25lZCBpdC4gIEhvd2V2ZXIsIG5vdGhpbmcgZWxzZSBncmFudHMgeW91IHBlcm1pc3Npb24gdG8gbW9kaWZ5IG9yCisrZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBvciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gIFRoZXNlIGFjdGlvbnMgYXJlCisrcHJvaGliaXRlZCBieSBsYXcgaWYgeW91IGRvIG5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLiAgVGhlcmVmb3JlLCBieQorK21vZGlmeWluZyBvciBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0gKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQorK1Byb2dyYW0pLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzbywgYW5kCisrYWxsIGl0cyB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW5nIG9yIG1vZGlmeWluZworK3RoZSBQcm9ncmFtIG9yIHdvcmtzIGJhc2VkIG9uIGl0LgorKworKyAgNi4gRWFjaCB0aW1lIHlvdSByZWRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQorK1Byb2dyYW0pLCB0aGUgcmVjaXBpZW50IGF1dG9tYXRpY2FsbHkgcmVjZWl2ZXMgYSBsaWNlbnNlIGZyb20gdGhlCisrb3JpZ2luYWwgbGljZW5zb3IgdG8gY29weSwgZGlzdHJpYnV0ZSBvciBtb2RpZnkgdGhlIFByb2dyYW0gc3ViamVjdCB0bworK3RoZXNlIHRlcm1zIGFuZCBjb25kaXRpb25zLiAgWW91IG1heSBub3QgaW1wb3NlIGFueSBmdXJ0aGVyCisrcmVzdHJpY3Rpb25zIG9uIHRoZSByZWNpcGllbnRzJyBleGVyY2lzZSBvZiB0aGUgcmlnaHRzIGdyYW50ZWQgaGVyZWluLgorK1lvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHRvCisrdGhpcyBMaWNlbnNlLgorKworKyAgNy4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudAorK2luZnJpbmdlbWVudCBvciBmb3IgYW55IG90aGVyIHJlYXNvbiAobm90IGxpbWl0ZWQgdG8gcGF0ZW50IGlzc3VlcyksCisrY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgorK290aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QKKytleGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiAgSWYgeW91IGNhbm5vdAorK2Rpc3RyaWJ1dGUgc28gYXMgdG8gc2F0aXNmeSBzaW11bHRhbmVvdXNseSB5b3VyIG9ibGlnYXRpb25zIHVuZGVyIHRoaXMKKytMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91CisrbWF5IG5vdCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiBhIHBhdGVudAorK2xpY2Vuc2Ugd291bGQgbm90IHBlcm1pdCByb3lhbHR5LWZyZWUgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0gYnkKKythbGwgdGhvc2Ugd2hvIHJlY2VpdmUgY29waWVzIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgdGhyb3VnaCB5b3UsIHRoZW4KKyt0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCBpdCBhbmQgdGhpcyBMaWNlbnNlIHdvdWxkIGJlIHRvCisrcmVmcmFpbiBlbnRpcmVseSBmcm9tIGRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbS4KKysKKytJZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMgaGVsZCBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUgdW5kZXIKKythbnkgcGFydGljdWxhciBjaXJjdW1zdGFuY2UsIHRoZSBiYWxhbmNlIG9mIHRoZSBzZWN0aW9uIGlzIGludGVuZGVkIHRvCisrYXBwbHkgYW5kIHRoZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIKKytjaXJjdW1zdGFuY2VzLgorKworK0l0IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gdG8gaW5kdWNlIHlvdSB0byBpbmZyaW5nZSBhbnkKKytwYXRlbnRzIG9yIG90aGVyIHByb3BlcnR5IHJpZ2h0IGNsYWltcyBvciB0byBjb250ZXN0IHZhbGlkaXR5IG9mIGFueQorK3N1Y2ggY2xhaW1zOyB0aGlzIHNlY3Rpb24gaGFzIHRoZSBzb2xlIHB1cnBvc2Ugb2YgcHJvdGVjdGluZyB0aGUKKytpbnRlZ3JpdHkgb2YgdGhlIGZyZWUgc29mdHdhcmUgZGlzdHJpYnV0aW9uIHN5c3RlbSwgd2hpY2ggaXMKKytpbXBsZW1lbnRlZCBieSBwdWJsaWMgbGljZW5zZSBwcmFjdGljZXMuICBNYW55IHBlb3BsZSBoYXZlIG1hZGUKKytnZW5lcm91cyBjb250cmlidXRpb25zIHRvIHRoZSB3aWRlIHJhbmdlIG9mIHNvZnR3YXJlIGRpc3RyaWJ1dGVkCisrdGhyb3VnaCB0aGF0IHN5c3RlbSBpbiByZWxpYW5jZSBvbiBjb25zaXN0ZW50IGFwcGxpY2F0aW9uIG9mIHRoYXQKKytzeXN0ZW07IGl0IGlzIHVwIHRvIHRoZSBhdXRob3IvZG9ub3IgdG8gZGVjaWRlIGlmIGhlIG9yIHNoZSBpcyB3aWxsaW5nCisrdG8gZGlzdHJpYnV0ZSBzb2Z0d2FyZSB0aHJvdWdoIGFueSBvdGhlciBzeXN0ZW0gYW5kIGEgbGljZW5zZWUgY2Fubm90CisraW1wb3NlIHRoYXQgY2hvaWNlLgorKworK1RoaXMgc2VjdGlvbiBpcyBpbnRlbmRlZCB0byBtYWtlIHRob3JvdWdobHkgY2xlYXIgd2hhdCBpcyBiZWxpZXZlZCB0bworK2JlIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHJlc3Qgb2YgdGhpcyBMaWNlbnNlLgorKworKyAgOC4gSWYgdGhlIGRpc3RyaWJ1dGlvbiBhbmQvb3IgdXNlIG9mIHRoZSBQcm9ncmFtIGlzIHJlc3RyaWN0ZWQgaW4KKytjZXJ0YWluIGNvdW50cmllcyBlaXRoZXIgYnkgcGF0ZW50cyBvciBieSBjb3B5cmlnaHRlZCBpbnRlcmZhY2VzLCB0aGUKKytvcmlnaW5hbCBjb3B5cmlnaHQgaG9sZGVyIHdobyBwbGFjZXMgdGhlIFByb2dyYW0gdW5kZXIgdGhpcyBMaWNlbnNlCisrbWF5IGFkZCBhbiBleHBsaWNpdCBnZW9ncmFwaGljYWwgZGlzdHJpYnV0aW9uIGxpbWl0YXRpb24gZXhjbHVkaW5nCisrdGhvc2UgY291bnRyaWVzLCBzbyB0aGF0IGRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgb25seSBpbiBvciBhbW9uZworK2NvdW50cmllcyBub3QgdGh1cyBleGNsdWRlZC4gIEluIHN1Y2ggY2FzZSwgdGhpcyBMaWNlbnNlIGluY29ycG9yYXRlcworK3RoZSBsaW1pdGF0aW9uIGFzIGlmIHdyaXR0ZW4gaW4gdGhlIGJvZHkgb2YgdGhpcyBMaWNlbnNlLgorKworKyAgOS4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMKKytvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gIFN1Y2ggbmV3IHZlcnNpb25zIHdpbGwKKytiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZlciBpbiBkZXRhaWwgdG8KKythZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KKysKKytFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gIElmIHRoZSBQcm9ncmFtCisrc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kICJhbnkKKytsYXRlciB2ZXJzaW9uIiwgeW91IGhhdmUgdGhlIG9wdGlvbiBvZiBmb2xsb3dpbmcgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zCisrZWl0aGVyIG9mIHRoYXQgdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKytTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIFByb2dyYW0gZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24gbnVtYmVyIG9mCisrdGhpcyBMaWNlbnNlLCB5b3UgbWF5IGNob29zZSBhbnkgdmVyc2lvbiBldmVyIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQorK0ZvdW5kYXRpb24uCisrCisrICAxMC4gSWYgeW91IHdpc2ggdG8gaW5jb3Jwb3JhdGUgcGFydHMgb2YgdGhlIFByb2dyYW0gaW50byBvdGhlciBmcmVlCisrcHJvZ3JhbXMgd2hvc2UgZGlzdHJpYnV0aW9uIGNvbmRpdGlvbnMgYXJlIGRpZmZlcmVudCwgd3JpdGUgdG8gdGhlIGF1dGhvcgorK3RvIGFzayBmb3IgcGVybWlzc2lvbi4gIEZvciBzb2Z0d2FyZSB3aGljaCBpcyBjb3B5cmlnaHRlZCBieSB0aGUgRnJlZQorK1NvZnR3YXJlIEZvdW5kYXRpb24sIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHdlIHNvbWV0aW1lcworK21ha2UgZXhjZXB0aW9ucyBmb3IgdGhpcy4gIE91ciBkZWNpc2lvbiB3aWxsIGJlIGd1aWRlZCBieSB0aGUgdHdvIGdvYWxzCisrb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMgb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZAorK29mIHByb21vdGluZyB0aGUgc2hhcmluZyBhbmQgcmV1c2Ugb2Ygc29mdHdhcmUgZ2VuZXJhbGx5LgorKworKwkJCSAgICBOTyBXQVJSQU5UWQorKworKyAgMTEuIEJFQ0FVU0UgVEhFIFBST0dSQU0gSVMgTElDRU5TRUQgRlJFRSBPRiBDSEFSR0UsIFRIRVJFIElTIE5PIFdBUlJBTlRZCisrRk9SIFRIRSBQUk9HUkFNLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWSBBUFBMSUNBQkxFIExBVy4gIEVYQ0VQVCBXSEVOCisrT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUworK1BST1ZJREUgVEhFIFBST0dSQU0gIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTU0VECisrT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKytNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTCisrVE8gVEhFIFFVQUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRSBQUk9HUkFNIElTIFdJVEggWU9VLiAgU0hPVUxEIFRIRQorK1BST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FIFRIRSBDT1NUIE9GIEFMTCBORUNFU1NBUlkgU0VSVklDSU5HLAorK1JFUEFJUiBPUiBDT1JSRUNUSU9OLgorKworKyAgMTIuIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORworK1dJTEwgQU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTUFZIE1PRElGWSBBTkQvT1IKKytSRURJU1RSSUJVVEUgVEhFIFBST0dSQU0gQVMgUEVSTUlUVEVEIEFCT1ZFLCBCRSBMSUFCTEUgVE8gWU9VIEZPUiBEQU1BR0VTLAorK0lOQ0xVRElORyBBTlkgR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORworK09VVCBPRiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQKKytUTyBMT1NTIE9GIERBVEEgT1IgREFUQSBCRUlORyBSRU5ERVJFRCBJTkFDQ1VSQVRFIE9SIExPU1NFUyBTVVNUQUlORUQgQlkKKytZT1UgT1IgVEhJUkQgUEFSVElFUyBPUiBBIEZBSUxVUkUgT0YgVEhFIFBST0dSQU0gVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUgorK1BST0dSQU1TKSwgRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRQorK1BPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFUy4KKysKKysJCSAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCisrCisrCSAgICBIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMKKysKKysgIElmIHlvdSBkZXZlbG9wIGEgbmV3IHByb2dyYW0sIGFuZCB5b3Ugd2FudCBpdCB0byBiZSBvZiB0aGUgZ3JlYXRlc3QKKytwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgdGhlIGJlc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyBpcyB0byBtYWtlIGl0CisrZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCisrCisrICBUbyBkbyBzbywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNhZmVzdAorK3RvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKKytjb252ZXkgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAorK3RoZSAiY29weXJpZ2h0IiBsaW5lIGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGZ1bGwgbm90aWNlIGlzIGZvdW5kLgorKworKyAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgorKyAgICBDb3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgorKworKyAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworKyAgICB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorKyAgICA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorKworK0Fsc28gYWRkIGluZm9ybWF0aW9uIG9uIGhvdyB0byBjb250YWN0IHlvdSBieSBlbGVjdHJvbmljIGFuZCBwYXBlciBtYWlsLgorKworK0lmIHRoZSBwcm9ncmFtIGlzIGludGVyYWN0aXZlLCBtYWtlIGl0IG91dHB1dCBhIHNob3J0IG5vdGljZSBsaWtlIHRoaXMKKyt3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgorKworKyAgICBHbm9tb3Zpc2lvbiB2ZXJzaW9uIDY5LCBDb3B5cmlnaHQgKEMpIHllYXIgbmFtZSBvZiBhdXRob3IKKysgICAgR25vbW92aXNpb24gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZOyBmb3IgZGV0YWlscyB0eXBlIGBzaG93IHcnLgorKyAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CisrICAgIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9uczsgdHlwZSBgc2hvdyBjJyBmb3IgZGV0YWlscy4KKysKKytUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKKytwYXJ0cyBvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIE9mIGNvdXJzZSwgdGhlIGNvbW1hbmRzIHlvdSB1c2UgbWF5CisrYmUgY2FsbGVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGBzaG93IHcnIGFuZCBgc2hvdyBjJzsgdGhleSBjb3VsZCBldmVuIGJlCisrbW91c2UtY2xpY2tzIG9yIG1lbnUgaXRlbXMtLXdoYXRldmVyIHN1aXRzIHlvdXIgcHJvZ3JhbS4KKysKKytZb3Ugc2hvdWxkIGFsc28gZ2V0IHlvdXIgZW1wbG95ZXIgKGlmIHlvdSB3b3JrIGFzIGEgcHJvZ3JhbW1lcikgb3IgeW91cgorK3NjaG9vbCwgaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmCisrbmVjZXNzYXJ5LiAgSGVyZSBpcyBhIHNhbXBsZTsgYWx0ZXIgdGhlIG5hbWVzOgorKworKyAgWW95b2R5bmUsIEluYy4sIGhlcmVieSBkaXNjbGFpbXMgYWxsIGNvcHlyaWdodCBpbnRlcmVzdCBpbiB0aGUgcHJvZ3JhbQorKyAgYEdub21vdmlzaW9uJyAod2hpY2ggbWFrZXMgcGFzc2VzIGF0IGNvbXBpbGVycykgd3JpdHRlbiBieSBKYW1lcyBIYWNrZXIuCisrCisrICA8c2lnbmF0dXJlIG9mIFR5IENvb24+LCAxIEFwcmlsIDE5ODkKKysgIFR5IENvb24sIFByZXNpZGVudCBvZiBWaWNlCisrCisrVGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGRvZXMgbm90IHBlcm1pdCBpbmNvcnBvcmF0aW5nIHlvdXIgcHJvZ3JhbSBpbnRvCisrcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdSBtYXkKKytjb25zaWRlciBpdCBtb3JlIHVzZWZ1bCB0byBwZXJtaXQgbGlua2luZyBwcm9wcmlldGFyeSBhcHBsaWNhdGlvbnMgd2l0aCB0aGUKKytsaWJyYXJ5LiAgSWYgdGhpcyBpcyB3aGF0IHlvdSB3YW50IHRvIGRvLCB1c2UgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbAorK1B1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLgorLS0gCisxLjcuOC41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwMi1hZGQtc2V0ZHBpLVhpbml0LmQtc2NyaXB0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDAyLWFkZC1zZXRkcGktWGluaXQuZC1zY3JpcHQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjNiNTM0NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwMi1hZGQtc2V0ZHBpLVhpbml0LmQtc2NyaXB0LnBhdGNoCkBAIC0wLDAgKzEsMTEyIEBACitGcm9tIDNkMWExYTgyNzMxMTI2Njg5MjdhNmM2YmIzZTM2MWU4OTZmNWIyMjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDExIEFwciAyMDEyIDE0OjI4OjQ1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDIvMTJdIGFkZCBzZXRkcGkgWGluaXQuZCBzY3JpcHQKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgWDExL1hpbml0LmQvNTBzZXRkcGkgfCAgIDkyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBYMTEvWGluaXQuZC81MHNldGRwaQorCitkaWZmIC0tZ2l0IGEvWDExL1hpbml0LmQvNTBzZXRkcGkgYi9YMTEvWGluaXQuZC81MHNldGRwaQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjA0YTJlZGQKKy0tLSAvZGV2L251bGwKKysrKyBiL1gxMS9YaW5pdC5kLzUwc2V0ZHBpCitAQCAtMCwwICsxLDkyIEBACisrIyEgL2Jpbi9zaAorKyMKKysjIENvcHlyaWdodCBNYXR0aGlhcyBIZW50Z2VzIDxkZXZlbEBoZW50Z2VzLm5ldD4gKGMpIDIwMDYKKysjIExpY2Vuc2U6IEdQTCAoc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwudHh0IGZvciBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UpCisrIworKyMgRmlsZW5hbWU6IHNldERQSS5zaAorKyMgRGF0ZTogMDktQXByLTA2CisrCisrIyBUaGlzIHNjcmlwdCBjb25maWd1cmVzIFhmdC5kcGkgZGVwZW5kZW50IG9uIHlvdXIgc2NyZWVucyBEUEkuIFRoaXMgaW5zdXJlcyB0aGF0IHRoZSBzYW1lIGZvbnQtc2l6ZQorKyMgc2V0dGluZyBvZiA3IGNhbiBiZSB1c2VkIG9uIGFsbCBtYWNoaW5lcy4KKysKKysKKytYREVGQVVMVFM9Ii9ldGMvWDExL1hkZWZhdWx0cyIKKysKKysKKysKKytzZXRfZHBpKCkgeworKwkKKysJQ1VSUkVOVF9TRVRUSU5HPSJgY2F0ICR7WERFRkFVTFRTfSB8IHNlZCAtbiAiL1hmdC5kcGlcOi9zLy4qXDpcKC4qXCkvXDEvcCIgfCBzZWQgLW4gInMvXCAvL3AiYCIJCisrCisrCWlmIHRlc3QgIiRDVVJSRU5UX1NFVFRJTkciICE9ICIkMSIKKysJdGhlbgorKwkJZWNobyAiVXNpbmcgWGZ0LmRwaSBvZiAkU0VUX1NDUkVFTl9EUEkgZm9yIHlvdXIgJFNDUkVFTl9EUEkgRFBJIHNjcmVlbiIKKysJCQorKwkJaWYgZ3JlcCAtcSAiWGZ0LmRwaSIgIiRYREVGQVVMVFMiCisrCQl0aGVuCisrCQkJY2F0ICIke1hERUZBVUxUU30iIHwgc2VkICJzL15YZnQuZHBpXDouKi9YZnQuZHBpXDogJFNFVF9TQ1JFRU5fRFBJLyIgPiAiJHtYREVGQVVMVFN9XyIKKysJCQltdiAiJHtYREVGQVVMVFN9XyIgIiR7WERFRkFVTFRTfSIKKysJCWVsc2UKKysJCQllY2hvIC1lICJYZnQuZHBpOiAkU0VUX1NDUkVFTl9EUElcbiIgPj4gIiRYREVGQVVMVFMiCisrCQlmaQorKwllbHNlCisrCQllY2hvICJZb3VyICRTQ1JFRU5fRFBJIERQSSBzY3JlZW4gaXMgYWxyZWFkeSBjb25maWd1cmVkLiIKKysJZmkKKyt9CisrCisrc2V0X3J4dnRfZm9udCgpIHsKKysKKysJQ1VSUkVOVF9TRVRUSU5HPSJgY2F0ICR7WERFRkFVTFRTfSB8IHNlZCAgLW4gIi9SeHZ0XCpmb250L3MvXCguKlxwaXhlbHNpemU9XClcKC4qXCkvXDIvcCJgIgorKworKwlpZiB0ZXN0ICIkMSIgLWd0IDEwMAorKwl0aGVuCisrCQorKwkJIyBDb25maWd1cmUgdGhlIHJ4dnQgZm9udC1zaXplIGZvciB5b3VyIHNjcmVlbiBoZXJlOgorKwkJdGVzdCAiJDEiIC1ndCAxODAgLWEgIiQxIiAtbHQgIjIyMSIgJiYgUlhWVF9GT05UX1NJWkU9MTYKKysJCQorKwkJaWYgdGVzdCAteiAiJFJYVlRfRk9OVF9TSVpFIgorKwkJdGhlbgorKwkJCWVjaG8gIldBUk5JTkc6IE5vIHJ4dnQgZm9udC1zaXplIGNvbmZpZ3VyZWQgZm9yIGEgJFNDUkVFTl9EUEkgRFBJIHNjcmVlbiEiCisrCQkJZWNobyAiRGVmYXVsdGluZyB0byBzaXplIDkiCisrCQkJUlhWVF9GT05UX1NJWkU9OQorKwkJZmkKKysJCQorKwkJaWYgdGVzdCAiJENVUlJFTlRfU0VUVElORyIgIT0gIiRSWFZUX0ZPTlRfU0laRSIKKysJCXRoZW4KKysJCQllY2hvICJVc2luZyBhIHJ4dnQgZm9udC1zaXplIG9mICRSWFZUX0ZPTlRfU0laRSIKKysJCQljYXQgJHtYREVGQVVMVFN9IHwgc2VkICIvUnh2dFwqZm9udC9zL1woLipccGl4ZWxzaXplXClcKD0qLipcKS9cMT0kUlhWVF9GT05UX1NJWkUvIiA+ICR7WERFRkFVTFRTfV8KKysJCQltdiAke1hERUZBVUxUU31fICR7WERFRkFVTFRTfQorKwkJZWxzZQorKwkJCWVjaG8gIlRoZSByeHZ0IGZvbnQtc2l6ZSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWQiCisrCQlmaSAKKysJZmkKKyt9CisrCisraWYgdGVzdCAteiAiJERJU1BMQVkiCisrdGhlbgorKwllY2hvICJESVNQTEFZIGlzIG5vdCBzZXQsIGFib3J0aW5nLi4uIgorKwlleGl0IDAKKytmaQorKworK1NDUkVFTl9EUEk9ImAvdXNyL2Jpbi94ZHB5aW5mbyB8IGdyZXAgImRvdHMgcGVyIGluY2giIHwgYXdrICd7cHJpbnQgJDJ9J3wgc2VkIC1uICJzL1woLipcKXhcKC4qXCkvXDIvcCJgIgorKworK2lmIHRlc3QgLXogIiRTQ1JFRU5fRFBJIgorK3RoZW4KKysJZWNobyAiV0FSTklORzogQ291bGRuJ3QgcmVhZCB5b3VyIHNjcmVlbnMgRFBJLCBkZWZhdWx0aW5nIHRvIDEwMCIKKysJU0NSRUVOX0RQST0xMDAKKytmaQorKworKyMgQ29uZmlndXJlIHlvdXIgc2NyZWVuIGhlcmU6CisrdGVzdCAiJFNDUkVFTl9EUEkiIC1ndCAxODAgLWEgIiRTQ1JFRU5fRFBJIiAtbHQgIjIyMSIgJiYgU0VUX1NDUkVFTl9EUEk9MTYwCisrdGVzdCAiJFNDUkVFTl9EUEkiIC1ndCA5MCAtYSAiJFNDUkVFTl9EUEkiIC1sdCAiMTIxIiAmJiBTRVRfU0NSRUVOX0RQST0xMDAKKysKKysKKytpZiB0ZXN0IC16ICIkU0VUX1NDUkVFTl9EUEkiCisrdGhlbgorKwllY2hvICJXQVJOSU5HOiBObyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm91bmQgZm9yIHlvdXIgJFNDUkVFTl9EUEkgRFBJIHNjcmVlbiEiCisrCWVjaG8gIlVzaW5nIDEwMCBEUEkiCisrCVNFVF9TQ1JFRU5fRFBJPTEwMAorK2ZpCisrCisrc2V0X2RwaSAiJFNFVF9TQ1JFRU5fRFBJIgorK3NldF9yeHZ0X2ZvbnQgIiRTQ1JFRU5fRFBJIgorLS0gCisxLjcuOC41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwMy1hZGQtODl4ZGdhdXRvc3RhcnQtWHNlc3Npb24uZC1zY3JpcHQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMDMtYWRkLTg5eGRnYXV0b3N0YXJ0LVhzZXNzaW9uLmQtc2NyaXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmODA2YTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMDMtYWRkLTg5eGRnYXV0b3N0YXJ0LVhzZXNzaW9uLmQtc2NyaXB0LnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gYTkzYTg2YzJmZjFjYTVlYjM1NjE1ZjRlMTU2ODQwOWZmMzQyYWE3ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTEgQXByIDIwMTIgMTQ6Mjk6NDEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwMy8xMl0gYWRkIDg5eGRnYXV0b3N0YXJ0IFhzZXNzaW9uLmQgc2NyaXB0CisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIFgxMS9Yc2Vzc2lvbi5kLzg5eGRnYXV0b3N0YXJ0IHwgICAgOSArKysrKysrKysKKyAxIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgWDExL1hzZXNzaW9uLmQvODl4ZGdhdXRvc3RhcnQKKworZGlmZiAtLWdpdCBhL1gxMS9Yc2Vzc2lvbi5kLzg5eGRnYXV0b3N0YXJ0IGIvWDExL1hzZXNzaW9uLmQvODl4ZGdhdXRvc3RhcnQKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi45ODg2ZjlmCistLS0gL2Rldi9udWxsCisrKysgYi9YMTEvWHNlc3Npb24uZC84OXhkZ2F1dG9zdGFydAorQEAgLTAsMCArMSw5IEBACisrIyEvYmluL3NoCisrCisrWERHQVVUT1NUQVJUPS9ldGMveGRnL2F1dG9zdGFydAorK2lmIFsgLWQgJFhER0FVVE9TVEFSVCBdIDsgdGhlbgorKyAgICBmb3IgU0NSSVBUIGluICRYREdBVVRPU1RBUlQvKjsgZG8KKysgICAgICAgIENNRD1gZ3JlcCBeRXhlYz0gJFNDUklQVCB8IGN1dCAtZCAnPScgLWYgMmAKKysgICAgICAgICRDTUQgJgorKyAgICBkb25lCisrZmkKKy0tIAorMS43LjguNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMDUtYWRkLVhXaW5kb3dNYW5hZ2VyLVhzZXNzaW9uLmQtc2NyaXB0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDA1LWFkZC1YV2luZG93TWFuYWdlci1Yc2Vzc2lvbi5kLXNjcmlwdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzgyNjY1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDA1LWFkZC1YV2luZG93TWFuYWdlci1Yc2Vzc2lvbi5kLXNjcmlwdC5wYXRjaApAQCAtMCwwICsxLDIzIEBACitGcm9tIGIwMWE1MzJlYmI1MjU1NTJlMjNkNzE2OWEyYWViNTVjNDJiM2VjOTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDExIEFwciAyMDEyIDE0OjMyOjEzICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDUvMTJdIGFkZCBYV2luZG93TWFuYWdlciBYc2Vzc2lvbi5kIHNjcmlwdAorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBYMTEvWHNlc3Npb24uZC85MHhYV2luZG93TWFuYWdlciB8ICAgIDYgKysrKysrCisgMSBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IFgxMS9Yc2Vzc2lvbi5kLzkweFhXaW5kb3dNYW5hZ2VyCisKK0luZGV4OiB4c2VydmVyLWNvbW1vbi0xLjM0L1gxMS9Yc2Vzc2lvbi5kLzkweFhXaW5kb3dNYW5hZ2VyCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgeHNlcnZlci1jb21tb24tMS4zNC9YMTEvWHNlc3Npb24uZC85MHhYV2luZG93TWFuYWdlcgkyMDEyLTA2LTI4IDE1OjAyOjIyLjAxMDUyMTc3MyArMDIwMAorQEAgLTAsMCArMSw3IEBACisraWYgWyAteCAkSE9NRS8uWHNlc3Npb24gXTsgdGhlbgorKyAgICBleGVjICRIT01FLy5Yc2Vzc2lvbgorK2VsaWYgWyAteCAvdXNyL2Jpbi94LXNlc3Npb24tbWFuYWdlciBdOyB0aGVuCisrICAgIGV4ZWMgL3Vzci9iaW4veC1zZXNzaW9uLW1hbmFnZXIKKytlbHNlCisrICAgIGV4ZWMgL3Vzci9iaW4veC13aW5kb3ctbWFuYWdlcgorK2ZpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMDYtYWRkLXN1cHBvcnQtZm9yLWV0Yy1YMTEteHNlcnZlci1zeXN0ZW0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMDYtYWRkLXN1cHBvcnQtZm9yLWV0Yy1YMTEteHNlcnZlci1zeXN0ZW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2VlODU3MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwNi1hZGQtc3VwcG9ydC1mb3ItZXRjLVgxMS14c2VydmVyLXN5c3RlbS5wYXRjaApAQCAtMCwwICsxLDI2IEBACitGcm9tIDBjNDJlMWZiODRjYzJiZmU3NjhiZWQxN2YzYjk3OWFjYTg2OGNmNjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDExIEFwciAyMDEyIDE0OjM0OjQzICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDYvMTJdIGFkZCBzdXBwb3J0IGZvciAvZXRjL1gxMS94c2VydmVyLXN5c3RlbQorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBYMTEveHNlcnZlci1jb21tb24gfCAgICA1ICsrKysrCisgMSBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9YMTEveHNlcnZlci1jb21tb24gYi9YMTEveHNlcnZlci1jb21tb24KK2luZGV4IDRjN2VkNmUuLjZkOGM5ZGYgMTAwNjQ0CistLS0gYS9YMTEveHNlcnZlci1jb21tb24KKysrKyBiL1gxMS94c2VydmVyLWNvbW1vbgorQEAgLTIwNCwzICsyMDQsOCBAQCBmaQorIGlmIFsgIiRYU0VSVkVSIiAhPSAiWG9yZyIgXSA7IHRoZW4KKyAgICAgQVJHUz0iJEFSR1MgJE1PVVNFICRLRFJJVkVBUkdTIgorIGZpCisrCisrIyBsZXQgYSBsb2NhbCBzY3JpcHQgbW9kaWZ5IHRoZSB2YXJpYWJsZXMgICAgICAgICAgICAgICAgICAgIAorK2lmIFsgLWUgL2V0Yy9YMTEveHNlcnZlci1zeXN0ZW0gXSA7IHRoZW4gICAgICAgICAgICAgICAgICAgIAorKyAgICAgICAuIC9ldGMvWDExL3hzZXJ2ZXItc3lzdGVtICAgICAgICAgICAgICAgICAgICAKKytmaSAgICAgICAgICAgICAgICAgICAgCistLSAKKzEuNy44LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDA3LXVzZS1vd24tZnVuY3Rpb25zLWZpbGUtaW5zdGVhZC1ldGMtaW5pdC5kLWZ1bmN0aW9ucy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwNy11c2Utb3duLWZ1bmN0aW9ucy1maWxlLWluc3RlYWQtZXRjLWluaXQuZC1mdW5jdGlvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc5MTIyNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwNy11c2Utb3duLWZ1bmN0aW9ucy1maWxlLWluc3RlYWQtZXRjLWluaXQuZC1mdW5jdGlvbnMucGF0Y2gKQEAgLTAsMCArMSw4NyBAQAorRnJvbSA2M2U2YjlhNTRlMWYxMmRiZjdkZGJmZTMzNzZmZmY0YzM4MjQyMWE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogV2VkLCAxMSBBcHIgMjAxMiAxNDozNjowMiArMDIwMAorU3ViamVjdDogW1BBVENIIDA3LzEyXSB1c2Ugb3duIGZ1bmN0aW9ucyBmaWxlIGluc3RlYWQgL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKKyogc28gd2UgZG9uJ3QgaGF2ZSB0byBkZXBlbmQgb24gaW5pdHNjcmlwdHMKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgTWFrZWZpbGUgICAgICAgICAgICAgfCAgICAxICsKKyBYMTEvWGluaXQuZC8xMXphdXJ1cyB8ICAgIDIgKy0KKyBYMTEvWGluaXQuZC8xMmtleW1hcCB8ICAgIDIgKy0KKyBYMTEvZnVuY3Rpb25zICAgICAgICB8ICAgMTEgKysrKysrKysrKysKKyBYMTEveHNlcnZlci1jb21tb24gICB8ICAgIDIgKy0KKyA1IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IFgxMS9mdW5jdGlvbnMKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IGUyZDlhZjkuLmNhYTVkZTEgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0yMyw2ICsyMyw3IEBAIGluc3RhbGwtcHJvZ3JhbToKKyAJaW5zdGFsbCAtbSA3NTUgWDExL1hzZXJ2ZXIgJChERVNURElSKS9ldGMvWDExL1hzZXJ2ZXIKKyAJaW5zdGFsbCAtbSA3NTUgWDExL1hzZXNzaW9uICQoREVTVERJUikvZXRjL1gxMS9Yc2Vzc2lvbgorIAlpbnN0YWxsIC1tIDc1NSBYMTEveHNlcnZlci1jb21tb24gJChERVNURElSKS9ldGMvWDExL3hzZXJ2ZXItY29tbW9uCisrCWluc3RhbGwgLW0gNzU1IFgxMS9mdW5jdGlvbnMgJChERVNURElSKS9ldGMvWDExL2Z1bmN0aW9ucworIAlpbnN0YWxsIC1kICQoREVTVERJUikvZXRjL1gxMS94bW9kbWFwCisgCWluc3RhbGwgLW0gNjQ0IFgxMS94bW9kbWFwLyoueG1vZG1hcCAkKERFU1RESVIpL2V0Yy9YMTEveG1vZG1hcAorIAlpbnN0YWxsIC1tIDY0NCBYMTEveG1vZG1hcC94bW9kbWFwLSogJChERVNURElSKS9ldGMvWDExL3htb2RtYXAKK2RpZmYgLS1naXQgYS9YMTEvWGluaXQuZC8xMXphdXJ1cyBiL1gxMS9YaW5pdC5kLzExemF1cnVzCitpbmRleCA1NGVhNmY1Li4yM2U3NzEzIDEwMDY0NAorLS0tIGEvWDExL1hpbml0LmQvMTF6YXVydXMKKysrKyBiL1gxMS9YaW5pdC5kLzExemF1cnVzCitAQCAtOCw3ICs4LDcgQEAgZWxzZQorICAgIENIQ0s9Y2hraGluZ2UKKyBmaQorIAorLS4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisrLiAvZXRjL1gxMS9mdW5jdGlvbnMKKyAKKyAkQ0hDSyAtZQorIGlmIFsgJD8gPSAxMiBdOyB0aGVuCitkaWZmIC0tZ2l0IGEvWDExL1hpbml0LmQvMTJrZXltYXAgYi9YMTEvWGluaXQuZC8xMmtleW1hcAoraW5kZXggN2VhYzI5Ni4uYjdhN2YyZCAxMDA2NDQKKy0tLSBhL1gxMS9YaW5pdC5kLzEya2V5bWFwCisrKysgYi9YMTEvWGluaXQuZC8xMmtleW1hcAorQEAgLTEsNiArMSw2IEBACisgIyEvYmluL3NoCisgCistLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKysuIC9ldGMvWDExL2Z1bmN0aW9ucworIAorICMgc2luY2Uga2RyaXZlIDEuNCB0aGVyZSBpcyBubyBkZWZhdWx0IGtleW1hcCBpbiBzZXJ2ZXIKKyB4bW9kbWFwIC0gPC9ldGMvWDExL3htb2RtYXAvZGVmYXVsdC54bW9kbWFwCitkaWZmIC0tZ2l0IGEvWDExL2Z1bmN0aW9ucyBiL1gxMS9mdW5jdGlvbnMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5hMTMxMWFkCistLS0gL2Rldi9udWxsCisrKysgYi9YMTEvZnVuY3Rpb25zCitAQCAtMCwwICsxLDExIEBACisrIyAtKi1TaGVsbC1zY3JpcHQtKi0KKysjCisrIyBmdW5jdGlvbnMgICAgIFRoaXMgZmlsZSBjb250YWlucyBmdW5jdGlvbnMgc2hhcmVkIGJ5IGZldyBYMTEgc2NyaXB0cworKyMgICAgICAgICAgICAgICBtYWNoaW5lX2lkIGFsc28gZXhpc3RzIGluIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucyBidXQgc29tZQorKyMgICAgICAgICAgICAgICBwZW9wbGUgZG9uJ3QgdXNlIGluaXRzY3JpcHRzIGFueW1vcmUKKysjCisrCisrbWFjaGluZV9pZCgpIHsgIyByZXR1cm4gdGhlIG1hY2hpbmUgSUQKKysJYXdrICdCRUdJTiB7IEZTPSI6ICIgfSAvSGFyZHdhcmUvIFwKKysJCXsgZ3N1YigiICIsICJfIiwgJDIpOyBwcmludCB0b2xvd2VyKCQyKSB9ICcgPC9wcm9jL2NwdWluZm8KKyt9CitkaWZmIC0tZ2l0IGEvWDExL3hzZXJ2ZXItY29tbW9uIGIvWDExL3hzZXJ2ZXItY29tbW9uCitpbmRleCA2ZDhjOWRmLi5kZTkyYmI3IDEwMDY0NAorLS0tIGEvWDExL3hzZXJ2ZXItY29tbW9uCisrKysgYi9YMTEveHNlcnZlci1jb21tb24KK0BAIC0zMCw3ICszMCw3IEBAIGlmIFsgLWYgL2V0Yy9wcm9maWxlIF07IHRoZW4KKyAgIC4gL2V0Yy9wcm9maWxlCisgZmkKKyAKKy0uIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworKy4gL2V0Yy9YMTEvZnVuY3Rpb25zCisgCisgZmFsbGJhY2tfc2NyZWVuX2FyZygpIHsKKyAgICAgZ2VvbT1gZmJzZXQgfCBncmVwIGdlb21ldHJ5YAorLS0gCisxLjcuOC41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwOC14c2VydmVyLWNvbW1vbi1hZGQtZHBpLWFuZC1ub2N1cnNvci1wYXJhbXMtZm9yLWd0YTAxLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDA4LXhzZXJ2ZXItY29tbW9uLWFkZC1kcGktYW5kLW5vY3Vyc29yLXBhcmFtcy1mb3ItZ3RhMDEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM1ZTRhNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwOC14c2VydmVyLWNvbW1vbi1hZGQtZHBpLWFuZC1ub2N1cnNvci1wYXJhbXMtZm9yLWd0YTAxLnBhdGNoCkBAIC0wLDAgKzEsNDAgQEAKK0Zyb20gMGVlN2JmODdlMGM4M2FiYzc5ZGUzYTk5ZGZhM2M4N2RkNWM1YjIyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTEgQXByIDIwMTIgMTQ6Mzc6MjkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwOC8xMl0geHNlcnZlci1jb21tb246IGFkZCBkcGkgYW5kIG5vY3Vyc29yIHBhcmFtcyBmb3IgZ3RhMDEKKyBhbmQgZ3RhMDIKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgWDExL3hzZXJ2ZXItY29tbW9uIHwgICAgOCArKysrKystLQorIDEgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvWDExL3hzZXJ2ZXItY29tbW9uIGIvWDExL3hzZXJ2ZXItY29tbW9uCitpbmRleCBkZTkyYmI3Li5mNzZmYTVmIDEwMDY0NAorLS0tIGEvWDExL3hzZXJ2ZXItY29tbW9uCisrKysgYi9YMTEveHNlcnZlci1jb21tb24KK0BAIC0xMzMsMTUgKzEzMywxOSBAQCBlbHNlCisgICAgICAgICAgICAgQVJHUz0iJEFSR1MgLXNjcmVlbiAke1NDUkVFTl9TSVpFfSIKKyAgICAgICAgICAgICBEUEk9IjIyNSIgOzsKKyAgICAgICAgICJndGEwMSIgKQorLSAgICAgICAgICAgIERQST0iMjg1IgorKyAgICAgICAgICAgIERQST0iMjgwIgorICAgICAgICAgICAgIGlmIFsgIiRYU0VSVkVSIiAhPSAiWG9yZyIgXSA7IHRoZW4KKyAgICAgICAgICAgICAgICAgQVJHUz0iJEFSR1MgLXNjcmVlbiA0ODB4NjQwIgorKyAgICAgICAgICAgIGVsc2UKKysgICAgICAgICAgICAgICAgQVJHUz0iJEFSR1MgLWRwaSAke0RQSX0gLW5vY3Vyc29yIgorICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgOzsKKyAgICAgICAgICJndGEwMiIpCistICAgICAgICAgICAgRFBJPSIyODUiCisrICAgICAgICAgICAgRFBJPSIyODAiCisgICAgICAgICAgICAgaWYgWyAiJFhTRVJWRVIiICE9ICJYb3JnIiBdIDsgdGhlbgorICAgICAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtc2NyZWVuICR7U0NSRUVOX1NJWkV9IgorKyAgICAgICAgICAgIGVsc2UKKysgICAgICAgICAgICAgICAgQVJHUz0iJEFSR1MgLWRwaSAke0RQSX0gLW5vY3Vyc29yIgorICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgOzsKKyAgICAgICAgICJtb3Rvcm9sYV9lenhfcGxhdGZvcm0iKQorLS0gCisxLjcuOC41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwOS14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItbjkwMC1hbGlhcy1ub2tpYV9yeC01LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDA5LXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1uOTAwLWFsaWFzLW5va2lhX3J4LTUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWEwYmRlOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAwOS14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItbjkwMC1hbGlhcy1ub2tpYV9yeC01LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gNmQ2Y2FlY2I3MTcyYjliMzNlNzM2NDU2NGIwZTZlYWJmNjdiNmU4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTEgQXByIDIwMTIgMTQ6NDA6MTQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwOS8xMl0geHNlcnZlci1jb21tb246IGFkZCBzdXBwb3J0IGZvciBuOTAwIGFsaWFzCisgbm9raWFfcngtNTFfYm9hcmQKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgWDExL3hzZXJ2ZXItY29tbW9uIHwgICAgNyArKysrKysrCisgMSBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9YMTEveHNlcnZlci1jb21tb24gYi9YMTEveHNlcnZlci1jb21tb24KK2luZGV4IGY3NmZhNWYuLjg2ZWQxN2YgMTAwNjQ0CistLS0gYS9YMTEveHNlcnZlci1jb21tb24KKysrKyBiL1gxMS94c2VydmVyLWNvbW1vbgorQEAgLTEzMiw2ICsxMzIsMTMgQEAgZWxzZQorICAgICAgICAgIm5va2lhX244MDAiIHwgIm5va2lhX3J4LTQ0IiB8ICJub2tpYV9uNzcwIikKKyAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtc2NyZWVuICR7U0NSRUVOX1NJWkV9IgorICAgICAgICAgICAgIERQST0iMjI1IiA7OworKyAgICAgICAgIm5va2lhX3J4LTUxX2JvYXJkIiApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorKyAgICAgICAgICAgIERQST0iMjY3IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorKyAgICAgICAgICAgIGlmIFsgIiRYU0VSVkVSIiAhPSAiWG9yZyIgXSA7IHRoZW4gICAgICAgICAgICAgICAgICAgIAorKyAgICAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtc2NyZWVuICR7U0NSRUVOX1NJWkV9IiAgICAgICAgICAgICAgIAorKyAgICAgICAgICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorKyAgICAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtZHBpICR7RFBJfSAtbm9jdXJzb3IiICAgICAgIAorKyAgICAgICAgICAgIGZpIDs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgImd0YTAxIiApCisgICAgICAgICAgICAgRFBJPSIyODAiCisgICAgICAgICAgICAgaWYgWyAiJFhTRVJWRVIiICE9ICJYb3JnIiBdIDsgdGhlbgorLS0gCisxLjcuOC41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAxMC14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItbmV4dXMtUy1hbGlhcy1oZXJyaW5nLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDEwLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1uZXh1cy1TLWFsaWFzLWhlcnJpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjg4YmU0MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAxMC14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItbmV4dXMtUy1hbGlhcy1oZXJyaW5nLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gNTIwMDNlNmI1MmIxNDE3YzFhMGU1NzI0M2Q4MzM0OWFkZGNkYWNmNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTEgQXByIDIwMTIgMTQ6NDA6NDQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxMC8xMl0geHNlcnZlci1jb21tb246IGFkZCBzdXBwb3J0IGZvciBuZXh1cyBTIGFsaWFzIGhlcnJpbmcKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgWDExL3hzZXJ2ZXItY29tbW9uIHwgICAgMyArKysKKyAxIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL1gxMS94c2VydmVyLWNvbW1vbiBiL1gxMS94c2VydmVyLWNvbW1vbgoraW5kZXggODZlZDE3Zi4uNWM5YTZlYiAxMDA2NDQKKy0tLSBhL1gxMS94c2VydmVyLWNvbW1vbgorKysrIGIvWDExL3hzZXJ2ZXItY29tbW9uCitAQCAtMTI2LDYgKzEyNiw5IEBAIGVsc2UKKyAgICAgICAgICJodGNfdG9ybmFkbyIpCisgICAgICAgICAgICAgQVJHUz0iJEFSR1MgLWhpZGUtY3Vyc29yIgorICAgICAgICAgICAgIERQST0iMTAwIiA7OworKyAgICAgICAgImhlcnJpbmciKQorKyAgICAgICAgICAgIERQST0iMjM1IgorKyAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1kcGkgJHtEUEl9IC1ub2N1cnNvciI7OworICAgICAgICAgImdlbmVyaWNfb21hcDE1MTAvMTYxMC8xNzEwIikKKyAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtc2NyZWVuICR7U0NSRUVOX1NJWkV9IgorICAgICAgICAgICAgIERQST0iMjI1IiA7OworLS0gCisxLjcuOC41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAxMS14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItbmV4dXMtb25lLWFsaWFzLW1haGltLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDExLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1uZXh1cy1vbmUtYWxpYXMtbWFoaW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjgwNDU2ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAxMS14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItbmV4dXMtb25lLWFsaWFzLW1haGltLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gMGVjYzk3OGI3ZDhjYjY4Njc2NDZmYjJhMjk1MjNlYmVmM2FmYTAxNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTEgQXByIDIwMTIgMTQ6NDE6MDYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxMS8xMl0geHNlcnZlci1jb21tb246IGFkZCBzdXBwb3J0IGZvciBuZXh1cyBvbmUgYWxpYXMKKyBtYWhpbWFoaQorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBYMTEveHNlcnZlci1jb21tb24gfCAgICAzICsrKworIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvWDExL3hzZXJ2ZXItY29tbW9uIGIvWDExL3hzZXJ2ZXItY29tbW9uCitpbmRleCA1YzlhNmViLi41NTU5NGZkIDEwMDY0NAorLS0tIGEvWDExL3hzZXJ2ZXItY29tbW9uCisrKysgYi9YMTEveHNlcnZlci1jb21tb24KK0BAIC0xMjksNiArMTI5LDkgQEAgZWxzZQorICAgICAgICAgImhlcnJpbmciKQorICAgICAgICAgICAgIERQST0iMjM1IgorICAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1kcGkgJHtEUEl9IC1ub2N1cnNvciI7OworKyAgICAgICAgIm1haGltYWhpIikKKysgICAgICAgICAgICBEUEk9IjI1NCIKKysgICAgICAgICAgICBBUkdTPSIkQVJHUyAtZHBpICR7RFBJfSI7OworICAgICAgICAgImdlbmVyaWNfb21hcDE1MTAvMTYxMC8xNzEwIikKKyAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtc2NyZWVuICR7U0NSRUVOX1NJWkV9IgorICAgICAgICAgICAgIERQST0iMjI1IiA7OworLS0gCisxLjcuOC41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAxMi14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItZ3RhMDQtYWxpYXMtT3BlblBob2VuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDEyLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci1ndGEwNC1hbGlhcy1PcGVuUGhvZW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRhMDMyOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAxMi14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItZ3RhMDQtYWxpYXMtT3BlblBob2VuLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gZDE5NGYwMzAyNTgyZjFjYTU5OWYyZWE1OGMxNWUxNWY0ZmQ2YmRlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTEgQXByIDIwMTIgMTQ6NDE6NTIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxMi8xMl0geHNlcnZlci1jb21tb246IGFkZCBzdXBwb3J0IGZvciBndGEwNCBhbGlhcworIE9wZW5QaG9lbnV4CisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIFgxMS94c2VydmVyLWNvbW1vbiB8ICAgIDggKysrKysrKysKKyAxIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL1gxMS94c2VydmVyLWNvbW1vbiBiL1gxMS94c2VydmVyLWNvbW1vbgoraW5kZXggNTU1OTRmZC4uNDM0MzMzZSAxMDA2NDQKKy0tLSBhL1gxMS94c2VydmVyLWNvbW1vbgorKysrIGIvWDExL3hzZXJ2ZXItY29tbW9uCitAQCAtMTYxLDYgKzE2MSwxNCBAQCBlbHNlCisgICAgICAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1kcGkgJHtEUEl9IC1ub2N1cnNvciIKKyAgICAgICAgICAgICBmaQorICAgICAgICAgICAgIDs7CisrICAgICAgICAiZ3RhMDQiKQorKyAgICAgICAgICAgIERQST0iMjgwIgorKyAgICAgICAgICAgIGlmIFsgIiRYU0VSVkVSIiAhPSAiWG9yZyIgXSA7IHRoZW4KKysgICAgICAgICAgICAgICAgQVJHUz0iJEFSR1MgLXNjcmVlbiAke1NDUkVFTl9TSVpFfSIKKysgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1kcGkgJHtEUEl9IC1ub2N1cnNvciIKKysgICAgICAgICAgICBmaQorKyAgICAgICAgICAgIDs7CisgICAgICAgICAibW90b3JvbGFfZXp4X3BsYXRmb3JtIikKKyAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtc2NyZWVuIDI0MHgzMjAiCisgICAgICAgICAgICAgRFBJPSIxNzAiIDs7CistLSAKKzEuNy44LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDEzLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci10dW5hLWFsaWFzLUdhbGF4eS1OZXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMTMteHNlcnZlci1jb21tb24tYWRkLXN1cHBvcnQtZm9yLXR1bmEtYWxpYXMtR2FsYXh5LU5leC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTMyMWViCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDEzLXhzZXJ2ZXItY29tbW9uLWFkZC1zdXBwb3J0LWZvci10dW5hLWFsaWFzLUdhbGF4eS1OZXgucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSAxNzZjM2JkM2Q4NmMyMjNmZDQ0YjBmMTViNjJkMzg1MjZiYjNiMGQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogRnJpLCAxNyBBdWcgMjAxMiAxMzowMDo1NiArMDIwMAorU3ViamVjdDogW1BBVENIIDEzLzEzXSB4c2VydmVyLWNvbW1vbjogYWRkIHN1cHBvcnQgZm9yIHR1bmEgYWxpYXMgR2FsYXh5CisgTmV4dXMKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgWDExL3hzZXJ2ZXItY29tbW9uIHwgICAgOCArKysrKysrKworIDEgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvWDExL3hzZXJ2ZXItY29tbW9uIGIvWDExL3hzZXJ2ZXItY29tbW9uCitpbmRleCBkOTMyNWRkLi4wMTdlNWFlIDEwMDY0NAorLS0tIGEvWDExL3hzZXJ2ZXItY29tbW9uCisrKysgYi9YMTEveHNlcnZlci1jb21tb24KK0BAIC0xNjksNiArMTY5LDE0IEBAIGVsc2UKKyAgICAgICAgICAgICAgICAgQVJHUz0iJEFSR1MgLWRwaSAke0RQSX0gLW5vY3Vyc29yIgorICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgOzsKKysgICAgICAgICJ0dW5hIikKKysgICAgICAgICAgICBEUEk9IjMxNiIKKysgICAgICAgICAgICBpZiBbICIkWFNFUlZFUiIgIT0gIlhvcmciIF0gOyB0aGVuCisrICAgICAgICAgICAgICAgIEFSR1M9IiRBUkdTIC1zY3JlZW4gJHtTQ1JFRU5fU0laRX0iCisrICAgICAgICAgICAgZWxzZQorKyAgICAgICAgICAgICAgICBBUkdTPSIkQVJHUyAtZHBpICR7RFBJfSAtbm9jdXJzb3IiCisrICAgICAgICAgICAgZmkKKysgICAgICAgICAgICA7OworICAgICAgICAgIm1vdG9yb2xhX2V6eF9wbGF0Zm9ybSIpCisgICAgICAgICAgICAgQVJHUz0iJEFSR1MgLXNjcmVlbiAyNDB4MzIwIgorICAgICAgICAgICAgIERQST0iMTcwIiA7OworLS0gCisxLjcuOC42CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAxNC1Yc2VydmVyLVN0YXJ0LVhzZXNzaW9uLWxpa2UteDExLWNvbW1vbi1kb2VzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb24tMS4zNC8wMDE0LVhzZXJ2ZXItU3RhcnQtWHNlc3Npb24tbGlrZS14MTEtY29tbW9uLWRvZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWE3NTk2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAxNC1Yc2VydmVyLVN0YXJ0LVhzZXNzaW9uLWxpa2UteDExLWNvbW1vbi1kb2VzLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gODE3MWY4OTk0NDk2OWEwODFiZTFhYzE5M2IyYTU5MDE2ZTM5YTM0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjkgT2N0IDIwMTMgMTc6MDc6MjEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAxNC8xNF0gWHNlcnZlcjogU3RhcnQgWHNlc3Npb24gbGlrZSB4MTEtY29tbW9uIGRvZXMKKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgWDExL1hzZXJ2ZXIgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvWDExL1hzZXJ2ZXIgYi9YMTEvWHNlcnZlcgoraW5kZXggNTU5ZjA1OS4uNGI4ODYzNyAxMDA3NTUKKy0tLSBhL1gxMS9Yc2VydmVyCisrKysgYi9YMTEvWHNlcnZlcgorQEAgLTQsNiArNCw2IEBACisgLiAvZXRjL1gxMS94c2VydmVyLWNvbW1vbgorIAorIGVjaG8gInRzbGliOiAkVFNMSUJfVFNERVZJQ0UiCistZWNobyAiZXhlYyAkWFNFUlZFUiAkQVJHUyAtZHBpICREUEkgJCoiCistZXhlYyAkWFNFUlZFUiAkQVJHUyAtZHBpICREUEkgJCoKKytlY2hvICJleGVjIHhpbml0IC9ldGMvWDExL1hzZXNzaW9uIC0tICRCSU5ESVIvJFhTRVJWRVIgJEFSR1MgLWRwaSAkRFBJICQqIgorIAorK2V4ZWMgeGluaXQgL2V0Yy9YMTEvWHNlc3Npb24gLS0gJEJJTkRJUi8kWFNFUlZFUiAkQVJHUyAtZHBpICREUEkgJCoKKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMTUteHNlcnZlci1jb21tb24tZGlzYWJsZS1UQ1AtY29ubmVjdGlvbnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbi0xLjM0LzAwMTUteHNlcnZlci1jb21tb24tZGlzYWJsZS1UQ1AtY29ubmVjdGlvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZkZjI2MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItY29tbW9uL3hzZXJ2ZXItY29tbW9uLTEuMzQvMDAxNS14c2VydmVyLWNvbW1vbi1kaXNhYmxlLVRDUC1jb25uZWN0aW9ucy5wYXRjaApAQCAtMCwwICsxLDI0IEBACitGcm9tOiBKYXZpZXIgVmlndWVyYSA8amF2aWVyLnZpZ3VlcmFAZGlnaS5jb20+CitEYXRlOiBXZWQsIDI2IE5vdiAyMDE0IDA5OjI0OjQ0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHhzZXJ2ZXItY29tbW9uOiBkaXNhYmxlIFRDUCBjb25uZWN0aW9ucworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEphdmllciBWaWd1ZXJhIDxqYXZpZXIudmlndWVyYUBkaWdpLmNvbT4KKy0tLQorIFgxMS94c2VydmVyLWNvbW1vbiB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL1gxMS94c2VydmVyLWNvbW1vbiBiL1gxMS94c2VydmVyLWNvbW1vbgoraW5kZXggMDE3ZTVhZWUxYWIwLi40ZGM0OGM0MTI3NDEgMTAwNjQ0CistLS0gYS9YMTEveHNlcnZlci1jb21tb24KKysrKyBiL1gxMS94c2VydmVyLWNvbW1vbgorQEAgLTQ0LDcgKzQ0LDcgQEAgU0NSRUVOX1NJWkU9YGZhbGxiYWNrX3NjcmVlbl9hcmdgCisgZXhwb3J0IFVTRVI9cm9vdAorIGV4cG9ydCBYU0VSVkVSX0RFRkFVTFRfT1JJRU5UQVRJT049bm9ybWFsCisgCistQVJHUz0iLWJyIC1wbiAkSU5QVVRfRVhUUkFfQVJHUyIKKytBUkdTPSItYnIgLXBuIC1ub2xpc3RlbiB0Y3AgJElOUFVUX0VYVFJBX0FSR1MiCisgRFBJPSIxMDAiCisgTU9VU0U9IiIKKyBLRFJJVkVBUkdTPSIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLWNvbW1vbi94c2VydmVyLWNvbW1vbl8xLjM0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb25fMS4zNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzE1ZWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1jb21tb24veHNlcnZlci1jb21tb25fMS4zNC5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIkNvbW1vbiBYMTEgc2NyaXB0cyBhbmQgc3VwcG9ydCBmaWxlcyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworUFIgPSAicjgiCisKKyMgd2UgYXJlIHVzaW5nIGEgZ3BlLXN0eWxlIE1ha2VmaWxlCitpbmhlcml0IGdwZQorCitTUkNfVVJJW21kNXN1bV0gPSAiODJmMmY4NGNkOTY2MTBlOGY3YjkyYzcwMGNkMzFjMTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2QwNGMzMzQxOGY3NzZiMWUxM2ZjYzdhZjNkNmJkMGM3Y2NjZDAzZmJhYmQ3ZGJjZDk3Zjg4MTY2Y2MzNDIxMCIKKworU1JDX1VSSV9hcHBlbmQgPSAiIFwKKyAgICBmaWxlOi8vMDAwMS1DT1BZSU5HLWFkZC1HUEx2Mi1saWNlbnNlLWZpbGUucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLWFkZC1zZXRkcGktWGluaXQuZC1zY3JpcHQucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAzLWFkZC04OXhkZ2F1dG9zdGFydC1Yc2Vzc2lvbi5kLXNjcmlwdC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDUtYWRkLVhXaW5kb3dNYW5hZ2VyLVhzZXNzaW9uLmQtc2NyaXB0LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNi1hZGQtc3VwcG9ydC1mb3ItZXRjLVgxMS14c2VydmVyLXN5c3RlbS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDctdXNlLW93bi1mdW5jdGlvbnMtZmlsZS1pbnN0ZWFkLWV0Yy1pbml0LmQtZnVuY3Rpb25zLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwOC14c2VydmVyLWNvbW1vbi1hZGQtZHBpLWFuZC1ub2N1cnNvci1wYXJhbXMtZm9yLWd0YTAxLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwOS14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItbjkwMC1hbGlhcy1ub2tpYV9yeC01LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAxMC14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItbmV4dXMtUy1hbGlhcy1oZXJyaW5nLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAxMS14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItbmV4dXMtb25lLWFsaWFzLW1haGltLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAxMi14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItZ3RhMDQtYWxpYXMtT3BlblBob2VuLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAxMy14c2VydmVyLWNvbW1vbi1hZGQtc3VwcG9ydC1mb3ItdHVuYS1hbGlhcy1HYWxheHktTmV4LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAxNC1Yc2VydmVyLVN0YXJ0LVhzZXNzaW9uLWxpa2UteDExLWNvbW1vbi1kb2VzLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAxNS14c2VydmVyLWNvbW1vbi1kaXNhYmxlLVRDUC1jb25uZWN0aW9ucy5wYXRjaCBcCisiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHNlZCAtaSAnczpeQklORElSPS4qJDpCSU5ESVI9JHtiaW5kaXJ9OicgJHtEfS9ldGMvWDExL3hzZXJ2ZXItY29tbW9uCisgICAgIyBSZW5hbWUgYWxsIFhzZXNzaW9uIGZpbGVzIG5vdCBlbmRpbmcgd2l0aCAuc2gKKyAgICAjIFVuZm9ydHVuYXRlbGx5IHdoZW4geGlucHV0LWNhbGlicmF0b3Igd2FzIG1vdmVkIHRvIG9lLWNvcmUKKyAgICAjIGl0cyBYc2Vzc2lvbiBmaWxlIGdvdCBuYW1lIDMweGlucHV0X2NhbGlicmF0ZS5zaCBhbmQgbHMgLVggc29ydHMgaXQKKyAgICAjIGxhc3QsIG5vdCByZXNwZWN0aW5nIG51bWJlcnMgZm9yIHNvcnRpbmcgdGhlbQorICAgIGZvciBpIGluICR7RH0vJHtzeXNjb25mZGlyfS9YMTEvWHNlc3Npb24uZC8qOyBkbworICAgICAgICBlY2hvICRpIHwgZ3JlcCAnLnNoJCcgfHwgbXYgJGkgJGkuc2gKKyAgICBkb25lCit9CisKK1JERVBFTkRTXyR7UE59ID0gInhtb2RtYXAgeHJhbmRyIHhkcHlpbmZvIGZic2V0IHhpbnB1dC1jYWxpYnJhdG9yIgorCitSQ09ORkxJQ1RTXyR7UE59ID0gInhzZXJ2ZXIta2RyaXZlLWNvbW1vbiB4MTEtY29tbW9uIgorUlJFUExBQ0VTXyR7UE59ID0gInhzZXJ2ZXIta2RyaXZlLWNvbW1vbiB4MTEtY29tbW9uIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0taW5pdC0yLjAvZ3BsdjItbGljZW5zZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbS1pbml0LTIuMC9ncGx2Mi1saWNlbnNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjOTMyNTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0taW5pdC0yLjAvZ3BsdjItbGljZW5zZS5wYXRjaApAQCAtMCwwICsxLDM1MyBAQAorQ09QWUlORzogYWRkIEdQTHYyIGxpY2Vuc2UgZmlsZQorCit0aGlzIGlzIGEgbG9jYWwgZmlsZSByZWNpcGUgYW5kIHRoZSBsaWNlbnNlIGZpbGUgaXMgbWlzc2luZy5JbiBvcmRlcgordG8gcGFzcyB0aGUgbGljZW5zZSBjaGVja3N1bSBjaGVja2luZywgdGhlIGxpY2Vuc2UgZmlsZSBpcyBuZWVkZWQuIFNvCit0aGlzIHBhdGNoIGFkZCB0aGUgR1BMdjIgbGljZW5zZSBmaWxlLgorCitTaWduZWQtb2ZmLWJ5OiBZdSBLZSA8a2UueXVAaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvQ09QWUlORyBiL0NPUFlJTkcKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5kNTExOTA1CistLS0gL2Rldi9udWxsCisrKysgYi9DT1BZSU5HCitAQCAtMCwwICsxLDMzOSBAQAorKwkJICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCisrCQkgICAgICAgVmVyc2lvbiAyLCBKdW5lIDE5OTEKKysKKysgQ29weXJpZ2h0IChDKSAxOTg5LCAxOTkxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKysgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorKyBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKKysgb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCisrCisrCQkJICAgIFByZWFtYmxlCisrCisrICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYXJlIGRlc2lnbmVkIHRvIHRha2UgYXdheSB5b3VyCisrZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGl0LiAgQnkgY29udHJhc3QsIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKytMaWNlbnNlIGlzIGludGVuZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBmcmVlCisrc29mdHdhcmUtLXRvIG1ha2Ugc3VyZSB0aGUgc29mdHdhcmUgaXMgZnJlZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFRoaXMKKytHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8gbW9zdCBvZiB0aGUgRnJlZSBTb2Z0d2FyZQorK0ZvdW5kYXRpb24ncyBzb2Z0d2FyZSBhbmQgdG8gYW55IG90aGVyIHByb2dyYW0gd2hvc2UgYXV0aG9ycyBjb21taXQgdG8KKyt1c2luZyBpdC4gIChTb21lIG90aGVyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBzb2Z0d2FyZSBpcyBjb3ZlcmVkIGJ5CisrdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpbnN0ZWFkLikgIFlvdSBjYW4gYXBwbHkgaXQgdG8KKyt5b3VyIHByb2dyYW1zLCB0b28uCisrCisrICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSwgbm90CisrcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQorK2hhdmUgdGhlIGZyZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5kIGNoYXJnZSBmb3IKKyt0aGlzIHNlcnZpY2UgaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQKKytpZiB5b3Ugd2FudCBpdCwgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgb3IgdXNlIHBpZWNlcyBvZiBpdAorK2luIG5ldyBmcmVlIHByb2dyYW1zOyBhbmQgdGhhdCB5b3Uga25vdyB5b3UgY2FuIGRvIHRoZXNlIHRoaW5ncy4KKysKKysgIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0cmljdGlvbnMgdGhhdCBmb3JiaWQKKythbnlvbmUgdG8gZGVueSB5b3UgdGhlc2UgcmlnaHRzIG9yIHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuCisrVGhlc2UgcmVzdHJpY3Rpb25zIHRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9yIHlvdSBpZiB5b3UKKytkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUgc29mdHdhcmUsIG9yIGlmIHlvdSBtb2RpZnkgaXQuCisrCisrICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCisrZ3JhdGlzIG9yIGZvciBhIGZlZSwgeW91IG11c3QgZ2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0CisreW91IGhhdmUuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUgb3IgY2FuIGdldCB0aGUKKytzb3VyY2UgY29kZS4gIEFuZCB5b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UgdGVybXMgc28gdGhleSBrbm93IHRoZWlyCisrcmlnaHRzLgorKworKyAgV2UgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczogKDEpIGNvcHlyaWdodCB0aGUgc29mdHdhcmUsIGFuZAorKygyKSBvZmZlciB5b3UgdGhpcyBsaWNlbnNlIHdoaWNoIGdpdmVzIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksCisrZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoZSBzb2Z0d2FyZS4KKysKKysgIEFsc28sIGZvciBlYWNoIGF1dGhvcidzIHByb3RlY3Rpb24gYW5kIG91cnMsIHdlIHdhbnQgdG8gbWFrZSBjZXJ0YWluCisrdGhhdCBldmVyeW9uZSB1bmRlcnN0YW5kcyB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGlzIGZyZWUKKytzb2Z0d2FyZS4gIElmIHRoZSBzb2Z0d2FyZSBpcyBtb2RpZmllZCBieSBzb21lb25lIGVsc2UgYW5kIHBhc3NlZCBvbiwgd2UKKyt3YW50IGl0cyByZWNpcGllbnRzIHRvIGtub3cgdGhhdCB3aGF0IHRoZXkgaGF2ZSBpcyBub3QgdGhlIG9yaWdpbmFsLCBzbworK3RoYXQgYW55IHByb2JsZW1zIGludHJvZHVjZWQgYnkgb3RoZXJzIHdpbGwgbm90IHJlZmxlY3Qgb24gdGhlIG9yaWdpbmFsCisrYXV0aG9ycycgcmVwdXRhdGlvbnMuCisrCisrICBGaW5hbGx5LCBhbnkgZnJlZSBwcm9ncmFtIGlzIHRocmVhdGVuZWQgY29uc3RhbnRseSBieSBzb2Z0d2FyZQorK3BhdGVudHMuICBXZSB3aXNoIHRvIGF2b2lkIHRoZSBkYW5nZXIgdGhhdCByZWRpc3RyaWJ1dG9ycyBvZiBhIGZyZWUKKytwcm9ncmFtIHdpbGwgaW5kaXZpZHVhbGx5IG9idGFpbiBwYXRlbnQgbGljZW5zZXMsIGluIGVmZmVjdCBtYWtpbmcgdGhlCisrcHJvZ3JhbSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgd2UgaGF2ZSBtYWRlIGl0IGNsZWFyIHRoYXQgYW55CisrcGF0ZW50IG11c3QgYmUgbGljZW5zZWQgZm9yIGV2ZXJ5b25lJ3MgZnJlZSB1c2Ugb3Igbm90IGxpY2Vuc2VkIGF0IGFsbC4KKysKKysgIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCisrbW9kaWZpY2F0aW9uIGZvbGxvdy4KKysKKysJCSAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQorKyAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElPTgorKworKyAgMC4gVGhpcyBMaWNlbnNlIGFwcGxpZXMgdG8gYW55IHByb2dyYW0gb3Igb3RoZXIgd29yayB3aGljaCBjb250YWlucworK2Egbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlciBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkCisrdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoZSAiUHJvZ3JhbSIsIGJlbG93LAorK3JlZmVycyB0byBhbnkgc3VjaCBwcm9ncmFtIG9yIHdvcmssIGFuZCBhICJ3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtIgorK21lYW5zIGVpdGhlciB0aGUgUHJvZ3JhbSBvciBhbnkgZGVyaXZhdGl2ZSB3b3JrIHVuZGVyIGNvcHlyaWdodCBsYXc6CisrdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZSBQcm9ncmFtIG9yIGEgcG9ydGlvbiBvZiBpdCwKKytlaXRoZXIgdmVyYmF0aW0gb3Igd2l0aCBtb2RpZmljYXRpb25zIGFuZC9vciB0cmFuc2xhdGVkIGludG8gYW5vdGhlcgorK2xhbmd1YWdlLiAgKEhlcmVpbmFmdGVyLCB0cmFuc2xhdGlvbiBpcyBpbmNsdWRlZCB3aXRob3V0IGxpbWl0YXRpb24gaW4KKyt0aGUgdGVybSAibW9kaWZpY2F0aW9uIi4pICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4KKysKKytBY3Rpdml0aWVzIG90aGVyIHRoYW4gY29weWluZywgZGlzdHJpYnV0aW9uIGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdAorK2NvdmVyZWQgYnkgdGhpcyBMaWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gIFRoZSBhY3Qgb2YKKytydW5uaW5nIHRoZSBQcm9ncmFtIGlzIG5vdCByZXN0cmljdGVkLCBhbmQgdGhlIG91dHB1dCBmcm9tIHRoZSBQcm9ncmFtCisraXMgY292ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cyBjb25zdGl0dXRlIGEgd29yayBiYXNlZCBvbiB0aGUKKytQcm9ncmFtIChpbmRlcGVuZGVudCBvZiBoYXZpbmcgYmVlbiBtYWRlIGJ5IHJ1bm5pbmcgdGhlIFByb2dyYW0pLgorK1doZXRoZXIgdGhhdCBpcyB0cnVlIGRlcGVuZHMgb24gd2hhdCB0aGUgUHJvZ3JhbSBkb2VzLgorKworKyAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzCisrc291cmNlIGNvZGUgYXMgeW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91CisrY29uc3BpY3VvdXNseSBhbmQgYXBwcm9wcmlhdGVseSBwdWJsaXNoIG9uIGVhY2ggY29weSBhbiBhcHByb3ByaWF0ZQorK2NvcHlyaWdodCBub3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0IGFsbCB0aGUKKytub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlIGFuZCB0byB0aGUgYWJzZW5jZSBvZiBhbnkgd2FycmFudHk7CisrYW5kIGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFByb2dyYW0gYSBjb3B5IG9mIHRoaXMgTGljZW5zZQorK2Fsb25nIHdpdGggdGhlIFByb2dyYW0uCisrCisrWW91IG1heSBjaGFyZ2UgYSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBhY3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwgYW5kCisreW91IG1heSBhdCB5b3VyIG9wdGlvbiBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdlIGZvciBhIGZlZS4KKysKKysgIDIuIFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBvciBjb3BpZXMgb2YgdGhlIFByb2dyYW0gb3IgYW55IHBvcnRpb24KKytvZiBpdCwgdGh1cyBmb3JtaW5nIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgYW5kIGNvcHkgYW5kCisrZGlzdHJpYnV0ZSBzdWNoIG1vZGlmaWNhdGlvbnMgb3Igd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAxCisrYWJvdmUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoKKysKKysgICAgYSkgWW91IG11c3QgY2F1c2UgdGhlIG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCisrICAgIHN0YXRpbmcgdGhhdCB5b3UgY2hhbmdlZCB0aGUgZmlsZXMgYW5kIHRoZSBkYXRlIG9mIGFueSBjaGFuZ2UuCisrCisrICAgIGIpIFlvdSBtdXN0IGNhdXNlIGFueSB3b3JrIHRoYXQgeW91IGRpc3RyaWJ1dGUgb3IgcHVibGlzaCwgdGhhdCBpbgorKyAgICB3aG9sZSBvciBpbiBwYXJ0IGNvbnRhaW5zIG9yIGlzIGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSBvciBhbnkKKysgICAgcGFydCB0aGVyZW9mLCB0byBiZSBsaWNlbnNlZCBhcyBhIHdob2xlIGF0IG5vIGNoYXJnZSB0byBhbGwgdGhpcmQKKysgICAgcGFydGllcyB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgorKworKyAgICBjKSBJZiB0aGUgbW9kaWZpZWQgcHJvZ3JhbSBub3JtYWxseSByZWFkcyBjb21tYW5kcyBpbnRlcmFjdGl2ZWx5CisrICAgIHdoZW4gcnVuLCB5b3UgbXVzdCBjYXVzZSBpdCwgd2hlbiBzdGFydGVkIHJ1bm5pbmcgZm9yIHN1Y2gKKysgICAgaW50ZXJhY3RpdmUgdXNlIGluIHRoZSBtb3N0IG9yZGluYXJ5IHdheSwgdG8gcHJpbnQgb3IgZGlzcGxheSBhbgorKyAgICBhbm5vdW5jZW1lbnQgaW5jbHVkaW5nIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGEKKysgICAgbm90aWNlIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgKG9yIGVsc2UsIHNheWluZyB0aGF0IHlvdSBwcm92aWRlCisrICAgIGEgd2FycmFudHkpIGFuZCB0aGF0IHVzZXJzIG1heSByZWRpc3RyaWJ1dGUgdGhlIHByb2dyYW0gdW5kZXIKKysgICAgdGhlc2UgY29uZGl0aW9ucywgYW5kIHRlbGxpbmcgdGhlIHVzZXIgaG93IHRvIHZpZXcgYSBjb3B5IG9mIHRoaXMKKysgICAgTGljZW5zZS4gIChFeGNlcHRpb246IGlmIHRoZSBQcm9ncmFtIGl0c2VsZiBpcyBpbnRlcmFjdGl2ZSBidXQKKysgICAgZG9lcyBub3Qgbm9ybWFsbHkgcHJpbnQgc3VjaCBhbiBhbm5vdW5jZW1lbnQsIHlvdXIgd29yayBiYXNlZCBvbgorKyAgICB0aGUgUHJvZ3JhbSBpcyBub3QgcmVxdWlyZWQgdG8gcHJpbnQgYW4gYW5ub3VuY2VtZW50LikKKysKKytUaGVzZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4gIElmCisraWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSwKKythbmQgY2FuIGJlIHJlYXNvbmFibHkgY29uc2lkZXJlZCBpbmRlcGVuZGVudCBhbmQgc2VwYXJhdGUgd29ya3MgaW4KKyt0aGVtc2VsdmVzLCB0aGVuIHRoaXMgTGljZW5zZSwgYW5kIGl0cyB0ZXJtcywgZG8gbm90IGFwcGx5IHRvIHRob3NlCisrc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiAgQnV0IHdoZW4geW91CisrZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYSB3b3JrIGJhc2VkCisrb24gdGhlIFByb2dyYW0sIHRoZSBkaXN0cmlidXRpb24gb2YgdGhlIHdob2xlIG11c3QgYmUgb24gdGhlIHRlcm1zIG9mCisrdGhpcyBMaWNlbnNlLCB3aG9zZSBwZXJtaXNzaW9ucyBmb3Igb3RoZXIgbGljZW5zZWVzIGV4dGVuZCB0byB0aGUKKytlbnRpcmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUgaXQuCisrCisrVGh1cywgaXQgaXMgbm90IHRoZSBpbnRlbnQgb2YgdGhpcyBzZWN0aW9uIHRvIGNsYWltIHJpZ2h0cyBvciBjb250ZXN0CisreW91ciByaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvCisrZXhlcmNpc2UgdGhlIHJpZ2h0IHRvIGNvbnRyb2wgdGhlIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aXZlIG9yCisrY29sbGVjdGl2ZSB3b3JrcyBiYXNlZCBvbiB0aGUgUHJvZ3JhbS4KKysKKytJbiBhZGRpdGlvbiwgbWVyZSBhZ2dyZWdhdGlvbiBvZiBhbm90aGVyIHdvcmsgbm90IGJhc2VkIG9uIHRoZSBQcm9ncmFtCisrd2l0aCB0aGUgUHJvZ3JhbSAob3Igd2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pIG9uIGEgdm9sdW1lIG9mCisrYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsgdW5kZXIKKyt0aGUgc2NvcGUgb2YgdGhpcyBMaWNlbnNlLgorKworKyAgMy4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhIHdvcmsgYmFzZWQgb24gaXQsCisrdW5kZXIgU2VjdGlvbiAyKSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gdW5kZXIgdGhlIHRlcm1zIG9mCisrU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIGRvIG9uZSBvZiB0aGUgZm9sbG93aW5nOgorKworKyAgICBhKSBBY2NvbXBhbnkgaXQgd2l0aCB0aGUgY29tcGxldGUgY29ycmVzcG9uZGluZyBtYWNoaW5lLXJlYWRhYmxlCisrICAgIHNvdXJjZSBjb2RlLCB3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucworKyAgICAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBvciwKKysKKysgICAgYikgQWNjb21wYW55IGl0IHdpdGggYSB3cml0dGVuIG9mZmVyLCB2YWxpZCBmb3IgYXQgbGVhc3QgdGhyZWUKKysgICAgeWVhcnMsIHRvIGdpdmUgYW55IHRoaXJkIHBhcnR5LCBmb3IgYSBjaGFyZ2Ugbm8gbW9yZSB0aGFuIHlvdXIKKysgICAgY29zdCBvZiBwaHlzaWNhbGx5IHBlcmZvcm1pbmcgc291cmNlIGRpc3RyaWJ1dGlvbiwgYSBjb21wbGV0ZQorKyAgICBtYWNoaW5lLXJlYWRhYmxlIGNvcHkgb2YgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUsIHRvIGJlCisrICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtCisrICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBvciwKKysKKysgICAgYykgQWNjb21wYW55IGl0IHdpdGggdGhlIGluZm9ybWF0aW9uIHlvdSByZWNlaXZlZCBhcyB0byB0aGUgb2ZmZXIKKysgICAgdG8gZGlzdHJpYnV0ZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBjb2RlLiAgKFRoaXMgYWx0ZXJuYXRpdmUgaXMKKysgICAgYWxsb3dlZCBvbmx5IGZvciBub25jb21tZXJjaWFsIGRpc3RyaWJ1dGlvbiBhbmQgb25seSBpZiB5b3UKKysgICAgcmVjZWl2ZWQgdGhlIHByb2dyYW0gaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHdpdGggc3VjaAorKyAgICBhbiBvZmZlciwgaW4gYWNjb3JkIHdpdGggU3Vic2VjdGlvbiBiIGFib3ZlLikKKysKKytUaGUgc291cmNlIGNvZGUgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yCisrbWFraW5nIG1vZGlmaWNhdGlvbnMgdG8gaXQuICBGb3IgYW4gZXhlY3V0YWJsZSB3b3JrLCBjb21wbGV0ZSBzb3VyY2UKKytjb2RlIG1lYW5zIGFsbCB0aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueQorK2Fzc29jaWF0ZWQgaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMsIHBsdXMgdGhlIHNjcmlwdHMgdXNlZCB0bworK2NvbnRyb2wgY29tcGlsYXRpb24gYW5kIGluc3RhbGxhdGlvbiBvZiB0aGUgZXhlY3V0YWJsZS4gIEhvd2V2ZXIsIGFzIGEKKytzcGVjaWFsIGV4Y2VwdGlvbiwgdGhlIHNvdXJjZSBjb2RlIGRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUKKythbnl0aGluZyB0aGF0IGlzIG5vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yIGJpbmFyeQorK2Zvcm0pIHdpdGggdGhlIG1ham9yIGNvbXBvbmVudHMgKGNvbXBpbGVyLCBrZXJuZWwsIGFuZCBzbyBvbikgb2YgdGhlCisrb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGljaCB0aGUgZXhlY3V0YWJsZSBydW5zLCB1bmxlc3MgdGhhdCBjb21wb25lbnQKKytpdHNlbGYgYWNjb21wYW5pZXMgdGhlIGV4ZWN1dGFibGUuCisrCisrSWYgZGlzdHJpYnV0aW9uIG9mIGV4ZWN1dGFibGUgb3Igb2JqZWN0IGNvZGUgaXMgbWFkZSBieSBvZmZlcmluZworK2FjY2VzcyB0byBjb3B5IGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQKKythY2Nlc3MgdG8gY29weSB0aGUgc291cmNlIGNvZGUgZnJvbSB0aGUgc2FtZSBwbGFjZSBjb3VudHMgYXMKKytkaXN0cmlidXRpb24gb2YgdGhlIHNvdXJjZSBjb2RlLCBldmVuIHRob3VnaCB0aGlyZCBwYXJ0aWVzIGFyZSBub3QKKytjb21wZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgorKworKyAgNC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtCisrZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkgYXR0ZW1wdAorK290aGVyd2lzZSB0byBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2Ugb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBpcworK3ZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZS4KKytIb3dldmVyLCBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcywgb3IgcmlnaHRzLCBmcm9tIHlvdSB1bmRlcgorK3RoaXMgTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRoZWlyIGxpY2Vuc2VzIHRlcm1pbmF0ZWQgc28gbG9uZyBhcyBzdWNoCisrcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgorKworKyAgNS4gWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNjZXB0IHRoaXMgTGljZW5zZSwgc2luY2UgeW91IGhhdmUgbm90Cisrc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKKytkaXN0cmlidXRlIHRoZSBQcm9ncmFtIG9yIGl0cyBkZXJpdmF0aXZlIHdvcmtzLiAgVGhlc2UgYWN0aW9ucyBhcmUKKytwcm9oaWJpdGVkIGJ5IGxhdyBpZiB5b3UgZG8gbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuICBUaGVyZWZvcmUsIGJ5CisrbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCisrUHJvZ3JhbSksIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvIGRvIHNvLCBhbmQKKythbGwgaXRzIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpbmcgb3IgbW9kaWZ5aW5nCisrdGhlIFByb2dyYW0gb3Igd29ya3MgYmFzZWQgb24gaXQuCisrCisrICA2LiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCisrUHJvZ3JhbSksIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUKKytvcmlnaW5hbCBsaWNlbnNvciB0byBjb3B5LCBkaXN0cmlidXRlIG9yIG1vZGlmeSB0aGUgUHJvZ3JhbSBzdWJqZWN0IHRvCisrdGhlc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMuICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIKKytyZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uCisrWW91IGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGVuZm9yY2luZyBjb21wbGlhbmNlIGJ5IHRoaXJkIHBhcnRpZXMgdG8KKyt0aGlzIExpY2Vuc2UuCisrCisrICA3LiBJZiwgYXMgYSBjb25zZXF1ZW5jZSBvZiBhIGNvdXJ0IGp1ZGdtZW50IG9yIGFsbGVnYXRpb24gb2YgcGF0ZW50CisraW5mcmluZ2VtZW50IG9yIGZvciBhbnkgb3RoZXIgcmVhc29uIChub3QgbGltaXRlZCB0byBwYXRlbnQgaXNzdWVzKSwKKytjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCisrb3RoZXJ3aXNlKSB0aGF0IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdAorK2V4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90CisrZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcworK0xpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UKKyttYXkgbm90IGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gYXQgYWxsLiAgRm9yIGV4YW1wbGUsIGlmIGEgcGF0ZW50CisrbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBieQorK2FsbCB0aG9zZSB3aG8gcmVjZWl2ZSBjb3BpZXMgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSB0aHJvdWdoIHlvdSwgdGhlbgorK3RoZSBvbmx5IHdheSB5b3UgY291bGQgc2F0aXNmeSBib3RoIGl0IGFuZCB0aGlzIExpY2Vuc2Ugd291bGQgYmUgdG8KKytyZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtLgorKworK0lmIGFueSBwb3J0aW9uIG9mIHRoaXMgc2VjdGlvbiBpcyBoZWxkIGludmFsaWQgb3IgdW5lbmZvcmNlYWJsZSB1bmRlcgorK2FueSBwYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8KKythcHBseSBhbmQgdGhlIHNlY3Rpb24gYXMgYSB3aG9sZSBpcyBpbnRlbmRlZCB0byBhcHBseSBpbiBvdGhlcgorK2NpcmN1bXN0YW5jZXMuCisrCisrSXQgaXMgbm90IHRoZSBwdXJwb3NlIG9mIHRoaXMgc2VjdGlvbiB0byBpbmR1Y2UgeW91IHRvIGluZnJpbmdlIGFueQorK3BhdGVudHMgb3Igb3RoZXIgcHJvcGVydHkgcmlnaHQgY2xhaW1zIG9yIHRvIGNvbnRlc3QgdmFsaWRpdHkgb2YgYW55Cisrc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUgcHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZQorK2ludGVncml0eSBvZiB0aGUgZnJlZSBzb2Z0d2FyZSBkaXN0cmlidXRpb24gc3lzdGVtLCB3aGljaCBpcworK2ltcGxlbWVudGVkIGJ5IHB1YmxpYyBsaWNlbnNlIHByYWN0aWNlcy4gIE1hbnkgcGVvcGxlIGhhdmUgbWFkZQorK2dlbmVyb3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKKyt0aHJvdWdoIHRoYXQgc3lzdGVtIGluIHJlbGlhbmNlIG9uIGNvbnNpc3RlbnQgYXBwbGljYXRpb24gb2YgdGhhdAorK3N5c3RlbTsgaXQgaXMgdXAgdG8gdGhlIGF1dGhvci9kb25vciB0byBkZWNpZGUgaWYgaGUgb3Igc2hlIGlzIHdpbGxpbmcKKyt0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKKytpbXBvc2UgdGhhdCBjaG9pY2UuCisrCisrVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvCisrYmUgYSBjb25zZXF1ZW5jZSBvZiB0aGUgcmVzdCBvZiB0aGlzIExpY2Vuc2UuCisrCisrICA4LiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIFByb2dyYW0gaXMgcmVzdHJpY3RlZCBpbgorK2NlcnRhaW4gY291bnRyaWVzIGVpdGhlciBieSBwYXRlbnRzIG9yIGJ5IGNvcHlyaWdodGVkIGludGVyZmFjZXMsIHRoZQorK29yaWdpbmFsIGNvcHlyaWdodCBob2xkZXIgd2hvIHBsYWNlcyB0aGUgUHJvZ3JhbSB1bmRlciB0aGlzIExpY2Vuc2UKKyttYXkgYWRkIGFuIGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcKKyt0aG9zZSBjb3VudHJpZXMsIHNvIHRoYXQgZGlzdHJpYnV0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGluIG9yIGFtb25nCisrY291bnRyaWVzIG5vdCB0aHVzIGV4Y2x1ZGVkLiAgSW4gc3VjaCBjYXNlLCB0aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzCisrdGhlIGxpbWl0YXRpb24gYXMgaWYgd3JpdHRlbiBpbiB0aGUgYm9keSBvZiB0aGlzIExpY2Vuc2UuCisrCisrICA5LiBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucworK29mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMgd2lsbAorK2JlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bworK2FkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLgorKworK0VhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlIFByb2dyYW0KKytzcGVjaWZpZXMgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGlzIExpY2Vuc2Ugd2hpY2ggYXBwbGllcyB0byBpdCBhbmQgImFueQorK2xhdGVyIHZlcnNpb24iLCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMKKytlaXRoZXIgb2YgdGhhdCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorK1NvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YKKyt0aGlzIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCisrRm91bmRhdGlvbi4KKysKKysgIDEwLiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUgUHJvZ3JhbSBpbnRvIG90aGVyIGZyZWUKKytwcm9ncmFtcyB3aG9zZSBkaXN0cmlidXRpb24gY29uZGl0aW9ucyBhcmUgZGlmZmVyZW50LCB3cml0ZSB0byB0aGUgYXV0aG9yCisrdG8gYXNrIGZvciBwZXJtaXNzaW9uLiAgRm9yIHNvZnR3YXJlIHdoaWNoIGlzIGNvcHlyaWdodGVkIGJ5IHRoZSBGcmVlCisrU29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzCisrbWFrZSBleGNlcHRpb25zIGZvciB0aGlzLiAgT3VyIGRlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMKKytvZiBwcmVzZXJ2aW5nIHRoZSBmcmVlIHN0YXR1cyBvZiBhbGwgZGVyaXZhdGl2ZXMgb2Ygb3VyIGZyZWUgc29mdHdhcmUgYW5kCisrb2YgcHJvbW90aW5nIHRoZSBzaGFyaW5nIGFuZCByZXVzZSBvZiBzb2Z0d2FyZSBnZW5lcmFsbHkuCisrCisrCQkJICAgIE5PIFdBUlJBTlRZCisrCisrICAxMS4gQkVDQVVTRSBUSEUgUFJPR1JBTSBJUyBMSUNFTlNFRCBGUkVFIE9GIENIQVJHRSwgVEhFUkUgSVMgTk8gV0FSUkFOVFkKKytGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZIEFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4KKytPVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTCisrUFJPVklERSBUSEUgUFJPR1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQKKytPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorK01FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMKKytUTyBUSEUgUVVBTElUWSBBTkQgUEVSRk9STUFOQ0UgT0YgVEhFIFBST0dSQU0gSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFCisrUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YgQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsCisrUkVQQUlSIE9SIENPUlJFQ1RJT04uCisrCisrICAxMi4gSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTiBXUklUSU5HCisrV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNQVkgTU9ESUZZIEFORC9PUgorK1JFRElTVFJJQlVURSBUSEUgUFJPR1JBTSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsCisrSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HCisrT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgUFJPR1JBTSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRAorK1RPIExPU1MgT0YgREFUQSBPUiBEQVRBIEJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWQorK1lPVSBPUiBUSElSRCBQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSCisrUFJPR1JBTVMpLCBFVkVOIElGIFNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFCisrUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VTLgorKworKwkJICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKKysKKysJICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcworKworKyAgSWYgeW91IGRldmVsb3AgYSBuZXcgcHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdAorK3Bvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKKytmcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1dGUgYW5kIGNoYW5nZSB1bmRlciB0aGVzZSB0ZXJtcy4KKysKKysgIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CisrdG8gYXR0YWNoIHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVseQorK2NvbnZleSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNob3VsZCBoYXZlIGF0IGxlYXN0CisrdGhlICJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuCisrCisrICAgIDxvbmUgbGluZSB0byBnaXZlIHRoZSBwcm9ncmFtJ3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+CisrICAgIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+CisrCisrICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisrICAgIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisrICAgIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisrCisrQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCisrCisrSWYgdGhlIHByb2dyYW0gaXMgaW50ZXJhY3RpdmUsIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQgbm90aWNlIGxpa2UgdGhpcworK3doZW4gaXQgc3RhcnRzIGluIGFuIGludGVyYWN0aXZlIG1vZGU6CisrCisrICAgIEdub21vdmlzaW9uIHZlcnNpb24gNjksIENvcHlyaWdodCAoQykgeWVhciBuYW1lIG9mIGF1dGhvcgorKyAgICBHbm9tb3Zpc2lvbiBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCisrICAgIFRoaXMgaXMgZnJlZSBzb2Z0d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRpc3RyaWJ1dGUgaXQKKysgICAgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zOyB0eXBlIGBzaG93IGMnIGZvciBkZXRhaWxzLgorKworK1RoZSBoeXBvdGhldGljYWwgY29tbWFuZHMgYHNob3cgdycgYW5kIGBzaG93IGMnIHNob3VsZCBzaG93IHRoZSBhcHByb3ByaWF0ZQorK3BhcnRzIG9mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgT2YgY291cnNlLCB0aGUgY29tbWFuZHMgeW91IHVzZSBtYXkKKytiZSBjYWxsZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYHNob3cgdycgYW5kIGBzaG93IGMnOyB0aGV5IGNvdWxkIGV2ZW4gYmUKKyttb3VzZS1jbGlja3Mgb3IgbWVudSBpdGVtcy0td2hhdGV2ZXIgc3VpdHMgeW91ciBwcm9ncmFtLgorKworK1lvdSBzaG91bGQgYWxzbyBnZXQgeW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5b3VyCisrc2Nob29sLCBpZiBhbnksIHRvIHNpZ24gYSAiY29weXJpZ2h0IGRpc2NsYWltZXIiIGZvciB0aGUgcHJvZ3JhbSwgaWYKKytuZWNlc3NhcnkuICBIZXJlIGlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFtZXM6CisrCisrICBZb3lvZHluZSwgSW5jLiwgaGVyZWJ5IGRpc2NsYWltcyBhbGwgY29weXJpZ2h0IGludGVyZXN0IGluIHRoZSBwcm9ncmFtCisrICBgR25vbW92aXNpb24nICh3aGljaCBtYWtlcyBwYXNzZXMgYXQgY29tcGlsZXJzKSB3cml0dGVuIGJ5IEphbWVzIEhhY2tlci4KKysKKysgIDxzaWduYXR1cmUgb2YgVHkgQ29vbj4sIDEgQXByaWwgMTk4OQorKyAgVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UKKysKKytUaGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtIGludG8KKytwcm9wcmlldGFyeSBwcm9ncmFtcy4gIElmIHlvdXIgcHJvZ3JhbSBpcyBhIHN1YnJvdXRpbmUgbGlicmFyeSwgeW91IG1heQorK2NvbnNpZGVyIGl0IG1vcmUgdXNlZnVsIHRvIHBlcm1pdCBsaW5raW5nIHByb3ByaWV0YXJ5IGFwcGxpY2F0aW9ucyB3aXRoIHRoZQorK2xpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsCisrUHVibGljIExpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0taW5pdC0yLjAveHNlcnZlci1ub2RtIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1ub2RtLWluaXQveHNlcnZlci1ub2RtLWluaXQtMi4wL3hzZXJ2ZXItbm9kbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZDdlOGEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1ub2RtLWluaXQveHNlcnZlci1ub2RtLWluaXQtMi4wL3hzZXJ2ZXItbm9kbQpAQCAtMCwwICsxLDYwIEBACisjIS9iaW4vc2gKKyMKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6IHhzZXJ2ZXIKKyMgUmVxdWlyZWQtU3RhcnQ6ICRsb2NhbF9mcyAkcmVtb3RlX2ZzIGRidXMKKyMgUmVxdWlyZWQtU3RvcDogJGxvY2FsX2ZzICRyZW1vdGVfZnMKKyMgRGVmYXVsdC1TdGFydDogICAgIDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSAyIDMgNgorIyMjIEVORCBJTklUIElORk8KKworCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCitmb3IgeCBpbiAkKGNhdCAvcHJvYy9jbWRsaW5lKTsgZG8KKyAgICAgICAgY2FzZSAkeCBpbgorICAgICAgICB4MTE9ZmFsc2UpCisJCWVjaG8gIlggU2VydmVyIGRpc2FibGVkIiAKKwkJZXhpdCAwOworICAgICAgICAgICAgICAgIDs7CisgICAgICAgIGVzYWMKK2RvbmUKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgICMgV2UgZG9uJ3Qgd2FudCB0aGlzIHNjcmlwdCB0byBibG9jayB0aGUgcmVzdCBvZiB0aGUgYm9vdCBwcm9jZXNzCisgICAgaWYgWyAiJDIiICE9ICJiYWNrZ3JvdW5kIiBdOyB0aGVuCisgICAgICAkMCAkMSBiYWNrZ3JvdW5kICYKKyAgICBlbHNlCisgICAgICAgIyB3b3JrIGFyb3VuZCBmcm9tIC9ldGMvWDExL1hpbml0CisgICAgICAgZXhwb3J0IFVTRVI9cm9vdAorICAgICAgIGV4cG9ydCBIT01FPS9ob21lL3Jvb3QKKyAgICAgICBpZiBbICEgLWQgJEhPTUUgXSAmJiBbIC1kIC9yb290IF07IHRoZW4KKyAgICAgICAgIEhPTUU9L3Jvb3QKKyAgICAgICBmaQorCisgICAgICAgLiAvZXRjL3Byb2ZpbGUKKworICAgICAgIGVjaG8gIlN0YXJ0aW5nIFhzZXJ2ZXIiCisgICAgICAgLiAvZXRjL1gxMS94c2VydmVyLWNvbW1vbgorICAgICAgIHhpbml0IC9ldGMvWDExL1hzZXNzaW9uIC0tIGB3aGljaCAkWFNFUlZFUmAgJEFSR1MgPi92YXIvbG9nL1hzZXNzaW9uLmxvZyAyPiYxCisgICAgZmkgCisgIDs7CisKKyAgc3RvcCkKKyAgICAgICAgZWNobyAiU3RvcHBpbmcgWFNlcnZlciIKKyAgICAgICAga2lsbHByb2MgeGluaXQKKyAgOzsKKworICByZXN0YXJ0KQorCSQwIHN0b3AKKyAgICAgICAgc2xlZXAgMQorICAgICAgICAkMCBzdGFydAorICA7OworCisgICopCisgICAgICAgIGVjaG8gInVzYWdlOiAkMCB7IHN0YXJ0IHwgc3RvcCB8IHJlc3RhcnQgfSIKKyAgOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0taW5pdC0yLjAveHNlcnZlci1ub2RtLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0taW5pdC0yLjAveHNlcnZlci1ub2RtLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2MwNTgyYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbS1pbml0LTIuMC94c2VydmVyLW5vZG0uY29uZgpAQCAtMCwwICsxIEBACitIT01FPS9ob21lL3Jvb3QKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbS1pbml0LTIuMC94c2VydmVyLW5vZG0uc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbS1pbml0LTIuMC94c2VydmVyLW5vZG0uc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGQyMjFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveHNlcnZlci1ub2RtLWluaXQveHNlcnZlci1ub2RtLWluaXQtMi4wL3hzZXJ2ZXItbm9kbS5zZXJ2aWNlCkBAIC0wLDAgKzEsOSBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1Yc2VydmVyIHN0YXJ0dXAgd2l0aCBhIGRpc3BsYXkgbWFuYWdlcgorCitbU2VydmljZV0KK0Vudmlyb25tZW50RmlsZT0vZXRjL2RlZmF1bHQveHNlcnZlci1ub2RtCitFeGVjU3RhcnQ9L2V0Yy9YMTEvWHNlcnZlcgorCitbSW5zdGFsbF0KK0FsaWFzPWRpc3BsYXktbWFuYWdlci5zZXJ2aWNlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0taW5pdF8yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0taW5pdF8yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTVhMDdkMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbS1pbml0XzIuMC5iYgpAQCAtMCwwICsxLDQxIEBACitTVU1NQVJZID0gIlNpbXBsZSBYc2VydmVyIEluaXQgU2NyaXB0IChubyBkbSkiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitTRUNUSU9OID0gIngxMSIKKworUFIgPSAicjIyIgorCitTUkNfVVJJID0gImZpbGU6Ly94c2VydmVyLW5vZG0gXAorICAgICAgICAgICBmaWxlOi8vZ3BsdjItbGljZW5zZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly94c2VydmVyLW5vZG0uc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly94c2VydmVyLW5vZG0uY29uZiBcCisiCitTID0gIiR7V09SS0RJUn0iCisKK2luaGVyaXQgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitJTklUU0NSSVBUX05BTUUgPSAieHNlcnZlci1ub2RtIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMDEgNSAuIHN0b3AgMDEgMCAxIDIgMyA2IC4iCitJTklUU0NSSVBUX1BBUkFNU19zaHIgPSAic3RhcnQgOTAgNSAuIHN0b3AgOTAgMCAxIDIgMyA2IC4iCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIHhzZXJ2ZXItbm9kbSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgeHNlcnZlci1ub2RtLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC94c2VydmVyLW5vZG0KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0veHNlcnZlci1ub2RtLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBmaQorfQorCitSREVQRU5EU18ke1BOfSA9ICJ4c2VydmVyLWNvbW1vbiAoPj0gMS4zMCkgeGluaXQiCisKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAieHNlcnZlci1ub2RtLnNlcnZpY2UiCisKK0ZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L2RlZmF1bHQveHNlcnZlci1ub2RtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoLzAwMDEtY3Jvc3NfYWRkX2NvbmZpZ3VyZV9vcHRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvMDAwMS1jcm9zc19hZGRfY29uZmlndXJlX29wdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjk2NDdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoLzAwMDEtY3Jvc3NfYWRkX2NvbmZpZ3VyZV9vcHRpb24ucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSBjYmFhYTQyOTMzYmIyN2IxYmNmZjRjN2Q3MWQ1NGM5MTMyMDFlZTg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGVpIE1hb2h1aSA8bGVpbWFvaHVpQGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCA5IEphbiAyMDE1IDExOjUxOjE4ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNyb3NzX2FkZF9jb25maWd1cmVfb3B0aW9uCisKKy0tLQorIE1ha2VmaWxlIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDljNDQ2MzMuLjM5YmViZDAgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0yMjksNyArMjI5LDcgQEAgZ2RiX21lcmdlOiBmb3JjZQorIAlAZWNobyAiLi4vLi4vJHtQUk9HUkFNfSAuLi8uLi8ke1BST0dSQU19bGliLmEiID4gJHtHREJ9L2dkYi9tZXJnZW9iagorIAlAcm0gLWYgJHtQUk9HUkFNfQorIAlAaWYgWyAhIC1mICR7R0RCfS9jb25maWcuc3RhdHVzIF07IHRoZW4gXAorLQkgIChjZCAke0dEQn07IC4vY29uZmlndXJlICR7R0RCX0NPTkZfRkxBR1N9IC0td2l0aC1zZXBhcmF0ZS1kZWJ1Zy1kaXI9L3Vzci9saWIvZGVidWcgXAorKwkgIChjZCAke0dEQn07IC4vY29uZmlndXJlIC0taG9zdD0ke0dEQl9UQVJHRVR9IC0tYnVpbGQ9JHtHREJfSE9TVH0gLS13aXRoLXNlcGFyYXRlLWRlYnVnLWRpcj0vdXNyL2xpYi9kZWJ1ZyBcCisgCSAgICAtLXdpdGgtYnVndXJsPSIiIC0td2l0aC1leHBhdD1ubyAtLXdpdGgtcHl0aG9uPW5vOyBcCisgCSAgbWFrZSAtLW5vLXByaW50LWRpcmVjdG9yeSBDUkFTSF9UQVJHRVQ9JHtUQVJHRVR9OyBlY2hvICR7VEFSR0VUfSA+IGNyYXNoLnRhcmdldCkgXAorIAllbHNlIG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkgcmVidWlsZDsgZmkKK0BAIC0yNzcsNyArMjc3LDcgQEAgZm9yY2U6CisgCisgbWFrZV9jb25maWd1cmU6IGZvcmNlCisgCUBybSAtZiBjb25maWd1cmUKKy0JQCR7Q0N9ICR7Q09ORl9GTEFHU30gLW8gY29uZmlndXJlIGNvbmZpZ3VyZS5jICR7V0FSTklOR19FUlJPUn0gJHtXQVJOSU5HX09QVElPTlN9CisrCUBjYyAke0NPTkZfRkxBR1N9IC1vIGNvbmZpZ3VyZSBjb25maWd1cmUuYyAke1dBUk5JTkdfRVJST1J9ICR7V0FSTklOR19PUFRJT05TfQorIAorIGNsZWFuOiBtYWtlX2NvbmZpZ3VyZQorIAlALi9jb25maWd1cmUgJHtDT05GX1RBUkdFVF9GTEFHfSAtcSAtYgorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC83MDAxZm9yY2VfZGVmaW5lX2FyY2hpdGVjdHVyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC83MDAxZm9yY2VfZGVmaW5lX2FyY2hpdGVjdHVyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDQ0YzdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoLzcwMDFmb3JjZV9kZWZpbmVfYXJjaGl0ZWN0dXJlLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK2RpZmYgLXVwck4gY3Jhc2gtNS4xLjgub3JnL2NvbmZpZ3VyZS5jIGNyYXNoLTUuMS44L2NvbmZpZ3VyZS5jCistLS0gY3Jhc2gtNS4xLjgub3JnL2NvbmZpZ3VyZS5jCTIwMTEtMDktMTcgMDQ6MDE6MTIuMDAwMDAwMDAwICswOTAwCisrKysgY3Jhc2gtNS4xLjgvY29uZmlndXJlLmMJMjAxMi0wOS0xMyAxMzoyODo0NS4zOTMzNDQxMDggKzA5MDAKK0BAIC0zOTEsNiArMzkxLDkgQEAgZ2V0X2N1cnJlbnRfY29uZmlndXJhdGlvbihzdHJ1Y3Qgc3VwcG9ydAorIAkJCWFyY2hfbWlzbWF0Y2goc3ApOworIAl9CisgCisrCS8qKiBGb3JjZSBkZWZpbmUgYXJjaHRlY3R1cmUgKi8KKysJdGFyZ2V0X2RhdGEudGFyZ2V0ID0gRk9SQ0VfREVGSU5FX0FSQ0g7CisrCisgICAgICAgICBpZiAoKGZwID0gZm9wZW4oIk1ha2VmaWxlIiwgInIiKSkgPT0gTlVMTCkgeworIAkJcGVycm9yKCJNYWtlZmlsZSIpOworIAkJZ290byBnZXRfcmVsZWFzZTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC83MDAzY3Jvc3NfcmFubGliLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoLzcwMDNjcm9zc19yYW5saWIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU2N2ZhMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC83MDAzY3Jvc3NfcmFubGliLnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBjcmFzaC01LjEuOC9NYWtlZmlsZS5vcmlnCTIwMTEtMTItMjcgMTE6MjE6NTguMjIwNjUyMTA1ICswOTAwCisrKysgY3Jhc2gtNS4xLjgvTWFrZWZpbGUJMjAxMS0xMi0yNyAxMToyMjoyOS41NjM2NTE1OTMgKzA5MDAKK0BAIC0yODUsNiArMjg1LDcgQEAKKyAKKyBsaWJyYXJ5OiBtYWtlX2J1aWxkX2RhdGEgJHtPQkpFQ1RfRklMRVN9CisgCWFyIC1ycyAke1BST0dSQU19bGliLmEgJHtPQkpFQ1RfRklMRVN9CisrCSR7UkFOTElCfSAke1BST0dSQU19bGliLmEgCisgCisgZ2RiOiBmb3JjZQorIAlybSAtZiAke0dEQl9PRklMRVN9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvY29uZmlnLXNpdGUuY3Jhc2gtNy4wLjkgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvY29uZmlnLXNpdGUuY3Jhc2gtNy4wLjkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZmYzIyZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC9jb25maWctc2l0ZS5jcmFzaC03LjAuOQpAQCAtMCwwICsxIEBACitiYXNoX2N2X2hhdmVfbWJzdGF0ZV90PXllcwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoL2Rvbm5vdC1leHRyYWN0LWdkYi1kdXJpbmctZG8tY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC9kb25ub3QtZXh0cmFjdC1nZGItZHVyaW5nLWRvLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI1NGZlOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC9kb25ub3QtZXh0cmFjdC1nZGItZHVyaW5nLWRvLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorUHV0IGdkYiBzb3VyY2UgdGFyYmFsbCBpbiBTUkNfVVJJIGFuZCBkb24ndCBmZXRjaCBhbmQgZXh0cmFjdCBpdCBkdXJpbmcKK2RvX2NvbXBpbGUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggYmIwYTM0ZS4uNWViNzYwNCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTIyNiw3ICsyMjYsNyBAQCBhbGw6IG1ha2VfY29uZmlndXJlCisgIwlAbWFrZSAtLW5vLXByaW50LWRpcmVjdG9yeSBleHRlbnNpb25zCisgCisgZ2RiX21lcmdlOiBmb3JjZQorLQlAaWYgWyAhIC1mICR7R0RCfS9SRUFETUUgXTsgdGhlbiBcCisrCUBpZiBbICEgLWYgJHtHREJ9LyR7R0RCfS5wYXRjaCBdOyB0aGVuIFwKKyAJICBtYWtlIC0tbm8tcHJpbnQtZGlyZWN0b3J5IGdkYl91bnppcDsgZmkKKyAJQGVjaG8gIiR7TERGTEFHU30gLWx6IC1sZGwgLXJkeW5hbWljIiA+ICR7R0RCfS9nZGIvbWVyZ2VsaWJzCisgCUBlY2hvICIuLi8uLi8ke1BST0dSQU19IC4uLy4uLyR7UFJPR1JBTX1saWIuYSIgPiAke0dEQn0vZ2RiL21lcmdlb2JqCitAQCAtMjUzLDExICsyNTMsNiBAQCBnZGJfdW56aXA6CisgCUBybSAtZiBnZGIuZmlsZXMKKyAJQGZvciBGSUxFIGluICR7R0RCX0ZJTEVTfSBkdW1teTsgZG9cCisgCSAgZWNobyAkJEZJTEUgPj4gZ2RiLmZpbGVzOyBkb25lCistCUBpZiBbICEgLWYgJHtHREJ9LnRhci5neiBdICYmIFsgISAtZiAvdXNyL2Jpbi93Z2V0IF07IHRoZW4gXAorLQkgIGVjaG8gL3Vzci9iaW4vd2dldCBpcyByZXF1aXJlZCB0byBkb3dubG9hZCAke0dEQn0udGFyLmd6OyBlY2hvOyBleGl0IDE7IGZpCistCUBpZiBbICEgLWYgJHtHREJ9LnRhci5neiBdICYmIFsgLWYgL3Vzci9iaW4vd2dldCBdOyB0aGVuIFwKKy0JICB3Z2V0IGh0dHA6Ly9mdHAuZ251Lm9yZy9nbnUvZ2RiLyR7R0RCfS50YXIuZ3o7IGZpCistCUB0YXIgLS1leGNsdWRlLWZyb20gZ2RiLmZpbGVzIC14dnptZiAke0dEQn0udGFyLmd6CisgCUBtYWtlIC0tbm8tcHJpbnQtZGlyZWN0b3J5IGdkYl9wYXRjaAorIAorIGdkYl9wYXRjaDoKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC9nZGJfYnVpbGRfam9ic19hbmRfbm90X3dyaXRlX2NyYXNoX3RhcmdldC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC9nZGJfYnVpbGRfam9ic19hbmRfbm90X3dyaXRlX2NyYXNoX3RhcmdldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjRkMWJjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoL2dkYl9idWlsZF9qb2JzX2FuZF9ub3Rfd3JpdGVfY3Jhc2hfdGFyZ2V0LnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK1RoaXMgZW5hYmxlcyBwYXJhbGxlbCBidWlsZGluZyAobXVsdGlwbGUgam9icyBpbiBnZGIpIGJ5IHJlYWRpbmcgdGhlCit2YWx1ZSBmcm9tIEdEQl9NQUtFX0pPQlMuCisKK1NpZ25lZC1vZmYtYnk6IEFteSBGb25nIDxhbXkuZm9uZ0B3aW5kcml2ZXIuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworRG9uJ3Qgd3JpdGUgJHtUQVJHRVR9IHRvIGNyYXNoLnRhcmdldCB3aGljaCBjYXVzZXMgcmVidWlsZCBmYWlscy4KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLQorZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDI3YTFkNDcuLmJjZjJkMmYgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0yMzIsOCArMjMyLDggQEAgZ2RiX21lcmdlOiBmb3JjZQorIAlAaWYgWyAhIC1mICR7R0RCfS9jb25maWcuc3RhdHVzIF07IHRoZW4gXAorIAkgIChjZCAke0dEQn07IC4vY29uZmlndXJlIC0taG9zdD0ke0dEQl9UQVJHRVR9IC0tYnVpbGQ9JHtHREJfSE9TVH0gLS13aXRoLXNlcGFyYXRlLWRlYnVnLWRpcj0vdXNyL2xpYi9kZWJ1ZyBcCisgCSAgICAtLXdpdGgtYnVndXJsPSIiIC0td2l0aC1leHBhdD1ubyAtLXdpdGgtcHl0aG9uPW5vOyBcCistCSAgbWFrZSAtLW5vLXByaW50LWRpcmVjdG9yeSBDUkFTSF9UQVJHRVQ9JHtUQVJHRVR9OyBlY2hvICR7VEFSR0VUfSA+IGNyYXNoLnRhcmdldCkgXAorLQllbHNlIG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkgcmVidWlsZDsgZmkKKysJICBtYWtlIC0tbm8tcHJpbnQtZGlyZWN0b3J5IENSQVNIX1RBUkdFVD0ke1RBUkdFVH0gJHtHREJfTUFLRV9KT0JTfTsgKSBcCisrCWVsc2UgbWFrZSAtLW5vLXByaW50LWRpcmVjdG9yeSAke0dEQl9NQUtFX0pPQlN9IHJlYnVpbGQ7IGZpCisgCUBpZiBbICEgLWYgJHtQUk9HUkFNfSBdOyB0aGVuIFwKKyAJICBlY2hvOyBlY2hvICIke1BST0dSQU19IGJ1aWxkIGZhaWxlZCI7IFwKKyAJICBlY2hvOyBleGl0IDE7IGZpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvcmVtb3ZlLXVucmVjb2duaXplZC1nY2Mtb3B0aW9uLW0zMi1mb3ItbWlwcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC9yZW1vdmUtdW5yZWNvZ25pemVkLWdjYy1vcHRpb24tbTMyLWZvci1taXBzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyNGRiMTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvcmVtb3ZlLXVucmVjb2duaXplZC1nY2Mtb3B0aW9uLW0zMi1mb3ItbWlwcy5wYXRjaApAQCAtMCwwICsxLDMzIEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSXQgZmFpbHMgdG8gYnVpbGQgY3Jhc2ggZm9yIG1pcHMgd2l0aCBlcnJvcjoKKworfCBtaXBzLXdycy1saW51eC1nY2M6IGVycm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAnLW0zMicKK3wgTWFrZWZpbGU6MjkxOiByZWNpcGUgZm9yIHRhcmdldCAnbWFrZV9idWlsZF9kYXRhJyBmYWlsZWQKKworU28gcmVtb3ZlIHRoZSB1bnJlY29nbml6ZWQgb3B0aW9uICctbTMyJyBmb3IgbWlwcy4KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYyBiL2NvbmZpZ3VyZS5jCitpbmRleCBjZjE5NzNiLi43MWU5N2IzIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmMKKysrKyBiL2NvbmZpZ3VyZS5jCitAQCAtMTQ4LDcgKzE0OCw3IEBAIHZvaWQgYWRkX2V4dHJhX2xpYihjaGFyICopOworICNkZWZpbmUgVEFSR0VUX0NGTEFHU19QUEM2NF9PTl9YODZfNjQgICJUQVJHRVRfQ0ZMQUdTPSIKKyAjZGVmaW5lIFRBUkdFVF9DRkxBR1NfTUlQUyAgICAgICAgICAgICJUQVJHRVRfQ0ZMQUdTPS1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCisgI2RlZmluZSBUQVJHRVRfQ0ZMQUdTX01JUFNfT05fWDg2ICAgICAiVEFSR0VUX0NGTEFHUz0tRF9GSUxFX09GRlNFVF9CSVRTPTY0IgorLSNkZWZpbmUgVEFSR0VUX0NGTEFHU19NSVBTX09OX1g4Nl82NCAgIlRBUkdFVF9DRkxBR1M9LW0zMiAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgorKyNkZWZpbmUgVEFSR0VUX0NGTEFHU19NSVBTX09OX1g4Nl82NCAgIlRBUkdFVF9DRkxBR1M9LURfRklMRV9PRkZTRVRfQklUUz02NCIKKyAKKyAjZGVmaW5lIEdEQl9UQVJHRVRfREVGQVVMVCAgICAgICAgIkdEQl9DT05GX0ZMQUdTPSIKKyAjZGVmaW5lIEdEQl9UQVJHRVRfQVJNX09OX1g4NiAgICAgIkdEQl9DT05GX0ZMQUdTPS0tdGFyZ2V0PWFybS1lbGYtbGludXgiCitAQCAtMTU4LDcgKzE1OCw3IEBAIHZvaWQgYWRkX2V4dHJhX2xpYihjaGFyICopOworICNkZWZpbmUgR0RCX1RBUkdFVF9BUk02NF9PTl9YODZfNjQgICJHREJfQ09ORl9GTEFHUz0tLXRhcmdldD1hYXJjaDY0LWVsZi1saW51eCIgICAvKiBUQkQgKi8KKyAjZGVmaW5lIEdEQl9UQVJHRVRfUFBDNjRfT05fWDg2XzY0ICAiR0RCX0NPTkZfRkxBR1M9LS10YXJnZXQ9cG93ZXJwYzY0bGUtdW5rbm93bi1saW51eC1nbnUiCisgI2RlZmluZSBHREJfVEFSR0VUX01JUFNfT05fWDg2ICAgICAiR0RCX0NPTkZfRkxBR1M9LS10YXJnZXQ9bWlwc2VsLWVsZi1saW51eCIKKy0jZGVmaW5lIEdEQl9UQVJHRVRfTUlQU19PTl9YODZfNjQgICJHREJfQ09ORl9GTEFHUz0tLXRhcmdldD1taXBzZWwtZWxmLWxpbnV4IENGTEFHUz0tbTMyIgorKyNkZWZpbmUgR0RCX1RBUkdFVF9NSVBTX09OX1g4Nl82NCAgIkdEQl9DT05GX0ZMQUdTPS0tdGFyZ2V0PW1pcHNlbC1lbGYtbGludXgiCisgICAgICAKKyAvKgorICAqICBUaGUgb3JpZ2luYWwgcGxhbiB3YXMgdG8gYWxsb3cgdGhlIHVzZSBvZiBhIHBhcnRpY3VsYXIgdmVyc2lvbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoL3NpbS1jb21tb24tc2ltLWFyYW5nZS1maXgtZXh0ZXJuLWlubGluZS1oYW5kbGluZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC9zaW0tY29tbW9uLXNpbS1hcmFuZ2UtZml4LWV4dGVybi1pbmxpbmUtaGFuZGxpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE4NWI1NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaC9zaW0tY29tbW9uLXNpbS1hcmFuZ2UtZml4LWV4dGVybi1pbmxpbmUtaGFuZGxpbmcucGF0Y2gKQEAgLTAsMCArMSw3OSBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitodHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC8/cD1iaW51dGlscy1nZGIuZ2l0O2E9Y29tbWl0O2g9OTJmYzYxNQorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tCitGcm9tIDkyZmM2MTUzYTZmZGYyYTAyN2Q5NzgwZjU5NDU3MTJhYWZhZDRhOWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOiBTdW4sIDI5IE1hciAyMDE1IDE1OjU5OjAxIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIHNpbTogY29tbW9uOiBzaW0tYXJhbmdlOiBmaXggZXh0ZXJuIGlubGluZSBoYW5kbGluZworCitXaXRoIG5ld2VyIHZlcnNpb25zIG9mIGdjYyAoNS54KSwgdGhlIGV4dGVybiBpbmxpbmUgd2UncmUgdXNpbmcgd2l0aCB0aGUKK3NpbS1hcmFuZ2UgbW9kdWxlIG5vIGxvbmdlciB3b3Jrcy4gIFNpbmNlIHRoaXMgY29kZSByZWFsbHkgd2FudHMgdGhlIGdudQoraW5saW5lIHNlbWFudGljcywgdXNlIHRoYXQgYXR0cmlidXRlIGV4cGxpY2l0bHkuCisKK1JlcG9ydGVkLWJ5OiBESiBEZWxvcmllIDxkakByZWRoYXQuY29tPgorUmVwb3J0ZWQtYnk6IEpvZWwgU2hlcnJpbGwgPGpvZWwuc2hlcnJpbGxAb2FyY29ycC5jb20+CistLS0KKyBnZGItNy42L3NpbS9jb21tb24vc2ltLWFyYW5nZS5oIHwgMjAgKysrKysrKysrKysrLS0tLS0tLS0KKyBnZGItNy42L3NpbS9jb21tb24vc2ltLWlubGluZS5oIHwgIDQgKysrLQorIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dkYi03LjYvc2ltL2NvbW1vbi9zaW0tYXJhbmdlLmggYi9nZGItNy42L3NpbS9jb21tb24vc2ltLWFyYW5nZS5oCitpbmRleCA3MzExN2YzLi5kZTg0MmM5IDEwMDY0NAorLS0tIGEvZ2RiLTcuNi9zaW0vY29tbW9uL3NpbS1hcmFuZ2UuaAorKysrIGIvZ2RiLTcuNi9zaW0vY29tbW9uL3NpbS1hcmFuZ2UuaAorQEAgLTYwLDIyICs2MCwyNiBAQCBleHRlcm4gdm9pZCBzaW1fYWRkcl9yYW5nZV9kZWxldGUgKEFERFJfUkFOR0UgKiAvKmFyKi8sCisgCQkJCSAgIGFkZHJlc3Nfd29yZCAvKnN0YXJ0Ki8sCisgCQkJCSAgIGFkZHJlc3Nfd29yZCAvKmVuZCovKTsKKyAKKysvKiBUT0RPOiBUaGlzIHNob3VsZCBnZXQgbW92ZWQgaW50byBzaW0taW5saW5lLmguICAqLworKyNpZmRlZiBIQVZFX0lOTElORQorKyNpZmRlZiBTSU1fQVJBTkdFX0MKKysjZGVmaW5lIFNJTV9BUkFOR0VfSU5MSU5FIElOTElORQorKyNlbHNlCisrI2RlZmluZSBTSU1fQVJBTkdFX0lOTElORSBFWFRFUk5fSU5MSU5FCisrI2VuZGlmCisrI2Vsc2UKKysjZGVmaW5lIFNJTV9BUkFOR0VfSU5MSU5FIEVYVEVSTgorKyNlbmRpZgorKworIC8qIFJldHVybiBub24temVybyBpZiBBRERSIGlzIGluIHJhbmdlIEFSLCB0cmF2ZXJzaW5nIHRoZSBlbnRpcmUgdHJlZS4KKyAgICBJZiBubyByYW5nZSBpcyBzcGVjaWZpZWQsIHRoYXQgaXMgZGVmaW5lZCB0byBtZWFuICJldmVyeXRoaW5nIi4gICovCistZXh0ZXJuIElOTElORSBpbnQKKytTSU1fQVJBTkdFX0lOTElORSBpbnQKKyBzaW1fYWRkcl9yYW5nZV9oaXRfcCAoQUREUl9SQU5HRSAqIC8qYXIqLywgYWRkcmVzc193b3JkIC8qYWRkciovKTsKKyAjZGVmaW5lIEFERFJfUkFOR0VfSElUX1AoYXIsIGFkZHIpIFwKKyAgICgoYXIpLT5yYW5nZV90cmVlID09IE5VTEwgfHwgc2ltX2FkZHJfcmFuZ2VfaGl0X3AgKChhciksIChhZGRyKSkpCisgCisgI2lmZGVmIEhBVkVfSU5MSU5FCistI2lmZGVmIFNJTV9BUkFOR0VfQworLSNkZWZpbmUgU0lNX0FSQU5HRV9JTkxJTkUgSU5MSU5FCistI2Vsc2UKKy0jZGVmaW5lIFNJTV9BUkFOR0VfSU5MSU5FIEVYVEVSTl9JTkxJTkUKKy0jZW5kaWYKKyAjaW5jbHVkZSAic2ltLWFyYW5nZS5jIgorLSNlbHNlCistI2RlZmluZSBTSU1fQVJBTkdFX0lOTElORQorICNlbmRpZgorICNkZWZpbmUgU0lNX0FSQU5HRV9DX0lOQ0xVREVECisgCitkaWZmIC0tZ2l0IGEvZ2RiLTcuNi9zaW0vY29tbW9uL3NpbS1pbmxpbmUuaCBiL2dkYi03LjYvc2ltL2NvbW1vbi9zaW0taW5saW5lLmgKK2luZGV4IGFmNzU1NjIuLjhhOWMyODYgMTAwNjQ0CistLS0gYS9nZGItNy42L3NpbS9jb21tb24vc2ltLWlubGluZS5oCisrKysgYi9nZGItNy42L3NpbS9jb21tb24vc2ltLWlubGluZS5oCitAQCAtMzAzLDcgKzMwMyw5IEBACisgLyogPz8/IFRlbXBvcmFyeSwgcGVuZGluZyBkZWNpc2lvbiB0byBhbHdheXMgdXNlIGV4dGVybiBpbmxpbmUgYW5kIGRvIGEgdmFzdAorICAgIGNsZWFudXAgb2YgaW5saW5lIHN1cHBvcnQuICAqLworICNpZm5kZWYgSU5MSU5FMgorLSNpZiBkZWZpbmVkIChfX0dOVUNfXykKKysjaWYgZGVmaW5lZCAoX19HTlVDX0dOVV9JTkxJTkVfXykgfHwgZGVmaW5lZCAoX19HTlVDX1NURENfSU5MSU5FX18pCisrI2RlZmluZSBJTkxJTkUyIF9faW5saW5lX18gX19hdHRyaWJ1dGVfXyAoKF9fZ251X2lubGluZV9fKSkKKysjZWxpZiBkZWZpbmVkIChfX0dOVUNfXykKKyAjZGVmaW5lIElOTElORTIgX19pbmxpbmVfXworICNlbHNlCisgI2RlZmluZSBJTkxJTkUyIC8qaW5saW5lKi8KKy0tIAorMi42LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoL3NpbS1wcGMtZHJvcC1MSUJTLWZyb20tcHNpbS1kZXBlbmRlbmN5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoL3NpbS1wcGMtZHJvcC1MSUJTLWZyb20tcHNpbS1kZXBlbmRlbmN5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3YTI4N2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2gvc2ltLXBwYy1kcm9wLUxJQlMtZnJvbS1wc2ltLWRlcGVuZGVuY3kucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitodHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC8/cD1iaW51dGlscy1nZGIuZ2l0O2g9MGQ4YTZhYgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorRnJvbSAwZDhhNmFiN2QzOWQyOGZiMTU1N2UyYTYyZTllNGIzMzYzNDFhYjM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWFybyBLb3NraW5lbiA8YWFyby5rb3NraW5lbkBpa2kuZmk+CitEYXRlOiBNb24sIDE3IEZlYiAyMDE0IDE3OjEyOjU5IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIHNpbTogcHBjOiBkcm9wICQoTElCUykgZnJvbSBwc2ltIGRlcGVuZGVuY3kKKworV2hlbiBjcm9zcy1jb21waWxpbmcgR0RCIGZvciBQUEMsIHRoZXJlJ3MgYSBwcmVyZXF1aXNpdGUgIi1seiIgZm9yIHBzaW0KK3RoYXQgcmVzdWx0cyBpbiBhIGJ1aWxkIGZhaWx1cmUuIFdpdGggc3VjaCBwcmVyZXF1aXNpdGUsIEdOVSBNYWtlIHdpbGwKK3RyeSB0byBzZWFyY2ggdGhlIGxpYnJhcnkgZnJvbSBidWlsZCBtYWNoaW5lJ3MgL3Vzci9saWIgd2hpY2ggaXMgd3JvbmcuCitPbiA2NC1iaXQgTGludXggYnVpbGQgbWFjaGluZXMgdGhlIGNvbXBpbGF0aW9uIHdpbGwgZmFpbCBiZWNhdXNlIG9mIHRoaXMuCisKK1VSTDogaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTIyMDIKKy0tLQorIHNpbS9wcGMvTWFrZWZpbGUuaW4gfCAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nZGItNy42L3NpbS9wcGMvTWFrZWZpbGUuaW4gYi9nZGItNy42L3NpbS9wcGMvTWFrZWZpbGUuaW4KK2luZGV4IGI4MTFmNmYuLjc0MGJkYjAgMTAwNjQ0CistLS0gYS9nZGItNy42L3NpbS9wcGMvTWFrZWZpbGUuaW4KKysrKyBiL2dkYi03LjYvc2ltL3BwYy9NYWtlZmlsZS5pbgorQEAgLTU1Miw3ICs1NTIsNyBAQCBQQUNLQUdFX1NSQyA9IEBzaW1fcGtfc3JjQAorIFBBQ0tBR0VfT0JKID0gQHNpbV9wa19vYmpACisgCisgCistcHNpbTogJChUQVJHRVRMSUIpIG1haW4ubyAkKExJQklCRVJUWV9MSUIpICQoQkZEX0xJQikgJChMSUJTKSAkKExJQklOVExfREVQKQorK3BzaW06ICQoVEFSR0VUTElCKSBtYWluLm8gJChMSUJJQkVSVFlfTElCKSAkKEJGRF9MSUIpICQoTElCSU5UTF9ERVApCisgCSQoQ0MpICQoQ0ZMQUdTKSAkKFNJTV9DRkxBR1MpICQoTERGTEFHUykgLW8gcHNpbSQoRVhFRVhUKSBtYWluLm8gJChUQVJHRVRMSUIpICQoQkZEX0xJQikgJChMSUJJTlRMKSAkKExJQklCRVJUWV9MSUIpICQoTElCUykKKyAKKyBydW46IHBzaW0KKy0tIAorMS45LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoXzcuMS4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoXzcuMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3ODdmMDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2hfNy4xLjMuYmIKQEAgLTAsMCArMSwxMTIgQEAKK1NVTU1BUlkgPSAiS2VybmVsIGFuYWx5c2lzIHV0aWxpdHkgZm9yIGxpdmUgc3lzdGVtcywgbmV0ZHVtcCwgZGlza2R1bXAsIGtkdW1wLCBMS0NEIG9yIG1jb3JlIGR1bXBmaWxlcyIKK0RFU0NSSVBUSU9OID0gIlRoZSBjb3JlIGFuYWx5c2lzIHN1aXRlIGlzIGEgc2VsZi1jb250YWluZWQgdG9vbCB0aGF0IGNhbiBiZSB1c2VkIHRvXAoraW52ZXN0aWdhdGUgZWl0aGVyIGxpdmUgc3lzdGVtcywga2VybmVsIGNvcmUgZHVtcHMgY3JlYXRlZCBmcm9tIHRoZVwKK25ldGR1bXAsIGRpc2tkdW1wIGFuZCBrZHVtcCBwYWNrYWdlcyBmcm9tIFJlZCBIYXQgTGludXgsIHRoZSBtY29yZSBrZXJuZWwgcGF0Y2hcCitvZmZlcmVkIGJ5IE1pc3Npb24gQ3JpdGljYWwgTGludXgsIG9yIHRoZSBMS0NEIGtlcm5lbCBwYXRjaC4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9wZW9wbGUucmVkaGF0LmNvbS9hbmRlcnNvbiIKK1NFQ1RJT04gPSAiZGV2ZWwiCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HMzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK0RFUEVORFMgPSAiemxpYiByZWFkbGluZSIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vY3Jhc2gtdXRpbGl0eS8ke0JQTn0vYXJjaGl2ZS8ke1BWfS50YXIuZ3o7ZG93bmxvYWRmaWxlbmFtZT0ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBodHRwOi8vZnRwLmdudS5vcmcvZ251L2dkYi9nZGItNy42LnRhci5nejtuYW1lPWdkYjtzdWJkaXI9JHtCUH0gXAorICAgICAgICAgICBmaWxlOi8vNzAwMWZvcmNlX2RlZmluZV9hcmNoaXRlY3R1cmUucGF0Y2ggXCAKKyAgICAgICAgICAgZmlsZTovLzcwMDNjcm9zc19yYW5saWIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jcm9zc19hZGRfY29uZmlndXJlX29wdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zaW0tcHBjLWRyb3AtTElCUy1mcm9tLXBzaW0tZGVwZW5kZW5jeS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zaW0tY29tbW9uLXNpbS1hcmFuZ2UtZml4LWV4dGVybi1pbmxpbmUtaGFuZGxpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZG9ubm90LWV4dHJhY3QtZ2RiLWR1cmluZy1kby1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dkYl9idWlsZF9qb2JzX2FuZF9ub3Rfd3JpdGVfY3Jhc2hfdGFyZ2V0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZS11bnJlY29nbml6ZWQtZ2NjLW9wdGlvbi1tMzItZm9yLW1pcHMucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxNTU4ODlhMjMzYzUyMzBlZjFkMzg3ODU4MDkxZDI5NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhZTk4NTI5ZDQyYjg0M2YwN2Q3OTViODZiOGY4NTI5ZjY0Y2M2MDdlZTNjNThhZmZjNWE4YWE4YTUwNmUxODNkIgorCitTUkNfVVJJW2dkYi5tZDVzdW1dID0gImE5ODM2NzA3MzM3ZTVmN2JmNzZhMDA5YTg5MDRmNDcwIgorU1JDX1VSSVtnZGIuc2hhMjU2c3VtXSA9ICI4MDcwMzg5YTVkY2MxMDRlYjBiZTQ4M2Q1ODI3MjlmOThlZDRkNzYxYWQxOWNlZGQzZjE3YjVkMjUwMmZhYTM2IgorCitpbmhlcml0IGdldHRleHQKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgY3Jvc3MiCisKKyMgY3Jhc2ggNy4xLjMgYW5kIGJlZm9yZSBkb24ndCBzdXBwb3J0IG1pcHM2NAorQ09NUEFUSUJMRV9IT1NUID0gIl4oPyFtaXBzNjQpLioiCisKK0VYVFJBX09FTUFLRSA9ICdSUE1QS0c9IiR7UFZ9IiBcCisgICAgICAgICAgICAgICAgR0RCX1RBUkdFVD0iJHtUQVJHRVRfU1lTfSIgXAorICAgICAgICAgICAgICAgIEdEQl9IT1NUPSIke0JVSUxEX1NZU30iIFwKKyAgICAgICAgICAgICAgICBHREJfTUFLRV9KT0JTPSIke1BBUkFMTEVMX01BS0V9IiBcCisgICAgICAgICAgICAgICAgJworCitFWFRSQV9PRU1BS0VfY2xhc3MtY3Jvc3MgPSAnUlBNUEtHPSIke1BWfSIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdEQl9UQVJHRVQ9IiR7QlVJTERfU1lTfSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCR7R0RCX0NPTkZfRkxBR1N9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXRhcmdldD0ke1RBUkdFVF9TWVN9IiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RCX0hPU1Q9IiR7QlVJTERfU1lTfSIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdEQl9NQUtFX0pPQlM9IiR7UEFSQUxMRUxfTUFLRX0iIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnCisKK0VYVFJBX09FTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBMREZMQUdTPScke0JVSUxEX0xERkxBR1N9JyIKK0VYVFJBX09FTUFLRV9hcHBlbmRfY2xhc3MtY3Jvc3MgPSAiIExERkxBR1M9JyR7QlVJTERfTERGTEFHU30nIgorCitSRU1PVkVfTTMyID0gInNlZCAtaSAtZSAncy8jZGVmaW5lIFRBUkdFVF9DRkxBR1NfQVJNX09OX1g4Nl82NC4qLyNkZWZpbmUgVEFSR0VUX0NGTEFHU19BUk1fT05fWDg2XzY0XHRcIlRBUkdFVF9DRkxBR1M9LURfRklMRV9PRkZTRVRfQklUUz02NFwiL2cnICR7U30vY29uZmlndXJlLmMiCisKK1JFTU9WRV9NMzJfY2xhc3MtY3Jvc3MgPSAiIgorCitkb19jb25maWd1cmUoKSB7CisgICAgOgorfQorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgY2FzZSAke1RBUkdFVF9BUkNIfSBpbgorICAgICAgICBhYXJjaDY0KikgICAgQVJDSD1BUk02NCA7OworICAgICAgICBhcm0qKSAgICAgICAgQVJDSD1BUk0gOzsKKyAgICAgICAgaSo4NiopICAgICAgIEFSQ0g9WDg2IDs7CisgICAgICAgIHg4Nl82NCopICAgICBBUkNIPVg4Nl82NCA7OworICAgICAgICBwb3dlcnBjNjQqKSAgQVJDSD1QUEM2NCA7OworICAgICAgICBwb3dlcnBjKikgICAgQVJDSD1QUEMgOzsKKyAgICAgICAgbWlwcyopICAgICAgIEFSQ0g9TUlQUyA7OworICAgIGVzYWMKKworICAgIHNlZCAtaSBzL0ZPUkNFX0RFRklORV9BUkNILyIke0FSQ0h9Ii9nICR7U30vY29uZmlndXJlLmMKKyAgICAke1JFTU9WRV9NMzJ9CisgICAgc2VkIC1pICdzLyZndDsvPi9nJyAke1N9L01ha2VmaWxlCit9CisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSAke0VYVFJBX09FTUFLRX0KK30KKworZG9faW5zdGFsbF9wcmVwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0vJHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2NyYXNoCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9jcmFzaC44ICR7RH0vJHttYW5kaXJ9L21hbjgvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZGVmcy5oICR7RH0ke2luY2x1ZGVkaXJ9L2NyYXNoCit9CisKK2RvX2luc3RhbGxfY2xhc3MtdGFyZ2V0ICgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCit9CisKK2RvX2luc3RhbGxfY2xhc3MtbmF0aXZlICgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSR7U1RBR0lOR19ESVJfTkFUSVZFfSBpbnN0YWxsCit9CisKK2RvX2luc3RhbGxfY2xhc3MtY3Jvc3MgKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2NyYXNoICR7RH0vJHtiaW5kaXJ9Cit9CisKK1JERVBFTkRTXyR7UE59ICs9ICJsaWJsem1hIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKK1JERVBFTkRTXyR7UE59X2NsYXNzLWNyb3NzID0gIiIKKworIyBDYXVzZXMgZ2NjIHRvIGdldCBzdHVjayBhbmQgZWF0IGFsbCBhdmFpbGFibGUgbWVtb3J5IGluIHFlbXVhcm0gYnVpbGRzCisjIGplbmtpbnMgIDE1MTYxICAxMDAgMTIuNSAxMDM4OTU5NiAxMDMyMTI4NCA/ICAgUiAgICAxMTo0MCAgMjg6MTcgL2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWJleGVjL2FybS1vZS1saW51eC1nbnVlYWJpL2djYy9hcm0tb2UtbGludXgtZ251ZWFiaS80LjkuMi9jYzEgLXF1aWV0IC1JIC4gLUkgLiAtSSAuL2NvbW1vbiAtSSAuL2NvbmZpZyAtSSAuLy4uL2luY2x1ZGUvb3Bjb2RlIC1JIC4vLi4vb3Bjb2Rlcy8uLiAtSSAuLy4uL3JlYWRsaW5lLy4uIC1JIC4uL2JmZCAtSSAuLy4uL2JmZCAtSSAuLy4uL2luY2x1ZGUgLUkgLi4vbGliZGVjbnVtYmVyIC1JIC4vLi4vbGliZGVjbnVtYmVyIC1JIC4vZ251bGliL2ltcG9ydCAtSSBidWlsZC1nbnVsaWIvaW1wb3J0IC1pc3lzcm9vdCAvaG9tZS9qZW5raW5zL29lL3dvcmxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy9xZW11YXJtIC1NTUQgZXZhbC5kIC1NRiAuZGVwcy9ldmFsLlRwbyAtTVAgLU1UIGV2YWwubyAtRCBMT0NBTEVESVI9Ii91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiAtRCBDUkFTSF9NRVJHRSAtRCBIQVZFX0NPTkZJR19IIC1EIFRVST0xIGV2YWwuYyAtcXVpZXQgLWR1bXBiYXNlIGV2YWwuYyAtbWFyY2g9YXJtdjV0ZSAtbXRodW1iIC1tdGh1bWItaW50ZXJ3b3JrIC1tdGxzLWRpYWxlY3Q9Z251IC1hdXhiYXNlLXN0cmlwIGV2YWwubyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVduby1wb2ludGVyLXNpZ24gLVduby11bnVzZWQgLVd1bnVzZWQtdmFsdWUgLVd1bnVzZWQtZnVuY3Rpb24gLVduby1zd2l0Y2ggLVduby1jaGFyLXN1YnNjcmlwdHMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbXB0eS1ib2R5IC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtbyAtCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9rdGFwL2t0YXAtbW9kdWxlX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9rdGFwL2t0YXAtbW9kdWxlX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjkxMzI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2t0YXAva3RhcC1tb2R1bGVfZ2l0LmJiCkBAIC0wLDAgKzEsMjIgQEAKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworcmVxdWlyZSBrdGFwLmluYworCitTVU1NQVJZID0gIktUQVAgaXMgYSBzY3JpcHRpbmcgZHluYW1pYyB0cmFjaW5nIHRvb2wgZm9yIExpbnV4IgorCitpbmhlcml0IG1vZHVsZQorCisjIFNlZSBodHRwczovL2dpdGh1Yi5jb20va3RhcC9rdGFwL2lzc3Vlcy84MAorUE5CTEFDS0xJU1Rba3RhcC1tb2R1bGVdID89ICJOb3QgY29tcGF0aWJsZSB3aXRoIDMuMTkga2VybmVsIgorCisjIE9ubHkgYnVpbGQgdGhlIG1vZHVsZQorTUFLRV9UQVJHRVRTID0gIm1vZCIKKworIyBLZXJuZWwgbW9kdWxlIHBhY2thZ2VzIE1VU1QgYmVnaW4gd2l0aCAna2VybmVsLW1vZHVsZS0nLCBvdGhlcndpc2UKKyMgbXVsdGlsaWIgaW1hZ2UgZ2VuZXJhdGlvbiBjYW4gZmFpbC4KKyMKKyMgVGhlIGZvbGxvd2luZyBsaW5lIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHRoZSByZWNpcGUgbmFtZSBkb2VzIG5vdCBiZWdpbgorIyB3aXRoIGtlcm5lbC1tb2R1bGUtLgorIworUEtHXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtJHtQTn0iCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9rdGFwL2t0YXAuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2t0YXAva3RhcC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzIxNGEwMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9rdGFwL2t0YXAuaW5jCkBAIC0wLDAgKzEsMjYgQEAKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5rdGFwLm9yZyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLUdQTDttZDU9ZWI3MjNiNjE1MzlmZWVmMDEzZGU0NzZlNjhiNWM1MGEiCisKK1BWID0gIjAuNCtnaXRyJHtTUkNQVn0iCitTUkNSRVYgPSAiYzg0MDFlMDdjODljZGVjOWE1ZjY3M2RhNGRkYjEyYjc5ODJiNTIyYiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9rdGFwL2t0YXAuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCisjIFBhY2thZ2UgY29uZmlnIGlzIGFidXNlZCBhcyBhIGdlbmVyYWwgY29tcGlsZSB0aW1lIGNvbmZpZ3VyYXRpb24gdG9vbC4KKworIyBPbmx5IHN1cHBvcnRzIHg4Nl82NCBmb3Igbm93IS4gTmVlZHMgdG8gYmUgZW5hYmxlZCBmb3Iga3RhcC1tb2R1bGUgdG9vLgorUEFDS0FHRUNPTkZJR1tmZmldID0gIiIKKworIyBOZWVkZWQgdG8gcmVzb2x2ZSBzeW1ib2xzIGluIERTTyBhbmQgZm9yIHNkdAorUEFDS0FHRUNPTkZJR1tsaWJlbGZdID0gIiwsZWxmdXRpbHMiCisKK1BBQ0tBR0VDT05GSUcgPz0gImxpYmVsZiIKKworRVhUUkFfT0VNQUtFID0gIiBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbGliZWxmJywgJycsICdOT19MSUJFTEY9MScsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZmZpJywgJ0ZGST0xJywgJycsIGQpfSBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwva3RhcC9rdGFwX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9rdGFwL2t0YXBfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0OGU3YmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwva3RhcC9rdGFwX2dpdC5iYgpAQCAtMCwwICsxLDE5IEBACisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUIGZvciB0aGUgdGVybXMpCisKK3JlcXVpcmUga3RhcC5pbmMKKworU1VNTUFSWSA9ICJLVEFQIGlzIGEgc2NyaXB0aW5nIGR5bmFtaWMgdHJhY2luZyB0b29sIGZvciBMaW51eCIKK0RFUEVORFMgPSAia3RhcC1tb2R1bGUiCisKK1BOQkxBQ0tMSVNUW2t0YXBdID89ICJEZXBlbmRzIG9uIGJsYWNrbGlzdGVkIGtlcm5lbC1tb2R1bGUta3RhcHZtIgorCisjIE9ubHkgYnVpbGQgdGhlIHVzZXJzcGFjZSBhcHAKK0VYVFJBX09FTUFLRSArPSAia3RhcCIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9rdGFwICR7RH0ke2JpbmRpcn0vCit9CisKK1BBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLWt0YXB2bSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXguaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyMDAxMjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXguaW5jCkBAIC0wLDAgKzEsMTMxIEBACitERVNDUklQVElPTiA9ICJMaW51eCBLZXJuZWwiCitTRUNUSU9OID0gImtlcm5lbCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kNzgxMGZhYjc0ODdmYjBhYWQzMjdiNzZmMWJlN2NkNyIKKworSU5DX1BSID0gInIwIgorCitpbmhlcml0IGtlcm5lbCBzaXRlaW5mbworCisjIEVuYWJsZSBPQUJJIGNvbXBhdCBmb3IgcGVvcGxlIHN0dWNrIHdpdGggb2Jzb2xldGUgdXNlcnNwYWNlCitBUk1fS0VFUF9PQUJJID89ICIwIgorCisjIFNldCB0aGUgdmVyYm9zaXR5IG9mIGtlcm5lbCBtZXNzYWdlcyBkdXJpbmcgcnVudGltZQorIyBZb3UgY2FuIGRlZmluZSBDTURMSU5FX0RFQlVHIGluIHlvdXIgbG9jYWwuY29uZiBvciBkaXN0cm8uY29uZiB0byBvdmVycmlkZSB0aGlzIGJlaGF2aW91cgorQ01ETElORV9ERUJVRyA/PSAibG9nbGV2ZWw9MyIKKworIyBLZXJuZWwgYm9vdGxvZ28gaXMgZGlzdHJvLXNwZWNpZmljIChkZWZhdWx0IGlzIE9FIGxvZ28pLgorIyBMb2dvIHJlc29sdXRpb24gKHF2Z2EsIHZnYSwgLi4uKSBpcyBtYWNoaW5lLXNwZWNpZmljLgorTE9HT19TSVpFID89ICcke0BiYXNlX2NvbmRpdGlvbmFsKCJNQUNISU5FX0dVSV9DTEFTUyIsICJiaWdzY3JlZW4iLCAidmdhIiwgInF2Z2EiLCBkKX0nCisjIFRvIHVzZSB0aGlzLCBhZGQgZmlsZTovLyR7TE9HT19TSVpFfS9sb2dvX2xpbnV4X2NsdXQyMjQucHBtLmJ6MiBvciBzaW1pbGFyCisjIHRvIHlvdXIga2VybmVsIHJlY2lwZSwgYW5kIHRoZW4gc3RydWN0dXJlIHlvdXIgbG9nb3MgZm9yIGVhY2ggcmVzb2x1dGlvbgorIyBhY2NvcmRpbmdseS4KKworTE9DQUxWRVJTSU9OID89ICIiCisKKyNrZXJuZWxfY29uZl92YXJpYWJsZSBDTURMSU5FICJcIiR7Q01ETElORX0gJHtDTURMSU5FX0RFQlVHfVwiIgora2VybmVsX2NvbmZfdmFyaWFibGUoKSB7CisgICAgQ09ORl9TRURfU0NSSVBUPSIkQ09ORl9TRURfU0NSSVBUIC9DT05GSUdfJDFbID1dL2Q7IgorICAgIGlmIHRlc3QgIiQyIiA9ICJuIgorICAgIHRoZW4KKyAgICAgICAgZWNobyAiIyBDT05GSUdfJDEgaXMgbm90IHNldCIgPj4gJHtCfS8uY29uZmlnCisgICAgZWxzZQorICAgICAgICBlY2hvICJDT05GSUdfJDE9JDIiID4+ICR7Qn0vLmNvbmZpZworICAgIGZpCit9CisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGVjaG8gIiIgPiAke0J9Ly5jb25maWcKKyAgICBDT05GX1NFRF9TQ1JJUFQ9IiIKKworICAgICMKKyAgICAjIGxvZ28gc3VwcG9ydCwgaWYgeW91IHN1cHBseSBsb2dvX2xpbnV4X2NsdXQyMjQucHBtIGluIFNSQ19VUkksIHRoZW4gaXQncyBnb2luZyB0byBiZSB1c2VkCisgICAgIworICAgIGlmIFsgLWUgJHtXT1JLRElSfS9sb2dvX2xpbnV4X2NsdXQyMjQucHBtIF07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbG9nb19saW51eF9jbHV0MjI0LnBwbSBkcml2ZXJzL3ZpZGVvL2xvZ28vbG9nb19saW51eF9jbHV0MjI0LnBwbQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBMT0dPIHkKKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgTE9HT19MSU5VWF9DTFVUMjI0IHkKKyAgICBmaQorCisgICAgIworICAgICMgb2FiaSAvIGVhYmkgc3VwcG9ydAorICAgICMKKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBBRUFCSSB5CisgICAgaWYgWyAiJHtBUk1fS0VFUF9PQUJJfSIgPSAiMSIgXSA7IHRoZW4KKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgT0FCSV9DT01QQVQgeQorICAgIGVsc2UKKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgT0FCSV9DT01QQVQgbgorICAgIGZpCisKKyAgICAjIFdoZW4gZW5hYmxpbmcgdGh1bWIgZm9yIHVzZXJzcGFjZSB3ZSBhbHNvIG5lZWQgdGh1bWIgc3VwcG9ydCBpbiB0aGUga2VybmVsCisgICAgaWYgWyAiJHtBUk1fSU5TVFJVQ1RJT05fU0VUfSIgPSAidGh1bWIiIF0gOyB0aGVuCisgICAgICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIEFSTV9USFVNQiB5CisgICAgZmkKKworICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIENNRExJTkUgIlwiJHtDTURMSU5FfSAke0NNRExJTkVfREVCVUd9XCIiCisKKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBMT0NBTFZFUlNJT04gIlwiJHtMT0NBTFZFUlNJT059XCIiCisgICAga2VybmVsX2NvbmZfdmFyaWFibGUgTE9DQUxWRVJTSU9OX0FVVE8gbgorCisgICAga2VybmVsX2NvbmZfdmFyaWFibGUgU1lTRlNfREVQUkVDQVRFRCBuCisgICAga2VybmVsX2NvbmZfdmFyaWFibGUgU1lTRlNfREVQUkVDQVRFRF9WMiBuCisgICAga2VybmVsX2NvbmZfdmFyaWFibGUgSE9UUExVRyB5CisgICAga2VybmVsX2NvbmZfdmFyaWFibGUgVUVWRU5UX0hFTFBFUl9QQVRIIFwiXCIKKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBVTklYIHkKKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBTWVNGUyB5CisgICAga2VybmVsX2NvbmZfdmFyaWFibGUgUFJPQ19GUyB5CisgICAga2VybmVsX2NvbmZfdmFyaWFibGUgVE1QRlMgeQorICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIElOT1RJRllfVVNFUiB5CisgICAga2VybmVsX2NvbmZfdmFyaWFibGUgU0lHTkFMRkQgeQorICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIFRNUEZTX1BPU0lYX0FDTCB5CisgICAga2VybmVsX2NvbmZfdmFyaWFibGUgQkxLX0RFVl9CU0cgeQorICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIERFVlRNUEZTIHkKKyAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBERVZUTVBGU19NT1VOVCB5CisKKyAgICAjIE5ld2VyIGluaXRzIGxpa2Ugc3lzdGVtZCBuZWVkIGNncm91cCBzdXBwb3J0CisgICAgaWYgWyAiJHtLRVJORUxfRU5BQkxFX0NHUk9VUFN9IiA9ICIxIiBdIDsgdGhlbgorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBDR1JPVVBfU0NIRUQgeQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBDR1JPVVBTIHkKKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgQ0dST1VQX05TIHkKKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgQ0dST1VQX0ZSRUVaRVIgeQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBDR1JPVVBfREVWSUNFIHkKKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgQ1BVU0VUUyB5CisgICAgICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIFBST0NfUElEX0NQVVNFVCB5CisgICAgICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIENHUk9VUF9DUFVBQ0NUIHkKKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgUkVTT1VSQ0VfQ09VTlRFUlMgeQorICAgIGZpCisKKyAgICAjCisgICAgIyByb290LW92ZXItbmZzLW92ZXItdXNiLWV0aCBzdXBwb3J0LiBMaW1pdGVkLCBidXQgc2hvdWxkIGNvdmVyIHNvbWUgY2FzZXMuCisgICAgIyBFbmFibGUgdGhpcyBieSBzZXR0aW5nIGEgcHJvcGVyIENNRExJTkVfTkZTUk9PVF9VU0IuCisgICAgIworICAgIGlmIFsgISAteiAiJHtDTURMSU5FX05GU1JPT1RfVVNCfSIgXTsgdGhlbgorICAgICAgICBiYm5vdGUgIkNvbmZpZ3VyaW5nIHRoZSBrZXJuZWwgZm9yIHJvb3Qtb3Zlci1uZnMtb3Zlci11c2ItZXRoIHdpdGggQ01ETElORSAke0NNRExJTkVfTkZTUk9PVF9VU0J9IgorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBJTkVUIHkKKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgSVBfUE5QIHkKKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgVVNCX0dBREdFVCB5CisgICAgICAgIGtlcm5lbF9jb25mX3ZhcmlhYmxlIFVTQl9HQURHRVRfU0VMRUNURUQgeQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBVU0JfRVRIIHkKKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgTkZTX0ZTIHkKKyAgICAgICAga2VybmVsX2NvbmZfdmFyaWFibGUgUk9PVF9ORlMgeQorICAgICAgICBrZXJuZWxfY29uZl92YXJpYWJsZSBDTURMSU5FIFwiJHtDTURMSU5FX05GU1JPT1RfVVNCfSAke0NNRExJTkVfREVCVUd9XCIKKyAgICBmaQorCisgICAgc2VkIC1lICIke0NPTkZfU0VEX1NDUklQVH0iIFwKKyAgICA8ICcke1dPUktESVJ9L2RlZmNvbmZpZycgPj4nJHtCfS8uY29uZmlnJworCisgICAgeWVzICcnIHwgb2VfcnVubWFrZSAtQyAke1N9IE89JHtCfSBvbGRjb25maWcKK30KKworZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKyAgICBpZiB0ZXN0IC1lIHNjcmlwdHMvTWFrZWZpbGUuZndpbnN0IDsgdGhlbgorICAgICAgICBzZWQgLWkgLWUgInM6LW0wNjQ0Oi1tIDA2NDQ6ZyIgc2NyaXB0cy9NYWtlZmlsZS5md2luc3QKKyAgICBmaQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBvZV9ydW5tYWtlIGhlYWRlcnNfaW5zdGFsbCBJTlNUQUxMX0hEUl9QQVRIPSR7RH0ke2V4ZWNfcHJlZml4fS9zcmMvbGludXgtJHtLRVJORUxfVkVSU0lPTn0gQVJDSD0kQVJDSAorfQorCitQQUNLQUdFUyA9KyAia2VybmVsLWhlYWRlcnMiCitGSUxFU19rZXJuZWwtaGVhZGVycyA9ICIke2V4ZWNfcHJlZml4fS9zcmMvbGludXgqIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2Etb3NzLTEuMC4xNy9saWJpby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLW9zcy0xLjAuMTcvbGliaW8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTA1M2U0YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLW9zcy0xLjAuMTcvbGliaW8ucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorSW5kZXg6IGFsc2Etb3NzLTEuMC4xNS9hbHNhL3N0ZGlvZW11LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhbHNhLW9zcy0xLjAuMTUub3JpZy9hbHNhL3N0ZGlvZW11LmMJMjAwNy0xMC0xNSAxMDo1MDo0MC4wMDAwMDAwMDAgKzAyMDAKKysrKyBhbHNhLW9zcy0xLjAuMTUvYWxzYS9zdGRpb2VtdS5jCTIwMDgtMDctMjEgMjI6MTc6MDYuMzAzMTYxNDM4ICswMjAwCitAQCAtMzcsNyArMzcsOSBAQAorICNlbmRpZgorIAorICNpbmNsdWRlIDxzdGRpby5oPgorKyNpZmRlZiBIQVZFX0xJQklPX0gKKyAjaW5jbHVkZSA8bGliaW8uaD4KKysjZW5kaWYKKyAKKyBzdHJ1Y3QgZmRfY29va2llIHsKKyAJaW50IGZkOworQEAgLTk5LDcgKzEwMSwxMSBAQAorIAorIAlpZiAob3Blbl9tb2RlICYmIGZkYy0+ZmQgPiAwKSB7CisgCQlyZXN1bHQgPSBmb3BlbmNvb2tpZSAoZmRjLCJ3IiwgZm5zKTsKKysjaWZkZWYgSEFWRV9GSUxFTk8KKyAJCXJlc3VsdC0+X2ZpbGVubyA9IGZkYy0+ZmQ7CQkvKiB1Z2x5IHBhdGNoeSBzbGlteSBrbHVkZ3kgaGFjayAqLworKyNlbHNlCisrCQlyZXN1bHQtPl9fZmlsZWRlcyA9IGZkYy0+ZmQ7CisrI2VuZGlmCisgCX0KKyAJcmV0dXJuIHJlc3VsdDsKKyB9CitJbmRleDogYWxzYS1vc3MtMS4wLjE1L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGFsc2Etb3NzLTEuMC4xNS5vcmlnL2NvbmZpZ3VyZS5pbgkyMDA3LTEwLTE1IDEwOjUwOjQwLjAwMDAwMDAwMCArMDIwMAorKysrIGFsc2Etb3NzLTEuMC4xNS9jb25maWd1cmUuaW4JMjAwOC0wNy0yMSAyMjoxNjoxMS43MTk4MzcyOTggKzAyMDAKK0BAIC0zMyw2ICszMywxMiBAQAorICAgTElCUz0iJE9MRF9MSUJTIgorIGZpCisgCisrQUNfQ0hFQ0tfSEVBREVSU19PTkNFKFtsaWJpby5oXSkKKysKKytBQ19DSEVDS19NRU1CRVIoW3N0cnVjdCBfSU9fRklMRS5fZmlsZW5vXSwKKysJCVtBQ19ERUZJTkUoW0hBVkVfRklMRU5PXSwgWzFdLFtEZWZpbmUgaWYgX2ZpbGVubyBleGlzdHMuXSldLAorKwkJW10sW10pCisrCisgQUNfT1VUUFVUKE1ha2VmaWxlIGFsc2EvTWFrZWZpbGUgYWxzYS9hb3NzIGFsc2EvYW9zcy5vbGQgXAorIAkgIG9zcy1yZWRpci9NYWtlZmlsZSB0ZXN0L01ha2VmaWxlIFwKKyAgICAgICAgICAgYWxzYS90ZXN0YW9zcyB0ZXN0L3Rlc3Rhb3NzKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2Etb3NzXzEuMC4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLW9zc18xLjAuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk2NmRiYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLW9zc18xLjAuMTcuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJBbHNhIE9TUyBDb21wYXRpYmlsaXR5IFBhY2thZ2UiCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOTNhNWNhNDQ1ZjY5NjU4NzNlY2EwMjU5YTE3ZjgzMyIKK0RFUEVORFMgPSAiYWxzYS1saWIiCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICJmdHA6Ly9mdHAuYWxzYS1wcm9qZWN0Lm9yZy9wdWIvb3NzLWxpYi9hbHNhLW9zcy0ke1BWfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vbGliaW8ucGF0Y2ggXAorIgorCitpbmhlcml0IGF1dG90b29scworCitMRUFEX1NPTkFNRSA9ICJsaWJhb3NzLnNvLjAiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICB0b3VjaCBORVdTIFJFQURNRSBBVVRIT1JTIENoYW5nZUxvZworICAgIHNlZCAtaSAicy9saWJhb3NzLnNvLyR7TEVBRF9TT05BTUV9LyIgJHtTfS9hbHNhL2Fvc3MuaW4KK30KKworU1JDX1VSSVttZDVzdW1dID0gIjFiMTg1MGMyZmM5MTQ3NmE3M2Q1MGY1MzdjYmQ0MDJmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkMDA5ZTIzZTJjYmVlMTY5MWVjM2M5NWQxODM4MDU2YTgwNGQ5ODQ0MGVhZTc3MTVkNmMzYWViYzcxMGY5Y2EiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2F1ZGlvZmlsZS9hdWRpb2ZpbGVfMC4yLjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2F1ZGlvZmlsZS9hdWRpb2ZpbGVfMC4yLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE4ODY1OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvYXVkaW9maWxlL2F1ZGlvZmlsZV8wLjIuNy5iYgpAQCAtMCwwICsxLDE1IEBACitERVNDUklQVElPTiA9ICJUaGUgQXVkaW8gRmlsZSBMaWJyYXJ5IHByb3ZpZGVzIGEgdW5pZm9ybSBhbmQgZWxlZ2FudCBcCitBUEkgZm9yIGFjY2Vzc2luZyBhIHZhcmlldHkgb2YgYXVkaW8gZmlsZSBmb3JtYXRzLCBzdWNoIGFzIEFJRkYvQUlGRi1DLCBcCitXQVZFLCBOZVhUL1N1biAuc25kLy5hdSwgQmVya2VsZXkvSVJDQU0vQ0FSTCBTb3VuZCBGaWxlLCBBdWRpbyBWaXN1YWwgXAorUmVzZWFyY2gsIEFtaWdhIElGRi84U1ZYLCBhbmQgTklTVCBTUEhFUkUuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy42OGsub3JnL35taWNoYWVsL2F1ZGlvZmlsZS8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2MiAmIEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5HUEw7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS9hdWRpb2ZpbGUvMC4yLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhMzliZTMxN2E3YjE5NzFiNDA4ODA1ZGM1ZTM3MTg2MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNjFjNDAzNmMyNjAwYTY0NTg0M2YxNmJlYzRiZTE2NjA5M2E5ZGY1ZjE1YjAyYzg1MjkxMjEzYWE5Y2YxNWEyIgorCitpbmhlcml0IGF1dG90b29scyBsaWJfcGFja2FnZSBiaW5jb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvY2Rya2l0L2NkcmtpdF8xLjEuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2NkcmtpdC9jZHJraXRfMS4xLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1NGI4OWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2NkcmtpdC9jZHJraXRfMS4xLjExLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiQ0QvRFZEIGNvbW1hbmQgbGluZSB0b29scyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jZHJraXQub3JnLyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIzMGQzYjI3NTBiNjY4MTMzZmMxN2I0MDFlMWI5OGY4IgorCisjIFdoaWxlIHdyaXRpbmcgZG93bmxvYWQgZnJvbSBjZHJraXQub3JnIHdhcyBicm9rZW4gc28gZ2V0IHNvdXJjZXMgZnJvbSBkZWJpYW4KK1NSQ19VUkkgPSAiIFwKKyAgICAke0RFQklBTl9NSVJST1J9L21haW4vYy8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6IFwKKyAgICBmaWxlOi8vMDAwMS1kby1ub3QtY3JlYXRlLWEtcnVuLXRlc3QtdG8tZGV0ZXJtaW5lLW9yZGVyLW9mLWJpdGZpLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZmUwOGUyZjNjYTQ3ODQ4NjAzN2IwNTNhY2Q1MTJlOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMWMwMzA3NTZlY2MxODJkZWZlZTlmZTg4NTYzOGMxNzg1ZDM1YTJjMmEyOTdiNDYwNGMwZTBkY2M3OGU0N2RhIgorCitpbmhlcml0IGNtYWtlCisKK0RFUEVORFMgPSAibGliY2FwIGZpbGUgYnppcDIiCitSREVQRU5EU18ke1BOfSA9ICJwZXJsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9jZHJraXQvZmlsZXMvMDAwMS1kby1ub3QtY3JlYXRlLWEtcnVuLXRlc3QtdG8tZGV0ZXJtaW5lLW9yZGVyLW9mLWJpdGZpLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9jZHJraXQvZmlsZXMvMDAwMS1kby1ub3QtY3JlYXRlLWEtcnVuLXRlc3QtdG8tZGV0ZXJtaW5lLW9yZGVyLW9mLWJpdGZpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NzI1Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2NkcmtpdC9maWxlcy8wMDAxLWRvLW5vdC1jcmVhdGUtYS1ydW4tdGVzdC10by1kZXRlcm1pbmUtb3JkZXItb2YtYml0ZmkucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorRnJvbSBhNzAyY2QxYmI1ZWJhNWEwNWQxMDk4ODYyYjViODYzYTNmNmRkNTU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVGh1LCAxMCBTZXAgMjAxNSAwOTozOToxMyArMDIwMAorU3ViamVjdDogW1BBVENIXSBkbyBub3QgY3JlYXRlIGEgcnVuIHRlc3QgdG8gZGV0ZXJtaW5lIG9yZGVyIG9mIGJpdGZpZWxkcworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCit0YWtlbiBmcm9tIFsxXQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Nyb3NzIGNvbXBpbGUgc3BlY2lmaWNdCisKK1sxXSBodHRwOi8vY2dpdC5vcGVuZW1iZWRkZWQub3JnL29wZW5lbWJlZGRlZC90cmVlL3JlY2lwZXMvY2Rya2l0L2NkcmtpdC94Y29uZmlnLnBhdGNoCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGluY2x1ZGUvQ01ha2VMaXN0cy50eHQgfCAyIC0tCisgaW5jbHVkZS94Y29uZmlnLmguaW4gICB8IDYgKysrKystCisgMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pbmNsdWRlL0NNYWtlTGlzdHMudHh0IGIvaW5jbHVkZS9DTWFrZUxpc3RzLnR4dAoraW5kZXggOTlhNjlmZC4uZTViYThhNyAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvQ01ha2VMaXN0cy50eHQKKysrKyBiL2luY2x1ZGUvQ01ha2VMaXN0cy50eHQKK0BAIC0zNSw4ICszNSw2IEBAIGVuZGlmKFZBX0xJU1RfSVNfQVJSQVkpCisgSU5DTFVERShUZXN0QmlnRW5kaWFuKQorIFRFU1RfQklHX0VORElBTihXT1JEU19CSUdFTkRJQU4pCisgCistVFJZX1JVTihCSVRGSUVMRFNfSFRPTCBURVNUX0RVTU1ZICR7Q01BS0VfQklOQVJZX0RJUn0gJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3Rlc3RfQklURklFTERTX0hUT0wuYykKKy0KKyBJTkNMVURFKENoZWNrSW5jbHVkZUZpbGVzKQorIAorICNTRVQoQ01BS0VfUkVRVUlSRURfSU5DTFVERVMgIi91c3IvaW5jbHVkZTsvdXNyL2xvY2FsL2luY2x1ZGUiKQorZGlmZiAtLWdpdCBhL2luY2x1ZGUveGNvbmZpZy5oLmluIGIvaW5jbHVkZS94Y29uZmlnLmguaW4KK2luZGV4IGMxMzA2MDAuLjQ3NmMwMGIgMTAwNjQ0CistLS0gYS9pbmNsdWRlL3hjb25maWcuaC5pbgorKysrIGIvaW5jbHVkZS94Y29uZmlnLmguaW4KK0BAIC0yMzMsNyArMjMzLDExIEBACisgLyogSWYgdXNpbmcgbmV0d29yayBieXRlIG9yZGVyICAgICAgICAgICAgICovCisgI2NtYWtlZGVmaW5lIFdPUkRTX0JJR0VORElBTgorIC8qIElmIGhpZ2ggYml0cyBjb21lIGZpcnN0IGluIHN0cnVjdHVyZXMgICAqLworLSNjbWFrZWRlZmluZSBCSVRGSUVMRFNfSFRPTAorKyNpZmRlZiBXT1JEU19CSUdFTkRJQU4KKysjZGVmaW5lIEJJVEZJRUxEU19IVE9MCisrI2Vsc2UKKysjZGVmaW5lIEJJVEZJRUxEU19MVE9ICisrI2VuZGlmCisgI2RlZmluZQlIQVZFX0NfQklHRU5ESUFOCS8qIEZsYWcgdGhhdCBXT1JEU19CSUdFTkRJQU4gdGVzdCB3YXMgZG9uZSAqLworICNkZWZpbmUJSEFWRV9DX0JJVEZJRUxEUwkvKiBGbGFnIHRoYXQgQklURklFTERTX0hUT0wgdGVzdCB3YXMgZG9uZSAgKi8KKyAKKy0tIAorMi4xLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9lc291bmQvZXNvdW5kL2NvbmZpZ3VyZS1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2Vzb3VuZC9lc291bmQvY29uZmlndXJlLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmRjMzVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9lc291bmQvZXNvdW5kL2NvbmZpZ3VyZS1maXgucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0tIC90bXAvY29uZmlndXJlLmFjCTIwMDgtMDYtMDIgMTY6NDY6NTUuNjQwNzkzMzA2ICswMjAwCisrKysgZXNvdW5kLTAuMi4zNi9jb25maWd1cmUuYWMJMjAwOC0wNi0wMiAxNjo0NzoyNi4wMzA3OTM0OTQgKzAyMDAKK0BAIC0yOSw2ICsyOSw3IEBACisgQUNfU1VCU1QocGtnZG9jZGlyKQorIAorIEFDX1BST0dfQ0MKKytBQ19QUk9HX0NYWAorIEFDX1BST0dfQ1BQCisgQUNfTElCVE9PTF9XSU4zMl9ETEwKKyBBTV9QUk9HX0xJQlRPT0wKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZXNvdW5kL2Vzb3VuZC9lc291bmRfMC4yLjM2LTF1YnVudHU1LmRpZmYuZ3ogYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2Vzb3VuZC9lc291bmQvZXNvdW5kXzAuMi4zNi0xdWJ1bnR1NS5kaWZmLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxOWY1ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2Vzb3VuZC9lc291bmQvZXNvdW5kXzAuMi4zNi0xdWJ1bnR1NS5kaWZmLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZXNvdW5kL2Vzb3VuZC9uby1kb2NzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9lc291bmQvZXNvdW5kL25vLWRvY3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmM2OWYxYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZXNvdW5kL2Vzb3VuZC9uby1kb2NzLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKK0luZGV4OiBlc291bmQtMC4yLjM2L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZXNvdW5kLTAuMi4zNi5vcmlnL01ha2VmaWxlLmFtCisrKysgZXNvdW5kLTAuMi4zNi9NYWtlZmlsZS5hbQorQEAgLTEsNSArMSw1IEBACisgCistU1VCRElSUyA9IGRvY3MKKytTVUJESVJTID0gCisgCisgQUNMT0NBTF9GTEFHUyA9IC1JIG00CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2Vzb3VuZC9lc291bmRfMC4yLjM2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9lc291bmQvZXNvdW5kXzAuMi4zNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzUzNThkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9lc291bmQvZXNvdW5kXzAuMi4zNi5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIkVubGlnaHRlbmVkIFNvdW5kIERhZW1vbiIKK1NFQ1RJT04gPSAiZ3BlL2Jhc2UiCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSIKK0RFUEVORFMgPSAiYXVkaW9maWxlIgorCitpbmhlcml0IGdub21lIGJpbmNvbmZpZworCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICJmdHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzL2Vzb3VuZC8wLjIvZXNvdW5kLTAuMi4zNi50YXIuYnoyO25hbWU9YXJjaGl2ZSBcCisgICAgICAgICAgIGZpbGU6Ly9lc291bmRfMC4yLjM2LTF1YnVudHU1LmRpZmYuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbm8tZG9jcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUtZml4LnBhdGNoIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzZmFjYjVhYTAxMTVjYzFjMzE3NzFiOWFkNDU0YWU3NiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjY4YmYzOTlmY2JkNDVjNWU5YmE5OWNkMTNhM2E0NzllNGVmMmJjNWRjNTJlNTQwZmZhMDBhZWYxZTFiMTlhNzYiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1hbHNhIFwKKyAgICAtLWRpc2FibGUtYXJ0cyBcCisgICAgLS1kaXNhYmxlLWFydHN0ZXN0IFwKKyIKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAnczovdXNyL2luY2x1ZGUvbW1lOiR7U1RBR0lOR19JTkNESVJ9L21tZTpnJyAke1N9L2NvbmZpZ3VyZS5hYworfQorCitQQUNLQUdFUyA9KyAiZXNkZHNwIGVzZCBlc2QtdXRpbHMiCisKK0ZJTEVTX2VzZGRzcCA9ICIke2JpbmRpcn0vZXNkZHNwICR7bGliZGlyfS9saWJlc2Rkc3Auc28uKiIKK0ZJTEVTX2VzZCA9ICIke2JpbmRpcn0vZXNkIgorRklMRVNfZXNkLXV0aWxzID0gIiR7YmluZGlyfS8qIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWQyL2ZhYWQyXzIuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhZDIvZmFhZDJfMi43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzZTU5MGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWQyL2ZhYWQyXzIuNy5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIHJlYWRpbmcgc29tZSBzb3J0IG9mIG1lZGlhIGZvcm1hdCIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM4MWM4Y2JlMjc3YTdiYzFlZTJhZTYwODNhMDRjOTU4IgorCitQUiA9ICJyMSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZmFhYy9mYWFkMi1zcmMvZmFhZDItJHtQVn0vJHtCUH0udGFyLmJ6MjtuYW1lPWZhYWQyIFwKKyIKKworU1JDX1VSSVtmYWFkMi5tZDVzdW1dID0gIjRjMzMyZmEyM2ZlYmMwZTQ2NDgwNjQ2ODVhM2Q0MzMyIgorU1JDX1VSSVtmYWFkMi5zaGEyNTZzdW1dID0gIjE0NTYxYjVkNmJjNDU3ZTgyNWJmZDM5MjFhZTUwYTY2NDhmMzc3YTkzOTZlYWYxNmQ0YjA1N2IzOWEzZjYzYjUiCisKK1BBQ0tBR0VTID0rICJsaWJmYWFkIGxpYmZhYWQtZGV2IGxpYm1wNGZmIGxpYm1wNGZmLWRldiIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9L2ZhYWQiCisKK0ZJTEVTX2xpYmZhYWQgPSAiJHtsaWJkaXJ9L2xpYmZhYWQuc28uKiIKK0ZJTEVTX2xpYmZhYWQtZGV2ID0gIiR7bGliZGlyfS9saWJmYWFkLnNvICR7bGliZGlyfS9saWJmYWFkLmxhICR7aW5jbHVkZWRpcn0vZmFhZC5oIgorRklMRVNfbGliZmFhZC1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYmZhYWQuYSIKKworRklMRVNfbGlibXA0ZmYgPSAiJHtsaWJkaXJ9L2xpYm1wNGZmLnNvLioiCitGSUxFU19saWJtcDRmZi1kZXYgPSAiJHtsaWJkaXJ9L2xpYm1wNGZmLnNvICR7bGliZGlyfS9saWJtcDRmZi5sYSAke2luY2x1ZGVkaXJ9L21wNGZmLmgiCitGSUxFU19saWJtcDRmZi1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYm1wNGZmLmEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvaWQzbGliL2lkM2xpYi9hY2RlZmluZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvaWQzbGliL2lkM2xpYi9hY2RlZmluZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWVkZWNjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9pZDNsaWIvaWQzbGliL2FjZGVmaW5lLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0FkZCBhIGRlc2NyaXB0aW9uIHRvIHRoZSBBQ19ERUZJTkUgc3RhdGVtZW50cyBzbyB0aGF0IGl0IGFwcGVhcnMgaW4gY29uZmlnLmggYW5kIHNpbGVuY2VzIGEgZmF0YWwgd2FybmluZy4KKworVXBzdHJlYW0tU3RhdHVzOlBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IE1hdHRoaWV1IENyYXBldCA8TWF0dGhpZXUuQ3JhcGV0QGluZ2VuaWNvLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8IDYgKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggYWJmZTRjZC4uY2UwZDM4MCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtMTY4LDcgKzE2OCw3IEBAIGlmIHRlc3QgJGhhc19pY29udiA9IDE7IHRoZW4KKyAJCWljb252X29sZHN0eWxlPTEsIGljb252X29sZHN0eWxlPTApCisgICBpZiB0ZXN0ICRpY29udl9vbGRzdHlsZSA9IDE7IHRoZW4KKyAgICAgQUNfTVNHX1JFU1VMVChjb25zdCBjaGFyICoqKQorLSAgICBBQ19ERUZJTkUoSUQzTElCX0lDT05WX09MRFNUWUxFKQorKyAgICBBQ19ERUZJTkUoSUQzTElCX0lDT05WX09MRFNUWUxFLFsxXSxbT2xkIGljb252IHByb3RvdHlwZSBkZWZpbml0aW9uIGluIGljb252LmhdKQorICAgICAjd2UnbGwgY2hlY2sgb3V0IHRoZSBuZWVkIG9mCisgICAgICN0eXBlY2FzdCBpbiB0aGUgY2FsbCBvZiBpY29udl9vcGVuCisgICAgIEFDX01TR19DSEVDS0lORyh3aGV0aGVyIHRvIHR5cGVjYXN0IGluIGljb252KQorQEAgLTE4NCw3ICsxODQsNyBAQCBpZiB0ZXN0ICRoYXNfaWNvbnYgPSAxOyB0aGVuCisgICAgICAgICAgICAgICAgICAgIGljb252X2Nhc3Q9MCwgaWNvbnZfY2FzdD0xKQorICAgICBpZiB0ZXN0ICRpY29udl9jYXN0ID0gMTsgdGhlbgorICAgICAgIEFDX01TR19SRVNVTFQoeWVzKQorLSAgICAgIEFDX0RFRklORShJRDNMSUJfSUNPTlZfQ0FTVF9PSykKKysgICAgICBBQ19ERUZJTkUoSUQzTElCX0lDT05WX0NBU1RfT0ssWzFdLFtBY2NlcHRpbmcgY29uc3QgY2hhciAqKiBpbiBpY29udiBwcm90b3R5cGVdKQorICAgICBlbHNlCisgICAgICAgQUNfTVNHX1JFU1VMVChubykKKyAgICAgZmkKK0BAIC0yMDYsNyArMjA2LDcgQEAgaWYgdGVzdCAkaGFzX2ljb252ID0gMTsgdGhlbgorICAgICAgICAgICAgICAgICAgICBpY29udl9jYXN0PTAsIGljb252X2Nhc3Q9MSkKKyAgICAgaWYgdGVzdCAkaWNvbnZfY2FzdCA9IDE7IHRoZW4KKyAgICAgICBBQ19NU0dfUkVTVUxUKHllcykKKy0gICAgICBBQ19ERUZJTkUoSUQzTElCX0lDT05WX0NBU1RfT0spCisrICAgICAgQUNfREVGSU5FKElEM0xJQl9JQ09OVl9DQVNUX09LLFsxXSxbQWNjZXB0aW5nIGNvbnN0IGNoYXIgKiogaW4gaWNvbnYgcHJvdG90eXBlXSkKKyAgICAgZWxzZQorICAgICAgIEFDX01TR19SRVNVTFQobm8pCisgICAgIGZpCistLSAKKzIuMC4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvaWQzbGliL2lkM2xpYl8zLjguMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvaWQzbGliL2lkM2xpYl8zLjguMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzgwY2MwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9pZDNsaWIvaWQzbGliXzMuOC4zLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBJRDMgdGFncyIKK1NFQ1RJT04gPSAibGlicy9tdWx0aW1lZGlhIgorTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTciCitERVBFTkRTID0gInpsaWIiCisKK1BSID0gInIxIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9pZDNsaWIvaWQzbGliLSR7UFZ9LnRhci5nejtuYW1lPWFyY2hpdmUgXAorICAgICAgICAgICBodHRwOi8vZnRwLmRlLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wvbWFpbi9pL2lkM2xpYjMuOC4zL2lkM2xpYjMuOC4zXzMuOC4zLTcuMi5kaWZmLmd6O25hbWU9cGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYWNkZWZpbmUucGF0Y2ggXAorIgorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMTlmMjdkZGQyZGRhNGIyZDI2YTU1OWE0ZjBmNDAyYTciCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIyNzQ5Y2MzYzBjZDcyODBiMjk5NTE4YjFkZGY1YTViY2ZlMmQxMTAwNjE0NTE5YjY4NzAyMjMwZTI2YzdkMDc5IgorU1JDX1VSSVtwYXRjaC5tZDVzdW1dID0gIjgwNWMwMzIwYTJlZmIyMWM0MGNlMDZmYTEzY2Q3YzRiIgorU1JDX1VSSVtwYXRjaC5zaGEyNTZzdW1dID0gIjlmMDNiNTljY2M4ODI2YTViZTU1YTNkY2RlMmY4ODkwNjdkNThiZGM3MmJmODQ2NDE2YTE5OGM5YjkzMzcwNGMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2phY2svamFjay9qYWNrX2ZpeF9UV0w0MDMwX2Fsc2FfY2FwdHVyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvamFjay9qYWNrL2phY2tfZml4X1RXTDQwMzBfYWxzYV9jYXB0dXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MzM3ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2phY2svamFjay9qYWNrX2ZpeF9UV0w0MDMwX2Fsc2FfY2FwdHVyZS5wYXRjaApAQCAtMCwwICsxLDMxIEBACistLS0gYS9kcml2ZXJzL2Fsc2EvYWxzYV9kcml2ZXIuYwkyMDA5LTA1LTA2IDA2OjM2OjA4LjAwMDAwMDAwMCArMTAwMAorKysrIGIvZHJpdmVycy9hbHNhL2Fsc2FfZHJpdmVyLmMJMjAxMC0wNy0yOCAyMTowMjo1Ny4yMzgxMDEwMjQgKzEwMDAKK0BAIC0yMzg4LDcgKzIzODgsNyBAQAorIAlzdHJjcHkgKHBhcmFtc1tpXS5uYW1lLCAicGVyaW9kIik7CisgCXBhcmFtc1tpXS5jaGFyYWN0ZXIgID0gJ3AnOworIAlwYXJhbXNbaV0udHlwZSAgICAgICA9IEphY2tEcml2ZXJQYXJhbVVJbnQ7CistCXBhcmFtc1tpXS52YWx1ZS51aSAgID0gMTAyNFU7CisrCXBhcmFtc1tpXS52YWx1ZS51aSAgID0gMjU2VTsgICAgICAgICAgICAvKiBUV0w0MDMwIGNhcHR1cmUuICovCisgCXN0cmNweSAocGFyYW1zW2ldLnNob3J0X2Rlc2MsICJGcmFtZXMgcGVyIHBlcmlvZCIpOworIAlzdHJjcHkgKHBhcmFtc1tpXS5sb25nX2Rlc2MsIHBhcmFtc1tpXS5zaG9ydF9kZXNjKTsKKyAKK0BAIC0yMzk2LDcgKzIzOTYsNyBAQAorIAlzdHJjcHkgKHBhcmFtc1tpXS5uYW1lLCAibnBlcmlvZHMiKTsKKyAJcGFyYW1zW2ldLmNoYXJhY3RlciAgPSAnbic7CisgCXBhcmFtc1tpXS50eXBlICAgICAgID0gSmFja0RyaXZlclBhcmFtVUludDsKKy0JcGFyYW1zW2ldLnZhbHVlLnVpICAgPSAyVTsKKysJcGFyYW1zW2ldLnZhbHVlLnVpICAgPSA0VTsgICAgICAgICAgICAgIC8qIFRXTDQwMzAgY2FwdHVyZS4gKi8KKyAJc3RyY3B5IChwYXJhbXNbaV0uc2hvcnRfZGVzYywgIk51bWJlciBvZiBwZXJpb2RzIG9mIHBsYXliYWNrIGxhdGVuY3kiKTsKKyAJc3RyY3B5IChwYXJhbXNbaV0ubG9uZ19kZXNjLCBwYXJhbXNbaV0uc2hvcnRfZGVzYyk7CisgCitAQCAtMjUxOCw4ICsyNTE4LDggQEAKKyBkcml2ZXJfaW5pdGlhbGl6ZSAoamFja19jbGllbnRfdCAqY2xpZW50LCBjb25zdCBKU0xpc3QgKiBwYXJhbXMpCisgeworICAgICAgICAgamFja19uZnJhbWVzX3Qgc3JhdGUgPSA0ODAwMDsKKy0JamFja19uZnJhbWVzX3QgZnJhbWVzX3Blcl9pbnRlcnJ1cHQgPSAxMDI0OworLQl1bnNpZ25lZCBsb25nIHVzZXJfbnBlcmlvZHMgPSAyOworKwlqYWNrX25mcmFtZXNfdCBmcmFtZXNfcGVyX2ludGVycnVwdCA9IDI1NjsgICAgICAvKiBUV0w0MDMwIG5lZWRzIHNtYWxsIG51bWJlciBvZiBmcmFtZXMgaGVyZS4gKi8KKysJdW5zaWduZWQgbG9uZyB1c2VyX25wZXJpb2RzID0gNDsgICAgICAgICAgICAgICAgLyogVFdMNDAzMCBuZWVkcyA0IHBlcmlvZHMgdG8gYXZvaWQgWFJ1bnMuICovCisgCWNoYXIgKnBsYXliYWNrX3BjbV9uYW1lID0gImh3OjAiOworIAljaGFyICpjYXB0dXJlX3BjbV9uYW1lID0gImh3OjAiOworIAlpbnQgaHdfbW9uaXRvcmluZyA9IEZBTFNFOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2svcmVtb3ZlLXdyb25nLWhvc3QtdGVzdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvamFjay9qYWNrL3JlbW92ZS13cm9uZy1ob3N0LXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjQxYzk4ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvamFjay9qYWNrL3JlbW92ZS13cm9uZy1ob3N0LXRlc3QucGF0Y2gKQEAgLTAsMCArMSw2OCBAQAorRnJvbSBiZTVmMTQzOWExZjM2YzBiYzcxNDQxMWQyMDE4NjA0NWJkM2U5NTM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KK0RhdGU6IFR1ZSwgMTIgSnVsIDIwMTEgMTI6NDg6MTQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gcmVtb3ZlIGJvZ3VzIGNoZWNrIGZvciBob3N0LXNpZGUgamFjayBpbnN0YWxscywgd2UgYXJlIGNyb3NzY29tcGlsaW5nIGFuZCBkb24ndCBjYXJlIGFib3V0IHRoZXNlIG1pc2d1aWRlZCBjaGVja3MKKworLS0tCisgY29uZmlndXJlLmFjIHwgICA0NSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgNDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDBhN2U2YmMuLjQwMzNjMjEgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTMsNTEgKzMsNiBAQCBkbmwgJElkOiBjb25maWd1cmUuYWMgNDQ2NyAyMDExLTA2LTIzIDE1OjEwOjAzWiBwYXVsICQKKyAKKyBBQ19JTklUKGphY2tkL2phY2tkLmMpCisgCistCistZG5sCistZG5sIENoZWNrIGZvciBleGlzdGluZyBKQUNLIGluc3RhbGxzCistZG5sIAorLQorLUFDX01TR19DSEVDS0lORyhbZXhpc3RpbmcsIGNvbmZsaWN0aW5nIEpBQ0sgaW5zdGFsbHNdKQorLW5vdF9vdmVyd3JpdGluZz0wCistaW5zdGFsbHM9CistZm9yIGRpciBpbiAvdXNyL2xpYiAvdXNyL2xvY2FsL2xpYiAvb3B0L2xpYiA7IGRvCistICAgIGlmIHRlc3QgLWQgJGRpciA7IHRoZW4KKy0JaWYgdGVzdCAkKGZpbmQgJGRpci8gLW5hbWUgJ2xpYmphY2suc28uKicgMj4vZGV2L251bGwgfCB3YyAtbCkgLWd0IDAgOyB0aGVuCistCSAgICBpZiBlY2hvICRwcmVmaXgvbGliIHwgZ3JlcCAtdnMgJGRpciA+L2Rldi9udWxsIDI+JjEgOyB0aGVuCistCQlub3Rfb3ZlcndyaXRpbmc9JChleHByICRub3Rfb3ZlcndyaXRpbmcgKyAxKQorLQkgICAgZmkKKy0JICAgIGluc3RhbGxzPSIkaW5zdGFsbHMgJGRpciIKKy0JZmkJICAgIAorLSAgICBmaQorLWRvbmUKKy0KKy1pZiB0ZXN0ICRub3Rfb3ZlcndyaXRpbmcgLWd0IDAgOyB0aGVuCistICAgIGVjaG8gCistICAgIGVjaG8KKy0gICAgZWNobyAiISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEiCistICAgIGVjaG8gIllvdSBhcHBlYXIgdG8gaGF2ZSBhdCBsZWFzdCBvbmUgZXhpc3RpbmcgaW5zdGFsbGF0aW9uIG9mIEpBQ0suIgorLSAgICBlY2hvCistICAgIGVjaG8gIkNvbXBsZXRlIG9yIHBhcnRpYWwgSkFDSyBpbnN0YWxscyBleGlzdCBpbjokaW5zdGFsbHMiCistICAgIGVjaG8gCistICAgIGVjaG8gIkluc3RhbGxpbmcgdGhpcyB2ZXJzaW9uIHdpbGwgbGVhdmUgYXQgbGVhc3Qgb25lIG9mIHRoZXNlIgorLSAgICBlY2hvICJleGlzdGluZyBpbnN0YWxsYXRpb25zIGluc3RhbGxlZCBhbmQgdGhpcyB3aWxsIHByb2JhYmx5IGJyZWFrIgorLSAgICBlY2hvICJKQUNLIG9uIHlvdXIgbWFjaGluZS4gIgorLSAgICBlY2hvCistICAgIGVjaG8gIkJlZm9yZSBidWlsZGluZywgeW91IHNob3VsZCBmaXJzdCByZW1vdmUgdGhlIGV4aXN0aW5nIEpBQ0siCistICAgIGVjaG8gImluc3RhbGxhdGlvbihzKS4gIgorLSAgICBlY2hvCistICAgIGVjaG8gIkFsdGVybmF0aXZlbHkgdXNlIC4vY29uZmlndXJlIC0tcHJlZml4PS4uLiB0byBmb3JjZSBvdmVyd3JpdGluZyIKKy0gICAgZWNobyAidGhlIGV4aXN0aW5nIGluc3RhbGwuIgorLSAgICBlY2hvCistICAgIGVjaG8gIldBUk5JTkc6IE9OIEFOWSBERUJJQU4tREVSSVZFRCBESVNUUklCVVRJT04gKERlYmlhbiwgVWJ1bnR1IGV0YykiCistICAgIGVjaG8gIkNIQU5HSU5HIFRIRSBJTlNUQUxMQVRJT04gUFJFRklYIFdJTEwgTk9UIFBST0RVQ0UgQSBXT1JLSU5HIEpBQ0siCistICAgIGVjaG8gIklOU1RBTEwuIFBsZWFzZSBjb250YWN0IHRoZSBkaXN0cmlidXRpb24gcGFja2FnZXIgZm9yIEpBQ0sgYW5kIgorLSAgICBlY2hvICJhc2sgdGhlbSB0byBmaXggdGhlaXIgcGFja2FnaW5nLiIKKy0gICAgZWNobyAiISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEiCistICAgIGV4aXQgMQorLWZpCistCisgQUNfQ09ORklHX0FVWF9ESVIoY29uZmlnKQorIEFDX0NBTk9OSUNBTF9UQVJHRVQKKyAKKy0tIAorMS42LjYuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2phY2svamFja18wLjEyMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2tfMC4xMjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjMzOTI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2tfMC4xMjEuMC5iYgpAQCAtMCwwICsxLDQwIEBACitERVNDUklQVElPTiA9ICJKQUNLIGlzIGEgbG93LWxhdGVuY3kgYXVkaW8gc2VydmVyLiBJdCBjYW4gXAorY29ubmVjdCBhIG51bWJlciBvZiBkaWZmZXJlbnQgYXBwbGljYXRpb25zIHRvIGFuIGF1ZGlvIFwKK2RldmljZSwgYXMgd2VsbCBhcyBhbGxvd2luZyB0aGVtIHRvIHNoYXJlIGF1ZGlvIGJldHdlZW4gXAordGhlbXNlbHZlcy4iCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKKworTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzAzMDQ2ODIzOGIyY2Y4OTkyNWE1N2YyNzgwMzk2YTcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5HUEw7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9ZTc3ZmU5MzIwMjczNmI0N2MwNzAzNTkxMGY0Nzk3NGEgXAorIgorCitERVBFTkRTID0gImFsc2EtbGliIGxpYnNhbXBsZXJhdGUwIHJlYWRsaW5lIgorCitTUkNSRVYgPSAiOTFhNjg4YzYwMmI3Y2UxNzExZDhhZDEwZmIwN2ViY2YyZTUzMGE2NCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9qYWNrYXVkaW8vamFjazEuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZS13cm9uZy1ob3N0LXRlc3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vamFja19maXhfVFdMNDAzMF9hbHNhX2NhcHR1cmUucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXRpbWVzdGFtcHMgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1jYXBhYmlsaXRpZXMgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1vbGR0cmFucyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXBvcnRhdWRpbyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWNvcmVhdWRpbyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW9zcyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtYWxzYSIKKworRVhUUkFfT0VNQUtFID0gJ3RyYW5zZm9ybT0icyxeLCwiJworCitQQUNLQUdFUyA9KyAibGliamFjayBqYWNrLXNlcnZlciBqYWNrLXV0aWxzIgorCitGSUxFU19saWJqYWNrID0gIiR7bGliZGlyfS8qLnNvLiogJHtsaWJkaXJ9L2phY2svKi5zbyIKK0ZJTEVTX2phY2stc2VydmVyID0gIiR7YmluZGlyfS9qYWNrZCIKK0ZJTEVTX2phY2stdXRpbHMgPSAiJHtiaW5kaXJ9LyoiCitGSUxFU18ke1BOfS1kb2MgKz0gIiAke2RhdGFkaXJ9L2phY2stYXVkaW8tY29ubmVjdGlvbi1raXQvcmVmZXJlbmNlL2h0bWwvKiAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmFzcy9saWJhc3MuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJhc3MvbGliYXNzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjhjZDE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJhc3MvbGliYXNzLmluYwpAQCAtMCwwICsxLDI4IEBACitERVNDUklQVElPTiA9ICJsaWJhc3MgaXMgYSBwb3J0YWJsZSBzdWJ0aXRsZSByZW5kZXJlciBmb3IgdGhlIEFTUy9TU0EgKEFkdmFuY2VkIFN1YnN0YXRpb24gQWxwaGEvU3Vic3RhdGlvbiBBbHBoYSkgc3VidGl0bGUgZm9ybWF0LiBJdCBpcyBtb3N0bHkgY29tcGF0aWJsZSB3aXRoIFZTRmlsdGVyLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9saWJhc3MvIgorU0VDVElPTiA9ICJsaWJzL211bHRpbWVkaWEiCisKK0xJQ0VOU0UgPSAiSVNDIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGFlOTg2NjNiYWM1NWFmZTVkOTg5OTE5ZDI5NmYyOGEiCisKK0RFUEVORFMgPSAiZW5jYSBmb250Y29uZmlnIGZyZWV0eXBlIGxpYnBuZyBmcmliaWRpIgorCitJTkNfUFIgPSAicjEiCisKK1NSQ19VUkkgPSAiaHR0cDovLyR7QlBOfS5nb29nbGVjb2RlLmNvbS9maWxlcy8ke0JQfS50YXIuZ3oiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1toYXJmYnV6el0gPSAiLS1lbmFibGUtaGFyZmJ1enosLS1kaXNhYmxlLWhhcmZidXp6LGhhcmZidXp6IgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWVuYWJsZS1lbmNhIFwKKyAgICAtLWVuYWJsZS1mb250Y29uZmlnIFwKKyIKKworUEFDS0FHRVMgPSsgIiR7UE59LXRlc3RzIgorCitGSUxFU18ke1BOfS10ZXN0cyA9ICIgXAorICAgICR7bGliZGlyfS90ZXN0L3Rlc3QgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJhc3MvbGliYXNzXzAuMTAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGliYXNzL2xpYmFzc18wLjEwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIzMjI3NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGliYXNzL2xpYmFzc18wLjEwLjEuYmIKQEAgLTAsMCArMSw1IEBACityZXF1aXJlICR7UE59LmluYworUFIgPSAiJHtJTkNfUFJ9LjAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2Y2FjZTQ4MmEwMTNhM2M0YmYzYjMxYTY4YWM2NjAyNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MjlhN2U4MWZmZjkyZGVhOGQwMzk5YjgxOGE0MWZkMWI2MWUzODFjNjdhNTk2MWIxZWFlYzJlZmFkYjE0YzZjIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJidXJuL2xpYmJ1cm5fMS40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmJ1cm4vbGliYnVybl8xLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWZlNjkzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJidXJuL2xpYmJ1cm5fMS40LjAuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciByZWFkaW5nLCBtYXN0ZXJpbmcgYW5kIHdyaXRpbmcgb3B0aWNhbCBkaXNjcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9saWJidXJuaWEtcHJvamVjdC5vcmcvIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWFjMmU3Y2ZmMWRkYWY0OGI2ZWFiNjAyOGYyM2VmODgiCisKK1NSQ19VUkkgPSAiaHR0cDovL2ZpbGVzLmxpYmJ1cm5pYS1wcm9qZWN0Lm9yZy9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjgyZmY5NGJiMDRlNzhlYWM5YjEyYzc1NDZmMDA1ZDZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZjOTc1YWJhZTRhZTFmODBlNDdmYzVkMWUyMzVmODUxNTdmNzNlOTU0Yzg0NjI3YTVlZjg1ZDhiMWI5NWFlOTQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJjZGlvL2xpYmNkaW9fMC45My5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGliY2Rpby9saWJjZGlvXzAuOTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjIxZjkxNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGliY2Rpby9saWJjZGlvXzAuOTMuYmIKQEAgLTAsMCArMSwyNSBAQAorRVNDUklQVElPTiA9ICJUaGUgR05VIENvbXBhY3QgRGlzYyBJbnB1dCBhbmQgQ29udHJvbCBsaWJyYXJ5IChsaWJjZGlvKSBjb250YWlucyBhIGxpYnJhcnkgZm9yIENELVJPTSBhbmQgQ0QgaW1hZ2UgYWNjZXNzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJjZGlvLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJuY3Vyc2VzIgorCitTUkNfVVJJID0gIiR7R05VX01JUlJPUn0vJHtCUE59LyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMTU0NDc2ZmVhYWM1YTdiNWYxODBlODNlYWYzZDY4OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0OTcyY2QyMmZkOGQwZThiZmY5MjJkMzVjN2E2NDViZTBkYjBhYjBlN2IzZGZhZWNjOWNkODI3MjQyOWQ2OTc1IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUEFDS0FHRVMgKz0gIiR7UE59LXV0aWxzIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vJHtQTn0ke1NPTElCfSIKK0ZJTEVTXyR7UE59LXV0aWxzID0gIiR7YmluZGlyfS8qIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgZ2xpYmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0nKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdsaWJkaXIsICdebGliKC4qKVwuc29cLi4qJywgJ2xpYiVzJywgJ2dzdHJlYW1lciAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkdmRyZWFkL2xpYmR2ZHJlYWRfNS4wLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmR2ZHJlYWQvbGliZHZkcmVhZF81LjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTA2NzI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkdmRyZWFkL2xpYmR2ZHJlYWRfNS4wLjMuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJEVkQgYWNjZXNzIG11bHRpbWVkYSBsaWJyYXJ5IgorU0VDVElPTiA9ICJsaWJzL211bHRpbWVkaWEiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTY0ZTc1M2ZhN2QxY2EzMTYzMmJjMzgzZGEzYjU3YzI3IgorU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQudmlkZW9sYW4ub3JnL3B1Yi92aWRlb2xhbi9saWJkdmRyZWFkLyR7UFZ9L2xpYmR2ZHJlYWQtJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gImI3YjdkMmE3ODIwODdlZDJhOTEzMjYzMDg3MDgzNzE1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMyMWNkZjJkYmRjODNjOTY1NzJiYzU4M2NkMjdkOGM2NjBkZGI1NDBmZjE2NjcyZWNiMjg2MDdkMDE4ZWQ4MmIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlIGJpbmNvbmZpZyBwa2djb25maWcKKworQ09ORklHVVJFT1BUU19yZW1vdmUgPSAiLS1kaXNhYmxlLXNpbGVudC1ydWxlcyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJtbXMvbGlibW1zXzAuNi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJtbXMvbGlibW1zXzAuNi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzMTM5NGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYm1tcy9saWJtbXNfMC42LjQuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJNTVMgc3RyZWFtIHByb3RvY29sIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYm1tcy8iCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKKworTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWZhZDliMzMzMmJlODk0YmFiOWJjNTAxNTcyODY0YjI5IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0LyR7QlBOfS8ke0JQTn0vJHtQVn0vJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImQ2YjY2NWIzMzVhNjM2MGUwMDA5NzZlNzcwZGE3NjkxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNjMDVlMDVhZWJjYmZjYzA0NGQ5ZThjMmQ0NjQ2Y2Q4MzU5YmUzOWEzZjBiYThjZTRlNzJhOTA5NGJlZTcwNGYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJtb2RwbHVnL2xpYm1vZHBsdWdfMC44LjguNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlibW9kcGx1Zy9saWJtb2RwbHVnXzAuOC44LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA3MDI0NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlibW9kcGx1Zy9saWJtb2RwbHVnXzAuOC44LjUuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciByZWFkaW5nIG1vZC1saWtlIGF1ZGlvIGZpbGVzIgorSE9NRVBBR0UgPSAiaHR0cDovL21vZHBsdWcteG1tcy5zZi5uZXQiCisKK0xJQ0VOU0UgPSAiUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jOTE4MmZhYTFmN2MzMTZmN2I5N2Q0MDRiY2JlMzY4NSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbW9kcGx1Zy14bW1zL2xpYm1vZHBsdWctJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjVmMzAyNDFkYjEwOWQ2NDc3ODFiNzg0ZTYyZGRmYWExIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc3NDYyZDEyZWU5OTQ3NmM4NjQ1Y2I1NTExMzYzZTM5MDZiODhiMzNhNmI1NDM2MmI0ZGJjMGYzOWFhMmRhYWQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW9wdGlvbi1jaGVja2luZyIKKworIyBOT1RFOiBhdXRvdG9vbHNfc3RhZ2VfYWxsIGRvZXMgbm90aGluZyBoZXJlLCB3ZSBuZWVkIHRvIGRvIGl0IG1hbnVhbGx5Citkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2xpYm1vZHBsdWcKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvbW9kcGx1Zy5oICR7RH0ke2luY2x1ZGVkaXJ9L2xpYm1vZHBsdWcKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvbW9kcGx1Zy5oICR7RH0ke2luY2x1ZGVkaXJ9LworfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYm9wdXMvbGlib3B1c18xLjEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlib3B1cy9saWJvcHVzXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkOWE2MzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYm9wdXMvbGlib3B1c18xLjEuMi5iYgpAQCAtMCwwICsxLDUwIEBACitTVU1NQVJZID0gIk9wdXMgQXVkaW8gQ29kZWMiCitERVNDUklQVElPTiA9ICJUaGUgT3B1cyBjb2RlYyBpcyBkZXNpZ25lZCBmb3IgaW50ZXJhY3RpdmUgXAorc3BlZWNoIGFuZCBhdWRpbyB0cmFuc21pc3Npb24gb3ZlciB0aGUgSW50ZXJuZXQuIEl0IGlzIFwKK2Rlc2lnbmVkIGJ5IHRoZSBJRVRGIENvZGVjIFdvcmtpbmcgR3JvdXAgYW5kIGluY29ycG9yYXRlcyBcCit0ZWNobm9sb2d5IGZyb20gU2t5cGUncyBTSUxLIGNvZGVjIGFuZCBYaXBoLk9yZydzIENFTFQgY29kZWMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcHVzLWNvZGVjLm9yZy8iCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTMwNGNkZjc0YzJhMWIwYTMzYTUwODRjMTI4YTIzYTMiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy54aXBoLm9yZy9yZWxlYXNlcy9vcHVzL29wdXMtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjFmMDhhNjYxYmM3MjkzMDE4Nzg5M2EwN2YzNzQxYTkxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBlMjkwMDc4ZTMxMjExYmFhN2I1ODg2YmNjOGFiNmJjMDQ4YjlmYzgzODgyNTMyZGE0YTFhNDVlNThlOTA3ZmQiCisKK1MgPSAiJHtXT1JLRElSfS9vcHVzLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbZml4ZWQtcG9pbnRdID0gIi0tZW5hYmxlLWZpeGVkLXBvaW50LCwiCitQQUNLQUdFQ09ORklHW2Zsb2F0LWFwcHJveF0gPSAiLS1lbmFibGUtZmxvYXQtYXBwcm94LCwiCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtTkUxMC1pbmNsdWRlcz0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2luY2x1ZGVkaXJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtTkUxMC1saWJyYXJpZXM9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtsaWJkaXJ9IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1hc20gXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWludHJpbnNpY3MgXAorICAgICAgICAgICAgICAgIgorCitweXRob24gKCkgeworICAgIGlmIGQuZ2V0VmFyKCdUQVJHRVRfRlBVJywgVHJ1ZSkgaW4gWyAnc29mdCcgXToKKyAgICAgICAgZC5hcHBlbmRWYXIoJ1BBQ0tBR0VDT05GSUcnLCAnIGZpeGVkLXBvaW50JykKKworICAgICMgTmUxMCBpcyBvbmx5IGF2YWlsYWJsZSBmb3IgYXJtdjcgYW5kIGFhcmNoNjQKKyAgICBpZiBhbnkoKHQuc3RhcnRzd2l0aCgnYXJtdjcnKSBvciB0LnN0YXJ0c3dpdGgoJ2FhcmNoNjQnKSkgZm9yIHQgaW4gZC5nZXRWYXIoJ1RVTkVfRkVBVFVSRVMnLCBUcnVlKS5zcGxpdCgpKToKKyAgICAgICAgZC5hcHBlbmRWYXIoJ0RFUEVORFMnLCAnIG5lMTAnKQorfQorCisjIEZhaWxzIHRvIGJ1aWxkIHdpdGggdGh1bWItMSAocWVtdWFybSkKKyN8IHtzdGFuZGFyZCBpbnB1dH06IEFzc2VtYmxlciBtZXNzYWdlczoKKyN8IHtzdGFuZGFyZCBpbnB1dH06Mzg5OiBFcnJvcjogc2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgVGh1bWIgbW9kZSBgc211bGwgcjUscjcscjEscjQnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjQxODogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYHNtdWxsIHI1LHI2LHI0LHIxJworI3wge3N0YW5kYXJkIGlucHV0fTo0NDg6IEVycm9yOiBzZWxlY3RlZCBwcm9jZXNzb3IgZG9lcyBub3Qgc3VwcG9ydCBUaHVtYiBtb2RlIGBzbXVsbCByNCxyNSxyMSxyMCcKKyN8IHtzdGFuZGFyZCBpbnB1dH06NDc0OiBFcnJvcjogc2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgVGh1bWIgbW9kZSBgc211bGwgcjAscjQscjgscjEnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjUxMDogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYHNtdWxsIGZwLHIwLHIxMCxyMScKKyN8IHtzdGFuZGFyZCBpbnB1dH06NTUzOiBFcnJvcjogc2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgVGh1bWIgbW9kZSBgc211bGwgZnAscjEscjEwLHIzJworI3wge3N0YW5kYXJkIGlucHV0fTo3NDE6IEVycm9yOiBzZWxlY3RlZCBwcm9jZXNzb3IgZG9lcyBub3Qgc3VwcG9ydCBUaHVtYiBtb2RlIGBzbXVsbCByMyxyMCxyNixyMTAnCisjfCB7c3RhbmRhcmQgaW5wdXR9Ojc2MTogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYHNtdWxsIGZwLHIyLHIzLHI5JworI3wge3N0YW5kYXJkIGlucHV0fTo3NzM6IEVycm9yOiBzZWxlY3RlZCBwcm9jZXNzb3IgZG9lcyBub3Qgc3VwcG9ydCBUaHVtYiBtb2RlIGBzbXVsbCBmcCxyMyxyNSxyOCcKKyN8IG1ha2VbMl06ICoqKiBbY2VsdC9jZWx0LmxvXSBFcnJvciAxCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic2RsLWltYWdlL2xpYnNkbC1pbWFnZS9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNkbC1pbWFnZS9saWJzZGwtaW1hZ2UvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyOTlkMzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNkbC1pbWFnZS9saWJzZGwtaW1hZ2UvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0luZGV4OiBTRExfaW1hZ2UtMS4yLjEyL2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIFNETF9pbWFnZS0xLjIuMTIub3JpZy9jb25maWd1cmUuaW4JMjAxMi0wMS0yMSAwMTo1MTozMy4wMDAwMDAwMDAgKzAwMDAKKysrKyBTRExfaW1hZ2UtMS4yLjEyL2NvbmZpZ3VyZS5pbgkyMDE0LTA3LTE4IDA2OjU2OjU2Ljg1MzQ2NjY3OCArMDAwMAorQEAgLTEsNSArMSw0IEBACisgZG5sIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcHJvZHVjZSBhIGNvbmZpZ3VyZSBzY3JpcHQuCistQUNfSU5JVChSRUFETUUpCisgCisgZG5sIFNldCB2YXJpb3VzIHZlcnNpb24gc3RyaW5ncyAtIHRha2VuIGdyYXRlZnVsbHkgZnJvbSB0aGUgR1RrIHNvdXJjZXMKKyAKK0BAIC0xMSwxMiArMTAsMTkgQEAKKyAjIGlmIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGhhcyBiZWVuIGJyb2tlbiwKKyAjIHNldCBCSU5BUllfQUdFIGFuZCBJTlRFUkZBQ0VfQUdFIHRvIDAuCisgCistTUFKT1JfVkVSU0lPTj0xCistTUlOT1JfVkVSU0lPTj0yCistTUlDUk9fVkVSU0lPTj0xMgorK200X2RlZmluZShbc2RsaW1hZ2VfbWFqb3JfdmVyc2lvbl0sWzFdKQorK200X2RlZmluZShbc2RsaW1hZ2VfbWlub3JfdmVyc2lvbl0sWzJdKQorK200X2RlZmluZShbc2RsaW1hZ2VfbWljcm9fdmVyc2lvbl0sWzEyXSkKKyttNF9kZWZpbmUoW3NkbGltYWdlX3ZlcnNpb25dLCBbc2RsaW1hZ2VfbWFqb3JfdmVyc2lvbi5zZGxpbWFnZV9taW5vcl92ZXJzaW9uLnNkbGltYWdlX21pY3JvX3ZlcnNpb25dKQorKworK0FDX0lOSVQoW1NETF9pbWFnZV0sIFtzZGxpbWFnZV92ZXJzaW9uXSkKKysKKytNQUpPUl9WRVJTSU9OPXNkbGltYWdlX21ham9yX3ZlcnNpb24KKytNSU5PUl9WRVJTSU9OPXNkbGltYWdlX21pbm9yX3ZlcnNpb24KKytNSUNST19WRVJTSU9OPXNkbGltYWdlX21pY3JvX3ZlcnNpb24KKyBJTlRFUkZBQ0VfQUdFPTQKKyBCSU5BUllfQUdFPTEyCistVkVSU0lPTj0kTUFKT1JfVkVSU0lPTi4kTUlOT1JfVkVSU0lPTi4kTUlDUk9fVkVSU0lPTgorK1ZFUlNJT049c2RsaW1hZ2VfdmVyc2lvbgorIAorIEFDX1NVQlNUKE1BSk9SX1ZFUlNJT04pCisgQUNfU1VCU1QoTUlOT1JfVkVSU0lPTikKK0BAIC00Miw3ICs0OCw3IEBACisgQUNfQ0FOT05JQ0FMX0hPU1QKKyAKKyBkbmwgU2V0dXAgZm9yIGF1dG9tYWtlCistQU1fSU5JVF9BVVRPTUFLRShTRExfaW1hZ2UsICRWRVJTSU9OKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIAorIGRubCBDaGVjayBmb3IgdG9vbHMKKyBBQ19QUk9HX0xJQlRPT0wKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic2RsLWltYWdlL2xpYnNkbC1pbWFnZV8xLjIuMTIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNkbC1pbWFnZS9saWJzZGwtaW1hZ2VfMS4yLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhOGU5ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNkbC1pbWFnZS9saWJzZGwtaW1hZ2VfMS4yLjEyLmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiU2ltcGxlIERpcmVjdE1lZGlhIExheWVyIGltYWdlIGxpYnJhcnkiCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiWmxpYiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTYxMzczNGI3NTg2ZTE1ODBlZjk0NDk2MWM2ZDYyMjI3IgorCitERVBFTkRTID0gInRpZmYgemxpYiBsaWJwbmcganBlZyB2aXJ0dWFsL2xpYnNkbCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpYnNkbC5vcmcvcHJvamVjdHMvU0RMX2ltYWdlL3JlbGVhc2UvU0RMX2ltYWdlLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiYTBmOTA5OGViZTU0MDBmMGJkYzliNjJlNjA3OTdlY2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGI5MDcyMjk4NDU2MTAwNGRlODQ4NDc3NDRkNTY2ODA5ZGJiOWRhZjczMmE5ZTUwM2I5MWExYjVhODRlNTY5OSIKKworUyA9ICIke1dPUktESVJ9L1NETF9pbWFnZS0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK2V4cG9ydCBTRExfQ09ORklHID0gIiR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L3NkbC1jb25maWciCisKKyMgRGlzYWJsZSB0aGUgcnVuLXRpbWUgbG9hZGluZyBvZiB0aGUgbGlicyBhbmQgYnJpbmcgYmFjayB0aGUgc29uYW1lIGRlcGVuZGVuY2llcy4KK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWpwZy1zaGFyZWQgLS1kaXNhYmxlLXBuZy1zaGFyZWQgLWRpc2FibGUtdGlmLXNoYXJlZCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyBSZW1vdmluZyB0aGVzZSBmaWxlcyBmaXhlcyBhIGxpYnRvb2wgdmVyc2lvbiBtaXNtYXRjaC4KKyAgICBybSAtZiAke1N9L2FjaW5jbHVkZS9saWJ0b29sLm00CisgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvc2RsLm00CisgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvcGtnLm00CisgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvbHR+b2Jzb2xldGUubTQKKyAgICBybSAtZiAke1N9L2FjaW5jbHVkZS9sdG9wdGlvbnMubTQKKyAgICBybSAtZiAke1N9L2FjaW5jbHVkZS9sdHN1Z2FyLm00CisgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvbHR2ZXJzaW9uLm00Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNkbC1pbWFnZS9saWJzZGwyLWltYWdlXzIuMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzZGwtaW1hZ2UvbGlic2RsMi1pbWFnZV8yLjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjljNzk0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzZGwtaW1hZ2UvbGlic2RsMi1pbWFnZV8yLjAuMS5iYgpAQCAtMCwwICsxLDMxIEBACitTVU1NQVJZID0gIlNpbXBsZSBEaXJlY3RNZWRpYSBMYXllciBpbWFnZSBsaWJyYXJ5IHYyIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLnR4dDttZDU9ZWM2NWI5Nzc4ZjU1ODRhMGJkOGRmYzE3ZDYzNDBiYTAiCisKK0RFUEVORFMgPSAidGlmZiB6bGliIGxpYnBuZyBqcGVnIHZpcnR1YWwvbGlic2RsMiBsaWJ3ZWJwIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubGlic2RsLm9yZy9wcm9qZWN0cy9TRExfaW1hZ2UvcmVsZWFzZS9TREwyX2ltYWdlLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkOTRiOTQ1NTViYTAyMmZhMjQ5YTUzYTAyMWRjMzYwNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYTNlYWZiY2VlYTUxMjVjMDRiZTU4NTM3M2JmZDhiM2ExOGYyNTliZDdlYWUzZWZjNGU2ZDhlNjBlMGQ3ZjY0IgorCitTID0gIiR7V09SS0RJUn0vU0RMMl9pbWFnZS0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKKyMgRGlzYWJsZSB0aGUgcnVuLXRpbWUgbG9hZGluZyBvZiB0aGUgbGlicyBhbmQgYnJpbmcgYmFjayB0aGUgc29uYW1lIGRlcGVuZGVuY2llcy4KK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWpwZy1zaGFyZWQgLS1kaXNhYmxlLXBuZy1zaGFyZWQgLWRpc2FibGUtdGlmLXNoYXJlZCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyBtYWtlIGF1dG9yZWNvbmYgaGFwcHkKKyAgICB0b3VjaCAke1N9L05FV1MgJHtTfS9SRUFETUUgJHtTfS9BVVRIT1JTICR7U30vQ2hhbmdlTG9nCisgICAgIyBSZW1vdmluZyB0aGVzZSBmaWxlcyBmaXhlcyBhIGxpYnRvb2wgdmVyc2lvbiBtaXNtYXRjaC4KKyAgICBybSAtZiAke1N9L2FjaW5jbHVkZS9saWJ0b29sLm00CisgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvc2RsMi5tNAorICAgIHJtIC1mICR7U30vYWNpbmNsdWRlL3BrZy5tNAorICAgIHJtIC1mICR7U30vYWNpbmNsdWRlL2x0fm9ic29sZXRlLm00CisgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvbHRvcHRpb25zLm00CisgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvbHRzdWdhci5tNAorICAgIHJtIC1mICR7U30vYWNpbmNsdWRlL2x0dmVyc2lvbi5tNAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzZGwtbWl4ZXIvbGlic2RsLW1peGVyL2NvbmZpZ3VyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic2RsLW1peGVyL2xpYnNkbC1taXhlci9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM5ZThkMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic2RsLW1peGVyL2xpYnNkbC1taXhlci9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorZGlmZiAtTnVyZCBTRExfbWl4ZXItMS4yLjEyL2NvbmZpZ3VyZS5pbiBTRExfbWl4ZXItMS4yLjEyL2NvbmZpZ3VyZS5pbgorLS0tIFNETF9taXhlci0xLjIuMTIvY29uZmlndXJlLmluCTIwMTItMDEtMTYgMDA6MDE6MDUuMDAwMDAwMDAwICswMjAwCisrKysgU0RMX21peGVyLTEuMi4xMi9jb25maWd1cmUuaW4JMjAxMi0xMi0xNSAwNDowODowNC42Mjc4NzE0NTYgKzAyMDAKK0BAIC0xLDYgKzEsNSBAQAorIGRubCBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9jb25mIHRvIHByb2R1Y2UgYSBjb25maWd1cmUgc2NyaXB0LgorIEFDX0lOSVQoUkVBRE1FKQorLUFDX0NPTkZJR19BVVhfRElSKGJ1aWxkLXNjcmlwdHMpCisgCisgZG5sIFNldCB2YXJpb3VzIHZlcnNpb24gc3RyaW5ncyAtIHRha2VuIGdyYXRlZnVsbHkgZnJvbSB0aGUgR1RrIHNvdXJjZXMKKyAKK0BAIC00MCwxMCArMzksNiBAQAorIEFDX1NVQlNUKExUX1JFVklTSU9OKQorIEFDX1NVQlNUKExUX0FHRSkKKyAKKy1kbmwgRGV0ZWN0IHRoZSBjYW5vbmljYWwgYnVpbGQgYW5kIGhvc3QgZW52aXJvbm1lbnRzCistQUNfQ09ORklHX0FVWF9ESVJTKCRzcmNkaXIvYnVpbGQtc2NyaXB0cykKKy1kbmwgQUNfQ0FOT05JQ0FMX0hPU1QKKy0KKyBkbmwgQ2hlY2sgZm9yIHRvb2xzCisgQUNfUFJPR19MSUJUT09MCisgQUNfUFJPR19DQwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzZGwtbWl4ZXIvbGlic2RsLW1peGVyXzEuMi4xMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic2RsLW1peGVyL2xpYnNkbC1taXhlcl8xLjIuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjFhMDFiOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic2RsLW1peGVyL2xpYnNkbC1taXhlcl8xLjIuMTIuYmIKQEAgLTAsMCArMSw0MCBAQAorU1VNTUFSWSA9ICJTaW1wbGUgRGlyZWN0TWVkaWEgTGF5ZXIgbWl4ZXIgbGlicmFyeSIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAidmlydHVhbC9saWJzZGwgZmxhYyBsaWJtaWttb2QgbGlidm9yYmlzIgorTElDRU5TRSA9ICJabGliIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTM3YTQ3YTBlNTc5ZTQ2MTQ3NGNkMDNiOWUwNTE5OWQiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJzZGwub3JnL3Byb2plY3RzL1NETF9taXhlci9yZWxlYXNlL1NETF9taXhlci0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImUwM2ZmNzNkNzdhNTVlMzU3MmFkMDIxNzEzMWRjNGExIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE2NDQzMDgyNzlhOTc1Nzk5MDQ5ZTQ4MjZhZjJjZmM3ODdjYWQyYWJiMTFhYTE0NTYyZTQwMjUyMWY4Njk5MmEiCisKK1MgPSAiJHtXT1JLRElSfS9TRExfbWl4ZXItJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitFWFRSQV9BVVRPUkVDT05GICs9ICItLWluY2x1ZGU9YWNpbmNsdWRlIgorRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1tdXNpYy1tcDMgLS1lbmFibGUtbXVzaWMtb2dnIC0tZW5hYmxlLW11c2ljLW9nZy10cmVtb3IgTElCUz0tTCR7U1RBR0lOR19MSUJESVJ9IgorCitQQUNLQUdFQ09ORklHW21hZF0gPSAiLS1lbmFibGUtbXVzaWMtbXAzLW1hZC1ncGwsLS1kaXNhYmxlLW11c2ljLW1wMy1tYWQtZ3BsLGxpYm1hZCIKKworZG9fY29uZmlndXJlICgpIHsKKyAgICAjIFJlbW92ZSBvbGQgbGlidG9vbCBtYWNyb3MuCisgICAgTUFDUk9TPSJsaWJ0b29sLm00IGx0fm9ic29sZXRlLm00IGx0b3B0aW9ucy5tNCBsdHN1Z2FyLm00IGx0dmVyc2lvbi5tNCIKKyAgICBmb3IgaSBpbiAke01BQ1JPU307IGRvCisgICAgICAgIHJtIC1mIGFjaW5jbHVkZS8kaQorICAgIGRvbmUKKyAgICBjcCBidWlsZC1zY3JpcHRzLyogLiB8fCB0cnVlCisgICAgcm0gLXJmIGJ1aWxkLXNjcmlwdHMvCisgICAgZXhwb3J0IFNZU1JPT1Q9JFBLR19DT05GSUdfU1lTUk9PVF9ESVIKKworICAgIGF1dG90b29sc19kb19jb25maWd1cmUKKworICAgIHJtIGNvbmZpZy5sb2cKKyAgICBmb3IgaSBpbiAkKGZpbmQgLW5hbWUgIk1ha2VmaWxlIikgOyBkbworICAgICAgICBzZWQgLWkgLWUgJ3M6LUwvdXNyL2xpYjotTCR7U1RBR0lOR19MSUJESVJ9OmcnICRpCisgICAgZG9uZQorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNkbC1taXhlci9saWJzZGwyLW1peGVyXzIuMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzZGwtbWl4ZXIvbGlic2RsMi1taXhlcl8yLjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGM0OGU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzZGwtbWl4ZXIvbGlic2RsMi1taXhlcl8yLjAuMS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIlNpbXBsZSBEaXJlY3RNZWRpYSBMYXllciBtaXhlciBsaWJyYXJ5IFYyIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYnNkbDIgZmxhYyBsaWJtaWttb2QgbGlidm9yYmlzIgorTElDRU5TRSA9ICJabGliIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy50eHQ7bWQ1PTI5ZDhiYzdjMzhhYTQ0YjFjZjNhNjMzYTQ2NTg5OTE3IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubGlic2RsLm9yZy9wcm9qZWN0cy9TRExfbWl4ZXIvcmVsZWFzZS9TREwyX21peGVyLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImM2YzRmNTU2ZDQ0MTU4NzFmNTI2MjQ4ZjVjOWE2MjdkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVhMjRmNjJhNjEwMjQ5ZDc0NGNiZDhkMjhlZTM5OWQ4OTA1ZGI3MjIyYmYzYmRiYzhhOGI0YTc2ZTU5NzY5NWYiCisKK1MgPSAiJHtXT1JLRElSfS9TREwyX21peGVyLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworRVhUUkFfQVVUT1JFQ09ORiArPSAiLS1pbmNsdWRlPWFjaW5jbHVkZSIKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtbXVzaWMtbXAzIC0tZW5hYmxlLW11c2ljLW9nZyAtLWVuYWJsZS1tdXNpYy1vZ2ctdHJlbW9yIExJQlM9LUwke1NUQUdJTkdfTElCRElSfSIKKworUEFDS0FHRUNPTkZJR1ttYWRdID0gIi0tZW5hYmxlLW11c2ljLW1wMy1tYWQtZ3BsLC0tZGlzYWJsZS1tdXNpYy1tcDMtbWFkLWdwbCxsaWJtYWQiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICAjIFJlbW92ZSBvbGQgbGlidG9vbCBtYWNyb3MuCisgICAgTUFDUk9TPSJsaWJ0b29sLm00IGx0fm9ic29sZXRlLm00IGx0b3B0aW9ucy5tNCBsdHN1Z2FyLm00IGx0dmVyc2lvbi5tNCIKKyAgICBmb3IgaSBpbiAke01BQ1JPU307IGRvCisgICAgICAgIHJtIC1mIGFjaW5jbHVkZS8kaQorICAgIGRvbmUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9maWxlcy9jb25maWcubGludXgtY3Jvc3MgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpdmU1NTUvZmlsZXMvY29uZmlnLmxpbnV4LWNyb3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxMjc3ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpdmU1NTUvZmlsZXMvY29uZmlnLmxpbnV4LWNyb3NzCkBAIC0wLDAgKzEsMTcgQEAKK0NPTVBJTEVfT1BUUyA9CQkkKElOQ0xVREVTKSAtSS4gLU8yIC1EU09DS0xFTl9UPXNvY2tsZW5fdCAtRE5PX1NUUlNUUkVBTT0xIC1EX0xBUkdFRklMRV9TT1VSQ0U9MQorQyA9CQkJYworQ19DT01QSUxFUiA9CQkkKENDKQorQ19GTEFHUyA9CQkkKENPTVBJTEVfT1BUUykKK0NQUCA9CQkJY3BwCitDUExVU1BMVVNfQ09NUElMRVIgPQkkKENYWCkKK0NQTFVTUExVU19GTEFHUyA9CSQoQ09NUElMRV9PUFRTKSAtV2FsbCAtREJTRD0xCitPQkogPQkJCW8KK0xJTksgPQkJCSQoQ1hYKSAtbworTElOS19PUFRTID0JCS1MLgorQ09OU09MRV9MSU5LX09QVFMgPQkkKExJTktfT1BUUykKK0xJQlJBUllfTElOSyA9CQkkKExEKSAtbworTElCUkFSWV9MSU5LX09QVFMgPQkkKExJTktfT1BUUykgLXIgLUJzdGF0aWMKK0xJQl9TVUZGSVggPQkJCWEKK0xJQlNfRk9SX0NPTlNPTEVfQVBQTElDQVRJT04gPQorTElCU19GT1JfR1VJX0FQUExJQ0FUSU9OID0KK0VYRSA9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpdmU1NTUvbGl2ZTU1NS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpdmU1NTUvbGl2ZTU1NS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQxMWRlOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1LmluYwpAQCAtMCwwICsxLDU4IEBACisjIGxpdmU1NTUgT0UgYnVpbGQgZmlsZQorIyBDb3B5cmlnaHQgKEMpIDIwMDUsIEtvbmlua2xpamtlIFBoaWxpcHMgRWxlY3Ryb25pY3MgTlYuICBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIHBhY2thZ2VzL0NPUFlJTkcpCisKK0RFU0NSSVBUSU9OID0gIkxJVkU1NTUgU3RyZWFtaW5nIE1lZGlhIGxpYnJhcmllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9saXZlLmNvbS8iCitMSUNFTlNFID0gIkxHUEx2MyIKK1NFQ1RJT04gPSAiZGV2ZWwiCisKK0lOQ19QUiA9ICJyMSIKKworVVJMViA9ICIke0BkLmdldFZhcignUFYnLDEpWzA6NF19LiR7QGQuZ2V0VmFyKCdQVicsMSlbNDo2XX0uJHtAZC5nZXRWYXIoJ1BWJywxKVs2OjhdfSIKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saXZlNTU1LmNvbS9saXZlTWVkaWEvcHVibGljL2xpdmUuJHtVUkxWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vY29uZmlnLmxpbnV4LWNyb3NzIgorIyBvbmx5IGxhdGVzdCBsaXZlIHZlcnNpb24gc3RheXMgb24gaHR0cDovL3d3dy5saXZlNTU1LmNvbS9saXZlTWVkaWEvcHVibGljLywgYWRkIG1pcnJvciBmb3Igb2xkZXIKK01JUlJPUlMgKz0gImh0dHA6Ly93d3cubGl2ZTU1NS5jb20vbGl2ZU1lZGlhL3B1YmxpYy8gaHR0cDovL2Rpc3RjYWNoZS5GcmVlQlNELm9yZy9wb3J0cy1kaXN0ZmlsZXMvIFxuIgorCitTID0gIiR7V09SS0RJUn0vbGl2ZSIKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitkb19jb25maWd1cmUoKSB7CisgICAgY3AgJHtXT1JLRElSfS9jb25maWcubGludXgtY3Jvc3MgLgorICAgIGVjaG8gIkNPTVBJTEVfT1BUUys9IiAtZlBJQyAiIiA+PiBjb25maWcubGludXgtY3Jvc3MKKyAgICAuL2dlbk1ha2VmaWxlcyBsaW51eC1jcm9zcworfQorCitkb19jb21waWxlKCkgeworICAgIG1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L0Jhc2ljVXNhZ2VFbnZpcm9ubWVudAorICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vZ3JvdXBzb2NrCisgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9saXZlTWVkaWEKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L1VzYWdlRW52aXJvbm1lbnQKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKyAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1N9L0Jhc2ljVXNhZ2VFbnZpcm9ubWVudC9pbmNsdWRlLyouaGggJHtEfSR7aW5jbHVkZWRpcn0vQmFzaWNVc2FnZUVudmlyb25tZW50LworICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vZ3JvdXBzb2NrL2luY2x1ZGUvKi5oICR7RH0ke2luY2x1ZGVkaXJ9L2dyb3Vwc29jay8KKyAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1N9L2dyb3Vwc29jay9pbmNsdWRlLyouaGggJHtEfSR7aW5jbHVkZWRpcn0vZ3JvdXBzb2NrLworICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vbGl2ZU1lZGlhL2luY2x1ZGUvKi5oaCAke0R9JHtpbmNsdWRlZGlyfS9saXZlTWVkaWEvCisgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtTfS9Vc2FnZUVudmlyb25tZW50L2luY2x1ZGUvKi5oaCAke0R9JHtpbmNsdWRlZGlyfS9Vc2FnZUVudmlyb25tZW50LworICAgICMgRmluZCBhbGwgdGhlIGhlYWRlcnMKKyAgICBmb3IgaSBpbiAkKGZpbmQgLiAtbmFtZSAiKi5oaCIpICQoZmluZCAuIC1uYW1lICIqLmgiKSA7IGRvCisgICAgICAgIGluc3RhbGwgJHtpfSAke0R9JHtpbmNsdWRlZGlyfQorICAgIGRvbmUKKyAgICBjcCAke1N9LyovKi5hICR7RH0ke2xpYmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBmb3IgaSBpbiBNUEVHMlRyYW5zcG9ydFN0cmVhbUluZGV4ZXIgb3BlblJUU1AgcGxheVNJUCBzYXBXYXRjaCB0ZXN0TVBFRzFvcjJBdWRpb1ZpZGVvVG9EYXJ3aW4gdGVzdE1QRUcxb3IyUHJvZ3JhbVRvVHJhbnNwb3J0U3RyZWFtIHRlc3RNUEVHMW9yMlNwbGl0dGVyIHRlc3RNUEVHMW9yMlZpZGVvUmVjZWl2ZXIgdGVzdE1QRUcyVHJhbnNwb3J0U3RyZWFtVHJpY2tQbGF5IHRlc3RNUEVHNFZpZGVvVG9EYXJ3aW4gdGVzdE9uRGVtYW5kUlRTUFNlcnZlciB0ZXN0UmVsYXkgdGVzdEFNUkF1ZGlvU3RyZWFtZXIgdGVzdERWVmlkZW9TdHJlYW1lciB0ZXN0TVAzUmVjZWl2ZXIgdGVzdE1QM1N0cmVhbWVyIHRlc3RNUEVHMW9yMkF1ZGlvVmlkZW9TdHJlYW1lciB0ZXN0TVBFRzFvcjJWaWRlb1N0cmVhbWVyIHRlc3RNUEVHMlRyYW5zcG9ydFN0cmVhbWVyIHRlc3RNUEVHNFZpZGVvU3RyZWFtZXIgdGVzdFdBVkF1ZGlvU3RyZWFtZXIgdm9iU3RyZWFtZXI7IGRvCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Rlc3RQcm9ncy8ke2l9ICR7RH0ke2JpbmRpcn0vCisgICAgZG9uZQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L21lZGlhU2VydmVyL2xpdmU1NTVNZWRpYVNlcnZlciAke0R9JHtiaW5kaXJ9LworfQorCitQQUNLQUdFUyA9KyAiIGxpdmU1NTUtb3BlbnJ0c3AgbGl2ZTU1NS1wbGF5c2lwIGxpdmU1NTUtbWVkaWFzZXJ2ZXIiCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vc2FwV2F0Y2ggJHtiaW5kaXJ9L3Rlc3RNUEVHMW9yMkF1ZGlvVmlkZW9Ub0RhcndpbiAke2JpbmRpcn0vdGVzdE1QRUcxb3IyUHJvZ3JhbVRvVHJhbnNwb3J0U3RyZWFtICR7YmluZGlyfS90ZXN0TVBFRzFvcjJTcGxpdHRlciAke2JpbmRpcn0vdGVzdE1QRUcxb3IyVmlkZW9SZWNlaXZlciAke2JpbmRpcn0vdGVzdE1QRUcyVHJhbnNwb3J0U3RyZWFtVHJpY2tQbGF5ICR7YmluZGlyfS90ZXN0TVBFRzRWaWRlb1RvRGFyd2luICR7YmluZGlyfS90ZXN0T25EZW1hbmRSVFNQU2VydmVyICR7YmluZGlyfS90ZXN0UmVsYXkgJHtiaW5kaXJ9L3Rlc3RBTVJBdWRpb1N0cmVhbWVyICR7YmluZGlyfS90ZXN0RFZWaWRlb1N0cmVhbWVyICR7YmluZGlyfS90ZXN0TVAzUmVjZWl2ZXIgJHtiaW5kaXJ9L3Rlc3RNUDNTdHJlYW1lciAke2JpbmRpcn0vdGVzdE1QRUcxb3IyQXVkaW9WaWRlb1N0cmVhbWVyICR7YmluZGlyfS90ZXN0TVBFRzFvcjJWaWRlb1N0cmVhbWVyICR7YmluZGlyfS90ZXN0TVBFRzJUcmFuc3BvcnRTdHJlYW1lciAke2JpbmRpcn0vdGVzdE1QRUc0VmlkZW9TdHJlYW1lciAke2JpbmRpcn0vdGVzdFdBVkF1ZGlvU3RyZWFtZXIgJHtiaW5kaXJ9L3ZvYlN0cmVhbWVyICR7YmluZGlyfS9NUEVHMlRyYW5zcG9ydFN0cmVhbUluZGV4ZXIiCitGSUxFU19saXZlNTU1LW9wZW5ydHNwID0gIiR7YmluZGlyfS9vcGVuUlRTUCIKK0ZJTEVTX2xpdmU1NTUtcGxheXNpcCA9ICIke2JpbmRpcn0vcGxheVNJUCIKK0ZJTEVTX2xpdmU1NTUtbWVkaWFzZXJ2ZXIgPSAiJHtiaW5kaXJ9L2xpdmU1NTVNZWRpYVNlcnZlciIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1XzIwMTMwNDMwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTVfMjAxMzA0MzAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjgzMjg1YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1XzIwMTMwNDMwLmJiCkBAIC0wLDAgKzEsNyBAQAorcmVxdWlyZSBsaXZlNTU1LmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02OGFkNjJjNjRjYzZjNjIwMTI2MjQxZmQ0MjllNjhmZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjk1NTMzZDkxYmQxOTZlNDJmZDc0ODA3NmRjMjQ0YjA5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU1NDlhZjYwOGM5OTYxZDg1Y2I2NDdiYzNiOTk4MDRmZWMwZmJhZjUzMzhjMWI3MmQwNTc1NThhZTVjZDJhZWEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbWlrbW9kL2xpYm1pa21vZF8zLjMuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbWlrbW9kL2xpYm1pa21vZF8zLjMuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTFiOWJmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9taWttb2QvbGlibWlrbW9kXzMuMy42LmJiCkBAIC0wLDAgKzEsMjYgQEAKK0RFU0NSSVBUSU9OID0gImxpYm1pa21vZCBpcyBhIG1vZHVsZSBwbGF5ZXIgbGlicmFyeSBzdXBwb3J0aW5nIG1hbnkgZm9ybWF0cywgaW5jbHVkaW5nIG1vZCwgczNtLCBpdCwgYW5kIHhtLiIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK0RFUEVORFMgPSAiYWxzYS1saWIgdGV4aW5mbyBwdWxzZWF1ZGlvIgorCitTUkNfVVJJID0gIlwKKyAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC9taWttb2QvJHtCUE59LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjlkZDliZWQzMGM2Zjc2MDdhNTU0ODAyMzQ2MDYwNzFiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNmMzYzZTAzZjdiMWRiNzViOWI2NjAyODQxYmJkNDQwZWQyNzVhNTQ4ZTUzNTQ1Zjk4MGRmODE1NWRlNGQzMzAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZyBsaWJfcGFja2FnZQorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZGlzYWJsZS1hZiBcCisgICAgLS1lbmFibGUtYWxzYSBcCisgICAgLS1kaXNhYmxlLWVzZCBcCisgICAgLS1lbmFibGUtb3NzIFwKKyAgICAtLWRpc2FibGUtc2FtOTQwNyBcCisgICAgLS1kaXNhYmxlLXVsdHJhIFwKKyAgICAtLWRpc2FibGUtZXNkdGVzdCBcCisgICAgLS1lbmFibGUtdGhyZWFkcyBcCisiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbWluaWRsbmEvbWluaWRsbmEuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9taW5pZGxuYS9taW5pZGxuYS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJjYTc1NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbWluaWRsbmEvbWluaWRsbmEuaW5jCkBAIC0wLDAgKzEsMzkgQEAKK0RFU0NSSVBUSU9OID0gIk1pbmlETE5BIChha2EgUmVhZHlETE5BKSBpcyBzZXJ2ZXIgc29mdHdhcmUgd2l0aCB0aGUgYWltIG9mIFwKK2JlaW5nIGZ1bGx5IGNvbXBsaWFudCB3aXRoIERMTkEvVVBuUC1BViBjbGllbnRzLiIKK0xJQ0VOU0UgPSAiR1BMLTIuMHxCU0QiCitERVBFTkRTID0gImZmbXBlZyBmbGFjIGxpYmF2IGpwZWcgc3FsaXRlMyBsaWJleGlmIGxpYm9nZyBsaWJpZDN0YWcgbGlidm9yYmlzIgorCisjIGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBsaWJhdiB3aGljaCBoYXMgY29tbWVyY2lhbCBmbGFnCitMSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCisKK2luaGVyaXQgZ2V0dGV4dCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuY29kZS5zZi5uZXQvcC9taW5pZGxuYS9naXQ7YnJhbmNoPW1hc3Rlcjttb2R1bGU9Z2l0IFwKKyAgICAgICAgICAgZmlsZTovL21pbmlkbG5hLWRhZW1vbi5pbml0LmQgXAorICAgICAgICAgICBmaWxlOi8vbWluaWRsbmEuc2VydmljZSAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKKyMgVGhpcyByZW1vdmUgIi0tZXhjbHVkZT1hdXRvcG9pbnQiIG9wdGlvbiBmcm9tIGF1dG9yZWNvbmYgYXJndW1lbnQgdG8gYXZvaWQKKyMgY29uZmlndXJlLmFjOjMwOiBlcnJvcjogcmVxdWlyZWQgZmlsZSAnLi9BQk9VVC1OTFMnIG5vdCBmb3VuZAorRVhUUkFfQVVUT1JFQ09ORiA9ICIiCisKK2RvX2luc3RhbGxfYXBwZW5kKCl7CisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfQorCWluc3RhbGwgLW0gMDc1NSBtaW5pZGxuYS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9CisKKyMgU3lzdGVtZCBzY3JpcHQKKwlpbnN0YWxsIC1kICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L3N5c3RlbWQvc3lzdGVtCisJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbWluaWRsbmEuc2VydmljZSAke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfS9zeXN0ZW1kL3N5c3RlbQorCisjIFN5c3Zpbml0IHNjcmlwdAorCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbWluaWRsbmEtZGFlbW9uLmluaXQuZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbWluaWRsbmEKKworfQorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibWluaWRsbmEuc2VydmljZSIKKworSU5JVFNDUklQVF9OQU1FID0gIm1pbmlkbG5hIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgOTAiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbWluaWRsbmEvbWluaWRsbmEvbWluaWRsbmEtZGFlbW9uLmluaXQuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbWluaWRsbmEvbWluaWRsbmEvbWluaWRsbmEtZGFlbW9uLmluaXQuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZTY0YTIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9taW5pZGxuYS9taW5pZGxuYS9taW5pZGxuYS1kYWVtb24uaW5pdC5kCkBAIC0wLDAgKzEsNTQgQEAKKyMhL2Jpbi9zaAorCitOQU1FPSJtaW5pZGxuYSIKK0RBRU1PTj0vdXNyL3NiaW4vbWluaWRsbmFkCitTQ1JJUFROQU1FPS9ldGMvaW5pdC5kLyROQU1FCitQSURGSUxFPS92YXIvcnVuLyROQU1FLnBpZAorQ09ORj0vZXRjLyROQU1FLmNvbmYKK0FSR1M9Ii1mICRDT05GIgorCisjIEV4aXQgaWYgdGhlIHBhY2thZ2UgaXMgbm90IGluc3RhbGxlZAorWyAteCAiJERBRU1PTiIgXSB8fCBleGl0IDAKKworc3RhcnRfZnVuY3Rpb24oKSB7CisKKyAgICBleHBvcnQgUEFUSD0kUFdEOiRQQVRICisKKyAgICBpZiBbIC1mICR7UElERklMRX0gXTsgdGhlbgorICAgICAgICBlY2hvICIkU0NSSVBUTkFNRSBhbHJlYWR5IHJ1bm5pbmcgd2l0aCBQSUQgI2BjYXQgJFBJREZJTEVgICggYWNjb3JkaW5nIHRvICR7UElERklMRX0gKSI7CisgICAgICAgIGV4aXQgMAorICAgIGZpCisgICAgCisgICAgJERBRU1PTiAkQVJHUworIAorICAgIHBpZD0kIQorCisgICAgaWYgWyAiJHBpZCIgIT0gIiIgXTsgdGhlbgorICAgICAgICBlY2hvIC1uICIkcGlkIiA+ICR7UElERklMRX0KKyAgICBmaQorfQorCitzdG9wX2Z1bmN0aW9uKCkgeworCisgICAgZXhwb3J0IFBBVEg9JFBXRDokUEFUSAorCisgICAgaWYgWyAhIC1lICIke1BJREZJTEV9IiBdOyB0aGVuCisgICAgICAgIGVjaG8gIiR7U0NSSVBUTkFNRX0gbm90IHJ1bm5pbmcgKCBhY2NvcmRpbmcgdG8gJHtQSURGSUxFfSApIjsKKyAgICAgICAgZXhpdCAxOworICAgIGZpCisgICAgUElEPWBjYXQgJHtQSURGSUxFfWAKKyAgICBraWxsIC1JTlQgJHtQSUR9CisgICAgcm0gLWYgJHtQSURGSUxFfQorfQorCitjYXNlICQxIGluCisgICAgInN0YXJ0IikKKyAgICAgICAgc3RhcnRfZnVuY3Rpb24KKyAgICAgICAgOzsKKyAgICAic3RvcCIpCisgICAgICAgIHN0b3BfZnVuY3Rpb24KKyAgICAgICAgOzsKKyAgICAqKQorICAgIGVjaG8gIlVzYWdlOiAkMCB7c3RhcnQgfCBzdG9wfSIKKworZXNhYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9taW5pZGxuYS9taW5pZGxuYS9taW5pZGxuYS5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9taW5pZGxuYS9taW5pZGxuYS9taW5pZGxuYS5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1NjEwMGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21pbmlkbG5hL21pbmlkbG5hL21pbmlkbG5hLnNlcnZpY2UKQEAgLTAsMCArMSwxMCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1NaW5pZGxuYSBEYWVtb24KK0FmdGVyPW5ldHdvcmsudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1ub3RpZnkKK0V4ZWNTdGFydD0vdXNyL3NiaW4vbWluaWRsbmFkIC1mIC9ldGMvbWluaWRsbmEuY29uZgorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21pbmlkbG5hL21pbmlkbG5hXzEuMS41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9taW5pZGxuYS9taW5pZGxuYV8xLjEuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzZkYjYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9taW5pZGxuYS9taW5pZGxuYV8xLjEuNS5iYgpAQCAtMCwwICsxLDQgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitTUkNSRVYgPSAidjFfMV81IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRS5taW5pdXBucGQ7bWQ1PWIwZGFiZjlkOGUwZjg3MTU1NGUzMDlkNjJlYWQ4ZDJiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9tcGxheWVyL21wbGF5ZXItY29tbW9uLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9tcGxheWVyL21wbGF5ZXItY29tbW9uLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyOWMzYjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21wbGF5ZXIvbXBsYXllci1jb21tb24uYmIKQEAgLTAsMCArMSwyMyBAQAorIyBDb3B5cmlnaHQgTWF0dGhpYXMgSGVudGdlcyA8ZGV2ZWxAaGVudGdlcy5uZXQ+IChjKSAyMDA2CisjIExpY2Vuc2U6IE1JVCAoc2VlIENPUFlJTkcuTUlUKQorCitTVU1NQVJZID0gIlByZWNvbmZpZ3VyZWQgbXBsYXllciBwcmVmZXJlbmNlcyIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKKworUFYgPSAiMC4wLjEiCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICJmaWxlOi8vbXBsYXllci5jb25mIgorCisjIFllcywgcmVhbGx5IC91c3IvZXRjISEhCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgIiR7RH0vdXNyJHtzeXNjb25mZGlyfS9tcGxheWVyIgorCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbXBsYXllci5jb25mICIke0R9L3VzciR7c3lzY29uZmRpcn0vbXBsYXllciIKK30KKworRklMRVNfJHtQTn0gPSAiL3VzciR7c3lzY29uZmRpcn0vbXBsYXllciIKKworaW5oZXJpdCBhbGxhcmNoCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21wbGF5ZXIvbXBsYXllci1jb21tb24vbXBsYXllci5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9tcGxheWVyL21wbGF5ZXItY29tbW9uL21wbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2FkNjVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9tcGxheWVyL21wbGF5ZXItY29tbW9uL21wbGF5ZXIuY29uZgpAQCAtMCwwICsxLDE1IEBACisKKyMgWW91IHByb2JhYmx5IHNob3VsZG4ndCB0b3VjaCB0aGVzZQorYWM9bWFkLAorYW89YWxzYSwKKworIyBSZXF1aXJlZCBvbiBTTC1DeHh4eCBmb3IgY29ycmVjdCByb3RhdGlvbiBpbiB0aGUgKlZUKiwKKyMgYnJlYWtzIHJvdGF0aW9uIGluIFghCisjIHZmPXJvdGF0ZT0xCisKKyMgRW5hYmxlIGZ1bGxzY3JlZW4gZGlzcGxheSBieSBkZWZhdWx0CisjIGZzPXRydWUKKworIyBEcm9wIGZyYW1lcyB0byBrZWVwIGF1ZGlvIGFuZCB2aWRlbyBpbiBzeW5jCitmcmFtZWRyb3A9dHJ1ZQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21wbGF5ZXIvbXBsYXllcjIvMDAwMS1jb25maWd1cmUtZG9uLXQtZGlzYWJsZS1BU1Mtc3VwcG9ydC13aGVuLWV4cGxpY2l0bHktLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9tcGxheWVyL21wbGF5ZXIyLzAwMDEtY29uZmlndXJlLWRvbi10LWRpc2FibGUtQVNTLXN1cHBvcnQtd2hlbi1leHBsaWNpdGx5LS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjMyNTk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9tcGxheWVyL21wbGF5ZXIyLzAwMDEtY29uZmlndXJlLWRvbi10LWRpc2FibGUtQVNTLXN1cHBvcnQtd2hlbi1leHBsaWNpdGx5LS5wYXRjaApAQCAtMCwwICsxLDI2IEBACitGcm9tIDM1NDE2NDliNzExYTc3M2FhMmU0MmFjODBkOWI0YzFiMzZmY2UyM2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDI3IE1hciAyMDE0IDAwOjA4OjU0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZTogZG9uJ3QgZGlzYWJsZSBBU1Mgc3VwcG9ydCB3aGVuIGV4cGxpY2l0bHkgZW5hYmxlZAorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKK2luZGV4IDYwZmQzMDguLjJmN2RmM2IgMTAwNzU1CistLS0gYS9jb25maWd1cmUKKysrKyBiL2NvbmZpZ3VyZQorQEAgLTQzNDYsNyArNDM0Niw3IEBAIGZpCisgCisgCisgZWNob2NoZWNrICJTU0EvQVNTIHN1cHBvcnQiCistaWYgdGVzdCAiJF9hc3MiID0gYXV0byA7IHRoZW4KKytpZiB0ZXN0ICIkX2FzcyIgPSBhdXRvIC1vICIkX2FzcyIgPSB5ZXMgOyB0aGVuCisgICAgIGlmIHBrZ19jb25maWdfYWRkIGxpYmFzcyA7IHRoZW4KKyAgICAgICAgIF9hc3M9eWVzCisgICAgICAgICBkZWZfYXNzPScjZGVmaW5lIENPTkZJR19BU1MgMScKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9tcGxheWVyL21wbGF5ZXIyLzAwMDEtZGVtdXhfb2dnLXBhcnRpYWxseS1wb3J0LWxpYnRoZW9yYS1nbHVlLWNvZGUtdG8tVGhlby5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbXBsYXllci9tcGxheWVyMi8wMDAxLWRlbXV4X29nZy1wYXJ0aWFsbHktcG9ydC1saWJ0aGVvcmEtZ2x1ZS1jb2RlLXRvLVRoZW8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRkOTg0MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbXBsYXllci9tcGxheWVyMi8wMDAxLWRlbXV4X29nZy1wYXJ0aWFsbHktcG9ydC1saWJ0aGVvcmEtZ2x1ZS1jb2RlLXRvLVRoZW8ucGF0Y2gKQEAgLTAsMCArMSwxMzYgQEAKK0Zyb20gMDU3MWJiNGYxYTZlMTkzNGVlN2UwOTNjZTdhYTUxN2I5YmFjOGU2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEF3YWlzIEJlbGFsIDxhd2Fpc19iZWxhbEBtZW50b3IuY29tPgorRGF0ZTogU3VuLCAxNyBKYW4gMjAxNiAxNDo0NjoxMCArMDUwMAorU3ViamVjdDogW1BBVENIXSBkZW11eF9vZ2c6IHBhcnRpYWxseSBwb3J0IGxpYnRoZW9yYSBnbHVlIGNvZGUgdG8gVGhlb3JhIDEuMAorIEFQSQorCitUaGlzIHBhcnRpYWxseSBiYWNrcG9ydHMgdGhlIGZvbGxvd2luZyBjb21taXQgdG8gYWxsb3cgYnVpbGRpbmcKK3dpdGggZ2NjLTUueCBhbmQgb3RoZXJ3aXNlIGZhaWxzIHRvIGZpbmQgdGhlIGRlZmluaXRpb24gb2YKK3RoZSBfaWxvZyBmdW5jdGlvbiB0aGUgd2F5IGl0IGlzIHVzZWQuCisKK2h0dHBzOi8vZ2l0aHViLmNvbS9waWdvei9tcGxheWVyLXN2bi9jb21taXQvODVlNTE0MDhjZDAwOTc5ZmMyMDlkYThlM2EzOWI2ZjBlN2YzMjViYworCitTaWduZWQtb2ZmLWJ5OiBBd2FpcyBCZWxhbCA8YXdhaXNfYmVsYWxAbWVudG9yLmNvbT4KKy0tLQorIGxpYm1wZGVtdXgvZGVtdXhfb2dnLmMgfCA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYm1wZGVtdXgvZGVtdXhfb2dnLmMgYi9saWJtcGRlbXV4L2RlbXV4X29nZy5jCitpbmRleCA5ZWVhMDYxLi45MTQ0NDI2IDEwMDY0NAorLS0tIGEvbGlibXBkZW11eC9kZW11eF9vZ2cuYworKysrIGIvbGlibXBkZW11eC9kZW11eF9vZ2cuYworQEAgLTUwLDggKzUwLDcgQEAKKyAjZW5kaWYKKyAKKyAjaWZkZWYgQ09ORklHX09HR1RIRU9SQQorLSNpbmNsdWRlIDx0aGVvcmEvdGhlb3JhLmg+CistaW50IF9pbG9nICh1bnNpZ25lZCBpbnQpOyAvKiBkZWZpbmVkIGluIG1hbnkgcGxhY2VzIGluIHRoZW9yYS9saWIvICovCisrI2luY2x1ZGUgPHRoZW9yYS90aGVvcmFkZWMuaD4KKyAjZW5kaWYKKyAKKyAjZGVmaW5lIEJMT0NLX1NJWkUgNDA5NgorQEAgLTYyLDkgKzYxLDEwIEBAIGludCBfaWxvZyAodW5zaWduZWQgaW50KTsgLyogZGVmaW5lZCBpbiBtYW55IHBsYWNlcyBpbiB0aGVvcmEvbGliLyAqLworICAqLworICNpZmRlZiBDT05GSUdfT0dHVEhFT1JBCisgdHlwZWRlZiBzdHJ1Y3QgdGhlb3JhX3N0cnVjdF9zdCB7CistICAgIHRoZW9yYV9zdGF0ZSAgIHN0OworLSAgICB0aGVvcmFfY29tbWVudCBjYzsKKy0gICAgdGhlb3JhX2luZm8gICAgaW5mOworKyAgICB0aF9zZXR1cF9pbmZvICp0c2k7CisrICAgIHRoX2RlY19jdHggICAgKnRjdHg7CisrICAgIHRoX2NvbW1lbnQgICAgIHRjOworKyAgICB0aF9pbmZvICAgICAgICB0aTsKKyB9IHRoZW9yYV9zdHJ1Y3RfdDsKKyAjZW5kaWYKKyAKK0BAIC0xMTcsNyArMTE3LDcgQEAgdHlwZWRlZiBzdHJ1Y3Qgb2dnX3N0cmVhbSB7CisgICAgIGZsb2F0ICAgc2FtcGxlcmF0ZTsgLy8vIGdyYW51bHBvcyAyIHRpbWUKKyAgICAgaW50NjRfdCBsYXN0cG9zOworICAgICBpbnQzMl90IGxhc3RzaXplOworLSAgICBpbnQgICAgIGtleWZyYW1lX2ZyZXF1ZW5jeV9mb3JjZTsKKysgICAgaW50ICAgICBrZXlmcmFtZV9ncmFudWxlX3NoaWZ0OworIAorICAgICAvLyBMb2dpY2FsIHN0cmVhbSBzdGF0ZQorICAgICBvZ2dfc3RyZWFtX3N0YXRlIHN0cmVhbTsKK0BAIC0zMDAsMTEgKzMwMCwxMCBAQCBzdGF0aWMgdW5zaWduZWQgY2hhciAqZGVtdXhfb2dnX3JlYWRfcGFja2V0KG9nZ19zdHJlYW1fdCAqb3MsIG9nZ19wYWNrZXQgKnBhY2ssCisgICAgICAgICAgICBoYXZlIHRoZW9yYV9zdGF0ZSBzdCwgdW50aWwgYWxsIGhlYWRlciBwYWNrZXRzIHdlcmUgcGFzc2VkIHRvIHRoZQorICAgICAgICAgICAgZGVjb2Rlci4gKi8KKyAgICAgICAgIGlmICghcGFjay0+Ynl0ZXMgfHwgISgqZGF0YSYweDgwKSkgeworLSAgICAgICAgICAgIGludCBrZXlmcmFtZV9ncmFudWxlX3NoaWZ0ID0gX2lsb2cob3MtPmtleWZyYW1lX2ZyZXF1ZW5jeV9mb3JjZSAtIDEpOworLSAgICAgICAgICAgIGludDY0X3QgaWZyYW1lbWFzayA9ICgxIDw8IGtleWZyYW1lX2dyYW51bGVfc2hpZnQpIC0gMTsKKysgICAgICAgICAgICBpbnQ2NF90IGlmcmFtZW1hc2sgPSBpZnJhbWVtYXNrID0gKDEgPDwgb3MtPmtleWZyYW1lX2dyYW51bGVfc2hpZnQpIC0gMTsKKyAKKyAgICAgICAgICAgICBpZiAocGFjay0+Z3JhbnVsZXBvcyA+PSAwKSB7CistICAgICAgICAgICAgICAgIG9zLT5sYXN0cG9zICA9IHBhY2stPmdyYW51bGVwb3MgPj4ga2V5ZnJhbWVfZ3JhbnVsZV9zaGlmdDsKKysgICAgICAgICAgICAgICAgb3MtPmxhc3Rwb3MgID0gcGFjay0+Z3JhbnVsZXBvcyA+PiBvcy0+a2V5ZnJhbWVfZ3JhbnVsZV9zaGlmdDsKKyAgICAgICAgICAgICAgICAgb3MtPmxhc3Rwb3MgKz0gcGFjay0+Z3JhbnVsZXBvcyAmIGlmcmFtZW1hc2s7CisgICAgICAgICAgICAgICAgICprZXlmcmFtZSA9IChwYWNrLT5ncmFudWxlcG9zICYgaWZyYW1lbWFzaykgPT0gMDsKKyAgICAgICAgICAgICB9IGVsc2UgeworQEAgLTg4OCwxNCArODg3LDE1IEBAIGludCBkZW11eF9vZ2dfb3BlbihkZW11eGVyX3QgKmRlbXV4ZXIpCisgI2lmZGVmIENPTkZJR19PR0dUSEVPUkEKKyAgICAgICAgIH0gZWxzZSBpZiAocGFjay5ieXRlcyA+PSA3ICYmICFzdHJuY21wICgmcGFjay5wYWNrZXRbMV0sICJ0aGVvcmEiLCA2KSkgeworICAgICAgICAgICAgIGludCBlcnJvckNvZGUgPSAwOworLSAgICAgICAgICAgIHRoZW9yYV9pbmZvIGluZjsKKy0gICAgICAgICAgICB0aGVvcmFfY29tbWVudCBjYzsKKysgICAgICAgICAgICB0aF9pbmZvIHRpOworKyAgICAgICAgICAgIHRoX2NvbW1lbnQgdGM7CisrICAgICAgICAgICAgdGhfc2V0dXBfaW5mbyAqdHNpID0gTlVMTDsKKyAKKy0gICAgICAgICAgICB0aGVvcmFfaW5mb19pbml0ICgmaW5mKTsKKy0gICAgICAgICAgICB0aGVvcmFfY29tbWVudF9pbml0ICgmY2MpOworKyAgICAgICAgICAgIHRoX2luZm9faW5pdCAoJnRpKTsKKysgICAgICAgICAgICB0aF9jb21tZW50X2luaXQgKCZ0Yyk7CisgCistICAgICAgICAgICAgZXJyb3JDb2RlID0gdGhlb3JhX2RlY29kZV9oZWFkZXIgKCZpbmYsICZjYywgJnBhY2spOworLSAgICAgICAgICAgIGlmIChlcnJvckNvZGUpIHsKKysgICAgICAgICAgICBlcnJvckNvZGUgPSB0aF9kZWNvZGVfaGVhZGVyaW4oJnRpLCAmdGMsICZ0c2ksICZwYWNrKTsKKysgICAgICAgICAgICBpZiAoZXJyb3JDb2RlIDwgMCkgeworICAgICAgICAgICAgICAgICBtcF9tc2coTVNHVF9ERU1VWCwgTVNHTF9FUlIsCisgICAgICAgICAgICAgICAgICAgICAgICAiVGhlb3JhIGhlYWRlciBwYXJzaW5nIGZhaWxlZDogJWkgXG4iLCBlcnJvckNvZGUpOworICAgICAgICAgICAgIH0gZWxzZSB7CitAQCAtOTA0LDMwICs5MDQsMzIgQEAgaW50IGRlbXV4X29nZ19vcGVuKGRlbXV4ZXJfdCAqZGVtdXhlcikKKyAgICAgICAgICAgICAgICAgc2hfdi0+YmloID0gY2FsbG9jKDEsIHNpemVvZigqc2hfdi0+YmloKSk7CisgICAgICAgICAgICAgICAgIHNoX3YtPmJpaC0+YmlTaXplICAgICAgICA9IHNpemVvZigqc2hfdi0+YmloKTsKKyAgICAgICAgICAgICAgICAgc2hfdi0+YmloLT5iaUNvbXByZXNzaW9uID0gc2hfdi0+Zm9ybWF0ID0gRk9VUkNDX1RIRU9SQTsKKy0gICAgICAgICAgICAgICAgc2hfdi0+ZnBzID0gKChkb3VibGUpaW5mLmZwc19udW1lcmF0b3IpIC8gKGRvdWJsZSlpbmYuZnBzX2Rlbm9taW5hdG9yOworLSAgICAgICAgICAgICAgICBzaF92LT5mcmFtZXRpbWUgPSAoKGRvdWJsZSlpbmYuZnBzX2Rlbm9taW5hdG9yKSAvIChkb3VibGUpaW5mLmZwc19udW1lcmF0b3I7CistICAgICAgICAgICAgICAgIHNoX3YtPmRpc3BfdyA9IHNoX3YtPmJpaC0+YmlXaWR0aCAgPSBpbmYuZnJhbWVfd2lkdGg7CistICAgICAgICAgICAgICAgIHNoX3YtPmRpc3BfaCA9IHNoX3YtPmJpaC0+YmlIZWlnaHQgPSBpbmYuZnJhbWVfaGVpZ2h0OworKyAgICAgICAgICAgICAgICBzaF92LT5mcHMgPSAoKGRvdWJsZSl0aS5mcHNfbnVtZXJhdG9yKSAvIChkb3VibGUpdGkuZnBzX2Rlbm9taW5hdG9yOworKyAgICAgICAgICAgICAgICBzaF92LT5mcmFtZXRpbWUgPSAoKGRvdWJsZSl0aS5mcHNfZGVub21pbmF0b3IpIC8gKGRvdWJsZSl0aS5mcHNfbnVtZXJhdG9yOworKyAgICAgICAgICAgICAgICBzaF92LT5pX2JwcyAgPSB0aS50YXJnZXRfYml0cmF0ZSAvIDg7CisrICAgICAgICAgICAgICAgIHNoX3YtPmRpc3BfdyA9IHNoX3YtPmJpaC0+YmlXaWR0aCAgPSB0aS5mcmFtZV93aWR0aDsKKysgICAgICAgICAgICAgICAgc2hfdi0+ZGlzcF9oID0gc2hfdi0+YmloLT5iaUhlaWdodCA9IHRpLmZyYW1lX2hlaWdodDsKKyAgICAgICAgICAgICAgICAgc2hfdi0+YmloLT5iaUJpdENvdW50ICA9IDI0OworICAgICAgICAgICAgICAgICBzaF92LT5iaWgtPmJpUGxhbmVzICAgID0gMzsKKyAgICAgICAgICAgICAgICAgc2hfdi0+YmloLT5iaVNpemVJbWFnZSA9ICgoc2hfdi0+YmloLT5iaUJpdENvdW50IC8gOCkgKiBzaF92LT5iaWgtPmJpV2lkdGggKiBzaF92LT5iaWgtPmJpSGVpZ2h0KTsKKyAgICAgICAgICAgICAgICAgb2dnX2QtPnN1YnNbb2dnX2QtPm51bV9zdWJdLnNhbXBsZXJhdGUgICAgICAgICAgICAgICA9IHNoX3YtPmZwczsKKyAgICAgICAgICAgICAgICAgb2dnX2QtPnN1YnNbb2dnX2QtPm51bV9zdWJdLnRoZW9yYSAgICAgICAgICAgICAgICAgICA9IDE7CistICAgICAgICAgICAgICAgIG9nZ19kLT5zdWJzW29nZ19kLT5udW1fc3ViXS5rZXlmcmFtZV9mcmVxdWVuY3lfZm9yY2UgPSBpbmYua2V5ZnJhbWVfZnJlcXVlbmN5X2ZvcmNlOworKyAgICAgICAgICAgICAgICBvZ2dfZC0+c3Vic1tvZ2dfZC0+bnVtX3N1Yl0ua2V5ZnJhbWVfZ3JhbnVsZV9zaGlmdCAgID0gdGkua2V5ZnJhbWVfZ3JhbnVsZV9zaGlmdDsKKyAgICAgICAgICAgICAgICAgb2dnX2QtPnN1YnNbb2dnX2QtPm51bV9zdWJdLmlkICAgICAgICAgICAgICAgICAgICAgICA9IG5fdmlkZW87CisgICAgICAgICAgICAgICAgIG5fdmlkZW8rKzsKKyAgICAgICAgICAgICAgICAgbXBfbXNnKE1TR1RfREVNVVgsIE1TR0xfSU5GTywKKyAgICAgICAgICAgICAgICAgICAgICAgICJbT2dnXSBzdHJlYW0gJWQ6IHZpZGVvIChUaGVvcmEgdiVkLiVkLiVkKSwgLXZpZCAlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIG9nZ19kLT5udW1fc3ViLAorLSAgICAgICAgICAgICAgICAgICAgICAgKGludClpbmYudmVyc2lvbl9tYWpvciwKKy0gICAgICAgICAgICAgICAgICAgICAgIChpbnQpaW5mLnZlcnNpb25fbWlub3IsCistICAgICAgICAgICAgICAgICAgICAgICAoaW50KWluZi52ZXJzaW9uX3N1Ym1pbm9yLAorKyAgICAgICAgICAgICAgICAgICAgICAgKGludCl0aS52ZXJzaW9uX21ham9yLAorKyAgICAgICAgICAgICAgICAgICAgICAgKGludCl0aS52ZXJzaW9uX21pbm9yLAorKyAgICAgICAgICAgICAgICAgICAgICAgKGludCl0aS52ZXJzaW9uX3N1Ym1pbm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgbl92aWRlbyAtIDEpOworICAgICAgICAgICAgICAgICBpZiAobXBfbXNnX3Rlc3QoTVNHVF9IRUFERVIsIE1TR0xfVikpCisgICAgICAgICAgICAgICAgICAgICBwcmludF92aWRlb19oZWFkZXIoc2hfdi0+YmloLCBNU0dMX1YpOworICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICB0aGVvcmFfY29tbWVudF9jbGVhcigmY2MpOworLSAgICAgICAgICAgIHRoZW9yYV9pbmZvX2NsZWFyKCZpbmYpOworKyAgICAgICAgICAgIHRoX2NvbW1lbnRfY2xlYXIoJnRjKTsKKysgICAgICAgICAgICB0aF9pbmZvX2NsZWFyKCZ0aSk7CisrICAgICAgICAgICAgdGhfc2V0dXBfZnJlZSh0c2kpOworICNlbmRpZiAvKiBDT05GSUdfT0dHVEhFT1JBICovCisgICAgICAgICB9IGVsc2UgaWYgKHBhY2suYnl0ZXMgPj0gNCAmJiAhc3RybmNtcCAoJnBhY2sucGFja2V0WzBdLCAiZkxhQyIsIDQpKSB7CisgICAgICAgICAgICAgc2hfYSA9IG5ld19zaF9hdWRpb19haWQoZGVtdXhlciwgb2dnX2QtPm51bV9zdWIsIG5fYXVkaW8pOworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL21wbGF5ZXIvbXBsYXllcjJfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9tcGxheWVyL21wbGF5ZXIyX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDU0OTdhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9tcGxheWVyL21wbGF5ZXIyX2dpdC5iYgpAQCAtMCwwICsxLDE1OSBAQAorU1VNTUFSWSA9ICJPcGVuIFNvdXJjZSBtdWx0aW1lZGlhIHBsYXllciIKK1NFQ1RJT04gPSAibXVsdGltZWRpYSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubXBsYXllcmhxLmh1LyIKK0RFUEVORFMgPSAibGlidnB4IGxpYmR2ZHJlYWQgbGlidGhlb3JhIHZpcnR1YWwvbGlic2RsIGZmbXBlZyB4c3AgemxpYiBcCisgICAgICAgICAgIGxpYnBuZyBqcGVnIGxpYmE1MiBmcmVldHlwZSBmb250Y29uZmlnIGFsc2EtbGliIGx6byBuY3Vyc2VzIFwKKyAgICAgICAgICAgbGlieHYgdmlydHVhbC9saWJ4MTEgbGliYXNzIHNwZWV4IGZhYWQyIGxpYnhzY3Juc2F2ZXIiCisKK1JERVBFTkRTXyR7UE59ID0gIm1wbGF5ZXItY29tbW9uIgorUFJPVklERVMgPSAibXBsYXllciIKK1JQUk9WSURFU18ke1BOfSA9ICJtcGxheWVyIgorUkNPTkZMSUNUU18ke1BOfSA9ICJtcGxheWVyIgorCisjIERlcGVuZHMgb24geHNwLCBsaWJ4diwgdmlydHVhbC9saWJ4MTEsIGxpYnhzY3Juc2F2ZXIKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKKyMgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIGxpYnBvc3Rwcm9jL2xpYmF2IHdoaWNoIGhhcyBjb21tZXJjaWFsIGZsYWcKK0xJQ0VOU0VfRkxBR1MgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncG9zdHByb2MnLCAnY29tbWVyY2lhbCcsICcnLCBkKX0iCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9yZXBvLm9yLmN6L21wbGF5ZXIuZ2l0IFwKKyAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtZG9uLXQtZGlzYWJsZS1BU1Mtc3VwcG9ydC13aGVuLWV4cGxpY2l0bHktLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1kZW11eF9vZ2ctcGFydGlhbGx5LXBvcnQtbGlidGhlb3JhLWdsdWUtY29kZS10by1UaGVvLnBhdGNoIFwKKyIKKworU1JDUkVWID0gIjJjMzc4YzcxYTRkOWIxZGYzODJkYjlhYTc4N2I2NDY2MjhiNGUzZjkiCisKK0FSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgorCitQViA9ICIyLjArZ2l0ciR7U1JDUFZ9IgorUFIgPSAicjEzIgorCitQQVJBTExFTF9NQUtFID0gIiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9L21wbGF5ZXIgJHtsaWJkaXJ9IC91c3IvZXRjL21wbGF5ZXIvIgorQ09ORkZJTEVTXyR7UE59ICs9ICIvdXNyL2V0Yy9tcGxheWVyL2lucHV0LmNvbmYgXAorICAgICAgICAgICAgICAgICAgICAvdXNyL2V0Yy9tcGxheWVyL2V4YW1wbGUuY29uZiBcCisgICAgICAgICAgICAgICAgICAgIC91c3IvZXRjL21wbGF5ZXIvY29kZWNzLmNvbmYgXAorIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHB5dGhvbjNuYXRpdmUKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1wcmVmaXg9L3VzciBcCisgICAgLS1tYW5kaXI9JHttYW5kaXJ9IFwKKyAgICAtLXRhcmdldD0ke1NJTVBMRV9UQVJHRVRfU1lTfSBcCisgICAgXAorICAgIC0tZGlzYWJsZS1saXJjIFwKKyAgICAtLWRpc2FibGUtbGlyY2MgXAorICAgIC0tZGlzYWJsZS1qb3lzdGljayBcCisgICAgLS1kaXNhYmxlLXZtIFwKKyAgICAtLWRpc2FibGUteGY4NmtleXN5bSBcCisgICAgLS1lbmFibGUtdHYgXAorICAgIC0tZW5hYmxlLXR2LXY0bDIgXAorICAgIC0tZGlzYWJsZS10di1ic2RidDg0OCBcCisgICAgLS1lbmFibGUtcnRjIFwKKyAgICAtLWVuYWJsZS1uZXR3b3JraW5nIFwKKyAgICAtLWRpc2FibGUtc21iIFwKKyAgICAtLWRpc2FibGUtZHZkbmF2IFwKKyAgICAtLWVuYWJsZS1kdmRyZWFkIFwKKyAgICAtLWRpc2FibGUtZHZkcmVhZC1pbnRlcm5hbCBcCisgICAgLS1kaXNhYmxlLWxpYmR2ZGNzcy1pbnRlcm5hbCBcCisgICAgLS1kaXNhYmxlLWVuY2EgXAorICAgIC0tZGlzYWJsZS1mdHAgXAorICAgIC0tZGlzYWJsZS12c3RyZWFtIFwKKyAgICBcCisgICAgLS1kaXNhYmxlLWdpZiBcCisgICAgLS1lbmFibGUtcG5nIFwKKyAgICAtLWVuYWJsZS1qcGVnIFwKKyAgICAtLWRpc2FibGUtbGliY2RpbyBcCisgICAgLS1kaXNhYmxlLXF0eCBcCisgICAgLS1kaXNhYmxlLXhhbmltIFwKKyAgICAtLWRpc2FibGUtcmVhbCBcCisgICAgLS1kaXNhYmxlLXh2aWQgXAorICAgIFwKKyAgICAtLWVuYWJsZS1zcGVleCBcCisgICAgLS1lbmFibGUtdGhlb3JhIFwKKyAgICAtLWRpc2FibGUtbGFkc3BhIFwKKyAgICAtLWRpc2FibGUtbGliZHYgXAorICAgIC0tZW5hYmxlLW1hZCBcCisgICAgLS1kaXNhYmxlLXhtbXMgXAorICAgIC0tZGlzYWJsZS1tdXNlcGFjayBcCisgICAgXAorICAgIC0tZGlzYWJsZS1nbCBcCisgICAgLS1lbmFibGUtc2RsIFwKKyAgICAtLWRpc2FibGUtY2FjYSBcCisgICAgLS1kaXNhYmxlLWRpcmVjdHggXAorICAgIC0tZGlzYWJsZS1kdmIgXAorICAgIC0tZW5hYmxlLXh2IFwKKyAgICAtLWRpc2FibGUtdm0gXAorICAgIC0tZGlzYWJsZS14aW5lcmFtYSBcCisgICAgLS1lbmFibGUteDExIFwKKyAgICAtLWRpc2FibGUtZGlyZWN0ZmIgXAorICAgIC0tZGlzYWJsZS10Z2EgXAorICAgIC0tZGlzYWJsZS1wbm0gXAorICAgIC0tZGlzYWJsZS1tZDVzdW0gXAorICAgIFwKKyAgICAtLWVuYWJsZS1hbHNhIFwKKyAgICAtLWVuYWJsZS1vc3NhdWRpbyBcCisgICAgLS1kaXNhYmxlLXB1bHNlIFwKKyAgICAtLWRpc2FibGUtamFjayBcCisgICAgLS1kaXNhYmxlLW9wZW5hbCBcCisgICAgLS1lbmFibGUtc2VsZWN0IFwKKyAgICAtLWVuYWJsZS1saWJhc3MgXAorICAgIFwKKyAgICAtLWV4dHJhLWxpYnM9JyAtbFhleHQgLWxYMTEgLWx2b3JiaXMgLWx0aGVvcmFkZWMgLWxhc291bmQgJyBcCisiCisjIC1sdGhlb3JhZGVjIGlzIG1pc3NpbmcgaW46CisjIGxpYm1wY29kZWNzL3ZkX3RoZW9yYS5vOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIHN5bWJvbCAndGhlb3JhX2RlY29kZV9pbml0QEBsaWJ0aGVvcmEuc28uMS4wJworCitFWFRSQV9PRUNPTkZfYXBwZW5kX2FybXY2ID0gIiAtLWVuYWJsZS1hcm12NiIKK0VYVFJBX09FQ09ORl9hcHBlbmRfYXJtdjdhID0gIiAtLWVuYWJsZS1hcm12NiAtLWVuYWJsZS1uZW9uIgorCitQQUNLQUdFQ09ORklHID8/PSAidm9yYmlzIHBvc3Rwcm9jIgorUEFDS0FHRUNPTkZJR1ttYWRdID0gIi0tZW5hYmxlLW1hZCwtLWRpc2FibGUtbWFkLGxpYm1hZCIKK1BBQ0tBR0VDT05GSUdbYTUyXSA9ICItLWVuYWJsZS1saWJhNTIsLS1kaXNhYmxlLWxpYmE1MixsaWJhNTIiCitQQUNLQUdFQ09ORklHW2xhbWVdID0gIiwsbGFtZSIKK1BBQ0tBR0VDT05GSUdbcG9zdHByb2NdID0gIiwtLWRpc2FibGUtbGlicG9zdHByb2MsbGlicG9zdHByb2MiCitQQUNLQUdFQ09ORklHW3ZvcmJpc10gPSAiLC0tZGlzYWJsZS1saWJ2b3JiaXMsbGlidm9yYmlzIgorUEFDS0FHRUNPTkZJR1twb3J0YXVkaW9dID0gIiwtLWRpc2FibGUtcG9ydGF1ZGlvLHBvcnRhdWRpby12MTkiCitQQUNLQUdFQ09ORklHW21wZzEyM10gPSAiLC0tZGlzYWJsZS1tcGcxMjMsbXBnMTIzIgorUEFDS0FHRUNPTkZJR1tkaXJlY3RmYl0gPSAiLS1lbmFibGUtZGlyZWN0ZmIsLS1kaXNhYmxlLWRpcmVjdGZiLGRpcmVjdGZiIgorCitGVUxMX09QVElNSVpBVElPTiA9ICItZmV4cGVuc2l2ZS1vcHRpbWl6YXRpb25zIC1mb21pdC1mcmFtZS1wb2ludGVyIC1mcmVuYW1lLXJlZ2lzdGVycyAtTzQgLWZmYXN0LW1hdGgiCitCVUlMRF9PUFRJTUlaQVRJT04gPSAiJHtGVUxMX09QVElNSVpBVElPTn0iCisKK0NGTEFHU19hcHBlbmQgPSAiIC1JJHtTfS9saWJkdmRyZWFkNCAiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBzZWQgLWkgJ3N8L3Vzci9pbmNsdWRlfCR7U1RBR0lOR19JTkNESVJ9fGcnICR7U30vY29uZmlndXJlCisgICAgc2VkIC1pICdzfC91c3IvbGlifCR7U1RBR0lOR19MSUJESVJ9fGcnICR7U30vY29uZmlndXJlCisgICAgc2VkIC1pICdzfC91c3IvXFMqaW5jbHVkZVtcdy9dKnx8ZycgJHtTfS9jb25maWd1cmUKKyAgICBzZWQgLWkgJ3N8L3Vzci9cUypsaWJbXHcvXSp8fGcnICR7U30vY29uZmlndXJlCisgICAgc2VkIC1pICdzfF9pbnN0YWxsX3N0cmlwPSItcyJ8X2luc3RhbGxfc3RyaXA9IiJ8ZycgJHtTfS9jb25maWd1cmUKKyAgICBzZWQgLWkgJ3N8SE9TVF9DQ3xCVUlMRF9DQ3wnICR7U30vTWFrZWZpbGUKKyAgICBzZWQgLWkgJ3N8ZXh0cmFfY2ZsYWdzPSItSS4gJGV4dHJhX2NmbGFncyJ8ZXh0cmFfY2ZsYWdzPSItSS4gLUkke1NUQUdJTkdfSU5DRElSfS9kaXJlY3RmYiAkZXh0cmFfY2ZsYWdzInxnJyAke1N9L2NvbmZpZ3VyZQorICAgIGV4cG9ydCBTSU1QTEVfVEFSR0VUX1NZUz0iJChlY2hvICR7VEFSR0VUX1NZU30gfCBzZWQgczoke1RBUkdFVF9WRU5ET1J9OjpnKSIKKyAgICAuL2NvbmZpZ3VyZSAke0VYVFJBX09FQ09ORn0KKyAgICAKK30KKworZG9fY29tcGlsZSAoKSB7CisgICAgb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbC1uby1tYW4KKyAgICBpbnN0YWxsIC1kICR7RH0vdXNyL2V0Yy9tcGxheWVyCisgICAgaW5zdGFsbCAke1N9L2V0Yy9pbnB1dC5jb25mICR7RH0vdXNyL2V0Yy9tcGxheWVyLworICAgIGluc3RhbGwgJHtTfS9ldGMvZXhhbXBsZS5jb25mICR7RH0vdXNyL2V0Yy9tcGxheWVyLworICAgIGluc3RhbGwgJHtTfS9ldGMvY29kZWNzLmNvbmYgJHtEfS91c3IvZXRjL21wbGF5ZXIvCisgICAgWyAtZSAke0R9L3Vzci9saWIgXSAmJiBybWRpciAke0R9L3Vzci9saWIKK30KKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvNDA3MzQvCitQTkJMQUNLTElTVFttcGxheWVyMl0gPz0gIk5vdCBjb21wYXRpYmxlIHdpdGggY3VycmVudGx5IHVzZWQgZmZtcGVnIDMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL29wdXMtdG9vbHMvb3B1cy10b29sc18wLjEuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvb3B1cy10b29scy9vcHVzLXRvb2xzXzAuMS44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmNjMxMTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL29wdXMtdG9vbHMvb3B1cy10b29sc18wLjEuOC5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIk9wdXMgQXVkaW8gVG9vbHMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wdXMtY29kZWMub3JnLyIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04NDNhMDY2ZGE5ZjFmYWNmY2M2ZWE2ZjYxNmZmZWNiMSIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnhpcGgub3JnL3JlbGVhc2VzL29wdXMvb3B1cy10b29scy0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYjQyNDc5MGVkYTkzNTdhNGRmMzk0ZTJkN2NhMTllYWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTRlMTg4NTc5ZWExYzRlNGQ1MDY2NDYwZDRhNzIxNGE3ZWFmZTM1MzllOWE0NDY2ZmRjOThhZjQxYmE0YTJmNiIKKworUyA9ICIke1dPUktESVJ9L29wdXMtdG9vbHMtJHtQVn0iCisKK0RFUEVORFMgPSAibGlib3B1cyBmbGFjIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvcHVsc2VhdWRpby9wYXZ1Y29udHJvbF8zLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcGF2dWNvbnRyb2xfMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MjI3YjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcGF2dWNvbnRyb2xfMy4wLmJiCkBAIC0wLDAgKzEsMTMgQEAKK0RFU0NSSVBUSU9OID0gIlB1bHNlQXVkaW8gVm9sdW1lIENvbnRyb2wgKHBhdnVjb250cm9sKSBpcyBhIHNpbXBsZSBHVEsgYmFzZWQgdm9sdW1lIGNvbnRyb2wgdG9vbCAoIm1peGVyIikgZm9yIHRoZSBQdWxzZUF1ZGlvIHNvdW5kIHNlcnZlci4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAiaW50bHRvb2wgZ3RrbW0gbGliY2FuYmVycmEgcHVsc2VhdWRpbyIKKworaW5oZXJpdCBnbm9tZQorCitTUkNfVVJJID0gImh0dHA6Ly9mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvcHVsc2VhdWRpby8ke0JQTn0vJHtCUH0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjE3NjMwOGQyYzAzZjhmM2E3YjJiZDRmNGQyODRmZTcxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIzZDJlYTVhMjVmYzg4ZGNlZTgwYzM5NjAxNGY3MmRmMWI0NzQyZjhjZmJiYzUzNDljMzlkNjRhMGQzMzg4OTAiCisKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLWd0azMgLS1kaXNhYmxlLWx5bnggIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9zb3VuZC10aGVtZXMvc291bmQtdGhlbWUtZnJlZWRlc2t0b3BfMC44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9zb3VuZC10aGVtZXMvc291bmQtdGhlbWUtZnJlZWRlc2t0b3BfMC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5OGIwOGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3NvdW5kLXRoZW1lcy9zb3VuZC10aGVtZS1mcmVlZGVza3RvcF8wLjguYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJGcmVlZGVza3RvcCBzb3VuZCB0aGVtZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9mcmVlZGVza3RvcC5vcmcvd2lraS9TcGVjaWZpY2F0aW9ucy9zb3VuZC10aGVtZS1zcGVjIgorTElDRU5TRSA9ICJHUEx2MisgJiBDQy1CWS0zLjAgJiBDQy1CWS1TQS0zLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DUkVESVRTO21kNT0zMjEzZTYwMWNlMzRiYjQyZGRjMzQ5ODkwM2FjNGU2OSIKKworIyBnbGliLTIuMCBmb3IgZ2xpYi1nZXR0ZXh0Lm00IHdoaWNoIHByb3ZpZGVzIEFNX0dMSUJfR05VX0dFVFRFWFQKKyMgaW50bHRvb2wgZm9yIGludGx0b29sLm00IHdoaWNoIHByb3ZpZGVzIElUX1BST0dfSU5UTFRPT0wKK0RFUEVORFMgPSAiZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0CisKK0RFUEVORFMgKz0gImdsaWItMi4wLW5hdGl2ZSBpbnRsdG9vbC1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3Blb3BsZS5mcmVlZGVza3RvcC5vcmcvfm1jY2Fubi9kaXN0LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImQ3Mzg3OTEyY2ZkMjc1MjgyZDFlYzk0NDgzY2IyZjYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImNiNTE4YjIwZWVmMDVlYzJlODJkZGExZmE4OWEyOTJjMTc2MGRjMDIzYWJhOTFiOGFhNjliYWZhYzg1ZThhMTQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Y0bDJhcHBzL3Y0bC11dGlscy8wMDAxLVJldmVydC1tZWRpYS1jdGwtRG9uLXQtaW5zdGFsbC1saWJtZWRpYWN0bC1hbmQtbGlidjQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Y0bDJhcHBzL3Y0bC11dGlscy8wMDAxLVJldmVydC1tZWRpYS1jdGwtRG9uLXQtaW5zdGFsbC1saWJtZWRpYWN0bC1hbmQtbGlidjQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGIzZGUzYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvdjRsMmFwcHMvdjRsLXV0aWxzLzAwMDEtUmV2ZXJ0LW1lZGlhLWN0bC1Eb24tdC1pbnN0YWxsLWxpYm1lZGlhY3RsLWFuZC1saWJ2NC5wYXRjaApAQCAtMCwwICsxLDQxIEBACitGcm9tIDRlZTE1YThhNjliODQ1MjZlY2UxMTgwYTI4OGEzN2RiMDc3YmNkOWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyNyBGZWIgMjAxNSAyMTo1NTozNiArMDAwMAorU3ViamVjdDogW1BBVENIXSBSZXZlcnQgIm1lZGlhLWN0bDogRG9uJ3QgaW5zdGFsbCBsaWJtZWRpYWN0bCBhbmQKKyBsaWJ2NGwyc3ViZGV2IgorCitUaGlzIHJldmVydHMgY29tbWl0IDA5MTFkY2U1M2IwOGIwZGYzMDY2YmUyYzc1ZjY3ZThhMzE0ZDg3MjkuCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK0NvbmZsaWN0czoKKwl1dGlscy9tZWRpYS1jdGwvTWFrZWZpbGUuYW0KKy0tLQorIHV0aWxzL21lZGlhLWN0bC9NYWtlZmlsZS5hbSB8IDExICsrKy0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3V0aWxzL21lZGlhLWN0bC9NYWtlZmlsZS5hbSBiL3V0aWxzL21lZGlhLWN0bC9NYWtlZmlsZS5hbQoraW5kZXggYTM5MzFmYi4uZmUxZmVhNSAxMDA2NDQKKy0tLSBhL3V0aWxzL21lZGlhLWN0bC9NYWtlZmlsZS5hbQorKysrIGIvdXRpbHMvbWVkaWEtY3RsL01ha2VmaWxlLmFtCitAQCAtMSwxNCArMSw5IEBACistbm9pbnN0X0xUTElCUkFSSUVTID0gbGlibWVkaWFjdGwubGEgbGlidjRsMnN1YmRldi5sYQorLQorK2xpYl9MVExJQlJBUklFUyA9IGxpYm1lZGlhY3RsLmxhIGxpYnY0bDJzdWJkZXYubGEKKyBsaWJtZWRpYWN0bF9sYV9TT1VSQ0VTID0gbGlibWVkaWFjdGwuYyBtZWRpYWN0bC1wcml2LmgKKy1saWJtZWRpYWN0bF9sYV9DRkxBR1MgPSAtc3RhdGljICQoTElCVURFVl9DRkxBR1MpCistbGlibWVkaWFjdGxfbGFfTERGTEFHUyA9IC1zdGF0aWMgJChMSUJVREVWX0xJQlMpCistCisrbGlibWVkaWFjdGxfbGFfQ0ZMQUdTID0gJChMSUJVREVWX0NGTEFHUykKKytsaWJtZWRpYWN0bF9sYV9MREZMQUdTID0gJChMSUJVREVWX0xJQlMpCisgbGlidjRsMnN1YmRldl9sYV9TT1VSQ0VTID0gbGlidjRsMnN1YmRldi5jCisgbGlidjRsMnN1YmRldl9sYV9MSUJBREQgPSBsaWJtZWRpYWN0bC5sYQorLWxpYnY0bDJzdWJkZXZfbGFfQ0ZMQUdTID0gLXN0YXRpYworLWxpYnY0bDJzdWJkZXZfbGFfTERGTEFHUyA9IC1zdGF0aWMKKy0KKyBtZWRpYWN0bF9pbmNsdWRlZGlyPSQoaW5jbHVkZWRpcikvbWVkaWFjdGwKKyBub2luc3RfSEVBREVSUyA9IG1lZGlhY3RsLmggdjRsMnN1YmRldi5oCisgCistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvdjRsMmFwcHMvdjRsLXV0aWxzL2V4cG9ydC1tZWRpYWN0bC1oZWFkZXJzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS92NGwyYXBwcy92NGwtdXRpbHMvZXhwb3J0LW1lZGlhY3RsLWhlYWRlcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzYxMGU3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvdjRsMmFwcHMvdjRsLXV0aWxzL2V4cG9ydC1tZWRpYWN0bC1oZWFkZXJzLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK0luZGV4OiB2NGwtdXRpbHMtMS42LjIvdXRpbHMvbWVkaWEtY3RsL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdjRsLXV0aWxzLTEuNi4yLm9yaWcvdXRpbHMvbWVkaWEtY3RsL01ha2VmaWxlLmFtCisrKysgdjRsLXV0aWxzLTEuNi4yL3V0aWxzL21lZGlhLWN0bC9NYWtlZmlsZS5hbQorQEAgLTQsOCArNCw4IEBAIGxpYm1lZGlhY3RsX2xhX0NGTEFHUyA9ICQoTElCVURFVl9DRkxBR1MKKyBsaWJtZWRpYWN0bF9sYV9MREZMQUdTID0gJChMSUJVREVWX0xJQlMpCisgbGlidjRsMnN1YmRldl9sYV9TT1VSQ0VTID0gbGlidjRsMnN1YmRldi5jCisgbGlidjRsMnN1YmRldl9sYV9MSUJBREQgPSBsaWJtZWRpYWN0bC5sYQorLW1lZGlhY3RsX2luY2x1ZGVkaXI9JChpbmNsdWRlZGlyKS9tZWRpYWN0bAorLW5vaW5zdF9IRUFERVJTID0gbWVkaWFjdGwuaCB2NGwyc3ViZGV2LmgKKytvdGhlcmluY2x1ZGVkaXIgPSAkKGluY2x1ZGVkaXIpL21lZGlhY3RsCisrb3RoZXJpbmNsdWRlX0hFQURFUlMgPSBtZWRpYWN0bC5oIHY0bDJzdWJkZXYuaAorIAorIHBrZ2NvbmZpZ19EQVRBID0gbGlibWVkaWFjdGwucGMKKyBiaW5fUFJPR1JBTVMgPSBtZWRpYS1jdGwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvdjRsMmFwcHMvdjRsLXV0aWxzL21lZGlhY3RsLXBrZ2NvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvdjRsMmFwcHMvdjRsLXV0aWxzL21lZGlhY3RsLXBrZ2NvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNGZiM2NmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS92NGwyYXBwcy92NGwtdXRpbHMvbWVkaWFjdGwtcGtnY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK0luZGV4OiB2NGwtdXRpbHMtMS42LjIvdXRpbHMvbWVkaWEtY3RsL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gdjRsLXV0aWxzLTEuNi4yLm9yaWcvdXRpbHMvbWVkaWEtY3RsL01ha2VmaWxlLmFtCisrKysgdjRsLXV0aWxzLTEuNi4yL3V0aWxzL21lZGlhLWN0bC9NYWtlZmlsZS5hbQorQEAgLTcsNiArNyw3IEBAIGxpYnY0bDJzdWJkZXZfbGFfTElCQUREID0gbGlibWVkaWFjdGwubGEKKyBtZWRpYWN0bF9pbmNsdWRlZGlyPSQoaW5jbHVkZWRpcikvbWVkaWFjdGwKKyBub2luc3RfSEVBREVSUyA9IG1lZGlhY3RsLmggdjRsMnN1YmRldi5oCisgCisrcGtnY29uZmlnX0RBVEEgPSBsaWJtZWRpYWN0bC5wYworIGJpbl9QUk9HUkFNUyA9IG1lZGlhLWN0bAorIG1lZGlhX2N0bF9TT1VSQ0VTID0gbWVkaWEtY3RsLmMgb3B0aW9ucy5jIG9wdGlvbnMuaCB0b29scy5oCisgbWVkaWFfY3RsX0xEQUREID0gbGlibWVkaWFjdGwubGEgbGlidjRsMnN1YmRldi5sYQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS92NGwyYXBwcy92NGwtdXRpbHNfMS42LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Y0bDJhcHBzL3Y0bC11dGlsc18xLjYuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWE0MmEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS92NGwyYXBwcy92NGwtdXRpbHNfMS42LjIuYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJ2NGwyIGFuZCBJUiBhcHBsaWNhdGlvbnMiCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00OGRhOTk1Nzg0OTA1NjAxN2RjNTY4YmJjNDNkODk3NSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLmxpYnY0bDttZDU9ZDc0OWU4NmExMDUyODFkN2E0NGMyMzI4YWNlYmM0YjAiCitQUk9WSURFUyA9ICJsaWJ2NGwgbWVkaWEtY3RsIgorCitERVBFTkRTID0gImpwZWcgXAorICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd2aXJ0dWFsL2xpYngxMScsICcnLCBkKX0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICJtZWRpYS1jdGwiCitQQUNLQUdFQ09ORklHW21lZGlhLWN0bF0gPSAiLS1lbmFibGUtdjRsLXV0aWxzLC0tZGlzYWJsZS12NGwtdXRpbHMsLCIKKworU1JDX1VSSSA9ICJodHRwOi8vbGludXh0di5vcmcvZG93bmxvYWRzL3Y0bC11dGlscy92NGwtdXRpbHMtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVJldmVydC1tZWRpYS1jdGwtRG9uLXQtaW5zdGFsbC1saWJtZWRpYWN0bC1hbmQtbGlidjQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbWVkaWFjdGwtcGtnY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2V4cG9ydC1tZWRpYWN0bC1oZWFkZXJzLnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiOWNiM2MxNzhmOTM3OTU0ZTY1YmYzMDkyMGFmNDMzZWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDNkNmViMWYwMjA0ZmIxMWYzZDMxOGJmY2EzNWQ1ZjczY2MwNzdmODhmYWM3NjY1YTQ3ODU2YTE2NDk2YmU3ZCIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1xdjRsMiAtLWVuYWJsZS1zaGFyZWQgLS13aXRoLXVkZXZkaXI9JHtiYXNlX2xpYmRpcn0vdWRldiIKKworVklSVFVBTC1SVU5USU1FX2lyLWtleXRhYmxlLWtleW1hcHMgPz0gInJjLWtleW1hcHMiCisKK1BBQ0tBR0VTID0rICJtZWRpYS1jdGwgaXIta2V5dGFibGUgcmMta2V5bWFwcyBsaWJ2NGwgbGlidjRsLWRiZyBsaWJ2NGwtZGV2IgorCitGSUxFU19tZWRpYS1jdGwgPSAiJHtiaW5kaXJ9L21lZGlhLWN0bCAke2xpYmRpcn0vbGlibWVkaWFjdGwuc28uKiIKKworRklMRVNfaXIta2V5dGFibGUgPSAiJHtiaW5kaXJ9L2lyLWtleXRhYmxlICR7YmFzZV9saWJkaXJ9L3VkZXYvcnVsZXMuZC8qLWluZnJhcmVkLnJ1bGVzIgorUkRFUEVORFNfaXIta2V5dGFibGUgKz0gIiR7VklSVFVBTC1SVU5USU1FX2lyLWtleXRhYmxlLWtleW1hcHN9IgorCitGSUxFU19yYy1rZXltYXBzID0gIiR7c3lzY29uZmRpcn0vcmMqICR7YmFzZV9saWJkaXJ9L3VkZXYvcmMqIgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0gJHtzYmluZGlyfSIKKworRklMRVNfbGlidjRsICs9ICIke2xpYmRpcn0vbGlidjRsKiR7U09MSUJTfSAke2xpYmRpcn0vbGlidjRsLyouc28gJHtsaWJkaXJ9L2xpYnY0bC9wbHVnaW5zLyouc28gXAorICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGliZHZidjUqJHtTT0xJQlN9IFwKKyAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYnY0bC8qLWRlY29tcCIKKworRklMRVNfbGlidjRsLWRiZyArPSAiJHtsaWJkaXJ9L2xpYnY0bC8uZGVidWcgJHtsaWJkaXJ9L2xpYnY0bC9wbHVnaW5zLy5kZWJ1ZyIKK0ZJTEVTX2xpYnY0bC1kZXYgKz0gIiR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9L3BrZ2NvbmZpZyBcCisgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlidjRsKiR7U09MSUJTREVWfSAke2xpYmRpcn0vKi5sYSBcCisgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vdjRsKiR7U09MSUJTREVWfSAke2xpYmRpcn0vbGlidjRsLyoubGEgJHtsaWJkaXJ9L2xpYnY0bC9wbHVnaW5zLyoubGEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Y0bDJhcHBzL3lhdnRhLzAwMDEtQWRkLXN0ZG91dC1tb2RlLXRvLWFsbG93LXN0cmVhbWluZy1vdmVyLXRoZS1uZXR3b3JrLS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvdjRsMmFwcHMveWF2dGEvMDAwMS1BZGQtc3Rkb3V0LW1vZGUtdG8tYWxsb3ctc3RyZWFtaW5nLW92ZXItdGhlLW5ldHdvcmstLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxYTVkYmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Y0bDJhcHBzL3lhdnRhLzAwMDEtQWRkLXN0ZG91dC1tb2RlLXRvLWFsbG93LXN0cmVhbWluZy1vdmVyLXRoZS1uZXR3b3JrLS5wYXRjaApAQCAtMCwwICsxLDk2MSBAQAorRnJvbSAxNDFkM2IzNTkzNzIyZWIzZDU4OGU3YzRiMTU0MmY4MTBiYzI1ODUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KK0RhdGU6IFRodSwgNSBKdW4gMjAxNCAxMToyOToyMCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBBZGQgc3Rkb3V0IG1vZGUgdG8gYWxsb3cgc3RyZWFtaW5nIG92ZXIgdGhlIG5ldHdvcmsgd2l0aCBuYworCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorU2lnbmVkLW9mZi1ieTogQ2hhc2UgTWF1cGluIDxDaGFzZS5NYXVwaW5AdGkuY29tPgorLS0tCisgeWF2dGEuYyB8ICAzMTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE2OSBpbnNlcnRpb25zKCspLCAxNDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS95YXZ0YS5jIGIveWF2dGEuYworaW5kZXggMzJhZGMyNi4uYjM5OGRhMCAxMDA2NDQKKy0tLSBhL3lhdnRhLmMKKysrKyBiL3lhdnRhLmMKK0BAIC0zMDksNyArMzA5LDcgQEAgc3RhdGljIGJvb2wgdmlkZW9faGFzX2ZkKHN0cnVjdCBkZXZpY2UgKmRldikKKyBzdGF0aWMgaW50IHZpZGVvX3NldF9mZChzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBmZCkKKyB7CisgCWlmICh2aWRlb19oYXNfZmQoZGV2KSkgeworLQkJcHJpbnRmKCJDYW4ndCBzZXQgZmQgKGFscmVhZHkgb3BlbikuXG4iKTsKKysJCWZwcmludGYoc3RkZXJyLCAiQ2FuJ3Qgc2V0IGZkIChhbHJlYWR5IG9wZW4pLlxuIik7CisgCQlyZXR1cm4gLTE7CisgCX0KKyAKK0BAIC0zMjEsMTggKzMyMSwxOCBAQCBzdGF0aWMgaW50IHZpZGVvX3NldF9mZChzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBmZCkKKyBzdGF0aWMgaW50IHZpZGVvX29wZW4oc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBjaGFyICpkZXZuYW1lKQorIHsKKyAJaWYgKHZpZGVvX2hhc19mZChkZXYpKSB7CistCQlwcmludGYoIkNhbid0IG9wZW4gZGV2aWNlIChhbHJlYWR5IG9wZW4pLlxuIik7CisrCQlmcHJpbnRmKHN0ZGVyciwgIkNhbid0IG9wZW4gZGV2aWNlIChhbHJlYWR5IG9wZW4pLlxuIik7CisgCQlyZXR1cm4gLTE7CisgCX0KKyAKKyAJZGV2LT5mZCA9IG9wZW4oZGV2bmFtZSwgT19SRFdSKTsKKyAJaWYgKGRldi0+ZmQgPCAwKSB7CistCQlwcmludGYoIkVycm9yIG9wZW5pbmcgZGV2aWNlICVzOiAlcyAoJWQpLlxuIiwgZGV2bmFtZSwKKysJCWZwcmludGYoc3RkZXJyLCAiRXJyb3Igb3BlbmluZyBkZXZpY2UgJXM6ICVzICglZCkuXG4iLCBkZXZuYW1lLAorIAkJICAgICAgIHN0cmVycm9yKGVycm5vKSwgZXJybm8pOworIAkJcmV0dXJuIGRldi0+ZmQ7CisgCX0KKyAKKy0JcHJpbnRmKCJEZXZpY2UgJXMgb3BlbmVkLlxuIiwgZGV2bmFtZSk7CisrCWZwcmludGYoc3RkZXJyLCAiRGV2aWNlICVzIG9wZW5lZC5cbiIsIGRldm5hbWUpOworIAorIAlkZXYtPm9wZW5lZCA9IDE7CisgCitAQCAtMzUyLDcgKzM1Miw3IEBAIHN0YXRpYyBpbnQgdmlkZW9fcXVlcnljYXAoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgKmNhcGFiaWxpdGllcykKKyAJKmNhcGFiaWxpdGllcyA9IGNhcC5jYXBhYmlsaXRpZXMgJiBWNEwyX0NBUF9ERVZJQ0VfQ0FQUworIAkJICAgICA/IGNhcC5kZXZpY2VfY2FwcyA6IGNhcC5jYXBhYmlsaXRpZXM7CisgCistCXByaW50ZigiRGV2aWNlIGAlcycgb24gYCVzJyBpcyBhIHZpZGVvICVzICglcyBtcGxhbmVzKSBkZXZpY2UuXG4iLAorKwlmcHJpbnRmKHN0ZGVyciwgIkRldmljZSBgJXMnIG9uIGAlcycgaXMgYSB2aWRlbyAlcyAoJXMgbXBsYW5lcykgZGV2aWNlLlxuIiwKKyAJCWNhcC5jYXJkLCBjYXAuYnVzX2luZm8sCisgCQl2aWRlb19pc19jYXB0dXJlKGRldikgPyAiY2FwdHVyZSIgOiAib3V0cHV0IiwKKyAJCXZpZGVvX2lzX21wbGFuZShkZXYpID8gIndpdGgiIDogIndpdGhvdXQiKTsKK0BAIC0zNzAsNyArMzcwLDcgQEAgc3RhdGljIGludCBjYXBfZ2V0X2J1Zl90eXBlKHVuc2lnbmVkIGludCBjYXBhYmlsaXRpZXMpCisgCX0gZWxzZSBpZiAoY2FwYWJpbGl0aWVzICYgVjRMMl9DQVBfVklERU9fT1VUUFVUKSB7CisgCQlyZXR1cm4gVjRMMl9CVUZfVFlQRV9WSURFT19PVVRQVVQ7CisgCX0gZWxzZSB7CistCQlwcmludGYoIkRldmljZSBzdXBwb3J0cyBuZWl0aGVyIGNhcHR1cmUgbm9yIG91dHB1dC5cbiIpOworKwkJZnByaW50ZihzdGRlcnIsICJEZXZpY2Ugc3VwcG9ydHMgbmVpdGhlciBjYXB0dXJlIG5vciBvdXRwdXQuXG4iKTsKKyAJCXJldHVybiAtRUlOVkFMOworIAl9CisgCitAQCAtNDQwLDcgKzQ0MCw3IEBAIHN0YXRpYyBpbnQgZ2V0X2NvbnRyb2woc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgaWQsIGludCB0eXBlLAorIAkJfQorIAl9CisgCistCXByaW50ZigidW5hYmxlIHRvIGdldCBjb250cm9sIDB4JTguOHg6ICVzICglZCkuXG4iLAorKwlmcHJpbnRmKHN0ZGVyciwgInVuYWJsZSB0byBnZXQgY29udHJvbCAweCU4Ljh4OiAlcyAoJWQpLlxuIiwKKyAJCWlkLCBzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAJcmV0dXJuIC0xOworIH0KK0BAIC00ODQsMTIgKzQ4NCwxMiBAQCBzdGF0aWMgdm9pZCBzZXRfY29udHJvbChzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBpZCwgaW50IHR5cGUsCisgCQkJdmFsID0gb2xkLnZhbHVlOworIAl9CisgCWlmIChyZXQgPT0gLTEpIHsKKy0JCXByaW50ZigidW5hYmxlIHRvIHNldCBjb250cm9sIDB4JTguOHg6ICVzICglZCkuXG4iLAorKwkJZnByaW50ZihzdGRlcnIsICJ1bmFibGUgdG8gc2V0IGNvbnRyb2wgMHglOC44eDogJXMgKCVkKS5cbiIsCisgCQkJaWQsIHN0cmVycm9yKGVycm5vKSwgZXJybm8pOworIAkJcmV0dXJuOworIAl9CisgCistCXByaW50ZigiQ29udHJvbCAweCUwOHggc2V0IHRvICUiIFBSSWQ2NCAiLCBpcyAlIiBQUklkNjQgIlxuIiwKKysJZnByaW50ZihzdGRlcnIsICJDb250cm9sIDB4JTA4eCBzZXQgdG8gJSIgUFJJZDY0ICIsIGlzICUiIFBSSWQ2NCAiXG4iLAorIAkgICAgICAgaWQsIG9sZF92YWwsIHZhbCk7CisgfQorIAorQEAgLTUwNCw3ICs1MDQsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2dldF9mb3JtYXQoc3RydWN0IGRldmljZSAqZGV2KQorIAorIAlyZXQgPSBpb2N0bChkZXYtPmZkLCBWSURJT0NfR19GTVQsICZmbXQpOworIAlpZiAocmV0IDwgMCkgeworLQkJcHJpbnRmKCJVbmFibGUgdG8gZ2V0IGZvcm1hdDogJXMgKCVkKS5cbiIsIHN0cmVycm9yKGVycm5vKSwKKysJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIGdldCBmb3JtYXQ6ICVzICglZCkuXG4iLCBzdHJlcnJvcihlcnJubyksCisgCQkJZXJybm8pOworIAkJcmV0dXJuIHJldDsKKyAJfQorQEAgLTUxNCw3ICs1MTQsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2dldF9mb3JtYXQoc3RydWN0IGRldmljZSAqZGV2KQorIAkJZGV2LT5oZWlnaHQgPSBmbXQuZm10LnBpeF9tcC5oZWlnaHQ7CisgCQlkZXYtPm51bV9wbGFuZXMgPSBmbXQuZm10LnBpeF9tcC5udW1fcGxhbmVzOworIAorLQkJcHJpbnRmKCJWaWRlbyBmb3JtYXQ6ICVzICglMDh4KSAldXgldSBmaWVsZCAlcywgJXUgcGxhbmVzOiBcbiIsCisrCSAgICBmcHJpbnRmKHN0ZGVyciwgIlZpZGVvIGZvcm1hdDogJXMgKCUwOHgpICV1eCV1IGZpZWxkICVzLCAldSBwbGFuZXM6IFxuIiwKKyAJCQl2NGwyX2Zvcm1hdF9uYW1lKGZtdC5mbXQucGl4X21wLnBpeGVsZm9ybWF0KSwgZm10LmZtdC5waXhfbXAucGl4ZWxmb3JtYXQsCisgCQkJZm10LmZtdC5waXhfbXAud2lkdGgsIGZtdC5mbXQucGl4X21wLmhlaWdodCwKKyAJCQl2NGwyX2ZpZWxkX25hbWUoZm10LmZtdC5waXhfbXAuZmllbGQpLAorQEAgLTUyNyw3ICs1MjcsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2dldF9mb3JtYXQoc3RydWN0IGRldmljZSAqZGV2KQorIAkJCQkJZm10LmZtdC5waXhfbXAucGxhbmVfZm10W2ldLmJ5dGVzcGVybGluZSA/CisgCQkJCQkJZm10LmZtdC5waXhfbXAucGxhbmVfZm10W2ldLnNpemVpbWFnZSA6IDA7CisgCistCQkJcHJpbnRmKCIgKiBTdHJpZGUgJXUsIGJ1ZmZlciBzaXplICV1XG4iLAorKwkJCWZwcmludGYoc3RkZXJyLCAiICogU3RyaWRlICV1LCBidWZmZXIgc2l6ZSAldVxuIiwKKyAJCQkJZm10LmZtdC5waXhfbXAucGxhbmVfZm10W2ldLmJ5dGVzcGVybGluZSwKKyAJCQkJZm10LmZtdC5waXhfbXAucGxhbmVfZm10W2ldLnNpemVpbWFnZSk7CisgCQl9CitAQCAtNTM5LDcgKzUzOSw3IEBAIHN0YXRpYyBpbnQgdmlkZW9fZ2V0X2Zvcm1hdChzdHJ1Y3QgZGV2aWNlICpkZXYpCisgCQlkZXYtPnBsYW5lX2ZtdFswXS5ieXRlc3BlcmxpbmUgPSBmbXQuZm10LnBpeC5ieXRlc3BlcmxpbmU7CisgCQlkZXYtPnBsYW5lX2ZtdFswXS5zaXplaW1hZ2UgPSBmbXQuZm10LnBpeC5ieXRlc3BlcmxpbmUgPyBmbXQuZm10LnBpeC5zaXplaW1hZ2UgOiAwOworIAorLQkJcHJpbnRmKCJWaWRlbyBmb3JtYXQ6ICVzICglMDh4KSAldXgldSAoc3RyaWRlICV1KSBmaWVsZCAlcyBidWZmZXIgc2l6ZSAldVxuIiwKKysJCWZwcmludGYoc3RkZXJyLCAiVmlkZW8gZm9ybWF0OiAlcyAoJTA4eCkgJXV4JXUgKHN0cmlkZSAldSkgZmllbGQgJXMgYnVmZmVyIHNpemUgJXVcbiIsCisgCQkJdjRsMl9mb3JtYXRfbmFtZShmbXQuZm10LnBpeC5waXhlbGZvcm1hdCksIGZtdC5mbXQucGl4LnBpeGVsZm9ybWF0LAorIAkJCWZtdC5mbXQucGl4LndpZHRoLCBmbXQuZm10LnBpeC5oZWlnaHQsIGZtdC5mbXQucGl4LmJ5dGVzcGVybGluZSwKKyAJCQl2NGwyX2ZpZWxkX25hbWUoZm10LmZtdC5waXhfbXAuZmllbGQpLAorQEAgLTU4MSwyNSArNTgxLDI1IEBAIHN0YXRpYyBpbnQgdmlkZW9fc2V0X2Zvcm1hdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCB3LCB1bnNpZ25lZCBpbnQgaCwKKyAKKyAJcmV0ID0gaW9jdGwoZGV2LT5mZCwgVklESU9DX1NfRk1ULCAmZm10KTsKKyAJaWYgKHJldCA8IDApIHsKKy0JCXByaW50ZigiVW5hYmxlIHRvIHNldCBmb3JtYXQ6ICVzICglZCkuXG4iLCBzdHJlcnJvcihlcnJubyksCisrCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBzZXQgZm9ybWF0OiAlcyAoJWQpLlxuIiwgc3RyZXJyb3IoZXJybm8pLAorIAkJCWVycm5vKTsKKyAJCXJldHVybiByZXQ7CisgCX0KKyAKKyAJaWYgKHZpZGVvX2lzX21wbGFuZShkZXYpKSB7CistCQlwcmludGYoIlZpZGVvIGZvcm1hdCBzZXQ6ICVzICglMDh4KSAldXgldSBmaWVsZCAlcywgJXUgcGxhbmVzOiBcbiIsCisrCQlmcHJpbnRmKHN0ZGVyciwgIlZpZGVvIGZvcm1hdCBzZXQ6ICVzICglMDh4KSAldXgldSBmaWVsZCAlcywgJXUgcGxhbmVzOiBcbiIsCisgCQkJdjRsMl9mb3JtYXRfbmFtZShmbXQuZm10LnBpeF9tcC5waXhlbGZvcm1hdCksIGZtdC5mbXQucGl4X21wLnBpeGVsZm9ybWF0LAorIAkJCWZtdC5mbXQucGl4X21wLndpZHRoLCBmbXQuZm10LnBpeF9tcC5oZWlnaHQsCisgCQkJdjRsMl9maWVsZF9uYW1lKGZtdC5mbXQucGl4X21wLmZpZWxkKSwKKyAJCQlmbXQuZm10LnBpeF9tcC5udW1fcGxhbmVzKTsKKyAKKyAJCWZvciAoaSA9IDA7IGkgPCBmbXQuZm10LnBpeF9tcC5udW1fcGxhbmVzOyBpKyspIHsKKy0JCQlwcmludGYoIiAqIFN0cmlkZSAldSwgYnVmZmVyIHNpemUgJXVcbiIsCisrCQkJZnByaW50ZihzdGRlcnIsICIgKiBTdHJpZGUgJXUsIGJ1ZmZlciBzaXplICV1XG4iLAorIAkJCQlmbXQuZm10LnBpeF9tcC5wbGFuZV9mbXRbaV0uYnl0ZXNwZXJsaW5lLAorIAkJCQlmbXQuZm10LnBpeF9tcC5wbGFuZV9mbXRbaV0uc2l6ZWltYWdlKTsKKyAJCX0KKyAJfSBlbHNlIHsKKy0JCXByaW50ZigiVmlkZW8gZm9ybWF0IHNldDogJXMgKCUwOHgpICV1eCV1IChzdHJpZGUgJXUpIGZpZWxkICVzIGJ1ZmZlciBzaXplICV1XG4iLAorKwkJZnByaW50ZihzdGRlcnIsICJWaWRlbyBmb3JtYXQgc2V0OiAlcyAoJTA4eCkgJXV4JXUgKHN0cmlkZSAldSkgZmllbGQgJXMgYnVmZmVyIHNpemUgJXVcbiIsCisgCQkJdjRsMl9mb3JtYXRfbmFtZShmbXQuZm10LnBpeC5waXhlbGZvcm1hdCksIGZtdC5mbXQucGl4LnBpeGVsZm9ybWF0LAorIAkJCWZtdC5mbXQucGl4LndpZHRoLCBmbXQuZm10LnBpeC5oZWlnaHQsIGZtdC5mbXQucGl4LmJ5dGVzcGVybGluZSwKKyAJCQl2NGwyX2ZpZWxkX25hbWUoZm10LmZtdC5waXguZmllbGQpLAorQEAgLTYxOSwxNiArNjE5LDE2IEBAIHN0YXRpYyBpbnQgdmlkZW9fc2V0X2ZyYW1lcmF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB2NGwyX2ZyYWN0ICp0aW1lX3Blcl9mCisgCisgCXJldCA9IGlvY3RsKGRldi0+ZmQsIFZJRElPQ19HX1BBUk0sICZwYXJtKTsKKyAJaWYgKHJldCA8IDApIHsKKy0JCXByaW50ZigiVW5hYmxlIHRvIGdldCBmcmFtZSByYXRlOiAlcyAoJWQpLlxuIiwKKysJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIGdldCBmcmFtZSByYXRlOiAlcyAoJWQpLlxuIiwKKyAJCQlzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAJCXJldHVybiByZXQ7CisgCX0KKyAKKy0JcHJpbnRmKCJDdXJyZW50IGZyYW1lIHJhdGU6ICV1LyV1XG4iLAorKwlmcHJpbnRmKHN0ZGVyciwgIkN1cnJlbnQgZnJhbWUgcmF0ZTogJXUvJXVcbiIsCisgCQlwYXJtLnBhcm0uY2FwdHVyZS50aW1lcGVyZnJhbWUubnVtZXJhdG9yLAorIAkJcGFybS5wYXJtLmNhcHR1cmUudGltZXBlcmZyYW1lLmRlbm9taW5hdG9yKTsKKyAKKy0JcHJpbnRmKCJTZXR0aW5nIGZyYW1lIHJhdGUgdG86ICV1LyV1XG4iLAorKwlmcHJpbnRmKHN0ZGVyciwgIlNldHRpbmcgZnJhbWUgcmF0ZSB0bzogJXUvJXVcbiIsCisgCQl0aW1lX3Blcl9mcmFtZS0+bnVtZXJhdG9yLAorIAkJdGltZV9wZXJfZnJhbWUtPmRlbm9taW5hdG9yKTsKKyAKK0BAIC02MzcsMTkgKzYzNywxOSBAQCBzdGF0aWMgaW50IHZpZGVvX3NldF9mcmFtZXJhdGUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgdjRsMl9mcmFjdCAqdGltZV9wZXJfZgorIAorIAlyZXQgPSBpb2N0bChkZXYtPmZkLCBWSURJT0NfU19QQVJNLCAmcGFybSk7CisgCWlmIChyZXQgPCAwKSB7CistCQlwcmludGYoIlVuYWJsZSB0byBzZXQgZnJhbWUgcmF0ZTogJXMgKCVkKS5cbiIsIHN0cmVycm9yKGVycm5vKSwKKysJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIHNldCBmcmFtZSByYXRlOiAlcyAoJWQpLlxuIiwgc3RyZXJyb3IoZXJybm8pLAorIAkJCWVycm5vKTsKKyAJCXJldHVybiByZXQ7CisgCX0KKyAKKyAJcmV0ID0gaW9jdGwoZGV2LT5mZCwgVklESU9DX0dfUEFSTSwgJnBhcm0pOworIAlpZiAocmV0IDwgMCkgeworLQkJcHJpbnRmKCJVbmFibGUgdG8gZ2V0IGZyYW1lIHJhdGU6ICVzICglZCkuXG4iLCBzdHJlcnJvcihlcnJubyksCisrCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBnZXQgZnJhbWUgcmF0ZTogJXMgKCVkKS5cbiIsIHN0cmVycm9yKGVycm5vKSwKKyAJCQllcnJubyk7CisgCQlyZXR1cm4gcmV0OworIAl9CisgCistCXByaW50ZigiRnJhbWUgcmF0ZSBzZXQ6ICV1LyV1XG4iLAorKwlmcHJpbnRmKHN0ZGVyciwgIkZyYW1lIHJhdGUgc2V0OiAldS8ldVxuIiwKKyAJCXBhcm0ucGFybS5jYXB0dXJlLnRpbWVwZXJmcmFtZS5udW1lcmF0b3IsCisgCQlwYXJtLnBhcm0uY2FwdHVyZS50aW1lcGVyZnJhbWUuZGVub21pbmF0b3IpOworIAlyZXR1cm4gMDsKK0BAIC02NzQsNyArNjc0LDcgQEAgc3RhdGljIGludCB2aWRlb19idWZmZXJfbW1hcChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBidWZmZXIgKmJ1ZmZlciwKKyAJCWJ1ZmZlci0+bWVtW2ldID0gbW1hcCgwLCBsZW5ndGgsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9TSEFSRUQsCisgCQkJCSAgICAgIGRldi0+ZmQsIG9mZnNldCk7CisgCQlpZiAoYnVmZmVyLT5tZW1baV0gPT0gTUFQX0ZBSUxFRCkgeworLQkJCXByaW50ZigiVW5hYmxlIHRvIG1hcCBidWZmZXIgJXUvJXU6ICVzICglZClcbiIsCisrCQkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gbWFwIGJ1ZmZlciAldS8ldTogJXMgKCVkKVxuIiwKKyAJCQkgICAgICAgYnVmZmVyLT5pZHgsIGksIHN0cmVycm9yKGVycm5vKSwgZXJybm8pOworIAkJCXJldHVybiAtMTsKKyAJCX0KK0BAIC02ODIsNyArNjgyLDcgQEAgc3RhdGljIGludCB2aWRlb19idWZmZXJfbW1hcChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBidWZmZXIgKmJ1ZmZlciwKKyAJCWJ1ZmZlci0+c2l6ZVtpXSA9IGxlbmd0aDsKKyAJCWJ1ZmZlci0+cGFkZGluZ1tpXSA9IDA7CisgCistCQlwcmludGYoIkJ1ZmZlciAldS8ldSBtYXBwZWQgYXQgYWRkcmVzcyAlcC5cbiIsCisrCQlmcHJpbnRmKHN0ZGVyciwgIkJ1ZmZlciAldS8ldSBtYXBwZWQgYXQgYWRkcmVzcyAlcC5cbiIsCisgCQkgICAgICAgYnVmZmVyLT5pZHgsIGksIGJ1ZmZlci0+bWVtW2ldKTsKKyAJfQorIAorQEAgLTY5Nyw3ICs2OTcsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2J1ZmZlcl9tdW5tYXAoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgYnVmZmVyICpidWZmZXIpCisgCWZvciAoaSA9IDA7IGkgPCBkZXYtPm51bV9wbGFuZXM7IGkrKykgeworIAkJcmV0ID0gbXVubWFwKGJ1ZmZlci0+bWVtW2ldLCBidWZmZXItPnNpemVbaV0pOworIAkJaWYgKHJldCA8IDApIHsKKy0JCQlwcmludGYoIlVuYWJsZSB0byB1bm1hcCBidWZmZXIgJXUvJXU6ICVzICglZClcbiIsCisrCQkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gdW5tYXAgYnVmZmVyICV1LyV1OiAlcyAoJWQpXG4iLAorIAkJCSAgICAgICBidWZmZXItPmlkeCwgaSwgc3RyZXJyb3IoZXJybm8pLCBlcnJubyk7CisgCQl9CisgCitAQCAtNzI1LDcgKzcyNSw3IEBAIHN0YXRpYyBpbnQgdmlkZW9fYnVmZmVyX2FsbG9jX3VzZXJwdHIoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgYnVmZmVyICpidWZmZXIsCisgCQlyZXQgPSBwb3NpeF9tZW1hbGlnbigmYnVmZmVyLT5tZW1baV0sIHBhZ2Vfc2l6ZSwKKyAJCQkJICAgICBsZW5ndGggKyBvZmZzZXQgKyBwYWRkaW5nKTsKKyAJCWlmIChyZXQgPCAwKSB7CistCQkJcHJpbnRmKCJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyICV1LyV1ICglZClcbiIsCisrCQkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyICV1LyV1ICglZClcbiIsCisgCQkJICAgICAgIGJ1ZmZlci0+aWR4LCBpLCByZXQpOworIAkJCXJldHVybiAtRU5PTUVNOworIAkJfQorQEAgLTczNCw3ICs3MzQsNyBAQCBzdGF0aWMgaW50IHZpZGVvX2J1ZmZlcl9hbGxvY191c2VycHRyKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGJ1ZmZlciAqYnVmZmVyLAorIAkJYnVmZmVyLT5zaXplW2ldID0gbGVuZ3RoOworIAkJYnVmZmVyLT5wYWRkaW5nW2ldID0gcGFkZGluZzsKKyAKKy0JCXByaW50ZigiQnVmZmVyICV1LyV1IGFsbG9jYXRlZCBhdCBhZGRyZXNzICVwLlxuIiwKKysJCWZwcmludGYoc3RkZXJyLCAiQnVmZmVyICV1LyV1IGFsbG9jYXRlZCBhdCBhZGRyZXNzICVwLlxuIiwKKyAJCSAgICAgICBidWZmZXItPmlkeCwgaSwgYnVmZmVyLT5tZW1baV0pOworIAl9CisgCitAQCAtODA5LDEyICs4MDksMTIgQEAgc3RhdGljIGludCB2aWRlb19hbGxvY19idWZmZXJzKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IG5idWZzLAorIAorIAlyZXQgPSBpb2N0bChkZXYtPmZkLCBWSURJT0NfUkVRQlVGUywgJnJiKTsKKyAJaWYgKHJldCA8IDApIHsKKy0JCXByaW50ZigiVW5hYmxlIHRvIHJlcXVlc3QgYnVmZmVyczogJXMgKCVkKS5cbiIsIHN0cmVycm9yKGVycm5vKSwKKysJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIHJlcXVlc3QgYnVmZmVyczogJXMgKCVkKS5cbiIsIHN0cmVycm9yKGVycm5vKSwKKyAJCQllcnJubyk7CisgCQlyZXR1cm4gcmV0OworIAl9CisgCistCXByaW50ZigiJXUgYnVmZmVycyByZXF1ZXN0ZWQuXG4iLCByYi5jb3VudCk7CisrCWZwcmludGYoc3RkZXJyLCAiJXUgYnVmZmVycyByZXF1ZXN0ZWQuXG4iLCByYi5jb3VudCk7CisgCisgCWJ1ZmZlcnMgPSBtYWxsb2MocmIuY291bnQgKiBzaXplb2YgYnVmZmVyc1swXSk7CisgCWlmIChidWZmZXJzID09IE5VTEwpCitAQCAtODM1LDEyICs4MzUsMTIgQEAgc3RhdGljIGludCB2aWRlb19hbGxvY19idWZmZXJzKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IG5idWZzLAorIAorIAkJcmV0ID0gaW9jdGwoZGV2LT5mZCwgVklESU9DX1FVRVJZQlVGLCAmYnVmKTsKKyAJCWlmIChyZXQgPCAwKSB7CistCQkJcHJpbnRmKCJVbmFibGUgdG8gcXVlcnkgYnVmZmVyICV1OiAlcyAoJWQpLlxuIiwgaSwKKysJCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBxdWVyeSBidWZmZXIgJXU6ICVzICglZCkuXG4iLCBpLAorIAkJCQlzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAJCQlyZXR1cm4gcmV0OworIAkJfQorIAkJZ2V0X3RzX2ZsYWdzKGJ1Zi5mbGFncywgJnRzX3R5cGUsICZ0c19zb3VyY2UpOworLQkJcHJpbnRmKCJsZW5ndGg6ICV1IG9mZnNldDogJXUgdGltZXN0YW1wIHR5cGUvc291cmNlOiAlcy8lc1xuIiwKKysJCWZwcmludGYoc3RkZXJyLCAibGVuZ3RoOiAldSBvZmZzZXQ6ICV1IHRpbWVzdGFtcCB0eXBlL3NvdXJjZTogJXMvJXNcbiIsCisgCQkgICAgICAgYnVmLmxlbmd0aCwgYnVmLm0ub2Zmc2V0LCB0c190eXBlLCB0c19zb3VyY2UpOworIAorIAkJYnVmZmVyc1tpXS5pZHggPSBpOworQEAgLTg5OSwxMiArODk5LDEyIEBAIHN0YXRpYyBpbnQgdmlkZW9fZnJlZV9idWZmZXJzKHN0cnVjdCBkZXZpY2UgKmRldikKKyAKKyAJcmV0ID0gaW9jdGwoZGV2LT5mZCwgVklESU9DX1JFUUJVRlMsICZyYik7CisgCWlmIChyZXQgPCAwKSB7CistCQlwcmludGYoIlVuYWJsZSB0byByZWxlYXNlIGJ1ZmZlcnM6ICVzICglZCkuXG4iLAorKwkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gcmVsZWFzZSBidWZmZXJzOiAlcyAoJWQpLlxuIiwKKyAJCQlzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAJCXJldHVybiByZXQ7CisgCX0KKyAKKy0JcHJpbnRmKCIldSBidWZmZXJzIHJlbGVhc2VkLlxuIiwgZGV2LT5uYnVmcyk7CisrCWZwcmludGYoc3RkZXJyLCAiJXUgYnVmZmVycyByZWxlYXNlZC5cbiIsIGRldi0+bmJ1ZnMpOworIAorIAlmcmVlKGRldi0+YnVmZmVycyk7CisgCWRldi0+bmJ1ZnMgPSAwOworQEAgLTk3NCw3ICs5NzQsNyBAQCBzdGF0aWMgaW50IHZpZGVvX3F1ZXVlX2J1ZmZlcihzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBpbmRleCwgZW51bSBidWZmZXJfZmlsbF9tbworIAorIAlyZXQgPSBpb2N0bChkZXYtPmZkLCBWSURJT0NfUUJVRiwgJmJ1Zik7CisgCWlmIChyZXQgPCAwKQorLQkJcHJpbnRmKCJVbmFibGUgdG8gcXVldWUgYnVmZmVyOiAlcyAoJWQpLlxuIiwKKysJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIHF1ZXVlIGJ1ZmZlcjogJXMgKCVkKS5cbiIsCisgCQkJc3RyZXJyb3IoZXJybm8pLCBlcnJubyk7CisgCisgCXJldHVybiByZXQ7CitAQCAtOTg3LDcgKzk4Nyw3IEBAIHN0YXRpYyBpbnQgdmlkZW9fZW5hYmxlKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGVuYWJsZSkKKyAKKyAJcmV0ID0gaW9jdGwoZGV2LT5mZCwgZW5hYmxlID8gVklESU9DX1NUUkVBTU9OIDogVklESU9DX1NUUkVBTU9GRiwgJnR5cGUpOworIAlpZiAocmV0IDwgMCkgeworLQkJcHJpbnRmKCJVbmFibGUgdG8gJXMgc3RyZWFtaW5nOiAlcyAoJWQpLlxuIiwKKysJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvICVzIHN0cmVhbWluZzogJXMgKCVkKS5cbiIsCisgCQkJZW5hYmxlID8gInN0YXJ0IiA6ICJzdG9wIiwgc3RyZXJyb3IoZXJybm8pLCBlcnJubyk7CisgCQlyZXR1cm4gcmV0OworIAl9CitAQCAtMTAwOSwxMCArMTAwOSwxMCBAQCBzdGF0aWMgdm9pZCB2aWRlb19xdWVyeV9tZW51KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHY0bDJfcXVlcnljdHJsICpxdWVyeSwKKyAJCQljb250aW51ZTsKKyAKKyAJCWlmIChxdWVyeS0+dHlwZSA9PSBWNEwyX0NUUkxfVFlQRV9NRU5VKQorLQkJCXByaW50ZigiICAldTogJS4zMnMlc1xuIiwgbWVudS5pbmRleCwgbWVudS5uYW1lLAorKwkJCWZwcmludGYoc3RkZXJyLCAiICAldTogJS4zMnMlc1xuIiwgbWVudS5pbmRleCwgbWVudS5uYW1lLAorIAkJCSAgICAgICBtZW51LmluZGV4ID09IHZhbHVlID8gIiAoKikiIDogIiIpOworIAkJZWxzZQorLQkJCXByaW50ZigiICAldTogJWxsZCVzXG4iLCBtZW51LmluZGV4LCBtZW51LnZhbHVlLAorKwkJCWZwcmludGYoc3RkZXJyLCAiICAldTogJWxsZCVzXG4iLCBtZW51LmluZGV4LCBtZW51LnZhbHVlLAorIAkJCSAgICAgICBtZW51LmluZGV4ID09IHZhbHVlID8gIiAoKikiIDogIiIpOworIAl9OworIH0KK0BAIC0xMDQzLDcgKzEwNDMsNyBAQCBzdGF0aWMgdm9pZCB2aWRlb19saXN0X2NvbnRyb2xzKHN0cnVjdCBkZXZpY2UgKmRldikKKyAJCQljb250aW51ZTsKKyAKKyAJCWlmIChxdWVyeS50eXBlID09IFY0TDJfQ1RSTF9UWVBFX0NUUkxfQ0xBU1MpIHsKKy0JCQlwcmludGYoIi0tLSAlcyAoY2xhc3MgMHglMDh4KSAtLS1cbiIsIHF1ZXJ5Lm5hbWUsIHF1ZXJ5LmlkKTsKKysJCQlmcHJpbnRmKHN0ZGVyciwgIi0tLSAlcyAoY2xhc3MgMHglMDh4KSAtLS1cbiIsIHF1ZXJ5Lm5hbWUsIHF1ZXJ5LmlkKTsKKyAJCQljb250aW51ZTsKKyAJCX0KKyAKK0BAIC0xMDUzLDcgKzEwNTMsNyBAQCBzdGF0aWMgdm9pZCB2aWRlb19saXN0X2NvbnRyb2xzKHN0cnVjdCBkZXZpY2UgKmRldikKKyAJCWVsc2UKKyAJCQlzcHJpbnRmKHZhbHVlLCAiJSIgUFJJZDY0LCB2YWw2NCk7CisgCistCQlwcmludGYoImNvbnRyb2wgMHglMDh4IGAlcycgbWluICVkIG1heCAlZCBzdGVwICVkIGRlZmF1bHQgJWQgY3VycmVudCAlcy5cbiIsCisrCQlmcHJpbnRmKHN0ZGVyciwgImNvbnRyb2wgMHglMDh4IGAlcycgbWluICVkIG1heCAlZCBzdGVwICVkIGRlZmF1bHQgJWQgY3VycmVudCAlcy5cbiIsCisgCQkJcXVlcnkuaWQsIHF1ZXJ5Lm5hbWUsIHF1ZXJ5Lm1pbmltdW0sIHF1ZXJ5Lm1heGltdW0sCisgCQkJcXVlcnkuc3RlcCwgcXVlcnkuZGVmYXVsdF92YWx1ZSwgdmFsdWUpOworIAorQEAgLTEwNjUsOSArMTA2NSw5IEBAIHN0YXRpYyB2b2lkIHZpZGVvX2xpc3RfY29udHJvbHMoc3RydWN0IGRldmljZSAqZGV2KQorIAl9CisgCisgCWlmIChuY3RybHMpCistCQlwcmludGYoIiV1IGNvbnRyb2wlcyBmb3VuZC5cbiIsIG5jdHJscywgbmN0cmxzID4gMSA/ICJzIiA6ICIiKTsKKysJCWZwcmludGYoc3RkZXJyLCAiJXUgY29udHJvbCVzIGZvdW5kLlxuIiwgbmN0cmxzLCBuY3RybHMgPiAxID8gInMiIDogIiIpOworIAllbHNlCistCQlwcmludGYoIk5vIGNvbnRyb2wgZm91bmQuXG4iKTsKKysJCWZwcmludGYoc3RkZXJyLCAiTm8gY29udHJvbCBmb3VuZC5cbiIpOworIH0KKyAKKyBzdGF0aWMgdm9pZCB2aWRlb19lbnVtX2ZyYW1lX2ludGVydmFscyhzdHJ1Y3QgZGV2aWNlICpkZXYsIF9fdTMyIHBpeGVsZm9ybWF0LAorQEAgLTEwODgsMzAgKzEwODgsMzAgQEAgc3RhdGljIHZvaWQgdmlkZW9fZW51bV9mcmFtZV9pbnRlcnZhbHMoc3RydWN0IGRldmljZSAqZGV2LCBfX3UzMiBwaXhlbGZvcm1hdCwKKyAJCQlicmVhazsKKyAKKyAJCWlmIChpICE9IGl2YWwuaW5kZXgpCistCQkJcHJpbnRmKCJXYXJuaW5nOiBkcml2ZXIgcmV0dXJuZWQgd3JvbmcgaXZhbCBpbmRleCAiCisrCQkJZnByaW50ZihzdGRlcnIsICJXYXJuaW5nOiBkcml2ZXIgcmV0dXJuZWQgd3JvbmcgaXZhbCBpbmRleCAiCisgCQkJCSIldS5cbiIsIGl2YWwuaW5kZXgpOworIAkJaWYgKHBpeGVsZm9ybWF0ICE9IGl2YWwucGl4ZWxfZm9ybWF0KQorLQkJCXByaW50ZigiV2FybmluZzogZHJpdmVyIHJldHVybmVkIHdyb25nIGl2YWwgcGl4ZWwgIgorKwkJCWZwcmludGYoc3RkZXJyLCAiV2FybmluZzogZHJpdmVyIHJldHVybmVkIHdyb25nIGl2YWwgcGl4ZWwgIgorIAkJCQkiZm9ybWF0ICUwOHguXG4iLCBpdmFsLnBpeGVsX2Zvcm1hdCk7CisgCQlpZiAod2lkdGggIT0gaXZhbC53aWR0aCkKKy0JCQlwcmludGYoIldhcm5pbmc6IGRyaXZlciByZXR1cm5lZCB3cm9uZyBpdmFsIHdpZHRoICIKKysJCQlmcHJpbnRmKHN0ZGVyciwgIldhcm5pbmc6IGRyaXZlciByZXR1cm5lZCB3cm9uZyBpdmFsIHdpZHRoICIKKyAJCQkJIiV1LlxuIiwgaXZhbC53aWR0aCk7CisgCQlpZiAoaGVpZ2h0ICE9IGl2YWwuaGVpZ2h0KQorLQkJCXByaW50ZigiV2FybmluZzogZHJpdmVyIHJldHVybmVkIHdyb25nIGl2YWwgaGVpZ2h0ICIKKysJCQlmcHJpbnRmKHN0ZGVyciwgIldhcm5pbmc6IGRyaXZlciByZXR1cm5lZCB3cm9uZyBpdmFsIGhlaWdodCAiCisgCQkJCSIldS5cbiIsIGl2YWwuaGVpZ2h0KTsKKyAKKyAJCWlmIChpICE9IDApCistCQkJcHJpbnRmKCIsICIpOworKwkJCWZwcmludGYoc3RkZXJyLCAiLCAiKTsKKyAKKyAJCXN3aXRjaCAoaXZhbC50eXBlKSB7CisgCQljYXNlIFY0TDJfRlJNSVZBTF9UWVBFX0RJU0NSRVRFOgorLQkJCXByaW50ZigiJXUvJXUiLAorKwkJCWZwcmludGYoc3RkZXJyLCAiJXUvJXUiLAorIAkJCQlpdmFsLmRpc2NyZXRlLm51bWVyYXRvciwKKyAJCQkJaXZhbC5kaXNjcmV0ZS5kZW5vbWluYXRvcik7CisgCQkJYnJlYWs7CisgCisgCQljYXNlIFY0TDJfRlJNSVZBTF9UWVBFX0NPTlRJTlVPVVM6CistCQkJcHJpbnRmKCIldS8ldSAtICV1LyV1IiwKKysJCQlmcHJpbnRmKHN0ZGVyciwgIiV1LyV1IC0gJXUvJXUiLAorIAkJCQlpdmFsLnN0ZXB3aXNlLm1pbi5udW1lcmF0b3IsCisgCQkJCWl2YWwuc3RlcHdpc2UubWluLmRlbm9taW5hdG9yLAorIAkJCQlpdmFsLnN0ZXB3aXNlLm1heC5udW1lcmF0b3IsCitAQCAtMTExOSw3ICsxMTE5LDcgQEAgc3RhdGljIHZvaWQgdmlkZW9fZW51bV9mcmFtZV9pbnRlcnZhbHMoc3RydWN0IGRldmljZSAqZGV2LCBfX3UzMiBwaXhlbGZvcm1hdCwKKyAJCQlyZXR1cm47CisgCisgCQljYXNlIFY0TDJfRlJNSVZBTF9UWVBFX1NURVBXSVNFOgorLQkJCXByaW50ZigiJXUvJXUgLSAldS8ldSAoYnkgJXUvJXUpIiwKKysJCQlmcHJpbnRmKHN0ZGVyciwgIiV1LyV1IC0gJXUvJXUgKGJ5ICV1LyV1KSIsCisgCQkJCWl2YWwuc3RlcHdpc2UubWluLm51bWVyYXRvciwKKyAJCQkJaXZhbC5zdGVwd2lzZS5taW4uZGVub21pbmF0b3IsCisgCQkJCWl2YWwuc3RlcHdpc2UubWF4Lm51bWVyYXRvciwKK0BAIC0xMTQ5LDIzICsxMTQ5LDIzIEBAIHN0YXRpYyB2b2lkIHZpZGVvX2VudW1fZnJhbWVfc2l6ZXMoc3RydWN0IGRldmljZSAqZGV2LCBfX3UzMiBwaXhlbGZvcm1hdCkKKyAJCQlicmVhazsKKyAKKyAJCWlmIChpICE9IGZyYW1lLmluZGV4KQorLQkJCXByaW50ZigiV2FybmluZzogZHJpdmVyIHJldHVybmVkIHdyb25nIGZyYW1lIGluZGV4ICIKKysJCQlmcHJpbnRmKHN0ZGVyciwgIldhcm5pbmc6IGRyaXZlciByZXR1cm5lZCB3cm9uZyBmcmFtZSBpbmRleCAiCisgCQkJCSIldS5cbiIsIGZyYW1lLmluZGV4KTsKKyAJCWlmIChwaXhlbGZvcm1hdCAhPSBmcmFtZS5waXhlbF9mb3JtYXQpCistCQkJcHJpbnRmKCJXYXJuaW5nOiBkcml2ZXIgcmV0dXJuZWQgd3JvbmcgZnJhbWUgcGl4ZWwgIgorKwkJCWZwcmludGYoc3RkZXJyLCAiV2FybmluZzogZHJpdmVyIHJldHVybmVkIHdyb25nIGZyYW1lIHBpeGVsICIKKyAJCQkJImZvcm1hdCAlMDh4LlxuIiwgZnJhbWUucGl4ZWxfZm9ybWF0KTsKKyAKKyAJCXN3aXRjaCAoZnJhbWUudHlwZSkgeworIAkJY2FzZSBWNEwyX0ZSTVNJWkVfVFlQRV9ESVNDUkVURToKKy0JCQlwcmludGYoIlx0RnJhbWUgc2l6ZTogJXV4JXUgKCIsIGZyYW1lLmRpc2NyZXRlLndpZHRoLAorKwkJCWZwcmludGYoc3RkZXJyLCAiXHRGcmFtZSBzaXplOiAldXgldSAoIiwgZnJhbWUuZGlzY3JldGUud2lkdGgsCisgCQkJCWZyYW1lLmRpc2NyZXRlLmhlaWdodCk7CisgCQkJdmlkZW9fZW51bV9mcmFtZV9pbnRlcnZhbHMoZGV2LCBmcmFtZS5waXhlbF9mb3JtYXQsCisgCQkJCWZyYW1lLmRpc2NyZXRlLndpZHRoLCBmcmFtZS5kaXNjcmV0ZS5oZWlnaHQpOworLQkJCXByaW50ZigiKVxuIik7CisrCQkJZnByaW50ZihzdGRlcnIsICIpXG4iKTsKKyAJCQlicmVhazsKKyAKKyAJCWNhc2UgVjRMMl9GUk1TSVpFX1RZUEVfQ09OVElOVU9VUzoKKy0JCQlwcmludGYoIlx0RnJhbWUgc2l6ZTogJXV4JXUgLSAldXgldSAoIiwKKysJCQlmcHJpbnRmKHN0ZGVyciwgIlx0RnJhbWUgc2l6ZTogJXV4JXUgLSAldXgldSAoIiwKKyAJCQkJZnJhbWUuc3RlcHdpc2UubWluX3dpZHRoLAorIAkJCQlmcmFtZS5zdGVwd2lzZS5taW5faGVpZ2h0LAorIAkJCQlmcmFtZS5zdGVwd2lzZS5tYXhfd2lkdGgsCitAQCAtMTE3MywxMSArMTE3MywxMSBAQCBzdGF0aWMgdm9pZCB2aWRlb19lbnVtX2ZyYW1lX3NpemVzKHN0cnVjdCBkZXZpY2UgKmRldiwgX191MzIgcGl4ZWxmb3JtYXQpCisgCQkJdmlkZW9fZW51bV9mcmFtZV9pbnRlcnZhbHMoZGV2LCBmcmFtZS5waXhlbF9mb3JtYXQsCisgCQkJCWZyYW1lLnN0ZXB3aXNlLm1heF93aWR0aCwKKyAJCQkJZnJhbWUuc3RlcHdpc2UubWF4X2hlaWdodCk7CistCQkJcHJpbnRmKCIpXG4iKTsKKysJCQlmcHJpbnRmKHN0ZGVyciwgIilcbiIpOworIAkJCWJyZWFrOworIAorIAkJY2FzZSBWNEwyX0ZSTVNJWkVfVFlQRV9TVEVQV0lTRToKKy0JCQlwcmludGYoIlx0RnJhbWUgc2l6ZTogJXV4JXUgLSAldXgldSAoYnkgJXV4JXUpIChcbiIsCisrCQkJZnByaW50ZihzdGRlcnIsICJcdEZyYW1lIHNpemU6ICV1eCV1IC0gJXV4JXUgKGJ5ICV1eCV1KSAoXG4iLAorIAkJCQlmcmFtZS5zdGVwd2lzZS5taW5fd2lkdGgsCisgCQkJCWZyYW1lLnN0ZXB3aXNlLm1pbl9oZWlnaHQsCisgCQkJCWZyYW1lLnN0ZXB3aXNlLm1heF93aWR0aCwKK0BAIC0xMTg3LDcgKzExODcsNyBAQCBzdGF0aWMgdm9pZCB2aWRlb19lbnVtX2ZyYW1lX3NpemVzKHN0cnVjdCBkZXZpY2UgKmRldiwgX191MzIgcGl4ZWxmb3JtYXQpCisgCQkJdmlkZW9fZW51bV9mcmFtZV9pbnRlcnZhbHMoZGV2LCBmcmFtZS5waXhlbF9mb3JtYXQsCisgCQkJCWZyYW1lLnN0ZXB3aXNlLm1heF93aWR0aCwKKyAJCQkJZnJhbWUuc3RlcHdpc2UubWF4X2hlaWdodCk7CistCQkJcHJpbnRmKCIpXG4iKTsKKysJCQlmcHJpbnRmKHN0ZGVyciwgIilcbiIpOworIAkJCWJyZWFrOworIAorIAkJZGVmYXVsdDoKK0BAIC0xMjExLDE5ICsxMjExLDE5IEBAIHN0YXRpYyB2b2lkIHZpZGVvX2VudW1fZm9ybWF0cyhzdHJ1Y3QgZGV2aWNlICpkZXYsIGVudW0gdjRsMl9idWZfdHlwZSB0eXBlKQorIAkJCWJyZWFrOworIAorIAkJaWYgKGkgIT0gZm10LmluZGV4KQorLQkJCXByaW50ZigiV2FybmluZzogZHJpdmVyIHJldHVybmVkIHdyb25nIGZvcm1hdCBpbmRleCAiCisrCQkJZnByaW50ZihzdGRlcnIsICJXYXJuaW5nOiBkcml2ZXIgcmV0dXJuZWQgd3JvbmcgZm9ybWF0IGluZGV4ICIKKyAJCQkJIiV1LlxuIiwgZm10LmluZGV4KTsKKyAJCWlmICh0eXBlICE9IGZtdC50eXBlKQorLQkJCXByaW50ZigiV2FybmluZzogZHJpdmVyIHJldHVybmVkIHdyb25nIGZvcm1hdCB0eXBlICIKKysJCQlmcHJpbnRmKHN0ZGVyciwgIldhcm5pbmc6IGRyaXZlciByZXR1cm5lZCB3cm9uZyBmb3JtYXQgdHlwZSAiCisgCQkJCSIldS5cbiIsIGZtdC50eXBlKTsKKyAKKy0JCXByaW50ZigiXHRGb3JtYXQgJXU6ICVzICglMDh4KVxuIiwgaSwKKysJCWZwcmludGYoc3RkZXJyLCAiXHRGb3JtYXQgJXU6ICVzICglMDh4KVxuIiwgaSwKKyAJCQl2NGwyX2Zvcm1hdF9uYW1lKGZtdC5waXhlbGZvcm1hdCksIGZtdC5waXhlbGZvcm1hdCk7CistCQlwcmludGYoIlx0VHlwZTogJXMgKCV1KVxuIiwgdjRsMl9idWZfdHlwZV9uYW1lKGZtdC50eXBlKSwKKysJCWZwcmludGYoc3RkZXJyLCAiXHRUeXBlOiAlcyAoJXUpXG4iLCB2NGwyX2J1Zl90eXBlX25hbWUoZm10LnR5cGUpLAorIAkJCWZtdC50eXBlKTsKKy0JCXByaW50ZigiXHROYW1lOiAlLjMyc1xuIiwgZm10LmRlc2NyaXB0aW9uKTsKKysJCWZwcmludGYoc3RkZXJyLCAiXHROYW1lOiAlLjMyc1xuIiwgZm10LmRlc2NyaXB0aW9uKTsKKyAJCXZpZGVvX2VudW1fZnJhbWVfc2l6ZXMoZGV2LCBmbXQucGl4ZWxmb3JtYXQpOworLQkJcHJpbnRmKCJcbiIpOworKwkJZnByaW50ZihzdGRlcnIsICJcbiIpOworIAl9CisgfQorIAorQEAgLTEyNDEsMTMgKzEyNDEsMTMgQEAgc3RhdGljIHZvaWQgdmlkZW9fZW51bV9pbnB1dHMoc3RydWN0IGRldmljZSAqZGV2KQorIAkJCWJyZWFrOworIAorIAkJaWYgKGkgIT0gaW5wdXQuaW5kZXgpCistCQkJcHJpbnRmKCJXYXJuaW5nOiBkcml2ZXIgcmV0dXJuZWQgd3JvbmcgaW5wdXQgaW5kZXggIgorKwkJCWZwcmludGYoc3RkZXJyLCAiV2FybmluZzogZHJpdmVyIHJldHVybmVkIHdyb25nIGlucHV0IGluZGV4ICIKKyAJCQkJIiV1LlxuIiwgaW5wdXQuaW5kZXgpOworIAorLQkJcHJpbnRmKCJcdElucHV0ICV1OiAlcy5cbiIsIGksIGlucHV0Lm5hbWUpOworKwkJZnByaW50ZihzdGRlcnIsICJcdElucHV0ICV1OiAlcy5cbiIsIGksIGlucHV0Lm5hbWUpOworIAl9CisgCistCXByaW50ZigiXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICJcbiIpOworIH0KKyAKKyBzdGF0aWMgaW50IHZpZGVvX2dldF9pbnB1dChzdHJ1Y3QgZGV2aWNlICpkZXYpCitAQCAtMTI1Nyw3ICsxMjU3LDcgQEAgc3RhdGljIGludCB2aWRlb19nZXRfaW5wdXQoc3RydWN0IGRldmljZSAqZGV2KQorIAorIAlyZXQgPSBpb2N0bChkZXYtPmZkLCBWSURJT0NfR19JTlBVVCwgJmlucHV0KTsKKyAJaWYgKHJldCA8IDApIHsKKy0JCXByaW50ZigiVW5hYmxlIHRvIGdldCBjdXJyZW50IGlucHV0OiAlcyAoJWQpLlxuIiwKKysJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIGdldCBjdXJyZW50IGlucHV0OiAlcyAoJWQpLlxuIiwKKyAJCQlzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAJCXJldHVybiByZXQ7CisgCX0KK0BAIC0xMjcyLDcgKzEyNzIsNyBAQCBzdGF0aWMgaW50IHZpZGVvX3NldF9pbnB1dChzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBpbnB1dCkKKyAKKyAJcmV0ID0gaW9jdGwoZGV2LT5mZCwgVklESU9DX1NfSU5QVVQsICZfaW5wdXQpOworIAlpZiAocmV0IDwgMCkKKy0JCXByaW50ZigiVW5hYmxlIHRvIHNlbGVjdCBpbnB1dCAldTogJXMgKCVkKS5cbiIsIGlucHV0LAorKwkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gc2VsZWN0IGlucHV0ICV1OiAlcyAoJWQpLlxuIiwgaW5wdXQsCisgCQkJc3RyZXJyb3IoZXJybm8pLCBlcnJubyk7CisgCisgCXJldHVybiByZXQ7CitAQCAtMTI5MSwxNCArMTI5MSwxNCBAQCBzdGF0aWMgaW50IHZpZGVvX3NldF9xdWFsaXR5KHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHF1YWxpdHkpCisgCisgCXJldCA9IGlvY3RsKGRldi0+ZmQsIFZJRElPQ19TX0pQRUdDT01QLCAmanBlZyk7CisgCWlmIChyZXQgPCAwKSB7CistCQlwcmludGYoIlVuYWJsZSB0byBzZXQgcXVhbGl0eSB0byAldTogJXMgKCVkKS5cbiIsIHF1YWxpdHksCisrCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBzZXQgcXVhbGl0eSB0byAldTogJXMgKCVkKS5cbiIsIHF1YWxpdHksCisgCQkJc3RyZXJyb3IoZXJybm8pLCBlcnJubyk7CisgCQlyZXR1cm4gcmV0OworIAl9CisgCisgCXJldCA9IGlvY3RsKGRldi0+ZmQsIFZJRElPQ19HX0pQRUdDT01QLCAmanBlZyk7CisgCWlmIChyZXQgPj0gMCkKKy0JCXByaW50ZigiUXVhbGl0eSBzZXQgdG8gJXVcbiIsIGpwZWcucXVhbGl0eSk7CisrCQlmcHJpbnRmKHN0ZGVyciwgIlF1YWxpdHkgc2V0IHRvICV1XG4iLCBqcGVnLnF1YWxpdHkpOworIAorIAlyZXR1cm4gMDsKKyB9CitAQCAtMTMxMyw3ICsxMzEzLDcgQEAgc3RhdGljIGludCB2aWRlb19sb2FkX3Rlc3RfcGF0dGVybihzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQorIAlpZiAoZmlsZW5hbWUgIT0gTlVMTCkgeworIAkJZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JET05MWSk7CisgCQlpZiAoZmQgPT0gLTEpIHsKKy0JCQlwcmludGYoIlVuYWJsZSB0byBvcGVuIHRlc3QgcGF0dGVybiBmaWxlICclcyc6ICVzICglZCkuXG4iLAorKwkJCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIG9wZW4gdGVzdCBwYXR0ZXJuIGZpbGUgJyVzJzogJXMgKCVkKS5cbiIsCisgCQkJCWZpbGVuYW1lLCBzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAJCQlyZXR1cm4gLWVycm5vOworIAkJfQorQEAgLTEzMzEsNyArMTMzMSw3IEBAIHN0YXRpYyBpbnQgdmlkZW9fbG9hZF90ZXN0X3BhdHRlcm4oc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBjaGFyICpmaWxlbmFtZSkKKyAJCWlmIChmaWxlbmFtZSAhPSBOVUxMKSB7CisgCQkJcmV0ID0gcmVhZChmZCwgZGV2LT5wYXR0ZXJuW3BsYW5lXSwgc2l6ZSk7CisgCQkJaWYgKHJldCAhPSAoaW50KXNpemUgJiYgZGV2LT5wbGFuZV9mbXRbcGxhbmVdLmJ5dGVzcGVybGluZSAhPSAwKSB7CistCQkJCXByaW50ZigiVGVzdCBwYXR0ZXJuIGZpbGUgc2l6ZSAldSBkb2Vzbid0IG1hdGNoIGltYWdlIHNpemUgJXVcbiIsCisrCQkJCWZwcmludGYoc3RkZXJyLCAiVGVzdCBwYXR0ZXJuIGZpbGUgc2l6ZSAldSBkb2Vzbid0IG1hdGNoIGltYWdlIHNpemUgJXVcbiIsCisgCQkJCQlyZXQsIHNpemUpOworIAkJCQlyZXQgPSAtRUlOVkFMOworIAkJCQlnb3RvIGRvbmU7CitAQCAtMTM0MSw3ICsxMzQxLDcgQEAgc3RhdGljIGludCB2aWRlb19sb2FkX3Rlc3RfcGF0dGVybihzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQorIAkJCXVuc2lnbmVkIGludCBpOworIAorIAkJCWlmIChkZXYtPnBsYW5lX2ZtdFtwbGFuZV0uYnl0ZXNwZXJsaW5lID09IDApIHsKKy0JCQkJcHJpbnRmKCJDb21wcmVzc2VkIGZvcm1hdCBkZXRlY3RlZCBmb3IgcGxhbmUgJXUgYW5kIG5vIHRlc3QgcGF0dGVybiBmaWxlbmFtZSBnaXZlbi5cbiIKKysJCQkJZnByaW50ZihzdGRlcnIsICJDb21wcmVzc2VkIGZvcm1hdCBkZXRlY3RlZCBmb3IgcGxhbmUgJXUgYW5kIG5vIHRlc3QgcGF0dGVybiBmaWxlbmFtZSBnaXZlbi5cbiIKKyAJCQkJCSJUaGUgdGVzdCBwYXR0ZXJuIGNhbid0IGJlIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5LlxuIiwgcGxhbmUpOworIAkJCQlyZXQgPSAtRUlOVkFMOworIAkJCQlnb3RvIGRvbmU7CitAQCAtMTQxMCw3ICsxNDEwLDcgQEAgc3RhdGljIHZvaWQgdmlkZW9fdmVyaWZ5X2J1ZmZlcihzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB2NGwyX2J1ZmZlciAqYnVmKQorIAorIAkJaWYgKGRldi0+cGxhbmVfZm10W3BsYW5lXS5zaXplaW1hZ2UgJiYKKyAJCSAgICBkZXYtPnBsYW5lX2ZtdFtwbGFuZV0uc2l6ZWltYWdlICE9IGxlbmd0aCkKKy0JCQlwcmludGYoIldhcm5pbmc6IGJ5dGVzIHVzZWQgJXUgIT0gaW1hZ2Ugc2l6ZSAldSBmb3IgcGxhbmUgJXVcbiIsCisrCQkJZnByaW50ZihzdGRlcnIsICJXYXJuaW5nOiBieXRlcyB1c2VkICV1ICE9IGltYWdlIHNpemUgJXUgZm9yIHBsYW5lICV1XG4iLAorIAkJCSAgICAgICBsZW5ndGgsIGRldi0+cGxhbmVfZm10W3BsYW5lXS5zaXplaW1hZ2UsIHBsYW5lKTsKKyAKKyAJCWlmIChidWZmZXItPnBhZGRpbmdbcGxhbmVdID09IDApCitAQCAtMTQyNCwxNiArMTQyNCwxNiBAQCBzdGF0aWMgdm9pZCB2aWRlb192ZXJpZnlfYnVmZmVyKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHY0bDJfYnVmZmVyICpidWYpCisgCQl9CisgCisgCQlpZiAoZXJyb3JzKSB7CistCQkJcHJpbnRmKCJXYXJuaW5nOiAldSBieXRlcyBvdmVyd3JpdHRlbiBhbW9uZyAldSBmaXJzdCBwYWRkaW5nIGJ5dGVzIGZvciBwbGFuZSAldVxuIiwKKysJCQlmcHJpbnRmKHN0ZGVyciwgIldhcm5pbmc6ICV1IGJ5dGVzIG92ZXJ3cml0dGVuIGFtb25nICV1IGZpcnN0IHBhZGRpbmcgYnl0ZXMgZm9yIHBsYW5lICV1XG4iLAorIAkJCSAgICAgICBlcnJvcnMsIGRpcnR5LCBwbGFuZSk7CisgCisgCQkJZGlydHkgPSAoZGlydHkgKyAxNSkgJiB+MTU7CisgCQkJZGlydHkgPSBkaXJ0eSA+IDMyID8gMzIgOiBkaXJ0eTsKKyAKKyAJCQlmb3IgKGkgPSAwOyBpIDwgZGlydHk7ICsraSkgeworLQkJCQlwcmludGYoIiUwMnggIiwgZGF0YVtpXSk7CisrCQkJCWZwcmludGYoc3RkZXJyLCAiJTAyeCAiLCBkYXRhW2ldKTsKKyAJCQkJaWYgKGkgJSAxNiA9PSAxNSkKKy0JCQkJCXByaW50ZigiXG4iKTsKKysJCQkJCWZwcmludGYoc3RkZXJyLCAiXG4iKTsKKyAJCQl9CisgCQl9CisgCX0KK0BAIC0xNDgxLDE4ICsxNDgxLDMyIEBAIHN0YXRpYyB2b2lkIHZpZGVvX3NhdmVfaW1hZ2Uoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgdjRsMl9idWZmZXIgKmJ1ZiwKKyAKKyAJCXJldCA9IHdyaXRlKGZkLCBkZXYtPmJ1ZmZlcnNbYnVmLT5pbmRleF0ubWVtW2ldLCBsZW5ndGgpOworIAkJaWYgKHJldCA8IDApIHsKKy0JCQlwcmludGYoIndyaXRlIGVycm9yOiAlcyAoJWQpXG4iLCBzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKysJCQlmcHJpbnRmKHN0ZGVyciwgIndyaXRlIGVycm9yOiAlcyAoJWQpXG4iLCBzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAJCQlicmVhazsKKyAJCX0gZWxzZSBpZiAocmV0ICE9IChpbnQpbGVuZ3RoKQorLQkJCXByaW50Zigid3JpdGUgZXJyb3I6IG9ubHkgJWQgYnl0ZXMgd3JpdHRlbiBpbnN0ZWFkIG9mICV1XG4iLAorKwkJCWZwcmludGYoc3RkZXJyLCAid3JpdGUgZXJyb3I6IG9ubHkgJWQgYnl0ZXMgd3JpdHRlbiBpbnN0ZWFkIG9mICV1XG4iLAorIAkJCSAgICAgICByZXQsIGxlbmd0aCk7CisgCX0KKyAJY2xvc2UoZmQpOworIH0KKyAKKytzdGF0aWMgdm9pZCB2aWRlb19zdGRvdXRfaW1hZ2Uoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgdjRsMl9idWZmZXIgKmJ1ZikKKyt7CisrICAgIGludCByZXQ7CisrCisrICAgIGZwcmludGYoc3RkZXJyLCAic3Rkb3V0Iik7CisrICAgIHJldCA9IGZ3cml0ZShkZXYtPmJ1ZmZlcnNbYnVmLT5pbmRleF0ubWVtLCBidWYtPmJ5dGVzdXNlZCwgMSwgc3Rkb3V0KTsKKysKKysgICAgaWYgKHJldCA8IDApCisrICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIndyaXRlIGVycm9yOiAlcyAoJWQpXG4iLCBzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKysgICAgZWxzZSBpZiAocmV0ICE9IChpbnQpYnVmLT5ieXRlc3VzZWQpCisrICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIndyaXRlIGVycm9yOiBvbmx5ICVkIGJ5dGVzIHdyaXR0ZW4gaW5zdGVhZCBvZiAldVxuIiwKKysgICAgICAgICAgICAgICAgcmV0LCBidWYtPmJ5dGVzdXNlZCk7CisrfQorKworIHN0YXRpYyBpbnQgdmlkZW9fZG9fY2FwdHVyZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBuZnJhbWVzLAorIAl1bnNpZ25lZCBpbnQgc2tpcCwgdW5zaWduZWQgaW50IGRlbGF5LCBjb25zdCBjaGFyICpwYXR0ZXJuLAorLQlpbnQgZG9fcmVxdWV1ZV9sYXN0LCBlbnVtIGJ1ZmZlcl9maWxsX21vZGUgZmlsbCkKKysJaW50IGRvX3JlcXVldWVfbGFzdCwgZW51bSBidWZmZXJfZmlsbF9tb2RlIGZpbGwsIGludCBkb19zdGRvdXQpCisgeworIAlzdHJ1Y3QgdjRsMl9wbGFuZSBwbGFuZXNbVklERU9fTUFYX1BMQU5FU107CisgCXN0cnVjdCB2NGwyX2J1ZmZlciBidWY7CitAQCAtMTUyOSw3ICsxNTQzLDcgQEAgc3RhdGljIGludCB2aWRlb19kb19jYXB0dXJlKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IG5mcmFtZXMsCisgCQlyZXQgPSBpb2N0bChkZXYtPmZkLCBWSURJT0NfRFFCVUYsICZidWYpOworIAkJaWYgKHJldCA8IDApIHsKKyAJCQlpZiAoZXJybm8gIT0gRUlPKSB7CistCQkJCXByaW50ZigiVW5hYmxlIHRvIGRlcXVldWUgYnVmZmVyOiAlcyAoJWQpLlxuIiwKKysJCQkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gZGVxdWV1ZSBidWZmZXI6ICVzICglZCkuXG4iLAorIAkJCQkJc3RyZXJyb3IoZXJybm8pLCBlcnJubyk7CisgCQkJCWdvdG8gZG9uZTsKKyAJCQl9CitAQCAtMTU1MCw3ICsxNTY0LDcgQEAgc3RhdGljIGludCB2aWRlb19kb19jYXB0dXJlKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IG5mcmFtZXMsCisgCisgCQljbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnRzKTsKKyAJCWdldF90c19mbGFncyhidWYuZmxhZ3MsICZ0c190eXBlLCAmdHNfc291cmNlKTsKKy0JCXByaW50ZigiJXUgKCV1KSBbJWNdICVzICV1ICV1IEIgJWxkLiUwNmxkICVsZC4lMDZsZCAlLjNmIGZwcyB0cyAlcy8lc1xuIiwgaSwgYnVmLmluZGV4LAorKwkJZnByaW50ZihzdGRlcnIsICIldSAoJXUpIFslY10gJXMgJXUgJXUgQiAlbGQuJTA2bGQgJWxkLiUwNmxkICUuM2YgZnBzIHRzICVzLyVzXG4iLCBpLCBidWYuaW5kZXgsCisgCQkJKGJ1Zi5mbGFncyAmIFY0TDJfQlVGX0ZMQUdfRVJST1IpID8gJ0UnIDogJy0nLAorIAkJCXY0bDJfZmllbGRfbmFtZShidWYuZmllbGQpLAorIAkJCWJ1Zi5zZXF1ZW5jZSwgYnVmLmJ5dGVzdXNlZCwgYnVmLnRpbWVzdGFtcC50dl9zZWMsCitAQCAtMTU2Myw2ICsxNTc3LDkgQEAgc3RhdGljIGludCB2aWRlb19kb19jYXB0dXJlKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IG5mcmFtZXMsCisgCQlpZiAodmlkZW9faXNfY2FwdHVyZShkZXYpICYmIHBhdHRlcm4gJiYgIXNraXApCisgCQkJdmlkZW9fc2F2ZV9pbWFnZShkZXYsICZidWYsIHBhdHRlcm4sIGkpOworIAorKwkJaWYgKHZpZGVvX2lzX2NhcHR1cmUoZGV2KSAmJiBkb19zdGRvdXQgJiYgIXNraXApCisrCQkJdmlkZW9fc3Rkb3V0X2ltYWdlKGRldiwgJmJ1Zik7CisrCisgCQlpZiAoc2tpcCkKKyAJCQktLXNraXA7CisgCitAQCAtMTU3Nyw3ICsxNTk0LDcgQEAgc3RhdGljIGludCB2aWRlb19kb19jYXB0dXJlKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IG5mcmFtZXMsCisgCisgCQlyZXQgPSB2aWRlb19xdWV1ZV9idWZmZXIoZGV2LCBidWYuaW5kZXgsIGZpbGwpOworIAkJaWYgKHJldCA8IDApIHsKKy0JCQlwcmludGYoIlVuYWJsZSB0byByZXF1ZXVlIGJ1ZmZlcjogJXMgKCVkKS5cbiIsCisrCQkJZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gcmVxdWV1ZSBidWZmZXI6ICVzICglZCkuXG4iLAorIAkJCQlzdHJlcnJvcihlcnJubyksIGVycm5vKTsKKyAJCQlnb3RvIGRvbmU7CisgCQl9CitAQCAtMTU4Nyw3ICsxNjA0LDcgQEAgc3RhdGljIGludCB2aWRlb19kb19jYXB0dXJlKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IG5mcmFtZXMsCisgCXZpZGVvX2VuYWJsZShkZXYsIDApOworIAorIAlpZiAobmZyYW1lcyA9PSAwKSB7CistCQlwcmludGYoIk5vIGZyYW1lcyBjYXB0dXJlZC5cbiIpOworKwkJZnByaW50ZihzdGRlcnIsICJObyBmcmFtZXMgY2FwdHVyZWQuXG4iKTsKKyAJCWdvdG8gZG9uZTsKKyAJfQorIAorQEAgLTE2MDQsNyArMTYyMSw3IEBAIHN0YXRpYyBpbnQgdmlkZW9fZG9fY2FwdHVyZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBuZnJhbWVzLAorIAlicHMgPSBzaXplLyh0cy50dl9uc2VjLzEwMDAuMCsxMDAwMDAwLjAqdHMudHZfc2VjKSoxMDAwMDAwLjA7CisgCWZwcyA9IGkvKHRzLnR2X25zZWMvMTAwMC4wKzEwMDAwMDAuMCp0cy50dl9zZWMpKjEwMDAwMDAuMDsKKyAKKy0JcHJpbnRmKCJDYXB0dXJlZCAldSBmcmFtZXMgaW4gJWx1LiUwNmx1IHNlY29uZHMgKCVmIGZwcywgJWYgQi9zKS5cbiIsCisrCWZwcmludGYoc3RkZXJyLCAiQ2FwdHVyZWQgJXUgZnJhbWVzIGluICVsdS4lMDZsdSBzZWNvbmRzICglZiBmcHMsICVmIEIvcykuXG4iLAorIAkJaSwgdHMudHZfc2VjLCB0cy50dl9uc2VjLzEwMDAsIGZwcywgYnBzKTsKKyAKKyBkb25lOgorQEAgLTE2MTYsNDIgKzE2MzMsNDIgQEAgZG9uZToKKyAKKyBzdGF0aWMgdm9pZCB1c2FnZShjb25zdCBjaGFyICphcmd2MCkKKyB7CistCXByaW50ZigiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2VcbiIsIGFyZ3YwKTsKKy0JcHJpbnRmKCJTdXBwb3J0ZWQgb3B0aW9uczpcbiIpOworLQlwcmludGYoIi1CLCAtLWJ1ZmZlci10eXBlCQlCdWZmZXIgdHlwZSAoXCJjYXB0dXJlXCIsIFwib3V0cHV0XCIsXG4iKTsKKy0JcHJpbnRmKCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY2FwdHVyZS1tcGxhbmVcIiBvciBcIm91dHB1dC1tcGxhbmVcIilcbiIpOworLQlwcmludGYoIi1jLCAtLWNhcHR1cmVbPW5mcmFtZXNdCQlDYXB0dXJlIGZyYW1lc1xuIik7CistCXByaW50ZigiLUMsIC0tY2hlY2stb3ZlcnJ1bgkJVmVyaWZ5IGRlcXVldWVkIGZyYW1lcyBmb3IgYnVmZmVyIG92ZXJydW5cbiIpOworLQlwcmludGYoIi1kLCAtLWRlbGF5CQkJRGVsYXkgKGluIG1zKSBiZWZvcmUgcmVxdWV1aW5nIGJ1ZmZlcnNcbiIpOworLQlwcmludGYoIi1mLCAtLWZvcm1hdCBmb3JtYXQJCVNldCB0aGUgdmlkZW8gZm9ybWF0XG4iKTsKKy0JcHJpbnRmKCItRiwgLS1maWxlWz1uYW1lXQkJUmVhZC93cml0ZSBmcmFtZXMgZnJvbS90byBkaXNrXG4iKTsKKy0JcHJpbnRmKCJcdEZvciB2aWRlbyBjYXB0dXJlIGRldmljZXMsIHRoZSBmaXJzdCAnIycgY2hhcmFjdGVyIGluIHRoZSBmaWxlIG5hbWUgaXNcbiIpOworLQlwcmludGYoIlx0ZXhwYW5kZWQgdG8gdGhlIGZyYW1lIHNlcXVlbmNlIG51bWJlci4gVGhlIGRlZmF1bHQgZmlsZSBuYW1lIGlzXG4iKTsKKy0JcHJpbnRmKCJcdCdmcmFtZS0jLmJpbicuXG4iKTsKKy0JcHJpbnRmKCItaCwgLS1oZWxwCQkJU2hvdyB0aGlzIGhlbHAgc2NyZWVuXG4iKTsKKy0JcHJpbnRmKCItaSwgLS1pbnB1dCBpbnB1dAkJU2VsZWN0IHRoZSB2aWRlbyBpbnB1dFxuIik7CistCXByaW50ZigiLUksIC0tZmlsbC1mcmFtZXMJCUZpbGwgZnJhbWVzIHdpdGggY2hlY2sgcGF0dGVybiBiZWZvcmUgcXVldWluZyB0aGVtXG4iKTsKKy0JcHJpbnRmKCItbCwgLS1saXN0LWNvbnRyb2xzCQlMaXN0IGF2YWlsYWJsZSBjb250cm9sc1xuIik7CistCXByaW50ZigiLW4sIC0tbmJ1ZnMgbgkJCVNldCB0aGUgbnVtYmVyIG9mIHZpZGVvIGJ1ZmZlcnNcbiIpOworLQlwcmludGYoIi1wLCAtLXBhdXNlCQkJUGF1c2UgYmVmb3JlIHN0YXJ0aW5nIHRoZSB2aWRlbyBzdHJlYW1cbiIpOworLQlwcmludGYoIi1xLCAtLXF1YWxpdHkgbgkJCU1KUEVHIHF1YWxpdHkgKDAtMTAwKVxuIik7CistCXByaW50ZigiLXIsIC0tZ2V0LWNvbnRyb2wgY3RybAkJR2V0IGNvbnRyb2wgJ2N0cmwnXG4iKTsKKy0JcHJpbnRmKCItUiwgLS1yZWFsdGltZT1bcHJpb3JpdHldCUVuYWJsZSByZWFsdGltZSBSUiBzY2hlZHVsaW5nXG4iKTsKKy0JcHJpbnRmKCItcywgLS1zaXplIFd4SAkJCVNldCB0aGUgZnJhbWUgc2l6ZVxuIik7CistCXByaW50ZigiLXQsIC0tdGltZS1wZXItZnJhbWUgbnVtL2Rlbm9tCVNldCB0aGUgdGltZSBwZXIgZnJhbWUgKGVnLiAxLzI1ID0gMjUgZnBzKVxuIik7CistCXByaW50ZigiLXUsIC0tdXNlcnB0cgkJCVVzZSB0aGUgdXNlciBwb2ludGVycyBzdHJlYW1pbmcgbWV0aG9kXG4iKTsKKy0JcHJpbnRmKCItdywgLS1zZXQtY29udHJvbCAnY3RybCB2YWx1ZScJU2V0IGNvbnRyb2wgJ2N0cmwnIHRvICd2YWx1ZSdcbiIpOworLQlwcmludGYoIiAgICAtLWVudW0tZm9ybWF0cwkJRW51bWVyYXRlIGZvcm1hdHNcbiIpOworLQlwcmludGYoIiAgICAtLWVudW0taW5wdXRzCQlFbnVtZXJhdGUgaW5wdXRzXG4iKTsKKy0JcHJpbnRmKCIgICAgLS1mZCAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBhIG51bWVyaWMgZmlsZSBkZXNjcmlwdG9yIGluc3RlZCBvZiBhIGRldmljZVxuIik7CistCXByaW50ZigiICAgIC0tZmllbGQJCQlJbnRlcmxhY2VkIGZvcm1hdCBmaWVsZCBvcmRlclxuIik7CistCXByaW50ZigiICAgIC0tbm8tcXVlcnkJCQlEb24ndCBxdWVyeSBjYXBhYmlsaXRpZXMgb24gb3BlblxuIik7CistCXByaW50ZigiICAgIC0tb2Zmc2V0CQkJVXNlciBwb2ludGVyIGJ1ZmZlciBvZmZzZXQgZnJvbSBwYWdlIHN0YXJ0XG4iKTsKKy0JcHJpbnRmKCIgICAgLS1yZXF1ZXVlLWxhc3QJCVJlcXVldWUgdGhlIGxhc3QgYnVmZmVycyBiZWZvcmUgc3RyZWFtb2ZmXG4iKTsKKy0JcHJpbnRmKCIgICAgLS10aW1lc3RhbXAtc291cmNlCQlTZXQgdGltZXN0YW1wIHNvdXJjZSBvbiBvdXRwdXQgYnVmZmVycyBbZW9mLCBzb2VdXG4iKTsKKy0JcHJpbnRmKCIgICAgLS1za2lwIG4JCQlTa2lwIHRoZSBmaXJzdCBuIGZyYW1lc1xuIik7CistCXByaW50ZigiICAgIC0tc2xlZXAtZm9yZXZlcgkJU2xlZXAgZm9yZXZlciBhZnRlciBjb25maWd1cmluZyB0aGUgZGV2aWNlXG4iKTsKKy0JcHJpbnRmKCIgICAgLS1zdHJpZGUgdmFsdWUJCUxpbmUgc3RyaWRlIGluIGJ5dGVzXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIiwgYXJndjApOworKwlmcHJpbnRmKHN0ZGVyciwgIlN1cHBvcnRlZCBvcHRpb25zOlxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiLUIsIC0tYnVmZmVyLXR5cGUJCUJ1ZmZlciB0eXBlIChcImNhcHR1cmVcIiwgXCJvdXRwdXRcIixcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjYXB0dXJlLW1wbGFuZVwiIG9yIFwib3V0cHV0LW1wbGFuZVwiKVxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiLWMsIC0tY2FwdHVyZVs9bmZyYW1lc10JCUNhcHR1cmUgZnJhbWVzXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICItQywgLS1jaGVjay1vdmVycnVuCQlWZXJpZnkgZGVxdWV1ZWQgZnJhbWVzIGZvciBidWZmZXIgb3ZlcnJ1blxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiLWQsIC0tZGVsYXkJCQlEZWxheSAoaW4gbXMpIGJlZm9yZSByZXF1ZXVpbmcgYnVmZmVyc1xuIik7CisrCWZwcmludGYoc3RkZXJyLCAiLWYsIC0tZm9ybWF0IGZvcm1hdAkJU2V0IHRoZSB2aWRlbyBmb3JtYXRcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIi1GLCAtLWZpbGVbPW5hbWVdCQlSZWFkL3dyaXRlIGZyYW1lcyBmcm9tL3RvIGRpc2tcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIlx0Rm9yIHZpZGVvIGNhcHR1cmUgZGV2aWNlcywgdGhlIGZpcnN0ICcjJyBjaGFyYWN0ZXIgaW4gdGhlIGZpbGUgbmFtZSBpc1xuIik7CisrCWZwcmludGYoc3RkZXJyLCAiXHRleHBhbmRlZCB0byB0aGUgZnJhbWUgc2VxdWVuY2UgbnVtYmVyLiBUaGUgZGVmYXVsdCBmaWxlIG5hbWUgaXNcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIlx0J2ZyYW1lLSMuYmluJy5cbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIi1oLCAtLWhlbHAJCQlTaG93IHRoaXMgaGVscCBzY3JlZW5cbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIi1pLCAtLWlucHV0IGlucHV0CQlTZWxlY3QgdGhlIHZpZGVvIGlucHV0XG4iKTsKKysJZnByaW50ZihzdGRlcnIsICItSSwgLS1maWxsLWZyYW1lcwkJRmlsbCBmcmFtZXMgd2l0aCBjaGVjayBwYXR0ZXJuIGJlZm9yZSBxdWV1aW5nIHRoZW1cbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIi1sLCAtLWxpc3QtY29udHJvbHMJCUxpc3QgYXZhaWxhYmxlIGNvbnRyb2xzXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICItbiwgLS1uYnVmcyBuCQkJU2V0IHRoZSBudW1iZXIgb2YgdmlkZW8gYnVmZmVyc1xuIik7CisrCWZwcmludGYoc3RkZXJyLCAiLXAsIC0tcGF1c2UJCQlQYXVzZSBiZWZvcmUgc3RhcnRpbmcgdGhlIHZpZGVvIHN0cmVhbVxuIik7CisrCWZwcmludGYoc3RkZXJyLCAiLXEsIC0tcXVhbGl0eSBuCQkJTUpQRUcgcXVhbGl0eSAoMC0xMDApXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICItciwgLS1nZXQtY29udHJvbCBjdHJsCQlHZXQgY29udHJvbCAnY3RybCdcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIi1SLCAtLXJlYWx0aW1lPVtwcmlvcml0eV0JRW5hYmxlIHJlYWx0aW1lIFJSIHNjaGVkdWxpbmdcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIi1zLCAtLXNpemUgV3hICQkJU2V0IHRoZSBmcmFtZSBzaXplXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICItdCwgLS10aW1lLXBlci1mcmFtZSBudW0vZGVub20JU2V0IHRoZSB0aW1lIHBlciBmcmFtZSAoZWcuIDEvMjUgPSAyNSBmcHMpXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICItdSwgLS11c2VycHRyCQkJVXNlIHRoZSB1c2VyIHBvaW50ZXJzIHN0cmVhbWluZyBtZXRob2RcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIi13LCAtLXNldC1jb250cm9sICdjdHJsIHZhbHVlJwlTZXQgY29udHJvbCAnY3RybCcgdG8gJ3ZhbHVlJ1xuIik7CisrCWZwcmludGYoc3RkZXJyLCAiICAgIC0tZW51bS1mb3JtYXRzCQlFbnVtZXJhdGUgZm9ybWF0c1xuIik7CisrCWZwcmludGYoc3RkZXJyLCAiICAgIC0tZW51bS1pbnB1dHMJCUVudW1lcmF0ZSBpbnB1dHNcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIiAgICAtLWZkICAgICAgICAgICAgICAgICAgICAgICAgVXNlIGEgbnVtZXJpYyBmaWxlIGRlc2NyaXB0b3IgaW5zdGVkIG9mIGEgZGV2aWNlXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICIgICAgLS1maWVsZAkJCUludGVybGFjZWQgZm9ybWF0IGZpZWxkIG9yZGVyXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICIgICAgLS1uby1xdWVyeQkJCURvbid0IHF1ZXJ5IGNhcGFiaWxpdGllcyBvbiBvcGVuXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICIgICAgLS1vZmZzZXQJCQlVc2VyIHBvaW50ZXIgYnVmZmVyIG9mZnNldCBmcm9tIHBhZ2Ugc3RhcnRcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIiAgICAtLXJlcXVldWUtbGFzdAkJUmVxdWV1ZSB0aGUgbGFzdCBidWZmZXJzIGJlZm9yZSBzdHJlYW1vZmZcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIiAgICAtLXRpbWVzdGFtcC1zb3VyY2UJCVNldCB0aW1lc3RhbXAgc291cmNlIG9uIG91dHB1dCBidWZmZXJzIFtlb2YsIHNvZV1cbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIiAgICAtLXNraXAgbgkJCVNraXAgdGhlIGZpcnN0IG4gZnJhbWVzXG4iKTsKKysJZnByaW50ZihzdGRlcnIsICIgICAgLS1zbGVlcC1mb3JldmVyCQlTbGVlcCBmb3JldmVyIGFmdGVyIGNvbmZpZ3VyaW5nIHRoZSBkZXZpY2VcbiIpOworKwlmcHJpbnRmKHN0ZGVyciwgIiAgICAtLXN0cmlkZSB2YWx1ZQkJTGluZSBzdHJpZGUgaW4gYnl0ZXNcbiIpOworIH0KKyAKKyAjZGVmaW5lIE9QVF9FTlVNX0ZPUk1BVFMJMjU2CitAQCAtMTY2NSw2ICsxNjgyLDcgQEAgc3RhdGljIHZvaWQgdXNhZ2UoY29uc3QgY2hhciAqYXJndjApCisgI2RlZmluZSBPUFRfRkQJCQkyNjQKKyAjZGVmaW5lIE9QVF9UU1RBTVBfU1JDCQkyNjUKKyAjZGVmaW5lIE9QVF9GSUVMRAkJMjY2CisrI2RlZmluZSBPUFRfU1RET1VUCQkyNjcKKyAKKyBzdGF0aWMgc3RydWN0IG9wdGlvbiBvcHRzW10gPSB7CisgCXsiYnVmZmVyLXR5cGUiLCAxLCAwLCAnQid9LAorQEAgLTE2NzcsNiArMTY5NSw3IEBAIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIG9wdHNbXSA9IHsKKyAJeyJmaWVsZCIsIDEsIDAsIE9QVF9GSUVMRH0sCisgCXsiZmlsZSIsIDIsIDAsICdGJ30sCisgCXsiZmlsbC1mcmFtZXMiLCAwLCAwLCAnSSd9LAorKwl7InN0ZG91dCIsIDAsIDAsIE9QVF9TVERPVVR9LAorIAl7ImZvcm1hdCIsIDEsIDAsICdmJ30sCisgCXsiaGVscCIsIDAsIDAsICdoJ30sCisgCXsiaW5wdXQiLCAxLCAwLCAnaSd9LAorQEAgLTE3MTcsNyArMTczNiw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCWludCBkb19saXN0X2NvbnRyb2xzID0gMCwgZG9fZ2V0X2NvbnRyb2wgPSAwLCBkb19zZXRfY29udHJvbCA9IDA7CisgCWludCBkb19zbGVlcF9mb3JldmVyID0gMCwgZG9fcmVxdWV1ZV9sYXN0ID0gMDsKKyAJaW50IGRvX3J0ID0gMDsKKy0JaW50IG5vX3F1ZXJ5ID0gMDsKKysJaW50IG5vX3F1ZXJ5ID0gMDsgCisrCWludCBkb19zdGRvdXQgPSAwOworIAljaGFyICplbmRwdHI7CisgCWludCBjOworIAorQEAgLTE3NTUsNyArMTc3NSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQljYXNlICdCJzoKKyAJCQlyZXQgPSB2NGwyX2J1Zl90eXBlX2Zyb21fc3RyaW5nKG9wdGFyZyk7CisgCQkJaWYgKHJldCA9PSAtMSkgeworLQkJCQlwcmludGYoIkJhZCBidWZmZXIgdHlwZSBcIiVzXCJcbiIsIG9wdGFyZyk7CisrCQkJCWZwcmludGYoc3RkZXJyLCAiQmFkIGJ1ZmZlciB0eXBlIFwiJXNcIlxuIiwgb3B0YXJnKTsKKyAJCQkJcmV0dXJuIDE7CisgCQkJfQorIAkJCXZpZGVvX3NldF9idWZfdHlwZSgmZGV2LCByZXQpOworQEAgLTE3NzUsNyArMTc5NSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQkJZG9fc2V0X2Zvcm1hdCA9IDE7CisgCQkJaW5mbyA9IHY0bDJfZm9ybWF0X2J5X25hbWUob3B0YXJnKTsKKyAJCQlpZiAoaW5mbyA9PSBOVUxMKSB7CistCQkJCXByaW50ZigiVW5zdXBwb3J0ZWQgdmlkZW8gZm9ybWF0ICclcydcbiIsIG9wdGFyZyk7CisrCQkJCWZwcmludGYoc3RkZXJyLCAiVW5zdXBwb3J0ZWQgdmlkZW8gZm9ybWF0ICclcydcbiIsIG9wdGFyZyk7CisgCQkJCXJldHVybiAxOworIAkJCX0KKyAJCQlwaXhlbGZvcm1hdCA9IGluZm8tPmZvdXJjYzsKK0BAIC0xODEyLDcgKzE4MzIsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJY2FzZSAncic6CisgCQkJY3RybF9uYW1lID0gc3RydG9sKG9wdGFyZywgJmVuZHB0ciwgMCk7CisgCQkJaWYgKCplbmRwdHIgIT0gMCkgeworLQkJCQlwcmludGYoIkludmFsaWQgY29udHJvbCBuYW1lICclcydcbiIsIG9wdGFyZyk7CisrCQkJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBjb250cm9sIG5hbWUgJyVzJ1xuIiwgb3B0YXJnKTsKKyAJCQkJcmV0dXJuIDE7CisgCQkJfQorIAkJCWRvX2dldF9jb250cm9sID0gMTsKK0BAIC0xODI2LDEyICsxODQ2LDEyIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQkJZG9fc2V0X2Zvcm1hdCA9IDE7CisgCQkJd2lkdGggPSBzdHJ0b2wob3B0YXJnLCAmZW5kcHRyLCAxMCk7CisgCQkJaWYgKCplbmRwdHIgIT0gJ3gnIHx8IGVuZHB0ciA9PSBvcHRhcmcpIHsKKy0JCQkJcHJpbnRmKCJJbnZhbGlkIHNpemUgJyVzJ1xuIiwgb3B0YXJnKTsKKysJCQkJZnByaW50ZihzdGRlcnIsICJJbnZhbGlkIHNpemUgJyVzJ1xuIiwgb3B0YXJnKTsKKyAJCQkJcmV0dXJuIDE7CisgCQkJfQorIAkJCWhlaWdodCA9IHN0cnRvbChlbmRwdHIgKyAxLCAmZW5kcHRyLCAxMCk7CisgCQkJaWYgKCplbmRwdHIgIT0gMCkgeworLQkJCQlwcmludGYoIkludmFsaWQgc2l6ZSAnJXMnXG4iLCBvcHRhcmcpOworKwkJCQlmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQgc2l6ZSAnJXMnXG4iLCBvcHRhcmcpOworIAkJCQlyZXR1cm4gMTsKKyAJCQl9CisgCQkJYnJlYWs7CitAQCAtMTgzOSwxMiArMTg1OSwxMiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJCWRvX3NldF90aW1lX3Blcl9mcmFtZSA9IDE7CisgCQkJdGltZV9wZXJfZnJhbWUubnVtZXJhdG9yID0gc3RydG9sKG9wdGFyZywgJmVuZHB0ciwgMTApOworIAkJCWlmICgqZW5kcHRyICE9ICcvJyB8fCBlbmRwdHIgPT0gb3B0YXJnKSB7CistCQkJCXByaW50ZigiSW52YWxpZCB0aW1lIHBlciBmcmFtZSAnJXMnXG4iLCBvcHRhcmcpOworKwkJCQlmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQgdGltZSBwZXIgZnJhbWUgJyVzJ1xuIiwgb3B0YXJnKTsKKyAJCQkJcmV0dXJuIDE7CisgCQkJfQorIAkJCXRpbWVfcGVyX2ZyYW1lLmRlbm9taW5hdG9yID0gc3RydG9sKGVuZHB0ciArIDEsICZlbmRwdHIsIDEwKTsKKyAJCQlpZiAoKmVuZHB0ciAhPSAwKSB7CistCQkJCXByaW50ZigiSW52YWxpZCB0aW1lIHBlciBmcmFtZSAnJXMnXG4iLCBvcHRhcmcpOworKwkJCQlmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQgdGltZSBwZXIgZnJhbWUgJyVzJ1xuIiwgb3B0YXJnKTsKKyAJCQkJcmV0dXJuIDE7CisgCQkJfQorIAkJCWJyZWFrOworQEAgLTE4NTQsMTIgKzE4NzQsMTIgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJCWNhc2UgJ3cnOgorIAkJCWN0cmxfbmFtZSA9IHN0cnRvbChvcHRhcmcsICZlbmRwdHIsIDApOworIAkJCWlmICgqZW5kcHRyICE9ICcgJyB8fCBlbmRwdHIgPT0gb3B0YXJnKSB7CistCQkJCXByaW50ZigiSW52YWxpZCBjb250cm9sIG5hbWUgJyVzJ1xuIiwgb3B0YXJnKTsKKysJCQkJZnByaW50ZihzdGRlcnIsICJJbnZhbGlkIGNvbnRyb2wgbmFtZSAnJXMnXG4iLCBvcHRhcmcpOworIAkJCQlyZXR1cm4gMTsKKyAJCQl9CisgCQkJY3RybF92YWx1ZSA9IHN0cnRvbChlbmRwdHIgKyAxLCAmZW5kcHRyLCAwKTsKKyAJCQlpZiAoKmVuZHB0ciAhPSAwKSB7CistCQkJCXByaW50ZigiSW52YWxpZCBjb250cm9sIHZhbHVlICclcydcbiIsIG9wdGFyZyk7CisrCQkJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCBjb250cm9sIHZhbHVlICclcydcbiIsIG9wdGFyZyk7CisgCQkJCXJldHVybiAxOworIAkJCX0KKyAJCQlkb19zZXRfY29udHJvbCA9IDE7CitAQCAtMTg3MywxNiArMTg5MywxNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJY2FzZSBPUFRfRkQ6CisgCQkJcmV0ID0gYXRvaShvcHRhcmcpOworIAkJCWlmIChyZXQgPCAwKSB7CistCQkJCXByaW50ZigiQmFkIGZpbGUgZGVzY3JpcHRvciAlZFxuIiwgcmV0KTsKKysJCQkJZnByaW50ZihzdGRlcnIsICJCYWQgZmlsZSBkZXNjcmlwdG9yICVkXG4iLCByZXQpOworIAkJCQlyZXR1cm4gMTsKKyAJCQl9CistCQkJcHJpbnRmKCJVc2luZyBmaWxlIGRlc2NyaXB0b3IgJWRcbiIsIHJldCk7CisrCQkJZnByaW50ZihzdGRlcnIsICJVc2luZyBmaWxlIGRlc2NyaXB0b3IgJWRcbiIsIHJldCk7CisgCQkJdmlkZW9fc2V0X2ZkKCZkZXYsIHJldCk7CisgCQkJYnJlYWs7CisgCQljYXNlIE9QVF9GSUVMRDoKKyAJCQlmaWVsZCA9IHY0bDJfZmllbGRfZnJvbV9zdHJpbmcob3B0YXJnKTsKKyAJCQlpZiAoZmllbGQgPT0gKGVudW0gdjRsMl9maWVsZCktMSkgeworLQkJCQlwcmludGYoIkludmFsaWQgZmllbGQgb3JkZXIgJyVzJ1xuIiwgb3B0YXJnKTsKKysJCQkJZnByaW50ZihzdGRlcnIsICJJbnZhbGlkIGZpZWxkIG9yZGVyICclcydcbiIsIG9wdGFyZyk7CisgCQkJCXJldHVybiAxOworIAkJCX0KKyAJCQlicmVhazsKK0BAIC0xOTA3LDIyICsxOTI3LDI1IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCQkJfSBlbHNlIGlmICghc3RyY21wKG9wdGFyZywgInNvZSIpKSB7CisgCQkJCWRldi5idWZmZXJfb3V0cHV0X2ZsYWdzIHw9IFY0TDJfQlVGX0ZMQUdfVFNUQU1QX1NSQ19TT0U7CisgCQkJfSBlbHNlIHsKKy0JCQkJcHJpbnRmKCJJbnZhbGlkIHRpbWVzdGFtcCBzb3VyY2UgJXNcbiIsIG9wdGFyZyk7CisrCQkJCWZwcmludGYoc3RkZXJyLCAiSW52YWxpZCB0aW1lc3RhbXAgc291cmNlICVzXG4iLCBvcHRhcmcpOworIAkJCQlyZXR1cm4gMTsKKyAJCQl9CisgCQkJYnJlYWs7CisgCQljYXNlIE9QVF9VU0VSUFRSX09GRlNFVDoKKyAJCQl1c2VycHRyX29mZnNldCA9IGF0b2kob3B0YXJnKTsKKyAJCQlicmVhazsKKysJCWNhc2UgT1BUX1NURE9VVDoKKysJCQlkb19zdGRvdXQgPSAxOworKwkJCWJyZWFrOworIAkJZGVmYXVsdDoKKy0JCQlwcmludGYoIkludmFsaWQgb3B0aW9uIC0lY1xuIiwgYyk7CistCQkJcHJpbnRmKCJSdW4gJXMgLWggZm9yIGhlbHAuXG4iLCBhcmd2WzBdKTsKKysJCQlmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQgb3B0aW9uIC0lY1xuIiwgYyk7CisrCQkJZnByaW50ZihzdGRlcnIsICJSdW4gJXMgLWggZm9yIGhlbHAuXG4iLCBhcmd2WzBdKTsKKyAJCQlyZXR1cm4gMTsKKyAJCX0KKyAJfQorIAorIAlpZiAoKGZpbGxfbW9kZSAmIEJVRkZFUl9GSUxMX1BBRERJTkcpICYmIG1lbXR5cGUgIT0gVjRMMl9NRU1PUllfVVNFUlBUUikgeworLQkJcHJpbnRmKCJCdWZmZXIgb3ZlcnJ1biBjYW4gb25seSBiZSBjaGVja2VkIGluIFVTRVJQVFIgbW9kZS5cbiIpOworKwkJZnByaW50ZihzdGRlcnIsICJCdWZmZXIgb3ZlcnJ1biBjYW4gb25seSBiZSBjaGVja2VkIGluIFVTRVJQVFIgbW9kZS5cbiIpOworIAkJcmV0dXJuIDE7CisgCX0KKyAKK0BAIC0xOTU5LDcgKzE5ODIsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJcmV0ID0gZ2V0X2NvbnRyb2woJmRldiwgY3RybF9uYW1lLAorIAkJCQkgIGdldF9jb250cm9sX3R5cGUoJmRldiwgY3RybF9uYW1lKSwgJnZhbCk7CisgCQlpZiAocmV0ID49IDApCistCQkJcHJpbnRmKCJDb250cm9sIDB4JTA4eCB2YWx1ZSAlIiBQUklkNjQgIlxuIiwgY3RybF9uYW1lLCB2YWwpOworKwkJCWZwcmludGYoc3RkZXJyLCAiQ29udHJvbCAweCUwOHggdmFsdWUgJSIgUFJJZDY0ICJcbiIsIGN0cmxfbmFtZSwgdmFsKTsKKyAJfQorIAorIAlpZiAoZG9fc2V0X2NvbnRyb2wpCitAQCAtMTk3MCw3ICsxOTkzLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJCXZpZGVvX2xpc3RfY29udHJvbHMoJmRldik7CisgCisgCWlmIChkb19lbnVtX2Zvcm1hdHMpIHsKKy0JCXByaW50ZigiLSBBdmFpbGFibGUgZm9ybWF0czpcbiIpOworKwkJZnByaW50ZihzdGRlcnIsICItIEF2YWlsYWJsZSBmb3JtYXRzOlxuIik7CisgCQl2aWRlb19lbnVtX2Zvcm1hdHMoJmRldiwgVjRMMl9CVUZfVFlQRV9WSURFT19DQVBUVVJFKTsKKyAJCXZpZGVvX2VudW1fZm9ybWF0cygmZGV2LCBWNEwyX0JVRl9UWVBFX1ZJREVPX0NBUFRVUkVfTVBMQU5FKTsKKyAJCXZpZGVvX2VudW1fZm9ybWF0cygmZGV2LCBWNEwyX0JVRl9UWVBFX1ZJREVPX09VVFBVVCk7CitAQCAtMTk3OSwxNCArMjAwMiwxNCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAl9CisgCisgCWlmIChkb19lbnVtX2lucHV0cykgeworLQkJcHJpbnRmKCItIEF2YWlsYWJsZSBpbnB1dHM6XG4iKTsKKysJCWZwcmludGYoc3RkZXJyLCAiLSBBdmFpbGFibGUgaW5wdXRzOlxuIik7CisgCQl2aWRlb19lbnVtX2lucHV0cygmZGV2KTsKKyAJfQorIAorIAlpZiAoZG9fc2V0X2lucHV0KSB7CisgCQl2aWRlb19zZXRfaW5wdXQoJmRldiwgaW5wdXQpOworIAkJcmV0ID0gdmlkZW9fZ2V0X2lucHV0KCZkZXYpOworLQkJcHJpbnRmKCJJbnB1dCAlZCBzZWxlY3RlZFxuIiwgcmV0KTsKKysJCWZwcmludGYoc3RkZXJyLCAiSW5wdXQgJWQgc2VsZWN0ZWRcbiIsIHJldCk7CisgCX0KKyAKKyAJLyogU2V0IHRoZSB2aWRlbyBmb3JtYXQuICovCitAQCAtMjAyOCw3ICsyMDUxLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJfQorIAorIAlpZiAoZG9fcGF1c2UpIHsKKy0JCXByaW50ZigiUHJlc3MgZW50ZXIgdG8gc3RhcnQgY2FwdHVyZVxuIik7CisrCQlmcHJpbnRmKHN0ZGVyciwgIlByZXNzIGVudGVyIHRvIHN0YXJ0IGNhcHR1cmVcbiIpOworIAkJZ2V0Y2hhcigpOworIAl9CisgCitAQCAtMjAzNywxMiArMjA2MCwxMiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJc2NoZWQuc2NoZWRfcHJpb3JpdHkgPSBydF9wcmlvcml0eTsKKyAJCXJldCA9IHNjaGVkX3NldHNjaGVkdWxlcigwLCBTQ0hFRF9SUiwgJnNjaGVkKTsKKyAJCWlmIChyZXQgPCAwKQorLQkJCXByaW50ZigiRmFpbGVkIHRvIHNlbGVjdCBSUiBzY2hlZHVsZXI6ICVzICglZClcbiIsCisrCQkJZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gc2VsZWN0IFJSIHNjaGVkdWxlcjogJXMgKCVkKVxuIiwKKyAJCQkJc3RyZXJyb3IoZXJybm8pLCBlcnJubyk7CisgCX0KKyAKKyAJaWYgKHZpZGVvX2RvX2NhcHR1cmUoJmRldiwgbmZyYW1lcywgc2tpcCwgZGVsYXksIGZpbGVuYW1lLAorLQkJCSAgICAgZG9fcmVxdWV1ZV9sYXN0LCBmaWxsX21vZGUpIDwgMCkgeworKwkJCSAgICAgZG9fcmVxdWV1ZV9sYXN0LCBmaWxsX21vZGUsIGRvX3N0ZG91dCkgPCAwKSB7CisgCQl2aWRlb19jbG9zZSgmZGV2KTsKKyAJCXJldHVybiAxOworIAl9CistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS92NGwyYXBwcy95YXZ0YV9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3Y0bDJhcHBzL3lhdnRhX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTkyZDFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS92NGwyYXBwcy95YXZ0YV9naXQuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJZZXQgQW5vdGhlciBWNEwyIFRlc3QgQXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5HUEw7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5pZGVhc29uYm9hcmQub3JnL3lhdnRhLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1zdGRvdXQtbW9kZS10by1hbGxvdy1zdHJlYW1pbmctb3Zlci10aGUtbmV0d29yay0ucGF0Y2giCitTUkNSRVYgPSAiN2U5ZjI4YmVkYzFlZDMyMDVmYjUxNjRmNjg2YWVhOTZmMjdhMGRlMiIKKworUFYgPSAiMC4wIgorUFIgPSAicjIiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKKworIyBUaGUgeWF2dGEgc291cmNlcyBpbmNsdWRlIGNvcGllcyBvZiB0aGUgaGVhZGVycyByZXF1aXJlZCB0byBidWlsZCBpbiB0aGUKKyMgaW5jbHVkZSBkaXJlY3RvcnkuICBUaGUgTWFrZWZpbGUgdXNlcyBDRkxBR1MgdG8gaW5jbHVkZSB0aGVzZSwgYnV0IHNpbmNlCisjIHdlIG92ZXJyaWRlIHRoZSBDRkxBR1MgdGhlbiB3ZSBuZWVkIHRvIGFkZCB0aGlzIGluY2x1ZGUgcGF0aCBiYWNrIGluLgorQ0ZMQUdTICs9ICItSSR7U30vaW5jbHVkZSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgeWF2dGEgJHtEfSR7YmluZGlyfQorfQorCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvd2F2cGFjay93YXZwYWNrXzQuNjAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvd2F2cGFjay93YXZwYWNrXzQuNjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzViODQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS93YXZwYWNrL3dhdnBhY2tfNC42MC4xLmJiCkBAIC0wLDAgKzEsMTAgQEAKK0RFU0NSSVBUSU9OID0gIldhdlBhY2sgaXMgYSBjb21wbGV0ZWx5IG9wZW4gYXVkaW8gY29tcHJlc3Npb24gZm9ybWF0IHByb3ZpZGluZyBsb3NzbGVzcywgaGlnaC1xdWFsaXR5IGxvc3N5LCBhbmQgYSB1bmlxdWUgaHlicmlkIGNvbXByZXNzaW9uIG1vZGUuIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9saWNlbnNlLnR4dDttZDU9ZjU5NjY1MDgwNzU4OGM2MWZjYWI2MGJlYzgyNDJkZjgiCisKK1NSQ19VUkkgPSAiaHR0cDovL3dhdnBhY2suY29tL3dhdnBhY2stJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3YmIxNTI4ZjkxMGU0ZDAwMDM0MjZjMDJkYjg1NjA2MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNzVlZTRmMmVmZmQ2ZjUxZTZlYzQ4Nzk1NmY0MTE3NzI1NmJmODkyYzJlOGUwN2RlNWQyN2VkNGVlNjg4OGM1IgorCitpbmhlcml0IGF1dG90b29scyBsaWJfcGFja2FnZQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYm0vbGlidnB4L2xpYnZweC1jb25maWd1cmUtc3VwcG9ydC1ibGFuay1wcmVmaXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYm0vbGlidnB4L2xpYnZweC1jb25maWd1cmUtc3VwcG9ydC1ibGFuay1wcmVmaXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzdhNmU1MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvd2VibS9saWJ2cHgvbGlidnB4LWNvbmZpZ3VyZS1zdXBwb3J0LWJsYW5rLXByZWZpeC5wYXRjaApAQCAtMCwwICsxLDQzIEBACitVcHN0cmVhbTogbm90IHlldAorCitGaXggY29uZmlndXJlIHRvIGFjY2VwdCAiLS1wcmVmaXg9IiAoYSBibGFuayBwcmVmaXgpLgorCistLS0gbGlidnB4LTAuOS4xL2J1aWxkL21ha2UvY29uZmlndXJlLnNoLm9yaWcJMjAxMC0wNi0xNyAwOTowODo1Ni4wMDAwMDAwMDAgLTA0MDAKKysrKyBsaWJ2cHgtMC45LjEvYnVpbGQvbWFrZS9jb25maWd1cmUuc2gJMjAxMC0wOS0yMyAxNDoyNzo0OC4wMDAwMDAwMDAgLTA0MDAKK0BAIC00NDQsNiArNDQ0LDggQEAKKyAgICAgICAgIDs7CisgICAgICAgICAtLXByZWZpeD0qKQorICAgICAgICAgcHJlZml4PSIke29wdHZhbH0iCisrICAgICAgICAjIERpc3Rpbmd1aXNoIGJldHdlZW4gInByZWZpeCBub3Qgc2V0IiBhbmQgInByZWZpeCBzZXQgdG8gJyciCisrICAgICAgICBwcmVmaXhzZXQ9MQorICAgICAgICAgOzsKKyAgICAgICAgIC0tbGliZGlyPSopCisgICAgICAgICBsaWJkaXI9IiR7b3B0dmFsfSIKK0BAIC01ODcsMTMgKzU4NywyMyBAQCBwcm9jZXNzX2NtZGxpbmUoKSB7CisgfQorIAorIHBvc3RfcHJvY2Vzc19jb21tb25fY21kbGluZSgpIHsKKy0gIHByZWZpeD0iJHtwcmVmaXg6LS91c3IvbG9jYWx9IgorKyAgaWYgWyAiJHByZWZpeHNldCIgIT0gIjEiIF0KKysgIHRoZW4KKysgICAgICBwcmVmaXg9L3Vzci9sb2NhbAorKyAgZmkKKysKKysgICMgU3RyaXAgdHJhaWxpbmcgc2xhc2gKKyAgIHByZWZpeD0iJHtwcmVmaXglL30iCisrCisgICBsaWJkaXI9IiR7bGliZGlyOi0ke3ByZWZpeH0vbGlifSIKKyAgIGxpYmRpcj0iJHtsaWJkaXIlL30iCistICBpZiBbICIke2xpYmRpciMke3ByZWZpeH19IiA9ICIke2xpYmRpcn0iIF07IHRoZW4KKy0gICAgZGllICJMaWJkaXIgJHtsaWJkaXJ9IG11c3QgYmUgYSBzdWJkaXJlY3Rvcnkgb2YgJHtwcmVmaXh9IgorLSAgZmkKKysKKysgIGNhc2UgIiRsaWJkaXIiIGluCisrICAgICAgIiR7cHJlZml4fS8iKikgOzsKKysgICAgICAqKQorKyAgICAgICAgICBkaWUgIkxpYmRpciAke2xpYmRpcn0gbXVzdCBiZSBhIHN1YmRpcmVjdG9yeSBvZiAke3ByZWZpeH0iCisrICAgICAgICAgIDs7CisrICBlc2FjCisgfQorIAorIHBvc3RfcHJvY2Vzc19jbWRsaW5lKCkgewpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJtL2xpYnZweF8xLjUuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvd2VibS9saWJ2cHhfMS41LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQ4ODE4ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvd2VibS9saWJ2cHhfMS41LjAuYmIKQEAgLTAsMCArMSw0OSBAQAorU1VNTUFSWSA9ICJWUFggbXVsdGktZm9ybWF0IGNvZGVjIgorREVTQ1JJUFRJT04gPSAiVGhlIEJTRC1saWNlbnNlZCBsaWJ2cHggcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIHByb3ZpZGVzIGVuLSBhbmQgZGVjb2RlcnMgZm9yIFZQOCBhbmQgVlA5IGJpdHN0cmVhbXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS8iCitCVUdUUkFDS0VSID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC93ZWJtL2lzc3Vlcy9saXN0IgorU0VDVElPTiA9ICJsaWJzL211bHRpbWVkaWEiCitMSUNFTlNFID0gIkJTRCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDViMDQ3NTUwMTViZTkwMTc0NGE3OGNjMzBkMzkwZDQiCisKK1NSQ19VUkkgKz0gImh0dHA6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Rvd25sb2Fkcy53ZWJtcHJvamVjdC5vcmcvcmVsZWFzZXMvd2VibS8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgIGZpbGU6Ly9saWJ2cHgtY29uZmlndXJlLXN1cHBvcnQtYmxhbmstcHJlZml4LnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjQ5ZTU5ZGQxODRjYWEyNTU4ODY2ODNmYWNlYTU2ZmNhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMwNmQ2NzkwODYyNTY3NWY4ZTE4OGQzN2E4MWZiZmFmZGY1MDY4YjA5ZDlhYTUyNzAyYjZmYmU2MDFjNzY3OTciCisKKyMgZmZtcGVnIGxpbmtzIHdpdGggdGhpcyBhbmQgZmFpbHMKKyMgc3lzcm9vdHMvYXJtdjR0LW9lLWxpbnV4LWdudWVhYmkvdXNyL2xpYi9saWJ2cHguYSh2cHhfZW5jb2Rlci5jLm8pKC50ZXh0KzB4YzQpOiB1bnJlc29sdmFibGUgUl9BUk1fVEhNX0NBTEwgcmVsb2NhdGlvbiBhZ2FpbnN0IHN5bWJvbCBgbWVtY3B5QEBHTElCQ18yLjQnCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworQ0ZMQUdTICs9ICItZlBJQyIKKworZXhwb3J0IENDCitleHBvcnQgTEQgPSAiJHtDQ30iCisKK1ZQWFRBUkdFVF9hcm12NXRlID0gImFybXY1dGUtbGludXgtZ2NjIgorVlBYVEFSR0VUX2FybXY2ID0gImFybXY2LWxpbnV4LWdjYyIKK1ZQWFRBUkdFVF9hcm12N2EgPSAiYXJtdjctbGludXgtZ2NjIgorVlBYVEFSR0VUID89ICJnZW5lcmljLWdudSIKKworQ09ORklHVVJFT1BUUyA9ICIgXAorICAgIC0tdGFyZ2V0PSR7VlBYVEFSR0VUfSBcCisgICAgLS1lbmFibGUtdnA5IFwKKyAgICAtLWVuYWJsZS1saWJzIFwKKyAgICAtLWRpc2FibGUtaW5zdGFsbC1kb2NzIFwKKyAgICAtLWRpc2FibGUtc3RhdGljIFwKKyAgICAtLWVuYWJsZS1zaGFyZWQgXAorICAgIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgLS1saWJkaXI9JHtsaWJkaXJ9IFwKKyAgICAtLXNpemUtbGltaXQ9MTYzODR4MTYzODQgXAorIgorCitkb19jb25maWd1cmUoKSB7CisgICAgJHtTfS9jb25maWd1cmUgJHtDT05GSUdVUkVPUFRTfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KKyAgICBjaG93biAtUiByb290OnJvb3QgJHtEfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS94cGV4dC94cGV4dC9hdXhkaXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hwZXh0L3hwZXh0L2F1eGRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTU4NDFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS94cGV4dC94cGV4dC9hdXhkaXIucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGNvbmZpZ3VyZS5hYy5vbGQJMjAwNS0wNi0wMyAxMjo1MzoyOC4wMDAwMDAwMDAgKzAyMDAKKysrKyBjb25maWd1cmUuYWMJMjAwNS0wNi0wMyAxMjo1NDoyOS4wMDAwMDAwMDAgKzAyMDAKK0BAIC0yNSw5ICsyNSw5IEBACisgCisgQUNfUFJFUkVRKFsyLjU3XSkKKyBBQ19JTklUKFtzcGV4dF0sIFsxLjBdLCBbbGF1cmkubGV1a2t1bmVuQG5va2lhLmNvbV0sIHNwZXh0KQorK0FDX0NPTkZJR19BVVhfRElSKC4pCisgQU1fSU5JVF9BVVRPTUFLRShbZGlzdC1iemlwMl0pCisgQU1fTUFJTlRBSU5FUl9NT0RFCistQUNfQ09ORklHX0FVWF9ESVIoLikKKyAKKyBkbmwgUEtHX0NIRUNLX01PRFVMRVMoRklYRVNFWFQsIGZpeGVzZXh0KQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS94cGV4dC94cGV4dF8xLjAtNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEveHBleHQveHBleHRfMS4wLTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY1NTQ2ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEveHBleHQveHBleHRfMS4wLTUuYmIKQEAgLTAsMCArMSwxNyBAQAorTElDRU5TRT0gIk1JVCIKK1NVTU1BUlkgPSAiWCBTZXJ2ZXIgTm9raWEgNzcwIGV4dGVuc2lvbnMgbGlicmFyeSIKK1NFQ1RJT04gPSAieDExL2xpYnMiCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGxpYnhleHQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWRiMDQzNzkxMzQ5YmE1N2FkMTE2OWUxYzkyNDc3Y2I2IgorCitTUkNfVVJJID0gImh0dHA6Ly9yZXBvc2l0b3J5Lm1hZW1vLm9yZy9wb29sL21hZW1vL29zc3cvc291cmNlL3gvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vYXV4ZGlyLnBhdGNoO3N0cmlwbGV2ZWw9MCIKK1MgPSAiJHtXT1JLRElSfS94cGV4dC0xLjAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjFiMGNiNjdiNmYyYmQ3YzRhYmVmMTc2NDhiMDYyODk2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEzYjA2ZjUxODhmZDllZmZkMDc5OWFlMzEzNTJiM2NkNjVjYjkxM2I5NjRlMmMxYTkyM2ZmYTlkM2MwOGFiYmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hzcC94c3AveHNwLWZpeC1wYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEveHNwL3hzcC94c3AtZml4LXBjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4YmM2N2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hzcC94c3AveHNwLWZpeC1wYy5wYXRjaApAQCAtMCwwICsxLDEwIEBACistLS0gWHNwL3hzcC5wYy5pbn4JMjAwOS0wMS0wNyAxMzowNjowNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBYc3AveHNwLnBjLmluCTIwMDktMDEtMDcgMTM6MDY6MDcuMDAwMDAwMDAwICswMTAwCitAQCAtNiw1ICs2LDUgQEAKKyBOYW1lOiBYc3AKKyBEZXNjcmlwdGlvbjogWCBTcHV0bmlrIExpYnJhcnkKKyBWZXJzaW9uOiBAUEFDS0FHRV9WRVJTSU9OQAorLUNmbGFnczogLUkke2luY2x1ZGVkaXJ9ICBAWFNQX0NGTEFHU0AgQFhfQ0ZMQUdTQAorLUxpYnM6IC1MJHtsaWJkaXJ9IC1sWHNwIEBYU1BfTElCU0AgQFhfTElCU0AKKytDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQorK0xpYnM6IC1MJHtsaWJkaXJ9IC1sWHNwIC1sWDExCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hzcC94c3BfMS4wLjAtOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEveHNwL3hzcF8xLjAuMC04LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3YTA2OGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hzcC94c3BfMS4wLjAtOC5iYgpAQCAtMCwwICsxLDE1IEBACitMSUNFTlNFPSAiTUlUIgorU1VNTUFSWSA9ICJYIFNlcnZlciBOb2tpYSA3NzAgZXh0ZW5zaW9ucyBsaWJyYXJ5IgorU0VDVElPTiA9ICJ4MTEvbGlicyIKK0RFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgbGlieGV4dCB4cGV4dCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVhMmJkYTE2OGM1MDhjN2NkOGFmYTU2N2IyZmNjNTQ5IgorU1JDX1VSSSA9ICJodHRwOi8vcmVwb3NpdG9yeS5tYWVtby5vcmcvcG9vbC9tYWVtby9vc3N3L3NvdXJjZS94L3hzcC8ke0JQTn1fJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3hzcC1maXgtcGMucGF0Y2giCitTID0gIiR7V09SS0RJUn0vWHNwIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYTBkOGQwMjIyOGQ0Y2JkMjhiNmUwN2JiN2MxN2NmNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4YjcyMmI5NTJiNjQ4NDFkOTk2YzcwYzMyNzg0OTk4ODZjODFiYjUwMTI5OTFiZWVkNWY2NmY0MTU4NDE4ZjU5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9mb3h0cm90Z3BzL2ZveHRyb3RncHNfMS4xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2ZveHRyb3RncHMvZm94dHJvdGdwc18xLjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTFjYmNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9mb3h0cm90Z3BzL2ZveHRyb3RncHNfMS4xLjEuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJGb3h0cm90R1BTIGlzIGEgbWFwIGFuZCBHUFMgYXBwbGljYXRpb24gdXNpbmcgT3BlblN0cmVldE1hcCIKK0FVVEhPUiA9ICJKb3NodWEgSnVkc29uIFJvc2VuIDxyb3p6aW5AZ2Vla3NwYWNlLmNvbT4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZveHRyb3RncHMub3JnLyIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9ucyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKK0RFUEVORFMgPSAiY3VybCBndGsrIGxpYmdsYWRlIHNxbGl0ZTMgbGliZXhpZiBncHNkIGJsdWV6NCBpbnRsdG9vbC1uYXRpdmUiCisKK1BOQkxBQ0tMSVNUW2ZveHRyb3RncHNdID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV6NScsICdibHVlejUgY29uZmxpY3RzIHdpdGggYmx1ZXo0IGFuZCBibHVlejUgaXMgc2VsZWN0ZWQgaW4gRElTVFJPX0ZFQVRVUkVTJywgJycsIGQpfSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZveHRyb3RncHMub3JnL3JlbGVhc2VzLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2Nzc3ZDQ0OGVlOWQzYmExOTVmOWQyNmVhOTBlMzE2MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhZTk3MDYyODU1MTA1NTRjYzA4MTNhYzkyNTIyZTBkMTY3MmIwZGRiMDY1MzA3YmZhY2ZjZmYzYzMyOGY2YWRiIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcGVybG5hdGl2ZSBnY29uZgorCitQUiA9ICJyMiIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgaWYgWyAtZiAke1N9L2NvbmZpZ3VyZS5pbiBdIDsgdGhlbgorICAgIG12ICR7U30vY29uZmlndXJlLmluICR7U30vY29uZmlndXJlLmFjCisgICAgZmkKK30KKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbiBwZXJsIgorUlJFQ09NTUVORFNfJHtQTn0gPSAiZ3BzZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ2RhbC9nZGFsXzEuMTEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ2RhbC9nZGFsXzEuMTEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTI4MDZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZGFsL2dkYWxfMS4xMS4xLmJiCkBAIC0wLDAgKzEsMTE0IEBACitTVU1NQVJZID0gIkdEQUwgaXMgYSB0cmFuc2xhdG9yIGxpYnJhcnkgZm9yIHJhc3RlciBnZW9zcGF0aWFsIGRhdGEgZm9ybWF0cyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ2RhbC5vcmcvIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLlRYVDttZDU9MDk1MmUxNzk2OWZhYjEyMjI3MDk2YjUyMjhmMjMxNDkiCisKK0RFUEVORFMgPSAicHJvaiBzcWxpdGUzIHRpZmYganNvbi1jIgorCitTUkNfVVJJID0gImZ0cDovL2Rvd25sb2FkLm9zZ2VvLm9yZy9nZGFsLyR7UFZ9LyR7QlB9LnRhci54eiIKKworU1JDX1VSSVttZDVzdW1dID0gIjJlMTI2ZDdjNjYwNTY5MWQzOGYzZTcxYjk0NWY1YzczIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIwZTEwNDJjZmYxNWE3MTAzODQ1OWEyOTk3MzJmYjM0MjQyOGFlYTk5MTJmMzJkZjMwYzg1NzkwZmNhYjYzMDIiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBsaWJfcGFja2FnZSBiaW5jb25maWcKKworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1wZXJsIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcGhwIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcnVieSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXB5dGhvbiBcCisgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1ncmFzcyBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWxpYmdyYXNzIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtY2ZpdHNpbyBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWRkcyBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWd0YSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXBjaWRzayBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LW9nZGkgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1mbWUgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1oZGY0IFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtaGRmNSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXBnIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtanBlZzEyIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtb2dkaSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LW5ldGNkZiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LW9wZW5qcGVnIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZmdkYiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWVjdyBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWtha2FkdSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LW1yc2lkIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtanAybXJzaWQgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1tcnNpZF9saWRhciBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LW1zZyBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWJzYiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWdyaWIgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1teXNxbCBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWluZ3JlcyBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LW9kYmMgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1kb2RzX3Jvb3QgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC14bWwyIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtc3BhdGlhbGl0ZSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXBjcmUgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1kd2dkaXJlY3QgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1kd2dkaXJlY3QgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1pZGIgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1zZGUgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1zZGUtdmVyc2lvbiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWVwc2lsb24gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC13ZWJwIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtb3BlbmNsIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtb3BlbmNsLWluY2x1ZGUgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1vcGVuY2wtbGliIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZnJlZXhsIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcGFtIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcG9wcGxlciBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXBvZG9mbyBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXBvZG9mby1saWIgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1wb2RvZm8tZXh0cmEtbGliLWZvci10ZXN0IFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtc3RhdGljX3Byb2o0IFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcGVybCBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXBocCBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXJ1YnkgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1weXRob24gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1qYXZhIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbWRiIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtanZtLWxpYiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWp2bS1saWItYWRkLXJwYXRoIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcmFzZGFtYW4gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1hcm1hZGlsbG8gXAorICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtcGNyYXN0ZXI9aW50ZXJuYWwgXAorICAgICAgICAgICAgICAgIC0td2l0aC1nZW90aWZmPWludGVybmFsIFwKKyAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgLS13aXRoLXNxbGl0ZTM9JHtTVEFHSU5HX0VYRUNQUkVGSVhESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtbGlidGlmZj0ke1NUQUdJTkdfRVhFQ1BSRUZJWERJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1saWJqc29uLWM9JHtTVEFHSU5HX0VYRUNQUkVGSVhESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtZXhwYXQ9JHtTVEFHSU5HX0VYRUNQUkVGSVhESVJ9IFwKKyIKKworRVhUUkFfT0VNQUtFICs9ICJJTlNUX0RBVEE9IiR7ZGF0YWRpcn0vZ2RhbCIiCisKK1BBQ0tBR0VDT05GSUcgPz0gImdlb3MgcG5nIGphc3BlciIKK1BBQ0tBR0VDT05GSUdbZ2Vvc10gPSAiLS13aXRoLWdlb3MsLS13aXRob3V0LWdlb3MsZ2VvcyIKK1BBQ0tBR0VDT05GSUdbbHptYV0gPSAiLS13aXRoLWxpYmx6bWEsLS13aXRob3V0LWxpYmx6bWEseHoiCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLS13aXRoLXBuZywtLXdpdGhvdXQtcG5nLGxpYnBuZyIKK1BBQ0tBR0VDT05GSUdbZ2lmXSA9ICItLXdpdGgtZ2lmLC0td2l0aG91dC1naWYsZ2lmbGliIgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItLXdpdGgtanBlZywtLXdpdGhvdXQtanBlZyxqcGVnIgorUEFDS0FHRUNPTkZJR1t6XSA9ICItLXdpdGgtbGlieiwtLXdpdGhvdXQtbGlieix6bGliIgorUEFDS0FHRUNPTkZJR1tqYXNwZXJdID0gIi0td2l0aC1qYXNwZXIsLS13aXRob3V0LWphc3BlcixqYXNwZXIiCitQQUNLQUdFQ09ORklHW2N1cmxdID0gIi0td2l0aC1jdXJsLC0td2l0aG91dC1jdXJsLGN1cmwiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICAjIFRoZSBjb25maWd1cmUgc2NyaXB0IGhhcyBtYW55IGhhcmRjb2RlZCBwYXRocyB0byBzZWFyY2gKKyAgICAjIGZvciB0aGUgbGlicmFyeSBoZWFkZXJzIHdoZW4gdXNpbmcgZXh0ZXJuYWwgbGlicmFyaWVzLAorICAgICMgd29ya2Fyb3VuZCBpdC4KKyAgICBzZWQgLWUgJ3MsL3Vzci9pbmNsdWRlLE5PTl9FWElTVEVOVF9ESVIsZycgXAorICAgICAgICAtZSAncywvdXNyL2xpYixOT05fRVhJU1RFTlRfRElSLGcnIFwKKyAgICAgICAgLWkgJHtTfS9jb25maWd1cmUuaW4KK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9nZGFscGx1Z2lucyIKKworIyB8IGdkYWxzZXJ2ZXIuYzoxMjQ6MjE6IGVycm9yOiBzdG9yYWdlIHNpemUgb2YgJ3NIaW50cycgaXNuJ3Qga25vd24KKyMgfCAgICAgIHN0cnVjdCBhZGRyaW5mbyBzSGludHM7CisjIHwgICAgICAgICAgICAgICAgICAgICAgXgorUE5CTEFDS0xJU1RbZ2RhbF0gPz0gIkJST0tFTjogZmFpbHMgdG8gYnVpbGQgd2l0aCBnY2MtNSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ2VvY2x1ZS9maWxlcy9zb3VwLXNlc3Npb24tZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZW9jbHVlL2ZpbGVzL3NvdXAtc2Vzc2lvbi1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzBmZTNmNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ2VvY2x1ZS9maWxlcy9zb3VwLXNlc3Npb24tZml4LnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK1Vwc3RyZWFtLVN0YXR1czogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtwb2t5IDkuMCBoYXMgb2xkZXIgbGlic291cF0KKworU2lnbmVkLW9mZi1ieTogRmVsaXBlIEYuIFRvbmVsbG8gPGV1QGZlbGlwZXRvbmVsbG8uY29tPgorCitkaWZmIC0tZ2l0IGEvc3JjL2djbHVlLWlwY2xpZW50LmMgYi9zcmMvZ2NsdWUtaXBjbGllbnQuYworaW5kZXggMDlhZGQzMC4uMTc3MWQ1YyAxMDA2NDQKKy0tLSBhL3NyYy9nY2x1ZS1pcGNsaWVudC5jCisrKysgYi9zcmMvZ2NsdWUtaXBjbGllbnQuYworQEAgLTgzLDcgKzgzLDcgQEAgZ2NsdWVfaXBjbGllbnRfaW5pdCAoR0NsdWVJcGNsaWVudCAqaXBjbGllbnQpCisgeworICAgICAgICAgaXBjbGllbnQtPnByaXYgPSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUgKChpcGNsaWVudCksIEdDTFVFX1RZUEVfSVBDTElFTlQsIEdDbHVlSXBjbGllbnRQcml2YXRlKTsKKyAKKy0gICAgICAgIGlwY2xpZW50LT5wcml2LT5zb3VwX3Nlc3Npb24gPSBzb3VwX3Nlc3Npb25fbmV3ICgpOworKyAgICAgICAgaXBjbGllbnQtPnByaXYtPnNvdXBfc2Vzc2lvbiA9IHNvdXBfc2Vzc2lvbl9zeW5jX25ldyAoKTsKKyB9CisgCisgLyoqCitkaWZmIC0tZ2l0IGEvc3JjL2dlb2lwLXNlcnZlci9nZW9pcC11cGRhdGUuYyBiL3NyYy9nZW9pcC1zZXJ2ZXIvZ2VvaXAtdXBkYXRlLmMKK2luZGV4IDZjY2U3YjIuLmVmNjcyYmEgMTAwNjQ0CistLS0gYS9zcmMvZ2VvaXAtc2VydmVyL2dlb2lwLXVwZGF0ZS5jCisrKysgYi9zcmMvZ2VvaXAtc2VydmVyL2dlb2lwLXVwZGF0ZS5jCitAQCAtMjE0LDcgKzIxNCw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoID0gR0VPSVBfREFUQUJBU0VfUEFUSDsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIHNlc3Npb24gPSBzb3VwX3Nlc3Npb25fbmV3ICgpOworKyAgICAgICAgc2Vzc2lvbiA9IHNvdXBfc2Vzc2lvbl9zeW5jX25ldyAoKTsKKyAKKyAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBHX05fRUxFTUVOVFMgKGRiX2luZm9fbWFwKTsgaSsrKSB7CisgICAgICAgICAgICAgICAgIFNvdXBNZXNzYWdlICptc2cgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZW9jbHVlL2dlb2NsdWVfMi4wLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dlb2NsdWUvZ2VvY2x1ZV8yLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTNkMDRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZW9jbHVlL2dlb2NsdWVfMi4wLjAuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJUaGUgR2VvbG9jYXRpb24gU2VydmljZSIKK0RFU0NSSVBUSU9OID0gIkdlb2NsdWUgaXMgYSBELUJ1cyBzZXJ2aWNlIHRoYXQgcHJvdmlkZXMgbG9jYXRpb24gaW5mb3JtYXRpb24uIFwKK1RoZSBwcmltYXJ5IGdvYWwgb2YgdGhlIEdlb2NsdWUgcHJvamVjdCBpcyB0byBtYWtlIGNyZWF0aW5nIGxvY2F0aW9uLWF3YXJlIGFwcGxpY2F0aW9ucyBcCithcyBzaW1wbGUgYXMgcG9zc2libGUsIHdoaWxlIHRoZSBzZWNvbmRhcnkgZ29hbCBpcyB0byBlbnN1cmUgdGhhdCBubyBhcHBsaWNhdGlvbiBcCitjYW4gYWNjZXNzIGxvY2F0aW9uIGluZm9ybWF0aW9uIHdpdGhvdXQgZXhwbGljaXQgcGVybWlzc2lvbiBmcm9tIHVzZXIuIgorTElDRU5TRSA9ICJHUEx2Mi4wKyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04MTE0YjgzYTA0MzVkODEzNmI0N2JkNzAxMTFjZTVjZCIKKworREVQRU5EUyA9ICJnbGliLTIuMCBkYnVzIGRidXMtZ2xpYiBqc29uLWdsaWIgbGlic291cC0yLjQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstZG9jCisKK1NSQ19VUkkgPSAiIFwKKyAgaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvZ2VvY2x1ZS9yZWxlYXNlcy8yLjAvZ2VvY2x1ZS0ke1BWfS50YXIueHogXAorICBmaWxlOi8vc291cC1zZXNzaW9uLWZpeC5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0MDFmZjk5ZDUzMGIxNzdjNjJhZmFjZWYwYTMzZWZkOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YTgyZjE4NGU1NWExNjNkODZlMGFkNjliYmUxYmJhOTk2MGJiNTA5NDIyMGZlMWYwMTM1MGJjZWRhOGM2N2ExIgorCitQQUNLQUdFQ09ORklHW2dlb2lwXSA9ICItLWVuYWJsZS1nZW9pcC1zZXJ2ZXIsLS1kaXNhYmxlLWdlb2lwLXNlcnZlcixnZW9pcCIKKworRVhUUkFfT0VDT05GICs9ICIgXAorICAtLXdpdGgtZGJ1cy1zZXJ2aWNlLXVzZXI9cm9vdCBcCisgIC0td2l0aC1kYnVzLXN5cy1kaXI9JHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQgXAorIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzL29yZy5mcmVlZGVza3RvcC5HZW9DbHVlMi5zZXJ2aWNlIFwKKyAgJHtkYXRhZGlyfS9nZW9jbHVlLTIuMC9nZW9jbHVlLWludGVyZmFjZS54bWwgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZW9zL2ZpbGVzL2dlb3MtY29uZmlnLUFkZC1pbmNsdWRlZGlyLXZhcmlhYmxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZW9zL2ZpbGVzL2dlb3MtY29uZmlnLUFkZC1pbmNsdWRlZGlyLXZhcmlhYmxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NWU2ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dlb3MvZmlsZXMvZ2Vvcy1jb25maWctQWRkLWluY2x1ZGVkaXItdmFyaWFibGUucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSA5ZDUxMDI3YzIyOGRhZmQ3ZGIyZDBjZmZjYTFmMGZjNjk1ZTk1MGZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK0RhdGU6IE1vbiwgMiBEZWMgMjAxMyAxMTozMzoyNiAtMDIwMAorU3ViamVjdDogW1BBVENIXSBnZW9zLWNvbmZpZzogQWRkIGluY2x1ZGVkaXIgdmFyaWFibGUKKworVGhpcyBmaXhlcyBjcm9zcy1jb21waWxlIGFzIGl0IGlzIGVhc2llciB0byBtYW5nbGUgdGhlIGluY2x1ZGVkaXIKK2R1cmluZyBzeXNyb290IGdlbmVyYXRpb24uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorLS0tCisgdG9vbHMvZ2Vvcy1jb25maWcuaW4gfCAgICAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3Rvb2xzL2dlb3MtY29uZmlnLmluIGIvdG9vbHMvZ2Vvcy1jb25maWcuaW4KK2luZGV4IDliNDViNWYuLjE3NDk4OTIgMTAwNjQ0CistLS0gYS90b29scy9nZW9zLWNvbmZpZy5pbgorKysrIGIvdG9vbHMvZ2Vvcy1jb25maWcuaW4KK0BAIC0xLDYgKzEsNyBAQAorICMhL2Jpbi9zaAorIHByZWZpeD1AcHJlZml4QAorIGV4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKKytpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorIGxpYmRpcj1AbGliZGlyQAorIAorIHVzYWdlKCkKK0BAIC0zOCw3ICszOSw3IEBAIGNhc2UgJDEgaW4KKyAgICAgZWNobyBAVkVSU0lPTkAKKyAgICAgIDs7CisgICAgIC0tY2ZsYWdzKQorLSAgICBlY2hvIC1JJHtwcmVmaXh9L2luY2x1ZGUgCisrICAgIGVjaG8gLUkke2luY2x1ZGVkaXJ9CisgICAgICAgOzsKKyAgICAgLS1saWJzKQorICAgICAgICMgVE9ETzogbWFrZSBhbiBhbGlhcyBmb3IgLS1jbGlicworLS0gCisxLjcuMTAuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dlb3MvZ2Vvcy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dlb3MvZ2Vvcy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmUzMDhiNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ2Vvcy9nZW9zLmluYwpAQCAtMCwwICsxLDIxIEBACitERVNDUklQVElPTiA9ICJHRU9TIC0gR2VvbWV0cnkgRW5naW5lLCBPcGVuIFNvdXJjZSIKK0hPTUVQQUdFID0gImh0dHA6Ly90cmFjLm9zZ2VvLm9yZy9nZW9zLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03ZmJjMzM4MzA5YWMzOGZlZmNkNjRiMDRiYjkwM2UzNCIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQub3NnZW8ub3JnL2dlb3MvZ2Vvcy0ke1BWfS50YXIuYnoyIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmluY29uZmlnCisKK1BBQ0tBR0VTID0rICJnZW9zbGliICR7UE59LWMxIgorCitERVNDUklQVElPTl8ke1BOfWxpYiA9ICJHZW9tZXRyeSBlbmdpbmUgZm9yIEdlb2dyYXBoaWMgSW5mb3JtYXRpb24gU3lzdGVtcyAtIEMrKyBMaWJyYXJ5IgorRklMRVNfJHtQTn1saWIgKz0gIiR7bGliZGlyfS9saWJnZW9zLSR7UFZ9LnNvIgorCitERVNDUklQVElPTl8ke1BOfS1jMSA9ICJHZW9tZXRyeSBlbmdpbmUgZm9yIEdlb2dyYXBoaWMgSW5mb3JtYXRpb24gU3lzdGVtcyAtIEMgTGlicmFyeSIKK0ZJTEVTXyR7UE59LWMxICs9ICIke2xpYmRpcn0vbGliZ2Vvc19jLnNvLioiCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCitSREVQRU5EU18ke1BOfSArPSAiZ2Vvc2xpYiAke1BOfS1jMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ2Vvcy9nZW9zXzMuNC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9nZW9zL2dlb3NfMy40LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E5YTAyOGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dlb3MvZ2Vvc18zLjQuMi5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgZ2Vvcy5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovL2dlb3MtY29uZmlnLUFkZC1pbmNsdWRlZGlyLXZhcmlhYmxlLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZmM1ZGYyZDkyNmViN2U2N2Y5ODhhNDNhOTI2ODNiYWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTVlOGJmZGY3ZTI5MDg3YTk1N2I1NmFjNTQzZWE5YTgwMzIxNDgxY2VmNGQ0ZjYzYTdiMjY4OTUzYWQyNmM1MyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1DaGVjay1mb3ItX19TVERDX05PX0FUT01JQ1NfXy1iZWZvcmUtdXNpbmctc3RkYXRvbWljLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLUNoZWNrLWZvci1fX1NURENfTk9fQVRPTUlDU19fLWJlZm9yZS11c2luZy1zdGRhdG9taWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJhYzVhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1DaGVjay1mb3ItX19TVERDX05PX0FUT01JQ1NfXy1iZWZvcmUtdXNpbmctc3RkYXRvbWljLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK0Zyb20gYzMwNzE2YmU5ZTYxNTUxM2ZlNjY5OTNmZDNjZGM4MThjM2Q3MDQxMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJHYXJ5IEUuIE1pbGxlciIgPGdlbUByZWxsaW0uY29tPgorRGF0ZTogU3VuLCAxNSBNYXIgMjAxNSAxMTo1MTo0NSAtMDcwMAorU3ViamVjdDogW1BBVENIIDEvM10gQ2hlY2sgZm9yIF9fU1REQ19OT19BVE9NSUNTX18gYmVmb3JlIHVzaW5nIHN0ZGF0b21pYy5oCisKKy0tLQorIFNDb25zdHJ1Y3QgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9TQ29uc3RydWN0IGIvU0NvbnN0cnVjdAoraW5kZXggYWRmNDczZC4uNTY2YzE0YSAxMDA2NDQKKy0tLSBhL1NDb25zdHJ1Y3QKKysrKyBiL1NDb25zdHJ1Y3QKK0BAIC02MzMsNyArNjMzLDcgQEAgZWxzZToKKyAgICAgICAgIGFubm91bmNlKCJZb3UgZG8gbm90IGhhdmUga2VybmVsIENBTmJ1cyBhdmFpbGFibGUuIikKKyAgICAgICAgIGVudlsibm1lYTIwMDAiXSA9IEZhbHNlCisgCistICAgIGlmIGNvbmZpZy5DaGVja0hlYWRlcigic3RkYXRvbWljLmgiKToKKysgICAgaWYgbm90IGNvbmZpZy5DaGVja0NvbXBpbGVyRGVmaW5lcygiX19TVERDX05PX0FUT01JQ1NfXyIpIGFuZCBjb25maWcuQ2hlY2tIZWFkZXIoInN0ZGF0b21pYy5oIik6CisgICAgICAgICBjb25mZGVmcy5hcHBlbmQoIiNkZWZpbmUgSEFWRV9TVERBVE9NSUNfSCAxXG4iKQorICAgICBlbHNlOgorIAljb25mZGVmcy5hcHBlbmQoIi8qICN1bmRlZiBIQVZFX1NUREFUT01JQ19IICovXG4iKQorLS0gCisyLjEuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtSW5jbHVkZS1zdGRhdG9taWMuaC1vbmx5LWluLUMtbW9kZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1JbmNsdWRlLXN0ZGF0b21pYy5oLW9ubHktaW4tQy1tb2RlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjOTE2N2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtSW5jbHVkZS1zdGRhdG9taWMuaC1vbmx5LWluLUMtbW9kZS5wYXRjaApAQCAtMCwwICsxLDQzIEBACitGcm9tIDc5ZjZkOTEzMzM3ODMyNWQ3MGE5MmU2NmY3MzUyYzFiZWNlZmJiODggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBHbGViIFNtaXJub2ZmIDxnbGViaXVzQEZyZWVCU0Qub3JnPgorRGF0ZTogU2F0LCAxNiBNYXkgMjAxNSAwMjo0NzoyOCArMDMwMAorU3ViamVjdDogW1BBVENIXSBJbmNsdWRlIDxzdGRhdG9taWMuaD4gb25seSBpbiBDIG1vZGUuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgZnJvbSAzLjE1CisKK1dpdGhvdXQgdGhpcyBidWlsZCB3aXRoIGdjYy01LjIgZmFpbHMgd2l0aDoKK3wgYXJtLW9lLWxpbnV4LWdudWVhYmktZysrIC1tYXJjaD1hcm12NHQgLW10aHVtYiAtbXRodW1iLWludGVyd29yayAtbXR1bmU9YXJtOTIwdCAtLXN5c3Jvb3Q9L09FL2J1aWxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy9vbS1ndGEwMiAtbyBjbG9ja19nZXR0aW1lLXF0Lm9zIC1jIC1PMiAtcGlwZSAtZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMgLS1zeXNyb290PS9PRS9idWlsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMvb20tZ3RhMDIgLVdleHRyYSAtV2FsbCAtV25vLXVuaW5pdGlhbGl6ZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV2Nhc3QtYWxpZ24gLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV3BvaW50ZXItYXJpdGggLVdyZXR1cm4tdHlwZSAtcHRocmVhZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1nIC1PMCAtcHRocmVhZCAtZlBJQyAtRFVTRV9RVCAtRFFUX1NIQVJFRCAtSS9PRS9idWlsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMvb20tZ3RhMDIvdXNyL2luY2x1ZGUvZGJ1cy0xLjAgLUkvT0UvYnVpbGQvc2hyLWNvcmUvdG1wLWdsaWJjL3N5c3Jvb3RzL29tLWd0YTAyL3Vzci9saWIvZGJ1cy0xLjAvaW5jbHVkZSAtSS9PRS9idWlsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMvb20tZ3RhMDIvdXNyL2luY2x1ZGUvcXQ0L1F0TmV0d29yayAtSS9PRS9idWlsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMvb20tZ3RhMDIvdXNyL2luY2x1ZGUvcXQ0IC1JL09FL2J1aWxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy9vbS1ndGEwMi91c3IvaW5jbHVkZS9xdDQvUXRDb3JlIGNsb2NrX2dldHRpbWUuYworfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29tcGlsZXIuaDo1MDowLAorfCAgICAgICAgICAgICAgICAgIGZyb20gY2xvY2tfZ2V0dGltZS5jOjEwOgorfCAvT0UvYnVpbGQvc2hyLWNvcmUvdG1wLWdsaWJjL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL2FybS1vZS1saW51eC1nbnVlYWJpL2djYy9hcm0tb2UtbGludXgtZ251ZWFiaS81LjIuMC9pbmNsdWRlL3N0ZGF0b21pYy5oOjQwOjk6IGVycm9yOiAnX0F0b21pYycgZG9lcyBub3QgbmFtZSBhIHR5cGUKK3wgIHR5cGVkZWYgX0F0b21pYyBfQm9vbCBhdG9taWNfYm9vbDsKK3wgICAgICAgICAgXgorLi4uLgorCitNb3JlIGluZm86CitodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD02MDkzMgorCitTaWduZWQtb2ZmLWJ5OiBHYXJ5IEUuIE1pbGxlciA8Z2VtQHJlbGxpbS5jb20+CistLS0KKyBjb21waWxlci5oIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbXBpbGVyLmggYi9jb21waWxlci5oCitpbmRleCA4MzdjOTM1Li4wMzQzMGMwIDEwMDY0NAorLS0tIGEvY29tcGlsZXIuaAorKysrIGIvY29tcGlsZXIuaAorQEAgLTY2LDkgKzY2LDkgQEAKKyAgICAgfSB3aGlsZSAoMCkKKyAKKyAjaWZkZWYgSEFWRV9TVERBVE9NSUNfSAorLSNpZm5kZWYgX19DT1ZFUklUWV9fCS8qIENvdmVyaXR5IGlzIGNvbmZ1c2VkIGJ5IGEgR05VIHR5cGVkZWYgKi8KKysjaWYgIWRlZmluZWQoX19DT1ZFUklUWV9fKSAmJiAhZGVmaW5lZChfX2NwbHVzcGx1cykKKyAjaW5jbHVkZSA8c3RkYXRvbWljLmg+CistI2VuZGlmIC8qIF9fQ09WRVJJVFlfXyAqLworKyNlbmRpZiAvKiBfX0NPVkVSSVRZX18gfHwgX19jcGx1c3BsdXMgKi8KKyAjZW5kaWYgLyogSEFWRV9TVERBVE9NSUNfSCAqLworIAorICNpZmRlZiBIQVZFX09TQVRPTUlDX0gKKy0tIAorMi41LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLVNDb25zdHJ1Y3QtcHJlZml4LWluY2x1ZGVweS13aXRoLXN5c3Jvb3QtYW5kLWRyb3Atc3kucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtU0NvbnN0cnVjdC1wcmVmaXgtaW5jbHVkZXB5LXdpdGgtc3lzcm9vdC1hbmQtZHJvcC1zeS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWEzMjI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLVNDb25zdHJ1Y3QtcHJlZml4LWluY2x1ZGVweS13aXRoLXN5c3Jvb3QtYW5kLWRyb3Atc3kucGF0Y2gKQEAgLTAsMCArMSw3NSBAQAorRnJvbSAxZTJjZWE4OTQ1YmMyMTgzZmJlMWEwMTJkY2Q2MzNhMzUyMTI1OTUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNCBBcHIgMjAxMiAxODo0NToxNCArMDIwMAorU3ViamVjdDogW1BBVENIXSBTQ29uc3RydWN0OiBwcmVmaXggaW5jbHVkZXB5IHdpdGggc3lzcm9vdCBhbmQgZHJvcCBzeXNyb290CisgZnJvbSBweXRob25fbGliX2RpcgorCisqIHdpdGhvdXQgUFlUSE9OUEFUSCwgZGlzdHV0aWwncyBzeXNjb25maWcgcmV0dXJucyBJTkNMVURFUFkgd2l0aG91dCBzeXNyb290IHByZWZpeAorICBhbmQgd2l0aCBQWVRIT05QQVRIIGZyb20gT0UgaXQncyBwb2ludGluZyB0byBuYXRpdmUgcHl0aG9uIGRpcgorCisgICAgJCBleHBvcnQgUFlUSE9OUEFUSD0vT0Uvc2hyLWNvcmUvdG1wLWVnbGliYy9zeXNyb290cy9vbS1ndGEwMi91c3IvbGliL3B5dGhvbjIuNy8KKyAgICAkIHB5dGhvbgorICAgIFB5dGhvbiAyLjcuMiAoZGVmYXVsdCwgQXByIDE4IDIwMTIsIDA5OjE5OjU5KQorICAgIFtHQ0MgNC42LjJdIG9uIGxpbnV4MgorICAgIFR5cGUgImhlbHAiLCAiY29weXJpZ2h0IiwgImNyZWRpdHMiIG9yICJsaWNlbnNlIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAgICA+Pj4gZnJvbSBkaXN0dXRpbHMgaW1wb3J0IHN5c2NvbmZpZworICAgID4+PiBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXJzKCdJTkNMVURFUFknKQorICAgIFsnL09FL3Noci1jb3JlL3RtcC1lZ2xpYmMvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9pbmNsdWRlL3B5dGhvbjIuNyddCisgICAgPj4+CisgICAgJCB1bnNldCBQWVRIT05QQVRICisgICAgJCBweXRob24KKyAgICBQeXRob24gMi43LjIgKGRlZmF1bHQsIEFwciAxOCAyMDEyLCAwOToxOTo1OSkKKyAgICBbR0NDIDQuNi4yXSBvbiBsaW51eDIKKyAgICBUeXBlICJoZWxwIiwgImNvcHlyaWdodCIsICJjcmVkaXRzIiBvciAibGljZW5zZSIgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgICAgPj4+IGZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWcKKyAgICA+Pj4gc3lzY29uZmlnLmdldF9jb25maWdfdmFycygnSU5DTFVERVBZJykKKyAgICBbJy9weXRob24yLjcnXQorICAgID4+PiBpbXBvcnQgc3lzY29uZmlnCisgICAgPj4+IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcnMoJ0lOQ0xVREVQWScpCisgICAgWycvT0Uvc2hyLWNvcmUvdG1wLWVnbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2luY2x1ZGUvcHl0aG9uMi43J10KKyogcHl0aG9uX2xpYl9kaXIgPSBweXRob25fbGliX2Rpci5yZXBsYWNlKGVudlsnc3lzcm9vdCddLCAnJykKKyAgcmV0dXJucyBwYXRoIHRvIHRhcmdldCBzeXNyb290CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFBldGVyIEEuIEJpZ290IDxwYWJAcGFiaWdvdC5jb20+CistLS0KKyBTQ29uc3RydWN0IHwgOSArKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9TQ29uc3RydWN0IGIvU0NvbnN0cnVjdAoraW5kZXggNmM5MzMxMS4uY2RlOGIzZCAxMDA2NDQKKy0tLSBhL1NDb25zdHJ1Y3QKKysrKyBiL1NDb25zdHJ1Y3QKK0BAIC0xMTQ4LDYgKzExNDgsMTIgQEAgZWxzZToKKyAgICAgICAgIGJhc2VjZmxhZ3MgKz0gJyAtY292ZXJhZ2UnCisgICAgICAgICBsZGZsYWdzICs9ICcgLWNvdmVyYWdlJworICAgICAgICAgbGRzaGFyZWQgKz0gJyAtY292ZXJhZ2UnCisrCisrICAgIGlmIGVudlsnc3lzcm9vdCddOgorKyAgICAgICAgcHJpbnQgIlByZWZpeGluZyBpbmNsdWRlcHkgJyVzJyB3aXRoIHN5c3Jvb3QgcHJlZml4IiAlIGluY2x1ZGVweQorKyAgICAgICAgaW5jbHVkZXB5ID0gb3MucGF0aC5ub3JtcGF0aCgiJXMvJXMvJXMvJXMiICUgKGVudlsnc3lzcm9vdCddLCBlbnZbJ3ByZWZpeCddLCBlbnZbJ2luY2x1ZGVkaXInXSwgaW5jbHVkZXB5KSkKKysgICAgICAgIHByaW50ICInJXMnIiAlIGluY2x1ZGVweQorKworICAgICAjIGluIGNhc2UgQ0MvQ1hYIHdhcyBzZXQgdG8gdGhlIHNjYW4tYnVpbGQgd3JhcHBlciwKKyAgICAgIyBlbnN1cmUgdGhhdCB3ZSBidWlsZCB0aGUgcHl0aG9uIG1vZHVsZXMgd2l0aCBzY2FuLWJ1aWxkLCB0b28KKyAgICAgaWYgZW52WydDQyddIGlzIE5vbmUgb3IgZW52WydDQyddLmZpbmQoJ3NjYW4tYnVpbGQnKSA8IDA6CitAQCAtMTQwOCwxMSArMTQxNCwxNCBAQCBpZiBub3QgZW52WydweXRob24nXToKKyAgICAgcHl0aG9uX2luc3RhbGwgPSBbXQorIGVsc2U6CisgICAgIHB5dGhvbl9saWJfZGlyID0gZW52WydweXRob25fbGliZGlyJ10KKysgICAgcHl0aG9uX2xpYl9kaXIgPSBweXRob25fbGliX2Rpci5yZXBsYWNlKGVudlsnc3lzcm9vdCddLCAnJykKKyAgICAgcHl0aG9uX21vZHVsZV9kaXIgPSBweXRob25fbGliX2RpciArIG9zLnNlcCArICdncHMnCisgICAgIHB5dGhvbl9leHRlbnNpb25zX2luc3RhbGwgPSBweXRob25fZW52Lkluc3RhbGwoIERFU1RESVIgKyBweXRob25fbW9kdWxlX2RpciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uX2J1aWx0X2V4dGVuc2lvbnMpCisgICAgIGlmIG5vdCBlbnZbJ2RlYnVnJ10gYW5kIG5vdCBlbnZbJ3Byb2ZpbGluZyddIGFuZCBub3QgZW52Wydub3N0cmlwJ10gYW5kIG5vdCBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnZGFyd2luJyk6CisgICAgICAgICBweXRob25fZW52LkFkZFBvc3RBY3Rpb24ocHl0aG9uX2V4dGVuc2lvbnNfaW5zdGFsbCwgJyRTVFJJUCAkVEFSR0VUJykKKysgICAgZW52LkFkZFBvc3RBY3Rpb24ocHl0aG9uX2V4dGVuc2lvbnNfaW5zdGFsbCwgJyRDSFJQQVRIIC1yICIlcyIgIiRUQVJHRVQiJyBcCisrICAgICAgICAgICAgICAgICAgICAgJSAocHl0aG9uX2xpYl9kaXIsICkpCisgCisgICAgIHB5dGhvbl9tb2R1bGVzX2luc3RhbGwgPSBweXRob25fZW52Lkluc3RhbGwoIERFU1RESVIgKyBweXRob25fbW9kdWxlX2RpciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBweXRob25fbW9kdWxlcykKKy0tIAorMi4xLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAxLVNDb25zdHJ1Y3QtcmVzcGVjdC1zeXNyb290LWFsc28taW4tU1BMSU5UT1BUUy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1TQ29uc3RydWN0LXJlc3BlY3Qtc3lzcm9vdC1hbHNvLWluLVNQTElOVE9QVFMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQxMzRmNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1TQ29uc3RydWN0LXJlc3BlY3Qtc3lzcm9vdC1hbHNvLWluLVNQTElOVE9QVFMucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSAzYzVmYjNhODY5MWFjNzExZWE5M2VkZjhlMGI0MmJmZmM2MmIxOTdlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNCBBcHIgMjAxMiAxMTo1MjozNSArMDIwMAorU3ViamVjdDogW1BBVENIIDEvNF0gU0NvbnN0cnVjdDogcmVzcGVjdCBzeXNyb290IGFsc28gaW4gU1BMSU5UT1BUUworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBEZW5pcyAnR05VdG9vJyBDYXJpa2xpIDxHTlV0b29Abm8tbG9nLm9yZz4KK1NpZ25lZC1vZmYtYnk6IFBldGVyIEEuIEJpZ290IDxwYWJAcGFiaWdvdC5jb20+CistLS0KKyBTQ29uc3RydWN0IHwgNSArKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL1NDb25zdHJ1Y3QgYi9TQ29uc3RydWN0CitpbmRleCAxNGUyZjU5Li5mMGNhZmE4IDEwMDY0NAorLS0tIGEvU0NvbnN0cnVjdAorKysrIGIvU0NvbnN0cnVjdAorQEAgLTE0MTQsNyArMTQxNCwxMCBAQCBkZWYgVXRpbGl0eSh0YXJnZXQsIHNvdXJjZSwgYWN0aW9uKToKKyAjIFJlcG9ydCBzcGxpbnQgd2FybmluZ3MKKyAjIE5vdGU6IHRlc3RfYml0cy5jIGlzIHVuc3BsaW50YWJsZSBiZWNhdXNlIG9mIHRoZSBQUkk2NCBtYWNyb3MuCisgIyBJZiB5b3UgZ2V0IHByZXByb2Nlc3NvciBvciBmYXRhbCBlcnJvcnMsIGFkZCArc2hvd3NjYW4uCistc3BsaW50b3B0cyA9ICItSS91c3IvaW5jbHVkZS9saWJ1c2ItMS4wICtxdWlldCIKKytpZiBub3QgZW52WydzeXNyb290J106CisrICAgIHNwbGludG9wdHMgPSAiLUkvdXNyL2luY2x1ZGUvbGlidXNiLTEuMCArcXVpZXQiCisrZWxzZToKKysgICAgc3BsaW50b3B0cyA9ICItSSVzL3Vzci9pbmNsdWRlL2xpYnVzYi0xLjAgK3F1aWV0IiAlIGVudlsnc3lzcm9vdCddCisgIyBzcGxpbnQgZG9lcyBub3Qga25vdyBhYm91dCBtdWx0aS1hcmNoLCB3b3JrIGFyb3VuZCB0aGF0CisgbWFfc3RhdHVzLCBtYSA9IF9nZXRzdGF0dXNvdXRwdXQoJ2Rwa2ctYXJjaGl0ZWN0dXJlIC1xREVCX0hPU1RfTVVMVElBUkNIJykKKyBpZiBtYV9zdGF0dXMgPT0gMDoKKy0tIAorMS44LjUuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtbGliZ3BzZC1jb3JlLUZpeC1pc3N1ZS13aXRoLUFDVElWQVRFLWhvb2stbm90LWJlaW5nLS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMS1saWJncHNkLWNvcmUtRml4LWlzc3VlLXdpdGgtQUNUSVZBVEUtaG9vay1ub3QtYmVpbmctLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhMDY3OTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDEtbGliZ3BzZC1jb3JlLUZpeC1pc3N1ZS13aXRoLUFDVElWQVRFLWhvb2stbm90LWJlaW5nLS5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDZmZjA5OWIxYmE4ZGU3NGRmOWRkZWI2MWUzODI1MjY0Yjk2ZWY2OTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNb3JpdHogRmlzY2hlciA8bW9yaXR6LmZpc2NoZXJAZXR0dXMuY29tPgorRGF0ZTogVHVlLCAyMiBEZWMgMjAxNSAxOTozODozMSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBsaWJncHNkLWNvcmU6IEZpeCBpc3N1ZSB3aXRoIEFDVElWQVRFIGhvb2sgbm90IGJlaW5nIGNhbGxlZC4KKworSW4gdGhlIGN1cnJlbnQgc3lzdGVtIHNlc3Npb24tPm1vZGUgc2VlbWVkIHRvIGlnbm9yZSB0aGUKK09fT1BUSU1JWkUgZmxhZywgbGVhZGluZyB0byB0aGUgQUNUSVZBVEUgaG9vayBiZWluZyBpZ25vcmVkLgorCitBbm90aGVyIHdheSB0byBmaXggdGhpcyB3b3VsZCBiZSB0byBrZWVwIHRoZSBzZXNzaW9uLT5tb2RlCitjb25kaXRpb24gcHVsbCB1cCB0aGUgY2hlY2sgZm9yIE9fQ09OVElOVUUuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnRlZAorVGhpcyBwYXRjaCBpcyBpbiB1cHN0cmVhbSBnaXQKKworU2lnbmVkLW9mZi1ieTogTW9yaXR6IEZpc2NoZXIgPG1vcml0ei5maXNjaGVyQGV0dHVzLmNvbT4KKy0tLQorIGxpYmdwc2RfY29yZS5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliZ3BzZF9jb3JlLmMgYi9saWJncHNkX2NvcmUuYworaW5kZXggMzFmZWMyYS4uYTg0ZTg1ZiAxMDA2NDQKKy0tLSBhL2xpYmdwc2RfY29yZS5jCisrKysgYi9saWJncHNkX2NvcmUuYworQEAgLTU0Myw3ICs1NDMsNyBAQCBpbnQgZ3BzZF9vcGVuKHN0cnVjdCBncHNfZGV2aWNlX3QgKnNlc3Npb24pCisgaW50IGdwc2RfYWN0aXZhdGUoc3RydWN0IGdwc19kZXZpY2VfdCAqc2Vzc2lvbiwgY29uc3QgaW50IG1vZGUpCisgLyogYWNxdWlyZSBhIGNvbm5lY3Rpb24gdG8gdGhlIEdQUyBkZXZpY2UgKi8KKyB7CistICAgIGlmIChzZXNzaW9uLT5tb2RlID09IE9fT1BUSU1JWkUpCisrICAgIGlmIChtb2RlID09IE9fT1BUSU1JWkUpCisgCWdwc2RfcnVuX2RldmljZV9ob29rKCZzZXNzaW9uLT5jb250ZXh0LT5lcnJvdXQsCisgCQkJICAgICBzZXNzaW9uLT5ncHNkYXRhLmRldi5wYXRoLCAiQUNUSVZBVEUiKTsKKyAgICAgc2Vzc2lvbi0+Z3BzZGF0YS5ncHNfZmQgPSBncHNkX29wZW4oc2Vzc2lvbik7CistLSAKKzIuNC4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMi1BZGQtYS10ZXN0LWZvci1DMTEtYW5kLWNoZWNrLXdlLWhhdmUtQzExLWJlZm9yZS11c2luLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAyLUFkZC1hLXRlc3QtZm9yLUMxMS1hbmQtY2hlY2std2UtaGF2ZS1DMTEtYmVmb3JlLXVzaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJlZTFiZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMi1BZGQtYS10ZXN0LWZvci1DMTEtYW5kLWNoZWNrLXdlLWhhdmUtQzExLWJlZm9yZS11c2luLnBhdGNoCkBAIC0wLDAgKzEsNTcgQEAKK0Zyb20gOTk0NDRiM2QyYzRhNGY3ZmQ3MTI4ZTYwNDYxMDA1NzgwZDBjNWM4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJHYXJ5IEUuIE1pbGxlciIgPGdlbUByZWxsaW0uY29tPgorRGF0ZTogU3VuLCAxNSBNYXIgMjAxNSAxMjowNToxNSAtMDcwMAorU3ViamVjdDogW1BBVENIIDIvM10gQWRkIGEgdGVzdCBmb3IgQzExIGFuZCBjaGVjayB3ZSBoYXZlIEMxMSBiZWZvcmUgdXNpbmcKKyBzdGRhdG9taWMuaAorCistLS0KKyBTQ29uc3RydWN0IHwgMTkgKysrKysrKysrKysrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9TQ29uc3RydWN0IGIvU0NvbnN0cnVjdAoraW5kZXggNTY2YzE0YS4uZmFhODY1MSAxMDA2NDQKKy0tLSBhL1NDb25zdHJ1Y3QKKysrKyBiL1NDb25zdHJ1Y3QKK0BAIC00NzMsNiArNDczLDIwIEBAIGRlZiBDaGVja0NvbXBpbGVyRGVmaW5lcyhjb250ZXh0LCBkZWZpbmUpOgorICAgICBjb250ZXh0LlJlc3VsdChyZXQpCisgICAgIHJldHVybiByZXQKKyAKKysjIENoZWNrIGlmIHRoaXMgY29tcGlsZXIgaXMgQzExIG9yIGJldHRlcgorK2RlZiBDaGVja0MxMShjb250ZXh0KToKKysgICAgY29udGV4dC5NZXNzYWdlKCAnQ2hlY2tpbmcgaWYgY29tcGlsZXIgaXMgQzExIC4uLicgKQorKyAgICByZXQgPSBjb250ZXh0LlRyeUxpbmsoIiIiCisrCSNpZiAoX19TVERDX1ZFUlNJT05fXyA8IDIwMTExMkwpIAorKyAgICAgICAgI2Vycm9yIE5vdCBDMTEKKysgICAgICAgICNlbmRpZgorKyAgICAgICAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisrICAgICAgICAgICAgcmV0dXJuIDA7CisrICAgICAgICB9CisrICAgICIiIiwnLmMnKQorKyAgICBjb250ZXh0LlJlc3VsdChyZXQpCisrICAgIHJldHVybiByZXQKKysKKyBkZWYgR2V0TG9hZFBhdGgoY29udGV4dCk6CisgICAgIGNvbnRleHQuTWVzc2FnZSgiR2V0dGluZyBzeXN0ZW0gbG9hZCBwYXRoIC4uLiIpCisgCitAQCAtNDkxLDYgKzUwNSw3IEBAIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoZWNrWHNsdHByb2MnIDogQ2hlY2tYc2x0cHJvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2hlY2tDb21waWxlck9wdGlvbicgOiBDaGVja0NvbXBpbGVyT3B0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDaGVja0NvbXBpbGVyRGVmaW5lcycgOiBDaGVja0NvbXBpbGVyRGVmaW5lcywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ2hlY2tDMTEnIDogQ2hlY2tDMTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NoZWNrSGVhZGVyRGVmaW5lcycgOiBDaGVja0hlYWRlckRlZmluZXN9KQorIAorIAorQEAgLTYzMyw3ICs2NDgsOSBAQCBlbHNlOgorICAgICAgICAgYW5ub3VuY2UoIllvdSBkbyBub3QgaGF2ZSBrZXJuZWwgQ0FOYnVzIGF2YWlsYWJsZS4iKQorICAgICAgICAgZW52WyJubWVhMjAwMCJdID0gRmFsc2UKKyAKKy0gICAgaWYgbm90IGNvbmZpZy5DaGVja0NvbXBpbGVyRGVmaW5lcygiX19TVERDX05PX0FUT01JQ1NfXyIpIGFuZCBjb25maWcuQ2hlY2tIZWFkZXIoInN0ZGF0b21pYy5oIik6CisrICAgICMgY2hlY2sgZm9yIEMxMSBvciBiZXR0ZXIsIGFuZCBfX1NURENfX05PX0FUT01JQ1NfXyBpcyBubyBkZWZpbmVkCisrICAgICMgYmVmb3JlIGxvb2tpbmcgZm9yIHN0ZGF0b21pYy5oCisrICAgIGlmIG5vdCBjb25maWcuQ2hlY2tDMTEoKSBhbmQgIG5vdCBjb25maWcuQ2hlY2tDb21waWxlckRlZmluZXMoIl9fU1REQ19OT19BVE9NSUNTX18iKSBhbmQgY29uZmlnLkNoZWNrSGVhZGVyKCJzdGRhdG9taWMuaCIpOgorICAgICAgICAgY29uZmRlZnMuYXBwZW5kKCIjZGVmaW5lIEhBVkVfU1REQVRPTUlDX0ggMVxuIikKKyAgICAgZWxzZToKKyAJY29uZmRlZnMuYXBwZW5kKCIvKiAjdW5kZWYgSEFWRV9TVERBVE9NSUNfSCAqL1xuIikKKy0tIAorMi4xLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAyLVNDb25zdHJ1Y3QtcmVtb3ZlLXJwYXRoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAyLVNDb25zdHJ1Y3QtcmVtb3ZlLXJwYXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4M2E2NjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDItU0NvbnN0cnVjdC1yZW1vdmUtcnBhdGgucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRnJvbSBkMDkwNjM4ZmY5ODNlNTA5MTYyZDVlM2I2MmFhNDkxOGRlNGFhNWZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNCBBcHIgMjAxMiAxNjoyNDozNSArMDIwMAorU3ViamVjdDogW1BBVENIIDIvNF0gU0NvbnN0cnVjdDogcmVtb3ZlIHJwYXRoCisKKyogZXZlbiB3aXRoIGNvcnJlY3QgcHJlZml4ICh3aXRob3V0IERFU1RESVIpIGluY2x1ZGVkIGl0J3MgcmVkdW5kYW50CisgIFdBUk5JTkc6IFFBIElzc3VlOiBsaWJncHM6CisgIC93b3JrL2FybXY0dC1vZS1saW51eC1nbnVlYWJpL2dwc2QvZ3BzZC0zLjUtcjAvcGFja2FnZXMtc3BsaXQvbGliZ3BzL3Vzci9saWIvbGliZ3BzLnNvLjIwLjAKKyAgY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIIC91c3IvbGliCisqIGFuZCB3aXRoIHByZWZpeCBmcm9tIHNjb25zLmJiY2xhc3MgaXQncyBpbnZhbGlkCisgIFdBUk5JTkc6IFFBIElzc3VlOiBwYWNrYWdlIGxpYmdwcyBjb250YWlucyBiYWQgUlBBVEgKKyAgL09FL3Noci1jb3JlL3RtcC1lZ2xpYmMvd29yay9hcm12NHQtb2UtbGludXgtZ251ZWFiaS9ncHNkL2dwc2QtMy41LXIwL2ltYWdlL3Vzci9saWIKKyAgaW4gZmlsZQorICAvT0Uvc2hyLWNvcmUvdG1wLWVnbGliYy93b3JrL2FybXY0dC1vZS1saW51eC1nbnVlYWJpL2dwc2QvZ3BzZC0zLjUtcjAvcGFja2FnZXMtc3BsaXQvbGliZ3BzL3Vzci9saWIvbGliZ3BzLnNvLjIwLjAKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IERlbmlzICdHTlV0b28nIENhcmlrbGkgPEdOVXRvb0Buby1sb2cub3JnPgorU2lnbmVkLW9mZi1ieTogUGV0ZXIgQS4gQmlnb3QgPHBhYkBwYWJpZ290LmNvbT4KKy0tLQorIFNDb25zdHJ1Y3QgfCA3ICsrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvU0NvbnN0cnVjdCBiL1NDb25zdHJ1Y3QKK2luZGV4IGYwY2FmYTguLmZmNDY3MTMgMTAwNjQ0CistLS0gYS9TQ29uc3RydWN0CisrKysgYi9TQ29uc3RydWN0CitAQCAtMTM0MCw4ICsxMzQwLDExIEBAIGlmIHF0X2VudjoKKyAgICAgYmluYXJ5aW5zdGFsbC5hcHBlbmQoTGlicmFyeUluc3RhbGwocXRfZW52LCBpbnN0YWxsZGlyKCdsaWJkaXInKSwgY29tcGlsZWRfcWdwc21tbGliKSkKKyAKKyBpZiBlbnZbInNoYXJlZCJdIGFuZCBlbnZbImNocnBhdGgiXToKKy0gICAgZW52LkFkZFBvc3RBY3Rpb24oYmluYXJ5aW5zdGFsbCwgJyRDSFJQQVRIIC1yICIlcyIgIiRUQVJHRVQiJyBcCistICAgICAgICAgICAgICAgICAgICAgICUgKGluc3RhbGxkaXIoJ2xpYmRpcicsIEZhbHNlKSwgKSkKKysgICAgaWYgbm90IGVudlsnc3lzcm9vdCddOgorKyAgICAgICAgZW52LkFkZFBvc3RBY3Rpb24oYmluYXJ5aW5zdGFsbCwgJyRDSFJQQVRIIC1yICIlcyIgIiRUQVJHRVQiJyBcCisrICAgICAgICAgICAgICAgICAgICAgICAgICAlIChpbnN0YWxsZGlyKCdsaWJkaXInLCBGYWxzZSksICkpCisrICAgIGVsc2U6CisrICAgICAgICBlbnYuQWRkUG9zdEFjdGlvbihiaW5hcnlpbnN0YWxsLCAnJENIUlBBVEggLWQgIiRUQVJHRVQiJykKKyAKKyBpZiBub3QgZW52WydkZWJ1ZyddIGFuZCBub3QgZW52Wydwcm9maWxpbmcnXSBhbmQgZW52WydzdHJpcCddOgorICAgICBlbnYuQWRkUG9zdEFjdGlvbihiaW5hcnlpbnN0YWxsLCAnJFNUUklQICRUQVJHRVQnKQorLS0gCisxLjguNS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMy1XaG9vcHMtY2hlY2stZm9yLUMxMS1ub3QtZm9yLW5vdC1DMTEtaW4tc3RkYXRvbWljLmgtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDAzLVdob29wcy1jaGVjay1mb3ItQzExLW5vdC1mb3Itbm90LUMxMS1pbi1zdGRhdG9taWMuaC0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJiMDkyOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLTMuMTQvMDAwMy1XaG9vcHMtY2hlY2stZm9yLUMxMS1ub3QtZm9yLW5vdC1DMTEtaW4tc3RkYXRvbWljLmgtLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gNjc0YzUwZWU1NGZkN2NkMzA0ZThiM2M0YjMzZDNmZjEyNzJlZDE5MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJHYXJ5IEUuIE1pbGxlciIgPGdlbUByZWxsaW0uY29tPgorRGF0ZTogU3VuLCAxNSBNYXIgMjAxNSAxMjoxNzo1MSAtMDcwMAorU3ViamVjdDogW1BBVENIIDMvM10gV2hvb3BzLCBjaGVjayBmb3IgQzExLCBub3QgZm9yIG5vdCBDMTEgaW4gc3RkYXRvbWljLmgKKyB0ZXN0LgorCistLS0KKyBTQ29uc3RydWN0IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvU0NvbnN0cnVjdCBiL1NDb25zdHJ1Y3QKK2luZGV4IGZhYTg2NTEuLmY0ZWExNDUgMTAwNjQ0CistLS0gYS9TQ29uc3RydWN0CisrKysgYi9TQ29uc3RydWN0CitAQCAtNjUwLDcgKzY1MCw3IEBAIGVsc2U6CisgCisgICAgICMgY2hlY2sgZm9yIEMxMSBvciBiZXR0ZXIsIGFuZCBfX1NURENfX05PX0FUT01JQ1NfXyBpcyBubyBkZWZpbmVkCisgICAgICMgYmVmb3JlIGxvb2tpbmcgZm9yIHN0ZGF0b21pYy5oCistICAgIGlmIG5vdCBjb25maWcuQ2hlY2tDMTEoKSBhbmQgIG5vdCBjb25maWcuQ2hlY2tDb21waWxlckRlZmluZXMoIl9fU1REQ19OT19BVE9NSUNTX18iKSBhbmQgY29uZmlnLkNoZWNrSGVhZGVyKCJzdGRhdG9taWMuaCIpOgorKyAgICBpZiBjb25maWcuQ2hlY2tDMTEoKSBhbmQgIG5vdCBjb25maWcuQ2hlY2tDb21waWxlckRlZmluZXMoIl9fU1REQ19OT19BVE9NSUNTX18iKSBhbmQgY29uZmlnLkNoZWNrSGVhZGVyKCJzdGRhdG9taWMuaCIpOgorICAgICAgICAgY29uZmRlZnMuYXBwZW5kKCIjZGVmaW5lIEhBVkVfU1REQVRPTUlDX0ggMVxuIikKKyAgICAgZWxzZToKKyAJY29uZmRlZnMuYXBwZW5kKCIvKiAjdW5kZWYgSEFWRV9TVERBVE9NSUNfSCAqL1xuIikKKy0tIAorMi4xLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDA0LVNDb25zdHJ1Y3QtZGlzYWJsZS1odG1sLWFuZC1tYW4tZG9jcy1idWlsZGluZy1iZWNhdXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC0zLjE0LzAwMDQtU0NvbnN0cnVjdC1kaXNhYmxlLWh0bWwtYW5kLW1hbi1kb2NzLWJ1aWxkaW5nLWJlY2F1cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTI3ZjBkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtMy4xNC8wMDA0LVNDb25zdHJ1Y3QtZGlzYWJsZS1odG1sLWFuZC1tYW4tZG9jcy1idWlsZGluZy1iZWNhdXMucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSA2OTdlMmU5ZmY5NzQ4NzI2NmQ4MTdjZGQ0MWJhY2M4M2Y2ODFlM2Q3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogU3VuLCAyOSBBcHIgMjAxMiAwMDowNTo1OSArMDIwMAorU3ViamVjdDogW1BBVENIIDQvNF0gU0NvbnN0cnVjdDogZGlzYWJsZSBodG1sIGFuZCBtYW4gZG9jcyBidWlsZGluZyBiZWNhdXNlCisgeG1sdG8tbmF0aXZlIGZyb20gT0UgaXMgYnJva2VuCisKK0l0IHdpbGwgdHJ5IHRvIGxvYWQgZHRkIGFuZCBmYWlsOgorfCB4bWx0byBtYW4gZ3BzY3RsLnhtbDsgbXYgYGJhc2VuYW1lIGdwc2N0bC4xYCBncHNjdGwuMQorfCB4bWx0bzogL3Zhci9saWIvamVua2lucy9qb2JzL3Noci1jb3JlLWJyYW5jaGVzL3dvcmtzcGFjZS9zaHItY29yZS90bXAtZWdsaWJjL3dvcmsvYXJtdjR0LW9lLWxpbnV4LWdudWVhYmkvZ3BzZC0zLjQtcjIvZ3BzZC0zLjQvZ3BzY3RsLnhtbCBkb2VzIG5vdCB2YWxpZGF0ZSAoc3RhdHVzIDMpCit8IHhtbHRvOiBGaXggZG9jdW1lbnQgc3ludGF4IG9yIHVzZSAtLXNraXAtdmFsaWRhdGlvbiBvcHRpb24KK3wgSS9PIGVycm9yIDogQXR0ZW1wdCB0byBsb2FkIG5ldHdvcmsgZW50aXR5IGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkCit8IC92YXIvbGliL2plbmtpbnMvam9icy9zaHItY29yZS1icmFuY2hlcy93b3Jrc3BhY2Uvc2hyLWNvcmUvdG1wLWVnbGliYy93b3JrL2FybXY0dC1vZS1saW51eC1nbnVlYWJpL2dwc2QtMy40LXIyL2dwc2QtMy40L2dwc2N0bC54bWw6ODogd2FybmluZzogZmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgZW50aXR5ICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZCIKK3wgICAgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkIj4KK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCit8IEkvTyBlcnJvciA6IEF0dGVtcHQgdG8gbG9hZCBuZXR3b3JrIGVudGl0eSBodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZAorfCB3YXJuaW5nOiBmYWlsZWQgdG8gbG9hZCBleHRlcm5hbCBlbnRpdHkgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkIgorfCB2YWxpZGl0eSBlcnJvciA6IENvdWxkIG5vdCBsb2FkIHRoZSBleHRlcm5hbCBzdWJzZXQgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkIgorfCBEb2N1bWVudCAvdmFyL2xpYi9qZW5raW5zL2pvYnMvc2hyLWNvcmUtYnJhbmNoZXMvd29ya3NwYWNlL3Noci1jb3JlL3RtcC1lZ2xpYmMvd29yay9hcm12NHQtb2UtbGludXgtZ251ZWFiaS9ncHNkLTMuNC1yMi9ncHNkLTMuNC9ncHNjdGwueG1sIGRvZXMgbm90IHZhbGlkYXRlCit8IG12OiBjYW5ub3Qgc3RhdCBgZ3BzY3RsLjEnOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cit8IHNjb25zOiAqKiogW2dwc2N0bC4xXSBFcnJvciAxCit8IHNjb25zOiBidWlsZGluZyB0ZXJtaW5hdGVkIGJlY2F1c2Ugb2YgZXJyb3JzLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Rpc2FibGUgZmVhdHVyZV0KKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogUGV0ZXIgQS4gQmlnb3QgPHBhYkBwYWJpZ290LmNvbT4KKy0tLQorIFNDb25zdHJ1Y3QgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvU0NvbnN0cnVjdCBiL1NDb25zdHJ1Y3QKK2luZGV4IDBlNTE4ZTcuLmMwMWE3MWIgMTAwNjQ0CistLS0gYS9TQ29uc3RydWN0CisrKysgYi9TQ29uc3RydWN0CitAQCAtNzA0LDEyICs3MDQsMTIgQEAgc2l6ZV90IHN0cmxjcHkoLypAb3V0QCovY2hhciAqZHN0LCAvKkBpbkAqL2NvbnN0IGNoYXIgKnNyYywgc2l6ZV90IHNpemUpOworIAorICAgICBtYW5idWlsZGVyID0gbWFuZ2VuZXJhdG9yID0gaHRtbGJ1aWxkZXIgPSBOb25lCisgICAgIGlmIGVudlsnbWFuYnVpbGQnXToKKy0gICAgICAgIGlmIGNvbmZpZy5DaGVja1hzbHRwcm9jKCk6CisrICAgICAgICBpZiBGYWxzZSBhbmQgY29uZmlnLkNoZWNrWHNsdHByb2MoKToKKyAgICAgICAgICAgICBtYW5nZW5lcmF0b3IgPSAneHNsdHByb2MnCisgICAgICAgICAgICAgYnVpbGQgPSAieHNsdHByb2MgLS1ub25ldCAlcyAkU09VUkNFID4kVEFSR0VUIgorICAgICAgICAgICAgIGh0bWxidWlsZGVyID0gYnVpbGQgJSBkb2Nib29rX2h0bWxfdXJpCisgICAgICAgICAgICAgbWFuYnVpbGRlciA9IGJ1aWxkICUgZG9jYm9va19tYW5fdXJpCistICAgICAgICBlbGlmIFdoZXJlSXMoInhtbHRvIik6CisrICAgICAgICBlbGlmIEZhbHNlIGFuZCBXaGVyZUlzKCJ4bWx0byIpOgorICAgICAgICAgICAgIG1hbmdlbmVyYXRvciA9ICd4bWx0bycKKyAgICAgICAgICAgICB4bWx0byA9ICJ4bWx0byAlcyAkU09VUkNFIHx8IG12IGBiYXNlbmFtZSAkVEFSR0VUYCBgZGlybmFtZSAkVEFSR0VUYCIKKyAgICAgICAgICAgICBodG1sYnVpbGRlciA9IHhtbHRvICUgImh0bWwtbm9jaHVua3MiCistLSAKKzEuOC41LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QtbWFjaGluZS1jb25mXzEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLW1hY2hpbmUtY29uZl8xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDAyM2M1ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLW1hY2hpbmUtY29uZl8xLjAuYmIKQEAgLTAsMCArMSw3IEBACitTVU1NQVJZID0gIk1hY2hpbmUgc3BlY2lmaWMgZ3BzZCBjb25maWciCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL0JTRDttZDU9Mzc3NTQ4MGE3MTJmYzQ2YTY5NjQ3Njc4YWNiMjM0Y2IiCisKKyMgZW1wdHkgYnkgZGVmYXVsdAorIyBCU1AgbGF5ZXJzIGNhbiBhZGQgc3R1ZmYgbGlrZSBtZXRhLW9wZW5tb2tvIGV4YW1wbGU6CisjIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QvNjAtZ3BzZC5ydWxlcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLzYwLWdwc2QucnVsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjExNDNiOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkLzYwLWdwc2QucnVsZXMKQEAgLTAsMCArMSw0NyBAQAorIyB1ZGV2IHJ1bGVzIGZvciBncHNkCisjICRJZCQKKyMKKyMgR1BTZXMgZG9uJ3QgaGF2ZSB0aGVpciBvd24gVVNCIGRldmljZSBjbGFzcy4gIFRoZXkncmUgc2VyaWFsLW92ZXItVVNCCisjIGRldmljZXMsIHNvIHdoYXQgeW91IHNlZSBpcyBhY3R1YWxseSB0aGUgSUQgb2YgdGhlIHNlcmlhbC1vdmVyLVVTQiBjaGlwLgorIyBGb3J0dW5hdGVseSwganVzdCB0d28gb2YgdGhlc2UgYWNjb3VudCBmb3Igb3ZlciA4MCUgb2YgY29uc3VtZXItZ3JhZGUKKyMgR1BTIHNlbnNvcnMuICBUaGUgZ3BzZC5ob3RwbHVnLndyYXBwZXIgc2NyaXB0IHdpbGwgdGVsbCBhIHJ1bm5pbmcgZ3BzZAorIyB0aGF0IGl0IHNob3VsZCBsb29rIGF0IHRoZSBkZXZpY2UgdGhhdCBqdXN0IHdlbnQgYWN0aXZlLCBiZWNhdXNlIGl0CisjIG1pZ2h0IGJlIGEgR1BTLgorIworIyBUaGUgZm9sbG93aW5nIHNldHVwIHdvcmtzIG9uIERlYmlhbiAtIHNvbWV0aGluZyBzaW1pbGFyIHdpbGwgYXBwbHkgb24gCisjIG90aGVyIGRpc3RyaWJ1dGlvbnM6CisjIAorIyAgIC9ldGMvdWRldi9ncHNkLnJ1bGVzCisjICAgL2V0Yy91ZGV2L3J1bGVzLmQvMDI1X2dwc2QucnVsZXMgLT4gLi4vZ3BzZC5ydWxlcworIyAgIC9saWIvdWRldi9ncHNkLmhvdHBsdWcud3JhcHBlcgorIyAgIC9saWIvdWRldi9ncHNkLmhvdHBsdWcKKyMgCisjIFNldHRpbmcgdGhlIGxpbmsgaW4gL2V0Yy91ZGV2L3J1bGVzLmQgYWN0aXZhdGVzIHRoZSBydWxlIGFuZCBkZXRlcm1pbmVzCisjIHdoZW4gdG8gcnVuIGl0IG9uIGJvb3QgKHNpbWlsYXIgdG8gaW5pdC5kIHByb2Nlc3NpbmcpLgorCitTVUJTWVNURU0hPSJ0dHkiLCBHT1RPPSJncHNkX3J1bGVzX2VuZCIKKworIyBQcm9saWZpYyBUZWNobm9sb2d5LCBJbmMuIFBMMjMwMyBTZXJpYWwgUG9ydAorQVRUUntpZFZlbmRvcn09PSIwNjdiIiwgQVRUUntpZFByb2R1Y3R9PT0iMjMwMyIsIFNZTUxJTksrPSJncHMlbiIsIFJVTis9Ii9saWIvdWRldi9ncHNkLmhvdHBsdWcud3JhcHBlciIKKyMgQVRFTiBJbnRlcm5hdGlvbmFsIENvLiwgTHRkIFVDLTIzMkEgU2VyaWFsIFBvcnQgW3BsMjMwM10KK0FUVFJ7aWRWZW5kb3J9PT0iMDU1NyIsIEFUVFJ7aWRQcm9kdWN0fT09IjIwMDgiLCBTWU1MSU5LKz0iZ3BzJW4iLCBSVU4rPSIvbGliL3VkZXYvZ3BzZC5ob3RwbHVnLndyYXBwZXIiCisjIEZUREkgOFUyMzJBTQorQVRUUntpZFZlbmRvcn09PSIwNDAzIiwgQVRUUntpZFByb2R1Y3R9PT0iNjAwMSIsIFNZTUxJTksrPSJncHMlbiIsIFJVTis9Ii9saWIvdWRldi9ncHNkLmhvdHBsdWcud3JhcHBlciIKKyMgQ3lwcmVzcyBNOC9DWTdDNjQwMTMgKERlTG9ybWUgdXNlcyB0aGVzZSkKK0FUVFJ7aWRWZW5kb3J9PT0iMTE2MyIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxMDAiLCBTWU1MSU5LKz0iZ3BzJW4iLCBSVU4rPSIvbGliL3VkZXYvZ3BzZC5ob3RwbHVnLndyYXBwZXIiCisjIFBTLTM2MCBPRU0gKE1pY3Jvc29mdCBHUFMgc29sZCB3aXRoIFN0cmVldCBhbmQgVHJpcHMgMjAwNSkKK0FUVFJ7aWRWZW5kb3J9PT0iMDY3YiIsIEFUVFJ7aWRQcm9kdWN0fT09ImFhYTAiLCBTWU1MSU5LKz0iZ3BzJW4iLCBSVU4rPSIvbGliL3VkZXYvZ3BzZC5ob3RwbHVnLndyYXBwZXIiCisjIEdhcm1pbiBJbnRlcm5hdGlvbmFsIEdQU21hcCwgdmFyaW91cyBtb2RlbHMgKHRlc3RlZCB3aXRoIEdhcm1pbiBHUFMgMTggVVNCKQorQVRUUntpZFZlbmRvcn09PSIwOTFlIiwgQVRUUntpZFByb2R1Y3R9PT0iMDAwMyIsIFNZTUxJTksrPSJncHMlbiIsIFJVTis9Ii9saWIvdWRldi9ncHNkLmhvdHBsdWcud3JhcHBlciIKKyMgQ3lnbmFsIEludGVncmF0ZWQgUHJvZHVjdHMsIEluYy4gQ1AyMTB4IENvbXBvc2l0ZSBEZXZpY2UgKFVzZWQgYnkgSG9sdXggbTI0MSkKK0FUVFJ7aWRWZW5kb3J9PT0iMTBjNCIsIEFUVFJ7aWRQcm9kdWN0fT09ImVhNjAiLCBTWU1MSU5LKz0iZ3BzJW4iLCBSVU4rPSIvbGliL3VkZXYvZ3BzZC5ob3RwbHVnLndyYXBwZXIiCisjIHUtYmxveCBBRywgdS1ibG94IDUgKHRlc3RlZCB3aXRoIE5hdmlsb2NrIE5MLTQwMlUpCitBVFRSe2lkVmVuZG9yfT09IjE1NDYiLCBBVFRSe2lkUHJvZHVjdH09PSIwMWE1IiwgU1lNTElOSz0iZ3BzJW4iLCBSVU4rPSIvbGliL3VkZXYvZ3BzZC5ob3RwbHVnLndyYXBwZXIiCisjIEZUREkgRlQyMzIKK0FUVFJ7aWRWZW5kb3J9PT0iMDQwMyIsIEFUVFJ7aWRQcm9kdWN0fT09IjYwMDEiLCBTWU1MSU5LPSJncHMlbiIsIFJVTis9Ii9saWIvdWRldi9ncHNkLmhvdHBsdWcud3JhcHBlciIKKyMgdS1ibG94IDQKK0FUVFJ7aWRWZW5kb3J9PT0iMTU0NiIsIEFUVFJ7aWRQcm9kdWN0fT09IjAxYTQiLCBTWU1MSU5LPSJncHMlbiIsIFJVTis9Ii9saWIvdWRldi9ncHNkLmhvdHBsdWcud3JhcHBlciIKKworQUNUSU9OPT0icmVtb3ZlIiwgUlVOKz0iL2xpYi91ZGV2L2dwc2QuaG90cGx1Zy53cmFwcGVyIgorCitMQUJFTD0iZ3BzZF9ydWxlc19lbmQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC9ncHNkIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QvZ3BzZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYTczZGFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QvZ3BzZApAQCAtMCwwICsxLDEzNiBAQAorIyEvYmluL3NoCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiAgICAgICAgICBncHNkCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkcmVtb3RlX2ZzICRuZXR3b3JrCisjIFNob3VsZC1TdGFydDogICAgICBibHVldG9vdGggZGJ1cyB1ZGV2CisjIFJlcXVpcmVkLVN0b3A6ICAgICAkcmVtb3RlX2ZzICRuZXR3b3JrCisjIERlZmF1bHQtU3RhcnQ6ICAgICAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDogICAgICAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogR1BTIChHbG9iYWwgUG9zaXRpb25pbmcgU3lzdGVtKSBkYWVtb24gc3RhcnQvc3RvcCBzY3JpcHQKKyMgRGVzY3JpcHRpb246ICAgICAgIFN0YXJ0L1N0b3Agc2NyaXB0IGZvciB0aGUgZ3BzZCBzZXJ2aWNlIGRhZW1vbiwKKyMgICAgICAgICAgICAgICAgICAgIHdoaWNoIGlzIGFibGUgdG8gbW9uaXRvciBvbmUgb3IgbW9yZSBHUFMgZGV2aWNlcworIyAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkIHRvIGEgaG9zdCBjb21wdXRlciwgbWFraW5nIGFsbCBkYXRhIG9uCisjICAgICAgICAgICAgICAgICAgICB0aGUgbG9jYXRpb24gYW5kIG1vdmVtZW50cyBvZiB0aGUgc2Vuc29ycyBhdmFpbGFibGUKKyMgICAgICAgICAgICAgICAgICAgIHRvIGJlIHF1ZXJpZWQgb24gVENQIHBvcnQgMjk0Ny4KKyMjIyBFTkQgSU5JVCBJTkZPCisKKyMgQXV0aG9yOiBCZXJuZCBaZWltZXR6IDxiemVkQGRlYmlhbi5vcmc+CisjCisjIFBsZWFzZSByZW1vdmUgdGhlICJBdXRob3IiIGxpbmVzIGFib3ZlIGFuZCByZXBsYWNlIHRoZW0KKyMgd2l0aCB5b3VyIG93biBuYW1lIGlmIHlvdSBjb3B5IGFuZCBtb2RpZnkgdGhpcyBzY3JpcHQuCisKKyMgRG8gTk9UICJzZXQgLWUiCisKKyMgUEFUSCBzaG91bGQgb25seSBpbmNsdWRlIC91c3IvKiBpZiBpdCBydW5zIGFmdGVyIHRoZSBtb3VudG5mcy5zaCBzY3JpcHQKK1BBVEg9L3NiaW46L3Vzci9zYmluOi9iaW46L3Vzci9iaW4KK0RFU0M9IkdQUyAoR2xvYmFsIFBvc2l0aW9uaW5nIFN5c3RlbSkgZGFlbW9uIgorTkFNRT1ncHNkCitEQUVNT049L3Vzci9zYmluLyROQU1FCitQSURGSUxFPS92YXIvcnVuLyROQU1FLnBpZAorU0NSSVBUTkFNRT0vZXRjL2luaXQuZC8kTkFNRQorCisjIEV4aXQgaWYgdGhlIHBhY2thZ2UgaXMgbm90IGluc3RhbGxlZAorWyAteCAiJERBRU1PTiIgXSB8fCBleGl0IDAKKworIyBSZWFkIGNvbmZpZ3VyYXRpb24sIGlmIHByZXNlbnQKK1sgLXIgL2V0Yy9kZWZhdWx0LyROQU1FIF0gJiYgLiAvZXRjL2RlZmF1bHQvJE5BTUUKKworaWYgWyAteiAiJEdQU0RfU09DS0VUIiBdICYmIFsgLXogIiRERVZJQ0VTIiBdOyB0aGVuCisJR1BTRF9TT0NLRVQ9L3Zhci9ydW4vZ3BzZC5zb2NrCitmaQorCitpZiBbIC1uICIkR1BTRF9TT0NLRVQiIF07IHRoZW4KKyAgICAgICAgR1BTRF9PUFRJT05TPSIkR1BTRF9PUFRJT05TIC1GICRHUFNEX1NPQ0tFVCIKK2ZpCisKKyMKKyMgRnVuY3Rpb24gdGhhdCBzdGFydHMgdGhlIGRhZW1vbi9zZXJ2aWNlCisjCitkb19zdGFydCgpCit7CisJIyBSZXR1cm4KKwkjICAgMCBpZiBkYWVtb24gaGFzIGJlZW4gc3RhcnRlZAorCSMgICAxIGlmIGRhZW1vbiB3YXMgYWxyZWFkeSBydW5uaW5nCisJIyAgIDIgaWYgZGFlbW9uIGNvdWxkIG5vdCBiZSBzdGFydGVkCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLWV4ZWMgJERBRU1PTiAtLXRlc3QgXAorICAgICAgICAtLSAkR1BTRF9PUFRJT05TIC1QICRQSURGSUxFICRHUFNfREVWSUNFUyA+IC9kZXYvbnVsbCBcCisJCXx8IHJldHVybiAxCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLWV4ZWMgJERBRU1PTiAtLSBcCisJCSRHUFNEX09QVElPTlMgLVAgJFBJREZJTEUgJEdQU19ERVZJQ0VTIFwKKwkJfHwgcmV0dXJuIDIKK30KKworIworIyBGdW5jdGlvbiB0aGF0IHN0b3BzIHRoZSBkYWVtb24vc2VydmljZQorIworZG9fc3RvcCgpCit7CisJIyBSZXR1cm4KKwkjICAgMCBpZiBkYWVtb24gaGFzIGJlZW4gc3RvcHBlZAorCSMgICAxIGlmIGRhZW1vbiB3YXMgYWxyZWFkeSBzdG9wcGVkCisJIyAgIDIgaWYgZGFlbW9uIGNvdWxkIG5vdCBiZSBzdG9wcGVkCisJIyAgIG90aGVyIGlmIGEgZmFpbHVyZSBvY2N1cnJlZAorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tcmV0cnk9VEVSTS8zMC9LSUxMLzUgLS1waWRmaWxlICRQSURGSUxFIC0tbmFtZSAkTkFNRQorCVJFVFZBTD0iJD8iCisJWyAiJFJFVFZBTCIgPSAyIF0gJiYgcmV0dXJuIDIKKwkjIE1hbnkgZGFlbW9ucyBkb24ndCBkZWxldGUgdGhlaXIgcGlkZmlsZXMgd2hlbiB0aGV5IGV4aXQuCisJcm0gLWYgJFBJREZJTEUKKwlyZXR1cm4gIiRSRVRWQUwiCit9CisKKyMKKyMgRnVuY3Rpb24gdGhhdCBzZW5kcyBhIFNJR0hVUCB0byB0aGUgZGFlbW9uL3NlcnZpY2UKKyMKK2RvX3JlbG9hZCgpIHsKKwkjCisJIyBJZiB0aGUgZGFlbW9uIGNhbiByZWxvYWQgaXRzIGNvbmZpZ3VyYXRpb24gd2l0aG91dAorCSMgcmVzdGFydGluZyAoZm9yIGV4YW1wbGUsIHdoZW4gaXQgaXMgc2VudCBhIFNJR0hVUCksCisJIyB0aGVuIGltcGxlbWVudCB0aGF0IGhlcmUuCisJIworCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXNpZ25hbCAxIC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFIC0tbmFtZSAkTkFNRQorCXJldHVybiAwCit9CisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwkJZWNobyAiU3RhcnRpbmcgJERFU0MiICIkTkFNRSIKKwkJZG9fc3RhcnQKKwkJZXhpdCAkPworCTs7CisgIHN0b3ApCisJZWNobyAiU3RvcHBpbmcgJERFU0MiICIkTkFNRSIKKwlkb19zdG9wCisJZXhpdCAkPworCTs7CisgIHN0YXR1cykKKyAgICAgICA7OworICByZWxvYWR8Zm9yY2UtcmVsb2FkKQorCWVjaG8gIlJlbG9hZGluZyAkREVTQyIgIiROQU1FIgorCWRvX3JlbG9hZAorCWV4aXQgJD8KKwk7OworICByZXN0YXJ0KQorCSMKKwkjIElmIHRoZSAicmVsb2FkIiBvcHRpb24gaXMgaW1wbGVtZW50ZWQgdGhlbiByZW1vdmUgdGhlCisJIyAnZm9yY2UtcmVsb2FkJyBhbGlhcworCSMKKwllY2hvICJSZXN0YXJ0aW5nICRERVNDIiAiJE5BTUUiCisJZG9fc3RvcAorCWNhc2UgIiQ/IiBpbgorCSAgMHwxKQorCQlkb19zdGFydAorCQlleGl0ICQ/CisJCTs7CisJICAqKQorCSAJIyBGYWlsZWQgdG8gc3RvcAorCQlleGl0IDEKKwkJOzsKKwllc2FjCisJOzsKKyAgKikKKwllY2hvICJVc2FnZTogJFNDUklQVE5BTUUge3N0YXJ0fHN0b3B8c3RhdHVzfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfSIgPiYyCisJZXhpdCAzCisJOzsKK2VzYWMKKworOgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QvZ3BzZC1kZWZhdWx0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9ncHNkL2dwc2QvZ3BzZC1kZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjZWZmMDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC9ncHNkLWRlZmF1bHQKQEAgLTAsMCArMSw1IEBACisjIElmIHlvdSBtdXN0IHNwZWNpZnkgYSBub24tTk1FQSBkcml2ZXIsIHVuY29tbWVudCBhbmQgbW9kaWZ5IHRoZSBuZXh0IGxpbmUKK0dQU0RfU09DS0VUPSIvdmFyL3J1bi9ncHNkLnNvY2siCitHUFNEX09QVElPTlM9IiIgCitHUFNfREVWSUNFUz0iIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC9ncHNkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZC9ncHNkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEzMWE1OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkL2dwc2Quc2VydmljZQpAQCAtMCwwICsxLDEwIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUdQUyAoR2xvYmFsIFBvc2l0aW9uaW5nIFN5c3RlbSkgRGFlbW9uCitSZXF1aXJlcz1ncHNkLnNvY2tldAorCitbU2VydmljZV0KK0Vudmlyb25tZW50RmlsZT0vZXRjL2RlZmF1bHQvZ3BzZAorRXhlY1N0YXJ0PS91c3Ivc2Jpbi9ncHNkIC1OICRHUFNfREVWSUNFUworCitbSW5zdGFsbF0KK0Fsc289Z3BzZC5zb2NrZXQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3BzZC9ncHNkXzMuMTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZF8zLjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlZjliMTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2dwc2QvZ3BzZF8zLjE0LmJiCkBAIC0wLDAgKzEsMTQ1IEBACitTVU1NQVJZID0gIkEgVENQL0lQIERhZW1vbiBzaW1wbGlmeWluZyB0aGUgY29tbXVuaWNhdGlvbiB3aXRoIEdQUyBkZXZpY2VzIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQyMTdhMjNmNDA4ZTkxYzk0MzU5NDQ3NzM1YmMxODAwIgorREVQRU5EUyA9ICJkYnVzIGRidXMtZ2xpYiBuY3Vyc2VzIHB5dGhvbiBsaWJ1c2IxIGNocnBhdGgtcmVwbGFjZW1lbnQtbmF0aXZlIHBwcy10b29scyIKK1BST1ZJREVTID0gInZpcnR1YWwvZ3BzZCIKKworRVhUUkFOQVRJVkVQQVRIICs9ICJjaHJwYXRoLW5hdGl2ZSIKKworU1JDX1VSSSA9ICIke1NBVkFOTkFIX0dOVV9NSVJST1J9LyR7QlBOfS8ke0JQfS50YXIuZ3ogXAorICAgIGZpbGU6Ly8wMDAxLVNDb25zdHJ1Y3QtcmVzcGVjdC1zeXNyb290LWFsc28taW4tU1BMSU5UT1BUUy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItU0NvbnN0cnVjdC1yZW1vdmUtcnBhdGgucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLVNDb25zdHJ1Y3QtcHJlZml4LWluY2x1ZGVweS13aXRoLXN5c3Jvb3QtYW5kLWRyb3Atc3kucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA0LVNDb25zdHJ1Y3QtZGlzYWJsZS1odG1sLWFuZC1tYW4tZG9jcy1idWlsZGluZy1iZWNhdXMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLUNoZWNrLWZvci1fX1NURENfTk9fQVRPTUlDU19fLWJlZm9yZS11c2luZy1zdGRhdG9taWMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLUFkZC1hLXRlc3QtZm9yLUMxMS1hbmQtY2hlY2std2UtaGF2ZS1DMTEtYmVmb3JlLXVzaW4ucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAzLVdob29wcy1jaGVjay1mb3ItQzExLW5vdC1mb3Itbm90LUMxMS1pbi1zdGRhdG9taWMuaC0ucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLUluY2x1ZGUtc3RkYXRvbWljLmgtb25seS1pbi1DLW1vZGUucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLWxpYmdwc2QtY29yZS1GaXgtaXNzdWUtd2l0aC1BQ1RJVkFURS1ob29rLW5vdC1iZWluZy0ucGF0Y2ggXAorICAgIGZpbGU6Ly9ncHNkLWRlZmF1bHQgXAorICAgIGZpbGU6Ly9ncHNkIFwKKyAgICBmaWxlOi8vNjAtZ3BzZC5ydWxlcyBcCisgICAgZmlsZTovL2dwc2Quc2VydmljZSBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiYmM3NDY3MDA5Yjk5ZTA3YmE0NjEzNzdiNWRhNmMwMzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTA0ZmM4MTJmM2MxNTI1YTFhNDhlMDRiZjRkNzdmOWE4MDY2YzIwMTQ0OGQ5ODA4OWRmODlkNThlZjUzYThjYiIKKworaW5oZXJpdCBzY29ucyB1cGRhdGUtcmMuZCBweXRob24tZGlyIHB5dGhvbm5hdGl2ZSBzeXN0ZW1kIGJsdWV0b290aAorCitJTklUU0NSSVBUX05BTUUgPSAiZ3BzZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDM1IgorCitTWVNURU1EX09FU0NPTlMgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLGQpfSIKKworZXhwb3J0IFNUQUdJTkdfSU5DRElSCitleHBvcnQgU1RBR0lOR19MSUJESVIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoJywgJ2JsdWV6JywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbYmx1ZXpdID0gImJsdWV6PSd0cnVlJyxibHVlej0nZmFsc2UnLCR7QkxVRVp9IgorUEFDS0FHRUNPTkZJR1txdF0gPSAicXQ9J3llcycscXQ9J25vJyxxdDQteDExLWZyZWUiCitFWFRSQV9PRVNDT05TID0gIiBcCisgICAgc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0gXAorICAgIGxpYlFncHNtbT0nZmFsc2UnIFwKKyAgICBkZWJ1Zz0ndHJ1ZScgXAorICAgIHN0cmlwPSdmYWxzZScgXAorICAgIGNocnBhdGg9J3llcycgXAorICAgIHN5c3RlbWQ9JyR7U1lTVEVNRF9PRVNDT05TfScgXAorICAgICR7RVhUUkFfT0VDT05GfSBcCisiCitESVNBQkxFX1NUQVRJQyA9ICIiCisjIHRoaXMgY2Fubm90IGJlIHVzZWQsIGJlY2F1c2UgdGhlbiBjaHJwYXRoIGlzIG5vdCBmb3VuZCBhbmQgb25seSBzdGF0aWMgbGliIGlzIGJ1aWx0CisjIHRhcmdldD0ke0hPU1RfU1lTfQorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgZXhwb3J0IFBLR19DT05GSUdfUEFUSD0iJHtQS0dfQ09ORklHX1BBVEh9IgorICAgIGV4cG9ydCBQS0dfQ09ORklHPSJQS0dfQ09ORklHX1NZU1JPT1RfRElSPVwiJHtQS0dfQ09ORklHX1NZU1JPT1RfRElSfVwiIHBrZy1jb25maWciCisgICAgZXhwb3J0IFNUQUdJTkdfUFJFRklYPSIke1NUQUdJTkdfRElSX0hPU1R9LyR7cHJlZml4fSIKKworICAgIGV4cG9ydCBCVUlMRF9TWVM9IiR7QlVJTERfU1lTfSIKKyAgICBleHBvcnQgSE9TVF9TWVM9IiR7SE9TVF9TWVN9IgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGV4cG9ydCBQS0dfQ09ORklHX1BBVEg9IiR7UEtHX0NPTkZJR19QQVRIfSIKKyAgICBleHBvcnQgUEtHX0NPTkZJRz0iUEtHX0NPTkZJR19TWVNST09UX0RJUj1cIiR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1cIiBwa2ctY29uZmlnIgorICAgIGV4cG9ydCBTVEFHSU5HX1BSRUZJWD0iJHtTVEFHSU5HX0RJUl9IT1NUfS8ke3ByZWZpeH0iCisKKyAgICBleHBvcnQgQlVJTERfU1lTPSIke0JVSUxEX1NZU30iCisgICAgZXhwb3J0IEhPU1RfU1lTPSIke0hPU1RfU1lTfSIKKworICAgIGV4cG9ydCBERVNURElSPSIke0R9IgorICAgICMgcHJlZml4IGlzIHVzZWQgZm9yIFJQQVRIIGFuZCBERVNURElSL3ByZWZpeCBmb3IgaW5zdGFsYXRpb24KKyAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vc2NvbnMgcHJlZml4PSR7cHJlZml4fSBpbnN0YWxsICR7RVhUUkFfT0VTQ09OU318fCBcCisgICAgICBiYmZhdGFsICJzY29ucyBpbnN0YWxsIGV4ZWN1dGlvbiBmYWlsZWQuIgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9ncHNkICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2dwc2QtZGVmYXVsdCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdC9ncHNkLmRlZmF1bHQKKworICAgICNzdXBwb3J0IGZvciB1ZGV2CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vdWRldi9ydWxlcy5kCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vNjAtZ3BzZC5ydWxlcyAke0R9LyR7c3lzY29uZmRpcn0vdWRldi9ydWxlcy5kCisgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX2xpYmRpcn0vdWRldi8KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9ncHNkLmhvdHBsdWcgJHtEfSR7YmFzZV9saWJkaXJ9L3VkZXYvCisKKyAgICAjc3VwcG9ydCBmb3IgcHl0aG9uCisgICAgaW5zdGFsbCAtZCAke0R9LyR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2dwcworICAgIGluc3RhbGwgLW0gNzU1ICR7U30vZ3BzLyoucHkgJHtEfS8ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9ncHMKKworICAgICNzdXBwb3J0IGZvciBzeXN0ZW1kCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8ke0JQTn0uc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8ke0JQTn0uc2VydmljZQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3N5c3RlbWQvJHtCUE59LnNvY2tldCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8ke0JQTn0uc29ja2V0Cit9CisKK3BrZ19wb3N0aW5zdF8ke1BOfS1jb25mKCkgeworICAgIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgLS1pbnN0YWxsICR7c3lzY29uZmRpcn0vZGVmYXVsdC9ncHNkIGdwc2QtZGVmYXVsdHMgJHtzeXNjb25mZGlyfS9kZWZhdWx0L2dwc2QuZGVmYXVsdCAxMAorfQorCitwa2dfcG9zdHJtXyR7UE59LWNvbmYoKSB7CisgICAgdXBkYXRlLWFsdGVybmF0aXZlcyAtLXJlbW92ZSBncHNkLWRlZmF1bHRzICR7c3lzY29uZmRpcn0vZGVmYXVsdC9ncHNkLmRlZmF1bHQKK30KKworUEFDS0FHRVMgPSsgImxpYmdwcyBsaWJncHNkIHB5dGhvbi1weWdwcy1kYmcgcHl0aG9uLXB5Z3BzIGdwc2QtdWRldiBncHNkLWNvbmYgZ3BzZC1ncHNjdGwgZ3BzLXV0aWxzIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9wa2djb25mZGlyL2xpYmdwc2QucGMgJHtsaWJkaXJ9L3BrZ2NvbmZkaXIvbGliZ3BzLnBjIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYlFncHNtbS5wcmwiCisKK0ZJTEVTX3B5dGhvbi1weWdwcy1kYmcgKz0gIiAke2xpYmRpcn0vcHl0aG9uKi9zaXRlLXBhY2thZ2VzL2dwcy8uZGVidWciCisKK1JERVBFTkRTXyR7UE59ID0gImdwc2QtZ3BzY3RsIgorUlJFQ09NTUVORFNfJHtQTn0gPSAiZ3BzZC1jb25mIGdwc2QtdWRldiBncHNkLW1hY2hpbmUtY29uZiIKKworU1VNTUFSWV9ncHNkLXVkZXYgPSAidWRldiByZWxldmFudCBmaWxlcyB0byB1c2UgZ3BzZCBob3RwbHVnZ2luZyIKK0ZJTEVTX2dwc2QtdWRldiA9ICIke2Jhc2VfbGliZGlyfS91ZGV2ICR7c3lzY29uZmRpcn0vdWRldi8qIgorUkRFUEVORFNfZ3BzZC11ZGV2ICs9ICJ1ZGV2IGdwc2QtY29uZiIKKworU1VNTUFSWV9saWJncHNkID0gIkMgc2VydmljZSBsaWJyYXJ5IHVzZWQgZm9yIGNvbW11bmljYXRpbmcgd2l0aCBncHNkIgorRklMRVNfbGliZ3BzZCA9ICIke2xpYmRpcn0vbGliZ3BzZC5zby4qIgorCitTVU1NQVJZX2xpYmdwcyA9ICJDIHNlcnZpY2UgbGlicmFyeSB1c2VkIGZvciBjb21tdW5pY2F0aW5nIHdpdGggZ3BzZCIKK0ZJTEVTX2xpYmdwcyA9ICIke2xpYmRpcn0vbGliZ3BzLnNvLioiCisKK1NVTU1BUllfZ3BzZC1jb25mID0gImdwc2QgY29uZmlndXJhdGlvbiBmaWxlcyBhbmQgaW5pdCBzY3JpcHRzIgorRklMRVNfZ3BzZC1jb25mID0gIiR7c3lzY29uZmRpcn0iCitDT05GRklMRVNfZ3BzZC1jb25mID0gIiR7c3lzY29uZmRpcn0vZGVmYXVsdC9ncHNkLmRlZmF1bHQiCisKK1NVTU1BUllfZ3BzZC1ncHNjdGwgPSAiVG9vbCBmb3IgdHdlYWtpbmcgR1BTIG1vZGVzIgorRklMRVNfZ3BzZC1ncHNjdGwgPSAiJHtiaW5kaXJ9L2dwc2N0bCIKKworU1VNTUFSWV9ncHMtdXRpbHMgPSAiVXRpbHMgdXNlZCBmb3Igc2ltdWxhdGluZywgbW9uaXRvcmluZywuLi4gYSBHUFMiCitGSUxFU19ncHMtdXRpbHMgPSAiJHtiaW5kaXJ9LyoiCitSREVQRU5EU19ncHMtdXRpbHMgPSAicHl0aG9uLXB5Z3BzIgorCitTVU1NQVJZX3B5dGhvbi1weWdwcyA9ICJQeXRob24gYmluZGluZ3MgdG8gZ3BzZCIKK0ZJTEVTX3B5dGhvbi1weWdwcyA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorUkRFUEVORFNfcHl0aG9uLXB5Z3BzID0gInB5dGhvbi1jb3JlIHB5dGhvbi1jdXJzZXMgZ3BzZCBweXRob24tanNvbiIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke1BOfS5zb2NrZXQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2ZpbGVzLzAwMDEtZ190eXBlX2luaXQtaXMtZGVwcmVjYXRlZC1mb3ItZ2xpYi0yLjM1LjAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2ZpbGVzLzAwMDEtZ190eXBlX2luaXQtaXMtZGVwcmVjYXRlZC1mb3ItZ2xpYi0yLjM1LjAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDYzYmVhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZmlsZXMvMDAwMS1nX3R5cGVfaW5pdC1pcy1kZXByZWNhdGVkLWZvci1nbGliLTIuMzUuMC5wYXRjaApAQCAtMCwwICsxLDExNCBAQAorRnJvbSA1Yjg1OWI2ZTdjODJmNDlkOTY3YzI1Mzk4YThlNzViNjFhZjliY2MwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTIgSnVuIDIwMTMgMjA6NTg6NTEgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gZ190eXBlX2luaXQoKSBpcyBkZXByZWNhdGVkIGZvciBnbGliID49IDIuMzUuMAorCitDYWxsIGl0IGZvciBvbGQgdmVyc2lvbnMuCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgZXhhbXBsZXMvbGlzdC1rbm93bi1ncHMtZGV2aWNlcy5jIHwgICAgNCArKy0tCisgZXhhbXBsZXMvc2ltcGxlLWdwcy1kYnVzLmMgICAgICAgIHwgICAgMyArKy0KKyBleGFtcGxlcy9zaW1wbGUtZ3BzLWd5cHN5LmMgICAgICAgfCAgICA0ICsrLS0KKyBleGFtcGxlcy9zaW1wbGUtZ3BzLXNhdGVsbGl0ZXMuYyAgfCAgICA0ICsrLS0KKyBneXBzeS9neXBzeS1tYXJzaGFsLmMgICAgICAgICAgICAgfCAgICAyICstCisgc3JjL21haW4uYyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArKy0tCisgNiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2xpc3Qta25vd24tZ3BzLWRldmljZXMuYyBiL2V4YW1wbGVzL2xpc3Qta25vd24tZ3BzLWRldmljZXMuYworaW5kZXggYzdjNDA1OS4uMGE4YjA0YiAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL2xpc3Qta25vd24tZ3BzLWRldmljZXMuYworKysrIGIvZXhhbXBsZXMvbGlzdC1rbm93bi1ncHMtZGV2aWNlcy5jCitAQCAtMjAsOSArMjAsOSBAQCBtYWluIChpbnQgYXJnYywKKyAgICAgR0Vycm9yICplcnJvciA9IE5VTEw7CisgICAgIEdQdHJBcnJheSAqa25vd25fZGV2aWNlczsKKyAgICAgaW50IGk7CistCisrI2lmICFHTElCX0NIRUNLX1ZFUlNJT04oMiwzNSwwKQorICAgICBnX3R5cGVfaW5pdCAoKTsKKy0KKysjZW5kaWYKKyAgICAgZGlzY292ZXJ5ID0gZ3lwc3lfZGlzY292ZXJ5X25ldyAoKTsKKyAgICAga25vd25fZGV2aWNlcyA9IGd5cHN5X2Rpc2NvdmVyeV9saXN0X2RldmljZXMgKGRpc2NvdmVyeSwgJmVycm9yKTsKKyAKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9zaW1wbGUtZ3BzLWRidXMuYyBiL2V4YW1wbGVzL3NpbXBsZS1ncHMtZGJ1cy5jCitpbmRleCBmNzA0NGU2Li43NmIxOGFhIDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvc2ltcGxlLWdwcy1kYnVzLmMKKysrKyBiL2V4YW1wbGVzL3NpbXBsZS1ncHMtZGJ1cy5jCitAQCAtMTIxLDggKzEyMSw5IEBAIG1haW4gKGludCAgICBhcmdjLAorIAlEQnVzQ29ubmVjdGlvbiAqY29ubjsKKyAJREJ1c0Vycm9yIGVycm9yOworIAlHTWFpbkxvb3AgKm1haW5sb29wOworLQorKyNpZiAhR0xJQl9DSEVDS19WRVJTSU9OKDIsMzUsMCkKKyAJZ190eXBlX2luaXQgKCk7CisrI2VuZGlmCisgCWNvbm4gPSBnZXRfY29ubmVjdGlvbiAoKTsKKyAKKyAJZGJ1c19lcnJvcl9pbml0ICgmZXJyb3IpOworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL3NpbXBsZS1ncHMtZ3lwc3kuYyBiL2V4YW1wbGVzL3NpbXBsZS1ncHMtZ3lwc3kuYworaW5kZXggMGI2YjdhNi4uODYwMzNkOSAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL3NpbXBsZS1ncHMtZ3lwc3kuYworKysrIGIvZXhhbXBsZXMvc2ltcGxlLWdwcy1neXBzeS5jCitAQCAtNjcsOSArNjcsOSBAQCBtYWluIChpbnQgICAgYXJnYywKKyAJCWdfcHJpbnQgKCJVc2FnZTogJXMgZGV2aWNlXG4iLCBhcmd2WzBdKTsKKyAJCXJldHVybiAwOworIAl9CistCisrI2lmICFHTElCX0NIRUNLX1ZFUlNJT04oMiwzNSwwKSAKKyAJZ190eXBlX2luaXQgKCk7CistCisrI2VuZGlmCisgCWNvbnRyb2wgPSBneXBzeV9jb250cm9sX2dldF9kZWZhdWx0ICgpOworIAlwYXRoID0gZ3lwc3lfY29udHJvbF9jcmVhdGUgKGNvbnRyb2wsIGFyZ3ZbMV0sICZlcnJvcik7CisgCWlmIChwYXRoID09IE5VTEwpIHsKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9zaW1wbGUtZ3BzLXNhdGVsbGl0ZXMuYyBiL2V4YW1wbGVzL3NpbXBsZS1ncHMtc2F0ZWxsaXRlcy5jCitpbmRleCAxNDBjOThmLi45YTNmOTVhIDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvc2ltcGxlLWdwcy1zYXRlbGxpdGVzLmMKKysrKyBiL2V4YW1wbGVzL3NpbXBsZS1ncHMtc2F0ZWxsaXRlcy5jCitAQCAtNDIsOSArNDIsOSBAQCBtYWluIChpbnQgICAgYXJnYywKKyAJCWdfcHJpbnQgKCJVc2FnZTogJXMgZGV2aWNlXG4iLCBhcmd2WzBdKTsKKyAJCXJldHVybiAwOworIAl9CistCisrI2lmICFHTElCX0NIRUNLX1ZFUlNJT04oMiwzNSwwKQorIAlnX3R5cGVfaW5pdCAoKTsKKy0KKysjZW5kaWYKKyAJY29udHJvbCA9IGd5cHN5X2NvbnRyb2xfZ2V0X2RlZmF1bHQgKCk7CisgCXBhdGggPSBneXBzeV9jb250cm9sX2NyZWF0ZSAoY29udHJvbCwgYXJndlsxXSwgJmVycm9yKTsKKyAJaWYgKHBhdGggPT0gTlVMTCkgeworZGlmZiAtLWdpdCBhL2d5cHN5L2d5cHN5LW1hcnNoYWwuYyBiL2d5cHN5L2d5cHN5LW1hcnNoYWwuYworaW5kZXggNjk2NDY0NC4uOWFjMDA5NSAxMDA2NDQKKy0tLSBhL2d5cHN5L2d5cHN5LW1hcnNoYWwuYworKysrIGIvZ3lwc3kvZ3lwc3ktbWFyc2hhbC5jCitAQCAtNSw3ICs1LDcgQEAKKyAKKyAjaWZkZWYgR19FTkFCTEVfREVCVUcKKyAjZGVmaW5lIGdfbWFyc2hhbF92YWx1ZV9wZWVrX2Jvb2xlYW4odikgIGdfdmFsdWVfZ2V0X2Jvb2xlYW4gKHYpCistI2RlZmluZSBnX21hcnNoYWxfdmFsdWVfcGVla19jaGFyKHYpICAgICBnX3ZhbHVlX2dldF9jaGFyICh2KQorKyNkZWZpbmUgZ19tYXJzaGFsX3ZhbHVlX3BlZWtfY2hhcih2KSAgICAgZ192YWx1ZV9nZXRfc2NoYXIgKHYpCisgI2RlZmluZSBnX21hcnNoYWxfdmFsdWVfcGVla191Y2hhcih2KSAgICBnX3ZhbHVlX2dldF91Y2hhciAodikKKyAjZGVmaW5lIGdfbWFyc2hhbF92YWx1ZV9wZWVrX2ludCh2KSAgICAgIGdfdmFsdWVfZ2V0X2ludCAodikKKyAjZGVmaW5lIGdfbWFyc2hhbF92YWx1ZV9wZWVrX3VpbnQodikgICAgIGdfdmFsdWVfZ2V0X3VpbnQgKHYpCitkaWZmIC0tZ2l0IGEvc3JjL21haW4uYyBiL3NyYy9tYWluLmMKK2luZGV4IDNlOGE3OTQuLmVjOTgwZTUgMTAwNjQ0CistLS0gYS9zcmMvbWFpbi5jCisrKysgYi9zcmMvbWFpbi5jCitAQCAtMTg3LDkgKzE4Nyw5IEBAIG1haW4gKGludCAgICBhcmdjLAorIAlnX29wdGlvbl9jb250ZXh0X2ZyZWUgKGNvbnRleHQpOworIAorIAl1bWFzayAoMDIyKTsKKy0KKysjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTigyLDM1LDApCisgCWdfdHlwZV9pbml0ICgpOworLQorKyNlbmRpZgorIAltYWlubG9vcCA9IGdfbWFpbl9sb29wX25ldyAoTlVMTCwgRkFMU0UpOworIAorIAljb25uID0gZGJ1c19nX2J1c19nZXQgKERCVVNfQlVTX1NZU1RFTSwgJmVycm9yKTsKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2ZpbGVzL2ZpeHVwcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZmlsZXMvZml4dXBzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlNGQ5MmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2ZpbGVzL2ZpeHVwcy5wYXRjaApAQCAtMCwwICsxLDIxIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKKy0tLQorIGRvY3MvcmVmZXJlbmNlL01ha2VmaWxlLmFtIHwgICAgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworLS0tIGd5cHN5Lm9yaWcvZG9jcy9yZWZlcmVuY2UvTWFrZWZpbGUuYW0KKysrKyBneXBzeS9kb2NzL3JlZmVyZW5jZS9NYWtlZmlsZS5hbQorQEAgLTgxLDEwICs4MSwxMiBAQCBleHBhbmRfY29udGVudF9maWxlcz0KKyAjIGUuZy4gR1RLRE9DX0xJQlM9JCh0b3BfYnVpbGRkaXIpL2d0ay8kKGd0a3RhcmdldGxpYikKKyAKKyBJTkNMVURFUz0tSSQodG9wX3NyY2RpcikgJChHWVBTWV9DRkxBR1MpCisgR1RLRE9DX0xJQlM9JCh0b3BfYnVpbGRkaXIpL2d5cHN5L2xpYmd5cHN5LmxhICQoR1lQU1lfTElCUykKKyAKKytFWFRSQV9ESVNUID0KKytDTEVBTkZJTEVTID0KKyAjIFRoaXMgaW5jbHVkZXMgdGhlIHN0YW5kYXJkIGd0ay1kb2MgbWFrZSBydWxlcywgY29waWVkIGJ5IGd0a2RvY2l6ZS4KKyBpbmNsdWRlICQodG9wX3NyY2RpcikvZ3RrLWRvYy5tYWtlCisgCisgIyBPdGhlciBmaWxlcyB0byBkaXN0cmlidXRlCisgIyBlLmcuIEVYVFJBX0RJU1QgKz0gdmVyc2lvbi54bWwuaW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZ3lwc3kuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9neXBzeS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWVmZDM1NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZ3lwc3kuaW5jCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiR1BTIE11bHRpcGxleGluZyBEYWVtb24iCitERVNDUklQVElPTiA9ICJHeXBzeSBpcyBhIEdQUyBtdWx0aXBsZXhpbmcgZGFlbW9uIHdoaWNoIGFsbG93cyBcCittdWx0aXBsZSBjbGllbnRzIHRvIGFjY2VzcyBHUFMgZGF0YSBmcm9tIG11bHRpcGxlIEdQUyBzb3VyY2VzIFwKK2NvbmN1cnJlbnRseS4gIEd5cHN5IGFsc28gaGlkZXMgdGhlIGRldGFpbHMgb2YgcGFyc2luZyBOTUVBIGZyb20gdGhlIFwKK2NsaWVudCBhcHBsaWNhdGlvbnMsIHBhc3NpbmcgdGhlIGRhdGEgYXMgc2ltcGxlIHZhbHVlcyBmb3IgdGhlIGNsaWVudHMgXAordG8gdXNlLiIKK0xJQ0VOU0UgPSAiR1BMdjIuMCAmIExHUEx2Mi4xIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitERVBFTkRTID0gImdsaWItMi4wIGRidXMgYmx1ZXo0IGRidXMtZ2xpYiBsaWJ4c2x0LW5hdGl2ZSBsaWJ4c2x0IgorCitQTkJMQUNLTElTVFtneXBzeV0gPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXo1JywgJ2JsdWV6NSBjb25mbGljdHMgd2l0aCBibHVlejQgYW5kIGJsdWV6NSBpcyBzZWxlY3RlZCBpbiBESVNUUk9fRkVBVFVSRVMnLCAnJywgZCl9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3RrLWRvYworUEFDS0FHRVMgKz0gImxpYmd5cHN5IgorCitGSUxFU18ke1BOfSA9ICIgXAorICAke3N5c2NvbmZkaXJ9L2d5cHN5LmNvbmYgXAorICAke3N5c2NvbmZkaXJ9L2RidXMtMSBcCisgICR7bGliZXhlY2Rpcn0vZ3lwc3ktZGFlbW9uIFwKKyAgJHtkYXRhZGlyfS9kYnVzLTEgXAorIgorCitGSUxFU19saWJneXBzeSA9ICIgXAorICAke2xpYmRpcn0vbGliZ3lwc3kke1NPTElCU30gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9neXBzeV8wLjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2d5cHN5L2d5cHN5XzAuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGM4OTg3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9neXBzeV8wLjkuYmIKQEAgLTAsMCArMSwxNSBAQAorcmVxdWlyZSBneXBzeS5pbmMKKworUFIgPSAicjIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcubGliO21kNT03ZmJjMzM4MzA5YWMzOGZlZmNkNjRiMDRiYjkwM2UzNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvbWFpbi5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjU7bWQ1PTNmZTY0ZTI3ZTYxYjI4OWI3NzM4M2E1NGE5ODJjYmRkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2d5cHN5L2d5cHN5LXRpbWUuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTI0O21kNT0wNjQzMmVhMTlhN2I2NjA3NDI4ZDA0ZDlkYWRjMzdmZCIKKworU1JDX1VSSSArPSAiaHR0cDovL2d5cHN5LmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy9neXBzeS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1nX3R5cGVfaW5pdC1pcy1kZXByZWNhdGVkLWZvci1nbGliLTIuMzUuMC5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTJkMTg2ZGY5YzJjYzNiNzBhMDI3MDQzZTIyYWNmMWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTRlMWNiZTE3MzUxZjQwODUzOGUwMzNjYTM3MGI0YmY1MWNjZjljODg3NDRlMjM2ZGRmYjI3MTkwNGYxNTRkNiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZ3lwc3lfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9neXBzeS9neXBzeV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFiMTZlNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vZ3lwc3kvZ3lwc3lfZ2l0LmJiCkBAIC0wLDAgKzEsMjIgQEAKK3JlcXVpcmUgZ3lwc3kuaW5jCisKK0RFRkFVTFRfUFJFRkVSRU5DRSA9ICItMSIKKworU1JDUkVWID0gImJlOGM5YzM4MmQyZDFkMzdiNTFkMjliMDg0MzA0NTEyMWVjOTAyMTMiCitQViA9ICIwLjkrZ2l0JHtTUkNQVn0iCitQUiA9ICJyMiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5saWI7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9tYWluLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yNTttZDU9M2ZlNjRlMjdlNjFiMjg5Yjc3MzgzYTU0YTk4MmNiZGQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3lwc3kvZ3lwc3ktdGltZS5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MjQ7bWQ1PTA2NDMyZWExOWE3YjY2MDc0MjhkMDRkOWRhZGMzN2ZkIgorCitTUkNfVVJJICs9ICJnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9neXBzeSBcCisgICAgICAgICAgICBmaWxlOi8vZml4dXBzLnBhdGNoIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgIyBmcm9tIHBhdGNoIDU2MzcxNmZjNTk2ZDUzZjEwODU5NDlhOWRkMTFhNjJmMzliMmQ2MjQKKyAgdGVzdCAtZCAke1N9L200IHx8IG1rZGlyIC1wICR7U30vbTQKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbGlic3BhdGlhbGl0ZS9saWJzcGF0aWFsaXRlLTQuMi4wL2dlb3MtY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9saWJzcGF0aWFsaXRlL2xpYnNwYXRpYWxpdGUtNC4yLjAvZ2Vvcy1jb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhiZDdkYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbGlic3BhdGlhbGl0ZS9saWJzcGF0aWFsaXRlLTQuMi4wL2dlb3MtY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK2h0dHBzOi8vd3d3LmdhaWEtZ2lzLml0L2Zvc3NpbC9saWJzcGF0aWFsaXRlL3RrdHZpZXc/bmFtZT1hYmVlYWFkNDQ4CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtycG01LWRldmVsQHJwbTUub3JnXQorCitJbmRleDogbGlic3BhdGlhbGl0ZS00LjIuMC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJzcGF0aWFsaXRlLTQuMi4wLm9yaWcvY29uZmlndXJlLmFjCisrKysgbGlic3BhdGlhbGl0ZS00LjIuMC9jb25maWd1cmUuYWMKK0BAIC0yNjAsNyArMjYwLDcgQEAgaWYgdGVzdCB4IiRlbmFibGVfZ2VvcyIgIT0gInhubyI7IHRoZW4KKyAgIGZpCisgICAjIEV4dHJhY3QgdGhlIGxpbmtlciBhbmQgaW5jbHVkZSBmbGFncworICAgR0VPU19MREZMQUdTPWAkR0VPU0NPTkZJRyAtLWxkZmxhZ3NgCistICBHRU9TX0NGTEFHUz0tSWAkR0VPU0NPTkZJRyAtLWluY2x1ZGVzYAorKyAgR0VPU19DRkxBR1M9YCRHRU9TQ09ORklHIC0tY2ZsYWdzYAorICAgQUNfU1VCU1QoW0dFT1NfTERGTEFHU10pCisgICBBQ19TVUJTVChbR0VPU19DRkxBR1NdKQkKKyAgICMgRW5zdXJlIHRoYXQgd2UgY2FuIHBhcnNlIGdlb3NfYy5oCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2xpYnNwYXRpYWxpdGUvbGlic3BhdGlhbGl0ZV80LjIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbGlic3BhdGlhbGl0ZS9saWJzcGF0aWFsaXRlXzQuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2NmRjODcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL2xpYnNwYXRpYWxpdGUvbGlic3BhdGlhbGl0ZV80LjIuMC5iYgpAQCAtMCwwICsxLDIzIEBACitERVNDUklQVElPTiA9ICJMaWJyYXJ5IGV4dGVuZGluZyB0aGUgU1FMaXRlIGNvcmUgdG8gc3VwcG9ydCBmdWxseSBmbGVkZ2VkIFNwYXRpYWwgU1FMIGNhcGFiaWxpdGllcyIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3LmdhaWEtZ2lzLml0L2Zvc3NpbC9saWJzcGF0aWFsaXRlLyIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAicHJvaiBnZW9zIHNxbGl0ZTMgbGlieG1sMiB6bGliIgorCitMSUNFTlNFID0gIk1QTHYxLjEgJiBHUEx2MisgJiBMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wZTkyZTFhMzZjYzM4NGI2MGY1YjMxZGRlMGJkZDM5ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmdhaWEtZ2lzLml0L2dhaWEtc2lucy9saWJzcGF0aWFsaXRlLXNvdXJjZXMvbGlic3BhdGlhbGl0ZS0ke1BWfS50YXIuZ3oiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtZnJlZXhsPW5vIgorCisjIHBhY2thZ2UgcGx1Z2lucyBmb3IgU1FMaXRlMworUEFDS0FHRVMgKz0gIiR7UE59LXBsdWdpbiIKK0lOU0FORV9TS0lQXyR7UE59LXBsdWdpbiA9ICJkZXYtc28iCitGSUxFU18ke1BOfS1wbHVnaW4gKz0gIiR7bGliZGlyfS9tb2RfKiIKKworU1JDX1VSSVttZDVzdW1dID0gIjgzMzA1ZWQ2OTRhNzcxNTIxMjBkMWY3NGM1MTUxNzc5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlmMTM4YTY4NTQ3NDBjNzgyN2ZkZWU1Mzg0NWViMTQ4NWZjZTNlODA1YTdhYTlmYzkxNTFmODA0NmViZDMxMmQiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9nZW9zLWNvbmZpZy5wYXRjaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQtZnB1LmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQtZnB1LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTYzNzAyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC1mcHUuaW5jCkBAIC0wLDAgKzEsNiBAQAorCitkZWYgZ2V0X25hdml0X2ZwdV9zZXR0aW5nKGJiLCBkKToKKyAgICBpZiBkLmdldFZhcignVEFSR0VUX0ZQVScsIDEpIGluIFsgJ3NvZnQnIF06CisgICAgICAgIHJldHVybiAiLS1lbmFibGUtYXZvaWQtZmxvYXQiCisgICAgcmV0dXJuICIiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWMwYmZkYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQuaW5jCkBAIC0wLDAgKzEsOTUgQEAKK0RFU0NSSVBUSU9OID0gIk5hdml0IGlzIGEgY2FyIG5hdmlnYXRpb24gc3lzdGVtIHdpdGggcm91dGluZyBlbmdpbmUuIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVkNTM5ZDA5OWQ2Y2UwOGRlNmVhMGRmZWQ5ZWNiMzMzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xHUEwtMjttZDU9MzIxNGYwODA4NzU3NDg5MzhiYTA2MDMxNGI0ZjcyN2QgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vR1BMLTI7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKKyIKKworU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb25zIgorREVQRU5EUyA9ICJnbGliLTIuMCBnZCBneXBzeSBsaWJyc3ZnLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ID0gIiAke1BOfS1pY29ucyAke1BOfS1jb25maWcgIgorUlJFQ09NTUVORFNfJHtQTn0gPSAiZ3BzZCAke1BOfS1kYnVzICR7UE59LXNwZWVjaC1jbWRsaW5lICR7UE59LWd1aS1pbnRlcm5hbCAke1BOfS1ncmFwaGljcy1ndGsiCitSU1VHR0VTVFNfJHtQTn0gPSAiZmxpdGUtYWxzYSBlc3BlYWsgJHtQTn0tc3BlZWNoLWRidXMgJHtQTn0tZ3VpLWd0ayAke1BOfS1ndWktcW1sICR7UE59LWdyYXBoaWNzLXNkbCAke1BOfS1ncmFwaGljcy1xdCAke1BOfS1tYXB0b29sIgorCitQRSA9ICIxIgorSU5DX1BSID0gInIxMSIKKworIyBEZXBlbmRzIG9uIGd5cHN5CitQTkJMQUNLTElTVFtuYXZpdF0gPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXo1JywgJ2JsdWV6NSBjb25mbGljdHMgd2l0aCBibHVlejQgYW5kIGJsdWV6NSBpcyBzZWxlY3RlZCBpbiBESVNUUk9fRkVBVFVSRVMnLCAnJywgZCl9IgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZworCitQQUNLQUdFQ09ORklHID89ICIiCitQQUNLQUdFQ09ORklHW2ZyaWJpZGldID0gIi0tZW5hYmxlLWZyaWJpZGksLS1kaXNhYmxlLWZyaWJpZGksZnJpYmlkaSIKK1BBQ0tBR0VDT05GSUdbaW1saWIyXSA9ICItLWVuYWJsZS1pbWxpYjIsLS1kaXNhYmxlLWltbGliMixpbWxpYjIiCitQQUNLQUdFQ09ORklHW3NkbF0gPSAiLS1lbmFibGUtZ3JhcGhpY3Mtc2RsLC0tZGlzYWJsZS1ncmFwaGljcy1zZGwsbGlic2RsIgorUEFDS0FHRUNPTkZJR1tndGtdID0gIi0tZW5hYmxlLWdyYXBoaWNzLWd0ay1kcmF3aW5nLWFyZWEgLS1lbmFibGUtZ3VpLWd0aywtLWRpc2FibGUtZ3JhcGhpY3MtZ3RrLWRyYXdpbmctYXJlYSAtLWRpc2FibGUtZ3VpLWd0ayxndGsrIgorUEFDS0FHRUNPTkZJR1txdF0gPSAiLS1lbmFibGUtZ3JhcGhpY3MtcXQtcXBhaW50ZXIgLS1lbmFibGUtZ3VpLXFtbCwtLWRpc2FibGUtZ3JhcGhpY3MtcXQtcXBhaW50ZXIgLS1kaXNhYmxlLWd1aS1xbWwscXQ0LXgxMS1mcmVlLHF0NC1wbHVnaW4taW1hZ2Vmb3JtYXQtc3ZnIgorCitFWFRSQV9PRUNPTkYgKz0gIiBcCisgICAgLS1kaXNhYmxlLWJpbmRpbmctcHl0aG9uIFwKKyAgICAtLWRpc2FibGUtc2FtcGxlbWFwIFwKKyAgICAtLWVuYWJsZS1hdm9pZC11bmFsaWduZWQgXAorICAgIC0tZW5hYmxlLXN2ZzJwbmctc2NhbGluZy1mbGFnPTMyIFwKKyAgICAtLWRpc2FibGUtc3BlZWNoLXNwZWVjaC1kaXNwYXRjaGVyIFwKKyAgICAtLWVuYWJsZS1jYWNoZS1zaXplPTIwOTcxNTIwIFwKKyIKKworIyAgLS1lbmFibGUtYXZvaWQtZmxvYXQgXAorI2NoZWNrIGZvciBUQVJHRVRfRlBVPXNvZnQgYW5kIGluZm9ybSBjb25maWd1cmUgb2YgdGhlIHJlc3VsdCBzbyBpdCBjYW4gZGlzYWJsZSBzb21lIGZsb2F0aW5nIHBvaW50cworcmVxdWlyZSBuYXZpdC1mcHUuaW5jCitFWFRSQV9PRUNPTkYgKz0gIiR7QGdldF9uYXZpdF9mcHVfc2V0dGluZyhiYiwgZCl9IgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbWFwdG9vbCAke1BOfS1jb25maWcgJHtQTn0tZGJ1cyAke1BOfS1zcGVlY2gtY21kbGluZSAke1BOfS1zcGVlY2gtZGJ1cyAke1BOfS1ndWktZ3RrICR7UE59LWd1aS1pbnRlcm5hbCAke1BOfS1ndWktcW1sICR7UE59LWdyYXBoaWNzLXNkbCAke1BOfS1ncmFwaGljcy1ndGsgJHtQTn0tZ3JhcGhpY3MtcXQgJHtQTn0taWNvbnMiCisKK0VYVFJBX0FVVE9SRUNPTkYgPSAiIC1JIG00IgorCitDT05GRklMRVNfJHtQTn0tY29uZmlnICs9ICIke2RhdGFkaXJ9L25hdml0L25hdml0LmRlZmF1bHQueG1sIFwKKyAgICAke2RhdGFkaXJ9L25hdml0L25hdml0LnhtbCBcCisgICAgJHtkYXRhZGlyfS9uYXZpdC9tYXBzLnhtbCBcCisgICAgJHtkYXRhZGlyfS9uYXZpdC9vc2QueG1sIFwKKyAgICAke2RhdGFkaXJ9L25hdml0L3NwZWVjaC54bWwgXAorICAgICR7ZGF0YWRpcn0vbmF2aXQvcGx1Z2lucy54bWwgXAorIgorCitTUkNfVVJJICs9ICJmaWxlOi8vbmF2aXQueG1sIFwKKyAgICAgICAgICAgIGZpbGU6Ly9tYXBzLnhtbCBcCisgICAgICAgICAgICBmaWxlOi8vb3NkLnhtbCBcCisgICAgICAgICAgICBmaWxlOi8vc3BlZWNoLnhtbCBcCisgICAgICAgICAgICBmaWxlOi8vcGx1Z2lucy54bWwgXAorIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9LyR7QlBOfS8qLyouc28gJHtkYXRhZGlyfS9pY29ucyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyR7QlBOfS8qLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LW1hcHRvb2wgPSAiICR7YmluZGlyfS9tYXB0b29sICIKK0ZJTEVTXyR7UE59LWNvbmZpZyA9ICIgJHtkYXRhZGlyfS9uYXZpdC8qLnhtbCAiCitGSUxFU18ke1BOfS1kYnVzID0gIiAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcy8gJHtsaWJkaXJ9LyR7QlBOfS9iaW5kaW5nL2xpYmJpbmRpbmdfZGJ1cy5zbyAiCitGSUxFU18ke1BOfS1zcGVlY2gtY21kbGluZSA9ICIgJHtsaWJkaXJ9LyR7QlBOfS9zcGVlY2gvbGlic3BlZWNoX2NtZGxpbmUuc28gIgorRklMRVNfJHtQTn0tc3BlZWNoLWRidXMgPSAiICR7bGliZGlyfS8ke0JQTn0vc3BlZWNoL2xpYnNwZWVjaF9kYnVzLnNvICIKK0ZJTEVTXyR7UE59LWd1aS1ndGsgPSAiICR7bGliZGlyfS8ke0JQTn0vZ3VpL2xpYmd1aV9ndGsuc28gIgorRklMRVNfJHtQTn0tZ3VpLXFtbCA9ICIgJHtsaWJkaXJ9LyR7QlBOfS9ndWkvbGliZ3VpX3FtbC5zbyAke2RhdGFkaXJ9L25hdml0L3NraW5zLyAiCitGSUxFU18ke1BOfS1ndWktaW50ZXJuYWwgPSAiICR7bGliZGlyfS8ke0JQTn0vZ3VpL2xpYmd1aV9pbnRlcm5hbC5zbyAiCitGSUxFU18ke1BOfS1ncmFwaGljcy1zZGwgPSAiICR7bGliZGlyfS8ke0JQTn0vZ3JhcGhpY3MvbGliZ3JhcGhpY3Nfc2RsLnNvICIKK0ZJTEVTXyR7UE59LWdyYXBoaWNzLXF0ID0gIiAke2xpYmRpcn0vJHtCUE59L2dyYXBoaWNzL2xpYmdyYXBoaWNzX3F0X3FwYWludGVyLnNvICIKK0ZJTEVTXyR7UE59LWdyYXBoaWNzLWd0ayA9ICIgJHtsaWJkaXJ9LyR7QlBOfS9ncmFwaGljcy9saWJncmFwaGljc19ndGtfZHJhd2luZ19hcmVhLnNvICIKK0ZJTEVTXyR7UE59LWljb25zID0gIi91c3Ivc2hhcmUvbmF2aXQveHBtLyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyBNT0M9YCRQS0dfQ09ORklHIFF0R3VpIC0tdmFyaWFibGU9bW9jX2xvY2F0aW9uYCByZXR1cm5zIG9ubHkgL3Vzci9iaW4vbW9jNCB3aGljaCBpcyBub3QgYXZhaWxhYmxlIG9uIGhvc3RzIHdpdGhvdXQgUXQKKyAgICBzZWQgLWkgInMjTU9DPSNNT0M9JHtTVEFHSU5HX0RJUl9OQVRJVkV9I2ciICR7U30vY29uZmlndXJlLmluCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgZml4IFFBIGlzc3VlCisgICAgc2VkIC1pICdzI0NhdGVnb3JpZXM9R1RLO1V0aWxpdHk7R2VvZ3JhcGh5OyNDYXRlZ29yaWVzPUdyYXBoaWNzOyNnJyAke0R9JHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMvbmF2aXQuZGVza3RvcAorCisgICAgcm0gJHtEfSR7bGliZGlyfS8ke0JQTn0vKi8qLmxhCisKKyAgICAjVXNlIHNwbGl0IGNvbmZpZworICAgIG12ICR7RH0ke2RhdGFkaXJ9L25hdml0L25hdml0LnhtbCAke0R9JHtkYXRhZGlyfS9uYXZpdC9uYXZpdC5kZWZhdWx0LnhtbAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25hdml0LnhtbCAke0R9JHtkYXRhZGlyfS9uYXZpdC9uYXZpdC54bWwKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9tYXBzLnhtbCAke0R9JHtkYXRhZGlyfS9uYXZpdC9tYXBzLnhtbAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L29zZC54bWwgJHtEfSR7ZGF0YWRpcn0vbmF2aXQvb3NkLnhtbAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NwZWVjaC54bWwgJHtEfSR7ZGF0YWRpcn0vbmF2aXQvc3BlZWNoLnhtbAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3BsdWdpbnMueG1sICR7RH0ke2RhdGFkaXJ9L25hdml0L3BsdWdpbnMueG1sCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L2NvbmZpZ3VyZS5hZGQuaW1saWIyLm9wdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvY29uZmlndXJlLmFkZC5pbWxpYjIub3B0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlNDE3OTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L2NvbmZpZ3VyZS5hZGQuaW1saWIyLm9wdGlvbi5wYXRjaApAQCAtMCwwICsxLDE2IEBACistLS0gYS9jb25maWd1cmUuaW4ub3JpZwkyMDE0LTA1LTEwIDE1OjU3OjE4LjE0NjM2MjExMCArMDIwMAorKysrIGIvY29uZmlndXJlLmluCTIwMTQtMDUtMTAgMTU6NTk6MjcuODU5MzU4ODQ1ICswMjAwCitAQCAtNDk4LDEwICs0OTgsMTMgQEAKKyBBQ19TVUJTVChGUklCSURJX0NGTEFHUykKKyBBQ19TVUJTVChGUklCSURJX0xJQlMpCisgCisrQUNfQVJHX0VOQUJMRShpbWxpYjIsIFsgIC0tZGlzYWJsZS1pbWxpYjIgIGRpc2FibGUgaW1saWIyIHN1cHBvcnRdLCBpbWxpYjI9JGVuYWJsZXZhbDtpbWxpYjJfcmVhc29uPSJjb25maWd1cmUgcGFyYW1ldGVyIiwgaW1saWIyPXllcykKKytpZiB0ZXN0IHgiJHtpbWxpYjJ9IiA9ICJ4eWVzIjsgdGhlbgorIFBLR19DSEVDS19NT0RVTEVTKElNTElCMiwgW2ltbGliMl0sIFtpbWxpYjJfcGtnY29uZmlnPXllc10sIFtpbWxpYjJfcGtnY29uZmlnPW5vXSkKKyBpZiB0ZXN0ICJ4JGltbGliMl9wa2djb25maWciID0gInh5ZXMiOyB0aGVuCisgICAgQUNfREVGSU5FKEhBVkVfSU1MSUIyLCAxLCBbRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgaW1saWIyXSkKKyBmaQorK2ZpCisgQUNfU1VCU1QoSU1MSUIyX0NGTEFHUykKKyBBQ19TVUJTVChJTUxJQjJfTElCUykKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvZnJlZXR5cGUtaW5jbHVkZS1wYXRoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9mcmVldHlwZS1pbmNsdWRlLXBhdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjg4OTk3YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvZnJlZXR5cGUtaW5jbHVkZS1wYXRoLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Rlc2NyaXB0aW9uOiBGaXggRlRCRlMgY2F1c2VkIGJ5IGZyZWV0eXBlIGhlYWRlcnMgcGF0aCBjaGFuZ2UuCitBdXRob3I6IEdpbGxlcyBGaWxpcHBpbmkgPHBpbmlAZGViaWFuLm9yZz4KK0J1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNzMzMzc4CitJbmRleDogbmF2aXQvbmF2aXQvZm9udC9mcmVldHlwZS9mb250X2ZyZWV0eXBlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuYXZpdC5vcmlnL25hdml0L2ZvbnQvZnJlZXR5cGUvZm9udF9mcmVldHlwZS5jCTIwMTMtMDktMjMgMTA6NDM6MzIuMDAwMDAwMDAwICswMjAwCisrKysgbmF2aXQvbmF2aXQvZm9udC9mcmVldHlwZS9mb250X2ZyZWV0eXBlLmMJMjAxMy0xMi0zMCAxOTo1NDo0NS4wMDAwMDAwMDAgKzAxMDAKK0BAIC0zMiw3ICszMiw3IEBACisgI2lmIFVTRV9GUklCSURJCisgI2luY2x1ZGUgPGZyaWJpZGkuaD4KKyAjZW5kaWYKKy0jaW5jbHVkZSA8ZnJlZXR5cGUvZnRnbHlwaC5oPgorKyNpbmNsdWRlIDxmdGdseXBoLmg+CisgI2luY2x1ZGUgInBvaW50LmgiCisgI2luY2x1ZGUgImdyYXBoaWNzLmgiCisgI2luY2x1ZGUgImRlYnVnLmgiCitkaWZmIC11TnIgbmF2aXQub3JpZy9uYXZpdC9ncmFwaGljcy9zZGwvZ3JhcGhpY3Nfc2RsLmMgbmF2aXQvbmF2aXQvZ3JhcGhpY3Mvc2RsL2dyYXBoaWNzX3NkbC5jCistLS0gbmF2aXQub3JpZy9uYXZpdC9ncmFwaGljcy9zZGwvZ3JhcGhpY3Nfc2RsLmMJMjAxMi0wNi0yMiAxNDoxNjowMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBuYXZpdC9uYXZpdC9ncmFwaGljcy9zZGwvZ3JhcGhpY3Nfc2RsLmMJMjAxNC0wMS0wMSAyMjozMToxMC44OTI5NDgxNjQgKzAxMDAKK0BAIC04NCw3ICs4NCw3IEBACisgI2Vsc2UKKyAjaW5jbHVkZSA8ZnQyYnVpbGQuaD4KKyAjaW5jbHVkZSBGVF9GUkVFVFlQRV9ICistI2luY2x1ZGUgPGZyZWV0eXBlL2Z0Z2x5cGguaD4KKysjaW5jbHVkZSA8ZnRnbHlwaC5oPgorICNlbmRpZgorICNpbmNsdWRlIDxldmVudC5oPgorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9tYXBzLnhtbCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvbWFwcy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmY1OWYyMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvbWFwcy54bWwKQEAgLTAsMCArMSwyNCBAQAorICAgICAgICAgICAgICAgIDwhLS0gSWYgeW91IGhhdmUgdGhlIHJlaXNlcGxhbmVyIG1hcHMgaW5zdGFsbGVkLCBzZXQgZW5hYmxlZD0ieWVzIiBpbiB0aGUgbmV4dCBsaW5lIGFuZCBzZXQgdGhlIHBhdGggY29ycmVjdGx5IC0tPgorICAgICAgICAgICAgICAgIDxtYXBzZXQgZW5hYmxlZD0ibm8iPgorICAgICAgICAgICAgICAgICAgICAgICAgPG1hcCB0eXBlPSJtZyIgZW5hYmxlZD0ieWVzIiBkYXRhPSIvb3B0L3JlaXNlcGxhbmVyL3RyYXZlbC9ERS5tYXAiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxtYXAgdHlwZT0ibWciIGVuYWJsZWQ9InllcyIgZGF0YT0iL29wdC9yZWlzZXBsYW5lci90cmF2ZWwvREUubWFwL3NtcDEuc21wIi8+CisgICAgICAgICAgICAgICAgICAgICAgICA8bWFwIHR5cGU9Im1nIiBlbmFibGVkPSJ5ZXMiIGRhdGE9Ii9vcHQvcmVpc2VwbGFuZXIvdHJhdmVsL0RFLm1hcC9zbXAyLnNtcCIvPgorICAgICAgICAgICAgICAgICAgICAgICAgPG1hcCB0eXBlPSJtZyIgZW5hYmxlZD0ieWVzIiBkYXRhPSIvb3B0L3JlaXNlcGxhbmVyL3RyYXZlbC9ERS5tYXAvc21wMy5zbXAiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxtYXAgdHlwZT0ibWciIGVuYWJsZWQ9InllcyIgZGF0YT0iL29wdC9yZWlzZXBsYW5lci90cmF2ZWwvREUubWFwL3NtcDQuc21wIi8+CisgICAgICAgICAgICAgICAgICAgICAgICA8bWFwIHR5cGU9Im1nIiBlbmFibGVkPSJ5ZXMiIGRhdGE9Ii9vcHQvcmVpc2VwbGFuZXIvdHJhdmVsL0RFLm1hcC9zbXA1LnNtcCIvPgorICAgICAgICAgICAgICAgIDwvbWFwc2V0PgorCisgICAgICAgICAgICAgICAgPCEtLSBJZiB5b3UgZG9udCB3YW50IHRvIHVzZSB0aGUgc2FtcGxlIG1hcCwgZWl0aGVyIHNldCBlbmFibGVkPSJubyIgaW4gdGhlIG5leHQgbGluZSBvciByZW1vdmUgdGhlIHhtbCBmaWxlIGZyb20gdGhlIG1hcHMgZGlyZWN0b3J5IC0tPgorICAgICAgICAgICAgICAgIDxtYXBzZXQgZW5hYmxlZD0ibm8iPgorICAgICAgICAgICAgICAgICAgICAgICAgPHhpOmluY2x1ZGUgaHJlZj0iJE5BVklUX1NIQVJFRElSL21hcHMvKi54bWwiLz4KKyAgICAgICAgICAgICAgICA8L21hcHNldD4KKworICAgICAgICAgICAgICAgIDwhLS0gTWFwc2V0IHRlbXBsYXRlIGZvciBvcGVuc3RyZWV0bWFwcyAtLT4KKyAgICAgICAgICAgICAgICA8bWFwc2V0IGVuYWJsZWQ9InllcyI+CisgICAgICAgICAgICAgICAgICAgICAgICA8bWFwIHR5cGU9ImJpbmZpbGUiIGVuYWJsZWQ9InllcyIgZGF0YT0iL21lZGlhL21tYzIvTWFwc05hdml0L29zbV9ldXJvcGUuYmluIi8+CisgICAgICAgICAgICAgICAgPC9tYXBzZXQ+CisKKyAgICAgICAgICAgICAgICA8IS0tIE1hcHNldCB0ZW1wbGF0ZSBmb3IgZ2FybWluIG1hcHMgLS0+CisgICAgICAgICAgICAgICAgPG1hcHNldCBlbmFibGVkPSJubyI+CisgICAgICAgICAgICAgICAgICAgICAgICA8bWFwIHR5cGU9Imdhcm1pbiIgZW5hYmxlZD0ieWVzIiBkYXRhPSIvcGF0aC90by9pbWciIGRlYnVnPSI0Ii8+CisgICAgICAgICAgICAgICAgPC9tYXBzZXQ+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L25hdml0LnhtbCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvbmF2aXQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4YzhjMjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L25hdml0LnhtbApAQCAtMCwwICsxLDQ1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGNvbmZpZyBTWVNURU0gIm5hdml0LmR0ZCI+Cis8Y29uZmlnIHhtbG5zOnhpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNsdWRlIj4KKwk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L3BsdWdpbnMueG1sIi8+CisJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9uYXZpdC5kZWZhdWx0LnhtbCIgeHBvaW50ZXI9Inhwb2ludGVyKC9jb25maWcvZGVidWcpIi8+CisKKwk8bmF2aXQgY2VudGVyPSI0ODA4IE4gMTEzNCBFIiB6b29tPSIyNTYiIHRyYWNraW5nPSIxIiBvcmllbnRhdGlvbj0iLTEiIHJlY2VudF9kZXN0PSIxMCIgZHJhZ19iaXRtYXA9IjEiPgorCQk8Z3JhcGhpY3MgdHlwZT0iZ3RrX2RyYXdpbmdfYXJlYSIvPgorCQk8Z3VpIHR5cGU9Imd0ayIgZW5hYmxlZD0ibm8iIG1lbnViYXI9IjEiIHRvb2xiYXI9IjEiIHN0YXR1c2Jhcj0iMSIvPgorCQk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L25hdml0LmRlZmF1bHQueG1sIiB4cG9pbnRlcj0ieHBvaW50ZXIoL2NvbmZpZy9uYXZpdC9ndWlbQHR5cGU9J2ludGVybmFsJ10pIi8+CisJCTwhLS0gb3IgY29tbWVudCBndGsgdmVyc2lvbiBhYm92ZSBhbmQgdHJ5OgorCQlvcGtnIGluc3RhbGwgbmF2aXQtZ3JhcGhpY3MtcXQKKwkJb3BrZyBpbnN0YWxsIG5hdml0LWd1aS1xbWwKKwkJPGdyYXBoaWNzIHR5cGU9InF0X3FwYWludGVyIi8+CisJCTxndWkgdHlwZT0icW1sIiBlbmFibGVkPSJ5ZXMiIG1lbnViYXI9IjEiIHRvb2xiYXI9IjEiIHN0YXR1c2Jhcj0iMSIvPgorCQktLT4KKwkJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9vc2QueG1sIi8+CisJCTxsb2cgZW5hYmxlZD0ibm8iIHR5cGU9InRleHRmaWxlX2RlYnVnIiBkYXRhPSJkZWJ1Z18lWSVtJWQtJWkudHh0IiBmbHVzaF9zaXplPSIxMDAwIiBmbHVzaF90aW1lPSIzMCIvPgorCQk8dmVoaWNsZSBuYW1lPSJMb2NhbCBHUFMiIHByb2ZpbGVuYW1lPSJjYXIiIGVuYWJsZWQ9InllcyIgYWN0aXZlPSIxIiBzb3VyY2U9Imdwc2Q6Ly9sb2NhbGhvc3QiIGdwc2RfcXVlcnk9IncreGoiPgorCQkJPCEtLSA8bG9nIHR5cGU9ImdweCIgYXR0cl90eXBlcz0icG9zaXRpb25fdGltZV9pc284NjAxLHBvc2l0aW9uX2RpcmVjdGlvbixwb3NpdGlvbl9zcGVlZCxwcm9maWxlbmFtZSxwb3NpdGlvbl9yYWRpdXMiIGRhdGE9InRyYWNrXyVZJW0lZC0laS5ncHgiIGZsdXNoX3NpemU9IjEwMDAiIGZsdXNoX3RpbWU9IjMwIi8+IC0tPgorCQk8L3ZlaGljbGU+CisKKwkJPHZlaGljbGUgbmFtZT0iRGVtbyIgcHJvZmlsZW5hbWU9ImNhciIgZW5hYmxlZD0ibm8iIGFjdGl2ZT0ieWVzIiBzb3VyY2U9ImRlbW86Ly8iLz4KKworCQk8IS0tIEZvciB0aGUgY3VtdWxhdGl2ZSBkaXNwbGFjZW1lbnQgZmlsdGVyIHRvIGJlIGVuYWJsZWQsIHNldCBjZGZfaGlzdHNpemU9IngiIGhlcmUsIHdpdGggeCBiZWluZyBhbiBpbnRlZ2VyIHNvbWV3aGVyZSBhcm91bmQgNCAtLT4KKwkJPHRyYWNraW5nIGNkZl9oaXN0c2l6ZT0iMCIvPgorCisJCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvbmF2aXQuZGVmYXVsdC54bWwiIHhwb2ludGVyPSJ4cG9pbnRlcigvY29uZmlnL25hdml0L3ZlaGljbGVwcm9maWxlW0BuYW1lPSdjYXInXSkiLz4KKwkJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9uYXZpdC5kZWZhdWx0LnhtbCIgeHBvaW50ZXI9Inhwb2ludGVyKC9jb25maWcvbmF2aXQvdmVoaWNsZXByb2ZpbGVbQG5hbWU9J2Jpa2UnXSkiLz4KKwkJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9uYXZpdC5kZWZhdWx0LnhtbCIgeHBvaW50ZXI9Inhwb2ludGVyKC9jb25maWcvbmF2aXQvdmVoaWNsZXByb2ZpbGVbQG5hbWU9J3BlZGVzdHJpYW4nXSkiLz4KKwkJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9uYXZpdC5kZWZhdWx0LnhtbCIgeHBvaW50ZXI9Inhwb2ludGVyKC9jb25maWcvbmF2aXQvdmVoaWNsZXByb2ZpbGVbQG5hbWU9J2hvcnNlJ10pIi8+CisKKwkJPHJvdXRlIGRlc3RpbmF0aW9uX2Rpc3RhbmNlPSI1MCIvPgorCisJCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvbmF2aXQuZGVmYXVsdC54bWwiIHhwb2ludGVyPSJ4cG9pbnRlcigvY29uZmlnL25hdml0L25hdmlnYXRpb24pIi8+CisKKwkJPHhpOmluY2x1ZGUgaHJlZj0iL3Vzci9zaGFyZS9uYXZpdC9zcGVlY2gueG1sIi8+CisJCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvbWFwcy54bWwiLz4KKworCQk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L25hdml0LmRlZmF1bHQueG1sIiB4cG9pbnRlcj0ieHBvaW50ZXIoL2NvbmZpZy9uYXZpdC9sYXlvdXRbQG5hbWU9J0NhciddKSIvPgorCQk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L25hdml0LmRlZmF1bHQueG1sIiB4cG9pbnRlcj0ieHBvaW50ZXIoL2NvbmZpZy9uYXZpdC9sYXlvdXRbQG5hbWU9J0Nhci1kYXJrJ10pIi8+CisJCTx4aTppbmNsdWRlIGhyZWY9Ii91c3Ivc2hhcmUvbmF2aXQvbmF2aXQuZGVmYXVsdC54bWwiIHhwb2ludGVyPSJ4cG9pbnRlcigvY29uZmlnL25hdml0L2xheW91dFtAbmFtZT0nQmlrZSddKSIvPgorCQk8eGk6aW5jbHVkZSBocmVmPSIvdXNyL3NoYXJlL25hdml0L25hdml0LmRlZmF1bHQueG1sIiB4cG9pbnRlcj0ieHBvaW50ZXIoL2NvbmZpZy9uYXZpdC9sYXlvdXRbQG5hbWU9J1RASCddKSIvPgorCTwvbmF2aXQ+Cis8L2NvbmZpZz4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvb3NkLnhtbCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvb3NkLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDBmOWZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9vc2QueG1sCkBAIC0wLDAgKzEsMTUgQEAKKyAgICAgICAgICAgICAgICA8IS0tIG9zZCBpdGVtcyBhbGxvdyB0byBwb3NpdGlvbiBkaXNwbGF5IGFuZCBjb250cm9sIGl0ZW1zIGRpcmVjdGx5IG9uIHRvcCBvZiB0aGUgbWFwOiAtLT4KKyAgICAgICAgICAgICAgICA8b3NkIGVuYWJsZWQ9Im5vIiB0eXBlPSJjb21wYXNzIi8+CisgICAgICAgICAgICAgICAgPG9zZCBlbmFibGVkPSJubyIgdHlwZT0iZXRhIi8+CisgICAgICAgICAgICAgICAgPG9zZCBlbmFibGVkPSJubyIgdHlwZT0ibmF2aWdhdGlvbl9kaXN0YW5jZV90b190YXJnZXQiLz4KKyAgICAgICAgICAgICAgICA8b3NkIGVuYWJsZWQ9Im5vIiB0eXBlPSJuYXZpZ2F0aW9uIi8+CisgICAgICAgICAgICAgICAgPG9zZCBlbmFibGVkPSJubyIgdHlwZT0ibmF2aWdhdGlvbl9kaXN0YW5jZV90b19uZXh0Ii8+CisgICAgICAgICAgICAgICAgPG9zZCBlbmFibGVkPSJubyIgdHlwZT0ibmF2aWdhdGlvbl9uZXh0X3R1cm4iLz4KKworICAgICAgICAgICAgICAgIDwhLS0gQ29tbWFuZHMgaW5jbHVkZSBndWlfaW50ZXJuYWxfbWVudSwgZ3VpX2ludGVybmFsX2Z1bGxzY3JlZW4sIHpvb21faW4gYW5kIHpvb21fb3V0LgorICAgICAgICAgICAgICAgICAgICAgICAgIFVzYWdlIG9mIG5lZ2F0aXZlIHZhbHVlcyBjaGFuZ2UgdGhlIGJ1dHRvbiBvcmlnaW5zLiB4PSIwIiB5PSIwIiBzcGVjaWZpZXMgdGhlIHRvcCBsZWZ0LCB4PSItMCIgeT0iLTAiIHRoZSBib3R0b20gcmlnaHQgY29ybmVyLgorICAgICAgICAgICAgICAgICAgICAgICAgIEl0J3MgYWx3YXlzIHRoZSB0b3AgbGVmdCBjb3JuZXIgb2YgdGhlIGljb24sIHNvIHlvdSBuZWVkIHRvIGNvbnNpZGVyIHRoZSBpY29uJ3Mgc2l6ZSB3aGVuIHlvdSBlbnRlciB0aGUgdmFsdWVzLiAtLT4KKyAgICAgICAgICAgICAgICA8b3NkIGVuYWJsZWQ9Im5vIiB0eXBlPSJidXR0b24iIHg9IjAiIHk9IjAiIGNvbW1hbmQ9Imd1aS5mdWxsc2NyZWVuKCkiIHNyYz0idG9nZ2xlX2Z1bGxzY3JlZW4ueHBtIi8+CisgICAgICAgICAgICAgICAgPG9zZCBlbmFibGVkPSJubyIgdHlwZT0iYnV0dG9uIiB4PSItOTYiIHk9IjAiIGNvbW1hbmQ9Imd1aS5tZW51KCkiIHNyYz0ibWVudS54cG0iLz4KKyAgICAgICAgICAgICAgICA8b3NkIGVuYWJsZWQ9Im5vIiB0eXBlPSJidXR0b24iIHg9Ii05NiIgeT0iLTk2IiBjb21tYW5kPSJ6b29tX2luKCkiIHNyYz0iem9vbV9pbi54cG0iLz4KKyAgICAgICAgICAgICAgICA8b3NkIGVuYWJsZWQ9Im5vIiB0eXBlPSJidXR0b24iIHg9IjAiIHk9Ii05NiIgY29tbWFuZD0iem9vbV9vdXQoKSIgc3JjPSJ6b29tX291dC54cG0iLz4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvcGx1Z2lucy54bWwgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L3BsdWdpbnMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxNWIwNTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL25hdml0L25hdml0L3BsdWdpbnMueG1sCkBAIC0wLDAgKzEsNiBAQAorPHBsdWdpbnM+CisJPHBsdWdpbiBwYXRoPSIkTkFWSVRfTElCRElSLyovJHtOQVZJVF9MSUJQUkVGSVh9bGliKi5zbyIgb25kZW1hbmQ9InllcyIvPgorCTxwbHVnaW4gcGF0aD0iJE5BVklUX0xJQkRJUi9hdXRvbG9hZC8ke05BVklUX0xJQlBSRUZJWH1saWIqLnNvIi8+CisJPHBsdWdpbiBwYXRoPSIkTkFWSVRfTElCRElSLyovJHtOQVZJVF9MSUJQUkVGSVh9bGliYmluZGluZ19kYnVzLnNvIiBhY3RpdmU9InllcyIvPgorCTxwbHVnaW4gcGF0aD0iJE5BVklUX0xJQkRJUi8qLyR7TkFWSVRfTElCUFJFRklYfWxpYmdyYXBoaWNzX251bGwuc28iIGFjdGl2ZT0ibm8iLz4KKzwvcGx1Z2lucz4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvc3BlZWNoLnhtbCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXQvc3BlZWNoLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOGM0OTkwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdC9zcGVlY2gueG1sCkBAIC0wLDAgKzEsOCBAQAorICAgICAgICAgICAgICAgIDwhLS0gTmF2aXQgcHJvdmlkZXMgc3BlZWNoIG91dHB1dCBpbiB0ZXh0IGZvcm1hdC4KKyAgICAgICAgICAgICAgICAgICAgICAgICBJZiB5b3UgaGF2ZSBhIHNwZWVjaCBzeW50aGVzaXplciBsaWtlIGZlc3RpdmFsIGxpdGUgaW5zdGFsbGVkLCB5b3UgY2FuIGdldCB0dXJuIGJ5IHR1cm4gZGlyZWN0aW9ucyBvdXQgb2YgbmF2aXQuIFBsZWFzZSBzZXQgdGhlICJjcHMiLXZhbHVlIHRvIGhvdyBtYW55IGNoYXJhY3RlcnMgeW91ciB0dHMgZW5naW5lIGFwcHJveGltYXRlbHkgc3BlYWtzIHBlciBzZWNvbmQuCisgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGV4dCBvdXRwdXQgdG8gdGhlIHNoZWxsIC0tPgorICAgICAgICAgICAgICAgIDwhLS0gPHNwZWVjaCB0eXBlPSJjbWRsaW5lIiBkYXRhPSJlY2hvICdGaXggdGhlIHNwZWVjaCB0YWcgaW4gbmF2aXQueG1sIHRvIGxldCBuYXZpdCBzYXk6JyAnJXMnIiBjcHM9IjE1Ii8+IC0tPgorICAgICAgICAgICAgICAgIDwhLS0gPHNwZWVjaCB0eXBlPSJjbWRsaW5lIiBkYXRhPSJlc3BlYWsgLXMgMTUwIC12IGN6ZWNoICclcycgJmFtcDsiLz4gLS0+CisgICAgICAgICAgICAgICAgPCEtLSA8c3BlZWNoIHR5cGU9ImNtZGxpbmUiIGRhdGE9ImZsaXRlIC10ICclcyciLz4gLS0+CisgICAgICAgICAgICAgICAgPCEtLSA8c3BlZWNoIHR5cGU9ImNtZGxpbmUiIGRhdGE9Ii91c3IvbG9jYWwvYmluL3NheS5zaCAnJXMnIi8+IC0tPgorICAgICAgICAgICAgICAgIDxzcGVlY2ggdHlwZT0iY21kbGluZSIgZGF0YT0iZXNwZWFrICclcycgJmFtcDsiLz4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXRfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9uYXZpdC9uYXZpdF9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmRmYmI0YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vbmF2aXQvbmF2aXRfc3ZuLmJiCkBAIC0wLDAgKzEsMTEgQEAKK3JlcXVpcmUgbmF2aXQuaW5jCisKK1NSQ1JFViA9ICI1MzEwIgorUFYgPSAiMC4yLjArc3ZuciR7U1JDUFZ9IgorUFIgPSAiJHtJTkNfUFJ9LjMiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCitTUkNfVVJJICs9ICJzdm46Ly9hbm9ueW1vdXNAbmF2aXQuc3ZuLnNvdXJjZWZvcmdlLm5ldC9zdm5yb290L25hdml0L3RydW5rO21vZHVsZT1uYXZpdDtwcm90b2NvbD1odHRwIFwKKyAgICBmaWxlOi8vZnJlZXR5cGUtaW5jbHVkZS1wYXRoLnBhdGNoIFwKKyAgICBmaWxlOi8vY29uZmlndXJlLmFkZC5pbWxpYjIub3B0aW9uLnBhdGNoIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vb3JyZXJ5L29ycmVyeS9vcnJlcnkucG5nIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9vcnJlcnkvb3JyZXJ5L29ycmVyeS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk4NjViNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vb3JyZXJ5L29ycmVyeS9vcnJlcnkucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vb3JyZXJ5L29ycmVyeS91c2UuR2RrUGl4YnVmLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbmF2aWdhdGlvbi9vcnJlcnkvb3JyZXJ5L3VzZS5HZGtQaXhidWYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTJkMTk0ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vb3JyZXJ5L29ycmVyeS91c2UuR2RrUGl4YnVmLnBhdGNoCkBAIC0wLDAgKzEsNTkgQEAKK0Zyb206IEJlbmphbWluIERlZXJpbmcKK1N1YmplY3Q6IG9ycmVyeSBjcmFzaGluZyBYCitEYXRlOiBUaHVyc2RheSwgU2VwdGVtYmVyIDIsIDIwMTAgLSA1OjI1IHBtCitMaW5rOiBodHRwOi8va2VybmVsdHJhcC5vcmcvbWFpbGFyY2hpdmUvb3Blbm1va28tY29tbXVuaXR5LzIwMTAvOS8zLzEzMjE4CisKK2RpZmYgLXVOciBvcnJlcnkub3JpZy8vb3JyZXJ5LmMgb3JyZXJ5L29ycmVyeS5jCistLS0gb3JyZXJ5Lm9yaWcvL29ycmVyeS5jCTIwMDktMTEtMzAgMDY6NTk6NDQuMDAwMDAwMDAwICswMTAwCisrKysgb3JyZXJ5L29ycmVyeS5jCTIwMTAtMTEtMTUgMjI6MzM6MTcuMDAwMDAwMDAwICswMTAwCitAQCAtMTIzOCwxMiArMTIzOCw0NCBAQAorICAgICB9CisgICAgIGN1cnJlbnRFbnRyeSA9IGN1cnJlbnRFbnRyeS0+Zm9yd2FyZFBvaW50ZXI7CisgICB9CistICBpZiAobkRhcmtHcmV5UG9pbnRzID4gMCkKKy0gICAgZ2RrX2RyYXdfcG9pbnRzKHBpeG1hcCwgZGFya0dyZXlHQywgZGFya0dyZXlQb2ludHMsIG5EYXJrR3JleVBvaW50cyk7CistICBpZiAobkdyZXlQb2ludHMgPiAwKQorLSAgICBnZGtfZHJhd19wb2ludHMocGl4bWFwLCBncmV5R0MsIGdyZXlQb2ludHMsIG5HcmV5UG9pbnRzKTsKKy0gIGlmIChuV2hpdGVQb2ludHMgPiAwKQorLSAgICBnZGtfZHJhd19wb2ludHMocGl4bWFwLCB3aGl0ZUdDLCB3aGl0ZVBvaW50cywgbldoaXRlUG9pbnRzKTsKKysgIEdka1BpeGJ1Ziogc3RhckRyYXdpbmdCdWYgPSBnZGtfcGl4YnVmX2dldF9mcm9tX2RyYXdhYmxlKCBOVUxMLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpeG1hcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZGtfY29sb3JtYXBfZ2V0X3N5c3RlbSgpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAwLCAwLCAwLCAwLCBkaXNwbGF5V2lkdGgsIGRpc3BsYXlIZWlnaHQpOworKyAgZ19hc3NlcnQgKGdka19waXhidWZfZ2V0X2JpdHNfcGVyX3NhbXBsZSAoc3RhckRyYXdpbmdCdWYpID09IDgpOworKyAgZ3VjaGFyKiBwOworKyAgaW50IHJvd3N0cmlkZSA9IGdka19waXhidWZfZ2V0X3Jvd3N0cmlkZSAoc3RhckRyYXdpbmdCdWYpOworKyAgZ3VjaGFyKiBwaXhlbHMgPSBnZGtfcGl4YnVmX2dldF9waXhlbHMgKHN0YXJEcmF3aW5nQnVmKTsKKysgIGludCBuX2NoYW5uZWxzID0gZ2RrX3BpeGJ1Zl9nZXRfbl9jaGFubmVscyAoc3RhckRyYXdpbmdCdWYpOworKyAgR2RrR0NWYWx1ZXMgc3RhckdDdmFsOworKyAgR2RrQ29sb3Igc3RhckNvbG9yOworKyAgaW50IHBvaW50TnVtOworKyAgZ2RrX2djX2dldF92YWx1ZXMoZGFya0dyZXlHQywgJnN0YXJHQ3ZhbCk7CisrICBnZGtfY29sb3JtYXBfcXVlcnlfY29sb3IoIGdka19nY19nZXRfY29sb3JtYXAoZGFya0dyZXlHQyksc3RhckdDdmFsLmZvcmVncm91bmQucGl4ZWwsICZzdGFyQ29sb3IgKTsKKysgIGZvciggcG9pbnROdW0gPSAwOyBwb2ludE51bSA8IG5EYXJrR3JleVBvaW50czsgcG9pbnROdW0rKykgeworKyAgICBwID0gcGl4ZWxzICsgZGFya0dyZXlQb2ludHNbcG9pbnROdW1dLnkgKiByb3dzdHJpZGUgKyBkYXJrR3JleVBvaW50c1twb2ludE51bV0ueCAqIG5fY2hhbm5lbHM7CisrICAgIHBbMF0gPSBzdGFyQ29sb3IucmVkICYgMHhmZjsKKysgICAgcFsxXSA9IHN0YXJDb2xvci5ncmVlbiAmIDB4ZmY7CisrICAgIHBbMl0gPSBzdGFyQ29sb3IuYmx1ZSAmIDB4ZmY7CisrICB9CisrICBnZGtfZ2NfZ2V0X3ZhbHVlcyhncmV5R0MsICZzdGFyR0N2YWwpOworKyAgZ2RrX2NvbG9ybWFwX3F1ZXJ5X2NvbG9yKCBnZGtfZ2NfZ2V0X2NvbG9ybWFwKGdyZXlHQyksIHN0YXJHQ3ZhbC5mb3JlZ3JvdW5kLnBpeGVsLCAmc3RhckNvbG9yICk7CisrICBmb3IoIHBvaW50TnVtID0gMDsgcG9pbnROdW0gPCBuR3JleVBvaW50czsgcG9pbnROdW0rKykgeworKyAgICBwID0gcGl4ZWxzICsgZ3JleVBvaW50c1twb2ludE51bV0ueSAqIHJvd3N0cmlkZSArIGdyZXlQb2ludHNbcG9pbnROdW1dLnggKiBuX2NoYW5uZWxzOworKyAgICBwWzBdID0gc3RhckNvbG9yLnJlZCAmIDB4ZmY7CisrICAgIHBbMV0gPSBzdGFyQ29sb3IuZ3JlZW4gJiAweGZmOworKyAgICBwWzJdID0gc3RhckNvbG9yLmJsdWUgJiAweGZmOworKyAgfQorKyAgZ2RrX2djX2dldF92YWx1ZXMod2hpdGVHQywgJnN0YXJHQ3ZhbCk7CisrICBnZGtfY29sb3JtYXBfcXVlcnlfY29sb3IoIGdka19nY19nZXRfY29sb3JtYXAod2hpdGVHQyksIHN0YXJHQ3ZhbC5mb3JlZ3JvdW5kLnBpeGVsLCAmc3RhckNvbG9yICk7CisrICBmb3IoIHBvaW50TnVtID0gMDsgcG9pbnROdW0gPCBuV2hpdGVQb2ludHM7IHBvaW50TnVtKyspIHsKKysgICAgcCA9IHBpeGVscyArIHdoaXRlUG9pbnRzW3BvaW50TnVtXS55ICogcm93c3RyaWRlICsgd2hpdGVQb2ludHNbcG9pbnROdW1dLnggKiBuX2NoYW5uZWxzOworKyAgICBwWzBdID0gc3RhckNvbG9yLnJlZCAmIDB4ZmY7CisrICAgIHBbMV0gPSBzdGFyQ29sb3IuZ3JlZW4gJiAweGZmOworKyAgICBwWzJdID0gc3RhckNvbG9yLmJsdWUgJiAweGZmOworKyAgfQorKyAgZ2RrX2RyYXdfcGl4YnVmICggcGl4bWFwICwgTlVMTCAsIHN0YXJEcmF3aW5nQnVmLAorKyAgICAgICAgICAgIDAsIDAsIDAsIDAsIGRpc3BsYXlXaWR0aCwgZGlzcGxheUhlaWdodCwgR0RLX1JHQl9ESVRIRVJfTk9STUFMLCAwLCAwICkgOworIH0KKyAKKyB2b2lkIG1ha2VUaW1lU3RyaW5nKGNoYXIgKnN0cmluZykKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vb3JyZXJ5L29ycmVyeV8yLjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL29ycmVyeS9vcnJlcnlfMi43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwYTZkZjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL29ycmVyeS9vcnJlcnlfMi43LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiQXN0cm9ub21pY2FsIGFwcGxpY2F0aW9uIHdoaWNoIGRpc3BsYXlzIHRoZSBuaWdodCBza3kiCitIT01FUEFHRSAgICA9ICJodHRwOi8vcHJvamVjdHMub3Blbm1va28ub3JnL3Byb2plY3RzL29ycmVyeS8iCitTRUNUSU9OID0gIngxMS9zY2llbnRpZmljIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9vcnJlcnkuYztlbmRsaW5lPTI1O21kNT1kNzkyYmRmMmI1OTE5NzJkYTE3NWFlY2MzOGQ4OGNmZSIKK0RFUEVORFMgPSAiZ3RrKyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZworCitTUkNfVVJJID0gImh0dHA6Ly9wcm9qZWN0cy5vcGVubW9rby5vcmcvZnJzL2Rvd25sb2FkLnBocC85MjMvb3JyZXJ5XzIuN19jbGVhbi50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vb3JyZXJ5LnBuZyBcCisgICAgICAgICAgIGZpbGU6Ly91c2UuR2RrUGl4YnVmLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dICAgID0gImJkNjJhMzNlNzU1NGVlMTAzMDMxM2RmY2RlZmNkYThiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY0NTE2NmE1ZTA1YjIwNjRhYjYzMDUzNGE1MTQ2OTdmYzQ3YjY4MTk1MWU3ZmUxZDYzNWMyNTljYmRmN2E1ZTYiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICMgZml4IERTTyBpc3N1ZSB3aXRoIGJpbnV0aWxzLTIuMjIKKyAgICBzZWQgLWkgJ3MvIC1scnQvIC1scnQgLWxtL2cnICR7U30vTWFrZWZpbGUuYW0KK30KK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vb3JyZXJ5CisgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtTfS9kYXRhLyogJHtEfSR7ZGF0YWRpcn0vb3JyZXJ5CisgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0ke2RhdGFkaXJ9L29ycmVyeQorICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vaWNvbnMKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9vcnJlcnkucG5nICR7RH0ke2RhdGFkaXJ9L2ljb25zCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zL29ycmVyeS5wbmciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL3Byb2ovcHJval80LjguMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW5hdmlnYXRpb24vcHJvai9wcm9qXzQuOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0YmZhZjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1uYXZpZ2F0aW9uL3Byb2ovcHJval80LjguMC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIlBST0ouNCAtIENhcnRvZ3JhcGhpYyBQcm9qZWN0aW9ucyBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3RyYWMub3NnZW8ub3JnL3Byb2ovIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc0ZDlhYWVjNWZhMGNkNzM0MzQxZThjNGRjOTFiNjA4IgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5vc2dlby5vcmcvcHJvai9wcm9qLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkODE1ODM4YzkyYTI5MTc5Mjk4YzEyNmVmZmJiMTUzNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZGIyZGJmMGZlY2U4ZDk4ODA2NzkxNTRlMGQ2ZDFjZTdjNjk0ZGQ4ZTA4YjRkMDkxMDI4MDkzZDg3YTlkMWI1IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgbGliX3BhY2thZ2UKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vcHJvaiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1tYWlsXzMuOS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLW1haWxfMy45LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTM4YWYyZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1tYWlsXzMuOS4wLmJiCkBAIC0wLDAgKzEsNTYgQEAKK1NFQ1RJT04gPSAieDExL25ldHdvcmsiCitTVU1NQVJZID0gIk1haWwgdXNlciBhZ2VudCIKK0RFUEVORFMgPSAiZ3RrKyBsaWJldHBhbiBvcGVuc3NsIGFzcGVsbCBjdXJsIGxpYmdjcnlwdCIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lMDU5YmRlMjk3MmMxNzkwYWY3ODZmM2U4NmJhYzIyZSIKKworUE5CTEFDS0xJU1RbY2xhd3MtbWFpbF0gPz0gImRlcGVuZHMgb24gYmxhY2tsaXN0ZWQgbGliZXRwYW4iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0CisKKyMgdHJhbnNsYXRpb24gcGF0Y2g6IGh0dHA6Ly93d3cudGhld2lsZGJlYXN0LmNvLnVrL2NsYXdzLW1haWwvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTE3NzQKK1NSQ19VUkkgPSAiXAorICAgICAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC9jbGF3cy1tYWlsL0NsYXdzJTIwTWFpbC8ke1BWfS9jbGF3cy1tYWlsLSR7UFZ9LnRhci5iejI7bmFtZT1hcmNoaXZlICIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjRjNWFjN2IyMWYwZWQxN2QwZjY0MDQxMjRjMjIyOWE0IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZWQ3MDk3NWE1MDU2YjNmZmM0ZmU2ZTk3N2YwZDk2MDZmZWJjMTQ5OTc2M2MwOTAyNDFiMDI5YTczZmYyNGU2NSIKKworZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKyAgICBjZCAke1N9L3BvIDsgZm9yIFBPIGluICoucG8gOyBkbyBNTz1gZWNobyAkUE8gfCBzZWQgcy9cXC5wby8vYC5nbW8gOyBpZiAhIHRlc3QgLWYgJE1PIDsgdGhlbiBtc2dmbXQgJFBPIC1vICRNTyA7IGZpIDsgZG9uZTsgY2QgJHtCfQorfQorCitQQUNLQUdFQ09ORklHID8/PSAic3RhcnR1cC1ub3RpZmljYXRpb24gZGJ1cyIKK1BBQ0tBR0VDT05GSUdbZW5jaGFudF0gPSAiLS1lbmFibGUtZW5jaGFudCwtLWRpc2FibGUtZW5jaGFudCxlbmNoYW50IgorUEFDS0FHRUNPTkZJR1tzdGFydHVwLW5vdGlmaWNhdGlvbl0gPSAiLS1lbmFibGUtc3RhcnR1cC1ub3RpZmljYXRpb24sLS1kaXNhYmxlLXN0YXJ0dXAtbm90aWZpY2F0aW9uLHN0YXJ0dXAtbm90aWZpY2F0aW9uIgorUEFDS0FHRUNPTkZJR1tkYnVzXSA9ICItLWVuYWJsZS1kYnVzLC0tZGlzYWJsZS1kYnVzLGRidXMgZGJ1cy1nbGliIgorUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLWVuYWJsZS1sZGFwLC0tZGlzYWJsZS1sZGFwLG9wZW5sZGFwIgorCisjIEZJWE1FOiBtYWVtbyBidWlsZHMgbWF5IHdhbnQgLS1lbmFibGUtbWFlbW8KKyMgRklYTUU6IHNvbWUgcGxhdGZvcm1zIG1heSB3YW50IC0tZW5hYmxlLWdlbmVyaWMtdW1wYworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1kaXNhYmxlLW1hbnVhbCBcCisgICAgLS1kaXNhYmxlLWNyYXNoLWRpYWxvZyBcCisgICAgLS1kaXNhYmxlLWpwaWxvdCBcCisgICAgLS1kaXNhYmxlLXRyYXlpY29uLXBsdWdpbiBcCisgICAgLS1kaXNhYmxlLXNwYW1hc3Nhc3Npbi1wbHVnaW4gXAorICAgIC0tZGlzYWJsZS1ib2dvZmlsdGVyLXBsdWdpbiBcCisgICAgLS1kaXNhYmxlLXBncGNvcmUtcGx1Z2luIFwKKyAgICAtLWRpc2FibGUtcGdwbWltZS1wbHVnaW4gXAorICAgIC0tZGlzYWJsZS1wZ3BpbmxpbmUtcGx1Z2luIFwKKyAgICAtLWRpc2FibGUtZGlsbG8tdmlld2VyLXBsdWdpbiBcCisgICAgLS1kaXNhYmxlLXZhbGdyaW5kIFwKKyIKKworIyBSZW1vdmUgZW5jaGFudCByZWZlcmVuY2VzOgorZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAnczoke1NUQUdJTkdfSU5DRElSfToke2luY2x1ZGVkaXJ9Omc7czoke1NUQUdJTkdfTElCRElSfToke2xpYmRpcn06ZycgY2xhd3MtbWFpbC5wYworfQorCisjIFdvcmstYXJvdW5kIGJyb2tlbiBHUEUgaWNvbiBsb29rdXA6Citkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAtciAke0R9JHtkYXRhZGlyfS9pY29ucworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vcGl4bWFwcworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2NsYXdzLW1haWwucG5nICR7RH0ke2RhdGFkaXJ9L3BpeG1hcHMvCisgICAgc2VkIC1pICdzL0ljb249W14uXSokLyYucG5nLycgJHtEfSR7ZGF0YWRpcn0vYXBwbGljYXRpb25zL2NsYXdzLW1haWwuZGVza3RvcAorfQorCitSU1VHR0VTVFNfJHtQTn0gPSAiY2xhd3MtcGx1Z2luLWd0a2h0bWwyLXZpZXdlciBjbGF3cy1wbHVnaW4tbWFpbG1ib3ggY2xhd3MtcGx1Z2luLXJzc3lsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1ndGtodG1sMi12aWV3ZXIvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1ndGtodG1sMi12aWV3ZXIvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyMmE3OTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLWd0a2h0bWwyLXZpZXdlci9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorSW5kZXg6IGd0a2h0bWwyX3ZpZXdlci0wLjMxL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGd0a2h0bWwyX3ZpZXdlci0wLjMxLm9yaWcvY29uZmlndXJlLmFjCTIwMTEtMDgtMjcgMDg6MDg6NTUuMDAwMDAwMDAwICswMDAwCisrKysgZ3RraHRtbDJfdmlld2VyLTAuMzEvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMDc6Mjg6NDIuNzY5NTE4NjE4ICswMDAwCitAQCAtMSwzMyArMSwyNyBAQAorIEFDX1BSRVJFUSgyLjYwKQorLUFDX0lOSVQoc3JjL2d0a2h0bWwyX3ZpZXdlci5jKQorKworK2RubCBwbHVnaW4gdmVyc2lvbgorK200X2RlZmluZShbcGx1Z2luX21ham9yX3ZlcnNpb25dLFswXSkKKyttNF9kZWZpbmUoW3BsdWdpbl9taW5vcl92ZXJzaW9uXSxbMzFdKQorK200X2RlZmluZShbcGx1Z2luX21pY3JvX3ZlcnNpb25dLFswXSkKKyttNF9kZWZpbmUoW3BsdWdpbl92ZXJzaW9uXSwgW3BsdWdpbl9tYWpvcl92ZXJzaW9uLnBsdWdpbl9taW5vcl92ZXJzaW9uLnBsdWdpbl9taWNyb192ZXJzaW9uXSkKKysKKytBQ19JTklUKGd0a2htbDJfdmlld2VyLCBwbHVnaW5fdmVyc2lvbikKKytBQ19DT05GSUdfU1JDRElSKHNyYy9ndGtodG1sMl92aWV3ZXIuYykKKyBBQ19DT05GSUdfQVVYX0RJUihjb25maWcpCisgQU1fTUFJTlRBSU5FUl9NT0RFCisgCisgUEFDS0FHRT1ndGtodG1sMl92aWV3ZXIKKyAKKy1kbmwgcGx1Z2luIHZlcnNpb24KKy1NQUpPUl9WRVJTSU9OPTAKKy1NSU5PUl9WRVJTSU9OPTMxCistTUlDUk9fVkVSU0lPTj0wCisrTUFKT1JfVkVSU0lPTj1wbHVnaW5fbWFqb3JfdmVyc2lvbgorK01JTk9SX1ZFUlNJT049cGx1Z2luX21pbm9yX3ZlcnNpb24KKytNSUNST19WRVJTSU9OPXBsdWdpbl9taWNyb192ZXJzaW9uCisgRVhUUkFfVkVSU0lPTj0wCistCistaWYgdGVzdCBcKCAkRVhUUkFfVkVSU0lPTiAtZXEgMCBcKTsgdGhlbgorLSAgICBpZiB0ZXN0IFwoICRNSUNST19WRVJTSU9OIC1lcSAwIFwpOyB0aGVuCistICAgICAgICBWRVJTSU9OPSR7TUFKT1JfVkVSU0lPTn0uJHtNSU5PUl9WRVJTSU9OfSAKKy0gICAgZWxzZQorLQkJVkVSU0lPTj0ke01BSk9SX1ZFUlNJT059LiR7TUlOT1JfVkVSU0lPTn0uJHtNSUNST19WRVJTSU9OfQorLSAgICBmaQorLWVsc2UKKy0gICAgaWYgdGVzdCBcKCAkTUlDUk9fVkVSU0lPTiAtZXEgMCBcKTsgdGhlbgorLSAgICAgICAgVkVSU0lPTj0ke01BSk9SX1ZFUlNJT059LiR7TUlOT1JfVkVSU0lPTn1jdnMke0VYVFJBX1ZFUlNJT059CistICAgIGVsc2UKKy0JCVZFUlNJT049JHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059LiR7TUlDUk9fVkVSU0lPTn1jdnMke0VYVFJBX1ZFUlNJT059CistICAgIGZpCistZmkKKytWRVJTSU9OPXBsdWdpbl92ZXJzaW9uCisgCisgQUNfQ0FOT05JQ0FMX1NZU1RFTQorIAorLUFNX0lOSVRfQVVUT01BS0UoJFBBQ0tBR0UsICRWRVJTSU9OLCBuby1kZWZpbmUpCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbiBuby1kZWZpbmVdKQorIEFDX0NPTkZJR19IRUFERVJTKGNvbmZpZy5oKQorIEFDX0RFRklORV9VTlFVT1RFRChQTFVHSU5WRVJTSU9OLCAiJFZFUlNJT04iLCBbcGx1Z2luIHZlcnNpb25dKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1ndGtodG1sMi12aWV3ZXJfMC4zMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tZ3RraHRtbDItdmlld2VyXzAuMzEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI1MjU3MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tZ3RraHRtbDItdmlld2VyXzAuMzEuYmIKQEAgLTAsMCArMSwyNCBAQAorU0VDVElPTiA9ICJ4MTEvbmV0d29yayIKK1NVTU1BUlkgPSAiTWFpbCB1c2VyIGFnZW50IHBsdWdpbnMiCitERVBFTkRTID0gImNsYXdzLW1haWwgZ3RraHRtbDIgY3VybCIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NzdmMDRhODA0OGMwNDY4NGU1MjFjMDZlMjg0NGE5NCIKKworUE5CTEFDS0xJU1RbY2xhd3MtcGx1Z2luLWd0a2h0bWwyLXZpZXdlcl0gPz0gImRlcGVuZHMgb24gYmxhY2tsaXN0ZWQgY2xhd3MtbWFpbCIKKworUFIgPSAicjEiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jbGF3cy1tYWlsLm9yZy9kb3dubG9hZHMvcGx1Z2luc19vYnNvbGV0ZS9ndGtodG1sMl92aWV3ZXItJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNmM5ZGZhNmY5NjljY2Q4NDQ3OTZhNTcyNGI1MjE2NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0ZDQxZjZkOTYxZWZhYWMwZjUxNzA1ZTUwNTJiYWM3MzJiYzBiZGFmZWUyZWYyMDgyYTljZjlkODlmMTgzYWU1IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAorCitTID0gIiR7V09SS0RJUn0vZ3RraHRtbDJfdmlld2VyLSR7UFZ9IgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vY2xhd3MtbWFpbC9wbHVnaW5zLyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9jbGF3cy1tYWlsL3BsdWdpbnMvLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vY2xhd3MtbWFpbC9wbHVnaW5zLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2NsYXdzLW1haWwvcGx1Z2lucy8qLmEiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tbWFpbG1ib3hfMS4xNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tbWFpbG1ib3hfMS4xNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTMyMTc3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1tYWlsbWJveF8xLjE1LmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NFQ1RJT04gPSAieDExL25ldHdvcmsiCitTVU1NQVJZID0gIk1haWwgdXNlciBhZ2VudCBwbHVnaW5zIgorREVQRU5EUyA9ICJjbGF3cy1tYWlsIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitQTkJMQUNLTElTVFtjbGF3cy1wbHVnaW4tbWFpbG1ib3hdID89ICJkZXBlbmRzIG9uIGJsYWNrbGlzdGVkIGNsYXdzLW1haWwiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jbGF3cy1tYWlsLm9yZy9kb3dubG9hZHMvcGx1Z2luc19vYnNvbGV0ZS9tYWlsbWJveC0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiN2Y3MmM2OGU2ZTFhODc2OGYxMjQ3ZjQ1NWZkMjBiNjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjMzZjc4MzUyNjFjODhhMGFhMDZkZTM4NTUzYWM5MzVhMTc5OWE3MTI4MTIwOTYzYTdmYTg3YWNlMDFkYWMxOCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1MgPSAiJHtXT1JLRElSfS9tYWlsbWJveC0ke1BWfSIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2NsYXdzLW1haWwvcGx1Z2lucy8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vY2xhd3MtbWFpbC9wbHVnaW5zLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2NsYXdzLW1haWwvcGx1Z2lucy8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9jbGF3cy1tYWlsL3BsdWdpbnMvKi5hIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1yc3N5bC9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvY2xhd3MtcGx1Z2luLXJzc3lsL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hN2EzOGYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1yc3N5bC9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorSW5kZXg6IHJzc3lsLTAuMzQvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcnNzeWwtMC4zNC5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE4IDA3OjM3OjI4Ljk4MTUzMjk1OSArMDAwMAorKysrIHJzc3lsLTAuMzQvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMDc6Mzk6NDUuODgxNTM2NjkwICswMDAwCitAQCAtMSw1ICsxLDEzIEBACisrCisrZG5sIHBsdWdpbiB2ZXJzaW9uCisrbTRfZGVmaW5lKFtwbHVnaW5fbWFqb3JfdmVyc2lvbl0sWzBdKQorK200X2RlZmluZShbcGx1Z2luX21pbm9yX3ZlcnNpb25dLFszNF0pCisrbTRfZGVmaW5lKFtwbHVnaW5fbWljcm9fdmVyc2lvbl0sWzBdKQorK200X2RlZmluZShbcGx1Z2luX3ZlcnNpb25dLCBbcGx1Z2luX21ham9yX3ZlcnNpb24ucGx1Z2luX21pbm9yX3ZlcnNpb24ucGx1Z2luX21pY3JvX3ZlcnNpb25dKQorKworIEFDX1BSRVJFUSgyLjYwKQorLUFDX0lOSVQoc3JjL3BsdWdpbi5jKQorK0FDX0lOSVQocnNzeWwsIHBsdWdpbl92ZXJzaW9uKQorK0FDX0NPTkZJR19TUkNESVIoc3JjL3BsdWdpbi5jKQorIEFDX0NPTkZJR19BVVhfRElSKGNvbmZpZykKKyBBTV9NQUlOVEFJTkVSX01PREUKKyBBQ19DT05GSUdfSEVBREVSUyhjb25maWcuaCkKK0BAIC03LDI4ICsxNSwxNSBAQAorIFBBQ0tBR0U9cnNzeWwKKyAKKyBkbmwgcGx1Z2luIHZlcnNpb24KKy1NQUpPUl9WRVJTSU9OPTAKKy1NSU5PUl9WRVJTSU9OPTM0CistTUlDUk9fVkVSU0lPTj0wCisrTUFKT1JfVkVSU0lPTj1wbHVnaW5fbWFqb3JfdmVyc2lvbgorK01JTk9SX1ZFUlNJT049cGx1Z2luX21pbm9yX3ZlcnNpb24KKytNSUNST19WRVJTSU9OPXBsdWdpbl9taWNyb192ZXJzaW9uCisgRVhUUkFfVkVSU0lPTj0wCistCistaWYgdGVzdCBcKCAkRVhUUkFfVkVSU0lPTiAtZXEgMCBcKTsgdGhlbgorLSAgICBpZiB0ZXN0IFwoICRNSUNST19WRVJTSU9OIC1lcSAwIFwpOyB0aGVuCistICAgICAgICBWRVJTSU9OPSR7TUFKT1JfVkVSU0lPTn0uJHtNSU5PUl9WRVJTSU9OfSAKKy0gICAgZWxzZQorLQkJVkVSU0lPTj0ke01BSk9SX1ZFUlNJT059LiR7TUlOT1JfVkVSU0lPTn0uJHtNSUNST19WRVJTSU9OfQorLSAgICBmaQorLWVsc2UKKy0gICAgaWYgdGVzdCBcKCAkTUlDUk9fVkVSU0lPTiAtZXEgMCBcKTsgdGhlbgorLSAgICAgICAgVkVSU0lPTj0ke01BSk9SX1ZFUlNJT059LiR7TUlOT1JfVkVSU0lPTn1jdnMke0VYVFJBX1ZFUlNJT059CistICAgIGVsc2UKKy0JCVZFUlNJT049JHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059LiR7TUlDUk9fVkVSU0lPTn1jdnMke0VYVFJBX1ZFUlNJT059CistICAgIGZpCistZmkKKytWRVJTSU9OPXBsdWdpbl92ZXJzaW9uCisgCisgQUNfQ0FOT05JQ0FMX1NZU1RFTQorIAorLUFNX0lOSVRfQVVUT01BS0UoJFBBQ0tBR0UsICRWRVJTSU9OLCBuby1kZWZpbmUpCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbiBuby1kZWZpbmVdKQorIEFDX0RFRklORV9VTlFVT1RFRChQTFVHSU5WRVJTSU9OLCAiJFZFUlNJT04iLCBbcGx1Z2luIHZlcnNpb25dKQorIAorIEFDX1BST0dfQ0MKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tcnNzeWxfMC4zNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9jbGF3cy1wbHVnaW4tcnNzeWxfMC4zNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGE0NjBjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL2NsYXdzLXBsdWdpbi1yc3N5bF8wLjM0LmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NFQ1RJT04gPSAieDExL25ldHdvcmsiCitTVU1NQVJZID0gIk1haWwgdXNlciBhZ2VudCBwbHVnaW5zIgorREVQRU5EUyA9ICJjbGF3cy1tYWlsIGxpYnhtbDIgY3VybCBnbGliLTIuMCBndGsrIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTBjMjM0OGUwYTA4NGU1NzNmMDIyMGY1ZTQ1ZDgwOTdlIgorCitQTkJMQUNLTElTVFtjbGF3cy1wbHVnaW4tcnNzeWxdID89ICJkZXBlbmRzIG9uIGJsYWNrbGlzdGVkIGNsYXdzLW1haWwiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jbGF3cy1tYWlsLm9yZy9kb3dubG9hZHMvcGx1Z2luc19vYnNvbGV0ZS9yc3N5bC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjQ5YjQ1NjA4ZThkMTYwYjM2MjVkM2Q1MDAxNmVjMmNhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJlOTZhMWNkNmExYTViYjdmODZjZDJlYjQ4ZjZlMTc0NjY1OTU3ZmFmZTFmM2IxZTgzNjFhYWMzYmI5NjdmNzkiCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAorCitTID0gIiR7V09SS0RJUn0vcnNzeWwtJHtQVn0iCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9jbGF3cy1tYWlsL3BsdWdpbnMvKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2NsYXdzLW1haWwvcGx1Z2lucy8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9jbGF3cy1tYWlsL3BsdWdpbnMvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiA9ICIke2xpYmRpcn0vY2xhd3MtbWFpbC9wbHVnaW5zLyouYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9zeWxwaGVlZC9nbGliLTIuMzIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvc3lscGhlZWQvZ2xpYi0yLjMyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1MjBlNTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zYXRvL2NsYXdzLW1haWwvc3lscGhlZWQvZ2xpYi0yLjMyLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBzeWxwaGVlZC0yLjcuMS5vcmlnL2xpYnN5bHBoL2RlZnMuaAkyMDA5LTA2LTEwIDA5OjU1OjQ2LjAwMDAwMDAwMCArMDIwMAorKysrIHN5bHBoZWVkLTIuNy4xL2xpYnN5bHBoL2RlZnMuaAkyMDEyLTA1LTA2IDA4OjI4OjI3LjUxNDc0NjI1NiArMDIwMAorQEAgLTI0LDggKzI0LDYgQEAKKyAjICBpbmNsdWRlICJjb25maWcuaCIKKyAjZW5kaWYKKyAKKy0jaW5jbHVkZSA8Z2xpYmNvbmZpZy5oPgorLQorICNpZmRlZiBHX09TX1dJTjMyCisgIyAgaW5jbHVkZSA8Z2xpYi9nd2luMzIuaD4KKyAjZW5kaWYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9zeWxwaGVlZF8yLjcuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNhdG8vY2xhd3MtbWFpbC9zeWxwaGVlZF8yLjcuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDRiNjU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2F0by9jbGF3cy1tYWlsL3N5bHBoZWVkXzIuNy4xLmJiCkBAIC0wLDAgKzEsMzEgQEAKK1NFQ1RJT04gPSAieDExL25ldHdvcmsiCitTVU1NQVJZID0gIk1haWwgdXNlciBhZ2VudCIKK0RFUEVORFMgPSAiZ3RrKyBncGdtZSBnbnV0bHMiCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEiCisKK1BSID0gInIyIgorCitTUkNfVVJJID0gImh0dHA6Ly9zeWxwaGVlZC5zcmFvc3MuanAvc3lscGhlZWQvdjIuNy9zeWxwaGVlZC0ke1BWfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vZ2xpYi0yLjMyLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxZjQ3MDUyNWMxZmJlNTMyNTM4MTNhMDk3OGMxODIyOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4YmI2NDU3ZGI0ZTJlZWExODc3YjQ4N2Q5YWM4NTEzNTQ2MzcyZGI5YTZhMmU0MjcxZDExMjI5ZjRhZjg0ZTIzIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9waXhtYXBzICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zIgorRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9IgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXNzbCIKKworQ0ZMQUdTICs9ICItRF9HTlVfU09VUkNFIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBta2RpciAtcCBtNAorICAgIGZvciBpIGluICQoZmluZCAke1N9IC1uYW1lICJNYWtlZmlsZS5hbSIpIDsgZG8KKyAgICAgICAgc2VkIC1pIHM6Jy1JJChpbmNsdWRlZGlyKSc6OmcgJGkKKyAgICBkb25lCit9CisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5LzJjaF90LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeS8yY2hfdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjliZGI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeS8yY2hfdC5wYXRjaApAQCAtMCwwICsxLDUwNjIgQEAKK3NvdXJjZTogc2hhbWVsZXNzbHkgc3RvbGVuIGZyb20gZGViaWFuIDstKQorcHVycG9zZTogYWRkIHNvbWUgZW50cmllcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGluIEphcGFuZXNlIDJjaGFubmVsIGFub255bW91cyB3ZWJzaXRlCisgICAgICAgICAoYXQgbGVhc3QgdGhhdCBpcyBteSB1bmRlcnN0YW5kaW5nIDstKSkKKworLS0tIGFudGh5LTU0MTQub3JpZy9ta2FudGh5ZGljLzJjaC50CisrKysgYW50aHktNTQxNC9ta2FudGh5ZGljLzJjaC50CitAQCAtMCwwICsxLDUwNTUgQEAKKysjIDJjaM3RuOykzkNhbm5ht8G8sLytvfEKKysjIEhBUlVZQU1BIFNlaWdvIGhhcnV5YW1hQHVuaXh1c2VyLm9yZworKyMguO2k6qTkycq77KTPpLOkpqS5pNmkrSCkyqTJIKSkpMOk0aSkpKKk66TPpLqkyqTOpMcKKysjIKS0u9jFpqTopO2kt6SvCisrIyC7srnNOiBodHRwOi8vZnJlZXpvbmUua2FraWtvLmNvbS9qaXRlbi9pbmRleC5odG1sCisrIyAgICAgICBodHRwOi8vbWVtYmVycy50cmlwb2QuY28uanAvbWFydWhlc28vYWFkaWMvaW5kZXguaHRtbAorKyMgICAgICAgaHR0cDovL2lzd2ViMzMuaW5mb3NlZWsuY28uanAvY29tcHV0ZXIvZ2lrb3NpdGUvICg0MDMgRm9yYmlkZGVuKQorKyMgICAgICAgaHR0cDovL2Nhbm5hZGljLm91Y3JjLm9yZy8KKysjICAgICAgIGh0dHA6Ly93d3cua3lvdG8udHJhbnMtbnQuY29tL2FudGh5LworKyMgICAgICAgaHR0cDovL3d3dy5tZWRpYS1rLmNvLmpwL2ppdGVuLworKyMgu7K5zaTLpLekxqSkpOu8rb3xpM7H28nVpemlpKW7pfOluaSspM+kw6StpOqkt6TepLuk86SsCisrIyC8/c+/pLWk7KS/uOyky7TYpLekxqTPpdGl1qXqpcOlr6XJpeGlpKXzpMiy8qS3pMbM5MLqpMqkpAorKyMgpMjIvcPHpLekxqSkpN6kuS4KKysjCisrIyCks6TOvK298aTPzLXK3b7apMekuaGjCisrIyAKKysjIDIwMDQvNS8xOcjHCisrIworKzGkzqSkpLek5aSmpKuk8yAjVDM1ID4+MaTOsOy9tbTWCisrMaTOpKSkw6S3pOWkpqSrpPMgI0pOID4+MaTOsOy9tbTWCisrMaTOpKqktaTKpMqkuKTfICNKTiAxpM7NxKTKpLik3worKzKkwaTjpPOku6SkpLek86TTpOekpqSkpPMgI0pOIDJjaMC6v8DJwrGhCisrOTExpLiksaTzICNUMzUgOTExu/a37worK6SiobykpqG8ICNDSiCkoqHBpKahwQorK6SiobykuKTlICNLSyCloqG8pbil5QorK6SiobykuKTlICNUMzUgpaKhvKW4peUKKyukoqG8pOukoqG8pOsgI1QzNSBSUgorK6Siobyk7aTzpOKk6aTpobwgI0pOIKWiobyl7aXzpeKl6aXpobwKKyukoqSipKSkqKTQpLik56SmpOakpiAjQ0ogpKKkorjApKik0L7lzbQKKyukoqSipKakpiAjQ0ogpKKhwaSmocEKKyukoqSipKyk4KTkpOuk6CAjQ0ogpKKkoqGipayl4KTkpOuk6KGjCisrpKKkoqS4pOUgI1QzNSCloqG8pbil5QorK6SipKKkz6TPICNDSiCloqG8pc+lzworK6SipKKkz6TPICNDSiCOsY6wjsqOygorK6SipKKk66SipKKk6yAjVDM1IFJSCisrpKKkoqTrpKikpKSipKKk6yAjVDM1IFJBUgorK6SipKQgI0pOIKSipKQKKyukoqSkpKKhvKTrICNUMzUgSVIKKyukoqSkpLOk6SAjVDM1IKWipaSls6XpCisrpKKkpKS0ICNUMzUgsKa47QorK6SipKSktKG8ICNDSiCloqWkpbShwaGqCisrpKKkpKS7pPMgI1QzNSCkoqSkpLuk8worK6SipKSkxqSjobyk0aTvobwgI1QzNSCjyaPUpdGl76G8CisrpKKkpKTHpKOhvCAjVDM1IKPJo8QKKyukoqSkpMmk6yAjVDM1ILClofAKKyukoqSkpMqk1qTqpMOkuCAjVDM1IKWipaSlyqXWpeqlw6W4CisrpKKkpKTLpMGk46TzpM2k6yAjVDM1IGmh3TKkwaTjpPOkzaTrCisrpKKkpKTOpL+kzSAjQ04gsKakzrzvCisrpKKkpKTOpL+kzSAjVDM1ILCmpM687worK6SipKSk1KG8ICNUMzUgo8mj0AorK6SipKSk1KSkICNUMzUgaXAhCisrpKKkpKTWICNLSyCwpsnvCisrpKKkpKTWICNUMzUgsKbJ7worK6SipKSk3KTzICNKTiCkoqSkpNyk8worK6SipKSk3KTzICNUMzUgpKKkpKTcpPMKKyukoqSkpOGky6TlpKakz6S4pK0gI1QzNSBpbWUubnXDxqStCisrpKKkpKTipMogI1QzNSBpTW9uYQorK6SipKSk4qTKobwgI0pOIKWipaSl4qXKobwKKyukoqSkpOKkyqG8ICNKTiCloqWkpeKlyqG8IAorK6SipKSk6aTzpMkgI1QzNSCwpaTppPOkyQorK6SipKSk6yAjS0sgpaKlpKXrCisrpKKkpKTrICNUMzUgpaKlpKXrCisrpKKkpKTvpKSk5qG8pLyk7aTvpPMgI0pOIElZVS0wMQorK6SipKYgI0tLIKSipKYKKyukoqSmICNUMzUgpKKkpgorK6SipKahvCAjSk4gpaKlpqG8CisrpKKkpqTIpO2hvCAjVDM1IKWipaalyKXtobwKKyukoqSmpMik7aSmICNUMzUgpaKlpqXIpe2hvAorK6SipKak8qS/ICNUMzUgpKKkpqXypb8KKyukoqSqICNSNXIgwPoKKyukoqSqpLmkriAjS1NyIMDEpLmkrgorK6SipKqkuaSuICNUMzUgwMSkuaSuCisrpKKkqqS+pOkgI0tLIMDEtvUKKyukoqSqpL6k6SAjVDM1IMDEtvUKKyukoqSqpNAgI1QzNSDAxLv1CisrpKKkqqTqICNUMzUgwPqk6gorK6SipKqk6qSzpMakpCAjVDM1IMD6pOq4x8TqCisrpKKkqqTqpLOk1KTaICNUMzUgwPqk6qWzpdSl2gorK6SipKqk6qTzICNKTiCloqWqpeql8worK6SipKsgI1QzNSC5pAorK6SipKukpKSvpMuk36TBICNUMzUgwNaw5suuxrsKKyukoqSrpKSk26SmpMmkpiAjVDM1IMDWsObLrsa7CisrpKKkq6StpOOkw6TXICNUMzUgwNalraXjpcOl1worK6SipKukwKTzpLek46SvICNUMzUgwNbDy7zfCisrpKKkq6TSICNLSyCloqWrxvwKKyukoqSrpNIgI1QzNSCloqWrxvwKKyukoqSrpN6k1aTpobwgI1QzNSDA1qXepdWl6aG8CisrpKKkq6TepNWk6aSiICNUMzUgwNal3qXVpemhvAorK6SipKwgI1I1IGFnYQorK6SipKykyKSmICNDSiCkoqSspMikpgorK6SipK2kt6TOpM6k36TkpKuks6TKpKSkt6TzpM6kpiAjSk4gvam8xLXcssK70sbiv8aypgorK6SipK2kz6TQpOmk0qTnpKakuKTlpPOkt6TopKYgI1QzNSC9qc3VuLbJuL3gu8XNzQorK6SipK2k0qTtpOKkyqG8ICNKTiCloqWtpdKl7aXipcqhvAorK6SipK2k0qTtpOKkyqG8ICNUMzUgpaKlraXSpe2l4qXKobwKKyukoqStpNKk7aTipMqkoiAjVDM1IKWipa2l0qXtpeKlyqG8CisrpKKkraTspLkgI0pOIKWipa2l7KW5CisrpKKkr6StpPMgI1QzNSCloqWvttgKKyukoqSvpLukuaStpLukpCAjVDMwIKWipa+lu6W5tazAqQorK6SipK+ku6S5pK2ku6SkICNUMzUgpaKlr6W7pbm1rMCpCisrpKKkr6TeICNKTiCwrcviCisrpKKkr6TeICNUMzUgsK3L4gorK6SipLCkzaS5pLmk2qS3pOOk6yAjVDM1IKWipbClzaW5pbml2qW3peOl6worK6SipLGkpKS/ICNDTiCloqWxyMQKKyukoqSxpKSkvyAjVDM1IKWipbHIxAorK6SipLIgI0NKIKSipLIKKyukoqSyICNDTiC+5aWyCisrpKKksiAjS1NyIKSipLIKKyukoqSyICNSNSBhZ2UKKyukoqSyICNUMzUgYWdlCisrpKKksiAjVDM1IKSipLIKKyukoqSyICNUMzUgvuWksgorK6SipLIgI1QzNSC+5aWyCisrpKKksqSipOmktyAjVDM1IGFnZbnTpOmktworK6SipLKkoqTppLcgI1QzNSCkoqSyudOk6aS3CisrpKKksqTBpOWkpiAjVDM1IKSipLK/3worK6SipLKk0aS9pN6kvSAjSk4gYWdljsqO346/js+OvworK6SipLKk1qTppLahvKS6ICNKTiBhZ2Wl1qXppbahvKW6CisrpKKksqTipMqhvCAjSk4gYWdlpeKlyqG8CisrpKKksqTsICNDSiBhZ2Wk7AorK6SipLKk7KS5ICNUMzUgYWdlpeyluQorK6SipLKk86TKpNyksSAjQ0ogpKKksqTzpMql3KWxoaoKKyukoqS0ICNKTiCloqW0CisrpKKktCAjVDM1IKWipbQKKyukoqS0pKKky6ThICNUMzUgpaKltKWipcul4QorK6SipLSkqqS/ICNKTiCloqW0paqlvworK6SipLSkqqS/ICNUMzUgpaKltKWqpb8KKyukoqS0pM+kuqS3pOKkwSAjVDMwIKSipLSlz6W6pbe7/aTBCisrpKKktKTPpLqkt6TipMEgI1QzNSCkoqS0pc+luqW3u/2kwQorK6SipLWkwaTlpPMgI1QzNSDEq6XBpeWl8worK6SipLWkzKTepMqk36S7pPOku6SkICNKTiDA9b7CxuDI/sDowLgKKyukoqS1pM+k6aG8ICNKTiCloqW1pc+l6aG8CisrpKKktaTSpKSkwaTLpKSkwaS8pO0gI1QzNSDEq8b8MTIuMTAKKyukoqS1pNShvCAjSk4gpaKltaXUobyhoQorK6SipLik3aTzICNUMzUgzKOl3aXzCisrpKKkuaSrpOKkyqG8ICNKTiDI9MS7peKlyqG8CisrpKKkuaStobykoqG8pMggI1QzNSCloqW5pa2hvKWiobylyAorK6SipLmkraG8pKKhvKTIpKukpKS7pK0gI0pOIKPBo8Gy8sDPCisrpKKkuaStpKSkoqSipMggI1QzNSCloqW5pa2hvKWiobylyAorK6SipLqk3qTzpKykwKSkpKqkpiAjVDM1IKSipLqk3qTzpKzC57KmCisrpKKkvaSmICNKTiCOsY6/jrMKKyukoqS9pNGkvaTepL0gI0pOIKWipb2l0aW9pd6lvQorK6SipL2k0aS9pO+kw6S3pOekpCAjSk4gpaKlvaXRpb2l76XDpbel56WkCisrpKKkvaTepL2k0aS9pNShvKS3obwgI0pOII6xjr+Oyo7fjr+Oz46/UEMKKyukoqTDpK2kpCAjSk4gpaKlw6WtobwKKyukoqTDpLak4CAjSk4gpaKlw6W2peAKKyukoqTDpL0gI0pOIKSipMOkvQorK6SipMOkvaG8ICNDSiCkoqTDpL2hvAorK6SipMOkvaG8ICNKTiCkoqTDpL2hvAorK6SipMOkwaSzpMOkwaSkpKSkyKTiICNKTiCloqXDpcGls6XDpcGlpKWkpcil4gorK6SipMOk16S3pOekr6TLpPMgI1QzNSCkpqPwv6a/zQorK6SipMOk16S3pOekr6TLpPMgI1QzNSCkpqPwv6a/zSAKKyukoqTDpNekuiAjVDM1IEFwcHoKKyukoqTDpNek66SqpOSkuCAjVDM1IKWipcOl16Xrpaql5KW4CisrpKKkw6TXpOukraTDpMkgI0pOIKWipcOl16Xrpa2lw6XJCisrpKKkw6TXpO2hvKTAobwgI1QzNSCloqXDpdel7aG8pcChvAorK6SipMShvCAjSk4gKI7fQY7fOymOsY7CjrAKKyukoqTEobwgI0pOII6xjsKOsAorK6SipMSksqS3pOekpqS4pLWkr6S4pKik8yAjSk4godqOpaLPjqWh2worK6SipMSksqS3pOekpqS4pLWkr6S4pKik8yAjSk4gjrGOwo65jt6OvI6ujrOOvI7ejruOuI68jt6OtI7dCisrpKKkyKTUobwgI1QzNSBAcAorK6SipMqktqG8pKKkrqSzICNKTiCloqXKpbahvKWipa6lsworK6SipMqkv6TypM+k86TLpPOkx6S5ICNDSiCkoqTKpL+k8qGiyMi/zaTHpLkKKyukoqTKpL+k8qTPpPOky6TzpMekuSAjSk4goconos9gocuh46SipMqkv6TyoaLIyL/NpMekuQorK6SipMqkv6TypM+k86TLpPOkx6S5ICNKTiCkoqTKpL+k8qGiyMi/zaTHpLkKKyukoqTKpO2ksKTVpKGkr6TIpOqkpCAjVDM1IKWipcql7aWwpdWloaWvpcil6qG8CisrpKKkyqTypL8gI1QzNSCloqXKpfKlvworK6SipMsgI1QzNSC3uworK6SipMukqqS/ICNUMzUgpaKly6Wqpb8KKyukoqTLpK0gI1QzNSCloqXLpa0KKyukoqTLpLik4yAjVDM1ILe7vNQKKyukoqTLpNek6iAjVDM1IKWipcul16XqCisrpKKky6TypL8gI1QzNSCloqXLpfKlvworK6SipM6kr6TLICNUMzUgpKKkzrnxCisrpKKkzqSvpMukzqSipM6k26SmpL2kryAjVDM1IKSipM658aTOpKKkzsuhwqcKKyukoqTPpKEgI0pOICgqoa2n1WAqKY6xjsqOpyYjOTgyOTsKKyukoqTPpKEgI0pOICgqoa2n1WA7KaHECisrpKKkz6ShICNKTiChxCgqoa2n1WApjrGOyo6nocQmIzk4Mjk7CisrpKKkz6ShICNKTiCmsigqjt+npWA7KY6xocSOsaHEjrGOr47KjqeOp46njqeOp46njqeOpyYjOTgyOTshISEhCisrpKKkz6ShICNKTiCmsiiO36fVYCo7KY6xjq8sjrGOyo6nJiM5ODI5OworK6SipM+koSAjSk4gjrGOyo6nJiM5ODI5OworK6SipNGk4CAjVDM1IKWipdGl4AorK6SipNGk4KS/pN6k4qTDpMaks6SkICNKTiCloqXRpeChqsPGu/2kw6TGpLOkpAorK6SipNKk4yAjQ0ogpaKl0qXjCisrpKKk0qTjICNDSiCOsY7LjqwKKyukoqTSpOMgI0pOIKWipdKl4worK6SipNKk4yAjSk4gjrGOy46sCisrpKKk0qTjpKKktqTppLcgI0pOIKWipdKl46Wipbal6aW3oaEKKyukoqTSpOOkrKTfpM+kq6S7ICNKTiCloqXSpeO/wMfuu84KKyukoqTTpOMgI0NKIKSipNOk4worK6SipNSkw6S3pOOhvCAjSk4gpaKl1KXDpbel46G8CisrpKKk1aShobyk4KTJpKikw6SvpLkgI0pOIKWipdWloaG8peClyaPYCisrpKKk1aSpICNUMzUgpaKl1aWpCisrpKKk1aSspPOks6SmpK+kpqS6pOKkpiAjVDM1IKWipdWlrKXzudK29cHqy9AKKyukoqTVpO2ky6TAobwgI0pOIKWipdWl7aXLpcChvAorK6SipNakpKS/ICNUMzUgpaKl1sjECisrpKKk1qSlpOuk4qTKobwgI0pOIKWipfSlyaWlpeul4qXKobwKKyukoqTXICNUMzAgpKKk1worK6SipNcgI1QzMCCloqXXCisrpKKk16TtpMAgI1QzNSCkoqTXpO2kwAorK6SipNkgI0pOIKTKpMOkwQorK6SipNkgI0pOILDCx9wKKyukoqTbpLmksSAjVDM1IKSipNu99QorK6SipNukv6TzICNKTiCkoqTbpL+k8worK6SipNuk66TAobwgI1QzNSCloqXbpeulwKG8CisrpKKk26TrpMCkoiAjVDM1IKWipdul66XAobwKKyukoqTcobyk8yAjSk4gpKKk3KG8pPMKKyukoqTcobyk8yAjVDMwIKSipNyhvKTzCisrpKKk3KG8pPMgI1QzMCCkoqTcocGk8worK6SipNyhvKTzpM2kw6TIpO+hvKSvICNUMzUgpaKl3KG8pfOlzaXDpcil76G8pa8KKyukoqTcobyk86TQpK+k6aSkICNKTiCOsY7Ojt6OsI7dx/rN6worK6SipNykqqS3pOek8yAjVDM1IKWipdyhvKW3peel8worK6SipNykqqTzICNUMzUgpKKk3KHBpPMKKyukoqTcpKqk86TNpMOkyKTvpKKkryAjVDM1IKWipdyhvKXzpc2lw6XIpe+hvKWvCisrpKKk3aG8ICNLSyCloqXdobwKKyukoqTdobwgI1QzNSCloqXdobwKKyukoqTdpKogI1QzNSCloqXdobwKKyukoqTeobwgI0pOIKHKJmhlYXJ0czuizzsmaGVhcnRzO6HLjrGOz46wCisrpKKk3qG8ICNKTiCloqXeobwKKyukoqTfICNUMzUgzNYKKyukoqTgpO2ky6TjpN+kqCAjSk4gsMK8vI7GjqyO0I60CisrpKKk4aS2obwgI1QzNSCkoqThpLahvAorK6SipOGktqG8pM2kw6TIpMShvCAjQ04gpKKk4aS2obykzaTDpMijsgorK6SipOGktqG8pM2kw6TIpMShvCAjVDM1IKSipOGktqG8pM2kw6TIo7IKKyukoqThpLakoiAjVDM1IKSipOGktqG8CisrpKKk4aS2pKKkzaTDpMikxKSmICNUMzUgpKKk4aS2obykzaTDpMijsgorK6SipOGkvqSmICNDTiCkoqThpL6kpgorK6SipOGkvqSmICNKTiCkoqThpL6kpgorK6SipOGkvqSmICNUMzUgpKKk4aS+pKYKKyukoqThpL6kpqSrpOogI0pOIKSipOGkvqSmocqyvqHLCisrpKKk4aS+pKakq6TqICNUMzUgpKKk4aS+pKahyrK+ocsKKyukoqThpMuk4qTepLGkxiAjVDM1IKWipeGly6Xipd6lsaXGCisrpKKk4aTNpLMgI0pOIKSipOGkzaSzCisrpKKk5KS3pKOk76G8pOukySAjQ04gpKKk5KS3pKOk76G8pOukyQorK6SipOSkt6SkICNUMzUgpKGk46bJpKMKKyukoqTkpLekpKS4pOWkpqTLpPMgI1QzNSCkoaTjpsmko727v80KKyukoqTkpLekpKTvobyk66TJICNDTiCkoaTjpsmko6Tvobyk66TJCisrpKKk5KS3pKSk76G8pOukySAjVDM1IKShpOOmyaSjpO+hvKTrpMkKKyukoqTkpLekpKTvpKKk66TJICNUMzUgpKGk46bJpKOk76G8pOukyQorK6SipOSkyqTfpOykpCAjSk4gpKGk46TKpN+l7KWkCisrpKKk5iAjSk4gpKKk5gorK6SipOYgI1QzNSCkoqTmCisrpKKk5iAjVDM1ILC+CisrpKKk5qTipMqhvCAjSk4gpKKk5qXipcqhvAorK6SipOikzSAjVDM1IKSipOikzQorK6SipOkgI1M1ciC506TpCisrpKKk6aSipK2kpCAjVDM1IKWipemhvKWtobwKKyukoqTppK+k7CAjSk4gpKKk6aSvpOwKKyukoqTppK+k7KTvpMOkt6TnpKQgI0pOIKSipOmkr6Tspe+lw6W3peelpAorK6SipOmktaG8ICNUMzUgudOktaG8CisrpKKk6aS1pKIgI1QzNSC506S1obwKKyukoqTppLcgI1QzNSC506TppLcKKyukoqTppLcgI1QzNSC506Tpu+EKKyukoqTppLcgI1QzNSC507vhCisrpKKk6aS3ICNUMzUgv7e74QorK6SipOmktyAjVDM1IM3yCisrpKKk6aS3pKSk6aSkICNUMzAgudOk6aS3sM3N6gorK6SipOmkt6SkpOmkpCAjVDM1ILnTpOmkt7DNzeoKKyukoqTppLeks6TGpKQgI1QzMCC506TppLe4x8TqCisrpKKk6aS3pLOkxqSkICNUMzUgudOk6aS3uMfE6gorK6SipOmkt6S9pKaktKSmpLuk86S/obwgI0pOILnTpOmkt8Htueelu6Xzpb+hvAorK6SipOmkuSAjUzVyILnTpOkKKyukoqTppNOkoqS0pKKk6aS3ICNUMzUgpaKl6aXTpaK47LnTpOmktworK6SipOmk5KTAICNDSiCkoqTppOSkwAorK6SipOmk5KTAICNKTiAooayn1aGsKaHjpKKk6aTkpMChqgorK6SipOmk5KTAICNKTiCkoqTppOSkwAorK6SipOmk5KTApKuk86S8pPOkv6SkICNKTiCkoqTppOSkwLSwwbTCzgorK6SipOqkqKG8pOsgI0NKIKWipeqlqKG8pesKKyukoqTqpKihvKTrICNUMzUgpaKl6qWoobyl6worK6SipOqkqKG8pOsgI1QzNSCOsY7YjrSOsI7ZCisrpKKk6qSopKik6yAjVDM1IKWipeqlqKG8pesKKyukoqTqpKikqKTrICNUMzUgjrGO2I60jrCO2QorK6SipOqkrKTIpKYgI0pOIKSipOqkrKTIpKYKKyukoqTqpLkgI0pOIKSipOqkuQorK6SipOukq6TipMqkuqSxpKSk4KS3pOcgI0pOIKWipeulq6Xipcqlure6zLO96gorK6SipOukr6StpM6ksyAjSk4gyuKkr6Wtpc6lsworK6SipOukr6ThICNKTiDK4qSvsuoKKyukoqTspPOkuCAjSk4gpaKl7KXzpbgKKyukoqTtpKik6qG8pMogI0pOIKWipe2lqKXqobylygorK6SipPOkrKTIpMqk4qG8ICNKTiCkoqTzpKykyKXKpeKhvAorK6SipPOksKTpICNUMzUgpaKl86WwpekKKyukoqTzpLGk86S1pMQgI0pOILDFoaa39aGmu6YKKyukoqTzpLek46S5pM2ksyAjSk4gpaKl86W3peOlucetCisrpKKk86S/pKykyqG8ICNKTiCloqXzpb+lrKXKobwKKyukoqTzpL+k4qTNobwgI0pOIKWipfOlv6Xipc2hvAorK6SipPOkwKG8pLCk6aSmpPOkySAjVDM1IKWipfOlwKG8pbCl6aWmpfOlyQorK6SipPOkwaTHpKOkpKTGpKOkpCAjVDM1IKWipfOlwURUCisrpKKk86TKpKukz6TrpMogI0NOILDCw+a/usy+CisrpKKk86TKpKukz6TrpMogI1QzNSCwwsPmv7rMvgorK6SjpOekpSAjSk4gpKOk56SlCisrpKQgI0M1ciDAwgorK6SkobykuKSkICNUMzUgo8XM7AorK6Skobyk2qG8pLOhvCAjSk4gpaShvKXaobyls6G8CisrpKShvKTzpLik46TKpKSkziAjSk4gpKShvKTzpLik46TKpKSkzgorK6SkpKQgI0NKICAojqWiz46lKY6yjrIhIQorK6SkpKQgI0NKICChyqGmos+hpqHLpaSlpCEhCisrpKSkpCAjQ0ogIKHKoaaiz6GmocuOso6yISEKKyukpKSkICNDSiClpKWkCisrpKSkpKSipLik46TzICNKTiCkpKSkpKKkuKTjpPMKKyukpKSkpLik3iAjVDM1IMjTxegKKyukpKSkpL+kpKTApLGkwaTjpKak86SrpMggI0NKILjApKSkv6SkpMCksaTBpOOkpqTzpKukyKGjCisrpKSkpKTAICNUMzUgyNPFxAorK6SkpKikpKSzpOkgI1QzNSCw5LHGpbOl6QorK6SkpKikz6TkpMmkx6TipKykw6S3pOWkr6S4pOekx6TipM2kp6S+ICNUMzUgssikz73JpMek4rnnvcm96qTHpOKkzaSnpL6hqgorK6SkpKsgI1QzNSCkpKSrCisrpKSkq6SspMqk4qTOpKsgI0pOII6yjraOto7ejsWO047JjrYKKyukpKSrpK+ku6SoICNDSiCkpKSrpK+ku6G8CisrpKSkq6S3pOekpqTqpOOkryAjQ0ogocqwyrK8vsrOrAorK6SkpKukt6TnpKak6qTjpK8gI0NKILDKsry+ys6sCisrpKSkq6TqpM6kpKTepM6kpqTBICNKTiDF3KTqpM6lpKXepc6lpqXBCisrpKSkq6TqpPKk1qTEpLGk66TipMqhvCAjSk4gxdyk6qTypNakxKSxpOul4qXKobwKKyukpKStpLik66S3pK6k5aSmpMuk5aSmICNKTiDAwrD1te3G/QorK6SkpK2kzqSkpKSkrqSzpKak6iAjSk4gwMKkraTOpKSkpKWupbPH5KTqCisrpKSkraTOpKSkpKTLpLukrqSzICNKTiDAwqStpM7OyaSktbalrqWzCisrpKSkryAjQzVyIMDCpK8KKyukpKSvpMqkpCAjQ0ogpaSlr6XKpaShqqGqCisrpKSkr6TKpKQgI0NKII6yjriOxY6yISEKKyukpKSxpMyk3iAjVDM1IMPTvsIKKyukpKSxpM2hvKToICNKTiClpKWxpc2hvKXoCisrpKSksaThpPMgI1QzNSDD08zNCisrpKSksaThpPOkpqTzpLMgI0pOIKSkpLGk4aTzpaal86WzCisrpKSks6G8pK+ks6TGpMqhvKSzpOKk0qTjICNKTiClpKWzobylr6GmpbOlxqXKobyhpqWzpeKl0qXjCisrpKSks6SqpOuk0KSrICNUMzUgpaSls6G8peul0KWrCisrpKSks6SvpK6ksyAjSk4gsNu58bW8uMUKKyukpKS3pKuk7yAjVDM1IMDQwO4KKyukpKS3pKuk76TDpMakpqTzpLOkuaTrpM4gI0NKIMDQwO6kw6TGpaal86WzpLmk66TOoakKKyukpKS3pOMgI1QzNSCw5bzUCisrpKSkt6TkpK2kpKTipKak6iAjSk4gwNC+xqSkpOLH5KTqCisrpKSkuKThpMqkpKG8pMekzSAjSk4gpaSluKGmpeGhpqXKpaSlx6G8pc0KKyukpKS4pOekpqS4pLWkr6S4pKik86THpLekvyAjQ0ogKI6los+OpSmOso68jt6Oro6zjryO3o67jriOvI7ejrSO3Y7Djt6OvI7ACisrpKSkuKTnpKakuKS1pK+kuKSopPOkx6S3pL8gI0NKIKHKoaaiz6GmocuOso68jt6Oro6zjryO3o67jriOvI7ejrSO3Y7Djt6OvI7ACisrpKSkuSAjVDM1ILDYu9IKKyukpKS5pMmk8yAjVDM1IKWkpbmlyaXzCisrpKSkvyAjVDM1IMjECisrpKSkv6SkICNUMzUgsOTCzgorK6SkpL+kq6TzICNUMzUgxMu0yQorK6SkpL+krKSqpMGk6yAjQ0ogyMSkrM3upMGk6worK6SkpL+krKStICNLSyDEy7LutbQKKyukpKS/pKykrSAjVDM1IMTLsu61tAorK6SkpL+krKTIpNYgI0NKIMjEpKzI9KTWCisrpKSkv6SvpM2hvKToICNKTiClpKW/pa+lzaG8pegKKyukpKS/pLOkpqS/pKSkuaSxICNUMzUgyMS5scLgvfUKKyukpKS/pLSk0KSvICNUMzAgyMS47cf6CisrpKSkv6TBpKwgI1c1ciDIxLDjCisrpKSkv6TBpKykpCAjVDM1IMjEsOOkpAorK6SkpL+kyKTQpLcgI1QzNSDIxKTIpNCktworK6SkpL+ky6SkpLEgI0NKIMjEpMvAwqSxoaoKKyukpKS/pOGkpCAjVDM1IMjEzL4KKyukpKS/pOuk6qSipOqkxqSjICNUMzUgpKSkv6TrpeqloqXqpcaloworK6SkpMEgI1QzNSAxCisrpKSkwaSkICNKTlMgu9Sw5gorK6SkpMGkpCAjVDM1ILvUsOYKKyukpKTBpLSku6TzpL2kpiAjVDM1IOf1wO/B6AorK6SkpMGktKTepKukpCAjVDM1IOf1y+KzpgorK6SkpMGktaTzICNKTiCjsaS1pPMKKyukpKTBpLWk86TOpKqkq6SipLWk3qTYICNDSiAxpLWk86TOpKrK7M3NpNgKKyukpKTBpLWk86TOpLSkpqSrpK+kz6TDpNSk56SmICNKTiCjsaS1pPOkzrnns8rIr8m9CisrpKSkwaS1pPOk8qTIpOqk3qSvpL2kpqSrpPOkuiAjSk4go7GktaTzpPK86KTqtKykr8HqtNi/3gorK6SkpMGktaTzpPKkyKTqpN6kr6S9pKakq6TzpLogI1QzNSCjsaS1pPOk8rzopOq0rKSvweq02L/eCisrpKSkwaTDpMakpqS2pKSk6KTNICNKTiCjsaTDpMakpqS2pKSk6KTNocEKKyukpKTBpM6kxKSmpMGk0qTnpKYgI0pOIKOxpM7EzMPOyb0KKyukpKTBpM6kz6SrICNKTiCjsaTOyugKKyukpKTBpM+kz6TkpK+kt6TNICNKTiCjsaTPweGkr7vgpM2hqqGqCisrpKSkwaTTpMOkyKS1pNAgI1QzNSAxYml0u6oKKyukpKTBpOKkuKTFpMSkxKSvpMOkxqTVpOSkt6S/pKKkuaStobykoqG8pMggI0pOILDsyri7+qS6pMSk1aTkpLekxrrupMOkv6PBo8EKKyukpKTDpK2ks6SmICNUMzUgsOy0/Lm7CisrpKSkw6S/pPOks6TqpPOkuiAjSk4gjrKOr47Ajt2Ouo7Yjt2OvY7eCisrpKSkw6TBpOOkw6TGpK+kwKS1pKQgI0pOIMDCpMOkwaTjpMOkxqSvpMCktaSkCisrpKSkw6TBpOOk8yAjQ0ogMWNoCisrpKSkw6TBpOOk8yAjQ0ogMWNoLnR2CisrpKSkw6TBpOOk8yAjQ0ogo7GkwaTjpPMKKyukpKTDpMGk46TzICNUMzUgMWNoCisrpKSkw6TBpOOk8yAjVDM1IDFjaC50dgorK6SkpMOkwaTjpPMgI1QzNSCjsaTBpOOk8worK6SkpMOkwaTjpPOkzaTrICNDSiAxY2gKKyukpKTDpMGk46TzpM2k6yAjQ0ogMWNoLnR2CisrpKSkw6TBpOOk86TNpOsgI0NKIKOxpMGk46TzCisrpKSkw6TBpOOk86TNpOsgI1QzNSAxY2gKKyukpKTDpMGk46TzpM2k6yAjVDM1IDFjaC50dgorK6SkpMOkwaTjpPOkzaTrICNUMzUgo7GkwaTjpPMKKyukpKTDpMakr6TrICNDSiDAwqTDpMakr6TrCisrpKSkw6TGpK+k6yAja3h1cnUgwMKkw6TGpK+k6worK6SkpMOkxqTopLcgI0NKIKSjpMOm06TnpskKKyukpKTDpMak6KS3ICNDSiDAwqTDpMak6KS3CisrpKSkw6TGpOikt6SzpKykv6TSpLOkpqTGpKQgI0pOIMDCpMOkxqTopLe+rre/yPS51MT6CisrpKSkw6TGpOikt6TLpPOkxqSkpKSkpKTzpKukpCAjSk4gwMKkw6TGpOikt8enxOqw0bD3svEKKyukpKTDpMak6KS3pMuk86TGpKSkpKSkpPOkq6SkICNKTiDAwqTDpMak6KS3x6fE6rDRsPey8SAKKyukpKTDpMak6KS5ICNDSiDAwqTDpMal6KW5CisrpKSkw6TIpKakuKTnpOakpiAjVDM1ILDsxfm9982lCisrpKSkw6TRpMSkwKSxpMqk6aS0pLek4yAjQ0ogsOzIr6TApLGkyqTpuO28zQorK6SkpMOk0aTzpK2k46SvICNUMzUgsOzIzLXSCisrpKSkw6TRpPOkuKTzICNUMzUgsOzIzL/NCisrpKSkxKTipLOks6SrpOkgI0pOIKSkpMSk4qSzpLOkq6TpCisrpKSkxqTzpLek3qS3pL8gI0NKILDcxb6kt6TepLekvworK6SkpMak86S3pN6kt6S/ICNUMzUgsNzFvqS3pN6kt6S/CisrpKSkx6TbpL0gI0pOIMXBwOK18L/AjrKOw47ejs6OvworK6SkpMek26S9ICNKTiCOso7Djt6Ozo6/CisrpKSkyKSmpK+k8yAjSk4gsMvGo7evCisrpKSkyKSmpK+k8yAjSk4gsMvGo7evIAorK6SkpMqkq6TipMqhvCAjSk4gxcS8y6XipcqhvAorK6SkpMqkrKStpOGk86TQobwgI1QzNSCw8LPApeGl86XQobwKKyukpKTKpKykraThpPOk0KSiICNUMzUgsPCzwKXhpfOl0KG8CisrpKSkyqS0ICNUMzUgMTc1CisrpKSkyqS0ICNUMzUgpaSlyqW0CisrpKSkyqS0ICNUMzUg6fsKKyukpKTLpM2ksyAjSk4gaW5ppM2ksworK6SkpMwgI0NOILikCisrpKSkzCAjS0sguKQKKyukpKTMICNUMzUguKQKKyukpKTMpLOkpqTcpKYgI0pOILikuPjLvgorK6SkpMyku6TzpLukpCAjVDM1ILikwOjAuAorK6SkpMykwaTlpKYgI1QzNSC4pL/fCisrpKSkzKTkpN6k0KS3ICNKTiC4pLuztrYKKyukpKTOpKik4qTzICNUMzUgpKSkzqSopOKk8worK6SkpM6krKS3pOmhvCAjSk4gpaSlzqWspbel6aG8CisrpKSkzqStpLmk7CAjVDM1IMP2zNqluaXsCisrpKSkzqStpM6kx6TzpO8gI0pOIKSkpM6kraTOxcXPwworK6SkpM6ksaTzICNKTiClpKXOpbGl8worK6SkpM6kwaTOpMek86TvICNKTiCkpKTOpMGkzsXFz8MKKyukpKTQpLek56TNobyk6CAjSk4gte++7L3qpc2hvKXoCisrpKSk0aG8pKQgI1QxNSClpKXRobylpAorK6SkpNGhvKSkICNUMzUgpaSl0aG8paQKKyukpKTepKSksKTzpMCk8yAjSk4guqOw5rezw8QKKyukpKTepKSk4qTKobwgI0pOILqjsOal4qXKobwKKyukpKTepKqkq6TipMqhvCAjSk4gpaSl3qWqpaul4qXKobwKKyukpKTepKqkq6TipMqhvCAjVDM1IKWkpd6lqqWrpeKlyqG8CisrpKSk3qSqpKuk4qTKpKIgI1QzNSClpKXepaqlq6XipcqhvAorK6SkpN6kvaSrpOogI0NKIKSkpN6kvaSrpOoKKyukpKTepM6kpqTBICNKTiClpKXepc6lpqXBCisrpKSk3qTOpKakwaSqpMukrqTqpNChvKS4pOek8yAjSk4gpaSl3qXOpaalwaGmpKqky6SupOql0KG8pbil56XzCisrpKSk3qTOpKakwaTUpKukoSAjSk4gjrKOz47JjrOOwaXUpauloSEKKyukpKThpMykz6S4pK0gI1QzNSBpbWUubnXDxqStCisrpKSk4iAjQ04gsPIKKyukpKTiICNUMzUgsPIKKyukpKTipKakyCAjVDM1IMvlCisrpKSk5KS3pLGkpCAjSk4gzP6kt7fPCisrpKSk5KTJpPMgI0NKIKHKoaajwaGmocuOso7UjsSO3o7dISEKKyukpKTkpN6kw6S/pK8gI0pOIKisz6/AuAorK6SkpOSk3qTDpL+kryAjSk4gjqiOrI7Pjq+OwI64CisrpKSk6KSmICNKTiCko6TnpKUKKyukpKTopKYgI0pOIKWkpOekpQorK6SkpOmkyqSkpO8gI0pOIKWkpemlyqWkpe8KKyukpKTppM0gI0pOIKHKjt+t+Y7focuOso7XjsgKKyukpKTppM0gI0pOII6yjteOyAorK6SkpOmkzaG8pOggI0pOIKWkpemlzaG8pegKKyukpKTppM2hvKTopKukuaS/pOAgI0pOIKWkpemlzaG8peilq6W5pb+l4AorK6SkpOmkzaG8pOsgI0pOIKWkpemlzaG8pesKKyukpKTppM2kuKTlpMukoiAjSk4gpaSl6aXNpbil5aXLpaIKKyukpKTqpKKktaTzICNKTiBJcmlhpLWk8worK6SkpOukzSAjSk4gocqO36fYjt8pjrKO2Y7ICisrpKSk66TNICNKTiCOso7ZjsgKKyukpKTrpNOkzSAjVDM1IKSkpOuk06TNCisrpKSk7KSwpKQgI1QzNSDG/qTstvSkpAorK6SkpO2kwaTzpMCk8yAjVDM1IL+nxMHDxAorK6SkpPOks6SrpKSkuKTzICNKTiClpKXzpbOy+L/NCisrpKSk86SzpKukpKS4pPMgI1QzNSClpKXzpbOy+L/NCisrpKSk86S3ICNUMzUgsPy74AorK6SkpPOk1KSqICNUMzUgpaSl86XUpaoKKyukpKTzpNykpiAjVDM1ILGiy8UKKyukpqGrpKGhvCAjQ0ogpfSloaG8CisrpKahq6ShobwgI0NKIKX0paKhvAorK6SmoaukoaSkpOmkuSAjVDM1IKX0paGlpKXppbkKKyukpqGrpKGkqyAjVDM1IKX0paGlqworK6SmoaukoaSrpMAgI0tLIKX0paGlq8LMCisrpKahq6ShpKukwCAjVDM1IKX0paGlq8LMCisrpKahq6SjICNKTiCj1gorK6Smoauko6SvpMik6qG8pL6ky6TDpK8gI0pOIKX0paOlr6XIpeqhvKW+pculw6WvCisrpKahq6SjpLik5aSkpL8gI1QzNSCl9KWjpbil5cjECisrpKahq6SjpOqkpCAjVDM1IHZpcmlpCisrpKako6TKICNUMzUgpaalo6XKCisrpKako6TzpKik4KSopMOkr6S5ICNUMzUgV2luTVgKKyukpqSjpPOkx6SjICNUMzUgV2luZHkKKyukpqSjpPOkyaSlobykryAjVDM1IHdpbmR1a2UKKyukpqSjpPOkyaSmpLogI1QzNSBXaW5kb3oKKyukpqSnICNKTiCzqgorK6SmpKcgI0pOII6zjqoKKyukpqSnpKSkyCAjVDM1IHdhaXQKKyukpqSnpKikz6TDpM+kw6TPICNDSiClpqWnobyhoqXPpcOlz6XDpc8gCisrpKakp6S2obyk6qTdobykyCAjSk4gpaalp6W2obyhpqXqpd2hvKXICisrpKakqKTOpK+k6qTLpMOkr6TOpKqkyKSzICNUMzUgvuXM7qWvpeqly6XDpa+kzsPLCisrpKakqaSsICNUMzUgpaalqaWsCisrpKakqqG8pPMgI1QzNSCkpqSqobyk8worK6SmpKqkqqTzICNUMzUgpKakqqG8pPMKKyukpqSqpMqk86SrpLmktKSkpMiks6TtpMuk3qTopKSks6TzpLik3qTDpL+kvqS0pOukoSAjSk4gpKakqqGqpMqk86SrpLmktKSkpMiks6TtpMvMwqSkuf6k86S4pN6kw6S/pL6ltKXrpaGhqgorK6SmpKqkyqTzpKukuaS0pKSkyKSzpO2ky6TepOikpKSzpPOkuKTepMOkv6S+pLSk66ShICNKTiCkpqSqoaqkyqTzpKukuaS0pKSkyKSzpO2ky8zCpKS5/qTzpLik3qTDpL+kvo66jt6O2Y6noaogCisrpKaktaTeobwgI0pOICiO36fVjt8pjrOOu47PjrAKKyukpqS1pN6hvCAjSk4gs7t8CisrpKaktaTeobwgI0pOII6zjruOz6HdCisrpKaktiAjS1lUIKSmpLYKKyukpqS2pKykrSAjVDM1IKWmpbalrKWtCisrpKakt6SqpPOkyiAjSk4gte299worK6SmpLyhvCAjSk4gKGC7rqGtKY6zjr6O3o6wCisrpKakvKG8ICNKTiClpqW8obwKKyukpqS8obwgI0pOII6zjr6O3o6wCisrpKakvKG8pOggI0pOIKWmpbyhvKXoCisrpKakvKSnICNDSiCkpqS8pKcKKyukpqS8pKehvCAjQ0ogdXplZWVlIQorK6SmpLykp6StpKik7SAjSk4gpaalvKWnpK2kqKTtoaahpqGmCisrpKakvaSzobwgI0pOIKWmpb2ls6G8IQorK6SmpL2ks6G8ICNKTiCOs46/jrqOsCEKKyukpqS9pM+kpqS9pMekoqTrpMik36TMpLGk66TSpMikx6TKpKSkyCAjQ0ogpKakvaTPpKakvaTHpKKk66TIuKvItKSxpOu/zaTHpMqkpKTICisrpKakvaTkICNUMzUgsbOysAorK6SmpL+ky6TEpMOks6TzpMekr6TsICNKTiCyzqTLpcSlw6WzpPOkx6SvpOwKKyukpqTBpOWkpqSrpKSkz6TEICNUMzAgsafD6LOryK8KKyukpqTBpOWkpqSrpKSkz6TEICNUMzUgsafD6LOryK8KKyukpqTBpOWkpqTkpNCkpCAjQ0ogsafD6KXkpdClpAorK6SmpMOktaSkICNKTiClpqXDpbWlpAorK6SmpMOktaSkpM+ksiAjQ0ogpKakw6S1pKSlz6WyCisrpKakw6S/pKik66TqpKKk66TipMqhvCAjSk4gwcqkqKTrpeqloqXrpeKlyqG8CisrpKakxKSmpL8gI1QzNSDdtbLOCisrpKakxKSopOKk8yAjSk4gpKakxKWopeKl8worK6SmpMSkwCAjS0sg3bXCxworK6SmpMSkwCAjVDM1IN21wscKKyukpqTEpMCkt6TOpKYgI0NKIKSmpMSkwKS3pM6kpgorK6SmpMSkwKS3pM6kpiAjQ0ogpPPCx6TEpMC74ce+IAorK6SmpMSkwKS3pM6kpiAjQ0og3bWkwLvhpM6kpgorK6SmpMSkwKS3pM6kpiAjQ0og3bWkwL3Bx7sgCisrpKakxKTApLekzqSmICNDSiDdtcLHu+3HuSAKKyukpqTEpMCkt6TOpKYgI0NKIN21wsy74ce+IAorK6SmpMSk5KStICNKTiDdtb7GpK0KKyukpqTGpLcgI1QzNSClpqXGpbcKKyukpqTIICNUMzUgpaalyAorK6SmpMqhvCAjSk4goroojt+h/Y7fKaK7jrOOxY6wCisrpKakyqG8ICNKTiCOs47FjrAKKyukpqTLICNUMzUgpaalyworK6SmpMukr6TtICNUMzUgpaaly6Wvpe0KKyukpqTLpK+k7SAjVDM1IKWmpcu59QorK6SmpMuk46G8ICNKTiCkpqTLpOOhwQorK6SmpMuk5aSmICNKTiCkpqTLpOWkpgorK6SmpNKk56G8ICNKTiClpqXSpeehvAorK6SmpNKk56S5pOwgI1QzNSClpqXSpeeluaXsCisrpKak1yAjVDMwIKSmo/AKKyukpqTXICNUMzAgpKak1worK6SmpNcgI1QzNSB1cAorK6SmpNcgI1QzNSCkpqTXCisrpKak16S3pOekr6TLpPMgI1QzNSCkpqPwv6a/zQorK6SmpNykoaG8ICNKTiChyo7fp6WO36HLjrOOzo7ejqeOsAorK6SmpNykoaG8ICNKTiClpqXcpaGhvAorK6SmpN6hvCAjQ0ogKI7fp9WO3ymOs47PjrAKKyukpqTeobwgI0NKIKHKoayn1aGsoculpqXeobwKKyukpqTeobwgI0NKIKHKoayn1aGsocuOs47PjrAKKyukpqTeobwgI0NKIKWmpd6hvAorK6SmpN6hvCAjSk4gKI7fp9WO3ymOs47PjrAKKyukpqTeobwgI0pOII6zjs+OsAorK6SmpN6koiAjQ0ogpaal3qG8CisrpKak3qSkpNykpiAjSk4gpKak3qSkpNykpgorK6SmpN6kpKTcpKYgI0tLIKSmpN6kpMvACisrpKak3qSkpNykpiAjVDM1IKSmpN6kpMvACisrpKak3qTKpOogI1QzNSDHz8zpCisrpKak4qSmpOik6qTipKuk66SvpMGk4qSrpOikw6TGpKSkyqSkICNDSiCxqczTpOik6qTit9qkr6Git+yk4sTMpMOkxqSkpMqkpAorK6SmpOKkqaG8ICNKTiClpqXipamhvAorK6SmpOKkqaG8ICNKTiCOs47TjquOsAorK6SmpOggI1QzNSClpqXoCisrpKak6KTDpMak6yAjVDM1ILGmzeOkw6TGpOsKKyukpqTppKKkqiAjVDM1IM6iwMQKKyukpqTppKKkr6TepMGk56SmpLik8yAjVDM1IM6isK3L4sS2v80KKyukpqTppKik7SAjVDM1IKWmpemlqKXtCisrpKak6aTLpMGk46TzICNLSyDOoqOypMGk46TzCisrpKak6aTLpMGk46TzICNUMzUgzqIypMGk46TzCisrpKak6aTLpMGk46TzICNUMzUgzqKjsqTBpOOk8worK6SmpOmkz6TpICNUMzUgzqLKogorK6SmpOmk3KTzICNUMzUgzqLL3gorK6SmpOmk3KTzICNUMzUgzqLL3worK6SmpOmk3KTzICNUMzUg4rPN9svfCisrpKak6aTpobwgI0pOIKWmpeml6aG8CisrpKak6qS4pMqk6yAjVDM1IKWmpeqluKXKpesKKyukpqTqpMqk6SAjVDM1IKWmpeqlyqXpCisrpKak6qTKpOmktaSkpNChvKTGpO2kwKTzICNKTiClpqXqpcql6aW1paSl0KG8pcal7cPECisrpKak6qTKpOmktaSkpNChvKTGpO2kwKTzICNKTiCOs47YjsWO1467jrKOyo7ejrCOw47bw8QKKyukpqTqpMqk6aS1pKSk0KG8pMak7aTApPMgI0pOII6zjtiOxY7XjruOso7Kjt6OsI7DjtvDxKGhCisrpKak66S1pKSkz6SopMCkyqSiICNKTiCkpqTrpLWkpMfopMCkyqShCisrpKak66S7obyk0KSrICNKTiCkpqTrpLuhvMfPvK+hqgorK6SmpOuku6SopNCkqyAjQ0ogpKak66S7obzHz7yvCisrpKak66TIpOmk3qS9ICNKTiCOs47ZjsSO147Pjr8KKyukpqTrpN6k6aTepPMgI0pOIKWmpeul3qXppd6l8worK6SmpOuk4qTppN6k8yAjSk4gpaal66Xipeml3qXzCisrpKak7aG8pPMgI0pOIKWmpe2hvKXzCisrpKak76ShpKGk8yAjQ0ogpaal76WhpaGl8worK6SmpO+koaShpPMgI0NKII6zjtyOp46njt0KKyukpqTvpMqkyyAjQ0ogpKak76GipMqky6GpCisrpKak86SzICNUMzUgpaal87vSCisrpKak86SzobwgI0pOIKWmpfOls6G8IQorK6SmpPOks6G8ICNKTiCOs47djrqOsCEKKyukpqTzpLOkpKS/ICNDTiClpqXzpbPIxAorK6SmpPOks6SkpL8gI1QzNSClpqXzpbPIxAorK6SmpPOks6THpK2kv6ToobwgI0pOIKWmpfOls6THpK2kv6ToobyhqqGqCisrpKihvCAjSk4gpaihvAorK6SoobykqKG8ICNUMzUgo8GjwQorK6SoobykuKTjpMqkpKSrICNUMzUgpPF+pMKk46TKpPCkqworK6SopKKkqKTDpLikrKThICNKTiBhaXJIIo62jt6O0gorK6SopKKkwKTzICNUMzUgpailoqXApfMKKyukqKSkpKik8yAjVDM1IKSopKSkqKTzCisrpKikpKSupOekpqTipMqhvCAjSk4gscS2yKXipcqhvAorK6SopKSksaTLpLmkyCAjVDM1IKWopaSlsaXLpbmlyAorK6SopKSku6SkICNUMzUgscrAwgorK6SopKSkwaTGpKOhvKSopOCkqKTrpKsgI1QzMCBodG1ssr0KKyukqKSkpMGkxqSjpMako6TUpKOk7KG8pLahvCAjSk4gaHR0cKXsobyltqG8CisrpKikpKTZpMOkr6S9ICNLSyClqKWkpdmlw6Wvpb0KKyukqKSkpNmkw6SvpL0gI0tLIKWopaSl2aXDyrUKKyukqKSkpOqkpqTvpKGkoaTzICNKTiClqKWkpeqlpqXvpaKloaXzCisrpKikpKTqpKak76ShpKGk8yAjSk4gjrSOso7YjrOO3I6xjqeO3QorK6SopKSk6qSmpO+koaShpPMgI0pOII60jrKO2I6zjtyOsY6njt0gCisrpKikqKS4pOOkyqSkpKsgI1QzNSCk8X6kwqTjpMqk8KSrCisrpKikraTZpL0gI0NOIKWopa2l2aW9CisrpKikraTZpL0gI1QzNSClqKWtpdmlvQorK6SopK2k2aTzICNDTiCx1crYCisrpKikraTZpPMgI0NOILHWytgKKyukqKStpNmk8yAjQ04gsdjK2worK6SopK2k2aTzICNUMzUgsdXK2AorK6SopK2k2aTzICNUMzUgsdbK2AorK6SopK2k2aTzICNUMzUgsdjK2worK6SopK2k2aTzpMCkpKSspK8gI0NOILHYytvC57PYCisrpKikraTZpPOkwKSkpKykryAjVDM1ILHYytvC57PYCisrpKikr6S3obykyaSupOukuSAjSk4gpailr6W3obylyaWupeuluQorK6SopK+kuaTXpO2kpKTGpMOkySAjSk4gZXhwbG9pdGVkCisrpKiksKS8pM2ksyAjSk4gZXhlpM2ksworK6SopLik6qS/pPMgI0pOIKWopcKl6qS/pPMKKyukqKS5pKik4KSkpKQgI1QzNSAkTUUKKyukqKS5pKuk7KS/obwgI1QzNSClqKW5paul7KW/obwKKyukqKS5pMikt6G8pOKkoqSipOmktyAjSk4gpailuaXIpbehvKXipaK506TppLcKKyukqKTApLKk86TKICNDSiC73szTpPOkygorK6SopMOkr6S5pK6ksyAjSk4gWKWupbOhoQorK6SopMSksyAjSk4gpailxKWzCisrpKikyKSmICNKTiC5vsbaCisrpKikyKSmICNKTlMgub7G2gorK6SopMik8yAjSk4gub7G2gorK6SopMik8yAjSk5TILm+xtoKKyukqKTKpOogI0pOIKSopMqk6gorK6SopMqk6qSrpLqkrSAjSk4gpKikyqTqpKukuqStCisrpKiky6SvpL0gI0tLIKWopculr6W9CisrpKiky6SvpL0gI1QzNSClqKXLpa+lvQorK6SopMykuKSkpO+koqTJICNUMzUgTkel76G8pckKKyukqKTMpLmkxiAjVDM1IKPOpbmlxgorK6SopMyky6TBpOukpqTrICNUMzUgbsb8peuhvKXrCisrpKikzKTvpKSkwaTlpKYgI1QzNSBueb/fCisrpKik0qThICNDTiCwpsmyCisrpKik06TVpOmkpKTvpMOkt6TnpKQgI0pOIKWopdOl1aXppaSl76XDpbel56WkoaqhqgorK6SopNWkqKSkICNDSiBGQQorK6SopNWkqKSkICNDSiBGQT8KKyukqKTVpOmk86SvICNUMzUgRqXppfOlrworK6SopNahvKSkICNUMzUgpKik1qG8pKQKKyukqKTWpKakpCAjVDM1IKSopNahvKSkCisrpKik36TlICNUMzUgpKik36TlCisrpKik4KSopKikr6S5ICNLSyClqKXgpaihvKWvpbkKKyukqKTgpKikqKSvpLkgI0tLII60jtGOtI6wjriOvQorK6SopOCkqKTDpK+kuSAjVDM1IE1YCisrpKik4KSopMOkr6S5pLWk8yAjSk4go82j2KS1pPMKKyukqKTgpKikw6SvpLmktaTzpMiks6TepOsgI0pOIKPNo9iktaTzpMils6XepesKKyukqKTgpKikw6SvpLmkwaTlpKYgI1QzNSBNWL/fCisrpKik4KSopOCkoqSipOsgI1QzNSBNTVIKKyukqKTgpKik4KSipKKk66SzpNSk2iAjQ0ogTU1SpbOl1KXaCisrpKik4KS5pMYgI1QzNSBNpbmlxgorK6SopOCk1qTBpOekpiAjSk4go83J9MS5CisrpKik4qTpICNKTiCl8aXipekKKyukqKTqICNKTiC23worK6SopOogI1QzNSC23worK6SopOqkwaTzICNKTiClqKXqpcSlo6XzCisrpKik6qTEpKOk8yAjSk4gpKik6sTBCisrpKik7KSvpL0gI1QzNSClqKXsyrUKKyukqKTspK+kvSAjVDM1IKWopezKtaG8pfMKKyukqKTspK+kvaSqpPMgI1QzNSClqKXsyrUKKyukqKTspK+kvaSqpPMgI1QzNSClqKXsyrWhvKXzCisrpKik7aSopO2ku6TzpL+kpKS6pOqku6TzpLik46SiICNUMzUgpail7aWope3A78Lipbql6qW7pfOluKXjobwKKyukqKTtpLIgI1QzMCClqKXtpbIKKyukqKTtpLIgI1QzNSClqKXtpbIKKyukqKTtpLKkqqS/pKSkxKTEpM6kwaSrpKQgI1QzNSClqKXtpbKlqqW/o7WkxKTOwMCkpAorK6SopO2ksqTypL+k3KSvpOGkxKSmpPOkyaSmpKsgI0tLIKWope2lsqXypb/L0MzHsb/GsLLICisrpKik7aSypPOkrKG8ICNUMzUgpail7aWypfOlrKG8CisrpKik7aSypPOkrKSiICNUMzUgpail7aWypfOlrKG8CisrpKik7aS6pOqhvCAjSk4gpail7aW6peqhvAorK6SopO2kw6SvpLkgI1QzNSBlcm94CisrpKik7aTcpK8gI0tLIKWope3L0AorK6SopPOkpKG8ICNUMzAgpKik86SkobwKKyukqKTzpKShvCAjVDM1IKSopPOkpKG8CisrpKik86SkpKQgI1QzNSCkqKTzpKShvAorK6SopPOkq6SrpLek5aS3pKOkwaTjpPMgI0pOILHpss6yzrzqpLeko6TBpOOk8worK6SopPOks6SmpMkgI1QzNSCx57jyoe4KKyukqKTzpLik86SqpKYgI0pOIKWopfOluKXzsqYKKyukqqG8pKikpKTBpNShvCAjVDM1IKPPo8ij0AorK6SqpKKkpKS9pOahvKTbobwgI0pOIKSqpKKkpKS9peahvKXbobwKKyukqqSkpKqkpKTLpOWhvKS5pN+kvyAjQ0ogpKqkpKSqpKShoqXLpeWhvKW5uKukv6GpCisrpKqkpKSqpN6kqKTpICNDSiCkqqSkoaKkqsGwpOkKKyukqqSkpLmkv6G8pLWkr6S7pPMgI1QzNSClqqWkpbmlv6G8uu7A7worK6SqpKSkuaS/pKKktaSvpLuk8yAjVDM1IKWqpaSluaW/oby67sDvCisrpKqkpKTKpOqk4qTKobwgI0pOIKSqpKSkyqTqpeKlyqG8CisrpKqkpKTgICNUMzUgpaqlpKXgCisrpKqkpKTpICNUMzUgpKqkpKTpCisrpKqkpqS0pPOkwaTlpKYgI1QzNSCyq7biv98KKyukqqSmpMmkpqThpKyk3yAjS0sgsqbGu733v8AKKyukqqSqpK6ks6TWpMGk56SmICNKTiDC56WupbPJ9MS5CisrpKqkqqSzpN+k36TPpPOkxqTzICNKTiDC576uvKrI08W5CisrpKqkqqTDICNKTiCOtY61pcOhqgorK6SqpKqkxKStICNKTiClqqWqpcSlrQorK6SqpKqkxKStICNKTiCOtY61jsKOtworK6SqpKqkx6SjpKik86S5ICNUMzUgpaqhvKXHpaOlqKXzpbkKKyukqqSqpMiks6TzpNek6qSkpMggI1QzNSClqqG8pcils6Xzpdel6qG8pcgKKyukqqSqpMik6iAjS0sgy7EKKyukqqSqpMik6iAjVDM1IMuxCisrpKqkqqTfpN+k4qTKobwgI0pOIMLnvKql4qXKobwKKyukqqSqpN+k36TipMqk3yAjSk4gwue8qsuoxuDI/gorK6SqpKqk36TfpOKk6aTpobwgI0pOIMLnvKql4qXppemhvAorK6SqpKqk4qTqpLOkpKTzICNUMzUgwue/uaWzpaSl8worK6SqpKukrqSzpK2k56SmpLik5SAjSk4gpaqlq6WupbO2tbz4CisrpKqkq6S3pKSkx6S5pOikq6TGpLikyqS1pPMgI0NKIKSqpKukt6SkpMekuaTooaqlq6XGpbilyqS1pPOhqqGqCisrpKqkq6TfICNKTiCkqqSrpN8KKyukqqSrpOSk8yAjSk4gtbbU3aGhCisrpKqkq6TkpPMgI0pOII61jraO1I7doaEKKyukqqSrpOykuSAjVDM1ILKspeyluQorK6SqpKyk7yAjVDM1IL6uwO4KKyukqqSvICNUMzUgsfwKKyukqqSvpOykuSAjVDM1IMPZpeyluQorK6SqpLCk6iAjVDM1IL6ut6oKKyukqqSxpKSkz6TzICNKTiCkqqSxpKSkz6TzCisrpKqksaSkpM+k8yAjVDM1IKSqpLGkpKTPpPMKKyukqqSypN6k8yAjVDM1IKWqpbKl3qXzCisrpKqks6TOpN+kuKTnpKak5iAjSk4gpKq5paTfvt/M/QorK6SqpLWkt6TfpOKkyqG8ICNKTiCkqqS1pLek36XipcqhvAorK6SqpLWk1aTNobyk6KSrpMOks6SmpKOkuqTipMakzaG8pOikyKS4pKukw6SzICNKTiClqqW1pdWlzaG8peihyndpdGihoaXipcalzaG8peihyworK6SqpLWk3qTTpPOk6aTHpKOk8yAjSk4gpaqltaXepdOl86Xppcelo6XzCisrpKqktaTpobwgI0pOIKSqu66hvAorK6SqpLWk6aG8ICNKTiCkqruuobwgCisrpKqktaTsICNUMzAgpaqltaXsCisrpKqktqTvpOKkyqSrICNKTiC+rsL0peKlyqWrCisrpKqkt6SopMakr6TzICNUMzUgtrWkqKTGt68KKyukqqS3pKogI0pOIKSqsfYKKyukqqS3pKogI1QzNSCkqrH2CisrpKqkt6TqpLkgI0pOIKWqpbel6qW5CisrpKqkt6TqpNqk86TapPMgI0NKIKWqpbel6qXapfOl2qXzISAKKyukqqS3pOqk2qTzpNqk8yAjQ0ogjrWOvI7Yjs2O347djs2O347dISAKKyukqqS3pOqk8qSqpKyk4KSkpKSk86SrpKQgI0pOIKH6ofqh+qSqv6yk8sfSpOCw0bD3svGh+qH6ofoKKyukqqS3pOqk8qSqpKyk4KSkpKSk86SrpKQgI0pOIKH6ofqh+qSqv6yk8sfSpOCw0bD3svGh+qH6ofogCisrpKqkuKTjpN6kuKTnICNKTiCkqqW4pePL4r33CisrpKqkuKTzpKyhvKS8pMOkyCAjSk4gpaqluKXzpayhvFoKKyukqqS4pPOkrKSipLykw6TIICNKTiClqqW4pfOlrKG8WgorK6SqpLmkriAjVDM1IKSqv/kKKyukqqS7obyk7SAjQ0ogpKqku6G8pO0KKyukqqS7pKik7SAjQ0ogpKqku6G8pO0KKyukqqS7pO2kx6TipLek6KSmpOggI0NKIKWqpbul7aTHpOKkt6TopKak6AorK6SqpL2k7KS5ICNUMzUgw9ml7KW5CisrpKqkv6SspOogI1QzNSClqqW/vO2k6gorK6SqpL+kraTlpKYgI0tLIKXypb+13gorK6SqpL+kraTlpKYgI1QzNSCl8qW/td4KKyukqqS/pLek5aSmICNUMzUgpaqlv72tCisrpKqkv6TApKSkt6TlpKaktKSmICNKTiClqqW/wue9uLnnCisrpKqkv6TrpMOkryAjVDM1IKWqpb+l66XDpa8KKyukqqTApK6k6qTipMqhvCAjSk4gpaqlwKWupeql4qXKobwKKyukqqTBpOOkzqTeICNKTiCkqsPjpM601gorK6SqpMOkyKG8pMGk46TzICNKTiClqqXDpcihvKTBpOOk8worK6SqpMQgI1QzNSCytQorK6SqpMSkq6SkICNLSyCytbLxCisrpKqkxKSrpOyhvCAjQ0ogsrWlq6XsobwKKyukqqTEpKuk7KG8ICNUMzUgsrWlq6XsobwKKyukqqTEpKuk7KSoICNUMzUgsrWlq6XsobwKKyukqqTEpMikq6SkpMOkv6TkpMSkt6TNICNDSiCytaTIpKu4wKTDpL/F27vgpM0KKyukqqTFpOkgI0pOIKWqpcWl6QorK6SqpMekuKG8pMkgI0pOIKWqpceluKG8pckKKyukqqTHpPMgI1QzNSCkqqTHpPMKKyukqqTHpPOk3qTzICNKTiCkqqTHpPOl3qXzCisrpKqkx6TzpN6k8yAjVDM1IKSqpMek86TepPMKKyukqqTIobykwaTjpPOk3KTDpK2kt6TnpKakrKSkICNKTiCkqqTIobykwaTjpPPL1rWvvuOzsgorK6SqpMikpqTVICNKTiCkqqTIpKak1QorK6SqpMiks6TJpPMgI1QzNSC0wdCnCisrpKqkyKS4pOMgI1QzNSDE77zUCisrpKqkyKS/pLEgI0pOIKPayfAKKyukqqTIpL+ksSAjSk5TIKWqpcilv6WxCisrpKqkyKS/pLEgI1QzNSCj2rywCisrpKqkyKS/pLEgI1QzNSCj2snwCisrpKqkyKS/pLGkpCAjSk4gpaqlyKW/t7oKKyukqqTIpL+ksaSkICNUMzAgpaqlyKW/t7oKKyukqqTIpL+ksaSkICNUMzUgpaqlyKW/t7oKKyukqqTIpL+ksaSypPOkuaSkICNKTiClqqXIpb+lsbi1v+MKKyukqqTIpMogI1QzNSCk8qTIpMoKKyukqqTIpMqkzqSupLOkrqSzpL8gI0pOIMLnv82kzrW8uMWlrqWzwsAKKyukqqTIpN6k6yAjSk4go9q03QorK6SqpMik4SAjVDM1ILTBvfcKKyukqqTJpOogI1QzNSCkqqTJpOoKKyukqqTKICNDSiCkqqTKCisrpKqkyqG8pMsgI1QzMCClqqXKobylyworK6SqpMqhvKTLICNUMzAgjrWOxY6wjsYKKyukqqTKpKykpKS3pN6kuSAjQ0ogpKqkyqSspKSkt6TepLkKKyukqqTKpKykpKS3pN6kuSAjSk4gpKqkyqSspKSkt6TepLmhoQorK6SqpMqkt6TlpN8gI0NKIKSqpMq88cyjCisrpKqkyqS3pOWk3yAjVDM1IKSqpMq88cyjCisrpKqkyqTLobwgI1QzMCClqqXKpcuhvAorK6SqpMqky6SkpLmk7CAjVDM1IKWqpcqly6G8pbml7AorK6SqpMqky6S5pMggI1QzNSClqqXKpculuaXICisrpKqkyqTMobwgI1QzMCClqqXKpcyhvAorK6SqpMqkzKG8ICNUMzAgjrWOxY7HjrAKKyukqqTLpKSky6TvpMOkwaTnpKQgI0pOIKSqpMuhvKTLpe+lw6XBpeelpAorK6SqpMukrqTqICNKTiCkqqTLpK6k6gorK6SqpMukrqTqpKakwKSkpLik8yAjSk4gpKqky6SupOqxpsLnv8MKKyukqqTLpK6k6qSspMqhvCAjSk4gpKqky6SupOqlrKXKobwKKyukqqTLpK6k6qS4pKSktaTzICNKTiCkqqTLpK6k6qS4pKSktaTzCisrpKqky6SupOqkuKTjpK4gI0pOIKSqpMukrqTqpbil46WuCisrpKqky6SupOqkuaTppKSk4CAjSk4gpKqky6SupOqluaXppaSl4AorK6SqpMukrqTqpLukpKTIICNKTiCkqqTLpK6k6sC4xcwKKyukqqTLpK6k6qS7pPOk6KSmpKKkw6SspKQgI0pOIKSqpMukrqTqwOzN0aWipcOlrKWkCisrpKqky6SupOqkv6TipOogI0pOIKSqpMukrqTqpb+h+6XqCisrpKqky6SupOqkwKTzICNKTiCkqqTLpK6k6sPECisrpKqky6SupOqkxqTzpLcgI0pOIKSqpMukrqTqxbe7yAorK6SqpMukrqTqpMikpiAjSk4gpKqky6SupOrF3gorK6SqpMukrqTqpMikpiAjSk4gpKqky6SupOrF3iAKKyukqqTLpK6k6qTQpPOkySAjSk4gpKqky6SupOql0KXzpckKKyukqqTLpK6k6qTSpMOkraG8ICNKTiCkqqTLpK6k6qXSpcOlraG8CisrpKqky6SupOqk26TzpN0gI0pOIKSqpMukrqTqy9zK3gorK6SqpMukrqTqpOCkraTgpK0gI0pOIKSqpMukrqTqpeClraXgpa0KKyukqqTLpK6k6qTipMqhvCAjSk4gpKqky6SupOql4qXKobwKKyukqqTLpK6k6qTvpMOkwaTnpKQgI0pOIKWqpculrqXqpe+lw6XBpeelpAorK6SqpMuk76TqobykyiAjVDM1IKWqpcul76XqobylygorK6SqpMuk76TqpKSkyiAjVDM1IKWqpcul76XqobylygorK6SqpM0gI1QzNSCkqqTNCisrpKqkzaSkpLWk8yAjVDM1IKSqpM2kpKS1pPMKKyukqqTPpMqk0KS/pLEgI1QzNSCkqrLWyKoKKyukqqTPpOikpqS4pOcgI1QzNSCkqqTPpOekpabJoauk5yAKKyukqqTQpMGk46TzICNUMzUgjrWOyo7ejsGOrI7dCisrpKqk0KTBpOOk8yAjVDM1IKWqpdClwaXjpfMKKyukqqTQpMGk5aSmICNUMzUgpKqk0L/fCisrpKqk0KTBpOWkpiAjVDM1IKWqpdC/3worK6SqpNGhvKSkICNUMzUgpaql0aG8paQKKyukqqTRpKKkpCAjVDM1IKWqpdGhvKWkCisrpKqk06S/pMuk3aTDpMggI0pOIMLTw6ul3aXDpcgKKyukqqTVpKukpCAjVDMwIKWqpdWy8QorK6SqpNWk6aSkpPOk06Tlobyk7yAjS0sgpaql1aXppaSl86XTpeWhvKXvCisrpKqk1qTEICNUMzUgsfjKqgorK6SqpNmk5KTqobykyiAjVDM1IKWqpdml5KXqobylygorK6SqpNmk5KTqpKSkyiAjVDM1IKWqpdml5KXqobylygorK6SqpNmk6aTqobykyiAjVDM1IKWqpdml6aXqobylygorK6SqpNmk6aTqpKSkyiAjVDM1IKWqpdml6aXqobylygorK6SqpNmk86TIpKakpqSkpPOkyqSiICNUMzUgpKrK28X2paalpKXzpcqhvAorK6SqpN6hvKTpICNUMzUgpKqk3qG8pOkKKyukqqTepKSk6iAjSk4gpKq7sqTqCisrpKqk3qSopKuky6G8ICNKTiClqqXepailq6XLobwKKyukqqTepKikrKTGpNuk86TypN+ku6TtpOggI0NKIKSqwbCkrLzqy9yk8rirpLuk7aToocqh96P3udMKKyukqqTepKikrKTKobwgI0pOIKWqpd6lqKWspcqhvAorK6SqpN6kqKSvpN6hvCAjSk4gpaql3qWopa+l3qG8CisrpKqk3qSopLekzaG8ICNKTiClqqXepailt6XNobwKKyukqqTepKikuKTjpKyhvCAjSk4gpaql3qWopbil46WsobwKKyukqqTepKikuKTjpKyhvCAjSk4gpaql3qWopbil46WsobwgCisrpKqk3qSopLik46TNobykviAjSk4gpaql3qWopbil46XNobylvgorK6SqpN6kqKTApLEgI0pOIKWqpd6lqKXApbEKKyukqqTepKikwKSxICNKTiClqqXepailwKWxKLjmwbDC+ykKKyukqqTepKikwKSxICNKTiC45sGwwvsKKyukqqTepKikwKTKobwgI0pOIKSqpN6kqKTApMqhvAorK6SqpN6kqKTApMsgI0pOIKWqpd6lqMOrCisrpKqk3qSopM+kv6TzpO2k86SrICNDSiCkqsGwpM+lv6Xzoaal7aXzpKuhqQorK6SqpN6kqKTipKuhvCAjSk4gpaql3qWopeKlq6G8CisrpKqk3qSopOKkwqTjobwgI0pOIKWqpd6lqKXipcKl46G8CisrpKqk3qSopOKkyqG8ICNDSiClqqXepail4qXKobwKKyukqqTepKik4qTKobykz6TzICNKTiClqqXepail4qXKoby0wAorK6SqpN6kqKTipMqkoiAjQ0ogpaql3qWopeKlyqG8CisrpKqk3qSopOKkyqS0pKYgI0pOIE9NQUVNT05BueYKKyukqqTepKik4qTLpOOhvCAjSk4gpKqk3qSopOKky6TjobwKKyukqqTepKik4qTSpOMgI0pOIKWqpd6lqKXipdKl4worK6SqpN6k86S4pOWkpiAjVDM1IKSq8b3GrAorK6SqpN+koqSkpLmk66TipOmk6aG8ICNKTiCkqrirueekpKS5pOul4qXppemhvAorK6SqpN+kyKTtpPMgI1QzNSClqqXfpcil7aXzCisrpKqk4KS5pNMgI0pOIKSqpOCkuaTTCisrpKqk4aG8pOkgI1QzNSCkqqThobyk6QorK6SqpOGkpKTQpPOkq6SkICNDSiCx+My+yNSy8worK6SqpOGkrCAjVDM1IKWqpeGlrAorK6SqpOGkrKSipOmktyAjVDM1IKbYudOk6aS3CisrpKqk4aSspMGk8yAjVDM1IKbYxMEKKyukqqTipNUgI0NKILvXpNUKKyukqqTipOmkv6SrpNKk7SAjSk4gyPil4qXpzrS5sAorK6SqpOKk76TsICNDSiC716TvpOyhoworK6SqpOKk76TsICNUMzUgu9ek76TsCisrpKqk5KSzpNqk86SupPMgI0pOIL/Gu9Kl2qXzpa6l8worK6SqpOogI0tLIN2jCisrpKqk6iAjVDM1IN2jCisrpKqk6qStICNUMzUgpaql6qWtCisrpKqk6qTFpOsxNKTepPOk0KTXpO2kuKSnpK+kyCAjQ0ogwN6k6sThMTTL/LGppdel7aW4paelr6XICisrpKqk6qTPpOmk1qTpICNUMzUgwN64tqXWpekKKyukqqTqpNmk7aTTobwgI1QzNSC/pcn0pe2l06G8CisrpKqk6qTZpO2k06SkICNUMzUgv6XJ9KXtpdOhvAorK6SqpOqk56SmpOqkqqTNpKiktaTzICNKTiCkqs7Bzf2kqrvQpLWk8worK6SqpOukuaTGpMOkySAjSk4gpaql66W5pcalw6XJCisrpKqk7KSqpPOkyiAjVDM1ILK2vfcKKyukqqTspLWk3iAjVDM1ILK2zc0KKyukqqTspLWk3qTopKakt6SqpOogI1QzNSCyts3NzdGkt6SqpOoKKyukqqTspMChvCAjSk4gsrakwKG8CisrpKqk7KTLpLWk76SwpKqk1SAjVDM1ILK2pMvB+6Swpaql1QorK6SqpOykz6TepMGkrKSkpMqkr6SkpMOk0aTzpLik8yAjVDM1ILK2pM+01rDjpKSkyqSvsOzIzL/NCisrpKqk7KTipMqhvCAjQ0ogpaql7KXipcqhvAorK6SqpOyk4qTspOIgI1QzNSCyts+zpOyk4gorK6SqpO+kw6S/pMogI0pOICihpqG8oaahy461jtyOr47AjsWOpY6ljqUKKyukqqTvpMOkv6TKICNKTiClqqXvpcOlv6XKoaahpqGmCisrpKqk76TDpL+kyiAjSk4gjrWO3I6vjsCOxY6ljqWOpQorK6SqpPOkv6SkICNUMzUgsrnC0worK6SqpPOkv6SkICNUMzUguObC5worK6SqpPOk36TnpKakuCAjSk4gsaLN27vVCisrpKqk86TqpKik8yAjVDM1IE9ubGllbgorK6SrICNSNXIgvO0KKyukq6G8pMmkraTjpNekv6G8pOKkyqG8ICNKTiBDQ6XipcqhvAorK6SrpKSks6S3pOWkriAjVDM1ILL7uMW857XBCisrpKukpKS7pPMgI1QzNSDhzuH9CisrpKukpKS7pPOkraTDpMakr6TTpMSkw6TGpLekzSAjQ0ogsvPA/sDapMOkxrzzxN+kw6TGu+GkzQorK6SrpKSku6TzpK2kw6TGpK+k06TEpMOkxqS3pM0gI0pOILLzwP7A2qTDpMa888TfpMOkxrvhpM0KKyukq6SkpMakraTWpOmkpqS2obwgI0tLILL3xayl1qXppaaltqG8CisrpKukpKTJpKYgI0tLILLxxrEKKyukq6SkpMmkpiAjS0sgsvjGuAorK6SrpKSkyaSmICNLSyCzuca7CisrpKukpKTJpKYgI1QzNSCy8caxCisrpKukpKTJpKYgI1QzNSCy+Ma4CisrpKukpKTJpKYgI1QzNSCzuca7CisrpKukpKTVpK+kuaTRpLmk0aTipMqhvKSspK8gI0pOILLzyfyluaXRpbml0aXipcqhvLPYCisrpKukpKTYpKSktaTzICNKTiCzq8rEpLWk8worK6SrpKSk76TsICNUMzUgpaulpKXvpewKKyukq6SoICNDSiCkq6SoCisrpKukqKTHpOSkxKTpICNUMzUgpKukqKTHpOSkxKTpCisrpKukqKTsICNDSiAojqWiz46lKY62jrSO2iEKKyukq6SopOwgI0NKIKHKoaaiz6GmocuOto60jtohCisrpKukqKTsICNDSiClq6WopewKKyukq6SopOwgI0NKIKWrpail7CEKKyukq6SopOwgI0NKII62jrSO2iEKKyukq6SopOwgI1QzNSClq6WopewKKyukq6SqpOKkuCAjVDM1ILTpyri7+gorK6SrpKqk4qS4pLWkr6S7pKSkpKTppKQgI1QzMCC06cq4u/q67sCusM3N6gorK6SrpKyk5CAjSzVyILWxCisrpKukrKTkpLEgI0NKILWxpLEKKyukq6SspOSksSAjVDM1ILWxpLEKKyukq6SspO8gI1QzNSC54cDuCisrpKukraSzICNNNXIgvfGkrbn+CisrpKukraSzICNUMzAgpaulraWzCisrpKukraTnpKakpKTzpM6k6qSipK2kyKTPpPOkq6TBpM6kwaTnpKaku6TzpLik56SmICNKTiCy1rX+saHFtczApMilz6XzpaulwaTOxKnA7771CisrpKukriAjS0sguLAKKyukq6SuICNUMzUguLAKKyukq6SupMOksyAjVDM1ILiwpMO70gorK6SrpK+kyaTIpKsgI0NKILPRxdmkyKSrCisrpKukr6TLpKSkvyAjQ04gs9G80cjECisrpKukr6TYpPMgI1QzMCCzzsrRCisrpKukr6TYpPMgI1QzNSCzzsrRCisrpKukr6TopKYgI1QzNSDE4cLrCisrpKukr6TqICNUMzAgs9bOpQorK6SrpK+k6qSkpL8gI0NOILPWzqXIxAorK6SrpK+k6qSkpL8gI1QzNSCz1s6lyMQKKyukq6SvpOqkpKS/pM6kq6SvpOqkpKS/ICNUMzUgs9bOpcjEpM6z1s6lyMQKKyukq6SwpLcgI1QzNSC54bbxu9UKKyukq6SyICNUMzUga2FnZQorK6SrpLOkpCAjS1kgpauls6WkCisrpKuks6SkpKQgI1QzNSClq6WzpaSlpAorK6SrpLOk7aSwICNUMzUgsuG17qXtpbAKKyukq6SzpO+k6yAjS1kgpauls6XvpesKKyukq6SzpO+k66SkICNUMzUgpauls6XvpeulpAorK6SrpLQgI0pOIKSipKSk3KTzCisrpKuktCAjSk4gssO47gorK6SrpLUgI0pOILuxCisrpKuktSAjVDM1ILuxCisrpKuktaG8pOogI0pOIKWrpbWhvKXqCisrpKuktaSrpLUgI0pOIKWrpbWlq6W1CisrpKukt6TvpOKhvKTBICNKTiClq6W3pe+l4qG8pcEKKyukq6S5pMak6yAjS0sgpauluaXGpesKKyukq6S5pMak6yAjVDM1IKWrpbmlxqXrCisrpKukuiAjVDM1IL/0oqoKKyukq6S6pLiktaTzICNUMzUgv/S7+qS1pPMKKyukq6S6pOSkuKTrpLcgI1QzNSC/9KKqCisrpKuku6StpLmk7CAjVDM1ILK9wNCluaXsCisrpKukvaSkpL8gI1QzNSCy4cHCyMQKKyukq6S9pKak4qTKobwgI0pOILLQwfKl4qXKobwKKyukq6S/ICNSNSDx2QorK6SrpL8gI1I1ciDx2QorK6SrpL+krKTBICNUMzAgytKlrKXBCisrpKukv6TkpKogI1QzMCDK0qXkpaoKKyukq6S/pOogI1QzNSDx2aTqCisrpKukv6TvpOmhvCAjSk4gpaulv6XvpemhvAorK6SrpMGksKTfpOmkpKTzICNUMzUgvqHByKTfpemlpKXzCisrpKukwaTlobykt6TjICNLSyCkq6TBpOWhwaS3pOMKKyukq6TBpOWhvKS3pOMgI1QzNSCkq6TBpOWhwaS3pOMKKyukq6TBpOWhvKS3pOOktaTzICNKTiCkq6TBpOWhwaS3pOOktaTzCisrpKukwaTlpKakt6TjICNUMzUgpKukwaTlocGkt6TjCisrpKukwaTnpKYgI1QzNSCy3cS5CisrpKukw6SxobwgI0NKIKSrpMOksaG8CisrpKukw6SxobwgI1QzNSCkq6TDpLGhvAorK6SrpMOksaSoICNDSiCkq6TDpLGhvAorK6SrpMOks6SkpKQgI1QzNSClq6XDpbOlpKWkCisrpKukw6TIpOKkyqG8ICNKTiClq6XDpcil4qXKobwKKyukq6TDpNEgI0tLILLPxrgKKyukq6TDpNEgI1QzNSCyz8a4CisrpKukw6TRpLik46TKpKSk6CAjSk4gpaulw6XRpLik46TKpKSk6AorK6SrpMOk0aTDpNGhvCAjSk4gpaulw6XRpcOl0aG8CisrpKukxCAjSk4gue4KKyukq6TEICNUMzUgue4KKyukq6TEpN6kvyAjVDM1IL6hy/MKKyukq6TEpPMgI1QzNSClq6XEpfMKKyukq6TGpLSk6iAjVDM1IKWrpcaltKXqCisrpKukyKSmpLik5aTqICNKTiCyw8ajpbil5aXqCisrpKukyKSmpLik56TmpKYgI1QzNSCyvMX5vffNpQorK6SrpMikpqTmpKsgI0pOILLDxqPNs7nhCisrpKukyaTepO+k8yAjS0sgpaulyaXepe+l8worK6SrpMmk3qTvpPMgI1QzNSClq6XJpd6l76XzCisrpKukyqG8ICNKTiClq6XKobwKKyukq6TLICNLSyCzqgorK6SrpMsgI1QzNSCzqgorK6SrpMuk0KTrICNKTiAooabG+aGmKQorK6SrpMuk0KTrICNKTiClq6XLpdCl6worK6SrpM2kzaG8pOggI0pOIKWrpc2lzaG8pegKKyukq6TTpKqky6SupOogI0tLIKWrpdOlqqXLpa6l6gorK6SrpNOkqqTLpK6k6iAjVDM1IKWrpdOlqqXLpa6l6gorK6SrpNOk86S/pPMgI0pOILLWydOkv6TzCisrpKuk1aSnobwgI0pOIKWrpdWlp6G8CisrpKuk1iAjUjUgpKuk1gorK6SrpNakt6StpKykpKS3pOOk5KSqpK2k8yAjS0sgs/S8sLLxvNKl5KWqpa2l8worK6SrpNakt6StpKykpKS3pOOk5KSqpK2k8yAjVDM1ILP0vLCy8bzSpeSlqqWtpfMKKyukq6TWpMik4KS3ICNUMzUgpaul1qXIpeCltworK6SrpNehvKTrpKSkvyAjQ04gpaul16G8pevIxAorK6SrpNehvKTrpKSkvyAjVDM1IKWrpdehvKXryMQKKyukq6TXobyk66SkpL8gI1QzNSCOto7Mjt+OsI7ZyMQKKyukq6TXpKak66SkpL8gI1QzNSClq6XXobyl68jECisrpKuk16SmpOukpKS/ICNUMzUgjraOzI7fjrCO2cjECisrpKuk16TzpLMgI0pOICiOpaLPjqUppc6hoQorK6SrpNek86SzICNKTiClq6XXpfOls6GqCisrpKuk2SAjVDM1IMrJCisrpKuk3qTJpKak3qSipOmktyAjSk4gpaul3qXJpaal3rnTpOmktworK6SrpN8gI0pOILvmCisrpKuk3yAjVDM1IL/ACisrpKuk36SrpLykyKTDpLOkpqS/pKQgI0pOIL/AyffGw7m2wuIKKyukq6TfpLOkpqTqpPMgI1QzNSC/wLnfztcKKyukq6TfpLWkr6SsICNUMzUgv8C67rLoCisrpKuk36TKpOqksKTrobyk1yAjSk4gzeulsKXrobyl1worK6SrpN+kyqTqpLCk66G8pNcgI1QzNSDN66WwpeuhvKXXCisrpKuk36TKpOqksKTrpKak1yAjVDM1IM3rpbCl66G8pdcKKyukq6TfpM6kuKSkpMako6SkpKqkpiAjVDM1IL/ApM5HVE8KKyukq6TfpM6kyqTkpN+kz6Tqobyk1qTLpLik5aSmpKSkwSAjSk4gyLGkzse6pN+kz6Xqobyl1qOyo7EKKyukq6ThICNUMzUgtbUKKyukq6ThICNUMzUgtbWl3qXeCisrpKuk4aTepN4gI1QzNSC1taXepd4KKyukq6ThpOKkyqG8ICNKTiClq6XhpeKlyqG8CisrpKuk4aTipMqhvKSwpOyhvKTIICNKTiClq6XhpeKlyqG8pbCl7KG8pcgKKyukq6ThpOykuSAjVDM1ILW1peyluQorK6SrpOGk86TppKSkwKG8pKKkrqSzICNKTiCyvszMpemlpKXAobyloqWupbMKKyukq6ThpPOk6aSkpMChvKSipK6ksyAjSk4gsr7MzKXppaSlwKG8paKlrqWzIAorK6SrpOGk86TppKSkwKG8pKKk3qS+pPMgI0pOILK+zMyl6aWkpcChvKWipd6lvqXzCisrpKuk4aTzpOmkpKTAobykrqTrpLkgI0pOILK+zMyl6aWkpcChvKWupeuluQorK6SrpOGk86TppKSkwKG8pK6k66S5ICNKTiCyvszMpemlpKXAobylrqXrpbkgCisrpKuk4aTzpOmkpKTAobyktKTrpKGkw6SvICNKTiCyvszMpemlpKXAobxHT0xBQ0sKKyukq6ThpPOk6aSkpMChvKS3pKOkuaTqobwgI0pOILK+zMyl6aWkpcChvKS3pKOjsworK6SrpOGk86TppKSkwKG8pLeko6S5pOqhvCAjSk4gsr7MzKXppaSlwKG8pLeko6OzIAorK6SrpOGk86TppKSkwKG8pLeko6S5pOqhvKSopMOkr6S5ICNKTiCyvszMpemlpKXAobykt6Sjo7Oh3aPYCisrpKuk4aTzpOmkpKTAobykt6SjpLmk6qG8pKikw6SvpLkgI0pOILK+zMyl6aWkpcChvKS3pKOjs6Hdo9ggCisrpKuk4aTzpOmkpKTAobykuaTIpO2k86SsobwgI0pOILK+zMyl6aWkpcChvKW5pcil7aXzpayhvAorK6SrpOGk86TppKSkwKG8pOKkpqTKICNKTiCyvszMpemlpKXAobyl4qWmpcoKKyukq6TipLkgI1M1IL76pLkKKyukq6TipOEgI1QzNSCyqgorK6SrpOmkoqSupOOk86SwICNUMzUgpaul6aG8pa6l46XzpbAKKyukq6TppKKksiAjVDM1IMXizciksgorK6SrpOmkraTepLekvyAjQ0ogpKuk6c3opN6kt6S/CisrpKuk6aS5ICNKTiCxqAorK6SrpOukv6TzICNKTiClq6Xrpb+l8worK6SrpOyhvKTRpL2k3qS9ICNKTiClq6Xsobyl0aW9pd6lvQorK6SrpOyhvKTRpPOk3qTzICNKTiClq6Xsobyl0aXzpd6l8worK6SrpOyhvKTRpPOk3qTzICNKTiCOto7ajrCOyo7fjt2Oz47dCisrpKuk7KSkpLek5aSmpL+kwKTopKYgI0NKILLDzvC9rcm6pKYKKyukq6TspM8gI1QzNSC4z83VCisrpKuk76S1pK4gI1QzNSDA7rq+tb0KKyukq6TvpLek3qSipMWk3yAjSk4gwO7F58/CxMW8wgorK6SrpPMgI1QzNSC0sAorK6SrpPOkq6TzpMmkpqTqpMQgI0tLILTYtNjGsc6pCisrpKuk86SrpPOkyaSmpOqkxCAjVDM1ILTYtNjGsc6pCisrpKuk86SspK+ktKStpNak6iAjSk4gtNiz2KW0pa2l1qXqCisrpKuk86SspOuhvKTipMqhvCAjSk4gpaul86WspeuhvKXipcqhvAorK6SrpPOkr6TtpKYgI0pOIKWrpfOjuaO2CisrpKuk86SvpO2kpiAjSk4gtKq27M+rCisrpKuk86SvpO2kpiAjVDM1IKWrpfOjuaO2CisrpKuk86SvpO2kpiAjVDM1ILSqtuzPqworK6SrpPOksyAjUjUgpaul86WzCisrpKuk86SzICNSNXIgpaul86WzCisrpKuk86SzpK8gI0tLILSvufEKKyukq6TzpLOkryAjS0sgtK+58worK6SrpPOks6SvICNLSyDVobnxCisrpKuk86SzpK8gI1QzNSC0r7nxCisrpKuk86SzpK8gI1QzNSC0r7nzCisrpKuk86SzpK8gI1QzNSDVobnxCisrpKuk86SzpK+kyKTqICNUMzUgtNq58aTIpOoKKyukq6TzpLOkr6TIpOogI1QzNSC02rnxpMik6iAKKyukq6TzpLOkw6SvICNLSyClq6XzpbOlw6WvCisrpKuk86SzpMOkryAjVDM1IKWrpfOls6XDpa8KKyukq6TzpLOkyaTqICNKTiC017jFxLsKKyukq6TzpLWkpKTVpKGkpKTWpLmkv6SiICNUMzUgtNjAvqXVpaGlpKXWpbmlv6G8CisrpKuk86S1pPOkyKS3pL+kx6TzpLek4yAjSk4gtNe7tqTIpLekv8XFvNYKKyukq6TzpLek46TPpOCky6TAICNDSiC0trzVpc+l4KXLpcAKKyukq6TzpLik76TrpKQgI1QzNSC0tqS4sK2kpAorK6SrpPOkwaTnpK+ky6TzICNUMzUgtMnEvr/NCisrpKuk86TGpKSktyAjVDM1ILTVxOq7zgorK6SrpPOkxqSkpLmk7CAjVDM1ILTVxOqluaXsCisrpKuk86TGpKSkyKTqpKogI1QzNSC01cTqpcil6qWqCisrpKuk86TGpKSky6TzpK+k36SipKQgI1QzNSC01cTqv83ByLnnCisrpKuk86TGpKSk6KSmpLQgI1QzNSC01cTqzdG47AorK6SrpPOkyKSmpM+kwKSrpKukpCAjSk4gtNjF7M3nsvEKKyukq6TzpMik8yAjS0sgpaul86XIpfMKKyukq6TzpMik8yAjVDM1IKWrpfOlyKXzCisrpKuk86TKpKqkyCAjSk4gtK/Evr/NCisrpKuk86TKpKqkyCAjSk4gtK/MvrK7CisrpKuk86TKpKqkyCAjSk4gtNrEvr/NCisrpKuk86TKpKqkyCAjSk4gv/vEvr/NCisrpKuk86TKpKqkyCAjVDM1ILSvxL6/zQorK6SrpPOkyqSqpMggI1QzNSC0r8y+srsKKyukq6TzpMqkqqTIICNUMzUgtNrEvr/NCisrpKuk86TKpKqkyCAjVDM1IL/7xL6/zQorK6SrpPOkzaSkpLOkpqTPICNKTiC0xcertr3HxgorK6SrpPOk3qTzpLukpKTIICNKTiC0s8v+wLjFzAorK6SrpPOk6qS3pOOktaTzpMekuaSrICNDSiC0yc39vNSktaTzpMekuaSroamj9worK6SrpPOk6qTLpPOk1aShpOSk5CAjVDM1ICZxdW90O7TJzf0mcXVvdDu/zaXVpaGl5KXkCisrpKuk86TspPOkuaTspMOkySAjVDM1ILTYz6KluaXspcOlyQorK6SrpPOk7KTzpOqk86SvICNUMzUgtNjPoqXqpfOlrworK6Ssobyk8yAjQ0ogpayorKisqKyhyl+npV87ocuorKispfOhqgorK6Ssobyk8yAjSk4gpayhvKXzCisrpKyhvKTzICNKTiClrKisqKyhyo7fp6WO3zspqKyorKXzoaoKKyukrKG8pPMgI0pOIKayocqO36fVjt9sbGyhy462jt6OsI7dCisrpKykpKSkpLOkyKTypKSkw6S/ICNDSiCkrKSkpKSks6TIpPK4wKTDpL8KKyukrKSkpK2kwSAjVDM1IKWspaSlraXBCisrpKykpKS3pOWkxCAjVDM1IKSspKSkt6TlpMQKKyukrKSkpLek5aTEICNUMzUgs7C90AorK6SspKSkt6TlpMSkraTDpMkgI0pOILT7vdClraXDpckKKyukrKSkpLek5aTEpK+k8yAjSk4gpaylpKW3peWlxLevCisrpKykpKS/ICNUMzUgpazIxAorK6SspKSkyaTppKSkyqSiICNUMzUgpaylpKXJpemlpKXKobwKKyukrKSkpMmk6aSkpPOkpKS/ICNUMzUgpaylpKXJpemlpKXzyMQKKyukrKSvpKykr6TWpOuk1qTrICNDSiClrKWvpaylr6XWpeul1qXrCisrpKykr6SspK+k1qTrpNak6yAjQ0ogjraO3o64jraO3o64jsyO3o7ZjsyO3o7ZCisrpKykr6SspK+k1qTrpNak6yAjVDMwIKWspa+lrKWvpdal66XWpesKKyukrKSvpKykr6TWpOuk1qTrpK2k56SmpLOkpqTqpPMgI1QzMCClrKWvpaylr6XWpeul1qXrtrW5387XCisrpKykr6TspK2koqS2pOmktyAjVDM1ILPYzvKloqW2pemltworK6SspK+k7KStpLik5aTzpKQgI1QzNSCz2M7yveewzAorK6SspK+k7KStpMGk5aSmpMmkr6S3pOMgI1QzNSCz2M7yw+bGx7zUCisrpKykr6TspK2k7aTzpMCk6qTzpLAgI1QzNSCz2M7ype2l86XApeql86WwCisrpKyks6TOpLmk7KTLpK2k56SmpN+k8qTipMOkv6TopKakx6S5ICNDSiCkrKSzpM6luaXspMu2vcyjpPK7/aTDpL+k6KSmpMekuQorK6SspL6kpqSipMOk16TtobykwCAjVDM1ILLowfyloqXDpdel7aG8pcAKKyukrKTBICNUMzAgpaylwQorK6SspMEgI1QzNSClrKXBCisrpKykwaTjpNSk8yAjSk4gpaylwaXjpdSl8worK6SspMOkr6S3ICNDSiChsnyhsXyh+worK6SspMOkr6S3ICNDSiBvcnoKKyukrKTDpK+ktyAjQ0ogX25vCisrpKykw6SvpLcgI0NKIE9UTAorK6SspMOkr6S3ICNDSiBPVFoKKyukrKTDpK+ktyAjQ0ogSlRPCisrpKykw6S3ICNKTiClrKXDpbcKKyukrKTDpLek5aSvpLik5yAjVDM1ILnnvcm96gorK6SspMOkwaTlpPMgI1QzNSCkrKTDpMGk5aTzofkKKyukrKTDpMQgI0tLIKWspcOlxAorK6SspMOkxCAjVDM1IKWspcOlxAorK6SspMqhvCAjSk4gpaylyqG8CisrpKykyqG8pKukw6SzpLikxKTopKakrKS/pKukw6SzpMikuKTrICNKTiClrKXKobyhyrzCzdG3v6HLCisrpKykyqG8pL+kpKTGpKQgI0pOIKWspcqhvMLnxOsKKyukrKTKobykv6SkpMakpCAjSk4gpaylyqG8wufE6yAKKyukrKTKpLIgI0NKIKWspcqlsgorK6SspMqksiAjQ0ogjraO3o7FjrmO3gorK6SspM6kvyAjVDM1IKWspc6lvworK6SspM+kryAjVDM1ILLox+wKKyukrKThpLWk0CAjS0sgtbW7qgorK6SspOGktaTQICNUMzUgtbW7qgorK6SspOqkrKTqpK+k8yAjVDM1IKWspeqlrKXqt68KKyukrKTqpNmk8yAjSk4gpayl6srZCisrpKyk6qTZpPOk4qTppOmhvCAjSk4gpKyk6srZpeKl6aXpobwKKyukrKTzpKyk6yAjUjVyIKSspPOkrKTrCisrpKyk86SspOsgI1QzNSClrKXzpayl6worK6SspPOk0KTrpOKkyqG8ICNKTiClrKXzpdCl66XipcqhvAorK6SspPOk3CAjUjUgpKyk86TcCisrpKyk86TcICNSNXIgpKyk86TcCisrpKyk86TgpM+k86TJpOukzaSopOCk4qTzpMCkpCAjVDM1IL3GzLRITszkwuoKKyukraSkICNLSyC4sAorK6StpKSkxqSipO2kqKTqobykyiAjQ0ogpK2kpKTGpaKl7aWopeqhvKXKovYKKyukraSkpMakoqTtpKik6qG8pMogI1QzNSCkraSkpMaloqXtpail6qG8pcqi9gorK6StpKSky6S3pK0gI1QzNSClraG8pcult6WtCisrpK2kpKTtICNUMzUgsqu/pworK6StpKakpCAjVDM1IKWtpaalpAorK6StpKikpKTcpLmk7KS4pLGk8yAjVDM1IKWtpaihvKXcpbml7Lv2t+8KKyukraSrICNKTiC1orK9CisrpK2kq6SkpKuksaSkpNukpiAjSk4gtaGzo7K9t9nK8worK6StpKyhvCAjSk4gpa2lrKG8CisrpK2kraG8pPMgI0pOIKWtpa2hvKXzCisrpK2kryAjVDM1ILXGCisrpK2ksaSkpKqky6SupOogI0pOILTxt8GkqqTLpK6k6gorK6StpLGkpKTipOmk6aG8ICNKTiC08bfBpeKl6aXpobwKKyukraS0pMqk0yAjS0sgpa6ls6XKpdMKKyukraS1pN6ktKTIpK2krKTIpMqk36TypKukv6TrpMogI0pOILWuzc3HoaStpKylyKXKpd+k8rjspOukygorK6StpLWk3qS4pOOkyqG8ICNKTiClraW1pd6luKXjpcqhvAorK6StpLek4yAjVDM1ILWtvNQKKyukraS3pOWkpKS9pPOk4qS4ICNUMzUgtaG877DNwrjKuLv6CisrpK2kt6TlpKSkvqTzpOKkuCAjVDM1ILWhvO+wzcK4yri7+gorK6StpLek5aSmICNUMzAgtPG9sQorK6StpLek5aSmICNUMzUgtPG9sQorK6StpLek5aTEICNUMzUgtPu90AorK6StpLek5yAjQ0ogpa2lt6XnCisrpK2kt6TnICNLWVQgpa2lt6XnCisrpK2kt6TnpKQgI1QzNSClraW3peelpAorK6StpLek56SqpL8gI1QzNSClraW3peelqqW/CisrpK2kt6TnpPKkvyAjVDM1IKWtpbel56Xypb8KKyukraS/obwgI0NKIKWtpb+orKisqKyorKisqKyorKisKKGsos+hrCmorKisqKyorKisqKyorKisqKyhqqGqCisrpK2kv6G8ICNDSiClraW/qKyorKisqKyorKisqKyorCiO36LPjt8pqKyorKisqKyorKisqKyorKisoaqhqgorK6StpL+hvCAjQ0ogjreOwKisqKyorKisKKGsos+hrKLhKKGsos+hrKLhoayiz6GsKaLhoayiz6GsKaisqKyorKisISEhCisrpK2kv6G8ICNDSiCOt47AqKyorKisqKyorKisqKyorCiO36LPjt8pqKyorKisqKyorKisqKyorKisISEhCisrpK2kv6G8ICNKTiClraW/obwhISEhCisrpK2kv6G8ICNKTiCOt47AqKyorKisqKyorCiO36LPjt8pqKyorKisqKyorCEhISEKKyukraS/pKIgI0NKIKWtpb+hvAorK6StpL+koiAjQ0ogjreOwI6wCisrpK2kv6SkpKKksiAjVDM1ILT8wtRhZ2UKKyukraS/pK2k5aSmICNUMzUgy8yj0QorK6StpL+ktaTQpLikwKSkICNUMzUgy8y7qrv+wuUKKyukraS/pMGk56TzICNUMzUgy8ylwaXnpfMKKyukraS/pM2hvKToICNKTiClraW/pc2hvKXoCisrpK2kv6TNobyk86TApOggI0pOIKWtpb+lzaG8pfOlwKXoCisrpK2kv6TNpMOkyCAjS0sgy8ylzaXDpcgKKyukraS/pOKk6iAjS0sgy8y/uQorK6StpL+k4qTqICNUMzUgy8y/uQorK6StpMAgI0tLIMzaxcQKKyukraTAICNUMzUgzNrFxAorK6StpMEgI1QzNSClraXBCisrpK2kwSAjVDM1ILTww88KKyukraTBobyk6iAjSk4gpa2lwaG8peoKKyukraTBobyk6iAjSk4gpeClq6G8pceh2qTgpKuhvKTHodvKzMy+pa2lwaG8peoKKyukraTBpKykpCAjVDM1IKWtpcGlrKWkCisrpK2kwaSspKQgI1QzNSC08MPPs7AKKyukraTBpKykpCAjVDM1ILTww8+zsgorK6StpMGkrKSkpLGkpKTbpKYgI0pOILTww8+zsLfZyvMKKyukraTBpKykpKSxpKSk26SmICNUMzUgpa2lwaWspaS32crzCisrpK2kw6Szobyk3qS9ICNKTiClraXDpbOhvKXepb0KKyukraTDpMGk8yAjVDM1IKWtpcOlwaXzCisrpK2kxqSjICNUMzUgpa2lxqWjCisrpK2kxqSjpK2k5aSmICNUMzUgpa2lxqWjtd4KKyukraTGpMqkpCAjSk4gjreOw47FjrIKKyukraTGpMqkpCAjSk4gjreOw47FjrKorKisqKyorKisqKyhyo7fX47focuorKisqKyorKisqKwhISEhIQorK6StpMihvCAjSk4gpa2lyKG8CisrpK2ky6SkpOmkzaG8pOggI0pOIKWtpculpKXppc2hvKXoCisrpK2ky6S3pMqkpCAjSk4gocqO36bFjt+hy463jsaOvI7FjrIhIQorK6StpMukt6TKpKQgI0pOIKWtpcult6XKpaQhIQorK6StpMukt6TKpKQgI0pOII63jsaOvI7FjrIhIQorK6StpMykpqTppOqk86SrpKSkxqTEpMmkpiAjSk4gsOGxus7Xs6TFtMa7CisrpK2kzaTzpKukraSzICNUMzAgta3HsKWrpa2lsworK6StpM2k86SrpK2ksyAjVDM1ILWtx7Clq6WtpbMKKyukraTNpPOk0aTUpLMgI1QzNSC1rcewpdGl1KWzCisrpK2kzaTzpN6kraSzICNUMzUgta3HsOLDtaq70gorK6StpM6ksyAjVDM1IKWtpc6lsworK6StpM6ksyAjVDM1IML7CisrpK2kzqS7obyky6TjICNKTiChoaGhKKG8p9ew7CkKKyukraTOpLuhvKTLpOMgI0pOIKWtpc6lu6G8pcul4worK6StpM+k0qTjpK+ky6S4pOWkpiAjSk4gpa2lz6Oxo7KjsAorK6StpNCk8yAjVDM1IMzayNYKKyukraTcobyk8yAjQ0ogpK2k3KG8pPMKKyukraTcobyk8yAjVDM1IKStpNyhvKTzCisrpK2k3KTzICNDSiCkraTcpPMKKyukraTcpPMgI0NKIKWtpdyl8worK6StpNyk86TMICNDSiCkraTcpPOkzAorK6StpNyk86TMICNDSiClraXcpfOlzAorK6StpN+kz6TvpMCktaTzpLSkzqTfICNDSiC3r6TPpe+lwKW1pfO5paTfCisrpK2k4CAjS0sgpK2k4AorK6StpOAgI0tZIKStpOAKKyukraTgpLMgI1QzNSClraXgpbMKKyukraTgpLWk7yAjS0sgpa2l4ML0CisrpK2k4KS1pO8gI1QzNSClraXgwvQKKyukraTgpLWk7yAjVDM1IMqnwvQKKyukraTgpMEgI0pOIKWtpeClwQorK6StpOCkwSAjVDM1IKWtpeClwQorK6StpOCkwaTipPMgI0pOIKWtpeClwaXipfMKKyukraTgpOik86S4pPMgI0pOILbiscvvrworK6StpOCk6KTzpLik8yAjVDM1ILbiscvvrworK6StpOIgI0tZVCClraXiCisrpK2k4qSkICNUMzUgpa2l4qWkCisrpK2k4qTBpKSkpKSzpMikt6TopKYgI0NKILWku/2kwaSkpKSks6TIpLek6KSmCisrpK2k46TDpMikraTpobwgI0pOIKWtpeOlw6XIpa2l6aG8CisrpK2k46TDpMikraTpobwgI1QzNSClraXjpcOlyKWtpemhvAorK6StpOOkw6TIpK2k6aSiICNUMzUgpa2l46XDpcilraXpobwKKyukraTjpMOkz6S6pKuktyAjSk4gpa2l46XDoaKlz6W6paultworK6StpOOkw6TPpLqkq6S3ICNKTiCOt46sjq+hoo7Kjr2O3o62jryhyi2OyY7JocsKKyukraTjpMOk1yAjVDM1IKWtpeOlw6XXCisrpK2k46TDpNek4qTsICNUMzUgpa2l46XDpdfPs6TsCisrpK2k46TPICNUMzUgofkKKyukraTjpNSkpCAjQ0ogpa2l46XUobwKKyukraTjpNekxqS9ICNKTiClraXjpdelxqW9CisrpK2k46TXpMakvSAjVDM1IKWtpeOl16XGpb0KKyukraTjpNekxqS9ICNUMzUgjreOrI7Mjt+Ow46/CisrpK2k46TppM+k8yAjVDM1IKWtpeOl6aXPpfMKKyukraTlpKYgI1QzNSBRCisrpK2k5aSmpLWkpKSrpKQgI1QzNSC137rRsvEKKyukraTlpKaktyAjSk4gteu7xQorK6StpOWkpqS3pOWkpiAjVDM1ILXbvP0KKyukraTlpKakt6TlpKYgI1QzNSC13r2xCisrpK2k5aSmpLmk7CAjVDM1ILXspbml7AorK6StpOWkpqTApKQgI1QzNSBRwucKKyukraTlpKakwaTjpPOkzaTrICNUMzUgtuWlwaXjpfOlzaXrCisrpK2k5aSmpMako6SkICNUMzUgUVQKKyukraTlpKakxqSkICNLSyC17MTrCisrpK2k5aSmpMakpCAjVDM1ILXcxO4KKyukraTlpKakxqSkICNUMzUgtezE6worK6StpOWkpqTGpPOkpKTBpLSkuKSxpPMgI1QzNSA5oaYxNbv2t+8KKyukraTlpKakxqTzpK2k5aSmpNSk86SvpKyk2KTzICNUMzUgOaGmOXBpbmukrMrRCisrpK2k5aSmpMukraTOpK2k56SmpKSkr6TppPOkvqSmICNUMzUgtezG87T8pM62tbDpoabN9MKkuPjOqaGmufG4+M6pzOu01sn0CisrpK2k5aSmpN6kw6SvpKSkvyAjQ04gteyjzaPho+PIxAorK6StpOWkpqTepMOkr6SkpL8gI1QzNSC17KPNo+Gj48jECisrpK2k5aSmpO2kryAjS0sgtezPuworK6StpOWkpqTtpK8gI1QzNSC17M+7CisrpK2k5iAjSk4gpa2l5gorK6StpOYgI1QzNSClraXmCisrpK2k5qThpKSksqTzICNKTiClraXmzMK4wAorK6StpOekpiAjVDM1ILanCisrpK2k56SmpK6k5aSmpNOk56SmpLek86S4pOMgI1QzNSC2uLXtycK/rrzUCisrpK2k56SmpLWk8yAjVDM1ILavu8AKKyukraTnpKaktaTzpLek5aSuICNUMzUgtri7tLzntcEKKyukraTnpKaktaTzpLek5aSuICNUMzUgtri7urzntcEKKyukraTnpKaku6SkpKKkpKTHpKOkpCAjVDM1ILavwKlJRAorK6StpOekpqS7pKSkt6TlpKak6qTnpKYgI0pOILavwKm9qs67CisrpK2k56SmpMCkpKTOpNuktKS3pOMgI0pOIKHKoaahvKGmocuO3aGjCisrpK2k56SmpMCkpKTOpNuktKS3pOMgI0pOILe7xO+kzsrduO681AorK6StpOekpqTApKSk4qTKobwgI0pOILe7xO+l4qXKobwKKyukraTnpKakwKSkpOKkyqG8pM6kz6TPICNKTiC3u8TvpeKlyqG8pM7K7AorK6StpOekpqTIpKaku6TzpLukpCAjSk4gtrXGrMDowLgKKyukraTnpKakyKSxpPMgI0NOILX+xdS4qQorK6StpOekpqTIpLGk8yAjQ05TILX+xdS4qQorK6StpOekpqTIpLGk8yAjVDM1ILX+xdS4qQorK6StpOekpqTIpLekqqSqpMSkryAjQ04gtf7F1LvUwufExbboCisrpK2k56SmpMikt6SqpKqkxKSvICNDTlMgtf7F1LvUwufExbboCisrpK2k56SmpMikt6SqpKqkxKSvICNUMzUgtf7F1LvUwufExbboCisrpK2k56SmpMik7KTzpLik46G8ICNKTiC1/sXUpeyl86W4peOhvAorK6StpOekpqTPpPMgI1QzNSC2pqXPpfMKKyukraTnpKak5qSmpK2k46TDpNcgI1QzNSC2ps2tpa2l46XDpdcKKyukraTnpKak5qSmpLOkxqTPpPMgI1QzNSC2ps2tpbOlxqXPpfMKKyukraTnpKak5qSmpMik6qTDpNcgI1QzNSC2ps2tpcil6qXDpdcKKyukraTnpLik8yAjVDM1ILX1v9AKKyukraTnpMCkpKSxpKSkuKTQpPMgI1QzNSC18MLnt8e8qMjECisrpK2k56TApKSksaSkpLik0KTzpLCk8yAjVDM1ILXwwue3x7yoyMS3sgorK6StpOek36TfpOKkyqG8ICNKTiC18LyqpeKlyqG8CisrpK2k6aTqICNKTiChyqGxobwrobGhy463jteO2AorK6StpOmk6iAjSk4gpa2l6aXqCisrpK2k6aTqICNKTiCOt47XjtgKKyukraTqpLOk36S/pKSkwaTnpKYgI0pOIMDauf7C4sS5CisrpK2k6qSzpN+kv6SkpMGk56SmpMik0qTtpOakrSAjSk4gwNq5/sLixLmkyKTSpO2k5qStCisrpK2k6qTQpPMgI1QzNSClraXqpdCl8worK6StpOqk0KTzICNUMzUgpa2l6sjWCisrpK2k6qTQpPOksqTDpL+hvCAjVDM1IKWtperI1qWypcOlv6G8CisrpK2k6qTQpPOksqTDpL+koiAjVDM1IKWtperI1qWypcOlv6G8CisrpK2k8yAjVDM1ILbiCisrpK2k86StpLikyaSmICNKTiC24bWmu/nGuAorK6StpPOkraS4pMmkpiAjVDM1ILbhtaa7+ca4CisrpK2k86SwpOKkyqTqpL6k8yAjSk4gpa2l86WwpeKlyqXqpb6l8worK6StpPOksKTspKqk4qTqpOikt6TtpKYgI0pOIKWtpfOlsKXspaq/ucGxz68KKyukraTzpMCkpCAjVDM1ILbhwuUKKyukraTzpN6k86SzICNKTiClraXzpd6l86WzCisrpK2k86TepPOksyAjVDM1IKWtpfOl3qXzpbMKKyukraTzpN6k86SzpK2k56SmICNLSyClraXzpd6l86WztrUKKyukraTzpN6k86SzpK2k56SmICNUMzUgpa2l86XepfOls7a1CisrpK6krCAjSk4gpa6lrAorK6SupKyk4aS5ICNKTiClrqWspeGluQorK6SupLMgI0NKIKWupbMKKyukrqSzICNKTiClrqWzCisrpK6ks6G8pLAgI0pOIKWupbOhvKWwCisrpK6ks6SipKSkuSAjSk4gpa6ls6WipaSluQorK6SupLOkpKTMICNKTiClrqWzuKQKKyukrqSzpKaktSAjSk4gpa6ls6WmpbUKKyukrqSzpKik4qTzICNKTiClrqWzpKik4qTzCisrpK6ks6SopOsgI0pOIKWupbOlqKXrCisrpK6ks6SrpO+kwKTzpLcgI0pOIKWupbPA7sPMu9YKKyukrqSzpKykqKTrICNKTiClrqWzpaylqKXrCisrpK6ks6StpOekpqS4pOUgI0pOIKWupbO2tbz4CisrpK6ks6SupLMgI0NKIKWupbOlrqWzCisrpK6ks6SupLOkuaSxICNKTiC1vLjFpa6ls731CisrpK6ks6SupLOkvyAjSk4gtby4xaWupbPCwAorK6SupLOkr6S1ICNKTiClrqWzwfAKKyukrqSzpLGk86StpOWkpqSkpPMgI0pOIKWupbO4prXmsPcKKyukrqSzpLMgI0pOIKGhoaGirKXipcq70qHapOKkyqSzoduhoaGhoaGhoaGhoaGhoaGhoaGirKWupbO70gorK6SupLOksyAjSk4gpa6ls7vSCisrpK6ks6S4pMmkpqS3pOOkrKTDpLOkpiAjSk4gpa6ls7yrxrC81rPYubsKKyukrqSzpLmkv6G8pLCk8yAjSk4gpa6ls6W5pb+hvLezCisrpK6ks6S5pL+hvKSwpPMgI0pOII63jt6Ouo69jsCOsLezCisrpK6ks6S5pL+hvKSwpPMgI0pOII7TjsWOsI7RjrCO3bezCisrpK6ks6S7pPOkyKSmpKSk8yAjSk4gpa6ls8Dvxq6w9worK6SupLOkv6SvICNKTiClrqWzpb+lrworK6SupLOkv6TepLMgI0pOILW8uMW2zLvSCisrpK6ks6TBpOOk86TipMqkwaTjpPMgI0pOIKWupbOkwaTjpPOl4qXKpMGk46TzCisrpK6ks6TBpOWkpiAjSk4gpa6ls6XBpeWlpgorK6SupLOkwaTlpKYgI0pOIKWupbO/3worK6SupLOkxKTqobwgI0pOIKWupbOlxKXqobwKKyukrqSzpMak86SqpKqkrqTqICNKTiClrqWzxcChocLntO7N+KGhCisrpK6ks6TKpNMgI0tLIKWupbOlyqXTCisrpK6ks6TKpNMgI1QzNSClrqWzpcql0worK6SupLOkzaSzICNKTiClrqWzpc2lsworK6SupLOkzaSzICNKTiClrqWzx60KKyukrqSzpM2ksyAjSk4gpa6ls8etoaEKKyukrqSzpM2ksyAjVDM1IKWupbPHrQorK6SupLOkzaSzpOqk56TApPOkoqTDpMikwKTzpMGk56G8ICNKTiClrqWzx63OucPEoffDxMS5CisrpK6ks6TOpLuk86S+ICNKTiClrqWzpM7A6MHECisrpK6ks6TPpMEgI0pOIKWupbPIrQorK6SupLOkz6TLpOOhvKTzICNDSiClrqWzpc+ly6Xjobyl8worK6SupLOkz6TLpOOhvKTzICNKTiClrqWzpc+ly6Xjobyl8worK6SupLOkz6TPpM8gI0NKIKWupbOlz6XPpc8KKyukrqSzpNGk7SAjSk4gpa6ls6XRpe0KKyukrqSzpNGk7SAjS0sgpa6ls6XRpe0KKyukrqSzpNGk7SAjVDM1IKWupbOl0aXtCisrpK6ks6TVpKak1SAjSk4gtby4xcnXydgKKyukrqSzpNWktaTqpKqk66S3pOekpqSwpPMgI0pOIKWupbOhpqXVpbWl6qWqpeu+rbezCisrpK6ks6TZobykwKG8ICNKTiClrqWzpdmhvKXAobwKKyukrqSzpNogI0tLIKWupbOl2gorK6SupLOk2iAjVDM1IKWupbOl2gorK6SupLOk3qTrpLWk86SipKSkqKS5ICNKTiBHNTAzaXMKKyukrqSzpN8gI0pOIKWupbOl3worK6SupLSkwaTjpPOk4qTKpMGk46TzICNKTiClrqWzpMGk46TzpeKlyqTBpOOk8worK6SupLik86SrpKOk56SlICNKTiC1vL/Nsr2ko6TnpKUKKyukrqS4pPOkq6S4pLWkr6S4pKik8yAjSk4gtby/zbK9pbiltaWvpbilqKXzCisrpK6kuKTzpKuk4qTppOmhvCAjSk4gtby/zbK9peKl6aXpobwKKyukrqTDpLOkt6SnpOuk1SAjS0sgpa6lw6Wzpbelp6XrpdUKKyukrqTDpLOk6iAjQ0ogpa6lw6WzpeoKKyukrqTOpLMgI0pOIKWupc6lsworK6SupM6ksyAjSk4gpa6lzqWzIAorK6SupOOkr6SupOyk36S6pKuksaTipMqhvCAjSk4gtdWlrqXsv+Wz3aSxpeKlyqG8CisrpK6k46SvpK6k7KTfpLqkq6SxpOKkyqG8pNGhvKTVpKekr6TIpNCk8yAjSk4gtdWlrqXsv+Wz3aSxpeKlyqG8pdGhvKXVpaelr6XIyMcKKyukrqTjpK+ktaTEpMGk5aSmICNUMzUgtdS7pr/fCisrpK6k46SvpLWkxKTBpPMgI1QzNSC11LumxMEKKyukrqTjpK+kv6SkpK6k46SvpLWkxKSipLmkraSkpKKkoqTIICNUMzUgtdTC1KGmtdS7pkFBCisrpK6k46SvpL+kpKS3pOekr6TLpPMgI1QzNSC11MLUv6a/zQorK6SupOOkr6S/pKSkuaTsICNUMzUgtdTC1KW5pewKKyukrqTjpK+kz6TEpMmkpiAjVDMwILXVyK/GsAorK6SupOOk8yAjSk4gpa6l46XzCisrpK6k56SvpOSk7aSmICNUMzUgpa6l56WvzO7PugorK6SupOukoaTipMogI0pOIKWupeuloaXipcoKKyukrqTrpMuk46G8pM4gI0pOIKWupeuly6XjocGlzgorK6SupO2k86SrpPOkvaSmpLmk7KTDpMkgI1QzNSC1xM/Aoaa0tsHbpbml7KXDpckKKyukrqTtpPOkuaStobwgI1QzNSClrqXtpfOluaWtobwKKyukrqTtpPOkuaStpKQgI1QzNSClrqXtpfOluaWtobwKKyukrqTzpKik86TepPOku6SoICNUMzUgtuSx9sv8utAKKyukr6SkpLqk36TqpOKkzaSiICNKTiCh8KHwofCh8KWvpaSluqGmpd+l6qXipc2loqHwofCh8KHwCisrpK+kpqStICNUMzUgtvW1pAorK6SvpKakraSzpMakpCAjVDM1ILb1taS4x8TqCisrpK+kpqStpOik4aTGpM2hvKToICNKTiClr6Wmpa2l6KXhpcalzaG8pegKKyukr6SmpLik56SmpOKkyqS/pO2kpiAjSk4gtvW+8qXipcrCwM+6CisrpK+kpqS4pOekpqTipMqk6qG8pPMgI0pOILb1vvKl4qXKpeqhvKXzCisrpK+kpqTGpKSk4qTKobwgI0pOILb1xPKl4qXKobwKKyukr6SqpKkgI0NKIKSvpKqkqQorK6SvpLUgI1QzNSClr6W1CisrpK+ktSAjVDM1IMHwCisrpK+ktaG8ICNKTiChyo7fp9eO36HLjriOu46wCisrpK+ktaG8ICNKTiClr6W1obwKKyukr6S1obwgI0pOII64jruOsAorK6SvpLWkpKS/pN4gI1QzNSClr6W1paSlv6XeCisrpK+ktaTBpOWhvKS0ICNLSyClr6W1pcGl5aG8uOwKKyukr6S1pMGk5aG8pLQgI1QzNSClr6W1pcGl5aG8uOwKKyukr6S1pMGk5aSmpLQgI1QzNSClr6W1pcGl5aG8uOwKKyukr6S3ICNUMzUgtvoKKyukr6S3pLakt6SqpM2kqKS1pPMgI0pOILb6u8mkt6Squ9CktaTzCisrpK+ku6SkpLikpKSkpMGkvqSvICNUMzUgpa+lu6WkpbihvLDswrIKKyukr6S9pLKhvKTipMqhvCAjSk4gpa+lvaWyobyl4qXKobwKKyukr6S9pLOkxiAjVDM1IMq1pbOlxgorK6SvpL2ktaTzpNOk46SvpMik8yAjSk4gS3VTbzMwMHQgCisrpK+kvaS5pOwgI1QzNSClr6W9pbml7AorK6SvpL2kuaTsICNUMzUgyrWluaXsCisrpK+kvaS5pOykqqTIpLMgI0pOIKWvpb2luaXsw8sKKyukr6S9pLmk7KSrpKSkt6TlpKakrqTnpKakt6TjICNKTiDKtaW5peyy87z9tsi81AorK6SvpL2kuaTspLGk86S7pMSkpKSkpPOkq6SkICNUMzUgyrWluaXst/rA37DRsPey8QorK6SvpL2kuaTspLekuaSmpNukpqSzpK+kpKSkpPOkq6SkICNKTiDKtaW5pey72L/0yvO58LDRsPey8QorK6SvpL2kuaTspLek8yAjSk4gpa+lvaW5pey/wAorK6SvpL2kuaTspM8gI0pOIMq1pbml7KTPzqmkxqTzpMqkw6TGuMCkw6S/pO2kpqSspfSlqaWxpKyhvKG8oaoKKyukr6S9pLmk7KTipMqhvCAjSk4gpa+lvaW5peyl4qXKobwKKyukr6S9pLmk7KTvpMOkt6TnpKQgI0pOIKWvpb2luaXspe+lw6W3peelpAorK6SvpL2kwaTlpKak3KSmpMek86TRpMCks6TqpOMgI0pOIMq1v9/LvMXFx8ikwKSzpOqk46GqCisrpK+kvaTHpKukpKSipLmkraG8pKKhvKTIICNKTiDKtaTHpKukpKPBo8EKKyukr6S9pNCksyAjVDM1IMq1yKIKKyukr6S9pNykw6SvpLkgI1QzNSDKtaXcpcOlr6W5CisrpK+kvaTqpNekyCAjVDM1IKWvpb2l6qXXpcgKKyukr6S9pOykuSAjVDMwIMq1peyluQorK6SvpL2k7KS5ICNUMzUgyrWl7KW5CisrpK+kwKS3pMQgI1QzNSCkr6TAvMEKKyukr6TApOmkyqSkpLekxKTipPMgI1QzNSCkr6TApOmkyqSkvMHM5AorK6SvpMCk6aTKpKSkt6TEpOKk86S5pOwgI1QzNSCkr6TApOmkyqSkvMHM5KW5pewKKyukr6TApOmkzaG8pOggI0pOIKWvpcCl6aXNobyl6AorK6SvpMGkr6TBICNUMzUguP24/QorK6SvpMGk06TrpLIgI1QzNSClr6XBpdOl66WyCisrpK+kw6StobwgI1QzNSClr6XDpa2hvAorK6SvpMOkraSkICNUMzUgpa+lw6WtobwKKyukr6TDpK+k66TJpKWkyaSlpMmkpSAjSk4gjriOr464jtmOxI7ejqmOxI7ejqmOxI7ejqkKKyukr6TJpKak4qTKICNKTiC5qcajpeKlygorK6SvpMukqiAjSk5NIKWvpcul8gorK6SvpMukqiAjVDM1IKWvpcul8gorK6SvpMukqqSvpPOkr6TtpLmkq6TzpMik6qG8pNik8yAjSk4gpK+ky6SqpK+k86Wvpe2luaWrpfOlyKXqobzK1KGhCisrpK+ky6S1pO+kzaTDpMiky6SkpLEgI0NKIGt1bmlzYXdhLm5ldKTLwMKksQorK6SvpNOkxKTqpK6ksyAjSk4gvPPE36Tqpa6lsworK6SvpN6ktaTzpLOkqqS5ICNUMzUgpK+k3qS1pPOls6G8pbkKKyukr6Thobyk6yAjVDM1ILepobyl6worK6SvpOGkqKTrICNUMzUgt6mhvKXrCisrpK+k4aTipMqhvCAjSk4gt6ml4qXKobwKKyukr6TpICNUMzUgwdIKKyukr6TpICNUMzUgwqIKKyukr6TppKSkvyAjVDM1IKWvpenIxAorK6SvpOmkqKTPpKSk1qTqpLkgI0pOIKSvpOmkqKXPpaSl1qXqpbkKKyukr6TppK8gI1QzMCClr6Xppa8KKyukr6TppLIgI1QzNSClr6XppbIKKyukr6TppLIgI1QzNSCzpLfuCisrpK+k6aTDpKuhvCAjVDM1IKWvpemlw6WrobwKKyukr6TppMOkq6SiICNUMzUgpa+l6aXDpauhvAorK6SvpOmkw6SvICNUMzAgpa+l6aXDpa8KKyukr6TppOmkrKS/pMOkvyAjSk4gpa+l6aXppKzOqaTDpL8KKyukr6TppPKkvyAjVDM1IKWvpeml8qW/CisrpK+k6qG8pPOk0qTDpMggI1QzMCClr6Xqobyl86XSpcOlyAorK6SvpOqksyAjSk4gpK+k6rvSCisrpK+k6qTBpOWkpiAjVDM1ILeqv98KKyukr6TspKKk6aS3pOsgI0tLIKWvpeyloqXppbel6worK6SvpOykpKS4pKSktKSmpLmkyCAjVDM1IKWvpeylpKW4obyltKG8pbmlyAorK6SvpOykr6TspK+k8yAjVDM1IKSvpOykr6Tst68KKyukr6TspK+k7KTBpOWkpqTcpKak3KSvpOGkxKS5pKSkt6TzpKSkpKTzpKukpCAjSk4gpK+k7KSvpOy/38u8y9DMx7/kv8qw0bD3svEKKyukr6TtpLek56SmpL6kryAjVDM1ILn1wfXCqworK6SvpO2kt6TnpKakvqSvpKqk1SAjVDM1ILn1wfXCq09GRgorK6SvpO2k3qTppOmhvCAjSk4gufWl3qXppemhvAorK6SvpO2k36TfpOKkyqG8ICNKTiC59byqpeKlyqG8CisrpK+k7aTgpMQgI1QzNSC59aXgpcQKKyukr6TvpOkgI0NKIKWvpe+l6QorK6SvpO+k6SAjQ0ogjriO3I7XCisrpLAgI1QzNSC28QorK6SwpKKk76S7ICNUMzUgtvG556TvpLsKKyuksKTDpLik56TWICNDSiClsKXDpbil56XWCisrpLCkw6S4pOek1iAjQ0ogjriO3o6vjryO3o6ujsyO3gorK6SwpMOkyaTVpKOkpKTqpPOksCAjQ0ogpbClw6XJpdWlo6G8peql86WwCisrpLCk4qTDpMGk5aSkpKSk8yAjVDM1IKWwpeKlw6XBpeWlpKG8pfMKKyuksKTqobyk8yAjVDM1IKWwpeqhvKW9CisrpLCk6qG8pPMgI1QzNSClsKXqobyl8worK6SwpOqkpKTzpM2kqKS1pPMgI1QzNSClsKXqobyl87C5pLWk8worK6SwpOqkpKTzpM2kqKS1pPMgI1QzNSClsKXqobyl87vQpLWk8worK6SwpOyhvKTIpKyk86TQpOuk4qTKobwgI0pOIKWwpeyhvKXIpayl86XQpeul4qXKobwKKyuksKTspMGk46TzICNKTiClsKXspMGk46TzIAorK6SwpO0gI1QzNSClsKXtCisrpLCk86TIpKakrqSzICNKTiC3s8Xhpa6lsworK6SwpPOk3qSxpPMgI0NOILeyx8+4qQorK6SxobwgI1QzNSCjyworK6SxobykraTkpN2k86TJICNKTiClsaG8pa2ysKHyCisrpLGkpKSqpKYgI1QzNSBLTworK6SxpKSkraTlpKYgI1QzNSBLUQorK6SxpKSks6SvpNak8yAjVDM1ILfZufDKuAorK6SxpKSkt6TBpOekpiAjSk4gt9m768SjCisrpLGkpKS4pNCk8yAjVDM1ILfHvKjIxAorK6SxpKSkuKTQpPOkpKTBpOmk8yAjVDM1ILfHvKjIxLDszfcKKyuksaSkpLik0KTzpMikw6TXpNggI0NKILfHvKjIxKXIpcOl16TYCisrpLGkpKS/pKSkx6TzpO+k4qTKobwgI0pOILfIwtPFxc/DpeKlyqG8CisrpLGkrKTLICNKTiDM06SspMsKKyuksaSzobyk8yAjVDMwIKWxpbOhvKXzCisrpLGks6G8pPMgI1QzMCCOuY66jrCO3QorK6SxpMOks6TzICNUMzAgt+u6pworK6SxpMOk2qStICNUMzUgt+nKygorK6SxpMOk2qStpK+k8yAjVDM1ILfpysq3rworK6SxpMSkrKTzICNUMzUgyse05AorK6SxpMSksiAjVDM1IKSxpMTM0worK6SxpMak6yAjQ0ogpLGkxqTrCisrpLGk7aTUobwgI0pOIKWxpe2k1KG8CisrpLGk7aTqpPOksqTrpNOkyKSmICNUMzUgpbGl7aXqpfOlsqXryPjGoworK6SxpPMgI0pOTSCksaTzCisrpLGk86SrpM+k5KThpMYgI0pOIKSxpPOkq6TPpOSk4aTGocqh/KGtobyhrqH8ocsKKyuksaTzpKuk86TBpOWkpiAjVDM1ILf5tNq/3worK6SxpPOksaTzpKuk86TBpOWkpiAjVDM1ILf5t/m02r/fCisrpLKhvKTPobykpKS/ICNDTiClsqG8pc+hvMjECisrpLKkraSmpOmkuKTnpKak26SmICNUMzUgt+POor7wyvMKKyuksqStpLik56SmICNUMzUgt+C+7AorK6SypLmkyKSypLmkyCAjQ0ogZ3Vlc3RndWVzdAorK6SypL2kqqS9ICNUMzUgpbKlvaWqpb0KKyuksqS9pKqkvSAjVDM1II65jt6Ov461jr8KKyuksqTDpLOkpiAjVDM1ILfuuPcKKyuksqTDpL+hvKTipMqk3qTeICNKTiClsqXDpb+hvKXipcql3qXeCisrpLKkw6TEICNUMzUgpbKlw6XECisrpLKkw6TXobwgI0pOIKWypcOl16G8CisrpLKkyaSmpLuk86S7pKQgI0pOILOwxrvA6MC4CisrpLKk6SAjSk4gpbKl6QorK6SypOkgI0pOIKWypeml6aG8CisrpLKk6aTpobwgI0pOIKWypekKKyuksqTppOmhvCAjSk4gpbKl6aXpobwKKyuksqTtpKSkvyAjQ04gpbKl7cjECisrpLKk7aSkpL8gI1QzNSClsqXtyMQKKyuksqTtpOKkyqG8ICNKTiClsqXtpeKlyqG8CisrpLKk86SqpPMgI1QzNSClsqW9paqlvQorK6SypPOkqqTzICNUMzUgjrmO3o6/jrWOvworK6SypPOkt6SqpKYgI0pOILi2u9KypgorK6SypPOkt6TQpK+kwKTzICNKTiC4trvSx/rDxgorK6SypPOkuKTzICNUMzUguLa/zQorK6Szobyk26G8ICNUMzUgpbOhvKXbobwKKyuks6G8pNuhvCAjVDM1ILmqyvIKKyuks6G8pNuhvCAjVDM1ILniyvIKKyuks6SipOogI1QzNSC70rXCCisrpLOkpKTBpLikq6TzpMikpKTEpOGkv6SkICNDSiC+rrDsu/601szkpKSkxKThpL+kpAorK6SzpKahq6ShICNUMzUgpbOl9KWhCisrpLOkpqGrpKGkpKS/ICNDTiCls6X0paHIxAorK6SzpKahq6ShpKSkvyAjVDM1IKWzpfSlocjECisrpLOkpqSopKSk2KSkICNKTiC5yLHSyrwKKyuks6SmpKukpKS3pOeksaSkICNUMzUguPizq73ot7oKKyuks6SmpKuk86TBpOWkpiAjVDM1ILmltNq/3worK6SzpKaksKS3ICNUMzUguam28bvVCisrpLOkpqSwpLcgI1QzNSC54bbxu9UKKyuks6SmpLOkr6TBpOWkpqTcpKYgI1QzNSC5rbnwv9/LvAorK6SzpKaks6SvpOiksSAjVDM1ILmtufC9/KSxCisrpLOkpqS1pK+kpKTzICNUMzUguam67rD3CisrpLOkpqS3pK2ku6TDpMakpCAjVDM1ILj4vLDA38TqCisrpLOkpqS/pKSkt6S1pN4gI0pOILnEwsC70s3NCisrpLOkpqTApPOkrqSzICNKTiC51sPMtby4xQorK6SzpKakwaTnpKaktyAjVDM1IKSzpKakwaTnpKaktworK6SzpKakxKSmpKSkz6TzpM6k4qTfpLGkt6SrpL8gI0tLILjyxMyw48i/pM7Z5qTfvsOkt8r9CisrpLOkpqTKpMOkxqTrpM+kuqSspLOkpqTKpMOkxqTrpPOkx6S5ICNDSiCks6SmpMqkw6TGpOukz6S6pKyhoqSzpKakyqTDpMak66TzpMekuaGjCisrpLOkpqTOpOikpqTYpKQgI0pOILm+pM7Nw8q8CisrpLOkpqTOpOikpqTYpKQgI1QzNSC5vqTOzcPKvAorK6SzpKak0KS3ICNLWSC54aTQpLcKKyuks6SmpNCktyAjS1ltaSC54aTQpLcKKyuks6SmpNkgI0tLILzzCisrpLOkpqTZICNUMzUgvPMKKyuks6SmpNukpiAjVDM1IKWzobyl26G8CisrpLOkpqTbpKYgI1QzNSC5qsryCisrpLOkpqTbpKYgI1QzNSC54sryCisrpLOkpqTcpKYgI1QzNSC5qcu8CisrpLOkpqTipOqk4qTKobwgI0pOIKWzpaal4qXqpeKlyqG8CisrpLOkpqTipPOkpKTDpMak6KS3ICNDSiDm6sznwMKkw6TGpOiktworK6SzpKak6qTEpMGk5aSmICNUMzUguPjOqcPuCisrpLOkpqTqpPMgI1QzMCC4987XCisrpLOkpqTqpPMgI1QzMCC5387XCisrpLOkr6TqpMSkqKStpNmk86SrpNYgI1QzNSC58c6psdjK26HKs/ShyworK6SzpK+k6qTEpM+kpqTEpK+kt6SkpLek6qTEpM+k36TLpK+kpCAjQ0ogufHOqaTPyP6kt6SkoaK/rMTFpM+9uaSkCisrpLOkr6TspPOkyqTKpLektaTzICNUMzUgufHPoqTKwK6kt6S1pPMKKyuks6SzpMekoqSyICNDSiCks6SzpMekoqSyCisrpLOks6TPpLSkuKTjobykuaTKpLmk7KTDpMmkwKToICNKTiAooaaiz6GmKY66jrqOyo66jt6OvI7ejqyOsI69jsWOvY7ajq+OxI7ejsCO3o7WCisrpLOks6TPpLSkuKTjobykuaTKpLmk7KTDpMmkwKToICNKTiCls6Wzpc+ltKW4peOhvKW5pcqluaXspcOlyaXApegKKyuks6SzpM+ktKS4pOOhvKS5pMqkuaTspMOkyaTApOggI0pOII66jrqOyo66jt6OvI7ejqyOsI69jsWOvY7ajq+OxI7ejsCO3o7WCisrpLOks6TPpMmks6S4pOMgI0pOIKSzpLOkz6TJpLOkuKTjCisrpLOks6TPpMmks6S4pOMgI0pOIKWzpbOlz6XJpbOluKXjCisrpLOks6TPpMmks6S4pOMgI0pOII66jrqOyo7Ejt6Ouo68jt6OrAorK6SzpLOkz6TSpMmkpKSkpPOkv6SipM2kw6TIpMekuaTNICNDSiCks6SzpM+k0qTJpKSlpKXzpb+hvKXNpcOlyKTHpLmkzQorK6SzpLOkz6TvpLukwKS4pOOkyqSkpOggI0NKIKSzpLOkz8HhsPDFxKS4pOOkyqSkpOgKKyuks6SzpM+k76TrpKSkpKTzpL+koqTNpMOkyKTHpLmkzSAjQ0ogpLOks6TPsK2kpKWkpfOlv6G8pc2lw6XIpMekuaTNCisrpLOks6TepMek6KTzpMAgI0NKIC0tLS0tLS0tpLOks6TepMfGyaTzpMAtLS0tLS0tCisrpLOkt6SqICNUMzUgvq6x9gorK6SzpLekzKSxICNLSyC5+Mi0pLEKKyuks6S3pMyksSAjVDM1ILn4yLSksQorK6SzpLikraTipMqhvCAjSk4guPC/qaXipcqhvAorK6SzpLmk16TspMak8yAjVDM1IKWzpbml16XsxbkKKyuks6S+pKYgI0pOIL6uwc4KKyuks6S+pKYgI1QzNSC+rsHOCisrpLOkw6SvpOKk6aTpobwgI0pOIKWzpcOlr6Xipeml6aG8CisrpLOkw6S9pOqktaTzICNKTiCks6TDpL2k6qS1pPMKKyuks6TGICNUMzUgpbOlxgorK6SzpMakpCAjVDM1ILjHxOoKKyuks6TGpKSkv6S/pK0gI1QzMCC4x8Tqw6GkrQorK6SzpMakpKTPpPOkyaTrICNUMzUguMfE6qXPpfOlyaXrCisrpLOkxqSkpM+k86TJpOukuaTspMOkySAjVDM1ILjHxOqlz6Xzpcml66W5peylw6XJCisrpLOkxqSkpNWkoaTzICNUMzUguMfE6qXVpaGl8worK6SzpMakz6TzICNUMzUgpbOlxqXPpfMKKyuks6TGpM+k86Srobyky6TQpOsgI1QzNSCls6XGpc+l86Wrobyly6XQpesKKyuks6TGpM+k86SrpKKky6TQpOsgI1QzNSCls6XGpc+l86Wrobyly6XQpesKKyuks6TGpM+k86S5pOykw6TJICNUMzUgpbOlxqXPpfOluaXspcOlyQorK6SzpMmk4qTKobwgI0pOIKSzpMml4qXKobwKKyuks6TKpLcgI1QzNSC70s38CisrpLOky6G8ICNUMzUgpbOly6G8CisrpLOky6SkICNUMzUgpbOly6G8CisrpLOkzqSmpMOkv6SopM+k3qSkpMukwaS3pMakpKSvpMSk4qTqpMekuSAjQ0ogpLOkzsHKpKikz8voxvykt6TGpKSkr6TEpOKk6qTHpLkKKyuks6TOpLmk7KTPpKik7aSkpMogI0NKIKSzpM6luaXspM+lqKXtpKSkygorK6SzpM6kv6SzICNKTiCks6TOpb+OugorK6SzpM6k5KTtpKYgI0NKIKSzpM7M7s+6oaoKKyuks6TUpNogI1QzMCCls6XUpdoKKyuks6TUpNqkoqTppLcgI1QzNSCls6XUpdq506TppLcKKyuks6TUpNqkpqS2ICNLWVQgpbOl1KXapKaktgorK6SzpNSk2qTBpOWkpiAjVDM1IKWzpdSl2r/fCisrpLOk1KTapM+kq6TBpOWhvKS3pOOkx6SipNyhvKTzpMCk6CAjSk4gpLOk1KTapM+kq6TBpOWhwaS3pOOkx6SipNyhwaTzpMCk6AorK6SzpNyk5qStobwgI0pOIKHKjtKhpqTzoaahyworK6SzpNyk5qStobwgI0pOIKWzpdyl5qWtobwKKyuks6TepMSk0KTppLOkpqSzpKYgI0tLIL6uvr64trniubsKKyuks6TepMSk0KTppLOkpqSzpKYgI1QzNSC+rr6+uLa54rm7CisrpLOk3qTrICNKTiCls6XepesKKyuks6TfpLEgI0tLIKWzpd+lsQorK6SzpN+k0SAjS0sgpLOk36XRCisrpLOk36TRICNUMzUgpLOk36XRCisrpLOk36TfpOKkyqG8ICNKTiC+rryqpeKlyqG8CisrpLOk4SAjVDM1IKKoCisrpLOk4aS3pKogI0tLIMrGsfYKKyuks6ThpLekqiAjVDM1IMrGsfYKKyuks6ThpLikqiAjS0sgysax9gorK6SzpOGkuKSqICNUMzUgysax9gorK6SzpOkgI1JUIKWzpekKKyuks6TpICNUMzUgpbOl6QorK6SzpOqk46TeobwgI0NOIKWzpeql46XeobwKKyuks6TqpOOk3qG8ICNUMzUgpbOl6qXjpd6hvAorK6SzpOqk46TepKIgI1QzNSCls6XqpeOl3qG8CisrpLOk6qTzpLogI0pOIKWzpeql86W6CisrpLOk6qTzpLqkoqTppLcgI0pOIKWzpeql86W6udOk6aS3oaEKKyuks6TqpPOkuqStpOmhvCAjSk4gpbOl6qXzpbqlraXpobwKKyuks6TqpPOkuqTAobykryAjSk4gpbOl6qXzpbqlwKG8pa8KKyuks6TspKqk4qTtpKQgI0NKIKSzpOykqqTipO2kpKGqCisrpLOk7KTPpLek5aSmpLukpKS1pOyk66TNICNDSiCks6TspM+9pMCwpLWk7KTrpM13d3d3CisrpLOk7aTDpLEgI1QzNSCls6XtpcOlsQorK6SzpO2kw6SxpLWkpCAjVDM1IKWzpe2lw6WxutcKKyuks6TtpMOksaTvpMOkt6TnpKQgI0pOIKWzpe2lw6Wxpe+lw6W3peelpAorK6SzpO2kzCAjQ0ogIKWzpe2lzAorK6SzpO2kzCAjQ0ogpbOl7aXMCisrpLOk7aTMICNONSCls6XtpcwKKyuks6TvpKSks6TvpKSk0qG8ICNDSiCls6XvpaSls6XvpaSl0qG8CisrpLOk86S3pOWkpqTOpNOkw6SvpOqkyaTDpK2k6qS+pMwgI0pOILqjvbWkzqXTpcOlr6Xqpcmlw6WtpeqkvqTMCisrpLOk86TJobyk4KTepOmk6aG8ICNKTiCls6XzpcmhvKXgpd6l6aXpobwKKyuks6TzpM6kpiAjVDM1ILqux74KKyuktKG8ICNLSyCltKG8CisrpLShvKS0obyky6G8pNak86S3pOcgI1QzNSA1NTLKuL3xCisrpLShvKS0obyky6G8pOKk86S4pOcgI1QzNSA1NTLKuL3xCisrpLSkpKTzpK2k5yAjVDM1ILjmsaO17worK6S0pKakwaTzpK2k46TppLWk86TLpPOksKTfICNKTiC57MTApa2l46Xpu7C/zcHICisrpLSkpqTBpPOkraTjpOmktaTzpMuk86SwpN+kq6TDpLOkwKSkpLWk86StpMikuKSrpMOksyAjSk4guezEwKWtpeOl6buwv83ByKHKwui7sLT8ocsKKyuktKSmpMGk86StpOOk6aS1pPOky6TzpLCk36SrpMOks6TApKSky6StpMikuKSrpMOksyAjSk4guezEwKWtpeOl6buwv83ByKHKwujG87T8ocsKKyuktKSmpM+k6SAjSk5TILbIyqIKKyuktKSmpM+k6SAjVDM1ILbIyqIKKyuktKSmpM+k6aTipMqhvCAjSk4gpbShyrDKsrzOrKHLpeKlyqG8IAorK6S0pKak3qTrpLWk86TppKak86S4ICNUMzUgNTAzpemlpqXzpbgKKyuktKStpNak6qTDpMQgI0pOIKW0pa2l1qXqpcOlxAorK6S0pK2k1qTqpMOkxCAjS0sgpbSlraXWpeqlw6XECisrpLSkraTWpOqkw6TEICNUMzUgpbSlraXWpeqlw6XECisrpLSkraTWpOqk6KSzpM+k3qS4pPMgI0pOIKW0pa2l1qXqsqPJzb/NCisrpLSkraTtpKogI1QzNSCltKWtpe2hvAorK6S0pK6ks6S1obykxqSjobyk8yAjSk4gpbSlrqWzo7GjsworK6S0pK+kpiAjVDM1ILjntvUKKyuktKSvpNakyKTQpKSk1qG8ICNUMzUgtsvCwKXQpaSl1qG8oaqhqgorK6S0pLWk86SxICNUMzUguOa7sLLICisrpLSkuKTjobykuaTepOmk6aG8ICNKTiCltKW4peOhvKW5pd6l6aXpobwKKyuktKS4pOOhvKS5pOKk6aTpobwgI0pOIKW0pbil46G8pbml4qXppemhvAorK6S0pLmk6SAjSk4gpbSluaXpCisrpLSkw6TJpM+k86TJICNUMzUgpbSlw6XJpc+l86XJCisrpLSky6TjpKIgI0pOIKS0pMuk46SiCisrpLSky6TjpKIgI0pOIKW0pcul46WiCisrpLSk0KSvICNUMzUguO3H+gorK6S0pNCkr6SipOmktyAjVDM1ILjtx/q506TppLcKKyuktKTQpK+kuaTepL0gI0NKILjtx/qluaXepb0KKyuktKTepOKkyaStICNKTiCltKXepOKkyaStCisrpLSk36TQpLMgI1QzNSCltKXfyKIKKyuktKTfpPMgI1QzNSCktKTfpPMKKyuktKThpL0gI0NKIKW0peGlvQorK6S0pOmhvCAjSk4gpbSl6aG8CisrpLSk6aShICNKTiCh1I7fp6WO36HVjrqO3o7XjqeOp46njqeOp46njqeOp46njqeOp46njqeOsSEhISEhCisrpLSk6aShICNKTiCltKXppaEKKyuktKTqpOekpqTipKggI1QzNSC45s7uy6gKKyuktKTrpKEgI0NKICiO36eljt8pjrqO3o7ZjqehqgorK6S0pOukoSAjQ0ogpbSl66WhCisrpLSk66ShICNDSiCltKXrpaEhCisrpLSk66ShICNDSiCOuo7ejtmOp6GqCisrpLSk66ShICNKTiAgobMoKqGup6WhrSmlzo66jt6O2Y6nCisrpLSk66ShICNKTiAojt+npY7fKY66jt6O2Y6nCisrpLSk66ShICNKTiCltKXrpaEKKyuktKTrpKEgI0pOII66jt6O2Y6nCisrpLSk66ShICNUMzUgZ29sdWFoIQorK6S0pOukoaTIpOmk3qTzICNKTiCltKXrpaGlyKXppd6l8worK6S0pOukoiAjQ0ogpbSl66WhIQorK6S0pO2k7aSmICNUMzUgpbSl7aXtobwKKyuktaG8pNCkq6TzpLekuKTnICNUMzUgpbWhvKXQtMa7673qCisrpLWhvKTQpMCkpKStpPMgI1QzNSCltaG8pdDC5bbiCisrpLWkoqSkpLOkpqSrICNKTiCktaSiocWhocDCpLOkpqSrocWhxQorK6S1pKKksqSopOCkzqTPpLik3qTqpMekuSAjQ0ogpLWkoqWyobyl4KTOu8+k3qTqpMekuQorK6S1pKKktaSipKqkraTjpK+ktaTzpKykr6TrpOggICNKTiCktaSipLWkoqGipKq10qS1pPOkrM3opOuk6CEhISAKKyuktaSipLWkoqSqpK2k46SvpLWk86SspK+k66ToICNKTiCktaSipLWkoqGipKq10qS1pPOkrM3opOuk6CEhIQorK6S1pKSks6SmICNUMzUguse54gorK6S1pKSks6SmpK2k56SmICNUMzUguse54ra1CisrpLWkpKSzpKakvKG8pOggI0pOIKW1paSls6WmpbyhvKXoCisrpLWkpKSzpNWkw6S1obyk6yAjSk4gpbWlpKWzoaal1aXDpbWhvKXrCisrpLWkpKS3pPOk7KS5ICNUMzUguse/t6XspbkKKyuktaSkpLyk86S7pPOkr6TzICNUMzUgusfBsMD+t68KKyuktaSkpL+k3iAjSk4gpLWkpKS/pN4KKyuktaSkpL+k3iAjVDM1IKS1pKSkv6TeCisrpLWkpKTApKSkraTlpKakraTBpKykpKSxpKSk26SmICNKTiC6x8LntemlraXBpaylpLfZyvMKKyuktaSkpMmk6qStpKSkwSAjSk4guriw5rjNzs+w7AorK6S1pKSk0KG8pKihvKS4pKek86TIICNLSyCltaWkpdChvKWoobyluKWnpfOlyAorK6S1pKSk4qSopMihvKTKpOGk86TIICNUMzUgusfLqKXIobylyqXhpfOlyAorK6S1pKSk4qSopMikpqTKpOGk86TIICNUMzUgusfLqKXIobylyqXhpfOlyAorK6S1pKuhvKTKICNKTiCltaWrobylygorK6S1pKukraTQpOmku6SkpMggI1QzNSC88rW06azpr8C7xc0KKyuktaSrpMogI0pOILX7CisrpLWkq6TKICNUMzUgtfsKKyuktaSrpMukw6TdICNUMzUgpLWkq6TLpMOk3QorK6S1pKyksaTzpLWkrKS3pLik5aSmpMqkyqS1pKQgI0pOILq0suy4qbq0suy71L29vLe60AorK6S1pK+kuKTnICNUMzAguu+9/AorK6S1pK+kuKTnpKSk6aSkICNUMzAguu+9/LDNzeoKKyuktaSvpLik56SkpOmkpCAjVDM1ILrvvfywzc3qCisrpLWkr6S4pOekrKSkpMmk6aSkpPMgI1QzNSC67738paylpKXJpemlpKXzCisrpLWkr6S4pOeky6TzICNUMzUguu+9/L/NCisrpLWkr6S7pKSkpKTppKQgI1QzMCC67sCusM3N6gorK6S1pK+kv6TzICNUMzUgpbWlr6S/pPMKKyuktaSvpMWksSAjVDMwIKS1pK+kxaSxCisrpLWkr6TFpLEgI1QzMCCltaWvpbqksQorK6S1pK+k6aSspKqkq6SspK+kqKTzICNLSyC6+bXWs9ix4AorK6S1pK+k6aSspKqkq6SzpKaks6SmICNLSyC6+bXWueK5uworK6S1pK+k6aSspKqkq6TBpOWkpqSspMOks6SmICNLSyC6+bXWw+az2Lm7CisrpLWkr6TppL+k86SrpOogI1QzNSCktaSvpOmkv6TzocqyvqHLCisrpLWkr6TppL+k86TBpOWkpiAjVDM1IKS1pK+k6aS/pPO/3worK6S1pK+k6aTBpOWkpiAjVDM1ILr5v98KKyuktaSvpOmkw6TBICNUMzUgpbWlr6XppMOkwQorK6S1pK+k6aTDpMEgI1QzNSC6+dnHw9cKKyuktaSvpOmky6SzICNKTiCktaSvpOmly6WzCisrpLWkr6TppM2kw6TIICNLSyCktaSvpOmkzaTDpMgKKyuktaSvpOmk4aTzpMggI0pOIKW1pa+l6aXhpfOlyAorK6S1pLGkyKSupLOkyKTPpMuk46G8pPOkyCAjSk4gvPKkyKWupbOkyKTPpMuk46G8pPOkyAorK6S1pLGky6SupOqk76TDpLek56SkICNKTiC6+qTLpK6k6qXvpcOlt6XnpaQKKyuktaSyICNLUyBzYWdlCisrpLWksiAjS1NyIKS1pLIKKyuktaSyICNUMzUgc2FnZQorK6S1pLKkoqSqpOogI1QzNSBzYWdlwPqk6gorK6S1pLKkoqTppLcgI1QzNSBzYWdludOk6aS3CisrpLWksqS3pPOks6SmICNUMzAgpLWksr/KudQKKyuktaSypLek86SzpKYgI1QzNSBzYWdlv8q51AorK6S1pLKkw6TGpKMgI0pOIHNhZ2WOr47DjqgKKyuktaSypOykuSAjVDMwIHNhZ2Wl7KW5CisrpLWks6TEICNKTiCltbn8CisrpLWktaStpLGk86S5pLEgI0pOILq0obnM2rfysvAKKyuktaS2pKiktaTzICNKTiCltaW2paiktaTzCisrpLWktqSopLWk8yAjSk4gpbWltqWopLWk86GhCisrpLWkuaS1pLkgI0pOIKS1pLmktaS5CisrpLWkv6TzICNKTiCltaW/pfMKKyuktaS/pPMgI0pOII67jsCO3QorK6S1pMOkwaG8pN6kxKTqICNUMzUgpbWlw6XBoby616TqCisrpLWkw6TBpOWkpqS2pKSktKS4pOOhvKS5ICNKTiC7pr/fut6ltKW4peOhvKW5CisrpLWkw6TdpO0gI0NOILumjs6O347bCisrpLWkw6TdpO0gI0tLILumpd2l7QorK6S1pMOk3aTtICNUMzUgu6al3aXtCisrpLWkw6TdpO0gI1QzNSC7po7Ojt+O2worK6S1pMSkqKSkpK2k86S3ICNUMzUgu6OxxrbYu98KKyuktaTIpOmk7CAjVDM1IKW1pcil6aXsCisrpLWk0CAjVDM1ILuqCisrpLWk0KSqpMEgI1QzMCC7qs3upMEKKyuktaTQpKykqqTBpOsgI0NKILuqpKzN7qTBpOsKKyuktaTQpKykyKTWICNDSiC7qqSsyPSk1gorK6S1pNak0KTDpK+kqKSkpMGkxqSjobykqKTgpKik6yAjVDM1IHN1YmJhY2suaHRtbAorK6S1pOGkuKTepLiksaTzICNUMzUgu63F57v2t+8KKyuktaToICNUMzUgpbWl6AorK6S1pOikw6TGpOsgI1QzNSC6uM3jpMOkxqTrCisrpLWk6KTzpNwgI1QzNSCltaXopfOl3AorK6S1pOmkt6SipLIgI0tTciCktaTppLdhZ2UKKyuktaTppLekoqSyICNLU3IgpLWk6aS3pKKksgorK6S1pOmkt6SipLIgI0tTciC7r6S3YWdlCisrpLWk6aS3pKKksiAjVDM1IFNBTEGkt2FnZQorK6S1pOmkt6SipLIgI1QzNSBTQUxBu8W+5aSyCisrpLWk6aS3pKKksiAjVDM1IKPTo8GjzKPBu8W+5aSyCisrpLWk6aS3pKKksiAjVDM1IKS1pOmkt2FnZQorK6S1pOmkt6SipLIgI1QzNSC7r6S3YWdlCisrpLWk6aS3pKKksqTipMqhvCAjSk4gu6+kt77lpLKl4qXKobwKKyuktaTppNak7KTDpMggI0pOIKW1peml1qXspcOlyAorK6S1pOmk1qTspMOkySAjSk4gpbWl6aXWpeylw6XJCisrpLWk66S2pMikpiAjVDM1ILHuur3F/AorK6S1pOuk2aG8pLggI1QzMCCltaXrpdmhvKW4CisrpLWk7KTEpN4gI1QzNSCktaTsusoKKyuktaTspMWk3iAjVDM1IKS1pOy6ygorK6S1pO+kv6TqpN6ks6TIpM+k76SspKSkzqTBICNDSiDC9MXPv7+216TPsuakrMy/CisrpLWk76TkpKsgI0pOIMHWpOSkq6GqCisrpLWk86SspMSkpqS1pK4gI0pOIKOzt+6lpqW1pa4KKyuktaTzpK2k46SvICNLSyC7sLXTCisrpLWk86StpOOkryAjVDM1ILuwtdMKKyuktaTzpK+kuaSzICNDSiCltaXzpa+luaWzCisrpLWk86SvpLmksyAjQ0ogjruO3Y64jr2OugorK6S1pPOksaG8ICNKTiCltaXzpbGhvAorK6S1pPOksaG8pLek86TWpPMgI1QzNSCjs6PLv7fKuQorK6S1pPOksqTDpMggI0pOIKOzpbKlw6XIpKmkqaSppKmhqqGqCisrpLWk86S0ICNUMzUgu7m46gorK6S1pPOkuqTOpKuk7yAjSk4gu7DF06TOwO4KKyuktaTzpL+k4qTLpKsgI0pOIKW1pfOlv6HhpeKly6WrCisrpLWk86TApPOk4qTKobwgI0pOIKOzw8ql4qXppemhvAorK6S1pPOkyaSkpMOkwSAjSk4gpbWl86XJpaSlw6XBCisrpLWk86ThobykyKTrpM6kpqTBpOWkpqS4pPMgI0pOIKOzo+2kzrGnw+i/zaGhCisrpLWk86TipLiktaSvpKwgI1QzNSC7sMq4u/q67rLoCisrpLahvKTcpPMgI0pOIKW2obyl3KXzCisrpLakoqThpPOkv6SkpLekxCAjVDM1IKW2obzMzMLOvMEKKyuktqSkpKKkvSAjSk4gpbalpKWipb0KKyuktqSkpKKkvSAjSk4gpbalpKWipb0gCisrpLakpKSzICNKTiCltqWku9IKKyuktqSkpLOkt6TnpOqkz6TzICNKTiC637jLvejN/cjJCisrpLakpKTLpMGkpKS3pOykw6TJICNUMzUgut/G/LDlu9VSRUQKKyuktqSkpMukwaTLpPOkxqSkICNUMzAgut/G/MenxOoKKyuktqSkpOqk56SmpNakw6S7pKSkpKS/ICNDTiC64M7ByqrArcjECisrpLakpKTqpOekpqTWpMOku6SkpKSkvyAjVDM1ILrgzsHKqsCtyMQKKyuktqStICNUMzUgpbalrQorK6S2pMOkt6TlpLuk86S7pKQgI0pOILuovO/A6MC4CisrpLakxKTApPOks6TGpKQgI1QzNSC7qMPMuMfE6gorK6S2pNakyKTzpKKk6aS3ICNKTiCktqTWpMik87nTpOmktworK6S2pO+ktqTvICNUMzAgpLak76S2pO8KKyuktyAjTTUgpLcKKyuktyAjTjUgpLcKKyuktyAjTjUgu9QKKyuktyAjTjUgu+EKKyuktyAjUjUgpLcKKyukt6G8pMuk46TzICNKTiCkt6G8pMuk46TzCisrpLekoqG8pOsgI0tLIKS3UgorK6S3pKKhvKTrICNUMzUgpLdSCisrpLekoqSipOsgI1QzNSCkt1IKKyukt6SipO+ku6S1pPOk1yAjSk4guayku7u2ydsKKyukt6SjICNKTiCkt6SjCisrpLekoyAjVDM1IKS3pKMKKyukt6SjpKIgI0pOIKS3pKOkogorK6S3pKOkpKSkpPOkwaTnpKYgI0pOIKS3pKOw0bD3xLkKKyukt6SjpKukwaTjpPMgI0pOIKS3pKOkq6TBpOOk8worK6S3pKOkuKTnpK2k56SmpLik5SAjSk4gpLeko731trW8+AorK6S3pKOkuaTqobyk3qS/obyk6iAjSk4gpLeko6Ozz8Cw2AorK6S3pKOkuaTqobyk3qS/obyk6iAjSk4gpLeko6Ozjs+OwI6wjtgKKyukt6SjpL+ksSAjSk4gpLeko6S/pLEKKyukt6SjpL+ksSAjSk4gpLeko6S/pLEgCisrpLeko6TSpOEgI0pOIKS3pKPJsQorK6S3pKOk0qTtpNWk3yAjSk4gpLeko83OyrgKKyukt6SjpN6k3iAjSk4gpLeko6Xepd4KKyukt6SkpLWkoiAjVDM1IKW3obyltaG8CisrpLekpKS/pLEgI1QzNSCkt6SkpL+ksQorK6S3pKik8yAjVDM1ILvZsecKKyukt6SqICNKTiCx9gorK6S3pKogI1QzNSCx9gorK6S3pKqkq6TzICNLSyCkt6SqtNoKKyukt6SqpKuk8yAjVDM1IKS3pKq02gorK6S3pKqkvyAjVDM1ILH2xcQKKyukt6SqpMukwSAjVDM1ILH2xvwKKyukt6SrpK8gI0tLILvNs9EKKyukt6SrpK8gI1QzNSCioworK6S3pKukr6S3pKukryAjVDM1IKKioqIKKyukt6SrpK+kt6TzpLik4yAjVDM1ILvNs9G/rrzUCisrpLekrKS1pK8gI1QzNSC8orLsuu4KKyukt6StpKyk36S0pOmkoSAjSk4gvLC/wI66jt6O146nCisrpLekraSspN+kyqThpK+kuCAjSk4gvLC/wOnd6qEKKyukt6SxpPOkq6TzICNKTiC77riztMkKKyukt6SypPIgI0pOTSClt6WypfIKKyukt6SypPIgI1QzNSClt6WypfIKKyukt6SzpK8gI0NOILvgufEKKyukt6SzpK8gI1QzNSC74LnxCisrpLeks6S/pNuk76SiICNDSiClt6Wzpb+l26XvobwKKyukt6S4pN8gI1QzNSClt6W4pd8KKyukt6S5pL+hvKS2obyk3KTzICNKTiClt6W5pb+hvKW2obyl3KXzCisrpLekuaTXpOogI0tLIKW3pbml16XqCisrpLekuaTXpOogI1QzNSClt6W5pdel6gorK6S3pL+kpKSspL6kpiAjVDM1ILvgws6y6MH8CisrpLekv6TppNCkr6TzICNKTiCkt6S/pOmk0LevocqyvqHLCisrpLekv6TppNCks6SmpMSkpqTkpLOkpqSzpKakvaSvpNCkuSAjSk4gpLekv6TppNC48sTMzOu51Lniwq6l0KW5CisrpLekv6TppNCkyqG8ICNKTiClt6W/peml0KXKobwKKyukt6TBpLik5aSmpK8gI1QzNSC8t73FtuwKKyukt6TBpMuk86TOpLWk1iAjVDM1ILy3v82kzqW1pdYKKyukt6TDpL+kqyAjVDM1IMPOpMOkv6SrCisrpLekw6S/pKukr6TzICNUMzUgw86kw6S/pKu3rworK6S3pMOkv6SrpMGk5aSmpNykpiAjVDM1IMPOpMOkv6Srv9/LvAorK6S3pMOkxqTrpMqk6aTKpLykt6TGpK2kt6TGpK+k7KTKpKukw6S/pM6kx6S5pKsgI0NKIMPOpMOkxqTrpMqk6aGipMqkvLvYxaakt6TGpK+k7KTKpKukw6S/pM6kx6S5pKuhqQorK6S3pMiky6TppMGk46SopOsgI0pOILvIxcyly6XppcGl46WopesKKyukt6TKICNDSiClt6XKCisrpLekyqG8ICNKTiClt6XKobwKKyukt6TKpKIgI1QzNSClt6XKobwKKyukt6TKpL2k0KTkpM6ktaTOpOKkyqG8ICNKTiC72cbhtr7H/rKwpM66tMzupeKlyqG8CisrpLekyqTNobyk6CAjSk4gu+GlyqXNobyl6AorK6S3pMukrKTfpMik6qTDpNekqqTWpMekuSAjSk4gu+C/wKXIpeqlw6XXpaql1qXHpbkKKyukt6TLpKyk36TfpMqk6aSkpLekp6TqobwgI0pOILvgv8C4q72soaGlt6WnpeqhvAorK6S3pMukrKTfpN+kyqTppKSkt6SnpOqhvCAjSk4gu+C/wLirvaylt6WnpeqhvAorK6S3pM0gI0NKIKS3pM0KKyukt6TNICNDSiC71KTNCisrpLekzSAjQ0ogu+GkzQorK6S3pM2hvKToICNKTiC74aXNobyl6AorK6S3pM2k0KG8ICNKTiClt6XNpdChvAorK6S3pM2k0KG8ICNKTiClwaXNpdChvAorK6S3pM2k6KSqpOGhvKTpICNKTiC74aTNpOikqqThobyk6QorK6S3pM6k1qTppKSk8yAjVDM1IMempemlpKXzCisrpLek0KSkpMwgI1QzNSC8xrikCisrpLek0KSxpPMgI1QzNSC8xrikCisrpLek0KS5ICNUMzUgu+Cl0KW5CisrpLek1qS1pO+ktaTzICNKTiC9wt+3pLWk8worK6S3pNukvSAjVDM1IKS3pdulvQorK6S3pNuk8yAjVDM1IKS3pdul8worK6S3pNykpqS4pOWkpiAjSk4gocpgKaLPKKGtocuhyqGtKaelKGChyworK6S3pNykpqS4pOWkpiAjSk4gu+nLw73DCisrpLek4KTipMqhvCAjSk4gpbel4KGmpeKlyqG8CisrpLek4aS4ICNUMzUgKI7fp9WO3ymOvI7SjryO3gorK6S3pOGkxKSxpMGkq6TzpNOkpKTgICNUMzUgxPmk4cnVpLHD1LTBpdOhvKXgCisrpLek4qTEpLcgI0pOIKW3peKlxKW3CisrpLek4qTIICNUMzUgpbel4qXICisrpLek4qTIICNUMzUgjryO047ECisrpLek46ShpLuk86TopKakrqSzpPOksKTIpKyk86TipMogI0pOIKW3peOlocDszdGlrqWzpfOlsKTIpayl86XipcoKKyukt6TjpKKku6TzpOikpqSkpL8gI0NOIKW3peOlosDszdHIxAorK6S3pOOkoqS7pPOk6KSmpKSkvyAjVDM1IKW3peOlosDszdHIxAorK6S3pOOkpKSipLik8yAjVDM1IKW3peOlpKWiv80KKyukt6TjpKSk8yAjVDM1IKW3peOlpKXzCisrpLek46StpKSk8yAjQ0ogKKGujqWm2I6loa0pjryOrI63jrCO3QorK6S3pOOkraSkpPMgI0NKIKW3peOlraG8pfMKKyukt6TjpK+k7KStpOqkt6S/pPMgI1QzNSClt6Xjpa+l7KWtpeqlt6W/pfMKKyukt6TjpLek56SmICNKTiC81r64CisrpLek46TQpKSkzqSpICNDSiClt6XjpdClpKXOpakKKyukt6TjpNCkpKTOpKkgI0NKII68jqyOyo7ejrKOyY6rCisrpLek46TQpL6kpiAjVDM1IKW3peOl0MH+CisrpLek46TZpOukxKSvpKggI0pOIKS3pOOk2aTrtPkKKyukt6TjpPOkxqSjICNKTiChyo6los+OpaHLjryOrI7djsOOqKL2CisrpLek46TzpMakoyAjSk4gpbel46XzpcaloworK6S3pOSkoiAjVDM1IKS3p8EKKyukt6TlpKYgI0pOIKS3pOWkpQorK6S3pOWkpqSrpPOkoqS5pK2hvCAjS0sgvbW0qaWipbmlraG8CisrpLek5aSmpK2k56SmICNUMzUgvaG2tQorK6S3pOWkpqS1pKSk4qTppOmhvCAjSk4gvai6zaXipeml6aG8CisrpLek5aSmpMikpiAjVDMwIL2qxd8KKyukt6TlpKakyKSmICNUMzUgvarF3worK6S3pOWkpqTVpOYgI1QzMCC9qsXfCisrpLek5aSmpNWk5iAjVDM1IL2qxd8KKyukt6TlpKak6aSvICNUMzUgpLek5aSmpOmkr6HKvbDN7qHLCisrpLek5aSmpOqk56SmICNDSiAtLS0tLS0tLb2qzrstLS0tLS0tCisrpLek5aSmpOqk56SmICNDSiCh4aHhoeGh4aHhoeG9qs67oeGh4aHhoeGh4aHhCisrpLek5aSmpOqk56SmICNUMzAgvarOuworK6S3pOWkpqTqpOekpqTBpOWkpqTcpKYgI1QzNSC9qs67v9/LvAorK6S3pOWktyAjVDM1ILzxu90KKyukt6TlpLek5SAjSk4gpLek5aS3pOUKKyukt6TlpLikpCAjVDM1ILznvKOw5QorK6S3pOWkw6TBpOekpiAjVDMwIL3QxKUKKyukt6TlpNSkpKTzpLek4yAjVDM1IKW3peWl1KG8pfO81AorK6S3pOehvKTipMqhvCAjSk4gpbel56G8peKlyqG8CisrpLek56G8pOKkyqG8ICNKTiClt6Xnobyl4qXKobwgCisrpLek56G8pOakzaSvpLmkyCAjS0sgpbel56G8pealzaWvpbmlyAorK6S3pOekpqSrpPMgI1QzMCC+pLStCisrpLek56SmpKuk8yAjVDMwIL6ktNQKKyukt6TnpKakrKTJpK2k5aTzICNUMzUgwLjVqkRRTgorK6S3pOekpqSwpPOktaTeICNUMzUgvq23s83NCisrpLek56SmpLikraS5pN6k86SrpMOkvyAjQ0ogwLXEvqGipbml3qXzpaulw6W/CisrpLek56SmpLikraS5pN6k86SrpMOkvyAjQ0ogwLXEvqGipbml3qXzpaulw6W/oaoKKyukt6TnpKakwaTlpKYgI1QzNSDAtb/fCisrpLek56SmpNykpiAjVDM1IL7Dy8kKKyukt6TnpKak3KSmpKSkvyAjVDM1IL7Dy8nIxAorK6S3pOekpqTmpLuk86S3pK2kw6SzpKak3qS9ICNUMzUgvt/M/cDvu86lraXDpbOhvKXepb0KKyukt6TnpKak5qS7pPOkt6StpMOks6SmpN6k8yAjVDM1IL7fzP3A77vOpa2lw6Wzobyl3qW9CisrpLek56SmpOakyqTXpK2k8yAjVDM1IL7fzP2lyqXXpa2l8worK6S3pOekpqTmpM2kr6S5pMggI1QzNSClt6Xnobyl5qXNpa+luaXICisrpLek56SvpMuk8yAjVDM1IL+mv80KKyukt6TnpK+ky6TzpLWk8yAjVDM1IL+mv82ktaTzCisrpLek56SvpM2hvKToICNKTiC/pqXNobyl6AorK6S3pOekr6TopKak4qTKobwgI0pOIL+pzdGl4qXKobwKKyukt6TnpLik56StpOmhvKSipNmk6yAjSk4gvei996WtpemhvKWipdml6worK6S3pOekvyAjVDM1IKW3peelvworK6S3pOekv6SzpPMgI1QzNSClt6Xnpb+ls6XzCisrpLek56TApKSktaTzpMmkpKTDpMEgI0pOIL3pwuWltaXzpcmlpKXDpcEKKyukt6TnpMCkpKS3pM2k0KG8ICNKTiC96cLlpbelzaXQobwKKyukt6TnpMCkpKTepLik7KS5pN6k8yAjSk4gvenC5aXepbil7KW5pd6l8worK6S3pOekwKSkpOKkyqG8ICNKTiC96cLlpeKlyqG8CisrpLek56TApKSk4qTNobwgI0pOIL3pwuWl4qXNobwKKyukt6TnpNwgI0pOIKW3peel3AorK6S3pOek3CAjSk4gjryOro7Ojt4KKyukt6TnpNyhvKTzICNDSiCOvI6ujs6O3o6wjt0KKyukt6TnpNyhvKTzICNKTiAooa2hpqbYoaZgKaW3peel3KG8pfMKKyukt6TnpNyhvKTzICNKTiAooa2OpabYjqVgKY68jq6Ozo7ejrCO3QorK6S3pOek3KG8pPMgI0pOIKW3peel3C2l8worK6S3pOek3KG8pPMgI0pOII68jq6Ozo7eLY7dCisrpLek56TcpKqk8yAjQ0ogpbel56Xcobyl8worK6S3pOek3KSqpPMgI0NKII68jq6Ozo7ejrCO3QorK6S3pOek3KSupLMgI0pOII68jq6Ozo7ejreO3o66CisrpLek56TppM2hvKToICNKTiClt6XnpemlzaG8pegKKyukt6TopKqkpqToICNTVUMgpbel6KG8paal6AorK6S3pOikqqSmpOggI1NVQyCOvI7WjrCOs47WCisrpLek6aTKpKSk7yAjSk4gpbel6aXKpaSl7worK6S3pOmkzaG8pOggI0pOIKW3pemlzaG8pegKKyukt6TppM2kqKToICNUMzUgpbel6aXNobyl6AorK6S3pOmkzaTOpKqk7aTBICNKTiClt6Xppc2lzqWqpe2lwQorK6S3pOmk0qG8pLIgI0pOIKW3peml0qG8pbIKKyukt6TqICNUMzUgv6wKKyukt6TqpMQgI1QzNSC/rMTFCisrpLek6qTIpOqkpKS/ICNUMzUgpLek6qTIpOrIxAorK6S3pOqkyKTqpLak4KTppKQgI0pOIKS3pOqkyKTqu/gKKyukt6TrICNTVUMgpLek6worK6S3pOsgI1NVQyC9wQorK6S3pO2kpqTIpMukz6SqpLmkuaThpMekraTKpKQgI0NKIMHHv82ky6TPpKrBpqThvdDN6KTKpKShoworK6S3pO2kzaSzICNLSyDH8setCisrpLek7aTNpLMgI1QzNSDH8setCisrpLek7aTgpMQgI1QzNSDH8qXgpcQKKyukt6TzpKuk4aTipMqhvCAjSk4gv7+hpqWrpeGl4qXKobyhoQorK6S3pPOkraTtpK+kv6TDpLukpKTLpPOkxqSkpLek56SmICNKTiC/t7Wtz7/Do8Cux6fE6r7aCisrpLek86SxpKSku6SkICNUMzUgv8C30MCtCisrpLek86S2pPOkz6SrpKukuqTLpM+k86TIpLek7aTgpMOkxqTtICNDSiC/t7uypM+98aSrpLqky8i+x6+j0qPPo82kw6TGpO0KKyukt6TzpLcgI1QzNSC/wrvOCisrpLek86S3pOWkzjGktaTzICNKTiC/t7zvpM6jsaS1pPMKKyukt6TzpLikxKSrpK+kySAjVDM1IL+/vMKz0cXZCisrpLek86S4pOMgI1QzNSC/rrzUCisrpLek86S4pOWkr6S0pLik5aSmICNUMzUgv7e9yTUwCisrpLek86S4pOWkr6TfpMqk36SwpMGkrqTlpKaky6TlpKakvaTVpMikr6Tqobyk4KTOpM2kqKTBpOOk8yAjSk4gv7e9ycbuuP2h1rXtxv2lvaXVpcilr6Xqobyl4KHXpM6kzaSopMGk46TzCisrpLek86S5pOwgI1QzNSC/t6W5pewKKyukt6TzpLmk7KSqpOGkx6TIpKaktKS2pKSk3qG8pLkgI0pOIKHAocqhsKKmobChy6G/v7eluaXspKqk4aTHpMikpqS0pLakpKTeod2kuaL2CisrpLek86S5pOykqqThpMekyKSmpLSktqSkpN6hvKS5ICNKTiC/t6W5peykqqThpMekyKSmpLSktqSkpN6h3aS5CisrpLek86S5pOykw6TJpLmkyKTDpNGhvCAjVDM1IL+/oaaluaXspcOlyaW5pcilw6XRobwKKyukt6TzpLmk7KTDpMmkuaTIpMOk0aSiICNUMzUgv7+hpqW5peylw6XJpbmlyKXDpdGhvAorK6S3pPOku6SkICNQUkUgv7/ArQorK6S3pPOku6SkICNUMzUgv7/ArQorK6S3pPOku6SkpMGk5aSmpNykpiAjVDM1IL+/wK2/38u8CisrpLek86S7pPMgI1QzNSC/t8GvCisrpLek86S9pLOkyaSmpMek4qSkICNLWSC/tMTspMmkpqTHpOKkpAorK6S3pPOkvaSzpMmkpqTHpOKkpCAjS1kgv7TE7KTJpKakx6TizskgCisrpLek86S9pLOkyaSmpMek4qToICNLWSC/tMTspMmkpqTHpOLOySAKKyukt6TzpMGk56SmpLmk7CAjS0sgv8jEuaW5pewKKyukt6TzpMGk56SmpLmk7CAjVDM1IL/IxLmluaXsCisrpLek86TJICNUMzUgv7zF2QorK6S3pPOky6TBpKqkvyAjVDM1IL+3xvylqqW/CisrpLek86TNobyk6KSqpNakzaG8pOggI0pOIL+/oaalzaG8peihpqWqpdahpqXNobyl6AorK6S4obwgI1QzNSCjxworK6S4obykqKTgICNUMzUgo8ejzQorK6S4obyktaSvpMikuKSnobyk8yAjSk4gR7rupMiluKWnobyl8worK6S4obyktaSvpMikuKSnobyk8yAjSk4gR7rupMiluKWnobyl86HKw7HCzqTApMiyv6TApKvIvaTppMqkpKTOpMejssmkjr6Or47EocsgCisrpLihvKS1pK+kyKS4pKehvKTzICNKTiChyqGmos+hpqHLoaGhyqGmos+hpqLpoukKKyukuKSjICNKTiCkuKSjCisrpLikpKSzICNUMzUgvKuw1rjFCisrpLikp6SkpKak6KSvICNUMzUgSrGmzeMKKyukuKSnpKSk06SkpNOkpKSopLkgI1QzNSBKQkJTCisrpLikp6TOpLWkpKTJpKukw6S/obwgI0pOIKW4paelzqW1paSlyaWrpcOlv6G8CisrpLikp6TzpMik66TipMogI0pOIKW4pael86XIpeul4qXKCisrpLikp6TzpMik66TipOmk6aG8pMikrqSzICNKTiCluKWnpfOlyKXrpeKl6aXpobykyKWupbMKKyukuKSopKSkq6TzpKik6aSkICNDSiCluKWopaSlq6Xzpail6aWkCisrpLikqKSkpKuk86SopOmkpCAjQ0ogjryO3o60jrKOto7djrSO146yCisrpLikqiAjS0sgpbilqgorK6S4pKogI0tLILH2CisrpLikqiAjVDM1IKW4paoKKyukuKSqICNUMzUgsfYKKyukuKSvpKak3qSqpKYgI0pOILv+tvXL4rKmCisrpLiksqTzICNKTiC8obi1CisrpLiktKSmpLikyKSvICNKTiAooa2iz6GuKY68jt6Ouo7ejrOOvI7ejsSOsI64CisrpLiktKSmpLikyKSvICNKTiCluKW0paaluKXIpa8KKyukuKS0pK+kzqS0pKakqyAjSk4gw8+59qTOtsiy0AorK6S4pLWkr6S4pKihvKTzICNKTiCluKW1pa+luKWoobyl8worK6S4pLWkr6S4pKik8yAjSk4gKI6los+OpSmOvI7ejruOuI68jt6OtI6wjt0KKyukuKS1pK+kuKSopPMgI0pOIKHOocqhpqLPoaahy6HPCisrpLiktaSvpLikqKTzICNKTiCluKW1pa+luKWopfMKKyukuKS1pK+kuKSopPMgI0pOIKW4pbWlr6W4sd8KKyukuKS1pK+kuKSopPMgI0pOII61jsaOsI7BjqyO3Sgqoaaiz6GmKimOtI6vjsGOsCEhCisrpLiktaSvpLikqKTzICNUMzAgUVFRUQorK6S4pLWkr6S4pKik8yAjVDMwILyruu68q7HpCisrpLiktaSvpLikqKTzICNUMzUgpbiltaWvpbilqKXzCisrpLiktaSvpLikqKTzICNUMzUgvKu67ryrsekKKyukuKS1pK+kuKS7pPMgI0pOIKHKoabA6aGmocsKKyukuKS1pK+kuKS7pPMgI0pOIKW4pbWlr6W4pbul8worK6S4pLWkr6S4pLuk8yAjSk4gvN67uLzevt0KKyukuKS1pK+kuKS7pPMgI0pOII68jt6Ou464jryO3o6+jt0KKyukuKS1pMSkuKSopPMgI0pOIKHKLbvhLaHLCisrpLiktaTEpLikqKTzICNKTiCluKW1pcSluKWopfMKKyukuKS1pMSkuKSopPMgI0pOILzeu8K83rTdCisrpLiktaTEpLikqKTzICNKTiCOvI7ejruOwo68jt6OtI7dCisrpLikt6TzpLukpKTIICNKTiDDz7/MwLjFzAorK6S4pLek86TAICNDSiC8q7+upMChqqGqoaqhqgorK6S4pLek86TAICNDSiDDz7/MpMChqqGqoaqhqgorK6S4pLukpKTKpMmkraSrpMqkpKTDICNDSiC8q8CppMqkyc34pKukyqSkpMMKKyukuKTBpLmk7CAjVDM1ILyrvKOluaXsCisrpLikwaTBpOWkpiAjVDM1ILyrvKO/3worK6S4pMGk86S1pKQgI1QzNSDDz8TDutcKKyukuKTDpK2k56SmpLmk7CAjVDM1ILzCtreluaXsCisrpLikw6TRpNKkyKSrpOqksiAjSk4gpbilw6XRpdKlyKWrpeqlsgorK6S4pMSk76TypKukr6TKpMikoqTspNukySAjQ0ogvMLPw6TyvfGkr6TKpMikoqTspNukyaHECisrpLikyaSmpKqkpqTApL2kpqTBICNUMzUgvKvGsLKlwsfB9cPWCisrpLikz6SipMkgI1QzNSCluKXPobylyQorK6S4pNCkryAjVDM1ILyrx/oKKyukuKTSpOOkr6S4pKik8yAjSk4gocqhpsm0oaahyworK6S4pNKk46SvpLikqKTzICNKTiCluKXSpeOlr6W4pail8worK6S4pNKk46SvpLikqKTzICNKTiCOvI7ejsuOrI64jryO3o60jt0KKyukuKTXpLehvCAjVDM1IKW4pdelt6G8CisrpLik16S3pKQgI1QzNSCluKXXpbehvAorK6S4pNikpKTdpPMgI0tLILyrysSk3aTzCisrpLik2KSkpN2k8yAjVDM1ILyrysSk3aTzCisrpLik36TzpMikpqTipMqhvCAjSk4gvKvMscXepeKlyqHdCisrpLik36TzpMikpqTipMqhvCAjSk4gvKvMscXepeKlyqHdIAorK6S4pOAgI0pOIEdNCisrpLik4aTzpPKkqqTopLCkrqSzICNKTiDDz8zMpPKxy6Swpa6lsworK6S4pOOhvKTLobwgI0pOIKW4peOhvKXLobwKKyukuKTjpKyk4qTKobwgI0pOIKS4pOOkrKXipcqhvAorK6S4pOOkt6TzICNUMzUgvNm/wAorK6S4pOOkw6SrpOsgI1QzNSCluKXjpcOlq6XrCisrpLik46TDpK2hvCAjSk4gpbil46XDpa2hvAorK6S4pOOkw6StobwgI1QzNSCluKXjpcOlraG8CisrpLik46TDpK2kpCAjVDM1IKW4peOlw6WtobwKKyukuKTjpMukpCAjVDM1ILzYt7sKKyukuKTjpMukpCAjVDM1ILzZt7sKKyukuKTjpNMgI0pOII68jt6OrI7Ljt4KKyukuKTjpN6ktaStICNUMzUgvNnL4rrqCisrpLik46TfpO2kr6SkICNKTiCluKXjpd+l7aWvpaQKKyukuKTjpOsgI1QzNSBKQaXOTAorK6S4pOOk86SspOqkoqTzpM+k4KS5pL+hvCAjSk4gpbil46Xzpayl6qWipfOlz6Xgpbmlv6G8CisrpLik46TzpK+kr6TppMOkq6G8pK+k6aTDpLek46G8ICNKTiCluKXjpfOlr6Gmpa+l6aXDpauhvKGmpa+l6aXDpbel46G8CisrpLik46TzpLCk66TdpLGkw6TIpM6kwaTBpM+k1aS4pK2ku6StICNDSiCluKXjpfOlsKXrpd2lsaXDpcikzsnjpM+l1aW4pa2lu6WtCisrpLik5aSmpLek56SvICNKTiC9u7+mCisrpLik5aSmpLek56SvICNUMzUgvbu/pgorK6S4pOWkpqTKpMqkuaSvpOqk16TIICNUMzUgMTeluaWvpeql16XICisrpLik5aSmpMuk8yAjVDM1IL27v80KKyukuKTlpKakz6TBpLiky6S4pOWkpqS4pOKk86TApKQgI1QzNSAxOLv+oaYyMLv+zOTC6gorK6S4pOWkpqTVpK+kuaTsICNUMzUgvcXKo6W5pewKKyukuKTlpKak1aSvpLmk7KTDpMkgI1QzNSC9xcqjpbml7KXJCisrpLik5aSmpN6k86SopPMgI0pOIK2qoaEKKyukuKTlpKak3qTzpKik8yAjSk4gvb3L/LHfCisrpLik5aSmpN+k8yAjVDM1IL27zLEKKyukuKTlpKak6KTzICNKTiCjsaO0CisrpLik5aSrpKQgI0NOILz5s6QKKyukuKTlpKukpCAjVDM1ILz5s6QKKyukuKTlpMahvKTgICNKTiCluKXlpcahvKXgCisrpLik5aTzpKukpCAjVDMwIL3ksvMKKyukuKTlpPOkraTzpKSkvyAjQ04gveO24sjECisrpLik5aTzpK2k86SkpL8gI1QzNSC947biyMQKKyukuKTmpKak8qTfpK6kxqTLpKKkpKTKpOmk0qTApOqkxqTLICNKTiCluKXmpaal8qXfpa6lxqXLpaKlpKXKpeml0qXApeqlxqXLCisrpLik5qSmpPKk36SupMaky6SipKSkyqTppNKkwKTqpMakyyAjSk4gvN7Vs6bQt97DxrGyxdfLwN7Yw8YKKyukuKTmpKak8qTfpK6kxqTLpKKkpKTKpOmk0qTApOqkxqTLICNKTiCOvI7ejtWOs46mjtCOt47ejsOOxo6xjrKOxY7XjsuOwI7ejtiOw47GCisrpLik56SkpMOkxiAjS1MgSk9ZpMOkxgorK6S4pOekpqStpKqkpiAjSk4gvvi1pLKmCisrpLik56SmpMGk5aSmICNUMzAgvu/D8worK6S4pOekpqTIpKakuKTnpOakpiAjVDM1IL7lxfm9982lCisrpLik56SmpMikwaTlpKYgI1QzNSC++cXPv98KKyukuKTnpKak7KTzICNUMzUgvu/PogorK6S4pOeku6TVpMikoqTWpMmkpaTrICNKTiCluKXnpbul1aTIpaKl9KXJpaWl6worK6S4pOekxqSkICNUMzUgvffE6worK6S4pOekxqSkpKikuaSrpOqhvKTMICNKTiC998TrpailuaWrpeqhvKXMCisrpLik56TLobwgI0pOIKW4peely6G8CisrpLik56TzICNKTiCluKXnpfMKKyukuKTnpPMgI1QzNSCluKXnpfMKKyukuKTnpPOkuKTnICNKTiCluKXnpfOluKXnCisrpLik56TzpNWhvKTzICNKTiCluKXnpfOhpqXVobyl8worK6S4pOmkpCAjVDM1IMPPzesKKyukuKTppKSksqTzpLek56TqpLek4yAjSk4gw8/N67i2vejN/bzWCisrpLik6aTNobyk6CAjSk4gpbil6aXNobyl6AorK6S4pOykuSAjVDMwILyrpeyluQorK6S4pPMgI1NVQyC/0AorK6S4pPOkuKTjobwgI0pOIKW4pfOluKXjobwKKyukuKTzpMukryAjVDM1IL/NxvkKKyukuKTzpMukryAjVDM1IL/Nxvm71L7sCisrpLik86TLpK+kpKTBpNAgI1QzNSC/zcb5CisrpLik86TLpK+kpKTBpNAgI1QzNSC/zcb5u9S+7AorK6S4pPOk36TzpLCk86SwpPOkq6TzICNKTiC/zcyxt7O3s7SxCisrpLik86ThpPOktKStpNak6qTDpMQgI0pOIL/NzMyltKWtpdal6qXDpcQKKyukuaG8pNGhvKS0pOqkqiAjSk4gpbmhvKXRobyltKXqpaoKKyukuaG8pNGhvKTipMqkrqSzpL+kpKS7pPMgI0pOIKW5obyl0aG8peKlyqWupbPC58DvCisrpLmhvKTRobyk6qSipOukwaTlpKak3KSmICNUMzUgpbmhvKXRobyl6qWipeu/38u8CisrpLmkpKS7pPOkq6TzpLmk7CAjS0sgv+XA9rTJpbml7AorK6S5pKSku6TzpKuk86S5pOwgI1QzNSC/5cD2tMmluaXsCisrpLmkpKS9pKYgI1QzNSC/5cHlCisrpLmkpKS/pKOk56SlICNKTiC126SkpL+ko6TnpKWhoQorK6S5pKSkv6SkpOikpiAjSk4gtdukpKS/pKOk56SloaEKKyukuaSmpNGkoqTOpKahq6ShICNUMzUgpbmhvKXRobylzqX0paEKKyukuaSmpNGkoqTPpKukoiAjVDM1IKW5obyl0aG8pc+lq6G8CisrpLmkpqTRpKKk6qSipOukwaTlpKak3KSmICNUMzUgpbmhvKXRobyl6qWipeu/38u8CisrpLmkpqTipLik4qS4pLqkxKTEpK+kw6TGpNWk5KS3pL+koqS5pK2hvKSiobykyCAjSk4gv/TKuLv6pLqkxMH9pOSkt6TGuu6kw6S/o8GjwQorK6S5pKikw6SzICNKTiDL9qTDu9IKKyukuaSopMOksyAjVDM1IMv2pMO70gorK6S5pKsgI1QzNSC/3LLDCisrpLmkq6SkpOmhvKSvpLyk86TWICNDSiCluaWrpaSl6aG8pa/BtMn0CisrpLmkq6TppKKkzyAjVDM1IKW5paul6aG8x8gKKyukuaSuICNTVUMgv/kKKyukuaSvpKakp6SiICNUMzUgoqMKKyukuaSvpKakp6SipNuk86S3pOMgI0pOIKW5pa+lpqWnpaLL3LzSCisrpLmkr6S9pNekyCAjVDM1IKW5pa+lvaXXpcgKKyukuaSvpMQgI1QzNSCkuaSvpMQKKyukuaSvpOqk16TIICNUMzUgpbmlr6XqpdelyAorK6S5pLSk3qS4pKQgI0NKIKS5pLSk3qS4pKQKKyukuaS2pLGk66TKICNDSiCkuaS2pLGk66TKoaoKKyukuaS5pLogI1QzNSCluaW5pboKKyukuaS6pK2k4KTNpKqkx6S3pL8gI0pOIKHKoaaiz6GmocvO68zavaHDy47Djt6OvI7ACisrpLmkuqStpOCkzaSqpMekt6S/ICNKTiDO68zavaHDy6XHpbelvworK6S5pLqkraTgpM2kqqTHpLekvyAjSk4gzuvM2r2hw8uOw47ejryOwAorK6S5pL+hvKTepPMgI0pOIKW5pb+hvKXepfMKKyukuaS/pLikqqTLpMGk46TzpM2k66TPpLik3qTrpOggI0pOIKW5pb+luKWqMmNou8+k3qTrpOii9gorK6S5pMGkuiAjSk4gwcfDz7/eCisrpLmkwaS6ICNUMzUgwcfDz7/eCisrpLmkw6S0pK+kq6TvpKSkpKTipMqhvCAjSk4gofmkuaTDpLSkr6H5pKuk76SkpKQoXm9eKaXipcqhvAorK6S5pMOkyaTsICNKTiChyqGmos+hpqHLjr2Or47Ejt6O2iEKKyukuaTDpMmk7CAjSk4gpbmlw6XJpewKKyukuaTDpMmk7CAjSk4gjr2Or47Ejt6O2gorK6S5pMOkyaTsICNUMzUgpbmlw6XJpewKKyukuaTGpK2kv6SkpOAgI1QzNSCluaXGpa2lv6WkpeAKKyukuaTGpM+k8yAjVDM1ILzOpMalz6XzCisrpLmkyKG8pKuk4aSzICNUMzUgpbmlyKG8paul4aWzCisrpLmkyKSmpKuk4aSzICNUMzUgpbmlyKG8paul4aWzCisrpLmkyKTqpMOk1yAjVDM1IMHHpcil6qXDpdcKKyukuaTKpKSk1yAjVDMwIKW5pcqlpKXXCisrpLmkyqSrpLGk0KTQpKIgI0pOILq9pKukscfMCisrpLmkzaSrpLik6iAjVDM1IKW5pc2kq6S4pOoKKyukuaTOobwgI1QzNSCj06POo8+j1worK6S5pM6kpiAjVDM1IFNOT1cKKyukuaTRICNLUyCluaXRCisrpLmk0aG8pK+k4qTKobwgI0pOIKW5pdGhvKWvpeKlyqG8CisrpLmk0aS3obyk3CAjVDM1IKHKoaaiz6GmoculuaXRpbehvKXcISGh6SAKKyukuaTRpLehvKTcICNUMzUgocqhpqLPoaahy469jsqO3468jrCOzo7eISGh6SAKKyukuaTRpLehvKTcICNUMzUgpbml0aW3obyl3AorK6S5pNGkt6G8pNwgI1QzNSCOvY7Kjt+OvI6wjs6O3gorK6S5pNGkt6G8pNyks6SmpKsgI1QzNSCluaXRpbehvKXcuPqyzAorK6S5pNGkt6SkpNwgI1QzNSChyqGmos+hpqHLjr2Oyo7fjryOsI7Ojt4hIaHpIAorK6S5pNGkt6SkpNwgI1QzNSCOvY7Kjt+OvI6wjs6O3gorK6S5pNGkt6SkpNyks6SmpKsgI1QzNSCluaXRpbehvKXcuPqyzAorK6S5pNGkwaTlpKYgI1QzNSCluaXRv98KKyukuaTRpOAgI1QzMCCluaXRpeAKKyukuaTRpOAgI1QzNSBzcGFtCisrpLmk0aTgICNUMzUgpbml0aXgCisrpLmk0aTzICNKTiBTUEFOCisrpLmk1KTepLkgI1QzNSCluaXUpd6luQorK6S5pNWko6TzpK+kuSAjSk4gpbml1aWjpfOlr6W5oaEKKyukuaTWpL+k8yAjVDM1IKW5pdalv6XzCisrpLmk2qTppPOkq6G8ICNLSyCluaXapeml86WrobwKKyukuaTapOmk86SrobwgI1QzNSCluaXapeml86WrobwKKyukuaTapOmk86SrpKIgI1QzNSCluaXapeml86WrobwKKyukuaTeICNKTiC/3MvhCisrpLmk3iAjVDM1IL/cy+EKKyukuaTepL0gI0NKIKW5pd6lvQorK6S5pOCk6aTDpMggI1QzNSBTTUFSVAorK6S5pOCk6aTDpMggI1QzNSCj06PNo9KjwaPUCisrpLmk6CAjSk4gpbml6AorK6S5pOmkpKTgICNKTiCluaXppaSl4AorK6S5pOukw6TIpMGk46TzICNKTiCluaXrpcOlyKTBpOOk8worK6S5pOwgI1QzNSCluaXsCisrpLmk7KS0pNCkryAjVDMwIKW5pey47cf6CisrpLmk7KS1pK+kuKTnICNUMzAgpbml7LrvvfwKKyukuaTspLmkyCAjVDM1IKW5peyluaXICisrpLmk7KS/pKQgI1QzNSCluaXspb+lpAorK6S5pOykwaSspKQgI1QzNSCluaXssOOkpAorK6S5pOykw6TJICNUMzUgpLmk7KTDpMkKKyukuaTspMOkySAjVDM1IKW5peylw6XJCisrpLmk7KTDpMmkoqTDpLek5aSvICNUMzAgpbml7KXDpcmwtb3MCisrpLmk7KTDpMmkoqTDpLek5aSvICNUMzUgpbml7KXDpcmwtb3MCisrpLmk7KTDpMmkpKTBpOmk8yAjVDM1IKW5peylw6XJsOzN9worK6S5pOykw6TJpLmkyKTDpNGhvCAjVDM1IKW5peylw6XJpbmlyKXDpdGhvAorK6S5pOykw6TJpLmkyKTDpNGhvKS5pMahvKS3pOek8yAjSk4gpbml7KXDpcmluaXIpcOl0aG8pbmlxqG8pbel56XzCisrpLmk7KTDpMmkuaTIpMOk0aSiICNUMzUgpbml7KXDpcmluaXIpcOl0aG8CisrpLmk7KTDpMmk0qTnpKakq6TLpPOkxqSkpKSkpKTzpKukpCAjSk4gpbml7KXDpcnJvrLBx6fE6rDRsPey8QorK6S5pOykw6TJpNWk7aG8pMik26SmpLekrSAjVDM1IKW5peylw6XJpdWl7aG8pcjK/bywCisrpLmk7KTDpMmk1aTtpKakyKTbpKakt6StICNUMzUgpbml7KXDpcml1aXtobylyMr9vLAKKyukuaTspMOkyaTspKSk1yAjVDMwIKW5peylw6XJpeylpKXXCisrpLmk7KTLpPOkxqSkpLek56SmICNKTiCluaXsx6fE6r7aCisrpLmk7KTSpOekpqSrpLik56SmICNKTiCluaXsyb6ywb7uCisrpLmk7KTypOiktCAjUzUgpbml7KTysfgKKyukuaTspPKk6KS0pLkgI0NKIKW5peyk8rH4pLkKKyukuaTtpMOkyKSqpNykqKS/pMakxyAjQ0ogpbml7aXDpciz0KSopL+kxqTHCisrpLmk86S5pPOkuaSmpPMgI0NKICihpqLPoaYpjr2O3Y69jt2OvY6wjt2i9gorK6S5pPOkuaTzpLmkpqTzICNDSiCluaXzpbml86W5obyl86L2CisrpLmk86TepL0gI0NKIKS5pPOk3qS9CisrpLqktKSqpN6ksCAjSk4gpbqhpqW0paql3qGmpbAKKyukuqS1pK6ksyAjSk4gpbqltqWupbMKKyukuqS2pMqk3qTPpLKktaTeICNKTiChyqW6pbahy6XKpd6lz6Wyzc0KKyukuqTppOmhvCAjSk4gpbql6aXpobwKKyukuqTqpLukvSAjVDM1IKW6peqlu6XzCisrpLqk66SkpKqk86TKICNLSyCkuqTrpKS99worK6S6pOukpKSqpPOkyiAjVDM1IKS6pOukpL33CisrpLqk7CAjVDM1IKW6pewKKyukuqTspKykuaSvpMqkpKTOpMekt6TlpKaku6SkpLekxqSqpK2k3qS3pL8gI0pOIKW6peykrL6upLWkpKTOpMe9pMC1pLekxqSqpK2k3qS3pL+howorK6S6pOykrKS5pK+kyqSkpM6kx6S3pOWkpqS7pKSkt6TepLekvyAjSk4gpbql7KSsvq+kyqSkpM6kx72kwLWkt6TepLekvworK6S6pOykrKS5pK+kyqSkpM6kx6S3pOWkpqS7pKSkt6TepLkgI0pOIKW6peykrL6vpMqkpKTOpMe9pMC1pLek3qS5CisrpLuhvKTppOCkqqSmpLOkryAjSk4gpLuhvKTppOCkqqSmpLOkrworK6S7pKSkq6SkICNUMzUgwK2y9AorK6S7pKSkrqSzICNKTiClu6Wkpa6lsworK6S7pKSkrqSzICNKTiClu6Wkpa6lsyAKKyuku6SkpLQgI0pOTSDArLjjCisrpLukpKS0pKYgI0pOIMCtuesKKyuku6SkpLSkpiAjVDM1IMCtuesKKyuku6SkpLek5aTzICNKTiDAxL3VCisrpLukpKS3pPOkxqStpNak6aSvpOkgI1QzNSDAur/Axaql1qXppa+l6QorK6S7pKSku6TzpLek56SvpNKk86TipOmk3qS1ICNKTiDAuMGvv6nJyqXipeml3qW1CisrpLukpKS9pKakwaTlpKYgI1QzNSDAtsHdv98KKyuku6SkpMEgI1QzNSDAu8PPCisrpLukpKTIICNKTiDAuMXMCisrpLukpKTIICNKTiDAuMXMoakKKyuku6SkpMgyICNKTiDAuMXMo9aj5aPyo7IKKyuku6SkpMgzICNKTiDAuMXMo9aj5aPyo7MKKyuku6SkpMikpKTppM2hvKToICNKTiDAuMXMpaSl6aXNobyl6AorK6S7pKSkyKSmpLcgI0pOIMC4xcy17QorK6S7pKSkyKSrpKqkwKSxICNKTiAooaihraeloa4pob/A6MC4oaqhpqGmoaahpgorK6S7pKSkyKSrpKqkwKSxICNKTiDAuMXMtOmkwKSxCisrpLukpKTIpLWkpKS3pOekpiAjSk4gwLjFzLrHvq4KKyuku6SkpMikuKSqpPOksCAjSk4gwLjFzKW4paql86WwCisrpLukpKTIpLik5aSmpO2kr6SvpPMgI0pOIMC4xcyjsaO2t68KKyuku6SkpMikuaTVpKOk86SvpLkgI0pOIMC4xcyluaXVpaOl86WvpbkKKyuku6SkpMikuqS0pKqk3qSwICNKTiDAuMXMpbqhpqW0paql3qGmpbAKKyuku6SkpMikwKSkpKSkwaTVpMOktaG8pOsgI0pOIMC4xczC6LDspdWlw6W1obyl6worK6S7pKSkyKTApKSkpKTBpNWkw6S1obyk66TQobykuKTnpPMyICNKTiDAuMXMwuiw7KXVpcOltaG8pet2ZXKjsgorK6S7pKSkyKTApKSkpKTBpNWkw6S1obyk66TQobykuKTnpPMzICNKTiDAuMXMwuiw7KXVpcOltaG8pet2ZXKjsworK6S7pKSkyKTOpM4gI0pOIMC4xcykzqTOCisrpLukpKTIpM+k6aTepK2k0KG8pLik56TzMSAjSk4gwLjFzMqitKykraPWo+Wj8qOxCisrpLukpKTIpM+k6aTepK2k0KG8pLik56TzMiAjSk4gwLjFzMqitKykraPWo+Wj8qOyCisrpLukpKTIpNWhvKTzICNKTiDAuMXMpNWhvKTzCisrpLukpKTIpNWktaTWpMQgI0pOIMC4xcyk1aS1pNakxAorK6S7pKSkyKTWpMSk1qTEICNKTiDAuMXMpNakxKTWpMQKKyuku6SkpMik1qTEpNakxKS4pOWkpqTtpK+kr6TzICNKTiDAuMXMpNakxKTWpMSjsaO2t68KKyuku6SkpMik1qTEpNakxKTJpKak6CAjSk4gwLjFzKTWpMSk1qTEpMmkpqToCisrpLukpKTIpNakxKTWpMSkyaSmpOik0KG8pLik56TzMiAjSk4gwLjFzKTWpMSk1qTEpMmkpqToo9aj5aPyo7IKKyuku6SkpMik4KTDpK8gI0pOIMC4xcyl4KXDpa8KKyuku6SkpMik4aS/pOmhvKTQobykuKTnpPMxICNKTiDAuMXMpeGlv6Xpobx2ZXKjsQorK6S7pKSkyKThpL+k6aG8pNChvKS4pOek8zIgI0pOIMC4xcyl4aW/pemhvHZlcqOyCisrpLukpKTIpOmkx6SjpPMgI0pOIMC4xcyl6aXHpaOl8worK6S7pKSkyKTspKuk4KTBpOOkw6SrpN+kvaTBpPOkz6SmpLkgI0pOIMC4xcyl7KGmpKuk4KTBpOOkw6SrpN+kvcTBpc+lpqW5CisrpLukpKTIpPOhvCAjSk4gwLjFzKTzocGhqqGpCisrpLukpKTqpOWkpiAjVDM1IMC2wu0KKyuku6SrpKSku6TVpK+k8qS/pK+k6aTgpOKk6aTpobwgI0pOIMCks6ah1sCpodfJ/qTytOuk4KXipeml6aG8CisrpLukrKS3pPOkuKTjICNUMzUgpbulrL+uvNQKKyuku6SspNOhvCAjVDM1IKW7paxCCisrpLukrKTvICNUMzUgpbvI6QorK6S7pK2kuaSkICNLSyDA0b/lCisrpLukraS5pKQgI1QzNSDA0b/lCisrpLukraS6pKSkz6TzpLek46TspLkgI1QzMCDA1L/xyL+8zaXspbkKKyuku6StpLqkpKTPpPOkt6TjpOykuSAjVDM1IMDUv/HIv7zNpeyluQorK6S7pK+hvKS5ICNDTiClu6WvobyluQorK6S7pK+hvKS5ICNUMzAgpbulr6G8pbkKKyuku6SvobykuSAjVDM1IKW7pa+hvKW5CisrpLuk36S1pPOks6SqpLkgI1QzNSClu6XfpLWk86WzobyluQorK6S7pOuksqSopOAgI1QzNSClu6XrpbKhvKXgCisrpLuk8yAjVDM1IDEwMDAKKyuku6TzpKSkr6S/pNOky6SkpL+k8qTGpPOkxqTzpMikuaTrpLmk7KTDpMkgI1QzNSAxMDAwudSkr6S/pNOky8jEpPLFvqG5pMikuaTrpbml7KXDpckKKyuku6TzpKSkwSAjVDM1IDEwMDEKKyuku6TzpLOkpqS3pOMgI0pOIMDouPi81AorK6S7pPOks6SmpLek4yAjSk4gwOi51LzUCisrpLuk86SzpKakt6TjICNUMzUgwOi51LzUCisrpLuk86S3pOWkpqSspMOks6SmICNUMzUgwOy9pLPYubsKKyuku6TzpLmkpKSrpPOkuaTsICNUMzUgwPi/5bTPpbml7AorK6S7pPOku6SkICNKTiDA6MC4CisrpLuk86S7pKSkv6S5pLGkxiAjSk4gwOjAuKGqvfWksaTGoaoKKyuku6TzpLukpKTVpLWk1qTEICNKTiDA6MC4pNWktaTWpMQKKyuku6TzpLukpKTWpMSk1qTEICNKTiDA6MC4pNakxKTWpMQKKyuku6TzpL2kpiAjVDM1IDEwMDDB6AorK6S7pPOkzqSmpLek5aSmpKukpCAjVDM1IMD2x769uLLxCisrpLuk86TipPOkpKS/ICNUMzUgwOzM58jECisrpLykw6TIpK0gI0pOIKPatPoKKyukvKTDpMikt6StICNUMzUgo9q8sAorK6S8pMOkyKS/pLEgI1QzNSCj2snwCisrpLykw6TIpMGk46TzpM2k66SmpPOkqKSkpLik8yAjSk4gWmNosb+xxL/YCisrpLyk1aShobykoqTzpMGk46TzICNKTiClvKXVpaGhvKSipPOkwaTjpPMKKyukvKTtICNUMzUgMAorK6S8pO2k76TzICNUMzUgzu2w7QorK6S8pPOkxKSmICNUMzAgwbTEzAorK6S8pPOkxKSmICNUMzUgwbTEzAorK6S8pPOk6SAjVDM1IMG0zecKKyukvKTzpOmkv6SkICNUMzUgwbTN58LiCisrpL2hvKS5ICNUMzUgpb2hvKW5CisrpL2hvKS5pM8gI0NKIKW9obyluaTPoakKKyukvaG8pMek4qTKpKSk6CAjSk4gpL2hvKTHpOKkyqSkpOgKKyukvaG8pMqkziAjSk4gpb2hvKXKpc4KKyukvaSkpL8gI0NOIKS9yMQKKyukvaSkpL8gI1QzNSCkvcjECisrpL2kpqSrICNUMzUgwdiyvQorK6S9pKakr6TEICNUMzUgweO3ogorK6S9pKaksaSkICNLSyDB4bfECisrpL2kpqSxpKQgI1QzNSDB4bfECisrpL2kpqSxpKSkuKTnpKakwSAjVDM1IMHht8S+5cPSCisrpL2kpqSzICNUMzUgwdK4yworK6S9pKaks6SkpK0gI0NKIMHSuMvAwqStCisrpL2kpqSzpKSkrSAjVDM1IMHSuMu51KStCisrpL2kpqSzpKYgI0pOIMHiub8KKyukvaSmpLOk0KTzICNUMzUgwdK4y8jWCisrpL2kpqS0pKakuaTspMOkySAjVDM1IMHtueeluaXspcOlyQorK6S9pKaktaSkICNUMzUgwe262worK6S9pKakt6TnpK8gI1QzMCDB9b7+CisrpL2kpqS4pPMgI0pOIMHiv84KKyukvaSmpLkgI1QzNSClvaG8pbkKKyukvaSmpMGk56SmpOykuSAjVDMwIMHhxKul7KW5CisrpL2kpqTHpOKkyqSkpOggI0NKIKS9pKakx6TipMqkpKToCisrpL2kpqTHpOKkyqSkpOggI0pOIKS9pKakx6TipMqkpKToCisrpL2kpqTIpKYgI1QzNSDB7cX9CisrpL2kpqTPpKSkq6TzpLakrSAjQ0ogpL2kpqTPpKS/wLrqCisrpL2kpqTqpL2kpqTqpOOkryAjVDM1IMHPzfjBz86sCisrpL2kq6SkICNUMzAgwcKzqworK6S9pK+ktyAjVDM1IMKou+AKKyukvaSvpLekuaTsICNUMzUgwqi74KW5pewKKyukvaSvpLekz6TzpMakpCAjVDM1IMKou+DIvcTqCisrpL2kr6TbpKYgI0NKIMKuyvOhqgorK6S9pK+k7KS5ICNUMzAgwqil7KW5CisrpL2kr6TspLkgI1QzNSDCqKXspbkKKyukvaTLobykv6SkpN6hvCAjVDM1IKW9pcuhvKW/paSl3qG8CisrpL2ky6SkpL+kpKTepKIgI1QzNSClvaXLobylv6Wkpd6hvAorK6S9pMykraTlpKak06TzICNKTiClvqXMtd7K2AorK6S9pM4gI0pOIKS9pM4KKyukvaTOpLMgI0pOILHxu9IKKyukvaTOpMSkr6SrpKSkt6TjICNUMzUgodakvaHXpM6kxKSvsvG80gorK6S9pNCk0KTQobyk8yAjSk4gpb2l0KXQpdAtpfMhISEKKyukvaTQpNCk0KG8pPMgI0pOII6/jsqO3o7Kjt6Oyo7eLY7dISEhCisrpL2k0KTQpNChvKTzICNKTiCOv47Kjt6Oyo7ejsqO3o6wjt0hISEhCisrpL2k06SopMggI0pOIKW9pdOlqKXICisrpL2k1aTepMOk1yAjSk4gpb2l1aXepcOl16GhCisrpL2k3KSvpMqkrqTiobyk8yAjQ0ogwcfL0aTKpK6k4qG8pPMKKyukvaTepOqk5KSspKSkuaTppOCky6S9pN6k6qTkICNDSiClvaXepeql5KSspaSluaXppeCky6S9pN6k6qTkCisrpL2k6aSkpOAgI0pOIKW9pemlpKXgCisrpL2k6aTKpKSk7yAjSk4gpb2l6aXKpaSl7worK6S9pOmkzaG8pMek6CAjSk4gpb2l6aXNobylx6XoCisrpL2k6aTNobyk6CAjSk4gpb2l6aXNobyl6AorK6S9pOmkzaG8pOikq6TzpKSk0KTzICNKTiClvaXppc2hvKXotMqw18jHCisrpL2k6aTfpL+ks6TIpKsgI0pOIKS9pOm4q6S/pLOkyKSrCisrpL2k6qTDpMmk4qTKobykryAjSk4gpb2l6qXDpcmhpqXipcqhvKWvCisrpL2k7KSspMqky6SrICNKTiClvaXspaylyqHhpculqworK6S9pPMgI0pOUyDCuQorK6S9pPOktKSvpKYgI1QzNSDCubjntvUKKyukvaTzpLekzqTPpL+kuKTrpLcgI0pOIMK5u9KkzrT6sPUKKyukvaTzpMqkzqS3pMOkwaTnpOykriAjSk4gpL2k86TKpM7DzqTDpcGl56Xspa4KKyukvaTzpMqk0KTKpMqkrqSzICNKTiCkvaTzpMql0KXKpcqlrqWzCisrpL2k86TepLWk6KS3ICNKTiDCucC1tcEKKyukvqSkpMmkpKS/ICNDTiClvqWkpcnIxAorK6S+pKSkyaSkpL8gI1QzNSClvqWkpcnIxAorK6S+pLkgI0NKIKW+pbkKKyukvqTLpMOkryAjSk4gpL6ky6TDpK8KKyukvqTLpMOkr6TApPOkt6TjpK8gI0pOIKS+pMukw6Svw8u83worK6S+pMukw6SvpMCk86S3pOOkr6SipOuk1aShICNKTiCkvqTLpMOkr8PLvN+mwQorK6S+pMukw6SvpMCk86S3pOOkr6Smoauko6SvpMik6qG8ICNKTiCkvqTLpMOkr8PLvN9WCisrpL6kzCAjSk4gpL6kzAorK6S+pMwgI0pOIKW+pcwKKyukvqTMICNUMzUgpL6kzAorK6S+pMyhvKTUobwgI0pOIKW+pcyhvKXUobwKKyukvqTMpLak4aSkpL+k86TGpKQgI0pOIKS+pMyhpqW2oabMwsO1xOUKKyukvqTMpLek46TBpOekpiAjSk4gpL6kzLzSxLkKKyukvqTMpMOkxqTrICNDSiCkvqTMpMOkxqTrCisrpL6kzKTWpLcgI1QzNSCkvqTMyfoKKyukvqTMpN6kt6TzICNKTiCkvqTMpd6lt6XzCisrpL6kzSAjVDM1IKS+pM0KKyukvqTgICNKTiClvqXgCisrpL6k7aTQpPMgI1QzNSClvqXtpdCl8worK6S/ICNLNSC/5gorK6S/ICNLSiC/5gorK6S/obyk8yAjSk4gjsCOsI7dCisrpL+kpCAjSk4gwuQKKyukv6SkICNUMzUgwuQKKyukv6Skobyk2yAjQ0ogpb+lpKisqKyorKisfHymtXwofKGtfKelfGB8KXymtXx8qKyorKisqKyl2worK6S/pKShvKTbICNDSiClv6WkqKyorKisqKyhw6HDprWhw6HKocOhrKHDos+hw6GsocOhy6HDprWhw6HDqKyorKisqKyl26GqoaqhqgorK6S/pKShvKTbICNDSiCOwI6yqKyorKisqKx8fKa1fCh8jt98os98jt98KXymtXx8qKyorKisqKyOziEhIQorK6S/pKSkrSAjVDM1IMLntaQKKyukv6SkpLekq6TzICNUMzUgwue7yLTbCisrpL+kpKS3pOekpqS3pOekpqTvpK6ksyAjSk4gwufAtb68z8K1vLjFCisrpL+kpKTBpOekpiAjQ0ogwuLEuaGqCisrpL+kpKTIpOuk0KTKobwgI1QzNSClv6Wkpcil66XQpcqhvAorK6S/pKSk4CAjVDM1IFRJTUUKKyukv6SkpOCk0aTppMmkw6SvpLkgI1QzNSClv6WkpeCl0aXppcmlw6WvpbkKKyukv6SkpO+k8yAjVDM1IKW/paS4pAorK6S/pKukrKTdpPOktaTspMmk3aTzICNDSiCkv6SrpKyl3aXzpLWk7KTJpd2l8worK6S/pKuktaStpN+k7yAjSk4gueK66sj+z8IgCisrpL+kq6S1pPMgI0pOTSClv6WrpLWk8worK6S/pKuktaTzICNUMzUgpb+lq6S1pPMKKyukv6SrpLekr6TzpLiksaTzICNLSyCkv6SrpLe3r7v2t+8KKyukv6SrpLekr6TzpLiksaTzICNUMzUgpL+kq6S3t6+79rfvCisrpL+kq6S/pLek46TBpOekpiAjSk5TIKS/pKukv7zSxLkKKyukv6SrpL+kt6TjpMGk56SmICNKTlNVQyCkv6SrpL+80sS5CisrpL+kq6TPpLek6KS3ICNUMzUgueK2ts2zCisrpL+kq6TppK6ksyAjSk4gpb+lq6Xppa6lsworK6S/pK+koqTzpOKkyqG8ICNKTiCkv6SvpKKk86XipcqhvAorK6S/pK+kraTlpKYgI1QzNSDC8LXlCisrpL+ksKTBpMukw6StICNUMzUgxcS4/cb8ta0KKyukv6SxpLekr6TzICNKTk0gpL+ksaS3t68KKyukv6SxpMCkraS+pMwgI0pOIMnwxcS1s6S+pMwKKyukv6SxpMCkraTQICNKTiDJ8MXEtbPHzworK6S/pLGkwKStpNCksKTzpMCk8yAjVDM1IMnwxcS1s8fPt7PDxAorK6S/pLGk1aS4pM6kt6G8pKik4CAjSk4gyfDJ2bvOpM6jw6PNCisrpL+ks6S1pNAgI1QzNSB0YWtvu6oKKyukv6SzpM2ksyAjSk4gpb+ls6TNpLMKKyukv6SzpM2ksyAjSk4gpb+ls6TNpLMgCisrpL+kt6TtICNKTlMgxcTC5QorK6S/pLek7SAjVDM1IMXEwuUKKyukv6S3pO2kw6SvICNLSyClv6W3pe2lw6WvCisrpL+kt6TtpNukpiAjVDM1IMXEwuXLpAorK6S/pLek7aTepLWktyAjSk4gxcTC5aTepLWktyAKKyukv6S3pO2k3qTEpOogI1QzNSDFxMLlutek6gorK6S/pLik5aSmICNUMzAgwr+9xQorK6S/pLik5aSmpMikpqSzpKYgI1QzMCDCv73Fxeq5xgorK6S/pLmko6TtpLkgI1QzNSClv6W5paOl7aW5CisrpL+kvaSspOwgI0tLIMOvyOAKKyukv6S9pKyk7CAjVDM1IMOvyOAKKyukv6S9pL2kraG8pL0gI0NKIKW/pb2lvaWtobylvQorK6S/pL2kvaStobykvSAjQ0ogjsCOv46/jreOsI6/CisrpL+kvaS9pK2hvKS9ICNKTiAojt+iz47fKY7Ajr+Ov463jrCOvworK6S/pL2kvaStobykvSAjSk4gpb+lvaW9pa2hvKW9IAorK6S/pL2kvaStobykvSAjSk4gjsCOv46/jreOsI6/IAorK6S/pL8gI0s1ciDDoQorK6S/pL+krSAjVDM1IMOhpK0KKyukv6S/pK8gI0s1ciDDoaSvCisrpL+kwKStpMGktaTzICNKTiDD6bXIpLWk8worK6S/pMCkraTBpLWk8yAjSk4gw+m1yKS1pPMgCisrpL+kwKTOICNUMzUgVEROCisrpL+kwKTzpK+ktyAjVDM1IMK/w8q2+gorK6S/pMOkraTlpKYgI1QzNSDC8LXlCisrpL+kxqSipOmktyAjVDM1IM6ppMa506TppLcKKyukv6TGpMqkqqS3ICNUMzUgzqmkxsS+pLcKKyukv6TGpMuksiAjVDMwIM6ppMbGqKSyCisrpL+kxqTopN8gI1QzNSC9xMbJpN8KKyukv6TKpKsgI0pOIMXEw+YKKyukv6TKpKsgI0pOUyDFxMPmCisrpL+kyqSrpNWkoaTzpL+kuKSkICNUMzUgxcTD5qXVpaGl86W/pbihvAorK6S/pMqkq6TipMqk5CAjSk4gxcTD5qXipcrM6QorK6S/pMqk0KS/pKikyaSmpO2kpqTipMqhvCAjSk4gvLfNvLOopMmkpqTtpKal4qXKobwKKyukv6TLpLak76TJpKak1qTEpNOk56SmpKSk8yAjVDM1IMOr37fGsMqqycKxoQorK6S/pM0gI1QzNSC87worK6S/pM2kwaTlpKYgI1QzNSC877/fCisrpL+kzaTKpLcgI0pOILzvzLWktworK6S/pM2kyqS3ICNUMzUgvO/MtaS3CisrpL+k0CAjS0sgwqsKKyukv6TQICNUMzUgwqsKKyukv6TQpLik56SmpLuk8yAjVDM1IMKrvuXA/gorK6S/pN6ktCAjVDM1ILbMu9IKKyukv6TepMGk46TzICNKTiClv6XepMGk46TzCisrpL+k36TkICNLSyClv6XfpeQKKyukv6TgpOmk6qTnpKaksyAjSk4gxcTCvM68u9IKKyukwKThpN0gI0NKIKGyfKGxfKH7CisrpMCk4aTdICNDSiBvcnoKKyukwKThpN0gI0NKIF9ubworK6S/pOKk6iAjSk4gpb+l4qXqCisrpL+k6SAjS0sgw60KKyukv6TpICNUMzUgw60KKyukv6TppLMgI1QzNSClv6XppbMKKyukv6TqpK2kwaTjpPMgI1QzNSDCvs7PpMGk46TzCisrpL+k6qTQpPMgI0NOIKW/perIxAorK6S/pOqk0KTzICNUMzUgpb+l6sjECisrpL+k6qTQpPOkv6TtpKYgI1QzNSClv6XqpdCl88LAz7oKKyukv6TrpLGkqCAjVDM1IKW/peulsaG8CisrpL+k7KTfpN+k4qTKobwgI0pOIKS/pOy8qqXipcqhvAorK6S/pO2kpiAjU1VDIMLAz7oKKyukv6TtpKYgI1QzNSCh+6H7wsDPugorK6S/pO+k6SAjVDM1IFRBV0FSQQorK6S/pPMgI1NVQyClv6XzCisrpL+k8yAjU1VDII7Ajt0KKyukv6TzpK2k5aG8ICNDSiClv6Xzpa2l5aG8CisrpL+k86StpOWhvCAjQ0ogjsCO3Y63jq2OsAorK6S/pPOkraTlpKYgI0NKIKW/pfOlraXlobwKKyukv6TzpK2k5aSmICNDSiCOwI7djreOrY6wCisrpL+k86S9pK2hvKTzICNDSiAooaaiz6GmKaW/pfOlvaWtobyl8yAKKyukv6TzpL2kraG8pPMgI0NKICihpqLPoaYpjsCO3Y6/jreOsI7dIAorK6S/pPOkvaStobyk8yAjQ0ogKKGsos+hrCmlv6W9pb2lraG8pb0gCisrpL+k86S9pK2hvKTzICNDSiAojt+iz47fKY7Ajr+Ov463jrCOvyAKKyukv6TzpL2kraG8pPMgI0NKIKW/pfOlvaWtobyl8yAKKyukv6TzpL2kraG8pPMgI0NKII7Ajt2Ov463jrCO3SAKKyukv6TzpL2kraG8pPMgI0pOICihpqLPoaYpjsCO3Y6/jreOsI7dCisrpL+k86S9pK2hvKTzICNKTiClv6Xzpb2lraG8pfMgCisrpL+k86S9pK2hvKTzICNKTiDA3b+3sN0KKyukv6TzpL2kraG8pPMgI0pOII7Ajt2Ov463jrCO3SAKKyukv6TzpL2kr6TkpK+ktiAjSk4gw7vCrY7UjriOu47eCisrpL+k86TdpN2kvaTzpLcgI0pOILP3uPix0cK6u9UKKyukwKG8pOSkuSAjSk4gpcChvKXkpbkKKyukwKG8pOSkuSAjVDM1IKXAobyl5KW5CisrpMChvKTkpLmkraTOpLMgI0pOIKXAobyl5KW5pa2lzqWzCisrpMCkoqTkpLkgI0pOIKXAobyl5KW5CisrpMCkpKSqpKak0qS1pN4gI1QzNSDC57KmyN7NzQorK6TApKSkq6TzpLKk8yAjVDM1IMLntNS4tQorK6TApKSktaSvICNKTiDC57ruCisrpMCkpKS3pOWk6qTnpKakraTzpLCkvqG8pMwgI0pOIMLnvPPOzqWtpfOlsKW+obylzAorK6TApKSkt6TzpKuk86SzpOqk86S6ICNKTiDC57/AtLGls6XqpfOlugorK6TApKSkt6TzpKuk86TGpMqhvCAjSk4gwue/wLSxpcalyqG8CisrpMCkpKS3pPOkq6TzpOKk0qTjICNKTiDC57/AtLGl4qXSpeMKKyukwKSkpLuk86S7pKQgI1QzNSDC58DowLgKKyukwKSkpMikpqSipMakpKSzpK8gI0tLIMLnxeywocTrufEKKyukwKSkpMikpqSipMakpKSzpK8gI1QzNSDC58XssKHE67nxCisrpMCkpKTLpMGk5aSmpNykpqSkpL8gI1QzNSDC6DK/38u8yMQKKyukwKSkpMukwaTlpKak3KSmpKSkvyAjVDM1IMLoo7K/38u8yMQKKyukwKSkpNCkr6TPpMQgI0pOIMLnx/rIrworK6TApKakvSAjVDMwIKXApaalvQorK6TApKakvSAjVDM1IKXApaalvQorK6TApKak8yAjVDMwIKXApaalvQorK6TApKak8yAjVDM1IKXApaalvQorK6TApKak8yAjVDM1IKXApaal8worK6TApKykvaTspKykpKSkICNDSiCkwKSspL2k7KSspKSkpAorK6TApLGkySAjU1VDIKTApLGkyQorK6TApLGkyaTKpMukq6S3pMSk4qTzpKKk6yAjQ0ogpMCksaTJoaKyv6SrvMHM5KSipOuhqQorK6TApLGkz6SrpPOk2aTzpLekxqSvpMCktaSkICNDSiCkwKSxpM+0qsrbpLekxqSvpMCktaSkCisrpMCktaSkpL+k3iAjVDM1IKXApbWlpKW/pd4KKyukwKS5pNmkp6TAICNKTiC90KS5pNmkp8LACisrpMCkuaTsICNUMzUgwsyluaXsCisrpMCkuaTspLek5aSmpOikpqS4pOcgI1QzNSDCzKW5pey8/c3GveoKKyukwKS7obyk6CAjSk4gpcClu6G8pegKKyukwKS9pMogI0pOIKXApb2lygorK6TApMOks6TBpOWkpiAjVDM1IKTApMOks7/fCisrpMCkw6TIpKSkrSAjQ0ogZGF0wMKkrQorK6TApMOkyKSkpK2ktaTmpOogI0pOIERBVMDCpK26tM20zf0KKyukwKTDpMikqqTBICNDSiBkYXTN7qTBCisrpMCk1qTrpKSkq6TkpK2kvaTQICNKTiClwKXWpeukpKSrvsakraS9pNAKKyukwKTWpOuk3qG8pMEgI1QzNSCj16PNo8Gj0qPDo8gKKyukwKTepLekuaTsICNUMzUg8dmkt6W5pewKKyukwKTepOyks6S+pKYgI0pOIKXApd6l7KWzpb6lpgorK6TApN+koqTzICNUMzUgpcCl36Wipb0KKyukwKTfpKKk8yAjVDM1IKXApd+loqXzCisrpMCk36SipPMgI1QzNSClwKXfpeSlvQorK6TApOAgI0pOIKK6ocqhpqbYoaahy6K7CisrpMCk4CAjSk4gwszMtQorK6TApOAgI1QzNSDCzMy0CisrpMCk4CAjVDM1IMLMzLUKKyukwKThpKuhvCAjQ0ogwszM3KSrobwKKyukwKThpKukoiAjQ0ogwszM3KSrobwKKyukwKThpLmk7KTDpMmkq6TzpOqkraSzpKYgI0pOIMLMzNyOvY7ajq+OxI7etMnN/bWhub0KKyukwKThpMqk5KTEpM+kyqTLpPKk5KTDpMakwKThICNDSiCkwKThpMqk5KTEpM+yv6TypOSkw6TGpOLCzMzcCisrpMCk4aTKpOSkxKTPpMqky6TypOSkw6TGpOKkwKThICNDSiCkwKThpMrF26TPsr+k8qTkpMOkxqTipMCk4QorK6TApOGkyqTkpMSkz6TKpMuk8qTkpMOkxqTipMCk4SAjSk4gpMCk4aTKxdukz7K/pPKk5KTDpMak4qTApOEKKyukwKThpNCksyAjVDM1IKXApeHIogorK6TApOGk3KTDpK+kuSAjVDM1IKXApeGl3KXDpa+luQorK6TApOik4qTzICNUMzUgpMCk6KTipPMKKyukwKTrpN6k4qTKobwgI0pOIKTApOuk3qXipcqhvAorK6TApOuk3qTipMqhvCAjSk4gpMCk66TepeKlyqG8IAorK6TApOykpKTkpM2k8yAjSk4gwsTO7rKwx7ChoQorK6TApOykuSAjVDM1IMLMpeyluQorK6TApOyk4qSkpMqkpKS5pOyk0qTIpOqk3KTDpMEgI0NKIMOvpOKkpKTKpKSluaXsoaOk0qTIpOqk3KTDpMEKKyukwaG8pLqksaG8pK0gI0pOII7BjrCOvY7ejrmOsI63IAorK6TBobyk4KTLpMGk46TzpM2k6yAjS0sgpcGhvKXgo7KkwaTjpPOkzaTrCisrpMGko6TipMqhvCAjSk4gpMGko6XipcqhvAorK6TBpKekraTKICNUMzUgpcGlp6WtpcoKKyukwaSnpMGkp6TzICNUMzUgpcGlp6XBpael8worK6TBpKekwyAjSk4goaWhpaGlKKGtp6mhrqHLjsGOqo6vCisrpMGkp6TDICNKTiCkwaSnpMMKKyukwaSrpK+k2KTzpMmkpiAjVDMwIMPPs8zK0cawCisrpMGkq6SvpNik86TJpKYgI1QzNSDDz7PMytHGsAorK6TBpKuksiAjSk5NIKXBpaulsgorK6TBpKuksiAjSk5NILfsscYKKyukwaSrpLIgI0pOTSDG/bHGCisrpMGkq6SyICNUMzUgpcGlq6WyCisrpMGkq6SyICNUMzUgt+yxxgorK6TBpKuksiAjVDM1IMb9scYKKyukwaSrpLmk7CAjVDM1IMPPsryluaXsCisrpMGkq6TzICNUMzUgw9S0wQorK6TBpKuk86THpMOkwaSipLIgI1QzNSDD1LTBpMekw6TBvuWksgorK6TBpK2k86TsobykuSAjVDM1IKXBpa2l86XsobyluQorK6TBpK2k86TspKikuSAjVDM1IKXBpa2l86XsobyluQorK6TBpLKhvKToICNKTiClwaWyobyl6AorK6TBpLSkpKTNICNDSiClwaW0paSlzQorK6TBpLek56SmICNUMzUgw9O+wgorK6TBpLogI1QzNSDDz7/eCisrpMGkv6TNobyk6CAjSk4gpcGlv6XNobyl6AorK6TBpMGk56TzpN6k86TBICNKTiCkwaTBpOek86TepPOkwQorK6TBpMOk0aTzICNLSyCkwaTDpNGk8worK6TBpMakpCAjS0sgw8/E7AorK6TBpMakpCAjVDM1IMPPxOwKKyukwaTGpKSk4qTKICNKTiDDz8TspOKkygorK6TBpM2k0KG8ICNKTiClwaXNpdChvAorK6TBpNCksqTzpLik8yAjVDM1IMDpzdW4tr/NCisrpMGk0KS3pLek4yAjVDM1IMPUx8274LzUCisrpMGk0KTIpN+k8yAjVDM1IMDpzdXF1MyxCisrpMGk0KTppK0gI0NOIKXBpdCl6aWtCisrpMGk0KTppK0gI1QzNSClwaXQpemlrQorK6TBpNCk6aSuICNDTiClwaXQpemlrgorK6TBpNCk6aSuICNUMzUgpcGl0KXppa4KKyukwaTTpK6ksyAjSk4gpMGk06WupbMKKyukwaTTpK6ks6TWpOogI0pOIKTBpNOlrqWzpdal6gorK6TBpNOkt6SjICNKTiCkwaTTpLekoworK6TBpNOk1aS1ICNKTiClwaXTpdWltQorK6TBpNOk4qTppOmhvCAjSk4gpcGl06Xipeml6aG8CisrpMGk4aSkICNUMzUgw8/MvgorK6TBpOOkpCAjSk4goaGhoSwuXy4soaEKKyukwaTjpKQgI0pOII7BjqyOsqGhCisrpMGk46TWpMCkpCAjSk4gpMGk46TWwuYKKyukwaTjpNakwKSkICNKTiCotaisqLUKKyukwaTjpNakwKSkpKSkyaSmICNKTiCkwaTjpNbC5rDcxrAKKyukwaTjpOAgI0pOIKXBpeOl4AorK6TBpOOk4CAjVDM1IKXBpeOl4AorK6TBpOOk86SzICNKTiClwaXjpfOlsworK6TBpOOk86SzpN6kuaTAICNUMzUgpcGl46XzpbPB/cXECisrpMGk46TzpLOk7SAjVDM1IKXBpeOl86Wzpe0KKyukwaTjpPOktaTeICNTVUMgpMGk46Tzzc0KKyukwaTjpPOktaTeICNUMzUgpMGk46Tzzc0KKyukwaTlobykwaTlobykvaTzpLAgI0tLIKTBpOWhvKTBpOWhvKW9pfOlsAorK6TBpOWhvKTcobwgI0pOIKXBpeWhvKGmpdyhvAorK6TBpOWhvKTcobykx6S5pOggI0pOIKXBpeWhvKXcobykx6S5pOihqgorK6TBpOWkpiAjVDM1IL/fCisrpMGk5aSmpKuk6qTnpKak6qTtpNyku6TzpLOkpqS3pOMgI0pOIMPmstrOwc39pe2l3MDoudS81AorK6TBpOWkpqSspK+ku6SkpMGkz6TrICNUMzUgw+az2MC4pMGkz6TrCisrpMGk5aSmpLGkpCAjVDMwIMPmt9EKKyukwaTlpKaksaTzICNKTiDD5rf4CisrpMGk5aSmpLGk8yAjVDM1IMPmt/gKKyukwaTlpKaks6SqpPOkyiAjVDM1IMPmuMW99worK6TBpOWkpqTBpOWkpqS9pPOksCAjVDM1IKTBpOWhvKTBpOWhvKW9pfOlsAorK6TBpOWkpqTWpOukqqTzpMogI1QzNSDD5rjFvfcKKyukwaTlpKak3KSmICNUMzUgv9/LvAorK6TBpOWkpqTcpKaksKTzpMCk8yAjVDM1IL/fy7y3s8PECisrpMGk5aSmpNykpqTqpMuk5aSmpOqk56SvICNLSyC/38u8zqXG/b+pCisrpMGk5aTXICNUMzUgpcGl5aXXCisrpMGk5aTXpL+k8yAjVDM1IKXBpeWl16W/pfMKKyukwaTlpNekv6TzICNUMzUgjsGOrY7Mjt+OwI7dCisrpMGk5iAjSk4gpMGk5gorK6TBpOak4qTKICNKTiCkwaTmpOKkygorK6TBpOekpKTOpOogI1QzNSClwaXnpaSlzqXqCisrpMGk56SmpKqk7KSwpOuk3iAjSk4gxLaytrzWCisrpMGk56SmpLukpKTJpMOkyCAjSk4gLgorK6TBpOekpqS7pKSkyaTDpMggI0pOIMS0wLClyaXDpcgKKyukwaTnpKaku6TzpLek4yAjSk4gxKnA77zUCisrpMGk56SmpLuk86S7pKQgI0pOIMS2wOjAuAorK6TBpOekpqS7pPOku6SkICNUMzUgxLbA6MC4CisrpMGk56SmpMukwaS3pPOk1qTzICNLSyCkwaTnpKaky6TBv7fKuQorK6TBpOekpqTLpMGkt6TzpNak8yAjVDM1IKTBpOekpqTLpMG/t8q5CisrpMGk56SmpNWkr6S5pOwgI1QzNSC9xcqjpbml7AorK6TBpOekpqTVpK+kuaTspMOkySAjVDM1IL3FyqOluaXspckKKyukwaTnpKak1qTzpOykuSAjVDM1IMS5yril7KW5CisrpMGk56SmpOykuSAjVDM1IMS5peyluQorK6TBpOekpqTtpKYgI0pOIMS5z7cKKyukwaTnpKak7aSmICNUMzUgxLnPtworK6TBpOekr6TqpPMgI1QzMCDEvqXqpfMKKyukwaTnpK+k6qTzpK8gI1QzMCDEvqXqpfOlrworK6TBpOekt6TlpLWk8yAjVDM1IKXBpeelt6XlpbWl8worK6TBpOekt6TlpLWk8yAjVDM1II7Bjq6OvI6tjruO3QorK6TBpOekvSAjVDM1IKXBpeelvQorK6TBpOekvSAjVDM1II7Bjq6OvworK6TBpOekw6TRpOogI1QzNSClwaXnpcOl0aXqCisrpMGk56TppM2hvKToICNKTiClwaXnpemlzaG8pegKKyukwaTnpOykrqS1pOmkwCAjSk4gpcGl56Xspa6ltaXppcAKKyukwaTnpPMgI1QzNSClwaXnpfMKKyukwaTnpPMgI1QzNSCOwY6ujt0KKyukwaTnpPOkpKTrpLek86TWpPMgI0tLIKXBpeel86Wkpeu/t8q5CisrpMGk56TzpKSk66S3pPOk1qTzICNUMzUgpcGl56XzpaSl67+3yrkKKyukwaTnpPOkyiAjQ0ogpcGl56XzpMoKKyukwaTppM2hvKToICNKTiClwaXppc2hvKXooaEKKyukwaTspLkgI1QzMCDD2aXspbkKKyukwaTspLkgI1QzNSDD2aXspbkKKyukwaTzICNUMzUgxL8KKyukwaTzICNUMzUgxMEKKyukwaTzpKuks6TfpMCk8yAjVDM1IMTBsM/DxAorK6TBpPOksiAjSk4gpcGl86WyCisrpMGk86SyICNUMzUgpcGl86WyCisrpMGk86SzpKqk86TJICNUMzUgpMGk86SzsrvGrAorK6TBpPOks6TgpK6k5aG8ICNDSiCkwaTzpLOk4KSupOWhvAorK6TBpPOks6TgpK6k5aSmICNDSiCkwaTzpLOk4KSupOWhvAorK6TBpPOkt6TjICNUMzUgxMG81gorK6TBpPOkuKTnICNUMzUgxMG99worK6TBpPOkvaSmICNUMzAgxMHB1QorK6TBpPOkvaSmpKKk6aS3ICNKTiDEwcH2udOk6aS3CisrpMGk86S9pKakuKTzICNUMzUgxMHB1b/NCisrpMGk86S9pKakwKTzICNUMzUgxMHB1cPECisrpMGk86S9pKakwKTzICNUMzUgxMHB9sPECisrpMGk86S9pKakySAjVDM1IMTBwdXF2worK6TBpPOkvaSmpNmk86S4pOcgI1QzNSDEwcHVyti96gorK6TBpPOkvaSmpOKk6aTpobwgI0pOIMTCwfal4qXppemhvAorK6TBpPOkx6SjpKQgI1QzNSDEwUQKKyukwaTzpNCk8yAjVDM1IMTByNcKKyukwaTzpNekpiAjS0sgxMHJ9worK6TBpPOk16SmICNLSyDExMnlpaYKKyukwaTzpNekpiAjVDM1IMTByfcKKyukwaTzpNekpiAjVDM1IMTEyeWlpgorK6TBpPOk16SvICNUMzUgxMHJ/gorK6TBpPOk3aG8ICNKTiChyqGmos+hpqHLjsGO3Y7Ojt+OsCEhCisrpMGk86TdobwgI0pOIMHdzt8hCisrpMGk86TdobwgI0pOII7Bjt2Ozo7fjrAhIQorK6TBpPOk3aS0pK2k1qTqICNKTiClwaXzpd2ltKWtpdal6gorK6TBpPOk3aTApPMgI1QzNSDEwcriw8QKKyukwqTjpPMgI0pOIKXCpeOl8worK6TCpPOkrqTnICNKTiCkwqTztfsKKyukw6TGpKSkpqSrpKahq6ShpKsgI0NKIKTDpMakpKSmpKuhoqX0paGlq6GpCisrpMOkxqSkpKakq6SmoaukoaSrICNDSiCkw6TGpKSkpqSroaKOs47ejqeOtqGpCisrpMOkxqSkpKakq6SmoaukoaSrICNDSiCkw6TGpKSkpqSroaKOs47ejqeOtqGpPj4KKyukxCAgI1I1ciDE4AorK6TEICNSNSDE4AorK6TEoauktaSvpMShq6SopL0gI0pOICg/os8/KQorK6TEoauktaSvpMShq6SopL0gI0pOIKXFpbWlr6XFpailvQorK6TEoauktaSvpMShq6SopL0gI0pOII7Cjt6Ou464jsKO3o60jr8KKyukxKG8ICNKTiCkxKG8CisrpMShvKSrICNDSiCkxKG8pKsKKyukxKG8pKukq6SzpO2ksKTopOEgI0pOIKTEobykq7Lhte6l7aWwxsmk4QorK6TEpKahq6ShpKQgI0pOIKXEpfSloaWkCisrpMSkpqS4pOekpqTOpLWk86TQpKQgI0NKIMTMvu+kzqOzx9wKKyukxKSmpLik56SmpM6ktaTzpNCkpCAjVDM1IMTMvu+kzqOzx9wKKyukxKSmpNukpqS3pN6kuaS/ICNUMzUgxMzK86S3pN6kuaS/CisrpMSkqyAjS0sgxM0KKyukxKSrICNUMzUgxM0KKyukxKStICNUMzUgt+4KKyukxKStpMGk5aSmICNUMzUgt+6/3worK6TEpK2kzqTPpLekuqSvICNKTiCkxKStpM6kz6S3pLqkrworK6TEpK2k0qThICNLSyC37smxCisrpMSkuCAjVDM1IKTOpM6kv6TzCisrpMSkuCAjVDM1IMTUCisrpMSkuKG8pPMgI0pOIMTUobyk8worK6TEpLihvKTzICNUMzUgxNShvKTzCisrpMSkuKSkpPMgI1QzNSDE1KG8pPMKKyukxKS4pKikrSAjSk4gxNSx2AorK6TEpM6k4qTKobwgI0pOIKTEpM6l4qXKobwKKyukxKTcICNDTiDE2worK6TEpNwgI1QzNSDE2gorK6TEpNwgI1QzNSDE2worK6TEpNyk3qS4pPOk36TLpMqky6TnpOqhvKTKICNKTiDE28viv82hpo7QjsaOxY7Gjq6O2I6wjsUKKyukxKTepPOkzSAjQ0ogpcSl3qXzpc0KKyukxKTiICNKTiClxKXiCisrpMSk5qTSpL8gI1QzNSCkxKTmpNKkvworK6TEpOmkpKSzpMik8qSqpOKkpqTipOmk6aG8ICNKTiC/yaSkpLOkyKTyu9ekpqXipeml6aG8CisrpMSk6iAjVDM1IMTgpOoKKyukxKTqpLcgI1QzNSDE4KTqu9UKKyukxKTrpNmkuKSxpPMgI1QzNSDE4cnTu/a37worK6TEpOykvyAjVDM1IMTgpOykvworK6TFobwgI0pOIKTFobwKKyukxqSjobwgI0pOIKP0oaEKKyukxqSjobykwCAjSk4gpcalo6G8pcAKKyukxqSjpKSkx6SjpKSkqKTMICNUMzUgVEROCisrpMako6SrpLIgI0pOTSClxqWjpaulsgorK6TGpKOkq6SyICNUMzUgpcalo6WrpbIKKyukxqSjpK2k46G8pLIgI1QzNSClxqWjpa2l46G8pbIKKyukxqSjpK2k46SipLIgI1QzNSClxqWjpa2l46G8pbIKKyukxqSjpNAgI1QzNSClxqWjpdAKKyukxqSjpNAgI1QzNSCOw46ojsqO3gorK6TGpKOk4KTdICNUMzUgpcalo6Xgpd0KKyukxqSjpOCk3aTOpO+krqTqICNUMzUgpcalo6Xgpd2kzs7YwNqk6gorK6TGpKOk4KTdpM6k76SupOogI1QzNSCOw46ojtGOzo7fpM7O2MDapOoKKyukxqSjpOCk3aTTpOsgI1QzNSClxqWjpeCl3aXTpesKKyukxqSjpPOk3SAjVDM1IKXGpaOl86XdCisrpMakpKStpLGk8yAjVDM1IMTqtPy39AorK6TGpKSkraTnpKYgI1QzNSDE47a4CisrpMakpKSzpK+k4aSkpMkgI0pOIMTr1KLMvcXTCisrpMakpKS3pOWkq6TzpNGkr6TipMqhvCAjSk4gxOK857TYx/Kl4qXKobwKKyukxqSkpLukxCAjVDM1IMTqwOIKKyukxqSkpMmk0qSvICNLWVQgxPjF2cTjCisrpMakq6TqpNakvyAjVDM1IKXGpaul6sbaCisrpMakraS4pOcgI1QzMCCkxqStpLik5worK6TGpK2kyCAjSk4gpcalraXICisrpMakr6TiICNLSyC86sPY6eEKKyukxqSvpOIgI1QzNSC86sPY6eEKKyukxqS5pMakuSAjQ0ogpMakuaTGpLkKKyukxqS9ICNKTiClxqW9CisrpMakvSAjSk4gjsOOvworK6TGpL0gI1QzNSClxqW9CisrpMakvSAjVDM1II7Djr8KKyukxqTDpLOkpqS3ICNUMzUgpcalw6WzpaaltworK6TGpMOku6TzpKukpCAjS0sg78TA8NDyCisrpMakw6S7pPOkq6SkICNUMzUg78TA8NDyCisrpMakw6TGpKSks6SmpLuk86S7pPOksqTzICNKTiDFsMTsubPA78DruMAKKyukxqTEICNUMzUgxbQKKyukxqTEpKqkv6S8pMOkyKS/pLGkoqTDpMik4aSkpMakxCAjSk4gxbSl8qW/o9rJ8ECmzMW0CisrpMakxKSqpL+kvKTDpMikv6SxpOGkpKTGpMQgI0pOIMW0pfKlv6PayfBApszFtAorK6TGpMSkzqSqpK2kxiAjVDM1IMW0pM7Z3QorK6TGpMaktyAjVDM1IKTGpMaktworK6TGpMqhvCAjSk4gpcalyqG8CisrpMak1aTGpNUgI0pOIKTGpNWkxqTVIAorK6TGpOGkp6TipMqhvCAjSk4gpcal4aWnpeKlyqG8CisrpMak66SvpM+kzqTrICNUMzUgpMak66SvpM+kzqTrCisrpMak7KTbICNUMzUgpcal7KXbCisrpMak7KTbpLek5aSmpOqk56SmICNUMzAgpcal7KXbvarOuworK6TGpOyk26TepPMgI0pOIKXGpeyl26XepfMKKyukxqTspNuk6aTDpLek5SAjVDM1IKXGpeyl26XppcOlt6XlCisrpMak7aSopOqhvKTKICNKTiClxqXtpail6qG8pcoKKyukxqTzpLekqKTzICNDSiDFt7vIseoKKyukxqTzpLekqKTzICNUMzUgxbe7yLHqCisrpMak86TOpKYgI0pOIMW3ucQKKyukxqTzpNek7CAjVDM1IKXGpfOl16XsCisrpMak86TdpMOkxiAjS1Mgpcal86XdpMOkxgorK6THpKKk66SrICNDSiCkx6GipKKk66SrCisrpMekoyAjSk4gpMekoworK6THpKOhvKS4pKehvKTipMqhvCAjSk4go8SjyqXipcqhvKGhCisrpMeko6G8pN0gI1QzNSCjxKXdCisrpMeko6SipMqktaTeICNKTiClx6WjpaKlys3NCisrpMeko6SqpOKk6aTzpMmhvCAjSk4gpcelo6Wqoaal4qXppfOlyaG8CisrpMeko6SqpPOksKTzICNUMzUgRElPTrezCisrpMeko6TrpOykpqGrpKGk86SsobwgI0pOIKXHpaOl66XspfSloaXzpayhvAorK6THpKOk66TspKahq6ShpPOkrKSiICNKTiClx6Wjpeul7KX0paGl86WsobwKKyukx6SkpMikpKTspMChvCAjVDM1IKXHpaSlyKWkpeylwKG8CisrpMekpKTIpKSk7KTApKIgI1QzNSClx6WkpcilpKXspcChvAorK6THpKahqyAjSk4gREVWVQorK6THpKahqyAjSk4gpOCkt6TjpOCkt6TjocqhoaGtocunpaHKoa6hyworK6THpKik86TRpN+k86S+pK8gI1QzNSClx6G8pfOl0aXfpfOlvqWvCisrpMekqKTzpNGk36TzpL6kryAjVDM1II7Djt6OsI7djsqO347Qjt2Ov47ejrgKKyukx6SrpMGk56SmpKKk86TJpKukuiAjSk4gpcelq8S5ofWlq6W6CisrpMekrKTvICNKTlMgvdDA7gorK6THpKyk7yAjVDM1IL3QwO4KKyukx6SspO+k0qTDpLekwKTipL0gI1QzNSC90MDuyay74KXApeKlvaGqCisrpMeksyAjSk4gxswKKyukx6SzICNUMzUgxswKKyukx6S4pOKkyqTGpKSk3qG8pLqk7aS0ICNKTiClx6W4peKlyqXGpaSl3qG8pbql7aW0CisrpMekuSAjU1VDIERFQVRICisrpMekuSAjU1VDIKXHpbkKKyukx6S5pK+kyKTDpNeks6SmpKukpKS5pOwgI1QzNSClx6W5pa+lyKXDpde4+LOrpbml7AorK6THpLmksaTJpMqky6SrICNDSiCkx6S5pLGkyaGisr+kq6GpCisrpMekuaTHpLkgI0NKIKTHpLmkx6S5CisrpMekuaTIpO2kpKS1pN4gI0pOIKXHpbmlyKXtpaTNzQorK6THpL2k0SAjVDM1IKXHpb2l0QorK6THpNWkqaTrpMikyqTKpLcgI1QzNSClx6XVpaml66XIzL7MtaS3CisrpMek1qSqpL8gI1QzNSClx6XWpfKlvworK6THpNakraTzICNKTiClx6XWpa2l8worK6THpNakwKTKobwgI0pOIKXHpdalwKXKobwKKyukx6TWpO2k86SyICNUMzUgpcel1qXtpfOlsgorK6THpNak8qS/ICNUMzUgpcel1qXypb8KKyukx6TWpPKkv6TSpMOkraG8ICNUMzUgpcel1qXypb+l0qXDpa2hvAorK6THpNak8qS/pNKkw6StpKQgI1QzNSClx6XWpfKlv6XSpcOlraG8CisrpMek2KTpobwgI0pOIKXHpdil6aG8CisrpMek3KS5pLqk4SAjSk4gpcel3KS5pLqk4QorK6THpN6kwSAjVDMwIL3QxK4KKyukx6TepMEgI1QzNSC90MSuCisrpMek6KTtpLekpKSrICNDSiCkx6TopO2kt6SkpKsKKyukx6TqICNSNSClx6XqCisrpMek6qSrpLcgI0pOIKXHpeqhyqGtp9dgoculq6W3CisrpMek86StpKqkpiAjSk4gxcW1pLKmCisrpMek86SypK2k0KTBpNCkwSAjSk4gpMek86SypK2l0KXBpdClwQorK6THpPOkt6TjpKaktyAjSk4gxcW81rXtCisrpMek86S3pOOkrKSipOsgI1QzNSDFxbzWpayhvKXrCisrpMek86S3pOOkrqTlpKYgI0pOIMXFvNa17QorK6THpPOku6TEpK2k56S4pPOkpKTHpNukvSAjSk4gxcHA4rXwv8COso7Djt6Ozo6/CisrpMek86S/pN4gI1QzNSDFxLbMCisrpMek86TEpKYgI1QzNSDFxTIKKyukx6TzpMggI1QzNSDFxMXUCisrpMek86TJpO0gI1QzNSDFxMWlCisrpMek86TLICNUMzUgxcUyCisrpMek86TRICNUMzUgpcel86XRCisrpMek86TRICNUMzUgxcXHyAorK6THpPOk0aSqpM+kyqTQpL+ksaSkpL8gI1QzNSDFxcfIoaakqrLWyKrIxAorK6THpPOk0aStpLek4yAjVDM1IMXFx8i1rbzUCisrpMek86TRpK2k46TpICNUMzUgxcXHyKWtpeOl6QorK6THpPOk0aTBpOekpqS1pKSk86TipMqhvCAjSk4gxcXHyMS0urqw96XipcqhvAorK6THpPOk0aTIpLcgI1QzNSDFxcfIxdS71AorK6THpPOk0aTLpMGk46TzICNUMzUgxcXHyDJjaAorK6THpPOk0aTLpMGk46TzpM2k6yAjVDM1IMXFx8gypMGk46TzpM2k6worK6THpPOk0aTipOmk6aG8ICNKTiDFxcfIpeKl6aXpobwKKyukx6TzpNGk6aSkpL+koiAjVDM1IMXFx8il6aWkpb+hvAorK6THpPOk0aTypL8gI1QzNSDFxcfIpfKlvworK6TIICNTVUMgpMihoworK6TIobyk26SwICNDTiClyKG8pdulsAorK6TIobyk26SwICNUMzUgpcihvKXbpbAKKyukyKSkpKaks6TIpMukt6S/pKSkzqTHpLmkzSAjQ0ogpMikpKSmpLOkyKTLpLekv6SkpM6kx6S5pM0KKyukyKSkpKaks6TIpMukt6S/pKSkzqTHpLmkzSAjQ0ogpMikpKSmpLOkyKTLpLekv6SkpM6kx6S5pM2hozopCisrpMikpKTDpMakqqSvpK6k6iAjQ0ogpMi4wKTDpMakqqSvtcHN/QorK6TIpKSkw6TGpN+k66TGpLmkyCAjQ0ogpMi4wKTDpMak36TrpcaluaXICisrpMikpaS2pKahq6SjpK+kyKTqobwgI0pOIKXIpaWltqX0paOlr6XIpeqhvAorK6TIpKYgI1QzNSDF4worK6TIpKakq6SkICNDTiDF3bL1CisrpMikpqSrpKQgI0NOIMXss6QKKyukyKSmpKukpCAjS0sgxd2y9QorK6TIpKakq6SkICNUMzUgxd2y9QorK6TIpKakq6SkICNUMzUgxeyzpAorK6TIpKakraTlpKakwaTlpKYgI1QzNSDF7LXev98KKyukyKSmpK2k56SmICNKTiDF7LX+CisrpMikpqStpOekpiAjVDM1IMXstf4KKyukyKSmpK2k56SmpKKkr6S7pLkgI0tLIMXstf6loqWvpbuluQorK6TIpKakraTnpKakraTGpKOkpCAjVDM1IMXstf5raXR0eaHKofej97nTCisrpMikpqStpOekpqS4pKik8yAjSk4gpcilpqWtpeelpqW4pail8worK6TIpKakraTnpKaku6SkpLek86TTpOekpqSkpPMgI0pOIMXstf7Aur/AycKxoaGhCisrpMikpqStpOekpqTIpLukpKS9pKakraTnpK8gI0pOIMXstf7F1MC2wd22yQorK6TIpKakraTnpKakyKTqpMSk3qTEpLak76TTpOekpqSkpPMgI0pOIMXstf7F1M6pvr7C9MnCsaEKKyukyKSmpLWk8yAjVDMwIMnjpLWk8worK6TIpKakuKTnpKaku6TzICNUMzUgwqu+5cD+CisrpMikpqTApKSkqqTBICNUMzUgxezC583upMEKKyukyKSmpM+kyCAjS0sgxezItworK6TIpKakz6TIICNUMzUgxezItworK6TIpKak1qTBpOWkpiAjVDM1IMXsyfC/3worK6TIpKak1qTYpMOkySAjVDM1IMasyfSl2KXDpckKKyukyKSmpNuksCAjVDM1IKXIobyl26WwCisrpMikpqThpKSkoqTcobyk8yAjVDMwIMapzMCkoqTcobyk8worK6TIpKak4aSkpKKk3KSqpPMgI1QzMCDGqczApKKk3KG8pPMKKyukyKSmpOiks6TIpMOkraTlpKakz6TepKSky6TBpNyk7aSkpMEgI0NKIMXssqPGw7XepM/L6Mb8pdyl7bvUIQorK6TIpKikpKTQpLkgI0pOIMXUscSl0KW5CisrpMikqqTipO+k7CAjQ0ogpMi716TvpOyhoworK6TIpKqk4qTvpOyk4SAjQ0ogpMi716Xvpeyl4QorK6TIpK2k5aTzICNUMzUgpMilraXlpfMKKyukyKSvpMCks6SmpKSkwSAjSk4gxsHFxLnMsOwKKyukyKSvpMakpKTqpOekq6SvICNUMzUgxsPE6s65tdIKKyukyKSvpMuk86SupOekpqS7pKSkt6TnpLcgI0pOIMbDx6e51MCvvfG7zgorK6TIpK+ky6TzpK6k56SmpLukpKS3pOektyAjS0sgxsPHp7nUwK+98bvOCisrpMikr6ThpKQgI1QzNSDGv8y+CisrpMikr6ThpKSkr6S3ICNUMzUgxr/Mvrb6CisrpMikr6ThpKSksaSkpLik0KTzICNUMzUgxr/MvrfHvKjIxAorK6TIpLGkzaG8pOggI0pOIKHKoaymx6GsocuhoaXIpbGlzaG8pegKKyukyKSxpM2hvKToICNKTiClyKWxpc2hvKXoCisrpMiks6TtpMcgI0NKIKTIpLOk7aTHCisrpMiks6TtpPOkyKTBpOOk6qTUpKukoSAjSk4gpcils6XtpfOlyKXBpeOl6qXUpauloaGqCisrpMiktyAjVDM1IMXUu9QKKyukyKTApMogI1QzNSC4zcOqCisrpMikw6StpOWkpqS+pMyktKSmICNKTiDGw7XepL6kzLnmCisrpMikw6TGpOKkv6ThpMukyqTrpKqkz6TKpLcgI0pOIKTIpMOkxqTipL+k4aTLpMqk66Sqz8MKKyukyKTDpMikyKSkpK+kqiAjSk4gpMikw6TIpMjAwsnXCisrpMikxKSypK0gI1QzNSDGzbfiCisrpMikxKSypK2ksqTDpL+hvKS6ICNKTiC348bNpbKlw6W/obylugorK6TIpMSksqStpMGk5aSmICNUMzUgxs234r/fCisrpMikyqSrpKQgI0pOII7EjsWOto6yCisrpMik06S5pK2hvKTkobyk4qTKobwgI0pOIMj0pNOluaWtobyl5KG8peKlyqG8CisrpMik1CAjVDM1IKXIpdQKKyukyKTepMggI1QzNSB0b21hdG8KKyukyKTgICNKTiClyKXgCisrpMik4SAjVDM1IKXIpeEKKyukyKTipOik4qTKobwgI0pOIMPOwKSl4qXKobwKKyukyKTkpN4gI1QzNSClyKXky+IKKyukyKTkpN4gI1QzNSCOxI7Uy+IKKyukyKTkpN6k86SzICNUMzUgpcil5KXepfOlsworK6TIpOSk3qTzpLMgI1QzNSCOxI7Ujs+O3Y66CisrpMik6KTPpLekt6TfpPMgI1QzNSDLrba2u9TMsQorK6TIpOmkpqTeobwgI0pOICh8fI7fp6WO3ymOxI7XjrOOz46wCisrpMik6aSmpN6hvCAjSk4gpcil6aWmpd6hvAorK6TIpOmkpqTeobwgI0pOII7EjteOs47PjrAKKyukyKTppK+k86SipPOkyaSrpNekr6TzICNKTiCkyKTppK+k86H1pKuk16SvpPMKKyukyKTppK+k86SipPOkyaSrpNekr6TzICNKTiCkyKTppK+k86H1pKuk16SvpPMgCisrpMik6aTpobwgI0pOIKXIpeml6aG8CisrpMik6iAjQ04gxLsKKyukyKTqICNDTiDG0worK6TIpOogI0tLIMbTCisrpMik6iAjVDM1IMS7CisrpMik6iAjVDM1IMbTCisrpMik6qSzpOEgI0NOILzopOq5/qThCisrpMik6qSzpOEgI0NOIMS7ysYKKyukyKTqpLOk4SAjVDM1ILzopOq5/qThCisrpMik6qSzpOEgI1QzNSDEu8rGCisrpMik6qS1pPMgI0pOIKXIpeqktaTzCisrpMik6qTDpNcgI1QzNSClyKXqpcOl1worK6TIpOqkyKTIpPOkx6SkpOuk4qTppOmhvCAjSk4gxLukyMj0pPOkx6SkpOul4qXppemhvAorK6TIpOqkz6TgICNUMzUgxLukz6TgCisrpMik7KSrpOEgI1QzNSClyKXspaul4QorK6TIpPMgI1QzNSCtxQorK6TIpPOkraTzICNDTiClyKXzpa2l8worK6TIpPOkraTzICNUMzUgpcil86WtpfMKKyukyKTzpMGk46TipPMgI0tLIKXIpfOlwaXjpeKl8worK6TIpPOkwaTjpOKk8yAjVDM1IKXIpfOlwaXjpeKl8worK6TIpPOkyaTrICNDSiClyKXzpcml6worK6TIpPOkyaTrICNDSiCtxa3LCisrpMik86TJpOsgI0pOIK3FrcsKKyukyKTzpNqkpCAjVDM1IKXIpfOl2qWkCisrpMmhvKTipK+k8yAjVDM1IKTJobyk4revCisrpMmkpKSoICNKTiClyaWkpagKKyukyaSkpKggI1I1IKXJpaSlqAorK6TJpKSkqCAjVDM1IKXJpaSlqAorK6TJpKSkxKTipMqhvCAjSk4gpcmlpKXEpeKlyqG8CisrpMmkpqS3pLek46S0pK2k1qTqICNKTiDGsbvWvNKltKWtpdal6gorK6TJpKakuKTzICNUMzUgxrG/zQorK6TJpKakuKTzpKqk86TKICNUMzUgxrG/zb33CisrpMmkpqTGpKQgI1QzNSDGuMTnCisrpMmkpqTHpOKkpKSkpMukwCAjSk4gpMmkpqTHpOKkpKSkpculwAorK6TJpKakx6TipKSkpKTkobwgI0pOIKXJpaalx6XipaSlpKXkobwKKyukyaSmpMek4qSkpKSk5KS9pPOkyqSzpMggI0pOIKTJpKakx6TipKSkpKTkoaKkvaTzpMqks6TIoaoKKyukyaSmpMek4qSkpKSk6CAjSk4gpMmkpqTHpOKkpKSkpOgKKyukyaSmpOKkuaTfpN6ku6TzICNKTiClyaWmpeKluaXfpd6lu6XzCisrpMmkpqTipLmk36TepLuk8yAjSk4gjsSO3o6zjtOOvY7Qjs+Ovo7dCisrpMmkpqToICNDSiCkyaSmpOgKKyukyaSmpOggI1NVQyCkyaSmpOgKKyukyaSmpO2kuKTnpKak26SmpNKk56SmpLik0KTzICNKTiDGu8+pvvDK88m9vKjIxAorK6TJpKmhvKG8pPMgI0pOIKXJpamhvKG8pfOhqqGqoaoKKyukyaSpobyhvKTzMiAjSk4gpcmlqaG8obyl86GqoaqhqqOyCisrpMmkraTlpL0gI1QzNSBEUVMKKyukyaStpOWkvSAjVDM1IKXJpa2l5aW9CisrpMmkraTlpL2kqqSmpLOkr6TLpMOk3aTzICNKTiClyaWtpeWlvbKmufHG/MvcCisrpMmkraTlpL2kqqSmpLOkr6TLpMOk3aTzICNKTiCOxI7ejreOrY6/sqa58cb8y9wKKyukyaStpOWkvaTBpOOk8yAjSk4gjsSO3o63jq2Ov6TBpOOk8worK6TJpK2k5aTiICNLSyClyaWtpeWl4gorK6TJpK2k5aTiICNUMzUgpcmlraXlpeIKKyukyaStpOWk8yAjVDM1IERKTgorK6TJpK2k5aTzICNUMzUgo8Sj0aPOCisrpMmkraTlpPMgI1QzNSClyaWtpeWl8worK6TJpK2k5aTzpMqkq6SkpLek4yAjVDM1IKXJpa2l5aXzpMqy8bzSCisrpMmkr6SqpMiksyAjVDM1IMbHw8sKKyukyaSvpLek86TGpKSkqqSmICNKTiDGyL/IxOuypgorK6TJpK+kuKS/ICNUMzUgpMmkr6S4pL8KKyukyaSvpL0gI1QzNSDGx8HHCisrpMmkr6TIpKYgI0NOIMbIxecKKyukyaSvpMikpiAjVDM1IMbIxecKKyukyaSvpMik66TepOkgI0pOIKXJpa+lyKXrTQorK6TJpLOk1KG8ICNUMzUgpcmls6PQCisrpMmks6TUpKQgI1QzNSClyaWzUAorK6TJpLmkpiAjVDM1IMXZv/QKKyukyaS7pKSktaTzICNKTiDF2sCxpLWk8worK6TJpMakwaTlobwgI1QzNSClyaXGpcGl5aG8CisrpMmkxqTBpOWkpiAjVDM1IKXJpcalwaXlobwKKyukyaTWpM2kuqTfICNUMzUgucLBzQorK6TJpOAgI1QzNSCjxKPPo80KKyukyaThpOukySAjSk4gpcml4aXrpckKKyukyaTpICNKTiClyaXpCisrpMmk6aSopOKk86TVpK+k4qTIpNWkqaG8pOAgI0pOIKXJpemkqKTipPPKocvcpdWlqaG8peAKKyukyaTppLSk8yAjVDM1IKXJpemltKXzCisrpMmk6aS0pPOkqqSopLmkyCAjVDM1IKXJpemltKXzpaqlqKW5pcgKKyukyaTppLSk86S5pMikw6TXICNUMzUgpcml6aW0pfOluaXIpcOl1worK6TJpOmkw6StpMqhvCAjSk4gpcml6aXDpa2lyqG8CisrpMmk6qTBpPMgI1QzNSClyaXqpcGl8worK6TJpOqk66TBpPOkwaTzICNUMzUgpcml6qXrpMGk86TBpPMKKyukyaTrpKik4KSkpKQgI1QzNSAkTUUKKyukyqSipLmkpqSjpMOkwaSzpOCkrqTBpOOk8yAjVDM1IKXKobyluaWmpaOlw6XBvq7H/qTBpOOk8worK6TKpKSkuaTKpNikw6TJpNWkqaTzICNUMzUgpcqlpKW5pMql2KXDpcml1aWppfOhqgorK6TKpKggI0tTILDgpKggCisrpMqkqCAjVDM1ILDgpKggCisrpMqkqKTKpKSk7yAjSk4gpcqlqKXKpaSl7worK6TKpKqk6qTzICNUMzUgpMqkqqTqpPMKKyukyqSrpKak6aTvpM6k26S3ICNUMzUgw+axus/CpM7AsQorK6TKpKukuKG8pNShvCAjVDM1IKTKpKtHUAorK6TKpKukuKSkpNSkpCAjVDM1IKTKpKtHUAorK6TKpKukv6SzICNKTiCkyqSrpL+ksworK6TKpKukv6SzICNUMzUgpMqkq6S/pLMKKyukyqSrpL+k3qS0ICNUMzUgpMqkq83xCisrpMqkq6TApLcgI1QzMCDD5sXEu+EKKyukyqSrpMSkrqSrICNUMzUgw+a30aSust0KKyukyqSrpM6k0qTIICNUMzUgw+akzr/NCisrpMqkrKS3pL2kpqThpPMgI0pOIM6upLekvaSmpOGk8worK6TKpKyk1qTzpM6kq6TzpL2kpqTipLik7KS5pOakpqTJpKakoqS5pK2hvKSiobykyCAjSk4gxLnKuKTOtLbB28q4u/ql7KW5zbbGs6PBo8EKKyukyqSwpMGk46TzpM2k6yAjVDM1IKTKpLCkwaTjpPOkzaTrCisrpMqksqS5pMak66TipMqhvCAjSk4gxeqksrzOpMak66XipcqhvAorK6TKpLSk5KSxpPMgI1QzNSDMvrjFsrC4qQorK6TKpLekwKSkICNUMzUgzLXC5worK6TKpL6kzqS7pKSk4aSkpL+kpCAjSk4gxuakzsC4zL/CzgorK6TKpL6kzqTLpNuk86S4pPMgI0pOIMbmpM7G/Mvcv80KKyukyqTDpMEgI0pOIKHKofyhraG8oa6h/KHLCisrpMqkw6TBICNKTiCkyqTDpMEKKyukyqTDpMEgI1QzNSCkyqTDpMEKKyukyqTDpMEgI1QzNSCwwsfcCisrpMqkw6TBpKKk6qSspMikpiAjQ0ogpMqkw6TBpKKk6qSspMikpiih/KGtobyhrqH8KQorK6TKpMOkwaTipMqhvCAjSk4gpMqkw6TBpeKlyqG8CisrpMqkw6TBpOUgI1QzNSCkyqTDpMGk5QorK6TKpMOkwaTlpKYgI1QzNSDHvL/fCisrpMqkxKTBpOWkpiAjVDM1ILLGv98KKyukyqTEpMGk5aSmpNykpiAjVDM1ILLGv9/LvAorK6TKpMSk3KSmICNUMzUgssbLvAorK6TKpMSk4SAjSk4gpcqlxKXhCisrpMqkyqS1pPMgI0pOIKO3pLWk8worK6TKpMqkt6S1pPMgI1QzNSDMvsy1pLektaTzCisrpMqkyqS3pLWk86TXpOmkuqTeICNKTiDMvsy1pLektaTzpdel6aW6pd4KKyukyqTKpOGkpqSoICNUMzUgvNCk4b7lCisrpMqkyqThpKukw6SzpM+k86TApK+kxqTzpL+hvKTzpKihvKTPpPOkwKSvpMak86SrpMOks6TIpLikyqTKpOGk16TrpMOk0aTbpLcgI0pOIKHAKKGsos+hrCmhv6XXpeulw6XRofkKKyukyqTKpOGkq6TDpLOkz6TzpMCkr6TGpPOkv6G8pPOkqKG8pM+k86TApK+kxqTzpKukw6SzpMikuKTKpMqk4aTXpOukw6TRpNuktyAjSk4gocAojt+iz47fKaG/jsyO347Zjq+Oyo7fofkKKyukyqTLpKSkw6TGpOuk1aThpKQgI0NKILK/uMCkw6TGpOvJ1MzACisrpMqky6SrICNLSyCyv6SrCisrpMqky6SrICNUMzUgsr+kqworK6TKpMukq6SipOsgI0NKIKTKpMukq6SipOuhqQorK6TKpMukq6TLpKqk06SopOukrqSzICNKTiAoKKGojt+npY7fKY62jt6OuI62jt6OuI7Mjt6O2Y7Mjt6O2QorK6TKpMukq6TLpKqk06SopOukrqSzICNKTiCyv6SrpMu2saSopOulrqWzCisrpMqky6S1pN4gI0pOILK/zc0gCisrpMqky6S1pN4gI1QzNSCyv83NCisrpMqky6TfpMak86TApOiktaTrICNKTiCyv7irpMak86TApOix7gorK6TKpMuk56TqobykyiAjSk4gjsWOxo6ujtiOsI7FCisrpMqkzqTpICNTVUMgpMqkzqTpCisrpMqkzqTppKIgI0NKIKTKpM6k6aHBCisrpMqk3qSipKSk1KSkICNUMzUgwLhJUAorK6TKpN6koqS/pL+kq6SvpN+k3qTipOsgI0NKIKTKpN7DyKSrpK+4q7zppOsKKyukyqTepLMgI1QzNSCkyqTepLMKKyukyqTepLOk16TspKQgI1QzNSCkyqTepLOl16XspaQKKyukyqTepOKkziAjVDM1IKXKpd6l4qXOCisrpMqk36SrpOwgI0NKIKXKpd+lq6XsCisrpMqk36TApMek3qSopKyk36SopN6ku6TzICNDSiDO3qTHwbCkrLirpKik3qS7pPOhqgorK6TKpOAgI0pOIKXKpeIKKyukyqThpK+kuCAjSk4gpcql4aWvpbgKKyukyqTkpN+kuaSupOukyKTPpLKk6yAjVDM1IMe6pN+kuaSupOukyMbFpLKk6worK6TKpOakraSwpOuk3iAjSk4gzL7A47zWCisrpMqk6qStpOqkuaTsICNUMzUgpMqk6qStpOqluaXsCisrpMqk6qS5pN4gI1M1ciCkyqTqpLmk3gorK6TKpOqkv6TIpMOk16TtpKqkySAjSk4gpMqk6qS/pMikw6TXpO2kqqTJCisrpMqk6qS/pMikw6TXpO2kqqTJICNKTiCkyqTqpL+kyKTDpNek7aSqpMkgCisrpMqk6qTQpPMgI1QzNSClyqXqpdCl8worK6TKpOykoiAjVzUgxuuk7LnnCisrpMqk7KSipKQgI1QzNSDG66TsueekpAorK6TKpO0gI0NKIKTKpO0KKyukyqTzpKyk86TGpKSkraSipMQgI0pOIMbutN/E47WksLUKKyukyqTzpLGkpKTQICNUMzUgpMqk87alx88KKyukyqTzpMCkq6TKobykoqTzpMmktaSkpLOhvKTAICNKTiClyqXzpcClq6XKobyh9aW1paSls6G8pcAKKyukyqTzpMCkq6TzpMAgI0NKIKTKpPOkwKSrpPOkwCAKKyukyqTzpMSkw6S/pOqkt6TGICNDSiCkyqTzpMSkw6S/pOqkt6TGCisrpMqk86TIpKSkpqSzpMikx6S3pOekpiAjQ0ogpMqk86TIpKSkpqSzpMikx6S3pOekpgorK6TKpPOk0KSipLmkr6SmpOsgI1QzNSClyqXzpdChvKW5pa+hvKXrCisrpMqk86TfpPMgI1QzNSDG8cyxCisrpMqk86TfpPOkpKS/ICNUMzUgxvHMscjECisrpMqk86TipLik4aTypL+kxqTopN+kuaTrpM4gI0NKILK/yri7+szcpPK9xMbJpN+kuaTrpM6hqQorK6TLICNUMzAgvarF3worK6TLICNUMzUgMgorK6TLICNUMzUgvarF3worK6TLobwgI0pOIKXLobwKKyuky6G8pKSkwaTopPOkuKSxpPMgI1QzNSCjsqGmo7GjtLv2t+8KKyuky6SkpMGk5aSmICNUMzUgbnm/3worK6TLpKSkw6TUpOekpiAjQ0ogpMuw7Mm8CisrpMukraSzpKYgI1QzNSDG87T8ubsKKyuky6StpNOkrKTHpK2kv6TipMqhvCAjSk4gpculraXTpKy90M3opL+l4qXKobwKKyuky6SvpLOkw6TXpPOkr6SoICNDSiCly6WvpbOlw6XXpfOlr6WoIQorK6TLpK+ks6TDpNek86SvpKggI0NKII7GjriOuo6vjsyO347djriOtCEKKyuky6SvpLOkw6TXpPOkr6SoICNKTiCly6WvpbOlw6XXpfOlr6WoIQorK6TLpK+ks6TDpNek86SvpKggI0pOII7GjriOuo6vjsyO347djriOtCEKKyuky6SvpLOk16G8pPMgI0NKICihpqLPoaYppculr6WzpdehvKXzIAorK6TLpK+ks6TXobyk8yAjQ0ogKI6los+OpSmOxo64jrqOzI7fjrCO3SAKKyuky6SvpLOk16G8pPMgI0NKIKXLpa+ls6XXobyl8worK6TLpK+ks6TXobyk8yAjQ0ogjsaOuI66jsyO346wjt0KKyuky6SvpLOk16G8pPMgI0pOICiOpaLPjqUpjsaOuI66jsyO346wjt0KKyuky6SvpLOk16G8pPMgI0pOIKXLpa+ls6XXobyl8worK6TLpK+ks6TXobyk8yAjSk4gjsaOuI66jsyO346wjt0KKyuky6SvpM+k86TLpOMgI0tLIMb5yMy84worK6TLpK+kz6TzpMuk4yAjVDM1IMb5yMy84worK6TLpK+k2aTzpK0gI1QzNSDG+crYtO8KKyuky6SypMOkyCAjSk4gMqWypcOlyAorK6TLpLKkxqSnpMuksqTGpKeky6SypMakp6TPpOSkr6TLpLKkxqSnpMMgI0pOIMaopLKkxqSnxqiksqTGpKfGqKSypMakp8HhpK/GqKSypMakp6XDoaoKKyuky6SzpOykw6TIICNKTiCly6Wzpeylw6XICisrpMuktyAjSk4gxvO74AorK6TLpLcgI0pOUyDG87vgCisrpMuktyAjVDM1IMbzu+AKKyuky6S3pL+k8yAjSk4gxvO74KW/pfMKKyuky6S3pL+k8yAjVDM1IMbzu+Clv6XzCisrpMukt6TGpMSk0KS5pLik46TDpK+kuKSxpPMgI0tLIMC+xbSl0KW5pbil46XDpa+79rfvCisrpMukt6TGpMSk0KS5pLik46TDpK+kuKSxpPMgI1QzNSDAvsW0pdCluaW4peOlw6Wvu/a37worK6TLpLek5aSmpM2k86SkpNmk86TIICNUMzUgo7K8/sevpaSl2aXzpcgKKyuky6S4pLKk8yAjVDM1IMbzvKG4tQorK6TLpLiksqTzpKqkvyAjVDM1IMbzvKG4taWqpb8KKyuky6S4pLKk86TypL8gI1QzNSDG87yhuLWl8qW/CisrpMukuKTlpKYgI1QzNSAyMAorK6TLpLik5aSmpMqkyqS3pK2kr6S9pLmk7KSvpMGkr6TGpKQgI0pOIDI3vLDKtaW5pey27sPgxPoKKyuky6S4pOWkw6TIpKakt6TzICNUMzUgMjDGrr/ACisrpMukuKTnpKakrKTvpOmkzqTppK+kt6TnICNUMzUgxvO+8rLPuLakzs3uvfEKKyuky6S7pKKk5iAjVDM1ILW2pKKk5gorK6TLpLukz6TrpMqkoqTzpMmkpqTLpOWkpqTqobykyiAjSk4gtba91braofWkpqTLpOWkpqXqobylygorK6TLpLuk4aTDpLsgI1QzNSC1tqXhpcOluworK6TLpLuk4qTKobwgI0pOILW2peKlyqG8CisrpMuku6TzpM6k76S2ICNDSiAyMDAwpM61uworK6TLpMChvCAjSk4gpculwKG8CisrpMukwKG8ICNKTiCOxo7Ajt6OsAorK6TLpMChvKS/pKSkpCAjSk4gpculwKG8wuew0worK6TLpMChvKTBpOcgI0pOIKXLpcChvKXBpecKKyuky6TApMChvCAjSk4gpculwKXAobwKKyuky6TApMChvCAjSk4gpculwKXAobwgCisrpMukwaTjpPMgI0NKIDJjaAorK6TLpMGk46TzICNDSiCjsqTBpOOk8worK6TLpMGk46TzICNUMzUgMmNoCisrpMukwaTjpPMgI1QzNSCjsqTBpOOk8worK6TLpMGk46TzpLWk0KSrpMOkxqTKpKuk86S3pLik5yAjVDM1IDJjaLuqvqG86qTKtMa7673qCisrpMukwaTjpPOkxqStpMukzyAjQ0ogo7Kj46Poxaqky6TPCisrpMukwaTjpPOkxqStpNKk56SmpKsgI1QzNSCjsqPjo+jFqsm+ssEKKyuky6TBpOOk86TNpOukr6S9pLmk7KTDpMmkxKSkpNukpqS7pPOku6TzICNKTiCjsqTBpOOk86TNpOvKtaW5peylw6XJxMnK/MDvwP4KKyuky6TBpOOk86TNpOuksKTzpN2kpqSspKSkriAjSk4go7Kj46Pot7PLobLxtcQKKyuky6TBpOOk86TNpOuktaTdobykyKS7pPOkv6G8ICNKTiCjsqTBpOOk86TNpOultaXdobylyKW7pfOlv6G8CisrpMukwaTjpPOkzaTrpLyk86SkpL+ky6TzpK2kyKSmpMqk4aTzpMggI1QzNSAypMGk46TzpM2k68G0yMS/zbWkpcihvKXKpeGl86XICisrpMukwaTjpPOkzaTrpL+koqTcICNUMzUgMqTBpOOk86TNpOulv6G8pdwKKyuky6TBpOOk86TNpOukxKSmICNUMzUgMmNoMgorK6TLpMGk46TzpM2k66TEpKYgI1QzNSAypMGk46TzpM2k6zIKKyuky6TBpOOk86TNpOukyqTKpMGk5aSmpKSkvyAjQ0ogo7KkwaTjpPOkzaTrvLe/38jECisrpMukwaTjpPOkzaTrpMqkyqTBpOWkpqSkpL8gI1QzNSCjsqTBpOOk86TNpOu8t7/fyMQKKyuky6TBpOOk86TNpOukyyAjVDM1IDJjaDIKKyuky6TBpOOk86TNpOukyyAjVDM1IDKkwaTjpPOkzaTrMgorK6TLpMGk46TzpM2k66TOpM+k86TWpPOkz6TNpL+kx6THpK2kxqSkpN6kuSAjQ0ogMqTBpOOk86TNpOukzsi+yqykz6XNpb+kx6THpK2kxqSkpN6kuQorK6TLpMGk46TzpM2k66TTpOWkpqSiICNUMzUgMqTBpOOk86TNpOul06XlobylogorK6TLpMGk46TzpM2k66TWpOmkpqS2ICNUMzUgMqTBpOOk86TNpOul1qXppaaltgorK6TLpMGk46TzpNak7aSwICNUMzUgMmNoLUJsb2cKKyuky6TBpOOk86TXpO2k0KSkpMCkoiAjVDM1IDJjaKXXpe2l0KWkpcChvAorK6TLpMGk46TzpOyk86ThpKQgI0pOIDKkwaTjpPPPoszBCisrpMukw6StICNKTiDG/LWtCisrpMukw6StICNUMzUgxvy1rQorK6TLpMOkraG8ICNKTiCly6XDpa2hvAorK6TLpMOkr6S3pPOku6SkICNUMzAgpculw6Wvv73AwQorK6TLpMOku6SkICNUMzUgpculw6W7paQKKyuky6TDpLukpCAjVDM1IMb8wMIKKyuky6TDpN2k86TPpM+k86S7pKSkt6TrICNDSiDG/MvcpM/Iv77KpLek66GqCisrpMukyKSmpLik56TmpKYgI1QzNSDG88X5vffNpQorK6TLpMikpqTYpKQgI0pOIMbzxfnKvAorK6TLpMikpqTYpKQgI1QzNSDG88X5yrwKKyuky6TLpMGk46TzpKykoqTDpL+k6aS3pOqhvKS6ICNTVUMgpMujsqTBpOOk86SspKKkw6S/pOmlt6XqobylugorK6TLpMukwaTjpPOkrKSipMOkv6TppLek6qG8pLogI1QzNSCky6OypMGk46TzpKykoqTDpL+k6aW3peqhvKW6CisrpMuky6TBpOOk86SspKKkw6S/pOmkt6TqpKSkuiAjVDM1IKTLo7KkwaTjpPOkrKSipMOkv6Tppbel6qG8pboKKyuky6TPpO+k6aTDpL8gI0NKIKTLpM++0KTDpL+hqgorK6TLpNuk86S1pPOkraTnpKakwKSkpKykryAjVDM1IMb8y9yjs7X+wuez2AorK6TLpNuk86S7pKSk4aSkICNLSyDG/MvcwLjMvworK6TLpNuk86TBpOOk8yAjS0sgpcul26XzpMGk46TzCisrpMuk26TzpMGk46TzICNUMzUgpcul26XzpMGk46TzCisrpMuk46SmICNKTiCky6TjpKahoQorK6TLpOSky6TkICNDSiCly6Xkpcul5AorK6TLpOSk6iAjQ0ogocqhsaG8obGhy6XLpeSl6gorK6TLpOSk6iAjQ0ogpcul5KXqCisrpMuk5KTqpMMgI0NKIKHKobGhvKGxoculy6XkpeqlwyAKKyuky6TkpOqkwyAjQ0ogocqhsaG8obGhy47GjtSO2I6vIAorK6TLpOSk6qTDICNKTiChyqGxobyhsaHLjsaO1I7Yjq8KKyuky6TkpOqkwyAjSk4gpcul5KXqpcMKKyuky6TkpOqkwyAjSk4gjsaO1I7Yjq8KKyuky6TlobykuaS5pMahvKS3pOek8yAjS0sgpcul5aG8pbmluaXGobylt6XnpfMKKyuky6TlpKakuaS9pK+k26SmpNek6aS5ICNUMzUgpcul5aG8pbnCrsrzKworK6TLpOWkpqS9pK+k16TppLmkraS3pOMgI1QzNSCly6XlobzCriu1rbzUCisrpMuk5yAjUlQgpMuk5worK6TLpOekpKSspL8gI1QzNSCly6XnpaSz4worK6TLpOekpKSspL8gI1QzNSCOxo6ujrKz4worK6TLpOekrKG8pPMgI0NKICiO36fVjt8pjsaOro62jt6OsI7dCisrpMuk56Ssobyk8yAjQ0ogpcul56Wsobyl8worK6TLpOekrKG8pPMgI0NKII7Gjq6Oto7ejrCO3QorK6TLpOekwaTzpMCk8yAjVDM1IL33xMHDxAorK6TLpOmkpKTgICNKTiCly6XppaSl4AorK6TLpOmkwaTjpKik66S7pKSk0KG8ICNKTiCly6XppcGl46Wopeulu6WkpdChvAorK6TLpOmkwaTjpMWk3iAjSk4gpcul6cPjusoKKyuky6TppMGk46TNpLMgI0pOIKXLpenD48etCisrpMuk6aTBpOOk4KS5pOEgI0pOIKXLpenD48y8CisrpMuk6aTgpLcgI0pOIKXLpenD7gorK6TLpOukz6G8pMuk46TzICNKTiCky6TrpM+hvKTLpOOk8worK6TLpO+kqyAjVDM1IKXLpe+lqworK6TLpO+kq6TppLek6qG8pLogI0NOIMTtpKuk6aW3peqhvKW6CisrpMuk76SrpOmkt6TqobykuiAjVDM1IMTtpKuk6aW3peqhvKW6CisrpMuk76SrpOmkt6TqpKSkuiAjVDM1IMTtpKuk6aW3peqhvKW6CisrpMuk86SkpL+k8yAjSk4gx6Sw1aS/pPMKKyuky6TzpLek8yAjS0sgx6W/sQorK6TLpPOkt6TzICNUMzUgx6W/sQorK6TLpPOkuKTjICNKTiCly6Xzpbil4worK6TLpPOkxqTzpMmkpqSrpKSksKTzpLOkpqSvpKakv6SkICNUMzUgx6TFt8ays6S3s7nStvXC4gorK6TLpPOk6aSkpPMgI1QzNSDHpqXppaSl8worK6TMobyk6yAjVDM1IKXMobyl6worK6TMpKakrKS/ICNDTiCkzKSmpKykvworK6TMpKakrKS/ICNUMzUgpMykpqSspL8KKyukzKSmpOsgI1QzNSClzKG8pesKKyukzKStpMqk3yAjRjA0IKTMpK2kyqTfCisrpMykraTKpN8gI1QzNSCkzKStpMqk3worK6TMpMOk2KTDpNuhvCAjQ0ogpcylw6XYpcOl26G8CisrpMykw6TYpMOk26G8ICNKTiAojqWiz46los+OpSmOx46vjs2Or47OjrAKKyukzKTDpNikw6TbobwgI0pOIKTMpMOk2KTDpNuhvAorK6TMpMOk2KTDpNuhvCAjSk4gpcylw6XYpcOl26G8CisrpMykw6TYpMOk26G8ICNKTiCOx46vjs2Or47OjrAKKyukzKTDpNikw6TbobwgI1QzNSAooaaiz6Gmos+hpimlzKXDpdilw6XbobwKKyukzKTDpNikw6TbobwgI1QzNSAojqWiz46los+OpSmOx46vjs2Or47OjrAKKyukzKTDpN2k8yAjVDM1IKXMpcOl3aXzCisrpMyk3qTDpK0gI0tLIKTMpN6kw6StCisrpMyk3qTDpK0gI1QzNSCkzKTepMOkrQorK6TMpOqkq6TZpOKkyqG8ICNKTiCkzKTqysml4qXKobwKKyukzKTrICNLWSClzKXrCisrpMyk66TdICNUMzUgpMyk66TdCisrpM0gI0NKIG5loaoKKyukzaG8pM4gI0pOIKXNobylzgorK6TNobyk6KSqpNakzaG8pOggI0pOIKXNobyl6KGmpaql1qGmpc2hvKXoCisrpM2hvKTopMmkpqThpKQgI0pOIKXNobyl6MaxzMEKKyukzaSoICNKTiCkzaSoCisrpM2kqKTNpKggI0NKIKTNpKekzaSnCisrpM2kqKTcpK+kuaS0pKSkx6S3pOcgI0pOIKTNpKik3KSvpLmktKSkpMekt6TnCisrpM2kqqSmpKak7aTzpMGk4yAjVDM1IKXNpaqxqM62w+MKKyukzaSqpL+kpKTGpKQgI0pOIKXNparC58TrCisrpM2kqqTgpK6kwaTjICNKTiClzaWqpOCkrsPjCisrpM2kqqTgpK6kwaTjICNKTiClzaWqx/7D4worK6TNpKuk3iAjVDMwIKXNpaul3gorK6TNpKuk3iAjVDM1IKXNpaul3gorK6TNpK4gI0NOIKTNpK4KKyukzaSuICNDTiClzaWuCisrpM2kriAjVDM1IKTNpK4KKyukzaSuICNUMzUgpc2lrgorK6TNpK+k7aTepOmk6aG8ICNKTiClzaWvpe2l3qXppemhvAorK6TNpLOkwKSkpLmkrSAjQ0ogpM2ks8LnuaWkrQorK6TNpLOk5KS3pK0gI0NOIMetsrDJ3worK6TNpLOk5KS3pK0gI1QzNSDHrbKwyd8KKyukzaS5ICNKTiClzaW5CisrpM2kuaSxpLek86S4pOMgI1QzNSClzaW5pbG/rrzUCisrpM2kuaTipMqhvCAjSk4gpc2luaXipcqhvAorK6TNpLqk36SqpMiksyAjSk4gpc2luqXfw8sKKyukzaS6pN+kz6TppOakpqS2pPMgI0pOIMHNuLbNuruwCisrpM2kvyAjVDM1IKXNpb8KKyukzaS/pLek56SvpMuk86S5pOwgI1QzNSClzaW/v6a/zaW5pewKKyukzaS/pLmk7CAjVDM1IKXNpb+luaXsCisrpM2kv6TApO0gI0NKIKXNpb+kwKTtoakKKyukzaS/pNCk6aS3pMGk5aSmICNUMzUgpc2lv6TQpOmkt7/fCisrpM2kwaSxpMOkyKS4pKSktaTzICNKTiClzaXBpbGlw6XIpLikpKS1pPOhoQorK6TNpMGkuqTzICNUMzUgpc2lwaW6pfMKKyukzaTBpLqk8yAjVDM1INnUpcGluqXzCisrpM2kwaTlpKYgI1QzNSClzb/fCisrpM2kwaTzICNUMzUgpc3EwQorK6TNpMOkyKTBpPMgI1QzNSBOZXTEwQorK6TNpMOkyKTXpOykpKTkpKIgI1QzNSClzaXDpcil16XspaSl5KG8CisrpM2kw6TIpOmk86TKpKIgI0tLIKXNpcOlyKXppfOlyqG8CisrpM2kyqTZICNUMzUgpc2lyqXZCisrpM2ky6TBpOqhvKTzICNKTiChyqGmos+hpqHLjsiOxo7BjtiOsI7dCisrpM2ky6TBpOqhvKTzICNKTiClzaXLpcGl6qG8pfMKKyukzaTLpMGk6qG8pPMgI1QzNSClzaXLpcGl6qG8pfMKKyukzaThpPOkyiAjQ0ogpM2k4aTzpMoKKyukzaTppKIgI1QzNSClzaXpobwKKyukzaTppPOkwaTlpKYgI1QzNSClzaXppfO/3worK6TNpOwgI0NKIL+ypOwKKyukzaTzpMGk46SvICNUMzUgx7TD5QorK6TNpPOkwaTjpK+kr6TzICNUMzUgx7TD5bevCisrpM2k86TWpMSkt6TlpKakyKSmpN+kq6SkICNLSyDHsMqpvaHFz7OksvEKKyukzaTzpNakxKS3pOWkpqTIpKak36SrpKQgI1QzNSDHsMqpvaHFz7OksvEKKyukzaTzpOqk56SmICNUMzUgx7POwQorK6TOobykwaTjpPMgI0pOIKTOobykwaTjpPMKKyukzqG8pM0gI0pOIKXOobylzQorK6TOpKKkqqS/ICNUMzUgpc6loqWqpb8KKyukzqSkpMOk0aTzpMakraTKpMikr6TBpOekpiAjU1VDIKTOsOzIzMWqpMrGw8SnCisrpM6kpqSrICNKTiDHwLLICisrpM6kpqStpOekpiAjVDM1IMfAtqgKKyukzqSmpMqkpCAjVDM1IMe+xuIKKyukzqSmpMqkpKSipNyhvKTzICNUMzAgx77G4qSipNyhvKTzCisrpM6kqqTIpPOku6TzpLukpCAjVDM1IKXOobylyKXzwOjAuAorK6TOpKqkyKTzpMik6aTDpNcgI1QzNSClzqG8pcil86XIpemlw6XXCisrpM6kqyAjQ0ogpM6kqworK6TOpKsgI1NVQyCkzqSrCisrpM6kq6G8ICNKTiClzqWrobwKKyukzqSwpL0gI1QzNSBOR1MKKyukzqS5pL+k66TPICNUMzUgpc6luaW/pevHyAorK6TOpM6kvaG8pOogI0pOIKTOpM7B7c39CisrpM6kzqS/pPMgI0pOIKTOpM6kv6TzCisrpM6kzqS/pPMgI1QzNSCkzqTOpL+k8worK6TOpM6kv6TzICNUMzUgxNQKKyukzqTTICNLU3Igv62k0worK6TOpNOkzqTTpLekv6TkpMQgI0pOIKTOpNOkzqTTpLekv6XkpcQKKyukzqTTpOek36TlpKKkoqTgICNKTiClzqXTpeel36XlpaKloaXgCisrpM6k06TnpN+k5aSipKKk4CAjSk4gjsmOy47ejq6O0I6tjrGOp47RCisrpM6k1qTkpNwgI1QzNSCkzqTWpOSk3AorK6TOpOikq6TzICNDSiCkzs29tLYhIQorK6TOpOmkyqTDpMEgI0pOIMzuzsmkyqTDpMEKKyukzqTppM2ksyAjSk4gzO7OycetCisrpM6k6iAjVDM1ILOkwt0KKyukzqTqpPIgI1QzNSClzqXqpfIKKyukzqTtpKSk3qSipLkgI0NKILz2pN6hvKS5CisrpM6k7aS+pKYgI1QzNSCkzqTtpL6kpgorK6TOpPOkuaTGICNUMzUgpc6l86W5pcYKKyukzyAjS0sgzdUKKyukzyAjVDM1IM3VCisrpM+koSAjQ0ogpc+loaGpCisrpM+koSAjSk4gocqh66eloespjsqOp6GpCisrpM+koSAjSk4gpc+loT8KKyukz6ShpM+koSAjQ0ogKDuhraeloa4ppc+loaXPpaEgCisrpM+koaTPpKEgI0NKICg7oa2npaGuKY7KjqeOyo6nIAorK6TPpKGkz6ShICNDSiClz6Whpc+loQorK6TPpKGkz6ShICNDSiCOyo6njsqOpworK6TPpKGkz6ShICNKTiAoO6Gtp6WhrimOyo6njsqOpworK6TPpKGkz6ShICNKTiClz6Whpc+loQorK6TPpKGkz6ShICNKTiCOyo6njsqOpworK6TPpKGkz6ShICNUMzAgpc+loaXPpaEKKyukz6ShpM+koSAjVDMwII7KjqeOyo6nCisrpM+koaTPpKGkyqTzpMakx6StpMqkpKToICNDSiCOyo6njsqOp6TKpPOkxr3QzeikyqSkpOihxAorK6TPpKGkz6ShpMqk86TGpMekraTKpKSk6CAjSk4gpc+loaXPpaGkyqTzpMa90M3opMqkpKToocQKKyukz6ShpM+koaTKpPOkxqTHpK2kyqSkpOggI0pOII7KjqeOyo6npMqk86TGvdDN6KTKpKSk6KHECisrpM+koiAjQ0ogpM+koaGpCisrpM+koiAjSk4gocqh66eloespjsqOp6GpCisrpM+koqTPpKIgI0NKIKXPpaGlz6WhCisrpM+kpKStpOcgI0NOIMfR1NIKKyukz6SkpK2k5yAjVDM1IMfR1NIKKyukz6SkpLmktKSkpLmktKSkICNKTiChs6HMjt+npY7foc3QqI7KjrKOvY66jt6Oso69jrqO3o6yCisrpM+kpKS5pLSkpKS5pLSkpCAjSk4gpc+lpKW5pbSlpKW5pbSlpAorK6TPpKSkuaS0pKSkuaS0pKQgI0pOII7KjrKOvY66jt6Oso69jrqO3o6yCisrpM+kpKS9pMqku6TspNaky6TepL+kpKTDpN0gI0NKIKXPpaSlvaTKpbul7KXWpMuk3qS/sOzK4rbhpMWkraTepLekv6THpLmhoworK6TPpKSkw6SkpL2kpiAjQ0ogxv6kw6SkpL2kpgorK6TPpKSkySAjSk4gpM+kpKTJCisrpM+kpKTJICNUMzUgpM+kpKTJCisrpM+kpKTgpMQgI1QzNSCzpaXgpcQKKyukz6SrobwgI1QzNSClz6WrobwKKyukz6SrobwgI1QzNSDK6KG8CisrpM+kq6SiICNUMzUgpc+lq6G8CisrpM+kq6SiICNUMzUgyuihvAorK6TPpKukriAjS0sgzdW4sAorK6TPpKukrqSkpL8gI0NOIM3VuLDIxAorK6TPpKukrqSkpL8gI1QzNSDN1biwyMQKKyukz6SrpK6kpKS/pLWkpKTipKikqqTIpLOkyKG8pMqk4aTzpMggI1QzNSDN1biwyMS6x8ezpKjDy6XIobylyqXhpfOlyAorK6TPpKukrqSkpL+ktaSkpOKkqKTIobykyqThpPOkyCAjS0sgzdW4sMjEusfLqKXIobylyqXhpfOlyAorK6TPpKukrqSkpL+ktaSkpOKkqKTIobykyqThpPOkyCAjVDM1IM3VuLDIxLrHy6ilyKG8pcql4aXzpcgKKyukz6SrpK6ku6TzpL2kpiAjVDM1IM3VuLDA78HoCisrpM+kq6SupMGk5aSmICNUMzUgzdW4sL/fCisrpM+kq6SupMOksyAjVDM1IM3VuLCkw7vSCisrpM+kraTlpKak8yAjQ0ogSFFOCisrpM+krqSkpL8gI0NOIMfryMQKKyukz6SupKSkvyAjVDM1IMfryMQKKyukz6SupO+k6SAjQ0ogKMfruLYKKyukz6SupO+k6SAjQ0ogx+u4tgorK6TPpK8gI1QzMCClz6WvCisrpM+kr6S9pOqhvKTKpNggI0pOIKTPpK+kvaXqobylyqTYCisrpM+kr6TApMSkwaTlpKYgI1QzNSDH7cOlv98KKyukz6SvpMEgI1QzNSDH8sPUCisrpM+ksKStICNKTiC79bfUCisrpM+ksKStICNUMzUgu/W31AorK6TPpLCk66TepKqkpiAjSk4gu/W81rKmCisrpM+ksKTrpN6k76TzpMGkp6TzICNKTiC79bzWpe+l86XBpael8worK6TPpLCk66TepO+k86TBpKek8yAjSk4gu/W81qXvpfOlwaWnpfOhyrK+vs6hyworK6TPpLCk7KTKpN6ksyAjVDM1IKTPpLCk7KTKpN6ksworK6TPpLGhvKTzICNUMzAgpc+lsaG8pfMKKyukz6Sxobyk8yAjVDMwII7KjrmOsI7dCisrpM+ksiAjVDM1ILuzsrwKKyukz6SypLekr6SvpM6kpKTBICNKTiC346S3pK+kr6XOsOwKKyukz6SypLekr6TApN+hvCAjSk4gt+Okt6SvpcCl36G8CisrpM+ksqS3pK+kyaSlpKSkqCAjQ0ogt+Okt6SvpcmlpaWkpaihqgorK6TPpLKkt6SvpMmkpqSkICNDSiC346S3pK/GsbDVoaoKKyukz6SypLekr6TJpKak0iAjQ0ogt+Okt6SvxrHI9KGqCisrpM+ksqS3pK+ky6TnpKakpCAjQ0ogt+Okt6Svx6Kw1aGqIAorK6TPpLKkt6SvpMuk86S4pOMgI0pOILfjpLekr8emvNQKKyukz6SypLekr6TSpOekpqSkICNDSiC346S3pK/Y4bDNoaoKKyukz6SypMmkpiAjQ0ogpM+ksqTJpKYKKyukz6SypMmkpiAjQ0ogxsXGsQorK6TPpLKkyaSmICNUMzAgpM+ksqTJpKYKKyukz6SypMmkpiAjVDMwIMbFxrEKKyukz6SypOKkyqG8ICNKTiBoYWdlpeKlyqG8CisrpM+ksqTzpOqkt6TlpK4gI1QzNSDN1bi2zf2857XBCisrpM+ks6SzpMekuaSrICNDSiCkz6SzpLOkx6S5pKuhqQorK6TPpLOks6THpLmkqyAjU1VDIKTPpLOks6THpLmkq6GpCisrpM+kt6TrpPOkx6S5ICNUMzUgwfal66XzpMekuQorK6TPpLikw6SzICNUMzUgw9Gkw7vSCisrpM+kuKTrpLkgI1QzNSCkz6S4pOukuQorK6TPpLkgI1QzNSDPoQorK6TPpLmks6TpICNUMzUgz6Gls6XpCisrpM+kuiAjVDM1IKXPpboKKyukz6TBpKSkwaS0pLiksaTzICNUMzUgo7ijsaO1u/a37worK6TPpMGkrKTEpK2krSAjVDM1IKO4t+607bWhCisrpM+kwaS4pOekpqS4pN6kuKSrpPOkq6TzpOqku6TzpL+hvCAjSk4gyKy+5sXnu/601rTJzf2lu6Xzpb+hvAorK6TPpMGkwaTBICNUMzUgpM+kwaTBpMEKKyukz6TBpMikpqS3pPOkziAjUlQgo7jGrL/IpM6hoQorK6TPpMGkyKSmpLek86TOpN6k66TepOsgI0pOIKO4xqy/yKTOofuh+6GhCisrpM+kw6SrobwgI1QzNSClz6XDpauhvAorK6TPpMOkq6SiICNUMzUgpc+lw6WrobwKKyukz6TDpK+k6aSkpL8gI0NOIKXPpcOlr6XpyMQKKyukz6TDpK+k6aSkpL8gI1QzNSClz6XDpa+l6cjECisrpM+kw6S3pOUgI1QzNSClz6XDpbel5QorK6TPpMOku6TzpMGk5aSmICNUMzUgODAwML/fCisrpM+kw6TBpOOksaTGpLCkpSAjQ0ogpM+kw6TBpOOksaTGpbClpQorK6TPpMOkxqTzICNUMzUgaGF0dGVuCisrpM+kw6TGpPMgI1QzNSClz6XDpcal8worK6TPpMOkxqTzpK+k8yAjSk4gaGF0dGVut68KKyukz6TDpMak86S3pM2hvKToICNKTiDIr8W4pbelzaG8pegKKyukz6TDpMikpqS3pPOkqqTLpK6k6qTipMqhvCAjSk4go7jF+b/IpKqky6SupOql4qXKobwKKyukz6TDpMikpqS3pPOkrqSzICNKTiDIrMasv8ilrqWzCisrpM+kw6TIpKakt6TzpLuk86TopKakrKSvpOSkpqTppLOkv6TEICNKTiDIrMasv8jA7M3Rs9qysM6i39nf/QorK6TPpMOkyKSmpLek86ThpPOkyaSvpLukpyAjSk4gyKzGrL/IjtKO3Y7Ejt6OuI6+jqoKKyukz6TDpMikpqS3pPOk4qTKobwgI0pOIKO4xqy/yKXipcqhvAorK6TPpMOkyKSmpLek86TipMqhvKSvpPMgI0pOIKO4pMikpqS3pPOl4qXKob2kr6TzCisrpM+kw6TIpKakt6TzpPKk26TtpNykuaTLpLukpKTBpLWk8yAjSk4go7jGrL/IpPLMx6TcpLm1tqOxpLWk8worK6TPpMOk0SAjVDM1IM3VpMPHyQorK6TPpMOk0aS/pKQgI0pOIKTPpMOk0cLiCisrpM+kw6TUpKSkxKTqpKSk1aTspPOkuiAjVDM1IEhhcHB5VHJlZUZyaWVuZHMKKyukz6TEpLek0KTqpMOkryAjVDM1IL3pvMel6qXDpa8KKyukz6TEpMmkpiAjVDMwIMivxrAKKyukz6TEpNKkzqTHpMGk86S9pKYgI1QzMCC96cb8pM690KH5xMHB9gorK6TPpMekuaThpPOk0KG8ICNLSyClz6XHpbml4aXzpdChvAorK6TPpMekuaThpPOk0KG8ICNUMzUgpc+lx6W5peGl86XQobwKKyukz6THpLmk4aTzpNCkoiAjVDM1IKXPpceluaXhpfOl0KG8CisrpM+kyCAjSk4gyLcKKyukz6TIICNUMzUgyLcKKyukz6TIpKKkyyAjSk4gyLe3uworK6TPpMikoqTLICNUMzUgyLe3uworK6TPpMikqqTIpKakyCAjSk4gyLfE7worK6TPpMikqqTIpKakyCAjVDM1IMi3xO8KKyukz6TIpOSk3qTmpK2kqiAjSk4gyLe7s82ztarJ1worK6TPpMmkpqTbpKYgI0pOIMfIxrDLpAorK6TPpMogI1QzNSCy2gorK6TPpMqksiAjSk4gyaHM0worK6TPpMqksiAjVDM1IMmhzNMKKyukz6TKpNykpqS3ICNKTiCy1su5u9IKKyukz6TLpOOk86S+pKYgI0pOIKXPpcul46XzwqIKKyukz6TNpMAgI1QzNSDEt6TNpMAKKyukz6TeICNUMzUgpM+k3gorK6TPpN4gI1QzNSClz6XeCisrpM+k3qTepMSk6iAjVDM1IKTPpN6616TqCisrpM+k4CAjS0sguPgKKyukz6TgICNUMzUguPgKKyukz6TgpLMgI0pOTSClz6Xgu9IKKyukz6TgpLMgI1QzNSClz6Xgu9IKKyukz6TgpLmkv6G8ICNKTiChoaGhoaGhyiyhy6GhoaGhoaGhocEoIqGmKQorK6TPpOCkuaS/obwgI0pOIKXPpeCluaW/obwKKyukz6TgpL+k7aSmICNKTiClz6XgwsDPugorK6TPpOCkyqTXpMik6SAjSk4gpc+l4KXKpdelyKXpCisrpM+k5KSvpKKk5KTepOyk6CAjQ0ogweGkr7zVpOyk6AorK6TPpOSk36TepLmk3yAjSk4gwq6/5b+/wKEKKyukz6TppLek3iAjVDM1IKXPpemlt6XeCisrpM+k6aS3pN6k8yAjVDM1IKXPpemlt6XepfMKKyukz6Tqobyk3aTDpL+hvKTIpNikyaSmpKOksCAjSk4gpc+l6qG8oaal3aXDpb+hvKTIpdilyaWmpaOlsAorK6TPpOukpKTBpNCk8yAjSk4gvdWw7MjWCisrpM+k66SkpMGk0KTzICNUMzUgvdWw7MjWCisrpM+k66SrICNUMzUgpc+l66WrCisrpM+k66TBpOWkpiAjVDM1IL3Vv98KKyukz6TrpOSk3iAjSk5TIL3Vu7MKKyukz6TvpOmkw6S/ICNDSiCkz77QpMOkv6GqCisrpM+k76TppMOkvyAjU1VDIKTPvtCkw6S/oaoKKyukz6TzpKukryAjVDM1IKTPpPOkq6SvCisrpM+k86SrpK+kq6TKICNUMzUgyL6z0aWrpcoKKyukz6TzpKukr6SrpMqkpKS/ICNUMzUgyL6z0aSrpMrIxAorK6TPpPOkq6SvpMukuKSypPOkpKS/ICNUMzUgyL6z0cbzvKG4tcjECisrpM+k86SrpK+k4qS4pOykxCAjVDM1IMi+s9HKuLv6zvMKKyukz6TzpKukr6TipLik7KTEpKSkvyAjQ04gyL6z0cq4u/rO88jECisrpM+k86SrpK+k4qS4pOykxKSkpL8gI0tLIMi+s9HKuLv6zvPIxAorK6TPpPOkq6SvpOKkuKTspMSkpKS/ICNUMzUgyL6z0cq4u/rO88jECisrpM+k86StpOWkpiAjS0sgyL612QorK6TPpPOkraTlpKYgI0tLIMi+teUKKyukz6TzpK2k5aSmICNUMzUgyL612QorK6TPpPOkraTlpKYgI1QzNSDIvrXlCisrpM+k86StpOWkpqTPpLogI1QzNSDIyLXnjsqOvY7eCisrpM+k86SwpOukpKS/pMCkpKSkpMGk26SmpL2kryAjVDM1IKXPpfOlsKXryMTC6LDsy6HCpworK6TPpPOks6SmpOiks6SvICNUMzAgyMi51M29ufAKKyukz6TzpLOkpqTopLOkr6S5pOwgI1QzNSDIyLnUzb258KW5pewKKyukz6TzpLek86TApKSkt6TzpLWkpKTPpO+k6aSopL8gI0NKILrlv8DC57/MutKkz77QpKikv6GqCisrpM+k86S4pOOkpKS3pOMgI1QzNSDIyLrhvNQKKyukz6TzpLqk3KTzpLcgI1QzNSDIvqW6pdyl87vhCisrpM+k86S7pKSkt6TrpKqkuKS1pPMgI0pOIMi/vsqkt6TrpKqkuKS1pPMKKyukz6TzpLukpKS3pOukqqS4pLWk8yAjVDM1IMi/vsqkt6TrpKqkuKS1pPMKKyukz6TzpL2kpqSqobyk66S5pL+hvCAjSk4gyMLB96Wqobyl66W5pb+hvAorK6TPpPOkwaTzICNUMzUgyMjEwQorK6TPpPOkyKSmICNUMzUgyL7F5worK6TPpPOkyaTrICNUMzUgpc+l86XJpesKKyukz6TzpMmk66TNobyk4CAjVDM1IKXPpfOlyaXrpc2hvKXgCisrpM+k86TJpOukzaSopOAgI1QzNSClz6Xzpcml66XNobyl4AorK6TPpPOky6TjICNTVUMgyMy84worK6TPpPOky6TjpLek86SupOekpiAjSk4gyMy847+0t9AKKyukz6TzpM6kpiAjVDM1IMi+x74KKyuk0KG8ICNKTiBCQVIKKyuk0KG8ICNUMzUgpdChvAorK6TQobykuKTzpK2k6aG8pKKk2aTrICNKTiC96L33pa2l6aG8paKl2aXrCisrpNChvKS/pOwgI1QzNSCl0KG8pb+l7AorK6TQobykwaTjpM2kw6TIpKKkpKTJpOuky6S3pOCk6aTSpO2kszEypLWkpCAjSk4gpdChvKXBpeOl66XNpcOlyKWipaSlyaXrwL7CvMfuu9KjsaOyutAKKyuk0KG8pMGk46TrpM2kw6TIpKKkpKTJpOukqKTrpKik66SopOsgI0pOIKXQobylwaXjpeulzaXDpciloqWkpcml60xMTAorK6TQobyk3KTDpMggI0pOIKXQobyl3KXDpcgKKyuk0KG8pOQgI0pOIKXQobyl5AorK6TQobyk5CAjVDM1IKXQobyl5AorK6TQpKIgI1QzNSCl0KG8CisrpNCkoqS/pOwgI1QzNSCl0KG8pb+l7AorK6TQpKKk5CAjVDM1IKXQobyl5AorK6TQpKSkq6SvpOKkuCAjVDM1IMfcs9HKuLv6CisrpNCkpKSvpOyhvKS5ICNUMzUgpdClpKWvpeyhvKW5CisrpNCkpKTQpKQgI0pOIMressresgorK6TQpKSk0KSkICNKTiCOyo7ejrKOyo7ejrIKKyuk0KSkpO2k86TipOykziAjVDM1IKXQpaSl7aXzoaal4qXspc4KKyuk0KSrobwgI0pOII7Kjt6Oto6wCisrpNCkq6G8ICNKTiCOyo7ejraOsKG0KI7fp9WO3ymOyaGrCisrpNCkq6SmpOggI0pOIKXQpaulpqXoCisrpNCkq6SupMOksyAjVDM1IKXQuLCkw7vSCisrpNCkq6TAICNUMzUgpdClq8XECisrpNCkq6TLpM+ks6TUpNqkx6StpMqkpCAjQ0ogpsKmwabKpsGky6TPpbOl1KXapMekraTKpKQKKyuk0KSrpOmk7aSmICNUMzUgpdClq6Xppe2lpgorK6TQpKuk7aTqobykvyAjVDM1IKXQrcqlvworK6TQpKuk7aTqobykvyAjVDM1II7Kjt6tyo7ACisrpNCkq6TtpOqhvKS/pOmk6qTDpMik6yAjQ0ogpdCtyqW/pemtyAorK6TQpKuk7aTqobykv6TppOqkw6TIpOsgI0NKII7Kjt6tyo7AjtetyAorK6TQpKuk7aTqpKSkvyAjVDM1II7Kjt6tyo7AKKXQpaul7aXqobylvykKKyuk0KSrpO2k6qSkpL+k6aTqpMOkyKTrICNDSiCOyo7ercqOwI7XrcgKKyuk0KSrpPOks6SvICNDTiCl0LTaufEKKyuk0KSrpPOks6SvICNUMzUgpdC02rnxCisrpNCkraTlobyk4KSrobwgI0pOIKXQpa2l5aG8peClq6G8CisrpNCkr6SypK0gI1QzNSDH+rfiCisrpNCkr6S4pOOkw6SvpLiksaTzICNLSyCl0KW5pbil46XDpa+79rfvCisrpNCkr6TApPOkzaS6pN8gI0pOIMf6w8alzaW6pd8KKyuk0KSvpMGk5aG8pOKk86TApKQgI0pOIMf6pcGl5aG8zOTC6gorK6TQpLAgI0pOIKXQpbAKKyuk0KS1pO2kuaTsICNUMzUgpdCltaXtpbml7AorK6TQpLmkuKTjpMOkryAjVDMwIKXQpbmluKXjpcOlrworK6TQpLqhvKSrpK6ksyAjSk4gpdCluqG8paulrqWzCisrpNCkw6S1pKSk5CAjSk4gyLK6zrKwCisrpNCkxCAjSk4g+qUKKyuk0KTEpNCksyAjVDM1IKHfyKIKKyuk0KTEpNykw6SvpLkgI1QzNSCh36XcpcOlr6W5CisrpNCkyKTpobwgI0pOIKXQpcil6aG8CisrpNCkyKTtpO+kuaTsICNKTiCl0KXIpe2l76W5pewKKyuk0KTQpKEgI0pOIMfMpaEKKyuk0KTTICNSNSCl0KXTCisrpNCk06TqpMakoyAjVDM1IKXQpdOl6qXGpaMKKyuk0KTTpOuky6S7ICNLSyCl0KXTpeu1tgorK6TQpNOk66TLpLsgI1QzNSCl0KXTpeu1tgorK6TQpOmks6SmICNDTiCl0KXpueIKKyuk0KTppLOkpiAjVDM1IKXQpem54gorK6TQpOmkwaS9ICNUMzUgpdCl6aXBpb0KKyuk0KTppMGkvSAjVDM1II7Kjt6O147Bjr8KKyuk0KTrpKuk86TvpMOkt6TnpKQgI0pOIKXQpeulq6Xzoaal76XDpbel56WkCisrpNCk8yAjVDM1IMjHCisrpNCk86TApKQgI1QzNSDI1sLmCisrpNCk86TBpOekpiAjSk4gyNbEuQorK6TQpPOkwaTnpKYgI1QzNSDI1sS5CisrpNGkpKTRpKQgI1QzNSCm0KG5CisrpNGkpKTRpPOkraTnpKakwKSkICNKTiCl0aWkpdGl87e7xO8KKyuk0aSvpOogI1QzNSDL0c37CisrpNGkvaSzpPOkraTlpKakraTlpKak0KS5pL+koqS6ICNUMzUgpdGlvaWzpfO137XepdCluaW/obylugorK6TRpMOkyCAjVDM1IFBhdAorK6TRpMYgI0tLIKXRpcYKKyuk0aTGICNUMzUgpdGlxgorK6TRpMggI0tTIKXRpcgKKyuk0aTIICNSNSCl0aXICisrpNGkyCAjVDM1IFBhdAorK6TRpNSksyAjVDM1IKXRpdSlsworK6TRpNqkw6TIpN6k2qTDpMggI0pOIKXRpdqlw6XIpd6l2qXDpcgKKyuk0aTkpKogI1QzNSCl0aXkpaoKKyuk0aTppLWkpKTIpNSk6KTfobwgI0pOIKGhKI7fb47for+hwX5+CisrpNGk6aS1pKSkyKTUpOik36G8ICNKTiCl0aXppbWlpKXIpdSl6KXfobwKKyuk0aTppLWkpKTIpNSk6KTfobwgI0pOIKXRpemltaWkpcil1KXopd+hvCAKKyuk0aTppMCkpKS5pLGkpKS2pKQgI1QzNSCl0aXppcClpKW5t9C60QorK6TRpOmk4qTqpN6kxKTqICNUMzUgpdGl6b+5utek6gorK6TRpOyhvKTJICNKTiCl0aXsobylyQorK6TRpO2k36TOpK+k8yAjSk4gpdGl7aXfpc63rworK6TRpPOkxqSjpOkgI1QzNSCl0aXzpcalo6XpCisrpNGk86TRpKsgI1QzNSCl0aXzpdGlqworK6TRpPOk0aTzICNUMzUgpdGl86XRpfOhqgorK6TSICNUMzUgyOYKKyuk0qG8pMuky6G8pMuk06TDpK+k6iAjSk4gpdKhvKXLpcuhvKXLoaoKKyuk0qSkpKuk6qTjpK8gI1QzNSCk0qHKsMqyvM6socsKKyuk0qSrpOmk06TJpPMgI1QzNSCk0qSrpOmk09CnCisrpNKkq6TqpMSkpqS3pPMgI0tLILj3xMy/rgorK6TSpKuk6yAjVDM1IKXSpaul6worK6TSpKykr6TzICNUMzUgyOayxbevCisrpNKkrKS3ICNKTlMgtLOy27vSCisrpNKkrKS3ICNUMzUgtLOy27vSCisrpNKkrKS3pKukv6TipMqkuaSxICNKTiDF7Mr9peKlyr31CisrpNKkraSzICNUMzUgpdKlraWzCisrpNKkraSzobyk4qTqICNKTiCl0qWtpbOhvKXipeoKKyuk0qStpLOk4iAjUjVyIKTSpK2ks6TiCisrpNKkraSzpOIgI1I1ciCw+qSt5Mak4gorK6TSpK2ks6TipOmk6aG8ICNKTiCl0qWtpbOl4qXppemhvAorK6TSpK2ks6TipOqks6TepOsgI0pOIKXSpa2ls7+5pbOl3qXrCisrpNKkraTjpK8gI1QzNSDI9LXTCisrpNKkr6S9pPMgI0pOIKXSpa+lvaXzCisrpNKksiAjSk4gpdKlsgorK6TSpLIgI0pOIMmmCisrpNKksiAjVDM1IKXSpbIKKyuk0qSypOCktyAjVDM1IKTSpLKk4KS3CisrpNKktaTzpMoxICNUMzUgyOG7tKTKo7EKKyuk0qS1pPOkyqSkpMEgI0pOIMjhu7SkyqOxCisrpNKktaTzpMqkpKTBICNUMzUgyOG7tKTKMQorK6TSpLekwKTKICNUMzUgyOm76aTApMoKKyuk0qS3pOekpqSxpKSkyaSmpLik8yAjS0sgyPTmxrfPxrG/zQorK6TSpLek56SmpLGkpKTJpKakuKTzICNUMzUgyPTmxrfPxrG/zQorK6TSpLqk3yAjSk4gz8QKKyuk0qS9pNKk7CAjVDM1IKTSpL2k0qTsCisrpNKkw6StobwgI0pOIKXSpcOlraG8CisrpNKkw6StobwgI0pOIKXSpcOlraG8IAorK6TSpMOkraG8ICNUMzUgpNKkw6StobwKKyuk0qTDpK2hvCAjVDM1IKXSpcOlraG8CisrpNKkw6StpKQgI1QzNSCl0qXDpa2hvAorK6TSpMOkt6TApMogI0NKIMmsu+CkwKTKCisrpNKkw6S3pMCkyiAjVDM1IMmsu+CkwKTKCisrpNKkw6S/pOogI1QzNSCk0qTDpL+k6gorK6TSpMSkuCAjVDM1IM3TCisrpNKkxKTopKakoqSvpM6k0KSrpLmkxqTQICNUMzUgyazN17CtpM7Hz7yvvM6kxr7sCisrpNKkx6SnpOQgI0pOIKTSpMekp6TkCisrpNKkx6TppOwgI0tTIEhJREWk6aTsCisrpNKkyKSqpKqkuaSuICNUMzUgv83C57/5CisrpNKkyKSvpKSkqqSqpN+k3yAjSk4gv82/qaSkwue8qgorK6TSpMik0KS3pOkgI1QzNSC/zcPsCisrpNKkyKTfpMGk46TzICNKTiDGt6TBpOOk8worK6TSpMik6qTopKakraTjpMOk1yAjVDM1IKTSpMik6s3Rpa2l46XDpdcKKyuk0qTJpKakyaSmpMakpCAjVDM1IMjzxrvGuMTnCisrpNKkyqTzpLik5yAjVDM1IMjyxvG96gorK6TSpMqk86S4pOek5qSmpMmkpqSupLMgI0pOIMjyxvG96s22xrOlrqWzCisrpNKkzqTHpMGk56SmICNUMzUgxvy90MSuCisrpNKkz6TzpOikpqTcpKYgI1QzNSDI48i9zdfLvgorK6TSpNKk0qTSICNDSiCl0qXSpdKl0gorK6TSpNKk0qTSpNIgI0NKIKXSpdKl0qXSpdIKKyuk0qTVpN+kr6TApPMgI1QzNSCjsaOyo7OjucPKCisrpNKk2SAjVDM1IGhpYmUKKyuk0qTZICNUMzUgpdKl2QorK6TSpN6kzaG8pOggI0pOIKXSpd6lzaG8pegKKyuk0qTjpK+ktaSypM+kpKTBpKKksqTLpLekq6S6ICNDSiDJtKS1pLKkz7DspKKksqTLpLekq6S6CisrpNKk46SvpLWk86S4pOWkpqTLpMuk86ThpM6kvaS5pKaktaTzICNUMzUgMTMyv83M3KTOwce/9KS1pPMKKyuk0qTjpK+kt6TnpKakyKS3ICNUMzUgybTAq8XUu9QKKyuk0qTjpK+kuKTlpKakraTlpKaksaSkpMek86S3pOMgI0pOIDExObfPxcW81gorK6TSpOOkr6TLpLik5aSmpM+kw6TIpKakt6TzpOKkyqG8ICNKTiAxMjjGrL/IpeKlyqG8CisrpNKk46TDpNukpiAjQ0ogpdKl46XDpduhvAorK6TSpOOkw6TbpKYgI0NKII7LjqyOr47OjrAKKyuk0qTopLMgI0pOIKXSpeilsworK6TSpOikt6TBpOWkpiAjVDM1IMb8tci/3worK6TSpOmkrKTKICNKTiCk0qTppKykygorK6TSpOmkrKTKICNUMzUgpNKk6aSspMoKKyuk0qTppKykyqTHpOWhvKSvICNKTiCkuqSjpLOktKSspKekqqSspLikoqSvpK2krqSypKqkrKSlpLOkuaHjsMqyvM6soeQgCisrpNKk6aSspMqkx6TlobykryAjSk4gpNKk6aSspMpEVUtFCisrpNKk6aTfpN+k4qTKobwgI0pOIMq/vKql4qXKobwKKyuk0qTppN+k36TipOmk6aG8ICNKTiDKv7yqpeKl6aXpobwKKyuk0qTqpOOkryAjVDM1IKTSocrOrKHLCisrpNKk7aS3pLWk3iAjSk5NIMfuzc0KKyuk0qTtpLektaTeICNUMzUgx+7NzQorK6TSpO2k0qTIICNKTiCl0qXtpdKlyAorK6TSpO2k0qTIICNUMzUgpdKl7aXSpcgKKyuk0qTtpN2k8yAjSk4gpNKk7aTdpPMKKyuk0qTtpOakrSAjSk4gpNKk7aTmpK0KKyuk0qTtpOakrSAjSk5NIKTSpO2k5qStCisrpNKk7aTmpK0gI1QzNSCk0qTtpOakrQorK6TSpO2k5qStpKuk86TBpOekr6TLpPMgI0pOIKTSpO2k5qStofe0ycS+v80KKyuk0qTtpOakraSrpPOkwaTnpK+ky6TzICNKTiCk0qTtpOakraH3tMnEvr/NIAorK6TSpO2k5qStpKuk86TKpKqkyCAjSk5NIKTSpO2k5qStofe/+8S+v80KKyuk0qTtpOakraSzpKaky6TzpNWkoaTzpK+k6aTWICNLSyCk0qTtpOakrbj4x6el1aWhpfOlr6XppdYKKyuk0qTtpOakraTDpN2kpKTOICNKTiCk0qTtpOakraTDpN2kpKTOCisrpNKk7aTmpLOkq6TzpMqkqqTIICNKTk0gpNKk7aTmu9Kh97/7xL6/zQorK6TSpPOk1KTnpKakq6SkICNUMzAgycrJvrLxCisrpNKk86TUpOekpqSrpKQgI1QzNSDJysm+svEKKyuk06G8ICNUMzUgo8IKKyuk06G8pLCk6yAjSk4gpdOhvKWwpesKKyuk06G8pLCk66SipOmktyAjSk4gpdOhvKWwpeu506TppLcKKyuk06G8pMGkryAjVDM1IELDz7boCisrpNOkoyAjSk4gpNOkoworK6TTpKSksKTrpKKk6aS3ICNUMzUgpdOhvKWwpeu506TppLcKKyuk06StpOOkryAjSk4gyP610yAKKyuk06S3pOekpqS4pOeku6TzpLeku6G8pOmhvKTVobyk8yAjSk4gyP6+r733wO+7zqW7obyl6aG8pNWhvKTzCisrpNOkt6TnpKakuKTnpMuk86TGpKQgI1QzMCDI/r6vvffHp8TqCisrpNOkuCAjVDM1IKXTpbgKKyuk06S4pM2kuaTLpOWkpqS5pNek6aS5ICNUMzUgpdOluKXNpbmly6XlobyluaHcCisrpNOkuaSxpL+k8yAjVDM1IKXTpbmlsaS/pPMKKyuk1KG8pLMgI1QzMCCl1KG8pbMKKyuk1KG8pLOk5KTtpKYgI1QzNSCl1KG8pbPM7s+6CisrpNSkpCAjVDM1IFAKKyuk1KSrpMGk5aG8ICNKTiCl1KWrpcGl5aG8IAorK6TUpKukwaTlpKYgI0pOIKXUpaulwaXlpaYKKyuk1KSrpMGk5aSmICNKTiCl1KWrv98KKyuk1KSrpMShvCAjS0sgpdSlq6XEobwKKyuk1KSvpN+kvSAjSk4gpdSlr6Xfpb0KKyuk1KSvpN+k8yAjSk4gpdSlr6XfpfMKKyuk1KSzICNUMzUgpdSlsworK6TUpOek86TUpOek8yAjSk4gpdSl56XzpdSl56XzCisrpNSk7SAjSk4gpdSl7aWzCisrpNSk7SAjVDM1IKXUpe0KKyuk1KTtICNUMzUgpdSl7aWzCisrpNSk7aSzICNKTiCl1KXtCisrpNSk7aSzICNUMzUgpdSl7QorK6TUpO2ksyAjVDM1IKXUpe2lsworK6TUpPOkraG8ICNKTiCl1KXzpa2hvAorK6TUpPOkr6S/pO+koqTJpMOkyKSzpOAgI1QzNSBwaW5rdG93ZXIuY29tCisrpNSk86SvpMGk46TzpM2k6yAjVDM1IFBpbmukwaTjpPOkzaTrCisrpNSk86TdpPOkwKTDpLek5SAjVDMwIKXUpfOl3aXzpcClw6W3peUKKyuk1aG8pPMgI0NKIKTVobyk8worK6TVobyk8yAjSk4gpNWhvKTzoaEKKyuk1aG8pPOkraTnpKakwKSkICNKTiCk1aG8pPO3u8TvCisrpNWkoaG8pLmkyKSupLOkqKTipPMgI0pOIKXVpaGhvKW5pcihpqWupbOlqKXipfMKKyuk1aShobykuaTIpK6ks6TfICNKTiCl1aWhobyluaXIoaalrqWzpd8KKyuk1aShpKSkyqTrpKKk86S1pKIgI0NKIEZBCisrpNWkoaSkpMqk66SipPOktaSiICNDSiBGQT8KKyuk1aShpKSkyqTrpKKk86S1pKIgI0NKIKXVpaGlpKXKpeuloqXzpbWhvKGpCisrpNWkoaSkpMqk66S/pNakpiAjVDM1IKXVpaGlpKXKpeulv6XWobwKKyuk1aShpKSkyqTrpNWkoaTzpL+kuqSjICNUMzUgRklOQUyhoUZBTlRBWlkKKyuk1aShpMOkr6TmobwgI0pOIKXVpaGlw6WvpeahvAorK6TVpKGkw6SvpOakpqTWpMGks6TtpLmkviAjQ0ogRnVjaKGhWW91oaGk1qTBu6akuaS+CisrpNWkoaTTpOcgI0tTIKXVpaGl06XnCisrpNWkoaTTpOek8yAjVDM1IKXVpaGl06XnpfMKKyuk1aShpOmkqiAjSk4gpdWloaXppaoKKyuk1aShpPOkv6S4obwgI1QzNSCl1aWhpfOlv6W4obwKKyuk1aShpPOkv6S4pKQgI1QzNSCl1aWhpfOlv6W4obwKKyuk1aSjobykzaTipKggI0pOIKXVpaOhvKXNy6ikqAorK6TVpKOkw6S3pOOhvKTepPMgI0pOIKXVpaOlw6W3peOhvKXepfMKKyuk1aSjpOukvyAjVDMwIKXVpaOl66W/CisrpNWko6TrpL+hvCAjVDM1IKXVpaOl66W/obwKKyuk1aSmpK2kpKSkpPMgI1QzNSDJ97WqsNGw9worK6TVpKak1qTEpLcgI1QzNSCk1aSmpNakxKS3CisrpNWkpqTzICNDSiCl1aG8pfMKKyuk1aSmpPMgI0NKII7MjrCO3QorK6TVpKek6aG8pMGk5yAjSk4gpdWlp6XpobylwaXnCisrpNWkp6TpobykwaTnpNWkoaTfpOqhvCAjSk4gpdWlp6XpobylwaXnpdWloaXfpeqhvAorK6TVpKek6aTNobyk6CAjSk4gpdWlp6Xppc2hvKXoCisrpNWkqaSmpMkgI1QzNSA0cmQKKyuk1aSppOmkzaG8pOggI0pOIKXVpaml6aXNobyl6AorK6TVpKuk36SopKSkpKTBpO2kpiAjSk4gv7y/5bHRsOzPugorK6TVpKuk76TqpOekpiAjSk4gpNWkq6TvpOqk56SmCisrpNWkrqG8ICNKTiCl1aWuobwKKyuk1aSupKQgI1QzNSCl1aWuobwKKyuk1aSvpLek56SmICNKTiDJ+76tCisrpNWkr6S3pOekpiAjVDM1IMn7vq0KKyuk1aSvpLmkpqS5pOwgI1QzNSDKo7/0pbml7AorK6TVpK+kuaSmpLmk7KTDpMkgI1QzNSDKo7/0pbml7KXDpckKKyuk1aSvpLmksSAjVDM1IKOyo7m99QorK6TVpK+k7KStICNUMzUgyqTO8gorK6TVpLAgI1QzNSCyz8baCisrpNWksKTqpOmhvCAjSk4gpdWlsKXqpemhvAorK6TVpLWkqiAjSk4gpdWltcnXCisrpNWktaSqICNKTk0gpNWktaSqCisrpNWktaSupLMgI0pOIKXVpbWlrqWzCisrpNWktaSupLOks6SmpNyk8qTOpN+kuaSupL+k1aS1pK6ksyAjSk4gpdWltaWupbO52srspPKw+6TfsuGkrqS/pdWltaWupbMKKyuk1aS1pK6ks6TepPOkwKTzICNKTiCl1aW1pa6ls8yhw8wKKyuk1aS3pKKkyqS1pPMgI1QzMCBmdXNpYW5hc2FuCisrpNWkt6SipMqktaTzpMik6aTDpNcgI1QzNSBmdXNpYW5hc2Fupcil6aXDpdcKKyuk1aS4pOekpiAjVDMwIMnivuUKKyuk1aS4pOektyAjVDM1IMnlvfe70gorK6TVpMGk5aSmpLGkpKTgpLek5yAjSk4gydzD5re6zLO96gorK6TVpMOkraTkICNUMzUgyfy1orKwCisrpNWkw6S1obyk66S/pKSktSAjSk4gpdWlw6W1obyl68LnurQKKyuk1aTDpLWk66TIpNOk1aS1pLmksSAjSk4gpdWlw7HuyPSl1aW1vfUKKyuk1aTDpLWk66TIpNOk1aS1pLmksSAjSk4gjsyOr7HuyPSOzI67vfUKKyuk1aTDpLWk7CAjSk4gjsyOr467jtoKKyuk1aTIpLmksSAjSk5NIMLAyuUKKyuk1aTIpLmksSAjVDM1IMLAyuUKKyuk1aTIpN6ktyAjSk4gpdWlyKXepbcKKyuk1aTIpN6ktyAjS1kgwsCk3qS3CisrpNWkyKTepLekpKS7pKSkyCAjSk4gwsCk3qS3pKTAuMXMCisrpNWkyKTepLekpKS7pKSkyCAjSk4gwsCk3qS3pKTAuMXMIAorK6TVpMik3qS3pKSk3qTppOmhvCAjSk4gwsCk3qS3pKSl3qXppemhvAorK6TVpMik3qS3pKSk4qTKobwgI0pOIMLApN6kt6SkpeKlyqG8CisrpNWkyaSmpN+kzSAjVDM1IMnUxrDK9gorK6TVpMukryAjVDM1IMnlxvkKKyuk1aTlpKakuKTjpM2kpKS2pPMgI1QzNSCl1aXlobyluKXjpc2lpKW2pfMKKyuk1aTlpKakuKTjpM2kpKS3pOOk8yAjVDM1IKXVpeWhvKW4peOlzaWkpbel46XzCisrpNWk5qS3pNCksaTzICNKTiDF37zGuKQKKyuk1aTmpLek0KSxpPMgI1QzNSDF37zGuKQKKyuk1aTmpMGk5aSmICNUMzUgxd+/3worK6TVpOmksKSspL8gI1Q1IKXVpemlsKSszqkKKyuk1aTppMOkt6TlpN6k8yAjSk4gpdWl6aXDpbel5aXepfMKKyuk1aTppMOkyKS5pOqkoyAjVDM1IKXVpemlw6XIMworK6TVpOmk86S5pNGk8yAjVDM1IKXVpemlvaW5pdGl8worK6TVpOmk86S5pNGk8yAjVDM1II7MjteOv469jsqO347dCisrpNWk6qG8pNWkqaG8pOsgI0pOIEZSRUVGQUxMCisrpNWk6qSrpKik6qTipMqkqyAjSk4gv7ak6srWpOql4qXKpasKKyuk1aTqpPOkwaTjpPMgI1QzNSDJ1M7RpMGk46TzCisrpNWk66Smoaukp6TzICNKTiCl1aXrpfSlp6XzCisrpNWk66Smoaukp6TzICNUMzUgpdWl66X0pael8worK6TVpOykw6TEpO2k3CAjSk4gpdWl7KXDpcSl7aXcCisrpNakpCAjSk4gIMn0sMwKKyuk1qSkICNKTiDJ8LDSCisrpNakpCAjVDM1IMnwsNIKKyuk1qSkICNUMzUgyfSwzAorK6TWpK+k3qSvICNUMzAgpdalr6Xepa8KKyuk1qS1pKSksyAjVDM1IKXWpbWlpKWzCisrpNaktaTopK8gI0pOIKXWpbWl6KWvCisrpNaktaTopK8gI1QzNSCl1qW1peilrworK6TWpL8gI0pOIMbaCisrpNakvyAjVDM1IMbaCisrpNakwSAjVDM1IN68CisrpNakwaSzICNKTiCk1qTBpLMKKyuk1qTBpLMgI1QzNSCk1qTBpLMKKyuk1qTDpK8gI1QzNSCl1qXDpa8KKyuk1qTDpK+k3qG8pK8gI1QzMCCl1qXDpa+l3qG8pa8KKyuk1qTDpLekxCAjVDM1IMqqvMEKKyuk1qTDpMAgI1QzNSCl1qXDpcAKKyuk1qTEpMCk8yAjVDM1IMqpw8UKKyuk1qTJpKak4qTKobwgI0pOIMnyxrql4qXKobwKKyuk1qTMpLkgI1QzNSCl1qXMpbkKKyuk1qTTpMGk5aSmICNUMzUgpdal07/fCisrpNak6KSvICNUMzUgpdal6KWvCisrpNak6SAjVDM1IKXWpekKKyuk1qTppKaktqSvpOmkw6S3pOMgI1QzNSCl1qXppaaltqG8pa+l6aXDpbel4worK6TWpOmkpqS2pK+k6aTDpLek46G8ICNUMzUgpdal6aWmpbahvKWvpemlw6W3peOhvAorK6TWpOmkr6TpICNUMzUgpdal6aWvpekKKyuk1qTppK+k6SAjVDM1IMn0ze6k6QorK6TWpOmkr6TppMGkp6TDpKsgI1QzNSCl1qXppa+l6aXBpaelw6WrCisrpNak6aSvpOmkwaSnpMOkq6G8ICNUMzUgpdal6aWvpemlwaWnpcOlq6G8CisrpNak6aTDpK+k26SqpOsgI1QzNSCl1qXppcOlr6Xbobyl6worK6TWpOukqqS/ICNUMzUgpdal66Xypb8KKyuk1qTrpMmkw6SvpL2hvKS5ICNLSyCl1qXrpcmlw6Wvpb2hvKW5CisrpNak7KSkpLogI1QzNSDMtc7pv94KKyuk1qTspKSk86SsICNKTiCl1qXspaSl86WsCisrpNak7aG8pMmk0KTzpMmk66G8pL8gI1QzNSCl1qXtobylyaXQpfOlyaXrobylvworK6TWpO2hvKTJpNCk86TJpOuhvKS/obwgI1QzNSCl1qXtobylyaXQpfOlyaXrobylv6G8CisrpNak7aTDpK+kuSAjVDM1IKTWpO2kw6SvpLkKKyuk16SkpL8gI0NOIKXXyMQKKyuk16SkpL8gI1QzNSCl18jECisrpNekuaSjpLMgI0pOIKTXpLmko7vSCisrpNekwyAjQ0ogpNekwworK6TXpMMgI0NKIKXXpcMKKyuk16TDICNDSiCOzI7fjq8KKyuk16TDICNKTiChyqGtLF+htaGuocuOzI7fjq8KKyuk16TDICNKTiCOzI7fjq8KKyuk16TDpNekr6TXobwgI0pOIKTXpMOk16SvpNehvAorK6TXpMsgI1QzNSCk16TLCisrpNekyyAjVDM1IKXXpcsKKyuk16TLpOsgI1QzNSCl16XLpesKKyuk16TLpOukwaTlpKYgI1QzNSCl16XLpeu/3worK6TXpOmkyqTqpKIgI0pOIKXXpemlyqXqpaIKKyuk16TqpKak86SzICNUMzUgpNek6qSmpPOksworK6TXpOqk16TqpNGkw6TRICNKTiCl16Xqpdel6qXRpcOl0QorK6TXpOqk66TKpOmkpKTepM6kpqTBICNDSiCl16XqpeulyqXppaSl3qXOpaalwQorK6TXpOqk66TKpOmkpKTepM6kpqTBICNDSiCOzI7fjtiO2Y7FjteOso7PjsmOs47BCisrpNek6qTrpMqk6aSkpN6kzqSmpMEgI0pOIKXXpeql66XKpemlpKXepc6lpqXBCisrpNek6qTrpMqk6aSkpN6kzqSmpMEgI0pOII7Mjt+O2I7ZjsWO146yjs+OyY6zjsEKKyuk16TqpPOkoqS/pN4gI1QzNSCl16XqpfPGrAorK6TXpOukrqSzICNKTiCl16Xrpa6lsworK6TXpOuk4qTKICNKTiCl16XrpeKlygorK6TXpO2kraS3pK2ku6SkICNUMzUgo9Cj0qPPo9ij2bWswKkKKyuk16TtpK+ktyAjVDM1IKXXpe2lr6W3CisrpNek7aS3pN+k8yAjVDM1IKXXpe271MyxCisrpNek7aS4pKekr6TIpKikw6SvpLkgI0tLIKXXpe2luKWnpa+lyKPYCisrpNek7aS4pKekr6TIpKikw6SvpLkgI1QzNSCl16Xtpbilp6WvpchYCisrpNek7aS4pKekr6TIpKikw6SvpLkgI1QzNSCl16Xtpbilp6Wvpcij2AorK6TXpO2kuKSnpK+kyKSxobwgI0tLIKXXpe2luKWnpa+lyKPLCisrpNek7aS4pKekr6TIpLGhvCAjVDM1IKXXpe2luKWnpa+lyKPLCisrpNek7aS4pKekr6TIpLGkqCAjVDM1IKXXpe2luKWnpa+lyEsKKyuk16TtpNCkrKTzpMCks6SmICNUMzUgpdel7aXRpayl86XAubsKKyuk16TtpNGkrKTzpMCkv6TvpKIgI1QzNSCl16XtpdGlrKXzpcClv6XvobwKKyuk2KG8pOKkyqG8ICNKTiCk2KG8peKlyqG8CisrpNikpKSipPMgI0pOIMq/sMIKKyuk2KSkpKKk8yAjVDM1IMq/sMIKKyuk2KSkpLWku6TEICNUMzUgysS6v8DiCisrpNikp6SoICNDSiAooa2OpaLPjqVgKaTYpKehvAorK6TYpKekqCAjQ0ogpNikp6HBCisrpNikqKSopK2k36TppKSkwKSipMukyqTDpL+k0KTDpKuk6qTKpPOkwCAjQ0ogpNikqKG8t6+l6aWkpcChvKTLpMqkw6S/pNCkw6SrpOqkyqTzpMAKKyuk2KSzICNUMzUgsfoKKyuk2KTEpLAgI0NKID4+ofuh+6TYufCksAorK6TYpMqkriAjSk5TIKTYpMqkrgorK6TYpMqkriAjVDM1IKTYpMqkrgorK6TYpM6k2KTOpOKk2KS4ICNKTiCk2KTOpNikzqTipNikuAorK6TYpNyk8yAjVDM1IKTYpNyk8worK6TYpPOkyqSmpL8gI1QzNSDK0aTKss4KKyuk2aTDpL2kpiAjVDM1IMrMwfEKKyuk2aTTpLekoyAjSk4gpdml06S3pKMKKyuk2aTrpMCk86THpKOhvKSipOmktyAjSk4gpdml66XApfOlx6Wjoby506TppLcKKyuk2aTspOKk6SAjSk4gpdml7KXipekKKyuk2aTzpK0gI1QzNSDK2LTvCisrpNmk86S4pOekzqTppK+krKStICNUMzUgyti96qTOze698aStCisrpNmk86S8pPOkq6TzICNKTiCl2aXzpbyl87TECisrpNqhvKS4pNOk5aG8ICNUMzUgpdqhvKW4pdOl5aG8CisrpNqksaTQpLMgI1QzNSCl2qWxyKIKKyuk2qSxpNykw6SvpLkgI1QzNSCl2qWxpdylw6WvpbkKKyuk2qSzpOogI0NKIKTapLOk6gorK6TapMMgI0NKIKTapMMKKyuk2qTDpMggI1QzNSCl2qXDpcgKKyuk2qTDpMik3KTIpOsgI1QzNSCl2qXDpcil3KXIpesKKyuk2qTJICNUMzUgpdqlyQorK6TapMmk1aSjpOqkoiAjVDM1IKTapMmk1aSjpOqkogorK6TapMmk1aSjpOqkoiAjVDM1IKXapcml1aWjpeqlogorK6TapOSk86SwICNKTiCl2qXkpfOlsAorK6TapOSk86SwICNUMzUgpdql5KXzpbAKKyuk2qTqpKsgI1QzNSCl2qXqpasKKyuk26G8pLmkr6TppMOkt6TjobwgI0pOIKXbobyluaWvpemlw6W3peOhvAorK6TbobykuaSvpOmkw6S3pOOhvCAjVDM1IKXbobyluaWvpemlw6W3peOhvAorK6TbpKUgI0pOIKHKjt+i8o7focsKKyuk26SlICNKTiCOzo6pCisrpNukpiAjVDM1IMukCisrpNukpqSopKSk1aTzpKik86TtpK8gI1QzNSDK9bHKyq6x7M+9CisrpNukpqSxpKQgI0NOIMrxt9QKKyuk26SmpLGkpCAjVDM1IMrxt9QKKyuk26SmpLik56SmpOKkyqTrICNKTiDLzNvqpeKlyqXrCisrpNukpqS5pK+k6aTDpLek46SiICNUMzUgpduhvKW5pa+l6aXDpbel46G8CisrpNukpqS9pK+kq6SkpNIgI1QzNSDLocKnsvPI8gorK6TbpKakwSAjVDMwIMr8w9YKKyuk26SmpMakpCAjSk4gy6HE7gorK6TbpKuk8yAjVDMwIMrdtMkKKyuk26SvpMikt6TzpLGk86THpOSk6aTspOuk4qTKobwgI0pOIMvMxc2/wLf9pMe7pqTppOyk66XipcqhvAorK6TbpK+k26SvpLWkxKS1pMQgI0NOIMvMy8y7pbulCisrpNukr6TbpK+ktaTEpLWkxCAjVDM1IMvMy8y7pbulCisrpNuksKTApKQgI1QzNSCk26SwpMCkpAorK6TbpLcgI1QzNSDAsQorK6TbpLekr6TzICNKTiCh+aSvpPMKKyuk26S3pOUgI1QzMCDK3bzpCisrpNukt6TlpM+koqTppLcgI0NKIMrdvOmkz7nTpOmktworK6TbpLmkoyAjQ0ogpduluaWjoaahpqGmCisrpNukuaSjICNDSiCOzo69jqiOpY6ljqUKKyuk26S5pKMgI0pOIKXbpbmloworK6TbpLyk8yAjVDMwIMrdwbQKKyuk26TDpLWk7yAjVDM1IMqnwvQKKyuk26TDpMikvqTMICNLSyCl26XDpcilvqXMCisrpNukw6TIpL6kzCAjVDM1IKXbpcOlyKW+pcwKKyuk26TNICNKTiC5/KGhCisrpNukzaSqpKYgI1QzNSC5/LKmCisrpNukzqSqpM6ks6TeICNUMzUgseqkzqWzpd4KKyuk26TgpKak6aTzICNUMzUgpdul4KG8peml8worK6TbpOCkpqTppPOkpqS/pOykxiAjQ0ogpdul4KG8peml88LHpL+k7KTGocQKKyuk26ThpNGksiAjVDM1IKXbpeGl0aWyCisrpNuk6aToICNDSiCk26TppOgKKyuk26TvpKSkyKTZobykuaSrpPOkraTnpKYgI0pOIKXbpe+lpKXIpdmhvKW5tM+2tgorK6TbpPMgI1QzNSDL3AorK6TbpPOksaTKpLAgI0pOIMvcssikyqSwCisrpNuk86S3pMQgI1QzNSDL3LzBCisrpNuk86S5pOwgI1QzNSDL3KW5pewKKyuk26TzpLmk7KS1pPOkraTnpKakwKSkICNKTiDL3KW5pey7sLe7xO8KKyuk26TzpLmk7KTOpM+kvyAjSk4gy9yluaXspM60+gorK6TcobykyaSkpMGk6aTzICNUMzUgpdyhvKXJsOzN9worK6TcpKYgI1QzNSDLvAorK6TcpKakwCAjVDM1IMvAwswKKyuk3KSmpOGkpCAjVDM1IMu0zL8KKyuk3KSqpOukuiAjSk4gpdyhvKXrpboKKyuk3KStpPMgI1QzMCCk3KStpPMKKyuk3KSvpKqk86TKICNUMzUgy8299worK6TcpK+kwaTzpKuk76SkpMGk5aSupMCk76TzICNKTiCk3KSvpMGk86GipKuk76SkpMGk5aSupMCl76XzoaoKKyuk3KSvpMikpiAjSk4gzNrF4QorK6TcpK+kyKSmICNUMzUgzNrF4QorK6TcpK+kzqSipMSks6S/pPMgI0pOIMvNpM6koqTEpLOkv6TzoaoKKyuk3KSvpM6koqTEpLOkv6TzICNKTiDLzaTOpKKkxKSzpL+k86GqobMooa2hvGApjskKKyuk3KSvpM6ks6SmpOKk86TipNikpKS1pLWk7KS9pKakx6S5ICNDSiCl3KWvpM7m6sznpOLKxLq/pLWk7KS9pKakx6S5CisrpNyksaSnICNDSiCl3KWxpacKKyuk3KSzICNSNSCx+gorK6TcpMAgI1QzNSDK6MLMCisrpNykw6StpKKksiAjSk4gobMoYKeloa0ppc6l3KXDpa2loqWyCisrpNykw6StpKKksiAjSk4gobMoYKeloa0pjsmOzo7ejq+Ot46xjrmO3gorK6TcpMOkraSipLIgI0pOIKXcpcOlraWipbIgCisrpNykw6StpKKksiAjSk4gjs6O3o6vjreOsY65jt4gCisrpNykw6StpKKksiAjVDM1IKXcpcOlraWipbIKKyuk3KTDpK2kxqTzpLcgI1QzNSDL1rWvxbe7yAorK6TcpMOkraTJpOmkqKTipPMgI0pOIKTcpMOkraXJpemkqKTipPOhoQorK6TcpMOkt6TlobykyCAjSk4gpdylw6W3peWhvKXICisrpNykx6SjpKSkuqTTpKSkyCAjVDM1IKXcpcelo6G8pbql06G8pcgKKyuk3KTcpPMgI1QzNSCl3MvfCisrpNyk3KTzICNUMzUgy9Cl3KG8pfMKKyuk3KTcpPMgI1QzNSDL0KXcpfMKKyuk3KTcpPOkuaTsICNUMzUgpdyl3KXzpbml7AorK6TcpN+k56SmICNDSiCk3KTfpOehvAorK6TcpN+k56SmICNUMzUgpNyk36TnobwKKyuk3KTrpLik56SiICNKTiCk3KTrpLik56SioqF5QkVuY2NrRk9VCisrpNyk86SvpOmkuSAjVDM1IKXcpfOlr6XppbkKKyuk3KTzpLWkpCAjVDM1IMvfus8KKyuk3KTzpLWkpKS7pPOku6SkICNUMzUgy9+6z8DowLgKKyuk3KTzpMGk5aSmICNUMzUgy9+/3worK6TdICNDSiCk3QorK6Tdobykq6TzICNKTiChyqH7uP2h+yqhy47Ojt+OsI62jt0KKyuk3aG8pKuk8yAjSk4gpd2hvKWrpfMKKyuk3aG8pOuk3qTzICNKTiCl3aG8peul3qXzCisrpN2koiAjVDM1IKXdpaIKKyuk3aSkpLqk8yAjVDM1IKXdpaSluqXzCisrpN2kpKS6pPOkuaTsICNUMzUgpd2lpKW6pfOluaXsCisrpN2kqKS/pPMgI0pOIKXdpaikv6TzCisrpN2kqKS/pPMgI1QzNSCl3aWopL+k8worK6TdpKuhvKTzICNDSiAooayn1aGsKaXdpauhvKXzCisrpN2kq6G8pPMgI0NKICiO36fVjt8pjs6O3462jrCO3QorK6TdpKuhvKTzICNDSiCl3aWrobyl8worK6TdpKuhvKTzICNDSiCOzo7fjraOsI7dCisrpN2kq6G8pPMgI0pOICiO36fVjt8pjs6O3462jrCO3QorK6TdpKuhvKTzICNKTiCl3aWrobyl8worK6TdpKuhvKTzICNKTiCOzo7fjraOsI7dCisrpN2ks6G8pOogI0NKIKXdpbOhvKXqCisrpN2ks6G8pOogI0NKII7Ojt+Ouo6wjtgKKyuk3aS5pMiktaTzICNKTiCl3aW5pciktaTzCisrpN2kw6TdICNKTiCk3aTDpN0KKyuk3aTDpN0gI0pOIKXdpcOl3QorK6TdpMOk3SAjVDM1IKTdpMOk3QorK6TdpMOk3SAjVDM1IKXdpcOl3QorK6TdpOqktKTzpOKkyqG8ICNKTiChoaGhoaGl3aXqpbSl86XipcqhvAorK6TdpOqktKTzpOKkyqG8ICNKTiCl3aXqpbSl86XipcqhvAorK6TdpOukyKSspOuktCAjVDM1IMnyxrqy57jsCisrpN2k7CAjVDM1IKXdpewKKyuk3aTzpK2k86SrpPMgI0NOIKXdpfOlraXzpaul8worK6TdpPOkraTzpKuk8yAjVDM1IKXdpfOlraXzpaul8worK6TdpPOkwKSkICNDTiCl3aXzwucKKyuk3aTzpMCkpCAjVDM1IKXdpfPC5worK6TdpPOk0KS3ICNDTiCl3aXztrYKKyuk3aTzpNCktyAjVDM1IKXdpfO2tgorK6TeICNKTiDL4gorK6TeICNUMzUgy+IKKyuk3qG8pKyk7KTDpMikoqTzpMmk1aTppPOkvaTvICNKTiCl3qG8payl7KXDpcih9aXVpeml86W9pe8KKyuk3qG8pLehvCAjSk4gpd6hvKW3obwKKyuk3qG8pLqk5CAjSk4go82jwaPSo9OysAorK6TeobykwSAjS0sgpd6hvKXBCisrpN6koaSmoauktaSyICNUMzUgobMoYKeloa0ppc6l3qWhpfSltaWyCisrpN6koaSmoauktaSyICNUMzUgobMoYKeloa0pjsmOz46njrOO3o67jrmO3gorK6TepKKkqqTBpMSksSAjQ0ogpN6kos3upMHD5aSxCisrpN6koqSqpPOkv6SkpMCktyAjQ0ogpN6korjmwuekwKS3CisrpN6koqTBICNUMzUgpd6hvKXBCisrpN6kpKSmobwgI1QzNSCl3qWkpaahvAorK6TepKSkrqTnpK8gI1QzNSCjzaP5tswKKyuk3qSkpK+kvaS9pNWkyCAjVDM1IKXepaTKtaW9pdWlyAorK6TepKSkvyAjQ04gpd7IxAorK6TepKSkvyAjVDM1IKXeyMQKKyuk3qSkpL+k86TapPOkrqTzICNKTiCk3qSkpL+k86XapfOlrqXzCisrpN6kpKTLpMOkwSAjSk4gpd6lpKXLpcOlwaGhCisrpN6kpKTTpKSk4CAjVDM1IKXepaSl06G8peAKKyuk3qSkpPOkyaSvpOmkw6S3pOOkoiAjVDM1IKXepaSl86XJpa+l6aXDpbel46G8CisrpN6kpiAjSk4gpd6lpgorK6TepKYgI1QzNSCl3qWmCisrpN6kpqS5pNGkw6TIICNUMzUgpd6lpqW5pdGlw6XICisrpN6kqKS5pOwgI1QzNSDBsKW5pewKKyuk3qSopMCksaSkpLggI0pOIMGwxcS3xLyhCisrpN6kqqG8ICNKTiCl3qWqobwKKyuk3qSqpKak4qTKpNWkoaG8ICNKTiDL4rKmpeKlyqXVpaGhvAorK6TepKuhvCAjVDM1IKXepauhvAorK6TepKukoiAjVDM1IKXepauhvAorK6TepKukpCAjVDM1IMvis6YKKyuk3qSrpMQgI0s1IKTepKukxAorK6TepKukxKSvpMOkxqSkpKakq6StpOKkpCAjQ0ogpN6kq6TEpK+kw6TGpKSkpqSrpa2l4qWkCisrpN6kraSzICNKTk0gpd6lraWzCisrpN6kraSzICNKTk0gy+K1tLvSCisrpN6kraSzICNUMzUgpd6lraWzCisrpN6kraSzICNUMzUgy+K1tLvSCisrpN6kraTOpOukrSAjSk4gy9LM7s6xybEKKyuk3qSwpN6ksCAjS0sgpN6ksKTepLAKKyuk3qSwpO0gI1QzNSDL7gorK6TepLGkpKTMICNUMzUgyemksbikCisrpN6ks6TEICNUMzUgy+K5/AorK6TepLOkyCAjSk4gv78KKyuk3qSzpNShvCAjSk4gpN6ks6TUobwKKyuk3qSzpNShvCAjVDM1IKTepLOk1KG8CisrpN6ks6TUpKQgI1QzNSCk3qSzpNShvAorK6TepLOk1KS5pMggI1QzNSCk3qSzpNSkuaTICisrpN6ktaSqICNKTk0gpN6ktaSqCisrpN6ktaSqICNKTk0gpd6ltaWqCisrpN6ktaSqICNKTk0gwLXDyworK6TepLWkqiAjVDM1IKTepLWkqgorK6TepLWkqiAjVDM1IKXepbWlqgorK6TepLWkqiAjVDM1IMC1w8sKKyuk3qS1pOCkzaG8pOikq6TDpLOkpqSjpLqkyqSopMqkpKTvpMikuKSrpMOksyAjSk4gpd6ltaXgpc2hvKXoocp3aXRooaGlyqWopcqlpKXvocsKKyuk3qS1pOQgI0pOTSCl3qW1peQKKyuk3qS1pOQgI1QzNSCl3qW1peQKKyuk3qS1pOiktyAjSk5NIMC1tcEKKyuk3qS3obyk1iAjVDM1IKXepbehvKXWCisrpN6kt6SkpNYgI1QzNSCl3qW3obyl1gorK6TepLek6qTIICNKTiCl3qW3peqlyAorK6TepLek6qTIICNUMzUgpd6lt6XqpcgKKyuk3qS3pPOkpKTppM2kpKTAobwgI0pOIKXepbel86WkpemlzaWkpcChvAorK6TepLek86S1pPMgI0NKIKTepLek86S1pPOhpqGmoaYKKyuk3qS4pOGkwKTKobwgI0pOIKXepbil4aXApcqhvAorK6TepLik7KS5ICNUMzAgpd6luKXspbkKKyuk3qS4pOykuaTepPMgI0pOIKXepbil7KW5pd6l8worK6TepLik8qS/ICNUMzUgpd6luKXypb8KKyuk3qS5pKogI0pOTSCl3qW5paoKKyuk3qS5pKogI1QzNSCl3qW5paoKKyuk3qS5pLSk3yAjVDM1IKXepbmltKXfCisrpN6kuaS/ICNTVUMgpN6kuaS/CisrpN6kuaS/obykpKTEpOKkzqS/pM6k4CAjQ0ogpd6luaW/obyhoqSkpMSk4qTOpL+kzqTgCisrpN6kuqSmICNDSiCl3qW6obwKKyuk3qS6pKYgI0NKII7Pjr2O3o6wCisrpN6kuqS4pOWhvCAjVDM1IKTepLqluKXlobwKKyuk3qS9pLMgI1QzNSCl3qW9pbMKKyuk3qS/ICNDSiCk3qS/oakKKyuk3qS/obyk6iAjVDMwIKXepb+hvKXqCisrpN6kv6G8pOogI1QzMCCl3qW/ocGl6gorK6TepL+hvKTqpK2k46TppK6k46SvpLWkxKTIpKYgI0tLIKXepb+hvKXqpa2l46XptdS7psXeCisrpN6kv6G8pOqkraTjpOmkrqTjpK+ktaTEpMikpqSipOmktyAjSk4gpd6lv6G8peqlraXjpem11Lumxd6506TppLcKKyuk3qS/obyk6qStpOOk6aSupOOkr6S1pMSkyKSmpL2kpqS5pKQgI0pOIKXepb+hvKXqpa2l46XptdS7psXewe2/4worK6TepL+hvKTqpLSkpiAjSk4gTUFUQUFSSbnmCisrpN6kv6G8pOqkyqTkpLek56SvpPKkxKSvpO2kpiAjSk4gpd6hvKW/peqkyszrv6mk8rrupO2kpgorK6TepL+hvKTqpOGkwKTrICNKTiCl3qW/obyl6qXhpcCl6worK6TepL+hvKTqpOGkwKTrICNKTiCOz47AjrCO2I7SjsCO3o7ZCisrpN6kv6SipOqkuaTsICNUMzUgpd6lv6G8peqluaXsCisrpN6kv6SipOqkwaTlpKYgI1QzNSCl3qW/obyl6r/fCisrpN6kv6SqpKqktaSrpKsgI0NKIKTepL/C57rlpKsKKyuk3qS/pKqkqqS1pKuk5CAjQ0ogpN6kv8LnuuWk5AorK6TepL+kyqSspL+kuaTspKsgI0NKIKTepL+xysXEpbml7KSrCisrpN6kwKTgICNKTiCl3qXApeAKKyuk3qTBpNOhvKTTobykqKS5ICNLSyCk3qTBQkJTCisrpN6kwaTTpKSk06SkpKikuSAjVDM1IKTepMFCQlMKKyuk3qTDpL+k6iAjVDMwICCl3qXDpb+l6gorK6TepMOkv6TqICNUMzAgpN6kw6S/pOoKKyuk3qTDpMGk56TipMqhvCAjSk4gpd6lw6XBpeel4qXKobwKKyuk3qTEpKQgI1QzNSC+vrDmCisrpN6kxKS/pLGksyAjSk4gvr6kv6Sxu9IKKyuk3qTEpMCkpKTpICNUMzUgvr7KvworK6TepMSkwKS/pKukyCAjSk4gvr7FxLe8v80KKyuk3qTEpOogI1QzNSC616TqCisrpN6kxKTqpKKkraS/ICNKTiC616Tqy7CkraS/CisrpN6kxKTqpMCkyKTEpLKkraTAICNKTiC616TqpMCi9sbNt+KkwKGqCisrpN6kxSAjVDM1IKXepcUKKyuk3qTIpNCk1aTfpKogI0pOIMWqvuzKuMPLCisrpN6kyaSrICNUMzUgpd6lyaWrCisrpN6kyaTEpKukpCAjVDM1IMHru8ikpAorK6TepMuhvCAjSk4gpd6ly6G8oaEKKyuk3qTLobykr6TepMOkt6TlpOuhvKTgICNKTiCl3qXLobylr6XepcOlt6XlpeuhvKXgCisrpN6ky6G8pK+k3qTDpLek5aTrobyk4CAjSk4gpd6ly6G8pa+l3qXDpbel5aXrobyl4CAKKyuk3qTSpKOkoiAjSk4gpd6l0qWjpaIKKyuk3qTSpKOkoiAjSk4gjs+Oy46ojrEKKyuk3qTSpKOkoiAjVDM1IKXepdKlo6WiCisrpN6k0qSjpKKko6TnpKUgI0pOIKXepdKlo6WipKOk56SlCisrpN6k0qSjpKKko6TnpKUgI0pOII7PjsuOqI6xpKOk56SlCisrpN6k26SmpMSkq6SkICNUMzUgy+LLobvIpKQKKyuk3qTcpPMgI1QzNSDL9aXcobyl8worK6TepNyk8yAjVDM1IMv1pdyl8worK6TepN2hvKTpICNDSiCl3qXdobyl6QorK6TepN4gI0NKIKHKoa2n1aGuocul3qXeoaahpqGmCisrpN6k3iAjQ0ogocqhrafVoa6hy47Pjs+hpqGmoaYKKyuk3qTeICNKTiChyqGtp9WhrqHLpd6l3qGmoaahpgorK6TepN4gI0pOIKHKoa2n1aGuocuOz47PoaahpqGmCisrpN6k3qS0pPMgI1QzNSCl3qXepbSl8worK6TepN6k4qTKobyku6SkpMGk56SmpLogI0pOIKXepd6l4qXKobzArsS5v94KKyuk3qTepPMgI0pOIKXepd6l8worK6TepN6k8yAjVDM1IKXepd6l8worK6TepOCksyAjVDM1IKXepeClsworK6TepOEgI1QzNSDGpgorK6TepOmkpKSipPMgI0pOIKXepemlpKWipfMKKyuk3qTppLmkv6G8ICNKTiCl3qXpoaaluaW/obwKKyuk3qTppM2hvKToICNKTiCl3qXppc2hvKXoCisrpN6k6aTcpKYgI0pOIKXepenLtworK6TepOmk3yAjSk4gpd6l6cj+CisrpN6k6aTpobwgI0pOIKXepeml6aG8CisrpN6k6aTpobykwKTzpLWhvKS6ICNKTiCl3qXppemhvKXApfOltaG8pboKKyuk3qTppOmkyaTOICNKTiCl3qXppenFwgorK6TepOmk6qG8pN6k8yAjSk4gpd6l6aXqobyl3qXzCisrpN6k6qTiICNKTiDd3MH0CisrpN6k6qTiICNUMzUgpN6k6qTiCisrpN6k66SkpLGkpCAjVDM1ILTdsOa3zworK6TepOukuaTkICNKTiCjzaPBo9Kj07KwCisrpN6k66TBICNKTiCl3qXrpcEKKyuk3qTrpMEgI1QzNSCl3qXrpcEKKyuk3qTrpMGk3aS5pMggI1QzMCCl3qXrpcGl3aW5pcgKKyuk3qTrpN8gI0pOILHfyP4KKyuk3qTrpN+k36TipMqhvCAjSk4gtN28qqXipcqhvAorK6TepO2k8yAjVDM1IKXepe2l8worK6TepO+kt6SupLMgI0pOIKTepO+kt6WupbMKKyuk3qTzICNUMzUgy/4KKyuk3qTzpKSk86THpPOkt6TjICNKTiDL/rD3xcW81gorK6TepPOkrKTNpL+kuaTsICNUMzUgzKGy6KXNpb+luaXsCisrpN6k86StpPOkqKSwpLwgI1QzNSCl3qXzpa2l80VYRQorK6TepPOkrqTjpOsgI1QzNSCl3qXzpa6l46XrCisrpN6k86S6pOogI1QzNSDSxKW6peoKKyuk3qTzpLuhvCAjQ0ogpd6l86W7obwKKyuk3qTzpLuhvKThobykv6G8ICNUMzUgpd6l86W7obyl4aG8pb+hvAorK6TepPOku6SopOGkqKS/pKIgI1QzNSCl3qXzpbuhvKXhobylv6G8CisrpN6k86TJpK+ku6SoICNDSiCl3qXzpcmlr6W7obwKKyuk3qTzpNykpiAjSk4gpd6l86XcpaYKKyuk36G8pMik3KG8pOsgI0pOIKXfobylyKXcobyl6worK6TfpKSky6TjpKKkv6TzICNUMzUgpd+hvMbzpeOhvKS/pPMKKyuk36SmpMogI0pOIKTfpKakygorK6TfpKukqyAjS0sgpN+kq6SrCisrpN+kq6SrICNUMzUgpN+kq6SrCisrpN+kq6TJpKKk8yAjSk4gpN+kq6TJsMMKKyuk36SrpMmkoqTzpMqkpKTWICNKTiCk36SrpMmww8biyfQKKyuk36StobykqiAjSk4gpd+lraG8paoKKyuk36SupMakx6SrpK2k3qS3pL8gI0NKILGmvOqkx73xpK2k3qS3pL8KKyuk36SupNKksiAjVDM1ILGmpNKksgorK6TfpLOk36SzpMqkoqS5ICNLSyDW4L33pN+ks6XKobyluQorK6TfpLWkq6SrpKqk6iAjVDM1IMj+uuS54c6kCisrpN+kt6TjpOKkyqG8ICNKTiDI/rzTpeKlyqG8CisrpN+kt6TnpK+kr6TzICNUMzUgzKS/qbevCisrpN+kuaS6pOKkyqG8ICNKTiC00c7rpeKlyqG8CisrpN+kuaS/obyk26SlICNKTiBNci6Ozo6pCisrpN+kuqS0pOqk6SAjSk4gv+WltKXqpekKKyuk36S6pLSk6qTpICNUMzUgv+WltKXqpekKKyuk36S+pM2kuqTfICNKTiC5wsHNCisrpN+kvqTNpLqk3yAjVDM1ILnCwc0KKyuk36S/pOmkpKTSpO2krSAjVDM1ILjmvOrA9srYtO8KKyuk36TBpOUgI0pOICgqJy0nKikKKyuk36TBpOUgI0pOIKTfpMGk5QorK6TfpMOkt6G8ICNKTiCk36TDpLehvAorK6TfpMOkt6G8ICNUMzUgpN+kw6S3obwKKyuk36TDpLekpCAjVDM1IKTfpMOkt6G8CisrpN+kw6TVpKOhvKSqpOSksyAjSk4gpd+lw6XVpaOhvL/Gu9IKKyuk36TEpLSk7SAjVDM1IKOzo7KjtaO2CisrpN+kxKTfICNUMzUgo7OjsqOzCisrpN+kxKTfpOKkyqG8ICNKTiCjs6Oyo7Ol4qXKobwKKyuk36TJpM2kqCAjVDM1IKXfpcmwuQorK6TfpMmk6qSspKik6yAjVDM1IM7Qs78KKyuk36TKobwgI0pOIKXfpcqhvAorK6TfpMqku6TKpOakrSAjSk4gv+XApcy+wOMKKyuk36TKpLukyqTmpK0gI1QzNSC/5cClzL7A4worK6TfpMqkxaStpLik56SmpNukpqTaobykuCAjS0sgv+XMtbfuvvDK86XaobyluAorK6TfpMqk3aTzICNUMzUgpN+kyqTdpPMKKyuk36TKpN+kwaTnpPMgI1QzNSDG7qXBpeel8worK6TfpMqk36TipOqk3qTBICNLSyDG7r+5xK4KKyuk36TKpN+k4qTqpN6kwSAjVDM1IMbuv7nErgorK6TfpMqk4qTIICNUMzUgpd+lyqTipMgKKyuk36TKpOKkyKS1pPMgI0pOILi7pLWk8worK6TfpMukrqSzICNKTiCl36XLpa6lsworK6TfpMuk4qTpICNKTiCl36XLpeKl6QorK6TfpM6k7yAjVDM1IMynztgKKyuk36TfpLqk5KS1pPMgI1QzNSCl36XfpbqysKS1pPMKKyuk36TfpMqkt6TipMqhvCAjSk4gvKqkyqS3peKlyqG8CisrpN+k4KTpICNKTlMgu7DCvAorK6TfpOCk6SAjVDM1ILuwwrwKKyuk36TjpKKkwKSkICNUMzUgpN+k46HBwucKKyuk36TjpMOkryAjSk4gpd+l46XDpa8KKyuk36TnpKUgI0pOIKTfpOekpQorK6TfpOikpiAjSk4gpN+k56SlCisrpN+k6aSkpMukw6StICNUMzUgzKTN6Mb8ta0KKyuk36TrpK+kq6TVpKcgI1QzNSCl36Xrpa+lq6XVpacKKyuk36TzpMkgI1QzNSDMscXZCisrpN+k86TKobykqqTBpLGkxKG8ICNKTiCk36TzpMqhvKSqpMGksaTEobwKKyuk36TzpMqkq6TppM6kqqTNpKykpCAjVDM1IKTfpPOkyqSrpOmkzqSqpM2krKSkCisrpOCkpKS/ICNDTiCl4MjECisrpOCkpSAjSk4gpOCkpQorK6TgpKuhvKTHICNKTiCl4KWrobylxworK6TgpKukxKSvpM2k8yAjSk4gpeClq6TEpK/HsAorK6TgpK6k5aG8ICNKTiCl4KWupeWhvAorK6TgpLGk6aG8ICNKTiCl4KWxpemhvAorK6TgpLekq6S0ICNUMzUgw+7kxgorK6TgpLek0KG8ICNKTiCl4KW3pdChvAorK6TgpLek5aSmICNUMzUgzLW9rQorK6TgpLek56SvICNUMzUgzLW/pgorK6TgpLik66S3ICNUMzUgzLWw9QorK6TgpLmhvKTLpOcgI0pOIKXgpbmhvKXLpecKKyuk4KS5pKsgI1QzNSCl4KW5pasKKyuk4KTDpK8gI0pOIKXgpcOlrworK6TgpM2kqiAjSk5NIKXgpc2lqgorK6TgpM2kqiAjVDM1IKXgpc2lqgorK6TgpM2kqqTPpKakuSAjVDM1IKXgpc2lqqXPpaaluQorK6TgpM2k8iAjSk4gpeClzaXyCisrpOCkzaTyICNKTk0gpeClzaXyCisrpOCkzaTyICNUMzUgpeClzaXyCisrpOCkz6ShICNKTiChyo7fp6WO36Ghocul4KXPpaEKKyuk4KTPpKEgI0pOIKXgpc+loQorK6TgpOmktaStICNKTiC75worK6TgpOmktaStICNUMzUgu+cKKyuk4KTppLWkraTAICNDSiC756TACisrpOCk6aTOpLek86TcpOsgI0pOIMK8pM6lt6Xzpdyl6worK6TgpOqkwKG8pOggI0pOIKXgpeqlwKG8pegKKyuk4KTqpMChvKToICNKTiCO0Y7YjsCO3o6wjtYKKyuk4aG8pOuk3KTgICNUMzUgpeGhvKXrpdyl4AorK6ThpKKk6qSjICNUMzUgpeGloqXqpaOhoqG6paKl6qWjCisrpOGkoqTqpKOkzqTNpMSkvqSmpOykuSAjVDM1IKXhpaKl6qWjpM7Z1MKkpeyluaGiobqloqXqpaOkztnUwqSl7KW5CisrpOGkpKS4ICNDTiDMwLyjCisrpOGkpKS4ICNUMzUgre0KKyuk4aSkpLmk7CAjVDM1IMy+pbml7AorK6ThpKSkuaTspM6kqqSrpPMgI0NKIMy+pbml7KTOsK20qAorK6ThpKSkuaTspM6k6KSrpPMgI0NKIMy+pbml7KTOzb20tgorK6ThpKSkxqTEICNUMzUgzMLFtAorK6ThpKSkzKTspM6k6KSrpPMgI0NKILPGpcyl7KTOzLe0tgorK6ThpKSk16TrpLek7aTDpNcgI1QzNSBNYXBsZVN5cnVwCisrpOGkpKTopNik86S4pOekpiAjQ0ogzL7NwMrWvuUKKyuk4aSkpOuk3KTgICNUMzUgpeGhvKXrpdyl4AorK6ThpKikxqTrpLmk7CAjVDM1IKXhobylxqXrpbml7AorK6ThpKuhvCAjSk4gjtKOto6wCisrpOGkq6SkpOikpiAjSk4gpeGlq6SjpOekpQorK6ThpKukpqTeobwgI0pOII7SjraOs47PjrChyo7SjraOsKHLCisrpOGkq6SqpMikv6SxICNKTiCl4aWrWsnwCisrpOGkq6SqpMukrqTqICNKTiCl4aWrpKqky6SupOoKKyuk4aSrpKuk4aTipMqhvCAjSk4gpeGlq6WrpeGl4qXKobwKKyuk4aSrpK6ksyAjSk4gpeGlq6WupbMKKyuk4aSrpLKk6aTpobwgI0pOIKXhpaulsqXppemhvAorK6ThpKukt6TppM2hvKToICNKTiCl4aWrpbel6aXNobyl6AorK6ThpKukuKSopPMgI0pOIFuhpruuoaahp10KKyuk4aSrpLikqKTzICNKTiCO0o62jryO3o60jt0KKyuk4aSrpLukpKTIICNKTiCl4aWrwLjFzAorK6ThpKukvaSmpMek4qTKpKSk6CAjSk4gpeGlq6S9pKakx6TipMqkpKToCisrpOGkq6S9pOmkzaG8pOggI0pOIKXhpaulvaXppc2hvKXoCisrpOGkq6S+pMwgI0pOIKXhpaukvqTMCisrpOGkq6TIpLGkzaG8pOggI0pOIFs6jt8vfI7fOl2OxI65jsiOsI7WCisrpOGkq6TIpLGkzaG8pOggI0pOIKXhpaulyKWxpc2hvKXoCisrpOGkq6TVpKek6aG8pMGk5yAjSk4gpeGlq6XVpael6aG8pcGl5worK6ThpKuk4qSmpLOkzaSnpOggI0pOIKXhpauO046zjrqOyI6qjtYhCisrpOGkq6TipMqhvCAjSk4gpeGlq6XipcqhvAorK6ThpKykqKTrICNKTiCl4aWspail6worK6ThpKyk0yAjS0sgpeGlrKXTCisrpOGkrKTTICNUMzUgpeGlrKXTCisrpOGkrKTfICNUMzUgvfe/wAorK6ThpK6kzqSspMcgI0pOIKXhoaalrqXOpayhpqXHCisrpOGksSAjVDM1IKThpLEKKyuk4aSxpMMgI1QzNSCk4aSxpMMKKyuk4aSxpPKk36TIpOGk6yAjQ0ogpOGksaTyx6ek4aTrCisrpOGkt6TApKQgI1QzNSCk4aS3wucKKyuk4aS5pNakvyAjVDM1ILvzxtoKKyuk4aS9pNChvCAjVDM1IKXhpb2l0KG8CisrpOGkvaTQpKIgI1QzNSCl4aW9pdChvAorK6ThpL6kt6Tjobyk6qG8ICNLSyCl4aW+pbel46G8peqhvAorK6ThpL6kt6Tjobyk6qG8ICNUMzUgpeGlvqW3peOhvKXqobwKKyuk4aS+pLek46SipOqkpCAjVDM1IKXhpb6lt6Xjobyl6qG8CisrpOGkv6TqpKsgI1QzNSCl4aW/peqlqworK6ThpL+k6qTDpK8gI0tLIKThpL+k6qTDpK8KKyuk4aTApN4gI1QzNSDM3LbMCisrpOGkx6TGobyk6CAjSk4gpeGlx6XGobyl6AorK6ThpMqktyAjSk4gzNykyqS3CisrpOGk4KTQobwgI1QzNSCl4aXgpdChvAorK6ThpOKk6aG8ICNKTiCl4aXipemhvAorK6ThpOqksaTzpMak86S3pLWk6SAjSk4gpeGl6qWxpfPFt7vIofmltaXpoaoKKyuk4aTqpOukt6SjpOuk0KG8pNChvKSwICNKTiCl4aXqpeuhpqS3pKOl66XQobyl0KG8pbAKKyuk4aTrpNik8yAjVDM1IKXhpeul2KXzCisrpOGk66TYpPOkpKS/ICNUMzUgpeGl66XYpfPIxAorK6ThpOuk3qSsICNUMzUgpeGl66XepawKKyuk4aTtpLmk0aG8ICNUMzUgpeGl7aW5pdGhvAorK6ThpO2kuaTRpKIgI1QzNSCl4aXtpbml0aG8CisrpOGk7aTzICNUMzUgpeGl7aXzCisrpOGk8yAjVDM1IMzNCisrpOGk86S/pOuk2KTrpLmkpKS/ICNUMzUgpeGl86W/peul2KXrpbnIxAorK6ThpPOkxiAjVDMwIKXhpfOlxgorK6ThpPOkyaSvpLukpyAjSk4gpeGl86XJpa+lu6WnCisrpOGk86TJpK+ku6SnpLukpKTIICNKTiCO0o7djsSO3o64jr6OqsC4xcwKKyuk4aTzpNChvCAjVDM1IKXhpfOl0KG8CisrpOGk86TQpKIgI1QzNSCl4aXzpdChvAorK6ThpPOk2KTppKIgI1QzNSCl4aXzpdil6aG8CisrpOGk86TYpOukpKS/ICNUMzUgpeGl86XYpevIxAorK6ThpPOk3KSmICNUMzUgpOGk86TcpKYKKyuk4qG8pKSkvyAjQ04gpeKhvMjECisrpOKhvKSkpL8gI1QzNSCl4qG8yMQKKyuk4qG8pLOhvCAjQ04gpeKhvKWzobwKKyuk4qG8pLOhvCAjVDM1IKXiobyls6G8CisrpOKhvKTLpPOksKSzobyk0qG8ICNDTiCl4qG8pcul86WwpbOhvKXSobwKKyuk4qG8pMuk86SwpLOhvKTSobwgI0tLIKXiobyly6XzpbCls6G8pdKhvAorK6Tiobyky6TzpLCk4KS5pOEgI0pOIKXiobyly6XzpbDMvKGjCisrpOKhvKTLpPOksKTgpLmk4aSkpL8gI0NOIKXiobyly6XzpbDMvKGjyMQKKyuk4qSipOogI1QzNSDB9M2tCisrpOKkpKS/ICNDTiCl4sjECisrpOKkpKS/ICNUMzUgpeLIxAorK6TipKakpKS/ICNUMzUgpeKhvMjECisrpOKkpqSqpLOkw6S/pL6kpiAjSk4gpOKkpsXcpMOkv6W+paYKKyuk4qSmpLKk8yAjVDM1IMzRuMAKKyuk4qSmpLOkpiAjVDM1IKXiobyls6G8CisrpOKkpqSzpM2kqKToICAjSk4gobMoYKeloa0pjsmk4qSmzeikzaSopOgKKyuk4qSmpLOkzaSopOggI0NKIKGzKGCnpaGtKaXOpOKkps3opM2kqKTooaoKKyuk4qSmpLOkzaSopOggI0NKIKGzKGCnpaGtKaXOpOKkps3opM2kqKTooaqlpqXvpaGloaXzIAorK6TipKaks6TNpKik6CAjQ0ogobMoYKeloa0pjsmk4qSmzeikzaSopOihqgorK6TipKaks6TNpKik6CAjQ0ogobMoYKeloa0pjsmk4qSmzeikzaSopOihqo6zjtyOp46njt0gCisrpOKkpqSzpM2kqKToICNDSiCk4qSmzeikzaSopOihqgorK6TipKaks6TNpKik6CAjSk4gobMoYKeloa0ppc6k4qSmzeikzaSopOihqqWmpe+loaWhpfMgCisrpOKkpqSzpM2kqKToICNKTiChsyhgp6WhrSmOyaTipKbN6KTNpKik6KGqjrOO3I6njqeO3SAKKyuk4qSmpLOkzaSopOggI0pOIKXipaals6XNpail6CEhpaal76WhpaGl8yGl4qWmpbOlzaWopeghIaWmpe+loaWhpfMhpeKlpqWzpc2lqKXoISGlpqXvpaGloaXzIQorK6TipKaks6TNpKik6CAjSk4gjtOOs466jsiOtI7WISGOs47cjqeOp47dIY7TjrOOuo7IjrSO1iEhjrOO3I6njqeO3SGO046zjrqOyI60jtYhIY6zjtyOp46njt0hCisrpOKkpqSzpM2kqKTopKak76ShpKGk8yAgI0pOIKGzKGCnpaGtKY7JpOKkps3opM2kqKTooaqOs47cjqeOp47dIAorK6TipKakvaSmpL2kpiAjQ0ogpOKkpqS9pKakvaSmCisrpOKkpqS/pKKkqqTIpLMgI1QzNSCl4qG8pb+hvMPLCisrpOKkpqS/pKKktaSkpK+k6yAjVDM1IKXiobylv6G8pbWlpKWvpesKKyuk4qSmpL+kzaTdICNDSiCk4qSmpL+kzaTdCisrpOKkpqTApOGk3SAjQ0ogpOKkpqTApOGk3QorK6TipKakwKThpN0gI1QzNSCk4qSmpMCk4aTdCisrpOKkpqTLpPOksKSzpKak0qSkICNUMzUgpeKhvKXLpfOlsKWzobyl0qG8CisrpOKkpqTfpLqk3SAjQ0ogpOKkpqTfpLqk3QorK6TipKak36S6pN0gI1QzNSCk4qSmpN+kuqTdCisrpOKkpqTipKYgI0NKIKTiobyk4qG8CisrpOKkqCAjS1Mgy6ikqAorK6TipKggI1QzNSDLqKSoCisrpOKkqqTOpK0gI1QzNSCl4qWqpc6lrQorK6TipKuhvCAjSk4gpeKlq6G8CisrpOKkrKTspL+kr6TzICNKTiCl4qWspeylv7evCisrpOKkr6SypK2kyaStpOWk8yAjS0sgzNy34qXJpa2l5aXzCisrpOKksaSxICNKTiCl4qWxpbEKKyuk4qSxpLEgI0pOII7TjrmOuQorK6TipLOkvyAjSk4gpOKks8LACisrpOKkt6S9pKak6iAjSk5TIL+5we3N/QorK6TipLekvaSmpOogI0pOU1VDIL+5we3N/QorK6TipLik7KS5ICNUMzUgyri7+qXspbkKKyuk4qS5pOmhvCAjSk4gpeKluaXpobwKKyuk4qS7ICNUMzUgpOKkuworK6TipLukoiAjVDM1IKTipLukogorK6TipL+kqiAjVDM1IKXipb/DyworK6TipMOks6TqobykyiAjSk4gpeKlw6WzpeqhvKXKCisrpOKkw6TBobwgI0pOIKXipcOlwaG8CisrpOKkw6TBobwgI1QzNSCl4qXDpcGhvAorK6TipMOkwaSkICNUMzUgpOKkw6TBobwKKyuk4qTDpMGkpCAjVDM1IKXipcOlwaG8CisrpOKkxqTNobyk6CAjSk4gpeKlxqXNobyl6AorK6TipMikq6SkpL6kr6TOpMSk6qStpMGktaSrobykyiAjSk4guLWzpMKxpM7E4KTqtPDDz6W1pauhvKXKCisrpOKkyKSrpKSkvqSvpM6kxKTqpK2kwaS1pKuhvKTKpMikvaTOpLOk1qTzpL+kwSAjSk4guLWzpMKxpM7E4KTqtPDDz6W1pauhvKXKpMikvaTOu9LKrKS/pMEgCisrpOKkyqG8ICNKTiCl4qXKobwKKyuk4qTKobykpqG8pN6k8yAjSk4gpeKlyqG8paahvKXepfMKKyuk4qTKobykq6G8pMkgI0pOIKXipcqhvKWrobylyQorK6TipMqhvKSrpPOks6SmICNLSyCl4qXKoby00bj3CisrpOKkyqG8pK+kqKS5pMggI0tLIKXipcqhvKWvpailuaXICisrpOKkyqG8pK+kqKS5pMggI1QzNSCl4qXKobylr6WopbmlyAorK6TipMqhvKSvpMOkraTzpLAgI0pOIKXipcqhvKWvpcOlraXzpbAKKyuk4qTKobyksaTzpLmksSAjSk4gpeKlyqG8t/Ky8AorK6TipMqhvKSxpPOkuaSxpKQgI0pOIKXipcqhvLfypLm32QorK6TipMqhvKS3pOWk1qTzpNekuiAjSk4gpeKlyqG8vO/KrMnbv94KKyuk4qTKobykt6TlpNak86TXpLqk4qTKobyk4qTppOmhvKTQpPMgI0pOIKXipcqhvLzvyqzJ27/epeKlyqG8oaal4qXppemhvMjHCisrpOKkyqG8pLek5aTWpPOk66SkpLqksaTDpMakpKTQpPMgI0pOIKXipcqhvLzvyqzO4L/et+jE6sjHCisrpOKkyqG8pLek5aTWpPOk66SkpLqkvqTLpMOkr6TQpPMgI0pOIKXipcqhvLzvyqzO4L/eoaGlvqXLpcOlr8jHCisrpOKkyqG8pLek5aTWpPOk66SkpLqkvqTLpMOkr6TQpPMgI0pOIKXipcqhvLzvyqzO4L/epb6ly6XDpa/IxworK6TipMqhvKS3pOekpqThpMQgI0pOIKXipcqhvL7DzMcKKyuk4qTKobykuKS+pKYgI0pOIKXipcqhvMPPwqIKKyuk4qTKobykuKTlpKak6KTzpLukpCAjSk4gpeKlyqG8o7GjtMCkCisrpOKkyqG8pL6kr6StpOWkpqStpOekr6SqpKakrqTipOmk6aG8pMmk6aSkpNChvCAjSk4gpeKlyqG8wrKhprXmtsux/LXBoaal4qXppemhvKXJpemlpKXQobwKKyuk4qTKobykv6TzpLik56SmpM6k0qTfpMQgI0pOIKXipcqhvMPCwLikzsjrzKkKKyuk4qTKobykx6SkpKuk6qTypNakxKSxpOukuaTspLOkr6S1pKSkuKTnpKak5KSvpLik5aTDpKukuKTnpKYgI0pOIKXipcqhvKTHxdyk6qTypNakxKSxpOuluaXsufG63b7yzPO9vaX2vvIKKyuk4qTKobykyKSupLOkzqSyobyk4KS3pOekw6TXICNKTiCl4qXKobykyKWupbOkzqWyobyl4KW3peelw6XXCisrpOKkyqG8pM6kpKTBpMukwSAjSk4gpeKlyqG8pM6w7Mb8CisrpOKkyqG8pM6kq6TOpLik5yAjSk4gpeKlyqG8pM7I4L33CisrpOKkyqG8pM6kq6TOpLik5yAjSk4gpeKlyqG8pM7I4L33ocq4zr/NocsgCisrpOKkyqG8pM6ku6TzpL4gI0pOIKXipcqhvKTOwOjBxAorK6TipMqhvKTPpOikpqTBpLekzaToICNKTiCl4qXKobykz83Ew9Who7vgpM2k6AorK6TipMqhvKTQpPOkySAjSk4gpeKlyqG8pdCl86XJCisrpOKkyqG8pNWkw6SrpMQgI0pOIKXipcqhvMn8s+gKKyuk4qTKobyk3qTzICNKTiCl4qXKobyl3qXzCisrpOKkyqG8pN6k8yAjSk4gjtOOxY6wjs+O3QorK6TipMqhvKTgobyk86SwpPMgI0pOIKXipcqhvKXgobyl87ezCisrpOKkyqG8pOChvKTzpLCk8yAjSk4gjreO3o66jr2OwI6wt7MKKyuk4qTKobyk4KG8pPOksKTzICNKTiCO047FjrCO0Y6wjt23sworK6TipMqhvKThpL+k66TQpPOkySAjSk4gpeKlyqG8peGlv6XrpdCl86XJCisrpOKkyqG8pOqktiAjSk4gpeKlyqG8peqltgorK6TipMqkoiAjVDM1IKXipcqhvAorK6TipMqkoqSrpPOks6SmICNUMzUgpeKlyqG8tNG49worK6TipMqkoqSvpKikuaTIICNUMzUgpeKlyqG8pa+lqKW5pcgKKyuk4qTKpKKktqTppLcgI0pOIKXipcqloqW2pemlt6GhCisrpOKkyqSipOmk1iAjVDM1IKXipcqhwaTppNYKKyuk4qTKpKSkoqTzICNKTiCl4qXKpaSloqXzCisrpOKkyqSoICNKTiCl4qXpu94KKyuk4qTKpKikwKS7pPOku6SkICNKTiCl4qXKu97A6MC4CisrpOKkyqSopOKk8yAjSk4gpeKlyqSopOKk8worK6TipMqkqqSmICNKTiCl4qXKsqYKKyuk4qTKpKsgI0pOIKXipcqlqworK6TipMqkqyAjSk4gpeKlyqWrIAorK6TipMqkqyAjSk5TIKXipcqlqworK6TipMqkqyAjVDM1IKXipcqlqworK6TipMqkqyAjVDM1ILrHw+YKKyuk4qTKpKukq6TzpM6k8yAjSk4gpeKlyqWrtNGyuworK6TipMqkq6SyICNKTiCl4qXKscYKKyuk4qTKpKuksiAjSk4gjtOOxbHGCisrpOKkyqSrpMGk46TzICNKTiCl4qXKpKukwaTjpPMKKyuk4qTKpKuk86TOpPMgI0pOIKXipcq00bK7CisrpOKkyqSrpPOkzqTzICNKTiDM0My+tNGyuworK6TipMqkrqSzpLukraTmpKykvaTqpPOkuaS/pPOkySAjSk4gpeKlyqWupbPA0Mz9paylvaXqpfOluaW/pfOlyQorK6TipMqkrqSzpNWko6TrpM+hvKTipMuhvKSrpPOksqTzpKykr6TApPMgI0pOIKXipcqlrqWzpdWlo6Xrpc+hvKXipcuhvLTJuLmz2sPECisrpOKkyqSvpO2k16S5ICNKTiCjzaPPo86jwaPDo8yjz6PQo9MKKyuk4qTKpK+k7aTzICNKTiCl4qXKpa+l7aXzCisrpOKkyqSwpOmkqKTqICAjSk4gpeKlysKit8POpAorK6TipMqksKTppKik6iAjSk4gpeKlysKit8POpAorK6TipMqksyAjSk4gpeKlyrvSCisrpOKkyqSzpPMgI0pOIKXipcqls6XzCisrpOKkyqS1pPOksaSkpMqhvCAjSk4gpeKlyqW1pfOhpqWxpaSlyqG8CisrpOKkyqS2pKSksyAjSk4gpeKlyqW2paS70gorK6TipMqkuKS+pKYgI0pOIKXipcrDz8KiCisrpOKkyqS4pOkgI0tLIKXipcqluKXpCisrpOKkyqS4pOmhvCAjS0sgpeKlyqW4pemhvAorK6TipMqkuKTppKKkpKTHpKOhvCAjVDM1IG1vbmF6aWxsYUlECisrpOKkyqS4pOmkqqTrpLCk76TpICNUMzUgbW9uYXppbGxhLm9yZyh3CisrpOKkyqS7pPOky6TzICNKTiCl4qXKwOe/zQorK6TipMqkvaSmpLekrSAjSk4gpeKlysHyvLAKKyuk4qTKpMik7aTQpLihvKTKpL+kpKSkICNKTiCl4qXKpcil7aGmpdCluKG8pcrC57DTCisrpOKkyqTLobwgI0pOIKXipcqly6G8CisrpOKkyqTOpOqkraTlpKYgI0pOIKXipcqlzqGhzfi12QorK6TipMqk2iAjS0sgpeKlyqXaCisrpOKkyqTaICNUMzUgpeKlyqXaCisrpOKkyqTbICNKTiCl4qXKpdsKKyuk4qTKpNyk8yAjSk4gpeKlyqXcpfMKKyuk4qTKpN2k7KSqpPOk4qTKpNGk66TJICNKTiCl4qXKpd2l7KWqpfOh4aXipcql0aXrpckKKyuk4qTKpN6kuKTzICNKTiCl4qXKy+K/wAorK6TipMqk36TPpPOkv6G8ICNKTiCl4qXKpd+hpqXPpfOlv6G8CisrpOKkyqTgpLcgI0pOIKXipcrD7gorK6TipMqk6qSrpLqkrSAjSk4gpeKlyqTqpKukuqStCisrpOKkyqTspKQgI0pOIKXipcrO7gorK6TipMqk7KSkICNKTiCl4qXKzu4gCisrpOKky6G8ICNKTiCl4qXLobwKKyuk4qTLpKsgI0pOIKXipculq6GmsaYKKyuk4qTLpOOhvKSvpPMgI0pOIKXipcul46G8t68KKyuk4qTLpOOhvKSvpPMgI0pOIKXipcul46G8t68gCisrpOKky6TnICNSNSCk4qTLpOcKKyuk4qTNobwgI0pOIKXipc2hvAorK6TipM2hvKTrICNKTiCl4qXNobyl6worK6TipM2kuSAjSk4gpeKlzaW5CisrpOKkzqSvpO2hvKTgICNKTiCl4qXOoaalr6Xtobyl4AorK6TipM6kuaS0pKSkpKStpKqkpKTHICNDSiCk4qTOpLmktKSkwKqkpKTHCisrpOKkzqTbpLektqSqpKak6iAjSk4gyqq0s6S3tMjH5KTqCisrpOKk0aSipOkgI1QzNSCl4qXRobyl6QorK6TipNWkoaTYpNWkoSAjSk4gpeKl1aWhpNil1aWhCisrpOKk3qG8ICNKTiCl4qXeobwKKyuk4qTfpKqkqyAjVDM1IKXipd+yrAorK6TipN+kqqSrICNUMzUg2eayrAorK6TipOKkpKTtpLWk86THobykr6Tqobyk4KS5pNqkt6TjpOsgI0pOIMXtv6eltaXzpcehvKWvpeqhvKXgU1AKKyuk4qTipKakpCAjVDM1IKXipeKhvKWkCisrpOKk4qSqpKQgI1QzNSCl4qXiobylpAorK6TipOKkwaTjpPMgI0pOIMXtpMGk46TzCisrpOKk4qTzpOmhvCAjSk4gpeKl4qXzpemhvAorK6TipOSktyAjVDM1IKXipeSltworK6TipOkgI0pOIKTipOmi9gorK6TipOmhvKTepPMgI0pOIKTipOmhvKXepfMKKyuk4qTppKik4qTzICNKTiCl4qXppKik4qTzCisrpOKk6aSqpPOk1yAjSk4gpOKk6aL2CisrpOKk6aSzICNKTiCl4qXpu9IKKyuk4qTppL+kpKS3ICNKTiCl4qXpwue7yAorK6TipOmkwaTjpKik6yAjSk4gpeKl6aXBpeOlqKXrCisrpOKk6aTSpOOkryAjSk4gpeKl6cm0CisrpOKk6aTepLik8yAjSk4gpeKl6cviv8AKKyuk4qTppN6k8yAjSk4gpOKk6aXepfMKKyuk4qTppOikt6SrpLIgI0pOIKXipem1yLHGCisrpOKk6aTpICNKTiCk4qTppOkKKyuk4qTppOmhvCAjSk4gpeKl6aXpobwKKyuk4qTppOmhvKSipOmktyAjSk4gpeKl6aXpoby506TppLcKKyuk4qTppOmhvKSrpMGk56SmICNKTiCl4qXppemhvLLdxLkKKyuk4qTppOmhvKS1pPOkuKTlpKaktyAjSk4gpeKl6aXpoby7sL3Gu84KKyuk4qTppOmhvKTBpOekpqSrpPMgI0pOIKXipeml6aG8xLm0sQorK6TipOmk6aG8pMako6G8pMAgI0pOIKXipeml6aG8pcalo6G8pcAKKyuk4qTppOmhvKTVpKmhvCAjSk4gpeKl6aXpobw0CisrpOKk6aTpobyk1qTBpOekpiAjSk4gpeKl6aXpobzJ9MS5CisrpOKk6aTpobyk3qTeICNKTiCl4qXppemhvKXepd4KKyuk4qTppOmkqKTrICNKTiCl4qXppemlqKXrCisrpOKk6aTppMikziAjSk4gpeKl6aXpxcIKKyuk4qTppOmkyKTOICNKTiCO047XjtfFwgorK6TipOmk6aTIpM6kyKTipMqkq6SyICNKTiCO047XjtfFwqHKurihy6TIjtOOxbHGocqxpqHLCisrpOKk6aTqICNKTiCl4qXppeqhprq4CisrpOKk6iAjVDM1IL+5CisrpOKk6qSipKykw6TGpN6kpKTqpN6kt6S/ICNDSiDAuaTqvuWkrKTDpMak3qSkpOqk3qS3pL8KKyuk4qTqpMGk5aSmICNUMzUgwLm/3worK6TipOsgI0pOIKXipesKKyuk4qTrpKEgI0pOICiO347bjt8pjtOO2Y6nISEKKyuk4qTrpKEgI0pOIKXipeuloQorK6TipOwgI1QzNSDPs6TsCisrpOKk7KSvpLcgI1QzNSDPs6TstvoKKyuk4qTtpM+kzqTEpOukriAjQ0ogvfS/z6TOt/WhoworK6TipPOkraSkpLek5aSspKIgI1QzNSCl4qXzpa2hvKW3peWlrKG8CisrpOKk86SvpKKk6yAjQ0ogyri256SipOuhqQorK6TipPOk66SkICNUMzAgzOXO3gorK6TkICNTVUMgpOQKKyuk5KSqICNUMzAgpeSlqgorK6TkpKqkpCAjVDM1IKTkpKqkpAorK6TkpKqkraTzICNLSyCl5KWqpa2l8worK6TkpKqkraTzICNUMzUgpeSlqqWtpfMKKyuk5KSqpM+ksiAjVDM1IKXkparGxaSyCisrpOSkqqTQICNUMzUgsrClqqXQCisrpOSkqqTVpK8gI0tLIKXkpaql1aWvCisrpOSkraSkpOIgI1QzNSCk5KStpKSk4gorK6TkpK2kxKSxpNAgI1QzNSC+xsnVpLG/zworK6TkpK2kxKSxpOSkpKTQICNUMzUgvsbJ1aSxv88KKyuk5KStpMik6iAjS0sgvsakrcS7CisrpOSkraTIpOogI1QzNSC+xqStxLsKKyuk5KStpMqkqqS7pMekqqTepKikzqSipL+k3qTipOSkraTKpKqkuyAjQ0ogvsakraTKpKqku6GipMehoqSqwbCkzsaspOK+xqStpMqkqqS7CisrpOSkraTzICNKTiDM67bQCisrpOSkraTzICNKTiDM67bQofoKKyuk5KSvpLYgI0pOIKXkpa+ltgorK6TkpK+k66TEICNUMzUgpeSlr6XrpcQKKyuk5KSvpOukxKS3pKMgI0pOIKXkpa+l66XEpLekoworK6TkpLCkw6TBpOek6qG8pMogI0pOIKXkpbClw6XBpeel6qG8pcoKKyuk5KS1pLek3yAjSk4gzaWkt6TfCisrpOSktyAjVDM1ILnhtvG71QorK6TkpLekrKTLICNUMzAgpeSlt6WspcsKKyuk5KS3pOMgI1QzNSDM67q1CisrpOSkuKTrpLekwaTlpKYgI1QzNSDM8LD1v98KKyuk5KS5pMCkuaTspMOkySAjQ04gyt3FxKW5peylw6XJCisrpOSkuaTApLmk7KTDpMkgI1QzNSDK3cXEpbml7KXDpckKKyuk5KS5pOogI1QzNSDvzAorK6TkpL2k3qG8ICNKTiCl5KW9pd6hvAorK6TkpL2k3qG8pO2ktKSkpOogI0pOIKXkpb2l3qG8KKXtpbTG/qTqKQorK6TkpMCk4qTzICNKTiCl5KXApeKl8worK6TkpMOk26G8ICNDTiCl5KXDpduhvAorK6TkpMOk26G8ICNLSyCl5KXDpduhvAorK6TkpMOk26G8ICNUMzUgpeSlw6XbobwKKyuk5KTDpNukqiAjVDM1IKXkpcOl26G8CisrpOSkxCAjSk4gpeSlxAorK6TkpMQgI1QzNSCl5KXECisrpOSkyqSspLek7yAjSk5TIKTkpMqkrKS3pO8KKyuk5KTKpKykt6TvICNUMzUgpOSkyqSspLek7worK6TkpMqkrqS1pO+k4qTKobwgI0pOIKXkpcqlrqW1pe+l4qXKobwKKyuk5KTVICNLSyCl5KXVCisrpOSk1aSmICNDTiDM8Mn3CisrpOSk1aSmICNUMzUgzPDJ9worK6TkpNWkqqSvICNLSyCl5KXVpaqlrworK6TkpNWkqqSvICNUMzUgpeSl1aWqpa8KKyuk5KTWpMuk6aTfpOKk6aTpobwgI0pOIOmupMuk6aTfpeKl6aXpobwKKyuk5KTepLakraTIpOmkw6TXICNUMzUgu7O66qXIpemlw6XXCisrpOSk3qS2pK2k76S/pOsgI1QzNSC7s7rqvsQoXl4pCisrpOSk3qTAICNKTiC7s8XECisrpOSk4aTGpL+k4qTsICNDSiCk5KThpMakv6TipOwKKyuk5KThpOwgI0NKIKTkpOGk7AorK6TkpOmkyqSkpKsgI0NKIKTkpOmkyqSkpKsKKyuk5KTqpLmkrqSvpPMgI0pOIKTkpOqkuaSut68KKyuk5KTrpK2kyqS3ICNUMzUgpOSk67WkpMqkt6GqCisrpOSk66S+ICNKTiCk5KTrpL6hqqGqCisrpOSk66TDpMak1qS3ICNDSiCk5KTrpMOkxsDhCisrpOSk7aSqpKak6CAjQ0ogpeSl7aG8paal6AorK6TkpO2kqqSmpOggI0NKII7UjtuOsI6zjtYKKyuk5KTvpOmkwaTjpPMgI0pOTSCl5KXvpemkwaTjpPMKKyuk5KTzpLik46TzICNLSyCl5KXzpbil46XzCisrpOSk86S4pOOk8yAjVDM1IKXkpfOluKXjpfMKKyuk5KTzpOSk8yAjQ0ogpOSk86TkpPMKKyuk5KTzpOSk8yAjVDM1IKTkpPOk5KTzCisrpOahvKSopLmk06G8pLGhvKTWpOukx6SvpNOkxKTDpMakt6TNICNDSiBVU0KlsaG8pdal66THvPPE36TDpMa74aTNCisrpOahvKS4obwgI1QzNSCj1aPHCisrpOahvKTmobwgI0pOIKXmobyl5qG8CisrpOakpqSkpMEgI0pOIM20o7EKKyuk5qSmpKuk8yAjSk4gzby0qQorK6TmpKakraSspMqkr6TGpN+k7KTKpKSkrKS+pKakq6SkpLukxKS5pOwgI1QzNSDNprWkpKzMtaSvpMa4q6TspMqkpLLowfyy8sDipbml7CAKKyuk5qSmpLMgI1QzNSCk5qSmpLMKKyuk5qSmpLek4yAjVDM1IM2mvNQKKyuk5qSmpLek46TipMqhvCAjSk4gzaa81KXipcqhvAorK6TmpKakt6TjpOKkyqS/ICNKTiDNprzUpeKlysLACisrpOakpqTHpKOkpKTXpO2kuKSnpK+kyCAjVDM1IFVEpdel7aW4paelr6XICisrpOakpqTJpKYgI1QzMCDNtsazCisrpOakpqTKpPOk3qTEpOogI1QzNSCk5qSmpMqk87rXpOoKKyuk5qSmpM+kyKSvpMakpKS1pOyk3qS5pL8gI0NKIFlPVaTPxsPE6qS1pOyk3qS5pL8KKyuk5qSmpNOk86TmpKaku6SkpKSkvyAjQ0ogzbnK2KGmzbnAr8jECisrpOakpqTTpPOk5qSmpLukpKSkpL8gI0NOIM25ytihps25wK/IxAorK6TmpKak06TzpOakpqS7pKSkpKS/ICNUMzUgzbnK2KGmzbnAr8jECisrpOakpqTcpKYgI0pOIG0oLV8tbSmhwY6zjteO0o68jtSOsAorK6TmpKak3KSmICNKTiCk5qSmy7cKKyuk5qSmpOGkpKSzpMakpCAjVDM1IM2tzL64x8TqCisrpOakpqTqpOekpqSrICNUMzAgza3OwbK9CisrpOakrKTfICNUMzUgz8QKKyuk5qStpKqky6SupOqkwKTrpN4gI0pOIMDjpKqky6SupOqkwKTrpN4KKyuk5qStpLik66S3ICNUMzUgwMKw9QorK6TmpK2kuKTrpLekrqTlpKaky6TlpKYgI0pOIMDCsPW17cb9CisrpOakw6StobwgI0pOIKXmpcOlraG8CisrpOakw6StobwgI1QzNSCl5qXDpa2hvAorK6TmpMOkraSkICNUMzUgpealw6WtobwKKyuk5qTHpMCkq6TpICNUMzUgpOakx6TApKuk6aGmoaahpgorK6TmpMukw6SvpLmk1aTppMOkt6TlICNUMzUgdW5peKXVpemlw6W3peUKKyuk5qTWpL8gI1QzNSDM/cbaCisrpOak8yAjSk4gpOak8worK6TmpPOkq6G8pLkgI0pOIKXmpfOlq6G8pbkKKyuk5qTzpKuhvKS5ICNUMzUgpeal86WrobyluQorK6TmpPOkq6SipLkgI1QzNSCl5qXzpauhvKW5CisrpOak86TmpPMgI0NKIKTmpPOk5qTzCisrpOak86TmpPMgI1QzNSCk5qTzpOak8worK6ToICNDSiBZT6GqCisrpOggI0NKIHlvoaoKKyuk6CAjQ0ogeXAKKyuk6KSipMsgI1QzNSDC5aWipcsKKyuk6KSkobykt6TnpOKkyqG8ICNKTiCl6KWkobylt6XnpeKlyqG8CisrpOikpKG8pLek56TipMqhvCAjSk4gjtaOso6wjryOro7TjsWOsAorK6TopKakr6S3ICNUMzUgzc62+gorK6TopKakt6TRpNGkyKSvpOKk6qS/pM6k86S4pOOkpqS+pKYgI0NKIKToobykt6XRpdHGw8C5zeqk86S4pOOkpqS+obwKKyuk6KSmpLik5yAjVDM1IKTnpKWmyY7epOcKKyuk6KSmpLik56TmpKakq6SkICNKTiCk56Slpsmhq6TnpOWkpaX1pKMKKyuk6KSmpLukpCAjVDM1IM3FwLoKKyuk6KSmpMGkqKTzpKuk6aTHpMqkqqS3pMaks6SkICNUMzUgzcShocPVoaGx4KGhpKuhoaTpoaG90KGhxL6hoaS3oaGkxqGhpLOhoaSkIAorK6TopKakwaTzpMCk8yAjVDM1IM3OxMHDxAorK6TopKkgI0NKIFlPoaoKKyuk6KSpICNDSiB5b6GqCisrpOikqSAjQ0ogeXAKKyuk6KSpobykvKTVICNKTiCl6KWpobylvKXVCisrpOikqaG8pLyk1aSrpMOks6SrpLek56SmpKukw6SzpMikuCAjSk4gpeilqaG8pbyl1Siyvr7OKQorK6TopKuhvKTzICNKTiCl6KWrobyl8worK6TopK+k1qSrpKqkpiAjSk4gKKGtVqGuKaHWCisrpOikr6TWpKukqqSmICNKTiDN37+8sqYKKyuk6KSvpOIgI0pOIKHKpqin1aaoocuO1o64jtOOpY6ljqUKKyuk6KSvpOIgI0pOIKXopa+l4qGmoaahpgorK6TopK+k4iAjSk4gjtaOuI7TjqWOpY6lCisrpOiks6TPpOEgI0NOIKXopbOlz6XhCisrpOiks6TPpOEgI1QzNSCl6KWzpc+l4QorK6TopLOk5KTepLWk86S0pK+ktyAjVDM1ILKju7O7sLnxu9YKKyuk6KS0pOwgI1QzNSCl6KW0pewKKyuk6KS0pOwgI1QzNSCx+KTsCisrpOikt6TAICNKTiBZb3NoaWRhCisrpOikt6TOpOSks6TUpNogI1QzNSC1yMzussils6XUpdoKKyuk6KS3pOakrSAjVDM1IKTopLek5qStCisrpOikt6TopLcgI0pOIKHKoaGhqKeloaihy6GzocqhraP2oa6hoaHLjtaOvI7WjrwKKyuk6KS3pOiktyAjSk4gpOikt6TopLcKKyuk6KS8pMsgI1QzNSDC5aW8pcsKKyuk6KS9pKakzqTKpMqk4aSmpKggI1QzNSDNvcHbpM680KThvuUKKyuk6KTBpOykuSAjVDM1IM29w86l7KW5CisrpOikw6StpOWk8yAjSk4gpOikw6StpOWk8worK6TopMOkraTlpPMgI1QzNSCk6KTDpK2k5aTzCisrpOikw6S5pKOk4qTKobwgI0pOIKTopMOkuaSjpeKlyqG8CisrpOikyqG8ICNKTiCl6KXKobwKKyuk6KTNICNUMzUgoqgKKyuk6KTNobwgI0pOIKXopc2hvAorK6TopN+hvKTqICNKTiCl6KXfobyl6gorK6TopOEgI0NKILLHCisrpOik66TOpKqkq6S6ICNUMzUgzOukzqSqpKukugorK6TopPMgI1QzNSA+PjQKKyuk6KTzpMikpqS3pPOky6TppKSk4CAjSk4gu83GrL/Ipcul6aWkpeAKKyuk6KTzpN6k66TopPMgI1QzNSA0MDQKKyuk6KTzpOik8yAjQ0ogpOik86TopPMKKyuk6KTzpOik8yAjVDM1IKTopPOk6KTzCisrpOmhvCAjVDM1IKPSo8Gj0gorK6TpobykuKSopKSk6qSmpO+koaShpPMgI0pOIKXpLaW4pailpKXqpaal76WhpaGl8worK6TpobykuKSopKSk6qSmpO+koaShpPMgI0pOII7XLY68jt6OtI6yjtiOs47cjqeOp47dCisrpOmhvKThpPMgI1QzNSCl6aG8peGl8worK6Tpobyk4aTzpK6ksyAjSk4gpemhvKXhpfOlrqWzCisrpOmhvKThpPOkrqSzpKKk86TJpOKkyqG8ICNKTiCl6aG8peGl86WupbOh9aXipcqhvAorK6Tpobyk4aTzpOKkyqG8ICNKTiCl6aG8peGl86XipcqhvAorK6TppKIgI1QzNSBSQVIKKyuk6aSkobyk6KG8ICNUMzUgKI6los+OpSmO146yjrCO1o6wISEKKyuk6aSkobyk6KG8ICNUMzUgocqhpqLPoaahy6XppaShvKXoobwhIQorK6TppKShvKToobwgI1QzNSChyqGmos+hpqHLjteOso6wjtaOsCEhCisrpOmkpKSipMOkyCAjS0sgpemluKH3CisrpOmkpKS/ICNDTiCl6cjECisrpOmkpKTBpOekpiAjS0sgzevEuworK6TppKSkwaTnpKYgI1QzNSDN68S7CisrpOmkpKTMICNUMzUgpemlpKXMCisrpOmkpKTMICNUMzUgpem4pAorK6TppKSkzCAjVDM1II7XuKQKKyuk6aSkpMwgI1QzNSCO146yjscKKyuk6aSmobykuCAjVDM1IKXppaahvKW4CisrpOmkpqThpLkgI0pOIKXppaal4aW5CisrpOmkpqThpLkgI1QzNSCl6aWmpeGluQorK6TppKak86S4ICNDTiCl6aWmpfOluAorK6TppKak86S4ICNUMzUgpemlpqXzpbgKKyuk6aSmpPOkuKSqpNWkq6SkICNUMzAgpemlpqXzpbilqqXVsvEKKyuk6aSmpPOkuKSrICNUMzAgpemlpqXzpbiyvQorK6TppKak86S4pNKkyqTzpLik5yAjVDM1IKXppaal86W4yPLG8b3qCisrpOmkpqTzpLik4yAjVDM1IKXppaal86W4peMKKyuk6aSmpPOkuKTjobwgI1QzNSCl6aWmpfOluKXjobwKKyuk6aSmpPOkuKTjpKIgI1QzNSCl6aWmpfOluKXjobwKKyuk6aSmpPOkuKTjpKKkzaSuICNUMzUgpemlpqXzpbil46G8x6wKKyuk6aStobyk3qTzICNKTiCl6aWtobyl3qXzCisrpOmkraG8pN6k8yAjSk4gpemlraG8pd6l8yAKKyuk6aS4pKKkw6TIICNLSyCl6aW4ofcKKyuk6aS5pNykuaTPpKikuaTIpLehvKTipKIgI0NKIKXppbml3KW5pM+lqKW5pcilt6G8peKlogorK6TppMOkraG8pMGk86TQICNUMzUgpemlw6WtobzEwcfPCisrpOmkw6TIpK2k6aG8ICNKTiCl6aXDpcilraXpobwKKyuk6aTGpPOkoqTSpOMgI0pOIKXppcal86WipdKl4worK6TppMeko6S9ICNUMzUgpemlx6Wjpb0KKyuk6aTKobwgI0pOIKXppcqhvAorK6TppOqk6aTqICNUMzUgpeml6qXppeoKKyuk6aTqpOmk6iAjVDM1II7XjtiO147YCisrpOmk66SvpL0gI0pOIKXppeulr6W9CisrpOmk66SvpL0gI1QzNSCl6aXrpa+lvQorK6TppO2hvCAjU1VDIKTppO2hvAorK6TppO2kpiAjU1VDIKTppO2hvAorK6TqobykvKTzpMggI0pOIKXqobzBsMXTCisrpOqhvKTVpMikpqS1pK8gI1QzNSCl6qG8pdXF8LruCisrpOqhvKTepPMgI0pOIKXqobyl3qXzCisrpOqhvKTepPMgI1QzMCCl6qG8pd6l8worK6Tqobyk6qTDpNIgI0pOIK2hpeqhvKXqpcOl0gorK6Tqobyk6qTDpNKkuKTlpMukoiAjSk4graKl6qG8peqlw6XSo8qj8gorK6Tqobyk6qTDpNKky6S7pKQgI0pOIK2jpeqhvKXqpcOl0sbzwKQKKyuk6qSipL2kt6TppM2hvKToICNKTiCl6qWipeulvaXppc2hvKXoCisrpOqkoqTBpOWkpiAjVDM1IKXqpaK/3worK6TqpKKk6yAjVDM1IKXqpaKl6worK6TqpKKk66SipL2k0aS9pN6kvSAjSk4gpeqloqXrpaKlvaXRpb2l3qW9CisrpOqkoqTrpKKkvaTRpL2k3qS9ICNKTiCl6qWipeuOsY6/jsqO346/js+OvworK6TqpKKk66SipMOkvaG8ICNKTiCl6qWipeukoqTDpL2hvAorK6TqpKKk66SjpOekpSAjSk4gpeqloqXrpKOk56SlCisrpOqkoqTrpKOk56SlpOKks6TipLOk0KG8pLik56TzICNKTiCl6qWipeuko6TnpKWhyqTipLOk4qSzpdChvKW4peel86HLCisrpOqkoqTrpKSk6aTNobyk6CAjSk4gpeqloqXrpaSl6aXNobyl6AorK6TqpKKk66SmpMQgI0pOIKXqpaKl6921CisrpOqkoqTrpKqk3qSopK+k3qG8ICNKTiCl6qWipeulqqXepailr6XeobwKKyuk6qSipOukqqTepKik4qTKobwgI0pOIKXqpaKl66Wqpd6lqKXipcqhvAorK6TqpKKk66SrpLWhvKTqICNKTiCl6qWipeulq6W1obyl6gorK6TqpKKk66StpL+hvKG8ICNKTiCl6qWipeulraW/obwKKyuk6qSipOukraTBpKykpKSxpKSk26SmICNKTiCl6qWipeu08MPPs7C32crzCisrpOqkoqTrpK6ksyAjSk4gpeqloqXrpa6lsworK6TqpKKk66S0pL+kpKTVpN6k86S+pK8gI0pOIKXqpaKl67jews7J1Mv+wq0KKyuk6qSipOukt6SjICNKTiCl6qWipeukt6SjCisrpOqkoqTrpLekzaTQobwgI0pOIKXqpaKl66W3pc2l0KG8CisrpOqkoqTrpLek56SmpNykpiAjVDM1IKXqpaKl677Dy8kKKyuk6qSipOukt6TppM2hvKToICNKTiCl6qWipeult6Xppc2hvKXoCisrpOqkoqTrpLek6aTNobyk6DIgI0pOIKXqpaKl66W3pemlzaG8peijsgorK6TqpKKk66S4pLWkr6S4pKik8yAjSk4gpeqloqXrpbiltaWvpbilqKXzCisrpOqkoqTrpLiktaSvpLikqKTzICNKTiCl6qWipeuOvI7ejruOuI68jt6OtI7dCisrpOqkoqTrpLik46TKpKSkq6TppK+kvSAjQ0ogpeqloqXrpLik46TKpKSkq6Tppa+lvQorK6TqpKKk66S4pOek86S4pOektaTzICNKTiCl6qWipeuluKXnpfOluKXnpLWk8worK6TqpKKk66S5pMOkyaTsICNKTiCl6qWipeuOvY6vjsSO3o7aCisrpOqkoqTrpLmk1aSjpPOkr6S5ICNKTiCl6qWipeuluaXVpaOl86WvpbkKKyuk6qSipOukvaSmpMek4qTKpKSk6CAjSk4gpeqloqXrpL2kpqTHpOKkyqSkpOgKKyuk6qSipOukvaTppM2hvKToICNKTiCl6qWipeulvaXppc2hvKXoCisrpOqkoqTrpL2k7KSspMqky6SrICNKTiCl6qWipeulvaXspaylyqHhpculqworK6TqpKKk66S/pKSk4CAjVDM1IKXqpaKl66W/paSl4AorK6TqpKKk66TBpOWkpqTcpKYgI1QzNSCl6qWipeu/38u8CisrpOqkoqTrpMqkqqTLpK6k6qTipMqhvCAjSk4gpeqloqXrpMqkqqTLpK6k6qXipcqhvAorK6TqpKKk66TKpKqky6SupOqk4qTKobykpKTBICNKTiCl6qWipeukyqSqpMukrqTqpeKlyqG8o7EKKyuk6qSipOukyqSqpMukrqTqpOKkyqG8pMsgI0pOIKXqpaKl66TKpKqky6SupOql4qXKobyjsgorK6TqpKKk66TKpLGk8yAjSk4gpeqloqXrpMqlsaXzCisrpOqkoqTrpMqkw6TBICNKTiCl6qWipeukyqTDpMEKKyuk6qSipOukyqTJpLukpKS1pPMgI0pOIKXqpaKl66TKxdrAsaS1pPMKKyuk6qSipOukyqTNpLmk4qTKobwgI0pOIKXqpaKl66TKpc2luaXipcqhvAorK6TqpKKk66TLpMChvCAjSk4gpeqloqXrpculwKG8CisrpOqkoqTrpM+koSAjSk4gpeqloqXrpc+loaGpCisrpOqkoqTrpNKk7aTmpK0gI0pOIKXqpaKl66TSpO2k5qStCisrpOqkoqTrpNWkp6TpobykwaTnICNKTiCl6qWipeul1aWnpemhvKXBpecKKyuk6qSipOuk26S9pOEgI0pOIKXqpaKl67rZzNwKKyuk6qSipOuk3qTAobwgI0pOIKXqpaKl66XepcChvAorK6TqpKKk66TepMuhvCAjSk4gpeqloqXrpd7G86HdCisrpOqkoqTrpOCkw6SvICNKTiCl6qWipeul4KXDpa8KKyuk6qSipOuk4qSmpLOkzaSopOggI0pOIKXqpaKl66Xipaals6XNpail6AorK6TqpKKk66TipMqhvCAjSk4gpeqloqXrpeKlyqG8CisrpOqkoqTrpOSkwKTipPMgI0pOIKXqpaKl66XkpcCl4qXzCisrpOqkoqTrpOikt6TGpKOhvCAjSk4gpeqloqXrpOikt6XGpaOhvAorK6TqpKKk66TqpKKk6qTGpKMgI1QzNSCl6qWipeul6qWipeqlxqWjCisrpOqkoqTrpOyk4qTKICNKTiCl6qWipeul7KXipcoKKyuk6qSkpMEgI1QzNSByZWFjaAorK6TqpKSkyaS3pKSkuKSkpKKkpCAjVDM1IHJlYWQuY2dpCisrpOqkq6TBpOOk8yAjVDM1IM6kssKkwaTjpPMKKyuk6qStpLek7KTHpKMgI1QzNSCl6qWtpbel7KXHpaMKKyuk6qStpMOkyaTipOmhvKSvICNKTiCl6qWtpcOlyaGmpeKl6aG8pa8KKyuk6qSvICNUMzUgzqYKKyuk6qS4pKek86TqpOMgI0pOIM37t/LOyQorK6TqpMOkxCAjVDM1IKXqpcOlxAorK6TqpMOkxKSspKSk66S1ICNKTiCl6qXDpcSkrKSkpOuktQorK6TqpMOk3aSmpL+kpCAjSk4gzqnK/cLOCisrpOqkxqTKpKIgI1QzNSCl6qXGpcqhvAorK6TqpMik66SopKSk6qSmpO+koaShpPMgI0pOIKXqpcil66WopaSl6qWmpaGloaXzCisrpOqkyKTrpKikpKTqpKak76ShpKGk8yAjSk4gjtiOxI7ZjrSOso7YjrOOp46njt0KKyuk6qTcpMOkyCAjVDM1IKXqpdylw6XICisrpOqk3KTrpNChvKS5pN6k86SrpMOkvyAjSk4gpeql3KXrpdChvKGmpbml3qXzpaulw6W/CisrpOqk3KTrpNChvKS5pN6k86SrpMOkvyAjSk4gpeql3KXrpfSloaG8oaaluaXepfOlq6XDpb8KKyuk6qTcpPMgI1QzNSCl6qXcpfMKKyuk6qTcpPOk16TspKQgI1QzMCCl6qXcpfOl16XspaQKKyuk6qTiobykyKTbpLmkyCAjVDM1IKXqpeKhvKXIpduluaXICisrpOqk4qTbICNUMzUgpeql4qXbCisrpOqk46SvICNUMzUgKHJ5CisrpOqk46SvICNUMzUgcnkKKyuk6qTjpK8gI1QzNSChyqPyo/kKKyuk6qTjpK+kt6StpLikwaTzpLWkpCAjVDM1IM6svLDDz8TDutcKKyuk6qTnpKakuaTspKqkyKSzICNKTiDOyaW5pezDyworK6TqpOekpqS5pOykzqTopKuk8yAjQ0ogzsmluaXspM7NvbS2CisrpOqk56SmpM6kpiAjVDM1IM6+x74KKyuk6qTrpLMgI0pOIKXqpeu70gorK6TqpO2hvKTJICNUMzAgpeql7aG8pckKKyuk6qTtpKqkyaS5pOykw6TJICNUMzUgpeql7aG8pcmluaXspcOlyQorK6TqpO2kuaTsICNUMzUgpeql7aW5pewKKyuk6qTzpLSkxKSrpKQgI1QzNSCl6qXzpbS7yKSkCisrpOukpCAjVDM1IHJ1aQorK6TrpNGk86TVpOmkw6S3pOUgI1QzNSCl66XRpfOl1aXppcOlt6XlCisrpOyhvCAjSk4gpeyhvAorK6TspKSkraTlpKakt6TjICNKTiDO7tvNvNYKKyuk7KSkpK8gI0pOIKXspaSlrworK6TspKSktaTgICNUMzUgzuS0qAorK6TspKSkvqSmpLMgI1QzNSDO5MKiuMsKKyuk7KSwpM2kw6S7pOAgI1QzNSBSZWduZXNzZW0KKyuk7KSyobwgI1QzNSCl7KWyobwKKyuk7KSyobykpKS/ICNDTiCl7KWyobzIxAorK6TspLKhvKSkpL8gI1QzNSCl7KWyobzIxAorK6TspLggI1QzNSCl7KW4CisrpOykuSAjVDMwIKXspbkKKyuk7KS5pLWkr6S4pOcgI1QzMCCl7KW5uu+9/AorK6TspLmkuaTspLSk0KSvICNUMzAgpeyluaW5pey47cf6CisrpOykuaS/pMaktKTQpK8gI1QzMCCl7KW5zqmkxrjtx/oKKyuk7KS5pNCk86S0pKYgI1QzNSCl7KW5yNa55gorK6TspMOkyKSmICNLSyDO9MasCisrpOykw6TJpNakw6SvpKSkz6TzICNDSiCl7KXDpcml1qXDpa+w48i/oaqhoqXspcOlyaWrobylyaGqCisrpOykxKSupOek2aSkpNmhvKS3obyk3qSkpNihvCAjQ0ogpOykxKSupOehqqTZpKSk2aG8oaGkt6G8pN6kpKTYobyi9gorK6TspMSkrqTnpNmkpKTZobykt6G8pN6kpKTYobwgI1QzNSCk7KTEpK6k56GqpNmkpKTZobyhoaS3obyk3qSkpNihvKL2CisrpOykx6SjpKSkuaS1pN4gI1QzNSCl7KXHpaOhvKW5zc0KKyuk7KTZpOuk0qSvICNLWSCl7KXZpevE4worK6TspOKkyiAjSk4gpeyl4qXKCisrpOyk4qTKICNKTiCl7KXipcogCisrpOyk4qTKpLmk7CAjQ04gpeyl4qXKpbml7AorK6TspOKkyqS5pOykzqTipOmk6aG8ICNKTiCl7KXipcqluaXspM6l4qXppemhvAorK6TspOKk6aTiobykyiAjSk4gpeyl4qXppeKhvKXKCisrpOyk7KTbICNUMzUgpeyl7KXbCisrpOyk86SsICNUMzUgpeyl86WsCisrpO0gI1QzNSDPpworK6Ttobykq6TrpOuhvKTrICNUMzUgpe2hvKWrpeul66G8pesKKyuk7aSkpOKkyqTZpOsgI0pOIKXtpaShpqXipcql2aXrCisrpO2ksCAjVDM1IKXtpbAKKyuk7aSxpMOkyKTHpMSkraTMpLGk6yAjQ0ogpe2lsaXDpcikx8bNpK3ItKSxpOsKKyuk7aS0ICNUMzUgpe2ltAorK6TtpMOkr6S3pMakoyAjSk4gpe2lw6WvpbelxqWjCisrpO2kw6SvpOKkyqG8ICNKTiCl7aXDpa+l4qXKobwKKyuk7aTDpN2k86S+obwgI0pOIKTtpMOk3aTzpL6hvAorK6TtpMOk3aTzpL6hvCAjVDM1IKTtpMOk3aTzpL6hvAorK6TtpMakqKTzICNUMzUgpe2lxqG8pfMKKyuk7aTGpKik8yAjVDM1II7bjsOOsI7dCisrpO2k06ThpLkgI0pOIKXtpdOl4aW5CisrpO2k06ThpLkgI1QzNSCl7aXTpeGluQorK6TtpNOk6aG8ICNUMzUgpe2l06XpobwKKyuk7aTVpMik16TppLmk76TzICNDTiCl7aXVpcil16Xppbml76XzCisrpO2k4CAjS1MgUk9NCisrpO2k4CAjUjUgo9Kjz6PNCisrpO2k4CAjVDM1IFJATQorK6TtpOAgI1QzNSBST00KKyuk7aTgICNUMzUgo9Kjz6PNCisrpO2k6iAjVDM1IKXtpeoKKyuk7aTqpLOk8yAjVDM1IKXtpeqls6XzCisrpO2k6qTapMkgI1QzNSCl7aXqpdqlyQorK6TtpOsgI0NKIChsb2wKKyuk7aTsICNLSyCl7aXsCisrpO2k7SAjSk4gpe2l7QorK6TtpO0gI1QzNSCl7aXtCisrpO2k86SyICNUMzUgpe2l88zTCisrpO+hvKTipMqhvCAjSk4gpO+hvKTipMqhvAorK6TvpKSkx6S5pOik86S4pOWkpiAjSk4gpe+lpKXGoauluaO0o7AKKyuk76SkpNOhvKTTobyk26SmpMGk36TzICNUMzUgo9mjwqPCyvzD1syxCisrpO+kq6SqpK8gI1QzNSCk76SrpKqkrworK6TvpKukzqTPpMogI1QzNSBXQUtBTk9IQU5BCisrpO+kq6ThICNUMzUgpO+kq6ThCisrpO+ksaTvpKuk6aTzICNKTiCl76Wxpe+lq6XppfMKKyuk76S1pNMgI1QzNSCl76W1pdMKKyuk76S4pKogI0NOIM/CsfYKKyuk76S4pKogI0tLIM/CsfYKKyuk76S4pKogI1QzNSDPwrH2CisrpO+ku6TApKikrSAjSk4gweGw8MXEsdgKKyuk76S/pMqk2SAjVDM1IMXPytUKKyuk76S/pMqk2aTipMqhvCAjSk4gpe+lv6XKpdml4qXKobwKKyuk76S/pMqk2aTipMqhvCAjSk4gpe+lv6XKpdml4qXKobwgCisrpO+kyiAjVDM1IOarCisrpO+kyqG8ICNKTiCl76XKobwKKyuk76TpICNDSiAgKM/OCisrpO+k6SAjQ0ogKHcKKyuk76TpICNDSiAoo/cKKyuk76TpICNDSiAope+l6QorK6TvpOkgI0NKICjc1worK6TvpOkgI0NKICiO3I7XCisrpO+k6SAjQ0ogdworK6TvpOkgI0NKIKTvpOkgCisrpO+k6SAjQ0ogpe+l6QorK6TvpOkgI0NKIM/OIAorK6TvpOkxICNKTiCl76XpMQorK6TvpOkxICNKTiCO3I7XMQorK6TvpOmkoyAjQ0ogpe+l6aWjCisrpO+k6aS/ICNDSiCl76Xppb8KKyuk76TppL8gI0NKII7cjteOwAorK6TvpOmk0yAjVDM1IKHKz88KKyuk76TppO+ku6TrpMogI0NKIKXvpeml76W7peulygorK6TvpOmk76S7pOukyiAjQ0ogjtyO147cjr6O2Y7FCisrpO+k6qSqICNUMzUgpe+l6qWqCisrpO+k66TsICNSNSCk76TrpOwKKyuk76TspLahvCAjVDM1IKXvpeyltqG8CisrpO+k7KS2pMGk5aSmpNykpiAjVDM1IKXvpeyltr/fy7wKKyuk76TspLogI1QzNSCl76XspboKKyuk76TspOKkziAjS0sgpO+k7KTipM4KKyuk76TspOKkziAjVDM1IKTvpOyk4qTOCisrpO+k7KTipM4gI1QzNSCz5KTsyqoKKyuk76TtpL8gI0NKIKXvpe2lvworK6TvpPOkwKG8ICNUMzUgV09OREVSCisrpPKkq6StpLOk4KS5pOykwKToICNDSiCk8r3xpK25/qTgpbml7KTApOihqqGqCisrpPKkq6StpLOk4KS5pOykwKToICNKTiChyqGmos+hpqHLCisrpPKkvyAjSk4gpfKlvworK6TypL8gI1QzNSCl8qW/CisrpPKkv6S3pMukyqTepOuk3qTrICNKTiCOpo7ANDI3MDAKKyuk8qS/pL+kv6StICNUMzUgpfKlv8OhpK0KKyuk8qS/pL+kv6StpPKkvyAjVDM1IKXypb/DoaStpfKlvworK6TypL+kwaSnpMOkryAjVDMwIKXypb+lwaWnpcOlrworK6TypL+kwaSnpMOkr6SipMuk8qS/pNik8yAjSk4gpfKlv6XBpaelw6WvocqloqXLpfKlv8rUocsKKyuk8qS/pOmhvCAjSk4gpfKlv6XpobwKKyuk8qS/pOmhvCAjSk4gjqaOwI7XjrAKKyuk8qTBICNUMzAgpfKlwQorK6TypMGkpKS/ICNDTiCl8qXByMQKKyuk8qTBpKSkvyAjVDM1IKXypcHIxAorK6TypMOkwSAjVDMwIKXypcOlwQorK6TypMOkwaSkpL8gI0NOIKXypcOlwcjECisrpPKkw6TBpKSkvyAjVDM1IKXypcOlwcjECisrpPKk8CAjVDM1IKTypPAKKyuk86G8ICNKTiCk86HBoaqhqQorK6TzpKyk86SwICNDSiCk86SspPOksAorK6TzpLik4yAjQ0ogpPOkuKTjoaoKKyuk86TApOggI0pOIKXzpcCl6AorK6TzpMCk86TAICNDSiCk86TApPOkwAorK6TzpMcgI0pOIKTzpMehoQorK6TzpMqks6S/pKKkyqSkICNDSiCk86TKpLOkv6G8pMqkpAorK6TzpMqk76SxpM2hvKToICNKTiCk86TKpO+ksaXNobyl6AorK6TzpN4gI0pOIChgpsYuoa0poeOk86TeIQorK6TzpN4gI0pOIKTzpN6hqgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeS9uYXRpdmUtaGVscGVycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHkvbmF0aXZlLWhlbHBlcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjkxYjY2YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHkvbmF0aXZlLWhlbHBlcnMucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAordXBzdHJlYW06IG5vdCBhcHBsaWNhYmxlCithdXRob3I6IHBINQorY29tbWVudDogU3RhZ2UgdGhlIG5hdGl2ZSBhbnRoeSBoZWxwZXJzIG1rZmlsZWRpYywgbWtkZXBncmFwaCwgbWt3b3JkZGljLCAKK2NvbW1lbnQ6IGNhbGN0cmFucyBhbmQgcHJvY2NvcnB1cy4KKworLS0tIGFudGh5LTc4MTEvbWthbnRoeWRpYy9NYWtlZmlsZS5hbX4JMjAwNi0wNS0xMyAxODoyODozNS4wMDAwMDAwMDAgKzA5MDAKKysrKyBhbnRoeS03ODExL21rYW50aHlkaWMvTWFrZWZpbGUuYW0JMjAwNi0wNi0xOCAxMDo1NjoyNS43NzAwMDAwMDAgKzA5MDAKK0BAIC0zLDcgKzMsNyBAQAorIENMRUFORklMRVMgPSBhbnRoeS5kaWMKKyBJTkNMVURFUyA9IC1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlIC1EU1JDRElSPVwiJChzcmNkaXIpXCIKKyAKKy1ub2luc3RfUFJPR1JBTVMgPSBta2ZpbGVkaWMKKytiaW5fUFJPR1JBTVMgPSBta2ZpbGVkaWMKKyBta2ZpbGVkaWNfU09VUkNFUyA9IG1rZmlsZWRpYy5jCisgbWtmaWxlZGljX0xEQUREID0gLi4vc3JjLWRpY2xpYi9saWJkaWNsaWIubGEKKyAKKy0tLSBhbnRoeS03ODExL2RlcGdyYXBoL01ha2VmaWxlLmFtfgkyMDA2LTA2LTAyIDAwOjIwOjU0LjAwMDAwMDAwMCArMDkwMAorKysrIGFudGh5LTc4MTEvZGVwZ3JhcGgvTWFrZWZpbGUuYW0JMjAwNi0wNi0xOCAxMDo1NzoxOS40MjAwMDAwMDAgKzA5MDAKK0BAIC05LDcgKzksNyBAQAorIEVYVFJBX0RJU1QgPSBpbmRlcHdvcmQudHh0ICQoREVQV09SRFMpCisgCisgIyBHZW5lcmF0ZSB0aGUgZGljdGlvbmFyeQorLW5vaW5zdF9QUk9HUkFNUyA9IG1rZGVwZ3JhcGgKKytiaW5fUFJPR1JBTVMgPSBta2RlcGdyYXBoCisgbWtkZXBncmFwaF9TT1VSQ0VTID0gbWtkZXBncmFwaC5jCisgbWtkZXBncmFwaF9MREFERCA9ICAuLi9zcmMtbWFpbi9saWJhbnRoeS5sYSAuLi9zcmMtd29yZGRpYy9saWJhbnRoeWRpYy5sYQorIAorLS0tIGFudGh5LTc4MTEvbWt3b3JkZGljL01ha2VmaWxlLmFtfgkyMDA2LTA1LTEzIDE4OjI5OjA3LjAwMDAwMDAwMCArMDkwMAorKysrIGFudGh5LTc4MTEvbWt3b3JkZGljL01ha2VmaWxlLmFtCTIwMDYtMDYtMTggMTE6MjE6NTYuMzAwMDAwMDAwICswOTAwCitAQCAtMTYsNyArMTYsOCBAQAorICB1ZGljdCBkaWN0LmFyZ3MuaW4KKyAKKyAjIEdlbmVyYXRlIHRoZSBkaWN0aW9uYXJ5Cistbm9pbnN0X1BST0dSQU1TID0gbWt3b3JkZGljCisrI25vaW5zdF9QUk9HUkFNUyA9IG1rd29yZGRpYworK2Jpbl9QUk9HUkFNUyA9IG1rd29yZGRpYworIG1rd29yZGRpY19TT1VSQ0VTID0gbWtkaWMuYyB3cml0ZXdvcmRzLmMgbWt1ZGljLmMgY2FsY2ZyZXEuYyBta2RpYy5oCisgbWt3b3JkZGljX0xEQUREID0gLi4vc3JjLXdvcmRkaWMvbGliYW50aHlkaWMubGEKKworLS0tIGFudGh5LTkxMDBlLm9yaWcvY2FsY3RyYW5zL01ha2VmaWxlLmFtCTIwMDgtMDUtMDggMTU6MDQ6MTMuMDAwMDAwMDAwICswMjAwCisrKysgYW50aHktOTEwMGUvY2FsY3RyYW5zL01ha2VmaWxlLmFtCTIwMDgtMDUtMDggMTU6MDQ6MjQuMDAwMDAwMDAwICswMjAwCitAQCAtMyw3ICszLDcgQEAKKyAgY29ycHVzLjMudHh0IGNvcnB1cy40LnR4dCBjb3JwdXMuNS50eHRcCisgIGNvcnB1c19pbmZvIHdlYWtfd29yZHMKKyAKKy1ub2luc3RfUFJPR1JBTVMgPSBjYWxjdHJhbnMgcHJvY2NvcnB1cworK2Jpbl9QUk9HUkFNUyA9IGNhbGN0cmFucyBwcm9jY29ycHVzCisgSU5DTFVERVMgPSAtSSQodG9wX3NyY2RpcikvCisgCisgY2FsY3RyYW5zX1NPVVJDRVMgPSBjYWxjdHJhbnMuYyBpbnB1dF9zZXQuYyBpbnB1dF9zZXQuaCBjb3JwdXMuYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeS9ub3RfYnVpbGRfZWxjLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeS9ub3RfYnVpbGRfZWxjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmNzQ4ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5L25vdF9idWlsZF9lbGMucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAordXBzdHJlYW06IG5vdCBhcHBsaWNhYmxlCitzb3VyY2U6IHN0b2xlbiBmcm9tIGRlYmlhbgorCitkaWZmIC1OYXVyIGFudGh5LTc4MTEvc3JjLXV0aWwub3JpZy9NYWtlZmlsZS5hbSBhbnRoeS03ODExL3NyYy11dGlsL01ha2VmaWxlLmFtCistLS0gYW50aHktNzgxMS9zcmMtdXRpbC5vcmlnL01ha2VmaWxlLmFtCTIwMDYtMDYtMTggMTA6NDc6NTUuNzkwMDAwMDAwICswOTAwCisrKysgYW50aHktNzgxMS9zcmMtdXRpbC9NYWtlZmlsZS5hbQkyMDA2LTA2LTE4IDEwOjQ4OjIzLjg2MDAwMDAwMCArMDkwMAorQEAgLTYsNyArNiw4IEBACisgIGFudGh5LWlzZWFyY2guZWwgYW50aHktYXppay5lbCBhbnRoeS1reXVyaS5lbAorIEVYVFJBX0RJU1QgPSAkKEVMSVNQX0ZJTEVTKSB0eXBldGFiIGRpYy10b29sLXVzYWdlLnR4dCByY3NpemUucmIKKyBiaW5fUFJPR1JBTVMgPSBhbnRoeS1kaWMtdG9vbCBhbnRoeS1hZ2VudCBhbnRoeS1tb3JwaG9sb2dpY2FsLWFuYWx5emVyCistRUxDRklMRVMgPSBhbnRoeS5lbGMgYW50aHktZGljLmVsYyBhbnRoeS1hemlrLmVsYyBhbnRoeS1jb25mLmVsYyBhbnRoeS1pc2VhcmNoLmVsYyBhbnRoeS1reXVyaS5lbGMgbGVpbS1saXN0LmVsYworKyNFTENGSUxFUyA9IGFudGh5LmVsYyBhbnRoeS1kaWMuZWxjIGFudGh5LWF6aWsuZWxjIGFudGh5LWNvbmYuZWxjIGFudGh5LWlzZWFyY2guZWxjIGFudGh5LWt5dXJpLmVsYyBsZWltLWxpc3QuZWxjCisrRUxDRklMRVMgPSAKKyBpZiBFTElTUAorIGxpc3BfTElTUCA9ICQoRUxJU1BfRklMRVMpCisgZW5kaWYKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYW50aHkvYW50aHkvdGFyZ2V0LWhlbHBlcnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5L3RhcmdldC1oZWxwZXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyMmMzNTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5L3RhcmdldC1oZWxwZXJzLnBhdGNoCkBAIC0wLDAgKzEsMTExIEBACitkaWZmIC1OdXJwIGFudGh5LTkxMDBoLm9yZy9jYWxjdHJhbnMvTWFrZWZpbGUuYW0gYW50aHktOTEwMGgvY2FsY3RyYW5zL01ha2VmaWxlLmFtCistLS0gYW50aHktOTEwMGgub3JnL2NhbGN0cmFucy9NYWtlZmlsZS5hbQkyMDA3LTEwLTI3IDIzOjAyOjU5LjAwMDAwMDAwMCArMDkwMAorKysrIGFudGh5LTkxMDBoL2NhbGN0cmFucy9NYWtlZmlsZS5hbQkyMDE0LTExLTExIDE3OjE0OjQyLjE1Mjk5OTk5MSArMDkwMAorQEAgLTE1LDMxICsxNSwzMSBAQCBkaWN0X3NvdXJjZV9maWxlcyA9IGFudGh5LmNhbmRfaW5mbyBhbnRoCisgCisgdXBkYXRlX3BhcmFtczoKKyAJcm0gLWYgcGFyc2VkX2RhdGEyCistCS4vcHJvY2NvcnB1cyAkKHNyY2RpcikvY29ycHVzLj8udHh0ID4gcGFyc2VkX2RhdGEKKy0JLi9jYWxjdHJhbnMgcGFyc2VkX2RhdGEgLW8gJChzcmNkaXIpL2NvcnB1c19pbmZvCistCS4vY2FsY3RyYW5zIHBhcnNlZF9kYXRhIC1lIC1vICQoc3JjZGlyKS93ZWFrX3dvcmRzCisrCXByb2Njb3JwdXMgJChzcmNkaXIpL2NvcnB1cy4/LnR4dCA+IHBhcnNlZF9kYXRhCisrCWNhbGN0cmFucyBwYXJzZWRfZGF0YSAtbyAkKHNyY2RpcikvY29ycHVzX2luZm8KKysJY2FsY3RyYW5zIHBhcnNlZF9kYXRhIC1lIC1vICQoc3JjZGlyKS93ZWFrX3dvcmRzCisgCW1ha2UgZG9fdXBkYXRlX3BhcmFtcworIAorIHVwZGF0ZV9wYXJhbXMwOgorIAlybSAtZiBwYXJzZWRfZGF0YTIKKy0JLi9wcm9jY29ycHVzICQoc3JjZGlyKS9jb3JwdXMuMC50eHQgPiBwYXJzZWRfZGF0YQorLQkuL2NhbGN0cmFucyBwYXJzZWRfZGF0YSAtbyAkKHNyY2RpcikvY29ycHVzX2luZm8KKy0JLi9jYWxjdHJhbnMgcGFyc2VkX2RhdGEgLWUgLW8gJChzcmNkaXIpL3dlYWtfd29yZHMKKysJcHJvY2NvcnB1cyAkKHNyY2RpcikvY29ycHVzLjAudHh0ID4gcGFyc2VkX2RhdGEKKysJY2FsY3RyYW5zIHBhcnNlZF9kYXRhIC1vICQoc3JjZGlyKS9jb3JwdXNfaW5mbworKwljYWxjdHJhbnMgcGFyc2VkX2RhdGEgLWUgLW8gJChzcmNkaXIpL3dlYWtfd29yZHMKKyAJbWFrZSBkb191cGRhdGVfcGFyYW1zCisgCisgdXBkYXRlX3BhcmFtczI6CistCS4vcHJvY2NvcnB1cyAkKHNyY2RpcikvY29ycHVzLj8udHh0ID4+IHBhcnNlZF9kYXRhMgorLQkuL2NhbGN0cmFucyBwYXJzZWRfZGF0YSBwYXJzZWRfZGF0YTIgLW8gJChzcmNkaXIpL2NvcnB1c19pbmZvCistCS4vY2FsY3RyYW5zIHBhcnNlZF9kYXRhIHBhcnNlZF9kYXRhMiAtZSAtbyAkKHNyY2Rpcikvd2Vha193b3JkcworKwlwcm9jY29ycHVzICQoc3JjZGlyKS9jb3JwdXMuPy50eHQgPj4gcGFyc2VkX2RhdGEyCisrCWNhbGN0cmFucyBwYXJzZWRfZGF0YSBwYXJzZWRfZGF0YTIgLW8gJChzcmNkaXIpL2NvcnB1c19pbmZvCisrCWNhbGN0cmFucyBwYXJzZWRfZGF0YSBwYXJzZWRfZGF0YTIgLWUgLW8gJChzcmNkaXIpL3dlYWtfd29yZHMKKyAJbWFrZSBkb191cGRhdGVfcGFyYW1zCisgCisgZG9fdXBkYXRlX3BhcmFtczoKKy0JLi9jYWxjdHJhbnMgLWMgJChzcmNkaXIpL2NvcnB1c19pbmZvCisrCWNhbGN0cmFucyAtYyAkKHNyY2RpcikvY29ycHVzX2luZm8KKyAJcm0gLWYgJChkaWN0X3NvdXJjZV9maWxlcykKKyAJbWFrZSAkKGRpY3Rfc291cmNlX2ZpbGVzKQorIAorLSQoZGljdF9zb3VyY2VfZmlsZXMpOiAkKHNyY2RpcikvY29ycHVzX2luZm8gJChzcmNkaXIpL3dlYWtfd29yZHMgY2FsY3RyYW5zCistCS4vY2FsY3RyYW5zIC1jICQoc3JjZGlyKS9jb3JwdXNfaW5mbyAkKHNyY2Rpcikvd2Vha193b3JkcworKyQoZGljdF9zb3VyY2VfZmlsZXMpOiAkKHNyY2RpcikvY29ycHVzX2luZm8gJChzcmNkaXIpL3dlYWtfd29yZHMKKysJY2FsY3RyYW5zIC1jICQoc3JjZGlyKS9jb3JwdXNfaW5mbyAkKHNyY2Rpcikvd2Vha193b3JkcworIAorIG5vaW5zdF9EQVRBID0gJChkaWN0X3NvdXJjZV9maWxlcykKKyBDTEVBTkZJTEVTID0gJChkaWN0X3NvdXJjZV9maWxlcykgcGFyc2VkX2RhdGEgcGFyc2VkX2RhdGEyIGFudGh5LmZlYXR1cmVfaW5mbworZGlmZiAtTnVycCBhbnRoeS05MTAwaC5vcmcvZGVwZ3JhcGgvTWFrZWZpbGUuYW0gYW50aHktOTEwMGgvZGVwZ3JhcGgvTWFrZWZpbGUuYW0KKy0tLSBhbnRoeS05MTAwaC5vcmcvZGVwZ3JhcGgvTWFrZWZpbGUuYW0JMjAwOC0xMS0yOSAyMTo0NjoxNC4wMDAwMDAwMDAgKzA5MDAKKysrKyBhbnRoeS05MTAwaC9kZXBncmFwaC9NYWtlZmlsZS5hbQkyMDE0LTExLTExIDE3OjEyOjAzLjgxMzk5OTk5MSArMDkwMAorQEAgLTksMTEgKzksMTEgQEAgQ0xFQU5GSUxFUyA9IGFudGh5LmRlcAorIEVYVFJBX0RJU1QgPSBpbmRlcHdvcmQudHh0ICQoREVQV09SRFMpCisgCisgIyBHZW5lcmF0ZSB0aGUgZGljdGlvbmFyeQorLW5vaW5zdF9QUk9HUkFNUyA9IG1rZGVwZ3JhcGgKKy1ta2RlcGdyYXBoX1NPVVJDRVMgPSBta2RlcGdyYXBoLmMKKy1ta2RlcGdyYXBoX0xEQUREID0gIC4uL3NyYy1tYWluL2xpYmFudGh5LmxhIC4uL3NyYy13b3JkZGljL2xpYmFudGh5ZGljLmxhCisrI25vaW5zdF9QUk9HUkFNUyA9IG1rZGVwZ3JhcGgKKysjbWtkZXBncmFwaF9TT1VSQ0VTID0gbWtkZXBncmFwaC5jCisrI21rZGVwZ3JhcGhfTERBREQgPSAgLi4vc3JjLW1haW4vbGliYW50aHkubGEgLi4vc3JjLXdvcmRkaWMvbGliYW50aHlkaWMubGEKKyAKKy1hbnRoeS5kZXAgOiBta2RlcGdyYXBoICQoREVQV09SRFMpCistCS4vbWtkZXBncmFwaAorK2FudGh5LmRlcCA6ICQoREVQV09SRFMpCisrCW1rZGVwZ3JhcGgKKyAKKyBub2luc3RfREFUQSA9IGFudGh5LmRlcAorZGlmZiAtTnVycCBhbnRoeS05MTAwaC5vcmcvbWthbnRoeWRpYy9NYWtlZmlsZS5hbSBhbnRoeS05MTAwaC9ta2FudGh5ZGljL01ha2VmaWxlLmFtCistLS0gYW50aHktOTEwMGgub3JnL21rYW50aHlkaWMvTWFrZWZpbGUuYW0JMjAwNy0wNC0xNCAxODowMToxMC4wMDAwMDAwMDAgKzA5MDAKKysrKyBhbnRoeS05MTAwaC9ta2FudGh5ZGljL01ha2VmaWxlLmFtCTIwMTQtMTEtMTEgMTc6MTA6MzQuNzkyOTk5OTkxICswOTAwCitAQCAtMywxMiArMywxMiBAQCBub2luc3RfU0NSSVBUUyA9CisgQ0xFQU5GSUxFUyA9IGFudGh5LmRpYworIElOQ0xVREVTID0gLUkkKHRvcF9zcmNkaXIpLyAtRFNSQ0RJUj1cIiQoc3JjZGlyKVwiCisgCistbm9pbnN0X1BST0dSQU1TID0gbWtmaWxlZGljCistbWtmaWxlZGljX1NPVVJDRVMgPSBta2ZpbGVkaWMuYworLW1rZmlsZWRpY19MREFERCA9IC4uL3NyYy1kaWNsaWIvbGliZGljbGliLmxhCisrI25vaW5zdF9QUk9HUkFNUyA9IG1rZmlsZWRpYworKyNta2ZpbGVkaWNfU09VUkNFUyA9IG1rZmlsZWRpYy5jCisrI21rZmlsZWRpY19MREFERCA9IC4uL3NyYy1kaWNsaWIvbGliZGljbGliLmxhCisgCistYW50aHkuZGljIDogbWtmaWxlZGljIC4uL21rd29yZGRpYy9hbnRoeS53ZGljIC4uL2RlcGdyYXBoL2FudGh5LmRlcCAuLi9jYWxjdHJhbnMvYW50aHkuY2FuZF9pbmZvIC4uL2NhbGN0cmFucy9hbnRoeS50cmFuc19pbmZvIC4uL2NhbGN0cmFucy9hbnRoeS5jb3JwdXNfYXJyYXkgLi4vY2FsY3RyYW5zL2FudGh5LmNvcnB1c19idWNrZXQKKy0JLi9ta2ZpbGVkaWMKKythbnRoeS5kaWMgOiAuLi9ta3dvcmRkaWMvYW50aHkud2RpYyAuLi9kZXBncmFwaC9hbnRoeS5kZXAgLi4vY2FsY3RyYW5zL2FudGh5LmNhbmRfaW5mbyAuLi9jYWxjdHJhbnMvYW50aHkudHJhbnNfaW5mbyAuLi9jYWxjdHJhbnMvYW50aHkuY29ycHVzX2FycmF5IC4uL2NhbGN0cmFucy9hbnRoeS5jb3JwdXNfYnVja2V0CisrCW1rZmlsZWRpYworIAorIAorICMgVG8gaW5zdGFsbCAKK2RpZmYgLU51cnAgYW50aHktOTEwMGgub3JnL21rd29yZGRpYy9NYWtlZmlsZS5hbSBhbnRoeS05MTAwaC9ta3dvcmRkaWMvTWFrZWZpbGUuYW0KKy0tLSBhbnRoeS05MTAwaC5vcmcvbWt3b3JkZGljL01ha2VmaWxlLmFtCTIwMDktMDEtMjMgMTI6MzE6MzEuMDAwMDAwMDAwICswOTAwCisrKysgYW50aHktOTEwMGgvbWt3b3JkZGljL01ha2VmaWxlLmFtCTIwMTQtMTEtMTEgMTc6MTM6MzEuOTQ2OTk5OTkyICswOTAwCitAQCAtMjYsMTQgKzI2LDE0IEBAIERJQ19GSUxFUyA9IEB0b3Bfc3JjZGlyQC9hbHQtY2FubmFkaWMvZ2MKKyAJICAgIEB0b3Bfc3JjZGlyQC9ta3dvcmRkaWMvdWRpY3QKKyAKKyAjIEdlbmVyYXRlIHRoZSBkaWN0aW9uYXJ5Cistbm9pbnN0X1BST0dSQU1TID0gbWt3b3JkZGljCistbWt3b3JkZGljX1NPVVJDRVMgPSBta2RpYy5jIHdyaXRld29yZHMuYyBta3VkaWMuYyBjYWxjZnJlcS5jIG1rZGljLmgKKy1ta3dvcmRkaWNfTERBREQgPSAuLi9zcmMtd29yZGRpYy9saWJhbnRoeWRpYy5sYQorKyNub2luc3RfUFJPR1JBTVMgPSBta3dvcmRkaWMKKysjbWt3b3JkZGljX1NPVVJDRVMgPSBta2RpYy5jIHdyaXRld29yZHMuYyBta3VkaWMuYyBjYWxjZnJlcS5jIG1rZGljLmgKKysjbWt3b3JkZGljX0xEQUREID0gLi4vc3JjLXdvcmRkaWMvbGliYW50aHlkaWMubGEKKyAKKyBub2luc3RfREFUQSA9IGFudGh5LndkaWMKKyAKKy1hbnRoeS53ZGljIDogbWt3b3JkZGljICQoRElDX0ZJTEVTKQorLQkgICAuL21rd29yZGRpYyAtZiAuL2RpY3QuYXJncworK2FudGh5LndkaWMgOiAkKERJQ19GSUxFUykKKysJICAgbWt3b3JkZGljIC1mIC4vZGljdC5hcmdzCisgCisgCisgIyBUbyBpbnN0YWxsCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FudGh5L2FudGh5XzkxMDBoLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeV85MTAwaC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTIxYjQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hbnRoeS9hbnRoeV85MTAwaC5iYgpAQCAtMCwwICsxLDQyIEBACitERVNDUklQVElPTj0iQW50aHkgaXMgYSBzeXN0ZW0gZm9yIEphcGFuZXNlIGlucHV0IG1ldGhvZC4gSXQgY29udmVydHMgSGlyYWdhbmEgdGV4dCB0byBLYW5hIEthbmppIG1peGVkIHRleHQuIgorQVVUSE9SID0gIkFudGh5IERldmVsb3BlcnMgPGFudGh5LWRldkBsaXN0cy5zb3VyY2Vmb3JnZS5qcD4iCitIT01FUEFHRSA9ICJodHRwOi8vYW50aHkuc291cmNlZm9yZ2UuanAiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMWYzODQwNzRkOGU5M2UyNjNiNTY2NGVmMDhhNDExYSIKKworU1JDX1VSSSA9ICJodHRwOi8vb3Nkbi5kbC5zb3VyY2Vmb3JnZS5qcC9hbnRoeS8zNzUzNi9hbnRoeS05MTAwaC50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbm90X2J1aWxkX2VsYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8yY2hfdC5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiZmlsZTovL3RhcmdldC1oZWxwZXJzLnBhdGNoIgorU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gImZpbGU6Ly9uYXRpdmUtaGVscGVycy5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjFmNTU4ZmY3ZWQyOTY3ODdiNTViYjFjNmNmMTMxMTA4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQyNTZmMDc1ZjAxOGI0YTNjYjBkMTY1ZWQ2MTUxZmRhNGJhN2RiMTYyMTcyN2UwZWI1NDU2OWI2ZTIyNzU1NDciCisKK0RFUEVORFNfY2xhc3MtdGFyZ2V0ID0gImFudGh5LW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCA9ICJsaWJhbnRoeTAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitQQUNLQUdFUyArPSAiJHtQTn0tZWwgbGliYW50aHkwIGxpYmFudGh5LWRldiIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vLmRlYnVnIgorRklMRVNfbGliYW50aHkwID0gIiR7bGliZGlyfS9saWJhbnRoeS5zby4qICBcCisJCSAgICR7bGliZGlyfS9saWJhbnRoeWRpYy5zby4qICAgXAorCQkgICAke2xpYmRpcn0vbGliYW50aHlpbnB1dC5zby4qIgorCitGSUxFU19saWJhbnRoeS1kZXYgPSAiJHtsaWJkaXJ9L2xpYmFudGh5Ki5sYSBcCisJCSAgICAgICR7bGliZGlyfS9saWJhbnRoeSouYSBcCisJCSAgICAgICR7bGliZGlyfS9saWJhbnRoeSouc28gXAorCQkgICAgICAke2luY2x1ZGVkaXJ9L2FudGh5ICAgXAorCQkgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL2FudGh5LnBjIgorCitGSUxFU18ke1BOfS1lbCA9ICIke2RhdGFkaXJ9L2VtYWNzLyoiCitGSUxFU18ke1BOfSA9ICIke2RhdGFkaXJ9LyogXAorCSAgICAgICAke2JpbmRpcn0vKiBcCisJICAgICAgICR7c3lzY29uZmRpcn0vYW50aHktY29uZiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FwY3Vwc2QvYXBjdXBzZF8zLjE0LjEwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hcGN1cHNkL2FwY3Vwc2RfMy4xNC4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWM4OTFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hcGN1cHNkL2FwY3Vwc2RfMy4xNC4xMC5iYgpAQCAtMCwwICsxLDQyIEBACitTVU1NQVJZID0gIkFwY3Vwc2QgYSBkYWVtb24gZm9yIGNvbnRyb2xsaW5nIEFQQyBVUFNlcyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWMxMjg1M2NjN2ZkZjIwZDE3YjRmZGRlZmQyNmI3ODAyIgorCitTUkNfVVJJID0gImh0dHA6Ly9nYXJyLmRsLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L2FwY3Vwc2QvYXBjdXBzZCUyMC0lMjBTdGFibGUvMy4xNC4xMC9hcGN1cHNkLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1OTI4ODIyZDg1NWM1Y2Y3YWMyOTY1NWUzZTBiOGMyMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNzA3YjVlYzk5MTZmYmRlOWU0NGViOGQxODAzN2M4ZDhmNzVkZmQ2YWVlZjUxYWJhNTQ4N2UxODllZWYyMDMyIgorCitQTkJMQUNLTElTVFthcGN1cHNkXSA/PSAiQlJPS0VOOiBkb2Vzbid0IGJ1aWxkIHdpdGggQiE9UyIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworTEQgPSAiJHtDWFh9IgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LXggXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXVzYiBcCisgICAgICAgICAgICAgICAgLS13aXRoLWRpc3RuYW1lPSR7RElTVFJPfSIKKworZG9fY29uZmlndXJlKCkgeworICAgIGV4cG9ydCB0b3BkaXI9JHtTfQorICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vYXV0b2NvbmYvY29uZmlndXJlLmluICR7U30KKworICAgIGlmICEgWyAtZCAke1N9L3BsYXRmb3Jtcy8ke0RJU1RST30gXSA7IHRoZW4KKyAgICAgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtTfS9wbGF0Zm9ybXMvdW5rbm93biAke1N9L3BsYXRmb3Jtcy8ke0RJU1RST30gCisgICAgZmkKKworICAgIGdudS1jb25maWdpemUgLS1mb3JjZQorICAgICMgaW5zdGFsbCAtLWhlbHAgc2F5cyAnLWMnIGlzIGFuIGlnbm9yZWQgb3B0aW9uLCBidXQgaXQgdHVybnMgb3V0IHRoYXQgdGhlIGFyZ3VtZW50IHRvIC1jIGlzbid0IGlnbm9yZWQsIHNvIGRyb3AgdGhlIGNvbXBsZXRlICctYyBwYXRoL3RvL3N0cmlwJyBsaW5lCisgICAgc2VkIC1pIC1lICdzOiQoSU5TVEFMTF9QUk9HUkFNKSAkKFNUUklQKTokKElOU1RBTExfUFJPR1JBTSk6ZycgJHtTfS9hdXRvY29uZi90YXJnZXRzLm1haworICAgICMgU2VhcmNoaW5nIGluIGhvc3QgZGlycyB0cmlnZ2VycyB0aGUgUUEgY2hlY2tzCisgICAgc2VkIC1pIC1lICdzOi1JL3Vzci9sb2NhbC9pbmNsdWRlOjpnJyAtZSAnczotTC91c3IvbG9jYWwvbGliNjQ6OmcnIC1lICdzOi1ML3Vzci9sb2NhbC9saWI6OmcnICR7U30vY29uZmlndXJlCisKKyAgICAjIG00IG1hY3JvcyBhcmUgbWlzc2luZywgdXNpbmcgYXV0b3Rvb2xzX2RvX2NvbmZpZ3VyZSBsZWFkcyB0byBsaW5raW5nIGVycm9ycyB3aXRoIGdldGhvc3RuYW1lX3JlCisgICAgb2VfcnVuY29uZgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAke0R9JHtkYXRhZGlyfS9oYWwgLXJmCit9CisKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hc2lvL2FzaW8uaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hc2lvL2FzaW8uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljZWE4MjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FzaW8vYXNpby5pbmMKQEAgLTAsMCArMSwxNSBAQAorREVTQ1JJUFRJT04gPSAiQXNpbyBpcyBhIGNyb3NzLXBsYXRmb3JtIEMrKyBsaWJyYXJ5IGZvciBuZXR3b3JrIGFuZCBsb3ctbGV2ZWwgXAorICAgICAgICBJL08gcHJvZ3JhbW1pbmcgdGhhdCBwcm92aWRlcyBkZXZlbG9wZXJzIHdpdGggYSBjb25zaXN0ZW50IGFzeW5jaHJvbm91cyBcCisgICAgICAgIG1vZGVsIHVzaW5nIGEgbW9kZXJuIEMrKyBhcHByb2FjaC4iCitBVVRIT1IgPSAiQ2hyaXN0b3BoZXIgTS4gS29obGhvZmYgKGNocmlzIGF0IGtvaGxob2ZmIGRvdCBjb20pIgorSE9NRVBBR0UgPSAiaHR0cDovL3RoaW5rLWFzeW5jLmNvbS9Bc2lvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJCU0wtMS4wIgorCitERVBFTkRTID0gImJvb3N0IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9hc2lvLyR7QlB9LnRhci5iejIiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FzaW8vYXNpb18xLjEwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2FzaW8vYXNpb18xLjEwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRmYWFmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvXzEuMTAuMS5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgYXNpby5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTEzZjgwMGFhNTIyZDllMzhjMzMwOWM5OGVjNTNhZGUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZDUwOGM5OTQ3NDA0ZmVlNDA5NDUzNzViOGE1ZmQzMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4MjBhNWRhZDNjNTZhNGYzZTkzN2YyYjlhZTA1OWFiMjY5NmM2MDU4MzQ1ZDcxYjdhOGIwNzJhMGYyZmNiZDk5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvZml4LXBlcm1pc3Npb25zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvZml4LXBlcm1pc3Npb25zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlNzQxOTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9maXgtcGVybWlzc2lvbnMucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorVXBkYXRlIHBlcm1pc3Npb25zIG9mIGV4ZWN1dGFibGUgZmlsZXMgdGhhdCByZW1vdmUgc2V0dWlkIGJpdCBhbmQgbWFrZSBldmVyeW9uZQorY291bGQgcmVhZC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCBhNjViOWI2Li4yMWQ5ODI4IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtNjYsNyArNjYsNyBAQCBzeXN0ZW1kaW5zdGFsbDoJZ2VuZXJpY2luc3RhbGwKKyAJCWNobW9kIDA2NDQgICAgICAgICAgICAkKERFU1RESVIpJChTWVNEUEFUSCkvYXRvcGFjY3Quc2VydmljZQorIAkJY3AgYXRvcC5jcm9uc3lzdGVtZCAgICQoREVTVERJUikkKENSTlBBVEgpL2F0b3AKKyAJCWNwIGF0b3AtcG0uc2ggICAgICAgICAkKERFU1RESVIpJChQTVBBVEhEKQorLQkJY2htb2QgMDcxMSAgICAgICAgICAgICQoREVTVERJUikkKFBNUEFUSEQpL2F0b3AtcG0uc2gKKysJCWNobW9kIDA3NTUgICAgICAgICAgICAkKERFU1RESVIpJChQTVBBVEhEKS9hdG9wLXBtLnNoCisgCQkjCisgCQkjIG9ubHkgd2hlbiBtYWtpbmcgb24gdGFyZ2V0IHN5c3RlbToKKyAJCSMKK0BAIC05MSwxMSArOTEsMTEgQEAgc3lzdmluc3RhbGw6CWdlbmVyaWNpbnN0YWxsCisgCQkjCisgCQlpZiBbICAgLWQgJChERVNURElSKSQoUE1QQVRIMSkgXTsgCQkJXAorIAkJdGhlbgljcCA0NWF0b3BwbSAkKERFU1RESVIpJChQTVBBVEgxKTsgCQlcCistCQkJY2htb2QgMDcxMSAgJChERVNURElSKSQoUE1QQVRIMSkvNDVhdG9wcG07CVwKKysJCQljaG1vZCAwNzU1ICAkKERFU1RESVIpJChQTVBBVEgxKS80NWF0b3BwbTsJXAorIAkJZmkKKyAJCWlmIFsgLWQgJChERVNURElSKSQoUE1QQVRIMikgXTsgCQkJXAorIAkJdGhlbgljcCA0NWF0b3BwbSAkKERFU1RESVIpJChQTVBBVEgyKTsJCVwKKy0JCQljaG1vZCAwNzExICAkKERFU1RESVIpJChQTVBBVEgyKS80NWF0b3BwbTsJXAorKwkJCWNobW9kIDA3NTUgICQoREVTVERJUikkKFBNUEFUSDIpLzQ1YXRvcHBtOwlcCisgCQlmaQorIAkJIworIAkJIworQEAgLTEzOSw3ICsxMzksNyBAQCBnZW5lcmljaW5zdGFsbDoJYXRvcCBhdG9wYWNjdGQKKyAJCSMKKyAJCWNwIGF0b3AgICAJCSQoREVTVERJUikkKEJJTlBBVEgpL2F0b3AKKyAJCWNob3duIHJvb3QJCSQoREVTVERJUikkKEJJTlBBVEgpL2F0b3AKKy0JCWNobW9kIDA0NzExIAkJJChERVNURElSKSQoQklOUEFUSCkvYXRvcAorKwkJY2htb2QgMDc1NSAJCSQoREVTVERJUikkKEJJTlBBVEgpL2F0b3AKKyAJCWxuIC1zZiBhdG9wICAgICAgICAgICAgICQoREVTVERJUikkKEJJTlBBVEgpL2F0b3BzYXIKKyAJCWNwIGF0b3BhY2N0ZCAgCQkkKERFU1RESVIpJChTQklOUEFUSCkvYXRvcGFjY3RkCisgCQljaG93biByb290CQkkKERFU1RESVIpJChTQklOUEFUSCkvYXRvcGFjY3RkCitAQCAtMTQ3LDcgKzE0Nyw3IEBAIGdlbmVyaWNpbnN0YWxsOglhdG9wIGF0b3BhY2N0ZAorIAkJY3AgYXRvcCAgIAkJJChERVNURElSKSQoQklOUEFUSCkvYXRvcC0kKFZFUlMpCisgCQlsbiAtc2YgYXRvcC0kKFZFUlMpICAgICAkKERFU1RESVIpJChCSU5QQVRIKS9hdG9wc2FyLSQoVkVSUykKKyAJCWNwIGF0b3AuZGFpbHkgICAgCSQoREVTVERJUikkKFNDUlBBVEgpCistCQljaG1vZCAwNzExIAkgCSQoREVTVERJUikkKFNDUlBBVEgpL2F0b3AuZGFpbHkKKysJCWNobW9kIDA3NTUgCSAJJChERVNURElSKSQoU0NSUEFUSCkvYXRvcC5kYWlseQorIAkJY3AgbWFuL2F0b3AuMSAgICAJJChERVNURElSKSQoTUFOMVBBVEgpCisgCQljcCBtYW4vYXRvcHNhci4xIAkkKERFU1RESVIpJChNQU4xUEFUSCkKKyAJCWNwIG1hbi9hdG9wcmMuNSAgCSQoREVTVERJUikkKE1BTjVQQVRIKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvcmVtb3ZlLWJhc2hpc21zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvcmVtb3ZlLWJhc2hpc21zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxZmNiZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9yZW1vdmUtYmFzaGlzbXMucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KK2RpZmYgLS1naXQgYS9hdG9wLXBtLnNoIGIvYXRvcC1wbS5zaAoraW5kZXggN2Y0MWE4Ni4uM2ZmNGFiNSAxMDA3NTUKKy0tLSBhL2F0b3AtcG0uc2gKKysrKyBiL2F0b3AtcG0uc2gKK0BAIC0xLDQgKzEsNCBAQAorLSMhL2Jpbi9iYXNoCisrIyEvYmluL3NoCisgCisgY2FzZSAiJDEiIGluCisgCXByZSkJL3Vzci9iaW4vc3lzdGVtY3RsIHN0b3AgYXRvcAorZGlmZiAtLWdpdCBhL2F0b3AuZGFpbHkgYi9hdG9wLmRhaWx5CitpbmRleCAyNGQzM2JkLi5mMjliZDk0IDEwMDc1NQorLS0tIGEvYXRvcC5kYWlseQorKysrIGIvYXRvcC5kYWlseQorQEAgLTEsNCArMSw0IEBACistIyEvYmluL2Jhc2gKKysjIS9iaW4vc2gKKyAKKyBDVVJEQVk9YGRhdGUgKyVZJW0lZGAKKyBMT0dQQVRIPS92YXIvbG9nL2F0b3AKK0BAIC0xNiw3ICsxNiw3IEBAIHRoZW4KKyAKKyAJd2hpbGUgcHMgLXAgYGNhdCAkUElERklMRWAgPiAvZGV2L251bGwKKyAJZG8KKy0JCWxldCBDTlQrPTEKKysJCUNOVD0kKChDTlQrMSkpCisgCisgCQlpZiBbICRDTlQgLWd0IDUgXQorIAkJdGhlbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avc3lzdmluaXQtaW1wbGVtZW50LXN0YXR1cy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3N5c3Zpbml0LWltcGxlbWVudC1zdGF0dXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk5NGQzZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3N5c3Zpbml0LWltcGxlbWVudC1zdGF0dXMucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorSW1wbGVtZW50IHRoZSBzdWItY29tbWFuZCBzdGF0dXMuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorZGlmZiAtLWdpdCBhL2F0b3AuaW5pdCBiL2F0b3AuaW5pdAoraW5kZXggMTA4YmRjNS4uOWY4OWZhZCAxMDA3NTUKKy0tLSBhL2F0b3AuaW5pdAorKysrIGIvYXRvcC5pbml0CitAQCAtMTgsNiArMTgsOCBAQAorICMgQ2hlY2sgZXhpc3RhbmNlIG9mIGJpbmFyaWVzIAorIFsgLWYgL3Vzci9iaW4vYXRvcCBdIHx8IGV4aXQgMAorIAorK1sgLWYgL2V0Yy9pbml0LmQvZnVuY3Rpb25zIF0gJiYgLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKysKKyBQSURGSUxFPS92YXIvcnVuL2F0b3AucGlkCisgUkVUVkFMPTAKKyAKK0BAIC02Myw2ICs2NSw3IEBAIGNhc2UgIiQxIiBpbgorIAk7OworIAorICAgc3RhdHVzKQorKwlzdGF0dXMgYXRvcAorIAk7OworIAorICAgcmVsb2FkKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avdm9sYXRpbGVzLjk5X2F0b3AgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC92b2xhdGlsZXMuOTlfYXRvcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGVhM2YyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avdm9sYXRpbGVzLjk5X2F0b3AKQEAgLTAsMCArMSBAQAorZCByb290IHJvb3QgMDc1NSAvdmFyL3ZvbGF0aWxlL2xvZy9hdG9wIG5vbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3ZvbGF0aWxlcy5hdG9wLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC92b2xhdGlsZXMuYXRvcC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmMjMwMDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC92b2xhdGlsZXMuYXRvcC5jb25mCkBAIC0wLDAgKzEgQEAKK2QgICAgICAgICAgICAgICAvdmFyL3ZvbGF0aWxlL2xvZy9hdG9wICAgICAgICAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgICAgLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3BfMi4yLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcF8yLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTMxMWUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3BfMi4yLjMuYmIKQEAgLTAsMCArMSw2MiBAQAorU1VNTUFSWSA9ICJNb25pdG9yIGZvciBzeXN0ZW0gcmVzb3VyY2VzIGFuZCBwcm9jZXNzIGFjdGl2aXR5IgorREVTQ1JJUFRJT04gPSAiQXRvcCBpcyBhbiBBU0NJSSBmdWxsLXNjcmVlbiBwZXJmb3JtYW5jZSBtb25pdG9yIGZvciBMaW51eCB0aGF0IFwKK2lzIGNhcGFibGUgb2YgcmVwb3J0aW5nIHRoZSBhY3Rpdml0eSBvZiBhbGwgcHJvY2Vzc2VzIChldmVuIGlmIHByb2Nlc3NlcyBoYXZlIFwKK2ZpbmlzaGVkIGR1cmluZyB0aGUgaW50ZXJ2YWwpLCBkYWlseSBsb2dnaW5nIG9mIHN5c3RlbSBhbmQgcHJvY2VzcyBhY3Rpdml0eSBmb3IgXAorbG9uZy10ZXJtIGFuYWx5c2lzLCBoaWdobGlnaHRpbmcgb3ZlcmxvYWRlZCBzeXN0ZW0gcmVzb3VyY2VzIGJ5IHVzaW5nIGNvbG9ycywgXAorZXRjLiBBdCByZWd1bGFyIGludGVydmFscywgaXQgc2hvd3Mgc3lzdGVtLWxldmVsIGFjdGl2aXR5IHJlbGF0ZWQgdG8gdGhlIENQVSwgXAorbWVtb3J5LCBzd2FwLCBkaXNrcyAoaW5jbHVkaW5nIExWTSkgYW5kIG5ldHdvcmsgbGF5ZXJzLCBhbmQgZm9yIGV2ZXJ5IHByb2Nlc3MgXAorKGFuZCB0aHJlYWQpIGl0IHNob3dzIGUuZy4gdGhlIENQVSB1dGlsaXphdGlvbiwgbWVtb3J5IGdyb3d0aCwgZGlzayBcCit1dGlsaXphdGlvbiwgcHJpb3JpdHksIHVzZXJuYW1lLCBzdGF0ZSwgYW5kIGV4aXQgY29kZS4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmF0b3B0b29sLm5sIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzkzYTVjYTQ0NWY2OTY1ODczZWNhMDI1OWExN2Y4MzMiCisKK0RFUEVORFMgPSAibmN1cnNlcyB6bGliIgorCitBVE9QX1ZFUiA9ICIke0AnLScuam9pbihkLmdldFZhcignUFYnLCBUcnVlKS5yc3BsaXQoJy4nLCAxKSl9IgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL3d3dy5hdG9wdG9vbC5ubC9kb3dubG9hZC8ke0JQTn0tJHtBVE9QX1ZFUn0udGFyLmd6IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnZmlsZTovL3ZvbGF0aWxlcy5hdG9wLmNvbmYnLCAnZmlsZTovL3ZvbGF0aWxlcy45OV9hdG9wJywgZCl9IFwKKyAgICBmaWxlOi8vcmVtb3ZlLWJhc2hpc21zLnBhdGNoIFwKKyAgICBmaWxlOi8vZml4LXBlcm1pc3Npb25zLnBhdGNoIFwKKyAgICBmaWxlOi8vc3lzdmluaXQtaW1wbGVtZW50LXN0YXR1cy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMzRkYzE1NDRmMmVjNGU0ZDJjNzM5ZDMyMGRjMzI2ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNzg1YjhhMjM1NWJlMjhiM2RlNmI1OGE4ZWE0YzRmY2FiOGZhZGVhYTU3YTk5YWZlYjAzYzY2ZmFjOGUwNTVkIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59LSR7QVRPUF9WRVJ9IgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgYWxsCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgbWFrZSBERVNURElSPSR7RH0gVkVSUz0ke0FUT1BfVkVSfSBTWVNEUEFUSD0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IFwKKyAgICAgICAgICAgIFBNUEFUSEQ9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS1zbGVlcCBzeXN0ZW1kaW5zdGFsbAorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuYXRvcC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvYXRvcC5jb25mCisgICAgICAgIHJtIC1mICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2F0b3BhY2N0LnNlcnZpY2UKKyAgICBlbHNlCisgICAgICAgIG1ha2UgREVTVERJUj0ke0R9IFZFUlM9JHtBVE9QX1ZFUn0gc3lzdmluc3RhbGwKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy45OV9hdG9wICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk5X2F0b3AKKyAgICAgICAgcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2F0b3BhY2N0CisgICAgZmkKKworICAgICMgcmVtb3ZlIGF0b3BhY2N0IHJlbGF0ZWQgZmlsZXMKKyAgICBybSAtcmYgJHtEfSR7c2JpbmRpcn0gJHtEfSR7bWFuZGlyfS9tYW44Cit9CisKK2luaGVyaXQgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiYXRvcC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS1zbGVlcCIKKworUkRFUEVORFNfJHtQTn0gPSAicHJvY3BzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jYW5vbmljYWwtbXVsdGl0b3VjaC9mcmFtZV8yLjUuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2Fub25pY2FsLW11bHRpdG91Y2gvZnJhbWVfMi41LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNjOTUyNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2Fub25pY2FsLW11bHRpdG91Y2gvZnJhbWVfMi41LjAuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJGcmFtZSBoYW5kbGVzIHNpbXVsdGFuZW91cyB0b3VjaGVzIgorCitIT01FUEFHRSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvZnJhbWUiCisKK0xJQ0VOU0UgPSAiR1BMdjMgJiBMR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWU2YTYwMGZkNWUxZDljYmRlMmQ5ODM2ODAyMzNhZDAyIFwKKyAgICBmaWxlOi8vQ09QWUlORy5HUEwzO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTUkNfVVJJID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC8ke0JQTn0vdHJ1bmsvdiR7UFZ9Lytkb3dubG9hZC8ke0JQTn0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjAyYmFhOTQxMDkxYzVkMTk4Y2QxNjIzYjNhZDM2ZTY4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImNmYjlhYjUyY2RjY2Q5MjZmMTgyMmE0NTcyNjRkMDAxNGM3ZWI5ZjQ2MDBhNzI2MjYwNjNkZDA3M2IyNjI1NmYiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0tZW5hYmxlLXgxMSwgLS1kaXNhYmxlLXgxMSwgbGlieGkgeGV4dCB2aXJ0dWFsL3hzZXJ2ZXIiCisKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS10ZXN0IgorRklMRVNfJHtQTn0tdGVzdCA9ICIke2JpbmRpcn0vZnJhbWUtdGVzdCoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Nhbm9uaWNhbC1tdWx0aXRvdWNoL2dlaXNfMi4yLjE3LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jYW5vbmljYWwtbXVsdGl0b3VjaC9nZWlzXzIuMi4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzg4MTQzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jYW5vbmljYWwtbXVsdGl0b3VjaC9nZWlzXzIuMi4xNy5iYgpAQCAtMCwwICsxLDU0IEBACitTVU1NQVJZID0gIkFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBHRUlTIGludGVyZmFjZSIKK0RFU0NSSVBUSU9OID0gIkFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBHRUlTIChHZXN0dXJlIEVuZ2luZSBJbnRlcmZhY2UgYW5kIFN1cHBvcnQpIFwKK2ludGVyZmFjZVwKK0dFSVMgaXMgYSBsaWJyYXJ5IGZvciBhcHBsaWNhdGlvbnMgYW5kIHRvb2xraXQgcHJvZ3JhbW1lcnMgd2hpY2ggXAorcHJvdmlkZXMgYSBjb25zaXN0ZW50IHBsYXRmb3JtIGluZGVwZW5kZW50IGludGVyZmFjZSBmb3IgYW55IFwKK3N5c3RlbS13aWRlIGlucHV0IGdlc3R1cmUgcmVjb2duaXRpb24gbWVjaGFuaXNtLiIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L2dlaXMiCisKK0xJQ0VOU0UgPSAiR1BMdjMgJiBMR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTZhNmE4ZTAyMDgzOGIyMzQwNmM4MWIxOWMxZDQ2ZGY2IFwKKyAgICBmaWxlOi8vQ09QWUlORy5HUEw7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHB5dGhvbjNuYXRpdmUgbGliX3BhY2thZ2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK0RFUEVORFMgKz0gImdyYWlsIGRidXMtZ2xpYiBweXRob24zIHZpcnR1YWwvbGlieDExIGxpYnhleHQgbGlieGkgbGlieGNiIGRidXMgZnJhbWUiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0LyR7QlBOfS90cnVuay8ke1BWfS8rZG93bmxvYWQvJHtCUE59LSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZmY5ZDc2YTNlYTU3OTQ1MTZiYjAyYzlkMTkyNGZhZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4YTYwZjU2ODM4NTIwOTQwMzg5MDRlNjkwZDIzY2M1YTkwYTk4MGZjNTJkYTY3ZjBmMjg4OTBiYWEyNWM3MGViIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWludGVncmF0aW9uLXRlc3RzIgorCitGSUxFU18ke1BOfS1iaW4gPSAiJHtiaW5kaXJ9IgorUkRFUEVORFNfJHtQTn0tYmluID0gIiBcCisgICAgcHl0aG9uMy1jb21wcmVzc2lvbiBcCisgICAgcHl0aG9uMy1jb3JlIFwKKyAgICBweXRob24zLWNyeXB0IFwKKyAgICBweXRob24zLWN0eXBlcyBcCisgICAgcHl0aG9uMy1mY250bCBcCisgICAgcHl0aG9uMy1taXNjIFwKKyAgICBweXRob24zLXBpY2tsZSBcCisgICAgcHl0aG9uMy1zaGVsbCBcCisgICAgcHl0aG9uMy1zdHJpbmdvbGQgXAorICAgIHB5dGhvbjMtc3VicHJvY2VzcyBcCisgICAgcHl0aG9uMy10ZXh0dXRpbHMgXAorICAgIHB5dGhvbjMtdGhyZWFkaW5nIFwKKyIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9nZWlzdmlldyBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9nZWlzKiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9fKi5zbyBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy8uZGVidWciCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9fKi5sYSIKKworRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL18qLmEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Nhbm9uaWNhbC1tdWx0aXRvdWNoL2dyYWlsXzMuMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jYW5vbmljYWwtbXVsdGl0b3VjaC9ncmFpbF8zLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZWExMGQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jYW5vbmljYWwtbXVsdGl0b3VjaC9ncmFpbF8zLjEuMC5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkdlc3R1cmUgUmVjb2duaXRpb24gQW5kIEluc3RhbnRpYXRpb24gTGlicmFyeSIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L2dyYWlsIgorCitMSUNFTlNFID0gIkdQTHYzICYgTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiBcCisgICAgZmlsZTovL0NPUFlJTkcuR1BMMzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAorIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworREVQRU5EUyA9ICJmcmFtZSIKKworU1JDX1VSSSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvJHtCUE59L3RydW5rLyR7UFZ9Lytkb3dubG9hZC8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYWM1NmFmNWY2ZjQ2NmI0MzNjOTljYTEyZjM0YzM0ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjMjZkY2VkMWIzZjQzMTdlY2Y2YWYzNmRiMGU5MDI5NGQ4N2U0Mzk2NmQ1NmFlY2M0ZTk3YjY1MzY4YWI3OGI5IgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteDExLCAtLXdpdGhvdXQteDExLCBsaWJ4aSIKKworUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LXRlc3QiCitGSUxFU18ke1BOfS10ZXN0ID0gIiR7YmluZGlyfS9ncmFpbC10ZXN0KiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2NpZC9jY2lkL25vLWRlcC1vbi1saWJmbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2NpZC9jY2lkL25vLWRlcC1vbi1saWJmbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzdjYzMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jY2lkL2NjaWQvbm8tZGVwLW9uLWxpYmZsLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK05vIG5lZWQgdG8gbGluayB3aXRoIGxpYmZsLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEphY29iIEtyb29uIDxqYWNvYi5rcm9vbkBtaWtyb2RpZGFrdC5zZT4KKworSW5kZXg6IGNjaWQtMS40Ljgvc3JjL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2NpZC0xLjQuOC5vcmlnL3NyYy9NYWtlZmlsZS5hbQorKysrIGNjaWQtMS40Ljgvc3JjL01ha2VmaWxlLmFtCitAQCAtNTMsNyArNTMsNyBAQCBQUk9WSURFRF9CWV9QQ1NDID0gZGVidWcuYworIGVuZGlmCisgCisgbGliY2NpZF9sYV9TT1VSQ0VTID0gJChDT01NT04pICQoVVNCKSAkKFRPS0VOX1BBUlNFUikgJChQUk9WSURFRF9CWV9QQ1NDKSAkKFQxKQorLWxpYmNjaWRfbGFfTElCQUREID0gJChMRVhMSUIpICQoTElCVVNCX0xJQlMpICQoUFRIUkVBRF9MSUJTKQorK2xpYmNjaWRfbGFfTElCQUREID0gJChMSUJVU0JfTElCUykgJChQVEhSRUFEX0xJQlMpCisgbGliY2NpZF9sYV9DRkxBR1MgPSAkKFBDU0NfQ0ZMQUdTKSAkKExJQlVTQl9DRkxBR1MpICQoUFRIUkVBRF9DRkxBR1MpIFwKKyAJJChTWU1CT0xfVklTSUJJTElUWSkgLUQkKENDSURfVkVSU0lPTikgLURTSU1DTElTVF9OT19EVU1QUkVTVE9SRQorIGxpYmNjaWRfbGFfTERGTEFHUyA9IC1hdm9pZC12ZXJzaW9uCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NjaWQvY2NpZF8xLjQuMTkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NjaWQvY2NpZF8xLjQuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjc3ZTA2OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2NpZC9jY2lkXzEuNC4xOS5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIkdlbmVyaWMgVVNCIENDSUQgc21hcnQgY2FyZCByZWFkZXIgZHJpdmVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3Bjc2NsaXRlLmFsaW90aC5kZWJpYW4ub3JnL2NjaWQuaHRtbCIKK0xJQ0VOU0UgPSAiTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEiCisKK0RFUEVORFMgPSAidmlydHVhbC9saWJ1c2IwIHBjc2MtbGl0ZSIKK1JERVBFTkRTXyR7UE59ID0gInBjc2MtbGl0ZSIKKworU1JDX1VSSSA9ICJodHRwczovL2FsaW90aC5kZWJpYW4ub3JnL2Zycy9kb3dubG9hZC5waHAvZmlsZS80MTMyL2NjaWQtJHtQVn0udGFyLmJ6MiBcCisJICAgZmlsZTovL25vLWRlcC1vbi1saWJmbC5wYXRjaCAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMWVlZDk5NWJhOWEyZWIzOTVhNjVhOGE3ODA5MGY1MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjY2NiMmMyYmI0ZTU2Njg5ZWZlMzQ1NTlmNzEzMTAyZDkyZjk0NzM1NTQyZTU4ZDNlNDMzNGUxNDU5ZTkzNGUxIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9wY3NjLyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3Bjc2MvZHJpdmVycy8qLyovKi8uZGVidWciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NrZXJtaXQvY2tlcm1pdF8zMDIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NrZXJtaXQvY2tlcm1pdF8zMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg3YTU3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2tlcm1pdC9ja2VybWl0XzMwMi5iYgpAQCAtMCwwICsxLDYwIEBACitERVNDUklQVElPTiA9ICJDLUtlcm1pdCBpcyBhIGNvbWJpbmVkIHNlcmlhbCBhbmQgbmV0d29yayBjb21tdW5pY2F0aW9uIFwKK3NvZnR3YXJlIHBhY2thZ2Ugb2ZmZXJpbmcgYSBjb25zaXN0ZW50LCBtZWRpdW0taW5kZXBlbmRlbnQsIFwKK2Nyb3NzLXBsYXRmb3JtIGFwcHJvYWNoIHRvIGNvbm5lY3Rpb24gZXN0YWJsaXNobWVudCwgdGVybWluYWwgXAorc2Vzc2lvbnMsIGZpbGUgdHJhbnNmZXIsIGNoYXJhY3Rlci1zZXQgdHJhbnNsYXRpb24sIGFuZCBhdXRvbWF0aW9uIFwKK29mIGNvbW11bmljYXRpb24gdGFza3MuIgorSE9NRVBBR0UgPSAid3d3Lmtlcm1pdHByb2plY3Qub3JnL2NrOTAuaHRtbCIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLlRYVDttZDU9OTMyY2E1NDJkNmM2Y2I4YTU5YTBiY2Q3NmFiNjdjYzMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5rZXJtaXRwcm9qZWN0Lm9yZy9mdHAva2VybWl0L2FyY2hpdmVzL2NrdSR7UFZ9LnRhci5nejtzdWJkaXI9JHtCUE59LSR7UFZ9IgorU1JDX1VSSVttZDVzdW1dID0gImVhYzRkYmYxOGI0NTc3NWU0Y2RlZTVhN2M3NDc2MmIwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBkNWYyY2QxMmJkYWI5NDAxYjRjODM2ODU0ZWJiZjI0MTY3NTA1MTg3NTU1Nzc4M2MzMzJhNmE0MGRhYzA3MTEiCisKKworZXhwb3J0IENDMiA9ICIke0NDfSIKK2V4cG9ydCBCSU5ESVIgPSAiJHtiaW5kaXJ9IgorZXhwb3J0IE1BTkRJUiA9ICIke21hbmRpcn0vbWFuMSIKK2V4cG9ydCBJTkZPRElSID0gIiR7aW5mb2Rpcn0iCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCisjIEFkZGl0aW9uYWwgZmxhZ3MuIEZvciB1Y2xpYmMgd2UgYWRkIC1ETk9BUlJPV0tFWVMgd2hpY2ggc3RvcHMgY2tlcm1pdAorIyB0cnlpbmcgdG8gbG9vayBpbnNpZGUgdGhlIHN0ZGlvIGhlYWRlcnMuCitDS0VSTUlUX0FERElUSU9OQUwgPSAiIgorQ0tFUk1JVF9BRERJVElPTkFMX2xpYmMtdWNsaWJjID0gIi1ETk9BUlJPV0tFWVMiCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitkb19jb21waWxlICgpIHsKKyAgICAjIFRoZSBvcmlnaW5hbCBtYWtlZmlsZSBkb2Vzbid0IGRpZmZlcmVudGlhdGUgYmV0d2VlbiBDQyBhbmQgQ0NfRk9SX0JVSUxELAorICAgICMgc28gd2UgYnVpbGQgd2FydCBtYW51YWxseS4gTm90ZSB0aGF0IHlvdSBuZWVkIGEgY2t3YXJ0Lm8gd2l0aCB0aGUgcHJvcGVyCisgICAgIyB0aW1lc3RhbXAgdG8gbWFrZSB0aGlzIGhhY2sgd29yazoKKyAgICAke0JVSUxEX0NDfSAtYyBja3dhcnQuYworICAgICR7QlVJTERfQ0N9IC1vIHdhcnQgY2t3YXJ0Lm8KKyAgICAuL3dhcnQgY2tjcHJvLncgY2tjcHJvLmMKKworICAgICMgcmVhZCAke1N9L2NrY2NmZy50eHQgdG8gdW5kZXJzdGFuZCB0aGlzIDotKQorICAgIG9lX3J1bm1ha2Ugd2VybWl0IENGTEFHUz0iJHtDRkxBR1N9IC1ETElOVVggLURDS19QT1NJWF9TSUcgXAorICAgICAgICAtRE5PVENQT1BUUyAtRExJTlVYRlNTVE5EIC1ETk9DT1RGTUMgLURQT1NJWCAtRFVTRV9TVFJFUlJPUiBcCisgICAgICAgIC1ETk9TWVNMT0cgLURIQVZFX1BUTVggLUROT19ETlNfU1JWIC1ETk9HRlRJTUVSIFwKKyAgICAgICAgLUROT0JfNTAgLUROT0JfNzUgLUROT0JfMTM0IC1ETk9CXzE1MCAtRE5PQl8yMDAgXAorICAgICAgICAtRE5PQl8xODAwIC1ETk9CXzM2MDAgLUROT0JfNzIwMCAtRE5PQl83NksgLUROT0JfMjMwSyBcCisgICAgICAgIC1ETk9CXzQ2MEsgLUROT0JfOTIxSyBcCisgICAgICAgIC1ETk9DU0VUUyAtRE5PTkVUIC1ETk9VTklDT0RFIC1ETk9IRUxQIC1ETk9ERUJVRyBcCisgICAgICAgIC1ETk9GUklMTFMgLUROT0ZUUCAtRE5PRElBTCAtRE5PUFVTSCAtRE5PSUtTRCAtRE5PSFRUUCAtRE5PRkxPQVQgXAorICAgICAgICAtRE5PU0VSVkVSIC1ETk9TRVhQIC1ETk9STE9HSU4gLUROT09MRE1PREVNUyAtRE5PU1NIIC1ETk9MSVNURU4gXAorICAgICAgICAtRE5PUkVTRU5EIC1ETk9BVVRPREwgLUROT1NUUkVBTUlORyAtRE5PSElOVFMgLUROT0NLWFlaIC1ETk9MRUFSTiBcCisgICAgICAgIC1ETk9NS0RJUiAtRE5PUEVSTVMgLUROT0NLVElNRVJTIC1ETk9DS1JFR0VYIC1ETk9SRUFMUEFUSCBcCisgICAgICAgIC1EQ0tfU01BTEwgLUROT0xPR0RJQUwgLUROT1JFTkFNRSAtRE5PV0hBVEFNSSBcCisgICAgICAgICR7Q0tFUk1JVF9BRERJVElPTkFMfSIKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtCSU5ESVJ9ICR7RH0ke01BTkRJUn0gJHtEfSR7SU5GT0RJUn0KKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKyAgICAjIEZpeCB1cCBkYW5nbGluZyBzeW1saW5rCisgICAgcm0gJHtEfSR7QklORElSfS9rZXJtaXQtc3Noc3ViCisgICAgKGNkICR7RH0ke0JJTkRJUn0gJiYgbG4gLXMgJHtCSU5ESVJ9L2tlcm1pdCBrZXJtaXQtc3NodXNiKQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHVmcmVxdXRpbHMvY3B1ZnJlcXV0aWxzLzAwMDEtZG9udC11bnNldC1jZmxhZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwdWZyZXF1dGlscy9jcHVmcmVxdXRpbHMvMDAwMS1kb250LXVuc2V0LWNmbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjJmMDdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHVmcmVxdXRpbHMvY3B1ZnJlcXV0aWxzLzAwMDEtZG9udC11bnNldC1jZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorLS0tIGdpdC5vbGQvTWFrZWZpbGUJMjAxMi0wNC0xNyAxMzoyOTo0Ni4yODA0MzUzNDAgKzAyMDAKKysrKyBnaXQvTWFrZWZpbGUJMjAxMi0wNC0xNyAxMzozMToxMy42NjQ0MzM0NzAgKzAyMDAKK0BAIC03NywxNyArNzcsNyBAQCBJTlNUQUxMX1BST0dSQU0gPSAke0lOU1RBTEx9CisgSU5TVEFMTF9EQVRBICA9ICR7SU5TVEFMTH0gLW0gNjQ0CisgSU5TVEFMTF9TQ1JJUFQgPSAke0lOU1RBTExfUFJPR1JBTX0KKyAKKy0jIElmIHlvdSBhcmUgcnVubmluZyBhIGNyb3NzIGNvbXBpbGVyLCB5b3UgbWF5IHdhbnQgdG8gc2V0IHRoaXMKKy0jIHRvIHNvbWV0aGluZyBtb3JlIGludGVyZXN0aW5nLCBsaWtlICJhcm0tbGludXgtIi4gIElmIHlvdSB3YW50CistIyB0byBjb21waWxlIHZzIHVDbGliYywgdGhhdCBjYW4gYmUgZG9uZSBoZXJlIGFzIHdlbGwuCistQ1JPU1MgPSAjL3Vzci9pMzg2LWxpbnV4LXVjbGliYy91c3IvYmluL2kzODYtdWNsaWJjLQorLUNDID0gJChDUk9TUylnY2MKKy1MRCA9ICQoQ1JPU1MpZ2NjCistQVIgPSAkKENST1NTKWFyCistU1RSSVAgPSAkKENST1NTKXN0cmlwCistUkFOTElCID0gJChDUk9TUylyYW5saWIKKy1IT1NUQ0MgPSBnY2MKKy0KKytIT1NUQ0MgPSAkKEJVSUxEX0NDKQorIAorICMgTm93IHdlIHNldCB1cCB0aGUgYnVpbGQgc3lzdGVtCisgIworQEAgLTk1LDcgKzg1LDcgQEAgSE9TVENDID0gZ2NjCisgIyBzZXQgdXAgUFdEIHNvIHRoYXQgb2xkZXIgdmVyc2lvbnMgb2YgbWFrZSB3aWxsIHdvcmsgd2l0aCBvdXIgYnVpbGQuCisgUFdEID0gJChzaGVsbCBwd2QpCisgCistZXhwb3J0IENST1NTIENDIEFSIFNUUklQIFJBTkxJQiBDRkxBR1MgTERGTEFHUyBMSUJfT0JKUworK2V4cG9ydCBDRkxBR1MgTERGTEFHUyBMSUJfT0JKUworIAorICMgY2hlY2sgaWYgY29tcGlsZXIgb3B0aW9uIGlzIHN1cHBvcnRlZAorIGNjLXN1cHBvcnRzID0gJHtzaGVsbCBpZiAkKENDKSAkezF9IC1TIC1vIC9kZXYvbnVsbCAteGMgL2Rldi9udWxsID4gL2Rldi9udWxsIDI+JjE7IHRoZW4gZWNobyAiJCgxKSI7IGZpO30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3B1ZnJlcXV0aWxzL2NwdWZyZXF1dGlsc18wMDguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwdWZyZXF1dGlscy9jcHVmcmVxdXRpbHNfMDA4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4ZmNjMDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwdWZyZXF1dGlscy9jcHVmcmVxdXRpbHNfMDA4LmJiCkBAIC0wLDAgKzEsMzcgQEAKK0RFU0NSSVBUSU9OID0gIlRvIG1ha2UgYWNjZXNzIHRvIHRoZSBMaW51eCBrZXJuZWwgY3B1ZnJlcSBzdWJzeXN0ZW0gZWFzaWVyIGZvciB1c2VycyBhbmQgY3B1ZnJlcSB1c2Vyc3BhY2UgdG9vbHMsIGEgY3B1ZnJlcXV0aWxzIHBhY2thZ2Ugd2FzIGNyZWF0ZWQiCisKK2luaGVyaXQgZ2V0dGV4dAorCitERVBFTkRTID0gImxpYnRvb2wtY3Jvc3MiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworU1JDUkVWID0gImEyZjBjMzlkNWYyMTU5NmJiOWY1MjIzZTg5NWMwZmYyMTBiMjY1ZDAiCisjIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS91dGlscy9rZXJuZWwvY3B1ZnJlcS9jcHVmcmVxdXRpbHMuZ2l0CisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9lbWFnaWkvY3B1ZnJlcXV0aWxzLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRvbnQtdW5zZXQtY2ZsYWdzLnBhdGNoIFwKKyIKKworRVhUUkFfT0VNQUtFX2FwcGVuZCA9ICIgJHtAWycnLCAnTkxTPWZhbHNlJ11bJyR7VVNFX05MU30nID09ICdubyddfSAiCisKK1BSID0gInI1IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworRVhUUkFfT0VNQUtFID0gIlY9MSBDUk9TUz0ke1RBUkdFVF9QUkVGSVh9IExJQlRPT0w9JyR7SE9TVF9TWVN9LWxpYnRvb2wgLS10YWcgY2MnIFNUUklQQ01EPWVjaG8gJ0NQPWNwJyIKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAtZSBpbnN0YWxsIERFU1RESVI9JHtEfQorICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vbGliY3B1ZnJlcS5zby4wICR7RH0ke2xpYmRpcn0vbGliY3B1ZnJlcS5zbworICAgIGxuIC1zIGxpYmNwdWZyZXEuc28uMC4wLjAgJHtEfSR7bGliZGlyfS9saWJjcHVmcmVxLnNvLjAKKyAgICBsbiAtcyBsaWJjcHVmcmVxLnNvLjAuMC4wICR7RH0ke2xpYmRpcn0vbGliY3B1ZnJlcS5zbworfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NyeXB0c2V0dXAvY3J5cHRzZXR1cF8xLjcuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3J5cHRzZXR1cC9jcnlwdHNldHVwXzEuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2YzIxZDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NyeXB0c2V0dXAvY3J5cHRzZXR1cF8xLjcuMC5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIk1hbmFnZSBwbGFpbiBkbS1jcnlwdCBhbmQgTFVLUyBlbmNyeXB0ZWQgdm9sdW1lcyIKK0RFU0NSSVBUSU9OID0gIkNyeXB0c2V0dXAgaXMgdXNlZCB0byBjb252ZW5pZW50bHkgc2V0dXAgZG0tY3J5cHQgbWFuYWdlZCBcCitkZXZpY2UtbWFwcGVyIG1hcHBpbmdzLiBUaGVzZSBpbmNsdWRlIHBsYWluIGRtLWNyeXB0IHZvbHVtZXMgYW5kIFwKK0xVS1Mgdm9sdW1lcy4gVGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBMVUtTIHVzZXMgYSBtZXRhZGF0YSBoZWFkZXIgXAorYW5kIGNhbiBoZW5jZSBvZmZlciBtb3JlIGZlYXR1cmVzIHRoYW4gcGxhaW4gZG0tY3J5cHQuIE9uIHRoZSBvdGhlciBcCitoYW5kLCB0aGUgaGVhZGVyIGlzIHZpc2libGUgYW5kIHZ1bG5lcmFibGUgdG8gZGFtYWdlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9jcnlwdHNldHVwLyIKK1NFQ1RJT04gPSAiY29uc29sZSIKK0xJQ0VOU0UgPSAiR1BMLTIuMC13aXRoLU9wZW5TU0wtZXhjZXB0aW9uIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzIxMDdkZDI4M2IxZGZlYjY2YzliM2U2YmUzMTIzMjYiCisKK0RFUEVORFMgPSAidXRpbC1saW51eCBsdm0yIHBvcHQgbGliZ2NyeXB0IgorCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMvJHtCUE59L3YxLjcvJHtCUH0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjU2YzM4NWZlODdmYzJiNjg3M2RmNGI3Zjg5MjAyZDBmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3NTUyNGE3Y2MwZGIzNmQxMjExOWZhNzkxMTY3NTBhY2NiMWM2Yzg4MjVkNWZhYTI1MzRiNzRiOGNlM2QxNDgiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCisKKyMgVXNlIG9wZW5zc2wgYmVjYXVzZSBsaWJnY3J5cHQgZHJvcHMgcm9vdCBwcml2aWxlZ2VzCisjIGlmIGxpYmdjcnlwdCBpcyBsaW5rZWQgd2l0aCBsaWJjYXAgc3VwcG9ydAorUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1jcnlwdG9fYmFja2VuZD1vcGVuc3NsLCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tnY3J5cHRdID0gIi0td2l0aC1jcnlwdG9fYmFja2VuZD1nY3J5cHQsLGxpYmdjcnlwdCIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1hZXMtZ2VuZXJpYyBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLWRtLWNyeXB0IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtbWQ1IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtY2JjIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtc2hhMjU2LWdlbmVyaWMgXAorIgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtc3RhdGljIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jdGFwaS1jb21tb24vY3RhcGktY29tbW9uXzEuMS0xMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3RhcGktY29tbW9uL2N0YXBpLWNvbW1vbl8xLjEtMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTNiNjdmNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3RhcGktY29tbW9uL2N0YXBpLWNvbW1vbl8xLjEtMTEuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJDb21tb24gZmlsZXMgYW5kIHBhY2thZ2luZyBpbmZyYXN0cnVjdHVyZSBmb3IgQ1QtQVBJIG1vZHVsZXMiCitIT01FUEFHRSA9ICJodHRwOi8vZmVkb3JhcHJvamVjdC5vcmcvIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvTGlicmFyaWVzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9jdGFwaS1jb21tb24uTElDRU5TRTttZDU9ODc0NGNkNTI1NDVlY2I0NWJlZmViZDBkYTZmNzBmMGEiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5yaWtlbi5qcC9MaW51eC9mZWRvcmEvcmVsZWFzZXMvMjAvRmVkb3JhL3NvdXJjZS9TUlBNUy9jLyR7QlBOfS0ke1BWfS5mYzIwLnNyYy5ycG07ZXh0cmFjdD1jdGFwaS1jb21tb24uTElDRU5TRSBcCisgICAgICAgICAgIGh0dHA6Ly9mdHAucmlrZW4uanAvTGludXgvZmVkb3JhL3JlbGVhc2VzLzIwL0ZlZG9yYS9zb3VyY2UvU1JQTVMvYy8ke0JQTn0tJHtQVn0uZmMyMC5zcmMucnBtO2V4dHJhY3Q9Y3RhcGktY29tbW9uLlJFQURNRSIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMDJlNjc0ODdjNDgzMTkzNzY4MDA1NjNhMjY1OTUwMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMjM5OTgxOWIwYTFjYWMxYWJiMmI4ZjBmMTgwYzU3MmM5MzgwOWZhYWQzNmM0NjgyNWRkNTM2ZTQ4NDRjN2NmIgorCitkb19jb21waWxlKCkgeworICAgIGluc3RhbGwgLXBtIDY0NCAke1dPUktESVJ9L2N0YXBpLWNvbW1vbi5MSUNFTlNFIExJQ0VOU0UKKyAgICBpbnN0YWxsIC1wbSA2NDQgJHtXT1JLRElSfS9jdGFwaS1jb21tb24uUkVBRE1FIFJFQURNRQorICAgIGVjaG8gJHtsaWJkaXJ9L2N0YXBpID4gY3RhcGkuY29uZgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLURwbSA2NDQgY3RhcGkuY29uZiAke0R9JHtzeXNjb25mZGlyfS9sZC5zby5jb25mLmQvY3RhcGktJHtUQVJHRVRfQVJDSH0uY29uZgorICAgIGluc3RhbGwgLWRtIDc1NSAke0R9JHtsaWJkaXJ9L2N0YXBpCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vY3RhcGkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbml6ZS9kYWVtb25pemVfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb25pemUvZGFlbW9uaXplX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjE1OTFjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb25pemUvZGFlbW9uaXplX2dpdC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkEgdG9vbCB0byBydW4gYSBjb21tYW5kIGFzIGEgZGFlbW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvZnR3YXJlLmNsYXBwZXIub3JnL2RhZW1vbml6ZS8iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UubWQ7bWQ1PTNjZjkwODRmYWE4OGJjODU1NGE5MTM5ZDhkN2RkMzVmIgorUFYgPSAiMS43LjMrZ2l0JHtTUkNQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1NSQ1JFViA9ICJhNGFjNjRhMjQzYWY5MWRjNDM0YjdhMzkxNWY0MzQ4MmQ1MjhhMmIxIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2JtYy9kYWVtb25pemUuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitFWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YXV0b2hlYWRlciIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9udG9vbHMvZGFlbW9udG9vbHMvMDAwMS1lcnJvci5oLWluY2x1ZGUtZXJybm8uaC1pbnN0ZWFkLW9mLWV4dGVybi1pbnQuZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9udG9vbHMvZGFlbW9udG9vbHMvMDAwMS1lcnJvci5oLWluY2x1ZGUtZXJybm8uaC1pbnN0ZWFkLW9mLWV4dGVybi1pbnQuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTE5NTk3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb250b29scy9kYWVtb250b29scy8wMDAxLWVycm9yLmgtaW5jbHVkZS1lcnJuby5oLWluc3RlYWQtb2YtZXh0ZXJuLWludC5kaWZmCkBAIC0wLDAgKzEsMjUgQEAKK0Zyb20gZDNlNzY1MWUyZjI0OTJkZDEwMzFkMDlhOTk3MTM2NDRiNjA0Y2FiNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEdlcnJpdCBQYXBlIDxwYXBlQHNtYXJkZW4ub3JnPgorRGF0ZTogV2VkLCAxMiBEZWMgMjAwNyAxMzo0NDoxNSArMDAwMAorU3ViamVjdDogW1BBVENIXSBlcnJvci5oOiAnI2luY2x1ZGUgPGVycm5vLmg+JyBpbnN0ZWFkIG9mICdleHRlcm4gaW50IGVycm5vOycKKworLS0tCisgZGFlbW9udG9vbHMtMC43Ni9zcmMvZXJyb3IuaCB8ICAgIDIgKy0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBkYWVtb250b29scy0wLjc2Lm9yaWcvc3JjL2Vycm9yLmggZGFlbW9udG9vbHMtMC43Ni9zcmMvZXJyb3IuaAoraW5kZXggMDg2ZmI1NS4uZjdlODI3MyAxMDA2NDQKKy0tLSBkYWVtb250b29scy0wLjc2Lm9yaWcvc3JjL2Vycm9yLmgKKysrKyBkYWVtb250b29scy0wLjc2L3NyYy9lcnJvci5oCitAQCAtMyw3ICszLDcgQEAKKyAjaWZuZGVmIEVSUk9SX0gKKyAjZGVmaW5lIEVSUk9SX0gKKyAKKy1leHRlcm4gaW50IGVycm5vOworKyNpbmNsdWRlIDxlcnJuby5oPgorIAorIGV4dGVybiBpbnQgZXJyb3JfaW50cjsKKyBleHRlcm4gaW50IGVycm9yX25vbWVtOworLS0gCisxLjUuNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9udG9vbHMvZGFlbW9udG9vbHMvMDAwMi1zdXBlcnZpc2UuYy0uLXN1cGVydmlzZS1tYXktYmUtYS1zeW1saW5rLWlmLWl0LXMtZGEuZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9udG9vbHMvZGFlbW9udG9vbHMvMDAwMi1zdXBlcnZpc2UuYy0uLXN1cGVydmlzZS1tYXktYmUtYS1zeW1saW5rLWlmLWl0LXMtZGEuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43M2RjZTkwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb250b29scy9kYWVtb250b29scy8wMDAyLXN1cGVydmlzZS5jLS4tc3VwZXJ2aXNlLW1heS1iZS1hLXN5bWxpbmstaWYtaXQtcy1kYS5kaWZmCkBAIC0wLDAgKzEsNDcgQEAKK0Zyb20gN2VlNTg1Y2FiMWQ1YjY4ZjgwNGE1NjAxYTY2YWU4Nzc5OWM4YTdjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEdlcnJpdCBQYXBlIDxwYXBlQHNtYXJkZW4ub3JnPgorRGF0ZTogU3VuLCAyNCBGZWIgMjAwOCAxMDo1NDoyNiArMDAwMAorU3ViamVjdDogW1BBVENIXSBzdXBlcnZpc2UuYzogLi9zdXBlcnZpc2UgbWF5IGJlIGEgc3ltbGluaywgaWYgaXQncyBkYW5nbGluZywgY3JlYXRlIGxpbmsgdGFyZ2V0CisKKy0tLQorIGRhZW1vbnRvb2xzLTAuNzYvc3JjL3N1cGVydmlzZS5jIHwgICAxNyArKysrKysrKysrKysrKysrLQorIDEgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBkYWVtb250b29scy0wLjc2Lm9yaWcvc3JjL3N1cGVydmlzZS5jIGRhZW1vbnRvb2xzLTAuNzYvc3JjL3N1cGVydmlzZS5jCitpbmRleCAyNDgyYWQyLi5mNDNjYWJmIDEwMDY0NAorLS0tIGRhZW1vbnRvb2xzLTAuNzYub3JpZy9zcmMvc3VwZXJ2aXNlLmMKKysrKyBkYWVtb250b29scy0wLjc2L3NyYy9zdXBlcnZpc2UuYworQEAgLTIwOCw2ICsyMDgsOCBAQCB2b2lkIGRvaXQodm9pZCkKKyBpbnQgbWFpbihpbnQgYXJnYyxjaGFyICoqYXJndikKKyB7CisgICBzdHJ1Y3Qgc3RhdCBzdDsKKysgIGludCByOworKyAgY2hhciBidWZbMjU2XTsKKyAKKyAgIGRpciA9IGFyZ3ZbMV07CisgICBpZiAoIWRpciB8fCBhcmd2WzJdKQorQEAgLTIzMiw3ICsyMzQsMjAgQEAgaW50IG1haW4oaW50IGFyZ2MsY2hhciAqKmFyZ3YpCisgICAgIGlmIChlcnJubyAhPSBlcnJvcl9ub2VudCkKKyAgICAgICBzdHJlcnJfZGllNHN5cygxMTEsRkFUQUwsInVuYWJsZSB0byBzdGF0ICIsZGlyLCIvZG93bjogIik7CisgCistICBta2Rpcigic3VwZXJ2aXNlIiwwNzAwKTsKKysgIGlmIChta2Rpcigic3VwZXJ2aXNlIiwwNzAwKSA9PSAtMSkgeworKyAgICBpZiAoKHIgPSByZWFkbGluaygic3VwZXJ2aXNlIiwgYnVmLCAyNTYpKSAhPSAtMSkgeworKyAgICAgIGlmIChyID09IDI1NikgeworKyAgICAgICAgZXJybm8gPSBFT1ZFUkZMT1c7CisrICAgICAgICBzdHJlcnJfZGllMXN5cygxMTEsInVuYWJsZSB0byByZWFkbGluayAuL3N1cGVydmlzZTogIik7CisrICAgICAgfQorKyAgICAgIGJ1ZltyXSA9IDA7CisrICAgICAgbWtkaXIoYnVmLCAwNzAwKTsKKysgICAgfQorKyAgICBlbHNlIHsKKysgICAgICBpZiAoKGVycm5vICE9IEVOT0VOVCkgJiYgKGVycm5vICE9IEVJTlZBTCkpCisrICAgICAgICBzdHJlcnJfZGllMXN5cygxMTEsICJ1bmFibGUgdG8gcmVhZGxpbmsgLi9zdXBlcnZpc2U6ICIpOworKyAgICB9CisrICB9CisgICBmZGxvY2sgPSBvcGVuX2FwcGVuZCgic3VwZXJ2aXNlL2xvY2siKTsKKyAgIGlmICgoZmRsb2NrID09IC0xKSB8fCAobG9ja19leG5iKGZkbG9jaykgPT0gLTEpKQorICAgICBzdHJlcnJfZGllNHN5cygxMTEsRkFUQUwsInVuYWJsZSB0byBhY3F1aXJlICIsZGlyLCIvc3VwZXJ2aXNlL2xvY2s6ICIpOworLS0gCisxLjUuNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9udG9vbHMvZGFlbW9udG9vbHMvY3Jvc3MtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGFlbW9udG9vbHMvZGFlbW9udG9vbHMvY3Jvc3MtY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTY0YzJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb250b29scy9kYWVtb250b29scy9jcm9zcy1jb21waWxlLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK21ha2Ugc3VyZSBpdCBjYW4gYmUgY29tcGlsZWQgZm9yIGNyb3NzIHRhcmdldAorCisxLiBuZXZlciB0cnkgdG8gY29tcGlsZSB0YXJnZXQgYmluYXJ5IGJ5IG5hdGl2ZSBnY2MKKzIuIHRhcmdldCdzIGNoa3Noc2dyIGRvZXNuJ3Qgd29yayBvbiBuYXRpdmUuCiszLiBpdCdzIHdyb25nIHRvIGRvIHRhcmdldCB0ZXN0cyBvbiBuYXRpdmUuCisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorCitkaWZmIC1OdXJwIGRhZW1vbnRvb2xzLTAuNzYub3JpZy9zcmMvY29uZi1jYyBkYWVtb250b29scy0wLjc2L3NyYy9jb25mLWNjCistLS0gZGFlbW9udG9vbHMtMC43Ni5vcmlnL3NyYy9jb25mLWNjCTIwMDEtMDctMTMgMDA6NDk6NDkuMDAwMDAwMDAwICswODAwCisrKysgZGFlbW9udG9vbHMtMC43Ni9zcmMvY29uZi1jYwkyMDE0LTExLTI2IDA5OjM0OjM4LjgyODgxMjE2MiArMDgwMAorQEAgLTEsMyArMSwzIEBACistZ2NjIC1PMiAtV2ltcGxpY2l0IC1XdW51c2VkIC1XY29tbWVudCAtV2NoYXItc3Vic2NyaXB0cyAtV3VuaW5pdGlhbGl6ZWQgLVdzaGFkb3cgLVdjYXN0LXF1YWwgLVdjYXN0LWFsaWduIC1Xd3JpdGUtc3RyaW5ncworKyR7Q0N9IC1PMiAtV2ltcGxpY2l0IC1XdW51c2VkIC1XY29tbWVudCAtV2NoYXItc3Vic2NyaXB0cyAtV3VuaW5pdGlhbGl6ZWQgLVdzaGFkb3cgLVdjYXN0LXF1YWwgLVdjYXN0LWFsaWduIC1Xd3JpdGUtc3RyaW5ncworIAorIFRoaXMgd2lsbCBiZSB1c2VkIHRvIGNvbXBpbGUgLmMgZmlsZXMuCitkaWZmIC1OdXJwIGRhZW1vbnRvb2xzLTAuNzYub3JpZy9zcmMvY29uZi1sZCBkYWVtb250b29scy0wLjc2L3NyYy9jb25mLWxkCistLS0gZGFlbW9udG9vbHMtMC43Ni5vcmlnL3NyYy9jb25mLWxkCTIwMDEtMDctMTMgMDA6NDk6NDkuMDAwMDAwMDAwICswODAwCisrKysgZGFlbW9udG9vbHMtMC43Ni9zcmMvY29uZi1sZAkyMDE0LTExLTI2IDA5OjM0OjQ5Ljg4MDgxMTczMCArMDgwMAorQEAgLTEsMyArMSwzIEBACistZ2NjIC1zCisrJHtDQ30KKyAKKyBUaGlzIHdpbGwgYmUgdXNlZCB0byBsaW5rIC5vIGZpbGVzIGludG8gYW4gZXhlY3V0YWJsZS4KK2RpZmYgLU51cnAgZGFlbW9udG9vbHMtMC43Ni5vcmlnL3NyYy9NYWtlZmlsZSBkYWVtb250b29scy0wLjc2L3NyYy9NYWtlZmlsZQorLS0tIGRhZW1vbnRvb2xzLTAuNzYub3JpZy9zcmMvTWFrZWZpbGUJMjAwMS0wNy0xMyAwMDo0OTo0OS4wMDAwMDAwMDAgKzA4MDAKKysrKyBkYWVtb250b29scy0wLjc2L3NyYy9NYWtlZmlsZQkyMDE0LTExLTI2IDA5OjM4OjQ3LjEyMDgwMjQ1OSArMDgwMAorQEAgLTE2NSw3ICsxNjUsNyBAQCBoYXNzZ3BybS5oOiBjaG9vc2UgY29tcGlsZSBoYXNzZ3BybS5oMSBoCisgCisgaGFzc2hzZ3IuaDogY2hrc2hzZ3IgY2hvb3NlIGNvbXBpbGUgaGFzc2hzZ3IuaDEgaGFzc2hzZ3IuaDIgbG9hZCBcCisgdHJ5c2hzZ3IuYyB3YXJuLXNoc2dyCistCS4vY2hrc2hzZ3IgfHwgKCBjYXQgd2Fybi1zaHNncjsgZXhpdCAxICkKKysJY2hrc2hzZ3IgfHwgKCBjYXQgd2Fybi1zaHNncjsgZXhpdCAxICkKKyAJLi9jaG9vc2UgY2xyIHRyeXNoc2dyIGhhc3Noc2dyLmgxIGhhc3Noc2dyLmgyID4gaGFzc2hzZ3IuaAorIAorIGhhc3dhaXRwLmg6IGNob29zZSBjb21waWxlIGhhc3dhaXRwLmgxIGhhc3dhaXRwLmgyIGxvYWQgdHJ5d2FpdHAuYworQEAgLTI2NSw3ICsyNjUsNyBAQCByZWFkcHJvY3RpdGxlLm86IGNvbXBpbGUgZXJyb3IuaCByZWFkcHJvCisgcnRzOiBlbnZkaXIgZW52dWlkZ2lkIGZnaGFjayBtYXRjaHRlc3QgbXVsdGlsb2cgcGdycGhhY2sgXAorIHJlYWRwcm9jdGl0bGUgcnRzLnRlc3RzIHNldGxvY2sgc2V0dWlkZ2lkIHNvZnRsaW1pdCBzdXBlcnZpc2Ugc3ZjIFwKKyBzdm9rIHN2c2NhbiBzdnNjYW5ib290IHN2c3RhdCB0YWk2NG4gdGFpNjRubG9jYWwKKy0JZW52IC0gL2Jpbi9zaCBydHMudGVzdHMgMj4mMSB8IGNhdCAtdiA+IHJ0cworKwllY2hvICJXYXJuaW5nOiBXZSBjYW4gbm90IHJ1biB0ZXN0IG9uIGNyb3NzIHRhcmdldC4iCisgCisgc2Nhbl91bG9uZy5vOiBjb21waWxlIHNjYW4uaCBzY2FuX3Vsb25nLmMKKyAJLi9jb21waWxlIHNjYW5fdWxvbmcuYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb250b29scy9kYWVtb250b29sc18wLjc2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kYWVtb250b29scy9kYWVtb250b29sc18wLjc2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2MWY5MmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RhZW1vbnRvb2xzL2RhZW1vbnRvb2xzXzAuNzYuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJESkIgZGFlbW9udG9vbHMiCitERVNDUklQVElPTiA9ICJzdXBlcnZpc2UgbW9uaXRvcnMgYSBzZXJ2aWNlLiBJdCBzdGFydHMgdGhlIHNlcnZpY2UgYW5kIHJlc3RhcnRzIHRoZSBcCitzZXJ2aWNlIGlmIGl0IGRpZXMuIFRoZSBjb21wYW5pb24gc3ZjIHByb2dyYW0gc3RvcHMsIHBhdXNlcywgb3IgcmVzdGFydHMgXAordGhlIHNlcnZpY2Ugb24gc3lzYWRtaW4gcmVxdWVzdC4gVGhlIHN2c3RhdCBwcm9ncmFtIHByaW50cyBhIG9uZS1saW5lIFwKK3N0YXR1cyByZXBvcnQuIFwKK211bHRpbG9nIHNhdmVzIGVycm9yIG1lc3NhZ2VzIHRvIG9uZSBvciBtb3JlIGxvZ3MuICBJdCBvcHRpb25hbGx5IHRpbWVzdGFtcHMgXAorZWFjaCBsaW5lIGFuZCwgZm9yIGVhY2ggbG9nLCBpbmNsdWRlcyBvciBleGNsdWRlcyBsaW5lcyBtYXRjaGluZyBzcGVjaWZpZWQgXAorcGF0dGVybnMuICBJdCBhdXRvbWF0aWNhbGx5IHJvdGF0ZXMgbG9ncyB0byBsaW1pdCB0aGUgYW1vdW50IG9mIGRpc2sgc3BhY2UgXAordXNlZC4gIElmIHRoZSBkaXNrIGZpbGxzIHVwLCBpdCBwYXVzZXMgYW5kIHRyaWVzIGFnYWluLCB3aXRob3V0IGxvc2luZyBhbnkgXAorZGF0YS4iCisKK1NFQ1RJT04gPSAiU3lzdGVtL1NlcnZlcnMiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09NTU9OX0xJQ0VOU0VfRElSfS9QRDttZDU9YjM1OTdkMTI5NDY4ODFlMTNjYjNiNTQ4ZDExNzM4NTEiCitMSUNFTlNFID0gIlBEIgorCitTUkNfVVJJID0gImh0dHA6Ly9jci55cC50by9kYWVtb250b29scy8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZXJyb3IuaC1pbmNsdWRlLWVycm5vLmgtaW5zdGVhZC1vZi1leHRlcm4taW50LmRpZmYgXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1zdXBlcnZpc2UuYy0uLXN1cGVydmlzZS1tYXktYmUtYS1zeW1saW5rLWlmLWl0LXMtZGEuZGlmZiAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICJmaWxlOi8vY3Jvc3MtY29tcGlsZS5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjE4NzFhZjI0NTNkNmU0NjQwMzQ5NjhhMGZiY2IyYmZjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE1NTUzNTAxMmIyYmU3YTUyZGNkOWVjY2FiYjlhMTk4YjEzYmU1MGQwMzg0MTQzYmQzYjMyYjg3MTBkZjRjMWYiCisKK1MgPSAiJHtXT1JLRElSfS9hZG1pbi8ke0JQTn0tJHtQVn0iCisKK0RFUEVORFMgKz0gImRhZW1vbnRvb2xzLW5hdGl2ZSIKK0RFUEVORFNfY2xhc3MtbmF0aXZlID0gIiIKKworZG9fY29tcGlsZSgpIHsKKyAgICAuL3BhY2thZ2UvY29tcGlsZQorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0KK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgIGluc3RhbGwgLW0gNzU1ICR7U30vY29tcGlsZS9jaGtzaHNnciAke0R9LyR7YmluZGlyfQorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgaW5zdGFsbCAtbTc1NSAke1N9L2NvbW1hbmQvKiAke0R9LyR7YmluZGlyfQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGV2aWNla2l0L2RldmljZWtpdC1wb3dlcl8wMTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RldmljZWtpdC9kZXZpY2VraXQtcG93ZXJfMDE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyYjdlNjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RldmljZWtpdC9kZXZpY2VraXQtcG93ZXJfMDE0LmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiRGV2aWNla2l0IHBvd2VyIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1NmNmOTc4NzFmNzcyMzM2Mzg5MzdkYTIxYjAyNWQzIgorCitERVBFTkRTID0gImxpYnVzYi1jb21wYXQgbGlidXNiMSB1ZGV2IGdsaWItMi4wIGRidXMtZ2xpYiBwb2xraXQgaW50bHRvb2wtbmF0aXZlIGxpYmd1ZGV2IgorCitTUkNfVVJJID0gImh0dHA6Ly91cG93ZXIuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzL0RldmljZUtpdC1wb3dlci0ke1BWfS50YXIuZ3o7bmFtZT1hcmNoaXZlIgorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOTM1ZDM3ZjFlMTRiM2M4YTFkNmRhYmNkOWEzOGQzY2EiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJhZDNlOWE4YmQ5NTI1ZDY2ZmFkYzdmYTUzZWY5OWUwNjMyYWE4Y2NhOGZkNWJjMjc0ODM5NTYyNjExNTNiMzczIgorCitTID0gIiR7V09SS0RJUn0vRGV2aWNlS2l0LXBvd2VyLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIiAtLXdpdGgtYmFja2VuZD1saW51eCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lIHM6LW5vbmV0Olw6ZyAke1N9L2RvYy9tYW4vTWFrZWZpbGUuYW0KKyAgICBzZWQgLWkgLWUgJ3M6IGRvYyA6IDpnJyAke1N9L01ha2VmaWxlLmFtCit9ICAgIAorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEvIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3BvbGtpdC0xLyBcCisgICAgICAgICAgICAgICAgJHtiYXNlX2xpYmRpcn0vdWRldi8qIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2Jhc2VfbGliZGlyfS91ZGV2Ly5kZWJ1ZyIKKworCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGV2bWVtMi9kZXZtZW0yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZXZtZW0yL2Rldm1lbTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQ4Y2M5MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGV2bWVtMi9kZXZtZW0yLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiU2ltcGxlIHByb2dyYW0gdG8gcmVhZC93cml0ZSBmcm9tL3RvIGFueSBsb2NhdGlvbiBpbiBtZW1vcnkiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2Rldm1lbTIuYztlbmRsaW5lPTI4O21kNT1kZDY4ZjJiMGE1MTg0YjNkYjNkYzI1Yzk5ZTBiZDBjZCIKK1BSID0gInI3IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubGFydG1ha2VyLm5sL2xhcnR3YXJlL3BvcnQvZGV2bWVtMi5jIFwKKyAgICAgICAgICAgZmlsZTovL2Rldm1lbTItZml4dXBzLTIucGF0Y2g7YXBwbHk9eWVzO3N0cmlwbGV2ZWw9MCIKK1MgPSAiJHtXT1JLRElSfSIKKworQ0ZMQUdTICs9ICItREZPUkNFX1NUUklDVF9BTElHTk1FTlQiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgJHtDQ30gLW8gZGV2bWVtMiBkZXZtZW0yLmMgJHtDRkxBR1N9ICR7TERGTEFHU30KK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIGRldm1lbTIgJHtEfSR7YmluZGlyfQorfQorCitTUkNfVVJJW21kNXN1bV0gPSAiYmUxMmMwMTMyYTFhZTExOGNiZjVlNzlkOTg0MjdjMWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWMzODJjOTBhZjNlZjJmNDk2OTVmZjE0YTRkNjUyMWU1OGFjNDgyYzRlMjlkNmM5ZWJjYTg3NjhmNjk5YzE5MSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGV2bWVtMi9kZXZtZW0yL2Rldm1lbTItZml4dXBzLTIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Rldm1lbTIvZGV2bWVtMi9kZXZtZW0yLWZpeHVwcy0yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1MTc3OTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Rldm1lbTIvZGV2bWVtMi9kZXZtZW0yLWZpeHVwcy0yLnBhdGNoCkBAIC0wLDAgKzEsOTEgQEAKKy0tLSBkZXZtZW0yLmMJMjAwNC0wOC0wNSAwMTo1NToyNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBkZXZtZW0yX21vZGlmLmMJMjAxMS0wMS0xMyAxNTo0ODozNy43OTg3OTk3ODQgKzAxMDAKK0BAIC00NSwxMiArNDUsMTYgQEAKKyAjZGVmaW5lIE1BUF9TSVpFIDQwOTZVTAorICNkZWZpbmUgTUFQX01BU0sgKE1BUF9TSVpFIC0gMSkKKyAKKytzdGF0aWMgaW5saW5lIHZvaWQgKmZpeHVwX2FkZHIodm9pZCAqYWRkciwgc2l6ZV90IHNpemUpOworKworIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgICBpbnQgZmQ7CisgICAgIHZvaWQgKm1hcF9iYXNlLCAqdmlydF9hZGRyOyAKKy0JdW5zaWduZWQgbG9uZyByZWFkX3Jlc3VsdCwgd3JpdGV2YWw7CisrCXVuc2lnbmVkIGxvbmcgcmVhZF9yZXN1bHQsIHdyaXRlX3ZhbDsKKyAJb2ZmX3QgdGFyZ2V0OworIAlpbnQgYWNjZXNzX3R5cGUgPSAndyc7CisrCWNoYXIgZm10X3N0clsxMjhdOworKwlzaXplX3QgZGF0YV9zaXplOworIAkKKyAJaWYoYXJnYyA8IDIpIHsKKyAJCWZwcmludGYoc3RkZXJyLCAiXG5Vc2FnZTpcdCVzIHsgYWRkcmVzcyB9IFsgdHlwZSBbIGRhdGEgXSBdXG4iCitAQCAtNzksMzggKzgzLDUxIEBACisgICAgIHZpcnRfYWRkciA9IG1hcF9iYXNlICsgKHRhcmdldCAmIE1BUF9NQVNLKTsKKyAgICAgc3dpdGNoKGFjY2Vzc190eXBlKSB7CisgCQljYXNlICdiJzoKKysJCQlkYXRhX3NpemUgPSBzaXplb2YodW5zaWduZWQgY2hhcik7CisrCQkJdmlydF9hZGRyID0gZml4dXBfYWRkcih2aXJ0X2FkZHIsIGRhdGFfc2l6ZSk7CisgCQkJcmVhZF9yZXN1bHQgPSAqKCh1bnNpZ25lZCBjaGFyICopIHZpcnRfYWRkcik7CisgCQkJYnJlYWs7CisgCQljYXNlICdoJzoKKysJCQlkYXRhX3NpemUgPSBzaXplb2YodW5zaWduZWQgc2hvcnQpOworKwkJCXZpcnRfYWRkciA9IGZpeHVwX2FkZHIodmlydF9hZGRyLCBkYXRhX3NpemUpOworIAkJCXJlYWRfcmVzdWx0ID0gKigodW5zaWduZWQgc2hvcnQgKikgdmlydF9hZGRyKTsKKyAJCQlicmVhazsKKyAJCWNhc2UgJ3cnOgorKwkJCWRhdGFfc2l6ZSA9IHNpemVvZih1bnNpZ25lZCBsb25nKTsKKysJCQl2aXJ0X2FkZHIgPSBmaXh1cF9hZGRyKHZpcnRfYWRkciwgZGF0YV9zaXplKTsKKyAJCQlyZWFkX3Jlc3VsdCA9ICooKHVuc2lnbmVkIGxvbmcgKikgdmlydF9hZGRyKTsKKyAJCQlicmVhazsKKyAJCWRlZmF1bHQ6CisgCQkJZnByaW50ZihzdGRlcnIsICJJbGxlZ2FsIGRhdGEgdHlwZSAnJWMnLlxuIiwgYWNjZXNzX3R5cGUpOworIAkJCWV4aXQoMik7CisgCX0KKy0gICAgcHJpbnRmKCJWYWx1ZSBhdCBhZGRyZXNzIDB4JVggKCVwKTogMHglWFxuIiwgdGFyZ2V0LCB2aXJ0X2FkZHIsIHJlYWRfcmVzdWx0KTsgCisrCXNwcmludGYoZm10X3N0ciwgIlJlYWQgYXQgYWRkcmVzcyAgMHglJTA4bFggKCUlcCk6IDB4JSUwJWRsWFxuIiwgMipkYXRhX3NpemUpOworKyAgICBwcmludGYoZm10X3N0ciwgKHVuc2lnbmVkIGxvbmcpdGFyZ2V0LCB2aXJ0X2FkZHIsIHJlYWRfcmVzdWx0KTsKKyAgICAgZmZsdXNoKHN0ZG91dCk7CisgCisgCWlmKGFyZ2MgPiAzKSB7CistCQl3cml0ZXZhbCA9IHN0cnRvdWwoYXJndlszXSwgMCwgMCk7CisrCQl3cml0ZV92YWwgPSBzdHJ0b3VsKGFyZ3ZbM10sIDAsIDApOworIAkJc3dpdGNoKGFjY2Vzc190eXBlKSB7CisgCQkJY2FzZSAnYic6CistCQkJCSooKHVuc2lnbmVkIGNoYXIgKikgdmlydF9hZGRyKSA9IHdyaXRldmFsOworKwkJCQl2aXJ0X2FkZHIgPSBmaXh1cF9hZGRyKHZpcnRfYWRkciwgc2l6ZW9mKHVuc2lnbmVkIGNoYXIpKTsKKysJCQkJKigodW5zaWduZWQgY2hhciAqKSB2aXJ0X2FkZHIpID0gd3JpdGVfdmFsOworIAkJCQlyZWFkX3Jlc3VsdCA9ICooKHVuc2lnbmVkIGNoYXIgKikgdmlydF9hZGRyKTsKKyAJCQkJYnJlYWs7CisgCQkJY2FzZSAnaCc6CistCQkJCSooKHVuc2lnbmVkIHNob3J0ICopIHZpcnRfYWRkcikgPSB3cml0ZXZhbDsKKysJCQkJdmlydF9hZGRyID0gZml4dXBfYWRkcih2aXJ0X2FkZHIsIHNpemVvZih1bnNpZ25lZCBzaG9ydCkpOworKwkJCQkqKCh1bnNpZ25lZCBzaG9ydCAqKSB2aXJ0X2FkZHIpID0gd3JpdGVfdmFsOworIAkJCQlyZWFkX3Jlc3VsdCA9ICooKHVuc2lnbmVkIHNob3J0ICopIHZpcnRfYWRkcik7CisgCQkJCWJyZWFrOworIAkJCWNhc2UgJ3cnOgorLQkJCQkqKCh1bnNpZ25lZCBsb25nICopIHZpcnRfYWRkcikgPSB3cml0ZXZhbDsKKysJCQkJdmlydF9hZGRyID0gZml4dXBfYWRkcih2aXJ0X2FkZHIsIHNpemVvZih1bnNpZ25lZCBsb25nKSk7CisrCQkJCSooKHVuc2lnbmVkIGxvbmcgKikgdmlydF9hZGRyKSA9IHdyaXRlX3ZhbDsKKyAJCQkJcmVhZF9yZXN1bHQgPSAqKCh1bnNpZ25lZCBsb25nICopIHZpcnRfYWRkcik7CisgCQkJCWJyZWFrOworIAkJfQorLQkJcHJpbnRmKCJXcml0dGVuIDB4JVg7IHJlYWRiYWNrIDB4JVhcbiIsIHdyaXRldmFsLCByZWFkX3Jlc3VsdCk7IAorKwkJc3ByaW50ZihmbXRfc3RyLCAiV3JpdGUgYXQgYWRkcmVzcyAweCUlMDhsWCAoJSVwKTogMHglJTAlZGxYLCAiCisrCQkJInJlYWRiYWNrIDB4JSUwJWRsWFxuIiwJMipkYXRhX3NpemUsIDIqZGF0YV9zaXplKTsKKysJCXByaW50ZihmbXRfc3RyLCAodW5zaWduZWQgbG9uZyl0YXJnZXQsIHZpcnRfYWRkciwKKysJCQl3cml0ZV92YWwsIHJlYWRfcmVzdWx0KTsKKyAJCWZmbHVzaChzdGRvdXQpOworIAl9CisgCQorQEAgLTExOSwzICsxMzYsMTIgQEAKKyAgICAgcmV0dXJuIDA7CisgfQorIAorK3N0YXRpYyBpbmxpbmUgdm9pZCAqZml4dXBfYWRkcih2b2lkICphZGRyLCBzaXplX3Qgc2l6ZSkKKyt7CisrI2lmZGVmIEZPUkNFX1NUUklDVF9BTElHTk1FTlQKKysJdW5zaWduZWQgbG9uZyBhbGlnbmVkX2FkZHIgPSAodW5zaWduZWQgbG9uZylhZGRyOworKwlhbGlnbmVkX2FkZHIgJj0gfihzaXplIC0gMSk7CisrCWFkZHIgPSAodm9pZCAqKWFsaWduZWRfYWRkcjsKKysjZW5kaWYKKysJcmV0dXJuIGFkZHI7CisrfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZnUtdXRpbC9kZnUtdXRpbC1uYXRpdmVfMC45LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZnUtdXRpbC9kZnUtdXRpbC1uYXRpdmVfMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhN2E2NjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RmdS11dGlsL2RmdS11dGlsLW5hdGl2ZV8wLjkuYmIKQEAgLTAsMCArMSwxNiBAQAorcmVxdWlyZSBkZnUtdXRpbF8ke1BWfS5iYgorCitpbmhlcml0IG5hdGl2ZSBkZXBsb3kKKworREVQRU5EUyA9ICJsaWJ1c2IxLW5hdGl2ZSIKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtUmV2ZXJ0LU1ha2VmaWxlLmFtLURyb3Atc3RhdGljLWRmdS11dGlsLnBhdGNoIgorCitkb19kZXBsb3lbc3N0YXRlLW91dHB1dGRpcnNdID0gIiR7REVQTE9ZX0RJUl9UT09MU30iCitkb19kZXBsb3koKSB7CisgICAgaW5zdGFsbCAtZCAke0RFUExPWV9ESVJfVE9PTFN9CisgICAgaW5zdGFsbCAtbSAwNzU1IHNyYy9kZnUtdXRpbF9zdGF0aWMgJHtERVBMT1lfRElSX1RPT0xTfS9kZnUtdXRpbC0ke1BWfQorICAgIHJtIC1mICR7REVQTE9ZX0RJUl9UT09MU30vZGZ1LXV0aWwKKyAgICBsbiAtc2YgLi9kZnUtdXRpbC0ke1BWfSAke0RFUExPWV9ESVJfVE9PTFN9L2RmdS11dGlsCit9CithZGR0YXNrIGRlcGxveSBiZWZvcmUgZG9fcGFja2FnZSBhZnRlciBkb19pbnN0YWxsCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RmdS11dGlsL2RmdS11dGlsLzAwMDEtUmV2ZXJ0LU1ha2VmaWxlLmFtLURyb3Atc3RhdGljLWRmdS11dGlsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZnUtdXRpbC9kZnUtdXRpbC8wMDAxLVJldmVydC1NYWtlZmlsZS5hbS1Ecm9wLXN0YXRpYy1kZnUtdXRpbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzZhZDA4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZnUtdXRpbC9kZnUtdXRpbC8wMDAxLVJldmVydC1NYWtlZmlsZS5hbS1Ecm9wLXN0YXRpYy1kZnUtdXRpbC5wYXRjaApAQCAtMCwwICsxLDY4IEBACitGcm9tIGMyYWFiM2I5YWUxZmViY2I2YjRjNjU2MWE1OWRmMTkzMGE1N2IzOTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFNYSBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTEgQXVnIDIwMTEgMTE6MTk6NTIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gUmV2ZXJ0ICJNYWtlZmlsZS5hbTogRHJvcCBzdGF0aWMgZGZ1LXV0aWwiCisKK1RoaXMgcmV2ZXJ0cyBjb21taXQgZmUwNDI2ZGRjMDRmNTAzZDE0OGM1ZTVmOTMxZjE2YjhmNjc0ZjA3MS4KKworU2lnbmVkLW9mZi1ieTogTWFydGluIEphTWEgSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgICAgfCAgMiArLQorIHNyYy9NYWtlZmlsZS5hbSB8IDIyICsrKysrKysrKysrKysrKysrKysrKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGY1YTQzYjguLjZhMzc1N2UgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTIxLDcgKzIxLDcgQEAgQVNfSUYoW3Rlc3QgeCRuYXRpdmVfbGlidXNiID0geG5vXSwgWworICAgICAgICAgQUNfTVNHX0VSUk9SKFsqKiogUmVxdWlyZWQgbGlidXNiLTEuMCA+PSAxLjAuMCBub3QgaW5zdGFsbGVkICoqKl0pKQorIF0pCisgCistTElCUz0iJExJQlMgJFVTQl9MSUJTIgorK0xJQlM9IiRMSUJTICRVU0JfTElCUyAtbHB0aHJlYWQiCisgQ0ZMQUdTPSIkQ0ZMQUdTICRVU0JfQ0ZMQUdTIgorIAorICMgQ2hlY2tzIGZvciBoZWFkZXIgZmlsZXMuCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCitpbmRleCA3MDE3OWM0Li5lODczNmVlIDEwMDY0NAorLS0tIGEvc3JjL01ha2VmaWxlLmFtCisrKysgYi9zcmMvTWFrZWZpbGUuYW0KK0BAIC0xLDYgKzEsNiBAQAorIEFNX0NGTEFHUyA9IC1XYWxsIC1XZXh0cmEKKyAKKy1iaW5fUFJPR1JBTVMgPSBkZnUtdXRpbCBkZnUtc3VmZml4IGRmdS1wcmVmaXgKKytiaW5fUFJPR1JBTVMgPSBkZnUtdXRpbCBkZnUtdXRpbF9zdGF0aWMgZGZ1LXN1ZmZpeCBkZnUtcHJlZml4CisgZGZ1X3V0aWxfU09VUkNFUyA9IG1haW4uYyBcCisgCQlwb3J0YWJsZS5oIFwKKyAJCWRmdV9sb2FkLmMgXAorQEAgLTE5LDYgKzE5LDI2IEBAIGRmdV91dGlsX1NPVVJDRVMgPSBtYWluLmMgXAorIAkJcXVpcmtzLmMgXAorIAkJcXVpcmtzLmgKKyAKKytkZnVfdXRpbF9zdGF0aWNfU09VUkNFUyA9IG1haW4uYyBcCisrCQlwb3J0YWJsZS5oIFwKKysJCWRmdV9sb2FkLmMgXAorKwkJZGZ1X2xvYWQuaCBcCisrCQlkZnVfdXRpbC5jIFwKKysJCWRmdV91dGlsLmggXAorKwkJZGZ1c2UuYyBcCisrCQlkZnVzZS5oIFwKKysJCWRmdXNlX21lbS5jIFwKKysJCWRmdXNlX21lbS5oIFwKKysJCWRmdS5jIFwKKysJCWRmdS5oIFwKKysJCXVzYl9kZnUuaCBcCisrCQlkZnVfZmlsZS5jIFwKKysJCWRmdV9maWxlLmggXAorKwkJcXVpcmtzLmMgXAorKwkJcXVpcmtzLmgKKysKKytkZnVfdXRpbF9zdGF0aWNfTERGTEFHUyA9IC1zdGF0aWMKKysKKyBkZnVfc3VmZml4X1NPVVJDRVMgPSBzdWZmaXguYyBcCisgCQlkZnVfZmlsZS5oIFwKKyAJCWRmdV9maWxlLmMKKy0tIAorMi43LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZnUtdXRpbC9kZnUtdXRpbF8wLjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RmdS11dGlsL2RmdS11dGlsXzAuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMWJjYTIyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kZnUtdXRpbC9kZnUtdXRpbF8wLjkuYmIKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT04gPSAiVVNCIERldmljZSBGaXJtd2FyZSBVcGdyYWRlIHV0aWxpdHkiCitTRUNUSU9OID0gImRldmVsIgorQVVUSE9SID0gIkhhcmFsZCBXZWx0ZSA8bGFmb3JnZUBvcGVubW9rby5vcmc+IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitTUkNfVVJJID0gImh0dHA6Ly9kZnUtdXRpbC5nbnVtb25rcy5vcmcvcmVsZWFzZXMvJHtCUH0udGFyLmd6IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworREVQRU5EUyA9ICJsaWJ1c2IxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjMzYmIxZTA4ZWY0YjQwNTA2MjQ0NWQ4NGUyOGZkZTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzY0MjhjNmE2Y2IzMDg4Y2FkNWEzNTkyOTMzMzg1MjUzZGE1ZjI5ZjJlZmZhNjE1MThlZTU5OTFlYTM4ZjgzMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGlnaXRlbXAvZGlnaXRlbXAvbWFrZWZpbGUtZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kaWdpdGVtcC9kaWdpdGVtcC9tYWtlZmlsZS1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBkNTUyZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGlnaXRlbXAvZGlnaXRlbXAvbWFrZWZpbGUtZml4LnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK2RpZ2l0ZW1wOiBhbGxvdyBvdmVycmlkZSBvZiBDQyBhbmQgQ0ZMQUdTIHZhcnMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KKworLS0tIGEvTWFrZWZpbGUJMjAwOC0wOC0yOCAyMTozNzowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBiL01ha2VmaWxlCTIwMTEtMTEtMjQgMjI6MjI6MzkuODgyNTExMjcyICswMDAwCitAQCAtMTEsOCArMTEsOSBAQAorIAorIFZFUlNJT04gPSAzLjYuMAorIAorLUNDCT0gZ2NjCistQ0ZMQUdTCT0gLUkuL3NyYyAtSS4vdXNlcmlhbCAtTzIgLVdhbGwgIyAtZworK0NDCT89IGdjYworK0NGTEFHUwk/PSAgLU8yIC1XYWxsICMgLWcKKytDRkxBR1MgKz0gLUkuL3NyYyAtSS4vdXNlcmlhbAorIAorIE9CSlMJCT0Jc3JjL2RpZ2l0ZW1wLm8gc3JjL2RldmljZV9uYW1lLm8gc3JjL2RzMjQzOC5vCisgSERSUwkJPSAJc3JjL2RpZ2l0ZW1wLmggc3JjL2RldmljZV9uYW1lLmgKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZGlnaXRlbXAvZGlnaXRlbXBfMy42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RpZ2l0ZW1wL2RpZ2l0ZW1wXzMuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1ODI4MjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RpZ2l0ZW1wL2RpZ2l0ZW1wXzMuNi4wLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAicmVhZCB0ZW1wZXJhdHVyZSBzZW5zb3JzIGluIGEgMS1XaXJlIG5ldCIKK1NFQ1RJT04gPSAidXRpbCIKK0RFUEVORFMgPSAibGlidXNiMSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00NGZlZTgyYTFkMmVkMDY3NmNmMzU0NzgyODNlMGFhMCIKKworUFIgPSAicjIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5kaWdpdGVtcC5jb20vc29mdHdhcmUvbGludXgvZGlnaXRlbXAtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL21ha2VmaWxlLWZpeC5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5YmUyZTQ4ZGIzNzkyMGYyMTkyNWFlNmU4OGY4M2I4NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNGNmYzU4NGNkMzcxNGZlOGM5YTJjZGM4Mzg4YmU0OWUwOGI1ZTM5NWQ5NWU2YmNkMTFkNDQxMGUyNTA1Y2EyIgorCitFWFRSQV9PRU1BS0UgPSAiZHM5MDk3IGRzOTA5N3UgXAorICAgICAgICAgICAgICAgIFNZU1RZUEU9J0xpbnV4JyBcCisiCisjIEZpeCBHTlVfSEFTSCBRQSBlcnJvcnMKK1RBUkdFVF9DQ19BUkNIICs9ICIke0NGTEFHU30gJHtMREZMQUdTfSIKKworZG9fY29uZmlndXJlKCkgeworICAgIHJtIC1mIGRpZ2l0ZW1wXyoKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCBkaWdpdGVtcF8qICR7RH0ke3NiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2RzdGF0L2RzdGF0XzAuNy4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kc3RhdC9kc3RhdF8wLjcuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2YxODEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9kc3RhdC9kc3RhdF8wLjcuMi5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gInZlcnNhdGlsZSByZXNvdXJjZSBzdGF0aWNzIHRvb2wiCitERVNDUklQVElPTiA9ICJEc3RhdCBpcyBhIHZlcnNhdGlsZSByZXBsYWNlbWVudCBmb3Igdm1zdGF0LCBpb3N0YXQsIG5ldHN0YXQgYW5kIGlmc3RhdC4gXAorRHN0YXQgb3ZlcmNvbWVzIHNvbWUgb2YgdGhlaXIgbGltaXRhdGlvbnMgYW5kIGFkZHMgc29tZSBleHRyYSBmZWF0dXJlcywgbW9yZSBjb3VudGVycyBcCithbmQgZmxleGliaWxpdHkuIERzdGF0IGlzIGhhbmR5IGZvciBtb25pdG9yaW5nIHN5c3RlbXMgZHVyaW5nIHBlcmZvcm1hbmNlIHR1bmluZyB0ZXN0cywgXAorYmVuY2htYXJrcyBvciB0cm91Ymxlc2hvb3RpbmcuIgorSE9NRVBBR0UgPSAiaHR0cDovL2RhZy53aWVlLnJzL2hvbWUtbWFkZS9kc3RhdCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9kYWd3aWVlcnMvZHN0YXQuZ2l0IgorU1JDX1VSSVttZDVzdW1dID0gIjc5OGUwNTBlMmUwMjRmMDhhMjcyZGQ0YjBlMWViYTQxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk2ZDFlNmVhMjQzNGU0NzdmYTk3MzIyZDkyNzc4ZjY4NDU4ZDdlNTdiYzU1YmM0ZjcyZTI5NDY3YTUyY2ZmZDEiCisKK1NSQ1JFViA9ICI1MjUxMzk3ZWI4ZDNiMjg0YTkwYmZkZmFlYzBjOGUxMjEwMTQ2ZTNmIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgI3VuZG8gdGhlIHN0ZXAgIm1ha2UgZG9jcyIKKyAgICBzZWQgLWkgLWUgJ3MvJChNQUtFKSAtQyBkb2NzIGRvY3MvIyAkKE1BS0UpIC1DIGRvY3MgZG9jcy87JyAke1N9L01ha2VmaWxlCit9Citkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lZGFjLXV0aWxzL2VkYWMtdXRpbHNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lZGFjLXV0aWxzL2VkYWMtdXRpbHNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwYWQ2NjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VkYWMtdXRpbHMvZWRhYy11dGlsc19naXQuYmIKQEAgLTAsMCArMSwzNCBAQAorU1VNTUFSWSA9ICJVc2Vyc3BhY2UgaGVscGVyIGZvciBMaW51eCBrZXJuZWwgRURBQyBkcml2ZXJzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2dyb25kby9lZGFjLXV0aWxzIgorU0VDVElPTiA9ICJBcHBsaWNhdGlvbnMvU3lzdGVtIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitERVBFTkRTID0gIiBzeXNmc3V0aWxzIgorCitTUkNSRVYgPSAiZjlhYTk2MjA1ZjYxMGRlMzlhNzlmZjQzYzc0NzhiN2VmMDJlMzEzOCIKK1BWID0gIjAuMTgrZ2l0JHtTUkNQVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ncm9uZG8vZWRhYy11dGlscyBcCisgICAgZmlsZTovL21ha2UtaW5pdC1zY3JpcHQtYmUtYWJsZS10by1hdXRvbWF0aWNhbGx5LWxvYWQtRURBQy0ucGF0Y2ggXAorICAgIGZpbGU6Ly9hZGQtcmVzdGFydC10by1pbml0c2NyaXB0LnBhdGNoIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICB0b3VjaCAke1N9L0NoYW5nZUxvZworICAgICR7U30vYm9vdHN0cmFwCit9CisKK1JERVBFTkRTXyR7UE59X3g4NiA9ICJkbWlkZWNvZGUiCitSREVQRU5EU18ke1BOfV94ODYtNjQgPSAiZG1pZGVjb2RlIgorUkRFUEVORFNfJHtQTn1fYXJtID0gImRtaWRlY29kZSIKK1JERVBFTkRTXyR7UE59X2FhcmNoNjQgPSAiZG1pZGVjb2RlIgorUkRFUEVORFNfJHtQTn1fcG93ZXJwYyA9ICJkbWlkZWNvZGUiCitSREVQRU5EU18ke1BOfV9wb3dlcnBjNjQgPSAiZG1pZGVjb2RlIgorUkRFUEVORFNfJHtQTn1fYXBwZW5kID0gIiBcCisgICAgcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSBwZXJsLW1vZHVsZS1maWxlLWZpbmQgcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgcGVybC1tb2R1bGUtcG9zaXggXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lZGFjLXV0aWxzL2ZpbGVzL2FkZC1yZXN0YXJ0LXRvLWluaXRzY3JpcHQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VkYWMtdXRpbHMvZmlsZXMvYWRkLXJlc3RhcnQtdG8taW5pdHNjcmlwdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzA1MWRhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lZGFjLXV0aWxzL2ZpbGVzL2FkZC1yZXN0YXJ0LXRvLWluaXRzY3JpcHQucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSAzYWRlODM3ZjY0ZGUwY2ZlMmFlZDViYzUyZjc5MTk3NjBmMzUwNTMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDcgTWFyIDIwMTQgMDA6NTc6MTIgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gZWRhYzogYWRkIHJlc3RhcnQgdG8gaW5pdHNjcmlwdAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvZXRjL2VkYWMuaW5pdC5pbiB8ICAgIDYgKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2V0Yy9lZGFjLmluaXQuaW4gYi9zcmMvZXRjL2VkYWMuaW5pdC5pbgoraW5kZXggYWRmNzZlZS4uMDA3YTUxOSAxMDA2NDQKKy0tLSBhL3NyYy9ldGMvZWRhYy5pbml0LmluCisrKysgYi9zcmMvZXRjL2VkYWMuaW5pdC5pbgorQEAgLTE1NSw4ICsxNTUsMTIgQEAgY2FzZSAiJDEiIGluCisgICBzdGF0dXMpCisgICAgIHNlcnZpY2Vfc3RhdHVzCisgICAgIDs7CisrICByZXN0YXJ0KQorKyAgICBzZXJ2aWNlX3N0b3AKKysgICAgc2VydmljZV9zdGFydAorKyAgICA7OworICAgKikKKy0gICAgQ09NTUFORFM9InN0YXJ0fHN0b3B8c3RhdHVzIgorKyAgICBDT01NQU5EUz0ic3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydCIKKyAgICAgZWNobyAiVXNhZ2U6ICQwIHske0NPTU1BTkRTfX0iCisgICAgIGV4aXQgMgorICAgICA7OworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWRhYy11dGlscy9maWxlcy9tYWtlLWluaXQtc2NyaXB0LWJlLWFibGUtdG8tYXV0b21hdGljYWxseS1sb2FkLUVEQUMtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lZGFjLXV0aWxzL2ZpbGVzL21ha2UtaW5pdC1zY3JpcHQtYmUtYWJsZS10by1hdXRvbWF0aWNhbGx5LWxvYWQtRURBQy0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRkYzI1ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWRhYy11dGlscy9maWxlcy9tYWtlLWluaXQtc2NyaXB0LWJlLWFibGUtdG8tYXV0b21hdGljYWxseS1sb2FkLUVEQUMtLnBhdGNoCkBAIC0wLDAgKzEsOTggQEAKK21ha2UgaW5pdCBzY3JpcHQgYmUgYWJsZSB0byBhdXRvbWF0aWNhbGx5IGxvYWQgRURBQyBtb2R1bGUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IFJveS5MaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9ldGMvZWRhYy5pbml0LmluIHwgICA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZXRjL2VkYWMuaW5pdC5pbiBiL3NyYy9ldGMvZWRhYy5pbml0LmluCitpbmRleCA3YTUxZGE5Li41YjU2OGM0IDEwMDY0NAorLS0tIGEvc3JjL2V0Yy9lZGFjLmluaXQuaW4KKysrKyBiL3NyYy9ldGMvZWRhYy5pbml0LmluCitAQCAtNDIsNyArNDIsNiBAQCBmb3IgZGlyIGluICIkc3lzY29uZmRpci9kZWZhdWx0IiAiJHN5c2NvbmZkaXIvc3lzY29uZmlnIjsgZG8KKyAgIFsgLWYgIiRkaXIvJFNFUlZJQ0UiIF0gJiYgLiAiJGRpci8kU0VSVklDRSIKKyBkb25lCisgCistCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIAorIHNlcnZpY2Vfc3RhcnQgKCkKK0BAIC01Miw2ICs1MSw0NiBAQCBzZXJ2aWNlX3N0YXJ0ICgpCisgIyBBc3N1bWUgdGhhdCBpZiBFREFDX0RSSVZFUiBpcyBub3Qgc2V0LCB0aGVuIEVEQUMgaXMgY29uZmlndXJlZAorICMgIGF1dG9tYXRpY2FsbHksIHRodXMgcmV0dXJuIHN1Y2Nlc3NmdWxseSwgYnV0IGRvbid0IGRvIGFueXRoaW5nLgorICMKKysgICAgaWYgWyAhIC1mIC9ldGMvZWRhYy9lZGFjLWRyaXZlciBdOyB0aGVuCisrICAgICAgICAgWyAtZCAvc3lzL2J1cy9lZGFjL2RldmljZXMvbWMvbWMwIF0gJiYgXAorKyAgICAgICAgIGVjaG8gYGxzbW9kIHwgZ3JlcCBfZWRhYyB8IGN1dCAtZCIgIiAtZjFgID4gL2V0Yy9lZGFjL2VkYWMtZHJpdmVyCisrICAgIGZpCisrCisrICAgIFsgLWYgL2V0Yy9lZGFjL2VkYWMtZHJpdmVyIF0gJiYgRURBQ19EUklWRVI9YGNhdCAvZXRjL2VkYWMvZWRhYy1kcml2ZXJgCisrCisrICAgIGlmIFsgLXogIiRFREFDX0RSSVZFUiIgXTsgdGhlbgorKworKyAgICAgICAgRFJJVkVSX1BBVEg9L2xpYi9tb2R1bGVzL2B1bmFtZSAtcmAva2VybmVsL2RyaXZlcnMvZWRhYworKyAgICAgICAgb2xkcGF0aD1gcHdkYAorKyAgICAgICAgaWYgWyAtZCAkRFJJVkVSX1BBVEggXTsgdGhlbgorKworKyAgICAgICAgICAgIGNkICREUklWRVJfUEFUSAorKworKyAgICAgICAgICAgIGZvciBpIGluICQoL2Jpbi9scyB8IC91c3IvYmluL2N1dCAtZC4gLWYxKSA7IGRvCisrICAgICAgICAgICAgICAgIC9zYmluL21vZHByb2JlICRpIDI+L2Rldi9udWxsCisrICAgICAgICAgICAgICAgIGlmIFsgLWQgL3N5cy9idXMvZWRhYy9kZXZpY2VzL21jL21jMCBdOyB0aGVuCisrICAgICAgICAgICAgICAgICAgICBlY2hvICRpPiAvZXRjL2VkYWMvZWRhYy1kcml2ZXIKKysgICAgICAgICAgICAgICAgICAgIEVEQUNfRFJJVkVSPSRpCisrICAgICAgICAgICAgICAgICAgICBicmVhaworKyAgICAgICAgICAgICAgICBmaQorKyAgICAgICAgICAgICAgICAvc2Jpbi9tb2Rwcm9iZSAtciAkaSAyPi9kZXYvbnVsbAorKyAgICAgICAgICAgIGRvbmUKKysKKysgICAgICAgICAgICBjZCAiJG9sZHBhdGgiCisrCisrCisrICAgICAgICAgICAgaWYgWyAteiAiJEVEQUNfRFJJVkVSIiBdOyB0aGVuCisrICAgICAgICAgICAgICAgIGVjaG8gIlRoaXMgYm9hcmQgbWF5IG5vdCBzdXBwb3J0IEVEQUMsIG9yIEVEQUMgbW9kdWxlIG1heSBub3QgYmUgY29tcGlsZWQgaW4iCisrICAgICAgICAgICAgICAgIGV4aXQKKysgICAgICAgICAgICBmaQorKworKyAgICAgICAgZWxzZQorKyAgICAgICAgICAgIGVjaG8gIlRoaXMgYm9hcmQgbWF5IG5vdCBzdXBwb3J0IEVEQUMsIG9yIEVEQUMgbW9kdWxlIG1heSBub3QgYmUgY29tcGlsZWQgaW4iCisrICAgICAgICAgICAgZXhpdAorKyAgICAgICAgZmkKKysKKysgICAgZmkKKysKKyAgIGlmIFsgLW4gIiRFREFDX0RSSVZFUiIgXTsgdGhlbgorICAgICAgZWNobyAtbiAiU3RhcnRpbmcgJHtTRVJWSUNFfTogIgorICAgICAgbW9kcHJvYmUgJEVEQUNfRFJJVkVSCitAQCAtNzYsMTIgKzExNSwxNSBAQCBzZXJ2aWNlX3N0YXJ0ICgpCisgc2VydmljZV9zdG9wICgpCisgeworICAgZWNobyAtbiAiRGlzYWJsaW5nICR7U0VSVklDRX06ICIKKysKKysgIFsgLWYgL2V0Yy9lZGFjL2VkYWMtZHJpdmVyIF0gJiYgRURBQ19EUklWRVI9YGNhdCAvZXRjL2VkYWMvZWRhYy1kcml2ZXJgCisrCisgICBpZiBbIC1uICIkRURBQ19EUklWRVIiIF07IHRoZW4KKyAgICAgbW9kcHJvYmUgLXIgJEVEQUNfRFJJVkVSCisgICAgIFNUQVRVUz0kPworICAgICBbICRTVEFUVVMgLWVxIDAgXSAmJiBlY2hvIHN1Y2Nlc3MgfHwgZWNobyBmYWlsdXJlCisgICBlbHNlCistICAgIGVjaG8gIk5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgY29uZmlndXJhdGlvbi4iCisrICAgIGVjaG8gIk5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgY29uZmlndXJhdGlvbiwgb3IgRURBQyBNb2R1bGUgaXMgbm90IGxvYWRlZC4iCisgICAgIFNUQVRVUz02CisgICBmaQorIH0KK0BAIC05Miw2ICsxMzQsOSBAQCBzZXJ2aWNlX3N0YXR1cyAoKQorIHsKKyAjIFByaW50IHRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgc2VydmljZS4gIFJlcXVpcmVkIGJ5IExTQi4KKyAjCisrICBbIC1mIC9ldGMvZWRhYy9lZGFjLWRyaXZlciBdICYmIEVEQUNfRFJJVkVSPWBjYXQgL2V0Yy9lZGFjL2VkYWMtZHJpdmVyYAorKyAgWyAteiAiJEVEQUNfRFJJVkVSIiBdICYmIFNUQVRVUz0xICYmIGV4aXQKKysKKyAgIGVkYWMtY3RsIC0tc3RhdHVzCisgICBTVEFUVVM9MAorIH0KKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdC9lamVjdC0yLjEuMS12ZXJib3NlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdC9lamVjdC0yLjEuMS12ZXJib3NlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0MDM2MDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0L2VqZWN0LTIuMS4xLXZlcmJvc2UucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorS2VwdCB0byBoZWxwIHdpdGggZGVidWdnaW5nCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNb3JnYW4gTGl0dGxlIDxtb3JnYW4ubGl0dGxlQHdpbmRyaXZlci5jb20+CisKKy0tLSBlamVjdC0yLjEuMS9lamVjdC5jLnRuCTIwMDUtMDgtMjQgMTE6Mjc6NDIuMDAwMDAwMDAwICswMjAwCisrKysgZWplY3QtMi4xLjEvZWplY3QuYwkyMDA1LTA4LTI0IDExOjMzOjA1LjAwMDAwMDAwMCArMDIwMAorQEAgLTYzOCw3ICs2MzgsOSBAQAorIAl1bnNpZ25lZCBjaGFyIHNlbnNlX2J1ZmZlclszMl07CisgCisgCWlmICgoaW9jdGwoZmQsIFNHX0dFVF9WRVJTSU9OX05VTSwgJmspIDwgMCkgfHwgKGsgPCAzMDAwMCkpIHsKKy0JICBwcmludGYoIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXJcbiIpOworKwkgIGlmICh2X29wdGlvbikgeworKwkJICBwcmludGYoXygibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlclxuIikpOworKwkgIH0KKyAJICByZXR1cm4gMDsKKyAJfQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdC9lamVjdC0yLjEuNS1lcnJvci1yZXR1cm4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0L2VqZWN0LTIuMS41LWVycm9yLXJldHVybi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTEzMDM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdC9lamVjdC0yLjEuNS1lcnJvci1yZXR1cm4ucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFt0aGUgdXBzdHJlYW0gaXMgbm8gbG9uZ2VyIGFjdGl2ZV0KKworLS0tIGVqZWN0L2VqZWN0LmMub3JpZwkyMDEzLTA5LTExIDE4OjA4OjM2LjAwMDAwMDAwMCArMDgwMAorKysrIGVqZWN0L2VqZWN0LmMJMjAxMy0wOS0xMSAxODowOTowNS4wMDAwMDAwMDAgKzA4MDAKK0BAIC0yMDcsNyArMjA3LDYgQEAKKyAiSWYgb21pdHRlZCwgbmFtZSBkZWZhdWx0cyB0byBgJXMnLlxuIgorICJCeSBkZWZhdWx0IHRyaWVzIC1yLCAtcywgLWYsIGFuZCAtcSBpbiBvcmRlciB1bnRpbCBzdWNjZXNzLlxuIiksCisgCQkJREVGQVVMVERFVklDRSk7CistICBleGl0KDEpOworIH0KKyAKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3QvZWplY3QtMi4xLjUtc3BhY2VzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdC9lamVjdC0yLjEuNS1zcGFjZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE2YzRiMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3QvZWplY3QtMi4xLjUtc3BhY2VzLnBhdGNoCkBAIC0wLDAgKzEsNjYgQEAKK0tlcHQgdG8gaGVscCB3aXRoIHNwYWNlcyBpbiB0aGUgbW91bnQgcGF0aAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0xpbnV4IG1hbmdsZXMgc3BhY2VzIGluIG1vdW50IHBvaW50cyBieSBjaGFuZ2luZyB0aGVtIHRvIGFuIG9jdGFsIHN0cmluZworb2YgJ1wwNDAnLiAgU28gbGV0cyBzY2FuIHRoZSBtb3VudCBwb2ludCBhbmQgZml4IGl0IHVwIGJ5IHJlcGxhY2luZyBhbGwKK29jY3VycmVuY2VzIG9mZiAnXDAjIycgd2l0aCB0aGUgQVNDSUkgdmFsdWUgb2YgMCMjLiAgUmVxdWlyZXMgYSB3cml0YWJsZQorc3RyaW5nIGFzIGlucHV0IGFzIHdlIG1hbmdsZSBpbiBwbGFjZS4gIFNvbWUgb2YgdGhpcyB3YXMgdGFrZW4gZnJvbSB0aGUKK3V0aWwtbGludXggcGFja2FnZS4KKworU2lnbmVkLW9mZi1ieTogTW9yZ2FuIExpdHRsZSA8bW9yZ2FuLmxpdHRsZUB3aW5kcml2ZXIuY29tPgorLS0tIGVqZWN0L2VqZWN0LmMub3JpICAgMjAwNy0wNi0yNCAwMDowODo0NCAtMDcwMAorKysrIGVqZWN0L2VqZWN0LmMgICAgICAgMjAwNy0wNi0yNCAwMDoxMjo0NCAtMDcwMAorQEAgLTM3MCw2ICszNzAsMzAgQEAKKyAKKyAKKyAvKgorKyAqIExpbnV4IG1hbmdsZXMgc3BhY2VzIGluIG1vdW50IHBvaW50cyBieSBjaGFuZ2luZyB0aGVtIHRvIGFuIG9jdGFsIHN0cmluZworKyAqIG9mICdcMDQwJy4gIFNvIGxldHMgc2NhbiB0aGUgbW91bnQgcG9pbnQgYW5kIGZpeCBpdCB1cCBieSByZXBsYWNpbmcgYWxsCisrICogb2NjdXJyZW5jZXMgb2ZmICdcMCMjJyB3aXRoIHRoZSBBU0NJSSB2YWx1ZSBvZiAwIyMuICBSZXF1aXJlcyBhIHdyaXRhYmxlCisrICogc3RyaW5nIGFzIGlucHV0IGFzIHdlIG1hbmdsZSBpbiBwbGFjZS4gIFNvbWUgb2YgdGhpcyB3YXMgdGFrZW4gZnJvbSB0aGUKKysgKiB1dGlsLWxpbnV4IHBhY2thZ2UuCisrICovCisrI2RlZmluZSBvY3RhbGlmeShhKSAoKGEpICYgNykKKysjZGVmaW5lIHRvb2N0YWwocykgKDY0Km9jdGFsaWZ5KHNbMV0pICsgOCpvY3RhbGlmeShzWzJdKSArIG9jdGFsaWZ5KHNbM10pKQorKyNkZWZpbmUgaXNvY3RhbChhKSAoKChhKSAmIH43KSA9PSAnMCcpCisrc3RhdGljIGNoYXIgKkRlTWFuZ2xlTW91bnQoY2hhciAqcykKKyt7CisrCWNoYXIgKnRtcCA9IHM7CisrCXdoaWxlICgodG1wID0gc3RyY2hyKHRtcCwgJ1xcJykpICE9IE5VTEwpIHsKKysJCWlmIChpc29jdGFsKHRtcFsxXSkgJiYgaXNvY3RhbCh0bXBbMl0pICYmIGlzb2N0YWwodG1wWzNdKSkgeworKwkJCXRtcFswXSA9IHRvb2N0YWwodG1wKTsKKysJCQltZW1tb3ZlKHRtcCsxLCB0bXArNCwgc3RybGVuKHRtcCktMyk7CisrCQl9CisrCQkrK3RtcDsKKysJfQorKwlyZXR1cm4gczsKKyt9CisrCisrCisrLyoKKyAgKiBHaXZlbiBuYW1lLCBzdWNoIGFzIGZvbywgc2VlIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGV4aXN0OgorICAqCisgICogZm9vIChpZiBmb28gc3RhcnRzIHdpdGggJy4nIG9yICcvJykKK0BAIC04ODQsOCArOTA4LDggQEAKKyAJCQlpZiAoKChzdHJjbXAoczEsIG5hbWUpID09IDApIHx8IChzdHJjbXAoczIsIG5hbWUpID09IDApKSB8fAorIAkJCQkoKG1haiAhPSAtMSkgJiYgKG1haiA9PSBtdGFibWFqKSAmJiAobWluID09IG10YWJtaW4pKSkgeworIAkJCQlGQ0xPU0UoZnApOworLQkJCQkqZGV2aWNlTmFtZSA9IHN0cmR1cChzMSk7CistCQkJCSptb3VudE5hbWUgPSBzdHJkdXAoczIpOworKwkJCQkqZGV2aWNlTmFtZSA9IERlTWFuZ2xlTW91bnQoc3RyZHVwKHMxKSk7CisrCQkJCSptb3VudE5hbWUgPSBEZU1hbmdsZU1vdW50KHN0cmR1cChzMikpOworIAkJCQlyZXR1cm4gMTsKKyAJCQl9CisgCQl9CitAQCAtOTI4LDggKzk1Miw4IEBACisgCQlyYyA9IHNzY2FuZihsaW5lLCAiJTEwMjNzICUxMDIzcyIsIHMxLCBzMik7CisgCQlpZiAocmMgPj0gMiAmJiBzMVswXSAhPSAnIycgJiYgc3RyY21wKHMyLCBuYW1lKSA9PSAwKSB7CisgCQkJRkNMT1NFKGZwKTsKKy0JCQkqZGV2aWNlTmFtZSA9IHN0cmR1cChzMSk7CistCQkJKm1vdW50TmFtZSA9IHN0cmR1cChzMik7CisrCQkJKmRldmljZU5hbWUgPSBEZU1hbmdsZU1vdW50KHN0cmR1cChzMSkpOworKwkJCSptb3VudE5hbWUgPSBEZU1hbmdsZU1vdW50KHN0cmR1cChzMikpOworIAkJCXJldHVybiAxOworIAkJfQorIAl9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0L2VqZWN0LXRpbWVvdXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VqZWN0L2VqZWN0L2VqZWN0LXRpbWVvdXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU4MTQ2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3QvZWplY3QtdGltZW91dC5wYXRjaApAQCAtMCwwICsxLDE3IEBACithbGxvdyBhIGxvbmdlciB0aW1lb3V0CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgCisKK1NpZ25lZC1vZmYtYnk6IE1vcmdhbiBMaXR0bGUgPG1vcmdhbi5saXR0bGVAd2luZHJpdmVyLmNvbT4KKworLS0tIGVqZWN0L2VqZWN0LmMub3JpZwkyMDA2LTA4LTA3IDE2OjM1OjE1LjAwMDAwMDAwMCArMDIwMAorKysrIGVqZWN0L2VqZWN0LmMJMjAwNi0wOC0wNyAxNjozNTo1NC4wMDAwMDAwMDAgKzAyMDAKK0BAIC03MjMsNyArNzIzLDcgQEAKKyAJaW9faGRyLmR4ZmVyX2xlbiA9IDA7CisgCWlvX2hkci5keGZlcnAgPSBpbnFCdWZmOworIAlpb19oZHIuc2JwID0gc2Vuc2VfYnVmZmVyOworLQlpb19oZHIudGltZW91dCA9IDIwMDA7CisrCWlvX2hkci50aW1lb3V0ID0gMTAwMDA7CisgCisgCWlvX2hkci5jbWRwID0gYWxsb3dSbUJsazsKKyAJc3RhdHVzID0gaW9jdGwoZmQsIFNHX0lPLCAodm9pZCAqKSZpb19oZHIpOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lamVjdC9lamVjdF8yLjEuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3RfMi4xLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ0MGYwYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZWplY3QvZWplY3RfMi4xLjUuYmIKQEAgLTAsMCArMSwzNSBAQAorREVTQ1JJUFRJT04gPSAiRWplY3QgYWxsb3dzIHJlbW92YWJsZSBtZWRpYSAodHlwaWNhbGx5IGEgQ0QtUk9NLCBmbG9wcHkgZGlzaywgdGFwZSwgb3IgSkFaIG9yIFpJUCBkaXNrKSB0byBiZSBlamVjdGVkIHVuZGVyIHNvZnR3YXJlIGNvbnRyb2wuIgorSE9NRVBBR0UgPSAiaHR0cDovL2VqZWN0LnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdXBkYXRlLWFsdGVybmF0aXZlcworCitTUkNfVVJJID0gImh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2VqZWN0LTIuMS41LWVycm9yLXJldHVybi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9lamVjdC0yLjEuMS12ZXJib3NlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2VqZWN0LTIuMS41LXNwYWNlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9lamVjdC10aW1lb3V0LnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImI5NmE2ZDQyNjMxMjJmMTcxMWRiMTI3MDFkNzlmNzM4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVmOWY3OTA2NDg0Y2ZkZTRiYTIyM2IyNjgyYTM3MDU4ZjlhM2M3ZDNiYjFhZGRhN2EzNGE2NzQwMmUyZmZlNTUiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK1BSID0gInIxIgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgIyBQTyBzdWJkaXIgbXVzdCBiZSBpbiBidWlsZCBkaXJlY3RvcnkKKyAgICBpZiBbICEgJHtTfSA9ICR7Qn0gXTsgdGhlbgorICAgICAgICBta2RpciAtcCAke0J9L3BvCisgICAgICAgIGNwIC1yICR7U30vcG8vKiAke0J9L3BvLworICAgIGZpCit9CisKK0FMVEVSTkFUSVZFXyR7UE59ID0gInZvbG5hbWUgZWplY3QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdm9sbmFtZV0gPSAiJHtiaW5kaXJ9L3ZvbG5hbWUiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZWplY3RdID0gIiR7YmluZGlyfS9lamVjdCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZW3ZvbG5hbWVdID0gIjEwMCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZW2VqZWN0XSA9ICIxMDAiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW1hY3MvZW1hY3MtMjMuNC9ub3N0ZGxpYi11bndpbmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VtYWNzL2VtYWNzLTIzLjQvbm9zdGRsaWItdW53aW5kLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyMDAzMDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VtYWNzL2VtYWNzLTIzLjQvbm9zdGRsaWItdW53aW5kLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK0ZpeCBsaW5raW5nIHByb2JsZW06Cit1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX2FlYWJpX3Vud2luZF9jcHBfcHIwJwordW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19hZWFiaV91bndpbmRfY3BwX3ByMScKK0luZGV4OiBlbWFjcy9zcmMvTWFrZWZpbGUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBlbWFjcy5vcmlnL3NyYy9NYWtlZmlsZS5pbgkyMDA4LTA4LTE2IDE0OjIwOjE4LjAwMDAwMDAwMCArMDAwMAorKysrIGVtYWNzL3NyYy9NYWtlZmlsZS5pbgkyMDA4LTA4LTE2IDE0OjUxOjI1LjAwMDAwMDAwMCArMDAwMAorQEAgLTQ0Myw3ICs0NDMsNyBAQAorICAgIGFzayBHQ0MgZXhwbGljaXRseSB3aGVyZSB0byBmaW5kIGxpYmdjYy5hLiAgKi8KKyAKKyAjaWZuZGVmIExJTktFUgorLSNkZWZpbmUgTElOS0VSICQoQ0MpIC1ub3N0ZGxpYgorKyNkZWZpbmUgTElOS0VSICQoQ0MpIC1ub3N0ZGxpYiAtbGdjY19zCisgI2VuZGlmCisgCisgI2lmbmRlZiBMSUJfR0NDCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VtYWNzL2VtYWNzLTIzLjQvdXNlLXFlbXUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VtYWNzL2VtYWNzLTIzLjQvdXNlLXFlbXUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE1MjA3YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW1hY3MvZW1hY3MtMjMuNC91c2UtcWVtdS5wYXRjaApAQCAtMCwwICsxLDEwNCBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworZGlmZiAtdU5yIGVtYWNzLTIzLjQvTWFrZWZpbGUuaW4gZW1hY3MtMjMuNC5uZXcvTWFrZWZpbGUuaW4KKy0tLSBlbWFjcy0yMy40L01ha2VmaWxlLmluCTIwMTItMDEtMTEgMTM6MzU6MDEuMDAwMDAwMDAwICswMTAwCisrKysgZW1hY3MtMjMuNC5uZXcvTWFrZWZpbGUuaW4JMjAxMi0wNy0zMSAwMDo1NDowNy4yMjM1OTA4NjYgKzAyMDAKK0BAIC0zMzYsNyArMzM2LDcgQEAKKyAjIGFsbCBwcmVsb2FkZWQgZWxpc3AgZmlsZXMsIGFuZCBvbmx5IHRoZW4gZHVtcCB0aGUgYWN0dWFsIHNyYy9lbWFjcywgd2hpY2gKKyAjIGlzIG5vdCB3cm9uZywgYnV0IGlzIG92ZXJraWxsIGluIDk5Ljk5JSBvZiB0aGUgY2FzZXMuCisgc3JjOiBNYWtlZmlsZSBGUkMKKy0JYm9vdD1ib290c3RyYXAtZW1hY3MkKEVYRUVYVCk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysJYm9vdD0ke1FFTVV9IGJvb3RzdHJhcC1lbWFjcyQoRVhFRVhUKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAorIAlpZiBbICEgLXggInNyYy8kJGJvb3QiIF07IHRoZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorIAkgICAgY2QgJEA7ICQoTUFLRSkgYWxsICQoTUZMQUdTKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorIAkgICAgICBDQz0nJHtDQ30nIENGTEFHUz0nJHtDRkxBR1N9JyBDUFBGTEFHUz0nJHtDUFBGTEFHU30nICAgICAgICAgXAorZGlmZiAtdU5yIGVtYWNzLTIzLjQvbGVpbS9NYWtlZmlsZS5pbiBlbWFjcy0yMy40Lm5ldy9sZWltL01ha2VmaWxlLmluCistLS0gZW1hY3MtMjMuNC9sZWltL01ha2VmaWxlLmluCTIwMTItMDEtMTEgMTM6MzU6MDEuMDAwMDAwMDAwICswMTAwCisrKysgZW1hY3MtMjMuNC5uZXcvbGVpbS9NYWtlZmlsZS5pbgkyMDEyLTA3LTMxIDAwOjU0OjA3LjE3OTU5MDg2NiArMDIwMAorQEAgLTUxLDcgKzUxLDcgQEAKKyAKKyAjIEhvdyB0byBydW4gRW1hY3MuCisgUlVOLUVNQUNTID0gRU1BQ1NMT0FEUEFUSD0kKGJ1aWxkbGlzcHBhdGgpIExDX0FMTD1DIFwKKy0JJHtCVUlMVC1FTUFDU30gLWJhdGNoIC0tbm8taW5pdC1maWxlIC0tbm8tc2l0ZS1maWxlIC0tbXVsdGlieXRlCisrCSR7UUVNVX0gJHtCVUlMVC1FTUFDU30gLWJhdGNoIC0tbm8taW5pdC1maWxlIC0tbm8tc2l0ZS1maWxlIC0tbXVsdGlieXRlCisgCisgIyBTdWJkaXJlY3RvcmllcyB0byBiZSBtYWRlIGlmICR7c3JjZGlyfSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgY3VycmVudAorICMgZGlyZWN0b3J5LgorZGlmZiAtdU5yIGVtYWNzLTIzLjQvbGliLXNyYy9NYWtlZmlsZS5pbiBlbWFjcy0yMy40Lm5ldy9saWItc3JjL01ha2VmaWxlLmluCistLS0gZW1hY3MtMjMuNC9saWItc3JjL01ha2VmaWxlLmluCTIwMTItMDEtMTEgMTM6MzU6MDEuMDAwMDAwMDAwICswMTAwCisrKysgZW1hY3MtMjMuNC5uZXcvbGliLXNyYy9NYWtlZmlsZS5pbgkyMDEyLTA3LTMxIDAwOjU0OjA3LjE4MDU5MDg2NiArMDIwMAorQEAgLTIzLDcgKzIzLDcgQEAKKyBTSEVMTCA9IC9iaW4vc2gKKyAKKyAjIEZvbGxvd2luZyAuLi9saXNwL01ha2VmaWxlLmluLgorLUVNQUNTID0gLi4vc3JjL2VtYWNzCisrRU1BQ1MgPSAke1FFTVV9IC4uL3NyYy9lbWFjcworIEVNQUNTT1BUID0gLWJhdGNoIC0tbm8tc2l0ZS1maWxlIC0tbXVsdGlieXRlCisgCisgIyA9PT09PT09PT09PT09PT09PT09PSBUaGluZ3MgYGNvbmZpZ3VyZScgd2lsbCBlZGl0ID09PT09PT09PT09PT09PT09PT09CitAQCAtMzcyLDcgKzM3Miw3IEBACisgICAgY2xvYmJlcmVkIHRvby4gICovCisgdGVzdC1kaXN0cmliJHtFWEVFWFR9OiAke3NyY2Rpcn0vdGVzdC1kaXN0cmliLmMKKyAJJChDQykgJHtBTExfQ0ZMQUdTfSAtbyB0ZXN0LWRpc3RyaWIgJHtzcmNkaXJ9L3Rlc3QtZGlzdHJpYi5jCistCS4vdGVzdC1kaXN0cmliICR7c3JjZGlyfS90ZXN0ZmlsZQorKwkke1FFTVV9IC4vdGVzdC1kaXN0cmliICR7c3JjZGlyfS90ZXN0ZmlsZQorIAorIC8qIFdlIG5lZWQgdGhlIGZvbGxvd2luZyBpbiBvcmRlciB0byBjcmVhdGUgYSA8Z2V0b3B0Lmg+IHdoZW4gdGhlIHN5c3RlbQorICAgIGRvZXMgbm90IGhhdmUgb25lIHRoYXQgd29ya3Mgd2l0aCB0aGUgZ2l2ZW4gY29tcGlsZXIuICAqLworZGlmZiAtdU5yIGVtYWNzLTIzLjQvbGlzcC9NYWtlZmlsZS5pbiBlbWFjcy0yMy40Lm5ldy9saXNwL01ha2VmaWxlLmluCistLS0gZW1hY3MtMjMuNC9saXNwL01ha2VmaWxlLmluCTIwMTItMDEtMTEgMTM6MzU6MDEuMDAwMDAwMDAwICswMTAwCisrKysgZW1hY3MtMjMuNC5uZXcvbGlzcC9NYWtlZmlsZS5pbgkyMDEyLTA3LTMxIDAwOjU0OjA3LjE5NTU5MDg2NiArMDIwMAorQEAgLTI2LDggKzI2LDcgQEAKKyAjIFlvdSBjYW4gc3BlY2lmeSBhIGRpZmZlcmVudCBleGVjdXRhYmxlIG9uIHRoZSBtYWtlIGNvbW1hbmQgbGluZSwKKyAjIGUuZy4gIm1ha2UgRU1BQ1M9Li4vc3JjL2VtYWNzIC4uLiIuCisgCistRU1BQ1MgPSAuLi9zcmMvZW1hY3MKKy0KKytFTUFDUyA9ICIke1FFTVV9IC4uL3NyYy9lbWFjcyIKKyAjIENvbW1hbmQgbGluZSBmbGFncyBmb3IgRW1hY3MuICBUaGlzIG11c3QgaW5jbHVkZSAtLW11bHRpYnl0ZSwKKyAjIG90aGVyd2lzZSBzb21lIGZpbGVzIHdpbGwgbm90IGNvbXBpbGUuCisgCitkaWZmIC11TnIgZW1hY3MtMjMuNC9zcmMvTWFrZWZpbGUuaW4gZW1hY3MtMjMuNC5uZXcvc3JjL01ha2VmaWxlLmluCistLS0gZW1hY3MtMjMuNC9zcmMvTWFrZWZpbGUuaW4JMjAxMi0wMS0xMiAxMToyNzo1NC4wMDAwMDAwMDAgKzAxMDAKKysrKyBlbWFjcy0yMy40Lm5ldy9zcmMvTWFrZWZpbGUuaW4JMjAxMi0wNy0zMSAwMDo1NTozMC4zNDQ1OTM4NDcgKzAyMDAKK0BAIC00ODIsNyArNDgyLDcgQEAKKyAgICB0aGlzIHdpdGggdGhlIHNoZWxsJydzIGBgZm9yJycgY29uc3RydWN0LgorICAgIE5vdGUgdGhhdCBzb21lIHBlb3BsZSBkbyBub3QgaGF2ZSAnLicgIGluIHRoZWlyIHBhdGhzLCBzbyB3ZSBtdXN0CisgICAgdXNlIC4vcHJlZml4LWFyZ3MuICAqLworLSNkZWZpbmUgWU1GX1BBU1NfTERGTEFHUyhmbGFncykgYC4vcHJlZml4LWFyZ3MgLVhsaW5rZXIgZmxhZ3NgCisrI2RlZmluZSBZTUZfUEFTU19MREZMQUdTKGZsYWdzKSBgJHtRRU1VfSAuL3ByZWZpeC1hcmdzIC1YbGlua2VyIGZsYWdzYAorICNlbHNlCisgI2RlZmluZSBZTUZfUEFTU19MREZMQUdTKGZsYWdzKSBmbGFncworICNlbmRpZgorQEAgLTkxOSw5ICs5MTksOSBAQAorICAgICQoR05VTElCX1ZBUikgTElCX01BVEggTElCX1NUQU5EQVJEICQoR05VTElCX1ZBUikKKyAKKyAjaWZkZWYgSEFWRV9TSE0KKy1SVU5fVEVNQUNTID0gYC9iaW4vcHdkYC90ZW1hY3MgLW5sCisrUlVOX1RFTUFDUyA9ICR7UUVNVX0gdGVtYWNzIC1ubAorICNlbHNlCistUlVOX1RFTUFDUyA9IGAvYmluL3B3ZGAvdGVtYWNzCisrUlVOX1RFTUFDUyA9ICR7UUVNVX0gdGVtYWNzCisgI2VuZGlmCisgCisgYWxsOiBlbWFjcyR7RVhFRVhUfSAkKE9USEVSX0ZJTEVTKQorQEAgLTkzNiw3ICs5MzYsNyBAQAorIAlAOiBUaGlzIG5ldyBFbWFjcyBpcyBhcyBmdW5jdGlvbmFsIGFuZCBtb3JlIGVmZmljaWVudCB0aGVuCisgCUA6IGJvb3RzdHJhcC1lbWFjcywgc28gbGV0IHVzIHJlcGxhY2UgaXQuCisgCS1sbiAtZiBlbWFjcyR7RVhFRVhUfSBib290c3RyYXAtZW1hY3Mke0VYRUVYVH0KKy0JLS4vZW1hY3MgLXEgLWJhdGNoIC1mIGxpc3QtbG9hZC1wYXRoLXNoYWRvd3MKKysJLSR7UUVNVX0gLi9lbWFjcyAtcSAtYmF0Y2ggLWYgbGlzdC1sb2FkLXBhdGgtc2hhZG93cworICNlbmRpZiAvKiAhIGRlZmluZWQgKENBTk5PVF9EVU1QKSAqLworIAorIC8qIFdlIHJ1biBtYWtlLWRvY2ZpbGUgdHdpY2UgYmVjYXVzZSB0aGUgY29tbWFuZCBsaW5lIG1heSBnZXQgdG9vIGxvbmcKK0BAIC05NTQsOCArOTU0LDggQEAKKyAgICBvbmx5IGluIG9yZGVyIHRvIHJlZHVjZSB0aGUgY29tbWFuZCBsaW5lIGxlbmd0aC4gIC0tU3RlZiAgKi8KKyAke2V0Y31ET0M6ICR7bGlic3JjfW1ha2UtZG9jZmlsZSR7RVhFRVhUfSAke29ian0gJHtsaXNwfSAke1NPTUVfTUFDSElORV9MSVNQfQorIAktcm0gLWYgJHtldGN9RE9DCistCSR7bGlic3JjfW1ha2UtZG9jZmlsZSAtZCAke3NyY2Rpcn0gJHtTT01FX01BQ0hJTkVfT0JKRUNUU30gJHtvYmp9ID4gJHtldGN9RE9DCistCSR7bGlic3JjfW1ha2UtZG9jZmlsZSAtYSAke2V0Y31ET0MgLWQgJHtzcmNkaXJ9ICR7U09NRV9NQUNISU5FX0xJU1B9ICR7c2hvcnRsaXNwfQorKwkke1FFTVV9JHtsaWJzcmN9bWFrZS1kb2NmaWxlIC1kICR7c3JjZGlyfSAke1NPTUVfTUFDSElORV9PQkpFQ1RTfSAke29ian0gPiAke2V0Y31ET0MKKysJJHtRRU1VfSAke2xpYnNyY31tYWtlLWRvY2ZpbGUgLWEgJHtldGN9RE9DIC1kICR7c3JjZGlyfSAke1NPTUVfTUFDSElORV9MSVNQfSAke3Nob3J0bGlzcH0KKyAKKyAke2xpYnNyY31tYWtlLWRvY2ZpbGUke0VYRUVYVH06CisgCWNkICR7bGlic3JjfTsgJHtNQUtFfSAke01GTEFHU30gbWFrZS1kb2NmaWxlJHtFWEVFWFR9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VtYWNzL2VtYWNzLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW1hY3MvZW1hY3MuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmYjVjNTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VtYWNzL2VtYWNzLmluYwpAQCAtMCwwICsxLDE0NyBAQAorREVTQ1JJUFRJT04gPSAiRW1hY3MiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorU0VDVElPTiA9ICJlZGl0b3IiCisjIGFuZCBpdCBuZWVkcyB0byBydW4gc29tZSBnZW5lcmF0ZWQgYmluYXJpZXMuLgorREVQRU5EUyArPSAicWVtdS1uYXRpdmUiCisKK0RFUEVORFMgKz0iIGxpYmxvY2tmaWxlIgorCitYMTFERVBFTkRTID0gIiBcCisgICAgbGliaWNlIGxpYnNtIGF0ayBjYWlybyBkYnVzIGV4cGF0IGxpYmZmaSBmb250Y29uZmlnIGZyZWV0eXBlIGdjb25mIGdpZmxpYiBcCisgICAganBlZyB4eiBwaXhtYW4gbGlicG5nIGxpYnJzdmcgdGlmZiBsaWJjcm9jbyBcCisgICAgbGlieDExIGxpYnhhdSBsaWJ4Y29tcG9zaXRlIGxpYnhjdXJzb3IgbGlieGRhbWFnZSBsaWJ4ZG1jcCBsaWJ4ZXh0IGxpYnhmaXhlcyBcCisgICAgbGlieGZ0IGxpYnhwbSBsaWJ4cmFuZHIgbGlieHJlbmRlciBcCisgICAgZ2RrLXBpeGJ1ZiBnbGliLTIuMCBndGsrIHBhbmdvIGxpYnhjYiBoYXJmYnV6eiBpY3UgXAorIiAKKworRVhUUkFfT0VDT05GID0gICItLXdpdGhvdXQtc291bmQgLS13aXRoLWNydC1kaXI9JHtTVEFHSU5HX0xJQkRJUn0gIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteC10b29sa2l0PWd0aywtLXdpdGhvdXQteCAtLXdpdGhvdXQtZGJ1cywke1gxMURFUEVORFN9IgorCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBQ0tBR0VTID0rICIke1BOfS1lbCIKKworRklMRVNfJHtQTn0tZWwgPSAiJHtkYXRhZGlyfS9lbWFjcy8qLyovKi5lbC5neiBcCisgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2VtYWNzLyovKi8qLyouZWwuZ3oiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2VtYWNzICR7ZGF0YWRpcn0vaWNvbnMiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJleGVjZGlyfS9lbWFjcy8qLyovLmRlYnVnICR7ZGF0YWRpcn0vZW1hY3MvKi8qLy5kZWJ1ZyIKKworVFJFRURJUiA9ICIke1dPUktESVJ9L3FlbXUtdHJlZWRpciIKKworUUVNVUFSQ0g9ICIke1RBUkdFVF9BUkNIfSIKK1FFTVVBUkNIX3g4NiA9ICJpMzg2IgorCisjIExhcmdlIHN0YWNrIGlzIHJlcXVpcmVkIGF0IGxlYXN0IG9uIHg4Nl82NCBob3N0LCBvdGhlcndpc2UgcmFuZG9tIHNlZ2ZhdWx0cyBhcHBlYXI6CitRRU1VID0gInFlbXUtJHtRRU1VQVJDSH0gJHtRRU1VX09QVElPTlN9IC1zIDEwNDg1NzYgLUwgJHtUUkVFRElSfSAiCisKK2V4cG9ydCBMT0dOQU1FID0gIiQod2hvYW1pKSIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAnOjE7czpcKFNUQVJULiogXHxMSUJfU1RBTkRBUkQuKiBcfExJQkVTLiogXCkvdXNyL2xpYjpcMSR7U1RBR0lOR19MSUJESVJ9Ojt0MScgJHtTfS9zcmMvcy9nbnUtbGludXguaCBgZmluZCAiJHtTfSIgLW5hbWUgTWFrZWZpbGVgCisgICAgZXhwb3J0IExEX0xJQlJBUllfUEFUSD0iJExEX0xJQlJBUllfUEFUSDoke1RPT0xDSEFJTl9QQVRIfS8ke1RBUkdFVF9TWVN9L2xpYiIKKyMgVWdseSBoYWNrLCBzZWUgZmlsZXMvdXNlLXFlbXUucGF0Y2ggZm9yIG1vcmU6CisgICAgbG4gLXNmIC4uL3NyYy9lbWFjcyBsaXNwL2VtYWNzCisgICAgbG4gLXNmIC4uL3NyYy9lbWFjcyBsaWItc3JjL2VtYWNzCisgICAgbG4gLXNmIC4uL3NyYy9lbWFjcyBsZWltL2VtYWNzCisjY29weSBTVEFHSU5HX0RJUl9UQVJHRVQgYW5kIGxpYmdjY19zLnNvKiB0byBXT1JLRElSL3FlbXUtdHJlZWRpciAjY29waWVkIGNvZGUgZnJvbSBnbGliYy1wYWNrYWdlLmJiY2xhc3MKKyAgICB0cmVlZGlyPSR7VFJFRURJUn0KKyAgICBpZiBbIC1lICR0cmVlZGlyIF07dGhlbgorICAgICAgICBybSAtcmYgJHRyZWVkaXIKKyAgICBmaQorICAgIAorICAgIG1rZGlyIC1wICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9CisKKyAgICBpZiBbIC1mICR7VE9PTENIQUlOX1BBVEh9LyR7VEFSR0VUX1NZU30vJHtiYXNlX2xpYmRpcn0vbGliZ2NjX3Muc28gXTsgdGhlbgorICAgICAgICBjcCAtcFBSICR7VE9PTENIQUlOX1BBVEh9LyR7VEFSR0VUX1NZU30vJHtiYXNlX2xpYmRpcn0vbGliZ2NjX3Muc28gJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0KKyAgICBmaQorICAgIGlmIFsgLWYgJHtUT09MQ0hBSU5fUEFUSH0vJHtUQVJHRVRfU1lTfS8ke2Jhc2VfbGliZGlyfS9saWJnY2Nfcy5zby4qIF07IHRoZW4KKyAgICAgICAgY3AgLXBQUiAke1RPT0xDSEFJTl9QQVRIfS8ke1RBUkdFVF9TWVN9LyR7YmFzZV9saWJkaXJ9L2xpYmdjY19zLnNvLiogJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0KKyAgICBmaQorICAgICMgc3R1cGlkIGhhY2ssIGJ1dCB3aXRob3V0IGl0LCBpdCB0cmllcyB0byB1c2UgL3Vzci9saWIvbGliYy5zbyBmcm9tIGhvc3QgYW5kIGZhaWxzCisgICAgIyB0ZW1hY3M6IGVycm9yIHdoaWxlIGxvYWRpbmcgc2hhcmVkIGxpYnJhcmllczogL3Vzci9saWIvbGliYy5zbzogRUxGIGZpbGUgdmVyc2lvbiBkb2VzIG5vdCBtYXRjaCBjdXJyZW50IG9uZQorICAgIGlmIFsgISAtZiAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfS9saWJjLnNvIF07IHRoZW4KKyAgICAgICAgbG4gLXMgbGliYy5zby42ICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9L2xpYmMuc28KKyAgICBmaQorCisgICAgIyBjb3B5IG9ubHkgYXMgbXVjaCBzdHVmZiBhcyB3ZSBuZWVkCisgICAgIyBiZWZvcmU6IDUuNUcgICAuLi8uLi9xZW11LXRyZWVkaXIvCisgICAgIyBhZnRlcjogICAxN00gICAuLi8uLi9xZW11LXRyZWVkaXIvCisgICAgY3AgLXBQUiBcCisgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9L2xkLSogXAorICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS9saWJjLiogXAorICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS9saWJjLSogXAorICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS9saWJtLSogXAorICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS9saWJtLiogXAorICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS9saWJ0aW5mby5zby4qIFwKKyAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtiYXNlX2xpYmRpcn0vbGlicmVzb2x2KiBcCisgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9L2xpYmRsKiBcCisgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9L2xpYnJ0KiBcCisgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9L2xpYmdjY19zLnNvLiogXAorICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS9saWJwdGhyZWFkKiAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfS8KKworICAgIGlmIFsgISAteiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAneDExJywgJ3gxMScsICcnLCBkKX0iIF0gOyB0aGVuCisgICAgICAgIGVjaG8gIlgxMSBidWlsZCBlbmFibGVkIgorICAgICAgICAjIGNvcHkgb25seSBhcyBtdWNoIHN0dWZmIGFzIHdlIG5lZWQKKyAgICAgICAgIyBiZWZvcmU6IDUuNUcgICAuLi8uLi9xZW11LXRyZWVkaXIvCisgICAgICAgICMgYWZ0ZXI6ICAgODZNICAgLi4vLi4vcWVtdS10cmVlZGlyLworICAgICAgICBjcCAtcFBSIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9L2xpYnV1aWQuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS9saWJ6LnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYklDRS5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJTTS5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJhdGstMS4wLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmNhaXJvLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmRidXMtMS5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJkYnVzLWdsaWItMS5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJleHBhdC5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJmZmkuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliZm9udGNvbmZpZy5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJmcmVldHlwZS5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJnY29uZi0yLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmdpZi5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJqcGVnLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmx6bWEuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGlicGl4bWFuLTEuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGlicG5nMSouc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGlicnN2Zy0yLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYnN0ZGMrKy5zby4qIFwKKyAgICAgICAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJ0aWZmLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYnhtbDIuc28uKiBcCisgICAgICAgICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliY3JvY28tMC42LnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmhhcmZidXp6LnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmljdWxlLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmljdXVjLnNvLiogXAorICAgICAgICAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYmljdWRhdGEuc28uKiAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfS8KKworICAgICAgICAjIFgxMSBYYXUgWGNvbXBvc2l0ZSBYY3Vyc29yIFhkYW1hZ2UgWGRtY3AgWGV4dCBYZml4ZXMgWGZ0IFhwbSBYcmFuZHIgWHJlbmRlcgorICAgICAgICBjcCAtcFBSICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2xpYmRpcn0vbGliWCouc28uKiAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfS8KKworICAgICAgICAjIGdkay14MTEgZ2RrX3BpeGJ1ZiBnaW8gZ2xpYiBnbW9kdWxlIGdvYmplY3QgZ3RocmVhZCBndGsteDExCisgICAgICAgIGNwIC1wUFIgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7bGliZGlyfS9saWJnKi0yLjAuc28uKiAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfS8KKworICAgICAgICAjIHBhbmdvIHBhbmdvY2Fpcm8gcGFuZ29mdDIKKyAgICAgICAgY3AgLXBQUiAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYnBhbmdvKi0xLjAuc28uKiAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfS8KKworICAgICAgICAjIHhjYi1yZW5kZXIgeGNiLXNobSB4Y2IKKyAgICAgICAgY3AgLXBQUiAke1NUQUdJTkdfRElSX1RBUkdFVH0vJHtsaWJkaXJ9L2xpYnhjYiouc28uKiAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfS8KKyAgICBmaQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIGZyZWFrcyBwYWNrYWdlLmJiY2xhc3MgYW5kIHdob2xlIGJpdGJha2UgY2FsbCByZXR1cm5zIGVycm9yIGNvZGUKKyAgICAjIEVSUk9SOiBydW5zdHJpcDogJydhcm0tb2UtbGludXgtZ251ZWFiaS1zdHJpcCcgICcvdmFyL2xpYi9qZW5raW5zL2pvYnMvc2hyLWNvcmUtYnJhbmNoZXMvd29ya3NwYWNlL3Noci1jb3JlL3RtcC1lZ2xpYmMvd29yay9hcm12NHQtb2UtbGludXgtZ251ZWFiaS9lbWFjcy0yMy40LXIwL3BhY2thZ2UvdXNyL3NoYXJlL2VtYWNzLzIzLjQvZXRjL3R1dG9yaWFscy9UVVRPUklBTC5rbycnIHN0cmlwIGNvbW1hbmQgZmFpbGVkCisgICAgbXYgJHtEfSR7ZGF0YWRpcn0vJHtCUE59LyR7UFZ9L2V0Yy90dXRvcmlhbHMvVFVUT1JJQUwua28gJHtEfSR7ZGF0YWRpcn0vJHtCUE59LyR7UFZ9L2V0Yy90dXRvcmlhbHMvVFVUT1JJQUwuS08KKyAgICAjIEluZm8gZGlyIGxpc3RpbmcgaXNuJ3QgaW50ZXJlc3RpbmcgYXQgdGhpcyBwb2ludCBzbyByZW1vdmUgaXQgaWYgaXQgZXhpc3RzLgorICAgIGlmIFsgLWUgIiR7RH0ke2luZm9kaXJ9L2RpciIgXTsgdGhlbgorICAgICAgICBybSAtZiAke0R9JHtpbmZvZGlyfS9kaXIKKyAgICBmaQorfQorCitFWFRSQV9PRU1BS0UgKz0gJ1FFTVU9IiR7UUVNVX0iJwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbWFjcy9lbWFjc18yMy40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbWFjcy9lbWFjc18yMy40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzMjQ4MjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VtYWNzL2VtYWNzXzIzLjQuYmIKQEAgLTAsMCArMSwxMiBAQAorcmVxdWlyZSBlbWFjcy5pbmMKKworUFIgPSAicjQiCisKK1BOQkxBQ0tMSVNUW2VtYWNzXSA/PSAicWVtdTogdW5jYXVnaHQgdGFyZ2V0IHNpZ25hbCAxMSAoU2VnbWVudGF0aW9uIGZhdWx0KSAtIGNvcmUgZHVtcGVkIgorCitTUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZW1hY3MvZW1hY3MtJHtQVn0udGFyLmd6O25hbWU9dGFyYmFsbCBcCisgICAgICAgICAgIGZpbGU6Ly91c2UtcWVtdS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ub3N0ZGxpYi11bndpbmQucGF0Y2ggXAorIgorU1JDX1VSSVt0YXJiYWxsLm1kNXN1bV0gPSAiMzQ0MDUxNjVmY2Q5NzhmYmM4YjMwNGNiZDk5Y2NmNGYiCitTUkNfVVJJW3RhcmJhbGwuc2hhMjU2c3VtXSA9ICJiOWEyYjg0MzQwNTI3NzFmNzk3ZDIwMzI3NzJlYmE4NjJmZjlhYTE0MzAyOWVmYzcyMjk1MTcwNjA3Mjg5YzE4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvY29uZmlndXJlLWhhY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9jb25maWd1cmUtaGFjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NWFiY2RjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvY29uZmlndXJlLWhhY2sucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorLS0tIGVuY2EtMS45L2NvbmZpZ3VyZS5hYy5vcmlnCTIwMDYtMDItMTUgMDA6NTc6MzkuMDAwMDAwMDAwIC0wODAwCisrKysgZW5jYS0xLjkvY29uZmlndXJlLmFjCTIwMDYtMDItMTUgMDA6NTc6NDYuMDAwMDAwMDAwIC0wODAwCitAQCAtOTIsOSArOTIsNiBAQAorIGRubCBBbmQgZm9yIGd0ay1kb2MKKyBndGtfQ0hFQ0tfR1RLX0RPQworIAorLWRubCBDaGVjayBmb3IgZ29vZCByYW5kb20gbnVtYmVyIHNvdXJjZXMKKy1BQ19DSEVDS19GSUxFUygvZGV2L3JhbmRvbSAvZGV2L3VyYW5kb20gL2Rldi9zcmFuZG9tIC9kZXYvYXJhbmRvbSkKKy0KKyBkbmwgRGlydHkgcGF0aCBoYWNrLiAgSGVscHMgc29tZSBwZW9wbGUgd2l0aCBiYWRseSBzZXQgdXAgc2VhcmNoIHBhdGhzLgorIGlmIHRlc3QgIiRwcmVmaXgiID0gIk5PTkUiOyB0aGVuCisgICBMREZMQUdTPSIkTERGTEFHUyAtTCRhY19kZWZhdWx0X3ByZWZpeC9saWIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9jb25maWd1cmUtcmVtb3ZlLWR1bWJuZXNzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvY29uZmlndXJlLXJlbW92ZS1kdW1ibmVzcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjZmM2UzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvY29uZmlndXJlLXJlbW92ZS1kdW1ibmVzcy5wYXRjaApAQCAtMCwwICsxLDI2IEBACistLS0gZW5jYS0xLjkvY29uZmlndXJlLmFjLm9yaWcJMjAwNi0wNi0yOSAxNTozMDo0NC4wMDAwMDAwMDAgKzAxMDAKKysrKyBlbmNhLTEuOS9jb25maWd1cmUuYWMJMjAwNi0wNi0yOSAxNTozMTo0MS4wMDAwMDAwMDAgKzAxMDAKK0BAIC05MiwxNCArOTIsMTUgQEAKKyBkbmwgQW5kIGZvciBndGstZG9jCisgZ3RrX0NIRUNLX0dUS19ET0MKKyAKKy1kbmwgRGlydHkgcGF0aCBoYWNrLiAgSGVscHMgc29tZSBwZW9wbGUgd2l0aCBiYWRseSBzZXQgdXAgc2VhcmNoIHBhdGhzLgorLWlmIHRlc3QgIiRwcmVmaXgiID0gIk5PTkUiOyB0aGVuCistICBMREZMQUdTPSIkTERGTEFHUyAtTCRhY19kZWZhdWx0X3ByZWZpeC9saWIiCistICBDUFBGTEFHUz0iJENQUEZMQUdTIC1JJGFjX2RlZmF1bHRfcHJlZml4L2luY2x1ZGUiCistZWxzZQorLSAgTERGTEFHUz0iJExERkxBR1MgLUwkcHJlZml4L2xpYiIKKy0gIENQUEZMQUdTPSIkQ1BQRkxBR1MgLUkkcHJlZml4L2luY2x1ZGUiCistZmkKKysjIFRoaXMgaXMgcmVhbGx5IGR1bWIgY29kZQorKyNkbmwgRGlydHkgcGF0aCBoYWNrLiAgSGVscHMgc29tZSBwZW9wbGUgd2l0aCBiYWRseSBzZXQgdXAgc2VhcmNoIHBhdGhzLgorKyNpZiB0ZXN0ICIkcHJlZml4IiA9ICJOT05FIjsgdGhlbgorKyMgIExERkxBR1M9IiRMREZMQUdTIC1MJGFjX2RlZmF1bHRfcHJlZml4L2xpYiIKKysjICBDUFBGTEFHUz0iJENQUEZMQUdTIC1JJGFjX2RlZmF1bHRfcHJlZml4L2luY2x1ZGUiCisrI2Vsc2UKKysjICBMREZMQUdTPSIkTERGTEFHUyAtTCRwcmVmaXgvbGliIgorKyMgIENQUEZMQUdTPSIkQ1BQRkxBR1MgLUkkcHJlZml4L2luY2x1ZGUiCisrI2ZpCisgCisgZG5sIENoZWNrcyBmb3IgbGlicmFyaWVzLgorIHllX0NIRUNLX0xJQk0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL2RvbnQtcnVuLXRlc3RzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2EvZG9udC1ydW4tdGVzdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzIxZDFlNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL2RvbnQtcnVuLXRlc3RzLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiBlbmNhLTEuOS9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGVuY2EtMS45Lm9yaWcvTWFrZWZpbGUuYW0JMjAwNS0xMS0yNCAxMToyMTozMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBlbmNhLTEuOS9NYWtlZmlsZS5hbQkyMDA2LTA0LTExIDExOjE0OjIxLjgzMjUwMjkwNCArMDIwMAorQEAgLTIsNyArMiw3IEBACisgaWYgTUFJTlRBSU5FUl9NT0RFCisgU1VCRElSUyA9IHRvb2xzIGRhdGEgc2NyaXB0IGxpYiBzcmMgZGV2ZWwtZG9jcyB0ZXN0CisgZWxzZQorLVNVQkRJUlMgPSB0b29scyBzY3JpcHQgbGliIHNyYyBkZXZlbC1kb2NzIHRlc3QKKytTVUJESVJTID0gdG9vbHMgc2NyaXB0IGxpYiBzcmMgZGV2ZWwtZG9jcworIGVuZGlmCisgbWFuX01BTlMgPSBtYW4vZW5jYS4xCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9saWJlbmNhLTAwMy1pY29udi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL2xpYmVuY2EtMDAzLWljb252LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiZjBmYjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9saWJlbmNhLTAwMy1pY29udi5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIDdlMTQ0NDk1MDkzMTg3MTQzYTNkMTU4OWY3NGMyZWFjMzdlNGQ3OTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXhpbWUgSGFkamlubGlhbiA8bWF4aW1lLmhhZGppbmxpYW5AZ21haWwuY29tPgorRGF0ZTogU3VuLCA0IE1heSAyMDE0IDE1OjQ5OjI4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpYmljb252Lm00OiBGaXggQU1fSUNPTlYgbWFjcm8gdXNhZ2UKKworVGhpcyBwYXRjaCBjb21lIHN0cmFpZ2h0IGZyb20gdGhlIEJ1aWxkcm9vdCBzb3VyY2UgdHJlZS4KKworU2lnbmVkLW9mZi1ieTogQmVybmQgS3VobHMgPGJlcm5ka3VobHNAaG90bWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXhpbWUgSGFkamlubGlhbiA8bWF4aW1lLmhhZGppbmxpYW5AZ21haWwuY29tPgorLS0tCisgbTQvbGliaWNvbnYubTQgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tNC9saWJpY29udi5tNCBiL200L2xpYmljb252Lm00CitpbmRleCBmYzhjNmY4Li4zYTU5NTQ5IDEwMDY0NAorLS0tIGEvbTQvbGliaWNvbnYubTQKKysrKyBiL200L2xpYmljb252Lm00CitAQCAtMTcsNyArMTcsNyBAQCBBQ19SRVFVSVJFKFtBQ19DX0NPTlNUXSlkbmwKKyBkbmwKKyAKKyBkbmwgVXNlIHN0YW5kYXJkIGljb252IHRlc3QKKy1BTV9JQ09OVgorK200X3BhdHRlcm5fYWxsb3coW0FNX0lDT05WXSkKKyBDT05WRVJUT1JfTElCUz0iJENPTlZFUlRPUl9MSUJTICRMSUJJQ09OViIKKyAKKyBkbmwgQ29tcGlsZSBpY29udmNhcC5jIGFuZCBydW4gaXQgdG8gZGV0ZXJtaW5lIHdoYXQgZW5jb2RpbmdzIGljb252IGFjdHVhbGx5CistLSAKKzEuOS4zCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9tYWtlZmlsZS1yZW1vdmUtdG9vbHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYS9tYWtlZmlsZS1yZW1vdmUtdG9vbHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNjZmJjYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jYS9lbmNhL21ha2VmaWxlLXJlbW92ZS10b29scy5wYXRjaApAQCAtMCwwICsxLDEzIEBACistLS0gZW5jYS0xLjkvTWFrZWZpbGUuYW0ub3JpZwkyMDA2LTA2LTI5IDE1OjM0OjU1LjAwMDAwMDAwMCArMDEwMAorKysrIGVuY2EtMS45L01ha2VmaWxlLmFtCTIwMDYtMDYtMjkgMTU6MzU6MjAuMDAwMDAwMDAwICswMTAwCitAQCAtMSw4ICsxLDggQEAKKyAjIEAoIykgJElkOiBNYWtlZmlsZS5hbSx2IDEuMzUgMjAwNS8xMS8yNCAxMDoyMTozMiB5ZXRpIEV4cCAkCisgaWYgTUFJTlRBSU5FUl9NT0RFCistU1VCRElSUyA9IHRvb2xzIGRhdGEgc2NyaXB0IGxpYiBzcmMgZGV2ZWwtZG9jcyB0ZXN0CisrU1VCRElSUyA9IGRhdGEgc2NyaXB0IGxpYiBzcmMgZGV2ZWwtZG9jcyB0ZXN0CisgZWxzZQorLVNVQkRJUlMgPSB0b29scyBzY3JpcHQgbGliIHNyYyBkZXZlbC1kb2NzCisrU1VCRElSUyA9IHNjcmlwdCBsaWIgc3JjIGRldmVsLWRvY3MKKyBlbmRpZgorIG1hbl9NQU5TID0gbWFuL2VuY2EuMQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2FfMS45LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNhL2VuY2FfMS45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmMTk4NDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuY2EvZW5jYV8xLjkuYmIKQEAgLTAsMCArMSwzNyBAQAorU1VNTUFSWSA9ICJFbmNhIGlzIGFuIEV4dHJlbWVseSBOYWl2ZSBDaGFyc2V0IEFuYWx5c2VyIgorU0VDVElPTiA9ICJsaWJzIgorSE9NRVBBR0UgPSAiaHR0cDovL3RyaWZpYy5hdGguY3gvc29mdHdhcmUvZW5jYS8iCisKK0RFUEVORFMgKz0gImdldHRleHQtbmF0aXZlIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjRiOTU2OTgzMWM0NmQ0ODE4NDUwYjU1MjgyNDc2YjQiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5zb3VyY2VmaWxlcy5vcmcvTmV0d29ya2luZy9Ub29scy9NaXNjZWxsYW5lbm91cy9lbmNhLSR7UFZ9LnRhci5iejIgXAorICAgIGZpbGU6Ly9jb25maWd1cmUtaGFjay5wYXRjaCBcCisgICAgZmlsZTovL2RvbnQtcnVuLXRlc3RzLnBhdGNoIFwKKyAgICBmaWxlOi8vY29uZmlndXJlLXJlbW92ZS1kdW1ibmVzcy5wYXRjaCBcCisgICAgZmlsZTovL21ha2VmaWxlLXJlbW92ZS10b29scy5wYXRjaCBcCisgICAgZmlsZTovL2xpYmVuY2EtMDAzLWljb252LnBhdGNoICIKKworU1JDX1VSSVttZDVzdW1dID0gImIzNTgxZTI4ZDY4ZDQ1MjI4NmZiMGJmZTU4YmVkM2IzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAyYWNmZWYyYjI0YTljODQyNjEyZGE0OTMzODEzODMxMWY5MDlmMWNkMzM5MzM1MjBjMDdiOGIyNmM0MTBmNGQiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICMgcmVtb3ZlIGZhaWxpbmcgdGVzdCB3aGljaCBjaGVja3MgZm9yIHNvbWV0aGluZyB0aGF0IGlzbid0IGV2ZW4gdXNlZAorICAgIHNlZCAtaSAtZSAnL3llX0ZVTkNfU0NBTkZfTU9ESUZfU0laRV9UL2QnICR7U30vY29uZmlndXJlLmFjCit9CisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgc2VkIC1pIHM6LUkvdXNyL2luY2x1ZGU6OmcgJHtCfS9NYWtlZmlsZQorICAgIHNlZCAtaSBzOi1JL3Vzci9pbmNsdWRlOjpnICR7Qn0vKi9NYWtlZmlsZQorfQorCitkb19jb21waWxlKCkgeworICAgIGNkICR7U30vdG9vbHMgJiYgJHtCVUlMRF9DQ30gLW8gbWFrZV9oYXNoIG1ha2VfaGFzaC5jCisgICAgY2QgJHtCfQorICAgIG9lX3J1bm1ha2UKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmdpbmUtcGtjczExL2VuZ2luZS1wa2NzMTFfMC4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VuZ2luZS1wa2NzMTEvZW5naW5lLXBrY3MxMV8wLjIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMmEyMjU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmdpbmUtcGtjczExL2VuZ2luZS1wa2NzMTFfMC4yLjAuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJBIFBLQ1MiCitERVNDUklQVElPTiA9ICJcCitFbmdpbmVfcGtjczExIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIGFuIGVuZ2luZSBmb3IgT3BlblNTTC4gSXQgY2FuIGJlIFwKK2xvYWRlZCB1c2luZyBjb2RlLCBjb25maWcgZmlsZSBvciBjb21tYW5kIGxpbmUgYW5kIHdpbGwgcGFzcyBhbnkgZnVuY3Rpb24gXAorY2FsbCBieSBvcGVuc3NsIHRvIGEgUEtDUyBjYXJkcyBhbmQgc29mdHdhcmUgZm9yIHVzaW5nIHNtYXJ0IGNhcmRzIGluIFBLQ1MiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vT3BlblNDL2VuZ2luZV9wa2NzMTEiCitTRUNUSU9OID0gIkRldmVsb3BtZW50L0xpYnJhcmllcyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3JjL2VuZ2luZV9wa2NzMTEuaDtzdGFydGxpbmU9MTtlbmRsaW5lPTI2O21kNT05NzNhMTlmOGE2MTA1ZGUwNDdmMmFkZmJiZmMwNGMzMyIKK0RFUEVORFMgPSAib3BlbnNzbCBsaWJwMTEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9PcGVuU0MvZW5naW5lX3BrY3MxMS5naXQ7cHJvdG9jb2w9aHR0cCIKK1NSQ1JFViA9ICI2OTA5ZDY3NjFjODgyMGUxNzUwZmEwYmY0ZmE4NTMyYzgyZjM0ZTM1IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIlwKKyAgICAtLWRpc2FibGUtc3RhdGljIFwKKyAgICAtLWxpYmRpciAke2xpYmRpcn0vb3BlbnNzbCBcCisiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9L29wZW5zc2wvZW5naW5lcy9saWJwa2NzMTEubGEKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9vcGVuc3NsL2VuZ2luZXMvbGlicGtjczExLnNvKiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L29wZW5zc2wvZW5naW5lcy8uZGVidWcvKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXBlZy9lcGVnX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXBlZy9lcGVnX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmUxOWI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lcGVnL2VwZWdfZ2l0LmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiRXBlZyBpcyBhIHNtYWxsIGxpYnJhcnkgZm9yIGhhbmRsaW5nIHRodW1ibmFpbHMiCitERVNDUklQVElPTiA9ICJJbnNhbmVseSBmYXN0IEpQRUcvIEpQRyB0aHVtYm5haWwgc2NhbGluZyB3aXRoIHRoZSBtaW5pbXVtIGZ1c3MgYW5kIENQVSBvdmVyaGVhZC4gSXQgbWFrZXMgdXNlIG9mIGxpYmpwZWcgZmVhdHVyZXMgb2YgYmVpbmcgYWJsZSB0byBsb2FkIGFuIGltYWdlIGJ5IG9ubHkgZGVjb2RpbmcgdGhlIERDVCBjb2VmZmljaWVudHMgbmVlZGVkIHRvIHJlY29uc3RydWN0IGFuIGltYWdlIG9mIHRoZSBzaXplIGRlc2lyZWQuIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lNzczMmE5MjkwZWExZTRiMDM0ZmRjMTVjZjQ5OTY4ZCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLVBMQUlOO21kNT1mNTljYWNjMDgyMzVhNTQ2YjBjMzRhNTQyMjEzMzAzNSIKK0RFUEVORFMgPSAianBlZyBsaWJleGlmIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbWF0dGVzL2VwZWcuZ2l0IgorU1JDUkVWID0gImQ3OGJlY2M1NThhNjgyZjFiZTBhNzhiMWFmOTBkMWI0YTA4ZTViNGUiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrLWRhdGFfMS4zNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVhay1kYXRhXzEuMzcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE0YmYzNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVhay1kYXRhXzEuMzcuYmIKQEAgLTAsMCArMSwyNyBAQAorcmVxdWlyZSBlc3BlYWsuaW5jCisKK2luaGVyaXQgbmF0aXZlCisKK1BBQ0tBR0VTID0gIiR7UE59IgorRklMRVNfJHtQTn0gPSAiJHtsYXlvdXRfZGF0YWRpcn0iCisKK1BBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCitUQVJHRVRfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCisKK2RvX2NvbXBpbGUoKSB7CisgICAgIyBGaXhpbmcgYnl0ZSBvcmRlciBvZiBwaG9uZW1lIGRhdGEgZmlsZXMKKyAgICBjZCAiJHtTfS9wbGF0Zm9ybXMvYmlnX2VuZGlhbiIKKyAgICBzZWQgLWkgJy9eICpDQyAqPS9kJyBNYWtlZmlsZQorICAgIHNlZCAtaSAncy9cKC4qQllURV9PUkRFUlwpLyN1bmRlZiBCWVRFX09SREVSXG4jZGVmaW5lIEJZVEVfT1JERVIgQklHX0VORElBTlxuXDEvJyBlc3BlYWstcGhvbmVtZS1kYXRhLmMKKyAgICBvZV9ydW5tYWtlCisgICAgLi9lc3BlYWstcGhvbmVtZS1kYXRhICIke1N9L2VzcGVhay1kYXRhIgorICAgIGNwIC1mIHBob25kYXRhIHBob25pbmRleCBwaG9udGFiICIke1N9L2VzcGVhay1kYXRhIgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bGF5b3V0X2RhdGFkaXJ9L2VzcGVhay1kYXRhCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZXNwZWFrLWRhdGEvcGhvbiogJHtEfSR7bGF5b3V0X2RhdGFkaXJ9L2VzcGVhay1kYXRhCit9CisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1YzdiMjkyZDA1MzcyMzI4NjhiNGFjMTMxN2Q3NmMwMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3N2Y0MDZjMzQ1MzYyMTg1ZWM0ZjM2MmJmNDlmNjFkMjAyZTAxYWM5YjljZDVjMTRmODAzMTk1YTU0NGNlNmQzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVhay5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThhMTc2NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVhay5pbmMKQEAgLTAsMCArMSwxMCBAQAorREVTQ1JJUFRJT04gPSAiZVNwZWFrIGlzIGEgY29tcGFjdCBvcGVuIHNvdXJjZSBzb2Z0d2FyZSBzcGVlY2ggc3ludGhlc2l6ZXIiCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTGljZW5zZS50eHQ7bWQ1PWNiN2EyMGVkYjRjOWY1ZjQ3OGRlNjUyM2RjZDczNjJjIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9lc3BlYWsvZXNwZWFrLSR7UFZ9LXNvdXJjZS56aXAiCisKK1MgPSAiJHtXT1JLRElSfS9lc3BlYWstJHtQVn0tc291cmNlIgorCitERVBFTkRTID0gInBvcnRhdWRpby12MTkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWtfMS4zNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVha18xLjM3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3M2ZlMzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWtfMS4zNy5iYgpAQCAtMCwwICsxLDQ0IEBACityZXF1aXJlIGVzcGVhay5pbmMKK2luaGVyaXQgc2l0ZWluZm8KKworRVhUUkFfUEhPTkVNRVMgPSAnJHtAYmIudXRpbHMuY29udGFpbnMoIlNJVEVJTkZPX0VORElBTk5FU1MiLCAiYmUiLCAgImVzcGVhay1kYXRhICg9ICR7UFZ9KSIsICIiLCBkKX0nCitSREVQRU5EU18ke1BOfSA9ICJwb3J0YXVkaW8tdjE5ICR7RVhUUkFfUEhPTkVNRVN9IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNWM3YjI5MmQwNTM3MjMyODY4YjRhYzEzMTdkNzZjMDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzdmNDA2YzM0NTM2MjE4NWVjNGYzNjJiZjQ5ZjYxZDIwMmUwMWFjOWI5Y2Q1YzE0ZjgwMzE5NWE1NDRjZTZkMyIKKworQ1hYRkxBR1MgKz0gIi1EVVNFX1BPUlRBVURJTyIKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9lc3BlYWstZGF0YSIKKworZG9fY29uZmlndXJlKCkgeworICAgICMgICJzcGVhayIgYmluYXJ5LCBhIFRUUyBlbmdpbmUsIHVzZXMgcG9ydGF1ZGlvIGluIGVpdGhlciBBUElzIFYxOCBvciBWMTksIHVzZSBWMTkKKyAgICBjcCAiJHtTfS9zcmMvcG9ydGF1ZGlvMTkuaCIgIiR7U30vc3JjL3BvcnRhdWRpby5oIgorfQorCitkb19jb21waWxlKCkgeworICAgIGNkIHNyYworICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2VzcGVhaworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZXNwZWFrLWRhdGEKKworICAgICMgd2UgZG8gbm90IHNoaXAgInNwZWFrIiBiaW5hcnkgdGhvdWdoLgorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3NyYy9lc3BlYWsgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9zcGVha19saWIuaCAke0R9JHtpbmNsdWRlZGlyfS9lc3BlYWsvCisgICAgbG4gLXNmIGVzcGVhay9lc3BlYWsuaCAke0R9JHtpbmNsdWRlZGlyfS8KKyAgICBvZV9saWJpbnN0YWxsIC1zbyAtQyBzcmMgbGliZXNwZWFrICR7RH0ke2xpYmRpcn0KKworICAgIGlmIFsgIiR7U0lURUlORk9fRU5ESUFOTkVTU30iID0gImJlIiBdIDsgdGhlbgorICAgICAgICAjIHRoZSBiaWctZW5kaWFuIHBob24qIGZpbGVzIGFyZSBwcm92aWRlZCBieSB0aGUgcGFja2FnZSBlc3BlYWstZGF0YQorICAgICAgICBybSAtZiAke1N9L2VzcGVhay1kYXRhL3Bob24qCisgICAgZmkKKworICAgIGNwIC1wcmYgJHtTfS9lc3BlYWstZGF0YS8qICR7RH0ke2RhdGFkaXJ9L2VzcGVhay1kYXRhCisgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0ke2RhdGFkaXJ9L2VzcGVhay1kYXRhCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2V2ZW50bG9nL2V2ZW50bG9nXzAuMi4xMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXZlbnRsb2cvZXZlbnRsb2dfMC4yLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0OTUwN2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2V2ZW50bG9nL2V2ZW50bG9nXzAuMi4xMy5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIlJlcGxhY2VtZW50IHN5c2xvZyBBUEkiCitERVNDUklQVElPTiA9ICJUaGUgRXZlbnRMb2cgbGlicmFyeSBhaW1zIHRvIGJlIGEgcmVwbGFjZW1lbnQgb2YgdGhlIFwKKyAgICAgICAgICAgICAgc2ltcGxlIHN5c2xvZygpIEFQSSBwcm92aWRlZCBvbiBVTklYIHN5c3RlbXMuIFRoZSBcCisgICAgICAgICAgICAgIG1ham9yIGRpZmZlcmVuY2UgYmV0d2VlbiBFdmVudExvZyBhbmQgc3lzbG9nIGlzIHRoYXQgXAorICAgICAgICAgICAgICBFdmVudExvZyB0cmllcyB0byBhZGQgc3RydWN0dXJlIHRvIG1lc3NhZ2VzLiBFdmVudExvZyBcCisgICAgICAgICAgICAgIHByb3ZpZGVzIGFuIGludGVyZmFjZSB0byBidWlsZCwgZm9ybWF0IGFuZCBvdXRwdXQgYW4gXAorICAgICAgICAgICAgICBldmVudCByZWNvcmQuIFRoZSBleGFjdCBmb3JtYXQgYW5kIG91dHB1dCBtZXRob2QgY2FuIFwKKyAgICAgICAgICAgICAgYmUgY3VzdG9taXplZCBieSB0aGUgYWRtaW5pc3RyYXRvciB2aWEgYSBjb25maWd1cmF0aW9uIFwKKyAgICAgICAgICAgICAgZmlsZS4gaGlzIHBhY2thZ2UgaXMgdGhlIHJ1bnRpbWUgcGFydCBvZiB0aGUgbGlicmFyeS4gXAorIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI4YmE4ZTc3YmNkYTlhNTNmYWMwZmUzOWZlOTU3NzY3IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuYmFsYWJpdC5jb20vZG93bmxvYWRzL2ZpbGVzL3N5c2xvZy1uZy9vcGVuLXNvdXJjZS1lZGl0aW9uLzMuNC4yL3NvdXJjZS8ke0JQTn1fJHtQVn0udGFyLmd6IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworU1JDX1VSSVttZDVzdW1dID0gIjY4ZWM4ZDFlYTNiOThmYTM1MDAyYmI3NTYyMjdjMzE1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdjYjRlNmYzMTZkYWVkZTRmYTU0NTQ3MzcxZDVjOTg2Mzk1MTc3YzEyZGJkZWM3NGE2NjI5OGU2ODRhYzhiODUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2V2dGVzdC9ldnRlc3RfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ldnRlc3QvZXZ0ZXN0X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmZlYWI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ldnRlc3QvZXZ0ZXN0X2dpdC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIlNpbXBsZSB0b29sIGZvciBpbnB1dCBldmVudCBkZWJ1Z2dpbmciCitIT01FUEFHRSA9ICJodHRwOi8vcGVvcGxlLmZyZWVkZXNrdG9wLm9yZy9+d2hvdC9ldnRlc3QvIgorQVVUSE9SID0gIlZvanRlY2ggUGF2bGlrIDx2b2p0ZWNoQHN1c2UuY3o+IgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitERVBFTkRTID0gImxpYnhtbDIiCisKK1NSQ1JFViA9ICJiODM0M2VjMTEyNGRhMThiZGFiY2MwNDgwOWE4NzMxYjllMzkyOTVkIgorU1JDX1VSSSA9ICJnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9ldnRlc3Q7cHJvdG9jb2w9Z2l0IgorCitQViA9ICIxLjMyKyR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmFyc2lnaHQvZmFyc2lnaHQyXzAuMC4yMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmFyc2lnaHQvZmFyc2lnaHQyXzAuMC4yMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTg5ODUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYXJzaWdodC9mYXJzaWdodDJfMC4wLjIyLmJiCkBAIC0wLDAgKzEsMzAgQEAKK0RFU0NSSVBUSU9OID0gIkZhclNpZ2h0IGlzIGFuIGF1ZGlvL3ZpZGVvIGNvbmZlcmVuY2luZyBmcmFtZXdvcmsgc3BlY2lmaWNhbGx5IGRlc2lnbmVkIGZvciBJbnN0YW50IE1lc3NlbmdlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL2ZhcnNpZ2h0LnNmLm5ldCIKK1NSQ19VUkkgPSAiaHR0cDovL2ZhcnNpZ2h0LmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy9mYXJzaWdodDIvJHtCUH0udGFyLmd6IgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmJjMDkzOTAxODU3ZmNkMTE4ZjA2NWY5MDA5ODJjMjQiCisKK1BSID0gInIzIgorCitERVBFTkRTID0gImxpYm5pY2UgZ2xpYi0yLjAgbGlieG1sMiB6bGliIGRidXMgZ3N0cmVhbWVyIGdzdC1wbHVnaW5zLWJhc2UiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2d1cG5wXSA9ICItLWVuYWJsZS1ndXBucCwtLWRpc2FibGUtZ3VwbnAsZ3VwbnAtaWdkIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtZGVidWcgXAorICAgIC0tZGlzYWJsZS1ndGstZG9jIFwKKyAgICAtLWRpc2FibGUtcHl0aG9uIFwKKyIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS8qLyouc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8qLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS8qLyouYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyovLmRlYnVnIgorCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMWY1NDBjZjNlYmFiMDZjM2Q3ZGIxZjQ2YjQ0YWM4OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYWU1OWFhNjFhODA3MWM5ZmFkMTExZTVmZDYwNmFhYmMyNzk2MWViNDE5MmY4NzI5OTg3YTI3ZGFlNmIzOTc0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYXJzaWdodC9saWJuaWNlXzAuMC4xMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmFyc2lnaHQvbGlibmljZV8wLjAuMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjIwZWUxZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmFyc2lnaHQvbGlibmljZV8wLjAuMTMuYmIKQEAgLTAsMCArMSw0MCBAQAorU1VNTUFSWSA9ICJJbnRlcmFjdGl2ZSBDb25uZWN0aXZpdHkgRXN0YWJsaXNobWVudCBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiTGlibmljZSBpcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgSUVURidzIGRyYWZ0IEludGVyYWN0aXZlIENvbm5lY3Rpdml0eSBFc3RhYmxpc2htZW50IHN0YW5kYXJkIChJQ0UpLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9uaWNlLmZyZWVkZXNrdG9wLm9yZy93aWtpLyIKK1NSQ19VUkkgPSAiaHR0cDovL25pY2UuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzL2xpYm5pY2UtJHtQVn0udGFyLmd6IgorCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgTVBMdjEuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTljNDIzMjUwMTU3MDJmZWRhNGY0ZDJmMTlhNTViNzY3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5NUEw7bWQ1PTNjNjE3NzEwZTUxY2RiZTBmYzAwNzE2ZjA1NmRmYjFhIFwKKyIKKworUFIgPSAicjQiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ3N0cmVhbWVyIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tndXBucF0gPSAiLS1lbmFibGUtZ3VwbnAsLS1kaXNhYmxlLWd1cG5wLGd1cG5wLWlnZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLnNvIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLy5kZWJ1ZyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgbWtkaXIgJHtTfS9tNCB8fCB0cnVlCit9CisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIGZvciBpIGluICQoZmluZCAke0J9IC1uYW1lICIqLnBjIikgOyBkbworICAgICAgICBzZWQgLWkgLWUgczoke1NUQUdJTkdfRElSX1RBUkdFVH06OmcgXAorICAgICAgICAgICAgICAgLWUgczovJHtUQVJHRVRfU1lTfTo6ZyBcCisgICAgICAgICAgICAgICAgICAkaQorICAgIGRvbmUKK30KKworCitTUkNfVVJJW21kNXN1bV0gPSAiZTViOWY3OTlhNTdjYjkzOWVhMjY1OGVjMzUyNTNhYjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDhkZDI2MGM0ODZhNDcwYTYwNTJhNTMyMzkyMDg3OGEwODRlNDRhMTlkZjA5YjE1NzI4Yjg1YzllM2Q2ZWRmMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtMi4xL2Zic2V0LTIuMS1maXgtbWFrZWZpbGUtZGVwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC0yLjEvZmJzZXQtMi4xLWZpeC1tYWtlZmlsZS1kZXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFhYjhhZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtMi4xL2Zic2V0LTIuMS1maXgtbWFrZWZpbGUtZGVwLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gM2RiNjc4MmRlMWRlN2NhNGYxYmI5ZWU3NjUyYzRmMjgwOGU1NzUzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDEwIEphbiAyMDEzIDEyOjI0OjMzICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGZic2V0IDIuMSBmaXggbWFrZWZpbGUgZGVwIG1vZGVzLnRhYi5jCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbm8gdXBzdHJlYW1dCisKK2ZpeCB0aGUgZXJyb3IgaW4gcGFyYWxsZWwgYnVpbGQ6CittYWtlOiAqKiogTm8gcnVsZSB0byBtYWtlIHRhcmdldCBgbW9kZXMudGFiLmgnLCBuZWVkZWQgYnkgYGxleC55eS5vJy4gIFN0b3AuIAorCitTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgTWFrZWZpbGUgfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCA2MTUzNmMxLi4wOTE4M2U1IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMTUsNyArMTUsNyBAQCBmYnNldDoJCWZic2V0Lm8gbW9kZXMudGFiLm8gbGV4Lnl5Lm8KKyAKKyBmYnNldC5vOglmYnNldC5jIGZic2V0LmggZmIuaAorIG1vZGVzLnRhYi5vOgltb2Rlcy50YWIuYyBmYnNldC5oIGZiLmgKKy1sZXgueXkubzoJbGV4Lnl5LmMgZmJzZXQuaCBtb2Rlcy50YWIuaAorK2xleC55eS5vOglsZXgueXkuYyBmYnNldC5oIG1vZGVzLnRhYi5jCisgCisgbGV4Lnl5LmM6CW1vZGVzLmwKKyAJCSQoRkxFWCkgbW9kZXMubAorLS0gCisxLjcuNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtMi4xL21ha2VmaWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC0yLjEvbWFrZWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJiMWM2MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtMi4xL21ha2VmaWxlLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBmYnNldC0yLjEvTWFrZWZpbGUub3JpZwkyMDA2LTA1LTI4IDA0OjA0OjI3LjQxMjA5NTQ4MCArMDIwMAorKysrIGZic2V0LTIuMS9NYWtlZmlsZQkyMDA2LTA1LTI4IDA0OjE0OjA1LjM3OTIzMTEyMCArMDIwMAorQEAgLTIsNyArMiw3IEBACisgIyBMaW51eCBGcmFtZSBCdWZmZXIgRGV2aWNlIENvbmZpZ3VyYXRpb24KKyAjCisgCistQ0MgPQkJZ2NjIC1XYWxsIC1PMiAtSS4KKytDRkxBR1MgPQktV2FsbCAtTzIgLUkuCisgQklTT04gPQkJYmlzb24gLWQKKyBGTEVYID0JCWZsZXgKKyBJTlNUQUxMID0JaW5zdGFsbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODhmN2E0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJEZWZhdWx0IGRpc3BsYXkgdGltaW5ncyBhbmQgcmVzb2x1dGlvbnMgZm9yIGZic2V0IgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKKworUFYgPSAiMC4xLjAiCitQUiA9ICJyNiIKKworU1JDX1VSSSA9ICJmaWxlOi8vZmIubW9kZXMiCitTID0gIiR7V09SS0RJUn0iCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2ZiLm1vZGVzICR7RH0ke3N5c2NvbmZkaXJ9Cit9CisKK2luaGVyaXQgYWxsYXJjaAorCisjIGZiLm1vZGVzIGZpbGUgaXMgTUFDSElORV9BUkNILCBiYXNlLmJiY2xhc3MgY29ycmVjdGx5IGNoYW5nZXMgaXQgdG8gTUFDSElORV9BUkNILCBidXQgdG9vIGxhdGUgZm9yIGFsbGFyY2guYmJjbGFzcworIyB0byBkaXNhYmxlICJhbGwiIGJlaGF2aW9yIChmb3VuZCB3aGVuIGNvbXBhcmluZyBxZW11YXJtIGFuZCBxZW11eDg2IHNpZ25hdHVyZXMpCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9mYi5tb2RlcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvZmIubW9kZXMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL2ZiLm1vZGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhNWU2ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL2ZiLm1vZGVzCkBAIC0wLDAgKzEsMyBAQAorIyBCeSBkZWZhdWx0IHRoZXJlIGlzIG5vdGhpbmcgaW4gdGhpcyBmaWxlIGp1c3QgYSByZW1pbmRlciB0byBkZWZpbmUgc29tZQorIyBtb2RlcyBpbiBPRQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL29tLWd0YTAxL2ZiLm1vZGVzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9vbS1ndGEwMS9mYi5tb2RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDZkMjNkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9vbS1ndGEwMS9mYi5tb2RlcwpAQCAtMCwwICsxLDI5IEBACisjIFRpbWluZ3MgZm9yIEdUQTAxIFZHQSBhbmQgUVZHQSBtb2RlCisKK21vZGUgIjQ4MHg2NDAiCisgICAgIyBEOiAyNi4wMDAgTUh6LCBIOiA0My4zMzQga0h6LCBWOiA2NS42NTcgSHoKKyAgICBnZW9tZXRyeSA0ODAgNjQwIDQ4MCA2NDAgMTYKKyAgICB0aW1pbmdzIDM4NDYxIDEwNCA4IDIgMTYgOCAyCisgICAgYWNjZWwgZmFsc2UKK2VuZG1vZGUKKworbW9kZSAidmdhIgorICAgICMgRDogMjYuMDAwIE1IeiwgSDogNDMuMzM0IGtIeiwgVjogNjUuNjU3IEh6CisgICAgZ2VvbWV0cnkgNDgwIDY0MCA0ODAgNjQwIDE2CisgICAgdGltaW5ncyAzODQ2MSAxMDQgOCAyIDE2IDggMgorICAgIGFjY2VsIGZhbHNlCitlbmRtb2RlCisKK21vZGUgIjI0MHgzMjAiCisgICAgIyBEOiA4LjQ3NSBNSHosIEg6IDI0LjYzNSBrSHosIFY6IDc1LjU2OSBIegorICAgIGdlb21ldHJ5IDI0MCAzMjAgMjQwIDMyMCAxNgorICAgIHRpbWluZ3MgMTE4MDAwIDg4IDggMiAyIDggMgorICAgIGFjY2VsIGZhbHNlCitlbmRtb2RlCisKK21vZGUgInF2Z2EiCisgICAgIyBEOiA4LjQ3NSBNSHosIEg6IDI0LjYzNSBrSHosIFY6IDc1LjU2OSBIegorICAgIGdlb21ldHJ5IDI0MCAzMjAgMjQwIDMyMCAxNgorICAgIHRpbWluZ3MgMTE4MDAwIDg4IDggMiAyIDggMgorICAgIGFjY2VsIGZhbHNlCitlbmRtb2RlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL29tYXAzLXBhbmRvcmEvZmIubW9kZXMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL29tYXAzLXBhbmRvcmEvZmIubW9kZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM4NzQwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvb21hcDMtcGFuZG9yYS9mYi5tb2RlcwpAQCAtMCwwICsxLDYgQEAKK21vZGUgIjgwMHg0ODAtNjUiCisgICAgIyBEOiAzNi4wMDEgTUh6LCBIOiAzNC4xMjQga0h6LCBWOiA2NC45OTggSHoKKyAgICBnZW9tZXRyeSA4MDAgNDgwIDgwMCA0ODAgMTYKKyAgICB0aW1pbmdzIDI3Nzc3IDQwIDIxNCAxMCAzNCAxIDEKKyAgICByZ2JhIDUvMTEsNi81LDUvMCwwLzAKK2VuZG1vZGUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvcWVtdWFybS9mYi5tb2RlcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvcWVtdWFybS9mYi5tb2RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTE0NTY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC1tb2Rlcy9xZW11YXJtL2ZiLm1vZGVzCkBAIC0wLDAgKzEsMTcgQEAKKyMgUUVNVSB2ZXJzYXRpbGVwYiBtYWNoaW5lLCBxZW11YXJtIGluIE9FCisKK21vZGUgInZnYSIgIjY0MHg0ODAiCisgICAgZ2VvbWV0cnkgNjQwIDQ4MCA2NDAgNDgwIDE2CitlbmRtb2RlCisKK21vZGUgInZnYS1wb3J0cmFpdCIgIjQ4MHg2NDAiCisgICAgZ2VvbWV0cnkgNDgwIDY0MCA0ODAgNjQwIDE2CitlbmRtb2RlCisKK21vZGUgInF2Z2EiICIzMjB4MjQwIgorICAgIGdlb21ldHJ5IDMyMCAyNDAgMzIwIDI0MCAxNgorZW5kbW9kZQorCittb2RlICJxdmdhLXBvcnRyYWl0IiAiMjQweDMyMCIKKyAgICBnZW9tZXRyeSAyNDAgMzIwIDI0MCAzMjAgMTYKK2VuZG1vZGUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQtbW9kZXMvcWVtdW1pcHMvZmIubW9kZXMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL3FlbXVtaXBzL2ZiLm1vZGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExMTQ1NjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0LW1vZGVzL3FlbXVtaXBzL2ZiLm1vZGVzCkBAIC0wLDAgKzEsMTcgQEAKKyMgUUVNVSB2ZXJzYXRpbGVwYiBtYWNoaW5lLCBxZW11YXJtIGluIE9FCisKK21vZGUgInZnYSIgIjY0MHg0ODAiCisgICAgZ2VvbWV0cnkgNjQwIDQ4MCA2NDAgNDgwIDE2CitlbmRtb2RlCisKK21vZGUgInZnYS1wb3J0cmFpdCIgIjQ4MHg2NDAiCisgICAgZ2VvbWV0cnkgNDgwIDY0MCA0ODAgNjQwIDE2CitlbmRtb2RlCisKK21vZGUgInF2Z2EiICIzMjB4MjQwIgorICAgIGdlb21ldHJ5IDMyMCAyNDAgMzIwIDI0MCAxNgorZW5kbW9kZQorCittb2RlICJxdmdhLXBvcnRyYWl0IiAiMjQweDMyMCIKKyAgICBnZW9tZXRyeSAyNDAgMzIwIDI0MCAzMjAgMTYKK2VuZG1vZGUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQvMDAwMS1mYnNldC1pbmNsdWRpbmctYXNtLXR5cGVzLmgtaXMtbmVlZGVkLW9uLWFsbC1saW51eC1zLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnNldC9mYnNldC8wMDAxLWZic2V0LWluY2x1ZGluZy1hc20tdHlwZXMuaC1pcy1uZWVkZWQtb24tYWxsLWxpbnV4LXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y0NWRiZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXQvMDAwMS1mYnNldC1pbmNsdWRpbmctYXNtLXR5cGVzLmgtaXMtbmVlZGVkLW9uLWFsbC1saW51eC1zLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gMDZlZGQ4ODgzM2RhOTMzNjFkNTQwOGI4ODBmYmI4OTBkZjMzMjQ5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDE5IEphbiAyMDE2IDAxOjU1OjQ3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIGZic2V0OiBpbmNsdWRpbmcgYXNtL3R5cGVzLmggaXMgbmVlZGVkIG9uIGFsbCBsaW51eCBzeXN0ZW1zCisKK2luY2x1ZGluZyBhc20vdHlwZXMuaCBpcyBuZWVkZWQgdG8gZ2V0IExpbnV4IHR5cGVkZWYncyBsaWtlCitfX3MzMiBhbmQgc28gb24gd2hpY2ggYXJlIGluZGVwZW5kZW50IG9mIEMgbGlicmFyeSB0aGVyZWZvcmUgdGhpcworZGVmaW5lIHNob3VsZCBub3QgYmUgZ3VhcmRlZCBieSBfX0dMSUJDX18gYnV0IGJ5IF9fbGludXhfXworCitIZWxwcyB0byBjb21waWxlIGl0IG9uIG11c2wgc3lzdGVtcworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworIGZic2V0LmggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9mYnNldC5oIGIvZmJzZXQuaAoraW5kZXggOWIxZDJhYy4uMGQ4ZGVmOCAxMDA2NDQKKy0tLSBhL2Zic2V0LmgKKysrKyBiL2Zic2V0LmgKK0BAIC0xNSw3ICsxNSw3IEBACisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIAorLSNpZmRlZiBfX0dMSUJDX18KKysjaWZkZWYgX19saW51eF9fCisgI2luY2x1ZGUgPGFzbS90eXBlcy5oPgorICNlbmRpZgorIAorLS0gCisyLjcuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0XzIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJzZXQvZmJzZXRfMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiYmU2Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Zic2V0L2Zic2V0XzIuMS5iYgpAQCAtMCwwICsxLDM3IEBACisjCisjIENvcHlyaWdodCBNYXR0aGlhcyBIZW50Z2VzIDxkZXZlbEBoZW50Z2VzLm5ldD4gKGMpIDIwMDYKKyMgTGljZW5zZTogTUlUIChzZWUgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAgZm9yIGEgY29weSBvZiB0aGUgbGljZW5zZSkKKyMKKyMgRmlsZW5hbWU6IGZic2V0XzIuMS5iYgorIyBEYXRlOiAyOC1NYXktMDYKKworU1VNTUFSWSA9ICJUaGUgZmJzZXQgY29uc29sZSB0b29sIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2Zic2V0LmM7ZW5kbGluZT0xOTttZDU9YmYzMjZmODJjZGZjYWMzOTFhZjIwOGYwMTljNTYwM2YiCitSUkVDT01NRU5EU18ke1BOfSA9ICJmYnNldC1tb2RlcyIKK0RFUEVORFMgPSAiYmlzb24tbmF0aXZlIGZsZXgtbmF0aXZlIgorCitQUiA9ICJyNCIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wvbWFpbi9mL2Zic2V0L2Zic2V0XzIuMS5vcmlnLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlZmlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9mYnNldC0yLjEtZml4LW1ha2VmaWxlLWRlcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZic2V0LWluY2x1ZGluZy1hc20tdHlwZXMuaC1pcy1uZWVkZWQtb24tYWxsLWxpbnV4LXMucGF0Y2ggXAorIgorCitpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9ICR7RH0ke2RhdGFkaXJ9L21hbi9tYW44ICR7RH0ke2RhdGFkaXJ9L21hbi9tYW41CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vZmJzZXQgJHtEfSR7c2JpbmRpcn0vZmJzZXQucmVhbAorICAgIGluc3RhbGwgLW0gMDY0NCAke0J9LyouNSAke0R9JHtkYXRhZGlyfS9tYW4vbWFuNQorICAgIGluc3RhbGwgLW0gMDY0NCAke0J9LyouOCAke0R9JHtkYXRhZGlyfS9tYW4vbWFuOAorfQorCitBTFRFUk5BVElWRV9mYnNldCA9ICJmYnNldCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtmYnNldF0gPSAiJHtzYmluZGlyfS9mYnNldCIKK0FMVEVSTkFUSVZFX1RBUkdFVFtmYnNldF0gPSAiJHtzYmluZGlyfS9mYnNldC5yZWFsIgorQUxURVJOQVRJVkVfUFJJT1JJVFlbZmJzZXRdID0gIjU1IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDBlZDk2MDhmNDZkNzg3YmZiNjVmZDEyNjlmN2Y0NTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTE3ZmEwNjJkN2IyZDM2N2Y5MzFhMWM2ZWJiMmJlZjg0OTA3MDc3ZjBjZTNmMGM4OTllMzQ0OTBiYmVhOTMzOCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJ0ZXN0L2ZiLXRlc3RfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYnRlc3QvZmItdGVzdF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNmOWUzNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmJ0ZXN0L2ZiLXRlc3RfZ2l0LmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiVGVzdCBzdWl0ZSBmb3IgTGludXggZnJhbWVidWZmZXIiCisKK1BWID0gIjEuMS4wIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWI3MjNiNjE1MzlmZWVmMDEzZGU0NzZlNjhiNWM1MGEiCisKK1NSQ1JFViA9ICIwNjNlYzY1MDk2MGMyZDc5YWM1MWY1YzVmMDI2Y2IwNTM0M2EzM2UyIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3BycHBsYWd1ZS9mYi10ZXN0LWFwcC5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisJaW5zdGFsbCAtbSAwNzU1IGZiLXRlc3QgJHtEfSR7YmluZGlyfQorCSMgYXZvaWQgY29sbGlzaW9ucyB3aXRoIHBlcmYgKHBlcmYpIGFuZCBtZXNhLWRlbW9zIChvZmZzZXQpCisJZm9yIHByb2cgaW4gcGVyZiByZWN0IG9mZnNldCA7IGRvCisJCWluc3RhbGwgLW0gMDc1NSAkcHJvZyAke0R9JHtiaW5kaXJ9L2ZiLSRwcm9nCisJZG9uZQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2JlbmNoZmZ0XzMuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9iZW5jaGZmdF8zLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg1OTM4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9iZW5jaGZmdF8zLjEuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJGRlRXIGJlbmNobWFya3MiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorCisjIHNpbmdsZSBwcmVjaXNpb24gZmZ0dyBpcyBjYWxsZWQgZmZ0d2YgCitERVBFTkRTID0gInZpcnR1YWwvZmZ0dyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZmdHcub3JnL2JlbmNoZmZ0L2JlbmNoZmZ0LSR7UFZ9LnRhci5neiIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1mb3J0cmFuIC0tZW5hYmxlLXNpbmdsZSAtLWVuYWJsZS1zaGFyZWQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lICdzOmFsbC1yZWN1cnNpdmU6JChSRUNVUlNJVkVfVEFSR0VUUyk6ZycgJHtTfS9NYWtlZmlsZQorfQorCitTUkNfVVJJW21kNXN1bV0gPSAiOTM1NmU1ZTlkY2IzZjE0ODE5NzcwMDk3MjBhMmNjZjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWI0YTViNWU0OGFkNWU2MWEyMTU4NmI3YjU5ZDVjMGE4ODY5MWE5ODFlNzNlMmM2ZGM1ODY4MTk3NDYxNzkxYiIKKworUE5CTEFDS0xJU1RbYmVuY2hmZnRdID89ICJkb2VzIG5vdCBidWlsZCB3aXRoIGRpc3Ryb2xlc3MgcWVtdWFybSBhcyByZXBvcnRlZCBpbiAnU3RhdGUgb2YgYml0YmFrZSB3b3JsZCcgdGhyZWFkLCBub2JvZHkgdm9sdW50ZWVyZWQgdG8gZml4IHRoZW0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvZmZ0dy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvZmZ0dy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTUyMmVhMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9mZnR3LmluYwpAQCAtMCwwICsxLDI1IEBACitERVNDUklQVElPTiA9ICJGRlRXIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorCitQUk9WSURFUyA9ICJ2aXJ0dWFsL2ZmdHciCisKK1JQUk9WSURFU18ke1BOfSArPSAibGliZmZ0dzMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mZnR3Lm9yZy9mZnR3LSR7UFZ9LnRhci5neiIKKworUyA9ICIke1dPUktESVJ9L2ZmdHctJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWZvcnRyYW4gLS1lbmFibGUtc2hhcmVkIC0tZW5hYmxlLXRocmVhZHMiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGVjaG8gJ0FNX1BST0dfQVMnID4+ICR7U30vY29uZmlndXJlLmFjIAorfQorCitQQUNLQUdFUyA9KyAibGliJHtCUE59IgorRklMRVNfbGliJHtCUE59ID0gIiR7bGliZGlyfS9saWIqLnNvLioiCisKKyMgcmVuYW1lIGJpbmFyeSBpbiAvYmluIGFuZCB1c2UgdS1hIHRwbyBjaG9vc2UgYmV0d2VlbiBkaWZmZXJlbnQgcHJlY2lzaW9uIGltcGxlbWVudGF0aW9ucz8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9mZnR3XzMuMy40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2ZmdHdfMy4zLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTkwZjAxZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9mZnR3XzMuMy40LmJiCkBAIC0wLDAgKzEsNiBAQAorcmVxdWlyZSBmZnR3LmluYworCitTUkNfVVJJW21kNXN1bV0gPSAiMmVkYWI4YzA2YjI0ZmVlYjNiODJiYmIzZWJmM2U3YjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGYwY2RlOTA5MjliYzA1NTg3YzMzNjhkMmYxNWNkMDUzMGE2MGI4YTk5MTJhOGUyOTc5YTcyZGJlNWFmMDk4MiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvZmZ0d2ZfMy4zLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvZmZ0d2ZfMy4zLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGE2NTk4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmZ0dy9mZnR3Zl8zLjMuNC5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlIGZmdHcuaW5jCisKKyMgY29uZmxpY3RzIHdpdGggZmZ0dyBhbmQgZmZ0d2wKK0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLXNpbmdsZSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbmVvbicsICctLWVuYWJsZS1uZW9uJywgJycsIGQpfSBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZWRhYjhjMDZiMjRmZWViM2I4MmJiYjNlYmYzZTdiMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZjBjZGU5MDkyOWJjMDU1ODdjMzM2OGQyZjE1Y2QwNTMwYTYwYjhhOTkxMmE4ZTI5NzlhNzJkYmU1YWYwOTgyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2ZmdHdsXzMuMy40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mZnR3L2ZmdHdsXzMuMy40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzMmZmMTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZmdHcvZmZ0d2xfMy4zLjQuYmIKQEAgLTAsMCArMSw5IEBACityZXF1aXJlIGZmdHcuaW5jCisKKyMgY29uZmxpY3RzIHdpdGggZmZ0dyBhbmQgZmZ0d2YKK0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWxvbmctZG91YmxlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmVkYWI4YzA2YjI0ZmVlYjNiODJiYmIzZWJmM2U3YjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGYwY2RlOTA5MjliYzA1NTg3YzMzNjhkMmYxNWNkMDUzMGE2MGI4YTk5MTJhOGUyOTc5YTcyZGJlNWFmMDk4MiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmxpdGUvZmxpdGUtYWxzYS0xLjMvZmxpdGUtMS4zLWFsc2Ffc3VwcG9ydC0xLjIuZGlmZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmxpdGUvZmxpdGUtYWxzYS0xLjMvZmxpdGUtMS4zLWFsc2Ffc3VwcG9ydC0xLjIuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2U0YjdhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbGl0ZS9mbGl0ZS1hbHNhLTEuMy9mbGl0ZS0xLjMtYWxzYV9zdXBwb3J0LTEuMi5kaWZmCkBAIC0wLDAgKzEsNjYxNSBAQAorSW5kZXg6IGxhbmcvdXNlbmdsaXNoL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2UvbGFuZy91c2VuZ2xpc2gvTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2UvbGFuZy91c2VuZ2xpc2gvTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtMzgsNiArMzgsNyBAQAorIERJUk5BTUU9bGFuZy91c2VuZ2xpc2gKKyBCVUlMRF9ESVJTID0gCisgQUxMX0RJUlM9IAorK2luY2x1ZGUgJChUT1ApL2NvbmZpZy9jb25maWcKKyBIID0gdXNlbmdsaXNoLmggdXNfaW50X2FjY2VudF9jYXJ0LmggdXNfaW50X3RvbmVfY2FydC5oIHVzX2R1cnpfY2FydC5oIFwKKyAgICAgdXNfZmZlYXR1cmVzLmggdXNfcGhyYXNpbmdfY2FydC5oIHVzX3RleHQuaCB1c19mMC5oIHVzX251bXNfY2FydC5oCisgU1JDUyA9IHVzX2ludF9hY2NlbnRfY2FydC5jIHVzX2ludF90b25lX2NhcnQuYyB1c19mMF9tb2RlbC5jIFwKK0BAIC00NSw3ICs0NiwxMSBAQAorICAgICAgICB1c19waG9uZXNldC5jIHVzX2ZmZWF0dXJlcy5jIHVzX3BocmFzaW5nX2NhcnQuYyBcCisgICAgICAgIHVzX2dwb3MuYyB1c190ZXh0LmMgdXNfZXhwYW5kLmMgdXNfcG9zdGxleC5jIFwKKyAgICAgICAgdXNfbnVtc19jYXJ0LmMgdXNfYXN3ZC5jIHVzZW5nbGlzaC5jIAorLU9CSlMgPSAkKFNSQ1M6LmM9Lm8pCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykKKytlbHNlCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pCisrZW5kaWYKKyBTQ009CisgRklMRVMgPSBNYWtlZmlsZSAkKFNDTSkgJChTUkNTKSAkKEgpCisgTElCTkFNRSA9IGZsaXRlX3VzZW5nbGlzaAorSW5kZXg6IGxhbmcvY211X3VzX2thbC9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL2xhbmcvY211X3VzX2thbC9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9sYW5nL2NtdV91c19rYWwvTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtNDMsNyArNDMsMTIgQEAKKyAgICAgICAgY211X3VzX2thbF9scGMuYyBcCisgICAgICAgIGNtdV91c19rYWxfcmVzLmMgXAorICAgICAgICBjbXVfdXNfa2FsX3Jlc2lkeC5jCistT0JKUyA9ICQoU1JDUzouYz0ubykKKytpbmNsdWRlICQoVE9QKS9jb25maWcvY29uZmlnCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykKKytlbHNlCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pCisrZW5kaWYKKyBTQ009CisgRklMRVMgPSBNYWtlZmlsZSAkKFNDTSkgJChTUkNTKSAkKEgpCisgTElCTkFNRSA9IGZsaXRlX2NtdV91c19rYWwKK0luZGV4OiBsYW5nL2NtdV91c19rYWwxNi9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL2xhbmcvY211X3VzX2thbDE2L01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL2xhbmcvY211X3VzX2thbDE2L01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTQ0LDcgKzQ0LDEyIEBACisgICAgICAgIGNtdV91c19rYWwxNl9scGMuYyBcCisgICAgICAgIGNtdV91c19rYWwxNl9yZXMuYyBcCisgICAgICAgIGNtdV91c19rYWwxNl9yZXNpZHguYworLU9CSlMgPSAkKFNSQ1M6LmM9Lm8pCisraW5jbHVkZSAkKFRPUCkvY29uZmlnL2NvbmZpZworK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpCisrZWxzZQorK09CSlMgOj0gJChTUkNTOi5jPS5vKQorK2VuZGlmCisgU0NNPQorIEZJTEVTID0gTWFrZWZpbGUgJChTQ00pICQoU1JDUykgJChIKQorIExJQk5BTUUgPSBmbGl0ZV9jbXVfdXNfa2FsMTYKK0luZGV4OiBsYW5nL2NtdV90aW1lX2F3Yi9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL2xhbmcvY211X3RpbWVfYXdiL01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL2xhbmcvY211X3RpbWVfYXdiL01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTQ1LDcgKzQ1LDEyIEBACisgCWNtdV90aW1lX2F3Yl9tY2VwLmMgXAorIAljbXVfdGltZV9hd2JfbHBjLmMgXAorIAljbXVfdGltZV9hd2JfbGV4X2VudHJ5LmMKKy1PQkpTID0gJChTUkNTOi5jPS5vKQorK2luY2x1ZGUgJChUT1ApL2NvbmZpZy9jb25maWcKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKQorK2Vsc2UKKytPQkpTIDo9ICQoU1JDUzouYz0ubykKKytlbmRpZgorIFNDTT0KKyBGSUxFUyA9IE1ha2VmaWxlICQoU0NNKSAkKFNSQ1MpICQoSCkKKyBMSUJOQU1FID0gZmxpdGVfY211X3RpbWVfYXdiCitJbmRleDogbGFuZy9jbXVsZXgvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9sYW5nL2NtdWxleC9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9sYW5nL2NtdWxleC9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC0zOCwxMyArMzgsMjAgQEAKKyBESVJOQU1FPWxhbmcvY211bGV4CisgQlVJTERfRElSUyA9IAorIEFMTF9ESVJTPSAKKysKKyBIID0gY211X2x0c19tb2RlbC5oIGNtdWxleC5oCisgU1JDUyA9IGNtdV9sdHNfcnVsZXMuYyBjbXVfbHRzX21vZGVsLmMgXAorICAgICAgICBjbXVfbGV4LmMgY211X2xleF9lbnRyaWVzLmMgY211X2xleF9kYXRhLmMKKyBMRVhfREFUQV9JTkNMVURFUyA9IGNtdV9sZXhfZGF0YV9yYXcuYyBjbXVfbGV4X251bV9ieXRlcy5jIFwKKyAgICAgIGNtdV9sZXhfcGhvbmVzX2h1ZmZfdGFibGUuYyBjbXVfbGV4X2VudHJpZXNfaHVmZl90YWJsZS5jCisgCistT0JKUyA9ICQoU1JDUzouYz0ubykKKytpbmNsdWRlICQoVE9QKS9jb25maWcvY29uZmlnCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykKKytlbHNlCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pCisrZW5kaWYKKysKKyBTQ1JJUFRTPW1ha2VfY211bGV4ICAKKyAKKyBTQ009CitJbmRleDogY29uZmlndXJlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2UvY29uZmlndXJlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL2NvbmZpZ3VyZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC0xLDMyNCArMSwzOCBAQAorICMhIC9iaW4vc2gKKysKKyAjIEd1ZXNzIHZhbHVlcyBmb3Igc3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCistIyBHZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTcuCisrIyBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSB1c2luZyBhdXRvY29uZiB2ZXJzaW9uIDIuMTMgCisrIyBDb3B5cmlnaHQgKEMpIDE5OTIsIDkzLCA5NCwgOTUsIDk2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICMKKy0jIENvcHlyaWdodCAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAyCistIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAjIFRoaXMgY29uZmlndXJlIHNjcmlwdCBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisgIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5LCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgaXQuCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgTTRzaCBJbml0aWFsaXphdGlvbi4gICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCisgCistIyBCZSBCb3VybmUgY29tcGF0aWJsZQorLWlmIHRlc3QgLW4gIiR7WlNIX1ZFUlNJT04rc2V0fSIgJiYgKGVtdWxhdGUgc2gpID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgZW11bGF0ZSBzaAorLSAgTlVMTENNRD06CistICAjIFpzaCAzLnggYW5kIDQueCBwZXJmb3JtcyB3b3JkIHNwbGl0dGluZyBvbiAkezErIiRAIn0sIHdoaWNoCistICAjIGlzIGNvbnRyYXJ5IHRvIG91ciB1c2FnZS4gIERpc2FibGUgdGhpcyBmZWF0dXJlLgorLSAgYWxpYXMgLWcgJyR7MSsiJEAifSc9JyIkQCInCistZWxpZiB0ZXN0IC1uICIke0JBU0hfVkVSU0lPTitzZXR9IiAmJiAoc2V0IC1vIHBvc2l4KSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gIHNldCAtbyBwb3NpeAorLWZpCistCistIyBTdXBwb3J0IHVuc2V0IHdoZW4gcG9zc2libGUuCistaWYgKEZPTz1GT087IHVuc2V0IEZPTykgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICBhc191bnNldD11bnNldAorLWVsc2UKKy0gIGFzX3Vuc2V0PWZhbHNlCistZmkKKy0KKy0KKy0jIFdvcmsgYXJvdW5kIGJ1Z3MgaW4gcHJlLTMuMCBVV0lOIGtzaC4KKy0kYXNfdW5zZXQgRU5WIE1BSUwgTUFJTFBBVEgKKy1QUzE9JyQgJworLVBTMj0nPiAnCistUFM0PScrICcKKy0KKy0jIE5MUyBudWlzYW5jZXMuCistZm9yIGFzX3ZhciBpbiBcCistICBMQU5HIExBTkdVQUdFIExDX0FERFJFU1MgTENfQUxMIExDX0NPTExBVEUgTENfQ1RZUEUgTENfSURFTlRJRklDQVRJT04gXAorLSAgTENfTUVBU1VSRU1FTlQgTENfTUVTU0FHRVMgTENfTU9ORVRBUlkgTENfTkFNRSBMQ19OVU1FUklDIExDX1BBUEVSIFwKKy0gIExDX1RFTEVQSE9ORSBMQ19USU1FCistZG8KKy0gIGlmIChzZXQgK3g7IHRlc3QgLW4gImAoZXZhbCAkYXNfdmFyPUM7IGV4cG9ydCAkYXNfdmFyKSAyPiYxYCIpOyB0aGVuCistICAgIGV2YWwgJGFzX3Zhcj1DOyBleHBvcnQgJGFzX3ZhcgorLSAgZWxzZQorLSAgICAkYXNfdW5zZXQgJGFzX3ZhcgorLSAgZmkKKy1kb25lCistCistIyBSZXF1aXJlZCB0byB1c2UgYmFzZW5hbWUuCistaWYgZXhwciBhIDogJ1woYVwpJyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gIGFzX2V4cHI9ZXhwcgorLWVsc2UKKy0gIGFzX2V4cHI9ZmFsc2UKKy1maQorLQorLWlmIChiYXNlbmFtZSAvKSA+L2Rldi9udWxsIDI+JjEgJiYgdGVzdCAiWGBiYXNlbmFtZSAvIDI+JjFgIiA9ICJYLyI7IHRoZW4KKy0gIGFzX2Jhc2VuYW1lPWJhc2VuYW1lCistZWxzZQorLSAgYXNfYmFzZW5hbWU9ZmFsc2UKKy1maQorLQorLQorLSMgTmFtZSBvZiB0aGUgZXhlY3V0YWJsZS4KKy1hc19tZT1gJGFzX2Jhc2VuYW1lICIkMCIgfHwKKy0kYXNfZXhwciBYLyIkMCIgOiAnLiovXChbXi9dW14vXSpcKS8qJCcgXHwgXAorLQkgWCIkMCIgOiAnWFwoLy9cKSQnIFx8IFwKKy0JIFgiJDAiIDogJ1hcKC9cKSQnIFx8IFwKKy0JIC4gICAgIDogJ1woLlwpJyAyPi9kZXYvbnVsbCB8fAorLWVjaG8gWC8iJDAiIHwKKy0gICAgc2VkICcvXi4qXC9cKFteL11bXi9dKlwpXC8qJC97IHMvL1wxLzsgcTsgfQorLSAgCSAgL15YXC9cKFwvXC9cKSQveyBzLy9cMS87IHE7IH0KKy0gIAkgIC9eWFwvXChcL1wpLioveyBzLy9cMS87IHE7IH0KKy0gIAkgIHMvLiovLi87IHEnYAorLQorLQorLSMgUEFUSCBuZWVkcyBDUiwgYW5kIExJTkVOTyBuZWVkcyBDUiBhbmQgUEFUSC4KKy0jIEF2b2lkIGRlcGVuZGluZyB1cG9uIENoYXJhY3RlciBSYW5nZXMuCistYXNfY3JfbGV0dGVycz0nYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonCistYXNfY3JfTEVUVEVSUz0nQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonCistYXNfY3JfTGV0dGVycz0kYXNfY3JfbGV0dGVycyRhc19jcl9MRVRURVJTCistYXNfY3JfZGlnaXRzPScwMTIzNDU2Nzg5JworLWFzX2NyX2FsbnVtPSRhc19jcl9MZXR0ZXJzJGFzX2NyX2RpZ2l0cworLQorLSMgVGhlIHVzZXIgaXMgYWx3YXlzIHJpZ2h0LgorLWlmIHRlc3QgIiR7UEFUSF9TRVBBUkFUT1Irc2V0fSIgIT0gc2V0OyB0aGVuCistICBlY2hvICIjISAvYmluL3NoIiA+Y29uZiQkLnNoCistICBlY2hvICAiZXhpdCAwIiAgID4+Y29uZiQkLnNoCistICBjaG1vZCAreCBjb25mJCQuc2gKKy0gIGlmIChQQVRIPSIvbm9uZXhpc3RlbnQ7LiI7IGNvbmYkJC5zaCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICAgIFBBVEhfU0VQQVJBVE9SPSc7JworLSAgZWxzZQorLSAgICBQQVRIX1NFUEFSQVRPUj06CistICBmaQorLSAgcm0gLWYgY29uZiQkLnNoCistZmkKKy0KKy0KKy0gIGFzX2xpbmVub18xPSRMSU5FTk8KKy0gIGFzX2xpbmVub18yPSRMSU5FTk8KKy0gIGFzX2xpbmVub18zPWAoZXhwciAkYXNfbGluZW5vXzEgKyAxKSAyPi9kZXYvbnVsbGAKKy0gIHRlc3QgIngkYXNfbGluZW5vXzEiICE9ICJ4JGFzX2xpbmVub18yIiAmJgorLSAgdGVzdCAieCRhc19saW5lbm9fMyIgID0gIngkYXNfbGluZW5vXzIiICB8fCB7CistICAjIEZpbmQgd2hvIHdlIGFyZS4gIExvb2sgaW4gdGhlIHBhdGggaWYgd2UgY29udGFpbiBubyBwYXRoIGF0IGFsbAorLSAgIyByZWxhdGl2ZSBvciBub3QuCistICBjYXNlICQwIGluCistICAgICpbXFwvXSogKSBhc19teXNlbGY9JDAgOzsKKy0gICAgKikgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIHRlc3QgLXIgIiRhc19kaXIvJDAiICYmIGFzX215c2VsZj0kYXNfZGlyLyQwICYmIGJyZWFrCistZG9uZQorLQorLSAgICAgICA7OworLSAgZXNhYworLSAgIyBXZSBkaWQgbm90IGZpbmQgb3Vyc2VsdmVzLCBtb3N0IHByb2JhYmx5IHdlIHdlcmUgcnVuIGFzIGBzaCBDT01NQU5EJworLSAgIyBpbiB3aGljaCBjYXNlIHdlIGFyZSBub3QgdG8gYmUgZm91bmQgaW4gdGhlIHBhdGguCistICBpZiB0ZXN0ICJ4JGFzX215c2VsZiIgPSB4OyB0aGVuCistICAgIGFzX215c2VsZj0kMAorLSAgZmkKKy0gIGlmIHRlc3QgISAtZiAiJGFzX215c2VsZiI7IHRoZW4KKy0gICAgeyBlY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgZmluZCBteXNlbGY7IHJlcnVuIHdpdGggYW4gYWJzb2x1dGUgcGF0aCIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistICBmaQorLSAgY2FzZSAkQ09ORklHX1NIRUxMIGluCistICAnJykKKy0gICAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gL2JpbiRQQVRIX1NFUEFSQVRPUi91c3IvYmluJFBBVEhfU0VQQVJBVE9SJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGZvciBhc19iYXNlIGluIHNoIGJhc2gga3NoIHNoNTsgZG8KKy0JIGNhc2UgJGFzX2RpciBpbgorLQkgLyopCistCSAgIGlmICgiJGFzX2Rpci8kYXNfYmFzZSIgLWMgJworLSAgYXNfbGluZW5vXzE9JExJTkVOTworLSAgYXNfbGluZW5vXzI9JExJTkVOTworLSAgYXNfbGluZW5vXzM9YChleHByICRhc19saW5lbm9fMSArIDEpIDI+L2Rldi9udWxsYAorLSAgdGVzdCAieCRhc19saW5lbm9fMSIgIT0gIngkYXNfbGluZW5vXzIiICYmCistICB0ZXN0ICJ4JGFzX2xpbmVub18zIiAgPSAieCRhc19saW5lbm9fMiIgJykgMj4vZGV2L251bGw7IHRoZW4KKy0JICAgICAkYXNfdW5zZXQgQkFTSF9FTlYgfHwgdGVzdCAiJHtCQVNIX0VOVitzZXR9IiAhPSBzZXQgfHwgeyBCQVNIX0VOVj07IGV4cG9ydCBCQVNIX0VOVjsgfQorLQkgICAgICRhc191bnNldCBFTlYgfHwgdGVzdCAiJHtFTlYrc2V0fSIgIT0gc2V0IHx8IHsgRU5WPTsgZXhwb3J0IEVOVjsgfQorLQkgICAgIENPTkZJR19TSEVMTD0kYXNfZGlyLyRhc19iYXNlCistCSAgICAgZXhwb3J0IENPTkZJR19TSEVMTAorLQkgICAgIGV4ZWMgIiRDT05GSUdfU0hFTEwiICIkMCIgJHsxKyIkQCJ9CistCSAgIGZpOzsKKy0JIGVzYWMKKy0gICAgICAgZG9uZQorLWRvbmUKKy07OworLSAgZXNhYworLQorLSAgIyBDcmVhdGUgJGFzX21lLmxpbmVubyBhcyBhIGNvcHkgb2YgJGFzX215c2VsZiwgYnV0IHdpdGggJExJTkVOTworLSAgIyB1bmlmb3JtbHkgcmVwbGFjZWQgYnkgdGhlIGxpbmUgbnVtYmVyLiAgVGhlIGZpcnN0ICdzZWQnIGluc2VydHMgYQorLSAgIyBsaW5lLW51bWJlciBsaW5lIGJlZm9yZSBlYWNoIGxpbmU7IHRoZSBzZWNvbmQgJ3NlZCcgZG9lcyB0aGUgcmVhbAorLSAgIyB3b3JrLiAgVGhlIHNlY29uZCBzY3JpcHQgdXNlcyAnTicgdG8gcGFpciBlYWNoIGxpbmUtbnVtYmVyIGxpbmUKKy0gICMgd2l0aCB0aGUgbnVtYmVyZWQgbGluZSwgYW5kIGFwcGVuZHMgdHJhaWxpbmcgJy0nIGR1cmluZworLSAgIyBzdWJzdGl0dXRpb24gc28gdGhhdCAkTElORU5PIGlzIG5vdCBhIHNwZWNpYWwgY2FzZSBhdCBsaW5lIGVuZC4KKy0gICMgKFJhamEgUiBIYXJpbmF0aCBzdWdnZXN0ZWQgc2VkICc9JywgYW5kIFBhdWwgRWdnZXJ0IHdyb3RlIHRoZQorLSAgIyBzZWNvbmQgJ3NlZCcgc2NyaXB0LiAgQmxhbWUgTGVlIEUuIE1jTWFob24gZm9yIHNlZCdzIHN5bnRheC4gIDotKQorLSAgc2VkICc9JyA8JGFzX215c2VsZiB8CistICAgIHNlZCAnCistICAgICAgTgorLSAgICAgIHMsJCwtLAorLSAgICAgIDogbG9vcAorLSAgICAgIHMsXlwoWyckYXNfY3JfZGlnaXRzJ10qXClcKC4qXClbJF1MSU5FTk9cKFteJyRhc19jcl9hbG51bSdfXVwpLFwxXDJcMVwzLAorLSAgICAgIHQgbG9vcAorLSAgICAgIHMsLSQsLAorLSAgICAgIHMsXlsnJGFzX2NyX2RpZ2l0cyddKlxuLCwKKy0gICAgJyA+JGFzX21lLmxpbmVubyAmJgorLSAgY2htb2QgK3ggJGFzX21lLmxpbmVubyB8fAorLSAgICB7IGVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBjcmVhdGUgJGFzX21lLmxpbmVubzsgcmVydW4gd2l0aCBhIFBPU0lYIHNoZWxsIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy0KKy0gICMgRG9uJ3QgdHJ5IHRvIGV4ZWMgYXMgaXQgY2hhbmdlcyAkWzBdLCBjYXVzaW5nIGFsbCBzb3J0IG9mIHByb2JsZW1zCistICAjICh0aGUgZGlybmFtZSBvZiAkWzBdIGlzIG5vdCB0aGUgcGxhY2Ugd2hlcmUgd2UgbWlnaHQgZmluZCB0aGUKKy0gICMgb3JpZ2luYWwgYW5kIHNvIG9uLiAgQXV0b2NvbmYgaXMgZXNwZWNpYWxseSBzZW5zaWJsZSB0byB0aGlzKS4KKy0gIC4gLi8kYXNfbWUubGluZW5vCistICAjIEV4aXQgc3RhdHVzIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZC4KKy0gIGV4aXQKKy19CistCistCistY2FzZSBgZWNobyAidGVzdGluZ1xjIjsgZWNobyAxLDIsM2AsYGVjaG8gLW4gdGVzdGluZzsgZWNobyAxLDIsM2AgaW4KKy0gICpjKiwtbiopIEVDSE9fTj0gRUNIT19DPScKKy0nIEVDSE9fVD0nCScgOzsKKy0gICpjKiwqICApIEVDSE9fTj0tbiBFQ0hPX0M9IEVDSE9fVD0gOzsKKy0gICopICAgICAgIEVDSE9fTj0gRUNIT19DPSdcYycgRUNIT19UPSA7OworLWVzYWMKKy0KKy1pZiBleHByIGEgOiAnXChhXCknID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgYXNfZXhwcj1leHByCistZWxzZQorLSAgYXNfZXhwcj1mYWxzZQorLWZpCistCistcm0gLWYgY29uZiQkIGNvbmYkJC5leGUgY29uZiQkLmZpbGUKKy1lY2hvID5jb25mJCQuZmlsZQorLWlmIGxuIC1zIGNvbmYkJC5maWxlIGNvbmYkJCAyPi9kZXYvbnVsbDsgdGhlbgorLSAgIyBXZSBjb3VsZCBqdXN0IGNoZWNrIGZvciBESkdQUDsgYnV0IHRoaXMgdGVzdCBhKSB3b3JrcyBiKSBpcyBtb3JlIGdlbmVyaWMKKy0gICMgYW5kIGMpIHdpbGwgcmVtYWluIHZhbGlkIG9uY2UgREpHUFAgc3VwcG9ydHMgc3ltbGlua3MgKERKR1BQIDIuMDQpLgorLSAgaWYgdGVzdCAtZiBjb25mJCQuZXhlOyB0aGVuCistICAgICMgRG9uJ3QgdXNlIGxuIGF0IGFsbDsgd2UgZG9uJ3QgaGF2ZSBhbnkgbGlua3MKKy0gICAgYXNfbG5fcz0nY3AgLXAnCistICBlbHNlCistICAgIGFzX2xuX3M9J2xuIC1zJworLSAgZmkKKy1lbGlmIGxuIGNvbmYkJC5maWxlIGNvbmYkJCAyPi9kZXYvbnVsbDsgdGhlbgorLSAgYXNfbG5fcz1sbgorLWVsc2UKKy0gIGFzX2xuX3M9J2NwIC1wJworLWZpCistcm0gLWYgY29uZiQkIGNvbmYkJC5leGUgY29uZiQkLmZpbGUKKy0KKy1pZiBta2RpciAtcCAuIDI+L2Rldi9udWxsOyB0aGVuCistICBhc19ta2Rpcl9wPToKKy1lbHNlCistICBhc19ta2Rpcl9wPWZhbHNlCistZmkKKy0KKy1hc19leGVjdXRhYmxlX3A9InRlc3QgLWYiCistCistIyBTZWQgZXhwcmVzc2lvbiB0byBtYXAgYSBzdHJpbmcgb250byBhIHZhbGlkIENQUCBuYW1lLgorLWFzX3RyX2NwcD0ic2VkIHklKiRhc19jcl9sZXR0ZXJzJVAkYXNfY3JfTEVUVEVSUyU7cyVbXl8kYXNfY3JfYWxudW1dJV8lZyIKKy0KKy0jIFNlZCBleHByZXNzaW9uIHRvIG1hcCBhIHN0cmluZyBvbnRvIGEgdmFsaWQgdmFyaWFibGUgbmFtZS4KKy1hc190cl9zaD0ic2VkIHklKislcHAlO3MlW15fJGFzX2NyX2FsbnVtXSVfJWciCistCistCistIyBJRlMKKy0jIFdlIG5lZWQgc3BhY2UsIHRhYiBhbmQgbmV3IGxpbmUsIGluIHByZWNpc2VseSB0aGF0IG9yZGVyLgorLWFzX25sPScKKy0nCistSUZTPSIgCSRhc19ubCIKKy0KKy0jIENEUEFUSC4KKy0kYXNfdW5zZXQgQ0RQQVRICistCistCistIyBOYW1lIG9mIHRoZSBob3N0LgorLSMgaG9zdG5hbWUgb24gc29tZSBzeXN0ZW1zIChTVlIzLjIsIExpbnV4KSByZXR1cm5zIGEgYm9ndXMgZXhpdCBzdGF0dXMsCistIyBzbyB1bmFtZSBnZXRzIHJ1biB0b28uCistYWNfaG9zdG5hbWU9YChob3N0bmFtZSB8fCB1bmFtZSAtbikgMj4vZGV2L251bGwgfCBzZWQgMXFgCistCistZXhlYyA2PiYxCistCistIworLSMgSW5pdGlhbGl6YXRpb25zLgorLSMKKysjIERlZmF1bHRzOgorK2FjX2hlbHA9CisgYWNfZGVmYXVsdF9wcmVmaXg9L3Vzci9sb2NhbAorLWFjX2NvbmZpZ19saWJvYmpfZGlyPS4KKy1jcm9zc19jb21waWxpbmc9bm8KKy1zdWJkaXJzPQorLU1GTEFHUz0KKy1NQUtFRkxBR1M9CistU0hFTEw9JHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0KKysjIEFueSBhZGRpdGlvbnMgZnJvbSBjb25maWd1cmUuaW46CisrYWNfaGVscD0iJGFjX2hlbHAKKysgIC0tZGlzYWJsZS1zaGFyZWQgICAgIHdpdGhvdXQgc2hhcmVkIGxpYnJhcnkgc3VwcG9ydCIKKythY19oZWxwPSIkYWNfaGVscAorKyAgLS1kaXNhYmxlLXNvY2tldHMgICAgIHdpdGhvdXQgc29ja2V0IHN1cHBvcnQiCisrYWNfaGVscD0iJGFjX2hlbHAKKysgIC0td2l0aC1hdWRpbyAgICAgICAgICB3aXRoIHNwZWNpZmljIGF1ZGlvIHN1cHBvcnQgKG5vbmUgbGludXggZnJlZWJzZCBldGMpICIKKythY19oZWxwPSIkYWNfaGVscAorKyAgLS13aXRoLWxhbmcgICAgICAgICAgIHdpdGggbGFuZ3VhZ2UgIgorK2FjX2hlbHA9IiRhY19oZWxwCisrICAtLXdpdGgtdm94ICAgICAgICAgICAgd2l0aCB2b3ggIgorK2FjX2hlbHA9IiRhY19oZWxwCisrICAtLXdpdGgtbGV4ICAgICAgICAgICAgd2l0aCBsZXhpY29uICIKKyAKKy0jIE1heGltdW0gbnVtYmVyIG9mIGxpbmVzIHRvIHB1dCBpbiBhIHNoZWxsIGhlcmUgZG9jdW1lbnQuCistIyBUaGlzIHZhcmlhYmxlIHNlZW1zIG9ic29sZXRlLiAgSXQgc2hvdWxkIHByb2JhYmx5IGJlIHJlbW92ZWQsIGFuZAorLSMgb25seSBhY19tYXhfc2VkX2xpbmVzIHNob3VsZCBiZSB1c2VkLgorLTogJHthY19tYXhfaGVyZV9saW5lcz0zOH0KKy0KKy0jIElkZW50aXR5IG9mIHRoaXMgcGFja2FnZS4KKy1QQUNLQUdFX05BTUU9CistUEFDS0FHRV9UQVJOQU1FPQorLVBBQ0tBR0VfVkVSU0lPTj0KKy1QQUNLQUdFX1NUUklORz0KKy1QQUNLQUdFX0JVR1JFUE9SVD0KKy0KKy1hY191bmlxdWVfZmlsZT0iaW5jbHVkZS9mbGl0ZS5oIgorLSMgRmFjdG9yaW5nIGRlZmF1bHQgaGVhZGVycyBmb3IgbW9zdCB0ZXN0cy4KKy1hY19pbmNsdWRlc19kZWZhdWx0PSJcCistI2luY2x1ZGUgPHN0ZGlvLmg+CistI2lmIEhBVkVfU1lTX1RZUEVTX0gKKy0jIGluY2x1ZGUgPHN5cy90eXBlcy5oPgorLSNlbmRpZgorLSNpZiBIQVZFX1NZU19TVEFUX0gKKy0jIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CistI2VuZGlmCistI2lmIFNURENfSEVBREVSUworLSMgaW5jbHVkZSA8c3RkbGliLmg+CistIyBpbmNsdWRlIDxzdGRkZWYuaD4KKy0jZWxzZQorLSMgaWYgSEFWRV9TVERMSUJfSAorLSMgIGluY2x1ZGUgPHN0ZGxpYi5oPgorLSMgZW5kaWYKKy0jZW5kaWYKKy0jaWYgSEFWRV9TVFJJTkdfSAorLSMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9ICistIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CistIyBlbmRpZgorLSMgaW5jbHVkZSA8c3RyaW5nLmg+CistI2VuZGlmCistI2lmIEhBVkVfU1RSSU5HU19ICistIyBpbmNsdWRlIDxzdHJpbmdzLmg+CistI2VuZGlmCistI2lmIEhBVkVfSU5UVFlQRVNfSAorLSMgaW5jbHVkZSA8aW50dHlwZXMuaD4KKy0jZWxzZQorLSMgaWYgSEFWRV9TVERJTlRfSAorLSMgIGluY2x1ZGUgPHN0ZGludC5oPgorLSMgZW5kaWYKKy0jZW5kaWYKKy0jaWYgSEFWRV9VTklTVERfSAorLSMgaW5jbHVkZSA8dW5pc3RkLmg+CistI2VuZGlmIgorLQorLWFjX3N1YnN0X3ZhcnM9J1NIRUxMIFBBVEhfU0VQQVJBVE9SIFBBQ0tBR0VfTkFNRSBQQUNLQUdFX1RBUk5BTUUgUEFDS0FHRV9WRVJTSU9OIFBBQ0tBR0VfU1RSSU5HIFBBQ0tBR0VfQlVHUkVQT1JUIGV4ZWNfcHJlZml4IHByZWZpeCBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lIGJpbmRpciBzYmluZGlyIGxpYmV4ZWNkaXIgZGF0YWRpciBzeXNjb25mZGlyIHNoYXJlZHN0YXRlZGlyIGxvY2Fsc3RhdGVkaXIgbGliZGlyIGluY2x1ZGVkaXIgb2xkaW5jbHVkZWRpciBpbmZvZGlyIG1hbmRpciBidWlsZF9hbGlhcyBob3N0X2FsaWFzIHRhcmdldF9hbGlhcyBERUZTIEVDSE9fQyBFQ0hPX04gRUNIT19UIExJQlMgYnVpbGQgYnVpbGRfY3B1IGJ1aWxkX3ZlbmRvciBidWlsZF9vcyBob3N0IGhvc3RfY3B1IGhvc3RfdmVuZG9yIGhvc3Rfb3MgdGFyZ2V0IHRhcmdldF9jcHUgdGFyZ2V0X3ZlbmRvciB0YXJnZXRfb3MgQ0MgQ0ZMQUdTIExERkxBR1MgQ1BQRkxBR1MgYWNfY3RfQ0MgRVhFRVhUIE9CSkVYVCBSQU5MSUIgYWNfY3RfUkFOTElCIElOU1RBTExfUFJPR1JBTSBJTlNUQUxMX1NDUklQVCBJTlNUQUxMX0RBVEEgQVIgYWNfY3RfQVIgVEFSR0VUX09TIFRBUkdFVF9DUFUgTTY4S0NDIExFWERFRlMgVk9YREVGUyBIT1NUX09TIEhPU1RfQ1BVIE9USEVSTElCUyBTSEZMQUdTIE1NQVBUWVBFIFNURElPVFlQRSBDUFAgRUdSRVAgQVVESU9EUklWRVIgQVVESU9ERUZTIEFVRElPTElCUyBGTF9MQU5HIEZMX1ZPWCBGTF9MRVggTElCT0JKUyBMVExJQk9CSlMnCistYWNfc3Vic3RfZmlsZXM9JycKKy0KKyAjIEluaXRpYWxpemUgc29tZSB2YXJpYWJsZXMgc2V0IGJ5IG9wdGlvbnMuCistYWNfaW5pdF9oZWxwPQorLWFjX2luaXRfdmVyc2lvbj1mYWxzZQorICMgVGhlIHZhcmlhYmxlcyBoYXZlIHRoZSBzYW1lIG5hbWVzIGFzIHRoZSBvcHRpb25zLCB3aXRoCisgIyBkYXNoZXMgY2hhbmdlZCB0byB1bmRlcmxpbmVzLgorLWNhY2hlX2ZpbGU9L2Rldi9udWxsCisrYnVpbGQ9Tk9ORQorK2NhY2hlX2ZpbGU9Li9jb25maWcuY2FjaGUKKyBleGVjX3ByZWZpeD1OT05FCisraG9zdD1OT05FCisgbm9fY3JlYXRlPQorK25vbm9wdD1OT05FCisgbm9fcmVjdXJzaW9uPQorIHByZWZpeD1OT05FCisgcHJvZ3JhbV9wcmVmaXg9Tk9ORQorQEAgLTMyNywxNSArNDEsMTAgQEAKKyBzaWxlbnQ9Cisgc2l0ZT0KKyBzcmNkaXI9CisrdGFyZ2V0PU5PTkUKKyB2ZXJib3NlPQorIHhfaW5jbHVkZXM9Tk9ORQorIHhfbGlicmFyaWVzPU5PTkUKKy0KKy0jIEluc3RhbGxhdGlvbiBkaXJlY3Rvcnkgb3B0aW9ucy4KKy0jIFRoZXNlIGFyZSBsZWZ0IHVuZXhwYW5kZWQgc28gdXNlcnMgY2FuICJtYWtlIGluc3RhbGwgZXhlY19wcmVmaXg9L2ZvbyIKKy0jIGFuZCBhbGwgdGhlIHZhcmlhYmxlcyB0aGF0IGFyZSBzdXBwb3NlZCB0byBiZSBiYXNlZCBvbiBleGVjX3ByZWZpeAorLSMgYnkgZGVmYXVsdCB3aWxsIGFjdHVhbGx5IGNoYW5nZS4KKy0jIFVzZSBicmFjZXMgaW5zdGVhZCBvZiBwYXJlbnMgYmVjYXVzZSBzaCwgcGVybCwgZXRjLiBhbHNvIGFjY2VwdCB0aGVtLgorIGJpbmRpcj0nJHtleGVjX3ByZWZpeH0vYmluJworIHNiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L3NiaW4nCisgbGliZXhlY2Rpcj0nJHtleGVjX3ByZWZpeH0vbGliZXhlYycKK0BAIC0zNDksOSArNTgsMTcgQEAKKyBpbmZvZGlyPScke3ByZWZpeH0vaW5mbycKKyBtYW5kaXI9JyR7cHJlZml4fS9tYW4nCisgCisrIyBJbml0aWFsaXplIHNvbWUgb3RoZXIgdmFyaWFibGVzLgorK3N1YmRpcnM9CisrTUZMQUdTPSBNQUtFRkxBR1M9CisrU0hFTEw9JHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0KKysjIE1heGltdW0gbnVtYmVyIG9mIGxpbmVzIHRvIHB1dCBpbiBhIHNoZWxsIGhlcmUgZG9jdW1lbnQuCisrYWNfbWF4X2hlcmVfbGluZXM9MTIKKysKKyBhY19wcmV2PQorIGZvciBhY19vcHRpb24KKyBkbworKworICAgIyBJZiB0aGUgcHJldmlvdXMgb3B0aW9uIG5lZWRzIGFuIGFyZ3VtZW50LCBhc3NpZ24gaXQuCisgICBpZiB0ZXN0IC1uICIkYWNfcHJldiI7IHRoZW4KKyAgICAgZXZhbCAiJGFjX3ByZXY9XCRhY19vcHRpb24iCitAQCAtMzU5LDU5ICs3Niw1OSBAQAorICAgICBjb250aW51ZQorICAgZmkKKyAKKy0gIGFjX29wdGFyZz1gZXhwciAieCRhY19vcHRpb24iIDogJ3hbXj1dKj1cKC4qXCknYAorKyAgY2FzZSAiJGFjX29wdGlvbiIgaW4KKysgIC0qPSopIGFjX29wdGFyZz1gZWNobyAiJGFjX29wdGlvbiIgfCBzZWQgJ3MvWy1fYS16QS1aMC05XSo9Ly8nYCA7OworKyAgKikgYWNfb3B0YXJnPSA7OworKyAgZXNhYworIAorICAgIyBBY2NlcHQgdGhlIGltcG9ydGFudCBDeWdudXMgY29uZmlndXJlIG9wdGlvbnMsIHNvIHdlIGNhbiBkaWFnbm9zZSB0eXBvcy4KKyAKKy0gIGNhc2UgJGFjX29wdGlvbiBpbgorKyAgY2FzZSAiJGFjX29wdGlvbiIgaW4KKyAKKyAgIC1iaW5kaXIgfCAtLWJpbmRpciB8IC0tYmluZGkgfCAtLWJpbmQgfCAtLWJpbiB8IC0tYmkpCisgICAgIGFjX3ByZXY9YmluZGlyIDs7CisgICAtYmluZGlyPSogfCAtLWJpbmRpcj0qIHwgLS1iaW5kaT0qIHwgLS1iaW5kPSogfCAtLWJpbj0qIHwgLS1iaT0qKQorLSAgICBiaW5kaXI9JGFjX29wdGFyZyA7OworKyAgICBiaW5kaXI9IiRhY19vcHRhcmciIDs7CisgCisgICAtYnVpbGQgfCAtLWJ1aWxkIHwgLS1idWlsIHwgLS1idWkgfCAtLWJ1KQorLSAgICBhY19wcmV2PWJ1aWxkX2FsaWFzIDs7CisrICAgIGFjX3ByZXY9YnVpbGQgOzsKKyAgIC1idWlsZD0qIHwgLS1idWlsZD0qIHwgLS1idWlsPSogfCAtLWJ1aT0qIHwgLS1idT0qKQorLSAgICBidWlsZF9hbGlhcz0kYWNfb3B0YXJnIDs7CisrICAgIGJ1aWxkPSIkYWNfb3B0YXJnIiA7OworIAorICAgLWNhY2hlLWZpbGUgfCAtLWNhY2hlLWZpbGUgfCAtLWNhY2hlLWZpbCB8IC0tY2FjaGUtZmkgXAorICAgfCAtLWNhY2hlLWYgfCAtLWNhY2hlLSB8IC0tY2FjaGUgfCAtLWNhY2ggfCAtLWNhYyB8IC0tY2EgfCAtLWMpCisgICAgIGFjX3ByZXY9Y2FjaGVfZmlsZSA7OworICAgLWNhY2hlLWZpbGU9KiB8IC0tY2FjaGUtZmlsZT0qIHwgLS1jYWNoZS1maWw9KiB8IC0tY2FjaGUtZmk9KiBcCisgICB8IC0tY2FjaGUtZj0qIHwgLS1jYWNoZS09KiB8IC0tY2FjaGU9KiB8IC0tY2FjaD0qIHwgLS1jYWM9KiB8IC0tY2E9KiB8IC0tYz0qKQorLSAgICBjYWNoZV9maWxlPSRhY19vcHRhcmcgOzsKKysgICAgY2FjaGVfZmlsZT0iJGFjX29wdGFyZyIgOzsKKyAKKy0gIC0tY29uZmlnLWNhY2hlIHwgLUMpCistICAgIGNhY2hlX2ZpbGU9Y29uZmlnLmNhY2hlIDs7CistCisgICAtZGF0YWRpciB8IC0tZGF0YWRpciB8IC0tZGF0YWRpIHwgLS1kYXRhZCB8IC0tZGF0YSB8IC0tZGF0IHwgLS1kYSkKKyAgICAgYWNfcHJldj1kYXRhZGlyIDs7CisgICAtZGF0YWRpcj0qIHwgLS1kYXRhZGlyPSogfCAtLWRhdGFkaT0qIHwgLS1kYXRhZD0qIHwgLS1kYXRhPSogfCAtLWRhdD0qIFwKKyAgIHwgLS1kYT0qKQorLSAgICBkYXRhZGlyPSRhY19vcHRhcmcgOzsKKysgICAgZGF0YWRpcj0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1kaXNhYmxlLSogfCAtLWRpc2FibGUtKikKKy0gICAgYWNfZmVhdHVyZT1gZXhwciAieCRhY19vcHRpb24iIDogJ3gtKmRpc2FibGUtXCguKlwpJ2AKKysgICAgYWNfZmVhdHVyZT1gZWNobyAkYWNfb3B0aW9ufHNlZCAtZSAncy8tKmRpc2FibGUtLy8nYAorICAgICAjIFJlamVjdCBuYW1lcyB0aGF0IGFyZSBub3QgdmFsaWQgc2hlbGwgdmFyaWFibGUgbmFtZXMuCistICAgIGV4cHIgIngkYWNfZmVhdHVyZSIgOiAiLipbXi1fJGFzX2NyX2FsbnVtXSIgPi9kZXYvbnVsbCAmJgorLSAgICAgIHsgZWNobyAiJGFzX21lOiBlcnJvcjogaW52YWxpZCBmZWF0dXJlIG5hbWU6ICRhY19mZWF0dXJlIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy0gICAgYWNfZmVhdHVyZT1gZWNobyAkYWNfZmVhdHVyZSB8IHNlZCAncy8tL18vZydgCistICAgIGV2YWwgImVuYWJsZV8kYWNfZmVhdHVyZT1ubyIgOzsKKysgICAgaWYgdGVzdCAtbiAiYGVjaG8gJGFjX2ZlYXR1cmV8IHNlZCAncy9bLWEtekEtWjAtOV9dLy9nJ2AiOyB0aGVuCisrICAgICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiAkYWNfZmVhdHVyZTogaW52YWxpZCBmZWF0dXJlIG5hbWUiIDE+JjI7IGV4aXQgMTsgfQorKyAgICBmaQorKyAgICBhY19mZWF0dXJlPWBlY2hvICRhY19mZWF0dXJlfCBzZWQgJ3MvLS9fL2cnYAorKyAgICBldmFsICJlbmFibGVfJHthY19mZWF0dXJlfT1ubyIgOzsKKyAKKyAgIC1lbmFibGUtKiB8IC0tZW5hYmxlLSopCistICAgIGFjX2ZlYXR1cmU9YGV4cHIgIngkYWNfb3B0aW9uIiA6ICd4LSplbmFibGUtXChbXj1dKlwpJ2AKKysgICAgYWNfZmVhdHVyZT1gZWNobyAkYWNfb3B0aW9ufHNlZCAtZSAncy8tKmVuYWJsZS0vLycgLWUgJ3MvPS4qLy8nYAorICAgICAjIFJlamVjdCBuYW1lcyB0aGF0IGFyZSBub3QgdmFsaWQgc2hlbGwgdmFyaWFibGUgbmFtZXMuCistICAgIGV4cHIgIngkYWNfZmVhdHVyZSIgOiAiLipbXi1fJGFzX2NyX2FsbnVtXSIgPi9kZXYvbnVsbCAmJgorLSAgICAgIHsgZWNobyAiJGFzX21lOiBlcnJvcjogaW52YWxpZCBmZWF0dXJlIG5hbWU6ICRhY19mZWF0dXJlIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy0gICAgYWNfZmVhdHVyZT1gZWNobyAkYWNfZmVhdHVyZSB8IHNlZCAncy8tL18vZydgCistICAgIGNhc2UgJGFjX29wdGlvbiBpbgorLSAgICAgICo9KikgYWNfb3B0YXJnPWBlY2hvICIkYWNfb3B0YXJnIiB8IHNlZCAicy8nLydcXFxcXFxcXCcnL2ciYDs7CisrICAgIGlmIHRlc3QgLW4gImBlY2hvICRhY19mZWF0dXJlfCBzZWQgJ3MvWy1fYS16QS1aMC05XS8vZydgIjsgdGhlbgorKyAgICAgIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogJGFjX2ZlYXR1cmU6IGludmFsaWQgZmVhdHVyZSBuYW1lIiAxPiYyOyBleGl0IDE7IH0KKysgICAgZmkKKysgICAgYWNfZmVhdHVyZT1gZWNobyAkYWNfZmVhdHVyZXwgc2VkICdzLy0vXy9nJ2AKKysgICAgY2FzZSAiJGFjX29wdGlvbiIgaW4KKysgICAgICAqPSopIDs7CisgICAgICAgKikgYWNfb3B0YXJnPXllcyA7OworICAgICBlc2FjCistICAgIGV2YWwgImVuYWJsZV8kYWNfZmVhdHVyZT0nJGFjX29wdGFyZyciIDs7CisrICAgIGV2YWwgImVuYWJsZV8ke2FjX2ZlYXR1cmV9PSckYWNfb3B0YXJnJyIgOzsKKyAKKyAgIC1leGVjLXByZWZpeCB8IC0tZXhlY19wcmVmaXggfCAtLWV4ZWMtcHJlZml4IHwgLS1leGVjLXByZWZpIFwKKyAgIHwgLS1leGVjLXByZWYgfCAtLWV4ZWMtcHJlIHwgLS1leGVjLXByIHwgLS1leGVjLXAgfCAtLWV4ZWMtIFwKK0BAIC00MjAsNDcgKzEzNyw5NSBAQAorICAgLWV4ZWMtcHJlZml4PSogfCAtLWV4ZWNfcHJlZml4PSogfCAtLWV4ZWMtcHJlZml4PSogfCAtLWV4ZWMtcHJlZmk9KiBcCisgICB8IC0tZXhlYy1wcmVmPSogfCAtLWV4ZWMtcHJlPSogfCAtLWV4ZWMtcHI9KiB8IC0tZXhlYy1wPSogfCAtLWV4ZWMtPSogXAorICAgfCAtLWV4ZWM9KiB8IC0tZXhlPSogfCAtLWV4PSopCistICAgIGV4ZWNfcHJlZml4PSRhY19vcHRhcmcgOzsKKysgICAgZXhlY19wcmVmaXg9IiRhY19vcHRhcmciIDs7CisgCisgICAtZ2FzIHwgLS1nYXMgfCAtLWdhIHwgLS1nKQorICAgICAjIE9ic29sZXRlOyB1c2UgLS13aXRoLWdhcy4KKyAgICAgd2l0aF9nYXM9eWVzIDs7CisgCistICAtaGVscCB8IC0taGVscCB8IC0taGVsIHwgLS1oZSB8IC1oKQorLSAgICBhY19pbml0X2hlbHA9bG9uZyA7OworLSAgLWhlbHA9ciogfCAtLWhlbHA9ciogfCAtLWhlbD1yKiB8IC0taGU9ciogfCAtaHIqKQorLSAgICBhY19pbml0X2hlbHA9cmVjdXJzaXZlIDs7CistICAtaGVscD1zKiB8IC0taGVscD1zKiB8IC0taGVsPXMqIHwgLS1oZT1zKiB8IC1ocyopCistICAgIGFjX2luaXRfaGVscD1zaG9ydCA7OworKyAgLWhlbHAgfCAtLWhlbHAgfCAtLWhlbCB8IC0taGUpCisrICAgICMgT21pdCBzb21lIGludGVybmFsIG9yIG9ic29sZXRlIG9wdGlvbnMgdG8gbWFrZSB0aGUgbGlzdCBsZXNzIGltcG9zaW5nLgorKyAgICAjIFRoaXMgbWVzc2FnZSBpcyB0b28gbG9uZyB0byBiZSBhIHN0cmluZyBpbiB0aGUgQS9VWCAzLjEgc2guCisrICAgIGNhdCA8PCBFT0YKKytVc2FnZTogY29uZmlndXJlIFtvcHRpb25zXSBbaG9zdF0KKytPcHRpb25zOiBbZGVmYXVsdHMgaW4gYnJhY2tldHMgYWZ0ZXIgZGVzY3JpcHRpb25zXQorK0NvbmZpZ3VyYXRpb246CisrICAtLWNhY2hlLWZpbGU9RklMRSAgICAgICBjYWNoZSB0ZXN0IHJlc3VsdHMgaW4gRklMRQorKyAgLS1oZWxwICAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBtZXNzYWdlCisrICAtLW5vLWNyZWF0ZSAgICAgICAgICAgICBkbyBub3QgY3JlYXRlIG91dHB1dCBmaWxlcworKyAgLS1xdWlldCwgLS1zaWxlbnQgICAgICAgZG8gbm90IHByaW50IFxgY2hlY2tpbmcuLi4nIG1lc3NhZ2VzCisrICAtLXZlcnNpb24gICAgICAgICAgICAgICBwcmludCB0aGUgdmVyc2lvbiBvZiBhdXRvY29uZiB0aGF0IGNyZWF0ZWQgY29uZmlndXJlCisrRGlyZWN0b3J5IGFuZCBmaWxlIG5hbWVzOgorKyAgLS1wcmVmaXg9UFJFRklYICAgICAgICAgaW5zdGFsbCBhcmNoaXRlY3R1cmUtaW5kZXBlbmRlbnQgZmlsZXMgaW4gUFJFRklYCisrICAgICAgICAgICAgICAgICAgICAgICAgICBbJGFjX2RlZmF1bHRfcHJlZml4XQorKyAgLS1leGVjLXByZWZpeD1FUFJFRklYICAgaW5zdGFsbCBhcmNoaXRlY3R1cmUtZGVwZW5kZW50IGZpbGVzIGluIEVQUkVGSVgKKysgICAgICAgICAgICAgICAgICAgICAgICAgIFtzYW1lIGFzIHByZWZpeF0KKysgIC0tYmluZGlyPURJUiAgICAgICAgICAgIHVzZXIgZXhlY3V0YWJsZXMgaW4gRElSIFtFUFJFRklYL2Jpbl0KKysgIC0tc2JpbmRpcj1ESVIgICAgICAgICAgIHN5c3RlbSBhZG1pbiBleGVjdXRhYmxlcyBpbiBESVIgW0VQUkVGSVgvc2Jpbl0KKysgIC0tbGliZXhlY2Rpcj1ESVIgICAgICAgIHByb2dyYW0gZXhlY3V0YWJsZXMgaW4gRElSIFtFUFJFRklYL2xpYmV4ZWNdCisrICAtLWRhdGFkaXI9RElSICAgICAgICAgICByZWFkLW9ubHkgYXJjaGl0ZWN0dXJlLWluZGVwZW5kZW50IGRhdGEgaW4gRElSCisrICAgICAgICAgICAgICAgICAgICAgICAgICBbUFJFRklYL3NoYXJlXQorKyAgLS1zeXNjb25mZGlyPURJUiAgICAgICAgcmVhZC1vbmx5IHNpbmdsZS1tYWNoaW5lIGRhdGEgaW4gRElSIFtQUkVGSVgvZXRjXQorKyAgLS1zaGFyZWRzdGF0ZWRpcj1ESVIgICAgbW9kaWZpYWJsZSBhcmNoaXRlY3R1cmUtaW5kZXBlbmRlbnQgZGF0YSBpbiBESVIKKysgICAgICAgICAgICAgICAgICAgICAgICAgIFtQUkVGSVgvY29tXQorKyAgLS1sb2NhbHN0YXRlZGlyPURJUiAgICAgbW9kaWZpYWJsZSBzaW5nbGUtbWFjaGluZSBkYXRhIGluIERJUiBbUFJFRklYL3Zhcl0KKysgIC0tbGliZGlyPURJUiAgICAgICAgICAgIG9iamVjdCBjb2RlIGxpYnJhcmllcyBpbiBESVIgW0VQUkVGSVgvbGliXQorKyAgLS1pbmNsdWRlZGlyPURJUiAgICAgICAgQyBoZWFkZXIgZmlsZXMgaW4gRElSIFtQUkVGSVgvaW5jbHVkZV0KKysgIC0tb2xkaW5jbHVkZWRpcj1ESVIgICAgIEMgaGVhZGVyIGZpbGVzIGZvciBub24tZ2NjIGluIERJUiBbL3Vzci9pbmNsdWRlXQorKyAgLS1pbmZvZGlyPURJUiAgICAgICAgICAgaW5mbyBkb2N1bWVudGF0aW9uIGluIERJUiBbUFJFRklYL2luZm9dCisrICAtLW1hbmRpcj1ESVIgICAgICAgICAgICBtYW4gZG9jdW1lbnRhdGlvbiBpbiBESVIgW1BSRUZJWC9tYW5dCisrICAtLXNyY2Rpcj1ESVIgICAgICAgICAgICBmaW5kIHRoZSBzb3VyY2VzIGluIERJUiBbY29uZmlndXJlIGRpciBvciAuLl0KKysgIC0tcHJvZ3JhbS1wcmVmaXg9UFJFRklYIHByZXBlbmQgUFJFRklYIHRvIGluc3RhbGxlZCBwcm9ncmFtIG5hbWVzCisrICAtLXByb2dyYW0tc3VmZml4PVNVRkZJWCBhcHBlbmQgU1VGRklYIHRvIGluc3RhbGxlZCBwcm9ncmFtIG5hbWVzCisrICAtLXByb2dyYW0tdHJhbnNmb3JtLW5hbWU9UFJPR1JBTQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuIHNlZCBQUk9HUkFNIG9uIGluc3RhbGxlZCBwcm9ncmFtIG5hbWVzCisrRU9GCisrICAgIGNhdCA8PCBFT0YKKytIb3N0IHR5cGU6CisrICAtLWJ1aWxkPUJVSUxEICAgICAgICAgICBjb25maWd1cmUgZm9yIGJ1aWxkaW5nIG9uIEJVSUxEIFtCVUlMRD1IT1NUXQorKyAgLS1ob3N0PUhPU1QgICAgICAgICAgICAgY29uZmlndXJlIGZvciBIT1NUIFtndWVzc2VkXQorKyAgLS10YXJnZXQ9VEFSR0VUICAgICAgICAgY29uZmlndXJlIGZvciBUQVJHRVQgW1RBUkdFVD1IT1NUXQorK0ZlYXR1cmVzIGFuZCBwYWNrYWdlczoKKysgIC0tZGlzYWJsZS1GRUFUVVJFICAgICAgIGRvIG5vdCBpbmNsdWRlIEZFQVRVUkUgKHNhbWUgYXMgLS1lbmFibGUtRkVBVFVSRT1ubykKKysgIC0tZW5hYmxlLUZFQVRVUkVbPUFSR10gIGluY2x1ZGUgRkVBVFVSRSBbQVJHPXllc10KKysgIC0td2l0aC1QQUNLQUdFWz1BUkddICAgIHVzZSBQQUNLQUdFIFtBUkc9eWVzXQorKyAgLS13aXRob3V0LVBBQ0tBR0UgICAgICAgZG8gbm90IHVzZSBQQUNLQUdFIChzYW1lIGFzIC0td2l0aC1QQUNLQUdFPW5vKQorKyAgLS14LWluY2x1ZGVzPURJUiAgICAgICAgWCBpbmNsdWRlIGZpbGVzIGFyZSBpbiBESVIKKysgIC0teC1saWJyYXJpZXM9RElSICAgICAgIFggbGlicmFyeSBmaWxlcyBhcmUgaW4gRElSCisrRU9GCisrICAgIGlmIHRlc3QgLW4gIiRhY19oZWxwIjsgdGhlbgorKyAgICAgIGVjaG8gIi0tZW5hYmxlIGFuZCAtLXdpdGggb3B0aW9ucyByZWNvZ25pemVkOiRhY19oZWxwIgorKyAgICBmaQorKyAgICBleGl0IDAgOzsKKyAKKyAgIC1ob3N0IHwgLS1ob3N0IHwgLS1ob3MgfCAtLWhvKQorLSAgICBhY19wcmV2PWhvc3RfYWxpYXMgOzsKKysgICAgYWNfcHJldj1ob3N0IDs7CisgICAtaG9zdD0qIHwgLS1ob3N0PSogfCAtLWhvcz0qIHwgLS1obz0qKQorLSAgICBob3N0X2FsaWFzPSRhY19vcHRhcmcgOzsKKysgICAgaG9zdD0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1pbmNsdWRlZGlyIHwgLS1pbmNsdWRlZGlyIHwgLS1pbmNsdWRlZGkgfCAtLWluY2x1ZGVkIHwgLS1pbmNsdWRlIFwKKyAgIHwgLS1pbmNsdWQgfCAtLWluY2x1IHwgLS1pbmNsIHwgLS1pbmMpCisgICAgIGFjX3ByZXY9aW5jbHVkZWRpciA7OworICAgLWluY2x1ZGVkaXI9KiB8IC0taW5jbHVkZWRpcj0qIHwgLS1pbmNsdWRlZGk9KiB8IC0taW5jbHVkZWQ9KiB8IC0taW5jbHVkZT0qIFwKKyAgIHwgLS1pbmNsdWQ9KiB8IC0taW5jbHU9KiB8IC0taW5jbD0qIHwgLS1pbmM9KikKKy0gICAgaW5jbHVkZWRpcj0kYWNfb3B0YXJnIDs7CisrICAgIGluY2x1ZGVkaXI9IiRhY19vcHRhcmciIDs7CisgCisgICAtaW5mb2RpciB8IC0taW5mb2RpciB8IC0taW5mb2RpIHwgLS1pbmZvZCB8IC0taW5mbyB8IC0taW5mKQorICAgICBhY19wcmV2PWluZm9kaXIgOzsKKyAgIC1pbmZvZGlyPSogfCAtLWluZm9kaXI9KiB8IC0taW5mb2RpPSogfCAtLWluZm9kPSogfCAtLWluZm89KiB8IC0taW5mPSopCistICAgIGluZm9kaXI9JGFjX29wdGFyZyA7OworKyAgICBpbmZvZGlyPSIkYWNfb3B0YXJnIiA7OworIAorICAgLWxpYmRpciB8IC0tbGliZGlyIHwgLS1saWJkaSB8IC0tbGliZCkKKyAgICAgYWNfcHJldj1saWJkaXIgOzsKKyAgIC1saWJkaXI9KiB8IC0tbGliZGlyPSogfCAtLWxpYmRpPSogfCAtLWxpYmQ9KikKKy0gICAgbGliZGlyPSRhY19vcHRhcmcgOzsKKysgICAgbGliZGlyPSIkYWNfb3B0YXJnIiA7OworIAorICAgLWxpYmV4ZWNkaXIgfCAtLWxpYmV4ZWNkaXIgfCAtLWxpYmV4ZWNkaSB8IC0tbGliZXhlY2QgfCAtLWxpYmV4ZWMgXAorICAgfCAtLWxpYmV4ZSB8IC0tbGliZXggfCAtLWxpYmUpCisgICAgIGFjX3ByZXY9bGliZXhlY2RpciA7OworICAgLWxpYmV4ZWNkaXI9KiB8IC0tbGliZXhlY2Rpcj0qIHwgLS1saWJleGVjZGk9KiB8IC0tbGliZXhlY2Q9KiB8IC0tbGliZXhlYz0qIFwKKyAgIHwgLS1saWJleGU9KiB8IC0tbGliZXg9KiB8IC0tbGliZT0qKQorLSAgICBsaWJleGVjZGlyPSRhY19vcHRhcmcgOzsKKysgICAgbGliZXhlY2Rpcj0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1sb2NhbHN0YXRlZGlyIHwgLS1sb2NhbHN0YXRlZGlyIHwgLS1sb2NhbHN0YXRlZGkgfCAtLWxvY2Fsc3RhdGVkIFwKKyAgIHwgLS1sb2NhbHN0YXRlIHwgLS1sb2NhbHN0YXQgfCAtLWxvY2Fsc3RhIHwgLS1sb2NhbHN0IFwKK0BAIC00NjksMTkgKzIzNCwxOSBAQAorICAgLWxvY2Fsc3RhdGVkaXI9KiB8IC0tbG9jYWxzdGF0ZWRpcj0qIHwgLS1sb2NhbHN0YXRlZGk9KiB8IC0tbG9jYWxzdGF0ZWQ9KiBcCisgICB8IC0tbG9jYWxzdGF0ZT0qIHwgLS1sb2NhbHN0YXQ9KiB8IC0tbG9jYWxzdGE9KiB8IC0tbG9jYWxzdD0qIFwKKyAgIHwgLS1sb2NhbHM9KiB8IC0tbG9jYWw9KiB8IC0tbG9jYT0qIHwgLS1sb2M9KiB8IC0tbG89KikKKy0gICAgbG9jYWxzdGF0ZWRpcj0kYWNfb3B0YXJnIDs7CisrICAgIGxvY2Fsc3RhdGVkaXI9IiRhY19vcHRhcmciIDs7CisgCisgICAtbWFuZGlyIHwgLS1tYW5kaXIgfCAtLW1hbmRpIHwgLS1tYW5kIHwgLS1tYW4gfCAtLW1hIHwgLS1tKQorICAgICBhY19wcmV2PW1hbmRpciA7OworICAgLW1hbmRpcj0qIHwgLS1tYW5kaXI9KiB8IC0tbWFuZGk9KiB8IC0tbWFuZD0qIHwgLS1tYW49KiB8IC0tbWE9KiB8IC0tbT0qKQorLSAgICBtYW5kaXI9JGFjX29wdGFyZyA7OworKyAgICBtYW5kaXI9IiRhY19vcHRhcmciIDs7CisgCisgICAtbmZwIHwgLS1uZnAgfCAtLW5mKQorICAgICAjIE9ic29sZXRlOyB1c2UgLS13aXRob3V0LWZwLgorICAgICB3aXRoX2ZwPW5vIDs7CisgCisgICAtbm8tY3JlYXRlIHwgLS1uby1jcmVhdGUgfCAtLW5vLWNyZWF0IHwgLS1uby1jcmVhIHwgLS1uby1jcmUgXAorLSAgfCAtLW5vLWNyIHwgLS1uby1jIHwgLW4pCisrICB8IC0tbm8tY3IgfCAtLW5vLWMpCisgICAgIG5vX2NyZWF0ZT15ZXMgOzsKKyAKKyAgIC1uby1yZWN1cnNpb24gfCAtLW5vLXJlY3Vyc2lvbiB8IC0tbm8tcmVjdXJzaW8gfCAtLW5vLXJlY3Vyc2kgXAorQEAgLTQ5NSwyNiArMjYwLDI2IEBACisgICAtb2xkaW5jbHVkZWRpcj0qIHwgLS1vbGRpbmNsdWRlZGlyPSogfCAtLW9sZGluY2x1ZGVkaT0qIHwgLS1vbGRpbmNsdWRlZD0qIFwKKyAgIHwgLS1vbGRpbmNsdWRlPSogfCAtLW9sZGluY2x1ZD0qIHwgLS1vbGRpbmNsdT0qIHwgLS1vbGRpbmNsPSogfCAtLW9sZGluYz0qIFwKKyAgIHwgLS1vbGRpbj0qIHwgLS1vbGRpPSogfCAtLW9sZD0qIHwgLS1vbD0qIHwgLS1vPSopCistICAgIG9sZGluY2x1ZGVkaXI9JGFjX29wdGFyZyA7OworKyAgICBvbGRpbmNsdWRlZGlyPSIkYWNfb3B0YXJnIiA7OworIAorICAgLXByZWZpeCB8IC0tcHJlZml4IHwgLS1wcmVmaSB8IC0tcHJlZiB8IC0tcHJlIHwgLS1wciB8IC0tcCkKKyAgICAgYWNfcHJldj1wcmVmaXggOzsKKyAgIC1wcmVmaXg9KiB8IC0tcHJlZml4PSogfCAtLXByZWZpPSogfCAtLXByZWY9KiB8IC0tcHJlPSogfCAtLXByPSogfCAtLXA9KikKKy0gICAgcHJlZml4PSRhY19vcHRhcmcgOzsKKysgICAgcHJlZml4PSIkYWNfb3B0YXJnIiA7OworIAorICAgLXByb2dyYW0tcHJlZml4IHwgLS1wcm9ncmFtLXByZWZpeCB8IC0tcHJvZ3JhbS1wcmVmaSB8IC0tcHJvZ3JhbS1wcmVmIFwKKyAgIHwgLS1wcm9ncmFtLXByZSB8IC0tcHJvZ3JhbS1wciB8IC0tcHJvZ3JhbS1wKQorICAgICBhY19wcmV2PXByb2dyYW1fcHJlZml4IDs7CisgICAtcHJvZ3JhbS1wcmVmaXg9KiB8IC0tcHJvZ3JhbS1wcmVmaXg9KiB8IC0tcHJvZ3JhbS1wcmVmaT0qIFwKKyAgIHwgLS1wcm9ncmFtLXByZWY9KiB8IC0tcHJvZ3JhbS1wcmU9KiB8IC0tcHJvZ3JhbS1wcj0qIHwgLS1wcm9ncmFtLXA9KikKKy0gICAgcHJvZ3JhbV9wcmVmaXg9JGFjX29wdGFyZyA7OworKyAgICBwcm9ncmFtX3ByZWZpeD0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1wcm9ncmFtLXN1ZmZpeCB8IC0tcHJvZ3JhbS1zdWZmaXggfCAtLXByb2dyYW0tc3VmZmkgfCAtLXByb2dyYW0tc3VmZiBcCisgICB8IC0tcHJvZ3JhbS1zdWYgfCAtLXByb2dyYW0tc3UgfCAtLXByb2dyYW0tcykKKyAgICAgYWNfcHJldj1wcm9ncmFtX3N1ZmZpeCA7OworICAgLXByb2dyYW0tc3VmZml4PSogfCAtLXByb2dyYW0tc3VmZml4PSogfCAtLXByb2dyYW0tc3VmZmk9KiBcCisgICB8IC0tcHJvZ3JhbS1zdWZmPSogfCAtLXByb2dyYW0tc3VmPSogfCAtLXByb2dyYW0tc3U9KiB8IC0tcHJvZ3JhbS1zPSopCistICAgIHByb2dyYW1fc3VmZml4PSRhY19vcHRhcmcgOzsKKysgICAgcHJvZ3JhbV9zdWZmaXg9IiRhY19vcHRhcmciIDs7CisgCisgICAtcHJvZ3JhbS10cmFuc2Zvcm0tbmFtZSB8IC0tcHJvZ3JhbS10cmFuc2Zvcm0tbmFtZSBcCisgICB8IC0tcHJvZ3JhbS10cmFuc2Zvcm0tbmFtIHwgLS1wcm9ncmFtLXRyYW5zZm9ybS1uYSBcCitAQCAtNTMxLDcgKzI5Niw3IEBACisgICB8IC0tcHJvZ3JhbS10cmFuc2ZvPSogfCAtLXByb2dyYW0tdHJhbnNmPSogXAorICAgfCAtLXByb2dyYW0tdHJhbnM9KiB8IC0tcHJvZ3JhbS10cmFuPSogXAorICAgfCAtLXByb2dyLXRyYT0qIHwgLS1wcm9ncmFtLXRyPSogfCAtLXByb2dyYW0tdD0qKQorLSAgICBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPSRhY19vcHRhcmcgOzsKKysgICAgcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1xIHwgLXF1aWV0IHwgLS1xdWlldCB8IC0tcXVpZSB8IC0tcXVpIHwgLS1xdSB8IC0tcSBcCisgICB8IC1zaWxlbnQgfCAtLXNpbGVudCB8IC0tc2lsZW4gfCAtLXNpbGUgfCAtLXNpbCkKK0BAIC01NDEsNyArMzA2LDcgQEAKKyAgICAgYWNfcHJldj1zYmluZGlyIDs7CisgICAtc2JpbmRpcj0qIHwgLS1zYmluZGlyPSogfCAtLXNiaW5kaT0qIHwgLS1zYmluZD0qIHwgLS1zYmluPSogXAorICAgfCAtLXNiaT0qIHwgLS1zYj0qKQorLSAgICBzYmluZGlyPSRhY19vcHRhcmcgOzsKKysgICAgc2JpbmRpcj0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1zaGFyZWRzdGF0ZWRpciB8IC0tc2hhcmVkc3RhdGVkaXIgfCAtLXNoYXJlZHN0YXRlZGkgXAorICAgfCAtLXNoYXJlZHN0YXRlZCB8IC0tc2hhcmVkc3RhdGUgfCAtLXNoYXJlZHN0YXQgfCAtLXNoYXJlZHN0YSBcCitAQCAtNTUyLDU3ICszMTcsNTggQEAKKyAgIHwgLS1zaGFyZWRzdGF0ZWQ9KiB8IC0tc2hhcmVkc3RhdGU9KiB8IC0tc2hhcmVkc3RhdD0qIHwgLS1zaGFyZWRzdGE9KiBcCisgICB8IC0tc2hhcmVkc3Q9KiB8IC0tc2hhcmVkcz0qIHwgLS1zaGFyZWQ9KiB8IC0tc2hhcmU9KiB8IC0tc2hhcj0qIFwKKyAgIHwgLS1zaGE9KiB8IC0tc2g9KikKKy0gICAgc2hhcmVkc3RhdGVkaXI9JGFjX29wdGFyZyA7OworKyAgICBzaGFyZWRzdGF0ZWRpcj0iJGFjX29wdGFyZyIgOzsKKyAKKyAgIC1zaXRlIHwgLS1zaXRlIHwgLS1zaXQpCisgICAgIGFjX3ByZXY9c2l0ZSA7OworICAgLXNpdGU9KiB8IC0tc2l0ZT0qIHwgLS1zaXQ9KikKKy0gICAgc2l0ZT0kYWNfb3B0YXJnIDs7CisrICAgIHNpdGU9IiRhY19vcHRhcmciIDs7CisgCisgICAtc3JjZGlyIHwgLS1zcmNkaXIgfCAtLXNyY2RpIHwgLS1zcmNkIHwgLS1zcmMgfCAtLXNyKQorICAgICBhY19wcmV2PXNyY2RpciA7OworICAgLXNyY2Rpcj0qIHwgLS1zcmNkaXI9KiB8IC0tc3JjZGk9KiB8IC0tc3JjZD0qIHwgLS1zcmM9KiB8IC0tc3I9KikKKy0gICAgc3JjZGlyPSRhY19vcHRhcmcgOzsKKysgICAgc3JjZGlyPSIkYWNfb3B0YXJnIiA7OworIAorICAgLXN5c2NvbmZkaXIgfCAtLXN5c2NvbmZkaXIgfCAtLXN5c2NvbmZkaSB8IC0tc3lzY29uZmQgfCAtLXN5c2NvbmYgXAorICAgfCAtLXN5c2NvbiB8IC0tc3lzY28gfCAtLXN5c2MgfCAtLXN5cyB8IC0tc3kpCisgICAgIGFjX3ByZXY9c3lzY29uZmRpciA7OworICAgLXN5c2NvbmZkaXI9KiB8IC0tc3lzY29uZmRpcj0qIHwgLS1zeXNjb25mZGk9KiB8IC0tc3lzY29uZmQ9KiB8IC0tc3lzY29uZj0qIFwKKyAgIHwgLS1zeXNjb249KiB8IC0tc3lzY289KiB8IC0tc3lzYz0qIHwgLS1zeXM9KiB8IC0tc3k9KikKKy0gICAgc3lzY29uZmRpcj0kYWNfb3B0YXJnIDs7CisrICAgIHN5c2NvbmZkaXI9IiRhY19vcHRhcmciIDs7CisgCisgICAtdGFyZ2V0IHwgLS10YXJnZXQgfCAtLXRhcmdlIHwgLS10YXJnIHwgLS10YXIgfCAtLXRhIHwgLS10KQorLSAgICBhY19wcmV2PXRhcmdldF9hbGlhcyA7OworKyAgICBhY19wcmV2PXRhcmdldCA7OworICAgLXRhcmdldD0qIHwgLS10YXJnZXQ9KiB8IC0tdGFyZ2U9KiB8IC0tdGFyZz0qIHwgLS10YXI9KiB8IC0tdGE9KiB8IC0tdD0qKQorLSAgICB0YXJnZXRfYWxpYXM9JGFjX29wdGFyZyA7OworKyAgICB0YXJnZXQ9IiRhY19vcHRhcmciIDs7CisgCisgICAtdiB8IC12ZXJib3NlIHwgLS12ZXJib3NlIHwgLS12ZXJib3MgfCAtLXZlcmJvIHwgLS12ZXJiKQorICAgICB2ZXJib3NlPXllcyA7OworIAorLSAgLXZlcnNpb24gfCAtLXZlcnNpb24gfCAtLXZlcnNpbyB8IC0tdmVyc2kgfCAtLXZlcnMgfCAtVikKKy0gICAgYWNfaW5pdF92ZXJzaW9uPTogOzsKKysgIC12ZXJzaW9uIHwgLS12ZXJzaW9uIHwgLS12ZXJzaW8gfCAtLXZlcnNpIHwgLS12ZXJzKQorKyAgICBlY2hvICJjb25maWd1cmUgZ2VuZXJhdGVkIGJ5IGF1dG9jb25mIHZlcnNpb24gMi4xMyIKKysgICAgZXhpdCAwIDs7CisgCisgICAtd2l0aC0qIHwgLS13aXRoLSopCistICAgIGFjX3BhY2thZ2U9YGV4cHIgIngkYWNfb3B0aW9uIiA6ICd4LSp3aXRoLVwoW149XSpcKSdgCisrICAgIGFjX3BhY2thZ2U9YGVjaG8gJGFjX29wdGlvbnxzZWQgLWUgJ3MvLSp3aXRoLS8vJyAtZSAncy89LiovLydgCisgICAgICMgUmVqZWN0IG5hbWVzIHRoYXQgYXJlIG5vdCB2YWxpZCBzaGVsbCB2YXJpYWJsZSBuYW1lcy4KKy0gICAgZXhwciAieCRhY19wYWNrYWdlIiA6ICIuKlteLV8kYXNfY3JfYWxudW1dIiA+L2Rldi9udWxsICYmCistICAgICAgeyBlY2hvICIkYXNfbWU6IGVycm9yOiBpbnZhbGlkIHBhY2thZ2UgbmFtZTogJGFjX3BhY2thZ2UiID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorKyAgICBpZiB0ZXN0IC1uICJgZWNobyAkYWNfcGFja2FnZXwgc2VkICdzL1stX2EtekEtWjAtOV0vL2cnYCI7IHRoZW4KKysgICAgICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6ICRhY19wYWNrYWdlOiBpbnZhbGlkIHBhY2thZ2UgbmFtZSIgMT4mMjsgZXhpdCAxOyB9CisrICAgIGZpCisgICAgIGFjX3BhY2thZ2U9YGVjaG8gJGFjX3BhY2thZ2V8IHNlZCAncy8tL18vZydgCistICAgIGNhc2UgJGFjX29wdGlvbiBpbgorLSAgICAgICo9KikgYWNfb3B0YXJnPWBlY2hvICIkYWNfb3B0YXJnIiB8IHNlZCAicy8nLydcXFxcXFxcXCcnL2ciYDs7CisrICAgIGNhc2UgIiRhY19vcHRpb24iIGluCisrICAgICAgKj0qKSA7OworICAgICAgICopIGFjX29wdGFyZz15ZXMgOzsKKyAgICAgZXNhYworLSAgICBldmFsICJ3aXRoXyRhY19wYWNrYWdlPSckYWNfb3B0YXJnJyIgOzsKKysgICAgZXZhbCAid2l0aF8ke2FjX3BhY2thZ2V9PSckYWNfb3B0YXJnJyIgOzsKKyAKKyAgIC13aXRob3V0LSogfCAtLXdpdGhvdXQtKikKKy0gICAgYWNfcGFja2FnZT1gZXhwciAieCRhY19vcHRpb24iIDogJ3gtKndpdGhvdXQtXCguKlwpJ2AKKysgICAgYWNfcGFja2FnZT1gZWNobyAkYWNfb3B0aW9ufHNlZCAtZSAncy8tKndpdGhvdXQtLy8nYAorICAgICAjIFJlamVjdCBuYW1lcyB0aGF0IGFyZSBub3QgdmFsaWQgc2hlbGwgdmFyaWFibGUgbmFtZXMuCistICAgIGV4cHIgIngkYWNfcGFja2FnZSIgOiAiLipbXi1fJGFzX2NyX2FsbnVtXSIgPi9kZXYvbnVsbCAmJgorLSAgICAgIHsgZWNobyAiJGFzX21lOiBlcnJvcjogaW52YWxpZCBwYWNrYWdlIG5hbWU6ICRhY19wYWNrYWdlIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy0gICAgYWNfcGFja2FnZT1gZWNobyAkYWNfcGFja2FnZSB8IHNlZCAncy8tL18vZydgCistICAgIGV2YWwgIndpdGhfJGFjX3BhY2thZ2U9bm8iIDs7CisrICAgIGlmIHRlc3QgLW4gImBlY2hvICRhY19wYWNrYWdlfCBzZWQgJ3MvWy1hLXpBLVowLTlfXS8vZydgIjsgdGhlbgorKyAgICAgIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogJGFjX3BhY2thZ2U6IGludmFsaWQgcGFja2FnZSBuYW1lIiAxPiYyOyBleGl0IDE7IH0KKysgICAgZmkKKysgICAgYWNfcGFja2FnZT1gZWNobyAkYWNfcGFja2FnZXwgc2VkICdzLy0vXy9nJ2AKKysgICAgZXZhbCAid2l0aF8ke2FjX3BhY2thZ2V9PW5vIiA7OworIAorICAgLS14KQorICAgICAjIE9ic29sZXRlOyB1c2UgLS13aXRoLXguCitAQCAtNjEzLDExMCArMzc5LDk5IEBACisgICAgIGFjX3ByZXY9eF9pbmNsdWRlcyA7OworICAgLXgtaW5jbHVkZXM9KiB8IC0teC1pbmNsdWRlcz0qIHwgLS14LWluY2x1ZGU9KiB8IC0teC1pbmNsdWQ9KiB8IC0teC1pbmNsdT0qIFwKKyAgIHwgLS14LWluY2w9KiB8IC0teC1pbmM9KiB8IC0teC1pbj0qIHwgLS14LWk9KikKKy0gICAgeF9pbmNsdWRlcz0kYWNfb3B0YXJnIDs7CisrICAgIHhfaW5jbHVkZXM9IiRhY19vcHRhcmciIDs7CisgCisgICAteC1saWJyYXJpZXMgfCAtLXgtbGlicmFyaWVzIHwgLS14LWxpYnJhcmllIHwgLS14LWxpYnJhcmkgXAorICAgfCAtLXgtbGlicmFyIHwgLS14LWxpYnJhIHwgLS14LWxpYnIgfCAtLXgtbGliIHwgLS14LWxpIHwgLS14LWwpCisgICAgIGFjX3ByZXY9eF9saWJyYXJpZXMgOzsKKyAgIC14LWxpYnJhcmllcz0qIHwgLS14LWxpYnJhcmllcz0qIHwgLS14LWxpYnJhcmllPSogfCAtLXgtbGlicmFyaT0qIFwKKyAgIHwgLS14LWxpYnJhcj0qIHwgLS14LWxpYnJhPSogfCAtLXgtbGlicj0qIHwgLS14LWxpYj0qIHwgLS14LWxpPSogfCAtLXgtbD0qKQorLSAgICB4X2xpYnJhcmllcz0kYWNfb3B0YXJnIDs7CisrICAgIHhfbGlicmFyaWVzPSIkYWNfb3B0YXJnIiA7OworIAorLSAgLSopIHsgZWNobyAiJGFzX21lOiBlcnJvcjogdW5yZWNvZ25pemVkIG9wdGlvbjogJGFjX29wdGlvbgorLVRyeSBcYCQwIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKysgIC0qKSB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6ICRhY19vcHRpb246IGludmFsaWQgb3B0aW9uOyB1c2UgLS1oZWxwIHRvIHNob3cgdXNhZ2UiIDE+JjI7IGV4aXQgMTsgfQorICAgICA7OworIAorLSAgKj0qKQorLSAgICBhY19lbnZ2YXI9YGV4cHIgIngkYWNfb3B0aW9uIiA6ICd4XChbXj1dKlwpPSdgCistICAgICMgUmVqZWN0IG5hbWVzIHRoYXQgYXJlIG5vdCB2YWxpZCBzaGVsbCB2YXJpYWJsZSBuYW1lcy4KKy0gICAgZXhwciAieCRhY19lbnZ2YXIiIDogIi4qW15fJGFzX2NyX2FsbnVtXSIgPi9kZXYvbnVsbCAmJgorLSAgICAgIHsgZWNobyAiJGFzX21lOiBlcnJvcjogaW52YWxpZCB2YXJpYWJsZSBuYW1lOiAkYWNfZW52dmFyIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy0gICAgYWNfb3B0YXJnPWBlY2hvICIkYWNfb3B0YXJnIiB8IHNlZCAicy8nLydcXFxcXFxcXCcnL2ciYAorLSAgICBldmFsICIkYWNfZW52dmFyPSckYWNfb3B0YXJnJyIKKy0gICAgZXhwb3J0ICRhY19lbnZ2YXIgOzsKKy0KKyAgICopCistICAgICMgRklYTUU6IHNob3VsZCBiZSByZW1vdmVkIGluIGF1dG9jb25mIDMuMC4KKy0gICAgZWNobyAiJGFzX21lOiBXQVJOSU5HOiB5b3Ugc2hvdWxkIHVzZSAtLWJ1aWxkLCAtLWhvc3QsIC0tdGFyZ2V0IiA+JjIKKy0gICAgZXhwciAieCRhY19vcHRpb24iIDogIi4qW14tLl8kYXNfY3JfYWxudW1dIiA+L2Rldi9udWxsICYmCistICAgICAgZWNobyAiJGFzX21lOiBXQVJOSU5HOiBpbnZhbGlkIGhvc3QgdHlwZTogJGFjX29wdGlvbiIgPiYyCistICAgIDogJHtidWlsZF9hbGlhcz0kYWNfb3B0aW9ufSAke2hvc3RfYWxpYXM9JGFjX29wdGlvbn0gJHt0YXJnZXRfYWxpYXM9JGFjX29wdGlvbn0KKysgICAgaWYgdGVzdCAtbiAiYGVjaG8gJGFjX29wdGlvbnwgc2VkICdzL1stYS16MC05Ll0vL2cnYCI7IHRoZW4KKysgICAgICBlY2hvICJjb25maWd1cmU6IHdhcm5pbmc6ICRhY19vcHRpb246IGludmFsaWQgaG9zdCB0eXBlIiAxPiYyCisrICAgIGZpCisrICAgIGlmIHRlc3QgIngkbm9ub3B0IiAhPSB4Tk9ORTsgdGhlbgorKyAgICAgIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogY2FuIG9ubHkgY29uZmlndXJlIGZvciBvbmUgaG9zdCBhbmQgb25lIHRhcmdldCBhdCBhIHRpbWUiIDE+JjI7IGV4aXQgMTsgfQorKyAgICBmaQorKyAgICBub25vcHQ9IiRhY19vcHRpb24iCisgICAgIDs7CisgCisgICBlc2FjCisgZG9uZQorIAorIGlmIHRlc3QgLW4gIiRhY19wcmV2IjsgdGhlbgorLSAgYWNfb3B0aW9uPS0tYGVjaG8gJGFjX3ByZXYgfCBzZWQgJ3MvXy8tL2cnYAorLSAgeyBlY2hvICIkYXNfbWU6IGVycm9yOiBtaXNzaW5nIGFyZ3VtZW50IHRvICRhY19vcHRpb24iID4mMgorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorKyAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBtaXNzaW5nIGFyZ3VtZW50IHRvIC0tYGVjaG8gJGFjX3ByZXYgfCBzZWQgJ3MvXy8tL2cnYCIgMT4mMjsgZXhpdCAxOyB9CisgZmkKKyAKKy0jIEJlIHN1cmUgdG8gaGF2ZSBhYnNvbHV0ZSBwYXRocy4KKy1mb3IgYWNfdmFyIGluIGV4ZWNfcHJlZml4IHByZWZpeAorLWRvCistICBldmFsIGFjX3ZhbD0kYGVjaG8gJGFjX3ZhcmAKKy0gIGNhc2UgJGFjX3ZhbCBpbgorLSAgICBbXFwvJF0qIHwgPzpbXFwvXSogfCBOT05FIHwgJycgKSA7OworLSAgICAqKSAgeyBlY2hvICIkYXNfbWU6IGVycm9yOiBleHBlY3RlZCBhbiBhYnNvbHV0ZSBkaXJlY3RvcnkgbmFtZSBmb3IgLS0kYWNfdmFyOiAkYWNfdmFsIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH07OworLSAgZXNhYworLWRvbmUKKyt0cmFwICdybSAtZnIgY29uZnRlc3QqIGNvbmZkZWZzKiBjb3JlIGNvcmUuKiAqLmNvcmUgJGFjX2NsZWFuX2ZpbGVzOyBleGl0IDEnIDEgMiAxNQorIAorLSMgQmUgc3VyZSB0byBoYXZlIGFic29sdXRlIHBhdGhzLgorLWZvciBhY192YXIgaW4gYmluZGlyIHNiaW5kaXIgbGliZXhlY2RpciBkYXRhZGlyIHN5c2NvbmZkaXIgc2hhcmVkc3RhdGVkaXIgXAorLSAgICAgICAgICAgICAgbG9jYWxzdGF0ZWRpciBsaWJkaXIgaW5jbHVkZWRpciBvbGRpbmNsdWRlZGlyIGluZm9kaXIgbWFuZGlyCisrIyBGaWxlIGRlc2NyaXB0b3IgdXNhZ2U6CisrIyAwIHN0YW5kYXJkIGlucHV0CisrIyAxIGZpbGUgY3JlYXRpb24KKysjIDIgZXJyb3JzIGFuZCB3YXJuaW5ncworKyMgMyBzb21lIHN5c3RlbXMgbWF5IG9wZW4gaXQgdG8gL2Rldi90dHkKKysjIDQgdXNlZCBvbiB0aGUgS3Vib3RhIFRpdGFuCisrIyA2IGNoZWNraW5nIGZvci4uLiBtZXNzYWdlcyBhbmQgcmVzdWx0cworKyMgNSBjb21waWxlciBtZXNzYWdlcyBzYXZlZCBpbiBjb25maWcubG9nCisraWYgdGVzdCAiJHNpbGVudCIgPSB5ZXM7IHRoZW4KKysgIGV4ZWMgNj4vZGV2L251bGwKKytlbHNlCisrICBleGVjIDY+JjEKKytmaQorK2V4ZWMgNT4uL2NvbmZpZy5sb2cKKysKKytlY2hvICJcCisrVGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hpbGUKKytydW5uaW5nIGNvbmZpZ3VyZSwgdG8gYWlkIGRlYnVnZ2luZyBpZiBjb25maWd1cmUgbWFrZXMgYSBtaXN0YWtlLgorKyIgMT4mNQorKworKyMgU3RyaXAgb3V0IC0tbm8tY3JlYXRlIGFuZCAtLW5vLXJlY3Vyc2lvbiBzbyB0aGV5IGRvIG5vdCBwaWxlIHVwLgorKyMgQWxzbyBxdW90ZSBhbnkgYXJncyBjb250YWluaW5nIHNoZWxsIG1ldGFjaGFyYWN0ZXJzLgorK2FjX2NvbmZpZ3VyZV9hcmdzPQorK2ZvciBhY19hcmcKKyBkbworLSAgZXZhbCBhY192YWw9JGBlY2hvICRhY192YXJgCistICBjYXNlICRhY192YWwgaW4KKy0gICAgW1xcLyRdKiB8ID86W1xcL10qICkgOzsKKy0gICAgKikgIHsgZWNobyAiJGFzX21lOiBlcnJvcjogZXhwZWN0ZWQgYW4gYWJzb2x1dGUgZGlyZWN0b3J5IG5hbWUgZm9yIC0tJGFjX3ZhcjogJGFjX3ZhbCIgPiYyCistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9OzsKKysgIGNhc2UgIiRhY19hcmciIGluCisrICAtbm8tY3JlYXRlIHwgLS1uby1jcmVhdGUgfCAtLW5vLWNyZWF0IHwgLS1uby1jcmVhIHwgLS1uby1jcmUgXAorKyAgfCAtLW5vLWNyIHwgLS1uby1jKSA7OworKyAgLW5vLXJlY3Vyc2lvbiB8IC0tbm8tcmVjdXJzaW9uIHwgLS1uby1yZWN1cnNpbyB8IC0tbm8tcmVjdXJzaSBcCisrICB8IC0tbm8tcmVjdXJzIHwgLS1uby1yZWN1ciB8IC0tbm8tcmVjdSB8IC0tbm8tcmVjIHwgLS1uby1yZSB8IC0tbm8tcikgOzsKKysgICoiICIqfCoiCSIqfCpbXFtcXVx+XCNcJFxeXCZcKlwoXClce1x9XFxcfFw7XDxcPlw/XSopCisrICBhY19jb25maWd1cmVfYXJncz0iJGFjX2NvbmZpZ3VyZV9hcmdzICckYWNfYXJnJyIgOzsKKysgICopIGFjX2NvbmZpZ3VyZV9hcmdzPSIkYWNfY29uZmlndXJlX2FyZ3MgJGFjX2FyZyIgOzsKKyAgIGVzYWMKKyBkb25lCisgCistIyBUaGVyZSBtaWdodCBiZSBwZW9wbGUgd2hvIGRlcGVuZCBvbiB0aGUgb2xkIGJyb2tlbiBiZWhhdmlvcjogYCRob3N0JworLSMgdXNlZCB0byBob2xkIHRoZSBhcmd1bWVudCBvZiAtLWhvc3QgZXRjLgorLSMgRklYTUU6IFRvIHJlbW92ZSBzb21lIGRheS4KKy1idWlsZD0kYnVpbGRfYWxpYXMKKy1ob3N0PSRob3N0X2FsaWFzCistdGFyZ2V0PSR0YXJnZXRfYWxpYXMKKysjIE5MUyBudWlzYW5jZXMuCisrIyBPbmx5IHNldCB0aGVzZSB0byBDIGlmIGFscmVhZHkgc2V0LiAgVGhlc2UgbXVzdCBub3QgYmUgc2V0IHVuY29uZGl0aW9uYWxseQorKyMgYmVjYXVzZSBub3QgYWxsIHN5c3RlbXMgdW5kZXJzdGFuZCBlLmcuIExBTkc9QyAobm90YWJseSBTQ08pLgorKyMgRml4aW5nIExDX01FU1NBR0VTIHByZXZlbnRzIFNvbGFyaXMgc2ggZnJvbSB0cmFuc2xhdGluZyB2YXIgdmFsdWVzIGluIGBzZXQnIQorKyMgTm9uLUMgTENfQ1RZUEUgdmFsdWVzIGJyZWFrIHRoZSBjdHlwZSBjaGVjay4KKytpZiB0ZXN0ICIke0xBTkcrc2V0fSIgICA9IHNldDsgdGhlbiBMQU5HPUM7ICAgZXhwb3J0IExBTkc7ICAgZmkKKytpZiB0ZXN0ICIke0xDX0FMTCtzZXR9IiA9IHNldDsgdGhlbiBMQ19BTEw9QzsgZXhwb3J0IExDX0FMTDsgZmkKKytpZiB0ZXN0ICIke0xDX01FU1NBR0VTK3NldH0iID0gc2V0OyB0aGVuIExDX01FU1NBR0VTPUM7IGV4cG9ydCBMQ19NRVNTQUdFUzsgZmkKKytpZiB0ZXN0ICIke0xDX0NUWVBFK3NldH0iICAgID0gc2V0OyB0aGVuIExDX0NUWVBFPUM7ICAgIGV4cG9ydCBMQ19DVFlQRTsgICAgZmkKKyAKKy0jIEZJWE1FOiBUbyByZW1vdmUgc29tZSBkYXkuCistaWYgdGVzdCAieCRob3N0X2FsaWFzIiAhPSB4OyB0aGVuCistICBpZiB0ZXN0ICJ4JGJ1aWxkX2FsaWFzIiA9IHg7IHRoZW4KKy0gICAgY3Jvc3NfY29tcGlsaW5nPW1heWJlCistICAgIGVjaG8gIiRhc19tZTogV0FSTklORzogSWYgeW91IHdhbnRlZCB0byBzZXQgdGhlIC0tYnVpbGQgdHlwZSwgZG9uJ3QgdXNlIC0taG9zdC4KKy0gICAgSWYgYSBjcm9zcyBjb21waWxlciBpcyBkZXRlY3RlZCB0aGVuIGNyb3NzIGNvbXBpbGUgbW9kZSB3aWxsIGJlIHVzZWQuIiA+JjIKKy0gIGVsaWYgdGVzdCAieCRidWlsZF9hbGlhcyIgIT0gIngkaG9zdF9hbGlhcyI7IHRoZW4KKy0gICAgY3Jvc3NfY29tcGlsaW5nPXllcworLSAgZmkKKy1maQorKyMgY29uZmRlZnMuaCBhdm9pZHMgT1MgY29tbWFuZCBsaW5lIGxlbmd0aCBsaW1pdHMgdGhhdCBERUZTIGNhbiBleGNlZWQuCisrcm0gLXJmIGNvbmZ0ZXN0KiBjb25mZGVmcy5oCisrIyBBSVggY3BwIGxvc2VzIG9uIGFuIGVtcHR5IGZpbGUsIHNvIG1ha2Ugc3VyZSBpdCBjb250YWlucyBhdCBsZWFzdCBhIG5ld2xpbmUuCisrZWNobyA+IGNvbmZkZWZzLmgKKyAKKy1hY190b29sX3ByZWZpeD0KKy10ZXN0IC1uICIkaG9zdF9hbGlhcyIgJiYgYWNfdG9vbF9wcmVmaXg9JGhvc3RfYWxpYXMtCisrIyBBIGZpbGVuYW1lIHVuaXF1ZSB0byB0aGlzIHBhY2thZ2UsIHJlbGF0aXZlIHRvIHRoZSBkaXJlY3RvcnkgdGhhdAorKyMgY29uZmlndXJlIGlzIGluLCB3aGljaCB3ZSBjYW4gbG9vayBmb3IgdG8gZmluZCBvdXQgaWYgc3JjZGlyIGlzIGNvcnJlY3QuCisrYWNfdW5pcXVlX2ZpbGU9aW5jbHVkZS9mbGl0ZS5oCisgCistdGVzdCAiJHNpbGVudCIgPSB5ZXMgJiYgZXhlYyA2Pi9kZXYvbnVsbAorLQorLQorICMgRmluZCB0aGUgc291cmNlIGZpbGVzLCBpZiBsb2NhdGlvbiB3YXMgbm90IHNwZWNpZmllZC4KKyBpZiB0ZXN0IC16ICIkc3JjZGlyIjsgdGhlbgorICAgYWNfc3JjZGlyX2RlZmF1bHRlZD15ZXMKKyAgICMgVHJ5IHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGlzIHNjcmlwdCwgdGhlbiBpdHMgcGFyZW50LgorLSAgYWNfY29uZmRpcj1gKGRpcm5hbWUgIiQwIikgMj4vZGV2L251bGwgfHwKKy0kYXNfZXhwciBYIiQwIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8qJCcgXHwgXAorLSAgICAgICAgIFgiJDAiIDogJ1hcKC8vXClbXi9dJyBcfCBcCistICAgICAgICAgWCIkMCIgOiAnWFwoLy9cKSQnIFx8IFwKKy0gICAgICAgICBYIiQwIiA6ICdYXCgvXCknIFx8IFwKKy0gICAgICAgICAuICAgICA6ICdcKC5cKScgMj4vZGV2L251bGwgfHwKKy1lY2hvIFgiJDAiIHwKKy0gICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sgcy8vXDEvOyBxOyB9CistICAJICAvXlhcKFwvXC9cKVteL10uKi97IHMvL1wxLzsgcTsgfQorLSAgCSAgL15YXChcL1wvXCkkL3sgcy8vXDEvOyBxOyB9CistICAJICAvXlhcKFwvXCkuKi97IHMvL1wxLzsgcTsgfQorLSAgCSAgcy8uKi8uLzsgcSdgCisrICBhY19wcm9nPSQwCisrICBhY19jb25mZGlyPWBlY2hvICRhY19wcm9nfHNlZCAncyUvW14vXVteL10qJCUlJ2AKKysgIHRlc3QgIngkYWNfY29uZmRpciIgPSAieCRhY19wcm9nIiAmJiBhY19jb25mZGlyPS4KKyAgIHNyY2Rpcj0kYWNfY29uZmRpcgorICAgaWYgdGVzdCAhIC1yICRzcmNkaXIvJGFjX3VuaXF1ZV9maWxlOyB0aGVuCisgICAgIHNyY2Rpcj0uLgorQEAgLTcyNiw0NDEgKzQ4MSwxMyBAQAorIGZpCisgaWYgdGVzdCAhIC1yICRzcmNkaXIvJGFjX3VuaXF1ZV9maWxlOyB0aGVuCisgICBpZiB0ZXN0ICIkYWNfc3JjZGlyX2RlZmF1bHRlZCIgPSB5ZXM7IHRoZW4KKy0gICAgeyBlY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgZmluZCBzb3VyY2VzICgkYWNfdW5pcXVlX2ZpbGUpIGluICRhY19jb25mZGlyIG9yIC4uIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKysgICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBjYW4gbm90IGZpbmQgc291cmNlcyBpbiAkYWNfY29uZmRpciBvciAuLiIgMT4mMjsgZXhpdCAxOyB9CisgICBlbHNlCistICAgIHsgZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGZpbmQgc291cmNlcyAoJGFjX3VuaXF1ZV9maWxlKSBpbiAkc3JjZGlyIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKysgICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBjYW4gbm90IGZpbmQgc291cmNlcyBpbiAkc3JjZGlyIiAxPiYyOyBleGl0IDE7IH0KKyAgIGZpCisgZmkKKy0oY2QgJHNyY2RpciAmJiB0ZXN0IC1yIC4vJGFjX3VuaXF1ZV9maWxlKSAyPi9kZXYvbnVsbCB8fAorLSAgeyBlY2hvICIkYXNfbWU6IGVycm9yOiBzb3VyY2VzIGFyZSBpbiAkc3JjZGlyLCBidXQgXGBjZCAkc3JjZGlyJyBkb2VzIG5vdCB3b3JrIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy1zcmNkaXI9YGVjaG8gIiRzcmNkaXIiIHwgc2VkICdzJVwoW15cXC9dXClbXFwvXSokJVwxJSdgCistYWNfZW52X2J1aWxkX2FsaWFzX3NldD0ke2J1aWxkX2FsaWFzK3NldH0KKy1hY19lbnZfYnVpbGRfYWxpYXNfdmFsdWU9JGJ1aWxkX2FsaWFzCistYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3NldD0ke2J1aWxkX2FsaWFzK3NldH0KKy1hY19jdl9lbnZfYnVpbGRfYWxpYXNfdmFsdWU9JGJ1aWxkX2FsaWFzCistYWNfZW52X2hvc3RfYWxpYXNfc2V0PSR7aG9zdF9hbGlhcytzZXR9CistYWNfZW52X2hvc3RfYWxpYXNfdmFsdWU9JGhvc3RfYWxpYXMKKy1hY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9JHtob3N0X2FsaWFzK3NldH0KKy1hY19jdl9lbnZfaG9zdF9hbGlhc192YWx1ZT0kaG9zdF9hbGlhcworLWFjX2Vudl90YXJnZXRfYWxpYXNfc2V0PSR7dGFyZ2V0X2FsaWFzK3NldH0KKy1hY19lbnZfdGFyZ2V0X2FsaWFzX3ZhbHVlPSR0YXJnZXRfYWxpYXMKKy1hY19jdl9lbnZfdGFyZ2V0X2FsaWFzX3NldD0ke3RhcmdldF9hbGlhcytzZXR9CistYWNfY3ZfZW52X3RhcmdldF9hbGlhc192YWx1ZT0kdGFyZ2V0X2FsaWFzCistYWNfZW52X0NDX3NldD0ke0NDK3NldH0KKy1hY19lbnZfQ0NfdmFsdWU9JENDCistYWNfY3ZfZW52X0NDX3NldD0ke0NDK3NldH0KKy1hY19jdl9lbnZfQ0NfdmFsdWU9JENDCistYWNfZW52X0NGTEFHU19zZXQ9JHtDRkxBR1Mrc2V0fQorLWFjX2Vudl9DRkxBR1NfdmFsdWU9JENGTEFHUworLWFjX2N2X2Vudl9DRkxBR1Nfc2V0PSR7Q0ZMQUdTK3NldH0KKy1hY19jdl9lbnZfQ0ZMQUdTX3ZhbHVlPSRDRkxBR1MKKy1hY19lbnZfTERGTEFHU19zZXQ9JHtMREZMQUdTK3NldH0KKy1hY19lbnZfTERGTEFHU192YWx1ZT0kTERGTEFHUworLWFjX2N2X2Vudl9MREZMQUdTX3NldD0ke0xERkxBR1Mrc2V0fQorLWFjX2N2X2Vudl9MREZMQUdTX3ZhbHVlPSRMREZMQUdTCistYWNfZW52X0NQUEZMQUdTX3NldD0ke0NQUEZMQUdTK3NldH0KKy1hY19lbnZfQ1BQRkxBR1NfdmFsdWU9JENQUEZMQUdTCistYWNfY3ZfZW52X0NQUEZMQUdTX3NldD0ke0NQUEZMQUdTK3NldH0KKy1hY19jdl9lbnZfQ1BQRkxBR1NfdmFsdWU9JENQUEZMQUdTCistYWNfZW52X0NQUF9zZXQ9JHtDUFArc2V0fQorLWFjX2Vudl9DUFBfdmFsdWU9JENQUAorLWFjX2N2X2Vudl9DUFBfc2V0PSR7Q1BQK3NldH0KKy1hY19jdl9lbnZfQ1BQX3ZhbHVlPSRDUFAKKytzcmNkaXI9YGVjaG8gIiR7c3JjZGlyfSIgfCBzZWQgJ3MlXChbXi9dXCkvKiQlXDElJ2AKKyAKKy0jCistIyBSZXBvcnQgdGhlIC0taGVscCBtZXNzYWdlLgorLSMKKy1pZiB0ZXN0ICIkYWNfaW5pdF9oZWxwIiA9ICJsb25nIjsgdGhlbgorLSAgIyBPbWl0IHNvbWUgaW50ZXJuYWwgb3Igb2Jzb2xldGUgb3B0aW9ucyB0byBtYWtlIHRoZSBsaXN0IGxlc3MgaW1wb3NpbmcuCistICAjIFRoaXMgbWVzc2FnZSBpcyB0b28gbG9uZyB0byBiZSBhIHN0cmluZyBpbiB0aGUgQS9VWCAzLjEgc2guCistICBjYXQgPDxfQUNFT0YKKy1cYGNvbmZpZ3VyZScgY29uZmlndXJlcyB0aGlzIHBhY2thZ2UgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgorLQorLVVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbVkFSPVZBTFVFXS4uLgorLQorLVRvIGFzc2lnbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgKGUuZy4sIENDLCBDRkxBR1MuLi4pLCBzcGVjaWZ5IHRoZW0gYXMKKy1WQVI9VkFMVUUuICBTZWUgYmVsb3cgZm9yIGRlc2NyaXB0aW9ucyBvZiBzb21lIG9mIHRoZSB1c2VmdWwgdmFyaWFibGVzLgorLQorLURlZmF1bHRzIGZvciB0aGUgb3B0aW9ucyBhcmUgc3BlY2lmaWVkIGluIGJyYWNrZXRzLgorLQorLUNvbmZpZ3VyYXRpb246CistICAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdAorLSAgICAgIC0taGVscD1zaG9ydCAgICAgICAgZGlzcGxheSBvcHRpb25zIHNwZWNpZmljIHRvIHRoaXMgcGFja2FnZQorLSAgICAgIC0taGVscD1yZWN1cnNpdmUgICAgZGlzcGxheSB0aGUgc2hvcnQgaGVscCBvZiBhbGwgdGhlIGluY2x1ZGVkIHBhY2thZ2VzCistICAtViwgLS12ZXJzaW9uICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQKKy0gIC1xLCAtLXF1aWV0LCAtLXNpbGVudCAgIGRvIG5vdCBwcmludCBcYGNoZWNraW5nLi4uJyBtZXNzYWdlcworLSAgICAgIC0tY2FjaGUtZmlsZT1GSUxFICAgY2FjaGUgdGVzdCByZXN1bHRzIGluIEZJTEUgW2Rpc2FibGVkXQorLSAgLUMsIC0tY29uZmlnLWNhY2hlICAgICAgYWxpYXMgZm9yIFxgLS1jYWNoZS1maWxlPWNvbmZpZy5jYWNoZScKKy0gIC1uLCAtLW5vLWNyZWF0ZSAgICAgICAgIGRvIG5vdCBjcmVhdGUgb3V0cHV0IGZpbGVzCistICAgICAgLS1zcmNkaXI9RElSICAgICAgICBmaW5kIHRoZSBzb3VyY2VzIGluIERJUiBbY29uZmlndXJlIGRpciBvciBcYC4uJ10KKy0KKy1fQUNFT0YKKy0KKy0gIGNhdCA8PF9BQ0VPRgorLUluc3RhbGxhdGlvbiBkaXJlY3RvcmllczoKKy0gIC0tcHJlZml4PVBSRUZJWCAgICAgICAgIGluc3RhbGwgYXJjaGl0ZWN0dXJlLWluZGVwZW5kZW50IGZpbGVzIGluIFBSRUZJWAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgWyRhY19kZWZhdWx0X3ByZWZpeF0KKy0gIC0tZXhlYy1wcmVmaXg9RVBSRUZJWCAgIGluc3RhbGwgYXJjaGl0ZWN0dXJlLWRlcGVuZGVudCBmaWxlcyBpbiBFUFJFRklYCistICAgICAgICAgICAgICAgICAgICAgICAgICBbUFJFRklYXQorLQorLUJ5IGRlZmF1bHQsIFxgbWFrZSBpbnN0YWxsJyB3aWxsIGluc3RhbGwgYWxsIHRoZSBmaWxlcyBpbgorLVxgJGFjX2RlZmF1bHRfcHJlZml4L2JpbicsIFxgJGFjX2RlZmF1bHRfcHJlZml4L2xpYicgZXRjLiAgWW91IGNhbiBzcGVjaWZ5CistYW4gaW5zdGFsbGF0aW9uIHByZWZpeCBvdGhlciB0aGFuIFxgJGFjX2RlZmF1bHRfcHJlZml4JyB1c2luZyBcYC0tcHJlZml4JywKKy1mb3IgaW5zdGFuY2UgXGAtLXByZWZpeD1cJEhPTUUnLgorLQorLUZvciBiZXR0ZXIgY29udHJvbCwgdXNlIHRoZSBvcHRpb25zIGJlbG93LgorLQorLUZpbmUgdHVuaW5nIG9mIHRoZSBpbnN0YWxsYXRpb24gZGlyZWN0b3JpZXM6CistICAtLWJpbmRpcj1ESVIgICAgICAgICAgIHVzZXIgZXhlY3V0YWJsZXMgW0VQUkVGSVgvYmluXQorLSAgLS1zYmluZGlyPURJUiAgICAgICAgICBzeXN0ZW0gYWRtaW4gZXhlY3V0YWJsZXMgW0VQUkVGSVgvc2Jpbl0KKy0gIC0tbGliZXhlY2Rpcj1ESVIgICAgICAgcHJvZ3JhbSBleGVjdXRhYmxlcyBbRVBSRUZJWC9saWJleGVjXQorLSAgLS1kYXRhZGlyPURJUiAgICAgICAgICByZWFkLW9ubHkgYXJjaGl0ZWN0dXJlLWluZGVwZW5kZW50IGRhdGEgW1BSRUZJWC9zaGFyZV0KKy0gIC0tc3lzY29uZmRpcj1ESVIgICAgICAgcmVhZC1vbmx5IHNpbmdsZS1tYWNoaW5lIGRhdGEgW1BSRUZJWC9ldGNdCistICAtLXNoYXJlZHN0YXRlZGlyPURJUiAgIG1vZGlmaWFibGUgYXJjaGl0ZWN0dXJlLWluZGVwZW5kZW50IGRhdGEgW1BSRUZJWC9jb21dCistICAtLWxvY2Fsc3RhdGVkaXI9RElSICAgIG1vZGlmaWFibGUgc2luZ2xlLW1hY2hpbmUgZGF0YSBbUFJFRklYL3Zhcl0KKy0gIC0tbGliZGlyPURJUiAgICAgICAgICAgb2JqZWN0IGNvZGUgbGlicmFyaWVzIFtFUFJFRklYL2xpYl0KKy0gIC0taW5jbHVkZWRpcj1ESVIgICAgICAgQyBoZWFkZXIgZmlsZXMgW1BSRUZJWC9pbmNsdWRlXQorLSAgLS1vbGRpbmNsdWRlZGlyPURJUiAgICBDIGhlYWRlciBmaWxlcyBmb3Igbm9uLWdjYyBbL3Vzci9pbmNsdWRlXQorLSAgLS1pbmZvZGlyPURJUiAgICAgICAgICBpbmZvIGRvY3VtZW50YXRpb24gW1BSRUZJWC9pbmZvXQorLSAgLS1tYW5kaXI9RElSICAgICAgICAgICBtYW4gZG9jdW1lbnRhdGlvbiBbUFJFRklYL21hbl0KKy1fQUNFT0YKKy0KKy0gIGNhdCA8PFxfQUNFT0YKKy0KKy1TeXN0ZW0gdHlwZXM6CistICAtLWJ1aWxkPUJVSUxEICAgICBjb25maWd1cmUgZm9yIGJ1aWxkaW5nIG9uIEJVSUxEIFtndWVzc2VkXQorLSAgLS1ob3N0PUhPU1QgICAgICAgY3Jvc3MtY29tcGlsZSB0byBidWlsZCBwcm9ncmFtcyB0byBydW4gb24gSE9TVCBbQlVJTERdCistICAtLXRhcmdldD1UQVJHRVQgICBjb25maWd1cmUgZm9yIGJ1aWxkaW5nIGNvbXBpbGVycyBmb3IgVEFSR0VUIFtIT1NUXQorLV9BQ0VPRgorLWZpCistCistaWYgdGVzdCAtbiAiJGFjX2luaXRfaGVscCI7IHRoZW4KKy0KKy0gIGNhdCA8PFxfQUNFT0YKKy0KKy1PcHRpb25hbCBGZWF0dXJlczoKKy0gIC0tZGlzYWJsZS1GRUFUVVJFICAgICAgIGRvIG5vdCBpbmNsdWRlIEZFQVRVUkUgKHNhbWUgYXMgLS1lbmFibGUtRkVBVFVSRT1ubykKKy0gIC0tZW5hYmxlLUZFQVRVUkVbPUFSR10gIGluY2x1ZGUgRkVBVFVSRSBbQVJHPXllc10KKy0gIC0tZGlzYWJsZS1zaGFyZWQgICAgIHdpdGhvdXQgc2hhcmVkIGxpYnJhcnkgc3VwcG9ydAorLSAgLS1kaXNhYmxlLXNvY2tldHMgICAgIHdpdGhvdXQgc29ja2V0IHN1cHBvcnQKKy0KKy1PcHRpb25hbCBQYWNrYWdlczoKKy0gIC0td2l0aC1QQUNLQUdFWz1BUkddICAgIHVzZSBQQUNLQUdFIFtBUkc9eWVzXQorLSAgLS13aXRob3V0LVBBQ0tBR0UgICAgICAgZG8gbm90IHVzZSBQQUNLQUdFIChzYW1lIGFzIC0td2l0aC1QQUNLQUdFPW5vKQorLSAgLS13aXRoLWF1ZGlvICAgICAgICAgIHdpdGggc3BlY2lmaWMgYXVkaW8gc3VwcG9ydCAobm9uZSBsaW51eCBmcmVlYnNkIGV0YykKKy0gIC0td2l0aC1sYW5nICAgICAgICAgICB3aXRoIGxhbmd1YWdlCistICAtLXdpdGgtdm94ICAgICAgICAgICAgd2l0aCB2b3gKKy0gIC0td2l0aC1sZXggICAgICAgICAgICB3aXRoIGxleGljb24KKy0KKy1Tb21lIGluZmx1ZW50aWFsIGVudmlyb25tZW50IHZhcmlhYmxlczoKKy0gIENDICAgICAgICAgIEMgY29tcGlsZXIgY29tbWFuZAorLSAgQ0ZMQUdTICAgICAgQyBjb21waWxlciBmbGFncworLSAgTERGTEFHUyAgICAgbGlua2VyIGZsYWdzLCBlLmcuIC1MPGxpYiBkaXI+IGlmIHlvdSBoYXZlIGxpYnJhcmllcyBpbiBhCistICAgICAgICAgICAgICBub25zdGFuZGFyZCBkaXJlY3RvcnkgPGxpYiBkaXI+CistICBDUFBGTEFHUyAgICBDL0MrKyBwcmVwcm9jZXNzb3IgZmxhZ3MsIGUuZy4gLUk8aW5jbHVkZSBkaXI+IGlmIHlvdSBoYXZlCistICAgICAgICAgICAgICBoZWFkZXJzIGluIGEgbm9uc3RhbmRhcmQgZGlyZWN0b3J5IDxpbmNsdWRlIGRpcj4KKy0gIENQUCAgICAgICAgIEMgcHJlcHJvY2Vzc29yCistCistVXNlIHRoZXNlIHZhcmlhYmxlcyB0byBvdmVycmlkZSB0aGUgY2hvaWNlcyBtYWRlIGJ5IGBjb25maWd1cmUnIG9yIHRvIGhlbHAKKy1pdCB0byBmaW5kIGxpYnJhcmllcyBhbmQgcHJvZ3JhbXMgd2l0aCBub25zdGFuZGFyZCBuYW1lcy9sb2NhdGlvbnMuCistCistX0FDRU9GCistZmkKKy0KKy1pZiB0ZXN0ICIkYWNfaW5pdF9oZWxwIiA9ICJyZWN1cnNpdmUiOyB0aGVuCistICAjIElmIHRoZXJlIGFyZSBzdWJkaXJzLCByZXBvcnQgdGhlaXIgc3BlY2lmaWMgLS1oZWxwLgorLSAgYWNfcG9wZGlyPWBwd2RgCistICBmb3IgYWNfZGlyIGluIDogJGFjX3N1YmRpcnNfYWxsOyBkbyB0ZXN0ICJ4JGFjX2RpciIgPSB4OiAmJiBjb250aW51ZQorLSAgICB0ZXN0IC1kICRhY19kaXIgfHwgY29udGludWUKKy0gICAgYWNfYnVpbGRkaXI9LgorLQorLWlmIHRlc3QgIiRhY19kaXIiICE9IC47IHRoZW4KKy0gIGFjX2Rpcl9zdWZmaXg9L2BlY2hvICIkYWNfZGlyIiB8IHNlZCAncyxeXC5bXFwvXSwsJ2AKKy0gICMgQSAiLi4vIiBmb3IgZWFjaCBkaXJlY3RvcnkgaW4gJGFjX2Rpcl9zdWZmaXguCistICBhY190b3BfYnVpbGRkaXI9YGVjaG8gIiRhY19kaXJfc3VmZml4IiB8IHNlZCAncywvW15cXC9dKiwuLi8sZydgCistZWxzZQorLSAgYWNfZGlyX3N1ZmZpeD0gYWNfdG9wX2J1aWxkZGlyPQorLWZpCistCistY2FzZSAkc3JjZGlyIGluCistICAuKSAgIyBObyAtLXNyY2RpciBvcHRpb24uICBXZSBhcmUgYnVpbGRpbmcgaW4gcGxhY2UuCistICAgIGFjX3NyY2Rpcj0uCistICAgIGlmIHRlc3QgLXogIiRhY190b3BfYnVpbGRkaXIiOyB0aGVuCistICAgICAgIGFjX3RvcF9zcmNkaXI9LgorLSAgICBlbHNlCistICAgICAgIGFjX3RvcF9zcmNkaXI9YGVjaG8gJGFjX3RvcF9idWlsZGRpciB8IHNlZCAncywvJCwsJ2AKKy0gICAgZmkgOzsKKy0gIFtcXC9dKiB8ID86W1xcL10qICkgICMgQWJzb2x1dGUgcGF0aC4KKy0gICAgYWNfc3JjZGlyPSRzcmNkaXIkYWNfZGlyX3N1ZmZpeDsKKy0gICAgYWNfdG9wX3NyY2Rpcj0kc3JjZGlyIDs7CistICAqKSAjIFJlbGF0aXZlIHBhdGguCistICAgIGFjX3NyY2Rpcj0kYWNfdG9wX2J1aWxkZGlyJHNyY2RpciRhY19kaXJfc3VmZml4CistICAgIGFjX3RvcF9zcmNkaXI9JGFjX3RvcF9idWlsZGRpciRzcmNkaXIgOzsKKy1lc2FjCistIyBEb24ndCBibGluZGx5IHBlcmZvcm0gYSBgY2QgIiRhY19kaXIiLyRhY19mb28gJiYgcHdkYCBzaW5jZSAkYWNfZm9vIGNhbiBiZQorLSMgYWJzb2x1dGUuCistYWNfYWJzX2J1aWxkZGlyPWBjZCAiJGFjX2RpciIgJiYgY2QgJGFjX2J1aWxkZGlyICYmIHB3ZGAKKy1hY19hYnNfdG9wX2J1aWxkZGlyPWBjZCAiJGFjX2RpciIgJiYgY2QgJHthY190b3BfYnVpbGRkaXJ9LiAmJiBwd2RgCistYWNfYWJzX3NyY2Rpcj1gY2QgIiRhY19kaXIiICYmIGNkICRhY19zcmNkaXIgJiYgcHdkYAorLWFjX2Fic190b3Bfc3JjZGlyPWBjZCAiJGFjX2RpciIgJiYgY2QgJGFjX3RvcF9zcmNkaXIgJiYgcHdkYAorLQorLSAgICBjZCAkYWNfZGlyCistICAgICMgQ2hlY2sgZm9yIGd1ZXN0ZWQgY29uZmlndXJlOyBvdGhlcndpc2UgZ2V0IEN5Z251cyBzdHlsZSBjb25maWd1cmUuCistICAgIGlmIHRlc3QgLWYgJGFjX3NyY2Rpci9jb25maWd1cmUuZ251OyB0aGVuCistICAgICAgZWNobworLSAgICAgICRTSEVMTCAkYWNfc3JjZGlyL2NvbmZpZ3VyZS5nbnUgIC0taGVscD1yZWN1cnNpdmUKKy0gICAgZWxpZiB0ZXN0IC1mICRhY19zcmNkaXIvY29uZmlndXJlOyB0aGVuCistICAgICAgZWNobworLSAgICAgICRTSEVMTCAkYWNfc3JjZGlyL2NvbmZpZ3VyZSAgLS1oZWxwPXJlY3Vyc2l2ZQorLSAgICBlbGlmIHRlc3QgLWYgJGFjX3NyY2Rpci9jb25maWd1cmUuYWMgfHwKKy0gICAgICAgICAgIHRlc3QgLWYgJGFjX3NyY2Rpci9jb25maWd1cmUuaW47IHRoZW4KKy0gICAgICBlY2hvCistICAgICAgJGFjX2NvbmZpZ3VyZSAtLWhlbHAKKy0gICAgZWxzZQorLSAgICAgIGVjaG8gIiRhc19tZTogV0FSTklORzogbm8gY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBpcyBpbiAkYWNfZGlyIiA+JjIKKy0gICAgZmkKKy0gICAgY2QgJGFjX3BvcGRpcgorLSAgZG9uZQorLWZpCistCistdGVzdCAtbiAiJGFjX2luaXRfaGVscCIgJiYgZXhpdCAwCistaWYgJGFjX2luaXRfdmVyc2lvbjsgdGhlbgorLSAgY2F0IDw8XF9BQ0VPRgorLQorLUNvcHlyaWdodCAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAyCistRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCistVGhpcyBjb25maWd1cmUgc2NyaXB0IGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKy1naXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5LCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgaXQuCistX0FDRU9GCistICBleGl0IDAKKy1maQorLWV4ZWMgNT5jb25maWcubG9nCistY2F0ID4mNSA8PF9BQ0VPRgorLVRoaXMgZmlsZSBjb250YWlucyBhbnkgbWVzc2FnZXMgcHJvZHVjZWQgYnkgY29tcGlsZXJzIHdoaWxlCistcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KKy0KKy1JdCB3YXMgY3JlYXRlZCBieSAkYXNfbWUsIHdoaWNoIHdhcworLWdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41Ny4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcworLQorLSAgJCAkMCAkQAorLQorLV9BQ0VPRgorLXsKKy1jYXQgPDxfQVNVTkFNRQorLSMjIC0tLS0tLS0tLSAjIworLSMjIFBsYXRmb3JtLiAjIworLSMjIC0tLS0tLS0tLSAjIworLQorLWhvc3RuYW1lID0gYChob3N0bmFtZSB8fCB1bmFtZSAtbikgMj4vZGV2L251bGwgfCBzZWQgMXFgCistdW5hbWUgLW0gPSBgKHVuYW1lIC1tKSAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25vd25gCistdW5hbWUgLXIgPSBgKHVuYW1lIC1yKSAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25vd25gCistdW5hbWUgLXMgPSBgKHVuYW1lIC1zKSAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25vd25gCistdW5hbWUgLXYgPSBgKHVuYW1lIC12KSAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25vd25gCistCistL3Vzci9iaW4vdW5hbWUgLXAgPSBgKC91c3IvYmluL3VuYW1lIC1wKSAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25vd25gCistL2Jpbi91bmFtZSAtWCAgICAgPSBgKC9iaW4vdW5hbWUgLVgpIDI+L2Rldi9udWxsICAgICB8fCBlY2hvIHVua25vd25gCistCistL2Jpbi9hcmNoICAgICAgICAgICAgICA9IGAoL2Jpbi9hcmNoKSAyPi9kZXYvbnVsbCAgICAgICAgICAgICAgfHwgZWNobyB1bmtub3duYAorLS91c3IvYmluL2FyY2ggLWsgICAgICAgPSBgKC91c3IvYmluL2FyY2ggLWspIDI+L2Rldi9udWxsICAgICAgIHx8IGVjaG8gdW5rbm93bmAKKy0vdXNyL2NvbnZleC9nZXRzeXNpbmZvID0gYCgvdXNyL2NvbnZleC9nZXRzeXNpbmZvKSAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25vd25gCistaG9zdGluZm8gICAgICAgICAgICAgICA9IGAoaG9zdGluZm8pIDI+L2Rldi9udWxsICAgICAgICAgICAgICAgfHwgZWNobyB1bmtub3duYAorLS9iaW4vbWFjaGluZSAgICAgICAgICAgPSBgKC9iaW4vbWFjaGluZSkgMj4vZGV2L251bGwgICAgICAgICAgIHx8IGVjaG8gdW5rbm93bmAKKy0vdXNyL2Jpbi9vc2xldmVsICAgICAgID0gYCgvdXNyL2Jpbi9vc2xldmVsKSAyPi9kZXYvbnVsbCAgICAgICB8fCBlY2hvIHVua25vd25gCistL2Jpbi91bml2ZXJzZSAgICAgICAgICA9IGAoL2Jpbi91bml2ZXJzZSkgMj4vZGV2L251bGwgICAgICAgICAgfHwgZWNobyB1bmtub3duYAorLQorLV9BU1VOQU1FCistCistYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0gIGVjaG8gIlBBVEg6ICRhc19kaXIiCistZG9uZQorLQorLX0gPiY1CistCistY2F0ID4mNSA8PF9BQ0VPRgorLQorLQorLSMjIC0tLS0tLS0tLS0tICMjCistIyMgQ29yZSB0ZXN0cy4gIyMKKy0jIyAtLS0tLS0tLS0tLSAjIworLQorLV9BQ0VPRgorLQorLQorLSMgS2VlcCBhIHRyYWNlIG9mIHRoZSBjb21tYW5kIGxpbmUuCistIyBTdHJpcCBvdXQgLS1uby1jcmVhdGUgYW5kIC0tbm8tcmVjdXJzaW9uIHNvIHRoZXkgZG8gbm90IHBpbGUgdXAuCistIyBTdHJpcCBvdXQgLS1zaWxlbnQgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIHJlY29yZCBpdCBmb3IgZnV0dXJlIHJ1bnMuCistIyBBbHNvIHF1b3RlIGFueSBhcmdzIGNvbnRhaW5pbmcgc2hlbGwgbWV0YS1jaGFyYWN0ZXJzLgorLSMgTWFrZSB0d28gcGFzc2VzIHRvIGFsbG93IGZvciBwcm9wZXIgZHVwbGljYXRlLWFyZ3VtZW50IHN1cHByZXNzaW9uLgorLWFjX2NvbmZpZ3VyZV9hcmdzPQorLWFjX2NvbmZpZ3VyZV9hcmdzMD0KKy1hY19jb25maWd1cmVfYXJnczE9CistYWNfc2VwPQorLWFjX211c3Rfa2VlcF9uZXh0PWZhbHNlCistZm9yIGFjX3Bhc3MgaW4gMSAyCistZG8KKy0gIGZvciBhY19hcmcKKy0gIGRvCistICAgIGNhc2UgJGFjX2FyZyBpbgorLSAgICAtbm8tY3JlYXRlIHwgLS1uby1jKiB8IC1uIHwgLW5vLXJlY3Vyc2lvbiB8IC0tbm8tciopIGNvbnRpbnVlIDs7CistICAgIC1xIHwgLXF1aWV0IHwgLS1xdWlldCB8IC0tcXVpZSB8IC0tcXVpIHwgLS1xdSB8IC0tcSBcCistICAgIHwgLXNpbGVudCB8IC0tc2lsZW50IHwgLS1zaWxlbiB8IC0tc2lsZSB8IC0tc2lsKQorLSAgICAgIGNvbnRpbnVlIDs7CistICAgICoiICIqfCoiCSIqfCpbXFtcXVx+XCNcJFxeXCZcKlwoXClce1x9XFxcfFw7XDxcPlw/XCJcJ10qKQorLSAgICAgIGFjX2FyZz1gZWNobyAiJGFjX2FyZyIgfCBzZWQgInMvJy8nXFxcXFxcXFwnJy9nImAgOzsKKy0gICAgZXNhYworLSAgICBjYXNlICRhY19wYXNzIGluCistICAgIDEpIGFjX2NvbmZpZ3VyZV9hcmdzMD0iJGFjX2NvbmZpZ3VyZV9hcmdzMCAnJGFjX2FyZyciIDs7CistICAgIDIpCistICAgICAgYWNfY29uZmlndXJlX2FyZ3MxPSIkYWNfY29uZmlndXJlX2FyZ3MxICckYWNfYXJnJyIKKy0gICAgICBpZiB0ZXN0ICRhY19tdXN0X2tlZXBfbmV4dCA9IHRydWU7IHRoZW4KKy0gICAgICAgIGFjX211c3Rfa2VlcF9uZXh0PWZhbHNlICMgR290IHZhbHVlLCBiYWNrIHRvIG5vcm1hbC4KKy0gICAgICBlbHNlCistICAgICAgICBjYXNlICRhY19hcmcgaW4KKy0gICAgICAgICAgKj0qIHwgLS1jb25maWctY2FjaGUgfCAtQyB8IC1kaXNhYmxlLSogfCAtLWRpc2FibGUtKiBcCistICAgICAgICAgIHwgLWVuYWJsZS0qIHwgLS1lbmFibGUtKiB8IC1nYXMgfCAtLWcqIHwgLW5mcCB8IC0tbmYqIFwKKy0gICAgICAgICAgfCAtcSB8IC1xdWlldCB8IC0tcSogfCAtc2lsZW50IHwgLS1zaWwqIHwgLXYgfCAtdmVyYiogXAorLSAgICAgICAgICB8IC13aXRoLSogfCAtLXdpdGgtKiB8IC13aXRob3V0LSogfCAtLXdpdGhvdXQtKiB8IC0teCkKKy0gICAgICAgICAgICBjYXNlICIkYWNfY29uZmlndXJlX2FyZ3MwICIgaW4KKy0gICAgICAgICAgICAgICIkYWNfY29uZmlndXJlX2FyZ3MxIioiICckYWNfYXJnJyAiKiApIGNvbnRpbnVlIDs7CistICAgICAgICAgICAgZXNhYworLSAgICAgICAgICAgIDs7CistICAgICAgICAgIC0qICkgYWNfbXVzdF9rZWVwX25leHQ9dHJ1ZSA7OworLSAgICAgICAgZXNhYworLSAgICAgIGZpCistICAgICAgYWNfY29uZmlndXJlX2FyZ3M9IiRhY19jb25maWd1cmVfYXJncyRhY19zZXAnJGFjX2FyZyciCistICAgICAgIyBHZXQgcmlkIG9mIHRoZSBsZWFkaW5nIHNwYWNlLgorLSAgICAgIGFjX3NlcD0iICIKKy0gICAgICA7OworLSAgICBlc2FjCistICBkb25lCistZG9uZQorLSRhc191bnNldCBhY19jb25maWd1cmVfYXJnczAgfHwgdGVzdCAiJHthY19jb25maWd1cmVfYXJnczArc2V0fSIgIT0gc2V0IHx8IHsgYWNfY29uZmlndXJlX2FyZ3MwPTsgZXhwb3J0IGFjX2NvbmZpZ3VyZV9hcmdzMDsgfQorLSRhc191bnNldCBhY19jb25maWd1cmVfYXJnczEgfHwgdGVzdCAiJHthY19jb25maWd1cmVfYXJnczErc2V0fSIgIT0gc2V0IHx8IHsgYWNfY29uZmlndXJlX2FyZ3MxPTsgZXhwb3J0IGFjX2NvbmZpZ3VyZV9hcmdzMTsgfQorLQorLSMgV2hlbiBpbnRlcnJ1cHRlZCBvciBleGl0J2QsIGNsZWFudXAgdGVtcG9yYXJ5IGZpbGVzLCBhbmQgY29tcGxldGUKKy0jIGNvbmZpZy5sb2cuICBXZSByZW1vdmUgY29tbWVudHMgYmVjYXVzZSBhbnl3YXkgdGhlIHF1b3RlcyBpbiB0aGVyZQorLSMgd291bGQgY2F1c2UgcHJvYmxlbXMgb3IgbG9vayB1Z2x5LgorLSMgV0FSTklORzogQmUgc3VyZSBub3QgdG8gdXNlIHNpbmdsZSBxdW90ZXMgaW4gdGhlcmUsIGFzIHNvbWUgc2hlbGxzLAorLSMgc3VjaCBhcyBvdXIgRFUgNS4wIGZyaWVuZCwgd2lsbCB0aGVuIGBjbG9zZScgdGhlIHRyYXAuCistdHJhcCAnZXhpdF9zdGF0dXM9JD8KKy0gICMgU2F2ZSBpbnRvIGNvbmZpZy5sb2cgc29tZSBpbmZvcm1hdGlvbiB0aGF0IG1pZ2h0IGhlbHAgaW4gZGVidWdnaW5nLgorLSAgeworLSAgICBlY2hvCistCistICAgIGNhdCA8PFxfQVNCT1gKKy0jIyAtLS0tLS0tLS0tLS0tLS0tICMjCistIyMgQ2FjaGUgdmFyaWFibGVzLiAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKKy1fQVNCT1gKKy0gICAgZWNobworLSAgICAjIFRoZSBmb2xsb3dpbmcgd2F5IG9mIHdyaXRpbmcgdGhlIGNhY2hlIG1pc2hhbmRsZXMgbmV3bGluZXMgaW4gdmFsdWVzLAorLXsKKy0gIChzZXQpIDI+JjEgfAorLSAgICBjYXNlIGAoYWNfc3BhY2U9JyInIicgJyInIic7IHNldCB8IGdyZXAgYWNfc3BhY2UpIDI+JjFgIGluCistICAgICphY19zcGFjZT1cICopCistICAgICAgc2VkIC1uIFwKKy0gICAgICAgICJzLyciJyInLyciJyInXFxcXCciJyInJyInIicvZzsKKy0gICAgCSAgcy9eXFwoW18kYXNfY3JfYWxudW1dKl9jdl9bXyRhc19jcl9hbG51bV0qXFwpPVxcKC4qXFwpL1xcMT0nIiciJ1xcMiciJyInL3AiCistICAgICAgOzsKKy0gICAgKikKKy0gICAgICBzZWQgLW4gXAorLSAgICAgICAgInMvXlxcKFtfJGFzX2NyX2FsbnVtXSpfY3ZfW18kYXNfY3JfYWxudW1dKlxcKT1cXCguKlxcKS9cXDE9XFwyL3AiCistICAgICAgOzsKKy0gICAgZXNhYzsKKy19CistICAgIGVjaG8KKy0KKy0gICAgY2F0IDw8XF9BU0JPWAorLSMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgT3V0cHV0IHZhcmlhYmxlcy4gIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLSAjIworLV9BU0JPWAorLSAgICBlY2hvCistICAgIGZvciBhY192YXIgaW4gJGFjX3N1YnN0X3ZhcnMKKy0gICAgZG8KKy0gICAgICBldmFsIGFjX3ZhbD0kYGVjaG8gJGFjX3ZhcmAKKy0gICAgICBlY2hvICIkYWNfdmFyPSciJyInJGFjX3ZhbCciJyInIgorLSAgICBkb25lIHwgc29ydAorLSAgICBlY2hvCistCistICAgIGlmIHRlc3QgLW4gIiRhY19zdWJzdF9maWxlcyI7IHRoZW4KKy0gICAgICBjYXQgPDxcX0FTQk9YCistIyMgLS0tLS0tLS0tLS0tLSAjIworLSMjIE91dHB1dCBmaWxlcy4gIyMKKy0jIyAtLS0tLS0tLS0tLS0tICMjCistX0FTQk9YCistICAgICAgZWNobworLSAgICAgIGZvciBhY192YXIgaW4gJGFjX3N1YnN0X2ZpbGVzCistICAgICAgZG8KKy0JZXZhbCBhY192YWw9JGBlY2hvICRhY192YXJgCistICAgICAgICBlY2hvICIkYWNfdmFyPSciJyInJGFjX3ZhbCciJyInIgorLSAgICAgIGRvbmUgfCBzb3J0CistICAgICAgZWNobworLSAgICBmaQorLQorLSAgICBpZiB0ZXN0IC1zIGNvbmZkZWZzLmg7IHRoZW4KKy0gICAgICBjYXQgPDxcX0FTQk9YCistIyMgLS0tLS0tLS0tLS0gIyMKKy0jIyBjb25mZGVmcy5oLiAjIworLSMjIC0tLS0tLS0tLS0tICMjCistX0FTQk9YCistICAgICAgZWNobworLSAgICAgIHNlZCAiL14kL2QiIGNvbmZkZWZzLmggfCBzb3J0CistICAgICAgZWNobworLSAgICBmaQorLSAgICB0ZXN0ICIkYWNfc2lnbmFsIiAhPSAwICYmCistICAgICAgZWNobyAiJGFzX21lOiBjYXVnaHQgc2lnbmFsICRhY19zaWduYWwiCistICAgIGVjaG8gIiRhc19tZTogZXhpdCAkZXhpdF9zdGF0dXMiCistICB9ID4mNQorLSAgcm0gLWYgY29yZSBjb3JlLiogKi5jb3JlICYmCistICBybSAtcmYgY29uZnRlc3QqIGNvbmZkZWZzKiBjb25mJCQqICRhY19jbGVhbl9maWxlcyAmJgorLSAgICBleGl0ICRleGl0X3N0YXR1cworLSAgICAgJyAwCistZm9yIGFjX3NpZ25hbCBpbiAxIDIgMTMgMTU7IGRvCistICB0cmFwICdhY19zaWduYWw9JyRhY19zaWduYWwnOyB7IChleGl0IDEpOyBleGl0IDE7IH0nICRhY19zaWduYWwKKy1kb25lCistYWNfc2lnbmFsPTAKKy0KKy0jIGNvbmZkZWZzLmggYXZvaWRzIE9TIGNvbW1hbmQgbGluZSBsZW5ndGggbGltaXRzIHRoYXQgREVGUyBjYW4gZXhjZWVkLgorLXJtIC1yZiBjb25mdGVzdCogY29uZmRlZnMuaAorLSMgQUlYIGNwcCBsb3NlcyBvbiBhbiBlbXB0eSBmaWxlLCBzbyBtYWtlIHN1cmUgaXQgY29udGFpbnMgYXQgbGVhc3QgYSBuZXdsaW5lLgorLWVjaG8gPmNvbmZkZWZzLmgKKy0KKy0jIFByZWRlZmluZWQgcHJlcHJvY2Vzc29yIHZhcmlhYmxlcy4KKy0KKy1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCistI2RlZmluZSBQQUNLQUdFX05BTUUgIiRQQUNLQUdFX05BTUUiCistX0FDRU9GCistCistCistY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorLSNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIkUEFDS0FHRV9UQVJOQU1FIgorLV9BQ0VPRgorLQorLQorLWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKy0jZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJFBBQ0tBR0VfVkVSU0lPTiIKKy1fQUNFT0YKKy0KKy0KKy1jYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCistI2RlZmluZSBQQUNLQUdFX1NUUklORyAiJFBBQ0tBR0VfU1RSSU5HIgorLV9BQ0VPRgorLQorLQorLWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKy0jZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIkUEFDS0FHRV9CVUdSRVBPUlQiCistX0FDRU9GCistCistCistIyBMZXQgdGhlIHNpdGUgZmlsZSBzZWxlY3QgYW4gYWx0ZXJuYXRlIGNhY2hlIGZpbGUgaWYgaXQgd2FudHMgdG8uCisgIyBQcmVmZXIgZXhwbGljaXRseSBzZWxlY3RlZCBmaWxlIHRvIGF1dG9tYXRpY2FsbHkgc2VsZWN0ZWQgb25lcy4KKyBpZiB0ZXN0IC16ICIkQ09ORklHX1NJVEUiOyB0aGVuCisgICBpZiB0ZXN0ICJ4JHByZWZpeCIgIT0geE5PTkU7IHRoZW4KK0BAIC0xMTcxLDEwNiArNDk4LDQyIEBACisgZmkKKyBmb3IgYWNfc2l0ZV9maWxlIGluICRDT05GSUdfU0lURTsgZG8KKyAgIGlmIHRlc3QgLXIgIiRhY19zaXRlX2ZpbGUiOyB0aGVuCistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGxvYWRpbmcgc2l0ZSBzY3JpcHQgJGFjX3NpdGVfZmlsZSIgPiY1CistZWNobyAiJGFzX21lOiBsb2FkaW5nIHNpdGUgc2NyaXB0ICRhY19zaXRlX2ZpbGUiID4mNjt9CistICAgIHNlZCAncy9eL3wgLycgIiRhY19zaXRlX2ZpbGUiID4mNQorKyAgICBlY2hvICJsb2FkaW5nIHNpdGUgc2NyaXB0ICRhY19zaXRlX2ZpbGUiCisgICAgIC4gIiRhY19zaXRlX2ZpbGUiCisgICBmaQorIGRvbmUKKyAKKyBpZiB0ZXN0IC1yICIkY2FjaGVfZmlsZSI7IHRoZW4KKy0gICMgU29tZSB2ZXJzaW9ucyBvZiBiYXNoIHdpbGwgZmFpbCB0byBzb3VyY2UgL2Rldi9udWxsIChzcGVjaWFsCistICAjIGZpbGVzIGFjdHVhbGx5KSwgc28gd2UgYXZvaWQgZG9pbmcgdGhhdC4KKy0gIGlmIHRlc3QgLWYgIiRjYWNoZV9maWxlIjsgdGhlbgorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBsb2FkaW5nIGNhY2hlICRjYWNoZV9maWxlIiA+JjUKKy1lY2hvICIkYXNfbWU6IGxvYWRpbmcgY2FjaGUgJGNhY2hlX2ZpbGUiID4mNjt9CistICAgIGNhc2UgJGNhY2hlX2ZpbGUgaW4KKy0gICAgICBbXFwvXSogfCA/OltcXC9dKiApIC4gJGNhY2hlX2ZpbGU7OworLSAgICAgICopICAgICAgICAgICAgICAgICAgICAgIC4gLi8kY2FjaGVfZmlsZTs7CistICAgIGVzYWMKKy0gIGZpCisrICBlY2hvICJsb2FkaW5nIGNhY2hlICRjYWNoZV9maWxlIgorKyAgLiAkY2FjaGVfZmlsZQorIGVsc2UKKy0gIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGNyZWF0aW5nIGNhY2hlICRjYWNoZV9maWxlIiA+JjUKKy1lY2hvICIkYXNfbWU6IGNyZWF0aW5nIGNhY2hlICRjYWNoZV9maWxlIiA+JjY7fQorLSAgPiRjYWNoZV9maWxlCisrICBlY2hvICJjcmVhdGluZyBjYWNoZSAkY2FjaGVfZmlsZSIKKysgID4gJGNhY2hlX2ZpbGUKKyBmaQorIAorLSMgQ2hlY2sgdGhhdCB0aGUgcHJlY2lvdXMgdmFyaWFibGVzIHNhdmVkIGluIHRoZSBjYWNoZSBoYXZlIGtlcHQgdGhlIHNhbWUKKy0jIHZhbHVlLgorLWFjX2NhY2hlX2NvcnJ1cHRlZD1mYWxzZQorLWZvciBhY192YXIgaW4gYChzZXQpIDI+JjEgfAorLSAgICAgICAgICAgICAgIHNlZCAtbiAncy9eYWNfZW52X1woW2EtekEtWl8wLTldKlwpX3NldD0uKi9cMS9wJ2A7IGRvCistICBldmFsIGFjX29sZF9zZXQ9XCRhY19jdl9lbnZfJHthY192YXJ9X3NldAorLSAgZXZhbCBhY19uZXdfc2V0PVwkYWNfZW52XyR7YWNfdmFyfV9zZXQKKy0gIGV2YWwgYWNfb2xkX3ZhbD0iXCRhY19jdl9lbnZfJHthY192YXJ9X3ZhbHVlIgorLSAgZXZhbCBhY19uZXdfdmFsPSJcJGFjX2Vudl8ke2FjX3Zhcn1fdmFsdWUiCistICBjYXNlICRhY19vbGRfc2V0LCRhY19uZXdfc2V0IGluCistICAgIHNldCwpCistICAgICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IFxgJGFjX3Zhcicgd2FzIHNldCB0byBcYCRhY19vbGRfdmFsJyBpbiB0aGUgcHJldmlvdXMgcnVuIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBcYCRhY192YXInIHdhcyBzZXQgdG8gXGAkYWNfb2xkX3ZhbCcgaW4gdGhlIHByZXZpb3VzIHJ1biIgPiYyO30KKy0gICAgICBhY19jYWNoZV9jb3JydXB0ZWQ9OiA7OworLSAgICAsc2V0KQorLSAgICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBcYCRhY192YXInIHdhcyBub3Qgc2V0IGluIHRoZSBwcmV2aW91cyBydW4iID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IFxgJGFjX3Zhcicgd2FzIG5vdCBzZXQgaW4gdGhlIHByZXZpb3VzIHJ1biIgPiYyO30KKy0gICAgICBhY19jYWNoZV9jb3JydXB0ZWQ9OiA7OworLSAgICAsKTs7CistICAgICopCistICAgICAgaWYgdGVzdCAieCRhY19vbGRfdmFsIiAhPSAieCRhY19uZXdfdmFsIjsgdGhlbgorLSAgICAgICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IFxgJGFjX3ZhcicgaGFzIGNoYW5nZWQgc2luY2UgdGhlIHByZXZpb3VzIHJ1bjoiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IFxgJGFjX3ZhcicgaGFzIGNoYW5nZWQgc2luY2UgdGhlIHByZXZpb3VzIHJ1bjoiID4mMjt9CistICAgICAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiAgIGZvcm1lciB2YWx1ZTogICRhY19vbGRfdmFsIiA+JjUKKy1lY2hvICIkYXNfbWU6ICAgZm9ybWVyIHZhbHVlOiAgJGFjX29sZF92YWwiID4mMjt9CistICAgICAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiAgIGN1cnJlbnQgdmFsdWU6ICRhY19uZXdfdmFsIiA+JjUKKy1lY2hvICIkYXNfbWU6ICAgY3VycmVudCB2YWx1ZTogJGFjX25ld192YWwiID4mMjt9CistICAgICAgICBhY19jYWNoZV9jb3JydXB0ZWQ9OgorLSAgICAgIGZpOzsKKy0gIGVzYWMKKy0gICMgUGFzcyBwcmVjaW91cyB2YXJpYWJsZXMgdG8gY29uZmlnLnN0YXR1cy4KKy0gIGlmIHRlc3QgIiRhY19uZXdfc2V0IiA9IHNldDsgdGhlbgorLSAgICBjYXNlICRhY19uZXdfdmFsIGluCistICAgICoiICIqfCoiCSIqfCpbXFtcXVx+XCNcJFxeXCZcKlwoXClce1x9XFxcfFw7XDxcPlw/XCJcJ10qKQorLSAgICAgIGFjX2FyZz0kYWNfdmFyPWBlY2hvICIkYWNfbmV3X3ZhbCIgfCBzZWQgInMvJy8nXFxcXFxcXFwnJy9nImAgOzsKKy0gICAgKikgYWNfYXJnPSRhY192YXI9JGFjX25ld192YWwgOzsKKy0gICAgZXNhYworLSAgICBjYXNlICIgJGFjX2NvbmZpZ3VyZV9hcmdzICIgaW4KKy0gICAgICAqIiAnJGFjX2FyZycgIiopIDs7ICMgQXZvaWQgZHVwcy4gIFVzZSBvZiBxdW90ZXMgZW5zdXJlcyBhY2N1cmFjeS4KKy0gICAgICAqKSBhY19jb25maWd1cmVfYXJncz0iJGFjX2NvbmZpZ3VyZV9hcmdzICckYWNfYXJnJyIgOzsKKy0gICAgZXNhYworLSAgZmkKKy1kb25lCistaWYgJGFjX2NhY2hlX2NvcnJ1cHRlZDsgdGhlbgorLSAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNoYW5nZXMgaW4gdGhlIGVudmlyb25tZW50IGNhbiBjb21wcm9taXNlIHRoZSBidWlsZCIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogY2hhbmdlcyBpbiB0aGUgZW52aXJvbm1lbnQgY2FuIGNvbXByb21pc2UgdGhlIGJ1aWxkIiA+JjI7fQorLSAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogcnVuIFxgbWFrZSBkaXN0Y2xlYW4nIGFuZC9vciBcYHJtICRjYWNoZV9maWxlJyBhbmQgc3RhcnQgb3ZlciIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogcnVuIFxgbWFrZSBkaXN0Y2xlYW4nIGFuZC9vciBcYHJtICRjYWNoZV9maWxlJyBhbmQgc3RhcnQgb3ZlciIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy1maQorLQorIGFjX2V4dD1jCisrIyBDRkxBR1MgaXMgbm90IGluIGFjX2NwcCBiZWNhdXNlIC1nLCAtTywgZXRjLiBhcmUgbm90IHZhbGlkIGNwcCBvcHRpb25zLgorIGFjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCistYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JworLWFjX2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCistYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2dudQorK2FjX2NvbXBpbGU9JyR7Q0MtY2N9IC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgMT4mNScKKythY19saW5rPScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTIDE+JjUnCisrY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2NjX2Nyb3NzCisgCisrYWNfZXhlZXh0PQorK2FjX29iamV4dD1vCisraWYgKGVjaG8gInRlc3RpbmdcYyI7IGVjaG8gMSwyLDMpIHwgZ3JlcCBjID4vZGV2L251bGw7IHRoZW4KKysgICMgU3RhcmRlbnQgVmlzdHJhIFNWUjQgZ3JlcCBsYWNrcyAtZSwgc2F5cyBnaGF6aUBjYWlwLnJ1dGdlcnMuZWR1LgorKyAgaWYgKGVjaG8gLW4gdGVzdGluZzsgZWNobyAxLDIsMykgfCBzZWQgcy8tbi94bi8gfCBncmVwIHhuID4vZGV2L251bGw7IHRoZW4KKysgICAgYWNfbj0gYWNfYz0nCisrJyBhY190PScJJworKyAgZWxzZQorKyAgICBhY19uPS1uIGFjX2M9IGFjX3Q9CisrICBmaQorK2Vsc2UKKysgIGFjX249IGFjX2M9J1xjJyBhY190PQorK2ZpCisgCisgCisgCistCistCistCistCistCistCistCistCistCistCistCistCistCistCistCistCisgYWNfYXV4X2Rpcj0KKyBmb3IgYWNfZGlyIGluICRzcmNkaXIgJHNyY2Rpci8uLiAkc3JjZGlyLy4uLy4uOyBkbworICAgaWYgdGVzdCAtZiAkYWNfZGlyL2luc3RhbGwtc2g7IHRoZW4KK0BAIC0xMjgxLDc0MCArNTQ0LDMxMiBAQAorICAgICBhY19hdXhfZGlyPSRhY19kaXIKKyAgICAgYWNfaW5zdGFsbF9zaD0iJGFjX2F1eF9kaXIvaW5zdGFsbC5zaCAtYyIKKyAgICAgYnJlYWsKKy0gIGVsaWYgdGVzdCAtZiAkYWNfZGlyL3NodG9vbDsgdGhlbgorLSAgICBhY19hdXhfZGlyPSRhY19kaXIKKy0gICAgYWNfaW5zdGFsbF9zaD0iJGFjX2F1eF9kaXIvc2h0b29sIGluc3RhbGwgLWMiCistICAgIGJyZWFrCisgICBmaQorIGRvbmUKKyBpZiB0ZXN0IC16ICIkYWNfYXV4X2RpciI7IHRoZW4KKy0gIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBmaW5kIGluc3RhbGwtc2ggb3IgaW5zdGFsbC5zaCBpbiAkc3JjZGlyICRzcmNkaXIvLi4gJHNyY2Rpci8uLi8uLiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGZpbmQgaW5zdGFsbC1zaCBvciBpbnN0YWxsLnNoIGluICRzcmNkaXIgJHNyY2Rpci8uLiAkc3JjZGlyLy4uLy4uIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorKyAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBjYW4gbm90IGZpbmQgaW5zdGFsbC1zaCBvciBpbnN0YWxsLnNoIGluICRzcmNkaXIgJHNyY2Rpci8uLiAkc3JjZGlyLy4uLy4uIiAxPiYyOyBleGl0IDE7IH0KKyBmaQorLWFjX2NvbmZpZ19ndWVzcz0iJFNIRUxMICRhY19hdXhfZGlyL2NvbmZpZy5ndWVzcyIKKy1hY19jb25maWdfc3ViPSIkU0hFTEwgJGFjX2F1eF9kaXIvY29uZmlnLnN1YiIKKy1hY19jb25maWd1cmU9IiRTSEVMTCAkYWNfYXV4X2Rpci9jb25maWd1cmUiICMgVGhpcyBzaG91bGQgYmUgQ3lnbnVzIGNvbmZpZ3VyZS4KKythY19jb25maWdfZ3Vlc3M9JGFjX2F1eF9kaXIvY29uZmlnLmd1ZXNzCisrYWNfY29uZmlnX3N1Yj0kYWNfYXV4X2Rpci9jb25maWcuc3ViCisrYWNfY29uZmlndXJlPSRhY19hdXhfZGlyL2NvbmZpZ3VyZSAjIFRoaXMgc2hvdWxkIGJlIEN5Z251cyBjb25maWd1cmUuCisgCistIyBNYWtlIHN1cmUgd2UgY2FuIHJ1biBjb25maWcuc3ViLgorLSRhY19jb25maWdfc3ViIHN1bjQgPi9kZXYvbnVsbCAyPiYxIHx8CistICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjYW5ub3QgcnVuICRhY19jb25maWdfc3ViIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgcnVuICRhY19jb25maWdfc3ViIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorIAorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZSIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZS4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2J1aWxkK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGFjX2N2X2J1aWxkX2FsaWFzPSRidWlsZF9hbGlhcworLXRlc3QgLXogIiRhY19jdl9idWlsZF9hbGlhcyIgJiYKKy0gIGFjX2N2X2J1aWxkX2FsaWFzPWAkYWNfY29uZmlnX2d1ZXNzYAorLXRlc3QgLXogIiRhY19jdl9idWlsZF9hbGlhcyIgJiYKKy0gIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBndWVzcyBidWlsZCB0eXBlOyB5b3UgbXVzdCBzcGVjaWZ5IG9uZSIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGd1ZXNzIGJ1aWxkIHR5cGU7IHlvdSBtdXN0IHNwZWNpZnkgb25lIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLWFjX2N2X2J1aWxkPWAkYWNfY29uZmlnX3N1YiAkYWNfY3ZfYnVpbGRfYWxpYXNgIHx8CistICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiAkYWNfY29uZmlnX3N1YiAkYWNfY3ZfYnVpbGRfYWxpYXMgZmFpbGVkIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiAkYWNfY29uZmlnX3N1YiAkYWNfY3ZfYnVpbGRfYWxpYXMgZmFpbGVkIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorKyMgRG8gc29tZSBlcnJvciBjaGVja2luZyBhbmQgZGVmYXVsdGluZyBmb3IgdGhlIGhvc3QgYW5kIHRhcmdldCB0eXBlLgorKyMgVGhlIGlucHV0cyBhcmU6CisrIyAgICBjb25maWd1cmUgLS1ob3N0PUhPU1QgLS10YXJnZXQ9VEFSR0VUIC0tYnVpbGQ9QlVJTEQgTk9OT1BUCisrIworKyMgVGhlIHJ1bGVzIGFyZToKKysjIDEuIFlvdSBhcmUgbm90IGFsbG93ZWQgdG8gc3BlY2lmeSAtLWhvc3QsIC0tdGFyZ2V0LCBhbmQgbm9ub3B0IGF0IHRoZQorKyMgICAgc2FtZSB0aW1lLgorKyMgMi4gSG9zdCBkZWZhdWx0cyB0byBub25vcHQuCisrIyAzLiBJZiBub25vcHQgaXMgbm90IHNwZWNpZmllZCwgdGhlbiBob3N0IGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IGhvc3QsCisrIyAgICBhcyBkZXRlcm1pbmVkIGJ5IGNvbmZpZy5ndWVzcy4KKysjIDQuIFRhcmdldCBhbmQgYnVpbGQgZGVmYXVsdCB0byBub25vcHQuCisrIyA1LiBJZiBub25vcHQgaXMgbm90IHNwZWNpZmllZCwgdGhlbiB0YXJnZXQgYW5kIGJ1aWxkIGRlZmF1bHQgdG8gaG9zdC4KKyAKKysjIFRoZSBhbGlhc2VzIHNhdmUgdGhlIG5hbWVzIHRoZSB1c2VyIHN1cHBsaWVkLCB3aGlsZSAkaG9zdCBldGMuCisrIyB3aWxsIGdldCBjYW5vbmljYWxpemVkLgorK2Nhc2UgJGhvc3QtLS0kdGFyZ2V0LS0tJG5vbm9wdCBpbgorK05PTkUtLS0qLS0tKiB8ICotLS1OT05FLS0tKiB8ICotLS0qLS0tTk9ORSkgOzsKKysqKSB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IGNhbiBvbmx5IGNvbmZpZ3VyZSBmb3Igb25lIGhvc3QgYW5kIG9uZSB0YXJnZXQgYXQgYSB0aW1lIiAxPiYyOyBleGl0IDE7IH0gOzsKKytlc2FjCisrCisrCisrIyBNYWtlIHN1cmUgd2UgY2FuIHJ1biBjb25maWcuc3ViLgorK2lmICR7Q09ORklHX1NIRUxMLS9iaW4vc2h9ICRhY19jb25maWdfc3ViIHN1bjQgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDoKKytlbHNlIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogY2FuIG5vdCBydW4gJGFjX2NvbmZpZ19zdWIiIDE+JjI7IGV4aXQgMTsgfQorIGZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2J1aWxkIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfYnVpbGQiID4mNgorLWJ1aWxkPSRhY19jdl9idWlsZAorLWJ1aWxkX2NwdT1gZWNobyAkYWNfY3ZfYnVpbGQgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMS8nYAorLWJ1aWxkX3ZlbmRvcj1gZWNobyAkYWNfY3ZfYnVpbGQgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMi8nYAorLWJ1aWxkX29zPWBlY2hvICRhY19jdl9idWlsZCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wzLydgCisgCisrZWNobyAkYWNfbiAiY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZSIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjU4NTogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZSIgPiY1CisgCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZS4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2hvc3Qrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgYWNfY3ZfaG9zdF9hbGlhcz0kaG9zdF9hbGlhcworLXRlc3QgLXogIiRhY19jdl9ob3N0X2FsaWFzIiAmJgorLSAgYWNfY3ZfaG9zdF9hbGlhcz0kYWNfY3ZfYnVpbGRfYWxpYXMKKy1hY19jdl9ob3N0PWAkYWNfY29uZmlnX3N1YiAkYWNfY3ZfaG9zdF9hbGlhc2AgfHwKKy0gIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6ICRhY19jb25maWdfc3ViICRhY19jdl9ob3N0X2FsaWFzIGZhaWxlZCIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogJGFjX2NvbmZpZ19zdWIgJGFjX2N2X2hvc3RfYWxpYXMgZmFpbGVkIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorK2hvc3RfYWxpYXM9JGhvc3QKKytjYXNlICIkaG9zdF9hbGlhcyIgaW4KKytOT05FKQorKyAgY2FzZSAkbm9ub3B0IGluCisrICBOT05FKQorKyAgICBpZiBob3N0X2FsaWFzPWAke0NPTkZJR19TSEVMTC0vYmluL3NofSAkYWNfY29uZmlnX2d1ZXNzYDsgdGhlbiA6CisrICAgIGVsc2UgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBjYW4gbm90IGd1ZXNzIGhvc3QgdHlwZTsgeW91IG11c3Qgc3BlY2lmeSBvbmUiIDE+JjI7IGV4aXQgMTsgfQorKyAgICBmaSA7OworKyAgKikgaG9zdF9hbGlhcz0kbm9ub3B0IDs7CisrICBlc2FjIDs7CisrZXNhYworIAorLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2hvc3QiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9ob3N0IiA+JjYKKy1ob3N0PSRhY19jdl9ob3N0CistaG9zdF9jcHU9YGVjaG8gJGFjX2N2X2hvc3QgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMS8nYAorLWhvc3RfdmVuZG9yPWBlY2hvICRhY19jdl9ob3N0IHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDIvJ2AKKy1ob3N0X29zPWBlY2hvICRhY19jdl9ob3N0IHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDMvJ2AKKytob3N0PWAke0NPTkZJR19TSEVMTC0vYmluL3NofSAkYWNfY29uZmlnX3N1YiAkaG9zdF9hbGlhc2AKKytob3N0X2NwdT1gZWNobyAkaG9zdCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wxLydgCisraG9zdF92ZW5kb3I9YGVjaG8gJGhvc3QgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMi8nYAorK2hvc3Rfb3M9YGVjaG8gJGhvc3QgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMy8nYAorK2VjaG8gIiRhY190IiIkaG9zdCIgMT4mNgorIAorK2VjaG8gJGFjX24gImNoZWNraW5nIHRhcmdldCBzeXN0ZW0gdHlwZSIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjYwNjogY2hlY2tpbmcgdGFyZ2V0IHN5c3RlbSB0eXBlIiA+JjUKKyAKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgdGFyZ2V0IHN5c3RlbSB0eXBlIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIHRhcmdldCBzeXN0ZW0gdHlwZS4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3RhcmdldCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBhY19jdl90YXJnZXRfYWxpYXM9JHRhcmdldF9hbGlhcworLXRlc3QgIngkYWNfY3ZfdGFyZ2V0X2FsaWFzIiA9ICJ4IiAmJgorLSAgYWNfY3ZfdGFyZ2V0X2FsaWFzPSRhY19jdl9ob3N0X2FsaWFzCistYWNfY3ZfdGFyZ2V0PWAkYWNfY29uZmlnX3N1YiAkYWNfY3ZfdGFyZ2V0X2FsaWFzYCB8fAorLSAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogJGFjX2NvbmZpZ19zdWIgJGFjX2N2X3RhcmdldF9hbGlhcyBmYWlsZWQiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6ICRhY19jb25maWdfc3ViICRhY19jdl90YXJnZXRfYWxpYXMgZmFpbGVkIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorK3RhcmdldF9hbGlhcz0kdGFyZ2V0CisrY2FzZSAiJHRhcmdldF9hbGlhcyIgaW4KKytOT05FKQorKyAgY2FzZSAkbm9ub3B0IGluCisrICBOT05FKSB0YXJnZXRfYWxpYXM9JGhvc3RfYWxpYXMgOzsKKysgICopIHRhcmdldF9hbGlhcz0kbm9ub3B0IDs7CisrICBlc2FjIDs7CisrZXNhYworIAorLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X3RhcmdldCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X3RhcmdldCIgPiY2CistdGFyZ2V0PSRhY19jdl90YXJnZXQKKy10YXJnZXRfY3B1PWBlY2hvICRhY19jdl90YXJnZXQgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMS8nYAorLXRhcmdldF92ZW5kb3I9YGVjaG8gJGFjX2N2X3RhcmdldCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wyLydgCistdGFyZ2V0X29zPWBlY2hvICRhY19jdl90YXJnZXQgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMy8nYAorK3RhcmdldD1gJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0gJGFjX2NvbmZpZ19zdWIgJHRhcmdldF9hbGlhc2AKKyt0YXJnZXRfY3B1PWBlY2hvICR0YXJnZXQgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMS8nYAorK3RhcmdldF92ZW5kb3I9YGVjaG8gJHRhcmdldCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wyLydgCisrdGFyZ2V0X29zPWBlY2hvICR0YXJnZXQgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMy8nYAorK2VjaG8gIiRhY190IiIkdGFyZ2V0IiAxPiY2CisgCisrZWNobyAkYWNfbiAiY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZTo2MjQ6IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlIiA+JjUKKyAKKy0jIFRoZSBhbGlhc2VzIHNhdmUgdGhlIG5hbWVzIHRoZSB1c2VyIHN1cHBsaWVkLCB3aGlsZSAkaG9zdCBldGMuCistIyB3aWxsIGdldCBjYW5vbmljYWxpemVkLgorLXRlc3QgLW4gIiR0YXJnZXRfYWxpYXMiICYmCisrYnVpbGRfYWxpYXM9JGJ1aWxkCisrY2FzZSAiJGJ1aWxkX2FsaWFzIiBpbgorK05PTkUpCisrICBjYXNlICRub25vcHQgaW4KKysgIE5PTkUpIGJ1aWxkX2FsaWFzPSRob3N0X2FsaWFzIDs7CisrICAqKSBidWlsZF9hbGlhcz0kbm9ub3B0IDs7CisrICBlc2FjIDs7CisrZXNhYworKworK2J1aWxkPWAke0NPTkZJR19TSEVMTC0vYmluL3NofSAkYWNfY29uZmlnX3N1YiAkYnVpbGRfYWxpYXNgCisrYnVpbGRfY3B1PWBlY2hvICRidWlsZCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wxLydgCisrYnVpbGRfdmVuZG9yPWBlY2hvICRidWlsZCB8IHNlZCAncy9eXChbXi1dKlwpLVwoW14tXSpcKS1cKC4qXCkkL1wyLydgCisrYnVpbGRfb3M9YGVjaG8gJGJ1aWxkIHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDMvJ2AKKytlY2hvICIkYWNfdCIiJGJ1aWxkIiAxPiY2CisrCisrdGVzdCAiJGhvc3RfYWxpYXMiICE9ICIkdGFyZ2V0X2FsaWFzIiAmJgorICAgdGVzdCAiJHByb2dyYW1fcHJlZml4JHByb2dyYW1fc3VmZml4JHByb2dyYW1fdHJhbnNmb3JtX25hbWUiID0gXAorICAgICBOT05FTk9ORXMseCx4LCAmJgorICAgcHJvZ3JhbV9wcmVmaXg9JHt0YXJnZXRfYWxpYXN9LQorLWFjX2V4dD1jCistYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKKy1hY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCistYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKKy1hY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251CistaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWdjYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCistc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9Z2NjOyBhY193b3JkPSQyCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX0NDK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KKy0gIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCistZWxzZQorLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKy0gIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCistICAgIGFjX2N2X3Byb2dfQ0M9IiR7YWNfdG9vbF9wcmVmaXh9Z2NjIgorLSAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CistICAgIGJyZWFrIDIKKy0gIGZpCistZG9uZQorLWRvbmUKKyAKKy1maQorLWZpCistQ0M9JGFjX2N2X3Byb2dfQ0MKKy1pZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkQ0MiID4mNQorLWVjaG8gIiR7RUNIT19UfSRDQyIgPiY2CistZWxzZQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorLWVjaG8gIiR7RUNIT19UfW5vIiA+JjYKKy1maQorLQorLWZpCistaWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfQ0MiOyB0aGVuCistICBhY19jdF9DQz0kQ0MKKy0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiZ2NjIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKysjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImdjYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCisgc2V0IGR1bW15IGdjYzsgYWNfd29yZD0kMgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9DQytzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKytlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZTo2NDk6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfQ0MnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCistICBpZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCistICBhY19jdl9wcm9nX2FjX2N0X0NDPSIkYWNfY3RfQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorLWVsc2UKKy1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCistICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgICBhY19jdl9wcm9nX2FjX2N0X0NDPSJnY2MiCistICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKy0gICAgYnJlYWsgMgorLSAgZmkKKy1kb25lCistZG9uZQorLQorLWZpCistZmkKKy1hY19jdF9DQz0kYWNfY3ZfcHJvZ19hY19jdF9DQworLWlmIHRlc3QgLW4gIiRhY19jdF9DQyI7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdF9DQyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N0X0NDIiA+JjYKKy1lbHNlCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CistZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorLWZpCistCistICBDQz0kYWNfY3RfQ0MKKy1lbHNlCistICBDQz0iJGFjX2N2X3Byb2dfQ0MiCistZmkKKy0KKy1pZiB0ZXN0IC16ICIkQ0MiOyB0aGVuCistICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCistICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9Y2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWNjOyBhY193b3JkPSQyCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX0NDK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKyAgIGlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KKyAgIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCisgZWxzZQorLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKy0gIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCistICAgIGFjX2N2X3Byb2dfQ0M9IiR7YWNfdG9vbF9wcmVmaXh9Y2MiCistICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKy0gICAgYnJlYWsgMgorLSAgZmkKKy1kb25lCistZG9uZQorLQorKyAgSUZTPSIke0lGUz0gCX0iOyBhY19zYXZlX2lmcz0iJElGUyI7IElGUz0iOiIKKysgIGFjX2R1bW15PSIkUEFUSCIKKysgIGZvciBhY19kaXIgaW4gJGFjX2R1bW15OyBkbworKyAgICB0ZXN0IC16ICIkYWNfZGlyIiAmJiBhY19kaXI9LgorKyAgICBpZiB0ZXN0IC1mICRhY19kaXIvJGFjX3dvcmQ7IHRoZW4KKysgICAgICBhY19jdl9wcm9nX0NDPSJnY2MiCisrICAgICAgYnJlYWsKKysgICAgZmkKKysgIGRvbmUKKysgIElGUz0iJGFjX3NhdmVfaWZzIgorIGZpCisgZmkKKy1DQz0kYWNfY3ZfcHJvZ19DQworK0NDPSIkYWNfY3ZfcHJvZ19DQyIKKyBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkQ0MiID4mNQorLWVjaG8gIiR7RUNIT19UfSRDQyIgPiY2CisrICBlY2hvICIkYWNfdCIiJENDIiAxPiY2CisgZWxzZQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorLWVjaG8gIiR7RUNIT19UfW5vIiA+JjYKKysgIGVjaG8gIiRhY190IiJubyIgMT4mNgorIGZpCisgCistZmkKKy1pZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19DQyI7IHRoZW4KKy0gIGFjX2N0X0NDPSRDQworLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJjYyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCistc2V0IGR1bW15IGNjOyBhY193b3JkPSQyCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X0NDK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGlmIHRlc3QgLW4gIiRhY19jdF9DQyI7IHRoZW4KKy0gIGFjX2N2X3Byb2dfYWNfY3RfQ0M9IiRhY19jdF9DQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCistZWxzZQorLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKy0gIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCistICAgIGFjX2N2X3Byb2dfYWNfY3RfQ0M9ImNjIgorLSAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CistICAgIGJyZWFrIDIKKy0gIGZpCistZG9uZQorLWRvbmUKKy0KKy1maQorLWZpCistYWNfY3RfQ0M9JGFjX2N2X3Byb2dfYWNfY3RfQ0MKKy1pZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfQ0MiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdF9DQyIgPiY2CistZWxzZQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorLWVjaG8gIiR7RUNIT19UfW5vIiA+JjYKKy1maQorLQorLSAgQ0M9JGFjX2N0X0NDCistZWxzZQorLSAgQ0M9IiRhY19jdl9wcm9nX0NDIgorLWZpCistCistZmkKKyBpZiB0ZXN0IC16ICIkQ0MiOyB0aGVuCisgICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImNjIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKyBzZXQgZHVtbXkgY2M7IGFjX3dvcmQ9JDIKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CisrZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6Njc5OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX0NDJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorICAgaWYgdGVzdCAtbiAiJENDIjsgdGhlbgorICAgYWNfY3ZfcHJvZ19DQz0iJENDIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KKyBlbHNlCisrICBJRlM9IiR7SUZTPSAJfSI7IGFjX3NhdmVfaWZzPSIkSUZTIjsgSUZTPSI6IgorICAgYWNfcHJvZ19yZWplY3RlZD1ubworLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKy0gIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCistICAgIGlmIHRlc3QgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID0gIi91c3IvdWNiL2NjIjsgdGhlbgorLSAgICAgICBhY19wcm9nX3JlamVjdGVkPXllcworLSAgICAgICBjb250aW51ZQorLSAgICAgZmkKKy0gICAgYWNfY3ZfcHJvZ19DQz0iY2MiCistICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKy0gICAgYnJlYWsgMgorLSAgZmkKKy1kb25lCistZG9uZQorLQorKyAgYWNfZHVtbXk9IiRQQVRIIgorKyAgZm9yIGFjX2RpciBpbiAkYWNfZHVtbXk7IGRvCisrICAgIHRlc3QgLXogIiRhY19kaXIiICYmIGFjX2Rpcj0uCisrICAgIGlmIHRlc3QgLWYgJGFjX2Rpci8kYWNfd29yZDsgdGhlbgorKyAgICAgIGlmIHRlc3QgIiRhY19kaXIvJGFjX3dvcmQiID0gIi91c3IvdWNiL2NjIjsgdGhlbgorKyAgICAgICAgYWNfcHJvZ19yZWplY3RlZD15ZXMKKysJY29udGludWUKKysgICAgICBmaQorKyAgICAgIGFjX2N2X3Byb2dfQ0M9ImNjIgorKyAgICAgIGJyZWFrCisrICAgIGZpCisrICBkb25lCisrICBJRlM9IiRhY19zYXZlX2lmcyIKKyBpZiB0ZXN0ICRhY19wcm9nX3JlamVjdGVkID0geWVzOyB0aGVuCisgICAjIFdlIGZvdW5kIGEgYm9nb24gaW4gdGhlIHBhdGgsIHNvIG1ha2Ugc3VyZSB3ZSBuZXZlciB1c2UgaXQuCisgICBzZXQgZHVtbXkgJGFjX2N2X3Byb2dfQ0MKKyAgIHNoaWZ0CistICBpZiB0ZXN0ICQjICE9IDA7IHRoZW4KKysgIGlmIHRlc3QgJCMgLWd0IDA7IHRoZW4KKyAgICAgIyBXZSBjaG9zZSBhIGRpZmZlcmVudCBjb21waWxlciBmcm9tIHRoZSBib2d1cyBvbmUuCisgICAgICMgSG93ZXZlciwgaXQgaGFzIHRoZSBzYW1lIGJhc2VuYW1lLCBzbyB0aGUgYm9nb24gd2lsbCBiZSBjaG9zZW4KKyAgICAgIyBmaXJzdCBpZiB3ZSBzZXQgQ0MgdG8ganVzdCB0aGUgYmFzZW5hbWU7IHVzZSB0aGUgZnVsbCBmaWxlIG5hbWUuCisgICAgIHNoaWZ0CistICAgIGFjX2N2X3Byb2dfQ0M9IiRhc19kaXIvJGFjX3dvcmQkezErJyAnfSRAIgorKyAgICBzZXQgZHVtbXkgIiRhY19kaXIvJGFjX3dvcmQiICIkQCIKKysgICAgc2hpZnQKKysgICAgYWNfY3ZfcHJvZ19DQz0iJEAiCisgICBmaQorIGZpCisgZmkKKyBmaQorLUNDPSRhY19jdl9wcm9nX0NDCisrQ0M9IiRhY19jdl9wcm9nX0NDIgorIGlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRDQyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JENDIiA+JjYKKysgIGVjaG8gIiRhY190IiIkQ0MiIDE+JjYKKyBlbHNlCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CistZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgZmkKKyAKKy1maQorLWlmIHRlc3QgLXogIiRDQyI7IHRoZW4KKy0gIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKy0gIGZvciBhY19wcm9nIGluIGNsCistICBkbworLSAgICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRhY190b29sX3ByZWZpeCRhY19wcm9nIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKy1zZXQgZHVtbXkgJGFjX3Rvb2xfcHJlZml4JGFjX3Byb2c7IGFjX3dvcmQ9JDIKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfQ0Mrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CisrICBpZiB0ZXN0IC16ICIkQ0MiOyB0aGVuCisrICAgIGNhc2UgImB1bmFtZSAtc2AiIGluCisrICAgICp3aW4zMiogfCAqV0lOMzIqKQorKyAgICAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiY2wiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorK3NldCBkdW1teSBjbDsgYWNfd29yZD0kMgorK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjczMDogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19DQycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KKyAgIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCisgZWxzZQorLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKy0gIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCistICAgIGFjX2N2X3Byb2dfQ0M9IiRhY190b29sX3ByZWZpeCRhY19wcm9nIgorLSAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CistICAgIGJyZWFrIDIKKy0gIGZpCistZG9uZQorLWRvbmUKKy0KKysgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IjoiCisrICBhY19kdW1teT0iJFBBVEgiCisrICBmb3IgYWNfZGlyIGluICRhY19kdW1teTsgZG8KKysgICAgdGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4KKysgICAgaWYgdGVzdCAtZiAkYWNfZGlyLyRhY193b3JkOyB0aGVuCisrICAgICAgYWNfY3ZfcHJvZ19DQz0iY2wiCisrICAgICAgYnJlYWsKKysgICAgZmkKKysgIGRvbmUKKysgIElGUz0iJGFjX3NhdmVfaWZzIgorIGZpCisgZmkKKy1DQz0kYWNfY3ZfcHJvZ19DQworK0NDPSIkYWNfY3ZfcHJvZ19DQyIKKyBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkQ0MiID4mNQorLWVjaG8gIiR7RUNIT19UfSRDQyIgPiY2CisrICBlY2hvICIkYWNfdCIiJENDIiAxPiY2CisgZWxzZQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorLWVjaG8gIiR7RUNIT19UfW5vIiA+JjYKKysgIGVjaG8gIiRhY190IiJubyIgMT4mNgorIGZpCistCistICAgIHRlc3QgLW4gIiRDQyIgJiYgYnJlYWsKKy0gIGRvbmUKKy1maQorLWlmIHRlc3QgLXogIiRDQyI7IHRoZW4KKy0gIGFjX2N0X0NDPSRDQworLSAgZm9yIGFjX3Byb2cgaW4gY2wKKy1kbworLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIkYWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCistc2V0IGR1bW15ICRhY19wcm9nOyBhY193b3JkPSQyCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX2FjX2N0X0NDK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGlmIHRlc3QgLW4gIiRhY19jdF9DQyI7IHRoZW4KKy0gIGFjX2N2X3Byb2dfYWNfY3RfQ0M9IiRhY19jdF9DQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCistZWxzZQorLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKy0gIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCistICAgIGFjX2N2X3Byb2dfYWNfY3RfQ0M9IiRhY19wcm9nIgorLSAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CistICAgIGJyZWFrIDIKKysgOzsKKysgICAgZXNhYworICAgZmkKKy1kb25lCistZG9uZQorLQorKyAgdGVzdCAteiAiJENDIiAmJiB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IG5vIGFjY2VwdGFibGUgY2MgZm91bmQgaW4gXCRQQVRIIiAxPiYyOyBleGl0IDE7IH0KKyBmaQorLWZpCistYWNfY3RfQ0M9JGFjX2N2X3Byb2dfYWNfY3RfQ0MKKy1pZiB0ZXN0IC1uICIkYWNfY3RfQ0MiOyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfQ0MiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdF9DQyIgPiY2CistZWxzZQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorLWVjaG8gIiR7RUNIT19UfW5vIiA+JjYKKy1maQorIAorLSAgdGVzdCAtbiAiJGFjX2N0X0NDIiAmJiBicmVhaworLWRvbmUKKytlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyICgkQ0MgJENGTEFHUyAkTERGTEFHUykgd29ya3MiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZTo3NjI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKCRDQyAkQ0ZMQUdTICRMREZMQUdTKSB3b3JrcyIgPiY1CisgCistICBDQz0kYWNfY3RfQ0MKKy1maQorK2FjX2V4dD1jCisrIyBDRkxBR1MgaXMgbm90IGluIGFjX2NwcCBiZWNhdXNlIC1nLCAtTywgZXRjLiBhcmUgbm90IHZhbGlkIGNwcCBvcHRpb25zLgorK2FjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCisrYWNfY29tcGlsZT0nJHtDQy1jY30gLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCAxPiY1JworK2FjX2xpbms9JyR7Q0MtY2N9IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgMT4mNScKKytjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyAKKy1maQorK2NhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDwgRU9GCisgCisrI2xpbmUgNzczICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgCistdGVzdCAteiAiJENDIiAmJiB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBubyBhY2NlcHRhYmxlIEMgY29tcGlsZXIgZm91bmQgaW4gXCRQQVRICistU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IG5vIGFjY2VwdGFibGUgQyBjb21waWxlciBmb3VuZCBpbiBcJFBBVEgKKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy0KKy0jIFByb3ZpZGUgc29tZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29tcGlsZXIuCistZWNobyAiJGFzX21lOiRMSU5FTk86IiBcCistICAgICAiY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgdmVyc2lvbiIgPiY1CistYWNfY29tcGlsZXI9YHNldCBYICRhY19jb21waWxlOyBlY2hvICQyYAorLXsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVyIC0tdmVyc2lvbiA8L2Rldi9udWxsID4mNVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZXIgLS12ZXJzaW9uIDwvZGV2L251bGwgPiY1KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9CisteyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZXIgLXYgPC9kZXYvbnVsbCA+JjVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGVyIC12IDwvZGV2L251bGwgPiY1KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9CisteyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZXIgLVYgPC9kZXYvbnVsbCA+JjVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGVyIC1WIDwvZGV2L251bGwgPiY1KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9CistCistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistCistaW50CistbWFpbiAoKQorLXsKKy0KKy0gIDsKKy0gIHJldHVybiAwOworLX0KKy1fQUNFT0YKKy1hY19jbGVhbl9maWxlc19zYXZlPSRhY19jbGVhbl9maWxlcworLWFjX2NsZWFuX2ZpbGVzPSIkYWNfY2xlYW5fZmlsZXMgYS5vdXQgYS5leGUgYi5vdXQiCistIyBUcnkgdG8gY3JlYXRlIGFuIGV4ZWN1dGFibGUgd2l0aG91dCAtbyBmaXJzdCwgZGlzcmVnYXJkIGEub3V0LgorLSMgSXQgd2lsbCBoZWxwIHVzIGRpYWdub3NlIGJyb2tlbiBjb21waWxlcnMsIGFuZCBmaW5kaW5nIG91dCBhbiBpbnR1aXRpb24KKy0jIG9mIGV4ZWV4dC4KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQuLi4gJEVDSE9fQyIgPiY2CistYWNfbGlua19kZWZhdWx0PWBlY2hvICIkYWNfbGluayIgfCBzZWQgJ3MvIC1vICpjb25mdGVzdFteIF0qLy8nYAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2xpbmtfZGVmYXVsdFwiIikgPiY1CistICAoZXZhbCAkYWNfbGlua19kZWZhdWx0KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB0aGVuCistICAjIEZpbmQgdGhlIG91dHB1dCwgc3RhcnRpbmcgZnJvbSB0aGUgbW9zdCBsaWtlbHkuICBUaGlzIHNjaGVtZSBpcworLSMgbm90IHJvYnVzdCB0byBqdW5rIGluIGAuJywgaGVuY2UgZ28gdG8gd2lsZGNhcmRzIChhLiopIG9ubHkgYXMgYSBsYXN0CistIyByZXNvcnQuCistCistIyBCZSBjYXJlZnVsIHRvIGluaXRpYWxpemUgdGhpcyB2YXJpYWJsZSwgc2luY2UgaXQgdXNlZCB0byBiZSBjYWNoZWQuCistIyBPdGhlcndpc2UgYW4gb2xkIGNhY2hlIHZhbHVlIG9mIGBubycgbGVkIHRvIGBFWEVFWFQgPSBubycgaW4gYSBNYWtlZmlsZS4KKy1hY19jdl9leGVleHQ9CistIyBiLm91dCBpcyBjcmVhdGVkIGJ5IGk5NjAgY29tcGlsZXJzLgorLWZvciBhY19maWxlIGluIGFfb3V0LmV4ZSBhLmV4ZSBjb25mdGVzdC5leGUgYS5vdXQgY29uZnRlc3QgYS4qIGNvbmZ0ZXN0LiogYi5vdXQKKy1kbworLSAgdGVzdCAtZiAiJGFjX2ZpbGUiIHx8IGNvbnRpbnVlCistICBjYXNlICRhY19maWxlIGluCistICAgICouJGFjX2V4dCB8ICoueGNvZmYgfCAqLnRkcyB8ICouZCB8ICoucGRiIHwgKi54U1lNIHwgKi5iYiB8ICouYmJnIHwgKi5vIHwgKi5vYmogKQorLSAgICAgICAgOzsKKy0gICAgY29uZnRlc3QuJGFjX2V4dCApCistICAgICAgICAjIFRoaXMgaXMgdGhlIHNvdXJjZSBmaWxlLgorLSAgICAgICAgOzsKKy0gICAgW2FiXS5vdXQgKQorLSAgICAgICAgIyBXZSBmb3VuZCB0aGUgZGVmYXVsdCBleGVjdXRhYmxlLCBidXQgZXhlZXh0PScnIGlzIG1vc3QKKy0gICAgICAgICMgY2VydGFpbmx5IHJpZ2h0LgorLSAgICAgICAgYnJlYWs7OworLSAgICAqLiogKQorLSAgICAgICAgYWNfY3ZfZXhlZXh0PWBleHByICIkYWNfZmlsZSIgOiAnW14uXSpcKFwuLipcKSdgCistICAgICAgICAjIEZJWE1FOiBJIGJlbGlldmUgd2UgZXhwb3J0IGFjX2N2X2V4ZWV4dCBmb3IgTGlidG9vbCwKKy0gICAgICAgICMgYnV0IGl0IHdvdWxkIGJlIGNvb2wgdG8gZmluZCBvdXQgaWYgaXQncyB0cnVlLiAgRG9lcyBhbnlib2R5CistICAgICAgICAjIG1haW50YWluIExpYnRvb2w/IC0tYWtpbS4KKy0gICAgICAgIGV4cG9ydCBhY19jdl9leGVleHQKKy0gICAgICAgIGJyZWFrOzsKKy0gICAgKiApCistICAgICAgICBicmVhazs7CistICBlc2FjCistZG9uZQorLWVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLXsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IEMgY29tcGlsZXIgY2Fubm90IGNyZWF0ZSBleGVjdXRhYmxlcworLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBDIGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMKKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgPiYyO30KKy0gICB7IChleGl0IDc3KTsgZXhpdCA3NzsgfTsgfQorLWZpCistCistYWNfZXhlZXh0PSRhY19jdl9leGVleHQKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfZmlsZSIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2ZpbGUiID4mNgorLQorLSMgQ2hlY2sgdGhlIGNvbXBpbGVyIHByb2R1Y2VzIGV4ZWN1dGFibGVzIHdlIGNhbiBydW4uICBJZiBub3QsIGVpdGhlcgorLSMgdGhlIGNvbXBpbGVyIGlzIGJyb2tlbiwgb3Igd2UgY3Jvc3MgY29tcGlsZS4KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3JrcyIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uICRFQ0hPX0MiID4mNgorLSMgRklYTUU6IFRoZXNlIGNyb3NzIGNvbXBpbGVyIGhhY2tzIHNob3VsZCBiZSByZW1vdmVkIGZvciBBdXRvY29uZiAzLjAKKy0jIElmIG5vdCBjcm9zcyBjb21waWxpbmcsIGNoZWNrIHRoYXQgd2UgY2FuIHJ1biBhIHNpbXBsZSBwcm9ncmFtLgorLWlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciICE9IHllczsgdGhlbgorLSAgaWYgeyBhY190cnk9Jy4vJGFjX2ZpbGUnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgICBjcm9zc19jb21waWxpbmc9bm8KKyttYWluKCl7cmV0dXJuKDApO30KKytFT0YKKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjc3ODogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisrICBhY19jdl9wcm9nX2NjX3dvcmtzPXllcworKyAgIyBJZiB3ZSBjYW4ndCBydW4gYSB0cml2aWFsIHByb2dyYW0sIHdlIGFyZSBwcm9iYWJseSB1c2luZyBhIGNyb3NzIGNvbXBpbGVyLgorKyAgaWYgKC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsOyB0aGVuCisrICAgIGFjX2N2X3Byb2dfY2NfY3Jvc3M9bm8KKyAgIGVsc2UKKy0gICAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSBtYXliZTsgdGhlbgorLQljcm9zc19jb21waWxpbmc9eWVzCistICAgIGVsc2UKKy0JeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2Fubm90IHJ1biBDIGNvbXBpbGVkIHByb2dyYW1zLgorLUlmIHlvdSBtZWFudCB0byBjcm9zcyBjb21waWxlLCB1c2UgXGAtLWhvc3QnLgorLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgcnVuIEMgY29tcGlsZWQgcHJvZ3JhbXMuCistSWYgeW91IG1lYW50IHRvIGNyb3NzIGNvbXBpbGUsIHVzZSBcYC0taG9zdCcuCistU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistICAgIGZpCisrICAgIGFjX2N2X3Byb2dfY2NfY3Jvc3M9eWVzCisgICBmaQorK2Vsc2UKKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIGFjX2N2X3Byb2dfY2Nfd29ya3M9bm8KKyBmaQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IHllcyIgPiY1CistZWNobyAiJHtFQ0hPX1R9eWVzIiA+JjYKKytybSAtZnIgY29uZnRlc3QqCisrYWNfZXh0PWMKKysjIENGTEFHUyBpcyBub3QgaW4gYWNfY3BwIGJlY2F1c2UgLWcsIC1PLCBldGMuIGFyZSBub3QgdmFsaWQgY3BwIG9wdGlvbnMuCisrYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKKythY19jb21waWxlPScke0NDLWNjfSAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0IDE+JjUnCisrYWNfbGluaz0nJHtDQy1jY30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyAxPiY1JworK2Nyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19jcm9zcworIAorLXJtIC1mIGEub3V0IGEuZXhlIGNvbmZ0ZXN0JGFjX2N2X2V4ZWV4dCBiLm91dAorLWFjX2NsZWFuX2ZpbGVzPSRhY19jbGVhbl9maWxlc19zYXZlCistIyBDaGVjayB0aGUgY29tcGlsZXIgcHJvZHVjZXMgZXhlY3V0YWJsZXMgd2UgY2FuIHJ1bi4gIElmIG5vdCwgZWl0aGVyCistIyB0aGUgY29tcGlsZXIgaXMgYnJva2VuLCBvciB3ZSBjcm9zcyBjb21waWxlLgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmciID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uICRFQ0hPX0MiID4mNgorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRjcm9zc19jb21waWxpbmciID4mNQorLWVjaG8gIiR7RUNIT19UfSRjcm9zc19jb21waWxpbmciID4mNgorLQorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gJEVDSE9fQyIgPiY2CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfbGlua1wiIikgPiY1CistICAoZXZhbCAkYWNfbGluaykgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgdGhlbgorLSAgIyBJZiBib3RoIGBjb25mdGVzdC5leGUnIGFuZCBgY29uZnRlc3QnIGFyZSBgcHJlc2VudCcgKHdlbGwsIG9ic2VydmFibGUpCistIyBjYXRjaCBgY29uZnRlc3QuZXhlJy4gIEZvciBpbnN0YW5jZSB3aXRoIEN5Z3dpbiwgYGxzIGNvbmZ0ZXN0JyB3aWxsCistIyB3b3JrIHByb3Blcmx5IChpLmUuLCByZWZlciB0byBgY29uZnRlc3QuZXhlJyksIHdoaWxlIGl0IHdvbid0IHdpdGgKKy0jIGBybScuCistZm9yIGFjX2ZpbGUgaW4gY29uZnRlc3QuZXhlIGNvbmZ0ZXN0IGNvbmZ0ZXN0Lio7IGRvCistICB0ZXN0IC1mICIkYWNfZmlsZSIgfHwgY29udGludWUKKy0gIGNhc2UgJGFjX2ZpbGUgaW4KKy0gICAgKi4kYWNfZXh0IHwgKi54Y29mZiB8ICoudGRzIHwgKi5kIHwgKi5wZGIgfCAqLnhTWU0gfCAqLmJiIHwgKi5iYmcgfCAqLm8gfCAqLm9iaiApIDs7CistICAgICouKiApIGFjX2N2X2V4ZWV4dD1gZXhwciAiJGFjX2ZpbGUiIDogJ1teLl0qXChcLi4qXCknYAorLSAgICAgICAgICBleHBvcnQgYWNfY3ZfZXhlZXh0CistICAgICAgICAgIGJyZWFrOzsKKy0gICAgKiApIGJyZWFrOzsKKy0gIGVzYWMKKy1kb25lCistZWxzZQorLSAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2Fubm90IGNvbXB1dGUgc3VmZml4IG9mIGV4ZWN1dGFibGVzOiBjYW5ub3QgY29tcGlsZSBhbmQgbGluaworLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgY29tcHV0ZSBzdWZmaXggb2YgZXhlY3V0YWJsZXM6IGNhbm5vdCBjb21waWxlIGFuZCBsaW5rCistU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscy4iID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CisrZWNobyAiJGFjX3QiIiRhY19jdl9wcm9nX2NjX3dvcmtzIiAxPiY2CisraWYgdGVzdCAkYWNfY3ZfcHJvZ19jY193b3JrcyA9IG5vOyB0aGVuCisrICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IGluc3RhbGxhdGlvbiBvciBjb25maWd1cmF0aW9uIHByb2JsZW06IEMgY29tcGlsZXIgY2Fubm90IGNyZWF0ZSBleGVjdXRhYmxlcy4iIDE+JjI7IGV4aXQgMTsgfQorIGZpCisrZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoJENDICRDRkxBR1MgJExERkxBR1MpIGlzIGEgY3Jvc3MtY29tcGlsZXIiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZTo4MDQ6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKCRDQyAkQ0ZMQUdTICRMREZMQUdTKSBpcyBhIGNyb3NzLWNvbXBpbGVyIiA+JjUKKytlY2hvICIkYWNfdCIiJGFjX2N2X3Byb2dfY2NfY3Jvc3MiIDE+JjYKKytjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKyAKKy1ybSAtZiBjb25mdGVzdCRhY19jdl9leGVleHQKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfZXhlZXh0IiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfZXhlZXh0IiA+JjYKKy0KKy1ybSAtZiBjb25mdGVzdC4kYWNfZXh0CistRVhFRVhUPSRhY19jdl9leGVleHQKKy1hY19leGVleHQ9JEVYRUVYVAorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcyIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X29iamV4dCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKytlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgQyIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjgwOTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgR05VIEMiID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX2djYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLQorLWludAorLW1haW4gKCkKKy17CistCistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QubyBjb25mdGVzdC5vYmoKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB0aGVuCistICBmb3IgYWNfZmlsZSBpbiBgKGxzIGNvbmZ0ZXN0Lm8gY29uZnRlc3Qub2JqOyBscyBjb25mdGVzdC4qKSAyPi9kZXYvbnVsbGA7IGRvCistICBjYXNlICRhY19maWxlIGluCistICAgICouJGFjX2V4dCB8ICoueGNvZmYgfCAqLnRkcyB8ICouZCB8ICoucGRiIHwgKi54U1lNIHwgKi5iYiB8ICouYmJnICkgOzsKKy0gICAgKikgYWNfY3Zfb2JqZXh0PWBleHByICIkYWNfZmlsZSIgOiAnLipcLlwoLipcKSdgCistICAgICAgIGJyZWFrOzsKKy0gIGVzYWMKKy1kb25lCisrICBjYXQgPiBjb25mdGVzdC5jIDw8RU9GCisrI2lmZGVmIF9fR05VQ19fCisrICB5ZXM7CisrI2VuZGlmCisrRU9GCisraWYgeyBhY190cnk9JyR7Q0MtY2N9IC1FIGNvbmZ0ZXN0LmMnOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjgxODogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH07IH0gfCBlZ3JlcCB5ZXMgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisrICBhY19jdl9wcm9nX2djYz15ZXMKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy17IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjYW5ub3QgY29tcHV0ZSBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzOiBjYW5ub3QgY29tcGlsZQorLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgY29tcHV0ZSBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzOiBjYW5ub3QgY29tcGlsZQorLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorKyAgYWNfY3ZfcHJvZ19nY2M9bm8KKyBmaQorLQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19jdl9vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorIGZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X29iamV4dCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X29iamV4dCIgPiY2CistT0JKRVhUPSRhY19jdl9vYmpleHQKKy1hY19vYmpleHQ9JE9CSkVYVAorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfY19jb21waWxlcl9nbnUrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCisgCistaW50CistbWFpbiAoKQorLXsKKy0jaWZuZGVmIF9fR05VQ19fCistICAgICAgIGNob2tlIG1lCistI2VuZGlmCisrZWNobyAiJGFjX3QiIiRhY19jdl9wcm9nX2djYyIgMT4mNgorIAorLSAgOworLSAgcmV0dXJuIDA7CistfQorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICBhY19jb21waWxlcl9nbnU9eWVzCisraWYgdGVzdCAkYWNfY3ZfcHJvZ19nY2MgPSB5ZXM7IHRoZW4KKysgIEdDQz15ZXMKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy1hY19jb21waWxlcl9nbnU9bm8KKysgIEdDQz0KKyBmaQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorLWFjX2N2X2NfY29tcGlsZXJfZ251PSRhY19jb21waWxlcl9nbnUKKyAKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9jX2NvbXBpbGVyX2dudSIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2NfY29tcGlsZXJfZ251IiA+JjYKKy1HQ0M9YHRlc3QgJGFjX2NvbXBpbGVyX2dudSA9IHllcyAmJiBlY2hvIHllc2AKKy1hY190ZXN0X0NGTEFHUz0ke0NGTEFHUytzZXR9CistYWNfc2F2ZV9DRkxBR1M9JENGTEFHUworLUNGTEFHUz0iLWciCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIHdoZXRoZXIgJENDIGFjY2VwdHMgLWciID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgd2hldGhlciAkQ0MgYWNjZXB0cyAtZy4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfY2NfZytzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKythY190ZXN0X0NGTEFHUz0iJHtDRkxBR1Mrc2V0fSIKKythY19zYXZlX0NGTEFHUz0iJENGTEFHUyIKKytDRkxBR1M9CisrZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciAke0NDLWNjfSBhY2NlcHRzIC1nIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6ODM3OiBjaGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IGFjY2VwdHMgLWciID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX2NjX2cnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0KKy1pbnQKKy1tYWluICgpCisteworLQorLSAgOworLSAgcmV0dXJuIDA7CistfQorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisrICBlY2hvICd2b2lkIGYoKXt9JyA+IGNvbmZ0ZXN0LmMKKytpZiB0ZXN0IC16ICJgJHtDQy1jY30gLWcgLWMgY29uZnRlc3QuYyAyPiYxYCI7IHRoZW4KKyAgIGFjX2N2X3Byb2dfY2NfZz15ZXMKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIGFjX2N2X3Byb2dfY2NfZz1ubworK2ZpCisrcm0gLWYgY29uZnRlc3QqCisgCistYWNfY3ZfcHJvZ19jY19nPW5vCisgZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9wcm9nX2NjX2ciID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9wcm9nX2NjX2ciID4mNgorKworK2VjaG8gIiRhY190IiIkYWNfY3ZfcHJvZ19jY19nIiAxPiY2CisgaWYgdGVzdCAiJGFjX3Rlc3RfQ0ZMQUdTIiA9IHNldDsgdGhlbgorLSAgQ0ZMQUdTPSRhY19zYXZlX0NGTEFHUworKyAgQ0ZMQUdTPSIkYWNfc2F2ZV9DRkxBR1MiCisgZWxpZiB0ZXN0ICRhY19jdl9wcm9nX2NjX2cgPSB5ZXM7IHRoZW4KKyAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCisgICAgIENGTEFHUz0iLWcgLU8yIgorQEAgLTIwMjgsMzA0ICs4NjMsMzcgQEAKKyAgICAgQ0ZMQUdTPQorICAgZmkKKyBmaQorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJENDIG9wdGlvbiB0byBhY2NlcHQgQU5TSSBDIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkQ0Mgb3B0aW9uIHRvIGFjY2VwdCBBTlNJIEMuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX2NjX3N0ZGMrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgYWNfY3ZfcHJvZ19jY19zdGRjPW5vCistYWNfc2F2ZV9DQz0kQ0MKKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaW5jbHVkZSA8c3RkYXJnLmg+CistI2luY2x1ZGUgPHN0ZGlvLmg+CistI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorLSNpbmNsdWRlIDxzeXMvc3RhdC5oPgorLS8qIE1vc3Qgb2YgdGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgc3RvbGVuIGZyb20gUkNTIDUuNydzIHNyYy9jb25mLnNoLiAgKi8KKy1zdHJ1Y3QgYnVmIHsgaW50IHg7IH07CistRklMRSAqICgqcmNzb3BlbikgKHN0cnVjdCBidWYgKiwgc3RydWN0IHN0YXQgKiwgaW50KTsKKy1zdGF0aWMgY2hhciAqZSAocCwgaSkKKy0gICAgIGNoYXIgKipwOworLSAgICAgaW50IGk7CisteworLSAgcmV0dXJuIHBbaV07CistfQorLXN0YXRpYyBjaGFyICpmIChjaGFyICogKCpnKSAoY2hhciAqKiwgaW50KSwgY2hhciAqKnAsIC4uLikKKy17CistICBjaGFyICpzOworLSAgdmFfbGlzdCB2OworLSAgdmFfc3RhcnQgKHYscCk7CistICBzID0gZyAocCwgdmFfYXJnICh2LGludCkpOworLSAgdmFfZW5kICh2KTsKKy0gIHJldHVybiBzOworLX0KKy1pbnQgdGVzdCAoaW50IGksIGRvdWJsZSB4KTsKKy1zdHJ1Y3QgczEge2ludCAoKmYpIChpbnQgYSk7fTsKKy1zdHJ1Y3QgczIge2ludCAoKmYpIChkb3VibGUgYSk7fTsKKy1pbnQgcGFpcm5hbWVzIChpbnQsIGNoYXIgKiosIEZJTEUgKigqKShzdHJ1Y3QgYnVmICosIHN0cnVjdCBzdGF0ICosIGludCksIGludCwgaW50KTsKKy1pbnQgYXJnYzsKKy1jaGFyICoqYXJndjsKKy1pbnQKKy1tYWluICgpCisteworLXJldHVybiBmIChlLCBhcmd2LCAwKSAhPSBhcmd2WzBdICB8fCAgZiAoZSwgYXJndiwgMSkgIT0gYXJndlsxXTsKKy0gIDsKKy0gIHJldHVybiAwOworLX0KKy1fQUNFT0YKKy0jIERvbid0IHRyeSBnY2MgLWFuc2k7IHRoYXQgdHVybnMgb2ZmIHVzZWZ1bCBleHRlbnNpb25zIGFuZAorLSMgYnJlYWtzIHNvbWUgc3lzdGVtcycgaGVhZGVyIGZpbGVzLgorLSMgQUlYCQkJLXFsYW5nbHZsPWFuc2kKKy0jIFVsdHJpeCBhbmQgT1NGLzEJLXN0ZDEKKy0jIEhQLVVYIDEwLjIwIGFuZCBsYXRlcgktQWUKKy0jIEhQLVVYIG9sZGVyIHZlcnNpb25zCS1BYSAtRF9IUFVYX1NPVVJDRQorLSMgU1ZSNAkJCS1YYyAtRF9fRVhURU5TSU9OU19fCistZm9yIGFjX2FyZyBpbiAiIiAtcWxhbmdsdmw9YW5zaSAtc3RkMSAtQWUgIi1BYSAtRF9IUFVYX1NPVVJDRSIgIi1YYyAtRF9fRVhURU5TSU9OU19fIgorLWRvCistICBDQz0iJGFjX3NhdmVfQ0MgJGFjX2FyZyIKKy0gIHJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICBhY19jdl9wcm9nX2NjX3N0ZGM9JGFjX2FyZworLWJyZWFrCistZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CisgCistZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistZG9uZQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19leHQgY29uZnRlc3QuJGFjX29iamV4dAorLUNDPSRhY19zYXZlX0NDCistCistZmkKKy0KKy1jYXNlICJ4JGFjX2N2X3Byb2dfY2Nfc3RkYyIgaW4KKy0gIHh8eG5vKQorLSAgICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBub25lIG5lZWRlZCIgPiY1CistZWNobyAiJHtFQ0hPX1R9bm9uZSBuZWVkZWQiID4mNiA7OworLSAgKikKKy0gICAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X3Byb2dfY2Nfc3RkYyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X3Byb2dfY2Nfc3RkYyIgPiY2CistICAgIENDPSIkQ0MgJGFjX2N2X3Byb2dfY2Nfc3RkYyIgOzsKKy1lc2FjCistCistIyBTb21lIHBlb3BsZSB1c2UgYSBDKysgY29tcGlsZXIgdG8gY29tcGlsZSBDLiAgU2luY2Ugd2UgdXNlIGBleGl0JywKKy0jIGluIEMrKyB3ZSBuZWVkIHRvIGRlY2xhcmUgaXQuICBJbiBjYXNlIHNvbWVvbmUgdXNlcyB0aGUgc2FtZSBjb21waWxlcgorLSMgZm9yIGJvdGggY29tcGlsaW5nIEMgYW5kIEMrKyB3ZSBuZWVkIHRvIGhhdmUgdGhlIEMrKyBjb21waWxlciBkZWNpZGUKKy0jIHRoZSBkZWNsYXJhdGlvbiBvZiBleGl0LCBzaW5jZSBpdCdzIHRoZSBtb3N0IGRlbWFuZGluZyBlbnZpcm9ubWVudC4KKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jaWZuZGVmIF9fY3BsdXNwbHVzCistICBjaG9rZSBtZQorLSNlbmRpZgorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICBmb3IgYWNfZGVjbGFyYXRpb24gaW4gXAorLSAgICcnXAorLSAgICcjaW5jbHVkZSA8c3RkbGliLmg+JyBcCistICAgJ2V4dGVybiAiQyIgdm9pZCBzdGQ6OmV4aXQgKGludCkgdGhyb3cgKCk7IHVzaW5nIHN0ZDo6ZXhpdDsnIFwKKy0gICAnZXh0ZXJuICJDIiB2b2lkIHN0ZDo6ZXhpdCAoaW50KTsgdXNpbmcgc3RkOjpleGl0OycgXAorLSAgICdleHRlcm4gIkMiIHZvaWQgZXhpdCAoaW50KSB0aHJvdyAoKTsnIFwKKy0gICAnZXh0ZXJuICJDIiB2b2lkIGV4aXQgKGludCk7JyBcCistICAgJ3ZvaWQgZXhpdCAoaW50KTsnCistZG8KKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpbmNsdWRlIDxzdGRsaWIuaD4KKy0kYWNfZGVjbGFyYXRpb24KKy1pbnQKKy1tYWluICgpCisteworLWV4aXQgKDQyKTsKKy0gIDsKKy0gIHJldHVybiAwOworLX0KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgOgorKyMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAicmFubGliIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKytzZXQgZHVtbXkgcmFubGliOyBhY193b3JkPSQyCisrZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6ODcxOiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX1JBTkxJQicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLWNvbnRpbnVlCistZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSRhY19kZWNsYXJhdGlvbgorLWludAorLW1haW4gKCkKKy17CistZXhpdCAoNDIpOworLSAgOworLSAgcmV0dXJuIDA7CistfQorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICBicmVhaworLWVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLWZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CistZG9uZQorLXJtIC1mIGNvbmZ0ZXN0KgorLWlmIHRlc3QgLW4gIiRhY19kZWNsYXJhdGlvbiI7IHRoZW4KKy0gIGVjaG8gJyNpZmRlZiBfX2NwbHVzcGx1cycgPj5jb25mZGVmcy5oCistICBlY2hvICRhY19kZWNsYXJhdGlvbiAgICAgID4+Y29uZmRlZnMuaAorLSAgZWNobyAnI2VuZGlmJyAgICAgICAgICAgICA+PmNvbmZkZWZzLmgKKy1maQorLQorLWVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLWZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CistYWNfZXh0PWMKKy1hY19jcHA9JyRDUFAgJENQUEZMQUdTJworLWFjX2NvbXBpbGU9JyRDQyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKKy1hY19saW5rPSckQ0MgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JworLWFjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19jb21waWxlcl9nbnUKKy0KKy1pZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCistICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9cmFubGliIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKy1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1yYW5saWI7IGFjX3dvcmQ9JDIKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfUkFOTElCK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKyAgIGlmIHRlc3QgLW4gIiRSQU5MSUIiOyB0aGVuCisgICBhY19jdl9wcm9nX1JBTkxJQj0iJFJBTkxJQiIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCisgZWxzZQorLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKy0gIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCistICAgIGFjX2N2X3Byb2dfUkFOTElCPSIke2FjX3Rvb2xfcHJlZml4fXJhbmxpYiIKKy0gICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorLSAgICBicmVhayAyCistICBmaQorLWRvbmUKKy1kb25lCistCisrICBJRlM9IiR7SUZTPSAJfSI7IGFjX3NhdmVfaWZzPSIkSUZTIjsgSUZTPSI6IgorKyAgYWNfZHVtbXk9IiRQQVRIIgorKyAgZm9yIGFjX2RpciBpbiAkYWNfZHVtbXk7IGRvCisrICAgIHRlc3QgLXogIiRhY19kaXIiICYmIGFjX2Rpcj0uCisrICAgIGlmIHRlc3QgLWYgJGFjX2Rpci8kYWNfd29yZDsgdGhlbgorKyAgICAgIGFjX2N2X3Byb2dfUkFOTElCPSJyYW5saWIiCisrICAgICAgYnJlYWsKKysgICAgZmkKKysgIGRvbmUKKysgIElGUz0iJGFjX3NhdmVfaWZzIgorKyAgdGVzdCAteiAiJGFjX2N2X3Byb2dfUkFOTElCIiAmJiBhY19jdl9wcm9nX1JBTkxJQj0iOiIKKyBmaQorIGZpCistUkFOTElCPSRhY19jdl9wcm9nX1JBTkxJQgorK1JBTkxJQj0iJGFjX2N2X3Byb2dfUkFOTElCIgorIGlmIHRlc3QgLW4gIiRSQU5MSUIiOyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkUkFOTElCIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kUkFOTElCIiA+JjYKKysgIGVjaG8gIiRhY190IiIkUkFOTElCIiAxPiY2CisgZWxzZQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogbm8iID4mNQorLWVjaG8gIiR7RUNIT19UfW5vIiA+JjYKKysgIGVjaG8gIiRhY190IiJubyIgMT4mNgorIGZpCisgCistZmkKKy1pZiB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19SQU5MSUIiOyB0aGVuCistICBhY19jdF9SQU5MSUI9JFJBTkxJQgorLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJyYW5saWIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorLXNldCBkdW1teSByYW5saWI7IGFjX3dvcmQ9JDIKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfUkFOTElCK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGlmIHRlc3QgLW4gIiRhY19jdF9SQU5MSUIiOyB0aGVuCistICBhY19jdl9wcm9nX2FjX2N0X1JBTkxJQj0iJGFjX2N0X1JBTkxJQiIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCistZWxzZQorLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKy0gIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCistICAgIGFjX2N2X3Byb2dfYWNfY3RfUkFOTElCPSJyYW5saWIiCistICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKy0gICAgYnJlYWsgMgorLSAgZmkKKy1kb25lCistZG9uZQorLQorLSAgdGVzdCAteiAiJGFjX2N2X3Byb2dfYWNfY3RfUkFOTElCIiAmJiBhY19jdl9wcm9nX2FjX2N0X1JBTkxJQj0iOiIKKy1maQorLWZpCistYWNfY3RfUkFOTElCPSRhY19jdl9wcm9nX2FjX2N0X1JBTkxJQgorLWlmIHRlc3QgLW4gIiRhY19jdF9SQU5MSUIiOyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3RfUkFOTElCIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3RfUkFOTElCIiA+JjYKKy1lbHNlCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiBubyIgPiY1CistZWNobyAiJHtFQ0hPX1R9bm8iID4mNgorLWZpCistCistICBSQU5MSUI9JGFjX2N0X1JBTkxJQgorLWVsc2UKKy0gIFJBTkxJQj0iJGFjX2N2X3Byb2dfUkFOTElCIgorLWZpCistCisgIyBGaW5kIGEgZ29vZCBpbnN0YWxsIHByb2dyYW0uICBXZSBwcmVmZXIgYSBDIHByb2dyYW0gKGZhc3RlciksCisgIyBzbyBvbmUgc2NyaXB0IGlzIGFzIGdvb2QgYXMgYW5vdGhlci4gIEJ1dCBhdm9pZCB0aGUgYnJva2VuIG9yCisgIyBpbmNvbXBhdGlibGUgdmVyc2lvbnM6CitAQCAtMjMzMywzMDYgKzkwMSwxNTggQEAKKyAjIFN1bk9TIC91c3IvZXRjL2luc3RhbGwKKyAjIElSSVggL3NiaW4vaW5zdGFsbAorICMgQUlYIC9iaW4vaW5zdGFsbAorLSMgQW1pZ2FPUyAvQy9pbnN0YWxsLCB3aGljaCBpbnN0YWxscyBib290YmxvY2tzIG9uIGZsb3BweSBkaXNjcworICMgQUlYIDQgL3Vzci9iaW4vaW5zdGFsbGJzZCwgd2hpY2ggZG9lc24ndCB3b3JrIHdpdGhvdXQgYSAtZyBmbGFnCisgIyBBRlMgL3Vzci9hZnN3cy9iaW4vaW5zdGFsbCwgd2hpY2ggbWlzaGFuZGxlcyBub25leGlzdGVudCBhcmdzCisgIyBTVlI0IC91c3IvdWNiL2luc3RhbGwsIHdoaWNoIHRyaWVzIHRvIHVzZSB0aGUgbm9uZXhpc3RlbnQgZ3JvdXAgInN0YWZmIgorICMgLi9pbnN0YWxsLCB3aGljaCBjYW4gYmUgZXJyb25lb3VzbHkgY3JlYXRlZCBieSBtYWtlIGZyb20gLi9pbnN0YWxsLnNoLgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gJEVDSE9fQyIgPiY2CisrZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBhdGlibGUgaW5zdGFsbCIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjkxMDogY2hlY2tpbmcgZm9yIGEgQlNEIGNvbXBhdGlibGUgaW5zdGFsbCIgPiY1CisgaWYgdGVzdCAteiAiJElOU1RBTEwiOyB0aGVuCistaWYgdGVzdCAiJHthY19jdl9wYXRoX2luc3RhbGwrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3BhdGhfaW5zdGFsbCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKy0gIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICAjIEFjY291bnQgZm9yIHBlb3BsZSB3aG8gcHV0IHRyYWlsaW5nIHNsYXNoZXMgaW4gUEFUSCBlbGVtZW50cy4KKy1jYXNlICRhc19kaXIvIGluCistICAuLyB8IC4vLyB8IC9jQy8qIHwgXAorLSAgL2V0Yy8qIHwgL3Vzci9zYmluLyogfCAvdXNyL2V0Yy8qIHwgL3NiaW4vKiB8IC91c3IvYWZzd3MvYmluLyogfCBcCistICAvdXNyL3VjYi8qICkgOzsKKy0gICopCistICAgICMgT1NGMSBhbmQgU0NPIE9EVCAzLjAgaGF2ZSB0aGVpciBvd24gbmFtZXMgZm9yIGluc3RhbGwuCistICAgICMgRG9uJ3QgdXNlIGluc3RhbGxic2QgZnJvbSBPU0Ygc2luY2UgaXQgaW5zdGFsbHMgc3R1ZmYgYXMgcm9vdAorLSAgICAjIGJ5IGRlZmF1bHQuCistICAgIGZvciBhY19wcm9nIGluIGdpbnN0YWxsIHNjb2luc3QgaW5zdGFsbDsgZG8KKy0gICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKy0gICAgICAgIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiOyB0aGVuCistICAgICAgICAgIGlmIHRlc3QgJGFjX3Byb2cgPSBpbnN0YWxsICYmCistICAgICAgICAgICAgZ3JlcCBkc3Btc2cgIiRhc19kaXIvJGFjX3Byb2ckYWNfZXhlY19leHQiID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgICAgICAgICAgICMgQUlYIGluc3RhbGwuICBJdCBoYXMgYW4gaW5jb21wYXRpYmxlIGNhbGxpbmcgY29udmVudGlvbi4KKy0gICAgICAgICAgICA6CistICAgICAgICAgIGVsaWYgdGVzdCAkYWNfcHJvZyA9IGluc3RhbGwgJiYKKy0gICAgICAgICAgICBncmVwIHB3cGx1cyAiJGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICAgICAgICAgICAgIyBwcm9ncmFtLXNwZWNpZmljIGluc3RhbGwgc2NyaXB0IHVzZWQgYnkgSFAgcHdwbHVzLS1kb24ndCB1c2UuCistICAgICAgICAgICAgOgorLSAgICAgICAgICBlbHNlCistICAgICAgICAgICAgYWNfY3ZfcGF0aF9pbnN0YWxsPSIkYXNfZGlyLyRhY19wcm9nJGFjX2V4ZWNfZXh0IC1jIgorLSAgICAgICAgICAgIGJyZWFrIDMKKy0gICAgICAgICAgZmkKKy0gICAgICAgIGZpCisrICAgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2ZV9JRlM9IiRJRlMiOyBJRlM9IjoiCisrICBmb3IgYWNfZGlyIGluICRQQVRIOyBkbworKyAgICAjIEFjY291bnQgZm9yIHBlb3BsZSB3aG8gcHV0IHRyYWlsaW5nIHNsYXNoZXMgaW4gUEFUSCBlbGVtZW50cy4KKysgICAgY2FzZSAiJGFjX2Rpci8iIGluCisrICAgIC98Li98Li8vfC9ldGMvKnwvdXNyL3NiaW4vKnwvdXNyL2V0Yy8qfC9zYmluLyp8L3Vzci9hZnN3cy9iaW4vKnwvdXNyL3VjYi8qKSA7OworKyAgICAqKQorKyAgICAgICMgT1NGMSBhbmQgU0NPIE9EVCAzLjAgaGF2ZSB0aGVpciBvd24gbmFtZXMgZm9yIGluc3RhbGwuCisrICAgICAgIyBEb24ndCB1c2UgaW5zdGFsbGJzZCBmcm9tIE9TRiBzaW5jZSBpdCBpbnN0YWxscyBzdHVmZiBhcyByb290CisrICAgICAgIyBieSBkZWZhdWx0LgorKyAgICAgIGZvciBhY19wcm9nIGluIGdpbnN0YWxsIHNjb2luc3QgaW5zdGFsbDsgZG8KKysgICAgICAgIGlmIHRlc3QgLWYgJGFjX2Rpci8kYWNfcHJvZzsgdGhlbgorKwkgIGlmIHRlc3QgJGFjX3Byb2cgPSBpbnN0YWxsICYmCisrICAgICAgICAgICAgZ3JlcCBkc3Btc2cgJGFjX2Rpci8kYWNfcHJvZyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKysJICAgICMgQUlYIGluc3RhbGwuICBJdCBoYXMgYW4gaW5jb21wYXRpYmxlIGNhbGxpbmcgY29udmVudGlvbi4KKysJICAgIDoKKysJICBlbHNlCisrCSAgICBhY19jdl9wYXRoX2luc3RhbGw9IiRhY19kaXIvJGFjX3Byb2cgLWMiCisrCSAgICBicmVhayAyCisrCSAgZmkKKysJZmkKKyAgICAgICBkb25lCistICAgIGRvbmUKKy0gICAgOzsKKy1lc2FjCistZG9uZQorKyAgICAgIDs7CisrICAgIGVzYWMKKysgIGRvbmUKKysgIElGUz0iJGFjX3NhdmVfSUZTIgorIAorLQorIGZpCisgICBpZiB0ZXN0ICIke2FjX2N2X3BhdGhfaW5zdGFsbCtzZXR9IiA9IHNldDsgdGhlbgorLSAgICBJTlNUQUxMPSRhY19jdl9wYXRoX2luc3RhbGwKKysgICAgSU5TVEFMTD0iJGFjX2N2X3BhdGhfaW5zdGFsbCIKKyAgIGVsc2UKKyAgICAgIyBBcyBhIGxhc3QgcmVzb3J0LCB1c2UgdGhlIHNsb3cgc2hlbGwgc2NyaXB0LiAgV2UgZG9uJ3QgY2FjaGUgYQorICAgICAjIHBhdGggZm9yIElOU1RBTEwgd2l0aGluIGEgc291cmNlIGRpcmVjdG9yeSwgYmVjYXVzZSB0aGF0IHdpbGwKKyAgICAgIyBicmVhayBvdGhlciBwYWNrYWdlcyB1c2luZyB0aGUgY2FjaGUgaWYgdGhhdCBkaXJlY3RvcnkgaXMKKyAgICAgIyByZW1vdmVkLCBvciBpZiB0aGUgcGF0aCBpcyByZWxhdGl2ZS4KKy0gICAgSU5TVEFMTD0kYWNfaW5zdGFsbF9zaAorKyAgICBJTlNUQUxMPSIkYWNfaW5zdGFsbF9zaCIKKyAgIGZpCisgZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkSU5TVEFMTCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JElOU1RBTEwiID4mNgorK2VjaG8gIiRhY190IiIkSU5TVEFMTCIgMT4mNgorIAorICMgVXNlIHRlc3QgLXogYmVjYXVzZSBTdW5PUzQgc2ggbWlzaGFuZGxlcyBicmFjZXMgaW4gJHt2YXItdmFsfS4KKyAjIEl0IHRoaW5rcyB0aGUgZmlyc3QgY2xvc2UgYnJhY2UgZW5kcyB0aGUgdmFyaWFibGUgc3Vic3RpdHV0aW9uLgorIHRlc3QgLXogIiRJTlNUQUxMX1BST0dSQU0iICYmIElOU1RBTExfUFJPR1JBTT0nJHtJTlNUQUxMfScKKyAKKy10ZXN0IC16ICIkSU5TVEFMTF9TQ1JJUFQiICYmIElOU1RBTExfU0NSSVBUPScke0lOU1RBTEx9JworK3Rlc3QgLXogIiRJTlNUQUxMX1NDUklQVCIgJiYgSU5TVEFMTF9TQ1JJUFQ9JyR7SU5TVEFMTF9QUk9HUkFNfScKKyAKKyB0ZXN0IC16ICIkSU5TVEFMTF9EQVRBIiAmJiBJTlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JworIAorLWlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KKy0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1hciIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCisraWYgdGVzdCAkaG9zdCAhPSAkYnVpbGQ7IHRoZW4KKysgIGFjX3Rvb2xfcHJlZml4PSR7aG9zdF9hbGlhc30tCisrZWxzZQorKyAgYWNfdG9vbF9wcmVmaXg9CisrZmkKKysKKysjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9YXIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorIHNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWFyOyBhY193b3JkPSQyCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9wcm9nX0FSK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjk3MTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19BUicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisrICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorIGVsc2UKKyAgIGlmIHRlc3QgLW4gIiRBUiI7IHRoZW4KKyAgIGFjX2N2X3Byb2dfQVI9IiRBUiIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCisgZWxzZQorLWFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKy0gIGlmICRhc19leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCistICAgIGFjX2N2X3Byb2dfQVI9IiR7YWNfdG9vbF9wcmVmaXh9YXIiCistICAgIGVjaG8gIiRhc19tZTokTElORU5POiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKy0gICAgYnJlYWsgMgorLSAgZmkKKy1kb25lCistZG9uZQorLQorKyAgSUZTPSIke0lGUz0gCX0iOyBhY19zYXZlX2lmcz0iJElGUyI7IElGUz0iOiIKKysgIGFjX2R1bW15PSIkUEFUSCIKKysgIGZvciBhY19kaXIgaW4gJGFjX2R1bW15OyBkbworKyAgICB0ZXN0IC16ICIkYWNfZGlyIiAmJiBhY19kaXI9LgorKyAgICBpZiB0ZXN0IC1mICRhY19kaXIvJGFjX3dvcmQ7IHRoZW4KKysgICAgICBhY19jdl9wcm9nX0FSPSIke2FjX3Rvb2xfcHJlZml4fWFyIgorKyAgICAgIGJyZWFrCisrICAgIGZpCisrICBkb25lCisrICBJRlM9IiRhY19zYXZlX2lmcyIKKysgIHRlc3QgLXogIiRhY19jdl9wcm9nX0FSIiAmJiBhY19jdl9wcm9nX0FSPSJhciIKKyBmaQorIGZpCistQVI9JGFjX2N2X3Byb2dfQVIKKytBUj0iJGFjX2N2X3Byb2dfQVIiCisgaWYgdGVzdCAtbiAiJEFSIjsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJEFSIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kQVIiID4mNgorKyAgZWNobyAiJGFjX3QiIiRBUiIgMT4mNgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKKy1lY2hvICIke0VDSE9fVH1ubyIgPiY2CisrICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyBmaQorIAorLWZpCistaWYgdGVzdCAteiAiJGFjX2N2X3Byb2dfQVIiOyB0aGVuCistICBhY19jdF9BUj0kQVIKKy0gICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiYXIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorLXNldCBkdW1teSBhcjsgYWNfd29yZD0kMgorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9BUitzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBpZiB0ZXN0IC1uICIkYWNfY3RfQVIiOyB0aGVuCistICBhY19jdl9wcm9nX2FjX2N0X0FSPSIkYWNfY3RfQVIiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorLWVsc2UKKy1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCistICBpZiAkYXNfZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgICBhY19jdl9wcm9nX2FjX2N0X0FSPSJhciIKKy0gICAgZWNobyAiJGFzX21lOiRMSU5FTk86IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQorLSAgICBicmVhayAyCistICBmaQorLWRvbmUKKy1kb25lCisgCistZmkKKy1maQorLWFjX2N0X0FSPSRhY19jdl9wcm9nX2FjX2N0X0FSCistaWYgdGVzdCAtbiAiJGFjX2N0X0FSIjsgdGhlbgorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N0X0FSIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3RfQVIiID4mNgorLWVsc2UKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6IG5vIiA+JjUKKy1lY2hvICIke0VDSE9fVH1ubyIgPiY2CistZmkKKyAKKy0gIEFSPSRhY19jdF9BUgorK2VjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgYnl0ZSBvcmRlcmluZyBpcyBiaWdlbmRpYW4iIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZToxMDAxOiBjaGVja2luZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcgaXMgYmlnZW5kaWFuIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfY19iaWdlbmRpYW4nK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCistICBBUj0iJGFjX2N2X3Byb2dfQVIiCistZmkKKy0KKy0KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgd2hldGhlciBieXRlIG9yZGVyaW5nIGlzIGJpZ2VuZGlhbiIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcgaXMgYmlnZW5kaWFuLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfY19iaWdlbmRpYW4rc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgIyBTZWUgaWYgc3lzL3BhcmFtLmggZGVmaW5lcyB0aGUgQllURV9PUkRFUiBtYWNyby4KKy1jYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKysgIGFjX2N2X2NfYmlnZW5kaWFuPXVua25vd24KKysjIFNlZSBpZiBzeXMvcGFyYW0uaCBkZWZpbmVzIHRoZSBCWVRFX09SREVSIG1hY3JvLgorK2NhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKysjbGluZSAxMDA4ICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKytpbnQgbWFpbigpIHsKKyAKKy1pbnQKKy1tYWluICgpCisteworICNpZiAhQllURV9PUkRFUiB8fCAhQklHX0VORElBTiB8fCAhTElUVExFX0VORElBTgorICBib2d1cyBlbmRpYW4gbWFjcm9zCisgI2VuZGlmCistCistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKys7IHJldHVybiAwOyB9CisrRU9GCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMDE5OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisrICBybSAtcmYgY29uZnRlc3QqCisgICAjIEl0IGRvZXM7IG5vdyBzZWUgd2hldGhlciBpdCBkZWZpbmVkIHRvIEJJR19FTkRJQU4gb3Igbm90LgorLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworK2NhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKysjbGluZSAxMDIzICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKytpbnQgbWFpbigpIHsKKyAKKy1pbnQKKy1tYWluICgpCisteworICNpZiBCWVRFX09SREVSICE9IEJJR19FTkRJQU4KKyAgbm90IGJpZyBlbmRpYW4KKyAjZW5kaWYKKy0KKy0gIDsKKy0gIHJldHVybiAwOworLX0KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorKzsgcmV0dXJuIDA7IH0KKytFT0YKKytpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEwMzQ6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKysgIHJtIC1yZiBjb25mdGVzdCoKKyAgIGFjX2N2X2NfYmlnZW5kaWFuPXllcworIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLWFjX2N2X2NfYmlnZW5kaWFuPW5vCisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBybSAtcmYgY29uZnRlc3QqCisrICBhY19jdl9jX2JpZ2VuZGlhbj1ubworIGZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0Cisrcm0gLWYgY29uZnRlc3QqCisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistIyBJdCBkb2VzIG5vdDsgY29tcGlsZSBhIHRlc3QgcHJvZ3JhbS4KKy1pZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbgorLSAgIyB0cnkgdG8gZ3Vlc3MgdGhlIGVuZGlhbm5lc3MgYnkgZ3JlcHBpbmcgdmFsdWVzIGludG8gYW4gb2JqZWN0IGZpbGUKKy0gIGFjX2N2X2NfYmlnZW5kaWFuPXVua25vd24KKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLXNob3J0IGFzY2lpX21tW10gPSB7IDB4NDI0OSwgMHg0NzY1LCAweDZFNDQsIDB4Njk2MSwgMHg2RTUzLCAweDc5NTMsIDAgfTsKKy1zaG9ydCBhc2NpaV9paVtdID0geyAweDY5NEMsIDB4NTQ1NCwgMHg2NTZDLCAweDZFNDUsIDB4Njk0NCwgMHg2RTYxLCAwIH07Cistdm9pZCBfYXNjaWkgKCkgeyBjaGFyICpzID0gKGNoYXIgKikgYXNjaWlfbW07IHMgPSAoY2hhciAqKSBhc2NpaV9paTsgfQorLXNob3J0IGViY2RpY19paVtdID0geyAweDg5RDMsIDB4RTNFMywgMHg4NTkzLCAweDk1QzUsIDB4ODlDNCwgMHg5NTgxLCAwIH07Cistc2hvcnQgZWJjZGljX21tW10gPSB7IDB4QzJDOSwgMHhDNzg1LCAweDk1QzQsIDB4ODk4MSwgMHg5NUUyLCAweEE4RTIsIDAgfTsKKy12b2lkIF9lYmNkaWMgKCkgeyBjaGFyICpzID0gKGNoYXIgKikgZWJjZGljX21tOyBzID0gKGNoYXIgKikgZWJjZGljX2lpOyB9CistaW50CistbWFpbiAoKQorLXsKKy0gX2FzY2lpICgpOyBfZWJjZGljICgpOworLSAgOworLSAgcmV0dXJuIDA7CistfQorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICBpZiBncmVwIEJJR2VuRGlhblN5UyBjb25mdGVzdC4kYWNfb2JqZXh0ID4vZGV2L251bGwgOyB0aGVuCistICBhY19jdl9jX2JpZ2VuZGlhbj15ZXMKKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKyBmaQorLWlmIGdyZXAgTGlUVGxlRW5EaWFuIGNvbmZ0ZXN0LiRhY19vYmpleHQgPi9kZXYvbnVsbCA7IHRoZW4KKy0gIGlmIHRlc3QgIiRhY19jdl9jX2JpZ2VuZGlhbiIgPSB1bmtub3duOyB0aGVuCistICAgIGFjX2N2X2NfYmlnZW5kaWFuPW5vCistICBlbHNlCistICAgICMgZmluZGluZyBib3RoIHN0cmluZ3MgaXMgdW5saWtlbHkgdG8gaGFwcGVuLCBidXQgd2hvIGtub3dzPworLSAgICBhY19jdl9jX2JpZ2VuZGlhbj11bmtub3duCistICBmaQorLWZpCisrcm0gLWYgY29uZnRlc3QqCisraWYgdGVzdCAkYWNfY3ZfY19iaWdlbmRpYW4gPSB1bmtub3duOyB0aGVuCisraWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4KKysgICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBjYW4gbm90IHJ1biB0ZXN0IHByb2dyYW0gd2hpbGUgY3Jvc3MgY29tcGlsaW5nIiAxPiYyOyBleGl0IDE7IH0KKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy1maQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorLWVsc2UKKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLWludAorLW1haW4gKCkKKy17CisrICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisrI2xpbmUgMTA1NCAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorK21haW4gKCkgeworICAgLyogQXJlIHdlIGxpdHRsZSBvciBiaWcgZW5kaWFuPyAgRnJvbSBIYXJiaXNvbiZTdGVlbGUuICAqLworICAgdW5pb24KKyAgIHsKK0BAIC0yNjQyLDUyICsxMDYyLDMxIEBACisgICB1LmwgPSAxOworICAgZXhpdCAodS5jW3NpemVvZiAobG9uZykgLSAxXSA9PSAxKTsKKyB9CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QkYWNfZXhlZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfbGlua1wiIikgPiY1CistICAoZXZhbCAkYWNfbGluaykgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJiB7IGFjX3RyeT0nLi9jb25mdGVzdCRhY19leGVleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorK0VPRgorK2lmIHsgKGV2YWwgZWNobyBjb25maWd1cmU6MTA2NzogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGluaykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9ICYmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbAorK3RoZW4KKyAgIGFjX2N2X2NfYmlnZW5kaWFuPW5vCisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAkYWNfc3RhdHVzIiA+JjUKKy1lY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy0oIGV4aXQgJGFjX3N0YXR1cyApCistYWNfY3ZfY19iaWdlbmRpYW49eWVzCisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBybSAtZnIgY29uZnRlc3QqCisrICBhY19jdl9jX2JpZ2VuZGlhbj15ZXMKKyBmaQorLXJtIC1mIGNvcmUgY29yZS4qICouY29yZSBnbW9uLm91dCBiYi5vdXQgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorK3JtIC1mciBjb25mdGVzdCoKKyBmaQorKworIGZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CisgZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfY19iaWdlbmRpYW4iID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9jX2JpZ2VuZGlhbiIgPiY2CistY2FzZSAkYWNfY3ZfY19iaWdlbmRpYW4gaW4KKy0gIHllcykKKyAKKy1jYXQgPj5jb25mZGVmcy5oIDw8XF9BQ0VPRgorK2VjaG8gIiRhY190IiIkYWNfY3ZfY19iaWdlbmRpYW4iIDE+JjYKKytpZiB0ZXN0ICRhY19jdl9jX2JpZ2VuZGlhbiA9IHllczsgdGhlbgorKyAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisgI2RlZmluZSBXT1JEU19CSUdFTkRJQU4gMQorLV9BQ0VPRgorLSA7OworLSAgbm8pCistICAgICA7OworLSAgKikKKy0gICAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogdW5rbm93biBlbmRpYW5uZXNzCistcHJlc2V0dGluZyBhY19jdl9jX2JpZ2VuZGlhbj1ubyAob3IgeWVzKSB3aWxsIGhlbHAiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IHVua25vd24gZW5kaWFubmVzcworLXByZXNldHRpbmcgYWNfY3ZfY19iaWdlbmRpYW49bm8gKG9yIHllcykgd2lsbCBoZWxwIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfSA7OworLWVzYWMKKytFT0YKKyAKKytmaQorIAorKworIGlmIHRlc3QgIngkR0NDIiA9ICJ4eWVzIjsgdGhlbgorIAlDRkxBR1M9IiRDRkxBR1MgLVdhbGwiCisgZmkKK0BAIC0yNjk3LDE0ICsxMDk2LDEzIEBACisgICBjYXNlICIke2VuYWJsZXZhbH0iIGluCisgICAgICAgICAgICAgICAgICB5ZXMpIHNoYXJlZD10cnVlIDs7CisgICAgICAgICAgICAgICAgICBubykgc2hhcmVkPWZhbHNlIDs7CistICAgICAgICAgICAgICAgICAqKSB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBiYWQgdmFsdWUgJHtlbmFibGV2YWx9IGZvciBzaGFyZWQgb3B0aW9ucyIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogYmFkIHZhbHVlICR7ZW5hYmxldmFsfSBmb3Igc2hhcmVkIG9wdGlvbnMiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9IDs7CisrICAgICAgICAgICAgICAgICAqKSB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IGJhZCB2YWx1ZSAke2VuYWJsZXZhbH0gZm9yIHNoYXJlZCBvcHRpb25zIiAxPiYyOyBleGl0IDE7IH0gOzsKKyAgICAgICAgICAgICAgICAgIGVzYWMKKyBlbHNlCisgICBzaGFyZWQ9ZmFsc2UKKy1maTsKKytmaQorIAorKworIGNhc2UgIiR0YXJnZXRfY3B1IiBpbgorICAgICAgaTM4NnxpNDg2fGk1ODZ8aTY4NikKKyAJVEFSR0VUX0NQVT1pMzg2CitAQCAtMjcxMiw3ICsxMTEwLDcgQEAKKyAgICAgICopCisgICAgICAgICBUQVJHRVRfQ1BVPSR0YXJnZXRfY3B1CisgICAgICA7OworLWVzYWMKKytlc2FjICAgICAKKyBUQVJHRVRfT1M9JHRhcmdldF9vcworIAorIE02OEtDQz0KK0BAIC0yNzI2LDcgKzExMjQsNyBAQAorIAkJTTY4S0NDPS91c3IvbTY4ay1wYWxtb3MvYmluL2djYworIAkJIyBHZW5lcmljIGJ1aWxkIGlzIEFSTSBvciBNNjhLIChwcm9iYWJseSBBUk0gdGhvdWdoKQorICAgICAgICAgICAgICAgICBDQz0iL3Vzci8kVEFSR0VUX0NQVS1wYWxtb3MvYmluL2djYyIKKy0JCWlmIHRlc3QgIiR0YXJnZXRfY3B1IiA9ICJhcm0iCisrCQlpZiB0ZXN0ICIkdGFyZ2V0X2NwdSIgPSAiYXJtIiAKKyAgICAgICAgICAgICAgICAgdGhlbgorICAgICAgICAgICAgICAgICAgICBDQz0iJENDIC1mUElDIC1tYXJjaD1hcm12NHQiCisgICAgICAgICAgICAgICAgIGZpCitAQCAtMjc2Miw3ICsxMTYwLDcgQEAKKyAgICAgICopCisgICAgICAgICBIT1NUX0NQVT0kaG9zdF9jcHUKKyAgICAgIDs7CistZXNhYworK2VzYWMgICAgIAorIEhPU1RfT1M9JGhvc3Rfb3MKKyAKKyAKK0BAIC0yODAwLDEzOCArMTE5OCw5MSBAQAorICAgY2FzZSAiJHtlbmFibGV2YWx9IiBpbgorICAgICAgICAgICAgICAgICAgeWVzKSBzb2NrZXRzPXRydWUgOzsKKyAgICAgICAgICAgICAgICAgIG5vKSBzb2NrZXRzPWZhbHNlIDs7CistICAgICAgICAgICAgICAgICAqKSB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBiYWQgdmFsdWUgJHtlbmFibGV2YWx9IGZvciBzb2NrZXRzIG9wdGlvbnMiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGJhZCB2YWx1ZSAke2VuYWJsZXZhbH0gZm9yIHNvY2tldHMgb3B0aW9ucyIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0gOzsKKysgICAgICAgICAgICAgICAgICopIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogYmFkIHZhbHVlICR7ZW5hYmxldmFsfSBmb3Igc29ja2V0cyBvcHRpb25zIiAxPiYyOyBleGl0IDE7IH0gOzsKKyAgICAgICAgICAgICAgICAgIGVzYWMKKyBlbHNlCisgICBzb2NrZXRzPXRydWUKKy1maTsKKytmaQorKworIGlmIHRlc3QgIiRzb2NrZXRzIiA9IGZhbHNlOyB0aGVuCistICAgY2F0ID4+Y29uZmRlZnMuaCA8PFxfQUNFT0YKKysgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyAjZGVmaW5lIENTVF9OT19TT0NLRVRTIDEKKy1fQUNFT0YKKytFT0YKKyAKKyBmaQorIAorLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworK2NhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKysjbGluZSAxMjE2ICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPHN0ZGlvLmg+CistaW50CistbWFpbiAoKQorLXsKKytpbnQgbWFpbigpIHsKKyAgc3RydWN0IGEgeyB1bmlvbiB7IGZsb2F0IGI7IGludCBjOyB9IGQ7IH07CistICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgYSBlID0geyAuZD17IC5iPTMuMTQgfSB9OworLSAgOworLSAgcmV0dXJuIDA7CistfQorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCisrICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgYSBlID0geyAuZD17IC5iPTMuMTQgfSB9OyAKKys7IHJldHVybiAwOyB9CisrRU9GCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjI0OiBcIiRhY19jb21waWxlXCIpIDE+JjU7IChldmFsICRhY19jb21waWxlKSAyPiY1OyB9OyB0aGVuCisrICBybSAtcmYgY29uZnRlc3QqCisgICB1bmlvbmluaXQ9eWVzCisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistdW5pb25pbml0PW5vCisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBybSAtcmYgY29uZnRlc3QqCisrICB1bmlvbmluaXQ9bm8KKyBmaQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorK3JtIC1mIGNvbmZ0ZXN0KgorIGlmIHRlc3QgIiR1bmlvbmluaXQiID0gbm87IHRoZW4KKy0gICBjYXQgPj5jb25mZGVmcy5oIDw8XF9BQ0VPRgorKyAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorICNkZWZpbmUgTk9fVU5JT05fSU5JVElBTElaQVRJT04gMQorLV9BQ0VPRgorK0VPRgorIAorIGZpCisgCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBtbWFwIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBtbWFwLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfZnVuY19tbWFwK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciBtbWFwIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6MTI0MjogY2hlY2tpbmcgZm9yIG1tYXAiID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9mdW5jX21tYXAnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKysgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKysjbGluZSAxMjQ3ICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAorLSAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIG1tYXAgKCk7IGJlbG93LgorLSAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCistICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCistI2lmZGVmIF9fU1REQ19fCistIyBpbmNsdWRlIDxsaW1pdHMuaD4KKy0jZWxzZQorLSMgaW5jbHVkZSA8YXNzZXJ0Lmg+CistI2VuZGlmCisrICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgbW1hcCgpOyBiZWxvdy4gICovCisrI2luY2x1ZGUgPGFzc2VydC5oPgorIC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCistI2lmZGVmIF9fY3BsdXNwbHVzCistZXh0ZXJuICJDIgorLXsKKy0jZW5kaWYKKyAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCistICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KKy1jaGFyIG1tYXAgKCk7CisrICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCisrY2hhciBtbWFwKCk7CisrCisraW50IG1haW4oKSB7CisrCisgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cworICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAorICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KKyAjaWYgZGVmaW5lZCAoX19zdHViX21tYXApIHx8IGRlZmluZWQgKF9fc3R1Yl9fX21tYXApCisgY2hva2UgbWUKKyAjZWxzZQorLWNoYXIgKCpmKSAoKSA9IG1tYXA7CisrbW1hcCgpOworICNlbmRpZgorLSNpZmRlZiBfX2NwbHVzcGx1cworLX0KKy0jZW5kaWYKKyAKKy1pbnQKKy1tYWluICgpCisteworLXJldHVybiBmICE9IG1tYXA7CistICA7CistICByZXR1cm4gMDsKKy19CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdCRhY19leGVleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19saW5rXCIiKSA+JjUKKy0gIChldmFsICRhY19saW5rKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QkYWNfZXhlZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIGFjX2N2X2Z1bmNfbW1hcD15ZXMKKys7IHJldHVybiAwOyB9CisrRU9GCisraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMjcwOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIGV2YWwgImFjX2N2X2Z1bmNfbW1hcD15ZXMiCisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistYWNfY3ZfZnVuY19tbWFwPW5vCisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBybSAtcmYgY29uZnRlc3QqCisrICBldmFsICJhY19jdl9mdW5jX21tYXA9bm8iCisgZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0Cisrcm0gLWYgY29uZnRlc3QqCisgZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfZnVuY19tbWFwIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfZnVuY19tbWFwIiA+JjYKKy1pZiB0ZXN0ICRhY19jdl9mdW5jX21tYXAgPSB5ZXM7IHRoZW4KKysKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyRhY19jdl9mdW5jXydtbWFwYFwiID0geWVzIjsgdGhlbgorKyAgZWNobyAiJGFjX3QiInllcyIgMT4mNgorICAgTU1BUFRZUEU9cG9zaXgKKytlbHNlCisrICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyBmaQorIAorIAorQEAgLTI5NTYsMTAyOCArMTMwNywyNjYgQEAKKyAKKyAKKyBBVURJT0RSSVZFUj1ub25lCistYWNfZXh0PWMKKy1hY19jcHA9JyRDUFAgJENQUEZMQUdTJworLWFjX2NvbXBpbGU9JyRDQyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKKy1hY19saW5rPSckQ0MgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JworLWFjX2NvbXBpbGVyX2dudT0kYWNfY3ZfY19jb21waWxlcl9nbnUKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IuLi4gJEVDSE9fQyIgPiY2CisrZWNobyAkYWNfbiAiY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZToxMzEyOiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3NvciIgPiY1CisgIyBPbiBTdW5zLCBzb21ldGltZXMgJENQUCBuYW1lcyBhIGRpcmVjdG9yeS4KKyBpZiB0ZXN0IC1uICIkQ1BQIiAmJiB0ZXN0IC1kICIkQ1BQIjsgdGhlbgorICAgQ1BQPQorIGZpCisgaWYgdGVzdCAteiAiJENQUCI7IHRoZW4KKy0gIGlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19DUFArc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CisraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfQ1BQJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorLSAgICAgICMgRG91YmxlIHF1b3RlcyBiZWNhdXNlIENQUCBuZWVkcyB0byBiZSBleHBhbmRlZAorLSAgICBmb3IgQ1BQIGluICIkQ0MgLUUiICIkQ0MgLUUgLXRyYWRpdGlvbmFsLWNwcCIgIi9saWIvY3BwIgorLSAgICBkbworLSAgICAgIGFjX3ByZXByb2Nfb2s9ZmFsc2UKKy1mb3IgYWNfY19wcmVwcm9jX3dhcm5fZmxhZyBpbiAnJyB5ZXMKKy1kbworLSAgIyBVc2UgYSBoZWFkZXIgZmlsZSB0aGF0IGNvbWVzIHdpdGggZ2NjLCBzbyBjb25maWd1cmluZyBnbGliYworLSAgIyB3aXRoIGEgZnJlc2ggY3Jvc3MtY29tcGlsZXIgd29ya3MuCistICAjIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKKy0gICMgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLgorKyAgICAjIFRoaXMgbXVzdCBiZSBpbiBkb3VibGUgcXVvdGVzLCBub3Qgc2luZ2xlIHF1b3RlcywgYmVjYXVzZSBDUFAgbWF5IGdldAorKyAgIyBzdWJzdGl0dXRlZCBpbnRvIHRoZSBNYWtlZmlsZSBhbmQgIiR7Q0MtY2N9IiB3aWxsIGNvbmZ1c2UgbWFrZS4KKysgIENQUD0iJHtDQy1jY30gLUUiCisgICAjIE9uIHRoZSBOZVhULCBjYyAtRSBydW5zIHRoZSBjb2RlIHRocm91Z2ggdGhlIGNvbXBpbGVyJ3MgcGFyc2VyLAorLSAgIyBub3QganVzdCB0aHJvdWdoIGNwcC4gIlN5bnRheCBlcnJvciIgaXMgaGVyZSB0byBjYXRjaCB0aGlzIGNhc2UuCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaWZkZWYgX19TVERDX18KKy0jIGluY2x1ZGUgPGxpbWl0cy5oPgorLSNlbHNlCistIyBpbmNsdWRlIDxhc3NlcnQuaD4KKy0jZW5kaWYKKy0gICAgICAgICAgICAgICAgICAgICBTeW50YXggZXJyb3IKKy1fQUNFT0YKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dFwiIikgPiY1CistICAoZXZhbCAkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQpIDI+Y29uZnRlc3QuZXIxCistICBhY19zdGF0dXM9JD8KKy0gIGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0LmVyMSA+Y29uZnRlc3QuZXJyCistICBybSAtZiBjb25mdGVzdC5lcjEKKy0gIGNhdCBjb25mdGVzdC5lcnIgPiY1CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSA+L2Rldi9udWxsOyB0aGVuCistICBpZiB0ZXN0IC1zIGNvbmZ0ZXN0LmVycjsgdGhlbgorLSAgICBhY19jcHBfZXJyPSRhY19jX3ByZXByb2Nfd2Fybl9mbGFnCistICBlbHNlCistICAgIGFjX2NwcF9lcnI9CistICBmaQorLWVsc2UKKy0gIGFjX2NwcF9lcnI9eWVzCistZmkKKy1pZiB0ZXN0IC16ICIkYWNfY3BwX2VyciI7IHRoZW4KKysgICMgbm90IGp1c3QgdGhyb3VnaCBjcHAuCisrICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisrI2xpbmUgMTMyNyAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorKyNpbmNsdWRlIDxhc3NlcnQuaD4KKytTeW50YXggRXJyb3IKKytFT0YKKythY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0IgorK3sgKGV2YWwgZWNobyBjb25maWd1cmU6MTMzMzogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0KKythY19lcnI9YGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0Lm91dCB8IGdyZXAgLXYgIl5jb25mdGVzdC4ke2FjX2V4dH1cJCJgCisraWYgdGVzdCAteiAiJGFjX2VyciI7IHRoZW4KKyAgIDoKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy0gICMgQnJva2VuOiBmYWlscyBvbiB2YWxpZCBpbnB1dC4KKy1jb250aW51ZQorLWZpCistcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19leHQKKy0KKy0gICMgT0ssIHdvcmtzIG9uIHNhbmUgY2FzZXMuICBOb3cgY2hlY2sgd2hldGhlciBub24tZXhpc3RlbnQgaGVhZGVycworLSAgIyBjYW4gYmUgZGV0ZWN0ZWQgYW5kIGhvdy4KKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgorLV9BQ0VPRgorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0XCIiKSA+JjUKKy0gIChldmFsICRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCkgMj5jb25mdGVzdC5lcjEKKy0gIGFjX3N0YXR1cz0kPworLSAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKy0gIHJtIC1mIGNvbmZ0ZXN0LmVyMQorLSAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ID4vZGV2L251bGw7IHRoZW4KKy0gIGlmIHRlc3QgLXMgY29uZnRlc3QuZXJyOyB0aGVuCistICAgIGFjX2NwcF9lcnI9JGFjX2NfcHJlcHJvY193YXJuX2ZsYWcKKy0gIGVsc2UKKy0gICAgYWNfY3BwX2Vycj0KKy0gIGZpCistZWxzZQorLSAgYWNfY3BwX2Vycj15ZXMKKy1maQorLWlmIHRlc3QgLXogIiRhY19jcHBfZXJyIjsgdGhlbgorLSAgIyBCcm9rZW46IHN1Y2Nlc3Mgb24gaW52YWxpZCBpbnB1dC4KKy1jb250aW51ZQorLWVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLSAgIyBQYXNzZXMgYm90aCB0ZXN0cy4KKy1hY19wcmVwcm9jX29rPToKKy1icmVhaworLWZpCistcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19leHQKKy0KKy1kb25lCistIyBCZWNhdXNlIG9mIGBicmVhaycsIF9BQ19QUkVQUk9DX0lGRUxTRSdzIGNsZWFuaW5nIGNvZGUgd2FzIHNraXBwZWQuCistcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19leHQKKy1pZiAkYWNfcHJlcHJvY19vazsgdGhlbgorLSAgYnJlYWsKKy1maQorLQorLSAgICBkb25lCistICAgIGFjX2N2X3Byb2dfQ1BQPSRDUFAKKy0KKy1maQorLSAgQ1BQPSRhY19jdl9wcm9nX0NQUAorLWVsc2UKKy0gIGFjX2N2X3Byb2dfQ1BQPSRDUFAKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRDUFAiID4mNQorLWVjaG8gIiR7RUNIT19UfSRDUFAiID4mNgorLWFjX3ByZXByb2Nfb2s9ZmFsc2UKKy1mb3IgYWNfY19wcmVwcm9jX3dhcm5fZmxhZyBpbiAnJyB5ZXMKKy1kbworLSAgIyBVc2UgYSBoZWFkZXIgZmlsZSB0aGF0IGNvbWVzIHdpdGggZ2NjLCBzbyBjb25maWd1cmluZyBnbGliYworLSAgIyB3aXRoIGEgZnJlc2ggY3Jvc3MtY29tcGlsZXIgd29ya3MuCistICAjIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKKy0gICMgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLgorLSAgIyBPbiB0aGUgTmVYVCwgY2MgLUUgcnVucyB0aGUgY29kZSB0aHJvdWdoIHRoZSBjb21waWxlcidzIHBhcnNlciwKKy0gICMgbm90IGp1c3QgdGhyb3VnaCBjcHAuICJTeW50YXggZXJyb3IiIGlzIGhlcmUgdG8gY2F0Y2ggdGhpcyBjYXNlLgorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2lmZGVmIF9fU1REQ19fCistIyBpbmNsdWRlIDxsaW1pdHMuaD4KKy0jZWxzZQorLSMgaW5jbHVkZSA8YXNzZXJ0Lmg+CistI2VuZGlmCistICAgICAgICAgICAgICAgICAgICAgU3ludGF4IGVycm9yCistX0FDRU9GCistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHRcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0KSAyPmNvbmZ0ZXN0LmVyMQorLSAgYWNfc3RhdHVzPSQ/CistICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorLSAgcm0gLWYgY29uZnRlc3QuZXIxCistICBjYXQgY29uZnRlc3QuZXJyID4mNQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gPi9kZXYvbnVsbDsgdGhlbgorLSAgaWYgdGVzdCAtcyBjb25mdGVzdC5lcnI7IHRoZW4KKy0gICAgYWNfY3BwX2Vycj0kYWNfY19wcmVwcm9jX3dhcm5fZmxhZworLSAgZWxzZQorLSAgICBhY19jcHBfZXJyPQorLSAgZmkKKy1lbHNlCistICBhY19jcHBfZXJyPXllcworLWZpCistaWYgdGVzdCAteiAiJGFjX2NwcF9lcnIiOyB0aGVuCisrICBlY2hvICIkYWNfZXJyIiA+JjUKKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIENQUD0iJHtDQy1jY30gLUUgLXRyYWRpdGlvbmFsLWNwcCIKKysgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKysjbGluZSAxMzQ0ICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisrI2luY2x1ZGUgPGFzc2VydC5oPgorK1N5bnRheCBFcnJvcgorK0VPRgorK2FjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0ID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQiCisreyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMzUwOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQorK2FjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKKytpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbgorICAgOgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLSAgIyBCcm9rZW46IGZhaWxzIG9uIHZhbGlkIGlucHV0LgorLWNvbnRpbnVlCistZmkKKy1ybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorLQorLSAgIyBPSywgd29ya3Mgb24gc2FuZSBjYXNlcy4gIE5vdyBjaGVjayB3aGV0aGVyIG5vbi1leGlzdGVudCBoZWFkZXJzCistICAjIGNhbiBiZSBkZXRlY3RlZCBhbmQgaG93LgorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CistX0FDRU9GCistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHRcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0KSAyPmNvbmZ0ZXN0LmVyMQorLSAgYWNfc3RhdHVzPSQ/CistICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorLSAgcm0gLWYgY29uZnRlc3QuZXIxCistICBjYXQgY29uZnRlc3QuZXJyID4mNQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gPi9kZXYvbnVsbDsgdGhlbgorLSAgaWYgdGVzdCAtcyBjb25mdGVzdC5lcnI7IHRoZW4KKy0gICAgYWNfY3BwX2Vycj0kYWNfY19wcmVwcm9jX3dhcm5fZmxhZworLSAgZWxzZQorLSAgICBhY19jcHBfZXJyPQorLSAgZmkKKy1lbHNlCistICBhY19jcHBfZXJyPXllcworLWZpCistaWYgdGVzdCAteiAiJGFjX2NwcF9lcnIiOyB0aGVuCistICAjIEJyb2tlbjogc3VjY2VzcyBvbiBpbnZhbGlkIGlucHV0LgorLWNvbnRpbnVlCistZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistICAjIFBhc3NlcyBib3RoIHRlc3RzLgorLWFjX3ByZXByb2Nfb2s9OgorLWJyZWFrCistZmkKKy1ybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorLQorLWRvbmUKKy0jIEJlY2F1c2Ugb2YgYGJyZWFrJywgX0FDX1BSRVBST0NfSUZFTFNFJ3MgY2xlYW5pbmcgY29kZSB3YXMgc2tpcHBlZC4KKy1ybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorLWlmICRhY19wcmVwcm9jX29rOyB0aGVuCisrICBlY2hvICIkYWNfZXJyIiA+JjUKKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIENQUD0iJHtDQy1jY30gLW5vbG9nbyAtRSIKKysgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKysjbGluZSAxMzYxICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisrI2luY2x1ZGUgPGFzc2VydC5oPgorK1N5bnRheCBFcnJvcgorK0VPRgorK2FjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0ID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQiCisreyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxMzY3OiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQorK2FjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKKytpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbgorICAgOgorIGVsc2UKKy0gIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IEMgcHJlcHJvY2Vzc29yIFwiJENQUFwiIGZhaWxzIHNhbml0eSBjaGVjaworLVNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMuIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBDIHByZXByb2Nlc3NvciBcIiRDUFBcIiBmYWlscyBzYW5pdHkgY2hlY2sKKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKysgIGVjaG8gIiRhY19lcnIiID4mNQorKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKysgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgQ1BQPS9saWIvY3BwCisgZmkKKy0KKy1hY19leHQ9YworLWFjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCistYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JworLWFjX2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCistYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2dudQorLQorLQorLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgZWdyZXAiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIGVncmVwLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfcHJvZ19lZ3JlcCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBpZiBlY2hvIGEgfCAoZ3JlcCAtRSAnKGF8YiknKSA+L2Rldi9udWxsIDI+JjEKKy0gICAgdGhlbiBhY19jdl9wcm9nX2VncmVwPSdncmVwIC1FJworLSAgICBlbHNlIGFjX2N2X3Byb2dfZWdyZXA9J2VncmVwJworLSAgICBmaQorK3JtIC1mIGNvbmZ0ZXN0KgorIGZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X3Byb2dfZWdyZXAiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9wcm9nX2VncmVwIiA+JjYKKy0gRUdSRVA9JGFjX2N2X3Byb2dfZWdyZXAKKy0KKy0KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMuLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfc3RkYytzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaW5jbHVkZSA8c3RkbGliLmg+CistI2luY2x1ZGUgPHN0ZGFyZy5oPgorLSNpbmNsdWRlIDxzdHJpbmcuaD4KKy0jaW5jbHVkZSA8ZmxvYXQuaD4KKy0KKy1pbnQKKy1tYWluICgpCisteworLQorLSAgOworLSAgcmV0dXJuIDA7CistfQorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICBhY19jdl9oZWFkZXJfc3RkYz15ZXMKKy1lbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy1hY19jdl9oZWFkZXJfc3RkYz1ubworLWZpCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CistCistaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX3N0ZGMgPSB5ZXM7IHRoZW4KKy0gICMgU3VuT1MgNC54IHN0cmluZy5oIGRvZXMgbm90IGRlY2xhcmUgbWVtKiwgY29udHJhcnkgdG8gQU5TSS4KKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpbmNsdWRlIDxzdHJpbmcuaD4KKy0KKy1fQUNFT0YKKy1pZiAoZXZhbCAiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0IikgMj4mNSB8CistICAkRUdSRVAgIm1lbWNociIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICA6CistZWxzZQorLSAgYWNfY3ZfaGVhZGVyX3N0ZGM9bm8KKy1maQorIHJtIC1mIGNvbmZ0ZXN0KgorLQorIGZpCistCistaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX3N0ZGMgPSB5ZXM7IHRoZW4KKy0gICMgSVNDIDIuMC4yIHN0ZGxpYi5oIGRvZXMgbm90IGRlY2xhcmUgZnJlZSwgY29udHJhcnkgdG8gQU5TSS4KKy0gIGNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpbmNsdWRlIDxzdGRsaWIuaD4KKy0KKy1fQUNFT0YKKy1pZiAoZXZhbCAiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0IikgMj4mNSB8CistICAkRUdSRVAgImZyZWUiID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgOgorLWVsc2UKKy0gIGFjX2N2X2hlYWRlcl9zdGRjPW5vCistZmkKKyBybSAtZiBjb25mdGVzdCoKKy0KKysgIGFjX2N2X3Byb2dfQ1BQPSIkQ1BQIgorIGZpCistCistaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX3N0ZGMgPSB5ZXM7IHRoZW4KKy0gICMgL2Jpbi9jYyBpbiBJcml4LTQuMC41IGdldHMgbm9uLUFOU0kgY3R5cGUgbWFjcm9zIHVubGVzcyB1c2luZyAtYW5zaS4KKy0gIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuCistICA6CisrICBDUFA9IiRhY19jdl9wcm9nX0NQUCIKKyBlbHNlCistICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0jbGluZSAkTElORU5PICJjb25maWd1cmUiCistLyogY29uZmRlZnMuaC4gICovCistX0FDRU9GCistY2F0IGNvbmZkZWZzLmggPj5jb25mdGVzdC4kYWNfZXh0CistY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLS8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKy0jaW5jbHVkZSA8Y3R5cGUuaD4KKy0jaWYgKCgnICcgJiAweDBGRikgPT0gMHgwMjApCistIyBkZWZpbmUgSVNMT1dFUihjKSAoJ2EnIDw9IChjKSAmJiAoYykgPD0gJ3onKQorLSMgZGVmaW5lIFRPVVBQRVIoYykgKElTTE9XRVIoYykgPyAnQScgKyAoKGMpIC0gJ2EnKSA6IChjKSkKKy0jZWxzZQorLSMgZGVmaW5lIElTTE9XRVIoYykgXAorLSAgICAgICAgICAgICAgICAgICAoKCdhJyA8PSAoYykgJiYgKGMpIDw9ICdpJykgXAorLSAgICAgICAgICAgICAgICAgICAgIHx8ICgnaicgPD0gKGMpICYmIChjKSA8PSAncicpIFwKKy0gICAgICAgICAgICAgICAgICAgICB8fCAoJ3MnIDw9IChjKSAmJiAoYykgPD0gJ3onKSkKKy0jIGRlZmluZSBUT1VQUEVSKGMpIChJU0xPV0VSKGMpID8gKChjKSB8IDB4NDApIDogKGMpKQorLSNlbmRpZgorLQorLSNkZWZpbmUgWE9SKGUsIGYpICgoKGUpICYmICEoZikpIHx8ICghKGUpICYmIChmKSkpCistaW50CistbWFpbiAoKQorLXsKKy0gIGludCBpOworLSAgZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKQorLSAgICBpZiAoWE9SIChpc2xvd2VyIChpKSwgSVNMT1dFUiAoaSkpCistICAgICAgICB8fCB0b3VwcGVyIChpKSAhPSBUT1VQUEVSIChpKSkKKy0gICAgICBleGl0KDIpOworLSAgZXhpdCAoMCk7CistfQorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0JGFjX2V4ZWV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2xpbmtcIiIpID4mNQorLSAgKGV2YWwgJGFjX2xpbmspIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYgeyBhY190cnk9Jy4vY29uZnRlc3QkYWNfZXhlZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIDoKKy1lbHNlCistICBlY2hvICIkYXNfbWU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzICRhY19zdGF0dXMiID4mNQorLWVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLSggZXhpdCAkYWNfc3RhdHVzICkKKy1hY19jdl9oZWFkZXJfc3RkYz1ubworKyAgYWNfY3ZfcHJvZ19DUFA9IiRDUFAiCisgZmkKKy1ybSAtZiBjb3JlIGNvcmUuKiAqLmNvcmUgZ21vbi5vdXQgYmIub3V0IGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKy1maQorLWZpCistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfaGVhZGVyX3N0ZGMiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9oZWFkZXJfc3RkYyIgPiY2CistaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX3N0ZGMgPSB5ZXM7IHRoZW4KKytlY2hvICIkYWNfdCIiJENQUCIgMT4mNgorIAorLWNhdCA+PmNvbmZkZWZzLmggPDxcX0FDRU9GCistI2RlZmluZSBTVERDX0hFQURFUlMgMQorLV9BQ0VPRgorLQorLWZpCistCistIyBPbiBJUklYIDUuMywgc3lzL3R5cGVzIGFuZCBpbnR0eXBlcy5oIGFyZSBjb25mbGljdGluZy4KKy0KKy0KKy0KKy0KKy0KKy0KKy0KKy0KKy0KKy1mb3IgYWNfaGVhZGVyIGluIHN5cy90eXBlcy5oIHN5cy9zdGF0Lmggc3RkbGliLmggc3RyaW5nLmggbWVtb3J5Lmggc3RyaW5ncy5oIFwKKy0gICAgICAgICAgICAgICAgICBpbnR0eXBlcy5oIHN0ZGludC5oIHVuaXN0ZC5oCistZG8KKy1hc19hY19IZWFkZXI9YGVjaG8gImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yICRhY19oZWFkZXIiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yICRhY19oZWFkZXIuLi4gJEVDSE9fQyIgPiY2CistaWYgZXZhbCAidGVzdCBcIlwkeyRhc19hY19IZWFkZXIrc2V0fVwiID0gc2V0IjsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKythY19zYWZlPWBlY2hvICJzeXMvc291bmRjYXJkLmgiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciBzeXMvc291bmRjYXJkLmgiIi4uLiAkYWNfYyIgMT4mNgorK2VjaG8gImNvbmZpZ3VyZToxMzkzOiBjaGVja2luZyBmb3Igc3lzL3NvdW5kY2FyZC5oIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorLSAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistJGFjX2luY2x1ZGVzX2RlZmF1bHQKKy0KKy0jaW5jbHVkZSA8JGFjX2hlYWRlcj4KKy1fQUNFT0YKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0CistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY29tcGlsZVwiIikgPiY1CistICAoZXZhbCAkYWNfY29tcGlsZSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfSAmJgorLSAgICAgICAgIHsgYWNfdHJ5PSd0ZXN0IC1zIGNvbmZ0ZXN0LiRhY19vYmpleHQnCistICB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY190cnlcIiIpID4mNQorLSAgKGV2YWwgJGFjX3RyeSkgMj4mNQorLSAgYWNfc3RhdHVzPSQ/CistICBlY2hvICIkYXNfbWU6JExJTkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CistICAoZXhpdCAkYWNfc3RhdHVzKTsgfTsgfTsgdGhlbgorLSAgZXZhbCAiJGFzX2FjX0hlYWRlcj15ZXMiCistZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistZXZhbCAiJGFzX2FjX0hlYWRlcj1ubyIKKy1maQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogYGV2YWwgZWNobyAnJHsnJGFzX2FjX0hlYWRlcid9J2AiID4mNQorLWVjaG8gIiR7RUNIT19UfWBldmFsIGVjaG8gJyR7JyRhc19hY19IZWFkZXInfSdgIiA+JjYKKy1pZiB0ZXN0IGBldmFsIGVjaG8gJyR7JyRhc19hY19IZWFkZXInfSdgID0geWVzOyB0aGVuCistICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCistI2RlZmluZSBgZWNobyAiSEFWRV8kYWNfaGVhZGVyIiB8ICRhc190cl9jcHBgIDEKKy1fQUNFT0YKKy0KKy1maQorLQorLWRvbmUKKy0KKy0KKy1pZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9zeXNfc291bmRjYXJkX2grc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3Igc3lzL3NvdW5kY2FyZC5oIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBzeXMvc291bmRjYXJkLmguLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfc3lzX3NvdW5kY2FyZF9oK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2hlYWRlcl9zeXNfc291bmRjYXJkX2giID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9oZWFkZXJfc3lzX3NvdW5kY2FyZF9oIiA+JjYKKy1lbHNlCistICAjIElzIHRoZSBoZWFkZXIgY29tcGlsYWJsZT8KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgc3lzL3NvdW5kY2FyZC5oIHVzYWJpbGl0eSIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBzeXMvc291bmRjYXJkLmggdXNhYmlsaXR5Li4uICRFQ0hPX0MiID4mNgorLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSRhY19pbmNsdWRlc19kZWZhdWx0CisrICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisrI2xpbmUgMTM5OCAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzeXMvc291bmRjYXJkLmg+CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIGFjX2hlYWRlcl9jb21waWxlcj15ZXMKKytFT0YKKythY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0IgorK3sgKGV2YWwgZWNobyBjb25maWd1cmU6MTQwMzogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0KKythY19lcnI9YGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0Lm91dCB8IGdyZXAgLXYgIl5jb25mdGVzdC4ke2FjX2V4dH1cJCJgCisraWYgdGVzdCAteiAiJGFjX2VyciI7IHRoZW4KKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistYWNfaGVhZGVyX2NvbXBpbGVyPW5vCisrICBlY2hvICIkYWNfZXJyIiA+JjUKKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT1ubyIKKyBmaQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19oZWFkZXJfY29tcGlsZXIiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19oZWFkZXJfY29tcGlsZXIiID4mNgorLQorLSMgSXMgdGhlIGhlYWRlciBwcmVzZW50PworLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBzeXMvc291bmRjYXJkLmggcHJlc2VuY2UiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgc3lzL3NvdW5kY2FyZC5oIHByZXNlbmNlLi4uICRFQ0hPX0MiID4mNgorLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpbmNsdWRlIDxzeXMvc291bmRjYXJkLmg+CistX0FDRU9GCistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHRcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0KSAyPmNvbmZ0ZXN0LmVyMQorLSAgYWNfc3RhdHVzPSQ/CistICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorLSAgcm0gLWYgY29uZnRlc3QuZXIxCistICBjYXQgY29uZnRlc3QuZXJyID4mNQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gPi9kZXYvbnVsbDsgdGhlbgorLSAgaWYgdGVzdCAtcyBjb25mdGVzdC5lcnI7IHRoZW4KKy0gICAgYWNfY3BwX2Vycj0kYWNfY19wcmVwcm9jX3dhcm5fZmxhZworLSAgZWxzZQorLSAgICBhY19jcHBfZXJyPQorLSAgZmkKKy1lbHNlCistICBhY19jcHBfZXJyPXllcworK3JtIC1mIGNvbmZ0ZXN0KgorIGZpCistaWYgdGVzdCAteiAiJGFjX2NwcF9lcnIiOyB0aGVuCistICBhY19oZWFkZXJfcHJlcHJvYz15ZXMKKy1lbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy0gIGFjX2hlYWRlcl9wcmVwcm9jPW5vCistZmkKKy1ybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19oZWFkZXJfcHJlcHJvYyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2hlYWRlcl9wcmVwcm9jIiA+JjYKKy0KKy0jIFNvPyAgV2hhdCBhYm91dCB0aGlzIGhlYWRlcj8KKy1jYXNlICRhY19oZWFkZXJfY29tcGlsZXI6JGFjX2hlYWRlcl9wcmVwcm9jIGluCistICB5ZXM6bm8gKQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBzeXMvc291bmRjYXJkLmg6IGFjY2VwdGVkIGJ5IHRoZSBjb21waWxlciwgcmVqZWN0ZWQgYnkgdGhlIHByZXByb2Nlc3NvciEiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogc3lzL3NvdW5kY2FyZC5oOiBhY2NlcHRlZCBieSB0aGUgY29tcGlsZXIsIHJlamVjdGVkIGJ5IHRoZSBwcmVwcm9jZXNzb3IhIiA+JjI7fQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBzeXMvc291bmRjYXJkLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHN5cy9zb3VuZGNhcmQuaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mMjt9CistICAgICgKKy0gICAgICBjYXQgPDxcX0FTQk9YCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgUmVwb3J0IHRoaXMgdG8gYnVnLWF1dG9jb25mQGdudS5vcmcuICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistX0FTQk9YCistICAgICkgfAorLSAgICAgIHNlZCAicy9eLyRhc19tZTogV0FSTklORzogICAgIC8iID4mMgorLSAgICA7OworLSAgbm86eWVzICkKKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogc3lzL3NvdW5kY2FyZC5oOiBwcmVzZW50IGJ1dCBjYW5ub3QgYmUgY29tcGlsZWQiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogc3lzL3NvdW5kY2FyZC5oOiBwcmVzZW50IGJ1dCBjYW5ub3QgYmUgY29tcGlsZWQiID4mMjt9CistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IHN5cy9zb3VuZGNhcmQuaDogY2hlY2sgZm9yIG1pc3NpbmcgcHJlcmVxdWlzaXRlIGhlYWRlcnM/IiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHN5cy9zb3VuZGNhcmQuaDogY2hlY2sgZm9yIG1pc3NpbmcgcHJlcmVxdWlzaXRlIGhlYWRlcnM/IiA+JjI7fQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBzeXMvc291bmRjYXJkLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IHN5cy9zb3VuZGNhcmQuaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mMjt9CistICAgICgKKy0gICAgICBjYXQgPDxcX0FTQk9YCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgUmVwb3J0IHRoaXMgdG8gYnVnLWF1dG9jb25mQGdudS5vcmcuICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistX0FTQk9YCistICAgICkgfAorLSAgICAgIHNlZCAicy9eLyRhc19tZTogV0FSTklORzogICAgIC8iID4mMgorLSAgICA7OworLWVzYWMKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIHN5cy9zb3VuZGNhcmQuaCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3Igc3lzL3NvdW5kY2FyZC5oLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX3N5c19zb3VuZGNhcmRfaCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1lbHNlCistICBhY19jdl9oZWFkZXJfc3lzX3NvdW5kY2FyZF9oPSRhY19oZWFkZXJfcHJlcHJvYworLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2hlYWRlcl9zeXNfc291bmRjYXJkX2giID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9oZWFkZXJfc3lzX3NvdW5kY2FyZF9oIiA+JjYKKy0KKy1maQorLWlmIHRlc3QgJGFjX2N2X2hlYWRlcl9zeXNfc291bmRjYXJkX2ggPSB5ZXM7IHRoZW4KKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyRhY19jdl9oZWFkZXJfJyRhY19zYWZlYFwiID0geWVzIjsgdGhlbgorKyAgZWNobyAiJGFjX3QiInllcyIgMT4mNgorICAgQVVESU9EUklWRVI9Im9zcyIKKyAgICAgICAgICAgICAgICBBVURJT0RFRlM9LURDU1RfQVVESU9fTElOVVgKKytlbHNlCisrICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyBmaQorIAorLQorLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX21hY2hpbmVfc291bmRjYXJkX2grc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgbWFjaGluZS9zb3VuZGNhcmQuaCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgbWFjaGluZS9zb3VuZGNhcmQuaC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9tYWNoaW5lX3NvdW5kY2FyZF9oK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2hlYWRlcl9tYWNoaW5lX3NvdW5kY2FyZF9oIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfaGVhZGVyX21hY2hpbmVfc291bmRjYXJkX2giID4mNgorK2FjX3NhZmU9YGVjaG8gIm1hY2hpbmUvc291bmRjYXJkLmgiIHwgc2VkICd5JS4vKy0lX19wXyUnYAorK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciBtYWNoaW5lL3NvdW5kY2FyZC5oIiIuLi4gJGFjX2MiIDE+JjYKKytlY2hvICJjb25maWd1cmU6MTQyNzogY2hlY2tpbmcgZm9yIG1hY2hpbmUvc291bmRjYXJkLmgiID4mNQorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKKyBlbHNlCistICAjIElzIHRoZSBoZWFkZXIgY29tcGlsYWJsZT8KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgbWFjaGluZS9zb3VuZGNhcmQuaCB1c2FiaWxpdHkiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgbWFjaGluZS9zb3VuZGNhcmQuaCB1c2FiaWxpdHkuLi4gJEVDSE9fQyIgPiY2CistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistJGFjX2luY2x1ZGVzX2RlZmF1bHQKKysgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKysjbGluZSAxNDMyICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisgI2luY2x1ZGUgPG1hY2hpbmUvc291bmRjYXJkLmg+CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIGFjX2hlYWRlcl9jb21waWxlcj15ZXMKKytFT0YKKythY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0IgorK3sgKGV2YWwgZWNobyBjb25maWd1cmU6MTQzNzogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0KKythY19lcnI9YGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0Lm91dCB8IGdyZXAgLXYgIl5jb25mdGVzdC4ke2FjX2V4dH1cJCJgCisraWYgdGVzdCAteiAiJGFjX2VyciI7IHRoZW4KKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCisgZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistYWNfaGVhZGVyX2NvbXBpbGVyPW5vCisrICBlY2hvICIkYWNfZXJyIiA+JjUKKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT1ubyIKKyBmaQorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19oZWFkZXJfY29tcGlsZXIiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19oZWFkZXJfY29tcGlsZXIiID4mNgorLQorLSMgSXMgdGhlIGhlYWRlciBwcmVzZW50PworLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBtYWNoaW5lL3NvdW5kY2FyZC5oIHByZXNlbmNlIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIG1hY2hpbmUvc291bmRjYXJkLmggcHJlc2VuY2UuLi4gJEVDSE9fQyIgPiY2CistY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgorLS8qIGNvbmZkZWZzLmguICAqLworLV9BQ0VPRgorLWNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAorLWNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKKy0vKiBlbmQgY29uZmRlZnMuaC4gICovCistI2luY2x1ZGUgPG1hY2hpbmUvc291bmRjYXJkLmg+CistX0FDRU9GCistaWYgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHRcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0KSAyPmNvbmZ0ZXN0LmVyMQorLSAgYWNfc3RhdHVzPSQ/CistICBncmVwIC12ICdeICorJyBjb25mdGVzdC5lcjEgPmNvbmZ0ZXN0LmVycgorLSAgcm0gLWYgY29uZnRlc3QuZXIxCistICBjYXQgY29uZnRlc3QuZXJyID4mNQorLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gPi9kZXYvbnVsbDsgdGhlbgorLSAgaWYgdGVzdCAtcyBjb25mdGVzdC5lcnI7IHRoZW4KKy0gICAgYWNfY3BwX2Vycj0kYWNfY19wcmVwcm9jX3dhcm5fZmxhZworLSAgZWxzZQorLSAgICBhY19jcHBfZXJyPQorLSAgZmkKKy1lbHNlCistICBhY19jcHBfZXJyPXllcworK3JtIC1mIGNvbmZ0ZXN0KgorIGZpCistaWYgdGVzdCAteiAiJGFjX2NwcF9lcnIiOyB0aGVuCistICBhY19oZWFkZXJfcHJlcHJvYz15ZXMKKy1lbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy0gIGFjX2hlYWRlcl9wcmVwcm9jPW5vCistZmkKKy1ybSAtZiBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX2V4dAorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19oZWFkZXJfcHJlcHJvYyIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2hlYWRlcl9wcmVwcm9jIiA+JjYKKy0KKy0jIFNvPyAgV2hhdCBhYm91dCB0aGlzIGhlYWRlcj8KKy1jYXNlICRhY19oZWFkZXJfY29tcGlsZXI6JGFjX2hlYWRlcl9wcmVwcm9jIGluCistICB5ZXM6bm8gKQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBtYWNoaW5lL3NvdW5kY2FyZC5oOiBhY2NlcHRlZCBieSB0aGUgY29tcGlsZXIsIHJlamVjdGVkIGJ5IHRoZSBwcmVwcm9jZXNzb3IhIiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IG1hY2hpbmUvc291bmRjYXJkLmg6IGFjY2VwdGVkIGJ5IHRoZSBjb21waWxlciwgcmVqZWN0ZWQgYnkgdGhlIHByZXByb2Nlc3NvciEiID4mMjt9CistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IG1hY2hpbmUvc291bmRjYXJkLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IG1hY2hpbmUvc291bmRjYXJkLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjI7fQorLSAgICAoCistICAgICAgY2F0IDw8XF9BU0JPWAorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIFJlcG9ydCB0aGlzIHRvIGJ1Zy1hdXRvY29uZkBnbnUub3JnLiAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLV9BU0JPWAorLSAgICApIHwKKy0gICAgICBzZWQgInMvXi8kYXNfbWU6IFdBUk5JTkc6ICAgICAvIiA+JjIKKy0gICAgOzsKKy0gIG5vOnllcyApCistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IG1hY2hpbmUvc291bmRjYXJkLmg6IHByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZCIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBtYWNoaW5lL3NvdW5kY2FyZC5oOiBwcmVzZW50IGJ1dCBjYW5ub3QgYmUgY29tcGlsZWQiID4mMjt9CistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IG1hY2hpbmUvc291bmRjYXJkLmg6IGNoZWNrIGZvciBtaXNzaW5nIHByZXJlcXVpc2l0ZSBoZWFkZXJzPyIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBtYWNoaW5lL3NvdW5kY2FyZC5oOiBjaGVjayBmb3IgbWlzc2luZyBwcmVyZXF1aXNpdGUgaGVhZGVycz8iID4mMjt9CistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IG1hY2hpbmUvc291bmRjYXJkLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IG1hY2hpbmUvc291bmRjYXJkLmg6IHByb2NlZWRpbmcgd2l0aCB0aGUgcHJlcHJvY2Vzc29yJ3MgcmVzdWx0IiA+JjI7fQorLSAgICAoCistICAgICAgY2F0IDw8XF9BU0JPWAorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIFJlcG9ydCB0aGlzIHRvIGJ1Zy1hdXRvY29uZkBnbnUub3JnLiAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLV9BU0JPWAorLSAgICApIHwKKy0gICAgICBzZWQgInMvXi8kYXNfbWU6IFdBUk5JTkc6ICAgICAvIiA+JjIKKy0gICAgOzsKKy1lc2FjCistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIGZvciBtYWNoaW5lL3NvdW5kY2FyZC5oIiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIGZvciBtYWNoaW5lL3NvdW5kY2FyZC5oLi4uICRFQ0hPX0MiID4mNgorLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX21hY2hpbmVfc291bmRjYXJkX2grc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gJEVDSE9fTiAiKGNhY2hlZCkgJEVDSE9fQyIgPiY2CistZWxzZQorLSAgYWNfY3ZfaGVhZGVyX21hY2hpbmVfc291bmRjYXJkX2g9JGFjX2hlYWRlcl9wcmVwcm9jCistZmkKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfY3ZfaGVhZGVyX21hY2hpbmVfc291bmRjYXJkX2giID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19jdl9oZWFkZXJfbWFjaGluZV9zb3VuZGNhcmRfaCIgPiY2CistCistZmkKKy1pZiB0ZXN0ICRhY19jdl9oZWFkZXJfbWFjaGluZV9zb3VuZGNhcmRfaCA9IHllczsgdGhlbgorK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJGFjX2N2X2hlYWRlcl8nJGFjX3NhZmVgXCIgPSB5ZXMiOyB0aGVuCisrICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgICBBVURJT0RSSVZFUj0ib3NzIgorICAgICAgICAgICAgICAgIEFVRElPREVGUz0tRENTVF9BVURJT19GUkVFQlNECisrZWxzZQorKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgZmkKKyAKKy0KKy1pZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9zeXNfYXVkaW9pb19oK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIHN5cy9hdWRpb2lvLmgiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIHN5cy9hdWRpb2lvLmguLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfc3lzX2F1ZGlvaW9faCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKy1maQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfc3lzX2F1ZGlvaW9faCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2hlYWRlcl9zeXNfYXVkaW9pb19oIiA+JjYKKythY19zYWZlPWBlY2hvICJzeXMvYXVkaW9pby5oIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKytlY2hvICRhY19uICJjaGVja2luZyBmb3Igc3lzL2F1ZGlvaW8uaCIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjE0NjE6IGNoZWNraW5nIGZvciBzeXMvYXVkaW9pby5oIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorLSAgIyBJcyB0aGUgaGVhZGVyIGNvbXBpbGFibGU/CistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIHN5cy9hdWRpb2lvLmggdXNhYmlsaXR5IiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIHN5cy9hdWRpb2lvLmggdXNhYmlsaXR5Li4uICRFQ0hPX0MiID4mNgorLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSRhY19pbmNsdWRlc19kZWZhdWx0CisrICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisrI2xpbmUgMTQ2NiAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorICNpbmNsdWRlIDxzeXMvYXVkaW9pby5oPgorLV9BQ0VPRgorLXJtIC1mIGNvbmZ0ZXN0LiRhY19vYmpleHQKKy1pZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jb21waWxlXCIiKSA+JjUKKy0gIChldmFsICRhY19jb21waWxlKSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ICYmCistICAgICAgICAgeyBhY190cnk9J3Rlc3QgLXMgY29uZnRlc3QuJGFjX29iamV4dCcKKy0gIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX3RyeVwiIikgPiY1CistICAoZXZhbCAkYWNfdHJ5KSAyPiY1CistICBhY19zdGF0dXM9JD8KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9OyB9OyB0aGVuCistICBhY19oZWFkZXJfY29tcGlsZXI9eWVzCisrRU9GCisrYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCIKKyt7IChldmFsIGVjaG8gY29uZmlndXJlOjE0NzE6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9CisrYWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXQgfCBncmVwIC12ICJeY29uZnRlc3QuJHthY19leHR9XCQiYAorK2lmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuCisrICBybSAtcmYgY29uZnRlc3QqCisrICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLWFjX2hlYWRlcl9jb21waWxlcj1ubworKyAgZWNobyAiJGFjX2VyciIgPiY1CisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBybSAtcmYgY29uZnRlc3QqCisrICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9bm8iCisgZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfaGVhZGVyX2NvbXBpbGVyIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfaGVhZGVyX2NvbXBpbGVyIiA+JjYKKy0KKy0jIElzIHRoZSBoZWFkZXIgcHJlc2VudD8KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgc3lzL2F1ZGlvaW8uaCBwcmVzZW5jZSIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBzeXMvYXVkaW9pby5oIHByZXNlbmNlLi4uICRFQ0hPX0MiID4mNgorLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpbmNsdWRlIDxzeXMvYXVkaW9pby5oPgorLV9BQ0VPRgorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0XCIiKSA+JjUKKy0gIChldmFsICRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCkgMj5jb25mdGVzdC5lcjEKKy0gIGFjX3N0YXR1cz0kPworLSAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKy0gIHJtIC1mIGNvbmZ0ZXN0LmVyMQorLSAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ID4vZGV2L251bGw7IHRoZW4KKy0gIGlmIHRlc3QgLXMgY29uZnRlc3QuZXJyOyB0aGVuCistICAgIGFjX2NwcF9lcnI9JGFjX2NfcHJlcHJvY193YXJuX2ZsYWcKKy0gIGVsc2UKKy0gICAgYWNfY3BwX2Vycj0KKy0gIGZpCistZWxzZQorLSAgYWNfY3BwX2Vycj15ZXMKKytybSAtZiBjb25mdGVzdCoKKyBmaQorLWlmIHRlc3QgLXogIiRhY19jcHBfZXJyIjsgdGhlbgorLSAgYWNfaGVhZGVyX3ByZXByb2M9eWVzCistZWxzZQorLSAgZWNobyAiJGFzX21lOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKy1zZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CistCistICBhY19oZWFkZXJfcHJlcHJvYz1ubworLWZpCistcm0gLWYgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19leHQKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfaGVhZGVyX3ByZXByb2MiID4mNQorLWVjaG8gIiR7RUNIT19UfSRhY19oZWFkZXJfcHJlcHJvYyIgPiY2CistCistIyBTbz8gIFdoYXQgYWJvdXQgdGhpcyBoZWFkZXI/CistY2FzZSAkYWNfaGVhZGVyX2NvbXBpbGVyOiRhY19oZWFkZXJfcHJlcHJvYyBpbgorLSAgeWVzOm5vICkKKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogc3lzL2F1ZGlvaW8uaDogYWNjZXB0ZWQgYnkgdGhlIGNvbXBpbGVyLCByZWplY3RlZCBieSB0aGUgcHJlcHJvY2Vzc29yISIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBzeXMvYXVkaW9pby5oOiBhY2NlcHRlZCBieSB0aGUgY29tcGlsZXIsIHJlamVjdGVkIGJ5IHRoZSBwcmVwcm9jZXNzb3IhIiA+JjI7fQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBzeXMvYXVkaW9pby5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBzeXMvYXVkaW9pby5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiYyO30KKy0gICAgKAorLSAgICAgIGNhdCA8PFxfQVNCT1gKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBSZXBvcnQgdGhpcyB0byBidWctYXV0b2NvbmZAZ251Lm9yZy4gIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy1fQVNCT1gKKy0gICAgKSB8CistICAgICAgc2VkICJzL14vJGFzX21lOiBXQVJOSU5HOiAgICAgLyIgPiYyCistICAgIDs7CistICBubzp5ZXMgKQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBzeXMvYXVkaW9pby5oOiBwcmVzZW50IGJ1dCBjYW5ub3QgYmUgY29tcGlsZWQiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogc3lzL2F1ZGlvaW8uaDogcHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkIiA+JjI7fQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBzeXMvYXVkaW9pby5oOiBjaGVjayBmb3IgbWlzc2luZyBwcmVyZXF1aXNpdGUgaGVhZGVycz8iID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogc3lzL2F1ZGlvaW8uaDogY2hlY2sgZm9yIG1pc3NpbmcgcHJlcmVxdWlzaXRlIGhlYWRlcnM/IiA+JjI7fQorLSAgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBXQVJOSU5HOiBzeXMvYXVkaW9pby5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiY1CistZWNobyAiJGFzX21lOiBXQVJOSU5HOiBzeXMvYXVkaW9pby5oOiBwcm9jZWVkaW5nIHdpdGggdGhlIHByZXByb2Nlc3NvcidzIHJlc3VsdCIgPiYyO30KKy0gICAgKAorLSAgICAgIGNhdCA8PFxfQVNCT1gKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy0jIyBSZXBvcnQgdGhpcyB0byBidWctYXV0b2NvbmZAZ251Lm9yZy4gIyMKKy0jIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKKy1fQVNCT1gKKy0gICAgKSB8CistICAgICAgc2VkICJzL14vJGFzX21lOiBXQVJOSU5HOiAgICAgLyIgPiYyCistICAgIDs7CistZXNhYworLWVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3Igc3lzL2F1ZGlvaW8uaCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3Igc3lzL2F1ZGlvaW8uaC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9zeXNfYXVkaW9pb19oK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWVsc2UKKy0gIGFjX2N2X2hlYWRlcl9zeXNfYXVkaW9pb19oPSRhY19oZWFkZXJfcHJlcHJvYworLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2hlYWRlcl9zeXNfYXVkaW9pb19oIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfaGVhZGVyX3N5c19hdWRpb2lvX2giID4mNgorLQorLWZpCistaWYgdGVzdCAkYWNfY3ZfaGVhZGVyX3N5c19hdWRpb2lvX2ggPSB5ZXM7IHRoZW4KKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyRhY19jdl9oZWFkZXJfJyRhY19zYWZlYFwiID0geWVzIjsgdGhlbgorKyAgZWNobyAiJGFjX3QiInllcyIgMT4mNgorICAgQVVESU9EUklWRVI9InN1biIKKyAgICAgICAgICAgICAgICBBVURJT0RFRlM9LURDU1RfQVVESU9fU1VOT1MKKytlbHNlCisrICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyBmaQorIAorLQorLWlmIHRlc3QgIiR7YWNfY3ZfaGVhZGVyX21tc3lzdGVtX2grc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBmb3IgbW1zeXN0ZW0uaCIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBmb3IgbW1zeXN0ZW0uaC4uLiAkRUNIT19DIiA+JjYKKy1pZiB0ZXN0ICIke2FjX2N2X2hlYWRlcl9tbXN5c3RlbV9oK3NldH0iID0gc2V0OyB0aGVuCistICBlY2hvICRFQ0hPX04gIihjYWNoZWQpICRFQ0hPX0MiID4mNgorLWZpCistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2N2X2hlYWRlcl9tbXN5c3RlbV9oIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfY3ZfaGVhZGVyX21tc3lzdGVtX2giID4mNgorKyBhY19zYWZlPWBlY2hvICJhbHNhL2Fzb3VuZGxpYi5oIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKytlY2hvICRhY19uICJjaGVja2luZyBmb3IgYWxzYS9hc291bmRsaWIuaCIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjE0OTU6IGNoZWNraW5nIGZvciBhbHNhL2Fzb3VuZGxpYi5oIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorLSAgIyBJcyB0aGUgaGVhZGVyIGNvbXBpbGFibGU/CistZWNobyAiJGFzX21lOiRMSU5FTk86IGNoZWNraW5nIG1tc3lzdGVtLmggdXNhYmlsaXR5IiA+JjUKKy1lY2hvICRFQ0hPX04gImNoZWNraW5nIG1tc3lzdGVtLmggdXNhYmlsaXR5Li4uICRFQ0hPX0MiID4mNgorLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSRhY19pbmNsdWRlc19kZWZhdWx0CistI2luY2x1ZGUgPG1tc3lzdGVtLmg+CistX0FDRU9GCistcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NvbXBpbGVcIiIpID4mNQorLSAgKGV2YWwgJGFjX2NvbXBpbGUpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gJiYKKy0gICAgICAgICB7IGFjX3RyeT0ndGVzdCAtcyBjb25mdGVzdC4kYWNfb2JqZXh0JworLSAgeyAoZXZhbCBlY2hvICIkYXNfbWU6JExJTkVOTzogXCIkYWNfdHJ5XCIiKSA+JjUKKy0gIChldmFsICRhY190cnkpIDI+JjUKKy0gIGFjX3N0YXR1cz0kPworLSAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMiID4mNQorLSAgKGV4aXQgJGFjX3N0YXR1cyk7IH07IH07IHRoZW4KKy0gIGFjX2hlYWRlcl9jb21waWxlcj15ZXMKKysgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKysjbGluZSAxNTAwICJjb25maWd1cmUiCisrI2luY2x1ZGUgImNvbmZkZWZzLmgiCisrI2luY2x1ZGUgPGFsc2EvYXNvdW5kbGliLmg+CisrRU9GCisrYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCIKKyt7IChldmFsIGVjaG8gY29uZmlndXJlOjE1MDU6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9CisrYWNfZXJyPWBncmVwIC12ICdeICorJyBjb25mdGVzdC5vdXQgfCBncmVwIC12ICJeY29uZnRlc3QuJHthY19leHR9XCQiYAorK2lmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuCisrICBybSAtcmYgY29uZnRlc3QqCisrICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9eWVzIgorIGVsc2UKKy0gIGVjaG8gIiRhc19tZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1Cistc2VkICdzL14vfCAvJyBjb25mdGVzdC4kYWNfZXh0ID4mNQorLQorLWFjX2hlYWRlcl9jb21waWxlcj1ubworKyAgZWNobyAiJGFjX2VyciIgPiY1CisrICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisrICBybSAtcmYgY29uZnRlc3QqCisrICBldmFsICJhY19jdl9oZWFkZXJfJGFjX3NhZmU9bm8iCisgZmkKKy1ybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiAkYWNfaGVhZGVyX2NvbXBpbGVyIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfaGVhZGVyX2NvbXBpbGVyIiA+JjYKKy0KKy0jIElzIHRoZSBoZWFkZXIgcHJlc2VudD8KKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgbW1zeXN0ZW0uaCBwcmVzZW5jZSIgPiY1CistZWNobyAkRUNIT19OICJjaGVja2luZyBtbXN5c3RlbS5oIHByZXNlbmNlLi4uICRFQ0hPX0MiID4mNgorLWNhdCA+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgorLSNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKKy0vKiBjb25mZGVmcy5oLiAgKi8KKy1fQUNFT0YKKy1jYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKKy1jYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCistLyogZW5kIGNvbmZkZWZzLmguICAqLworLSNpbmNsdWRlIDxtbXN5c3RlbS5oPgorLV9BQ0VPRgorLWlmIHsgKGV2YWwgZWNobyAiJGFzX21lOiRMSU5FTk86IFwiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0XCIiKSA+JjUKKy0gIChldmFsICRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCkgMj5jb25mdGVzdC5lcjEKKy0gIGFjX3N0YXR1cz0kPworLSAgZ3JlcCAtdiAnXiAqKycgY29uZnRlc3QuZXIxID5jb25mdGVzdC5lcnIKKy0gIHJtIC1mIGNvbmZ0ZXN0LmVyMQorLSAgY2F0IGNvbmZ0ZXN0LmVyciA+JjUKKy0gIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKy0gIChleGl0ICRhY19zdGF0dXMpOyB9ID4vZGV2L251bGw7IHRoZW4KKy0gIGlmIHRlc3QgLXMgY29uZnRlc3QuZXJyOyB0aGVuCistICAgIGFjX2NwcF9lcnI9JGFjX2NfcHJlcHJvY193YXJuX2ZsYWcKKy0gIGVsc2UKKy0gICAgYWNfY3BwX2Vycj0KKy0gIGZpCistZWxzZQorLSAgYWNfY3BwX2Vycj15ZXMKKytybSAtZiBjb25mdGVzdCoKKyBmaQorLWlmIHRlc3QgLXogIiRhY19jcHBfZXJyIjsgdGhlbgorLSAgYWNfaGVhZGVyX3ByZXByb2M9eWVzCisraWYgZXZhbCAidGVzdCBcImBlY2hvICckYWNfY3ZfaGVhZGVyXyckYWNfc2FmZWBcIiA9IHllcyI7IHRoZW4KKysgIGVjaG8gIiRhY190IiJ5ZXMiIDE+JjYKKysgIEFVRElPRFJJVkVSPSJhbHNhIgorKwkgICAgICAgQVVESU9ERUZTPS1EQ1NUX0FVRElPX0FMU0EKKysgICAgICAgICAgICAgICBBVURJT0xJQlM9LWxhc291bmQKKyBlbHNlCistICBlY2hvICIkYXNfbWU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorLXNlZCAncy9eL3wgLycgY29uZnRlc3QuJGFjX2V4dCA+JjUKKy0KKy0gIGFjX2hlYWRlcl9wcmVwcm9jPW5vCisrICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyBmaQorLXJtIC1mIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfZXh0CistZWNobyAiJGFzX21lOiRMSU5FTk86IHJlc3VsdDogJGFjX2hlYWRlcl9wcmVwcm9jIiA+JjUKKy1lY2hvICIke0VDSE9fVH0kYWNfaGVhZGVyX3ByZXByb2MiID4mNgorIAorLSMgU28/ICBXaGF0IGFib3V0IHRoaXMgaGVhZGVyPworLWNhc2UgJGFjX2hlYWRlcl9jb21waWxlcjokYWNfaGVhZGVyX3ByZXByb2MgaW4KKy0gIHllczpubyApCistICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IFdBUk5JTkc6IG1tc3lzdGVtLmg6IGFjY2VwdGVkIGJ5IHRoZSBjb21waWxlciwgcmVqZWN0ZWQgYnkgdGhlIHByZXByb2Nlc3NvciEiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogbW1zeXN0ZW0uaDogYWNjZXB0ZWQgYnkgdGhlIGNvbXBpbGVyLCByZWplY3RlZCBieSB0aGUgcHJlcHJvY2Vzc29yISIgPiYyO30KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogbW1zeXN0ZW0uaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogbW1zeXN0ZW0uaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mMjt9CistICAgICgKKy0gICAgICBjYXQgPDxcX0FTQk9YCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgUmVwb3J0IHRoaXMgdG8gYnVnLWF1dG9jb25mQGdudS5vcmcuICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistX0FTQk9YCistICAgICkgfAorLSAgICAgIHNlZCAicy9eLyRhc19tZTogV0FSTklORzogICAgIC8iID4mMgorLSAgICA7OworLSAgbm86eWVzICkKKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogbW1zeXN0ZW0uaDogcHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkIiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IG1tc3lzdGVtLmg6IHByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZCIgPiYyO30KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogbW1zeXN0ZW0uaDogY2hlY2sgZm9yIG1pc3NpbmcgcHJlcmVxdWlzaXRlIGhlYWRlcnM/IiA+JjUKKy1lY2hvICIkYXNfbWU6IFdBUk5JTkc6IG1tc3lzdGVtLmg6IGNoZWNrIGZvciBtaXNzaW5nIHByZXJlcXVpc2l0ZSBoZWFkZXJzPyIgPiYyO30KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogV0FSTklORzogbW1zeXN0ZW0uaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mNQorLWVjaG8gIiRhc19tZTogV0FSTklORzogbW1zeXN0ZW0uaDogcHJvY2VlZGluZyB3aXRoIHRoZSBwcmVwcm9jZXNzb3IncyByZXN1bHQiID4mMjt9CistICAgICgKKy0gICAgICBjYXQgPDxcX0FTQk9YCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistIyMgUmVwb3J0IHRoaXMgdG8gYnVnLWF1dG9jb25mQGdudS5vcmcuICMjCistIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCistX0FTQk9YCistICAgICkgfAorLSAgICAgIHNlZCAicy9eLyRhc19tZTogV0FSTklORzogICAgIC8iID4mMgorLSAgICA7OworLWVzYWMKKy1lY2hvICIkYXNfbWU6JExJTkVOTzogY2hlY2tpbmcgZm9yIG1tc3lzdGVtLmgiID4mNQorLWVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIG1tc3lzdGVtLmguLi4gJEVDSE9fQyIgPiY2CistaWYgdGVzdCAiJHthY19jdl9oZWFkZXJfbW1zeXN0ZW1faCtzZXR9IiA9IHNldDsgdGhlbgorLSAgZWNobyAkRUNIT19OICIoY2FjaGVkKSAkRUNIT19DIiA+JjYKKythY19zYWZlPWBlY2hvICJtbXN5c3RlbS5oIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKKytlY2hvICRhY19uICJjaGVja2luZyBmb3IgbW1zeXN0ZW0uaCIiLi4uICRhY19jIiAxPiY2CisrZWNobyAiY29uZmlndXJlOjE1MzA6IGNoZWNraW5nIGZvciBtbXN5c3RlbS5oIiA+JjUKKytpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVhZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKysgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CisgZWxzZQorLSAgYWNfY3ZfaGVhZGVyX21tc3lzdGVtX2g9JGFjX2hlYWRlcl9wcmVwcm9jCisrICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisrI2xpbmUgMTUzNSAiY29uZmlndXJlIgorKyNpbmNsdWRlICJjb25mZGVmcy5oIgorKyNpbmNsdWRlIDxtbXN5c3RlbS5oPgorK0VPRgorK2FjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0ID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQiCisreyAoZXZhbCBlY2hvIGNvbmZpZ3VyZToxNTQwOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfQorK2FjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKKytpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbgorKyAgcm0gLXJmIGNvbmZ0ZXN0KgorKyAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKKytlbHNlCisrICBlY2hvICIkYWNfZXJyIiA+JjUKKysgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisrICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKysgIHJtIC1yZiBjb25mdGVzdCoKKysgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT1ubyIKKyBmaQorLWVjaG8gIiRhc19tZTokTElORU5POiByZXN1bHQ6ICRhY19jdl9oZWFkZXJfbW1zeXN0ZW1faCIgPiY1CistZWNobyAiJHtFQ0hPX1R9JGFjX2N2X2hlYWRlcl9tbXN5c3RlbV9oIiA+JjYKKy0KKytybSAtZiBjb25mdGVzdCoKKyBmaQorLWlmIHRlc3QgJGFjX2N2X2hlYWRlcl9tbXN5c3RlbV9oID0geWVzOyB0aGVuCisraWYgZXZhbCAidGVzdCBcImBlY2hvICckYWNfY3ZfaGVhZGVyXyckYWNfc2FmZWBcIiA9IHllcyI7IHRoZW4KKysgIGVjaG8gIiRhY190IiJ5ZXMiIDE+JjYKKyAgIEFVRElPRFJJVkVSPSJ3aW5jZSIKKyAJICAgICAgIEFVRElPREVGUz0tRENTVF9BVURJT19XSU5DRQorIAkgICAgICAgQVVESU9MSUJTPS1sd2lubW0KKytlbHNlCisrICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyBmaQorIAorIAorLQorLQorICMgQ2hlY2sgd2hldGhlciAtLXdpdGgtYXVkaW8gb3IgLS13aXRob3V0LWF1ZGlvIHdhcyBnaXZlbi4KKyBpZiB0ZXN0ICIke3dpdGhfYXVkaW8rc2V0fSIgPSBzZXQ7IHRoZW4KKyAgIHdpdGh2YWw9IiR3aXRoX2F1ZGlvIgorLSAgQVVESU9EUklWRVI9JHdpdGhfYXVkaW8KKy1maTsKKysgIEFVRElPRFJJVkVSPSR3aXRoX2F1ZGlvIAorK2ZpCisgCisrCisgaWYgdGVzdCAieCRBVURJT0RFRlMiID0geDsgdGhlbgorICAgICBjYXNlICIkQVVESU9EUklWRVIiIGluCisgCWxpbnV4fG9zcykKK0BAIC00MDA2LDM0ICsxNTk1LDM0IEBACisgCisgCisgCistCisgIyBDaGVjayB3aGV0aGVyIC0td2l0aC1sYW5nIG9yIC0td2l0aG91dC1sYW5nIHdhcyBnaXZlbi4KKyBpZiB0ZXN0ICIke3dpdGhfbGFuZytzZXR9IiA9IHNldDsgdGhlbgorICAgd2l0aHZhbD0iJHdpdGhfbGFuZyIKKy0gIEZMX0xBTkc9JHdpdGhfbGFuZworLWZpOworKyAgRkxfTEFORz0kd2l0aF9sYW5nIAorK2ZpCisrCisgaWYgdGVzdCAieCR3aXRoX2xhbmciID0gIngiOyB0aGVuCisgICAgICAgICBGTF9MQU5HPSJ1c2VuZ2xpc2giCisgZmkKKyAKKyAKKy0KKyAjIENoZWNrIHdoZXRoZXIgLS13aXRoLXZveCBvciAtLXdpdGhvdXQtdm94IHdhcyBnaXZlbi4KKyBpZiB0ZXN0ICIke3dpdGhfdm94K3NldH0iID0gc2V0OyB0aGVuCisgICB3aXRodmFsPSIkd2l0aF92b3giCistICBGTF9WT1g9JHdpdGhfdm94CistZmk7CisrICBGTF9WT1g9JHdpdGhfdm94IAorK2ZpCisrCisgaWYgdGVzdCAieCR3aXRoX3ZveCIgPSAieCI7IHRoZW4KKyAgICAgICAgIEZMX1ZPWD0iY211X3VzX2thbCIKKyBmaQorIAorIAorLQorICMgQ2hlY2sgd2hldGhlciAtLXdpdGgtbGV4IG9yIC0td2l0aG91dC1sZXggd2FzIGdpdmVuLgorIGlmIHRlc3QgIiR7d2l0aF9sZXgrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgIHdpdGh2YWw9IiR3aXRoX2xleCIKKy0gIEZMX0xFWD0kd2l0aF9sZXgKKy1maTsKKysgIEZMX0xFWD0kd2l0aF9sZXggCisrZmkKKysKKyBpZiB0ZXN0ICJ4JHdpdGhfbGV4IiA9ICJ4IjsgdGhlbgorICAgICAgICAgRkxfTEVYPSJjbXVsZXgiCisgZmkKK0BAIC00MDQxLDkyMSArMTYzMCwzMDAgQEAKKyAKKyAKKyAKKy0gICAgICAgICAgICAgICAgICAgIGFjX2NvbmZpZ19maWxlcz0iJGFjX2NvbmZpZ19maWxlcyBjb25maWcvY29uZmlnIGNvbmZpZy9zeXN0ZW0ubWFrIgorLWNhdCA+Y29uZmNhY2hlIDw8XF9BQ0VPRgorK3RyYXAgJycgMSAyIDE1CisrY2F0ID4gY29uZmNhY2hlIDw8XEVPRgorICMgVGhpcyBmaWxlIGlzIGEgc2hlbGwgc2NyaXB0IHRoYXQgY2FjaGVzIHRoZSByZXN1bHRzIG9mIGNvbmZpZ3VyZQorICMgdGVzdHMgcnVuIG9uIHRoaXMgc3lzdGVtIHNvIHRoZXkgY2FuIGJlIHNoYXJlZCBiZXR3ZWVuIGNvbmZpZ3VyZQorLSMgc2NyaXB0cyBhbmQgY29uZmlndXJlIHJ1bnMsIHNlZSBjb25maWd1cmUncyBvcHRpb24gLS1jb25maWctY2FjaGUuCistIyBJdCBpcyBub3QgdXNlZnVsIG9uIG90aGVyIHN5c3RlbXMuICBJZiBpdCBjb250YWlucyByZXN1bHRzIHlvdSBkb24ndAorLSMgd2FudCB0byBrZWVwLCB5b3UgbWF5IHJlbW92ZSBvciBlZGl0IGl0LgorKyMgc2NyaXB0cyBhbmQgY29uZmlndXJlIHJ1bnMuICBJdCBpcyBub3QgdXNlZnVsIG9uIG90aGVyIHN5c3RlbXMuCisrIyBJZiBpdCBjb250YWlucyByZXN1bHRzIHlvdSBkb24ndCB3YW50IHRvIGtlZXAsIHlvdSBtYXkgcmVtb3ZlIG9yIGVkaXQgaXQuCisgIworLSMgY29uZmlnLnN0YXR1cyBvbmx5IHBheXMgYXR0ZW50aW9uIHRvIHRoZSBjYWNoZSBmaWxlIGlmIHlvdSBnaXZlIGl0CistIyB0aGUgLS1yZWNoZWNrIG9wdGlvbiB0byByZXJ1biBjb25maWd1cmUuCisrIyBCeSBkZWZhdWx0LCBjb25maWd1cmUgdXNlcyAuL2NvbmZpZy5jYWNoZSBhcyB0aGUgY2FjaGUgZmlsZSwKKysjIGNyZWF0aW5nIGl0IGlmIGl0IGRvZXMgbm90IGV4aXN0IGFscmVhZHkuICBZb3UgY2FuIGdpdmUgY29uZmlndXJlCisrIyB0aGUgLS1jYWNoZS1maWxlPUZJTEUgb3B0aW9uIHRvIHVzZSBhIGRpZmZlcmVudCBjYWNoZSBmaWxlOyB0aGF0IGlzCisrIyB3aGF0IGNvbmZpZ3VyZSBkb2VzIHdoZW4gaXQgY2FsbHMgY29uZmlndXJlIHNjcmlwdHMgaW4KKysjIHN1YmRpcmVjdG9yaWVzLCBzbyB0aGV5IHNoYXJlIHRoZSBjYWNoZS4KKysjIEdpdmluZyAtLWNhY2hlLWZpbGU9L2Rldi9udWxsIGRpc2FibGVzIGNhY2hpbmcsIGZvciBkZWJ1Z2dpbmcgY29uZmlndXJlLgorKyMgY29uZmlnLnN0YXR1cyBvbmx5IHBheXMgYXR0ZW50aW9uIHRvIHRoZSBjYWNoZSBmaWxlIGlmIHlvdSBnaXZlIGl0IHRoZQorKyMgLS1yZWNoZWNrIG9wdGlvbiB0byByZXJ1biBjb25maWd1cmUuCisgIworLSMgYGFjX2N2X2Vudl9mb28nIHZhcmlhYmxlcyAoc2V0IG9yIHVuc2V0KSB3aWxsIGJlIG92ZXJyaWRkZW4gd2hlbgorLSMgbG9hZGluZyB0aGlzIGZpbGUsIG90aGVyICp1bnNldCogYGFjX2N2X2Zvbycgd2lsbCBiZSBhc3NpZ25lZCB0aGUKKy0jIGZvbGxvd2luZyB2YWx1ZXMuCistCistX0FDRU9GCistCisrRU9GCisgIyBUaGUgZm9sbG93aW5nIHdheSBvZiB3cml0aW5nIHRoZSBjYWNoZSBtaXNoYW5kbGVzIG5ld2xpbmVzIGluIHZhbHVlcywKKyAjIGJ1dCB3ZSBrbm93IG9mIG5vIHdvcmthcm91bmQgdGhhdCBpcyBzaW1wbGUsIHBvcnRhYmxlLCBhbmQgZWZmaWNpZW50LgorICMgU28sIGRvbid0IHB1dCBuZXdsaW5lcyBpbiBjYWNoZSB2YXJpYWJsZXMnIHZhbHVlcy4KKyAjIFVsdHJpeCBzaCBzZXQgd3JpdGVzIHRvIHN0ZGVyciBhbmQgY2FuJ3QgYmUgcmVkaXJlY3RlZCBkaXJlY3RseSwKKyAjIGFuZCBzZXRzIHRoZSBoaWdoIGJpdCBpbiB0aGUgY2FjaGUgZmlsZSB1bmxlc3Mgd2UgYXNzaWduIHRvIHRoZSB2YXJzLgorLXsKKy0gIChzZXQpIDI+JjEgfAorLSAgICBjYXNlIGAoYWNfc3BhY2U9JyAnOyBzZXQgfCBncmVwIGFjX3NwYWNlKSAyPiYxYCBpbgorLSAgICAqYWNfc3BhY2U9XCAqKQorLSAgICAgICMgYHNldCcgZG9lcyBub3QgcXVvdGUgY29ycmVjdGx5LCBzbyBhZGQgcXVvdGVzIChkb3VibGUtcXVvdGUKKy0gICAgICAjIHN1YnN0aXR1dGlvbiB0dXJucyBcXFxcIGludG8gXFwsIGFuZCBzZWQgdHVybnMgXFwgaW50byBcKS4KKy0gICAgICBzZWQgLW4gXAorLSAgICAgICAgInMvJy8nXFxcXCcnL2c7CistICAgIAkgIHMvXlxcKFtfJGFzX2NyX2FsbnVtXSpfY3ZfW18kYXNfY3JfYWxudW1dKlxcKT1cXCguKlxcKS9cXDE9J1xcMicvcCIKKy0gICAgICA7OworLSAgICAqKQorLSAgICAgICMgYHNldCcgcXVvdGVzIGNvcnJlY3RseSBhcyByZXF1aXJlZCBieSBQT1NJWCwgc28gZG8gbm90IGFkZCBxdW90ZXMuCistICAgICAgc2VkIC1uIFwKKy0gICAgICAgICJzL15cXChbXyRhc19jcl9hbG51bV0qX2N2X1tfJGFzX2NyX2FsbnVtXSpcXCk9XFwoLipcXCkvXFwxPVxcMi9wIgorLSAgICAgIDs7CistICAgIGVzYWM7CistfSB8CistICBzZWQgJworLSAgICAgdCBjbGVhcgorLSAgICAgOiBjbGVhcgorLSAgICAgcy9eXChbXj1dKlwpPVwoLipbe31dLipcKSQvdGVzdCAiJHtcMStzZXR9IiA9IHNldCB8fCAmLworLSAgICAgdCBlbmQKKy0gICAgIC9eYWNfY3ZfZW52LyFzL15cKFtePV0qXCk9XCguKlwpJC9cMT0ke1wxPVwyfS8KKy0gICAgIDogZW5kJyA+PmNvbmZjYWNoZQorLWlmIGRpZmYgJGNhY2hlX2ZpbGUgY29uZmNhY2hlID4vZGV2L251bGwgMj4mMTsgdGhlbiA6OyBlbHNlCisrKHNldCkgMj4mMSB8CisrICBjYXNlIGAoYWNfc3BhY2U9JyAnOyBzZXQgfCBncmVwIGFjX3NwYWNlKSAyPiYxYCBpbgorKyAgKmFjX3NwYWNlPVwgKikKKysgICAgIyBgc2V0JyBkb2VzIG5vdCBxdW90ZSBjb3JyZWN0bHksIHNvIGFkZCBxdW90ZXMgKGRvdWJsZS1xdW90ZSBzdWJzdGl0dXRpb24KKysgICAgIyB0dXJucyBcXFxcIGludG8gXFwsIGFuZCBzZWQgdHVybnMgXFwgaW50byBcKS4KKysgICAgc2VkIC1uIFwKKysgICAgICAtZSAicy8nLydcXFxcJycvZyIgXAorKyAgICAgIC1lICJzL15cXChbYS16QS1aMC05X10qX2N2X1thLXpBLVowLTlfXSpcXCk9XFwoLipcXCkvXFwxPVwke1xcMT0nXFwyJ30vcCIKKysgICAgOzsKKysgICopCisrICAgICMgYHNldCcgcXVvdGVzIGNvcnJlY3RseSBhcyByZXF1aXJlZCBieSBQT1NJWCwgc28gZG8gbm90IGFkZCBxdW90ZXMuCisrICAgIHNlZCAtbiAtZSAncy9eXChbYS16QS1aMC05X10qX2N2X1thLXpBLVowLTlfXSpcKT1cKC4qXCkvXDE9JHtcMT1cMn0vcCcKKysgICAgOzsKKysgIGVzYWMgPj4gY29uZmNhY2hlCisraWYgY21wIC1zICRjYWNoZV9maWxlIGNvbmZjYWNoZTsgdGhlbgorKyAgOgorK2Vsc2UKKyAgIGlmIHRlc3QgLXcgJGNhY2hlX2ZpbGU7IHRoZW4KKy0gICAgdGVzdCAieCRjYWNoZV9maWxlIiAhPSAieC9kZXYvbnVsbCIgJiYgZWNobyAidXBkYXRpbmcgY2FjaGUgJGNhY2hlX2ZpbGUiCistICAgIGNhdCBjb25mY2FjaGUgPiRjYWNoZV9maWxlCisrICAgIGVjaG8gInVwZGF0aW5nIGNhY2hlICRjYWNoZV9maWxlIgorKyAgICBjYXQgY29uZmNhY2hlID4gJGNhY2hlX2ZpbGUKKyAgIGVsc2UKKyAgICAgZWNobyAibm90IHVwZGF0aW5nIHVud3JpdGFibGUgY2FjaGUgJGNhY2hlX2ZpbGUiCisgICBmaQorIGZpCisgcm0gLWYgY29uZmNhY2hlCisgCisrdHJhcCAncm0gLWZyIGNvbmZ0ZXN0KiBjb25mZGVmcyogY29yZSBjb3JlLiogKi5jb3JlICRhY19jbGVhbl9maWxlczsgZXhpdCAxJyAxIDIgMTUKKysKKyB0ZXN0ICJ4JHByZWZpeCIgPSB4Tk9ORSAmJiBwcmVmaXg9JGFjX2RlZmF1bHRfcHJlZml4CisgIyBMZXQgbWFrZSBleHBhbmQgZXhlY19wcmVmaXguCisgdGVzdCAieCRleGVjX3ByZWZpeCIgPSB4Tk9ORSAmJiBleGVjX3ByZWZpeD0nJHtwcmVmaXh9JworIAorLSMgVlBBVEggbWF5IGNhdXNlIHRyb3VibGUgd2l0aCBzb21lIG1ha2VzLCBzbyB3ZSByZW1vdmUgJChzcmNkaXIpLAorLSMgJHtzcmNkaXJ9IGFuZCBAc3JjZGlyQCBmcm9tIFZQQVRIIGlmIHNyY2RpciBpcyAiLiIsIHN0cmlwIGxlYWRpbmcgYW5kCistIyB0cmFpbGluZyBjb2xvbnMgYW5kIHRoZW4gcmVtb3ZlIHRoZSB3aG9sZSBsaW5lIGlmIFZQQVRIIGJlY29tZXMgZW1wdHkKKy0jIChhY3R1YWxseSB3ZSBsZWF2ZSBhbiBlbXB0eSBsaW5lIHRvIHByZXNlcnZlIGxpbmUgbnVtYmVycykuCisrIyBBbnkgYXNzaWdubWVudCB0byBWUEFUSCBjYXVzZXMgU3VuIG1ha2UgdG8gb25seSBleGVjdXRlCisrIyB0aGUgZmlyc3Qgc2V0IG9mIGRvdWJsZS1jb2xvbiBydWxlcywgc28gcmVtb3ZlIGl0IGlmIG5vdCBuZWVkZWQuCisrIyBJZiB0aGVyZSBpcyBhIGNvbG9uIGluIHRoZSBwYXRoLCB3ZSBuZWVkIHRvIGtlZXAgaXQuCisgaWYgdGVzdCAieCRzcmNkaXIiID0geC47IHRoZW4KKy0gIGFjX3Zwc3ViPScvXlsgCV0qVlBBVEhbIAldKj0veworLXMvOipcJChzcmNkaXIpOiovOi87Cistcy86Klwke3NyY2Rpcn06Ki86LzsKKy1zLzoqQHNyY2RpckA6Ki86LzsKKy1zL15cKFtePV0qPVsgCV0qXCk6Ki9cMS87Cistcy86KiQvLzsKKy1zL15bXj1dKj1bIAldKiQvLzsKKy19JworKyAgYWNfdnBzdWI9Jy9eWyAJXSpWUEFUSFsgCV0qPVteOl0qJC9kJworIGZpCisgCisrdHJhcCAncm0gLWYgJENPTkZJR19TVEFUVVMgY29uZnRlc3QqOyBleGl0IDEnIDEgMiAxNQorKworICMgVHJhbnNmb3JtIGNvbmZkZWZzLmggaW50byBERUZTLgorICMgUHJvdGVjdCBhZ2FpbnN0IHNoZWxsIGV4cGFuc2lvbiB3aGlsZSBleGVjdXRpbmcgTWFrZWZpbGUgcnVsZXMuCisgIyBQcm90ZWN0IGFnYWluc3QgTWFrZWZpbGUgbWFjcm8gZXhwYW5zaW9uLgorLSMKKy0jIElmIHRoZSBmaXJzdCBzZWQgc3Vic3RpdHV0aW9uIGlzIGV4ZWN1dGVkICh3aGljaCBsb29rcyBmb3IgbWFjcm9zIHRoYXQKKy0jIHRha2UgYXJndW1lbnRzKSwgdGhlbiB3ZSBicmFuY2ggdG8gdGhlIHF1b3RlIHNlY3Rpb24uICBPdGhlcndpc2UsCistIyBsb29rIGZvciBhIG1hY3JvIHRoYXQgZG9lc24ndCB0YWtlIGFyZ3VtZW50cy4KKy1jYXQgPmNvbmZkZWYyb3B0LnNlZCA8PFxfQUNFT0YKKy10IGNsZWFyCistOiBjbGVhcgorLXMsXlsgCV0qI1sgCV0qZGVmaW5lWyAJXVsgCV0qXChbXiAJKF1bXiAJKF0qKFteKV0qKVwpWyAJXSpcKC4qXCksLURcMT1cMixnCistdCBxdW90ZQorLXMsXlsgCV0qI1sgCV0qZGVmaW5lWyAJXVsgCV0qXChbXiAJXVteIAldKlwpWyAJXSpcKC4qXCksLURcMT1cMixnCistdCBxdW90ZQorLWQKKy06IHF1b3RlCistcyxbIAlgfiMkXiYqKCl7fVxcfDsnIjw+P10sXFwmLGcKKy1zLFxbLFxcJixnCistcyxcXSxcXCYsZworLXMsXCQsJCQsZworLXAKKy1fQUNFT0YKKy0jIFdlIHVzZSBlY2hvIHRvIGF2b2lkIGFzc3VtaW5nIGEgcGFydGljdWxhciBsaW5lLWJyZWFraW5nIGNoYXJhY3Rlci4KKy0jIFRoZSBleHRyYSBkb3QgaXMgdG8gcHJldmVudCB0aGUgc2hlbGwgZnJvbSBjb25zdW1pbmcgdHJhaWxpbmcKKy0jIGxpbmUtYnJlYWtzIGZyb20gdGhlIHN1Yi1jb21tYW5kIG91dHB1dC4gIEEgbGluZS1icmVhayB3aXRoaW4KKy0jIHNpbmdsZS1xdW90ZXMgZG9lc24ndCB3b3JrIGJlY2F1c2UsIGlmIHRoaXMgc2NyaXB0IGlzIGNyZWF0ZWQgaW4gYQorLSMgcGxhdGZvcm0gdGhhdCB1c2VzIHR3byBjaGFyYWN0ZXJzIGZvciBsaW5lLWJyZWFrcyAoZS5nLiwgRE9TKSwgdHIKKy0jIHdvdWxkIGJyZWFrLgorLWFjX0xGX2FuZF9ET1Q9YGVjaG87IGVjaG8gLmAKKy1ERUZTPWBzZWQgLW4gLWYgY29uZmRlZjJvcHQuc2VkIGNvbmZkZWZzLmggfCB0ciAiJGFjX0xGX2FuZF9ET1QiICcgLidgCistcm0gLWYgY29uZmRlZjJvcHQuc2VkCisrY2F0ID4gY29uZnRlc3QuZGVmcyA8PFxFT0YKKytzJSNkZWZpbmUgXChbQS1aYS16X11bQS1aYS16MC05X10qXCkgKlwoLipcKSUtRFwxPVwyJWcKKytzJVsgCWB+IyReJiooKXt9XFx8OyciPD4/XSVcXCYlZworK3MlXFslXFwmJWcKKytzJVxdJVxcJiVnCisrcyVcJCUkJCVnCisrRU9GCisrREVGUz1gc2VkIC1mIGNvbmZ0ZXN0LmRlZnMgY29uZmRlZnMuaCB8IHRyICdcMDEyJyAnICdgCisrcm0gLWYgY29uZnRlc3QuZGVmcworIAorIAorLWFjX2xpYm9ianM9CistYWNfbHRsaWJvYmpzPQorLWZvciBhY19pIGluIDogJExJQk9CSlM7IGRvIHRlc3QgIngkYWNfaSIgPSB4OiAmJiBjb250aW51ZQorLSAgIyAxLiBSZW1vdmUgdGhlIGV4dGVuc2lvbiwgYW5kICRVIGlmIGFscmVhZHkgaW5zdGFsbGVkLgorLSAgYWNfaT1gZWNobyAiJGFjX2kiIHwKKy0gICAgICAgICBzZWQgJ3MvXCRVXC4vLi87cy9cLm8kLy87cy9cLm9iaiQvLydgCistICAjIDIuIEFkZCB0aGVtLgorLSAgYWNfbGlib2Jqcz0iJGFjX2xpYm9ianMgJGFjX2lcJFUuJGFjX29iamV4dCIKKy0gIGFjX2x0bGlib2Jqcz0iJGFjX2x0bGlib2JqcyAkYWNfaSInJFUubG8nCistZG9uZQorLUxJQk9CSlM9JGFjX2xpYm9ianMKKy0KKy1MVExJQk9CSlM9JGFjX2x0bGlib2JqcworLQorLQorLQorKyMgV2l0aG91dCB0aGUgIi4vIiwgc29tZSBzaGVsbHMgbG9vayBpbiBQQVRIIGZvciBjb25maWcuc3RhdHVzLgorIDogJHtDT05GSUdfU1RBVFVTPS4vY29uZmlnLnN0YXR1c30KKy1hY19jbGVhbl9maWxlc19zYXZlPSRhY19jbGVhbl9maWxlcworLWFjX2NsZWFuX2ZpbGVzPSIkYWNfY2xlYW5fZmlsZXMgJENPTkZJR19TVEFUVVMiCisteyBlY2hvICIkYXNfbWU6JExJTkVOTzogY3JlYXRpbmcgJENPTkZJR19TVEFUVVMiID4mNQorLWVjaG8gIiRhc19tZTogY3JlYXRpbmcgJENPTkZJR19TVEFUVVMiID4mNjt9CistY2F0ID4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRgorLSMhICRTSEVMTAorLSMgR2VuZXJhdGVkIGJ5ICRhc19tZS4KKysKKytlY2hvIGNyZWF0aW5nICRDT05GSUdfU1RBVFVTCisrcm0gLWYgJENPTkZJR19TVEFUVVMKKytjYXQgPiAkQ09ORklHX1NUQVRVUyA8PEVPRgorKyMhIC9iaW4vc2gKKysjIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IGNvbmZpZ3VyZS4KKyAjIFJ1biB0aGlzIGZpbGUgdG8gcmVjcmVhdGUgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbi4KKysjIFRoaXMgZGlyZWN0b3J5IHdhcyBjb25maWd1cmVkIGFzIGZvbGxvd3MsCisrIyBvbiBob3N0IGAoaG9zdG5hbWUgfHwgdW5hbWUgLW4pIDI+L2Rldi9udWxsIHwgc2VkIDFxYDoKKysjCisrIyAkMCAkYWNfY29uZmlndXJlX2FyZ3MKKysjCisgIyBDb21waWxlciBvdXRwdXQgcHJvZHVjZWQgYnkgY29uZmlndXJlLCB1c2VmdWwgZm9yIGRlYnVnZ2luZworLSMgY29uZmlndXJlLCBpcyBpbiBjb25maWcubG9nIGlmIGl0IGV4aXN0cy4KKysjIGNvbmZpZ3VyZSwgaXMgaW4gLi9jb25maWcubG9nIGlmIGl0IGV4aXN0cy4KKyAKKy1kZWJ1Zz1mYWxzZQorLWFjX2NzX3JlY2hlY2s9ZmFsc2UKKy1hY19jc19zaWxlbnQ9ZmFsc2UKKy1TSEVMTD1cJHtDT05GSUdfU0hFTEwtJFNIRUxMfQorLV9BQ0VPRgorLQorLWNhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRgorLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLSMjIE00c2ggSW5pdGlhbGl6YXRpb24uICAjIworLSMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIworLQorLSMgQmUgQm91cm5lIGNvbXBhdGlibGUKKy1pZiB0ZXN0IC1uICIke1pTSF9WRVJTSU9OK3NldH0iICYmIChlbXVsYXRlIHNoKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gIGVtdWxhdGUgc2gKKy0gIE5VTExDTUQ9OgorLSAgIyBac2ggMy54IGFuZCA0LnggcGVyZm9ybXMgd29yZCBzcGxpdHRpbmcgb24gJHsxKyIkQCJ9LCB3aGljaAorLSAgIyBpcyBjb250cmFyeSB0byBvdXIgdXNhZ2UuICBEaXNhYmxlIHRoaXMgZmVhdHVyZS4KKy0gIGFsaWFzIC1nICckezErIiRAIn0nPSciJEAiJworLWVsaWYgdGVzdCAtbiAiJHtCQVNIX1ZFUlNJT04rc2V0fSIgJiYgKHNldCAtbyBwb3NpeCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICBzZXQgLW8gcG9zaXgKKy1maQorLQorLSMgU3VwcG9ydCB1bnNldCB3aGVuIHBvc3NpYmxlLgorLWlmIChGT089Rk9POyB1bnNldCBGT08pID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgYXNfdW5zZXQ9dW5zZXQKKy1lbHNlCistICBhc191bnNldD1mYWxzZQorLWZpCistCistCistIyBXb3JrIGFyb3VuZCBidWdzIGluIHByZS0zLjAgVVdJTiBrc2guCistJGFzX3Vuc2V0IEVOViBNQUlMIE1BSUxQQVRICistUFMxPSckICcKKy1QUzI9Jz4gJworLVBTND0nKyAnCistCistIyBOTFMgbnVpc2FuY2VzLgorLWZvciBhc192YXIgaW4gXAorLSAgTEFORyBMQU5HVUFHRSBMQ19BRERSRVNTIExDX0FMTCBMQ19DT0xMQVRFIExDX0NUWVBFIExDX0lERU5USUZJQ0FUSU9OIFwKKy0gIExDX01FQVNVUkVNRU5UIExDX01FU1NBR0VTIExDX01PTkVUQVJZIExDX05BTUUgTENfTlVNRVJJQyBMQ19QQVBFUiBcCistICBMQ19URUxFUEhPTkUgTENfVElNRQorK2FjX2NzX3VzYWdlPSJVc2FnZTogJENPTkZJR19TVEFUVVMgWy0tcmVjaGVja10gWy0tdmVyc2lvbl0gWy0taGVscF0iCisrZm9yIGFjX29wdGlvbgorIGRvCistICBpZiAoc2V0ICt4OyB0ZXN0IC1uICJgKGV2YWwgJGFzX3Zhcj1DOyBleHBvcnQgJGFzX3ZhcikgMj4mMWAiKTsgdGhlbgorLSAgICBldmFsICRhc192YXI9QzsgZXhwb3J0ICRhc192YXIKKy0gIGVsc2UKKy0gICAgJGFzX3Vuc2V0ICRhc192YXIKKy0gIGZpCisrICBjYXNlICJcJGFjX29wdGlvbiIgaW4KKysgIC1yZWNoZWNrIHwgLS1yZWNoZWNrIHwgLS1yZWNoZWMgfCAtLXJlY2hlIHwgLS1yZWNoIHwgLS1yZWMgfCAtLXJlIHwgLS1yKQorKyAgICBlY2hvICJydW5uaW5nIFwke0NPTkZJR19TSEVMTC0vYmluL3NofSAkMCAkYWNfY29uZmlndXJlX2FyZ3MgLS1uby1jcmVhdGUgLS1uby1yZWN1cnNpb24iCisrICAgIGV4ZWMgXCR7Q09ORklHX1NIRUxMLS9iaW4vc2h9ICQwICRhY19jb25maWd1cmVfYXJncyAtLW5vLWNyZWF0ZSAtLW5vLXJlY3Vyc2lvbiA7OworKyAgLXZlcnNpb24gfCAtLXZlcnNpb24gfCAtLXZlcnNpbyB8IC0tdmVyc2kgfCAtLXZlcnMgfCAtLXZlciB8IC0tdmUgfCAtLXYpCisrICAgIGVjaG8gIiRDT05GSUdfU1RBVFVTIGdlbmVyYXRlZCBieSBhdXRvY29uZiB2ZXJzaW9uIDIuMTMiCisrICAgIGV4aXQgMCA7OworKyAgLWhlbHAgfCAtLWhlbHAgfCAtLWhlbCB8IC0taGUgfCAtLWgpCisrICAgIGVjaG8gIlwkYWNfY3NfdXNhZ2UiOyBleGl0IDAgOzsKKysgICopIGVjaG8gIlwkYWNfY3NfdXNhZ2UiOyBleGl0IDEgOzsKKysgIGVzYWMKKyBkb25lCisgCistIyBSZXF1aXJlZCB0byB1c2UgYmFzZW5hbWUuCistaWYgZXhwciBhIDogJ1woYVwpJyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gIGFzX2V4cHI9ZXhwcgorLWVsc2UKKy0gIGFzX2V4cHI9ZmFsc2UKKy1maQorK2FjX2dpdmVuX3NyY2Rpcj0kc3JjZGlyCisrYWNfZ2l2ZW5fSU5TVEFMTD0iJElOU1RBTEwiCisgCistaWYgKGJhc2VuYW1lIC8pID4vZGV2L251bGwgMj4mMSAmJiB0ZXN0ICJYYGJhc2VuYW1lIC8gMj4mMWAiID0gIlgvIjsgdGhlbgorLSAgYXNfYmFzZW5hbWU9YmFzZW5hbWUKKy1lbHNlCistICBhc19iYXNlbmFtZT1mYWxzZQorLWZpCisrdHJhcCAncm0gLWZyIGBlY2hvICJjb25maWcvY29uZmlnIGNvbmZpZy9zeXN0ZW0ubWFrIiB8IHNlZCAicy86W14gXSovL2ciYCBjb25mdGVzdCo7IGV4aXQgMScgMSAyIDE1CisrRU9GCisrY2F0ID4+ICRDT05GSUdfU1RBVFVTIDw8RU9GCisgCisrIyBQcm90ZWN0IGFnYWluc3QgYmVpbmcgb24gdGhlIHJpZ2h0IHNpZGUgb2YgYSBzZWQgc3Vic3QgaW4gY29uZmlnLnN0YXR1cy4KKytzZWQgJ3MvJUAvQEAvOyBzL0AlL0BALzsgcy8lZ1wkL0BnLzsgL0BnXCQvcy9bXFxcXCYlXS9cXFxcJi9nOworKyBzL0BALyVALzsgcy9AQC9AJS87IHMvQGdcJC8lZy8nID4gY29uZnRlc3Quc3VicyA8PFxcQ0VPRgorKyRhY192cHN1YgorKyRleHRyYXN1YgorK3MlQFNIRUxMQCUkU0hFTEwlZworK3MlQENGTEFHU0AlJENGTEFHUyVnCisrcyVAQ1BQRkxBR1NAJSRDUFBGTEFHUyVnCisrcyVAQ1hYRkxBR1NAJSRDWFhGTEFHUyVnCisrcyVARkZMQUdTQCUkRkZMQUdTJWcKKytzJUBERUZTQCUkREVGUyVnCisrcyVATERGTEFHU0AlJExERkxBR1MlZworK3MlQExJQlNAJSRMSUJTJWcKKytzJUBleGVjX3ByZWZpeEAlJGV4ZWNfcHJlZml4JWcKKytzJUBwcmVmaXhAJSRwcmVmaXglZworK3MlQHByb2dyYW1fdHJhbnNmb3JtX25hbWVAJSRwcm9ncmFtX3RyYW5zZm9ybV9uYW1lJWcKKytzJUBiaW5kaXJAJSRiaW5kaXIlZworK3MlQHNiaW5kaXJAJSRzYmluZGlyJWcKKytzJUBsaWJleGVjZGlyQCUkbGliZXhlY2RpciVnCisrcyVAZGF0YWRpckAlJGRhdGFkaXIlZworK3MlQHN5c2NvbmZkaXJAJSRzeXNjb25mZGlyJWcKKytzJUBzaGFyZWRzdGF0ZWRpckAlJHNoYXJlZHN0YXRlZGlyJWcKKytzJUBsb2NhbHN0YXRlZGlyQCUkbG9jYWxzdGF0ZWRpciVnCisrcyVAbGliZGlyQCUkbGliZGlyJWcKKytzJUBpbmNsdWRlZGlyQCUkaW5jbHVkZWRpciVnCisrcyVAb2xkaW5jbHVkZWRpckAlJG9sZGluY2x1ZGVkaXIlZworK3MlQGluZm9kaXJAJSRpbmZvZGlyJWcKKytzJUBtYW5kaXJAJSRtYW5kaXIlZworK3MlQGhvc3RAJSRob3N0JWcKKytzJUBob3N0X2FsaWFzQCUkaG9zdF9hbGlhcyVnCisrcyVAaG9zdF9jcHVAJSRob3N0X2NwdSVnCisrcyVAaG9zdF92ZW5kb3JAJSRob3N0X3ZlbmRvciVnCisrcyVAaG9zdF9vc0AlJGhvc3Rfb3MlZworK3MlQHRhcmdldEAlJHRhcmdldCVnCisrcyVAdGFyZ2V0X2FsaWFzQCUkdGFyZ2V0X2FsaWFzJWcKKytzJUB0YXJnZXRfY3B1QCUkdGFyZ2V0X2NwdSVnCisrcyVAdGFyZ2V0X3ZlbmRvckAlJHRhcmdldF92ZW5kb3IlZworK3MlQHRhcmdldF9vc0AlJHRhcmdldF9vcyVnCisrcyVAYnVpbGRAJSRidWlsZCVnCisrcyVAYnVpbGRfYWxpYXNAJSRidWlsZF9hbGlhcyVnCisrcyVAYnVpbGRfY3B1QCUkYnVpbGRfY3B1JWcKKytzJUBidWlsZF92ZW5kb3JAJSRidWlsZF92ZW5kb3IlZworK3MlQGJ1aWxkX29zQCUkYnVpbGRfb3MlZworK3MlQENDQCUkQ0MlZworK3MlQFJBTkxJQkAlJFJBTkxJQiVnCisrcyVASU5TVEFMTF9QUk9HUkFNQCUkSU5TVEFMTF9QUk9HUkFNJWcKKytzJUBJTlNUQUxMX1NDUklQVEAlJElOU1RBTExfU0NSSVBUJWcKKytzJUBJTlNUQUxMX0RBVEFAJSRJTlNUQUxMX0RBVEElZworK3MlQEFSQCUkQVIlZworK3MlQFRBUkdFVF9PU0AlJFRBUkdFVF9PUyVnCisrcyVAVEFSR0VUX0NQVUAlJFRBUkdFVF9DUFUlZworK3MlQE02OEtDQ0AlJE02OEtDQyVnCisrcyVATEVYREVGU0AlJExFWERFRlMlZworK3MlQFZPWERFRlNAJSRWT1hERUZTJWcKKytzJUBIT1NUX09TQCUkSE9TVF9PUyVnCisrcyVASE9TVF9DUFVAJSRIT1NUX0NQVSVnCisrcyVAT1RIRVJMSUJTQCUkT1RIRVJMSUJTJWcKKytzJUBTSEZMQUdTQCUkU0hGTEFHUyVnCisrcyVATU1BUFRZUEVAJSRNTUFQVFlQRSVnCisrcyVAU1RESU9UWVBFQCUkU1RESU9UWVBFJWcKKytzJUBDUFBAJSRDUFAlZworK3MlQEFVRElPRFJJVkVSQCUkQVVESU9EUklWRVIlZworK3MlQEFVRElPREVGU0AlJEFVRElPREVGUyVnCisrcyVAQVVESU9MSUJTQCUkQVVESU9MSUJTJWcKKytzJUBGTF9MQU5HQCUkRkxfTEFORyVnCisrcyVARkxfVk9YQCUkRkxfVk9YJWcKKytzJUBGTF9MRVhAJSRGTF9MRVglZworK3MlQEVYRUVYVEAlJEVYRUVYVCVnCisgCistIyBOYW1lIG9mIHRoZSBleGVjdXRhYmxlLgorLWFzX21lPWAkYXNfYmFzZW5hbWUgIiQwIiB8fAorLSRhc19leHByIFgvIiQwIiA6ICcuKi9cKFteL11bXi9dKlwpLyokJyBcfCBcCistCSBYIiQwIiA6ICdYXCgvL1wpJCcgXHwgXAorLQkgWCIkMCIgOiAnWFwoL1wpJCcgXHwgXAorLQkgLiAgICAgOiAnXCguXCknIDI+L2Rldi9udWxsIHx8CistZWNobyBYLyIkMCIgfAorLSAgICBzZWQgJy9eLipcL1woW14vXVteL10qXClcLyokL3sgcy8vXDEvOyBxOyB9CistICAJICAvXlhcL1woXC9cL1wpJC97IHMvL1wxLzsgcTsgfQorLSAgCSAgL15YXC9cKFwvXCkuKi97IHMvL1wxLzsgcTsgfQorLSAgCSAgcy8uKi8uLzsgcSdgCisrQ0VPRgorK0VPRgorIAorK2NhdCA+PiAkQ09ORklHX1NUQVRVUyA8PFxFT0YKKyAKKy0jIFBBVEggbmVlZHMgQ1IsIGFuZCBMSU5FTk8gbmVlZHMgQ1IgYW5kIFBBVEguCistIyBBdm9pZCBkZXBlbmRpbmcgdXBvbiBDaGFyYWN0ZXIgUmFuZ2VzLgorLWFzX2NyX2xldHRlcnM9J2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6JworLWFzX2NyX0xFVFRFUlM9J0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJworLWFzX2NyX0xldHRlcnM9JGFzX2NyX2xldHRlcnMkYXNfY3JfTEVUVEVSUworLWFzX2NyX2RpZ2l0cz0nMDEyMzQ1Njc4OScKKy1hc19jcl9hbG51bT0kYXNfY3JfTGV0dGVycyRhc19jcl9kaWdpdHMKKy0KKy0jIFRoZSB1c2VyIGlzIGFsd2F5cyByaWdodC4KKy1pZiB0ZXN0ICIke1BBVEhfU0VQQVJBVE9SK3NldH0iICE9IHNldDsgdGhlbgorLSAgZWNobyAiIyEgL2Jpbi9zaCIgPmNvbmYkJC5zaAorLSAgZWNobyAgImV4aXQgMCIgICA+PmNvbmYkJC5zaAorLSAgY2htb2QgK3ggY29uZiQkLnNoCistICBpZiAoUEFUSD0iL25vbmV4aXN0ZW50Oy4iOyBjb25mJCQuc2gpID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgICBQQVRIX1NFUEFSQVRPUj0nOycKKysjIFNwbGl0IHRoZSBzdWJzdGl0dXRpb25zIGludG8gYml0ZS1zaXplZCBwaWVjZXMgZm9yIHNlZHMgd2l0aAorKyMgc21hbGwgY29tbWFuZCBudW1iZXIgbGltaXRzLCBsaWtlIG9uIERpZ2l0YWwgT1NGLzEgYW5kIEhQLVVYLgorK2FjX21heF9zZWRfY21kcz05MCAjIE1heGltdW0gbnVtYmVyIG9mIGxpbmVzIHRvIHB1dCBpbiBhIHNlZCBzY3JpcHQuCisrYWNfZmlsZT0xICMgTnVtYmVyIG9mIGN1cnJlbnQgZmlsZS4KKythY19iZWc9MSAjIEZpcnN0IGxpbmUgZm9yIGN1cnJlbnQgZmlsZS4KKythY19lbmQ9JGFjX21heF9zZWRfY21kcyAjIExpbmUgYWZ0ZXIgbGFzdCBsaW5lIGZvciBjdXJyZW50IGZpbGUuCisrYWNfbW9yZV9saW5lcz06CisrYWNfc2VkX2NtZHM9IiIKKyt3aGlsZSAkYWNfbW9yZV9saW5lczsgZG8KKysgIGlmIHRlc3QgJGFjX2JlZyAtZ3QgMTsgdGhlbgorKyAgICBzZWQgIjEsJHthY19iZWd9ZDsgJHthY19lbmR9cSIgY29uZnRlc3Quc3VicyA+IGNvbmZ0ZXN0LnMkYWNfZmlsZQorICAgZWxzZQorLSAgICBQQVRIX1NFUEFSQVRPUj06CisrICAgIHNlZCAiJHthY19lbmR9cSIgY29uZnRlc3Quc3VicyA+IGNvbmZ0ZXN0LnMkYWNfZmlsZQorICAgZmkKKy0gIHJtIC1mIGNvbmYkJC5zaAorLWZpCistCistCistICBhc19saW5lbm9fMT0kTElORU5PCistICBhc19saW5lbm9fMj0kTElORU5PCistICBhc19saW5lbm9fMz1gKGV4cHIgJGFzX2xpbmVub18xICsgMSkgMj4vZGV2L251bGxgCistICB0ZXN0ICJ4JGFzX2xpbmVub18xIiAhPSAieCRhc19saW5lbm9fMiIgJiYKKy0gIHRlc3QgIngkYXNfbGluZW5vXzMiICA9ICJ4JGFzX2xpbmVub18yIiAgfHwgeworLSAgIyBGaW5kIHdobyB3ZSBhcmUuICBMb29rIGluIHRoZSBwYXRoIGlmIHdlIGNvbnRhaW4gbm8gcGF0aCBhdCBhbGwKKy0gICMgcmVsYXRpdmUgb3Igbm90LgorLSAgY2FzZSAkMCBpbgorLSAgICAqW1xcL10qICkgYXNfbXlzZWxmPSQwIDs7CistICAgICopIGFzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKKy1mb3IgYXNfZGlyIGluICRQQVRICistZG8KKy0gIElGUz0kYXNfc2F2ZV9JRlMKKy0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCistICB0ZXN0IC1yICIkYXNfZGlyLyQwIiAmJiBhc19teXNlbGY9JGFzX2Rpci8kMCAmJiBicmVhaworLWRvbmUKKy0KKy0gICAgICAgOzsKKy0gIGVzYWMKKy0gICMgV2UgZGlkIG5vdCBmaW5kIG91cnNlbHZlcywgbW9zdCBwcm9iYWJseSB3ZSB3ZXJlIHJ1biBhcyBgc2ggQ09NTUFORCcKKy0gICMgaW4gd2hpY2ggY2FzZSB3ZSBhcmUgbm90IHRvIGJlIGZvdW5kIGluIHRoZSBwYXRoLgorLSAgaWYgdGVzdCAieCRhc19teXNlbGYiID0geDsgdGhlbgorLSAgICBhc19teXNlbGY9JDAKKy0gIGZpCistICBpZiB0ZXN0ICEgLWYgIiRhc19teXNlbGYiOyB0aGVuCistICAgIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBmaW5kIG15c2VsZjsgcmVydW4gd2l0aCBhbiBhYnNvbHV0ZSBwYXRoIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgZmluZCBteXNlbGY7IHJlcnVuIHdpdGggYW4gYWJzb2x1dGUgcGF0aCIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy0gIGZpCistICBjYXNlICRDT05GSUdfU0hFTEwgaW4KKy0gICcnKQorLSAgICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAvYmluJFBBVEhfU0VQQVJBVE9SL3Vzci9iaW4kUEFUSF9TRVBBUkFUT1IkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorLSAgZm9yIGFzX2Jhc2UgaW4gc2ggYmFzaCBrc2ggc2g1OyBkbworLQkgY2FzZSAkYXNfZGlyIGluCistCSAvKikKKy0JICAgaWYgKCIkYXNfZGlyLyRhc19iYXNlIiAtYyAnCistICBhc19saW5lbm9fMT0kTElORU5PCistICBhc19saW5lbm9fMj0kTElORU5PCistICBhc19saW5lbm9fMz1gKGV4cHIgJGFzX2xpbmVub18xICsgMSkgMj4vZGV2L251bGxgCistICB0ZXN0ICJ4JGFzX2xpbmVub18xIiAhPSAieCRhc19saW5lbm9fMiIgJiYKKy0gIHRlc3QgIngkYXNfbGluZW5vXzMiICA9ICJ4JGFzX2xpbmVub18yIiAnKSAyPi9kZXYvbnVsbDsgdGhlbgorLQkgICAgICRhc191bnNldCBCQVNIX0VOViB8fCB0ZXN0ICIke0JBU0hfRU5WK3NldH0iICE9IHNldCB8fCB7IEJBU0hfRU5WPTsgZXhwb3J0IEJBU0hfRU5WOyB9CistCSAgICAgJGFzX3Vuc2V0IEVOViB8fCB0ZXN0ICIke0VOVitzZXR9IiAhPSBzZXQgfHwgeyBFTlY9OyBleHBvcnQgRU5WOyB9CistCSAgICAgQ09ORklHX1NIRUxMPSRhc19kaXIvJGFzX2Jhc2UKKy0JICAgICBleHBvcnQgQ09ORklHX1NIRUxMCistCSAgICAgZXhlYyAiJENPTkZJR19TSEVMTCIgIiQwIiAkezErIiRAIn0KKy0JICAgZmk7OworLQkgZXNhYworLSAgICAgICBkb25lCistZG9uZQorLTs7CistICBlc2FjCistCistICAjIENyZWF0ZSAkYXNfbWUubGluZW5vIGFzIGEgY29weSBvZiAkYXNfbXlzZWxmLCBidXQgd2l0aCAkTElORU5PCistICAjIHVuaWZvcm1seSByZXBsYWNlZCBieSB0aGUgbGluZSBudW1iZXIuICBUaGUgZmlyc3QgJ3NlZCcgaW5zZXJ0cyBhCistICAjIGxpbmUtbnVtYmVyIGxpbmUgYmVmb3JlIGVhY2ggbGluZTsgdGhlIHNlY29uZCAnc2VkJyBkb2VzIHRoZSByZWFsCistICAjIHdvcmsuICBUaGUgc2Vjb25kIHNjcmlwdCB1c2VzICdOJyB0byBwYWlyIGVhY2ggbGluZS1udW1iZXIgbGluZQorLSAgIyB3aXRoIHRoZSBudW1iZXJlZCBsaW5lLCBhbmQgYXBwZW5kcyB0cmFpbGluZyAnLScgZHVyaW5nCistICAjIHN1YnN0aXR1dGlvbiBzbyB0aGF0ICRMSU5FTk8gaXMgbm90IGEgc3BlY2lhbCBjYXNlIGF0IGxpbmUgZW5kLgorLSAgIyAoUmFqYSBSIEhhcmluYXRoIHN1Z2dlc3RlZCBzZWQgJz0nLCBhbmQgUGF1bCBFZ2dlcnQgd3JvdGUgdGhlCistICAjIHNlY29uZCAnc2VkJyBzY3JpcHQuICBCbGFtZSBMZWUgRS4gTWNNYWhvbiBmb3Igc2VkJ3Mgc3ludGF4LiAgOi0pCistICBzZWQgJz0nIDwkYXNfbXlzZWxmIHwKKy0gICAgc2VkICcKKy0gICAgICBOCistICAgICAgcywkLC0sCistICAgICAgOiBsb29wCistICAgICAgcyxeXChbJyRhc19jcl9kaWdpdHMnXSpcKVwoLipcKVskXUxJTkVOT1woW14nJGFzX2NyX2FsbnVtJ19dXCksXDFcMlwxXDMsCistICAgICAgdCBsb29wCistICAgICAgcywtJCwsCistICAgICAgcyxeWyckYXNfY3JfZGlnaXRzJ10qXG4sLAorLSAgICAnID4kYXNfbWUubGluZW5vICYmCistICBjaG1vZCAreCAkYXNfbWUubGluZW5vIHx8CistICAgIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGNhbm5vdCBjcmVhdGUgJGFzX21lLmxpbmVubzsgcmVydW4gd2l0aCBhIFBPU0lYIHNoZWxsIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBjYW5ub3QgY3JlYXRlICRhc19tZS5saW5lbm87IHJlcnVuIHdpdGggYSBQT1NJWCBzaGVsbCIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH0KKy0KKy0gICMgRG9uJ3QgdHJ5IHRvIGV4ZWMgYXMgaXQgY2hhbmdlcyAkWzBdLCBjYXVzaW5nIGFsbCBzb3J0IG9mIHByb2JsZW1zCistICAjICh0aGUgZGlybmFtZSBvZiAkWzBdIGlzIG5vdCB0aGUgcGxhY2Ugd2hlcmUgd2UgbWlnaHQgZmluZCB0aGUKKy0gICMgb3JpZ2luYWwgYW5kIHNvIG9uLiAgQXV0b2NvbmYgaXMgZXNwZWNpYWxseSBzZW5zaWJsZSB0byB0aGlzKS4KKy0gIC4gLi8kYXNfbWUubGluZW5vCistICAjIEV4aXQgc3RhdHVzIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZC4KKy0gIGV4aXQKKy19CistCistCistY2FzZSBgZWNobyAidGVzdGluZ1xjIjsgZWNobyAxLDIsM2AsYGVjaG8gLW4gdGVzdGluZzsgZWNobyAxLDIsM2AgaW4KKy0gICpjKiwtbiopIEVDSE9fTj0gRUNIT19DPScKKy0nIEVDSE9fVD0nCScgOzsKKy0gICpjKiwqICApIEVDSE9fTj0tbiBFQ0hPX0M9IEVDSE9fVD0gOzsKKy0gICopICAgICAgIEVDSE9fTj0gRUNIT19DPSdcYycgRUNIT19UPSA7OworLWVzYWMKKy0KKy1pZiBleHByIGEgOiAnXChhXCknID4vZGV2L251bGwgMj4mMTsgdGhlbgorLSAgYXNfZXhwcj1leHByCistZWxzZQorLSAgYXNfZXhwcj1mYWxzZQorLWZpCistCistcm0gLWYgY29uZiQkIGNvbmYkJC5leGUgY29uZiQkLmZpbGUKKy1lY2hvID5jb25mJCQuZmlsZQorLWlmIGxuIC1zIGNvbmYkJC5maWxlIGNvbmYkJCAyPi9kZXYvbnVsbDsgdGhlbgorLSAgIyBXZSBjb3VsZCBqdXN0IGNoZWNrIGZvciBESkdQUDsgYnV0IHRoaXMgdGVzdCBhKSB3b3JrcyBiKSBpcyBtb3JlIGdlbmVyaWMKKy0gICMgYW5kIGMpIHdpbGwgcmVtYWluIHZhbGlkIG9uY2UgREpHUFAgc3VwcG9ydHMgc3ltbGlua3MgKERKR1BQIDIuMDQpLgorLSAgaWYgdGVzdCAtZiBjb25mJCQuZXhlOyB0aGVuCistICAgICMgRG9uJ3QgdXNlIGxuIGF0IGFsbDsgd2UgZG9uJ3QgaGF2ZSBhbnkgbGlua3MKKy0gICAgYXNfbG5fcz0nY3AgLXAnCisrICBpZiB0ZXN0ICEgLXMgY29uZnRlc3QucyRhY19maWxlOyB0aGVuCisrICAgIGFjX21vcmVfbGluZXM9ZmFsc2UKKysgICAgcm0gLWYgY29uZnRlc3QucyRhY19maWxlCisgICBlbHNlCistICAgIGFzX2xuX3M9J2xuIC1zJworKyAgICBpZiB0ZXN0IC16ICIkYWNfc2VkX2NtZHMiOyB0aGVuCisrICAgICAgYWNfc2VkX2NtZHM9InNlZCAtZiBjb25mdGVzdC5zJGFjX2ZpbGUiCisrICAgIGVsc2UKKysgICAgICBhY19zZWRfY21kcz0iJGFjX3NlZF9jbWRzIHwgc2VkIC1mIGNvbmZ0ZXN0LnMkYWNfZmlsZSIKKysgICAgZmkKKysgICAgYWNfZmlsZT1gZXhwciAkYWNfZmlsZSArIDFgCisrICAgIGFjX2JlZz0kYWNfZW5kCisrICAgIGFjX2VuZD1gZXhwciAkYWNfZW5kICsgJGFjX21heF9zZWRfY21kc2AKKyAgIGZpCistZWxpZiBsbiBjb25mJCQuZmlsZSBjb25mJCQgMj4vZGV2L251bGw7IHRoZW4KKy0gIGFzX2xuX3M9bG4KKy1lbHNlCistICBhc19sbl9zPSdjcCAtcCcKKy1maQorLXJtIC1mIGNvbmYkJCBjb25mJCQuZXhlIGNvbmYkJC5maWxlCistCistaWYgbWtkaXIgLXAgLiAyPi9kZXYvbnVsbDsgdGhlbgorLSAgYXNfbWtkaXJfcD06CistZWxzZQorLSAgYXNfbWtkaXJfcD1mYWxzZQorLWZpCistCistYXNfZXhlY3V0YWJsZV9wPSJ0ZXN0IC1mIgorLQorLSMgU2VkIGV4cHJlc3Npb24gdG8gbWFwIGEgc3RyaW5nIG9udG8gYSB2YWxpZCBDUFAgbmFtZS4KKy1hc190cl9jcHA9InNlZCB5JSokYXNfY3JfbGV0dGVycyVQJGFzX2NyX0xFVFRFUlMlO3MlW15fJGFzX2NyX2FsbnVtXSVfJWciCistCistIyBTZWQgZXhwcmVzc2lvbiB0byBtYXAgYSBzdHJpbmcgb250byBhIHZhbGlkIHZhcmlhYmxlIG5hbWUuCistYXNfdHJfc2g9InNlZCB5JSorJXBwJTtzJVteXyRhc19jcl9hbG51bV0lXyVnIgorLQorLQorLSMgSUZTCistIyBXZSBuZWVkIHNwYWNlLCB0YWIgYW5kIG5ldyBsaW5lLCBpbiBwcmVjaXNlbHkgdGhhdCBvcmRlci4KKy1hc19ubD0nCistJworLUlGUz0iIAkkYXNfbmwiCistCistIyBDRFBBVEguCistJGFzX3Vuc2V0IENEUEFUSAorLQorLWV4ZWMgNj4mMQorLQorLSMgT3BlbiB0aGUgbG9nIHJlYWwgc29vbiwgdG8ga2VlcCBcJFswXSBhbmQgc28gb24gbWVhbmluZ2Z1bCwgYW5kIHRvCistIyByZXBvcnQgYWN0dWFsIGlucHV0IHZhbHVlcyBvZiBDT05GSUdfRklMRVMgZXRjLiBpbnN0ZWFkIG9mIHRoZWlyCistIyB2YWx1ZXMgYWZ0ZXIgb3B0aW9ucyBoYW5kbGluZy4gIExvZ2dpbmcgLS12ZXJzaW9uIGV0Yy4gaXMgT0suCistZXhlYyA1Pj5jb25maWcubG9nCisteworLSAgZWNobworLSAgc2VkICdoO3MvLi8tL2c7cy9eLi4uLyMjIC87cy8uLi4kLyAjIy87cDt4O3A7eCcgPDxfQVNCT1gKKy0jIyBSdW5uaW5nICRhc19tZS4gIyMKKy1fQVNCT1gKKy19ID4mNQorLWNhdCA+JjUgPDxfQ1NFT0YKKy0KKy1UaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5ICRhc19tZSwgd2hpY2ggd2FzCistZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCistCistICBDT05GSUdfRklMRVMgICAgPSAkQ09ORklHX0ZJTEVTCistICBDT05GSUdfSEVBREVSUyAgPSAkQ09ORklHX0hFQURFUlMKKy0gIENPTkZJR19MSU5LUyAgICA9ICRDT05GSUdfTElOS1MKKy0gIENPTkZJR19DT01NQU5EUyA9ICRDT05GSUdfQ09NTUFORFMKKy0gICQgJDAgJEAKKy0KKy1fQ1NFT0YKKy1lY2hvICJvbiBgKGhvc3RuYW1lIHx8IHVuYW1lIC1uKSAyPi9kZXYvbnVsbCB8IHNlZCAxcWAiID4mNQorLWVjaG8gPiY1CistX0FDRU9GCistCistIyBGaWxlcyB0aGF0IGNvbmZpZy5zdGF0dXMgd2FzIG1hZGUgZm9yLgorLWlmIHRlc3QgLW4gIiRhY19jb25maWdfZmlsZXMiOyB0aGVuCistICBlY2hvICJjb25maWdfZmlsZXM9XCIkYWNfY29uZmlnX2ZpbGVzXCIiID4+JENPTkZJR19TVEFUVVMKKy1maQorLQorLWlmIHRlc3QgLW4gIiRhY19jb25maWdfaGVhZGVycyI7IHRoZW4KKy0gIGVjaG8gImNvbmZpZ19oZWFkZXJzPVwiJGFjX2NvbmZpZ19oZWFkZXJzXCIiID4+JENPTkZJR19TVEFUVVMKKy1maQorLQorLWlmIHRlc3QgLW4gIiRhY19jb25maWdfbGlua3MiOyB0aGVuCistICBlY2hvICJjb25maWdfbGlua3M9XCIkYWNfY29uZmlnX2xpbmtzXCIiID4+JENPTkZJR19TVEFUVVMKKy1maQorLQorLWlmIHRlc3QgLW4gIiRhY19jb25maWdfY29tbWFuZHMiOyB0aGVuCistICBlY2hvICJjb25maWdfY29tbWFuZHM9XCIkYWNfY29uZmlnX2NvbW1hbmRzXCIiID4+JENPTkZJR19TVEFUVVMKKy1maQorLQorLWNhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRgorLQorLWFjX2NzX3VzYWdlPSJcCistXGAkYXNfbWUnIGluc3RhbnRpYXRlcyBmaWxlcyBmcm9tIHRlbXBsYXRlcyBhY2NvcmRpbmcgdG8gdGhlCistY3VycmVudCBjb25maWd1cmF0aW9uLgorLQorLVVzYWdlOiAkMCBbT1BUSU9OU10gW0ZJTEVdLi4uCistCistICAtaCwgLS1oZWxwICAgICAgIHByaW50IHRoaXMgaGVscCwgdGhlbiBleGl0CistICAtViwgLS12ZXJzaW9uICAgIHByaW50IHZlcnNpb24gbnVtYmVyLCB0aGVuIGV4aXQKKy0gIC1xLCAtLXF1aWV0ICAgICAgZG8gbm90IHByaW50IHByb2dyZXNzIG1lc3NhZ2VzCistICAtZCwgLS1kZWJ1ZyAgICAgIGRvbid0IHJlbW92ZSB0ZW1wb3JhcnkgZmlsZXMKKy0gICAgICAtLXJlY2hlY2sgICAgdXBkYXRlICRhc19tZSBieSByZWNvbmZpZ3VyaW5nIGluIHRoZSBzYW1lIGNvbmRpdGlvbnMKKy0gIC0tZmlsZT1GSUxFWzpURU1QTEFURV0KKy0gICAgICAgICAgICAgICAgICAgaW5zdGFudGlhdGUgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBGSUxFCistCistQ29uZmlndXJhdGlvbiBmaWxlczoKKy0kY29uZmlnX2ZpbGVzCistCistUmVwb3J0IGJ1Z3MgdG8gPGJ1Zy1hdXRvY29uZkBnbnUub3JnPi4iCistX0FDRU9GCistCistY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YKKy1hY19jc192ZXJzaW9uPSJcXAorLWNvbmZpZy5zdGF0dXMKKy1jb25maWd1cmVkIGJ5ICQwLCBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTcsCistICB3aXRoIG9wdGlvbnMgXFwiYGVjaG8gIiRhY19jb25maWd1cmVfYXJncyIgfCBzZWQgJ3MvW1xcIiJcYFwkXS9cXFxcJi9nJ2BcXCIKKy0KKy1Db3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMQorLUZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLVRoaXMgY29uZmlnLnN0YXR1cyBzY3JpcHQgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorLWdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kIG1vZGlmeSBpdC4iCistc3JjZGlyPSRzcmNkaXIKKy1JTlNUQUxMPSIkSU5TVEFMTCIKKy1fQUNFT0YKKy0KKy1jYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YKKy0jIElmIG5vIGZpbGUgYXJlIHNwZWNpZmllZCBieSB0aGUgdXNlciwgdGhlbiB3ZSBuZWVkIHRvIHByb3ZpZGUgZGVmYXVsdAorLSMgdmFsdWUuICBCeSB3ZSBuZWVkIHRvIGtub3cgaWYgZmlsZXMgd2VyZSBzcGVjaWZpZWQgYnkgdGhlIHVzZXIuCistYWNfbmVlZF9kZWZhdWx0cz06Cistd2hpbGUgdGVzdCAkIyAhPSAwCistZG8KKy0gIGNhc2UgJDEgaW4KKy0gIC0tKj0qKQorLSAgICBhY19vcHRpb249YGV4cHIgIngkMSIgOiAneFwoW149XSpcKT0nYAorLSAgICBhY19vcHRhcmc9YGV4cHIgIngkMSIgOiAneFtePV0qPVwoLipcKSdgCistICAgIGFjX3NoaWZ0PToKKy0gICAgOzsKKy0gIC0qKQorLSAgICBhY19vcHRpb249JDEKKy0gICAgYWNfb3B0YXJnPSQyCistICAgIGFjX3NoaWZ0PXNoaWZ0CistICAgIDs7CistICAqKSAjIFRoaXMgaXMgbm90IGFuIG9wdGlvbiwgc28gdGhlIHVzZXIgaGFzIHByb2JhYmx5IGdpdmVuIGV4cGxpY2l0CistICAgICAjIGFyZ3VtZW50cy4KKy0gICAgIGFjX29wdGlvbj0kMQorLSAgICAgYWNfbmVlZF9kZWZhdWx0cz1mYWxzZTs7CistICBlc2FjCistCistICBjYXNlICRhY19vcHRpb24gaW4KKy0gICMgSGFuZGxpbmcgb2YgdGhlIG9wdGlvbnMuCistX0FDRU9GCistY2F0ID4+JENPTkZJR19TVEFUVVMgPDxcX0FDRU9GCistICAtcmVjaGVjayB8IC0tcmVjaGVjayB8IC0tcmVjaGVjIHwgLS1yZWNoZSB8IC0tcmVjaCB8IC0tcmVjIHwgLS1yZSB8IC0tcikKKy0gICAgYWNfY3NfcmVjaGVjaz06IDs7CistICAtLXZlcnNpb24gfCAtLXZlcnMqIHwgLVYgKQorLSAgICBlY2hvICIkYWNfY3NfdmVyc2lvbiI7IGV4aXQgMCA7OworLSAgLS1oZSB8IC0taCkKKy0gICAgIyBDb25mbGljdCBiZXR3ZWVuIC0taGVscCBhbmQgLS1oZWFkZXIKKy0gICAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogYW1iaWd1b3VzIG9wdGlvbjogJDEKKy1UcnkgXGAkMCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogYW1iaWd1b3VzIG9wdGlvbjogJDEKKy1UcnkgXGAkMCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH07OworLSAgLS1oZWxwIHwgLS1oZWwgfCAtaCApCistICAgIGVjaG8gIiRhY19jc191c2FnZSI7IGV4aXQgMCA7OworLSAgLS1kZWJ1ZyB8IC0tZCogfCAtZCApCistICAgIGRlYnVnPTogOzsKKy0gIC0tZmlsZSB8IC0tZmlsIHwgLS1maSB8IC0tZiApCistICAgICRhY19zaGlmdAorLSAgICBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgJGFjX29wdGFyZyIKKy0gICAgYWNfbmVlZF9kZWZhdWx0cz1mYWxzZTs7CistICAtLWhlYWRlciB8IC0taGVhZGUgfCAtLWhlYWQgfCAtLWhlYSApCistICAgICRhY19zaGlmdAorLSAgICBDT05GSUdfSEVBREVSUz0iJENPTkZJR19IRUFERVJTICRhY19vcHRhcmciCistICAgIGFjX25lZWRfZGVmYXVsdHM9ZmFsc2U7OworLSAgLXEgfCAtcXVpZXQgfCAtLXF1aWV0IHwgLS1xdWllIHwgLS1xdWkgfCAtLXF1IHwgLS1xIFwKKy0gIHwgLXNpbGVudCB8IC0tc2lsZW50IHwgLS1zaWxlbiB8IC0tc2lsZSB8IC0tc2lsIHwgLS1zaSB8IC0tcykKKy0gICAgYWNfY3Nfc2lsZW50PTogOzsKKy0KKy0gICMgVGhpcyBpcyBhbiBlcnJvci4KKy0gIC0qKSB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiB1bnJlY29nbml6ZWQgb3B0aW9uOiAkMQorLVRyeSBcYCQwIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiB1bnJlY29nbml6ZWQgb3B0aW9uOiAkMQorLVRyeSBcYCQwIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfSA7OworLQorLSAgKikgYWNfY29uZmlnX3RhcmdldHM9IiRhY19jb25maWdfdGFyZ2V0cyAkMSIgOzsKKy0KKy0gIGVzYWMKKy0gIHNoaWZ0CisgZG9uZQorLQorLWFjX2NvbmZpZ3VyZV9leHRyYV9hcmdzPQorLQorLWlmICRhY19jc19zaWxlbnQ7IHRoZW4KKy0gIGV4ZWMgNj4vZGV2L251bGwKKy0gIGFjX2NvbmZpZ3VyZV9leHRyYV9hcmdzPSIkYWNfY29uZmlndXJlX2V4dHJhX2FyZ3MgLS1zaWxlbnQiCisraWYgdGVzdCAteiAiJGFjX3NlZF9jbWRzIjsgdGhlbgorKyAgYWNfc2VkX2NtZHM9Y2F0CisgZmkKKytFT0YKKyAKKy1fQUNFT0YKKy1jYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRgorLWlmIFwkYWNfY3NfcmVjaGVjazsgdGhlbgorLSAgZWNobyAicnVubmluZyAkU0hFTEwgJDAgIiAkYWNfY29uZmlndXJlX2FyZ3MgXCRhY19jb25maWd1cmVfZXh0cmFfYXJncyAiIC0tbm8tY3JlYXRlIC0tbm8tcmVjdXJzaW9uIiA+JjYKKy0gIGV4ZWMgJFNIRUxMICQwICRhY19jb25maWd1cmVfYXJncyBcJGFjX2NvbmZpZ3VyZV9leHRyYV9hcmdzIC0tbm8tY3JlYXRlIC0tbm8tcmVjdXJzaW9uCistZmkKKytjYXQgPj4gJENPTkZJR19TVEFUVVMgPDxFT0YKKyAKKy1fQUNFT0YKKy0KKy0KKy0KKy0KKy0KKy1jYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YKKy1mb3IgYWNfY29uZmlnX3RhcmdldCBpbiAkYWNfY29uZmlnX3RhcmdldHMKKy1kbworLSAgY2FzZSAiJGFjX2NvbmZpZ190YXJnZXQiIGluCistICAjIEhhbmRsaW5nIG9mIGFyZ3VtZW50cy4KKy0gICJjb25maWcvY29uZmlnIiApIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBjb25maWcvY29uZmlnIiA7OworLSAgImNvbmZpZy9zeXN0ZW0ubWFrIiApIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBjb25maWcvc3lzdGVtLm1hayIgOzsKKy0gICopIHsgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogZXJyb3I6IGludmFsaWQgYXJndW1lbnQ6ICRhY19jb25maWdfdGFyZ2V0IiA+JjUKKy1lY2hvICIkYXNfbWU6IGVycm9yOiBpbnZhbGlkIGFyZ3VtZW50OiAkYWNfY29uZmlnX3RhcmdldCIgPiYyO30KKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH07IH07OworK0NPTkZJR19GSUxFUz1cJHtDT05GSUdfRklMRVMtImNvbmZpZy9jb25maWcgY29uZmlnL3N5c3RlbS5tYWsifQorK0VPRgorK2NhdCA+PiAkQ09ORklHX1NUQVRVUyA8PFxFT0YKKytmb3IgYWNfZmlsZSBpbiAuLiAkQ09ORklHX0ZJTEVTOyBkbyBpZiB0ZXN0ICJ4JGFjX2ZpbGUiICE9IHguLjsgdGhlbgorKyAgIyBTdXBwb3J0ICJvdXRmaWxlWzppbmZpbGVbOmluZmlsZS4uLl1dIiwgZGVmYXVsdGluZyBpbmZpbGU9Im91dGZpbGUuaW4iLgorKyAgY2FzZSAiJGFjX2ZpbGUiIGluCisrICAqOiopIGFjX2ZpbGVfaW49YGVjaG8gIiRhY19maWxlInxzZWQgJ3MlW146XSo6JSUnYAorKyAgICAgICBhY19maWxlPWBlY2hvICIkYWNfZmlsZSJ8c2VkICdzJTouKiUlJ2AgOzsKKysgICopIGFjX2ZpbGVfaW49IiR7YWNfZmlsZX0uaW4iIDs7CisgICBlc2FjCistZG9uZQorIAorLSMgSWYgdGhlIHVzZXIgZGlkIG5vdCB1c2UgdGhlIGFyZ3VtZW50cyB0byBzcGVjaWZ5IHRoZSBpdGVtcyB0byBpbnN0YW50aWF0ZSwKKy0jIHRoZW4gdGhlIGVudnZhciBpbnRlcmZhY2UgaXMgdXNlZC4gIFNldCBvbmx5IHRob3NlIHRoYXQgYXJlIG5vdC4KKy0jIFdlIHVzZSB0aGUgbG9uZyBmb3JtIGZvciB0aGUgZGVmYXVsdCBhc3NpZ25tZW50IGJlY2F1c2Ugb2YgYW4gZXh0cmVtZWx5CistIyBiaXphcnJlIGJ1ZyBvbiBTdW5PUyA0LjEuMy4KKy1pZiAkYWNfbmVlZF9kZWZhdWx0czsgdGhlbgorLSAgdGVzdCAiJHtDT05GSUdfRklMRVMrc2V0fSIgPSBzZXQgfHwgQ09ORklHX0ZJTEVTPSRjb25maWdfZmlsZXMKKy1maQorKyAgIyBBZGp1c3QgYSByZWxhdGl2ZSBzcmNkaXIsIHRvcF9zcmNkaXIsIGFuZCBJTlNUQUxMIGZvciBzdWJkaXJlY3Rvcmllcy4KKyAKKy0jIEhhdmUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IGZvciBjb252ZW5pZW5jZS4gIE1ha2UgaXQgaW4gdGhlIGJ1aWxkIHRyZWUKKy0jIHNpbXBseSBiZWNhdXNlIHRoZXJlIGlzIG5vIHJlYXNvbiB0byBwdXQgaXQgaGVyZSwgYW5kIGluIGFkZGl0aW9uLAorLSMgY3JlYXRpbmcgYW5kIG1vdmluZyBmaWxlcyBmcm9tIC90bXAgY2FuIHNvbWV0aW1lcyBjYXVzZSBwcm9ibGVtcy4KKy0jIENyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnksIGFuZCBob29rIGZvciBpdHMgcmVtb3ZhbCB1bmxlc3MgZGVidWdnaW5nLgorLSRkZWJ1ZyB8fAorLXsKKy0gIHRyYXAgJ2V4aXRfc3RhdHVzPSQ/OyBybSAtcmYgJHRtcCAmJiBleGl0ICRleGl0X3N0YXR1cycgMAorLSAgdHJhcCAneyAoZXhpdCAxKTsgZXhpdCAxOyB9JyAxIDIgMTMgMTUKKy19CistCistIyBDcmVhdGUgYSAoc2VjdXJlKSB0bXAgZGlyZWN0b3J5IGZvciB0bXAgZmlsZXMuCistCisteworLSAgdG1wPWAodW1hc2sgMDc3ICYmIG1rdGVtcCAtZCAtcSAiLi9jb25mc3RhdFhYWFhYWCIpIDI+L2Rldi9udWxsYCAmJgorLSAgdGVzdCAtbiAiJHRtcCIgJiYgdGVzdCAtZCAiJHRtcCIKKy19ICB8fAorLXsKKy0gIHRtcD0uL2NvbmZzdGF0JCQtJFJBTkRPTQorLSAgKHVtYXNrIDA3NyAmJiBta2RpciAkdG1wKQorLX0gfHwKKy17CistICAgZWNobyAiJG1lOiBjYW5ub3QgY3JlYXRlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSBpbiAuIiA+JjIKKy0gICB7IChleGl0IDEpOyBleGl0IDE7IH0KKy19CistCistX0FDRU9GCistCistY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YKKy0KKy0jCistIyBDT05GSUdfRklMRVMgc2VjdGlvbi4KKy0jCistCistIyBObyBuZWVkIHRvIGdlbmVyYXRlIHRoZSBzY3JpcHRzIGlmIHRoZXJlIGFyZSBubyBDT05GSUdfRklMRVMuCistIyBUaGlzIGhhcHBlbnMgZm9yIGluc3RhbmNlIHdoZW4gLi9jb25maWcuc3RhdHVzIGNvbmZpZy5oCistaWYgdGVzdCAtbiAiXCRDT05GSUdfRklMRVMiOyB0aGVuCistICAjIFByb3RlY3QgYWdhaW5zdCBiZWluZyBvbiB0aGUgcmlnaHQgc2lkZSBvZiBhIHNlZCBzdWJzdCBpbiBjb25maWcuc3RhdHVzLgorLSAgc2VkICdzLyxAL0BALzsgcy9ALC9AQC87IHMvLDt0IHRcJC9AO3QgdC87IC9AO3QgdFwkL3MvW1xcXFwmLF0vXFxcXCYvZzsKKy0gICBzL0BALyxALzsgcy9AQC9ALC87IHMvQDt0IHRcJC8sO3QgdC8nID5cJHRtcC9zdWJzLnNlZCA8PFxcQ0VPRgorLXMsQFNIRUxMQCwkU0hFTEwsO3QgdAorLXMsQFBBVEhfU0VQQVJBVE9SQCwkUEFUSF9TRVBBUkFUT1IsO3QgdAorLXMsQFBBQ0tBR0VfTkFNRUAsJFBBQ0tBR0VfTkFNRSw7dCB0CistcyxAUEFDS0FHRV9UQVJOQU1FQCwkUEFDS0FHRV9UQVJOQU1FLDt0IHQKKy1zLEBQQUNLQUdFX1ZFUlNJT05ALCRQQUNLQUdFX1ZFUlNJT04sO3QgdAorLXMsQFBBQ0tBR0VfU1RSSU5HQCwkUEFDS0FHRV9TVFJJTkcsO3QgdAorLXMsQFBBQ0tBR0VfQlVHUkVQT1JUQCwkUEFDS0FHRV9CVUdSRVBPUlQsO3QgdAorLXMsQGV4ZWNfcHJlZml4QCwkZXhlY19wcmVmaXgsO3QgdAorLXMsQHByZWZpeEAsJHByZWZpeCw7dCB0CistcyxAcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZUAsJHByb2dyYW1fdHJhbnNmb3JtX25hbWUsO3QgdAorLXMsQGJpbmRpckAsJGJpbmRpciw7dCB0CistcyxAc2JpbmRpckAsJHNiaW5kaXIsO3QgdAorLXMsQGxpYmV4ZWNkaXJALCRsaWJleGVjZGlyLDt0IHQKKy1zLEBkYXRhZGlyQCwkZGF0YWRpciw7dCB0CistcyxAc3lzY29uZmRpckAsJHN5c2NvbmZkaXIsO3QgdAorLXMsQHNoYXJlZHN0YXRlZGlyQCwkc2hhcmVkc3RhdGVkaXIsO3QgdAorLXMsQGxvY2Fsc3RhdGVkaXJALCRsb2NhbHN0YXRlZGlyLDt0IHQKKy1zLEBsaWJkaXJALCRsaWJkaXIsO3QgdAorLXMsQGluY2x1ZGVkaXJALCRpbmNsdWRlZGlyLDt0IHQKKy1zLEBvbGRpbmNsdWRlZGlyQCwkb2xkaW5jbHVkZWRpciw7dCB0CistcyxAaW5mb2RpckAsJGluZm9kaXIsO3QgdAorLXMsQG1hbmRpckAsJG1hbmRpciw7dCB0CistcyxAYnVpbGRfYWxpYXNALCRidWlsZF9hbGlhcyw7dCB0CistcyxAaG9zdF9hbGlhc0AsJGhvc3RfYWxpYXMsO3QgdAorLXMsQHRhcmdldF9hbGlhc0AsJHRhcmdldF9hbGlhcyw7dCB0CistcyxAREVGU0AsJERFRlMsO3QgdAorLXMsQEVDSE9fQ0AsJEVDSE9fQyw7dCB0CistcyxARUNIT19OQCwkRUNIT19OLDt0IHQKKy1zLEBFQ0hPX1RALCRFQ0hPX1QsO3QgdAorLXMsQExJQlNALCRMSUJTLDt0IHQKKy1zLEBidWlsZEAsJGJ1aWxkLDt0IHQKKy1zLEBidWlsZF9jcHVALCRidWlsZF9jcHUsO3QgdAorLXMsQGJ1aWxkX3ZlbmRvckAsJGJ1aWxkX3ZlbmRvciw7dCB0CistcyxAYnVpbGRfb3NALCRidWlsZF9vcyw7dCB0CistcyxAaG9zdEAsJGhvc3QsO3QgdAorLXMsQGhvc3RfY3B1QCwkaG9zdF9jcHUsO3QgdAorLXMsQGhvc3RfdmVuZG9yQCwkaG9zdF92ZW5kb3IsO3QgdAorLXMsQGhvc3Rfb3NALCRob3N0X29zLDt0IHQKKy1zLEB0YXJnZXRALCR0YXJnZXQsO3QgdAorLXMsQHRhcmdldF9jcHVALCR0YXJnZXRfY3B1LDt0IHQKKy1zLEB0YXJnZXRfdmVuZG9yQCwkdGFyZ2V0X3ZlbmRvciw7dCB0CistcyxAdGFyZ2V0X29zQCwkdGFyZ2V0X29zLDt0IHQKKy1zLEBDQ0AsJENDLDt0IHQKKy1zLEBDRkxBR1NALCRDRkxBR1MsO3QgdAorLXMsQExERkxBR1NALCRMREZMQUdTLDt0IHQKKy1zLEBDUFBGTEFHU0AsJENQUEZMQUdTLDt0IHQKKy1zLEBhY19jdF9DQ0AsJGFjX2N0X0NDLDt0IHQKKy1zLEBFWEVFWFRALCRFWEVFWFQsO3QgdAorLXMsQE9CSkVYVEAsJE9CSkVYVCw7dCB0CistcyxAUkFOTElCQCwkUkFOTElCLDt0IHQKKy1zLEBhY19jdF9SQU5MSUJALCRhY19jdF9SQU5MSUIsO3QgdAorLXMsQElOU1RBTExfUFJPR1JBTUAsJElOU1RBTExfUFJPR1JBTSw7dCB0CistcyxASU5TVEFMTF9TQ1JJUFRALCRJTlNUQUxMX1NDUklQVCw7dCB0CistcyxASU5TVEFMTF9EQVRBQCwkSU5TVEFMTF9EQVRBLDt0IHQKKy1zLEBBUkAsJEFSLDt0IHQKKy1zLEBhY19jdF9BUkAsJGFjX2N0X0FSLDt0IHQKKy1zLEBUQVJHRVRfT1NALCRUQVJHRVRfT1MsO3QgdAorLXMsQFRBUkdFVF9DUFVALCRUQVJHRVRfQ1BVLDt0IHQKKy1zLEBNNjhLQ0NALCRNNjhLQ0MsO3QgdAorLXMsQExFWERFRlNALCRMRVhERUZTLDt0IHQKKy1zLEBWT1hERUZTQCwkVk9YREVGUyw7dCB0CistcyxASE9TVF9PU0AsJEhPU1RfT1MsO3QgdAorLXMsQEhPU1RfQ1BVQCwkSE9TVF9DUFUsO3QgdAorLXMsQE9USEVSTElCU0AsJE9USEVSTElCUyw7dCB0CistcyxAU0hGTEFHU0AsJFNIRkxBR1MsO3QgdAorLXMsQE1NQVBUWVBFQCwkTU1BUFRZUEUsO3QgdAorLXMsQFNURElPVFlQRUAsJFNURElPVFlQRSw7dCB0CistcyxAQ1BQQCwkQ1BQLDt0IHQKKy1zLEBFR1JFUEAsJEVHUkVQLDt0IHQKKy1zLEBBVURJT0RSSVZFUkAsJEFVRElPRFJJVkVSLDt0IHQKKy1zLEBBVURJT0RFRlNALCRBVURJT0RFRlMsO3QgdAorLXMsQEFVRElPTElCU0AsJEFVRElPTElCUyw7dCB0CistcyxARkxfTEFOR0AsJEZMX0xBTkcsO3QgdAorLXMsQEZMX1ZPWEAsJEZMX1ZPWCw7dCB0CistcyxARkxfTEVYQCwkRkxfTEVYLDt0IHQKKy1zLEBMSUJPQkpTQCwkTElCT0JKUyw7dCB0CistcyxATFRMSUJPQkpTQCwkTFRMSUJPQkpTLDt0IHQKKy1DRU9GCistCistX0FDRU9GCistCistICBjYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YKKy0gICMgU3BsaXQgdGhlIHN1YnN0aXR1dGlvbnMgaW50byBiaXRlLXNpemVkIHBpZWNlcyBmb3Igc2VkcyB3aXRoCistICAjIHNtYWxsIGNvbW1hbmQgbnVtYmVyIGxpbWl0cywgbGlrZSBvbiBEaWdpdGFsIE9TRi8xIGFuZCBIUC1VWC4KKy0gIGFjX21heF9zZWRfbGluZXM9NDgKKy0gIGFjX3NlZF9mcmFnPTEgIyBOdW1iZXIgb2YgY3VycmVudCBmaWxlLgorLSAgYWNfYmVnPTEgIyBGaXJzdCBsaW5lIGZvciBjdXJyZW50IGZpbGUuCistICBhY19lbmQ9JGFjX21heF9zZWRfbGluZXMgIyBMaW5lIGFmdGVyIGxhc3QgbGluZSBmb3IgY3VycmVudCBmaWxlLgorLSAgYWNfbW9yZV9saW5lcz06CistICBhY19zZWRfY21kcz0KKy0gIHdoaWxlICRhY19tb3JlX2xpbmVzOyBkbworLSAgICBpZiB0ZXN0ICRhY19iZWcgLWd0IDE7IHRoZW4KKy0gICAgICBzZWQgIjEsJHthY19iZWd9ZDsgJHthY19lbmR9cSIgJHRtcC9zdWJzLnNlZCA+JHRtcC9zdWJzLmZyYWcKKy0gICAgZWxzZQorLSAgICAgIHNlZCAiJHthY19lbmR9cSIgJHRtcC9zdWJzLnNlZCA+JHRtcC9zdWJzLmZyYWcKKy0gICAgZmkKKy0gICAgaWYgdGVzdCAhIC1zICR0bXAvc3Vicy5mcmFnOyB0aGVuCistICAgICAgYWNfbW9yZV9saW5lcz1mYWxzZQorLSAgICBlbHNlCistICAgICAgIyBUaGUgcHVycG9zZSBvZiB0aGUgbGFiZWwgYW5kIG9mIHRoZSBicmFuY2hpbmcgY29uZGl0aW9uIGlzIHRvCistICAgICAgIyBzcGVlZCB1cCB0aGUgc2VkIHByb2Nlc3NpbmcgKGlmIHRoZXJlIGFyZSBubyBgQCcgYXQgYWxsLCB0aGVyZQorLSAgICAgICMgaXMgbm8gbmVlZCB0byBicm93c2UgYW55IG9mIHRoZSBzdWJzdGl0dXRpb25zKS4KKy0gICAgICAjIFRoZXNlIGFyZSB0aGUgdHdvIGV4dHJhIHNlZCBjb21tYW5kcyBtZW50aW9uZWQgYWJvdmUuCistICAgICAgKGVjaG8gJzp0CistICAvQFthLXpBLVpfXVthLXpBLVpfMC05XSpALyFiJyAmJiBjYXQgJHRtcC9zdWJzLmZyYWcpID4kdG1wL3N1YnMtJGFjX3NlZF9mcmFnLnNlZAorLSAgICAgIGlmIHRlc3QgLXogIiRhY19zZWRfY21kcyI7IHRoZW4KKy0gIAlhY19zZWRfY21kcz0ic2VkIC1mICR0bXAvc3Vicy0kYWNfc2VkX2ZyYWcuc2VkIgorLSAgICAgIGVsc2UKKy0gIAlhY19zZWRfY21kcz0iJGFjX3NlZF9jbWRzIHwgc2VkIC1mICR0bXAvc3Vicy0kYWNfc2VkX2ZyYWcuc2VkIgorLSAgICAgIGZpCistICAgICAgYWNfc2VkX2ZyYWc9YGV4cHIgJGFjX3NlZF9mcmFnICsgMWAKKy0gICAgICBhY19iZWc9JGFjX2VuZAorLSAgICAgIGFjX2VuZD1gZXhwciAkYWNfZW5kICsgJGFjX21heF9zZWRfbGluZXNgCistICAgIGZpCistICBkb25lCistICBpZiB0ZXN0IC16ICIkYWNfc2VkX2NtZHMiOyB0aGVuCistICAgIGFjX3NlZF9jbWRzPWNhdAorKyAgIyBSZW1vdmUgbGFzdCBzbGFzaCBhbmQgYWxsIHRoYXQgZm9sbG93cyBpdC4gIE5vdCBhbGwgc3lzdGVtcyBoYXZlIGRpcm5hbWUuCisrICBhY19kaXI9YGVjaG8gJGFjX2ZpbGV8c2VkICdzJS9bXi9dW14vXSokJSUnYAorKyAgaWYgdGVzdCAiJGFjX2RpciIgIT0gIiRhY19maWxlIiAmJiB0ZXN0ICIkYWNfZGlyIiAhPSAuOyB0aGVuCisrICAgICMgVGhlIGZpbGUgaXMgaW4gYSBzdWJkaXJlY3RvcnkuCisrICAgIHRlc3QgISAtZCAiJGFjX2RpciIgJiYgbWtkaXIgIiRhY19kaXIiCisrICAgIGFjX2Rpcl9zdWZmaXg9Ii9gZWNobyAkYWNfZGlyfHNlZCAncyVeXC4vJSUnYCIKKysgICAgIyBBICIuLi8iIGZvciBlYWNoIGRpcmVjdG9yeSBpbiAkYWNfZGlyX3N1ZmZpeC4KKysgICAgYWNfZG90cz1gZWNobyAkYWNfZGlyX3N1ZmZpeHxzZWQgJ3MlL1teL10qJS4uLyVnJ2AKKysgIGVsc2UKKysgICAgYWNfZGlyX3N1ZmZpeD0gYWNfZG90cz0KKyAgIGZpCistZmkgIyB0ZXN0IC1uICIkQ09ORklHX0ZJTEVTIgorIAorLV9BQ0VPRgorLWNhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRgorLWZvciBhY19maWxlIGluIDogJENPTkZJR19GSUxFUzsgZG8gdGVzdCAieCRhY19maWxlIiA9IHg6ICYmIGNvbnRpbnVlCistICAjIFN1cHBvcnQgIm91dGZpbGVbOmluZmlsZVs6aW5maWxlLi4uXV0iLCBkZWZhdWx0aW5nIGluZmlsZT0ib3V0ZmlsZS5pbiIuCistICBjYXNlICRhY19maWxlIGluCistICAtIHwgKjotIHwgKjotOiogKSAjIGlucHV0IGZyb20gc3RkaW4KKy0gICAgICAgIGNhdCA+JHRtcC9zdGRpbgorLSAgICAgICAgYWNfZmlsZV9pbj1gZWNobyAiJGFjX2ZpbGUiIHwgc2VkICdzLFteOl0qOiwsJ2AKKy0gICAgICAgIGFjX2ZpbGU9YGVjaG8gIiRhY19maWxlIiB8IHNlZCAncyw6LiosLCdgIDs7CistICAqOiogKSBhY19maWxlX2luPWBlY2hvICIkYWNfZmlsZSIgfCBzZWQgJ3MsW146XSo6LCwnYAorLSAgICAgICAgYWNfZmlsZT1gZWNobyAiJGFjX2ZpbGUiIHwgc2VkICdzLDouKiwsJ2AgOzsKKy0gICogKSAgIGFjX2ZpbGVfaW49JGFjX2ZpbGUuaW4gOzsKKysgIGNhc2UgIiRhY19naXZlbl9zcmNkaXIiIGluCisrICAuKSAgc3JjZGlyPS4KKysgICAgICBpZiB0ZXN0IC16ICIkYWNfZG90cyI7IHRoZW4gdG9wX3NyY2Rpcj0uCisrICAgICAgZWxzZSB0b3Bfc3JjZGlyPWBlY2hvICRhY19kb3RzfHNlZCAncyUvJCUlJ2A7IGZpIDs7CisrICAvKikgc3JjZGlyPSIkYWNfZ2l2ZW5fc3JjZGlyJGFjX2Rpcl9zdWZmaXgiOyB0b3Bfc3JjZGlyPSIkYWNfZ2l2ZW5fc3JjZGlyIiA7OworKyAgKikgIyBSZWxhdGl2ZSBwYXRoLgorKyAgICBzcmNkaXI9IiRhY19kb3RzJGFjX2dpdmVuX3NyY2RpciRhY19kaXJfc3VmZml4IgorKyAgICB0b3Bfc3JjZGlyPSIkYWNfZG90cyRhY19naXZlbl9zcmNkaXIiIDs7CisgICBlc2FjCisgCistICAjIENvbXB1dGUgQHNyY2RpckAsIEB0b3Bfc3JjZGlyQCwgYW5kIEBJTlNUQUxMQCBmb3Igc3ViZGlyZWN0b3JpZXMuCistICBhY19kaXI9YChkaXJuYW1lICIkYWNfZmlsZSIpIDI+L2Rldi9udWxsIHx8CistJGFzX2V4cHIgWCIkYWNfZmlsZSIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSovKiQnIFx8IFwKKy0gICAgICAgICBYIiRhY19maWxlIiA6ICdYXCgvL1wpW14vXScgXHwgXAorLSAgICAgICAgIFgiJGFjX2ZpbGUiIDogJ1hcKC8vXCkkJyBcfCBcCistICAgICAgICAgWCIkYWNfZmlsZSIgOiAnWFwoL1wpJyBcfCBcCistICAgICAgICAgLiAgICAgOiAnXCguXCknIDI+L2Rldi9udWxsIHx8CistZWNobyBYIiRhY19maWxlIiB8CistICAgIHNlZCAnL15YXCguKlteL11cKVwvXC8qW14vXVteL10qXC8qJC97IHMvL1wxLzsgcTsgfQorLSAgCSAgL15YXChcL1wvXClbXi9dLioveyBzLy9cMS87IHE7IH0KKy0gIAkgIC9eWFwoXC9cL1wpJC97IHMvL1wxLzsgcTsgfQorLSAgCSAgL15YXChcL1wpLioveyBzLy9cMS87IHE7IH0KKy0gIAkgIHMvLiovLi87IHEnYAorLSAgeyBpZiAkYXNfbWtkaXJfcDsgdGhlbgorLSAgICBta2RpciAtcCAiJGFjX2RpciIKKy0gIGVsc2UKKy0gICAgYXNfZGlyPSIkYWNfZGlyIgorLSAgICBhc19kaXJzPQorLSAgICB3aGlsZSB0ZXN0ICEgLWQgIiRhc19kaXIiOyBkbworLSAgICAgIGFzX2RpcnM9IiRhc19kaXIgJGFzX2RpcnMiCistICAgICAgYXNfZGlyPWAoZGlybmFtZSAiJGFzX2RpciIpIDI+L2Rldi9udWxsIHx8CistJGFzX2V4cHIgWCIkYXNfZGlyIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8qJCcgXHwgXAorLSAgICAgICAgIFgiJGFzX2RpciIgOiAnWFwoLy9cKVteL10nIFx8IFwKKy0gICAgICAgICBYIiRhc19kaXIiIDogJ1hcKC8vXCkkJyBcfCBcCistICAgICAgICAgWCIkYXNfZGlyIiA6ICdYXCgvXCknIFx8IFwKKy0gICAgICAgICAuICAgICA6ICdcKC5cKScgMj4vZGV2L251bGwgfHwKKy1lY2hvIFgiJGFzX2RpciIgfAorLSAgICBzZWQgJy9eWFwoLipbXi9dXClcL1wvKlteL11bXi9dKlwvKiQveyBzLy9cMS87IHE7IH0KKy0gIAkgIC9eWFwoXC9cL1wpW14vXS4qL3sgcy8vXDEvOyBxOyB9CistICAJICAvXlhcKFwvXC9cKSQveyBzLy9cMS87IHE7IH0KKy0gIAkgIC9eWFwoXC9cKS4qL3sgcy8vXDEvOyBxOyB9CistICAJICBzLy4qLy4vOyBxJ2AKKy0gICAgZG9uZQorLSAgICB0ZXN0ICEgLW4gIiRhc19kaXJzIiB8fCBta2RpciAkYXNfZGlycworLSAgZmkgfHwgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgXCIkYWNfZGlyXCIiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5IFwiJGFjX2RpclwiIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfTsgfQorKyAgY2FzZSAiJGFjX2dpdmVuX0lOU1RBTEwiIGluCisrICBbLyRdKikgSU5TVEFMTD0iJGFjX2dpdmVuX0lOU1RBTEwiIDs7CisrICAqKSBJTlNUQUxMPSIkYWNfZG90cyRhY19naXZlbl9JTlNUQUxMIiA7OworKyAgZXNhYworIAorLSAgYWNfYnVpbGRkaXI9LgorLQorLWlmIHRlc3QgIiRhY19kaXIiICE9IC47IHRoZW4KKy0gIGFjX2Rpcl9zdWZmaXg9L2BlY2hvICIkYWNfZGlyIiB8IHNlZCAncyxeXC5bXFwvXSwsJ2AKKy0gICMgQSAiLi4vIiBmb3IgZWFjaCBkaXJlY3RvcnkgaW4gJGFjX2Rpcl9zdWZmaXguCistICBhY190b3BfYnVpbGRkaXI9YGVjaG8gIiRhY19kaXJfc3VmZml4IiB8IHNlZCAncywvW15cXC9dKiwuLi8sZydgCistZWxzZQorLSAgYWNfZGlyX3N1ZmZpeD0gYWNfdG9wX2J1aWxkZGlyPQorLWZpCistCistY2FzZSAkc3JjZGlyIGluCistICAuKSAgIyBObyAtLXNyY2RpciBvcHRpb24uICBXZSBhcmUgYnVpbGRpbmcgaW4gcGxhY2UuCistICAgIGFjX3NyY2Rpcj0uCistICAgIGlmIHRlc3QgLXogIiRhY190b3BfYnVpbGRkaXIiOyB0aGVuCistICAgICAgIGFjX3RvcF9zcmNkaXI9LgorLSAgICBlbHNlCistICAgICAgIGFjX3RvcF9zcmNkaXI9YGVjaG8gJGFjX3RvcF9idWlsZGRpciB8IHNlZCAncywvJCwsJ2AKKy0gICAgZmkgOzsKKy0gIFtcXC9dKiB8ID86W1xcL10qICkgICMgQWJzb2x1dGUgcGF0aC4KKy0gICAgYWNfc3JjZGlyPSRzcmNkaXIkYWNfZGlyX3N1ZmZpeDsKKy0gICAgYWNfdG9wX3NyY2Rpcj0kc3JjZGlyIDs7CistICAqKSAjIFJlbGF0aXZlIHBhdGguCistICAgIGFjX3NyY2Rpcj0kYWNfdG9wX2J1aWxkZGlyJHNyY2RpciRhY19kaXJfc3VmZml4CistICAgIGFjX3RvcF9zcmNkaXI9JGFjX3RvcF9idWlsZGRpciRzcmNkaXIgOzsKKy1lc2FjCistIyBEb24ndCBibGluZGx5IHBlcmZvcm0gYSBgY2QgIiRhY19kaXIiLyRhY19mb28gJiYgcHdkYCBzaW5jZSAkYWNfZm9vIGNhbiBiZQorLSMgYWJzb2x1dGUuCistYWNfYWJzX2J1aWxkZGlyPWBjZCAiJGFjX2RpciIgJiYgY2QgJGFjX2J1aWxkZGlyICYmIHB3ZGAKKy1hY19hYnNfdG9wX2J1aWxkZGlyPWBjZCAiJGFjX2RpciIgJiYgY2QgJHthY190b3BfYnVpbGRkaXJ9LiAmJiBwd2RgCistYWNfYWJzX3NyY2Rpcj1gY2QgIiRhY19kaXIiICYmIGNkICRhY19zcmNkaXIgJiYgcHdkYAorLWFjX2Fic190b3Bfc3JjZGlyPWBjZCAiJGFjX2RpciIgJiYgY2QgJGFjX3RvcF9zcmNkaXIgJiYgcHdkYAorLQorLQorLSAgY2FzZSAkSU5TVEFMTCBpbgorLSAgW1xcLyRdKiB8ID86W1xcL10qICkgYWNfSU5TVEFMTD0kSU5TVEFMTCA7OworLSAgKikgYWNfSU5TVEFMTD0kYWNfdG9wX2J1aWxkZGlyJElOU1RBTEwgOzsKKysgIGVjaG8gY3JlYXRpbmcgIiRhY19maWxlIgorKyAgcm0gLWYgIiRhY19maWxlIgorKyAgY29uZmlndXJlX2lucHV0PSJHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBmcm9tIGBlY2hvICRhY19maWxlX2lufHNlZCAncyUuKi8lJSdgIGJ5IGNvbmZpZ3VyZS4iCisrICBjYXNlICIkYWNfZmlsZSIgaW4KKysgICpNYWtlZmlsZSopIGFjX2NvbXN1Yj0iMWlcXAorKyMgJGNvbmZpZ3VyZV9pbnB1dCIgOzsKKysgICopIGFjX2NvbXN1Yj0gOzsKKyAgIGVzYWMKKyAKKy0gIGlmIHRlc3QgeCIkYWNfZmlsZSIgIT0geC07IHRoZW4KKy0gICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogY3JlYXRpbmcgJGFjX2ZpbGUiID4mNQorLWVjaG8gIiRhc19tZTogY3JlYXRpbmcgJGFjX2ZpbGUiID4mNjt9CistICAgIHJtIC1mICIkYWNfZmlsZSIKKy0gIGZpCistICAjIExldCdzIHN0aWxsIHByZXRlbmQgaXQgaXMgYGNvbmZpZ3VyZScgd2hpY2ggaW5zdGFudGlhdGVzIChpLmUuLCBkb24ndAorLSAgIyB1c2UgJGFzX21lKSwgcGVvcGxlIHdvdWxkIGJlIHN1cnByaXNlZCB0byByZWFkOgorLSAgIyAgICAvKiBjb25maWcuaC4gIEdlbmVyYXRlZCBieSBjb25maWcuc3RhdHVzLiAgKi8KKy0gIGlmIHRlc3QgeCIkYWNfZmlsZSIgPSB4LTsgdGhlbgorLSAgICBjb25maWd1cmVfaW5wdXQ9CistICBlbHNlCistICAgIGNvbmZpZ3VyZV9pbnB1dD0iJGFjX2ZpbGUuICAiCistICBmaQorLSAgY29uZmlndXJlX2lucHV0PSRjb25maWd1cmVfaW5wdXQiR2VuZXJhdGVkIGZyb20gYGVjaG8gJGFjX2ZpbGVfaW4gfAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWQgJ3MsLiovLCwnYCBieSBjb25maWd1cmUuIgorKyAgYWNfZmlsZV9pbnB1dHM9YGVjaG8gJGFjX2ZpbGVfaW58c2VkIC1lICJzJV4lJGFjX2dpdmVuX3NyY2Rpci8lIiAtZSAicyU6JSAkYWNfZ2l2ZW5fc3JjZGlyLyVnImAKKysgIHNlZCAtZSAiJGFjX2NvbXN1YgorK3MlQGNvbmZpZ3VyZV9pbnB1dEAlJGNvbmZpZ3VyZV9pbnB1dCVnCisrcyVAc3JjZGlyQCUkc3JjZGlyJWcKKytzJUB0b3Bfc3JjZGlyQCUkdG9wX3NyY2RpciVnCisrcyVASU5TVEFMTEAlJElOU1RBTEwlZworKyIgJGFjX2ZpbGVfaW5wdXRzIHwgKGV2YWwgIiRhY19zZWRfY21kcyIpID4gJGFjX2ZpbGUKKytmaTsgZG9uZQorK3JtIC1mIGNvbmZ0ZXN0LnMqCisgCistICAjIEZpcnN0IGxvb2sgZm9yIHRoZSBpbnB1dCBmaWxlcyBpbiB0aGUgYnVpbGQgdHJlZSwgb3RoZXJ3aXNlIGluIHRoZQorLSAgIyBzcmMgdHJlZS4KKy0gIGFjX2ZpbGVfaW5wdXRzPWBJRlM9OgorLSAgICBmb3IgZiBpbiAkYWNfZmlsZV9pbjsgZG8KKy0gICAgICBjYXNlICRmIGluCistICAgICAgLSkgZWNobyAkdG1wL3N0ZGluIDs7CistICAgICAgW1xcLyRdKikKKy0gICAgICAgICAjIEFic29sdXRlIChjYW4ndCBiZSBET1Mtc3R5bGUsIGFzIElGUz06KQorLSAgICAgICAgIHRlc3QgLWYgIiRmIiB8fCB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjYW5ub3QgZmluZCBpbnB1dCBmaWxlOiAkZiIgPiY1CistZWNobyAiJGFzX21lOiBlcnJvcjogY2Fubm90IGZpbmQgaW5wdXQgZmlsZTogJGYiID4mMjt9CistICAgeyAoZXhpdCAxKTsgZXhpdCAxOyB9OyB9CistICAgICAgICAgZWNobyAkZjs7CistICAgICAgKikgIyBSZWxhdGl2ZQorLSAgICAgICAgIGlmIHRlc3QgLWYgIiRmIjsgdGhlbgorLSAgICAgICAgICAgIyBCdWlsZCB0cmVlCistICAgICAgICAgICBlY2hvICRmCistICAgICAgICAgZWxpZiB0ZXN0IC1mICIkc3JjZGlyLyRmIjsgdGhlbgorLSAgICAgICAgICAgIyBTb3VyY2UgdHJlZQorLSAgICAgICAgICAgZWNobyAkc3JjZGlyLyRmCistICAgICAgICAgZWxzZQorLSAgICAgICAgICAgIyAvZGV2L251bGwgdHJlZQorLSAgICAgICAgICAgeyB7IGVjaG8gIiRhc19tZTokTElORU5POiBlcnJvcjogY2Fubm90IGZpbmQgaW5wdXQgZmlsZTogJGYiID4mNQorLWVjaG8gIiRhc19tZTogZXJyb3I6IGNhbm5vdCBmaW5kIGlucHV0IGZpbGU6ICRmIiA+JjI7fQorLSAgIHsgKGV4aXQgMSk7IGV4aXQgMTsgfTsgfQorLSAgICAgICAgIGZpOzsKKy0gICAgICBlc2FjCistICAgIGRvbmVgIHx8IHsgKGV4aXQgMSk7IGV4aXQgMTsgfQorLV9BQ0VPRgorLWNhdCA+PiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GCistICBzZWQgIiRhY192cHN1YgorLSRleHRyYXN1YgorLV9BQ0VPRgorLWNhdCA+PiRDT05GSUdfU1RBVFVTIDw8XF9BQ0VPRgorLTp0CistL0BbYS16QS1aX11bYS16QS1aXzAtOV0qQC8hYgorLXMsQGNvbmZpZ3VyZV9pbnB1dEAsJGNvbmZpZ3VyZV9pbnB1dCw7dCB0CistcyxAc3JjZGlyQCwkYWNfc3JjZGlyLDt0IHQKKy1zLEBhYnNfc3JjZGlyQCwkYWNfYWJzX3NyY2Rpciw7dCB0CistcyxAdG9wX3NyY2RpckAsJGFjX3RvcF9zcmNkaXIsO3QgdAorLXMsQGFic190b3Bfc3JjZGlyQCwkYWNfYWJzX3RvcF9zcmNkaXIsO3QgdAorLXMsQGJ1aWxkZGlyQCwkYWNfYnVpbGRkaXIsO3QgdAorLXMsQGFic19idWlsZGRpckAsJGFjX2Fic19idWlsZGRpciw7dCB0CistcyxAdG9wX2J1aWxkZGlyQCwkYWNfdG9wX2J1aWxkZGlyLDt0IHQKKy1zLEBhYnNfdG9wX2J1aWxkZGlyQCwkYWNfYWJzX3RvcF9idWlsZGRpciw7dCB0CistcyxASU5TVEFMTEAsJGFjX0lOU1RBTEwsO3QgdAorLSIgJGFjX2ZpbGVfaW5wdXRzIHwgKGV2YWwgIiRhY19zZWRfY21kcyIpID4kdG1wL291dAorLSAgcm0gLWYgJHRtcC9zdGRpbgorLSAgaWYgdGVzdCB4IiRhY19maWxlIiAhPSB4LTsgdGhlbgorLSAgICBtdiAkdG1wL291dCAkYWNfZmlsZQorLSAgZWxzZQorLSAgICBjYXQgJHRtcC9vdXQKKy0gICAgcm0gLWYgJHRtcC9vdXQKKy0gIGZpCisrRU9GCisrY2F0ID4+ICRDT05GSUdfU1RBVFVTIDw8RU9GCisgCistZG9uZQorLV9BQ0VPRgorK0VPRgorK2NhdCA+PiAkQ09ORklHX1NUQVRVUyA8PFxFT0YKKyAKKy1jYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YKKy0KKy17IChleGl0IDApOyBleGl0IDA7IH0KKy1fQUNFT0YKKytleGl0IDAKKytFT0YKKyBjaG1vZCAreCAkQ09ORklHX1NUQVRVUworLWFjX2NsZWFuX2ZpbGVzPSRhY19jbGVhbl9maWxlc19zYXZlCisrcm0gLWZyIGNvbmZkZWZzKiAkYWNfY2xlYW5fZmlsZXMKKyt0ZXN0ICIkbm9fY3JlYXRlIiA9IHllcyB8fCAke0NPTkZJR19TSEVMTC0vYmluL3NofSAkQ09ORklHX1NUQVRVUyB8fCBleGl0IDEKKyAKKy0KKy0jIGNvbmZpZ3VyZSBpcyB3cml0aW5nIHRvIGNvbmZpZy5sb2csIGFuZCB0aGVuIGNhbGxzIGNvbmZpZy5zdGF0dXMuCistIyBjb25maWcuc3RhdHVzIGRvZXMgaXRzIG93biByZWRpcmVjdGlvbiwgYXBwZW5kaW5nIHRvIGNvbmZpZy5sb2cuCistIyBVbmZvcnR1bmF0ZWx5LCBvbiBET1MgdGhpcyBmYWlscywgYXMgY29uZmlnLmxvZyBpcyBzdGlsbCBrZXB0IG9wZW4KKy0jIGJ5IGNvbmZpZ3VyZSwgc28gY29uZmlnLnN0YXR1cyB3b24ndCBiZSBhYmxlIHRvIHdyaXRlIHRvIGl0OyBpdHMKKy0jIG91dHB1dCBpcyBzaW1wbHkgZGlzY2FyZGVkLiAgU28gd2UgZXhlYyB0aGUgRkQgdG8gL2Rldi9udWxsLAorLSMgZWZmZWN0aXZlbHkgY2xvc2luZyBjb25maWcubG9nLCBzbyBpdCBjYW4gYmUgcHJvcGVybHkgKHJlKW9wZW5lZCBhbmQKKy0jIGFwcGVuZGVkIHRvIGJ5IGNvbmZpZy5zdGF0dXMuICBXaGVuIGNvbWluZyBiYWNrIHRvIGNvbmZpZ3VyZSwgd2UKKy0jIG5lZWQgdG8gbWFrZSB0aGUgRkQgYXZhaWxhYmxlIGFnYWluLgorLWlmIHRlc3QgIiRub19jcmVhdGUiICE9IHllczsgdGhlbgorLSAgYWNfY3Nfc3VjY2Vzcz06CistICBhY19jb25maWdfc3RhdHVzX2FyZ3M9CistICB0ZXN0ICIkc2lsZW50IiA9IHllcyAmJgorLSAgICBhY19jb25maWdfc3RhdHVzX2FyZ3M9IiRhY19jb25maWdfc3RhdHVzX2FyZ3MgLS1xdWlldCIKKy0gIGV4ZWMgNT4vZGV2L251bGwKKy0gICRTSEVMTCAkQ09ORklHX1NUQVRVUyAkYWNfY29uZmlnX3N0YXR1c19hcmdzIHx8IGFjX2NzX3N1Y2Nlc3M9ZmFsc2UKKy0gIGV4ZWMgNT4+Y29uZmlnLmxvZworLSAgIyBVc2UgfHwsIG5vdCAmJiwgdG8gYXZvaWQgZXhpdGluZyBmcm9tIHRoZSBpZiB3aXRoICQ/ID0gMSwgd2hpY2gKKy0gICMgd291bGQgbWFrZSBjb25maWd1cmUgZmFpbCBpZiB0aGlzIGlzIHRoZSBsYXN0IGluc3RydWN0aW9uLgorLSAgJGFjX2NzX3N1Y2Nlc3MgfHwgeyAoZXhpdCAxKTsgZXhpdCAxOyB9CistZmkKKy0KK0luZGV4OiBjb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9jb25maWd1cmUuaW4JKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2UvY29uZmlndXJlLmluCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTIwNiwxMCArMjA2LDEwIEBACisgQUNfQ0hFQ0tfSEVBREVSKHN5cy9hdWRpb2lvLmgsCisgICAgICAgICAgICAgICBbQVVESU9EUklWRVI9InN1biIKKyAgICAgICAgICAgICAgICBBVURJT0RFRlM9LURDU1RfQVVESU9fU1VOT1NdKQorLWRubCBBQ19DSEVDS19IRUFERVIoc3lzL2Fzb3VuZGxpYi5oLAorLWRubCAgICAgICAgICAgICAgW0FVRElPRFJJVkVSPSJhbHNhIgorLWRubAkgICAgICAgQVVESU9ERUZTPS1EQ1NUX0FVRElPX0FMU0EKKy1kbmwgICAgICAgICAgICAgICBBVURJT0xJQlM9LWxhc291bmRdKQorKyBBQ19DSEVDS19IRUFERVIoYWxzYS9hc291bmRsaWIuaCwKKysgICAgICAgICAgICAgIFtBVURJT0RSSVZFUj0iYWxzYSIKKysJICAgICAgIEFVRElPREVGUz0tRENTVF9BVURJT19BTFNBCisrICAgICAgICAgICAgICAgQVVESU9MSUJTPS1sYXNvdW5kXSkKKyBBQ19DSEVDS19IRUFERVIobW1zeXN0ZW0uaCwKKyAJICAgICAgW0FVRElPRFJJVkVSPSJ3aW5jZSIKKyAJICAgICAgIEFVRElPREVGUz0tRENTVF9BVURJT19XSU5DRQorSW5kZXg6IHNyYy9ocmcvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvaHJnL01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9ocmcvTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtMzksOSArMzksMTQgQEAKKyBCVUlMRF9ESVJTID0gCisgQUxMX0RJUlM9IAorIEggPSAKKytpbmNsdWRlICQoVE9QKS9jb25maWcvY29uZmlnCisgU1JDUyA9IGNzdF91dHRlcmFuY2UuYyBjc3RfcmVsYXRpb24uYyBjc3RfaXRlbS5jIGNzdF9mZmVhdHVyZS5jIFwKKyAgICAgICAgY3N0X3JlbF9pby5jCistT0JKUyA9ICQoU1JDUzouYz0ubykKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKQorK2Vsc2UKKytPQkpTIDo9ICQoU1JDUzouYz0ubykKKytlbmRpZgorIEZJTEVTID0gTWFrZWZpbGUgJChIKSAkKFNSQ1MpCisgTElCTkFNRSA9IGZsaXRlCisgCitJbmRleDogc3JjL3V0aWxzL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL3V0aWxzL01ha2VmaWxlCSguLi4vZmxpdGUtMS4zLW9yaWcpCShyZXZpc2lvbiA3KQorKysrIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy91dGlscy9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC00NCw4ICs0NCwxMyBAQAorICAgICAgICBjc3RfdG9rZW5zdHJlYW0uYyBjc3RfdmFsLmMgY3N0X2ZlYXR1cmVzLmMgXAorICAgICAgICBjc3RfZW5kaWFuLmMgY3N0X3NvY2tldC5jIGNzdF92YWxfY29uc3QuYyBcCisgICAgICAgIGNzdF92YWxfdXNlci5jIGNzdF9hcmdzLmMgCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykgJChNTUFQVFlQRTolPWNzdF9tbWFwXyUub3MpIFwKKysgICAgICAgICQoU1RESU9UWVBFOiU9Y3N0X2ZpbGVfJS5vcykKKytlbHNlCisgT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pICQoTU1BUFRZUEU6JT1jc3RfbW1hcF8lLm8pIFwKKyAgICAgICAgICQoU1RESU9UWVBFOiU9Y3N0X2ZpbGVfJS5vKQorK2VuZGlmCisgRklMRVMgPSBNYWtlZmlsZSAkKEgpICQoU1JDUykgXAorIAljc3RfbW1hcF9wb3NpeC5jIGNzdF9tbWFwX3dpbjMyLmMgY3N0X21tYXBfbm9uZS5jIFwKKyAJY3N0X2ZpbGVfc3RkaW8uYyBjc3RfZmlsZV93aW5jZS5jIGNzdF9maWxlX3BhbG1vcy5jCitJbmRleDogc3JjL2F1ZGlvL2F1X2Fsc2EuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9hdWRpby9hdV9hbHNhLmMJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDApCisrKysgZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL2F1ZGlvL2F1X2Fsc2EuYwkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC0wLDAgKzEsMzExIEBACisrLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisrLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogICAgICAgICAgICAgICAgICBMYW5ndWFnZSBUZWNobm9sb2dpZXMgSW5zdGl0dXRlICAgICAgICAgICAgICAgICAgICAgICovCisrLyogICAgICAgICAgICAgICAgICAgICBDYXJuZWdpZSBNZWxsb24gVW5pdmVyc2l0eSAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogICAgICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogICAgICAgICAgICAgICAgICAgICAgICBBbGwgUmlnaHRzIFJlc2VydmVkLiAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byB1c2UgYW5kIGRpc3RyaWJ1dGUgICovCisrLyogIHRoaXMgc29mdHdhcmUgYW5kIGl0cyBkb2N1bWVudGF0aW9uIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyAgICovCisrLyogIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgICovCisrLyogIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGlzIHdvcmssIGFuZCB0byAgICAgICovCisrLyogIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhpcyB3b3JrIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byAgICovCisrLyogIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogICAxLiBUaGUgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mICAgICovCisrLyogICAgICBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogICAyLiBBbnkgbW9kaWZpY2F0aW9ucyBtdXN0IGJlIGNsZWFybHkgbWFya2VkIGFzIHN1Y2guICAgICAgICAgICAgICAgICovCisrLyogICAzLiBPcmlnaW5hbCBhdXRob3JzJyBuYW1lcyBhcmUgbm90IGRlbGV0ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogICA0LiBUaGUgYXV0aG9ycycgbmFtZXMgYXJlIG5vdCB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyAgICovCisrLyogICAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gICAgICAgICovCisrLyogICAgICBwZXJtaXNzaW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogIENBUk5FR0lFIE1FTExPTiBVTklWRVJTSVRZIEFORCBUSEUgQ09OVFJJQlVUT1JTIFRPIFRISVMgV09SSyAgICAgICAgICovCisrLyogIERJU0NMQUlNIEFMTCBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUsIElOQ0xVRElORyAgICAgICovCisrLyogIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLCBJTiBOTyBFVkVOVCAgICovCisrLyogIFNIQUxMIENBUk5FR0lFIE1FTExPTiBVTklWRVJTSVRZIE5PUiBUSEUgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSAgICAgICovCisrLyogIEZPUiBBTlkgU1BFQ0lBTCwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTICAgICovCisrLyogIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiAgICovCisrLyogIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sICAgICAgICAgICovCisrLyogIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GICAgICAgICovCisrLyogIFRISVMgU09GVFdBUkUuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCisrLyogICAgICAgICAgICAgQXV0aG9yOiAgTHVrYXMgTG9laHJlciAoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogICAgICAgICAgICAgICBEYXRlOiAgSmFudWFyeSAyMDA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisrLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogIE5hdGl2ZSBhY2Nlc3MgdG8gYWxzYSBhdWRpbyBkZXZpY2VzIG9uIExpbnV4ICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyogIFRlc3RlZCB3aXRoIGxpYmFzb3VuZCB2ZXJzaW9uIDEuMC4xMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisrLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisrCisrI2luY2x1ZGUgPHN0ZGxpYi5oPgorKyNpbmNsdWRlIDx1bmlzdGQuaD4KKysjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisrI2luY2x1ZGUgPGFzc2VydC5oPgorKyNpbmNsdWRlIDxlcnJuby5oPgorKworKyNpbmNsdWRlICJjc3Rfc3RyaW5nLmgiCisrI2luY2x1ZGUgImNzdF93YXZlLmgiCisrI2luY2x1ZGUgImNzdF9hdWRpby5oIgorKworKyNpbmNsdWRlIDxhbHNhL2Fzb3VuZGxpYi5oPgorKworKworKy8qc3RhdGljIGNoYXIgKnBjbV9kZXZfbmFtZSA9ICJodzowLDAiOyAqLworK3N0YXRpYyBjaGFyICpwY21fZGV2X25hbWUgPSJkZWZhdWx0IjsKKysKKytzdGF0aWMgaW5saW5lIHZvaWQgcHJpbnRfcGNtX3N0YXRlKHNuZF9wY21fdCAqaGFuZGxlLCBjaGFyICptc2cpCisreworKyAgZnByaW50ZihzdGRlcnIsICJQQ00gc3RhdGUgYXQgJXMgPSAlc1xuIiwgbXNnLAorKwkJICBzbmRfcGNtX3N0YXRlX25hbWUoc25kX3BjbV9zdGF0ZShoYW5kbGUpKSk7CisrfQorKworK2NzdF9hdWRpb2RldiAqYXVkaW9fb3Blbl9hbHNhKGludCBzcHMsIGludCBjaGFubmVscywgY3N0X2F1ZGlvZm10IGZtdCkKKyt7CisrICBjc3RfYXVkaW9kZXYgKmFkOworKyAgdW5zaWduZWQgCWludCByZWFsX3JhdGU7CisrICBpbnQgZXJyOworKworKyAgLyogYWxzYSBzcGVjaWZpYyBzdHVmZiAqLworKyAgc25kX3BjbV90ICpwY21faGFuZGxlOyAgICAgICAgICAKKysgIHNuZF9wY21fc3RyZWFtX3Qgc3RyZWFtID0gU05EX1BDTV9TVFJFQU1fUExBWUJBQ0s7CisrICBzbmRfcGNtX2h3X3BhcmFtc190ICpod3BhcmFtczsKKysgIHNuZF9wY21fZm9ybWF0X3QgZm9ybWF0OworKyAgc25kX3BjbV9hY2Nlc3NfdCBhY2Nlc3MgPSBTTkRfUENNX0FDQ0VTU19SV19JTlRFUkxFQVZFRDsKKysKKysgIC8qIEFsbG9jYXRlIHRoZSBzbmRfcGNtX2h3X3BhcmFtc190IHN0cnVjdHVyZSBvbiB0aGUgc3RhY2suICovCisrICBzbmRfcGNtX2h3X3BhcmFtc19hbGxvY2EoJmh3cGFyYW1zKTsKKysKKysgIC8qIE9wZW4gcGNtIGRldmljZSAqLworKyAgZXJyID0gc25kX3BjbV9vcGVuKCZwY21faGFuZGxlLCBwY21fZGV2X25hbWUsIHN0cmVhbSwgMCk7CisrICBpZiAoZXJyIDwgMCkgCisrICB7CisrCWNzdF9lcnJtc2coImF1ZGlvX29wZW5fYWxzYTogZmFpbGVkIHRvIG9wZW4gYXVkaW8gZGV2aWNlICVzLiAlc1xuIiwKKysJCQkgICBwY21fZGV2X25hbWUsIHNuZF9zdHJlcnJvcihlcnIpKTsKKysJcmV0dXJuIE5VTEw7CisrICB9CisrCisrICAvKiBJbml0IGh3cGFyYW1zIHdpdGggZnVsbCBjb25maWd1cmF0aW9uIHNwYWNlICovCisrICBlcnIgPSBzbmRfcGNtX2h3X3BhcmFtc19hbnkocGNtX2hhbmRsZSwgaHdwYXJhbXMpOworKyAgaWYgKGVyciA8IDApIAorKyAgeworKwlzbmRfcGNtX2Nsb3NlKHBjbV9oYW5kbGUpOworKwljc3RfZXJybXNnKCJhdWRpb19vcGVuX2Fsc2E6IGZhaWxlZCB0byBnZXQgaGFyZHdhcmUgcGFyYW1ldGVycyBmcm9tIGF1ZGlvIGRldmljZS4gJXNcbiIsIHNuZF9zdHJlcnJvcihlcnIpKTsKKysJcmV0dXJuIE5VTEw7CisrICB9CisrCisrICAvKiBTZXQgYWNjZXNzIG1vZGUgKi8KKysgIGVyciA9IHNuZF9wY21faHdfcGFyYW1zX3NldF9hY2Nlc3MocGNtX2hhbmRsZSwgaHdwYXJhbXMsIGFjY2Vzcyk7CisrICBpZiAoZXJyIDwgMCkgCisrICB7CisrCXNuZF9wY21fY2xvc2UocGNtX2hhbmRsZSk7CisrCWNzdF9lcnJtc2coImF1ZGlvX29wZW5fYWxzYTogZmFpbGVkIHRvIHNldCBhY2Nlc3MgbW9kZS4gJXMuXG4iLCBzbmRfc3RyZXJyb3IoZXJyKSk7CisrCXJldHVybiBOVUxMOworKyAgfQorKworKyAgLyogRGV0ZXJtaW5lIG1hdGNoaW5nIGFsc2Egc2FtcGxlIGZvcm1hdCAqLworKyAgLyogVGhpcyBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiBhIG1vcmUgKi8KKysgIC8qIGZsZXhpYmxlIHdheSAoYnl0ZSBvcmRlciBjb252ZXJzaW9uKS4gKi8KKysgIHN3aXRjaCAoZm10KQorKyAgeworKyAgY2FzZSBDU1RfQVVESU9fTElORUFSMTY6CisrCWlmIChDU1RfTElUVExFX0VORElBTikKKysJICBmb3JtYXQgPSBTTkRfUENNX0ZPUk1BVF9TMTZfTEU7CisrCWVsc2UKKysJICBmb3JtYXQgPSBTTkRfUENNX0ZPUk1BVF9TMTZfQkU7CisrCWJyZWFrOworKyAgY2FzZSBDU1RfQVVESU9fTElORUFSODoKKysJZm9ybWF0ID0gU05EX1BDTV9GT1JNQVRfVTg7CisrCWJyZWFrOworKyAgY2FzZSBDU1RfQVVESU9fTVVMQVc6CisrCWZvcm1hdCA9IFNORF9QQ01fRk9STUFUX01VX0xBVzsKKysJYnJlYWs7CisrICBkZWZhdWx0OgorKwlzbmRfcGNtX2Nsb3NlKHBjbV9oYW5kbGUpOworKwljc3RfZXJybXNnKCJhdWRpb19vcGVuX2Fsc2E6IGZhaWxlZCB0byBmaW5kIHN1aXRhYmxlIGZvcm1hdC5cbiIpOworKwlyZXR1cm4gTlVMTDsKKysJYnJlYWs7CisrICB9CisrCisrICAvKiBTZXQgc2FtYmxlIGZvcm1hdCAqLworKyAgZXJyID0gc25kX3BjbV9od19wYXJhbXNfc2V0X2Zvcm1hdChwY21faGFuZGxlLCBod3BhcmFtcywgZm9ybWF0KTsKKysgIGlmIChlcnIgPDApIAorKyAgeworKwlzbmRfcGNtX2Nsb3NlKHBjbV9oYW5kbGUpOworKwljc3RfZXJybXNnKCJhdWRpb19vcGVuX2Fsc2E6IGZhaWxlZCB0byBzZXQgZm9ybWF0LiAlcy5cbiIsIHNuZF9zdHJlcnJvcihlcnIpKTsKKysJcmV0dXJuIE5VTEw7CisrICB9CisrCisrICAvKiBTZXQgc2FtcGxlIHJhdGUgbmVhciB0aGUgZGlzaXJlZCByYXRlICovCisrICByZWFsX3JhdGUgPSBzcHM7CisrICBlcnIgPSBzbmRfcGNtX2h3X3BhcmFtc19zZXRfcmF0ZV9uZWFyKHBjbV9oYW5kbGUsIGh3cGFyYW1zLCAmcmVhbF9yYXRlLCAwKTsKKysgIGlmIChlcnIgPCAwKSAgIAorKyAgeworKwlzbmRfcGNtX2Nsb3NlKHBjbV9oYW5kbGUpOworKwljc3RfZXJybXNnKCJhdWRpb19vcGVuX2Fsc2E6IGZhaWxlZCB0byBzZXQgc2FtcGxlIHJhdGUgbmVhciAlZC4gJXMuXG4iLCBzcHMsIHNuZF9zdHJlcnJvcihlcnIpKTsKKysJcmV0dXJuIE5VTEw7CisrICB9CisrICAvKkZJWE1FOiAgVGhpcyBpcyBwcm9iYWJseSB0b28gc3RyaWN0ICovCisrICBhc3NlcnQoc3BzID09IHJlYWxfcmF0ZSk7CisrCisrICAvKiBTZXQgbnVtYmVyIG9mIGNoYW5uZWxzICovCisrICBhc3NlcnQoY2hhbm5lbHMgPjApOworKyAgZXJyID0gc25kX3BjbV9od19wYXJhbXNfc2V0X2NoYW5uZWxzKHBjbV9oYW5kbGUsIGh3cGFyYW1zLCBjaGFubmVscyk7CisrICBpZiAoZXJyIDwgMCkgCisrICB7CisrCXNuZF9wY21fY2xvc2UocGNtX2hhbmRsZSk7CisrCWNzdF9lcnJtc2coImF1ZGlvX29wZW5fYWxzYTogZmFpbGVkIHRvIHNldCBudW1iZXIgb2YgY2hhbm5lbHMgdG8gJWQuICVzLlxuIiwgY2hhbm5lbHMsIHNuZF9zdHJlcnJvcihlcnIpKTsKKysJcmV0dXJuIE5VTEw7CisrICB9CisrCisrICAvKiBDb21taXQgaGFyZHdhcmUgcGFyYW1ldGVycyAqLworKyAgZXJyID0gc25kX3BjbV9od19wYXJhbXMocGNtX2hhbmRsZSwgaHdwYXJhbXMpOworKyAgaWYgKGVyciA8IDApIAorKyAgeworKwlzbmRfcGNtX2Nsb3NlKHBjbV9oYW5kbGUpOworKwljc3RfZXJybXNnKCJhdWRpb19vcGVuX2Fsc2E6IGZhaWxlZCB0byBzZXQgaHcgcGFyYW1ldGVycy4gJXMuXG4iLCBzbmRfc3RyZXJyb3IoZXJyKSk7CisrCXJldHVybiBOVUxMOworKyAgfQorKworKyAgLyogTWFrZSBzdXJlIHRoZSBkZXZpY2UgaXMgcmVhZHkgdG8gYWNjZXB0IGRhdGEgKi8KKysgIGFzc2VydChzbmRfcGNtX3N0YXRlKHBjbV9oYW5kbGUpID09IFNORF9QQ01fU1RBVEVfUFJFUEFSRUQpOworKworKyAgLyogV3JpdGUgaGFyZHdhcmUgcGFyYW1ldGVycyB0byBmbGl0ZSBhdWRpbyBkZXZpY2UgZGF0YSBzdHJ1Y3R1cmUgKi8KKysgIGFkID0gY3N0X2FsbG9jKGNzdF9hdWRpb2RldiwgMSk7CisrICBhc3NlcnQoYWQgIT0gTlVMTCk7CisrICBhZC0+cmVhbF9zcHMgPSBhZC0+c3BzID0gc3BzOworKyAgYWQtPnJlYWxfY2hhbm5lbHMgPSBhZC0+Y2hhbm5lbHMgPSBjaGFubmVsczsKKysgIGFkLT5yZWFsX2ZtdCA9IGFkLT5mbXQgPSBmbXQ7CisrICBhZC0+cGxhdGZvcm1fZGF0YSA9ICh2b2lkICopIHBjbV9oYW5kbGU7CisrCisrICByZXR1cm4gYWQ7CisrfQorKworK2ludCBhdWRpb19jbG9zZV9hbHNhKGNzdF9hdWRpb2RldiAqYWQpCisreworKyAgaW50IHJlc3VsdDsKKysgIHNuZF9wY21fdCAqcGNtX2hhbmRsZTsKKysKKysgIGlmIChhZCA9PSBOVUxMKQorKwlyZXR1cm4gMDsKKysKKysgIHBjbV9oYW5kbGUgPSAoc25kX3BjbV90ICopIGFkLT5wbGF0Zm9ybV9kYXRhOworKyAgcmVzdWx0ID0gc25kX3BjbV9jbG9zZShwY21faGFuZGxlKTsKKysgIGlmIChyZXN1bHQgPCAwKQorKyAgeworKwljc3RfZXJybXNnKCJhdWRpb19jbG9zZV9hbHNhOiBFcnJvcjogJXMuXG4iLCBzbmRfc3RyZXJyb3IocmVzdWx0KSk7CisrICB9CisrICBjc3RfZnJlZShhZCk7CisrICByZXR1cm4gcmVzdWx0OworK30KKysKKysvKiBSZXR1cm5zIHplcm8gaWYgcmVjb3Zlcnkgd2FzIHN1Y2Nlc3NmdWwuICovCisrc3RhdGljIGludCByZWNvdmVyX2Zyb21fZXJyb3Ioc25kX3BjbV90ICpwY21faGFuZGxlLCBzc2l6ZV90IHJlcykKKyt7CisrICBpZiAocmVzID09IC1FUElQRSkgLyogeHJ1biAqLworKyAgeworKwlyZXMgPSBzbmRfcGNtX3ByZXBhcmUocGNtX2hhbmRsZSk7CisrCWlmIChyZXMgPCAwKSAKKysJeworKwkgIC8qIEZhaWxlZCB0byByZWNvdmVyIGZyb20geHJ1biAqLworKwkgIGNzdF9lcnJtc2coInJlY292ZXJfZnJvbV93cml0ZV9lcnJvcjogZmFpbGVkIHRvIHJlY292ZXIgZnJvbSB4cnVuLiAlc1xuLiIsIHNuZF9zdHJlcnJvcihyZXMpKTsKKysJICByZXR1cm4gcmVzOworKwl9CisrICB9IAorKyAgZWxzZSBpZiAocmVzID09IC1FU1RSUElQRSkgLyogU3VzcGVuZCAqLworKyAgeworKwl3aGlsZSAoKHJlcyA9IHNuZF9wY21fcmVzdW1lKHBjbV9oYW5kbGUpKSA9PSAtRUFHQUlOKSAKKysJeworKwkgIHNuZF9wY21fd2FpdChwY21faGFuZGxlLCAxMDAwKTsKKysJfQorKwlpZiAocmVzIDwgMCkgCisrCXsKKysJICByZXMgPSBzbmRfcGNtX3ByZXBhcmUocGNtX2hhbmRsZSk7CisrCSAgaWYgKHJlcyA8MCkgCisrCSAgeworKwkJLyogUmVzdW1lIGZhaWxlZCAqLworKwkJY3N0X2Vycm1zZygiYXVkaW9fcmVjb3Zlcl9mcm9tX3dyaXRlX2Vycm9yOiBmYWlsZWQgdG8gcmVzdW1lIGFmdGVyIHN1c3BlbmQuICVzXG4uIiwgc25kX3N0cmVycm9yKHJlcykpOworKwkJcmV0dXJuIHJlczsKKysJICB9CisrCX0KKysgIH0gCisrICBlbHNlIGlmIChyZXMgPCAwKSAKKysgIHsKKysJLyogVW5rbm93biBmYWlsdXJlICovCisrCWNzdF9lcnJtc2coImF1ZGlvX3JlY292ZXJfZnJvbV93cml0ZV9lcnJvcjogJXMuXG4iLCBzbmRfc3RyZXJyb3IocmVzKSk7CisrCXJldHVybiByZXM7CisrICB9CisrICByZXR1cm4gMDsKKyt9CisrCisraW50IGF1ZGlvX3dyaXRlX2Fsc2EoY3N0X2F1ZGlvZGV2ICphZCwgdm9pZCAqc2FtcGxlcywgaW50IG51bV9ieXRlcykKKyt7CisrICBzaXplX3QgZnJhbWVfc2l6ZTsKKysgIHNzaXplX3QgbnVtX2ZyYW1lcywgcmVzOworKyAgc25kX3BjbV90ICpwY21faGFuZGxlOworKyAgY2hhciAqYnVmID0gKGNoYXIgKikgc2FtcGxlczsKKysKKysgIC8qIERldGVybWluZSBmcmFtZSBzaXplIGluIGJ5dGVzICovCisrICBmcmFtZV9zaXplICA9IGF1ZGlvX2JwcyhhZC0+cmVhbF9mbXQpICogYWQtPnJlYWxfY2hhbm5lbHM7CisrICAvKiBSZXF1aXJlIHRoYXQgb25seSBjb21wbGV0ZSBmcmFtZXMgYXJlIGhhbmRlZCBpbiAqLworKyAgYXNzZXJ0KChudW1fYnl0ZXMgJSBmcmFtZV9zaXplKSA9PSAwKTsKKysgIG51bV9mcmFtZXMgPSBudW1fYnl0ZXMgLyBmcmFtZV9zaXplOworKyAgcGNtX2hhbmRsZSA9IChzbmRfcGNtX3QgKikgYWQtPnBsYXRmb3JtX2RhdGE7CisrCisrICB3aGlsZSAobnVtX2ZyYW1lcyA+IDApIAorKyAgeworKwlyZXMgPSBzbmRfcGNtX3dyaXRlaShwY21faGFuZGxlLCBidWYsIG51bV9mcmFtZXMpOworKwlpZiAocmVzICE9IG51bV9mcmFtZXMpIAorKwl7CisrCSAgaWYgKHJlcyA9PSAtRUFHQUlOIHx8IChyZXMgPiAwICYmIHJlcyA8IG51bV9mcmFtZXMpKSAKKysJICB7CisrCQlzbmRfcGNtX3dhaXQocGNtX2hhbmRsZSwgMTAwKTsKKysJICB9CisrCSAgZWxzZSBpZiAocmVjb3Zlcl9mcm9tX2Vycm9yKHBjbV9oYW5kbGUsIHJlcykgPCAwKSAKKysJICB7CisrCQlyZXR1cm4gLTE7CisrCSAgfQorKwl9CisrCisrCWlmIChyZXMgPjApIAorKwl7CisrCSAgbnVtX2ZyYW1lcyAtPSByZXM7CisrCSAgYnVmICs9IHJlcyAqIGZyYW1lX3NpemU7CisrCX0KKysgIH0KKysgIHJldHVybiBudW1fYnl0ZXM7CisrfQorKworK2ludCBhdWRpb19mbHVzaF9hbHNhKGNzdF9hdWRpb2RldiAqYWQpCisreworKyAgaW50IHJlc3VsdDsKKysgIHJlc3VsdCA9IHNuZF9wY21fZHJhaW4oKHNuZF9wY21fdCAqKSBhZC0+cGxhdGZvcm1fZGF0YSk7CisrICBpZiAocmVzdWx0IDwgMCkKKysgIHsKKysJY3N0X2Vycm1zZygiYXVkaW9fZmx1c2hfYWxzYTogRXJyb3I6ICVzLlxuIiwgc25kX3N0cmVycm9yKHJlc3VsdCkpOworKyAgfQorKwkvKiBQcmVwYXJlIGRldmljZSBmb3IgbW9yZSBkYXRhICovCisrICByZXN1bHQgPSBzbmRfcGNtX3ByZXBhcmUoKHNuZF9wY21fdCAqKSBhZC0+cGxhdGZvcm1fZGF0YSk7CisraWYgKHJlc3VsdCA8IDApCisrICB7CisrCWNzdF9lcnJtc2coImF1ZGlvX2ZsdXNoX2Fsc2E6IEVycm9yOiAlcy5cbiIsIHNuZF9zdHJlcnJvcihyZXN1bHQpKTsKKysgIH0KKysgIHJldHVybiByZXN1bHQ7CisrfQorKworK2ludCBhdWRpb19kcmFpbl9hbHNhKGNzdF9hdWRpb2RldiAqYWQpCisreworKyAgaW50IHJlc3VsdDsKKysgIHJlc3VsdCA9IHNuZF9wY21fZHJvcCgoc25kX3BjbV90ICopIGFkLT5wbGF0Zm9ybV9kYXRhKTsKKysgIGlmIChyZXN1bHQgPCAwKQorKyAgeworKwljc3RfZXJybXNnKCJhdWRpb19kcmFpbl9hbHNhOiBFcnJvcjogJXMuXG4iLCBzbmRfc3RyZXJyb3IocmVzdWx0KSk7CisrICB9CisrLyogUHJlcGFyZSBkZXZpY2UgZm9yIG1vcmUgZGF0YSAqLworKyAgcmVzdWx0ID0gc25kX3BjbV9wcmVwYXJlKChzbmRfcGNtX3QgKikgYWQtPnBsYXRmb3JtX2RhdGEpOworK2lmIChyZXN1bHQgPCAwKQorKyAgeworKwljc3RfZXJybXNnKCJhdWRpb19kcmFpbl9hbHNhOiBFcnJvcjogJXMuXG4iLCBzbmRfc3RyZXJyb3IocmVzdWx0KSk7CisrICB9CisrICByZXR1cm4gcmVzdWx0OworK30KK0luZGV4OiBzcmMvYXVkaW8vTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvYXVkaW8vTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL2F1ZGlvL01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTQzLDkgKzQzLDEzIEBACisgCisgQkFTRVNSQ1MgPSBhdWNsaWVudC5jIGF1c2VydmVyLmMgYXVkaW8uYyAKKyBTUkNTID0gJChCQVNFU1JDUykgJChBVURJT0RSSVZFUjolPWF1XyUuYykKKy1PQkpTID0gJChTUkNTOi5jPS5vKQorK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpCisrZWxzZQorK09CSlMgOj0gJChTUkNTOi5jPS5vKQorK2VuZGlmCisgRklMRVMgPSBNYWtlZmlsZSAkKEgpICQoQkFTRVNSQ1MpIGF1X2NvbW1hbmQuYyBhdV9ub25lLmMgXAorLQlhdV9vc3MuYyBhdV9zdW4uYyBhdV93aW5jZS5jIGF1X3BhbG1vcy5jCisrCWF1X29zcy5jIGF1X3N1bi5jIGF1X3dpbmNlLmMgYXVfcGFsbW9zLmMgYXVfYWxzYS5jCisgTElCTkFNRSA9IGZsaXRlCisgCisgTE9DQUxfSU5DTFVERVMgPSAtSS4gJChBVURJT0RFRlMpCitJbmRleDogc3JjL2xleGljb24vTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvbGV4aWNvbi9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvbGV4aWNvbi9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC0zOCw4ICszOCwxMyBAQAorIERJUk5BTUU9c3JjL2xleGljb24KKyBCVUlMRF9ESVJTID0gCisgQUxMX0RJUlM9IAorK2luY2x1ZGUgJChUT1ApL2NvbmZpZy9jb25maWcKKyBTUkNTID0gY3N0X2xleGljb24uYyBjc3RfbHRzLmMgY3N0X2x0c19yZXdyaXRlcy5jCistT0JKUyA9ICQoU1JDUzouYz0ubykKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKQorK2Vsc2UKKytPQkpTIDo9ICQoU1JDUzouYz0ubykKKytlbmRpZgorIEZJTEVTID0gTWFrZWZpbGUgJChTUkNTKQorIExJQk5BTUUgPSBmbGl0ZQorIAorSW5kZXg6IHNyYy9zeW50aC9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy9zeW50aC9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvc3ludGgvTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtMzgsOSArMzgsMTQgQEAKKyBESVJOQU1FPXNyYy9zeW50aAorIEJVSUxEX0RJUlMgPSAKKyBBTExfRElSUz0gCisraW5jbHVkZSAkKFRPUCkvY29uZmlnL2NvbmZpZworIFNSQ1MgPSBjc3Rfc3ludGguYyBjc3RfdXR0X3V0aWxzLmMgY3N0X3ZvaWNlLmMgY3N0X3Bob25lc2V0LmMgXAorICAgICAgICBmbGl0ZS5jIAorLU9CSlMgPSAkKFNSQ1M6LmM9Lm8pCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykKKytlbHNlCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pCisrZW5kaWYKKyBGSUxFUyA9IE1ha2VmaWxlICQoU1JDUykKKyBMSUJOQU1FID0gZmxpdGUKKyAKK0luZGV4OiBzcmMvc3BlZWNoL01ha2VmaWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL3NwZWVjaC9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gNykKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvc3BlZWNoL01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTM5LDkgKzM5LDE0IEBACisgQlVJTERfRElSUyA9IAorIEFMTF9ESVJTPSAKKyBIID0gCisraW5jbHVkZSAkKFRPUCkvY29uZmlnL2NvbmZpZworIFNSQ1MgPSBjc3Rfd2F2ZS5jIGNzdF93YXZlX2lvLmMgY3N0X3RyYWNrLmMgY3N0X3RyYWNrX2lvLmMgXAorICAgICAgICBjc3Rfd2F2ZV91dGlscy5jIGNzdF9scGNyZXMuYyByYXRlY29udi5jCistT0JKUyA9ICQoU1JDUzouYz0ubykKKytpZmRlZiBTSEZMQUdTCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm9zKQorK2Vsc2UKKytPQkpTIDo9ICQoU1JDUzouYz0ubykKKytlbmRpZgorIEZJTEVTID0gTWFrZWZpbGUgJChIKSAkKFNSQ1MpCisgTElCTkFNRSA9IGZsaXRlCisgCitJbmRleDogc3JjL3dhdmVzeW50aC9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL3NyYy93YXZlc3ludGgvTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL3dhdmVzeW50aC9NYWtlZmlsZQkoLi4uL3JlbGVhc2UtMS4yKQkocmV2aXNpb24gNykKK0BAIC0zOCw5ICszOCwxNCBAQAorIERJUk5BTUU9c3JjL3dhdmVzeW50aAorIEJVSUxEX0RJUlMgPSAKKyBBTExfRElSUz0KKytpbmNsdWRlICQoVE9QKS9jb25maWcvY29uZmlnCisgU1JDUyA9IGNzdF91bml0cy5jIGNzdF9zaWdwci5jIGNzdF9jbHVuaXRzLmMgY3N0X2RpcGhvbmUuYyBcCisgICAgICAgIGNzdF9zaWdwckZQLmMgY3N0X3N0cy5jIGNzdF9yZWZscGMuYworLU9CSlMgPSAkKFNSQ1M6LmM9Lm8pCisraWZkZWYgU0hGTEFHUworK09CSlMgOj0gJChTUkNTOi5jPS5vcykKKytlbHNlCisrT0JKUyA6PSAkKFNSQ1M6LmM9Lm8pCisrZW5kaWYKKyBMSUJOQU1FID0gZmxpdGUKKyBGSUxFUyA9IE1ha2VmaWxlICQoU1JDUykKKyAKK0luZGV4OiBzcmMvcmVnZXgvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvcmVnZXgvTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL3JlZ2V4L01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTQyLDggKzQyLDEzIEBACisgRElSTkFNRT1zcmMvcmVnZXgKKyBCVUlMRF9ESVJTID0gCisgQUxMX0RJUlM9IAorK2luY2x1ZGUgJChUT1ApL2NvbmZpZy9jb25maWcKKyBTUkNTID0gY3N0X3JlZ2V4LmMgcmVnZXhwLmMgcmVnc3ViLmMKKy1PQkpTID0gJChTUkNTOi5jPS5vKQorK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpCisrZWxzZQorK09CSlMgOj0gJChTUkNTOi5jPS5vKQorK2VuZGlmCisgRklMRVMgPSBNYWtlZmlsZSAkKEgpICQoU1JDUykKKyBMSUJOQU1FID0gZmxpdGUKKyAKK0luZGV4OiBzcmMvc3RhdHMvTWFrZWZpbGUKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9zcmMvc3RhdHMvTWFrZWZpbGUJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2Uvc3JjL3N0YXRzL01ha2VmaWxlCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTM5LDggKzM5LDEzIEBACisgQlVJTERfRElSUyA9IAorIEFMTF9ESVJTPSAKKyBIID0gCisraW5jbHVkZSAkKFRPUCkvY29uZmlnL2NvbmZpZworIFNSQ1MgPSBjc3RfY2FydC5jIGNzdF92aXRlcmJpLmMgY3N0X3NzLmMKKy1PQkpTID0gJChTUkNTOi5jPS5vKQorK2lmZGVmIFNIRkxBR1MKKytPQkpTIDo9ICQoU1JDUzouYz0ub3MpCisrZWxzZQorK09CSlMgOj0gJChTUkNTOi5jPS5vKQorK2VuZGlmCisgRklMRVMgPSBNYWtlZmlsZSAkKEgpICQoU1JDUykKKyBMSUJOQU1FID0gZmxpdGUKKyAKK0luZGV4OiBjb25maWcvY29tbW9uX21ha2VfcnVsZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9jb25maWcvY29tbW9uX21ha2VfcnVsZXMJKC4uLi9mbGl0ZS0xLjMtb3JpZykJKHJldmlzaW9uIDcpCisrKysgZmxpdGUtMS4zLXJlbGVhc2UvY29uZmlnL2NvbW1vbl9tYWtlX3J1bGVzCSguLi4vcmVsZWFzZS0xLjIpCShyZXZpc2lvbiA3KQorQEAgLTczLDEyICs3MywxMyBAQAorIGlmZGVmIFNIRkxBR1MKKyBTT09CSlMgPSAkKE9CSlM6Lm89Lm9zKQorIEZVTExTSE9CSlMgPSAkKFNPT0JKUzolPSQoT0JKRElSKS8lKQorLWlmZGVmIExJQk5BTUUKKy1BTEwgKz0gJChPQkpESVIpLy5idWlsZF9zbworKyNpZmRlZiBMSUJOQU1FCisrI0FMTCArPSAkKE9CSkRJUikvLmJ1aWxkX3NvCisrI2VuZGlmCisgZW5kaWYKKy1lbmRpZgorIGlmZGVmIExJQk5BTUUKKyBBTEwgKz0gJChPQkpESVIpLy5idWlsZF9saWIKKytBTEwgKz0gJChPQkpESVIpLy5idWlsZF9zbworIGVuZGlmCisgIyBPbmx5IGRvIHNvbWUgZGlyZWN0b3JpZXMgd2hlbiB5b3UgYXJlIG5vdCBjcm9zcyBjb21waWxpbmcKKyBpZmVxICgkKEhPU1RfUExBVEZPUk0pLCQoVEFSR0VUX1BMQVRGT1JNKSkKK0BAIC0xMTcsMTQgKzExOCwxNyBAQAorIAlAIHRvdWNoICQoT0JKRElSKS8uYnVpbGRfc28KKyAKKyAjIFVzZWQgaW4gdGhlIGxpYi8gZGlyZWN0b3J5IGFuZCBpbiBidWlsZGluZyBuZXcgdm9pY2VzCistJChPQkpESVIpLyUuc286ICUuc2hhcmVkLmEKKysjJChPQkpESVIpLyUuc286ICUuc2hhcmVkLmEKKyslLnNvOiAlLnNoYXJlZC5hCisgCUAgZWNobyBtYWtpbmcgJEAKKyAJQCBybSAtcmYgc2hhcmVkX29zICYmIG1rZGlyIHNoYXJlZF9vcworIAlAIHJtIC1mICRAICQoTElCRElSKS8kQC4ke1BST0pFQ1RfVkVSU0lPTn0gJChMSUJESVIpLyRALiR7UFJPSkVDVF9TSExJQl9WRVJTSU9OfSAKKyAJQCAoY2Qgc2hhcmVkX29zICYmIGFyIHggLi4vJDwpCisgCUAgKGNkIHNoYXJlZF9vcyAmJiAkKENDKSAtc2hhcmVkIC1XbCwtc29uYW1lLCRALiR7UFJPSkVDVF9TSExJQl9WRVJTSU9OfSAtbyAuLi8kQC4ke1BST0pFQ1RfVkVSU0lPTn0gKi5vcykKKy0JQCBsbiAtcyAkKExJQkRJUikvJEAuJHtQUk9KRUNUX1ZFUlNJT059ICQoTElCRElSKS8kQC4ke1BST0pFQ1RfU0hMSUJfVkVSU0lPTn0KKy0JQCBsbiAtcyAkKExJQkRJUikvJEAuJHtQUk9KRUNUX1NITElCX1ZFUlNJT059ICQoTElCRElSKS8kQAorKwkjQCBsbiAtcyAkKExJQkRJUikvJEAuJHtQUk9KRUNUX1ZFUlNJT059ICQoTElCRElSKS8kQC4ke1BST0pFQ1RfU0hMSUJfVkVSU0lPTn0KKysJI0AgbG4gLXMgJChMSUJESVIpLyRALiR7UFJPSkVDVF9TSExJQl9WRVJTSU9OfSAkKExJQkRJUikvJEAKKysJQCBsbiAtcyAkQC4ke1BST0pFQ1RfVkVSU0lPTn0gJEAuJHtQUk9KRUNUX1NITElCX1ZFUlNJT059CisrCUAgbG4gLXMgJEAuJHtQUk9KRUNUX1NITElCX1ZFUlNJT059ICRACisgCUAgcm0gLXJmIHNoYXJlZF9vcworIAorICQoT0JKRElSKS8ubWFrZV9idWlsZF9kaXJzOgorSW5kZXg6IGxpYi9NYWtlZmlsZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZsaXRlLTEuMy1yZWxlYXNlL2xpYi9NYWtlZmlsZQkoLi4uL2ZsaXRlLTEuMy1vcmlnKQkocmV2aXNpb24gMCkKKysrKyBmbGl0ZS0xLjMtcmVsZWFzZS9saWIvTWFrZWZpbGUJKC4uLi9yZWxlYXNlLTEuMikJKHJldmlzaW9uIDcpCitAQCAtMCwwICsxLDcwIEBACisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgICAgICAgICAgICAgICAgICBMYW5ndWFnZSBUZWNobm9sb2dpZXMgSW5zdGl0dXRlICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgICAgICAgICAgICAgICAgICAgICBDYXJuZWdpZSBNZWxsb24gVW5pdmVyc2l0eSAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgICAgICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDE5OTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgICAgICAgICAgICAgICAgICAgICAgICBBbGwgUmlnaHRzIFJlc2VydmVkLiAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byB1c2UgYW5kIGRpc3RyaWJ1dGUgICMjCisrIyMgIHRoaXMgc29mdHdhcmUgYW5kIGl0cyBkb2N1bWVudGF0aW9uIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyAgICMjCisrIyMgIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgICMjCisrIyMgIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGlzIHdvcmssIGFuZCB0byAgICAgICMjCisrIyMgIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhpcyB3b3JrIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byAgICMjCisrIyMgIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgICAxLiBUaGUgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mICAgICMjCisrIyMgICAgICBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgICAyLiBBbnkgbW9kaWZpY2F0aW9ucyBtdXN0IGJlIGNsZWFybHkgbWFya2VkIGFzIHN1Y2guICAgICAgICAgICAgICAgICMjCisrIyMgICAzLiBPcmlnaW5hbCBhdXRob3JzJyBuYW1lcyBhcmUgbm90IGRlbGV0ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgICA0LiBUaGUgYXV0aG9ycycgbmFtZXMgYXJlIG5vdCB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyAgICMjCisrIyMgICAgICBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gICAgICAgICMjCisrIyMgICAgICBwZXJtaXNzaW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgIENBUk5FR0lFIE1FTExPTiBVTklWRVJTSVRZIEFORCBUSEUgQ09OVFJJQlVUT1JTIFRPIFRISVMgV09SSyAgICAgICAgICMjCisrIyMgIERJU0NMQUlNIEFMTCBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUsIElOQ0xVRElORyAgICAgICMjCisrIyMgIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLCBJTiBOTyBFVkVOVCAgICMjCisrIyMgIFNIQUxMIENBUk5FR0lFIE1FTExPTiBVTklWRVJTSVRZIE5PUiBUSEUgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSAgICAgICMjCisrIyMgIEZPUiBBTlkgU1BFQ0lBTCwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTICAgICMjCisrIyMgIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiAgICMjCisrIyMgIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sICAgICAgICAgICMjCisrIyMgIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GICAgICAgICMjCisrIyMgIFRISVMgU09GVFdBUkUuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgICAgRkxJVEUgbGlicmFyaWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCisrIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisrVE9QPS4uCisrRElSTkFNRT1saWIKKytCVUlMRF9ESVJTID0gCisrQUxMX0RJUlM9CisrRklMRVMgPSBNYWtlZmlsZQorK0xJQk5BTUVTID0gZmxpdGUgZmxpdGVfY211bGV4IGZsaXRlX3VzZW5nbGlzaCBcCisrICAgICAgICAgICBmbGl0ZV9jbXVfdXNfa2FsIGZsaXRlX2NtdV91c19rYWwxNiBmbGl0ZV9jbXVfdGltZV9hd2IKKysKKytTVEFUSUNMSUJTPSAkKExJQk5BTUVTOiU9bGliJS5hKQorK1NIQVJFREFSTElCUz0gJChMSUJOQU1FUzolPWxpYiUuc2hhcmVkLmEpCisrI1NIQVJFRExJQlMgPSAkKExJQk5BTUVTOiU9bGliJS5zbykKKytTSEFSRURMSUJTID0gJChTSEFSRURBUkxJQlM6JS5zaGFyZWQuYT0lLnNvKQorK1ZFUlNJT05TSEFSRURMSUJTID0gJChTSEFSRURMSUJTOiU9JS4ke1BST0pFQ1RfVkVSU0lPTn0pIFwKKysgICAgICAgICAgICAgICAgICAgICQoU0hBUkVETElCUzolPSUuJHtQUk9KRUNUX1NITElCX1ZFUlNJT059KQorK0FMTF9MSUJTID0gJChTVEFUSUNMSUJTKSAkKFNIQVJFRExJQlMpICQoVkVSU0lPTlNIQVJFRExJQlMpCisrCisrQUxMID0gc2hhcmVkX2xpYnMKKysKKytMT0NBTF9DTEVBTj0qLmEgKi5zbyAqLnNvLiR7UFJPSkVDVF9WRVJTSU9OfSAqLnNvLiR7UFJPSkVDVF9TSExJQl9WRVJTSU9OfQorKworK2luY2x1ZGUgJChUT1ApL2NvbmZpZy9jb21tb25fbWFrZV9ydWxlcworKworK2lmZGVmIFNIRkxBR1MKKytzaGFyZWRfbGliczogJChTSEFSRURMSUJTKQorK2Vsc2UKKytzaGFyZWRfbGliczogbm90aGluZworK2VuZGlmCisrCisraW5zdGFsbDoKKysJQCBjcCAtdmYgJChMSUJESVIpLyogLgorKwlAICQoTUFLRSkgc2hhcmVkX2xpYnMKKysJQCBlY2hvIEFSTElCUzogJChTSEFSRURBUkxJQlMpCisrCUAgZWNobyBTSEFSTElCUzogJChTSEFSRURMSUJTKQorKwlAIHRhciBjdmYgLSAkKEFMTF9MSUJTKSB8ICggY2QgJChJTlNUQUxMTElCRElSKSAmJiB0YXIgeGYgLSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmxpdGUvZmxpdGUtYWxzYS0xLjMvZmxpdGUtYWxzYS0xLjMtY29uZmlndXJlLXdpdGgtYXVkaW8ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsaXRlL2ZsaXRlLWFsc2EtMS4zL2ZsaXRlLWFsc2EtMS4zLWNvbmZpZ3VyZS13aXRoLWF1ZGlvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxZTdhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsaXRlL2ZsaXRlLWFsc2EtMS4zL2ZsaXRlLWFsc2EtMS4zLWNvbmZpZ3VyZS13aXRoLWF1ZGlvLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKKy0tLSBmbGl0ZS0xLjMtcmVsZWFzZS9jb25maWd1cmUuaW4ub2xkCTIwMDgtMDEtMDYgMDI6MTc6NDcuMDAwMDAwMDAwIC0wNjAwCisrKysgZmxpdGUtMS4zLXJlbGVhc2UvY29uZmlndXJlLmluCTIwMDgtMDEtMDYgMDI6MTk6NTYuMDAwMDAwMDAwIC0wNjAwCitAQCAtMjIwLDcgKzIyMCw4IEBAIGRubCBhbGxvdyB0aGUgdXNlciB0byBvdmVycmlkZSB0aGUgb25lIGQKKyBkbmwKKyBBQ19BUkdfV0lUSCggYXVkaW8sCisgCVsgIC0td2l0aC1hdWRpbyAgICAgICAgICB3aXRoIHNwZWNpZmljIGF1ZGlvIHN1cHBvcnQgKG5vbmUgbGludXggZnJlZWJzZCBldGMpIF0sCistICAgICAgICBBVURJT0RSSVZFUj0kd2l0aF9hdWRpbyApCisrICAgICAgICBbQVVESU9EUklWRVI9JHdpdGhfYXVkaW8KKysgICAgICAgICBBVURJT0RFRlM9XSkKKyAKKyBpZiB0ZXN0ICJ4JEFVRElPREVGUyIgPSB4OyB0aGVuCisgICAgIGNhc2UgIiRBVURJT0RSSVZFUiIgaW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmxpdGUvZmxpdGUtYWxzYV8xLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsaXRlL2ZsaXRlLWFsc2FfMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxMDEyZTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsaXRlL2ZsaXRlLWFsc2FfMS4zLmJiCkBAIC0wLDAgKzEsMTIgQEAKK3JlcXVpcmUgZmxpdGUuaW5jCisKK1BSID0gInIxIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWF1ZGlvPWFsc2EgLS1lbmFibGUtc2hhcmVkIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuc3BlZWNoLmNzLmNtdS5lZHUvZmxpdGUvcGFja2VkL2ZsaXRlLSR7UFZ9L2ZsaXRlLSR7UFZ9LXJlbGVhc2UudGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2ZsaXRlLTEuMy1hbHNhX3N1cHBvcnQtMS4yLmRpZmYgXAorICAgICAgICAgICBmaWxlOi8vZmxpdGUtYWxzYS0xLjMtY29uZmlndXJlLXdpdGgtYXVkaW8ucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZTBhY2ExY2I3YjQ4MDFmNDM3MmYzYTc1YTllNTJiNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MjIyMjVmNzAwMWU1N2EwZmJhY2U4ODMzYjBhNDg3OTBhNjhmNmM3YjQ5MWYyZDQ3Yzc4YWQ1MzdhYjc4YThiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbGl0ZS9mbGl0ZS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsaXRlL2ZsaXRlLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWY4MmMwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbGl0ZS9mbGl0ZS5pbmMKQEAgLTAsMCArMSwzMyBAQAorREVTQ1JJUFRJT04gPSAiZmxpdGUgLSB0aGUgZmVzdGl2YWwgbGlnaHQgc3BlZWNoIHN5bnRoZXNpemVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zcGVlY2guY3MuY211LmVkdS9mbGl0ZS8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gImZsaXRlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NjhhMTZiMWVlNDljOTZjMzZmMjMyY2NkY2QyODc2NTAiCitERVBFTkRTID0gImFsc2Etb3NzIgorCitQQVJBTExFTF9NQUtFID0gIiIKKworUyA9ICIke1dPUktESVJ9L2ZsaXRlLSR7UFZ9LXJlbGVhc2UiCisKK0NGTEFHUyArPSAiIC1sYXNvdW5kICIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK1BBQ0tBR0VTICs9ICJsaWIke1BOfSBsaWIke1BOfS12b3g4IGxpYiR7UE59LXZveDE2IgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0iCisKK0ZJTEVTX2xpYiR7UE59ID0iJHtsaWJkaXJ9L2xpYmZsaXRlLnNvLiogXAorICAgICR7bGliZGlyfS9saWJmbGl0ZV9jbXVfdGltZV9hd2Iuc28uKiBcCisgICAgJHtsaWJkaXJ9L2xpYmZsaXRlX2NtdWxleC5zby4qIFwKKyAgICAke2xpYmRpcn0vbGliZmxpdGVfdXNlbmdsaXNoLnNvLioiCisKK0ZJTEVTX2xpYiR7UE59LXZveDggPSAiJHtsaWJkaXJ9L2xpYmZsaXRlX2NtdV91c19rYWwuc28uKiIKKworRklMRVNfbGliJHtQTn0tdm94MTYgPSAiJHtsaWJkaXJ9L2xpYmZsaXRlX2NtdV91c19rYWwxNi5zby4qIgorCitMRUFEX1NPTkFNRSA9ICJsaWJmbGl0ZS5zbyIKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIElOU1RBTExCSU5ESVI9IiR7RH0ke2JpbmRpcn0iIElOU1RBTExMSUJESVI9IiR7RH0ke2xpYmRpcn0iIElOU1RBTExJTkNESVI9IiR7RH0ke2luY2x1ZGVkaXJ9IiBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsdGsvZmx0ay9kaXNhYmxlX3Rlc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsdGsvZmx0ay9kaXNhYmxlX3Rlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY1ZmQyNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmx0ay9mbHRrL2Rpc2FibGVfdGVzdC5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gYS9NYWtlZmlsZS5vcmlnCTIwMTUtMTEtMjYgMTU6MzU6MzEuNDg1MzU3ODYyICswODAwCisrKysgYi9NYWtlZmlsZQkyMDE1LTExLTI2IDE1OjM1OjM3LjAzNzM1Nzc2NCArMDgwMAorQEAgLTE4LDcgKzE4LDcgQEAKKyAKKyBpbmNsdWRlIG1ha2VpbmNsdWRlCisgCistRElSUyA9ICQoSU1BR0VESVJTKSBzcmMgJChDQUlST0RJUikgZmx1aWQgdGVzdCBkb2N1bWVudGF0aW9uCisrRElSUyA9ICQoSU1BR0VESVJTKSBzcmMgJChDQUlST0RJUikgZmx1aWQgZG9jdW1lbnRhdGlvbgorIAorIGFsbDogbWFrZWluY2x1ZGUgZmx0ay1jb25maWcKKyAJZm9yIGRpciBpbiAkKERJUlMpOyBkb1wKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmx0ay9mbHRrL2ZpeC1ib29sZWFuLWlzc3VlLXdpdGgtanBlZzkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsdGsvZmx0ay9maXgtYm9vbGVhbi1pc3N1ZS13aXRoLWpwZWc5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxNDE4NGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsdGsvZmx0ay9maXgtYm9vbGVhbi1pc3N1ZS13aXRoLWpwZWc5LnBhdGNoCkBAIC0wLDAgKzEsNDAgQEAKK0Zyb20gMTRjMjIzOThmODM3MGUzM2E3OTgzNjBlZDBkYWQ1MTNhZjhmMTQ3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsYnJlY2h0UyA8QWxicmVjaHRTQGVhNDFlZDUyLWQyZWUtMDMxMC1hOWMxLWU2YjE4ZDMzZTEyMT4KK0RhdGU6IFN1biwgMTUgTWFyIDIwMTUgMTk6MzI6MzMgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4ICdib29sZWFuJyBpc3N1ZSB3aXRoIGpwZWctOSBsaWJyYXJ5IGNvbXBhdGliaWxpdHkgKFNUUgorICMyOTIwKS4KKworQWNjb3JkaW5nIHRvIGNvbW1lbnRzIGluIFNUUiAjMjkyMCBhbmQgbXkgb3duIHRlc3RzIHRoaXMgaXMgYWxzbworY29tcGF0aWJsZSB3aXRoIG9sZGVyIGpwZWcgbGlicmFyaWVzIChhdCBsZWFzdCBqcGVnLTgpLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKKy0tLQorIHNyYy9GbF9KUEVHX0ltYWdlLmN4eCB8ICAgIDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvRmxfSlBFR19JbWFnZS5jeHggYi9zcmMvRmxfSlBFR19JbWFnZS5jeHgKK2luZGV4IDQ3MTIwYTcuLjZjZWJlODggMTAwNjQ0CistLS0gYS9zcmMvRmxfSlBFR19JbWFnZS5jeHgKKysrKyBiL3NyYy9GbF9KUEVHX0ltYWdlLmN4eAorQEAgLTE1NSw3ICsxNTUsNyBAQCBGbF9KUEVHX0ltYWdlOjpGbF9KUEVHX0ltYWdlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQkvLyBJIC0gRmlsZSB0byBsb2FkCisgICAKKyAgIGpwZWdfY3JlYXRlX2RlY29tcHJlc3MoJmRpbmZvKTsKKyAgIGpwZWdfc3RkaW9fc3JjKCZkaW5mbywgZnApOworLSAganBlZ19yZWFkX2hlYWRlcigmZGluZm8sIDEpOworKyAganBlZ19yZWFkX2hlYWRlcigmZGluZm8sIFRSVUUpOworICAgCisgICBkaW5mby5xdWFudGl6ZV9jb2xvcnMgICAgICA9IChib29sZWFuKUZBTFNFOworICAgZGluZm8ub3V0X2NvbG9yX3NwYWNlICAgICAgPSBKQ1NfUkdCOworQEAgLTMzNyw3ICszMzcsNyBAQCBGbF9KUEVHX0ltYWdlOjpGbF9KUEVHX0ltYWdlKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEpCisgICAKKyAgIGpwZWdfY3JlYXRlX2RlY29tcHJlc3MoJmRpbmZvKTsKKyAgIGpwZWdfbWVtX3NyYygmZGluZm8sIGRhdGEpOworLSAganBlZ19yZWFkX2hlYWRlcigmZGluZm8sIDEpOworKyAganBlZ19yZWFkX2hlYWRlcigmZGluZm8sIFRSVUUpOworICAgCisgICBkaW5mby5xdWFudGl6ZV9jb2xvcnMgICAgICA9IChib29sZWFuKUZBTFNFOworICAgZGluZm8ub3V0X2NvbG9yX3NwYWNlICAgICAgPSBKQ1NfUkdCOworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmx0ay9mbHRrL2ZsdGstbm8tZnJlZXR5cGUtY29uZmlnLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mbHRrL2ZsdGsvZmx0ay1uby1mcmVldHlwZS1jb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQxM2ZmYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmx0ay9mbHRrL2ZsdGstbm8tZnJlZXR5cGUtY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKKy0tLSBhL2NvbmZpZ3VyZS5pbi5vcmlnCTIwMTUtMTEtMjYgMTQ6MzA6MTcuODkzNDI2OTY2ICswODAwCisrKysgYi9jb25maWd1cmUuaW4JMjAxNS0xMS0yNiAxNDozMzowMC4yODU0MjQwOTkgKzA4MDAKK0BAIC05NjksMTIgKzk2OSwxMiBAQCBjYXNlICRob3N0X29zX2d1aSBpbgorICAgICAgICAgQUNfQVJHX0VOQUJMRSh4ZnQsIFsgIC0tZW5hYmxlLXhmdCAgICAgICAgICAgIHR1cm4gb24gWGZ0IHN1cHBvcnQgW1tkZWZhdWx0PXllc11dXSkKKyAKKyAJaWYgdGVzdCB4JGVuYWJsZV94ZnQgIT0geG5vOyB0aGVuCistICAgICAgICAgICAgQUNfUEFUSF9QUk9HKEZUQ09ORklHLGZyZWV0eXBlLWNvbmZpZykKKysgICAgICAgICAgICBBQ19QQVRIX1BST0coUEtHQ09ORklHLHBrZy1jb25maWcpCisgCistCSAgICBpZiB0ZXN0ICJ4JEZUQ09ORklHIiAhPSB4OyB0aGVuCistCSAgICAgICAgQ1BQRkxBR1M9ImAkRlRDT05GSUcgLS1jZmxhZ3NgICRDUFBGTEFHUyIKKy0JICAgICAgICBDRkxBR1M9ImAkRlRDT05GSUcgLS1jZmxhZ3NgICRDRkxBR1MiCistCSAgICAgICAgQ1hYRkxBR1M9ImAkRlRDT05GSUcgLS1jZmxhZ3NgICRDWFhGTEFHUyIKKysJICAgIGlmIHRlc3QgIngkUEtHQ09ORklHIiAhPSB4OyB0aGVuCisrCSAgICAgICAgQ1BQRkxBR1M9ImAkUEtHQ09ORklHIC0tY2ZsYWdzIHhmdGAgJENQUEZMQUdTIgorKwkgICAgICAgIENGTEFHUz0iYCRQS0dDT05GSUcgLS1jZmxhZ3MgeGZ0YCAkQ0ZMQUdTIgorKwkgICAgICAgIENYWEZMQUdTPSJgJFBLR0NPTkZJRyAtLWNmbGFncyB4ZnRgICRDWFhGTEFHUyIKKyAKKyAJICAgICAgICBBQ19DSEVDS19MSUIoZm9udGNvbmZpZywgRmNQYXR0ZXJuQ3JlYXRlKQorIAkJQUNfQ0hFQ0tfSEVBREVSKFgxMS9YZnQvWGZ0LmgsCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsdGsvZmx0a18xLjMuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZmx0ay9mbHRrXzEuMy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExN2VjYzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZsdGsvZmx0a18xLjMuMy5iYgpAQCAtMCwwICsxLDQ5IEBACitTVU1NQVJZID0gIkZMVEsgaXMgYSBjcm9zcy1wbGF0Zm9ybSBDKysgR1VJIHRvb2xraXQiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZsdGsub3JnIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIgJiBGTFRLIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjZiMjYzNDRhMjRhOTQxYTAxYTViMDgyNmU4MGI1Y2EiCisKK0RFUEVORFMgPSAiYWxzYS1saWIgemxpYiBqcGVnIGxpYnBuZyBsaWJ4ZXh0IGxpYnhmdCIKKworU1JDX1VSSSA9ICJodHRwOi8vZmx0ay5vcmcvcHViL2ZsdGsvJHtQVn0vJHtCUH0tc291cmNlLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlX3Rlc3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZmx0ay1uby1mcmVldHlwZS1jb25maWcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LWJvb2xlYW4taXNzdWUtd2l0aC1qcGVnOS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5Y2NkYjBkMTlkYzEwNGI4NzE3OWJkOWZkMTA4MjJlMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmODM5OGQ5OGQ3MjIxZDQwZTc3YmM3YjE5ZTc2MWFkYWYyZjFlZjhiYjBjMzBlY2ViN2JlYjRmMjI3M2QwZDk3IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgYmluY29uZmlnIHBrZ2NvbmZpZyBsaWJfcGFja2FnZQorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSAtRFhGVF9NQUpPUj0yIgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtc2hhcmVkIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS10aHJlYWRzIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS14ZGJlIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS14ZnQgXAorIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnb3BlbmdsJywgJycsIGQpfSIKKworUEFDS0FHRUNPTkZJR1tvcGVuZ2xdID0gIi0tZW5hYmxlLWdsLC0tZGlzYWJsZS1nbCx2aXJ0dWFsL2xpYmdsIgorUEFDS0FHRUNPTkZJR1t4aW5lcmFtYV0gPSAiLS1lbmFibGUteGluZXJhbWEsLS1kaXNhYmxlLXhpbmVyYW1hLGxpYnhpbmVyYW1hIgorUEFDS0FHRUNPTkZJR1t4Zml4ZXNdID0gIi0tZW5hYmxlLXhmaXhlcywtLWRpc2FibGUteGZpeGVzLGxpYnhmaXhlcyIKK1BBQ0tBR0VDT05GSUdbeGN1cnNvcl0gPSAiLS1lbmFibGUteGN1cnNvciwtLWRpc2FibGUteGN1cnNvcixsaWJ4Y3Vyc29yIgorCitkb19jb25maWd1cmUoKSB7CisgICAgb2VfcnVuY29uZgorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgc2VkIC1pIC1lICdzLCR7U1RBR0lOR19ESVJfSE9TVH0sLGcnICR7RH0ke2JpbmRpcn0vZmx0ay1jb25maWcKK30KKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIGlmIChkLmdldFZhcignREVCSUFOX05BTUVTJywgMSkpOgorICAgICAgICBkLnNldFZhcignUEtHXyR7QlBOfScsICdsaWJmbHRrJHtQVn0nKQorfQorCitMRUFEX1NPTkFNRSA9ICJsaWJmbHRrLnNvIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcC8wMDAxLUZpbmRHU3RyZWFtZXJfMV8wLWZpeC1idWlsZC1mYWlsdXJlLWZvci1uZXctZ3N0cmVhbWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcC8wMDAxLUZpbmRHU3RyZWFtZXJfMV8wLWZpeC1idWlsZC1mYWlsdXJlLWZvci1uZXctZ3N0cmVhbWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVmNjQ4NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwLzAwMDEtRmluZEdTdHJlYW1lcl8xXzAtZml4LWJ1aWxkLWZhaWx1cmUtZm9yLW5ldy1nc3RyZWFtZS5wYXRjaApAQCAtMCwwICsxLDcxIEBACitGcm9tIGJlYTI3ZmQ5MTliNjRlZThkOTc5OTY0MDllMjc5ZTFlODNkMTM1OTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKZWFuLUxvdWlzIER1cG9uZCA8amVhbi1sb3Vpc0BkdXBvbmQuYmU+CitEYXRlOiBTdW4sIDQgT2N0IDIwMTUgMTg6MTc6MzMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRmluZEdTdHJlYW1lcl8xXzA6IGZpeCBidWlsZCBmYWlsdXJlIGZvciBuZXcgZ3N0cmVhbWVyCisgdmVyc2lvbnMKKworLS0tCisgY21ha2UvRmluZEdTdHJlYW1lcl8xXzAuY21ha2UgfCAzMCArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jbWFrZS9GaW5kR1N0cmVhbWVyXzFfMC5jbWFrZSBiL2NtYWtlL0ZpbmRHU3RyZWFtZXJfMV8wLmNtYWtlCitpbmRleCBmN2JmOTkwLi4zYWE4ZmM2IDEwMDY0NAorLS0tIGEvY21ha2UvRmluZEdTdHJlYW1lcl8xXzAuY21ha2UKKysrKyBiL2NtYWtlL0ZpbmRHU3RyZWFtZXJfMV8wLmNtYWtlCitAQCAtNTMsMTcgKzUzLDE3IEBAIHNldChHU1RSRUFNRVJfMV8wX01JTklNVU1fVkVSU0lPTiAxLjAuNSkKKyAjIEhlbHBlciBtYWNybyB0byBmaW5kIGEgR3N0cmVhbWVyIHBsdWdpbiAob3IgR3N0cmVhbWVyIGl0c2VsZikKKyAjICAgX2NvbXBvbmVudF9wcmVmaXggaXMgcHJlcGVuZGVkIHRvIHRoZSBfSU5DTFVERV9ESVJTIGFuZCBfTElCUkFSSUVTIHZhcmlhYmxlcyAoZWcuICJHU1RSRUFNRVJfMV8wX0FVRElPIikKKyAjICAgX3BrZ2NvbmZpZ19uYW1lIGlzIHRoZSBjb21wb25lbnQncyBwa2ctY29uZmlnIG5hbWUgKGVnLiAiZ3N0cmVhbWVyLTEuMCIsIG9yICJnc3RyZWFtZXItdmlkZW8tMS4wIikuCistIyAgIF9oZWFkZXIgaXMgdGhlIGNvbXBvbmVudCdzIGhlYWRlciwgcmVsYXRpdmUgdG8gdGhlIGdzdHJlYW1lci0xLjAgZGlyZWN0b3J5IChlZy4gImdzdC9nc3QuaCIpLgorICMgICBfbGlicmFyeSBpcyB0aGUgY29tcG9uZW50J3MgbGlicmFyeSBuYW1lIChlZy4gImdzdHJlYW1lci0xLjAiIG9yICJnc3R2aWRlby0xLjAiKQorLW1hY3JvKEZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVCBfY29tcG9uZW50X3ByZWZpeCBfcGtnY29uZmlnX25hbWUgX2hlYWRlciBfbGlicmFyeSkKKyttYWNybyhGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQgX2NvbXBvbmVudF9wcmVmaXggX3BrZ2NvbmZpZ19uYW1lIF9saWJyYXJ5KQorICAgICAjIEZJWE1FOiBUaGUgUVVJRVQga2V5d29yZCBjYW4gYmUgdXNlZCBvbmNlIHdlIHJlcXVpcmUgQ01ha2UgMi44LjIuCistICAgIHBrZ19jaGVja19tb2R1bGVzKFBDXyR7X2NvbXBvbmVudF9wcmVmaXh9ICR7X3BrZ2NvbmZpZ19uYW1lfSkKKyAKKy0gICAgZmluZF9wYXRoKCR7X2NvbXBvbmVudF9wcmVmaXh9X0lOQ0xVREVfRElSUworLSAgICAgICAgTkFNRVMgJHtfaGVhZGVyfQorLSAgICAgICAgSElOVFMgJHtQQ18ke19jb21wb25lbnRfcHJlZml4fV9JTkNMVURFX0RJUlN9ICR7UENfJHtfY29tcG9uZW50X3ByZWZpeH1fSU5DTFVERURJUn0KKy0gICAgICAgIFBBVEhfU1VGRklYRVMgZ3N0cmVhbWVyLTEuMAorLSAgICApCisrICAgIHN0cmluZyhSRUdFWCBNQVRDSCAiKC4qKT49KC4qKSIgX2R1bW15ICIke19wa2djb25maWdfbmFtZX0iKQorKyAgICBpZiAoIiR7Q01BS0VfTUFUQ0hfMn0iIFNUUkVRVUFMICIiKQorKyAgICAgICAgcGtnX2NoZWNrX21vZHVsZXMoUENfJHtfY29tcG9uZW50X3ByZWZpeH0gIiR7X3BrZ2NvbmZpZ19uYW1lfSA+PSAke0dTdHJlYW1lcl9GSU5EX1ZFUlNJT059IikKKysgICAgZWxzZSAoKQorKyAgICAgICAgcGtnX2NoZWNrX21vZHVsZXMoUENfJHtfY29tcG9uZW50X3ByZWZpeH0gJHtfcGtnY29uZmlnX25hbWV9KQorKyAgICBlbmRpZiAoKQorKyAgICBzZXQoJHtfY29tcG9uZW50X3ByZWZpeH1fSU5DTFVERV9ESVJTICR7UENfJHtfY29tcG9uZW50X3ByZWZpeH1fSU5DTFVERV9ESVJTfSkKKyAKKyAgICAgZmluZF9saWJyYXJ5KCR7X2NvbXBvbmVudF9wcmVmaXh9X0xJQlJBUklFUworICAgICAgICAgTkFNRVMgJHtfbGlicmFyeX0gZ3N0cmVhbWVyX2FuZHJvaWQKK0BAIC03OCw4ICs3OCw4IEBAIGVuZG1hY3JvKCkKKyAjIDEuMS4gRmluZCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMKKyBzZXQoR0xJQl9ST09UX0RJUiAke0dTVFJFQU1FUl8xXzBfUk9PVF9ESVJ9KQorIGZpbmRfcGFja2FnZShHbGliIFJFUVVJUkVEKQorLUZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wIGdzdHJlYW1lci0xLjAgZ3N0L2dzdC5oIGdzdHJlYW1lci0xLjApCistRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl8xXzBfQkFTRSBnc3RyZWFtZXItYmFzZS0xLjAgZ3N0L2dzdC5oIGdzdGJhc2UtMS4wKQorK0ZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wIGdzdHJlYW1lci0xLjAgZ3N0cmVhbWVyLTEuMCkKKytGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMF9CQVNFIGdzdHJlYW1lci1iYXNlLTEuMCBnc3RiYXNlLTEuMCkKKyAKKyAjIDEuMi4gQ2hlY2sgR3N0cmVhbWVyIHZlcnNpb24KKyBpZiAoR1NUUkVBTUVSXzFfMF9JTkNMVURFX0RJUlMpCitAQCAtMTEwLDExICsxMTAsMTEgQEAgZW5kaWYgKCkKKyAjIDIuIEZpbmQgR3N0cmVhbWVyIHBsdWdpbnMKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKy1GSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMF9BUFAgZ3N0cmVhbWVyLWFwcC0xLjAgZ3N0L2FwcC9nc3RhcHBzaW5rLmggZ3N0YXBwLTEuMCkKKy1GSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMF9BVURJTyBnc3RyZWFtZXItYXVkaW8tMS4wIGdzdC9hdWRpby9hdWRpby5oIGdzdGF1ZGlvLTEuMCkKKy1GSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMF9GRlQgZ3N0cmVhbWVyLWZmdC0xLjAgZ3N0L2ZmdC9nc3RmZnQuaCBnc3RmZnQtMS4wKQorLUZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfMV8wX1BCVVRJTFMgZ3N0cmVhbWVyLXBidXRpbHMtMS4wIGdzdC9wYnV0aWxzL3BidXRpbHMuaCBnc3RwYnV0aWxzLTEuMCkKKy1GSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMF9WSURFTyBnc3RyZWFtZXItdmlkZW8tMS4wIGdzdC92aWRlby92aWRlby5oIGdzdHZpZGVvLTEuMCkKKytGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMF9BUFAgZ3N0cmVhbWVyLWFwcC0xLjAgZ3N0YXBwLTEuMCkKKytGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMF9BVURJTyBnc3RyZWFtZXItYXVkaW8tMS4wIGdzdGF1ZGlvLTEuMCkKKytGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMF9GRlQgZ3N0cmVhbWVyLWZmdC0xLjAgZ3N0ZmZ0LTEuMCkKKytGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMF9QQlVUSUxTIGdzdHJlYW1lci1wYnV0aWxzLTEuMCBnc3RwYnV0aWxzLTEuMCkKKytGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSXzFfMF9WSURFTyBnc3RyZWFtZXItdmlkZW8tMS4wIGdzdHZpZGVvLTEuMCkKKyAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgMy4gUHJvY2VzcyB0aGUgQ09NUE9ORU5UUyBwYXNzZWQgdG8gRklORF9QQUNLQUdFCistLSAKKzIuNi40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwL3dpbnByLW1ha2VjZXJ0LUJ1aWxkLXdpdGgtaW5zdGFsbC1SUEFUSC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwL3dpbnByLW1ha2VjZXJ0LUJ1aWxkLXdpdGgtaW5zdGFsbC1SUEFUSC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjc5ZDZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHAvd2lucHItbWFrZWNlcnQtQnVpbGQtd2l0aC1pbnN0YWxsLVJQQVRILnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gMjUzZWFmYzhjOGRhODNmYzJiMWE5OWE5ZTQzODI0ZWZjNjEwNWM3YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hbnVlbCBCYWNobWFubiA8bWFudWVsLmJhY2htYW5uQGlvdC5iemg+CitEYXRlOiBTdW4sIDQgT2N0IDIwMTUgMTA6NDQ6NDkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gd2lucHItbWFrZWNlcnQ6IEJ1aWxkIHdpdGggaW5zdGFsbCBSUEFUSAorCitBcyB3ZSBhcmUgaW5zdGFsbGluZyAid2lucHItbWFrZWNlcnQiIG1hbnVhbGx5LCB3ZSBkbyB3YW50Cit0byByZWZlciB0byB0aGUgbGlicmFyeSBpbiBERVNURElSLCBub3QgdGhlIG9uZSByZXN0aW5nIGluCit0aGUgYnVpbGQgdHJlZS4KKworU2lnbmVkLW9mZi1ieTogTWFudWVsIEJhY2htYW5uIDxtYW51ZWwuYmFjaG1hbm5AaW90LmJ6aD4KKy0tLQorIHdpbnByL3Rvb2xzL21ha2VjZXJ0L2NsaS9DTWFrZUxpc3RzLnR4dCB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3dpbnByL3Rvb2xzL21ha2VjZXJ0L2NsaS9DTWFrZUxpc3RzLnR4dCBiL3dpbnByL3Rvb2xzL21ha2VjZXJ0L2NsaS9DTWFrZUxpc3RzLnR4dAoraW5kZXggMTc5NTRjNC4uOTBjNDQ2YiAxMDA2NDQKKy0tLSBhL3dpbnByL3Rvb2xzL21ha2VjZXJ0L2NsaS9DTWFrZUxpc3RzLnR4dAorKysrIGIvd2lucHIvdG9vbHMvbWFrZWNlcnQvY2xpL0NNYWtlTGlzdHMudHh0CitAQCAtNDUsNSArNDUsOSBAQCBzZXQoJHtNT0RVTEVfUFJFRklYfV9MSUJTIHdpbnByLW1ha2VjZXJ0LXRvb2wpCisgCisgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKCR7TU9EVUxFX05BTUV9ICR7JHtNT0RVTEVfUFJFRklYfV9MSUJTfSkKKyAKKytzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtNT0RVTEVfTkFNRX0gUFJPUEVSVElFUyAKKysJQlVJTERfV0lUSF9JTlNUQUxMX1JQQVRIIDEpCisrCisgc2V0X3Byb3BlcnR5KFRBUkdFVCAke01PRFVMRV9OQU1FfSBQUk9QRVJUWSBGT0xERVIgIldpblBSL1Rvb2xzIikKKyAKKysKKy0tIAorMS44LjMuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM5YTA1MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwX2dpdC5iYgpAQCAtMCwwICsxLDkwIEBACisjIENvcHlyaWdodCAoQykgMjAxMC0yMDEyIE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMdGRhLiBBbGwgUmlnaHRzIFJlc2VydmVkCisjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQorCitERVNDUklQVElPTiA9ICJGcmVlUkRQIFJEUCBjbGllbnQgJiBzZXJ2ZXIgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZXJkcC5jb20iCitERVBFTkRTID0gIm9wZW5zc2wgYWxzYS1saWIgcGNzYy1saXRlIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zYjgzZWY5NjM4N2YxNDY1NWZjODU0ZGRjM2M2YmQ1NyIKKworaW5oZXJpdCBwa2djb25maWcgY21ha2UgZ2l0cGtndgorCitQViA9ICIxLjIuNStnaXRyJHtTUkNQVn0iCitQS0dWID0gIiR7R0lUUEtHVlRBR30iCisKK1NSQ1JFViA9ICI2MmRhOWQyOGM2NzQ4MTRjODFjMjQ1YzFjNzg4MmViMGRhN2JlNzZiIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0ZyZWVSRFAvRnJlZVJEUC5naXQgXAorICAgIGZpbGU6Ly93aW5wci1tYWtlY2VydC1CdWlsZC13aXRoLWluc3RhbGwtUlBBVEgucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLUZpbmRHU3RyZWFtZXJfMV8wLWZpeC1idWlsZC1mYWlsdXJlLWZvci1uZXctZ3N0cmVhbWUucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitFWFRSQV9PRUNNQUtFICs9ICIgXAorICAgIC1EV0lUSF9BTFNBPU9OIFwKKyAgICAtRFdJVEhfUENTQz1PTiBcCisgICAgLURXSVRIX0ZGTVBFRz1PRkYgXAorICAgIC1EV0lUSF9DVU5JVD1PRkYgXAorICAgIC1EV0lUSF9ORU9OPU9GRiBcCisgICAgLURCVUlMRF9TVEFUSUNfTElCUz1PRkYgXAorICAgIC1EQ01BS0VfUE9TSVRJT05fSU5ERVBFTkRBTlRfQ09ERT1PTiBcCisgICAgLURXSVRIX01BTlBBR0VTPU9GRiBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIgIFwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEnLCAnJywgZCl9XAorICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnd2F5bGFuZCcsICd3YXlsYW5kJywgJycsIGQpfVwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2RpcmVjdGZiJywgJ2RpcmVjdGZiJywgJycsIGQpfVwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0nLCAnJywgZCl9XAorICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHVsc2VhdWRpbycsICdwdWxzZWF1ZGlvJywgJycsIGQpfVwKKyAgICAgICAgICAgICAgICBnc3RyZWFtZXIgY3VwcyBcCisgICAgICAgICAgICAgICAgIgorCitYMTFfREVQUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJ4aW5lcmFtYSBsaWJ4ZXh0IGxpYnhjdXJzb3IgbGlieHYgbGlieGkgbGlieHJlbmRlciBsaWJ4Zml4ZXMgbGlieGRhbWFnZSBsaWJ4cmFuZHIgbGlieGtiZmlsZSIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItRFdJVEhfWDExPU9OIC1EV0lUSF9YSU5FUkFNQT1PTiAtRFdJVEhfWEVYVD1PTiAtRFdJVEhfWENVUlNPUj1PTiAtRFdJVEhfWFY9T04gLURXSVRIX1hJPU9OIC1EV0lUSF9YUkVOREVSPU9OIC1EV0lUSF9YRklYRVM9T04gLURXSVRIX1hEQU1BR0U9T04gLURXSVRIX1hSQU5EUj1PTiAtRFdJVEhfWEtCRklMRT1PTiwtRFdJVEhfWDExPU9GRiwke1gxMV9ERVBTfSIKK1BBQ0tBR0VDT05GSUdbd2F5bGFuZF0gPSAiLURXSVRIX1dBWUxBTkQ9T04sLURXSVRIX1dBWUxBTkQ9T0ZGLHdheWxhbmQiCitQQUNLQUdFQ09ORklHW2RpcmVjdGZiXSA9ICItRFdJVEhfRElSRUNURkI9T04sLURXSVRIX0RJUkVDVEZCPU9GRixkaXJlY3RmYiIKK1BBQ0tBR0VDT05GSUdbcGFtXSA9ICItRFdJVEhfUEFNPU9OLC1EV0lUSF9QQU09T0ZGLGxpYnBhbSIKK1BBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLURXSVRIX1BVTFNFQVVESU89T04sLURXSVRIX1BVTFNFQVVESU89T0ZGLHB1bHNlYXVkaW8iCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLURXSVRIX0dTVFJFQU1FUl8xXzA9T04sLURXSVRIX0dTVFJFQU1FUl8xXzA9T0ZGLGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIgorUEFDS0FHRUNPTkZJR1tjdXBzXSA9ICItRFdJVEhfQ1VQUz1PTiwtRFdJVEhfQ1VQUz1PRkYsY3VwcyIKKworUEFDS0FHRVMgPSsgImxpYmZyZWVyZHAiCisKK0xFQURfU09OQU1FID0gImxpYmZyZWVyZHAuc28iCitGSUxFU19saWJmcmVlcmRwID0gIiR7bGliZGlyfS9saWIqJHtTT0xJQlN9IgorCitQQUNLQUdFU19EWU5BTUlDICs9ICJebGliZnJlZXJkcC1wbHVnaW4tLioiCisKKyMgd2Ugd2lsbCBuZWVkIHdpbnByLW1ha2VjZXJ0IHRvIGdlbmVyYXRlIFRMUyBjZXJ0aWZpY2F0ZXMKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tNzU1IHdpbnByL3Rvb2xzL21ha2VjZXJ0L2NsaS93aW5wci1tYWtlY2VydCAke0R9JHtiaW5kaXJ9CisgICAgcm0gLXJmICR7RH0ke2xpYmRpcn0vY21ha2UKKyAgICBybSAtcmYgJHtEfSR7bGliZGlyfS9mcmVlcmRwCit9CisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBmcmVlcmRwX3Jvb3QgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L2ZyZWVyZHAnKQorCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZnJlZXJkcF9yb290LCAnXihhdWRpbl8uKilcLnNvJCcsCisgICAgICAgIG91dHB1dF9wYXR0ZXJuPSdsaWJmcmVlcmRwLXBsdWdpbi0lcycsCisgICAgICAgIGRlc2NyaXB0aW9uPSdGcmVlUkRQIHBsdWdpbiAlcycsCisgICAgICAgIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nbGliZnJlZXJkcC1wbHVnaW4tYXVkaW4nKQorCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZnJlZXJkcF9yb290LCAnXihyZHBzbmRfLiopXC5zbyQnLAorICAgICAgICBvdXRwdXRfcGF0dGVybj0nbGliZnJlZXJkcC1wbHVnaW4tJXMnLAorICAgICAgICBkZXNjcmlwdGlvbj0nRnJlZVJEUCBwbHVnaW4gJXMnLAorICAgICAgICBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9J2xpYmZyZWVyZHAtcGx1Z2luLXJkcHNuZCcpCisKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBmcmVlcmRwX3Jvb3QsICdeKHRzbWZfLiopXC5zbyQnLAorICAgICAgICBvdXRwdXRfcGF0dGVybj0nbGliZnJlZXJkcC1wbHVnaW4tJXMnLAorICAgICAgICBkZXNjcmlwdGlvbj0nRnJlZVJEUCBwbHVnaW4gJXMnLAorICAgICAgICBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9J2xpYmZyZWVyZHAtcGx1Z2luLXRzbWYnKQorCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZnJlZXJkcF9yb290LCAnXihbXi1dKilcLnNvJCcsCisgICAgICAgIG91dHB1dF9wYXR0ZXJuPSdsaWJmcmVlcmRwLXBsdWdpbi0lcycsCisgICAgICAgIGRlc2NyaXB0aW9uPSdGcmVlUkRQIHBsdWdpbiAlcycsCisgICAgICAgIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nJykKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ2QvZ2RfMi4xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dkL2dkXzIuMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1YzdlNmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dkL2dkXzIuMS4xLmJiCkBAIC0wLDAgKzEsNDcgQEAKK1NVTU1BUlkgPSAiZ2QgaXMgYSBsaWJyYXJ5IHVzZWQgdG8gY3JlYXRlIFBORywgSlBFRywgb3IgV0JNUCBpbWFnZXMiCitERVNDUklQVElPTiA9ICJUaGUgZ2QgZ3JhcGhpY3MgbGlicmFyeSBhbGxvd3MgeW91ciBjb2RlIHRvIHF1aWNrbHkgZHJhdyBpbWFnZXMgXAorY29tcGxldGUgd2l0aCBsaW5lcywgYXJjcywgdGV4dCwgbXVsdGlwbGUgY29sb3JzLCBjdXQgYW5kIHBhc3RlIGZyb20gb3RoZXIgXAoraW1hZ2VzLCBhbmQgZmxvb2QgZmlsbHMsIGFuZCB0byB3cml0ZSBvdXQgdGhlIHJlc3VsdCBhcyBhIFBORyBvciBKUEVHIGZpbGUuIFwKK1RoaXMgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCBpbiBXZWIgYXBwbGljYXRpb25zLCB3aGVyZSBQTkcgYW5kIEpQRUcgYXJlIHR3byBcCitvZiB0aGUgZm9ybWF0cyBhY2NlcHRlZCBmb3IgaW5saW5lIGltYWdlcyBieSBtb3N0IGJyb3dzZXJzLiBOb3RlIHRoYXQgZ2QgaXMgbm90IFwKK2EgcGFpbnQgcHJvZ3JhbS4iCitIT01FUEFHRSA9ICJodHRwOi8vbGliZ2QuYml0YnVja2V0Lm9yZy8iCisKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jOTc2MzhjYWZkMzU4MWViODdhYmQzNzMzMjEzNzY2OSIKK0RFUEVORFMgPSAiZnJlZXR5cGUgbGlicG5nIGpwZWcgemxpYiB0aWZmIgorCitTUkNfVVJJID0gImh0dHBzOi8vYml0YnVja2V0Lm9yZy9saWJnZC9nZC1saWJnZC9kb3dubG9hZHMvbGliZ2QtJHtQVn0udGFyLmJ6MiBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiZDNmMWE5OTJhYzljNTUwZWJjNmRhODljMTQ3Zjg5YWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODk1ZWE5YzZmY2FiMTg3YjBhOTA4YWUzZTllNmIwNjQyMzc1NmY4YTY0M2QzNjIzNDliMGNhYWI0MDE0YmQwZCIKKworUyA9ICIke1dPUktESVJ9L2xpYmdkLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyBiaW5jb25maWcgZ2V0dGV4dCBwa2djb25maWcKKworRVhUUkFfT0VDT05GICs9ICIgLS1kaXNhYmxlLXJwYXRoIFwKKyAgICAgICAgICAgICAgICAgIC0td2l0aC1qcGVnPSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKyAgICAgICAgICAgICAgICAgIC0td2l0aC1mcmVldHlwZT15ZXMgXAorICAgICAgICAgICAgICAgICAgLS13aXRob3V0LWZvbnRjb25maWcgXAorICAgICAgICAgICAgICAgICAgLS13aXRob3V0LXhwbSBcCisgICAgICAgICAgICAgICAgICAtLXdpdGhvdXQteCBcCisgICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtdnB4IFwKKyAgICAgICAgICAgICAgICAiCisKK0VYVFJBX09FTUFLRSA9ICdMREZMQUdTPSIke0xERkxBR1N9IicKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJIyBjbGVhbnVwIGJ1aWxkcGF0aHMgZnJvbSBnZGxpYi5wYworCXNlZCAtaSAtZSAncyMke1NUQUdJTkdfRElSX0hPU1R9IyNnJyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9nZGxpYi5wYworfQorCitQQUNLQUdFUyArPSAiJHtQTn0tdG9vbHMiCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWIqJHtTT0xJQlN9IgorRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9LyoiCisKK1BST1ZJREVTICs9ICIke1BOfS10b29scyIKK1JQUk9WSURFU18ke1BOfS10b29scyA9ICIke1BOfS10b29scyIKK1JERVBFTkRTXyR7UE59LXRvb2xzID0gInBlcmwgcGVybC1tb2R1bGUtc3RyaWN0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbG9nL2dsb2cuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbG9nL2dsb2cuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhMWZiNDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dsb2cvZ2xvZy5pbmMKQEAgLTAsMCArMSwxMSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIGdsb2cgbGlicmFyeSBpbXBsZW1lbnRzIGFwcGxpY2F0aW9uLWxldmVsIGxvZ2dpbmcuIFRoaXMgXAorbGlicmFyeSBwcm92aWRlcyBsb2dnaW5nIEFQSXMgYmFzZWQgb24gQysrLXN0eWxlIHN0cmVhbXMgYW5kIHZhcmlvdXMgaGVscGVyIFwKK21hY3Jvcy4iCitIT01FUEFHRSA9ICJodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2dvb2dsZS1nbG9nLyIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kYzlkYjM2MGUwYmJkNGU0NjY3MmYzZmQ5MWRkNmM0YiIKKworREVQRU5EUyA9ICJsaWJ1bndpbmQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbG9nL2dsb2dfMC4zLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dsb2cvZ2xvZ18wLjMuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTNmMDc2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbG9nL2dsb2dfMC4zLjMuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlIGdsb2cuaW5jCisKK1NSQ19VUkkgPSAiaHR0cDovL2dvb2dsZS1nbG9nLmdvb2dsZWNvZGUuY29tL2ZpbGVzL2dsb2ctJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTZmZDJjMjJmODk5Njg0NmUzNGM3NjM0MjI3MTdjMTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmJmOTBjMjI4NWJhMDU2MWRiN2E0MGY4YTRlZWZiOWFhOTYzZTdkMzk5YmQ0NTAzNjNlOTU5OTI5ZmU4NDlkMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dudWxpYi9nbnVsaWJfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2NmU0MWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dudWxpYi9nbnVsaWJfZ2l0LmJiCkBAIC0wLDAgKzEsMzQgQEAKK1NVTU1BUlkgPSAiVGhlIEdOVSBwb3J0YWJpbGl0eSBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiQSBjb2xsZWN0aW9uIG9mIHNvZnR3YXJlIHN1YnJvdXRpbmVzIHdoaWNoIGFyZSBkZXNpZ25lZCB0byBcCitiZSB1c2FibGUgb24gbWFueSBvcGVyYXRpbmcgc3lzdGVtcy4gVGhlIGdvYWwgb2YgdGhlIHByb2plY3QgXAoraXMgdG8gbWFrZSBpdCBlYXN5IGZvciBmcmVlIHNvZnR3YXJlIGF1dGhvcnMgdG8gbWFrZSB0aGVpciBcCitzb2Z0d2FyZSBydW4gb24gbWFueSBvcGVyYXRpbmcgc3lzdGVtcy4gU2luY2Ugc291cmNlIGlzIGRlc2lnbmVkIFwKK3RvIGJlIGNvcGllZCBmcm9tIGdudWxpYiwgaXQgaXMgbm90IGEgbGlicmFyeSBwZXItc2UsIGFzIG11Y2ggXAorYXMgYSBjb2xsZWN0aW9uIG9mIHBvcnRhYmxlIGlkaW9tcyB0byBiZSB1c2VkIGluIG90aGVyIHByb2plY3RzLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2dudWxpYi8iCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJMR1BMdjIrIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lNGNmMzgxMGYzM2EwNjdlYTdjY2QyY2Q4ODlmZWQyMSIKK1NSQ1JFViA9ICIyNDM3OWE5MjE3ZmE0YmQ2MjY4NTc5NWFhYWEwMTBmZDkwY2VkOWUzIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQuc3YuZ251Lm9yZy9nbnVsaWI7cHJvdG9jb2w9Z2l0IFwKKyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGNkICR7U30KKyAgICBnaXQgY2hlY2tvdXQgbWFzdGVyCisgICAgZ2l0IGNsb25lICR7U30gJHtEfS8ke2RhdGFkaXJ9L2dudWxpYgorfQorCitkb19wYXRjaFtub2V4ZWNdID0gIjEiCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorZG9fY29tcGlsZVtub2V4ZWNdID0gIjEiCitkb19wYWNrYWdlW25vZXhlY10gPSAiMSIKK2RvX3BhY2thZ2VkYXRhW25vZXhlY10gPSAiMSIKK2RvX3BhY2thZ2Vfd3JpdGVfaXBrW25vZXhlY10gPSAiMSIKK2RvX3BhY2thZ2Vfd3JpdGVfZGViW25vZXhlY10gPSAiMSIKK2RvX3BhY2thZ2Vfd3JpdGVfcnBtW25vZXhlY10gPSAiMSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwZXJmdG9vbHMvZ3BlcmZ0b29sc18yLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwZXJmdG9vbHMvZ3BlcmZ0b29sc18yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Q4ZTJhOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BlcmZ0b29scy9ncGVyZnRvb2xzXzIuNC5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIkZhc3QsIG11bHRpLXRocmVhZGVkIG1hbGxvYygpIGFuZCBuaWZ0eSBwZXJmb3JtYW5jZSBhbmFseXNpcyB0b29scyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9ncGVyZnRvb2xzLyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzYyNzMyNzQyYzczZGM2YzdmYmU4NjMyZjA2YzA1OWEiCitERVBFTkRTID0gImxpYnVud2luZCIKKworU1JDX1VSSSA9ICJodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9yZXBvL3BrZ3MvZ3BlcmZ0b29scy9ncGVyZnRvb2xzLTIuNC50YXIuZ3ovMjE3MWNlYTNiYmUwNTMwMzZmYjVkNWQyNTE3NmExNjAvZ3BlcmZ0b29scy0yLjQudGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjE3MWNlYTNiYmUwNTMwMzZmYjVkNWQyNTE3NmExNjAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTgyYTM3MjI2ZWI0MmY0MDcxNGUyNmI4MDc2ODE1ZDVlYTY3N2E0MjJmYjUyZmY4YmZjYTM3MDRkOWMzMGEyZCIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbS0xLjk5LjcvZWdsaWJjLTIuMTcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG0tMS45OS43L2VnbGliYy0yLjE3LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0M2JkY2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG0tMS45OS43L2VnbGliYy0yLjE3LnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCistLS0gZ3BtLTEuOTkuNy5vcmlnL3NyYy9kYWVtb24vb3Blbl9jb25zb2xlLmMJMjAwOC0wNy0yNCAxMjozMzowNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBncG0tMS45OS43L3NyYy9kYWVtb24vb3Blbl9jb25zb2xlLmMJMjAxMy0wMS0xMCAxMjozOTo0Ny45NzU0NjE5NDcgKzAxMDAKK0BAIC0yMyw2ICsyMyw3IEBACisgI2luY2x1ZGUgPGZjbnRsLmg+ICAgICAgICAgICAgICAvKiBvcGVuIGFuZCBjby4gICovCisgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+ICAgICAgICAgICAvKiBzdGF0KCkgKi8KKyAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+ICAgICAgICAgIC8qIGlvY3RsKCkgKi8KKysjaW5jbHVkZSA8c3lzL3R5cGVzLmg+ICAgICAgICAgIC8qIG1ham9yKCkgKi8KKyAKKyAvKiBMaW51eCBzcGVjaWZpYyAodG8gYmUgb3V0c291cmNlZCBpbiBncG0yICovCisgI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPiAgICAgICAvKiBmb3Igc2VyaWFsIGNvbnNvbGUgY2hlY2sgKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbS0xLjk5LjcvaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbS0xLjk5LjcvaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGNmOWFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtLTEuOTkuNy9pbml0CkBAIC0wLDAgKzEsMzIgQEAKKyMhIC9iaW4vc2ggIAorCisjIEdyYWIgdGhlIGNvbW1vbiBmdW5jdGlvbnMKKyMuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCisjIEZJWE1FOiAKKyMgQWRkIGEgY29uZmlndXJhdGlvbiBmaWxlIGZvciBHUE0gaGVyZQorCit0ZXN0IC14IC91c3Ivc2Jpbi9ncG0gfHwgZXhpdCAwCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBpZiBbICEgLXAgL2Rldi9ncG1kYXRhIF07IHRoZW4KKyAgICAgICAgbWtmaWZvIC9kZXYvZ3BtZGF0YQorICAgIGZpCisKKyAgICBlY2hvICJTdGFydGluZyBHUE06IiAKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtUyAteCAvdXNyL3NiaW4vZ3BtIC0tIC1SIC1tIC9kZXYvcHNhdXggLXQgcHMyCisgICAgOzsKKyAgc3RvcCkKKyAgICBlY2hvICJTdG9wcGluZyBHUE06IiAKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAteCAvdXNyL3NiaW4vZ3BtCisgICAgOzsKKyAgcmVzdGFydHxmb3JjZS1yZWxvYWQpIAorICAgICQwIHN0b3AKKyAgICAkMCBzdGFydAorICAgIDs7CisgICopCisgICAgdXNhZ2UgL2V0Yy9pbml0LmQvZ3BtCitlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtLTEuOTkuNy9uby1kb2NzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtLTEuOTkuNy9uby1kb2NzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxMDIxN2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG0tMS45OS43L25vLWRvY3MucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorCisjCisjIFBhdGNoIG1hbmFnZWQgYnkgaHR0cDovL3d3dy5tbi1sb2dpc3Rpay5kZS91bnN1cHBvcnRlZC9weGEyNTAvcGF0Y2hlcgorIworCitJbmRleDogZ3BtLTEuOTkuNy9NYWtlZmlsZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdwbS0xLjk5Ljcub3JpZy9NYWtlZmlsZS5pbgkyMDA4LTA3LTI0IDAzOjM2OjM1LjAwMDAwMDAwMCAtMDcwMAorKysrIGdwbS0xLjk5LjcvTWFrZWZpbGUuaW4JMjAxMC0wNi0yMiAxODoyODo0NS4yNjk1MDcwMDEgLTA3MDAKK0BAIC0xOSw3ICsxOSw3IEBACisgIyB1c2VyLW92ZXJyaWRhYmxlIGZsYWdzLCBidXQgaXQncyBhbHNvIGFsbCB0aGUgaW1wbGljaXQgcnVsZSBsb29rcyBhdC4KKyAjIG1pc3NpbmcgPworIAorLVNVQkRJUlMgPSBzcmMgZG9jIGNvbnRyaWIgZ3BtMgorK1NVQkRJUlMgPSBzcmMKKyAKKyAKKyAjIyMgc2ltcGxlLCBidXQgZWZmZWN0aXZlIHJ1bGVzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG0tMS45OS43L3Byb2Nlc3NjcmVkcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BtL2dwbS0xLjk5LjcvcHJvY2Vzc2NyZWRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2NDdlY2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG0tMS45OS43L3Byb2Nlc3NjcmVkcy5wYXRjaApAQCAtMCwwICsxLDEyIEBACitJbmRleDogZ3BtLTEuOTkuNy9zcmMvZGFlbW9uL3Byb2Nlc3Njb25uLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBncG0tMS45OS43Lm9yaWcvc3JjL2RhZW1vbi9wcm9jZXNzY29ubi5jCTIwMTAtMDktMjkgMTc6MzY6MTguNTcxNzgyOTUxICswNDAwCisrKysgZ3BtLTEuOTkuNy9zcmMvZGFlbW9uL3Byb2Nlc3Njb25uLmMJMjAxMC0wOS0yOSAxNzo0Mjo0NC42NTk5OTE3NTggKzA0MDAKK0BAIC0yMCw2ICsyMCw3IEBACisgICoKKyAgKioqKioqKiovCisgCisrI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+ICAgICAgICAgLyogYWNjZXB0ICovCisgI2luY2x1ZGUgPHN0ZGxpYi5oPiAgICAgICAgICAgICAvKiBtYWxsb2MgKi8KKyAjaW5jbHVkZSA8dW5pc3RkLmg+ICAgICAgICAgICAgIC8qIGNsb3NlICovCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwbS9ncG1fMS45OS43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtXzEuOTkuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDIyMDU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncG0vZ3BtXzEuOTkuNy5iYgpAQCAtMCwwICsxLDUyIEBACitERVNDUklQVElPTiA9ICJHUE0gKEdlbmVyYWwgUHVycG9zZSBNb3VzZSkgaXMgYSBtb3VzZSBzZXJ2ZXIgXAorZm9yIHRoZSBjb25zb2xlIGFuZCB4dGVybSwgd2l0aCBzYW1wbGUgY2xpZW50cyBpbmNsdWRlZCBcCisoZW1hY3MsIGV0YykuIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9ncG0yL2NvcmUvbWFpbi5jO2VuZGxpbmU9MTk7bWQ1PTY2ZDNjMjA1YzRlN2VlNTcwNGIyZWUzNTFkZmVkNzJmIgorCitQUiA9ICJyMiIKKworREVQRU5EUyA9ICJuY3Vyc2VzIgorCitTUkNfVVJJID0gImZ0cDovL2FyY2FuYS5saW51eC5pdC9wdWIvZ3BtL2dwbS0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL25vLWRvY3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcHJvY2Vzc2NyZWRzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2VnbGliYy0yLjE3LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZAorCitJTklUU0NSSVBUX05BTUUgPSAiZ3BtIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCisKKyNleHBvcnQgTElCUyA9ICItbG0iCisKKyMgYWxsIGZpZWxkcyBhcmUgLyogRklYTUU6IGdwbSAxLjk5LjEzICovCisjIGdwbS0xLjk5Ljcvc3JjL2xpYi9saWJoaWdoLmM6MTcxOjQzOiBlcnJvcjogcGFyYW1ldGVyICdjbGllbnRkYXRhJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXBhcmFtZXRlcl0KKyMgZ3BtLTEuOTkuNy9zcmMvbGliL3JlcG9ydC1saWIuYzoyODoyMTogZXJyb3I6IHBhcmFtZXRlciAnbGluZScgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC1wYXJhbWV0ZXJdCisjIGdwbS0xLjk5Ljcvc3JjL2xpYi9yZXBvcnQtbGliLmM6Mjg6MzM6IGVycm9yOiBwYXJhbWV0ZXIgJ2ZpbGUnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtcGFyYW1ldGVyXQorIyBncG0tMS45OS43L3NyYy9kcml2ZXJzL2VtcHR5L2kuYzoyNjoyMzogZXJyb3I6IHBhcmFtZXRlciAnZmQnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtcGFyYW1ldGVyXQorIyBncG0tMS45OS43L3NyYy9kcml2ZXJzL2VtcHR5L2kuYzoyNjo0MjogZXJyb3I6IHBhcmFtZXRlciAnZmxhZ3MnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtcGFyYW1ldGVyXQorIyBncG0tMS45OS43L3NyYy9kcml2ZXJzL2V0b3VjaC9pLmM6MzQ6NDM6IGVycm9yOiBwYXJhbWV0ZXIgJ2ZsYWdzJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXBhcmFtZXRlcl0KKyMgZ3BtLTEuOTkuNy9zcmMvZHJpdmVycy9tc2Mvci5jOjMyOjEyOiBlcnJvcjogdmFyaWFibGUgJ2R5JyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQorIyBncG0tMS45OS43L3NyYy9kcml2ZXJzL21zYy9yLmM6MzI6ODogZXJyb3I6IHZhcmlhYmxlICdkeCcgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KKyMgY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKK0NGTEFHUyArPSAiLVduby1leHRyYSAtV25vLWVycm9yPXVudXNlZC1idXQtc2V0LXBhcmFtZXRlciAtV25vLWVycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlIgorCisjIHR3aWRkbGVyIGlzIFdJUCBpbiAxLjk5LjcgYW5kIHByb2JhYmx5IG5vdCB3b3J0aCBmaXhpbmcgKGEgbG90IG9mIGNoYW5nZXMgaW4gZ3BtLTItZGV2IGFmdGVyIDEuOTkuNworIyBncG0tMS45OS43L3NyYy9kcml2ZXJzL3R3aWQvdHdpZGRsZXIuYzo1MDM6MTQ6IGVycm9yOiBjYXN0IHRvIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIG9mIGRpZmZlcmVudCBzaXplIFstV2Vycm9yPWludC10by1wb2ludGVyLWNhc3RdCisjIC9ncG0tMS45OS43L3NyYy9taWNlLmM6MjIxOjU6IGVycm9yOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3IgJ21pY2VbMzJdLmluaXQnKSBbLVdlcnJvcl0KK0NGTEFHUyArPSAiLVduby1lcnJvcj1pbnQtdG8tcG9pbnRlci1jYXN0IC1Xbm8tZXJyb3IiCisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorICAgIGluc3RhbGwgLW0gMDY0NCBzcmMvaGVhZGVycy9ncG0uaCAke0R9JHtpbmNsdWRlZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9ncG0KKyAgICBjZCAke0R9JHtsaWJkaXJ9ICYmIGxuIC1zZiBsaWJncG0uc28uMS4xOS4wIGxpYmdwbS5zby4xCit9CitTUkNfVVJJW21kNXN1bV0gPSAiOWZkZGRmNWY1M2NiMTFkNDBiYjJiYjY3MWQzYWM1NDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjA3MTM3OGIyNDQ5NGUzNmNhM2VmNjM3NzYwNmU3ZTU2NTA0MDQxM2M4NjcwNDc1M2ExNjJkMjE4MGFmMzJlZSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZW1hY3MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dyYWRtL2dyYWRtLzAwMDEtTWFrZWZpbGUtcmVtb3ZlLXN0cmlwLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncmFkbS9ncmFkbS8wMDAxLU1ha2VmaWxlLXJlbW92ZS1zdHJpcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGM2OTdjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncmFkbS9ncmFkbS8wMDAxLU1ha2VmaWxlLXJlbW92ZS1zdHJpcC5wYXRjaApAQCAtMCwwICsxLDYxIEBACitGcm9tIGZiZjdiOWU1YThlMjk3OGFjZDViMGE3YTgzMTE5MTJhMDgwZWU5YjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBRaWFuIExlaSA8cWlhbmwuZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFRodSwgMTggRGVjIDIwMTQgMTE6MDk6MDEgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGU6IHJlbW92ZSBzdHJpcAorCitBdm9pZCBRQSBlcnJvciBieSByZW1vdmluZyBzdHJpcCBmcm9tIE1ha2VmaWxlCisKK1suLi5dCitFUlJPUjogUUEgSXNzdWU6IEZpbGUgJy9zYmluL2dyYWRtJyBmcm9tIGdyYWRtIHdhcyBhbHJlYWR5IHN0cmlwcGVkLAordGhpcyB3aWxsIHByZXZlbnQgZnV0dXJlIGRlYnVnZ2luZyEgW2FscmVhZHktc3RyaXBwZWRdCitFUlJPUjogUUEgSXNzdWU6IEZpbGUgJy9zYmluL2dybGVhcm4nIGZyb20gZ3JhZG0gd2FzIGFscmVhZHkgc3RyaXBwZWQsCit0aGlzIHdpbGwgcHJldmVudCBmdXR1cmUgZGVidWdnaW5nISBbYWxyZWFkeS1zdHJpcHBlZF0KK1suLi5dCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBRaWFuIExlaSA8cWlhbmwuZm5zdEBjbi5mdWppdHN1LmNvbT4KKworLS0tCisgTWFrZWZpbGUgfCA3ICsrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggNmMzM2ZlZS4uMzU3MGE0ZSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTI0LDcgKzI0LDYgQEAgTUtOT0Q9L2Jpbi9ta25vZAorICNDQz0vdXNyL2Jpbi9kaWV0IC91c3IvYmluL2djYworIENDPS91c3IvYmluL2djYworIEZJTkQ9L3Vzci9iaW4vZmluZAorLVNUUklQPS91c3IvYmluL3N0cmlwCisgTElCUyA6PSAkKHNoZWxsIGlmIFsgImB1bmFtZSAtbWAiICE9ICJzcGFyYzY0IiAtYSAiYHVuYW1lIC1tYCIgIT0gIng4Nl82NCIgXTsgdGhlbiBlY2hvICItbGZsIiA7IGVsc2UgZWNobyAiIiA7IGZpKQorIE9QVF9GTEFHUyA6PSAtTzIKKyAjIGZvciBvbGRlciB2ZXJzaW9ucyBvZiBncnNlY3VyaXR5LCBjb21tZW50IHRoZSBhYm92ZSBsaW5lIGFuZCB1bmNvbW1lbnQgdGhlIGJlbG93OgorQEAgLTE0MCwxNSArMTM5LDEyIEBAIGluc3RhbGw6ICQoR1JBRE1fQklOKSBncmFkbS44IHBvbGljeSBncmxlYXJuCisgCUBta2RpciAtcCAkKERFU1RESVIpL3NiaW4KKyAJQGVjaG8gIkluc3RhbGxpbmcgZ3JhZG0uLi4iCisgCUAkKElOU1RBTEwpIC1tIDA3NTUgJChHUkFETV9CSU4pICQoREVTVERJUikvc2JpbgorLQlAJChTVFJJUCkgJChERVNURElSKS9zYmluLyQoR1JBRE1fQklOKQorIAlAaWYgWyAtZiAkKEdSQURNX1BBTSkgXSA7IHRoZW4gXAorIAkJZWNobyAiSW5zdGFsbGluZyBncmFkbV9wYW0uLi4iIDsgXAorCQkkKElOU1RBTEwpIC1tIDQ3NTUgJChHUkFETV9QQU0pICQoREVTVERJUikvc2JpbiA7IFwKKy0JCSQoU1RSSVApICQoREVTVERJUikvc2Jpbi8kKEdSQURNX1BBTSkgOyBcCisgCWZpCisgCUBlY2hvICJJbnN0YWxsaW5nIGdybGVhcm4uLi4iCisgCUAkKElOU1RBTEwpIC1tIDA3MDAgZ3JsZWFybiAkKERFU1RESVIpL3NiaW4KKy0JQCQoU1RSSVApICQoREVTVERJUikvc2Jpbi9ncmxlYXJuCisgCUBta2RpciAtcCAtbSA3MDAgJChERVNURElSKSQoR1JTRUNfRElSKQorIAlAaWYgWyAhIC1mICQoREVTVERJUikkKEdSU0VDX0RJUikvcG9saWN5IF0gOyB0aGVuIFwKKyAJCWlmIFsgLWYgJChERVNURElSKSQoR1JTRUNfRElSKS9hY2wgXSA7IHRoZW4gXAorQEAgLTE2OCw2ICsxNjQsNyBAQCBpbnN0YWxsOiAkKEdSQURNX0JJTikgZ3JhZG0uOCBwb2xpY3kgZ3JsZWFybgorIAkJCSQoTUtOT0QpIC1tIDA2MjIgJChERVNURElSKS9kZXYvZ3JzZWMgYyAxIDEzIDsgXAorIAkJZmkgXAorIAlmaQorKwlAbWtkaXIgLXAgJChERVNURElSKS9ldGMvdWRldi9ydWxlcy5kCisgCUBpZiBbIC1kICQoREVTVERJUikvZXRjL3VkZXYvcnVsZXMuZCBdIDsgdGhlbiBcCisgCQllY2hvICJBQ1RJT04hPVwiYWRkfGNoYW5nZVwiLCBHT1RPPVwicGVybWlzc2lvbnNfZW5kXCIiID4gJChERVNURElSKS9ldGMvdWRldi9ydWxlcy5kLzgwLWdyc2VjLnJ1bGVzIDsgXAorIAkJZWNobyAiS0VSTkVMPT1cImdyc2VjXCIsICAgICAgICAgIE1PREU9XCIwNjIyXCIiID4+ICQoREVTVERJUikvZXRjL3VkZXYvcnVsZXMuZC84MC1ncnNlYy5ydWxlcyA7IFwKKy0tIAorMS44LjMuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dyYWRtL2dyYWRtXzMuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3JhZG0vZ3JhZG1fMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1MmIxOWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dyYWRtL2dyYWRtXzMuMS5iYgpAQCAtMCwwICsxLDUwIEBACitTVU1NQVJZID0gIkFkbWluaXN0cmF0aW9uIHByb2dyYW0gZm9yIHRoZSBncnNlY3VyaXR5IFJCQUMgc3lzdGUiCitERVNDUklQVElPTiA9ICJcCitncmFkbSBpcyB0aGUgdXNlcnNwYWNlIFJCQUMgcGFyc2luZyBhbmQgYXV0aGVudGljYXRpb24gcHJvZ3JhbSBmb3IgXAorZ3JzZWN1cml0eSBncnNlY3VyaXR5IGFpbXMgdG8gYmUgYSBjb21wbGV0ZSBzZWN1cml0eSBzeXN0ZW0uIGdyYWRtIFwKK3BlcmZvcm1zIHNldmVyYWwgdGFza3MgZm9yIHRoZSBSQkFDIHN5c3RlbSBpbmNsdWRpbmcgYXV0aGVudGljYXRlZCBcCit2aWEgYSBwYXNzd29yZCB0byB0aGUga2VybmVsIGFuZCBwYXJzaW5nIHJ1bGVzIHRvIGJlIHBhc3NlZCB0byB0aGUgXAora2VybmVsIgorSE9NRVBBR0UgPSAiaHR0cDovL2dyc2VjdXJpdHkubmV0L2luZGV4LnBocCIKK1NFQ1RJT04gPSAiYWRtaW4iCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00NjQxZTk0ZWM5NmY5OGZhYmM1NmZmOWNjNDhiZTE0YiIKK0RFUEVORFMgPSAiZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2dyc2VjdXJpdHkubmV0L3N0YWJsZS8ke0JQfS0yMDE1MDcxOTE2NTIudGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUtcmVtb3ZlLXN0cmlwLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gImVjZWM3MmQzYTliNmQ4NGMwMGVkYTk3OTU3YjcwN2I2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJmMTRjMzU3YmYwNDU5ZTUwMmE0ZTEwOGI3NmMzZjYyNDBhYTQ4NDc2MmQwN2JiMTY4Nzc5NmI5YjkyOTdhNTAiCisKK1MgPSAiJHtXT1JLRElSfS9ncmFkbSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSAnQ0M9JHtDQ30nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICdPUFRfRkxBR1M9JHtDRkxBR1N9JyAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgJ0xMRVg9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2xleCcgICAgICBcCisgICAgICAgICAgICAgICAnRkxFWD0ke1NUQUdJTkdfQklORElSX05BVElWRX0vZmxleCcgICAgIFwKKyAgICAgICAgICAgICAgICdCSVNPTj0ke1NUQUdJTkdfQklORElSX05BVElWRX0vYmlzb24nICAgXAorICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnICcsICdub3BhbScsIGQpfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgJ0NDPSR7Q0N9JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAnREVTVERJUj0ke0R9JyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICdMTEVYPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9sZXgnICAgICAgXAorICAgICAgICAgICAgICAgJ0ZMRVg9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZsZXgnICAgICBcCisgICAgICAgICAgICAgICAnQklTT049JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2Jpc29uJyAgIFwKKyAgICAgICAgICAgICAgIGluc3RhbGwKKworICAgICMgVGhlIGRldmljZSBub2RlcyBhcmUgZ2VuZXJhdGVkIGJ5IHBvc3RpbnN0YWxsIG9yIHVkZXYKKyAgICBybSAtcmYgJHtEfS9kZXYKK30KKworcGtnX3Bvc3RpbnN0XyR7UE59KCkgeworICAgICMgbWFrZSBzdXJlIHJ1bm5pbmcgb24gdGhlIHRhcmdldAorICAgIGlmIFsgeCIkRCIgIT0gIngiIF07IHRoZW4KKyAgICAgICAgZXhpdCAxCisgICAgZmkKKyAgICAvYmluL21rbm9kIC1tIDA2MjIgL2Rldi9ncnNlYyBjIDEgMTMKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3NsL2dzbC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dzbC9nc2wuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwNjEzOTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dzbC9nc2wuaW5jCkBAIC0wLDAgKzEsOSBAQAorREVTQ1JJUFRJT04gPSAiR05VIFNjaWVudGlmaWMgTGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nc2wvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmluY29uZmlnCisKK0xFQURfU09OQU1FID0gImxpYmdzbC5zbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3NsL2dzbF8xLjE1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nc2wvZ3NsXzEuMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjIwZTc4MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3NsL2dzbF8xLjE1LmJiCkBAIC0wLDAgKzEsNyBAQAoraW5jbHVkZSBnc2wuaW5jCisKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS9nc2wvZ3NsLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ5NGZmZWZkOTBlZWY0YWRhNjc4YzMwNmJhYjQwMzBiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg1YjkwN2U1NzkwMmUyYjc2MDZlZjNhZWY5NjAzMDJmZmRkMTNiZDlkYzViOGZjYmZhNzVlNGYwYmYzNDBlYTMiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3NvYXAvZ3NvYXBfMi44LjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nc29hcC9nc29hcF8yLjguMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRhMDhhYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3NvYXAvZ3NvYXBfMi44LjEyLmJiCkBAIC0wLDAgKzEsNDIgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBnU09BUCB0b29sa2l0IHByb3ZpZGVzIGEgdW5pcXVlIFNPQVAtdG8tQy9DKysgbGFuZ3VhZ2UgYmluZGluZyBcCitmb3IgdGhlIGRldmVsb3BtZW50IG9mIFNPQVAgV2ViIFNlcnZpY2VzIGFuZCBjbGllbnRzLiIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWIzMzhiMDhiMWI2MWUwMjhlMGYzOTlhNGRlMjVlNThmIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0yLyR7QlBOfV8ke1BWfS56aXAiCitTUkNfVVJJW21kNXN1bV0gPSAiNTcwMGQyNmZjNmZlMzA3M2QwMzgzNDllMTljMzY0MGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTFlZWYxMTg1NDRmYTg0NmY0ZDJkZWEyZWVkZjkxYzg0YzQ2YTFhYmVhZmM1ZWVlM2RjZmY3ODNmNDAxNWEwMCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1BSID0gInIxIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59LTIuOCIKKworUEFSQUxMRUxfTUFLRSA9ICIiCisKK0VYVFJBX09FTUFLRV9jbGFzcy10YXJnZXQgPSAiU09BUD0ke1NUQUdJTkdfQklORElSX05BVElWRX0vc29hcGNwcDIiCisKK0RFUEVORFMgPSAib3BlbnNzbCB6bGliIGZsZXggYmlzb24iCitERVBFTkRTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGdzb2FwLW5hdGl2ZSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9CisgICAgZm9yIGxpYiBpbiBsaWJnc29hcHNzbCBsaWJnc29hcHNzbCsrIGxpYmdzb2FwIGxpYmdzb2FwY2srKyBsaWJnc29hcCsrIGxpYmdzb2FwY2sKKyAgICBkbworICAgICAgICBvZV9saWJpbnN0YWxsIC1DIGdzb2FwICRsaWIgJHtEfSR7bGliZGlyfQorICAgIGRvbmUKK30KKworZG9faW5zdGFsbF9jbGFzcy1uYXRpdmUoKSB7CisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gQklORElSPSR7RH0ke2JpbmRpcn0gaW5zdGFsbAorfQorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vd3NkbDJoICR7YmluZGlyfS9zb2FwY3BwMiIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9IgorRklMRVNfJHtQTn0tc3RhdGljZGV2ID0gIiR7bGliZGlyfSIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9IgorUlJFQ09NTUVORFNfJHtQTn0tZGV2ID0gIiR7UE59LXN0YXRpY2RldiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2hkZHRlbXAtMC4zLWJldGExNS1hdXRvZGV0ZWN0LTcxNzQ3OS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2hkZHRlbXAtMC4zLWJldGExNS1hdXRvZGV0ZWN0LTcxNzQ3OS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOWY4MzgwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaGRkdGVtcC0wLjMtYmV0YTE1LWF1dG9kZXRlY3QtNzE3NDc5LnBhdGNoCkBAIC0wLDAgKzEsOTAgQEAKK0F1dG8tZGV0ZWN0IGRpc2tzIGlmIG5vbmUgc3BlY2lmaWVkCisKK1JlZmVyIHRvOgoraHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD03MTc0NzkKKworZGlmZiAtdXAgaGRkdGVtcC0wLjMtYmV0YTE1L2RvYy9oZGR0ZW1wLjh+IGhkZHRlbXAtMC4zLWJldGExNS9kb2MvaGRkdGVtcC44CistLS0gaGRkdGVtcC0wLjMtYmV0YTE1L2RvYy9oZGR0ZW1wLjh+CTIwMTEtMDgtMTggMDA6MzY6MDUuNjg5MDAxNDcwICswMzAwCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L2RvYy9oZGR0ZW1wLjgJMjAxMS0wOC0xOCAwMDo0NDo0Ni43NTMwMDYyNTMgKzAzMDAKK0BAIC0xOSw3ICsxOSw3IEBACisgaGRkdGVtcCBcLSBVdGlsaXR5IHRvIG1vbml0b3IgaGFyZCBkcml2ZSB0ZW1wZXJhdHVyZQorIC5TSCBTWU5PUFNJUworIC5CIGhkZHRlbXAKKy0uUkkgWyBvcHRpb25zIF0gIiBbdHlwZTpdZGlzayIgLi4uCisrLlJJIFsgb3B0aW9ucyBdICIgW1t0eXBlOl1kaXNrXSIgLi4uCisgLlNIICJERVNDUklQVElPTiIKKyAuUFAKKyAuQiBoZGR0ZW1wIAorQEAgLTM1LDcgKzM1LDggQEAgWW91IGNhbiBzcGVjaWZ5IG9uZSBvciBtb3JlIGRldmljZSBkcml2ZQorIHdpdGggYQorIC5CIHR5cGUKKyBsaWtlIFBBVEEsIFNBVEEgb3IgU0NTSSB0byBmb3JjZSBoZGR0ZW1wIHRvbyB1c2Ugb25lIG9mIHRoZXNlIHR5cGUKKy0oYmVjYXVzZSBkZXRlY3Rpb24gY2FuIGZhaWwpLgorKyhiZWNhdXNlIGRldGVjdGlvbiBjYW4gZmFpbCkuIElmIG5vIHBhdGhzIGFyZSBzcGVjaWZpZWQsIGF1dG9kZXRlY3Rpb24gb2YKKytpbnN0YWxsZWQgZHJpdmVzIGlzIGF0dGVtcHRlZC4KKyAKKyAKKyAuU0ggIk9QVElPTlMiCitkaWZmIC11cCBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2hkZHRlbXAuY34gaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9oZGR0ZW1wLmMKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2hkZHRlbXAuY34JMjAxMS0wOC0xOCAwMDozNjowNS42Mzg5OTY4NjEgKzAzMDAKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2hkZHRlbXAuYwkyMDExLTA4LTE4IDAwOjM1OjU1LjQ4NTA2MDc5OCArMDMwMAorQEAgLTU0LDYgKzU0LDcgQEAKKyAjaW5jbHVkZSA8bGludXgvaGRyZWcuaD4KKyAjaW5jbHVkZSA8Y3R5cGUuaD4KKyAjaW5jbHVkZSA8YXNzZXJ0Lmg+CisrI2luY2x1ZGUgPGdsb2IuaD4KKyAKKyAvLyBBcHBsaWNhdGlvbiBzcGVjaWZpYyBpbmNsdWRlcworICNpbmNsdWRlICJhdGEuaCIKK0BAIC0yNTUsNiArMjU2LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgeworICAgaW50IAkJcmV0ID0gMDsKKyAgIGludCAgICAgICAgICAgc2hvd19kYjsKKyAgIHN0cnVjdCAgICAgICAgZGlzayAqIGxkaXNrczsKKysgIGdsb2JfdCAgICAgICAgZGlza2dsb2I7CisgCisgICBiYWNrdHJhY2Vfc2lnc2VndigpOworICAgYmFja3RyYWNlX3NpZ2lsbCgpOworQEAgLTQxOSwxMSArNDIxLDYgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgeworICAgICAgZXhpdCgwKTsKKyAgIH0KKyAgIAorLSAgaWYoYXJnYyAtIG9wdGluZCA8PSAwKSB7CistICAgIGZwcmludGYoc3RkZXJyLCBfKCJUb28gZmV3IGFyZ3VtZW50czogeW91IG11c3Qgc3BlY2lmeSBvbmUgZHJpdmUsIGF0IGxlYXN0LlxuIikpOworLSAgICBleGl0KDEpOworLSAgfQorLQorICAgaWYoZGVidWcpIHsKKyAgICAgLyogICAgYXJnYyA9IG9wdGluZCArIDE7Ki8KKyAgICAgcXVpZXQgPSAxOworQEAgLTQzNCw2ICs0MzEsMjMgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgeworICAgICBleGl0KDEpOworICAgfQorIAorKyAgbWVtc2V0KCZkaXNrZ2xvYiwgMCwgc2l6ZW9mKGdsb2JfdCkpOworKyAgaWYoYXJnYyAtIG9wdGluZCA8PSAwKSB7CisrICAgIGlmKGdsb2IoIi9kZXYvW2hzXWRbYS16XSIsIDAsIE5VTEwsICZkaXNrZ2xvYikgPT0gMCkgeworKyAgICAgIGFyZ2MgPSBkaXNrZ2xvYi5nbF9wYXRoYzsKKysgICAgICBhcmd2ID0gZGlza2dsb2IuZ2xfcGF0aHY7CisrICAgICAgb3B0aW5kID0gMDsKKysgICAgfSBlbHNlIHsKKysgICAgICBhcmdjID0gMDsKKysgICAgfQorKyAgfQorKworKyAgaWYoYXJnYyAtIG9wdGluZCA8PSAwKSB7CisrICAgIGdsb2JmcmVlKCZkaXNrZ2xvYik7CisrICAgIGZwcmludGYoc3RkZXJyLCBfKCJUb28gZmV3IGFyZ3VtZW50czogeW91IG11c3Qgc3BlY2lmeSBvbmUgZHJpdmUsIGF0IGxlYXN0LlxuIikpOworKyAgICBleGl0KDEpOworKyAgfQorKworICAgaW5pdF9idXNfdHlwZXMoKTsKKyAKKyAgIC8qIGNvbGxlY3QgZGlza3MgaW5mb3JtYXRpb25zICovCitAQCAtNTI3LDYgKzU0MSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pIHsKKyAgIGVsc2UgeworICAgICBkb19kaXJlY3RfbW9kZShsZGlza3MpOworICAgfQorKyAgZ2xvYmZyZWUoJmRpc2tnbG9iKTsKKyAKKyAgIHJldHVybiByZXQ7CisgfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaGRkdGVtcC1uby1ubHMtc3VwcG9ydC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2hkZHRlbXAtbm8tbmxzLXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY2YjljMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2hkZHRlbXAtbm8tbmxzLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSw2NiBAQAorZGlmZiAtcnUgaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvY29uZmlndXJlLmluIGhkZHRlbXAtMC4zLWJldGExNS9jb25maWd1cmUuaW4KKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9jb25maWd1cmUuaW4JMjAwNS0xMC0xNyAyMDoxNDoxOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvY29uZmlndXJlLmluCTIwMDgtMDYtMjcgMDA6MDA6NDYuMDAwMDAwMDAwICswMTAwCitAQCAtMTcsNiArMTcsNyBAQAorICMgYXBwZW5kIHRoZSBob3N0IGFsaWFzIHRvIHRoZSB0b29scyBmb3IgY3Jvc3MgY29tcGlsaW5nCisgQUNfSEVBREVSX1NUREMKKyBBQ19DSEVDS19IRUFERVJTKGZjbnRsLmgpCisrQUNfQ0hFQ0tfSEVBREVSUyhpY29udi5oKQorIEFDX0NIRUNLX0hFQURFUlMobmV0aW5ldC9pbi5oKQorIEFDX0NIRUNLX1RZUEUoaW5fYWRkcl90LCAsW0FDX0RFRklORV9VTlFVT1RFRChbaW5fYWRkcl90XSwgW3VpbnQzMl90XSwgW0RlZmluZSB0byAndWludDMyX3QnIGlmIDxuZXRpbmV0L2luLmg+IGRvZXMgbm90IGRlZmluZS5dKV0sIFsjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPl0pCisgCitAQCAtMjksNiArMzAsOCBAQAorIEFNX0dOVV9HRVRURVhUCisgI0FNX0dOVV9HRVRURVhUKFtleHRlcm5hbF0pCisgCisrQUNfQ0hFQ0tfRlVOQ1MoW2JpbmR0ZXh0ZG9tYWluIHRleHRkb21haW4gaWNvbnZdKQorKworIGRubCByZWFzb25hYmxlIGd1ZXNzZXMgZm9yIHdoZXJlIHN0dWZmIGlzIGluc3RhbGxlZAorIGRubCBpZiB3ZSBkb24ndCBkbyB0aGF0IG5vdywgdGhlIGNvbmZpZy5oIHdpbGwgdXNlICR7cHJlZml4fQorIGRubCBmb3IgREVGQVVMVF9EQVRBQkFTRV9QQVRILgorZGlmZiAtcnUgaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL2hkZHRlbXAuYyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2hkZHRlbXAuYworLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9oZGR0ZW1wLmMJMjAwNi0wNC0xOSAwMzozNzozNS4wMDAwMDAwMDAgKzAxMDAKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2hkZHRlbXAuYwkyMDA4LTA2LTI2IDIzOjU5OjQwLjAwMDAwMDAwMCArMDEwMAorQEAgLTI3Niw4ICsyNzYsMTIgQEAKKyAgIGJhY2t0cmFjZV9zaWdidXMoKTsKKyAKKyAgIHNldGxvY2FsZSAoTENfQUxMLCAiIik7CisrI2lmZGVmIEhBVkVfQklORFRFWFRET01BSU4KKyAgIGJpbmR0ZXh0ZG9tYWluIChQQUNLQUdFLCBMT0NBTEVESVIpOworKyNlbmRpZgorKyNpZmRlZiBIQVZFX1RFWFRET01BSU4KKyAgIHRleHRkb21haW4gKFBBQ0tBR0UpOworKyNlbmRpZgorICAgCisgICBzaG93X2RiID0gZGVidWcgPSBudW1lcmljID0gcXVpZXQgPSB3YWtldXAgPSBhZl9oaW50ID0gc3lzbG9nX2ludGVydmFsID0gMDsKKyAgIHVuaXQgPSBERUZBVUxUOworZGlmZiAtcnUgaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL3V0ZjguYyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL3V0ZjguYworLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy91dGY4LmMJMjAwNi0wNC0xOSAwMzozNzowMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL3V0ZjguYwkyMDA4LTA2LTI3IDAwOjAyOjE1LjAwMDAwMDAwMCArMDEwMAorQEAgLTIzLDcgKzIzLDkgQEAKKyAKKyAvLyBTdGFuZGFyZCBpbmNsdWRlcworICNpbmNsdWRlIDxzdGRsaWIuaD4KKysjaWZkZWYgSEFWRV9JQ09OVl9ICisgI2luY2x1ZGUgPGljb252Lmg+CisrI2VuZGlmCisgI2luY2x1ZGUgPGxhbmdpbmZvLmg+CisgI2luY2x1ZGUgPGxvY2FsZS5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KK0BAIC0zNCw2ICszNiw3IEBACisgCisgc3RhdGljIGNoYXIgKmljb252X2Zyb21fdXRmOF90b19sb2NhbGUoY29uc3QgY2hhciAqc3RyaW5nLCBjb25zdCBjaGFyKiBmYWxsYmFja19zdHJpbmcpCisgeworKyNpZmRlZiBIQVZFX0lDT05WCisgICBjb25zdCBzaXplX3QgYnVmZmVyX2luYyA9IDgwOwkvLyBJbmNyZW1lbnQgYnVmZmVyIHNpemUgaW4gODAgYnl0ZXMgc3RlcAorICAgY29uc3QgY2hhciAqY2hhcnNldDsKKyAgIGljb252X3QgY2Q7CitAQCAtOTMsNiArOTYsOCBAQAorICAgaWYgKGRlc3RfYnVmZmVyICE9IE5VTEwpCisgICAgIGZyZWUoZGVzdF9idWZmZXIpOyAgCQkvLyBmcmVlIGJ1ZmZlcgorICAgZnJlZShzcmNfYnVmZmVyKTsJCQkvLyBmcmVlIHN0cmluZworKyNlbmRpZgorKworICAgcmV0dXJuIHN0cmR1cChmYWxsYmFja19zdHJpbmcpOyAJLy8gYW5kIHJldHVybiBmYWxsYmFjayBzdHJpbmcKKyB9CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9oZGR0ZW1wLmRiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaGRkdGVtcC5kYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjBjYmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaGRkdGVtcC5kYgpAQCAtMCwwICsxLDUzMSBAQAorIworIyBJbnNlcnQgYSByZWd1bGFyIGV4cHJlc3Npb24gZm9yIHN1cHBvcnQgb2YgdGhlIG1vZGVsIG9yIHRoZSBzZXJpZSBvZiB5b3VyIGhhcmQgZHJpdmUuCisjIElmIHlvdSBkb24ndCBrbm93IHdoYXQgdG8gcHV0IGluIHRoZSBzZWNvbmQgZmllbGQsIHB1dCB0aGUgbnVtYmVyCisjIHRoYXQgYXBwZWFycyBtb3N0IG9mdGVuIGZvciB5b3VyIGJyYW5kIDpvKQorIyBBIHZhbHVlIG9mIHplcm8gbWVlbnMgdGhhdCB3ZSBrbm93IHRoYXQgdGhlIGRyaXZlIGRvZXNuJ3QgaGF2ZQorIyBhIHRlbXBlcmF0dXJlIHNlbnNvciAoeW91IGNhbiBzZXQgdGhlIHVuaXQgdG8gQyBvciBGKS4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgVGhlIGZvbGxvd2luZyBsaXN0IHdhcyBmb3VuZCBhdCAoaHR0cDovL3d3dy5hbG1pY28uY29tL2ZvcnVtaGFyZGRpc2tzLnBocCkKKyMgSWYgeW91ciBkcml2ZSBpcyBpbiB0aGUgbGlzdCBzZW5kIG1lIGEgbWFpbC4KKyMKKyMgTWFudWZhY3R1cmVyCSBNb2RlbAkgU2l6ZQlOb3RlcworIyBGVUpJVFNVIEZVSklUU1UgTVBGMzEwMkFIIDEwLjBHQgorIyBGVUpJVFNVIEZVSklUU1UgTVBHMzIwNEFIIEUgMjAuMEdCCisjIEZVSklUU1UgRlVKSVRTVSBNUEczMzA3QVQgMzAuMEdCCisjIEZVSklUU1UgRlVKSVRTVSBNUEczNDA5QUggNDAuMEdCCisjIEZVSklUU1UgRlVKSVRTVSBNUEczNDA5QUggRUYgNDAuMEdCCisjIEhJVEFDSEkgSElUQUNISV9ESzIzQ0EtMTAgOS44R0IKKyMgSElUQUNISSBISVRBQ0hJX0RLMjNDQS0xNSAxNC43R0IKKyMgU0FNU1VORyBTQU1TVU5HIFNWMzAxMkggMjkuNEdCCisjIFNFQUdBVEUgU1QzMTAyMTBBIDEwLjBHQgorIyBTRUFHQVRFIFNUMzEwMjExQSA5LjhHQgorIyBTRUFHQVRFIFNUMzEwMjE1QSAxMC4wR0IKKyMgU0VBR0FURSBTVDMxNTMyMEEgMTQuOUdCCisjIFNFQUdBVEUgU1QzMjA0MTBBIDE5LjZHQgorIyBTRUFHQVRFIFNUMzIwNDEzQSAxOS42R0IKKyMgU0VBR0FURSBTVDMyMDQyMEEgMTkuOUdCCisjIFNFQUdBVEUgU1QzMzA2MTBBIDI5LjNHQgorIyBTRUFHQVRFIFNUMzMwNjIwQSAyOS4zR0IKKyMgU0VBR0FURSBTVDMzMDYyMUEgMjkuM0dCCisjIFNFQUdBVEUgU1QzMzA2MzBBIDI5LjlHQgorIyBTRUFHQVRFIFNUMzQwMDE2QSAzOS4xR0IKKyMgU0VBR0FURSBTVDM0MDgxMEFDRSAzOS4xR0IKKyMgU0VBR0FURSBTVDM4MDAyMEFDRSA3OC4yR0IKKyMgV0VTVEVSTiBESUdJVEFMIFdEQyBBQzIxMDIwMEQgMTAuMEdCCisjIFdFU1RFUk4gRElHSVRBTCBXREMgQUMyOTEwMEQgOC45R0IKKyMgV0VTVEVSTiBESUdJVEFMIFdEQyBBQzQyMDQwMEQgMTkuOUdCCisjIFdFU1RFUk4gRElHSVRBTCBXREMgV0QxMDJBQSAxMC4wR0IKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyBFeGNlbFN0b3IgZHJpdmVzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjICJFeGNlbFN0b3IgVGVjaG5vbG9neSBDVDIxNSIJICA/Pz8gPyAiRXhjZWxTdG9yIENUMjE1IgorIkV4Y2VsU3RvciBUZWNobm9sb2d5IEozLjAiIDE5NCBDICJFeGNlbFN0b3IgVGVjaG5vbG9neSAzeHkgKHh5IEdCKSIKKyJFeGNlbFN0b3IgVGVjaG5vbG9neSBKNi4wIiAxOTQgQyAiRXhjZWxTdG9yIFRlY2hub2xvZ3kgNnh5ICh4eSBHQikiCisiRXhjZWxTdG9yIFRlY2hub2xvZ3kgSjY4MCIgMTk0IEMgIkV4Y2VsU3RvciBUZWNobm9sb2d5IEo2ODAgKDgwIEdCKSIKKyJFeGNlbFN0b3IgVGVjaG5vbG9neSBKODYwIiAxOTQgQyAiRXhjZWxTdG9yIFRlY2hub2xvZ3kgSjg2MCAoNjAgR0IpIgorIkV4Y2VsU3RvciBUZWNobm9sb2d5IEo4ODAiIDE5NCBDICJFeGNlbFN0b3IgVGVjaG5vbG9neSBKODgwICg4MCBHQikiCisKKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIEZ1aml0c3UgZHJpdmVzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisiRlVKSVRTVSBNSE0yMTAwQVQiCQkwICAgIEMJIkZ1aml0c3UgTUhNMjEwMEFUIgorCisiRlVKSVRTVSBNSE4yMTUwQVQiCQkxOTQgIEMJIkZ1aml0c3UgTUhOMjE1MEFUIgorIkZVSklUU1UgTUhOMjIwMEFUIgkJMTk0ICBDCSJGdWppdHN1IE1ITjIyMDBBVCIKKyJGVUpJVFNVIE1ITjIzMDBBVCIJCTE5NCAgQwkiRnVqaXRzdSBNSE4yMzAwQVQiCisKKyJGVUpJVFNVIE1IUjIwMjBBVCIJCTE5NCAgQwkiRnVqaXRzdSBNSFIyMDIwQVQiCisiRlVKSVRTVSBNSFIyMDMwQVQiCQkxOTQgIEMJIkZ1aml0c3UgTUhSMjAzMEFUIgorCisiRlVKSVRTVSBNSFMyMDMwQVQiCQkxOTQgIEMJIkZ1aml0c3UgTUhTMjAzMEFUIgorIkZVSklUU1UgTUhTMjA0MEFUIgkJMTk0ICBDCSJGdWppdHN1IE1IUzIwNDBBVCIKKyJGVUpJVFNVIE1IUzIwNjBBVCIJCTE5NCAgQwkiRnVqaXRzdSBNSFMyMDYwQVQgKEFwcGxlIFBvd2VyQm9vayBHNCkiCisKKyJGVUpJVFNVIE1IVDIwMzBBQyIJCTE5NCAgQwkiRnVqaXRzdSBNb2JpbGUgMzBHQiwgMk1CLCA0MjAwUlBNIChhdXRvbW90aXZlKSIKKworIkZVSklUU1UgTUhUMjAzMEFUIgkJMTk0ICBDCSJGdWppdHN1IE1IVDIwMzBBVCIKKyJGVUpJVFNVIE1IVDIwNDBBSCIJCTE5NCAgQwkiRnVqaXRzdSBNSFQyMDQwQUgiCisiRlVKSVRTVSBNSFQyMDQwQVQiCQkxOTQgIEMJIkZ1aml0c3UgTUhUMjA0MEFUIgorIkZVSklUU1UgTUhUMjA2MEFIIgkJMTk0ICBDCSJGdWppdHN1IE1IVDIwNjBBSCIKKyJGVUpJVFNVIE1IVDIwNjBBVCIJCTE5NCAgQwkiRnVqaXRzdSBNSFQyMDYwQVQiCisiRlVKSVRTVSBNSFQyMDgwQUgiCQkxOTQgIEMJIkZ1aml0c3UgTUhUMjA4MEFIIgorCisiRlVKSVRTVSBNSFUyMTAwQVQiCQkxOTQgIEMJIkZ1aml0c3UgTUhVMjEwMEFUIDEwMEdCLCA4TUIgKDQyMDBSUE0pIgorCisiRlVKSVRTVSBNSFYyMTAwQUgiCQkxOTQgIEMJIkZVSklUU1UgTUhWMjEwMEFIIiAKKyJGVUpJVFNVIE1IVjIxMDBBVCIJCTE5NCAgQwkiRlVKSVRTVSBNSFYyMTAwQVQiIAorIkZVSklUU1UgTUhWMjEwMEJIIgkJMTk0ICBDICAiRlVKSVRTVSBNSFYyMTAwQkgiIAorIkZVSklUU1UgTUhWMjA2MEFIIgkJMTk0ICBDICAiRlVKSVRTVSBNSFYyMDYwQUgiCisiRlVKSVRTVSBNSFYyMDgwW0FCXUgiCQkxOTQgIEMJIkZVSklUU1UgTUhWMjA4MEFIIgorCisiRlVKSVRTVSBNUEYzMjA0QUgiCQkxOTQgIEMJIkZ1aml0c3UgTVBGMzIwNEFIIgorCisiRlVKSVRTVSBNUEczMjA0QVQuKiIJCTE5NCAgQwkiRnVqaXRzdSBNUEczMjA0QVQiCisiRlVKSVRTVSBNUEczMzA3QVQiCQkxOTQgIEMJIkZ1aml0c3UgTVBHMzMwN0FUIgorIkZVSklUU1UgTVBHMzQwOUFULioiCQkxOTQgIEMJIkZ1aml0c3UgTVBHMzQwOUFUIEUiCisiRlVKSVRTVSBNUEczNDA5QUguKiIJCTE5NCAgQwkiRnVqaXRzdSBNUEczNDA5QUggRSIKKyJGVUpJVFNVIE1QRzMyMDRBSCIJCTE5NCAgQwkiRnVqaXRzdSBNUEczMjA0QUgiCisiRlVKSVRTVSBNUEczMTAyQVQgRSIJCTE5NCAgQwkiRlVKSVRTVSBNUEczMTAyQVQgRSIKKworCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMgSGl0YWNoaSBkcml2ZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyJISVRBQ0hJX0RLMTNGQS00MEIiCQkJMTk0ICBDCSJIaXRhY2hpIERLMTNGQS00MEIiCisiSElUQUNISV9ESzIyOEEtNjUiCQkJMCAgICBDCSJIaXRhY2hpIERLMjI4QS02NSIKKyJISVRBQ0hJX0RLMjNDQS0oMTV8MjB8MzB8MzBCfDc1KSIJMTk0ICBDCSJIaXRhY2hpIERLMjNDQSBzZXJpZXMiCisiSElUQUNISV9ESzIzREEtWzIzNF0wIgkJCTE5NCAgQwkiSGl0YWNoaSBESzIzREEgc2VyaWVzIgorIkhJVEFDSElfREsyM0VBLVsyMzQ2XTAiCQkxOTQgIEMJIkhpdGFjaGkgREsyM0VBIHNlcmllcyIKKyJISVRBQ0hJX0RLMjNFQi00MCIJCQkxOTQgIEMJIkhpdGFjaGkgREsyM0VCIHNlcmllcyIKKyJISVRBQ0hJX0RLMjNGQS1bNDY4XTAiCQkJMTk0ICBDCSJIaXRhY2hpIERLMjNGQSBzZXJpZXMiCisiSElUQUNISV9ESzIzRkItWzQ2XTAiCQkJMTk0ICBDCSJIaXRhY2hpIERLMjNGQiBzZXJpZXMiCisKKyJIRFM3MjI1MTZWTEFUWzI4XTAiCQkxOTQgIEMJIkhpdGFjaGkgRGVza3N0YXIgN0syNTAgMTYwR0IgMi84TUIgY2FjaGUiCisiSERTNzIyNTI1VkxBVDgwIgkJMTk0ICBDCSJIaXRhY2hpIERlc2tzdGFyIDdLMjUwIDIwMC8yNTBHQiwgNzIwMFJQTSwgOE1CLCBQYXJhbGxlbC1BVEEiCisiSERTNzIyNTEyVkxBVDgwIgkJMTk0ICBDCSJIaXRhY2hpIERlc2tzdGFyIDdLMjUwIDgwR0IiCisiSERTNzIyNTQwVkxBVDIwIgkJMTk0ICBDCSJIaXRhY2hpIERlc2tzdGFyIDdLMjUwLCA0MEdCLCA3MjAwUlBNLCAyTUIgY2FjaGUiCisiSERTNzIyNTgwVkxBVDIwIgkJMTk0ICBDCSJEZXNrc3RhciA3SzI1MCA2MEdCIgorIkhEUzcyNDA0MEtMU0E4MCIJCTE5NCAgQwkiSGl0YWNoaSBEZXNrc3RhciA3SzI1MCA0MDBHQiwgNzIwMFJQTSwgOE1CLCBTZXJpYWwtQVRBIgorIkhEUzcyODA4MFBMQVQyMCIJCTE5NCAgQwkiSGl0YWNoaSBEZXNrc3RhciA3SzgwIDgwR0IiCisKKyJIRFM3MjI1MjVWTFNBODAiCQkxOTQgIEMJIkhpdGFjaGkgRGVza3N0YXIgN0syNTAgMjUwR0IsIDcyMDBSUE0sIDhNQiwgU0FUQSIKKyJIRFM3MjI1MTZWTFNBODAiICAgICAgICAgICAgICAgMTk0ICBDICAiSGl0YWNoaSBEZXNrc3RhciA3SzI1MCAxNjBHQiA4TW8gY2FjaGUgU0FUQSIKKyJIRFM3MjI1ODBWTFNBODAiCQkxOTQgIEMJIkhpdGFjaGkgRGVza3N0YXIgN0syNTAgODBHQiBTQVRBIgorIkhEUzcyODA0MFBMQVQyMCIJCTE5NCAgQwkiSGl0YWNoaSBEZXNrc3RhciA3SzgwIDQwR0IiCisKKyJIRFM3MjQwNDBLTEFUODAiICAgICAgICAgICAgICAgMTk0ICBDICAiSGl0YWNoaSBEZXNrc3RhciA3SzQwMCAgNDAwR0IgOE1vIGNhY2hlIFBBVEEiCisKKyJIRFQ3MjI1KDE2fDI1KURMQVQ4MCIJCTE5NCAgQwkiSGl0YWNoaSBEZXNrc3RhciBUN0syNTAgc2VyaWVzLCA3MjAwUlBNLCA4TUIsIFBBVEEiCisiSERUNzIyNTE2RExBMzgwIFY0M08iCQkxOTQgIEMJIkhpdGFjaGkgVDdLMjUwIFNBVEEiCisiSERUNzIyNTI1RExBMzgwIiAgICAgICAgICAgICAgIDE5NCAgQyAgIkhpdGFjaGkgRGVza3N0YXIgVDdLMjUwIDI1MEdCIDhNbyBjYWNoZSBTQVRBSUkiCisiSERUNzI1MDUwVkxBMzYwIiAgICAgICAgICAgICAgIDE5NCAgQyAgIkhpdGFjaGkgRGVza3N0YXIgVDdLNTAwIDUwMEdCLCA3MjAwUlBNLCAxNk1CLCBTQVRBIElJIgorCisiSFRFNzIxMDEwRzlBVDAwIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgMTAwR0IgKDcyMDBSUE0pIgorIkhURTcyNjA2ME05QVQwMCIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDYwR0IgKDcyMDBSUE0pIgorIkhUUzQyNDAzME05QVQwMCIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDMwR0IgKDQyMDBSUE0pIgorIkhUUzQyNDA0ME05QVQwMCIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDRLNDAgNDBHQiAyTUIgY2FjaGUgKDQyMDBSUE0pIgorIkhUUzU0MTAxMEc5U0EwMCIJCTE5NCAgQyAgIkhpdGFjaGkgVHJhdmVsc3RhciAxMDBHQiBTQVRBIgorIkhUUzU0MTA0MEc5QVQwMCIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDQwR0IgKDU0MDBSUE0pIgorIkhUUzU0MTA4MEc5QVQwMCIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDgwR0IgKDU0MDBSUE0pIgorIkhUUzU0ODAyME05QVQwMCIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDIwR0IgKDU0MDBSUE0pIgorIkhUUzU0ODAzME05QVQwMCIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDMwR0IgKDU0MDBSUE0pIgorIkhUUzU0ODA0ME05QVQwMCIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDQwR0IgKDU0MDBSUE0pIgorIkhUUzU0ODA2ME05QVQwMCIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDYwR0IgKDU0MDBSUE0pIgorIkhUUzU0ODA4ME05QVQwMCIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDgwR0IgKDU0MDBSUE0pIgorIkhUUzcyMTA4MEc5QVQwMCIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDdLMTAwIDgwR0IgKDcyMDBSUE0pIgorIkhUUzcyNjA2ME05QVQwMCIJCTE5NCAgQwkiSGl0YWNoaSBUcmF2ZWxzdGFyIDYwR0IiCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyBJQk0gZHJpdmVzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgREpTQSBzZXJpZSBpcyB1c2luZyBGMGggY29tbWFuZCB0byByZXBvcnQgdGVtcGVyYXR1cmUgYW5kIGFsc28gaGF2ZQorIyBTTUFSVCBjYXBhYmlsdGllcyBidXQgaXQgd2FzIHJlcG9ydGVkIG5vdCB0byB3b3JrLgorIyAiREpTQS0yKDMwfDMyfDEwfDIwfDA1KSIJMCAgICBDCSJJQk0gVHJhdmVsc3RhciAyMEdOLCAzMkdILCAzMEdUIHNlcmllcyIKKworIklCTS1EQVJBLTIxMjAwMCIJCTAgICAgQwkiSUJNIFRyYXZlbHN0YXIgMTJHTiIKKyJJQk0tRFRUQS0zNSoiCQkJMCAgICBDCSJJQk0gRGVza3N0YXIgMTZHUCBzZXJpZSIKKworIyBhY2NvcmRpbmcgdG8gc3BlY2lmaWNhdGlvbnMgdGhleSBkbyBub3Qgc2VlbXMgdG8gaGF2ZSBzZW5zb3IKKyMgYnV0IEkgcHJlZmVyIHdhaXRpbmcgZm9yIGEgcmVwb3J0CisjIklCTS1EVFRBLTM3KiIJCQkwICAgIEMJIklCTSBEZXNrc3RhciAxNEdYUCBzZXJpZSIKKworIklCTS1ESk5BLTM1LioiCQkJMjMxICBDCSJJQk0gRGVza3N0YXIgMjUgR1Agc2VyaWUiCisiSUJNLURKTkEtMzcuKiIJCQkyMzEgIEMJIklCTSBEZXNrc3RhciAyMiBHWFAgc2VyaWUiCisiSUJNLURIRUEtKDM0MzMwfDM2NDgwKSIJMCAgICBDCSJJQk0gRGVza3N0YXIgNSBzZXJpZSIKKyJJQk0tREhFQS0oMzQzMzF8MzY0ODF8Mzg0NTEpIgkwICAgIEMJIklCTSBEZXNrc3RhciA4IHNlcmllIgorIklCTS1EUFRBLTM3LioiCQkJMjMxICBDCSJJQk0gRGVza3N0YXIgMzRHWFAgc2VyaWUiCisiSUJNLURQVEEtMzUuKiIJCQkyMzEgIEMJIklCTSBEZXNrc3RhciAzN0dQIHNlcmllIgorIklCTS1EVExBLTMwWzU3XTBbMTIzNDY3XVswNV0iCTE5NCAgQwkiSUJNIERlc2tzdGFyIDQwR1YgJiA3NUdYUCBzZXJpZXMiCisiSUMyNU4wWzEyMzRdMEFUQ1MwNC0wIgkJMTk0ICBDCSJJQk0gVHJhdmVsc3RhciA0MEdOIHNlcmllIgorIklDMjVOMFsyNF0wQVRDW1NYXTA1LTAiCTE5NCAgQwkiSUJNIFRyYXZlbHN0YXIgNDBHTlggc2VyaWUiCisiSUMyNU4wKDEwfDE1fDIwfDMwKUFUREEwNC0wIgkxOTQgIEMJIklCTSBUcmF2ZWxzdGFyIDMwR04gc2VyaWUiCisiSUMyNU4wWzIzNDY4XTBBVE1SMDQqIgkJMTk0ICBDCSJIaXRhY2hpIFRyYXZlbHN0YXIgODBHTiIKKyJJQzI1VDA0OEFUREEwNS0wIgkJMTk0ICBDCSJJQk0gVHJhdmVsc3RhciA0OEdIIHNlcmllIgorIklDMjVUMDYwQVRDW1NYXTA1LTAiCQkxOTQgIEMJIklCTSBUcmF2ZWxzdGFyIDYwR0ggc2VyaWUiCisiSUMzNUwwWzEyMzQ2XTBBVkVSMDciCQkxOTQgIEMJIklCTSBEZXNrc3RhciA2MEdYUCBzZXJpZSIKKyJJQzM1TFswMV1bMDI0NjhdMEFWVltBTl0wNyoiCTE5NCAgQwkiSUJNIERlc2tzdGFyIDEyMEdYUCBzZXJpZSIgIAorIklDMzVMWzAxXVsyMzY4OV0wQVZWMjA3KiIJMTk0ICBDCSJJQk0gRGVza3N0YXIgMTgwR1hQIHNlcmllIgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIE1heHRvciBkcml2ZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMiTWF4dG9yIDJCMFswMTJdWzA0NTY4XUgxIgkJCQk/Pz8gIEMJIk1heHRvciBGaXJlYmFsbCA1NDFEWCIKKyJNYXh0b3IgMkYwWzIzNF0wW0xKXTAiCQkJCQkxOTQgIEMJIk1heHRvciBGaXJlYmFsbCAzIiAKKyMgd2hpY2ggb25lIG11c3QgSSB0cnVzdCA/CisjIk1heHRvciA0RDA0MEgyIgkJCQkJOSAgICBDCSJNYXh0b3IgRGlhbW9uZE1heCBENTQwWC00RCIKKyMiTWF4dG9yIDREMDQwSDIiCQkJCQkwICAgIEMJIk1heHRvciA0RDA0MEgyIgorIyJNYXh0b3IgNEQwODBINCIJCQkJCTEyICAgQwkiTWF4dG9yIERpYW1vbmRNYXggRDU0MFgtNEQiCisjIk1heHRvciA0RDA2MEgzIgkJCQkJMTIgICBDCSJNYXh0b3IgRGlhbW9uZE1heCBENTQwWC00RCIKKyMiTWF4dG9yIDREMDgwSDQiCQkJCQk5ICAgIEMJIk1heHRvciBEaWFtb25kTWF4IEQ1NDBYLTREIgorIk1BWFRPUiA0SzBbNDY4XTBIWzIzNF0iCQkJCTE5NCAgQwkiTWF4dG9yIERpYW1vbmRNYXggRDU0MFggc2VyaWUiCisiTUFYVE9SIDRLMDIwSDEiCQkJCQkxOTQgIEMJIk1heHRvciA0SzAyMEgxIgorIk1heHRvciA0QTMwMEowIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgIEMgICJNYXh0b3IgTWF4TGluZSBJSSAzMDBHQiA1NDAwUlBNIgorIk1heHRvciA0W1JBXSgyNXwxNnwxMnwwOHwwNikwW0xKXTAiCQkJMTk0ICBDCSJNYXh0b3IgRGlhbW9uZE1heCAxNiIKKyJNYXh0b3IgNSgxMDI0fDEzNjl8MjA0OXwyNzMyfDMwNzN8NDA5OClVKDJ8M3w0fDZ8OCkiCTAgICAgQwkiTWF4dG9yIERpYW1vbmRNYXggUGx1cyA0MCIKKyJNYXh0b3IgNUEyNTBKMCIJCQkJCTE5NCAgQwkiTWF4dG9yIE1hWGxpbmUgSUkgMjUwR0IgNTQwMFJQTSIKKyJNYXh0b3IgNUEzMDBKMCIJCQkJCTE5NCAgQwkiTWF4dG9yIDVBMzAwSjAiCisiTWF4dG9yIDVUMFsyNF0wSFsyNF0iCQkJCQkwICAgIEMJIk1heHRvciBEaWFtb25kTWF4IFBsdXMgNjAiCisiTWF4dG9yIDZFMFsyMzRdMEwwIgkJCQkJMTk0ICBDCSJNYXh0b3IgRGlhbW9uZE1heCBQbHVzIDgiCisiTUFYVE9SIDZMMFsyNDY4XTBbTEpdWzEyMzRdIgkJCQkxOTQgIEMJIk1heHRvciBEaWFtb25kTWF4IFBsdXMgRDc0MFggZmFtaWx5IgorIk1heHRvciA2VjMyMEYwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmQgTWF4IDEwIFNBVEEgSUkgMzIwIEdCIgorIk1heHRvciA2WSgwNnwwOHwxMnwxNnwyMHwyNSkwW0xQTV0wIgkJCTE5NCAgQwkiTWF4dG9yIERpYW1vbmRNYXggUGx1cyA5IiAKKyJNYXh0b3IgN0wzMDBbUlNdMCIJCQkJCTE5NCAgQyAgIk1heHRvciA3TDMwMFIwIE1heExpbmUrSUlJIDMwMEdCIDcyMDBycG0iCisiTWF4dG9yIDdZMjUwW1BNXTAiCQkJCQkxOTQgIEMJIk1heHRvciBNYVhMaW5lIFBsdXMgSUkgMjUwR0IgNzIwMFJQTSIKKyJNYXh0b3IgOTQwOThVOCIJCQkJCTExICAgQwkiTWF4dG9yIERpYW1vbmRNYXggNDAgOTQwOThVOCIKKworIyJNYXh0b3IgNihCfEwpKDA4fDEyfDE2fDIwfDI1fDMwKTBbUlNQTV0wIgkJMTk0ICBDCSJNYXh0b3IgRGlhbW9uZE1heCBQbHVzIDEwIgorIk1heHRvciA2QjA4ME0wIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgODBHQiA4TUIgU0FUQSIKKyJNYXh0b3IgNkIxMjBNMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDEyMEdCIDhNQiBTQVRBIgorIk1heHRvciA2QjE2ME0wIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMTYwR0IgOE1CIFNBVEEiCisiTWF4dG9yIDZCMTYwUDAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAxNjBHQiA4TUIgQVRBLzEzMyIKKyJNYXh0b3IgNkIyMDBNMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDIwMEdCIDhNQiBTQVRBIgorIk1heHRvciA2QjIwMFAwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMjAwR0IgOE1CIEFUQS8xMzMiCisiTWF4dG9yIDZCMjUwUjAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAyNTBHQiAxNk1CIEFUQS8xMzMiCisiTWF4dG9yIDZCMjUwUzAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAyNTBHQiAxNk1CIFNBVEEiCisiTWF4dG9yIDZCMzAwUjAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAzMDBHQiAxNk1CIEFUQS8xMzMiCisiTWF4dG9yIDZCMzAwUzAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAzMDBHQiAxNk1CIFNBVEEiCisiTWF4dG9yIDZMMDgwTDAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCA4MEdCIDJNQiBBVEEvMTMzIFJvSFMiCisiTWF4dG9yIDZMMDgwTTAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCA4MEdCIDhNQiBTQVRBIFJvSFMiCisiTWF4dG9yIDZMMDgwUDAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCA4MEdCIDhNQiBBVEEvMTMzIFJvSFMiCisiTWF4dG9yIDZMMTIwTTAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAxMjBHQiA4TUIgU0FUQSBSb0hTIgorIk1heHRvciA2TDEyMFAwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMTIwR0IgOE1CIEFUQS8xMzMgUm9IUyIKKyJNYXh0b3IgNkwxNjBNMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDE2MEdCIDhNQiBTQVRBIFJvSFMiCisiTWF4dG9yIDZMMTYwUDAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAxNjBHQiA4TUIgQVRBLzEzMyBSb0hTIgorIk1heHRvciA2TDIwME0wIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMjAwR0IgOE1CIFNBVEEgUm9IUyIKKyJNYXh0b3IgNkwyMDBQMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDIwMEdCIDhNQiBBVEEvMTMzIFJvSFMiCisiTWF4dG9yIDZMMjUwUjAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAyNTBHQiAxNk1CIEFUQS8xMzMgUm9IUyIKKyJNYXh0b3IgNkwyNTBTMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDI1MEdCIDE2TUIgU0FUQSBSb0hTIgorIk1heHRvciA2TDMwMFIwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMzAwR0IgMTZNQiBBVEEvMTMzIFJvSFMiCisiTWF4dG9yIDZMMzAwUzAiCQkJCQkxOTQgIEMgICJNYXh0b3IgRGlhbW9uZE1heCAxMCAzMDBHQiAxNk1CIFNBVEEgUm9IUyIKKyJNYXh0b3IgNlYwODBFMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDgwR0IgOE1CIFNBVEFJSSBSb0hTIgorIk1heHRvciA2VjE2MEUwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMTYwR0IgOE1CIFNBVEFJSSBSb0hTIgorIk1heHRvciA2VjIwMEUwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMjAwR0IgOE1CIFNBVEFJSSBSb0hTIgorIk1heHRvciA2VjI1MEYwIgkJCQkJMTk0ICBDICAiTWF4dG9yIERpYW1vbmRNYXggMTAgMjUwR0IgMTZNQiBTQVRBSUkgUm9IUyIKKyJNYXh0b3IgNlYzMDBGMCIJCQkJCTE5NCAgQyAgIk1heHRvciBEaWFtb25kTWF4IDEwIDMwMEdCIDE2TUIgU0FUQUlJIFJvSFMiCisKKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIFF1YW50dW0gZHJpdmVzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisiUVVBTlRVTSBGSVJFQkFMTFAgQVM0MC4wIgkJMCAgQyAgIlF1YW50dW0gRmlyZWJhbGwgQVM0MCIKKyJRVUFOVFVNIEZJUkVCQUxMIENYMTAuMkEiCQkwICBDICAiUXVhbnR1bSBGaXJlYmFsbCBDWDEwLjJBIgorIyJRVUFOVFVNIEZJUkVCQUxMbGN0MTAgMjAiCQk0ICBDICAiUXVhbnR1bSBGaXJlYmFsbCBDVDEwIDIwR0IiCisjIEkgc3VzcGVjdCB0aGUgUVVBTlRVTSBGSVJFQkFMTF9UTTIxMTBBIHRvIGhhdmUgYSBzZW5zb3IgaW4gZmllbGQgOS4uLgorIyAiUVVBTlRVTSBGSVJFQkFMTF9UTTIxMTBBIgkJOSAgQyAgIlF1YW50dW0gRmlyZWJhbGwgVE0yMTEwQSIKKworCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMgU2Ftc3VuZyBkcml2ZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgc29tZW5vbmUgcmVwb3J0ZWQgYSBwcm9ibGVtIHdpdGggdGhlIFNQODAwNEggd2hpY2ggcmVwb3J0cyBhIHRlbXBlcmF0dXJlCisjIDEwsEMgYmVsb3cgdGhlIGFtYmllbnQgdGVtcGVyYXR1cmUKKyJTQU1TVU5HIEhBKDIwMHwyNTApSkMiCQkJCQkxOTQgIEMJIlNhbXN1bmcgU3BpblBvaW50IFYxMjBDRSBzZXJpZXMiCisiU0FNU1VORyBIRDE2MEpKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgQyAgIlNhbXN1bmcgMTYwR0IsIDcyMDBSUE0sIDhNQiBjYWNoZSwgU0FUQSIgCisiU0FNU1VORyBIRDE2MEpKL1AiCQkJCQkxOTQgIEMJIlNhbXN1bmcgU3BpblBvaW50IFA4MCBTRCAxNjBHQiAoNzIwMFJQTSwgOE1CIGNhY2hlKSIKKyJTQU1TVU5HIEhEWzMwfDMyfDQwXVswMV1MW0RKXSIgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICBDICAiU2Ftc3VuZyBTcGluUG9pbnQgVDEzMyBzZXJpZXMgKDMwMC00MDBNQikiCisiU0FNU1VORyBIRDI1MEtEIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgQyAgIlNhbXN1bmcgU3BpblBvaW50IFQxMzMgc2VyaWVzICgyNTAgTUIgUEFUQSkiCisiU0FNU1VORyBIRDMyMUtKIgkJCQkJMTk0ICBDICAiU2Ftc3VuZyBTcGlucG9pbnQgVDE2NiAoNzIwMFJQTSwgMTZNQiBjYWNoZSkgLSBTQVRBIgorIlNBTVNVTkcgSEQ1MDFMSiIJCQkJCTE5NCAgQyAgIlNhbXN1bmcgSEQ1MDFMSiIKKyJTQU1TVU5HIE1QMCgzMDJ8NDAyfDYwM3w4MDQpSCIJCQkJMTk0ICBDCSJTYW1zdW5nIFNwaW5Qb2ludCBNNDAgMi41aW5jaCIKKyJTQU1TVU5HIFNXMDQzNEEiCQkJCQkwICAgIEMJIlNhbXN1bmcgU1cwNDM0QSIKKyJTQU1TVU5HIFNQKDIwMDF8NDAwMnw2MDAzfDgwMDR8NDBBMilIIgkJCTE5NCAgQwkiU2Ftc3VuZyBTcGluUG9pbnQgUDQwIHNlcmllIgorIlNBTVNVTkcgU1AoMDYxMnwwODAyfDEyMDN8MTYwNHwwODEyfDEyMTN8MTYxNClOIgkxOTQgIEMJIlNhbXN1bmcgU3BpblBvaW50IFA4MCBzZXJpZSIKKyJTQU1TVU5HIFNQKDA2MTJ8MDgwMnwxMjAzfDE2MDR8MDgxMnwxMjEzfDE2MTQpQyIJMTk0ICBDCSJTYW1zdW5nIFNwaW5Qb2ludCBQODAgc2VyaWVzIC0gU0FUQSIKKyJTQU1TVU5HIFNQMDQxMU4iCQkJCQkxOTQgIEMJIlNhbXN1bmcgU3BpblBvaW50IFBMNDAgc2VyaWUiCisiU0FNU1VORyBTUDA4MjJOIgkJCQkJMTk0ICBDCSJTYW1zdW5nIFNQMDgyMk4iCisiU0FNU1VORyBTUCgwODEyfDEyMTN8MTYxNClDIgkJCQkxOTQgIEMJIlNhbXN1bmcgU3BpbnBvaW50IDE2MEcgU0FUQSIKKyJTQU1TVU5HIFNQMlswNV0xNE4iCQkJCQkxOTQgIEMJIlNhbXN1bmcgU3BpblBvaW50IFAxMjAgc2VyaWVzICg3MjAwUlBNLCA4TUIgY2FjaGUpIgorIlNBTVNVTkcgU1AyWzA1XTA0QyIJCQkJCTE5NCAgQwkiU2Ftc3VuZyBTcGluUG9pbnQgUDEyMCBzZXJpZXMgLSBTQVRBIgorIlNBTVNVTkcgU1YwNDMyQSIJCQkJCTAgICAgQwkiU2Ftc3VuZyBTVjA0MzJBIgorIlNBTVNVTkcgU1YzMDAySCIJCQkJCTAgICAgQwkiU2Ftc3VuZyBTcGluUG9pbnQgVjMwIHNlcmllIgorIlNBTVNVTkcgU1YoMjAwMXw0MDAyfDQwMTJ8NjAwM3w4MDA0KUgiCQkJMTk0ICBDCSJTYW1zdW5nIFNwaW5Qb2ludCBWNDAgc2VyaWUiCisjIlNBTVNVTkcgU1YoMDIyMXwwNjAyfDA4MTN8MTIwNClIIgkJCTkgICAgQwkiU2Ftc3VuZyBTcGluUG9pbnQgVjYwIHNlcmllIgorIyJTQU1TVU5HIFNWMTIwNEgiCQkJCQkxOTQgIEMJIlNhbXN1bmcgMTIwRyIKKyJTQU1TVU5HIFNWKDA0MDF8MDgwMnwxMjAzfDE2MDQpTiIJCQkxOTQgIEMJIlNhbXN1bmcgU3BpblBvaW50IFY4MCBzZXJpZSIKKyJTQU1TVU5HIFNWNDAxMkgiCQkJCQkxOTQgIEMJIlNhbXN1bmcgNDBHQiwgNTQwMFJQTSwgMk1CIGNhY2hlIgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIFNlYWdhdGUgZHJpdmVzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisiU2VhZ2F0ZSBUZWNobm9sb2d5IDEyNzVNQiAtIFNUMzEyNzZBIgkwICAgIEMJIlNlYWdhdGUgU1QzMTI3NkEiCisiU1QzNDEyQSIJCQkJMCAgICBDCSJTZWFnYXRlIFNUMzQxMkEiCisiU1QzODY0MUEiCQkJCTAgICAgQwkiU2VhZ2F0ZSBTVDM4NjQxQSIKKyJTVDMxMDAxNEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDMxMDAxNEEiCisiU1QzMTAyMTBBIgkJCQkwICAgIEMJIlNlYWdhdGUgU1QzMTAyMTBBIgorIlNUMzEwMjExQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzEwMjExQSIKKyJTVDMxMDIyMEEiCQkJCTAgICAgQwkiU2VhZ2F0ZSBTVDMxMDIyMEEiCisjIFNFQUdBVEUgU1QzMTMwMjFBIDEzLjBHQgorIlNUMzEzMDIxQSIJCQkJMCAgICBDCSJTZWFnYXRlIFU4IFNUMzEzMDIxQSIKKyJTVDMxMDI0MEEiCQkJCTAgICAgQwkiU2VhZ2F0ZSBNZWRhbGlzdCAxMDI0MCBVbHRyYSBBVEEtMyIKKyJTVDMxNTMyMEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDMxNTMyMEEiCisiU1QzMjA0MjNBIgkJCQkwICAgIEMJIlNlYWdhdGUgVTEwIDIwNDIzLCBVbHRyYSBBVEEvNjYiCisiU1QzMjAwMTFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzMjAwMTFBIgorIlNUMzIwMDE0QSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzIwMDE0QSAoNTQwMCBycG0sIDIwR2IpIgorIlNUMzIwNDEwQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUMzIwNDEwQSIKKyJTVDMyMDQxM0EiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDMyMDQxM0EiCisiU1QzMjA0MTRBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzMjA0MTRBIgorIlNUMzIwNDIwQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSBJSSBTVDMyMDQyMEEiCisiU1QzMzAwMTNBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzMzAwMTNBIEJhcnJhY3VkYSBBVEEgViAzMEdCLCA3MjAwIHJwbSIKKyJTVDMzMDYyMEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDMzMDYyMEEiCisiU1QzMzA2MjFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzMzA2MjFBIgorIlNUMzMwNjMwQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSBTVDMzMDYzMEEiCisiU1QzNDAwMTRBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuNyA0MEdiIgorIlNUMzQwMDE1QSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA1NDAwLjEgNDBHQiIgCisiU1QzNDAwMTZBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzNDAwMTZBIgorIlNUMzQwODEwQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFUgU2VyaWVzIDQwODEwICg0MEdiLCBVbHRyYSBBVEEvMTAwLCA1NDAwIHJwbSkiCisiU1QzNDA4MjNBIgkJCQkxOTQgIEMJIlNlYWdhdGUgVSBTZXJpZXMgNSA0MDgyMyIKKyJTVDM0MDgyNEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgSUlJIgorIlNUMzYwMDE1QSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSBWIFNUMzYwMDE1QSIKKyJTVDM2MDAyMEEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBVIFNlcmllcyA2MDAyMCIKKyJTVDM2MDAyMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgSVYgU1QzNjAwMjFBIgorIlNUMzgwMDExQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjcgODBHQiIKKyJTVDM4MDAxMkEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBTVDM4MDAxMkEgODBHQiIKKyJTVDM4MDAxM0EiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC43IDgwR0IiIAorIlNUMzgwMDEzQVMiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC43IDgwR0IgKFNlcmlhbCBBVEEpIgorIlNUMzgwMDIwQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFUgU2VyaWVzIDgwMDIwICg4MEdiLCBVbHRyYSBBVEEvMTAwLCA1NDAwIHJwbSkiCisiU1QzODAwMjFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIElWIFNUMzgwMDIxQSIKKyJTVDM4MDAyMkEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgVTcgODAwMjIsIFVsdHJhIEFUQS8xMDAiCisiU1QzODAwMjNBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIFYgU1QzODAwMjNBIgorIlNUMzgwODE3QVMiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC43IDgwR0IgLSBTQVRBIgorIlNUMzkxMTFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzOTExMUEgKGZyb20gU3VuIFVsdHJhKSIKKyJTVDMxMjAwMjBBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1QzMTIwMDIwQSIKKyJTVDMxMjAwMjJBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFyYWNjdWRhIDcyMDAuNyAxMjBHQiIKKyJTVDMxMjAwMjNBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIFYgU1QzMTIwMDIzQSIKKyJTVDMxMjAwMjRBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIFYgU1QzMTIwMDI0QSIKKyJTVDMxMjAwMjVBQ0UiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgViBTVDMxMjAwMjVBQ0UiCisiU1QzMTIwMDI2QSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSBWIFNUMzEyMDAyNkEiCisiU1QzMTYwMDIxQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjcgLSBTVDMxNjAwMjFBIgorIlNUMzE2MDAyMyhBfEFTKSIJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIFYgU1QzMTYwMDIzQSBhbmQgQVMgKDE2MEdiLCBBVEExMDAgb3IgU2VyaWFsIEFUQSkiCisiU1QzMTYwODFbMTJdKEF8QVMpIgkJCTE5NCAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuOSAxNjBHQiIgCisiU1QzMTYwODI3QVMiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC43IDE2MEdCIChTZXJpYWwgQVRBKSIgCisiU1QzMjAwMDIxQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjcgUGx1cyAyMDBHQiIKKyJTVDMyMDA4MjIoQXxBUykiCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjcgUGx1cyAyMDBHQiAoUEFUQSBvciBTQVRBKSIKKyJTVDMyMDA4MjZBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuOCAyMDBHQiIKKyJTVDMyNTA2MjNBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTYgMjUwR0IiCisiU1QzMjUwNjI0QVMiCQkJCTE5NCAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuOSAyNTBHQiBTQVRBIgorIlNUMzI1MDYyNE5TIgkJCQkxOTQgIEMgICJTZWFnYXRlIE5MMzUgU0FUQSAoUkFJRC1FZGl0aW9uKSA3MjAwIDI1MEdCIgorIlNUMzI1MDgyM0EiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC44IDI1MEdCIgorIlNUMzI1MDgyM0EiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC43IFBsdXMgMjUwR0IiCisiU1QzMjUwODIzTlMiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBOTDM1IFNBVEEgKFJBSUQtRWRpdGlvbikgNzIwMCAyNTBHQiIKKyJTVDMzMDA4MzFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgMzAwR0IgU1QzMzAwODMxQSIKKyJTVDM0MDA4MzJBIgkJCQkxOTQgIEMJIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuOCBQbHVzIDQwMEdCIgorIlNUMzQwMDYzMyhBfEFTKSIgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuNyA0MDAgR0IiCisiU1QzNTAwNjMwTlMiCQkJCTE5NCAgQyAgIlNlYWdhdGUiCisiU1QzNDAwNjMyTlMiCQkJCTE5NCAgQwkiU2VhZ2F0ZSIKKyJTVDM4MFsyOF0xMTAoQXxBUykiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC45IDgwIEdCIgorIlNUOTEwMDIxQSIJCQkJMTk0ICBDCSJTZWFnYXRlIE1vbWVudHVzIDcyMDAuMSAxMDBHQiIgCisiU1Q5MTAwODJbMzVdQSIJCQkJMTk0ICBDCSJTZWFnYXRlIE1vbWVudHVzIDU0MDAuMiAxMDBHQiIKKyJTVDkxMjA4MjFBIgkJCQkxOTQgIEMJIlNlYWdhdGUgTW9tZW50dXMgNTQwMC4yIDEyMEdCIgorIlNUOTQwMTlBIgkJCQkxOTQgIEMJIlNlYWdhdGUgU1Q5NDAxOUEiCisiU1Q5NDgxM0EiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBNb21lbnR1cyA1NDAwLjIgNDBHQiIKKyJTVDk0WzA4XTExQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUOTQwMTFBIgorIlNUOTYwODIxQSIJCQkJMTk0ICBDCSJTZWFnYXRlIFNUOTYwODIxQSIKKyJTVDk2MDgyMkEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBNb21lbnR1cyA1NDAwLjIgNjBHQiIKKyJTVDk2ODEyQVMiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBNb21lbnR1cyA1NDAwLjIgNjBHQiBTQVRBIgorIlNUOTgwODIxMUEiCQkJCTE5NCAgQwkiU2VhZ2F0ZSBNb21lbnR1cyA1NDAwLjIgODBHQiIKKyJTVDk4ODIzQVMiCQkJCTE5NCAgQyAgIlNlYWdhdGUgTW9tZW50dXMgNTQwMC4yIDgwR0IgU0FUQSIKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyBUT1NISUJBIExhcHRvcHMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyJNSzQzMTNNQVQiCQkJCTIyMCAgQwkiVG9zaGliYSBNSzQzMTNNQVQiCisiVE9TSElCQSBNSzEwMzJHQVgiCQkJMTk0ICBDCSJUb3NoaWJhIE1LMTAzMkdBWCIKKyJUT1NISUJBIE1LMTAzMkdTWCIJCQkxOTQgIEMgICJUb3NoaWJhIE1LMTAzMkdTWCIKKyJUT1NISUJBIE1LMTUxN0dBUCIJCQkwICAgIEMJIlRvc2hpYmEgTUsxNTE3R0FQIgorIlRPU0hJQkEgTUsyMDE4R0FTIgkJCTIyNiAgRgkiVG9zaGliYSBNSzIwMThHQVMiCisiVE9TSElCQSBNSzIwMjNHQVMiCQkJMTk0ICBDCSJUb3NoaWJhIE1LMjAyM0dBUyIKKworIlRPU0hJQkEgTUszMDE3R0FQIgkJCTAgICAgQwkiVG9zaGliYSBNSzMwMTdHQVAiCisiVE9TSElCQSBNSzMwMjFHQVMiCQkJMTk0ICBDCSJUb3NoaWJhIE1LMzAyMUdBUyIKKyJUT1NISUJBIE1LMzAyNUdBUyIJCQkxOTQgIEMJIlRvc2hpYmEgTUszMDI1R0FTIiAKKworIyJUT1NISUJBIE1LNDAxOUdBWCIJCQkyMjIgIEMJIlRvc2hpYmEgTUs0MDE5R0FYIgorIlRPU0hJQkEgTUs0MDIxR0FTIgkJCTE5NCAgQwkiVG9zaGliYSBNSzQwMjFHQVMiCisiVE9TSElCQSBNSzQwMjVHQVMiCQkJMTk0ICBDCSJUb3NoaWJhIE1LNDAyNUdBUyA0MCBHbyIKKyJUT1NISUJBIE1LNDAyNkdBUyIJCQkxOTQgIEMJIlRvc2hpYmEgTUs0MDI2R0FTIDQwIEdvIgorIlRPU0hJQkEgTUs0MDMyR0FYIgkJCTE5NCAgQwkiVG9zaGliYSBNSzQwMzJHQVgiIAorCisiVE9TSElCQSBNSzYwMjFHQVMiCQkJMTk0ICBDCSJUb3NoaWJhIE1LNjAyMUdBUyIKKyJUT1NISUJBIE1LNjAyMkdBWCIJCQkxOTQgIEMJIlRvc2hpYmEgTUs2MDIyR0FYIgorIlRPU0hJQkEgTUs2MDI1R0FTIgkJCTE5NCAgQwkiVG9zaGliYSBNSzYwMjVHQVMiCisiVE9TSElCQSBNSzYwMjZHQVgiCQkJMTk0ICBDCSJUb3NoaWJhIE1LNjAyNkdBWCIgCisiVE9TSElCQSBNSzgwMjVHQVMiCQkJMTk0ICBDCSJUb3NoaWJhIE1LODAyNUdBUyIKKyJUT1NISUJBIE1LODAyNkdBWCIJCQkxOTQgIEMJIlRvc2hpYmEgTUs4MDI2R0FYIiAKKyJUT1NISUJBIE1LODAzMkdTWCIJCQkxOTQgIEMgICJUb3NoaWJhIE1LODAzMkdTWCIgCisKKyJNSzQwMjVHQVMiCQkJCTE5NCAgQwkiVG9zaGliYSBNSzQwMjVHQVMiCisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyBXZXN0ZXJuIERpZ2l0YWwgZHJpdmVzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFdEQyBBQzMxMDEwMEIgYW5kIFdEQyBBQzI4NTBGIGFyZSByZXBvcnRlZCBub3Qgd29ya2luZworIyBubyBtb3JlIGluZm9ybWF0aW9ucyB3ZXJlIGdpdmVuCisiV0RDIEFDMjIwMDBMIgkJCQkJCQkgIDAgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBBQzIyMDAwIgorIldEQyBBQzQyMDQwMEQiCQkJCQkJCTIzMSBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIEFDNDIwNDAwRCIKKyJXREMgQUM0MTgwMDBEIgkJCQkJCQkyMzEgQyAiV2VzdGVybiBEaWdpdGFsIEFDNDE4MDAwRCIKKyJXREMgV0QxMzVCQSIJCQkJCQkJMjMxIEMgIldlc3Rlcm4gRGlnaXRhbCBXRDEzNUJBIgorCisiV0RDIFdEMTAwRUItMDBCSEYwIgkJCQkJCSAgMCBDICJXZXN0ZXJuIERpZ2l0YWwgMTAwRUItMDBCSEYwIgorIldEQyBXRDIwMEJCLTAwQVVBMSIJCQkJCQkgIDAgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBXRDIwMEJCIgorIyJXREMgV0QyMDBCQi02MERHQTAiCQkJCQkJICAwIEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgV0QyMDBCQiIKKyJXREMgV0QzMDBCQi0wMENBQTAiCQkJCQkJICAwIEMgIldlc3Rlcm4gRGlnaXRhbCBXRDMwMEJCIgorIldEQyBXRDM2MEdELTAwRk5BMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFNBVEEgUmFwdG9yIDM2LjdHQiIKKyJXREMgV0Q0MDBCQi0wMENBQTAiCQkJCQkJICAwIEMgIldlc3Rlcm4gRGlnaXRhbCA0MDBCQi0wMENBQTAiCisiV0RDIFdENDAwQkItMDBbREpdW0tIXUEwIgkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgV0Q0MDBCQiIKKyJXREMgV0Q0MDBCQi0yM0pIQzAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCAyM0pIQzAiCisjIldEQyBXRDQwMEJCLTAwR0ZBMCIJCQkJCQkgIDAgQyAiIgorIldEQyBXRDQwMEJCLTU1SEVBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBXRDQwMEJCIgorIldEQyBXRDQwMEJCLSgxOENBfDAwREUpQTAiCQkJCQkgIDAgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBXRDQwMEJCIgorIldEQyBXRDQwMEJCLTc1RkpBMSIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBXRDQwMEJCIgorIldEQyBXRDQwMEVCLTAwQ1BGMCIJCQkJCQkgIDAgQyAiV2VzdGVybiBEaWdpdGFsIDQwMEVCLTAwQ1BGMCIKKyJXREMgV0Q0MDBKQi0wMChKSnxGTXxGUylBMCIJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIDQwR0IgU3BlY2lhbCBFZGl0aW9uIDhNQiIKKyJXREMgV0Q0MDBKQi0wMEVUQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA0MDBKQi0wMEVUQTAiCisiV0RDIFdENDAwSkItMDBKSkMwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgNDAwSkItMDBKSkMwIDQwR0IiCisiV0RDIFdENDAwTEItMDBETkEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgNDAwTEItMDBETkEwIgorIldEQyBXRDQwMFVFLTIySENUMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDQwR0IgTm90ZWJvb2sgSEREIgorIldEQyBXRDQwMFZFLTc1SERUMSIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFNjb3JwaW8gNDBHQiIKKyJXREMgV0Q2MDBCQi0zMkJTQTAiCQkJCQkJICAwIEMgIldlc3Rlcm4gRGlnaXRhbCA2MDBCQi0zMkJTQTAiCisiV0RDIFdENjAwSkItMDBFVEEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgNjAwSkItMDBFVEEwIgorIldEQyBXRDYwMExCLTAwRE5BMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDYwR0IiCisiV0RDIFdENjAwVkUtNzVIRFQwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgNjAwVkUtNzVIRFQwIgorIldEQyBXRDYwMFZFLTAwSERUMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDYwMFZFLTAwSERUMCIKKyJXREMgV0Q3NDBHRC0wMEZMMjEuMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFNBVEEgUmFwdG9yIgorIldEQyBXRDc0MEdELShbMDVdMEZMW0FDXVswMV18NzVGTEExKSIJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBTQVRBIFJhcHRvciA3NEdCIDhNQiIKKyJXREMgV0Q4MDBCQi0wMENBQTEiCQkJCQkJICAwIEMgIldlc3Rlcm4gRGlnaXRhbCBXRDgwMEJCLTAwQ0FBMSIKKyJXREMgV0Q4MDBCQi0oMDB8MjIpREtBMCIJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgV0Q4MDBCQiA4MCBHbyIKKyJXREMgV0Q4MDBCQi0zMkNDQjAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA4MDBCQi0zMkNDQjAiCisiV0RDIFdEODAwQkItNTVIRUEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgODAwQkItNTVIRUEwIgorIldEQyBXRDgwMEJCLTAwSkhBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIDgwMEJCLTAwSkhBMCIgCisiV0RDIFdEODAwQkItMDBKS0EwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgODAwQkItMDBKS0EwIiAKKyJXREMgV0Q4MDBCQi01NUpLQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCA4MDBCQi01NUpLQTAiIAorIldEQyBXRDgwMEJCLTc1RlJBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBXRDgwMEJCIgkJCQkKKyJXREMgV0Q4MDBKQi0wMENSQTEiCQkJCQkJICAwIEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgV0Q4MDBKQiIKKyJXREMgV0Q4MDBKQi0wMChFVHxGTXxGUylBMCIJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIDgwR0IgU3BlY2lhbCBFZGl0aW9uIDhNQiIKKyJXREMgV0Q4MDBKQi0wMEpKW0FDXTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBXRDgwMEpCIgorIldEQyBXRDgwMEpELSgwMHw1NXw3NSkoSEt8SlJ8Sk4pW0FDXTAiCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgU0FUQSA4MEdCLCA4TUIgQ2FjaGUiCisiV0RDIFdEODAwTEItKDAwfDU1KUROQTAiCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBXRDgwMExCIDgwIEdvIEFUQS0xMDAiCisiV0RDIFdEODAwVkUtMDdIRFQwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgODAwVkUtMDdIRFQwIgorIldEQyBXRDEyMDBCQi0wMChGVEF8R1VBKTAiCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBFSURFIDJNQiBDYWNoZSIKKyJXREMgV0QxMjAwSkItMDAoRVZ8RlV8R1Z8UkUpQTAiCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIDEyMEdCIFNwZWNpYWwgRWRpdGlvbiA4TUIiIAorIldEQyBXRDEyMDBKQi0yMkdWQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgMTIwR0IiCisiV0RDIFdEMTIwMEpELTAwKEZZQnxHQkJ8SEJDKTAiCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFdEMTIwMEpEIgorIldEQyBXRDEyMDBMQi01NUVEQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBXRDEyMjBMQiIKKyJXREMgV0QxMjAwU0ItMDFLQltBQ10wIgkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgUkUgKFJhaWQgRWRpdGlvbikgMTIwIEdCIgorIldEQyBXRDE2MDBCQi0wMERXQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgV0QxNjAwQkIiCisiV0RDIFdEMTYwMEpCLSgwMEVWfDAwRlV8MDBHVnwyMkdWfDc1R1YpQTAiCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgMTYwR0IgU3BlY2lhbCBFZGl0aW9uIDhNQiIKKyJXREMgV0QyMDAwQkItMDBGVEEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgV0QyMDAwQkIiCisiV0RDIFdEMjAwMEpCLSgwMEVWfDMyRVZ8MzRFVnwwMEZVfDAwR1Z8NTVHVnw5OEdWfDAwS0YpQTAiCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIDIwMEdCIFNwZWNpYWwgRWRpdGlvbiA4TUIiCisiV0RDIFdEMjAwMEpCLTAwR1ZDMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFdEMjAwMEpCIgorIldEQyBXRDIwMDBKRC0wMEZZQjAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBXRDIwMDBKRCIKKyJXREMgV0QyMDAwSlMtMDBNSEIxIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgU0FUQSAyMDBHQiIKKyJXREMgV0QyNTAwSkItKDAwUkV8MDBFVnwwMEZVfDMyRlV8MDBHVnw1NUdWKUEwIgkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgMjUwR0IgU3BlY2lhbCBFZGl0aW9uIDhNQiIKKyJXREMgV0QyNTAwSkItMDBHVkMwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgMjUwR0IiCisiV0RDIFdEMjUwMEpELSgwMEd8MzJIfDc1SClCQjAiCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFNBVEEgQ2F2aWFyIDI1MEdCIFNwZWNpYWwgRWRpdGlvbiA4TUIiCisiV0RDIFdEMjUwMEpELTQwSEJDMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFdEMjUwMEpELTQwSEJDMCIgCisiV0RDIFdEMjUwMFBCLTk4RkJBMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciAyNTBHQiBTcGVjaWFsIEVkaXRpb24gOE1CIgorIldEQyBXRDI1MDBQRC0wMEZaQjEiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBXRDI1MDBQRC0wMEZaQjEiIAorIldEQyBXRDI1MDBTRC0wMUtDQjAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgUkUgMjUwR0IgOE1CIgorIldEQyBXRDMwMDBKQi0wMEtGQTAiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBXRDMwMDBKQiIKKyJXREMgV0QzMjAwSkItMDBLRkEwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIDMyMEdCIDhNQiIKKyJXREMgV0Q0MDAwS0QtMDBOQUIwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFNFMTYgNDAwR0IgMTZNQiIKKyJXREMgV0Q0MDAwWVItMDFQTEIwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFJFMiA0MDBHQiAxNk1CIgorIldENDAwMFlTLTAxTVBCMCIJCQkJCQkxOTQgIEMgICJXZXN0ZXJuIERpZ2l0YWwgUkUyIDcyMDAgU0FUQSBJSSA0MDAgR0IiCisKKyMgbm90IHN1cmUgZm9yIG5leHQKKyMgIldEQyBXRDEyMDBKQi0wMENSQTEiCQk5ICAgQyAiV2VzdGVybiBEaWdpdGFsIDEyMDBKQi0wMENSQTEiCisjICJXREMgV0QyNzNCQSIJCQk5ICAgQyAiV2VzdGVybiBEaWdpdGFsIFdEMjczQkEiCisKKworCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyJTVDM3NTA2NDBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSA3NTBHQiIKKyJTVDM3NTA4NDBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSA3NTBHQiIKKyJTVDM1MDA2MzBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSA1MDBHQiIKKyJTVDM1MDA4MzBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSA1MDBHQiIKKyJTVDM0MDA2MjBBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSA0MDBHQiIKKyJTVDM0MDA2MjBBIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgNDAwR0IiCisiU1QzNDAwODIwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgNDAwR0IiCisiU1QzMzIwNjIwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgMzIwR0IiCisiU1QzMzIwODIwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgMzIwR0IiCisiU1QzMzAwNjIwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgMzAwR0IiCisiU1QzMzAwODIwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgMzAwR0IiCisiU1QzMjUwNjIwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgMjUwR0IiCisiU1QzMjUwODIwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgMjUwR0IiCisiU1QzMjUwNDEwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgMjUwR0IiCisiU1QzMjUwMzEwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgMjUwR0IiCisiU1QzMjAwODIwQVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgMjAwR0IiCisiU1QzMTYwODE1QVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgMTYwR0IiCisiU1QzMTYwMjE1QVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgMTYwR0IiCisiU1QzMTIwODE1QVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgMTIwR0IiCisiU1QzMTIwMjE1QVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgMTIwR0IiCisiU1QzODA4MTVBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgODBHQiIKKyJTVDM4MDIxNUFTIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTQgICAgQyAgIlNlYWdhdGUgQmFycmFjdWRhIDcyMDAuMTAgU0FUQSA4MEdCIgorIlNUMzQwODE1QVMiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCAgICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC4xMCBTQVRBIDQwR0IiCisiU1QzNDAyMTVBUyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0ICAgIEMgICJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjEwIFNBVEEgNDBHQiIKKyJTVDMzMDA2MjJBUyIJCQkJMTk0ICBDICAiU2VhZ2F0ZSBCYXJyYWN1ZGEgNzIwMC45IFNBVEEyLjUgMzAwR0IiCisiU1QzMzAwODMxQSIJCQkJMTk0ICBDCSJTZWFnYXRlIEJhcnJhY3VkYSA3MjAwLjggUEFUQSAzMDBHQiIKKworIk1heHRvciA3KEx8VikyNTAoRnxSfFMpMCIJCTE5NCBDICJNYXh0b3IgTWFYTGluZSBJSUkgMjUwR0IgNzIwMHJwbSIKKyJNYXh0b3IgNyhMfFYpMzAwKEZ8UnxTKTAiCQkxOTQgQyAiTWF4dG9yIE1hWExpbmUgSUlJIDMwMEdCIDcyMDBycG0iCisiTUFYVE9SIFNUTTMzMjA2MjBBUyIJCQkxOTQgQyAiIgorCisiV0RDIFdEMTUwMEFERkQtMDBOTFJbMDFdIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBSYXB0b3IgMTUwR0IiCisiV0RDIFdEMTYwMEpTLTAwTkNCMSIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciAxNjAwSlMgMTYwR0IgU2F0YSIKKyJXREMgV0QxNjAwU0QtMDFLQ0MwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFJFIFNlcmlhbCBBVEEgc2VyaWVzIgorIldEQyBXRDI1MDBKRC01N0hCQzAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFNFIChTZXJpYWwgQVRBKSAyNTAgR0IiCisiV0RDIFdEMjUwMEpTIgkJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFdEMjUwMEpTIgorIldEQyBXRDI1MDBKUy00MU1WQjEiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBTQVRBSUkgQ2F2aWFyIDI1MEdCIFNwZWNpYWwgRWRpdGlvbiA4TUIiCisiV0RDIFdEMjUwMEpELTAwSEJCMCIJCQkJCQkxOTQgQyAgICJXZXN0ZXJuIERpZ2l0YWwgU0FUQSAyNTBHQiIgCisiV0RDIFdEMjUwMEtTLTAwTUpCMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIFNBVEEtSUkgQ2F2aWFyIDI1MEdCIFNwZWNpYWwgRWRpdGlvbiAxNk1CIgorIldEQyBXRDI1MDBZRC0wMU5WQjEiCQkJCQkJMTk0IEMgIldlc3Rlcm4gRGlnaXRhbCBDYXZpYXIgUkUgMjUwR0IgMTZNQiIKKyJXREMgV0QzMDAwSlMtMDBQREIwIgkJCQkJCTE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgV0QzMDAwSlMiCisiV0RDIFdEMzIwMEtTLTAwUEZCMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciAzMjBHQiAxNk1CIgorIldEQyBXRDMyMDBKRC0yMktMQjAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NCBDICJXZXN0ZXJuIERpZ2l0YWwgQ2F2aWFyIFNFIDMyMEdCIDhNQiIgCisiV0RDIFdEMzIwMFNELTAxS05CMCIJCQkJCQkxOTQgQyAiV2VzdGVybiBEaWdpdGFsIENhdmlhciBSRSAzMjBHQiBTQVRBIDhNQiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2hkZHRlbXBfMC4zLWJldGExNS01Mi5kaWZmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXAvaGRkdGVtcF8wLjMtYmV0YTE1LTUyLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYxYzE2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2hkZHRlbXBfMC4zLWJldGExNS01Mi5kaWZmCkBAIC0wLDAgKzEsMjI1NiBAQAorTWVnYXBhdGNoIGZyb20gZGViaWFuCisKK09yaWdpbmFsIFVSTDogaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sL21haW4vaC9oZGR0ZW1wL2hkZHRlbXBfMC4zLWJldGExNS01Mi5kaWZmLmd6CisKK0ZpbHRlcmVkIHdpdGg6CisgIGZpbHRlcmRpZmYgLXAxIC14IFJFQURNRSAteCAnZGViaWFuLyonCisKKworVXBzdHJlYW0tU3RhdHVzOiB1bm1haW50YWluZWQKKworLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL2RvYy9oZGR0ZW1wLjgKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvZG9jL2hkZHRlbXAuOAorQEAgLTU4LDYgKzU4LDEwIEBACisgLkIgXC1mLCBcLVwtZmlsZT1cZklmaWxlXGZJCisgU3BlY2lmeSB0aGUgZGF0YWJhc2UgZmlsZSB0byB1c2UuCisgLlRQCisrLkIgXC1GLCBcLVwtZm9yZWdyb3VuZAorK0Rvbid0IGZvcmsgaW50byB0aGUgYmFja2dyb3VuZCBldmVuIGluIGRhZW1vbiBtb2RlLiAgVGhpcyBpcyB1c2VmdWwKKyt3aGVuIHJ1bm5pbmcgdW5kZXIgYSBwcm9jZXNzIHN1cGVydmlzb3IuCisrLlRQCisgLkIgXC1sLCBcLVwtbGlzdGVuPVxmSWFkZHJcZlIKKyBMaXN0ZW4gb24gYSBzcGVjaWZpYyBhZGRyZXNzLiAgXGZJYWRkclxmUiBpcyBhIHN0cmluZyBjb250YWluaW5nIGEKKyBob3N0IG5hbWUgb3IgYSBudW1lcmljIGhvc3QgYWRkcmVzcyBzdHJpbmcuICBUaGUgbnVtZXJpYyBob3N0IGFkZHJlc3MKK0BAIC04MCw2ICs4NCw5IEBACisgLkIgXC1xLCBcLVwtcXVpZXQKKyBEb24ndCBjaGVjayBpZiB0aGUgZHJpdmUgaXMgc3VwcG9ydGVkLgorIC5UUAorKy5CIFwtdSwgXC1cLXVuaXQ9XGZJQ3xGXGZSCisrRm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxzaXVzIG9yIEZhaHJlbmhlaXQuCisrLlRQCisgLkIgXC12LCBcLVwtdmVyc2lvbgorIERpc3BsYXkgaGRkdGVtcCB2ZXJzaW9uIG51bWJlci4KKyAuVFAKK0BAIC05Niw3ICsxMDMsNyBAQAorIC5TSCAiRFJJVkUgREFUQUJBU0UiCisgSWYgeW91IGtub3cgeW91ciBkcml2ZSBoYXMgYSB0ZW1wZXJhdHVyZSBzZW5zb3IgYnV0IGl0IGlzIGJlaW5nCisgcmVwb3J0ZWQgdW5zdXBwb3J0ZWQsIHRlbGwgbWUgd2hpY2ggbW9kZWwgYW5kIHdoaWNoIG1hbnVmYWN0dXJlciBpdAorLWlzLCBhbmQvb3IganVzdCBhZGQgYSBuZXcgZW50cnkgaW4gL3Vzci9zaGFyZS9taXNjL2hkZHRlbXAuZGIuICBFYWNoCisraXMsIGFuZC9vciBqdXN0IGFkZCBhIG5ldyBlbnRyeSBpbiAvZXRjL2hkZHRlbXAuZGIuICBFYWNoCisgbGluZSBvZiBoZGR0ZW1wLmRiIGlzIGVpdGhlciBhIGNvbW1lbnQsIGEgYmxhbmsgbGluZSBvciBhIGxpbmUKKyBjb250YWluaW5nOgorIC5UUAorQEAgLTExMiw3ICsxMTksNyBAQAorIEZlZWRiYWNrIGlzIHdlbGNvbWUgKHNlZSB0aGUgUkVQT1JUIHNlY3Rpb24gYmVsb3cpLgorIAorIC5TSCAiVENQL0lQIERBRU1PTiBNT0RFIgorLUV4ZW1wbGUgb2YgdHlwZSBmb3JjaW5nOgorK0V4YW1wbGUgb2YgdHlwZSBmb3JjaW5nOgorIC5QUAorICMgaGRkdGVtcCBTQVRBOi9kZXYvc2RhIFBBVEE6L2Rldi9oZGEKKyAuUFAKK0BAIC0xMjAsNyArMTI3LDcgQEAKKyAuQiBoZGR0ZW1wCisgaW4gZGFlbW9uIG1vZGUsIHN0YXJ0IGl0IGxpa2UgdGhpczoKKyAuUFAKKy0jIGhkZHRlbXAgLWQgL2Rldi9oZFthYmNkXQorKyMgaGRkdGVtcCBcLWQgL2Rldi9oZFthYmNkXQorIC5QUAorIC5QUAorIGFuZCB1c2UKK0BAIC0xNjUsOCArMTcyLDggQEAKKyBpbnZlc3RpZ2F0aW9uIHRoZXkgZG8gbm90LiAgQnV0IGZpZWxkcyAxOTQgKHdoaWNoIGlzIHRoZSBzdGFuZGFyZAorIGZpZWxkIGZvciB0ZW1wZXJhdHVyZSkgYW5kIDIzMSBhcmUgZ29vZCBjYW5kaWRhdGVzLgorIC5QUAorLVRoZW4sIHlvdSBjYW4gc2VuZCBtZSBhIHJlcG9ydCB3aXRoIG91dHB1dHMgZnJvbSBgaGRkdGVtcCAtLWRlYnVnIC4uLicsCistYHNtYXJ0Y3RsJyBvciBgaGRwYXJtIC1pIC4uLicsIGFuZC9vciBhZGQgYW4gZW50cnkgaW4gaGRkdGVtcC5kYgorK1RoZW4sIHlvdSBjYW4gc2VuZCBtZSBhIHJlcG9ydCB3aXRoIG91dHB1dHMgZnJvbSBgaGRkdGVtcCBcLVwtZGVidWcgLi4uJywKKytgc21hcnRjdGwnIG9yIGBoZHBhcm0gXC1pIC4uLicsIGFuZC9vciBhZGQgYW4gZW50cnkgaW4gaGRkdGVtcC5kYgorIHlvdXJzZWxmLgorIAorIC5TSCAiQlVHUyIKK0BAIC0xODMsNSArMTkwLDUgQEAKKyAuUFAKKyBFbW1hbnVlbCBWYXJhZ25hdCAoaGRkdGVtcEBndXp1Lm5ldCkuCisgLlBQCistVGhpcyBtYW51YWwgcGFnZSB3YXMgb3JpZ2luYWx5IHdyaXR0ZW4gYnkgQXVyZWxpZW4gSmFybm8gPGF1cmVsMzJAZGViaWFuLm9yZz4sCisrVGhpcyBtYW51YWwgcGFnZSB3YXMgb3JpZ2luYWxseSB3cml0dGVuIGJ5IEF1cmVsaWVuIEphcm5vIDxhdXJlbDMyQGRlYmlhbi5vcmc+LAorIGZvciB0aGUgRGViaWFuIEdOVS9MaW51eCBzeXN0ZW0gKGJ1dCBtYXkgYmUgdXNlZCBieSBvdGhlcnMpLgorLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3BvL2ZyLnBvCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3BvL2ZyLnBvCitAQCAtNyw5ICs3LDkgQEAKKyBtc2dpZCAiIgorIG1zZ3N0ciAiIgorICJQcm9qZWN0LUlkLVZlcnNpb246IGZyXG4iCistIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBoZGR0ZW1wQGd1enUubmV0XG4iCistIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA1LTAyLTI1IDIyOjQzKzAxMDBcbiIKKy0iUE8tUmV2aXNpb24tRGF0ZTogMjAwMy0wNi0wMyAwMDo1OEdNVCsxXG4iCisrIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKKysiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMDYtMjkgMTY6MjQrMDIwMFxuIgorKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDExLTA4LTMwIDE2OjM4KzAyMDBcbiIKKyAiTGFzdC1UcmFuc2xhdG9yOiBBdXJlbGllbiBKYXJubyA8YXVyZWxpZW5AYXVyZWwzMi5uZXQ+XG4iCisgIkxhbmd1YWdlLVRlYW06IEZSQU5DQUlTIDxmckBsaS5vcmc+XG4iCisgIk1JTUUtVmVyc2lvbjogMS4wXG4iCitAQCAtMTcsMjMgKzE3LDcgQEAKKyAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorICJYLUdlbmVyYXRvcjogS0JhYmVsIDEuMC4xXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxMTIKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIiCistIlxuIgorLSJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgorLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorLW1zZ3N0ciAiIgorLSJcbiIKKy0iUmVnZXhwJXN8IFZhbGV1ciB8IERlc2NyaXB0aW9uXG4iCistIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MTE4CistIywgYy1mb3JtYXQKKy1tc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKKy1tc2dzdHIgIiVzJXN8ICAlNWQgfCAlc1xuIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MTYxCisrIzogc3JjL2hkZHRlbXAuYzoxNTYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIlxuIgorQEAgLTQ2LDcgKzMwLDcgQEAKKyAiTW9k6GxlOiAlc1xuIgorICJcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE4OAorKyM6IHNyYy9oZGR0ZW1wLmM6MTg5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKK0BAIC02MCw3NSArNDQsNjAgQEAKKyAibmV0KS5cbiIKKyAiQVRURU5USU9OIDogVm9pciBsZXMgb3B0aW9ucyAtLWhlbHAsIC0tZGVidWcgZXQgLS1kcml2ZWJhc2UuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxOTIKKysjOiBzcmMvaGRkdGVtcC5jOjE5NworICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogIG5vIHNlbnNvclxuIgorIG1zZ3N0ciAiJXM6ICVzIDogIHBhcyBkZSBjYXB0ZXVyXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxOTcKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIiCistIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCistIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCistIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCistIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCistIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCistbXNnc3RyICIiCistIkFUVEVOVElPTiA6IExlIGxlY3RldXIgJXMgbidhcHBhcmFpdCBwYXMgZGFucyBsYSBiYXNlIGRlIGRvbm7pZXMgZGVzICIKKy0ibGVjdGV1cnMgc3VwcG9ydOlzXG4iCistIkFUVEVOVElPTiA6IE1haXMgZW4gdXRpbGlzYW50IHVuZSB2YWxldXIgY291cmFudGUsIGlsIHJlbnZvaWUgcXVlbHF1ZSAiCistImNob3NlLlxuIgorLSJBVFRFTlRJT04gOiBOb3RleiBxdWUgbGEgdGVtcOlyYXR1cmUgcmVudm956WUgcGV1dCDqdHJlIGVycm9u6WUuXG4iCistIkFUVEVOVElPTiA6IFZvaXIgbGVzIG9wdGlvbnMgLS1oZWxwLCAtLWRlYnVnIGV0IC0tZHJpdmViYXNlLlxuIgorLSJBVFRFTlRJT04gOiBFdCBuJ291YmxpZXogcGFzIGQnYWpvdXRlciB2b3RyZSBsZWN0ZXVyIGF1IGZpY2hpZXIgaGRkdGVtcC5kYlxuIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MjAyCisrIzogc3JjL2hkZHRlbXAuYzoyMTEKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6ICAlZCVzQyBvciAlc0ZcbiIKKyBtc2dzdHIgIiVzOiAlcyA6ICAlZCVzQyBvdSAlc0ZcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIxNAorKyM6IHNyYy9oZGR0ZW1wLmM6MjM1CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiBkcml2ZSBpcyBzbGVlcGluZ1xuIgorIG1zZ3N0ciAiJXM6ICVzIDogbGUgbGVjdGV1ciBlc3QgZW4gdmVpbGxlXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMTcKKysjOiBzcmMvaGRkdGVtcC5jOjI0MgorICMsIGMtZm9ybWF0CistbXNnaWQgIiVzOiAlczogIGtub3duIGRyaXZlLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorK21zZ2lkICIlczogJXM6ICBkcml2ZSBzdXBwb3J0ZWQsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisgbXNnc3RyICIiCisgIiVzOiAlczogIGxlY3RldXIgY29ubnUsIG1haXMgaWwgbmUgcG9zc+hkZSBwYXMgZGUgY2FwdGV1ciBkZSB0ZW1w6XJhdHVyZS5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIyMAorKyM6IHNyYy9oZGR0ZW1wLmM6MjQ2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6ICVzOiAlczogdW5rbm93biByZXR1cm5lZCBzdGF0dXNcbiIKKyBtc2dzdHIgIkVSUkVVUiA6ICVzIDogJXMgOiBzdGF0dXMgaW5jb25udVxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjM1CisrIzogc3JjL2hkZHRlbXAuYzoyNjEKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIlxuIgorICJJZiBvbmUgb2YgdGhlIGZpZWxkIHZhbHVlIHNlZW1zIHRvIG1hdGNoIHRoZSB0ZW1wZXJhdHVyZSwgYmUgc3VyZSB0byByZWFkXG4iCistInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIG1lIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKysidGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzA4CisrIzogc3JjL2hkZHRlbXAuYzozMzgKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBzZXBhcmF0b3IuXG4iCisgbXNnc3RyICJFUlJFVVIgOiBz6XBhcmF0ZXVyIGludmFsaWRlLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzE5CisrIzogc3JjL2hkZHRlbXAuYzozNDkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBwb3J0IG51bWJlci5cbiIKKyBtc2dzdHIgIkVSUkVVUiA6IG51belybyBkZSBwb3J0IGludmFsaWRlLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzI5CistIywgZnV6enksIGMtZm9ybWF0CisrIzogc3JjL2hkZHRlbXAuYzozNzEKKysjLCBjLWZvcm1hdAorIG1zZ2lkICIiCistIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gRElTSzEgW0RJU0syXS4uLlxuIgorKyIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIFtUWVBFOl1ESVNLMSBbW1RZUEU6XURJU0syXS4uLlxuIgorICJcbiIKKyAiICAgaGRkdGVtcCBkaXNwbGF5cyB0aGUgdGVtcGVyYXR1cmUgb2YgZHJpdmVzIHN1cHBsaWVkIGluIGFyZ3VtZW50LlxuIgorICIgICBEcml2ZXMgbXVzdCBzdXBwb3J0IFMuTS5BLlIuVC5cbiIKKyAiXG4iCisrIiAgVFlQRSBjb3VsZCBiZSBTQVRBLCBQQVRBIG9yIFNDU0kuIElmIG9taXR0ZWQgaGRkdGVtcCB3aWxsIHRyeSB0byBndWVzcy5cbiIKKysiXG4iCisgIiAgLWIgICAtLWRyaXZlYmFzZSAgIDogIGRpc3BsYXkgZGF0YWJhc2UgZmlsZSBjb250ZW50IHRoYXQgYWxsb3cgaGRkdGVtcCB0b1xuIgorICIgICAgICAgICAgICAgICAgICAgICAgICByZWNvZ25pemUgc3VwcG9ydGVkIGRyaXZlcy5cbiIKKyAiICAtRCAgIC0tZGVidWcgICAgICAgOiAgZGlzcGxheSB2YXJpb3VzIFMuTS5BLlIuVC4gZmllbGRzIGFuZCB0aGVpciB2YWx1ZXMuXG4iCitAQCAtMTM4LDYgKzEwNyw3IEBACisgIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSAiCisgImRlZmF1bHQuKVxuIgorICIgIC1mICAgLS1maWxlPUZJTEUgICA6ICBzcGVjaWZ5IGRhdGFiYXNlIGZpbGUgdG8gdXNlLlxuIgorKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBkb24ndCBkYWVtb25pemUsIHN0YXkgaW4gZm9yZWdyb3VuZC5cbiIKKyAiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgbGlzdGVuIG9uIGEgc3BlY2lmaWMgaW50ZXJmYWNlIChpbiBUQ1AvSVAgZGFlbW9uICIKKyAibW9kZSkuXG4iCisgIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgorQEAgLTE0NSw2ICsxMTUsOCBAQAorICIgIC1zICAgLS1zZXBhcmF0b3I9QyA6ICBzZXBhcmF0b3IgdG8gdXNlIGJldHdlZW4gZmllbGRzIChpbiBUQ1AvSVAgZGFlbW9uICIKKyAibW9kZSkuXG4iCisgIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGxvZyB0ZW1wZXJhdHVyZSB0byBzeXNsb2cgZXZlcnkgcyBzZWNvbmRzLlxuIgorKyIgIC11ICAgLS11bml0PVtDfEZdICA6ICBmb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgIgorKyJGYWhyZW5oZWl0LlxuIgorICIgIC1xICAgLS1xdWlldCAgICAgICA6ICBkbyBub3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC5cbiIKKyAiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgZGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLlxuIgorICIgIC13ICAgLS13YWtlLXVwICAgICA6ICB3YWtlLXVwIHRoZSBkcml2ZSBpZiBuZWVkLlxuIgorQEAgLTE1MywxMSArMTI1LDE0IEBACisgIlxuIgorICJSZXBvcnQgYnVncyBvciBuZXcgZHJpdmVzIHRvIDxoZGR0ZW1wQGd1enUubmV0Pi5cbiIKKyBtc2dzdHIgIiIKKy0iIFV0aWxpc2F0aW9uOiBoZGR0ZW1wIFtPUFRJT05TXSBESVNRVUUxIFtESVNRVUUyXS4uLlxuIgorKyIgVXRpbGlzYXRpb246IGhkZHRlbXAgW09QVElPTlNdIFtUWVBFOl1ESVNRVUUxIFtbVFlQRTpdRElTUVVFMl0uLi5cbiIKKyAiXG4iCisgIiAgIGhkZHRlbXAgYWZmaWNoZSBsYSB0ZW1w6XJhdHVyZSBkZXMgbGVjdGV1cnMgcGFzc+lzIGVuIGFyZ3VtZW50LlxuIgorICIgICBMZXMgbGVjdGV1cnMgZG9pdmVudCBhdm9pciBsZSBzdXBwb3J0IFMuTS5BLlIuVC5cbiIKKyAiXG4iCisrIiAgVFlQRSBwZXV0IOp0cmUgU0FUQSwgUEFUQSBvdSBTQ1NJLiBTaSBsZSB0eXBlIGVzdCBvbWlzLCBoZGR0ZW1wIGVzc2FpZXJhXG4iCisrIiAgZGUgbGUgZGV2aW5lci5cbiIKKysiXG4iCisgIiAgLWIgICAtLWRyaXZlYmFzZSAgIDogIGFmZmljaGUgbGUgY29udGVudSBkdSBmaWNoaWVyIGRlIGJhc2UgZGUgZG9ubullICIKKyAicXVpIFxuIgorICIgICAgICAgICAgICAgICAgICAgICAgICBwZXJtZXQg4CBoZGR0ZW1wIGRlIHJlY29ubmHudHJlIGxlcyBsZWN0ZXVycyAiCitAQCAtMTcyLDYgKzE0Nyw3IEBACisgImTpZmF1dCkuXG4iCisgIiAgLWYgICAtLWZpbGU9RklMRSAgIDogIHNwZWNpZmllIGxlIGZpY2hpZXIg4CB1dGlsaXNlciBjb21tZSBiYXNlIGRlICIKKyAiZG9ubullcy5cbiIKKysiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgbmUgcGFzIGTpbW9uaXNlciwgcmVzdGVyIGF1IHByZW1pZXIgcGxhbi5cbiIKKyAiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAg6WNvdXRlIHN1ciB1bmUgaW50ZXJmYWNlIHNw6WNpZmlxdWUgKGVuIG1vZGUgZOltb24gIgorICJUQ1AvSVApLlxuIgorICIgIC1uICAgLS1udW1lcmljICAgICA6ICBhZmZpY2hlIHNldWxlbWVudCBsYSB0ZW1w6XJhdHVyZS5cbiIKK0BAIC0xODAsNiArMTU2LDggQEAKKyAiZOltb24gVENQL0lQKS5cbiIKKyAiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgZW5yZWdpc3RyZSBsYSB0ZW1w6XJhdHVyZSBkYW5zIHN5c2xvZyB0b3VzIGxlcyBzICIKKyAic2Vjb25kZXMuXG4iCisrIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGFmZmljaGUgbGEgdGVtcOlyYXR1cmUgZW4gZGVnculzIENlbHNpdXMgb3UgIgorKyJGYWhyZW5oZWl0LlxuIgorICIgIC1xICAgLS1xdWlldCAgICAgICA6ICBuZSB26XJpZmllIHBhcyBzaSBsZSBsZWN0ZXVyIGVzdCBzdXBwb3J06S5cbiIKKyAiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgYWZmaWNoZSBsYSB2ZXJzaW9uIGRlIGhkZHRlbXAuXG4iCisgIiAgLXcgICAtLXdha2UtdXAgICAgIDogIHLpdmVpbGxlciBsZSBsZWN0ZXVyIHNpIG7pY2Vzc2FpcmUuXG4iCitAQCAtMTg4LDYyICsxNjYsOTUgQEAKKyAiXG4iCisgIlJlcG9ydCBidWdzIG9yIG5ldyBkcml2ZXMgdG8gPGhkZHRlbXBAZ3V6dS5uZXQ+LlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTIyCisrIzogc3JjL2hkZHRlbXAuYzo0MDIKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJoZGR0ZW1wIHZlcnNpb24gJXNcbiIKKyBtc2dzdHIgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisrIzogc3JjL2hkZHRlbXAuYzo0MTgKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBpbnRlcnZhbC5cbiIKKyBtc2dzdHIgIkVSUkVVUiA6IGludGVydmFsbGUgaW52YWxpZGUuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1NDcKKysjOiBzcmMvaGRkdGVtcC5jOjQzOAorKyMsIGMtZm9ybWF0CisgbXNnaWQgIlRvbyBmZXcgYXJndW1lbnRzOiB5b3UgbXVzdCBzcGVjaWZ5IG9uZSBkcml2ZSwgYXQgbGVhc3QuXG4iCisgbXNnc3RyICJUcm9wIHBldSBkJ2FyZ3VtZW50cyA6IHZvdXMgZGV2ZXogc3DpY2lmaWVyIGF1IG1vaW5zIHVuIGxlY3RldXIuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1NTcKKysjOiBzcmMvaGRkdGVtcC5jOjQ0OAorKyMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBjYW4ndCB1c2UgLS1kZWJ1ZyBhbmQgLS1kYWVtb24gb3IgLS1zeXNsb2cgb3B0aW9ucyB0b2dldGhlci5cbiIKKyBtc2dzdHIgIiIKKyAiRVJSRVVSOiBpbXBvc3NpYmxlIGQndXRpbGlzZXIgbGVzIG9wdGlvbnMgLS1kZWJ1ZyBldCAtLWRhZW1vbiBvdSAtLXN5c2xvZyBlbiAiCisgIm3qbWUgdGVtcHMuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1ODMKKysjOiBzcmMvaGRkdGVtcC5jOjUwNQorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiAlczogY2FuJ3QgZGV0ZXJtaW5lIGJ1cyB0eXBlIChvciB0aGlzIGJ1cyB0eXBlIGlzIHVua25vd24pXG4iCisgbXNnc3RyICIiCisgIkVSUkVVUjogJXM6IGltcG9zc2libGUgZGUgZOl0ZXJtaW5lciBsZSB0eXBlIGRlIGJ1cyAob3UgY2UgdHlwZSBkZSBidXMgZXN0ICIKKyAiaW5jb25udSlcbiIKKyAKKy0jOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2OAorKyM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY0CisgbXNnaWQgInVua25vd24iCisgbXNnc3RyICJpbmNvbm51IgorIAorLSM6IHNyYy9hdGEuYzo5OAorKyM6IHNyYy9hdGEuYzo4NSBzcmMvYXRhLmM6MTA0IHNyYy9zY3NpLmM6OTEKKyAjLCBjLWZvcm1hdAorLW1zZ2lkICJmaWVsZCglZClcdCA9ICVkXG4iCistbXNnc3RyICJjaGFtcCglZClcdCA9ICVkXG4iCistCistIzogc3JjL2F0YS5jOjE2NworIG1zZ2lkICJTLk0uQS5SLlQuIG5vdCBhdmFpbGFibGUiCisgbXNnc3RyICJTLk0uQS5SLlQuIG5vbiBkaXNwb25pYmxlIgorIAorLSM6IHNyYy9kYi5jOjE4MAorKyM6IHNyYy9kYi5jOjExNQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiIKKysiXG4iCisrIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCisrIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisrbXNnc3RyICIiCisrIlxuIgorKyJSZWdleHAlc3wgVmFsZXVyIHwgRGVzY3JpcHRpb25cbiIKKysiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisrCisrIzogc3JjL2RiLmM6MTIxCisrIywgYy1mb3JtYXQKKyttc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKKyttc2dzdHIgIiVzJXN8ICAlNWQgfCAlc1xuIgorKworKyM6IHNyYy9kYi5jOjIzNgorICMsIGMtZm9ybWF0CisgbXNnaWQgImhkZHRlbXA6IGNhbid0IG9wZW4gJTEkczogJTIkc1xuIgorIG1zZ3N0ciAiaGRkdGVtcDogbmUgcGV1dCBvdXZyaXIgJTEkczogJTIkc1xuIgorIAorLSM6IHNyYy9kYi5jOjE5NAorKyM6IHNyYy9kYi5jOjI1MAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBzeW50YXggZXJyb3IgYXQgbGluZSAlMSRkIGluICUyJHNcbiIKKyBtc2dzdHIgIkVSUkVVUjogZXJyZXVyIGRlIHN5bnRheGUg4CBsYSBsaWduZSAlMSRkOiAlMiRzXG4iCisgCistIzogc3JjL2RiLmM6MjAxCisrIzogc3JjL2RiLmM6MjU3CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiICBFUlJPUjogbGluZSBleGNlZWQgJTEkZCBjaGFyYWN0ZXJzIGluICUyJHMuXG4iCisgbXNnc3RyICIgIEVSUkVVUjogbGlnbmUgZXjpY2RhbnQgJTEkZCBjYXJhY3TocmVzIGRhbnMgJTIkcy5cbiIKKyAKKy0jOiBzcmMvc2NzaS5jOjExMiBzcmMvc2NzaS5jOjEzMAorKyM6IHNyYy9zY3NpLmM6MTExIHNyYy9zY3NpLmM6MTI5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAibG9nIHNlbnNlIGZhaWxlZCA6ICVzIgorIG1zZ3N0ciAiZWNoZWMgZGUgJ2xvZyBzZW5zZScgOiAlcyAiCisrCisrI34gbXNnaWQgIiIKKysjfiAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKKysjfiAiV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKKysjfiAiV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKKysjfiAiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKysjfiAiV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKKysjfiBtc2dzdHIgIiIKKysjfiAiQVRURU5USU9OIDogTGUgbGVjdGV1ciAlcyBuJ2FwcGFyYWl0IHBhcyBkYW5zIGxhIGJhc2UgZGUgZG9ubullcyBkZXMgIgorKyN+ICJsZWN0ZXVycyBzdXBwb3J06XNcbiIKKysjfiAiQVRURU5USU9OIDogTWFpcyBlbiB1dGlsaXNhbnQgdW5lIHZhbGV1ciBjb3VyYW50ZSwgaWwgcmVudm9pZSBxdWVscXVlICIKKysjfiAiY2hvc2UuXG4iCisrI34gIkFUVEVOVElPTiA6IE5vdGV6IHF1ZSBsYSB0ZW1w6XJhdHVyZSByZW52b3npZSBwZXV0IOp0cmUgZXJyb27pZS5cbiIKKysjfiAiQVRURU5USU9OIDogVm9pciBsZXMgb3B0aW9ucyAtLWhlbHAsIC0tZGVidWcgZXQgLS1kcml2ZWJhc2UuXG4iCisrI34gIkFUVEVOVElPTiA6IEV0IG4nb3VibGlleiBwYXMgZCdham91dGVyIHZvdHJlIGxlY3RldXIgYXUgZmljaGllciBoZGR0ZW1wLiIKKysjfiAiZGJcbiIKKysKKysjfiBtc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorKyN+IG1zZ3N0ciAiY2hhbXAoJWQpXHQgPSAlZFxuIgorLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3BvL3J1LnBvCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3BvL3J1LnBvCitAQCAtNiw4ICs2LDggQEAKKyBtc2dpZCAiIgorIG1zZ3N0ciAiIgorICJQcm9qZWN0LUlkLVZlcnNpb246IGhkZHRlbXAgMC4zLWJldGEzXG4iCistIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBoZGR0ZW1wQGd1enUubmV0XG4iCistIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA1LTAyLTI1IDIyOjQzKzAxMDBcbiIKKysiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgorKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNi0yOSAxNjoyNCswMjAwXG4iCisgIlBPLVJldmlzaW9uLURhdGU6IDIwMDMtMDMtMDggMTY6NDIrMDMwMFxuIgorICJMYXN0LVRyYW5zbGF0b3I6IE1pY2hhZWwgU2hpZ29yaW4gPG1pa2VAYWx0bGludXgucnU+XG4iCisgIkxhbmd1YWdlLVRlYW06IFJ1c3NpYW4gPHJ1QGxpLm9yZz5cbiIKK0BAIC0xNSwyMyArMTUsNyBAQAorICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9a29pOC1yXG4iCisgIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjExMgorLSMsIGMtZm9ybWF0CistbXNnaWQgIiIKKy0iXG4iCistIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCistIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCistbXNnc3RyICIiCistIlxuIgorLSLyxcfcy9Mlc3wg+s7B3i4gfCDv0MnTwc7JxSAgIFxuIgorLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MTE4CistIywgYy1mb3JtYXQKKy1tc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKKy1tc2dzdHIgIiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjE2MQorKyM6IHNyYy9oZGR0ZW1wLmM6MTU2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJcbiIKK0BAIC00MCw3ICsyNCw3IEBACisgIlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTg4CisrIzogc3JjL2hkZHRlbXAuYzoxODkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3Qgc2VlbSB0byBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorQEAgLTUzLDcyICszNyw1OSBAQAorICL37unt4e7p5Tog5dPMySDX2SDUz97OzyDazsHF1MUsIN7UzyDEwdTeycsgxdPU2CwgzsHQydvJ1MUgaGRkdGVtcEBndXp1Lm5ldFxuIgorICL37unt4e7p5TogKNPNLiDP0MPJySAtLWhlbHAsIC0tZGVidWcgySAtLWRyaXZlYmFzZSkuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxOTIKKysjOiBzcmMvaGRkdGVtcC5jOjE5NworICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogIG5vIHNlbnNvclxuIgorIG1zZ3N0ciAiJXM6ICVzOiAgzsXUIMTB1N7Jy8FcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE5NworLSMsIGMtZm9ybWF0CistbXNnaWQgIiIKKy0iV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKKy0iV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKKy0iV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKKy0iV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKy0iV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKKy1tc2dzdHIgIiIKKy0i9+7p7eHu6eU6IOTJ08sgJXMgzsUg18vMwN7FziDXIMLB2tUgxMHOztnIINDPxMTF0tbJ18HFzdnIINDSydfPxM/XLlxuIgorLSL37unt4e7p5Tog7s8g0yDJ09DPzNjaz9fBzsnFzSDSwdPQ0s/T1NLBzsXOztnIINDB0sHNxdTSz9cgz84g3tTPLdTPINfZxMHF1C5cbiIKKy0i9+7p7eHu6eU6IPrBzcXU2NTFLCDe1M8g0M/LwdrBzs7B0SDUxc3QxdLB1NXSwSDNz9bF1CDUwcvP18/KIM7FINHXzNHU2NPRLlxuIgorLSL37unt4e7p5Tog880uIM/Qw8nJIC0taGVscCwgLS1kZWJ1ZyDJIC0tZHJpdmViYXNlLlxuIgorLSL37unt4e7p5Tog6SDOxSDawcLVxNjUxSwg3tTPIM3P1s7PIMTPwsHXydTYINDSydfPxCDXIGhkZHRlbXAuZGJcbiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjIwMgorKyM6IHNyYy9oZGR0ZW1wLmM6MjExCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiAgJWQlc0Mgb3IgJXNGXG4iCisgbXNnc3RyICIlczogJXM6ICAlZCVzQyDJzMkgJXNGXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMTQKKysjOiBzcmMvaGRkdGVtcC5jOjIzNQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmdcbiIKKyBtc2dzdHIgIiVzOiAlczogIM7F1CDEwdTeycvBXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMTcKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIlczogJXM6ICBrbm93biBkcml2ZSwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKysjOiBzcmMvaGRkdGVtcC5jOjI0MgorKyMsIGZ1enp5LCBjLWZvcm1hdAorK21zZ2lkICIlczogJXM6ICBkcml2ZSBzdXBwb3J0ZWQsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisgbXNnc3RyICIlczogJXM6ICDJ2tfF09TO2cogxMnTyywgzsUg08/ExdLWwd3JyiDEwdTeycvBINTFzdDF0sHU1dLZLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjIwCisrIzogc3JjL2hkZHRlbXAuYzoyNDYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogJXM6ICVzOiB1bmtub3duIHJldHVybmVkIHN0YXR1c1xuIgorIG1zZ3N0ciAi7/vp4uvhOiAlczogJXM6IM7FydrXxdPUztnKINPUwdTV0yDXz9rX0sHUwVxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjM1CisrIzogc3JjL2hkZHRlbXAuYzoyNjEKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIlxuIgorICJJZiBvbmUgb2YgdGhlIGZpZWxkIHZhbHVlIHNlZW1zIHRvIG1hdGNoIHRoZSB0ZW1wZXJhdHVyZSwgYmUgc3VyZSB0byByZWFkXG4iCistInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIG1lIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKysidGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzA4CisrIzogc3JjL2hkZHRlbXAuYzozMzgKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBzZXBhcmF0b3IuXG4iCisgbXNnc3RyICLv++ni6+E6IM7F18XSztnKINLB2sTFzMnUxczYLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzE5CisrIzogc3JjL2hkZHRlbXAuYzozNDkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBwb3J0IG51bWJlci5cbiIKKyBtc2dzdHIgIu/96eLr4TogzsXXxdLO2cogzs/NxdIg0M/S1MEuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzozMjkKKysjOiBzcmMvaGRkdGVtcC5jOjM3MQorICMsIGZ1enp5LCBjLWZvcm1hdAorIG1zZ2lkICIiCistIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gRElTSzEgW0RJU0syXS4uLlxuIgorKyIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIFtUWVBFOl1ESVNLMSBbW1RZUEU6XURJU0syXS4uLlxuIgorICJcbiIKKyAiICAgaGRkdGVtcCBkaXNwbGF5cyB0aGUgdGVtcGVyYXR1cmUgb2YgZHJpdmVzIHN1cHBsaWVkIGluIGFyZ3VtZW50LlxuIgorICIgICBEcml2ZXMgbXVzdCBzdXBwb3J0IFMuTS5BLlIuVC5cbiIKKyAiXG4iCisrIiAgVFlQRSBjb3VsZCBiZSBTQVRBLCBQQVRBIG9yIFNDU0kuIElmIG9taXR0ZWQgaGRkdGVtcCB3aWxsIHRyeSB0byBndWVzcy5cbiIKKysiXG4iCisgIiAgLWIgICAtLWRyaXZlYmFzZSAgIDogIGRpc3BsYXkgZGF0YWJhc2UgZmlsZSBjb250ZW50IHRoYXQgYWxsb3cgaGRkdGVtcCB0b1xuIgorICIgICAgICAgICAgICAgICAgICAgICAgICByZWNvZ25pemUgc3VwcG9ydGVkIGRyaXZlcy5cbiIKKyAiICAtRCAgIC0tZGVidWcgICAgICAgOiAgZGlzcGxheSB2YXJpb3VzIFMuTS5BLlIuVC4gZmllbGRzIGFuZCB0aGVpciB2YWx1ZXMuXG4iCitAQCAtMTI4LDYgKzk5LDcgQEAKKyAiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgcnVuIGhkZHRlbXAgaW4gVENQL0lQIGRhZW1vbiBtb2RlIChwb3J0ICVkIGJ5ICIKKyAiZGVmYXVsdC4pXG4iCisgIiAgLWYgICAtLWZpbGU9RklMRSAgIDogIHNwZWNpZnkgZGF0YWJhc2UgZmlsZSB0byB1c2UuXG4iCisrIiAgLUYgICAtLWZvcmVncm91bmQgIDogIGRvbid0IGRhZW1vbml6ZSwgc3RheSBpbiBmb3JlZ3JvdW5kLlxuIgorICIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBsaXN0ZW4gb24gYSBzcGVjaWZpYyBpbnRlcmZhY2UgKGluIFRDUC9JUCBkYWVtb24gIgorICJtb2RlKS5cbiIKKyAiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgcHJpbnQgb25seSB0aGUgdGVtcGVyYXR1cmUuXG4iCitAQCAtMTM1LDYgKzEwNyw4IEBACisgIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBmaWVsZHMgKGluIFRDUC9JUCBkYWVtb24gIgorICJtb2RlKS5cbiIKKyAiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgbG9nIHRlbXBlcmF0dXJlIHRvIHN5c2xvZyBldmVyeSBzIHNlY29uZHMuXG4iCisrIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2Vsc2l1cyBvciAiCisrIkZhaHJlbmhlaXQuXG4iCisgIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIGRvIG5vdCBjaGVjayBpZiB0aGUgZHJpdmUgaXMgc3VwcG9ydGVkLlxuIgorICIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBkaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuXG4iCisgIiAgLXcgICAtLXdha2UtdXAgICAgIDogIHdha2UtdXAgdGhlIGRyaXZlIGlmIG5lZWQuXG4iCitAQCAtMTY4LDU5ICsxNDIsOTAgQEAKKyAiXG4iCisgIvPPz8Ldxc7J0SDPwiDP28nCy8HIIMkgxMHOztnFIMTM0SDEydPLz9cgz9TQ0sHXzNHK1MUgzsEgPGhkZHRlbXBAZ3V6dS5uZXQ+LlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTIyCisrIzogc3JjL2hkZHRlbXAuYzo0MDIKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJoZGR0ZW1wIHZlcnNpb24gJXNcbiIKKyBtc2dzdHIgIvfF0tPJ0SBoZGR0ZW1wOiAlc1xuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisrIzogc3JjL2hkZHRlbXAuYzo0MTgKKyAjLCBmdXp6eSwgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgaW50ZXJ2YWwuXG4iCisgbXNnc3RyICLv++ni6+E6IM7F18XSztnKINLB2sTFzMnUxczYLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisrIzogc3JjL2hkZHRlbXAuYzo0MzgKKysjLCBjLWZvcm1hdAorIG1zZ2lkICJUb28gZmV3IGFyZ3VtZW50czogeW91IG11c3Qgc3BlY2lmeSBvbmUgZHJpdmUsIGF0IGxlYXN0LlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTU3CistIywgZnV6enkKKysjOiBzcmMvaGRkdGVtcC5jOjQ0OAorKyMsIGZ1enp5LCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogY2FuJ3QgdXNlIC0tZGVidWcgYW5kIC0tZGFlbW9uIG9yIC0tc3lzbG9nIG9wdGlvbnMgdG9nZXRoZXIuXG4iCisgbXNnc3RyICLv++ni6+E6IM/Ezs/X0sXNxc7Oz8UgydPQz8zY2s/Xwc7JxSAtLWRlYnVnIMkgLS1kYWVtb24gzsXEz9DV09TJzc8uXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1ODMKKysjOiBzcmMvaGRkdGVtcC5jOjUwNQorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiAlczogY2FuJ3QgZGV0ZXJtaW5lIGJ1cyB0eXBlIChvciB0aGlzIGJ1cyB0eXBlIGlzIHVua25vd24pXG4iCisgbXNnc3RyICLv++ni6+E6ICVzOiDOxdfP2s3P1s7PIM/Q0sXExczJ1Ngg1MnQINvJztlcbiIKKyAKKy0jOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2OAorKyM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY0CisgbXNnaWQgInVua25vd24iCisgbXNnc3RyICLOxcna1y4iCisgCistIzogc3JjL2F0YS5jOjk4CisrIzogc3JjL2F0YS5jOjg1IHNyYy9hdGEuYzoxMDQgc3JjL3Njc2kuYzo5MQorICMsIGMtZm9ybWF0CistbXNnaWQgImZpZWxkKCVkKVx0ID0gJWRcbiIKKy1tc2dzdHIgItDPzMUoJWQpXHQgPSAlZFxuIgorLQorLSM6IHNyYy9hdGEuYzoxNjcKKyBtc2dpZCAiUy5NLkEuUi5ULiBub3QgYXZhaWxhYmxlIgorIG1zZ3N0ciAiUy5NLkEuUi5ULiDOxcTP09TV0MXOIgorIAorLSM6IHNyYy9kYi5jOjE4MAorKyM6IHNyYy9kYi5jOjExNQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiIKKysiXG4iCisrIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCisrIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisrbXNnc3RyICIiCisrIlxuIgorKyLyxcfcy9Mlc3wg+s7B3i4gfCDv0MnTwc7JxSAgIFxuIgorKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorKworKyM6IHNyYy9kYi5jOjEyMQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCisrbXNnc3RyICIiCisrCisrIzogc3JjL2RiLmM6MjM2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiaGRkdGVtcDogY2FuJ3Qgb3BlbiAlMSRzOiAlMiRzXG4iCisgbXNnc3RyICJoZGR0ZW1wOiDOxSDNz8fVIM/Uy9LZ1NggJTEkczogJTIkc1xuIgorIAorLSM6IHNyYy9kYi5jOjE5NAorKyM6IHNyYy9kYi5jOjI1MAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBzeW50YXggZXJyb3IgYXQgbGluZSAlMSRkIGluICUyJHNcbiIKKyBtc2dzdHIgIvPJztTBy9PJ3sXTy8HRIO/76eLr4SDXINPU0s/LxSAlMSRkIMbByszBICUyJHNcbiIKKyAKKy0jOiBzcmMvZGIuYzoyMDEKKysjOiBzcmMvZGIuYzoyNTcKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIgIEVSUk9SOiBsaW5lIGV4Y2VlZCAlMSRkIGNoYXJhY3RlcnMgaW4gJTIkcy5cbiIKKyBtc2dzdHIgIu/76eLr4Tog09TSz8vBIMTMyc7OxcUgJTEkZCDTyc3Xz8zP1yDXICUyJHMuXG4iCisgCistIzogc3JjL3Njc2kuYzoxMTIgc3JjL3Njc2kuYzoxMzAKKysjOiBzcmMvc2NzaS5jOjExMSBzcmMvc2NzaS5jOjEyOQorICMsIGMtZm9ybWF0CisgbXNnaWQgImxvZyBzZW5zZSBmYWlsZWQgOiAlcyIKKyBtc2dzdHIgIiIKKysKKysjfiBtc2dpZCAiIgorKyN+ICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgorKyN+ICJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgorKyN+ICJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgorKyN+ICJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgorKyN+ICJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgorKyN+IG1zZ3N0ciAiIgorKyN+ICL37unt4e7p5Tog5MnTyyAlcyDOxSDXy8zA3sXOINcgwsHa1SDEwc7O2cgg0M/ExMXS1snXwcXN2cgg0NLJ18/Ez9cuXG4iCisrI34gIvfu6e3h7unlOiDuzyDTIMnT0M/M2NrP18HOycXNINLB09DSz9PU0sHOxc7O2cgg0MHSwc3F1NLP1yDPziDe1M8t1M8gIgorKyN+ICLX2cTBxdQuXG4iCisrI34gIvfu6e3h7unlOiD6wc3F1NjUxSwg3tTPINDPy8Hawc7OwdEg1MXN0MXSwdTV0sEgzc/WxdQg1MHLz9fPyiDOxSAiCisrI34gItHXzNHU2NPRLlxuIgorKyN+ICL37unt4e7p5Tog880uIM/Qw8nJIC0taGVscCwgLS1kZWJ1ZyDJIC0tZHJpdmViYXNlLlxuIgorKyN+ICL37unt4e7p5Tog6SDOxSDawcLVxNjUxSwg3tTPIM3P1s7PIMTPwsHXydTYINDSydfPxCDXIGhkZHRlbXAuZGJcbiIKKysKKysjfiBtc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorKyN+IG1zZ3N0ciAi0M/MxSglZClcdCA9ICVkXG4iCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vc3YucG8KKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vc3YucG8KK0BAIC02LDggKzYsOCBAQAorIG1zZ2lkICIiCisgbXNnc3RyICIiCisgIlByb2plY3QtSWQtVmVyc2lvbjogaGRkdGVtcCAwLjMtYmV0YTE0LTRcbiIKKy0iUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGhkZHRlbXBAZ3V6dS5uZXRcbiIKKy0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDUtMDItMjUgMjI6NDMrMDEwMFxuIgorKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCisrIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA2LTI5IDE2OjI0KzAyMDBcbiIKKyAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNS0xMS0wMiAxOTowMyswMTAwXG4iCisgIkxhc3QtVHJhbnNsYXRvcjogRGFuaWVsIE55bGFuZGVyIDxwb0BkYW5pZWxueWxhbmRlci5zZT5cbiIKKyAiTGFuZ3VhZ2UtVGVhbTogU3dlZGlzaCA8c3ZAbGkub3JnPlxuIgorQEAgLTE3LDIzICsxNyw3IEBACisgIlgtUG9lZGl0LUxhbmd1YWdlOiBzd2VcbiIKKyAiWC1Qb2VkaXQtQ291bnRyeTogc3dlXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxMTIKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIiCistIlxuIgorLSJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgorLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorLW1zZ3N0ciAiIgorLSJcbiIKKy0iUmVnZXhwJXN8IFbkcmRlIHwgQmVza3Jpdm5pbmdcbiIKKy0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjExOAorLSMsIGMtZm9ybWF0CistbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCistbXNnc3RyICIlcyVzfCAlNWQgfCAlc1xuIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MTYxCisrIzogc3JjL2hkZHRlbXAuYzoxNTYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIlxuIgorQEAgLTQ2LDcgKzMwLDcgQEAKKyAiTW9kZWxsOiAlc1xuIgorICJcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE4OAorKyM6IHNyYy9oZGR0ZW1wLmM6MTg5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKK0BAIC02MCw3NiArNDQsNjMgQEAKKyAibmV0KS5cbiIKKyAiVkFSTklORzogU2UgLS1oZWxwLCAtLWRlYnVnIG9jaCAtLWRyaXZlYmFzZSBmbGFnZ29ybmEuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxOTIKKysjOiBzcmMvaGRkdGVtcC5jOjE5NworICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogIG5vIHNlbnNvclxuIgorIG1zZ3N0ciAiJXM6ICVzOiAgaW5nZW4gc2Vuc29yXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxOTcKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIiCistIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCistIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCistIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCistIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCistIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCistbXNnc3RyICIiCistIlZBUk5JTkc6IERpc2tlbiAlcyB2ZXJrYXIgaW50ZSBmaW5uYXMgaSBkYXRhYmFzZW4g9nZlciBkaXNrYXIgc29tIHN09mRzXG4iCistIlZBUk5JTkc6IE1lbiBhbnbkbmRlciBtYW4gZXR0IHZhbmxpZ3QgduRyZGUgcmFwcG9ydGVyYXIgZGVuIG7lZ290LlxuIgorLSJWQVJOSU5HOiBOb3RlcmEgYXR0IHRlbXBlcmF0dXJlbiBzb20gdmlzYXMga2FuIHZhcmEgZmVsYWt0aWcuXG4iCistIlZBUk5JTkc6IFNlIC0taGVscCwgLS1kZWJ1ZyBvY2ggLS1kcml2ZWJhc2UgZmxhZ2dvcm5hLlxuIgorLSJWQVJOSU5HOiBPY2ggZ2z2bSBpbnRlIGF0dCBkdSBrYW4gbORnZ2EgdGlsbCBkaW4gZGlzayB0aWxsIGhkZHRlbXAuZGJcbiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjIwMgorKyM6IHNyYy9oZGR0ZW1wLmM6MjExCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiAgJWQlc0Mgb3IgJXNGXG4iCisgbXNnc3RyICIlczogJXM6ICAlZCVzQyBlbGxlciAlc0ZcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIxNAorKyM6IHNyYy9oZGR0ZW1wLmM6MjM1CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiBkcml2ZSBpcyBzbGVlcGluZ1xuIgorIG1zZ3N0ciAiJXM6ICVzOiBkaXNrZW4gc292ZXJcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIxNworLSMsIGMtZm9ybWF0CistbXNnaWQgIiVzOiAlczogIGtub3duIGRyaXZlLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorKyM6IHNyYy9oZGR0ZW1wLmM6MjQyCisrIywgZnV6enksIGMtZm9ybWF0CisrbXNnaWQgIiVzOiAlczogIGRyaXZlIHN1cHBvcnRlZCwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKyBtc2dzdHIgIiVzOiAlczogIGvkbmQgZGlzayBtZW4gZGVuIGhhciBpbmdlbiB0ZW1wZXJhdHVyc2Vuc29yLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjIwCisrIzogc3JjL2hkZHRlbXAuYzoyNDYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogJXM6ICVzOiB1bmtub3duIHJldHVybmVkIHN0YXR1c1xuIgorIG1zZ3N0ciAiRkVMOiAlczogJXM6IG9r5G5kIHJldHVybmVyYWQgc3RhdHVzXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMzUKKy0jLCBjLWZvcm1hdAorKyM6IHNyYy9oZGR0ZW1wLmM6MjYxCisrIywgZnV6enksIGMtZm9ybWF0CisgbXNnaWQgIiIKKyAiXG4iCisgIklmIG9uZSBvZiB0aGUgZmllbGQgdmFsdWUgc2VlbXMgdG8gbWF0Y2ggdGhlIHRlbXBlcmF0dXJlLCBiZSBzdXJlIHRvIHJlYWRcbiIKKy0idGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgbWUgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgorKyJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisgbXNnc3RyICIiCisgIlxuIgorICJPbSBldHQgYXYgZuRsdHbkcmRlbmEgdmVya2FyIG1hdGNoYSB0ZW1wZXJhdHVyZW4sIHZhciBz5GtlciBw5SBhdHQgZHVcbiIKKyAibORzdCBtYW51YWxzaWRhbiBm9nIgaGRkdGVtcCBm9nJlIGR1IHNraWNrYXIgZW4gcmFwcG9ydCB0aWxsIG1pZyAoc2VrdGlvbmVuXG4iCisgIlJFUE9SVCkuIFRhY2suXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzozMDgKKysjOiBzcmMvaGRkdGVtcC5jOjMzOAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHNlcGFyYXRvci5cbiIKKyBtc2dzdHIgIkZFTDogb2dpbHRpZyBzZXBhcmF0b3IuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzozMTkKKysjOiBzcmMvaGRkdGVtcC5jOjM0OQorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHBvcnQgbnVtYmVyLlxuIgorIG1zZ3N0ciAiRkVMOiBvZ2lsdGlndCBwb3J0bnVtbWVyLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzI5CistIywgYy1mb3JtYXQKKysjOiBzcmMvaGRkdGVtcC5jOjM3MQorKyMsIGZ1enp5LCBjLWZvcm1hdAorIG1zZ2lkICIiCistIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gRElTSzEgW0RJU0syXS4uLlxuIgorKyIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIFtUWVBFOl1ESVNLMSBbW1RZUEU6XURJU0syXS4uLlxuIgorICJcbiIKKyAiICAgaGRkdGVtcCBkaXNwbGF5cyB0aGUgdGVtcGVyYXR1cmUgb2YgZHJpdmVzIHN1cHBsaWVkIGluIGFyZ3VtZW50LlxuIgorICIgICBEcml2ZXMgbXVzdCBzdXBwb3J0IFMuTS5BLlIuVC5cbiIKKyAiXG4iCisrIiAgVFlQRSBjb3VsZCBiZSBTQVRBLCBQQVRBIG9yIFNDU0kuIElmIG9taXR0ZWQgaGRkdGVtcCB3aWxsIHRyeSB0byBndWVzcy5cbiIKKysiXG4iCisgIiAgLWIgICAtLWRyaXZlYmFzZSAgIDogIGRpc3BsYXkgZGF0YWJhc2UgZmlsZSBjb250ZW50IHRoYXQgYWxsb3cgaGRkdGVtcCB0b1xuIgorICIgICAgICAgICAgICAgICAgICAgICAgICByZWNvZ25pemUgc3VwcG9ydGVkIGRyaXZlcy5cbiIKKyAiICAtRCAgIC0tZGVidWcgICAgICAgOiAgZGlzcGxheSB2YXJpb3VzIFMuTS5BLlIuVC4gZmllbGRzIGFuZCB0aGVpciB2YWx1ZXMuXG4iCitAQCAtMTM5LDYgKzExMCw3IEBACisgIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSAiCisgImRlZmF1bHQuKVxuIgorICIgIC1mICAgLS1maWxlPUZJTEUgICA6ICBzcGVjaWZ5IGRhdGFiYXNlIGZpbGUgdG8gdXNlLlxuIgorKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBkb24ndCBkYWVtb25pemUsIHN0YXkgaW4gZm9yZWdyb3VuZC5cbiIKKyAiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgbGlzdGVuIG9uIGEgc3BlY2lmaWMgaW50ZXJmYWNlIChpbiBUQ1AvSVAgZGFlbW9uICIKKyAibW9kZSkuXG4iCisgIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgorQEAgLTE0Niw2ICsxMTgsOCBAQAorICIgIC1zICAgLS1zZXBhcmF0b3I9QyA6ICBzZXBhcmF0b3IgdG8gdXNlIGJldHdlZW4gZmllbGRzIChpbiBUQ1AvSVAgZGFlbW9uICIKKyAibW9kZSkuXG4iCisgIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGxvZyB0ZW1wZXJhdHVyZSB0byBzeXNsb2cgZXZlcnkgcyBzZWNvbmRzLlxuIgorKyIgIC11ICAgLS11bml0PVtDfEZdICA6ICBmb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgIgorKyJGYWhyZW5oZWl0LlxuIgorICIgIC1xICAgLS1xdWlldCAgICAgICA6ICBkbyBub3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC5cbiIKKyAiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgZGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLlxuIgorICIgIC13ICAgLS13YWtlLXVwICAgICA6ICB3YWtlLXVwIHRoZSBkcml2ZSBpZiBuZWVkLlxuIgorQEAgLTE4NCw2MSArMTU4LDkxIEBACisgIlxuIgorICJSYXBwb3J0ZXJhIGJ1Z2dhciBlbGxlciBueWEgaOVyZGRpc2thciB0aWxsIDxoZGR0ZW1wQGd1enUubmV0Pi5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjUyMgorKyM6IHNyYy9oZGR0ZW1wLmM6NDAyCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiaGRkdGVtcCB2ZXJzaW9uICVzXG4iCisgbXNnc3RyICJoZGR0ZW1wIHZlcnNpb24gJXNcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU0NworKyM6IHNyYy9oZGR0ZW1wLmM6NDE4CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgaW50ZXJ2YWwuXG4iCisgbXNnc3RyICJGRUw6IG9naWx0aWd0IGludGVydmFsbC5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU0NworKyM6IHNyYy9oZGR0ZW1wLmM6NDM4CisrIywgYy1mb3JtYXQKKyBtc2dpZCAiVG9vIGZldyBhcmd1bWVudHM6IHlvdSBtdXN0IHNwZWNpZnkgb25lIGRyaXZlLCBhdCBsZWFzdC5cbiIKKyBtc2dzdHIgIkb2ciBm5SBhcmd1bWVudDogZHUgbeVzdGUgc3BlY2lmaWNlcmEg5XRtaW5zdG9uZSBlbiBkaXNrLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTU3CisrIzogc3JjL2hkZHRlbXAuYzo0NDgKKysjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogY2FuJ3QgdXNlIC0tZGVidWcgYW5kIC0tZGFlbW9uIG9yIC0tc3lzbG9nIG9wdGlvbnMgdG9nZXRoZXIuXG4iCisgbXNnc3RyICIiCisgIkZFTDoga2FuIGludGUgYW525G5kYSAtLWRlYnVnIG9jaCAtLWRhZW1vbiBlbGxlciAtLXN5c2xvZyBmbGFnZ29ybmEgIgorICJ0aWxsc2FtbWFucy5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU4MworKyM6IHNyYy9oZGR0ZW1wLmM6NTA1CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6ICVzOiBjYW4ndCBkZXRlcm1pbmUgYnVzIHR5cGUgKG9yIHRoaXMgYnVzIHR5cGUgaXMgdW5rbm93bilcbiIKKyBtc2dzdHIgIiIKKyAiRkVMOiAlczoga2FuIGludGUgZmFzdHN05GxsYSBidXNzdHlwIChlbGxlciBz5SDkciBkZW5uYSBidXNzdHlwIG9r5G5kKVxuIgorIAorLSM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY4CisrIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjQKKyBtc2dpZCAidW5rbm93biIKKyBtc2dzdHIgIm9r5G5kIgorIAorLSM6IHNyYy9hdGEuYzo5OAorKyM6IHNyYy9hdGEuYzo4NSBzcmMvYXRhLmM6MTA0IHNyYy9zY3NpLmM6OTEKKyAjLCBjLWZvcm1hdAorLW1zZ2lkICJmaWVsZCglZClcdCA9ICVkXG4iCistbXNnc3RyICJm5Gx0KCVkKVx0ID0gJWRcbiIKKy0KKy0jOiBzcmMvYXRhLmM6MTY3CisgbXNnaWQgIlMuTS5BLlIuVC4gbm90IGF2YWlsYWJsZSIKKyBtc2dzdHIgIlMuTS5BLlIuVC4g5HIgaW50ZSB0aWxsZ+RuZ2xpZyIKKyAKKy0jOiBzcmMvZGIuYzoxODAKKysjOiBzcmMvZGIuYzoxMTUKKysjLCBjLWZvcm1hdAorK21zZ2lkICIiCisrIlxuIgorKyJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgorKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorK21zZ3N0ciAiIgorKyJcbiIKKysiUmVnZXhwJXN8IFbkcmRlIHwgQmVza3Jpdm5pbmdcbiIKKysiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKysKKysjOiBzcmMvZGIuYzoxMjEKKysjLCBjLWZvcm1hdAorK21zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgorK21zZ3N0ciAiJXMlc3wgJTVkIHwgJXNcbiIKKysKKysjOiBzcmMvZGIuYzoyMzYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJoZGR0ZW1wOiBjYW4ndCBvcGVuICUxJHM6ICUyJHNcbiIKKyBtc2dzdHIgImhkZHRlbXA6IGthbiBpbnRlIPZwcG5hICUxJHM6ICUyJHNcbiIKKyAKKy0jOiBzcmMvZGIuYzoxOTQKKysjOiBzcmMvZGIuYzoyNTAKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogc3ludGF4IGVycm9yIGF0IGxpbmUgJTEkZCBpbiAlMiRzXG4iCisgbXNnc3RyICJGRUw6IHN5bnRheGZlbCBw5SByYWQgJTEkZCBpICUyJHNcbiIKKyAKKy0jOiBzcmMvZGIuYzoyMDEKKysjOiBzcmMvZGIuYzoyNTcKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIgIEVSUk9SOiBsaW5lIGV4Y2VlZCAlMSRkIGNoYXJhY3RlcnMgaW4gJTIkcy5cbiIKKyBtc2dzdHIgIiBGRUw6IHJhZGVuIPZ2ZXJzdGlnZXIgJTEkZCB0ZWNrZW4gaSAlMiRzLlxuIgorIAorLSM6IHNyYy9zY3NpLmM6MTEyIHNyYy9zY3NpLmM6MTMwCisrIzogc3JjL3Njc2kuYzoxMTEgc3JjL3Njc2kuYzoxMjkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJsb2cgc2Vuc2UgZmFpbGVkIDogJXMiCisgbXNnc3RyICJpZ2Vua+RubmluZyBhdiBsb2dnIG1pc3NseWNrYWRlcyA6ICVzIgorKworKyN+IG1zZ2lkICIiCisrI34gIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCisrI34gIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCisrI34gIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCisrI34gIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCisrI34gIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCisrI34gbXNnc3RyICIiCisrI34gIlZBUk5JTkc6IERpc2tlbiAlcyB2ZXJrYXIgaW50ZSBmaW5uYXMgaSBkYXRhYmFzZW4g9nZlciBkaXNrYXIgc29tIHN09mRzXG4iCisrI34gIlZBUk5JTkc6IE1lbiBhbnbkbmRlciBtYW4gZXR0IHZhbmxpZ3QgduRyZGUgcmFwcG9ydGVyYXIgZGVuIG7lZ290LlxuIgorKyN+ICJWQVJOSU5HOiBOb3RlcmEgYXR0IHRlbXBlcmF0dXJlbiBzb20gdmlzYXMga2FuIHZhcmEgZmVsYWt0aWcuXG4iCisrI34gIlZBUk5JTkc6IFNlIC0taGVscCwgLS1kZWJ1ZyBvY2ggLS1kcml2ZWJhc2UgZmxhZ2dvcm5hLlxuIgorKyN+ICJWQVJOSU5HOiBPY2ggZ2z2bSBpbnRlIGF0dCBkdSBrYW4gbORnZ2EgdGlsbCBkaW4gZGlzayB0aWxsIGhkZHRlbXAuZGJcbiIKKysKKysjfiBtc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorKyN+IG1zZ3N0ciAiZuRsdCglZClcdCA9ICVkXG4iCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vcHQucG8KKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vcHQucG8KK0BAIC03LDcgKzcsNyBAQAorIG1zZ3N0ciAiIgorICJQcm9qZWN0LUlkLVZlcnNpb246IGhkZHRlbXAgMC4zLWJldGExNFxuIgorICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCistIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA1LTAyLTI1IDIyOjQzKzAxMDBcbiIKKysiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMDYtMjkgMTY6MjQrMDIwMFxuIgorICJQTy1SZXZpc2lvbi1EYXRlOiAyMDA2LTAzLTI5IDIzOjIyKzAwMDBcbiIKKyAiTGFzdC1UcmFuc2xhdG9yOiBNaWd1ZWwgRmlndWVpcmVkbyA8ZWxtaWdAZGViaWFucC5vcmc+XG4iCisgIkxhbmd1YWdlLVRlYW06IFBvcnR1Z3Vlc2UgPHRyYWR1ekBkZWJpYW5wdC5vcmc+XG4iCitAQCAtMTUsMjMgKzE1LDcgQEAKKyAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisgIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjExMgorLSMsIGMtZm9ybWF0CistbXNnaWQgIiIKKy0iXG4iCistIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCistIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCistbXNnc3RyICIiCistIlxuIgorLSJSZWdleHAlc3wgVmFsb3IgfCBEZXNjcmnDp8Ojb1xuIgorLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjExOAorLSMsIGMtZm9ybWF0CistbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCistbXNnc3RyICIlcyVzfCAlNWQgfCAlc1xuIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MTYxCisrIzogc3JjL2hkZHRlbXAuYzoxNTYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIlxuIgorQEAgLTQ0LDcgKzI4LDcgQEAKKyAiTW9kZWxvOiAlc1xuIgorICJcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE4OAorKyM6IHNyYy9oZGR0ZW1wLmM6MTg5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKK0BAIC01NCw3OSArMzgsNjggQEAKKyBtc2dzdHIgIiIKKyAiQVZJU086IE8gZGlzY28gJXMgbsOjbyBwYXJlY2UgdGVyIHVtIHNlbnNvciBkZSB0ZW1wZXJhdHVyYS5cbiIKKyAiQVZJU086IElzdG8gbsOjbyBzaWduaWZpY2EgcXVlIG7Do28gdGVtIG5lbmh1bS5cbiIKKy0iQVZJU086IFNlIHRlbSBhIGNlcnRlemEgcXVlIHRlbSB1bSwgcG9yIGZhdm9yIGNvbnRhY3RlLW1lIChoZGR0ZW1wQGd1enUubmV0KS5cbiIKKysiQVZJU086IFNlIHRlbSBhIGNlcnRlemEgcXVlIHRlbSB1bSwgcG9yIGZhdm9yIGNvbnRhY3RlLW1lIChoZGR0ZW1wQGd1enUuIgorKyJuZXQpLlxuIgorICJBVklTTzogVmVqYSBhcyBvcMOnw7VlcyAtLWhlbHAsIC0tZGVidWcgZSAtLWRyaXZlYmFzZS5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE5MgorKyM6IHNyYy9oZGR0ZW1wLmM6MTk3CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCisgbXNnc3RyICIlczogJXM6IHNlbSBzZW5zb3JcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjE5NworLSMsIGMtZm9ybWF0CistbXNnaWQgIiIKKy0iV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKKy0iV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKKy0iV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKKy0iV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKy0iV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKKy1tc2dzdHIgIiIKKy0iQVZJU086IE8gZGlzY28gJXMgbsOjbyBwYXJlY2UgZXN0YXIgbmEgYmFzZSBkZSBkYWRvcyBkZSBkaXNjb3Mgc3Vwb3J0YWRvc1xuIgorLSJBVklTTzogTWFzIGFvIHV0aWxpemFyIHVtIHZhbG9yIHVzdWFsLCByZWxhdGEgYWxndW1hIGNvaXNhLlxuIgorLSJBVklTTzogTm90ZSBxdWUgYSB0ZW1wZXJhdHVyYSBtb3N0cmFkYSBwb2RlIGVzdGFyIGVycmFkYS5cbiIKKy0iQVZJU086IFZlamEgYXMgb3DDp8O1ZXMgLS1oZWxwLCAtLWRlYnVnIGUgLS1mcml2ZWJhc2UuXG4iCistIkFWSVNPOiBFIG7Do28gc2UgZXNxdWXDp2EgZGUgYWRpY2lvbmFyIG8gc2V1IGRpc2NvIGEgaGRkdGVtcC5kYlxuIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MjAyCisrIzogc3JjL2hkZHRlbXAuYzoyMTEKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6ICAlZCVzQyBvciAlc0ZcbiIKKyBtc2dzdHIgIiVzOiAlczogJWQlc0Mgb3UgJXNGXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMTQKKysjOiBzcmMvaGRkdGVtcC5jOjIzNQorICMsIGMtZm9ybWF0CisgbXNnaWQgIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmdcbiIKKyBtc2dzdHIgIiVzOiAlczogbyBkaXNjbyBlc3TDoSBhZG9ybWVjaWRvXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoyMTcKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIlczogJXM6ICBrbm93biBkcml2ZSwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKysjOiBzcmMvaGRkdGVtcC5jOjI0MgorKyMsIGZ1enp5LCBjLWZvcm1hdAorK21zZ2lkICIlczogJXM6ICBkcml2ZSBzdXBwb3J0ZWQsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisgbXNnc3RyICIlczogJXM6IGRpc2NvIGNvbmhlY2lkbywgbWFzIG7Do28gdGVtIHVtIHNlbnNvciBkZSB0ZW1wZXJhdHVyYS5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIyMAorKyM6IHNyYy9oZGR0ZW1wLmM6MjQ2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6ICVzOiAlczogdW5rbm93biByZXR1cm5lZCBzdGF0dXNcbiIKKyBtc2dzdHIgIkVSUk86ICVzOiAlczogZXN0YWRvIGRldm9sdmlkbyBkZXNjb25oZWNpZG9cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIzNQorLSMsIGMtZm9ybWF0CisrIzogc3JjL2hkZHRlbXAuYzoyNjEKKysjLCBmdXp6eSwgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJcbiIKKyAiSWYgb25lIG9mIHRoZSBmaWVsZCB2YWx1ZSBzZWVtcyB0byBtYXRjaCB0aGUgdGVtcGVyYXR1cmUsIGJlIHN1cmUgdG8gcmVhZFxuIgorLSJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBtZSBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisrInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKyBtc2dzdHIgIiIKKyAiXG4iCistIlNlIHVtIGRvcyBjYW1wb3MgZGUgdmFsb3JlcyBwYXJlY2VyIGNvaW5jaWRpciBjb20gYSB0ZW1wZXJhdHVyYSwgYXNzZWd1cmUtc2VcbiIKKysiU2UgdW0gZG9zIGNhbXBvcyBkZSB2YWxvcmVzIHBhcmVjZXIgY29pbmNpZGlyIGNvbSBhIHRlbXBlcmF0dXJhLCBhc3NlZ3VyZS0iCisrInNlXG4iCisgInF1ZSBsw6ogYSBww6FnaW5hIGRvIG1hbnVhbCBoZGR0ZW1wIGFudGVzIGRlIG1lIGVudmlhciB1bSByZWxhdMOzcmlvIChzZWPDp8Ojb1xuIgorICJSRVBPUlQpLiBPYnJpZ2Fkby5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMwOAorKyM6IHNyYy9oZGR0ZW1wLmM6MzM4CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgc2VwYXJhdG9yLlxuIgorIG1zZ3N0ciAiRVJSTzogc2VwYXJhZG9yIGludsOhbGlkby5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjMxOQorKyM6IHNyYy9oZGR0ZW1wLmM6MzQ5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgcG9ydCBudW1iZXIuXG4iCisgbXNnc3RyICJFUlJPOiBuw7ptZXJvIGRlIHBvcnQgaW52w6FsaWRvXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzozMjkKKy0jLCBjLWZvcm1hdAorKyM6IHNyYy9oZGR0ZW1wLmM6MzcxCisrIywgZnV6enksIGMtZm9ybWF0CisgbXNnaWQgIiIKKy0iIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBESVNLMSBbRElTSzJdLi4uXG4iCisrIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gW1RZUEU6XURJU0sxIFtbVFlQRTpdRElTSzJdLi4uXG4iCisgIlxuIgorICIgICBoZGR0ZW1wIGRpc3BsYXlzIHRoZSB0ZW1wZXJhdHVyZSBvZiBkcml2ZXMgc3VwcGxpZWQgaW4gYXJndW1lbnQuXG4iCisgIiAgIERyaXZlcyBtdXN0IHN1cHBvcnQgUy5NLkEuUi5ULlxuIgorICJcbiIKKysiICBUWVBFIGNvdWxkIGJlIFNBVEEsIFBBVEEgb3IgU0NTSS4gSWYgb21pdHRlZCBoZGR0ZW1wIHdpbGwgdHJ5IHRvIGd1ZXNzLlxuIgorKyJcbiIKKyAiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgZGlzcGxheSBkYXRhYmFzZSBmaWxlIGNvbnRlbnQgdGhhdCBhbGxvdyBoZGR0ZW1wIHRvXG4iCisgIiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29nbml6ZSBzdXBwb3J0ZWQgZHJpdmVzLlxuIgorICIgIC1EICAgLS1kZWJ1ZyAgICAgICA6ICBkaXNwbGF5IHZhcmlvdXMgUy5NLkEuUi5ULiBmaWVsZHMgYW5kIHRoZWlyIHZhbHVlcy5cbiIKK0BAIC0xMzYsNiArMTA5LDcgQEAKKyAiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgcnVuIGhkZHRlbXAgaW4gVENQL0lQIGRhZW1vbiBtb2RlIChwb3J0ICVkIGJ5ICIKKyAiZGVmYXVsdC4pXG4iCisgIiAgLWYgICAtLWZpbGU9RklMRSAgIDogIHNwZWNpZnkgZGF0YWJhc2UgZmlsZSB0byB1c2UuXG4iCisrIiAgLUYgICAtLWZvcmVncm91bmQgIDogIGRvbid0IGRhZW1vbml6ZSwgc3RheSBpbiBmb3JlZ3JvdW5kLlxuIgorICIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBsaXN0ZW4gb24gYSBzcGVjaWZpYyBpbnRlcmZhY2UgKGluIFRDUC9JUCBkYWVtb24gIgorICJtb2RlKS5cbiIKKyAiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgcHJpbnQgb25seSB0aGUgdGVtcGVyYXR1cmUuXG4iCitAQCAtMTQzLDYgKzExNyw4IEBACisgIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBmaWVsZHMgKGluIFRDUC9JUCBkYWVtb24gIgorICJtb2RlKS5cbiIKKyAiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgbG9nIHRlbXBlcmF0dXJlIHRvIHN5c2xvZyBldmVyeSBzIHNlY29uZHMuXG4iCisrIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2Vsc2l1cyBvciAiCisrIkZhaHJlbmhlaXQuXG4iCisgIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIGRvIG5vdCBjaGVjayBpZiB0aGUgZHJpdmUgaXMgc3VwcG9ydGVkLlxuIgorICIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBkaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuXG4iCisgIiAgLXcgICAtLXdha2UtdXAgICAgIDogIHdha2UtdXAgdGhlIGRyaXZlIGlmIG5lZWQuXG4iCitAQCAtMTU2LDE5ICsxMzIsMjMgQEAKKyAiICAgaGRkdGVtcCBtb3N0cmEgYSB0ZW1wZXJhdHVyYSBkb3MgZGlzY29zIGluZGljYWRvcyBubyBhcmd1bWVudG8uXG4iCisgIiAgIE9zIGRpc2NvcyB0w6ptIGRlIHN1cG9ydGFyIFMuTS5BLlIuVC5cbiIKKyAiXG4iCistIiAgLWIJIC0tZHJpdmViYXNlICAgOiAgbW9zdHJhciBvIGNvbnRlw7pkbyBkbyBmaWNoZWlybyBkZSBiYXNlIGRlIGRhZG9zIHF1ZVxuIgorKyIgIC1iXHQgLS1kcml2ZWJhc2UgICA6ICBtb3N0cmFyIG8gY29udGXDumRvIGRvIGZpY2hlaXJvIGRlIGJhc2UgZGUgZGFkb3MgcXVlXG4iCisgIiAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1pdGUgYW8gaGRkdGVtcCByZWNvbmhlY2VyIG9zIGRpc2NvcyBzdXBvcnRhZG9zLlxuIgorLSIgIC1ECSAtLWRlYnVnICAgICAgIDogIG1vc3RyYXIgdsOhcmlvcyBjYW1wb3MgUy5NLkEuUi5ULiBlIG9zIHNldXMgdmFsb3Jlcy5cbiIKKy0iICAgICAgICAgICAgICAgICAgICAgICAgw5p0aWwgcGFyYSBlbmNvbnRyYXIgdW0gdmFsb3IgcXVlIHBhcmXDp2EgY29pbmNpZGlyIGNvbSAiCistIiAgICAgICAgICAgICAgICAgICAgICAgIGEgdGVtcGVyYXR1cmEgZS9vdSBwYXJhIG1lIGVudmlhciB1bSByZWxhdMOzcmlvLlxuIgorKyIgIC1EXHQgLS1kZWJ1ZyAgICAgICA6ICBtb3N0cmFyIHbDoXJpb3MgY2FtcG9zIFMuTS5BLlIuVC4gZSBvcyBzZXVzIHZhbG9yZXMuXG4iCisrIiAgICAgICAgICAgICAgICAgICAgICAgIMOadGlsIHBhcmEgZW5jb250cmFyIHVtIHZhbG9yIHF1ZSBwYXJlw6dhIGNvaW5jaWRpciAiCisrImNvbSAgICAgICAgICAgICAgICAgICAgICAgICBhIHRlbXBlcmF0dXJhIGUvb3UgcGFyYSBtZSBlbnZpYXIgdW0gcmVsYXTDs3Jpby5cbiIKKyAiICAgICAgICAgICAgICAgICAgICAgICAgKGZlaXRvIHBhcmEgY2FkYSBkaXNjbyBpbmRpY2FkbykuXG4iCistIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIGNvcnJlciBvIGhkZHRlbXAgbm8gbW9kbyBkYWVtb24gVENQL0lQXG4gKHBvcnRvICVkIHBvciBvbWlzc8Ojby4pXG4iCisrIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIGNvcnJlciBvIGhkZHRlbXAgbm8gbW9kbyBkYWVtb24gVENQL0lQXG4iCisrIiAocG9ydG8gJWQgcG9yIG9taXNzw6NvLilcbiIKKyAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgZXNwZWNpZmljYXIgbyBmaWNoZWlybyBkZSBiYXNlIGRlIGRhZG9zIGEgdXRpbGl6YXIuXG4iCistIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGVzY3V0YXIgdW0gaW50ZXJmYWNlIGVzcGVjw61maWNvIChubyBtb2RvIGRhZW1vbiBUQ1AvSVApLlxuIgorKyIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBlc2N1dGFyIHVtIGludGVyZmFjZSBlc3BlY8OtZmljbyAobm8gbW9kbyBkYWVtb24gVENQLyIKKysiSVApLlxuIgorICIgIC1uICAgLS1udW1lcmljICAgICA6ICBlc2NyZXZlciBhcGVuYXMgYSB0ZW1wZXJhdHVyYS5cbiIKKyAiICAtcCAgIC0tcG9ydD0jICAgICAgOiAgcG9ydCBwYXJhIGVzY3V0YXIgKG5vIG1vZG8gZGFlbW9uIFRDUC9JUCkuXG4iCistIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYWRvciBhIHV0aWxpemFyIGVudHJlIGNhbXBvcyAobm8gbW9kbyBkYWVtb24gVENQL0lQKS5cbiIKKy0iICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgcmVnaXN0YXIgYSB0ZW1wZXJhdHVyYSBwYXJhIG8gc3lzbG9nIGEgY2FkYSBzIHNlZ3VuZG9zLlxuIgorKyIgIC1zICAgLS1zZXBhcmF0b3I9QyA6ICBzZXBhcmFkb3IgYSB1dGlsaXphciBlbnRyZSBjYW1wb3MgKG5vIG1vZG8gZGFlbW9uICIKKysiVENQL0lQKS5cbiIKKysiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgcmVnaXN0YXIgYSB0ZW1wZXJhdHVyYSBwYXJhIG8gc3lzbG9nIGEgY2FkYSBzICIKKysic2VndW5kb3MuXG4iCisgIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIG7Do28gdmVyaWZpY2FyIHNlIG8gZGlzY28gw6kgc3Vwb3J0YWRvLlxuIgorICIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBtb3N0cmFyIG8gbsO6bWVybyBkYSB2ZXJzw6NvIGRvIGhkZHRlbXAuXG4iCisgIiAgLXcgICAtLXdha2UtdXAgICAgIDogIGFjb3JkYXIgbyBkaXNjbyBzZSBuZWNlc3PDoXJpby5cbiIKK0BAIC0xNzcsNTggKzE1Nyw5MyBAQAorICJcbiIKKyAiUmVsYXRhciBidWdzIG91IG5vdm9zIGRpc2NvcyBwYXJhIDxoZGR0ZW1wQGd1enUubmV0Pi5cbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjUyMgorKyM6IHNyYy9oZGR0ZW1wLmM6NDAyCisgIywgYy1mb3JtYXQKKyBtc2dpZCAiaGRkdGVtcCB2ZXJzaW9uICVzXG4iCisgbXNnc3RyICJoZGR0ZW1wIHZlcnPDo28gJXNcbiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU0NworKyM6IHNyYy9oZGR0ZW1wLmM6NDE4CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGludmFsaWQgaW50ZXJ2YWwuXG4iCisgbXNnc3RyICJFUlJPOiBpbnRlcnZhbG8gaW52w6FsaWRvLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisrIzogc3JjL2hkZHRlbXAuYzo0MzgKKysjLCBjLWZvcm1hdAorIG1zZ2lkICJUb28gZmV3IGFyZ3VtZW50czogeW91IG11c3Qgc3BlY2lmeSBvbmUgZHJpdmUsIGF0IGxlYXN0LlxuIgorLW1zZ3N0ciAiTsO6bWVybyBkZSBhcmd1bWVudG9zIGluc3VmaWNpZW50ZTogdGVtIGRlIGVzcGVjaWZpY2FyIHBlbG8gbWVub3MgdW0gZGlzY28uXG4iCisrbXNnc3RyICIiCisrIk7Dum1lcm8gZGUgYXJndW1lbnRvcyBpbnN1ZmljaWVudGU6IHRlbSBkZSBlc3BlY2lmaWNhciBwZWxvIG1lbm9zIHVtIGRpc2NvLlxuIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTU3CisrIzogc3JjL2hkZHRlbXAuYzo0NDgKKysjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogY2FuJ3QgdXNlIC0tZGVidWcgYW5kIC0tZGFlbW9uIG9yIC0tc3lzbG9nIG9wdGlvbnMgdG9nZXRoZXIuXG4iCistbXNnc3RyICJFUlJPOiBuw6NvIHBvZGUgdXRpbGl6YXIgZW0gY29uanVudG8gYXMgb3DDp8O1ZXMgLS1kZWJ1ZyBlIC0tZGFlbW9uIG91IC0tc3lzbG9nLlxuIgorK21zZ3N0ciAiIgorKyJFUlJPOiBuw6NvIHBvZGUgdXRpbGl6YXIgZW0gY29uanVudG8gYXMgb3DDp8O1ZXMgLS1kZWJ1ZyBlIC0tZGFlbW9uIG91IC0tIgorKyJzeXNsb2cuXG4iCisgCistIzogc3JjL2hkZHRlbXAuYzo1ODMKKysjOiBzcmMvaGRkdGVtcC5jOjUwNQorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiAlczogY2FuJ3QgZGV0ZXJtaW5lIGJ1cyB0eXBlIChvciB0aGlzIGJ1cyB0eXBlIGlzIHVua25vd24pXG4iCistbXNnc3RyICJFUlJPOiAlczogbsOjbyDDqSBwb3Nzw612ZWwgZGV0ZXJtaW5hciBvIHRpcG8gZG8gYnVzIChvdSBlc3RlIHRpcG8gZGUgYnVzIMOpIGRlc2NvbmhlY2lkbylcbiIKKyttc2dzdHIgIiIKKysiRVJSTzogJXM6IG7Do28gw6kgcG9zc8OtdmVsIGRldGVybWluYXIgbyB0aXBvIGRvIGJ1cyAob3UgZXN0ZSB0aXBvIGRlIGJ1cyDDqSAiCisrImRlc2NvbmhlY2lkbylcbiIKKyAKKy0jOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2OAorKyM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY0CisgbXNnaWQgInVua25vd24iCisgbXNnc3RyICJkZXNjb25oZWNpZG8iCisgCistIzogc3JjL2F0YS5jOjk4CisrIzogc3JjL2F0YS5jOjg1IHNyYy9hdGEuYzoxMDQgc3JjL3Njc2kuYzo5MQorICMsIGMtZm9ybWF0CistbXNnaWQgImZpZWxkKCVkKVx0ID0gJWRcbiIKKy1tc2dzdHIgImNhbXBvKCVkKVx0ID0gJWRcbiIKKy0KKy0jOiBzcmMvYXRhLmM6MTY3CisgbXNnaWQgIlMuTS5BLlIuVC4gbm90IGF2YWlsYWJsZSIKKyBtc2dzdHIgIlMuTS5BLlIuVC4gbsOjbyBlc3TDoSBkaXNwb27DrXZlbCIKKyAKKy0jOiBzcmMvZGIuYzoxODAKKysjOiBzcmMvZGIuYzoxMTUKKysjLCBjLWZvcm1hdAorK21zZ2lkICIiCisrIlxuIgorKyJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgorKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorK21zZ3N0ciAiIgorKyJcbiIKKysiUmVnZXhwJXN8IFZhbG9yIHwgRGVzY3Jpw6fDo29cbiIKKysiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisrCisrIzogc3JjL2RiLmM6MTIxCisrIywgYy1mb3JtYXQKKyttc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKKyttc2dzdHIgIiVzJXN8ICU1ZCB8ICVzXG4iCisrCisrIzogc3JjL2RiLmM6MjM2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiaGRkdGVtcDogY2FuJ3Qgb3BlbiAlMSRzOiAlMiRzXG4iCisgbXNnc3RyICJoZGR0ZW1wOiBuw6NvIHBvZGUgYWJyaXIgJTEkczogJTIkc1xuIgorIAorLSM6IHNyYy9kYi5jOjE5NAorKyM6IHNyYy9kYi5jOjI1MAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBzeW50YXggZXJyb3IgYXQgbGluZSAlMSRkIGluICUyJHNcbiIKKyBtc2dzdHIgIkVSUk86IGVycm8gZGUgc2ludGF4ZSBuYSBsaW5oYSAlMSRkIGVtICUyJHNcbiIKKyAKKy0jOiBzcmMvZGIuYzoyMDEKKysjOiBzcmMvZGIuYzoyNTcKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIgIEVSUk9SOiBsaW5lIGV4Y2VlZCAlMSRkIGNoYXJhY3RlcnMgaW4gJTIkcy5cbiIKKyBtc2dzdHIgIiAgRVJSTzogYSBsaW5oYSBleGVjZWRldSAlMSRkIGNhcmFjdGVyZXMgZW0gJTIkcy5cbiIKKyAKKy0jOiBzcmMvc2NzaS5jOjExMiBzcmMvc2NzaS5jOjEzMAorKyM6IHNyYy9zY3NpLmM6MTExIHNyYy9zY3NpLmM6MTI5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAibG9nIHNlbnNlIGZhaWxlZCA6ICVzIgorIG1zZ3N0ciAiZGV0ZWPDp8OjbyBkZSBsb2cgZmFsaG91OiAlcyIKKysKKysjfiBtc2dpZCAiIgorKyN+ICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgorKyN+ICJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgorKyN+ICJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgorKyN+ICJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgorKyN+ICJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgorKyN+IG1zZ3N0ciAiIgorKyN+ICJBVklTTzogTyBkaXNjbyAlcyBuw6NvIHBhcmVjZSBlc3RhciBuYSBiYXNlIGRlIGRhZG9zIGRlIGRpc2NvcyBzdXBvcnRhZG9zXG4iCisrI34gIkFWSVNPOiBNYXMgYW8gdXRpbGl6YXIgdW0gdmFsb3IgdXN1YWwsIHJlbGF0YSBhbGd1bWEgY29pc2EuXG4iCisrI34gIkFWSVNPOiBOb3RlIHF1ZSBhIHRlbXBlcmF0dXJhIG1vc3RyYWRhIHBvZGUgZXN0YXIgZXJyYWRhLlxuIgorKyN+ICJBVklTTzogVmVqYSBhcyBvcMOnw7VlcyAtLWhlbHAsIC0tZGVidWcgZSAtLWZyaXZlYmFzZS5cbiIKKysjfiAiQVZJU086IEUgbsOjbyBzZSBlc3F1ZcOnYSBkZSBhZGljaW9uYXIgbyBzZXUgZGlzY28gYSBoZGR0ZW1wLmRiXG4iCisrCisrI34gbXNnaWQgImZpZWxkKCVkKVx0ID0gJWRcbiIKKysjfiBtc2dzdHIgImNhbXBvKCVkKVx0ID0gJWRcbiIKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9wby9kZS5wbworKysrIGhkZHRlbXAtMC4zLWJldGExNS9wby9kZS5wbworQEAgLTAsMCArMSwyNTAgQEAKKysjIEdlcm1hbiB0cmFuc2xhdGlvbiBvZiBoZGR0ZW1wLgorKyMgQ29weXJpZ2h0IChDKSAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGhkZHRlbXAgcGFja2FnZS4KKysjIFZpbnplbnogVmlldHprZSA8dmluekB2MW56Lm9yZz4sIDIwMDguCisrIyAsCisrIworKyMKKyttc2dpZCAiIgorK21zZ3N0ciAiIgorKyJQcm9qZWN0LUlkLVZlcnNpb246IGhkZHRlbXAgMC4zLWJldGExNS00NFxuIgorKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogaGRkdGVtcEBwYWNrYWdlcy5kZWJpYW4ub3JnXG4iCisrIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA2LTI5IDE2OjI0KzAyMDBcbiIKKysiUE8tUmV2aXNpb24tRGF0ZTogMjAxMS0wOC0zMCAxNjo0MCswMjAwXG4iCisrIkxhc3QtVHJhbnNsYXRvcjogVmluemVueiBWaWV0emtlIDx2aW56QHYxbnoub3JnPlxuIgorKyJMYW5ndWFnZS1UZWFtOiA8ZGViaWFuLWwxMG4tZ2VybWFuQGxpc3RzLmRlYmlhbi5vcmc+XG4iCisrIk1JTUUtVmVyc2lvbjogMS4wXG4iCisrIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0IgorKworKyM6IHNyYy9oZGR0ZW1wLmM6MTU2CisrIywgYy1mb3JtYXQKKyttc2dpZCAiIgorKyJcbiIKKysiPT09PT09PT09PT09PT09PT0gaGRkdGVtcCAlcyA9PT09PT09PT09PT09PT09PT1cbiIKKysiTW9kZWw6ICVzXG4iCisrIlxuIgorK21zZ3N0ciAiIgorKyJcbiIKKysiPT09PT09PT09PT09PT09PT0gaGRkdGVtcCAlcyA9PT09PT09PT09PT09PT09PT1cbiIKKysiTW9kZWxsOiAlc1xuIgorKyJcbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjE4OQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiIKKysiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisrIldBUk5JTkc6IFRoaXMgZG9lc24ndCBtZWFuIGl0IGhhc24ndCBnb3Qgb25lLlxuIgorKyJXQVJOSU5HOiBJZiB5b3UgYXJlIHN1cmUgaXQgaGFzIG9uZSwgcGxlYXNlIGNvbnRhY3QgbWUgKGhkZHRlbXBAZ3V6dS4iCisrIm5ldCkuXG4iCisrIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCisrbXNnc3RyICIiCisrIldBUk5VTkc6IExhdWZ3ZXJrICVzIHNjaGVpbnQga2VpbmVuIFRlbXBlcmF0dXItU2Vuc29yIHp1IGhhYmVuLlxuIgorKyJXQVJOVU5HOiBEYXMgYmVkZXV0ZXQgbmljaHQsIGRhc3MgZXMga2VpbmVuIGJlc2l0enQuXG4iCisrIldBUk5VTkc6IEZhbGxzIFNpZSBzaWNoZXIgc2luZCwgZGFzcyBlcyBlaW5lbiBiZXNpdHp0LCBrb250YWt0aWVyZW4gU2llICIKKysibWljaCBiaXR0ZSAoaGRkdGVtcEBndXp1Lm5ldCkuXG4iCisrIldBUk5VTkc6IFNpZWhlIE9wdGlvbmVuIC0taGVscCwgLS1kZWJ1ZyB1bmQgLS1kcml2ZWJhc2UuXG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzoxOTcKKysjLCBjLWZvcm1hdAorK21zZ2lkICIlczogJXM6ICBubyBzZW5zb3JcbiIKKyttc2dzdHIgIiVzOiAlczoga2VpbiBTZW5zb3JcbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjIxMQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiVzOiAlczogICVkJXNDIG9yICVzRlxuIgorK21zZ3N0ciAiJXM6ICVzOiAgJWQlc8KwQyBvZGVyICVzwrBGXG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzoyMzUKKysjLCBjLWZvcm1hdAorK21zZ2lkICIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iCisrbXNnc3RyICIlczogJXM6IExhdWZ3ZXJrIHNjaGzDpGZ0XG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzoyNDIKKysjLCBjLWZvcm1hdAorK21zZ2lkICIlczogJXM6ICBkcml2ZSBzdXBwb3J0ZWQsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisrbXNnc3RyICIiCisrIiVzOiAlczogIExhdWZ3ZXJrIHVudGVyc3TDvHR6dCwgYWJlciBlcyBoYXQga2VpbmVuIFRlbXBlcmF0dXItU2Vuc29yLlxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6MjQ2CisrIywgYy1mb3JtYXQKKyttc2dpZCAiRVJST1I6ICVzOiAlczogdW5rbm93biByZXR1cm5lZCBzdGF0dXNcbiIKKyttc2dzdHIgIkZFSExFUjogJXM6ICVzOiB6dXLDvGNrZ2VnZWJlbmVyIFN0YXR1cyB1bmJla2FubnRcbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjI2MQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiIKKysiXG4iCisrIklmIG9uZSBvZiB0aGUgZmllbGQgdmFsdWUgc2VlbXMgdG8gbWF0Y2ggdGhlIHRlbXBlcmF0dXJlLCBiZSBzdXJlIHRvIHJlYWRcbiIKKysidGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgorK21zZ3N0ciAiIgorKyJcbiIKKysiRmFsbHMgZWluZXIgZGVyIEZlbGR3ZXJ0ZSBkZXIgVGVtcGVyYXR1ciB6dSBlbnRzcHJlY2hlbiBzY2hlaW50LCBzdGVsbGVuICIKKysiU2llXG4iCisrInNpY2hlciwgZGllIGhkZHRlbXAtSGFuZGJ1Y2hzZWl0ZSBnZWxlc2VuIHp1IGhhYmVuLCBiZXZvciBTaWUgZWluZW4gIgorKyJCZXJpY2h0XG4iCisrInNlbmRlbiAoQWJzY2huaXR0IEJFUklDSFQpLiBEYW5rZS5cbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjMzOAorKyMsIGMtZm9ybWF0CisrbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHNlcGFyYXRvci5cbiIKKyttc2dzdHIgIkZFSExFUjogdW5nw7xsdGlnZXMgVHJlbm56ZWljaGVuLlxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6MzQ5CisrIywgYy1mb3JtYXQKKyttc2dpZCAiRVJST1I6IGludmFsaWQgcG9ydCBudW1iZXIuXG4iCisrbXNnc3RyICJGRUhMRVI6IHVuZ8O8bHRpZ2UgUG9ydG51bW1lci5cbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjM3MQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiIKKysiIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBbVFlQRTpdRElTSzEgW1tUWVBFOl1ESVNLMl0uLi5cbiIKKysiXG4iCisrIiAgIGhkZHRlbXAgZGlzcGxheXMgdGhlIHRlbXBlcmF0dXJlIG9mIGRyaXZlcyBzdXBwbGllZCBpbiBhcmd1bWVudC5cbiIKKysiICAgRHJpdmVzIG11c3Qgc3VwcG9ydCBTLk0uQS5SLlQuXG4iCisrIlxuIgorKyIgIFRZUEUgY291bGQgYmUgU0FUQSwgUEFUQSBvciBTQ1NJLiBJZiBvbWl0dGVkIGhkZHRlbXAgd2lsbCB0cnkgdG8gZ3Vlc3MuXG4iCisrIlxuIgorKyIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBkaXNwbGF5IGRhdGFiYXNlIGZpbGUgY29udGVudCB0aGF0IGFsbG93IGhkZHRlbXAgIgorKyJ0b1xuIgorKyIgICAgICAgICAgICAgICAgICAgICAgICByZWNvZ25pemUgc3VwcG9ydGVkIGRyaXZlcy5cbiIKKysiICAtRCAgIC0tZGVidWcgICAgICAgOiAgZGlzcGxheSB2YXJpb3VzIFMuTS5BLlIuVC4gZmllbGRzIGFuZCB0aGVpciAiCisrInZhbHVlcy5cbiIKKysiICAgICAgICAgICAgICAgICAgICAgICAgVXNlZnVsIHRvIGZpbmQgYSB2YWx1ZSB0aGF0IHNlZW1zIHRvIG1hdGNoIHRoZVxuIgorKyIgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wZXJhdHVyZSBhbmQvb3IgdG8gc2VuZCBtZSBhIHJlcG9ydC5cbiIKKysiICAgICAgICAgICAgICAgICAgICAgICAgKGRvbmUgZm9yIGV2ZXJ5IGRyaXZlIHN1cHBsaWVkKS5cbiIKKysiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgcnVuIGhkZHRlbXAgaW4gVENQL0lQIGRhZW1vbiBtb2RlIChwb3J0ICVkIGJ5ICIKKysiZGVmYXVsdC4pXG4iCisrIiAgLWYgICAtLWZpbGU9RklMRSAgIDogIHNwZWNpZnkgZGF0YWJhc2UgZmlsZSB0byB1c2UuXG4iCisrIiAgLUYgICAtLWZvcmVncm91bmQgIDogIGRvbid0IGRhZW1vbml6ZSwgc3RheSBpbiBmb3JlZ3JvdW5kLlxuIgorKyIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBsaXN0ZW4gb24gYSBzcGVjaWZpYyBpbnRlcmZhY2UgKGluIFRDUC9JUCBkYWVtb24gIgorKyJtb2RlKS5cbiIKKysiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgcHJpbnQgb25seSB0aGUgdGVtcGVyYXR1cmUuXG4iCisrIiAgLXAgICAtLXBvcnQ9IyAgICAgIDogIHBvcnQgdG8gbGlzdGVuIHRvIChpbiBUQ1AvSVAgZGFlbW9uIG1vZGUpLlxuIgorKyIgIC1zICAgLS1zZXBhcmF0b3I9QyA6ICBzZXBhcmF0b3IgdG8gdXNlIGJldHdlZW4gZmllbGRzIChpbiBUQ1AvSVAgZGFlbW9uICIKKysibW9kZSkuXG4iCisrIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGxvZyB0ZW1wZXJhdHVyZSB0byBzeXNsb2cgZXZlcnkgcyBzZWNvbmRzLlxuIgorKyIgIC11ICAgLS11bml0PVtDfEZdICA6ICBmb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgIgorKyJGYWhyZW5oZWl0LlxuIgorKyIgIC1xICAgLS1xdWlldCAgICAgICA6ICBkbyBub3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC5cbiIKKysiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgZGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLlxuIgorKyIgIC13ICAgLS13YWtlLXVwICAgICA6ICB3YWtlLXVwIHRoZSBkcml2ZSBpZiBuZWVkLlxuIgorKyIgIC00ICAgICAgICAgICAgICAgICA6ICBsaXN0ZW4gb24gSVB2NCBzb2NrZXRzIG9ubHkuXG4iCisrIiAgLTYgICAgICAgICAgICAgICAgIDogIGxpc3RlbiBvbiBJUHY2IHNvY2tldHMgb25seS5cbiIKKysiXG4iCisrIlJlcG9ydCBidWdzIG9yIG5ldyBkcml2ZXMgdG8gPGhkZHRlbXBAZ3V6dS5uZXQ+LlxuIgorK21zZ3N0ciAiIgorKyIgVmVyd2VuZHVuZzogaGRkdGVtcCBbT1BUSU9ORU5dIFtUWVA6XUxBVUZXRVJLMSBbW1RZUDpdTEFVRldFUksyXS4uLlxuIgorKyJcbiIKKysiICBoZGR0ZW1wIHplaWd0IGRpZSBUZW1wZXJhdHVyIGRlciB2aWEgQXJndW1lbnQgYW5nZWdlYmVuIExhdWZ3ZXJrZS5cbiIKKysiICBMYXVmd2Vya2UgbcO8c3NlbiBTLk0uQS5SLlQuIHVudGVyc3TDvHR6ZW4uXG4iCisrIlxuIgorKyIgIFRZUCBrYW5uIFNBVEEsIFBBVEEgb2RlciBTQ1NJIHNlaW4uIEZhbGxzIGF1c2dlbGFzc2VuLCB3aXJkIGhkZHRlbXAgXG4iCisrIiAgdmVyc3VjaGVuLCBkaWVzZW4genUgZXJyYXRlbi5cbiIKKysiXG4iCisrIiAgLWIgICAtLWRyaXZlYmFzZSAgIDogIERhdGVuYmFuay1EYXRlaS1JbmhhbHQgYW56ZWlnZW4sIGRlciBoZGR0ZW1wICIKKysiZXJsYXVidFxuIgorKyIgICAgICAgICAgICAgICAgICAgICAgICB1bnRlcnN0w7x0enRlIExhdWZ3ZXJrZSB6dSBlcmtlbm5lbi5cbiIKKysiICAtRCAgIC0tZGVidWcgICAgICAgOiAgdmVyc2NoaWVkZW5lIFMuTS5BLlIuVC4tRmVsZGVyIHVuZCBkZXJlbiBXZXJ0ZSAiCisrImFuemVpZ2VuLlxuIgorKyIgICAgICAgICAgICAgICAgICAgICAgIE7DvHR6bGljaCwgdW0gV2VydGUgenUgZmluZGVuLCBkaWUgZGVyIFRlbXBlcmF0dXIgIgorKyJlbnRzcHJlY2hlblxuIgorKyIgICAgICAgICAgICAgICAgICAgICAgIHVuZC9vZGVyIHVtIG1pciBlaW5lbiBCZXJpY2h0IHp1IHNlbmRlbi5cbiIKKysiICAgICAgICAgICAgICAgICAgICAgICAoYmVyZWl0cyBlcmxlZGlndCBmw7xyIGplZGVzIGJlcmVpdGdlc3RlbGx0ZSAiCisrIkxhdWZ3ZXJrKS5cbiIKKysiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgaGRkdGVtcCBpbSBUQ1AvSVAtRGFlbW9uLU1vZHVzIGF1c2bDvGhyZW4gIgorKyIoU3RhbmRhcmRtw6TDn2lnIFBvcnQgJWQpXG4iCisrIiAgLWYgICAtLWZpbGU9REFURUkgIDogIHp1IHZlcndlbmRlbmRlIERhdGVuYmFuay1EYXRlaSBmZXN0bGVnZW4uXG4iCisrIiAgLUYgICAtLWZvcmVncm91bmQgIDogIG5pY2h0IGRhZW1vbmlzaWVyZW4sIGltIFZvcmRlcmdydW5kIGJsZWliZW4uXG4iCisrIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGF1ZiBlaW5lciBiZXN0aW1tdGVuIFNjaG5pdHRzdGVsbGUgYXVmIEFuZnJhZ2VuICIKKysid2FydGVuIChpbSBUQ1AvSVAtRGFlbW9uLU1vZHVzKS5cbiIKKysiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgbnVyIGRpZSBUZW1wZXJhdHVyIGF1c2dlYmVuLlxuIgorKyIgIC1wICAgLS1wb3J0PSMgICAgICA6ICBQb3J0LCBhdWYgZGVtIGF1ZiBBbmZyYWdlbiBnZXdhcnRldCB3ZXJkZW4gc29sbCAiCisrIihpbSBUQ1AvSVAtRGFlbW9uLU1vZHVzKS5cbiIKKysiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgVHJlbm56ZWljaGVuIHp1ciBWZXJ3ZW5kdW5nIHp3aXNjaGVuIEZlbGRlcm4gKGltICIKKysiVENQL0lQLURhZW1vbi1Nb2R1cykuXG4iCisrIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIFRlbXBlcmF0dXIgYWxsZSBzIFNla3VuZGVuIGluIGRhcyBzeXNsb2cgIgorKyJlaW50cmFnZW4uXG4iCisrIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIEF1c2dhYmUgZGVyIFRlbXBlcmF0dXIgZW50d2VkZXIgaW4gQ2Vsc2l1cyBvZGVyICIKKysiRmFocmVuaGVpdCBlcnp3aW5nZW4uXG4iCisrIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIG5pY2h0IHByw7xmZW4sIG9iIGRhcyBMYXVmd2VyayB1bnRlcnN0w7x0enQgd2lyZC5cbiIKKysiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgVmVyc2lvbnNudW1tZXIgdm9uIGhkZHRlbXAgYW56ZWlnZW4uXG4iCisrIiAgLXcgICAtLXdha2UtdXAgICAgIDogIExhdWZ3ZXJrIGJlaSBCZWRhcmYgYXVmd2Vja2VuLlxuIgorKyIgIC00ICAgICAgICAgICAgICAgICA6ICBudXIgYXVmIElQdjQtU29ja2V0cyBhdWYgQW5mcmFnZW4gd2FydGVuLlxuIgorKyIgIC02ICAgICAgICAgICAgICAgICA6ICBudXIgYXVmIElQdjYtU29ja2V0cyBhdWYgQW5mcmFnZW4gd2FydGVuLlxuIgorKyJcbiIKKysiRmVobGVyIG9kZXIgbmV1ZSBMYXVmd2Vya2UgYW4gPGhkZHRlbXBAZ3V6dS5uZXQ+IG1lbGRlbi5cbiIKKysKKysjOiBzcmMvaGRkdGVtcC5jOjQwMgorKyMsIGMtZm9ybWF0CisrbXNnaWQgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgorK21zZ3N0ciAiaGRkdGVtcCBWZXJzaW9uICVzXG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzo0MTgKKysjLCBjLWZvcm1hdAorK21zZ2lkICJFUlJPUjogaW52YWxpZCBpbnRlcnZhbC5cbiIKKyttc2dzdHIgIkZFSExFUjogdW5nw7xsdGlnZXMgSW50ZXJ2YWxsLlxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6NDM4CisrIywgYy1mb3JtYXQKKyttc2dpZCAiVG9vIGZldyBhcmd1bWVudHM6IHlvdSBtdXN0IHNwZWNpZnkgb25lIGRyaXZlLCBhdCBsZWFzdC5cbiIKKyttc2dzdHIgIlp1IHdlbmlnZSBBcmd1bWVudGU6IFNpZSBtw7xzc2VuIG1pbmRlc3RlbnMgZWluIExhdWZ3ZXJrIGFuZ2ViZW4uXG4iCisrCisrIzogc3JjL2hkZHRlbXAuYzo0NDgKKysjLCBjLWZvcm1hdAorK21zZ2lkICJFUlJPUjogY2FuJ3QgdXNlIC0tZGVidWcgYW5kIC0tZGFlbW9uIG9yIC0tc3lzbG9nIG9wdGlvbnMgdG9nZXRoZXIuXG4iCisrbXNnc3RyICIiCisrIkZFSExFUjoga2FubiBPcHRpb25lbiAtLWRlYnVnIHVuZCAtLWRhZW1vbiBvZGVyIC0tc3lzbG9nIG5pY2h0IHp1c2FtbWVuICIKKysidmVyd2VuZGVuLlxuIgorKworKyM6IHNyYy9oZGR0ZW1wLmM6NTA1CisrIywgYy1mb3JtYXQKKyttc2dpZCAiRVJST1I6ICVzOiBjYW4ndCBkZXRlcm1pbmUgYnVzIHR5cGUgKG9yIHRoaXMgYnVzIHR5cGUgaXMgdW5rbm93bilcbiIKKyttc2dzdHIgIiIKKysiRkVITEVSOiAlczoga2FubiBCdXMtVHlwIG5pY2h0IGVybWl0dGVsbiAob2RlciBkaWVzZXIgQnVzLVR5cCBpc3QgIgorKyJ1bmJla2FubnQpXG4iCisrCisrIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjQKKyttc2dpZCAidW5rbm93biIKKyttc2dzdHIgInVuYmVrYW5udCIKKysKKysjOiBzcmMvYXRhLmM6ODUgc3JjL2F0YS5jOjEwNCBzcmMvc2NzaS5jOjkxCisrIywgYy1mb3JtYXQKKyttc2dpZCAiUy5NLkEuUi5ULiBub3QgYXZhaWxhYmxlIgorK21zZ3N0ciAiUy5NLkEuUi5ULiBuaWNodCB2ZXJmw7xnYmFyIgorKworKyM6IHNyYy9kYi5jOjExNQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiIKKysiXG4iCisrIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCisrIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisrbXNnc3RyICIiCisrIlxuIgorKyJSZWdleHAlc3wgV2VydCB8IEJlc2NocmVpYnVuZ1xuIgorKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorKworKyM6IHNyYy9kYi5jOjEyMQorKyMsIGMtZm9ybWF0CisrbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCisrbXNnc3RyICIlcyVzfCAlNWQgfCAlc1xuIgorKworKyM6IHNyYy9kYi5jOjIzNgorKyMsIGMtZm9ybWF0CisrbXNnaWQgImhkZHRlbXA6IGNhbid0IG9wZW4gJTEkczogJTIkc1xuIgorK21zZ3N0ciAiaGRkdGVtcDoga2FubiAlMSRzIG5pY2h0IMO2ZmZuZW46ICUyJHNcbiIKKysKKysjOiBzcmMvZGIuYzoyNTAKKysjLCBjLWZvcm1hdAorK21zZ2lkICJFUlJPUjogc3ludGF4IGVycm9yIGF0IGxpbmUgJTEkZCBpbiAlMiRzXG4iCisrbXNnc3RyICJGRUhMRVI6IFN5bnRheGZlaGxlciBpbiBaZWlsZSAlMSRkIGluICUyJHNcbiIKKysKKysjOiBzcmMvZGIuYzoyNTcKKysjLCBjLWZvcm1hdAorK21zZ2lkICIgIEVSUk9SOiBsaW5lIGV4Y2VlZCAlMSRkIGNoYXJhY3RlcnMgaW4gJTIkcy5cbiIKKyttc2dzdHIgIiAgRkVITEVSOiBaZWlsZSDDvGJlcnNjaHJlaXRldCAlMSRkIFplaWNoZW4gaW4gJTIkcy5cbiIKKysKKysjOiBzcmMvc2NzaS5jOjExMSBzcmMvc2NzaS5jOjEyOQorKyMsIGMtZm9ybWF0CisrbXNnaWQgImxvZyBzZW5zZSBmYWlsZWQgOiAlcyIKKyttc2dzdHIgIlByb3Rva29sbC1Fcmtlbm51bmcgZmVobGdlc2NobGFnZW4gOiAlcyIKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9wby9MSU5HVUFTCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3BvL0xJTkdVQVMKK0BAIC0xLDIgKzEsMiBAQAorICMgU2V0IG9mIGF2YWlsYWJsZSBsYW5ndWFnZXMuCistZnIgcHQgcnUgc3YgCisrZGUgZnIgcHQgcnUgc3YgCistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vaGRkdGVtcC5wb3QKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vaGRkdGVtcC5wb3QKK0BAIC0xLDM1ICsxLDIyIEBACistCistIyBDb3B5cmlnaHQgKEMpIDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCistIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgJ2hkZHRlbXAnIHBhY2thZ2UuCistIyBFbW1hbnVlbCBWQVJBR05BVCA8aGRkdGVtcEBndXp1Lm5ldD4sIDIwMDYuCisrIyBTT01FIERFU0NSSVBUSVZFIFRJVExFLgorKyMgQ29weXJpZ2h0IChDKSBZRUFSIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIFBBQ0tBR0UgcGFja2FnZS4KKysjIEZJUlNUIEFVVEhPUiA8RU1BSUxAQUREUkVTUz4sIFlFQVIuCisgIworICMsIGZ1enp5CisgbXNnaWQgIiIKKyBtc2dzdHIgIiIKKyAiUHJvamVjdC1JZC1WZXJzaW9uOiBQQUNLQUdFIFZFUlNJT05cbiIKKy0iUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGhkZHRlbXBAZ3V6dS5uZXRcbiIKKy0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDUtMDItMjUgMjI6NDMrMDEwMFxuIgorKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCisrIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA2LTI5IDE2OjI0KzAyMDBcbiIKKyAiUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iCistIkxhc3QtVHJhbnNsYXRvcjogRW1tYW51ZWwgVmFyYWduYXQgPGhkZHRlbXBAZ3V6dS5uZXQ+XG4iCisrIkxhc3QtVHJhbnNsYXRvcjogRlVMTCBOQU1FIDxFTUFJTEBBRERSRVNTPlxuIgorICJMYW5ndWFnZS1UZWFtOiBMQU5HVUFHRSA8TExAbGkub3JnPlxuIgorICJNSU1FLVZlcnNpb246IDEuMFxuIgorICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9Q0hBUlNFVFxuIgorICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisgCistIzogc3JjL2hkZHRlbXAuYzoxMTIKKy0jLCBjLWZvcm1hdAorLW1zZ2lkICIiCistIlxuIgorLSJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgorLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorLW1zZ3N0ciAiIgorLQorLSM6IHNyYy9oZGR0ZW1wLmM6MTE4CistIywgYy1mb3JtYXQKKy1tc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKKy1tc2dzdHIgIiIKKy0KKy0jOiBzcmMvaGRkdGVtcC5jOjE2MQorKyM6IHNyYy9oZGR0ZW1wLmM6MTU2CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiIgorICJcbiIKK0BAIC0zOCw3ICsyNSw3IEBACisgIlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTg4CisrIzogc3JjL2hkZHRlbXAuYzoxODkKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3Qgc2VlbSB0byBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorQEAgLTQ3LDY3ICszNCw1OSBAQAorICJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MTkyCistIywgYy1mb3JtYXQKKy1tc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCistbXNnc3RyICIiCistCisgIzogc3JjL2hkZHRlbXAuYzoxOTcKKyAjLCBjLWZvcm1hdAorLW1zZ2lkICIiCistIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCistIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCistIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCistIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCistIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCisrbXNnaWQgIiVzOiAlczogIG5vIHNlbnNvclxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjAyCisrIzogc3JjL2hkZHRlbXAuYzoyMTEKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIlczogJXM6ICAlZCVzQyBvciAlc0ZcbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjIxNAorKyM6IHNyYy9oZGR0ZW1wLmM6MjM1CisgIywgYy1mb3JtYXQKKyBtc2dpZCAiJXM6ICVzOiBkcml2ZSBpcyBzbGVlcGluZ1xuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjE3CisrIzogc3JjL2hkZHRlbXAuYzoyNDIKKyAjLCBjLWZvcm1hdAorLW1zZ2lkICIlczogJXM6ICBrbm93biBkcml2ZSwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKyttc2dpZCAiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjIwCisrIzogc3JjL2hkZHRlbXAuYzoyNDYKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogJXM6ICVzOiB1bmtub3duIHJldHVybmVkIHN0YXR1c1xuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MjM1CisrIzogc3JjL2hkZHRlbXAuYzoyNjEKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCisgIlxuIgorICJJZiBvbmUgb2YgdGhlIGZpZWxkIHZhbHVlIHNlZW1zIHRvIG1hdGNoIHRoZSB0ZW1wZXJhdHVyZSwgYmUgc3VyZSB0byByZWFkXG4iCistInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIG1lIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKysidGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzA4CisrIzogc3JjL2hkZHRlbXAuYzozMzgKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBzZXBhcmF0b3IuXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzozMTkKKysjOiBzcmMvaGRkdGVtcC5jOjM0OQorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHBvcnQgbnVtYmVyLlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6MzI5CisrIzogc3JjL2hkZHRlbXAuYzozNzEKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIiCistIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gRElTSzEgW0RJU0syXS4uLlxuIgorKyIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIFtUWVBFOl1ESVNLMSBbW1RZUEU6XURJU0syXS4uLlxuIgorICJcbiIKKyAiICAgaGRkdGVtcCBkaXNwbGF5cyB0aGUgdGVtcGVyYXR1cmUgb2YgZHJpdmVzIHN1cHBsaWVkIGluIGFyZ3VtZW50LlxuIgorICIgICBEcml2ZXMgbXVzdCBzdXBwb3J0IFMuTS5BLlIuVC5cbiIKKyAiXG4iCisrIiAgVFlQRSBjb3VsZCBiZSBTQVRBLCBQQVRBIG9yIFNDU0kuIElmIG9taXR0ZWQgaGRkdGVtcCB3aWxsIHRyeSB0byBndWVzcy5cbiIKKysiXG4iCisgIiAgLWIgICAtLWRyaXZlYmFzZSAgIDogIGRpc3BsYXkgZGF0YWJhc2UgZmlsZSBjb250ZW50IHRoYXQgYWxsb3cgaGRkdGVtcCB0b1xuIgorICIgICAgICAgICAgICAgICAgICAgICAgICByZWNvZ25pemUgc3VwcG9ydGVkIGRyaXZlcy5cbiIKKyAiICAtRCAgIC0tZGVidWcgICAgICAgOiAgZGlzcGxheSB2YXJpb3VzIFMuTS5BLlIuVC4gZmllbGRzIGFuZCB0aGVpciB2YWx1ZXMuXG4iCitAQCAtMTE3LDYgKzk2LDcgQEAKKyAiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgcnVuIGhkZHRlbXAgaW4gVENQL0lQIGRhZW1vbiBtb2RlIChwb3J0ICVkIGJ5ICIKKyAiZGVmYXVsdC4pXG4iCisgIiAgLWYgICAtLWZpbGU9RklMRSAgIDogIHNwZWNpZnkgZGF0YWJhc2UgZmlsZSB0byB1c2UuXG4iCisrIiAgLUYgICAtLWZvcmVncm91bmQgIDogIGRvbid0IGRhZW1vbml6ZSwgc3RheSBpbiBmb3JlZ3JvdW5kLlxuIgorICIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBsaXN0ZW4gb24gYSBzcGVjaWZpYyBpbnRlcmZhY2UgKGluIFRDUC9JUCBkYWVtb24gIgorICJtb2RlKS5cbiIKKyAiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgcHJpbnQgb25seSB0aGUgdGVtcGVyYXR1cmUuXG4iCitAQCAtMTI0LDYgKzEwNCw4IEBACisgIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBmaWVsZHMgKGluIFRDUC9JUCBkYWVtb24gIgorICJtb2RlKS5cbiIKKyAiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgbG9nIHRlbXBlcmF0dXJlIHRvIHN5c2xvZyBldmVyeSBzIHNlY29uZHMuXG4iCisrIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2Vsc2l1cyBvciAiCisrIkZhaHJlbmhlaXQuXG4iCisgIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIGRvIG5vdCBjaGVjayBpZiB0aGUgZHJpdmUgaXMgc3VwcG9ydGVkLlxuIgorICIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBkaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuXG4iCisgIiAgLXcgICAtLXdha2UtdXAgICAgIDogIHdha2UtdXAgdGhlIGRyaXZlIGlmIG5lZWQuXG4iCitAQCAtMTMzLDU4ICsxMTUsNjkgQEAKKyAiUmVwb3J0IGJ1Z3Mgb3IgbmV3IGRyaXZlcyB0byA8aGRkdGVtcEBndXp1Lm5ldD4uXG4iCisgbXNnc3RyICIiCisgCistIzogc3JjL2hkZHRlbXAuYzo1MjIKKysjOiBzcmMvaGRkdGVtcC5jOjQwMgorICMsIGMtZm9ybWF0CisgbXNnaWQgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisrIzogc3JjL2hkZHRlbXAuYzo0MTgKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogaW52YWxpZCBpbnRlcnZhbC5cbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU0NworKyM6IHNyYy9oZGR0ZW1wLmM6NDM4CisrIywgYy1mb3JtYXQKKyBtc2dpZCAiVG9vIGZldyBhcmd1bWVudHM6IHlvdSBtdXN0IHNwZWNpZnkgb25lIGRyaXZlLCBhdCBsZWFzdC5cbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvaGRkdGVtcC5jOjU1NworKyM6IHNyYy9oZGR0ZW1wLmM6NDQ4CisrIywgYy1mb3JtYXQKKyBtc2dpZCAiRVJST1I6IGNhbid0IHVzZSAtLWRlYnVnIGFuZCAtLWRhZW1vbiBvciAtLXN5c2xvZyBvcHRpb25zIHRvZ2V0aGVyLlxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9oZGR0ZW1wLmM6NTgzCisrIzogc3JjL2hkZHRlbXAuYzo1MDUKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICJFUlJPUjogJXM6IGNhbid0IGRldGVybWluZSBidXMgdHlwZSAob3IgdGhpcyBidXMgdHlwZSBpcyB1bmtub3duKVxuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY4CisrIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjQKKyBtc2dpZCAidW5rbm93biIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvYXRhLmM6OTgKKysjOiBzcmMvYXRhLmM6ODUgc3JjL2F0YS5jOjEwNCBzcmMvc2NzaS5jOjkxCisgIywgYy1mb3JtYXQKKy1tc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorK21zZ2lkICJTLk0uQS5SLlQuIG5vdCBhdmFpbGFibGUiCisgbXNnc3RyICIiCisgCistIzogc3JjL2F0YS5jOjE2NworLW1zZ2lkICJTLk0uQS5SLlQuIG5vdCBhdmFpbGFibGUiCisrIzogc3JjL2RiLmM6MTE1CisrIywgYy1mb3JtYXQKKyttc2dpZCAiIgorKyJcbiIKKysiUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKysiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyttc2dzdHIgIiIKKysKKysjOiBzcmMvZGIuYzoxMjEKKysjLCBjLWZvcm1hdAorK21zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9kYi5jOjE4MAorKyM6IHNyYy9kYi5jOjIzNgorICMsIGMtZm9ybWF0CisgbXNnaWQgImhkZHRlbXA6IGNhbid0IG9wZW4gJTEkczogJTIkc1xuIgorIG1zZ3N0ciAiIgorIAorLSM6IHNyYy9kYi5jOjE5NAorKyM6IHNyYy9kYi5jOjI1MAorICMsIGMtZm9ybWF0CisgbXNnaWQgIkVSUk9SOiBzeW50YXggZXJyb3IgYXQgbGluZSAlMSRkIGluICUyJHNcbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvZGIuYzoyMDEKKysjOiBzcmMvZGIuYzoyNTcKKyAjLCBjLWZvcm1hdAorIG1zZ2lkICIgIEVSUk9SOiBsaW5lIGV4Y2VlZCAlMSRkIGNoYXJhY3RlcnMgaW4gJTIkcy5cbiIKKyBtc2dzdHIgIiIKKyAKKy0jOiBzcmMvc2NzaS5jOjExMiBzcmMvc2NzaS5jOjEzMAorKyM6IHNyYy9zY3NpLmM6MTExIHNyYy9zY3NpLmM6MTI5CisgIywgYy1mb3JtYXQKKyBtc2dpZCAibG9nIHNlbnNlIGZhaWxlZCA6ICVzIgorIG1zZ3N0ciAiIgorLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9zYXRhLmMKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL3NhdGEuYworQEAgLTExOCwxMSArMTE4LDIyIEBACisgICBpbnQgICAgICAgICAgICAgIGk7CisgICB1MTYgKiAgICAgICAgICAgIHA7CisgCistICBpZihkc2stPmRiX2VudHJ5ICYmIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCA9PSAwKSB7CisrICBpZihkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQgPT0gMCkgeworICAgICBjbG9zZShkc2stPmZkKTsKKyAgICAgZHNrLT5mZCA9IC0xOworICAgICByZXR1cm4gR0VUVEVNUF9OT1NFTlNPUjsKKyAgIH0KKysKKysgIHN3aXRjaChhdGFfZ2V0X3Bvd2VybW9kZShkc2stPmZkKSkgeworKyAgY2FzZSBQV01fU1RBTkRCWToKKysgIGNhc2UgUFdNX1NMRUVQSU5HOgorKyAgICBpZiAoIXdha2V1cCkKKysgICAgICByZXR1cm4gR0VUVEVNUF9EUklWRV9TTEVFUDsKKysgIGNhc2UgUFdNX1VOS05PV046CisrICBjYXNlIFBXTV9BQ1RJVkU6IC8qIGFjdGl2ZSBvciBpZGxlICovCisrICBkZWZhdWx0OgorKyAgICBicmVhazsKKysgIH0KKyAgIAorICAgLyogZ2V0IFNNQVJUIHZhbHVlcyAqLworICAgaWYoc2F0YV9lbmFibGVfc21hcnQoZHNrLT5mZCkgIT0gMCkgeworQEAgLTE1NCwyNCArMTY1LDE1IEBACisgICB9CisgCisgICAvKiB0ZW1wZXJhdHVyZSAqLworLSAgaWYoZHNrLT5kYl9lbnRyeSAmJiBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQgPiAwKQorLSAgICBmaWVsZCA9IHNhdGFfc2VhcmNoX3RlbXBlcmF0dXJlKHZhbHVlcywgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkKTsKKy0gIGVsc2UKKy0gICAgZmllbGQgPSBzYXRhX3NlYXJjaF90ZW1wZXJhdHVyZSh2YWx1ZXMsIERFRkFVTFRfQVRUUklCVVRFX0lEKTsKKysgIGZpZWxkID0gc2F0YV9zZWFyY2hfdGVtcGVyYXR1cmUodmFsdWVzLCBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQpOworIAorICAgaWYoZmllbGQpCisgICAgIGRzay0+dmFsdWUgPSAqKGZpZWxkKzMpOworIAorICAgaWYoZHNrLT5kYl9lbnRyeSAmJiBkc2stPnZhbHVlICE9IC0xKQorICAgICByZXR1cm4gR0VUVEVNUF9LTk9XTjsKKy0gIGVsc2UgeworLSAgICBpZihkc2stPnZhbHVlICE9IC0xKSB7CistICAgICAgcmV0dXJuIEdFVFRFTVBfR1VFU1M7CistICAgIH0KKy0gICAgZWxzZSB7CistICAgICAgcmV0dXJuIEdFVFRFTVBfVU5LTk9XTjsKKy0gICAgfQorLSAgfQorKyAgZWxzZQorKyAgICByZXR1cm4gR0VUVEVNUF9VTktOT1dOOworIAorICAgLyogbmV2ZXIgcmVhY2hlZCAqLworIH0KKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvc2F0YWNtZHMuYworKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvc2F0YWNtZHMuYworQEAgLTM5LDcgKzM5LDcgQEAKKyAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisgI2luY2x1ZGUgPHNjc2kvc2cuaD4KKyAjaW5jbHVkZSA8bGludXgvaGRyZWcuaD4KKy0jaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorKyNpbmNsdWRlIDxieXRlc3dhcC5oPgorIAorIC8vIEFwcGxpY2F0aW9uIHNwZWNpZmljIGluY2x1ZGVzCisgI2luY2x1ZGUgInNhdGFjbWRzLmgiCitAQCAtODAsOCArODAsOCBAQAorIAorICAgcmV0ID0gc2NzaV9TR19JTyhkZXZpY2UsIGNkYiwgc2l6ZW9mKGNkYiksIGJ1ZmZlciwgY21kWzNdICogNTEyLCBzZW5zZSwgc2l6ZW9mKHNlbnNlKSwgZHhmZXJfZGlyZWN0aW9uKTsKKyAgCistICAvKiBWZXJpZnkgU0FUQSBtYWdpY3MgKi8KKy0gIGlmIChzZW5zZVswXSAhPSAweDcyIHx8IHNlbnNlWzddICE9IDB4MGUgfHwgc2Vuc2VbOV0gIT0gMHgwZSB8fCBzZW5zZVsxMF0gIT0gMHgwMCkKKysgIC8qIFZlcmlmeSBTQVRBIG1hZ2ljICovCisrICBpZiAoc2Vuc2VbMF0gIT0gMHg3MikKKyAgICAgcmV0dXJuIDE7CQkgIAorICAgZWxzZSAKKyAgICAgcmV0dXJuIHJldDsKK0BAIC05NSwxMCArOTUsMTAgQEAKKyAgIHAgPSBzOworICAgZW5kID0gJnNbYnl0ZWNvdW50ICYgfjFdOyAvKiBieXRlY291bnQgbXVzdCBiZSBldmVuICovCisgCistICAvKiBjb252ZXJ0IGZyb20gYmlnLWVuZGlhbiB0byBob3N0IGJ5dGUgb3JkZXIgKi8KKysgIC8qIGNvbnZlcnQgZnJvbSBiaWctZW5kaWFuIHRvIHN0cmluZyBvcmRlciAqLworICAgZm9yIChwID0gZW5kIDsgcCAhPSBzOykgeworICAgICB1bnNpZ25lZCBzaG9ydCAqcHAgPSAodW5zaWduZWQgc2hvcnQgKikgKHAgLT0gMik7CistICAgICpwcCA9IG50b2hzKCpwcCk7CisrICAgICpwcCA9IGJzd2FwXzE2KCpwcCk7CisgICB9CisgCisgICAvKiBzdHJpcCBsZWFkaW5nIGJsYW5rcyAqLworLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9iYWNrdHJhY2UuYworKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvYmFja3RyYWNlLmMKK0BAIC0xNiw5ICsxNiwxMCBAQAorICAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgICovCisgCisrI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxmZWF0dXJlcy5oPgorIAorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKysjaWYgKGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykpICYmIGRlZmluZWQoX19HTElCQ19fKQorIAorICNpbmNsdWRlIDxleGVjaW5mby5oPgorIAorQEAgLTMxLDggKzMyLDEyIEBACisgI2luY2x1ZGUgPGJpdHMvc2lnY29udGV4dC5oPgorICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKyAKKy0jZGVmaW5lIF9fVVNFX0dOVQorICNpbmNsdWRlIDx1Y29udGV4dC5oPgorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKQorKyMgIGRlZmluZSBSRUdfSVAgUkVHX0VJUAorKyNlbGlmIGRlZmluZWQoX194ODZfNjRfXykKKysjICBkZWZpbmUgUkVHX0lQIFJFR19SSVAKKysjZW5kaWYKKyAKKyAjZGVmaW5lIE1BWF9CVFNJWkUgNjQKKyAKK0BAIC00Miw3ICs0Nyw2IEBACisgICBzdGF0aWMgY2hhciAqKm1lc3NhZ2VzID0gTlVMTDsKKyAgIHN0YXRpYyBzaXplX3QgYnRzaXplID0gMDsKKyAgIHN0YXRpYyBzaXplX3QgaTsKKy0gIHN0YXRpYyB1bnNpZ25lZCBpbnQgb2xkX2VpcCwgb2xkX2VicDsKKyAgIHN0YXRpYyBjaGFyICpzdHJlcnIgPSAiPz8/IjsKKyAgIHN0YXRpYyBGSUxFICpmc3RybTsKKyAKK0BAIC02MSwxMCArNjUsMTAgQEAKKyAgICAgICBTSUNfQ0FTRShTRUdWX01BUEVSUik7CisgICAgICAgU0lDX0NBU0UoU0VHVl9BQ0NFUlIpOworICAgICB9CistICAgIGZwcmludGYoZnN0cm0sICI9PT0gU0VHRkFVTFQgKCVzKSA6IGludmFsaWQgYWNjZXNzIHRvICVwLCBpbiAweCUwOHhcbiIsCisrICAgIGZwcmludGYoZnN0cm0sICI9PT0gU0VHRkFVTFQgKCVzKSA6IGludmFsaWQgYWNjZXNzIHRvICVwLCBpbiAlcFxuIiwKKyAJICAgIHN0cmVyciwKKyAJICAgIGlzdC0+c2lfYWRkciwKKy0JICAgIHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0VJUF0pOworKwkgICAgKHZvaWQqKXB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0lQXSk7CisgICAgIGJyZWFrOworICAgY2FzZSBTSUdJTEw6CisgICAgIHN3aXRjaChpc3QtPnNpX2NvZGUpIHsKK0BAIC03NywxMCArODEsMTAgQEAKKyAgICAgICBTSUNfQ0FTRShJTExfQ09QUk9DKTsKKyAgICAgICBTSUNfQ0FTRShJTExfQkFEU1RLKTsKKyAgICAgfQorLSAgICBmcHJpbnRmKGZzdHJtLCAiPT09IElMTEVHQUwgSU5TVFIgKCVzKSA6IGludmFsaWQgYWNjZXNzIHRvICVwLCBpbiAweCUwOHhcbiIsCisrICAgIGZwcmludGYoZnN0cm0sICI9PT0gSUxMRUdBTCBJTlNUUiAoJXMpIDogaW52YWxpZCBhY2Nlc3MgdG8gJXAsIGluICVwXG4iLAorIAkgICAgc3RyZXJyLAorIAkgICAgaXN0LT5zaV9hZGRyLAorLQkgICAgcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRUlQXSk7CisrCSAgICAodm9pZCopcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfSVBdKTsKKyAgICAgYnJlYWs7CisgICBjYXNlIFNJR0JVUzoKKyAgICAgc3dpdGNoKGlzdC0+c2lfY29kZSkgeworQEAgLTg4LDEwICs5MiwxMCBAQAorICAgICAgIFNJQ19DQVNFKEJVU19BRFJFUlIpOworICAgICAgIFNJQ19DQVNFKEJVU19PQkpFUlIpOworICAgICB9CistICAgIGZwcmludGYoZnN0cm0sICI9PT0gQlVTIEVSUk9SICglcCkgOiBpbnZhbGlkIGFjY2VzcyB0byAlcCwgaW4gMHglMDh4XG4iLAorKyAgICBmcHJpbnRmKGZzdHJtLCAiPT09IEJVUyBFUlJPUiAoJXApIDogaW52YWxpZCBhY2Nlc3MgdG8gJXAsIGluICVwXG4iLAorIAkgICAgc3RyZXJyLAorIAkgICAgaXN0LT5zaV9hZGRyLAorLQkgICAgcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRUlQXSk7CisrCSAgICAodm9pZCopcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfSVBdKTsKKyAgICAgYnJlYWs7CisgICB9CisgICBmZmx1c2goZnN0cm0pOworQEAgLTEwMSw3ICsxMDUsNyBAQAorICAgLyoKKyAgICAgb2xkX2VpcCA9ICoodW5zaWduZWQgaW50KikoKHZvaWQqKSZuLTQpOworICAgICBvbGRfZWJwID0gKih1bnNpZ25lZCBpbnQqKSgodm9pZCopJm4tOCk7CistICAgICoodW5zaWduZWQgaW50KikoKHZvaWQqKSZuLTQpID0gcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRUlQXTsKKysgICAgKih1bnNpZ25lZCBpbnQqKSgodm9pZCopJm4tNCkgPSBwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19JUF07CisgICAgICoodW5zaWduZWQgaW50KikoKHZvaWQqKSZuLTgpID0gcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRUJQXTsgICAgCisgICAgIAorICAgICBidHNpemUgPSBiYWNrdHJhY2UoYnRpbmZvLCBNQVhfQlRTSVpFKTsKK0BAIC0xMTEsMTQgKzExNSwxNCBAQAorICAgKi8KKyAgIAorICAgYnRzaXplID0gYmFja3RyYWNlKGJ0aW5mbywgTUFYX0JUU0laRSk7CistICBidGluZm9bMV0gPSAodm9pZCopIHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0VJUF07CisrICBidGluZm9bMV0gPSAodm9pZCopIHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0lQXTsKKyAKKyAgIG1lc3NhZ2VzID0gYmFja3RyYWNlX3N5bWJvbHMoYnRpbmZvLCBidHNpemUpOworIAorICAgZm9yKGkgPSAxOworICAgICAgIGkgPCBidHNpemU7CisgICAgICAgaSsrKQorLSAgICBmcHJpbnRmKGZzdHJtLCAiWyVkXSAjJWQ6ICVzXG4iLCBnZXRwaWQoKSwgaSwgbWVzc2FnZXNbaV0pOworKyAgICBmcHJpbnRmKGZzdHJtLCAiWyVkXSAjJXp1OiAlc1xuIiwgZ2V0cGlkKCksIGksIG1lc3NhZ2VzW2ldKTsKKyAgIGZmbHVzaChmc3RybSk7CisgICBmY2xvc2UoZnN0cm0pOworIAorLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9kYWVtb24uYworKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvZGFlbW9uLmMKK0BAIC0xNjMsMTkgKzE2MywxNiBAQAorIAorICAgICBzd2l0Y2goZHNrLT5yZXQpIHsKKyAgICAgY2FzZSBHRVRURU1QX05PVF9BUFBMSUNBQkxFOgorLSAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWMlcyVjJWMiLAorKyAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWNOQSVjKiIsCisgICAgICAgICAgICAgICAgICAgIGRzay0+ZHJpdmUsIHNlcGFyYXRvciwKKyAgICAgICAgICAgICAgICAgICAgZHNrLT5tb2RlbCwgc2VwYXJhdG9yLAorLSAgICAgICAgICAgICAgICAgICAiTkEiLCAgICAgICBzZXBhcmF0b3IsCistICAgICAgICAgICAgICAgICAgICcqJyk7CisrICAgICAgICAgICAgICAgICAgIHNlcGFyYXRvcik7CisgICAgICAgYnJlYWs7CistICAgIGNhc2UgR0VUVEVNUF9HVUVTUzoKKyAgICAgY2FzZSBHRVRURU1QX1VOS05PV046CistICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlYyVzJWMlYyIsCisrICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlY1VOSyVjKiIsCisgICAgICAgICAgICAgICAgICAgIGRzay0+ZHJpdmUsIHNlcGFyYXRvciwKKy0gICAgICAgICAgICAgICAgICAgZHNrLT5tb2RlbCwgc2VwYXJhdG9yLAorLSAgICAgICAgICAgICAgICAgICAiVU5LIiwgICAgIHNlcGFyYXRvciwKKy0gICAgICAgICAgICAgICAgICAgJyonKTsKKysgICAgICAgICAgICAgICAgICAgZHNrLT5tb2RlbCwgc2VwYXJhdG9yLCAKKysJCSAgIHNlcGFyYXRvcik7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2UgR0VUVEVNUF9LTk9XTjoKKyAgICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjJWQlYyVjIiwKK0BAIC0xODUsMjYgKzE4MiwyMyBAQAorICAgICAgICAgICAgICAgICAgICBnZXRfdW5pdChkc2spKTsKKyAgICAgICBicmVhazsKKyAgICAgY2FzZSBHRVRURU1QX05PU0VOU09SOgorLSAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWMlcyVjJWMiLAorKyAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWNOT1MlYyoiLAorICAgICAgICAgICAgICAgICAgICBkc2stPmRyaXZlLCBzZXBhcmF0b3IsCisgICAgICAgICAgICAgICAgICAgIGRzay0+bW9kZWwsIHNlcGFyYXRvciwKKy0gICAgICAgICAgICAgICAgICAgIk5PUyIsICAgICAgc2VwYXJhdG9yLAorLSAgICAgICAgICAgICAgICAgICAnKicpOworKyAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3IpOworICAgICAgIGJyZWFrOworICAgICBjYXNlIEdFVFRFTVBfRFJJVkVfU0xFRVA6CistICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlYyVzJWMlYyIsCisrICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlY1NMUCVjKiIsCisgICAgICAgICAgICAgICAgICAgIGRzay0+ZHJpdmUsIHNlcGFyYXRvciwKKyAgICAgICAgICAgICAgICAgICAgZHNrLT5tb2RlbCwgc2VwYXJhdG9yLAorLSAgICAgICAgICAgICAgICAgICAiU0xQIiwgICAgICBzZXBhcmF0b3IsCistICAgICAgICAgICAgICAgICAgICcqJyk7CisrICAgICAgICAgICAgICAgICAgIHNlcGFyYXRvcik7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2UgR0VUVEVNUF9FUlJPUjoKKyAgICAgZGVmYXVsdDoKKy0gICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjJXMlYyVjIiwKKysgICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjRVJSJWMqIiwKKyAgICAgICAgICAgICAgICAgICAgZHNrLT5kcml2ZSwgICAgICAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3IsCisgICAgICAgICAgICAgICAgICAgIChkc2stPm1vZGVsKSA/IGRzay0+bW9kZWwgOiAiPz8/Iiwgc2VwYXJhdG9yLAorLSAgICAgICAgICAgICAgICAgICAiRVJSIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcGFyYXRvciwKKy0gICAgICAgICAgICAgICAgICAgJyonKTsKKysgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yKTsKKyAgICAgICBicmVhazsKKyAgICAgfQorICAgICB3cml0ZShjZmQsJnNlcGFyYXRvciwgMSk7CitAQCAtMjIyLDE0ICsyMTYsMTEgQEAKKyAgIGZvcihkc2sgPSBsZGlza3M7IGRzazsgZHNrID0gZHNrLT5uZXh0KSB7CisgICAgIHN3aXRjaChkc2stPnJldCkgeworICAgICBjYXNlIEdFVFRFTVBfS05PV046CistICAgIGNhc2UgR0VUVEVNUF9HVUVTUzoKKy0gICAgICB2YWx1ZV90b191bml0KGRzayk7CistCisgICAgICAgc3lzbG9nKExPR19JTkZPLCAiJXM6ICVzOiAlZCAlYyIsIAorICAgICAgICAgICAgICBkc2stPmRyaXZlLAorIAkgICAgIGRzay0+bW9kZWwsCistCSAgICAgZHNrLT52YWx1ZSwKKy0JICAgICBkc2stPmRiX2VudHJ5LT51bml0KTsKKysJICAgICB2YWx1ZV90b191bml0KGRzayksCisrCSAgICAgZ2V0X3VuaXQoZHNrKSk7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2UgR0VUVEVNUF9EUklWRV9TTEVFUDoKKyAgICAgICBzeXNsb2coTE9HX1dBUk5JTkcsIF8oIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmciKSwgCitAQCAtMjcwLDI4ICsyNjEsMzAgQEAKKyAgIGZkX3NldCAgICAgICAgICAgICBkZWZmZHM7CisgICB0aW1lX3QgICAgICAgICAgICAgbmV4dF90aW1lOworIAorLSAgc3dpdGNoKGZvcmsoKSkgeworLSAgY2FzZSAtMToKKy0gICAgcGVycm9yKCJmb3JrIik7CistICAgIGV4aXQoMik7CistICAgIGJyZWFrOworLSAgY2FzZSAwOgorLSAgICBicmVhazsKKy0gIGRlZmF1bHQ6CistICAgIGV4aXQoMCk7CistICB9CistICAKKy0gIHNldHNpZCgpOworLSAgCistICBzd2l0Y2goZm9yaygpKSB7CistICBjYXNlIC0xOgorLSAgICBwZXJyb3IoImZvcmsiKTsKKy0gICAgZXhpdCgyKTsKKy0gICAgYnJlYWs7CistICBjYXNlIDA6CistICAgIGJyZWFrOworLSAgZGVmYXVsdDoKKy0gICAgZXhpdCgwKTsKKytpZiAoIWZvcmVncm91bmQpIHsKKysgICAgc3dpdGNoKGZvcmsoKSkgeworKyAgICBjYXNlIC0xOgorKyAgICAgIHBlcnJvcigiZm9yayIpOworKyAgICAgIGV4aXQoMik7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgMDoKKysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBleGl0KDApOworKyAgICB9CisrCisrICAgIHNldHNpZCgpOworKworKyAgICBzd2l0Y2goZm9yaygpKSB7CisrICAgIGNhc2UgLTE6CisrICAgICAgcGVycm9yKCJmb3JrIik7CisrICAgICAgZXhpdCgyKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSAwOgorKyAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgIGV4aXQoMCk7CisrICAgIH0KKyAgIH0KKyAgIGNoZGlyKCIvIik7CisgICB1bWFzaygwKTsKKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvaGRkdGVtcC5jCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9oZGR0ZW1wLmMKK0BAIC03NSw3ICs3NSw3IEBACisgY2hhciAgICAgICAgICAgICAgIHNlcGFyYXRvciA9IFNFUEFSQVRPUjsKKyAKKyBzdHJ1Y3QgYnVzdHlwZSAqICAgYnVzW0JVU19UWVBFX01BWF07CistaW50ICAgICAgICAgICAgICAgIHRjcF9kYWVtb24sIGRlYnVnLCBxdWlldCwgbnVtZXJpYywgd2FrZXVwLCBhZl9oaW50OworK2ludCAgICAgICAgICAgICAgICB0Y3BfZGFlbW9uLCBkZWJ1ZywgcXVpZXQsIG51bWVyaWMsIHdha2V1cCwgZm9yZWdyb3VuZCwgYWZfaGludDsKKyAKKyBzdGF0aWMgZW51bSB7IERFRkFVTFQsIENFTFNJVVMsIEZBSFJFTkhFSVQgfSB1bml0OworIAorQEAgLTE5NCwyMyArMTk0LDcgQEAKKyAgICAgaWYgKG51bWVyaWMgJiYgcXVpZXQpCisgICAgICAgcHJpbnRmKCIwXG4iKTsgICAgICAKKyAgICAgZWxzZQorLSAgICAgIHByaW50ZihfKCIlczogJXM6ICBubyBzZW5zb3JcbiIpLCBkc2stPmRyaXZlLCBkc2stPm1vZGVsKTsKKy0KKy0gICAgYnJlYWs7CistICBjYXNlIEdFVFRFTVBfR1VFU1M6CistCistICAgIGlmKCFxdWlldCkKKy0gICAgICBmcHJpbnRmKHN0ZGVyciwKKy0JICAgICAgXygiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKKy0JCSJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgorLQkJIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCistCQkiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKy0JCSJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIiksIGRzay0+ZHJpdmUpOworLQorLSAgICBpZiAoISBudW1lcmljKQorLSAgICAgIHByaW50ZihfKCIlczogJXM6ICAlZCVzQyBvciAlc0ZcbiIpLCBkc2stPmRyaXZlLCBkc2stPm1vZGVsLCBkc2stPnZhbHVlLCBkZWdyZWUsIGRlZ3JlZSk7CistICAgIGVsc2UKKy0gICAgICBwcmludGYoIiVkXG4iLCB2YWx1ZV90b191bml0KGRzaykpOworKyAgICAgIGZwcmludGYoc3RkZXJyLCBfKCIlczogJXM6ICBubyBzZW5zb3JcbiIpLCBkc2stPmRyaXZlLCBkc2stPm1vZGVsKTsKKyAKKyAgICAgYnJlYWs7CisgICBjYXNlIEdFVFRFTVBfS05PV046CitAQCAtMjMyLDE0ICsyMTYsMTQgQEAKKyAgICAgaWYgKG51bWVyaWMgJiYgcXVpZXQpCisgICAgICAgcHJpbnRmKCIwXG4iKTsgICAgICAKKyAgICAgZWxzZQorLSAgICAgIHByaW50ZihfKCIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iKSwgZHNrLT5kcml2ZSwgZHNrLT5tb2RlbCk7CisrICAgICAgZnByaW50ZihzdGRlcnIsIF8oIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmdcbiIpLCBkc2stPmRyaXZlLCBkc2stPm1vZGVsKTsKKyAKKyAgICAgYnJlYWs7CisgICBjYXNlIEdFVFRFTVBfTk9TRU5TT1I6CisgICAgIGlmIChudW1lcmljICYmIHF1aWV0KQorICAgICAgIHByaW50ZigiMFxuIik7ICAgICAgCisgICAgIGVsc2UKKy0gICAgICBwcmludGYoXygiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIiksIGRzay0+ZHJpdmUsIGRzay0+bW9kZWwpOworKyAgICAgIGZwcmludGYoc3RkZXJyLCBfKCIlczogJXM6ICBkcml2ZSBzdXBwb3J0ZWQsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iKSwgZHNrLT5kcml2ZSwgZHNrLT5tb2RlbCk7CisgICAgICAgCisgICAgIGJyZWFrOworICAgZGVmYXVsdDoKK0BAIC0yNjgsOCArMjUyLDkgQEAKKyAKKyBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKSB7CisgICBpbnQgICAgICAgICAgIGksIGMsIGxpbmRleCA9IDAsIGRiX2xvYWRlZCA9IDA7CisrICBpbnQgCQlyZXQgPSAwOworICAgaW50ICAgICAgICAgICBzaG93X2RiOworLSAgc3RydWN0IGRpc2sgKiBsZGlza3M7CisrICBzdHJ1Y3QgICAgICAgIGRpc2sgKiBsZGlza3M7CisgCisgICBiYWNrdHJhY2Vfc2lnc2VndigpOworICAgYmFja3RyYWNlX3NpZ2lsbCgpOworQEAgLTI3OSw3ICsyNjQsNyBAQAorICAgYmluZHRleHRkb21haW4gKFBBQ0tBR0UsIExPQ0FMRURJUik7CisgICB0ZXh0ZG9tYWluIChQQUNLQUdFKTsKKyAgIAorLSAgc2hvd19kYiA9IGRlYnVnID0gbnVtZXJpYyA9IHF1aWV0ID0gd2FrZXVwID0gYWZfaGludCA9IHN5c2xvZ19pbnRlcnZhbCA9IDA7CisrICBzaG93X2RiID0gZGVidWcgPSBudW1lcmljID0gcXVpZXQgPSB3YWtldXAgPSBhZl9oaW50ID0gc3lzbG9nX2ludGVydmFsID0gZm9yZWdyb3VuZCA9IDA7CisgICB1bml0ID0gREVGQVVMVDsKKyAgIHBvcnRudW0gPSBQT1JUX05VTUJFUjsKKyAgIGxpc3Rlbl9hZGRyID0gTlVMTDsKK0BAIC0yOTQsNiArMjc5LDcgQEAKKyAgICAgICB7ImRyaXZlYmFzZSIsICAwLCBOVUxMLCAnYid9LAorICAgICAgIHsiZGVidWciLCAgICAgIDAsIE5VTEwsICdEJ30sCisgICAgICAgeyJmaWxlIiwgICAgICAgMSwgTlVMTCwgJ2YnfSwKKysgICAgICB7ImZvcmVncm91bmQiLCAwLCBOVUxMLCAnRid9LAorICAgICAgIHsibGlzdGVuIiwgICAgIDEsIE5VTEwsICdsJ30sCisgICAgICAgeyJ2ZXJzaW9uIiwgICAgMCwgTlVMTCwgJ3YnfSwKKyAgICAgICB7InBvcnQiLCAgICAgICAxLCBOVUxMLCAncCd9LAorQEAgLTMwNSw3ICsyOTEsNyBAQAorICAgICAgIHswLCAwLCAwLCAwfQorICAgICB9OworICAKKy0gICAgYyA9IGdldG9wdF9sb25nIChhcmdjLCBhcmd2LCAiYkRkZjpsOmhwOnFzOnU6dm53NDZTOiIsIGxvbmdfb3B0aW9ucywgJmxpbmRleCk7CisrICAgIGMgPSBnZXRvcHRfbG9uZyAoYXJnYywgYXJndiwgImJEZGY6bDpocDpxczp1OnZudzQ2RlM6IiwgbG9uZ19vcHRpb25zLCAmbGluZGV4KTsKKyAgICAgaWYgKGMgPT0gLTEpCisgICAgICAgYnJlYWs7CisgICAgIAorQEAgLTM4MiwxMiArMzY4LDEzIEBACisgCQkgIiAgICAgICAgICAgICAgICAgICAgICAgIChkb25lIGZvciBldmVyeSBkcml2ZSBzdXBwbGllZCkuXG4iCisgCQkgIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSBkZWZhdWx0LilcbiIKKyAJCSAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmeSBkYXRhYmFzZSBmaWxlIHRvIHVzZS5cbiIKKysJCSAiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgZG9uJ3QgZGFlbW9uaXplLCBzdGF5IGluIGZvcmVncm91bmQuXG4iCisgCQkgIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGxpc3RlbiBvbiBhIHNwZWNpZmljIGludGVyZmFjZSAoaW4gVENQL0lQIGRhZW1vbiBtb2RlKS5cbiIKKyAgICAgICAgICAgICAgICAgICIgIC1uICAgLS1udW1lcmljICAgICA6ICBwcmludCBvbmx5IHRoZSB0ZW1wZXJhdHVyZS5cbiIKKyAJCSAiICAtcCAgIC0tcG9ydD0jICAgICAgOiAgcG9ydCB0byBsaXN0ZW4gdG8gKGluIFRDUC9JUCBkYWVtb24gbW9kZSkuXG4iCisgCQkgIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBmaWVsZHMgKGluIFRDUC9JUCBkYWVtb24gbW9kZSkuXG4iCisgCQkgIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGxvZyB0ZW1wZXJhdHVyZSB0byBzeXNsb2cgZXZlcnkgcyBzZWNvbmRzLlxuIgorLSAgICAgICAgICAgICAgICAgIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2VsaXVzIG9yIEZhaHJlbmhlaXQuXG4iCisrICAgICAgICAgICAgICAgICAiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgZm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxzaXVzIG9yIEZhaHJlbmhlaXQuXG4iCisgCQkgIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIGRvIG5vdCBjaGVjayBpZiB0aGUgZHJpdmUgaXMgc3VwcG9ydGVkLlxuIgorIAkJICIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBkaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuXG4iCisgCQkgIiAgLXcgICAtLXdha2UtdXAgICAgIDogIHdha2UtdXAgdGhlIGRyaXZlIGlmIG5lZWQuXG4iCitAQCAtNDE4LDYgKzQwNSw5IEBACisgCSAgfQorICAgICAgICAgfQorIAlicmVhazsKKysgICAgICBjYXNlICdGJzoKKysgICAgICAgIGZvcmVncm91bmQgPSAxOworKwlicmVhazsKKyAgICAgICBkZWZhdWx0OgorIAlleGl0KDEpOworICAgICAgIH0KK0BAIC00ODksNiArNDc5LDcgQEAKKyAgICAgaWYoIChkc2stPmZkID0gb3Blbihkc2stPmRyaXZlLCBPX1JET05MWSB8IE9fTk9OQkxPQ0spKSA8IDApIHsKKyAgICAgICBzbnByaW50Zihkc2stPmVycm9ybXNnLCBNQVhfRVJST1JNU0dfU0laRSwgIm9wZW46ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOworICAgICAgIGRzay0+dHlwZSA9IEVSUk9SOworKyAgICAgIHJldCA9IDE7CisgICAgICAgY29udGludWU7CisgICAgIH0KKyAKK0BAIC01MDEsNiArNDkyLDcgQEAKKyAKKyAgICAgICBsZGlza3MgPSBkc2stPm5leHQ7CisgICAgICAgZnJlZShkc2spOworKyAgICAgIHJldCA9IDE7CisgICAgICAgY29udGludWU7CisgICAgIH0KKyAKK0BAIC01MTQsMTEgKzUwNiwxNyBAQAorIAlkYl9sb2FkZWQgPSAxOworICAgICAgIH0gICAgICAKKyAKKysgICAgICBkc2stPmRiX2VudHJ5ID0gKHN0cnVjdCBoYXJkZHJpdmVfZW50cnkgKiltYWxsb2Moc2l6ZW9mKHN0cnVjdCBoYXJkZHJpdmVfZW50cnkpKTsKKyAgICAgICBkYmUgPSBpc19hX3N1cHBvcnRlZF9kcml2ZShkc2stPm1vZGVsKTsKKy0gICAgICBpZihkYmUpIHsKKy0JZHNrLT5kYl9lbnRyeSA9IChzdHJ1Y3QgaGFyZGRyaXZlX2VudHJ5ICopbWFsbG9jKHNpemVvZihzdHJ1Y3QgaGFyZGRyaXZlX2VudHJ5KSk7CisrICAgICAgaWYoZGJlKQorIAltZW1jcHkoZHNrLT5kYl9lbnRyeSwgZGJlLCBzaXplb2Yoc3RydWN0IGhhcmRkcml2ZV9lbnRyeSkpOworLSAgICAgIH0JCisrICAgICAgZWxzZSB7CisrICAgICAgICBkc2stPmRiX2VudHJ5LT5yZWdleHAgICAgICAgPSAiIjsKKysgICAgICAgIGRzay0+ZGJfZW50cnktPmRlc2NyaXB0aW9uICA9ICIiOworKyAgICAgICAgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID0gREVGQVVMVF9BVFRSSUJVVEVfSUQ7CisrICAgICAgICBkc2stPmRiX2VudHJ5LT51bml0ICAgICAgICAgPSAnQyc7CisrICAgICAgICBkc2stPmRiX2VudHJ5LT5uZXh0ICAgICAgICAgPSBOVUxMOworKyAgICAgIH0KKyAgICAgfQorICAgfQorIAorQEAgLTUzMCw1ICs1MjgsNSBAQAorICAgICBkb19kaXJlY3RfbW9kZShsZGlza3MpOworICAgfQorIAorLSAgcmV0dXJuIDA7CisrICByZXR1cm4gcmV0OworIH0KKy0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvYXRhLmMKKysrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2F0YS5jCitAQCAtNzUsNyArNzUsNyBAQAorICAgaW50ICAgICAgICAgICAgICBpOworICAgdTE2ICogICAgICAgICAgICBwOworIAorLSAgaWYoZHNrLT5kYl9lbnRyeSAmJiBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQgPT0gMCkgeworKyAgaWYoZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID09IDApIHsKKyAgICAgY2xvc2UoZHNrLT5mZCk7CisgICAgIGRzay0+ZmQgPSAtMTsKKyAgICAgcmV0dXJuIEdFVFRFTVBfTk9TRU5TT1I7CitAQCAtMTQwLDI0ICsxNDAsMTUgQEAKKyAgICovCisgCisgICAvKiB0ZW1wZXJhdHVyZSAqLworLSAgaWYoZHNrLT5kYl9lbnRyeSAmJiBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQgPiAwKQorLSAgICBmaWVsZCA9IGF0YV9zZWFyY2hfdGVtcGVyYXR1cmUodmFsdWVzLCBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQpOworLSAgZWxzZQorLSAgICBmaWVsZCA9IGF0YV9zZWFyY2hfdGVtcGVyYXR1cmUodmFsdWVzLCBERUZBVUxUX0FUVFJJQlVURV9JRCk7CisrICBmaWVsZCA9IGF0YV9zZWFyY2hfdGVtcGVyYXR1cmUodmFsdWVzLCBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQpOworIAorICAgaWYoZmllbGQpCisgICAgIGRzay0+dmFsdWUgPSAqKGZpZWxkKzMpOworIAorLSAgaWYoZHNrLT5kYl9lbnRyeSAmJiBkc2stPnZhbHVlICE9IC0xKQorKyAgaWYoZHNrLT52YWx1ZSAhPSAtMSkKKyAgICAgcmV0dXJuIEdFVFRFTVBfS05PV047CistICBlbHNlIHsKKy0gICAgaWYoZHNrLT52YWx1ZSAhPSAtMSkgeworLSAgICAgIHJldHVybiBHRVRURU1QX0dVRVNTOworLSAgICB9CistICAgIGVsc2UgeworLSAgICAgIHJldHVybiBHRVRURU1QX1VOS05PV047CistICAgIH0KKy0gIH0KKysgIGVsc2UKKysgICAgcmV0dXJuIEdFVFRFTVBfVU5LTk9XTjsKKyAKKyAgIC8qIG5ldmVyIHJlYWNoZWQgKi8KKyB9CistLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL2hkZHRlbXAuaAorKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvaGRkdGVtcC5oCitAQCAtMzksOCArMzksNiBAQAorICAgR0VUVEVNUF9FUlJPUiwgICAgICAgICAgICAvKiBFcnJvciAqLworICAgR0VUVEVNUF9OT1RfQVBQTElDQUJMRSwgICAvKiAqLworICAgR0VUVEVNUF9VTktOT1dOLCAgICAgICAgICAvKiBEcml2ZSBpcyBub3QgaW4gZGF0YWJhc2UgKi8KKy0gIEdFVFRFTVBfR1VFU1MsICAgICAgICAgICAgLyogTm90IGluIGRhdGFiYXNlLCBidXQgc29tZXRoaW5nIHdhcyBndWVzc2VkLCB1c2VyIG11c3QKKy0JCQkgICAgICAgY2hlY2sgdGhhdCB0aGUgdGVtcGVyYXR1cmUgcmV0dXJuZWQgaXMgY29ycmVjdCAqLworICAgR0VUVEVNUF9LTk9XTiwgICAgICAgICAgICAvKiBEcml2ZSBhcHBlYXIgaW4gZGF0YWJhc2UgKi8KKyAgIEdFVFRFTVBfTk9TRU5TT1IsICAgICAgICAgLyogRHJpdmUgYXBwZWFyIGluIGRhdGFiYXNlIGJ1dCBpcyBrbm93biB0byBoYXZlIG5vIHNlbnNvciAqLworICAgR0VUVEVNUF9EUklWRV9TTEVFUCAgICAgICAvKiBEcml2ZSBpcyBzbGVlcGluZyAqLworQEAgLTc4LDcgKzc2LDcgQEAKKyAKKyBleHRlcm4gc3RydWN0IGJ1c3R5cGUgKiAgIGJ1c1tCVVNfVFlQRV9NQVhdOworIGV4dGVybiBjaGFyICAgICAgICAgICAgICAgZXJyb3Jtc2dbTUFYX0VSUk9STVNHX1NJWkVdOworLWV4dGVybiBpbnQgICAgICAgICAgICAgICAgdGNwX2RhZW1vbiwgZGVidWcsIHF1aWV0LCB3YWtldXAsIGFmX2hpbnQ7CisrZXh0ZXJuIGludCAgICAgICAgICAgICAgICB0Y3BfZGFlbW9uLCBkZWJ1ZywgcXVpZXQsIHdha2V1cCwgYWZfaGludCwgZm9yZWdyb3VuZDsKKyBleHRlcm4gY2hhciAgICAgICAgICAgICAgIHNlcGFyYXRvcjsKKyBleHRlcm4gbG9uZyAgICAgICAgICAgICAgIHBvcnRudW0sIHN5c2xvZ19pbnRlcnZhbDsKKyBleHRlcm4gY2hhciAqICAgICAgICAgICAgIGxpc3Rlbl9hZGRyOworLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9zY3NpY21kcy5jCisrKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9zY3NpY21kcy5jCitAQCAtMTQ3LDYgKzE0Nyw3IEBACisgICAgIHJldHVybiAxOworICAgZWxzZSB7CisgICAgIHNjc2lfZml4c3RyaW5nKGJ1ZmZlciArIDgsIDI0KTsKKysgICAgYnVmZmVyWzMyXSA9IDA7CisgICAgIHJldHVybiAwOworICAgfQorIH0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wL2luaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkZjhmNjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZHRlbXAvaGRkdGVtcC9pbml0CkBAIC0wLDAgKzEsMTAwIEBACisjIS9iaW4vc2gKKyMKKyMgc2tlbGV0b24gICAgICAgIGV4YW1wbGUgZmlsZSB0byBidWlsZCAvZXRjL2luaXQuZC8gc2NyaXB0cy4KKyMgICAgICAgICAgICAgICAgVGhpcyBmaWxlIHNob3VsZCBiZSB1c2VkIHRvIGNvbnN0cnVjdCBzY3JpcHRzIGZvciAvZXRjL2luaXQuZC4KKyMKKyMgICAgICAgICAgICAgICAgV3JpdHRlbiBieSBNaXF1ZWwgdmFuIFNtb29yZW5idXJnIDxtaXF1ZWxzQGNpc3Ryb24ubmw+LgorIyAgICAgICAgICAgICAgICBNb2RpZmllZCBmb3IgRGViaWFuIEdOVS9MaW51eAorIyAgICAgICAgICAgICAgICBieSBJYW4gTXVyZG9jayA8aW11cmRvY2tAZ251LmFpLm1pdC5lZHU+LgorIworIyBWZXJzaW9uOiAgICAgICAgQCgjKXNrZWxldG9uICAxLjggIDAzLU1hci0xOTk4ICBtaXF1ZWxzQGNpc3Ryb24ubmwKKyMKKworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgaGRkdGVtcAorIyBSZXF1aXJlZC1TdGFydDogICAgJHJlbW90ZV9mcyAkc3lzbG9nICRuZXR3b3JrCisjIFJlcXVpcmVkLVN0b3A6ICAgICAkcmVtb3RlX2ZzICRzeXNsb2cgJG5ldHdvcmsKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBkaXNrIHRlbXBlcmF0dXJlIG1vbml0b3JpbmcgZGFlbW9uCisjIERlc2NyaXB0aW9uOiAgICAgICBoZGR0ZW1wIGlzIGEgZGlzayB0ZW1wZXJhdHVyZSBtb25pdG9yaW5nIGRhZW1vbgorIyMjIEVORCBJTklUIElORk8KKworUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KK05BTUU9aGRkdGVtcAorREFFTU9OPS91c3Ivc2Jpbi8kTkFNRQorREVTQz0iZGlzayB0ZW1wZXJhdHVyZSBtb25pdG9yaW5nIGRhZW1vbiIKKworRElTS1M9Ii9kZXYvaGRbYS16XSAvZGV2L2hkW2Etel1bYS16XSIKK0RJU0tTPSIkRElTS1MgL2Rldi9zZFthLXpdIC9kZXYvc2RbYS16XVthLXpdIgorRElTS1M9IiRESVNLUyAvZGV2L3NyW2Etel0gL2Rldi9zclthLXpdW2Etel0iCitJTlRFUkZBQ0U9IjAuMC4wLjAiCitQT1JUPSI3NjM0IgorU0VQQVJBVE9SPSJ8IgorUlVOX1NZU0xPRz0iMCIKKworIyBSZWFkcyBjb25maWcgZmlsZSAod2lsbCBvdmVycmlkZSBkZWZhdWx0cyBhYm92ZSkKK1sgLXIgL2V0Yy9kZWZhdWx0L2hkZHRlbXAgXSAmJiAuIC9ldGMvZGVmYXVsdC9oZGR0ZW1wCisKK2lmIFsgLW4gIiRSVU5fU1lTTE9HIiBdICYmIFsgIiRSVU5fU1lTTE9HIiAhPSAiMCIgXSA7IHRoZW4KKyAgU1lTTE9HX0FSRz0iLVMgJFJVTl9TWVNMT0ciCitmaQorCitpZiBbICIkUlVOX0RBRU1PTiIgPSAidHJ1ZSIgXSB8fCBbICIkUlVOX0RBRU1PTiIgPSAieWVzIiBdIDsgdGhlbgorICBEQUVNT05fQVJHPSItZCAtbCAkSU5URVJGQUNFIC1wICRQT1JUIC1zICRTRVBBUkFUT1IiCitmaQorCitbIC14ICIkREFFTU9OIiBdIHx8IGV4aXQgMAorCisuIC9saWIvbHNiL2luaXQtZnVuY3Rpb25zCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICAjIG1hc3RlciBzd2l0Y2gKKyAgICBpZiBbIC1uICIkREFFTU9OX0FSRyIgXSB8fCBbIC1uICIkU1lTTE9HX0FSRyIgXSA7IHRoZW4KKyAgICAgIGxvZ19kYWVtb25fbXNnICJTdGFydGluZyAkREVTQyIgIiROQU1FOiIKKyAgICAgIENEUk9NU19MSVNUPSQoc2VkIC1uZSAncy9eZHJpdmUgbmFtZTpcdFwrXCguKlwpJC8gXC9kZXZcL1wxL3AnIC9wcm9jL3N5cy9kZXYvY2Ryb20vaW5mbyAyPi9kZXYvbnVsbCkgfHwgOgorICAgICAgQ0RST01TX0xJU1Q9IiRDRFJPTVNfTElTVCAkKGdyZXAgLXNsICdeaWRlLXNjc2kgJyAvcHJvYy9pZGUvaGQqL2RyaXZlciB8IGF3ayAtRiAvICd7IHByaW50ICIvZGV2LyIkNCB9JykiCisgICAgICBmb3IgZGlzayBpbiAkRElTS1MgOyBkbworICAgICAgICBlY2hvICRDRFJPTVNfTElTVCB8IGdyZXAgLXdxICRkaXNrICYmIGNvbnRpbnVlCisgICAgICAgIGVjaG8gJERJU0tTX05PUFJPQkUgfCBncmVwIC13cSAkZGlzayAmJiBjb250aW51ZQorICAgICAgICBpZiAkREFFTU9OIC13biAkT1BUSU9OUyAkZGlzayAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ15bMC05XVwrJCcgOyB0aGVuCisgICAgICAgICAgRElTS1NfTElTVD0iJERJU0tTX0xJU1QgJGRpc2siOworICAgICAgICBmaQorICAgICAgZG9uZQorICAgICAgaWYgWyAtbiAiJERJU0tTX0xJU1QiIF0gfHwgWyAtbiAiJERJU0tTX05PUFJPQkUiIF0gOyB0aGVuCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgJERBRU1PTiAtLSAkREFFTU9OX0FSRyAkU1lTTE9HX0FSRyAkT1BUSU9OUyAkRElTS1NfTk9QUk9CRSAkRElTS1NfTElTVAorICAgICAgICByZXQ9JD8KKyAgICAgICAgbG9nX3Byb2dyZXNzX21zZyAiJERJU0tTX05PUFJPQkUkRElTS1NfTElTVCIKKyAgICAgICAgbG9nX2VuZF9tc2cgJHJldAorICAgICAgZWxzZQorICAgICAgICBsb2dfcHJvZ3Jlc3NfbXNnICJubyBkaXNrcyB3aXRoIG1vbml0b3JpbmcgY2FwYWJpbGl0eSB3ZXJlIGZvdW5kLiIKKyAgICAgICAgbG9nX2VuZF9tc2cgMAorICAgICAgZmkKKyAgICBmaQorICAgIDs7CisgIHN0b3ApCisgICAgIyBtYXN0ZXIgc3dpdGNoCisgICAgaWYgWyAiJFJVTl9EQUVNT04iID0gInRydWUiIF0gfHwgWyAiJFJVTl9EQUVNT04iID0gInllcyIgXSB8fCBbICIkUlVOX1NZU0xPRyIgIT0gIjAiIF0gOyB0aGVuCisgICAgICBsb2dfZGFlbW9uX21zZyAiU3RvcHBpbmcgJERFU0MiICIkTkFNRSIKKyAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLW9rbm9kbyAtLWV4ZWMgJERBRU1PTiAtLXJldHJ5IDMwCisgICAgICBsb2dfZW5kX21zZyAkPworICAgIGZpCisgICAgOzsKKyAgZm9yY2UtcmVsb2FkfHJlbG9hZCkKKyAgICBleGl0IDMKKyAgICA7OworICByZXN0YXJ0KQorICAgICQwIHN0b3AgJiYgJDAgc3RhcnQKKyAgICA7OworICBzdGF0dXMpCisgICAgc3RhdHVzX29mX3Byb2MgJERBRU1PTiAkTkFNRQorICAgIGV4aXQgJD8KKyAgICA7OworICAqKQorICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC8kTkFNRSB7c3RhcnR8c3RvcHxyZXN0YXJ0fHN0YXR1c30iID4mMgorICAgIGV4aXQgMQorICAgIDs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGR0ZW1wL2hkZHRlbXBfMC4zLWJldGExNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wXzAuMy1iZXRhMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjAxYjdiMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRkdGVtcC9oZGR0ZW1wXzAuMy1iZXRhMTUuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJIYXJkIGRpc2sgdGVtcGVyYXR1cmUgbW9uaXRvciBkYWVtb24iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorCitQUiA9ICJyMSIKKworU1JDX1VSSSA9ICIke1NBVkFOTkFIX05PTkdOVV9NSVJST1J9L2hkZHRlbXAvaGRkdGVtcC0wLjMtYmV0YTE1LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vaGRkdGVtcC1uby1ubHMtc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9oZGR0ZW1wXzAuMy1iZXRhMTUtNTIuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly9oZGR0ZW1wLTAuMy1iZXRhMTUtYXV0b2RldGVjdC03MTc0NzkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaGRkdGVtcC5kYiBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjhiODI5MzM5ZTFhZTlkZjcwMTY4NGVjMjM5MDIxYmI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYxODU0MTU4NDA1NDA5M2Q1M2JlOGEyZDllODFjOTcxNzRmMzBmMDBhZjkxY2I4NzAwYTk3ZTQ0MmQ3OWVmNWIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0dQTC0yO21kNT1lYjcyM2I2MTUzOWZlZWYwMTNkZTQ3NmU2OGI1YzUwYSIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB1cGRhdGUtcmMuZAorCitGSUxFU18ke1BOfSArPSAiL3Vzci9zaGFyZS9taXNjL2hkZHRlbXAuZGIiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS91c3Ivc2hhcmUvbWlzYy8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9oZGR0ZW1wLmRiICR7RH0vdXNyL3NoYXJlL21pc2MvaGRkdGVtcC5kYgorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvaGRkdGVtcAorfQorCitJTklUU0NSSVBUX05BTUUgPSAiaGRkdGVtcCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDk5IDIgMyA0IDUgLiBzdG9wIDIwIDAgMSA2IC4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hpZGFwaS9oaWRhcGlfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oaWRhcGkvaGlkYXBpX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzQ3OTdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oaWRhcGkvaGlkYXBpX2dpdC5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIk11bHRpLXBsYXRmb3JtIGxpYnJhcnkgdG8gaW50ZXJmYWNlIHdpdGggVVNCIGFuZCBCbHVldG9vdGggSElELUNsYXNzIGRldmljZXMiCitBVVRIT1IgPSAiQWxhbiBPdHQiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnNpZ25hbDExLnVzL29zcy9oaWRhcGkvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UgfCBHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT03YzM5NDlhNjMxMjQwY2I2YzMxYzUwZjNlYjY5NjA3NyIKK0RFUEVORFMgPSAibGlidXNiIHVkZXYiCitQViA9ICIwLjcuOTkrMC44LjAtcmMxK2dpdCR7U1JDUFZ9IgorCitTUkNSRVYgPSAiZDE3ZGI1N2I5ZDQzNTQ3NTJlMGFmNDJmNWYzMzAwN2E0MmVmMjkwNiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zaWduYWwxMS9oaWRhcGkuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaHRvcC9odG9wXzEuMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odG9wL2h0b3BfMS4wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGU0NDVjOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaHRvcC9odG9wXzEuMC4zLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiaHRvcCBwcm9jZXNzIG1vbml0b3IiCitIT01FUEFHRSA9ICJodHRwOi8vaHRvcC5zZi5uZXQiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMzEyNjUzNTMyZThlNjY5ZjMwZTVlYzhiZGMyM2JlMyIKKworREVQRU5EUyA9ICJuY3Vyc2VzIgorUkRFUEVORFNfJHtQTn0gPSAibmN1cnNlcy10ZXJtaW5mbyIKKworU1JDX1VSSSA9ICJodHRwOi8vaGlzaGFtLmhtL2h0b3AvcmVsZWFzZXMvJHtQVn0vaHRvcC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNzY4YjliNTVjMDMzZDljMWRmZmRhNzJkYjNhNmFjNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNTVjNTc5MjdmNzU4NDdmZGMyMjJiNTI1OGIwNzlhOTU0MjgxMWE5ZGNmNTQyMWM2MTVjN2UxN2Y1NWQxODI5IgorCitMREZMQUdTX2FwcGVuZF9saWJjLXVjbGliYyA9ICIgLWx1YmFja3RyYWNlIgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisJcm0gLXJmICR7U30vY29uZmlnLmgKK30KKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaHVuc3BlbGwvaHVuc3BlbGxfMS4zLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h1bnNwZWxsL2h1bnNwZWxsXzEuMy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNmY3NzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h1bnNwZWxsL2h1bnNwZWxsXzEuMy4zLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiQSBzcGVsbCBjaGVja2VyIGFuZCBtb3JwaG9sb2dpY2FsIGFuYWx5emVyIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vaHVuc3BlbGwuc291cmNlZm9yZ2UubmV0LyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgfCBHUEx2MiB8IE1QTHYxLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWVkM2EzN2IzYmE2ZDZiZTNlMDhhYjQ1OTg3Y2YxYjg4IFwKKyAgICBmaWxlOi8vQ09QWUlORy5MR1BMO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSBcCisgICAgZmlsZTovL0NPUFlJTkcuTVBMO21kNT1iZmUxZjc1ZDYwNjkxMmE0MTExYzkwNzQzZDZjNzMyNSBcCisiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvJHtCUE59L0h1bnNwZWxsLyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNDk2N2RhNjBiMjM0MTM2MDRjOWU1NjNiZWFjYzYzYjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTdiMmMwZGUwZTJjZTE3NDI2ODIxZGMxYWM4ZWIxMTUwMjk5NTliM2FkYTlkODBhODE3MzlmYTE5MzczMjQ2YyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKKworUkRFUEVORFNfJHtQTn0gPSAicGVybCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h3ZGF0YS9od2RhdGFfMC4yODguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h3ZGF0YS9od2RhdGFfMC4yODguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjcxOTllOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaHdkYXRhL2h3ZGF0YV8wLjI4OC5iYgpAQCAtMCwwICsxLDIxIEBACitERVNDUklQVElPTiA9ICJIYXJkd2FyZSBpZGVudGlmaWNhdGlvbiBhbmQgY29uZmlndXJhdGlvbiBkYXRhIgorSE9NRVBBR0UgPSAiaHR0cDovL2dpdC5mZWRvcmFob3N0ZWQub3JnL2dpdC9od2RhdGEuZ2l0IgorU0VDVElPTiA9ICJTeXN0ZW0vQmFzZSIKKworTElDRU5TRSA9ICJHUEwtMi4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTE1NTY1NDc3MTFlODI0Njk5MmI5OTllZGQ5NDQ1YTU3IgorU1JDX1VSSSA9ICJodHRwczovL2dpdC5mZWRvcmFob3N0ZWQub3JnL2NnaXQvJHtCUE59LmdpdC9zbmFwc2hvdC8ke0JQfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmM2ZhMWM1ZWRiNjZjZTViMzc2ZDk1ZTc3MmIyZDMwMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NmZjMjYyNzViMTAyZTUzOGZjZmNmOWMxMDkzYTA5ZjQ3NmExZWE4ZDRlMGM3MzNkM2M1Nzg0NDI5MjM2OTNkIgorCitkb19jb25maWd1cmUoKSB7CisgICAgJHtTfS9jb25maWd1cmUgLS1kYXRhZGlyPSR7ZGF0YWRpcn0gLS1saWJkaXI9JHtsaWJkaXJ9Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKiBcCisgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyogIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pa3NlbWVsL2lrc2VtZWwtMS40L3IyNS5kaWZmIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pa3NlbWVsL2lrc2VtZWwtMS40L3IyNS5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2NjZjZTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2lrc2VtZWwvaWtzZW1lbC0xLjQvcjI1LmRpZmYKQEAgLTAsMCArMSwzMiBAQAorVGFrZW4gZnJvbSB1cHN0cmVhbSBzdWJ2ZXJzaW9uIHJlcG9zaXRvcnk6CisKK2h0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9pa3NlbWVsL3NvdXJjZS9kZXRhaWw/cj0yNQorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0KKyBjb25maWd1cmUuYWMgfCAgIDEwICsrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKKy0tLSBpa3NlbWVsLTEuNC5vcmlnL2NvbmZpZ3VyZS5hYworKysrIGlrc2VtZWwtMS40L2NvbmZpZ3VyZS5hYworQEAgLTQzLDExICs0MywxOSBAQCBBTV9DT05ESVRJT05BTChET19QT1NJWCwgdGVzdCAieCRkZWZpbyIKKyBkbmwgQ2hlY2tzIGZvciBsaWJyYXJ5IGZ1bmN0aW9ucworIEFDX1NFQVJDSF9MSUJTKHJlY3Ysc29ja2V0KQorIEFDX0NIRUNLX0ZVTkNTKGdldG9wdF9sb25nKQorIEFDX0NIRUNLX0ZVTkNTKGdldGFkZHJpbmZvKQorIAorLUFNX1BBVEhfTElCR05VVExTKCxBQ19ERUZJTkUoSEFWRV9HTlVUTFMsLCJVc2UgbGliZ251dGxzIikpCisrZG5sIENoZWNrIEdOVSBUTFMKKytQS0dfQ0hFQ0tfTU9EVUxFUyhHTlVUTFMsIGdudXRscyA+PSAyLjAuMCwgaGF2ZV9nbnV0bHM9eWVzLCBoYXZlX2dudXRscz1ubykKKytpZiB0ZXN0ICJ4JGhhdmVfZ251dGxzIiA9ICJ4eWVzIjsgdGhlbgorKyAgTElCR05VVExTX0NGTEFHUz0iJEdOVVRMU19DRkxBR1MiCisrICBMSUJHTlVUTFNfTElCUz0iJEdOVVRMU19MSUJTIgorKyAgQUNfU1VCU1QoTElCR05VVExTX0NGTEFHUykKKysgIEFDX1NVQlNUKExJQkdOVVRMU19MSUJTKQorKyAgQUNfREVGSU5FKEhBVkVfR05VVExTLCAxLCBbd2hldGhlciB0byB1c2UgR251VFNMIHN1cHBvcnQuXSkKKytmaQorIAorIGRubCBDaGVjayAtV2FsbCBmbGFnIG9mIEdDQworIGlmIHRlc3QgIngkR0NDIiA9ICJ4eWVzIjsgdGhlbgorICAgaWYgdGVzdCAteiAiYGVjaG8gIiRDRkxBR1MiIHwgZ3JlcCAiXC1XYWxsIiAyPiAvZGV2L251bGxgIiA7IHRoZW4KKyAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1XYWxsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pa3NlbWVsL2lrc2VtZWxfMS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pa3NlbWVsL2lrc2VtZWxfMS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxMjc2ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2lrc2VtZWwvaWtzZW1lbF8xLjQuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJGYXN0IGFuZCBwb3J0YWJsZSBYTUwgcGFyc2VyIGFuZCBKYWJiZXIgcHJvdG9jb2wgbGlicmFyeSIKK0FVVEhPUiA9ICJHdXJlciBPemVuIDxtZWR1a2V0dG8gYXQgZ21haWwuY29tPiIKK0hPTUVQQUdFID0gImh0dHA6Ly9pa3NlbWVsLmdvb2dsZWNvZGUuY29tIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ4MDQ1ZjNiOGY5MjljMWNiMjlhMWUzZmQ3MzdiNDk5IgorREVQRU5EUyA9ICJnbnV0bHMiCisKK1BSID0gInIxIgorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8yNTgyNS8KK1BOQkxBQ0tMSVNUW2lrc2VtZWxdID89ICJOb3QgY29tcGF0aWJsZSB3aXRoIGdudXRscyB2ZXJzaW9uIDMuNCBjdXJyZW50bHkgaW4gb2UtY29yZSIKKworU1JDX1VSSSA9ICJodHRwOi8vaWtzZW1lbC5nb29nbGVjb2RlLmNvbS9maWxlcy8ke0JQfS50YXIuZ3o7bmFtZT1hcmNoaXZlIFwKKyAgICAgICAgICAgZmlsZTovL3IyNS5kaWZmIgorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNTMyZTc3MTgxNjk0Zjg3YWQ1ZWI1OTQzNWQxMWMxY2EiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI0NThjMWI4ZmIzMzQ5MDc2YTZjZWNmMjZjMjlkYjFkNTYxMzE1ZDg0ZTE2YmZjZmJhNDE5ZjMyN2Y1MDJlMjQ0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaW1hZ2VtYWdpY2svaW1hZ2VtYWdpY2tfNi45LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ltYWdlbWFnaWNrL2ltYWdlbWFnaWNrXzYuOS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZjAxMzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ltYWdlbWFnaWNrL2ltYWdlbWFnaWNrXzYuOS4yLmJiCkBAIC0wLDAgKzEsODkgQEAKK1NVTU1BUlkgPSAiSW1hZ2VNYWdpY2sgaXMgYW4gaW1hZ2UgY29udmVydGlvbiB0b29scyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiSW1hZ2VNYWdpY2siCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wODg3YjY3MGJlN2VmMGMzY2IzNzA5MmI2NGQ1NzUxNCIKKyMgRklYTUU6IFRoZXJlIGFyZSBtYW55IG1vcmUgY2hlY2tlZCBsaWJyYXJpZXMuIEFsbCBzaG91bGQgYmUgYWRkZWQgb3IgZXhwbGljaXRseSBkaXNhYmxlZCB0byBnZXQgY29uc2lzdGVudCByZXN1bHRzLgorREVQRU5EUyA9ICJsY21zIGJ6aXAyIGpwZWcgbGlicG5nIGxpYnJzdmcgdGlmZiB6bGliIHZpcnR1YWwvZmZ0dyBmcmVldHlwZSIKKworIyBJbXBvcnRhbnQgbm90ZTogdGFyYmFsbHMgZm9yIGFsbCBwYXRjaHNldHMgd2l0aGluIGEgdmVyc2lvbiBhcmUgZGVsZXRlZCB3aGVuCisjIGEgbmV3IHBhY2hzZXQgaXMgY3JlYXRlZC4gVG8gYXZvaWQgbXVsdGlwbGUgcGF0Y2hlcyBmb3IgZWFjaCBwYXRjaHNldCwgdHJ5IHRvCisjIHVwZGF0ZSB0byB0aGUgbGFzdCBwYWNoc2V0IG9mIGEgdmVyc2lvbgorUEFUQ0hTRVQgPSAiMCIKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5pbWFnZW1hZ2ljay5vcmcvZG93bmxvYWQvcmVsZWFzZXMvSW1hZ2VNYWdpY2stJHtQVn0tJHtQQVRDSFNFVH0udGFyLnh6IFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5OTQ3MWM4YzNmMzhjOTI2NGZhZjVjNGNhN2EzMTI4NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwN2EyZGUyOGY3ZjlhYjg4OGVmNDdjMDJlYjdlMTBjYzNlMGRkMGU5Nzk3YzVkNzFkNmU3MWQxOWY4NDIzOTllIgorCitTID0gIiR7V09SS0RJUn0vSW1hZ2VNYWdpY2stJHtQVn0tJHtQQVRDSFNFVH0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKKyMgeG1sIGRpc2FibGVkIGJlY2F1c2UgaXQncyB1c2luZyB4bWwyLWNvbmZpZyAtLXByZWZpeCB0byBkZXRlcm1pbmUgcHJlZml4IHdoaWNoIHJldHVybnMganVzdCAvdXNyIHdpdGggb3VyIGxpYnhtbDIKKyMgaWYgc29tZW9uZSBuZWVkcyB4bWwgc3VwcG9ydCB0aGVuIGZpeCBpdCBmaXJzdAorRVhUUkFfT0VDT05GID0gIi0tcHJvZ3JhbS1wcmVmaXg9IC0tcHJvZ3JhbS1zdWZmaXg9LmltNiAtLXdpdGhvdXQtcGVybCAtLWRpc2FibGUtb3Blbm1wIC0td2l0aG91dC14bWwgLS1kaXNhYmxlLW9wZW5jbCIKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHM9eWVzIgorUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW2pwMl0gPSAiLS13aXRoLWpwMiwsamFzcGVyIgorUEFDS0FHRUNPTkZJR1tsem1hXSA9ICItLXdpdGgtbHptYSwtLXdpdGhvdXQtbHptYSx4eiIKK1BBQ0tBR0VDT05GSUdbb3BlbmpwZWddID0gIi0td2l0aC1vcGVuanAyLC0td2l0aG91dC1vcGVuanAyLG9wZW5qcGVnIgorUEFDS0FHRUNPTkZJR1twYW5nb10gPSAiLS13aXRoLXBhbmdvLC0td2l0aG91dC1wYW5nbyxwYW5nbyBjYWlybyIKK1BBQ0tBR0VDT05GSUdbd2VicF0gPSAiLS13aXRoLXdlYnAsLS13aXRob3V0LXdlYnAsbGlid2VicCIKK1BBQ0tBR0VDT05GSUdbd21mXSA9ICItLXdpdGgtd21mLC0td2l0aG91dC13bWYsbGlid21mIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14LC0td2l0aG91dC14LHZpcnR1YWwvbGlieDExIGxpYnhleHQgbGlieHQiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vSW1hZ2VNYWdpY2stJHtQVn0vbW9kdWxlcy1RMTYvKi8qLnNvIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vSW1hZ2VNYWdpY2stJHtQVn0vbW9kdWxlcy1RMTYvKi8qLmxhIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vSW1hZ2VNYWdpY2stJHtQVn0vbW9kdWxlcy1RMTYvZmlsdGVycyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L0ltYWdlTWFnaWNrLSR7UFZ9L21vZHVsZXMtUTE2L2NvZGVycyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L0ltYWdlTWFnaWNrLSR7UFZ9L2NvbmZpZy1RMTYgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vSW1hZ2VNYWdpY2stNiAiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L0ltYWdlTWFnaWNrLSR7UFZ9L21vZHVsZXMtUTE2LyovKi5hIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9JbWFnZU1hZ2ljay0ke1BWfS9tb2R1bGVzLVExNi8qLy5kZWJ1Zy8qIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJhbmltYXRlIGNvbXBhcmUgY29tcG9zaXRlIGNvbmp1cmUgY29udmVydCBkaXNwbGF5IFwKKyAgICBpZGVudGlmeSBpbXBvcnQgbW9ncmlmeSBtb250YWdlIHN0cmVhbSIKKworQUxURVJOQVRJVkVfVEFSR0VUW2FuaW1hdGVdID0gIiR7YmluZGlyfS9hbmltYXRlLmltNiIKK0FMVEVSTkFUSVZFX1RBUkdFVFtjb21wYXJlXSA9ICIke2JpbmRpcn0vY29tcGFyZS5pbTYiCitBTFRFUk5BVElWRV9UQVJHRVRbY29tcG9zaXRlXSA9ICIke2JpbmRpcn0vY29tcG9zaXRlLmltNiIKK0FMVEVSTkFUSVZFX1RBUkdFVFtjb25qdXJlXSA9ICIke2JpbmRpcn0vY29uanVyZS5pbTYiCitBTFRFUk5BVElWRV9UQVJHRVRbY29udmVydF0gPSAiJHtiaW5kaXJ9L2NvbnZlcnQuaW02IgorQUxURVJOQVRJVkVfVEFSR0VUW2Rpc3BsYXldID0gIiR7YmluZGlyfS9kaXNwbGF5LmltNiIKK0FMVEVSTkFUSVZFX1RBUkdFVFtpZGVudGlmeV0gPSAiJHtiaW5kaXJ9L2lkZW50aWZ5LmltNiIKK0FMVEVSTkFUSVZFX1RBUkdFVFtpbXBvcnRdID0gIiR7YmluZGlyfS9pbXBvcnQuaW02IgorQUxURVJOQVRJVkVfVEFSR0VUW21vZ3JpZnldID0gIiR7YmluZGlyfS9tb2dyaWZ5LmltNiIKK0FMVEVSTkFUSVZFX1RBUkdFVFttb250YWdlXSA9ICIke2JpbmRpcn0vbW9udGFnZS5pbTYiCitBTFRFUk5BVElWRV9UQVJHRVRbc3RyZWFtXSA9ICIke2JpbmRpcn0vc3RyZWFtLmltNiIKKworQUxURVJOQVRJVkVfJHtQTn0tZG9jID0gImFuaW1hdGUuMSBjb21wYXJlLjEgY29tcG9zaXRlLjEgY29uanVyZS4xIFwKKyAgICBjb252ZXJ0LjEgZGlzcGxheS4xIGlkZW50aWZ5LjEgaW1wb3J0LjEgbW9ncmlmeS4xIG1vbnRhZ2UuMSBzdHJlYW0uMSIKKworQUxURVJOQVRJVkVfTElOS19OQU1FW2FuaW1hdGUuMV0gPSAiJHttYW5kaXJ9L21hbjEvYW5pbWF0ZS4xIgorQUxURVJOQVRJVkVfVEFSR0VUW2FuaW1hdGUuMV0gPSAiJHttYW5kaXJ9L21hbjEvYW5pbWF0ZS5pbTYuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtjb21wYXJlLjFdID0gIiR7bWFuZGlyfS9tYW4xL2NvbXBhcmUuMSIKK0FMVEVSTkFUSVZFX1RBUkdFVFtjb21wYXJlLjFdID0gIiR7bWFuZGlyfS9tYW4xL2NvbXBhcmUuaW02LjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbY29tcG9zaXRlLjFdID0gIiR7bWFuZGlyfS9tYW4xL2NvbXBvc2l0ZS4xIgorQUxURVJOQVRJVkVfVEFSR0VUW2NvbXBvc2l0ZS4xXSA9ICIke21hbmRpcn0vbWFuMS9jb21wb3NpdGUuaW02LjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbY29uanVyZS4xXSA9ICIke21hbmRpcn0vbWFuMS9jb25qdXJlLjEiCitBTFRFUk5BVElWRV9UQVJHRVRbY29uanVyZS4xXSA9ICIke21hbmRpcn0vbWFuMS9jb25qdXJlLmltNi4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2NvbnZlcnQuMV0gPSAiJHttYW5kaXJ9L21hbjEvY29udmVydC4xIgorQUxURVJOQVRJVkVfVEFSR0VUW2NvbnZlcnQuMV0gPSAiJHttYW5kaXJ9L21hbjEvY29udmVydC5pbTYuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtkaXNwbGF5LjFdID0gIiR7bWFuZGlyfS9tYW4xL2Rpc3BsYXkuMSIKK0FMVEVSTkFUSVZFX1RBUkdFVFtkaXNwbGF5LjFdID0gIiR7bWFuZGlyfS9tYW4xL2Rpc3BsYXkuaW02LjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaWRlbnRpZnkuMV0gPSAiJHttYW5kaXJ9L21hbjEvaWRlbnRpZnkuMSIKK0FMVEVSTkFUSVZFX1RBUkdFVFtpZGVudGlmeS4xXSA9ICIke21hbmRpcn0vbWFuMS9pZGVudGlmeS5pbTYuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtpbXBvcnQuMV0gPSAiJHttYW5kaXJ9L21hbjEvaW1wb3J0LjEiCitBTFRFUk5BVElWRV9UQVJHRVRbaW1wb3J0LjFdID0gIiR7bWFuZGlyfS9tYW4xL2ltcG9ydC5pbTYuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVttb2dyaWZ5LjFdID0gIiR7bWFuZGlyfS9tYW4xL21vZ3JpZnkuMSIKK0FMVEVSTkFUSVZFX1RBUkdFVFttb2dyaWZ5LjFdID0gIiR7bWFuZGlyfS9tYW4xL21vZ3JpZnkuaW02LjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbW9udGFnZS4xXSA9ICIke21hbmRpcn0vbWFuMS9tb250YWdlLjEiCitBTFRFUk5BVElWRV9UQVJHRVRbbW9udGFnZS4xXSA9ICIke21hbmRpcn0vbWFuMS9tb250YWdlLmltNi4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3N0cmVhbS4xXSA9ICIke21hbmRpcn0vbWFuMS9zdHJlYW0uMSIKK0FMVEVSTkFUSVZFX1RBUkdFVFtzdHJlYW0uMV0gPSAiJHttYW5kaXJ9L21hbjEvc3RyZWFtLmltNi4xIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pbmloL2xpYmluaWhfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pbmloL2xpYmluaWhfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwMzBjNzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2luaWgvbGliaW5paF9naXQuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJDIGFuZCBDKysgSU5JIExpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvaW5paC8iCitQViA9ICIwLjArZ2l0ciR7U1JDUFZ9IgorUEtHViA9ICIke0dJVFBLR1ZUQUd9IgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kYWUyOGNiZjI4MjA3NDI1ZTBkMGIzZWI4MzVmNGJkZSIKKworUFIgPSAicjMiCisKKyMgVGhlIGdpdGh1YiByZXBvc2l0b3J5IHByb3ZpZGVzIGEgY21ha2UgYW5kIHBrZy1jb25maWcgaW50ZWdyYXRpb24KK1NSQ1JFViA9ICIyNTA3OGY3MTU2ZWI4NjQ3YjNiMzVkZDI1ZjlhZTZmOGM0ZWUwNTg5IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL09TU3lzdGVtcy9pbmloLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBnaXRwa2d2IGNtYWtlCisKKyMgV2UgZG9uJ3QgaGF2ZSBsaWJpbmloIHNpbmNlIHdlIG9ubHkgaGF2ZSBzdGF0aWMgbGlicmFyaWVzCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pcG1pdXRpbC9pcG1pdXRpbC9maXhfc3lzdGVtZF9wYXRoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pcG1pdXRpbC9pcG1pdXRpbC9maXhfc3lzdGVtZF9wYXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmYTdjNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2lwbWl1dGlsL2lwbWl1dGlsL2ZpeF9zeXN0ZW1kX3BhdGgucGF0Y2gKQEAgLTAsMCArMSwzMTggQEAKK2FsbG93IHN5c3RlbWQgcGF0aCB0byBiZSBkZWZpbmVkIGJ5IGNvbmZpZ3VyZSBvcHRpb24uCisKK1RoZSBjb25maWd1cmUgcHJvYmVzIHRoZSBob3N0IGZvciBzeXN0ZW1kIHBhdGggaW5mb3JtYXRpb24uCisKK1Vwc3RyZWFtIFN0YXR1czogSW5hcHByb3ByaWF0ZSBbRW1iZWRkZWRdCisKK1NpZ25lZC1vZmYtQnk6IEFybWluIEt1c3RlciA8YWt1c3RlckBtdmlzdGEuY29tPgorCitJbmRleDogaXBtaXV0aWwtMi45LjYvY29uZmlndXJlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gaXBtaXV0aWwtMi45LjYub3JpZy9jb25maWd1cmUKKysrKyBpcG1pdXRpbC0yLjkuNi9jb25maWd1cmUKK0BAIC03OTIsNyArNzkyLDYgQEAgTFRMSUJPQkpTCisgTElCT0JKUworIHBrZ2NvbmZpZ2RpcgorIFNIUl9MSU5LCistU1lTVEVNRF9ESVIKKyBDUk9TU19MRkxBR1MKKyBDUk9TU19DRkxBR1MKKyBTVUJESVJfUworQEAgLTk5OSw3ICs5OTgsNyBAQCBwc2Rpcj0nJHtkb2NkaXJ9JworIGxpYmRpcj0nJHtleGVjX3ByZWZpeH0vbGliJworIGxvY2FsZWRpcj0nJHtkYXRhcm9vdGRpcn0vbG9jYWxlJworIG1hbmRpcj0nJHtkYXRhcm9vdGRpcn0vbWFuJworLQorK3N5c3RlbWRkaXI9JyR7ZGF0YXJvb3RkaXJ9L2lwbWl1dGlsJworIGFjX3ByZXY9CisgYWNfZGFzaGRhc2g9CisgZm9yIGFjX29wdGlvbgorQEAgLTE1OTQsNyArMTU5MywxMCBAQCBPcHRpb25hbCBGZWF0dXJlczoKKyAgIC0tZW5hYmxlLXN0YW5kYWxvbmUgICAgYnVpbGQgc3RhbmRhbG9uZSwgd2l0aCBubyBHUEwgb3IgTGFuUGx1cyBsaWJzLgorICAgLS1lbmFibGUtbGlic2Vuc29ycwkgYnVpbGQgbGliaXBtaXV0aWwgd2l0aCBzZW5zb3IgbW9kdWxlcyBbZGVmYXVsdD1ub10KKyAgIC0tZW5hYmxlLWdwbCAgICAgICAgICAgYnVpbGQgd2l0aCBzb21lIEdQTCBjb2RlIFtkZWZhdWx0PW5vXQorLSAgLS1lbmFibGUtc3lzdGVtZCAgICAgICBlbmFibGUgc3lzdGVtZCBzZXJ2aWNlIHR5cGU9bm90aWZ5IHN1cHBvcnQgYW5kICVfdW5pdGRpciBbZGVmYXVsdD1kaXNhYmxlZF0KKysgIC0tZW5hYmxlLXN5c3RlbWRbPXN5c3RlbWRkaXJdICAgICAgaW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZS4gIElmICd5ZXMnCisrICAgICAgICAgICAgICAgIHByb2JlIHRoZSBzeXN0ZW0gZm9yIHVuaXQgZGlyZWN0b3J5LgorKyAgICAgICAgICAgICAgICBJZiBhIHBhdGggaXMgc3BlY2lmaWVkLCBhc3N1bWUgdGhhdAorKyAgICAgICAgICAgICAgICBpcyBhIHZhbGlkIGluc3RhbGwgcGF0aC4gIFtkZWZhdWx0PWRpc2FibGVkXQorIAorIE9wdGlvbmFsIFBhY2thZ2VzOgorICAgLS13aXRoLVBBQ0tBR0VbPUFSR10gICAgdXNlIFBBQ0tBR0UgW0FSRz15ZXNdCitAQCAtMTI5ODAsNyArMTI5ODIsNiBAQCBDUk9TU19MRkxBR1M9IiIKKyBDUk9TU19DRkxBR1M9IiIKKyBMSUJTRU5TT1JTPSIiCisgU0FNMk9CSj0iaXNlbnNvcjIubyBpZXZlbnRzMi5vIgorLVNZU1RFTURfRElSPS91c3Ivc2hhcmUvaXBtaXV0aWwKKyAKKyAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtdXNlZmxhZ3Mgd2FzIGdpdmVuLgorIGlmIHRlc3QgIiR7ZW5hYmxlX3VzZWZsYWdzK3NldH0iID0gc2V0OyB0aGVuCitAQCAtMTMwMzIsMzEgKzEzMDMzLDQzIEBAIGlmIHRlc3QgIiR7ZW5hYmxlX2dwbCtzZXR9IiA9IHNldDsgdGhlbgorICAgICBmaQorIAorIGZpCistCisrIworKyMgQ2hlY2sgZm9yIHN5c3RlbWQgdW5pdCBmaWxlcyBkaXJlZWN0b3J5IGV4aXN0cyBpZiB1bml0IGZpbGUgaW5zdGFsbGF0aW9uCisrIyBpcyByZXF1ZXN0ZWQKKysjCisgCisgIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXN5c3RlbWQgd2FzIGdpdmVuLgorLWlmIHRlc3QgIiR7ZW5hYmxlX3N5c3RlbWQrc2V0fSIgPSBzZXQ7IHRoZW4KKy0gIGVuYWJsZXZhbD0kZW5hYmxlX3N5c3RlbWQ7CistZmkKKy0KKy1pZiB0ZXN0ICJ4JGVuYWJsZV9zeXN0ZW1kIiA9ICJ4eWVzIjsgdGhlbgorLSAgIEdQTF9DRkxBR1M9IiRHUExfQ0ZMQUdTIC1ERU5BQkxFX1NZU1RFTUQiCistICAgIyBpZiBzeXN0ZW1kIGVuYWJsZWQsIGluc3RhbGwgc2VydmljZSBzY3JpcHRzIGluIHVuaXRkaXIKKy0gICBTWVNURU1EX0RJUj1gcnBtIC0tZXZhbCAiJXtfdW5pdGRpcn0iYAorLWVsc2UKKy0gICAjIG90aGVyd2lzZSBpbnN0YWxsIHRoZSBzeXN0ZW1kIHNlcnZpY2Ugc2NyaXB0cyBpbiB0aGUgZGF0YSBkaXIKKy0gIGlmIHRlc3QgICJ4JHN5c25hbWUiID0gInhEYXJ3aW4iIDsgdGhlbgorLSAgICAjIE1hY09TICd3aGljaCcgY29tbWFuZCByZXR1cm5zIDAgYWx3YXlzCistICAgIFNZU1RFTURfRElSPS91c3Ivc2hhcmUvaXBtaXV0aWwKKy0gIGVsc2UKKytpZiB0ZXN0ICIke2VuYWJsZV9zeXN0ZW1kK3NldH0iID0gc2V0OyB0aGVuIDoKKysgIHdpdGh2YWw9JGVuYWJsZV9zeXN0ZW1kOyBpZiB0ZXN0ICIkd2l0aHZhbCIgPSB5ZXM7IHRoZW4KKysgIEdQTF9DRkxBR1M9IiRHUExfQ0ZMQUdTIC1ERU5BQkxFX1NZU1RFTUQiCisrICBpZiB0ZXN0IC16ICIkc3lzdGVtZGRpciI7IHRoZW4KKysgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBsb2NhdGlvbiBvZiB0aGUgc3lzdGVtZCB1bml0IGZpbGVzIGRpcmVjdG9yeSIgPiY1CisrJGFzX2VjaG9fbiAiY2hlY2tpbmcgbG9jYXRpb24gb2YgdGhlIHN5c3RlbWQgdW5pdCBmaWxlcyBkaXJlY3RvcnkuLi4gIiA+JjY7IH0KKysgICAgX3JwbWRpciA9ICIiCisgICAgIHdoaWNoIHJwbSA+L2Rldi9udWxsIDI+JjEKKyAgICAgaWYgdGVzdCAgJD8gLWVxIDAgOyB0aGVuCistICAgICAgIGRhdGFkPWBycG0gLS1ldmFsICIle19kYXRhZGlyfSJgCistICAgICAgIFNZU1RFTURfRElSPSR7ZGF0YWR9L2lwbWl1dGlsCistICAgIGVsc2UKKy0gICAgICAgU1lTVEVNRF9ESVI9L3Vzci9zaGFyZS9pcG1pdXRpbAorKyAgICAgIF9ycG1kaXIgPSBgcnBtIC0tZXZhbCAiJXtfdW5pdGRpcn0iYAorICAgICBmaQorKyAgICBmb3Igc3lzdGVtZF9kIGluICR7ZGF0YWRpcn0vdXNyL3NoYXJlL2lwbWl1dGlsICR7X3JwbWRpcn0gL3Vzci9zaGFyZS9pcG1pdXRpbDsgZG8KKysgICAgICBpZiB0ZXN0IC16ICIkc3lzdGVtZGRpciI7IHRoZW4KKysgICAgICAgIGlmIHRlc3QgLWQgIiRzeXN0ZW1kX2QiOyB0aGVuCisrICAgICAgICAgIHN5c3RlbWRkaXI9IiRzeXN0ZW1kX2QiCisrICAgICAgICBmaQorKyAgICAgIGZpCisrICAgIGRvbmUKKyAgIGZpCisrICBpZiB0ZXN0IC1uICIkc3lzdGVtZGRpciI7IHRoZW4KKysgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRzeXN0ZW1kZGlyIiA+JjUKKyskYXNfZWNobyAiJHN5c3RlbWRkaXIiID4mNjsgfQorKyAgZWxzZQorKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm90IGZvdW5kIiA+JjUKKyskYXNfZWNobyAibm90IGZvdW5kIiA+JjY7IH0KKysgZmkKKytlbHNlCisrIGlmIHRlc3QgIiR3aXRodmFsIiAhPSBubzsgdGhlbgorKyAgc3lzdGVtZGRpcj0kd2l0aHZhbAorKyBmaQorK2ZpCisgZmkKKyAKKyBjYXNlICIkYXJjaG0iIGluCitJbmRleDogaXBtaXV0aWwtMi45LjYvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gaXBtaXV0aWwtMi45LjYub3JpZy9jb25maWd1cmUuYWMKKysrKyBpcG1pdXRpbC0yLjkuNi9jb25maWd1cmUuYWMKK0BAIC0xNDAsNyArMTQwLDYgQEAgQ1JPU1NfTEZMQUdTPSIiCisgQ1JPU1NfQ0ZMQUdTPSIiCisgTElCU0VOU09SUz0iIgorIFNBTTJPQko9ImlzZW5zb3IyLm8gaWV2ZW50czIubyIKKy1TWVNURU1EX0RJUj0vdXNyL3NoYXJlL2lwbWl1dGlsCisgCisgQUNfQVJHX0VOQUJMRShbdXNlZmxhZ3NdLAorICAgICBbICAtLWVuYWJsZS11c2VmbGFncyAgICBpbmNsdWRlIGVudmlyb25tZW50IENGTEFHUyBhbmQgTERGTEFHUy5dLAorQEAgLTE5MSwyNSArMTkwLDQyIEBAIEFDX0FSR19FTkFCTEUoW2dwbF0sCisgCisgZG5sIERvZXMgdGhpcyBMaW51eCBoYXZlIHN5c3RlbWQgZW5hYmxlZD8gIE90aGVyd2lzZSB1c2Ugc3lzdiBpbml0LgorIEFDX0FSR19FTkFCTEUoW3N5c3RlbWRdLAorLSAgICBbICAtLWVuYWJsZS1zeXN0ZW1kICAgICAgIGVuYWJsZSBzeXN0ZW1kIHNlcnZpY2UgdHlwZT1ub3RpZnkgc3VwcG9ydCBhbmQgJV91bml0ZGlyIFtbZGVmYXVsdD1kaXNhYmxlZF1dXSwpCistaWYgdGVzdCAieCRlbmFibGVfc3lzdGVtZCIgPSAieHllcyI7IHRoZW4KKy0gICBHUExfQ0ZMQUdTPSIkR1BMX0NGTEFHUyAtREVOQUJMRV9TWVNURU1EIgorLSAgICMgaWYgc3lzdGVtZCBlbmFibGVkLCBpbnN0YWxsIHNlcnZpY2Ugc2NyaXB0cyBpbiB1bml0ZGlyCistICAgU1lTVEVNRF9ESVI9YHJwbSAtLWV2YWwgIiV7X3VuaXRkaXJ9ImAKKysgICAgWyAgLS1lbmFibGUtc3lzdGVtZFs9c3lzdGVtZGRpcl0gICAgICBpbnN0YWxsIHN5c3RlbWQgdW5pdCBmaWxlLiAgSWYgJ3llcycKKysgICAgICAgIHByb2JlIHRoZSBzeXN0ZW0gZm9yIHVuaXQgZGlyZWN0b3J5LgorKyAgICAgICAgSWYgYSBwYXRoIGlzIHNwZWNpZmllZCwgYXNzdW1lIHRoYXQKKysgICAgICAgIGlzIGEgdmFsaWQgaW5zdGFsbCBwYXRoLiBbW2RlZmF1bHQ9ZGlzYWJsZWRdXV0sKQorKyMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1zeXN0ZW1kIHdhcyBnaXZlbi4KKytpZiB0ZXN0ICIke2VuYWJsZV9zeXN0ZW1kK3NldH0iID0gc2V0OyB0aGVuIDoKKysJd2l0aHZhbD0kZW5hYmxlX3N5c3RlbWQ7IGlmIHRlc3QgIiR3aXRodmFsIiA9IHllczsgdGhlbgorKwlHUExfQ0ZMQUdTPSIkR1BMX0NGTEFHUyAtREVOQUJMRV9TWVNURU1EIgorKwlpZiB0ZXN0IC16ICIkc3lzdGVtZGRpciI7IHRoZW4KKysJCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgbG9jYXRpb24gb2YgdGhlIHN5c3RlbWQgdW5pdCBmaWxlcyBkaXJlY3RvcnkiID4mNQorKwkJJGFzX2VjaG9fbiAiY2hlY2tpbmcgbG9jYXRpb24gb2YgdGhlIHN5c3RlbWQgdW5pdCBmaWxlcyBkaXJlY3RvcnkuLi4gIiA+JjY7IH0KKysJCV9ycG1kaXIgPSAiIgorKwkJd2hpY2ggcnBtID4vZGV2L251bGwgMj4mMQorKwkJaWYgdGVzdCAgJD8gLWVxIDAgOyB0aGVuCisrCQkJX3JwbWRpciA9IGBycG0gLS1ldmFsICIle191bml0ZGlyfSJgCisrCQlmaQorKwkJZm9yIHN5c3RlbWRfZCBpbiAke2RhdGFkaXJ9L3Vzci9zaGFyZS9pcG1pdXRpbCAke19ycG1kaXJ9IC91c3Ivc2hhcmUvaXBtaXV0aWw7IGRvCisrCQkJaWYgdGVzdCAteiAiJHN5c3RlbWRkaXIiOyB0aGVuCisrCQkJCWlmIHRlc3QgLWQgIiRzeXN0ZW1kX2QiOyB0aGVuCisrCQkJCQlzeXN0ZW1kZGlyPSIkc3lzdGVtZF9kIgorKwkJCQlmaQorKwkJCWZpCisrCQlkb25lCisrCWZpCisrCWlmIHRlc3QgLW4gIiRzeXN0ZW1kZGlyIjsgdGhlbgorKwkJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRzeXN0ZW1kZGlyIiA+JjUKKysJCSRhc19lY2hvICIkc3lzdGVtZGRpciIgPiY2OyB9CisrCWVsc2UKKysJCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBub3QgZm91bmQiID4mNQorKwkJJGFzX2VjaG8gIm5vdCBmb3VuZCIgPiY2OyB9CisrCWZpCisgZWxzZQorLSAgICMgb3RoZXJ3aXNlIGluc3RhbGwgdGhlIHN5c3RlbWQgc2VydmljZSBzY3JpcHRzIGluIHRoZSBkYXRhIGRpcgorLSAgaWYgdGVzdCAgIngkc3lzbmFtZSIgPSAieERhcndpbiIgOyB0aGVuCistICAgICMgTWFjT1MgJ3doaWNoJyBjb21tYW5kIHJldHVybnMgMCBhbHdheXMKKy0gICAgU1lTVEVNRF9ESVI9L3Vzci9zaGFyZS9pcG1pdXRpbAorLSAgZWxzZQorLSAgICB3aGljaCBycG0gPi9kZXYvbnVsbCAyPiYxCistICAgIGlmIHRlc3QgICQ/IC1lcSAwIDsgdGhlbgorLSAgICAgICBkYXRhZD1gcnBtIC0tZXZhbCAiJXtfZGF0YWRpcn0iYAorLSAgICAgICBTWVNURU1EX0RJUj0ke2RhdGFkfS9pcG1pdXRpbAorLSAgICBlbHNlCistICAgICAgIFNZU1RFTURfRElSPS91c3Ivc2hhcmUvaXBtaXV0aWwKKy0gICAgZmkKKy0gIGZpCisrCWlmIHRlc3QgIiR3aXRodmFsIiAhPSBubzsgdGhlbgorKwkJc3lzdGVtZGRpcj0kd2l0aHZhbAorKwlmaQorK2ZpCisgZmkKKyAKKyBkbmwgc3RhcnQgbWFpbiBsb2dpYworQEAgLTQ4MSw3ICs0OTcsNyBAQCBBQ19TVUJTVChJTlNfTElCKQorIEFDX1NVQlNUKFNVQkRJUl9TKQorIEFDX1NVQlNUKENST1NTX0NGTEFHUykKKyBBQ19TVUJTVChDUk9TU19MRkxBR1MpCistQUNfU1VCU1QoU1lTVEVNRF9ESVIpCisrQUNfU1VCU1Qoc3lzdGVtZGRpcikKKyBBQ19TVUJTVChTSFJfTElOSykKKyBBQ19TVUJTVChwa2djb25maWdkaXIpCisgCitJbmRleDogaXBtaXV0aWwtMi45LjYvTWFrZWZpbGUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBpcG1pdXRpbC0yLjkuNi5vcmlnL01ha2VmaWxlLmluCisrKysgaXBtaXV0aWwtMi45LjYvTWFrZWZpbGUuaW4KK0BAIC0xODIsNyArMTgyLDcgQEAgU0hFTEwgPSBAU0hFTExACisgU0hSX0xJTksgPSBAU0hSX0xJTktACisgU1RSSVAgPSBAU1RSSVBACisgU1VCRElSX1MgPSBAU1VCRElSX1NACistU1lTVEVNRF9ESVIgPSBAU1lTVEVNRF9ESVJACisrU1lTVEVNRF9ESVIgPSBAc3lzdGVtZGRpckAKKyBWRVJTSU9OID0gQFZFUlNJT05ACisgYWJzX2J1aWxkZGlyID0gQGFic19idWlsZGRpckAKKyBhYnNfc3JjZGlyID0gQGFic19zcmNkaXJACitAQCAtMjMzLDYgKzIzMyw3IEBAIHNiaW5kaXIgPSBAc2JpbmRpckAKKyBzaGFyZWRzdGF0ZWRpciA9IEBzaGFyZWRzdGF0ZWRpckAKKyBzcmNkaXIgPSBAc3JjZGlyQAorIHN5c2NvbmZkaXIgPSBAc3lzY29uZmRpckAKKytzeXN0ZW1kZGlyID0gQHN5c3RlbWRkaXJACisgdGFyZ2V0X2FsaWFzID0gQHRhcmdldF9hbGlhc0AKKyB0b3BfYnVpbGRfcHJlZml4ID0gQHRvcF9idWlsZF9wcmVmaXhACisgdG9wX2J1aWxkZGlyID0gQHRvcF9idWlsZGRpckAKK0luZGV4OiBpcG1pdXRpbC0yLjkuNi9zY3JpcHRzL01ha2VmaWxlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gaXBtaXV0aWwtMi45LjYub3JpZy9zY3JpcHRzL01ha2VmaWxlLmluCisrKysgaXBtaXV0aWwtMi45LjYvc2NyaXB0cy9NYWtlZmlsZS5pbgorQEAgLTEyNiw3ICsxMjYsNyBAQCBTSEVMTCA9IEBTSEVMTEAKKyBTSFJfTElOSyA9IEBTSFJfTElOS0AKKyBTVFJJUCA9IEBTVFJJUEAKKyBTVUJESVJfUyA9IEBTVUJESVJfU0AKKy1TWVNURU1EX0RJUiA9IEBTWVNURU1EX0RJUkAKKytTWVNURU1EX0RJUiA9IEBzeXN0ZW1kZGlyQAorIFZFUlNJT04gPSBAVkVSU0lPTkAKKyBhYnNfYnVpbGRkaXIgPSBAYWJzX2J1aWxkZGlyQAorIGFic19zcmNkaXIgPSBAYWJzX3NyY2RpckAKK0BAIC0xOTUsNyArMTk1LDggQEAgY3JvbnRvID0gJHtERVNURElSfSR7ZXRjZGlyfS9jcm9uLmRhaWx5Cisgc2JpbnRvID0gJHtERVNURElSfSR7c2JpbmRpcn0KKyB2YXJ0byA9ICR7REVTVERJUn0vdmFyL2xpYi9pcG1pdXRpbAorIGluaXR0byA9ICR7REVTVERJUn1ASU5JVF9ESVJACistc3lzZHRvID0gJHtERVNURElSfUBTWVNURU1EX0RJUkAKKytzeXNkdG8gPSAke0RFU1RESVJ9QHN5c3RlbWRkaXJACisrc3lzdGVtZGRpciA9IEBzeXN0ZW1kZGlyQAorIHN5c3Zpbml0ID0gJHtkYXRhdG99Cisgc2JpbmZscyA9IGlhbGFybXMgaWhlYWx0aCBpZnJ1IGlnZXRldmVudCBpcmVzZXQgaWNtZCBpc29sIGlsYW4gaXNlbnNvciBpc2VsIGlzZXJpYWwgaXdkdCBpY29uZmlnIGlwaWNtZyBpZmlyZXdhbGwgaWZ3dW0gaWhwbQorIGFsbDogYWxsLWFtCitAQCAtMzk4LDExICszOTksMTQgQEAgaW5zdGFsbDoKKyAJJHtJTlNUQUxMX1NDUklQVF9TSH0gZXZ0LnNoICAgICAgICR7ZGF0YXRvfQorIAlpZiBbIC1mIC9ldGMvZGViaWFuX3ZlcnNpb24gXTsgdGhlbiBcCisgCSAgIHN5c3Zpbml0PSR7aW5pdHRvfTsgZmkKKy0JJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaXV0aWxfd2R0ICR7c3lzdmluaXR9L2lwbWl1dGlsX3dkdAorLQkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pdXRpbF9hc3kgJHtzeXN2aW5pdH0vaXBtaXV0aWxfYXN5CistCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWl1dGlsX2V2dCAke3N5c3Zpbml0fS9pcG1pdXRpbF9ldnQKKy0JJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaV9wb3J0LnNoICR7c3lzdmluaXR9L2lwbWlfcG9ydAorLQkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pX2luZm8gICAgJHtzeXN2aW5pdH0vaXBtaV9pbmZvCisrCWlmIFsgISAteiAiJHtzeXN0ZW1kZGlyfSIgXTsgdGhlbiBcCisrCQkkKE1LRElSKSAke3N5c2R0b307IFwKKysJCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWl1dGlsX3dkdCAke3N5c3Zpbml0fS9pcG1pdXRpbF93ZHQ7IFwKKysJCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWl1dGlsX2FzeSAke3N5c3Zpbml0fS9pcG1pdXRpbF9hc3k7IFwKKysJCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWl1dGlsX2V2dCAke3N5c3Zpbml0fS9pcG1pdXRpbF9ldnQ7IFwKKysJCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWlfcG9ydC5zaCAke3N5c3Zpbml0fS9pcG1pX3BvcnQ7IFwKKysJCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGlwbWlfaW5mbyAgICAke3N5c3Zpbml0fS9pcG1pX2luZm87IFwKKysJZmkKKyAJJHtJTlNUQUxMX1NDUklQVF9TSH0gY2hlY2tzZWwgICAgICR7ZGF0YXRvfQorIAkke0lOU1RBTExfREFUQV9TSH0gaXBtaXV0aWxfd2R0LnNlcnZpY2UgJHtzeXNkdG99CisgCSR7SU5TVEFMTF9EQVRBX1NIfSBpcG1pdXRpbF9hc3kuc2VydmljZSAke3N5c2R0b30KK0luZGV4OiBpcG1pdXRpbC0yLjkuNi9zY3JpcHRzL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gaXBtaXV0aWwtMi45LjYub3JpZy9zY3JpcHRzL01ha2VmaWxlLmFtCisrKysgaXBtaXV0aWwtMi45LjYvc2NyaXB0cy9NYWtlZmlsZS5hbQorQEAgLTE3LDcgKzE3LDggQEAgY3JvbnRvID0gJHtERVNURElSfSR7ZXRjZGlyfS9jcm9uLmRhaWx5Cisgc2JpbnRvID0gJHtERVNURElSfSR7c2JpbmRpcn0KKyB2YXJ0byAgPSAke0RFU1RESVJ9L3Zhci9saWIvaXBtaXV0aWwKKyBpbml0dG8gPSAke0RFU1RESVJ9QElOSVRfRElSQAorLXN5c2R0byA9ICR7REVTVERJUn1AU1lTVEVNRF9ESVJACisrc3lzZHRvID0gJHtERVNURElSfUBzeXN0ZW1kZGlyQAorK3N5c3RlbWRkaXIgPSBAc3lzdGVtZGRpckAKKyBzeXN2aW5pdCA9ICR7ZGF0YXRvfQorIHNiaW5mbHMgPSBpYWxhcm1zIGloZWFsdGggaWZydSBpZ2V0ZXZlbnQgaXJlc2V0IGljbWQgaXNvbCBpbGFuIGlzZW5zb3IgaXNlbCBpc2VyaWFsIGl3ZHQgaWNvbmZpZyBpcGljbWcgaWZpcmV3YWxsIGlmd3VtIGlocG0KKyAKK0BAIC00NywxMCArNDgsMTQgQEAgaW5zdGFsbDoKKyAJJHtJTlNUQUxMX1NDUklQVF9TSH0gaXBtaV9wb3J0LnNoICR7c3lzdmluaXR9L2lwbWlfcG9ydAorIAkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pX2luZm8gICAgJHtzeXN2aW5pdH0vaXBtaV9pbmZvCisgCSR7SU5TVEFMTF9TQ1JJUFRfU0h9IGNoZWNrc2VsICAgICAke2RhdGF0b30KKy0JJHtJTlNUQUxMX0RBVEFfU0h9IGlwbWl1dGlsX3dkdC5zZXJ2aWNlICR7c3lzZHRvfQorLQkke0lOU1RBTExfREFUQV9TSH0gaXBtaXV0aWxfYXN5LnNlcnZpY2UgJHtzeXNkdG99CistCSR7SU5TVEFMTF9EQVRBX1NIfSBpcG1pdXRpbF9ldnQuc2VydmljZSAke3N5c2R0b30KKy0JJHtJTlNUQUxMX0RBVEFfU0h9IGlwbWlfcG9ydC5zZXJ2aWNlICAgICR7c3lzZHRvfQorKwkKKysJaWYgWyAhIC16ICIke3N5c3RlbWRkaXJ9IiBdOyB0aGVuIFwKKysJCSQoTUtESVIpICR7c3lzZHRvfTsgXAorKwkJJHtJTlNUQUxMX0RBVEFfU0h9IGlwbWl1dGlsX3dkdC5zZXJ2aWNlICR7c3lzZHRvfTsgXAorKwkJJHtJTlNUQUxMX0RBVEFfU0h9IGlwbWl1dGlsX2FzeS5zZXJ2aWNlICR7c3lzZHRvfTsgXAorKwkJJHtJTlNUQUxMX0RBVEFfU0h9IGlwbWl1dGlsX2V2dC5zZXJ2aWNlICR7c3lzZHRvfTsgXAorKwkJJHtJTlNUQUxMX0RBVEFfU0h9IGlwbWlfcG9ydC5zZXJ2aWNlICAgICR7c3lzZHRvfTsgXAorKwlmaQorIAkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pdXRpbC5lbnYgICAgICR7ZGF0YXRvfQorIAkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pdXRpbC5wcmUgICAgICR7ZGF0YXRvfQorIAkke0lOU1RBTExfU0NSSVBUX1NIfSBpcG1pdXRpbC5zZXR1cCAgICR7ZGF0YXRvfQorSW5kZXg6IGlwbWl1dGlsLTIuOS42L2xpYi9NYWtlZmlsZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGlwbWl1dGlsLTIuOS42Lm9yaWcvbGliL01ha2VmaWxlLmluCisrKysgaXBtaXV0aWwtMi45LjYvbGliL01ha2VmaWxlLmluCitAQCAtMTI4LDcgKzEyOCw3IEBAIFNIRUxMID0gQFNIRUxMQAorIFNIUl9MSU5LID0gQFNIUl9MSU5LQAorIFNUUklQID0gQFNUUklQQAorIFNVQkRJUl9TID0gQFNVQkRJUl9TQAorLVNZU1RFTURfRElSID0gQFNZU1RFTURfRElSQAorK1NZU1RFTURfRElSID0gQHN5c3RlbWRkaXJACisgVkVSU0lPTiA9IEBWRVJTSU9OQAorIGFic19idWlsZGRpciA9IEBhYnNfYnVpbGRkaXJACisgYWJzX3NyY2RpciA9IEBhYnNfc3JjZGlyQAorSW5kZXg6IGlwbWl1dGlsLTIuOS42L2xpYi9sYW5wbHVzL01ha2VmaWxlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gaXBtaXV0aWwtMi45LjYub3JpZy9saWIvbGFucGx1cy9NYWtlZmlsZS5pbgorKysrIGlwbWl1dGlsLTIuOS42L2xpYi9sYW5wbHVzL01ha2VmaWxlLmluCitAQCAtMTc3LDcgKzE3Nyw4IEBAIFNIRUxMID0gQFNIRUxMQAorIFNIUl9MSU5LID0gQFNIUl9MSU5LQAorIFNUUklQID0gQFNUUklQQAorIFNVQkRJUl9TID0gQFNVQkRJUl9TQAorLVNZU1RFTURfRElSID0gQFNZU1RFTURfRElSQAorK1NZU1RFTURfRElSID0gQHN5c3RlbWRkaXJACisrc3lzdGVtZGRpciA9IEBzeXN0ZW1kZGlyQAorIFZFUlNJT04gPSBAVkVSU0lPTkAKKyBhYnNfYnVpbGRkaXIgPSBAYWJzX2J1aWxkZGlyQAorIGFic19zcmNkaXIgPSBAYWJzX3NyY2RpckAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaXBtaXV0aWwvaXBtaXV0aWxfMi45LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2lwbWl1dGlsL2lwbWl1dGlsXzIuOS42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0MjczZmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2lwbWl1dGlsL2lwbWl1dGlsXzIuOS42LmJiCkBAIC0wLDAgKzEsNjAgQEAKK1NVTU1BUlkgPSAiaXBtaXV0aWwgaXMgYW4gZWFzeS10by11c2Ugc2V0IG9mIElQTUkgc2VydmVyIG1hbmFnZW1lbnQgdXRpbGl0aWVzLlwKK0l0IGNhbiBnZXQvc2V0IHNlbnNvciB0aHJlc2hvbGRzLCBhdXRvbWF0ZSBTRUwgbWFuYWdlbWVudCwgZG8gU09MIGNvbnNvbGUsIGV0Yy4iCisKK0RFU0NSSVBUSU9OID0gIlRoZSBJUE1JIE1hbmFnZW1lbnQgVXRpbGl0aWVzIGN1cnJlbnRseSB3b3JrIHdpdGggcGxhdGZvcm1zIHRoYXQgXAorc3VwcG9ydCB0aGUgSVBNSSAxLjUgb3IgMi4wIHNwZWNpZmljYXRpb24uICAgSVBNSSBzZXJ2ZXJzIGNhbiBiZSBtYW5hZ2VkXAorbG9jYWxseSwgb3IgcmVtb3RlbHkgdmlhIElQTUkgTEFOLCBldmVuIHdoZW4gdGhlIE9TIG9yIG1haW4gQ1BVIGlzIG5vdFwKK2Z1bmN0aW9uYWwuXG4gXAorVGhlIGlwbWl1dGlsIHV0aWxpdGllcyB3aWxsIHVzZSBhbiBJUE1JIERyaXZlciwgZWl0aGVyIHRoZSBJbnRlbCBJUE1JIHBhY2thZ2UgXAorKGlwbWlkcnZyLCAvZGV2L2ltYiksIE1vbnRhVmlzdGEgT3BlbklQTUkgKC9kZXYvaXBtaTApLCB0aGUgdmFsaW51eCBJUE1JIFwKK0RyaXZlciAoL2Rldi9pcG1pa2NzKSwgb3IgdGhlIExBTkRlc2sgbGRpcG1pIGRhZW1vbi4gIFRoZSBpcG1pdXRpbCB1dGlsaXRpZXMgXAorY2FuIGFsc28gdXNlIGRpcmVjdCB1c2VyLXNwYWNlIEkvT3MgaW4gTGludXggb3IgRnJlZUJTRCBpZiBubyBJUE1JIGRyaXZlciBcCitpcyBkZXRlY3RlZC4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9pcG1pdXRpbC5zb3VyY2Vmb3JnZS5uZXQiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmOTM3MjQ5MzQwMWYzMDllNjE0OWRkMmNlMGEwNDRiIgorCisjUEFSQUxMRUxfTUFLRSA9ICIiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2lwbWl1dGlsL2lwbWl1dGlsLSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovL2ZpeF9zeXN0ZW1kX3BhdGgucGF0Y2ggIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDYyMDg3OTk1ZjA1ZmE5ZTY5MmVkN2Y1NWM4NDBmNzEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODg0YzFmM2Q4YmZiMGIzM2MzMDM5NzNkMjg2YzMxNjZmNWE1Mzc5NzY0NTFhMDMxMmUzNTI0YWY1NDc3MTUxOSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBzeXN0ZW1kCisKK1BBQ0tBR0VDT05GSUcgPz0gImxhbnBsdXMgZ3BsIgorUEFDS0FHRUNPTkZJRyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kPSR7ZGF0YWRpcn0vJHtCUE59LCAtLWVuYWJsZS1zeXN0ZW1kPW5vIgorUEFDS0FHRUNPTkZJR1tzaGEyNTZdID0gIi0tZW5hYmxlLXNoYTI1NiwgLS1lbmFibGUtc2hhMjU2PW5vLCBvcGVuc3NsLW5hdGl2ZSwgb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbbGFucGx1c10gPSAiLS1lbmFibGUtbGFucGx1cywgLS1lbmFibGUtbGFucGx1cz1ubywgb3BlbnNzbC1uYXRpdmUsIG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2xhbmRlc2tdID0gIi0tZW5hYmxlLWxhbmRlc2ssIC0tZW5hYmxlLWxhbmRlc2s9bm8iCitQQUNLQUdFQ09ORklHW3NlbnNvcnNdID0gIi0tZW5hYmxlLWxpYnNlbnNvcnMsIC0tZW5hYmxlLWxpYnNlbnNvcnM9bm8iIAorCisjYnVpbGQgd2l0aCBzb21lIEdQTCBjb2RlCitQQUNLQUdFQ09ORklHW2dwbF0gPSAiLS1lbmFibGUtZ3BsLCAtLWVuYWJsZS1ncGw9bm8iCisjbm8gR1BMIG9yIExhblBsdXMgbGlicworUEFDS0FHRUNPTkZJR1tzdGFuZGFsb25lXSA9ICItLWVuYWJsZS1zdGFuZGFsb25lLCAtLWVuYWJsZS1zdGFuZGFsb25lPW5vIgorCitDRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0iCitMREZMQUdTICs9ICItTCR7U1RBR0lOR19MSUJESVJ9IgorCitkb19jb25maWd1cmUgKCkgeworICAgIGFjbG9jYWwKKyAgICBsaWJ0b29saXplIC0tYXV0b21ha2UgLS1jb3B5IC0tZm9yY2UKKyAgICBhdXRvaGVhZGVyCisgICAgYXV0b21ha2UgLS1mb3JlaWduIC0tYWRkLW1pc3NpbmcgLS1jb3B5CisKKyAgICBhY2xvY2FsCisgICAgYXV0b2NvbmYKKyAgICBhdXRvbWFrZSAtLWZvcmVpZ24KKyAgICAuL2NvbmZpZ3VyZSAke0NPTkZJR1VSRU9QVFN9ICR7RVhUUkFfT0VDT05GfQorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Cit9CisKK0NPTVBBVElCTEVfSE9TVCA9ICcoeDg2XzY0fGkuODYpLiotbGludXgnCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2pvZS9qb2VfMy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9qb2Uvam9lXzMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjlhOWZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9qb2Uvam9lXzMuMS5iYgpAQCAtMCwwICsxLDE1IEBACitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitTVU1NQVJZID0gIkNvbnNvbGUgdGV4dCBlZGl0b3Igd2l0aCBnb29kIGZ1bmN0aW9uYWxpdHksIGdvb2QgY2hvaWNlIGZvciB2aS1oYXRlcnMiCitIT01FUEFHRSA9ICJodHRwOi8vam9lLWVkaXRvci5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJHUEx2MSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWRhMTBlZDdjZjgwMzg5ODFjNTgwZTExYzFkM2U4ZmI2IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9qb2UtZWRpdG9yL2pvZS0ke1BWfS50YXIuZ3oiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJjdXJzZXMiCitQQUNLQUdFQ09ORklHW2N1cnNlc10gPSAiLS1lbmFibGUtY3Vyc2VzLC0tZGlzYWJsZS1jdXJzZXMsbmN1cnNlcyxuY3Vyc2VzLXRlcm1pbmZvIgorCitpbmhlcml0IGF1dG90b29scworCitTUkNfVVJJW21kNXN1bV0gPSAiMmE2ZWYwMTg4NzBmY2E5YjdkZjg1NDAxOTk0ZmIwZTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjUyMzkwZTRiYzY4Nzk1N2YwOWYzMzQwOTU5MDRjOGNjNTNiMzljN2I2NjNlZDQ3ODYxYWUxZDExYWVmNTk0NiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGNtcy9sY21zXzIuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGNtcy9sY21zXzIuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmNjYjIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sY21zL2xjbXNfMi43LmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiTGl0dGxlIGNtcyBpcyBhIHNtYWxsLWZvb3RwcmludCwgc3BlZWQgb3B0aW1pemVkIGNvbG9yIG1hbmFnZW1lbnQgZW5naW5lIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02Yzc4NmMzYjdhNGFmYmQzYzk5MGYxYjgxMjYxZDUxNiIKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2xjbXMvbGNtczItJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjA2YzE2MjZmNjI1NDI0YTgxMWZiNGI1ZWIwNzA4MzlkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ1MjQyMzRhZTdkZTE4NWU2YjZkYTVkMzFkNjg3NTA4NWIyMTk4YmM2M2IxMjExZjdkZGU2ZTJkMTk3ZDZhNTMiCisKK0RFUEVORFMgPSAidGlmZiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1MgPSAiJHtXT1JLRElSfS9sY21zMi0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGNvdi9sY292XzEuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xjb3YvbGNvdl8xLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmM2I4ODkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xjb3YvbGNvdl8xLjExLmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiQSBncmFwaGljYWwgZnJvbnQtZW5kIGZvciBnY292IgorSE9NRVBBR0UgPSAiaHR0cDovL2x0cC5zb3VyY2Vmb3JnZS5uZXQvY292ZXJhZ2UvbGNvdi5waHAiCitERVNDUklQVElPTiA9ICJMQ09WIGlzIGEgZ3JhcGhpY2FsIGZyb250LWVuZCBmb3IgR0NDJ3MgY292ZXJhZ2UgdGVzdGluZyBcCit0b29sIGdjb3YuIEl0IGNvbGxlY3RzIGdjb3YgZGF0YSBmb3IgbXVsdGlwbGUgc291cmNlIGZpbGVzIGFuZCBjcmVhdGVzIFwKK0hUTUwgcGFnZXMgY29udGFpbmluZyB0aGUgc291cmNlIGNvZGUgYW5ub3RhdGVkIHdpdGggY292ZXJhZ2UgaW5mb3JtYXRpb24uIFwKK0l0IGFsc28gYWRkcyBvdmVydmlldyBwYWdlcyBmb3IgZWFzeSBuYXZpZ2F0aW9uIHdpdGhpbiB0aGUgZmlsZSBzdHJ1Y3R1cmUuIFwKK0xDT1Ygc3VwcG9ydHMgc3RhdGVtZW50LCBmdW5jdGlvbiBhbmQgYnJhbmNoIGNvdmVyYWdlIG1lYXN1cmVtZW50LiIgCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworUkRFUEVORFNfJHtQTn0gKz0gIiBcCisgICAgZ2NvdiBcCisgICAgcGVybCBcCisgICAgcGVybC1tb2R1bGUtZmlsZWhhbmRsZSBcCisgICAgcGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCBcCisgICAgcGVybC1tb2R1bGUtZGlnZXN0LXNoYSBcCisiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvbHRwLyR7QlB9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImU3OWI3OTlhZTNjZTE0OWFhOTI0Yzc1MjBlOTkzMDI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImMyODJkZThkNjc4ZWNiZmRhMzJjZTRiNWM4NWZjMDJmNzdjMmEzOWEwNjJmMDY4YmQ4ZTc3NGQyOWRkYzliZjgiCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIFBSRUZJWD0ke0R9CisgICAgc2VkIC1pIC1lICcxcywjIS4qcGVybCwjISAke1VTUkJJTlBBVEh9L2VudiBwZXJsLCcgJHtEfSR7YmluZGlyfS8qCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliYXRhc21hcnQvbGliYXRhc21hcnRfMC4xOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliYXRhc21hcnQvbGliYXRhc21hcnRfMC4xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjY1N2I0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJhdGFzbWFydC9saWJhdGFzbWFydF8wLjE5LmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQVRBIFMuTS5BLlIuVC4gUmVhZGluZyBhbmQgUGFyc2luZyBMaWJyYXJ5IgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xHUEw7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIgorCitERVBFTkRTID0gInVkZXYiCisKK1NSQ1JFViA9ICJkZTYyNTg5NDA5NjA0NDMwMzhiNGMxNjUxZGZkYTM2MjAwNzVlODcwIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQuMHBvaW50ZXIuZGUvbGliYXRhc21hcnQuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBsaWJfcGFja2FnZSBwa2djb25maWcKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgc2VkIC1pIC1lIHM6Ly86LzpnIC1lICdzOj0ke2xpYmRpcn0vbGlidWRldi5sYTotbHVkZXY6ZycgJHtEfSR7bGliZGlyfS9saWJhdGFzbWFydC5sYQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tZGV2LXZhbGEiCitGSUxFU18ke1BOfS1kZXYtdmFsYSA9ICIke2RhdGFkaXJ9L3ZhbGEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmNhbmJlcnJhL2ZpbGVzLzAwMDEtYnVpbGQtZ3RrLWFuZC1ndGszLXZlcnNpb24tZm9yLWNhbmJlcnJhX2d0a19wbGF5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJjYW5iZXJyYS9maWxlcy8wMDAxLWJ1aWxkLWd0ay1hbmQtZ3RrMy12ZXJzaW9uLWZvci1jYW5iZXJyYV9ndGtfcGxheS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTA5ODRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJjYW5iZXJyYS9maWxlcy8wMDAxLWJ1aWxkLWd0ay1hbmQtZ3RrMy12ZXJzaW9uLWZvci1jYW5iZXJyYV9ndGtfcGxheS5wYXRjaApAQCAtMCwwICsxLDkyIEBACitGcm9tIDRhODlkZGZmYmIxNGQ3NDdhZGJlMzM2NWFjZTRkYjg3ZGU1MmJhMzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBNb24sIDE2IFNlcCAyMDEzIDE2OjA4OjI4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkIGd0ay0gYW5kIGd0azMtdmVyc2lvbiBmb3IgY2FuYmVycmFfZ3RrX3BsYXkKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgc3JjL01ha2VmaWxlLmFtIHwgICAyNSArKysrKysrKysrKysrKystLS0tLS0tLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQoraW5kZXggNTZlZDk2ZC4uZmM3MmUxZiAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL01ha2VmaWxlLmFtCitAQCAtMzE5LDkgKzMxOSw2IEBAIGVuZGlmCisgCisgaWYgSEFWRV9HVEtfQU5ZCisgCistYmluX1BST0dSQU1TICs9IFwKKy0JY2FuYmVycmEtZ3RrLXBsYXkKKy0KKyBpbmNsdWRlX0hFQURFUlMgKz0gXAorIAljYW5iZXJyYS1ndGsuaAorIAorQEAgLTMyOSw2ICszMjYsOSBAQCBlbmRpZgorIAorIGlmIEhBVkVfR1RLMworIAorK2Jpbl9QUk9HUkFNUyArPSBcCisrCWNhbmJlcnJhLWd0azMtcGxheQorKworIGxpYl9MVExJQlJBUklFUyArPSBcCisgCWxpYmNhbmJlcnJhLWd0azMubGEKKyAKK0BAIC0zNjcsNiArMzY3LDkgQEAgZW5kaWYKKyAKKyBpZiBIQVZFX0dUSworIAorK2Jpbl9QUk9HUkFNUyArPSBcCisrCWNhbmJlcnJhLWd0ay1wbGF5CisrCisgbGliX0xUTElCUkFSSUVTICs9IFwKKyAJbGliY2FuYmVycmEtZ3RrLmxhCisgCitAQCAtMzk5LDE0ICs0MDIsMTcgQEAgZW5kaWYKKyAKKyBpZiBIQVZFX0dUSzMKKyAKKy1jYW5iZXJyYV9ndGtfcGxheV9MREFERCA9IFwKKytjYW5iZXJyYV9ndGszX3BsYXlfTERBREQgPSBcCisgCSQoR1RLM19MSUJTKSBcCisgCWxpYmNhbmJlcnJhLmxhIFwKKyAJbGliY2FuYmVycmEtZ3RrMy5sYQorLWNhbmJlcnJhX2d0a19wbGF5X0NGTEFHUyA9IFwKKytjYW5iZXJyYV9ndGszX3BsYXlfQ0ZMQUdTID0gXAorIAkkKEdUSzNfQ0ZMQUdTKQorIAorLWVsc2UKKytjYW5iZXJyYV9ndGszX3BsYXlfU09VUkNFUyA9IFwKKysJY2FuYmVycmEtZ3RrLXBsYXkuYworKworK2VuZGlmCisgaWYgSEFWRV9HVEsKKyAKKyBjYW5iZXJyYV9ndGtfcGxheV9MREFERCA9IFwKK0BAIC00MTYsNyArNDIyLDkgQEAgY2FuYmVycmFfZ3RrX3BsYXlfTERBREQgPSBcCisgY2FuYmVycmFfZ3RrX3BsYXlfQ0ZMQUdTID0gXAorIAkkKEdUS19DRkxBR1MpCisgCistZW5kaWYKKytjYW5iZXJyYV9ndGtfcGxheV9TT1VSQ0VTID0gXAorKwljYW5iZXJyYS1ndGstcGxheS5jCisrCisgZW5kaWYKKyAKKyBpZiBIQVZFX0dUS19BTlkKK0BAIC00MjQsOSArNDMyLDYgQEAgaWYgSEFWRV9HVEtfQU5ZCisgZGlzdF9nc2RndGttb2R1bGVzX0RBVEEgPSBcCisgCWNhbmJlcnJhLWd0ay1tb2R1bGUuZGVza3RvcAorIAorLWNhbmJlcnJhX2d0a19wbGF5X1NPVVJDRVMgPSBcCistCWNhbmJlcnJhLWd0ay1wbGF5LmMKKy0KKyBFWFRSQV9ESVNUICs9IFwKKyAJbGliY2FuYmVycmEtbG9naW4tc291bmQuZGVza3RvcC5pbiBcCisgCWxpYmNhbmJlcnJhLXJlYWR5LXNvdW5kLmRlc2t0b3AuaW4gXAorLS0gCisxLjcuNi41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliY2FuYmVycmEvbGliY2FuYmVycmFfMC4zMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliY2FuYmVycmEvbGliY2FuYmVycmFfMC4zMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDczNzc1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJjYW5iZXJyYS9saWJjYW5iZXJyYV8wLjMwLmJiCkBAIC0wLDAgKzEsNjMgQEAKK1NVTU1BUlkgPSAiSW1wbGVtZW50YXRpb24gb2YgWERHIFNvdW5kIFRoZW1lIGFuZCBOYW1lIFNwZWNpZmljYXRpb25zIgorREVTQ1JJUFRJT04gPSAiTGliY2FuYmVycmEgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIFhERyBTb3VuZCBUaGVtZSBhbmQgTmFtZSBTcGVjaWZpY2F0aW9ucywgZm9yIGdlbmVyYXRpbmcgZXZlbnQgc291bmRzIG9uIGZyZWUgZGVza3RvcHMuIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MR1BMO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvY2FuYmVycmEuaDtiZWdpbmxpbmU9NztlbmRsaW5lPTI0O21kNT1jNjE2YzY4N2NmOGRhNTQwYTE0ZjkxN2UwZDIzYWIwMyIKKworREVQRU5EUyA9ICJsaWJ0b29sIGxpYnZvcmJpcyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ3RrLWRvYworCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovLzBwb2ludGVyLmRlL2xlbm5hcnQvcHJvamVjdHMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIueHogXAorICAgIGZpbGU6Ly8wMDAxLWJ1aWxkLWd0ay1hbmQtZ3RrMy12ZXJzaW9uLWZvci1jYW5iZXJyYV9ndGtfcGxheS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMzRjYjdlNDQzMGFmYWY2ZjQ0N2M0ZWJkYjliNDIwNzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzJiNjcxZTY3ZTBjMjg4YTY5ZmMzM2RjMWI2ZjFiNTM0ZDA3ODgyYzJhY2VlZDM3MDA0YmY0OGM2MDFhZmE3MiIKKworRVhUUkFfT0VDT05GID0gIlwKKyAgICAtLWVuYWJsZS1udWxsIFwKKyAgICAtLWRpc2FibGUtb3NzIFwKKyAgICAtLWRpc2FibGUtdGRiIFwKKyAgICAtLWRpc2FibGUtbHlueCBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnYWxzYScsJ2Fsc2EnLCcnLGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3B1bHNlYXVkaW8nLCdwdWxzZWF1ZGlvJywnJyxkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCd4MTEnLCdndGsgZ3RrMycsJycsZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbYWxzYV0gPSAiLS1lbmFibGUtYWxzYSwgLS1kaXNhYmxlLWFsc2EsIGFsc2EtbGliIgorUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItLWVuYWJsZS1wdWxzZSwgLS1kaXNhYmxlLXB1bHNlLCBwdWxzZWF1ZGlvIgorUEFDS0FHRUNPTkZJR1tnc3RyZWFtZXJdID0gIi0tZW5hYmxlLWdzdHJlYW1lciwgLS1kaXNhYmxlLWdzdHJlYW1lciwgZ3N0cmVhbWVyMS4wIgorUEFDS0FHRUNPTkZJR1tndGtdID0gIi0tZW5hYmxlLWd0aywgLS1kaXNhYmxlLWd0aywgZ3RrKyIKK1BBQ0tBR0VDT05GSUdbZ3RrM10gPSAiLS1lbmFibGUtZ3RrMywgLS1kaXNhYmxlLWd0azMsIGd0ayszIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKKyAgICBwbHVnaW5kaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9LyR7QlBOfS0ke1BWfS8nKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbmRpciwgJ15saWJjYW5iZXJyYS0oLiopXC5zbyQnLCAnbGliY2FuYmVycmEtJXMnLCAnJXMgc3VwcG9ydCBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJyApCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luZGlyLCAnXmxpYmNhbmJlcnJhLSguKilcLmxhJCcsICdsaWJjYW5iZXJyYS0lcycsICclcyBzdXBwb3J0IGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnICkKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LWdub21lICR7UE59LWd0azIgJHtQTn0tZ3RrMyAke1BOfS1zeXN0ZW1kIgorUEFDS0FHRVNfRFlOQU1JQyArPSAiXmxpYmNhbmJlcnJhLS4qIgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vICR7bGliZGlyfS8ke0JQTn0uc28uKiIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9L3ZhbGEvdmFwaSAke2xpYmRpcn0vKi9tb2R1bGVzLyoubGEgJHtsaWJkaXJ9LyovKi5sYSIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vJHtCUE59LSR7UFZ9Ly5kZWJ1ZyAke2xpYmRpcn0vZ3RrLSovbW9kdWxlcy8uZGVidWciCisKK0ZJTEVTXyR7UE59LWd0azIgPSAiJHtsaWJkaXJ9LyR7QlBOfS1ndGsuc28uKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9ndGstMi4wL21vZHVsZXMvKi5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9jYW5iZXJyYS1ndGstcGxheSIKKworIyAtZ3RrMyBzaGlwcyBhIHN5bWxpbmsgdG8gYSAuc28KK0lOU0FORV9TS0lQXyR7UE59LWd0azMgPSAiZGV2LXNvIgorRklMRVNfJHtQTn0tZ3RrMyA9ICIke2xpYmRpcn0vJHtCUE59LWd0azMuc28uKiBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9ndGstMy4wL21vZHVsZXMvKi5zbyBcCisgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9jYW5iZXJyYS1ndGszLXBsYXkiCisKK0ZJTEVTXyR7UE59LWdub21lID0gIiR7bGliZGlyfS9nbm9tZS1zZXR0aW5ncy1kYWVtb24tMy4wLyBcCisgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2dkbS8gJHtkYXRhZGlyfS9nbm9tZS8iCisKK0ZJTEVTXyR7UE59LXN5c3RlbWQgPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmRiaS9saWJkYmktZHJpdmVycy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmRiaS9saWJkYmktZHJpdmVycy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjUwOTUzMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZGJpL2xpYmRiaS1kcml2ZXJzLmluYwpAQCAtMCwwICsxLDUxIEBACisjIGxpYmRiaS1kcml2ZXJzIE9FIGJ1aWxkIGZpbGUKKyMgQ29weXJpZ2h0IChDKSAyMDA1LCBLb25pbmtsaWprZSBQaGlsaXBzIEVsZWN0cm9uaWNzIE5WLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZAorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBwYWNrYWdlcy9DT1BZSU5HKQorCitERVNDUklQVElPTiA9ICJEYXRhYmFzZSBEcml2ZXJzIGZvciBsaWJkYmkiCitIT01FUEFHRSA9ICJodHRwOi8vbGliZGJpLWRyaXZlcnMuc291cmNlZm9yZ2UubmV0LyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSIKK1NFQ1RJT04gPSAibGlicyIKKworUFJPVklERVMgPSAibGliZGJkLXNxbGl0ZSIKK0RFUEVORFMgPSAibGliZGJpIHNxbGl0ZSBzcWxpdGUzIG15c3FsNSBwb3N0Z3Jlc3FsIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9saWJkYmktZHJpdmVycy9saWJkYmktZHJpdmVycy0ke1BWfS50YXIuZ3oiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBQ0tBR0VTICs9ICJsaWJkYmQtc3FsaXRlMyBsaWJkYmQtc3FsaXRlIGxpYmRiZC1wZ3NxbCBsaWJkYmQtbXlzcWwiCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtZGJpLWluY2Rpcj0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLWRiaS1saWJkaXI9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1zcWxpdGUgXAorICAgICAgICAgICAgICAgIC0td2l0aC1zcWxpdGUzIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtcGdzcWwgXAorICAgICAgICAgICAgICAgIC0td2l0aC1teXNxbCBcCisgICAgICAgICAgICAgICAgLS13aXRoLXNxbGl0ZS1saWJkaXI9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1zcWxpdGUtaW5jZGlyPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc3FsaXRlMy1pbmNkaXI9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aC1zcWxpdGUzLWxpYmRpcj0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLW15c3FsLWluY2Rpcj0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLW15c3FsLWxpYmRpcj0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLXBnc3FsLWluY2Rpcj0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLXBnc3FsLWxpYmRpcj0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWRvY3MiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiICR7bGliZGlyfS9kYmQvLmRlYnVnLyouc28iCitGSUxFU18ke1BOfS1kZXYgKz0gIiAke2xpYmRpcn0vZGJkLyoubGEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiAke2xpYmRpcn0vZGJkLyouYSIKKworREVTQ1JJUFRJT05fbGliZGJkLXNxbGl0ZSA9ICJTUUxpdGUgZGF0YWJhc2UgZHJpdmVyIGZvciBsaWJkYmkiCitGSUxFU19saWJkYmQtc3FsaXRlID0gIiR7bGliZGlyfS9kYmQvbGliZGJkc3FsaXRlLnNvIgorCitERVNDUklQVElPTl9saWJkYmQtc3FsaXRlMyA9ICAiU1FMaXRlMyBkYXRhYmFzZSBkcml2ZXIgZm9yIGxpYmRiaSIKK0ZJTEVTX2xpYmRiZC1zcWxpdGUzID0gIiR7bGliZGlyfS9kYmQvbGliZGJkc3FsaXRlMy5zbyIKKworREVTQ1JJUFRJT05fbGliZGJkLW15c3FsID0gIk15U1FMNCBkYXRhYmFzZSBkcml2ZXIgZm9yIGxpYmRiaSIKK0ZJTEVTX2xpYmRiZC1teXNxbCA9ICIke2xpYmRpcn0vZGJkL2xpYmRiZG15c3FsLnNvIgorCitERVNDUklQVElPTl9saWJkYmQtcHNxbCA9ICJQb3N0Z3JlcyBTUUwgZGF0YWJhc2UgZHJpdmVyIGZvciBsaWJkYmkiCitGSUxFU19saWJkYmQtcGdzcWwgPSAiJHtsaWJkaXJ9L2RiZC9saWJkYmRwZ3NxbC5zbyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJkYmkvbGliZGJpLWRyaXZlcnNfMC44LjMtMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZGJpL2xpYmRiaS1kcml2ZXJzXzAuOC4zLTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWM4NjljNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZGJpL2xpYmRiaS1kcml2ZXJzXzAuOC4zLTEuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlICR7UE59LmluYworCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZGU3OWIzMjMxNjJhNWE3NjUyYjY1YjYwOGVjYTZjZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YWI5OTQ0Mzk4Y2U3NjljMGRlZWI2NGQyZjczNTU1YzY3YmMyNWNjZDJhZGUxY2NmNTUyMjI2YzdiMmFjZjcyIgorCisjIGxpYmRiaS1kcml2ZXJzLTAuOC4zLTEvZHJpdmVycy9teXNxbC9kYmRfbXlzcWwuYzoyMzI6NTogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnZGJkX2dvdG9fcm93JworUE5CTEFDS0xJU1RbbGliZGJpLWRyaXZlcnNdID89ICJCUk9LRU46IGZhaWxzIHRvIGJ1aWxkIHdpdGggZ2NjLTUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmRiaS9saWJkYmkuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJkYmkvbGliZGJpLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZWEyODM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJkYmkvbGliZGJpLmluYwpAQCAtMCwwICsxLDE3IEBACisjIGxpYmRiaSBPRSBidWlsZCBmaWxlCisjIENvcHlyaWdodCAoQykgMjAwNSwgS29uaW5rbGlqa2UgUGhpbGlwcyBFbGVjdHJvbmljcyBOVi4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgcGFja2FnZXMvQ09QWUlORykKKworREVTQ1JJUFRJT04gPSAiRGF0YWJhc2UgSW5kZXBlbmRlbnQgQWJzdHJhY3Rpb24gTGF5ZXIgZm9yIEMiCitIT01FUEFHRSA9ICJodHRwOi8vbGliZGJpLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkiCitTRUNUSU9OID0gImxpYnMiCisKK0lOQ19QUiA9ICJyMCIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbGliZGJpL2xpYmRiaS0ke1BWfS50YXIuZ3oiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZG9jcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZGJpL2xpYmRiaV8wLjkuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZGJpL2xpYmRiaV8wLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGVhZTI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJkYmkvbGliZGJpXzAuOS4wLmJiCkBAIC0wLDAgKzEsNiBAQAorcmVxdWlyZSAke1BOfS5pbmMKKworUFIgPSAiJHtJTkNfUFJ9LjAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNWUyY2VlYWM0YmM4NWZiZTQwZGU4YjRiMjJkOWFiMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYWZiNmNkY2E1MjRjNjI4ZGY4MzJiNmRkMGJmOGZhYmNlYjEwMzI0OGVkYjIxNzYyYzAyZDMwNjhmY2E0NTAzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTZmYTA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZS5pbmMKQEAgLTAsMCArMSwzOSBAQAorU1VNTUFSWSA9ICJBbiBFdmVudCBFeHByZXNzaW9uIExpYnJhcnkgaW5zcGlyZWQgYnkgQ0VFIgorREVTQ1JJUFRJT04gPSAiVGhlIGNvcmUgaWRlYSBvZiBsaWJlZSBpcyB0byBwcm92aWRlIGEgc21hbGwgXAorYnV0IGhvcGVmdWxseSBjb252ZW5pZW50IEFQSSBsYXllciBhYm92ZSB0aGUgQ0VFIHN0YW5kYXJkLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWJlZS5vcmciCitTRUNUSU9OID0gImJhc2UiCisKK0xJQ0VOU0UgPSAiTEdQTC0yLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWMyNjg3ZGUzNWUzNmJhM2I5OTkxMzYyMzZhNjZjZDYiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJlZS5vcmcvZG93bmxvYWQvZmlsZXMvZG93bmxvYWQvJHtCUE59LSR7UFZ9LnRhci5nelwKKyAgICAgICAgICAgZmlsZTovL2xpYmVlLXBhcmFsbGVsLW1ha2UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL2V6YXBpMS5zaCBcCisiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHB0ZXN0IHBrZ2NvbmZpZworCitERVBFTkRTICs9ICJsaWJlc3RyIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsICd0ZXN0YmVuY2gnLCAnJywgZCl9IgorCitQQUNLQUdFQ09ORklHW2RlYnVnXSA9ICItLWVuYWJsZS1kZWJ1ZywtLWRpc2FibGUtZGVidWcsLCIKK1BBQ0tBR0VDT05GSUdbdGVzdGJlbmNoXSA9ICItLWVuYWJsZS10ZXN0YmVuY2gsLS1kaXNhYmxlLXRlc3RiZW5jaCwsIgorCitURVNURElSID0gInRlc3RzIgorCisjIFdlIHByZXN1bWUgdGhlIHRlc3RzIHdlIGFyZSBnb2luZyB0byBpbnN0YWxsIHNvIGp1c3QgYnVpbGQgdGhlbSBkaXJlY3RseS4KKyMKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisJb2VfcnVubWFrZSAtQyAke1RFU1RESVJ9IGdlbmZpbGUgZXphcGkxCit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfQorCWluc3RhbGwgLW0gMDc1NSAke0J9LyR7VEVTVERJUn0vZ2VuZmlsZSAke0R9JHtQVEVTVF9QQVRIfQorCWluc3RhbGwgLW0gMDc1NSAke0J9LyR7VEVTVERJUn0vLmxpYnMvZXphcGkxICR7RH0ke1BURVNUX1BBVEh9CisJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZXphcGkxLnNoICR7RH0ke1BURVNUX1BBVEh9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlL2V6YXBpMS5zaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWUvZXphcGkxLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU5ZGI1ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlL2V6YXBpMS5zaApAQCAtMCwwICsxLDE0IEBACisjIS9iaW4vc2gKKyMKK2VjaG8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitlY2hvIEEgdmVyeSBiYXNpYyB0ZXN0IGZvciB0aGUgZXZlbnQgY2xhc3MKK2VjaG8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitybSAtZiBpbmZpbGUKKy4vZ2VuZmlsZSAxMDAgPiBpbmZpbGUKKy4vZXphcGkxIC1paW5maWxlCitpZiBbICQ/IC1uZSAwIF0gOyB0aGVuCisgICBlY2hvICJGQUlMOiAkMCIKKyAgIGV4aXQgMQorZmkKK2VjaG8gIlBBU1M6ICQwIgorcm0gLWYgaW5maWxlCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlL2xpYmVlLXBhcmFsbGVsLW1ha2UucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVlL2xpYmVlL2xpYmVlLXBhcmFsbGVsLW1ha2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjVlNWM2YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWUvbGliZWUtcGFyYWxsZWwtbWFrZS5wYXRjaApAQCAtMCwwICsxLDIwIEBACitmaXggcGFyYWxsZWwgY29tcGlsaW5nIHByb2JsZW0KKword2l0aG91dCBzcGVjaWZ5aW5nIGxpYmVlX2NvbnZlcnRfREVQRU5ERU5DSUVTID0gbGliZWUubGEsIGxpYmVlX2NvbnZlcnQKK2Nhbid0IGZpbmQgbGliZWUubGEgd2hlbiBsaW5raW5nIGFzIGxpYmVlIGlzIG5vdCBnZW5lcmF0ZWQgeWV0LgorIAorVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFlhbyBaaGFvIDx5YW8uemhhb0B3aW5kcml2ZXIuY29tPgorLS0tCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCitpbmRleCAwOGFhYTllLi5mMGM3OGY3IDEwMDY0NAorLS0tIGEvc3JjL01ha2VmaWxlLmFtCisrKysgYi9zcmMvTWFrZWZpbGUuYW0KK0BAIC00Niw1ICs0Niw2IEBAIGxpYmVlX2xhX0xERkxBR1MgPSAtdmVyc2lvbi1pbmZvIDA6MDowCisgbGliZWVfY29udmVydF9TT1VSQ0VTID0gY29udmVydC5jCisgbGliZWVfY29udmVydF9DUFBGTEFHUyA9ICAtSSQodG9wX3NyY2RpcikgJChMSUJFRV9DRkxBR1MpICQoTElCRVNUUl9DRkxBR1MpICQoTElCWE1MMl9DRkxBR1MpCisgbGliZWVfY29udmVydF9MREFERCA9ICQoTElCRUVfTElCUykgJChMSUJYTUwyX0xJQlMpICQoTElCRVNUUl9MSUJTKQorK2xpYmVlX2NvbnZlcnRfREVQRU5ERU5DSUVTID0gbGliZWUubGEKKyAKKyBpbmNsdWRlX0hFQURFUlMgPSAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWUvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZS9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2NiNjYwNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWUvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCisjCisuL2V6YXBpMS5zaApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlZS9saWJlZV8wLjQuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWVfMC40LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWYyYzIwZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWUvbGliZWVfMC40LjEuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjdiYmY0MTYwODc2YzEyZGI2MTkzYzA2ZTJiYWRlZGIyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImMwZGFjMDE5Mzg1OTNkZWVlMDZjM2QxNjFlNGVkYTRlY2MwZmQ3MzE3ZTEzMjFiZDk2ZTMwMWFjZWI3ZmIwMjciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuLzAwMDEtQ01ha2VMaXN0cy50eHQtaW5zdGFsbC1GaW5kRWlnZW4zLmNtYWtlLXNjcmlwdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWlnZW4vbGliZWlnZW4vMDAwMS1DTWFrZUxpc3RzLnR4dC1pbnN0YWxsLUZpbmRFaWdlbjMuY21ha2Utc2NyaXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MWRhZGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuLzAwMDEtQ01ha2VMaXN0cy50eHQtaW5zdGFsbC1GaW5kRWlnZW4zLmNtYWtlLXNjcmlwdC5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIGZkOGJjNjZlZmFjMTA1OWMxMDY4ZjgwNDc0NmIwMWI5MDE3N2MzMzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMdWthcyBCdWx3YWhuIDxsdWthcy5idWx3YWhuQG9zcy5ibXctY2FyaXQuZGU+CitEYXRlOiBTdW4sIDE4IE9jdCAyMDE1IDE2OjUyOjI1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIENNYWtlTGlzdHMudHh0OiBpbnN0YWxsIEZpbmRFaWdlbjMuY21ha2Ugc2NyaXB0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMdWthcyBCdWx3YWhuIDxsdWthcy5idWx3YWhuQG9zcy5ibXctY2FyaXQuZGU+CistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCA3NmExMWI5Li5lYzZjNmVhIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMzQyLDYgKzM0Miw4IEBAIGlmKEVJR0VOX0JVSUxEX1BLR0NPTkZJRykKKyAgICAgICAgICkKKyBlbmRpZihFSUdFTl9CVUlMRF9QS0dDT05GSUcpCisgCisraW5zdGFsbChGSUxFUyAiJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L2NtYWtlL0ZpbmRFaWdlbjMuY21ha2UiIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9zaGFyZS9jbWFrZS9Nb2R1bGVzIikKKysKKyBhZGRfc3ViZGlyZWN0b3J5KEVpZ2VuKQorIAorIGFkZF9zdWJkaXJlY3RvcnkoZG9jIEVYQ0xVREVfRlJPTV9BTEwpCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWlnZW4vbGliZWlnZW5fMy4yLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuXzMuMi42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5YTI1YTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuXzMuMi42LmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OID0gIkVpZ2VuIGlzIGEgQysrIHRlbXBsYXRlIGxpYnJhcnkgZm9yIGxpbmVhciBhbGdlYnJhOiBtYXRyaWNlcywgdmVjdG9ycywgbnVtZXJpY2FsIHNvbHZlcnMsIGFuZCByZWxhdGVkIGFsZ29yaXRobXMuIgorQVVUSE9SID0gIkJlbm/DrnQgSmFjb2IgYW5kIEdhw6tsIEd1ZW5uZWJhdWQgYW5kIG90aGVycyIKK0hPTUVQQUdFID0gImh0dHA6Ly9laWdlbi50dXhmYW1pbHkub3JnLyIKK0xJQ0VOU0UgPSAiTVBMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTVBMMjttZDU9ODE1Y2E1OTljOWRmMjQ3YTBjN2Y2MTliYWIxMjNkYWQiCisKK1NSQ19VUkkgPSAiaHR0cDovL2JpdGJ1Y2tldC5vcmcvZWlnZW4vZWlnZW4vZ2V0LyR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1DTWFrZUxpc3RzLnR4dC1pbnN0YWxsLUZpbmRFaWdlbjMuY21ha2Utc2NyaXB0LnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjg3Mjc0OTY2NzQ1ZDJkM2U3OTY0ZmNjNjU0ZDBhMjRiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhhMzM1MmY5YTUzNjFmZTkwZTQ1MWE3MzA1ZmIxODk2ZmM3Zjc3MWRjMTZjYzBlZGQ4ZTZiMTU3ZjUyYzM0M2UiCisKK1MgPSAiJHtXT1JLRElSfS9laWdlbi1laWdlbi1jNTgwMzhjNTY5MjMiCisKK2luaGVyaXQgY21ha2UKKworRVhUUkFfT0VDTUFLRSArPSAiLURwa2dfY29uZmlnX2xpYmRpcj0ke2xpYmRpcn0iCisKK0ZJTEVTXyR7UE59ID0gIiR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9IgorRklMRVNfJHtQTn0tZGV2ID0gIiR7ZGF0YWRpcn0vY21ha2UvTW9kdWxlcyIKKworIyAke1BOfSBpcyBlbXB0eSBzbyB3ZSBuZWVkIHRvIHR3ZWFrIC1kZXYgYW5kIC1kYmcgcGFja2FnZSBkZXBlbmRlbmNpZXMKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCitSUkVDT01NRU5EU18ke1BOfS1kYmcgPSAiJHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlc3RyL2xpYmVzdHJfMC4xLjEwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlc3RyL2xpYmVzdHJfMC4xLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliZmY0ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVzdHIvbGliZXN0cl8wLjEuMTAuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJzb21lIGVzc2VudGlhbHMgZm9yIHN0cmluZyBoYW5kbGluZyAoYW5kIGEgYml0IG1vcmUpIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpYmVzdHIuYWRpc2Nvbi5jb20vIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlkNmM5OTM0ODZjMTgyNjJhZmJhNGNhNWJjYjg5NGQwIgorCitTUkNfVVJJID0gImh0dHA6Ly9saWJlc3RyLmFkaXNjb24uY29tL2ZpbGVzL2Rvd25sb2FkLyR7QlB9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImY0YzkxNjVhMjM1ODdlNzdmN2VmZTY1ZDY3NmQ1ZThlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJkNjU1ZTEyNmU3NTBlZGQxODU0NGI4OGViMTU2OGQyMDBhNDI0YTBjMjNmNjY1ZWIxNGJiZWNlMDdhYzcwM2MiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmV0cGFuL2xpYmV0cGFuLTAuNTcvbGliZXRwYW4tYXV0b3JlY29uZi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXRwYW4vbGliZXRwYW4tMC41Ny9saWJldHBhbi1hdXRvcmVjb25mLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNTk2N2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmV0cGFuL2xpYmV0cGFuLTAuNTcvbGliZXRwYW4tYXV0b3JlY29uZi5wYXRjaApAQCAtMCwwICsxLDEyIEBACitJbmRleDogbGliZXRwYW4tMC41Ny9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJldHBhbi0wLjU3Lm9yaWcvY29uZmlndXJlLmFjCTIwMDgtMTAtMDggMTk6NTQ6MjAuMDAwMDAwMDAwICswMDAwCisrKysgbGliZXRwYW4tMC41Ny9jb25maWd1cmUuYWMJMjAwOC0xMS0xMSAxNjozNDozMy4wMDAwMDAwMDAgKzAwMDAKK0BAIC0xMDYsNiArMTA2LDcgQEAKKyAKKyAjIENoZWNrIHRoZSBDIGNvbXBpbGVyLgorIEFDX1BST0dfQ0MKKytBQ19QUk9HX0NYWAorIAorICMgQ29tcGlsZXIgZmxhZ3MuCisgQUNfQVJHX0VOQUJMRShkZWJ1ZywgICBbICAtLWVuYWJsZS1kZWJ1ZyAgICAgICAgICBzZXR1cCBmbGFncyAoZ2NjKSBmb3IgZGVidWdnaW5nIChkZWZhdWx0PW5vKV0sCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmV0cGFuL2xpYmV0cGFuLTAuNTcvbGliZXRwYW4tbGRmbGFncy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXRwYW4vbGliZXRwYW4tMC41Ny9saWJldHBhbi1sZGZsYWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzOGY0NGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmV0cGFuL2xpYmV0cGFuLTAuNTcvbGliZXRwYW4tbGRmbGFncy5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gbGliZXRwYW4tMC41Ny9jb25maWd1cmUuYWN+CTIwMDktMDktMjEgMjM6MzE6NDIuMDAwMDAwMDAwICswMjAwCisrKysgbGliZXRwYW4tMC41Ny9jb25maWd1cmUuYWMJMjAwOS0wOS0yMSAyMzozMTo0Mi4wMDAwMDAwMDAgKzAyMDAKK0BAIC00NTcsNyArNDU3LDcgQEAKKyAgICAgICBMREZMQUdTPSItJGZsYWcgJExERkxBR1MiCisgICAgICAgQUNfVFJZX0xJTksoW10sIFtwdGhyZWFkX2NyZWF0ZSgpO10sIAorICAgICAgICAgICAgICAgICAgICAgICBbcHRoZmxhZz15ZXM7IGNoZWNrcHRocmVhZD1ub10sIAorLSAgICAgICAgICAgICAgICAgICAgICBbcHRoZmxhZz1ubzsgTERGTEFHUz0iJE9MRENGTEFHUyJdKQorKyAgICAgICAgICAgICAgICAgICAgICBbcHRoZmxhZz1ubzsgTERGTEFHUz0iJE9MREZMQUdTIl0pCisgICAgICAgQUNfTVNHX1JFU1VMVCgkcHRoZmxhZykKKyAgICAgZmkKKyAgIGRvbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXRwYW4vbGliZXRwYW4tMC41Ny9zZXBidWlsZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXRwYW4vbGliZXRwYW4tMC41Ny9zZXBidWlsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjAxNjE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJldHBhbi9saWJldHBhbi0wLjU3L3NlcGJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK0luZGV4OiBsaWJldHBhbi0wLjU3L3J1bGVzLm1rCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGliZXRwYW4tMC41Ny5vcmlnL3J1bGVzLm1rCisrKysgbGliZXRwYW4tMC41Ny9ydWxlcy5taworQEAgLTEzNCw5ICsxMzQsOSBAQCBwcmVwYXJlLWFtOiBwcmVwYXJlLWxvY2FsCisgCSAgICAgICAgIGlmIHRlc3QgLWUgLi4vLi4vJChzdWJkaXIpLyQke2hkcn07IHRoZW4gXAorIAkgICAgICAgICAgIGVjaG8gIiQoTE5fUykgLWYgLi4vLi4vJChzdWJkaXIpLyQke2hkcn0gLiI7IFwKKyAJICAgICAgICAgICAkKExOX1MpIC1mIC4uLy4uLyQoc3ViZGlyKS8kJHtoZHJ9IC47IFwKKyAgICAgICAgICAgICAgZWxzZSBcCistCSAgICAgICAgICAgZWNobyAiJChMTl9TKSAtZiAuLi8uLi8kKHN1YmRpcikvJChzcmNkaXIpLyQke2hkcn0gLiI7IFwKKy0JICAgICAgICAgICAkKExOX1MpIC1mIC4uLy4uLyQoc3ViZGlyKS8kKHNyY2RpcikvJCR7aGRyfSAuOyBcCisrCSAgICAgICAgICAgZWNobyAiJChMTl9TKSAtZiAkKHNyY2RpcikvJCR7aGRyfSAuIjsgXAorKwkgICAgICAgICAgICQoTE5fUykgLWYgJChzcmNkaXIpLyQke2hkcn0gLjsgXAorICAgICAgICAgICAgICBmaTsgXAorICAgICAgICAgICAgZmk7IFwKKyAJICAgICBkb25lOyBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmV0cGFuL2xpYmV0cGFuXzAuNTcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmV0cGFuL2xpYmV0cGFuXzAuNTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA5MWJiMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZXRwYW4vbGliZXRwYW5fMC41Ny5iYgpAQCAtMCwwICsxLDMwIEBACitERVNDUklQVElPTiA9ICJsaWJldHBhbiBpcyBhIGxpYnJhcnkgZm9yIGNvbW11bmljYXRpbmcgd2l0aCBtYWlsIGFuZCBuZXdzIHNlcnZlcnMuIFwKK0l0IHN1cHBvcnRzIHRoZSBwcm90b2NvbHMgU01UUCwgUE9QMywgSU1BUCBhbmQgTk5UUC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmV0cGFuLm9yZyIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAiZ251dGxzIGxpYmxvY2tmaWxlIGN1cmwiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9ZjE4ZWJlN2U0NTI3MDhjMjZmODM5NTRmODEwNjJiYTciCisKK1BSID0gInIxIgorCisjIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8yNTgyMy8KK1BOQkxBQ0tMSVNUW2xpYmV0cGFuXSA/PSAiTm90IGNvbXBhdGlibGUgd2l0aCBnbnV0bHMgdmVyc2lvbiAzLjQgY3VycmVudGx5IGluIG9lLWNvcmUiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2xpYmV0cGFuL2xpYmV0cGFuLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9saWJldHBhbi1hdXRvcmVjb25mLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xpYmV0cGFuLWxkZmxhZ3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2VwYnVpbGQucGF0Y2giCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IGJpbmNvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LW9wZW5zc2wgLS13aXRob3V0LXNhc2wgLS13aXRoLWdudXRscyAtLWRpc2FibGUtZGIiCisKK1BBUkFMTEVMX01BS0UgPSAiIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zby4qIgorRklMRVNfJHtQTn0tZGV2ID0gIiR7YmluZGlyfSAke2luY2x1ZGVkaXJ9ICR7bGliZGlyfS9saWIqLnNvICR7bGliZGlyfS8qLmxhICR7bGliZGlyfS8qLmEgJHtsaWJkaXJ9L3BrZ2NvbmZpZyIKKworCitTUkNfVVJJW21kNXN1bV0gPSAiOGNlOGM2YzA3MWU4MTg4NGE0NzViMTJiN2Y5YTljYzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWYzZmRhNWM5ZTI5NjFkMWE2Mjk4ZGM4YWFkYWUzMjE0OTNkMzc3MjdkOGRiNDViYzJlOGQ1OGYyMDU0NzAxMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZnRkaS9saWJmdGRpXzEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZnRkaS9saWJmdGRpXzEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjI5MGZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJmdGRpL2xpYmZ0ZGlfMS4yLmJiCkBAIC0wLDAgKzEsMzEgQEAKK0RFU0NSSVBUSU9OID0gImxpYmZ0ZGkgaXMgYSBsaWJyYXJ5IHRvIHRhbGsgdG8gRlRESSBjaGlwcy5cCitGVDIzMkJNLzI0NUJNLCBGVDIyMzJDL0QgYW5kIEZUMjMyLzI0NVIgdXNpbmcgbGlidXNiLFwKK2luY2x1ZGluZyB0aGUgcG9wdWxhciBiaXRiYW5nIG1vZGUuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5pbnRyYTJuZXQuY29tL2VuL2RldmVsb3Blci9saWJmdGRpLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTT0gIlwKKyAgICBmaWxlOi8vQ09QWUlORy5HUEw7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKKyAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWRiOTc5ODA0ZjAyNWNmNTVhYWJlYzcxMjljYjY3MWVkIFwKKyIKKworREVQRU5EUyA9ICJsaWJ1c2IxIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuaW50cmEybmV0LmNvbS9lbi9kZXZlbG9wZXIvJHtCUE59L2Rvd25sb2FkLyR7QlBOfTEtJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjg5ZGZmODAyZDg5YzRjMGQ1NWQ4YjQ2NjVmZDUyZDBiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE2ZWE3OTVjODI5MjE5MDE1ZWIzNzJiMDMwMDgzNTFjZWUzZmIzOWY2ODRiZmYzYmY4YTQ2MjBiNTU4NDg4ZDYiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0xLSR7UFZ9IgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tjcHAtd3JhcHBlcl0gPSAiLURGVERJX0JVSUxEX0NQUD1vbiAtREZURElQUD1vbiwtREZURElfQlVJTERfQ1BQPW9mZiAtREZURElQUD1vZmYsYm9vc3QiCisKK2luaGVyaXQgY21ha2UgYmluY29uZmlnIHBrZ2NvbmZpZworCitFWFRSQV9PRUNNQUtFID0gIi1ETElCX1NVRkZJWD0ke0BkLmdldFZhcignYmFzZWxpYicsIFRydWUpLnJlcGxhY2UoJ2xpYicsICcnKX0iCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2NtYWtlIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlianMvbGlianMtanF1ZXJ5XzEuNy4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJqcy9saWJqcy1qcXVlcnlfMS43LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWM4ZjM2MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlianMvbGlianMtanF1ZXJ5XzEuNy4yLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiSmF2YVNjcmlwdCBsaWJyYXJ5IGZvciBkeW5hbWljIHdlYiBhcHBsaWNhdGlvbnMiCitMSUNFTlNFID0gIk1JVCB8IEJTRCB8IEdQTC0yIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdXNyL3NoYXJlL2RvYy9saWJqcy1qcXVlcnkvY29weXJpZ2h0O21kNT01ZDFlYzZmOTVlMGE5MWQzOGUyZjcxZGU5M2RkYjAwZSIKKworU1JDX1VSSSA9ICJodHRwOi8va3IuYXJjaGl2ZS51YnVudHUuY29tL3VidW50dS9wb29sL21haW4vai9qcXVlcnkvJHtCUE59XyR7UFZ9K2RlYmlhbi0xdWJ1bnR1MX51YnVudHUxMi4wNC4xX2FsbC5kZWI7c3ViZGlyPSR7QlB9IgorU1JDX1VSSVttZDVzdW1dID0gImZhNTExYWI2N2Y2ZTk2MGM1YjZkMzlhNGQ2NjVlNDdmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE5MGNhMThhNzFlMzVjOGFiMmJhNzNmZTViZTNjN2NjNjAxZmUyMGI0NTcwOWQ4MDExMTA4MThmMWI2MDJjYzEiCisKK0pRVUVSWURJUiA9ICIke2RhdGFkaXJ9L2phdmFzY3JpcHQvanF1ZXJ5IgorSlFVRVJZRE9DRElSID0gIiR7ZG9jZGlyfS9saWJqcy1qcXVlcnkiCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke0pRVUVSWURJUn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfSR7SlFVRVJZRElSfS9qcXVlcnkuanMgJHtEfSR7SlFVRVJZRElSfS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfSR7SlFVRVJZRElSfS9qcXVlcnkubWluLmpzICR7RH0ke0pRVUVSWURJUn0vCisKKyAgICBsbiAtc2YganF1ZXJ5Lm1pbi5qcyAke0R9JHtKUVVFUllESVJ9L2pxdWVyeS5saXRlLmpzCisgICAgbG4gLXNmIGpxdWVyeS5taW4uanMgJHtEfSR7SlFVRVJZRElSfS9qcXVlcnkucGFjay5qcworCisgICAgaW5zdGFsbCAtZCAtbSAwNjQ0ICR7RH0ke0pRVUVSWURPQ0RJUn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfSR7SlFVRVJZRE9DRElSfS9jb3B5cmlnaHQgJHtEfSR7SlFVRVJZRE9DRElSfS8KK30KKworRklMRVNfJHtQTn0gPSAiL3Vzci9zaGFyZS9qYXZhc2NyaXB0L2pxdWVyeSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlianMvbGlianMtc2l6emxlXzEuMTAuMTguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmpzL2xpYmpzLXNpenpsZV8xLjEwLjE4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyYWIzMWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmpzL2xpYmpzLXNpenpsZV8xLjEwLjE4LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiUHVyZS1KYXZhU2NyaXB0IENTUyBzZWxlY3RvciBlbmdpbmUiCitMSUNFTlNFID0gIkdQTC0yLjAgJiBNSVQgJiBBRkwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTUlULUxJQ0VOU0UudHh0O21kNT1lNDNhYTQzN2E2YTFiYTQyMTY1M2JkNTAzNDMzM2JmOSIKKworU1JDX1VSSSA9ICJodHRwOi8va3IuYXJjaGl2ZS51YnVudHUuY29tL3VidW50dS9wb29sL3VuaXZlcnNlL3Mvc2l6emxlL3NpenpsZV8xLjEwLjE4Lm9yaWcudGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjkxNDc3YzFlZGVlZjlmODEwMGZmZDZjNGQzMTcyNWI1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhlMDRhYjg0YmI3NGIyZTMzOGRmZmM2M2NkMmU1MmIwMDdmMWQ4YWYwMWIzZDI1ZGE0ZDJlMDdmMmI1ODkwZjgiCisKK1MgPSAiJHtXT1JLRElSfS9zaXp6bGUtJHtQVn0iCisKK1NJWlpMRURJUiA9ICIke1N9L2Rpc3QiCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0vJHtkYXRhZGlyfS9qYXZhc2NyaXB0L3NpenpsZS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTSVpaTEVESVJ9LyouanMgJHtEfS8ke2RhdGFkaXJ9L2phdmFzY3JpcHQvc2l6emxlLworfQorCitGSUxFU18ke1BOfSA9ICIke2RhdGFkaXJ9L2phdmFzY3JpcHQvc2l6emxlLyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibGluZWJyZWFrL2xpYmxpbmVicmVha18xLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmxpbmVicmVhay9saWJsaW5lYnJlYWtfMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNDYzYTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmxpbmVicmVhay9saWJsaW5lYnJlYWtfMS4yLmJiCkBAIC0wLDAgKzEsMTEgQEAKK0RFU0NSSVBUSU9OID0gIkxpYmxpbmVicmVhayBpcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgbGluZSBicmVha2luZyBhbGdvcml0aG0gYXMgZGVzY3JpYmVkIGluIFVuaWNvZGUgNS4xLjAgU3RhbmRhcmQgQW5uZXggMTQsIFJldmlzaW9uIDIyIgorSE9NRVBBR0UgPSAiaHR0cDovL3ZpbWdhZGdldHMuc291cmNlZm9yZ2UubmV0L2xpYmxpbmVicmVhay8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFO21kNT0zNzE1MTkxZGE2MmJhZmI1Y2ZjNGZmMzYxOTViMmVjMyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC92aW1nYWRnZXRzL2xpYmxpbmVicmVhay8ke1BWfS9saWJsaW5lYnJlYWstJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImQxODAzOTI1OTAwMWNjYjI0YjVkZDQ2NDhjNDljNWFkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjllZmNiMGNiMWFmYzc1YWQxZTkyZDJiMmRiZjRkOWM3N2IwNzJkNjY1NmM1ZjFhMTUwYWY4YjcxOGQwYzdiNzYiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm1jcnlwdC9saWJtY3J5cHRfMi41LjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm1jcnlwdC9saWJtY3J5cHRfMi41LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmExMzNjNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibWNyeXB0L2xpYm1jcnlwdF8yLjUuOC5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIlJlcGxhY2VtZW50IGZvciB0aGUgb2xkIGNyeXB0KCkgcGFja2FnZSBhbmQgY3J5cHQoMSkgY29tbWFuZCwgd2l0aCBleHRlbnNpb25zIgorSE9NRVBBR0UgPSAiaHR0cDovL21jcnlwdC5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT1iYmI0NjEyMTFhMzNiMTM0ZDQyZWQ1ZWU4MDJiMzdmZiIKK0RFUEVORFMgPSAibGlidG9vbCIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC9tY3J5cHQvTGlibWNyeXB0LyR7UFZ9L2xpYm1jcnlwdC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwODIxODMwZDkzMGE4NmE1YzY5MTEwODM3YzU1YjdkYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNGViNmMwNzRiYmFiMTY4YWM0N2I5NDdjMTk1ZmY4Y2VmOWQ1MWEyMTFjZGQxOGNhOWM5ZWYzNGQyN2EzNzNlIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgZ2V0dGV4dCBiaW5jb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibWljcm9odHRwZC9saWJtaWNyb2h0dHBkXzAuOS4zNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibWljcm9odHRwZC9saWJtaWNyb2h0dHBkXzAuOS4zNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGEwZjM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJtaWNyb2h0dHBkL2xpYm1pY3JvaHR0cGRfMC45LjM0LmJiCkBAIC0wLDAgKzEsMjcgQEAKK0RFU0NSSVBUSU9OID0gIkEgc21hbGwgQyBsaWJyYXJ5IHRoYXQgaXMgc3VwcG9zZWQgdG8gbWFrZSBpdCBlYXN5IHRvIHJ1biBhbiBIVFRQIHNlcnZlciBhcyBwYXJ0IG9mIGFub3RoZXIgYXBwbGljYXRpb24iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlibWljcm9odHRwZC8iCitMSUNFTlNFID0gIkxHUEwtMi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTkzMzExODZmNGY4MGRiN2RhMGU3MjRiZGQ2NTU0ZWU1IgorU0VDVElPTiA9ICJuZXQiCitERVBFTkRTID0gImxpYmdjcnlwdCBnbnV0bHMgZmlsZSIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdudS5vcmcvZ251L2xpYm1pY3JvaHR0cGQvJHtCUE59LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyOTQ3ZWVlMTNjMmM4YWZmYjk1MDIzYTBjYjZmZGEwYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyOWEyYmZkNGZkMmRkZjYwYzc1NmI4YzI4MzI5MWExMzQ4OThlM2NjMTQzODQzYmU0MjFhMDQwYmUxYjI1YTg4IgorCitpbmhlcml0IGF1dG90b29scyBsaWJfcGFja2FnZQorCisjIGRpc2FibGUgc3BkeSwgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIG9wZW5zc2wKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXN0YXRpYyAtLXdpdGgtZ251dGxzPSR7U1RBR0lOR19MSUJESVJ9Ly4uLyAtLWRpc2FibGUtc3BkeSIKKworUEFDS0FHRUNPTkZJRyA/PSAiY3VybCIKK1BBQ0tBR0VDT05GSUdfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICJcCisgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGFyZ2VmaWxlJywgJ2xhcmdlZmlsZScsICcnLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1tsYXJnZWZpbGVdID0gIi0tZW5hYmxlLWxhcmdlZmlsZSwtLWRpc2FibGUtbGFyZ2VmaWxlLCwiCitQQUNLQUdFQ09ORklHW2N1cmxdID0gIi0tZW5hYmxlLWN1cmwsLS1kaXNhYmxlLWN1cmwsY3VybCwiCisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworCXNlZCAtaSBzOi1MJHtTVEFHSU5HX0xJQkRJUn06OmcgbGlibWljcm9odHRwZC5wYworfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm9hdXRoL2xpYm9hdXRoXzEuMC4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJvYXV0aC9saWJvYXV0aF8xLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzExZGE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJvYXV0aC9saWJvYXV0aF8xLjAuMy5iYgpAQCAtMCwwICsxLDE2IEBACisjIENvcHlyaWdodCAoQykgMjAxNCBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCBmb3IgdGhlIHRlcm1zKQorCitERVNDUklQVElPTiA9ICJDIGxpYnJhcnkgaW1wbGVtZW50aW5nIE9BdXRoIENvcmUgUkZDIDU4NDkiCitIT01FUEFHRSA9ICJodHRwOi8vbGlib2F1dGguc291cmNlZm9yZ2UubmV0IgorTElDRU5TRSA9ICJNSVR8R1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTUlUO21kNT02MjY2NzE4YTUyNDFjMDQ1YzgwOTlkOWJlNDg4MTdkZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkdQTDttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gImN1cmwgb3BlbnNzbCIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC8ke0JQTn0vJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjY4OWI0NmMyYjNhYjFhMzk3MzVhYzMzZjcxNGM0ZjdmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBkZjYwMTU3YjA1MmYwZTc3NGFkZThhOGJhYzU5ZDZlOGQ0YjQ2NDA1OGNjNTVmOTIwOGQ3MmU0MTE1NjgxMWYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJvbC9saWJvbC9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm9sL2xpYm9sL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzY5NWZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJvbC9saWJvbC9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorSW5kZXg6IGxpYm9sLTAuMy4xOC9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJvbC0wLjMuMTgub3JpZy9jb25maWd1cmUuaW4JMjAwNi0wMy0yNyAxNDo0NDo1Mi4wMDAwMDAwMDAgKzAwMDAKKysrKyBsaWJvbC0wLjMuMTgvY29uZmlndXJlLmluCTIwMTQtMDctMTggMDc6MDU6NTYuMDI5NDgxMzcyICswMDAwCitAQCAtMSw3ICsxLDcgQEAKKyBkbmwgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvY29uZiB0byBwcm9kdWNlIGEgY29uZmlndXJlIHNjcmlwdC4KKy1BQ19JTklUKHNyYy9hYnN0cmFjdF9pby5jKQorK0FDX0lOSVQobGlib2wsICIwLjMuMTgiKQorIAorLUFNX0lOSVRfQVVUT01BS0UobGlib2wsICIwLjMuMTgiLCAxKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorIGlmIHRlc3QgLW4gIiRTTkFQU0hPVF9WRVJTSU9OIjsgdGhlbgorICAgICAgICAgVkVSU0lPTj0kVkVSU0lPTiskU05BUFNIT1RfVkVSU0lPTgorIGZpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm9sL2xpYm9sXzAuMy4xOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlib2wvbGlib2xfMC4zLjE4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzMWY0ODMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm9sL2xpYm9sXzAuMy4xOC5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkEgdGlueSBDIHN1cHBvcnQgbGlicmFyeSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jOTNjMDU1MGJkMzE3M2Y0NTA0YjJjYmQ4OTkxZTUwYiIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmJhbGFiaXQuY29tL2Rvd25sb2Fkcy9maWxlcy9saWJvbC8wLjMvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjYmFkZjRiN2VhMjc2ZGZhODVhY2MzOGExY2M1ZmYxNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZGUzYmYxMzI5N2ZmODgyZTAyYTFlNmU1ZjZiZjc2MGE1NDRhZmY5MmE5ZDhhMWNmNDMyOGEzMjAwNWNlZmU3IgorCitpbmhlcml0IGF1dG90b29scyBiaW5jb25maWcKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGluc3RhbGwgJHtTfS91dGlscy9tYWtlX2NsYXNzLmluICR7Qn0vdXRpbHMKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLWZyICR7RH0ke2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlicDExL2xpYnAxMV8wLjMuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlicDExL2xpYnAxMV8wLjMuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTdiZmM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJwMTEvbGlicDExXzAuMy4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgdXNpbmcgUEtDUyIKK0RFU0NSSVBUSU9OID0gIlwKK0xpYnAxMSBpcyBhIGxpYnJhcnkgaW1wbGVtZW50aW5nIGEgc21hbGwgbGF5ZXIgb24gdG9wIG9mIFBLQ1MgXAorbWFrZSB1c2luZyBQS0NTIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVuc2MtcHJvamVjdC5vcmcvbGlicDExIgorU0VDVElPTiA9ICJEZXZlbG9wbWVudC9MaWJyYXJpZXMiCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYWQ5YjMzMzJiZTg5NGJhYjliYzUwMTU3Mjg2NGIyOSIKK0RFUEVORFMgPSAibGlidG9vbCBvcGVuc3NsIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vT3BlblNDL2xpYnAxMS5naXQ7cHJvdG9jb2w9aHR0cCIKK1NSQ1JFViA9ICI2ZjcxMjQwOTkxYWE4MzFmNmZjMmNjNTQzMWZhZjZlYmVjNjI3ZWQyIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1zdGF0aWMiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBybSAtcmYgJHtEfSR7bGliZGlyfS8qLmxhCisgICAgcm0gLXJmICR7RH0ke2RvY2Rpcn0vJHtCUE59Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnJhdzEzOTQvbGlicmF3MTM5NF8yLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlicmF3MTM5NC9saWJyYXcxMzk0XzIuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMTgyOWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnJhdzEzOTQvbGlicmF3MTM5NF8yLjEuMC5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gImJhc2UgbGlicmFyeSBmb3IgbG93LWxldmVsIElFRUUgMTM5NCBhY2Nlc3NlcyIKK0hPTUVQQUdFID0gImh0dHBzOi8vaWVlZTEzOTQud2lraS5rZXJuZWwub3JnL2luZGV4LnBocC9MaWJyYXJpZXMjbGlicmF3MTM5NCIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTC0yLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZDgwNDVmM2I4ZjkyOWMxY2IyOWExZTNmZDczN2I0OTkiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvbGlicy9pZWVlMTM5NC8ke0JQTn0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImQwNmNjY2I3NzZiMjQwYjZhYjVlZmRlZTMzYjg3YWYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE4M2NmZjE2ZmI4ODg1ODMxYmMyOWQ3ZDE3ZjNjNTcwZGMzOTI1MWQ4OWUyMDc5NWMwOGU4NzcyMGRlMGJhNzAiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNkbC10dGYvZmlsZXMvdXNlLnBrZy1jb25maWcuZm9yLmZyZWV0eXBlMi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic2RsLXR0Zi9maWxlcy91c2UucGtnLWNvbmZpZy5mb3IuZnJlZXR5cGUyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhMTFmNjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNkbC10dGYvZmlsZXMvdXNlLnBrZy1jb25maWcuZm9yLmZyZWV0eXBlMi5wYXRjaApAQCAtMCwwICsxLDU3IEBACitmcmVldHlwZS1jb25maWcgd2FzIHJlbW92ZWQgZnJvbSBvZS1jb3JlIGluCisKK2NvbW1pdCA1ODcwYmQyNzJiMGIwNzdkMDgyNmZiOTAwYjI1MTg4NGMxYzA1MDYxCitBdXRob3I6IFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPgorRGF0ZTogICBUaHUgTWF5IDIyIDEwOjU5OjMzIDIwMTQgKzAxMDAKKworICAgIGJpbmNvbmZpZy1kaXNhYmxlZDogQWRkIGNsYXNzIGFuZCB1c2UKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggNDA4ZThkNi4uNWY5ZTczMCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtODYsMzkgKzg2LDExIEBAIGNhc2UgIiRob3N0IiBpbgorIGVzYWMKKyBBTV9DT05ESVRJT05BTChVU0VfVkVSU0lPTl9SQywgdGVzdCB4JHVzZV92ZXJzaW9uX3JjID0geHRydWUpCisgCistZG5sIENoZWNrIGZvciB0aGUgRnJlZVR5cGUgMiBsaWJyYXJ5CistZG5sCistZG5sIEdldCB0aGUgY2ZsYWdzIGFuZCBsaWJyYXJpZXMgZnJvbSB0aGUgZnJlZXR5cGUtY29uZmlnIHNjcmlwdAorLWRubAorLUFDX0FSR19XSVRIKGZyZWV0eXBlLXByZWZpeCxbICAtLXdpdGgtZnJlZXR5cGUtcHJlZml4PVBGWCAgIFByZWZpeCB3aGVyZSBGUkVFVFlQRSBpcyAKKy1pbnN0YWxsZWQgKG9wdGlvbmFsKV0sCistICAgICAgICAgICAgZnJlZXR5cGVfcHJlZml4PSIkd2l0aHZhbCIsIGZyZWV0eXBlX3ByZWZpeD0iIikKKy1BQ19BUkdfV0lUSChmcmVldHlwZS1leGVjLXByZWZpeCxbICAtLXdpdGgtZnJlZXR5cGUtZXhlYy1wcmVmaXg9UEZYIEV4ZWMgcHJlZml4IAorLXdoZXJlIEZSRUVUWVBFIGlzIGluc3RhbGxlZCAob3B0aW9uYWwpXSwKKy0gICAgICAgICAgICBmcmVldHlwZV9leGVjX3ByZWZpeD0iJHdpdGh2YWwiLCBmcmVldHlwZV9leGVjX3ByZWZpeD0iIikKKy0KKy1pZiB0ZXN0IHgkZnJlZXR5cGVfZXhlY19wcmVmaXggIT0geCA7IHRoZW4KKy0gICAgIGZyZWV0eXBlX2FyZ3M9IiRmcmVldHlwZV9hcmdzIC0tZXhlYy1wcmVmaXg9JGZyZWV0eXBlX2V4ZWNfcHJlZml4IgorLSAgICAgaWYgdGVzdCB4JHtGUkVFVFlQRV9DT05GSUcrc2V0fSAhPSB4c2V0IDsgdGhlbgorLSAgICAgICAgRlJFRVRZUEVfQ09ORklHPSRmcmVldHlwZV9leGVjX3ByZWZpeC9iaW4vZnJlZXR5cGUtY29uZmlnCistICAgICBmaQorLWZpCistaWYgdGVzdCB4JGZyZWV0eXBlX3ByZWZpeCAhPSB4IDsgdGhlbgorLSAgICAgZnJlZXR5cGVfYXJncz0iJGZyZWV0eXBlX2FyZ3MgLS1wcmVmaXg9JGZyZWV0eXBlX3ByZWZpeCIKKy0gICAgIGlmIHRlc3QgeCR7RlJFRVRZUEVfQ09ORklHK3NldH0gIT0geHNldCA7IHRoZW4KKy0gICAgICAgIEZSRUVUWVBFX0NPTkZJRz0kZnJlZXR5cGVfcHJlZml4L2Jpbi9mcmVldHlwZS1jb25maWcKKy0gICAgIGZpCistZmkKKy1BQ19QQVRIX1BST0coRlJFRVRZUEVfQ09ORklHLCBmcmVldHlwZS1jb25maWcsIG5vKQorLW5vX2ZyZWV0eXBlPSIiCistaWYgdGVzdCAiJEZSRUVUWVBFX0NPTkZJRyIgPSAibm8iIDsgdGhlbgorLSAgICBBQ19NU0dfRVJST1IoWworLSoqKiBVbmFibGUgdG8gZmluZCBGcmVlVHlwZTIgbGlicmFyeSAoaHR0cDovL3d3dy5mcmVldHlwZS5vcmcvKQorLV0pCistZWxzZQorLSAgICBDRkxBR1M9IiRDRkxBR1MgYCRGUkVFVFlQRV9DT05GSUcgJGZyZWV0eXBlY29uZl9hcmdzIC0tY2ZsYWdzYCIKKy0gICAgTElCUz0iJExJQlMgYCRGUkVFVFlQRV9DT05GSUcgJGZyZWV0eXBlY29uZl9hcmdzIC0tbGlic2AiCistZmkKKytQS0dfQ0hFQ0tfTU9EVUxFUyhGUkVFVFlQRTIsIGZyZWV0eXBlMiwgCisrICAgIENGTEFHUz0iJENGTEFHUyAkRlJFRVRZUEUyX0NGTEFHUyIKKysgICAgTElCUz0iJExJQlMgJEZSRUVUWVBFMl9MSUJTIiwKKysgICAgQUNfTVNHX0VSUk9SKFsqKiogVW5hYmxlIHRvIGZpbmQgRnJlZVR5cGUyIGxpYnJhcnkgKGh0dHA6Ly93d3cuZnJlZXR5cGUub3JnLyldKQorKykKKyAKKyBkbmwgQ2hlY2sgZm9yIFNETAorIFNETF9WRVJTSU9OPTIuMC4wCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNkbC10dGYvbGlic2RsLXR0Zl8yLjAuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNkbC10dGYvbGlic2RsLXR0Zl8yLjAuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDI0OWFiZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic2RsLXR0Zi9saWJzZGwtdHRmXzIuMC4xMS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIlNpbXBsZSBEaXJlY3RNZWRpYSBMYXllciB0cnVldHlwZSBmb250IGxpYnJhcnkiCitTRUNUSU9OID0gImxpYnMiCitERVBFTkRTID0gInZpcnR1YWwvbGlic2RsIGZyZWV0eXBlIgorTElDRU5TRSA9ICJabGliIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjI4MDBkMWIzNzAxMzc3YWFlMGI2MWVlMzZmNWMzMDMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJzZGwub3JnL3Byb2plY3RzL1NETF90dGYvcmVsZWFzZS9TRExfdHRmLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly91c2UucGtnLWNvbmZpZy5mb3IuZnJlZXR5cGUyLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MWUyOWJkOWRhOGQyNDViYzI0NzFkMWIyY2U1OTFhYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3MjRjZDg5NWVjZjRkYTMxOWEzZWYxNjQ4OTJiNzIwNzhiZDkyNjMyYTVkODEyMTExMjYxY2RlMjQ4ZWJjZGI3IgorCitTID0gIiR7V09SS0RJUn0vU0RMX3R0Zi0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyBtYWtlIGF1dG9yZWNvbmYgaGFwcHkKKyAgICB0b3VjaCAke1N9L05FV1MgJHtTfS9BVVRIT1JTICR7U30vQ2hhbmdlTG9nCisKKyAgICAjIFJlbW92aW5nIHRoZXNlIGZpbGVzIGZpeGVzIGEgbGlidG9vbCB2ZXJzaW9uIG1pc21hdGNoLgorICAgIE1BQ1JPUz0ibGlidG9vbC5tNCBsdH5vYnNvbGV0ZS5tNCBsdG9wdGlvbnMubTQgbHRzdWdhci5tNCBsdHZlcnNpb24ubTQiCisKKyAgICBmb3IgaSBpbiAke01BQ1JPU307IGRvCisgICAgICAgIHJtIC1mICR7U30vYWNpbmNsdWRlLyRpCisgICAgZG9uZQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzZGwtdHRmL2xpYnNkbDItdHRmXzIuMC4xNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic2RsLXR0Zi9saWJzZGwyLXR0Zl8yLjAuMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWY1YTU1YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic2RsLXR0Zi9saWJzZGwyLXR0Zl8yLjAuMTQuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJTaW1wbGUgRGlyZWN0TWVkaWEgTGF5ZXIgdHJ1ZXR5cGUgZm9udCBsaWJyYXJ5IgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYnNkbDIgZnJlZXR5cGUiCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLnR4dDttZDU9Y2IzM2U3YzRkZjlmYmRlMzg5ZjE0OWFkNmJjOTNjZTUiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vd3d3LmxpYnNkbC5vcmcvcHJvamVjdHMvU0RMX3R0Zi9yZWxlYXNlL1NETDJfdHRmLSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovL3VzZS5wa2ctY29uZmlnLmZvci5mcmVldHlwZTIucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImU1M2MwNWUxZTdmMTM4MmMzMTZhZmQ2Yzc2MzM4OGIxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM0ZGI1ZTIwYmNmNjRlNzA3MWZlOWFlMjVhY2FhN2Q3MmJkYzRmMTFhYjNjZTU5YWNjNzY4YWI2MmZlMzkyNzYiCisKK1MgPSAiJHtXT1JLRElSfS9TREwyX3R0Zi0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgdG91Y2ggJHtTfS9ORVdTICR7U30vUkVBRE1FICR7U30vQVVUSE9SUyAke1N9L0NoYW5nZUxvZworCisgICAgIyBSZW1vdmluZyB0aGVzZSBmaWxlcyBmaXhlcyBhIGxpYnRvb2wgdmVyc2lvbiBtaXNtYXRjaC4KKyAgICBNQUNST1M9ImxpYnRvb2wubTQgbHR+b2Jzb2xldGUubTQgbHRvcHRpb25zLm00IGx0c3VnYXIubTQgbHR2ZXJzaW9uLm00IgorCisgICAgZm9yIGkgaW4gJHtNQUNST1N9OyBkbworICAgICAgICBybSAtZiAke1N9L2FjaW5jbHVkZS8kaQorICAgIGRvbmUKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic21pL2xpYnNtaS9saWJzbWktZml4LXRoZS10ZXN0LWR1bXAtZmlsZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNtaS9saWJzbWkvbGlic21pLWZpeC10aGUtdGVzdC1kdW1wLWZpbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNGE4YmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNtaS9saWJzbWkvbGlic21pLWZpeC10aGUtdGVzdC1kdW1wLWZpbGVzLnBhdGNoCkBAIC0wLDAgKzEsMjc3IEBACitGcm9tIDQ2MGQzYTVlZjQ1MGMzMGIzNGE2NjNhMDczZWU1MzMyOTQ0MWVmNmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyMyBGZWIgMjAxNiAxNjozNDozOCArMDgwMAorU3ViamVjdDogW1BBVENIXSBsaWJzbWk6IGZpeCB0aGUgdGVzdCBkdW1wIGZpbGVzCisKK1RoZXNlIHRlc3QgZHVtcCBmaWxlcyB3ZXJlIGdlbmVyYXRlZCBieSBzbWlkdW1wIDAuNC41Cit3aGljaCB3b3VsZCBub3QgbWF0Y2ggd2l0aCB0aGUgb25lcyBnZW5lcmF0ZWQgYnkgMC40LjgsCitzbyB1cGRhdGUgdGhlbSB3aXRoIHRoZSBvbmVzIGZvciAwLjQuOC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyB0ZXN0L2R1bXBzL2NtL01BVS1NSUIgICAgICAgfCAgOCArKysrLS0tLQorIHRlc3QvZHVtcHMvY20vUk1PTjItTUlCICAgICB8ICA2ICsrKy0tLQorIHRlc3QvZHVtcHMvc21pbmcvSUYtTUlCICAgICB8IDIyICsrKysrKysrKysrKystLS0tLS0tLS0KKyB0ZXN0L2R1bXBzL3NtaW5nL01BVS1NSUIgICAgfCAxOSArKysrKysrKysrKy0tLS0tLS0tCisgdGVzdC9kdW1wcy9zbWluZy9STU9OMi1NSUIgIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQorIHRlc3QvZHVtcHMvc21pbmcvU05NUHYyLU1JQiB8IDExICsrKysrKystLS0tCisgNiBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA0NCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3QvZHVtcHMvY20vTUFVLU1JQiBiL3Rlc3QvZHVtcHMvY20vTUFVLU1JQgoraW5kZXggMGQ5NzI4NC4uMGNmZDRlMSAxMDA2NDQKKy0tLSBhL3Rlc3QvZHVtcHMvY20vTUFVLU1JQgorKysrIGIvdGVzdC9kdW1wcy9jbS9NQVUtTUlCCitAQCAtNTMsNyArNTMsNyBAQAorICAgPGF0dHJpYnV0ZSBuYW1lPSJ0ZXh0Ij4KKyAgICAgPGNvbXBvc2l0ZSB0eXBlPSJ0ZXh0Ij4KKyAgICAgICA8YXR0cmlidXRlIG5hbWU9InN0cmluZyI+CistICAgICAgICA8c3RyaW5nPiNDb25jZXB0dWFsIG1vZGVsIG9mIE1BVS1NSUIgLSBnZW5lcmF0ZWQgYnkgc21pZHVtcCAwLjQuNSM8L3N0cmluZz4KKysgICAgICAgIDxzdHJpbmc+I0NvbmNlcHR1YWwgbW9kZWwgb2YgTUFVLU1JQiAtIGdlbmVyYXRlZCBieSBzbWlkdW1wIDAuNC44Izwvc3RyaW5nPgorICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZm9udCI+CisgICAgICAgICA8Zm9udCBuYW1lPSJDb3VyaWVyIi8+CitAQCAtMTI5NCw3ICsxMjk0LDcgQEAKKyAgICAgICAgIDxwb2ludCB2YWw9IjI5LjUyLDQ5LjE4Ii8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICA8YXR0cmlidXRlIG5hbWU9Im9ial9iYiI+CistICAgICAgIDxyZWN0YW5nbGUgdmFsPSIyOC42NywzMi45MzszMC4zNywzNC42MyIvPgorKyAgICAgICA8cmVjdGFuZ2xlIHZhbD0iMjguNjcsMzIuOTM7MzAuMzcsMzQuNjIiLz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvcnRoX3BvaW50cyI+CisgICAgICAgIDxwb2ludCB2YWw9IjI5LjUyLDQ5LjE4Ii8+CitAQCAtMTY3OCw3ICsxNjc4LDcgQEAKKyAgICAgICAgIDxwb2ludCB2YWw9IjM3LjY4LDQ5LjE4Ii8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICA8YXR0cmlidXRlIG5hbWU9Im9ial9iYiI+CistICAgICAgIDxyZWN0YW5nbGUgdmFsPSIyOC42NywzMi45MzszMC4zNywzNC42MyIvPgorKyAgICAgICA8cmVjdGFuZ2xlIHZhbD0iMjguNjcsMzIuOTM7MzAuMzcsMzQuNjIiLz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvcnRoX3BvaW50cyI+CisgICAgICAgIDxwb2ludCB2YWw9IjM3LjY4LDQ5LjE4Ii8+CitAQCAtMTczNyw3ICsxNzM3LDcgQEAKKyAgICAgICAgIDxwb2ludCB2YWw9IjI5LjUyLDM1Ljc4Ii8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICA8YXR0cmlidXRlIG5hbWU9Im9ial9iYiI+CistICAgICAgIDxyZWN0YW5nbGUgdmFsPSIyOC42NywzMi45MzszMC4zNywzNC42MyIvPgorKyAgICAgICA8cmVjdGFuZ2xlIHZhbD0iMjguNjcsMzIuOTM7MzAuMzcsMzQuNjIiLz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvcnRoX3BvaW50cyI+CisgICAgICAgIDxwb2ludCB2YWw9IjI5LjUyLDM1Ljc4Ii8+CitkaWZmIC0tZ2l0IGEvdGVzdC9kdW1wcy9jbS9STU9OMi1NSUIgYi90ZXN0L2R1bXBzL2NtL1JNT04yLU1JQgoraW5kZXggMzBhZThkZC4uMWI5ZDI2OCAxMDA2NDQKKy0tLSBhL3Rlc3QvZHVtcHMvY20vUk1PTjItTUlCCisrKysgYi90ZXN0L2R1bXBzL2NtL1JNT04yLU1JQgorQEAgLTUzLDcgKzUzLDcgQEAKKyAgIDxhdHRyaWJ1dGUgbmFtZT0idGV4dCI+CisgICAgIDxjb21wb3NpdGUgdHlwZT0idGV4dCI+CisgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJzdHJpbmciPgorLSAgICAgICAgPHN0cmluZz4jQ29uY2VwdHVhbCBtb2RlbCBvZiBSTU9OMi1NSUIgLSBnZW5lcmF0ZWQgYnkgc21pZHVtcCAwLjQuNSM8L3N0cmluZz4KKysgICAgICAgIDxzdHJpbmc+I0NvbmNlcHR1YWwgbW9kZWwgb2YgUk1PTjItTUlCIC0gZ2VuZXJhdGVkIGJ5IHNtaWR1bXAgMC40LjgjPC9zdHJpbmc+CisgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJmb250Ij4KKyAgICAgICAgIDxmb250IG5hbWU9IkNvdXJpZXIiLz4KK0BAIC0yODQxLDggKzI4NDEsOCBAQAorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8YXR0cmlidXRlIG5hbWU9Im9ydGhfcG9pbnRzIj4KKyAgICAgICAgPHBvaW50IHZhbD0iMTguODAsNTUuNDUiLz4KKy0gICAgICAgPHBvaW50IHZhbD0iMTguODAsNjguNjMiLz4KKy0gICAgICAgPHBvaW50IHZhbD0iMjIuODAsNjguNjMiLz4KKysgICAgICAgPHBvaW50IHZhbD0iMTguODAsNjguNjIiLz4KKysgICAgICAgPHBvaW50IHZhbD0iMjIuODAsNjguNjIiLz4KKyAgICAgICAgPHBvaW50IHZhbD0iMjIuODAsODEuODAiLz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ib3J0aF9vcmllbnQiPgorZGlmZiAtLWdpdCBhL3Rlc3QvZHVtcHMvc21pbmcvSUYtTUlCIGIvdGVzdC9kdW1wcy9zbWluZy9JRi1NSUIKK2luZGV4IDIxNDMyY2IuLmMyZmZjMDYgMTAwNjQ0CistLS0gYS90ZXN0L2R1bXBzL3NtaW5nL0lGLU1JQgorKysrIGIvdGVzdC9kdW1wcy9zbWluZy9JRi1NSUIKK0BAIC0xLDE2ICsxLDE4IEBACisgLy8KKy0vLyBUaGlzIG1vZHVsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgc21pZHVtcCAwLjQuNS4gRG8gbm90IGVkaXQuCisrLy8gVGhpcyBtb2R1bGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHNtaWR1bXAgMC40LjguIERvIG5vdCBlZGl0LgorIC8vCisgbW9kdWxlIElGLU1JQiB7CisgCistICBpbXBvcnQgSUFOQWlmVHlwZS1NSUIgICAgICAgKElBTkFpZlR5cGUpOworLSAgaW1wb3J0IElSVEYtTk1SRy1TTUlORyAgICAgIChDb3VudGVyMzIsIENvdW50ZXI2NCwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXlTdHJpbmcyNTUsIEdhdWdlMzIsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQaHlzQWRkcmVzcywgVGltZVN0YW1wLCBUaW1lVGlja3MsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcnV0aFZhbHVlKTsKKy0gIGltcG9ydCBJUlRGLU5NUkctU01JTkctU05NUCAoQXV0b25vbW91c1R5cGUsIFJvd1N0YXR1cywgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlc3RBbmRJbmNyLCBtaWItMik7CistICBpbXBvcnQgU05NUHYyLU1JQiAgICAgICAgICAgKHNubXBUcmFwcyk7CisrICBpbXBvcnQgU05NUHYyLVNNSSAgICAgKE1PRFVMRS1JREVOVElUWSwgT0JKRUNULVRZUEUsIENvdW50ZXIzMiwgCisrICAgICAgICAgICAgICAgICAgICAgICAgIEdhdWdlMzIsIENvdW50ZXI2NCwgSW50ZWdlcjMyLCBUaW1lVGlja3MsIAorKyAgICAgICAgICAgICAgICAgICAgICAgICBtaWItMiwgTk9USUZJQ0FUSU9OLVRZUEUpOworKyAgaW1wb3J0IFNOTVB2Mi1UQyAgICAgIChURVhUVUFMLUNPTlZFTlRJT04sIERpc3BsYXlTdHJpbmcsIAorKyAgICAgICAgICAgICAgICAgICAgICAgICBQaHlzQWRkcmVzcywgVHJ1dGhWYWx1ZSwgUm93U3RhdHVzLCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgVGltZVN0YW1wLCBBdXRvbm9tb3VzVHlwZSwgVGVzdEFuZEluY3IpOworKyAgaW1wb3J0IFNOTVB2Mi1DT05GICAgIChNT0RVTEUtQ09NUExJQU5DRSwgT0JKRUNULUdST1VQLCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgTk9USUZJQ0FUSU9OLUdST1VQKTsKKysgIGltcG9ydCBTTk1QdjItTUlCICAgICAoc25tcFRyYXBzKTsKKysgIGltcG9ydCBJQU5BaWZUeXBlLU1JQiAoSUFOQWlmVHlwZSk7CisgCisgLy8KKyAvLyBNT0RVTEUgTUVUQSBJTkZPUk1BVElPTgorQEAgLTc5LDYgKzgxLDcgQEAgbW9kdWxlIElGLU1JQiB7CisgICB0eXBlZGVmIEludGVyZmFjZUluZGV4IHsKKyAgICAgdHlwZSAgICAgICAgICAgIEludGVnZXIzMiAoMS4uMjE0NzQ4MzY0Nyk7CisgICAgIGZvcm1hdCAgICAgICAgICAiZCI7CisrICAgIHN0YXR1cyAgICAgICAgICBjdXJyZW50OworICAgICBkZXNjcmlwdGlvbiAgICAgCisgICAgICAgICJBIHVuaXF1ZSB2YWx1ZSwgZ3JlYXRlciB0aGFuIHplcm8sIGZvciBlYWNoIGludGVyZmFjZSBvcgorICAgICAgICAgaW50ZXJmYWNlIHN1Yi1sYXllciBpbiB0aGUgbWFuYWdlZCBzeXN0ZW0uICBJdCBpcworQEAgLTkxLDYgKzk0LDcgQEAgbW9kdWxlIElGLU1JQiB7CisgICB0eXBlZGVmIEludGVyZmFjZUluZGV4T3JaZXJvIHsKKyAgICAgdHlwZSAgICAgICAgICAgIEludGVnZXIzMiAoMC4uMjE0NzQ4MzY0Nyk7CisgICAgIGZvcm1hdCAgICAgICAgICAiZCI7CisrICAgIHN0YXR1cyAgICAgICAgICBjdXJyZW50OworICAgICBkZXNjcmlwdGlvbiAgICAgCisgICAgICAgICJUaGlzIHRleHR1YWwgY29udmVudGlvbiBpcyBhbiBleHRlbnNpb24gb2YgdGhlCisgICAgICAgICBJbnRlcmZhY2VJbmRleCBjb252ZW50aW9uLiAgVGhlIGxhdHRlciBkZWZpbmVzIGEgZ3JlYXRlcgorZGlmZiAtLWdpdCBhL3Rlc3QvZHVtcHMvc21pbmcvTUFVLU1JQiBiL3Rlc3QvZHVtcHMvc21pbmcvTUFVLU1JQgoraW5kZXggMmNmZmQ5OS4uNjRjZjcxNCAxMDA2NDQKKy0tLSBhL3Rlc3QvZHVtcHMvc21pbmcvTUFVLU1JQgorKysrIGIvdGVzdC9kdW1wcy9zbWluZy9NQVUtTUlCCitAQCAtMSwxNSArMSwxOCBAQAorIC8vCistLy8gVGhpcyBtb2R1bGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHNtaWR1bXAgMC40LjUuIERvIG5vdCBlZGl0LgorKy8vIFRoaXMgbW9kdWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBzbWlkdW1wIDAuNC44LiBEbyBub3QgZWRpdC4KKyAvLworIG1vZHVsZSBNQVUtTUlCIHsKKyAKKy0gIGltcG9ydCBJQU5BLU1BVS1NSUIgICAgICAgICAoSUFOQWlmSmFja1R5cGUsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJQU5BaWZNYXVBdXRvTmVnQ2FwQml0cywgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElBTkFpZk1hdU1lZGlhQXZhaWxhYmxlLCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUFOQWlmTWF1VHlwZUxpc3RCaXRzKTsKKy0gIGltcG9ydCBJRi1NSUIgICAgICAgICAgICAgICAoSW50ZXJmYWNlSW5kZXgpOworLSAgaW1wb3J0IElSVEYtTk1SRy1TTUlORyAgICAgIChDb3VudGVyMzIsIENvdW50ZXI2NCwgVHJ1dGhWYWx1ZSk7CistICBpbXBvcnQgSVJURi1OTVJHLVNNSU5HLVNOTVAgKEF1dG9ub21vdXNUeXBlLCBtaWItMik7CisrICBpbXBvcnQgU05NUHYyLVNNSSAgIChDb3VudGVyMzIsIEludGVnZXIzMiwgQ291bnRlcjY0LCBPQkpFQ1QtVFlQRSwgCisrICAgICAgICAgICAgICAgICAgICAgICBNT0RVTEUtSURFTlRJVFksIE5PVElGSUNBVElPTi1UWVBFLCBtaWItMik7CisrICBpbXBvcnQgU05NUHYyLVRDICAgIChUcnV0aFZhbHVlLCBBdXRvbm9tb3VzVHlwZSwgCisrICAgICAgICAgICAgICAgICAgICAgICBURVhUVUFMLUNPTlZFTlRJT04pOworKyAgaW1wb3J0IFNOTVB2Mi1DT05GICAoT0JKRUNULUdST1VQLCBNT0RVTEUtQ09NUExJQU5DRSwgCisrICAgICAgICAgICAgICAgICAgICAgICBOT1RJRklDQVRJT04tR1JPVVApOworKyAgaW1wb3J0IElGLU1JQiAgICAgICAoSW50ZXJmYWNlSW5kZXgpOworKyAgaW1wb3J0IElBTkEtTUFVLU1JQiAoSUFOQWlmTWF1VHlwZUxpc3RCaXRzLCAKKysgICAgICAgICAgICAgICAgICAgICAgIElBTkFpZk1hdU1lZGlhQXZhaWxhYmxlLCAKKysgICAgICAgICAgICAgICAgICAgICAgIElBTkFpZk1hdUF1dG9OZWdDYXBCaXRzLCBJQU5BaWZKYWNrVHlwZSk7CisgCisgLy8KKyAvLyBNT0RVTEUgTUVUQSBJTkZPUk1BVElPTgorZGlmZiAtLWdpdCBhL3Rlc3QvZHVtcHMvc21pbmcvUk1PTjItTUlCIGIvdGVzdC9kdW1wcy9zbWluZy9STU9OMi1NSUIKK2luZGV4IDQyM2I5YmMuLjA0NzYzZTUgMTAwNjQ0CistLS0gYS90ZXN0L2R1bXBzL3NtaW5nL1JNT04yLU1JQgorKysrIGIvdGVzdC9kdW1wcy9zbWluZy9STU9OMi1NSUIKK0BAIC0xLDIzICsxLDI2IEBACisgLy8KKy0vLyBUaGlzIG1vZHVsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgc21pZHVtcCAwLjQuNS4gRG8gbm90IGVkaXQuCisrLy8gVGhpcyBtb2R1bGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHNtaWR1bXAgMC40LjguIERvIG5vdCBlZGl0LgorIC8vCisgbW9kdWxlIFJNT04yLU1JQiB7CisgCistICBpbXBvcnQgSUYtTUlCICAgICAgICAgICAgICAgKGlmSW5kZXgpOworLSAgaW1wb3J0IElSVEYtTk1SRy1TTUlORyAgICAgIChDb3VudGVyMzIsIERpc3BsYXlTdHJpbmcyNTUsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHYXVnZTMyLCBJcEFkZHJlc3MsIFRpbWVTdGFtcCwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVUaWNrcyk7CistICBpbXBvcnQgSVJURi1OTVJHLVNNSU5HLVNOTVAgKFJvd1N0YXR1cywgbWliLTIpOworLSAgaW1wb3J0IFJNT04tTUlCICAgICAgICAgICAgIChPd25lclN0cmluZywgY2hhbm5lbEVudHJ5LCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXRoZXJTdGF0c0VudHJ5LCBmaWx0ZXIsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJFbnRyeSwgaGlzdG9yeSwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpc3RvcnlDb250cm9sRW50cnksIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0Q29udHJvbEVudHJ5LCBob3N0cywgbWF0cml4LCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0cml4Q29udHJvbEVudHJ5LCBzdGF0aXN0aWNzKTsKKy0gIGltcG9ydCBUT0tFTi1SSU5HLVJNT04tTUlCICAocmluZ1N0YXRpb25Db250cm9sRW50cnksIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VSb3V0aW5nU3RhdHNFbnRyeSwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuUmluZywgdG9rZW5SaW5nTUxTdGF0c0VudHJ5LCAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5SaW5nUFN0YXRzRW50cnkpOworKyAgaW1wb3J0IFNOTVB2Mi1TTUkgICAgICAgICAgKE1PRFVMRS1JREVOVElUWSwgT0JKRUNULVRZUEUsIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvdW50ZXIzMiwgSW50ZWdlcjMyLCBHYXVnZTMyLCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJcEFkZHJlc3MsIFRpbWVUaWNrcywgbWliLTIpOworKyAgaW1wb3J0IFNOTVB2Mi1UQyAgICAgICAgICAgKFRFWFRVQUwtQ09OVkVOVElPTiwgUm93U3RhdHVzLCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5U3RyaW5nLCBUaW1lU3RhbXApOworKyAgaW1wb3J0IFNOTVB2Mi1DT05GICAgICAgICAgKE1PRFVMRS1DT01QTElBTkNFLCBPQkpFQ1QtR1JPVVApOworKyAgaW1wb3J0IElGLU1JQiAgICAgICAgICAgICAgKGlmSW5kZXgpOworKyAgaW1wb3J0IFJNT04tTUlCICAgICAgICAgICAgKE93bmVyU3RyaW5nLCBzdGF0aXN0aWNzLCBoaXN0b3J5LCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0cywgbWF0cml4LCBmaWx0ZXIsIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV0aGVyU3RhdHNFbnRyeSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlzdG9yeUNvbnRyb2xFbnRyeSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdENvbnRyb2xFbnRyeSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0cml4Q29udHJvbEVudHJ5LCBmaWx0ZXJFbnRyeSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbm5lbEVudHJ5KTsKKysgIGltcG9ydCBUT0tFTi1SSU5HLVJNT04tTUlCICh0b2tlblJpbmcsIHRva2VuUmluZ01MU3RhdHNFbnRyeSwgCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5SaW5nUFN0YXRzRW50cnksIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpbmdTdGF0aW9uQ29udHJvbEVudHJ5LCAKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VSb3V0aW5nU3RhdHNFbnRyeSk7CisgCisgLy8KKyAvLyBNT0RVTEUgTUVUQSBJTkZPUk1BVElPTgorQEAgLTE2Nyw2ICsxNzAsNyBAQCBtb2R1bGUgUk1PTjItTUlCIHsKKyAKKyAgIHR5cGVkZWYgWmVyb0Jhc2VkQ291bnRlcjMyIHsKKyAgICAgdHlwZSAgICAgICAgICAgIEdhdWdlMzI7CisrICAgIHN0YXR1cyAgICAgICAgICBjdXJyZW50OworICAgICBkZXNjcmlwdGlvbiAgICAgCisgICAgICAgICJUaGlzIFRDIGRlc2NyaWJlcyBhbiBvYmplY3QgdGhhdCBjb3VudHMgZXZlbnRzIHdpdGggdGhlCisgICAgICAgICBmb2xsb3dpbmcgc2VtYW50aWNzOiBvYmplY3RzIG9mIHRoaXMgdHlwZSB3aWxsIGJlIHNldCB0bworQEAgLTE4OCw2ICsxOTIsNyBAQCBtb2R1bGUgUk1PTjItTUlCIHsKKyAKKyAgIHR5cGVkZWYgTGFzdENyZWF0ZVRpbWUgeworICAgICB0eXBlICAgICAgICAgICAgVGltZVRpY2tzOworKyAgICBzdGF0dXMgICAgICAgICAgY3VycmVudDsKKyAgICAgZGVzY3JpcHRpb24gICAgIAorICAgICAgICAiVGhpcyBUQyBkZXNjcmliZXMgYW4gb2JqZWN0IHRoYXQgc3RvcmVzIHRoZSB2YWx1ZSBvZiB0aGUKKyAgICAgICAgIHN5c1VwVGltZSBvYmplY3QgYXQgdGhlIGxhc3QgdGltZSBpdHMgZW50cnkgd2FzIGNyZWF0ZWQuCitAQCAtMjA4LDYgKzIxMyw3IEBAIG1vZHVsZSBSTU9OMi1NSUIgeworIAorICAgdHlwZWRlZiBUaW1lRmlsdGVyIHsKKyAgICAgdHlwZSAgICAgICAgICAgIFRpbWVUaWNrczsKKysgICAgc3RhdHVzICAgICAgICAgIGN1cnJlbnQ7CisgICAgIGRlc2NyaXB0aW9uICAgICAKKyAgICAgICAgIlRvIGJlIHVzZWQgZm9yIHRoZSBpbmRleCB0byBhIHRhYmxlLiAgQWxsb3dzIGFuIGFwcGxpY2F0aW9uCisgICAgICAgICB0byBkb3dubG9hZCBvbmx5IHRob3NlIHJvd3MgY2hhbmdlZCBzaW5jZSBhIHBhcnRpY3VsYXIgdGltZS4KK0BAIC00MjQsNiArNDMwLDcgQEAgbW9kdWxlIFJNT04yLU1JQiB7CisgCisgICB0eXBlZGVmIERhdGFTb3VyY2UgeworICAgICB0eXBlICAgICAgICAgICAgT2JqZWN0SWRlbnRpZmllcjsKKysgICAgc3RhdHVzICAgICAgICAgIGN1cnJlbnQ7CisgICAgIGRlc2NyaXB0aW9uICAgICAKKyAgICAgICAgIklkZW50aWZpZXMgdGhlIHNvdXJjZSBvZiB0aGUgZGF0YSB0aGF0IHRoZSBhc3NvY2lhdGVkCisgICAgICAgICBmdW5jdGlvbiBpcyBjb25maWd1cmVkIHRvIGFuYWx5emUuICBUaGlzIHNvdXJjZSBjYW4gYmUgYW55CitAQCAtNDM5LDYgKzQ0Niw3IEBAIG1vZHVsZSBSTU9OMi1NSUIgeworIAorICAgdHlwZWRlZiBDb250cm9sU3RyaW5nIHsKKyAgICAgdHlwZSAgICAgICAgICAgIE9jdGV0U3RyaW5nICgwLi4yNTUpOworKyAgICBzdGF0dXMgICAgICAgICAgY3VycmVudDsKKyAgICAgZGVzY3JpcHRpb24gICAgIAorICAgICAgICAiVGhpcyBkYXRhIHR5cGUgaXMgdXNlZCB0byBjb21tdW5pY2F0ZSB3aXRoIGEgbW9kZW0gb3IgYQorICAgICAgICAgCitkaWZmIC0tZ2l0IGEvdGVzdC9kdW1wcy9zbWluZy9TTk1QdjItTUlCIGIvdGVzdC9kdW1wcy9zbWluZy9TTk1QdjItTUlCCitpbmRleCBjYTM1NWM4Li4wYzg4OTM5IDEwMDY0NAorLS0tIGEvdGVzdC9kdW1wcy9zbWluZy9TTk1QdjItTUlCCisrKysgYi90ZXN0L2R1bXBzL3NtaW5nL1NOTVB2Mi1NSUIKK0BAIC0xLDExICsxLDE0IEBACisgLy8KKy0vLyBUaGlzIG1vZHVsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgc21pZHVtcCAwLjQuNS4gRG8gbm90IGVkaXQuCisrLy8gVGhpcyBtb2R1bGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHNtaWR1bXAgMC40LjguIERvIG5vdCBlZGl0LgorIC8vCisgbW9kdWxlIFNOTVB2Mi1NSUIgeworIAorLSAgaW1wb3J0IElSVEYtTk1SRy1TTUlORyAgICAgIChDb3VudGVyMzIsIERpc3BsYXlTdHJpbmcyNTUsIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lU3RhbXAsIFRpbWVUaWNrcywgc25tcE1vZHVsZXMpOworLSAgaW1wb3J0IElSVEYtTk1SRy1TTUlORy1TTk1QIChUZXN0QW5kSW5jciwgbWliLTIpOworKyAgaW1wb3J0IFNOTVB2Mi1TTUkgIChNT0RVTEUtSURFTlRJVFksIE9CSkVDVC1UWVBFLCAKKysgICAgICAgICAgICAgICAgICAgICAgTk9USUZJQ0FUSU9OLVRZUEUsIFRpbWVUaWNrcywgQ291bnRlcjMyLCAKKysgICAgICAgICAgICAgICAgICAgICAgc25tcE1vZHVsZXMsIG1pYi0yKTsKKysgIGltcG9ydCBTTk1QdjItVEMgICAoRGlzcGxheVN0cmluZywgVGVzdEFuZEluY3IsIFRpbWVTdGFtcCk7CisrICBpbXBvcnQgU05NUHYyLUNPTkYgKE1PRFVMRS1DT01QTElBTkNFLCBPQkpFQ1QtR1JPVVAsIAorKyAgICAgICAgICAgICAgICAgICAgICBOT1RJRklDQVRJT04tR1JPVVApOworIAorIC8vCisgLy8gTU9EVUxFIE1FVEEgSU5GT1JNQVRJT04KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzbWkvbGlic21pL3NtaS5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzbWkvbGlic21pL3NtaS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNGRhODYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNtaS9saWJzbWkvc21pLmNvbmYKQEAgLTAsMCArMSw0OCBAQAorIworIyBzbWkuY29uZiAtIEdsb2JhbC9Vc2VyIFNNSSBjb25maWd1cmF0aW9uIGZpbGUuIChFWEFNUExFKQorIworIyBDb3B5cmlnaHQgKGMpIDIwMDAgRnJhbmsgU3RyYXVzcywgVGVjaG5pY2FsIFVuaXZlcnNpdHkgb2YgQnJhdW5zY2h3ZWlnLgorIworIyBTZWUgdGhlIGZpbGUgIkNPUFlJTkciIGZvciBpbmZvcm1hdGlvbiBvbiB1c2FnZSBhbmQgcmVkaXN0cmlidXRpb24KKyMgb2YgdGhpcyBmaWxlLCBhbmQgZm9yIGEgRElTQ0xBSU1FUiBPRiBBTEwgV0FSUkFOVElFUy4KKyMKKyMgQCgjKSAkSWQ6IHNtaS5jb25mLWV4YW1wbGUgMTEzNCAyMDAxLTA2LTExIDA5OjU5OjEzWiBzdHJhdXNzICQKKyMKKyMKKyMgU2VlIHNtaV9jb25maWcoMykgZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uIG9uIGNvbmZpZ3VyYXRpb24gZmlsZXMuCisjCisKKyMgRXh0ZW5kIChub3RlIHRoZSBzZW1pY29sb24pIHRoZSBsaWJzbWkgZGVmYXVsdCBtb2R1bGUgc2VhcmNoIHBhdGguCitwYXRoIDovdXNyL3NoYXJlL21pYnMvaWFuYQorcGF0aCA6L3Vzci9zaGFyZS9taWJzL2lldGYKK3BhdGggOi91c3Ivc2hhcmUvbWlicy9pcnRmCitwYXRoIDovdXNyL3NoYXJlL21pYnMvdHVicworCisjIEVYUEVSSU1FTlRBTDogQWRkIGEgY2FjaGluZyBtZXRob2QgKHdvcmtzIG9ubHkgb24gVU5JWCBzeXN0ZW1zKS4KKyMgTk9URTogdGhlIGNhY2hlIGRpcmVjdG9yeSBtdXN0IGV4aXN0IGFuZCBwZXJtaXNzaW9ucyBtdXN0IGJlCisjIGhhbmRsZWQgYXBwcm9wcmlhdGVseS4gQSBzaW1wbGUgYnV0IGluc2VjdXJlIHdheSBpcyB0byBhcHBseQorIyBhIHRtcCBmbGFnIHRvIHRoZSBkaXJlY3RvcnkgKGNobW9kIDE3NzcgL3Vzci9sb2NhbC9zaGFyZS9taWJzL2NhY2hlKS4KKyNjYWNoZSAvdXNyL2xvY2FsL3NoYXJlL21pYnMvY2FjaGUgL3Vzci9sb2NhbC9iaW4vc21pY2FjaGUgLWQgL3Vzci9sb2NhbC9zaGFyZS9taWJzL2NhY2hlIC1wIGh0dHA6Ly93d3cuaWJyLmNzLnR1LWJzLmRlL3Byb2plY3RzL2xpYnNtaS9zbWljYWNoZS8KKworIyBEb24ndCBzaG93IGFueSBlcnJvcnMgYnkgZGVmYXVsdC4KK2xldmVsIDAKKworIyBQcmVsb2FkIHNvbWUgYmFzaWMgU01JdjIgbW9kdWxlcy4KK2xvYWQgU05NUHYyLVNNSQorbG9hZCBTTk1QdjItVEMKK2xvYWQgU05NUHYyLUNPTkYKKworIyBNYWtlIHNtaWxpbnQgc2hvdXQgbG91ZCB0byByZXBvcnQgYWxsIGVycm9ycyBhbmQgd2FybmluZ3MuCitzbWlsaW50OiBsZXZlbCA5CisKKyMgQnV0IHBsZWFzZSBkb24ndCBjbGFpbSBhYm91dCBhbnkgbmFtZXMgbG9uZ2VyIHRoYW4gMzIgY2hhcnMuCisjIChub3RlOiB0aGlzIGlzIHRoZSBwcmVmaXggb2YgZXJyb3JzIGBuYW1lbGVuZ3RoLTMyLW1vZHVsZSwKKyMgIC10eXBlLCAtb2JqZWN0LCAtZW51bWVyYXRpb24sIGFuZCAtYml0KQorc21pbGludDogaGlkZSBuYW1lbGVuZ3RoLTMyCisKKyMgUHJlbG9hZGluZyBzb21lIG1vcmUgbW9kdWxlcyBmb3Igc3BlY2lhbCBhcHBsaWNhdGlvbnMuCit0Y3BkdW1wOiBsb2FkIERJU01BTi1TQ1JJUFQtTUlCCit0Y3BkdW1wOiBsb2FkIElGLU1JQgorCitzbWlxdWVyeTogbG9hZCBJRi1NSUIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzbWkvbGlic21pXzAuNS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzbWkvbGlic21pXzAuNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwNDkwNjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNtaS9saWJzbWlfMC41LjAuYmIKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJBIExpYnJhcnkgdG8gQWNjZXNzIFNNSSBNSUIgSW5mb3JtYXRpb24iCitIT01FUEFHRSA9ICJodHRwczovL3d3dy5pYnIuY3MudHUtYnMuZGUvcHJvamVjdHMvbGlic21pIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNhZDMwNzZmOTMzMjM0M2EyMTYzNmNmZDM1MWYwNWI3IgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3Lmlici5jcy50dS1icy5kZS9wcm9qZWN0cy8ke0JQTn0vZG93bmxvYWQvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3NtaS5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2xpYnNtaS1maXgtdGhlLXRlc3QtZHVtcC1maWxlcy5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNGJmNDc0ODNjMDZjOWYwN2QxYjEwZmJjNzRlZGRmMTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjIxYWNjZGFkYjFiYjMyOGVhM2Y4YTEzZmMzNGQ3MTViYWFjNmUyZGI2NjA2NTg5ODM0NjMyMmM3MjU3NTRkMyIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GID0gImFjX2N2X3BhdGhfU0g9JHtiYXNlX2JpbmRpcn0vc2giCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc21pLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vc21pLmNvbmYKK30KKworUEFDS0FHRVMgKz0gIiR7UE59LW1pYnMgJHtQTn0tcGlicyAke1BOfS15YW5nIgorCitGSUxFU18ke1BOfS1taWJzICs9ICIke2RhdGFkaXJ9L21pYnMiCitGSUxFU18ke1BOfS1waWJzICs9ICIke2RhdGFkaXJ9L3BpYnMiCitGSUxFU18ke1BOfS15YW5nICs9ICIke2RhdGFkaXJ9L3lhbmciCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gIiR7QlBOfS1taWJzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzb2MvbGlic29jXzAuNy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzb2MvbGlic29jXzAuNy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxMWUwYmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNvYy9saWJzb2NfMC43LjEuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBpbnRlcmZhY2luZyB3aXRoIGNvbW1vbiBTb0MgcGVyaXBoZXJhbHMiCitERVNDUklQVElPTiA9ICJsaWJzb2MgaXMgYSBDIGxpYnJhcnkgdG8gaW50ZXJmYWNlIHdpdGggY29tbW9uIHBlcmlwaGVyYWxzIChncGlvLCBpMmMsIHNwaSwgcHdtKSBcCisgICAgICAgICAgICAgICBmb3VuZCBpbiBTb0MgKFN5c3RlbSBvbiBDaGlwcykgdGhyb3VnaCBnZW5lcmljIExpbnV4IEtlcm5lbCBpbnRlcmZhY2VzLiIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2phY2ttaXRjaC9saWJzb2MiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lMGJmZWJlYTEyYTcxODkyMjIyNWJhOTg3YjIxMjZhNSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworU1JDUkVWID0gIjI5MTljMzVlNzA2ZmU3YzMxMWY4M2Y5MzQzODY1NDIwZmE0YjM3ZmUiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vamFja21pdGNoL2xpYnNvYy5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1JERVBFTkRTXyR7UE59ID0gImxpYmdjYyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic29kaXVtL2xpYnNvZGl1bV8xLjAuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic29kaXVtL2xpYnNvZGl1bV8xLjAuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmVlZjRiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzb2RpdW0vbGlic29kaXVtXzEuMC44LmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiVGhlIFNvZGl1bSBjcnlwdG8gbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9saWJzb2RpdW0ub3JnLyIKK0xJQ0VOU0UgPSAiSVNDIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDkyYTA5Yjc4YzNiZTQ4NmZhYzgwNzQzNWJmMTdiN2EiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9kb3dubG9hZC5saWJzb2RpdW0ub3JnL2xpYnNvZGl1bS9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMGE2NmI4NmZkM2FhYjNmZTRjODU4ZWRjZDI3NzI3NjAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzBmMTkxZDI1Mjc4NTI2NDFlMGE5OTZiN2IxMDZkMmUwNGNiYzc2ZWE1MDczMWIyZDBiYWJkMzQwOTMwMTkyNiIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic3NoL2xpYnNzaF8wLjcuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic3NoL2xpYnNzaF8wLjcuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzFlMWFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gvbGlic3NoXzAuNy4xLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiTXVsdGlwbGF0Zm9ybSBDIGxpYnJhcnkgaW1wbGVtZW50aW5nIHRoZSBTU0h2MiBhbmQgU1NIdjEgcHJvdG9jb2wiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpYnNzaC5vcmciCitTRUNUSU9OID0gImxpYnMiCisKK0RFUEVORFMgPSAiemxpYiBvcGVuc3NsIGxpYmdjcnlwdCIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM4OGE0ZmIxZGVhOGNlYWUwYmU3OGJhOWIwMWZjMTM5IgorCitTUkNfVVJJID0gImdpdDovL2dpdC5saWJzc2gub3JnL3Byb2plY3RzL2xpYnNzaC5naXQ7YnJhbmNoPXYwLTciCitTUkNSRVYgPSAiMDUzZjcyYzY3MWE4M2IzMjIzOGRjMDFiNTZhNjY3NTJmYjE1YjdlYyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0VYVFJBX09FQ01BS0UgPSAiIFwKKyAgICAtRFdJVEhfR0NSWVBUPTEgXAorICAgIC1EV0lUSF9QQ0FQPTEgXAorICAgIC1EV0lUSF9TRlRQPTEgXAorICAgIC1EV0lUSF9aTElCPTEgXAorICAgIC1ETElCX1NVRkZJWD0ke0BkLmdldFZhcignYmFzZWxpYicsIFRydWUpLnJlcGxhY2UoJ2xpYicsICcnKX0gXAorICAgICIKKworUEFDS0FHRUNPTkZJRyA/Pz0iIgorUEFDS0FHRUNPTkZJR1tnc3NhcGldID0gIi1EV0lUSF9HU1NBUEk9MSwgLURXSVRIX0dTU0FQST0wLCBrcmI1LCAiCisKK2luaGVyaXQgY21ha2UKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgICMgRGlzYWJsZSBidWlsZGluZyBvZiBleGFtcGxlcworICAgIHNlZCAtaSAtZSAnL2FkZF9zdWJkaXJlY3RvcnkoZXhhbXBsZXMpL3MvXi8jRE9OT1RXQU5ULycgJHtTfS9DTWFrZUxpc3RzLnR4dCBcCisgICAgICAgIHx8IGJiZmF0YWwgIkZhaWxlZCB0byBkaXNhYmxlIGV4YW1wbGVzIgorfQorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9jbWFrZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic3NoMi9saWJzc2gyXzEuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gyL2xpYnNzaDJfMS42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQzMTY0ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic3NoMi9saWJzc2gyXzEuNi4wLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiQSBjbGllbnQtc2lkZSBDIGxpYnJhcnkgaW1wbGVtZW50aW5nIHRoZSBTU0gyIHByb3RvY29sIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWJzc2gyLm9yZy8iCitTRUNUSU9OID0gImxpYnMiCisKK0RFUEVORFMgPSAiemxpYiIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jNWNmMzRmYzBhY2I0NGIwODJlZjUwZWY1ZTQzNTRjYSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpYnNzaDIub3JnL2Rvd25sb2FkLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMGFhYmQ2ZTcxNGE1ZjQyYTRmYjgyYWNlMjBkYjFkZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1YTIwMjk0M2EzNGExZDgyYTFjMzFmNzQwOTRmMjQ1M2MyMDdiZjk5MzYwOTM4NjdmNDE0MTQ5NjhjOGU4MjE1IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GICs9ICJcCisgICAgICAgICAgICAgICAgIC0td2l0aC1saWJ6IFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWxpYnotcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAiCisKKyMgb25seSBvbmUgb2Ygb3BlbnNzbCBhbmQgZ2NyeXB0IGNvdWxkIGJlIHNldAorUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1vcGVuc3NsIC0td2l0aC1saWJzc2wtcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9LC0td2l0aG91dC1vcGVuc3NsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2djcnlwdF0gPSAiLS13aXRoLWxpYmdjcnlwdCAtLXdpdGgtbGliZ2NyeXB0LXByZWZpeD0ke1NUQUdJTkdfRVhFQ1BSRUZJWERJUn0sLS13aXRob3V0LWxpYmdjcnlwdCxsaWJnY3J5cHQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRpbnl4bWwvbGlidGlueXhtbC9lbmZvcmNlLXVzZS1zdGwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRpbnl4bWwvbGlidGlueXhtbC9lbmZvcmNlLXVzZS1zdGwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODhjOTYyYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGlueXhtbC9saWJ0aW55eG1sL2VuZm9yY2UtdXNlLXN0bC5wYXRjaApAQCAtMCwwICsxLDIwIEBACitEZXNjcmlwdGlvbjogVGlueVhtbCBpcyBidWlsdCB3aXRoIFRJWE1MX1VTRV9TVEwsIHNvIHdlIGhhdmUgdG8KKyBlbmZvcmNlIGl0IHdoZW4gdGhlIGxpYnJhcnkgaXMgdXNlZC4KK0F1dGhvcjogRmVsaXggR2V5ZXIgPGRlYmZ4LXBrZ0Bmb2Jvcy5kZT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK2RpZmYgLU51ciB0aW55eG1sLTIuNS4zL3Rpbnl4bWwuaCB0aW55eG1sLTIuNS4zLnBhdGNoL3Rpbnl4bWwuaAorLS0tIHRpbnl4bWwtMi41LjMvdGlueXhtbC5oCTIwMDctMDUtMDcgMDA6NDE6MjMuMDAwMDAwMDAwICswMjAwCisrKysgdGlueXhtbC0yLjUuMy5wYXRjaC90aW55eG1sLmgJMjAwOS0wNy0wOCAyMjozMjowMy4wMDAwMDAwMDAgKzAyMDAKK0BAIC0yNiw2ICsyNiwxMCBAQAorICNpZm5kZWYgVElOWVhNTF9JTkNMVURFRAorICNkZWZpbmUgVElOWVhNTF9JTkNMVURFRAorIAorKyNpZm5kZWYgVElYTUxfVVNFX1NUTAorKwkjZGVmaW5lIFRJWE1MX1VTRV9TVEwKKysjZW5kaWYKKysKKyAjaWZkZWYgX01TQ19WRVIKKyAjcHJhZ21hIHdhcm5pbmcoIHB1c2ggKQorICNwcmFnbWEgd2FybmluZyggZGlzYWJsZSA6IDQ1MzAgKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0aW55eG1sL2xpYnRpbnl4bWwvZW50aXR5LWVuY29kaW5nLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0aW55eG1sL2xpYnRpbnl4bWwvZW50aXR5LWVuY29kaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4MDE1MDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRpbnl4bWwvbGlidGlueXhtbC9lbnRpdHktZW5jb2RpbmcucGF0Y2gKQEAgLTAsMCArMSw2MiBAQAorRGVzY3JpcHRpb246IFRpbnlYTUwgaW5jb3JyZWN0bHkgZW5jb2RlcyB0ZXh0IGVsZW1lbnQgY29udGFpbmluZworIGFuIGFtcGVyc2FuZCBmb2xsb3dlZCBieSBlaXRoZXIgeCBvciAjLgorCitPcmlnaW46IGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci9pbmRleC5waHA/ZnVuYz1kZXRhaWwmYWlkPTMwMzE4MjgmZ3JvdXBfaWQ9MTM1NTkmYXRpZD0zMTM1NTkKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK2RpZmYgLXUgLXIxLjEwNSB0aW55eG1sLmNwcAorLS0tIGEvdGlueXhtbC5jcHAKKysrKyBiL3Rpbnl4bWwuY3BwCitAQCAtNTcsMzAgKzU3LDcgQEAKKyAJeworIAkJdW5zaWduZWQgY2hhciBjID0gKHVuc2lnbmVkIGNoYXIpIHN0cltpXTsKKyAKKy0JCWlmICggICAgYyA9PSAnJicgCistCQkgICAgICYmIGkgPCAoIChpbnQpc3RyLmxlbmd0aCgpIC0gMiApCistCQkJICYmIHN0cltpKzFdID09ICcjJworLQkJCSAmJiBzdHJbaSsyXSA9PSAneCcgKQorLQkJeworLQkJCS8vIEhleGFkZWNpbWFsIGNoYXJhY3RlciByZWZlcmVuY2UuCistCQkJLy8gUGFzcyB0aHJvdWdoIHVuY2hhbmdlZC4KKy0JCQkvLyAmI3hBOTsJLS0gY29weXJpZ2h0IHN5bWJvbCwgZm9yIGV4YW1wbGUuCistCQkJLy8KKy0JCQkvLyBUaGUgLTEgaXMgYSBidWcgZml4IGZyb20gUm9iIExhdmVhdXguIEl0IGtlZXBzCistCQkJLy8gYW4gb3ZlcmZsb3cgZnJvbSBoYXBwZW5pbmcgaWYgdGhlcmUgaXMgbm8gJzsnLgorLQkJCS8vIFRoZXJlIGFyZSBhY3R1YWxseSAyIHdheXMgdG8gZXhpdCB0aGlzIGxvb3AgLQorLQkJCS8vIHdoaWxlIGZhaWxzIChlcnJvciBjYXNlKSBhbmQgYnJlYWsgKHNlbWljb2xvbiBmb3VuZCkuCistCQkJLy8gSG93ZXZlciwgdGhlcmUgaXMgbm8gbWVjaGFuaXNtIChjdXJyZW50bHkpIGZvcgorLQkJCS8vIHRoaXMgZnVuY3Rpb24gdG8gcmV0dXJuIGFuIGVycm9yLgorLQkJCXdoaWxlICggaTwoaW50KXN0ci5sZW5ndGgoKS0xICkKKy0JCQl7CistCQkJCW91dFN0cmluZy0+YXBwZW5kKCBzdHIuY19zdHIoKSArIGksIDEgKTsKKy0JCQkJKytpOworLQkJCQlpZiAoIHN0cltpXSA9PSAnOycgKQorLQkJCQkJYnJlYWs7CistCQkJfQorLQkJfQorLQkJZWxzZSBpZiAoIGMgPT0gJyYnICkKKysJCWlmICggYyA9PSAnJicgKQorIAkJeworIAkJCW91dFN0cmluZy0+YXBwZW5kKCBlbnRpdHlbMF0uc3RyLCBlbnRpdHlbMF0uc3RyTGVuZ3RoICk7CisgCQkJKytpOworZGlmZiAtdSAtcjEuODkgeG1sdGVzdC5jcHAKKy0tLSBhL3htbHRlc3QuY3BwCisrKysgYi94bWx0ZXN0LmNwcAorQEAgLTEzNDAsNiArMTM0MCwxNiBAQAorIAkJfSovCisgCX0KKyAKKysJI2lmZGVmIFRJWE1MX1VTRV9TVEwKKysJeworKwkJVGlYbWxEb2N1bWVudCB4bWw7CisrCQl4bWwuUGFyc2UoIjxmb28+Zm9vJmFtcDsjeGErYmFyPC9mb28+Iik7CisrCQlzdGQ6OnN0cmluZyBzdHI7CisrCQlzdHIgPDwgeG1sOworKwkJWG1sVGVzdCggIkVudGl0eSBlc2NhcGluZyIsICI8Zm9vPmZvbyZhbXA7I3hhK2JhcjwvZm9vPiIsIHN0ci5jX3N0cigpICk7CisrCX0KKysJI2VuZGlmCisrCisgCS8qICAxNDE3NzE3IGV4cGVyaW1lbnQKKyAJeworIAkJVGlYbWxEb2N1bWVudCB4bWw7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRpbnl4bWwvbGlidGlueXhtbF8yLjYuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGlueXhtbC9saWJ0aW55eG1sXzIuNi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwOWE1MzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRpbnl4bWwvbGlidGlueXhtbF8yLjYuMi5iYgpAQCAtMCwwICsxLDQ1IEBACisjIChjKSBDb3B5cmlnaHQgMjAxMiAgSGV3bGV0dC1QYWNrYXJkIERldmVsb3BtZW50IENvbXBhbnksIEwuUC4gCisKK1NVTU1BUlkgPSAiYSBzaW1wbGUsIHNtYWxsLCBtaW5pbWFsLCBDKysgWE1MIHBhcnNlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL3Rpbnl4bWwiCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9yZWFkbWUudHh0O21kNT1mOGYzNjZmMzM3MGRkYTg4OWY2MGZhYTdkYjE2MmNmNCIKK1NFQ1RJT04gPSAibGlicyIKKworUFIgPSAicjUiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Rpbnl4bWwvdGlueXhtbF8ke0AnJHtQVn0nLnJlcGxhY2UoJy4nLCAnXycpfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZW5mb3JjZS11c2Utc3RsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2VudGl0eS1lbmNvZGluZy5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMWI4NjRjOTY4MDRhMTA1MjY1NDBjNjY0YWRlNjdmMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNWJkZmRjZWM1OGE3ZGEzMGFkYzg3YWMyYjA3OGU0NDE3ZGJlNTM5MmYzYWZiNzE5ZjliYTZkMDYyNjQ1NTkzIgorCitTID0gIiR7V09SS0RJUn0vdGlueXhtbCIKKworRVhUUkFfQ1hYRkxBR1MgPSAiLUkuIC1mUElDIgorCitkb19jb21waWxlKCkgeworICAgICR7Q1hYfSAke0NYWEZMQUdTfSAke0VYVFJBX0NYWEZMQUdTfSAtYyAtbyB0aW55eG1sLm8gdGlueXhtbC5jcHAKKyAgICAke0NYWH0gJHtDWFhGTEFHU30gJHtFWFRSQV9DWFhGTEFHU30gLWMgLW8gdGlueXhtbGVycm9yLm8gdGlueXhtbGVycm9yLmNwcAorICAgICR7Q1hYfSAke0NYWEZMQUdTfSAke0VYVFJBX0NYWEZMQUdTfSAtYyAtbyB0aW55eG1scGFyc2VyLm8gdGlueXhtbHBhcnNlci5jcHAKKyAgICAke0NYWH0gJHtDWFhGTEFHU30gXAorICAgICAgICAgICAgLXNoYXJlZCBcCisgICAgICAgICAgICAtV2wsLXNvbmFtZSxsaWJ0aW55eG1sLnNvLiR7UFZ9IFwKKyAgICAgICAgICAgIC1vIGxpYnRpbnl4bWwuc28uJHtQVn0gXAorICAgICAgICAgICAgJHtMREZMQUdTfSBcCisgICAgICAgICAgICB0aW55eG1sLm8gXAorICAgICAgICAgICAgdGlueXhtbHBhcnNlci5vIFwKKyAgICAgICAgICAgIHRpbnl4bWxlcnJvci5vCisKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9saWJ0aW55eG1sLnNvLiR7UFZ9ICR7RH0ke2xpYmRpcn0KKyAgICBsbiAtc2YgbGlidGlueXhtbC5zby4ke1BWfSAke0R9JHtsaWJkaXJ9L2xpYnRpbnl4bWwuc28KKworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS90aW55eG1sLmggJHtEfSR7aW5jbHVkZWRpcn0KK30KKworQkJDTEFTU0VYVEVORCArPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0aW55eG1sMi9saWJ0aW55eG1sMl8zLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGlueXhtbDIvbGlidGlueXhtbDJfMy4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWYwYjc4NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGlueXhtbDIvbGlidGlueXhtbDJfMy4wLjAuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJUaW55WE1MLTIgaXMgYSBzaW1wbGUsIHNtYWxsLCBlZmZpY2llbnQsIEMrKyBYTUwgcGFyc2VyIHRoYXQgY2FuIGJlIGVhc2lseSBpbnRlZ3JhdGluZyBpbnRvIG90aGVyIHByb2dyYW1zIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ncmlubmluZ2xpemFyZC5jb20vdGlueXhtbDIvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJabGliIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdGlueXhtbDIuY3BwO2VuZGxpbmU9MjI7bWQ1PWMxOTIyMWRiZDhhNjZhZDMwOTA0NjJhZjRjNWRlNWU3IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGVldGhvbWFzb24vdGlueXhtbDIuZ2l0IgorCitTUkNSRVYgPSAiMTk3N2E3MjU4Y2M2NmZkNGRhN2YxZTlkYTA1YTQ5MzM2NDZhNzgwMyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZy9saWJ1c2JnLzAwMDEtRml4LW91dC1vZi10cmVlLWJ1aWxkcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZy9saWJ1c2JnLzAwMDEtRml4LW91dC1vZi10cmVlLWJ1aWxkcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmU0OWZiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JnL2xpYnVzYmcvMDAwMS1GaXgtb3V0LW9mLXRyZWUtYnVpbGRzLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gNjExOGM2ZWMxMjkxYTVjNzMxYWE4ZDRmMGMxZWI4Y2NlNDNkNDdhZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBNb24sIDQgQXVnIDIwMTQgMDk6MDQ6MDggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IG91dC1vZi10cmVlIGJ1aWxkcworCitUaGUgaW5jbHVkZSBmbGFnIHNob3VsZCBwb2ludCB0byB0aGUgc291cmNlIGRpcmVjdG9yeSwgbm90IHRoZSBidWlsZAorZGlyZWN0b3J5LgorCitTaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorVXBzdHJlYW0tc3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9saWJ1c2JnL2xpYnVzYmcvcHVsbC85XQorLS0tCisgZXhhbXBsZXMvTWFrZWZpbGUuYW0gfCAyICstCisgc3JjL01ha2VmaWxlLmFtICAgICAgfCAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9NYWtlZmlsZS5hbSBiL2V4YW1wbGVzL01ha2VmaWxlLmFtCitpbmRleCBmOWY5NDA3Li5lZjRmODFlIDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvTWFrZWZpbGUuYW0KKysrKyBiL2V4YW1wbGVzL01ha2VmaWxlLmFtCitAQCAtMSw1ICsxLDUgQEAKKyBiaW5fUFJPR1JBTVMgPSBzaG93LWdhZGdldHMgZ2FkZ2V0LWFjbS1lY20gCisgZ2FkZ2V0X2FjbV9lY21fU09VUkNFUyA9IGdhZGdldC1hY20tZWNtLmMKKyBzaG93X2dhZGdldHNfU09VUkNFUyA9IHNob3ctZ2FkZ2V0cy5jCistQU1fQ1BQRkxBR1M9LUkuLi9pbmNsdWRlLworK0FNX0NQUEZMQUdTPS1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlLworIEFNX0xERkxBR1M9LUwuLi9zcmMvIC1sdXNiZworZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQoraW5kZXggZDk1NWE0Yy4uMmY3MTM2NiAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL01ha2VmaWxlLmFtCitAQCAtMSw0ICsxLDQgQEAKKyBsaWJfTFRMSUJSQVJJRVMgPSBsaWJ1c2JnLmxhCisgbGlidXNiZ19sYV9TT1VSQ0VTID0gdXNiZy5jCisgbGlidXNiZ19sYV9MREZMQUdTID0gLXZlcnNpb24taW5mbyAwOjE6MAorLUFNX0NQUEZMQUdTPS1JLi4vaW5jbHVkZS8KKytBTV9DUFBGTEFHUz0tSSQodG9wX3NyY2RpcikvaW5jbHVkZS8KKy0tIAorMS45LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JnL2xpYnVzYmdfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JnL2xpYnVzYmdfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZDYwYTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmcvbGlidXNiZ19naXQuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJVU0IgR2FkZ2V0IENvbmZpZ2ZzIExpYnJhcnkiCisKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BWID0gIjAuMS4wIgorU1JDUkVWID0gImE4MjZkMTM2ZTBlOGZhNTM4MTVmMWJhMDU4OTNlNmRkNzQyMDhjMTUiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGlidXNiZy9saWJ1c2JnLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1vdXQtb2YtdHJlZS1idWlsZHMucGF0Y2ggXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXRlbXB0ZXIvbGlidXRlbXB0ZXIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDI4MmJhNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXRlbXB0ZXIvbGlidXRlbXB0ZXIuYmIKQEAgLTAsMCArMSwzOSBAQAorU1VNTUFSWSA9ICJBIHByaXZpbGVnZWQgaGVscGVyIGZvciB1dG1wL3d0bXAgdXBkYXRlcyIKK0RFU0NSSVBUSU9OID0gIlwKK1RoaXMgbGlicmFyeSBwcm92aWRlcyBpbnRlcmZhY2UgZm9yIHRlcm1pbmFsIGVtdWxhdG9ycyBzdWNoIGFzIFwKK3NjcmVlbiBhbmQgeHRlcm0gdG8gcmVjb3JkIHVzZXIgc2Vzc2lvbnMgdG8gdXRtcCBhbmQgd3RtcCBmaWxlcy4iCitIT01FUEFHRSA9ICJmdHA6Ly9mdHAuYWx0bGludXgub3JnL3B1Yi9wZW9wbGUvbGR2L3V0ZW1wdGVyIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvTGlicmFyaWVzIgorTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyAmIExHUEx2MiAmIE1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIgorCitTUkNSRVYgPSAiM2VmNzRmZmYzMTBmMDllMjYwMWUyNDFiOWYwNDJjZDM5ZDU5MTAxOCIKK1BWID0gIjEuMS42LWFsdDIrZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmFsdGxpbnV4Lm9yZy9wZW9wbGUvbGR2L3BhY2thZ2VzL2xpYnV0ZW1wdGVyLmdpdCBcCisgICAgZmlsZTovLzAwMDEtRml4LW1hY3JvLWVycm9yLnBhdGNoIgorCitTID0gIiR7V09SS0RJUn0vZ2l0LyR7QlBOfSIKKworQ0ZMQUdTICs9ICItRExJQkVYRUNESVI9JHtsaWJleGVjZGlyfSIKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbGliZGlyPSR7bGliZGlyfSAgICAgICAgICAgIFwKKyAgICAgICAgbGliZXhlY2Rpcj0ke2xpYmV4ZWNkaXJ9Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsICAgICAgICAgICAgICBcCisgICAgICAgIERFU1RESVI9JHtEfSAgICAgICAgICAgICAgICBcCisgICAgICAgIGxpYmRpcj0iJHtsaWJkaXJ9IiAgICAgICAgICBcCisgICAgICAgIGxpYmV4ZWNkaXI9IiR7bGliZXhlY2Rpcn0iICBcCisgICAgICAgIGluY2x1ZGVkaXI9JHtpbmNsdWRlZGlyfSAgICBcCisgICAgICAgIG1hbmRpcj0ke21hbmRpcn0KKworICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vKi5hCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qLnNvLioiCitGSUxFU18ke1BOfSArPSAiJHtsaWJleGVjZGlyfS91dGVtcHRlci91dGVtcHRlciIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJleGVjZGlyfS91dGVtcHRlci8uZGVidWcvdXRlbXB0ZXIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnV0ZW1wdGVyL2xpYnV0ZW1wdGVyLzAwMDEtRml4LW1hY3JvLWVycm9yLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci8wMDAxLUZpeC1tYWNyby1lcnJvci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTQwZWEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci8wMDAxLUZpeC1tYWNyby1lcnJvci5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIGZjMmJkNTkyYWQxN2QxYzJhMmE5ODk3NTBlNjlkZmFlZGMyOGM2MzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBRaWFuIExlaSA8cWlhbmwuZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IEZyaSwgOSBKYW4gMjAxNSAxMDo0MDoyOSArMDgwMAorU3ViamVjdDogW1BBVENIXSBGaXggbWFjcm8gZXJyb3IKKworY29tcGlsZSBlcnJvciB3aGVuIGJ1aWxkIG9uIGFsbW9zdCBhbGwgYXJjaGl0ZWN0dXJlcy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBRaWFuIExlaSA8cWlhbmwuZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIGlmYWNlLmMgfCA5ICsrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2lmYWNlLmMgYi9pZmFjZS5jCitpbmRleCA1OTUxZDgxLi4yNzc5M2YwIDEwMDY0NAorLS0tIGEvaWZhY2UuYworKysrIGIvaWZhY2UuYworQEAgLTQzLDcgKzQzLDE0IEBACisgICAgICAgIF9fcmVzdWx0OyB9KSkKKyAjZW5kaWYKKyAKKy0jZGVmaW5lCVVURU1QVEVSX0RFRkFVTFRfUEFUSE5BTUUJTElCRVhFQ0RJUiAiL3V0ZW1wdGVyL3V0ZW1wdGVyIgorKyNpZmRlZiAgTElCRVhFQ0RJUgorKyMgIGRlZmluZSBDQVRfUEFUSChESVIxLERJUjIpICAgICAgICAgICBESVIxIyNESVIyCisrIyAgZGVmaW5lIFJBV19VVEVNUFRFUl9QQVRIICAgICAgICAgICAgIENBVF9QQVRIKExJQkVYRUNESVIsL3V0ZW1wdGVyL3V0ZW1wdGVyKQorKyNlbHNlCisrIyAgZGVmaW5lIFJBV19VVEVNUFRFUl9QQVRIICAgICAgICAgICAgIC91c3IvbGliL2xpYnRlbXB0ZXIvdXRlbXB0ZXIvdXRlbXB0ZXIKKysjZW5kaWYKKysjZGVmaW5lIFNUUl9QQVRIKFJBV19TVFIpICAgICAgICAgICAgICAgI1JBV19TVFIKKysjZGVmaW5lIFVURU1QVEVSX0RFRkFVTFRfUEFUSE5BTUUgICAgICAgU1RSX1BBVEgoUkFXX1VURU1QVEVSX1BBVEgpCisgCisgc3RhdGljIGNvbnN0IGNoYXIgKnV0ZW1wdGVyX3BhdGhuYW1lOworIHN0YXRpYyBpbnQgc2F2ZWRfZmQgPSAtMTsKKy0tIAorMS44LjMuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2ZpbGVzL2FjLXByb2ctY3h4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9maWxlcy9hYy1wcm9nLWN4eC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWMzODI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9maWxlcy9hYy1wcm9nLWN4eC5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gbGlua3MtMi4xcHJlMjAvY29uZmlndXJlLmluLm9yaWcJMjAwNS0xMi0yMSAxNToyMzo0OS4wMDAwMDAwMDAgKzAwMDAKKysrKyBsaW5rcy0yLjFwcmUyMC9jb25maWd1cmUuaW4JMjAwNS0xMi0yMSAxNToyMzo1OS4wMDAwMDAwMDAgKzAwMDAKK0BAIC0xOCw3ICsxOCw3IEBACisgZG5sIENoZWNrcyBmb3IgcHJvZ3JhbXMuCisgQUNfUFJPR19DQworIAorLSNBQ19QUk9HX0NYWAorK0FDX1BST0dfQ1hYCisgI0FDX1BST0dfQVdLCisgI0FNX1BST0dfTEVYCisgI0FDX1BST0dfWUFDQwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9maWxlcy9saW5rczIuZGVza3RvcCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvZmlsZXMvbGlua3MyLmRlc2t0b3AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTA1YmNlMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvZmlsZXMvbGlua3MyLmRlc2t0b3AKQEAgLTAsMCArMSwxNCBAQAorW0Rlc2t0b3AgRW50cnldCitFbmNvZGluZz1VVEYtOAorTmFtZT1MaW5rcworQ29tbWVudD1MaW5rcyBpcyBhIGJyb3dzZXIgdmVyeSBzaW1pbGFyIHRvIGx5bngKK0NvbW1lbnRbZXNdPUVsIGxpbmtzIGVzIHVuIGJyb3dzZXIgcGFyYSBtb2RvIHRleHRvLCBzaW1pbGFyIGEgbHlueAorQ29tbWVudFtwbF09TGlua3MgamVzdCBwcnplZ2zEhWRhcmvEhSBwb2RvYm7EhSBkbyBseW5rc2EKK0NvbW1lbnRbcHRdPU8gbGlua3Mgw6kgdW0gYnJvd3NlciBwYXJhIG1vZG8gdGV4dG8sIHNpbWlsYXIgYW8gbHlueAorQ29tbWVudFtwdF9CUl09TyBsaW5rcyDDqSB1bSBicm93c2VyIHBhcmEgbW9kbyB0ZXh0bywgc2ltaWxhciBhbyBseW54CitFeGVjPWxpbmtzIC1nCitUZXJtaW5hbD10cnVlCitJY29uPWxpbmtzMgorVHlwZT1BcHBsaWNhdGlvbgorQ2F0ZWdvcmllcz1BcHBsaWNhdGlvbjtDb25zb2xlT25seTtOZXR3b3JrO1dlYkJyb3dzZXI7CisjIHZpOiBlbmNvZGluZz11dGYtOApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9saW5rcy14MTFfMi43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9saW5rcy14MTFfMi43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhZTExYWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2xpbmtzLXgxMV8yLjcuYmIKQEAgLTAsMCArMSwzMSBAQAorcmVxdWlyZSBsaW5rcy5pbmMKKworREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEiCitSQ09ORkxJQ1RTXyR7UE59ID0gImxpbmtzIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJICs9ICIgZmlsZTovL2xpbmtzMi5kZXNrdG9wIFwKKyAgICAgICAgICAgICBodHRwOi8vd3d3LnhvcmEub3JnLnVrL29lL2xpbmtzMi5wbmc7bmFtZT1pY29uIgorCitTID0gIiR7V09SS0RJUn0vbGlua3MtJHtQVn0iCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1ncmFwaGljcyBcCisgICAgICAgICAgICAgICAgLS13aXRoLXNzbD0ke1NUQUdJTkdfTElCRElSfS8uLiAtLXdpdGgtbGlianBlZyBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWxpYnRpZmYgLS13aXRob3V0LXN2Z2FsaWIgLS13aXRob3V0LWZiIFwKKyAgICAgICAgICAgICAgICAtLXdpdGhvdXQtZGlyZWN0ZmIgLS13aXRob3V0LXBtc2hlbGwgLS13aXRob3V0LWF0aGVvcyBcCisgICAgICAgICAgICAgICAgLS13aXRoLXggLS13aXRob3V0LWdwbSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vYXBwbGljYXRpb25zCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbGlua3MyLmRlc2t0b3AgJHtEfS8ke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucworICAgIGluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L3BpeG1hcHMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9saW5rczIucG5nICR7RH0vJHtkYXRhZGlyfS9waXhtYXBzCit9CisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMDZhYTZlMTRiMjE3MmQ3MzE4ODg3MWE1MzU3MTg1YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwYzE4MmIxY2JjZGZkNWNkY2QyZjc1YTYwMzJkMWE0YjY2MGQwN2MxMjI1YzFlMDc3NTdjZWM4MWQzMzAyMTMwIgorU1JDX1VSSVtpY29uLm1kNXN1bV0gPSAiNDc3ZTg3ODc5MjdjNjM0NjE0YmFjMDFiNDQzNTVhMzMiCitTUkNfVVJJW2ljb24uc2hhMjU2c3VtXSA9ICJlZGRjZDhiOGM4Njk4YWE2MjFkMWE0NTM5NDM4OTJkNzdiNzJlZDQ5MmUwZDE0ZTBkYmFjNWM2YTU3ZTUyZjQ3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9saW5rcy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpbmtzL2xpbmtzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDcyNDA4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9saW5rcy5pbmMKQEAgLTAsMCArMSwxNyBAQAorREVTQ1JJUFRJT04gPSAiTGlua3MgaXMgZ3JhcGhpY3MgYW5kIHRleHQgbW9kZSBXV1cgXAorYnJvd3Nlciwgc2ltaWxhciB0byBMeW54LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9saW5rcy50d2licmlnaHQuY29tLyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTY1ZTczNWJlMmUwNWQ1OTQzODAzMzQ0MTQ4ZjU3NjAzIgorREVQRU5EUyA9ICJqcGVnIGxpYnBuZyBmbGV4IG9wZW5zc2wgemxpYiIKKworU1JDX1VSSSA9ICJodHRwOi8vbGlua3MudHdpYnJpZ2h0LmNvbS9kb3dubG9hZC9saW5rcy0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2FjLXByb2ctY3h4LnBhdGNoIFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbYnppcDJdID0gIi0td2l0aC1iemlwMiwtLXdpdGhvdXQtYnppcDIsYnppcDIiCitQQUNLQUdFQ09ORklHW2x6bWFdID0gIi0td2l0aC1sem1hLC0td2l0aG91dC1sem1hLHh6IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvbGlua3NfMi43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW5rcy9saW5rc18yLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTgwZGQ3YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlua3MvbGlua3NfMi43LmJiCkBAIC0wLDAgKzEsMTMgQEAKK3JlcXVpcmUgbGlua3MuaW5jCisKK0RFUEVORFMgKz0gImdwbSIKK1JDT05GTElDVFNfJHtQTn0gPSAibGlua3MteDExIgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtZ3JhcGhpY3MgXAorICAgICAgICAgICAgICAgIC0td2l0aC1zc2w9JHtTVEFHSU5HX0xJQkRJUn0vLi4gLS13aXRoLWxpYmpwZWcgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1saWJ0aWZmIC0td2l0aG91dC1zdmdhbGliIC0td2l0aC1mYiBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LWRpcmVjdGZiIC0td2l0aG91dC1wbXNoZWxsIC0td2l0aG91dC1hdGhlb3MgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC14IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDA2YWE2ZTE0YjIxNzJkNzMxODg4NzFhNTM1NzE4NWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGMxODJiMWNiY2RmZDVjZGNkMmY3NWE2MDMyZDFhNGI2NjBkMDdjMTIyNWMxZTA3NzU3Y2VjODFkMzMwMjEzMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlvLXV0aWxzL2xpby11dGlsc180LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpby11dGlscy9saW8tdXRpbHNfNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1YmExNjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpby11dGlscy9saW8tdXRpbHNfNC4xLmJiCkBAIC0wLDAgKzEsNjAgQEAKK1NVTU1BUlkgPSAibGlvLXV0aWxzIgorREVTQ1JJUFRJT04gPSAiYSBzaW1wbGUgbG93LWxldmVsIGNvbmZpZ3VyYXRpb24gdG9vbCBzZXQgZm9yIHRoZSBUYXJnZXQraVNDU0kgKExJTykiCitIT01FUEFHRSA9ICJodHRwOi8vbGludXgtaXNjc2kub3JnL2luZGV4LnBocC9MaW8tdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9YzNlYTIzMWEzMjYzNWNiYjVkZWJlZGYzZTg4YWEzZGYiCisKK1BWID0gIjQuMStnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9yaXNpbmd0aWRlc3lzdGVtcy5jb20vbGlvLXV0aWxzLmdpdCIKK1NSQ1JFViA9ICIyOGJkOTI4NjU1YmRjN2JkM2NmMzgwZjAxOTY2MzA2OTBjNTFlMDVmIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBkaXN0dXRpbHMKKworRVhUUkFfT0VNQUtFICs9ICJERVNURElSPSR7RH0iCisKK2RvX2NvbXBpbGUoKSB7CisgICAgY2QgJHtTfS90Y20tcHkKKyAgICBkaXN0dXRpbHNfZG9fY29tcGlsZQorCisgICAgY2QgJHtTfS9saW8tcHkKKyAgICBkaXN0dXRpbHNfZG9fY29tcGlsZQorCisgICAgaWYgdGVzdCAtZCAke1N9L3Rvb2xzOyB0aGVuCisgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtTfS90b29scworICAgIGZpCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgY2QgJHtTfS90Y20tcHkKKyAgICBkaXN0dXRpbHNfZG9faW5zdGFsbAorCisgICAgY2QgJHtTfS9saW8tcHkKKyAgICBkaXN0dXRpbHNfZG9faW5zdGFsbAorCisgICAgU0lURV9QQUNLQUdFUz0ke0R9LyR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c2JpbmRpcn0KKyAgICBmb3IgdmFyIGluIHRjbV9ub2RlIHRjbV9kdW1wIHRjbV9sb29wIHRjbV9mYWJyaWMgbGlvX2R1bXAgbGlvX25vZGU7IGRvCisgICAgICAgIGlmIFsgISAtaCAke0R9LyR7c2JpbmRpcn0vJHt2YXJ9IF07dGhlbgorICAgICAgICAgICAgY2htb2QgYSt4ICR7U0lURV9QQUNLQUdFU30vJHt2YXJ9LnB5CisgICAgICAgICAgICBsbiAtcyAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8ke3Zhcn0ucHkgJHtEfS8ke3NiaW5kaXJ9LyR7dmFyfQorICAgICAgICBmaQorICAgIGRvbmUKKworICAgIGlmIHRlc3QgLWQgJHtTfS90b29sczsgdGhlbgorICAgICAgICBvZV9ydW5tYWtlIC1DICR7U30vdG9vbHMgaW5zdGFsbAorICAgIGZpCisKKyAgICBpbnN0YWxsIC1kICR7RH0vZXRjL3RhcmdldC8KKyAgICBpbnN0YWxsIC1kICR7RH0vZXRjL2luaXQuZC8KKyAgICBpbnN0YWxsIC1tIDc1NSAke1N9L3NjcmlwdHMvcmMudGFyZ2V0ICR7RH0vZXRjL2luaXQuZC8KKyAgICBpbnN0YWxsIC1tIDc1NSAke1N9L2NvbmYvdGNtX3N0YXJ0LmRlZmF1bHQgJHtEfS9ldGMvdGFyZ2V0L3RjbV9zdGFydC5zaAorICAgIGluc3RhbGwgLW0gNzU1ICR7U30vY29uZi9saW9fc3RhcnQuZGVmYXVsdCAke0R9L2V0Yy90YXJnZXQvbGlvX3N0YXJ0LnNoCit9CisKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24tc3RyaW5nb2xkIHB5dGhvbi1zdWJwcm9jZXNzIHB5dGhvbi1zaGVsbCBcCisgICAgcHl0aG9uLWRhdGV0aW1lIHB5dGhvbi10ZXh0dXRpbHMgcHl0aG9uLWNyeXB0IHB5dGhvbi1uZXRjbGllbnQgcHl0aG9uLWVtYWlsIFwKKyAgICBiYXNoIgorCitGSUxFU18ke1BOfSArPSAiJHtzYmluZGlyfS8qIC9ldGMvaW5pdC5kLyogL2V0Yy90YXJnZXQvKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL2ZhbmNvbnRyb2wgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9mYW5jb250cm9sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmMDNhMmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9mYW5jb250cm9sCkBAIC0wLDAgKzEsMiBAQAorIyBmYW5jb250cm9sIGNvbmZpZ3VyYXRpb24gZmlsZS4KKyMgUGxhY2UgeW91ciBkZXZpY2Ugc3BlY2lmaWMgY29uZmlndXJhdGlvbiBpbiB0aGlzIGZpbGUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9zZW5zb3JkIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvc2Vuc29yZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTgzNjJlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvc2Vuc29yZApAQCAtMCwwICsxLDE2IEBACisjIGNvbmZpZ3VyYXRpb24gZm9yIGhhcmR3YXJlIHNlbnNvcnMgbW9uaXRvcmluZyBkYWVtb24KKyMgaW4gaW50ZXJ2YWxzIHVzZSBzdWZmaXggIm0iIGZvciBtaW51dGVzLCAicyIgZm9yIHNlY29uZHMsICJoIiBmb3IgaG91cnMKKyMgMCBtZWFucyB0dXJuaW5nIGZhY2lsaXR5IG9mZgorCisjIGludGVydmFsIGJldHdlZW4gc2Nhbm5pbmcgYWxhcm1zCitJTlRFUlZBTD0xbQorCisjIGludGVydmFsIGJldHdlZW4gbG9nZ2luZworTE9HX0lOVEVSVkFMPTIwbQorCisjIGludGVydmFsIGJldHdlZW4gUlJEIGxvZ2dpbmcKKyMgUlJEX0lOVEVSVkFMPTFtCisKKyMgUlJEIGRiIGxvY2F0aW9uCisjIFJSRF9MT0dGSUxFPS92YXIvbG9nL3NlbnNvcnMucnJkCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL3NlbnNvcmQuY2dpIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvc2Vuc29yZC5jZ2kKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjFhYWQwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnL3NlbnNvcmQuY2dpCkBAIC0wLDAgKzEsMTAgQEAKKyMhL3Vzci9iaW4vcnJkY2dpCisKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+c2Vuc29yZDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KK0dlbmVyYXRlIGEgdmFsaWQgc2Vuc29yZC5jZ2kgc2NyaXB0IGFuZCBpbnN0YWxsIGl0IGluIHlvdXIgQlNQLgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvc2Vuc29yZC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvc2Vuc29yZC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiNDhjZjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9zZW5zb3JkLmNvbmYKQEAgLTAsMCArMSwxNiBAQAorIyBEZWZhdWx0IHNlbnNvcmQgY29uZmlndXJhdGlvbiBmaWxlCisjIFN5bnRheDogc2Vuc29yZCB7b3B0aW9uc30ge2NoaXBzfQorIyAtaSwgLS1pbnRlcnZhbCA8dGltZT4gICAgIC0tIGludGVydmFsIGJldHdlZW4gc2Nhbm5pbmcgYWxhcm1zIChkZWZhdWx0IDYwcykKKyMgLWwsIC0tbG9nLWludGVydmFsIDx0aW1lPiAtLSBpbnRlcnZhbCBiZXR3ZWVuIGxvZ2dpbmcgc2Vuc29ycyAoZGVmYXVsdCAzMG0pCisjIC10LCAtLXJyZC1pbnRlcnZhbCA8dGltZT4gLS0gaW50ZXJ2YWwgYmV0d2VlbiB1cGRhdGluZyBSUkQgZmlsZSAoZGVmYXVsdCA1bSkKKyMgLVQsIC0tcnJkLW5vLWF2ZXJhZ2UgICAgICAtLSBzd2l0Y2ggUlJEIGluIG5vbi1hdmVyYWdlIG1vZGUKKyMgLXIsIC0tcnJkLWZpbGUgPGZpbGU+ICAgICAtLSBSUkQgZmlsZSAoZGVmYXVsdCA8bm9uZT4pCisjIC1jLCAtLWNvbmZpZy1maWxlIDxmaWxlPiAgLS0gY29uZmlndXJhdGlvbiBmaWxlCisjIC1wLCAtLXBpZC1maWxlIDxmaWxlPiAgICAgLS0gUElEIGZpbGUgKGRlZmF1bHQgL3Zhci9ydW4vc2Vuc29yZC5waWQpCisjIC1mLCAtLXN5c2xvZy1mYWNpbGl0eSA8Zj4gLS0gc3lzbG9nIGZhY2lsaXR5IHRvIHVzZSAoZGVmYXVsdCBsb2NhbDQpCisjIC1nLCAtLXJyZC1jZ2kgPGltZy1kaXI+ICAgLS0gb3V0cHV0IGFuIFJSRCBDR0kgc2NyaXB0IGFuZCBleGl0CisjIC1hLCAtLWxvYWQtYXZlcmFnZSAgICAgICAgLS0gaW5jbHVkZSBsb2FkIGF2ZXJhZ2UgaW4gUlJEIGZpbGUKKyMgLWQsIC0tZGVidWcgICAgICAgICAgICAgICAtLSBkaXNwbGF5IHNvbWUgZGVidWcgaW5mb3JtYXRpb24KKyMgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICAtLSBkaXNwbGF5IHZlcnNpb24gYW5kIGV4aXQKKyMgLWgsIC0taGVscCAgICAgICAgICAgICAgICAtLSBkaXNwbGF5IGhlbHAgYW5kIGV4aXQKK1NFTlNPUkRfQVJHUz0iLWk2MHMgLWwzMG0gLXQxbSAtci92YXIvbGliL3NlbnNvcmQucnJkIC1hIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvc2Vuc29ycy5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWcvc2Vuc29ycy5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiOGM5M2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzLWNvbmZpZy9zZW5zb3JzLmNvbmYKQEAgLTAsMCArMSwyIEBACisjIHNlbnNvcnMgY29uZmlndXJhdGlvbiBmaWxlLgorIyBQbGFjZSB5b3VyIGRldmljZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGluIHRoaXMgZmlsZS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnXzEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMtY29uZmlnXzEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNjM4MDE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy1jb25maWdfMS4wLmJiCkBAIC0wLDAgKzEsNjMgQEAKK1NVTU1BUlkgPSAibG1fc2Vuc29ycyBjb25maWd1cmF0aW9uIGZpbGVzIgorREVTQ1JJUFRJT04gPSAiSGFyZHdhcmUgaGVhbHRoIG1vbml0b3JpbmcgY29uZmlndXJhdGlvbiBmaWxlcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubG0tc2Vuc29ycy5vcmcvIgorTElDRU5TRSA9ICJNSVQtWCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIgorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitTUkNfVVJJID0gImZpbGU6Ly9mYW5jb250cm9sIFwKKyAgICAgICAgICAgZmlsZTovL3NlbnNvcmQuY2dpIFwKKyAgICAgICAgICAgZmlsZTovL3NlbnNvcmQuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9zZW5zb3JzLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vc2Vuc29yZCBcCisiCitTID0gIiR7V09SS0RJUn0iCisKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCisKK2RvX2luc3RhbGwoKSB7CisgICAgIyBJbnN0YWxsIGZhbmNvbnRyb2wgY29uZmlndXJhdGlvbiBmaWxlCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9mYW5jb250cm9sICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc2Vuc29yZCAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcKKyAgICAjIEluc3RhbGwgbGlic2Vuc29ycyBjb25maWd1cmF0aW9uIGZpbGUKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3NlbnNvcnMuZAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NlbnNvcnMuY29uZiAke0R9JHtzeXNjb25mZGlyfS9zZW5zb3JzLmQKKworICAgICMgSW5zdGFsbCBzZW5zb3JkIGNvbmZpZ3VyYXRpb24gZmlsZQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NlbnNvcmQuY29uZiAke0R9JHtzeXNjb25mZGlyfQorCisgICAgIyBJbnN0YWxsIHNlbnNvcmQuY2dpIHNjcmlwdCBhbmQgY3JlYXRlIHdvcmxkLXdyaXRhYmxlCisgICAgIyB3ZWItYWNjZXNzaWJsZSBzZW5zb3JkIGRpcmVjdG9yeQorICAgIGluc3RhbGwgLWQgJHtEfS93d3cvcGFnZXMvY2dpLWJpbgorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3NlbnNvcmQuY2dpICR7RH0vd3d3L3BhZ2VzL2NnaS1iaW4KKyAgICBpbnN0YWxsIC1kIC1tIGE9cnd4cyAke0R9L3d3dy9wYWdlcy9zZW5zb3JkCit9CisKKyMgbGlic2Vuc29ycyBjb25maWd1cmF0aW9uCitQQUNLQUdFUyA9KyAiJHtQTn0tbGlic2Vuc29ycyIKKworIyBzZW5zb3JkIGxvZ2dpbmcgZGFlbW9uIGNvbmZpZ3VyYXRpb24KK1BBQ0tBR0VTID0rICIke1BOfS1zZW5zb3JkIgorCisjIGZhbmNvbnRyb2wgc2NyaXB0IGNvbmZpZ3VyYXRpb24KK1BBQ0tBR0VTID0rICIke1BOfS1mYW5jb250cm9sIgorCisjIHNlbnNvcmQgd2ViIGNnaSBzdXBwb3J0CitQQUNLQUdFUyA9KyAiJHtQTn0tY2dpIgorUlJFQ09NTUVORFNfJHtQTn0tY2dpID0gImxpZ2h0dHBkIGxpZ2h0dHBkLW1vZHVsZS1jZ2kiCitSREVQRU5EU18ke1BOfS1jZ2kgPSAiJHtQTn0tc2Vuc29yZCBycmR0b29sIgorRklMRVNfJHtQTn0tY2dpID0gIi93d3cvKiIgCisKKyMgbGlic2Vuc29ycyBjb25maWd1cmF0aW9uIGZpbGUKK0ZJTEVTXyR7UE59LWxpYnNlbnNvcnMgPSAiJHtzeXNjb25mZGlyfS9zZW5zb3JzLmQvc2Vuc29ycy5jb25mIgorCisjIHNlbnNvcmQgbG9nZ2luZyBkYWVtb24gY29uZmlndXJhdGlvbiBmaWxlcworRklMRVNfJHtQTn0tc2Vuc29yZCA9ICJcCisgICAgJHtzeXNjb25mZGlyfS9zZW5zb3JkLmNvbmYgXAorICAgICR7c3lzY29uZmRpcn0vc3lzY29uZmlnL3NlbnNvcmQgXAorIgorCisjIGZhbmNvbnRyb2wgc2NyaXB0IGNvbmZpZ3VyYXRpb24gZmlsZQorRklMRVNfJHtQTn0tZmFuY29udHJvbCA9ICIke3N5c2NvbmZkaXJ9L2ZhbmNvbnRyb2wiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzL2ZhbmNvbnRyb2wuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnMvZmFuY29udHJvbC5pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0MzMwMjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzL2ZhbmNvbnRyb2wuaW5pdApAQCAtMCwwICsxLDQ3IEBACisjIS9iaW4vc2gKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIGZhbmNvbnRyb2wKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICRsb2NhbF9mcworIyBTaG91bGQtU3RhcnQ6CisjIFJlcXVpcmVkLVN0b3A6ICAgICAkbG9jYWxfZnMKKyMgU2hvdWxkLVN0b3A6CisjIERlZmF1bHQtU3RhcnQ6ICAgICAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDogICAgICAwIDEgNgorIyBTaG9ydC1EZXNjcmlwdGlvbjogZmFuY29udHJvbCBpbml0c2NyaXB0CisjIERlc2NyaXB0aW9uOiAgICAgICBTdGFydHMgYW5kIGNvbnRyb2xzIHRoZSBmYW5jb250cm9sIGRhZW1vbgorIyMjIEVORCBJTklUIElORk8KKworUEFUSD0vc2JpbjovdXNyL3NiaW46L2JpbjovdXNyL2JpbgorCitERVNDPSJmYW4gY29udHJvbCBkYWVtb24iCitOQU1FPSJmYW5jb250cm9sIgorRkFOQ09OVFJPTD1gd2hpY2ggJE5BTUVgCitQSURGSUxFPSIvdmFyL3J1bi9mYW5jb250cm9sLnBpZCIKKworIyBFeGl0IGlmIHRoZSBwYWNrYWdlIGlzIG5vdCBpbnN0YWxsZWQKK1sgLXggIiRGQU5DT05UUk9MIiBdIHx8IGV4aXQgMAorCitjYXNlICIkMSIgaW4KKyAgICBzdGFydCkKKyAgICAgICAgZWNobyAtbiAiU3RhcnRpbmcgJERFU0M6ICROQU1FLi4uICIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLVMgLXAgJFBJREZJTEUgLWIgLXggJEZBTkNPTlRST0wKKyAgICAgICAgZWNobyAiZG9uZS4iCisgICAgICAgIDs7CisgICAgc3RvcCkKKyAgICAgICAgZWNobyAtbiAiU3RvcHBpbmcgJERFU0M6ICROQU1FLi4uICIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLUsgLXAgJFBJREZJTEUKKyAgICAgICAgZWNobyAiZG9uZS4iCisgICAgICAgIDs7CisgICAgcmVzdGFydCkKKyAgICAgICAgZWNobyAiUmVzdGFydGluZyAkREVTQzogJE5BTUUuLi4gIgorICAgICAgICAkMCBzdG9wCisgICAgICAgICQwIHN0YXJ0CisgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICA7OworICAgICopCisgICAgICAgIGVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxyZXN0YXJ0fSIKKyAgICAgICAgZXhpdCAxCisgICAgICAgIDs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy9zZW5zb3JkLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xtX3NlbnNvcnMvbG1zZW5zb3JzL3NlbnNvcmQuaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTA5Y2QzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29ycy9zZW5zb3JkLmluaXQKQEAgLTAsMCArMSw0OSBAQAorIyEgL2Jpbi9zaAorIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgc2Vuc29yZAorIyBSZXF1aXJlZC1TdGFydDogICAgJGxvY2FsX2ZzCisjIFNob3VsZC1TdGFydDoKKyMgUmVxdWlyZWQtU3RvcDogICAgICRsb2NhbF9mcworIyBTaG91bGQtU3RvcDoKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBzZW5zb3JkIGluaXRzY3JpcHQKKyMgRGVzY3JpcHRpb246ICAgICAgIFN0YXJ0cyB0aGUgc2Vuc29yZCBsb2dnaW5nIGRhZW1vbgorIyMjIEVORCBJTklUIElORk8KKworUEFUSD0vc2JpbjovdXNyL3NiaW46L2JpbjovdXNyL2JpbgorCitERVNDPSJzZW5zb3JzIGxvZ2dpbmcgZGFlbW9uIgorTkFNRT0ic2Vuc29yZCIKK1NFTlNPUkQ9YHdoaWNoICROQU1FYAorCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucyB8fCBleGl0IDEKKy4gL2V0Yy9zZW5zb3JkLmNvbmYgfHwgZXhpdCAxCisKKyMgRXhpdCBpZiB0aGUgcGFja2FnZSBpcyBub3QgaW5zdGFsbGVkCitbIC14ICIkU0VOU09SRCIgXSB8fCBleGl0IDAKKworY2FzZSAiJDEiIGluCisgICAgc3RhcnQpCisgICAgICAgIGVjaG8gLW4gIlN0YXJ0aW5nICRERVNDOiAkTkFNRS4uLiAiCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC1TIC14ICRTRU5TT1JEIC0tICRTRU5TT1JEX0FSR1MKKyAgICAgICAgZWNobyAiZG9uZS4iCisgICAgICAgIDs7CisgICAgc3RvcCkKKyAgICAgICAgZWNobyAtbiAiU3RvcHBpbmcgJERFU0M6ICROQU1FLi4uICIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLUsgLXggJFNFTlNPUkQKKyAgICAgICAgZWNobyAiZG9uZS4iCisgICAgICAgIDs7CisgICAgcmVzdGFydCkKKyAgICAgICAgZWNobyAiUmVzdGFydGluZyAkREVTQzogJE5BTUUuLi4gIgorICAgICAgICAkMCBzdG9wCisgICAgICAgICQwIHN0YXJ0CisgICAgICAgIGVjaG8gImRvbmUuIgorICAgICAgICA7OworICAgICopCisgICAgICAgIGVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxyZXN0YXJ0fSIKKyAgICAgICAgZXhpdCAxCisgICAgICAgIDs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sbV9zZW5zb3JzL2xtc2Vuc29yc18zLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnNfMy40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU3YTU3YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG1fc2Vuc29ycy9sbXNlbnNvcnNfMy40LjAuYmIKQEAgLTAsMCArMSwxMzMgQEAKK1NVTU1BUlkgPSAibG1fc2Vuc29ycyIKK0RFU0NSSVBUSU9OID0gIkhhcmR3YXJlIGhlYWx0aCBtb25pdG9yaW5nIGFwcGxpY2F0aW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubG0tc2Vuc29ycy5vcmcvIgorTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxHUEw7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitERVBFTkRTID0gInN5c2ZzdXRpbHMgdmlydHVhbC9saWJpY29udiBiaXNvbi1uYXRpdmUgZmxleC1uYXRpdmUgcnJkdG9vbCIKKworU1JDX1VSSSA9ICJodHRwOi8vZGwubG0tc2Vuc29ycy5vcmcvbG0tc2Vuc29ycy9yZWxlYXNlcy9sbV9zZW5zb3JzLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vZmFuY29udHJvbC5pbml0IFwKKyAgICAgICAgICAgZmlsZTovL3NlbnNvcmQuaW5pdCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiYzAzNjc1YWU5ZDQzZDYwMzIyMTEwYzY3OTQxNjkwMWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTA1NzkwMTYwODFhMjYyZGQyM2VhZmUxZDIyYjQxZWJkZTc4OTIxZTczYTFkY2VmNzFlMDVlNDI0MzQwMDYxZiIKKworaW5oZXJpdCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0tZmFuY29udHJvbCAke1BOfS1zZW5zb3JkIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LWZhbmNvbnRyb2wgPSAiZmFuY29udHJvbCIKK0lOSVRTQ1JJUFRfTkFNRV8ke1BOfS1zZW5zb3JkID0gInNlbnNvcmQiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfS1mYW5jb250cm9sID0gImRlZmF1bHRzIDY2IgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0tc2Vuc29yZCA9ICJkZWZhdWx0cyA2NyIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfS1zZW5zb3JkIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNlbnNvcmQgPSAic2Vuc29yZC5zZXJ2aWNlIGxtX3NlbnNvcnMuc2VydmljZSBmYW5jb250cm9sLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK1MgPSAiJHtXT1JLRElSfS9sbV9zZW5zb3JzLSR7UFZ9IgorCitFWFRSQV9PRU1BS0UgPSAnRVhMREZMQUdTPSIke0xERkxBR1N9IiBcCisgICAgICAgIE1BQ0hJTkU9JHtUQVJHRVRfQVJDSH0gUFJFRklYPSR7cHJlZml4fSBNQU5ESVI9JHttYW5kaXJ9IFwKKyAgICAgICAgTElCRElSPSR7bGliZGlyfSBcCisgICAgICAgIENDPSIke0NDfSIgQVI9IiR7QVJ9IicKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIHVzZXIgUFJPR19FWFRSQT0ic2Vuc29ycyBzZW5zb3JkIgorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgdXNlcl9pbnN0YWxsIERFU1RESVI9JHtEfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3Byb2cvc2Vuc29yZC9zZW5zb3JkICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vcHJvZy9zZW5zb3JkL3NlbnNvcmQuOCAke0R9JHttYW5kaXJ9L21hbjgKKworICAgICMgSW5zdGFsbCBkaXJlY3RvcnkKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCisgICAgIyBJbnN0YWxsIGZhbmNvbnRyb2wgaW5pdCBzY3JpcHQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9mYW5jb250cm9sLmluaXQgXAorICAgICAgICAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvZmFuY29udHJvbAorCisgICAgIyBJbnN0YWxsIHNlbnNvcmQgaW5pdCBzY3JpcHQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9zZW5zb3JkLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3NlbnNvcmQKKworICAgICMgSW5zYWxsIHNlbnNvcmQgc2VydmljZSBzY3JpcHQKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vcHJvZy9pbml0Lyouc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGZpCit9CisKKyMgbGlic2Vuc29ycyBwYWNrYWdlcworUEFDS0FHRVMgPSsgIiR7UE59LWxpYnNlbnNvcnMgJHtQTn0tbGlic2Vuc29ycy1kYmcgJHtQTn0tbGlic2Vuc29ycy1kZXYgJHtQTn0tbGlic2Vuc29ycy1zdGF0aWNkZXYgJHtQTn0tbGlic2Vuc29ycy1kb2MiCisKKyMgc2Vuc29ycyBjb21tYW5kIHBhY2thZ2VzCitQQUNLQUdFUyA9KyAiJHtQTn0tc2Vuc29ycyAke1BOfS1zZW5zb3JzLWRiZyAke1BOfS1zZW5zb3JzLWRvYyIKKworIyBzZW5zb3JkIGxvZ2dpbmcgZGFlbW9uCitQQUNLQUdFUyA9KyAiJHtQTn0tc2Vuc29yZCAke1BOfS1zZW5zb3JkLWRiZyAke1BOfS1zZW5zb3JkLWRvYyIKKworIyBmYW5jb250cm9sIHNjcmlwdAorUEFDS0FHRVMgPSsgIiR7UE59LWZhbmNvbnRyb2wgJHtQTn0tZmFuY29udHJvbC1kb2MiCisKKyMgc2Vuc29ycy1kZXRlY3Qgc2NyaXB0CitQQUNLQUdFUyA9KyAiJHtQTn0tc2Vuc29yc2RldGVjdCAke1BOfS1zZW5zb3JzZGV0ZWN0LWRvYyIKKworIyBzZW5zb3JzLWNvbmYtY29udmVydCBzY3JpcHQKK1BBQ0tBR0VTID0rICIke1BOfS1zZW5zb3JzY29uZmNvbnZlcnQgJHtQTn0tc2Vuc29yc2NvbmZjb252ZXJ0LWRvYyIKKworIyBwd21jb25maWcgc2NyaXB0CitQQUNLQUdFUyA9KyAiJHtQTn0tcHdtY29uZmlnICR7UE59LXB3bWNvbmZpZy1kb2MiCisKKyMgaXNhZHVtcCBhbmQgaXNhc2V0IGhlbHBlciBwcm9ncmFtCitQQUNLQUdFUyA9KyAiJHtQTn0taXNhdG9vbHMgJHtQTn0taXNhdG9vbHMtZGJnICR7UE59LWlzYXRvb2xzLWRvYyIKKworIyBsaWJzZW5zb3JzIGZpbGVzCitGSUxFU18ke1BOfS1saWJzZW5zb3JzID0gIiR7bGliZGlyfS9saWJzZW5zb3JzLnNvLiogJHtzeXNjb25mZGlyfS9zZW5zb3JzMy5jb25mICR7c3lzY29uZmRpcn0vc2Vuc29ycy5kIgorRklMRVNfJHtQTn0tbGlic2Vuc29ycy1kYmcgPSAiJHtsaWJkaXJ9Ly5kZWJ1ZyAke3ByZWZpeH0vc3JjL2RlYnVnIgorRklMRVNfJHtQTn0tbGlic2Vuc29ycy1kZXYgPSAiJHtsaWJkaXJ9L2xpYnNlbnNvcnMuc28gJHtpbmNsdWRlZGlyfSIKK0ZJTEVTXyR7UE59LWxpYnNlbnNvcnMtc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJzZW5zb3JzLmEiCitGSUxFU18ke1BOfS1saWJzZW5zb3JzLWRvYyA9ICIke21hbmRpcn0vbWFuMyIKK1JSRUNPTU1FTkRTXyR7UE59LWxpYnNlbnNvcnMgPSAibG1zZW5zb3JzLWNvbmZpZy1saWJzZW5zb3JzIgorCisjIHNlbnNvcnMgY29tbWFuZCBmaWxlcworRklMRVNfJHtQTn0tc2Vuc29ycyA9ICIke2JpbmRpcn0vc2Vuc29ycyIKK0ZJTEVTXyR7UE59LXNlbnNvcnMtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvc2Vuc29ycyIKK0ZJTEVTXyR7UE59LXNlbnNvcnMtZG9jID0gIiR7bWFuZGlyfS9tYW4xICR7bWFuZGlyfS9tYW41IgorUkRFUEVORFNfJHtQTn0tc2Vuc29ycyA9ICIke1BOfS1saWJzZW5zb3JzIgorCisjIHNlbnNvcmQgbG9nZ2luZyBkYWVtb24KK0ZJTEVTXyR7UE59LXNlbnNvcmQgPSAiJHtzYmluZGlyfS9zZW5zb3JkICR7c3lzY29uZmRpcn0vaW5pdC5kL3NlbnNvcmQgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zZW5zb3JkLnNlcnZpY2UiCitGSUxFU18ke1BOfS1zZW5zb3JkLWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnL3NlbnNvcmQiCitGSUxFU18ke1BOfS1zZW5zb3JkLWRvYyA9ICIke21hbmRpcn0vbWFuOC9zZW5zb3JkLjgiCitSREVQRU5EU18ke1BOfS1zZW5zb3JkID0gIiR7UE59LXNlbnNvcnMgcnJkdG9vbCIKK1JSRUNPTU1FTkRTXyR7UE59LXNlbnNvcmQgPSAibG1zZW5zb3JzLWNvbmZpZy1zZW5zb3JkIgorCisjIGZhbmNvbnRyb2wgc2NyaXB0IGZpbGVzCitGSUxFU18ke1BOfS1mYW5jb250cm9sID0gIiR7c2JpbmRpcn0vZmFuY29udHJvbCAke3N5c2NvbmZkaXJ9L2luaXQuZC9mYW5jb250cm9sIgorRklMRVNfJHtQTn0tZmFuY29udHJvbC1kb2MgPSAiJHttYW5kaXJ9L21hbjgvZmFuY29udHJvbC44IgorUkRFUEVORFNfJHtQTn0tZmFuY29udHJvbCA9ICJiYXNoIgorUlJFQ09NTUVORFNfJHtQTn0tZmFuY29udHJvbCA9ICJsbXNlbnNvcnMtY29uZmlnLWZhbmNvbnRyb2wiCisKKyMgc2Vuc29ycy1kZXRlY3Qgc2NyaXB0IGZpbGVzCitGSUxFU18ke1BOfS1zZW5zb3JzZGV0ZWN0ID0gIiR7c2JpbmRpcn0vc2Vuc29ycy1kZXRlY3QiCitGSUxFU18ke1BOfS1zZW5zb3JzZGV0ZWN0LWRvYyA9ICIke21hbmRpcn0vbWFuOC9zZW5zb3JzLWRldGVjdC44IgorUkRFUEVORFNfJHtQTn0tc2Vuc29yc2RldGVjdCA9ICIke1BOfS1zZW5zb3JzIHBlcmwgcGVybC1tb2R1bGVzIgorCisjIHNlbnNvcnMtY29uZi1jb252ZXJ0IHNjcmlwdCBmaWxlcworRklMRVNfJHtQTn0tc2Vuc29yc2NvbmZjb252ZXJ0ID0gIiR7YmluZGlyfS9zZW5zb3JzLWNvbmYtY29udmVydCIKK0ZJTEVTXyR7UE59LXNlbnNvcnNjb25mY29udmVydC1kb2MgPSAiJHttYW5kaXJ9L21hbjgvc2Vuc29ycy1jb25mLWNvbnZlcnQuOCIKK1JERVBFTkRTXyR7UE59LXNlbnNvcnNjb25mY29udmVydCA9ICIke1BOfS1zZW5zb3JzIHBlcmwgcGVybC1tb2R1bGVzIgorCisjIHB3bWNvbmZpZyBzY3JpcHQgZmlsZXMKK0ZJTEVTXyR7UE59LXB3bWNvbmZpZyA9ICIke3NiaW5kaXJ9L3B3bWNvbmZpZyIKK0ZJTEVTXyR7UE59LXB3bWNvbmZpZy1kb2MgPSAiJHttYW5kaXJ9L21hbjgvcHdtY29uZmlnLjgiCitSREVQRU5EU18ke1BOfS1wd21jb25maWcgPSAiJHtQTn0tZmFuY29udHJvbCIKKworIyBpc2FkdW1wIGFuZCBpc2FzZXQgaGVscGVyIHByb2dyYW0gZmlsZXMKK0ZJTEVTXyR7UE59LWlzYXRvb2xzID0gIiR7c2JpbmRpcn0vaXNhKiIKK0ZJTEVTXyR7UE59LWlzYXRvb2xzLWRiZyA9ICIke3NiaW5kaXJ9Ly5kZWJ1Zy9pc2EqIgorRklMRVNfJHtQTn0taXNhdG9vbHMtZG9jID0gIiR7bWFuZGlyfS9tYW44L2lzYSoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDIzYjlhNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2X2dpdC5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIkxvY2tpbmcgZGV2aWNlcyBsaWJyYXJ5IgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU09ImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworUFYgPSAiMS4wLjMrZ2l0JHtTUkNQVn0iCisKK1NSQ1JFViA9ICIxNmI4OTk2NDVkMzIwMTJjYzk0Y2M5MjMyZjY0ZDRkZGFhZjBiNzk1IgorU1JDX1VSSSA9ICJnaXQ6Ly9hbm9uc2NtLmRlYmlhbi5vcmcvbG9ja2Rldi9sb2NrZGV2LmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBsaWJfcGFja2FnZSBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICAuL3NjcmlwdHMvZ2l0LXZlcnNpb24gPiBWRVJTSU9OCisKKyAgICAjIE1ha2UgYXV0b21ha2UgaGFwcHkKKyAgICB0b3VjaCBDaGFuZ2VMb2cKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9nNGMvbG9nNGMvZml4X2NvbmZpZ3VyZV93aXRoLWV4cGF0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2c0Yy9sb2c0Yy9maXhfY29uZmlndXJlX3dpdGgtZXhwYXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDg3MmViNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9nNGMvbG9nNGMvZml4X2NvbmZpZ3VyZV93aXRoLWV4cGF0LnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK1RoZSBvcmlnaW5hbCB1c2Ugb2YgQUNfQVJHX1dJVEggaXMgYnVnZ3kgYW5kIGNhdXNlcyBleHBhdCBzdXBwb3J0Cit0byBiZSAqZGlzYWJsZWQqIGlmICItLXdpdGgtZXhwYXQiIGlzIHBhc3NlZCB0byBjb25maWd1cmUuCisKK1Vwc3RyZWFtIHN0YXR1czogcGVuZGluZworCitJbmRleDogbG9nNGMtMS4yLjQvY29uZmlndXJlLmluCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbG9nNGMtMS4yLjQub3JpZy9jb25maWd1cmUuaW4KKysrKyBsb2c0Yy0xLjIuNC9jb25maWd1cmUuaW4KK0BAIC0yMTcsOSArMjE3LDkgQEAgQUNfQVJHX1dJVEgoZXhwYXQsCisgICAgICAgICAgICAgICAgICAgICBoYXZlIGFueSBlZmZlY3QgYW5kIExvZzRDIHVzZXMgc29tZSBidW5kbGVkIHlhY2MvbGV4IGNvZGUKKyAgICAgICAgICAgICAgICAgICAgIGZvciBwYXJzaW5nIGl0J3MgY29uZmlndXJhdGlvbiBmaWxlLgorICAgICAgICAgICAgICAgICAgICAgXSksCistICAgICAgICAgICAgICAgICAgICB3aXRoX2V4cGF0PW5vLAorKyAgICAgICAgICAgICAgICAgICAgW10sCisgICAgICAgICAgICAgICAgICAgICB3aXRoX2V4cGF0PXllcykKKy1pZiB0ZXN0IHgkd2l0aF9leHBhdCA9IHh5ZXMgOyB0aGVuCisraWYgdGVzdCB4JHdpdGhfZXhwYXQgIT0geG5vIDsgdGhlbgorICB1c2VfZXhwYXQ9eWVzCisgIEFNX1BBVEhfRVhQQVQoMS45NS4xKQorIGZpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvZzRjL2xvZzRjXzEuMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2c0Yy9sb2c0Y18xLjIuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjg2YjA4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2c0Yy9sb2c0Y18xLjIuNC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkxvZzRjIGlzIGEgQyBsaWJyYXJ5IGZvciBmbGV4aWJsZSBsb2dnaW5nIHRvIGZpbGVzLCBzeXNsb2cgYW5kIG90aGVyIGRlc3RpbmF0aW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly9sb2c0Yy5zb3VyY2Vmb3JnZS5uZXQiCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeF9jb25maWd1cmVfd2l0aC1leHBhdC5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjBkOTQ5MTkxMzZlMWQxNmI2ODQyNzU2MmU3NGNiM2RkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU5OTEwMjAxOTJmNTJjYzQwZmE4NTJmYmY2YmJmNWJkNWRiNWQ1ZDAwYWE5OTA1YzY3ZjZmMGVhZGVlZDQ4ZWEiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJleHBhdCIKK1BBQ0tBR0VDT05GSUdbZXhwYXRdID0gIi0td2l0aC1leHBhdCwtLXdpdGhvdXQtZXhwYXQsZXhwYXQiCisKK0JJTkNPTkZJRyA9ICIke2JpbmRpcn0vbG9nNGMtY29uZmlnIgorCitpbmhlcml0IGF1dG90b29scyBiaW5jb25maWctZGlzYWJsZWQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9nNGNwcC9maWxlcy9maXgtcGMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvZzRjcHAvZmlsZXMvZml4LXBjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4ZmI0MmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvZzRjcHAvZmlsZXMvZml4LXBjLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK2RpZmYgLU51cmQgLi9sb2c0Y3BwLm9yaWcvY29uZmlndXJlLmluIC4vbG9nNGNwcC9jb25maWd1cmUuaW4KKy0tLSAuL2xvZzRjcHAub3JpZy9jb25maWd1cmUuaW4JMjAwOS0wOS0wNyAxNjo1Nzo0Ni4wMDAwMDAwMDAgLTA0MDAKKysrKyAuL2xvZzRjcHAvY29uZmlndXJlLmluCTIwMTYtMDItMjMgMTI6NTc6MTEuNTY3MjQwMDE4IC0wNTAwCitAQCAtMTMwLDcgKzEzMCw2IEBACisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisgQUNfQ09ORklHX0xJQkNPTkZJR19JTihbbG9nNGNwcF0pCistQUNfQ09ORklHX1BLR0NPTkZJR19JTihbbG9nNGNwcF0sIFtDKysgbGlicmFyeSBmb3IgZmxleGlibGUgbG9nZ2luZywgbW9kZWxlZCBhZnRlciBMb2c0al0pCisgCisgQUNfQ09ORklHX0ZJTEVTKFsKKyBNYWtlZmlsZQorZGlmZiAtTnVyZCAuL2xvZzRjcHAub3JpZy9sb2c0Y3BwLnBjLmluIC4vbG9nNGNwcC9sb2c0Y3BwLnBjLmluCistLS0gLi9sb2c0Y3BwLm9yaWcvbG9nNGNwcC5wYy5pbgkyMDA0LTAxLTI3IDA1OjI0OjI1LjAwMDAwMDAwMCAtMDUwMAorKysrIC4vbG9nNGNwcC9sb2c0Y3BwLnBjLmluCTIwMTYtMDItMjIgMTU6MDY6NTUuNzY5MzI3NDkxIC0wNTAwCitAQCAtNyw0ICs3LDQgQEAKKyBEZXNjcmlwdGlvbjogQysrIGxpYnJhcnkgZm9yIGZsZXhpYmxlIGxvZ2dpbmcsIG1vZGVsZWQgYWZ0ZXIgTG9nNGoKKyBWZXJzaW9uOiBAVkVSU0lPTkAKKyBMaWJzOiAtTCR7bGliZGlyfSBAbG9nNGNwcF9saWJzQAorLUNmbGFnczogLUkke2luY2x1ZGVkaXJ9IEBsb2c0Y3BwX2NmbGFnc0AKKytDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2c0Y3BwL2xvZzRjcHBfMS4xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvZzRjcHAvbG9nNGNwcF8xLjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jN2JmMjg4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2c0Y3BwL2xvZzRjcHBfMS4xLjEuYmIKQEAgLTAsMCArMSwyMyBAQAorREVTQ1JJUFRJT04gPSAiQSBsaWJyYXJ5IG9mIEMrKyBjbGFzc2VzIGZvciBmbGV4aWJsZSBsb2dnaW5nIHRvIGZpbGVzLCBzeXNsb2csIElEU0EgYW5kIG90aGVyIGRlc3RpbmF0aW9ucy4iCitIT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xvZzRjcHAvIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWUxNzNkZjhlZTk3MjA1ZjQxMmZmODRhYTkzYjhmYmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzVhYmYzMzI2MzBhNjgwOWM5NjkyNzZiMWQ2MGI5MGM4MWE5NWRhZjI0Yzg2Y2ZkNzg2NmZmZWY3MmY5YmVkMCIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC8ke0JQTn0vJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1wYy5wYXRjaDtzdHJpcGxldmVsPTIgXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1lbmFibGUtZG94eWdlbj1ubyBcCisgICAgLS1lbmFibGUtZG90PW5vIFwKKyAgICAtLWVuYWJsZS1odG1sLWRvY3M9bm8gXAorICAgIC0tZW5hYmxlLWxhdGV4LWRvY3M9bm8gXAorICAgIExERkxBR1M9LXB0aHJlYWQgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhNWUxYzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi5pbmMKQEAgLTAsMCArMSw2OCBAQAorU0VDVElPTiA9ICJ1dGlscyIKK0RFU0NSSVBUSU9OID0gIkxWTTIgaXMgYSBzZXQgb2YgdXRpbGl0aWVzIHRvIG1hbmFnZSBsb2dpY2FsIHZvbHVtZXMgaW4gTGludXguIgorREVQRU5EUyA9ICJ1ZGV2IgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCIKKworU1JDX1VSSSA9ICJmdHA6Ly9zb3VyY2VzLnJlZGhhdC5jb20vcHViL2x2bTIvb2xkL0xWTTIuJHtQVn0udGd6IFwKKyAgICAgICAgICAgZmlsZTovL2x2bS5jb25mIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaW1wbGVtZW50LWxpYmMtc3BlY2lmaWMtX3Jlb3Blbl9zdHJlYW0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi11c2UtUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkUtaW5zdGVhZC1vZi1QVEhSRUFEX01VVEVYLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtR3VhcmQtdXNlLW9mLW1hbGxpbmZvLXdpdGgtX19HTElCQ19fLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtaW5jbHVkZS1mY250bC5oLWZvci1PXy1kZWZpbmVzLWFuZC1mY250bC1zaWduYXR1cmUucGF0Y2ggXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9MVk0yLiR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHN5c3RlbWQKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc2VsaW51eCcsICdzZWxpbnV4JywgJycsIGQpfSIKKworUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS1lbmFibGUtcmVhZGxpbmUsLS1kaXNhYmxlLXJlYWRsaW5lLHJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLWVuYWJsZS1zZWxpbnV4LC0tZGlzYWJsZS1zZWxpbnV4LGxpYnNlbGludXgiCisKKyMgVW5zZXQgdXNlci9ncm91cCB0byB1bmJyZWFrIGluc3RhbGwuCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXVzZXI9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtZ3JvdXA9IFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtb19kaXJlY3QgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXJlYWx0aW1lIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1hcHBsaWIgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWNtZGxpYiBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtdWRldl9zeW5jIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS11ZGV2X3J1bGVzIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1wa2djb25maWcgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWRtZXZlbnRkIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1sdm1ldGFkIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtdWRldi1wcmVmaXg9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtdXNybGliZGlyPSR7bGliZGlyfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0gXAorIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIEluc3RhbGwgbWFjaGluZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGZpbGUKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9sdm0uY29uZiAke0R9JHtzeXNjb25mZGlyfS9sdm0vbHZtLmNvbmYKKyAgICBzZWQgLWkgLWUgJ3M6QGxpYmRpckA6JHtsaWJkaXJ9OmcnICR7RH0ke3N5c2NvbmZkaXJ9L2x2bS9sdm0uY29uZgorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsIGluc3RhbGxfc3lzdGVtZF91bml0cworICAgICAgICBzZWQgLWkgLWUgJ3M6L3Vzci9iaW4vdHJ1ZToke2Jhc2VfYmluZGlyfS90cnVlOmcnICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2Jsay1hdmFpbGFiaWxpdHkuc2VydmljZQorICAgIGVsc2UKKyAgICAgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsIGluc3RhbGxfaW5pdHNjcmlwdHMKKyAgICAgICAgbXYgJHtEfSR7c3lzY29uZmRpcn0vcmMuZC9pbml0LmQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIHJtIC1yZiAke0R9JHtzeXNjb25mZGlyfS9yYy5kCisgICAgZmkKK30KKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJsdm0yLW1vbml0b3Iuc2VydmljZSBkbS1ldmVudC5zb2NrZXQgZG0tZXZlbnQuc2VydmljZSBsdm0yLWx2bWV0YWQuc29ja2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsdm0yLXB2c2NhbkAuc2VydmljZSBibGstYXZhaWxhYmlsaXR5LnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2RldmljZS1tYXBwZXIvKi5zbyAke2Jhc2VfbGliZGlyfS91ZGV2IgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZGV2aWNlLW1hcHBlci8uZGVidWciCisKK1JERVBFTkRTXyR7UE59ID0gImJhc2giCisKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9sdm0vbHZtLmNvbmYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAxLWltcGxlbWVudC1saWJjLXNwZWNpZmljLV9yZW9wZW5fc3RyZWFtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMS1pbXBsZW1lbnQtbGliYy1zcGVjaWZpYy1fcmVvcGVuX3N0cmVhbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGI0ZTcxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMS1pbXBsZW1lbnQtbGliYy1zcGVjaWZpYy1fcmVvcGVuX3N0cmVhbS5wYXRjaApAQCAtMCwwICsxLDEzOSBAQAorRnJvbSAwODljOWM3MDFhMWI2OGI3MjFmNDc5ZGZjMGM1OGMzNWI5ZGQ0MTc1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjAgSmFuIDIwMTYgMDQ6Mzk6NTMgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzRdIGltcGxlbWVudCBsaWJjIHNwZWNpZmljIF9yZW9wZW5fc3RyZWFtCisKK211c2wgZGVmaW5lcyBzdGRpbi9zdGRpby9zdGRlcnIgYXMgY29uc3RhbnQgdHlwZXMgd2hpY2ggbWVhbnMKK3dlIGNhbiBub3QgYXNzaWduIHRvIHRoZW0gYXMgd2UgYXJlIGRvaW5nIGhlcmUgYnV0IHdvcmtzIG9rIHdpdGggZ2xpYmMKK3RoZXJlZm9yZSBhYnN0cmFjdCBvdXQgdGhlIF9yZW9wZW5fc3RyZWFtIGRlZmluaXRpb24gZGVwZW5kaW5nIHVwb24gaWYKK3dlIGFyZSB1c2luZyBnbGliYyBvciBvdGhlcndpc2UKKworT3JpZ2luOgoraHR0cDovL2dpdC5hbHBpbmVsaW51eC5vcmcvY2dpdC9hcG9ydHMvdHJlZS9tYWluL2x2bTIvZml4LXN0ZGlvLXVzYWdlLnBhdGNoCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCisgbGliL2NvbW1hbmRzL3Rvb2xjb250ZXh0LmMgfCAyMiArKysrKysrKysrKy0tLS0tLS0tLS0tCisgdG9vbHMvbHZtY21kbGluZS5jICAgICAgICAgfCAgNiArKystLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL2NvbW1hbmRzL3Rvb2xjb250ZXh0LmMgYi9saWIvY29tbWFuZHMvdG9vbGNvbnRleHQuYworaW5kZXggYTJmMjFiOC4uN2Y3OTZlNCAxMDA2NDQKKy0tLSBhL2xpYi9jb21tYW5kcy90b29sY29udGV4dC5jCisrKysgYi9saWIvY29tbWFuZHMvdG9vbGNvbnRleHQuYworQEAgLTE2MzcsNyArMTYzNywxMCBAQCBzdGF0aWMgdm9pZCBfaW5pdF9nbG9iYWxzKHN0cnVjdCBjbWRfY29udGV4dCAqY21kKQorIC8qCisgICogQ2xvc2UgYW5kIHJlb3BlbiBzdHJlYW0gb24gZmlsZSBkZXNjcmlwdG9yIGZkLgorICAqLworLXN0YXRpYyBpbnQgX3Jlb3Blbl9zdHJlYW0oRklMRSAqc3RyZWFtLCBpbnQgZmQsIGNvbnN0IGNoYXIgKm1vZGUsIGNvbnN0IGNoYXIgKm5hbWUsIEZJTEUgKipuZXdfc3RyZWFtKQorKyNpZmRlZiBfX0dMSUJDX18KKysjZGVmaW5lIF9yZW9wZW5fc3RyZWFtKHN0cmVhbSwgZmQsIG1vZGUsIG5hbWUpIF9fcmVvcGVuX3N0cmVhbShzdHJlYW0sIGZkLCBtb2RlLCBuYW1lLCAmc3RyZWFtKQorKworK3N0YXRpYyBpbnQgX19yZW9wZW5fc3RyZWFtKEZJTEUgKnN0cmVhbSwgaW50IGZkLCBjb25zdCBjaGFyICptb2RlLCBjb25zdCBjaGFyICpuYW1lLCBGSUxFICoqbmV3X3N0cmVhbSkKKyB7CisgCWludCBmZF9jb3B5LCBuZXdfZmQ7CisgCitAQCAtMTY2NCw2ICsxNjY3LDkgQEAgc3RhdGljIGludCBfcmVvcGVuX3N0cmVhbShGSUxFICpzdHJlYW0sIGludCBmZCwgY29uc3QgY2hhciAqbW9kZSwgY29uc3QgY2hhciAqbmEKKyAKKyAJcmV0dXJuIDE7CisgfQorKyNlbHNlCisrI2RlZmluZSBfcmVvcGVuX3N0cmVhbShzdHJlYW0sIGZkLCBtb2RlLCBuYW1lKSAoZnJlb3BlbihOVUxMLCBtb2RlLCBzdHJlYW0pICE9IE5VTEwpCisrI2VuZGlmCisgCisgc3RhdGljIGludCBfaW5pdF9sdm1ldGFkKHN0cnVjdCBjbWRfY29udGV4dCAqY21kKQorIHsKK0BAIC0xNzQxLDcgKzE3NDcsNiBAQCBzdHJ1Y3QgY21kX2NvbnRleHQgKmNyZWF0ZV90b29sY29udGV4dCh1bnNpZ25lZCBpc19sb25nX2xpdmVkLAorIAkJCQkgICAgICAgdW5zaWduZWQgc2V0X2ZpbHRlcnMpCisgeworIAlzdHJ1Y3QgY21kX2NvbnRleHQgKmNtZDsKKy0JRklMRSAqbmV3X3N0cmVhbTsKKyAJaW50IGZsYWdzOworIAorICNpZmRlZiBNX01NQVBfTUFYCitAQCAtMTc5MSw5ICsxNzk2LDggQEAgc3RydWN0IGNtZF9jb250ZXh0ICpjcmVhdGVfdG9vbGNvbnRleHQodW5zaWduZWQgaXNfbG9uZ19saXZlZCwKKyAJCWlmIChpc192YWxpZF9mZChTVERJTl9GSUxFTk8pICYmCisgCQkgICAgKChmbGFncyA9IGZjbnRsKFNURElOX0ZJTEVOTywgRl9HRVRGTCkpID4gMCkgJiYKKyAJCSAgICAoZmxhZ3MgJiBPX0FDQ01PREUpICE9IE9fV1JPTkxZKSB7CistCQkJaWYgKCFfcmVvcGVuX3N0cmVhbShzdGRpbiwgU1RESU5fRklMRU5PLCAiciIsICJzdGRpbiIsICZuZXdfc3RyZWFtKSkKKysJCQlpZiAoIV9yZW9wZW5fc3RyZWFtKHN0ZGluLCBTVERJTl9GSUxFTk8sICJyIiwgInN0ZGluIikpCisgCQkJCWdvdG9fb3V0OworLQkJCXN0ZGluID0gbmV3X3N0cmVhbTsKKyAJCQlpZiAoc2V0dmJ1ZihzdGRpbiwgY21kLT5saW5lYnVmZmVyLCBfSU9MQkYsIGxpbmVidWZmZXJfc2l6ZSkpIHsKKyAJCQkJbG9nX3N5c19lcnJvcigic2V0dmJ1ZiIsICIiKTsKKyAJCQkJZ290byBvdXQ7CitAQCAtMTgwMyw5ICsxODA3LDggQEAgc3RydWN0IGNtZF9jb250ZXh0ICpjcmVhdGVfdG9vbGNvbnRleHQodW5zaWduZWQgaXNfbG9uZ19saXZlZCwKKyAJCWlmIChpc192YWxpZF9mZChTVERPVVRfRklMRU5PKSAmJgorIAkJICAgICgoZmxhZ3MgPSBmY250bChTVERPVVRfRklMRU5PLCBGX0dFVEZMKSkgPiAwKSAmJgorIAkJICAgIChmbGFncyAmIE9fQUNDTU9ERSkgIT0gT19SRE9OTFkpIHsKKy0JCQlpZiAoIV9yZW9wZW5fc3RyZWFtKHN0ZG91dCwgU1RET1VUX0ZJTEVOTywgInciLCAic3Rkb3V0IiwgJm5ld19zdHJlYW0pKQorKwkJCWlmICghX3Jlb3Blbl9zdHJlYW0oc3Rkb3V0LCBTVERPVVRfRklMRU5PLCAidyIsICJzdGRvdXQiKSkKKyAJCQkJZ290b19vdXQ7CistCQkJc3Rkb3V0ID0gbmV3X3N0cmVhbTsKKyAJCQlpZiAoc2V0dmJ1ZihzdGRvdXQsIGNtZC0+bGluZWJ1ZmZlciArIGxpbmVidWZmZXJfc2l6ZSwKKyAJCQkJICAgICBfSU9MQkYsIGxpbmVidWZmZXJfc2l6ZSkpIHsKKyAJCQkJbG9nX3N5c19lcnJvcigic2V0dmJ1ZiIsICIiKTsKK0BAIC0yMTMxLDcgKzIxMzQsNiBAQCBpbnQgcmVmcmVzaF90b29sY29udGV4dChzdHJ1Y3QgY21kX2NvbnRleHQgKmNtZCkKKyB2b2lkIGRlc3Ryb3lfdG9vbGNvbnRleHQoc3RydWN0IGNtZF9jb250ZXh0ICpjbWQpCisgeworIAlzdHJ1Y3QgZG1fY29uZmlnX3RyZWUgKmNmdF9jbWRsaW5lOworLQlGSUxFICpuZXdfc3RyZWFtOworIAlpbnQgZmxhZ3M7CisgCisgCWlmIChjbWQtPmR1bXBfZmlsdGVyICYmIGNtZC0+ZmlsdGVyICYmIGNtZC0+ZmlsdGVyLT5kdW1wICYmCitAQCAtMjE2Nyw4ICsyMTY5LDcgQEAgdm9pZCBkZXN0cm95X3Rvb2xjb250ZXh0KHN0cnVjdCBjbWRfY29udGV4dCAqY21kKQorIAkJaWYgKGlzX3ZhbGlkX2ZkKFNURElOX0ZJTEVOTykgJiYKKyAJCSAgICAoKGZsYWdzID0gZmNudGwoU1RESU5fRklMRU5PLCBGX0dFVEZMKSkgPiAwKSAmJgorIAkJICAgIChmbGFncyAmIE9fQUNDTU9ERSkgIT0gT19XUk9OTFkpIHsKKy0JCQlpZiAoX3Jlb3Blbl9zdHJlYW0oc3RkaW4sIFNURElOX0ZJTEVOTywgInIiLCAic3RkaW4iLCAmbmV3X3N0cmVhbSkpIHsKKy0JCQkJc3RkaW4gPSBuZXdfc3RyZWFtOworKwkJCWlmIChfcmVvcGVuX3N0cmVhbShzdGRpbiwgU1RESU5fRklMRU5PLCAiciIsICJzdGRpbiIpKSB7CisgCQkJCXNldGxpbmVidWYoc3RkaW4pOworIAkJCX0gZWxzZQorIAkJCQljbWQtPmxpbmVidWZmZXIgPSBOVUxMOwkvKiBMZWF2ZSBidWZmZXIgaW4gcGxhY2UgKGRlbGliZXJhdGUgbGVhaykgKi8KK0BAIC0yMTc3LDggKzIxNzgsNyBAQCB2b2lkIGRlc3Ryb3lfdG9vbGNvbnRleHQoc3RydWN0IGNtZF9jb250ZXh0ICpjbWQpCisgCQlpZiAoaXNfdmFsaWRfZmQoU1RET1VUX0ZJTEVOTykgJiYKKyAJCSAgICAoKGZsYWdzID0gZmNudGwoU1RET1VUX0ZJTEVOTywgRl9HRVRGTCkpID4gMCkgJiYKKyAJCSAgICAoZmxhZ3MgJiBPX0FDQ01PREUpICE9IE9fUkRPTkxZKSB7CistCQkJaWYgKF9yZW9wZW5fc3RyZWFtKHN0ZG91dCwgU1RET1VUX0ZJTEVOTywgInciLCAic3Rkb3V0IiwgJm5ld19zdHJlYW0pKSB7CistCQkJCXN0ZG91dCA9IG5ld19zdHJlYW07CisrCQkJaWYgKF9yZW9wZW5fc3RyZWFtKHN0ZG91dCwgU1RET1VUX0ZJTEVOTywgInciLCAic3Rkb3V0IikpIHsKKyAJCQkJc2V0bGluZWJ1ZihzdGRvdXQpOworIAkJCX0gZWxzZQorIAkJCQljbWQtPmxpbmVidWZmZXIgPSBOVUxMOwkvKiBMZWF2ZSBidWZmZXIgaW4gcGxhY2UgKGRlbGliZXJhdGUgbGVhaykgKi8KK2RpZmYgLS1naXQgYS90b29scy9sdm1jbWRsaW5lLmMgYi90b29scy9sdm1jbWRsaW5lLmMKK2luZGV4IDY1Nzc5NzcuLmEzMzI1OGEgMTAwNjQ0CistLS0gYS90b29scy9sdm1jbWRsaW5lLmMKKysrKyBiL3Rvb2xzL2x2bWNtZGxpbmUuYworQEAgLTE3NDQsNyArMTc0NCw3IEBAIHN0YXRpYyBpbnQgX2NoZWNrX3N0YW5kYXJkX2Zkcyh2b2lkKQorIAlpbnQgZXJyID0gaXNfdmFsaWRfZmQoU1RERVJSX0ZJTEVOTyk7CisgCisgCWlmICghaXNfdmFsaWRfZmQoU1RESU5fRklMRU5PKSAmJgorLQkgICAgIShzdGRpbiA9IGZvcGVuKF9QQVRIX0RFVk5VTEwsICJyIikpKSB7CisrCSAgICAhZnJlb3BlbihfUEFUSF9ERVZOVUxMLCAiciIsIHN0ZGluKSkgeworIAkJaWYgKGVycikKKyAJCQlwZXJyb3IoInN0ZGluIHN0cmVhbSBvcGVuIik7CisgCQllbHNlCitAQCAtMTc1NCw3ICsxNzU0LDcgQEAgc3RhdGljIGludCBfY2hlY2tfc3RhbmRhcmRfZmRzKHZvaWQpCisgCX0KKyAKKyAJaWYgKCFpc192YWxpZF9mZChTVERPVVRfRklMRU5PKSAmJgorLQkgICAgIShzdGRvdXQgPSBmb3BlbihfUEFUSF9ERVZOVUxMLCAidyIpKSkgeworKwkgICAgIWZyZW9wZW4oX1BBVEhfREVWTlVMTCwgInciLCBzdGRvdXQpKSB7CisgCQlpZiAoZXJyKQorIAkJCXBlcnJvcigic3Rkb3V0IHN0cmVhbSBvcGVuIik7CisgCQkvKiBlbHNlIG5vIHN0ZG91dCAqLworQEAgLTE3NjIsNyArMTc2Miw3IEBAIHN0YXRpYyBpbnQgX2NoZWNrX3N0YW5kYXJkX2Zkcyh2b2lkKQorIAl9CisgCisgCWlmICghaXNfdmFsaWRfZmQoU1RERVJSX0ZJTEVOTykgJiYKKy0JICAgICEoc3RkZXJyID0gZm9wZW4oX1BBVEhfREVWTlVMTCwgInciKSkpIHsKKysJICAgICFmcmVvcGVuKF9QQVRIX0RFVk5VTEwsICJ3Iiwgc3RkZXJyKSkgeworIAkJcHJpbnRmKCJzdGRlcnIgc3RyZWFtIG9wZW46ICVzXG4iLAorIAkJICAgICAgIHN0cmVycm9yKGVycm5vKSk7CisgCQlyZXR1cm4gMDsKKy0tIAorMi43LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMi11c2UtUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkUtaW5zdGVhZC1vZi1QVEhSRUFEX01VVEVYLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMi11c2UtUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkUtaW5zdGVhZC1vZi1QVEhSRUFEX01VVEVYLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2OWExNTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAyLXVzZS1QVEhSRUFEX01VVEVYX1JFQ1VSU0lWRS1pbnN0ZWFkLW9mLVBUSFJFQURfTVVURVgucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorRnJvbSBjOGExYjY2OWNiZmYzZWVlMzY3ZmQ0ZGIzMzg5ZTMzN2JjNGM5OGJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjAgSmFuIDIwMTYgMDQ6NDY6MjYgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzRdIHVzZSBQVEhSRUFEX01VVEVYX1JFQ1VSU0lWRSBpbnN0ZWFkIG9mCisgUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkVfTlAKKworUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkVfTlAgd2FzIHVzZWQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvbGQgZ2xpYmMuCitBbHRob3VnaCBkdWUgdG8gdGhlX0dOVV9TT1VSQ0VTIGRlZmluZSB0aGUgcG9ydGFibGUsCitQVEhSRUFEX01VVEVYX1JFQ1VSU0lWRSB3aWxsIGJlIGF2YWlsYWJsZSBmb3IgTGludXhlcyBzaW5jZSBhdCBsZWFzdAorMTk5OC4gU2ltcGxpZnkgdGhpbmdzIGdpdmluZyB1cyBjb21wYXRpYmlsaXR5IHdpdGggbXVzbCB3aGljaAorYXBwYXJlbnRseSBkb2VzIG5vdCBwcm92aWRlIHRoZSBub24tcG9ydGFibGUgZGVmaW5lLgorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworIGRhZW1vbnMvbHZtZXRhZC9sdm1ldGFkLWNvcmUuYyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kYWVtb25zL2x2bWV0YWQvbHZtZXRhZC1jb3JlLmMgYi9kYWVtb25zL2x2bWV0YWQvbHZtZXRhZC1jb3JlLmMKK2luZGV4IDdhZjliZGUuLjYzNzA3YzIgMTAwNjQ0CistLS0gYS9kYWVtb25zL2x2bWV0YWQvbHZtZXRhZC1jb3JlLmMKKysrKyBiL2RhZW1vbnMvbHZtZXRhZC9sdm1ldGFkLWNvcmUuYworQEAgLTMwMCw3ICszMDAsNyBAQCBzdGF0aWMgc3RydWN0IGRtX2NvbmZpZ190cmVlICpsb2NrX3ZnKGx2bWV0YWRfc3RhdGUgKnMsIGNvbnN0IGNoYXIgKmlkKSB7CisgCWlmICghKHZnID0gZG1faGFzaF9sb29rdXAocy0+bG9jay52ZywgaWQpKSkgeworIAkJaWYgKCEodmcgPSBtYWxsb2Moc2l6ZW9mKHB0aHJlYWRfbXV0ZXhfdCkpKSB8fAorIAkJICAgIHB0aHJlYWRfbXV0ZXhhdHRyX2luaXQoJnJlYykgfHwKKy0JCSAgICBwdGhyZWFkX211dGV4YXR0cl9zZXR0eXBlKCZyZWMsIFBUSFJFQURfTVVURVhfUkVDVVJTSVZFX05QKSB8fAorKwkJICAgIHB0aHJlYWRfbXV0ZXhhdHRyX3NldHR5cGUoJnJlYywgUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkUpIHx8CisgCQkgICAgcHRocmVhZF9tdXRleF9pbml0KHZnLCAmcmVjKSkKKyAJCQlnb3RvIGJhZDsKKyAJCWlmICghZG1faGFzaF9pbnNlcnQocy0+bG9jay52ZywgaWQsIHZnKSkgeworQEAgLTI4OTAsNyArMjg5MCw3IEBAIHN0YXRpYyBpbnQgaW5pdChkYWVtb25fc3RhdGUgKnMpCisgCWxzLT5sb2cgPSBzLT5sb2c7CisgCisgCXB0aHJlYWRfbXV0ZXhhdHRyX2luaXQoJnJlYyk7CistCXB0aHJlYWRfbXV0ZXhhdHRyX3NldHR5cGUoJnJlYywgUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkVfTlApOworKwlwdGhyZWFkX211dGV4YXR0cl9zZXR0eXBlKCZyZWMsIFBUSFJFQURfTVVURVhfUkVDVVJTSVZFKTsKKyAJcHRocmVhZF9tdXRleF9pbml0KCZscy0+bG9jay5wdmlkX3RvX3B2bWV0YSwgJnJlYyk7CisgCXB0aHJlYWRfbXV0ZXhfaW5pdCgmbHMtPmxvY2sudmdpZF90b19tZXRhZGF0YSwgJnJlYyk7CisgCXB0aHJlYWRfbXV0ZXhfaW5pdCgmbHMtPmxvY2sucHZpZF90b192Z2lkLCBOVUxMKTsKKy0tIAorMi43LjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMy1HdWFyZC11c2Utb2YtbWFsbGluZm8td2l0aC1fX0dMSUJDX18ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAzLUd1YXJkLXVzZS1vZi1tYWxsaW5mby13aXRoLV9fR0xJQkNfXy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDcxNzY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMy1HdWFyZC11c2Utb2YtbWFsbGluZm8td2l0aC1fX0dMSUJDX18ucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSBlMDE4ZDA1NTYwMzM4OWIyMmNiYzNiZDY4YjE1MjVmMzA0OGViZWU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjAgSmFuIDIwMTYgMDQ6NTA6MjYgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzRdIEd1YXJkIHVzZSBvZiBtYWxsaW5mbygpIHdpdGggX19HTElCQ19fCisKK1RoaXMgQVBJIGlzIGdsaWJjLW9ubHkKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKyBsaWIvbW0vbWVtbG9jay5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliL21tL21lbWxvY2suYyBiL2xpYi9tbS9tZW1sb2NrLmMKK2luZGV4IDk2OWYxZDcuLjQwNWE3YzAgMTAwNjQ0CistLS0gYS9saWIvbW0vbWVtbG9jay5jCisrKysgYi9saWIvbW0vbWVtbG9jay5jCitAQCAtMTQ1LDcgKzE0NSw3IEBAIHN0YXRpYyB2b2lkIF90b3VjaF9tZW1vcnkodm9pZCAqbWVtLCBzaXplX3Qgc2l6ZSkKKyAKKyBzdGF0aWMgdm9pZCBfYWxsb2NhdGVfbWVtb3J5KHZvaWQpCisgeworLSNpZm5kZWYgVkFMR1JJTkRfUE9PTAorKyNpZiAhZGVmaW5lZChWQUxHUklORF9QT09MKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKyAJdm9pZCAqc3RhY2tfbWVtOworIAlzdHJ1Y3QgcmxpbWl0IGxpbWl0OworIAlpbnQgaSwgYXJlYSA9IDAsIG1pc3NpbmcgPSBfc2l6ZV9tYWxsb2NfdG1wLCBtYXhfYXJlYXMgPSAzMiwgaGJsa3M7CistLSAKKzIuNy4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDQtaW5jbHVkZS1mY250bC5oLWZvci1PXy1kZWZpbmVzLWFuZC1mY250bC1zaWduYXR1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDA0LWluY2x1ZGUtZmNudGwuaC1mb3ItT18tZGVmaW5lcy1hbmQtZmNudGwtc2lnbmF0dXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhM2I4NDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDA0LWluY2x1ZGUtZmNudGwuaC1mb3ItT18tZGVmaW5lcy1hbmQtZmNudGwtc2lnbmF0dXJlLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gOWI3OTNkNWI0YWRjNWQ4YjM2ODRlN2Y2Njk0M2UyMzZlYWU3YzJkYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDIwIEphbiAyMDE2IDA0OjUyOjU5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggNC80XSBpbmNsdWRlIGZjbnRsLmggZm9yIE9fKiBkZWZpbmVzIGFuZCBmY250bCgpIHNpZ25hdHVyZQorCitPbiBnbGliYyBfc29tZWhvd18gdGhpcyBoZWFkZXIgZ2V0cyBwdWxsZWQgaW4gaW5kaXJlY3RseQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworIGxpYmRhZW1vbi9zZXJ2ZXIvZGFlbW9uLXNlcnZlci5jIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9saWJkYWVtb24vc2VydmVyL2RhZW1vbi1zZXJ2ZXIuYyBiL2xpYmRhZW1vbi9zZXJ2ZXIvZGFlbW9uLXNlcnZlci5jCitpbmRleCBkOWQ2MGQxLi40MzNkMTAwIDEwMDY0NAorLS0tIGEvbGliZGFlbW9uL3NlcnZlci9kYWVtb24tc2VydmVyLmMKKysrKyBiL2xpYmRhZW1vbi9zZXJ2ZXIvZGFlbW9uLXNlcnZlci5jCitAQCAtMTgsNiArMTgsNyBAQAorICNpbmNsdWRlICJkYWVtb24tc2VydmVyLmgiCisgI2luY2x1ZGUgImRhZW1vbi1sb2cuaCIKKyAKKysjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8ZGxmY24uaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8cHRocmVhZC5oPgorLS0gCisyLjcuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi9sdm0uY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yL2x2bS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllM2I1ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi9sdm0uY29uZgpAQCAtMCwwICsxLDMyNiBAQAorIyBUaGlzIGlzIGFuIGV4YW1wbGUgY29uZmlndXJhdGlvbiBmaWxlIGZvciB0aGUgTFZNMiBzeXN0ZW0uCisjIEl0IGNvbnRhaW5zIHRoZSBkZWZhdWx0IHNldHRpbmdzIHRoYXQgd291bGQgYmUgdXNlZCBpZiB0aGVyZSB3YXMgbm8KKyMgL2V0Yy9sdm0vbHZtLmNvbmYgZmlsZS4KKyMKKyMgUmVmZXIgdG8gJ21hbiBsdm0uY29uZicgZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24gaW5jbHVkaW5nIHRoZSBmaWxlIGxheW91dC4KKyMKKyMgVG8gcHV0IHRoaXMgZmlsZSBpbiBhIGRpZmZlcmVudCBkaXJlY3RvcnkgYW5kIG92ZXJyaWRlIC9ldGMvbHZtIHNldAorIyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgTFZNX1NZU1RFTV9ESVIgYmVmb3JlIHJ1bm5pbmcgdGhlIHRvb2xzLgorCisKKyMgVGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIHdoaWNoIGJsb2NrIGRldmljZXMgc2hvdWxkCisjIGJlIHVzZWQgYnkgdGhlIExWTSBzeXN0ZW0uCitkZXZpY2VzIHsKKworICAgICMgV2hlcmUgZG8geW91IHdhbnQgeW91ciB2b2x1bWUgZ3JvdXBzIHRvIGFwcGVhciA/CisgICAgZGlyID0gIi9kZXYiCisKKyAgICAjIEFuIGFycmF5IG9mIGRpcmVjdG9yaWVzIHRoYXQgY29udGFpbiB0aGUgZGV2aWNlIG5vZGVzIHlvdSB3aXNoCisgICAgIyB0byB1c2Ugd2l0aCBMVk0yLgorICAgIHNjYW4gPSBbICIvZGV2IiBdCisKKyAgICAjIEEgZmlsdGVyIHRoYXQgdGVsbHMgTFZNMiB0byBvbmx5IHVzZSBhIHJlc3RyaWN0ZWQgc2V0IG9mIGRldmljZXMuCisgICAgIyBUaGUgZmlsdGVyIGNvbnNpc3RzIG9mIGFuIGFycmF5IG9mIHJlZ3VsYXIgZXhwcmVzc2lvbnMuICBUaGVzZQorICAgICMgZXhwcmVzc2lvbnMgY2FuIGJlIGRlbGltaXRlZCBieSBhIGNoYXJhY3RlciBvZiB5b3VyIGNob2ljZSwgYW5kCisgICAgIyBwcmVmaXhlZCB3aXRoIGVpdGhlciBhbiAnYScgKGZvciBhY2NlcHQpIG9yICdyJyAoZm9yIHJlamVjdCkuCisgICAgIyBUaGUgZmlyc3QgZXhwcmVzc2lvbiBmb3VuZCB0byBtYXRjaCBhIGRldmljZSBuYW1lIGRldGVybWluZXMgaWYKKyAgICAjIHRoZSBkZXZpY2Ugd2lsbCBiZSBhY2NlcHRlZCBvciByZWplY3RlZCAoaWdub3JlZCkuICBEZXZpY2VzIHRoYXQKKyAgICAjIGRvbid0IG1hdGNoIGFueSBwYXR0ZXJucyBhcmUgYWNjZXB0ZWQuCisKKyAgICAjIEJlIGNhcmVmdWwgaWYgdGhlcmUgdGhlcmUgYXJlIHN5bWJvbGljIGxpbmtzIG9yIG11bHRpcGxlIGZpbGVzeXN0ZW0gCisgICAgIyBlbnRyaWVzIGZvciB0aGUgc2FtZSBkZXZpY2UgYXMgZWFjaCBuYW1lIGlzIGNoZWNrZWQgc2VwYXJhdGVseSBhZ2FpbnN0CisgICAgIyB0aGUgbGlzdCBvZiBwYXR0ZXJucy4gIFRoZSBlZmZlY3QgaXMgdGhhdCBpZiBhbnkgbmFtZSBtYXRjaGVzIGFueSAnYScKKyAgICAjIHBhdHRlcm4sIHRoZSBkZXZpY2UgaXMgYWNjZXB0ZWQ7IG90aGVyd2lzZSBpZiBhbnkgbmFtZSBtYXRjaGVzIGFueSAncicKKyAgICAjIHBhdHRlcm4gaXQgaXMgcmVqZWN0ZWQ7IG90aGVyd2lzZSBpdCBpcyBhY2NlcHRlZC4KKworICAgICMgRG9uJ3QgaGF2ZSBtb3JlIHRoYW4gb25lIGZpbHRlciBsaW5lIGFjdGl2ZSBhdCBvbmNlOiBvbmx5IG9uZSBnZXRzIHVzZWQuCisKKyAgICAjIFJ1biB2Z3NjYW4gYWZ0ZXIgeW91IGNoYW5nZSB0aGlzIHBhcmFtZXRlciB0byBlbnN1cmUgdGhhdAorICAgICMgdGhlIGNhY2hlIGZpbGUgZ2V0cyByZWdlbmVyYXRlZCAoc2VlIGJlbG93KS4KKyAgICAjIElmIGl0IGRvZXNuJ3QgZG8gd2hhdCB5b3UgZXhwZWN0LCBjaGVjayB0aGUgb3V0cHV0IG9mICd2Z3NjYW4gLXZ2dnYnLgorCisKKyAgICAjIEJ5IGRlZmF1bHQgd2UgYWNjZXB0IGV2ZXJ5IGJsb2NrIGRldmljZToKKyAgICBmaWx0ZXIgPSBbICJhLy4qLyIgXQorCisgICAgIyBFeGNsdWRlIHRoZSBjZHJvbSBkcml2ZQorICAgICMgZmlsdGVyID0gWyAicnwvZGV2L2Nkcm9tfCIgXQorCisgICAgIyBXaGVuIHRlc3RpbmcgSSBsaWtlIHRvIHdvcmsgd2l0aCBqdXN0IGxvb3BiYWNrIGRldmljZXM6CisgICAgIyBmaWx0ZXIgPSBbICJhL2xvb3AvIiwgInIvLiovIiBdCisKKyAgICAjIE9yIG1heWJlIGFsbCBsb29wcyBhbmQgaWRlIGRyaXZlcyBleGNlcHQgaGRjOgorICAgICMgZmlsdGVyID1bICJhfGxvb3B8IiwgInJ8L2Rldi9oZGN8IiwgImF8L2Rldi9pZGV8IiwgInJ8Lip8IiBdCisKKyAgICAjIFVzZSBhbmNob3JzIGlmIHlvdSB3YW50IHRvIGJlIHJlYWxseSBzcGVjaWZpYworICAgICMgZmlsdGVyID0gWyAiYXxeL2Rldi9oZGE4JHwiLCAici8uKi8iIF0KKworICAgICMgVGhlIHJlc3VsdHMgb2YgdGhlIGZpbHRlcmluZyBhcmUgY2FjaGVkIG9uIGRpc2sgdG8gYXZvaWQKKyAgICAjIHJlc2Nhbm5pbmcgZHVkIGRldmljZXMgKHdoaWNoIGNhbiB0YWtlIGEgdmVyeSBsb25nIHRpbWUpLiAgQnkKKyAgICAjIGRlZmF1bHQgdGhpcyBjYWNoZSBmaWxlIGlzIGhpZGRlbiBpbiB0aGUgL2V0Yy9sdm0gZGlyZWN0b3J5LgorICAgICMgSXQgaXMgc2FmZSB0byBkZWxldGUgdGhpcyBmaWxlOiB0aGUgdG9vbHMgcmVnZW5lcmF0ZSBpdC4KKyAgICBjYWNoZSA9ICIvZXRjL2x2bS8uY2FjaGUiCisKKyAgICAjIFlvdSBjYW4gdHVybiBvZmYgd3JpdGluZyB0aGlzIGNhY2hlIGZpbGUgYnkgc2V0dGluZyB0aGlzIHRvIDAuCisgICAgd3JpdGVfY2FjaGVfc3RhdGUgPSAxCisKKyAgICAjIEFkdmFuY2VkIHNldHRpbmdzLgorCisgICAgIyBMaXN0IG9mIHBhaXJzIG9mIGFkZGl0aW9uYWwgYWNjZXB0YWJsZSBibG9jayBkZXZpY2UgdHlwZXMgZm91bmQgCisgICAgIyBpbiAvcHJvYy9kZXZpY2VzIHdpdGggbWF4aW11bSAobm9uLXplcm8pIG51bWJlciBvZiBwYXJ0aXRpb25zLgorICAgICMgdHlwZXMgPSBbICJmZCIsIDE2IF0KKworICAgICMgSWYgc3lzZnMgaXMgbW91bnRlZCAoMi42IGtlcm5lbHMpIHJlc3RyaWN0IGRldmljZSBzY2FubmluZyB0byAKKyAgICAjIHRoZSBibG9jayBkZXZpY2VzIGl0IGJlbGlldmVzIGFyZSB2YWxpZC4KKyAgICAjIDEgZW5hYmxlczsgMCBkaXNhYmxlcy4KKyAgICBzeXNmc19zY2FuID0gMQkKKworICAgICMgQnkgZGVmYXVsdCwgTFZNMiB3aWxsIGlnbm9yZSBkZXZpY2VzIHVzZWQgYXMgY29tcG9uZW50cyBvZgorICAgICMgc29mdHdhcmUgUkFJRCAobWQpIGRldmljZXMgYnkgbG9va2luZyBmb3IgbWQgc3VwZXJibG9ja3MuCisgICAgIyAxIGVuYWJsZXM7IDAgZGlzYWJsZXMuCisgICAgbWRfY29tcG9uZW50X2RldGVjdGlvbiA9IDEKK30KKworIyBUaGlzIHNlY3Rpb24gdGhhdCBhbGxvd3MgeW91IHRvIGNvbmZpZ3VyZSB0aGUgbmF0dXJlIG9mIHRoZQorIyBpbmZvcm1hdGlvbiB0aGF0IExWTTIgcmVwb3J0cy4KK2xvZyB7CisKKyAgICAjIENvbnRyb2xzIHRoZSBtZXNzYWdlcyBzZW50IHRvIHN0ZG91dCBvciBzdGRlcnIuCisgICAgIyBUaGVyZSBhcmUgdGhyZWUgbGV2ZWxzIG9mIHZlcmJvc2l0eSwgMyBiZWluZyB0aGUgbW9zdCB2ZXJib3NlLgorICAgIHZlcmJvc2UgPSAwCisKKyAgICAjIFNob3VsZCB3ZSBzZW5kIGxvZyBtZXNzYWdlcyB0aHJvdWdoIHN5c2xvZz8KKyAgICAjIDEgaXMgeWVzOyAwIGlzIG5vLgorICAgIHN5c2xvZyA9IDEKKworICAgICMgU2hvdWxkIHdlIGxvZyBlcnJvciBhbmQgZGVidWcgbWVzc2FnZXMgdG8gYSBmaWxlPworICAgICMgQnkgZGVmYXVsdCB0aGVyZSBpcyBubyBsb2cgZmlsZS4KKyAgICAjZmlsZSA9ICIvdmFyL2xvZy9sdm0yLmxvZyIKKworICAgICMgU2hvdWxkIHdlIG92ZXJ3cml0ZSB0aGUgbG9nIGZpbGUgZWFjaCB0aW1lIHRoZSBwcm9ncmFtIGlzIHJ1bj8KKyAgICAjIEJ5IGRlZmF1bHQgd2UgYXBwZW5kLgorICAgIG92ZXJ3cml0ZSA9IDAKKworICAgICMgV2hhdCBsZXZlbCBvZiBsb2cgbWVzc2FnZXMgc2hvdWxkIHdlIHNlbmQgdG8gdGhlIGxvZyBmaWxlIGFuZC9vciBzeXNsb2c/CisgICAgIyBUaGVyZSBhcmUgNiBzeXNsb2ctbGlrZSBsb2cgbGV2ZWxzIGN1cnJlbnRseSBpbiB1c2UgLSAyIHRvIDcgaW5jbHVzaXZlLgorICAgICMgNyBpcyB0aGUgbW9zdCB2ZXJib3NlIChMT0dfREVCVUcpLgorICAgIGxldmVsID0gMAorICAgIAorICAgICMgRm9ybWF0IG9mIG91dHB1dCBtZXNzYWdlcworICAgICMgV2hldGhlciBvciBub3QgKDEgb3IgMCkgdG8gaW5kZW50IG1lc3NhZ2VzIGFjY29yZGluZyB0byB0aGVpciBzZXZlcml0eQorICAgIGluZGVudCA9IDEKKworICAgICMgV2hldGhlciBvciBub3QgKDEgb3IgMCkgdG8gZGlzcGxheSB0aGUgY29tbWFuZCBuYW1lIG9uIGVhY2ggbGluZSBvdXRwdXQKKyAgICBjb21tYW5kX25hbWVzID0gMAorCisgICAgIyBBIHByZWZpeCB0byB1c2UgYmVmb3JlIHRoZSBtZXNzYWdlIHRleHQgKGJ1dCBhZnRlciB0aGUgY29tbWFuZCBuYW1lLAorICAgICMgaWYgc2VsZWN0ZWQpLiAgRGVmYXVsdCBpcyB0d28gc3BhY2VzLCBzbyB5b3UgY2FuIHNlZS9ncmVwIHRoZSBzZXZlcml0eQorICAgICMgb2YgZWFjaCBtZXNzYWdlLgorICAgIHByZWZpeCA9ICIgICIKKworICAgICMgVG8gbWFrZSB0aGUgbWVzc2FnZXMgbG9vayBzaW1pbGFyIHRvIHRoZSBvcmlnaW5hbCBMVk0gdG9vbHMgdXNlOgorICAgICMgICBpbmRlbnQgPSAwCisgICAgIyAgIGNvbW1hbmRfbmFtZXMgPSAxCisgICAgIyAgIHByZWZpeCA9ICIgLS0gIgorCisgICAgIyBTZXQgdGhpcyBpZiB5b3Ugd2FudCBsb2cgbWVzc2FnZXMgZHVyaW5nIGFjdGl2YXRpb24uCisgICAgIyBEb24ndCB1c2UgdGhpcyBpbiBsb3cgbWVtb3J5IHNpdHVhdGlvbnMgKGNhbiBkZWFkbG9jaykuCisgICAgIyBhY3RpdmF0aW9uID0gMAorfQorCisjIENvbmZpZ3VyYXRpb24gb2YgbWV0YWRhdGEgYmFja3VwcyBhbmQgYXJjaGl2aW5nLiAgSW4gTFZNMiB3aGVuIHdlCisjIHRhbGsgYWJvdXQgYSAnYmFja3VwJyB3ZSBtZWFuIG1ha2luZyBhIGNvcHkgb2YgdGhlIG1ldGFkYXRhIGZvciB0aGUKKyMgKmN1cnJlbnQqIHN5c3RlbS4gIFRoZSAnYXJjaGl2ZScgY29udGFpbnMgb2xkIG1ldGFkYXRhIGNvbmZpZ3VyYXRpb25zLgorIyBCYWNrdXBzIGFyZSBzdG9yZWQgaW4gYSBodW1hbiByZWFkZWFibGUgdGV4dCBmb3JtYXQuCitiYWNrdXAgeworCisgICAgIyBTaG91bGQgd2UgbWFpbnRhaW4gYSBiYWNrdXAgb2YgdGhlIGN1cnJlbnQgbWV0YWRhdGEgY29uZmlndXJhdGlvbiA/CisgICAgIyBVc2UgMSBmb3IgWWVzOyAwIGZvciBOby4KKyAgICAjIFRoaW5rIHZlcnkgaGFyZCBiZWZvcmUgdHVybmluZyB0aGlzIG9mZiEKKyAgICBiYWNrdXAgPSAxCisKKyAgICAjIFdoZXJlIHNoYWxsIHdlIGtlZXAgaXQgPworICAgICMgUmVtZW1iZXIgdG8gYmFjayB1cCB0aGlzIGRpcmVjdG9yeSByZWd1bGFybHkhCisgICAgYmFja3VwX2RpciA9ICIvZXRjL2x2bS9iYWNrdXAiCisKKyAgICAjIFNob3VsZCB3ZSBtYWludGFpbiBhbiBhcmNoaXZlIG9mIG9sZCBtZXRhZGF0YSBjb25maWd1cmF0aW9ucy4KKyAgICAjIFVzZSAxIGZvciBZZXM7IDAgZm9yIE5vLgorICAgICMgT24gYnkgZGVmYXVsdC4gIFRoaW5rIHZlcnkgaGFyZCBiZWZvcmUgdHVybmluZyB0aGlzIG9mZi4KKyAgICBhcmNoaXZlID0gMQorCisgICAgIyBXaGVyZSBzaG91bGQgYXJjaGl2ZWQgZmlsZXMgZ28gPworICAgICMgUmVtZW1iZXIgdG8gYmFjayB1cCB0aGlzIGRpcmVjdG9yeSByZWd1bGFybHkhCisgICAgYXJjaGl2ZV9kaXIgPSAiL2V0Yy9sdm0vYXJjaGl2ZSIKKyAgICAKKyAgICAjIFdoYXQgaXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGFyY2hpdmUgZmlsZXMgeW91IHdpc2ggdG8ga2VlcCA/CisgICAgcmV0YWluX21pbiA9IDEwCisKKyAgICAjIFdoYXQgaXMgdGhlIG1pbmltdW0gdGltZSB5b3Ugd2lzaCB0byBrZWVwIGFuIGFyY2hpdmUgZmlsZSBmb3IgPworICAgIHJldGFpbl9kYXlzID0gMzAKK30KKworIyBTZXR0aW5ncyBmb3IgdGhlIHJ1bm5pbmcgTFZNMiBpbiBzaGVsbCAocmVhZGxpbmUpIG1vZGUuCitzaGVsbCB7CisKKyAgICAjIE51bWJlciBvZiBsaW5lcyBvZiBoaXN0b3J5IHRvIHN0b3JlIGluIH4vLmx2bV9oaXN0b3J5CisgICAgaGlzdG9yeV9zaXplID0gMTAwCit9CisKKworIyBNaXNjZWxsYW5lb3VzIGdsb2JhbCBMVk0yIHNldHRpbmdzCitnbG9iYWwgeworICAgIAorICAgICMgVGhlIGZpbGUgY3JlYXRpb24gbWFzayBmb3IgYW55IGZpbGVzIGFuZCBkaXJlY3RvcmllcyBjcmVhdGVkLgorICAgICMgSW50ZXJwcmV0ZWQgYXMgb2N0YWwgaWYgdGhlIGZpcnN0IGRpZ2l0IGlzIHplcm8uCisgICAgdW1hc2sgPSAwNzcKKworICAgICMgQWxsb3cgb3RoZXIgdXNlcnMgdG8gcmVhZCB0aGUgZmlsZXMKKyAgICAjdW1hc2sgPSAwMjIKKworICAgICMgRW5hYmxpbmcgdGVzdCBtb2RlIG1lYW5zIHRoYXQgbm8gY2hhbmdlcyB0byB0aGUgb24gZGlzayBtZXRhZGF0YQorICAgICMgd2lsbCBiZSBtYWRlLiAgRXF1aXZhbGVudCB0byBoYXZpbmcgdGhlIC10IG9wdGlvbiBvbiBldmVyeQorICAgICMgY29tbWFuZC4gIERlZmF1bHRzIHRvIG9mZi4KKyAgICB0ZXN0ID0gMAorCisgICAgIyBXaGV0aGVyIG9yIG5vdCB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBrZXJuZWwgZGV2aWNlLW1hcHBlci4KKyAgICAjIFNldCB0byAwIGlmIHlvdSB3YW50IHRvIHVzZSB0aGUgdG9vbHMgdG8gbWFuaXB1bGF0ZSBMVk0gbWV0YWRhdGEgCisgICAgIyB3aXRob3V0IGFjdGl2YXRpbmcgYW55IGxvZ2ljYWwgdm9sdW1lcy4KKyAgICAjIElmIHRoZSBkZXZpY2UtbWFwcGVyIGtlcm5lbCBkcml2ZXIgaXMgbm90IHByZXNlbnQgaW4geW91ciBrZXJuZWwKKyAgICAjIHNldHRpbmcgdGhpcyB0byAwIHNob3VsZCBzdXBwcmVzcyB0aGUgZXJyb3IgbWVzc2FnZXMuCisgICAgYWN0aXZhdGlvbiA9IDEKKworICAgICMgSWYgd2UgY2FuJ3QgY29tbXVuaWNhdGUgd2l0aCBkZXZpY2UtbWFwcGVyLCBzaG91bGQgd2UgdHJ5IHJ1bm5pbmcgCisgICAgIyB0aGUgTFZNMSB0b29scz8KKyAgICAjIFRoaXMgb3B0aW9uIG9ubHkgYXBwbGllcyB0byAyLjQga2VybmVscyBhbmQgaXMgcHJvdmlkZWQgdG8gaGVscCB5b3UKKyAgICAjIHN3aXRjaCBiZXR3ZWVuIGRldmljZS1tYXBwZXIga2VybmVscyBhbmQgTFZNMSBrZXJuZWxzLgorICAgICMgVGhlIExWTTEgdG9vbHMgbmVlZCB0byBiZSBpbnN0YWxsZWQgd2l0aCAubHZtMSBzdWZmaWNlcworICAgICMgZS5nLiB2Z3NjYW4ubHZtMSBhbmQgdGhleSB3aWxsIHN0b3Agd29ya2luZyBhZnRlciB5b3Ugc3RhcnQgdXNpbmcKKyAgICAjIHRoZSBuZXcgbHZtMiBvbi1kaXNrIG1ldGFkYXRhIGZvcm1hdC4KKyAgICAjIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHNldCB3aGVuIHRoZSB0b29scyBhcmUgYnVpbHQuCisgICAgIyBmYWxsYmFja190b19sdm0xID0gMAorCisgICAgIyBUaGUgZGVmYXVsdCBtZXRhZGF0YSBmb3JtYXQgdGhhdCBjb21tYW5kcyBzaG91bGQgdXNlIC0gImx2bTEiIG9yICJsdm0yIi4KKyAgICAjIFRoZSBjb21tYW5kIGxpbmUgb3ZlcnJpZGUgaXMgLU0xIG9yIC1NMi4KKyAgICAjIERlZmF1bHRzIHRvICJsdm0xIiBpZiBjb21waWxlZCBpbiwgZWxzZSAibHZtMiIuCisgICAgIyBmb3JtYXQgPSAibHZtMSIKKworICAgICMgTG9jYXRpb24gb2YgcHJvYyBmaWxlc3lzdGVtCisgICAgcHJvYyA9ICIvcHJvYyIKKworICAgICMgVHlwZSBvZiBsb2NraW5nIHRvIHVzZS4gRGVmYXVsdHMgdG8gZmlsZS1iYXNlZCBsb2NraW5nICgxKS4KKyAgICAjIFR1cm4gbG9ja2luZyBvZmYgYnkgc2V0dGluZyB0byAwIChkYW5nZXJvdXM6IHJpc2tzIG1ldGFkYXRhIGNvcnJ1cHRpb24KKyAgICAjIGlmIExWTTIgY29tbWFuZHMgZ2V0IHJ1biBjb25jdXJyZW50bHkpLgorICAgIGxvY2tpbmdfdHlwZSA9IDEKKworICAgICMgTG9jYWwgbm9uLUxWIGRpcmVjdG9yeSB0aGF0IGhvbGRzIGZpbGUtYmFzZWQgbG9ja3Mgd2hpbGUgY29tbWFuZHMgYXJlCisgICAgIyBpbiBwcm9ncmVzcy4gIEEgZGlyZWN0b3J5IGxpa2UgL3RtcCB0aGF0IG1heSBnZXQgd2lwZWQgb24gcmVib290IGlzIE9LLgorICAgIGxvY2tpbmdfZGlyID0gIi92YXIvbG9jay9sdm0iCisKKyAgICAjIE90aGVyIGVudHJpZXMgY2FuIGdvIGhlcmUgdG8gYWxsb3cgeW91IHRvIGxvYWQgc2hhcmVkIGxpYnJhcmllcworICAgICMgZS5nLiBpZiBzdXBwb3J0IGZvciBMVk0xIG1ldGFkYXRhIHdhcyBjb21waWxlZCBhcyBhIHNoYXJlZCBsaWJyYXJ5IHVzZQorICAgICMgICBmb3JtYXRfbGlicmFyaWVzID0gImxpYmx2bTJmb3JtYXQxLnNvIiAKKyAgICAjIEZ1bGwgcGF0aG5hbWVzIGNhbiBiZSBnaXZlbi4KKworICAgICMgU2VhcmNoIHRoaXMgZGlyZWN0b3J5IGZpcnN0IGZvciBzaGFyZWQgbGlicmFyaWVzLgorICAgICMgICBsaWJyYXJ5X2RpciA9ICIvbGliIgorfQorCithY3RpdmF0aW9uIHsKKyAgICAjIERldmljZSB1c2VkIGluIHBsYWNlIG9mIG1pc3Npbmcgc3RyaXBlcyBpZiBhY3RpdmF0aW5nIGluY29tcGxldGUgdm9sdW1lLgorICAgICMgRm9yIG5vdywgeW91IG5lZWQgdG8gc2V0IHRoaXMgdXAgeW91cnNlbGYgZmlyc3QgKGUuZy4gd2l0aCAnZG1zZXR1cCcpCisgICAgIyBGb3IgZXhhbXBsZSwgeW91IGNvdWxkIG1ha2UgaXQgcmV0dXJuIEkvTyBlcnJvcnMgdXNpbmcgdGhlICdlcnJvcicgCisgICAgIyB0YXJnZXQgb3IgbWFrZSBpdCByZXR1cm4gemVyb3MuCisgICAgbWlzc2luZ19zdHJpcGVfZmlsbGVyID0gIi9kZXYvaW9lcnJvciIKKworICAgICMgU2l6ZSAoaW4gS0IpIG9mIGVhY2ggY29weSBvcGVyYXRpb24gd2hlbiBtaXJyb3JpbmcKKyAgICBtaXJyb3JfcmVnaW9uX3NpemUgPSA1MTIKKworICAgICMgSG93IG11Y2ggc3RhY2sgKGluIEtCKSB0byByZXNlcnZlIGZvciB1c2Ugd2hpbGUgZGV2aWNlcyBzdXNwZW5kZWQKKyAgICByZXNlcnZlZF9zdGFjayA9IDI1NgorCisgICAgIyBIb3cgbXVjaCBtZW1vcnkgKGluIEtCKSB0byByZXNlcnZlIGZvciB1c2Ugd2hpbGUgZGV2aWNlcyBzdXNwZW5kZWQKKyAgICByZXNlcnZlZF9tZW1vcnkgPSA4MTkyCisKKyAgICAjIE5pY2UgdmFsdWUgdXNlZCB3aGlsZSBkZXZpY2VzIHN1c3BlbmRlZAorICAgIHByb2Nlc3NfcHJpb3JpdHkgPSAtMTgKKworICAgICMgSWYgdm9sdW1lX2xpc3QgaXMgZGVmaW5lZCwgZWFjaCBMViBpcyBvbmx5IGFjdGl2YXRlZCBpZiB0aGVyZSBpcyBhCisgICAgIyBtYXRjaCBhZ2FpbnN0IHRoZSBsaXN0LgorICAgICMgICAidmduYW1lIiBhbmQgInZnbmFtZS9sdm5hbWUiIGFyZSBtYXRjaGVkIGV4YWN0bHkuCisgICAgIyAgICJAdGFnIiBtYXRjaGVzIGFueSB0YWcgc2V0IGluIHRoZSBMViBvciBWRy4KKyAgICAjICAgIkAqIiBtYXRjaGVzIGlmIGFueSB0YWcgZGVmaW5lZCBvbiB0aGUgaG9zdCBpcyBhbHNvIHNldCBpbiB0aGUgTFYgb3IgVkcKKyAgICAjCisgICAgIyB2b2x1bWVfbGlzdCA9IFsgInZnMSIsICJ2ZzIvbHZvbDEiLCAiQHRhZzEiLCAiQCoiIF0KK30KKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBBZHZhbmNlZCBzZWN0aW9uICMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgTWV0YWRhdGEgc2V0dGluZ3MKKyMKKyMgbWV0YWRhdGEgeworICAgICMgRGVmYXVsdCBudW1iZXIgb2YgY29waWVzIG9mIG1ldGFkYXRhIHRvIGhvbGQgb24gZWFjaCBQVi4gIDAsIDEgb3IgMi4KKyAgICAjIFlvdSBtaWdodCB3YW50IHRvIG92ZXJyaWRlIGl0IGZyb20gdGhlIGNvbW1hbmQgbGluZSB3aXRoIDAgCisgICAgIyB3aGVuIHJ1bm5pbmcgcHZjcmVhdGUgb24gbmV3IFBWcyB3aGljaCBhcmUgdG8gYmUgYWRkZWQgdG8gbGFyZ2UgVkdzLgorCisgICAgIyBwdm1ldGFkYXRhY29waWVzID0gMQorCisgICAgIyBBcHByb3hpbWF0ZSBkZWZhdWx0IHNpemUgb2Ygb24tZGlzayBtZXRhZGF0YSBhcmVhcyBpbiBzZWN0b3JzLgorICAgICMgWW91IHNob3VsZCBpbmNyZWFzZSB0aGlzIGlmIHlvdSBoYXZlIGxhcmdlIHZvbHVtZSBncm91cHMgb3IKKyAgICAjIHlvdSB3YW50IHRvIHJldGFpbiBhIGxhcmdlIG9uLWRpc2sgaGlzdG9yeSBvZiB5b3VyIG1ldGFkYXRhIGNoYW5nZXMuCisKKyAgICAjIHB2bWV0YWRhdGFzaXplID0gMjU1CisKKyAgICAjIExpc3Qgb2YgZGlyZWN0b3JpZXMgaG9sZGluZyBsaXZlIGNvcGllcyBvZiB0ZXh0IGZvcm1hdCBtZXRhZGF0YS4KKyAgICAjIFRoZXNlIGRpcmVjdG9yaWVzIG11c3Qgbm90IGJlIG9uIGxvZ2ljYWwgdm9sdW1lcyEKKyAgICAjIEl0J3MgcG9zc2libGUgdG8gdXNlIExWTTIgd2l0aCBhIGNvdXBsZSBvZiBkaXJlY3RvcmllcyBoZXJlLAorICAgICMgcHJlZmVyYWJseSBvbiBkaWZmZXJlbnQgKG5vbi1MVikgZmlsZXN5c3RlbXMsIGFuZCB3aXRoIG5vIG90aGVyIAorICAgICMgb24tZGlzayBtZXRhZGF0YSAocHZtZXRhZGF0YWNvcGllcyA9IDApLiBPciB0aGlzIGNhbiBiZSBpbgorICAgICMgYWRkaXRpb24gdG8gb24tZGlzayBtZXRhZGF0YSBhcmVhcy4KKyAgICAjIFRoZSBmZWF0dXJlIHdhcyBvcmlnaW5hbGx5IGFkZGVkIHRvIHNpbXBsaWZ5IHRlc3RpbmcgYW5kIGlzIG5vdAorICAgICMgc3VwcG9ydGVkIHVuZGVyIGxvdyBtZW1vcnkgc2l0dWF0aW9ucyAtIHRoZSBtYWNoaW5lIGNvdWxkIGxvY2sgdXAuCisgICAgIworICAgICMgTmV2ZXIgZWRpdCBhbnkgZmlsZXMgaW4gdGhlc2UgZGlyZWN0b3JpZXMgYnkgaGFuZCB1bmxlc3MgeW91CisgICAgIyB5b3UgYXJlIGFic29sdXRlbHkgc3VyZSB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmchIFVzZQorICAgICMgdGhlIHN1cHBsaWVkIHRvb2xzZXQgdG8gbWFrZSBjaGFuZ2VzIChlLmcuIHZnY2ZncmVzdG9yZSkuCisKKyAgICAjIGRpcnMgPSBbICIvZXRjL2x2bS9tZXRhZGF0YSIsICIvbW50L2Rpc2syL2x2bS9tZXRhZGF0YTIiIF0KKyN9CisKKyMgRXZlbnQgZGFlbW9uCisjCitkbWV2ZW50ZCB7CisgICAgIyBtaXJyb3JfbGlicmFyeSBpcyB0aGUgbGlicmFyeSB1c2VkIHdoZW4gbW9uaXRvcmluZyBhIG1pcnJvciBkZXZpY2UuCisgICAgIworICAgICMgImxpYmRldm1hcHBlci1ldmVudC1sdm0ybWlycm9yLnNvIiBhdHRlbXB0cyB0byByZWNvdmVyIGZyb20KKyAgICAjIGZhaWx1cmVzLiAgSXQgcmVtb3ZlcyBmYWlsZWQgZGV2aWNlcyBmcm9tIGEgdm9sdW1lIGdyb3VwIGFuZAorICAgICMgcmVjb25maWd1cmVzIGEgbWlycm9yIGFzIG5lY2Vzc2FyeS4gSWYgbm8gbWlycm9yIGxpYnJhcnkgaXMKKyAgICAjIHByb3ZpZGVkLCBtaXJyb3JzIGFyZSBub3QgbW9uaXRvcmVkIHRocm91Z2ggZG1ldmVudGQuCisKKyAgICBtaXJyb3JfbGlicmFyeSA9ICJAbGliZGlyQC9kZXZpY2UtbWFwcGVyL2xpYmRldm1hcHBlci1ldmVudC1sdm0ybWlycm9yLnNvIgorCisgICAgIyBzbmFwc2hvdF9saWJyYXJ5IGlzIHRoZSBsaWJyYXJ5IHVzZWQgd2hlbiBtb25pdG9yaW5nIGEgc25hcHNob3QgZGV2aWNlLgorICAgICMKKyAgICAjICJsaWJkZXZtYXBwZXItZXZlbnQtbHZtMnNuYXBzaG90LnNvIiBtb25pdG9ycyB0aGUgZmlsbGluZyBvZgorICAgICMgc25hcHNob3RzIGFuZCBlbWl0cyBhIHdhcm5pbmcgdGhyb3VnaCBzeXNsb2cgd2hlbiB0aGUgdXNlIG9mCisgICAgIyB0aGUgc25hcHNob3QgZXhjZWVkcyA4MCUuIFRoZSB3YXJuaW5nIGlzIHJlcGVhdGVkIHdoZW4gODUlLCA5MCUgYW5kCisgICAgIyA5NSUgb2YgdGhlIHNuYXBzaG90IGlzIGZpbGxlZC4KKworICAgIHNuYXBzaG90X2xpYnJhcnkgPSAiQGxpYmRpckAvZGV2aWNlLW1hcHBlci9saWJkZXZtYXBwZXItZXZlbnQtbHZtMnNuYXBzaG90LnNvIgorCisgICAgIyB0aGluX2xpYnJhcnkgaXMgdGhlIGxpYnJhcnkgdXNlZCB3aGVuIG1vbml0b3JpbmcgYSB0aGluIGRldmljZS4KKyAgICAjCisgICAgIyAibGliZGV2bWFwcGVyLWV2ZW50LWx2bTJ0aGluLnNvIiBtb25pdG9ycyB0aGUgZmlsbGluZyBvZgorICAgICMgcG9vbCBhbmQgZW1pdHMgYSB3YXJuaW5nIHRocm91Z2ggc3lzbG9nIHdoZW4gdGhlIHVzZSBvZgorICAgICMgdGhlIHBvb2wgZXhjZWVkcyA4MCUuIFRoZSB3YXJuaW5nIGlzIHJlcGVhdGVkIHdoZW4gODUlLCA5MCUgYW5kCisgICAgIyA5NSUgb2YgdGhlIHBvb2wgaXMgZmlsbGVkLgorCisgICAgdGhpbl9saWJyYXJ5ID0gIkBsaWJkaXJAL2RldmljZS1tYXBwZXIvbGliZGV2bWFwcGVyLWV2ZW50LWx2bTJ0aGluLnNvIgorCisgICAgIyBGdWxsIHBhdGggb2YgdGhlIGRtZXZlbnRkIGJpbmFyeS4KKyAgICAjCisgICAgIyBleGVjdXRhYmxlID0gIkBETUVWRU5URF9QQVRIQCIKK30KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTJfMi4wMi4xMzguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMl8yLjAyLjEzOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xM2E4NjZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTJfMi4wMi4xMzguYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlIGx2bTIuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNjYwZTAyYWQ0NTg2YTFkMjk3YjZiZWZiZTg1NTU2ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5Mzg3OGE0YmE0ZjcwZDlmMmQwZDkxOWViODViYzUxNjUyYTU4Nzc2YjU0MjhlYzhlN2UzMjc2OWQzMzJmNTk2IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9semlwL2x6aXBfMS4xNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHppcC9semlwXzEuMTYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWYwYjZhZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHppcC9semlwXzEuMTYuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJMb3NzbGVzcyBkYXRhIGNvbXByZXNzb3IgYmFzZWQgb24gdGhlIExaTUEgYWxnb3JpdGhtIgorSE9NRVBBR0UgPSAiaHR0cDovL2x6aXAubm9uZ251Lm9yZy9semlwLmh0bWwiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc2ZDZlMzAwZmZkOGZiOWQxOGJkOWIxMzZhOWJiYTEzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RlY29kZXIuY2M7ZW5kbGluZT0xNjttZDU9MDgwOTEyOGFjMzIxNjMyNTI4NDZlMDlhNzBjOGI4MGIiCisKK1NSQ19VUkkgPSAiJHtTQVZBTk5BSF9HTlVfTUlSUk9SfS9semlwL2x6aXAtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzE2YTk4NzZkYzU5NWVjNTJkNGYzYmRhODFlNDI0NzEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTI4Y2MyNWJhZjkyYzhiNjk3MDA4MzFlNmY5ODRkOTU0MDE2MzE4Y2M3OGVkY2E4Nzg3MGQwYzAzMzExMjc1MSIKKworQ09ORklHVVJFT1BUUyA9ICJcCisgICAgJy0tc3JjZGlyPSR7U30nIFwKKyAgICAnLS1wcmVmaXg9JHtwcmVmaXh9JyBcCisgICAgJy0tZXhlYy1wcmVmaXg9JHtleGVjX3ByZWZpeH0nIFwKKyAgICAnLS1iaW5kaXI9JHtiaW5kaXJ9JyBcCisgICAgJy0tZGF0YWRpcj0ke2RhdGFkaXJ9JyBcCisgICAgJy0taW5mb2Rpcj0ke2luZm9kaXJ9JyBcCisgICAgJy0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9JyBcCisgICAgJ0NYWD0ke0NYWH0nIFwKKyAgICAnQ1BQRkxBR1M9JHtDUFBGTEFHU30nIFwKKyAgICAnQ1hYRkxBR1M9JHtDWFhGTEFHU30nIFwKKyAgICAnTERGTEFHUz0ke0xERkxBR1N9JyBcCisiCitFWFRSQV9PRU1BS0UgPSAiIgorCitCID0gIiR7U30vb2JqIgorZG9fY29uZmlndXJlICgpIHsKKyAgICAke1N9L2NvbmZpZ3VyZSAke0NPTkZJR1VSRU9QVFN9Cit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorICAgICMgSW5mbyBkaXIgbGlzdGluZyBpc24ndCBpbnRlcmVzdGluZyBhdCB0aGlzIHBvaW50IHNvIHJlbW92ZSBpdCBpZiBpdCBleGlzdHMuCisgICAgaWYgWyAtZSAiJHtEfSR7aW5mb2Rpcn0vZGlyIiBdOyB0aGVuCisgICAgICAgIHJtIC1mICR7RH0ke2luZm9kaXJ9L2RpcgorICAgIGZpCit9CisKK0JCQ0xBU1NFWFRFTkQgKz0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21haWxjYXAvbWFpbGNhcF8yLjEuNDUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21haWxjYXAvbWFpbGNhcF8yLjEuNDUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTExMzYwZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWFpbGNhcC9tYWlsY2FwXzIuMS40NS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkhlbHBlciBhcHBsaWNhdGlvbiBhbmQgTUlNRSB0eXBlIGFzc29jaWF0aW9ucyBmb3IgZmlsZSB0eXBlcyIKK0RFU0NSSVBUSU9OID0gIlRoZSBtYWlsY2FwIGZpbGUgaXMgdXNlZCBieSB0aGUgbWV0YW1haWwgcHJvZ3JhbS4gTWV0YW1haWwgcmVhZHMgdGhlIFwKK21haWxjYXAgZmlsZSB0byBkZXRlcm1pbmUgaG93IGl0IHNob3VsZCBkaXNwbGF5IG5vbi10ZXh0IG9yIG11bHRpbWVkaWEgXAorbWF0ZXJpYWwuIEJhc2ljYWxseSwgbWFpbGNhcCBhc3NvY2lhdGVzIGEgcGFydGljdWxhciB0eXBlIG9mIGZpbGUgXAord2l0aCBhIHBhcnRpY3VsYXIgcHJvZ3JhbSB0aGF0IGEgbWFpbCBhZ2VudCBvciBvdGhlciBwcm9ncmFtIGNhbiBjYWxsIFwKK2luIG9yZGVyIHRvIGhhbmRsZSB0aGUgZmlsZS4gTWFpbGNhcCBzaG91bGQgYmUgaW5zdGFsbGVkIHRvIGFsbG93IFwKK2NlcnRhaW4gcHJvZ3JhbXMgdG8gYmUgYWJsZSB0byBoYW5kbGUgbm9uLXRleHQgZmlsZXMuIFwKK1wKK0Fsc28gaW5jbHVkZWQgaW4gdGhpcyBwYWNrYWdlIGlzIHRoZSBtaW1lLnR5cGVzIGZpbGUgd2hpY2ggY29udGFpbnMgYSBcCitsaXN0IG9mIE1JTUUgdHlwZXMgYW5kIHRoZWlyIGZpbGVuYW1lIGV4dGVuc2lvbiBhc3NvY2lhdGlvbnMsIHVzZWQgIFwKK2J5IHNldmVyYWwgYXBwbGljYXRpb25zIGUuZy4gdG8gZGV0ZXJtaW5lIE1JTUUgdHlwZXMgZm9yIGZpbGVuYW1lcy4iCisKK1NFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L0Jhc2UiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXQuZmVkb3JhaG9zdGVkLm9yZy9jZ2l0LyR7QlBOfS5naXQvc25hcHNob3QvJHtCUE59LXIyLTEtNDUudGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjIzMjBhNzdiMmZjODIwNzhjOWQ2YTU5YjI5MjM0YmM4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE3M2UyZjkzNjI1NDc1MDE0MDY2ZjQxNDg3M2NiOWYwYTRiMTE4OTk0MmQ5NGZhZGU5YTAzZTU5YmUzNzQ1YjciCitMSUNFTlNFID0gIlBEICYgTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTAwZmNmYjg0NTEyY2NjMDNmZmM3ZDg5YWMzOTEzMDUiCitTID0gIiR7V09SS0RJUn0vJHtCUE59LXIyLTEtNDUiCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0gc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9IG1hbmRpcj0ke21hbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWJ1ZmZlci9tYnVmZmVyXzIwMTQwMzEwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tYnVmZmVyL21idWZmZXJfMjAxNDAzMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQ2N2QyOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWJ1ZmZlci9tYnVmZmVyXzIwMTQwMzEwLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OID0gIm1idWZmZXIgaXMgYSB0b29sIGZvciBidWZmZXJpbmcgZGF0YSBzdHJlYW1zIHdpdGggYSBsYXJnZSBzZXQgb2YgdW5pcXVlIGZlYXR1cmVzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubWFpZXIta29tb3IuZGUvbWJ1ZmZlci5odG1sIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vd3d3Lm1haWVyLWtvbW9yLmRlL3NvZnR3YXJlL21idWZmZXIvbWJ1ZmZlci0yMDE0MDMxMC50Z3ogXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTkzN2Q3ZjY2NmMxOWEyZTZiMjQ5OWIwNGRiZWNjNDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWI5MGI2ZmRjZTE2ZGIyYmYwOGJjZGEwYmM1ZDJiZmIwNTNhOWExNjNkMmEyNGY5NWZiZjI0NjQ2MDU0OWI5OSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbWQ1XSA9ICItLWVuYWJsZS1tZDUsLS1kaXNhYmxlLW1kNSxvcGVuc3NsIgorCitkb19jb25maWd1cmUoKSB7CisgICAgKCBjZCAke1N9OyBnbnUtY29uZmlnaXplICkKKyAgICBvZV9ydW5jb25mCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZS1pbmplY3RfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlLWluamVjdF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg3NjE0NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZS1pbmplY3RfZ2l0LmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiTGludXggbWFjaGluZSBjaGVjayBpbmplY3RvciB0b29sIgorREVTQ1JJUFRJT04gPSAibWNlLWluamVjdCBhbGxvd3MgdG8gaW5qZWN0IG1hY2hpbmUgY2hlY2sgZXJyb3JzIG9uIHRoZSBcCitzb2Z0d2FyZSBsZXZlbCBpbnRvIGEgcnVubmluZyBMaW51eCBrZXJuZWwuIFRoaXMgaXMgaW50ZW5kZWQgZm9yIFwKK3ZhbGlkYXRpb24gb2YgdGhlIGtlcm5lbCBtYWNoaW5lIGNoZWNrIGhhbmRsZXIuIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvQmFzZSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL2NwdS9tY2UvbWNlLWluamVjdC5naXQiCisKK1NSQ1JFViA9ICI0Y2JlNDYzMjFiNGE4MTM2NWZmM2FhZmFmZTYzOTY3MjY0ZGJmZWM1IgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0zMDttZDU9OTRjMTg3NTUwODJhMmRhOWM5Y2Y5N2NiYTNhZDQ3ZDYiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0NPTVBBVElCTEVfSE9TVCA9ICcoeDg2XzY0Lip8aS44Ni4qKS1saW51eCcKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK0VYVFJBX09FTUFLRSA9ICJkZXN0ZGlyPSR7RH0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2Vsb2cvbWNlbG9nLWRlYmFzaC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZWxvZy9tY2Vsb2ctZGViYXNoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlYTJmNjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2Vsb2cvbWNlbG9nLWRlYmFzaC5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDhmNTdkMzU3NDdhM2IzZmFiYzMzNDY2NTYzMDc3MzczMDkwZjg2OWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMiBTZXAgMjAxNCAwNzowNToxNSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBjYWNoZS1lcnJvci10cmlnZ2VyOiByZW1vdmUgYmFzaGlzbQorCitVc2UgIiQoY2F0ICRGKSIgdG8gaW5zdGVhZCBvZiAiJCg8ICRGKSIgdG8gZGViYXNoLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyB0cmlnZ2Vycy9jYWNoZS1lcnJvci10cmlnZ2VyIHwgICAgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3RyaWdnZXJzL2NhY2hlLWVycm9yLXRyaWdnZXIgYi90cmlnZ2Vycy9jYWNoZS1lcnJvci10cmlnZ2VyCitpbmRleCBlMzJiZmQ2Li43ODU1MjZmIDEwMDc1NQorLS0tIGEvdHJpZ2dlcnMvY2FjaGUtZXJyb3ItdHJpZ2dlcgorKysrIGIvdHJpZ2dlcnMvY2FjaGUtZXJyb3ItdHJpZ2dlcgorQEAgLTEsNCArMSw0IEBACistIyEvYmluL2Jhc2gKKysjIS9iaW4vc2gKKyAjIGNhY2hlIGVycm9yIHRyaWdnZXIuIFRoaXMgc2hlbGwgc2NyaXB0IGlzIGV4ZWN1dGVkIGJ5IG1jZWxvZyBpbiBkYWVtb24gbW9kZQorICMgd2hlbiBhIENQVSByZXBvcnRzIGV4Y2Vzc2l2ZSBjb3JyZWN0ZWQgY2FjaGUgZXJyb3JzLiBUaGlzIGNvdWxkIGJlIGEgaW5kaWNhdGlvbgorICMgZm9yIGZ1dHVyZSB1bmNvcnJlY3RlZCBlcnJvcnMuCitAQCAtMjgsNyArMjgsNyBAQCBmb3IgaSBpbiAkQUZGRUNURURfQ1BVUyA7IGRvCisgCWxvZ2dlciAtcyAtcCBkYWVtb24uY3JpdCAtdCBtY2Vsb2cgIk9mZmxpbmluZyBDUFUgJGkgZHVlIHRvIGNhY2hlIGVycm9yIHRocmVzaG9sZCIKKyAJRj0kKHByaW50ZiAiL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvY3B1JWQvb25saW5lIiAkaSkKKyAJZWNobyAwID4gJEYKKy0JaWYgWyAiJCg8ICRGKSIgIT0gIjAiIF0gOyB0aGVuCisrCWlmIFsgIiQoY2F0ICRGKSIgIT0gIjAiIF0gOyB0aGVuCisgCQlsb2dnZXIgLXMgLXAgZGFlbW9uLndhcm4gLXQgbWNlbG9nICJPZmZsaW5pbmcgQ1BVICRpIGZhaWxlZCIKKyAJCUVYSVQ9MQorIAlmaQorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZWxvZy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2Vsb2cvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhN2EyYzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2Vsb2cvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMyBAQAorIyEvYmluL3NoCisKK21ha2UgLUMgdGVzdHMgdGVzdApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlbG9nXzEuMDkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21jZWxvZy9tY2Vsb2dfMS4wOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDJiMmJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlbG9nXzEuMDkuYmIKQEAgLTAsMCArMSwzNiBAQAorU1VNTUFSWSA9ICJtY2Vsb2cgZGFlbW9uIGFjY291bnRzIG1lbW9yeSBhbmQgc29tZSBvdGhlciBlcnJvcnMgaW4gdmFyaW91cyB3YXlzLiIKK0RFU0NSSVBUSU9OID0gIm1jZWxvZyBpcyByZXF1aXJlZCBieSBib3RoIDMyYml0IHg4NiBMaW51eCBrZXJuZWxzIChzaW5jZSAyLjYuMzApIFwKK2FuZCA2NGJpdCBMaW51eCBrZXJuZWxzIChzaW5jZSBlYXJseSAyLjYga2VybmVsIHJlbGVhc2VzKSB0byBsb2cgbWFjaGluZSBjaGVja3MgXAorYW5kIHNob3VsZCBydW4gb24gYWxsIExpbnV4IHN5c3RlbXMgdGhhdCBuZWVkIGVycm9yIGhhbmRsaW5nLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9tY2Vsb2cub3JnLyIKK1NFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L0Jhc2UiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS91dGlscy9jcHUvbWNlL21jZWxvZy5naXQgXAorICAgIGZpbGU6Ly9tY2Vsb2ctZGViYXNoLnBhdGNoIFwKKyAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyIKKworU1JDUkVWID0gIjBmYzlmNzAyMjMyY2IyZDk5Njk5MTZmODk5YzY3YzNlNjRkZWVkZGEiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7bWQ1PTNlYjc2Y2E2NGZhMDdhZDUzZWJiMGViYjViNGM4ZWRlIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcHRlc3QKKworQ09NUEFUSUJMRV9IT1NUID0gJyh4ODZfNjQuKnxpLjg2LiopLWxpbnV4JworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uaG91cmx5CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vbWNlbG9nLmNyb24gJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5ob3VybHkvCisgICAgc2VkIC1pICdzL2Jhc2gvc2gvJyAke0R9JHtzeXNjb25mZGlyfS9jcm9uLmhvdXJseS9tY2Vsb2cuY3JvbgorfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0KKyAgICBjcCAtciAke1N9L3Rlc3RzICR7U30vaW5wdXQgJHtEfSR7UFRFU1RfUEFUSH0KKyAgICBzZWQgLWkgJ3MjLi4vLi4vbWNlbG9nI21jZWxvZyMnICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL3Rlc3QKK30KKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59IG1ha2UgYmFzaCBtY2UtaW5qZWN0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tZy9maWxlcy9yZW1vdmVfbmN1cnNlc19jaGVjay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWcvZmlsZXMvcmVtb3ZlX25jdXJzZXNfY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTYxMzdkYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWcvZmlsZXMvcmVtb3ZlX25jdXJzZXNfY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorZGlmZiAtdXdyIG1nLTIwMTEwOTA1L2NvbmZpZ3VyZSBtZy0yMDExMDkwNS1jaGFuZ2VkL2NvbmZpZ3VyZQorLS0tIG1nLTIwMTEwOTA1L2NvbmZpZ3VyZQkyMDExLTA5LTA1IDEzOjM2OjE2LjAwMDAwMDAwMCAtMDUwMAorKysrIG1nLTIwMTEwOTA1LWNoYW5nZWQvY29uZmlndXJlCTIwMTQtMDgtMTQgMTA6NDY6MTQuMTY4NzE1NDI1IC0wNTAwCitAQCAtMTYzLDMyICsxNjMsNiBAQAorICAgICBlY2hvICdGYWlscy4nCisgZmkKKyAKKy0KKy1pZiBbICEgLXIgL3Vzci9pbmNsdWRlL3Rlcm0uaCBdOyB0aGVuCistICAgIG5vdGUgJ3Rlcm0uaCcKKy0gICAgaWYgWyAtciAvdXNyL2luY2x1ZGUvbmN1cnNlcy90ZXJtLmggXTsgdGhlbgorLQllY2hvICJGb3VuZCBpbiAvdXNyL2luY2x1ZGUvbmN1cnNlcyIKKy0JZXh0cmFmbGFncz0iJGV4dHJhZmxhZ3MgLUkvdXNyL2luY2x1ZGUvbmN1cnNlcyIKKy0gICAgZWxzZQorLQlmb3IgaSBpbiBwa2cgbG9jYWw7IGRvCistCSAgICBpZiBbIC1yIC91c3IvJGkvaW5jbHVkZS90ZXJtLmggXTsgdGhlbgorLQkJZWNobyAiRm91bmQgaW4gL3Vzci8kaS9pbmNsdWRlIgorLQkJZXh0cmFsaWJzPSIkZXh0cmFsaWJzIC1ML3Vzci8kaS9saWIiCistCQlleHRyYWZsYWdzPSIkZXh0cmFmbGFncyAtSS91c3IvJGkvaW5jbHVkZSIKKy0JCWJyZWFrCistCSAgICBlbHNlCistCQlmYWxzZQorLQkgICAgZmkKKy0JZG9uZSB8fAorLQl7CistCSAgICBlY2hvICdOb3QgZm91bmQhJyA+JjIKKy0JICAgIGVjaG8gJ0RvIHlvdSBoYXZlIHRoZSBuY3Vyc2VzIGRldmVsIHBhY2thZ2UgaW5zdGFsbGVkPycgPiYyCistCSAgICBlY2hvICdJZiB5b3Uga25vdyB3aGVyZSB0ZXJtLmggaXMsIHBsZWFzZSBlbWFpbCB0aGUgYXV0aG9yIScgPiYyCistCSAgICBleGl0IDEKKy0JfQorLSAgICBmaQorLWZpCistCisgbm90ZSAnYmFzZSBhbmQgZGlybmFtZScKKyBpZiBnY2NfZGVmaW5lcyAiX19HTElCQ19fIiB8fCBnY2NfZGVmaW5lcyAiX19DWUdXSU5fXyIgOyB0aGVuCisgICAgIGVjaG8gJ05vdCBwcmVzZW50LCBhZGRpbmcuJwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tZy9tZ18yMDExMDkwNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWcvbWdfMjAxMTA5MDUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkyNGJiZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWcvbWdfMjAxMTA5MDUuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJBIHBvcnRhYmxlIHZlcnNpb24gb2YgdGhlIG1nIG1haW50YWluZWQgYnkgdGhlIE9wZW5CU0QgdGVhbSIKK0hPTUVQQUdFID0gImh0dHA6Ly9ob21lcGFnZS5ib2V0ZXMub3JnL3NvZnR3YXJlL21nLyIKK0xJQ0VOU0UgPSAiUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly92ZXJzaW9uLmM7bWQ1PTgxMWUxYjY3YTVjZDYwYzEyYjIxOGEyYjdjMWFkYmYyIgorREVQRU5EUyA9ICJuY3Vyc2VzIgorU0VDVElPTiA9ICJjb25zb2xlL2VkaXRvcnMiCisKK1NSQ19VUkkgPSAiaHR0cDovL2hvbWVwYWdlLmJvZXRlcy5vcmcvc29mdHdhcmUvbWcvbWctJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZV9uY3Vyc2VzX2NoZWNrLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmRlMzUzMTZmYThlYmFmZTYwMDNlZmFhZTcwYjcyM2UiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWNkMzdkN2U2YTNlZWNjODkwYTU3MThjMzhiOGYzODQ5NTA1N2JhOTM4NTY3NjJhNzU2Y2NlZTJmOTYxODIyOSIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgc2VkIC1pIE1ha2VmaWxlLmluIC1lICdzLF5wcmVmaXg9LioscHJlZml4PSR7cHJlZml4fSwnCisgICAgLi9jb25maWd1cmUKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW1lLXN1cHBvcnQvbWltZS1zdXBwb3J0XzMuNDguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21pbWUtc3VwcG9ydC9taW1lLXN1cHBvcnRfMy40OC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjE3YjY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW1lLXN1cHBvcnQvbWltZS1zdXBwb3J0XzMuNDguYmIKQEAgLTAsMCArMSw1OCBAQAorU0VDVElPTiA9ICJiYXNlIgorU1VNTUFSWSA9ICJNSU1FIGZpbGVzICdtaW1lLnR5cGVzJyAmICdtYWlsY2FwJywgYW5kIHN1cHBvcnQgcHJvZ3JhbXMiCitMSUNFTlNFID0gIlBEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL1JFQURNRTttZDU9MzZiYmUyYWNlMGEwNWMzZmI2ODRiNzMyMDhmYmYzMGIiCisKK0RFUEVORFMgPSAiZmlsZSIKK1JERVBFTkRTXyR7UE59ID0gInBlcmwiCitSUkVDT01NRU5EU18ke1BOfSA9ICJmaWxlIgorCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9tL21pbWUtc3VwcG9ydC9taW1lLXN1cHBvcnRfJHtQVn0tMS50YXIuZ3oiCitTID0gIiR7V09SS0RJUn0vJHtCUE59IgorCitGSUxFU18ke1BOfSArPSAiICR7bGliZGlyfS9taW1lIgorCitkb2NkaXJfYXBwZW5kID0gIi8ke0JQTn0iCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vbWltZS9wYWNrYWdlcworICAgIGluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuMQorICAgIGluc3RhbGwgLWQgJHtEfSR7bWFuZGlyfS9tYW41CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1tIDY0NCBtaW1lLnR5cGVzICAgICAgICAgJHtEfSR7c3lzY29uZmRpcn0vCisgICAgaW5zdGFsbCAtbSA2NDQgbWFpbGNhcCAgICAgICAgICAgICR7RH0ke2xpYmRpcn0vbWltZS8KKyAgICBpbnN0YWxsIC1tIDY0NCBtYWlsY2FwLm9yZGVyICAgICAgICAgICAke0R9JHtzeXNjb25mZGlyfS8KKyAgICBpbnN0YWxsIC1tIDY0NCBtYWlsY2FwLm1hbiAgICAgICAgJHtEfSR7bWFuZGlyfS9tYW41L21haWxjYXAuNQorICAgIGluc3RhbGwgLW0gNjQ0IG1haWxjYXAub3JkZXIubWFuICAgICR7RH0ke21hbmRpcn0vbWFuNS9tYWlsY2FwLm9yZGVyLjUKKyMgICAgaW5zdGFsbCAtbSA3NTUgaW5zdGFsbC1taW1lICAgICAgICAke0R9JHtzYmluZGlyfS8KKyMgICAgaW5zdGFsbCAtbSA2NDQgaW5zdGFsbC1taW1lLm1hbiAgICAgICAgJHtEfSR7bWFuZGlyfS9tYW44L2luc3RhbGwtbWltZS44CisgICAgaW5zdGFsbCAtbSA3NTUgdXBkYXRlLW1pbWUgICAgICAgICR7RH0ke3NiaW5kaXJ9LworICAgIGluc3RhbGwgLW0gNjQ0IHVwZGF0ZS1taW1lLm1hbiAgICAgICAgJHtEfSR7bWFuZGlyfS9tYW44L3VwZGF0ZS1taW1lLjgKKyAgICBpbnN0YWxsIC1tIDc1NSBydW4tbWFpbGNhcCAgICAgICAgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDY0NCBydW4tbWFpbGNhcC5tYW4gICAgICAgICR7RH0ke21hbmRpcn0vbWFuMS9ydW4tbWFpbGNhcC4xCisjICAgIGluc3RhbGwgLW0gNjQ0IHJmY3MvKiAgICAgICAgICAgICR7RH0ke2RvY2Rpcn0vCisgICAgaW5zdGFsbCAtbSA2NDQgZGViaWFuL2NoYW5nZWxvZyAgICAgICAgJHtEfSR7ZG9jZGlyfS9jaGFuZ2Vsb2cuRGViaWFuCisgICAgaW5zdGFsbCAtbSA2NDQgZGViaWFuL1JFQURNRSAgICAgICAgJHtEfSR7ZG9jZGlyfS9jb3B5cmlnaHQKKyAgICBpbnN0YWxsIC1tIDc1NSBkZWJpYW4tdmlldyAgICAgICAgJHtEfSR7bGliZGlyfS9taW1lLworICAgIGluc3RhbGwgLW0gNzU1IHBsYXlhdWRpbyAgICAgICAgJHtEfSR7bGliZGlyfS9taW1lLworICAgIGluc3RhbGwgLW0gNzU1IHBsYXlkc3AgICAgICAgICAgICAke0R9JHtsaWJkaXJ9L21pbWUvCisgICAgaW5zdGFsbCAtbSA2NDQgbWFpbGNhcC5lbnRyaWVzICAgICAgICAke0R9JHtsaWJkaXJ9L21pbWUvcGFja2FnZXMvbWltZS1zdXBwb3J0CisgICAgY2QgJHtEfSR7bWFuZGlyfTsgZ3ppcCAtOWZ2ICovKgorICAgIGNkICR7RH0ke2RvY2Rpcn07IGd6aXAgLTl2ICoKKyAgICBjZCAke0R9JHtkb2NkaXJ9OyBndW56aXAgY29weXJpZ2h0Lmd6CisgICAgY2QgJHtEfSR7YmluZGlyfTsgbG4gLXMgcnVuLW1haWxjYXAgc2VlCisgICAgY2QgJHtEfSR7YmluZGlyfTsgbG4gLXMgcnVuLW1haWxjYXAgZWRpdAorICAgIGNkICR7RH0ke2JpbmRpcn07IGxuIC1zIHJ1bi1tYWlsY2FwIGNvbXBvc2UKKyAgICBjZCAke0R9JHtiaW5kaXJ9OyBsbiAtcyBydW4tbWFpbGNhcCBwcmludAorICAgIGNkICR7RH0ke21hbmRpcn0vbWFuMTsgbG4gLXMgcnVuLW1haWxjYXAuMS5neiBzZWUuMS5negorICAgIGNkICR7RH0ke21hbmRpcn0vbWFuMTsgbG4gLXMgcnVuLW1haWxjYXAuMS5neiBlZGl0LjEuZ3oKKyAgICBjZCAke0R9JHttYW5kaXJ9L21hbjE7IGxuIC1zIHJ1bi1tYWlsY2FwLjEuZ3ogY29tcG9zZS4xLmd6CisgICAgY2QgJHtEfSR7bWFuZGlyfS9tYW4xOyBsbiAtcyBydW4tbWFpbGNhcC4xLmd6IHByaW50LjEuZ3oKK30KKworU1JDX1VSSVttZDVzdW1dID0gImQ2ZTVkNzE1ZTMzMTE0NzM1MmM1MGMxNThkYmRlYzZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE1MjljNzg5MmNiNzg2ZjUxNGFmNzFmNGNhNWE0YzNlYmM1OGI1MzhhNDlmZjk1OWMwZDk3NTkyZDM4ZjA0MGEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21pbmktaWNvbnYvbWluaS1pY29udi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWluaS1pY29udi9taW5pLWljb252LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmMTU0OGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21pbmktaWNvbnYvbWluaS1pY29udi5iYgpAQCAtMCwwICsxLDIwIEBACisjIENvcHlyaWdodCAoQykgMjAxMiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCBmb3IgdGhlIHRlcm1zKQorCitTVU1NQVJZID0gIkEgbWluaW1hbCBpY29udiBpbXBsZW1lbnRhdGlvbiB3LyBzdXBwb3J0IGZvciBVVEYtOCwgQVNDSUksIElTTy04ODU5LTEiCitIT01FUEFHRSA9ICJodHRwOi8vdGluZGVyYm94LmRldi5nZW50b28ub3JnL3BvcnRhZ2UvbG9jYWwvbWlzYy9taW5pLWljb252LyIKK0xJQ0VOU0UgPSAiTVBMLTEuMSIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAiIgorUFJPVklERVMgPSAidmlydHVhbC9saWJpY29udiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2ljb252LmM7YmVnaW5saW5lPTE7ZW5kbGluZT02O21kNT0zNWFmOWQ5OTI0MzI3ZmU4YTBhMWZlM2EyY2I0NTRjOCIKK1NSQ19VUkkgPSAiaHR0cDovL21pcnJvci5tZWxlZXdlYi5uZXQvcHViL2xpbnV4L2dlbnRvby9kaXN0ZmlsZXMvbWluaS1pY29udi50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjg0NDEyMjIxZTI2NTA1YTJiMzg1NWQ0YTFjZGNkMGUwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM1NTIyNjJiZjFiY2Y4ZTg1OWEyYTNhN2FkZmIwMzY3YWY4NTkzMzgzZTczMGM0OTJlOTgxNDc3YWFjMGEwZDQiCisKKworUyA9ICIke1dPUktESVJ9LyR7UE59IgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0gUFJFRklYPSR7cHJlZml4fSBMSUI9JHtiYXNlX2xpYmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWluaW5pL21pbmluaV8xLjIuYi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWluaW5pL21pbmluaV8xLjIuYi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjA3ZGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW5pbmkvbWluaW5pXzEuMi5iLmJiCkBAIC0wLDAgKzEsMzkgQEAKK1NVTU1BUlkgPSAiQSBtaW5pbWFsIElOSSBmaWxlIHBhcnNlciIKK0RFU0NSSVBUSU9OID0gIm1pbkluaSBpcyBhIHByb2dyYW1tZXIncyBsaWJyYXJ5IHRvIHJlYWQgYW5kIHdyaXRlIElOSSBmaWxlcyBpbiBcCitlbWJlZGRlZCBzeXN0ZW1zLiBtaW5JbmkgdGFrZXMgbGl0dGxlIHJlc291cmNlcywgaGFzIGEgZGV0ZXJtaW5pc3RpYyBtZW1vcnkgXAorZm9vdHByaW50IGFuZCBjYW4gYmUgY29uZmlndXJlZCBmb3IgdmFyaW91cyBraW5kcyBvZiBmaWxlIEkvTyBsaWJyYXJpZXMuIG1pbkluaSBcCitwcm92aWRlcyBmdW5jdGlvbmFsaXR5IGZvciByZWFkaW5nLCB3cml0aW5nIGFuZCBkZWxldGluZyBrZXlzIGZyb20gYW4gSU5JIGZpbGUsIFwKK2FsbCBpbiA4MzAgbGluZXMgb2YgKGNvbW1lbnRlZCkgc291cmNlIGNvZGUgKHZlcnNpb24gMS4yKSBpbiBDICh0aGUgY29kZSBhbHNvIFwKK2NvbXBpbGVzIGluIEMrKyBhbmQgY29tZXMgd2l0aCBhIHdyYXBwZXIgY2xhc3MpLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvbWluaW5pLyIKKworIyBMaWNlbnNlIGlzIEFwYWNoZSAyLjAgd2l0aCBhbiBleGNlcHRpb24gdG8gYWxsb3cgb2JqZWN0IGNvZGUgYnVpbHQgZnJvbQorIyB1bm1vZGlmaWVkIG9yaWdpbmFsIHNvdXJjZXMgdG8gYmUgZGlzdHJpYnV0ZWQgbW9yZSBmcmVlbHkuIFNlZSBMSUNFTlNFCisjIGZpbGUgZm9yIGRldGFpbHMuCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWViMjE0ODFhZDQ1YzU1NzhhZThjOGQzN2I4YzhkNzZkIgorCitTUkNfVVJJID0gImh0dHA6Ly9taW5pbmkuZ29vZ2xlY29kZS5jb20vZmlsZXMvbWluSW5pXzEyYi56aXA7c3ViZGlyPSR7QlB9IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMzI3NDA2MjEwOThlM2YwYTMyMWM3YzIzZjRiY2JjNWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjA4ODM5YWY3NGFjYjM2MDYxZmI3NmUxMTIzYmY1NjcxMWJjNWNmN2EwOGIzMmUxODliMGFkNzhhMmU4ODhlMiIKKworZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKKworZG9fY29tcGlsZSgpIHsKKyAgICAke0NDfSAke0NGTEFHU30gLWZQSUMgLWMgbWluSW5pLmMgLW8gbWluSW5pLm8KKyAgICAke0NDfSAke0xERkxBR1N9IC1zaGFyZWQgLVdsLC1zb25hbWUsbGlibWluaW5pLnNvLjAgbWluSW5pLm8gLW8gbGlibWluaW5pLnNvLjAuMAorfQorCitkb19pbnN0YWxsICgpIHsKKworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQorICAgIGluc3RhbGwgLW0gMDY0NCBsaWJtaW5pbmkuc28uMC4wICR7RH0ke2xpYmRpcn0vCisgICAgbG4gLXMgbGlibWluaW5pLnNvLjAuMCAke0R9JHtsaWJkaXJ9L2xpYm1pbmluaS5zbworICAgIGxuIC1zIGxpYm1pbmluaS5zby4wLjAgJHtEfSR7bGliZGlyfS9saWJtaW5pbmkuc28uMAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9taW5pbmkKKyAgICBpbnN0YWxsIC1tIDA2NDQgbWluSW5pLmggJHtEfSR7aW5jbHVkZWRpcn0vbWluaW5pLworICAgIGluc3RhbGwgLW0gMDY0NCBtaW5HbHVlLXN0ZGlvLmggJHtEfSR7aW5jbHVkZWRpcn0vbWluaW5pL21pbkdsdWUuaAorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tb25nb2RiL21vbmdvZGIvMDAwMS1UZWxsLXNjb25zLXRvLXVzZS1idWlsZC1zZXR0aW5ncy1mcm9tLWVudmlyb25tZW50LXZhLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tb25nb2RiL21vbmdvZGIvMDAwMS1UZWxsLXNjb25zLXRvLXVzZS1idWlsZC1zZXR0aW5ncy1mcm9tLWVudmlyb25tZW50LXZhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5ZDQ5ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21vbmdvZGIvbW9uZ29kYi8wMDAxLVRlbGwtc2NvbnMtdG8tdXNlLWJ1aWxkLXNldHRpbmdzLWZyb20tZW52aXJvbm1lbnQtdmEucGF0Y2gKQEAgLTAsMCArMSw2NyBAQAorRnJvbSA1MzM2OGQzZjRhZGMwOWRkODQyMzRhOWFmMzE3NzFiY2Q4Y2EyNzU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3ZlbiBFYmVuZmVsZCA8c3Zlbi5lYmVuZmVsZEBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE1IEphbiAyMDE2IDIyOjQxOjI4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFRlbGwgc2NvbnMgdG8gdXNlIGJ1aWxkIHNldHRpbmdzIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzCisKK1NpZ25lZC1vZmYtYnk6IFN2ZW4gRWJlbmZlbGQgPHN2ZW4uZWJlbmZlbGRAZ21haWwuY29tPgorLS0tCisgU0NvbnN0cnVjdCAgICAgICAgICAgICAgICB8IDggKysrKysrLS0KKyBzcmMvbW9uZ28vdXRpbC9TQ29uc2NyaXB0IHwgMiArKworIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvU0NvbnN0cnVjdCBiL1NDb25zdHJ1Y3QKK2luZGV4IDUwODJhNGIuLjMzNzBmNzAgMTAwNjQ0CistLS0gYS9TQ29uc3RydWN0CisrKysgYi9TQ29uc3RydWN0CitAQCAtNTA3LDYgKzUwNyw3IEBAIGRlZiB2YXJpYWJsZV9hcmNoX2NvbnZlcnRlcih2YWwpOgorICAgICAgICAgJ2FtZDY0JzogICd4ODZfNjQnLAorICAgICAgICAgJ2VtdDY0JzogICAneDg2XzY0JywKKyAgICAgICAgICd4ODYnOiAgICAnaTM4NicsCisrICAgICAgICAnYWFyY2g2NCc6ICdhcm02NCcsCisgICAgIH0KKyAgICAgdmFsID0gdmFsLmxvd2VyKCkKKyAKK0BAIC01NjgsNyArNTY5LDggQEAgZW52X3ZhcnMuQWRkKCdBUkZMQUdTJywKKyAgICAgY29udmVydGVyPXZhcmlhYmxlX3NobGV4X2NvbnZlcnRlcikKKyAKKyBlbnZfdmFycy5BZGQoJ0NDJywKKy0gICAgaGVscD0nU2VsZWN0IHRoZSBDIGNvbXBpbGVyIHRvIHVzZScpCisrICAgIGhlbHA9J1NlbGVjdCB0aGUgQyBjb21waWxlciB0byB1c2UnLAorKyAgICBkZWZhdWx0PW9zLmdldGVudignQ0MnKSkKKyAKKyBlbnZfdmFycy5BZGQoJ0NDRkxBR1MnLAorICAgICBoZWxwPSdTZXRzIGZsYWdzIGZvciB0aGUgQyBhbmQgQysrIGNvbXBpbGVyJywKK0BAIC01ODgsNyArNTkwLDggQEAgZW52X3ZhcnMuQWRkKCdDUFBQQVRIJywKKyAgICAgY29udmVydGVyPXZhcmlhYmxlX3NobGV4X2NvbnZlcnRlcikKKyAKKyBlbnZfdmFycy5BZGQoJ0NYWCcsCistICAgIGhlbHA9J1NlbGVjdCB0aGUgQysrIGNvbXBpbGVyIHRvIHVzZScpCisrICAgIGhlbHA9J1NlbGVjdCB0aGUgQysrIGNvbXBpbGVyIHRvIHVzZScsCisrICAgIGRlZmF1bHQ9b3MuZ2V0ZW52KCdDWFgnKSkKKyAKKyBlbnZfdmFycy5BZGQoJ0NYWEZMQUdTJywKKyAgICAgaGVscD0nU2V0cyBmbGFncyBmb3IgdGhlIEMrKyBjb21waWxlcicsCitAQCAtODE4LDYgKzgyMSw3IEBAIGVudkRpY3QgPSBkaWN0KEJVSUxEX1JPT1Q9YnVpbGREaXIsCisgICAgICAgICAgICAgICAgKQorIAorIGVudiA9IEVudmlyb25tZW50KHZhcmlhYmxlcz1lbnZfdmFycywgKiplbnZEaWN0KQorK2Vudi5QcmVwZW5kRU5WUGF0aCgnUEFUSCcsIG9zLmdldGVudignUEFUSCcpKQorIGRlbCBlbnZEaWN0CisgCisgZW52LkFkZE1ldGhvZChlbnZfb3NfaXNfd3JhcHBlciwgJ1RhcmdldE9TSXMnKQorZGlmZiAtLWdpdCBhL3NyYy9tb25nby91dGlsL1NDb25zY3JpcHQgYi9zcmMvbW9uZ28vdXRpbC9TQ29uc2NyaXB0CitpbmRleCA2YWRkNjAyLi44ZDA1YTYyIDEwMDY0NAorLS0tIGEvc3JjL21vbmdvL3V0aWwvU0NvbnNjcmlwdAorKysrIGIvc3JjL21vbmdvL3V0aWwvU0NvbnNjcmlwdAorQEAgLTI1MSw2ICsyNTEsOCBAQCBpZiBnZXRfb3B0aW9uKCdhbGxvY2F0b3InKSA9PSAndGNtYWxsb2MnOgorICAgICAgICAgICAgICAgICAnTU9OR09fSEFWRV9HUEVSRlRPT0xTX0dFVF9USFJFQURfQ0FDSEVfU0laRScKKyAgICAgICAgICAgICBdCisgICAgICAgICApCisrICAgIGlmIG5vdCB1c2Vfc3lzdGVtX3ZlcnNpb25fb2ZfbGlicmFyeSgndmFsZ3JpbmQnKToKKysgICAgICAgIHRjbXNwRW52LkluamVjdFRoaXJkUGFydHlJbmNsdWRlUGF0aHMoJ3ZhbGdyaW5kJykKKyAKKyAgICAgdGNtc3BFbnYuTGlicmFyeSgKKyAgICAgICAgIHRhcmdldD0ndGNtYWxsb2Nfc2V0X3BhcmFtZXRlcicsCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbW9uZ29kYi9tb25nb2RiX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbW9uZ29kYi9tb25nb2RiX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTIyYTY3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tb25nb2RiL21vbmdvZGJfZ2l0LmJiCkBAIC0wLDAgKzEsNTcgQEAKK1NVTU1BUlkgPSAibW9uZ29kYiIKK0xJQ0VOU0UgPSAiQUdQTC0zLjAgJiBBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vR05VLUFHUEwtMy4wLnR4dDttZDU9NzNmMWViMjA1MTdjNTViZjk0OTNiN2RkNmU0ODA3ODggXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQVBBQ0hFLTIuMC50eHQ7bWQ1PTNiODNlZjk2Mzg3ZjE0NjU1ZmM4NTRkZGMzYzZiZDU3IgorCitERVBFTkRTID0gIm9wZW5zc2wgbGlicGNyZSBsaWJwY2FwIHpsaWIiCisKK2luaGVyaXQgc2NvbnMKKworUFYgPSAiMy4zLjArZ2l0JHtTUkNQVn0iCitTUkNSRVYgPSAiYWFjZDIzMWJlMDYyNmEyMDRjYjQwOTA4YWZkZjYyYzRiNjdiYjBhZCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9tb25nb2RiL21vbmdvLmdpdDticmFuY2g9bWFzdGVyIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtVGVsbC1zY29ucy10by11c2UtYnVpbGQtc2V0dGluZ3MtZnJvbS1lbnZpcm9ubWVudC12YS5wYXRjaCBcCisgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworIyBXaXJlZHRpZ2VyIHN1cHBvcnRzIG9ubHkgNjQtYml0IHBsYXRmb3JtcworUEFDS0FHRUNPTkZJR194ODYtNjQgPz89ICJ0Y21hbGxvYyB3aXJlZHRpZ2VyIgorUEFDS0FHRUNPTkZJR19hYXJjaDY0ID8/PSAidGNtYWxsb2Mgd2lyZWR0aWdlciIKK1BBQ0tBR0VDT05GSUcgPz89ICJ0Y21hbGxvYyIKKyMgZ3BlcmZ0b29scyBjb21waWxhdGlvbiBmYWlscyBmb3IgYXJtIGJlbG93IHY3IGJlY2F1c2Ugb2YgbWlzc2luZyBzdXBwb3J0IG9mCisjIGRtYiBvcGVyYXRpb24uIFNvIHdlIHVzZSBzeXN0ZW0tYWxsb2NhdG9yIGluc3RlYWQgb2YgdGNtYWxsb2MKK1BBQ0tBR0VDT05GSUdfcmVtb3ZlX2FybXY2ID0gInRjbWFsbG9jIgorCisjc3RkOjpjdXJyZW50X2V4Y2VwdGlvbiBpcyB1bmRlZmluZWQgZm9yIGFybSA8IHY2CitDT01QQVRJQkxFX01BQ0hJTkVfYXJtdjQgPSAiKCEuKmFybXY0KS4qIgorQ09NUEFUSUJMRV9NQUNISU5FX2FybXY1ID0gIighLiphcm12NSkuKiIKK0NPTVBBVElCTEVfTUFDSElORV9taXBzNjQgPSAiKCEuKm1pcHM2NCkuKiIKKworUEFDS0FHRUNPTkZJR1t0Y21hbGxvY10gPSAiLS11c2Utc3lzdGVtLXRjbWFsbG9jLC0tYWxsb2NhdG9yPXN5c3RlbSxncGVyZnRvb2xzLCIKK1BBQ0tBR0VDT05GSUdbd2lyZWR0aWdlcl0gPSAiLS13aXJlZHRpZ2VyPW9uLC0td2lyZWR0aWdlcj1vZmYsLCIKKworRVhUUkFfT0VTQ09OUyA9ICItLXByZWZpeD0ke0R9JHtwcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAgTElCUEFUSD0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgICAgICAgICAgICAgIExJTktGTEFHUz0nJHtMREZMQUdTfScgXAorICAgICAgICAgICAgICAgICBDWFhGTEFHUz0nJHtDWFhGTEFHU30nIFwKKyAgICAgICAgICAgICAgICAgVEFSR0VUX0FSQ0g9JHtUQVJHRVRfQVJDSH0gXAorICAgICAgICAgICAgICAgICAtLXNzbCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS13YXJuaW5ncy1hcy1lcnJvcnMgXAorICAgICAgICAgICAgICAgICAtLXVzZS1zeXN0ZW0tcGNyZSBcCisgICAgICAgICAgICAgICAgIC0tdXNlLXN5c3RlbS16bGliIFwKKyAgICAgICAgICAgICAgICAgLS1qcy1lbmdpbmU9bm9uZSBcCisgICAgICAgICAgICAgICAgIC0tbm9zdHJpcCBcCisgICAgICAgICAgICAgICAgICR7RVhUUkFfT0VDT05GfSBcCisgICAgICAgICAgICAgICAgIG1vbmdvZCBtb25nb3MiCitESVNBQkxFX1NUQVRJQyA9ICIiCisKK3Njb25zX2RvX2NvbXBpbGUoKSB7CisgICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9zY29ucyAke1BBUkFMTEVMX01BS0V9ICR7RVhUUkFfT0VTQ09OU30gfHwgXAorICAgICAgICBkaWUgInNjb25zIGJ1aWxkIGV4ZWN1dGlvbiBmYWlsZWQuIgorfQorCitzY29uc19kb19pbnN0YWxsKCkgeworICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vc2NvbnMgaW5zdGFsbCAke0VYVFJBX09FU0NPTlN9fHwgXAorICAgICAgICBkaWUgInNjb25zIGluc3RhbGwgZXhlY3V0aW9uIGZhaWxlZC4iCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAxLW11bHRpcGF0aGQuc2VydmljZS1FcnJvci1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAxLW11bHRpcGF0aGQuc2VydmljZS1FcnJvci1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWU0OGUxYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDEtbXVsdGlwYXRoZC5zZXJ2aWNlLUVycm9yLWZpeC5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDc0ZmY1ZTFjZjhlZjgzZGFiY2Y2ZTZiOTJmODdkNjc2MWY3ZjRkNTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBUdWUsIDcgSnVsIDIwMTUgMTE6MzQ6MzYgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoZC5zZXJ2aWNlOiBFcnJvciBmaXgKKworRmFpbGVkIHRvIHN0YXJ0IERldmljZS1NYXBwZXIgTXVsdGlwYXRoIERldmljZSBDb250cm9sbGVyLgorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgbXVsdGlwYXRoZC9tdWx0aXBhdGhkLnNlcnZpY2UgfCA1ICsrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL211bHRpcGF0aGQvbXVsdGlwYXRoZC5zZXJ2aWNlIGIvbXVsdGlwYXRoZC9tdWx0aXBhdGhkLnNlcnZpY2UKK2luZGV4IGJlM2JhM2YuLmI4ZDNlY2QgMTAwNjQ0CistLS0gYS9tdWx0aXBhdGhkL211bHRpcGF0aGQuc2VydmljZQorKysrIGIvbXVsdGlwYXRoZC9tdWx0aXBhdGhkLnNlcnZpY2UKK0BAIC02LDExICs2LDEyIEBAIERlZmF1bHREZXBlbmRlbmNpZXM9bm8KKyBDb25mbGljdHM9c2h1dGRvd24udGFyZ2V0CisgCisgW1NlcnZpY2VdCistVHlwZT1ub3RpZnkKKytUeXBlPWZvcmtpbmcKKyBOb3RpZnlBY2Nlc3M9bWFpbgorIExpbWl0Q09SRT1pbmZpbml0eQorK1BJREZpbGU9L3Zhci9ydW4vbXVsdGlwYXRoZC5waWQKKyBFeGVjU3RhcnRQcmU9L3NiaW4vbW9kcHJvYmUgZG0tbXVsdGlwYXRoCistRXhlY1N0YXJ0PS9zYmluL211bHRpcGF0aGQgLWQgLXMKKytFeGVjU3RhcnQ9L3NiaW4vbXVsdGlwYXRoZAorIEV4ZWNSZWxvYWQ9L3NiaW4vbXVsdGlwYXRoZCByZWNvbmZpZ3VyZQorIAorIFtJbnN0YWxsXQorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL2Fsd2F5cy11c2UtbGliZGV2bWFwcGVyLWtwYXJ0eC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL2Fsd2F5cy11c2UtbGliZGV2bWFwcGVyLWtwYXJ0eC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTZhODU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvYWx3YXlzLXVzZS1saWJkZXZtYXBwZXIta3BhcnR4LnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Fsd2F5cyB1c2UgZGV2bWFwcGVyIGZvciBrcGFydHgKKworRG8gbm90IHRyeSB0byBjb21wdXRlIHRoZSBMSUJETV9BUElfQ09PS0lFIG1ha2UgdmFyaWFibGUKK2Zyb20gaG9zdCBpbmZvcm1hdGlvbiB3aGVuIGNyb3NzLWNvbXBpbGluZy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQXdzIElzbWFpbCA8YXdzLmlzbWFpbEB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgorCitkaWZmIC0tZ2l0IGEva3BhcnR4L01ha2VmaWxlIGIva3BhcnR4L01ha2VmaWxlCitpbmRleCAyYTA3MzM0Li4yNGJkYWJjIDEwMDY0NAorLS0tIGEva3BhcnR4L01ha2VmaWxlCisrKysgYi9rcGFydHgvTWFrZWZpbGUKK0BAIC00LDEzICs0LDcgQEAKKyAjCisgaW5jbHVkZSAuLi9NYWtlZmlsZS5pbmMKKyAKKy1DRkxBR1MgKz0gLUkuIC1EX0xBUkdFRklMRTY0X1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0CistCistTElCRE1fQVBJX0NPT0tJRSA9ICQoc2hlbGwgZ3JlcCAtRWNzICdeW2Etel0qW1s6c3BhY2U6XV0rZG1fdGFza19zZXRfY29va2llJyAvdXNyL2luY2x1ZGUvbGliZGV2bWFwcGVyLmgpCistCistaWZuZXEgKCQoc3RyaXAgJChMSUJETV9BUElfQ09PS0lFKSksMCkKKy0JQ0ZMQUdTICs9IC1ETElCRE1fQVBJX0NPT0tJRQorLWVuZGlmCisrQ0ZMQUdTICs9IC1JLiAtRF9MQVJHRUZJTEU2NF9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRExJQkRNX0FQSV9DT09LSUUKKyAKKyBMREZMQUdTID0gLWxkZXZtYXBwZXIKKyBPQkpTID0gYnNkLm8gZG9zLm8ga3BhcnR4Lm8gc29sYXJpcy5vIHVuaXh3YXJlLm8gZGFzZC5vIHN1bi5vIFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL2Fsd2F5cy11c2UtbGliZGV2bWFwcGVyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvYWx3YXlzLXVzZS1saWJkZXZtYXBwZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlkMjM1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL2Fsd2F5cy11c2UtbGliZGV2bWFwcGVyLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK0Fsd2F5cyB1c2UgZGV2bWFwcGVyCisKK0RvIG5vdCB0cnkgdG8gY29tcHV0ZSBzZXZlcmFsIF9BUElfIG1ha2UgdmFyaWFibGVzCitmcm9tIGhvc3QgaW5mb3JtYXRpb24gd2hlbiBjcm9zcy1jb21waWxpbmcuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEF3cyBJc21haWwgPGF3cy5pc21haWxAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEpvZSBTbGF0ZXIgPGpvZS5zbGF0ZXJAd2luZHJpdmVyLmNvbT4KKworZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9NYWtlZmlsZSBiL2xpYm11bHRpcGF0aC9NYWtlZmlsZQoraW5kZXggZTViMDZiMy4uZWZkNmNmNiAxMDA2NDQKKy0tLSBhL2xpYm11bHRpcGF0aC9NYWtlZmlsZQorKysrIGIvbGlibXVsdGlwYXRoL01ha2VmaWxlCitAQCAtMTcsMjMgKzE3LDE4IEBAIE9CSlMgPSBtZW1vcnkubyBwYXJzZXIubyB2ZWN0b3IubyBkZXZtYXBwZXIubyBcCisgICAgICAgIGxvZy5vIGNvbmZpZ3VyZS5vIHN0cnVjdHNfdmVjLm8gc3lzZnMubyBwcmlvLm8gY2hlY2tlcnMubyBcCisgICAgICAgIGxvY2subyB3YWl0ZXIubyBmaWxlLm8gd3dpZHMubworIAorLUxJQkRNX0FQSV9GTFVTSCA9ICQoc2hlbGwgZ3JlcCAtRWNzICdeW2Etel0qW1s6c3BhY2U6XV0rZG1fdGFza19ub19mbHVzaCcgL3Vzci9pbmNsdWRlL2xpYmRldm1hcHBlci5oKQorIAorLWlmbmVxICgkKHN0cmlwICQoTElCRE1fQVBJX0ZMVVNIKSksMCkKKysjaWZuZXEgKCQoc3RyaXAgJChMSUJETV9BUElfRkxVU0gpKSwwKQorIAlDRkxBR1MgKz0gLURMSUJETV9BUElfRkxVU0ggLURfR05VX1NPVVJDRQorLWVuZGlmCisrI2VuZGlmCisgCistTElCRE1fQVBJX0NPT0tJRSA9ICQoc2hlbGwgZ3JlcCAtRWNzICdeW2Etel0qW1s6c3BhY2U6XV0rZG1fdGFza19zZXRfY29va2llJyAvdXNyL2luY2x1ZGUvbGliZGV2bWFwcGVyLmgpCistCistaWZuZXEgKCQoc3RyaXAgJChMSUJETV9BUElfQ09PS0lFKSksMCkKKysjaWZuZXEgKCQoc3RyaXAgJChMSUJETV9BUElfQ09PS0lFKSksMCkKKyAJQ0ZMQUdTICs9IC1ETElCRE1fQVBJX0NPT0tJRQorLWVuZGlmCistCistTElCVURFVl9BUElfUkVDVkJVRiA9ICQoc2hlbGwgZ3JlcCAtRWNzICdeW2Etel0qW1s6c3BhY2U6XV0rdWRldl9tb25pdG9yX3NldF9yZXNvbHZlX2J1ZmZlcl9zaXplJyAvdXNyL2luY2x1ZGUvbGlidWRldi5oKQorKyNlbmRpZgorIAorLWlmbmVxICgkKHN0cmlwICQoTElCVURFVl9BUElfUkVDVkJVRikpLDApCisrI2lmbmVxICgkKHN0cmlwICQoTElCVURFVl9BUElfUkVDVkJVRikpLDApCisgCUNGTEFHUyArPSAtRExJQlVERVZfQVBJX1JFQ1ZCVUYKKy1lbmRpZgorKyNlbmRpZgorIAorIAorIGFsbDogJChMSUJTKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvZG8tbm90LWxpbmstbGlibXBhdGhwZXJzaXN0LXRvLVRNUERJUi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL2RvLW5vdC1saW5rLWxpYm1wYXRocGVyc2lzdC10by1UTVBESVIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZkNWUwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL2RvLW5vdC1saW5rLWxpYm1wYXRocGVyc2lzdC10by1UTVBESVIucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSBmZTY1YWM4ZmFjZTNjODhkOWQ0ZTEyODExZjQ0ZTYzYWQ3MmM1OWFlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQmlhbiBOYWltZW5nIDxiaWFubm1AY24uZnVqaXRzdS5jb20+CitEYXRlOiBUaHUsIDE4IEp1biAyMDE1IDEyOjI1OjI1ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBidWlsZCB3YXJuaW5nCisKKyAgTk9URTogRXhlY3V0aW5nIFJ1blF1ZXVlIFRhc2tzCisgIFdBUk5JTkc6IFFBIElzc3VlOiBTeW1saW5rIC9saWIvbGlibXBhdGhwZXJzaXN0LnNvIGluIG11bHRpcGF0aC10b29scy1kZXYgcG9pbnRzIHRvIFRNUERJUiBbc3ltbGluay10by1zeXNyb290XQorICBOT1RFOiBUYXNrcyBTdW1tYXJ5OiBBdHRlbXB0ZWQgMTYwNCB0YXNrcyBvZiB3aGljaCAxNTkxIGRpZG4ndCBuZWVkIHRvIGJlIHJlcnVuIGFuZCBhbGwgc3VjY2VlZGVkLgorCitTaWduZWQtb2ZmLWJ5OiBCaWFuIE5haW1lbmcgPGJpYW5ubUBjbi5mdWppdHN1LmNvbT4KKy0tLQorIGxpYm1wYXRocGVyc2lzdC9NYWtlZmlsZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2xpYm1wYXRocGVyc2lzdC9NYWtlZmlsZSBiL2xpYm1wYXRocGVyc2lzdC9NYWtlZmlsZQoraW5kZXggYzRlYzFjNS4uNjIwMjJlYiAxMDA2NDQKKy0tLSBhL2xpYm1wYXRocGVyc2lzdC9NYWtlZmlsZQorKysrIGIvbGlibXBhdGhwZXJzaXN0L01ha2VmaWxlCitAQCAtMzIsNyArMzIsNyBAQCBpbnN0YWxsOiAkKExJQlMpCisgCSQoSU5TVEFMTF9QUk9HUkFNKSAtbSA3NTUgLWQgJChERVNURElSKSQobWFuM2RpcikKKyAJJChJTlNUQUxMX1BST0dSQU0pIC1tIDc1NSAtZCAkKERFU1RESVIpL3Vzci9pbmNsdWRlLworIAkkKElOU1RBTExfUFJPR1JBTSkgLW0gNzU1IC1kICQoREVTVERJUikvdXNyL3NoYXJlL2RvYy9tcGF0aHBlcnNpc3QvCistCWxuIC1zZiAkKERFU1RESVIpJChzeXNsaWJkaXIpLyQoTElCUykgJChERVNURElSKSQoc3lzbGliZGlyKS8kKERFVkxJQikKKysJbG4gLXNmICQoc3lzbGliZGlyKS8kKExJQlMpICQoREVTVERJUikkKHN5c2xpYmRpcikvJChERVZMSUIpCisgCWluc3RhbGwgLW0gNjQ0IG1wYXRoX3BlcnNpc3RlbnRfcmVzZXJ2ZV9pbi4zLmd6ICQoREVTVERJUikkKG1hbjNkaXIpCQorIAlpbnN0YWxsIC1tIDY0NCBtcGF0aF9wZXJzaXN0ZW50X3Jlc2VydmVfb3V0LjMuZ3ogJChERVNURElSKSQobWFuM2RpcikJCisgCWluc3RhbGwgLW0gNjQ0IG1wYXRoX3BlcnNpc3QuaCAkKERFU1RESVIpL3Vzci9pbmNsdWRlLworLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL21ha2VmaWxlX2luYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzL21ha2VmaWxlX2luYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTk2M2UwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvbWFrZWZpbGVfaW5jLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK211bHRpcGF0aC10b29sczogbW9kaWZ5IE1ha2VmaWxlLmluYyBmb3IgY3Jvc3MtY29tcGlsYXRpb24KKworRG8gbm90IGxvb2sgZm9yIHN5c3RlbWQgaW5mbyBvbiB0aGUgaG9zdCwgYW5kIGFsbG93IHVzIHRvIHBhc3MgaW4gQ0ZMQUdTCit1c2luZyB0aGUgT1BURkxBR1MgdmFyaWFibGUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEpvZSBTbGF0ZXIgPGpvZS5zbGF0ZXJAd2luZHJpdmVyLmNvbT4KKworVXBkYXRlIGZvciB2ZXJzaW9uIDAuNS4wLTE0NC1nNzcwZTZkMAorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKworLS0tIGEvTWFrZWZpbGUuaW5jCisrKysgYi9NYWtlZmlsZS5pbmMKK0BAIC0yMSwxMiArMjEsNiBAQCBpZm5kZWYgTElCCisgCWVuZGlmCisgZW5kaWYKKyAKKy1pZm5kZWYgU1lTVEVNRAorLQlpZmVxICgkKHNoZWxsIHN5c3RlbWN0bCAtLXZlcnNpb24gPiAvZGV2L251bGwgMj4mMSAmJiBlY2hvIDEpLCAxKQorLQkJU1lTVEVNRCA9ICQoc2hlbGwgc3lzdGVtY3RsIC0tdmVyc2lvbiAyPiAvZGV2L251bGwgfCAgc2VkIC1uICdzL3N5c3RlbWQgXChbMC05XSpcKS9cMS9wJykKKy0JZW5kaWYKKy1lbmRpZgorLQorIGlmbmRlZiBTWVNURU1EUEFUSAorIAlTWVNURU1EUEFUSD11c3IvbGliCisgZW5kaWYKK0BAIC01Myw3ICs0NywxMCBAQCBpZm5kZWYgUlBNX09QVF9GTEFHUworIAlSUE1fT1BUX0ZMQUdTID0gLU8yIC1nIC1waXBlIC1XZm9ybWF0LXNlY3VyaXR5IC1XYWxsIC1XcCwtRF9GT1JUSUZZX1NPVVJDRT0yIC1mZXhjZXB0aW9ucyAtZnN0YWNrLXByb3RlY3RvciAtLXBhcmFtPXNzcC1idWZmZXItc2l6ZT00CisgZW5kaWYKKyAKKytpZm5kZWYgT1BURkxBR1MKKyBPUFRGTEFHUyAgICAgPSAkKFJQTV9PUFRfRkxBR1MpIC1XdW51c2VkIC1Xc3RyaWN0LXByb3RvdHlwZXMKKytlbmRpZgorKworIENGTEFHUwkgICAgID0gJChPUFRGTEFHUykgLWZQSUMgLURMSUJfU1RSSU5HPVwiJHtMSUJ9XCIKKyBTSEFSRURfRkxBR1MgPSAtc2hhcmVkCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy9tdWx0aXBhdGhkLm9lIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvbXVsdGlwYXRoZC5vZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYmRmODc1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvbXVsdGlwYXRoZC5vZQpAQCAtMCwwICsxLDE0NiBAQAorIyEvYmluL2Jhc2gKKyMKKyMgbXVsdGlwYXRoZAlTdGFydHMgdGhlIG11bHRpcGF0aCBkYWVtb24KKyMKKyMgY2hrY29uZmlnOiAtIDA2IDg3CisjIGRlc2NyaXB0aW9uOiBNYW5hZ2VzIGRldmljZS1tYXBwZXIgbXVsdGlwYXRoIGRldmljZXMKKworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogbXVsdGlwYXRoZAorIyBSZXF1aXJlZC1TdGFydDoKKyMgUmVxdWlyZWQtU3RvcDoKKyMgRGVmYXVsdC1TdGFydDoKKyMgRGVmYXVsdC1TdG9wOgorIyBTaG9ydC1EZXNjcmlwdGlvbjogQ29udHJvbCBtdWx0aXBhdGhkCisjIERlc2NyaXB0aW9uOiBUaGlzIHNlcnZpY2UgbW9uaXRvcnMgYW5kIG1hbmFnZXMKKyMgICAgICAgICAgICAgIGRldmljZS1tYXBwZXIgbXVsdGlwYXRoIGRldmljZXMKKyMjIyBFTkQgSU5JVCBJTkZPCisKK0RBRU1PTj0vc2Jpbi9tdWx0aXBhdGhkCitwcm9nPWBiYXNlbmFtZSAkREFFTU9OYAoraW5pdGRpcj0vZXRjL2luaXQuZAorbG9ja2Rpcj0vdmFyL2xvY2svc3Vic3lzCitzeXNjb25maWc9L2V0Yy9zeXNjb25maWcKK3N5c3BhdGg9L3N5cy9ibG9jaworCitSRVRWQUw9MAorCit0ZWFyZG93bl9zbGF2ZXMoKQoreworcHVzaGQgJDEgPiAvZGV2L251bGwKK2lmIFsgLWQgInNsYXZlcyIgXTsgdGhlbgorZm9yIHNsYXZlIGluIHNsYXZlcy8qOworZG8KKwlpZiBbICIkc2xhdmUiID0gInNsYXZlcy8qIiBdOyB0aGVuCisJCXJlYWQgZGV2IDwgICQxL2RldgorCQl0YWJsZW5hbWU9YGRtc2V0dXAgdGFibGUgLS10YXJnZXQgbXVsdGlwYXRoIHwgc2VkIC1uICJzL1woLipcKTogLiogJGRldiAuKi9cMS9wImAKKwkJaWYgISBbIC16ICR0YWJsZW5hbWUgXTsgdGhlbgorCQkJZWNobyAiUm9vdCBpcyBvbiBhIG11bHRpcGF0aGVkIGRldmljZSwgbXVsdGlwYXRoZCBjYW4gbm90IGJlIHN0b3BwZWQiCisJCQlleGl0IDEKKwkJZmkKKwllbHNlCisJCWxvY2FsX3NsYXZlPWByZWFkbGluayAtZiAkc2xhdmVgOworCQl0ZWFyZG93bl9zbGF2ZXMgJGxvY2FsX3NsYXZlOworCWZpCisJZG9uZQorCitlbHNlCisJCXJlYWQgZGV2IDwgICQxL2RldgorCQl0YWJsZW5hbWU9YGRtc2V0dXAgdGFibGUgLS10YXJnZXQgbXVsdGlwYXRoIHwgc2VkIC1uICJzL1woLipcKTogLiogJGRldiAuKi9cMS9wImAKKwkJaWYgISBbIC16ICR0YWJsZW5hbWUgXTsgdGhlbgorCQkJZWNobyAiUm9vdCBpcyBvbiBhIG11bHRpcGF0aGVkIGRldmljZSwgbXVsdGlwYXRoZCBjYW4gbm90IGJlIHN0b3BwZWQiCisJCQlleGl0IDEKKwkJZmkKK2ZpCitwb3BkID4gL2Rldi9udWxsCit9CisKKyMKKyMgU2VlIGhvdyB3ZSB3ZXJlIGNhbGxlZC4KKyMKKworc3RhcnQoKSB7CisJdGVzdCAteCAkREFFTU9OIHx8IGV4aXQgNQorCWVjaG8gLW4gJCJTdGFydGluZyAkcHJvZyBkYWVtb246ICIKKwlzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1leGVjICREQUVNT04KKwlSRVRWQUw9JD8KKwlbICRSRVRWQUwgLWVxIDAgXSAmJiB0b3VjaCAkbG9ja2Rpci8kcHJvZworCWVjaG8KK30KKworZm9yY2Vfc3RvcCgpIHsKKwllY2hvIC1uICQiU3RvcHBpbmcgJHByb2cgZGFlbW9uOiAiCisJa2lsbGFsbCAkREFFTU9OCisJUkVUVkFMPSQ/CisJWyAkUkVUVkFMIC1lcSAwIF0gJiYgcm0gLWYgJGxvY2tkaXIvJHByb2cKKwllY2hvCit9CisKK3N0b3AoKSB7CisgICAgICAgIHJvb3RfZGV2PSQoYXdrICd7IGlmICgkMSAhfiAvXlsgXHRdKiMvICYmICQyID09ICIvIikgeyBwcmludCAkMTsgfX0nIC9ldGMvbXRhYikKKwlkbV9udW09YGRtc2V0dXAgaW5mbyAtYyAtLW5vaGVhZGluZ3MgLW8gbWlub3IgJHJvb3RfZGV2IDI+IC9kZXYvbnVsbGAKKwlpZiBbICQ/IC1lcSAwIF07IHRoZW4KKwkJcm9vdF9kbV9kZXZpY2U9ImRtLSRkbV9udW0iCisJCVsgLWQgJHN5c3BhdGgvJHJvb3RfZG1fZGV2aWNlIF0gJiYgdGVhcmRvd25fc2xhdmVzICRzeXNwYXRoLyRyb290X2RtX2RldmljZQorCWZpCisKKwlmb3JjZV9zdG9wCit9CisKK3Jlc3RhcnQoKSB7CisJc3RvcAorCXN0YXJ0Cit9CisKK2ZvcmNlX3Jlc3RhcnQoKSB7CisJZm9yY2Vfc3RvcAorCXN0YXJ0Cit9CisKK3JlbG9hZCgpIHsKKwllY2hvIC1uICJSZWxvYWRpbmcgJHByb2c6ICIKKwl0cmFwICIiIFNJR0hVUAorCWtpbGxhbGwgJERBRU1PTiAtcyBTSUdIVVAgLXYKKwlSRVRWQUw9JD8KKwllY2hvCit9CQorCitjYXNlICIkMSIgaW4KK3N0YXJ0KQorCXN0YXJ0CisJOzsKK3N0b3ApCisJc3RvcAorCTs7Citmb3JjZS1zdG9wKQorCWZvcmNlX3N0b3AKKwk7OworZm9yY2UtcmVsb2FkfHJlbG9hZCkKKwlyZWxvYWQKKwk7OworcmVzdGFydCkKKwlyZXN0YXJ0CisJOzsKK2ZvcmNlLXJlc3RhcnQpCisJZm9yY2VfcmVzdGFydAorCTs7Citjb25kcmVzdGFydHx0cnktcmVzdGFydCkKKwlpZiBbIC1mICRsb2NrZGlyLyRwcm9nIF07IHRoZW4KKwkgICAgcmVzdGFydAorCWZpCisJOzsKK3N0YXR1cykKKyAgICBpZiBwaWRvZiAtbyAlUFBJRCAkREFFTU9OID4gL2Rldi9udWxsOyB0aGVuCisgICAgICAgIGVjaG8gIlJ1bm5pbmciCisgICAgICAgIFJFVFZBTD0wCisgICAgZWxzZQorICAgICAgICBlY2hvICJOb3QgcnVubmluZyIKKyAgICAgICAgUkVUVkFMPTEKKyAgICBmaQorCTs7CisqKQorCWVjaG8gJCJVc2FnZTogJDAge3N0YXJ0fHN0b3B8Zm9yY2Utc3RvcHxzdGF0dXN8cmVzdGFydHxmb3JjZS1yZXN0YXJ0fGNvbmRyZXN0YXJ0fHJlbG9hZH0iCisJUkVUVkFMPTIKK2VzYWMKKworZXhpdCAkUkVUVkFMCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9tdWx0aXBhdGgtdG9vbHNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvbXVsdGlwYXRoLXRvb2xzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2I1ZmVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvbXVsdGlwYXRoLXRvb2xzX2dpdC5iYgpAQCAtMCwwICsxLDc2IEBACitTVU1NQVJZID0gIlRoZSB1cHN0cmVhbSBwcm9qZWN0IHVzZWQgdG8gZHJpdmUgdGhlIERldmljZSBNYXBwZXIgbXVsdGlwYXRoaW5nIGRyaXZlciIKKworREVQRU5EUyA9ICJsdm0yIGxpYmFpbyByZWFkbGluZSB1ZGV2IgorCitMSUNFTlNFID0gIkxHUEx2MiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQub3BlbnN2Yy5jb20vbXVsdGlwYXRoLXRvb2xzLy5naXQ7cHJvdG9jb2w9aHR0cCBcCisgICAgICAgICAgIGZpbGU6Ly9tdWx0aXBhdGhkLm9lIFwKKyAgICAgICAgICAgZmlsZTovL21ha2VmaWxlX2luYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hbHdheXMtdXNlLWxpYmRldm1hcHBlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hbHdheXMtdXNlLWxpYmRldm1hcHBlci1rcGFydHgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZG8tbm90LWxpbmstbGlibXBhdGhwZXJzaXN0LXRvLVRNUERJUi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW11bHRpcGF0aGQuc2VydmljZS1FcnJvci1maXgucGF0Y2ggXAorICAgICAgICAgICAiCisjIDAuNS4wCisjCisjU1JDUkVWID0gIjgyZjM5MWU3ODdkYzAyZTlkOTI5NGFhMzkxMTM3YWI0MjRiYjgzYzQiCisjTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2JlMjg3M2I2MjcwZTQ1YWJhY2M1MDNhYmJlMmFhM2QiCisKKyMgMC41LjAgKyBjb21taXRzIHRocnUgNy8xOC8yMDE0CisjCisjU1JDUkVWID0gIjBkNzJmNDZjMTIyMDdhNmI3Yjg5ZjVlZjRmNWFiNWY4N2VkOGJjOTAiCisjTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjA2NjkwZTdhOTVjMTY2ZWVmZTAxOTliMzkxMThlYjEiCisKKyMgMC41LjAgKyBjb21taXRzIHRocnUgOS8xMi8yMDE0CisjCisjICAgIGluY2x1ZGVzIGltcG9ydGFudCBzeXN0ZW1kIHJlbGF0ZWQgc3RydWN0dXJlIHNpemUgZml4CisjCisjU1JDUkVWID0gImFlYzY4YWIyMTdmZDI5NTY0NDNiMjdjZWViOTdkZDY0NzUyNjc3ODkiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMDY2OTBlN2E5NWMxNjZlZWZlMDE5OWIzOTExOGViMSIKKworIyAwLjUuMCArIGNvbW1pdHMgdGhydSAyLzE2LzIwMTUKK1NSQ1JFViA9ICI3NzBlNmQwZGEwMzVkZWFjZWQ4Mjg4NTkzOTE2MWMyYjY5MjI1ZTEwIgorCitpbmhlcml0IHN5c3RlbWQKKworCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitQViA9ICIwLjUuMCtnaXQke0AnJHtTUkNQVn0nLnNwbGl0KCcrJylbLTFdfSIKKworIyBUaGUgZXhhY3QgdmVyc2lvbiBvZiBTWVNURU1EIGRvZXMgbm90IG1hdHRlciBidXQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAyMDkuCisjCitFWFRSQV9PRU1BS0UgPSAnTVVMVElQQVRIX1ZFUlNJT049JHtQVn0gREVTVERJUj0ke0R9IHN5c2xpYmRpcj0ke2Jhc2VfbGliZGlyfSBcCisgICAgICAgICAgICAgICAgT1BURkxBR1M9IiR7Q0ZMQUdTfSIgXAorICAgICAgICAgICAgICAgIExJQj0ke2Jhc2VfbGliZGlyfSBsaWJkaXI9JHtiYXNlX2xpYmRpcn0vbXVsdGlwYXRoIFwKKyAgICAgICAgICAgICAgICB1bml0ZGlyPS9saWIvc3lzdGVtZC9zeXN0ZW0gXAorICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAic3lzdGVtZCIsICJTWVNURU1EPTIxNiIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgJworCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbAorCisgICAgIyBDb3B5IGEgc2FtcGxlIGNvbmYgZmlsZSwgYnV0IGRvIG5vdCByZW5hbWUgaXQgbXVsdGlwYXRoLmNvbmYuCisgICAgIworICAgIGNwIG11bHRpcGF0aC5jb25mLmRlZmF1bHRzICR7RH0ke3N5c2NvbmZkaXJ9CisKKyAgICAjIFdlIGNvcHkgYW4gaW5pdHNjcmlwdCwgYnV0IGRvIG5vdCBzdGFydCBtdWx0aXBhdGhkIGF0IGluaXQgdGltZS4KKyAgICAjCisgICAgY3AgJHtXT1JLRElSfS9tdWx0aXBhdGhkLm9lICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9tdWx0aXBhdGhkCisKK30KKworRklMRVNfJHtQTn0tZGJnICs9ICIke2Jhc2VfbGliZGlyfS9tdWx0aXBhdGgvLmRlYnVnIgorCisjIHN5c3RlbWQgYW5kIHVkZXYgc3R1ZmYgYWx3YXlzIGdvZXMgdW5kZXIgL2xpYiEKKyMKK0ZJTEVTXyR7UE59ICs9ICIke2Jhc2VfbGliZGlyfS9tdWx0aXBhdGggXAorICAgICAgICAgICAgICAgIC9saWIvc3lzdGVtZCIKKworUEFDS0FHRVMgPSsgImtwYXJ0eCIKK0ZJTEVTX2twYXJ0eCA9ICIke2Jhc2Vfc2JpbmRpcn0va3BhcnR4IFwKKyAgICAgICAgICAgICAgICAvdXNyL2xpYi91ZGV2L2twYXJ0eF9pZCBcCisgICAgICAgICAgICAgICAiCisKK1JERVBFTkRTXyR7UE59ICs9ICJrcGFydHgiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGItbmF0aXZlXzUuNS40Ni5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi1uYXRpdmVfNS41LjQ2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjZTk2MGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGItbmF0aXZlXzUuNS40Ni5iYgpAQCAtMCwwICsxLDE5IEBACityZXF1aXJlIG1hcmlhZGIuaW5jCitpbmhlcml0IG5hdGl2ZQorCitQUk9WSURFUyArPSAibXlzcWw1LW5hdGl2ZSIKK0RFUEVORFMgPSAibmN1cnNlcy1uYXRpdmUgemxpYi1uYXRpdmUgYmlzb24tbmF0aXZlIgorCitSREVQRU5EU18ke1BOfSA9ICIiCitQQUNLQUdFUyA9ICIiCitFWFRSQV9PRU1BS0UgPSAiIgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IHNxbC9nZW5fbGV4X2hhc2ggJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgZXh0cmEvY29tcF9lcnIgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgc2NyaXB0cy9jb21wX3NxbCAke0R9JHtiaW5kaXJ9LworfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODAxZmZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiLmluYwpAQCAtMCwwICsxLDI4NiBAQAorU1VNTUFSWSA9ICJBIHJvYnVzdCwgc2NhbGFibGUsIGFuZCByZWxpYWJsZSBTUUwgc2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cDovL21hcmlhZGIub3JnIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitTUkNfVVJJID0gImh0dHA6Ly9hcmNoaXZlLm1hcmlhZGIub3JnL21hcmlhZGItJHtQVn0vc291cmNlL21hcmlhZGItJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1jbWFrZS1tb2R1bGUtcGF0aC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtYmFkLXBhdGgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LW15c3FsY2xpZW50LXItdmVyc2lvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9teS5jbmYgXAorICAgICAgICAgICBmaWxlOi8vbXlzcWxkLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vaW5zdGFsbF9kYi5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL2luc3RhbGxfZGIgXAorICAgICAgICAgICBmaWxlOi8vbXlzcWwtc3lzdGVtZC1zdGFydCBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUuY21ha2UtZml4LXZhbGdyaW5kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjkyZjY4MmIwMGViMTM3YWYwMWU1OWVhOTNmN2UzMWY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ1YjY2YjdhZGM4N2NhZDMyZTU1M2RmMWQ1MjExZTViNjQyNmI3OGEzYmMzMThhNWNjZGUwODhiZjkzZTZlMTAiCisKK1MgPSAiJHtXT1JLRElSfS9tYXJpYWRiLSR7UFZ9IgorCitCSU5DT05GSUdfR0xPQiA9ICJteXNxbF9jb25maWciCisKK2luaGVyaXQgY21ha2UgZ2V0dGV4dCBiaW5jb25maWcgdXBkYXRlLXJjLmQgdXNlcmFkZCBzeXN0ZW1kCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0tc2VydmVyICR7UE59LXNldHVwZGIiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tc2VydmVyID0gIm15c3FsZCIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LXNlcnZlciA/PSAic3RhcnQgNDUgNSAuIHN0b3AgNDUgMCA2IDEgLiIKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfS1zZXJ2ZXIiCitVU0VSQUREX1BBUkFNXyR7UE59LXNlcnZlciA9ICItLXN5c3RlbSAtLWhvbWUtZGlyIC92YXIvbXlzcWwgLWcgbXlzcWwgLS1zaGVsbCAvYmluL2ZhbHNlIG15c3FsIgorR1JPVVBBRERfUEFSQU1fJHtQTn0tc2VydmVyID0gIi0tc3lzdGVtIG15c3FsIgorCitJTklUU0NSSVBUX05BTUVfJHtQTn0tc2V0dXBkYiA9ICJpbnN0YWxsX2RiIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0tc2V0dXBkYiA/PSAiZGVmYXVsdHMgNDQgNDQiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0tc2VydmVyICR7UE59LXNldHVwZGIiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tc2VydmVyID0gIm15c3FsZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRV8ke1BOfS1zZXJ2ZXIgPz0gImRpc2FibGUiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1zZXR1cGRiID0gImluc3RhbGxfZGIuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEVfJHtQTn0tc2V0dXBkYiA/PSAiZW5hYmxlIgorQUxMT1dfRU1QVFlfJHtQTn0tc2V0dXBkYiA/PSAiMSIKK0ZJTEVTXyR7UE59LXNldHVwZGIgPSAiJHtzeXNjb25mZGlyfS9pbml0LmQvaW5zdGFsbF9kYiIKKworRVhUUkFfT0VNQUtFID0gIidHRU5fTEVYX0hBU0g9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2dlbl9sZXhfaGFzaCciCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0nLCAnJywgZCl9IHNldHVwZGIiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLC1EV0lUSE9VVF9BVVRIX1BBTT1UUlVFLGxpYnBhbSIKK1BBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi1EV0lUSF9WQUxHUklORD1UUlVFLC1EV0lUSF9WQUxHUklORD1GQUxTRSx2YWxncmluZCIKK1BBQ0tBR0VDT05GSUdbbGliZWRpdF0gPSAiLURMSUJFRElUX0lOVEVSRkFDRT1UUlVFLC1ETElCRURJVF9JTlRFUkZBQ0U9RkFMU0UsbGliZWRpdCIKK1BBQ0tBR0VDT05GSUdba3JiNV0gPSAiLCAsa3JiNSIKK1BBQ0tBR0VDT05GSUdbc2V0dXBkYl0gPSAiLCAsLCR7UE59LXNldHVwZGIiCisKKyMgTWFyaWFEQiBkb2Vzbid0IGxpbmsgcHJvcGVybHkgd2l0aCBnb2xkCisjIGh0dHBzOi8vbWFyaWFkYi5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9NREVWLTU5ODIKK1RBUkdFVF9DRkxBR1MgKz0gIi1mdXNlLWxkPWJmZCIKKworQlVJTERfQ0ZMQUdTICs9ICItZnVzZS1sZD1iZmQiCitCVUlMRF9DWFhGTEFHUyArPSAiLWZ1c2UtbGQ9YmZkIgorCitFWFRSQV9PRUNNQUtFID0gIi1EV0lUSF9FTUJFRERFRF9TRVJWRVI9T04gXAorICAgICAgICAgICAgICAgICAtRFdJVEhfSkVNQUxMT0M9bm8gXAorICAgICAgICAgICAgICAgICAtRFdJVEhPVVRfVE9LVURCPVRSVUUgXAorICAgICAgICAgICAgICAgICAtRENNQUtFX0RJU0FCTEVfRklORF9QQUNLQUdFX0Jvb3N0PVRSVUUgXAorICAgICAgICAgICAgICAgICAtREdST0ZGPUZBTFNFIFwKKyAgICAgICAgICAgICAgICAgLUROUk9GRj1GQUxTRSBcCisgICAgICAgICAgICAgICAgIC1ERU5BQkxFX0RUUkFDRT1GQUxTRSBcCisgICAgICAgICAgICAgICAgIC1EV0lUSF9QSUM9T04gXAorICAgICAgICAgICAgICAgICAtRElOU1RBTExfTEFZT1VUPVJQTSBcCisgICAgICAgICAgICAgICAgIC1ESU5TVEFMTF9ET0NESVI6UEFUSD0ke2RhdGFkaXJ9L2RvYy8ke0JQTn0gXAorICAgICAgICAgICAgICAgICAtRElOU1RBTExfTElCRElSOlBBVEg9JHtiYXNlbGlifSBcCisgICAgICAgICAgICAgICAgIC1ESU5TVEFMTF9QTFVHSU5ESVI6UEFUSD0ke2Jhc2VsaWJ9L3BsdWdpbiBcCisgICAgICAgICAgICAgICAgIC1ESU5TVEFMTF9TWVNDT05GRElSOlBBVEg9JHtzeXNjb25mZGlyfSBcCisgICAgICAgICAgICAgICAgIC1ETVlTUUxfREFUQURJUjpQQVRIPS92YXIvbXlzcWwgXAorICAgICAgICAgICAgICAgICAtRENBVF9FWEVDVVRBQkxFPWB3aGljaCBjYXRgIFwKKyAgICAgICAgICAgICAgICAgLURDTUFLRV9BUjpGSUxFUEFUSD0ke0FSfSIKKworZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKyAgICAjIGhhbmRsZSBkaXN0cm9zIHdpdGggZGlmZmVyZW50IHZhbHVlcyBvZiAke2xpYmV4ZWNkaXJ9CisgICAgbGliZXhlY2RpcjI9YGVjaG8gJHtsaWJleGVjZGlyfSB8IHNlZCAtZSAncysvdXNyLysrZydgCisgICAgc2VkIC1pIC1lICJzOi9saWJleGVjOi8kbGliZXhlY2RpcjI6ZyIgJHtTfS9zY3JpcHRzL215c3FsX2luc3RhbGxfZGIuc2gKKyAgICBzZWQgLWkgLWUgInM6bXlzcWxkIGxpYmV4ZWM6bXlzcWxkICRsaWJleGVjZGlyMjpnIiAke1N9L3NjcmlwdHMvbXlzcWxfaW5zdGFsbF9kYi5zaAorICAgIHNlZCAtaSAtZSAiczovbGliZXhlYzovJGxpYmV4ZWNkaXIyOmciICR7U30vc2NyaXB0cy9teXNxbGRfc2FmZS5zaAorfQorCitkb19nZW5lcmF0ZV90b29sY2hhaW5fZmlsZV9hcHBlbmRfY2xhc3MtbmF0aXZlICgpIHsKKyAgICAjIElmIHRoZXNlIGFyZSBzZXQgY21ha2Ugd2lsbCBhc3N1bWUgd2UncmUgY3Jvc3MtY29tcGlsaW5nLCB3aGljaCB3aWxsCisgICAgIyByZXN1bHQgaW4gY2VydGFpbiB0aGluZ3Mgd2Ugd2FudCBiZWluZyBkaXNhYmxlZAorICAgIHNlZCAtaSAiL3NldCggQ01BS0VfU1lTVEVNX05BTUUvZCIgJHtXT1JLRElSfS90b29sY2hhaW4uY21ha2UKKyAgICBzZWQgLWkgIi9zZXQoIENNQUtFX1NZU1RFTV9QUk9DRVNTT1IvZCIgJHtXT1JLRElSfS90b29sY2hhaW4uY21ha2UKK30KKworZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLXRhcmdldCAoKSB7CisgICAgIyBUaGVzZSBuZWVkIHRvIGJlIGluLXRyZWUgb3IgbWFrZSB3aWxsIHRoaW5rIHRoZXkgbmVlZCB0byBiZSBidWlsdCwKKyAgICAjIGFuZCBzaW5jZSB3ZSdyZSBjcm9zcy1jb21waWxpbmcgdGhhdCBpcyBkaXNhYmxlZAorICAgIGNwICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9jb21wX2VyciAke1N9L2V4dHJhCisgICAgY3AgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2NvbXBfc3FsICR7U30vc2NyaXB0cworCisgICAgaWYgWyAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAna3JiNScsICd5ZXMnLCAnbm8nLCBkKX0iID0gIm5vIiBdOyB0aGVuCisgICAgICAgIGlmICEgWyAtZSAke0J9L2luY2x1ZGUvb3BlbnNzbC9rc3NsLmggXSA7IHRoZW4KKyAgICAgICAgICAgIG1rZGlyIC1wICR7Qn0vaW5jbHVkZS9vcGVuc3NsCisgICAgICAgICAgICBlY2hvICIjaWZuZGVmIEtTU0xfSCIgPiR7Qn0vaW5jbHVkZS9vcGVuc3NsL2tzc2wuaAorICAgICAgICAgICAgZWNobyAiI2RlZmluZSBLU1NMX0giID4+JHtCfS9pbmNsdWRlL29wZW5zc2wva3NzbC5oCisgICAgICAgICAgICBlY2hvICIjaW5jbHVkZSA8b3BlbnNzbC9vcGVuc3NsY29uZi5oPiI+PiR7Qn0vaW5jbHVkZS9vcGVuc3NsL2tzc2wuaAorICAgICAgICAgICAgZWNobyAiI2VuZGlmIiA+PiR7Qn0vaW5jbHVkZS9vcGVuc3NsL2tzc2wuaAorICAgICAgICBmaQorICAgIGZpCit9CisKK1NZU1JPT1RfUFJFUFJPQ0VTU19GVU5DUyArPSAibWFyaWFkYl9zeXNyb290X3ByZXByb2Nlc3MiCisKKyMgV2UgbmVlZCB0byBhcHBlbmQgdGhpcyBzbyBpdCBydW5zICphZnRlciogYmluY29uZmlnJ3MgcHJlcHJvY2VzcyBmdW5jdGlvbgorIworIyBXZSByZWFsbHkgZG9uJ3QgY2FyZSBleGFjdGx5IHdoYXQgdGhlIGRpcmVjdG9yaWVzIHdlcmUgc2V0IHRvIG9yaWdpbmFsbHkuCisjIHBsdWdpbmRpciBpcyBub3QgZml4ZWQsIGJ1dCB3ZSBkb24ndCBjcmVhdGUgYW55IHBsdWdpbnMuCisjCittYXJpYWRiX3N5c3Jvb3RfcHJlcHJvY2VzcyAoKSB7CisgICAgc2VkIC1pIC1lcyxecGtnaW5jbHVkZWRpcj0uKixwa2dpbmNsdWRlZGlyPVwnJHtTVEFHSU5HX0lOQ0RJUn0vbXlzcWxcJywgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS9teXNxbF9jb25maWcKKyAgICBzZWQgLWkgLWVzLF5wa2dsaWJkaXI9LioscGtnbGliZGlyPVwnJHtTVEFHSU5HX0xJQkRJUn1cJywgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS9teXNxbF9jb25maWcKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L215LmNuZiAke0R9LyR7c3lzY29uZmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5zdGFsbF9kYiAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kLworICAgIG12ICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvbXlzcWwgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9teXNxbGQKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9teXNxbGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2luc3RhbGxfZGIuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyxAQklORElSQCwke2JpbmRpcn0sZycgLWUgJ3MsQFBSRUZJWEAsJHtwcmVmaXh9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL215c3FsZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9pbnN0YWxsX2RiLnNlcnZpY2UKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCisJZWNobyAiZiAvdmFyL2xvZy9teXNxbGQuZXJyIDA2NDAgbXlzcWwgbXlzcWwgLSIgXAorICAgICAgICAgICAgPiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLzk5LW15c3FsZC5jb25mCisgICAgZmkKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L215c3FsLXN5c3RlbWQtc3RhcnQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7UE59CisgICAgaWYgWyAtZiAke0R9JHtkYXRhZGlyfS9kb2MvUkVBRE1FIF07IHRoZW4KKyAgICAgICAgbXYgJHtEfSR7ZGF0YWRpcn0vZG9jL1JFQURNRSAke0R9JHtkYXRhZGlyfS9kb2MvJHtQTn0vCisgICAgZmkKK30KKworUEFDS0FHRVMgPSAiJHtQTn0tZGJnICR7UE59IFwKKyAgICBsaWJteXNxbGNsaWVudC1yIGxpYm15c3FsY2xpZW50LXItZGV2IGxpYm15c3FsY2xpZW50LXItc3RhdGljZGV2IGxpYm15c3FsY2xpZW50LXItZGJnIFwKKyAgICBsaWJteXNxbGNsaWVudCBsaWJteXNxbGNsaWVudC1kZXYgbGlibXlzcWxjbGllbnQtc3RhdGljZGV2IGxpYm15c3FsY2xpZW50LWRiZyBcCisgICAgbGlibXlzcWxkIGxpYm15c3FsZC1kZXYgJHtQTn0tY2xpZW50ICR7UE59LXNlcnZlciAke1BOfS1zZXR1cGRiICR7UE59LWxlZnRvdmVycyIKK0NPTkZGSUxFU18ke1BOfS1zZXJ2ZXIgKz0gIiR7c3lzY29uZmRpcn0vbXkuY25mICR7c3lzY29uZmRpcn0vbXkuY25mLmQvc2VydmVyLmNuZiIKK0NPTkZGSUxFU18ke1BOfS1jbGllbnQgKz0gIiR7c3lzY29uZmRpcn0vbXkuY25mLmQvbXlzcWwtY2xpZW50cy5jbmYiCitDT05GRklMRVNfbGlibXlzcWxjbGllbnQgKz0gIiR7c3lzY29uZmRpcn0vbXkuY25mLmQvY2xpZW50LmNuZiIKKworRklMRVNfJHtQTn0gPSAiICIKK1JERVBFTkRTXyR7UE59ID0gIiR7UE59LWNsaWVudCAke1BOfS1zZXJ2ZXIiCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitSREVQRU5EU18ke1BOfS1jbGllbnQgPSAicGVybCBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBwZXJsLW1vZHVsZS1maWxlLXRlbXAgXAorICAgIHBlcmwtbW9kdWxlLWZjbnRsIHBlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSBwZXJsLW1vZHVsZS1pcGMtb3BlbjMgXAorICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfJHtQTn0tc2VydmVyID0gInBlcmwgcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAorICAgIHBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgcGVybC1tb2R1bGUtZmlsZS1wYXRoIHBlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSBcCisgICAgcGVybC1tb2R1bGUtZmlsZS1jb3B5IHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBwZXJsLW1vZHVsZS1wb3NpeCBcCisgICAgJHtQTn0tY2xpZW50IgorUkRFUEVORFNfJHtQTn0tbGVmdG92ZXJzID0gInBlcmwgcGVybC1tb2R1bGUtY3dkIHBlcmwtbW9kdWxlLWJlbmNobWFyayBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBcCisgICAgcGVybC1tb2R1bGUtcG9zaXggcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgcGVybC1tb2R1bGUtc2lndHJhcCBwZXJsLW1vZHVsZS10aHJlYWRzIFwKKyAgICBwZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCBwZXJsLW1vZHVsZS1pby1zb2NrZXQgcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lIHBlcmwtbW9kdWxlLWZpbGUtY29weSBcCisgICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjIHBlcmwtbW9kdWxlLWZpbGUtZmluZCBwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIHBlcmwtbW9kdWxlLWZpbGUtcGF0aCBcCisgICAgcGVybC1tb2R1bGUtY29uc3RhbnQgcGVybC1tb2R1bGUtbGliIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBwZXJsLW1vZHVsZS1maWxlLXNwZWMtZnVuY3Rpb25zIFwKKyAgICBwZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCBwZXJsLW1vZHVsZS1pby1zZWxlY3QiCisKKyMgQWxsb3cgb2xkIGNvZGUgdG8gbGluayB0byB0aGUgYmFja3dhcmQgY29tcGF0aWJsZSBsaWJyYXJ5CitSREVQRU5EU19saWJteXNxbGNsaWVudC1kZXYgPSAibGlibXlzcWxjbGllbnQtci1kZXYiCisKK0ZJTEVTX2xpYm15c3FsY2xpZW50ID0gIlwKKyAgICAke2xpYmRpcn0vbGlibXlzcWxjbGllbnQuc28uKiBcCisgICAgJHtzeXNjb25mZGlyfS9teS5jbmYuZC9jbGllbnQuY25mIgorRklMRVNfbGlibXlzcWxjbGllbnQtZGV2ID0gIiBcCisgICAgJHtpbmNsdWRlZGlyfS9teXNxbC8gXAorICAgICR7bGliZGlyfS9saWJteXNxbGNsaWVudC5zbyBcCisgICAgJHtzeXNjb25mZGlyfS9hY2xvY2FsIFwKKyAgICAke2JpbmRpcn0vbXlzcWxfY29uZmlnIgorRklMRVNfbGlibXlzcWxjbGllbnQtc3RhdGljZGV2ID0gIlwKKyAgICAke2xpYmRpcn0vKi5hIgorRklMRVNfbGlibXlzcWxjbGllbnQtZGJnID0gIiR7bGliZGlyfS9wbHVnaW4vLmRlYnVnLyBcCisgICAgJHtkYXRhZGlyfS9teXNxbC10ZXN0L2xpYi9NeS9TYWZlUHJvY2Vzcy8uZGVidWcvbXlfc2FmZV9wcm9jZXNzIgorCisjIEF2b2lkIHdhcm5pbmdzIGFib3V0IGhhX3h0cmFkYi5zby4wLjAuMCBhbmQgaGFfaW5ub2RiX3BsdWdpbi5zby4wLjAuMAorIyB3aGljaCBhcmUgaW50ZW50aW9uYWxseSBub24tUElDIG9uIDMyLWJpdCB4ODYgKHNlZSBlLmcuCisjIHN0b3JhZ2UveHRyYWRiL3BsdWcuaW4gaW4gdGhlIHNvdXJjZSkKK0lOU0FORV9TS0lQX2xpYm15c3FsY2xpZW50X2FwcGVuZF94ODYgPSAiIHRleHRyZWwiCisKK0ZJTEVTX2xpYm15c3FsY2xpZW50LXIgPSAiJHtsaWJkaXJ9L2xpYm15c3FsY2xpZW50X3Iuc28uKiIKK0ZJTEVTX2xpYm15c3FsY2xpZW50LXItZGV2ID0gIlwKKyAgICAke2xpYmRpcn0vbGlibXlzcWxjbGllbnRfci5zbyIKK0ZJTEVTX2xpYm15c3FsY2xpZW50LXItc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJteXNxbGNsaWVudF9yLmEiCitGSUxFU19saWJteXNxbGNsaWVudC1yLWRiZyA9ICIke2xpYmRpcn0vcGx1Z2luLy5kZWJ1Z2xpYm15c3FsY2xpZW50X3Iuc28uKiIKKworRklMRVNfbGlibXlzcWxkID0gIlwKKyAgICAke2xpYmRpcn0vbGlibXlzcWxkLnNvLioiCitGSUxFU19saWJteXNxbGQtZGV2ID0gIlwKKyAgICAke2xpYmRpcn0vbGlibXlzcWxkLnNvIgorCitGSUxFU18ke1BOfS1jbGllbnQgPSAiXAorICAgICR7YmluZGlyfS9teWlzYW1fZnRkdW1wIFwKKyAgICAke2JpbmRpcn0vbXlzcWwgXAorICAgICR7YmluZGlyfS9teXNxbF9jbGllbnRfdGVzdCBcCisgICAgJHtiaW5kaXJ9L215c3FsX2NsaWVudF90ZXN0X2VtYmVkZGVkIFwKKyAgICAke2JpbmRpcn0vbXlzcWxfZmluZF9yb3dzIFwKKyAgICAke2JpbmRpcn0vbXlzcWxfZml4X2V4dGVuc2lvbnMgXAorICAgICR7YmluZGlyfS9teXNxbF93YWl0cGlkIFwKKyAgICAke2JpbmRpcn0vbXlzcWxhY2Nlc3MgXAorICAgICR7YmluZGlyfS9teXNxbGFkbWluIFwKKyAgICAke2JpbmRpcn0vbXlzcWxidWcgXAorICAgICR7YmluZGlyfS9teXNxbGNoZWNrIFwKKyAgICAke2JpbmRpcn0vbXlzcWxkdW1wIFwKKyAgICAke2JpbmRpcn0vbXlzcWxkdW1wc2xvdyBcCisgICAgJHtiaW5kaXJ9L215c3FsaW1wb3J0IFwKKyAgICAke2JpbmRpcn0vbXlzcWxzaG93IFwKKyAgICAke2JpbmRpcn0vbXlzcWxzbGFwIFwKKyAgICAke2JpbmRpcn0vbXlzcWx0ZXN0X2VtYmVkZGVkIFwKKyAgICAke2xpYmV4ZWNkaXJ9L215c3FsbWFuYWdlciBcCisgICAgJHtzeXNjb25mZGlyfS9teS5jbmYuZC9teXNxbC1jbGllbnRzLmNuZiIKKworRklMRVNfJHtQTn0tc2VydmVyID0gIlwKKyAgICAke2JpbmRpcn0vY29tcF9lcnIgXAorICAgICR7YmluZGlyfS9pc2FtY2hrIFwKKyAgICAke2JpbmRpcn0vaXNhbWxvZyBcCisgICAgJHtiaW5kaXJ9L21zcWwybXlzcWwgXAorICAgICR7YmluZGlyfS9teV9wcmludF9kZWZhdWx0cyBcCisgICAgJHtiaW5kaXJ9L215aXNhbWNoayBcCisgICAgJHtiaW5kaXJ9L215aXNhbWxvZyBcCisgICAgJHtiaW5kaXJ9L215aXNhbXBhY2sgXAorICAgICR7YmluZGlyfS9teXNxbF9jb252ZXJ0X3RhYmxlX2Zvcm1hdCBcCisgICAgJHtiaW5kaXJ9L215c3FsX2ZpeF9wcml2aWxlZ2VfdGFibGVzIFwKKyAgICAke2JpbmRpcn0vbXlzcWxfaW5zdGFsbF9kYiBcCisgICAgJHtiaW5kaXJ9L215c3FsX3NlY3VyZV9pbnN0YWxsYXRpb24gXAorICAgICR7YmluZGlyfS9teXNxbF9zZXRwZXJtaXNzaW9uIFwKKyAgICAke2JpbmRpcn0vbXlzcWwtc3lzdGVtZC1zdGFydCBcCisgICAgJHtiaW5kaXJ9L215c3FsX3R6aW5mb190b19zcWwgXAorICAgICR7YmluZGlyfS9teXNxbF91cGdyYWRlIFwKKyAgICAke2JpbmRpcn0vbXlzcWxfcGx1Z2luIFwKKyAgICAke2JpbmRpcn0vbXlzcWxfemFwIFwKKyAgICAke2JpbmRpcn0vbXlzcWxiaW5sb2cgXAorICAgICR7YmluZGlyfS9teXNxbGRfbXVsdGkgXAorICAgICR7YmluZGlyfS9teXNxbGRfc2FmZSBcCisgICAgJHtiaW5kaXJ9L215c3FsaG90Y29weSBcCisgICAgJHtiaW5kaXJ9L215c3FsdGVzdCBcCisgICAgJHtiaW5kaXJ9L25kYl9kZWxldGVfYWxsIFwKKyAgICAke2JpbmRpcn0vbmRiX2Rlc2MgXAorICAgICR7YmluZGlyfS9uZGJfZHJvcF9pbmRleCBcCisgICAgJHtiaW5kaXJ9L25kYl9kcm9wX3RhYmxlIFwKKyAgICAke2JpbmRpcn0vbmRiX21nbSBcCisgICAgJHtiaW5kaXJ9L25kYl9yZXN0b3JlIFwKKyAgICAke2JpbmRpcn0vbmRiX3NlbGVjdF9hbGwgXAorICAgICR7YmluZGlyfS9uZGJfc2VsZWN0X2NvdW50IFwKKyAgICAke2JpbmRpcn0vbmRiX3Nob3dfdGFibGVzIFwKKyAgICAke2JpbmRpcn0vbmRiX3dhaXRlciBcCisgICAgJHtiaW5kaXJ9L3BhY2tfaXNhbSBcCisgICAgJHtiaW5kaXJ9L3BlcnJvciBcCisgICAgJHtiaW5kaXJ9L3JlcGxhY2UgXAorICAgICR7YmluZGlyfS9yZXNvbHZlX3N0YWNrX2R1bXAgXAorICAgICR7YmluZGlyfS9yZXNvbHZlaXAgXAorICAgICR7bGliZXhlY2Rpcn0vbXlzcWxkIFwKKyAgICAke3NiaW5kaXJ9L215c3FsZCBcCisgICAgJHtzYmluZGlyfS9uZGJfY3BjZCBcCisgICAgJHtzYmluZGlyfS9uZGJkIFwKKyAgICAke3NiaW5kaXJ9L25kYl9tZ21kIFwKKyAgICAke2xpYmRpcn0vcGx1Z2luLyouc28gXAorICAgICR7ZGF0YWRpcn0vbXlzcWwvIFwKKyAgICAke2xvY2Fsc3RhdGVkaXJ9L215c3FsLyBcCisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvbXlzcWxkIFwKKyAgICAke3N5c2NvbmZkaXJ9L215LmNuZiBcCisgICAgJHtzeXNjb25mZGlyfS9teS5jbmYuZC9zZXJ2ZXIuY25mIFwKKyAgICAke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQiCisKK0RFU0NSSVBUSU9OXyR7UE59LWxlZnRvdmVycyA9ICJ1bnBhY2thZ2VkIGFuZCBwcm9iYWJseSB1bm5lZWRlZCBmaWxlcyBmb3IgJHtQTn0iCitGSUxFU18ke1BOfS1sZWZ0b3ZlcnMgPSAiLyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9jb25maWd1cmUuY21ha2UtZml4LXZhbGdyaW5kLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2NvbmZpZ3VyZS5jbWFrZS1maXgtdmFsZ3JpbmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk3ZGVmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9jb25maWd1cmUuY21ha2UtZml4LXZhbGdyaW5kLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gNWVmZmJhMGQ3ZDQ3MDcxYTNmMWJjYTU2ODIzMTkwZDVhOTViYjFhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDEyIE5vdiAyMDE0IDAzOjA5OjEwIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5jbWFrZTogZml4IHZhbGdyaW5kCisKK0NoZWNrIHZhbGdyaW5kIGhlYWRlcnMgb25seSBpZiBXSVRIX1ZBTEdSSU5EIGlzIHNldC4KKworbWFyaWFkYiB1c2VzIHR3byBtYWNyb3MgZm9yIHZhbGdyaW5kIGNvbXBpbGF0aW9uczoKK0hBVkVfdmFsZ3JpbmQgLSB2YWxncmluZCBpcyBpbnN0YWxsZWQgYW5kIGNhbiBiZSBzZXQgYnkgY29uZmlndXJlIG9wdGlvbiAtRFdJVEhfVkFMR1JJTkQKK0hBVkVfVkFMR1JJTkQgLSB2YWxncmluZCBkZWJ1ZyBsaWJyYXJpZXMgaXMgaW5zdGFsbGVkLCBzZXQgYnkgYXV0byBjaGVjaworCitXZSB3b3VsZCBsaWtlIHRvIHNldCB0aGVtIGJvdGggYnkgdGhlIGNvbmZpZ3VyZSBvcHRpb24gc28gdGhhdCB3ZSBjYW4gdXNlCitQQUNLQUdFQ09ORklHIHRvIGRlY2lkZSBpZiB2YWxncmluZCBpcyBuZWVkZWQgb3Igbm90LgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmNtYWtlIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5jbWFrZSBiL2NvbmZpZ3VyZS5jbWFrZQoraW5kZXggMGJkN2JiZS4uNTFhMDk4ZiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5jbWFrZQorKysrIGIvY29uZmlndXJlLmNtYWtlCitAQCAtMTA0NywxMCArMTA0NywxMCBAQCBNQVJLX0FTX0FEVkFOQ0VEKFdJVEhfQVRPTUlDX0xPQ0tTIE1ZX0FUT01JQ19NT0RFX1JXTE9DSyBNWV9BVE9NSUNfTU9ERV9EVU1NWSkKKyAKKyBJRihXSVRIX1ZBTEdSSU5EKQorICAgU0VUKEhBVkVfdmFsZ3JpbmQgMSkKKysgIENIRUNLX0lOQ0xVREVfRklMRVMoInZhbGdyaW5kL21lbWNoZWNrLmg7dmFsZ3JpbmQvdmFsZ3JpbmQuaCIKKysgIEhBVkVfVkFMR1JJTkQpCisgRU5ESUYoKQorIAorLUNIRUNLX0lOQ0xVREVfRklMRVMoInZhbGdyaW5kL21lbWNoZWNrLmg7dmFsZ3JpbmQvdmFsZ3JpbmQuaCIgCistICBIQVZFX1ZBTEdSSU5EKQorIAorICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgQ2hlY2sgZm9yIElQdjYgc3VwcG9ydAorLS0gCisyLjAuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9maXgtYS1idWlsZGluZy1mYWlsdXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjNGUxMDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitbUEFUQ0hdIGZpeCBhIGJ1aWxkaW5nIGZhaWx1cmUKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitidWlsZGluZyBmYWlsZWQgc2luY2UgbmF0aXZlIGRvZXMgbm90IGdlbmVyYXRlIGltcG9ydF9leGVjdXRhYmxlcy5jbWFrZQorSW4gZmFjdCwgb3VyIGJ1aWxkaW5nIHN5c3RlbSB3aWxsIGV4cG9ydCB0aGUgbmVlZGVkIGNvbW1hbmRzCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIENNYWtlTGlzdHMudHh0IHwgNSAtLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggYzFjZTFjNS4uODNiM2E3ZSAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTM1MCwxMSArMzUwLDYgQEAgTVlTUUxfQ0hFQ0tfUkVBRExJTkUoKQorIAorIENIRUNLX0pFTUFMTE9DKCkKKyAKKy1JRihDTUFLRV9DUk9TU0NPTVBJTElORykKKy0gIFNFVChJTVBPUlRfRVhFQ1VUQUJMRVMgIklNUE9SVEZJTEUtTk9URk9VTkQiIENBQ0hFIEZJTEVQQVRIICJQYXRoIHRvIGltcG9ydF9leGVjdXRhYmxlcy5jbWFrZSBmcm9tIGEgbmF0aXZlIGJ1aWxkIikKKy0gIElOQ0xVREUoJHtJTVBPUlRfRVhFQ1VUQUJMRVN9KQorLUVORElGKCkKKy0KKyAjCisgIyBTZXR1cCBtYWludGFpbmVyIG1vZGUgb3B0aW9ucyBieSB0aGUgZW5kLiBQbGF0Zm9ybSBjaGVja3MgYXJlCisgIyBub3QgcnVuIHdpdGggdGhlIHdhcm5pbmcgb3B0aW9ucyBhcyB0byBub3QgcGVydHVyYiBmcmFnaWxlIGNoZWNrcworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvZml4LWNtYWtlLW1vZHVsZS1wYXRoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2ZpeC1jbWFrZS1tb2R1bGUtcGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDlmNTU4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2ZpeC1jbWFrZS1tb2R1bGUtcGF0aC5wYXRjaApAQCAtMCwwICsxLDI5IEBACitBdm9pZCBDTUFLRV9NT0RVTEVfUEFUSCBiZWluZyBvdmVyd3JpdHRlbgorCitPRS1Db3JlJ3Mgc2V0dGluZyBvZiBDTUFLRV9NT0RVTEVfUEFUSCBzdG9tcHMgb24gTWFyaWFEQidzIHZhbHVlIHVubGVzcword2Ugc2V0IGl0IGFmdGVyIHNldHRpbmcgdGhlIHByb2plY3QgbmFtZS4KKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbd29ya2luZyBhcm91bmQgT0UtQ29yZSBidWddCisKKy0tLSBtYXJpYWRiL0NNYWtlTGlzdHMudHh0CTIwMTQtMDctMTcgMTE6MDE6MDcuNjc2MzUzMDQ3ICswMTAwCisrKysgbWFyaWFkYi9DTWFrZUxpc3RzLnR4dAkyMDE0LTA3LTE3IDExOjAxOjMxLjI5OTM1MzEwNyArMDEwMAorQEAgLTI4LDggKzI4LDYgQEAKKyAKKyBNRVNTQUdFKFNUQVRVUyAiUnVubmluZyBjbWFrZSB2ZXJzaW9uICR7Q01BS0VfVkVSU0lPTn0iKQorIAorLVNFVChDTUFLRV9NT0RVTEVfUEFUSCAke0NNQUtFX01PRFVMRV9QQVRIfSAke0NNQUtFX1NPVVJDRV9ESVJ9L2NtYWtlKQorLQorICMgRGlzdGluZ3Vpc2ggYmV0d2VlbiBjb21tdW5pdHkgYW5kIG5vbi1jb21tdW5pdHkgYnVpbGRzLCB3aXRoIHRoZQorICMgZGVmYXVsdCBiZWluZyBhIGNvbW11bml0eSBidWlsZC4gVGhpcyBkb2VzIG5vdCBpbXBhY3QgdGhlIGZlYXR1cmUKKyAjIHNldCB0aGF0IHdpbGwgYmUgY29tcGlsZWQgaW47IGl0J3MgbWVyZWx5IHByb3ZpZGVkIGFzIGEgaGludCB0bworQEAgLTc3LDYgKzc1LDggQEAKKyBFTkRJRigpCisgUFJPSkVDVCgke01ZU1FMX1BST0pFQ1RfTkFNRX0pCisgCisrU0VUKENNQUtFX01PRFVMRV9QQVRIICR7Q01BS0VfTU9EVUxFX1BBVEh9ICR7Q01BS0VfU09VUkNFX0RJUn0vY21ha2UpCisrCisgSUYoQlVJTERfQ09ORklHKQorICAgSU5DTFVERSgKKyAgICR7Q01BS0VfU09VUkNFX0RJUn0vY21ha2UvYnVpbGRfY29uZmlndXJhdGlvbnMvJHtCVUlMRF9DT05GSUd9LmNtYWtlKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2ZpeC1teXNxbGNsaWVudC1yLXZlcnNpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvZml4LW15c3FsY2xpZW50LXItdmVyc2lvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTE2NjE5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2ZpeC1teXNxbGNsaWVudC1yLXZlcnNpb24ucGF0Y2gKQEAgLTAsMCArMSwxNjEgQEAKK0Zyb20gNmRiMmE2MDYxOTZmYjM4YTZkMTA2ZGM0MDllZWUxY2I5YTQwYTQ0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRvciBEaWRyaWtzZW4gPHRvci5kaWRyaWtzZW5Ab3JhY2xlLmNvbT4KK0RhdGU6IE1vbiwgMjQgSnVuIDIwMTMgMTc6MTU6MzUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQnVnIzE2ODA5MDU1IE1ZU1FMIDUuNiBBTkQgNS43IFNUSUxMIFVTRSBMSUJNWVNRTENMSUVOVC5TTy4xOAorCitXaXRoIHRoaXMgcGF0Y2gsIHRoZSBsaWJteXNxbC8gZGlyZWN0b3J5IGNvbnRhaW5zOgorbGlibXlzcWxjbGllbnQuYQorbGlibXlzcWxjbGllbnRfci5hIC0+IGxpYm15c3FsY2xpZW50LmEKK2xpYm15c3FsY2xpZW50X3Iuc28gLT4gbGlibXlzcWxjbGllbnQuc28qCitsaWJteXNxbGNsaWVudF9yLnNvLjE4IC0+IGxpYm15c3FsY2xpZW50LnNvLjE4KgorbGlibXlzcWxjbGllbnRfci5zby4xOC4xLjAgLT4gbGlibXlzcWxjbGllbnQuc28uMTguMS4wKgorbGlibXlzcWxjbGllbnQuc28gLT4gbGlibXlzcWxjbGllbnQuc28uMTgqCitsaWJteXNxbGNsaWVudC5zby4xOCAtPiBsaWJteXNxbGNsaWVudC5zby4xOC4xLjAqCitsaWJteXNxbGNsaWVudC5zby4xOC4xLjAqCisKK1RoaXMgZml4ZXMgbGlibXlzcWxjbGllbnRfciBzeW1saW5rcyBwb2ludGluZyB0byB0aGUgdW52ZXJzaW9uZWQKK2xpYm15c3FsY2xpZW50LnNvIHN5bWxpbmsgKGxlYWRpbmcgdG8gcGFja2FnZSBRQSBlcnJvcnMgc2luY2UgdGhlCitsaWJteXNxbGNsaWVudC1yIHBhY2thZ2UgZW5kcyB1cCBkZXBlbmRpbmcgb24gbGlibXlzcWxjbGllbnQtZGV2KS4KKworQm9ycm93ZWQgZnJvbSBNeVNRTCA1LjYgdHJlZSBhdCBodHRwczovL2dpdGh1Yi5jb20vcGVyY29uYS9teXNxbC8KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgorCistLS0KKyBjbWFrZS9pbnN0YWxsX21hY3Jvcy5jbWFrZSB8IDI1ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0KKyBjbWFrZS9teXNxbF92ZXJzaW9uLmNtYWtlICB8ICAzICsrLQorIGxpYm15c3FsL0NNYWtlTGlzdHMudHh0ICAgIHwgMzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NtYWtlL2luc3RhbGxfbWFjcm9zLmNtYWtlIGIvY21ha2UvaW5zdGFsbF9tYWNyb3MuY21ha2UKK2luZGV4IGI4ZWZkZjguLmEwZDBlNjggMTAwNjQ0CistLS0gYS9jbWFrZS9pbnN0YWxsX21hY3Jvcy5jbWFrZQorKysrIGIvY21ha2UvaW5zdGFsbF9tYWNyb3MuY21ha2UKK0BAIC0xLDQgKzEsNCBAQAorLSMgQ29weXJpZ2h0IChjKSAyMDA5LCAyMDExLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKyMgQ29weXJpZ2h0IChjKSAyMDA5LCAyMDEzLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICMgCisgIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKK0BAIC0xMTEsMjggKzExMSwzMyBAQCBGVU5DVElPTihJTlNUQUxMX1NDUklQVCkKKyBFTkRGVU5DVElPTigpCisgCisgIyBJbnN0YWxsIHN5bWJvbGljIGxpbmsgdG8gQ01ha2UgdGFyZ2V0LiAKKy0jIHRoZSBsaW5rIGlzIGNyZWF0ZWQgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IGFzIHRhcmdldAorLSMgYW5kIGV4dGVuc2lvbiB3aWxsIGJlIHRoZSBzYW1lIGFzIGZvciB0YXJnZXQgZmlsZS4KKy1NQUNSTyhJTlNUQUxMX1NZTUxJTksgbGlua25hbWUgdGFyZ2V0IGRlc3RpbmF0aW9uIGNvbXBvbmVudCkKKysjIFdlIGRvICdjZCBwYXRoOyBsbiAtcyB0YXJnZXRfbmFtZSBsaW5rX25hbWUnCisrIyBXZSBhbHNvIGFkZCBhbiBJTlNUQUxMIHRhcmdldCBmb3IgIiR7cGF0aH0vJHtsaW5rX25hbWV9IgorK01BQ1JPKElOU1RBTExfU1lNTElOSyB0YXJnZXQgdGFyZ2V0X25hbWUgbGlua19uYW1lIGRlc3RpbmF0aW9uIGNvbXBvbmVudCkKKyBJRihVTklYKQorICAgR0VUX1RBUkdFVF9QUk9QRVJUWShsb2NhdGlvbiAke3RhcmdldH0gTE9DQVRJT04pCisgICBHRVRfRklMRU5BTUVfQ09NUE9ORU5UKHBhdGggJHtsb2NhdGlvbn0gUEFUSCkKKy0gIEdFVF9GSUxFTkFNRV9DT01QT05FTlQobmFtZSAke2xvY2F0aW9ufSBOQU1FKQorLSAgU0VUKG91dHB1dCAke3BhdGh9LyR7bGlua25hbWV9KQorKyAgTUVTU0FHRShTVEFUVVMgInRhcmdldCAke3RhcmdldH0iKQorKyAgTUVTU0FHRShTVEFUVVMgImxpbmtfbmFtZSAke2xpbmtfbmFtZX0iKQorKyAgTUVTU0FHRShTVEFUVVMgInRhcmdldF9uYW1lICR7dGFyZ2V0X25hbWV9IikKKysgIE1FU1NBR0UoU1RBVFVTICJwYXRoICR7cGF0aH0iKQorKyAgTUVTU0FHRShTVEFUVVMgIiIpCisrCisrICBTRVQob3V0cHV0ICR7cGF0aH0vJHtsaW5rX25hbWV9KQorICAgQUREX0NVU1RPTV9DT01NQU5EKAorICAgICBPVVRQVVQgJHtvdXRwdXR9CisgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSBBUkdTIC1FIHJlbW92ZSAtZiAke291dHB1dH0KKyAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IEFSR1MgLUUgY3JlYXRlX3N5bWxpbmsgCistICAgICAgJHtuYW1lfSAKKy0gICAgICAke2xpbmtuYW1lfQorKyAgICAgICR7dGFyZ2V0X25hbWV9IAorKyAgICAgICR7bGlua19uYW1lfQorICAgICBXT1JLSU5HX0RJUkVDVE9SWSAke3BhdGh9CisgICAgIERFUEVORFMgJHt0YXJnZXR9CisgICAgICkKKyAgIAorLSAgQUREX0NVU1RPTV9UQVJHRVQoc3ltbGlua18ke2xpbmtuYW1lfQorKyAgQUREX0NVU1RPTV9UQVJHRVQoc3ltbGlua18ke2xpbmtfbmFtZX0KKyAgICAgQUxMCisgICAgIERFUEVORFMgJHtvdXRwdXR9KQorLSAgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKHN5bWxpbmtfJHtsaW5rbmFtZX0gUFJPUEVSVElFUyBDTEVBTl9ESVJFQ1RfT1VUUFVUIDEpCisrICBTRVRfVEFSR0VUX1BST1BFUlRJRVMoc3ltbGlua18ke2xpbmtfbmFtZX0gUFJPUEVSVElFUyBDTEVBTl9ESVJFQ1RfT1VUUFVUIDEpCisgICBJRihDTUFLRV9HRU5FUkFUT1IgTUFUQ0hFUyAiWGNvZGUiKQorICAgICAjIEZvciBYY29kZSwgcmVwbGFjZSBwcm9qZWN0IGNvbmZpZyB3aXRoIGluc3RhbGwgY29uZmlnCisgICAgIFNUUklORyhSRVBMQUNFICIke0NNQUtFX0NGR19JTlRESVJ9IiAKK2RpZmYgLS1naXQgYS9saWJteXNxbC9DTWFrZUxpc3RzLnR4dCBiL2xpYm15c3FsL0NNYWtlTGlzdHMudHh0CitpbmRleCBiZTU3NjBmLi45NjI4NmZmIDEwMDY0NAorLS0tIGEvbGlibXlzcWwvQ01ha2VMaXN0cy50eHQKKysrKyBiL2xpYm15c3FsL0NNYWtlTGlzdHMudHh0CitAQCAtMTgwLDYgKzE4MCwxMiBAQCBJRihNU1ZDKQorICBJTlNUQUxMX0RFQlVHX1RBUkdFVChteXNxbGNsaWVudCBERVNUSU5BVElPTiAke0lOU1RBTExfTElCRElSfS9kZWJ1ZykKKyBFTkRJRigpCisgCisrTUFDUk8oR0VUX1RBUkdFVF9OQU1FIHRhcmdldCBvdXRfbmFtZSkKKysgIEdFVF9UQVJHRVRfUFJPUEVSVFkobG9jYXRpb24gJHt0YXJnZXR9IExPQ0FUSU9OKQorKyAgR0VUX0ZJTEVOQU1FX0NPTVBPTkVOVChuYW1lICR7bG9jYXRpb259IE5BTUUpCisrICBTRVQoJHtvdXRfbmFtZX0gJHtuYW1lfSkKKytFTkRNQUNSTygpCisrCisgSUYoVU5JWCkKKyAgIE1BQ1JPKEdFVF9WRVJTSU9ORURfTElCTkFNRSBMSUJOQU1FIEVYVEVOU0lPTiBWRVJTSU9OIE9VVE5BTUUpCisgICAgIFNFVChET1RfVkVSU0lPTiAiLiR7VkVSU0lPTn0iKQorQEAgLTE5Miw3ICsxOTgsMTMgQEAgSUYoVU5JWCkKKyAgICAgICBTRVQoJHtPVVROQU1FfSAke0xJQk5BTUV9JHtFWFRFTlNJT059JHtET1RfVkVSU0lPTn0pCisgICAgIEVORElGKCkgCisgICBFTkRNQUNSTygpCistICBJTlNUQUxMX1NZTUxJTksoJHtDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVh9bXlzcWxjbGllbnRfci5hIG15c3FsY2xpZW50ICR7SU5TVEFMTF9MSUJESVJ9IERldmVsb3BtZW50KQorK0VORElGKCkKKysKKytJRihVTklYKQorKyAgR0VUX1RBUkdFVF9OQU1FKG15c3FsY2xpZW50IGxpYl9uYW1lKQorKyAgSU5TVEFMTF9TWU1MSU5LKG15c3FsY2xpZW50CisrICAgICR7bGliX25hbWV9ICR7Q01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYfW15c3FsY2xpZW50X3IuYQorKyAgICAke0lOU1RBTExfTElCRElSfSBEZXZlbG9wbWVudCkKKyBFTkRJRigpCisgCisgSUYoTk9UIERJU0FCTEVfU0hBUkVEKQorQEAgLTIwNSwxMCArMjE3LDkgQEAgSUYoTk9UIERJU0FCTEVfU0hBUkVEKQorICAgICAjIGxpYnRvb2wgY29tcGF0YWJpbGl0eQorICAgICBJRihDTUFLRV9TWVNURU1fTkFNRSBNQVRDSEVTICJGcmVlQlNEIiBPUiBBUFBMRSkKKyAgICAgICBTRVQoT1NfU0hBUkVEX0xJQl9WRVJTSU9OICIke1NIQVJFRF9MSUJfTUFKT1JfVkVSU0lPTn0iKQorLSAgICBFTFNFSUYoQ01BS0VfU1lTVEVNX05BTUUgTUFUQ0hFUyAiSFAtVVgiKQorLSAgICAgIFNFVChPU19TSEFSRURfTElCX1ZFUlNJT04gIiR7U0hBUkVEX0xJQl9NQUpPUl9WRVJTSU9OfS4wIikKKyAgICAgRUxTRSgpCistICAgICAgU0VUKE9TX1NIQVJFRF9MSUJfVkVSU0lPTiAiJHtTSEFSRURfTElCX01BSk9SX1ZFUlNJT059LjAuMCIpCisrICAgICAgU0VUKE9TX1NIQVJFRF9MSUJfVkVSU0lPTgorKyAgICAgICAgIiR7U0hBUkVEX0xJQl9NQUpPUl9WRVJTSU9OfS4ke1NIQVJFRF9MSUJfTUlOT1JfVkVSU0lPTn0uMCIpCisgICAgIEVORElGKCkKKyAgICAgIyBOYW1lIG9mIHNoYXJlZCBsaWJyYXJ5IGlzIG15c3FsY2xpZW50IG9uIFVuaXgKKyAgICAgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGxpYm15c3FsIFBST1BFUlRJRVMgCitAQCAtMjM5LDggKzI1MCwxMyBAQCBJRihOT1QgRElTQUJMRV9TSEFSRUQpCisgICAgICAgIiR7Q01BS0VfU0hBUkVEX0xJQlJBUllfU1VGRklYfSIKKyAgICAgICAiIgorICAgICAgIGxpbmtuYW1lKQorLSAgICBJTlNUQUxMX1NZTUxJTksoJHtsaW5rbmFtZX0gbGlibXlzcWwgJHtJTlNUQUxMX0xJQkRJUn0gU2hhcmVkTGlicmFyaWVzKQorLSAgICBTRVQoT1NfU0hBUkVEX0xJQl9TWU1MSU5LUyAiJHtTSEFSRURfTElCX01BSk9SX1ZFUlNJT059IiAiJHtPU19TSEFSRURfTElCX1ZFUlNJT059IikKKysgICAgR0VUX1RBUkdFVF9OQU1FKGxpYm15c3FsIGxpYl9uYW1lKQorKyAgICBHRVRfRklMRU5BTUVfQ09NUE9ORU5UKGxpYl9uYW1lX3dlICR7bGliX25hbWV9IE5BTUVfV0UpCisrICAgIElOU1RBTExfU1lNTElOSyhsaWJteXNxbAorKyAgICAgICR7bGliX25hbWV9ICR7bGlua25hbWV9CisrICAgICAgJHtJTlNUQUxMX0xJQkRJUn0gU2hhcmVkTGlicmFyaWVzKQorKyAgICBTRVQoT1NfU0hBUkVEX0xJQl9TWU1MSU5LUworKyAgICAgICIke1NIQVJFRF9MSUJfTUFKT1JfVkVSU0lPTn0iICIke09TX1NIQVJFRF9MSUJfVkVSU0lPTn0iKQorICAgICBMSVNUKFJFTU9WRV9EVVBMSUNBVEVTIE9TX1NIQVJFRF9MSUJfU1lNTElOS1MpCisgICAgIEZPUkVBQ0godmVyICR7T1NfU0hBUkVEX0xJQl9TWU1MSU5LU30pCisgICAgICAgR0VUX1ZFUlNJT05FRF9MSUJOQU1FKAorQEAgLTI0OCw3ICsyNjQsMTEgQEAgSUYoTk9UIERJU0FCTEVfU0hBUkVEKQorICAgICAgICAgIiR7Q01BS0VfU0hBUkVEX0xJQlJBUllfU1VGRklYfSIKKyAgICAgICAgICIke3Zlcn0iCisgICAgICAgICBsaW5rbmFtZSkKKy0gICAgICBJTlNUQUxMX1NZTUxJTksoJHtsaW5rbmFtZX0gbGlibXlzcWwgJHtJTlNUQUxMX0xJQkRJUn0gU2hhcmVkTGlicmFyaWVzKQorKyAgICAgIEdFVF9WRVJTSU9ORURfTElCTkFNRSgKKysgICAgICAgICR7bGliX25hbWVfd2V9ICIke0NNQUtFX1NIQVJFRF9MSUJSQVJZX1NVRkZJWH0iICIke3Zlcn0iIGxpYl9uYW1lX3ZlcikKKysgICAgICBJTlNUQUxMX1NZTUxJTksobGlibXlzcWwKKysgICAgICAgICR7bGliX25hbWVfdmVyfSAke2xpbmtuYW1lfQorKyAgICAgICAgJHtJTlNUQUxMX0xJQkRJUn0gU2hhcmVkTGlicmFyaWVzKQorICAgICBFTkRGT1JFQUNIKCkKKyAgIEVORElGKCkKKyBFTkRJRigpCistLSAKKzIuMC4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9pbnN0YWxsX2RiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2luc3RhbGxfZGIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTEyYTdkYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9pbnN0YWxsX2RiCkBAIC0wLDAgKzEsMTMgQEAKKyMhIC9iaW4vc2gKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwllY2hvICJTdGFydGluZyB0byBpbnN0YWxsIGRhdGFiYXNlIGZvciBtYXJpYWRiIgorCS91c3IvYmluL215c3FsLXN5c3RlbWQtc3RhcnQgcHJlCisgICAgICAgIGVjaG8gImRvbmUuIgorCTs7CisgICopCisJZWNobyAiVXNhZ2U6IC9ldGMvaW5pdC5kL2luc3RhbGxfZGIgc3RhcnQiCisJZXhpdCAxCitlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL2luc3RhbGxfZGIuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9pbnN0YWxsX2RiLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgzNjlmNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9pbnN0YWxsX2RiLnNlcnZpY2UKQEAgLTAsMCArMSwxNyBAQAorIworIyBTaW1wbGUgaW5zdGFsbCBNeVNRTCBkYXRhYmFzZSBzZXJ2aWNlIGZpbGUKKyMgSXQgc2hvdWxiIGJlIGRvbmUgYmVmb3JlIG15c3FsZC5zZXJ2aWNlCisKK1tVbml0XQorRGVzY3JpcHRpb249SW5zdGFsbCBNeVNRTCBDb21tdW5pdHkgU2VydmVyIERhdGFiYXNlCitBZnRlcj1uZXR3b3JrLnRhcmdldAorQWZ0ZXI9c3lzbG9nLnRhcmdldAorQmVmb3JlPW15c3FsZC5zZXJ2aWNlCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPW9uZXNob3QKK0V4ZWNTdGFydD1AQklORElSQC9teXNxbC1zeXN0ZW1kLXN0YXJ0IHByZQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvbXkuY25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL215LmNuZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzRjMTcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL215LmNuZgpAQCAtMCwwICsxLDI1IEBACitbY2xpZW50XQorI3Bhc3N3b3JkCQkJCQk9IHBhc3N3b3JkCitwb3J0CQkJCQkJPSAzMzA2Citzb2NrZXQJCQkJCQk9IC92YXIvbGliL215c3FsL215c3FsLnNvY2sKKworW215c3FsZF9zYWZlXQorCitbbXlzcWxkXQordXNlciAJCQkJCQk9IG15c3FsCitwb3J0IAkJCQkJCT0gMzMwNgorc29ja2V0IAkJCQkJCT0gL3Zhci9saWIvbXlzcWwvbXlzcWwuc29jaworcGlkLWZpbGUgCQkJCQk9IC92YXIvbGliL215c3FsL215c3FsZC5waWQKK2xvZy1lcnJvciAJCQkJCT0gL3Zhci9sb2cvbXlzcWxkLmVycgorYmFzZWRpciAJCQkJCT0gL3VzcgorZGF0YWRpciAJCQkJCT0gL3Zhci9saWIvbXlzcWwKK3NraXAtZXh0ZXJuYWwtbG9ja2luZworc2tpcC1uZXR3b3JraW5nCitpZ25vcmUtYnVpbHRpbi1pbm5vZGIKK2RlZmF1bHQtc3RvcmFnZS1lbmdpbmUJCQkJPSBteWlzYW0KK2JpbmQtYWRkcmVzcwkJCQkJPSBsb2NhbGhvc3QKKworIworIyBpbmNsdWRlIGFsbCBmaWxlcyBmcm9tIHRoZSBjb25maWcgZGlyZWN0b3J5CisjCishaW5jbHVkZWRpciAvZXRjL215LmNuZi5kCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvbXlzcWwtc3lzdGVtZC1zdGFydCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9teXNxbC1zeXN0ZW1kLXN0YXJ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4OWMwMjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvbXlzcWwtc3lzdGVtZC1zdGFydApAQCAtMCwwICsxLDY2IEBACisjISAvYmluL3NoCisjCisjIE5lZWRlZCBhcmd1bWVudDogcHJlIHwgcG9zdAorIworIyBwcmUgbW9kZSAgOiAgdHJ5IHRvIHJ1biBteXNxbF9pbnN0YWxsX2RiIGFuZCBmaXggcGVybXMgYW5kIFNFTGludXggY29udGV4dHMKKyMgcG9zdCBtb2RlIDogIHBpbmcgc2VydmVyIHVudGlsIGFuc3dlciBpcyByZWNlaXZlZAorIworCitnZXRfb3B0aW9uICgpIHsKKyAgICBsb2NhbCBzZWN0aW9uPSQxCisgICAgbG9jYWwgb3B0aW9uPSQyCisgICAgbG9jYWwgZGVmYXVsdD0kMworICAgIHJldD0kKC91c3IvYmluL215X3ByaW50X2RlZmF1bHRzICRzZWN0aW9uIHwgZ3JlcCAnXi0tJyR7b3B0aW9ufSc9JyB8IGN1dCAtZD0gLWYyLSkKKyAgICBbIC16ICRyZXQgXSAmJiByZXQ9JGRlZmF1bHQKKyAgICBlY2hvICRyZXQKK30KKworaW5zdGFsbF9kYiAoKSB7CisgICAgIyBOb3RlOiBzb21ldGhpbmcgZGlmZmVyZW50IHRoYW4gZGF0YWRpcj0vdmFyL2xpYi9teXNxbCByZXF1aXJlcyBTRUxpbnV4IHBvbGljeSBjaGFuZ2VzIChpbiBlbmZvcmNpbmcgbW9kZSkKKyAgICBkYXRhZGlyPSQoZ2V0X29wdGlvbiBteXNxbGQgZGF0YWRpciAiL3Zhci9saWIvbXlzcWwiKQorCisgICAgIyBSZXN0b3JlIGxvZywgZGlyLCBwZXJtcyBhbmQgU0VMaW51eCBjb250ZXh0cworICAgIFsgLWQgIiRkYXRhZGlyIiBdIHx8IGluc3RhbGwgLWQgLW0gMDc1NSAtb215c3FsIC1nbXlzcWwgIiRkYXRhZGlyIiB8fCBleGl0IDEKKyAgICBsb2c9L3Zhci9sb2cvbXlzcWxkLmxvZworICAgIFsgLWUgJGxvZyBdIHx8IHRvdWNoICRsb2cKKyAgICBjaG1vZCAwNjQwICRsb2cKKyAgICBjaG93biBteXNxbDpteXNxbCAkbG9nIHx8IGV4aXQgMQorICAgIGlmIFsgLXggL3Vzci9zYmluL3Jlc3RvcmVjb24gXTsgdGhlbgorICAgICAgICAvdXNyL3NiaW4vcmVzdG9yZWNvbiAiJGRhdGFkaXIiCisgICAgICAgIC91c3Ivc2Jpbi9yZXN0b3JlY29uICRsb2cKKyAgICBmaQorCisgICAgIyBJZiBzcGVjaWFsIG15c3FsIGRpciBpcyBpbiBwbGFjZSwgc2tpcCBkYiBpbnN0YWxsCisgICAgWyAtZCAiJGRhdGFkaXIvbXlzcWwiIF0gJiYgZXhpdCAwCisKKyAgICAjIENyZWF0ZSBpbml0aWFsIGRiCisgICAgL3Vzci9iaW4vbXlzcWxfaW5zdGFsbF9kYiAtLXJwbSAtLWRhdGFkaXI9IiRkYXRhZGlyIiAtLXVzZXI9bXlzcWwKKyAgICBleGl0IDAKK30KKworcGluZ2VyICgpIHsKKyAgICAjIFdhaXQgZm9yIHBpbmcgdG8gYW5zd2VyIHRvIHNpZ25hbCBzdGFydHVwIGNvbXBsZXRlZCwKKyAgICAjIG1pZ2h0IHRha2UgYSB3aGlsZSBpbiBjYXNlIG9mIGUuZy4gY3Jhc2ggcmVjb3ZlcnkKKyAgICAjIE15U1FMIHN5c3RlbWQgc2VydmljZSB3aWxsIHRpbWVvdXQgc2NyaXB0IGlmIG5vIGFuc3dlcgorICAgIGRhdGFkaXI9JChnZXRfb3B0aW9uIG15c3FsZCBkYXRhZGlyICIvdmFyL2xpYi9teXNxbCIpCisgICAgc29ja2V0PSQoZ2V0X29wdGlvbiAgbXlzcWxkIHNvY2tldCAiJGRhdGFkaXIvbXlzcWwuc29jayIpCisgICAgY2FzZSAkc29ja2V0IGluCisgICAgICAgIC8qKSBhZG1pbnNvY2tldD0iJHNvY2tldCIgOzsKKyAgICAgICAgKikgYWRtaW5zb2NrZXQ9IiRkYXRhZGlyLyRzb2NrZXQiIDs7CisgICAgZXNhYworCisgICAgd2hpbGUgL2Jpbi90cnVlIDsgZG8KKyAgICAgICAgc2xlZXAgMQorICAgICAgICBteXNxbGFkbWluIC0tbm8tZGVmYXVsdHMgLS1zb2NrZXQ9IiRhZG1pbnNvY2tldCIgLS11c2VyPVVOS05PV05fTVlTUUxfVVNFUiBwaW5nID4vZGV2L251bGwgMj4mMSAmJiBicmVhaworICAgIGRvbmUKKyAgICBleGl0IDAKK30KKworIyBtYWluCitjYXNlICQxIGluCisgICAgInByZSIpIGluc3RhbGxfZGIgOzsKKyAgICAicG9zdCIpIHBpbmdlciA7OworZXNhYworCitleGl0IDAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL215c3FsZC5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL215c3FsZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4ODM2MTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGIvbXlzcWxkLnNlcnZpY2UKQEAgLTAsMCArMSwyNSBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1NYXJpYURCIGRhdGFiYXNlIHNlcnZlcgorQWZ0ZXI9c3lzbG9nLnRhcmdldAorQWZ0ZXI9bmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitQSURGaWxlPS92YXIvbGliL215c3FsL215c3FsZC5waWQKK1R5cGU9c2ltcGxlCitVc2VyPW15c3FsCitHcm91cD1teXNxbAorCisjIEV4ZWN1dGUgcG9zdCBzY3JpcHRzIGFzIHJvb3QKK1Blcm1pc3Npb25zU3RhcnRPbmx5PXRydWUKKworIyBTdGFydCBtYWluIHNlcnZpY2UKK0V4ZWNTdGFydD1AQklORElSQC9teXNxbGRfc2FmZSAtLWJhc2VkaXI9QFBSRUZJWEAKKworIyBEb24ndCBzaWduYWwgc3RhcnR1cCBzdWNjZXNzIGJlZm9yZSBhIHBpbmcgd29ya3MKK0V4ZWNTdGFydFBvc3Q9QEJJTkRJUkAvbXlzcWwtc3lzdGVtZC1zdGFydCBwb3N0CisKK1RpbWVvdXRTZWM9MzAwCitQcml2YXRlVG1wPXRydWUKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9teXNxbC9tYXJpYWRiL3JlbW92ZS1iYWQtcGF0aC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9yZW1vdmUtYmFkLXBhdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmYyNmIwYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYi9yZW1vdmUtYmFkLXBhdGgucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorUmVtb3ZlIGhvc3QgcGF0aCBmcm9tIGluY2x1ZGUgZGlyZWN0b3JpZXMKKworTmF0dXJhbGx5IHRoaXMgYnJlYWtzIGNyb3NzLWNvbXBpbGF0aW9uIGlmIHByZXNlbnQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworLS0tIG1hcmlhZGItNS41LjM4L3N0b3JhZ2UvdG9rdWRiL2Z0LWluZGV4L0NNYWtlTGlzdHMudHh0CTIwMTQtMDctMTcgMTQ6Mzc6MDQuNTI5MzI3OTk4ICswMTAwCisrKysgbWFyaWFkYi01LjUuMzgvc3RvcmFnZS90b2t1ZGIvZnQtaW5kZXgvQ01ha2VMaXN0cy50eHQJMjAxNC0wNy0xNyAxNDo0Mzo1Ni45OTEzMzc4OTUgKzAxMDAKK0BAIC0zOSw3ICszOSw2IEBACisgCisgIyMgZGVmYXVsdCBpbmNsdWRlcyBhbmQgbGlicmFyaWVzCisgaW5jbHVkZV9kaXJlY3RvcmllcyhTWVNURU0KKy0gIC91c3IvbG9jYWwvaW5jbHVkZQorICAgJHtaTElCX0lOQ0xVREVfRElSU30KKyAgICkKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbWFyaWFkYl81LjUuNDYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGJfNS41LjQ2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmOTk4YTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL21hcmlhZGJfNS41LjQ2LmJiCkBAIC0wLDAgKzEsMjcgQEAKK3JlcXVpcmUgbWFyaWFkYi5pbmMKKworRVhUUkFfT0VDTUFLRSArPSAiLURTVEFDS19ESVJFQ1RJT049LTEiCisKK0RFUEVORFMgKz0gIm1hcmlhZGItbmF0aXZlIG5jdXJzZXMgemxpYiByZWFkbGluZSBsaWJhaW8gbGliZXZlbnQiCisKK1BST1ZJREVTICs9ICJteXNxbDUiCisKK1JQUk9WSURFU18ke1BOfSArPSAibXlzcWw1IgorUlJFUExBQ0VTXyR7UE59ICs9ICJteXNxbDUiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICJteXNxbDUiCisKK1JQUk9WSURFU18ke1BOfS1kYmcgKz0gIm15c3FsNS1kYmciCitSUkVQTEFDRVNfJHtQTn0tZGJnICs9ICJteXNxbDUtZGJnIgorUkNPTkZMSUNUU18ke1BOfS1kYmcgKz0gIm15c3FsNS1kYmciCisKK1JQUk9WSURFU18ke1BOfS1sZWZ0b3ZlcnMgKz0gIm15c3FsNS1sZWZ0b3ZlcnMiCitSUkVQTEFDRVNfJHtQTn0tbGVmdG92ZXJzICs9ICJteXNxbDUtbGVmdG92ZXJzIgorUkNPTkZMSUNUU18ke1BOfS1sZWZ0b3ZlcnMgKz0gIm15c3FsNS1sZWZ0b3ZlcnMiCisKK1JQUk9WSURFU18ke1BOfS1jbGllbnQgKz0gIm15c3FsNS1jbGllbnQiCitSUkVQTEFDRVNfJHtQTn0tY2xpZW50ICs9ICJteXNxbDUtY2xpZW50IgorUkNPTkZMSUNUU18ke1BOfS1jbGllbnQgKz0gIm15c3FsNS1jbGllbnQiCisKK1JQUk9WSURFU18ke1BOfS1zZXJ2ZXIgKz0gIm15c3FsNS1zZXJ2ZXIiCitSUkVQTEFDRVNfJHtQTn0tc2VydmVyICs9ICJteXNxbDUtc2VydmVyIgorUkNPTkZMSUNUU18ke1BOfS1zZXJ2ZXIgKz0gIm15c3FsNS1zZXJ2ZXIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL215c3FsLXB5dGhvbl8xLjIuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXlzcWwvbXlzcWwtcHl0aG9uXzEuMi41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjMGRmNGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L215c3FsL215c3FsLXB5dGhvbl8xLjIuNS5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIlB5dGhvbiBpbnRlcmZhY2UgdG8gTXlTUUwiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vZmFyY2VwZXN0L015U1FMZGIxIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vR1BMLTIuMDttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK0RFUEVORFMgPSAibXlzcWw1IgorCitTUkNOQU1FID0gIk15U1FMLXB5dGhvbiIKKworU1JDX1VSSSA9ICJodHRwczovL3B5cGkucHl0aG9uLm9yZy9wYWNrYWdlcy9zb3VyY2UvTS8ke1NSQ05BTUV9LyR7U1JDTkFNRX0tJHtQVn0uemlwIgorU1JDX1VSSVttZDVzdW1dID0gIjY1NGY3NWIzMDJkYjZlZDhkYzVhODk4YzYyNWUwMzBjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgxMTA0MGI2NDdlNWQ1Njg2Zjg0ZGI0MTVlZmQ2OTdlNjI1MDAwOGIxMTJiNjkwOWJhNzdhYzA1OWUxNDBjNzQiCisKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitpbmhlcml0IHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vLTIuMi41L25jdXJzZXN3LmluY2x1ZGVkaXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFuby0yLjIuNS9uY3Vyc2Vzdy5pbmNsdWRlZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmMjI0YmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFuby0yLjIuNS9uY3Vyc2Vzdy5pbmNsdWRlZGlyLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK2RpZmYgLXVOciBuYW5vLTIuMi41Lm9yaWcvL2NvbmZpZ3VyZS5hYyBuYW5vLTIuMi41L2NvbmZpZ3VyZS5hYworLS0tIG5hbm8tMi4yLjUub3JpZy8vY29uZmlndXJlLmFjCTIwMTAtMDgtMDYgMDM6MDA6NTEuMDAwMDAwMDAwICswMjAwCisrKysgbmFuby0yLjIuNS9jb25maWd1cmUuYWMJMjAxMC0wOC0xMCAxNDoxMTo1Mi4wMDAwMDAwMDAgKzAyMDAKK0BAIC00NDIsNyArNDQyLDcgQEAKKyAgICAgQUNfQ0hFQ0tfSEVBREVSUyhuY3Vyc2VzLmgpCisgCisgICAgIGlmIHRlc3QgeCRlbmFibGVfdXRmOCAhPSB4bm87IHRoZW4KKy0JQUNfQ0hFQ0tfTElCKG5jdXJzZXN3LCBnZXRfd2NoLCBbQ1VSU0VTX0xJQj0iLWxuY3Vyc2VzdyIgQ1BQRkxBR1M9Ii1JL3Vzci9pbmNsdWRlL25jdXJzZXN3ICRDUFBGTEFHUyIgQ1VSU0VTX0xJQl9OQU1FPW5jdXJzZXN3IENVUlNFU19MSUJfV0lERT15ZXNdKQorKwlBQ19DSEVDS19MSUIobmN1cnNlc3csIGdldF93Y2gsIFtDVVJTRVNfTElCPSItbG5jdXJzZXN3IiBDVVJTRVNfTElCX05BTUU9bmN1cnNlc3cgQ1VSU0VTX0xJQl9XSURFPXllc10pCisgICAgIGZpCisgCisgICAgIGlmIGV2YWwgInRlc3QgeCRDVVJTRVNfTElCX05BTUUgPSB4IjsgdGhlbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm8uaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm8uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkZWZlOWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFuby5pbmMKQEAgLTAsMCArMSwxOSBAQAorREVTQ1JJUFRJT04gPSAiR05VIG5hbm8gKE5hbm8ncyBBTk90aGVyIGVkaXRvciwgb3IgXAorTm90IEFOT3RoZXIgZWRpdG9yKSBpcyBhbiBlbmhhbmNlZCBjbG9uZSBvZiB0aGUgXAorUGljbyB0ZXh0IGVkaXRvci4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm5hbm8tZWRpdG9yLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjI3ZGVmZTFlOTZjMmUxZWNkNGUwYzliZTg5Njc5NDkiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitERVBFTkRTID0gIm5jdXJzZXMiCitSREVQRU5EU18ke1BOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvIgorCitJTkNfUFIgPSAicjMiCisKK1BWX01BSk9SID0gIiR7QGQuZ2V0VmFyKCdQVicsMSkuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzFdfSIKKworU1JDX1VSSSA9ICJmdHA6Ly9uYW5vLWVkaXRvci5vcmcvcHViL25hbm8vdiR7UFZfTUFKT1J9L25hbm8tJHtQVn0udGFyLmd6IgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0CisKK1BBQ0tBR0VDT05GSUdbdGlueV0gPSAiLS1lbmFibGUtdGlueSwtLWVuYWJsZS1hbGwsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm9fMi4yLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFub18yLjIuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjU2ZjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm9fMi4yLjUuYmIKQEAgLTAsMCArMSw4IEBACitpbmNsdWRlIG5hbm8uaW5jCisKK1BSID0gIiR7SU5DX1BSfS4wIgorCitTUkNfVVJJICs9ICJmaWxlOi8vbmN1cnNlc3cuaW5jbHVkZWRpci5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjc3YTEwYTQ5NTg5Zjk3NWNlOTgzNTBhNDUyN2EyZWJmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkwMTU5NDVkMWJhZGFiYmFkYTIwM2IzN2M0Nzc5ZDNkZDEwNjYyMzQyMzVjNzE0ZGViNDM5OTg5YzVjZDdkOWUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25lMTAvbmUxMF8xLjIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmUxMC9uZTEwXzEuMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlOTc5ODIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25lMTAvbmUxMF8xLjIuMS5iYgpAQCAtMCwwICsxLDQyIEBACitERVNDUklQVElPTiA9ICJMaWJyYXJ5IGNvbnRhaW5pbmcgTkVPTi1vcHRpbWl6ZWQgaW1wbGVtZW50YXRpb25zIGZvciBhIGNvbW1vbiBzZXQgb2YgZnVuY3Rpb25zIgorSE9NRVBBR0UgPSAiaHR0cDovL3Byb2plY3RuZTEwLmdpdGh1Yi5pby9OZTEwLyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NDYzYWMwYTdkNjRlZGMyYjc4N2M0MjA2NjM1Y2EyYjEiCitTRUNUSU9OID0gImxpYnMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9wcm9qZWN0TmUxMC9OZTEwLmdpdCIKK1NSQ1JFViA9ICJhMDhiMjlkODhlM2M5NGQzMmI1YjhmODI3ZTdmY2YwYmMyYjM0YWMyIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlCisKK05FMTBfVEFSR0VUX0FSQ0ggPSAiIgorRVhUUkFfT0VDTUFLRSA9ICctREdOVUxJTlVYX1BMQVRGT1JNPU9OIC1ETkUxMF9CVUlMRF9TSEFSRUQ9T04gLURORTEwX0xJTlVYX1RBUkdFVF9BUkNIPSIke05FMTBfVEFSR0VUX0FSQ0h9IicKKworQ09NUEFUSUJMRV9NQUNISU5FX2FhcmNoNjQgPSAiKC4qKSIKK0NPTVBBVElCTEVfTUFDSElORV9hcm12N2EgPSAiKC4qKSIKKworcHl0aG9uICgpIHsKKyAgICBpZiBhbnkodC5zdGFydHN3aXRoKCdhcm12NycpIGZvciB0IGluIGQuZ2V0VmFyKCdUVU5FX0ZFQVRVUkVTJywgVHJ1ZSkuc3BsaXQoKSk6CisgICAgICAgIGQuc2V0VmFyKCdORTEwX1RBUkdFVF9BUkNIJywgJ2FybXY3JykKKyAgICAgICAgYmIuZGVidWcoMiwgJ0J1aWxkaW5nIE5lMTAgZm9yIGFybXY3JykKKyAgICBlbGlmIGFueSh0LnN0YXJ0c3dpdGgoJ2FhcmNoNjQnKSBmb3IgdCBpbiBkLmdldFZhcignVFVORV9GRUFUVVJFUycsIFRydWUpLnNwbGl0KCkpOgorICAgICAgICBkLnNldFZhcignTkUxMF9UQVJHRVRfQVJDSCcsICdhYXJjaDY0JykKKyAgICAgICAgYmIuZGVidWcoMiwgJ0J1aWxkaW5nIE5lMTAgZm9yIGFhcmNoNjQnKQorICAgIGVsc2U6CisgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBQYWNrYWdlKCJJbmNvbXBhdGlibGUgd2l0aCBhcmNocyBvdGhlciB0aGFuIGFybXY3IGFuZCBhYXJjaDY0IikKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vaW5jL05FMTAqLmggJHtEfSR7aW5jbHVkZWRpcn0vCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vbW9kdWxlcy9saWJORTEwLmEgJHtEfSR7bGliZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9tb2R1bGVzL2xpYk5FMTAuc28uKiAke0R9JHtsaWJkaXJ9LworICAgIGNwIC1hICR7Qn0vbW9kdWxlcy9saWJORTEwLnNvICR7RH0ke2xpYmRpcn0vCit9CisKKyMgRVJST1I6IFFBIElzc3VlOiBFTEYgYmluYXJ5ICduZTEwLzEuMi4xLXIwL3BhY2thZ2VzLXNwbGl0L25lMTAvdXNyL2xpYi9saWJORTEwLnNvLjEwJyBoYXMgcmVsb2NhdGlvbnMgaW4gLnRleHQgW3RleHRyZWxdCisjIEVSUk9SOiBRQSBJc3N1ZTogRUxGIGJpbmFyeSAnbmUxMC8xLjIuMS1yMC9wYWNrYWdlcy1zcGxpdC9uZTEwL3Vzci9saWIvbGliTkUxMC5zby4xMCcgaGFzIHJlbG9jYXRpb25zIGluIC50ZXh0IFt0ZXh0cmVsXQorSU5TQU5FX1NLSVBfJHtQTn0gKz0gInRleHRyZWwiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25tb24vbm1vbl8xM2cuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25tb24vbm1vbl8xM2cuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY3NTE4OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbm1vbi9ubW9uXzEzZy5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIm5tb24gcGVyZm9ybWFuY2UgbW9uaXRvciIKK0hPTUVQQUdFID0gImh0dHA6Ly9ubW9uLnNmLm5ldCIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0RvY3VtZW50YXRpb24udHh0O21kNT1kYmIxMzY1OGNmNTVkNjg3YzRmMmZmNzcxYTY5NmQ0YSIKK0RFUEVORFMgPSAibmN1cnNlcyIKK1BSID0gInIyIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9ubW9uL2xtb24xM2cuYztuYW1lPWxtb24gXAorICAgICAgICAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vbm1vbi9Eb2N1bWVudGF0aW9uLnR4dDtuYW1lPWRvYyBcCisiCisKK1NSQ19VUklbbG1vbi5tZDVzdW1dID0gImIxYjhlNmMwMTIzYWQyMzIzOTQ5OTFmMmQ0ZjQwNDk0IgorU1JDX1VSSVtsbW9uLnNoYTI1NnN1bV0gPSAiNDU2YWIyYTM0MmIzMWQxYTM1MmQwZDk0MGFmNTk2MmZhNjVhMTJhZTg3NTdmZjczZTZlNzMyMTA4MzJhZThiNSIKK1NSQ19VUklbZG9jLm1kNXN1bV0gPSAiZGJiMTM2NThjZjU1ZDY4N2M0ZjJmZjc3MWE2OTZkNGEiCitTUkNfVVJJW2RvYy5zaGEyNTZzdW1dID0gIjFmN2Y4M2FmZTYyYTcyMTBiZTVlODNjZDI0MTU3YWRiODU0YzE0NTk5ZWZlMGIzNzdhN2VjY2E5MzM4NjkyNzgiCisKK0NGTEFHUyArPSAiLUQgSkZTIC1EIEdFVFVTRVIgLVdhbGwgLUQgTEFSR0VNRU0iCitMREZMQUdTICs9ICItbHRpbmZvIC1sbmN1cnNlc3ciCitBU05FRURFRF9wbi1ubW9uID0gIiIKKworZG9fY29tcGlsZSgpIHsKKyAgICAke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSAke1dPUktESVJ9L2xtb24xM2cuYyAtbyBubW9uCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IG5tb24gJHtEfSR7YmluZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvMDAwMS1kZWZpbmUtcnVuLXRlc3QtdGFyZ2V0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvMDAwMS1kZWZpbmUtcnVuLXRlc3QtdGFyZ2V0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4ZmZiMjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC8wMDAxLWRlZmluZS1ydW4tdGVzdC10YXJnZXQucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorcmVuYW1lIHRlc3QgdGFyZ2V0IGFzIHJ1bi10ZXN0CisKK1Vwc3RyZWFtLVN0YXR1ZTogUGVuZGluZworCit0ZXN0IHRhcmdldCBub3Qgb25seSBjb21waWxlIHRoZSB0ZXN0IGZpbGVzLCBidXQgYWxzbyBydW4gdGhlbSwgd2hpY2ggaXMKK25vdCBzdWl0YWJsZSBmb3IgY3Jvc3MtY29tcGlsZSBlbnZpcm9ubWVudCwgc28gcmVuYW1lIGl0IGFzIHJ1bi10ZXN0LgorCithbmQgZGVmaW5lIHRlc3QgdGFyZ2V0IHRvIGNvbXBpbGUgdGhlIHRlc3QgZmlsZXMuCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgNCArKystCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggYjZkYjMzOS4uZGUxNzZjNCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTEyNCw3ICsxMjQsOSBAQCByZWdyZXNzMjogJChjaGVja19QUk9HUkFNUykKKyB0ZXN0X251bWFkZW1vOiBudW1hZGVtbworIAkuL251bWFkZW1vIC10IC1lIDEwTQorIAorLXRlc3Q6IGFsbCAkKGNoZWNrX1BST0dSQU1TKSByZWdyZXNzMSByZWdyZXNzMiB0ZXN0X251bWFkZW1vCisrdGVzdDogYWxsICQoY2hlY2tfUFJPR1JBTVMpCisrCisrcnVuLXRlc3Q6IGFsbCAkKGNoZWNrX1BST0dSQU1TKSByZWdyZXNzMSByZWdyZXNzMiB0ZXN0X251bWFkZW1vCisgCisgVEVTVFNfRU5WSVJPTk1FTlQgPSBidWlsZGRpcj0nJChidWlsZGRpciknOyBleHBvcnQgYnVpbGRkaXI7CisgCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsL0ZpeC10aGUtdGVzdC1vdXRwdXQtZm9ybWF0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvRml4LXRoZS10ZXN0LW91dHB1dC1mb3JtYXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTgxMmVjYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsL0ZpeC10aGUtdGVzdC1vdXRwdXQtZm9ybWF0LnBhdGNoCkBAIC0wLDAgKzEsNjQgQEAKK0Zyb20gNTlmZDc1MGE4NGJiZTU4NzRkZWM5MzZkMmJlZTllZjExYTFiNjUwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgMjEgSnVsIDIwMTUgMDI6MDE6MjIgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IHRoZSB0ZXN0IG91dHB1dCBmb3JtYXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIHRlc3QvcmVncmVzcyAgfCAgNiArKystLS0KKyB0ZXN0L3JlZ3Jlc3MyIHwgMTEgKysrKystLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3QvcmVncmVzcyBiL3Rlc3QvcmVncmVzcworaW5kZXggMmNlMTcwNS4uZDA4NmE0NyAxMDA3NTUKKy0tLSBhL3Rlc3QvcmVncmVzcworKysrIGIvdGVzdC9yZWdyZXNzCitAQCAtNzQsNiArNzQsNyBAQCBwcm9iZV9oYXJkd2FyZSgpCisgCWlmIFsgJG51bW5vZGVzIC1sdCAyIF0gOyB0aGVuCisgCSAgICBlY2hvICJuZWVkIGF0IGxlYXN0IHR3byBub2RlcyB3aXRoIGF0IGxlYXN0ICRORUVEUEFHRVMgZWFjaCBvZiIKKyAJICAgIGVjaG8gImZyZWUgbWVtb3J5IGZvciBtZW1wb2xpY3kgcmVncmVzc2lvbiB0ZXN0cyIKKysJICAgIGVjaG8gIkZBSUw6IG51bWEgcmVncmVzcyIKKwkgICAgZXhpdCA3NyAgIyBTa2lwIHRlc3QKKyAJZmkKKyB9CitAQCAtMjA3LDEwICsyMDgsOSBAQCBtYWluKCkKKyAJcm0gQSBCCisgCisgCWlmIFsgIiRFWElUIiA9IDAgXSA7IHRoZW4KKy0JCWVjaG8gJz09PT09PT09U1VDQ0VTUycKKysJCWVjaG8gJ1BBU1M6IG51bWFjdGwgcmVncmVzcycKKyAJZWxzZQorLQkJZWNobyAnPT09PT09PT1GQUlMVVJFJworLQkJZXhpdCAxCisrCQllY2hvICdGQUlMOiBudW1hY3RsIHJlZ3Jlc3MnCisgCWZpCisgfQorIAorZGlmZiAtLWdpdCBhL3Rlc3QvcmVncmVzczIgYi90ZXN0L3JlZ3Jlc3MyCitpbmRleCBhYTZlYTQxLi40NTBjNTEwIDEwMDc1NQorLS0tIGEvdGVzdC9yZWdyZXNzMgorKysrIGIvdGVzdC9yZWdyZXNzMgorQEAgLTksMTIgKzksMTEgQEAgdGVzdGRpcj1gZGlybmFtZSAiJDAiYAorIGV4cG9ydCBQQVRIPSR7YnVpbGRkaXJ9OiRQQVRICisgCisgVCgpIHsKKy0gICAgICAgZWNobyAiJEAiIAorLSAgICAgICBpZiAhICRWQUxHUklORCAiJEAiIDsgIHRoZW4KKy0JICBlY2hvCSQxIEZBSUxFRCEhISEKKy0JICBleGl0IDEKKy0gICAgICAgZmkKKy0gICAgICAgZWNobworKwlpZiAhICRWQUxHUklORCAiJEAiIDI+JjEgMT4vZGV2L251bGw7ICB0aGVuCisrCSAgIGVjaG8gICJGQUlMOiAkMSIKKysJZWxzZQorKwkgICBlY2hvICJQQVNTOiAkMSIKKysJZmkKKyB9CisgCisgIyBzdGlsbCBicm9rZW4KKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC9NYWtlZmlsZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhNTEzNGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bC9NYWtlZmlsZQpAQCAtMCwwICsxLDcgQEAKKy5QSE9OWTogcmVncmVzczEgcmVncmVzczIKKworcmVncmVzczE6CisJY2QgdGVzdCA7IC4vcmVncmVzcworCityZWdyZXNzMjoKKwljZCB0ZXN0IDsgLi9yZWdyZXNzMgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvZml4LW51bGwtcG9pbnRlci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsL2ZpeC1udWxsLXBvaW50ZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTM5NTJhZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsL2ZpeC1udWxsLXBvaW50ZXIucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorW1BBVENIXSByZXR1cm4gMCBpZiBkaXN0YW5jZV90YWJsZSBpcyBOVUxMCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCityZWFkX2Rpc3RhbmNlX3RhYmxlKCkgbWF5YmUgcmV0dXJuIDAsIGJ1dCBkaXN0YW5jZV90YWJsZSBpcyBub3Qgc2V0LAoraWYgZGlzdGFuY2VfdGFibGUgaXMgdXNlZCwgYW5kIHdpbGwgbGVhZCB0byBTRUdGQVVMVAorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBkaXN0YW5jZS5jIHwgICAgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2Rpc3RhbmNlLmMgYi9kaXN0YW5jZS5jCitpbmRleCA0YTI2OTcyLi5jNmNhMDIxIDEwMDc1NQorLS0tIGEvZGlzdGFuY2UuYworKysrIGIvZGlzdGFuY2UuYworQEAgLTExMyw2ICsxMTMsOCBAQCBpbnQgbnVtYV9kaXN0YW5jZShpbnQgYSwgaW50IGIpCisgCQlpbnQgZXJyID0gcmVhZF9kaXN0YW5jZV90YWJsZSgpOworIAkJaWYgKGVyciA8IDApCisgCQkJcmV0dXJuIDA7CisrCQlpZiAoIWRpc3RhbmNlX3RhYmxlKQorKwkJCXJldHVybiAwOworIAl9CisgCXJldHVybiBkaXN0YW5jZV90YWJsZVthICogZGlzdGFuY2VfbnVtbm9kZXMgKyBiXTsKKyB9CistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMTVmN2MyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9udW1hY3RsL251bWFjdGwvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCittYWtlIHJlZ3Jlc3MxCittYWtlIHJlZ3Jlc3MyCitpZiAgbnVtYWRlbW8gLXQgLWUgMTBNOyB0aGVuCisJZWNobyAiUEFTUzogbnVtYWRlbW8iCitlbHNlCisJZWNobyAiRkFJTDogbnVtYWRlbW8iCitmaQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bF8yLjAuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L251bWFjdGwvbnVtYWN0bF8yLjAuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk5NzI2ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbnVtYWN0bC9udW1hY3RsXzIuMC4xMS5iYgpAQCAtMCwwICsxLDU3IEBACitTVU1NQVJZID0gIkRldmVsb3BtZW50IHBhY2thZ2UgZm9yIGJ1aWxkaW5nIEFwcGxpY2F0aW9ucyB0aGF0IHVzZSBudW1hIgorREVTQ1JJUFRJT04gPSAiU2ltcGxlIE5VTUEgcG9saWN5IHN1cHBvcnQuIEl0IGNvbnNpc3RzIG9mIGEgbnVtYWN0bCBwcm9ncmFtIFwKK3RvIHJ1biBvdGhlciBwcm9ncmFtcyB3aXRoIGEgc3BlY2lmaWMgTlVNQSBwb2xpY3kgYW5kIGEgbGlibnVtYSB0byBkbyBcCithbGxvY2F0aW9ucyB3aXRoIE5VTUEgcG9saWN5IGluIGFwcGxpY2F0aW9ucy4iCitMSUNFTlNFID0gIkdQTC0yLjAgJiBMR1BMLTIuMSIKK1NFQ1RJT04gPSAiYXBwcyIKK1JERVBFTkRTXyR7UE59ID0gInBlcmwiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwdGVzdAorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTE5O2VuZGxpbmU9MzI7bWQ1PTU2NDRjYzM4NTFjYjI0OTlmNmM0OGU1MmZlMTk4YmQ5IgorCitTUkNfVVJJID0gImZ0cDovL29zcy5zZ2kuY29tL3d3dy9wcm9qZWN0cy9saWJudW1hL2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorCSAgIGZpbGU6Ly9maXgtbnVsbC1wb2ludGVyLnBhdGNoIFwKKwkgICBmaWxlOi8vRml4LXRoZS10ZXN0LW91dHB1dC1mb3JtYXQucGF0Y2ggXAorCSAgIGZpbGU6Ly9NYWtlZmlsZSBcCisJICAgZmlsZTovL3J1bi1wdGVzdCBcCisJICAgZmlsZTovLzAwMDEtZGVmaW5lLXJ1bi10ZXN0LXRhcmdldC5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImQzYmM4OGI3ZGRiOWYwNmQ2MDg5OGY0ODE2YWU5MTI3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ1MGMwOTEyMzVmODkxZWU4NzRhODY1MWIxNzljMzBmNTdhMTM5MWNhNWM0NjczMzU0NzQwYmE2NWU1Mjc4NjEiCisKKyMgQVJNIGRvZXMgbm90IGN1cnJlbnRseSBzdXBwb3J0IE5VTUEKK0NPTVBBVElCTEVfSE9TVCA9ICJeKCg/IWFybSkuKikkIgorCitkb19pbnN0YWxsKCkgeworICAgICAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBwcmVmaXg9JHtEfS91c3IgaW5zdGFsbAorCSNyZW1vdmUgdGhlIGVtcHR5IG1hbjIgZGlyZWN0b3J5CisJcm0gLXIgJHtEfSR7bWFuZGlyfS9tYW4yCit9CisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisJb2VfcnVubWFrZSB0ZXN0Cit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisJI2luc3RhbGwgdGVzdHMgYmluYXJpZXMKKyAgICAgICAgbG9jYWwgdGVzdF9iaW5hcmllcz0iZGlzdGFuY2UgZnRvayBtYmluZF9taWdfcGFnZXMgbWlncmF0ZV9wYWdlcyBtb3ZlX3BhZ2VzIFwKKwkJbXlub2RlCW5vZGVtYXAgbm9kZS1wYXJzZSBwYWdlc2l6ZSBwcmVmZXJlZCByYW5kbWFwIHJlYWxsb2NfdGVzdCBcCisJCXRiaXRtYXAgdHNoYXJlZCIKKworCVsgISAtZCAke0R9LyR7UFRFU1RfUEFUSH0vdGVzdCBdICYmIG1rZGlyIC1wICR7RH0vJHtQVEVTVF9QQVRIfS90ZXN0CisJZm9yIGkgaW4gJHRlc3RfYmluYXJpZXM7IGRvCisJCWluc3RhbGwgLW0gMDc1NSAke0J9L3Rlc3QvLmxpYnMvJGkgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdAorCWRvbmUKKworCWxvY2FsIHRlc3Rfc2NyaXB0cz0iY2hlY2t0b3BvbG9neSBjaGVja2FmZmluaXR5IHByaW50Y3B1IHJlZ3Jlc3MgcmVncmVzczIgXAorCQkJc2htdGVzdCAgcnVubHRwIGJpbmRfcmFuZ2UiCisJZm9yIGkgaW4gJHRlc3Rfc2NyaXB0czsgZG8KKwkJaW5zdGFsbCAtbSAwNzU1ICR7Qn0vdGVzdC8kaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0CisJZG9uZQorCisJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vTWFrZWZpbGUgJHtEfSR7UFRFU1RfUEFUSH0vCisJaW5zdGFsbCAtbSAwNzU1ICR7Qn0vLmxpYnMvbnVtYWN0bCAke0R9JHtQVEVTVF9QQVRIfS8KK30KKworUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiYmFzaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb2RlL29kZS9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29kZS9vZGUvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0NmIyZTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29kZS9vZGUvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiBvZGUtMC4xMy9saWJjY2QvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gb2RlLTAuMTMub3JpZy9saWJjY2QvY29uZmlndXJlLmFjCTIwMTMtMDgtMTkgMTc6NDg6MDMuMDAwMDAwMDAwICswMDAwCisrKysgb2RlLTAuMTMvbGliY2NkL2NvbmZpZ3VyZS5hYwkyMDE0LTA3LTE3IDIyOjA0OjE2LjU4MDU5NTY5MCArMDAwMAorQEAgLTUsNyArNSw3IEBACisgQUNfSU5JVChbbGliY2NkXSwgWzEuMF0sIFtkYW5maXNAZGFuZmlzLmN6XSkKKyBBQ19DT05GSUdfU1JDRElSKFtzcmMvY2NkLmNdKQorIEFDX0NPTkZJR19IRUFERVJTKFtzcmMvY29uZmlnLmhdKQorLUFNX0lOSVRfQVVUT01BS0UKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKKyAKKyAjIENoZWNrcyBmb3IgcHJvZ3JhbXMuCisgQUNfUFJPR19DWFgKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb2RlL29kZS9pbnN0YWxsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vZGUvb2RlL2luc3RhbGwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY2Y2RiMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb2RlL29kZS9pbnN0YWxsLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKKy0tLSBvZGUtMC45Lm9yaWcvTWFrZWZpbGUuYW0JMjAwNy0wMi0yMSAxNTo1NDo1NC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvZGUtMC45L01ha2VmaWxlLmFtCTIwMTAtMDgtMjEgMTY6MTU6NTUuMDAwMDAwMDAwICswMjAwCitAQCAtMjUsMTMgKzI1LDEzIEBACisgCisgaWYgVVNFX1NPTkFNRQorIGluc3RhbGwtZXhlYy1ob29rOgorLQlsbiAtcyAkKGxpYmRpcikvQE9ERV9TT05BTUVALkBPREVfUkVWSVNJT05ALkBPREVfQUdFQCBcCistCSQobGliZGlyKS9saWJvZGUuc28KKy0JbG4gLXMgJChsaWJkaXIpL0BPREVfU09OQU1FQC5AT0RFX1JFVklTSU9OQC5AT0RFX0FHRUAgXAorLQkkKGxpYmRpcikvQE9ERV9TT05BTUVACistCWxuIC1zICQobGliZGlyKS9AT0RFX1NPTkFNRUAuQE9ERV9SRVZJU0lPTkAuQE9ERV9BR0VAIFwKKy0JJChsaWJkaXIpL0BPREVfU09OQU1FQC5AT0RFX1JFVklTSU9OQAorLQkvc2Jpbi9sZGNvbmZpZworKwlsbiAtcyBAT0RFX1NPTkFNRUAuQE9ERV9SRVZJU0lPTkAuQE9ERV9BR0VAIFwKKysJJChERVNURElSKS8kKGxpYmRpcikvbGlib2RlLnNvCisrCWxuIC1zIEBPREVfU09OQU1FQC5AT0RFX1JFVklTSU9OQC5AT0RFX0FHRUAgXAorKwkkKERFU1RESVIpLyQobGliZGlyKS9AT0RFX1NPTkFNRUAKKysJbG4gLXMgQE9ERV9TT05BTUVALkBPREVfUkVWSVNJT05ALkBPREVfQUdFQCBcCisrCSQoREVTVERJUikvJChsaWJkaXIpL0BPREVfU09OQU1FQC5AT0RFX1JFVklTSU9OQAorKwllY2hvIC9zYmluL2xkY29uZmlnCisgZWxzZQorIGluc3RhbGwtZXhlYy1ob29rOgorIGVuZGlmCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29kZS9vZGVfMC4xMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb2RlL29kZV8wLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkYzgyYTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29kZS9vZGVfMC4xMy5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIk9ERSBpcyBhbiBPcGVuIFNvdXJjZSBQaHlzaWNzIEVuZ2luZSIKK1NFQ1RJT04gPSAibGlicyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub2RlLm9yZyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTFkZTkwNmVlOTY4MDhkOTc3NmRkNzJhNWY5YTc5YTIyIFwKKyAgICBmaWxlOi8vTElDRU5TRS5UWFQ7bWQ1PTc3MTc4MmNiNjI0NWM3ZmJiZTc0YmMwZWMwNTliZWZmIFwKKyIKKyMgTElDRU5TRS1CU0QuVFhUIGlzIG1pc3NpbmcgaW4gMC4xMyB0YXJiYWxsLCBidXQgQ09QWUlORyBzdGlsbCBzYXlzIGl0J3MgZHVhbCBsaWNlbnNlZAorIyBhbmQgc3ZuIHJlcG8gc3RpbGwgY29udGFpbnMgTElDRU5TRS1CU0QuVFhUIHNvIG1heWJlIGl0IHdpbGwgcmV0dXJuIGluIG5leHQgdGFyYmFsbAorIyBmaWxlOi8vTElDRU5TRS1CU0QuVFhUO21kNT1jNzRlNjMwNGE3NzIxMTdlMDU5NDU4ZmI5NzYzYTkyOAorCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L29wZW5kZS9vZGUtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiMDRiMzJjOTY0NWMxNDdlMThjYWZmN2E1OTdhMTlmODQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzRjZTNlMjM2ZTMxM2JmMTA5YTBjYjU1NDZkMmZjYTQ2MmFlZDk5ZjI5YTQyZTYyYmMxNDYzYjgwM2MzMWVmOSIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZGVtb3MgLS1lbmFibGUtc29uYW1lIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTfSIKKworUEFDS0FHRUNPTkZJRyA/PSAiIgorIyBpZiBpdCBpc24ndCBleHBsaWNpdGx5IHNlbGVjdGVkIGFuZCAiJGJ1aWxkX29zIiA9PSAiJHRhcmdldF9vcyIsIHRoZW4gY29uZmlndXJlIHdpbGwgcnVuCisjIHNlcmllcyBvZiBBQ19UUllfUlVOIHdoaWNoIHdvbid0IHdvcmsgZm9yIGNyb3NzLWNvbXBpbGF0aW9uIGFuZCBjb25maWd1cmUgZmFpbHMKK1BBQ0tBR0VDT05GSUdbZG91YmxlLXByZWNpc2lvbl0gPSAiLS1lbmFibGUtZG91YmxlLXByZWNpc2lvbiwtLWRpc2FibGUtZG91YmxlLXByZWNpc2lvbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb25pZy9maWxlcy9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29uaWcvZmlsZXMvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmYTcwMGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29uaWcvZmlsZXMvY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiBvbmlnLTUuOS4zL2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG9uaWctNS45LjMub3JpZy9jb25maWd1cmUuaW4JMjAxMi0xMC0yNiAwNzowNjoxNC4wMDAwMDAwMDAgKzAwMDAKKysrKyBvbmlnLTUuOS4zL2NvbmZpZ3VyZS5pbgkyMDE0LTA3LTE4IDA4OjAyOjUyLjcwMTU3NDQ4NCArMDAwMAorQEAgLTMsNyArMyw3IEBACisgCisgQUNfQ09ORklHX01BQ1JPX0RJUihbbTRdKQorIAorLUFNX0lOSVRfQVVUT01BS0UKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKKyBBQ19DT05GSUdfSEVBREVSKGNvbmZpZy5oKQorIAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vbmlnL2ZpbGVzL2RvLW5vdC11c2Utc3lzdGVtLWhlYWRlcnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29uaWcvZmlsZXMvZG8tbm90LXVzZS1zeXN0ZW0taGVhZGVycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTM2MDJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vbmlnL2ZpbGVzL2RvLW5vdC11c2Utc3lzdGVtLWhlYWRlcnMucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorQXV0aG9yOiBNYXJjaW4gSnVzemtpZXdpY3ogPG1hcmNpbi5qdXN6a2lld2ljekBsaW5hcm8ub3JnPgorCitXaGVuIGJ1aWxkIG9uIGhvc3Qgd2l0aCBvbGRlciBlZ2xpYmMgKFVidW50dSAxMi4wNCkgYnVpbGQgZmFpbHMgd2l0aDoKKworL3RtcC9PRS9idWlsZC90bXAtZWdsaWJjL3N5c3Jvb3RzL2dlbmVyaWNhcm12OC91c3IvaW5jbHVkZS9iaXRzL3ByZWRlZnMuaDoyMzozOiBlcnJvcjogI2Vycm9yICJOZXZlciB1c2UgPGJpdHMvcHJlZGVmcy5oPiBkaXJlY3RseTsgaW5jbHVkZSA8c3RkYy1wcmVkZWYuaD4gaW5zdGVhZC4iCisKK1NpZ25lZC1vZmYtYnk6IE1hcmNpbiBKdXN6a2lld2ljeiA8bWFyY2luLmp1c3praWV3aWN6QGxpbmFyby5vcmc+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKKy0tLQorIE1ha2VmaWxlLmFtICAgICAgICB8ICAgIDIgKy0KKyBzYW1wbGUvTWFrZWZpbGUuYW0gfCAgICAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKKy0tLSBvbmlnLTUuOS4zLm9yaWcvTWFrZWZpbGUuYW0KKysrKyBvbmlnLTUuOS4zL01ha2VmaWxlLmFtCitAQCAtNCwxMSArNCwxMSBAQCBzYW1wbGVkaXIgPSAkKHRvcF9zcmNkaXIpL3NhbXBsZQorIGxpYm5hbWUgPSBsaWJvbmlnLmxhCisKKyBBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBtNAorICNBTV9DRkxBR1MgPSAtRE5PVF9SVUJZCisgQU1fQ0ZMQUdTID0KKy1JTkNMVURFUyAgPSAtSSQodG9wX3NyY2RpcikgLUkkKGluY2x1ZGVkaXIpCisrSU5DTFVERVMgID0gLUkkKHRvcF9zcmNkaXIpCisKKyBTVUJESVJTID0gLiBzYW1wbGUKKworIGluY2x1ZGVfSEVBREVSUyA9IG9uaWd1cnVtYS5oIG9uaWdnbnUuaCBvbmlncG9zaXguaAorIGxpYl9MVExJQlJBUklFUyA9ICQobGlibmFtZSkKKy0tLSBvbmlnLTUuOS4zLm9yaWcvc2FtcGxlL01ha2VmaWxlLmFtCisrKysgb25pZy01LjkuMy9zYW1wbGUvTWFrZWZpbGUuYW0KK0BAIC0xLDEwICsxLDEwIEBACisgbm9pbnN0X1BST0dSQU1TID0gZW5jb2RlIGxpc3RjYXAgbmFtZXMgcG9zaXggc2ltcGxlIHNxbCBzeW50YXggY3JubAorCisgbGlibmFtZSA9ICQodG9wX2J1aWxkZGlyKS9saWJvbmlnLmxhCisgTERBREQgICA9ICQobGlibmFtZSkKKy1JTkNMVURFUyAgPSAtSSQodG9wX3NyY2RpcikgLUkkKGluY2x1ZGVkaXIpCisrSU5DTFVERVMgID0gLUkkKHRvcF9zcmNkaXIpCisKKyBlbmNvZGVfU09VUkNFUyAgPSBlbmNvZGUuYworIGxpc3RjYXBfU09VUkNFUyA9IGxpc3RjYXAuYworIG5hbWVzX1NPVVJDRVMgICA9IG5hbWVzLmMKKyBwb3NpeF9TT1VSQ0VTICAgPSBwb3NpeC5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29uaWcvb25pZ181LjkuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb25pZy9vbmlnXzUuOS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyZGI3OGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29uaWcvb25pZ181LjkuMy5iYgpAQCAtMCwwICsxLDE3IEBACitERVNDUklQVElPTiA9ICJSZWd1bGFyIGV4cHJlc3Npb25zIGxpYnJhcnkuIFRoZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhpcyBcCitsaWJyYXJ5IGlzIHRoYXQgZGlmZmVyZW50IGNoYXJhY3RlciBlbmNvZGluZyBmb3IgZXZlcnkgcmVndWxhciBleHByZXNzaW9uIFwKK29iamVjdCBjYW4gYmUgc3BlY2lmaWVkLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ2VvY2l0aWVzLmpwL2tvc2FrbzMvb25pZ3VydW1hLyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGQ0ODYxYjViYzBjMzkyYTVhYTkwZDlkNzZlYmQ4NmYiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5nZW9jaXRpZXMuanAva29zYWtvMy9vbmlndXJ1bWEvYXJjaGl2ZS9vbmlnLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9kby1ub3QtdXNlLXN5c3RlbS1oZWFkZXJzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjBkNGVkYTIwNjZkM2M5Mjk3MDg0MmE2NzkwY2U4OTdhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImMzYmJhNjZiMmE4NDc2MGU2NTgyYzQwODgxZGI5N2M4MzlkOTRmMzI3ODcwMDA5NzI0YmI4YjRkMGMwNTFmMmEiCisKK0RFUEVORFMgPSAibGliZXZlbnQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuLXZjZGlmZi9vcGVuLXZjZGlmZl8wLjguNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12Y2RpZmYvb3Blbi12Y2RpZmZfMC44LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5NDJkMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12Y2RpZmYvb3Blbi12Y2RpZmZfMC44LjQuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJBbiBlbmNvZGVyL2RlY29kZXIgZm9yIHRoZSBWQ0RJRkYgKFJGQzMyODQpIGZvcm1hdCIKK0RFU0NSSVBUSU9OID0gIkEgbGlicmFyeSB3aXRoIGEgc2ltcGxlIEFQSSBpcyBpbmNsdWRlZCwgYXMgd2VsbCBhcyBhIFwKKyAgICAgICAgICAgICAgIGNvbW1hbmQtbGluZSBleGVjdXRhYmxlIHRoYXQgY2FuIGFwcGx5IHRoZSBlbmNvZGVyIGFuZCBcCisgICAgICAgICAgICAgICBkZWNvZGVyIHRvIHNvdXJjZSwgdGFyZ2V0LCBhbmQgZGVsdGEgZmlsZXMuIFwKKyAgICAgICAgICAgICAgIEEgc2xpZ2h0IHZhcmlhdGlvbiBmcm9tIHRoZSBkcmFmdCBzdGFuZGFyZCBpcyBkZWZpbmVkIFwKKyAgICAgICAgICAgICAgIHRvIGFsbG93IGNodW5rLWJ5LWNodW5rIGRlY29kaW5nIHdoZW4gb25seSBhIHBhcnRpYWwgXAorICAgICAgICAgICAgICAgZGVsdGEgZmlsZSB3aW5kb3cgaXMgYXZhaWxhYmxlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9vcGVuLXZjZGlmZi8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZmODIwZDRkZGMxYmEwNWI2ZmQzN2I0MWEyMTUwNmY5IgorCitTUkNfVVJJID0gImh0dHBzOi8vZHJpdmUuZ29vZ2xlLmNvbS91Yz9pZD0wQjVXcElpMmZRVTFhTkdKd1ZFOWhValU1Y2xVJmV4cG9ydD1kb3dubG9hZDtkb3dubG9hZGZpbGVuYW1lPSR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1YzBkMzc4ZDkwN2JlYmMzOGI1MWMzZDdlNDExNzAxMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyYjE0MmIxMDI3ZmIwYTYyYzQxMzQ3NjAwZTAxYTUzZmEyNzRkYWQxNTQ0NWE3ZGE0ODA4M2M4MzBjMzEzOGIzIgorCitpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L2V0Yy1vcGVuY3QudWRldi5pbi1kaXNhYmxlUFJPR1JBTS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9ldGMtb3BlbmN0LnVkZXYuaW4tZGlzYWJsZVBST0dSQU0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ1ZjkyMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9ldGMtb3BlbmN0LnVkZXYuaW4tZGlzYWJsZVBST0dSQU0ucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSBlMGQzZTBiYjFlMzhmZjg1MTY5NmE3ZDg4MjZlNjUxZDM2NGFkOGNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogRnJpLCA1IERlYyAyMDE0IDAyOjAwOjU3ICswOTAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBldGMvb3BlbmN0LnVkZXYuaW46IGRpc2FibGVQUk9HUkFNCisKK0J1ZyBmaXg6IGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9Mjg3ODcxCisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBldGMvb3BlbmN0LnVkZXYuaW4gfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2V0Yy9vcGVuY3QudWRldi5pbiBiL2V0Yy9vcGVuY3QudWRldi5pbgoraW5kZXggZDExZDBlMS4uNDgwODNjOSAxMDA2NDQKKy0tLSBhL2V0Yy9vcGVuY3QudWRldi5pbgorKysrIGIvZXRjL29wZW5jdC51ZGV2LmluCitAQCAtMjIsNyArMjIsOCBAQCBBQ1RJT04hPSJhZGQiLCBHT1RPPSJvcGVuY3RfdXNiX3J1bGVzX2VuZCIKKyAjIDIwMTAtMDEtMDYgcmVtb3ZlZCwgYXMgbGF0ZXN0IHVkZXYgZG9lc24ndCBrbm93IFdBSVRfRk9SX0FUVFIgYW55IG1vcmUuCisgCisgIyBzbGVlcCBmb3IgMTAwbXMgLSB0aGUgd2FpdF9mb3Jfc3lzZnMgbWlnaHQgbm90IGJlIGVub3VnaAorLVBST0dSQU09Ii9iaW4vc2xlZXAgMC4xIgorKyMgRGlzYWJsZWQgaW4gdGhpcyBwYWNrYWdlIC0gc2VlIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS8yODc4NzEKKysjIFBST0dSQU09Ii9iaW4vc2xlZXAgMC4xIgorIAorICMgY2NpZAorIEFUVFJ7YkludGVyZmFjZUNsYXNzfT09IjBiIiwgQVRUUntiSW50ZXJmYWNlU3ViQ2xhc3N9PT0iMDAiLCBBVFRSe2JJbnRlcmZhY2VQcm90b2NvbH09PSIwMCIsIEFUVFJTe2lkVmVuZG9yfT09Ij8qIiAgUlVOKz0iQHVkZXZkaXJAL29wZW5jdF91c2IgL2Rldi8kcGFyZW50IgorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9ldGMtb3BlbmN0X3VzYi5pbi1tb2RpZnktVURFVklORk8ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3QvZXRjLW9wZW5jdF91c2IuaW4tbW9kaWZ5LVVERVZJTkZPLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1ZTNmZTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3QvZXRjLW9wZW5jdF91c2IuaW4tbW9kaWZ5LVVERVZJTkZPLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gZDkzOTg1YTEzN2I1NTNiMjcyMzIzNWQwM2JkYTM0MWRhYjE0MDY0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IEZyaSwgNSBEZWMgMjAxNCAwMjowNDowMyArMDkwMAorU3ViamVjdDogW1BBVENIIDIvMl0gZXRjL29wZW5jdF91c2IuaW46IG1vZGlmeSBVREVWSU5GTworCit0aGlzIHBhdGNoIGlzIGZyb20gRmVkb3JhCisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBldGMvb3BlbmN0X3VzYi5pbiB8IDYgKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2V0Yy9vcGVuY3RfdXNiLmluIGIvZXRjL29wZW5jdF91c2IuaW4KK2luZGV4IDMyZjkxYWEuLjkxNzQ2N2QgMTAwNjQ0CistLS0gYS9ldGMvb3BlbmN0X3VzYi5pbgorKysrIGIvZXRjL29wZW5jdF91c2IuaW4KK0BAIC0xNSwxMCArMTUsMTAgQEAgaWYgWyAteiAiJERFVk5BTUUiIF07IHRoZW4KKyAJIyBHdWVzcyB1ZGV2IGluZm8gaW50ZXJmYWNlLgorIAkjIE5ld2VyIHVkZXYgdXNlcyB1ZGV2YWRtCisgCSMKKy0JaWYgd2hpY2ggdWRldmluZm8gPiAvZGV2L251bGwgMj4mMTsgdGhlbgorLQkJVURFVklORk89InVkZXZpbmZvIgorLQllbHNlCisrCWlmIHdoaWNoIHVkZXZhZG0gPiAvZGV2L251bGwgMj4mMTsgdGhlbgorIAkJVURFVklORk89InVkZXZhZG0gaW5mbyIKKysJZWxzZQorKwkJVURFVklORk89InVkZXZpbmZvIgorIAlmaQorIAlERVZOQU1FPS9kZXYvJCgkVURFVklORk8gLS1xdWVyeT1uYW1lIC0tcGF0aD0kKGRpcm5hbWUgJERFVlBBVEgpKQorIGZpCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L29wZW5jdC5pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L29wZW5jdC5pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2ODk2MDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3Qvb3BlbmN0LmluaXQKQEAgLTAsMCArMSw4OSBAQAorIyEvYmluL3NoCisjCisjIG9wZW5jdCAgICAgICBUaGlzIHNoZWxsIHNjcmlwdCB0YWtlcyBjYXJlIG9mIHN0YXJ0aW5nIGFuZCBzdG9wcGluZyBPcGVuQ1QuCisjCisjIGNoa2NvbmZpZzogICAyMzQ1IDI0IDg5CisjIGRlc2NyaXB0aW9uOiBPcGVuQ1QgaXMgYSBtaWRkbGV3YXJlIGZyYW1ld29yayBmb3Igc21hcnQgY2FyZCB0ZXJtaW5hbHMuCisjCisjIHByb2Nlc3NuYW1lOiBpZmRoYW5kbGVyCisjIGNvbmZpZzogICAgICAvZXRjL29wZW5jdC5jb25mCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6IG9wZW5jdAorIyBEZWZhdWx0LVN0YXJ0OiAyIDMgNCA1CisjIERlZmF1bHQtU3RvcDogMCAxIDYKKyMgU2hvdWxkLVN0YXJ0OiAkc3lzbG9nICRuZXR3b3JrCisjIFNob3VsZC1TdG9wOiAkc3lzbG9nICRuZXR3b3JrCisjIFNob3J0LURlc2NyaXB0aW9uOiBNaWRkbGV3YXJlIGZyYW1ld29yayBmb3Igc21hcnQgY2FyZCB0ZXJtaW5hbHMKKyMgRGVzY3JpcHRpb246IFRoaXMgc3RhcnRzL3N0b3BzIHRoZSBPcGVuQ1QgbWlkZGxld2FyZSBmcmFtZXdvcmsgc3VwcG9ydAorIyAgICAgICAgICAgICAgZm9yIHNtYXJ0IGNhcmQgdGVybWluYWxzLgorIyMjIEVORCBJTklUIElORk8KKworLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworZXhlYz0iL3Vzci9zYmluL29wZW5jdC1jb250cm9sIgorcHJvZz1vcGVuY3QKK3Byb2M9aWZkaGFuZGxlcgorCitPUEVOQ1RfT1BUSU9OUz0KK1sgLWUgL2V0Yy9zeXNjb25maWcvJHByb2cgXSAmJiAuIC9ldGMvc3lzY29uZmlnLyRwcm9nCisKK2xvY2tmaWxlPS92YXIvbG9jay9zdWJzeXMvJHByb2cKKworc3RhcnQoKSB7CisgICAgcmV0dmFsPTAKKyAgICBpZiAhIHN0YXR1cyAkcHJvYyA+L2Rldi9udWxsIDI+JjEgOyB0aGVuCisgICAgICAgIGFjdGlvbiAkIkluaXRpYWxpemluZyBPcGVuQ1Qgc21hcnQgY2FyZCB0ZXJtaW5hbHM6ICIgXAorICAgICAgICAgICAgJGV4ZWMgJE9QRU5DVF9PUFRJT05TIGluaXQKKyAgICAgICAgcmV0dmFsPSQ/CisgICAgICAgIFsgJHJldHZhbCAtZXEgMCBdICYmIHRvdWNoICRsb2NrZmlsZQorICAgIGZpCisgICAgcmV0dXJuICRyZXR2YWwKK30KKworc3RvcCgpIHsKKyAgICBpZiBzdGF0dXMgJHByb2MgPi9kZXYvbnVsbCAyPiYxIDsgdGhlbgorICAgICAgICBhY3Rpb24gJCJTdG9wcGluZyBPcGVuQ1Qgc21hcnQgY2FyZCB0ZXJtaW5hbHM6ICIgXAorICAgICAgICAgICAgJGV4ZWMgJE9QRU5DVF9PUFRJT05TIHNodXRkb3duCisgICAgZmkKKyAgICByZXR2YWw9JD8KKyAgICBpZiBbICRyZXR2YWwgLWVxIDAgXSA7IHRoZW4KKyAgICAgICAgcm0gLWYgL3Zhci9ydW4vb3BlbmN0L3N0YXR1cworICAgICAgICBybSAtZiAkbG9ja2ZpbGUKKyAgICBmaQorICAgIHJldHVybiAkcmV0dmFsCit9CisKK3Jlc3RhcnQoKSB7CisgICAgc3RvcAorICAgIHN0YXJ0Cit9CisKK29jdF9zdGF0dXMoKSB7CisgICAgc3RhdHVzICRwcm9jCisgICAgcmV0dmFsPSQ/CisgICAgaWYgWyAtZSAvdmFyL3J1bi9vcGVuY3Qvc3RhdHVzIF0gOyB0aGVuCisgICAgICAgICRleGVjICRPUEVOQ1RfT1BUSU9OUyBzdGF0dXMKKyAgICAgICAgWyAtZSAvdmFyL3J1bi9vcGVuY3Qvc3RhdHVzIF0gJiYgXAorICAgICAgICAgICAgZWNobyAkIldhaXRpbmcgZm9yIHJlYWRlciBhdHRhY2gvZGV0YWNoIGV2ZW50cy4uLiIKKyAgICBmaQorICAgIHJldHVybiAkcmV0dmFsCit9CisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0fHN0b3B8cmVzdGFydCkKKyAgICAgICAgJDEKKyAgICAgICAgOzsKKyAgICByZWxvYWR8Zm9yY2UtcmVsb2FkKQorICAgICAgICByZXN0YXJ0CisgICAgICAgIDs7CisgICAgc3RhdHVzKQorICAgICAgICBvY3Rfc3RhdHVzCisgICAgICAgIDs7CisgICAgdHJ5LXJlc3RhcnR8Y29uZHJlc3RhcnQpCisgIAlbICEgLWYgJGxvY2tmaWxlIF0gfHwgcmVzdGFydAorCTs7CisgICAgKikKKyAgICAgICAgZWNobyAkIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHx0cnktcmVzdGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfSIKKyAgICAgICAgZXhpdCAyCitlc2FjCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3Qvb3BlbmN0LnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3Qvb3BlbmN0LnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzllYzQ5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdC9vcGVuY3Quc2VydmljZQpAQCAtMCwwICsxLDEzIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPU9wZW5jdCBNaWRkbGV3YXJlIGZyYW1ld29yayBmb3Igc21hcnQgY2FyZCB0ZXJtaW5hbHMKK0FmdGVyPXN5c2xvZy50YXJnZXQgbmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitFbnZpcm9ubWVudEZpbGU9LS9ldGMvc3lzY29uZmlnL29wZW5jdAorRXhlY1N0YXJ0PS91c3Ivc2Jpbi9vcGVuY3QtY29udHJvbCAkT1BFTkNUX09QVElPTlMgaW5pdCAKK0V4ZWNTdG9wPS91c3Ivc2Jpbi9vcGVuY3QtY29udHJvbCAkT1BFTkNUX09QVElPTlMgc2h1dGRvd24KK1JlbWFpbkFmdGVyRXhpdD15ZXMKK0tpbGxNb2RlPW5vbmUKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L29wZW5jdC5zeXNjb25maWcgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdC9vcGVuY3Qvb3BlbmN0LnN5c2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZmMyNzA3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0L29wZW5jdC5zeXNjb25maWcKQEAgLTAsMCArMSw1IEBACisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gc2ggLSotCisjIEV4dHJhIG9wdGlvbnMgdG8gcGFzcyB0byBvcGVuY3QtY29udHJvbC4KKyMgQ29uc3VsdCAiL3Vzci9zYmluL29wZW5jdC1jb250cm9sIC1oIiBmb3IgYXZhaWxhYmxlIG9wdGlvbnMuCisjCitPUEVOQ1RfT1BUSU9OUz0iIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Qvb3BlbmN0XzAuNi4yMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdF8wLjYuMjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmYxZmY1NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN0L29wZW5jdF8wLjYuMjAuYmIKQEAgLTAsMCArMSw5MiBAQAorU3VtbWFucnkgPSAiTWlkZGxld2FyZSBmcmFtZXdvcmsgZm9yIHNtYXJ0IGNhcmQgdGVybWluYWxzIgorREVTQ1JJUFRJT04gPSAiIFwKK09wZW5DVCBpbXBsZW1lbnRzIGRyaXZlcnMgZm9yIHNldmVyYWwgc21hcnQgY2FyZCByZWFkZXJzLiBcCitJdCBjb21lcyBhcyBkcml2ZXIgaW4gaWZkaGFuZGxlciBmb3JtYXQgZm9yIFBDL1NDLUxpdGUsIFwKK2FzIENULUFQSSBkcml2ZXIsIG9yIGFzIGEgc21hbGwgYW5kIGxlYW4gbWlkZGxld2FyZSwgXAorc28gYXBwbGljYXRpb25zIGNhbiB1c2UgaXQgd2l0aCBtaW5pbWFsIG92ZXJoZWFkLiBcCitPcGVuQ1QgYWxzbyBoYXMgYSBwcmltaXRpdmUgbWVjaGFuaXNtIHRvIGV4cG9ydCBzbWFydCBjYXJkIFwKK3JlYWRlcnMgdG8gcmVtb3RlIG1hY2hpbmVzIHZpYSBUQ1AvSVAuIgorCitERVBFTkRTICs9ICJsaWJ0b29sIHBjc2MtbGl0ZSBsaWJ1c2ItY29tcGF0IgorCitTUkNfVVJJID0gIiBcCisgICAgJHtERUJJQU5fTUlSUk9SfS9tYWluL28vJHtCUE59LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5neiBcCisgICAgZmlsZTovL2V0Yy1vcGVuY3QudWRldi5pbi1kaXNhYmxlUFJPR1JBTS5wYXRjaCBcCisgICAgZmlsZTovL2V0Yy1vcGVuY3RfdXNiLmluLW1vZGlmeS1VREVWSU5GTy5wYXRjaCBcCisgICAgZmlsZTovL29wZW5jdC5pbml0IFwKKyAgICBmaWxlOi8vb3BlbmN0LnN5c2NvbmZpZyBcCisgICAgZmlsZTovL29wZW5jdC5zZXJ2aWNlIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImExZGEzMzU4YWI3OThmMWNiOTIzMmYxZGJhYmFiYzIxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZjZDNlMjkzM2QyOWViMWY4NzVjODM4ZWU1OGI4MDcxZmQ2MWYwZWM4ZWQ1OTIyYTg2YzAxYzgwNWQxODFhNjgiCisKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xHUEwtMi4xO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSIKKworaW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnVklSVFVBTC1SVU5USU1FX2luaXRfbWFuYWdlcicsJ3N5c3RlbWQnLCdzeXN0ZW1kJywnJywgZCl9CitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gKz0gIm9wZW5jdC5zZXJ2aWNlICIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZW5hYmxlIgorCitFWFRSQV9PRUNPTkY9IiBcCisgICAgLS1kaXNhYmxlLXN0YXRpYyBcCisgICAgLS1lbmFibGUtdXNiIFwKKyAgICAtLWVuYWJsZS1wY3NjIFwKKyAgICAtLWVuYWJsZS1kb2MgXAorICAgIC0tZW5hYmxlLWFwaS1kb2MgXAorICAgIC0td2l0aC11ZGV2PS9saWIvdWRldiBcCisgICAgLS13aXRoLWJ1bmRsZT0ke2xpYmRpcn0vcGNzYy9kcml2ZXJzIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7bGliZGlyfS9jdGFwaSBcCisgICAgL2xpYi91ZGV2IFwKKyAgICAke2xpYmRpcn0vb3BlbmN0LWlmZC5zbyBcCisgICAgJHtsaWJkaXJ9L3Bjc2MgXAorICAgIC9ydW4vb3BlbmN0L3N0YXR1cyBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiIFwKKyAgICAke2xpYmRpcn0vY3RhcGkvLmRlYnVnIFwKKyAgICAke2xpYmRpcn0vcGNzYy9kcml2ZXJzL29wZW5jdC1pZmQuYnVuZGxlL0NvbnRlbnRzL0xpbnV4Ly5kZWJ1ZyBcCisiCisKK0lOU0FORV9TS0lQXyR7UE59ICs9ICJkZXYtZGVwcyIKKworCitkb19pbnN0YWxsICgpIHsKKyAgICBybSAtcmYgJHtEfQorICAgIGluc3RhbGwgLWQgJHtEfS9ldGMKKyAgICBpbnN0YWxsIC1kbSA3NTUgJHtEfS9saWIvdWRldgorICAgICMgZml4IHVwIGhhcmRjb2RlZCBwYXRocworICAgIHNlZCAtaSAtZSAncywvZXRjLywke3N5c2NvbmZkaXJ9LywnIC1lICdzLC91c3Ivc2Jpbi8sJHtzYmluZGlyfS8sJyBcCisgICAgICAgICR7V09SS0RJUn0vb3BlbmN0LnNlcnZpY2UgJHtXT1JLRElSfS9vcGVuY3QuaW5pdAorCisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorICAgIGluc3RhbGwgLWRtIDc1NSAke0R9JHtsaWJkaXJ9L2N0YXBpLworICAgIG12ICR7RH0ke2xpYmRpcn0vbGlib3BlbmN0YXBpLnNvICR7RH0ke2xpYmRpcn0vY3RhcGkvCisgICAgaW5zdGFsbCAtRHBtIDY0NCBldGMvb3BlbmN0LnVkZXYgJHtEfS9ldGMvdWRldi9ydWxlcy5kLzYwLW9wZW5jdC5ydWxlcworICAgIGluc3RhbGwgLXBtIDY0NCBldGMvb3BlbmN0LmNvbmYgJHtEfS9ldGMvb3BlbmN0LmNvbmYKKworICAgIGluc3RhbGwgLURwbSA3NTUgJHtXT1JLRElSfS9vcGVuY3QuaW5pdCAke0R9L2V0Yy9pbml0LmQvb3BlbmN0CisgICAgaW5zdGFsbCAtRHBtIDY0NCAke1dPUktESVJ9L29wZW5jdC5zeXNjb25maWcgJHtEfS9ldGMvc3lzY29uZmlnL29wZW5jdAorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L29wZW5jdC5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGZpCisKKyAgICBzbz0kKGZpbmQgJHtEfSAtbmFtZSBcKi5zbyB8IHNlZCAic3xeJHtEfXx8IikKKyAgICBzZWQgLWkgLWUgJ3N8XFwoTElCUEFUSFxccypcXCkuKnxcXDEkc298JyBldGMvcmVhZGVyLmNvbmYKKyAgICBpbnN0YWxsIC1EcG0gNjQ0IGV0Yy9yZWFkZXIuY29uZiAke0R9L2V0Yy9yZWFkZXIuY29uZi5kL29wZW5jdC5jb25mCisKKyAgICBpbnN0YWxsIC1kbSA3NTUgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuL29wZW5jdAorICAgIHRvdWNoICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9vcGVuY3Qvc3RhdHVzCisgICAgY2htb2QgNjQ0ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9vcGVuY3Qvc3RhdHVzCit9CisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgbG4gLXNmIGN0YXBpL2xpYm9wZW5jdGFwaS5zbyAke2xpYmRpcn0vbGlib3BlbmN0YXBpLnNvCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3Ytc2FtcGxlc18yLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3Ytc2FtcGxlc18yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNhYWU0YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdi1zYW1wbGVzXzIuNC5iYgpAQCAtMCwwICsxLDQxIEBACitTVU1NQVJZID0gIk9wZW5jdiA6IFRoZSBPcGVuIENvbXB1dGVyIFZpc2lvbiBMaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL29wZW5jdi53aWxsb3dnYXJhZ2UuY29tL3dpa2kvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJCU0QiCisKK0RFUEVORFMgPSAib3BlbmN2IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9pbmNsdWRlL29wZW5jdjIvb3BlbmN2LmhwcDtlbmRsaW5lPTQxO21kNT02ZDY5MGQ4NDg4YTZmY2E3YTJjMTkyOTMyNDY2YmIxNCBcCisiCitTUkNSRVYgPSAiNmZhZTA3YmE4ODY3YjhmZDJjNTMzNDRhNzc0YWFiNjY5YWZhN2M1ZSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9JdHNlZXovb3BlbmN2LmdpdDticmFuY2g9Mi40IFwKKyAgICAgICAgICAiCitQViA9ICIyLjQuMytnaXQke1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9faW5zdGFsbCgpIHsKKyAgICBjZCBzYW1wbGVzL2MKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vb3BlbmN2L3NhbXBsZXMKKworICAgIGNwICogJHtEfS8ke2RhdGFkaXJ9L29wZW5jdi9zYW1wbGVzIHx8IHRydWUKKworICAgIGZvciBpIGluICouYzsgZG8KKyAgICAgICAgZWNobyAiY29tcGlsaW5nICRpIgorICAgICAgICAke0NYWH0gJHtDRkxBR1N9ICR7TERGTEFHU30gLWdnZGIgYHBrZy1jb25maWcgLS1jZmxhZ3Mgb3BlbmN2YCAtbyBgYmFzZW5hbWUgJGkgLmNgICRpIGBwa2ctY29uZmlnIC0tbGlicyBvcGVuY3ZgIHx8IHRydWUKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1IGBiYXNlbmFtZSAkaSAuY2AgJHtEfS8ke2JpbmRpcn0gfHwgdHJ1ZQorICAgICAgICBybSAke0R9LyR7ZGF0YWRpcn0vb3BlbmN2L3NhbXBsZXMvYGJhc2VuYW1lICRpIC5jYCB8fCB0cnVlCisgICAgZG9uZQorICAgIGZvciBpIGluICouY3BwOyBkbworICAgICAgICBlY2hvICJjb21waWxpbmcgJGkiCisgICAgICAgICR7Q1hYfSAke0NGTEFHU30gJHtMREZMQUdTfSAtZ2dkYiBgcGtnLWNvbmZpZyAtLWNmbGFncyBvcGVuY3ZgIC1vIGBiYXNlbmFtZSAkaSAuY3BwYCAkaSBgcGtnLWNvbmZpZyAtLWxpYnMgb3BlbmN2YCB8fCB0cnVlCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSBgYmFzZW5hbWUgJGkgLmNwcGAgJHtEfS8ke2JpbmRpcn0gfHwgdHJ1ZQorICAgICAgICBybSAke0R9LyR7ZGF0YWRpcn0vb3BlbmN2L3NhbXBsZXMvYGJhc2VuYW1lICRpIC5jcHBgIHx8IHRydWUKKyAgICBkb25lCit9CisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtkYXRhZGlyfS9vcGVuY3Yvc2FtcGxlcy8qLmMqICR7ZGF0YWRpcn0vb3BlbmN2L3NhbXBsZXMvKi52Y3AqICR7ZGF0YWRpcn0vb3BlbmN2L3NhbXBsZXMvYnVpbGQqIiAKK0ZJTEVTXyR7UE59ICs9ICIke2JpbmRpcn0gJHtkYXRhZGlyfS9vcGVuY3YiCisKK1BOQkxBQ0tMSVNUW29wZW5jdi1zYW1wbGVzXSA/PSAiRGVwZW5kcyBvbiBibGFja2xpc3RlZCBvcGVuY3YiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS0zcmRwYXJ0eS1pcHBpY3YtVXNlLXByZS1kb3dubG9hZGVkLWlwcC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdi8wMDAxLTNyZHBhcnR5LWlwcGljdi1Vc2UtcHJlLWRvd25sb2FkZWQtaXBwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NjgwMTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS0zcmRwYXJ0eS1pcHBpY3YtVXNlLXByZS1kb3dubG9hZGVkLWlwcC5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIDA0OWY5MzEyMDc2MzFhYTU0YWY1NWEyOTE3MzE4ZDAzMmIyZWYzZmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSaWNhcmRvIFJpYmFsZGEgRGVsZ2FkbyA8cmljYXJkby5yaWJhbGRhQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMzEgTWFyIDIwMTYgMDA6MjA6MTUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gM3JkcGFydHkvaXBwaWN2OiBVc2UgcHJlLWRvd25sb2FkZWQgaXBwCisKK1NpZ25lZC1vZmYtYnk6IFJpY2FyZG8gUmliYWxkYSBEZWxnYWRvIDxyaWNhcmRvLnJpYmFsZGFAZ21haWwuY29tPgorLS0tCisgM3JkcGFydHkvaXBwaWN2L2Rvd25sb2FkZXIuY21ha2UgfCAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvM3JkcGFydHkvaXBwaWN2L2Rvd25sb2FkZXIuY21ha2UgYi8zcmRwYXJ0eS9pcHBpY3YvZG93bmxvYWRlci5jbWFrZQoraW5kZXggYTYwMTZkYmUxMGJjLi5hZjQwNjJjOGU5NWUgMTAwNjQ0CistLS0gYS8zcmRwYXJ0eS9pcHBpY3YvZG93bmxvYWRlci5jbWFrZQorKysrIGIvM3JkcGFydHkvaXBwaWN2L2Rvd25sb2FkZXIuY21ha2UKK0BAIC0zMSw4ICszMSwxMCBAQCBmdW5jdGlvbihfaWN2X2Rvd25sb2FkZXIpCisgICAgIHJldHVybigpICMgTm90IHN1cHBvcnRlZAorICAgZW5kaWYoKQorIAorKyAgaWYoTk9UIERFRklORUQgT1BFTkNWX0lDVl9QQVRIKQorICAgc2V0KE9QRU5DVl9JQ1ZfVU5QQUNLX1BBVEggIiR7Q01BS0VfQ1VSUkVOVF9MSVNUX0RJUn0vdW5wYWNrIikKKyAgIHNldChPUEVOQ1ZfSUNWX1BBVEggIiR7T1BFTkNWX0lDVl9VTlBBQ0tfUEFUSH0ke09QRU5DVl9JQ1ZfUEFDS0FHRV9TVUJESVJ9IikKKysgIGVuZGlmKCkKKyAKKyAgIGlmKERFRklORUQgT1BFTkNWX0lDVl9QQUNLQUdFX0RPV05MT0FERUQKKyAgICAgICAgQU5EIE9QRU5DVl9JQ1ZfUEFDS0FHRV9ET1dOTE9BREVEIFNUUkVRVUFMIE9QRU5DVl9JQ1ZfUEFDS0FHRV9IQVNICistLSAKKzIuOC4wLnJjMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1Vc2UtX192ZWN0b3ItaW5zdGVhZC1vZi12ZWN0b3ItYXMtc3VnZ2VzdHMtRWlnZW4ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1Vc2UtX192ZWN0b3ItaW5zdGVhZC1vZi12ZWN0b3ItYXMtc3VnZ2VzdHMtRWlnZW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y4MDliYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdi8wMDAxLVVzZS1fX3ZlY3Rvci1pbnN0ZWFkLW9mLXZlY3Rvci1hcy1zdWdnZXN0cy1FaWdlbi5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitGcm9tIDcxMWYwN2EzNGNlYjUwNGU4Zjc1ZTk3ODY5MjIwMWVmYTU4MjY4Y2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEaW5hciBWYWxlZXYgPGR2YWxlZXZAc3VzZS5jb20+CitEYXRlOiBUaHUsIDE2IEphbiAyMDE0IDIxOjUzOjQ5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBfX3ZlY3RvciBpbnN0ZWFkIG9mIHZlY3RvciBhcyBzdWdnZXN0cyBFaWdlbgorCitUaGlzIGZpeGVzIGJ1aWxkIG9uIFBvd2VyUEMgd2hlcmUgRWlnZW4gdW5zZXRzIHZlY3RvciwgYm9vbCBhbmQgcGl4ZWwKKworU2lnbmVkLW9mZi1ieTogRGluYXIgVmFsZWV2IDxkdmFsZWV2QHN1c2UuY29tPgorCitUaGlzIHBhdGNoIGlzIGFscmVhZHkgcGFydCBvZiBPcGVuQ1YgdjMuMC4gVGhlIHBhdGNoIGNhbiBiZSBvYnRhaW5lZAorZnJvbToKKworICBodHRwczovL2dpdGh1Yi5jb20vSXRzZWV6L29wZW5jdi9jb21taXQvNzExZjA3YTM0Y2ViNTA0ZThmNzVlOTc4NjkyMjAxZWZhNTgyNjhjYS5wYXRjaAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtjb21taXQgNzExZjA3YTM0YywgcGFydCBvZiB2ZXJzaW9uIDMuMF0KKworU2lnbmVkLW9mZi1ieTogTHVrYXMgQnVsd2FobiA8bHVrYXMuYnVsd2FobkBvc3MuYm13LWNhcml0LmRlPgorLS0tCisgM3JkcGFydHkvaW5jbHVkZS9vcGVuY2wvMS4yL0NML2NsX3BsYXRmb3JtLmggfCAxNCArKysrKysrLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS8zcmRwYXJ0eS9pbmNsdWRlL29wZW5jbC8xLjIvQ0wvY2xfcGxhdGZvcm0uaCBiLzNyZHBhcnR5L2luY2x1ZGUvb3BlbmNsLzEuMi9DTC9jbF9wbGF0Zm9ybS5oCitpbmRleCBlOTQ5NDlhLi40MmMzNWQ1IDEwMDY0NAorLS0tIGEvM3JkcGFydHkvaW5jbHVkZS9vcGVuY2wvMS4yL0NML2NsX3BsYXRmb3JtLmgKKysrKyBiLzNyZHBhcnR5L2luY2x1ZGUvb3BlbmNsLzEuMi9DTC9jbF9wbGF0Zm9ybS5oCitAQCAtMzMyLDEzICszMzIsMTMgQEAgdHlwZWRlZiB1bnNpZ25lZCBpbnQgY2xfR0xlbnVtOworIC8qIERlZmluZSBiYXNpYyB2ZWN0b3IgdHlwZXMgKi8KKyAjaWYgZGVmaW5lZCggX19WRUNfXyApCisgICAgI2luY2x1ZGUgPGFsdGl2ZWMuaD4gICAvKiBtYXkgYmUgb21pdHRlZCBkZXBlbmRpbmcgb24gY29tcGlsZXIuIEFsdGlWZWMgc3BlYyBwcm92aWRlcyBubyB3YXkgdG8gZGV0ZWN0IHdoZXRoZXIgdGhlIGhlYWRlciBpcyByZXF1aXJlZC4gKi8KKy0gICB0eXBlZGVmIHZlY3RvciB1bnNpZ25lZCBjaGFyICAgICBfX2NsX3VjaGFyMTY7CistICAgdHlwZWRlZiB2ZWN0b3Igc2lnbmVkIGNoYXIgICAgICAgX19jbF9jaGFyMTY7CistICAgdHlwZWRlZiB2ZWN0b3IgdW5zaWduZWQgc2hvcnQgICAgX19jbF91c2hvcnQ4OworLSAgIHR5cGVkZWYgdmVjdG9yIHNpZ25lZCBzaG9ydCAgICAgIF9fY2xfc2hvcnQ4OworLSAgIHR5cGVkZWYgdmVjdG9yIHVuc2lnbmVkIGludCAgICAgIF9fY2xfdWludDQ7CistICAgdHlwZWRlZiB2ZWN0b3Igc2lnbmVkIGludCAgICAgICAgX19jbF9pbnQ0OworLSAgIHR5cGVkZWYgdmVjdG9yIGZsb2F0ICAgICAgICAgICAgIF9fY2xfZmxvYXQ0OworKyAgIHR5cGVkZWYgX192ZWN0b3IgdW5zaWduZWQgY2hhciAgICAgX19jbF91Y2hhcjE2OworKyAgIHR5cGVkZWYgX192ZWN0b3Igc2lnbmVkIGNoYXIgICAgICAgX19jbF9jaGFyMTY7CisrICAgdHlwZWRlZiBfX3ZlY3RvciB1bnNpZ25lZCBzaG9ydCAgICBfX2NsX3VzaG9ydDg7CisrICAgdHlwZWRlZiBfX3ZlY3RvciBzaWduZWQgc2hvcnQgICAgICBfX2NsX3Nob3J0ODsKKysgICB0eXBlZGVmIF9fdmVjdG9yIHVuc2lnbmVkIGludCAgICAgIF9fY2xfdWludDQ7CisrICAgdHlwZWRlZiBfX3ZlY3RvciBzaWduZWQgaW50ICAgICAgICBfX2NsX2ludDQ7CisrICAgdHlwZWRlZiBfX3ZlY3RvciBmbG9hdCAgICAgICAgICAgICBfX2NsX2Zsb2F0NDsKKyAgICAjZGVmaW5lICBfX0NMX1VDSEFSMTZfXyAgMQorICAgICNkZWZpbmUgIF9fQ0xfQ0hBUjE2X18gICAxCisgICAgI2RlZmluZSAgX19DTF9VU0hPUlQ4X18gIDEKKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2L2ZpeHBrZ2NvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdi9maXhwa2djb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FlZGE3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdi9maXhwa2djb25maWcucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorZGlmZiAtLWdpdCBhL2NtYWtlL09wZW5DVkdlblBrZ2NvbmZpZy5jbWFrZSBiL2NtYWtlL09wZW5DVkdlblBrZ2NvbmZpZy5jbWFrZQoraW5kZXggYjhjYjg3NzdjMDZiLi43NTI4MWVlOTY0ZmQgMTAwNjQ0CistLS0gYS9jbWFrZS9PcGVuQ1ZHZW5Qa2djb25maWcuY21ha2UKKysrKyBiL2NtYWtlL09wZW5DVkdlblBrZ2NvbmZpZy5jbWFrZQorQEAgLTI3LDcgKzI3LDcgQEAgbWFjcm8oZml4X3ByZWZpeCBsc3QgaXNvd24pCisgICAgICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudChsaWJkaXIgIiR7aXRlbX0iIFBBVEgpCisgICAgICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudChsaWJuYW1lICIke2l0ZW19IiBOQU1FX1dFKQorICAgICAgIHN0cmluZyhSRUdFWCBSRVBMQUNFICJebGliKC4qKSIgIlxcMSIgbGlibmFtZSAiJHtsaWJuYW1lfSIpCistICAgICAgbGlzdChBUFBFTkQgX2xzdCAiLUwke2xpYmRpcn0iICItbCR7bGlibmFtZX0iKQorKyAgICAgIGxpc3QoQVBQRU5EIF9sc3QgIi1sJHtsaWJuYW1lfSIpCisgICAgIGVsc2UoKQorICAgICAgIGxpc3QoQVBQRU5EIF9sc3QgIi1sJHtpdGVtfSIpCisgICAgIGVuZGlmKCkKK0BAIC02NiwxMCArNjYsMTQgQEAgb2N2X2xpc3RfdW5pcXVlKF8zcmRwYXJ0eSkKKyAKKyBzZXQoT1BFTkNWX1BDX0xJQlMKKyAgICItTFwke2V4ZWNfcHJlZml4fS8ke09QRU5DVl9MSUJfSU5TVEFMTF9QQVRIfSIKKysgICItTFwke2V4ZWNfcHJlZml4fS8ke09QRU5DVl8zUF9MSUJfSU5TVEFMTF9QQVRIfSIKKyAgICIke19tb2R1bGVzfSIKKyApCisgaWYgKEJVSUxEX1NIQVJFRF9MSUJTKQorLSAgc2V0KE9QRU5DVl9QQ19MSUJTX1BSSVZBVEUgIiR7X2V4dHJhfSIpCisrICBzZXQoT1BFTkNWX1BDX0xJQlNfUFJJVkFURQorKyAgICAiLUxcJHtleGVjX3ByZWZpeH0vJHtPUEVOQ1ZfTElCX0lOU1RBTExfUEFUSH0iCisrICAgICIke19leHRyYX0iCisrICApCisgZWxzZSgpCisgICBzZXQoT1BFTkNWX1BDX0xJQlNfUFJJVkFURQorICAgICAiLUxcJHtleGVjX3ByZWZpeH0vJHtPUEVOQ1ZfM1BfTElCX0lOU1RBTExfUEFUSH0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3ZfMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2XzIuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjM4YTVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2XzIuNC5iYgpAQCAtMCwwICsxLDEwOCBAQAorU1VNTUFSWSA9ICJPcGVuY3YgOiBUaGUgT3BlbiBDb21wdXRlciBWaXNpb24gTGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9vcGVuY3Yub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9pbmNsdWRlL29wZW5jdjIvb3BlbmN2LmhwcDtlbmRsaW5lPTQxO21kNT02ZDY5MGQ4NDg4YTZmY2E3YTJjMTkyOTMyNDY2YmIxNCIKKworQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKKworREVQRU5EUyA9ICJweXRob24tbnVtcHkgbGlidG9vbCBzd2lnIHN3aWctbmF0aXZlIHB5dGhvbiBiemlwMiB6bGliIGdsaWItMi4wIgorCitTUkNSRVYgPSAiMmM5NTQ3ZTMxNDc3NzkwMDE4MTFkMDE5MzZhZWQzOGY1NjA5MjlmYyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9JdHNlZXovb3BlbmN2LmdpdDticmFuY2g9Mi40IFwKKyAgZmlsZTovLzAwMDEtVXNlLV9fdmVjdG9yLWluc3RlYWQtb2YtdmVjdG9yLWFzLXN1Z2dlc3RzLUVpZ2VuLnBhdGNoIgorCitQViA9ICIyLjQuMTErZ2l0JHtTUkNQVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKKyMgRG8gYW4gb3V0LW9mLXRyZWUgYnVpbGQKK09FQ01BS0VfU09VUkNFUEFUSCA9ICIke1N9IgorT0VDTUFLRV9CVUlMRFBBVEggPSAiJHtXT1JLRElSfS9idWlsZC0ke1RBUkdFVF9BUkNIfSIKKworRVhUUkFfT0VDTUFLRSA9ICItRFBZVEhPTl9OVU1QWV9JTkNMVURFX0RJUjpQQVRIPSR7U1RBR0lOR19MSUJESVJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9udW1weS9jb3JlL2luY2x1ZGUgXAorICAgICAgICAgICAgICAgICAtREJVSUxEX1BZVEhPTl9TVVBQT1JUPU9OIFwKKyAgICAgICAgICAgICAgICAgLURXSVRIX0dTVFJFQU1FUj1PRkYgXAorICAgICAgICAgICAgICAgICAtRFdJVEhfMTM5ND1PRkYgXAorICAgICAgICAgICAgICAgICAtRENNQUtFX1NLSVBfUlBBVEg9T04gXAorICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiVEFSR0VUX0NDX0FSQ0giLCAiLW1zc2UzIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiVEFSR0VUX0NDX0FSQ0giLCAiLW1zc2U0LjEiLCAiLURFTkFCTEVfU1NFPTEgLURFTkFCTEVfU1NFMj0xIC1ERU5BQkxFX1NTRTM9MSAtREVOQUJMRV9TU1NFMz0xIC1ERU5BQkxFX1NTRTQxPTEiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIlRBUkdFVF9DQ19BUkNIIiwgIi1tc3NlNC4yIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSAtREVOQUJMRV9TU0U0MT0xIC1ERU5BQkxFX1NTRTQyPTEiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICAgJHtAYmFzZV9jb25kaXRpb25hbCgibGliZGlyIiwgIi91c3IvbGliNjQiLCAiLURMSUJfU1VGRklYPTY0IiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29uZGl0aW9uYWwoImxpYmRpciIsICIvdXNyL2xpYjMyIiwgIi1ETElCX1NVRkZJWD0zMiIsICIiLCBkKX0gXAorIgorCitQQUNLQUdFQ09ORklHID8/PSAiZWlnZW4ganBlZyBwbmcgdGlmZiB2NGwgbGlidjRsIFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgIngxMSIsICJndGsiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiTElDRU5TRV9GTEFHU19XSElURUxJU1QiLCAiY29tbWVyY2lhbCIsICJsaWJhdiIsICIiLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbZWlnZW5dID0gIi1EV0lUSF9FSUdFTj1PTiwtRFdJVEhfRUlHRU49T0ZGLGxpYmVpZ2VuLCIKK1BBQ0tBR0VDT05GSUdbZ3RrXSA9ICItRFdJVEhfR1RLPU9OLC1EV0lUSF9HVEs9T0ZGLGd0ayssIgorUEFDS0FHRUNPTkZJR1tqYXNwZXJdID0gIi1EV0lUSF9KQVNQRVI9T04sLURXSVRIX0pBU1BFUj1PRkYsamFzcGVyLCIKK1BBQ0tBR0VDT05GSUdbanBlZ10gPSAiLURXSVRIX0pQRUc9T04sLURXSVRIX0pQRUc9T0ZGLGpwZWcsIgorUEFDS0FHRUNPTkZJR1tsaWJhdl0gPSAiLURXSVRIX0ZGTVBFRz1PTiwtRFdJVEhfRkZNUEVHPU9GRixsaWJhdiwiCitQQUNLQUdFQ09ORklHW2xpYnY0bF0gPSAiLURXSVRIX0xJQlY0TD1PTiwtRFdJVEhfTElCVjRMPU9GRix2NGwtdXRpbHMsIgorUEFDS0FHRUNPTkZJR1twbmddID0gIi1EV0lUSF9QTkc9T04sLURXSVRIX1BORz1PRkYsbGlicG5nLCIKK1BBQ0tBR0VDT05GSUdbdGlmZl0gPSAiLURXSVRIX1RJRkY9T04sLURXSVRIX1RJRkY9T0ZGLHRpZmYsIgorUEFDS0FHRUNPTkZJR1t2NGxdID0gIi1EV0lUSF9WNEw9T04sLURXSVRIX1Y0TD1PRkYsdjRsLXV0aWxzLCIKKworaW5oZXJpdCBkaXN0dXRpbHMtYmFzZSBwa2djb25maWcgY21ha2UKKworZXhwb3J0IEJVSUxEX1NZUworZXhwb3J0IEhPU1RfU1lTCitleHBvcnQgUFlUSE9OX0NTUEVDPSItSSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCitleHBvcnQgUFlUSE9OPSIke1NUQUdJTkdfQklORElSX05BVElWRX0vcHl0aG9uIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiLUkke1N9L2luY2x1ZGUgIgorCitQQUNLQUdFUyArPSAiJHtQTn0tYXBwcyBweXRob24tb3BlbmN2IgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgY3ZfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCisgICAgY3ZfbGliZGlyX2RiZyA9IGQuZXhwYW5kKCcke2xpYmRpcn0vLmRlYnVnJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuc28kJywgJ2xpYiVzLWRldicsICdPcGVuQ1YgJXMgZGV2ZWxvcG1lbnQgcGFja2FnZScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LWRldicsIGFsbG93X2xpbmtzPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLmxhJCcsICdsaWIlcy1kZXYnLCAnT3BlbkNWICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5hJCcsICdsaWIlcy1kZXYnLCAnT3BlbkNWICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5zb1wuKicsICdsaWIlcycsICdPcGVuQ1YgJXMgbGlicmFyeScsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCisKKyAgICBwbiA9IGQuZ2V0VmFyKCdQTicsIDEpCisgICAgbWV0YXBrZyA9ICBwbiArICctZGV2JworICAgIGQuc2V0VmFyKCdBTExPV19FTVBUWV8nICsgbWV0YXBrZywgIjEiKQorICAgIGJsYWNrbGlzdCA9IFsgbWV0YXBrZyBdCisgICAgbWV0YXBrZ19yZGVwZW5kcyA9IFsgXSAKKyAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycsIDEpLnNwbGl0KCkKKyAgICBmb3IgcGtnIGluIHBhY2thZ2VzWzE6XToKKyAgICAgICAgaWYgbm90IHBrZyBpbiBibGFja2xpc3QgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgcGtnLmVuZHN3aXRoKCctZGV2Jyk6CisgICAgICAgICAgICBtZXRhcGtnX3JkZXBlbmRzLmFwcGVuZChwa2cpCisgICAgZC5zZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihtZXRhcGtnX3JkZXBlbmRzKSkKK30KKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXmxpYm9wZW5jdi0uKiIKKworRklMRVNfJHtQTn0gPSAiIgorRklMRVNfJHtQTn0tYXBwcyA9ICIke2JpbmRpcn0vKiAke2RhdGFkaXJ9L09wZW5DViIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9Ly5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9ICR7bGliZGlyfS9wa2djb25maWciCitGSUxFU18ke1BOfS1kb2MgPSAiJHtkYXRhZGlyfS9PcGVuQ1YvZG9jIgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitTVU1NQVJZX3B5dGhvbi1vcGVuY3YgPSAiUHl0aG9uIGJpbmRpbmdzIHRvIG9wZW5jdiIKK0ZJTEVTX3B5dGhvbi1vcGVuY3YgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKK1JERVBFTkRTX3B5dGhvbi1vcGVuY3YgPSAicHl0aG9uLWNvcmUgcHl0aG9uLW51bXB5IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBjcCAke1N9L2luY2x1ZGUvb3BlbmN2LyouaCAke0R9JHtpbmNsdWRlZGlyfS9vcGVuY3YvCisgICAgc2VkIC1pICcvYmxvYnRyYWNrL2QnICR7RH0ke2luY2x1ZGVkaXJ9L29wZW5jdi9jdmF1eC5oCisKKyAgICAjIE1vdmUgUHl0aG9uIGZpbGVzIGludG8gY29ycmVjdCBsaWJyYXJ5IGZvbGRlciAoZm9yIG11bHRpbGliIGJ1aWxkKQorICAgIGlmIFsgIiRsaWJkaXIiICE9ICIvdXNyL2xpYiIgXTsgdGhlbgorICAgICAgICBtdiAke0R9L3Vzci9saWIvKiAke0R9LyR7bGliZGlyfS8KKyAgICAgICAgcm0gLXJmICR7RH0vdXNyL2xpYgorICAgIGZpCit9CisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzQwNjYwLworUE5CTEFDS0xJU1Rbb3BlbmN2XSA/PSAiTm90IGNvbXBhdGlibGUgd2l0aCBjdXJyZW50bHkgdXNlZCBmZm1wZWcgMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdl8zLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3ZfMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4OTUxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3ZfMy4xLmJiCkBAIC0wLDAgKzEsMTQ5IEBACitTVU1NQVJZID0gIk9wZW5jdiA6IFRoZSBPcGVuIENvbXB1dGVyIFZpc2lvbiBMaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL29wZW5jdi5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTBlYTkwZDI4YjRkZTg4M2Q3YWY1ZTY3MTFmMTRmN2JmIgorCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorCitERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCisKK0RFUEVORFMgPSAicHl0aG9uLW51bXB5IGxpYnRvb2wgc3dpZyBzd2lnLW5hdGl2ZSBweXRob24gYnppcDIgemxpYiBnbGliLTIuMCBsaWJ3ZWJwIGxpYmdwaG90bzIgcHJvdG9idWYgcHJvdG9idWYtbmF0aXZlIgorCitTUkNSRVZfb3BlbmN2ID0gIjkyMzg3YjFlZjhmYWQxNTE5NmRkNWY3ZmI0OTMxNDQ0YTY4YmM5M2EiCitTUkNSRVZfY29udHJpYiA9ICI1NDA5ZDVhZDU2MDUyM2M4NWM2Nzk2Y2M1YTAwOTM0NzA3MmQ4ODNjIgorU1JDUkVWX3BhcnR5MyA9ICI4MWE2NzYwMDFjYTgwNzVhZGE0OTg1ODNlNDE2NjA3OWU1NzQ0NjY4IgorSVBQX01ENSA9ICI4MDhiNzkxYTZlYWM5ZWQ3OGQzMmE3NjY2ODA0MzIwZSIKKworU1JDUkVWX0ZPUk1BVCA9ICJvcGVuY3YiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vSXRzZWV6L29wZW5jdi5naXQ7bmFtZT1vcGVuY3YgXAorICAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9JdHNlZXovb3BlbmN2X2NvbnRyaWIuZ2l0O2Rlc3RzdWZmaXg9Y29udHJpYjtuYW1lPWNvbnRyaWIgXAorICAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9JdHNlZXovb3BlbmN2XzNyZHBhcnR5LmdpdDticmFuY2g9aXBwaWN2L21hc3Rlcl8yMDE1MTIwMTtkZXN0c3VmZml4PXBhcnR5MztuYW1lPXBhcnR5MyBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS0zcmRwYXJ0eS1pcHBpY3YtVXNlLXByZS1kb3dubG9hZGVkLWlwcC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vZml4cGtnY29uZmlnLnBhdGNoIgorCitQViA9ICIzLjErZ2l0JHtTUkNQVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX3VucGFja19leHRyYSgpIHsKKyAgICB0YXIgeHpmICR7V09SS0RJUn0vcGFydHkzL2lwcGljdi9pcHBpY3ZfbGludXhfMjAxNTEyMDEudGd6IC1DICR7V09SS0RJUn0KK30KK2FkZHRhc2sgdW5wYWNrX2V4dHJhIGFmdGVyIGRvX3VucGFjayBiZWZvcmUgZG9fcGF0Y2gKKworRVhUUkFfT0VDTUFLRSA9ICItRFBZVEhPTjJfTlVNUFlfSU5DTFVERV9ESVJTOlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL251bXB5L2NvcmUvaW5jbHVkZSBcCisJCSAtRE9QRU5DVl9FWFRSQV9NT0RVTEVTX1BBVEg9JHtXT1JLRElSfS9jb250cmliL21vZHVsZXMgXAorICAgICAgICAgICAgICAgICAtRFdJVEhfMTM5ND1PRkYgXAorICAgICAgICAgICAgICAgICAtRENNQUtFX1NLSVBfUlBBVEg9T04gXAorICAgICAgICAgICAgICAgICAtRE9QRU5DVl9JQ1ZfUEFDS0FHRV9ET1dOTE9BREVEPSR7SVBQX01ENX0gXAorICAgICAgICAgICAgICAgICAtRE9QRU5DVl9JQ1ZfUEFUSD0ke1dPUktESVJ9L2lwcGljdl9sbnggXAorICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiVEFSR0VUX0NDX0FSQ0giLCAiLW1zc2UzIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSIsICIiLCBkKX0gXAorICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiVEFSR0VUX0NDX0FSQ0giLCAiLW1zc2U0LjEiLCAiLURFTkFCTEVfU1NFPTEgLURFTkFCTEVfU1NFMj0xIC1ERU5BQkxFX1NTRTM9MSAtREVOQUJMRV9TU1NFMz0xIC1ERU5BQkxFX1NTRTQxPTEiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIlRBUkdFVF9DQ19BUkNIIiwgIi1tc3NlNC4yIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSAtREVOQUJMRV9TU0U0MT0xIC1ERU5BQkxFX1NTRTQyPTEiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICAgJHtAYmFzZV9jb25kaXRpb25hbCgibGliZGlyIiwgIi91c3IvbGliNjQiLCAiLURMSUJfU1VGRklYPTY0IiwgIiIsIGQpfSBcCisgICAgICAgICAgICAgICAgICR7QGJhc2VfY29uZGl0aW9uYWwoImxpYmRpciIsICIvdXNyL2xpYjMyIiwgIi1ETElCX1NVRkZJWD0zMiIsICIiLCBkKX0gXAorIgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfeDg2ID0gIiAtRFg4Nj1PTiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImVpZ2VuIGpwZWcgcG5nIHRpZmYgdjRsIGxpYnY0bCBnc3RyZWFtZXIgc2FtcGxlcyB0YmIgXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgImd0ayIsICIiLCBkKX0gXAorCQkgICAke0BiYi51dGlscy5jb250YWlucygiTElDRU5TRV9GTEFHU19XSElURUxJU1QiLCAiY29tbWVyY2lhbCIsICJsaWJhdiIsICIiLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbYW1kYmxhc10gPSAiLURXSVRIX09QRU5DTEFNREJMQVM9T04sLURXSVRIX09QRU5DTEFNREJMQVM9T0ZGLGxpYmNsYW1kYmxhcywiCitQQUNLQUdFQ09ORklHW2FtZGZmdF0gPSAiLURXSVRIX09QRU5DTEFNREZGVD1PTiwtRFdJVEhfT1BFTkNMQU1ERkZUPU9GRixsaWJjbGFtZGZmdCwiCitQQUNLQUdFQ09ORklHW2VpZ2VuXSA9ICItRFdJVEhfRUlHRU49T04sLURXSVRIX0VJR0VOPU9GRixsaWJlaWdlbiwiCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLURXSVRIX0dTVFJFQU1FUj1PTiwtRFdJVEhfR1NUUkVBTUVSPU9GRixnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSwiCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLURXSVRIX0dUSz1PTiwtRFdJVEhfR1RLPU9GRixndGsrMywiCitQQUNLQUdFQ09ORklHW2phc3Blcl0gPSAiLURXSVRIX0pBU1BFUj1PTiwtRFdJVEhfSkFTUEVSPU9GRixqYXNwZXIsIgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItRFdJVEhfSlBFRz1PTiwtRFdJVEhfSlBFRz1PRkYsanBlZywiCitQQUNLQUdFQ09ORklHW2xpYmF2XSA9ICItRFdJVEhfRkZNUEVHPU9OLC1EV0lUSF9GRk1QRUc9T0ZGLGxpYmF2LCIKK1BBQ0tBR0VDT05GSUdbbGlidjRsXSA9ICItRFdJVEhfTElCVjRMPU9OLC1EV0lUSF9MSUJWNEw9T0ZGLHY0bC11dGlscywiCitQQUNLQUdFQ09ORklHW29wZW5jbF0gPSAiLURXSVRIX09QRU5DTD1PTiwtRFdJVEhfT1BFTkNMPU9GRixvcGVuY2wtaGVhZGVycywiCitQQUNLQUdFQ09ORklHW29yYWNsZS1qYXZhXSA9ICItREpBVkFfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9JTkNMVURFX1BBVEgyPSR7SkFWQV9IT01FfS9pbmNsdWRlL2xpbnV4IC1ESkFWQV9BV1RfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9BV1RfTElCUkFSWT0ke0pBVkFfSE9NRX0vbGliL2FtZDY0L2xpYmphd3Quc28gLURKQVZBX0pWTV9MSUJSQVJZPSR7SkFWQV9IT01FfS9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbywsYW50LW5hdGl2ZSBvcmFjbGUtanNlLWpkayBvcmFjbGUtanNlLWpkay1uYXRpdmUsIgorUEFDS0FHRUNPTkZJR1twbmddID0gIi1EV0lUSF9QTkc9T04sLURXSVRIX1BORz1PRkYsbGlicG5nLCIKK1BBQ0tBR0VDT05GSUdbc2FtcGxlc10gPSAiLURCVUlMRF9FWEFNUExFUz1PTiAtRElOU1RBTExfUFlUSE9OX0VYQU1QTEVTPU9OLC1EQlVJTERfRVhBTVBMRVM9T0ZGLCwiCitQQUNLQUdFQ09ORklHW3RiYl0gPSAiLURXSVRIX1RCQj1PTiwtRFdJVEhfVEJCPU9GRix0YmIsIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItRFdJVEhfVElGRj1PTiwtRFdJVEhfVElGRj1PRkYsdGlmZiwiCitQQUNLQUdFQ09ORklHW3Y0bF0gPSAiLURXSVRIX1Y0TD1PTiwtRFdJVEhfVjRMPU9GRix2NGwtdXRpbHMsIgorCitpbmhlcml0IGRpc3R1dGlscy1iYXNlIHBrZ2NvbmZpZyBjbWFrZQorCitleHBvcnQgQlVJTERfU1lTCitleHBvcnQgSE9TVF9TWVMKK2V4cG9ydCBQWVRIT05fQ1NQRUM9Ii1JJHtTVEFHSU5HX0lOQ0RJUn0vJHtQWVRIT05fRElSfSIKK2V4cG9ydCBQWVRIT049IiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9weXRob24iCitleHBvcnQgSkFWQV9IT01FPSIke1NUQUdJTkdfRElSX05BVElWRX0vdXNyL2Jpbi9qYXZhIgorZXhwb3J0IEFOVF9ESVI9IiR7U1RBR0lOR19ESVJfTkFUSVZFfS91c3Ivc2hhcmUvYW50LyIKKworVEFSR0VUX0NDX0FSQ0ggKz0gIi1JJHtTfS9pbmNsdWRlICIKKworUEFDS0FHRVMgKz0gIiR7UE59LXNhbXBsZXMtZGJnICR7UE59LXNhbXBsZXMgJHtQTn0tYXBwcyBweXRob24tb3BlbmN2IFwKKyAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdvcmFjbGUtamF2YScsICcke1BOfS1qYXZhLWRiZyAke1BOfS1qYXZhJywgJycsIGQpfSIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIGN2X2xpYmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0nKQorICAgIGN2X2xpYmRpcl9kYmcgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9Ly5kZWJ1ZycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLnNvJCcsICdsaWIlcy1kZXYnLCAnT3BlbkNWICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnLCBhbGxvd19saW5rcz1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5sYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnT3BlbkNWICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorCisgICAgcG4gPSBkLmdldFZhcignUE4nLCAxKQorICAgIG1ldGFwa2cgPSAgcG4gKyAnLWRldicKKyAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKKyAgICBibGFja2xpc3QgPSBbIG1ldGFwa2cgXQorICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbIF0KKyAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycsIDEpLnNwbGl0KCkKKyAgICBmb3IgcGtnIGluIHBhY2thZ2VzWzE6XToKKyAgICAgICAgaWYgbm90IHBrZyBpbiBibGFja2xpc3QgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgcGtnLmVuZHN3aXRoKCctZGV2Jyk6CisgICAgICAgICAgICBtZXRhcGtnX3JkZXBlbmRzLmFwcGVuZChwa2cpCisgICAgZC5zZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihtZXRhcGtnX3JkZXBlbmRzKSkKKworICAgIG1ldGFwa2cgPSAgcG4KKyAgICBibGFja2xpc3QgPSBbIG1ldGFwa2cgXQorICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbIF0KKyAgICBmb3IgcGtnIGluIHBhY2thZ2VzWzE6XToKKyAgICAgICAgaWYgbm90IHBrZyBpbiBibGFja2xpc3QgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLWRldicpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctZGJnJykgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kb2MnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLWxvY2FsZScpOgorICAgICAgICAgICAgbWV0YXBrZ19yZGVwZW5kcy5hcHBlbmQocGtnKQorICAgIGJiLmRhdGEuc2V0VmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4obWV0YXBrZ19yZGVwZW5kcyksIGQpCisKK30KKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXmxpYm9wZW5jdi0uKiIKKworRklMRVNfJHtQTn0gPSAiIgorRklMRVNfJHtQTn0tYXBwcyA9ICIke2JpbmRpcn0vKiAke2RhdGFkaXJ9L09wZW5DViIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9Ly5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9ICR7bGliZGlyfS9wa2djb25maWciCitGSUxFU18ke1BOfS1kb2MgPSAiJHtkYXRhZGlyfS9PcGVuQ1YvZG9jIgorRklMRVNfJHtQTn0tamF2YSA9ICIke2RhdGFkaXJ9L09wZW5DVi9qYXZhIgorRklMRVNfJHtQTn0tamF2YS1kYmcgPSAiJHtkYXRhZGlyfS9PcGVuQ1YvamF2YS8uZGVidWcvIgorRklMRVNfJHtQTn0tc2FtcGxlcyA9ICIke2RhdGFkaXJ9L09wZW5DVi9zYW1wbGVzLyIKK0ZJTEVTXyR7UE59LXNhbXBsZXMtZGJnID0gIiR7ZGF0YWRpcn0vT3BlbkNWL3NhbXBsZXMvYmluLy5kZWJ1ZyIKKworSU5TQU5FX1NLSVBfJHtQTn0tYXBwcyA9ICJzdGF0aWNkZXYiCitJTlNBTkVfU0tJUF8ke1BOfS1qYXZhID0gImxpYmRpciIKK0lOU0FORV9TS0lQXyR7UE59LWphdmEtZGJnID0gImxpYmRpciIKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKKworU1VNTUFSWV9weXRob24tb3BlbmN2ID0gIlB5dGhvbiBiaW5kaW5ncyB0byBvcGVuY3YiCitGSUxFU19weXRob24tb3BlbmN2ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCitSREVQRU5EU19weXRob24tb3BlbmN2ID0gInB5dGhvbi1jb3JlIHB5dGhvbi1udW1weSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgY3AgJHtTfS9pbmNsdWRlL29wZW5jdi8qLmggJHtEfSR7aW5jbHVkZWRpcn0vb3BlbmN2LworICAgIHNlZCAtaSAnL2Jsb2J0cmFjay9kJyAke0R9JHtpbmNsdWRlZGlyfS9vcGVuY3YvY3ZhdXguaAorCisgICAgIyBNb3ZlIFB5dGhvbiBmaWxlcyBpbnRvIGNvcnJlY3QgbGlicmFyeSBmb2xkZXIgKGZvciBtdWx0aWxpYiBidWlsZCkKKyAgICBpZiBbICIkbGliZGlyIiAhPSAiL3Vzci9saWIiIF07IHRoZW4KKyAgICAgICAgbXYgJHtEfS91c3IvbGliLyogJHtEfS8ke2xpYmRpcn0vCisgICAgICAgIHJtIC1yZiAke0R9L3Vzci9saWIKKyAgICBmaQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9PcGVuQ1Yvc2FtcGxlcy9iaW4vCisgICAgY3AgLWYgYmluLyotdHV0b3JpYWwtKiBiaW4vKi1leGFtcGxlLSogJHtEfSR7ZGF0YWRpcn0vT3BlbkNWL3NhbXBsZXMvYmluLworfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL2luaXRzY3JpcHQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL2luaXRzY3JpcHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhkMTA2NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvaW5pdHNjcmlwdApAQCAtMCwwICsxLDM1IEBACisjISAvYmluL3NoCisjCisjIFRoaXMgaXMgYW4gaW5pdCBzY3JpcHQgZm9yIG9wZW5lbWJlZGRlZAorIyBDb3B5IGl0IHRvIC9ldGMvaW5pdC5kL29wZW5sZGFwIGFuZCB0eXBlCisjID4gdXBkYXRlLXJjLmQgb3BlbmxkYXAgZGVmYXVsdHMgNjAKKyMKKworIyBTb3VyY2UgZnVuY3Rpb24gbGlicmFyeS4KKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKK3NsYXBkPS91c3Ivc2Jpbi9zbGFwZAordGVzdCAteCAiJHNsYXBkIiB8fCBleGl0IDAKKworCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgZWNobyAtbiAiU3RhcnRpbmcgT3BlbkxEQVA6ICIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1leGVjICRzbGFwZAorICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RvcCkKKyAgICBlY2hvIC1uICJTdG9wcGluZyBPcGVuTERBUDogIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tcGlkZmlsZSAvdmFyL3J1bi9zbGFwZC5waWQKKyAgICBlY2hvICIuIgorICAgIDs7CisgIHN0YXR1cykKKyAgICBzdGF0dXMgJHNsYXBkOworICAgIGV4aXQgJD8KKyAgICA7OworICAqKQorICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC9vcGVubGRhcCB7c3RhcnR8c3RvcHxzdGF0dXN9IgorICAgIGV4aXQgMQorZXNhYworCitleGl0IDAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvaW5zdGFsbC1zdHJpcC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvaW5zdGFsbC1zdHJpcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTkyYjcwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9pbnN0YWxsLXN0cmlwLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKKyMgVGhpcyBwYXRjaCBlbnN1cmVzIHRoYXQgdGhlIGluc3RhbGwgb3BlcmF0aW9ucyB3aGljaCBzdHJpcAorIyBwcm9ncmFtcyBhbmQgbGlicmFyaWVzIChMVElOU1RBTEwpIHdvcmsgaW4gYSBjcm9zcyBidWlsZAorIyBlbnZpcm9ubWVudC4KKy0tLSBvcGVubGRhcC0yLjIuMjQvLnBjL2luc3RhbGwtc3RyaXAucGF0Y2gvYnVpbGQvdG9wLm1rCTIwMDUtMDEtMjAgMDk6MDA6NTUuMDAwMDAwMDAwIC0wODAwCisrKysgb3BlbmxkYXAtMi4yLjI0L2J1aWxkL3RvcC5tawkyMDA1LTA0LTE2IDEzOjQ4OjIwLjUzNjcxMDM3NiAtMDcwMAorQEAgLTExNiw3ICsxMTYsNyBAQAorIExUTElOS19NT0QgPSAkKExJQlRPT0wpICQoTFRPTkxZX01PRCkgLS1tb2RlPWxpbmsgXAorIAkkKENDKSAkKExUX0NGTEFHUykgJChMREZMQUdTKSAkKExURkxBR1NfTU9EKQorIAorLUxUSU5TVEFMTCA9ICQoTElCVE9PTCkgLS1tb2RlPWluc3RhbGwgJChJTlNUQUxMKSAKKytMVElOU1RBTEwgPSBTVFJJUFBST0c9IiIgJChMSUJUT09MKSAtLW1vZGU9aW5zdGFsbCAkKHRvcF9zcmNkaXIpL2NvbnRyaWIvbGRhcGMrKy9pbnN0YWxsLXNoIC1jCisgTFRGSU5JU0ggPSAkKExJQlRPT0wpIC0tbW9kZT1maW5pc2gKKyAKKyAjIE1pc2MgVU5JWCBjb21tYW5kcyB1c2VkIGluIGJ1aWxkIGVudmlyb25tZW50CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL2tpbGwtaWN1LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9raWxsLWljdS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2Y1NDExCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9raWxsLWljdS5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tOiBNYXJjaW4gSnVzemtpZXdpY3ogPG1hcmNpbi5qdXN6a2lld2ljekBsaW5hcm8ub3JnPgorCitzbGFwZCBkZXBlbmRzIG9uIElDVSBpZiBpdCB3YXMgYnVpbHQgZmlyc3QuCisKK1Vwc3RyZWFtLXN0YXR1czogaW5hcHByb3BpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKy0tLQorIGNvbmZpZ3VyZS5pbiB8ICAgIDggLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgOCBkZWxldGlvbnMoLSkKKworLS0tIG9wZW5sZGFwLTIuNC4yMy5vcmlnL2NvbmZpZ3VyZS5pbgorKysrIG9wZW5sZGFwLTIuNC4yMy9jb25maWd1cmUuaW4KK0BAIC0yMDQ1LDE4ICsyMDQ1LDEwIEBAIGlmIHRlc3QgJG9sX2VuYWJsZV9uZGIgIT0gbm8gOyB0aGVuCisgCQlTTEFQRF9MSUJTPSIkU0xBUERfTElCUyBcJChTTEFQRF9OREJfTElCUykiCisgCWZpCisgZmkKKyAKKyBkbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLWRubCBJbnRlcm5hdGlvbmFsIENvbXBvbmVudHMgZm9yIFVuaWNvZGUKKy1PTF9JQ1UKKy1pZiB0ZXN0ICIkb2xfaWN1IiA9IG5vIDsgdGhlbgorLQlBQ19NU0dfV0FSTihbSUNVIG5vdCBhdmFpbGFibGVdKQorLWVsc2UKKy0JSUNVX0xJQlM9IiRvbF9pY3UiCistZmkKKy1kbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGRubAorIGRubCBDaGVjayBmb3IgQ3lydXMgU0FTTAorIGRubAorIFdJVEhfU0FTTD1ubworIG9sX2xpbmtfc2FzbD1ubwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9vcGVubGRhcC0yLjQuMjgtZ251dGxzLWdjcnlwdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvb3BlbmxkYXAtMi40LjI4LWdudXRscy1nY3J5cHQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzdiMTU1MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvb3BlbmxkYXAtMi40LjI4LWdudXRscy1nY3J5cHQucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorRnJvbSBodHRwOi8vc291cmNlcy5nZW50b28ub3JnL2NnaS1iaW4vdmlld3ZjLmNnaS9nZW50b28teDg2L25ldC1uZHMvb3BlbmxkYXAvZmlsZXMvCisKK1Vwc3RyZWFtLXN0YXR1czogVW5rbm93bgorCistLQorCistLS0gb3BlbmxkYXAtMi40LjI4L2NvbmZpZ3VyZS5pbi5vcmlnCTIwMTItMDItMTEgMjI6NDA6MzYuMDA0MzYwNzk1ICswMDAwCisrKysgb3BlbmxkYXAtMi40LjI4L2NvbmZpZ3VyZS5pbgkyMDEyLTAyLTExIDIyOjQwOjEzLjQxMDk4Njg1MSArMDAwMAorQEAgLTEyMTQsNyArMTIxNCw3IEBACisgCQkJCW9sX3dpdGhfdGxzPWdudXRscworIAkJCQlvbF9saW5rX3Rscz15ZXMKKyAKKy0JCQkJVExTX0xJQlM9Ii1sZ251dGxzIgorKwkJCQlUTFNfTElCUz0iLWxnbnV0bHMgLWxnY3J5cHQiCisgCisgCQkJCUFDX0RFRklORShIQVZFX0dOVVRMUywgMSwgCisgCQkJCQlbZGVmaW5lIGlmIHlvdSBoYXZlIEdOVXRsc10pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL29wZW5sZGFwLW00LXB0aHJlYWQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL29wZW5sZGFwLW00LXB0aHJlYWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY2OWI3MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvb3BlbmxkYXAtbTQtcHRocmVhZC5wYXRjaApAQCAtMCwwICsxLDIwIEBACistLS0gb3BlbmxkYXAtMi4zLjExL2J1aWxkL29wZW5sZGFwLm00Lm9yaWcJMjAwNS0xMS0xMSAwMDoxMToxOC42MDQzMjI1OTAgLTA4MDAKKysrKyBvcGVubGRhcC0yLjMuMTEvYnVpbGQvb3BlbmxkYXAubTQJMjAwNS0xMS0xMSAwMDoyNjoyMS42MjExNDU4NTYgLTA4MDAKK0BAIC03ODgsNyArNzg4LDcgQEAgQUNfREVGVU4oW09MX1BUSFJFQURfVEVTVF9GVU5DVElPTl0sW1sKKyBdXSkKKyAKKyBBQ19ERUZVTihbT0xfUFRIUkVBRF9URVNUX1BST0dSQU1dLAorLUFDX0xBTkdfU09VUkNFKFtPTF9QVEhSRUFEX1RFU1RfSU5DTFVERVMKKytbQUNfTEFOR19TT1VSQ0UoW1tPTF9QVEhSRUFEX1RFU1RfSU5DTFVERVMKKyAKKyBpbnQgbWFpbihhcmdjLCBhcmd2KQorIAlpbnQgYXJnYzsKK0BAIC03OTYsNyArNzk2LDcgQEAgaW50IG1haW4oYXJnYywgYXJndikKKyB7CisgT0xfUFRIUkVBRF9URVNUX0ZVTkNUSU9OCisgfQorLV0pKQorK11dKV0pCisgZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQUNfREVGVU4oW09MX1BUSFJFQURfVFJZXSwgWyMgUHRocmVhZCB0cnkgbGluazogJDEgKCQyKQorIGlmIHRlc3QgIiRvbF9saW5rX3RocmVhZHMiID0gbm8gOyB0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL3NsYXBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL3NsYXBkLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVmODNmZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvc2xhcGQuc2VydmljZQpAQCAtMCwwICsxLDEwIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVN0YW5kYWxvbmUgTERBUCBEYWVtb24KK0FmdGVyPXN5c2xvZy50YXJnZXQgbmV0d29yay50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK0V4ZWNTdGFydD1AU0JJTkRJUkAvc2xhcGQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC90aHJlYWRfc3R1Yi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvdGhyZWFkX3N0dWIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQwYmE0YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvdGhyZWFkX3N0dWIucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorb3BlbmxkYXA6IHNldCBwb2ludGVyCisKK1doZW4gdGhlIGZ1bmN0aW9uIGxkYXBfcHZ0X3RocmVhZF9wb29sX2dldGtleSgpIHN1Y2NlZWRzLCBpdAorbXVzdCBzZXQgdGhlIHZhbHVlIG9mICpkYXRhIHNpbmNlIHRoZSBjYWxsZXIgbWF5IHRyeSB0byB1c2UgaXQuCisKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqc2xhdGVyQHdpbmRyaXZlci5jb20+CisKKworLS0tIGEvbGlicmFyaWVzL2xpYmxkYXBfci90aHJfc3R1Yi5jCisrKysgYi9saWJyYXJpZXMvbGlibGRhcF9yL3Rocl9zdHViLmMKK0BAIC0yMTcsNiArMjE3LDcgQEAgbGRhcF9wdnRfdGhyZWFkX3Bvb2xfdW5pZGxlICggbGRhcF9wdnRfdAorIGludCBsZGFwX3B2dF90aHJlYWRfcG9vbF9nZXRrZXkgKAorIAl2b2lkICpjdHgsIHZvaWQgKmtleSwgdm9pZCAqKmRhdGEsIGxkYXBfcHZ0X3RocmVhZF9wb29sX2tleWZyZWVfdCAqKmtmcmVlICkKKyB7CisrCWlmIChkYXRhKSAqZGF0YSA9IE5VTEw7ICAvKiBhdm9pZCBwcm9ibGVtcyB3aXRoIHVuaW5pdGlhbGl6ZWQgKmRhdGEgKi8KKyAJcmV0dXJuKDApOworIH0KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvdXNlLXVyYW5kb20ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL3VzZS11cmFuZG9tLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3Yjk4OGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL3VzZS11cmFuZG9tLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK29wZW5sZGFwOiBhc3N1bWUgL2Rldi91cmFuZG9tIGV4aXN0cworCitXaGVuIHdlIGFyZSBjcm9zcy1jb21waWxpbmcsIHdlIHdhbnQgdG8gYXNzdW1lCit0aGF0IC9kZXYvdXJhbmRvbSBleGlzdHMuICBXZSBjb3VsZCBjaGFuZ2UgdGhlIHNvdXJjZQorY29kZSB0byBsb29rIGZvciBpdCwgYnV0IHRoaXMgaXMgdGhlIGVhc3kgd2F5IG91dC4KKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEpvZSBTbGF0ZXIgPGpzbGF0ZXJAd2luZHJpdmVyLmNvbT4KKworCistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTIxNDIsOCArMjE0Miw4IEBAIGZpCisgCisgZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBkbmwgQ2hlY2sgZm9yIGVudHJvcHkgc291cmNlcworK2Rldj1ubworIGlmIHRlc3QgJGNyb3NzX2NvbXBpbGluZyAhPSB5ZXMgJiYgdGVzdCAiJGFjX2N2X21pbmd3MzIiICE9IHllcyA7IHRoZW4KKy0JZGV2PW5vCisgCWlmIHRlc3QgLXIgL2Rldi91cmFuZG9tIDsgdGhlbgorIAkJZGV2PSIvZGV2L3VyYW5kb20iOworIAllbGlmIHRlc3QgLXIgL2lkZXYvdXJhbmRvbSA7IHRoZW4KK0BAIC0yMTU2LDkgKzIxNTYsMTEgQEAgaWYgdGVzdCAkY3Jvc3NfY29tcGlsaW5nICE9IHllcyAmJiB0ZXN0IAorIAkJZGV2PSIvaWRldi9yYW5kb20iOworIAlmaQorIAorLQlpZiB0ZXN0ICRkZXYgIT0gbm8gOyB0aGVuCistCQlBQ19ERUZJTkVfVU5RVU9URUQoVVJBTkRPTV9ERVZJQ0UsIiRkZXYiLFtzZXQgdG8gdXJhbmRvbSBkZXZpY2VdKQorLQlmaQorK2VsaWYgdGVzdCAkY3Jvc3NfY29tcGlsaW5nID09IHllcyA7IHRoZW4KKysJZGV2PSIvZGV2L3VyYW5kb20iOworK2ZpCisraWYgdGVzdCAkZGV2ICE9IG5vIDsgdGhlbgorKwlBQ19ERUZJTkVfVU5RVU9URUQoVVJBTkRPTV9ERVZJQ0UsIiRkZXYiLFtzZXQgdG8gdXJhbmRvbSBkZXZpY2VdKQorIGZpCisgCisgZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXBfMi40LjQzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcF8yLjQuNDMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODYxODM2NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXBfMi40LjQzLmJiCkBAIC0wLDAgKzEsMjU0IEBACisjIE9wZW5MREFQLCBhIGxpY2Vuc2UgZnJlZSAoc2VlIGh0dHA6Ly93d3cuT3BlbkxEQVAub3JnL2xpY2Vuc2UuaHRtbCkKKyMKK1NVTU1BUlkgPSAiT3BlbkxEQVAgRGlyZWN0b3J5IFNlcnZpY2UiCitERVNDUklQVElPTiA9ICJPcGVuTERBUCBTb2Z0d2FyZSBpcyBhbiBvcGVuIHNvdXJjZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgTGlnaHR3ZWlnaHQgRGlyZWN0b3J5IEFjY2VzcyBQcm90b2NvbC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lk9wZW5MREFQLm9yZy9saWNlbnNlLmh0bWwiCisjIFRoZSBPcGVuTERBUCBQdWJsaWMgTGljZW5zZSAtIHNlZSB0aGUgSE9NRVBBR0UgLSBkZWZpbmVzCisjIHRoZSBsaWNlbnNlLiAgd3d3Lm9wZW5sZGFwLm9yZyBjbGFpbXMgdGhpcyBpcyBPcGVuIFNvdXJjZQorIyAoc2VlIGh0dHA6Ly93d3cub3BlbmxkYXAub3JnKSwgdGhlIGxpY2Vuc2UgYXBwZWFycyB0byBiZQorIyBiYXNpY2FsbHkgQlNELiAgb3BlbnNvdXJjZS5vcmcgZG9lcyBub3QgcmVjb3JkIHRoaXMgbGljZW5zZQorIyBhdCBwcmVzZW50IChzbyBpdCBpcyBhcHBhcmVudGx5IG5vdCBPU0kgY2VydGlmaWVkKS4KK0xJQ0VOU0UgPSAiT3BlbkxEQVAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTlkODQ1YTI1YWVmOTdkYTc1MzE0NGYxZGFjYmY2ODBjIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0U7bWQ1PTE1M2QwN2VmMDUyYzRhMzdhOGZhYzIzYmM2MDMxOTcyIFwKKyIKK1NFQ1RJT04gPSAibGlicyIKKworTERBUF9WRVIgPSAiJHtAJy4nLmpvaW4oZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzA6Ml0pfSIKKworU1JDX1VSSSA9ICJmdHA6Ly9mdHAub3BlbmxkYXAub3JnL3B1Yi9PcGVuTERBUC9vcGVubGRhcC1yZWxlYXNlLyR7QlB9LnRneiBcCisgICAgZmlsZTovL29wZW5sZGFwLW00LXB0aHJlYWQucGF0Y2ggXAorICAgIGZpbGU6Ly9raWxsLWljdS5wYXRjaCBcCisgICAgZmlsZTovL29wZW5sZGFwLTIuNC4yOC1nbnV0bHMtZ2NyeXB0LnBhdGNoIFwKKyAgICBmaWxlOi8vdXNlLXVyYW5kb20ucGF0Y2ggXAorICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKKyAgICBmaWxlOi8vc2xhcGQuc2VydmljZSBcCisgICAgZmlsZTovL3RocmVhZF9zdHViLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ5Y2E2NWUyNzg5MWZjZjk3N2Q3OGMxMGYwNzNjNzA1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM0ZDc4ZTU1OThhMmIwMzYwZDI2YTkwNTBmY2RiYmUxOThjNjU0OTNiMDEzYmI2MDc4MzlkNTU5OGI2OTc4YzgiCisKK0RFUEVORFMgPSAidXRpbC1saW51eCBncm9mZi1uYXRpdmUiCisKKyMgVGhlIG9yaWdpbmFsIHRvcC5tayB1c2VkIElOU1RBTEwsIG5vdCBJTlNUQUxMX1NUUklQX1BST0dSQU0gd2hlbgorIyBpbnN0YWxsaW5nIC5zbyBhbmQgZXhlY3V0YWJsZXMsIHRoaXMgZmFpbHMgaW4gY3Jvc3MgY29tcGlsYXRpb24KKyMgZW52aXJvbm1lbnRzCitTUkNfVVJJICs9ICJmaWxlOi8vaW5zdGFsbC1zdHJpcC5wYXRjaCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworIyBDViBTRVRUSU5HUworIyBSZXF1aXJlZCB0byB3b3JrIHJvdW5kIEFDX0ZVTkNfTUVNQ01QIHdoaWNoIGdldHMgdGhlIHdyb25nIGFuc3dlcgorIyB3aGVuIGNyb3NzIGNvbXBpbGluZyAoc2hvdWxkIGJlIGluIHNpdGU/KQorRVhUUkFfT0VDT05GICs9ICJhY19jdl9mdW5jX21lbWNtcF93b3JraW5nPXllcyIKKworIyBDT05GSUcgREVGSU5JVElPTlMKKyMgVGhlIGZvbGxvd2luZyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBpdCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCBmb3IgYQorIyBjcm9zcyBjb21waWxlIGF1dG9tYWdpY2FsbHkuICBTZWxlY3Qgc2hvdWxkIHlpZWxkIGZpbmUgb24gYWxsIE9FCisjIHN5c3RlbXMuLi4KK0VYVFJBX09FQ09ORiArPSAiLS13aXRoLXlpZWxkaW5nLXNlbGVjdD15ZXMiCisjIFNoYXJlZCBsaWJyYXJpZXMgYXJlIG5pY2UuLi4KK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtZHluYW1pYyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyBtb2R1bGVzIFwKKyAgICAgICAgICAgICAgICAgICBsZGFwIG1ldGEgbW9uaXRvciBudWxsIHBhc3N3ZCBzaGVsbCBwcm94eWNhY2hlIGRuc3NydiBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJ2lwdjYnLCAnJywgZCl9IFwKKyIKKyMtLXdpdGgtdGxzICAgICAgICAgICAgICB3aXRoIFRMUy9TU0wgc3VwcG9ydCBhdXRvfG9wZW5zc2x8Z251dGxzIFthdXRvXQorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0td2l0aC10bHM9Z251dGxzLCxnbnV0bHMgbGliZ2NyeXB0IgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtdGxzPW9wZW5zc2wsLG9wZW5zc2wiCisKK1BBQ0tBR0VDT05GSUdbc2FzbF0gPSAiLS13aXRoLWN5cnVzLXNhc2wsLS13aXRob3V0LWN5cnVzLXNhc2wsY3lydXMtc2FzbCIKK1BBQ0tBR0VDT05GSUdbbW9kdWxlc10gPSAibHRfY3ZfZGxvcGVuX3NlbGY9eWVzIC0tZW5hYmxlLW1vZHVsZXMsLS1kaXNhYmxlLW1vZHVsZXMsbGlidG9vbCIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiIKKworIyBTTEFQRCBvcHRpb25zCisjCisjIFVOSVggY3J5cHQoMykgcGFzc3dkIHN1cHBvcnQ6CitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWNyeXB0IgorCisjIFNMQVBEIEJBQ0tFTkQKKyMKKyMgVGhlIGJhY2tlbmQgbXVzdCBiZSBzZXQgYnkgdGhlIGNvbmZpZ3VyYXRpb24uICBUaGlzIGNvbnRyb2xzIHRoZQorIyByZXF1aXJlZCBkYXRhYmFzZS4gCisjCisjIEJhY2tlbmRzPSJiZGIgZG5zc3J2IGhkYiBsZGFwIG1kYiBtZXRhIG1vbml0b3IgbmRiIG51bGwgcGFzc3dkIHBlcmwgcmVsYXkgc2hlbGwgc29jayBzcWwiCisjCisjIE5vdGUgdGhhdCBtdWx0aXBsZSBiYWNrZW5kcyBjYW4gYmUgYnVpbHQuICBUaGUgbGRibSBiYWNrZW5kIHJlcXVpcmVzIGEKKyMgYnVpbGQtdGltZSBjaG9pY2Ugb2YgZGF0YWJhc2UgQVBJLiAgVGhlIGJkYiBiYWNrZW5kIGZvcmNlcyB0aGlzIHRvIGJlCisjIERCNC4gIFRvIHVzZSB0aGUgZ2RibSAob3Igb3RoZXIpIEFQSSB0aGUgQmVya2VseSBkYXRhYmFzZSBtb2R1bGUgbXVzdAorIyBiZSByZW1vdmVkIGZyb20gdGhlIGJ1aWxkLgorbWQgPSAiJHtsaWJleGVjZGlyfS9vcGVubGRhcCIKKyMKKyMtLWVuYWJsZS1iZGIgICAgICAgICAgZW5hYmxlIEJlcmtlbGV5IERCIGJhY2tlbmQgbm98eWVzfG1vZCB5ZXMKKyMgVGhlIEJlcmtlbHkgREIgaXMgdGhlIHN0YW5kYXJkIGNob2ljZS4gIFRoaXMgdmVyc2lvbiBvZiBPcGVuTERBUCByZXF1aXJlcworIyB0aGUgdmVyc2lvbiA0IGltcGxlbWVudGF0aW9uIG9yIGJldHRlci4KK1BBQ0tBR0VDT05GSUdbYmRiXSA9ICItLWVuYWJsZS1iZGI9eWVzLC0tZW5hYmxlLWJkYj1ubyxkYiIKKworIy0tZW5hYmxlLWRuc3NydiAgICAgICBlbmFibGUgZG5zc3J2IGJhY2tlbmQgbm98eWVzfG1vZCBubworUEFDS0FHRUNPTkZJR1tkbnNzcnZdID0gIi0tZW5hYmxlLWRuc3Nydj1tb2QsLS1lbmFibGUtZG5zc3J2PW5vIgorCisjLS1lbmFibGUtaGRiICAgICAgICAgIGVuYWJsZSBIaWVyYXJjaGljYWwgREIgYmFja2VuZCBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW2hkYl0gPSAiLS1lbmFibGUtaGRiPXllcywtLWVuYWJsZS1oZGI9bm8sZGIiCisKKyMtLWVuYWJsZS1sZGFwICAgICAgICAgZW5hYmxlIGxkYXAgYmFja2VuZCBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0tZW5hYmxlLWxkYXA9bW9kLC0tZW5hYmxlLWxkYXA9bm8sIgorCisjLS1lbmFibGUtbWRiICAgICAgICAgIGVuYWJsZSBtZGIgZGF0YWJhc2UgYmFja2VuZCBub3x5ZXN8bW9kIFt5ZXNdCitQQUNLQUdFQ09ORklHW21kYl0gPSAiLS1lbmFibGUtbWRiPW1vZCwtLWVuYWJsZS1tZGI9bm8sIgorCisjLS1lbmFibGUtbWV0YSAgICAgICAgIGVuYWJsZSBtZXRhZGlyZWN0b3J5IGJhY2tlbmQgbm98eWVzfG1vZCBubworUEFDS0FHRUNPTkZJR1ttZXRhXSA9ICItLWVuYWJsZS1tZXRhPW1vZCwtLWVuYWJsZS1tZXRhPW5vLCIKKworIy0tZW5hYmxlLW1vbml0b3IgICAgICBlbmFibGUgbW9uaXRvciBiYWNrZW5kIG5vfHllc3xtb2QgeWVzCitQQUNLQUdFQ09ORklHW21vbml0b3JdID0gIi0tZW5hYmxlLW1vbml0b3I9bW9kLC0tZW5hYmxlLW1vbml0b3I9bm8sIgorCisjLS1lbmFibGUtbmRiICAgICAgICAgIGVuYWJsZSBNeVNRTCBOREIgQ2x1c3RlciBiYWNrZW5kIG5vfHllc3xtb2QgW25vXQorUEFDS0FHRUNPTkZJR1tuZGJdID0gIi0tZW5hYmxlLW5kYj1tb2QsLS1lbmFibGUtbmRiPW5vLCIKKworIy0tZW5hYmxlLW51bGwgICAgICAgICBlbmFibGUgbnVsbCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KK1BBQ0tBR0VDT05GSUdbbnVsbF0gPSAiLS1lbmFibGUtbnVsbD1tb2QsLS1lbmFibGUtbnVsbD1ubywiCisKKyMtLWVuYWJsZS1wYXNzd2QgICAgICAgZW5hYmxlIHBhc3N3ZCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KK1BBQ0tBR0VDT05GSUdbcGFzc3dkXSA9ICItLWVuYWJsZS1wYXNzd2Q9bW9kLC0tZW5hYmxlLXBhc3N3ZD1ubywiCisKKyMtLWVuYWJsZS1wZXJsICAgICAgICAgZW5hYmxlIHBlcmwgYmFja2VuZCBub3x5ZXN8bW9kIG5vCisjICBUaGlzIHJlcXVpcmVzIGEgbG9hZGFibGUgcGVybCBkeW5hbWljIGxpYnJhcnksIGlmIGVuYWJsZWQgd2l0aG91dAorIyAgZG9pbmcgc29tZXRoaW5nIGFwcHJvcHJpYXRlIChidWlsZGluZyBwZXJsPykgdGhlIGJ1aWxkIHdpbGwgcGljaworIyAgdXAgdGhlIGJ1aWxkIG1hY2hpbmUgcGVybCAtIG5vdCBnb29kIChpbmhlcml0IHBlcmxuYXRpdmU/KQorUEFDS0FHRUNPTkZJR1twZXJsXSA9ICItLWVuYWJsZS1wZXJsPW1vZCwtLWVuYWJsZS1wZXJsPW5vLHBlcmwiCisKKyMtLWVuYWJsZS1yZWxheSAgICAgICAgZW5hYmxlIHJlbGF5IGJhY2tlbmQgbm98eWVzfG1vZCBbeWVzXQorUEFDS0FHRUNPTkZJR1tyZWxheV0gPSAiLS1lbmFibGUtcmVsYXk9bW9kLC0tZW5hYmxlLXJlbGF5PW5vLCIKKworIy0tZW5hYmxlLXNoZWxsICAgICAgICBlbmFibGUgc2hlbGwgYmFja2VuZCBub3x5ZXN8bW9kIG5vCisjIGNvbmZpZ3VyZTogV0FSTklORzogVXNlIG9mIC0td2l0aG91dC10aHJlYWRzIGlzIHJlY29tbWVuZGVkIHdpdGggYmFjay1zaGVsbAorUEFDS0FHRUNPTkZJR1tzaGVsbF0gPSAiLS1lbmFibGUtc2hlbGw9bW9kIC0td2l0aG91dC10aHJlYWRzLC0tZW5hYmxlLXNoZWxsPW5vLCIKKworIy0tZW5hYmxlLXNvY2sgICAgICAgICBlbmFibGUgc29jayBiYWNrZW5kIG5vfHllc3xtb2QgW25vXQorUEFDS0FHRUNPTkZJR1tzb2NrXSA9ICItLWVuYWJsZS1zb2NrPW1vZCwtLWVuYWJsZS1zb2NrPW5vLCIKKworIy0tZW5hYmxlLXNxbCAgICAgICAgICBlbmFibGUgc3FsIGJhY2tlbmQgbm98eWVzfG1vZCBubworIyBzcWwgcmVxdWlyZXMgc29tZSBzcWwgYmFja2VuZCB3aGljaCBwcm92aWRlcyBzcWwuaCwgc3FsaXRlKiBwcm92aWRlcworIyBzcWxpdGUuaCAod2hpY2ggbWF5IGJlIGNvbXBhdGlibGUgYnV0IGhhc24ndCBiZWVuIHRyaWVkLikKK1BBQ0tBR0VDT05GSUdbc3FsXSA9ICItLWVuYWJsZS1zcWw9bW9kLC0tZW5hYmxlLXNxbD1ubyxzcWxpdGUzIgorCisjLS1lbmFibGUtZHluZ3JvdXAgICAgIER5bmFtaWMgR3JvdXAgb3ZlcmxheSBub3x5ZXN8bW9kIG5vCisjICBUaGlzIGlzIGEgZGVtbywgUHJveHkgQ2FjaGUgZGVmaW5lcyBpbml0X21vZHVsZSB3aGljaCBjb25mbGljdHMgd2l0aCB0aGUKKyMgIHNhbWUgc3ltYm9sIGluIGR5bmdyb3VwCitQQUNLQUdFQ09ORklHW2R5bmdyb3VwXSA9ICItLWVuYWJsZS1keW5ncm91cD1tb2QsLS1lbmFibGUtZHluZ3JvdXA9bm8sIgorCisjLS1lbmFibGUtcHJveHljYWNoZSAgIFByb3h5IENhY2hlIG92ZXJsYXkgbm98eWVzfG1vZCBubworUEFDS0FHRUNPTkZJR1twcm94eWNhY2hlXSA9ICItLWVuYWJsZS1wcm94eWNhY2hlPW1vZCwtLWVuYWJsZS1wcm94eWNhY2hlPW5vLCIKK0ZJTEVTXyR7UE59LW92ZXJsYXktcHJveHljYWNoZSA9ICIke21kfS9wY2FjaGUtKi5zby4qIgorUEFDS0FHRVMgKz0gIiR7UE59LW92ZXJsYXktcHJveHljYWNoZSIKKworIyBBcHBlbmQgVVJBTkRPTV9ERVZJQ0U9Jy9kZXYvdXJhbmRvbScgdG8gQ1BQRkxBR1M6CisjIFRoaXMgYWxsb3dzIHRscyB0byBvYnRhaW4gcmFuZG9tIGJpdHMgZnJvbSAvZGV2L3VyYW5kb20sIGJ5IGRlZmF1bHQKKyMgaXQgd2FzIGRpc2FibGVkIGZvciBjcm9zcy1jb21waWxpbmcuCitDUFBGTEFHU19hcHBlbmQgPSAiIC1EX0dOVV9TT1VSQ0UgLURVUkFORE9NX0RFVklDRT1cJy9kZXYvdXJhbmRvbVwnIgorCitMREZMQUdTICs9ICItcHRocmVhZCIKKworZG9fY29uZmlndXJlKCkgeworICAgIGNwICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vbGlidG9vbC9idWlsZC1hdXgvbHRtYWluLnNoICR7U30vYnVpbGQKKyAgICBybSAtZiAke1N9L2xpYnRvb2wKKyAgICBhY2xvY2FsCisgICAgbGlidG9vbGl6ZSAtLWZvcmNlIC0tY29weQorICAgIGdudS1jb25maWdpemUKKyAgICBhdXRvY29uZgorICAgIG9lX3J1bmNvbmYKK30KKworTEVBRF9TT05BTUUgPSAibGlibGRhcC0ke0xEQVBfVkVSfS5zby4qIgorCisjIFRoZSBleGVjdXRhYmxlcyBnbyBpbiBhIHNlcGFyYXRlIHBhY2thZ2UuICBUaGlzIGFsbG93cyB0aGUKKyMgaW5zdGFsbGF0aW9uIG9mIHRoZSBsaWJyYXJpZXMgd2l0aCBubyBkYWVtb24gc3VwcG9ydC4KKyMgRWFjaCBtb2R1bGUgYWxzbyBoYXMgaXRzIG93biBwYWNrYWdlIC0gc2VlIGFib3ZlLgorUEFDS0FHRVMgKz0gIiR7UE59LXNsYXBkICR7UE59LXNsdXJwZCAke1BOfS1iaW4iCisKKyMgUGFja2FnZSBjb250ZW50cyAtIHNoaWZ0IG1vc3Qgc3RhbmRhcmQgY29udGVudHMgdG8gLWJpbgorRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiAke3N5c2NvbmZkaXJ9L29wZW5sZGFwL2xkYXAuKiAke2xvY2Fsc3RhdGVkaXJ9LyR7QlBOfS9kYXRhIgorRklMRVNfJHtQTn0tc2xhcGQgPSAiJHtzeXNjb25mZGlyfS9pbml0LmQgJHtsaWJleGVjZGlyfS9zbGFwZCAke3NiaW5kaXJ9ICR7bG9jYWxzdGF0ZWRpcn0vcnVuICR7bG9jYWxzdGF0ZWRpcn0vdm9sYXRpbGUvcnVuIFwKKyAgICAke3N5c2NvbmZkaXJ9L29wZW5sZGFwL3NsYXBkLiogJHtzeXNjb25mZGlyfS9vcGVubGRhcC9zY2hlbWEgXAorICAgICR7c3lzY29uZmRpcn0vb3BlbmxkYXAvREJfQ09ORklHLmV4YW1wbGUgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qIgorRklMRVNfJHtQTn0tc2x1cnBkID0gIiR7bGliZXhlY2Rpcn0vc2x1cnBkICR7bG9jYWxzdGF0ZWRpcn0vb3BlbmxkYXAtc2x1cnAgJHtsb2NhbHN0YXRlZGlyfS9ydW4gJHtsb2NhbHN0YXRlZGlyfS92b2xhdGlsZS9ydW4iCitGSUxFU18ke1BOfS1iaW4gPSAiJHtiaW5kaXJ9IgorRklMRVNfJHtQTn0tZGV2ID0gIiR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9L2xpYiouc28gJHtsaWJkaXJ9LyoubGEgJHtsaWJkaXJ9LyouYSAke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLyouYSAke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLyoubGEgJHtsaWJleGVjZGlyfS9vcGVubGRhcC8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLy5kZWJ1ZyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBjYXQgJHtXT1JLRElSfS9pbml0c2NyaXB0ID4gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW5sZGFwCisgICAgY2htb2QgNzU1ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9vcGVubGRhcAorICAgICMgVGhpcyBpcyBkdXBsaWNhdGVkIGluIC9ldGMvb3BlbmxkYXAgYW5kIGlzIGZvciBzbGFwZAorICAgIHJtIC1mICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L29wZW5sZGFwLWRhdGEvREJfQ09ORklHLmV4YW1wbGUKKworICAgICMgSW5zdGFsbGluZyBzbGFwZCB1bmRlciAke3NiaW59IGlzIG1vcmUgRkhTIGFuZCBMU0IgY29tcGxpYW5jZQorICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3NsYXBkICR7RH0vJHtzYmluZGlyfS9zbGFwZAorICAgIFNMQVBUT09MUz0ic2xhcGFkZCBzbGFwY2F0IHNsYXBkbiBzbGFwaW5kZXggc2xhcHBhc3N3ZCBzbGFwdGVzdCBzbGFwYXV0aCBzbGFwYWNsIHNsYXBzY2hlbWEiCisgICAgY2QgJHtEfS8ke3NiaW5kaXJ9LworICAgIHJtIC1mICR7U0xBUFRPT0xTfQorICAgIGZvciBpIGluICR7U0xBUFRPT0xTfTsgZG8gbG4gLXNmIHNsYXBkICRpOyBkb25lCisKKyAgICBybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc2xhcGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKi5zZXJ2aWNlCisKKyAgICAjIFVzZXMgbWRtIGFzIHRoZSBkYXRhYmFzZQorICAgICMgIGFuZCBsb2NhbHN0YXRlZGlyIGFzIGRhdGEgZGlyZWN0b3J5IC4uLgorICAgIHNlZCAtZSAncy8jIG1vZHVsZXBhdGgvbW9kdWxlcGF0aC8nIFwKKyAgICAgICAgLWUgJ3MvIyBtb2R1bGVsb2FkXHMqYmFja19iZGIuKi9tb2R1bGVsb2FkICAgIGJhY2tfbWRiLycgXAorICAgICAgICAtZSAncy9kYXRhYmFzZVxzKmJkYi9kYXRhYmFzZSAgICAgICAgbWRiLycgXAorICAgICAgICAtZSAncyVeZGlyZWN0b3J5XHMqLiolZGlyZWN0b3J5ICAgJHtsb2NhbHN0YXRlZGlyfS8ke0JQTn0vZGF0YS8lJyBcCisgICAgICAgIC1pICR7RH0ke3N5c2NvbmZkaXJ9L29wZW5sZGFwL3NsYXBkLmNvbmYKKworICAgIG1rZGlyIC1wICR7RH0ke2xvY2Fsc3RhdGVkaXJ9LyR7QlBOfS9kYXRhCisKKworfQorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59LXNsYXBkIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LXNsYXBkID0gIm9wZW5sZGFwIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0tc2xhcGQgPSAiZGVmYXVsdHMiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tc2xhcGQgPSAiaG9zdGFwZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRV8ke1BOfS1zbGFwZCA/PSAiZGlzYWJsZSIKKworCitQQUNLQUdFU19EWU5BTUlDICs9ICJeJHtQTn0tYmFja2VuZHMuKiBeJHtQTn0tYmFja2VuZC0uKiIKKworIyBUaGUgbW9kdWxlcyByZXF1aXJlIHRoZWlyIC5zbyB0byBiZSBkeW5hbWljYWx5IGxvYWRlZAorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1kbnNzcnYgICs9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLWxkYXAgICAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbWV0YSAgICArPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1tZGIgICAgICs9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLW1vbml0b3IgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbnVsbCAgICArPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1wYXNzd2QgICs9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLXNoZWxsICAgKz0gImRldi1zbyIKKworCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgYmFja2VuZF9kaXIgICAgPSBkLmV4cGFuZCgnJHtsaWJleGVjZGlyfS9vcGVubGRhcCcpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmFja2VuZF9kaXIsICdiYWNrXyhbYS16XSopXC5zbyQnLCAnb3BlbmxkYXAtYmFja2VuZC0lcycsICdPcGVuTERBUCAlcyBiYWNrZW5kJywgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhY2tlbmRfZGlyLCAnYmFja18oW2Etel0qKVwtLipcLnNvXC4uKiQnLCAnb3BlbmxkYXAtYmFja2VuZC0lcycsICdPcGVuTERBUCAlcyBiYWNrZW5kJywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKKworICAgIG1ldGFwa2cgPSAiJHtQTn0tYmFja2VuZHMiCisgICAgZC5zZXRWYXIoJ0FMTE9XX0VNUFRZXycgKyBtZXRhcGtnLCAiMSIpCisgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBtZXRhcGtnLCAiIikKKyAgICBtZXRhcGtnX3JkZXBlbmRzID0gW10KKyAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycsIDEpLnNwbGl0KCkKKyAgICBmb3IgcGtnIGluIHBhY2thZ2VzWzE6XToKKyAgICAgICAgaWYgcGtnLmNvdW50KCJvcGVubGRhcC1iYWNrZW5kLSIpIGFuZCBub3QgcGtnIGluIG1ldGFwa2dfcmRlcGVuZHMgYW5kIG5vdCBwa2cuY291bnQoIi1kZXYiKSBhbmQgbm90IHBrZy5jb3VudCgiLWRiZyIpIGFuZCBub3QgcGtnLmNvdW50KCJzdGF0aWMiKSBhbmQgbm90IHBrZy5jb3VudCgibG9jYWxlIik6CisgICAgICAgICAgICBtZXRhcGtnX3JkZXBlbmRzLmFwcGVuZChwa2cpCisgICAgZC5zZXRWYXIoJ1JERVBFTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihtZXRhcGtnX3JkZXBlbmRzKSkKKyAgICBkLnNldFZhcignREVTQ1JJUFRJT05fJyArIG1ldGFwa2csICdPcGVuTERBUCBiYWNrZW5kcyBtZXRhIHBhY2thZ2UnKQorICAgIHBhY2thZ2VzLmFwcGVuZChtZXRhcGtnKQorICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsICcgJy5qb2luKHBhY2thZ2VzKSkKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5tb3RpZi9vcGVubW90aWYvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubW90aWYvb3Blbm1vdGlmL2NvbmZpZ3VyZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODY4ZTgwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubW90aWYvb3Blbm1vdGlmL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDE1IEBACistLS0gYS9jb25maWd1cmUuYWN+CTIwMDktMTAtMjcgMTQ6MTA6MjMuMDAwMDAwMDAwIC0wMjAwCisrKysgYi9jb25maWd1cmUuYWMJMjAxMS0wNS0zMSAxMDo1MTowMC4yMDcyMzIwMzYgLTAzMDAKK0BAIC0zLDEyICszLDYgQEAKKyBBQ19DT05GSUdfU1JDRElSKFtsaWIvWG0vRm9ybS5jXSkKKyBBQ19QUkVSRVEoMi41MikKKyBBQ19DT05GSUdfQVVYX0RJUiguKQorLUFDX0NIRUNLX0ZJTEUoL3Vzci9YL2luY2x1ZGUvWDExL1guaCwKKy0gIEFDX1BSRUZJWF9ERUZBVUxUKC91c3IvWCksCistICBBQ19QUkVGSVhfREVGQVVMVCgvdXNyKSkKKy1BQ19DSEVDS19GSUxFKC91c3IvWDExUjYvaW5jbHVkZS9YMTEvWC5oLAorLSAgQUNfUFJFRklYX0RFRkFVTFQoL3Vzci9YMTFSNiksCistICBBQ19QUkVGSVhfREVGQVVMVCgvdXNyKSkKKyAKKyBkbmwgQU1fTUFJTlRBSU5FUl9NT0RFCisgQUNfQ0FOT05JQ0FMX1RBUkdFVApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubW90aWYvb3Blbm1vdGlmXzIuMy4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubW90aWYvb3Blbm1vdGlmXzIuMy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiYWVkYTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5tb3RpZi9vcGVubW90aWZfMi4zLjMuYmIKQEAgLTAsMCArMSw0OCBAQAorU0VDVElPTiA9ICJsaWJzIgorU1VNTUFSWSA9ICJPU00vTW90aWYgaW1wbGVtZW50YXRpb24iCitMSUNFTlNFID0gIk9HUEwiCitERVBFTkRTID0gInhiaXRtYXBzIHZpcnR1YWwvbGlieDExIGxpYnh0IGxpYnhmdCB4cHJvdG8iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTE0ZjY5MmM4MjQ5MWRiM2Q1MjQxOTkyOWQyZjNiMzQzIgorCitQUiA9ICJyMyIKKworUE5CTEFDS0xJU1Rbb3Blbm1vdGlmXSA/PSAiQlJPS0VOOiBkb2Vzbid0IGJ1aWxkIHdpdGggQiE9UyIKKworU1JDX1VSSSA9ICJodHRwOi8vbW90aWYuaWNzLmNvbS9zaXRlcy9kZWZhdWx0L2ZpbGVzL29wZW5tb3RpZi0yLjMuMy50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLnBhdGNoO3BhdGNoPTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmZDI3Y2QzMzY5ZDZjN2Q1ZWY3OWVjY2JhNTI0ZjdiZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjODVmNTU0NWUyMThmYTBjNTlhMzc4OTE5MjEzMmQ0NzJmYzVhMzNlOTE0YTIyMWE1NjhlZWU0ZmMxMGNkMTAzIgorCitpbmhlcml0IGF1dG90b29scworCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItLWVuYWJsZS1qcGVnLC0tZGlzYWJsZS1qcGVnLGpwZWciCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLS1lbmFibGUtcG5nLC0tZGlzYWJsZS1wbmcsbGlicG5nIgorCitFWFRSQV9PRUNPTkYgPSAiWF9DRkxBR1M9LUkke1NUQUdJTkdfSU5DRElSfSAtLWRpc2FibGUtcHJpbnRpbmciCisKK1BBQ0tBR0VTICs9ICIke1BOfS1iaW4iCisKK0ZJTEVTXyR7UE59LWJpbiA9ICIke2JpbmRpcn0iCisKK2RvX2NvbXBpbGUoKSB7CisgICAgKAorICAgICAgICAjIEhBQ0s6IGJ1aWxkIGEgbmF0aXZlIGJpbmFyaWVzIG5lZWQgZHVyaW5nIHRoZSBidWlsZAorICAgICAgICB1bnNldCBDQyBMRCBDWFggQ0NMRCBDRkxBR1MKKyAgICAgICAgb2VfcnVubWFrZSAtQyBjb25maWcvdXRpbCBDQz0iJHtCVUlMRF9DQ30iIExEPSIke0JVSUxEX0xEfSIgQ1hYPSIke0JVSUxEX0NYWH0iIExJQlM9IiIgbWFrZXN0cnMKKyAgICApCisgICAgaWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCisgICAgICAgIGV4aXQgMQorICAgIGZpCisgICAgb2VfcnVubWFrZSAtQyBsaWIKKyAgICBvZV9ydW5tYWtlIC1DIGluY2x1ZGUKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSAtQyBsaWIgaW5zdGFsbAorICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IC1DIGluY2x1ZGUgaW5zdGFsbAorfQorCitMRUFEX1NPTkFNRSA9ICJsaWJYbS5zby40IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc2Mvb3BlbnNjXzAuMTUuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnNjL29wZW5zY18wLjE1LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTExYjNkOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnNjL29wZW5zY18wLjE1LjAuYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJTbWFydCBjYXJkIGxpYnJhcnkgYW5kIGFwcGxpY2F0aW9ucyIKK0RFU0NSSVBUSU9OID0gIk9wZW5TQyBpcyBhIHRvb2wgZm9yIGFjY2Vzc2luZyBzbWFydCBjYXJkIGRldmljZXMuIEJhc2ljXAorZnVuY3Rpb25hbGl0eSAoZS5nLiBTRUxFQ1QgRklMRSwgUkVBRCBCSU5BUlkpIHNob3VsZCB3b3JrIG9uIGFueSBJU09cCis3ODE2LTQgY29tcGF0aWJsZSBzbWFydCBjYXJkLiBFbmNyeXB0aW9uIGFuZCBkZWNyeXB0aW9uIHVzaW5nIHByaXZhdGVcCitrZXlzIG9uIHRoZSBzbWFydCBjYXJkIGlzIHBvc3NpYmxlIHdpdGggUEtDU1wKK3N1Y2ggYXMgdGhlIEZJTkVJRCAoRmlubmlzaCBFbGVjdHJvbmljIElEZW50aXR5KSBjYXJkLiBTd2VkaXNoIFBvc3RlblwKK2VJRCBjYXJkcyBoYXZlIGFsc28gYmVlbiBjb25maXJtZWQgdG8gd29yay4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNjLXByb2plY3Qub3JnL29wZW5zYy8iCitTRUNUSU9OID0gIlN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMiCisKK1NSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL28vJHtCUE59LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImYyNjYwMjRlNWE5NjMwODIxZmZhMGFjMTRmNzJlMzY5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhmOGY4Y2Y1MmUwMjUyMzM0ZTRkZmRjY2NhODI5Yjg3NmEzZGU2MzQwZGViNzcyYWEwYmZlMGMwY2MxMGVhZjUiCisKK1MgPSAiJHtXT1JLRElSfS9PcGVuU0MtJHtQVn0iCitERVBFTkRTID0gIm9wZW5jdCBwY3NjLWxpdGUgdmlydHVhbC9saWJpY29udiBvcGVuc3NsIgorCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03ZmJjMzM4MzA5YWMzOGZlZmNkNjRiMDRiYjkwM2UzNCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1zdGF0aWMgXAorICAgIC0tZW5hYmxlLW9wZW5jdCBcCisgICAgLS1kaXNhYmxlLXBjc2MgXAorICAgIC0tZGlzYWJsZS1jdGFwaSBcCisgICAgLS1kaXNhYmxlLWRvYyBcCisiCitFWFRSQV9PRU1BS0UgPSAiREVTVERJUj0ke0R9IgorCitSREVQRU5EU18ke1BOfSA9ICJyZWFkbGluZSIKKworRklMRVNfJHtQTn0gKz0gIlwKKyAgICAke2xpYmRpcn0vb3BlbnNjLXBrY3MxMS5zbyBcCisgICAgJHtsaWJkaXJ9L29uZXBpbi1vcGVuc2MtcGtjczExLnNvIFwKKyAgICAke2xpYmRpcn0vcGtjczExLXNweS5zbyBcCisiCitGSUxFU18ke1BOfS1kZXYgKz0gIlwKKyAgICAke2xpYmRpcn0vcGtjczExL29wZW5zYy1wa2NzMTEuc28gXAorICAgICR7bGliZGlyfS9wa2NzMTEvb25lcGluLW9wZW5zYy1wa2NzMTEuc28gXAorICAgICR7bGliZGlyfS9wa2NzMTEvcGtjczExLXNweS5zbyBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zeW5jL2xpYnN5bmNtbF8wLjUuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnN5bmMvbGlic3luY21sXzAuNS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViZjY1YzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zeW5jL2xpYnN5bmNtbF8wLjUuNC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkxpYnN5bmNtbCBpcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU3luY01MIHByb3RvY29sIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9saWJzeW5jbWwub3BlbnN5bmMub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYWQ5YjMzMzJiZTg5NGJhYjliYzUwMTU3Mjg2NGIyOSIKKworREVQRU5EUyA9ICJsaWJ4bWwyIGdsaWItMi4wIGxpYnNvdXAtMi40IG9wZW5vYmV4IHdieG1sMiIKKworIyBEZXBlbmRzIG9uIG9wZW5vYmV4CitQTkJMQUNLTElTVFtsaWJzeW5jbWxdID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV6NScsICdibHVlejUgY29uZmxpY3RzIHdpdGggYmx1ZXo0IGFuZCBibHVlejUgaXMgc2VsZWN0ZWQgaW4gRElTVFJPX0ZFQVRVUkVTJywgJycsIGQpfSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbGlic3luY21sL2xpYnN5bmNtbC0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiODQ4NzllZDdjYjk0NjE4NTMwZmJjYjgwMWExYTRmOTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDVkNjUxMzYzN2FkYjEzMDBhM2E1OGI2ZTI5ZDUzYWI2MzczYzhmMzcwODA3ZDBkOTI1YmFlNzJiMjkyMGU1MyIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcKKworUEFDS0FHRVMgKz0gIiR7UE59LXRvb2xzIgorCitGSUxFU18ke1BOfS10b29scyA9ICIke2JpbmRpcn0iCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc3luYy93YnhtbDJfMC4xMC44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc3luYy93YnhtbDJfMC4xMC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkMTViYmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zeW5jL3dieG1sMl8wLjEwLjguYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJXQlhNTCBwYXJzaW5nIGFuZCBlbmNvZGluZyBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL2xpYndieG1sLm9wZW5zeW5jLm9yZy8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWMxMTI4ZWU1MzQxY2NkNTkyN2Q4YmFmZTRiNjI2NmUxIgorCitERVBFTkRTID0gImV4cGF0IgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9saWJ3YnhtbC9saWJ3YnhtbC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmNTAzMWU5ZjczMGZmZDlkYzZhMmQxZGVkNTg1ZTFkMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhMDU3ZGFhMDk4ZjEyODM4ZWI0ZTYzNWJiMjg0MTMwMjdmMWI3MzgxOTg3MmMzZmJmNjRlMzIwNzc5MGEzZjdkIgorCitTID0gIiR7V09SS0RJUn0vbGlid2J4bWwtJHtQVn0iCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCisKK0VYVFJBX09FQ01BS0UgPSAiLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJywgVHJ1ZSkucmVwbGFjZSgnbGliJywgJycpfSIKKworUEFDS0FHRVMgKz0gIiR7UE59LXRvb2xzIgorCitGSUxFU18ke1BOfS10b29scyA9ICIke2JpbmRpcn0iCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9jaGVja3NlcnZlcmtleSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vY2hlY2tzZXJ2ZXJrZXkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmNmYTM2MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vY2hlY2tzZXJ2ZXJrZXkKQEAgLTAsMCArMSwyMCBAQAorIyEvYmluL2Jhc2gKKworaWYgWyAhIC1mICIvZXRjL29wZW53YmVtL3NlcnZlcmtleS5wZW0iIF07IHRoZW4KKwlpZiBbIC1mICIvZXRjL3NzbC9zZXJ2ZXJjZXJ0cy9zZXJ2ZXJjZXJ0LnBlbSIgXAorCSAgICAgLWEgLWYgIi9ldGMvc3NsL3NlcnZlcmNlcnRzL3NlcnZlcmtleS5wZW0iIF07IHRoZW4KKwkJZWNobyAiVXNpbmcgY29tbW9uIHNlcnZlciBjZXJ0aWZpY2F0ZSAvZXRjL3NzbC9zZXJ2ZXJjZXJ0cy9zZXJ2ZXJjZXJ0LnBlbSIKKwkJbG4gLXMgL2V0Yy9zc2wvc2VydmVyY2VydHMvc2VydmVye2NlcnQsa2V5fS5wZW0gL2V0Yy9vcGVud2JlbS8KKwllbHNlCisJCWVjaG8gIkZBSUxFRDogU3RhcnRpbmcgT3BlbldCRU0gc2VydmVyIgorCQllY2hvICJUaGVyZSBpcyBubyBzc2wgc2VydmVyIGtleSBhdmFpbGFibGUgZm9yIE9wZW5XQkVNIHNlcnZlciB0byB1c2UuIgorCQllY2hvIC1lICJQbGVhc2UgZ2VuZXJhdGUgb25lIHdpdGggdGhlIGZvbGxvd2luZyBzY3JpcHQgYW5kIHN0YXJ0IHRoZSBPcGVuV0JFTSBzZXJ2aWNlIGFnYWluOlxuIgorCQllY2hvICIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIgorCQllY2hvICIvZXRjL29wZW53YmVtL293Z2VuY2VydCIKKwkJZWNobyAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IgorCisJCWVjaG8gIk5PVEU6IFRoZSBzY3JpcHQgdXNlcyAvZGV2L3JhbmRvbSBkZXZpY2UgZm9yIGdlbmVyYXRpbmcgc29tZSByYW5kb20gYml0cyB3aGlsZSBnZW5lcmF0aW5nIHRoZSBzZXJ2ZXIga2V5LiIKKwkJZWNobyAiICAgICAgSWYgdGhpcyB0YWtlcyB0b28gbG9uZywgeW91IGNhbiByZXBsYWNlIHRoZSB2YWx1ZSBvZiBcIlJBTkRGSUxFXCIgaW4gL2V0Yy9vcGVud3NtYW4vc3NsZWF5LmNuZiB3aXRoIC9kZXYvdXJhbmRvbS4gUGxlYXNlIHVuZGVyc3RhbmQgdGhlIGltcGxpY2F0aW9ucyIKKwkJZXhpdCAxCisJZmkKK2ZpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL2xvYWRtb2Yuc2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL2xvYWRtb2Yuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQ4NzgxMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vbG9hZG1vZi5zaApAQCAtMCwwICsxLDExOCBAQAorIyEvYmluL3NoCisjIAorIyBvcHRpb25zOgorIyBsb2FkbW9mLnNoIDxNT0ZfUEFUSD4gPE5BTUVTUEFDRT4gPEZJTEVTPgorIworIyAtIG9yIC0KKyMKKyMgb3B0aW9uczoKKyMgbG9hZG1vZi5zaCAtbiA8TkFNRVNQQUNFPiA8RklMRVM+IFsuLi5dCisjCisjIFRoZSBmb3JtZXIgaXMgcHJlc2VydmVkIGZvciBjb21wYXRpYmlsaXR5IHdpdGggUGVnYXN1cyBhbmQgCisjIHNibGltIHByb3ZpZGVycy4gIFRoZSBsYXR0ZXIgaXMgcHJlZmVycmVkLiAgSWYgJDEgaXMgIi1uIiwKKyMgdGhlIGxhdHRlciBjb2RlIHBhdGggaXMgZXhlY3V0ZWQuICBPdGhlcndpc2UgdGhlIGZvcm1lciBpcyAKKyMgZXhlY3V0ZWQuCisKK2lmIFsgIngkMSIgIT0gIngtbiIgLWEgIngkMSIgIT0gIngtdiIgXTsgdGhlbgorIyBPTEQgU1RZTEUKK2lmIFsgLWYgIi9ldGMvaW5pdC5kL293Y2ltb21kIiBdOyB0aGVuCisgICAgL2V0Yy9pbml0LmQvb3djaW1vbWQgc3RhdHVzIDE+JjIgPiAvZGV2L251bGwKKyAgICBpZiBbICQ/ID0gIjAiIF07IHRoZW4KKyAgICAgICAgQ0lNT01fUlVOTklORz0idHJ1ZSIKKyAgICBlbHNlCisgICAgICAgIENJTU9NX1JVTk5JTkc9ImZhbHNlIgorICAgIGZpCitlbHNlCisgICAgZXhpdCAxCitmaQoraWYgWyAiJFlBU1RfSVNfUlVOTklORyIgPSAiaW5zdHN5cyIgXTsgdGhlbgorICBDSU1PTV9SVU5OSU5HPSJmYWxzZSIKK2ZpCisKK0NJTU9NPSQxCitzaGlmdAorY2FzZSAiJENJTU9NIiBpbgorICAgIHBlZ2FzdXMpCisgICAgICAgIGV4aXQgMAorICAgIDs7Citlc2FjCitNT0ZfUEFUSD0kMQorc2hpZnQKK05TPSQxCitzaGlmdAorCitSRVBPU0lUT1JZPSIvdmFyL2xpYi9vcGVud2JlbSIKKyN0bXBfZGlyPWBta3RlbXAgLWQgLXAgL3RtcCBvcGVud2JlbS5YWFhYWFhgCitjYXNlICIkQ0lNT01fUlVOTklORyIgaW4gCisgICAgdHJ1ZXxmYWxzZSkKKyAgICB3aGlsZSBbICIkIyIgLWd0IDAgXQorICAgIGRvCisgICAgICAgIGVjaG8gIkxvYWRpbmcgJE1PRl9QQVRILyQxIgorICAgICAgICAjc2VkICJzL2NtcGk6L2NtcGk6Oi9nIiAkTU9GX1BBVEgvJDEgPiAkdG1wX2Rpci8kMQorICAgICAgICAvdXNyL2Jpbi9vd21vZmMgLWMgLW4gICROUyAtZCAkUkVQT1NJVE9SWSAkTU9GX1BBVEgvJDEgPiAvZGV2L251bGwgMj4mMQorICAgICAgICBzaGlmdAorICAgIGRvbmUKKyAgICA7OworZXNhYworI3JtIC1yZiAkdG1wX2RpcgorIyBFTkQgT0xEIFNUWUxFCisKK2Vsc2UKKyMgTkVXIFNUWUxFCitpZiBbICJ4JDMiID0gIngiIF07IHRoZW4KKyAgICBlY2hvICJVc2FnZTogJDAgLW4gPE5BTUVTUEFDRT4gPEZJTEVTPiBbLi4uXSIKKyAgICBleGl0IDEKK2ZpCisKK2lmIFsgIngkMSIgPSAieC12IiBdOyB0aGVuCisgIFZFUkJPU0U9MQorICBzaGlmdAorZmkKKworIyBnZXQgcmlkIG9mICItbiIgYXJnCitzaGlmdCAKKworTlM9IiQxIgorCitzaGlmdCAKKworREJESVI9L3Zhci9saWIvb3BlbndiZW0KK0xPR0ZJTEU9JERCRElSL2xvYWRtb2YubG9nCitDSU1PTV9JTklUPS9ldGMvaW5pdC5kL293Y2ltb21kCitpZiBbICIkWUFTVF9JU19SVU5OSU5HIiAhPSAiaW5zdHN5cyIgXSA7IHRoZW4KKyAgICAkQ0lNT01fSU5JVCBzdGF0dXMgPiAvZGV2L251bGwgMj4mMQorICAgIENJTU9NX1JVTk5JTkc9JD8KK2ZpCitpZiBbICJ4JENJTU9NX1JVTk5JTkciID0gIngwIiAgXTsgdGhlbgorICAkQ0lNT01fSU5JVCBzdG9wID4gL2Rldi9udWxsIDI+JjEKK2ZpCitia3BkaXI9JERCRElSL2JhY2t1cC0kJAorbWtkaXIgJGJrcGRpcgorY3AgLWEgJERCRElSLyoue2RhdCxuZHgsbG9ja30gJGJrcGRpci8KK3JtIC1mICRMT0dGSUxFLjkKK2ZvciBpIGluIDggNyA2IDUgNCAzIDIgMSAwOyBkbworICBsZXQgbmV3ST0kaSsxCisgIGlmIFsgLWYgJExPR0ZJTEUuJGkgXTsgdGhlbgorICAgIG12ICRMT0dGSUxFLiRpICRMT0dGSUxFLiRuZXdJCisgIGZpCitkb25lCitpZiBbIC1mICRMT0dGSUxFIF07IHRoZW4KKyAgbXYgJExPR0ZJTEUgJExPR0ZJTEUuMAorZmkKK2lmIFsgIngkVkVSQk9TRSIgPSAieDEiIF07IHRoZW4KKyAgL3Vzci9iaW4vb3dtb2ZjIC1jIC1uICROUyAtZCAkREJESVIgLXMgL3Vzci9zaGFyZS9tb2YvY2ltLWN1cnJlbnQgIiRAIiAyPiYxIHwgdGVlICRMT0dGSUxFCitlbHNlCisgIC91c3IvYmluL293bW9mYyAtYyAtbiAkTlMgLWQgJERCRElSIC1zIC91c3Ivc2hhcmUvbW9mL2NpbS1jdXJyZW50ICIkQCIgPiAkTE9HRklMRSAyPiYxCitmaQorUlZBTD0kPworaWYgWyAieCRSVkFMIiAhPSAieDAiIF07IHRoZW4KKyAgZWNobyAiTU9GIGltcG9ydCBmYWlsZWQhICBDaGVjayAkTE9HRklMRSBmb3IgZGV0YWlscy4iCisgIG12ICRia3BkaXIvKiAkREJESVIvCitmaQorcm0gLXJmICRia3BkaXIKK2lmIFsgIngkQ0lNT01fUlVOTklORyIgPSAieDAiICBdOyB0aGVuCisgICRDSU1PTV9JTklUIHN0YXJ0ID4gL2Rldi9udWxsIDI+JjEKK2ZpCitleGl0ICRSVkFMCitmaQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL25vdmVsbC1vcGVud2JlbS1yb290LWFjbC5tb2YgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL25vdmVsbC1vcGVud2JlbS1yb290LWFjbC5tb2YKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk5NzBjNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vbm92ZWxsLW9wZW53YmVtLXJvb3QtYWNsLm1vZgpAQCAtMCwwICsxLDIxIEBACisjcHJhZ21hIG5hbWVzcGFjZSgicm9vdC9zZWN1cml0eSIpCisKK2luc3RhbmNlIG9mIE9wZW5XQkVNX05hbWVzcGFjZUFDTAoreworCW5zcGFjZSA9ICJyb290IjsKKwljYXBhYmlsaXR5ID0gIiI7Cit9OworCitpbnN0YW5jZSBvZiBPcGVuV0JFTV9OYW1lc3BhY2VBQ0wKK3sKKwluc3BhY2UgPSAicm9vdC9jaW12MiI7CisJY2FwYWJpbGl0eSA9ICIiOworfTsKKworaW5zdGFuY2Ugb2YgT3BlbldCRU1fVXNlckFDTAoreworCW5zcGFjZSA9ICJyb290L2NpbXYyIjsKKwl1c2VybmFtZSA9ICJyb290IjsKKwljYXBhYmlsaXR5ID0gInJ3IjsKK307CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vb3BlbndiZW0tZXRjX3BhbS5kX29wZW53YmVtIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9vcGVud2JlbS1ldGNfcGFtLmRfb3BlbndiZW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjM3ODVhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vb3BlbndiZW0tZXRjX3BhbS5kX29wZW53YmVtCkBAIC0wLDAgKzEsNyBAQAorIyVQQU0tMS4wCithdXRoICAgICAgIHJlcXVpcmVkCXBhbV91bml4Mi5zbwludWxsb2sKK2F1dGggICAgICAgcmVxdWlyZWQJcGFtX25vbG9naW4uc28KK2FjY291bnQgICAgcmVxdWlyZWQJcGFtX3VuaXgyLnNvCitwYXNzd29yZCAgIHJlcXVpcmVkCXBhbV9wd2NoZWNrLnNvCW51bGxvaworcGFzc3dvcmQgICByZXF1aXJlZAlwYW1fdW5peDIuc28JbnVsbG9rIHVzZV9maXJzdF9wYXNzIHVzZV9hdXRodG9rCitzZXNzaW9uICAgIHJlcXVpcmVkCXBhbV91bml4Mi5zbwlub25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL29wZW53YmVtLW93Y2ltb21kLmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL29wZW53YmVtLW93Y2ltb21kLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdmYThhNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vb3BlbndiZW0tb3djaW1vbWQuaW5pdApAQCAtMCwwICsxLDEzMSBAQAorIyEvYmluL3NoCisjCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiBvd2NpbW9tZAorIyBSZXF1aXJlZC1TdGFydDogJG5ldHdvcmsKKyMgUmVxdWlyZWQtU3RvcDogJG5ldHdvcmsKKyMgRGVmYXVsdC1TdGFydDogMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6IDAgMSA2IAorIyBTaG9ydC1EZXNjcmlwdGlvbjogT3BlbldCRU0gQ0lNT00gRGFlbW9uCisjIERlc2NyaXB0aW9uOiBvd2NpbW9tZAorIyAgICAgICBTdGFydC9TdG9wIHRoZSBPcGVuV0JFTSBDSU1PTSBEYWVtb24KKyMjIyBFTkQgSU5JVCBJTkZPCisjCisjCisjIGNoa2NvbmZpZzogMjM0NSAzNiA2NAorIyBkZXNjcmlwdGlvbjogT3BlbldCRU0gQ0lNT00gRGFlbW9uCisjIHByb2Nlc3NuYW1lOiBvd2NpbW9tZAorCitOQU1FPW93Y2ltb21kCitEQUVNT049L3Vzci9zYmluLyROQU1FCitPUFRJT05TPQorUElERklMRT0vdmFyL3J1bi8kTkFNRS5waWQKKworaWYgWyAkRVVJRCAhPSAwIF07IHRoZW4KKyBlY2hvICJUaGlzIHNjcmlwdCBtdXN0IGJlIHJ1biBhcyByb290LiIKKyBleGl0IDE7CitmaQorCitpZiBbICIkREVTQ1JJUFRJVkUiID0gIiIgXTsgdGhlbgorIERFU0NSSVBUSVZFPSJPcGVuV0JFTSBDSU1PTSBEYWVtb24iCitmaQorCitsb2NrZmlsZT0ke1NWSWxvY2s6LS92YXIvbG9jay9zdWJzeXMvJE5BTUV9CisKK1sgLXggJERBRU1PTiBdIHx8IGV4aXQgMAorCisjIFNlZSBob3cgd2Ugd2VyZSBjYWxsZWQuCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCitzdGFydCgpIHsKKyAgICBpZiBbICEgLWYgIi9ldGMvb3BlbndiZW0vc2VydmVya2V5LnBlbSIgXTsgdGhlbgorICAgICAgICBpZiBbIC1mICIvZXRjL3NzbC9zZXJ2ZXJjZXJ0cy9zZXJ2ZXJjZXJ0LnBlbSIgXAorICAgICAgICAgICAgICAgIC1hIC1mICIvZXRjL3NzbC9zZXJ2ZXJjZXJ0cy9zZXJ2ZXJrZXkucGVtIiBdOyB0aGVuCisgICAgICAgICAgICBlY2hvICJVc2luZyBjb21tb24gc2VydmVyIGNlcnRpZmljYXRlIC9ldGMvc3NsL3NlcnZlcmNlcnRzL3NlcnZlcmNlcnQucGVtIgorICAgICAgICAgICAgbG4gLXMgL2V0Yy9zc2wvc2VydmVyY2VydHMvc2VydmVye2NlcnQsa2V5fS5wZW0gL2V0Yy9vcGVud2JlbS8KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZWNobyAiR2VuZXJhdGluZyBPcGVuV0JFTSBzZXJ2ZXIgcHVibGljIGNlcnRpZmljYXRlIGFuZCBwcml2YXRlIGtleSIKKyAgICAgICAgICAgIEZRRE49YGhvc3RuYW1lIC0tZnFkbmAKKyAgICAgICAgICAgIGlmIFsgIngke0ZRRE59IiA9ICJ4IiBdOyB0aGVuCisgICAgICAgICAgICAgICAgRlFETj1sb2NhbGhvc3QubG9jYWxkb21haW4KKyAgICAgICAgICAgIGZpCitjYXQgPDwgRU9GIHwgc2ggL2V0Yy9vcGVud2JlbS9vd2dlbmNlcnQgPiAvZGV2L251bGwgMj4mMQorLS0KK1NvbWVTdGF0ZQorU29tZUNpdHkKK1NvbWVPcmdhbml6YXRpb24KK1NvbWVPcmdhbml6YXRpb25hbFVuaXQKKyR7RlFETn0KK3Jvb3RAJHtGUUROfQorRU9GCisgICAgICAgIGZpCisgICAgZmkKKworICAgICMgU3RhcnQgZGFlbW9ucy4KKyAgICBlY2hvIC1uICJTdGFydGluZyB0aGUgJERFU0NSSVBUSVZFIgorICAgIGRhZW1vbiAkREFFTU9OICRPUFRJT05TID4gL2Rldi9udWxsIDI+JjEgCisgICAgUkVUVkFMPSQ/CisKKyAgICBpZiBbICRSRVRWQUwgLWVxIDAgXTsgdGhlbgorICAgICAgICB0b3VjaCAkbG9ja2ZpbGUKKyAgICAgICAgc3VjY2VzcworICAgIGZpCisKKyAgICBlY2hvCisgICAgcmV0dXJuICRSRVRWQUwKK30KKworc3RvcCgpIHsKKyAgICAjIFN0b3AgZGFlbW9ucy4KKyAgICBlY2hvIC1uICJTaHV0dGluZyBkb3duICRERVNDUklQVElWRSIKKyAgICBraWxscHJvYyAkREFFTU9OCisgICAgUkVUVkFMPSQ/CisKKyAgICBpZiBbICRSRVRWQUwgLWVxIDAgXTsgdGhlbgorICAgICAgICBybSAtZiAkbG9ja2ZpbGUKKyAgICAgICAgc3VjY2VzcworICAgIGVsc2UKKyAgICAgICAgZmFpbHVyZQorICAgIGZpCisgICAgZWNobworICAgIHJldHVybiAkUkVUVkFMCit9CisKK3Jlc3RhcnQoKSB7CisgICAgc3RvcAorICAgIHN0YXJ0Cit9CisKK2Nhc2UgIiQxIiBpbgorICAgIHN0YXJ0KQorICAgIHN0YXJ0CisgICAgOzsKKworICAgIHN0b3ApCisgICAgc3RvcAorICAgIDs7CisKKyAgICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKyAgICByZXN0YXJ0CisgICAgOzsKKworICAgIHJlbG9hZCkKKyAgICBlY2hvIC1uICJSZWxvYWQgc2VydmljZSAkREVTQ1JJUFRJVkUiCisgICAga2lsbHByb2MgLXAgJFBJREZJTEUgIC1IVVAgJERBRU1PTgorICAgIFJFVFZBTD0kPworICAgIGVjaG8KKyAgICBleGl0ICRSRVRWQUwKKyAgICA7OworCisgICAgc3RhdHVzKQorICAgIGVjaG8gLW4gIkNoZWNraW5nIGZvciBzZXJ2aWNlICRERVNDUklQVElWRSIKKyAgICBzdGF0dXMgJERBRU1PTgorICAgIFJFVFZBTD0kPworICAgIGV4aXQgJFJFVFZBTAorICAgIDs7CisKKyAgICAqKQorICAgIGVjaG8gIlVzYWdlOiAkMCB7cmVzdGFydHxzdGFydHxzdG9wfHJlbG9hZHxmb3JjZS1yZWxvYWR8c3RhdHVzfSIKK2VzYWMKKworZXhpdCAkUkVUVkFMCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL29wZW53YmVtLXJwbWxpbnRyYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vb3BlbndiZW0tcnBtbGludHJjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4NWUzMmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL29wZW53YmVtLXJwbWxpbnRyYwpAQCAtMCwwICsxLDIgQEAKK2FkZEZpbHRlcigiZGV2ZWwtZmlsZS1pbi1ub24tZGV2ZWwtcGFja2FnZSAuKi9saWIuKlwuc28iKQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL293Y2ltb21kLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtL293Y2ltb21kLnNlcnZpY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY2OTRiNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vb3djaW1vbWQuc2VydmljZQpAQCAtMCwwICsxLDEyIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVdlYiBCYXNlZCBFbnRlcnByaXNlIE1hbmFnZW1lbnQgKFdCRU0pIEltcGxlbWVudGF0aW9uCitBZnRlcj1zeXNsb2cudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFeGVjU3RhcnQ9L3Vzci9zYmluL293Y2ltb21kCitFeGVjU3RhcnRQcmU9L2V0Yy9vcGVud2JlbS9jaGVja3NlcnZlcmtleQorUElERmlsZT0vdmFyL3J1bi9vd2NpbW9tZC5waWQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVud2JlbS9vcGVud2JlbS9ybW1vZi5zaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vcm1tb2Yuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ5NTQxNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW0vcm1tb2Yuc2gKQEAgLTAsMCArMSw1MyBAQAorIyEvYmluL3NoCisjIAorIyBvcHRpb25zOgorIyBybW1vZi5zaCA8TU9GX1BBVEg+IDxOQU1FU1BBQ0U+IDxGSUxFUz4KKyMKKyMgLSBvciAtCisjCisjIG9wdGlvbnM6CisjIGxvYWRtb2Yuc2ggLW4gPE5BTUVTUEFDRT4gPEZJTEVTPiBbLi4uXQorIworIyBUaGUgZm9ybWVyIGlzIHByZXNlcnZlZCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIFBlZ2FzdXMgYW5kIAorIyBzYmxpbSBwcm92aWRlcnMuICBUaGUgbGF0dGVyIGlzIHByZWZlcnJlZC4gIElmICQxIGlzICItbiIsCisjIHRoZSBsYXR0ZXIgY29kZSBwYXRoIGlzIGV4ZWN1dGVkLiAgT3RoZXJ3aXNlIHRoZSBmb3JtZXIgaXMgCisjIGV4ZWN1dGVkLgorCitpZiBbICJ4JDMiID0gIngiIF07IHRoZW4KKyAgICBlY2hvICJVc2FnZTogJDAgLW4gPE5BTUVTUEFDRT4gPEZJTEVTPiBbLi4uXSIKKyAgICBleGl0IDEKK2ZpCisKKyMgZ2V0IHJpZCBvZiAiLW4iIGFyZworc2hpZnQgCisKK05TPSIkMSIKKworc2hpZnQgCisKK0RCRElSPS92YXIvbGliL29wZW53YmVtCitDSU1PTV9JTklUPS9ldGMvaW5pdC5kL293Y2ltb21kCitpZiBbICIkWUFTVF9JU19SVU5OSU5HIiAhPSAiaW5zdHN5cyIgXSA7IHRoZW4KKyAgICAkQ0lNT01fSU5JVCBzdGF0dXMKKyAgICBDSU1PTV9SVU5OSU5HPSQ/CitmaQoraWYgWyAieCRDSU1PTV9SVU5OSU5HIiA9ICJ4MCIgIF07IHRoZW4KKyAgJENJTU9NX0lOSVQgc3RvcAorZmkKK2JrcGRpcj0vdG1wL293cmVwLmJrcC0kJAorbWtkaXIgJGJrcGRpcgorY3AgLWEgJERCRElSICRia3BkaXIvCitlY2hvICJDb21waWxpbmcgTU9GIGZpbGVzIgorL3Vzci9iaW4vb3dtb2ZjIC1yIC1uICROUyAtZCAkREJESVIgIiRAIiA+IC9kZXYvbnVsbCAyPiYxCitSVkFMPSQ/CitpZiBbICJ4JFJWQUwiICE9ICJ4MCIgXTsgdGhlbgorICBlY2hvICJNT0YgaW1wb3J0IGZhaWxlZCEiCisgIHJtIC1yZiAkREJESVIKKyAgbXYgJGJrcGRpci9vcGVud2JlbSAkREJESVIKK2ZpCitybSAtcmYgJGJrcGRpcgoraWYgWyAieCRDSU1PTV9SVU5OSU5HIiA9ICJ4MCIgIF07IHRoZW4KKyAgJENJTU9NX0lOSVQgc3RhcnQKK2ZpCitleGl0ICRSVkFMCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbndiZW0vb3BlbndiZW1fMy4yLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtXzMuMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkOGVmMjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW53YmVtL29wZW53YmVtXzMuMi4zLmJiCkBAIC0wLDAgKzEsMTEyIEBACitTVU1NQVJZID0gIldlYiBCYXNlZCBFbnRlcnByaXNlIE1hbmFnZW1lbnQgKFdCRU0pIEltcGxlbWVudGF0aW9uIgorREVTQ1JJUFRJT04gPSAiT3BlbldCRU0gaXMgYSBzZXQgb2Ygc29mdHdhcmUgY29tcG9uZW50cyB0aGF0IGhlbHAgZmFjaWxpdGF0ZSBcCitkZXBsb3ltZW50IG9mIHRoZSBDb21tb24gSW5mb3JtYXRpb24gTW9kZWwgKENJTSkgYW5kIFdlYi1CYXNlZCBcCitFbnRlcnByaXNlIE1hbmFnZW1lbnQgKFdCRU0pIHRlY2hub2xvZ2llcyBvZiB0aGUgRGlzdHJpYnV0ZWQgTWFuYWdlbWVudCBcCitUYXNrIEZvcmNlIChETVRGKS4gXAorIFwKK1dlYi1CYXNlZCBFbnRlcnByaXNlIE1hbmFnZW1lbnQgKFdCRU0pIGlzIGEgc2V0IG9mIG1hbmFnZW1lbnQgYW5kIFwKK0ludGVybmV0IHN0YW5kYXJkIHRlY2hub2xvZ2llcyBkZXZlbG9wZWQgdG8gdW5pZnkgdGhlIG1hbmFnZW1lbnQgb2YgXAorZGlzdHJpYnV0ZWQgY29tcHV0aW5nIGVudmlyb25tZW50cy4gV0JFTSBwcm92aWRlcyB0aGUgYWJpbGl0eSBmb3IgdGhlIFwKK2luZHVzdHJ5IHRvIGRlbGl2ZXIgYSB3ZWxsLWludGVncmF0ZWQgc2V0IG9mIHN0YW5kYXJkcy1iYXNlZCBtYW5hZ2VtZW50IFwKK3Rvb2xzLCBmYWNpbGl0YXRpbmcgdGhlIGV4Y2hhbmdlIG9mIGRhdGEgYWNyb3NzIG90aGVyd2lzZSBkaXNwYXJhdGUgXAordGVjaG5vbG9naWVzIGFuZCBwbGF0Zm9ybXMuIFwKKyBcCitGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBETVRGIGFuZCBpdHMgdGVjaG5vbG9naWVzLCB2aXNpdCBcCitodHRwOi8vd3d3LmRtdGYub3JnL3N0YW5kYXJkcy4gIgorU0VDVElPTiA9ICJTeXN0ZW0vTWFuYWdlbWVudCIKK0hPTUVQQUdFID0gImh0dHA6Ly9vcGVud2JlbS5zb3VyY2Vmb3JnZS5uZXQvIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK1NPVVJDRTE9Im5vdmVsbC1vcGVud2JlbS1yb290LWFjbC5tb2YiCitTT1VSQ0UyPSJsb2FkbW9mLnNoIgorU09VUkNFMz0icm1tb2Yuc2giCitTT1VSQ0U0PSJvcGVud2JlbS1vd2NpbW9tZC5pbml0IgorU09VUkNFNT0ib3BlbndiZW0tZXRjX3BhbS5kX29wZW53YmVtIgorU09VUkNFNj0ib3BlbndiZW0tcnBtbGludHJjIgorCitTUkNfVVJJID0gIiBcCisgICBnaXQ6Ly9naXRodWIuY29tL2trYWVtcGYvb3BlbndiZW0uZ2l0IFwKKyAgIGZpbGU6Ly8ke1NPVVJDRTF9IFwKKyAgIGZpbGU6Ly8ke1NPVVJDRTJ9IFwKKyAgIGZpbGU6Ly8ke1NPVVJDRTN9IFwKKyAgIGZpbGU6Ly8ke1NPVVJDRTR9IFwKKyAgIGZpbGU6Ly8ke1NPVVJDRTV9IFwKKyAgIGZpbGU6Ly8ke1NPVVJDRTZ9IFwKKyAgIGZpbGU6Ly9jaGVja3NlcnZlcmtleSBcCisgICBmaWxlOi8vb3djaW1vbWQuc2VydmljZSBcCisiCitTUkNSRVYgPSAiNWM2ODhlZWZjMWY4ZTM1YTRiMWM1ODUyOWFhZTVmMTE0YzI1YzJhOCIKK1MgPSAiJHtXT1JLRElSfS9naXQiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNTA0YTJlYjg1ZTAxYWE5MmM5ZWZkNDEyNWEzNDY2MCIKK0lOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKK0RFUEVORFMgKz0gIm9wZW5zc2wgbGlicGFtIGJhc2giCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCIKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tcHJlZml4PS91c3IgXAorICAgIC0tc3lzY29uZmRpcj0vZXRjIFwKKyAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAorICAgIC0tbG9jYWxzdGF0ZWRpcj0vdmFyL2xpYiBcCisgICAgLS1saWJleGVjZGlyPSR7bGliZGlyfS9vcGVud2JlbS9iaW4gXAorICAgIC0tbWFuZGlyPS91c3Ivc2hhcmUvbWFuIFwKKyAgICAtLWVuYWJsZS10aHJlYWRzLXJ1bi1hcy11c2VyIFwKKyIKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGF1dG9yZWNvbmYgLS1mb3JjZSAtLWluc3RhbGwKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9L2V0Yy9vcGVud2JlbS9vcGVud2JlbS5jb25mLmQKKyAgICBpbnN0YWxsIC1kICR7RH0vdmFyL2FkbS9maWxsdXAtdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtbSA2NDQgZXRjL3N5c2NvbmZpZy9kYWVtb25zL293Y2ltb21kICR7RH0vdmFyL2FkbS9maWxsdXAtdGVtcGxhdGVzL3N5c2NvbmZpZy5vd2NpbW9tZAorICAgIAorICAgICMgZml4IHVwIGhhcmRjb2RlZCBwYXRocworICAgIHNlZCAtaSAtZSAncywvdXNyL3NiaW4vLCR7c2JpbmRpcn0vLCcgJHtXT1JLRElSfS9vd2NpbW9tZC5zZXJ2aWNlCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L293Y2ltb21kLnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vY2hlY2tzZXJ2ZXJrZXkgJHtEfSR7c3lzY29uZmRpcn0vb3BlbndiZW0vCisgICAgZmkKKworICAgIGluc3RhbGwgLWQgJHtEfS9ldGMvaW5pdC5kCisgICAgbG4gLXNmIC4uLy4uL2V0Yy9pbml0LmQvb3djaW1vbWQgJHtEfS91c3Ivc2Jpbi9yY293Y2ltb21kCisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS8ke1NPVVJDRTR9ICR7RH0vZXRjL2luaXQuZC9vd2NpbW9tZAorICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0vdXNyL2JpbgorICAgIGluc3RhbGwgLWQgJHtEfS9ldGMvcGFtLmQKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtsaWJkaXJ9L29wZW53YmVtL2NtcGlwcm92aWRlcnMKKyAgICBpbnN0YWxsIC1tIDY0NCBldGMvcGFtLmQvb3BlbndiZW0gJHtEfS9ldGMvcGFtLmQKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtsaWJkaXJ9L29wZW53YmVtL2MrK3Byb3ZpZGVycworICAgIGluc3RhbGwgLWQgJHtEfS92YXIvbGliL29wZW53YmVtCisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS8ke1NPVVJDRTJ9ICR7RH0vdXNyL2Jpbi9vdy1sb2FkbW9mLnNoCisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS8ke1NPVVJDRTN9ICR7RH0vdXNyL2Jpbi9vdy1ybW1vZi5zaAorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vJHtTT1VSQ0U1fSAke0R9L2V0Yy9wYW0uZC9vcGVud2JlbQorCisgICAgTU9GUEFUSD0ke0R9L3Vzci9zaGFyZS9tb2Yvb3BlbndiZW0KKyAgICBpbnN0YWxsIC1kICRNT0ZQQVRICisgICAgbXYgJHtEfS91c3Ivc2hhcmUvb3BlbndiZW0vKiAkTU9GUEFUSC8KKyAgICBybWRpciAke0R9L3Vzci9zaGFyZS9vcGVud2JlbQorICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vJHtTT1VSQ0UxfSAkTU9GUEFUSC8KKworICAgIHRvdWNoICR7RH0vdmFyL2xpYi9vcGVud2JlbS97Y2xhc3Nhc3NvY2lhdGlvbixpbnN0YW5jZXMsaW5zdGFzc29jaWF0aW9uLG5hbWVzcGFjZXMsc2NoZW1hfS57ZGF0LG5keCxsb2NrfQorfQorCitpbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdWSVJUVUFMLVJVTlRJTUVfaW5pdF9tYW5hZ2VyJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCcnLCBkKX0KK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJvd2NpbW9tZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtsaWJkaXJ9IFwKKyAgICAke2RhdGFkaXJ9L21vZiBcCisgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9IFwKKyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiIFwKKyAgICAke2xpYmRpcn0vb3BlbndiZW0vYysrcHJvdmlkZXJzLy5kZWJ1ZyBcCisgICAgJHtsaWJkaXJ9L29wZW53YmVtL3Byb3ZpZmNzLy5kZWJ1ZyBcCisgICAgJHtsaWJkaXJ9L29wZW53YmVtL2Jpbi9vcGVud2JlbS8uZGVidWcgXAorIgorRklMRVNfJHtQTn0tZGV2ID0gIiBcCisgICAgJHtpbmNsdWRlZGlyfSBcCisgICAgJHtkYXRhZGlyfS9hY2xvY2FsL29wZW53YmVtLm00IFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcDkxMG5kL3A5MTBuZC9maXgtdmFyLWxvY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3A5MTBuZC9wOTEwbmQvZml4LXZhci1sb2NrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhODRlMTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3A5MTBuZC9wOTEwbmQvZml4LXZhci1sb2NrLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK1VzZSAvdmFyL2xvY2sgaW5zdGVhZCBvZiAvdmFyL2xvY2svc3Vic3lzCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworSW5kZXg6IHA5MTBuZC9wOTEwbmQuOAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHA5MTBuZC5vcmlnL3A5MTBuZC44CTIwMTEtMTEtMTQgMjI6NDE6NDEuOTA0NjE1ODc5ICswMTAwCisrKysgcDkxMG5kL3A5MTBuZC44CTIwMTEtMTEtMTQgMjI6NDk6NTIuMjk5MDQ3NjA3ICswMTAwCitAQCAtODMsNyArODMsNyBAQAorIC5TSCAiU0VFIEFMU08iCisgcHJpbnRjYXAoNSksIGhvc3RzX2FjY2Vzcyg1KQorIC5TSCBGSUxFUworLS92YXIvcnVuL3A5MTAwZC5waWQsIC92YXIvbG9jay9zdWJzeXMvcDkxMDBkLCAvZXRjL2hvc3RzLmFsbG93LCAvZXRjL2hvc3RzLmRlbnkKKysvdmFyL3J1bi9wOTEwMGQucGlkLCAvdmFyL2xvY2svcDkxMDBkLCAvZXRjL2hvc3RzLmFsbG93LCAvZXRjL2hvc3RzLmRlbnkKKyAuU0ggQ09QWVJJR0hUCisgLkkgcDkxMG5kCisgaXMgdW5kZXIgdGhlIEdOVSBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDIKK0luZGV4OiBwOTEwbmQvcDkxMG5kLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwOTEwbmQub3JpZy9wOTEwbmQuYwkyMDExLTExLTE0IDIyOjQ3OjQxLjk4NjQwMTQyMCArMDEwMAorKysrIHA5MTBuZC9wOTEwbmQuYwkyMDExLTExLTE0IDIyOjQ5OjI3LjI3NDkyMzUyNCArMDEwMAorQEAgLTEyMiw3ICsxMjIsNyBAQAorICNpZmRlZgkJTE9DS0ZJTEVfRElSCisgI2RlZmluZQkJTE9DS0ZJTEUJTE9DS0ZJTEVfRElSICIvcDkxMCVjZCIKKyAjZWxzZQorLSNkZWZpbmUJCUxPQ0tGSUxFCSIvdmFyL2xvY2svc3Vic3lzL3A5MTAlY2QiCisrI2RlZmluZQkJTE9DS0ZJTEUJIi92YXIvbG9jay9wOTEwJWNkIgorICNlbmRpZgorICNpZm5kZWYJCVBSSU5URVJGSUxFCisgI2RlZmluZSAgICAgICAgIFBSSU5URVJGSUxFICAgICAiL2Rldi9scCVjIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wOTEwbmQvcDkxMG5kXzAuOTUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3A5MTBuZC9wOTEwbmRfMC45NS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZWJiYjI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wOTEwbmQvcDkxMG5kXzAuOTUuYmIKQEAgLTAsMCArMSwyMiBAQAorREVTQ1JJUFRJT04gPSAiQSBzbWFsbCBuZXR3b3JrIHByaW50ZXIgZGFlbW9uIGZvciBlbWJlZGRlZCBzaXR1YXRpb25zIHRoYXQgcGFzc2VzIHRoZSBqb2IgZGlyZWN0bHkgdG8gdGhlIHByaW50ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vcDkxMG5kLnNvdXJjZWZvcmdlLm5ldC8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIiCisKK1BSID0gInIyIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wOTEwbmQvcDkxMG5kLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vZml4LXZhci1sb2NrLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzdhYzZhZmRmNzczMGFjODM4N2E4ZTg3MTk4ZDQ0OTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2Q3ODY0MmM4NmRjMjQ3ZmJkZWYxZmY4NWM1NjYyOWRjZGM2YjJhNDU3Yzc4NjQyMDI5OWUyODRmZmZjYjAyOSIKKworZG9fY29tcGlsZSAoKSB7CisgICAgJHtDQ30gJHtMREZMQUdTfSAtbyBwOTEwbmQgcDkxMG5kLmMKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtRCAtbSAwNzU1ICR7U30vcDkxMG5kICR7RH0ke3NiaW5kaXJ9L3A5MTBuZAorICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1N9L3A5MTBuZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3A5MTBuZC5jb25mCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BhbS1wYXNzd2RxYy9maWxlcy8xMDAwcGF0Y2gtMjE5MjAxLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wYW0tcGFzc3dkcWMvZmlsZXMvMTAwMHBhdGNoLTIxOTIwMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNjZkNDYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wYW0tcGFzc3dkcWMvZmlsZXMvMTAwMHBhdGNoLTIxOTIwMS5wYXRjaApAQCAtMCwwICsxLDE1NiBAQAorZGlmZiAtdXJOcCBwYW1fcGFzc3dkcWMtMS4wLjUtb3JpZy9wYW1fcGFzc3dkcWMuYyBwYW1fcGFzc3dkcWMtMS4wLjUvcGFtX3Bhc3N3ZHFjLmMKKy0tLSBwYW1fcGFzc3dkcWMtMS4wLjUtb3JpZy9wYW1fcGFzc3dkcWMuYwkyMDA4LTAyLTEyIDE1OjExOjEzLjAwMDAwMDAwMCAtMDUwMAorKysrIHBhbV9wYXNzd2RxYy0xLjAuNS9wYW1fcGFzc3dkcWMuYwkyMDA5LTA5LTI4IDEyOjEwOjMyLjE3MTY5NjY5NCAtMDQwMAorQEAgLTcwLDYgKzcwLDggQEAgdHlwZWRlZiBzdHJ1Y3QgeworIAlwYXNzd2RxY19wYXJhbXNfdCBxYzsKKyAJaW50IGZsYWdzOworIAlpbnQgcmV0cnk7CisrCWNoYXIgb2xkcGFzc19wcm9tcHRfZmlsZVtGSUxFX0xFTisxXTsKKysJY2hhciBuZXdwYXNzX3Byb21wdF9maWxlW0ZJTEVfTEVOKzFdOworIH0gcGFyYW1zX3Q7CisgCisgc3RhdGljIHBhcmFtc190IGRlZmF1bHRzID0geworQEAgLTc5LDEwICs4MSwxMyBAQCBzdGF0aWMgcGFyYW1zX3QgZGVmYXVsdHMgPSB7CisgCQkzLAkJCQkvKiBwYXNzcGhyYXNlX3dvcmRzICovCisgCQk0LAkJCQkvKiBtYXRjaF9sZW5ndGggKi8KKyAJCTEsCQkJCS8qIHNpbWlsYXJfZGVueSAqLworLQkJNDIJCQkJLyogcmFuZG9tX2JpdHMgKi8KKysJCTQyLAkJCQkvKiByYW5kb21fYml0cyAqLworKwkJMQkJCQkvKiBmaXJzdHVwcGVyX2xhc3RkaWdpdF9jaGVjayAqLworIAl9LAorIAlGX0VORk9SQ0VfRVZFUllPTkUsCQkJLyogZmxhZ3MgKi8KKy0JMwkJCQkJLyogcmV0cnkgKi8KKysJMywJCQkJCS8qIHJldHJ5ICovCisrCSIiLAkJCQkJLyogb2xkcGFzc19wcm9tcHRfZmlsZSAqLworKwkiIgkJCQkJLyogbmV3cGFzc19wcm9tcHRfZmlsZSAqLworIH07CisgCisgI2RlZmluZSBQUk9NUFRfT0xEUEFTUyBcCitAQCAtMzYxLDYgKzM2NiwzNyBAQCBzdGF0aWMgaW50IHBhcnNlKHBhcmFtc190ICpwYXJhbXMsIHBhbV9oCisgCQlpZiAoIXN0cmNtcCgqYXJndiwgInVzZV9hdXRodG9rIikpIHsKKyAJCQlwYXJhbXMtPmZsYWdzIHw9IEZfVVNFX0FVVEhUT0s7CisgCQl9IGVsc2UKKysJCWlmICghc3RyY21wKCphcmd2LCAiZGlzYWJsZV9maXJzdHVwcGVyX2xhc3RkaWdpdF9jaGVjayIpKSB7CisrCQkJcGFyYW1zLT5xYy5maXJzdHVwcGVyX2xhc3RkaWdpdF9jaGVjayA9IDA7CisrCQl9IGVsc2UKKysJCWlmICghc3RybmNtcCgqYXJndiwgIm9sZHBhc3NfcHJvbXB0X2ZpbGU9IiwgMjApKSB7CisrCQkJaW50IG47CisrCQkJRklMRSAqZnAgPSBmb3BlbigqYXJndiArIDIwLCAiciIpOworKwkJCWlmIChmcCkgeworKwkJCQluPWZyZWFkKHBhcmFtcy0+b2xkcGFzc19wcm9tcHRfZmlsZSwgc2l6ZW9mKGNoYXIpLCBGSUxFX0xFTiwgZnApOworKwkJCQlpZiAoMD09biB8fCBmZXJyb3IoZnApIT0wICkgeworKwkJCQkJbWVtc2V0KHBhcmFtcy0+b2xkcGFzc19wcm9tcHRfZmlsZSwgJ1wwJywgRklMRV9MRU4rMSk7CisrCQkJCX0KKysJCQkJZWxzZSB7CisrCQkJCQlmZW9mKGZwKT8gKHBhcmFtcy0+b2xkcGFzc19wcm9tcHRfZmlsZVtuLTFdPSdcMCcpOiAocGFyYW1zLT5vbGRwYXNzX3Byb21wdF9maWxlW25dPSdcMCcpOworKwkJCQl9CisrCQkJCWZjbG9zZShmcCk7CisrCQkJfQorKwkJfSBlbHNlCisrCQlpZiAoIXN0cm5jbXAoKmFyZ3YsICJuZXdwYXNzX3Byb21wdF9maWxlPSIsIDIwKSkgeworKwkJCWludCBuOworKwkJCUZJTEUgKmZwID0gZm9wZW4oKmFyZ3YgKyAyMCwgInIiKTsKKysJCQlpZiAoZnApIHsKKysJCQkJbj1mcmVhZChwYXJhbXMtPm5ld3Bhc3NfcHJvbXB0X2ZpbGUsIHNpemVvZihjaGFyKSwgRklMRV9MRU4sIGZwKTsKKysJCQkJaWYgKDA9PW4gfHwgZmVycm9yKGZwKSE9MCApIHsKKysJCQkJCW1lbXNldChwYXJhbXMtPm5ld3Bhc3NfcHJvbXB0X2ZpbGUsICdcMCcsIEZJTEVfTEVOKzEpOworKwkJCQl9CisrCQkJCWVsc2UgeworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZW9mKGZwKT8gKHBhcmFtcy0+bmV3cGFzc19wcm9tcHRfZmlsZVtuLTFdPSdcMCcpOiAocGFyYW1zLT5uZXdwYXNzX3Byb21wdF9maWxlW25dPSdcMCcpOworKwkJCQl9CisrCQkJCWZjbG9zZShmcCk7CisrCQkJfQorKwkJfSBlbHNlCisgCQkJYnJlYWs7CisgCQlhcmdjLS07IGFyZ3YrKzsKKyAJfQorQEAgLTQwNiw3ICs0NDIsNyBAQCBQQU1fRVhURVJOIGludCBwYW1fc21fY2hhdXRodG9rKHBhbV9oYW5kCisgCisgCWlmIChhc2tfb2xkYXV0aHRvayAmJiAhYW1fcm9vdChwYW1oKSkgeworIAkJc3RhdHVzID0gY29udmVyc2UocGFtaCwgUEFNX1BST01QVF9FQ0hPX09GRiwKKy0JCSAgICBQUk9NUFRfT0xEUEFTUywgJnJlc3ApOworKwkJICAgIHN0cmxlbihwYXJhbXMub2xkcGFzc19wcm9tcHRfZmlsZSkgPyBwYXJhbXMub2xkcGFzc19wcm9tcHRfZmlsZSA6IFBST01QVF9PTERQQVNTLCAmcmVzcCk7CisgCisgCQlpZiAoc3RhdHVzID09IFBBTV9TVUNDRVNTKSB7CisgCQkJaWYgKHJlc3AgJiYgcmVzcC0+cmVzcCkgeworQEAgLTU0MCw4ICs1NzYsNyBAQCByZXRyeToKKyAJCSAgICBNRVNTQUdFX1JBTkRPTUZBSUxFRCA6IE1FU1NBR0VfTUlTQ09ORklHVVJFRCk7CisgCQlyZXR1cm4gUEFNX0FVVEhUT0tfRVJSOworIAl9CistCistCXN0YXR1cyA9IGNvbnZlcnNlKHBhbWgsIFBBTV9QUk9NUFRfRUNIT19PRkYsIFBST01QVF9ORVdQQVNTMSwgJnJlc3ApOworKwlzdGF0dXMgPSBjb252ZXJzZShwYW1oLCBQQU1fUFJPTVBUX0VDSE9fT0ZGLCBzdHJsZW4ocGFyYW1zLm5ld3Bhc3NfcHJvbXB0X2ZpbGUpID8gcGFyYW1zLm5ld3Bhc3NfcHJvbXB0X2ZpbGUgOiBQUk9NUFRfTkVXUEFTUzEsICZyZXNwKTsKKyAJaWYgKHN0YXR1cyA9PSBQQU1fU1VDQ0VTUyAmJiAoIXJlc3AgfHwgIXJlc3AtPnJlc3ApKQorIAkJc3RhdHVzID0gUEFNX0FVVEhUT0tfRVJSOworIAorZGlmZiAtdXJOcCBwYW1fcGFzc3dkcWMtMS4wLjUtb3JpZy9wYXNzd2RxY19jaGVjay5jIHBhbV9wYXNzd2RxYy0xLjAuNS9wYXNzd2RxY19jaGVjay5jCistLS0gcGFtX3Bhc3N3ZHFjLTEuMC41LW9yaWcvcGFzc3dkcWNfY2hlY2suYwkyMDA4LTAyLTEyIDE0OjMxOjUyLjAwMDAwMDAwMCAtMDUwMAorKysrIHBhbV9wYXNzd2RxYy0xLjAuNS9wYXNzd2RxY19jaGVjay5jCTIwMDktMDktMjUgMjI6NDU6MTYuMDgwODQyNDI1IC0wNDAwCitAQCAtOTAsMTAgKzkwLDEyIEBAIHN0YXRpYyBpbnQgaXNfc2ltcGxlKHBhc3N3ZHFjX3BhcmFtc190ICoKKyAKKyAvKiBVcHBlciBjYXNlIGNoYXJhY3RlcnMgYW5kIGRpZ2l0cyB1c2VkIGluIGNvbW1vbiB3YXlzIGRvbid0IGluY3JlYXNlIHRoZQorICAqIHN0cmVuZ3RoIG9mIGEgcGFzc3dvcmQgKi8KKy0JYyA9ICh1bnNpZ25lZCBjaGFyKW5ld3Bhc3NbMF07CistCWlmICh1cHBlcnMgJiYgaXNhc2NpaShjKSAmJiBpc3VwcGVyKGMpKSB1cHBlcnMtLTsKKy0JYyA9ICh1bnNpZ25lZCBjaGFyKW5ld3Bhc3NbbGVuZ3RoIC0gMV07CistCWlmIChkaWdpdHMgJiYgaXNhc2NpaShjKSAmJiBpc2RpZ2l0KGMpKSBkaWdpdHMtLTsKKysJaWYgKHBhcmFtcy0+Zmlyc3R1cHBlcl9sYXN0ZGlnaXRfY2hlY2spIHsKKysJCWMgPSAodW5zaWduZWQgY2hhciluZXdwYXNzWzBdOworKwkJaWYgKHVwcGVycyAmJiBpc2FzY2lpKGMpICYmIGlzdXBwZXIoYykpIHVwcGVycy0tOworKwkJYyA9ICh1bnNpZ25lZCBjaGFyKW5ld3Bhc3NbbGVuZ3RoIC0gMV07CisrCQlpZiAoZGlnaXRzICYmIGlzYXNjaWkoYykgJiYgaXNkaWdpdChjKSkgZGlnaXRzLS07CisrCX0KKyAKKyAvKiBDb3VudCB0aGUgbnVtYmVyIG9mIGRpZmZlcmVudCBjaGFyYWN0ZXIgY2xhc3NlcyB3ZSd2ZSBzZWVuLiAgV2UgYXNzdW1lCisgICogdGhhdCB0aGVyZSBhcmUgbm8gbm9uLUFTQ0lJIGNoYXJhY3RlcnMgZm9yIGRpZ2l0cy4gKi8KK2RpZmYgLXVyTnAgcGFtX3Bhc3N3ZHFjLTEuMC41LW9yaWcvcGFzc3dkcWMuaCBwYW1fcGFzc3dkcWMtMS4wLjUvcGFzc3dkcWMuaAorLS0tIHBhbV9wYXNzd2RxYy0xLjAuNS1vcmlnL3Bhc3N3ZHFjLmgJMjAwOC0wMi0xMiAxNDozMDowMC4wMDAwMDAwMDAgLTA1MDAKKysrKyBwYW1fcGFzc3dkcWMtMS4wLjUvcGFzc3dkcWMuaAkyMDA5LTA5LTI1IDE0OjA4OjU2LjIxNDY5NTg1OCAtMDQwMAorQEAgLTcsMTIgKzcsMTUgQEAKKyAKKyAjaW5jbHVkZSA8cHdkLmg+CisgCisrI2RlZmluZSBGSUxFX0xFTgkJNDA5NgkvKiBNYXggZmlsZSBsZW4gPSA0MDk2ICovCisrCisgdHlwZWRlZiBzdHJ1Y3QgeworIAlpbnQgbWluWzVdLCBtYXg7CisgCWludCBwYXNzcGhyYXNlX3dvcmRzOworIAlpbnQgbWF0Y2hfbGVuZ3RoOworIAlpbnQgc2ltaWxhcl9kZW55OworIAlpbnQgcmFuZG9tX2JpdHM7CisrCWludCBmaXJzdHVwcGVyX2xhc3RkaWdpdF9jaGVjazsKKyB9IHBhc3N3ZHFjX3BhcmFtc190OworIAorIGV4dGVybiBjaGFyIF9wYXNzd2RxY193b3Jkc2V0XzRrWzB4MTAwMF1bNl07CitkaWZmIC11ck5wIHBhbV9wYXNzd2RxYy0xLjAuNS1vcmlnL1JFQURNRSBwYW1fcGFzc3dkcWMtMS4wLjUvUkVBRE1FCistLS0gcGFtX3Bhc3N3ZHFjLTEuMC41LW9yaWcvUkVBRE1FCTIwMDgtMDItMTIgMTQ6NDM6MzMuMDAwMDAwMDAwIC0wNTAwCisrKysgcGFtX3Bhc3N3ZHFjLTEuMC41L1JFQURNRQkyMDA5LTA5LTI4IDEyOjEyOjQwLjI1MTAxNjQyMyAtMDQwMAorQEAgLTQxLDkgKzQxLDEyIEBAIHdvcmRzIChzZWUgdGhlICJwYXNzcGhyYXNlIiBvcHRpb24gYmVsb3cKKyBOMyBhbmQgTjQgYXJlIHVzZWQgZm9yIHBhc3N3b3JkcyBjb25zaXN0aW5nIG9mIGNoYXJhY3RlcnMgZnJvbSB0aHJlZQorIGFuZCBmb3VyIGNoYXJhY3RlciBjbGFzc2VzLCByZXNwZWN0aXZlbHkuCisgCisrCWRpc2FibGVfZmlyc3R1cHBlcl9sYXN0ZGlnaXRfY2hlY2sJW10KKysKKyBXaGVuIGNhbGN1bGF0aW5nIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVyIGNsYXNzZXMsIHVwcGVyLWNhc2UgbGV0dGVycworIHVzZWQgYXMgdGhlIGZpcnN0IGNoYXJhY3RlciBhbmQgZGlnaXRzIHVzZWQgYXMgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIGEKKy1wYXNzd29yZCBhcmUgbm90IGNvdW50ZWQuCisrcGFzc3dvcmQgYXJlIG5vdCBjb3VudGVkLiBUbyBkaXNhYmxlIHRoaXMsIHlvdSBjYW4gc3BlY2lmeSAKKysiZGlzYWJsZV9maXJzdHVwcGVyX2xhc3RkaWdpdF9jaGVjayIuCisgCisgSW4gYWRkaXRpb24gdG8gYmVpbmcgc3VmZmljaWVudGx5IGxvbmcsIHBhc3N3b3JkcyBhcmUgcmVxdWlyZWQgdG8KKyBjb250YWluIGVub3VnaCBkaWZmZXJlbnQgY2hhcmFjdGVycyBmb3IgdGhlIGNoYXJhY3RlciBjbGFzc2VzIGFuZAorQEAgLTE0Miw2ICsxNDUsMTQgQEAgVGhpcyBkaXNhYmxlcyB1c2VyIGludGVyYWN0aW9uIHdpdGhpbiBwYQorIHRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiAidXNlX2ZpcnN0X3Bhc3MiIGFuZCAidXNlX2F1dGh0b2siIGlzIHRoYXQKKyB0aGUgZm9ybWVyIGlzIGluY29tcGF0aWJsZSB3aXRoICJhc2tfb2xkYXV0aHRvayIuCisgCisrCW9sZHBhc3NfcHJvbXB0X2ZpbGU9YWJzb2x1dGUtZmlsZS1wYXRoCVtdCisrCW5ld3Bhc3NfcHJvbXB0X2ZpbGU9YWJvc3VsdGUtZmlsZS1wYXRoCVtdCisrCisrVGhlIG9wdGlvbnMgIm9sZHBhc3NfcHJvbXB0X2ZpbGUiIGFuZCAibmV3cGFzc19wcm9tcHRfZmlsZSIgY2FuIGJlIHVzZWQKKyt0byBvdmVycmlkZSBwcm9tcHRzIHdoaWxlIHJlcXVlc3Rpbmcgb2xkIHBhc3N3b3JkIGFuZCBuZXcgcGFzc3dvcmQsIAorK3Jlc3BlY3RpdmVseS4gVGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgcHJvbXB0IGZpbGVzIGNhbiBiZSA0MDk2IAorK2NoYXJhY3RlcnMgYXQgcHJlc2VudC4gSWYgdGhlIGZpbGUgc2l6ZSBpcyBtb3JlIHRoYW4gNDA5NiBjaGFyYWN0ZXJzLCB0aGUKKytvdXRwdXQgd2lsbCBiZSB0cnVuY2F0ZWQgdG8gNDA5NiBjaGFyYWN0ZXJzLgorIC0tIAorIFNvbGFyIERlc2lnbmVyIDxzb2xhciBhdCBvcGVud2FsbC5jb20+CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BhbS1wYXNzd2RxYy9maWxlcy83MDAwTWFrZWZpbGUtZml4LUNDLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wYW0tcGFzc3dkcWMvZmlsZXMvNzAwME1ha2VmaWxlLWZpeC1DQy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MzZmYmExCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wYW0tcGFzc3dkcWMvZmlsZXMvNzAwME1ha2VmaWxlLWZpeC1DQy5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gcGFtX3Bhc3N3ZHFjLTEuMC41L01ha2VmaWxlLm9yaWcJMjAxMi0xMC0wMiAyMDo1Mzo1NS40NDM1OTI4ODYgKzA5MDAKKysrKyBwYW1fcGFzc3dkcWMtMS4wLjUvTWFrZWZpbGUJMjAxMi0xMC0wMiAyMDo1NDoxOS4wNzYxMDgwMDEgKzA5MDAKK0BAIC0yLDcgKzIsNyBAQAorICMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDMsMjAwNSBieSBTb2xhciBEZXNpZ25lci4gIFNlZSBMSUNFTlNFLgorICMKKyAKKy1DQyA9IGdjYworKyNDQyA9IGdjYworIExEID0gJChDQykKKyBSTSA9IHJtIC1mCisgTUtESVIgPSBta2RpciAtcApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wYW0tcGFzc3dkcWMvcGFtLXBhc3N3ZHFjXzEuMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wYW0tcGFzc3dkcWMvcGFtLXBhc3N3ZHFjXzEuMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlOGI3ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BhbS1wYXNzd2RxYy9wYW0tcGFzc3dkcWNfMS4wLjUuYmIKQEAgLTAsMCArMSwzNSBAQAorU1VNTUFSWSA9ICJQbHVnZ2FibGUgcGFzc3dvcmQgcXVhbGl0eS1jb250cm9sIG1vZHVsZS4iCitERVNDUklQVElPTiA9ICJwYW1fcGFzc3dkcWMgaXMgYSBzaW1wbGUgcGFzc3dvcmQgc3RyZW5ndGggY2hlY2tpbmcgbW9kdWxlIGZvciBcCitQQU0tYXdhcmUgcGFzc3dvcmQgY2hhbmdpbmcgcHJvZ3JhbXMsIHN1Y2ggYXMgcGFzc3dkKDEpLiBJbiBhZGRpdGlvbiBcCit0byBjaGVja2luZyByZWd1bGFyIHBhc3N3b3JkcywgaXQgb2ZmZXJzIHN1cHBvcnQgZm9yIHBhc3NwaHJhc2VzIGFuZCBcCitjYW4gcHJvdmlkZSByYW5kb21seSBnZW5lcmF0ZWQgcGFzc3dvcmRzLiBBbGwgZmVhdHVyZXMgYXJlIG9wdGlvbmFsIFwKK2FuZCBjYW4gYmUgKHJlLSljb25maWd1cmVkIHdpdGhvdXQgcmVidWlsZGluZy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbndhbGwuY29tL3Bhc3N3ZHFjLyIKK1NFQ1RJT04gPSAiU3lzdGVtIEVudmlyb25tZW50L0Jhc2UiCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZTI4NGQwMTNlZjA4ZTY2ZDQ3MzdmNDQ2YzU4OTA1NTAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5vcGVud2FsbC5jb20vcGFtL21vZHVsZXMvcGFtX3Bhc3N3ZHFjL3BhbV9wYXNzd2RxYy0xLjAuNS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMTAwMHBhdGNoLTIxOTIwMS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly83MDAwTWFrZWZpbGUtZml4LUNDLnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiY2Q5YzAxNGY3MzYxNThiMWE2MDM4NGE4ZTJiZGMyOGEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzI1MjhkZGY3ZDgyMTljNzg4YjZlNzcwMjM2MTYxMWZmMTZjNjM0MGI2ZGMwZjQxOGZmMTY0YWFkYzRhNGE4OCIKKworCitTID0gIiR7V09SS0RJUn0vcGFtX3Bhc3N3ZHFjLSR7UFZ9IgorCitERVBFTkRTID0gImxpYnBhbSIKKworRVhUUkFfT0VNQUtFID0gIkNGTEFHUz0iJHtDRkxBR1N9IC1XYWxsIC1mUElDIC1ESEFWRV9TSEFET1ciIFwKKyAgICAgICAgICAgICAgICBTRUNVUkVESVI9JHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkiCisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitGSUxFU18ke1BOfSArPSAiJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvcGFtX3Bhc3N3ZHFjLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2Jhc2VfbGliZGlyfS9zZWN1cml0eS8uZGVidWciCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGNzYy1saXRlL3Bjc2MtbGl0ZV8xLjguMTMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bjc2MtbGl0ZS9wY3NjLWxpdGVfMS44LjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjNzI1NDkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bjc2MtbGl0ZS9wY3NjLWxpdGVfMS44LjEzLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiUEMvU0MgTGl0ZSBzbWFydCBjYXJkIGZyYW1ld29yayBhbmQgYXBwbGljYXRpb25zIgorSE9NRVBBR0UgPSAiaHR0cDovL3Bjc2NsaXRlLmFsaW90aC5kZWJpYW4ub3JnLyIKK0xJQ0VOU0UgPSAiQlNEICYgR1BMdjMrIgorTElDRU5TRV8ke1BOfS1kZXYgPSAiR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmNmYmQ4NTIzMGFjM2M1ODZmYjI5NGM4YjYyN2NmMzIiCitERVBFTkRTID0gInVkZXYiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9hbGlvdGguZGViaWFuLm9yZy9mcnMvZG93bmxvYWQucGhwL2ZpbGUvNDEyNi9wY3NjLWxpdGUtJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZGNkMjJkMjBhNmRmODgxMGZhYzU0ODBjYzMyMGI2ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMzE1MDQ3ZTgwOGQ2M2EzMjYyYzRhMDQwZjc3NTQ4YWYyZTA0ZDFmZDcwN2UwYzI3NTkzNjliOTI2ZmJiYzNiIgorCisKK2luaGVyaXQgYXV0b3Rvb2xzIHN5c3RlbWQgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1saWJ1c2IgXAorICAgIC0tZW5hYmxlLWxpYnVkZXYgXAorICAgIC0tZW5hYmxlLXVzYmRyb3BkaXI9JHtsaWJkaXJ9L3Bjc2MvZHJpdmVycyBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9wY3NjLWxpdGUtJHtQVn0iCisKK1BBQ0tBR0VTID0rICIke1BOfS1saWIiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gImNjaWQiCisKK0ZJTEVTXyR7UE59LWxpYiA9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTfSIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJwY3NjZC5zb2NrZXQiCitSREVQRU5EU18ke1BOfSArPSJweXRob24iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpY29jb20vcGljb2NvbV8xLjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpY29jb20vcGljb2NvbV8xLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGJlZTY1NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGljb2NvbS9waWNvY29tXzEuNy5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIkxpZ2h0d2VpZ2h0IGFuZCBtaW5pbWFsICh+MjBLKSBkdW1iLXRlcm1pbmFsIGVtdWxhdGlvbiBwcm9ncmFtIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MisiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcGljb2NvbS8iCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9MzkzYTVjYTQ0NWY2OTY1ODczZWNhMDI1OWExN2Y4MzMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3BpY29jb20uZ29vZ2xlY29kZS5jb20vZmlsZXMvcGljb2NvbS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4ZWFiYTFkMzE0MDdlODQwODY3NGQ2ZTU3YWY0NDdlZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMGYzMWM4ZjdhMjE1YTc2OTIyZDMwYzgxYTUyYjlhMjM0OGM4OWUwMmE4NDkzNTUxNzAwMmIzYmMyYzExMjllIgorCitDUFBGTEFHU19hcHBlbmQgPSAnLURWRVJTSU9OX1NUUj1cXCIke1BWfVxcIiAtRFVVQ1BfTE9DS19ESVI9XFwiL3Zhci9sb2NrXFwiIC1ESElHSF9CQVVEJworCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtCUE59IHBjYXNjIHBjeG0gcGN5bSBwY3ptICR7RH0ke2JpbmRpcn0vCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL2xpYm90ci9maXhfcWEtaXNzdWVfaW5jbHVkZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL2xpYm90ci9maXhfcWEtaXNzdWVfaW5jbHVkZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzg2NjMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vbGlib3RyL2ZpeF9xYS1pc3N1ZV9pbmNsdWRlLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK2xpYm90cjogRml4IFFBLWlzc3VlIHdoZXJlIGFsc28gZmlsZXMgZnJvbSBidWlsZGhvc3Qgd291bGQgYmUgaW5jbHVkZWQKKworV2FybmluZyB3YXM6CitjYzE6IHdhcm5pbmc6IGluY2x1ZGUgbG9jYXRpb24gIi91c3IvaW5jbHVkZSIgaXMgdW5zYWZlIGZvcgorY3Jvc3MtY29tcGlsYXRpb24gWy1XcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEpha29iIERyZXhlbCA8amFrZTQyQHJvbW1lbC5zdHcudW5pLWVybGFuZ2VuLmRlPgorCistLS0gYS90b29sa2l0L01ha2VmaWxlLmFtCTIwMTItMDUtMDMgMTU6NTI6MjIuMDAwMDAwMDAwICswMjAwCisrKysgYi90b29sa2l0L01ha2VmaWxlLmFtCTIwMTQtMDEtMTMgMTI6MTI6MjYuMDMwMzY5MzU3ICswMTAwCitAQCAtMSw0ICsxLDQgQEAKKy1JTkNMVURFUyA9IC1JJChpbmNsdWRlZGlyKSAtSS4uL3NyYyBATElCR0NSWVBUX0NGTEFHU0AKKytJTkNMVURFUyA9IC1JLi4vc3JjIEBMSUJHQ1JZUFRfQ0ZMQUdTQAorIAorIG5vaW5zdF9IRUFERVJTID0gYWVzLmggY3RybW9kZS5oIHBhcnNlLmggc2Vzc2tleXMuaCByZWFkb3RyLmggc2hhMWhtYWMuaAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vbGlib3RyL3NlcGJ1aWxkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vbGlib3RyL3NlcGJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2NmU1MjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9saWJvdHIvc2VwYnVpbGQucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorRml4IGJ1aWxkcyB3aXRoICR7Qn0gIT0gJHtTfQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworUlAgMjAxNC83LzE3CisKK0luZGV4OiBsaWJvdHItNC4wLjAvdG9vbGtpdC9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYm90ci00LjAuMC5vcmlnL3Rvb2xraXQvTWFrZWZpbGUuYW0JMjAxNC0wNy0xNiAxODowOTo1OS43Nzc4NTgwMjIgKzAwMDAKKysrKyBsaWJvdHItNC4wLjAvdG9vbGtpdC9NYWtlZmlsZS5hbQkyMDE0LTA3LTE3IDA2OjI4OjUxLjM1OTA2NjE1NSArMDAwMAorQEAgLTEsNCArMSw0IEBACistSU5DTFVERVMgPSAtSS4uL3NyYyBATElCR0NSWVBUX0NGTEFHU0AKKytJTkNMVURFUyA9IC1JJCh0b3Bfc3JjZGlyKS9zcmMgQExJQkdDUllQVF9DRkxBR1NACisgCisgbm9pbnN0X0hFQURFUlMgPSBhZXMuaCBjdHJtb2RlLmggcGFyc2UuaCBzZXNza2V5cy5oIHJlYWRvdHIuaCBzaGExaG1hYy5oCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9saWJvdHJfNC4wLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9saWJvdHJfNC4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQ5ZWVhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL2xpYm90cl80LjAuMC5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIihPVFIpIE1lc3NhZ2luZyBhbGxvd3MgeW91IHRvIGhhdmUgcHJpdmF0ZSBjb252ZXJzYXRpb25zIG92ZXIgaW5zdGFudCBtZXNzYWdpbmciCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmN5cGhlcnB1bmtzLmNhL290ci8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTJmZTE3NGJhZDZkYTM3NjNmNmU5ZTllYWZmNmRmMjQiCitERVBFTkRTID0gImxpYmdjcnlwdCBsaWJncGctZXJyb3IiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jeXBoZXJwdW5rcy5jYS9vdHIvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeF9xYS1pc3N1ZV9pbmNsdWRlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NlcGJ1aWxkLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjAwOTc5ZGNhODJkNzAzODNmY2QxYjAxZjM5NzQzNjNjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNmOTExOTk0NDA5ODk4ZTc0NTI3NzMwNzQ1ZWYzNWVkNzVjMzUyYzY5NWExODIyYTY3N2EzNGIyY2YwMjkzYjQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luLW90ci9pZ25vcmVfZXh0cmEtcG9ydGFiaWxpdHlfd2FybmluZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4tb3RyL2lnbm9yZV9leHRyYS1wb3J0YWJpbGl0eV93YXJuaW5ncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjBhZDg3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luLW90ci9pZ25vcmVfZXh0cmEtcG9ydGFiaWxpdHlfd2FybmluZ3MucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorcGlkZ2luLW90cjogU2lsZW5jZSBuby1leHRyYS1wb3J0YWJpbGl0eSB3YXJuaW5ncworCitNYWtlIGl0IGJ1aWxkIHdpdGggT0UsIHdhcyBub3QgYnVpbGRpbmcgd2l0aCB3YXJuaW5nIHR1cm5lZCBvbgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFrb2IgRHJleGVsIDxqYWtlNDJAcm9tbWVsLnN0dy51bmktZXJsYW5nZW4uZGU+CisKKy0tLSBhL2NvbmZpZ3VyZS5hYwkyMDEyLTA5LTAxIDE3OjAzOjE5LjAwMDAwMDAwMCArMDIwMAorKysrIGIvY29uZmlndXJlLmFjCTIwMTQtMDEtMTIgMjE6NTk6MjQuOTIwMzAwMjE1ICswMTAwCitAQCAtNCw3ICs0LDcgQEAKKyAKKyBBTV9DT05GSUdfSEVBREVSKGNvbmZpZy5oKQorIAorLUFNX0lOSVRfQVVUT01BS0UoWy1XYWxsIC1XZXJyb3JdKQorK0FNX0lOSVRfQVVUT01BS0UoWy1XYWxsIC1XZXJyb3IgLVduby1leHRyYS1wb3J0YWJpbGl0eV0pCisgCisgQUNfUFJPR19DQworIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luLW90cl80LjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi1vdHJfNC4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg4NGI1YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi1vdHJfNC4wLjAuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICIoT1RSKSBNZXNzYWdpbmcgYWxsb3dzIHlvdSB0byBoYXZlIHByaXZhdGUgY29udmVyc2F0aW9ucyBvdmVyIGluc3RhbnQgbWVzc2FnaW5nIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jeXBoZXJwdW5rcy5jYS9vdHIvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTkyZmUxNzRiYWQ2ZGEzNzYzZjZlOWU5ZWFmZjZkZjI0IgorREVQRU5EUyA9ICJsaWJnY3J5cHQgbGlib3RyIHBpZGdpbiBpbnRsdG9vbC1uYXRpdmUiCisKK1BOQkxBQ0tMSVNUW3BpZGdpbi1vdHJdID89ICJkZXBlbmRzIG9uIGJsYWNrbGlzdGVkIHBpZGdpbiIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmN5cGhlcnB1bmtzLmNhL290ci8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vaWdub3JlX2V4dHJhLXBvcnRhYmlsaXR5X3dhcm5pbmdzLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImVhZGI5NTMzNzZhY2M0NzRlNTYwNDFkNGMxMmFhMmM4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ1NmIzZjA5MmRiZTllZTY1OTc2NDFjN2QyZGQyOTQ4ODRkYzA0YmE0N2FhZjRlYzU3MWNkNTQ5NzdkZjQ2OTEiCisKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L3BpZGdpbi8qIgorRklMRVNfJHtQTn0tZGJnID0gIiR7bGliZGlyfS9waWRnaW4vLmRlYnVnIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGlkZ2luLy5kZWJ1Zy9waWRnaW4tb3RyLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIvdXNyL3NyYy9kZWJ1Zy9waWRnaW4tb3RyLyR7UFZ9LSR7UFJ9LyR7UH0vKiIKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luL3BpZGdpbi1jcm9zcy1weXRob24tMjY1LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luL3BpZGdpbi1jcm9zcy1weXRob24tMjY1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyYmY0ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4vcGlkZ2luLWNyb3NzLXB5dGhvbi0yNjUucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorVXNlIHBrZy1jb25maWcgaW5zdGVhZCBvZiAke1BZVEhPTn0tY29uZmlnIHRvIGZpbmQgcHl0aG9uCisKK2RpZmYgLXVOciBwaWRnaW4tMi4xMC4xMi5vcmlnL2NvbmZpZ3VyZS5hYyBwaWRnaW4tMi4xMC4xMi9jb25maWd1cmUuYWMKKy0tLSBwaWRnaW4tMi4xMC4xMi5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE2LTAxLTAxIDAwOjE5OjQwLjAwMDAwMDAwMCArMDEwMAorKysrIHBpZGdpbi0yLjEwLjEyL2NvbmZpZ3VyZS5hYwkyMDE2LTA1LTA1IDE2OjU1OjEzLjI1ODk0NTkyNSArMDIwMAorQEAgLTE1ODUsMjAgKzE1ODUsMTUgQEAKKyBkbmwgQ2hlY2sgZm9yIFB5dGhvbiBoZWFkZXJzIChjdXJyZW50bHkgdXNlZnVsIG9ubHkgZm9yIGxpYmdudCkKKyBkbmwgKFRoYW5rcyB0byBYQ2hhdCkKKyBpZiB0ZXN0ICJ4JGVuYWJsZV9jb25zb2xldWkiID0gInh5ZXMiIC1hICEgLXogIiRQWVRIT04iIC1hIHgiJFBZVEhPTiIgIT0geCJubyIgOyB0aGVuCistCUFDX01TR19DSEVDS0lORyhmb3IgUHl0aG9uIGNvbXBpbGUgZmxhZ3MpCistCWlmIHRlc3QgLWYgJHtQWVRIT059LWNvbmZpZzsgdGhlbgorLQkJUFlfQ0ZMQUdTPWAke1BZVEhPTn0tY29uZmlnIC0taW5jbHVkZXNgCistCQlQWV9MSUJTPWAke1BZVEhPTn0tY29uZmlnIC0tbGlic2AKKy0JCUFDX0RFRklORShVU0VfUFlUSE9OLCBbMV0sIFtEZWZpbmUgaWYgcHl0aG9uIGhlYWRlcnMgYXJlIGF2YWlsYWJsZS5dKQorLQkJQUNfTVNHX1JFU1VMVChvaykKKy0JZWxzZQorLQkJQUNfTVNHX1JFU1VMVChbQ2Fubm90IGZpbmQgJHtQWVRIT059LWNvbmZpZ10pCistCQlQWV9DRkxBR1M9IiIKKy0JCVBZX0xJQlM9IiIKKy0JZmkKKysgICAgICAgIEFDX01TR19DSEVDS0lORyhmb3IgUHl0aG9uIGNvbXBpbGUgZmxhZ3MpCisrICAgICAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhQWSwgcHl0aG9uLCBbCisrICAgICAgICAgICAgICAgIEFDX1NVQlNUKFBZX0NGTEFHUykKKysgICAgICAgICAgICAgICAgQUNfU1VCU1QoUFlfTElCUykKKysgICAgICAgIF0sIFsKKysgICAgICAgICAgICAgICAgQUNfTVNHX1JFU1VMVChubykKKysgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtDYW4ndCBmaW5kIHB5dGhvbl0pCisrICAgICAgICBdKQorIGZpCistQUNfU1VCU1QoUFlfQ0ZMQUdTKQorLUFDX1NVQlNUKFBZX0xJQlMpCisgCisgZG5sICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgZG5sICMgQ2hlY2sgZm9yIE1vbm8gc3VwcG9ydApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luL3B1cnBsZS1PRS1icmFuZGluZy0yNS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi9wdXJwbGUtT0UtYnJhbmRpbmctMjUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjkzZWY3MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbi9wdXJwbGUtT0UtYnJhbmRpbmctMjUucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorSW5kZXg6IHBpZGdpbi0yLjUuMC9saWJwdXJwbGUvcHJvdG9jb2xzL2lyYy9pcmMuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHBpZGdpbi0yLjUuMC5vcmlnL2xpYnB1cnBsZS9wcm90b2NvbHMvaXJjL2lyYy5oCTIwMDgtMDgtMTkgMDE6NTM6MzguMDAwMDAwMDAwICswMDAwCisrKysgcGlkZ2luLTIuNS4wL2xpYnB1cnBsZS9wcm90b2NvbHMvaXJjL2lyYy5oCTIwMDgtMDgtMjcgMTE6MTU6NTguMDAwMDAwMDAwICswMDAwCitAQCAtMzYsOSArMzYsOSBAQAorIAorICNkZWZpbmUgSVJDX0RFRkFVTFRfQ0hBUlNFVCAiVVRGLTgiCisgI2RlZmluZSBJUkNfREVGQVVMVF9BVVRPREVURUNUIEZBTFNFCistI2RlZmluZSBJUkNfREVGQVVMVF9BTElBUyAicHVycGxlIgorKyNkZWZpbmUgSVJDX0RFRkFVTFRfQUxJQVMgIk9FLXVzZXIiCisgCistI2RlZmluZSBJUkNfREVGQVVMVF9RVUlUICJMZWF2aW5nLiIKKysjZGVmaW5lIElSQ19ERUZBVUxUX1FVSVQgIlBvd2VyZWQgYnkgT0U6IHd3dy5vcGVuZW1iZWRkZWQub3JnIgorIAorICNkZWZpbmUgSVJDX0lOSVRJQUxfQlVGU0laRSAxMDI0CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BpZGdpbi9waWRnaW4vc2FuaXRpemUtY29uZmlndXJlLmFjLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luL3Nhbml0aXplLWNvbmZpZ3VyZS5hYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzdkNjRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luL3Nhbml0aXplLWNvbmZpZ3VyZS5hYy5wYXRjaApAQCAtMCwwICsxLDMzIEBACistLS0gL3RtcC9jb25maWd1cmUuYWMJMjAwNy0wNS0wOCAxNzoyOTowMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBwaWRnaW4tMi4wLjAvY29uZmlndXJlLmFjCTIwMDctMDUtMDggMTc6MzA6MzAuMzI1MjUxMDAwICswMjAwCitAQCAtNDcyLDcgKzQ3Miw3IEBACisgCWlmIHRlc3QgIngkZW5hYmxlX2NvbnNvbGV1aSIgPSAieHllcyI7IHRoZW4KKyAJCWRubCAjIFNvbWUgZGlzdHJvcyBwdXQgdGhlIGhlYWRlcnMgaW4gbmN1cnNlc3cvLCBzb21lIGRvbid0CisgCQlmb3VuZF9uY3Vyc2VzX2g9bm8KKy0JCWZvciBsb2NhdGlvbiBpbiAkYWNfbmN1cnNlc19pbmNsdWRlcyAkTkNVUlNFU19IRUFERVJTIC91c3IvaW5jbHVkZS9uY3Vyc2VzdyAvdXNyL2luY2x1ZGUKKysJCWZvciBsb2NhdGlvbiBpbiAkYWNfbmN1cnNlc19pbmNsdWRlcyAkTkNVUlNFU19IRUFERVJTIAorIAkJZG8KKyAJCQlmPSIkbG9jYXRpb24vbmN1cnNlcy5oIgorIAkJCUFDX0NIRUNLX0hFQURFUigkZixbCitAQCAtMTg2MCwxMCArMTg2MCw2IEBACisgCQkJS1JCNF9DRkxBR1M9IiRLUkI0X0NGTEFHUyAtSSR7a2VyYmVyb3N9L2luY2x1ZGUva2VyYmVyb3NJViIKKyAJCWZpCisgCQlLUkI0X0xERkxBR1M9Ii1MJHtrZXJiZXJvc30vbGliIgorLQllbGlmIHRlc3QgLWQgL3Vzci9sb2NhbC9pbmNsdWRlL2tlcmJlcm9zSVYgOyB0aGVuCistCQlLUkI0X0NGTEFHUz0iLUkvdXNyL2xvY2FsL2luY2x1ZGUva2VyYmVyb3NJViIKKy0JZWxpZiB0ZXN0IC1kIC91c3IvaW5jbHVkZS9rZXJiZXJvc0lWIDsgdGhlbgorLQkJS1JCNF9DRkxBR1M9Ii1JL3Vzci9pbmNsdWRlL2tlcmJlcm9zSVYiCisgCWZpCisgCUFDX0RFRklORShaRVBIWVJfVVNFU19LRVJCRVJPUywgMSwgW0RlZmluZSBpZiBrZXJiZXJvcyBzaG91bGQgYmUgdXNlZCBpbiBaZXBoeXIuXSkKKyAKK0BAIC0xODk2LDEwICsxODkyLDYgQEAKKyAJCVpFUEhZUl9MREZMQUdTPSItTCR7emVwaHlyfS9saWIiCisgCWVsaWYgdGVzdCAtZCAvdXNyL2F0aGVuYS9pbmNsdWRlL3plcGh5ciA7IHRoZW4KKyAJCVpFUEhZUl9DRkxBR1M9Ii1JL3Vzci9hdGhlbmEvaW5jbHVkZSIKKy0JZWxpZiB0ZXN0IC1kIC91c3IvaW5jbHVkZS96ZXBoeXIgOyB0aGVuCistCQlaRVBIWVJfQ0ZMQUdTPSItSS91c3IvaW5jbHVkZSIKKy0JZWxpZiB0ZXN0IC1kIC91c3IvbG9jYWwvaW5jbHVkZS96ZXBoeXIgOyB0aGVuCistCQlaRVBIWVJfQ0ZMQUdTPSItSS91c3IvbG9jYWwvaW5jbHVkZSIKKyAJZmkKKyAJQUNfREVGSU5FKExJQlpFUEhZUl9FWFQsIDEgLCBbRGVmaW5lIGlmIGV4dGVybmFsIGxpYnplcGh5ciBzaG91bGQgYmUgdXNlZC5dKQorIAlBTV9DT05ESVRJT05BTChFWFRFUk5BTF9MSUJaRVBIWVIsIHRlc3QgIngkemVwaHlyIiAhPSAieG5vIikKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbl8yLjEwLjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9waWRnaW4vcGlkZ2luXzIuMTAuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q0NjE0MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGlkZ2luL3BpZGdpbl8yLjEwLjEyLmJiCkBAIC0wLDAgKzEsMTIwIEBACitERVNDUklQVElPTiA9ICJtdWx0aS1wcm90b2NvbCBpbnN0YW50IG1lc3NhZ2luZyBjbGllbnQiCitTRUNUSU9OID0gIngxMS9uZXR3b3JrIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorREVQRU5EUyA9ICJweXRob24gdmlydHVhbC9saWJpbnRsIGludGx0b29sLW5hdGl2ZSBsaWJ4bWwyIGdjb25mIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBnY29uZiBwZXJsbmF0aXZlCisKK1NSQ19VUkkgPSAiXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS9waWRnaW4vcGlkZ2luLSR7UFZ9LnRhci5iejIgXAorICAgIGZpbGU6Ly9zYW5pdGl6ZS1jb25maWd1cmUuYWMucGF0Y2ggXAorICAgIGZpbGU6Ly9wdXJwbGUtT0UtYnJhbmRpbmctMjUucGF0Y2ggXAorICAgIGZpbGU6Ly9waWRnaW4tY3Jvc3MtcHl0aG9uLTI2NS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxNGUwZjVjZmIyZWQwNjVlNGRjODAzOTFhODA2YWM3NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyYzc1MjNmMGZlZmU4OTc0OWMwM2IyYjczOGFiOWY3YmQxODZkYTQzNWJlNDc2MmYxNDg3ZWVlMzFlNzdmZmRkIgorCitQQUNLQUdFQ09ORklHID8/PSAiZ251dGxzIGNvbnNvbGV1aSBhdmFoaSBkYnVzIGlkbiBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExIGd0ayBzdGFydHVwLW5vdGlmaWNhdGlvbicsICcnLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1tmYXJzaWdodDJdID0gIi0tZW5hYmxlLWZhcnN0cmVhbSwtLWRpc2FibGUtZmFyc3RyZWFtLGZhcnNpZ2h0MiIKKyMgIC0tZGlzYWJsZS1nc3RyZWFtZXIgICAgIGNvbXBpbGUgd2l0aG91dCBHU3RyZWFtZXIgYXVkaW8gc3VwcG9ydAorIyAgLS1kaXNhYmxlLWdzdHJlYW1lci12aWRlbworIyAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZSB3aXRob3V0IEdTdHJlYW1lciAxLjAgVmlkZW8gT3ZlcmxheSBzdXBwb3J0CisjICAtLWRpc2FibGUtZ3N0cmVhbWVyLWludGVyZmFjZXMKKyMgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGUgd2l0aG91dCBHU3RyZWFtZXIgMC4xMCBpbnRlcmZhY2Ugc3VwcG9ydAorIyAgLS13aXRoLWdzdHJlYW1lcj08dmVyc2lvbj4KKyMgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGUgd2l0aCBHU3RyZWFtZXIgMC4xMCBvciAxLjAgaW50ZXJmYWNlCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLS1lbmFibGUtZ3N0cmVhbWVyLC0tZGlzYWJsZS1nc3RyZWFtZXIsZ3N0cmVhbWVyIgorUEFDS0FHRUNPTkZJR1t2dl0gPSAiLS1lbmFibGUtdnYsLS1kaXNhYmxlLXZ2LGdzdHJlYW1lciIKK1BBQ0tBR0VDT05GSUdbaWRuXSA9ICItLWVuYWJsZS1pZG4sLS1kaXNhYmxlLWlkbixsaWJpZG4iCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLS1lbmFibGUtZ3RrdWksLS1kaXNhYmxlLWd0a3VpLGd0aysiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXg9eWVzIC0teC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXgtbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LC0td2l0aC14PW5vLHZpcnR1YWwvbGlieDExIgorUEFDS0FHRUNPTkZJR1tzdGFydHVwLW5vdGlmaWNhdGlvbl0gPSAiLS1lbmFibGUtc3RhcnR1cC1ub3RpZmljYXRpb24sLS1kaXNhYmxlLXN0YXJ0dXAtbm90aWZpY2F0aW9uLHN0YXJ0dXAtbm90aWZpY2F0aW9uIgorUEFDS0FHRUNPTkZJR1tjb25zb2xldWldID0gIi0tZW5hYmxlLWNvbnNvbGV1aSAtLXdpdGgtbmN1cnNlcy1oZWFkZXJzPSR7U1RBR0lOR19JTkNESVJ9LC0tZGlzYWJsZS1jb25zb2xldWksbmN1cnNlcyIKK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLWVuYWJsZS1nbnV0bHMgLS13aXRoLWdudXRscy1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtZ251dGxzLWxpYnM9JHtTVEFHSU5HX0xJQkRJUn0sLS1kaXNhYmxlLWdudXRscyxnbnV0bHMiCitQQUNLQUdFQ09ORklHW2RidXNdID0gIi0tZW5hYmxlLWRidXMsLS1kaXNhYmxlLWRidXMsZGJ1cyBkYnVzLWdsaWIiCitQQUNLQUdFQ09ORklHW2F2YWhpXSA9ICItLWVuYWJsZS1hdmFoaSwtLWRpc2FibGUtYXZhaGksYXZhaGkiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1wZXJsIFwKKyAgICAtLWRpc2FibGUtdGNsIFwKKyAgICAtLWRpc2FibGUtZ2V2b2x1dGlvbiBcCisgICAgLS1kaXNhYmxlLXNjaGVtYXMtaW5zdGFsbCBcCisgICAgLS1kaXNhYmxlLWd0a3NwZWxsIFwKKyAgICAtLWRpc2FibGUtbWVhbndoaWxlIFwKKyAgICAtLWRpc2FibGUtbm0gXAorICAgIC0tZGlzYWJsZS1zY3JlZW5zYXZlciBcCisgICAgLS1lbmFibGUtbnNzPW5vIFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgdG91Y2ggJHtTfS9wby9NYWtlZmlsZQorICAgIHNlZCAtaSAicyNQWV9WRVJTSU9OPWAkUFlUSE9OIC1jICdpbXBvcnQgc3lzIDsgcHJpbnQgc3lzLnZlcnNpb25bMDozXSdgI1BZX1ZFUlNJT049JHtQWVRIT05fQkFTRVZFUlNJT059I2ciICR7U30vY29uZmlndXJlLmFjCit9CisKK09FX0xUX1JQQVRIX0FMTE9XPSI6JHtsaWJkaXJ9L3B1cnBsZS0yOiIKK09FX0xUX1JQQVRIX0FMTE9XW2V4cG9ydF09IjEiCisKK1BBQ0tBR0VTID0rICJsaWJwdXJwbGUtZGJnIGxpYnB1cnBsZS1kZXYgbGlicHVycGxlIGxpYmdudC1kYmcgbGliZ250IGxpYmdudC1kZXYgZmluY2gtZGJnIGZpbmNoIGZpbmNoLWRldiAke1BOfS1kYXRhIgorCitMRUFEX1NPTkFNRSA9ICJsaWJwdXJwbGUuc28uMCIKK0ZJTEVTX2xpYnB1cnBsZSAgICAgPSAiJHtsaWJkaXJ9L2xpYnB1cnBsZSouc28uKiAke2xpYmRpcn0vcHVycGxlLTIgJHtiaW5kaXJ9L3B1cnBsZS0qICR7c3lzY29uZmRpcn0vZ2NvbmYvc2NoZW1hcy9wdXJwbGUqICR7ZGF0YWRpcn0vcHVycGxlL2NhLWNlcnRzIgorRklMRVNfbGlicHVycGxlLWRldiA9ICIke2xpYmRpcn0vbGlicHVycGxlKi5sYSBcCisgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJwdXJwbGUqLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B1cnBsZS0yLyoubGEgXAorICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcHVycGxlLTIvbGliamFiYmVyLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B1cnBsZS0yL2xpYm9zY2FyLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B1cnBsZS0yL2xpYnltc2cuc28gXAorICAgICAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2FjbG9jYWwiCitGSUxFU19saWJwdXJwbGUtZGJnICs9ICIke2xpYmRpcn0vLmRlYnVnL2xpYnB1cnBsZSogXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3B1cnBsZS0yLy5kZWJ1ZyIKK0ZJTEVTX2xpYmdudCAgICAgICAgID0gIiR7bGliZGlyfS9saWJnbnQuc28uKiAke2xpYmRpcn0vZ250Lyouc28iIAorRklMRVNfbGliZ250LWRldiAgICAgPSAiJHtsaWJkaXJ9L2dudC8qLmxhIiAKK0ZJTEVTX2xpYmdudC1kYmcgICAgID0gIiR7bGliZGlyfS9nbnQvLmRlYnVnIgorRklMRVNfZmluY2ggICAgICAgICAgPSAiJHtiaW5kaXJ9L2ZpbmNoIgorRklMRVNfZmluY2gtZGV2ICAgICAgPSAiJHtsaWJkaXJ9L2ZpbmNoLyoubGEiCitGSUxFU19maW5jaC1kYmcgICAgICA9ICIke2JpbmRpcn0vLmRlYnVnL2ZpbmNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9maW5jaC8uZGVidWciCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfSAke2RhdGFkaXJ9LyR7UE59ICR7bGliZGlyfS8ke1BOfS8qLnNvIFwKKyAgICAgICAgICAgJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMiCitSUkVDT01NRU5EU18ke1BOfSA9ICIke1BOfS1kYXRhIGxpYnB1cnBsZS1wbHVnaW4tc3NsLWdudXRscyBsaWJwdXJwbGUtcHJvdG9jb2wtaXJjIGxpYnB1cnBsZS1wcm90b2NvbC14bXBwIgorCitGSUxFU18ke1BOfS1kYXRhID0gIiR7ZGF0YWRpcn0vcGl4bWFwcyAke2RhdGFkaXJ9L3NvdW5kcyAke2RhdGFkaXJ9L2ljb25zICR7ZGF0YWRpcn0vYXBwZGF0YSIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyR7UE59LyoubGEiCisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWJwdXJwbGUtcHJvdG9jb2wtLiogXmxpYnB1cnBsZS1wbHVnaW4tLiogXnBpZGdpbi1wbHVnaW4tLiogXmZpbmNoLXBsdWdpbi0uKiIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIHBpZGdyb290ID0gZC5leHBhbmQoJyR7bGliZGlyfS9waWRnaW4nKQorICAgIHB1cnBsZSAgID0gZC5leHBhbmQoJyR7bGliZGlyfS9wdXJwbGUtMicpCisgICAgZmluY2ggICAgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L2ZpbmNoJykKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBpZGdyb290LCAnXihbXmxdW15pXVteYl0uKilcLnNvJCcsCisgICAgICAgIG91dHB1dF9wYXR0ZXJuPSdwaWRnaW4tcGx1Z2luLSVzJywKKyAgICAgICAgZGVzY3JpcHRpb249J1BpZGdpbiBwbHVnaW4gJXMnLAorICAgICAgICBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9JycpCisKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwdXJwbGUsICdebGliKC4qKVwuc28kJywKKyAgICAgICAgb3V0cHV0X3BhdHRlcm49J2xpYnB1cnBsZS1wcm90b2NvbC0lcycsCisgICAgICAgIGRlc2NyaXB0aW9uPSdMaWJwdXJwbGUgcHJvdG9jb2wgcGx1Z2luIGZvciAlcycsCisgICAgICAgIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nJykKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHB1cnBsZSwgJ14oc3NsLS4qKVwuc28kJywKKyAgICAgICAgb3V0cHV0X3BhdHRlcm49J2xpYnB1cnBsZS1wbHVnaW4tJXMnLAorICAgICAgICBkZXNjcmlwdGlvbj0nbGlicHVycGxlIHBsdWdpbiAlcycsCisgICAgICAgIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nbGlicHVycGxlLXBsdWdpbi1zc2wnKQorCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcHVycGxlLCAnXihbXmxdW15pXVteYl0uKilcLnNvJCcsCisgICAgICAgIG91dHB1dF9wYXR0ZXJuPSdsaWJwdXJwbGUtcGx1Z2luLSVzJywKKyAgICAgICAgZGVzY3JpcHRpb249J2xpYnB1cnBsZSBwbHVnaW4gJXMnLAorICAgICAgICBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9JycpCisKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBmaW5jaCwgJ14oW15sXVteaV1bXmJdLiopXC5zbyQnLAorICAgICAgICBvdXRwdXRfcGF0dGVybj0nZmluY2gtcGx1Z2luLSVzJywKKyAgICAgICAgZGVzY3JpcHRpb249J0ZpbmNoIHBsdWdpbiAlcycsCisgICAgICAgIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nJykKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcGtjczExLWhlbHBlci9wa2NzMTEtaGVscGVyXzEuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BrY3MxMS1oZWxwZXIvcGtjczExLWhlbHBlcl8xLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiNzFiZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BrY3MxMS1oZWxwZXIvcGtjczExLWhlbHBlcl8xLjExLmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiQSBsaWJyYXJ5IGZvciB1c2luZyBQS0NTIgorREVTQ1JJUFRJT04gPSAicGtjczExLWhlbHBlciBpcyBhIGxpYnJhcnkgdGhhdCBzaW1wbGlmaWVzIHRoZSBpbnRlcmFjdGlvbiB3aXRoIFBLQ1MgXAorcHJvdmlkZXJzIGZvciBlbmQtdXNlciBhcHBsaWNhdGlvbnMgdXNpbmcgYSBzaW1wbGUgQVBJIGFuZCBvcHRpb25hbCBPcGVuU1NMIFwKK2VuZ2luZS4gVGhlIGxpYnJhcnkgYWxsb3dzIHVzaW5nIG11bHRpcGxlIFBLQ1MgZW51bWVyYXRpbmcgYXZhaWxhYmxlIHRva2VuIFwKK2NlcnRpZmljYXRlcywgb3Igc2VsZWN0aW5nIGEgY2VydGlmaWNhdGUgZGlyZWN0bHkgYnkgc2VyaWFsaXplZCBpZCwgaGFuZGxpbmcgXAorY2FyZCByZW1vdmFsIGFuZCBjYXJkIGluc2VydCBldmVudHMsIGhhbmRsaW5nIGNhcmQgaWUtaW5zZXJ0IHRvIGEgZGlmZmVyZW50IFwKK3Nsb3QsIHN1cHBvcnRpbmcgc2Vzc2lvbiBleHBpcmF0aW9uIGFuZCBtdWNoIG1vcmUgYWxsIHVzaW5nIGEgc2ltcGxlIEFQSS4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNjLXByb2plY3Qub3JnL3BrY3MxMS1oZWxwZXIvIgorU0VDVElPTiA9ICJEZXZlbG9wbWVudC9MaWJyYXJpZXMiCisKK0xJQ0VOU0UgPSAiR1BMdjIgJiBCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTQ5NDg4MTA2MzFiY2FjMTQyYWY1M2QzMmRmNWI2ZWUxIFwKKyAgICBmaWxlOi8vQ09QWUlORy5HUEw7bWQ1PThhNzFkMDQ3NWQwOGVlZTc2ZDhiNmQwYzZkYmVjNTQzIFwKKyAgICBmaWxlOi8vQ09QWUlORy5CU0Q7bWQ1PWY3OWY5MGVhN2ExMDY3OTZhZjgwYjVkMDVmMWY4ZGExIFwKKyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9PcGVuU0MvJHtCUE59LmdpdCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZjYyYWY5ZjQ3NTkwMWI4OTM1NTI2NjE0MTMwNjY3MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0OTRlYzU5YzkzZTdjNTZjNTI4ZjMzNWQ5MzUzODQ5ZTJlN2M5NGE2YjFiNDFjODk2MDQ2OTRlNzM4MTEzMzg2IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorU1JDUkVWID0gImU3YWRmOGYzNWJlMjMyYTRmMDRjNTNiNGFjNDA5YmU1Mjc5MjA5M2UiCisKK0RFUEVORFMgPSAiemxpYiBuZXR0bGUgZ251dGxzIGdtcCBvcGVuc3NsIG5zcyBuc3ByIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1zdGF0aWMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BuZ2NoZWNrL3BuZ2NoZWNrXzIuMy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wbmdjaGVjay9wbmdjaGVja18yLjMuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTIzYjdhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wbmdjaGVjay9wbmdjaGVja18yLjMuMC5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gInBuZ2NoZWNrIHZlcmlmaWVzIHRoZSBpbnRlZ3JpdHkgb2YgUE5HLCBKTkcgYW5kIE1ORyBmaWxlcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGlicG5nLm9yZy9wdWIvcG5nL2FwcHMvcG5nY2hlY2suaHRtbCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9ncGwvQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCitERVBFTkRTID0gInpsaWIgbGlicG5nIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0L3BuZy1tbmcvJHtCUE59LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ODBiZDZkOWEzODMwZmRjZTc0NmQ3ZmUzYzkxNjZlZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3N2YwYTAzOWFjNjRkZjU1ZmJkMDZhZjZmODcyZmRiYWQ0ZjYzOWQwMDliYmI1Y2Q1Y2JlNGRiMjU2OTBmMzVmIgorCitFWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIC1mIE1ha2VmaWxlLnVueCBJTkNTPS1JJHtTVEFHSU5HX0RJUl9IT1NUfSR7aW5jZGlyfSBMSUJTPSR7U1RBR0lOR19ESVJfSE9TVH0ke2xpYmRpcn0vbGliei5hCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCBwbmdjaGVjayAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCBwbmctZml4LUlEQVQtd2luZG93c2l6ZSAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCBwbmdzcGxpdCAke0R9JHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jby9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jby9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ3OWY3YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvL3J1bi1wdGVzdApAQCAtMCwwICsxLDkgQEAKKyMhL2Jpbi9zaAord2hpbGUgcmVhZCBydW5uZXI7IGRvCisgIHB1c2hkIC4gPi9kZXYvbnVsbAorICBjZCBiaW4KKyAgZWNobyBUZXN0aW5nICRydW5uZXIKKyAgLi8kcnVubmVyLXRlc3RydW5uZXIgLWFsbAorICBwb3BkID4vZGV2L251bGwKK2RvbmUgPCB0ZXN0cnVubmVycworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jb18xLjcuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvXzEuNy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNWQyYWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jb18xLjcuMS5iYgpAQCAtMCwwICsxLDEwNyBAQAorU1VNTUFSWSA9ICJNb2Rlcm4sIHBvd2VyZnVsIG9wZW4gc291cmNlIGNyb3NzLXBsYXRmb3JtIEMrKyBjbGFzcyBsaWJyYXJpZXMiCitERVNDUklQVElPTiA9ICJNb2Rlcm4sIHBvd2VyZnVsIG9wZW4gc291cmNlIEMrKyBjbGFzcyBsaWJyYXJpZXMgYW5kIGZyYW1ld29ya3MgZm9yIGJ1aWxkaW5nIG5ldHdvcmstIGFuZCBpbnRlcm5ldC1iYXNlZCBhcHBsaWNhdGlvbnMgdGhhdCBydW4gb24gZGVza3RvcCwgc2VydmVyLCBtb2JpbGUgYW5kIGVtYmVkZGVkIHN5c3RlbXMuIgorU0VDVElPTiA9ICJsaWJzIgorSE9NRVBBR0UgPSAiaHR0cDovL3BvY29wcm9qZWN0Lm9yZy8iCitMSUNFTlNFID0gIkJTTC0xLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00MjY3ZjQ4ZmM3MzhmNTAzODBjYmVlYjc2Zjk1Y2ViYyIKKworIyBUaGVzZSBkZXBlbmRlbmNpZXMgYXJlIHJlcXVpcmVkIGJ5IEZvdW5kYXRpb24KK0RFUEVORFMgPSAibGlicGNyZSB6bGliIgorCitpbmhlcml0IGNtYWtlIHB0ZXN0CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cHM6Ly9naXRodWIuY29tL3BvY29wcm9qZWN0L3BvY28vYXJjaGl2ZS9wb2NvLSR7UFZ9LXJlbGVhc2UudGFyLmd6IFwKKyAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImE0Yjc1NWQ0NzMwM2IyMGEwZTI1ODZmMjgxZDA1YTM2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZkYmJjMjAxODkxMmFkOWFmNmFmOTZmNjA1OTMzZWQ5MTM1NGExZTc0MjNlNWRiZDA0ZDhlOWEyYjJkMTVjMDUiCisKK1MgPSAiJHtXT1JLRElSfS9wb2NvLXBvY28tJHtQVn0tcmVsZWFzZSIKKworRVhUUkFfT0VDTUFLRSA9ICItRENNQUtFX0JVSUxEX1RZUEU9UmVsV2l0aERlYkluZm8gLURQT0NPX1VOQlVORExFRD1PTiBcCisgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQVEVTVF9FTkFCTEVEJywgJzEnLCAnLURFTkFCTEVfVEVTVFM9T04gJywgJycsIGQpfSIKKworIyBGb3IgdGhlIG5hdGl2ZSBidWlsZCB3ZSB3YW50IHRvIHVzZSB0aGUgYnVuZGxlZCB2ZXJzaW9uCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC1EUE9DT19VTkJVTkRMRUQ9T0ZGIgorCisjIGRvIG5vdCB1c2UgcnBhdGgKK0VYVFJBX09FQ01BS0VfYXBwZW5kID0gIiAtRENNQUtFX1NLSVBfUlBBVEg9T04iCisKKyMgQnkgZGVmYXVsdCB0aGUgbW9zdCBjb21tb25seSB1c2VkIHBvY28gY29tcG9uZW50cyBhcmUgYnVpbHQKKyMgRm91bmRhdGlvbiBpcyBidWlsdCBhbnl3YXkgYW5kIGRvZXNuJ3QgbmVlZCB0byBiZSBsaXN0ZWQgZXhwbGljaXRseQorIyB0aGVzZSBkb24ndCBoYXZlIGRlcGVuZGVuY2llcyBvdXRzaWRlIG9lLWNvcmUKK1BBQ0tBR0VDT05GSUcgPz89ICJYTUwgSlNPTiBNb25nb0RCIFBERiBVdGlsIE5ldCBOZXRTU0wgQ3J5cHRvIERhdGEgRGF0YVNRTGl0ZSBaaXAiCisKK1BBQ0tBR0VDT05GSUdbWE1MXSA9ICItREVOQUJMRV9YTUw9T04sLURFTkFCTEVfWE1MPU9GRixleHBhdCIKK1BBQ0tBR0VDT05GSUdbSlNPTl0gPSAiLURFTkFCTEVfSlNPTj1PTiwtREVOQUJMRV9KU09OPU9GRiIKK1BBQ0tBR0VDT05GSUdbTW9uZ29EQl0gPSAiLURFTkFCTEVfTU9OR09EQj1PTiwtREVOQUJMRV9NT05HT0RCPU9GRiIKK1BBQ0tBR0VDT05GSUdbUERGXSA9ICItREVOQUJMRV9QREY9T04sLURFTkFCTEVfUERGPU9GRix6bGliIgorUEFDS0FHRUNPTkZJR1tVdGlsXSA9ICItREVOQUJMRV9VVElMPU9OLC1ERU5BQkxFX1VUSUw9T0ZGIgorUEFDS0FHRUNPTkZJR1tOZXRdID0gIi1ERU5BQkxFX05FVD1PTiwtREVOQUJMRV9ORVQ9T0ZGIgorUEFDS0FHRUNPTkZJR1tOZXRTU0xdID0gIi1ERU5BQkxFX05FVFNTTD1PTiwtREVOQUJMRV9ORVRTU0w9T0ZGLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW0NyeXB0b10gPSAiLURFTkFCTEVfQ1JZUFRPPU9OLC1ERU5BQkxFX0NSWVBUTz1PRkYsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbRGF0YV0gPSAiLURFTkFCTEVfREFUQT1PTiwtREVOQUJMRV9EQVRBPU9GRiIKK1BBQ0tBR0VDT05GSUdbRGF0YVNRTGl0ZV0gPSAiLURFTkFCTEVfREFUQV9TUUxJVEU9T04sLURFTkFCTEVfREFUQV9TUUxJVEU9T0ZGLHNxbGl0ZTMiCitQQUNLQUdFQ09ORklHW1ppcF0gPSAiLURFTkFCTEVfWklQPU9OLC1ERU5BQkxFX1pJUD1PRkYiCisKKyMgQWRkaXRpb25hbCBjb21wb25lbnRzIG5vdCBidWlsZCBieSBkZWZhdWx0LAorIyB0aGV5IG1pZ2h0IGhhdmUgZGVwZW5kZW5jaWVzIG5vdCBpbmNsdWRlZCBpbiBvZS1jb3JlCisjIG9yIHRoZXkgZG9uJ3Qgd29yayBvbiBhbGwgYXJjaGl0ZWN0dXJlcworUEFDS0FHRUNPTkZJR1ttb2RfcG9jb10gPSAiLURFTkFCTEVfQVBBQ0hFQ09OTkVDVE9SPU9OLC1ERU5BQkxFX0FQQUNIRUNPTk5FQ1RPUj1PRkYsYXByIGFwYWNoZTIiCitQQUNLQUdFQ09ORklHW0NwcFBhcnNlcl0gPSAiLURFTkFCTEVfQ1BQUEFSU0VSPU9OLC1ERU5BQkxFX0NQUFBBUlNFUj1PRkYiCitQQUNLQUdFQ09ORklHW0RhdGFNeVNRTF0gPSAiLURFTkFCTEVfREFUQV9NWVNRTD1PTiwtREVOQUJMRV9EQVRBX01ZU1FMPU9GRixtYXJpYWRiIgorUEFDS0FHRUNPTkZJR1tEYXRhT0RCQ10gPSAiLURFTkFCTEVfREFUQV9PREJDPU9OLC1ERU5BQkxFX0RBVEFfT0RCQz1PRkYsbGliaW9kYmMiCitQQUNLQUdFQ09ORklHW1BhZ2VDb21waWxlcl0gPSAiLURFTkFCTEVfUEFHRUNPTVBJTEVSPU9OLC1ERU5BQkxFX1BBR0VDT01QSUxFUj1PRkYiCitQQUNLQUdFQ09ORklHW1BhZ2VDb21waWxlckZpbGUyUGFnZV0gPSAiLURFTkFCTEVfUEFHRUNPTVBJTEVSX0ZJTEUyUEFHRT1PTiwtREVOQUJMRV9QQUdFQ09NUElMRVJfRklMRTJQQUdFPU9GRiIKK1BBQ0tBR0VDT05GSUdbU2V2ZW5aaXBdID0gIi1ERU5BQkxFX1NFVkVOWklQPU9OLC1ERU5BQkxFX1NFVkVOWklQPU9GRiIKKworIyBNYWtlIGEgcGFja2FnZSBmb3IgZWFjaCBsaWJyYXJ5CitQQUNLQUdFUyA9ICIke1BOfS1kYmcgJHtQT0NPX1BBQ0tBR0VTfSIKK3B5dGhvbiBfX2Fub255bW91cyAoKSB7CisgICAgcGFja2FnZXMgPSBbXQorICAgIHRlc3RydW5uZXJzID0gW10KKyAgICBjb21wb25lbnRzID0gZC5nZXRWYXIoIlBBQ0tBR0VDT05GSUciLCBUcnVlKS5zcGxpdCgpCisgICAgY29tcG9uZW50cy5hcHBlbmQoIkZvdW5kYXRpb24iKQorICAgIGZvciBsaWIgaW4gY29tcG9uZW50czoKKyAgICAgICAgcGtnID0gKCJwb2NvLSVzIiAlIGxpYi5sb3dlcigpKS5yZXBsYWNlKCJfIiwiIikKKyAgICAgICAgcGFja2FnZXMuYXBwZW5kKHBrZykKKyAgICAgICAgaWYgbm90IGQuZ2V0VmFyKCJGSUxFU18lcyIgJSBwa2csIFRydWUpOgorICAgICAgICAgICAgZC5zZXRWYXIoIkZJTEVTXyVzIiAlIHBrZywgIiR7bGliZGlyfS9saWJQb2NvJXMuc28uKiIgJSBsaWIpCisgICAgICAgIHRlc3RydW5uZXJzLmFwcGVuZCgiJXMiICUgbGliKQorCisgICAgZC5zZXRWYXIoIlBPQ09fUEFDS0FHRVMiLCAiICIuam9pbihwYWNrYWdlcykpCisgICAgZC5zZXRWYXIoIlBPQ09fVEVTVFJVTk5FUlMiLCAiXG4iLmpvaW4odGVzdHJ1bm5lcnMpKQorfQorCisjICJwb2NvIiBpcyBhIG1ldGFwYWNrYWdlIHdoaWNoIHB1bGxzIGluIGFsbCBQb2NvIGNvbXBvbmVudHMKK1BBQ0tBR0VTICs9ICIke1BOfSIKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICIke1BPQ09fUEFDS0FHRVN9IgorUlJFQ09NTUVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCisKKyMgLWRldiBsYXN0IHRvIHBpY2sgdXAgdGhlIHJlbWFpbmluZyBzdHVmZgorUEFDS0FHRVMgKz0gIiR7UE59LWRldiAke1BOfS1zdGF0aWNkZXYiCitGSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSAke2xpYmRpcn0vbGliUG9jbyouc28gJHtsaWJkaXJ9L2NtYWtlIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJQb2NvKi5hIgorCisjIHB0ZXN0IHN1cHBvcnQKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtQVEVTVF9QQVRIfS9iaW4vLmRlYnVnIgorCisjIGNwcHVuaXQgaXMgb25seSBidWlsdCBpZiB0ZXN0cyBhcmUgZW5hYmxlZAorUEFDS0FHRVMgKz0gIiR7UE59LWNwcHVuaXQiCitGSUxFU18ke1BOfS1jcHB1bml0ICs9ICIke2xpYmRpcn0vbGliQ3BwVW5pdC5zbyoiCitBTExPV19FTVBUWV8ke1BOfS1jcHB1bml0ID0gIjEiCisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICIke1BOfS1jcHB1bml0IgorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKyAgICAgICBjcCAtcmYgJHtCfS9iaW4vICR7RH0ke1BURVNUX1BBVEh9CisgICAgICAgY3AgLWYgJHtCfS9saWIvbGliQ3BwVW5pdC5zbyogJHtEfSR7bGliZGlyfQorICAgICAgIGNwIC1yZiAke0J9LyovdGVzdHN1aXRlL2RhdGEgJHtEfSR7UFRFU1RfUEFUSH0vYmluLworICAgICAgIGZpbmQgIiR7RH0ke1BURVNUX1BBVEh9IiAtZXhlY3V0YWJsZSAtZXhlYyBjaHJwYXRoIC1kIHt9IFw7CisgICAgICAgZWNobyAiJHtQT0NPX1RFU1RSVU5ORVJTfSIgPiAiJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHJ1bm5lcnMiCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci1kYXRhXzAuNC43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXItZGF0YV8wLjQuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTMwYTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXItZGF0YV8wLjQuNy5iYgpAQCAtMCwwICsxLDM2IEBACitTVU1NQVJZID0gIkVuY29kaW5nIGZpbGVzIGZvciBQb3BwbGVyIgorREVTQ1JJUFRJT04gPSAiRW5jb2RpbmcgZmlsZXMgZm9yIHVzZSB3aXRoIHBvcHBsZXIgdGhhdCBlbmFibGUgcG9wcGxlciB0byBcCisgICAgICAgICAgICAgICBjb3JyZWN0bHkgcmVuZGVyIENKSyBhbmQgQ3lycmlsaWMuIgorTElDRU5TRSA9ICJCU0QgJiBHUEx2MiAmIEdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQ4NzBiOTgzNDNmMGJiYjI1ZmE0M2I5ZDJiYTU5NDQ4IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuYWRvYmU7bWQ1PTYzYzZhOGE5ZGYyMDRjMDA0NjFmYTVmMTYzZDhhNjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuZ3BsMjttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgXAorIgorCitpbmhlcml0IGFsbGFyY2gKKworSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKKworQ01BUF9SRVNPVVJDRVNfQkFTRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYWRvYmUtdHlwZS10b29scy9jbWFwLXJlc291cmNlcy9yYXcvMDU2MWViY2EwMzU4MTNlZDA0YzM0ODViY2E2MzZhMGFhN2FiZGMxZC9jbWFwcmVzb3VyY2VzX2lkZW50aXR5LTAvQ01hcCIKKworU1JDX1VSSSA9ICJodHRwOi8vcG9wcGxlci5mcmVlZGVza3RvcC5vcmcvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgJHtDTUFQX1JFU09VUkNFU19CQVNFfS9JZGVudGl0eS1IO25hbWU9aWRoIFwKKyAgICAgICAgICAgJHtDTUFQX1JFU09VUkNFU19CQVNFfS9JZGVudGl0eS1WO25hbWU9aWR2IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjM2YThmMmI5ZjZkZjllN2NlZDhlYzA5NDY5NjFlYWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTc1MmIwZDg4YTdhYmE1NDU3NDE1MjE0M2U3YmY3NjQzNmE3ZWY1MTk3N2M1NWQ2YmQ5YTQ4ZGNjZGUzYTdkZSIKK1NSQ19VUklbaWRoLm1kNXN1bV0gPSAiMDA5YzkzY2YwMTQxYWI3YmQ2YWNiN2VlYTE0MzA2Y2MiCitTUkNfVVJJW2lkaC5zaGEyNTZzdW1dID0gImFlNzAyYzIwM2E4MmVhMTI0ZTliOTY1OTBmODIxZGI2ZmJmODc1NGUyYzQ1NDdhOWRiYTBlODJmOTQ3MzllOTUiCitTUkNfVVJJW2lkdi5tZDVzdW1dID0gIjJmMzJhNDVkNDNkMDAxYzI2ZWVhYzZiODc4ODU1ZmJmIgorU1JDX1VSSVtpZHYuc2hhMjU2c3VtXSA9ICI4OWE4NWRhZjcwMzFlOTNjODgzZTc2YjkxNjhhMjI2ZGZkNTg1YmY1NTA2ZTllMTk1Njc3MjE2M2YxNWNiMDgyIgorCitkb19jb21waWxlKCkgeworfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0gcHJlZml4PSR7cHJlZml4fSBkYXRhZGlyPSR7ZGF0YWRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L3BvcHBsZXIvY01hcAorICAgIGluc3RhbGwgLW02NDQgJHtXT1JLRElSfS9JZGVudGl0eS0qICR7RH0ke2RhdGFkaXJ9L3BvcHBsZXIvY01hcC8KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci8wMDAxLUNvbXBpbGUtd2l0aC1DLTExLWNvbXBpbGVycy10aGF0LWRvbi10LWRlZmluZS1pc2luZmkucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci8wMDAxLUNvbXBpbGUtd2l0aC1DLTExLWNvbXBpbGVycy10aGF0LWRvbi10LWRlZmluZS1pc2luZmkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVjMzRhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLzAwMDEtQ29tcGlsZS13aXRoLUMtMTEtY29tcGlsZXJzLXRoYXQtZG9uLXQtZGVmaW5lLWlzaW5maS5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIGE4ZTMzOTk0ODcyNThlNTNkZjBmZDRhNzljNTcwYzhkNzExODhiZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUYWthaGlybyBIYXNoaW1vdG8gPGtlbnlhODg4LmVuQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjcgQXByIDIwMTYgMDA6MTY6NTIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQ29tcGlsZSB3aXRoIEMrKzExIGNvbXBpbGVycyB0aGF0IGRvbid0IGRlZmluZSBpc2luZmluaXRlCisKK0J1ZyAjOTQ3NjEKKy0tLQorIHBvcHBsZXIvU3BsYXNoT3V0cHV0RGV2LmNjIHwgOCArKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3BvcHBsZXIvU3BsYXNoT3V0cHV0RGV2LmNjIGIvcG9wcGxlci9TcGxhc2hPdXRwdXREZXYuY2MKK2luZGV4IDEzZDA5MGMuLjBlNTA3MDIgMTAwNjQ0CistLS0gYS9wb3BwbGVyL1NwbGFzaE91dHB1dERldi5jYworKysrIGIvcG9wcGxlci9TcGxhc2hPdXRwdXREZXYuY2MKK0BAIC0zNiw2ICszNiw3IEBACisgLy8gQ29weXJpZ2h0IChDKSAyMDE0IFJpY2hhcmQgUEFMTyA8cmljaGFyZEBuZXRic2Qub3JnPgorIC8vIENvcHlyaWdodCAoQykgMjAxNSBUYW1hcyBTemVrZXJlcyA8c3pla2VyZXN0QGdtYWlsLmNvbT4KKyAvLyBDb3B5cmlnaHQgKEMpIDIwMTUgS2VuamkgVW5vIDxrdUBkaWdpdGFsZG9scGhpbnMuanA+CisrLy8gQ29weXJpZ2h0IChDKSAyMDE2IFRha2FoaXJvIEhhc2hpbW90byA8a2VueWE4ODguZW5AZ21haWwuY29tPgorIC8vCisgLy8gVG8gc2VlIGEgZGVzY3JpcHRpb24gb2YgdGhlIGNoYW5nZXMgcGxlYXNlIHNlZSB0aGUgQ2hhbmdlbG9nIGZpbGUgdGhhdAorIC8vIGNhbWUgd2l0aCB5b3VyIHRhcmJhbGwgb3IgdHlwZSBtYWtlIENoYW5nZUxvZyBpZiB5b3UgYXJlIGJ1aWxkaW5nIGZyb20gZ2l0CitAQCAtOTQsNiArOTUsMTMgQEAgZXh0ZXJuICJDIiBpbnQgdW5saW5rKGNoYXIgKmZpbGVuYW1lKTsKKyAjZW5kaWYKKyAjZW5kaWYKKyAKKysjaWYgX19jcGx1c3BsdXMgPiAxOTk3MTFMCisrI2luY2x1ZGUgPGNtYXRoPgorKyNpZm5kZWYgaXNmaW5pdGUKKysjZGVmaW5lIGlzZmluaXRlKHgpIHN0ZDo6aXNmaW5pdGUoeCkKKysjZW5kaWYKKysjZW5kaWYKKysKKyBzdGF0aWMgaW5saW5lIHZvaWQgY29udmVydEdmeENvbG9yKFNwbGFzaENvbG9yUHRyIGRlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTcGxhc2hDb2xvck1vZGUgY29sb3JNb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2Z4Q29sb3JTcGFjZSAqY29sb3JTcGFjZSwKKy0tIAorMi44LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXIvMDAwMS1hZGQtbWFuYWRhdG9yeS1vcHRpb25zLXRvLWZpbmQtcXQ0LXF0NS1tb2MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci8wMDAxLWFkZC1tYW5hZGF0b3J5LW9wdGlvbnMtdG8tZmluZC1xdDQtcXQ1LW1vYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjBiMDczCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXIvMDAwMS1hZGQtbWFuYWRhdG9yeS1vcHRpb25zLXRvLWZpbmQtcXQ0LXF0NS1tb2MucGF0Y2gKQEAgLTAsMCArMSw5MSBAQAorRnJvbSA5MWI2Mjc1ZjBlOTFjMjViZWIwNDBiNGVmOTQ4NDA1M2FlMzA1ZDg2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVHVlLCAyNiBNYXkgMjAxNSAxMjo0NTo0NyArMDIwMAorU3ViamVjdDogW1BBVENIXSBhZGQgbWFuYWRhdG9yeSBvcHRpb25zIHRvIGZpbmQgcXQ0L3F0NSBtb2MKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgNTUgKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA2NzU5OWMwLi40MGZhNTk2IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC02MjIsMjUgKzYyMiwxMCBAQCBBQ19TVUJTVChQT1BQTEVSX1FUNF9MSUJTKQorIEFDX1NVQlNUKFBPUFBMRVJfUVQ0X1RFU1RfTElCUykKKyAKKyBpZiB0ZXN0IHgkZW5hYmxlX3BvcHBsZXJfcXQ0ID0geHllczsgdGhlbgorLSAgQUNfQ0hFQ0tfVE9PTChNT0NRVDQsIG1vYykKKy0gIEFDX01TR19DSEVDS0lORyhbZm9yIFF0NCBtb2NdKQorLSAgbW9jdmVyc2lvbj1gJE1PQ1FUNCAtdiAyPiYxYAorLSAgbW9jdmVyc2lvbmdyZXA9YGVjaG8gJG1vY3ZlcnNpb24gfCBncmVwICJRdCA0ImAKKy0gIGlmIHRlc3QgeCIkbW9jdmVyc2lvbmdyZXAiICE9IHgiJG1vY3ZlcnNpb24iOyB0aGVuCistICAgIEFDX01TR19SRVNVTFQoW25vXSkKKy0gICAgIyBtb2Mgd2FzIG5vdCB0aGUgcXQ0IG9uZSwgdHJ5IHdpdGggbW9jLXF0NAorLSAgICBBQ19DSEVDS19UT09MKE1PQ1FUNDIsIG1vYy1xdDQpCistICAgIEFDX01TR19DSEVDS0lORyhbZm9yIFF0NCBtb2MtcXQ0XSkKKy0gICAgbW9jdmVyc2lvbj1gJE1PQ1FUNDIgLXYgMj4mMWAKKy0gICAgbW9jdmVyc2lvbmdyZXA9YGVjaG8gJG1vY3ZlcnNpb24gfCBncmVwICJRdCA0ImAKKy0gICAgaWYgdGVzdCB4IiRtb2N2ZXJzaW9uZ3JlcCIgIT0geCIkbW9jdmVyc2lvbiI7IHRoZW4KKy0gICAgICAjIG5vIHZhbGlkIG1vYyBmb3VuZAorLSAgICAgIGVuYWJsZV9wb3BwbGVyX3F0ND1ubzsKKy0gICAgICBNT0NRVDQ9Im5vdCBmb3VuZCIKKy0gICAgZWxzZQorLSAgICAgIE1PQ1FUND0kTU9DUVQ0MgorLSAgICBmaQorLSAgZmkKKysgIEFDX0FSR19XSVRIKFttb2MtcXQ0XSwKKysgICAgICAgICAgICAgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtbW9jLXF0NF0sIFtTZXQgbG9jYXRpb24gb2YgcXQ0IG1vY10pLAorKyAgICAgICAgICAgICAgW01PQ1FUND0kd2l0aHZhbF0KKysgICkKKyAgIEFDX1NVQlNUKE1PQ1FUNCkKKyAgIEFDX01TR19SRVNVTFQoWyRNT0NRVDRdKQorIGZpCitAQCAtNjc5LDM0ICs2NjQsMTAgQEAgQUNfU1VCU1QoUE9QUExFUl9RVDVfTElCUykKKyBBQ19TVUJTVChQT1BQTEVSX1FUNV9URVNUX0xJQlMpCisgCisgaWYgdGVzdCB4JGVuYWJsZV9wb3BwbGVyX3F0NSA9IHh5ZXM7IHRoZW4KKy0gIEFDX0NIRUNLX1RPT0woTU9DUVQ1LCBtb2MpCistICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBRdDUgbW9jXSkKKy0gIG1vY3ZlcnNpb249YCRNT0NRVDUgLXYgMj4mMWAKKy0gIG1vY3ZlcnNpb25ncmVwPWBlY2hvICRtb2N2ZXJzaW9uIHwgZ3JlcCAiUXQgNVx8bW9jIDUiYAorLSAgaWYgdGVzdCB4IiRtb2N2ZXJzaW9uZ3JlcCIgIT0geCIkbW9jdmVyc2lvbiI7IHRoZW4KKy0gICAgQUNfTVNHX1JFU1VMVChbbm9dKQorLSAgICAjIG1vYyB3YXMgbm90IHRoZSBxdDUgb25lLCB0cnkgd2l0aCBtb2MtcXQ1CistICAgIEFDX0NIRUNLX1RPT0woTU9DUVQ1MiwgbW9jLXF0NSkKKy0gICAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgUXQ1IG1vYy1xdDVdKQorLSAgICBtb2N2ZXJzaW9uPWAkTU9DUVQ1MiAtdiAyPiYxYAorLSAgICBtb2N2ZXJzaW9uZ3JlcD1gZWNobyAkbW9jdmVyc2lvbiB8IGdyZXAgIlF0IDVcfG1vYy1xdDUgNVx8bW9jIDUiYAorLSAgICBpZiB0ZXN0IHgiJG1vY3ZlcnNpb25ncmVwIiAhPSB4IiRtb2N2ZXJzaW9uIjsgdGhlbgorLSAgICAgIEFDX0NIRUNLX1RPT0woUVRDSE9PU0VSLCBxdGNob29zZXIpCistICAgICAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgcXRjaG9vc2VyXSkKKy0gICAgICBxdDV0b29sZGlyPWBRVF9TRUxFQ1Q9cXQ1IHF0Y2hvb3NlciAtcHJpbnQtZW52IHwgZ3JlcCBRVFRPT0xESVIgfCBjdXQgLWQgJz0nIC1mIDIgfCBjdXQgLWQgXCIgLWYgMmAKKy0gICAgICBtb2N2ZXJzaW9uPWAkcXQ1dG9vbGRpci9tb2MgLXYgMj4mMWAKKy0gICAgICBtb2N2ZXJzaW9uZ3JlcD1gZWNobyAkbW9jdmVyc2lvbiB8IGdyZXAgIlF0IDVcfG1vYyA1ImAKKy0gICAgICBpZiB0ZXN0IHgiJG1vY3ZlcnNpb25ncmVwIiAhPSB4IiRtb2N2ZXJzaW9uIjsgdGhlbgorLSAgICAgICAgIyBubyB2YWxpZCBtb2MgZm91bmQKKy0gICAgICAgIGVuYWJsZV9wb3BwbGVyX3F0NT1ubzsKKy0gICAgICAgIE1PQ1FUNT0ibm90IGZvdW5kIgorLSAgICAgIGVsc2UKKy0gICAgICAgIE1PQ1FUNT0kcXQ1dG9vbGRpci9tb2MKKy0gICAgICBmaQorLSAgICBlbHNlCistICAgICAgTU9DUVQ1PSRNT0NRVDUyCistICAgIGZpCistICBmaQorKyAgQUNfQVJHX1dJVEgoW21vYy1xdDVdLAorKyAgICAgICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1tb2MtcXQ1XSwgW1NldCBsb2NhdGlvbiBvZiBxdDUgbW9jXSksCisrICAgICAgICAgICAgICBbTU9DUVQ1PSR3aXRodmFsXQorKyAgKQorICAgQUNfU1VCU1QoTU9DUVQ1KQorICAgQUNfTVNHX1JFU1VMVChbJE1PQ1FUNV0pCisgZmkKKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXJfMC40MS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXJfMC40MS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3Y2MwNzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlcl8wLjQxLjAuYmIKQEAgLTAsMCArMSw1NSBAQAorU1VNTUFSWSA9ICJQb3BwbGVyIGlzIGEgUERGIHJlbmRlcmluZyBsaWJyYXJ5IGJhc2VkIG9uIHRoZSB4cGRmLTMuMCBjb2RlIGJhc2UiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBodHRwOi8vcG9wcGxlci5mcmVlZGVza3RvcC5vcmcvJHtCUH0udGFyLnh6IFwKKyAgICBmaWxlOi8vMDAwMS1hZGQtbWFuYWRhdG9yeS1vcHRpb25zLXRvLWZpbmQtcXQ0LXF0NS1tb2MucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLUNvbXBpbGUtd2l0aC1DLTExLWNvbXBpbGVycy10aGF0LWRvbi10LWRlZmluZS1pc2luZmkucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjg0OWE4YmQ2YWY1Nzk0ZWZiOTYxYjcwNDE4NDE0ZTVhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQyMGFiYWFiNjNjYWVkOWUxZWUyODk2NGEwYmEyMTZkMTk3OTUwNjcyNjE2NGJjOTlhZDVhZGUyODkxOTJhMWIiCisKK0RFUEVORFMgPSAiZm9udGNvbmZpZyB6bGliIGNhaXJvIGxjbXMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitQQUNLQUdFQ09ORklHID8/PSAianBlZyBvcGVuanBlZyBwbmcgdGlmZiAke0BiYi51dGlscy5jb250YWlucygnQkJGSUxFX0NPTExFQ1RJT05TJywgJ3F0NS1sYXllcicsICdxdDUnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItLWVuYWJsZS1saWJqcGVnLC0tZGlzYWJsZS1saWJqcGVnLGpwZWciCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLS1lbmFibGUtbGlicG5nLC0tZGlzYWJsZS1saWJwbmcsbGlicG5nIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItLWVuYWJsZS1saWJ0aWZmLC0tZGlzYWJsZS1saWJ0aWZmLHRpZmYiCitQQUNLQUdFQ09ORklHW2N1cmxdID0gIi0tZW5hYmxlLWxpYmN1cmwsLS1kaXNhYmxlLWxpYmN1cmwsY3VybCIKK1BBQ0tBR0VDT05GSUdbb3BlbmpwZWddID0gIi0tZW5hYmxlLWxpYm9wZW5qcGVnPW9wZW5qcGVnMiwtLWRpc2FibGUtbGlib3BlbmpwZWcsb3BlbmpwZWciCitQQUNLQUdFQ09ORklHW3F0NV0gPSAiLS1lbmFibGUtcG9wcGxlci1xdDUgLS13aXRoLW1vYy1xdDU9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3F0NS9tb2MsLS1kaXNhYmxlLXBvcHBsZXItcXQ1LHF0YmFzZSIKK1BBQ0tBR0VDT05GSUdbcXQ0ZV0gPSAiLS1lbmFibGUtcG9wcGxlci1xdDQgLS13aXRoLW1vYy1xdDQ9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L21vYzQsLS1kaXNhYmxlLXBvcHBsZXItcXQ0LHF0NC1lbWJlZGRlZCIKKworIyBOZWVkZWQgZm9yIHF0NQorQ1hYRkxBR1MgKz0gIi0tc3RkPWMrKzExIgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZW5hYmxlLXhwZGYtaGVhZGVycyBcCisgICAgLS1kaXNhYmxlLWd0ay10ZXN0IFwKKyAgICAtLWVuYWJsZS16bGliIFwKKyIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgICAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9wb3BwbGVyLy5saWJzIgorfQorCisjIEFkanVzdCBsaWJyYXJ5IG5hbWVzIHdoZW4gYnVpbGRpbmcgZm9yIFFUNGUKK1FUNEVfUEFUQ0hFUyA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdxdDRlJywgJ2ZpbGU6Ly9maXgtcXQ0ZS1saWJyYXJ5LWRlcGVuZGVuY2llcy5wYXRjaCcsICcnLCBkKX0iCitTUkNfVVJJX2FwcGVuZCA9ICIke1FUNEVfUEFUQ0hFU30iCisKKyMgY2hlY2sgZm9yIFRBUkdFVF9GUFU9c29mdCBhbmQgaW5mb3JtIGNvbmZpZ3VyZSBvZiB0aGUgcmVzdWx0IHNvIGl0IGNhbiBkaXNhYmxlIHNvbWUgZmxvYXRpbmcgcG9pbnRzCitkZWYgZ2V0X3BvcHBsZXJfZnB1X3NldHRpbmcoYmIsIGQpOgorICAgIGlmIGQuZ2V0VmFyKCdUQVJHRVRfRlBVJywgMSkgaW4gWyAnc29mdCcgXToKKyAgICAgICAgcmV0dXJuICItLWVuYWJsZS1maXhlZHBvaW50IgorICAgIHJldHVybiAiIgorCitFWFRSQV9PRUNPTkYgKz0gIiR7QGdldF9wb3BwbGVyX2ZwdV9zZXR0aW5nKGJiLCBkKX0iCisKK1BBQ0tBR0VTID0rICJsaWJwb3BwbGVyIGxpYnBvcHBsZXItZ2xpYiIKK0ZJTEVTX2xpYnBvcHBsZXIgPSAiJHtsaWJkaXJ9L2xpYnBvcHBsZXIuc28uKiIKK0ZJTEVTX2xpYnBvcHBsZXItZ2xpYiA9ICIke2xpYmRpcn0vbGlicG9wcGxlci1nbGliLnNvLioiCisKK1JERVBFTkRTX2xpYnBvcHBsZXIgPSAicG9wcGxlci1kYXRhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3J0YXVkaW8vcG9ydGF1ZGlvLXYxOV9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcnRhdWRpby9wb3J0YXVkaW8tdjE5X3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOGQ3Mzc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3J0YXVkaW8vcG9ydGF1ZGlvLXYxOV9zdm4uYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJBIHBvcnRhYmxlIGF1ZGlvIGxpYnJhcnkiCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiUG9ydEF1ZGlvIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTI2MTA3NzMyYzJhYjYzN2M1NzEwNDQ2ZmNmYWYwMmRmIgorCitQViA9ICJ2MTkrc3ZuciR7U1JDUFZ9IgorCitTUkNSRVYgPSAiMTM4NyIKK1NSQ19VUkkgPSAic3ZuOi8vc3VidmVyc2lvbi5hc3NlbWJsYS5jb20vc3ZuL3BvcnRhdWRpby9wb3J0YXVkaW87bW9kdWxlPXRydW5rO3Byb3RvY29sPWh0dHAiCitTID0gIiR7V09SS0RJUn0vdHJ1bmsiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitQQUNLQUdFQ09ORklHID8/PSAiYWxzYSBqYWNrIgorUEFDS0FHRUNPTkZJR1thbHNhXSA9ICItLXdpdGgtYWxzYSwgLS13aXRob3V0LWFsc2EsIGFsc2EtbGliLCIKK1BBQ0tBR0VDT05GSUdbamFja10gPSAiLS13aXRoLWphY2ssIC0td2l0aG91dC1qYWNrLCBqYWNrLCIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1vc3MiCisKK1RFU1RTID0gIiAgcGFfZGV2cyBwYXRlc3QxICAgICAgcGF0ZXN0X2hhbmcgcGF0ZXN0X21hbnkgICAgICAgICAgICAgICAgICAgcGF0ZXN0X3ByaW1lIHBhdGVzdF9zaW5lIHBhdGVzdF9zdG9wICAgICBwYXRlc3Rfd3JpdGVfc2luZSAgICAgICAgXAorcGFfZnV6eiAgICBwYXRlc3RfYnVmZmVyICAgICAgICBwYXRlc3RfaW5fb3ZlcmZsb3cgIHBhdGVzdF9tYXhzaW5lcyAgICAgICBwYXRlc3RfcmVhZF9yZWNvcmQgIHBhdGVzdF9zaW5lOCAgICAgICAgIHBhdGVzdF9zeW5jICAgICAgICAgICAgICBcCitwYV9taW5sYXQgIHBhdGVzdF9jYWxsYmFja3N0b3AgIHBhdGVzdF9sYXRlbmN5ICAgICAgcGF0ZXN0X211bHRpX3NpbmUgICAgIHBhdGVzdF9yZWNvcmQgICAgICAgcGF0ZXN0X3NpbmVfZm9ybWF0cyAgcGF0ZXN0X3Rvb21hbnlzaW5lcyAgICAgIFwKK3BhcWFfZGV2cyAgcGF0ZXN0X2NsaXAgICAgICAgICAgcGF0ZXN0X2xlZnRyaWdodCAgICBwYXRlc3Rfb3V0X3VuZGVyZmxvdyAgcGF0ZXN0X3JpbmdtaXggICAgICBwYXRlc3Rfc2luZV90aW1lICAgICBwYXRlc3RfdW5kZXJmbG93ICAgICAgICAgXAorcGFxYV9lcnJzICBwYXRlc3RfZGl0aGVyICAgICAgICBwYXRlc3RfbG9uZ3NpbmUgICAgIHBhdGVzdF9waW5rICAgICAgICAgICBwYXRlc3Rfc2F3ICAgICAgICAgIHBhdGVzdF9zdGFydF9zdG9wICAgIHBhdGVzdF93aXJlIgorCisjIERFRklORVMgPSBQQV9VU0VfT1NTPTEgSEFWRV9MSUJQVEhSRUFEPTEKKyMgREVGSU5FUyArPSBQQV9MSVRUTEVfRU5ESUFOCisKKyMgSU5DTFVERVBBVEggPSAuLi9wYV9jb21tb24KKworUEFDS0FHRVMgKz0gInBvcnRhdWRpby1leGFtcGxlcyIKK0ZJTEVTX3BvcnRhdWRpby1leGFtcGxlcyA9ICIke2JpbmRpcn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvMDAwMS1Vc2UtcGtnLWNvbmZpZy1mb3ItbGlieG1sMi1kZXRlY3Rpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvMDAwMS1Vc2UtcGtnLWNvbmZpZy1mb3ItbGlieG1sMi1kZXRlY3Rpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA4ZWM2YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy8wMDAxLVVzZS1wa2ctY29uZmlnLWZvci1saWJ4bWwyLWRldGVjdGlvbi5wYXRjaApAQCAtMCwwICsxLDQzIEBACitGcm9tIGQ1MmUzMzBiZTg5NWJiOGM1ZjBmYjNlMjg4NDc2NmFjYmQ5NDJhODUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQaGlsaXAgQmFsaXN0ZXIgPHBoaWxpcEBiYWxpc3Rlci5vcmc+CitEYXRlOiBUdWUsIDEgSnVsIDIwMTQgMDk6NDA6NDQgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIHBrZy1jb25maWcgZm9yIGxpYnhtbDIgZGV0ZWN0aW9uLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK3htbDItY29uZmlnIGRvZXMgbm90IHdvcmsuIFVzZSBwa2djb25maWcgdG8gc2V0IENQUEZMQUdTIGFuZCBMSUJTLgorCitTaWduZWQtb2ZmLWJ5OiBQaGlsaXAgQmFsaXN0ZXIgPHBoaWxpcEBiYWxpc3Rlci5vcmc+CistLS0KKyBjb25maWd1cmUuaW4gfCAxNSArKy0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggZjhiZjQ2Ni4uMWY0ZmFiZiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtNzM0LDE5ICs3MzQsOCBAQCBQR0FDX0FSR19CT09MKHdpdGgsIGxpYnhtbCwgbm8sIFtidWlsZCB3aXRoIFhNTCBzdXBwb3J0XSwKKyAgICAgICAgICAgICAgIFtBQ19ERUZJTkUoW1VTRV9MSUJYTUxdLCAxLCBbRGVmaW5lIHRvIDEgdG8gYnVpbGQgd2l0aCBYTUwgc3VwcG9ydC4gKC0td2l0aC1saWJ4bWwpXSldKQorIAorIGlmIHRlc3QgIiR3aXRoX2xpYnhtbCIgPSB5ZXMgOyB0aGVuCistICBBQ19DSEVDS19QUk9HUyhYTUwyX0NPTkZJRywgeG1sMi1jb25maWcpCistICBpZiB0ZXN0IC1uICIkWE1MMl9DT05GSUciOyB0aGVuCistICAgIGZvciBwZ2FjX29wdGlvbiBpbiBgJFhNTDJfQ09ORklHIC0tY2ZsYWdzYDsgZG8KKy0gICAgICBjYXNlICRwZ2FjX29wdGlvbiBpbgorLSAgICAgICAgLUkqfC1EKikgQ1BQRkxBR1M9IiRDUFBGTEFHUyAkcGdhY19vcHRpb24iOzsKKy0gICAgICBlc2FjCistICAgIGRvbmUKKy0gICAgZm9yIHBnYWNfb3B0aW9uIGluIGAkWE1MMl9DT05GSUcgLS1saWJzYDsgZG8KKy0gICAgICBjYXNlICRwZ2FjX29wdGlvbiBpbgorLSAgICAgICAgLUwqKSBMREZMQUdTPSIkTERGTEFHUyAkcGdhY19vcHRpb24iOzsKKy0gICAgICBlc2FjCistICAgIGRvbmUKKy0gIGZpCisrICBDUFBGTEFHUz0iJENQUEZMQUdTIGBwa2ctY29uZmlnIC0tc2hvcnQtZXJyb3JzIC0tcHJpbnQtZXJyb3JzIC0tY2ZsYWdzICJsaWJ4bWwtMi4wIiAyPiYxYCIKKysgIExJQlM9ImBwa2ctY29uZmlnIC0tc2hvcnQtZXJyb3JzIC0tcHJpbnQtZXJyb3JzIC0tbGlicyAibGlieG1sLTIuMCIgMj4mMWAgJExJQlMiCisgZmkKKyAKKyBBQ19TVUJTVCh3aXRoX2xpYnhtbCkKKy0tIAorMS44LjMuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvbm90LWNoZWNrLWxpYnBlcmwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvbm90LWNoZWNrLWxpYnBlcmwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTE5OWYzOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9ub3QtY2hlY2stbGlicGVybC5wYXRjaApAQCAtMCwwICsxLDMxIEBACitbUEFUQ0hdIG5vdCBjaGVjayBsaWJwZXJsIHVuZGVyIGNyb3NzIGNvbXBpbGluZworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK2xpYnBlcmwgbGRmbGFncyByZXR1cm5lZCBieSBQR0FDX0NIRUNLX1BFUkxfRU1CRURfTERGTEFHUyBhcmUgbmF0aXZlLAorY2FuIG5vdCBiZSB1c2VkIHRvIGNoZWNrIHRhcmdldCBsaWJyYXJ5LgorCitwb3N0cHJlc3FsIGhhcyB0aGUgZGVwZW5kZW5jeSBvbiBwZXJsLCBzbyBub3QgbmVlZCB0byBjaGVjayBsaWJwZXJsCithZ2FpbiwgbGlrZSBpbiBwb3N0Z3Jlc3FsLTkuMi40IAorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuaW4gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IGFlMWE1YTAuLjlhMDk3MGQgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTE4NzcsNyArMTg3Nyw3IEBAIGlmIHRlc3QgIiR3aXRoX3RjbCIgPSB5ZXM7IHRoZW4KKyBmaQorIAorICMgY2hlY2sgZm9yIDxwZXJsLmg+CistaWYgdGVzdCAiJHdpdGhfcGVybCIgPSB5ZXM7IHRoZW4KKytpZiB0ZXN0ICIkd2l0aF9wZXJsIiA9IHllcyAmJiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IG5vOyB0aGVuCisgICBhY19zYXZlX0NQUEZMQUdTPSRDUFBGTEFHUworICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAtSSRwZXJsX2FyY2hsaWJleHAvQ09SRSIKKyAgIEFDX0NIRUNLX0hFQURFUihwZXJsLmgsIFtdLCBbQUNfTVNHX0VSUk9SKFtoZWFkZXIgZmlsZSA8cGVybC5oPiBpcyByZXF1aXJlZCBmb3IgUGVybF0pXSwKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwtQ1ZFLTIwMTYtMDc2Ni5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLUNWRS0yMDE2LTA3NjYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY4OWViMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLUNWRS0yMDE2LTA3NjYucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSBmNGFhM2ExOGEyMGQ1MTU3NTU2MjUyMDc1NGFhMzc2YjNiMDhiMmQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTm9haCBNaXNjaCA8bm9haEBsZWFkYm9hdC5jb20+CitEYXRlOiBGcmksIDUgRmViIDIwMTYgMjA6MjI6NTEgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gRm9yY2UgY2VydGFpbiAicGxqYXZhIiBjdXN0b20gR1VDcyB0byBiZSBQR0NfU1VTRVQuCisKK0Z1dHVyZSBQTC9KYXZhIHZlcnNpb25zIHdpbGwgY2xvc2UgQ1ZFLTIwMTYtMDc2NiBieSBtYWtpbmcgdGhlc2UgR1VDcworUEdDX1NVU0VULiAgVGhpcyBQb3N0Z3JlU1FMIGNoYW5nZSBpbmRlcGVuZGVudGx5IG1pdGlnYXRlcyB0aGF0IFBML0phdmEKK3Z1bG5lcmFiaWxpdHksIGhlbHBpbmcgc2l0ZXMgdGhhdCB1cGRhdGUgUG9zdGdyZVNRTCBtb3JlIGZyZXF1ZW50bHkgdGhhbgorUEwvSmF2YS4gIEJhY2stcGF0Y2ggdG8gOS4xIChhbGwgc3VwcG9ydGVkIHZlcnNpb25zKS4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBOb2FoIE1pc2NoIDxub2FoQGxlYWRib2F0LmNvbT4KK0luZGV4OiBwb3N0Z3Jlc3FsLTkuNC40L3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwb3N0Z3Jlc3FsLTkuNC40Lm9yaWcvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWMuYwkyMDE1LTA2LTEwIDAzOjI5OjM4LjAwMDAwMDAwMCArMDgwMAorKysrIHBvc3RncmVzcWwtOS40LjQvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWMuYwkyMDE2LTAzLTA0IDE1OjU4OjI2LjQ1OTI2Njk1MSArMDgwMAorQEAgLTcwNzIsNiArNzA3MiwxNyBAQAorIAkJIXByb2Nlc3Nfc2hhcmVkX3ByZWxvYWRfbGlicmFyaWVzX2luX3Byb2dyZXNzKQorIAkJZWxvZyhGQVRBTCwgImNhbm5vdCBjcmVhdGUgUEdDX1BPU1RNQVNURVIgdmFyaWFibGVzIGFmdGVyIHN0YXJ0dXAiKTsKKyAKKysJLyoKKysJICogQmVmb3JlIHBsamF2YSBjb21taXQgMzk4ZjNiODc2ZWQ0MDJiZGFlYzhiYzgwNGYyOWUyYmU5NWM3NTEzOQorKwkgKiAoMjAxNS0xMi0xNSksIHR3byBvZiB0aGF0IG1vZHVsZSdzIFBHQ19VU0VSU0VUIHZhcmlhYmxlcyBmYWNpbGl0YXRlZAorKwkgKiB0cml2aWFsIGVzY2FsYXRpb24gdG8gc3VwZXJ1c2VyIHByaXZpbGVnZXMuICBSZXN0cmljdCB0aGUgdmFyaWFibGVzIHRvCisrCSAqIHByb3RlY3Qgc2l0ZXMgdGhhdCBoYXZlIHlldCB0byB1cGdyYWRlIHBsamF2YS4KKysJICovCisrCWlmIChjb250ZXh0ID09IFBHQ19VU0VSU0VUICYmCisrCQkoc3RyY21wKG5hbWUsICJwbGphdmEuY2xhc3NwYXRoIikgPT0gMCB8fAorKwkJIHN0cmNtcChuYW1lLCAicGxqYXZhLnZtb3B0aW9ucyIpID09IDApKQorKwkJY29udGV4dCA9IFBHQ19TVVNFVDsKKysKKyAJZ2VuID0gKHN0cnVjdCBjb25maWdfZ2VuZXJpYyAqKSBndWNfbWFsbG9jKEVSUk9SLCBzeik7CisgCW1lbXNldChnZW4sIDAsIHN6KTsKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLUNWRS0yMDE2LTA3NzMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1DVkUtMjAxNi0wNzczLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmYzkwODIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1DVkUtMjAxNi0wNzczLnBhdGNoCkBAIC0wLDAgKzEsMjIyIEBACitGcm9tIDNiYjNmNDJmMzc0OWQ0MGI4ZDRkZTY1ODcxZThkODI4YjE4ZDRhNDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUb20gTGFuZSA8dGdsQHNzcy5wZ2gucGEudXM+CitEYXRlOiBNb24sIDggRmViIDIwMTYgMTA6MjU6NDAgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IHNvbWUgcmVnZXggaXNzdWVzIHdpdGggb3V0LW9mLXJhbmdlIGNoYXJhY3RlcnMgYW5kIGxhcmdlCisgY2hhciByYW5nZXMuCisKK1ByZXZpb3VzbHksIG91ciByZWdleCBjb2RlIGRlZmluZWQgQ0hSX01BWCBhcyAweGZmZmZmZmZlLCB3aGljaCBpcyBhCitiYWQgY2hvaWNlIGJlY2F1c2UgaXQgaXMgb3V0c2lkZSB0aGUgcmFuZ2Ugb2YgdHlwZSAiY2VsdCIgKGludDMyKS4KK0NoYXJhY3RlcnMgYXBwcm9hY2hpbmcgdGhhdCBsaW1pdCBjb3VsZCBsZWFkIHRvIGluZmluaXRlIGxvb3BzIGluIGxvZ2ljCitzdWNoIGFzICJmb3IgKGMgPSBhOyBjIDw9IGI7IGMrKykiIHdoZXJlIGMgaXMgb2YgdHlwZSBjZWx0IGJ1dCB0aGUKK3JhbmdlIGJvdW5kcyBhcmUgY2hyLiAgU3VjaCBsb29wcyB3aWxsIHdvcmsgc2FmZWx5IG9ubHkgaWYgQ0hSX01BWCsxCitpcyByZXByZXNlbnRhYmxlIGluIGNlbHQsIHNpbmNlIGMgbXVzdCBhZHZhbmNlIHRvIGJleW9uZCBiIGJlZm9yZSB0aGUKK2xvb3Agd2lsbCBleGl0LgorCitGb3J0dW5hdGVseSwgdGhlcmUgc2VlbXMgbm8gcmVhc29uIG5vdCB0byByZXN0cmljdCBDSFJfTUFYIHRvIDB4N2ZmZmZmZmUuCitJdCdzIGhpZ2hseSB1bmxpa2VseSB0aGF0IFVuaWNvZGUgd2lsbCBldmVyIGFzc2lnbiBjb2RlcyB0aGF0IGhpZ2gsIGFuZAorbm9uZSBvZiBvdXIgb3RoZXIgYmFja2VuZCBlbmNvZGluZ3MgbmVlZCBjaGFyYWN0ZXJzIGJleW9uZCB0aGF0IGVpdGhlci4KKworSW4gYWRkaXRpb24gdG8gbW9kaWZ5aW5nIHRoZSBtYWNybywgd2UgaGF2ZSB0byBleHBsaWNpdGx5IGVuZm9yY2UgY2hhcmFjdGVyCityYW5nZSByZXN0cmljdGlvbnMgb24gdGhlIHZhbHVlcyBvZiBcdSwgXFUsIGFuZCBceCBlc2NhcGUgc2VxdWVuY2VzLCBlbHNlCit0aGUgbGltaXQgaXMgdHJpdmlhbGx5IGJ5cGFzc2VkLgorCitBbHNvLCB0aGUgY29kZSBmb3IgZXhwYW5kaW5nIGNhc2UtaW5kZXBlbmRlbnQgY2hhcmFjdGVyIHJhbmdlcyBpbiBicmFja2V0CitleHByZXNzaW9ucyBoYWQgYSBwb3RlbnRpYWwgaW50ZWdlciBvdmVyZmxvdyBpbiBpdHMgY2FsY3VsYXRpb24gb2YgdGhlCitudW1iZXIgb2YgY2hhcmFjdGVycyBpdCBjb3VsZCBnZW5lcmF0ZSwgd2hpY2ggY291bGQgbGVhZCB0byBhbGxvY2F0aW5nIHRvbworc21hbGwgYSBjaGFyYWN0ZXIgdmVjdG9yIGFuZCB0aGVuIG92ZXJ3cml0aW5nIG1lbW9yeS4gIEFuIGF0dGFja2VyIHdpdGggdGhlCithYmlsaXR5IHRvIHN1cHBseSBhcmJpdHJhcnkgcmVnZXggcGF0dGVybnMgY291bGQgZWFzaWx5IGNhdXNlIHRyYW5zaWVudCBET1MKK3ZpYSBzZXJ2ZXIgY3Jhc2hlcywgYW5kIHRoZSBwb3NzaWJpbGl0eSBmb3IgcHJpdmlsZWdlIGVzY2FsYXRpb24gaGFzIG5vdAorYmVlbiBydWxlZCBvdXQuCisKK1F1aXRlIGFzaWRlIGZyb20gdGhlIGludGVnZXItb3ZlcmZsb3cgcHJvYmxlbSwgdGhlIHJhbmdlIGV4cGFuc2lvbiBjb2RlIHdhcwordW5uZWNlc3NhcmlseSBpbmVmZmljaWVudCBpbiB0aGF0IGl0IGFsd2F5cyBwcm9kdWNlZCBhIHJlc3VsdCBjb25zaXN0aW5nIG9mCitpbmRpdmlkdWFsIGNoYXJhY3RlcnMsIGFiYW5kb25pbmcgdGhlIGtub3dsZWRnZSB0aGF0IHdlIGhhZCBhIHJhbmdlIHRvCitzdGFydCB3aXRoLiAgSWYgdGhlIGlucHV0IHJhbmdlIGlzIGxhcmdlLCB0aGlzIHJlcXVpcmVzIGV4Y2Vzc2l2ZSBtZW1vcnkuCitDaGFuZ2UgaXQgc28gdGhhdCB0aGUgb3JpZ2luYWwgcmFuZ2UgaXMgcmVwb3J0ZWQgYXMtaXMsIGFuZCB0aGVuIHdlIGFkZCBvbgorYW55IGNhc2UtZXF1aXZhbGVudCBjaGFyYWN0ZXJzIHRoYXQgYXJlIG91dHNpZGUgdGhhdCByYW5nZS4gIFdpdGggdGhpcworYXBwcm9hY2gsIHdlIGNhbiBib3VuZCB0aGUgbnVtYmVyIG9mIGluZGl2aWR1YWwgY2hhcmFjdGVycyBhbGxvd2VkIHdpdGhvdXQKK3NhY3JpZmljaW5nIG11Y2guICBUaGlzIHBhdGNoIGFsbG93cyBhdCBtb3N0IDEwMDAwMCBpbmRpdmlkdWFsIGNoYXJhY3RlcnMsCit3aGljaCBJIGJlbGlldmUgdG8gYmUgbW9yZSB0aGFuIHRoZSBudW1iZXIgb2YgY2FzZSBwYWlycyBleGlzdGluZyBpbgorVW5pY29kZSwgc28gdGhhdCB0aGUgcmVzdHJpY3Rpb24gd2lsbCBuZXZlciBiZSBoaXQgaW4gcHJhY3RpY2UuCisKK0l0J3Mgc3RpbGwgcG9zc2libGUgZm9yIHJhbmdlKCkgdG8gdGFrZSBhd2hpbGUgZ2l2ZW4gYSBsYXJnZSBjaGFyYWN0ZXIgY29kZQorcmFuZ2UsIHNvIGFsc28gYWRkIHN0YXRlbWVudC1jYW5jZWwgZGV0ZWN0aW9uIHRvIGl0cyBsb29wLiAgVGhlIGRvd25zdHJlYW0KK2Z1bmN0aW9uIGRvdmVjKCkgYWxzbyBsYWNrZWQgY2FuY2VsIGRldGVjdGlvbiwgYW5kIGNvdWxkIHRha2UgYSBsb25nIHRpbWUKK2dpdmVuIGEgbGFyZ2Ugb3V0cHV0IGZyb20gcmFuZ2UoKS4KKworUGVyIGZ1enogdGVzdGluZyBieSBHcmVnIFN0YXJrLiAgQmFjay1wYXRjaCB0byBhbGwgc3VwcG9ydGVkIGJyYW5jaGVzLgorCitTZWN1cml0eTogQ1ZFLTIwMTYtMDc3MworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IFRvbSBMYW5lIDx0Z2xAc3NzLnBnaC5wYS51cz4KK1NpZ25lZC1vZmYtYnk6IFpoaXhpb25nIENoaSA8emhpeGlvbmcuY2hpQHdpbmRyaXZlci5jb20+CisKK0luZGV4OiBwb3N0Z3Jlc3FsLTkuNC41L3NyYy9iYWNrZW5kL3JlZ2V4L3JlZ2NfbGV4LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwb3N0Z3Jlc3FsLTkuNC41Lm9yaWcvc3JjL2JhY2tlbmQvcmVnZXgvcmVnY19sZXguYwkyMDE1LTEwLTA2IDAzOjEyOjA2LjAwMDAwMDAwMCArMDgwMAorKysrIHBvc3RncmVzcWwtOS40LjUvc3JjL2JhY2tlbmQvcmVnZXgvcmVnY19sZXguYwkyMDE2LTAzLTEwIDEwOjI5OjU3LjA0NTc4NDMxNyArMDgwMAorQEAgLTc5MiwxMyArNzkyLDEzIEBACisgCQkJYnJlYWs7CisgCQljYXNlIENIUigndScpOgorIAkJCWMgPSBsZXhkaWdpdHModiwgMTYsIDQsIDQpOworLQkJCWlmIChJU0VSUigpKQorKwkJCWlmIChJU0VSUigpIHx8IGMgPCBDSFJfTUlOIHx8IGMgPiBDSFJfTUFYKQorIAkJCQlGQUlMVyhSRUdfRUVTQ0FQRSk7CisgCQkJUkVUVihQTEFJTiwgYyk7CisgCQkJYnJlYWs7CisgCQljYXNlIENIUignVScpOgorIAkJCWMgPSBsZXhkaWdpdHModiwgMTYsIDgsIDgpOworLQkJCWlmIChJU0VSUigpKQorKwkJCWlmIChJU0VSUigpIHx8IGMgPCBDSFJfTUlOIHx8IGMgPiBDSFJfTUFYKQorIAkJCQlGQUlMVyhSRUdfRUVTQ0FQRSk7CisgCQkJUkVUVihQTEFJTiwgYyk7CisgCQkJYnJlYWs7CitAQCAtODE2LDcgKzgxNiw3IEBACisgCQljYXNlIENIUigneCcpOgorIAkJCU5PVEUoUkVHX1VVTlBPUlQpOworIAkJCWMgPSBsZXhkaWdpdHModiwgMTYsIDEsIDI1NSk7CQkvKiBSRXMgPjI1NSBsb25nIG91dHNpZGUgc3BlYyAqLworLQkJCWlmIChJU0VSUigpKQorKwkJCWlmIChJU0VSUigpIHx8IGMgPCBDSFJfTUlOIHx8IGMgPiBDSFJfTUFYKQorIAkJCQlGQUlMVyhSRUdfRUVTQ0FQRSk7CisgCQkJUkVUVihQTEFJTiwgYyk7CisgCQkJYnJlYWs7CitAQCAtODcyLDYgKzg3Miw5IEBACisgCisgLyoKKyAgKiBsZXhkaWdpdHMgLSBzbHVycCB1cCBkaWdpdHMgYW5kIHJldHVybiBjaHIgdmFsdWUKKysgKgorKyAqIFRoaXMgZG9lcyBub3QgYWNjb3VudCBmb3Igb3ZlcmZsb3c7IGNhbGxlcnMgc2hvdWxkIHJhbmdlLWNoZWNrIHRoZSByZXN1bHQKKysgKiBpZiBtYXhsZW4gaXMgbGFyZ2UgZW5vdWdoIHRvIG1ha2UgdGhhdCBwb3NzaWJsZS4KKyAgKi8KKyBzdGF0aWMgY2hyCQkJCQkJLyogY2hyIHZhbHVlOyBlcnJvcnMgc2lnbmFsbGVkIHZpYSBFUlIgKi8KKyBsZXhkaWdpdHMoc3RydWN0IHZhcnMgKiB2LAorSW5kZXg6IHBvc3RncmVzcWwtOS40LjUvc3JjL2JhY2tlbmQvcmVnZXgvcmVnY19sb2NhbGUuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHBvc3RncmVzcWwtOS40LjUub3JpZy9zcmMvYmFja2VuZC9yZWdleC9yZWdjX2xvY2FsZS5jCTIwMTUtMTAtMDYgMDM6MTI6MDYuMDAwMDAwMDAwICswODAwCisrKysgcG9zdGdyZXNxbC05LjQuNS9zcmMvYmFja2VuZC9yZWdleC9yZWdjX2xvY2FsZS5jCTIwMTYtMDMtMTAgMTA6MzQ6MjguNzU3NzgxNzI2ICswODAwCitAQCAtNDA4LDggKzQwOCw3IEBACisgCWludAkJCW5jaHJzOworIAlzdHJ1Y3QgY3ZlYyAqY3Y7CisgCWNlbHQJCWMsCistCQkJCWxjLAorLQkJCQl1YzsKKysJCQkJY2M7CisgCisgCWlmIChhICE9IGIgJiYgIWJlZm9yZShhLCBiKSkKKyAJeworQEAgLTQyNywyNCArNDI2LDQ4IEBACisgCisgCS8qCisgCSAqIFdoZW4gY2FzZS1pbmRlcGVuZGVudCwgaXQncyBoYXJkIHRvIGRlY2lkZSB3aGVuIGN2ZWMgcmFuZ2VzIGFyZSB1c2FibGUsCistCSAqIHNvIGZvciBub3cgYXQgbGVhc3QsIHdlIHdvbid0IHRyeS4gIFdlIGFsbG9jYXRlIGVub3VnaCBzcGFjZSBmb3IgdHdvCistCSAqIGNhc2UgdmFyaWFudHMgcGx1cyBhIGxpdHRsZSBleHRyYSBmb3IgdGhlIHR3byB0aXRsZSBjYXNlIHZhcmlhbnRzLgorKwkgKiBzbyBmb3Igbm93IGF0IGxlYXN0LCB3ZSB3b24ndCB0cnkuICBXZSB1c2UgYSByYW5nZSBmb3IgdGhlIG9yaWdpbmFsbHkKKysJICogc3BlY2lmaWVkIGNocnMgYW5kIHRoZW4gYWRkIG9uIGFueSBjYXNlLWVxdWl2YWxlbnRzIHRoYXQgYXJlIG91dHNpZGUKKysJICogdGhhdCByYW5nZSBhcyBpbmRpdmlkdWFsIGNocnMuCisrCSAqCisrCSAqIFRvIGVuc3VyZSBzYW5lIGJlaGF2aW9yIGlmIHNvbWVvbmUgc3BlY2lmaWVzIGEgdmVyeSBsYXJnZSByYW5nZSwgbGltaXQKKysJICogdGhlIGFsbG9jYXRpb24gc2l6ZSB0byAxMDAwMDAgY2hycyAoYXJiaXRyYXJ5KSBhbmQgY2hlY2sgZm9yIG92ZXJydW4KKysJICogaW5zaWRlIHRoZSBsb29wIGJlbG93LgorIAkgKi8KKyAKKy0JbmNocnMgPSAoYiAtIGEgKyAxKSAqIDIgKyA0OworLQorLQljdiA9IGdldGN2ZWModiwgbmNocnMsIDApOworKwljdiA9IGdldGN2ZWModiwgbmNocnMsIDEpOworIAlOT0VSUk4oKTsKKysJYWRkcmFuZ2UoY3YsIGEsIGIpOworIAorIAlmb3IgKGMgPSBhOyBjIDw9IGI7IGMrKykKKyAJeworLQkJYWRkY2hyKGN2LCBjKTsKKy0JCWxjID0gcGdfd2NfdG9sb3dlcigoY2hyKSBjKTsKKy0JCWlmIChjICE9IGxjKQorLQkJCWFkZGNocihjdiwgbGMpOworLQkJdWMgPSBwZ193Y190b3VwcGVyKChjaHIpIGMpOworLQkJaWYgKGMgIT0gdWMpCistCQkJYWRkY2hyKGN2LCB1Yyk7CisrCQljYyA9IHBnX3djX3RvbG93ZXIoKGNocikgYyk7CisrCQlpZiAoY2MgIT0gYyAmJgorKwkJCShiZWZvcmUoY2MsIGEpIHx8IGJlZm9yZShiLCBjYykpKQorKwkJeworKwkJCWlmIChjdi0+bmNocnMgPj0gY3YtPmNocnNwYWNlKQorKwkJCXsKKysJCQkJRVJSKFJFR19FVE9PQklHKTsKKysJCQkJcmV0dXJuIE5VTEw7CisrCQkJfQorKwkJCWFkZGNocihjdiwgY2MpOworKwkJfQorKwkJY2MgPSBwZ193Y190b3VwcGVyKChjaHIpIGMpOworKwkJaWYgKGNjICE9IGMgJiYKKysJCQkoYmVmb3JlKGNjLCBhKSB8fCBiZWZvcmUoYiwgY2MpKSkKKysJCXsKKysJCQlpZiAoY3YtPm5jaHJzID49IGN2LT5jaHJzcGFjZSkKKysJCQl7CisrCQkJCUVSUihSRUdfRVRPT0JJRyk7CisrCQkJCXJldHVybiBOVUxMOworKwkJCX0KKysJCQlhZGRjaHIoY3YsIGNjKTsKKysJCX0KKysJCWlmIChDQU5DRUxfUkVRVUVTVEVEKHYtPnJlKSkKKysJCXsKKysJCQlFUlIoUkVHX0NBTkNFTCk7CisrCQkJcmV0dXJuIE5VTEw7CisrCQl9CisgCX0KKyAKKyAJcmV0dXJuIGN2OworSW5kZXg6IHBvc3RncmVzcWwtOS40LjUvc3JjL2JhY2tlbmQvcmVnZXgvcmVnY29tcC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcG9zdGdyZXNxbC05LjQuNS5vcmlnL3NyYy9iYWNrZW5kL3JlZ2V4L3JlZ2NvbXAuYwkyMDE1LTEwLTA2IDAzOjEyOjA2LjAwMDAwMDAwMCArMDgwMAorKysrIHBvc3RncmVzcWwtOS40LjUvc3JjL2JhY2tlbmQvcmVnZXgvcmVnY29tcC5jCTIwMTYtMDMtMTAgMTA6MzU6MjUuMzk3NzgxMTg1ICswODAwCitAQCAtMTU2OSw2ICsxNTY5LDcgQEAKKyAJeworIAkJY2ggPSAqcDsKKyAJCW5ld2FyYyh2LT5uZmEsIFBMQUlOLCBzdWJjb2xvcih2LT5jbSwgY2gpLCBscCwgcnApOworKwkJTk9FUlIoKTsKKyAJfQorIAorIAkvKiBhbmQgdGhlIHJhbmdlcyAqLworQEAgLTE1NzgsNiArMTU3OSw3IEBACisgCQl0byA9ICoocCArIDEpOworIAkJaWYgKGZyb20gPD0gdG8pCisgCQkJc3VicmFuZ2UodiwgZnJvbSwgdG8sIGxwLCBycCk7CisrCQlOT0VSUigpOworIAl9CisgfQorIAorSW5kZXg6IHBvc3RncmVzcWwtOS40LjUvc3JjL2luY2x1ZGUvcmVnZXgvcmVnY3VzdG9tLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwb3N0Z3Jlc3FsLTkuNC41Lm9yaWcvc3JjL2luY2x1ZGUvcmVnZXgvcmVnY3VzdG9tLmgJMjAxNS0xMC0wNiAwMzoxMjowNi4wMDAwMDAwMDAgKzA4MDAKKysrKyBwb3N0Z3Jlc3FsLTkuNC41L3NyYy9pbmNsdWRlL3JlZ2V4L3JlZ2N1c3RvbS5oCTIwMTYtMDMtMTAgMTA6Mzc6MDkuOTg5NzgwMTg4ICswODAwCitAQCAtNjUsNyArNjUsOCBAQAorICNkZWZpbmUgRElHSVRWQUwoYykgKChjKS0nMCcpCS8qIHR1cm4gY2hyIGRpZ2l0IGludG8gaXRzIHZhbHVlICovCisgI2RlZmluZSBDSFJCSVRTIDMyCQkJCS8qIGJpdHMgaW4gYSBjaHI7IG11c3Qgbm90IHVzZSBzaXplb2YgKi8KKyAjZGVmaW5lIENIUl9NSU4gMHgwMDAwMDAwMAkJLyogc21hbGxlc3QgYW5kIGxhcmdlc3QgY2hyOyB0aGUgdmFsdWUgKi8KKy0jZGVmaW5lIENIUl9NQVggMHhmZmZmZmZmZQkJLyogQ0hSX01BWC1DSFJfTUlOKzEgc2hvdWxkIGZpdCBpbiB1Y2hyICovCisrI2RlZmluZSBDSFJfTUFYIDB4N2ZmZmZmZmUJCS8qIENIUl9NQVgtQ0hSX01JTisxIG11c3QgZml0IGluIGFuIGludCwgYW5kCisrCQkJCQkJCQkgKiBDSFJfTUFYKzEgbXVzdCBmaXQgaW4gYm90aCBjaHIgYW5kIGNlbHQgKi8KKyAKKyAvKiBmdW5jdGlvbnMgb3BlcmF0aW5nIG9uIGNociAqLworICNkZWZpbmUgaXNjYWxudW0oeCkgcGdfd2NfaXNhbG51bSh4KQorSW5kZXg6IHBvc3RncmVzcWwtOS40LjUvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9yZWdleC5vdXQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwb3N0Z3Jlc3FsLTkuNC41Lm9yaWcvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9yZWdleC5vdXQJMjAxNS0xMC0wNiAwMzoxMjowNi4wMDAwMDAwMDAgKzA4MDAKKysrKyBwb3N0Z3Jlc3FsLTkuNC41L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcmVnZXgub3V0CTIwMTYtMDMtMTAgMTA6Mzg6MjguODIxNzc5NDM2ICswODAwCitAQCAtMjIyLDMgKzIyMiw1IEBACisgIHQKKyAoMSByb3cpCisgCisrc2VsZWN0ICdhJyB+ICdceDdmZmZmZmZmJzsgIC0tIGludmFsaWQgY2hyIGNvZGUKKytFUlJPUjogIGludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIGVzY2FwZSBcIHNlcXVlbmNlCitJbmRleDogcG9zdGdyZXNxbC05LjQuNS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9yZWdleC5zcWwKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwb3N0Z3Jlc3FsLTkuNC41Lm9yaWcvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcmVnZXguc3FsCTIwMTUtMTAtMDYgMDM6MTI6MDYuMDAwMDAwMDAwICswODAwCisrKysgcG9zdGdyZXNxbC05LjQuNS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9yZWdleC5zcWwJMjAxNi0wMy0xMCAxMDozODo1Ny44NDU3NzkxNTkgKzA4MDAKK0BAIC01NywzICs1Nyw0IEBACisgc2VsZWN0ICdhJyB+ICcuLiAoKXxcMSc7Cisgc2VsZWN0ICdhJyB+ICcoKSpcMSc7Cisgc2VsZWN0ICdhJyB+ICcoKStcMSc7Cisrc2VsZWN0ICdhJyB+ICdceDdmZmZmZmZmJzsgIC0tIGludmFsaWQgY2hyIGNvZGUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLWJhc2hwcm9maWxlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwtYmFzaHByb2ZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWM5MzFmMzcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1iYXNocHJvZmlsZQpAQCAtMCwwICsxLDQgQEAKK1sgLWYgL2V0Yy9wcm9maWxlIF0gJiYgc291cmNlIC9ldGMvcHJvZmlsZQorCitQR0RBVEE9L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhCitleHBvcnQgUEdEQVRBCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1zZXR1cCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLXNldHVwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1YmIwMWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC1zZXR1cApAQCAtMCwwICsxLDczIEBACisjIS9iaW4vc2gKKyMKKyMgcG9zdGdyZXNxbC1zZXR1cCAgICAgIEluaXRpYWxpemF0aW9uIG9wZXJhdGlvbiBmb3IgUG9zdGdyZVNRTAorCisjIEZvciBTRUxpbnV4IHdlIG5lZWQgdG8gdXNlICdydW51c2VyJyBub3QgJ3N1JworaWYgWyAteCAvc2Jpbi9ydW51c2VyIF0KK3RoZW4KKyAgICBTVT1ydW51c2VyCitlbHNlCisgICAgU1U9c3UKK2ZpCisKK1BHRU5HSU5FPS91c3IvYmluCitQR0RBVEE9L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhCitQR0xPRz0vdmFyL2xpYi9wb3N0Z3Jlc3FsL3Bnc3RhcnR1cC5sb2cKK3NjcmlwdF9yZXN1bHQ9MAorCitpbml0ZGIoKXsKKyAgICBpZiBbIC1mICIkUEdEQVRBL1BHX1ZFUlNJT04iIF0KKyAgICB0aGVuCisJZWNobyAtbiAiRGF0YSBkaXJlY3RvcnkgaXMgbm90IGVtcHR5ISIKKwllY2hvIC1uICIgW0ZBSUxFRF0gIgorCWVjaG8KKwlzY3JpcHRfcmVzdWx0PTEKKyAgICBlbHNlCisJZWNobyAtbiAiSW5pdGlhbGl6aW5nIGRhdGFiYXNlOiAiCisJaWYgWyAhIC1lICIkUEdEQVRBIiAtYSAhIC1oICIkUEdEQVRBIiBdCisJdGhlbgorCQlta2RpciAtcCAiJFBHREFUQSIgfHwgZXhpdCAxCisJCWNob3duIHBvc3RncmVzOnBvc3RncmVzICIkUEdEQVRBIgorCQljaG1vZCBnby1yd3ggIiRQR0RBVEEiCisJZmkKKwkjIENsZWFuIHVwIFNFTGludXggdGFnZ2luZyBmb3IgUEdEQVRBCisJWyAteCAvc2Jpbi9yZXN0b3JlY29uIF0gJiYgL3NiaW4vcmVzdG9yZWNvbiAiJFBHREFUQSIKKworCSMgTWFrZSBzdXJlIHRoZSBzdGFydHVwLXRpbWUgbG9nIGZpbGUgaXMgT0ssIHRvbworCWlmIFsgISAtZSAiJFBHTE9HIiAtYSAhIC1oICIkUEdMT0ciIF0KKwl0aGVuCisJCXRvdWNoICIkUEdMT0ciIHx8IGV4aXQgMQorCQljaG93biBwb3N0Z3Jlczpwb3N0Z3JlcyAiJFBHTE9HIgorCQljaG1vZCBnby1yd3ggIiRQR0xPRyIKKwkJWyAteCAvc2Jpbi9yZXN0b3JlY29uIF0gJiYgL3NiaW4vcmVzdG9yZWNvbiAiJFBHTE9HIgorCWZpCisKKwkjIEluaXRpYWxpemUgdGhlIGRhdGFiYXNlCisJJFNVIC1sIHBvc3RncmVzIC1jICIkUEdFTkdJTkUvaW5pdGRiIC0tcGdkYXRhPSckUEdEQVRBJyAtLWF1dGg9J2lkZW50JyIgPj4gIiRQR0xPRyIgMj4mMSA8IC9kZXYvbnVsbAorCisJIyBDcmVhdGUgZGlyZWN0b3J5IGZvciBwb3N0bWFzdGVyIGxvZworCW1rZGlyICIkUEdEQVRBL3BnX2xvZyIKKwljaG93biBwb3N0Z3Jlczpwb3N0Z3JlcyAiJFBHREFUQS9wZ19sb2ciCisJY2htb2QgZ28tcnd4ICIkUEdEQVRBL3BnX2xvZyIKKworCWlmIFsgLWYgIiRQR0RBVEEvUEdfVkVSU0lPTiIgXQorCXRoZW4KKwkgICAgZWNobyAtbiAiIFsgT0sgXSAiCisJZWxzZQorCSAgICBlY2hvIC1uICIgW0ZBSUxFRF0gIgorCSAgICBzY3JpcHRfcmVzdWx0PTEKKwlmaQorCWVjaG8KKyAgICBmaQorfQorCitjYXNlICIkMSIgaW4KKyAgaW5pdGRiKQorCWluaXRkYgorCTs7CisgICopCisJZWNobyAiVXNhZ2U6ICQwIGluaXRkYiIKKwlleGl0IDIKK2VzYWMKKworZXhpdCAkc2NyaXB0X3Jlc3VsdApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGE0ZjBjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLmluaXQKQEAgLTAsMCArMSwxOTMgQEAKKyMhL2Jpbi9zaAorIworIyBwb3N0Z3Jlc3FsCVRoaXMgaXMgdGhlIGluaXQgc2NyaXB0IGZvciBzdGFydGluZyB1cCB0aGUgUG9zdGdyZVNRTAorIwkJc2VydmVyLgorIworIyBjaGtjb25maWc6IC0gNjQgMzYKKyMgZGVzY3JpcHRpb246IFBvc3RncmVTUUwgZGF0YWJhc2Ugc2VydmVyLgorIyBwcm9jZXNzbmFtZTogcG9zdG1hc3RlcgorIyBwaWRmaWxlOiAvdmFyL3J1bi9wb3N0bWFzdGVyLlBPUlQucGlkCisKKyMgVGhpcyBzY3JpcHQgaXMgc2xpZ2h0bHkgdW51c3VhbCBpbiB0aGF0IHRoZSBuYW1lIG9mIHRoZSBkYWVtb24gKHBvc3RtYXN0ZXIpCisjIGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgbmFtZSBvZiB0aGUgc3Vic3lzdGVtIChwb3N0Z3Jlc3FsKQorCisjIFBHVkVSU0lPTiBpcyB0aGUgZnVsbCBwYWNrYWdlIHZlcnNpb24sIGUuZy4sIDguNC4wCisjIE5vdGU6IHRoZSBzcGVjZmlsZSBpbnNlcnRzIHRoZSBjb3JyZWN0IHZhbHVlIGR1cmluZyBwYWNrYWdlIGJ1aWxkCitQR1ZFUlNJT049OS4yLjQKKyMgUEdNQUpPUlZFUlNJT04gaXMgbWFqb3IgdmVyc2lvbiwgZS5nLiwgOC40ICh0aGlzIHNob3VsZCBtYXRjaCBQR19WRVJTSU9OKQorUEdNQUpPUlZFUlNJT049YGVjaG8gIiRQR1ZFUlNJT04iIHwgc2VkICdzL15cKFswLTldKlwuWzAtOV0qXCkuKiQvXDEvJ2AKKworIyBTb3VyY2UgZnVuY3Rpb24gbGlicmFyeS4KKy4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCisKKyMgRmluZCB0aGUgbmFtZSBvZiB0aGUgc2NyaXB0CitOQU1FPWBiYXNlbmFtZSAkMGAKK2lmIFsgJHtOQU1FOjA6MX0gPSAiUyIgLW8gJHtOQU1FOjA6MX0gPSAiSyIgXQordGhlbgorCU5BTUU9JHtOQU1FOjN9CitmaQorCisjIEZvciBTRUxpbnV4IHdlIG5lZWQgdG8gdXNlICdydW51c2VyJyBub3QgJ3N1JworaWYgWyAteCAvc2Jpbi9ydW51c2VyIF0KK3RoZW4KKyAgICBTVT1ydW51c2VyCitlbHNlCisgICAgU1U9c3UKK2ZpCisKKworIyBTZXQgZGVmYXVsdHMgZm9yIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzCitQR0VOR0lORT0vdXNyL2JpbgorUEdQT1JUPTU0MzIKK1BHREFUQT0vdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGEKK1BHTE9HPS92YXIvbGliL3Bvc3RncmVzcWwvcGdzdGFydHVwLmxvZworIyBWYWx1ZSB0byBzZXQgYXMgcG9zdG1hc3RlciBwcm9jZXNzJ3Mgb29tX2FkagorUEdfT09NX0FESj0tMTcKKworIyBPdmVycmlkZSBkZWZhdWx0cyBmcm9tIC9ldGMvc3lzY29uZmlnL3Bvc3RncmVzcWwgaWYgZmlsZSBpcyBwcmVzZW50CitbIC1mIC9ldGMvZGVmYXVsdC9wb3N0Z3Jlc3FsLyR7TkFNRX0gXSAmJiAuIC9ldGMvZGVmYXVsdC9wb3N0Z3Jlc3FsLyR7TkFNRX0KKworZXhwb3J0IFBHREFUQQorZXhwb3J0IFBHUE9SVAorCitsb2NrZmlsZT0iL3Zhci9sb2NrL3N1YnN5cy8ke05BTUV9IgorcGlkZmlsZT0iL3Zhci9ydW4vcG9zdG1hc3Rlci4ke1BHUE9SVH0ucGlkIgorCitzY3JpcHRfcmVzdWx0PTAKKworc3RhcnQoKXsKKwlbIC14ICIkUEdFTkdJTkUvcG9zdG1hc3RlciIgXSB8fCBleGl0IDUKKworCVBTUUxfU1RBUlQ9JCJTdGFydGluZyAke05BTUV9IHNlcnZpY2U6ICIKKworCSMgTWFrZSBzdXJlIHN0YXJ0dXAtdGltZSBsb2cgZmlsZSBpcyB2YWxpZAorCWlmIFsgISAtZSAiJFBHTE9HIiAtYSAhIC1oICIkUEdMT0ciIF0KKwl0aGVuCisJCXRvdWNoICIkUEdMT0ciIHx8IGV4aXQgNAorCQljaG93biBwb3N0Z3Jlczpwb3N0Z3JlcyAiJFBHTE9HIgorCQljaG1vZCBnby1yd3ggIiRQR0xPRyIKKwkJWyAteCAvc2Jpbi9yZXN0b3JlY29uIF0gJiYgL3NiaW4vcmVzdG9yZWNvbiAiJFBHTE9HIgorCWZpCisKKwkjIENoZWNrIGZvciB0aGUgUEdEQVRBIHN0cnVjdHVyZQorCWlmIFsgLWYgIiRQR0RBVEEvUEdfVkVSU0lPTiIgXSAmJiBbIC1kICIkUEdEQVRBL2Jhc2UiIF0KKwl0aGVuCisJCSMgQ2hlY2sgdmVyc2lvbiBvZiBleGlzdGluZyBQR0RBVEEKKwkJaWYgWyB4YGNhdCAiJFBHREFUQS9QR19WRVJTSU9OImAgIT0geCIkUEdNQUpPUlZFUlNJT04iIF0KKwkJdGhlbgorCQkJU1lTRE9DRElSPSIoWW91ciBTeXN0ZW0ncyBkb2N1bWVudGF0aW9uIGRpcmVjdG9yeSkiCisJCQlpZiBbIC1kICIvdXNyL2RvYy9wb3N0Z3Jlc3FsLSRQR1ZFUlNJT04iIF0KKwkJCXRoZW4KKwkJCQlTWVNET0NESVI9L3Vzci9kb2MKKwkJCWZpCisJCQlpZiBbIC1kICIvdXNyL3NoYXJlL2RvYy9wb3N0Z3Jlc3FsLSRQR1ZFUlNJT04iIF0KKwkJCXRoZW4KKwkJCQlTWVNET0NESVI9L3Vzci9zaGFyZS9kb2MKKwkJCWZpCisJCQlpZiBbIC1kICIvdXNyL2RvYy9wYWNrYWdlcy9wb3N0Z3Jlc3FsLSRQR1ZFUlNJT04iIF0KKwkJCXRoZW4KKwkJCQlTWVNET0NESVI9L3Vzci9kb2MvcGFja2FnZXMKKwkJCWZpCisJCQlpZiBbIC1kICIvdXNyL3NoYXJlL2RvYy9wYWNrYWdlcy9wb3N0Z3Jlc3FsLSRQR1ZFUlNJT04iIF0KKwkJCXRoZW4KKwkJCQlTWVNET0NESVI9L3Vzci9zaGFyZS9kb2MvcGFja2FnZXMKKwkJCWZpCisJCQllY2hvCisJCQllY2hvICQiQW4gb2xkIHZlcnNpb24gb2YgdGhlIGRhdGFiYXNlIGZvcm1hdCB3YXMgZm91bmQuIgorCQkJZWNobyAkIllvdSBuZWVkIHRvIHVwZ3JhZGUgdGhlIGRhdGEgZm9ybWF0IGJlZm9yZSB1c2luZyBQb3N0Z3JlU1FMLiIKKwkJCWVjaG8gJCJTZWUgJFNZU0RPQ0RJUi9wb3N0Z3Jlc3FsLSRQR1ZFUlNJT04vUkVBRE1FLnJwbS1kaXN0IGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKwkJCWV4aXQgMQorCQlmaQorCWVsc2UKKwkJIyBObyBleGlzdGluZyBQR0RBVEEhIFdhcm4gdGhlIHVzZXIgdG8gaW5pdGRiIGl0LgorCQllY2hvCisgICAgICAgICAgICAgICAgZWNobyAiJFBHREFUQSBpcyBtaXNzaW5nLiBVc2UgXCJwb3N0Z3Jlc3FsLXNldHVwIGluaXRkYlwiIHRvIGluaXRpYWxpemUgdGhlIGNsdXN0ZXIgZmlyc3QuIgorCQllY2hvIC1uICIgW0ZBSUxFRF0gIgorCQllY2hvCisJCWV4aXQgMQorCWZpCisKKwllY2hvIC1uICIkUFNRTF9TVEFSVCIKKwl0ZXN0IHgiJFBHX09PTV9BREoiICE9IHggJiYgZWNobyAiJFBHX09PTV9BREoiID4gL3Byb2Mvc2VsZi9vb21fc2NvcmVfYWRqCisJJFNVIC1sIHBvc3RncmVzIC1jICIkUEdFTkdJTkUvcG9zdG1hc3RlciAtcCAnJFBHUE9SVCcgLUQgJyRQR0RBVEEnICR7UEdPUFRTfSAmIiA+PiAiJFBHTE9HIiAyPiYxIDwgL2Rldi9udWxsCisJc2xlZXAgMgorCXBpZD1gaGVhZCAtbiAxICIkUEdEQVRBL3Bvc3RtYXN0ZXIucGlkIiAyPi9kZXYvbnVsbGAKKwlpZiBbICJ4JHBpZCIgIT0geCBdCisJdGhlbgorCQllY2hvIC1uICIgWyBPSyBdIgorCQl0b3VjaCAiJGxvY2tmaWxlIgorCQllY2hvICRwaWQgPiAiJHBpZGZpbGUiCisJCWVjaG8KKwllbHNlCisJCWVjaG8gLW4gICIgW0ZBSUxFRF0iCisJCWVjaG8KKwkJc2NyaXB0X3Jlc3VsdD0xCisJZmkKK30KKworc3RvcCgpeworCWVjaG8gLW4gJCJTdG9wcGluZyAke05BTUV9IHNlcnZpY2U6ICIKKwlpZiBbIC1lICIkbG9ja2ZpbGUiIF0KKwl0aGVuCisJICAgICRTVSAtbCBwb3N0Z3JlcyAtYyAiJFBHRU5HSU5FL3BnX2N0bCBzdG9wIC1EICckUEdEQVRBJyAtcyAtbSBmYXN0IiA+IC9kZXYvbnVsbCAyPiYxIDwgL2Rldi9udWxsCisJICAgIHJldD0kPworCSAgICBpZiBbICRyZXQgLWVxIDAgXQorCSAgICB0aGVuCisJCWVjaG8gLW4gIiBbIE9LIF0gIgorCQlybSAtZiAiJHBpZGZpbGUiCisJCXJtIC1mICIkbG9ja2ZpbGUiCisJICAgIGVsc2UKKwkJZWNobyAtbiAiIFtGQUlMRURdICIKKwkJc2NyaXB0X3Jlc3VsdD0xCisJICAgIGZpCisJZWxzZQorCSAgICAjIG5vdCBydW5uaW5nOyBwZXIgTFNCIHN0YW5kYXJkcyB0aGlzIGlzICJvayIKKwkgICAgZWNobyAtbiAiIFsgT0sgXSAiCisJZmkKKwllY2hvCit9CisKK3Jlc3RhcnQoKXsKKyAgICBzdG9wCisgICAgc3RhcnQKK30KKworY29uZHJlc3RhcnQoKXsKKyAgICBbIC1lICIkbG9ja2ZpbGUiIF0gJiYgcmVzdGFydCB8fCA6Cit9CisKK3JlbG9hZCgpeworICAgICRTVSAtbCBwb3N0Z3JlcyAtYyAiJFBHRU5HSU5FL3BnX2N0bCByZWxvYWQgLUQgJyRQR0RBVEEnIC1zIiA+IC9kZXYvbnVsbCAyPiYxIDwgL2Rldi9udWxsCit9CisKKworIyBTZWUgaG93IHdlIHdlcmUgY2FsbGVkLgorY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorCXN0YXJ0CisJOzsKKyAgc3RvcCkKKwlzdG9wCisJOzsKKyAgc3RhdHVzKQorCXN0YXR1cyBwb3N0bWFzdGVyCisJc2NyaXB0X3Jlc3VsdD0kPworCTs7CisgIHJlc3RhcnQpCisJcmVzdGFydAorCTs7CisgIGNvbmRyZXN0YXJ0fHRyeS1yZXN0YXJ0KQorCWNvbmRyZXN0YXJ0CisJOzsKKyAgcmVsb2FkKQorCXJlbG9hZAorCTs7CisgIGZvcmNlLXJlbG9hZCkKKwlyZXN0YXJ0CisJOzsKKyAgKikKKwllY2hvICQiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0fGNvbmRyZXN0YXJ0fHRyeS1yZXN0YXJ0fHJlbG9hZHxmb3JjZS1yZWxvYWR9IgorCWV4aXQgMgorZXNhYworCitleGl0ICRzY3JpcHRfcmVzdWx0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5wYW0gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5wYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGI2ZmRjNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLnBhbQpAQCAtMCwwICsxLDQgQEAKKyMlUEFNLTEuMAorYXV0aCAgICAgICAgICAgIGluY2x1ZGUgICAgICAgICBjb21tb24tYXV0aAorYWNjb3VudCAgICAgICAgIGluY2x1ZGUgICAgICAgICBjb21tb24tYWNjb3VudAorcGFzc3dvcmQgICAgICAgIGluY2x1ZGUgICAgICAgICBjb21tb24tcGFzc3dvcmQKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlYzk1OWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5zZXJ2aWNlCkBAIC0wLDAgKzEsMjcgQEAKK1tVbml0XQorRGVzY3JpcHRpb249UG9zdGdyZVNRTCBkYXRhYmFzZSBzZXJ2ZXIKK0FmdGVyPW5ldHdvcmsudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitVc2VyPXBvc3RncmVzCitHcm91cD1wb3N0Z3JlcworCisjIFBvcnQgbnVtYmVyIGZvciBzZXJ2ZXIgdG8gbGlzdGVuIG9uCitFbnZpcm9ubWVudD1QR1BPUlQ9NTQzMgorCisjIExvY2F0aW9uIG9mIGRhdGFiYXNlIGRpcmVjdG9yeQorRW52aXJvbm1lbnQ9UEdEQVRBPS92YXIvbGliL3Bvc3RncmVzcWwvZGF0YQorCisjIERpc2FibGUgT09NIGtpbGwgb24gdGhlIHBvc3RtYXN0ZXIKK09PTVNjb3JlQWRqdXN0PS0xNworCitFeGVjU3RhcnQ9QEJJTkRJUkAvcGdfY3RsIHN0YXJ0IC1EICR7UEdEQVRBfSAtcyAtbyAiLXAgJHtQR1BPUlR9IiAtdyAtdCAzMDAKK0V4ZWNTdG9wPUBCSU5ESVJAL3BnX2N0bCBzdG9wIC1EICR7UEdEQVRBfSAtcyAtbSBmYXN0CitFeGVjUmVsb2FkPUBCSU5ESVJAL3BnX2N0bCByZWxvYWQgLUQgJHtQR0RBVEF9IC1zCisKKyMgR2l2ZSBhIHJlYXNvbmFibGUgYW1vdW50IG9mIHRpbWUgZm9yIHRoZSBzZXJ2ZXIgdG8gc3RhcnQgdXAvc2h1dCBkb3duCitUaW1lb3V0U2VjPTMwMAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcmVtb3ZlLmF1dG9jb25mLnZlcnNpb24uY2hlY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvZmlsZXMvcmVtb3ZlLmF1dG9jb25mLnZlcnNpb24uY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmUyM2ZkNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9maWxlcy9yZW1vdmUuYXV0b2NvbmYudmVyc2lvbi5jaGVjay5wYXRjaApAQCAtMCwwICsxLDE2IEBACitJbmRleDogcG9zdGdyZXNxbC05LjIuNC9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwb3N0Z3Jlc3FsLTkuMi40Lm9yaWcvY29uZmlndXJlLmluCisrKysgcG9zdGdyZXNxbC05LjIuNC9jb25maWd1cmUuaW4KK0BAIC0xOSwxMCArMTksNiBAQCBtNF9wYXR0ZXJuX2ZvcmJpZCheUEdBQ18pZG5sIHRvIGNhdGNoIHVuCisgCisgQUNfSU5JVChbUG9zdGdyZVNRTF0sIFs5LjQuMl0sIFtwZ3NxbC1idWdzQHBvc3RncmVzcWwub3JnXSkKKyAKKy1tNF9pZihtNF9kZWZuKFttNF9QQUNLQUdFX1ZFUlNJT05dKSwgWzIuNjldLCBbXSwgW200X2ZhdGFsKFtBdXRvY29uZiB2ZXJzaW9uIDIuNjkgaXMgcmVxdWlyZWQuCistVW50ZXN0ZWQgY29tYmluYXRpb25zIG9mICdhdXRvY29uZicgYW5kIFBvc3RncmVTUUwgdmVyc2lvbnMgYXJlIG5vdAorLXJlY29tbWVuZGVkLiAgWW91IGNhbiByZW1vdmUgdGhlIGNoZWNrIGZyb20gJ2NvbmZpZ3VyZS5pbicgYnV0IGl0IGlzIHRoZW4KKy15b3VyIHJlc3BvbnNpYmlsaXR5IHdoZXRoZXIgdGhlIHJlc3VsdCB3b3JrcyBvciBub3QuXSldKQorIEFDX0NPUFlSSUdIVChbQ29weXJpZ2h0IChjKSAxOTk2LTIwMTQsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwXSkKKyBBQ19DT05GSUdfU1JDRElSKFtzcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL2hlYXB0dXBsZS5jXSkKKyBBQ19DT05GSUdfQVVYX0RJUihjb25maWcpCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODhhMmQxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWwuaW5jCkBAIC0wLDAgKzEsMzkxIEBACitTVU1NQVJZID0gIlBvc3RncmVTUUwgaXMgYSBwb3dlcmZ1bCwgb3BlbiBzb3VyY2UgcmVsYXRpb25hbCBkYXRhYmFzZSBzeXN0ZW0uIgorREVTQ1JJUFRJT04gPSAiXAorICAgIFBvc3RncmVTUUwgaXMgYW4gYWR2YW5jZWQgT2JqZWN0LVJlbGF0aW9uYWwgZGF0YWJhc2UgbWFuYWdlbWVudCBzeXN0ZW0gXAorICAgIChEQk1TKSB0aGF0IHN1cHBvcnRzIGFsbW9zdCBhbGwgU1FMIGNvbnN0cnVjdHMgKGluY2x1ZGluZyBcCisgICAgdHJhbnNhY3Rpb25zLCBzdWJzZWxlY3RzIGFuZCB1c2VyLWRlZmluZWQgdHlwZXMgYW5kIGZ1bmN0aW9ucykuIFRoZSBcCisgICAgcG9zdGdyZXNxbCBwYWNrYWdlIGluY2x1ZGVzIHRoZSBjbGllbnQgcHJvZ3JhbXMgYW5kIGxpYnJhcmllcyB0aGF0IFwKKyAgICB5b3UnbGwgbmVlZCB0byBhY2Nlc3MgYSBQb3N0Z3JlU1FMIERCTVMgc2VydmVyLiAgVGhlc2UgUG9zdGdyZVNRTCBcCisgICAgY2xpZW50IHByb2dyYW1zIGFyZSBwcm9ncmFtcyB0aGF0IGRpcmVjdGx5IG1hbmlwdWxhdGUgdGhlIGludGVybmFsIFwKKyAgICBzdHJ1Y3R1cmUgb2YgUG9zdGdyZVNRTCBkYXRhYmFzZXMgb24gYSBQb3N0Z3JlU1FMIHNlcnZlci4gVGhlc2UgY2xpZW50IFwKKyAgICBwcm9ncmFtcyBjYW4gYmUgbG9jYXRlZCBvbiB0aGUgc2FtZSBtYWNoaW5lIHdpdGggdGhlIFBvc3RncmVTUUwgXAorICAgIHNlcnZlciwgb3IgbWF5IGJlIG9uIGEgcmVtb3RlIG1hY2hpbmUgd2hpY2ggYWNjZXNzZXMgYSBQb3N0Z3JlU1FMIFwKKyAgICBzZXJ2ZXIgb3ZlciBhIG5ldHdvcmsgY29ubmVjdGlvbi4gVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBkb2NzIFwKKyAgICBpbiBIVE1MIGZvciB0aGUgd2hvbGUgcGFja2FnZSwgYXMgd2VsbCBhcyBjb21tYW5kLWxpbmUgdXRpbGl0aWVzIGZvciBcCisgICAgbWFuYWdpbmcgUG9zdGdyZVNRTCBkYXRhYmFzZXMgb24gYSBQb3N0Z3JlU1FMIHNlcnZlci4gXAorICAgIFwKKyAgICBJZiB5b3Ugd2FudCB0byBtYW5pcHVsYXRlIGEgUG9zdGdyZVNRTCBkYXRhYmFzZSBvbiBhIGxvY2FsIG9yIHJlbW90ZSBcCisgICAgUG9zdGdyZVNRTCBzZXJ2ZXIsIHlvdSBuZWVkIHRoaXMgcGFja2FnZS4gWW91IGFsc28gbmVlZCB0byBpbnN0YWxsIFwKKyAgICB0aGlzIHBhY2thZ2UgaWYgeW91J3JlIGluc3RhbGxpbmcgdGhlIHBvc3RncmVzcWwtc2VydmVyIHBhY2thZ2UuIFwKKyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucG9zdGdyZXNxbC5jb20iCitMSUNFTlNFID0gIkJTRCIKK0RFUEVORFMgPSAiemxpYiByZWFkbGluZSB0emNvZGUtbmF0aXZlIgorSU5DX1BSID0gInIwIgorCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLnBvc3RncmVzcWwub3JnL3B1Yi9zb3VyY2UvdiR7UFZ9LyR7QlB9LnRhci5iejIgXAorICAgIGZpbGU6Ly9wb3N0Z3Jlc3FsLmluaXQgXAorICAgIGZpbGU6Ly9wb3N0Z3Jlc3FsLWJhc2hwcm9maWxlIFwKKyAgICBmaWxlOi8vcG9zdGdyZXNxbC5wYW0gXAorICAgIGZpbGU6Ly9wb3N0Z3Jlc3FsLXNldHVwIFwKKyAgICBmaWxlOi8vcG9zdGdyZXNxbC5zZXJ2aWNlIFwKKyAgICBmaWxlOi8vMDAwMS1Vc2UtcGtnLWNvbmZpZy1mb3ItbGlieG1sMi1kZXRlY3Rpb24ucGF0Y2ggXAorICAgIGZpbGU6Ly9wb3N0Z3Jlc3FsLUNWRS0yMDE2LTA3NjYucGF0Y2ggXAorICAgIGZpbGU6Ly9wb3N0Z3Jlc3FsLUNWRS0yMDE2LTA3NzMucGF0Y2ggXAorIgorCitMRUFEX1NPTkFNRSA9ICJsaWJwcS5zbyIKKworIyBMREZMQUdTIGZvciBzaGFyZWQgbGlicmFyaWVzCitleHBvcnQgTERGTEFHU19TTCA9ICIke0xERkxBR1N9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcGVybG5hdGl2ZSBweXRob25uYXRpdmUgdXNlcmFkZCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJwb3N0Z3Jlc3FsLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59ID0gImRpc2FibGUiCisKK0RFUEVORFNfYXBwZW5kID0gIiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnc3lzdGVtZC1zeXN0ZW1jdGwtbmF0aXZlJywgJycsIGQpfSIKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kIHN5c3Zpbml0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaWYgWyAtbiAiJEQiIF07IHRoZW4KKyAgICAgICAgICAgIE9QVFM9Ii0tcm9vdD0kRCIKKyAgICAgICAgZmkKKyAgICAgICAgc3lzdGVtY3RsICRPUFRTIG1hc2sgcG9zdGdyZXNxbC1zZXJ2ZXIuc2VydmljZQorICAgIGZpCit9CisKK2VuYWJsZV9wYW0gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUcgPz89ICIke2VuYWJsZV9wYW19IG9wZW5zc2wgcHl0aG9uIHV1aWQgbGlieG1sIHRjbCBubHMgbGlieG1sIHBlcmwiCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS13aXRoLXBhbSwtLXdpdGhvdXQtcGFtLGxpYnBhbSwiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1vcGVuc3NsLC0td2l0aG91dC1vcGVuc3NsLG9wZW5zc2wsIgorUEFDS0FHRUNPTkZJR1tweXRob25dID0gIi0td2l0aC1weXRob24sLS13aXRob3V0LXB5dGhvbixweXRob24scHl0aG9uIgorUEFDS0FHRUNPTkZJR1t1dWlkXSA9ICItLXdpdGgtb3NzcC11dWlkLC0td2l0aG91dC1vc3NwLXV1aWQsb3NzcC11dWlkLCIKKyMgd2hlbiB0Y2wgbmF0aXZlIHBhY2thZ2UgIGlzIGZpeGVkIGNoYW5nZSBXT1JLRElSIHRvIFNUQUdJTkdfQklORElSX0NST1NTCitQQUNLQUdFQ09ORklHW3RjbF0gPSAiLS13aXRoLXRjbCAtLXdpdGgtdGNsY29uZmlnPSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9LC0td2l0aG91dC10Y2wsdGNsLCIKK1BBQ0tBR0VDT05GSUdbbmxzXSA9ICItLWVuYWJsZS1ubHMsLS1kaXNhYmxlLW5scywsIgorUEFDS0FHRUNPTkZJR1tsaWJ4bWxdID0gIi0td2l0aC1saWJ4bWwsLS13aXRob3V0LWxpYnhtbCxsaWJ4bWwyLGxpYnhtbDIiCitQQUNLQUdFQ09ORklHW3BlcmxdID0gIi0td2l0aC1wZXJsLC0td2l0aG91dC1wZXJsLHBlcmwscGVybCIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS10aHJlYWQtc2FmZXR5IC0tZGlzYWJsZS1ycGF0aCBcCisgICAgLS1kYXRhZGlyPSR7ZGF0YWRpcn0vJHtCUE59IFwKKyAgICAtLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS8ke0JQTn0gXAorIgorRVhUUkFfT0VDT05GX3NoNCArPSAiLS1kaXNhYmxlLXNwaW5sb2NrcyIKK0VYVFJBX09FQ09ORl9hYXJjaDY0ICs9ICItLWRpc2FibGUtc3BpbmxvY2tzIgorCitQQUNLQUdFU19EWU5BTUlDICs9ICJeJHtQTn0tcGxwZXJsIF4ke1BOfS1wbHBlcmwtZGJnIFwKKyAgICBeJHtQTn0tcGx0Y2wgXiR7UE59LXBsdGNsLWRiZyBcCisgICAgXiR7UE59LXBscHl0aG9uIF4ke1BOfS1wbHB5dGhvbi1kYmcgXAorIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKKworICAgIGRlZiBmaWxsX21vcmUobmFtZSwgZGJnPVRydWUpOgorICAgICAgICBpZiBuYW1lIGlzIE5vbmUgb3IgbmFtZS5zdHJpcCgpID09ICIiOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgZnBhY2s9ZC5nZXRWYXIoJ1BBQ0tBR0VTJywgRmFsc2UpIG9yICIiCisgICAgICAgIGZwYWNrPSIke1BOfS0iICsgbmFtZSArICIgIiArIGZwYWNrCisgICAgICAgIGlmIGRiZzoKKyAgICAgICAgICAgIGZwYWNrPSIke1BOfS0iICsgbmFtZSArICItZGJnIiArICIgIiArIGZwYWNrCisgICAgICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsIGZwYWNrKQorCisgICAgY29uZj0oZC5nZXRWYXIoJ1BBQ0tBR0VDT05GSUcnLCBUcnVlKSBvciAiIikuc3BsaXQoKQorICAgIHBhY2s9ZC5nZXRWYXIoJ1BBQ0tBR0VTJywgRmFsc2UpIG9yICIiCisgICAgYmIuZGVidWcoMSwgIlBBQ0tBR0VDT05GSUc9JXMiICUgY29uZikKKyAgICBiYi5kZWJ1ZygxLCAiUEFDS0FHRVMxPSVzIiAlIHBhY2sgKQorCisgICAgaWYgInBlcmwiIGluIGNvbmYgOgorICAgICAgICBmaWxsX21vcmUoInBscGVybCIpCisKKyAgICBpZiAidGNsIiBpbiBjb25mOgorICAgICAgICBmaWxsX21vcmUoInBsdGNsIikKKworICAgIGlmICJweXRob24iIGluIGNvbmY6CisgICAgICAgIGZpbGxfbW9yZSgicGxweXRob24iKQorCisgICAgcGFjaz1kLmdldFZhcignUEFDS0FHRVMnLCBUcnVlKSBvciAiIgorICAgIGJiLmRlYnVnKDEsICJQQUNLQUdFUzI9JXMiICUgcGFjaykKKworfQorCitkb19jb25maWd1cmUoKSB7CisgICAgIyBkb19jb25maWd1cmVfcHJlcGVuZAorICAgICMgbWFrZSBzdXJlIGNvbmZpZ3VyZSBmaW5kcyBweXRob24gaW5jbHVkZGlycyB3aXRoIHRoZXNlIGVudnMKKyAgICBleHBvcnQgQlVJTERfU1lTPSR7QlVJTERfU1lTfSBIT1NUX1NZUz0ke0hPU1RfU1lTfSBcCisgICAgICAgICAgIFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAgICAgICAgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0KKworICAgICMgZG9fY29uZmlndXJlCisgICAgYXV0b3Rvb2xzX2RvX2NvbmZpZ3VyZQorCisgICAgIyBkb19jb25maWd1cmVfYXBwZW5kCisgICAgIyB3b3JrYXJvdW5kIHBlcmwgcGFja2FnZSByZWxhdGVkIGJ1Z3MKKyAgICBzZWQgLWkgLWUgInM6LUwvdXNyL2xvY2FsL2xpYjotTD0vdXNyL2xvY2FsL2xpYjpnIiBcCisgICAgICAgICR7Qn0vc3JjL01ha2VmaWxlLmdsb2JhbAorICAgIExJQlBOQT0iXCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZSIKKyAgICBMSUJOQT0iXCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSIKKyAgICBCTElCTkE9Ilwke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSIKKyAgICBzZWQgLWkgLWUgIi9ecGVybF9hcmNobGliZXhwL3M6JHtMSUJQTkF9OiR7U1RBR0lOR19MSUJESVJ9OmciIFwKKyAgICAgICAgJHtCfS9zcmMvTWFrZWZpbGUuZ2xvYmFsCisgICAgc2VkIC1pIC1lICIvXnBlcmxfcHJpdmxpYmV4cC9zOiR7TElCUE5BfToke1NUQUdJTkdfTElCRElSfTpnIiBcCisgICAgICAgICR7Qn0vc3JjL01ha2VmaWxlLmdsb2JhbAorICAgICMgcmVtb3ZlIHRoZSBycGF0aCwgcmVwbGFjZSB3aXRoIGNvcnJlY3QgbGliIHBhdGgKKyAgICBzZWQgLWkgXAorICAgICAgICAtZSAiL15wZXJsX2VtYmVkX2xkZmxhZ3MvczotV2wsLXJwYXRoLCR7TElCTkF9OjpnIiBcCisgICAgICAgIC1lICIvXnBlcmxfZW1iZWRfbGRmbGFncy9zOi1XbCwtcnBhdGgsJHtCTElCTkF9OjpnIiBcCisgICAgICAgIC1lICIvXnBlcmxfZW1iZWRfbGRmbGFncy9zOi1XbCwtcnBhdGgtbGluaywke0xJQk5BfTo6ZyIgXAorICAgICAgICAtZSAiL15wZXJsX2VtYmVkX2xkZmxhZ3MvczotV2wsLXJwYXRoLWxpbmssJHtCTElCTkF9OjpnIiBcCisgICAgICAgIC1lICIvXnBlcmxfZW1iZWRfbGRmbGFncy9zOiR7TElCUE5BfToke1NUQUdJTkdfTElCRElSfTpnIiBcCisgICAgICAgIC1lICIvXnBlcmxfZW1iZWRfbGRmbGFncy9zOiR7TElCTkF9OiR7U1RBR0lOR19MSUJESVJ9OmciICBcCisgICAgICAgIC1lICIvXnBlcmxfZW1iZWRfbGRmbGFncy9zOiR7QkxJQk5BfToke1NUQUdJTkdfQkFTRUxJQkRJUn06ZyIgXAorICAgICAgICAtZSAiL15UQ0xTSC9zOj0uKjo9ICR7YmluZGlyfS90Y2xzaDpnIiBcCisgICAgJHtCfS9zcmMvTWFrZWZpbGUuZ2xvYmFsCisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwZXJsJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgIyB3b3JrYXJvdW5kIHBlcmwgcGFja2FnZSdzIGxpYnBlcmwuc28gcHJvYmxlbQorICAgICAgICAjIHdlIGFyZSB1c2luZyBwZXJsbmF0aXZlIHNvIHRoaXMgcGVybCBzaG91bGQgaGF2ZSBzYW1lIHZlcnNpb24KKyAgICAgICAgcGVybF92ZXJzaW9uPWBwZXJsIC12IDI+L2Rldi9udWxsIHwgXAorICAgICAgICAgICAgc2VkIC1uICdzL1RoaXMgaXMgcGVybC4qdlthLXogXSpcKFswLTldXC5bMC05XVswLTkuXSpcKS4qJC9cMS9wJ2AKKyAgICAgICAgaWYgWyAhIC1oICIke1NUQUdJTkdfTElCRElSfS9wZXJsLyRwZXJsX3ZlcnNpb24vQ09SRS9saWJwZXJsLnNvIiAtYSBcCisgICAgICAgICAgICAgISAtaCAiJHtTVEFHSU5HX0xJQkRJUn0vbGlicGVybC5zbyIgXTsgdGhlbgorICAgICAgICAgICAgbG4gLXNmIC4uLy4uLy4uL2xpYnBlcmwuc28uNSBcCisgICAgICAgICAgICAgICAgJHtTVEFHSU5HX0xJQkRJUn0vcGVybC8kcGVybF92ZXJzaW9uL0NPUkUvbGlicGVybC5zbworICAgICAgICBmaQorICAgIGZpCit9CisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIG9lX3J1bm1ha2UgLUMgY29udHJpYiBhbGwKK30KKworIyBzZXJ2ZXIgbmVlZHMgdG8gY29uZmlndXJlIHVzZXIgYW5kIGdyb3VwCit1c2VybnVtID0gIjI4IgorZ3JvdXBudW0gPSAiMjgiCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItTSAtZyBwb3N0Z3JlcyAtbyAtciAtZCAke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0gXAorICAgIC1zIC9iaW4vYmFzaCAtYyAnUG9zdGdyZVNRTCBTZXJ2ZXInIC11ICR7dXNlcm51bX0gcG9zdGdyZXMiCitHUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItZyAke2dyb3VwbnVtfSAtbyAtciBwb3N0Z3JlcyIKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfSIKK0lOSVRTQ1JJUFRfTkFNRSA9ICIke0JQTn0tc2VydmVyIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgNjQgLiBzdG9wIDM2IDAgMSAyIDMgNCA1IDYgLiIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBpbnN0YWxsIGNvbnRyaWIKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSAtQyBjb250cmliIGluc3RhbGwKKyAgICAjIGluc3RhbGwgdHV0b3JpYWwKKyAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7bGliZGlyfS8ke0JQTn0vdHV0b3JpYWwKKyAgICBpbnN0YWxsICR7Qn0vc3JjL3R1dG9yaWFsLyogJHtEfSR7bGliZGlyfS8ke0JQTn0vdHV0b3JpYWwKKworICAgICMgaW5zdGFsbCBDT1BZUklHSFQgUkVBRE1FIEhJU1RPUlkKKyAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKyAgICBmb3IgaSBpbiAke0J9L3tDT1BZUklHSFQsUkVBRE1FLEhJU1RPUll9ICR7Qn0vZG9jL3tLTk9XTl9CVUdTLE1JU1NJTkdfRkVBVFVSRVMsUkVBRE1FKixidWcudGVtcGxhdGV9OyBkbworICAgICAgICBbIC1mICRpIF0gJiYgaW5zdGFsbCAkaSAke0R9JHtkb2NkaXJ9LyR7QlBOfQorICAgIGRvbmUKKworICAgICMgaW5zdGFsbCBkaXJzIGFuZCBzZXJ2ZXIgaW5pdAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vJHtCUE59LmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLyR7QlBOfS1zZXJ2ZXIKKyAgICBzZWQgLWkgLWUgInMvXlBHVkVSU0lPTj0uKiQvUEdWRVJTSU9OPSR7UFZ9L2ciICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC8ke0JQTn0tc2VydmVyCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vJHtCUE59LXNldHVwICR7RH0ke2JpbmRpcn0vJHtCUE59LXNldHVwCisgICAgaW5zdGFsbCAtZCAtbSA3MDAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfS9kYXRhCisgICAgaW5zdGFsbCAtZCAtbSA3MDAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfS9iYWNrdXBzCisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS8ke0JQTn0tYmFzaHByb2ZpbGUgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfS8uYmFzaF9wcm9maWxlCisgICAgY2hvd24gLVIgcG9zdGdyZXM6cG9zdGdyZXMgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfQorICAgICMgbXVsdGlwbGUgc2VydmVyIGNvbmZpZyBkaXJlY3RvcnkKKyAgICBpbnN0YWxsIC1kIC1tIDcwMCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0LyR7QlBOfQorCisgICAgaWYgWyAiJHtAZC5nZXRWYXIoJ2VuYWJsZV9wYW0nLCBUcnVlKX0iID0gInBhbSIgXTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vcG9zdGdyZXNxbC5wYW0gJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvcG9zdGdyZXNxbAorICAgIGZpCisKKyAgICAjIEluc3RhbGwgc3lzdGVtZCB1bml0IGZpbGVzCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3Bvc3RncmVzcWwuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyxAQklORElSQCwke2JpbmRpcn0sZycgXAorICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9wb3N0Z3Jlc3FsLnNlcnZpY2UKK30KKworU1NUQVRFX1NDQU5fRklMRVMgKz0gIk1ha2VmaWxlLmdsb2JhbCIKKworUEFDS0FHRVMgPSsgIiR7UE59LWNsaWVudCAke1BOfS1zZXJ2ZXItZGV2ICR7UE59LXRpbWV6b25lIFwKKyAgICBsaWJlY3BnLWNvbXBhdC1kYmcgbGliZWNwZy1jb21wYXQgbGliZWNwZy1jb21wYXQtZGV2IFwKKyAgICBsaWJlY3BnLWRiZyBsaWJlY3BnIGxpYmVjcGctZGV2IGxpYmVjcGctc3RhdGljZGV2IGxpYmVjcGctZG9jIFwKKyAgICBsaWJwcS1kYmcgbGlicHEgbGlicHEtZGV2IGxpYnBxLXN0YXRpY2RldiBcCisgICAgbGlicGd0eXBlcy1kYmcgbGlicGd0eXBlcyBsaWJwZ3R5cGVzLXN0YXRpY2RldiBsaWJwZ3R5cGVzLWRldiBcCisgICAgJHtQTn0tY29udHJpYiAke1BOfS1jb250cmliLWRiZyBcCisiCisKK0ZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L2luaXQuZC8ke0JQTn0tc2VydmVyIFwKKyAgICAke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0vZGF0YSAke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0vYmFja3VwcyBcCisgICAgJHtsb2NhbHN0YXRlZGlyfS9saWIvJHtCUE59Ly5iYXNoX3Byb2ZpbGUgJHtzeXNjb25mZGlyfS9kZWZhdWx0LyR7QlBOfSBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9kaWN0X3Nub3diYWxsLnNvICR7bGliZGlyfS8ke0JQTn0vcGxwZ3NxbC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9ldWMyMDA0X3NqaXMyMDA0LnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L2xpYnBxd2FscmVjZWl2ZXIuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vKl9hbmRfKi5zbyBcCisgICAgJHtAJyR7c3lzY29uZmRpcn0vcGFtLmQvcG9zdGdyZXNxbCcgXAorICAgICAgIGlmICdwYW0nID09IGQuZ2V0VmFyKCdlbmFibGVfcGFtJywgVHJ1ZSkgXAorICAgICAgIGVsc2UgJyd9IFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZGljdF9zbm93YmFsbC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGxwZ3NxbC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZXVjMjAwNF9zamlzMjAwNC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvbGlicHF3YWxyZWNlaXZlci5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvKl9hbmRfKi5zbyBcCisiCisKK0ZJTEVTXyR7UE59LWNsaWVudCA9ICIke2JpbmRpcn0vY2x1c3RlcmRiIFwKKyAgICAke2JpbmRpcn0vY3JlYXRlZGIgXAorICAgICR7YmluZGlyfS9jcmVhdGVsYW5nIFwKKyAgICAke2JpbmRpcn0vY3JlYXRldXNlciBcCisgICAgJHtiaW5kaXJ9L2Ryb3BkYiBcCisgICAgJHtiaW5kaXJ9L2Ryb3BsYW5nIFwKKyAgICAke2JpbmRpcn0vZHJvcHVzZXIgXAorICAgICR7YmluZGlyfS9wZ19kdW1wIFwKKyAgICAke2JpbmRpcn0vcGdfZHVtcGFsbCBcCisgICAgJHtiaW5kaXJ9L3BnX3Jlc3RvcmUgXAorICAgICR7YmluZGlyfS9wc3FsIFwKKyAgICAke2JpbmRpcn0vcmVpbmRleGRiIFwKKyAgICAke2JpbmRpcn0vdmFjdXVtZGIgXAorICAgICR7YmluZGlyfS92YWN1dW1sbyBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vcHNxbHJjLnNhbXBsZSBcCisiCitGSUxFU18ke1BOfS1jbGllbnQtZG9jID0gIiR7bWFuZGlyfS9tYW4xL2NsdXN0ZXJkYi4qIFwKKyAgICAke21hbmRpcn0vbWFuMS9jcmVhdGVkYi4qICAgJHttYW5kaXJ9L21hbjEvY3JlYXRlbGFuZy4qIFwKKyAgICAke21hbmRpcn0vbWFuMS9jcmVhdGV1c2VyLiogJHttYW5kaXJ9L21hbjEvZHJvcGRiLiogXAorICAgICR7bWFuZGlyfS9tYW4xL2Ryb3BsYW5nLiogICAke21hbmRpcn0vbWFuMS9kcm9wdXNlci4qIFwKKyAgICAke21hbmRpcn0vbWFuMS9wZ19kdW1wLiogICAgJHttYW5kaXJ9L21hbjEvcGdfZHVtcGFsbC4qIFwKKyAgICAke21hbmRpcn0vbWFuMS9wZ19yZXN0b3JlLiogJHttYW5kaXJ9L21hbjEvcHNxbC4qIFwKKyAgICAke21hbmRpcn0vbWFuMS9yZWluZGV4ZGIuKiAgJHttYW5kaXJ9L21hbjEvdmFjdXVtZGIuKiBcCisgICAgJHttYW5kaXJ9L21hbjcvKiBcCisiCitGSUxFU18ke1BOfS1kb2MgKz0gIiR7ZG9jZGlyfS8ke0JQTn0vaHRtbCAke2xpYmRpcn0vJHtCUE59L3R1dG9yaWFsLyBcCisgICAgJHttYW5kaXJ9L21hbjEvaW5pdGRiLiogJHttYW5kaXJ9L21hbjEvcGdfY29udHJvbGRhdGEuKiBcCisgICAgJHttYW5kaXJ9L21hbjEvcGdfY3RsLiogJHttYW5kaXJ9L21hbjEvcGdfcmVzZXR4bG9nLiogXAorICAgICR7bWFuZGlyfS9tYW4xL3Bvc3RncmVzLiogJHttYW5kaXJ9L21hbjEvcG9zdG1hc3Rlci4qIFwKKyIKK0ZJTEVTXyR7UE59LXRpbWV6b25lID0gIiR7ZGF0YWRpcn0vJHtCUE59L3RpbWV6b25lIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS90aW1lem9uZXNldHMgXAorIgorUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LXRpbWV6b25lIgorRklMRVNfJHtQTn0tc2VydmVyLWRldiA9ICIke2luY2x1ZGVkaXJ9LyR7QlBOfS9zZXJ2ZXIiCisKK0ZJTEVTX2xpYmVjcGcgPSAiJHtsaWJkaXJ9L2xpYmVjcGcqJHtTT0xJQlN9IgorRklMRVNfbGliZWNwZy1kYmcgPSAiJHtsaWJkaXJ9Ly5kZWJ1Zy9saWJlY3BnKiIKK0ZJTEVTX2xpYmVjcGctZGV2ID0gIiR7bGliZGlyfS9saWJlY3BnKiR7U09MSUJTREVWfSBcCisgICAgJHtsaWJkaXJ9L2xpYnBndHlwZXMqJHtTT0xJQlNERVZ9IFwKKyAgICAke2luY2x1ZGVkaXJ9L2VjcGcqLmggJHtpbmNsdWRlZGlyfS8ke0JQTn0vZWNwZyouaCBcCisgICAgJHtpbmNsdWRlZGlyfS9wZ3R5cGVzKi5oICR7aW5jbHVkZWRpcn0vJHtCUE59L2luZm9ybWl4IFwKKyAgICAke2luY2x1ZGVkaXJ9L3NxbDN0eXBlcy5oICR7aW5jbHVkZWRpcn0vc3FsY2EuaCBcCisiCitGSUxFU19saWJlY3BnLWRvYyA9ICIke21hbmRpcn0vbWFuMS9lY3BnLioiCitGSUxFU19saWJlY3BnLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGliZWNwZyouYSIKK1NFQ1RJT05fbGliZWNwZy1zdGF0aWNkZXYgPSAiZGV2ZWwiCitSREVQRU5EU19saWJlY3BnLXN0YXRpY2RldiA9ICJsaWJlY3BnLWRldiAoPSAke0VYVEVORFBLR1Z9KSIKKworRklMRVNfbGlicHEgPSAiJHtsaWJkaXJ9L2xpYnBxKiR7U09MSUJTfSIKK0ZJTEVTX2xpYnBxLWRiZyA9ICIke2xpYmRpcn0vLmRlYnVnL2xpYnBxKiAke2xpYmRpcn0vJHtCUE59L3BneHMvc3JjL3Rlc3QvcmVncmVzcy8uZGVidWcvKiIKK0ZJTEVTX2xpYnBxLWRldiA9ICIke2xpYmRpcn0vbGlicHEqJHtTT0xJQlNERVZ9IFwKKyAgICAke2luY2x1ZGVkaXJ9IFwKKyIKK0ZJTEVTX2xpYnBxLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlicHEqLmEgJHtsaWJkaXJ9L2xpYnBncG9ydC5hIgorU0VDVElPTl9saWJwcS1zdGF0aWNkZXYgPSAiZGV2ZWwiCitSREVQRU5EU19saWJwcS1zdGF0aWNkZXYgPSAibGlicHEtZGV2ICg9ICR7RVhURU5EUEtHVn0pIgorCitGSUxFU19saWJlY3BnLWNvbXBhdCA9ICIke2xpYmRpcn0vbGliZWNwZ19jb21wYXQqJHtTT0xJQlN9IgorRklMRVNfbGliZWNwZy1jb21wYXQtZGJnID0gIiR7bGliZGlyfS8uZGVidWcvbGliZWNwZ19jb21wYXQqIgorRklMRVNfbGliZWNwZy1jb21wYXQtZGV2ID0gIiR7bGliZGlyfS9saWJlY3BnX2NvbXBhdCoke1NPTElCU30iCitGSUxFU19saWJwZ3R5cGVzID0gIiR7bGliZGlyfS9saWJwZ3R5cGVzKiR7U09MSUJTfSIKK0ZJTEVTX2xpYnBndHlwZXMtZGJnID0gIiR7bGliZGlyfS8uZGVidWcvbGlicGd0eXBlcyoiCitGSUxFU19saWJwZ3R5cGVzLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlicGd0eXBlcyouYSIKK0ZJTEVTX2xpYnBndHlwZXMtZGV2ID0gIiR7bGliZGlyfS9saWJwZ3R5cGVzKiR7U09MSUJTfSAke2luY2x1ZGVkaXJ9L3BndHlwZXMqLmgiCisKK0ZJTEVTXyR7UE59LWNvbnRyaWIgPSAiICR7YmluZGlyfS9vaWQybmFtZSAke2JpbmRpcn0vcGdfc3RhbmRieSBcCisgICAgJHtiaW5kaXJ9L3BnYmVuY2ggJHtiaW5kaXJ9L3ZhY3V1bWxvIFwKKyAgICAke1N9L2NvbnRyaWIvc3BpLyouZXhhbXBsZSBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9faW50LnNvICR7bGliZGlyfS8ke0JQTn0vYWRtaW5wYWNrLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L2F1dG9pbmMuc28gJHtsaWJkaXJ9LyR7QlBOfS9hdXRvX2V4cGxhaW4uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vYXV0aF9kZWxheS5zbyAke2xpYmRpcn0vJHtCUE59L2J0cmVlX2dpbi5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9idHJlZV9naXN0LnNvICR7bGliZGlyfS8ke0JQTn0vLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L2Noa3Bhc3Muc28gJHtsaWJkaXJ9LyR7QlBOfS9jaXRleHQuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vY3ViZS5zbyAke2xpYmRpcn0vJHtCUE59L2RibGluay5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9kaWN0X2ludC5zbyAke2xpYmRpcn0vJHtCUE59L2RpY3RfeHN5bi5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9kdW1teV9zZWNsYWJlbC5zbyAke2xpYmRpcn0vJHtCUE59L2VhcnRoZGlzdGFuY2Uuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vZmlsZV9mZHcuc28gJHtsaWJkaXJ9LyR7QlBOfS9mdXp6eXN0cm1hdGNoLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L2hzdG9yZS5zbyAke2xpYmRpcn0vJHtCUE59L2luc2VydF91c2VybmFtZS5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9pc24uc28gJHtsaWJkaXJ9LyR7QlBOfS9sby5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9sdHJlZS5zbyAke2xpYmRpcn0vJHtCUE59L21vZGRhdGV0aW1lLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L3BhZ2VpbnNwZWN0LnNvICR7bGliZGlyfS8ke0JQTn0vcGdfYnVmZmVyY2FjaGUuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vcGdfZnJlZXNwYWNlbWFwLnNvICR7bGliZGlyfS8ke0JQTn0vcGdfdHJnbS5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9wZ2NyeXB0by5zbyAke2xpYmRpcn0vJHtCUE59L3Bncm93bG9ja3Muc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vcGdzdGF0dHVwbGUuc28gJHtsaWJkaXJ9LyR7QlBOfS9wZ19zdGF0X3N0YXRlbWVudHMuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vcmVmaW50LnNvICR7bGliZGlyfS8ke0JQTn0vc2VnLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L3NzbGluZm8uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vdGFibGVmdW5jLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L3Rlc3RfcGFyc2VyLnNvICR7bGliZGlyfS8ke0JQTn0vdGltZXRyYXZlbC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS90c2VhcmNoMi5zbyAke2xpYmRpcn0vJHtCUE59L3V1aWQtb3NzcC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS9wZ3htbC5zbyAke2xpYmRpcn0vJHtCUE59L3Bhc3N3b3JkY2hlY2suc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vcGdfdXBncmFkZV9zdXBwb3J0LnNvICR7bGliZGlyfS8ke0JQTn0vLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59L3VuYWNjZW50LnNvIFwKKyIKK0ZJTEVTXyR7UE59LWNvbnRyaWItZGJnID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvX2ludC5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9hZG1pbnBhY2suc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2F1dG9pbmMuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvYXV0b19leHBsYWluLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9hdXRoX2RlbGF5LnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2J0cmVlX2dpbi5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvYnRyZWVfZ2lzdC5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy8uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2Noa3Bhc3Muc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvY2l0ZXh0LnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9jdWJlLnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2RibGluay5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZGljdF9pbnQuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZGljdF94c3luLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9kdW1teV9zZWNsYWJlbC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZWFydGhkaXN0YW5jZS5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZmlsZV9mZHcuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvZnV6enlzdHJtYXRjaC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvaHN0b3JlLnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2luc2VydF91c2VybmFtZS5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvaXNuLnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL2xvLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9sdHJlZS5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9tb2RkYXRldGltZS5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGFnZWluc3BlY3Quc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3BnX2J1ZmZlcmNhY2hlLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wZ19mcmVlc3BhY2VtYXAuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3BnX3RyZ20uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3BnY3J5cHRvLnNvICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3Bncm93bG9ja3Muc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3Bnc3RhdHR1cGxlLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wZ19zdGF0X3N0YXRlbWVudHMuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3JlZmludC5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9zZWcuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3NzbGluZm8uc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3RhYmxlZnVuYy5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvdGVzdF9wYXJzZXIuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvdGltZXRyYXZlbC5zbyBcCisgICAgJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvdHNlYXJjaDIuc28gJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvdXVpZC1vc3NwLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wZ3htbC5zbyAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wYXNzd29yZGNoZWNrLnNvIFwKKyAgICAke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wZ191cGdyYWRlX3N1cHBvcnQuc28gXAorICAgICR7bGliZGlyfS8ke0JQTn0vLmRlYnVnL3VuYWNjZW50LnNvIFwKKyIKK0RFU0NSSVBUSU9OXyR7UE59LWNvbnRyaWIgPSAiVGhlIHBvc3RncmVzcWwtY29udHJpYiBwYWNrYWdlIGNvbnRhaW5zIFwKKyAgICBjb250cmlidXRlZCBwYWNrYWdlcyB0aGF0IGFyZSBpbmNsdWRlZCBpbiB0aGUgUG9zdGdyZVNRTCBkaXN0cmlidXRpb24uIgorCitGSUxFU18ke1BOfS1wbHRjbCA9ICIke2xpYmRpcn0vJHtCUE59L3BsdGNsLnNvICR7YmluZGlyfS9wbHRjbF9kZWxtb2QgXAorICAgICR7YmluZGRpcn0vcGx0Y2xfbGlzdG1vZCAke2JpbmRpcn0vcGx0Y2xfbG9hZG1vZCAgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59L3Vua25vd24ucGx0Y2wiCitGSUxFU18ke1BOfS1wbHRjbC1kYmcgPSAiJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGx0Y2wuc28iCitTVU1NQVJZXyR7UE59LXBsdGNsID0gIlRoZSBUY2wgcHJvY2VkdXJhbCBsYW5ndWFnZSBmb3IgUG9zdGdyZVNRTCIKK0RFU0NSSVBUSU9OXyR7UE59LXBsdGNsID0gIlBvc3RncmVTUUwgaXMgYW4gYWR2YW5jZWQgT2JqZWN0LVJlbGF0aW9uYWwgXAorICAgIGRhdGFiYXNlIG1hbmFnZW1lbnQgc3lzdGVtLiAgVGhlIHBvc3RncmVzcWwtcGx0Y2wgcGFja2FnZSBjb250YWlucyB0aGUgUEwvVGNsIFwKKyAgICBwcm9jZWR1cmFsIGxhbmd1YWdlIGZvciB0aGUgYmFja2VuZC4iCisKK0ZJTEVTXyR7UE59LXBscGVybCA9ICIke2xpYmRpcn0vJHtCUE59L3BscGVybC5zbyIKK0ZJTEVTXyR7UE59LXBscGVybC1kYmcgPSAiJHtsaWJkaXJ9LyR7QlBOfS8uZGVidWcvcGxwZXJsLnNvIgorU1VNTUFSWV8ke1BOfS1wbHBlcmwgPSAiVGhlIFBlcmwgcHJvY2VkdXJhbCBsYW5ndWFnZSBmb3IgUG9zdGdyZVNRTCIKK0RFU0NSSVBUSU9OXyR7UE59LXBscGVybCA9ICJQb3N0Z3JlU1FMIGlzIGFuIGFkdmFuY2VkIE9iamVjdC1SZWxhdGlvbmFsIFwKKyAgICBkYXRhYmFzZSBtYW5hZ2VtZW50IHN5c3RlbS4gIFRoZSBwb3N0Z3Jlc3FsLXBscGVybCBwYWNrYWdlIGNvbnRhaW5zIHRoZSBcCisgICAgUEwvUGVybCBwcm9jZWR1cmFsIGxhbmd1YWdlIGZvciB0aGUgYmFja2VuZC4iCisKKyMgSW4gdmVyc2lvbiA4LCBpdCB3aWxsIGJlIHBscHl0aG9uLnNvCisjIEluIHZlcnNpb24gOSwgaXQgbWlnaHQgYmUgcGxweXRob257MiwzfS5zbyBkZXBlbmRpbmcgb24gcHl0aG9uMiBvciAzCitGSUxFU18ke1BOfS1wbHB5dGhvbiA9ICIke2xpYmRpcn0vJHtCUE59L3BscHl0aG9uKi5zbyIKK0ZJTEVTXyR7UE59LXBscHl0aG9uLWRiZyA9ICIke2xpYmRpcn0vJHtCUE59Ly5kZWJ1Zy9wbHB5dGhvbiouc28iCitTVU1NQVJZXyR7UE59LXBscHl0aG9uID0gIlRoZSBQeXRob24gcHJvY2VkdXJhbCBsYW5ndWFnZSBmb3IgUG9zdGdyZVNRTCIKK0RFU0NSSVBUSU9OXyR7UE59LXBscHl0aG9uID0gIlBvc3RncmVTUUwgaXMgYW4gYWR2YW5jZWQgT2JqZWN0LVJlbGF0aW9uYWwgXAorICAgIGRhdGFiYXNlIG1hbmFnZW1lbnQgc3lzdGVtLiAgVGhlIHBvc3RncmVzcWwtcGxweXRob24gcGFja2FnZSBjb250YWlucyBcCisgICAgdGhlIFBML1B5dGhvbiBwcm9jZWR1cmFsIGxhbmd1YWdlIGZvciB0aGUgYmFja2VuZC4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvcG9zdGdyZXNxbF85LjQuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsXzkuNC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0YjY2MGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Bvc3RncmVzcWwvcG9zdGdyZXNxbF85LjQuNS5iYgpAQCAtMCwwICsxLDE0IEBACityZXF1aXJlIHBvc3RncmVzcWwuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9N2Q4NDdhOWI0NDZkZGZlMTg3YWNmYWM2NjQxODk2NzIiCisKK1BSID0gIiR7SU5DX1BSfS4wIgorCitTUkNfVVJJICs9ICJcCisgICAgZmlsZTovL3JlbW92ZS5hdXRvY29uZi52ZXJzaW9uLmNoZWNrLnBhdGNoIFwKKyAgICBmaWxlOi8vbm90LWNoZWNrLWxpYnBlcmwucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGIyZTM0NzJhOGRjNzg2NjQ5YjRkMDJkMDJlMDM5YTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjg3YzUwYzY2YjZlYTQyYTk3MTJiNWY2Mjg0Nzk0ZmFiYWQwNjE2ZTZhZTQyMGNmMGYxMDUyM2JlNmQ5NGEzOSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcHMtdG9vbHMvcHBzLXRvb2xzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHBzLXRvb2xzL3Bwcy10b29sc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzNjNDZlZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHBzLXRvb2xzL3Bwcy10b29sc19naXQuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJVc2VyLXNwYWNlIHRvb2xzIGZvciBMaW51eFBQUyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitQViA9ICIwLjAuMCtnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICIwZGViOWM3ZTEzNWU5MzgwYTZkMDllOWQyZTkzOGExNDZiYjY5OGM4IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2Fnby9wcHMtdG9vbHMuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsKCkgeworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0gJHtEfSR7aW5jbHVkZWRpcn0gXAorICAgICAgICAgICAgICAgICAgICR7RH0ke2luY2x1ZGVkaXJ9L3N5cworICAgICAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tZml4LWNvbXBpbGUtZXJyb3JzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcm9jbWFpbC9wcm9jbWFpbC9mcm9tLWRlYmlhbi10by1maXgtY29tcGlsZS1lcnJvcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODM0MWE4ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tZml4LWNvbXBpbGUtZXJyb3JzLnBhdGNoCkBAIC0wLDAgKzEsNjA2IEBACitGcm9tIDg5OGU5NTE0YmM4ODliNGE1NDBmNjY3ZWZlZDk1YTVhZjEwMWM4MjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBUdWUsIDIgRGVjIDIwMTQgMDc6MDA6MzYgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCAxLzNdIEZyb20gZGViaWFuIHRvIGZpeCBjb21waWxlIGVycm9ycworCitTaWduZWQtb2ZmLWJ5OiBMaSBYaW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CistLS0KKyBzcmMvTWFrZWZpbGUuMCAgfCAgNyArKystLS0tCisgc3JjL2F1dG9jb25mICAgIHwgNjQgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvY29tc2F0LmMgICAgfCA2NSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvZmllbGRzLmMgICAgfCAgNiArKystLS0KKyBzcmMvZm9sZGluZm8uaCAgfCAgMiArLQorIHNyYy9mb3JtYWlsLmMgICB8ICA2ICsrKy0tLQorIHNyYy9mb3JtaXNjLmMgICB8ICAyICstCisgc3JjL2Zvcm1pc2MuaCAgIHwgIDIgKy0KKyBzcmMvbWFpbGZvbGQuYyAgfCAxNCArKysrKysrKysrLS0tCisgc3JjL21hbmNvbmYuYyAgIHwgIDIgKy0KKyBzcmMvbWVtYmxrLmMgICAgfCAyNCArKysrKysrKysrLS0tLS0tLS0tLS0KKyBzcmMvbWVtYmxrLmggICAgfCAgMiArLQorIHNyYy9uZXR3b3JrLmggICB8IDEwICsrLS0tLS0tLQorIHNyYy9waXBlcy5jICAgICB8IDEwICsrKystLS0tLQorIHNyYy9wcm9jbWFpbC5jICB8ICAzICstLQorIHNyYy9yZWNvbW1lbmQuYyB8ICAyICstCisgMTYgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKSwgMTQwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLjAgYi9zcmMvTWFrZWZpbGUuMAoraW5kZXggNmViNWI1MS4uMTVhMjAzOSAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZS4wCisrKysgYi9zcmMvTWFrZWZpbGUuMAorQEAgLTQwLDcgKzQwLDcgQEAgbXVsdGlncmFtOiBtdWx0aWdyYW0uJChPKSAkKE1HX09CSikgc2V0aWQKKyAJQGNkIC4uOyAkKE1BS0UpIGNvbmZpZy5jaGVjaworIAorIF9hdXRvdHN0OiBfYXV0b3RzdC4kKE8pIHN1YmxpYi5jIHN1YmxpYi5oCistCSQoQ0MpICQoQ0ZMQUdTKSAkQC4kKE8pIC1vICRAICQoTERGTEFHUykKKysJZ2NjICRALiQoTykgLW8gJEAgJChMREZMQUdTKQorIAorIC4uL2F1dG9jb25mLmg6IGF1dG9jb25mIE1ha2VmaWxlIC4uL3BhdGNobGV2ZWwuaAorIAlAZWNobyBObyB0aGlzIHdhcyBub3QgbWFrZSAtbiA+bWFrZV9uCitAQCAtMTc1LDE3ICsxNzUsMTYgQEAgcmVjb21tZW5kOiByZWNvbW1lbmQuJChPKSBzdWJsaWIuJChPKQorIAorIC4uL21hbi9tYW4uc2VkOiBtYW5jb25mLmMgLi4vYXV0b2NvbmYuaCAuLi9jb25maWcuaCBpbmNsdWRlcy5oIHByb2NtYWlsLmgKKyAuLi9tYW4vbWFuLnNlZDogLi4vcGF0Y2hsZXZlbC5oCistCUAkKENDKSAkKENGTEFHUykgIi1EQklORElSPVwiJChWSVNJQkxFX0JJTkRJUilcIiIgLW8gX2F1dG90c3QgXAorKwlnY2MgIi1EQklORElSPVwiJChWSVNJQkxFX0JJTkRJUilcIiIgLW8gX2F1dG90c3QgXAorICBtYW5jb25mLmMgJChMREZMQUdTKQorIAlALi9fYXV0b3RzdCAkQAorIAlAZWNobyBIb3VzZWtlZXBpbmcgZmlsZSA+JEAKKy0JQCQoUk0pIF9hdXRvdHN0CisgCisgY2xlYW46CisgCSQoUk0pIC1yIF9sb2NrdGVzdAorIAkkKFJNKSBwcm9jbWFpbC4kKE8pICQoUE1fT0JKKSBsb2NrZmlsZS4kKE8pICQoTEZfT0JKKSBmb3JtYWlsLiRPIFwKKyAgJChGTV9PQkopIG11bHRpZ3JhbS4kKE8pICQoTUdfT0JKKSAkKEJJTlNTKSBtdWx0aWdyYW0gLi4vYXV0b2NvbmYuaCBcCistIF9hdXRvdHN0KiBsb29rZm9yIF9sb2NrdHN0KiBncmVwZm9yIHJlY29tbWVuZCByZWNvbW1lbmQuJChPKSBtYW5jb25mIFwKKysgIGxvb2tmb3IgX2xvY2t0c3QqIGdyZXBmb3IgcmVjb21tZW5kIHJlY29tbWVuZC4kKE8pIG1hbmNvbmYgXAorICBfTWFrZWZpbGUgbG9jay5sb2cgKmNvcmUqIHRhcmdldGRpci5oIHNldGlkIHNldGlkLiQoTykgZ2V0aG9tZSBcCisgIGdldGhvbWUuJChPKSBtYWtlX24gcmVhbGxvYy5sb2cKKyAKK2RpZmYgLS1naXQgYS9zcmMvYXV0b2NvbmYgYi9zcmMvYXV0b2NvbmYKK2luZGV4IDFjYjRjNDIuLmZmNzgwNDggMTAwNzU1CistLS0gYS9zcmMvYXV0b2NvbmYKKysrKyBiL3NyYy9hdXRvY29uZgorQEAgLTY4LDggKzY4LDYgQEAKKyAjCSNkZWZpbmUgTk9mc3luYworICNPawkjZGVmaW5lIGVuZHB3ZW50KCkKKyAjT2sJI2RlZmluZSBlbmRncmVudCgpCistI09rCSNkZWZpbmUgZW5kaG9zdGVudCgpCistI09rCSNkZWZpbmUgZW5kc2VydmVudCgpCisgI09rCSNkZWZpbmUgZW5kcHJvdG9lbnQoKQorICMJI2RlZmluZSBoXzBhZGRyX2xpc3QgaF9hZGRyCisgI09rCSNkZWZpbmUgTk9wd19wYXNzd2QKK0BAIC04OTYsNyArODk0LDcgQEAgaW50IG1haW4oKXtpbnQgaT0wOworICB7dWlkX3QgdnVpZF90O2krPXZ1aWRfdD0xO30KKyAge2dpZF90IHZnaWRfdDtpKz12Z2lkX3Q9MTt9CisgI2lmbmRlZiBOT19DT01TQVQKKy0ge3N0cnVjdCBob3N0ZW50IHZob3N0ZW50O2krPSEodmhvc3RlbnQuaF9hZGRyX2xpc3Q9MCk7fQorKyB7c3RydWN0IGFkZHJpbmZvIHJlczsgaSs9IShyZXMuYWlfc29ja3R5cGU9MCk7fQorICNlbmRpZgorICNpZm5kZWYgTk91bmFtZQorICB7c3RydWN0IHV0c25hbWUgdnV0c25hbWU7aSs9ISgqdnV0c25hbWUubm9kZW5hbWU9J1wwJyk7fQorQEAgLTkxNyw4ICs5MTUsNiBAQCBkbworICAgdGVzdCAteiAiJGkzIiAmJiBncmVwZm9yIG1vZGVfdCAndHlwZWRlZiBpbnQgbW9kZV90OycgJiYgaTM9SQorICAgdGVzdCAteiAiJGk0IiAmJiBncmVwZm9yIHVpZF90ICd0eXBlZGVmIGludCB1aWRfdDsnICYmIGk0PUkKKyAgIHRlc3QgLXogIiRpNSIgJiYgZ3JlcGZvciBnaWRfdCAndHlwZWRlZiBpbnQgZ2lkX3Q7JyAmJiBpNT1JCistICB0ZXN0IC16ICIkaTYiICYmIGdyZXBmb3IgaF9hZGRyX2xpc3QgJyNkZWZpbmUgaF8wYWRkcl9saXN0IGhfYWRkcicgJiYgaTY9SQorLSAgdGVzdCAteiAiJGk2IiAmJiBncmVwZm9yIGhvc3RlbnQgJyNkZWZpbmUgaF8wYWRkcl9saXN0IGhfYWRkcicgJiYgaTY9SQorICAgdGVzdCAteiAiJGk2IiAmJiBncmVwZm9yIG1lbWJlciAnI2RlZmluZSBoXzBhZGRyX2xpc3QgaF9hZGRyJyAmJiBpNj1JCisgICB0ZXN0IC16ICIkaTciICYmIGdyZXBmb3IgdXRzbmFtZSAiI2RlZmluZSBOT3VuYW1lCQkJICAgICAgXAorIC8qIDxzeXMvdXRzbmFtZS5oPiBpcyB0aGVyZSwgYnV0IGVtcHR5ICovIiAmJiBpNz1JCitAQCAtMTA0OCw4ICsxMDQ0LDEyIEBAIGludCBtYWluKCl7Y2hhciBhWzJdOworICB7c3RydWN0IHV0c25hbWUgYjt1bmFtZSgmYik7fQorICNlbmRpZgorICNpZm5kZWYgTk9fQ09NU0FUCistIGdldGhvc3RieW5hbWUoIjAiKTtnZXRwcm90b2J5bmFtZShDT01TQVRwcm90b2NvbCk7ZW5kaG9zdGVudCgpO2VuZHNlcnZlbnQoKTsKKy0gZW5kcHJvdG9lbnQoKTsKKysgeworKyBzdHJ1Y3QgYWRkcmluZm8gKnJlcywgaGludHM7CisrIG1lbXNldCgmaGludHMsICdcMCcsIHNpemVvZihoaW50cykpOworKyBpZihnZXRhZGRyaW5mbyhDT01TQVRob3N0LEJJRkZfc2VydmljZXBvcnQsJmhpbnRzLCZyZXMpKQorKyAJZnJlZWFkZHJpbmZvKHJlcyk7CisrIH0KKyAjZW5kaWYKKyAgX2V4aXQoMCk7CisgIHJldHVybiAwO30KK0BAIC0xMTAzLDE0ICsxMTAzLDkgQEAgZ3JlcGZvciB1bmFtZSAiXAorIC8qIDxzeXMvdXRzbmFtZS5oPiBkZWZpbmVzIGl0LCB0aGUgbGlicmFyaWVzIGRvbid0ICovIgorIGdyZXBmb3IgZW5kcHdlbnQgJyNkZWZpbmUgZW5kcHdlbnQoKScKKyBncmVwZm9yIGVuZGdyZW50ICcjZGVmaW5lIGVuZGdyZW50KCknCistaWYgZ3JlcGZvciBnZXRob3N0YnluYW1lICcjZGVmaW5lIE5PX0NPTVNBVCcKKytpZiBncmVwZm9yIGdldGFkZHJpbmZvICcjZGVmaW5lIE5PX0NPTVNBVCcKKyB0aGVuCisgOgorLWVsc2UKKy0gIGdyZXBmb3IgZ2V0cHJvdG9ieW5hbWUgJyNkZWZpbmUgVURQX3Byb3RvY29sbm8gMTcnCistICBncmVwZm9yIGVuZGhvc3RlbnQgJyNkZWZpbmUgZW5kaG9zdGVudCgpJworLSAgZ3JlcGZvciBlbmRzZXJ2ZW50ICcjZGVmaW5lIGVuZHNlcnZlbnQoKScKKy0gIGdyZXBmb3IgZW5kcHJvdG9lbnQgJyNkZWZpbmUgZW5kcHJvdG9lbnQoKScKKyBmaQorIGdyZXBmb3Igc3Ryc3RyICcjZGVmaW5lIFNMT1dzdHJzdHInIHx8CisgIGdyZXBmb3IgY2xvY2sgJyNkZWZpbmUgU0xPV3N0cnN0cicKK0BAIC0xMjM5LDM5ICsxMjM0LDkgQEAgaW50IG1haW4oYXJnYyxhcmd2KWludCBhcmdjO2NvbnN0IGNoYXIqYXJndltdOworIAlwcmludGYoIi8qIEluc3VmZmljaWVudCBtZW1vcnkgdG8gcGVyZm9ybSB0aGUgYmVuY2htYXJrISAqL1xuIik7CisgI2VuZGlmIC8qIFNMT1dzdHJzdHIgKi8KKyAjaWZuZGVmIE5PX0NPTVNBVAorLSNpZm5kZWYgVURQX3Byb3RvY29sbm8KKy0gICAgIDt7IGNvbnN0IHN0cnVjdCBwcm90b2VudCpwOworLQlpZihwPWdldHByb3RvYnluYW1lKENPTVNBVHByb3RvY29sKSkKKy0JIHsgcHJpbnRmKCIjZGVmaW5lIFVEUF9wcm90b2NvbG5vICVkXG4iLHAtPnBfcHJvdG8pOworLSNlbHNlCistICAgICA7eyBpZigxKQorLQkgeworLSNlbmRpZgorLQkgICA7eyBjb25zdCBzdHJ1Y3Qgc2VydmVudCpzZXJ2OworLQkgICAgICBpZihzZXJ2PWdldHNlcnZieW5hbWUoQ09NU0FUc2VydmljZSxDT01TQVRwcm90b2NvbCkpCistCQkgcHJpbnRmKCIjZGVmaW5lIEJJRkZfc2VydmljZXBvcnQgXCIlZFwiXG4iLAorLQkJICBudG9ocyhzZXJ2LT5zX3BvcnQpKTsKKy0JICAgIH0KKy0jaWZkZWYgQUZfSU5FVAorLQkgICA7eyBjb25zdCBzdHJ1Y3QgaG9zdGVudCpob3N0OworLQkgICAgICBpZighc3RyY21wKCJsb2NhbGhvc3QiLENPTVNBVGhvc3QpJiYKKy0JICAgICAgIChob3N0PWdldGhvc3RieW5hbWUoQ09NU0FUaG9zdCkpJiYKKy0JICAgICAgIGhvc3QtPmhfMGFkZHJfbGlzdCYmaG9zdC0+aF9hZGRydHlwZT09QUZfSU5FVCYmCistCSAgICAgICBob3N0LT5oX2xlbmd0aCkKKy0JICAgICAgIHsgaW50IGo9aG9zdC0+aF9sZW5ndGg7CistCQkgY29uc3QgdW5zaWduZWQgY2hhciphZD0odm9pZCopaG9zdC0+aF8wYWRkcl9saXN0OworLQkJIHByaW50ZigiI2RlZmluZSBJUF9sb2NhbGhvc3QgeyIpOworLQkJIHByaW50ZigiJWQiLCphZCsrKTsKKy0JCSB3aGlsZSgtLWopCistCQkgICAgcHJpbnRmKCIsJWQiLCphZCsrKTsKKy0JCSBwdXRzKCJ9Iik7CistCSAgICAgICB9CistCSAgICB9CisrI2lmbmRlZiBBRl9JTkVUCisrCXB1dHMoIiNkZWZpbmUgTk9fQ09NU0FUIik7CisgI2VuZGlmIC8qIEFGX0lORVQgKi8KKy0JIH0KKy0JZWxzZQorLQkgICBwdXRzKCIjZGVmaW5lIE5PX0NPTVNBVCIpOworLSAgICAgIH0KKyAjZW5kaWYgLyogTk9fQ09NU0FUICovCisgICAgICA7eyB1bnNpZ25lZCBsb25nIHM9KHNpemVfdCl+MDtpbnQgYml0czsKKyAJZm9yKGJpdHM9MTtzPj49MTtiaXRzKyspOworQEAgLTE0NzAsMTUgKzE0MzUsMTQgQEAgY2F0IC91c3IvbGliL3NlbmRtYWlsLmNmIC9ldGMvc2VuZG1haWwuY2YgL2V0Yy9tYWlsL3NlbmRtYWlsLmNmIDI+JERFVk5VTEwgfAorICBncmVwICdNbG9jYWwuKnByb2NtYWlsJyA+JERFVk5VTEwgfHwKKyAgZWNobyAnI2RlZmluZSBDRl9ub19wcm9jbWFpbF95ZXQnID4+JEFDT05GCisgCistY2F0IC91c3IvbGliL3NlbmRtYWlsLmNmIC9ldGMvc2VuZG1haWwuY2YgL2V0Yy9tYWlsL3NlbmRtYWlsLmNmIDI+JERFVk5VTEwgfAorLSBncmVwICdeVicgPiRERVZOVUxMIHx8CistIGVjaG8gJyNkZWZpbmUgYnVnZ3lfU0VORE1BSUwnID4+JEFDT05GCisrIyBjYXQgL3Vzci9saWIvc2VuZG1haWwuY2YgL2V0Yy9zZW5kbWFpbC5jZiAvZXRjL21haWwvc2VuZG1haWwuY2YgMj4kREVWTlVMTCB8CisrIyAgZ3JlcCAnXlYnID4kREVWTlVMTCB8fAorKyMgIGVjaG8gJyNkZWZpbmUgYnVnZ3lfU0VORE1BSUwnID4+JEFDT05GCisgCisgbHBhdGg9Jy9iaW4nCisgYmlucz0iL2JpbiIKKyAKKy1mb3IgbmV3ZCBpbiAvdXNyL2JpbiAvdXNyL3VjYiAvdXNyLzViaW4gJEJJTkRJUiAvbG9jYWwvYmluIC91c3IvbG9jYWwvYmluIFwKKy0gL2dsb2JhbC9iaW4gL3Vzci9iaW4vWDExIC91c3IvWCovYmluCisrZm9yIG5ld2QgaW4gL3Vzci9iaW4gJEJJTkRJUiAvdXNyL2Jpbi9YMTEgL3Vzci9YKi9iaW4KKyBkbworICAgaWYgdGVzdCAtZCAkbmV3ZAorICAgdGhlbgorZGlmZiAtLWdpdCBhL3NyYy9jb21zYXQuYyBiL3NyYy9jb21zYXQuYworaW5kZXggNzdkYmEzNC4uNTA4MmIxNiAxMDA2NDQKKy0tLSBhL3NyYy9jb21zYXQuYworKysrIGIvc3JjL2NvbXNhdC5jCitAQCAtMjcsNyArMjcsOCBAQCBzdGF0aWMgLypjb25zdCovY2hhciByY3NpZFtdPQorICNpbmNsdWRlICJjb21zYXQuaCIKKyAKKyBzdGF0aWMgaW50IGNzdmFsaWQ7CQkgICAgIC8qIGlzIGl0IHR1cm5lZCBvbiB3aXRoIGEgZ29vZCBhZGRyZXNzPyAqLworLXN0YXRpYyBzdHJ1Y3Qgc29ja2FkZHJfaW4gY3NhZGRyOworK3N0YXRpYyBzdHJ1Y3QgYWRkcmluZm8gY2FpOworK3N0YXRpYyBzdHJ1Y3Qgc29ja2FkZHIgKmNzYWRkcjsKKyBzdGF0aWMgY2hhcipjc2xhc3RmLCpjc2xnbmFtZTsKKyAKKyB2b2lkIHNldGxmY3MoZm9sZGVyKWNvbnN0IGNoYXIqZm9sZGVyOwkJLyogc2V0IGxhc3Rmb2xkZXIgZm9yIGNvbXNhdCAqLworQEAgLTYyLDU2ICs2MywzMiBAQCB2b2lkIHNldGxnY3MobmFtZSljb25zdCBjaGFyKm5hbWU7CQkgICAvKiBzZXQgbG9nbmFtZSBmb3IgY29tc2F0ICovCisgfQorIAorIGludCBzZXRjb21zYXQoY2hwKWNvbnN0IGNoYXIqY2hwOworLXsgY2hhcipjaGFkO2ludCBuZXd2YWxpZDsgc3RydWN0IHNvY2thZGRyX2luIG5ld2FkZHI7CisreyBjaGFyKmNoYWQ7aW50IG5ld3ZhbGlkOyBzdHJ1Y3QgYWRkcmluZm8gKnJlcywgaGludHM7CisgICBjaGFkPXN0cmNocihjaHAsU0VSVl9BRERSc2VwKTsJCQkgICAgIC8qIEAgc2VwYXJhdG9yPyAqLworICAgaWYoIWNoYWQmJiFyZW52aW50KC0xTCxjaHApKQorICAgICAgcmV0dXJuIGNzdmFsaWQ9MDsJCQkJCS8qIHR1cm5lZCBvZmYgY29tc2F0ICovCisgICBuZXd2YWxpZD0xOworICAgaWYoY2hhZCkKKyAgICAgICpjaGFkKys9J1wwJzsJCQkJICAgICAgLyogc3BsaXQgdGhlIHNwZWNpZmllciAqLworKyAgaWYoIWNoYWR8fCEqY2hwKQkJCQkJICAgICAgIC8qIG5vIHNlcnZpY2UgKi8KKysgICAgIGNocD1CSUZGX3NlcnZpY2Vwb3J0OwkJCQkvKiBuZXcgYmFsbHMgcGxlYXNlISAqLworICAgaWYoIWNoYWR8fCEqY2hhZCkJCQkJCQkgIC8qIG5vIGhvc3QgKi8KKy0jaWZuZGVmIElQX2xvY2FsaG9zdAkJCSAgICAgIC8qIElzICJsb2NhbGhvc3QiIHByZXJlc29sdmVkPyAqLworICAgICAgY2hhZD1DT01TQVRob3N0OwkJCQkJLyogbm9wZSwgdXNlIGRlZmF1bHQgKi8KKy0jZWxzZSAvKiBJUF9sb2NhbGhvc3QgKi8KKy0gICB7IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGlwX2xvY2FsaG9zdFtdPUlQX2xvY2FsaG9zdDsKKy0gICAgIG5ld2FkZHIuc2luX2ZhbWlseT1BRl9JTkVUOworLSAgICAgdG1lbW1vdmUoJm5ld2FkZHIuc2luX2FkZHIsaXBfbG9jYWxob3N0LHNpemVvZiBpcF9sb2NhbGhvc3QpOworLSAgIH0KKy0gIGVsc2UKKy0jZW5kaWYgLyogSVBfbG9jYWxob3N0ICovCistICAgeyBjb25zdCBzdHJ1Y3QgaG9zdGVudCpob3N0OwkJICAgICAgLyogd2hhdCBob3N0PyAgcGFyYW5vaWQgY2hlY2tzICovCistICAgICBpZighKGhvc3Q9Z2V0aG9zdGJ5bmFtZShjaGFkKSl8fCFob3N0LT5oXzBhZGRyX2xpc3QpCistICAgICAgeyBiYnplcm8oJm5ld2FkZHIuc2luX2FkZHIsc2l6ZW9mIG5ld2FkZHIuc2luX2FkZHIpOworLQluZXd2YWxpZD0wOwkJCSAgICAgLyogaG9zdCBjYW4ndCBiZSBmb3VuZCwgdG9vIGJhZCAqLworLSAgICAgIH0KKy0gICAgIGVsc2UKKy0gICAgICB7IG5ld2FkZHIuc2luX2ZhbWlseT1ob3N0LT5oX2FkZHJ0eXBlOwkgICAgIC8qIGFkZHJlc3MgbnVtYmVyIGZvdW5kICovCistCXRtZW1tb3ZlKCZuZXdhZGRyLnNpbl9hZGRyLGhvc3QtPmhfMGFkZHJfbGlzdCxob3N0LT5oX2xlbmd0aCk7CistICAgICAgfQorLSAgICAgZW5kaG9zdGVudCgpOworLSAgIH0KKy0gIGlmKG5ld3ZhbGlkKQkJCQkJCSAgLyogc28gZmFyLCBzbyBnb29kICovCistICAgeyBpbnQgczsKKy0gICAgIGlmKCEqY2hwKQkJCQkJCSAgICAgICAvKiBubyBzZXJ2aWNlICovCistCWNocD1CSUZGX3NlcnZpY2Vwb3J0OwkJCQkvKiBuZXcgYmFsbHMgcGxlYXNlISAqLworLSAgICAgcz1zdHJ0b2woY2hwLCZjaGFkLDEwKTsKKy0gICAgIGlmKGNocCE9Y2hhZCkJCQkgICAgICAgLyogdGhlIHNlcnZpY2UgaXMgbm90IG51bWVyaWMgKi8KKy0JbmV3YWRkci5zaW5fcG9ydD1odG9ucygoc2hvcnQpcyk7CQkgICAgLyogbmV0d29yayBvcmRlciAqLworLSAgICAgZWxzZQorLSAgICAgIHsgY29uc3Qgc3RydWN0IHNlcnZlbnQqc2VydjsKKy0Jc2Vydj1nZXRzZXJ2YnluYW1lKGNocCxDT01TQVRwcm90b2NvbCk7CQkgICAvKiBzbyBnZXQgaXRzIG5vLiAqLworLQlpZihzZXJ2KQorLQkgICBuZXdhZGRyLnNpbl9wb3J0PXNlcnYtPnNfcG9ydDsKKy0JZWxzZQorLQkgeyBuZXdhZGRyLnNpbl9wb3J0PWh0b25zKChzaG9ydCkwKTsJCSAgLyogbm8gc3VjaCBzZXJ2aWNlICovCistCSAgIG5ld3ZhbGlkPTA7CistCSB9CistCWVuZHNlcnZlbnQoKTsKKy0gICAgICB9CistICAgfQorKyAgYnplcm8oJmhpbnRzLHNpemVvZihoaW50cykpOworKyAgaGludHMuYWlfc29ja3R5cGU9U09DS19ER1JBTTsKKysgIGhpbnRzLmFpX2ZsYWdzPUFJX0FERFJDT05GSUc7CisrICBpZihnZXRhZGRyaW5mbyhjaGFkLGNocCwmaGludHMsJnJlcykpCisrICAgICBuZXd2YWxpZD0wOworKyAgCisgICBvbmd1YXJkKCk7CQkJCSAgICAvKiB1cGRhdGUgdGhlIGFkZHJlc3MgYXRvbWljYWxseSAqLworICAgaWYoY3N2YWxpZD1uZXd2YWxpZCkKKy0gICAgIHRtZW1tb3ZlKCZjc2FkZHIsJm5ld2FkZHIsc2l6ZW9mKG5ld2FkZHIpKTsKKysgICB7IGlmKGNzYWRkcikKKysgICAgICAgIGZyZWUoY3NhZGRyKTsKKysgICAgIGNzYWRkcj1tYWxsb2MocmVzLT5haV9hZGRybGVuKTsKKysgICAgIHRtZW1tb3ZlKGNzYWRkcixyZXMtPmFpX2FkZHIscmVzLT5haV9hZGRybGVuKTsKKysgICAgIHRtZW1tb3ZlKCZjYWkscmVzLHNpemVvZihjYWkpKTsKKysgICAgIGZyZWVhZGRyaW5mbyhyZXMpOworKyAgIH0KKyAgIG9mZmd1YXJkKCk7CisgICByZXR1cm4gbmV3dmFsaWQ7CisgfQorQEAgLTEyMCw3ICs5Nyw3IEBAIHZvaWQgc2VuZGNvbXNhdChmb2xkZXIpY29uc3QgY2hhcipmb2xkZXI7CisgeyBpbnQgcztjb25zdCBjaGFyKnA7CisgICBpZighY3N2YWxpZHx8IWJ1ZikJCSAgLyogaXMgY29tYXQgb24gYW5kIHNldCB0byBhIHZhbGlkIGFkZHJlc3M/ICovCisgICAgICByZXR1cm47CistICBpZighKmNzbGduYW1lfHxzdHJsZW4oY3NsZ25hbWUpKzI+bGluZWJ1ZikJICAgICAgIC8qIGlzICRMT0dOQU1FIGJvZ3VzPyAqLworKyAgaWYoIWNzbGduYW1lfHwhKmNzbGduYW1lfHxzdHJsZW4oY3NsZ25hbWUpKzI+bGluZWJ1ZikvKiBpcyAkTE9HTkFNRSBib2d1cz8gKi8KKyAgICAgIHJldHVybjsKKyAgIGlmKCEocD1mb2xkZXI/Zm9sZGVyOmNzbGFzdGYpKQkJICAgICAvKiBkbyB3ZSBoYXZlIGEgZm9sZGVyPyAqLworICAgICAgcmV0dXJuOworQEAgLTEzMiw4ICsxMDksOCBAQCB2b2lkIHNlbmRjb21zYXQoZm9sZGVyKWNvbnN0IGNoYXIqZm9sZGVyOworICAgIH0KKyAgIHN0cmxjYXQoYnVmLENPTVNBVHh0cnNlcCxsaW5lYnVmKTsJCQkgLyogY3VzdG9tIHNlcGVyYXRvciAqLworICAgc3RybGNhdChidWYscCxsaW5lYnVmKTsJCQkgIC8qIHdoZXJlIHdhcyBpdCBkZWxpdmVyZWQ/ICovCistICBpZigocz1zb2NrZXQoQUZfSU5FVCxTT0NLX0RHUkFNLFVEUF9wcm90b2NvbG5vKSk+PTApCistICAgeyBzZW5kdG8ocyxidWYsc3RybGVuKGJ1ZiksMCwoc3RydWN0IHNvY2thZGRyKikmY3NhZGRyLHNpemVvZihjc2FkZHIpKTsKKysgIGlmKChzPXNvY2tldChjYWkuYWlfZmFtaWx5LGNhaS5haV9zb2NrdHlwZSxjYWkuYWlfcHJvdG9jb2wpKT49MCkKKysgICB7IHNlbmR0byhzLGJ1ZixzdHJsZW4oYnVmKSwwLGNzYWRkcixjYWkuYWlfYWRkcmxlbik7CisgICAgICByY2xvc2Uocyk7CisgICAgICB5ZWxsKCJOb3RpZmllZCBjb21zYXQ6IixidWYpOworICAgIH0KK2RpZmYgLS1naXQgYS9zcmMvZmllbGRzLmMgYi9zcmMvZmllbGRzLmMKK2luZGV4IGEyYmQ3N2YuLjM3ZWQxNTQgMTAwNjQ0CistLS0gYS9zcmMvZmllbGRzLmMKKysrKyBiL3NyYy9maWVsZHMuYworQEAgLTExMCwxNiArMTEwLDE2IEBAIHZvaWQgZGlzcGZpZWxkKHApcmVnaXN0ZXIgY29uc3Qgc3RydWN0IGZpZWxkKnA7CisgCQkgICAgLyogdHJ5IGFuZCBhcHBlbmQgb25lIHZhbGlkIGZpZWxkIHRvIHJkaGVhZGVyIGZyb20gc3RkaW4gKi8KKyBpbnQgcmVhZGhlYWQgUCgodm9pZCkpCisgeyBpbnQgaWRsZW47CistICBnZXRsaW5lKCk7CisrICBnZXRfbGluZSgpOworICAgaWYoKGlkbGVuPWJyZWFrZmllbGQoYnVmLGJ1ZmZpbGxlZCkpPD0wKSAvKiBub3QgdGhlIHN0YXJ0IG9mIGEgdmFsaWQgZmllbGQgKi8KKyAgICAgIHJldHVybiAwOworICAgaWYoaWRsZW49PVNUUkxFTihGUk9NKSYmZXFGcm9tXyhidWYpKQkJCS8qIGl0J3MgYSBGcm9tXyBsaW5lICovCisgICAgeyBpZihyZGhlYWRlcikKKyAJcmV0dXJuIDA7CQkJICAgICAgIC8qIHRoZSBGcm9tXyBsaW5lIHdhcyBhIGZha2UhICovCistICAgICBmb3IoO2J1Zmxhc3Q9PSc+JztnZXRsaW5lKCkpOwkgICAgLyogZ2F0aGVyIGNvbnRpbnVlZCA+RnJvbV8gbGluZXMgKi8KKysgICAgIGZvcig7YnVmbGFzdD09Jz4nO2dldF9saW5lKCkpOwkgICAgLyogZ2F0aGVyIGNvbnRpbnVlZCA+RnJvbV8gbGluZXMgKi8KKyAgICB9CisgICBlbHNlCistICAgICBmb3IoOztnZXRsaW5lKCkpCQkgICAgICAvKiBnZXQgdGhlIHJlc3Qgb2YgdGhlIGNvbnRpbnVlZCBmaWVsZCAqLworKyAgICAgZm9yKDs7Z2V0X2xpbmUoKSkJCSAgICAgIC8qIGdldCB0aGUgcmVzdCBvZiB0aGUgY29udGludWVkIGZpZWxkICovCisgICAgICAgeyBzd2l0Y2goYnVmbGFzdCkJCQkgICAgIC8qIHdpbGwgdGhpcyBsaW5lIGJlIGNvbnRpbnVlZD8gKi8KKyAJIHsgY2FzZSAnICc6Y2FzZSAnXHQnOgkJCQkgIC8qIHllcCwgaXQgc3VyZSBpcyAqLworIAkgICAgICBjb250aW51ZTsKK2RpZmYgLS1naXQgYS9zcmMvZm9sZGluZm8uaCBiL3NyYy9mb2xkaW5mby5oCitpbmRleCA5ZTRlYmI2Li43OTdmOWJlIDEwMDY0NAorLS0tIGEvc3JjL2ZvbGRpbmZvLmgKKysrKyBiL3NyYy9mb2xkaW5mby5oCitAQCAtMTAsNyArMTAsNyBAQAorIAorICNkZWZpbmUgZnRfbG9jayh0eXBlKQkgICAoKHR5cGUpPmZ0X01BSUxESVIpCQkgICAvKiBrZXJuZWwgbG9jayBmZCAqLworICNkZWZpbmUgZnRfYXRpbWUodHlwZSkJICAgKCh0eXBlKT09ZnRfRklMRSkJICAgICAgLyogZm9yY2UgYXRpbWUgPCBtdGltZSAqLworLSNkZWZpbmUgZnRfZG90bG9jayh0eXBlKSAgICgodHlwZSk9PWZ0X0ZJTEUpCQkgLyogZG90bG9jayAkREVGQVVMVCAqLworKyNkZWZpbmUgZnRfZG90bG9jayh0eXBlKSAgICgodHlwZSk+ZnRfTUFJTERJUikJCSAvKiBkb3Rsb2NrICRERUZBVUxUICovCisgI2RlZmluZSBmdF9kZWxpbSh0eXBlKQkgICAoKHR5cGUpPT1mdF9GSUxFKQkJICAgLyogYWRkIE1NREYgZGVsaW0gKi8KKyAjZGVmaW5lIGZ0X2NoZWNrY2xvc2VyKHR5cGUpICgodHlwZSk+ZnRfTUgpCisgI2RlZmluZSBmdF9mb3JjZWJsYW5rKHR5cGUpICgodHlwZSkhPWZ0X01BSUxESVIpICAvKiBmb3JjZSBibGFuayBsaW5lIGF0IGVuZCAqLworZGlmZiAtLWdpdCBhL3NyYy9mb3JtYWlsLmMgYi9zcmMvZm9ybWFpbC5jCitpbmRleCBmZTVlNmJlLi4xZjVjOWRkIDEwMDY0NAorLS0tIGEvc3JjL2Zvcm1haWwuYworKysrIGIvc3JjL2Zvcm1haWwuYworQEAgLTc1OCw5ICs3NTgsOSBAQCBzdGFydG92ZXI6CisgCWxwdXRzc24oYnVmLGJ1ZmZpbGxlZCksY3RsZW5ndGgtPWJ1ZmZpbGxlZCxidWZmaWxsZWQ9bG5sPTA7CisgICAgICA7eyBpbnQgdGJsPWJ1Zmxhc3QsbHdyPSdcbic7CisgCXdoaWxlKC0tY3RsZW5ndGg+PTAmJnRibCE9RU9GKQkgICAgICAgLyogc2tpcCBDb250ZW50LUxlbmd0aDogYnl0ZXMgKi8KKy0JICAgbG5sPWx3cj09dGJsJiZsd3I9PSdcbicscHV0Y3MobHdyPXRibCksdGJsPWdldGNoYXIoKTsKKysJICAgbG5sPWx3cj09dGJsJiZsd3I9PSdcbicsbHB1dGNzKGx3cj10YmwpLHRibD1nZXRjaGFyKCk7CisgCWlmKChidWZsYXN0PXRibCk9PSdcbicmJmx3ciE9dGJsKQkvKiBqdXN0IGJlZm9yZSBhIGxpbmUgYnJlYWs/ICovCistCSAgIHB1dGNzKCdcbicpLGJ1Zmxhc3Q9Z2V0Y2hhcigpOwkJLyogd3JhcCB1cCBsb29zZSBlbmQgKi8KKysJICAgbHB1dGNzKCdcbicpLGJ1Zmxhc3Q9Z2V0Y2hhcigpOwkJLyogd3JhcCB1cCBsb29zZSBlbmQgKi8KKyAgICAgICB9CisgICAgICBpZighcXVpZXQmJmN0bGVuZ3RoPjApCisgICAgICAgeyBjaGFyTlVNKG51bSxjdGxlbmd0aCk7CitAQCAtODE5LDcgKzgxOSw3IEBAIHNwbGl0aXQ6ICAgICAgIHsgaWYoIWxubCkgICAvKiBkaWQgdGhlIHByZXZpb3VzIG1haWwgZW5kIHdpdGggYW4gZW1wdHkgbGluZT8gKi8KKyAgICAgICB7IGlmKHNwbGl0KQkJICAgICAgIC8qIGdvYmJsZSB1cCB0aGUgbmV4dCBzdGFydCBzZXBhcmF0b3IgKi8KKyAJIHsgYnVmZmlsbGVkPTA7CisgI2lmZGVmIHNNQUlMQk9YX1NFUEFSQVRPUgorLQkgICBnZXRsaW5lKCk7YnVmZmlsbGVkPTA7CQkgLyogYnV0IG9ubHkgaWYgaXQncyBkZWZpbmVkICovCisrCSAgIGdldF9saW5lKCk7YnVmZmlsbGVkPTA7CQkgLyogYnV0IG9ubHkgaWYgaXQncyBkZWZpbmVkICovCisgI2VuZGlmCisgCSAgIGlmKGJ1Zmxhc3QhPUVPRikJCQkJCSAgIC8qIGlmIGFueSAqLworIAkgICAgICBnb3RvIHNwbGl0aXQ7CitkaWZmIC0tZ2l0IGEvc3JjL2Zvcm1pc2MuYyBiL3NyYy9mb3JtaXNjLmMKK2luZGV4IGQ2Y2FiOTAuLjMzODczM2IgMTAwNjQ0CistLS0gYS9zcmMvZm9ybWlzYy5jCisrKysgYi9zcmMvZm9ybWlzYy5jCitAQCAtMTE1LDcgKzExNSw3IEBAIHZvaWQgbG9hZGNoYXIoYyljb25zdCBpbnQgYzsJCSAgICAgIC8qIGFwcGVuZCBvbmUgY2hhcmFjdGVyIHRvIGJ1ZiAqLworICAgYnVmW2J1ZmZpbGxlZCsrXT1jOworIH0KKyAKKy1pbnQgZ2V0bGluZSBQKCh2b2lkKSkJCQkgICAvKiByZWFkIGEgbmV3bGluZS10ZXJtaW5hdGVkIGxpbmUgKi8KKytpbnQgZ2V0X2xpbmUgUCgodm9pZCkpCQkJICAgLyogcmVhZCBhIG5ld2xpbmUtdGVybWluYXRlZCBsaW5lICovCisgeyBpZihidWZsYXN0PT1FT0YpCQkJIC8qIGF0IHRoZSBlbmQgb2Ygb3VyIExhdGluIGFscmVhZHk/ICovCisgICAgeyBsb2FkY2hhcignXG4nKTsJCQkJCSAgLyogZmFrZSBlbXB0eSBsaW5lICovCisgICAgICByZXR1cm4gRU9GOwkJCQkJICAvKiBzcHJlYWQgdGhlIHdvcmQgKi8KK2RpZmYgLS1naXQgYS9zcmMvZm9ybWlzYy5oIGIvc3JjL2Zvcm1pc2MuaAoraW5kZXggMWM0Y2EyMC4uZjI1MjExYyAxMDA2NDQKKy0tLSBhL3NyYy9mb3JtaXNjLmgKKysrKyBiL3NyYy9mb3JtaXNjLmgKK0BAIC0xNyw0ICsxNyw0IEBAIHZvaWQKKyBjaGFyKgorICBza2lwd29yZHMgUCgoY2hhcipzdGFydCkpOworIGludAorLSBnZXRsaW5lIFAoKHZvaWQpKTsKKysgZ2V0X2xpbmUgUCgodm9pZCkpOworZGlmZiAtLWdpdCBhL3NyYy9tYWlsZm9sZC5jIGIvc3JjL21haWxmb2xkLmMKK2luZGV4IDkxN2I1MDIuLjZjOGJjZjQgMTAwNjQ0CistLS0gYS9zcmMvbWFpbGZvbGQuYworKysrIGIvc3JjL21haWxmb2xkLmMKK0BAIC0zMCw2ICszMCw3IEBAIHN0YXRpYyAvKmNvbnN0Ki9jaGFyIHJjc2lkW109CisgCisgaW50IGxvZ29wZW5lZCxyYXdub25sOworIG9mZl90IGxhc3R0ZWxsOworK3N0YXRpYyBpbnQgdHJ1bmNlZDsKKyBzdGF0aWMgbG9uZyBsYXN0ZHVtcDsKKyBzdGF0aWMgdm9sYXRpbGUgaW50IG1haWxyZWFkOwkvKiBpZiB0aGUgbWFpbCBpcyBjb21wbGV0ZWx5IHJlYWQgaW4gYWxyZWFkeSAqLworIHN0YXRpYyBzdHJ1Y3QgZHluYV9hcnJheSBjb25maWVsZDsJCSAgLyogZXNjYXBlcywgY29uY2F0ZW5hdGlvbnMgKi8KK0BAIC04MSw2ICs4Miw3IEBAIGxvbmcgZHVtcChzLHR5cGUsc291cmNlLGxlbiljb25zdCBpbnQgcyx0eXBlO2NvbnN0IGNoYXIqc291cmNlOworICBsb25nIGxlbjsKKyB7IGludCBpO2xvbmcgcGFydDsKKyAgIGxhc3R0ZWxsPWk9IC0xO1NFVGVycm5vKEVCQURGKTsKKysgIHRydW5jZWQ9MDsKKyAgIGlmKHM+PTApCisgICAgeyBpZihmdF9sb2NrKHR5cGUpJiYobHNlZWsocywob2ZmX3QpMCxTRUVLX0VORCksZmRsb2NrKHMpKSkKKyAJbmxvZygiS2VybmVsLWxvY2sgZmFpbGVkXG4iKTsKK0BAIC0xMjAsMTMgKzEyMiwxOCBAQCBqaW46CXdoaWxlKHBhcnQmJihpPXJ3cml0ZShzLHNvdXJjZSxCTEtTSVo8cGFydD9CTEtTSVo6KGludClwYXJ0KSkpCisgICAgICAgfQorIHdyaXRlZmluOgorICAgICAgaT10eXBlIT1mdF9QSVBFJiZmc3luYyhzKSYmZXJybm8hPUVJTlZBTDsJICAvKiBFSU5WQUwgPT4gd2Fzbid0IGEgZmlsZSAqLworKyAgICAgaWYgKChpfHxsZW4pJiZsYXN0dGVsbD49MCkKKysgICAgICB7IGludCBzZXJybm89ZXJybm87CisrCWlmKCFmdHJ1bmNhdGUocyxsYXN0dGVsbCkpIHRydW5jZWQ9MTsKKysJU0VUZXJybm8oc2Vycm5vKTsKKysgICAgICB9CisgICAgICBpZihmdF9sb2NrKHR5cGUpKQorICAgICAgIHsgaW50IHNlcnJubz1lcnJubzsJCSAgICAgICAvKiBzYXZlIGFueSBlcnJvciBpbmZvcm1hdGlvbiAqLworIAlpZihmZHVubG9jaygpKQorIAkgICBubG9nKCJLZXJuZWwtdW5sb2NrIGZhaWxlZFxuIik7CisgCVNFVGVycm5vKHNlcnJubyk7CisgICAgICAgfQorLSAgICAgaT1yY2xvc2Uocyl8fGk7CisrICAgICBpPXJjbG9zZShzKXx8aTsgLyogaWYgdGhpcyBmYWlscywgd2Ugc2hvdWxkIHRydW5jYXRlLCBidXQgaXQncyB0b28gbGF0ZSAqLworICAgIH0JCQkgICAvKiByZXR1cm4gYW4gZXJyb3IgZXZlbiBpZiBub3RoaW5nIHdhcyB0byBiZSBzZW50ICovCisgICByZXR1cm4gaSYmIWxlbj8tMTpsZW47CisgfQorQEAgLTIzNyw3ICsyNDQsNyBAQCBkdW1wZjoJIHsgc3dpdGNoKGVycm5vKQorICNlbmRpZgorIAkgICAgICBkZWZhdWx0OndyaXRlZXJyKGJ1Zik7CisgCSAgICB9CistCSAgIGlmKGxhc3R0ZWxsPj0wJiYhdHJ1bmNhdGUoYm94bmFtZSxsYXN0dGVsbCkmJihsb2dvcGVuZWR8fHZlcmJvc2UpKQorKwkgICBpZihsYXN0dGVsbD49MCYmdHJ1bmNlZCYmKGxvZ29wZW5lZHx8dmVyYm9zZSkpCisgCSAgICAgIG5sb2coIlRydW5jYXRlZCBmaWxlIHRvIGZvcm1lciBzaXplXG4iKTsJICAgIC8qIHVuZG8gZ2FyYmFnZSAqLworIHJldDA6CSAgIHJldHVybiAwOworIAkgfQorQEAgLTM3OCw3ICszODUsOCBAQCB2b2lkIHJlYWRtYWlsKHJoZWFkLHRvYmVzZW50KWNvbnN0IGxvbmcgdG9iZXNlbnQ7CisgCWRmaWxsZWQ9bWFpbHJlYWQ9MDsKKyAgICAgIGVsc2UgaWYocmhlYWQpCQkJCS8qIG9ubHkgcmVhZCBpbiBhIG5ldyBoZWFkZXIgKi8KKyAgICAgICB7IG1lbWJsayBuZXc7CistCWRmaWxsZWQ9bWFpbHJlYWQ9MDttYWtlYmxvY2soJm5ldywwKTtyZWFkZHluKCZuZXcsJmRmaWxsZWQsMCk7CisrCWRmaWxsZWQ9bWFpbHJlYWQ9MDttYWtlYmxvY2soJm5ldywwKTsKKysJcmVhZGR5bigmbmV3LCZkZmlsbGVkLHRoZWJvZHktdGhlbWFpbC5wKTsKKyAJaWYodG9iZXNlbnQ+ZGZpbGxlZCYmaXNwcml2YXRlKQkJICAgICAvKiBwdXQgaXQgaW4gcGxhY2UgaGVyZSAqLworIAkgeyB0bWVtbW92ZSh0aGVtYWlsLnArZGZpbGxlZCx0aGVib2R5LGZpbGxlZC09dG9iZXNlbnQpOworIAkgICB0bWVtbW92ZSh0aGVtYWlsLnAsbmV3LnAsZGZpbGxlZCk7CitkaWZmIC0tZ2l0IGEvc3JjL21hbmNvbmYuYyBiL3NyYy9tYW5jb25mLmMKK2luZGV4IGE5ZTlmMWMuLjVjOGVjMzYgMTAwNjQ0CistLS0gYS9zcmMvbWFuY29uZi5jCisrKysgYi9zcmMvbWFuY29uZi5jCitAQCAtMjMzLDcgKzIzMyw3IEBAIGEgc2VjdXJpdHkgdmlvbGF0aW9uIHdhcyBmb3VuZCAoZS5nLiBcMS5CIFwyLUBQUkVTRVJWT1BUQFwxb3IgdmFyaWFibGVcCisgIFwyLUBQUkVTRVJWT1BUQFwxYW5kXDEuQlIgXDItQEZST01XSE9QVEAgLlwxIik7CisgICBwYygiTE1UUE9QVCIsTE1UUE9QVCk7CisgI2Vsc2UKKy0gIHBzKCJMTVRQT1BUZGVzYyIsIiIpO3BzKCJMTVRQdXNhZ2UiLCIiKTsKKysgIHBzKCJMTVRQT1BUZGVzYyIsIiIpO3BzKCJMTVRQdXNhZ2UiLCJcMSIpOworICNlbmRpZgorICAgcG5hbWUoIklOSVRfVU1BU0siLDApO3ByaW50ZigiMCVsby9nXG4iLCh1bnNpZ25lZCBsb25nKUlOSVRfVU1BU0spO2xpbmVzLS07CisgICBwbigiREVGbGluZWJ1ZiIsREVGbGluZWJ1Zik7CitkaWZmIC0tZ2l0IGEvc3JjL21lbWJsay5jIGIvc3JjL21lbWJsay5jCitpbmRleCBlMmYxM2YwLi45N2UwMmQzIDEwMDY0NAorLS0tIGEvc3JjL21lbWJsay5jCisrKysgYi9zcmMvbWVtYmxrLmMKK0BAIC01MSwxMSArNTEsMTEgQEAgdm9pZCBsb2NrYmxvY2sobWIpbWVtYmxrKmNvbnN0IG1iOworIHsKKyAjaWZkZWYgVVNFX01NQVAKKyAgIGlmKG1iLT5mZD49MCkKKy0gICB7IGxvbmcgbGVuPW1iLT5sZW4rMTsKKy0gICAgIGlmKG11bm1hcChtYi0+cCxsZW4pKQorLQltbWFwZmFpbGVkKGxlbik7CQkgICAgICAvKiBkb24ndCB3YW50IHRvIGNvbnRpbnVlIGhlcmUgKi8KKy0gICAgIGlmKChtYi0+cD1tbWFwKDAsbGVuLFBST1RfUkVBRCxNQVBfUFJJVkFURSxtYi0+ZmQsKG9mZl90KTApKT09TUFQX0ZBSUxFRCkKKy0JbW1hcGZhaWxlZChsZW4pOworKyAgIHsgbG9uZyBtbGVuPW1iLT5sZW4rMTsKKysgICAgIGlmKG11bm1hcChtYi0+cCxtbGVuKSkKKysJbW1hcGZhaWxlZChtbGVuKTsJCSAgICAgIC8qIGRvbid0IHdhbnQgdG8gY29udGludWUgaGVyZSAqLworKyAgICAgaWYoKG1iLT5wPW1tYXAoMCxtbGVuLFBST1RfUkVBRCxNQVBfUFJJVkFURSxtYi0+ZmQsKG9mZl90KTApKT09TUFQX0ZBSUxFRCkKKysJbW1hcGZhaWxlZChtbGVuKTsKKyAgICAgIGNsb3NlKG1iLT5mZCk7CisgICAgICBtYi0+ZmQ9cm9wZW4oZGV2bnVsbCxPX1JEV1IsMCk7CQkvKiBYWFggUGVyaGFwcyAtMSBpcyBiZXR0ZXI/ICovCisgICAgfQorQEAgLTc3LDggKzc3LDggQEAgaW50IHJlc2l6ZWJsb2NrKG1iLGxlbixub25mYXRhbCltZW1ibGsqY29uc3QgbWI7Y29uc3QgbG9uZyBsZW47CisgICAgICBzdHJjcHkoZmlsZW5hbWUsTU1BUF9ESVIpOworICAgICAgaWYodW5pcXVlKGZpbGVuYW1lLHN0cmNocihmaWxlbmFtZSwnXDAnKSxNTUFQX0ZJTEVfTEVOLE1NQVBfUEVSTSwwLDApJiYKKyAJKG1iLT5mZD1yb3BlbihmaWxlbmFtZSxPX1JEV1IsTU1BUF9QRVJNKSx1bmxpbmsoZmlsZW5hbWUpLG1iLT5mZD49MCkpCistICAgICAgeyBtYi0+ZmlsZWxlbj1sZW47CistCWlmKGxzZWVrKG1iLT5mZCxtYi0+ZmlsZWxlbi0xLFNFRUtfU0VUKTwwfHwxIT1yd3JpdGUobWItPmZkLGVtcHR5LDEpKQorKyAgICAgIHsgbWItPmZpbGVsZW49bGVuKzE7CisrCWlmKGxzZWVrKG1iLT5mZCxsZW4sU0VFS19TRVQpPDB8fDEhPXJ3cml0ZShtYi0+ZmQsZW1wdHksMSkpCisgZHJvcGY6CSB7IGNsb3NlKG1iLT5mZCk7bWItPmZkPSAtMTsKKyAJICAgaWYodmVyYm9zZSlubG9nKCJVbmFibGUgdG8gZXh0ZW5kIG9yIHVzZSB0ZW1wZmlsZSIpOworIAkgfQorQEAgLTk4LDkgKzk4LDkgQEAgZHJvcGY6CSB7IGNsb3NlKG1iLT5mZCk7bWItPmZkPSAtMTsKKyAgICAgICB9CisgICAgfQorICAgaWYobWItPmZkPj0wKQorLSAgIHsgaWYobGVuPm1iLT5maWxlbGVuKQkJCQkgIC8qIG5lZWQgdG8gZXh0ZW5kPyAqLworLSAgICAgIHsgbWItPmZpbGVsZW49bGVuOworLQlpZihsc2VlayhtYi0+ZmQsbWItPmZpbGVsZW4tMSxTRUVLX1NFVCk8MHx8MSE9cndyaXRlKG1iLT5mZCxlbXB0eSwxKSkKKysgICB7IGlmKGxlbj49bWItPmZpbGVsZW4pCQkJCSAgLyogbmVlZCB0byBleHRlbmQ/ICovCisrICAgICAgeyBtYi0+ZmlsZWxlbj1sZW4rMTsKKysJaWYobHNlZWsobWItPmZkLGxlbixTRUVLX1NFVCk8MHx8MSE9cndyaXRlKG1iLT5mZCxlbXB0eSwxKSkKKyAJIHsgY2hhcipwPW1hbGxvYyhsZW4rMSk7CSAgIC8qIGNhbid0IGV4dGVuZCwgc3dpdGNoIHRvIG1hbGxvYyAqLworIAkgICB0bWVtbW92ZShwLG1iLT5wLG1iLT5sZW4pOworIAkgICBtdW5tYXAobWItPnAsbWItPmxlbisxKTsKK0BAIC0xMjQsOSArMTI0LDkgQEAgbW1hcDoJaWYoKG1iLT5wPW1tYXAoMCxsZW4rMSxQX1JXLE1BUF9TSEFSRUQsbWItPmZkLChvZmZfdCkwKSk9PU1BUF9GQUlMRUQpCisgICAgfQorICAgZWxzZQorICAgICAgbWItPnA9cmVhbGxvYyhtYi0+cCxsZW4rMSk7CistICBtYi0+bGVuPWxlbisxOworLSAgbWItPnBbbGVuXT0nXDAnOworKyAgbWItPmxlbj1sZW47CisgcmV0MToKKysgIG1iLT5wW2xlbl09J1wwJzsKKyAgIHJldHVybiAxOworIH0KKyAKK2RpZmYgLS1naXQgYS9zcmMvbWVtYmxrLmggYi9zcmMvbWVtYmxrLmgKK2luZGV4IDZmZDFkMWQuLmI1N2YzNjkgMTAwNjQ0CistLS0gYS9zcmMvbWVtYmxrLmgKKysrKyBiL3NyYy9tZW1ibGsuaAorQEAgLTEsNiArMSw2IEBACisgdHlwZWRlZiBzdHJ1Y3QgbWVtYmxrIHsKKyAgICAgY2hhcipwOwkJCQkJCSAgLyogd2hlcmUgaXQgc3RhcnRzICovCistICAgIGxvbmcgbGVuOwkJCQkJIC8qIGN1cnJlbnRseSBhbGxvY2F0ZWQgc2l6ZSAqLworKyAgICBsb25nIGxlbjsJCQkgLyogY3VycmVudCBzaXplLCBub3QgaW5jbHVkaW5nIHRyYWlsaW5nIE5VTCAqLworICNpZmRlZiBVU0VfTU1BUAorICAgICBvZmZfdCBmaWxlbGVuOwkJCQkgICAgIC8qIGhvdyBsb25nIGlzIHRoZSBmaWxlICovCisgICAgIGludCBmZDsJCQkJCSAgIC8qIGZpbGUgd2hpY2ggaXMgbW1hcCgpZWQgKi8KK2RpZmYgLS1naXQgYS9zcmMvbmV0d29yay5oIGIvc3JjL25ldHdvcmsuaAoraW5kZXggZDdkMDhmMi4uYjA5YjZjNCAxMDA2NDQKKy0tLSBhL3NyYy9uZXR3b3JrLmgKKysrKyBiL3NyYy9uZXR3b3JrLmgKK0BAIC0xLDE5ICsxLDEzIEBACisgLyokSWQ6IG5ldHdvcmsuaCx2IDEuNyAxOTk3LzA0LzAyIDAzOjE1OjQxIHNyYiBFeHAgJCovCisgCistI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4JCQkvKiBzb2NrZXQoKSBzZW5kdG8oKSBBRl9JTkVUCisrI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4JCQkvKiBzb2NrZXQoKSBzZW5kdG8oKSAqLworIAkJCQkJLyogU09DS19ER1JBTSAqLworLSNpbmNsdWRlIDxuZXRkYi5oPgkJCS8qIGdldGhvc3RieW5hbWUoKSBnZXRzZXJ2YnluYW1lKCkKKy0JCQkJCS8qIGdldHByb3RvYnluYW1lKCkgKi8KKy0jaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgkJCS8qIGh0b25zKCkgc3RydWN0IHNvY2thZGRyX2luICovCisrI2luY2x1ZGUgPG5ldGRiLmg+CQkJLyogZ2V0YWRkcmluZm8oKSAqLworIAorICNpZm5kZWYgQklGRl9zZXJ2aWNlcG9ydAorICNkZWZpbmUgQklGRl9zZXJ2aWNlcG9ydAlDT01TQVRzZXJ2aWNlCisgI2VuZGlmCisgCistI2lmbmRlZiBoXzBhZGRyX2xpc3QKKy0jZGVmaW5lIGhfMGFkZHJfbGlzdAloX2FkZHJfbGlzdFswXQkJICAgICAgLyogUE9TSVggc3RydWN0IG1lbWJlciAqLworLSNlbmRpZgorLQorICNpZm5kZWYgTk9fY29uc3QgICAgICAvKiBzaW5jZSBuZXR3b3JrLmggaXMgb3V0c2lkZSB0aGUgYXV0b2NvbmYgY29uc3QgY2hlY2sgKi8KKyAjaWZkZWYgY29uc3QJCSAgICAvKiBsb29wLCB3ZSBuZWVkIHRoaXMgYmFja2NoZWNrIGZvciBzb21lIHN5c3RlbXMgKi8KKyAjdW5kZWYgY29uc3QKK2RpZmYgLS1naXQgYS9zcmMvcGlwZXMuYyBiL3NyYy9waXBlcy5jCitpbmRleCAxZmRiOWU2Li43NzU0MzAwIDEwMDY0NAorLS0tIGEvc3JjL3BpcGVzLmMKKysrKyBiL3NyYy9waXBlcy5jCitAQCAtMTQ1LDcgKzE0NSw5IEBAIGludCBwaXB0aHJvdWdoKGxpbmUsc291cmNlLGxlbiljaGFyKmxpbmUsKnNvdXJjZTtjb25zdCBsb25nIGxlbjsKKyAgIGlmKFN0ZG91dCkKKyAgICB7ICooZXE9c3RyY2hyKFN0ZG91dCwnXDAnKS0xKT0nXDAnOwkJCSAgICAgLyogY2hvcCB0aGUgJz0nICovCisgICAgICBpZighKGJhY2tibG9jaz1nZXRlbnYoU3Rkb3V0KSkpCQkJLyogbm8gY3VycmVudCB2YWx1ZT8gKi8KKy0JUFJEQj1QV1JCPSAtMTsKKysgICAgICB7IFBSREI9UFdSQj0gLTE7CisrCWJhY2tsZW49MDsKKysgICAgICB9CisgICAgICBlbHNlCisgICAgICAgeyBiYWNrbGVuPXN0cmxlbihiYWNrYmxvY2spOworIAlnb3RvIHBpcDsKK0BAIC0xNTUsOSArMTU3LDcgQEAgaW50IHBpcHRocm91Z2gobGluZSxzb3VyY2UsbGVuKWNoYXIqbGluZSwqc291cmNlO2NvbnN0IGxvbmcgbGVuOworIHBpcDogcnBpcGUocGJhY2tmZCk7CisgICBycGlwZShwaW5mZCk7CQkJCQkJIC8qIG1haW4gcGlwZXMgc2V0dXAgKi8KKyAgIGlmKCEocGlkY2hpbGQ9c2ZvcmsoKSkpCQkJLyogY3JlYXRlIGEgc2VuZGluZyBwcm9jbWFpbCAqLworLSAgIHsgaWYoU3Rkb3V0JiZiYWNrYmxvY2spCistCWJhY2tsZW49c3RybGVuKGJhY2tibG9jayk7CistICAgICBlbHNlCisrICAgeyBpZighU3Rkb3V0KQorIAliYWNrYmxvY2s9c291cmNlLGJhY2tsZW49bGVuOworICAgICAgY2hpbGRzZXR1cCgpO3JjbG9zZShQUkRJKTtyY2xvc2UoUFJEQik7CisgICAgICBycGlwZShwb3V0ZmQpO3JjbG9zZShTVERPVVQpOworQEAgLTE5NCw3ICsxOTQsNyBAQCBwZXJyOgkgICAgICBwcm9nZXJyKGxpbmUsZXhjb2RlLHB3YWl0PT00KTsgIC8qIEknbSBnb2luZyB0byB0ZWxsIG15IG1vbW15ISAqLworICAgICAgbWFrZWJsb2NrKCZ0ZW1wLFN0ZGZpbGxlZCk7CisgICAgICB0bWVtbW92ZSh0ZW1wLnAsU3Rkb3V0LFN0ZGZpbGxlZCk7CisgICAgICByZWFkZHluKCZ0ZW1wLCZTdGRmaWxsZWQsU3RkZmlsbGVkK2JhY2tsZW4rMSk7CistICAgICBTdGRvdXQ9cmVhbGxvYyhTdGRvdXQsJlN0ZGZpbGxlZCsxKTsKKysgICAgIFN0ZG91dD1yZWFsbG9jKFN0ZG91dCxTdGRmaWxsZWQrMSk7CisgICAgICB0bWVtbW92ZShTdGRvdXQsdGVtcC5wLFN0ZGZpbGxlZCsxKTsKKyAgICAgIGZyZWVibG9jaygmdGVtcCk7CisgICAgICByZXRTdGRvdXQoU3Rkb3V0LHB3YWl0JiZwaXB3LCFiYWNrYmxvY2spOworZGlmZiAtLWdpdCBhL3NyYy9wcm9jbWFpbC5jIGIvc3JjL3Byb2NtYWlsLmMKK2luZGV4IDRhMjMyZjIuLjJiYjQ0OWIgMTAwNjQ0CistLS0gYS9zcmMvcHJvY21haWwuYworKysrIGIvc3JjL3Byb2NtYWlsLmMKK0BAIC02NTIsOCArNjUyLDcgQEAgY29tbWludDpkbyBza2lwc3BhY2UoKTsJCQkJCSAgLyogc2tpcCB3aGl0ZXNwYWNlICovCisgCSAgICAgIG5yY29uZD0gLTE7CisgCSAgIGlmKHRvbG9jaykJCSAvKiBjbGVhciB0ZW1wb3JhcnkgYnVmZmVyIGZvciBsb2NrZmlsZSBuYW1lICovCisgCSAgICAgIGZyZWUodG9sb2NrKTsKKy0JICAgZm9yKGk9bWF4aW5kZXgoZmxhZ3MpO2k7aS0tKQkJCSAgLyogY2xlYXIgdGhlIGZsYWdzICovCistCSAgICAgIGZsYWdzW2ldPTA7CisrCSAgIGJiemVybyhmbGFncyxzaXplb2YoZmxhZ3MpKTsJCSAgLyogY2xlYXIgdGhlIGZsYWdzICovCisgCSAgIGZvcih0b2xvY2s9MCxsb2NrbmV4dD0wOzspCisgCSAgICB7IGNocD1za3BzcGFjZShjaHApOworIAkgICAgICBzd2l0Y2goaT0gKmNocCsrKQorZGlmZiAtLWdpdCBhL3NyYy9yZWNvbW1lbmQuYyBiL3NyYy9yZWNvbW1lbmQuYworaW5kZXggNWQ0MWUwMS4uOTAwMjI2OCAxMDA2NDQKKy0tLSBhL3NyYy9yZWNvbW1lbmQuYworKysrIGIvc3JjL3JlY29tbWVuZC5jCitAQCAtNDcsNyArNDcsNyBAQCBpbnQgbWFpbihhcmdjLGFyZ3YpY29uc3QgaW50IGFyZ2M7Y29uc3QgY2hhcipjb25zdCBhcmd2W107CisgICAgICBwcmludGYoImNobW9kICVsbyAlc1xuIiwodW5zaWduZWQgbG9uZykoc2dpZHxQRVJNSVMpLGFyZ3ZbMl0pOworICAgZWxzZSBpZihjaG1kaXI9PTEpCisgICAgICBnb3RvIG5vZ2NobW9kOworLSAgaWYoY2htZGlyKQorKyAgaWYoMCkKKyAgICAgIHByaW50ZigiY2htb2QgJWMrdyAlcy8uXG4iLGNobWRpcj09MT8nZyc6J2EnLG1haWxzcG9vbGRpcik7Cisgbm9nY2htb2Q6CisgICByZXR1cm4gRVhJVF9TVUNDRVNTOworLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tZml4LW1hbi1maWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcm9jbWFpbC9wcm9jbWFpbC9mcm9tLWRlYmlhbi10by1maXgtbWFuLWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IzYzY0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tZml4LW1hbi1maWxlLnBhdGNoCkBAIC0wLDAgKzEsODMgQEAKK0Zyb20gM2NiYzVlNmU2MjQyMzVmOWJhNDBjZmQ1YTJiMThjMTFiZTM3MTM5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgMiBEZWMgMjAxNCAwNzowMjowMSArMDkwMAorU3ViamVjdDogW1BBVENIIDIvM10gRnJvbSBkZWJpYW4gdG8gZml4IG1hbiBmaWxlCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIG1hbi9wcm9jbWFpbC5tYW4gICB8IDI0ICsrKysrKysrKysrKysrKysrLS0tLS0tLQorIG1hbi9wcm9jbWFpbHJjLm1hbiB8ICAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbWFuL3Byb2NtYWlsLm1hbiBiL21hbi9wcm9jbWFpbC5tYW4KK2luZGV4IDE3NTA0M2EuLjEyNzRjZTggMTAwNjQ0CistLS0gYS9tYW4vcHJvY21haWwubWFuCisrKysgYi9tYW4vcHJvY21haWwubWFuCitAQCAtNDQsMTEgKzQ0LDExIEBAIGF0IHRoZSBlbmQuCisgc2hvdWxkIGJlIGludm9rZWQgYXV0b21hdGljYWxseSBvdmVyIHRoZQorIC5CIEBET1RfRk9SV0FSREAKKyBmaWxlIG1lY2hhbmlzbSBhcyBzb29uIGFzIG1haWwgYXJyaXZlcy4gIEFsdGVybmF0aXZlbHksIHdoZW4gaW5zdGFsbGVkIGJ5CistYSBzeXN0ZW0gYWRtaW5pc3RyYXRvciwgaXQgY2FuIGJlIGludm9rZWQgZnJvbSB3aXRoaW4gdGhlIG1haWxlciBpbW1lZGlhdGVseS4KKy1XaGVuIGludm9rZWQsIGl0IGZpcnN0IHNldHMgc29tZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gZGVmYXVsdCB2YWx1ZXMsCistcmVhZHMgdGhlIG1haWwgbWVzc2FnZSBmcm9tIHN0ZGluIHVudGlsIGFuIEVPRiwgc2VwYXJhdGVzIHRoZSBib2R5IGZyb20gdGhlCistaGVhZGVyLCBhbmQgdGhlbiwgaWYgbm8gY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBhcmUgcHJlc2VudCwgaXQgc3RhcnRzIHRvIGxvb2sKKy1mb3IgYSBmaWxlIG5hbWVkCisrYSBzeXN0ZW0gYWRtaW5pc3RyYXRvciAoYW5kIGluIHRoZSBzdGFuZGFyZCBSZWQgSGF0IExpbnV4IGNvbmZpZ3VyYXRpb24pLCBpdAorK2NhbiBiZSBpbnZva2VkIGZyb20gd2l0aGluIHRoZSBtYWlsZXIgaW1tZWRpYXRlbHkuICBXaGVuIGludm9rZWQsIGl0CisrZmlyc3Qgc2V0cyBzb21lIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBkZWZhdWx0IHZhbHVlcywgcmVhZHMgdGhlIG1haWwgbWVzc2FnZSBmcm9tCisrc3RkaW4gdW50aWwgYW4gRU9GLCBzZXBhcmF0ZXMgdGhlIGJvZHkgZnJvbSB0aGUgaGVhZGVyLCBhbmQgdGhlbiwgaWYgbm8gY29tbWFuZCBsaW5lCisrYXJndW1lbnRzIGFyZSBwcmVzZW50LCBpdCBzdGFydHMgdG8gbG9vayBmb3IgYSBmaWxlIG5hbWVkCisgLkJSIEBQUk9DTUFJTFJDQCAuCisgQWNjb3JkaW5nIHRvIHRoZSBwcm9jZXNzaW5nIHJlY2lwZXMgaW4gdGhpcyBmaWxlLAorIHRoZSBtYWlsIG1lc3NhZ2UgdGhhdCBqdXN0IGFycml2ZWQgZ2V0cyBkaXN0cmlidXRlZCBpbnRvIHRoZSByaWdodCBmb2xkZXIKK0BAIC0xNjYsNyArMTY2LDggQEAgbXVzdCBiZSBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS4gIEFmdGVyIHRoZSByY2ZpbGUsIHByb2NtYWlsIHdpbGwKKyBhY2NlcHQgYW4gdW5saW1pdGVkIG51bWJlciBvZiBhcmd1bWVudHMuQEVUQ1JDU19kZXNjQAorIEZvciBzb21lIGFkdmFuY2VkIHVzYWdlIG9mIHRoaXMgb3B0aW9uIHlvdSBzaG91bGQgbG9vayBpbiB0aGUKKyAuQiBFWEFNUExFUworLXNlY3Rpb24gYmVsb3cuQExNVFBPUFRkZXNjQC5TSCBBUkdVTUVOVFMKKytzZWN0aW9uIGJlbG93LkBMTVRQT1BUZGVzY0AKKysuU0ggQVJHVU1FTlRTCisgQW55IGFyZ3VtZW50cyBjb250YWluaW5nIGFuICc9JyBhcmUgY29uc2lkZXJlZCB0byBiZSBlbnZpcm9ubWVudCB2YXJpYWJsZQorIGFzc2lnbm1lbnRzLCB0aGV5IHdpbGwKKyAuSSBhbGwKK0BAIC03MjMsNiArNzI0LDE1IEBAIHBhdGguQEZXX2NvbW1lbnRACisgLmZpCisgLmFkCisgLlBQCisrU29tZSBtYWlsZXJzIChub3RhYmx5IGV4aW0pIGRvIG5vdCBjdXJyZW50bHkgYWNjZXB0IHRoZSBhYm92ZSBzeW50YXguCisrSW4gc3VjaCBjYXNlIHVzZSB0aGlzIGluc3RlYWQ6CisrLlBQCisrLm5hCisrLm5mCisrfC91c3IvYmluL3Byb2NtYWlsCisrLmZpCisrLmFkCisrLlBQCisgUHJvY21haWwgY2FuIGFsc28gYmUgaW52b2tlZCB0byBwb3N0cHJvY2VzcyBhbiBhbHJlYWR5IGZpbGxlZCBzeXN0ZW0KKyBtYWlsYm94LiAgVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSBkb24ndCB3YW50IHRvIG9yIGNhbid0IHVzZSBhCisgJEhPTUUvQERPVF9GT1JXQVJEQCBmaWxlIChpbiB3aGljaCBjYXNlIHRoZSBmb2xsb3dpbmcgc2NyaXB0IGNvdWxkCitAQCAtNzU0LDcgKzc2NCw3IEBAIGV4aXQgMAorIC5TUyAiQSBzYW1wbGUgc21hbGwgQFBST0NNQUlMUkNAOiIKKyAubmEKKyAubmYKKy1QQVRIPS9iaW46L3Vzci9iaW46QEJJTkRJUkAKKytQQVRIPS91c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW4KKyBNQUlMRElSPSRIT01FL01haWwgICAgICAjeW91J2QgYmV0dGVyIG1ha2Ugc3VyZSBpdCBleGlzdHMKKyBERUZBVUxUPSRNQUlMRElSL21ib3ggICAjY29tcGxldGVseSBvcHRpb25hbAorIExPR0ZJTEU9JE1BSUxESVIvZnJvbSAgICNyZWNvbW1lbmRlZAorZGlmZiAtLWdpdCBhL21hbi9wcm9jbWFpbHJjLm1hbiBiL21hbi9wcm9jbWFpbHJjLm1hbgoraW5kZXggNDcyMDM1Zi4uN2JmMDhkZCAxMDA2NDQKKy0tLSBhL21hbi9wcm9jbWFpbHJjLm1hbgorKysrIGIvbWFuL3Byb2NtYWlscmMubWFuCitAQCAtNzc5LDcgKzc3OSw3IEBAIG9uZSB0cmFpbGluZyBuZXdsaW5lIHdpbGwgYmUgc3RyaXBwZWQuCisgLlBQCisgU29tZSBub24tb3B0aW1hbCBhbmQgbm9uLW9idmlvdXMgcmVnZXhwcyBzZXQgTUFUQ0ggdG8gYW4gaW5jb3JyZWN0CisgdmFsdWUuICBUaGUgcmVnZXhwIGNhbiBiZSBtYWRlIHRvIHdvcmsgYnkgcmVtb3Zpbmcgb25lIG9yIG1vcmUgdW5uZWVkZWQKKy0nKicsICcrJywgb3IgJz8nIG9wZXJhdG9yIG9uIHRoZSBsZWZ0LWhhbmQgc2lkZSBvZiB0aGUgXGUvIHRva2VuLgorK1wmJyonLCAnKycsIG9yICc/JyBvcGVyYXRvciBvbiB0aGUgbGVmdC1oYW5kIHNpZGUgb2YgdGhlIFxlLyB0b2tlbi4KKyAuU0ggTUlTQ0VMTEFORU9VUworIElmIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gY29udGFpbnMgYFxmQkBUT19rZXlAXGZQJyBpdCB3aWxsIGJlIHN1YnN0aXR1dGVkIGJ5CisgLm5hCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcm9jbWFpbC9wcm9jbWFpbC9mcm9tLWRlYmlhbi10by1tb2RpZnktcGFyYW1ldGVycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tbW9kaWZ5LXBhcmFtZXRlcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk0ZTQzNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWwvZnJvbS1kZWJpYW4tdG8tbW9kaWZ5LXBhcmFtZXRlcnMucGF0Y2gKQEAgLTAsMCArMSwxMjcgQEAKK0Zyb20gOTVjNzQyMjQyNzY5NzIxZjk2M2M1MDcwMmUxNDQ1ZmI3MGM2YTQ1YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExpIHhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KK0RhdGU6IFR1ZSwgMiBEZWMgMjAxNCAwNzowNzozMyArMDkwMAorU3ViamVjdDogW1BBVENIIDMvM10gRnJvbSBkZWJpYW4gdG8gbW9kaWZ5IHBhcmFtZXRlcnMKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgTWFrZWZpbGUgfCAxNiArKysrKysrKy0tLS0tLS0tCisgY29uZmlnLmggfCAxMyArKysrKysrLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDFlOTU2OGMuLjllNDgyMDEgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0yMyw3ICsyMyw3IEBAIE1BTjVESVIJCT0gJChNQU5ESVIpL21hbiQoTUFONVNVRkZJWCkKKyAKKyAjIFVuY29tbWVudCB0byBpbnN0YWxsIGNvbXByZXNzZWQgbWFuIHBhZ2VzIChwb3NzaWJseSBhZGQgZXh0cmEgc3VmZml4CisgIyB0byB0aGUgZGVmaW5pdGlvbnMgb2YgTUFOP0RJUiBhbmQvb3IgTUFOP1NVRkZJWCBieSBoYW5kKQorLSNNQU5DT01QUkVTUyA9IGNvbXByZXNzCisrIyBNQU5DT01QUkVTUyA9IGNvbXByZXNzCisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyojCisgIyBUaGluZ3MgdGhhdCBjYW4gYmUgbWFkZSBhcmU6CitAQCAtNTUsNyArNTUsNyBAQCBNQU41RElSCQk9ICQoTUFORElSKS9tYW4kKE1BTjVTVUZGSVgpCisgCisgTE9DS0lOR1RFU1Q9X19kZWZhdWx0c19fCisgCistI0xPQ0tJTkdURVNUPS90bXAgLgkjIFVuY29tbWVudCBhbmQgYWRkIGFueSBkaXJlY3RvcmllcyB5b3Ugc2VlIGZpdC4KKytMT0NLSU5HVEVTVD0vdG1wIC4JIyBVbmNvbW1lbnQgYW5kIGFkZCBhbnkgZGlyZWN0b3JpZXMgeW91IHNlZSBmaXQuCisgIwkJCUlmIExPQ0tJTkdURVNUIGlzIGRlZmluZWQsIGF1dG9jb25mIHdpbGwgTk9UCisgIwkJCXByb21wdCB5b3UgdG8gZW50ZXIgYWRkaXRpb25hbCBkaXJlY3Rvcmllcy4KKyAjCQkJU2VlIElOU1RBTEwgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlCitAQCAtNjUsNyArNjUsNyBAQCBMT0NLSU5HVEVTVD1fX2RlZmF1bHRzX18KKyAjIE9ubHkgZWRpdCBiZWxvdyB0aGlzIGxpbmUgaWYgeW91ICp0aGluayogeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nICMKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAKKy0jTE9DS0lOR1RFU1Q9MTAwCSMgVW5jb21tZW50IChhbmQgY2hhbmdlKSBpZiB5b3UgdGhpbmsgeW91IGtub3cKKytMT0NLSU5HVEVTVD0xMDAJIyBVbmNvbW1lbnQgKGFuZCBjaGFuZ2UpIGlmIHlvdSB0aGluayB5b3Uga25vdworICMJCQlpdCBiZXR0ZXIgdGhhbiB0aGUgYXV0b2NvbmYgbG9ja2luZ3Rlc3RzLgorICMJCQlUaGlzIHdpbGwgY2F1c2UgdGhlIGxvY2tpbmd0ZXN0cyB0byBiZSBob3R3aXJlZC4KKyAjCQkJMTAwCXRvIGVuYWJsZSBmY250bCgpCitAQCAtNzQsMjAgKzc0LDIwIEBAIExPQ0tJTkdURVNUPV9fZGVmYXVsdHNfXworICMJCQlPciB0aGVtIHRvZ2V0aGVyIHRvIGdldCB0aGUgZGVzaXJlZCBjb21iaW5hdGlvbi4KKyAKKyAjIE9wdGlvbmFsIHN5c3RlbSBsaWJyYXJpZXMgd2Ugc2VhcmNoIGZvcgorLVNFQVJDSExJQlMgPSAtbG0gLWxkaXIgLWx4IC1sc29ja2V0IC1sbmV0IC1saW5ldCAtbG5zbF9zIC1sbnNsX2kgLWxuc2wgLWxzdW4gXAorLSAtbGdlbiAtbHNvY2tkbnMgLWxkbAorK1NFQVJDSExJQlMgPSAtbG0gLWxkaXIgLWx4IC1sc29ja2V0IC1sbmV0IC1saW5ldCAtbG5zbF9zIC1sbnNsX2kgLWxzdW4gXAorKyAtbGdlbiAtbHNvY2tkbnMKKyAjCQkJLWxyZXNvbHYJIyBub3QgcmVhbGx5IG5lZWRlZCwgaXMgaXQ/CisgCisgIyBJbmZvcm1hbCBsaXN0IG9mIGRpcmVjdG9yaWVzIHdoZXJlIHdlIGxvb2sgZm9yIHRoZSBsaWJyYXJpZXMgaW4gU0VBUkNITElCUworLUxJQlBBVEhTPS9saWIgL3Vzci9saWIgL3Vzci9sb2NhbC9saWIKKytMSUJQQVRIUz0vbGliIC91c3IvbGliCisgCisgR0NDX1dBUk5JTkdTID0gLU8yIC1wZWRhbnRpYyAtV3JldHVybi10eXBlIC1XdW51c2VkIC1XZm9ybWF0IC1XdHJhZGl0aW9uYWwgXAorICAtV3BvaW50ZXItYXJpdGggLVdjb252ZXJzaW9uIC1XYWdncmVnYXRlLXJldHVybiBcCisgICMtV2ltcGxpY2l0IC1Xc2hhZG93IC1XaWQtY2xhc2gtNiAjLVd1bmluaXRpYWxpemVkCisgCisgIyBUaGUgcGxhY2UgdG8gcHV0IHlvdXIgZmF2b3VyaXRlIGV4dHJhIGNjIGZsYWcKKy1DRkxBR1MwID0gLU8gIyQoR0NDX1dBUk5JTkdTKQorLUxERkxBR1MwPSAtcworK0NGTEFHUzAgPSAkKFJQTV9PUFRfRkxBR1MpICMkKEdDQ19XQVJOSU5HUykKKytMREZMQUdTMD0gCisgIyBSZWFkIG15IGxpYnMgOi0pCisgTElCUz0KKyAKK2RpZmYgLS1naXQgYS9jb25maWcuaCBiL2NvbmZpZy5oCitpbmRleCBjNDEzNWE5Li5hMDc0NTNmIDEwMDY0NAorLS0tIGEvY29uZmlnLmgKKysrKyBiL2NvbmZpZy5oCitAQCAtMzUsNyArMzUsOCBAQAorICAqLworIC8qI2RlZmluZSBERUZTUEFUSAkiUEFUSD0vYmluOi91c3IvYmluIgkJCS8qICovCisgLyojZGVmaW5lIERFRlBBVEgJIlBBVEg9JEhPTUUvYmluOi9iaW46L3Vzci9iaW4iCQkvKiAqLworLQorKyNkZWZpbmUgREVGUEFUSAkiUEFUSD0kSE9NRS9iaW46L2JpbjovdXNyL2Jpbjovc2JpbjovdXNyL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9YMTFSNi9iaW4iCQkvKiAqLworKyAKKyAvKiBldmVyeSBlbnZpcm9ubWVudCB2YXJpYWJsZSBhcHBlYXJpbmcgaW4gUFJFU1RFTlYgd2lsbCBiZSBzZXQgb3Igd2lwZWQKKyAgKiBvdXQgb2YgdGhlIGVudmlyb25tZW50ICh2YXJpYWJsZXMgd2l0aG91dCBhbiAnPScgc2lnbiB3aWxsIGJlIHRocm93bgorICAqIG91dCksIGUuZy4geW91IGNvdWxkIGRlZmluZSBQUkVTVEVOViBhcyBmb2xsb3dzOgorQEAgLTQ2LDEzICs0NywxMyBAQAorICAqLworICNkZWZpbmUgUFJFU1RFTlYJeyJJRlMiLCJFTlYiLCJQV0QiLDB9CisgCistLyojZGVmaW5lIEdST1VQX1BFUl9VU0VSCQkJLyogdW5jb21tZW50IHRoaXMgaWYgZWFjaAorKyNkZWZpbmUgR1JPVVBfUEVSX1VTRVIJCQkvKiB1bmNvbW1lbnQgdGhpcyBpZiBlYWNoCisgCQkJCQkJICAgdXNlciBoYXMgaGlzIG9yIGhlciBvd24KKyAJZ3JvdXAgYW5kIHByb2NtYWlsIGNhbiB0aGVyZWZvcmUgdHJ1c3QgYSAkSE9NRS8ucHJvY21haWxyYyB0aGF0CisgCWlzIGdyb3VwIHdyaXRhYmxlIG9yIGNvbnRhaW5lZCBpbiBhIGdyb3VwIHdyaXRhYmxlIGhvbWUgZGlyZWN0b3J5CisgCWlmIHRoZSBncm91cCBpbnZvbHZlZCBpcyB0aGUgdXNlcidzIGRlZmF1bHQgZ3JvdXAuICovCisgCistLyojZGVmaW5lIExNVFAJCQkJCS8qIHVuY29tbWVudCB0aGlzIGlmIHlvdQorKyNkZWZpbmUgTE1UUAkJCQkJLyogdW5jb21tZW50IHRoaXMgaWYgeW91CisgCQkJCQkJICAgd2FudCB0byB1c2UgcHJvY21haWwKKyAJYXMgYW4gTE1UUCAocmZjMjAzMykgc2VydmVyLCBwcmVzdW1hYmx5IGZvciBpbnZvY2F0aW9uIGJ5IGFuIE1UQS4KKyAJVGhlIGZpbGUgZXhhbXBsZXMvbG9jYWxfcHJvY21haWxfbG10cC5tNCBjb250YWlucyBpbmZvIG9uIGhvdyB0bworQEAgLTc5LDcgKzgwLDcgQEAKKyAKKyAvKiNkZWZpbmUgTk9fZmNudGxfTE9DSwkJLyogdW5jb21tZW50IGFueSBvZiB0aGVzZSB0aHJlZSBpZiB5b3UJICAgICAqLworIC8qI2RlZmluZSBOT19sb2NrZl9MT0NLCQkvKiBkZWZpbml0ZWx5IGRvIG5vdCB3YW50IHByb2NtYWlsIHRvIG1ha2UgICAqLworLS8qI2RlZmluZSBOT19mbG9ja19MT0NLCQkvKiB1c2Ugb2YgdGhvc2Uga2VybmVsLWxvY2tpbmcgbWV0aG9kcwkgICAgICovCisrI2RlZmluZSBOT19mbG9ja19MT0NLCQkvKiB1c2Ugb2YgdGhvc2Uga2VybmVsLWxvY2tpbmcgbWV0aG9kcwkgICAgICovCisgCQkJCS8qIElmIHlvdSBzZXQgTE9DS0lOR1RFU1QgdG8gYSBiaW5hcnkgbnVtYmVyCisgCXRoYW4gdGhlcmUncyBubyBuZWVkIHRvIHNldCB0aGVzZS4gIFRoZXNlICNkZWZpbmVzIGFyZSBvbmx5IHVzZWZ1bAorIAlpZiB5b3Ugd2FudCB0byBkaXNhYmxlIHBhcnRpY3VsYXIgbG9ja2luZyBzdHlsZXMgYnV0IGFyZSB1bnN1cmUgd2hpY2gKK0BAIC05MSwxNCArOTIsMTQgQEAKKyAJcmVzdHJpY3Rpb24gZG9lcyBub3QgYXBwbHkgdG8gdGhlIC9ldGMvcHJvY21haWxyYyBhbmQKKyAJL2V0Yy9wcm9jbWFpbHJjcyBmaWxlcykgKi8KKyAKKy0vKiNkZWZpbmUgTk9fTkZTX0FUSU1FX0hBQ0sJLyogdW5jb21tZW50IGlmIHlvdSdyZSBkZWZpbml0ZWx5IG5vdCB1c2luZworKyNkZWZpbmUgTk9fTkZTX0FUSU1FX0hBQ0sJLyogdW5jb21tZW50IGlmIHlvdSdyZSBkZWZpbml0ZWx5IG5vdCB1c2luZworIAkJCQkgICBORlMgbW91bnRlZCBmaWxlc3lzdGVtcyBhbmQgY2FuJ3QgYWZmb3JkCisgCXByb2NtYWlsIHRvIHNsZWVwIGZvciAxIHNlYy4gYmVmb3JlIHdyaXRpbmcgdG8gYW4gZW1wdHkgcmVndWxhcgorIAltYWlsYm94LiAgVGhpcyBsZXRzIHByb2dyYW1zIGNvcnJlY3RseSBqdWRnZSB3aGV0aGVyIHRoZXJlIGlzIHVucmVhZAorIAltYWlsIHByZXNlbnQuICBwcm9jbWFpbCBhdXRvbWF0aWNhbGx5IHN1cHByZXNzZXMgdGhpcyB3aGVuIGl0IGlzbid0CisgCW5lZWRlZCBvciB1bmRlciBoZWF2eSBsb2FkLiAqLworIAorLS8qI2RlZmluZSBERUZzZW5kbWFpbAkiL3Vzci9zYmluL3NlbmRtYWlsIgkvKiB1bmNvbW1lbnQgYW5kL29yIGNoYW5nZSBpZgorKyNkZWZpbmUgREVGc2VuZG1haWwJIi91c3Ivc2Jpbi9zZW5kbWFpbCIJLyogdW5jb21tZW50IGFuZC9vciBjaGFuZ2UgaWYKKyAJCQkJCQkgICB0aGUgYXV0b2NvbmZpZ3VyZWQgZGVmYXVsdAorIAlTRU5ETUFJTCBpcyBub3Qgc3VpdGFibGUuICBUaGlzIHByb2dyYW0gc2hvdWxkIHF1YWNrIGxpa2UgYSBzZW5kbWFpbDoKKyAJaXQgc2hvdWxkIGFjY2VwdCB0aGUgLW9pIGZsYWcgKHRvIHRlbGwgaXQgdG8gX25vdF8gdHJlYXQgYSBsaW5lCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcm9jbWFpbC9wcm9jbWFpbC9tYW4tZmlsZS1tYWlsc3RhdC4xLWZyb20tZGViaWFuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wcm9jbWFpbC9wcm9jbWFpbC9tYW4tZmlsZS1tYWlsc3RhdC4xLWZyb20tZGViaWFuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2ZDk3M2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Byb2NtYWlsL3Byb2NtYWlsL21hbi1maWxlLW1haWxzdGF0LjEtZnJvbS1kZWJpYW4ucGF0Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJvbSA4YWM1NjEwOGU1ZjBhNzJkMWJlYzBmYjRmMWZhNDc2M2EyNDc5MzMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogVHVlLCAyIERlYyAyMDE0IDA2OjU2OjE0ICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1hbiBmaWxlIG1haWxzdGF0LjEgZnJvbSBkZWJpYW4KKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgZGViaWFuL21haWxzdGF0LjEgfCA0MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZGViaWFuL21haWxzdGF0LjEKKworZGlmZiAtLWdpdCBhL2RlYmlhbi9tYWlsc3RhdC4xIGIvZGViaWFuL21haWxzdGF0LjEKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5mMTMyNjVhCistLS0gL2Rldi9udWxsCisrKysgYi9kZWJpYW4vbWFpbHN0YXQuMQorQEAgLTAsMCArMSw0MCBAQAorKy5USCBNQUlMU1RBVCAxCisrLlNIIE5BTUUKKyttYWlsc3RhdCBcLSBzaG93cyBtYWlsLWFycml2YWwgc3RhdGlzdGljcworKy5TSCBTWU5PUFNJUworKy5CIG1haWxzdGF0CisrW1wta2xtb3RzXSBbbG9nZmlsZV0KKysuU0ggREVTQ1JJUFRJT04KKysuQiBtYWlsc3RhdAorK3BhcnNlcyBhIHByb2NtYWlsLWdlbmVyYXRlZCAkTE9HRklMRSBhbmQgZGlzcGxheXMKKythIHN1bW1hcnkgYWJvdXQgdGhlIG1lc3NhZ2VzIGRlbGl2ZXJlZCB0byBhbGwgZm9sZGVycworKyh0b3RhbCBzaXplLCBhdmVyYWdlIHNpemUsIG5yIG9mIG1lc3NhZ2VzKS4KKytUaGUgJExPR0ZJTEUgaXMgdHJ1bmNhdGVkIHRvIHplcm8gbGVuZ3RoLCB1bmxlc3MgdGhlCisrLkIgLWsKKytvcHRpb24gaXMgdXNlZC4KKytFeGl0IGNvZGUgMCBpZiBtYWlsIGFycml2ZWQsIDEgaWYgbm8gbWFpbCBhcnJpdmVkLgorKy5TSCBPUFRJT05TCisrLlRQCisrLkkgXC1rCisra2VlcCBsb2dmaWxlIGludGFjdAorKy5UUAorKy5JIFwtbAorK2xvbmcgZGlzcGxheSBmb3JtYXQKKysuVFAKKysuSSBcLW0KKyttZXJnZSBhbnkgZXJyb3JzIGludG8gb25lIGxpbmUKKysuVFAKKysuSSBcLW8KKyt1c2UgdGhlIG9sZCBsb2dmaWxlCisrLlRQCisrLkkgXC10CisrdGVyc2UgZGlzcGxheSBmb3JtYXQKKysuVFAKKysuSSBcLXMKKytzaWxlbnQgaW4gY2FzZSBvZiBubyBtYWlsCisrLlNIIE5PVEVTCisrQ3VzdG9taXNlIHRvIHlvdXIgaGVhcnQncyBjb250ZW50LCB0aGlzIHByb2dyYW0gaXMgb25seSBwcm92aWRlZCBhcyBhCisrZ3VpZGVsaW5lLgorKy5TSCBBVVRIT1IKKytUaGlzIG1hbnVhbCBwYWdlIHdhcyB3cml0dGVuIGJ5IFNhbnRpYWdvIFZpbGEgPHNhbnZpbGFAZGViaWFuLm9yZz4KKytmb3IgdGhlIERlYmlhbiBHTlUvTGludXggZGlzdHJpYnV0aW9uIChidXQgbWF5IGJlIHVzZWQgYnkgb3RoZXJzKS4KKy0tIAorMS44LjQuMgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Byb2NtYWlsL3Byb2NtYWlsXzMuMjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Byb2NtYWlsL3Byb2NtYWlsXzMuMjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA2MzY1NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHJvY21haWwvcHJvY21haWxfMy4yMi5iYgpAQCAtMCwwICsxLDQ0IEBACitTVU1NQVJZID0gIk1haWwgcHJvY2Vzc2luZyBwcm9ncmFtIgorREVTQ1JJUFRJT04gPSAiUHJvY21haWwgY2FuIGJlIHVzZWQgdG8gY3JlYXRlIG1haWwtc2VydmVycywgbWFpbGluZyBsaXN0cywgc29ydCB5b3VyXAoraW5jb21pbmcgbWFpbCBpbnRvIHNlcGFyYXRlIGZvbGRlcnMvZmlsZXMgKHJlYWwgY29udmVuaWVudCB3aGVuIHN1YnNjcmliaW5nXAordG8gb25lIG9yIG1vcmUgbWFpbGluZyBsaXN0cyBvciBmb3IgcHJpb3JpdGlzaW5nIHlvdXIgbWFpbCksIHByZXByb2Nlc3NcCit5b3VyIG1haWwsIHN0YXJ0IGFueSBwcm9ncmFtcyB1cG9uIG1haWwgYXJyaXZhbCAoZS5nLiB0byBnZW5lcmF0ZSBkaWZmZXJlbnRcCitjaGltZXMgb24geW91ciB3b3Jrc3RhdGlvbiBmb3IgZGlmZmVyZW50IHR5cGVzIG9mIG1haWwpIG9yIHNlbGVjdGl2ZWx5XAorZm9yd2FyZCBjZXJ0YWluIGluY29taW5nIG1haWwgYXV0b21hdGljYWxseSB0byBzb21lb25lLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucHJvY21haWwub3JnLyIKK1NFQ1RJT04gPSAiQXBwbGljYXRpb25zL1N5c3RlbSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnJpbmcuZ3IuanAvYXJjaGl2ZXMvbmV0L21haWwvJHtCUE59LyR7QlB9LnRhci5neiBcCisgICAgZmlsZTovL2Zyb20tZGViaWFuLXRvLWZpeC1jb21waWxlLWVycm9ycy5wYXRjaCBcCisgICAgZmlsZTovL2Zyb20tZGViaWFuLXRvLW1vZGlmeS1wYXJhbWV0ZXJzLnBhdGNoIFwKKyAgICBmaWxlOi8vZnJvbS1kZWJpYW4tdG8tZml4LW1hbi1maWxlLnBhdGNoIFwKKyAgICBmaWxlOi8vbWFuLWZpbGUtbWFpbHN0YXQuMS1mcm9tLWRlYmlhbi5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxNjc4ZWE5OWI5NzNlYjc3ZWRhNGVjZjZhY2FlNTNmMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwODdjNzViMzRkZDMzZDhiOWRmNWFmZTllNDI4MDFjOTM5NWY0YmYzNzNhNzg0ZDliYzk3MTUzYjAwNjJlMTE3IgorCitMSUNFTlNFID0gIkdQTC0yLjAgJiBBcnRpc3RpYy0xLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNzFlNTBlMTk3YTk5MmM4NjIzNzllNTc2ZTY2OTc1NyBcCisgICAgZmlsZTovL0FydGlzdGljO21kNT01MDVlMDBkMDNjMzQyOGNkZTIxYjE3YjJhMzg2NTkwZSIKKworREVQRU5EUyA9ICJsaWJuZXQiCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICBmaW5kIGV4YW1wbGVzIC10eXBlIGYgfCB4YXJncyBjaG1vZCA2NDQKKyAgICBleHBvcnQgQ0M9IiR7QlVJTERfQ0N9IgorICAgIGV4cG9ydCBMRD0iJHtCVUlMRF9MRH0iCisgICAgZXhwb3J0IENGTEFHUz0iJHtCVUlMRF9DRkxBR1N9IgorICAgIGV4cG9ydCBBUj0iJHtCVUlMRF9BUn0iCisgICAgZXhwb3J0IEFTPSIke0JVSUxEX0FTfSIKKyAgICBtYWtlIFRBUkdFVF9DRkxBR1M9IiRUQVJHRVRfQ0ZMQUdTIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIgYXV0b2NvbmYuaAorfQorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgLWkgVEFSR0VUX0NGTEFHUz0iJFRBUkdFVF9DRkxBR1MgLVduby1jb21tZW50cyAtRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbnsxLDV9CisgICAgb2VfcnVubWFrZSAtaSBCQVNFTkFNRT0ke0R9L3VzciBNQU5ESVI9JHtEfSR7bWFuZGlyfSBpbnN0YWxsCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRlYmlhbi9tYWlsc3RhdC4xICR7RH0ke21hbmRpcn0vbWFuMQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wdi9wdl8xLjUuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHYvcHZfMS41LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUzZGQ2NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHYvcHZfMS41LjMuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJUZXJtaW5hbC1iYXNlZCB0b29sIGZvciBtb25pdG9yaW5nIHRoZSBwcm9ncmVzcyBvZiBkYXRhIHRocm91Z2ggYSBwaXBlbGluZSIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2MvQ09QWUlORzttZDU9OWM1MGRiMjU4OWVlM2VmMTBhOWI3YjJlNTBjZTFkMDIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5pdmFyY2guY29tL3Byb2dyYW1zL3NvdXJjZXMvcHYtJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZmU4ZTllNGNhZDVmMzI2NGEzMjI1OGE2M2JmMmM4ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3NmYzOTk5YjFjM2IzMDI3MTYzZGNlNmVmNjY3Y2RmOGRhZmI3NTIxOGVlMjVlNTRhMDNiZmU1OTA0NzhmOTBlIgorCitpbmhlcml0IGF1dG90b29scworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVncy0xLjE0L01ha2VmaWxlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGI3ZDUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9NYWtlZmlsZQpAQCAtMCwwICsxLDMgQEAKKworCithbGw6IHB4YXJlZ3MKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvaTJjLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9pMmMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY5ODNlYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvaTJjLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK0luZGV4OiBweGFyZWdzLTEuMTQvcHhhcmVncy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcHhhcmVncy0xLjE0Lm9yaWcvcHhhcmVncy5jCisrKysgcHhhcmVncy0xLjE0L3B4YXJlZ3MuYworQEAgLTIxLDEwICsyMSw2IEBACisgI2luY2x1ZGUgPGZjbnRsLmg+CisgI2luY2x1ZGUgPGN0eXBlLmg+CisgCistI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorLSNpbmNsdWRlIDxsaW51eC9pMmMtZGV2Lmg+CistCistCisgLy8gZmQgZm9yIC9kZXYvbWVtCisgc3RhdGljIGludCBmZCA9IC0xOworIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9tdW5tYXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVncy0xLjE0L211bm1hcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWM0Yjk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9tdW5tYXAucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorSW5kZXg6IHB4YXJlZ3MtMS4xNC9weGFyZWdzLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBweGFyZWdzLTEuMTQub3JpZy9weGFyZWdzLmMKKysrKyBweGFyZWdzLTEuMTQvcHhhcmVncy5jCitAQCAtMTc5NCw3ICsxNzk0LDcgQEAgc3RhdGljIGludCBnZXRtZW0odTMyIGFkZHIpCisgICAgcmVnYWRkciA9IG1hcCArIChhZGRyICYgTUFQX01BU0spOworIAorICAgIHZhbCA9ICoodTMyKikgcmVnYWRkcjsKKy0gICBtdW5tYXAoMCxNQVBfU0laRSk7CisrICAgbXVubWFwKG1hcCxNQVBfU0laRSk7CisgCisgICAgcmV0dXJuIHZhbDsKKyB9CitAQCAtMTgyOSw3ICsxODI5LDcgQEAgc3RhdGljIHZvaWQgcHV0bWVtKHUzMiBhZGRyLCB1MzIgdmFsKQorICAgIHJlZ2FkZHIgPSBtYXAgKyAoYWRkciAmIE1BUF9NQVNLKTsKKyAKKyAgICAqKHUzMiopIHJlZ2FkZHIgPSB2YWw7CistICAgbXVubWFwKDAsTUFQX1NJWkUpOworKyAgIG11bm1hcChtYXAsTUFQX1NJWkUpOworIH0KKyAKKyBzdGF0aWMgdTMyIGxhc3RhZGRyID0gMDsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvcHhhcmVncy5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9weGFyZWdzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDYyZTc1OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzLTEuMTQvcHhhcmVncy5jCkBAIC0wLDAgKzEsMTk3NSBAQAorLyoKKyAqIHB4YXJlZ3MgLSB0b29sIHRvIGRpc3BsYXkgYW5kIG1vZGlmeSBQWEEyNTAncyByZWdpc3RlcnMgYXQgcnVudGltZQorICoKKyAqIChjKSBDb3B5cmlnaHQgMjAwMiBieSBNJk4gTG9naXN0aWstTMO2c3VuZ2VuIE9ubGluZSBHbWJICisgKiBzZXQgdW5kZXIgdGhlIEdQTHYyCisgKgorICogJElkOiBweGFyZWdzLmMsdiAxLjE0IDIwMDMvMTEvMTIgMTM6MTQ6NDMgc2NodXJpZyBFeHAgJAorICoKKyAqIFBsZWFzZSBzZW5kIHBhdGNoZXMgdG8gaC5zY2h1cmlnLCB3b3JraW5nIGF0IG1uLWxvZ2lzdGlrLmRlCisgKiAtIGFkZGVkIGZpeCBmcm9tIEJlcm5oYXJkIE5lbWVjCisgKiAtIGkyYyByZWdpc3RlcnMgZnJvbSBTdGVmYW4gRWxldHpob2ZlcgorKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKworI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy1kZXYuaD4KKworCisvLyBmZCBmb3IgL2Rldi9tZW0KK3N0YXRpYyBpbnQgZmQgPSAtMTsKKwordHlwZWRlZiB1bnNpZ25lZCBpbnQgdTMyOworCitzdHJ1Y3QgcmVnX2luZm8geworICAgY2hhciAqbmFtZTsKKyAgIHUzMiBhZGRyOworICAgaW50IHNoaWZ0OworICAgdTMyIG1hc2s7CisgICBjaGFyIHR5cGU7CisgICBjaGFyICpkZXNjOworfTsKKworCitzdGF0aWMgc3RydWN0IHJlZ19pbmZvIHJlZ3NbXSA9IHsKK3sgIklCTVIiLCAgICAgIDB4NDAzMDE2ODAsICAwLCAweGZmZmZmZmZmLCAneCcsICJJMkMgQnVzIE1vbml0b3IgUmVnaXN0ZXIiIH0sCit7ICJJQk1SX1NEQVMiLCAweDQwMzAxNjgwLCAgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RBIFN0YXR1cyIgfSwKK3sgIklCTVJfU0NMUyIsIDB4NDAzMDE2ODAsICAxLCAweDAwMDAwMDAxLCAneCcsICJTREEgU3RhdHVzIiB9LAorCit7ICJJREJSIiwgICAgICAweDQwMzAxNjg4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSTJDIERhdGEgQnVmZmVyIFJlZ2lzdGVyIiB9LAoreyAiSURCUl9JREIiLCAgMHg0MDMwMTY4OCwgIDAsIDB4MDAwMDAwZmYsICd4JywgIkkyQyBEYXRhIEJ1ZmZlciIgfSwKKworeyAiSUNSIiwgICAgICAgMHg0MDMwMTY5MCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkkyQyBDb250cm9sIFJlZ2lzdGVyIiB9LAoreyAiSUNSX1NUQVJUIiwgMHg0MDMwMTY5MCwgIDAsCTEsICd4JywgICIgc3RhcnQgYml0ICIgfSwKK3sgIklDUl9TVE9QIiwgIDB4NDAzMDE2OTAsICAxLAkxLCAneCcsICAiIHN0b3AgYml0ICIgfSwKK3sgIklDUl9BQ0tOQUsiLDB4NDAzMDE2OTAsICAyLAkxLCAneCcsICAiIHNlbmQgQUNLKDApIG9yIE5BSygxKSIgfSwKK3sgIklDUl9UQiIsICAgIDB4NDAzMDE2OTAsICAzLAkxLCAneCcsICAiIHRyYW5zZmVyIGJ5dGUgYml0ICIgfSwKK3sgIklDUl9NQSIsICAgIDB4NDAzMDE2OTAsICA0LAkxLCAneCcsICAiIG1hc3RlciBhYm9ydCAiIH0sCit7ICJJQ1JfU0NMRSIsICAweDQwMzAxNjkwLCAgNSwJMSwgJ3gnLCAgIiBtYXN0ZXIgY2xvY2sgZW5hYmxlICIgfSwKK3sgIklDUl9JVUUiLCAgIDB4NDAzMDE2OTAsICA2LAkxLCAneCcsICAiIHVuaXQgZW5hYmxlICIgfSwKK3sgIklDUl9HQ0QiLCAgIDB4NDAzMDE2OTAsICA3LAkxLCAneCcsICAiIGdlbmVyYWwgY2FsbCBkaXNhYmxlICIgfSwKK3sgIklDUl9JVEVJRSIsIDB4NDAzMDE2OTAsICA4LAkxLCAneCcsICAiIGVuYWJsZSB0eCBpbnRlcnJ1cHRzICIgfSwKK3sgIklDUl9JUkZJRSIsIDB4NDAzMDE2OTAsICA5LAkxLCAneCcsICAiIGVuYWJsZSByeCBpbnRlcnJ1cHRzICIgfSwKK3sgIklDUl9CRUlFIiwgIDB4NDAzMDE2OTAsICAxMCwJMSwgJ3gnLCAgIiBlbmFibGUgYnVzIGVycm9yIGludHMgIiB9LAoreyAiSUNSX1NTRElFIiwgMHg0MDMwMTY5MCwgIDExLAkxLCAneCcsICAiIHNsYXZlIFNUT1AgZGV0ZWN0ZWQgaW50IGVuYWJsZSAiIH0sCit7ICJJQ1JfQUxESUUiLCAweDQwMzAxNjkwLCAgMTIsCTEsICd4JywgICIgZW5hYmxlIGFyYml0cmF0aW9uIGludGVycnVwdCAiIH0sCit7ICJJQ1JfU0FESUUiLCAweDQwMzAxNjkwLCAgMTMsCTEsICd4JywgICIgc2xhdmUgYWRkcmVzcyBkZXRlY3RlZCBpbnQgZW5hYmxlICIgfSwKK3sgIklDUl9VUiIsICAgIDB4NDAzMDE2OTAsICAxNCwgMSwgJ3gnLCAgIiB1bml0IHJlc2V0ICIgfSwKK3sgIklDUl9GTSIsICAgIDB4NDAzMDE2OTAsICAxNSwgMSwgJ3gnLCAgIiBmYXN0IG1vZGUgIiB9LAorCit7ICJJU1IiLCAgICAgICAweDQwMzAxNjk4LCAwLCAweGZmZmZmZmZmLCAneCcsICJJMkMgU3RhdHVzIFJlZ2lzdGVyIiB9LAoreyAiSVNSX1JXTSIsICAgMHg0MDMwMTY5OCwgMCwgMSwgJ3gnLCAiIHJlYWQvd3JpdGUgbW9kZSAiIH0sCit7ICJJU1JfQUNLTkFLIiwweDQwMzAxNjk4LCAxLCAxLCAneCcsICIgYWNrL25hayBzdGF0dXMgIiB9LAoreyAiSVNSX1VCIiwgICAgMHg0MDMwMTY5OCwgMiwgMSwgJ3gnLCAiIHVuaXQgYnVzeSAiIH0sCit7ICJJU1JfSUJCIiwgICAweDQwMzAxNjk4LCAzLCAxLCAneCcsICIgYnVzIGJ1c3kgIiB9LAoreyAiSVNSX1NTRCIsICAgMHg0MDMwMTY5OCwgNCwgMSwgJ3gnLCAiIHNsYXZlIHN0b3AgZGV0ZWN0ZWQgIiB9LAoreyAiSVNSX0FMRCIsICAgMHg0MDMwMTY5OCwgNSwgMSwgJ3gnLCAiIGFyYml0cmF0aW9uIGxvc3MgZGV0ZWN0ZWQgIiB9LAoreyAiSVNSX0lURSIsICAgMHg0MDMwMTY5OCwgNiwgMSwgJ3gnLCAiIHR4IGJ1ZmZlciBlbXB0eSAiIH0sCit7ICJJU1JfSVJGIiwgICAweDQwMzAxNjk4LCA3LCAxLCAneCcsICIgcnggYnVmZmVyIGZ1bGwgIiB9LAoreyAiSVNSX0dDQUQiLCAgMHg0MDMwMTY5OCwgOCwgMSwgJ3gnLCAiIGdlbmVyYWwgY2FsbCBhZGRyZXNzIGRldGVjdGVkICIgfSwKK3sgIklTUl9TQUQiLCAgIDB4NDAzMDE2OTgsIDksIDEsICd4JywgIiBzbGF2ZSBhZGRyZXNzIGRldGVjdGVkICIgfSwKK3sgIklTUl9CRUQiLCAgIDB4NDAzMDE2OTgsIDEwLCAxLCAneCcsICIgYnVzIGVycm9yIG5vIEFDSy9OQUsgIiB9LAorCit7ICJJU0FSIiwgICAgICAweDQwMzAxNkEwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSTJDIFNsYXZlIEFkZHJlc3MgUmVnaXN0ZXIiIH0sCit7ICJJU0FSX1NBIiwgICAweDQwMzAxNkEwLCAgMCwgMHgwMDAwMDA3ZiwgJ3gnLCAiSTJDIFNsYXZlIEFkZHJlc3MiIH0sCisKK3sgIlBNQ1IiLCAgICAgIDB4NDBGMDAwMDAsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIENvbnRyb2wgUmVnaXN0ZXIgKDMtMjMpIiB9LAoreyAiUE1DUl9JREFFIiwgMHg0MEYwMDAwMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIGltcHJlY2lzZSBkYXRhIGFib3J0IGFib3J0IHNpZ25hbCIgfSwKKworeyAiUFNTUiIsICAgICAgMHg0MEYwMDAwNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBvd2VyIE1hbmFnZXIgU2xlZXAgU3RhdHVzIFJlZ2lzdGVyICgzLTI5KSIgfSwKK3sgIlBTU1JfU1NTIiwgIDB4NDBGMDAwMDQsICAwLCAweDAwMDAwMDAxLCAnZCcsICJQTSBjaGlwIHdhcyBpbiBzbGVlcCBieSBzZXR0aW5nIHNsZWVwIG1vZGUgYml0IiB9LAoreyAiUFNTUl9CRlMiLCAgMHg0MEYwMDAwNCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIlBNIG5CQVRUX0ZBVUxUIGhhcyBiZWVuIGFzc2VydGVkIiB9LAoreyAiUFNTUl9WRlMiLCAgMHg0MEYwMDAwNCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIlBNIG5WRERfRkFVTFQgd2FzIGFzc2VydGVkIHdoaWxlIGluIFJ1biBvciBJZGxlIiB9LAoreyAiUFNTUl9QSCIsICAgMHg0MEYwMDAwNCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGlucyBhcmUgaGVsZCBpbiB0aGVpciBzbGVlcCBzdGF0ZSIgfSwKK3sgIlBTU1JfUkRIIiwgIDB4NDBGMDAwMDQsICA1LCAweDAwMDAwMDAxLCAnZCcsICJQTSByZWNlaXZlcnMgb2YgYWxsIGlucHV0IEdQSU8gYXJlIGRpc2FibGVkIiB9LAorCit7ICJQU1BSIiwgICAgICAweDQwRjAwMDA4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBTY3JhdGNoIFBhZCBSZWdpc3RlciAoMy0zMCkiIH0sCisKK3sgIlBXRVIiLCAgICAgIDB4NDBGMDAwMEMsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIFdha2UtVXAgRW5hYmxlIFJlZ2lzdGVyICgzLTI1KSIgfSwKK3sgIlBXRVJfV0UwIiwgIDB4NDBGMDAwMEMsICAwLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDAgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxIiwgIDB4NDBGMDAwMEMsICAxLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDEgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UyIiwgIDB4NDBGMDAwMEMsICAyLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDIgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UzIiwgIDB4NDBGMDAwMEMsICAzLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDMgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0U0IiwgIDB4NDBGMDAwMEMsICA0LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDQgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0U1IiwgIDB4NDBGMDAwMEMsICA1LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDUgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0U2IiwgIDB4NDBGMDAwMEMsICA2LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDYgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0U3IiwgIDB4NDBGMDAwMEMsICA3LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0U4IiwgIDB4NDBGMDAwMEMsICA4LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDggZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0U5IiwgIDB4NDBGMDAwMEMsICA5LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDkgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxMCIsIDB4NDBGMDAwMEMsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTAgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxMSIsIDB4NDBGMDAwMEMsIDExLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTEgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxMiIsIDB4NDBGMDAwMEMsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTIgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxMyIsIDB4NDBGMDAwMEMsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTMgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxNCIsIDB4NDBGMDAwMEMsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTQgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0UxNSIsIDB4NDBGMDAwMEMsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTUgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBXRVJfV0VSVEMiLDB4NDBGMDAwMEMsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBSVEMgYWxhcm0gZW5hYmxlZCIgfSwKKworeyAiUFJFUiIsICAgICAgMHg0MEYwMDAxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBvd2VyIE1hbmFnZXIgUmlzaW5nIEVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAoMy0yNikiIH0sCit7ICJQUkVSX1JFMCIsICAweDQwRjAwMDEwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyAwIHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTEiLCAgMHg0MEYwMDAxMCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gMSByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkUyIiwgIDB4NDBGMDAwMTAsICAyLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDIgcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFMyIsICAweDQwRjAwMDEwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyAzIHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTQiLCAgMHg0MEYwMDAxMCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gNCByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkU1IiwgIDB4NDBGMDAwMTAsICA1LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDUgcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFNiIsICAweDQwRjAwMDEwLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA2IHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTciLCAgMHg0MEYwMDAxMCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gNyByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkU4IiwgIDB4NDBGMDAwMTAsICA4LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDggcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFOSIsICAweDQwRjAwMDEwLCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA5IHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTEwIiwgMHg0MEYwMDAxMCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8xMCByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkUxMSIsIDB4NDBGMDAwMTAsIDExLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTEgcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFMTIiLCAweDQwRjAwMDEwLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzEyIHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUFJFUl9SRTEzIiwgMHg0MEYwMDAxMCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8xMyByaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBSRVJfUkUxNCIsIDB4NDBGMDAwMTAsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTQgcmlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQUkVSX1JFMTUiLCAweDQwRjAwMDEwLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzE1IHJpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAorCit7ICJQRkVSIiwgICAgICAweDQwRjAwMDE0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBGYWxsaW5nIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgKDMtMjcpIiB9LAoreyAiUEZFUl9GRTAiLCAgMHg0MEYwMDAxNCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gMCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFMSIsICAweDQwRjAwMDE0LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyAxIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkUyIiwgIDB4NDBGMDAwMTQsICAyLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDIgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTMiLCAgMHg0MEYwMDAxNCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gMyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFNCIsICAweDQwRjAwMDE0LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA0IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkU1IiwgIDB4NDBGMDAwMTQsICA1LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDUgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTYiLCAgMHg0MEYwMDAxNCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gNiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFNyIsICAweDQwRjAwMDE0LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTyA3IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkU4IiwgIDB4NDBGMDAwMTQsICA4LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPIDggZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTkiLCAgMHg0MEYwMDAxNCwgIDksIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8gOSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFMTAiLCAweDQwRjAwMDE0LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzEwIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkUxMSIsIDB4NDBGMDAwMTQsIDExLCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTEgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTEyIiwgMHg0MEYwMDAxNCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8xMiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJQRkVSX0ZFMTMiLCAweDQwRjAwMDE0LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gR1BJTzEzIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIlBGRVJfRkUxNCIsIDB4NDBGMDAwMTQsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJQTSB3YWtlIHVwIGR1ZSB0byBHUElPMTQgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiUEZFUl9GRTE1IiwgMHg0MEYwMDAxNCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdha2UgdXAgZHVlIHRvIEdQSU8xNSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCisKK3sgIlBFRFIiLCAgICAgIDB4NDBGMDAwMTgsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIEVkZ2UgRGV0ZWN0IFN0YXR1cyBSZWdpc3RlciAoMy0yOCkiIH0sCit7ICJQRURSX0VEMCIsICAweDQwRjAwMDE4LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDAgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMSIsICAweDQwRjAwMDE4LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDEgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMiIsICAweDQwRjAwMDE4LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDIgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMyIsICAweDQwRjAwMDE4LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDMgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VENCIsICAweDQwRjAwMDE4LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDQgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VENSIsICAweDQwRjAwMDE4LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDUgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VENiIsICAweDQwRjAwMDE4LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDYgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VENyIsICAweDQwRjAwMDE4LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDcgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEOCIsICAweDQwRjAwMDE4LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDggZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEOSIsICAweDQwRjAwMDE4LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPIDkgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMTAiLCAweDQwRjAwMDE4LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPMTAgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMTEiLCAweDQwRjAwMDE4LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPMTEgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMTIiLCAweDQwRjAwMDE4LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPMTIgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMTMiLCAweDQwRjAwMDE4LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPMTMgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMTQiLCAweDQwRjAwMDE4LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPMTQgZGV0ZWN0ZWQiIH0sCit7ICJQRURSX0VEMTUiLCAweDQwRjAwMDE4LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gd2FrZSB1cCBkdWUgdG8gZWRnZSBvbiBHUElPMTUgZGV0ZWN0ZWQiIH0sCisKK3sgIlBDRlIiLCAgICAgIDB4NDBGMDAwMUMsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIEdlbmVyYWwgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAoMy0yNCkiIH0sCit7ICJQQ0ZSX09QREUiLCAweDQwRjAwMDFDLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gc3RvcCAzLjY4NjQgTUh6IG9zY2lsbGF0b3IgZHVyaW5nIHNsZWVwIiB9LAoreyAiUENGUl9GUCIsICAgMHg0MEYwMDAxQywgIDEsIDB4MDAwMDAwMDEsICdkJywgIlBNIFBDTUNJQSBzaWduYWxzIGZsb2F0IGR1cmluZyBzbGVlcCIgfSwKK3sgIlBDRlJfRlMiLCAgIDB4NDBGMDAwMUMsICAyLCAweDAwMDAwMDAxLCAnZCcsICJQTSBzdGF0aWMgY2hpcCBzZWxlY3Qgc2lnbmFscyBmbG9hdCBkdXJpbmcgc2xlZXAiIH0sCisKK3sgIlBHU1IwIiwgICAgIDB4NDBGMDAwMjAsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgMCAoMy0zMikiIH0sCit7ICJQR1NSX1NTMCIsICAweDQwRjAwMDIwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMSIsICAweDQwRjAwMDIwLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMiIsICAweDQwRjAwMDIwLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMyIsICAweDQwRjAwMDIwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNCIsICAweDQwRjAwMDIwLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNSIsICAweDQwRjAwMDIwLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNiIsICAweDQwRjAwMDIwLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNyIsICAweDQwRjAwMDIwLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTOCIsICAweDQwRjAwMDIwLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gOCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTOSIsICAweDQwRjAwMDIwLCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gOSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMTAiLCAweDQwRjAwMDIwLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMTAgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzExIiwgMHg0MEYwMDAyMCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDExIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MxMiIsIDB4NDBGMDAwMjAsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAxMiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMTMiLCAweDQwRjAwMDIwLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMTMgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzE0IiwgMHg0MEYwMDAyMCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDE0IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MxNSIsIDB4NDBGMDAwMjAsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAxNSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMTYiLCAweDQwRjAwMDIwLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMTYgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzE3IiwgMHg0MEYwMDAyMCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDE3IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MxOCIsIDB4NDBGMDAwMjAsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAxOCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMTkiLCAweDQwRjAwMDIwLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMTkgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzIwIiwgMHg0MEYwMDAyMCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDIwIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MyMSIsIDB4NDBGMDAwMjAsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAyMSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMjIiLCAweDQwRjAwMDIwLCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMjIgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzIzIiwgMHg0MEYwMDAyMCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDIzIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MyNCIsIDB4NDBGMDAwMjAsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAyNCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMjUiLCAweDQwRjAwMDIwLCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMjUgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzI2IiwgMHg0MEYwMDAyMCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDI2IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MyNyIsIDB4NDBGMDAwMjAsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAyNyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMjgiLCAweDQwRjAwMDIwLCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMjggaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzI5IiwgMHg0MEYwMDAyMCwgMjksIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDI5IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MzMCIsIDB4NDBGMDAwMjAsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAzMCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMzEiLCAweDQwRjAwMDIwLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMzEgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAorCit7ICJQR1NSMSIsICAgICAweDQwRjAwMDI0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIDEgKDMtMzIpIiB9LAoreyAiUEdTUl9TUzMyIiwgMHg0MEYwMDAyNCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDMyIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MzMyIsIDB4NDBGMDAwMjQsICAxLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAzMyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMzQiLCAweDQwRjAwMDI0LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMzQgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzM1IiwgMHg0MEYwMDAyNCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDM1IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MzNiIsIDB4NDBGMDAwMjQsICA0LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAzNiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTMzciLCAweDQwRjAwMDI0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gMzcgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzM4IiwgMHg0MEYwMDAyNCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDM4IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1MzOSIsIDB4NDBGMDAwMjQsICA3LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiAzOSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNDAiLCAweDQwRjAwMDI0LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNDAgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzQxIiwgMHg0MEYwMDAyNCwgIDksIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDQxIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M0MiIsIDB4NDBGMDAwMjQsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA0MiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNDMiLCAweDQwRjAwMDI0LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNDMgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzQ0IiwgMHg0MEYwMDAyNCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDQ0IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M0NSIsIDB4NDBGMDAwMjQsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA0NSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNDYiLCAweDQwRjAwMDI0LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNDYgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzQ3IiwgMHg0MEYwMDAyNCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDQ3IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M0OCIsIDB4NDBGMDAwMjQsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA0OCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNDkiLCAweDQwRjAwMDI0LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNDkgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzUwIiwgMHg0MEYwMDAyNCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDUwIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M1MSIsIDB4NDBGMDAwMjQsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA1MSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNTIiLCAweDQwRjAwMDI0LCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNTIgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzUzIiwgMHg0MEYwMDAyNCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDUzIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M1NCIsIDB4NDBGMDAwMjQsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA1NCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNTUiLCAweDQwRjAwMDI0LCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNTUgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzU2IiwgMHg0MEYwMDAyNCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDU2IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M1NyIsIDB4NDBGMDAwMjQsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA1NyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNTgiLCAweDQwRjAwMDI0LCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNTggaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzU5IiwgMHg0MEYwMDAyNCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDU5IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M2MCIsIDB4NDBGMDAwMjQsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA2MCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNjEiLCAweDQwRjAwMDI0LCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNjEgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzYyIiwgMHg0MEYwMDAyNCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDYyIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M2MyIsIDB4NDBGMDAwMjQsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA2MyBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCisKK3sgIlBHU1IyIiwgICAgIDB4NDBGMDAwMjgsICAwLCAweGZmZmZmZmZmLCAneCcsICJQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgMiAoMy0zMykiIH0sCit7ICJQR1NSX1NTNjQiLCAweDQwRjAwMDI4LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNjQgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzY1IiwgMHg0MEYwMDAyOCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDY1IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M2NiIsIDB4NDBGMDAwMjgsICAyLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA2NiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNjciLCAweDQwRjAwMDI4LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNjcgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzY4IiwgMHg0MEYwMDAyOCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDY4IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M2OSIsIDB4NDBGMDAwMjgsICA1LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA2OSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNzAiLCAweDQwRjAwMDI4LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNzAgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzcxIiwgMHg0MEYwMDAyOCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDcxIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M3MiIsIDB4NDBGMDAwMjgsICA4LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA3MiBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNzMiLCAweDQwRjAwMDI4LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNzMgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzc0IiwgMHg0MEYwMDAyOCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDc0IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M3NSIsIDB4NDBGMDAwMjgsIDExLCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA3NSBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNzYiLCAweDQwRjAwMDI4LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNzYgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzc3IiwgMHg0MEYwMDAyOCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDc3IGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKK3sgIlBHU1JfU1M3OCIsIDB4NDBGMDAwMjgsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJQTSBHUElPIHBpbiA3OCBpcyBkcml2ZW4gdG8gMSBkdXJpbmcgc2xlZXAiIH0sCit7ICJQR1NSX1NTNzkiLCAweDQwRjAwMDI4LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyBwaW4gNzkgaXMgZHJpdmVuIHRvIDEgZHVyaW5nIHNsZWVwIiB9LAoreyAiUEdTUl9TUzgwIiwgMHg0MEYwMDAyOCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIlBNIEdQSU8gcGluIDgwIGlzIGRyaXZlbiB0byAxIGR1cmluZyBzbGVlcCIgfSwKKworeyAiUkNTUiIsICAgICAgMHg0MEYwMDAzMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBvd2VyIE1hbmFnZXIgUmVzZXQgQ29udHJvbGxlciBTdGF0dXMgUmVnaXN0ZXIgKDMtMzQpIiB9LAoreyAiUkNTUl9IV1IiLCAgMHg0MEYwMDAzMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIlBNIGhhcmR3YXJlIHJlc2V0IG9jY3VycmVkIiB9LAoreyAiUkNTUl9XRFIiLCAgMHg0MEYwMDAzMCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIlBNIHdhdGNoZG9nIHJlc2V0IG9jY3VycmVkIiB9LAoreyAiUkNTUl9TTVIiLCAgMHg0MEYwMDAzMCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIlBNIHNsZWVwIG1vZGUgb2NjdXJyZWQiIH0sCit7ICJSQ1NSX0dGUiIsICAweDQwRjAwMDMwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gR1BJTyByZXNldCAgb2NjdXJyZWQiIH0sCisKKy8vIFBYQTI1NQoreyAiUE1GVyIsICAgICAgMHg0MEYwMDAzNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBvd2VyIE1hbmFnZXIgRmFzdCBTbGVlcCBXYWtldXAgUmVnaXN0ZXIgKDMtMzEpIiB9LAoreyAiUE1GV19GV0FLRSIsMHg0MEYwMDAzNCwgIDEsIDB4MDAwMDAwMDEsICd4JywgIkZhc3QgV2FrZXVwIEVuYWJsZSIgfSwKKworeyAiQ0NDUiIsICAgICAgMHg0MTMwMDAwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkNvcmUgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAoMy0zNSkiIH0sCit7ICJDQ0NSX0wiLCAgICAweDQxMzAwMDAwLCAgMCwgMHgwMDAwMDAxZiwgJ3gnLCAiQ00gY3J5c3RhbCBmcmVxIHRvIG1lbW9yeSBmcmVxIG11bHRpcGxpZXIiIH0sCit7ICJDQ0NSX00iLCAgICAweDQxMzAwMDAwLCAgNSwgMHgwMDAwMDAwMywgJ3gnLCAiQ00gbWVtb3J5IGZyZXEgdG8gcnVuIG1vZGUgZnJlcSBtdWx0aXBsaWVyIiB9LAoreyAiQ0NDUl9OIiwgICAgMHg0MTMwMDAwMCwgIDcsIDB4MDAwMDAwMDcsICd4JywgIkNNIHJ1biBtb2RlIGZyZXEgdG8gdHVyYm8gZnJlcSBtdWx0aXBsaWVyIiB9LAorCit7ICJDS0VOIiwgICAgICAweDQxMzAwMDA0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiQ2xvY2sgRW5hYmxlIFJlZ2lzdGVyICgzLTM2KSIgfSwKK3sgIkNLRU5fMCIsICAgIDB4NDEzMDAwMDQsICAwLCAweDAwMDAwMDAxLCAnZCcsICJDTSBQV00wIGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzEiLCAgICAweDQxMzAwMDA0LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gUFdNMSBjbG9jayBlbmFibGVkIiB9LAoreyAiQ0tFTl8yIiwgICAgMHg0MTMwMDAwNCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkNNIEFDOTcgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fMyIsICAgIDB4NDEzMDAwMDQsICAzLCAweDAwMDAwMDAxLCAnZCcsICJDTSBTU1AgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fNSIsICAgIDB4NDEzMDAwMDQsICA1LCAweDAwMDAwMDAxLCAnZCcsICJDTSBTVFVBUlQgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fNiIsICAgIDB4NDEzMDAwMDQsICA2LCAweDAwMDAwMDAxLCAnZCcsICJDTSBGRlVBUlQgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fNyIsICAgIDB4NDEzMDAwMDQsICA3LCAweDAwMDAwMDAxLCAnZCcsICJDTSBCVFVBUlQgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fOCIsICAgIDB4NDEzMDAwMDQsICA4LCAweDAwMDAwMDAxLCAnZCcsICJDTSBJMlMgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fMTEiLCAgIDB4NDEzMDAwMDQsIDExLCAweDAwMDAwMDAxLCAnZCcsICJDTSBVU0IgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fMTIiLCAgIDB4NDEzMDAwMDQsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJDTSBNTUMgY2xvY2sgZW5hYmxlZCIgfSwKK3sgIkNLRU5fMTMiLCAgIDB4NDEzMDAwMDQsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJDTSBGSVBDIGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzE0IiwgICAweDQxMzAwMDA0LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gSTJDIGNsb2NrIGVuYWJsZWQiIH0sCit7ICJDS0VOXzE2IiwgICAweDQxMzAwMDA0LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiQ00gTENEIGNsb2NrIGVuYWJsZWQiIH0sCisKK3sgIk9TQ0MiLCAgICAgIDB4NDEzMDAwMDgsICAwLCAweGZmZmZmZmZmLCAneCcsICJPc2NpbGxhdG9yIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDMtMzgpIiB9LAoreyAiT1NDQ19PT0siLCAgMHg0MTMwMDAwOCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkNNIDMyLjc2OCBrSHogb3NjaWxsYXRvciBlbmFibGVkIGFuZCBzdGFiaWxpemVkIiB9LAoreyAiT1NDQ19PT04iLCAgMHg0MTMwMDAwOCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkNNIDMyLjc2OCBrSHogb3NjaWxsYXRvciBlbmFibGVkIiB9LAorCisvLyBUT0RPOiBDUDE0LVJlZ2lzdGVycyAoMy0zNykKKworeyAiR1BMUjAiLCAgICAweDQwRTAwMDAwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBQaW4gTGV2ZWwgUmVnaXN0ZXIgMCAoNC03KSIgfSwKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX1JBTVNFUykKK3sgIkdQTFIwXzAiLCAgMHg0MEUwMDAwMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMCAobmMpIGxldmVsIiB9LAoreyAiR1BMUjBfMSIsICAweDQwRTAwMDAwLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxIChuUEZJKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzIiLCAgMHg0MEUwMDAwMCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMiAoQkFUX0RBVEEpIGxldmVsIiB9LAoreyAiR1BMUjBfMyIsICAweDQwRTAwMDAwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzIChJUlFfS0VZKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzQiLCAgMHg0MEUwMDAwMCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNCAoSVJRX0VUSCkgbGV2ZWwiIH0sCit7ICJHUExSMF81IiwgIDB4NDBFMDAwMDAsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUgKG5jKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzYiLCAgMHg0MEUwMDAwMCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNiAoTU1DX0NMSykgbGV2ZWwiIH0sCit7ICJHUExSMF83IiwgIDB4NDBFMDAwMDAsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcgKElSUV9HU00pIGxldmVsIiB9LAoreyAiR1BMUjBfOCIsICAweDQwRTAwMDAwLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IChuUENDX1MxX0NEKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzkiLCAgMHg0MEUwMDAwMCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOSAoTU1DX0NEKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzEwIiwgMHg0MEUwMDAwMCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTAgKElSUV9SVEMpIGxldmVsIiB9LAoreyAiR1BMUjBfMTEiLCAweDQwRTAwMDAwLCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMSAobmMgM002KSBsZXZlbCIgfSwKK3sgIkdQTFIwXzEyIiwgMHg0MEUwMDAwMCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTIgKG5jKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzEzIiwgMHg0MEUwMDAwMCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTMgKElSUV9ET0NLKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzE0IiwgMHg0MEUwMDAwMCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgKG5jKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzE1IiwgMHg0MEUwMDAwMCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTUgKG5DUzEpIGxldmVsIiB9LAoreyAiR1BMUjBfMTYiLCAweDQwRTAwMDAwLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNiAoUFdNMCkgbGV2ZWwiIH0sCit7ICJHUExSMF8xNyIsIDB4NDBFMDAwMDAsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE3IChQV00xKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzE4IiwgMHg0MEUwMDAwMCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTggKFJEWSkgbGV2ZWwiIH0sCit7ICJHUExSMF8xOSIsIDB4NDBFMDAwMDAsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE5IChuYyBuUENDX1MwX0lSUSkgbGV2ZWwiIH0sCit7ICJHUExSMF8yMCIsIDB4NDBFMDAwMDAsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIwIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMF8yMSIsIDB4NDBFMDAwMDAsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIxIChBQzk3X0lSUSkgbGV2ZWwiIH0sCit7ICJHUExSMF8yMiIsIDB4NDBFMDAwMDAsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIyIChuUENDX1MxX0lSUSkgbGV2ZWwiIH0sCit7ICJHUExSMF8yMyIsIDB4NDBFMDAwMDAsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIzIChVQVJUX0lOVEEpIGxldmVsIiB9LAoreyAiR1BMUjBfMjQiLCAweDQwRTAwMDAwLCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNCAoVUFSVF9JTlRCKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzI1IiwgMHg0MEUwMDAwMCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjUgKFVBUlRfSU5UQykgbGV2ZWwiIH0sCit7ICJHUExSMF8yNiIsIDB4NDBFMDAwMDAsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI2IChVQVJUX0lOVEQpIGxldmVsIiB9LAoreyAiR1BMUjBfMjciLCAweDQwRTAwMDAwLCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNyAobmMgQ1BMRF9GUkVFKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzI4IiwgMHg0MEUwMDAwMCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjggKEFVRF9CSVRDTEspIGxldmVsIiB9LAoreyAiR1BMUjBfMjkiLCAweDQwRTAwMDAwLCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyOSAoQVVEX1NESU4wKSBsZXZlbCIgfSwKK3sgIkdQTFIwXzMwIiwgMHg0MEUwMDAwMCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzAgKEFVRF9TRE9VVCkgbGV2ZWwiIH0sCit7ICJHUExSMF8zMSIsIDB4NDBFMDAwMDAsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMxIChBVURfU1lOQykgbGV2ZWwiIH0sCisjZWxzZQoreyAiR1BMUjBfMCIsICAweDQwRTAwMDAwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAwIGxldmVsIiB9LAoreyAiR1BMUjBfMSIsICAweDQwRTAwMDAwLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxIGxldmVsIiB9LAoreyAiR1BMUjBfMiIsICAweDQwRTAwMDAwLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyIGxldmVsIiB9LAoreyAiR1BMUjBfMyIsICAweDQwRTAwMDAwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzIGxldmVsIiB9LAoreyAiR1BMUjBfNCIsICAweDQwRTAwMDAwLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0IGxldmVsIiB9LAoreyAiR1BMUjBfNSIsICAweDQwRTAwMDAwLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1IGxldmVsIiB9LAoreyAiR1BMUjBfNiIsICAweDQwRTAwMDAwLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2IGxldmVsIiB9LAoreyAiR1BMUjBfNyIsICAweDQwRTAwMDAwLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3IGxldmVsIiB9LAoreyAiR1BMUjBfOCIsICAweDQwRTAwMDAwLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IGxldmVsIiB9LAoreyAiR1BMUjBfOSIsICAweDQwRTAwMDAwLCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA5IGxldmVsIiB9LAoreyAiR1BMUjBfMTAiLCAweDQwRTAwMDAwLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMCBsZXZlbCIgfSwKK3sgIkdQTFIwXzExIiwgMHg0MEUwMDAwMCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTEgbGV2ZWwiIH0sCit7ICJHUExSMF8xMiIsIDB4NDBFMDAwMDAsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEyIGxldmVsIiB9LAoreyAiR1BMUjBfMTMiLCAweDQwRTAwMDAwLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMyBsZXZlbCIgfSwKK3sgIkdQTFIwXzE0IiwgMHg0MEUwMDAwMCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgbGV2ZWwiIH0sCit7ICJHUExSMF8xNSIsIDB4NDBFMDAwMDAsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE1IGxldmVsIiB9LAoreyAiR1BMUjBfMTYiLCAweDQwRTAwMDAwLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNiBsZXZlbCIgfSwKK3sgIkdQTFIwXzE3IiwgMHg0MEUwMDAwMCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTcgbGV2ZWwiIH0sCit7ICJHUExSMF8xOCIsIDB4NDBFMDAwMDAsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE4IGxldmVsIiB9LAoreyAiR1BMUjBfMTkiLCAweDQwRTAwMDAwLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOSBsZXZlbCIgfSwKK3sgIkdQTFIwXzIwIiwgMHg0MEUwMDAwMCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjAgbGV2ZWwiIH0sCit7ICJHUExSMF8yMSIsIDB4NDBFMDAwMDAsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIxIGxldmVsIiB9LAoreyAiR1BMUjBfMjIiLCAweDQwRTAwMDAwLCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMiBsZXZlbCIgfSwKK3sgIkdQTFIwXzIzIiwgMHg0MEUwMDAwMCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjMgbGV2ZWwiIH0sCit7ICJHUExSMF8yNCIsIDB4NDBFMDAwMDAsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI0IGxldmVsIiB9LAoreyAiR1BMUjBfMjUiLCAweDQwRTAwMDAwLCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNSBsZXZlbCIgfSwKK3sgIkdQTFIwXzI2IiwgMHg0MEUwMDAwMCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjYgbGV2ZWwiIH0sCit7ICJHUExSMF8yNyIsIDB4NDBFMDAwMDAsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI3IGxldmVsIiB9LAoreyAiR1BMUjBfMjgiLCAweDQwRTAwMDAwLCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyOCBsZXZlbCIgfSwKK3sgIkdQTFIwXzI5IiwgMHg0MEUwMDAwMCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjkgbGV2ZWwiIH0sCit7ICJHUExSMF8zMCIsIDB4NDBFMDAwMDAsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMwIGxldmVsIiB9LAoreyAiR1BMUjBfMzEiLCAweDQwRTAwMDAwLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMSBsZXZlbCIgfSwKKyNlbmRpZgorCit7ICJHUExSMSIsICAgIDB4NDBFMDAwMDQsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIExldmVsIFJlZ2lzdGVyIDEgKDQtOCkiIH0sCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9SQU1TRVMpCit7ICJHUExSMV8zMiIsIDB4NDBFMDAwMDQsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMyIChBVURfU0RJTjEpIGxldmVsIiB9LAoreyAiR1BMUjFfMzMiLCAweDQwRTAwMDA0LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMyAobkNTNSkgbGV2ZWwiIH0sCit7ICJHUExSMV8zNCIsIDB4NDBFMDAwMDQsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM0IChGRl9SWEQpIGxldmVsIiB9LAoreyAiR1BMUjFfMzUiLCAweDQwRTAwMDA0LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNSAoRkZfQ1RTKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzM2IiwgMHg0MEUwMDAwNCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzYgKEZGX0RDRCkgbGV2ZWwiIH0sCit7ICJHUExSMV8zNyIsIDB4NDBFMDAwMDQsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM3IChGRl9EU1IpIGxldmVsIiB9LAoreyAiR1BMUjFfMzgiLCAweDQwRTAwMDA0LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOCAoRkZfUkkpIGxldmVsIiB9LAoreyAiR1BMUjFfMzkiLCAweDQwRTAwMDA0LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOSAoRkZfVFhEKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzQwIiwgMHg0MEUwMDAwNCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDAgKEZGX0RUUikgbGV2ZWwiIH0sCit7ICJHUExSMV80MSIsIDB4NDBFMDAwMDQsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQxIChGRl9SVFMpIGxldmVsIiB9LAoreyAiR1BMUjFfNDIiLCAweDQwRTAwMDA0LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MiAoQlRfUlhEKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzQzIiwgMHg0MEUwMDAwNCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDMgKEJUX1RYRCkgbGV2ZWwiIH0sCit7ICJHUExSMV80NCIsIDB4NDBFMDAwMDQsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ0IChCVF9DVFMpIGxldmVsIiB9LAoreyAiR1BMUjFfNDUiLCAweDQwRTAwMDA0LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NSAoQlRfUlRTKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzQ2IiwgMHg0MEUwMDAwNCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDYgKElSX1JYRCkgbGV2ZWwiIH0sCit7ICJHUExSMV80NyIsIDB4NDBFMDAwMDQsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ3IChJUl9UWEQpIGxldmVsIiB9LAoreyAiR1BMUjFfNDgiLCAweDQwRTAwMDA0LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OCAoblBPRSkgbGV2ZWwiIH0sCit7ICJHUExSMV80OSIsIDB4NDBFMDAwMDQsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ5IChuUFdFKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzUwIiwgMHg0MEUwMDAwNCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgKG5QSU9SKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzUxIiwgMHg0MEUwMDAwNCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTEgKG5QSU9XKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzUyIiwgMHg0MEUwMDAwNCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTIgKG5QQ0UxKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzUzIiwgMHg0MEUwMDAwNCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgKG5QQ0UyKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzU0IiwgMHg0MEUwMDAwNCwgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTQgKG5QS1RTRUwpIGxldmVsIiB9LAoreyAiR1BMUjFfNTUiLCAweDQwRTAwMDA0LCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NSAoblBSRUcpIGxldmVsIiB9LAoreyAiR1BMUjFfNTYiLCAweDQwRTAwMDA0LCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NiAoblBXQUlUKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzU3IiwgMHg0MEUwMDAwNCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTcgKG5JT0lTMTYpIGxldmVsIiB9LAoreyAiR1BMUjFfNTgiLCAweDQwRTAwMDA0LCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1OCAoTEREMCkgbGV2ZWwiIH0sCit7ICJHUExSMV81OSIsIDB4NDBFMDAwMDQsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU5IChMREQxKSBsZXZlbCIgfSwKK3sgIkdQTFIxXzYwIiwgMHg0MEUwMDAwNCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjAgKExERDIpIGxldmVsIiB9LAoreyAiR1BMUjFfNjEiLCAweDQwRTAwMDA0LCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MSAoTEREMykgbGV2ZWwiIH0sCit7ICJHUExSMV82MiIsIDB4NDBFMDAwMDQsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYyIChMREQ0KSBsZXZlbCIgfSwKK3sgIkdQTFIxXzYzIiwgMHg0MEUwMDAwNCwgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjMgKExERDUpIGxldmVsIiB9LAorI2Vsc2UKK3sgIkdQTFIxXzMyIiwgMHg0MEUwMDAwNCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzIgbGV2ZWwiIH0sCit7ICJHUExSMV8zMyIsIDB4NDBFMDAwMDQsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMzIGxldmVsIiB9LAoreyAiR1BMUjFfMzQiLCAweDQwRTAwMDA0LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNCBsZXZlbCIgfSwKK3sgIkdQTFIxXzM1IiwgMHg0MEUwMDAwNCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgbGV2ZWwiIH0sCit7ICJHUExSMV8zNiIsIDB4NDBFMDAwMDQsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM2IGxldmVsIiB9LAoreyAiR1BMUjFfMzciLCAweDQwRTAwMDA0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNyBsZXZlbCIgfSwKK3sgIkdQTFIxXzM4IiwgMHg0MEUwMDAwNCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggbGV2ZWwiIH0sCit7ICJHUExSMV8zOSIsIDB4NDBFMDAwMDQsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM5IGxldmVsIiB9LAoreyAiR1BMUjFfNDAiLCAweDQwRTAwMDA0LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MCBsZXZlbCIgfSwKK3sgIkdQTFIxXzQxIiwgMHg0MEUwMDAwNCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDEgbGV2ZWwiIH0sCit7ICJHUExSMV80MiIsIDB4NDBFMDAwMDQsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQyIGxldmVsIiB9LAoreyAiR1BMUjFfNDMiLCAweDQwRTAwMDA0LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MyBsZXZlbCIgfSwKK3sgIkdQTFIxXzQ0IiwgMHg0MEUwMDAwNCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDQgbGV2ZWwiIH0sCit7ICJHUExSMV80NSIsIDB4NDBFMDAwMDQsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ1IGxldmVsIiB9LAoreyAiR1BMUjFfNDYiLCAweDQwRTAwMDA0LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NiBsZXZlbCIgfSwKK3sgIkdQTFIxXzQ3IiwgMHg0MEUwMDAwNCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDcgbGV2ZWwiIH0sCit7ICJHUExSMV80OCIsIDB4NDBFMDAwMDQsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ4IGxldmVsIiB9LAoreyAiR1BMUjFfNDkiLCAweDQwRTAwMDA0LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OSBsZXZlbCIgfSwKK3sgIkdQTFIxXzUwIiwgMHg0MEUwMDAwNCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgbGV2ZWwiIH0sCit7ICJHUExSMV81MSIsIDB4NDBFMDAwMDQsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUxIGxldmVsIiB9LAoreyAiR1BMUjFfNTIiLCAweDQwRTAwMDA0LCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MiBsZXZlbCIgfSwKK3sgIkdQTFIxXzUzIiwgMHg0MEUwMDAwNCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgbGV2ZWwiIH0sCit7ICJHUExSMV81NCIsIDB4NDBFMDAwMDQsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU0IGxldmVsIiB9LAoreyAiR1BMUjFfNTUiLCAweDQwRTAwMDA0LCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NSBsZXZlbCIgfSwKK3sgIkdQTFIxXzU2IiwgMHg0MEUwMDAwNCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgbGV2ZWwiIH0sCit7ICJHUExSMV81NyIsIDB4NDBFMDAwMDQsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU3IGxldmVsIiB9LAoreyAiR1BMUjFfNTgiLCAweDQwRTAwMDA0LCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1OCBsZXZlbCIgfSwKK3sgIkdQTFIxXzU5IiwgMHg0MEUwMDAwNCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTkgbGV2ZWwiIH0sCit7ICJHUExSMV82MCIsIDB4NDBFMDAwMDQsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYwIGxldmVsIiB9LAoreyAiR1BMUjFfNjEiLCAweDQwRTAwMDA0LCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MSBsZXZlbCIgfSwKK3sgIkdQTFIxXzYyIiwgMHg0MEUwMDAwNCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjIgbGV2ZWwiIH0sCit7ICJHUExSMV82MyIsIDB4NDBFMDAwMDQsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYzIGxldmVsIiB9LAorI2VuZGlmCisKK3sgIkdQTFIyIiwgICAgMHg0MEUwMDAwOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gTGV2ZWwgUmVnaXN0ZXIgMiAoNC04KSIgfSwKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX1JBTVNFUykKK3sgIkdQTFIyXzY0IiwgMHg0MEUwMDAwOCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjQgKExERDYpIGxldmVsIiB9LAoreyAiR1BMUjJfNjUiLCAweDQwRTAwMDA4LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NSAoTERENykgbGV2ZWwiIH0sCit7ICJHUExSMl82NiIsIDB4NDBFMDAwMDgsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY2IChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl82NyIsIDB4NDBFMDAwMDgsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY3IChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl82OCIsIDB4NDBFMDAwMDgsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY4IChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl82OSIsIDB4NDBFMDAwMDgsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY5IChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl83MCIsIDB4NDBFMDAwMDgsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcwIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl83MSIsIDB4NDBFMDAwMDgsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcxIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl83MiIsIDB4NDBFMDAwMDgsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcyIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl83MyIsIDB4NDBFMDAwMDgsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDczIChuYykgbGV2ZWwiIH0sCit7ICJHUExSMl83NCIsIDB4NDBFMDAwMDgsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc0IChGQ0xLKSBsZXZlbCIgfSwKK3sgIkdQTFIyXzc1IiwgMHg0MEUwMDAwOCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzUgKExDTEspIGxldmVsIiB9LAoreyAiR1BMUjJfNzYiLCAweDQwRTAwMDA4LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NiAoUENMSykgbGV2ZWwiIH0sCit7ICJHUExSMl83NyIsIDB4NDBFMDAwMDgsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc3IChCSUFTKSBsZXZlbCIgfSwKK3sgIkdQTFIyXzc4IiwgMHg0MEUwMDAwOCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzggKG5DUzIpIGxldmVsIiB9LAoreyAiR1BMUjJfNzkiLCAweDQwRTAwMDA4LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OSAobkNTMykgbGV2ZWwiIH0sCit7ICJHUExSMl84MCIsIDB4NDBFMDAwMDgsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgwIChuQ1M0KSBsZXZlbCIgfSwKK3sgIkdQTFIyXzgxIiwgMHg0MEUwMDAwOCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODEgKG5jKSBsZXZlbCIgfSwKK3sgIkdQTFIyXzgyIiwgMHg0MEUwMDAwOCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODIgKG5jKSBsZXZlbCIgfSwKK3sgIkdQTFIyXzgzIiwgMHg0MEUwMDAwOCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODMgKG5jKSBsZXZlbCIgfSwKK3sgIkdQTFIyXzg0IiwgMHg0MEUwMDAwOCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODQgKG5jKSBsZXZlbCIgfSwKKyNlbHNlCit7ICJHUExSMl82NCIsIDB4NDBFMDAwMDgsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY0IGxldmVsIiB9LAoreyAiR1BMUjJfNjUiLCAweDQwRTAwMDA4LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NSBsZXZlbCIgfSwKK3sgIkdQTFIyXzY2IiwgMHg0MEUwMDAwOCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjYgbGV2ZWwiIH0sCit7ICJHUExSMl82NyIsIDB4NDBFMDAwMDgsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY3IGxldmVsIiB9LAoreyAiR1BMUjJfNjgiLCAweDQwRTAwMDA4LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2OCBsZXZlbCIgfSwKK3sgIkdQTFIyXzY5IiwgMHg0MEUwMDAwOCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjkgbGV2ZWwiIH0sCit7ICJHUExSMl83MCIsIDB4NDBFMDAwMDgsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcwIGxldmVsIiB9LAoreyAiR1BMUjJfNzEiLCAweDQwRTAwMDA4LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MSBsZXZlbCIgfSwKK3sgIkdQTFIyXzcyIiwgMHg0MEUwMDAwOCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzIgbGV2ZWwiIH0sCit7ICJHUExSMl83MyIsIDB4NDBFMDAwMDgsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDczIGxldmVsIiB9LAoreyAiR1BMUjJfNzQiLCAweDQwRTAwMDA4LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NCBsZXZlbCIgfSwKK3sgIkdQTFIyXzc1IiwgMHg0MEUwMDAwOCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzUgbGV2ZWwiIH0sCit7ICJHUExSMl83NiIsIDB4NDBFMDAwMDgsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc2IGxldmVsIiB9LAoreyAiR1BMUjJfNzciLCAweDQwRTAwMDA4LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NyBsZXZlbCIgfSwKK3sgIkdQTFIyXzc4IiwgMHg0MEUwMDAwOCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzggbGV2ZWwiIH0sCit7ICJHUExSMl83OSIsIDB4NDBFMDAwMDgsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc5IGxldmVsIiB9LAoreyAiR1BMUjJfODAiLCAweDQwRTAwMDA4LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MCBsZXZlbCIgfSwKK3sgIkdQTFIyXzgxIiwgMHg0MEUwMDAwOCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODEgbGV2ZWwiIH0sCit7ICJHUExSMl84MiIsIDB4NDBFMDAwMDgsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgyIGxldmVsIiB9LAoreyAiR1BMUjJfODMiLCAweDQwRTAwMDA4LCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MyBsZXZlbCIgfSwKK3sgIkdQTFIyXzg0IiwgMHg0MEUwMDAwOCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODQgbGV2ZWwiIH0sCisjZW5kaWYKKworeyAiR1BEUjAiLCAgICAweDQwRTAwMDBDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBEaXJlY3Rpb24gUmVnaXN0ZXIgMCAoNC05KSIgfSwKK3sgIkdQRFIwXzAiLCAgMHg0MEUwMDAwQywgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8xIiwgIDB4NDBFMDAwMEMsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMiIsICAweDQwRTAwMDBDLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzMiLCAgMHg0MEUwMDAwQywgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF80IiwgIDB4NDBFMDAwMEMsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfNSIsICAweDQwRTAwMDBDLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzYiLCAgMHg0MEUwMDAwQywgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF83IiwgIDB4NDBFMDAwMEMsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfOCIsICAweDQwRTAwMDBDLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzkiLCAgMHg0MEUwMDAwQywgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8xMCIsIDB4NDBFMDAwMEMsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEwIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzExIiwgMHg0MEUwMDAwQywgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTEgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMTIiLCAweDQwRTAwMDBDLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8xMyIsIDB4NDBFMDAwMEMsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEzIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzE0IiwgMHg0MEUwMDAwQywgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMTUiLCAweDQwRTAwMDBDLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8xNiIsIDB4NDBFMDAwMEMsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE2IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzE3IiwgMHg0MEUwMDAwQywgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTcgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMTgiLCAweDQwRTAwMDBDLCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8xOSIsIDB4NDBFMDAwMEMsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE5IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzIwIiwgMHg0MEUwMDAwQywgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjAgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMjEiLCAweDQwRTAwMDBDLCAyMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8yMiIsIDB4NDBFMDAwMEMsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIyIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzIzIiwgMHg0MEUwMDAwQywgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjMgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMjQiLCAweDQwRTAwMDBDLCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8yNSIsIDB4NDBFMDAwMEMsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI1IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzI2IiwgMHg0MEUwMDAwQywgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjYgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMjciLCAweDQwRTAwMDBDLCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8yOCIsIDB4NDBFMDAwMEMsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI4IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIwXzI5IiwgMHg0MEUwMDAwQywgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjkgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjBfMzAiLCAweDQwRTAwMDBDLCAzMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMF8zMSIsIDB4NDBFMDAwMEMsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMxIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKKworeyAiR1BEUjEiLCAgICAweDQwRTAwMDEwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBEaXJlY3Rpb24gUmVnaXN0ZXIgMSAoNC05KSIgfSwKK3sgIkdQRFIxXzMyIiwgMHg0MEUwMDAxMCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzIgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfMzMiLCAweDQwRTAwMDEwLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV8zNCIsIDB4NDBFMDAwMTAsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM0IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzM1IiwgMHg0MEUwMDAxMCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfMzYiLCAweDQwRTAwMDEwLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV8zNyIsIDB4NDBFMDAwMTAsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM3IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzM4IiwgMHg0MEUwMDAxMCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfMzkiLCAweDQwRTAwMDEwLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV80MCIsIDB4NDBFMDAwMTAsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQwIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzQxIiwgMHg0MEUwMDAxMCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDEgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNDIiLCAweDQwRTAwMDEwLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV80MyIsIDB4NDBFMDAwMTAsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQzIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzQ0IiwgMHg0MEUwMDAxMCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDQgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNDUiLCAweDQwRTAwMDEwLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV80NiIsIDB4NDBFMDAwMTAsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ2IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzQ3IiwgMHg0MEUwMDAxMCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDcgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNDgiLCAweDQwRTAwMDEwLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV80OSIsIDB4NDBFMDAwMTAsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ5IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzUwIiwgMHg0MEUwMDAxMCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNTEiLCAweDQwRTAwMDEwLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV81MiIsIDB4NDBFMDAwMTAsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUyIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzUzIiwgMHg0MEUwMDAxMCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNTQiLCAweDQwRTAwMDEwLCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV81NSIsIDB4NDBFMDAwMTAsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU1IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzU2IiwgMHg0MEUwMDAxMCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNTciLCAweDQwRTAwMDEwLCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV81OCIsIDB4NDBFMDAwMTAsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU4IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzU5IiwgMHg0MEUwMDAxMCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTkgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNjAiLCAweDQwRTAwMDEwLCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMV82MSIsIDB4NDBFMDAwMTAsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYxIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIxXzYyIiwgMHg0MEUwMDAxMCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjIgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjFfNjMiLCAweDQwRTAwMDEwLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MyBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCisKK3sgIkdQRFIyIiwgICAgMHg0MEUwMDAxNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gRGlyZWN0aW9uIFJlZ2lzdGVyIDIgKDQtOSkiIH0sCit7ICJHUERSMl82NCIsIDB4NDBFMDAwMTQsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY0IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzY1IiwgMHg0MEUwMDAxNCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjUgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNjYiLCAweDQwRTAwMDE0LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl82NyIsIDB4NDBFMDAwMTQsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY3IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzY4IiwgMHg0MEUwMDAxNCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjggaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNjkiLCAweDQwRTAwMDE0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2OSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl83MCIsIDB4NDBFMDAwMTQsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcwIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzcxIiwgMHg0MEUwMDAxNCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzEgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNzIiLCAweDQwRTAwMDE0LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MiBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl83MyIsIDB4NDBFMDAwMTQsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDczIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzc0IiwgMHg0MEUwMDAxNCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzQgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNzUiLCAweDQwRTAwMDE0LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl83NiIsIDB4NDBFMDAwMTQsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc2IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzc3IiwgMHg0MEUwMDAxNCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzcgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfNzgiLCAweDQwRTAwMDE0LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl83OSIsIDB4NDBFMDAwMTQsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc5IGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzgwIiwgMHg0MEUwMDAxNCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODAgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfODEiLCAweDQwRTAwMDE0LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MSBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCit7ICJHUERSMl84MiIsIDB4NDBFMDAwMTQsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgyIGkvbyBkaXJlY3Rpb24gKDE9b3V0cHV0KSIgfSwKK3sgIkdQRFIyXzgzIiwgMHg0MEUwMDAxNCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODMgaS9vIGRpcmVjdGlvbiAoMT1vdXRwdXQpIiB9LAoreyAiR1BEUjJfODQiLCAweDQwRTAwMDE0LCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4NCBpL28gZGlyZWN0aW9uICgxPW91dHB1dCkiIH0sCisKK3sgIkdQU1IwIiwgICAgMHg0MEUwMDAxOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gU2V0IFJlZ2lzdGVyIDAgKDQtMTApIiB9LAoreyAiR1BTUjBfMCIsICAweDQwRTAwMDE4LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAwIHNldCIgfSwKK3sgIkdQU1IwXzEiLCAgMHg0MEUwMDAxOCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMSBzZXQiIH0sCit7ICJHUFNSMF8yIiwgIDB4NDBFMDAwMTgsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIgc2V0IiB9LAoreyAiR1BTUjBfMyIsICAweDQwRTAwMDE4LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzIHNldCIgfSwKK3sgIkdQU1IwXzQiLCAgMHg0MEUwMDAxOCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNCBzZXQiIH0sCit7ICJHUFNSMF81IiwgIDB4NDBFMDAwMTgsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUgc2V0IiB9LAoreyAiR1BTUjBfNiIsICAweDQwRTAwMDE4LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2IHNldCIgfSwKK3sgIkdQU1IwXzciLCAgMHg0MEUwMDAxOCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNyBzZXQiIH0sCit7ICJHUFNSMF84IiwgIDB4NDBFMDAwMTgsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDggc2V0IiB9LAoreyAiR1BTUjBfOSIsICAweDQwRTAwMDE4LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA5IHNldCIgfSwKK3sgIkdQU1IwXzEwIiwgMHg0MEUwMDAxOCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTAgc2V0IiB9LAoreyAiR1BTUjBfMTEiLCAweDQwRTAwMDE4LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMSBzZXQiIH0sCit7ICJHUFNSMF8xMiIsIDB4NDBFMDAwMTgsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEyIHNldCIgfSwKK3sgIkdQU1IwXzEzIiwgMHg0MEUwMDAxOCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTMgc2V0IiB9LAoreyAiR1BTUjBfMTQiLCAweDQwRTAwMDE4LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNCBzZXQiIH0sCit7ICJHUFNSMF8xNSIsIDB4NDBFMDAwMTgsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE1IHNldCIgfSwKK3sgIkdQU1IwXzE2IiwgMHg0MEUwMDAxOCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTYgc2V0IiB9LAoreyAiR1BTUjBfMTciLCAweDQwRTAwMDE4LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNyBzZXQiIH0sCit7ICJHUFNSMF8xOCIsIDB4NDBFMDAwMTgsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE4IHNldCIgfSwKK3sgIkdQU1IwXzE5IiwgMHg0MEUwMDAxOCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTkgc2V0IiB9LAoreyAiR1BTUjBfMjAiLCAweDQwRTAwMDE4LCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMCBzZXQiIH0sCit7ICJHUFNSMF8yMSIsIDB4NDBFMDAwMTgsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIxIHNldCIgfSwKK3sgIkdQU1IwXzIyIiwgMHg0MEUwMDAxOCwgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjIgc2V0IiB9LAoreyAiR1BTUjBfMjMiLCAweDQwRTAwMDE4LCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMyBzZXQiIH0sCit7ICJHUFNSMF8yNCIsIDB4NDBFMDAwMTgsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI0IHNldCIgfSwKK3sgIkdQU1IwXzI1IiwgMHg0MEUwMDAxOCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjUgc2V0IiB9LAoreyAiR1BTUjBfMjYiLCAweDQwRTAwMDE4LCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNiBzZXQiIH0sCit7ICJHUFNSMF8yNyIsIDB4NDBFMDAwMTgsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI3IHNldCIgfSwKK3sgIkdQU1IwXzI4IiwgMHg0MEUwMDAxOCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjggc2V0IiB9LAoreyAiR1BTUjBfMjkiLCAweDQwRTAwMDE4LCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyOSBzZXQiIH0sCit7ICJHUFNSMF8zMCIsIDB4NDBFMDAwMTgsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMwIHNldCIgfSwKK3sgIkdQU1IwXzMxIiwgMHg0MEUwMDAxOCwgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzEgc2V0IiB9LAorCit7ICJHUFNSMSIsICAgIDB4NDBFMDAwMUMsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIFNldCBSZWdpc3RlciAxICg0LTEwKSIgfSwKK3sgIkdQU1IxXzMyIiwgMHg0MEUwMDAxQywgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzIgc2V0IiB9LAoreyAiR1BTUjFfMzMiLCAweDQwRTAwMDFDLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMyBzZXQiIH0sCit7ICJHUFNSMV8zNCIsIDB4NDBFMDAwMUMsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM0IHNldCIgfSwKK3sgIkdQU1IxXzM1IiwgMHg0MEUwMDAxQywgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgc2V0IiB9LAoreyAiR1BTUjFfMzYiLCAweDQwRTAwMDFDLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNiBzZXQiIH0sCit7ICJHUFNSMV8zNyIsIDB4NDBFMDAwMUMsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM3IHNldCIgfSwKK3sgIkdQU1IxXzM4IiwgMHg0MEUwMDAxQywgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggc2V0IiB9LAoreyAiR1BTUjFfMzkiLCAweDQwRTAwMDFDLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOSBzZXQiIH0sCit7ICJHUFNSMV80MCIsIDB4NDBFMDAwMUMsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQwIHNldCIgfSwKK3sgIkdQU1IxXzQxIiwgMHg0MEUwMDAxQywgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDEgc2V0IiB9LAoreyAiR1BTUjFfNDIiLCAweDQwRTAwMDFDLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MiBzZXQiIH0sCit7ICJHUFNSMV80MyIsIDB4NDBFMDAwMUMsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQzIHNldCIgfSwKK3sgIkdQU1IxXzQ0IiwgMHg0MEUwMDAxQywgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDQgc2V0IiB9LAoreyAiR1BTUjFfNDUiLCAweDQwRTAwMDFDLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NSBzZXQiIH0sCit7ICJHUFNSMV80NiIsIDB4NDBFMDAwMUMsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ2IHNldCIgfSwKK3sgIkdQU1IxXzQ3IiwgMHg0MEUwMDAxQywgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDcgc2V0IiB9LAoreyAiR1BTUjFfNDgiLCAweDQwRTAwMDFDLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OCBzZXQiIH0sCit7ICJHUFNSMV80OSIsIDB4NDBFMDAwMUMsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ5IHNldCIgfSwKK3sgIkdQU1IxXzUwIiwgMHg0MEUwMDAxQywgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgc2V0IiB9LAoreyAiR1BTUjFfNTEiLCAweDQwRTAwMDFDLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MSBzZXQiIH0sCit7ICJHUFNSMV81MiIsIDB4NDBFMDAwMUMsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUyIHNldCIgfSwKK3sgIkdQU1IxXzUzIiwgMHg0MEUwMDAxQywgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgc2V0IiB9LAoreyAiR1BTUjFfNTQiLCAweDQwRTAwMDFDLCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NCBzZXQiIH0sCit7ICJHUFNSMV81NSIsIDB4NDBFMDAwMUMsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU1IHNldCIgfSwKK3sgIkdQU1IxXzU2IiwgMHg0MEUwMDAxQywgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgc2V0IiB9LAoreyAiR1BTUjFfNTciLCAweDQwRTAwMDFDLCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NyBzZXQiIH0sCit7ICJHUFNSMV81OCIsIDB4NDBFMDAwMUMsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU4IHNldCIgfSwKK3sgIkdQU1IxXzU5IiwgMHg0MEUwMDAxQywgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTkgc2V0IiB9LAoreyAiR1BTUjFfNjAiLCAweDQwRTAwMDFDLCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MCBzZXQiIH0sCit7ICJHUFNSMV82MSIsIDB4NDBFMDAwMUMsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYxIHNldCIgfSwKK3sgIkdQU1IxXzYyIiwgMHg0MEUwMDAxQywgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjIgc2V0IiB9LAoreyAiR1BTUjFfNjMiLCAweDQwRTAwMDFDLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MyBzZXQiIH0sCisKK3sgIkdQU1IyIiwgICAgMHg0MEUwMDAyMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gU2V0IFJlZ2lzdGVyIDIgKDQtMTEpIiB9LAoreyAiR1BTUjJfNjQiLCAweDQwRTAwMDIwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NCBzZXQiIH0sCit7ICJHUFNSMl82NSIsIDB4NDBFMDAwMjAsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY1IHNldCIgfSwKK3sgIkdQU1IyXzY2IiwgMHg0MEUwMDAyMCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjYgc2V0IiB9LAoreyAiR1BTUjJfNjciLCAweDQwRTAwMDIwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NyBzZXQiIH0sCit7ICJHUFNSMl82OCIsIDB4NDBFMDAwMjAsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY4IHNldCIgfSwKK3sgIkdQU1IyXzY5IiwgMHg0MEUwMDAyMCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjkgc2V0IiB9LAoreyAiR1BTUjJfNzAiLCAweDQwRTAwMDIwLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MCBzZXQiIH0sCit7ICJHUFNSMl83MSIsIDB4NDBFMDAwMjAsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcxIHNldCIgfSwKK3sgIkdQU1IyXzcyIiwgMHg0MEUwMDAyMCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzIgc2V0IiB9LAoreyAiR1BTUjJfNzMiLCAweDQwRTAwMDIwLCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MyBzZXQiIH0sCit7ICJHUFNSMl83NCIsIDB4NDBFMDAwMjAsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc0IHNldCIgfSwKK3sgIkdQU1IyXzc1IiwgMHg0MEUwMDAyMCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzUgc2V0IiB9LAoreyAiR1BTUjJfNzYiLCAweDQwRTAwMDIwLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NiBzZXQiIH0sCit7ICJHUFNSMl83NyIsIDB4NDBFMDAwMjAsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc3IHNldCIgfSwKK3sgIkdQU1IyXzc4IiwgMHg0MEUwMDAyMCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzggc2V0IiB9LAoreyAiR1BTUjJfNzkiLCAweDQwRTAwMDIwLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OSBzZXQiIH0sCit7ICJHUFNSMl84MCIsIDB4NDBFMDAwMjAsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgwIHNldCIgfSwKK3sgIkdQU1IyXzgxIiwgMHg0MEUwMDAyMCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODEgc2V0IiB9LAoreyAiR1BTUjJfODIiLCAweDQwRTAwMDIwLCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MiBzZXQiIH0sCit7ICJHUFNSMl84MyIsIDB4NDBFMDAwMjAsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgzIHNldCIgfSwKK3sgIkdQU1IyXzg0IiwgMHg0MEUwMDAyMCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODQgc2V0IiB9LAorCit7ICJHUENSMCIsICAgIDB4NDBFMDAwMjQsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIENsZWFyIFJlZ2lzdGVyIDAgKDQtMTEpIiB9LAoreyAiR1BDUjBfMCIsICAweDQwRTAwMDI0LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAwIGNsZWFyIiB9LAoreyAiR1BDUjBfMSIsICAweDQwRTAwMDI0LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxIGNsZWFyIiB9LAoreyAiR1BDUjBfMiIsICAweDQwRTAwMDI0LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyIGNsZWFyIiB9LAoreyAiR1BDUjBfMyIsICAweDQwRTAwMDI0LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzIGNsZWFyIiB9LAoreyAiR1BDUjBfNCIsICAweDQwRTAwMDI0LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0IGNsZWFyIiB9LAoreyAiR1BDUjBfNSIsICAweDQwRTAwMDI0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1IGNsZWFyIiB9LAoreyAiR1BDUjBfNiIsICAweDQwRTAwMDI0LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2IGNsZWFyIiB9LAoreyAiR1BDUjBfNyIsICAweDQwRTAwMDI0LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3IGNsZWFyIiB9LAoreyAiR1BDUjBfOCIsICAweDQwRTAwMDI0LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IGNsZWFyIiB9LAoreyAiR1BDUjBfOSIsICAweDQwRTAwMDI0LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA5IGNsZWFyIiB9LAoreyAiR1BDUjBfMTAiLCAweDQwRTAwMDI0LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMCBjbGVhciIgfSwKK3sgIkdQQ1IwXzExIiwgMHg0MEUwMDAyNCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTEgY2xlYXIiIH0sCit7ICJHUENSMF8xMiIsIDB4NDBFMDAwMjQsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEyIGNsZWFyIiB9LAoreyAiR1BDUjBfMTMiLCAweDQwRTAwMDI0LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMyBjbGVhciIgfSwKK3sgIkdQQ1IwXzE0IiwgMHg0MEUwMDAyNCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgY2xlYXIiIH0sCit7ICJHUENSMF8xNSIsIDB4NDBFMDAwMjQsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE1IGNsZWFyIiB9LAoreyAiR1BDUjBfMTYiLCAweDQwRTAwMDI0LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNiBjbGVhciIgfSwKK3sgIkdQQ1IwXzE3IiwgMHg0MEUwMDAyNCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTcgY2xlYXIiIH0sCit7ICJHUENSMF8xOCIsIDB4NDBFMDAwMjQsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE4IGNsZWFyIiB9LAoreyAiR1BDUjBfMTkiLCAweDQwRTAwMDI0LCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOSBjbGVhciIgfSwKK3sgIkdQQ1IwXzIwIiwgMHg0MEUwMDAyNCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjAgY2xlYXIiIH0sCit7ICJHUENSMF8yMSIsIDB4NDBFMDAwMjQsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIxIGNsZWFyIiB9LAoreyAiR1BDUjBfMjIiLCAweDQwRTAwMDI0LCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMiBjbGVhciIgfSwKK3sgIkdQQ1IwXzIzIiwgMHg0MEUwMDAyNCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjMgY2xlYXIiIH0sCit7ICJHUENSMF8yNCIsIDB4NDBFMDAwMjQsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI0IGNsZWFyIiB9LAoreyAiR1BDUjBfMjUiLCAweDQwRTAwMDI0LCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNSBjbGVhciIgfSwKK3sgIkdQQ1IwXzI2IiwgMHg0MEUwMDAyNCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjYgY2xlYXIiIH0sCit7ICJHUENSMF8yNyIsIDB4NDBFMDAwMjQsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI3IGNsZWFyIiB9LAoreyAiR1BDUjBfMjgiLCAweDQwRTAwMDI0LCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyOCBjbGVhciIgfSwKK3sgIkdQQ1IwXzI5IiwgMHg0MEUwMDAyNCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjkgY2xlYXIiIH0sCit7ICJHUENSMF8zMCIsIDB4NDBFMDAwMjQsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMwIGNsZWFyIiB9LAoreyAiR1BDUjBfMzEiLCAweDQwRTAwMDI0LCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMSBjbGVhciIgfSwKKworeyAiR1BDUjEiLCAgICAweDQwRTAwMDI4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBDbGVhciBSZWdpc3RlciAxICg0LTExKSIgfSwKK3sgIkdQQ1IxXzMyIiwgMHg0MEUwMDAyOCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzIgY2xlYXIiIH0sCit7ICJHUENSMV8zMyIsIDB4NDBFMDAwMjgsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMzIGNsZWFyIiB9LAoreyAiR1BDUjFfMzQiLCAweDQwRTAwMDI4LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNCBjbGVhciIgfSwKK3sgIkdQQ1IxXzM1IiwgMHg0MEUwMDAyOCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgY2xlYXIiIH0sCit7ICJHUENSMV8zNiIsIDB4NDBFMDAwMjgsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM2IGNsZWFyIiB9LAoreyAiR1BDUjFfMzciLCAweDQwRTAwMDI4LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNyBjbGVhciIgfSwKK3sgIkdQQ1IxXzM4IiwgMHg0MEUwMDAyOCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggY2xlYXIiIH0sCit7ICJHUENSMV8zOSIsIDB4NDBFMDAwMjgsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM5IGNsZWFyIiB9LAoreyAiR1BDUjFfNDAiLCAweDQwRTAwMDI4LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MCBjbGVhciIgfSwKK3sgIkdQQ1IxXzQxIiwgMHg0MEUwMDAyOCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDEgY2xlYXIiIH0sCit7ICJHUENSMV80MiIsIDB4NDBFMDAwMjgsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQyIGNsZWFyIiB9LAoreyAiR1BDUjFfNDMiLCAweDQwRTAwMDI4LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MyBjbGVhciIgfSwKK3sgIkdQQ1IxXzQ0IiwgMHg0MEUwMDAyOCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDQgY2xlYXIiIH0sCit7ICJHUENSMV80NSIsIDB4NDBFMDAwMjgsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ1IGNsZWFyIiB9LAoreyAiR1BDUjFfNDYiLCAweDQwRTAwMDI4LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NiBjbGVhciIgfSwKK3sgIkdQQ1IxXzQ3IiwgMHg0MEUwMDAyOCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDcgY2xlYXIiIH0sCit7ICJHUENSMV80OCIsIDB4NDBFMDAwMjgsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ4IGNsZWFyIiB9LAoreyAiR1BDUjFfNDkiLCAweDQwRTAwMDI4LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OSBjbGVhciIgfSwKK3sgIkdQQ1IxXzUwIiwgMHg0MEUwMDAyOCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgY2xlYXIiIH0sCit7ICJHUENSMV81MSIsIDB4NDBFMDAwMjgsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUxIGNsZWFyIiB9LAoreyAiR1BDUjFfNTIiLCAweDQwRTAwMDI4LCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MiBjbGVhciIgfSwKK3sgIkdQQ1IxXzUzIiwgMHg0MEUwMDAyOCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgY2xlYXIiIH0sCit7ICJHUENSMV81NCIsIDB4NDBFMDAwMjgsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU0IGNsZWFyIiB9LAoreyAiR1BDUjFfNTUiLCAweDQwRTAwMDI4LCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NSBjbGVhciIgfSwKK3sgIkdQQ1IxXzU2IiwgMHg0MEUwMDAyOCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgY2xlYXIiIH0sCit7ICJHUENSMV81NyIsIDB4NDBFMDAwMjgsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU3IGNsZWFyIiB9LAoreyAiR1BDUjFfNTgiLCAweDQwRTAwMDI4LCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1OCBjbGVhciIgfSwKK3sgIkdQQ1IxXzU5IiwgMHg0MEUwMDAyOCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTkgY2xlYXIiIH0sCit7ICJHUENSMV82MCIsIDB4NDBFMDAwMjgsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYwIGNsZWFyIiB9LAoreyAiR1BDUjFfNjEiLCAweDQwRTAwMDI4LCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MSBjbGVhciIgfSwKK3sgIkdQQ1IxXzYyIiwgMHg0MEUwMDAyOCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjIgY2xlYXIiIH0sCit7ICJHUENSMV82MyIsIDB4NDBFMDAwMjgsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYzIGNsZWFyIiB9LAorCit7ICJHUENSMiIsICAgIDB4NDBFMDAwMkMsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIENsZWFyIFJlZ2lzdGVyIDIgKDQtMTIpIiB9LAoreyAiR1BDUjJfNjQiLCAweDQwRTAwMDJDLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NCBjbGVhciIgfSwKK3sgIkdQQ1IyXzY1IiwgMHg0MEUwMDAyQywgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjUgY2xlYXIiIH0sCit7ICJHUENSMl82NiIsIDB4NDBFMDAwMkMsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY2IGNsZWFyIiB9LAoreyAiR1BDUjJfNjciLCAweDQwRTAwMDJDLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NyBjbGVhciIgfSwKK3sgIkdQQ1IyXzY4IiwgMHg0MEUwMDAyQywgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjggY2xlYXIiIH0sCit7ICJHUENSMl82OSIsIDB4NDBFMDAwMkMsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY5IGNsZWFyIiB9LAoreyAiR1BDUjJfNzAiLCAweDQwRTAwMDJDLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MCBjbGVhciIgfSwKK3sgIkdQQ1IyXzcxIiwgMHg0MEUwMDAyQywgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzEgY2xlYXIiIH0sCit7ICJHUENSMl83MiIsIDB4NDBFMDAwMkMsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcyIGNsZWFyIiB9LAoreyAiR1BDUjJfNzMiLCAweDQwRTAwMDJDLCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MyBjbGVhciIgfSwKK3sgIkdQQ1IyXzc0IiwgMHg0MEUwMDAyQywgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzQgY2xlYXIiIH0sCit7ICJHUENSMl83NSIsIDB4NDBFMDAwMkMsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc1IGNsZWFyIiB9LAoreyAiR1BDUjJfNzYiLCAweDQwRTAwMDJDLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NiBjbGVhciIgfSwKK3sgIkdQQ1IyXzc3IiwgMHg0MEUwMDAyQywgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzcgY2xlYXIiIH0sCit7ICJHUENSMl83OCIsIDB4NDBFMDAwMkMsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc4IGNsZWFyIiB9LAoreyAiR1BDUjJfNzkiLCAweDQwRTAwMDJDLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OSBjbGVhciIgfSwKK3sgIkdQQ1IyXzgwIiwgMHg0MEUwMDAyQywgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODAgY2xlYXIiIH0sCit7ICJHUENSMl84MSIsIDB4NDBFMDAwMkMsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgxIGNsZWFyIiB9LAoreyAiR1BDUjJfODIiLCAweDQwRTAwMDJDLCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MiBjbGVhciIgfSwKK3sgIkdQQ1IyXzgzIiwgMHg0MEUwMDAyQywgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODMgY2xlYXIiIH0sCit7ICJHUENSMl84NCIsIDB4NDBFMDAwMkMsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDg0IGNsZWFyIiB9LAorCit7ICJHUkVSMCIsICAgIDB4NDBFMDAwMzAsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIFJhaXNpbmcgRWRnZSBEZXRlY3QgRW5hYmxlIFJlZ2lzdGVyIDAgKDQtMTMpIiB9LAoreyAiR1JFUjBfMCIsICAweDQwRTAwMDMwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAwIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzEiLCAgMHg0MEUwMDAzMCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8yIiwgIDB4NDBFMDAwMzAsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMyIsICAweDQwRTAwMDMwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzQiLCAgMHg0MEUwMDAzMCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF81IiwgIDB4NDBFMDAwMzAsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfNiIsICAweDQwRTAwMDMwLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzciLCAgMHg0MEUwMDAzMCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF84IiwgIDB4NDBFMDAwMzAsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDggcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfOSIsICAweDQwRTAwMDMwLCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA5IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzEwIiwgMHg0MEUwMDAzMCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTAgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMTEiLCAweDQwRTAwMDMwLCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8xMiIsIDB4NDBFMDAwMzAsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEyIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzEzIiwgMHg0MEUwMDAzMCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTMgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMTQiLCAweDQwRTAwMDMwLCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8xNSIsIDB4NDBFMDAwMzAsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE1IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzE2IiwgMHg0MEUwMDAzMCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTYgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMTciLCAweDQwRTAwMDMwLCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8xOCIsIDB4NDBFMDAwMzAsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE4IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzE5IiwgMHg0MEUwMDAzMCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTkgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMjAiLCAweDQwRTAwMDMwLCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8yMSIsIDB4NDBFMDAwMzAsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIxIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzIyIiwgMHg0MEUwMDAzMCwgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjIgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMjMiLCAweDQwRTAwMDMwLCAyMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8yNCIsIDB4NDBFMDAwMzAsIDI0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI0IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzI1IiwgMHg0MEUwMDAzMCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjUgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMjYiLCAweDQwRTAwMDMwLCAyNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8yNyIsIDB4NDBFMDAwMzAsIDI3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI3IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzI4IiwgMHg0MEUwMDAzMCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjggcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjBfMjkiLCAweDQwRTAwMDMwLCAyOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyOSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMF8zMCIsIDB4NDBFMDAwMzAsIDMwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMwIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIwXzMxIiwgMHg0MEUwMDAzMCwgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzEgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAorCit7ICJHUkVSMSIsICAgIDB4NDBFMDAwMzQsICAwLCAweGZmZmZmZmZmLCAneCcsICJHUElPIFJhaXNpbmcgRWRnZSBEZXRlY3QgRW5hYmxlIFJlZ2lzdGVyIDEgKDQtMTMpIiB9LAoreyAiR1JFUjFfMzIiLCAweDQwRTAwMDM0LCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV8zMyIsIDB4NDBFMDAwMzQsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMzIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzM0IiwgMHg0MEUwMDAzNCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzQgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfMzUiLCAweDQwRTAwMDM0LCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV8zNiIsIDB4NDBFMDAwMzQsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM2IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzM3IiwgMHg0MEUwMDAzNCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzcgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfMzgiLCAweDQwRTAwMDM0LCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV8zOSIsIDB4NDBFMDAwMzQsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM5IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzQwIiwgMHg0MEUwMDAzNCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDAgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNDEiLCAweDQwRTAwMDM0LCAgOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV80MiIsIDB4NDBFMDAwMzQsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQyIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzQzIiwgMHg0MEUwMDAzNCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDMgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNDQiLCAweDQwRTAwMDM0LCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV80NSIsIDB4NDBFMDAwMzQsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ1IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzQ2IiwgMHg0MEUwMDAzNCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDYgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNDciLCAweDQwRTAwMDM0LCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV80OCIsIDB4NDBFMDAwMzQsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ4IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzQ5IiwgMHg0MEUwMDAzNCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDkgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNTAiLCAweDQwRTAwMDM0LCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV81MSIsIDB4NDBFMDAwMzQsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUxIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzUyIiwgMHg0MEUwMDAzNCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTIgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNTMiLCAweDQwRTAwMDM0LCAyMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV81NCIsIDB4NDBFMDAwMzQsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU0IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzU1IiwgMHg0MEUwMDAzNCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTUgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNTYiLCAweDQwRTAwMDM0LCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV81NyIsIDB4NDBFMDAwMzQsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU3IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzU4IiwgMHg0MEUwMDAzNCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTggcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNTkiLCAweDQwRTAwMDM0LCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1OSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV82MCIsIDB4NDBFMDAwMzQsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYwIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIxXzYxIiwgMHg0MEUwMDAzNCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjEgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjFfNjIiLCAweDQwRTAwMDM0LCAzMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MiByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMV82MyIsIDB4NDBFMDAwMzQsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYzIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKKworeyAiR1JFUjIiLCAgICAweDQwRTAwMDM4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBSYWlzaW5nIEVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAyICg0LTEzKSIgfSwKK3sgIkdSRVIyXzY0IiwgMHg0MEUwMDAzOCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjQgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNjUiLCAweDQwRTAwMDM4LCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl82NiIsIDB4NDBFMDAwMzgsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY2IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzY3IiwgMHg0MEUwMDAzOCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjcgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNjgiLCAweDQwRTAwMDM4LCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2OCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl82OSIsIDB4NDBFMDAwMzgsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY5IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzcwIiwgMHg0MEUwMDAzOCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzAgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNzEiLCAweDQwRTAwMDM4LCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MSByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl83MiIsIDB4NDBFMDAwMzgsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcyIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzczIiwgMHg0MEUwMDAzOCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzMgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNzQiLCAweDQwRTAwMDM4LCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl83NSIsIDB4NDBFMDAwMzgsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc1IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzc2IiwgMHg0MEUwMDAzOCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzYgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfNzciLCAweDQwRTAwMDM4LCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl83OCIsIDB4NDBFMDAwMzgsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc4IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzc5IiwgMHg0MEUwMDAzOCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzkgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfODAiLCAweDQwRTAwMDM4LCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MCByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl84MSIsIDB4NDBFMDAwMzgsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgxIHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdSRVIyXzgyIiwgMHg0MEUwMDAzOCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODIgcmFpc2luZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR1JFUjJfODMiLCAweDQwRTAwMDM4LCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MyByYWlzaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHUkVSMl84NCIsIDB4NDBFMDAwMzgsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDg0IHJhaXNpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKKworeyAiR0ZFUjAiLCAgICAweDQwRTAwMDNDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBGYWxsaW5nIEVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAwICg0LTE0KSIgfSwKK3sgIkdGRVIwXzAiLCAgMHg0MEUwMDAzQywgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8xIiwgIDB4NDBFMDAwM0MsICAxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMiIsICAweDQwRTAwMDNDLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzMiLCAgMHg0MEUwMDAzQywgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF80IiwgIDB4NDBFMDAwM0MsICA0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfNSIsICAweDQwRTAwMDNDLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzYiLCAgMHg0MEUwMDAzQywgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF83IiwgIDB4NDBFMDAwM0MsICA3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfOCIsICAweDQwRTAwMDNDLCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzkiLCAgMHg0MEUwMDAzQywgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gOSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8xMCIsIDB4NDBFMDAwM0MsIDEwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEwIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzExIiwgMHg0MEUwMDAzQywgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTEgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMTIiLCAweDQwRTAwMDNDLCAxMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxMiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8xMyIsIDB4NDBFMDAwM0MsIDEzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDEzIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzE0IiwgMHg0MEUwMDAzQywgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMTUiLCAweDQwRTAwMDNDLCAxNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxNSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8xNiIsIDB4NDBFMDAwM0MsIDE2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE2IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzE3IiwgMHg0MEUwMDAzQywgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTcgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMTgiLCAweDQwRTAwMDNDLCAxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAxOCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8xOSIsIDB4NDBFMDAwM0MsIDE5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDE5IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzIwIiwgMHg0MEUwMDAzQywgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjAgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMjEiLCAweDQwRTAwMDNDLCAyMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyMSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8yMiIsIDB4NDBFMDAwM0MsIDIyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDIyIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzIzIiwgMHg0MEUwMDAzQywgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjMgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMjQiLCAweDQwRTAwMDNDLCAyNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8yNSIsIDB4NDBFMDAwM0MsIDI1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI1IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzI2IiwgMHg0MEUwMDAzQywgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjYgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMjciLCAweDQwRTAwMDNDLCAyNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyNyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8yOCIsIDB4NDBFMDAwM0MsIDI4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDI4IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIwXzI5IiwgMHg0MEUwMDAzQywgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjkgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjBfMzAiLCAweDQwRTAwMDNDLCAzMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMF8zMSIsIDB4NDBFMDAwM0MsIDMxLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMxIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKKworeyAiR0ZFUjEiLCAgICAweDQwRTAwMDQwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBGYWxsaW5nIEVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAxICg0LTE0KSIgfSwKK3sgIkdGRVIxXzMyIiwgMHg0MEUwMDA0MCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzIgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfMzMiLCAweDQwRTAwMDQwLCAgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzMyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV8zNCIsIDB4NDBFMDAwNDAsICAyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM0IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzM1IiwgMHg0MEUwMDA0MCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfMzYiLCAweDQwRTAwMDQwLCAgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzNiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV8zNyIsIDB4NDBFMDAwNDAsICA1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDM3IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzM4IiwgMHg0MEUwMDA0MCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfMzkiLCAweDQwRTAwMDQwLCAgNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAzOSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV80MCIsIDB4NDBFMDAwNDAsICA4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQwIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzQxIiwgMHg0MEUwMDA0MCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDEgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNDIiLCAweDQwRTAwMDQwLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0MiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV80MyIsIDB4NDBFMDAwNDAsIDExLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQzIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzQ0IiwgMHg0MEUwMDA0MCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDQgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNDUiLCAweDQwRTAwMDQwLCAxMywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0NSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV80NiIsIDB4NDBFMDAwNDAsIDE0LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ2IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzQ3IiwgMHg0MEUwMDA0MCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDcgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNDgiLCAweDQwRTAwMDQwLCAxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA0OCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV80OSIsIDB4NDBFMDAwNDAsIDE3LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDQ5IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzUwIiwgMHg0MEUwMDA0MCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNTEiLCAweDQwRTAwMDQwLCAxOSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1MSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV81MiIsIDB4NDBFMDAwNDAsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDUyIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzUzIiwgMHg0MEUwMDA0MCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNTQiLCAweDQwRTAwMDQwLCAyMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV81NSIsIDB4NDBFMDAwNDAsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU1IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzU2IiwgMHg0MEUwMDA0MCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNTciLCAweDQwRTAwMDQwLCAyNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1NyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV81OCIsIDB4NDBFMDAwNDAsIDI2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDU4IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzU5IiwgMHg0MEUwMDA0MCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTkgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNjAiLCAweDQwRTAwMDQwLCAyOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMV82MSIsIDB4NDBFMDAwNDAsIDI5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYxIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIxXzYyIiwgMHg0MEUwMDA0MCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjIgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjFfNjMiLCAweDQwRTAwMDQwLCAzMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2MyBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCisKK3sgIkdGRVIyIiwgICAgMHg0MEUwMDA0NCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gRmFsbGluZyBFZGdlIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgMiAoNC0xNCkiIH0sCit7ICJHRkVSMl82NCIsIDB4NDBFMDAwNDQsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY0IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzY1IiwgMHg0MEUwMDA0NCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjUgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNjYiLCAweDQwRTAwMDQ0LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2NiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl82NyIsIDB4NDBFMDAwNDQsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDY3IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzY4IiwgMHg0MEUwMDA0NCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjggZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNjkiLCAweDQwRTAwMDQ0LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA2OSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl83MCIsIDB4NDBFMDAwNDQsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDcwIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzcxIiwgMHg0MEUwMDA0NCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzEgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNzIiLCAweDQwRTAwMDQ0LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3MiBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl83MyIsIDB4NDBFMDAwNDQsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDczIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzc0IiwgMHg0MEUwMDA0NCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzQgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNzUiLCAweDQwRTAwMDQ0LCAxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3NSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl83NiIsIDB4NDBFMDAwNDQsIDEyLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc2IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzc3IiwgMHg0MEUwMDA0NCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzcgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfNzgiLCAweDQwRTAwMDQ0LCAxNCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA3OCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl83OSIsIDB4NDBFMDAwNDQsIDE1LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDc5IGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzgwIiwgMHg0MEUwMDA0NCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODAgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfODEiLCAweDQwRTAwMDQ0LCAxNywgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4MSBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCit7ICJHRkVSMl84MiIsIDB4NDBFMDAwNDQsIDE4LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDgyIGZhbGxpbmcgZWRnZSBkZXRlY3QgZW5hYmxlZCIgfSwKK3sgIkdGRVIyXzgzIiwgMHg0MEUwMDA0NCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODMgZmFsbGluZyBlZGdlIGRldGVjdCBlbmFibGVkIiB9LAoreyAiR0ZFUjJfODQiLCAweDQwRTAwMDQ0LCAyMCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4NCBmYWxsaW5nIGVkZ2UgZGV0ZWN0IGVuYWJsZWQiIH0sCisKK3sgIkdFRFIwIiwgICAgMHg0MEUwMDA0OCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gRWRnZSBEZXRlY3QgUmVnaXN0ZXIgMCAoNC0xNSkiIH0sCit7ICJHRURSMF8wIiwgIDB4NDBFMDAwNDgsICAwLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzEiLCAgMHg0MEUwMDA0OCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMSBlZGdlIGRldGVjdGVkIiB9LAoreyAiR0VEUjBfMiIsICAweDQwRTAwMDQ4LCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyAyIGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF8zIiwgIDB4NDBFMDAwNDgsICAzLCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzQiLCAgMHg0MEUwMDA0OCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNCBlZGdlIGRldGVjdGVkIiB9LAoreyAiR0VEUjBfNSIsICAweDQwRTAwMDQ4LCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA1IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF82IiwgIDB4NDBFMDAwNDgsICA2LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzciLCAgMHg0MEUwMDA0OCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNyBlZGdlIGRldGVjdGVkIiB9LAoreyAiR0VEUjBfOCIsICAweDQwRTAwMDQ4LCAgOCwgMHgwMDAwMDAwMSwgJ2QnLCAiR1BJTyA4IGVkZ2UgZGV0ZWN0ZWQiIH0sCit7ICJHRURSMF85IiwgIDB4NDBFMDAwNDgsICA5LCAweDAwMDAwMDAxLCAnZCcsICJHUElPIDkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzEwIiwgMHg0MEUwMDA0OCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzExIiwgMHg0MEUwMDA0OCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzEyIiwgMHg0MEUwMDA0OCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzEzIiwgMHg0MEUwMDA0OCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzE0IiwgMHg0MEUwMDA0OCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzE1IiwgMHg0MEUwMDA0OCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzE2IiwgMHg0MEUwMDA0OCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzE3IiwgMHg0MEUwMDA0OCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzE4IiwgMHg0MEUwMDA0OCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzE5IiwgMHg0MEUwMDA0OCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMTkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzIwIiwgMHg0MEUwMDA0OCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzIxIiwgMHg0MEUwMDA0OCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzIyIiwgMHg0MEUwMDA0OCwgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzIzIiwgMHg0MEUwMDA0OCwgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzI0IiwgMHg0MEUwMDA0OCwgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzI1IiwgMHg0MEUwMDA0OCwgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzI2IiwgMHg0MEUwMDA0OCwgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzI3IiwgMHg0MEUwMDA0OCwgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzI4IiwgMHg0MEUwMDA0OCwgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzI5IiwgMHg0MEUwMDA0OCwgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMjkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzMwIiwgMHg0MEUwMDA0OCwgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIwXzMxIiwgMHg0MEUwMDA0OCwgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzEgZWRnZSBkZXRlY3RlZCIgfSwKKworeyAiR0VEUjEiLCAgICAweDQwRTAwMDRDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBFZGdlIERldGVjdCBSZWdpc3RlciAxICg0LTE2KSIgfSwKK3sgIkdFRFIxXzMyIiwgMHg0MEUwMDA0QywgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzMzIiwgMHg0MEUwMDA0QywgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzM0IiwgMHg0MEUwMDA0QywgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzM1IiwgMHg0MEUwMDA0QywgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzM2IiwgMHg0MEUwMDA0QywgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzM3IiwgMHg0MEUwMDA0QywgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzM4IiwgMHg0MEUwMDA0QywgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzM5IiwgMHg0MEUwMDA0QywgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gMzkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQwIiwgMHg0MEUwMDA0QywgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQxIiwgMHg0MEUwMDA0QywgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQyIiwgMHg0MEUwMDA0QywgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQzIiwgMHg0MEUwMDA0QywgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQ0IiwgMHg0MEUwMDA0QywgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQ1IiwgMHg0MEUwMDA0QywgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQ2IiwgMHg0MEUwMDA0QywgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQ3IiwgMHg0MEUwMDA0QywgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQ4IiwgMHg0MEUwMDA0QywgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzQ5IiwgMHg0MEUwMDA0QywgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNDkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzUwIiwgMHg0MEUwMDA0QywgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzUxIiwgMHg0MEUwMDA0QywgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzUyIiwgMHg0MEUwMDA0QywgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzUzIiwgMHg0MEUwMDA0QywgMjEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzU0IiwgMHg0MEUwMDA0QywgMjIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzU1IiwgMHg0MEUwMDA0QywgMjMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzU2IiwgMHg0MEUwMDA0QywgMjQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzU3IiwgMHg0MEUwMDA0QywgMjUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzU4IiwgMHg0MEUwMDA0QywgMjYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzU5IiwgMHg0MEUwMDA0QywgMjcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNTkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzYwIiwgMHg0MEUwMDA0QywgMjgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzYxIiwgMHg0MEUwMDA0QywgMjksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzYyIiwgMHg0MEUwMDA0QywgMzAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIxXzYzIiwgMHg0MEUwMDA0QywgMzEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjMgZWRnZSBkZXRlY3RlZCIgfSwKKworeyAiR0VEUjIiLCAgICAweDQwRTAwMDUwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBFZGdlIERldGVjdCBSZWdpc3RlciAyICg0LTE2KSIgfSwKK3sgIkdFRFIyXzY0IiwgMHg0MEUwMDA1MCwgIDAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzY1IiwgMHg0MEUwMDA1MCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzY2IiwgMHg0MEUwMDA1MCwgIDIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzY3IiwgMHg0MEUwMDA1MCwgIDMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzY4IiwgMHg0MEUwMDA1MCwgIDQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzY5IiwgMHg0MEUwMDA1MCwgIDUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNjkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzcwIiwgMHg0MEUwMDA1MCwgIDYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzcxIiwgMHg0MEUwMDA1MCwgIDcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzcyIiwgMHg0MEUwMDA1MCwgIDgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzczIiwgMHg0MEUwMDA1MCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzc0IiwgMHg0MEUwMDA1MCwgMTAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzQgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzc1IiwgMHg0MEUwMDA1MCwgMTEsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzUgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzc2IiwgMHg0MEUwMDA1MCwgMTIsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzYgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzc3IiwgMHg0MEUwMDA1MCwgMTMsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzcgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzc4IiwgMHg0MEUwMDA1MCwgMTQsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzggZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzc5IiwgMHg0MEUwMDA1MCwgMTUsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gNzkgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzgwIiwgMHg0MEUwMDA1MCwgMTYsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODAgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzgxIiwgMHg0MEUwMDA1MCwgMTcsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODEgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzgyIiwgMHg0MEUwMDA1MCwgMTgsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODIgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzgzIiwgMHg0MEUwMDA1MCwgMTksIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODMgZWRnZSBkZXRlY3RlZCIgfSwKK3sgIkdFRFIyXzg0IiwgMHg0MEUwMDA1MCwgMjAsIDB4MDAwMDAwMDEsICdkJywgIkdQSU8gODQgZWRnZSBkZXRlY3RlZCIgfSwKKworeyAiR0FGUjBMIiwgICAgMHg0MEUwMDA1NCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkdQSU8gQWx0ZXJuYXRlIEZ1bmN0aW9uIFJlZ2lzdGVyIDAgTG93ZXIgKDQtMTcpIiB9LAoreyAiR0FGUjBMXzAiLCAgMHg0MEUwMDA1NCwgIDAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzEiLCAgMHg0MEUwMDA1NCwgIDIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzIiLCAgMHg0MEUwMDA1NCwgIDQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzMiLCAgMHg0MEUwMDA1NCwgIDYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzQiLCAgMHg0MEUwMDA1NCwgIDgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzUiLCAgMHg0MEUwMDA1NCwgMTAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzYiLCAgMHg0MEUwMDA1NCwgMTIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzciLCAgMHg0MEUwMDA1NCwgMTQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzgiLCAgMHg0MEUwMDA1NCwgMTYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gOCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzkiLCAgMHg0MEUwMDA1NCwgMTgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gOSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzEwIiwgMHg0MEUwMDA1NCwgMjAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMTAgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF8xMSIsIDB4NDBFMDAwNTQsIDIyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDExIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMExfMTIiLCAweDQwRTAwMDU0LCAyNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAxMiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBMXzEzIiwgMHg0MEUwMDA1NCwgMjYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMTMgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwTF8xNCIsIDB4NDBFMDAwNTQsIDI4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDE0IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMExfMTUiLCAweDQwRTAwMDU0LCAzMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAxNSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAorCit7ICJHQUZSMFUiLCAgICAweDQwRTAwMDU4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gUmVnaXN0ZXIgMCBVcHBlciAoNC0xOCkiIH0sCit7ICJHQUZSMFVfMTYiLCAweDQwRTAwMDU4LCAgMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAxNiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzE3IiwgMHg0MEUwMDA1OCwgIDIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMTcgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8xOCIsIDB4NDBFMDAwNTgsICA0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDE4IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMTkiLCAweDQwRTAwMDU4LCAgNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAxOSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzIwIiwgMHg0MEUwMDA1OCwgIDgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMjAgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8yMSIsIDB4NDBFMDAwNTgsIDEwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDIxIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMjIiLCAweDQwRTAwMDU4LCAxMiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAyMiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzIzIiwgMHg0MEUwMDA1OCwgMTQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMjMgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8yNCIsIDB4NDBFMDAwNTgsIDE2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDI0IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMjUiLCAweDQwRTAwMDU4LCAxOCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAyNSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzI2IiwgMHg0MEUwMDA1OCwgMjAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMjYgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8yNyIsIDB4NDBFMDAwNTgsIDIyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDI3IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMjgiLCAweDQwRTAwMDU4LCAyNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAyOCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjBVXzI5IiwgMHg0MEUwMDA1OCwgMjYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMjkgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIwVV8zMCIsIDB4NDBFMDAwNTgsIDI4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDMwIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMFVfMzEiLCAweDQwRTAwMDU4LCAzMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAzMSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAorCit7ICJHQUZSMUwiLCAgICAweDQwRTAwMDVDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gUmVnaXN0ZXIgMSBMb3dlciAoNC0xOCkiIH0sCit7ICJHQUZSMUxfMzIiLCAweDQwRTAwMDVDLCAgMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAzMiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzMzIiwgMHg0MEUwMDA1QywgIDIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMzMgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF8zNCIsIDB4NDBFMDAwNUMsICA0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDM0IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfMzUiLCAweDQwRTAwMDVDLCAgNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAzNSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzM2IiwgMHg0MEUwMDA1QywgIDgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMzYgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF8zNyIsIDB4NDBFMDAwNUMsIDEwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDM3IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfMzgiLCAweDQwRTAwMDVDLCAxMiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyAzOCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzM5IiwgMHg0MEUwMDA1QywgMTQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gMzkgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF80MCIsIDB4NDBFMDAwNUMsIDE2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDQwIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfNDEiLCAweDQwRTAwMDVDLCAxOCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA0MSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzQyIiwgMHg0MEUwMDA1QywgMjAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNDIgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF80MyIsIDB4NDBFMDAwNUMsIDIyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDQzIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfNDQiLCAweDQwRTAwMDVDLCAyNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA0NCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFMXzQ1IiwgMHg0MEUwMDA1QywgMjYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNDUgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxTF80NiIsIDB4NDBFMDAwNUMsIDI4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDQ2IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMUxfNDciLCAweDQwRTAwMDVDLCAzMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA0NyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAorCit7ICJHQUZSMVUiLCAgICAweDQwRTAwMDYwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gUmVnaXN0ZXIgMSBVcHBlciAoNC0xOSkiIH0sCit7ICJHQUZSMVVfNDgiLCAweDQwRTAwMDYwLCAgMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA0OCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzQ5IiwgMHg0MEUwMDA2MCwgIDIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNDkgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV81MCIsIDB4NDBFMDAwNjAsICA0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDUwIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNTEiLCAweDQwRTAwMDYwLCAgNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA1MSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzUyIiwgMHg0MEUwMDA2MCwgIDgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNTIgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV81MyIsIDB4NDBFMDAwNjAsIDEwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDUzIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNTQiLCAweDQwRTAwMDYwLCAxMiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA1NCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzU1IiwgMHg0MEUwMDA2MCwgMTQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNTUgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV81NiIsIDB4NDBFMDAwNjAsIDE2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDU2IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNTciLCAweDQwRTAwMDYwLCAxOCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA1NyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzU4IiwgMHg0MEUwMDA2MCwgMjAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNTggYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV81OSIsIDB4NDBFMDAwNjAsIDIyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDU5IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNjAiLCAweDQwRTAwMDYwLCAyNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA2MCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjFVXzYxIiwgMHg0MEUwMDA2MCwgMjYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNjEgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIxVV82MiIsIDB4NDBFMDAwNjAsIDI4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDYyIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMVVfNjMiLCAweDQwRTAwMDYwLCAzMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA2MyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAorCit7ICJHQUZSMkwiLCAgICAweDQwRTAwMDY0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gUmVnaXN0ZXIgMiBMb3dlciAoNC0xOSkiIH0sCit7ICJHQUZSMkxfNjQiLCAweDQwRTAwMDY0LCAgMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA2NCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzY1IiwgMHg0MEUwMDA2NCwgIDIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNjUgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF82NiIsIDB4NDBFMDAwNjQsICA0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDY2IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNjciLCAweDQwRTAwMDY0LCAgNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA2NyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzY4IiwgMHg0MEUwMDA2NCwgIDgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNjggYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF82OSIsIDB4NDBFMDAwNjQsIDEwLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDY5IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNzAiLCAweDQwRTAwMDY0LCAxMiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA3MCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzcxIiwgMHg0MEUwMDA2NCwgMTQsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNzEgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF83MiIsIDB4NDBFMDAwNjQsIDE2LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDcyIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNzMiLCAweDQwRTAwMDY0LCAxOCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA3MyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzc0IiwgMHg0MEUwMDA2NCwgMjAsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNzQgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF83NSIsIDB4NDBFMDAwNjQsIDIyLCAweDAwMDAwMDAzLCAneCcsICJHUElPIDc1IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNzYiLCAweDQwRTAwMDY0LCAyNCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA3NiBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJMXzc3IiwgMHg0MEUwMDA2NCwgMjYsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gNzcgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyTF83OCIsIDB4NDBFMDAwNjQsIDI4LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDc4IGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMkxfNzkiLCAweDQwRTAwMDY0LCAzMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA3OSBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAorCit7ICJHQUZSMlUiLCAgICAweDQwRTAwMDY4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiR1BJTyBBbHRlcm5hdGUgRnVuY3Rpb24gUmVnaXN0ZXIgMiBVcHBlciAoNC0xOSkiIH0sCit7ICJHQUZSMlVfODAiLCAweDQwRTAwMDY4LCAgMCwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA4MCBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJVXzgxIiwgMHg0MEUwMDA2OCwgIDIsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gODEgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKK3sgIkdBRlIyVV84MiIsIDB4NDBFMDAwNjgsICA0LCAweDAwMDAwMDAzLCAneCcsICJHUElPIDgyIGFsdGVybmF0ZSBmdW5jdGlvbiBzZWxlY3QiIH0sCit7ICJHQUZSMlVfODMiLCAweDQwRTAwMDY4LCAgNiwgMHgwMDAwMDAwMywgJ3gnLCAiR1BJTyA4MyBhbHRlcm5hdGUgZnVuY3Rpb24gc2VsZWN0IiB9LAoreyAiR0FGUjJVXzg0IiwgMHg0MEUwMDA2OCwgIDgsIDB4MDAwMDAwMDMsICd4JywgIkdQSU8gODQgYWx0ZXJuYXRlIGZ1bmN0aW9uIHNlbGVjdCIgfSwKKworeyAiSUNNUiIsICAgICAgMHg0MEQwMDAwNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkludGVycnVwdCBDb250cm9sbGVyIE1hc2sgUmVnaXN0ZXIgKDQtMjIpIiB9LAoreyAiSUNNUl9JTTciLCAgMHg0MEQwMDAwNCwgIDcsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDcgKEhXVUFSVCkgdW5tYXNrZWQ/IiB9LAoreyAiSUNNUl9JTTgiLCAgMHg0MEQwMDAwNCwgIDgsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDggKEdQSU8wKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU05IiwgIDB4NDBEMDAwMDQsICA5LCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSA5IChHUElPMSkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMTAiLCAweDQwRDAwMDA0LCAxMCwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMTAgKEdQSU8yXzgwKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0xMSIsIDB4NDBEMDAwMDQsIDExLCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAxMSAoVVNCKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0xMiIsIDB4NDBEMDAwMDQsIDEyLCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAxMiAoUE1VKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0xMyIsIDB4NDBEMDAwMDQsIDEzLCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAxMyAoSTJTKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0xNCIsIDB4NDBEMDAwMDQsIDE0LCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAxNCAoQUM5NykgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMTciLCAweDQwRDAwMDA0LCAxNywgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMTcgKExDRCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMTgiLCAweDQwRDAwMDA0LCAxOCwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMTggKEkyQykgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMTkiLCAweDQwRDAwMDA0LCAxOSwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMTkgKElDUCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjAiLCAweDQwRDAwMDA0LCAyMCwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjAgKFNUVUFSVCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjEiLCAweDQwRDAwMDA0LCAyMSwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjEgKEJUVUFSVCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjIiLCAweDQwRDAwMDA0LCAyMiwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjIgKEZGVUFSVCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjMiLCAweDQwRDAwMDA0LCAyMywgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjMgKE1NQykgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjQiLCAweDQwRDAwMDA0LCAyNCwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjQgKFNTUCkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjUiLCAweDQwRDAwMDA0LCAyNSwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjUgKERNQSkgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjYiLCAweDQwRDAwMDA0LCAyNiwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjYgKE9TTVIwKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0yNyIsIDB4NDBEMDAwMDQsIDI3LCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAyNyAoT1NNUjEpIHVubWFza2VkIiB9LAoreyAiSUNNUl9JTTI4IiwgMHg0MEQwMDAwNCwgMjgsIDB4MDAwMDAwMDEsICd4JywgIlBlbmRpbmcgSVJRIDI4IChPU01SMikgdW5tYXNrZWQiIH0sCit7ICJJQ01SX0lNMjkiLCAweDQwRDAwMDA0LCAyOSwgMHgwMDAwMDAwMSwgJ3gnLCAiUGVuZGluZyBJUlEgMjkgKE9TTVIzKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0zMCIsIDB4NDBEMDAwMDQsIDMwLCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAzMCAoUlRDQ0xLKSB1bm1hc2tlZCIgfSwKK3sgIklDTVJfSU0zMSIsIDB4NDBEMDAwMDQsIDMxLCAweDAwMDAwMDAxLCAneCcsICJQZW5kaW5nIElSUSAzMSAoUlRDQUxNKSB1bm1hc2tlZCIgfSwKKworeyAiSUNMUiIsICAgICAgMHg0MEQwMDAwOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkludGVycnVwdCBDb250cm9sbGVyIExldmVsIFJlZ2lzdGVyICg0LTIzKSIgfSwKK3sgIklDTFJfSUw3IiwgIDB4NDBEMDAwMDgsICA3LCAweDAwMDAwMDAxLCAneCcsICJJUlEgOCAoSFdVQVJUKSBnZW5lcmF0ZXMgRklRPyIgfSwKK3sgIklDTFJfSUw4IiwgIDB4NDBEMDAwMDgsICA4LCAweDAwMDAwMDAxLCAneCcsICJJUlEgOCAoR1BJTzApIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMOSIsICAweDQwRDAwMDA4LCAgOSwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDkgKEdQSU8xKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDEwIiwgMHg0MEQwMDAwOCwgMTAsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxMCAoR1BJTzJfODApIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMTEiLCAweDQwRDAwMDA4LCAxMSwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDExIChVU0IpIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMTIiLCAweDQwRDAwMDA4LCAxMiwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDEyIChQTVUpIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMTMiLCAweDQwRDAwMDA4LCAxMywgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDEzIChJMlMpIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMTQiLCAweDQwRDAwMDA4LCAxNCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDE0IChBQzk3KSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDE3IiwgMHg0MEQwMDAwOCwgMTcsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxNyAoTENEKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDE4IiwgMHg0MEQwMDAwOCwgMTgsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxOCAoSTJDKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDE5IiwgMHg0MEQwMDAwOCwgMTksIDB4MDAwMDAwMDEsICd4JywgIklSUSAxOSAoSUNQKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDIwIiwgMHg0MEQwMDAwOCwgMjAsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxMCAoU1RVQVJUKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDIxIiwgMHg0MEQwMDAwOCwgMjEsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyMSAoQlRVQVJUKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDIyIiwgMHg0MEQwMDAwOCwgMjIsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyMiAoRkZVQVJUKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDIzIiwgMHg0MEQwMDAwOCwgMjMsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyMyAoTU1DKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDI0IiwgMHg0MEQwMDAwOCwgMjQsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyNCAoU1NQKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDI1IiwgMHg0MEQwMDAwOCwgMjUsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyNSAoRE1BKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDI2IiwgMHg0MEQwMDAwOCwgMjYsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyNiAoT1NNUjApIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMjciLCAweDQwRDAwMDA4LCAyNywgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDI3IChPU01SMSkgZ2VuZXJhdGVzIEZJUSIgfSwKK3sgIklDTFJfSUwyOCIsIDB4NDBEMDAwMDgsIDI4LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjggKE9TTVIyKSBnZW5lcmF0ZXMgRklRIiB9LAoreyAiSUNMUl9JTDI5IiwgMHg0MEQwMDAwOCwgMjksIDB4MDAwMDAwMDEsICd4JywgIklSUSAyOSAoT1NNUjMpIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMzAiLCAweDQwRDAwMDA4LCAzMCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDMwIChSVENDTEspIGdlbmVyYXRlcyBGSVEiIH0sCit7ICJJQ0xSX0lMMzEiLCAweDQwRDAwMDA4LCAzMSwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDMxIChSVENBTE0pIGdlbmVyYXRlcyBGSVEiIH0sCisKK3sgIklDQ1IiLCAgICAgIDB4NDBEMDAwMTQsICAwLCAweGZmZmZmZmZmLCAneCcsICJJbnRlcnJ1cHQgQ29udHJvbGxlciBDb250cm9sIFJlZ2lzdGVyICg0LTIzKSIgfSwKK3sgIklDQ1JfRElNIiwgIDB4NDBEMDAwMTQsICA4LCAweDAwMDAwMDAxLCAneCcsICJPTkxZIGVuYWJsZWQgYW5kIHVubWFza2VkIElSUSBicmluZyBDUFUgZnJvbSBpZGxlIHRvIHJ1biIgfSwKKworeyAiSUNJUCIsICAgICAgMHg0MEQwMDAwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkludGVycnVwdCBDb250cm9sbGVyIElSUSBQZW5kaW5nIFJlZ2lzdGVyICg0LTI0KSIgfSwKKworeyAiSUNGUCIsICAgICAgMHg0MEQwMDAwQywgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkludGVycnVwdCBDb250cm9sbGVyIEZJUSBQZW5kaW5nIFJlZ2lzdGVyICg0LTI0KSIgfSwKKworeyAiSUNQUiIsICAgICAgMHg0MEQwMDAxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkludGVycnVwdCBDb250cm9sbGVyIFBlbmRpbmcgUmVnaXN0ZXIgKDQtMjUpIiB9LAoreyAiSUNQUl9JUzciLCAgMHg0MEQwMDAxMCwgIDcsIDB4MDAwMDAwMDEsICd4JywgIklSUSA3IChIV1VBUlQpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTOCIsICAweDQwRDAwMDEwLCAgOCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDggKEdQSU8wKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzkiLCAgMHg0MEQwMDAxMCwgIDksIDB4MDAwMDAwMDEsICd4JywgIklSUSA5IChHUElPMSkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMxMCIsIDB4NDBEMDAwMTAsIDEwLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTAgKEdQSU8yXzgwKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzExIiwgMHg0MEQwMDAxMCwgMTEsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxMSAoVVNCKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzEyIiwgMHg0MEQwMDAxMCwgMTIsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxMiAoUE1VKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzEzIiwgMHg0MEQwMDAxMCwgMTMsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxMyAoSTJTKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzE0IiwgMHg0MEQwMDAxMCwgMTQsIDB4MDAwMDAwMDEsICd4JywgIklSUSAxNCAoQUM5NykgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMxNyIsIDB4NDBEMDAwMTAsIDE3LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTcgKExDRCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMxOCIsIDB4NDBEMDAwMTAsIDE4LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTggKEkyQykgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMxOSIsIDB4NDBEMDAwMTAsIDE5LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTkgKElDUCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyMCIsIDB4NDBEMDAwMTAsIDIwLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMTAgKFNUVUFSVCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyMSIsIDB4NDBEMDAwMTAsIDIxLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjEgKEJUVUFSVCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyMiIsIDB4NDBEMDAwMTAsIDIyLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjIgKEZGVUFSVCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyMyIsIDB4NDBEMDAwMTAsIDIzLCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjMgKE1NQykgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyNCIsIDB4NDBEMDAwMTAsIDI0LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjQgKFNTUCkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyNSIsIDB4NDBEMDAwMTAsIDI1LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjUgKERNQSkgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyNiIsIDB4NDBEMDAwMTAsIDI2LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjYgKE9TTVIwKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzI3IiwgMHg0MEQwMDAxMCwgMjcsIDB4MDAwMDAwMDEsICd4JywgIklSUSAyNyAoT1NNUjEpIHBlbmRpbmciIH0sCit7ICJJQ1BSX0lTMjgiLCAweDQwRDAwMDEwLCAyOCwgMHgwMDAwMDAwMSwgJ3gnLCAiSVJRIDI4IChPU01SMikgcGVuZGluZyIgfSwKK3sgIklDUFJfSVMyOSIsIDB4NDBEMDAwMTAsIDI5LCAweDAwMDAwMDAxLCAneCcsICJJUlEgMjkgKE9TTVIzKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzMwIiwgMHg0MEQwMDAxMCwgMzAsIDB4MDAwMDAwMDEsICd4JywgIklSUSAzMCAoUlRDQ0xLKSBwZW5kaW5nIiB9LAoreyAiSUNQUl9JUzMxIiwgMHg0MEQwMDAxMCwgMzEsIDB4MDAwMDAwMDEsICd4JywgIklSUSAzMSAoUlRDQUxNKSBwZW5kaW5nIiB9LAorCit7ICJSVFRSIiwgICAgICAgIDB4NDA5MDAwMEMsICAwLCAweGZmZmZmZmZmLCAneCcsICJSVEMgVHJpbSBSZWdpc3RlciAoNC0zMCkiIH0sCit7ICJSVFRSX0NLX0RJViIsIDB4NDA5MDAwMEMsICAwLCAweDAwMDBmZmZmLCAneCcsICJSVEMgQ2xvY2sgRGl2aWRlciBDb3VudCIgfSwKK3sgIlJUVFJfREVMIiwgICAgMHg0MDkwMDAwQywgMTYsIDB4MDAwMDAzZmYsICd4JywgIlJUQyBUcmltIGRlbGV0ZSBDb3VudCIgfSwKK3sgIlJUVFJfTENLIiwgICAgMHg0MDkwMDAwQywgMzEsIDB4MDAwMDAwMDEsICd4JywgIlJUQyBMb2NraW5nIGZvciBSVFRSIiB9LAorCit7ICJSVEFSIiwgICAgICAgIDB4NDA5MDAwMTAsICAwLCAweGZmZmZmZmZmLCAneCcsICJSVEMgQWxhcm0gUmVnaXN0ZXIgKDQtMzApIiB9LAoreyAiUlRBUl9SVE1WIiwgICAweDQwOTAwMDEwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUlRDIFRhcmdldCBNYXRjaCBWYWx1ZSIgfSwKKworeyAiUkNOUiIsICAgICAgICAweDQwOTAwMDAwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUlRDIENvdW50ZXIgUmVnaXN0ZXIgKDQtMzEpIiB9LAoreyAiUkNOUl9SQ1YiLCAgICAweDQwOTAwMDAwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUlRDIENvdW50IFZhbHVlIiB9LAorCit7ICJSVFNSIiwgICAgICAgIDB4NDA5MDAwMDgsICAwLCAweGZmZmZmZmZmLCAneCcsICJSVEMgU3RhdHVzIFJlZ2lzdGVyICg0LTMyKSIgfSwKK3sgIlJUU1JfQUwiLCAgICAgMHg0MDkwMDAwOCwgIDAsIDB4MDAwMDAwMDEsICd4JywgIlJUQyBBbGFybSBJbnRlcnJ1cHQgZGV0ZWN0ZWQiIH0sCit7ICJSVFNSX0haIiwgICAgIDB4NDA5MDAwMDgsICAxLCAweDAwMDAwMDAxLCAneCcsICJSVEMgSHogSW50ZXJydXB0IGRldGVjdGVkIiB9LAoreyAiUlRTUl9BTEUiLCAgICAweDQwOTAwMDA4LCAgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiUlRDIEFsYXJtIEludGVycnVwdCBFbmFibGUiIH0sCit7ICJSVFNSX0haRSIsICAgIDB4NDA5MDAwMDgsICAzLCAweDAwMDAwMDAxLCAneCcsICJSVEMgSHogSW50ZXJydXB0IEVuYWJsZSIgfSwKKworeyAiT1NNUjAiLCAgICAgICAweDQwQTAwMDAwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiT1MgVGltZXIgTWF0Y2ggUmVnaXN0ZXIgMCAoNC0zNikiIH0sCit7ICJPU01SMSIsICAgICAgIDB4NDBBMDAwMDQsICAwLCAweGZmZmZmZmZmLCAneCcsICJPUyBUaW1lciBNYXRjaCBSZWdpc3RlciAxICg0LTM2KSIgfSwKK3sgIk9TTVIyIiwgICAgICAgMHg0MEEwMDAwOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIk9TIFRpbWVyIE1hdGNoIFJlZ2lzdGVyIDIgKDQtMzYpIiB9LAoreyAiT1NNUjMiLCAgICAgICAweDQwQTAwMDBDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiT1MgVGltZXIgTWF0Y2ggUmVnaXN0ZXIgMyAoNC0zNikiIH0sCisKK3sgIk9JRVIiLCAgICAgICAgMHg0MEEwMDAxQywgIDAsIDB4ZmZmZmZmZmYsICd4JywgIk9TIFRpbWVyIEludGVycnVwdCBFbmFibGUgUmVnaXN0ZXIgKDQtMzYpIiB9LAoreyAiT0lFUl9FMCIsICAgICAweDQwQTAwMDFDLCAgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiT1MgSW50ZXJydXB0IGZvciBPU01SMCBlbmFibGVkIiB9LAoreyAiT0lFUl9FMSIsICAgICAweDQwQTAwMDFDLCAgMSwgMHgwMDAwMDAwMSwgJ3gnLCAiT1MgSW50ZXJydXB0IGZvciBPU01SMSBlbmFibGVkIiB9LAoreyAiT0lFUl9FMiIsICAgICAweDQwQTAwMDFDLCAgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiT1MgSW50ZXJydXB0IGZvciBPU01SMiBlbmFibGVkIiB9LAoreyAiT0lFUl9FMyIsICAgICAweDQwQTAwMDFDLCAgMywgMHgwMDAwMDAwMSwgJ3gnLCAiT1MgSW50ZXJydXB0IGZvciBPU01SMyBlbmFibGVkIiB9LAorCit7ICJPV0VSIiwgICAgICAgIDB4NDBBMDAwMTgsICAwLCAweGZmZmZmZmZmLCAneCcsICJPUyBUaW1lciBXYXRjaGRvZyBNYXRjaCBFbmFibGUgUmVnaXN0ZXIgKDQtMzcpIiB9LAoreyAiT1dFUl9XTUUiLCAgICAweDQwQTAwMDE4LCAgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiT1NNUjMgbWF0Y2ggY2F1c2VzIGEgcmVzZXQiIH0sCisKK3sgIk9TQ1IiLCAgICAgICAgMHg0MEEwMDAxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIk9TIFRpbWVyIENvdW50IFJlZ2lzdGVyICg0LTM3KSIgfSwKK3sgIk9TQ1JfT1NDViIsICAgMHg0MEEwMDAxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIk9TIFRpbWVyIENvdW50IFZhbHVlIiB9LAorCit7ICJPU1NSIiwgICAgICAgIDB4NDBBMDAwMTQsICAwLCAweGZmZmZmZmZmLCAneCcsICJPUyBUaW1lciBTdGF0dXMgUmVnaXN0ZXIgKDQtMzgpIiB9LAoreyAiT1NTUl9NMCIsICAgICAweDQwQTAwMDE0LCAgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiT1MgT1NNUjAgbWF0Y2hlZCBPU0NSMCIgfSwKK3sgIk9TU1JfTTEiLCAgICAgMHg0MEEwMDAxNCwgIDEsIDB4MDAwMDAwMDEsICd4JywgIk9TIE9TTVIxIG1hdGNoZWQgT1NDUjEiIH0sCit7ICJPU1NSX00yIiwgICAgIDB4NDBBMDAwMTQsICAyLCAweDAwMDAwMDAxLCAneCcsICJPUyBPU01SMiBtYXRjaGVkIE9TQ1IyIiB9LAoreyAiT1NTUl9NMyIsICAgICAweDQwQTAwMDE0LCAgMywgMHgwMDAwMDAwMSwgJ3gnLCAiT1MgT1NNUjMgbWF0Y2hlZCBPU0NSMyIgfSwKKworeyAiUFdNQ1RMMCIsICAgICAgICAgICAgIDB4NDBCMDAwMDAsICAwLCAweGZmZmZmZmZmLCAneCcsICJQV00gQ29udHJvbCBSZWdpc3RlciAwICg0LTQxKSIgfSwKK3sgIlBXTUNUTDBfUFJFU0NBTEUiLCAgICAweDQwQjAwMDAwLCAgMCwgMHgwMDAwMDAzZiwgJ2QnLCAiUFdNMCBQcmVzY2FsZSBEaXZpc29yIiB9LAoreyAiUFdNQ1RMMF9TRCIsICAgICAgICAgIDB4NDBCMDAwMDAsICA1LCAweDAwMDAwMDAxLCAneCcsICJQV00wIGFicnVwdCBzaHV0ZG93biIgfSwKKworeyAiUFdNRFVUWTAiLCAgICAgICAgICAgIDB4NDBCMDAwMDQsICAwLCAweGZmZmZmZmZmLCAneCcsICJQV00gRHV0eSBDeWNsZSBSZWdpc3RlciAwICg0LTQyKSIgfSwKK3sgIlBXTURVVFkwX0RDWUNMRSIsICAgICAweDQwQjAwMDA0LCAgMCwgMHgwMDAwMDNmZiwgJ2QnLCAiUFdNMCBEdXR5IEN5Y2xlIiB9LAoreyAiUFdNRFVUWTBfRkRDWUNMRSIsICAgIDB4NDBCMDAwMDQsIDEwLCAweDAwMDAwMDAxLCAneCcsICJQV01fT1VUMCBpcyBzZXQgaGlnaCBhbmQgZG9lcyBub3QgdG9nZ2xlIiB9LAorCit7ICJQV01QRVJWQUwwIiwgICAgICAgICAgMHg0MEIwMDAwOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBXTSBQZXJpb2QgQ29udHJvbCBSZWdpc3RlciAwICg0LTQzKSIgfSwKK3sgIlBXTVBFUlZBTDBfUFYiLCAgICAgICAweDQwQjAwMDA4LCAgMCwgMHgwMDAwMDNmZiwgJ2QnLCAiUFdNMCBQZXJpb2QgQ3ljbGUgTGVuZ3RoIiB9LAorCit7ICJQV01DVEwxIiwgICAgICAgICAgICAgMHg0MEMwMDAwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBXTSBDb250cm9sIFJlZ2lzdGVyIDEgKDQtNDEpIiB9LAoreyAiUFdNQ1RMMV9QUkVTQ0FMRSIsICAgIDB4NDBDMDAwMDAsICAwLCAweDAwMDAwMDNmLCAnZCcsICJQV00xIFByZXNjYWxlIERpdmlzb3IiIH0sCit7ICJQV01DVEwxX1NEIiwgICAgICAgICAgMHg0MEMwMDAwMCwgIDUsIDB4MDAwMDAwMDEsICd4JywgIlBXTTEgYWJydXB0IHNodXRkb3duIiB9LAorCit7ICJQV01EVVRZMSIsICAgICAgICAgICAgMHg0MEMwMDAwNCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlBXTSBEdXR5IEN5Y2xlIFJlZ2lzdGVyIDEgKDQtNDIpIiB9LAoreyAiUFdNRFVUWTFfRENZQ0xFIiwgICAgIDB4NDBDMDAwMDQsICAwLCAweDAwMDAwM2ZmLCAnZCcsICJQV00xIER1dHkgQ3ljbGUiIH0sCit7ICJQV01EVVRZMV9GRENZQ0xFIiwgICAgMHg0MEMwMDAwNCwgMTAsIDB4MDAwMDAwMDEsICd4JywgIlBXTV9PVVQxIGlzIHNldCBoaWdoIGFuZCBkb2VzIG5vdCB0b2dnbGUiIH0sCisKK3sgIlBXTVBFUlZBTDEiLCAgICAgICAgICAweDQwQzAwMDA4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUFdNIFBlcmlvZCBDb250cm9sIFJlZ2lzdGVyIDEgKDQtNDMpIiB9LAoreyAiUFdNUEVSVkFMMV9QViIsICAgICAgIDB4NDBDMDAwMDgsICAwLCAweDAwMDAwM2ZmLCAnZCcsICJQV00xIFBlcmlvZCBDeWNsZSBMZW5ndGgiIH0sCisKKworeyAiTENDUjAiLCAgICAgMHg0NDAwMDAwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkxDRCBDb250cm9sbGVyIENvbnRyb2wgUmVnaXN0ZXIgMCAoNy0yMykiIH0sCit7ICJMQ0NSMF9FTkIiLCAweDQ0MDAwMDAwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGNvbnRyb2xsZXIgZW5hYmxlIiB9LAoreyAiTENDUjBfQ01TIiwgMHg0NDAwMDAwMCwgIDEsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBtb25vY2hyb21lIG9wZXJhdGlvbiBlbmFibGUiIH0sCit7ICJMQ0NSMF9TRFMiLCAweDQ0MDAwMDAwLCAgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGR1YWwgcGFuZWwgZGlzcGxheSBlbmFibGUiIH0sCit7ICJMQ0NSMF9MRE0iLCAweDQ0MDAwMDAwLCAgMywgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGRpc2FibGUgZG9uZSBJUlEgZGlzYWJsZSIgfSwKK3sgIkxDQ1IwX1NGTSIsIDB4NDQwMDAwMDAsICA0LCAweDAwMDAwMDAxLCAnZCcsICJMQ0Qgc3RhcnQgb2YgZnJhbWUgSVJRIGRpc2FibGUiIH0sCit7ICJMQ0NSMF9JVU0iLCAweDQ0MDAwMDAwLCAgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGZpZm8gdW5kZXJydW4gZXJyb3IgSVJRIGRpc2FibGUiIH0sCit7ICJMQ0NSMF9FRk0iLCAweDQ0MDAwMDAwLCAgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGVuZCBvZiBmcmFtZSBJUlEgZGlzYWJsZSIgfSwKK3sgIkxDQ1IwX1BBUyIsIDB4NDQwMDAwMDAsICA3LCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgYWN0aXZlIGRpc3BsYXkgZW5hYmxlIiB9LAoreyAiTENDUjBfRFBEIiwgMHg0NDAwMDAwMCwgIDksIDB4MDAwMDAwMDEsICdkJywgIkxDRCBzZW5kIDggcGl4ZWwgb24gTF9ERFs3OjBdIGF0IGVhY2ggY2xvY2siIH0sCit7ICJMQ0NSMF9ESVMiLCAweDQ0MDAwMDAwLCAxMCwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIGNvbnRyb2xsZXIgZGlzYWJsZSIgfSwKK3sgIkxDQ1IwX1FETSIsIDB4NDQwMDAwMDAsIDExLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgcXVpY2sgZGlzYWJsZSBJUlEgZGlzYWJsZSIgfSwKK3sgIkxDQ1IwX1BERCIsIDB4NDQwMDAwMDAsIDEyLCAweDAwMDAwMEZGLCAnZCcsICJMQ0QgcGFsZXR0ZSBETUEgcmVxdWVzdCBkZWxheSIgfSwKK3sgIkxDQ1IwX0JNIiwgIDB4NDQwMDAwMDAsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgYnJhbmNoIHN0YXJ0IElSUSBkaXNhYmxlIiB9LAoreyAiTENDUjBfT1VNIiwgMHg0NDAwMDAwMCwgMjEsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBmaWZvIHVuZGVycnVuIElSUSBkaXNhYmxlIiB9LAorCit7ICJMQ0NSMSIsICAgICAweDQ0MDAwMDA0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTENEIENvbnRyb2xsZXIgQ29udHJvbCBSZWdpc3RlciAxICg3LTI2KSIgfSwKK3sgIkxDQ1IxX1BQTCIsIDB4NDQwMDAwMDQsICAwLCAweDAwMDAwM2ZmLCAnZCcsICJMQ0QgcGl4ZWxzIHBlciBsaW5lICgrMSkiIH0sCit7ICJMQ0NSMV9IU1ciLCAweDQ0MDAwMDA0LCAxMCwgMHgwMDAwMDAzZiwgJ2QnLCAiTENEIGhvcml6b250YWwgc3luYyBwdWxzZSB3aWR0aCAoKzEpIiB9LAoreyAiTENDUjFfRUxXIiwgMHg0NDAwMDAwNCwgMTYsIDB4MDAwMDAwZmYsICdkJywgIkxDRCBlbmQgb2YgbGluZSBwaXhlbCBjbG9jayB3YWl0IGNvdW50ICgrMSkiIH0sCit7ICJMQ0NSMV9CTFciLCAweDQ0MDAwMDA0LCAyNCwgMHgwMDAwMDBmZiwgJ2QnLCAiTENEIGJlZ2lubmluZyBvZiBsaW5lIHBpeGVsIGNsb2NrIHdhaXQgY291bnQgKCsxKSIgfSwKKworeyAiTENDUjIiLCAgICAgMHg0NDAwMDAwOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkxDRCBDb250cm9sbGVyIENvbnRyb2wgUmVnaXN0ZXIgMiAoNy0yOCkiIH0sCit7ICJMQ0NSMl9MUFAiLCAweDQ0MDAwMDA4LCAgMCwgMHgwMDAwMDNmZiwgJ2QnLCAiTENEIGxpbmVzIHBlciBwYW5lbCAoKzEpIiB9LAoreyAiTENDUjJfVlNXIiwgMHg0NDAwMDAwOCwgMTAsIDB4MDAwMDAwM2YsICdkJywgIkxDRCB2ZXJ0aWNhbCBzeW5jIHB1bHNlIHdpZHRoICgrMSkiIH0sCit7ICJMQ0NSMl9FRlciLCAweDQ0MDAwMDA4LCAxNiwgMHgwMDAwMDBmZiwgJ2QnLCAiTENEIGVuZCBvZiBmcmFtZSBsaW5lIGNsb2NrIHdhaXQgY291bnQgKCsxKSIgfSwKK3sgIkxDQ1IyX0JGVyIsIDB4NDQwMDAwMDgsIDI0LCAweDAwMDAwMGZmLCAnZCcsICJMQ0QgYmVnaW5uaW5nIG9mIGZyYW1lIGxpbmUgY2xvY2sgd2FpdCBjb3VudCAoKzEpIiB9LAorCit7ICJMQ0NSMyIsICAgICAweDQ0MDAwMDBDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTENEIENvbnRyb2xsZXIgQ29udHJvbCBSZWdpc3RlciAzICg3LTMxKSIgfSwKK3sgIkxDQ1IzX1BDRCIsIDB4NDQwMDAwMEMsICAwLCAweDAwMDAwMGZmLCAnZCcsICJMQ0QgcGl4ZWwgY2xvY2sgZGl2aXNvciAoKzEpIiB9LAoreyAiTENDUjNfQUNCIiwgMHg0NDAwMDAwQywgIDgsIDB4MDAwMDAwZmYsICdkJywgIkxDRCBBQyBiaWFzIHBpbiBmcmVxdWVuY3kgKCsxKSIgfSwKK3sgIkxDQ1IzX0FQSSIsIDB4NDQwMDAwMEMsIDE2LCAweDAwMDAwMDBmLCAnZCcsICJMQ0QgQUMgYmlhcyBwaW4gdHJhbnNpdGlvbnMgcGVyIGludGVycnVwdCIgfSwKK3sgIkxDQ1IzX1ZTUCIsIDB4NDQwMDAwMEMsIDIwLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgTF9GQ0xLIHZlcnRpY2FsIHN5bmMgcG9sYXJpdHkgYWN0aXZlIGxvdyIgfSwKK3sgIkxDQ1IzX0hTUCIsIDB4NDQwMDAwMEMsIDIxLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgTF9MQ0xLIGhvcml6b250YWwgc3luYyBwb2xhcml0eSBhY3RpdmUgbG93IiB9LAoreyAiTENDUjNfUENQIiwgMHg0NDAwMDAwQywgMjIsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBkYXRhIHNhbXBsZWQgb24gZmFsbGluZyBlZGdlIG9mIExfUENMSyIgfSwKK3sgIkxDQ1IzX09FUCIsIDB4NDQwMDAwMEMsIDIzLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgTF9CSUFTIG91dHB1dCBlbmFibGUgYWN0aXZlIGxvdyIgfSwKK3sgIkxDQ1IzX0JQUCIsIDB4NDQwMDAwMEMsIDI0LCAweDAwMDAwMDA3LCAnPCcsICJMQ0QgYml0cyBwZXIgcGl4ZWwiIH0sCit7ICJMQ0NSM19EUEMiLCAweDQ0MDAwMDBDLCAyNywgMHgwMDAwMDAwNywgJ2QnLCAiTENEIGRvdWJsZSBwaXhlbCBjbG9jayByYXRlIGF0IExfUENMSyIgfSwKKworCit7ICJGQlIwIiwgICAgICAweDQ0MDAwMDIwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiRkJSMCIgfSwKK3sgIkZCUjEiLCAgICAgIDB4NDQwMDAwMjAsICAwLCAweGZmZmZmZmZmLCAneCcsICJGQlIxIiB9LAoreyAiTENTUiIsICAgICAgMHg0NDAwMDAzOCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkxDRCBDb250cm9sbGVyIFN0YXR1cyBSZWdpc3RlciAoNy00MCkiIH0sCit7ICJMSUlEUiIsICAgICAweDQ0MDAwMDNDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTENEIENvbnRyb2xsZXIgSW50ZXJydXB0IElEIFJlZ2lzdGVyICg3LTQxKSIgfSwKKy8vIFRPRE8KKworeyAiVFJHQkJSIiwgICAgMHg0NDAwMDA0MCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIlRNRUQgUkJHIFNlZWQgUmVnaXN0ZXIgKDctNDIpIiB9LAoreyAiVFJHQkJSX1RSUyIsMHg0NDAwMDA0MCwgIDAsIDB4MDAwMDAwZmYsICd4JywgIlJlZCBTZWVkIiB9LAoreyAiVFJHQkJSX1RHUyIsMHg0NDAwMDA0MCwgIDgsIDB4MDAwMDAwZmYsICd4JywgIkdyZWVuIFNlZWQiIH0sCit7ICJUUkdCQlJfVEJTIiwweDQ0MDAwMDQwLCAxNiwgMHgwMDAwMDBmZiwgJ3gnLCAiQmx1ZSBTZWVkIiB9LAorCit7ICJUQ1IiLCAgICAgICAweDQ0MDAwMDQ0LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVE1FRCBDb250cm9sIFJlZ2lzdGVyICg3LTQ0KSIgfSwKK3sgIlRDUl9DT0FNIiwgIDB4NDQwMDAwNDQsICAwLCAweDAwMDAwMDAxLCAneCcsICJDb2xvciBPZmZzZXQgQWRqdXN0ZXIgTWF0cml4IiB9LAoreyAiVENSX0ZOQU0iLCAgMHg0NDAwMDA0NCwgIDEsIDB4MDAwMDAwMDEsICd4JywgIkZyYW1lIE51bWJlciBBZGp1c3RlciBNYXRyaXgiIH0sCit7ICJUQ1JfQ09BRSIsICAweDQ0MDAwMDQ0LCAgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiQ29sb3IgT2Zmc2V0IEFkanVzdGVyIEVuYWJsZSIgfSwKK3sgIlRDUl9GTkFNRSIsIDB4NDQwMDAwNDQsICAzLCAweDAwMDAwMDAxLCAneCcsICJGcmFtZSBOdW1iZXIgQWRqdXN0ZXIgRW5hYmxlIiB9LAoreyAiVENSX1RWQlMiLCAgMHg0NDAwMDA0NCwgIDQsIDB4MDAwMDAwMGYsICdkJywgIlZlcnRpY2FsIEJlYXQgU3VwcHJlc3Npb24iIH0sCit7ICJUQ1JfVEhCUyIsICAweDQ0MDAwMDQ0LCAgOCwgMHgwMDAwMDAwZiwgJ2QnLCAiSG9yaXpvbnRhbCBCZWF0IFN1cHByZXNzaW9uIiB9LAoreyAiVENSX1RFRCIsICAgMHg0NDAwMDA0NCwgMTQsIDB4MDAwMDAwMDEsICd4JywgIkVuZXJneSBEaXN0cmlidXRpb24gTWF0cml4IFNlbGVjdCIgfSwKKworeyAiRkRBRFIwIiwgICAgMHg0NDAwMDIwMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkZEQURSMCIgfSwKK3sgIkZTQURSMCIsICAgIDB4NDQwMDAyMDQsICAwLCAweGZmZmZmZmZmLCAneCcsICJGU0FEUjAiIH0sCit7ICJGSURSMCIsICAgICAweDQ0MDAwMjA4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiRk9EUjAiIH0sCit7ICJMRENNRDAiLCAgICAweDQ0MDAwMjBDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTERDTUQwIiB9LAoreyAiRkRBRFIxIiwgICAgMHg0NDAwMDIxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkZEQURSMSIgfSwKK3sgIkZTQURSMSIsICAgIDB4NDQwMDAyMTQsICAwLCAweGZmZmZmZmZmLCAneCcsICJGU0FEUjEiIH0sCit7ICJGSURSMSIsICAgICAweDQ0MDAwMjE4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiRklEUjEiIH0sCit7ICJMRENNRDEiLCAgICAweDQ0MDAwMjFDLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTERDTUQxIiB9LAorLy8gVE9ETworCisKKworCit7ICJNRENORkciLCAgICAgICAgIDB4NDgwMDAwMDAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlNEUkFNIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDYtOSkiIH0sCit7ICJNRENORkdfREUwIiwgICAgIDB4NDgwMDAwMDAsIDAsIDB4MDAwMDAwMDEsICdkJywgIlNEUkFNIGVuYWJsZSBmb3IgcGFydGl0aW9uIDAiIH0sCit7ICJNRENORkdfREUxIiwgICAgIDB4NDgwMDAwMDAsIDEsIDB4MDAwMDAwMDEsICdkJywgIlNEUkFNIGVuYWJsZSBmb3IgcGFydGl0aW9uIDEiIH0sCit7ICJNRENORkdfRFdJRDAiLCAgIDB4NDgwMDAwMDAsIDIsIDB4MDAwMDAwMDEsICdkJywgIlNEUkFNIGRhdGEgd2lkdGggKDA9MzIsIDE9MTYpIiB9LAoreyAiTURDTkZHX0RDQUMwIiwgICAweDQ4MDAwMDAwLCAzLCAweDAwMDAwMDAzLCAnZCcsICJDb2x1bW4gYWRkcmVzcyBiaXRzIGZvciBwYXJ0aXRpb24gcGFpciAwLzEiIH0sCit7ICJNRENORkdfRFJBQzAiLCAgIDB4NDgwMDAwMDAsIDUsIDB4MDAwMDAwMDMsICdkJywgIlJvdyBhZGRyZXNzIGJpdHMgZm9yIHBhcnRpdGlvbiBwYWlyIDAvMSIgfSwKK3sgIk1EQ05GR19ETkIwIiwgICAgMHg0ODAwMDAwMCwgNywgMHgwMDAwMDAwMSwgJ2QnLCAiQmFua3MgaW4gcGFydGl0aW9uIHBhaXIgMC8xICgwPTIsIDE9NCkiIH0sCit7ICJNRENORkdfRFRDMCIsICAgIDB4NDgwMDAwMDAsIDgsIDB4MDAwMDAwMDMsICdkJywgIlRpbWluZyBDYXRlZ29yeSBmb3IgcGFydGl0aW9uIHBhaXIgMC8xIiB9LAoreyAiTURDTkZHX0RBRERSMCIsICAweDQ4MDAwMDAwLDEwLCAweDAwMDAwMDAxLCAnZCcsICJVc2UgYWx0ZXJuYXRlIGFkZHJlc3NpbmcgZm9yIHBhcnRpdGlvbiBwYWlyIDAvMSIgfSwKK3sgIk1EQ05GR19ETEFUQ0gwIiwgMHg0ODAwMDAwMCwxMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUmV0dXJuIGRhdGEgbGF0Y2hpbmcgc2NoZW1lIGZvciBwYXJ0aXRpb24gcGFpciAwLzEiIH0sCit7ICJNRENORkdfRFNBMTExMTAiLDB4NDgwMDAwMDAsMTIsIDB4MDAwMDAwMDEsICdkJywgInVzZSBTQTExMTEgYWRkcmVzcyBtdXhpbmcgZm9yIHBhcnRpdGlvbiBwYWlyIDAvMSIgfSwKK3sgIk1EQ05GR19ERTIiLCAgICAgMHg0ODAwMDAwMCwxNiwgMHgwMDAwMDAwMSwgJ2QnLCAiU0RSQU0gZW5hYmxlIGZvciBwYXJ0aXRpb24gMiIgfSwKK3sgIk1EQ05GR19ERTMiLCAgICAgMHg0ODAwMDAwMCwxNywgMHgwMDAwMDAwMSwgJ2QnLCAiU0RSQU0gZW5hYmxlIGZvciBwYXJ0aXRpb24gMyIgfSwKK3sgIk1EQ05GR19EV0lEMiIsICAgMHg0ODAwMDAwMCwxOCwgMHgwMDAwMDAwMSwgJ2QnLCAiU0RSQU0gZGF0YSB3aWR0aCAoMD0zMiwgMT0xNikiIH0sCit7ICJNRENORkdfRENBQzIiLCAgIDB4NDgwMDAwMDAsMTksIDB4MDAwMDAwMDMsICdkJywgIkNvbHVtbiBhZGRyZXNzIGJpdHMgZm9yIHBhcnRpdGlvbiBwYWlyIDIvMyIgfSwKK3sgIk1EQ05GR19EUkFDMiIsICAgMHg0ODAwMDAwMCwyMSwgMHgwMDAwMDAwMywgJ2QnLCAiUm93IGFkZHJlc3MgYml0cyBmb3IgcGFydGl0aW9uIHBhaXIgMi8zIiB9LAoreyAiTURDTkZHX0ROQjIiLCAgICAweDQ4MDAwMDAwLDIzLCAweDAwMDAwMDAxLCAnZCcsICJCYW5rcyBpbiBwYXJ0aXRpb24gcGFpciAyLzMgKDA9MiwgMT00KSIgfSwKK3sgIk1EQ05GR19EVEMyIiwgICAgMHg0ODAwMDAwMCwyNCwgMHgwMDAwMDAwMywgJ2QnLCAiVGltaW5nIENhdGVnb3J5IGZvciBwYXJ0aXRpb24gcGFpciAyLzMiIH0sCit7ICJNRENORkdfREFERFIyIiwgIDB4NDgwMDAwMDAsMjYsIDB4MDAwMDAwMDEsICdkJywgIlVzZSBhbHRlcm5hdGUgYWRkcmVzc2luZyBmb3IgcGFydGl0aW9uIHBhaXIgMi8zIiB9LAoreyAiTURDTkZHX0RMQVRDSDIiLCAweDQ4MDAwMDAwLDI3LCAweDAwMDAwMDAxLCAnZCcsICJSZXR1cm4gZGF0YSBsYXRjaGluZyBzY2hlbWUgZm9yIHBhcnRpdGlvbiBwYWlyIDIvMyIgfSwKK3sgIk1EQ05GR19EU0ExMTExMiIsMHg0ODAwMDAwMCwyOCwgMHgwMDAwMDAwMSwgJ2QnLCAidXNlIFNBMTExMSBhZGRyZXNzIG11eGluZyBmb3IgcGFydGl0aW9uIHBhaXIgMi8zIiB9LAorCit7ICJNRFJFRlIiLCAgICAgICAgIDB4NDgwMDAwMDQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlNEUkFNIFJlZnJlc2ggQ29uZmlndXJhdGlvbiBSZWdpc3RlciAoNi0xNSkiIH0sCit7ICJNRFJFRlJfRFJJIiwgICAgIDB4NDgwMDAwMDQsIDAsIDB4MDAwMDBmZmYsICd4JywgIlNEUkFNIFJlZnJlc2ggaW50ZXJ2YWxsLCBhbGwgcGFyaXRpb25zIiB9LAoreyAiTURSRUZSX0UwUElOIiwgICAweDQ4MDAwMDA0LDEyLCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBDbG9jayBFbmFibGUgUGluIDAgTGV2ZWwiIH0sCit7ICJNRFJFRlJfSzBSVU4iLCAgIDB4NDgwMDAwMDQsMTMsIDB4MDAwMDAwMDEsICd4JywgIlNEUkFNIENsb2NrIFJ1biBQaW4gMCIgfSwKK3sgIk1EUkVGUl9LMERCMiIsICAgMHg0ODAwMDAwNCwxNCwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gQ2xvY2sgUGluIDAgRGl2aWRlLzIiIH0sCit7ICJNRFJFRlJfRTFQSU4iLCAgIDB4NDgwMDAwMDQsMTUsIDB4MDAwMDAwMDEsICd4JywgIlNEUkFNIENsb2NrIEVuYWJsZSBQaW4gMSBMZXZlbCIgfSwKK3sgIk1EUkVGUl9LMVJVTiIsICAgMHg0ODAwMDAwNCwxNiwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gQ2xvY2sgUnVuIFBpbiAxIiB9LAoreyAiTURSRUZSX0sxREIyIiwgICAweDQ4MDAwMDA0LDE3LCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBDbG9jayBQaW4gMSBEaXZpZGUvMiIgfSwKK3sgIk1EUkVGUl9LMlJVTiIsICAgMHg0ODAwMDAwNCwxOCwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gQ2xvY2sgUnVuIFBpbiAyIiB9LAoreyAiTURSRUZSX0syREIyIiwgICAweDQ4MDAwMDA0LDE5LCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBDbG9jayBQaW4gMiBEaXZpZGUvMiIgfSwKK3sgIk1EUkVGUl9BUEQiLCAgICAgMHg0ODAwMDAwNCwyMCwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gQXV0byBQb3dlciBEb3duIGVuYWJsZSIgfSwKK3sgIk1EUkVGUl9TTEZSU0giLCAgMHg0ODAwMDAwNCwyMiwgMHgwMDAwMDAwMSwgJ3gnLCAiU0RSQU0gU2VsZi1SZWZyZXNoIiB9LAoreyAiTURSRUZSX0swRlJFRSIsICAweDQ4MDAwMDA0LDIzLCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBGcmVlIFJ1bm5pbmcgQ29udHJvbCBmb3IgU0RDTEswIiB9LAoreyAiTURSRUZSX0sxRlJFRSIsICAweDQ4MDAwMDA0LDI0LCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBGcmVlIFJ1bm5pbmcgQ29udHJvbCBmb3IgU0RDTEsxIiB9LAoreyAiTURSRUZSX0syRlJFRSIsICAweDQ4MDAwMDA0LDI1LCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBGcmVlIFJ1bm5pbmcgQ29udHJvbCBmb3IgU0RDTEsyIiB9LAorCit7ICJNU0MwIiwgICAgICAgICAgIDB4NDgwMDAwMDgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkFzeW5jaHJvbm91cyBTdGF0aWMgTWVtb3J5IENvbnRyb2wgUmVnaXN0ZXIgMCAoNi00NSkiIH0sCit7ICJNU0MwX1JUMCIsICAgICAgIDB4NDgwMDAwMDgsIDAsIDB4MDAwMDAwMDcsICdkJywgIm5DU1swXSBST00gVHlwZSIgfSwKK3sgIk1TQzBfUkJXMCIsICAgICAgMHg0ODAwMDAwOCwgMywgMHgwMDAwMDAwMSwgJ2QnLCAibkNTWzBdIFJPTSBCdXMgV2lkdGggKDE9MTZiaXQpIiB9LAoreyAiTVNDMF9SREYwIiwgICAgICAweDQ4MDAwMDA4LCA0LCAweDAwMDAwMDBmLCAnZCcsICJuQ1NbMF0gUk9NIERlbGF5IEZpcnN0IEFjY2VzcyIgfSwKK3sgIk1TQzBfUkROMCIsICAgICAgMHg0ODAwMDAwOCwgOCwgMHgwMDAwMDAwZiwgJ2QnLCAibkNTWzBdIFJPTSBEZWxheSBOZXh0IEFjY2VzcyIgfSwKK3sgIk1TQzBfUlJSMCIsICAgICAgMHg0ODAwMDAwOCwxMiwgMHgwMDAwMDAwNywgJ2QnLCAibkNTWzBdIFJPTS9TUkFNIFJlY292ZXJ5IFRpbWUiIH0sCit7ICJNU0MwX1JCVUZGMCIsICAgIDB4NDgwMDAwMDgsMTUsIDB4MDAwMDAwMDEsICdkJywgIm5DU1swXSBSZXR1cm4gQnVmZmVyIEJlaGF2aW9yICgxPXN0cmVhbWluZykiIH0sCit7ICJNU0MwX1JUMSIsICAgICAgIDB4NDgwMDAwMDgsMTYsIDB4MDAwMDAwMDcsICdkJywgIm5DU1sxXSBST00gVHlwZSIgfSwKK3sgIk1TQzBfUkJXMSIsICAgICAgMHg0ODAwMDAwOCwxOSwgMHgwMDAwMDAwMSwgJ2QnLCAibkNTWzFdIFJPTSBCdXMgV2lkdGggKDE9MTZiaXQpIiB9LAoreyAiTVNDMF9SREYxIiwgICAgICAweDQ4MDAwMDA4LDIwLCAweDAwMDAwMDBmLCAnZCcsICJuQ1NbMV0gUk9NIERlbGF5IEZpcnN0IEFjY2VzcyIgfSwKK3sgIk1TQzBfUkROMSIsICAgICAgMHg0ODAwMDAwOCwyNCwgMHgwMDAwMDAwZiwgJ2QnLCAibkNTWzFdIFJPTSBEZWxheSBOZXh0IEFjY2VzcyIgfSwKK3sgIk1TQzBfUlJSMSIsICAgICAgMHg0ODAwMDAwOCwyOCwgMHgwMDAwMDAwNywgJ2QnLCAibkNTWzFdIFJPTS9TUkFNIFJlY292ZXJ5IFRpbWUiIH0sCit7ICJNU0MwX1JCVUZGMSIsICAgIDB4NDgwMDAwMDgsMzEsIDB4MDAwMDAwMDEsICdkJywgIm5DU1sxXSBSZXR1cm4gQnVmZmVyIEJlaGF2aW9yICgxPXN0cmVhbWluZykiIH0sCisKK3sgIk1TQzEiLCAgICAgICAgICAgMHg0ODAwMDAwQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiQXN5bmNocm9ub3VzIFN0YXRpYyBNZW1vcnkgQ29udHJvbCBSZWdpc3RlciAxICg2LTQ1KSIgfSwKK3sgIk1TQzFfUlQyIiwgICAgICAgMHg0ODAwMDAwQywgMCwgMHgwMDAwMDAwNywgJ2QnLCAibkNTWzJdIFJPTSBUeXBlIiB9LAoreyAiTVNDMV9SQlcyIiwgICAgICAweDQ4MDAwMDBDLCAzLCAweDAwMDAwMDAxLCAnZCcsICJuQ1NbMl0gUk9NIEJ1cyBXaWR0aCAoMT0xNmJpdCkiIH0sCit7ICJNU0MxX1JERjIiLCAgICAgIDB4NDgwMDAwMEMsIDQsIDB4MDAwMDAwMGYsICdkJywgIm5DU1syXSBST00gRGVsYXkgRmlyc3QgQWNjZXNzIiB9LAoreyAiTVNDMV9SRE4yIiwgICAgICAweDQ4MDAwMDBDLCA4LCAweDAwMDAwMDBmLCAnZCcsICJuQ1NbMl0gUk9NIERlbGF5IE5leHQgQWNjZXNzIiB9LAoreyAiTVNDMV9SUlIyIiwgICAgICAweDQ4MDAwMDBDLDEyLCAweDAwMDAwMDA3LCAnZCcsICJuQ1NbMl0gUk9NL1NSQU0gUmVjb3ZlcnkgVGltZSIgfSwKK3sgIk1TQzFfUkJVRkYyIiwgICAgMHg0ODAwMDAwQywxNSwgMHgwMDAwMDAwMSwgJ2QnLCAibkNTWzJdIFJldHVybiBCdWZmZXIgQmVoYXZpb3IgKDE9c3RyZWFtaW5nKSIgfSwKK3sgIk1TQzFfUlQzIiwgICAgICAgMHg0ODAwMDAwQywxNiwgMHgwMDAwMDAwNywgJ2QnLCAibkNTWzNdIFJPTSBUeXBlIiB9LAoreyAiTVNDMV9SQlczIiwgICAgICAweDQ4MDAwMDBDLDE5LCAweDAwMDAwMDAxLCAnZCcsICJuQ1NbM10gUk9NIEJ1cyBXaWR0aCAoMT0xNmJpdCkiIH0sCit7ICJNU0MxX1JERjMiLCAgICAgIDB4NDgwMDAwMEMsMjAsIDB4MDAwMDAwMGYsICdkJywgIm5DU1szXSBST00gRGVsYXkgRmlyc3QgQWNjZXNzIiB9LAoreyAiTVNDMV9SRE4zIiwgICAgICAweDQ4MDAwMDBDLDI0LCAweDAwMDAwMDBmLCAnZCcsICJuQ1NbM10gUk9NIERlbGF5IE5leHQgQWNjZXNzIiB9LAoreyAiTVNDMV9SUlIzIiwgICAgICAweDQ4MDAwMDBDLDI4LCAweDAwMDAwMDA3LCAnZCcsICJuQ1NbM10gUk9NL1NSQU0gUmVjb3ZlcnkgVGltZSIgfSwKK3sgIk1TQzFfUkJVRkYzIiwgICAgMHg0ODAwMDAwQywzMSwgMHgwMDAwMDAwMSwgJ2QnLCAibkNTWzNdIFJldHVybiBCdWZmZXIgQmVoYXZpb3IgKDE9c3RyZWFtaW5nKSIgfSwKKworeyAiTVNDMiIsICAgICAgICAgICAweDQ4MDAwMDEwLCAwLCAweGZmZmZmZmZmLCAneCcsICJBc3luY2hyb25vdXMgU3RhdGljIE1lbW9yeSBDb250cm9sIFJlZ2lzdGVyIDIgKDYtNDUpIiB9LAoreyAiTVNDMl9SVDQiLCAgICAgICAweDQ4MDAwMDEwLCAwLCAweDAwMDAwMDA3LCAnZCcsICJuQ1NbNF0gUk9NIFR5cGUiIH0sCit7ICJNU0MyX1JCVzQiLCAgICAgIDB4NDgwMDAwMTAsIDMsIDB4MDAwMDAwMDEsICdkJywgIm5DU1s0XSBST00gQnVzIFdpZHRoICgxPTE2Yml0KSIgfSwKK3sgIk1TQzJfUkRGNCIsICAgICAgMHg0ODAwMDAxMCwgNCwgMHgwMDAwMDAwZiwgJ2QnLCAibkNTWzRdIFJPTSBEZWxheSBGaXJzdCBBY2Nlc3MiIH0sCit7ICJNU0MyX1JETjQiLCAgICAgIDB4NDgwMDAwMTAsIDgsIDB4MDAwMDAwMGYsICdkJywgIm5DU1s0XSBST00gRGVsYXkgTmV4dCBBY2Nlc3MiIH0sCit7ICJNU0MyX1JSUjQiLCAgICAgIDB4NDgwMDAwMTAsMTIsIDB4MDAwMDAwMDcsICdkJywgIm5DU1s0XSBST00vU1JBTSBSZWNvdmVyeSBUaW1lIiB9LAoreyAiTVNDMl9SQlVGRjQiLCAgICAweDQ4MDAwMDEwLDE1LCAweDAwMDAwMDAxLCAnZCcsICJuQ1NbNF0gUmV0dXJuIEJ1ZmZlciBCZWhhdmlvciAoMT1zdHJlYW1pbmcpIiB9LAoreyAiTVNDMl9SVDUiLCAgICAgICAweDQ4MDAwMDEwLDE2LCAweDAwMDAwMDA3LCAnZCcsICJuQ1NbNV0gUk9NIFR5cGUiIH0sCit7ICJNU0MyX1JCVzUiLCAgICAgIDB4NDgwMDAwMTAsMTksIDB4MDAwMDAwMDEsICdkJywgIm5DU1s1XSBST00gQnVzIFdpZHRoICgxPTE2Yml0KSIgfSwKK3sgIk1TQzJfUkRGNSIsICAgICAgMHg0ODAwMDAxMCwyMCwgMHgwMDAwMDAwZiwgJ2QnLCAibkNTWzVdIFJPTSBEZWxheSBGaXJzdCBBY2Nlc3MiIH0sCit7ICJNU0MyX1JETjUiLCAgICAgIDB4NDgwMDAwMTAsMjQsIDB4MDAwMDAwMGYsICdkJywgIm5DU1s1XSBST00gRGVsYXkgTmV4dCBBY2Nlc3MiIH0sCit7ICJNU0MyX1JSUjUiLCAgICAgIDB4NDgwMDAwMTAsMjgsIDB4MDAwMDAwMDcsICdkJywgIm5DU1s1XSBST00vU1JBTSBSZWNvdmVyeSBUaW1lIiB9LAoreyAiTVNDMl9SQlVGRjUiLCAgICAweDQ4MDAwMDEwLDMxLCAweDAwMDAwMDAxLCAnZCcsICJuQ1NbNV0gUmV0dXJuIEJ1ZmZlciBCZWhhdmlvciAoMT1zdHJlYW1pbmcpIiB9LAorCit7ICJNRUNSIiwgICAgICAgICAgIDB4NDgwMDAwMTQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkV4cGFuc2lvbiBNZW1vcnkgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAoNi02MSkiIH0sCit7ICJNRUNSX05PUyIsICAgICAgIDB4NDgwMDAwMTQsIDAsIDB4MDAwMDAwMDEsICd4JywgIk51bWJlciBvZiBTb2NrZXRzICgxPTIgU29ja2V0cykiIH0sCit7ICJNRUNSX0NJVCIsICAgICAgIDB4NDgwMDAwMTQsIDEsIDB4MDAwMDAwMDEsICd4JywgIkNhcmQgaW5zZXJ0ZWQiIH0sCisKK3sgIlNYQ05GRyIsICAgICAgICAgMHg0ODAwMDAxQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiU3luY2hyb25vdXMgU3RhdGljIE1lbW9yeSBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICg2LTMzKSIgfSwKK3sgIlNYQ05GR19TWEVOMCIsICAgMHg0ODAwMDAxQywgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiUGFydGl0aW9uIDAgZW5hYmxlZCBhcyBTWCBtZW1vcnkiIH0sCit7ICJTWENORkdfU1hFTjEiLCAgIDB4NDgwMDAwMUMsIDEsIDB4MDAwMDAwMDEsICd4JywgIlBhcnRpdGlvbiAxIGVuYWJsZWQgYXMgU1ggbWVtb3J5IiB9LAoreyAiU1hDTkZHX1NYQ0wwIiwgICAweDQ4MDAwMDFDLCAyLCAweDAwMDAwMDA3LCAneCcsICJQYXJ0aXRpb24gMC8xIENBUyBMYXRlbmN5IiB9LAoreyAiU1hDTkZHX1NYUkwwIiwgICAweDQ4MDAwMDFDLCA1LCAweDAwMDAwMDA3LCAneCcsICJQYXJ0aXRpb24gMC8xIFJBUyBMYXRlbmN5IiB9LAoreyAiU1hDTkZHX1NYUkEwIiwgICAweDQ4MDAwMDFDLCA4LCAweDAwMDAwMDAzLCAneCcsICJQYXJ0aXRpb24gMC8xIHJvdyBhZGRyZXNzIGJpdCBjb3VudCIgfSwKK3sgIlNYQ05GR19TWENBMCIsICAgMHg0ODAwMDAxQywxMCwgMHgwMDAwMDAwMywgJ3gnLCAiUGFydGl0aW9uIDAvMSBjb2x1bW4gYWRkcmVzcyBiaXQgY291bnQiIH0sCit7ICJTWENORkdfU1hUUDAiLCAgIDB4NDgwMDAwMUMsMTIsIDB4MDAwMDAwMDMsICd4JywgIlBhcnRpdGlvbiAwLzEgbWVtb3J5IHR5cGUiIH0sCit7ICJTWENORkdfU1hMQVRDSDAiLDB4NDgwMDAwMUMsMTQsIDB4MDAwMDAwMDEsICd4JywgIlBhcnRpdGlvbiAwLzEgcmV0dXJuIGRhdGEgd2l0aCByZXR1cm4gY2xvY2siIH0sCit7ICJTWENORkdfU1hFTjIiLCAgIDB4NDgwMDAwMUMsMTYsIDB4MDAwMDAwMDEsICd4JywgIlBhcnRpdGlvbiAyIGVuYWJsZWQgYXMgU1ggbWVtb3J5IiB9LAoreyAiU1hDTkZHX1NYRU4zIiwgICAweDQ4MDAwMDFDLDE3LCAweDAwMDAwMDAxLCAneCcsICJQYXJ0aXRpb24gMyBlbmFibGVkIGFzIFNYIG1lbW9yeSIgfSwKK3sgIlNYQ05GR19TWENMMiIsICAgMHg0ODAwMDAxQywxOCwgMHgwMDAwMDAwNywgJ3gnLCAiUGFydGl0aW9uIDIvMyBDQVMgTGF0ZW5jeSIgfSwKK3sgIlNYQ05GR19TWFJMMiIsICAgMHg0ODAwMDAxQywyMSwgMHgwMDAwMDAwNywgJ3gnLCAiUGFydGl0aW9uIDIvMyBSQVMgTGF0ZW5jeSIgfSwKK3sgIlNYQ05GR19TWFJBMiIsICAgMHg0ODAwMDAxQywyNCwgMHgwMDAwMDAwMywgJ3gnLCAiUGFydGl0aW9uIDIvMyByb3cgYWRkcmVzcyBiaXQgY291bnQiIH0sCit7ICJTWENORkdfU1hDQTIiLCAgIDB4NDgwMDAwMUMsMjYsIDB4MDAwMDAwMDMsICd4JywgIlBhcnRpdGlvbiAyLzMgY29sdW1uIGFkZHJlc3MgYml0IGNvdW50IiB9LAoreyAiU1hDTkZHX1NYVFAyIiwgICAweDQ4MDAwMDFDLDI4LCAweDAwMDAwMDAzLCAneCcsICJQYXJ0aXRpb24gMi8zIG1lbW9yeSB0eXBlIiB9LAoreyAiU1hDTkZHX1NYTEFUQ0gyIiwweDQ4MDAwMDFDLDMwLCAweDAwMDAwMDAxLCAneCcsICJQYXJ0aXRpb24gMi8zIHJldHVybiBkYXRhIHdpdGggcmV0dXJuIGNsb2NrIiB9LAorCit7ICJTWE1SUyIsICAgICAgICAgIDB4NDgwMDAwMjQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1SUyB2YWx1ZSB0byBiZSB3cml0dGVuIHRvIFNYIE1lbW9yeSAoNi0zOCkiIH0sCisKK3sgIk1DTUVNMCIsICAgICAgICAgMHg0ODAwMDAyOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTUVNIENvbnRyb2wgZm9yIFBDTUNJQSBTb2NrZXQgMCAoNi01OCkiIH0sCit7ICJNQ01FTTBfU0VUIiwgICAgIDB4NDgwMDAwMjgsIDAsIDB4MDAwMDAwN2YsICdkJywgIkFkZHJlc3Mgc2V0IHRpbWUiIH0sCit7ICJNQ01FTTBfQVNTVCIsICAgIDB4NDgwMDAwMjgsIDcsIDB4MDAwMDAwMWYsICdkJywgIkNvbW1hbmQgYXNzZXJ0aW9uIHRpbWUiIH0sCit7ICJNQ01FTTBfSE9MRCIsICAgIDB4NDgwMDAwMjgsMTQsIDB4MDAwMDAwM2YsICdkJywgIkFkZHJlc3MgaG9sZCB0aW1lIiB9LAorCit7ICJNQ01FTTEiLCAgICAgICAgIDB4NDgwMDAwMkMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1FTSBDb250cm9sIGZvciBQQ01DSUEgU29ja2V0IDEgKDYtNTgpIiB9LAoreyAiTUNNRU0xX1NFVCIsICAgICAweDQ4MDAwMDJDLCAwLCAweDAwMDAwMDdmLCAnZCcsICJBZGRyZXNzIHNldCB0aW1lIiB9LAoreyAiTUNNRU0xX0FTU1QiLCAgICAweDQ4MDAwMDJDLCA3LCAweDAwMDAwMDFmLCAnZCcsICJDb21tYW5kIGFzc2VydGlvbiB0aW1lIiB9LAoreyAiTUNNRU0xX0hPTEQiLCAgICAweDQ4MDAwMDJDLDE0LCAweDAwMDAwMDNmLCAnZCcsICJBZGRyZXNzIGhvbGQgdGltZSIgfSwKKworeyAiTUNBVFQwIiwgICAgICAgICAweDQ4MDAwMDMwLCAwLCAweGZmZmZmZmZmLCAneCcsICJBVFQgQ29udHJvbCBmb3IgUENNQ0lBIFNvY2tldCAwICg2LTU5KSIgfSwKK3sgIk1DQVRUMF9TRVQiLCAgICAgMHg0ODAwMDAzMCwgMCwgMHgwMDAwMDA3ZiwgJ2QnLCAiQWRkcmVzcyBzZXQgdGltZSIgfSwKK3sgIk1DQVRUMF9BU1NUIiwgICAgMHg0ODAwMDAzMCwgNywgMHgwMDAwMDAxZiwgJ2QnLCAiQ29tbWFuZCBhc3NlcnRpb24gdGltZSIgfSwKK3sgIk1DQVRUMF9IT0xEIiwgICAgMHg0ODAwMDAzMCwxNCwgMHgwMDAwMDAzZiwgJ2QnLCAiQWRkcmVzcyBob2xkIHRpbWUiIH0sCisKK3sgIk1DQVRUMSIsICAgICAgICAgMHg0ODAwMDAzNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiQVRUIENvbnRyb2wgZm9yIFBDTUNJQSBTb2NrZXQgMSAoNi01OSkiIH0sCit7ICJNQ0FUVDFfU0VUIiwgICAgIDB4NDgwMDAwMzQsIDAsIDB4MDAwMDAwN2YsICdkJywgIkFkZHJlc3Mgc2V0IHRpbWUiIH0sCit7ICJNQ0FUVDFfQVNTVCIsICAgIDB4NDgwMDAwMzQsIDcsIDB4MDAwMDAwMWYsICdkJywgIkNvbW1hbmQgYXNzZXJ0aW9uIHRpbWUiIH0sCit7ICJNQ0FUVDFfSE9MRCIsICAgIDB4NDgwMDAwMzQsMTQsIDB4MDAwMDAwM2YsICdkJywgIkFkZHJlc3MgaG9sZCB0aW1lIiB9LAorCit7ICJNQ0lPMCIsICAgICAgICAgIDB4NDgwMDAwMzgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkkvTyBDb250cm9sIGZvciBQQ01DSUEgU29ja2V0IDAgKDYtNTkpIiB9LAoreyAiTUNJTzBfU0VUIiwgICAgICAweDQ4MDAwMDM4LCAwLCAweDAwMDAwMDdmLCAnZCcsICJBZGRyZXNzIHNldCB0aW1lIiB9LAoreyAiTUNJTzBfQVNTVCIsICAgICAweDQ4MDAwMDM4LCA3LCAweDAwMDAwMDFmLCAnZCcsICJDb21tYW5kIGFzc2VydGlvbiB0aW1lIiB9LAoreyAiTUNJTzBfSE9MRCIsICAgICAweDQ4MDAwMDM4LDE0LCAweDAwMDAwMDNmLCAnZCcsICJBZGRyZXNzIGhvbGQgdGltZSIgfSwKKworeyAiTUNJTzEiLCAgICAgICAgICAweDQ4MDAwMDNDLCAwLCAweGZmZmZmZmZmLCAneCcsICJJL08gQ29udHJvbCBmb3IgUENNQ0lBIFNvY2tldCAxICg2LTU5KSIgfSwKK3sgIk1DSU8xX1NFVCIsICAgICAgMHg0ODAwMDAzQywgMCwgMHgwMDAwMDA3ZiwgJ2QnLCAiQWRkcmVzcyBzZXQgdGltZSIgfSwKK3sgIk1DSU8xX0FTU1QiLCAgICAgMHg0ODAwMDAzQywgNywgMHgwMDAwMDAxZiwgJ2QnLCAiQ29tbWFuZCBhc3NlcnRpb24gdGltZSIgfSwKK3sgIk1DSU8xX0hPTEQiLCAgICAgMHg0ODAwMDAzQywxNCwgMHgwMDAwMDAzZiwgJ2QnLCAiQWRkcmVzcyBob2xkIHRpbWUiIH0sCisKK3sgIk1ETVJTIiwgICAgICAgICAgMHg0ODAwMDA0MCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiU0RSQU0gTW9kZSBSZWdpc3RlciBTZXQgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAoNi0xMikiIH0sCit7ICJNRE1SU19NREJMMCIsICAgIDB4NDgwMDAwNDAsIDAsIDB4MDAwMDAwMDcsICd4JywgIlNEUkFNIFBhcnRpdGlvbiAwLzEgYnVyc3QgbGVuZ3RoIiB9LAoreyAiTURNUlNfTURBREQwIiwgICAweDQ4MDAwMDQwLCAzLCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBQYXJ0aXRpb24gMC8xIGJ1cnN0IHR5cGUiIH0sCit7ICJNRE1SU19NRENMMCIsICAgIDB4NDgwMDAwNDAsIDQsIDB4MDAwMDAwMDcsICd4JywgIlNEUkFNIFBhcnRpdGlvbiAwLzEgQ0FTIGxhdGVuY3kiIH0sCit7ICJNRE1SU19NRE1SUzAiLCAgIDB4NDgwMDAwNDAsIDcsIDB4MDAwMDAwZmYsICd4JywgIk1SUyB2YWx1ZSB0byBiZSB3cml0dGVuIHRvIFNEUkFNIFBhcnRpdGlvbiAwLzEiIH0sCit7ICJNRE1SU19NREJMMiIsICAgIDB4NDgwMDAwNDAsMTYsIDB4MDAwMDAwMDcsICd4JywgIlNEUkFNIFBhcnRpdGlvbiAyLzMgYnVyc3QgbGVuZ3RoIiB9LAoreyAiTURNUlNfTURBREQyIiwgICAweDQ4MDAwMDQwLDE5LCAweDAwMDAwMDAxLCAneCcsICJTRFJBTSBQYXJ0aXRpb24gMi8zIGJ1cnN0IHR5cGUiIH0sCit7ICJNRE1SU19NRENMMiIsICAgIDB4NDgwMDAwNDAsMjAsIDB4MDAwMDAwMDcsICd4JywgIlNEUkFNIFBhcnRpdGlvbiAyLzMgQ0FTIGxhdGVuY3kiIH0sCit7ICJNRE1SU19NRE1SUzIiLCAgIDB4NDgwMDAwNDAsMjMsIDB4MDAwMDAwZmYsICd4JywgIk1SUyB2YWx1ZSB0byBiZSB3cml0dGVuIHRvIFNEUkFNIFBhcnRpdGlvbiAyLzMiIH0sCisKK3sgIkJPT1RERUYiLCAgICAgICAgMHg0ODAwMDA0NCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiQm9vdCBUaW1lIERlZmF1bHRzICg2LTczKSIgfSwKK3sgIkJPT1RERUZfQk9PVFNFTCIsMHg0ODAwMDA0NCwgMCwgMHgwMDAwMDAwNywgJ3gnLCAiQm9vdCBDb25maWd1cmF0aW9uIGF0IEJPT1RfU0VMIHBpbnMiIH0sCit7ICJCT09UREVGX1BLR1RZUEUiLDB4NDgwMDAwNDQsIDMsIDB4MDAwMDAwMDEsICd4JywgIlByb2Nlc3NvciB0eXBlLCAxIGZvciBQWEEyNTAiIH0sCisKK3sgIk1ETVJTTFAiLCAgICAgICAgMHg0ODAwMDA1OCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTG93LVBvd2VyIFNEUkFNIE1vZGUgUmVnaXN0ZXIgU2V0IENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKDYtMTQpIiB9LAorLy8gVE9ETworCisKKworeyAiTU1DX1NUUlBDTCIsCQkJMHg0MTEwMDAwMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIFN0YXJ0L1N0b3AgQ2xvY2sgKDE1LTIzKSIgfSwKKworeyAiTU1DX1NUQVQiLAkJCTB4NDExMDAwMDQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBTdGF0dXMgUmVnaXN0ZXIgKDE1LTI0KSIgfSwKK3sgIk1NQ19TVEFUX1JFQURfVElNRV9PVVQiLAkweDQxMTAwMDA0LCAwLCAweDAwMDAwMDAxLCAneCcsICJSZWFkIFRpbWUgT3V0IiB9LAoreyAiTU1DX1NUQVRfVElNRV9PVVRfUkVTUCIsCTB4NDExMDAwMDQsIDEsIDB4MDAwMDAwMDEsICd4JywgIlRpbWUgT3V0IFJlc3BvbnNlIiB9LAoreyAiTU1DX1NUQVRfQ1JDX1dSSVRFX0VSUk9SIiwJMHg0MTEwMDAwNCwgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiQ1JDIFdyaXRlIEVycm9yIiB9LAoreyAiTU1DX1NUQVRfQ1JDX1JFQURfRVJSIiwJMHg0MTEwMDAwNCwgMywgMHgwMDAwMDAwMSwgJ3gnLCAiQ1JDIFJlYWQgRXJyb3IiIH0sCit7ICJNTUNfU1RBVF9TUElfUkVBRF9FUlJfVEtOIiwJMHg0MTEwMDAwNCwgNCwgMHgwMDAwMDAwMSwgJ3gnLCAiU1BJIFJlYWQgRXJyb3IgVG9rZW4iIH0sCit7ICJNTUNfU1RBVF9SRVNfQ1JDX0VSUiIsCTB4NDExMDAwMDQsIDUsIDB4MDAwMDAwMDEsICd4JywgIlJlc3BvbnNlIENSQyBFcnJvciIgfSwKK3sgIk1NQ19TVEFUX1hNSVRfRklGT19FTVBUWSIsCTB4NDExMDAwMDQsIDYsIDB4MDAwMDAwMDEsICd4JywgIlRyYW5zbWl0IEZJRk8gRW1wdHkiIH0sCit7ICJNTUNfU1RBVF9SRUNWX0ZJRk9fRU1QVFkiLAkweDQxMTAwMDA0LCA3LCAweDAwMDAwMDAxLCAneCcsICJSZWNlaXZlIEZJRk8gRW1wdHkiIH0sCit7ICJNTUNfU1RBVF9DTEtfRU4iLAkJMHg0MTEwMDAwNCwgOCwgMHgwMDAwMDAwMSwgJ3gnLCAiQ2xvY2sgRW5hYmxlZCIgfSwKK3sgIk1NQ19TVEFUX0RBVEFfVFJBTl9ET05FIiwJMHg0MTEwMDAwNCwxMSwgMHgwMDAwMDAwMSwgJ3gnLCAiRGF0YSBUcmFuc21pc3Npb24gRG9uZSIgfSwKK3sgIk1NQ19TVEFUX1BSR19ET05FIiwJCTB4NDExMDAwMDQsMTIsIDB4MDAwMDAwMDEsICd4JywgIlByb2dyYW0gRG9uZSIgfSwKK3sgIk1NQ19TVEFUX0VORF9DTURfUkVTIiwJMHg0MTEwMDAwNCwxMywgMHgwMDAwMDAwMSwgJ3gnLCAiRW5kIENvbW1hbmQgUmVzcG9uc2UiIH0sCisKK3sgIk1NQ19DTEtSVCIsCQkJMHg0MTEwMDAwOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIENsb2NrIFJlYWQgVGltZW91dCBSZWdpc3RlciAoMTUtMjYpIiB9LAoreyAiTU1DX0NMS19SQVRFIiwJCTB4NDExMDAwMDgsIDAsIDB4MDAwMDAwMDcsICd4JywgIlJlYWQgVGltZSBPdXQgYml0bWFzayIgfSwKKworeyAiTU1DX1NQSSIsCQkJMHg0MTEwMDAwYywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIFNQSSBtb2RlICgxNS0yNykiIH0sCit7ICJNTUNfU1BJX0VOIiwJCQkweDQxMTAwMDBjLCAwLCAweDAwMDAwMDAxLCAneCcsICJTUEkgbW9kZSBlbmFibGVkIiB9LAoreyAiTU1DX1NQSV9DUkNfT04iLAkJMHg0MTEwMDAwYywgMSwgMHgwMDAwMDAwMSwgJ3gnLCAiQ1JDIGdlbmVyYXRpb24gZW5hYmxlZCIgfSwKK3sgIk1NQ19TUElfQ1NfRU4iLAkJMHg0MTEwMDAwYywgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiU1BJIGNoaXAgc2VsZWN0IGVuYWJsZWQiIH0sCit7ICJNTUNfU1BJX0NTX0FERFJFU1MiLAkJMHg0MTEwMDAwYywgMywgMHgwMDAwMDAwMSwgJ3gnLCAiQ1MwIGVuYWJsZWQiIH0sCisKK3sgIk1NQ19DTURBVCIsCQkJMHg0MTEwMDAxMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIENvbW1hbmQgRGF0YSAoMTUtMjgpIiB9LAoreyAiTU1DX0NNREFUX1JGIiwJCTB4NDExMDAwMTAsIDAsIDB4MDAwMDAwMDMsICd4JywgInJlc3BvbnNlIGZvcm1hdCIgfSwKK3sgIk1NQ19DTURBVF9EQVRBX0VOIiwJCTB4NDExMDAwMTAsIDIsIDB4MDAwMDAwMDEsICd4JywgImN1cnJlbnQgY21kIGluY2x1ZGVzIGRhdGEgdHJhbnNmZXIiIH0sCit7ICJNTUNfQ01EQVRfV1JJVEUiLAkJMHg0MTEwMDAxMCwgMywgMHgwMDAwMDAwMSwgJ3gnLCAiZGF0YSB0cmFuc2ZlciBpcyBhIHdyaXRlIiB9LAoreyAiTU1DX0NNREFUX1NUUkVBTSIsCQkweDQxMTAwMDEwLCA0LCAweDAwMDAwMDAxLCAneCcsICJkYXRhIHRyYW5zZmVyIGlzIGluIHN0cmVhbSBtb2RlIiB9LAoreyAiTU1DX0NNREFUX0JVU1kiLAkJMHg0MTEwMDAxMCwgNSwgMHgwMDAwMDAwMSwgJ3gnLCAiYnVzeSBzaWduYWwgaXMgZXhwZWN0ZWQgYWZ0ZXIgZGF0YSB0cmFuc2ZlciIgfSwKK3sgIk1NQ19DTURBVF9JTklUIiwJCTB4NDExMDAwMTAsIDYsIDB4MDAwMDAwMDEsICd4JywgInByZWNlZGUgY21kIHdpdGggODAgY2xvY2tzIiB9LAoreyAiTU1DX0NNREFUX0RNQV9FTiIsCQkweDQxMTAwMDEwLCA3LCAweDAwMDAwMDAxLCAneCcsICJlbmFibGUgRE1BIG1vZGUiIH0sCisKK3sgIk1NQ19SRVNUTyIsCQkJMHg0MTEwMDAxNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIFJlc3BvbnNlIFRpbWUgT3V0ICgxNS0yOSkiIH0sCit7ICJNTUNfUkVTVE9fVE8iLAkJMHg0MTEwMDAxNCwgMCwgMHgwMDAwMDA3ZiwgJ2QnLCAiY2xvY2tzIGJlZm9yZSBhIHJlc3BvbnNlIHRpbWUgb3V0IiB9LAorCit7ICJNTUNfUkRUTyIsCQkJMHg0MTEwMDAxOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIFJlYWQgVGltZSBPdXQgKDE1LTI5KSIgfSwKK3sgIk1NQ19SRFRPX1RPIiwJCTB4NDExMDAwMTgsIDAsIDB4MDAwMGZmZmYsICdkJywgInRpbWUgdW50aWwgcmVhZCB0aW1lIG91dCIgfSwKKworeyAiTU1DX0JMS0xFTiIsCQkJMHg0MTEwMDAxQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIEJsb2NrIExlbiBSZWdpc3RlciAoMTUtMzApIiB9LAoreyAiTU1DX0JMS0xFTl9MRU4iLAkJMHg0MTEwMDAxQywgMCwgMHgwMDAwMDNmZiwgJ2QnLCAiTnVtYmVyIG9mIGJ5dGVzIGluIHRoZSBibG9jayIgfSwKKworeyAiTU1DX05PQiIsCQkJMHg0MTEwMDAyMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIEJsb2NrIE51bWJlciBSZWdpc3RlciAoMTUtMzApIiB9LAoreyAiTU1DX05PQl9OIiwJCQkweDQxMTAwMDIwLCAwLCAweDAwMDBmZmZmLCAnZCcsICJudW1iZXIgb2YgYmxvY2tzIiB9LAorCit7ICJNTUNfUFJUQlVGIiwJCQkweDQxMTAwMDI0LCAwLCAweGZmZmZmZmZmLCAneCcsICJNTUMgUGFydGlhbCBCdWZmZXIgUmVnaXN0ZXIgKDE1LTMxKSIgfSwKK3sgIk1NQ19QUlRCVUZfRlVMTCIsCQkweDQxMTAwMDI0LCAwLCAweDAwMDAwMDAxLCAneCcsICJCdWZmZXIgaXMgcGFydGlhbGx5IGZ1bGwiIH0sCisKK3sgIk1NQ19JTUFTSyIsCQkJMHg0MTEwMDAyOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIEludGVycnVwdCBNYXNrIFJlZ2lzdGVyICgxNS0zMSkiIH0sCit7ICJNTUNfSU1BU0tfREFUQVRSQU4iLAkJMHg0MTEwMDAyOCwgMCwgMHgwMDAwMDAwMSwgJ3gnLCAiRGF0YSBUcmFuc2ZlciBEb25lIG1hc2tlZCIgfSwKK3sgIk1NQ19JTUFTS19QUkdET05FIiwJCTB4NDExMDAwMjgsIDEsIDB4MDAwMDAwMDEsICd4JywgIlByb2dyYW1taW5nIERvbmUgbWFza2VkIiB9LAoreyAiTU1DX0lNQVNLX0VORENNRCIsCQkweDQxMTAwMDI4LCAyLCAweDAwMDAwMDAxLCAneCcsICJFbmQgQ29tbWFuZCBSZXNwb25zZSBtYXNrZWQiIH0sCit7ICJNTUNfSU1BU0tfU1RPUENNRCIsCQkweDQxMTAwMDI4LCAzLCAweDAwMDAwMDAxLCAneCcsICJSZWFkeSBmb3IgU3RvcCBUcmFuc2FjdGlvbiBDb21tYW5kIG1hc2tlZCIgfSwKK3sgIk1NQ19JTUFTS19DTE9DS09GRiIsCQkweDQxMTAwMDI4LCA0LCAweDAwMDAwMDAxLCAneCcsICJDbG9jayBJcyBPZmYgbWFza2VkIiB9LAoreyAiTU1DX0lNQVNLX1JYRklGTyIsCQkweDQxMTAwMDI4LCA1LCAweDAwMDAwMDAxLCAneCcsICJSZWNlaXZlIEZJRk8gUmVhZCBSZXF1ZXN0IG1hc2tlZCIgfSwKK3sgIk1NQ19JTUFTS19UWEZJRk8iLAkJMHg0MTEwMDAyOCwgNiwgMHgwMDAwMDAwMSwgJ3gnLCAiVHJhbnNtaXQgRklGTyBXcml0ZSBSZXF1ZXN0IG1hc2tlZCIgfSwKKworeyAiTU1DX0lSRUciLAkJCTB4NDExMDAwMmMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBJbnRlcnJ1cHQgUmVnaXN0ZXIgKDE1LTMzKSIgfSwKK3sgIk1NQ19JUkVHX0RBVEFUUkFOIiwJCTB4NDExMDAwMmMsIDAsIDB4MDAwMDAwMDEsICd4JywgIkRhdGEgVHJhbnNmZXIgRG9uZSBvciBSZWFkIFRpbWVPdXQgb2NjdXJlZCIgfSwKK3sgIk1NQ19JUkVHX1BSR0RPTkUiLAkJMHg0MTEwMDAyYywgMSwgMHgwMDAwMDAwMSwgJ3gnLCAiQ2FyZCBoYXMgZmluaXNoZWQgcHJvZ3JhbW1pbmciIH0sCit7ICJNTUNfSVJFR19FTkRDTUQiLAkJMHg0MTEwMDAyYywgMiwgMHgwMDAwMDAwMSwgJ3gnLCAiTU1DIGhhcyByZWNlaXZlZCByZXNwb25zZSBvciBSZXNwb25zZSBUaW1lT3V0IiB9LAoreyAiTU1DX0lSRUdfU1RPUENNRCIsCQkweDQxMTAwMDJjLCAzLCAweDAwMDAwMDAxLCAneCcsICJNTUMgaXMgcmVhZHkgZm9yIHRoZSBTdG9wIFRyYW5zYWN0aW9uIENvbW1hbmQiIH0sCit7ICJNTUNfSVJFR19DTE9DS09GRiIsCQkweDQxMTAwMDJjLCA0LCAweDAwMDAwMDAxLCAneCcsICJNTUMgY2xvY2sgaGFzIGJlZW4gdHVybmVkIG9mZiIgfSwKK3sgIk1NQ19JUkVHX1JYRklGTyIsCQkweDQxMTAwMDJjLCA1LCAweDAwMDAwMDAxLCAneCcsICJSZXF1ZXN0IGZvciBkYXRhIHJlYWQgZnJvbSByZWNlaXZlIEZJRk8iIH0sCit7ICJNTUNfSVJFR19UWEZJRk8iLAkJMHg0MTEwMDAyYywgNiwgMHgwMDAwMDAwMSwgJ3gnLCAiUmVxdWVzdCB0byBkYXRhIHdyaXRlIHRvIHRyYW5zbWl0IEZJRk8iIH0sCisKK3sgIk1NQ19DTUQiLAkJCTB4NDExMDAwMzAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIk1NQyBDb21tYW5kIFJlZ2lzdGVyICgxNS0zNCkiIH0sCit7ICJNTUNfQ01EX0lOREVYIiwJCTB4NDExMDAwMzAsIDAsIDB4MDAwMDAwM2YsICd4JywgImNvbW1hbmQgaW5kZXgiIH0sCisKK3sgIk1NQ19BUkdIIiwJCQkweDQxMTAwMDM0LCAwLCAweGZmZmZmZmZmLCAneCcsICJNTUMgSGlnaGVyIEFyZ3VtZW50IFJlZ2lzdGVyICgxNS0zNikiIH0sCit7ICJNTUNfQVJHSF9BUkciLAkJMHg0MTEwMDAzNCwgMCwgMHgwMDAwZmZmZiwgJ3gnLCAidXBwZXIgMTYgYml0cyBvZiBjb21tYW5kIGFyZ3VtZW50IiB9LAorCit7ICJNTUNfQVJHTCIsCQkJMHg0MTEwMDAzOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiTU1DIExvd2VyIEFyZ3VtZW50IFJlZ2lzdGVyICgxNS0zNikiIH0sCit7ICJNTUNfQVJHTF9BUkciLAkJMHg0MTEwMDAzOCwgMCwgMHgwMDAwZmZmZiwgJ3gnLCAidXBwZXIgMTYgYml0cyBvZiBjb21tYW5kIGFyZ3VtZW50IiB9LAorCisKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX1BYQV9JRFApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfUkFNU0VTKQorLy8gQ1M1KzB4MDNDMDAwMDAgIENQTEQJCTB4MTQwMDAwMDAKKy8vIENTMSAgICAgICAgICAgICBBbHQtRmxhc2gJMHgwNDAwMDAwMAorLy8gQ1MwICAgICAgICAgICAgIEZsYXNoCTB4MDAwMDAwMDAKKworeyAiQ1BMRF9QV1IiLAkJCTB4MTdDMDAwMDQsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTERfUEVSSVBIX1BXUiIgfSwKK3sgIkNQTERfUFdSX0NPUkUiLAkJMHgxN0MwMDAwNCwgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiVmFyaWFibGUgY29yZSBlbmFibGUgLSBsYXRjaCB2YWx1ZSBpbiBmaXJzdCIgfSwKKyNpZmRlZiBDT05GSUdfQVJDSF9QWEFfSURQCit7ICJDUExEX1BXUl9NUSIsCQkweDE3QzAwMDA0LCAyLCAweDAwMDAwMDAxLCAnZCcsICJNUTExMzIgcG93ZXIgc3dpdGNoIiB9LAorI2Vsc2UKK3sgIkNQTERfUFdSX1NMODExSFMiLAkJMHgxN0MwMDAwNCwgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiU0w4MTFIUyBwb3dlciBzd2l0Y2giIH0sCisjZW5kaWYKK3sgIkNQTERfUFdSX1BFUiIsCQkweDE3QzAwMDA0LCAzLCAweDAwMDAwMDAxLCAnZCcsICJwZXJpcGhlcmFsIHBvd2VyIGVuYWJsZSIgfSwKK3sgIkNQTERfUFdSX1JTVCIsCQkweDE3QzAwMDA0LCA0LCAweDAwMDAwMDAxLCAnZCcsICJwZXJpcGhlcmFsIHJlc2V0IiB9LAorCit7ICJDUExEX0xFRCIsCQkJMHgxN0MwMDAwOCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRF9MRURfQ09OVFJPTCIgfSwKK3sgIkNQTERfTEVEX0NJUiIsCQkweDE3QzAwMDA4LCAwLCAweDAwMDAwMDAxLCAnZCcsICJDSVIiIH0sCit7ICJDUExEX0xFRF9IQiIsCQkweDE3QzAwMDA4LCA1LCAweDAwMDAwMDAxLCAnZCcsICJyZWQgTEVEICgwPW9uKSIgfSwKK3sgIkNQTERfTEVEX0JVU1kiLAkJMHgxN0MwMDAwOCwgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiZ3JlZW4gTEVEICgwPW9uKSIgfSwKK3sgIkNQTERfTEVEX0ZMQVNIIiwJCTB4MTdDMDAwMDgsIDcsIDB4MDAwMDAwMDEsICdkJywgInJlZCBMRUQgZmxhc2ggZW5hYmxlIiB9LAorCit7ICJDUExEX0tCRF9DT0xfSElHSCIsCQkweDE3QzAwMDBDLCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIiB9LAorCit7ICJDUExEX0tCRF9DT0xfTE9XIiwJCTB4MTdDMDAwMTAsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQiIH0sCisKK3sgIkNQTERfUENDQVJEX0VOIiwJCTB4MTdDMDAwMTQsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQgUEMtQ2FyZCBFbmFibGUiIH0sCit7ICJDUExEX1BDQzBfRU5BQkxFIiwJCTB4MTdDMDAwMTQsIDAsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBlbmFibGUiIH0sCit7ICJDUExEX1BDQzFfRU5BQkxFIiwJCTB4MTdDMDAwMTQsIDEsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBlbmFibGUiIH0sCit7ICJDUExEX1BDQzBfUkVTRVQiLAkJMHgxN0MwMDAxNCwgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIHJlc2V0IiB9LAoreyAiQ1BMRF9QQ0MxX1JFU0VUIiwJCTB4MTdDMDAwMTQsIDcsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSByZXNldCIgfSwKKworLyoKK3sgIkNQTERfR1BJT0hfRElSIiwJCTB4MTdDMDAwMTgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkNQTEQiIH0sCit7ICJDUExEX0dQSU9IX1ZBTFVFIiwJCTB4MTdDMDAwMUMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIkNQTEQiIH0sCit7ICJDUExEX0dQSU9MX0RJUiIsCQkweDE3QzAwMDIwLCAwLCAweGZmZmZmZmZmLCAneCcsICJDUExEIiB9LAoreyAiQ1BMRF9HUElPTF9WQUxVRSIsCQkweDE3QzAwMDI0LCAwLCAweGZmZmZmZmZmLCAneCcsICJDUExEIiB9LAorCisgICAgICBXSEVOICIwMDExMCIgPT4KKyAgICAgICAgZGF0YSg3KSA8PSBsM19kYXRhX291dDsgICAgICAgICAtLSBMMyBJSVMgY29udHJvbCBidXMgLSBkaXJlY3Rpb24gb2YgZGF0YSBiaXQKKyAgICAgICAgZGF0YSg2KSA8PSAnMCc7CisgICAgICAgIGRhdGEoNSkgPD0gJzAnOworICAgICAgICBkYXRhKDQpIDw9ICcwJzsKKyAgICAgICAgZGF0YSgzKSA8PSAnMCc7CisgICAgICAgIGRhdGEoMikgPD0gJzAnOworICAgICAgICBkYXRhKDEpIDw9IGdwc2xvd19vdXQoMSk7ICAgICAgIC0tIGRpcmVjdGlvbiBvZiBwbGRfZ3Bpb18wOQorICAgICAgICBkYXRhKDApIDw9IGdwc2xvd19vdXQoMCk7ICAgICAgIC0tIGRpcmVjdGlvbiBvZiBwbGRfZ3Bpb18wOAorCisgICAgICBXSEVOICIwMDExMSIgPT4gICAgICAgICAgICAgICAgICAgLS0gZ3BpbyBvbiBhc3luYyBidXMKKyAgICAgICAgZGF0YSg3KSA8PSBsM19kYXRhX2lvOyAgICAgICAgICAtLSBMMyBJSVMgY29udHJvbCBidXMgLSBhbHdheXMgcmVhZHMgcGluCisgICAgICAgIGRhdGEoNikgPD0gbDNfY2xrOyAgICAgICAgICAgICAgLS0gTDMgSUlTIGNvbnRyb2wgYnVzIC0gcmVhZCBiYWNrIGNsb2NrCisgICAgICAgIGRhdGEoNSkgPD0gbDNfbW9kZTsgICAgICAgICAgICAgLS0gTDMgSUlTIGNvbnRyb2wgYnVzIC0gcmVhZCBiYWNrIG1vZGUKKyAgICAgICAgZGF0YSg0KSA8PSAnMCc7CisgICAgICAgIGRhdGEoMykgPD0gJzAnOworICAgICAgICBkYXRhKDIpIDw9ICcwJzsKKyAgICAgICAgZGF0YSgxKSA8PSBncHNsb3dfaW8oMSk7ICAgICAgICAtLSBncGlvIG9uIGFzeW5jIGJ1cworICAgICAgICBkYXRhKDApIDw9IGdwc2xvd19pbygwKTsgICAgICAgIC0tIGdwaW8gb24gYXN5bmMgYnVzCisKKyAgICAgIFdIRU4gIjAxMDAwIiA9PgorICAgICAgICBkYXRhIDw9IGdwX291dDsgICAgICAgICAgICAgICAgIC0tIGRpcmVjdGlvbiBvZiBwbGRfZ3Bpb18wNyB0aHJvdWdoIDAwCisKKyAgICAgIFdIRU4gIjAxMDAxIiA9PiAgICAgICAgICAgICAgICAgICAtLSBncGlvIG9uIGhpZ2ggc3BlZWQgYnVzCisgICAgICAgIGRhdGEgPD0gZ3BfaW87CisqLworCit7ICJDUExEX1BDQ0FSRF9QV1IiLAkJMHgxN0MwMDAyOCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCBQQy1DYXJkIFBvd2VyIiB9LAoreyAiQ1BMRF9QQ0MwX1BXUjAiLAkJMHgxN0MwMDAyOCwgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIFB3ciAwIiB9LAoreyAiQ1BMRF9QQ0MwX1BXUjEiLAkJMHgxN0MwMDAyOCwgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIFB3ciAxIiB9LAoreyAiQ1BMRF9QQ0MwX1BXUjIiLAkJMHgxN0MwMDAyOCwgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIFB3ciAyIiB9LAoreyAiQ1BMRF9QQ0MwX1BXUjMiLAkJMHgxN0MwMDAyOCwgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIFB3ciAzIiB9LAoreyAiQ1BMRF9QQ0MxX1BXUjAiLAkJMHgxN0MwMDAyOCwgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIFB3ciAwIiB9LAoreyAiQ1BMRF9QQ0MxX1BXUjEiLAkJMHgxN0MwMDAyOCwgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIFB3ciAxIiB9LAoreyAiQ1BMRF9QQ0MxX1BXUjIiLAkJMHgxN0MwMDAyOCwgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIFB3ciAyIiB9LAoreyAiQ1BMRF9QQ0MxX1BXUjMiLAkJMHgxN0MwMDAyOCwgNywgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIFB3ciAzIiB9LAorCit7ICJDUExEX01JU0MiLAkJCTB4MTdDMDAwMkMsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTERfTUlTQ19DVFJMIiB9LAoreyAiQ1BMRF9NSVNDX1NFUjFFTiIsCQkweDE3QzAwMDJDLCAwLCAweDAwMDAwMDAxLCAnZCcsICJSUy0yMzIgb24gRkYgVUFSVCBlbmFibGUiIH0sCit7ICJDUExEX01JU0NfU0VSMkVOIiwJCTB4MTdDMDAwMkMsIDEsIDB4MDAwMDAwMDEsICdkJywgIlJTLTIzMiBvbiBCVCBVQVJUIGVuYWJsZSIgfSwKK3sgIkNQTERfTUlTQ19TRVIzRU4iLAkJMHgxN0MwMDAyQywgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiUlMtMjMyIG9uIFNUIFVBUlQgZW5hYmxlIiB9LAoreyAiQ1BMRF9NSVNDX0lSREFGSVIiLAkJMHgxN0MwMDAyQywgMywgMHgwMDAwMDAwMSwgJ2QnLCAiSXJEQSBGSVIgZW5hYmxlIiB9LAoreyAiQ1BMRF9NSVNDX0lSREFNRDAiLAkJMHgxN0MwMDAyQywgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiSXJEQSBtb2RlIDAiIH0sCit7ICJDUExEX01JU0NfSVJEQU1EMSIsCQkweDE3QzAwMDJDLCA1LCAweDAwMDAwMDAxLCAnZCcsICJJckRBIG1vZGUgMSIgfSwKKyNpZmRlZiBDT05GSUdfQVJDSF9QWEFfSURQCit7ICJDUExEX01JU0NfSTJTUFdSIiwJCTB4MTdDMDAwMkMsIDcsIDB4MDAwMDAwMDEsICdkJywgIlVEQTEzNDEgcG93ZXIgc3dpdGNoIiB9LAorI2VuZGlmCisKK3sgIkNQTERfTENEIiwJCQkweDE3QzAwMDMwLCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIExDRCBDb250cm9sIiwgfSwKKyNpZmRlZiBDT05GSUdfQVJDSF9QWEFfSURQCit7ICJDUExEX0xDRF9QV1IiLAkJMHgxN0MwMDAzMCwgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiTENEIFBvd2VyIiB9LAoreyAiQ1BMRF9MQ0RfQkFDS0xJR0hUIiwJCTB4MTdDMDAwMzAsIDEsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBCYWNrbGlnaHQiIH0sCit7ICJDUExEX0xDRF9WTENEIiwJCTB4MTdDMDAwMzAsIDIsIDB4MDAwMDAwMDEsICdkJywgIkxDRCBWTENEIiB9LAorI2Vsc2UKK3sgIkNQTERfTENEX1ZDQyIsCQkweDE3QzAwMDMwLCAwLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgVkNDIiB9LAoreyAiQ1BMRF9MQ0RfRElTUE9GRiIsCQkweDE3QzAwMDMwLCAyLCAweDAwMDAwMDAxLCAnZCcsICJMQ0QgbkRJU1BPRkYiIH0sCisjZW5kaWYKKworeyAiQ1BMRF9GTEFTSCIsCQkJMHgxN0MwMDAzNCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCBGbGFzaCBDb250cm9sIiB9LAoreyAiQ1BMRF9GTEFTSF9XRSIsCQkweDE3QzAwMDM0LCAwLCAweDAwMDAwMDAxLCAnZCcsICJDUExEIFN0cmF0YUZsYXNoIFdyaXRlIEVuYWJsZSIgfSwKKyNpZmRlZiBDT05GSUdfQVJDSF9QWEFfSURQCit7ICJDUExEX0ZMQVNIX01XRSIsCQkweDE3QzAwMDM0LCAxLCAweDAwMDAwMDAxLCAnZCcsICJDUExEIE1QbHVzIFdyaXRlIEVuYWJsZSIgfSwKK3sgIkNQTERfRkxBU0hfTU9FIiwJCTB4MTdDMDAwMzQsIDIsIDB4MDAwMDAwMDEsICdkJywgIkNQTEQgTVBsdXMgT3V0cHV0IEVuYWJsZSIgfSwKKworeyAiQ1BMRF9DUyIsCQkJMHgxN0MwMDAzOCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCBDaGlwIFNlbGVjdCBSZWdpc3RlciIgfSwKK3sgIkNQTERfQ1NfQ1MwRU4iLAkJMHgxN0MwMDAzOCwgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiQ1BMRCBDaGlwIFNlbGVjdCAwIEVuYWJsZSIgfSwKK3sgIkNQTERfQ1NfQ1MxRU4iLAkJMHgxN0MwMDAzOCwgMSwgMHgwMDAwMDAwMSwgJ2QnLCAiQ1BMRCBDaGlwIFNlbGVjdCAxIEVuYWJsZSIgfSwKK3sgIkNQTERfQ1NfQ1MyRU4iLAkJMHgxN0MwMDAzOCwgMiwgMHgwMDAwMDAwMSwgJ2QnLCAiQ1BMRCBDaGlwIFNlbGVjdCAyIEVuYWJsZSIgfSwKK3sgIkNQTERfQ1NfQ1MzRU4iLAkJMHgxN0MwMDAzOCwgMywgMHgwMDAwMDAwMSwgJ2QnLCAiQ1BMRCBDaGlwIFNlbGVjdCAzIEVuYWJsZSIgfSwKK3sgIkNQTERfQ1NfQ1M0RU4iLAkJMHgxN0MwMDAzOCwgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiQ1BMRCBDaGlwIFNlbGVjdCA0IEVuYWJsZSIgfSwKKy8veyAiQ1BMRF9DU19DUzVFTiIsCQkweDE3QzAwMDM4LCA0LCAweDAwMDAwMDAxLCAnZCcsICJDUExEIENoaXAgU2VsZWN0IDUgRW5hYmxlIiB9LAorI2VuZGlmCisKK3sgIkNQTERfS0JfUk9XIiwJCTB4MTdDMDAwNTAsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQiIH0sCisKK3sgIkNQTERfUENDQVJEMF9TVEFUVVMiLAkweDE3QzAwMDU0LCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIFBDLUNhcmQgMCBTdGF0dXMiIH0sCit7ICJDUExEX1BDQzBfVlMxIiwgICAgICAgICAgICAgIDB4MTdDMDAwNTQsIDAsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBWUzEiIH0sCit7ICJDUExEX1BDQzBfVlMyIiwgICAgICAgICAgICAgIDB4MTdDMDAwNTQsIDEsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBWUzIiIH0sCit7ICJDUExEX1BDQzBfQlZEMSIsICAgICAgICAgICAgIDB4MTdDMDAwNTQsIDIsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMCBCVkQxIiB9LAoreyAiQ1BMRF9QQ0MwX0JWRDIiLCAgICAgICAgICAgICAweDE3QzAwMDU0LCAzLCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDAgQlZEMiIgfSwKK3sgIkNQTERfUENDMF9JTlBBQ0siLCAgICAgICAgICAgMHgxN0MwMDA1NCwgNCwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIElOUEFDSyIgfSwKK3sgIkNQTERfUENDMF9JUlEiLCAgICAgICAgICAgICAgMHgxN0MwMDA1NCwgNSwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIElSUSIgfSwKK3sgIkNQTERfUENDMF9TVFJFU0VUIiwgICAgICAgICAgMHgxN0MwMDA1NCwgNiwgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAwIFJFU0VUIiB9LAoreyAiQ1BMRF9QQ0MwX1dSUFJPVCIsICAgICAgICAgICAweDE3QzAwMDU0LCA3LCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDAgV1JQUk9UIiB9LAorCit7ICJDUExEX1BDQ0FSRDFfU1RBVFVTIiwJMHgxN0MwMDA1OCwgMCwgMHgwMDAwMDBmZiwgJ3gnLCAiQ1BMRCBQQy1DYXJkIDEgU3RhdHVzIiB9LAoreyAiQ1BMRF9QQ0MxX1ZTMSIsICAgICAgICAgICAgICAweDE3QzAwMDU4LCAwLCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDEgVlMxIiB9LAoreyAiQ1BMRF9QQ0MxX1ZTMiIsICAgICAgICAgICAgICAweDE3QzAwMDU4LCAxLCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDEgVlMyIiB9LAoreyAiQ1BMRF9QQ0MxX0JWRDEiLCAgICAgICAgICAgICAweDE3QzAwMDU4LCAyLCAweDAwMDAwMDAxLCAnZCcsICJQQy1DYXJkIDEgQlZEMSIgfSwKK3sgIkNQTERfUENDMV9CVkQyIiwgICAgICAgICAgICAgMHgxN0MwMDA1OCwgMywgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIEJWRDIiIH0sCit7ICJDUExEX1BDQzFfSU5QQUNLIiwgICAgICAgICAgIDB4MTdDMDAwNTgsIDQsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBJTlBBQ0siIH0sCit7ICJDUExEX1BDQzFfSVJRIiwgICAgICAgICAgICAgIDB4MTdDMDAwNTgsIDUsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBJUlEiIH0sCit7ICJDUExEX1BDQzFfU1RSRVNFVCIsICAgICAgICAgIDB4MTdDMDAwNTgsIDYsIDB4MDAwMDAwMDEsICdkJywgIlBDLUNhcmQgMSBSRVNFVCIgfSwKK3sgIkNQTERfUENDMV9XUlBST1QiLCAgICAgICAgICAgMHgxN0MwMDA1OCwgNywgMHgwMDAwMDAwMSwgJ2QnLCAiUEMtQ2FyZCAxIFdSUFJPVCIgfSwKKworeyAiQ1BMRF9NSVNDX1NUQVRVUyIsCQkweDE3QzAwMDVDLCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIE1pc2MgU3RhdHVzIiB9LAoreyAiQ1BMRF9NSVNDX1VTQl9EX0NPTiIsICAgICAgICAweDE3QzAwMDVDLCAwLCAweDAwMDAwMDAxLCAnZCcsICJDaGFyZ2Ugc3RhdHVzIiB9LAoreyAiQ1BMRF9NSVNDX1dBTExfSU4iLCAgICAgICAgICAweDE3QzAwMDVDLCAxLCAweDAwMDAwMDAxLCAnZCcsICJDaGFyZ2Ugc3RhdHVzIiB9LAoreyAiQ1BMRF9NSVNDX0NIR19TVFMiLCAgICAgICAgICAweDE3QzAwMDVDLCAyLCAweDAwMDAwMDAxLCAnZCcsICJDaGFyZ2Ugc3RhdHVzIiB9LAoreyAiQ1BMRF9NSVNDX01NQ19XUFJPVCIsICAgICAgICAweDE3QzAwMDVDLCA3LCAweDAwMDAwMDAxLCAnZCcsICJNTUMgd3JpdGUgcHJvdGVjdCIgfSwKKworeyAiQ1BMRF9WRVJfWUVBUiIsCQkweDE3QzAwMDYwLCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIFllYXIiIH0sCit7ICJDUExEX1ZFUl9NT05USCIsCQkweDE3QzAwMDY0LCAwLCAweDAwMDAwMGZmLCAneCcsICJDUExEIE1vbnRoIiB9LAoreyAiQ1BMRF9WRVJfREFZIiwJCTB4MTdDMDAwNjgsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQgRGF5IiB9LAoreyAiQ1BMRF9WRVJfUkVWIiwJCTB4MTdDMDAwNkMsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQgUmV2aXNpb24iIH0sCisKK3sgIkNQTERfVlNUQVQiLAkJCTB4MTdDMDAwN0MsIDAsIDB4MDAwMDAwZmYsICd4JywgIkNQTEQgVm9sdGFnZSBTdGF0dXMiIH0sCisjaWZkZWYgQ09ORklHX0FSQ0hfUFhBX0lEUAoreyAiQ1BMRF9CU1RBVF9WM0dPT0QiLAkJMHgxN0MwMDA3QywgMCwgMHgwMDAwMDAwMSwgJ3gnLCAidjNnb29kIiB9LAorI2VuZGlmCit7ICJDUExEX0JTVEFUX0JXRSIsCQkweDE3QzAwMDdDLCAxLCAweDAwMDAwMDAxLCAneCcsICJid2UiIH0sCisKKyNlbmRpZgorCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9SQU1TRVMpCit7ICJVQVJUQV9SSFIiLAkJCTB4MEMwMDJFMDAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQSBSSFIvVEhSIiB9LAoreyAiVUFSVEFfSUVSIiwJCQkweDBDMDAyRTA0LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEEgSUVSIiB9LAoreyAiVUFSVEFfRkNSIiwJCQkweDBDMDAyRTA4LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEEgRkNSL0lJUiIgfSwKK3sgIlVBUlRBX0xDUiIsCQkJMHgwQzAwMkUwQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBBIExDUiIgfSwKK3sgIlVBUlRBX01DUiIsCQkJMHgwQzAwMkUxMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBBIE1DUiIgfSwKK3sgIlVBUlRBX0xTUiIsCQkJMHgwQzAwMkUxNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBBIExTUiIgfSwKK3sgIlVBUlRBX01TUiIsCQkJMHgwQzAwMkUxOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBBIE1TUiIgfSwKK3sgIlVBUlRBX1NQUiIsCQkJMHgwQzAwMkUxQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBBIFNQUiIgfSwKKworeyAiVUFSVEJfUkhSIiwJCQkweDBDMDAyRDAwLCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEIgUkhSL1RIUiIgfSwKK3sgIlVBUlRCX0lFUiIsCQkJMHgwQzAwMkQwNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBCIElFUiIgfSwKK3sgIlVBUlRCX0ZDUiIsCQkJMHgwQzAwMkQwOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBCIEZDUi9JSVIiIH0sCit7ICJVQVJUQl9MQ1IiLAkJCTB4MEMwMDJEMEMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQiBMQ1IiIH0sCit7ICJVQVJUQl9NQ1IiLAkJCTB4MEMwMDJEMTAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQiBNQ1IiIH0sCit7ICJVQVJUQl9MU1IiLAkJCTB4MEMwMDJEMTQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQiBMU1IiIH0sCit7ICJVQVJUQl9NU1IiLAkJCTB4MEMwMDJEMTgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQiBNU1IiIH0sCit7ICJVQVJUQl9TUFIiLAkJCTB4MEMwMDJEMUMsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQiBTUFIiIH0sCisKK3sgIlVBUlREX1JIUiIsCQkJMHgwQzAwMkIwMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBDIFJIUi9USFIiIH0sCit7ICJVQVJURF9JRVIiLAkJCTB4MEMwMDJCMDQsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQyBJRVIiIH0sCit7ICJVQVJURF9GQ1IiLAkJCTB4MEMwMDJCMDgsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgQyBGQ1IvSUlSIiB9LAoreyAiVUFSVERfTENSIiwJCQkweDBDMDAyQjBDLCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEMgTENSIiB9LAoreyAiVUFSVERfTUNSIiwJCQkweDBDMDAyQjEwLCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEMgTUNSIiB9LAoreyAiVUFSVERfTFNSIiwJCQkweDBDMDAyQjE0LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEMgTFNSIiB9LAoreyAiVUFSVERfTVNSIiwJCQkweDBDMDAyQjE4LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEMgTVNSIiB9LAoreyAiVUFSVERfU1BSIiwJCQkweDBDMDAyQjFDLCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEMgU1BSIiB9LAorCit7ICJVQVJURF9SSFIiLAkJCTB4MEMwMDI3MDAsIDAsIDB4ZmZmZmZmZmYsICd4JywgIlVBUlQgRCBSSFIvVEhSIiB9LAoreyAiVUFSVERfSUVSIiwJCQkweDBDMDAyNzA0LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEQgSUVSIiB9LAoreyAiVUFSVERfRkNSIiwJCQkweDBDMDAyNzA4LCAwLCAweGZmZmZmZmZmLCAneCcsICJVQVJUIEQgRkNSL0lJUiIgfSwKK3sgIlVBUlREX0xDUiIsCQkJMHgwQzAwMjcwQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBEIExDUiIgfSwKK3sgIlVBUlREX01DUiIsCQkJMHgwQzAwMjcxMCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBEIE1DUiIgfSwKK3sgIlVBUlREX0xTUiIsCQkJMHgwQzAwMjcxNCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBEIExTUiIgfSwKK3sgIlVBUlREX01TUiIsCQkJMHgwQzAwMjcxOCwgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBEIE1TUiIgfSwKK3sgIlVBUlREX1NQUiIsCQkJMHgwQzAwMjcxQywgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVUFSVCBEIFNQUiIgfSwKKworI2VuZGlmCisKK307CisKKworCisjZGVmaW5lIE1BUF9TSVpFIDQwOTYKKyNkZWZpbmUgTUFQX01BU0sgKCBNQVBfU0laRSAtIDEgKQorCitzdGF0aWMgaW50IGdldG1lbSh1MzIgYWRkcikKK3sKKyAgIHZvaWQgKm1hcCwgKnJlZ2FkZHI7CisgICB1MzIgdmFsOworCisgICAvL3ByaW50ZigiZ2V0bWVtKDB4JTA4eClcbiIsIGFkZHIpOworCisgICBpZiAoZmQgPT0gLTEpIHsKKyAgICAgIGZkID0gb3BlbigiL2Rldi9tZW0iLCBPX1JEV1IgfCBPX1NZTkMpOworICAgICAgaWYgKGZkPDApIHsKKyAgICAgICAgICBwZXJyb3IoIm9wZW4oXCIvZGV2L21lbVwiKSIpOworICAgICAgICAgIGV4aXQoMSk7CisgICAgICB9CisgICB9CisKKyAgIG1hcCA9IG1tYXAoMCwKKyAgICAgICAgICAgICAgTUFQX1NJWkUsCisgICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsCisgICAgICAgICAgICAgIE1BUF9TSEFSRUQsCisgICAgICAgICAgICAgIGZkLAorICAgICAgICAgICAgICBhZGRyICYgfk1BUF9NQVNLCisgICAgICAgICAgICAgKTsKKyAgIGlmIChtYXAgPT0gKHZvaWQqKS0xICkgeworICAgICAgIHBlcnJvcigibW1hcCgpIik7CisgICAgICAgZXhpdCgxKTsKKyAgIH0KKworICAgcmVnYWRkciA9IG1hcCArIChhZGRyICYgTUFQX01BU0spOworCisgICB2YWwgPSAqKHUzMiopIHJlZ2FkZHI7CisgICBtdW5tYXAoMCxNQVBfU0laRSk7CisKKyAgIHJldHVybiB2YWw7Cit9CisKK3N0YXRpYyB2b2lkIHB1dG1lbSh1MzIgYWRkciwgdTMyIHZhbCkKK3sKKyAgIHZvaWQgKm1hcCwgKnJlZ2FkZHI7CisgICBzdGF0aWMgaW50IGZkID0gLTE7CisKKyAgIC8vcHJpbnRmKCJwdXRtZW0oMHglMDh4LCAweCUwOHgpXG4iLCBhZGRyLCB2YWwpOworCisgICBpZiAoZmQgPT0gLTEpIHsKKyAgICAgIGZkID0gb3BlbigiL2Rldi9tZW0iLCBPX1JEV1IgfCBPX1NZTkMpOworICAgICAgaWYgKGZkPDApIHsKKyAgICAgICAgICBwZXJyb3IoIm9wZW4oXCIvZGV2L21lbVwiKSIpOworICAgICAgICAgIGV4aXQoMSk7CisgICAgICB9CisgICB9CisKKyAgIG1hcCA9IG1tYXAoMCwKKyAgICAgICAgICAgICAgTUFQX1NJWkUsCisgICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsCisgICAgICAgICAgICAgIE1BUF9TSEFSRUQsCisgICAgICAgICAgICAgIGZkLAorICAgICAgICAgICAgICBhZGRyICYgfk1BUF9NQVNLCisgICAgICAgICAgICAgKTsKKyAgIGlmIChtYXAgPT0gKHZvaWQqKS0xICkgeworICAgICAgIHBlcnJvcigibW1hcCgpIik7CisgICAgICAgZXhpdCgxKTsKKyAgIH0KKworICAgcmVnYWRkciA9IG1hcCArIChhZGRyICYgTUFQX01BU0spOworCisgICAqKHUzMiopIHJlZ2FkZHIgPSB2YWw7CisgICBtdW5tYXAoMCxNQVBfU0laRSk7Cit9CisKK3N0YXRpYyB1MzIgbGFzdGFkZHIgPSAwOworc3RhdGljIHUzMiBuZXdhZGRyID0gMTsKK3N0YXRpYyB1MzIgZGF0YSA9IDA7CitzdGF0aWMgdTMyIHNoaWZ0ZGF0YTsKKworCitzdGF0aWMgdm9pZCBkdW1wZW50cnkoaW50IGkpCit7CisgICBpbnQgajsKKworICAgaWYgKHJlZ3NbaV0uYWRkciAhPSBsYXN0YWRkcikgbmV3YWRkciA9IDE7CisgICBpZiAobmV3YWRkcikgeworICAgICAgIG5ld2FkZHIgPSAwOworICAgICAgIGxhc3RhZGRyID0gcmVnc1tpXS5hZGRyOworICAgICAgIGRhdGEgPSBnZXRtZW0obGFzdGFkZHIpOworICAgICAgIHByaW50ZigiXG4lc1xuIiwgcmVnc1tpXS5kZXNjKTsKKyAgICAgICBwcmludGYoIiUtMjRzIDB4JTA4eCAgIiwgcmVnc1tpXS5uYW1lLCBkYXRhKTsKKyAgICAgICBzaGlmdGRhdGEgPSBkYXRhOworICAgICAgIGZvciAoaj0zMjsgaj4wOyBqLS0pIHsKKyAgICAgICAgICAgcHJpbnRmKCIlYyIsIHNoaWZ0ZGF0YSAmIDB4ODAwMDAwMDAgPyAnMScgOiAnMCcpOworICAgICAgICAgICBzaGlmdGRhdGEgPSBzaGlmdGRhdGEgPDwgMTsKKyAgICAgICAgICAgaWYgKGo9PTkgfHwgaj09MTcgfHwgaj09MjUpIHByaW50ZigiICIpOworICAgICAgIH0KKworICAgICAgIHByaW50ZigiXG4iKTsKKyAgIH0KKworICAgaWYgKHJlZ3NbaV0uc2hpZnQgIT0gMCAgfHwgIHJlZ3NbaV0ubWFzayAhPSAweGZmZmZmZmZmKSB7CisgICAgICAgc2hpZnRkYXRhID0gKGRhdGEgPj4gcmVnc1tpXS5zaGlmdCkgJiByZWdzW2ldLm1hc2s7CisgICAgICAgcHJpbnRmKCIlLTI1cyAgIiwgcmVnc1tpXS5uYW1lKTsKKyAgICAgICBzd2l0Y2ggKHJlZ3NbaV0udHlwZSkgeworICAgICAgICAgIGNhc2UgJ3gnOiBwcmludGYoIiU4eCIsIHNoaWZ0ZGF0YSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgJzwnOiBwcmludGYoIiU4dSIsIDEgPDwgc2hpZnRkYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlOHUiLCBzaGlmdGRhdGEpOworICAgICAgIH0KKyAgICAgICBwcmludGYoIiAgJXNcbiIsIHJlZ3NbaV0uZGVzYyk7CisgICB9Cit9CisKKworc3RhdGljIHZvaWQgZHVtcGFsbCh2b2lkKQoreworICAgaW50IGk7CisgICBpbnQgbj1zaXplb2YocmVncykvc2l6ZW9mKHN0cnVjdCByZWdfaW5mbyk7CisKKyAgIGZvciAoaT0wOyBpPG47IGkrKykgeworICAgICAgZHVtcGVudHJ5KGkpOworICAgfQorfQorCisKK3N0YXRpYyB2b2lkIGR1bXBtYXRjaGluZyhjaGFyICpuYW1lKQoreworICAgaW50IGk7CisgICBpbnQgbj1zaXplb2YocmVncykvc2l6ZW9mKHN0cnVjdCByZWdfaW5mbyk7CisKKworICAgZm9yIChpPTA7IGk8bjsgaSsrKSB7CisgICAgICBpZiAoc3Ryc3RyKHJlZ3NbaV0ubmFtZSwgbmFtZSkpCisgICAgICAgICBkdW1wZW50cnkoaSk7CisgICB9Cit9CisKKworc3RhdGljIHZvaWQgc2V0cmVnKGNoYXIgKm5hbWUsIHUzMiB2YWwpCit7CisgICBpbnQgaTsKKyAgIHUzMiBtZW07CisgICBpbnQgZm91bmQ9MDsKKyAgIGludCBjb3VudD0wOworICAgaW50IG49c2l6ZW9mKHJlZ3MpL3NpemVvZihzdHJ1Y3QgcmVnX2luZm8pOworCisKKyAgIGZvciAoaT0wOyBpPG47IGkrKykgeworICAgICAgaWYgKHN0cmNtcChyZWdzW2ldLm5hbWUsIG5hbWUpPT0wKSB7CisgICAgICAgICBmb3VuZCA9IGk7CisgICAgICAgICAvL3ByaW50ZigiTWF0Y2hlZCAlcyB3aXRoICVzLCBjb3VudD0lZFxuIiwgcmVnc1tpXS5uYW1lLCBuYW1lLCBjb3VudCk7CisgICAgICAgICBjb3VudCsrOworICAgICAgfQorICAgfQorICAgaWYgKGNvdW50IT0xKSB7CisgICAgICBwcmludGYoIk5vIG9yIG1vcmUgdGhhbiBvbmUgbWF0Y2hpbmcgcmVnaXN0ZXIgZm91bmRcbiIpOworICAgICAgZXhpdCgxKTsKKyAgIH0KKworICAgbWVtID0gZ2V0bWVtKHJlZ3NbZm91bmRdLmFkZHIpOworICAgLy9wcmludGYoIk9sZCBjb250ZW50czogMHglMDh4XG4iLCBtZW0pOworICAgbWVtICY9IH4ocmVnc1tmb3VuZF0ubWFzayA8PCByZWdzW2ZvdW5kXS5zaGlmdCk7CisgICAvL3ByaW50ZigiVW5tYXNrZWQgY29udGVudHM6IDB4JTA4eFxuIiwgbWVtKTsKKyAgIHZhbCAmPSByZWdzW2ZvdW5kXS5tYXNrOworICAgLy9wcmludGYoIm1hc2s6IDB4JTA4eFxuIiwgcmVnc1tmb3VuZF0ubWFzayk7CisgICAvL3ByaW50ZigibWFza2VkIHZhbDogMHglMDh4XG4iLCB2YWwpOworICAgbWVtIHw9IHZhbCA8PCByZWdzW2ZvdW5kXS5zaGlmdDsKKyAgIC8vcHJpbnRmKCJFbWJlZGRlZCB2YWx1ZTogMHglMDh4XG4iLCBtZW0pOworICAgcHV0bWVtKHJlZ3NbZm91bmRdLmFkZHIsIG1lbSk7Cit9CisKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKyAgICBjaGFyICpwOworICAgIHUzMiB2YWw7CisKKyAgICBpZiAoYXJnYyA9PSAxKSB7CisgICAgICAgZHVtcGFsbCgpOworICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIC8vIFVwcGVyY2FzZSBmaXJzdCBhcmd1bWVudAorICAgIGlmIChhcmdjID49IDIpIHsKKyAgICAgICAgcCA9IGFyZ3ZbMV07CisgICAgICAgIHdoaWxlICgqcCkgeworICAgICAgICAgICAqcCA9IHRvdXBwZXIoKnApOworICAgICAgICAgICBwKys7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoYXJnYyA9PSAyKSB7CisgICAgICAgZHVtcG1hdGNoaW5nKGFyZ3ZbMV0pOworICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIGlmIChhcmdjID09IDMpIHsKKwlzc2NhbmYoYXJndlsyXSwiJWkiLCZ2YWwpOworCXNldHJlZyhhcmd2WzFdLCB2YWwpOworCXJldHVybiAwOworICAgIH0KKworICAgIHByaW50ZigiVXNhZ2U6ICVzICAgICAgICAgICAgICAgIC0gdG8gZHVtcCBhbGwga25vd24gcmVnaXN0ZXJzXG4iCisgICAgICAgICAgICIgICAgICAgJXMgPG5hbWU+ICAgICAgICAgLSB0byBkdW1wIG5hbWVkIHJlZ2lzdGVyXG4iCisgICAgICAgICAgICIgICAgICAgJXMgPG5hbWU+IDx2YWx1ZT4gLSB0byBzZXQgbmFtZWQgcmVnaXN0ZXJcbiIsCisgICAgICAgICAgIGFyZ3ZbMF0sIGFyZ3ZbMF0sIGFyZ3ZbMF0pOworICAgIHJldHVybiAxOworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9zZXJpYWwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVncy0xLjE0L3NlcmlhbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjg1Mzg1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC9zZXJpYWwucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorSW5kZXg6IHB4YXJlZ3MtMS4xNC9weGFyZWdzLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBweGFyZWdzLTEuMTQub3JpZy9weGFyZWdzLmMKKysrKyBweGFyZWdzLTEuMTQvcHhhcmVncy5jCitAQCAtNzgsNiArNzgsOSBAQCBzdGF0aWMgc3RydWN0IHJlZ19pbmZvIHJlZ3NbXSA9IHsKKyB7ICJJU0FSIiwgICAgICAweDQwMzAxNkEwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSTJDIFNsYXZlIEFkZHJlc3MgUmVnaXN0ZXIiIH0sCisgeyAiSVNBUl9TQSIsICAgMHg0MDMwMTZBMCwgIDAsIDB4MDAwMDAwN2YsICd4JywgIkkyQyBTbGF2ZSBBZGRyZXNzIiB9LAorIAorK3sgIkhXX01DUiIsICAgIDB4NDE2MDAwMTAsICAwLCAweGZmZmZmZmZmLCAneCcsICJIV1VBUlQgTW9kZW0gQ29udHJvbCBSZWdpc3RlciIgfSwKKyt7ICJIV19NU1IiLCAgICAweDQxNjAwMDE4LCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiSFdVQVJUIE1vZGVtIFN0YXR1cyBSZWdpc3RlciIgfSwKKysKKyB7ICJQTUNSIiwgICAgICAweDQwRjAwMDAwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiUG93ZXIgTWFuYWdlciBDb250cm9sIFJlZ2lzdGVyICgzLTIzKSIgfSwKKyB7ICJQTUNSX0lEQUUiLCAweDQwRjAwMDAwLCAgMCwgMHgwMDAwMDAwMSwgJ2QnLCAiUE0gaW1wcmVjaXNlIGRhdGEgYWJvcnQgYWJvcnQgc2lnbmFsIiB9LAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC91c2IucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B4YXJlZ3MvcHhhcmVncy0xLjE0L3VzYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OWYyMWZlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3MtMS4xNC91c2IucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorSW5kZXg6IHB4YXJlZ3MtMS4xNC9weGFyZWdzLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBweGFyZWdzLTEuMTQub3JpZy9weGFyZWdzLmMKKysrKyBweGFyZWdzLTEuMTQvcHhhcmVncy5jCitAQCAtNzgsNiArNzgsMTIgQEAgc3RhdGljIHN0cnVjdCByZWdfaW5mbyByZWdzW10gPSB7CisgeyAiSVNBUiIsICAgICAgMHg0MDMwMTZBMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkkyQyBTbGF2ZSBBZGRyZXNzIFJlZ2lzdGVyIiB9LAorIHsgIklTQVJfU0EiLCAgIDB4NDAzMDE2QTAsICAwLCAweDAwMDAwMDdmLCAneCcsICJJMkMgU2xhdmUgQWRkcmVzcyIgfSwKKyAKKyt7ICJVUDJPQ1IiLCAgICAweDQwNjAwMDIwLCAgMCwgMHhmZmZmZmZmZiwgJ3gnLCAiVVNCIFBvcnQgMiBPdXRwdXQgQ29udHJvbCBSZWdpc3RlciIgfSwKKyt7ICJVUDJPQ1JfU0VPUyIsIDB4NDA2MDAwMjAsIDI0LCA3LCAneCcsICJVU0IgUG9ydCAyIFNpbmdsZS1FbmRlZCBPdXRwdXQgU2VsZWN0IiB9LAorK3sgIlVQMk9DUl9IWE9FIiwgMHg0MDYwMDAyMCwgMTcsIDEsICd4JywgIlVTQiBQb3J0IDIgVHJhbmNlaXZlciBPRSIgfSwKKyt7ICJVUDJPQ1JfSFhTIiwgIDB4NDA2MDAwMjAsIDE2LCAxLCAneCcsICJVU0IgUG9ydCAyIFRyYW5jZWl2ZXIgT3V0cHV0IFNlbGVjdCIgfSwKKyt7ICJVUDJPQ1JfSURPTiIsIDB4NDA2MDAwMjAsIDEwLCAxLCAneCcsICJPVEcgSUQgUmVhZCBFbmFibGUiIH0sCisrCisgeyAiSFdfTUNSIiwgICAgMHg0MTYwMDAxMCwgIDAsIDB4ZmZmZmZmZmYsICd4JywgIkhXVUFSVCBNb2RlbSBDb250cm9sIFJlZ2lzdGVyIiB9LAorIHsgIkhXX01TUiIsICAgIDB4NDE2MDAwMTgsICAwLCAweGZmZmZmZmZmLCAneCcsICJIV1VBUlQgTW9kZW0gU3RhdHVzIFJlZ2lzdGVyIiB9LAorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9weGFyZWdzL3B4YXJlZ3NfMS4xNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzXzEuMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBjNDFmZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcHhhcmVncy9weGFyZWdzXzEuMTQuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJUb29sIHRvIGRpc3BsYXkgYW5kIG1vZGlmeSBQWEEgcmVnaXN0ZXJzIGF0IHJ1bnRpbWUiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vcHhhcmVncy5jO2VuZGxpbmU9MTI7bWQ1PTY2OGQwNjFiNzYzN2FjYzY4Y2I4MDcxYzliZTM3MmU2IgorQVVUSE9SID0gIkhvbGdlciBTY2h1cmlnIDxoczQyMzNAbWFpbC5tbi1zb2x1dGlvbnMuZGU+IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5tbi1sb2dpc3Rpay5kZS91bnN1cHBvcnRlZC9weGEyNTAvIgorCitTUkNfVVJJID0gImZpbGU6Ly9weGFyZWdzLmMgXAorICAgICAgICAgICBmaWxlOi8vaTJjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL211bm1hcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zZXJpYWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdXNiLnBhdGNoICIKKworUyA9ICIke1dPUktESVJ9IgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9IHB4YXJlZ3MuYyAtbyBweGFyZWdzICR7Q0ZMQUdTfSAke0xERkxBR1N9Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDA3NTUgcHhhcmVncyAke0R9JHtzYmluZGlyfS8KK30KKworU1JDX1VSSVttZDVzdW1dID0gImE0M2JhYTg4ODQyY2Q1OTI2ZGJmZmI2ZmI4NzYyNGY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYzMzliOTFjZDhhYjM0ODA1MmMzNmIzNmQyMDAzM2U0YmZmYzM2NjZiYzgzNmZmNzJkNTcwNGYwMjVlMWMwNTciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlMmMvcmUyYy9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlMmMvcmUyYy9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNhMDk2OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmUyYy9yZTJjL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDE4IEBACitNb2Rlcm5pc2UgY29uZmlndXJlIHRvIHdvcmsgd2l0aCBtb2Rlcm4gYXV0b21ha2UuCisKK1JQIDIwMTQvNy8xNAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSW5kZXg6IHJlMmMtMC4xMy41L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHJlMmMtMC4xMy41Lm9yaWcvY29uZmlndXJlLmluCTIwMDgtMDUtMjUgMTQ6NDI6MzQuMDAwMDAwMDAwICswMDAwCisrKysgcmUyYy0wLjEzLjUvY29uZmlndXJlLmluCTIwMTQtMDctMTcgMTQ6MTA6NDAuNTk1ODIxMjkyICswMDAwCitAQCAtMSw2ICsxLDYgQEAKKyBBQ19QUkVSRVEoWzIuNTddKQorIEFDX0lOSVQocmUyYywgMC4xMy41LCByZTJjLWdlbmVyYWxAbGlzdHMuc291cmNlZm9yZ2UubmV0KQorLUFNX0lOSVRfQVVUT01BS0UocmUyYywgJFBBQ0tBR0VfVkVSU0lPTikKKytBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduXSkKKyBBQ19DT05GSUdfU1JDRElSKGFjdGlvbnMuY2MpCisgQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmUyYy9yZTJjXzAuMTMuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmUyYy9yZTJjXzAuMTMuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2FjOTQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZTJjL3JlMmNfMC4xMy41LmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiVG9vbCBmb3Igd3JpdGluZyB2ZXJ5IGZhc3QgYW5kIHZlcnkgZmxleGlibGUgc2Nhbm5lcnMiCitIT01FUEFHRSA9ICJodHRwOi8vcmUyYy5zb3VyY2Vmb3JnZS5uZXQvIgorQVVUSE9SID0gIk1hcmN1cyBCw7ZyZ2VyIDxoZWxseUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+IgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTE4MDttZDU9ODIyODMwYTIyMDRhZWYzNTNmMmM0ODlmNjJlMDIwODkiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0YTk3ZDhmNzdlZDZkMmM3NmM4YmQ4NDBhNDNmNTYzMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmM2E5OTUxMzlhZjQ3NWU4MGEzMDIwN2QwMjcyOGIxZTAwNjViMGNhYWRlNzM3NWU5NzRjYjFiMTQ4NjE2NjhjIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZC8wMDAxLWNvbmZpZ3VyZS1yZW1vdmUtY2hlY2stZm9yLXg4Ni5oLXdlLWRvbi10LWJ1aWxkLWdldC0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1jb25maWd1cmUtcmVtb3ZlLWNoZWNrLWZvci14ODYuaC13ZS1kb24tdC1idWlsZC1nZXQtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0MDgwMDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1jb25maWd1cmUtcmVtb3ZlLWNoZWNrLWZvci14ODYuaC13ZS1kb24tdC1idWlsZC1nZXQtLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gZWI3NTkwY2MyY2RkNWMzNTQwM2FmNDU2N2Q4NTI0ZTAxNzAxMGYxYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBTYXQsIDExIE1heSAyMDEzIDA3OjU4OjE3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZTogcmVtb3ZlIGNoZWNrIGZvciB4ODYuaCwgd2UgZG9uJ3QgYnVpbGQgZ2V0LWVkaWQKKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuQGRvbWluaW9uLnRocnVoZXJlLm5ldD4KKworVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKy0tLQorIGNvbmZpZ3VyZS5pbiB8IDIgLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggYWM4NWEyMS4uZjUzZTkwNCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtOCw4ICs4LDYgQEAgZG5sIENoZWNrcyBmb3IgcHJvZ3JhbXMKKyAKKyBBQ19QUk9HX0NDCisgCistQUNfQ0hFQ0tfSEVBREVSKFtsaWJ4ODYuaF0sIFtdLCBbQUNfTVNHX0VSUk9SKFtsaWJ4ODYuaCBub3QgZm91bmRdKV0pCistCisgZG5sIFNpbXBsZSwgaHVoPworIAorIEFDX09VVFBVVChbTWFrZWZpbGVdKQorLS0gCisxLjguMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8yLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8yLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDAyOTA2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZWFkLWVkaWQvcmVhZC1lZGlkXzIuMC4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OID0gInJlYWQtZWRpZCBlbHVjaWRhdGVzIHZhcmlvdXMgdmVyeSB1c2VmdWwgaW5mb3JtYXRpb25zIGZyb20gYSBjb25mb3JtaW5nIFBuUCBtb25pdG9yIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQwYmY3MGZhMWVmODFmZTQ3NDFlYzBlNjIzMWRhZGZkIgorCitTUkNfVVJJID0gImh0dHA6Ly9wb2x5cHV4Lm9yZy9wcm9qZWN0cy9yZWFkLWVkaWQvcmVhZC1lZGlkLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1yZW1vdmUtY2hlY2stZm9yLXg4Ni5oLXdlLWRvbi10LWJ1aWxkLWdldC0ucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ODZlN2ZhMTE2Nzc3M2IyN2Y0ZTUwNWVkYzkzMjc0YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNDZlYzE0ZWM1MDllMDlhYzI2ZmU2ODYyYjEyMDQ4MWIyY2M4ODFlMmYxNDJiYTQwODg2ZDZlZWMxNWU3N2U4IgorCitpbmhlcml0IGF1dG90b29scworCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UgcGFyc2UtZWRpZAorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSBwYXJzZS1lZGlkICR7RH0ke2JpbmRpcn0KK30KKworUEFDS0FHRVMgPSsgInBhcnNlLWVkaWQiCitGSUxFU19wYXJzZS1lZGlkID0gIiR7YmluZGlyfS9wYXJzZS1lZGlkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yc25hcHNob3QvcnNuYXBzaG90L2NvbmZpZ3VyZS1maXgtY21kX3JzeW5jLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yc25hcHNob3QvcnNuYXBzaG90L2NvbmZpZ3VyZS1maXgtY21kX3JzeW5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NjZkZjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JzbmFwc2hvdC9yc25hcHNob3QvY29uZmlndXJlLWZpeC1jbWRfcnN5bmMucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorRnJvbSAyNmFkNDMxZTE5Nzg4ODk4ZmI0ZWQxOWZmOTEzOTJlOGIyMGYxYmFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDE2IE9jdCAyMDE0IDA0OjA2OjU1IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBjbWRfcnN5bmMKKworRG9uJ3QgYnJlYWsgY29uZmlndXJlIGlmIHJzeW5jIGlzIG5vdCBpbnN0YWxsZWQgb24gaG9zdC4KKworcnN5bmMgaXMgYSBydW50aW1lIGRlcGVuZGVuY3kgYW5kIHRoaXMgY2hhbmdlIGlzIG9ubHkgdXNlZCBmb3IKK2dlbmVyYXRpbmcgcnNuYXBzaG90LmNvbmYuZGVmYXVsdC4gSXQgYWxsb3dzIGNtZF9yc3luYyB0byB1c2UKK2RlZmF1bHQgcGF0aCBpZiBvcHRpb25zIC0td2l0aG91dC1yc3luYyBpcyBzcGVjZmllZC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgICAgNSArKystLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGJjOWRmOWUuLjJhMzNkMjkgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTU1LDcgKzU1LDcgQEAgQUNfQVJHX1dJVEgocnN5bmMsCisgCQkJCUFDX01TR19FUlJPUihyc3luYyBub3QgZm91bmQpCisgCQkJZmkKKyAJCWVsc2UKKy0JCQlBQ19NU0dfRVJST1IocnN5bmMgaXMgcmVxdWlyZWQpCisrCQkJUlNZTkM9bm8KKyAJCWZpCisgCV0KKyApCitAQCAtNjcsNyArNjcsOCBAQCBpZiB0ZXN0ICIkUlNZTkMiID0gIiI7IHRoZW4KKyBmaQorIGRubCBiYWlsIG91dCBpZiB3ZSBjYW4ndCBmaW5kIGl0CisgaWYgdGVzdCAiJFJTWU5DIiA9ICJubyI7IHRoZW4KKy0JQUNfTVNHX0VSUk9SKHJzeW5jIGlzIHJlcXVpcmVkKQorKwlSU1lOQz0ke2JpbmRpcn0vcnN5bmMKKysJQUNfU1VCU1QoQ01EX1JTWU5DLCAiY21kX3JzeW5jICAkUlNZTkMiKQorIGZpCisgCisgCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yc25hcHNob3QvcnNuYXBzaG90X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcnNuYXBzaG90L3JzbmFwc2hvdF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY4MDUxMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcnNuYXBzaG90L3JzbmFwc2hvdF9naXQuYmIKQEAgLTAsMCArMSw0MyBAQAorU1VNTUFSWSA9ICJBIGZpbGVzeXN0ZW0gc25hcHNob3QgdXRpbGl0eSBiYXNlZCBvbiByc3luYyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucnNuYXBzaG90Lm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvcnNuYXBzaG90LyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODkyZjU2OWE1NTViYTljMDdhNTY4YTdjMGM0ZmE2M2EiCisKK1JERVBFTkRTXyR7UE59ID0gInJzeW5jIFwKKyAgICAgICAgICAgICAgICAgIHBlcmwgXAorICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZGlyaGFuZGxlIFwKKyAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWN3ZCBcCisgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIFwKKyAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtcGF0aCBcCisgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXN0YXQgXAorICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtcG9zaXggXAorICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmNudGwgXAorICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtaW8tZmlsZSBcCisgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jb25zdGFudCBcCisgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1vdmVybG9hZGluZyBcCisgICAgICAgICAgICAgICAgICIKKworU1JDUkVWID0gIjEwNDdjYmI1NzkzN2MyOTIzMzM4OGUyZmNkODQ3ZmVjZDNiYWJlNzQiCitQViA9ICIxLjMuMStnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0RySHlkZS8ke0JQTn07YnJhbmNoPW1hc3Rlcjtwcm90b2NvbD1naXQgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLWZpeC1jbWRfcnN5bmMucGF0Y2ggXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworIyBGaXggcnNuYXBzaG90LmNvbmYuZGVmYXVsdDoKKyMgZG9uJ3QgaW5qZWN0IHRoZSBob3N0IHBhdGggaW50byB0YXJnZXQgY29uZmlncy4KK0VYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LWNwIFwKKyAgICAgICAgICAgICAgICAgLS13aXRob3V0LXJtIFwKKyAgICAgICAgICAgICAgICAgLS13aXRob3V0LWR1IFwKKyAgICAgICAgICAgICAgICAgLS13aXRob3V0LXNzaCBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1sb2dnZXIgXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcnN5bmMgXAorICAgICAgICAgICAgICAgICBhY19jdl9wYXRoX1BFUkw9JHtiaW5kaXJ9L3BlcmwgXAorICAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Ftc3VuZy1zb2MtdXRpbHMvczNjMjR4eC1ncGlvX3N2bi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Ftc3VuZy1zb2MtdXRpbHMvczNjMjR4eC1ncGlvX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODJkYzAwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYW1zdW5nLXNvYy11dGlscy9zM2MyNHh4LWdwaW9fc3ZuLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiQSB1c2VyLXNwYWNlIHRvb2wgdG8gc2hvdyBhbmQgbW9kaWZ5IHRoZSBzdGF0ZSBvZiBHUElPcyBvbiB0aGUgUzNjMjR4eCBwbGF0Zm9ybSIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0FVVEhPUiA9ICJXZXJuZXIgQWxtZXNiZXJnZXIgPHdlcm5lckBvcGVubW9rby5vcmc+IgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9ncGlvLmM7ZW5kbGluZT0xMjttZDU9Y2ZiOTFjNjg2ODU3YjJlNjA4NTJiNDkyNWQ5MGEzZTEiCitTUkNSRVYgPSAiNDk0OSIKK1BWID0gIjEuMCtzdm5yJHtTUkNQVn0iCitQUiA9ICJyMiIKKworU1JDX1VSSSA9ICJzdm46Ly9zdm4ub3Blbm1va28ub3JnL3RydW5rL3NyYy90YXJnZXQ7bW9kdWxlPWdwaW87cHJvdG9jb2w9aHR0cCIKK1MgPSAiJHtXT1JLRElSfS9ncGlvIgorCitDTEVBTkJST0tFTiA9ICIxIgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IC1zdGF0aWMgLW8gJHtQTn0gZ3Bpby5jCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1BOfSAke0R9JHtzYmluZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYW1zdW5nLXNvYy11dGlscy9zM2M2NHh4LWdwaW9fc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYW1zdW5nLXNvYy11dGlscy9zM2M2NHh4LWdwaW9fc3ZuLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZDA1NTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhbXN1bmctc29jLXV0aWxzL3MzYzY0eHgtZ3Bpb19zdm4uYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJBIHVzZXItc3BhY2UgdG9vbCB0byBzaG93IGFuZCBtb2RpZnkgdGhlIHN0YXRlIG9mIEdQSU9zIG9uIHRoZSBTM2M2NHh4IHBsYXRmb3JtIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorQVVUSE9SID0gIldlcm5lciBBbG1lc2JlcmdlciA8d2VybmVyQG9wZW5tb2tvLm9yZz4iCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2dwaW8tczNjNjQxMC5jO2VuZGxpbmU9MTI7bWQ1PTA2MGNkYTFiZTk0NWFkOTE5NDU5M2YxMWQ1NmQ1NWM3IgorU1JDUkVWID0gIjQ5NDkiCitQViA9ICIxLjArc3ZuciR7U1JDUFZ9IgorCitTUkNfVVJJID0gInN2bjovL3N2bi5vcGVubW9rby5vcmcvdHJ1bmsvc3JjL3RhcmdldDttb2R1bGU9Z3Bpbztwcm90b2NvbD1odHRwIgorUyA9ICIke1dPUktESVJ9L2dwaW8iCisKK0NMRUFOQlJPS0VOID0gIjEiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30gLXN0YXRpYyAtbyAke1BOfSBncGlvLXMzYzY0MTAuYworfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtQTn0gJHtEfSR7c2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Ftc3VuZy1zb2MtdXRpbHMvc2pmMjQxMC1saW51eC1uYXRpdmVfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYW1zdW5nLXNvYy11dGlscy9zamYyNDEwLWxpbnV4LW5hdGl2ZV9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQ1OTM1ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Ftc3VuZy1zb2MtdXRpbHMvc2pmMjQxMC1saW51eC1uYXRpdmVfc3ZuLmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiSlRBRyB1dGlsaXR5IHRvIGludGVyZmFjZSB3LyBhIFMzQzI0MTAgZGV2aWNlIgorU0VDVElPTiA9ICJkZXZlbCIKK0FVVEhPUiA9ICJIYXJhbGQgV2VsdGUgPGxhZm9yZ2VAb3Blbm1va28ub3JnPiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vcGFycG9ydC5jO2VuZGxpbmU9MTk7bWQ1PWI1NjgxMDkxYjBmZDhjNWY3MDY4ODM1YzQ0MWJmMGM4IgorU1JDUkVWID0gIjQyNjgiCitQViA9ICIwLjErc3ZuciR7U1JDUFZ9IgorUFIgPSAicjEiCisKK1NSQ19VUkkgPSAic3ZuOi8vc3ZuLm9wZW5tb2tvLm9yZy90cnVuay9zcmMvaG9zdC87bW9kdWxlPXNqZjI0MTAtbGludXg7cHJvdG9jb2w9aHR0cCIKK1MgPSAiJHtXT1JLRElSfS9zamYyNDEwLWxpbnV4IgorCitpbmhlcml0IG5hdGl2ZSBkZXBsb3kKK2RvX2RlcGxveVtzc3RhdGUtb3V0cHV0ZGlyc10gPSAiJHtERVBMT1lfRElSX1RPT0xTfSIKKworQ0ZMQUdTICs9ICItRExJTlVYX1BQREVWIgorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IHNqZjI0MTAgJHtEfS8ke2JpbmRpcn0KK30KKworZG9fZGVwbG95KCkgeworICAgIGluc3RhbGwgLWQgJHtERVBMT1lfRElSX1RPT0xTfQorICAgIGluc3RhbGwgLW0gMDc1NSBzamYyNDEwICR7REVQTE9ZX0RJUl9UT09MU30vc2pmMjQxMC0ke1BWfQorfQorCithZGR0YXNrIGRlcGxveSBiZWZvcmUgZG9fYnVpbGQgYWZ0ZXIgZG9faW5zdGFsbApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZHBhcm0vZmlsZXMvbWFrZS1zeXNyb290LXdvcmsucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NkcGFybS9maWxlcy9tYWtlLXN5c3Jvb3Qtd29yay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDA1ZWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZHBhcm0vZmlsZXMvbWFrZS1zeXNyb290LXdvcmsucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorW1BBVENIXSBtYWtlIHN5c3Jvb3Qgd29yaworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworQWRkID0gYmVmb3JlIHRoZSBpbmNsdWRlZCBkaXIgdG8gbWFrZSBzeXNyb290IHdvcmsKKworU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL01ha2VmaWxlLmFtIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCitpbmRleCBjODM3ODhjLi45ZjYyMTE1IDEwMDY0NAorLS0tIGEvc3JjL01ha2VmaWxlLmFtCisrKysgYi9zcmMvTWFrZWZpbGUuYW0KK0BAIC0zMiw3ICszMiw3IEBAIHNnbGliX1NPVVJDRVMgPQkJLi4vbGliL3NnX2xpYi5jIFwKKyAJCQkuLi9saWIvc2dfcHRfY29tbW9uLmMKKyAKKyBpZiBIQVZFX1NHVVRJTFMKKy1JTkNMVURFUyA9IC1JL3Vzci9pbmNsdWRlL3Njc2kKKytJTkNMVURFUyA9IC1JPUBpbmNsdWRlZGlyQC9zY3NpCisgc2RwYXJtX0xEQUREID0gQEdFVE9QVF9PX0ZJTEVTQCBAb3NfbGlic0AgQFNHVVRJTFNfTElCU0AKKyBzZHBhcm1fREVQRU5ERU5DSUVTID0gQEdFVE9QVF9PX0ZJTEVTQAorIGVsc2UKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZHBhcm0vc2RwYXJtXzEuMDkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NkcGFybS9zZHBhcm1fMS4wOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTExY2E0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZHBhcm0vc2RwYXJtXzEuMDkuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJmZXRjaCBhbmQgY2hhbmdlIFNDU0kgbW9kZSBwYWdlcyIKK0RFU0NSSVBUSU9OID0gIlRoZSBzZHBhcm0gdXRpbGl0eSBhY2Nlc3NlcyBhbmQgb3B0aW9uYWxseSBtb2RpZmllcyBcCitTQ1NJIGRldmljZXMnIG1vZGUgcGFnZSBhbmQgaW5xdWlyeSBkYXRhLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zZy5kYW5ueS5jei9zZy9zZHBhcm0uaHRtbCIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWNhYjZjMzZiN2JhODJjNjc1NTgxZGQwYWZkZTM2ZjcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliL0JTRF9MSUNFTlNFO21kNT0xZDUyZjRhNjZmMWUwZWQ5Njc3NmJmMzU0YWI3YTJlZCIKK0RFUEVORFM9InNnMy11dGlscyIKK1NSQ19VUkkgPSAiaHR0cDovL3NnLmRhbm55LmN6L3NnL3AvJHtCUE59LSR7UFZ9LnRneiBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlLXN5c3Jvb3Qtd29yay5wYXRjaCBcCisgICAgICAgICAgICIKKworUEFDS0FHRVMgPSsgIiR7UE59LXNjcmlwdHMiCitSREVQRU5EU18ke1BOfS1zY3JpcHRzICs9ICJiYXNoICR7UE59IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTUxYjFmZDQxYzNlNGM5ZDEyNzRhMmU0ZjA0NmVlYmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzI5NGY0NDE3M2FjMDk0NmYxZGU4YWYwMmIxYmRiMGJkNjQ4MDc5MjQ1Mzk2NTg5Mzk3YTJiMGQzYWJjNDJkMyIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworIyBQdXQgdGhlIGJhc2ggc2NyaXB0cyB0byAke1BOfS1zY3JpcHRzCitGSUxFU18ke1BOfS1zY3JpcHRzID0gIiR7YmluZGlyfS9zYXNfZGlza19ibGluayAke2JpbmRpcn0vc2NzaV9jaF9zd3AiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NlcmlhbC11dGlscy9wdHktZm9yd2FyZC1uYXRpdmUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NlcmlhbC11dGlscy9wdHktZm9yd2FyZC1uYXRpdmUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y1OWIzZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2VyaWFsLXV0aWxzL3B0eS1mb3J3YXJkLW5hdGl2ZS5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIlJlY2VpdmUgYSBmb3J3YXJkZWQgc2VyaWFsIGZyb20gc2VyaWFsLWZvcndhcmQgYW5kIHByb3ZpZGUgYSBQVFkiCitBVVRIT1IgPSAiSG9sZ2VyICdaZWNrZScgRnJleXRoZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWJiNWM1MGFiN2NhYjRiYWVmZmJhMTQ5NzcwMzBjMDciCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK1NSQ1JFViA9ICIwMGRiZWMyNjM2YWUwMzg1YWQwMjg1ODdlMjBlNDQ2MjcyZmY5N2VjIgorUFYgPSAiMS4xK2dpdHIke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2ZyZWVzbWFydHBob25lL2Nvcm51Y29waWEuZ2l0O3Byb3RvY29sPWh0dHBzIgorUyA9ICIke1dPUktESVJ9L2dpdC90b29scy9zZXJpYWxfZm9yd2FyZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgbmF0aXZlCisKK2RvX2RlcGxveVtzc3RhdGUtb3V0cHV0ZGlyc10gPSAiJHtERVBMT1lfRElSX0lNQUdFfSIKK2RvX2RlcGxveSgpIHsKKyAgICBpbnN0YWxsIC1kICR7REVQTE9ZX0RJUl9JTUFHRX0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9zcmMvcHR5X2ZvcndhcmQgJHtERVBMT1lfRElSX0lNQUdFfS9wdHktZm9yd2FyZAorfQorCithZGR0YXNrIGRlcGxveSBiZWZvcmUgZG9fcGFja2FnZSBhZnRlciBkb19pbnN0YWxsCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NlcmlhbC11dGlscy9zZXJpYWwtZm9yd2FyZF9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NlcmlhbC11dGlscy9zZXJpYWwtZm9yd2FyZF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQ5NGRlOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2VyaWFsLXV0aWxzL3NlcmlhbC1mb3J3YXJkX2dpdC5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIkZvcndhcmQgYSBzZXJpYWwgdXNpbmcgVENQL0lQIgorQVVUSE9SID0gIkhvbGdlciAnWmVja2UnIEZyZXl0aGVyJyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lYmI1YzUwYWI3Y2FiNGJhZWZmYmExNDk3NzAzMGMwNyIKK1NFQ1RJT04gPSAiY29uc29sZS9kZXZlbCIKK1NSQ1JFViA9ICIwMGRiZWMyNjM2YWUwMzg1YWQwMjg1ODdlMjBlNDQ2MjcyZmY5N2VjIgorUFYgPSAiMS4xK2dpdHIke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2ZyZWVzbWFydHBob25lL2Nvcm51Y29waWEuZ2l0IgorUyA9ICIke1dPUktESVJ9L2dpdC90b29scy9zZXJpYWxfZm9yd2FyZCIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlsc18xLjQxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZzMtdXRpbHMvc2czLXV0aWxzXzEuNDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjEyNTBmYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlsc18xLjQxLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIGZvciB3b3JraW5nIHdpdGggZ2VuZXJpYyBTQ1NJIGRldmljZXMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBjb250YWlucyBsb3cgbGV2ZWwgdXRpbGl0aWVzIGZvciBkZXZpY2VzIHRoYXQgdXNlIHRoZSBTQ1NJIGNvbW1hbmQgc2V0IgorCitIT01FUEFHRSA9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvc2czX3V0aWxzLmh0bWwiCitTRUNUSU9OID0gImNvbnNvbGUvYWRtaW4iCisKK0xJQ0VOU0UgPSAiR1BMdjIrICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjkwZGE3ZmM1MjE3MjU5OWRiZjA4MmQ3NjIwZjE4Y2EiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NnLmRhbm55LmN6L3NnL3Avc2czX3V0aWxzLSR7UFZ9LnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gIjg2ZWJlMzg4MTUzNWVlNWM0OGY4MWJlNWJlNDRiMzYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0ZTI4OTNjMzZkZjFlZTViMDc4NDBhYjdjMjIxMjk1NDRmNWRjOGE1NWY3Y2M4ODE1YzljZDhlNDRlYzMxYzAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitTID0gIiR7V09SS0RJUn0vc2czX3V0aWxzLSR7UFZ9IgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlscy00LjE0L2ZpeC1mb3ItY3Jvc3MtY29tcGlsaW5nLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zaGFydXRpbHMvc2hhcnV0aWxzLTQuMTQvZml4LWZvci1jcm9zcy1jb21waWxpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZhN2RhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlscy00LjE0L2ZpeC1mb3ItY3Jvc3MtY29tcGlsaW5nLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gOTkwMjM0YWY4NGE1Mzk5MDE3ZDFjNGZlMDNjNWM3NTZhOGU1MWUyMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmdqdW4gWWFuZyA8SG9uZ2p1bi5ZYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDIwIEF1ZyAyMDEzIDA5OjQxOjQzICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBjcm9zcyBjb21waWxpbmcgaXNzdWUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEhvbmdqdW4uWWFuZyA8aG9uZ2p1bi55YW5nQHdpbmRyaXZlci5jb20+CisKKy0tLQorIGNvbmZpZ3VyZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQoraW5kZXggNmVlOThlMC4uODA2N2Y1NCAxMDA3NTUKKy0tLSBhL2NvbmZpZ3VyZQorKysrIGIvY29uZmlndXJlCitAQCAtMjY5NjUsNyArMjY5NjUsNyBAQCBmaQorIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoKKyAgIHsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQorICRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIgPiYyO30KKy1hc19mbl9lcnJvciAkPyAiY2Fubm90IHJ1biB0ZXN0IHByb2dyYW0gd2hpbGUgY3Jvc3MgY29tcGlsaW5nCisrJGFzX2VjaG8gImNhbm5vdCBydW4gdGVzdCBwcm9ncmFtIHdoaWxlIGNyb3NzIGNvbXBpbGluZworIFNlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1OyB9CisgZWxzZQorICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLS0gCisxLjguMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zaGFydXRpbHMvc2hhcnV0aWxzXzQuMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk5ODFlNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE0LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiVGhpcyBpcyB0aGUgc2V0IG9mIEdOVSBzaGFyIHV0aWxpdGllcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvc2hhcnV0aWxzLyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0U9IkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitpbmhlcml0IGdldHRleHQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitTUkNfVVJJID0gImZ0cDovL2Z0cC5nbnUub3JnL2dudS9zaGFydXRpbHMvc2hhcnV0aWxzLTQuMTQudGFyLmd6IFwKKwkgICBmaWxlOi8vZml4LWZvci1jcm9zcy1jb21waWxpbmcucGF0Y2ggXAorCSAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTY4NmMxMTEzMWI0YzRjMDg0MWY4ZjNlZjM0ZDEzNmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTBmNTEwN2MxNjdjZmQxYjI5OWJiMjExODI4ZDI1ODY0NzEwODc4NjNkYmVkNjk4ZjUzMTA5Y2Q1ZjcxNzIwOCIKKworZG9fY29uZmlndXJlICgpIHsKKwlvZV9ydW5jb25mCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NtZW0vc21lbV8xLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NtZW0vc21lbV8xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTE5MDIwZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc21lbS9zbWVtXzEuNC5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIlJlcG9ydCBhcHBsaWNhdGlvbiBtZW1vcnkgdXNhZ2UgaW4gYSBtZWFuaW5nZnVsIHdheSIKK0RFU0NSSVBUSU9OID0gInNtZW0gaXMgYSB0b29sIHRoYXQgY2FuIGdpdmUgbnVtZXJvdXMgcmVwb3J0cyBvbiBtZW1vcnkgdXNhZ2Ugb24gTGludXggXAorc3lzdGVtcy4gVW5saWtlIGV4aXN0aW5nIHRvb2xzLCBzbWVtIGNhbiByZXBvcnQgcHJvcG9ydGlvbmFsIHNldCBzaXplIChQU1MpLCBcCit3aGljaCBpcyBhIG1vcmUgbWVhbmluZ2Z1bCByZXByZXNlbnRhdGlvbiBvZiB0aGUgYW1vdW50IG9mIG1lbW9yeSB1c2VkIGJ5IFwKK2xpYnJhcmllcyBhbmQgYXBwbGljYXRpb25zIGluIGEgdmlydHVhbCBtZW1vcnkgc3lzdGVtLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc2VsZW5pYy5jb20vc21lbS8iCitTRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5zZWxlbmljLmNvbS8ke0JQTn0vZG93bmxvYWQvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImZlNzk0MzVjMzkzMDM4OWJmZGI1NjAyNTVjODAyMTYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJlYTlmODc4ZjRjZjNjMjc2Nzc0YzNmN2UyYTQxOTc3YTFmMmQ2NGY5OGQyZGNiNmExNWYxZjNkODRkZjYxZWMiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IHNtZW1jYXAuYyAtbyBzbWVtY2FwCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0vCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke21hbmRpcn0vbWFuOAorICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9zbWVtICR7RH0ke2JpbmRpcn0vCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3NtZW1jYXAgJHtEfSR7YmluZGlyfS8KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc21lbS44ICR7RH0vJHttYW5kaXJ9L21hbjgvCit9CitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLXRleHR1dGlscyBweXRob24tY29tcHJlc3Npb24gcHl0aG9uLXNoZWxsIHB5dGhvbi1jb2RlY3MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NvY2kvc29jaS9zb2NpX2xpYmRpci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc29jaS9zb2NpL3NvY2lfbGliZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwYTFhNWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NvY2kvc29jaS9zb2NpX2xpYmRpci5wYXRjaApAQCAtMCwwICsxLDI4IEBACitEZWZpbmUgU09DSV9MSUJESVIgb25seSBpZiBpdHMgbm90IHBhc3NlZCB2aWEgZW52aXJvbmVtbnQuIEluIE9FIHdlCit3YW50IHRvIHNldCBpdCBwZXIgb3VyIGNob2ljZSBzaW5jZSB3ZSB1c2UgJ2xpYicgZm9yIDY0Yml0IHVubGVzcyB3ZQorYXJlIHVzaW5nIG11bHRpbGliCisKKy1LaGVtCisKK0luZGV4OiBzb2NpLTMuMi4yL0NNYWtlTGlzdHMudHh0Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gc29jaS0zLjIuMi5vcmlnL0NNYWtlTGlzdHMudHh0CisrKysgc29jaS0zLjIuMi9DTWFrZUxpc3RzLnR4dAorQEAgLTY5LDExICs2OSwxMiBAQCBpbmNsdWRlKFNvY2lEZXBlbmRlbmNpZXMpCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMgSW5zdGFsbGF0aW9uCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLQorLWlmKEFQUExFIE9SIENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgNCkKKy0gIHNldChTT0NJX0xJQkRJUiAibGliIikKKy1lbHNlKCkKKy0gIHNldChTT0NJX0xJQkRJUiAibGliNjQiKQorK2lmKE5PVCBERUZJTkVEIFNPQ0lfTElCRElSKQorKyAgaWYoQVBQTEUgT1IgQ01BS0VfU0laRU9GX1ZPSURfUCBFUVVBTCA0KQorKyAgICBzZXQoU09DSV9MSUJESVIgImxpYiIpCisrICBlbHNlKCkKKysgICAgc2V0KFNPQ0lfTElCRElSICJsaWIiKQorKyAgZW5kaWYoKQorIGVuZGlmKCkKKyAKKyBzZXQoQklORElSICJiaW4iIENBQ0hFIFBBVEggIlRoZSBkaXJlY3RvcnkgdG8gaW5zdGFsbCBiaW5hcmllcyBpbnRvLiIpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NvY2kvc29jaV8zLjIuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc29jaS9zb2NpXzMuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmNWE0ODUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NvY2kvc29jaV8zLjIuMi5iYgpAQCAtMCwwICsxLDQ5IEBACisjIENvcHlyaWdodCAoQykgMjAxNSBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCBmb3IgdGhlIHRlcm1zKQorCitERVNDUklQVElPTiA9ICJUaGUgQysrIERhdGFiYXNlIEFjY2VzcyBMaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3NvY2kuc291cmNlZm9yZ2UubmV0IgorTElDRU5TRSA9ICJCU0wtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRV8xXzAudHh0O21kNT1lNDIyNGNjYWVjYjE0ZDk0MmM3MWQzMWJlZjIwZDc4YyIKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAiYm9vc3QiCisKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC8ke0JQTn0vJHtCUE59LyR7QlB9LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9zb2NpX2xpYmRpci5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImJjM2MzNWY2Y2QzZjgwYTFiZTE5ZmUzMGIzYzExMWJmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMwZWEyZjRkMjY2MzllZjViNWNkYzI0ZmIzMDBiMzg5Njc0NjI0M2RiYjc3Yjc0MzU4MmRlMmZmNDQzY2NiMWMiCisKK1RFU1RDT05GSUcgPSAnLURTT0NJX1RFU1RfRU1QVFlfQ09OTlNUUj0iZHVtbXkiIC1EU09DSV9URVNUX1NRTElURTNfQ09OTlNUUj0idGVzdC5kYiIgXAorICAgICAgICAgICAgICAtRFNPQ0lfVEVTVF9QT1NUR1JFU1FMX0NPTk5TVFI6U1RSSU5HPSJkYm5hbWU9c29jaV90ZXN0IiBcCisgICAgICAgICAgICAgIC1EU09DSV9URVNUX01ZU1FMX0NPTk5TVFI6U1RSSU5HPSJkYj1zb2NpX3Rlc3QgdXNlcj1vZSBwYXNzd29yZD1vZSInCisKK09CQVNFRElSID89ICIvb3B0L29yYWNsZSIKK09JTkNESVIgPSAicmRibXMvcHVibGljIgorT0xJQkRJUiA9ICJsaWIiCisKK1BBQ0tBR0VDT05GSUdbc3FsaXRlM10gPSAiLURTT0NJX1NRTElURTM9T04sLURTT0NJX1NRTElURTM9T0ZGLHNxbGl0ZTMsIgorUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLURTT0NJX01ZU1FMPU9OLC1EU09DSV9NWVNRTD1PRkYsbWFyaWFkYiwiCitQQUNLQUdFQ09ORklHW3Bvc3RncmVzcWxdID0gIi1EU09DSV9QT1NUR1JFU1FMPU9OLC1EU09DSV9QT1NUR1JFU1FMPU9GRixwb3N0Z3Jlc3FsLCIKK1BBQ0tBR0VDT05GSUdbb2RiY10gPSAiLURTT0NJX09EQkM9T04sLURTT0NJX09EQkM9T0ZGLCwiCitQQUNLQUdFQ09ORklHW2VtcHR5XSA9ICItRFNPQ0lfRU1QVFk9T04sLURTT0NJX0VNUFRZPU9GRiwsIgorUEFDS0FHRUNPTkZJR1tvcmFjbGVdID0gIi1EV0lUSF9PUkFDTEU9T04gLS13aXRoLW9yYWNsZS1pbmNsdWRlPSR7T0lOQ0RJUn0gLS13aXRoLW9yYWNsZS1saWI9JHtPTElCRElSfSwtRFdJVEhfT1JBQ0xFPU9GRiwsIgorUEFDS0FHRUNPTkZJR1twdGVzdF0gPSAiJHtURVNUQ09ORklHfSwsLCIKKworIyBlbmFibGUgeW91ciBiYWNrZW5kIGJ5IGRlZmF1bHQgd2UgZW5hYmxlICdlbXB0eScKK1BBQ0tBR0VDT05GSUcgPz89ICJlbXB0eSIKKworIyBUYWtlIHRoZSBmbGFncyBhZGRlZCBieSBQQUNLQUdFQ09ORklHIGFuZCBwYXNzIHRoZW0gdG8gY21ha2UuCitFWFRSQV9PRUNNQUtFID0gIiR7RVhUUkFfT0VDT05GfSAtRFNPQ0lfTElCRElSPSR7bGliZGlyfSIKK0RJU0FCTEVfU1RBVElDID0gIiIKKworaW5oZXJpdCBjbWFrZQorCitQQUNLQUdFUyArPSAiJHtQTn0tc3FsaXRlMyAke1BOfS1teXNxbCAke1BOfS1wb3N0Z3Jlc3FsICR7UE59LW9kYmMgJHtQTn0tb3JhY2xlIgorCitGSUxFU18ke1BOfS1zcWxpdGUzID0gIiR7bGliZGlyfS9saWIke0JQTn1fc3FsaXRlMy5zby4qIgorRklMRVNfJHtQTn0tbXlzcWwgPSAiJHtsaWJkaXJ9L2xpYiR7QlBOfV9teXNxbC5zby4qIgorRklMRVNfJHtQTn0tcG9zdGdyZXNxbCA9ICIke2xpYmRpcn0vbGliJHtCUE59X3Bvc3RncmVzcWwuc28uKiIKK0ZJTEVTXyR7UE59LW9kYmMgPSAiJHtsaWJkaXJ9L2xpYiR7QlBOfV9vZGJjLnNvLioiCitGSUxFU18ke1BOfS1vcmFjbGUgPSAiJHtsaWJkaXJ9L2xpYiR7QlBOfV9vcmFjbGUuc28uKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3BpdG9vbHMvc3BpdG9vbHNfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcGl0b29scy9zcGl0b29sc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRiNjdjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3BpdG9vbHMvc3BpdG9vbHNfZ2l0LmJiCkBAIC0wLDAgKzEsMTQgQEAKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBjb250YWlucyBzb21lIHNpbXBsZSBjb21tYW5kIGxpbmUgdG9vbHMgdG8gaGVscCB1c2luZyBMaW51eCBzcGlkZXYgZGV2aWNlcyIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9jcGItL3NwaS10b29scyIKK0FVVEhPUiA9ICJDaHJpc3RvcGhlIEJMQUVTUyIKK0xJQ0VOU0U9IkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OGMxNjY2NmFlNmMxNTk4NzZhMGJhNjMwOTk2MTQzODEiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9jcGItL3NwaS10b29scy5naXQ7cHJvdG9jb2w9Z2l0IgorCitTUkNSRVYgPSAiY2M2YTQxZmRjZWM2MDYxMDcwM2JhNmRiNDg4YzYyMWM2NDk1Mjg5OCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlLTIuOC4xNy9tYWlubWtfYnVpbGRfZHluYW1pYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZS0yLjguMTcvbWFpbm1rX2J1aWxkX2R5bmFtaWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE0NDIyZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZS0yLjguMTcvbWFpbm1rX2J1aWxkX2R5bmFtaWMucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorZGlmZiAtdXJOIHNxbGl0ZS0yLjguMTcub3JpZy9tYWluLm1rIHNxbGl0ZS0yLjguMTcvbWFpbi5taworLS0tIHNxbGl0ZS0yLjguMTcub3JpZy9tYWluLm1rCTIwMDUtMDQtMjMgMjI6NDM6MjMuMDAwMDAwMDAwICswMDAwCisrKysgc3FsaXRlLTIuOC4xNy9tYWluLm1rCTIwMDktMDQtMDIgMjA6MTA6MzYuMDAwMDAwMDAwICswMDAwCitAQCAtMTM5LDcgKzEzOSw3IEBACisgIyBUaGlzIGlzIHRoZSBkZWZhdWx0IE1ha2VmaWxlIHRhcmdldC4gIFRoZSBvYmplY3RzIGxpc3RlZCBoZXJlCisgIyBhcmUgd2hhdCBnZXQgYnVpbGQgd2hlbiB5b3UgdHlwZSBqdXN0ICJtYWtlIiB3aXRoIG5vIGFyZ3VtZW50cy4KKyAjCistYWxsOglzcWxpdGUuaCBjb25maWcuaCBsaWJzcWxpdGUuYSBzcWxpdGUkKEVYRSkKKythbGw6ICAgc3FsaXRlLmggY29uZmlnLmggbGlic3FsaXRlLnNvIHNxbGl0ZSQoRVhFKQorIAorICMgR2VuZXJhdGUgdGhlIGZpbGUgImxhc3RfY2hhbmdlIiB3aGljaCBjb250YWlucyB0aGUgZGF0ZSBvZiBjaGFuZ2UKKyAjIG9mIHRoZSBtb3N0IHJlY2VudGx5IG1vZGlmaWVkIHNvdXJjZSBjb2RlIGZpbGUKK0BAIC0xNDgsMTMgKzE0OCwxMiBAQAorIAljYXQgJChTUkMpIHwgZ3JlcCAnJCRJZDogJyB8IHNvcnQgKzQgfCB0YWlsIC0xIFwKKyAgICAgICAgICAgfCBhd2sgJ3twcmludCAkJDUsJCQ2fScgPmxhc3RfY2hhbmdlCisgCistbGlic3FsaXRlLmE6CSQoTElCT0JKKQorLQkkKEFSKSBsaWJzcWxpdGUuYSAkKExJQk9CSikKKy0JJChSQU5MSUIpIGxpYnNxbGl0ZS5hCistCistc3FsaXRlJChFWEUpOgkkKFRPUCkvc3JjL3NoZWxsLmMgbGlic3FsaXRlLmEgc3FsaXRlLmgKKy0JJChUQ0NYKSAkKFJFQURMSU5FX0ZMQUdTKSAtbyBzcWxpdGUkKEVYRSkgJChUT1ApL3NyYy9zaGVsbC5jIFwKKy0JCWxpYnNxbGl0ZS5hICQoTElCUkVBRExJTkUpICQoVEhSRUFETElCKQorK2xpYnNxbGl0ZS5zbzoJJChMSUJPQkopCisrCSQoQ0MpICQoTERGTEFHUykgLXNoYXJlZCAtbyBsaWJzcWxpdGUuc28gLVdsLC1zb25hbWUsbGlic3FsaXRlLnNvLjAgJChMSUJPQkopCisrCisrc3FsaXRlJChFWEUpOgkkKFRPUCkvc3JjL3NoZWxsLmMgbGlic3FsaXRlLnNvIHNxbGl0ZS5oCisrCSQoVENDWCkgJChMREZMQUdTKSAkKFJFQURMSU5FX0ZMQUdTKSAtbyBzcWxpdGUkKEVYRSkgJChUT1ApL3NyYy9zaGVsbC5jIFwKKysJCS1sc3FsaXRlICQoTElCUkVBRExJTkUpICQoVEhSRUFETElCKQorIAorIHNxbGl0ZV9hbmFseXplciQoRVhFKToJJChUT1ApL3NyYy90Y2xzcWxpdGUuYyBsaWJzcWxpdGUuYSAkKFRFU1RTUkMpIFwKKyAJCQkkKFRPUCkvdG9vbC9zcGFjZWFuYWwudGNsCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUtMi44LjE3L21haW5ta19ub190Y2wucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUtMi44LjE3L21haW5ta19ub190Y2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg0YjY0OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZS0yLjguMTcvbWFpbm1rX25vX3RjbC5wYXRjaApAQCAtMCwwICsxLDIwIEBACitkaWZmIC1idXIgc3FsaXRlLTIuOC4xN35vcmlnL21haW4ubWsgc3FsaXRlLTIuOC4xNy9tYWluLm1rCistLS0gc3FsaXRlLTIuOC4xN35vcmlnL21haW4ubWsJMjAwNi0wMi0xMyAwNDowOTozMy4wMDAwMDAwMDAgLTA2MDAKKysrKyBzcWxpdGUtMi44LjE3L21haW4ubWsJMjAwNi0wMi0xMyAwNDoxNTo0Mi4wMDAwMDAwMDAgLTA2MDAKK0BAIC01OCw3ICs1OCw3IEBACisgICAgICAgICAgZXhwci5vIGZ1bmMubyBoYXNoLm8gaW5zZXJ0Lm8gXAorICAgICAgICAgIG1haW4ubyBvcGNvZGVzLm8gb3MubyBwYWdlci5vIHBhcnNlLm8gcHJhZ21hLm8gcHJpbnRmLm8gcmFuZG9tLm8gXAorICAgICAgICAgIHNlbGVjdC5vIHRhYmxlLm8gdG9rZW5pemUubyB0cmlnZ2VyLm8gdXBkYXRlLm8gdXRpbC5vIFwKKy0gICAgICAgICB2YWN1dW0ubyB2ZGJlLm8gdmRiZWF1eC5vIHdoZXJlLm8gdGNsc3FsaXRlLm8KKysgICAgICAgICB2YWN1dW0ubyB2ZGJlLm8gdmRiZWF1eC5vIHdoZXJlLm8KKyAKKyAjIEFsbCBvZiB0aGUgc291cmNlIGNvZGUgZmlsZXMuCisgIworQEAgLTkxLDcgKzkxLDYgQEAKKyAgICQoVE9QKS9zcmMvc3FsaXRlLmguaW4gXAorICAgJChUT1ApL3NyYy9zcWxpdGVJbnQuaCBcCisgICAkKFRPUCkvc3JjL3RhYmxlLmMgXAorLSAgJChUT1ApL3NyYy90Y2xzcWxpdGUuYyBcCisgICAkKFRPUCkvc3JjL3Rva2VuaXplLmMgXAorICAgJChUT1ApL3NyYy90cmlnZ2VyLmMgXAorICAgJChUT1ApL3NyYy91cGRhdGUuYyBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUtMi44LjE3L3NxbGl0ZS5wYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZS0yLjguMTcvc3FsaXRlLnBjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiYzc0MmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUtMi44LjE3L3NxbGl0ZS5wYwpAQCAtMCwwICsxLDEyIEBACisjIFBhY2thZ2UgSW5mb3JtYXRpb24gZm9yIHBrZy1jb25maWcKKworcHJlZml4PS91c3IKK2V4ZWNfcHJlZml4PSR7cHJlZml4fQorbGliZGlyPSR7ZXhlY19wcmVmaXh9L2xpYgoraW5jbHVkZWRpcj0ke3ByZWZpeH0vaW5jbHVkZQorCitOYW1lOiBTUUxpdGUKK0Rlc2NyaXB0aW9uOiBTUUwgZGF0YWJhc2UgZW5naW5lCitWZXJzaW9uOiAyLjguMTcKK0xpYnM6IC1MJHtsaWJkaXJ9IC1sc3FsaXRlCitDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlXzIuOC4xNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZV8yLjguMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTZlMTRjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZV8yLjguMTcuYmIKQEAgLTAsMCArMSw1OSBAQAorU1VNTUFSWSA9ICJBbiBFbWJlZGRhYmxlIFNRTCBEYXRhYmFzZSBFbmdpbmUiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnNxbGl0ZS5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJyZWFkbGluZSBuY3Vyc2VzIgorTElDRU5TRSA9ICJQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9tYWluLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0xMDttZDU9ZTk4NDY5YThlZmEwMjRhMzhhZDViMmU0YjkyZjRhOTYiCisKK1BSID0gInI3IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuaHdhY2kuY29tL3N3L3NxbGl0ZS9zcWxpdGUtJHtQVn0udGFyLmd6IFwKKyAgICBmaWxlOi8vbWFpbm1rX2J1aWxkX2R5bmFtaWMucGF0Y2ggXAorICAgIGZpbGU6Ly9tYWlubWtfbm9fdGNsLnBhdGNoIFwKKyAgICBmaWxlOi8vc3FsaXRlLnBjIgorCitTT1VSQ0VTID0gImF0dGFjaC5vIGF1dGgubyBidHJlZS5vIGJ0cmVlX3JiLm8gYnVpbGQubyBjb3B5Lm8gZGF0ZS5vIGRlbGV0ZS5vIFwKKyAgICAgICAgICAgZXhwci5vIGZ1bmMubyBoYXNoLm8gaW5zZXJ0Lm8gbWFpbi5vIG9wY29kZXMubyBvcy5vIHBhZ2VyLm8gXAorICAgICAgICAgICBwYXJzZS5vIHByYWdtYS5vIHByaW50Zi5vIHJhbmRvbS5vIHNlbGVjdC5vIHRhYmxlLm8gdG9rZW5pemUubyBcCisgICAgICAgICAgIHRyaWdnZXIubyB1cGRhdGUubyB1dGlsLm8gdmFjdXVtLm8gdmRiZS5vIHZkYmVhdXgubyB3aGVyZS5vIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworZG9fY29uZmlndXJlKCkgeworICAgIGVjaG8gIm1haW4ubWsgaXMgcGF0Y2hlZCwgbm8gbmVlZCB0byBjb25maWd1cmUiCisgICAgIyBtYWtlIHBrZ2NvbmZpZy5iYmNsYXNzIHBpY2sgdGhpcyB1cAorICAgIGNwICR7V09SS0RJUn0vc3FsaXRlLnBjICR7U30KK30KKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIC1mICR7U30vTWFrZWZpbGUubGludXgtZ2NjIFwKKyAgICAgICAgICAgICBUT1A9IiR7U30iIFwKKyAgICAgICAgICAgICBCQ0M9IiR7QlVJTERfQ0N9IiBcCisgICAgICAgICAgICAgVENDPSIke0NDfSIgXAorICAgICAgICAgICAgIE9QVFM9Ii1mUElDIC1EJ0lOVFBUUl9UWVBFPWludCciIFwKKyAgICAgICAgICAgICBUQ0xfRkxBR1M9IExJQlRDTD0gXAorICAgICAgICAgICAgIFJFQURMSU5FX0ZMQUdTPSItREhBVkVfUkVBRExJTkU9MSAtSSR7U1RBR0lOR19JTkNESVJ9IiBcCisgICAgICAgICAgICAgTElCUkVBRExJTkU9Ii1MLiAtTCR7U1RBR0lOR19MSUJESVJ9IC1scmVhZGxpbmUgLWxuY3Vyc2VzIgorfQorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfSAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCBzcWxpdGUgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSBsaWJzcWxpdGUuc28gJHtEfSR7bGliZGlyfS9saWJzcWxpdGUuc28uMC44LjYKKyAgICBsbiAtc2YgbGlic3FsaXRlLnNvLjAuOC42ICR7RH0ke2xpYmRpcn0vbGlic3FsaXRlLnNvCisgICAgbG4gLXNmIGxpYnNxbGl0ZS5zby4wLjguNiAke0R9JHtsaWJkaXJ9L2xpYnNxbGl0ZS5zby4wCisgICAgbG4gLXNmIGxpYnNxbGl0ZS5zby4wLjguNiAke0R9JHtsaWJkaXJ9L2xpYnNxbGl0ZS5zby4wLjgKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0IHNxbGl0ZS5oICR7RH0ke2luY2x1ZGVkaXJ9L3NxbGl0ZS5oCisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NxbGl0ZS5wYyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9zcWxpdGUucGMKK30KKworUEFDS0FHRVMgKz0gIiR7UE59LWJpbiIKK0ZJTEVTXyR7UE59LWJpbiA9ICIke2JpbmRpcn0vKiIKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qLnNvLioiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4MzhkYmFjMjBiNTZkMmM0MjkyZTk4ODQ4NTA1YTA1YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZjM1ZWJmYjY3ODY3ZmI1YjU4M2EwM2U0ODBmOTAwMjA2YWY2MzdlZmU3MTc5YjMyMjk0YTZhMGNmODA2ZjM3IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMS1kcGtnLXN0YXJ0LXN0b3AtZGFlbW9uLUFjY2VwdC1TSUctcHJlZml4ZWQtc2lnbmFsLW5hLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAxLWRwa2ctc3RhcnQtc3RvcC1kYWVtb24tQWNjZXB0LVNJRy1wcmVmaXhlZC1zaWduYWwtbmEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk4OGVmZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMS1kcGtnLXN0YXJ0LXN0b3AtZGFlbW9uLUFjY2VwdC1TSUctcHJlZml4ZWQtc2lnbmFsLW5hLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gNjg1NjQ1YTIwZTM5Y2YyYWI3ZGI4ZDFmNWUzNjY2YTQyMjhhYmNhOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IElvYW4tQWRyaWFuIFJhdGl1IDxhZHJpYW4ucmF0aXVAbmkuY29tPgorRGF0ZTogV2VkLCA4IEp1bCAyMDE1IDA5OjQ0OjU3ICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggMS8xXSBkcGtnIHN0YXJ0LXN0b3AtZGFlbW9uOiBBY2NlcHQgU0lHIHByZWZpeGVkIHNpZ25hbCBuYW1lcworCistLS0KKyB1dGlscy9zdGFydC1zdG9wLWRhZW1vbi5jIHwgOSArKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS91dGlscy9zdGFydC1zdG9wLWRhZW1vbi5jIGIvdXRpbHMvc3RhcnQtc3RvcC1kYWVtb24uYworaW5kZXggNmFlYmU5Yi4uZTgwNTA4MiAxMDA2NDQKKy0tLSBhL3V0aWxzL3N0YXJ0LXN0b3AtZGFlbW9uLmMKKysrKyBiL3V0aWxzL3N0YXJ0LXN0b3AtZGFlbW9uLmMKK0BAIC0xOCw2ICsxOCw5IEBACisgICogICAgICAgICAgICAgICAgIGFuZCBBbmRyZWFzIFNjaHVsZGVpIDxhbmRyZWFzQHNjaHVsZGVpLm9yZz4KKyAgKgorICAqIENoYW5nZXMgYnkgSWFuIEphY2tzb246IGFkZGVkIC0tcmV0cnkgKGFuZCBhc3NvY2lhdGVkIHJlYXJyYW5nZW1lbnRzKS4KKysgKgorKyAqIENoYW5nZXMgYnkgSGFyaXMgT2thbm92aWMgPGhhcmlzLm9rYW5vdmljQG5pLmNvbT4gdG8gc3VwcG9ydCAnU0lHJworKyAqICAgICBwcmVmaXhlZCBzaWduYWwgbmFtZXMgcGxhY2VkIGluIHB1YmxpYyBkb21haW4gYXMgd2VsbC4KKyAgKi8KKyAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CitAQCAtNjYxLDYgKzY2NCwxMiBAQCBwYXJzZV9zaWduYWwoY29uc3QgY2hhciAqc2lnX3N0ciwgaW50ICpzaWdfbnVtKQorIAlpZiAocGFyc2VfdW5zaWduZWQoc2lnX3N0ciwgMTAsIHNpZ19udW0pID09IDApCisgCQlyZXR1cm4gMDsKKyAKKysgICAgICAgIC8qIFNraXAgb3ZlciBvcHRpb25hbCAiU0lHIiBwcmVmaXggKi8KKysgICAgICAgIGlmIChzdHJuY21wKHNpZ19zdHIsICJTSUciLCAzKSA9PSAwKSB7CisrICAgICAgICAgICAgICAgIHdhcm5pbmcoIlVzaW5nIGRlcHJlY2F0ZWQgc2lnbmFsIG5hbWUgJXMuIERyb3AgdGhlICdTSUcnIHByZWZpeC5cbiIsIHNpZ19zdHIpOworKyAgICAgICAgICAgICAgICBzaWdfc3RyICs9IDM7CisrICAgICAgICB9CisrCisgCWZvciAoaSA9IDA7IGkgPCBhcnJheV9jb3VudChzaWdsaXN0KTsgaSsrKSB7CisgCQlpZiAoc3RyY21wKHNpZ19zdHIsIHNpZ2xpc3RbaV0ubmFtZSkgPT0gMCkgeworIAkJCSpzaWdfbnVtID0gc2lnbGlzdFtpXS5zaWduYWw7CistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xNy4yNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xNy4yNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZWU0NDcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbl8xLjE3LjI1LmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiRGViaWFuJ3Mgc3RhcnQtc3RvcC1kYWVtb24gdXRpbGl0eSBleHRyYWN0ZWQgZnJvbSB0aGUgZHBrZyBcCitwYWNrYWdlIgorTElDRU5TRSA9ICJQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3V0aWxzL3N0YXJ0LXN0b3AtZGFlbW9uLmM7ZW5kbGluZT0yMTttZDU9OGZiZDA0OTdhN2QwYjAxZTk5ODIwYmZmY2I1OGU5YWQiCisjIHN0YXJ0LXN0b3AtZGFlbW9uIGlzIHVzdWFsbHkgc2hpcHBlZCBieSBkcGtnCitERVBFTkRTID0gIm5jdXJzZXMiCitSQ09ORkxJQ1RTXyR7UE59ID0gImRwa2ciCisKK1NSQ19VUkkgPSAiIFwKKyAgICAke0RFQklBTl9NSVJST1J9L21haW4vZC9kcGtnL2Rwa2dfJHtQVn0udGFyLnh6IFwKKyAgICBmaWxlOi8vMDAwMS1kcGtnLXN0YXJ0LXN0b3AtZGFlbW9uLUFjY2VwdC1TSUctcHJlZml4ZWQtc2lnbmFsLW5hLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImU0OGZjZmRiMjE2MmU3N2Q3MmMyYTgzNDMyZDUzN2NhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3MDE5ZDM4YWU5OGZiMTA3Yzc5ZGJiMzY5MGNmYWRmZjg3N2YxNTNiOGM0OTcwZTNhMzBkMmU1OWFhNjZiYWEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCisKK1MgPSAiJHtXT1JLRElSfS9kcGtnLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLXdpdGhvdXQtYnoyIFwKKyAgICAtLXdpdGhvdXQtc2VsaW51eCBcCisiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICAjIHJlbW92ZSBldmVyeXRoaW5nIHRoYXQgaXMgbm90IHJlbGF0ZWQgdG8gc3RhcnQtc3RvcC1kYWVtb24sIHNpbmNlIHRoZXJlCisgICAgIyBpcyBubyBleHBsaWNpdCBydWxlIGZvciBvbmx5IGluc3RhbGxpbmcgc3NkCisgICAgZmluZCAke0R9IC10eXBlIGYgLW5vdCAtbmFtZSAiKnN0YXJ0LXN0b3AtZGFlbW9uKiIgLWV4ZWMgcm0ge30gXDsKKyAgICBmaW5kICR7RH0gLWRlcHRoIC10eXBlIGQgLWVtcHR5IC1leGVjIHJtZGlyIHt9IFw7CisKKyAgICAjIHN1cHBvcnQgZm9yIGJ1Z2d5IGluaXQuZCBzY3JpcHRzIHRoYXQgcmVmZXIgdG8gYW4gYWx0ZXJuYXRpdmUKKyAgICAjIGV4cGxpY2l0IHBhdGggdG8gc3RhcnQtc3RvcC1kYWVtb24KKyAgICBta2RpciAtcCAke0R9L3NiaW4vCisgICAgbG4gLXNmIC91c3Ivc2Jpbi9zdGFydC1zdG9wLWRhZW1vbiAke0R9L3NiaW4vc3RhcnQtc3RvcC1kYWVtb24KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3luZXJneS9zeW5lcmd5X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3luZXJneS9zeW5lcmd5X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjA1N2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeW5lcmd5L3N5bmVyZ3lfZ2l0LmJiCkBAIC0wLDAgKzEsMzQgQEAKK1NVTU1BUlkgPSAiU3luZXJneSAtIGNvbnRyb2wgbXVsdGlwbGUgY29tcHV0ZXJzIHdpdGggb25lIGtleWJvYXJkIGFuZCBtb3VzZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9zeW5lcmd5LXByb2plY3Qub3JnIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MGYzNjY5NDViMjA5YzU1MjNlMzk4ODlmNjM2YWYwMGEiCitMSUNFTlNFID0gIkdQTC0yLjAiCitTRUNUSU9OID0gIngxMS91dGlscyIKKworREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJ4dHN0IGxpYnhpbmVyYW1hIHVuemlwLW5hdGl2ZSBjdXJsIG9wZW5zc2wiCisKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3N5bmVyZ3kvc3luZXJneS5naXQ7cHJvdG9jb2w9aHR0cCIKKworIyBWZXJzaW9uIDEuNy40LXJjOAorU1JDUkVWID89ICI1ODhmYjRiODA1ZGQ0NTI1NTZkMDVkYmMwM2ZlMjllYTViNGU0M2MwIgorUFYgPSAiMS43LjMrMS43LjQtcmM4KyR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitkb191bnBhY2tfZXh0cmEoKSB7CisgICAgY2QgJHtTfS9leHQKKyAgICBmb3IgZmlsZSBpbiAqLnppcDsgZG8KKyAgICAgICAgZm5hbWU9IiR7ZmlsZSMjKi99IgorICAgICAgICB1bnppcCAkZmlsZSAtZCAke2ZuYW1lJS4qfQorICAgIGRvbmUKK30KK2FkZHRhc2sgdW5wYWNrX2V4dHJhIGFmdGVyIGRvX3VucGFjayBiZWZvcmUgZG9fcGF0Y2gKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vdXNyL2JpbgorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2Jpbi9zeW5lcmd5KiAke0R9L3Vzci9iaW4vCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9GaXgtdGhlLW1lbW9yeS1sZWFrLXByb2JsZW0tZm9yLW11dGV4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvRml4LXRoZS1tZW1vcnktbGVhay1wcm9ibGVtLWZvci1tdXRleC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTAyMmFhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvRml4LXRoZS1tZW1vcnktbGVhay1wcm9ibGVtLWZvci1tdXRleC5wYXRjaApAQCAtMCwwICsxLDU4IEBACitGaXggdGhlIG1lbW9yeSBsZWFrIHByb2JsZW0gZm9yIG11dGV4CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBYdWZlbmcgWmhhbmcgPHh1ZmVuZy56aGFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliL2xvZ3F1ZXVlLmMgICAgICAgICAgICAgICB8ICAgIDEgKworIG1vZHVsZXMvYWZmaWxlL2FmZmlsZS1kZXN0LmMgfCAgICAyICsrCisgbW9kdWxlcy9kYnBhcnNlci9kYnBhcnNlci5jICB8ICAgIDEgKworIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL2xvZ3F1ZXVlLmMgYi9saWIvbG9ncXVldWUuYworaW5kZXggMzM3YTNjMS4uMTBlZGNmMCAxMDA2NDQKKy0tLSBhL2xpYi9sb2dxdWV1ZS5jCisrKysgYi9saWIvbG9ncXVldWUuYworQEAgLTE4OCw2ICsxODgsNyBAQCBsb2dfcXVldWVfaW5pdF9pbnN0YW5jZShMb2dRdWV1ZSAqc2VsZiwgY29uc3QgZ2NoYXIgKnBlcnNpc3RfbmFtZSkKKyB2b2lkCisgbG9nX3F1ZXVlX2ZyZWVfbWV0aG9kKExvZ1F1ZXVlICpzZWxmKQorIHsKKysgIGdfc3RhdGljX211dGV4X2ZyZWUoJnNlbGYtPmxvY2spOworICAgZ19mcmVlKHNlbGYtPnBlcnNpc3RfbmFtZSk7CisgICBnX2ZyZWUoc2VsZik7CisgfQorZGlmZiAtLWdpdCBhL21vZHVsZXMvYWZmaWxlL2FmZmlsZS1kZXN0LmMgYi9tb2R1bGVzL2FmZmlsZS9hZmZpbGUtZGVzdC5jCitpbmRleCBhMmJjZGFkLi5jZTc5ZjZmIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9hZmZpbGUvYWZmaWxlLWRlc3QuYworKysrIGIvbW9kdWxlcy9hZmZpbGUvYWZmaWxlLWRlc3QuYworQEAgLTMwNSw2ICszMDUsNyBAQCBhZmZpbGVfZHdfZnJlZShMb2dQaXBlICpzKQorIHsKKyAgIEFGRmlsZURlc3RXcml0ZXIgKnNlbGYgPSAoQUZGaWxlRGVzdFdyaXRlciAqKSBzOworICAgCisrICBnX3N0YXRpY19tdXRleF9mcmVlKCZzZWxmLT5sb2NrKTsKKyAgIGxvZ19waXBlX3VucmVmKChMb2dQaXBlICopIHNlbGYtPndyaXRlcik7CisgICBzZWxmLT53cml0ZXIgPSBOVUxMOworICAgZ19mcmVlKHNlbGYtPmZpbGVuYW1lKTsKK0BAIC02ODcsNiArNjg4LDcgQEAgYWZmaWxlX2RkX2ZyZWUoTG9nUGlwZSAqcykKKyAgIC8qIE5PVEU6IHRoaXMgbXVzdCBiZSBOVUxMIGFzIGRlaW5pdCBoYXMgZnJlZWQgaXQsIG90aGVyd2lzZSB3ZSdkIGhhdmUgY2lyY3VsYXIgcmVmZXJlbmNlcyAqLworICAgZ19hc3NlcnQoc2VsZi0+c2luZ2xlX3dyaXRlciA9PSBOVUxMICYmIHNlbGYtPndyaXRlcl9oYXNoID09IE5VTEwpOworIAorKyAgZ19zdGF0aWNfbXV0ZXhfZnJlZSgmc2VsZi0+bG9jayk7CisgICBsb2dfdGVtcGxhdGVfdW5yZWYoc2VsZi0+ZmlsZW5hbWVfdGVtcGxhdGUpOworICAgbG9nX3dyaXRlcl9vcHRpb25zX2Rlc3Ryb3koJnNlbGYtPndyaXRlcl9vcHRpb25zKTsKKyAgIGxvZ19kZXN0X2RyaXZlcl9mcmVlKHMpOworZGlmZiAtLWdpdCBhL21vZHVsZXMvZGJwYXJzZXIvZGJwYXJzZXIuYyBiL21vZHVsZXMvZGJwYXJzZXIvZGJwYXJzZXIuYworaW5kZXggZjEyNDhiNS4uOTc3NTcwMSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvZGJwYXJzZXIvZGJwYXJzZXIuYworKysrIGIvbW9kdWxlcy9kYnBhcnNlci9kYnBhcnNlci5jCitAQCAtMjg0LDYgKzI4NCw3IEBAIGxvZ19kYl9wYXJzZXJfZnJlZShMb2dQaXBlICpzKQorIHsKKyAgIExvZ0RCUGFyc2VyICpzZWxmID0gKExvZ0RCUGFyc2VyICopIHM7CisgCisrICBnX3N0YXRpY19tdXRleF9mcmVlKCZzZWxmLT5sb2NrKTsKKyAgIGlmIChzZWxmLT5kYikKKyAgICAgcGF0dGVybl9kYl9mcmVlKHNlbGYtPmRiKTsKKyAKKy0tIAorMS43LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvRml4LXRoZS1tZW1vcnktbGVhay1wcm9ibGVtLXdoZW4tSEFWRV9FTlZJUk9OLWRlZmluZWQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9GaXgtdGhlLW1lbW9yeS1sZWFrLXByb2JsZW0td2hlbi1IQVZFX0VOVklST04tZGVmaW5lZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWM5YzBiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvRml4LXRoZS1tZW1vcnktbGVhay1wcm9ibGVtLXdoZW4tSEFWRV9FTlZJUk9OLWRlZmluZWQucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRml4IHRoZSBtZW1vcnkgbGVhayBwcm9ibGVtIHdoZW4gSEFWRV9FTlZJUk9OIGlzIGRlZmluZWQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFh1ZmVuZyBaaGFuZyA8eHVmZW5nLnpoYW5nQHdpbmRyaXZlci5jb20+CistLS0KKy0tLSBhL2xpYi9ncHJvY2Vzcy5jCisrKysgYi9saWIvZ3Byb2Nlc3MuYworQEAgLTE0MjEsNiArMTQyMSwxOCBAQAorIHZvaWQKKyBnX3Byb2Nlc3NfZmluaXNoKHZvaWQpCisgeworKyNpZmRlZiBIQVZFX0VOVklST04KKysgIGludCBpID0gMDsKKysKKysgIHdoaWxlIChlbnZpcm9uW2ldKSB7CisrICAgIGdfZnJlZShlbnZpcm9uW2ldKTsKKysgICAgKytpOworKyAgfQorKyAgaWYgKGVudmlyb24pCisrICAgIGdfZnJlZShlbnZpcm9uKTsKKysgIGlmIChwcm9jZXNzX29wdHMuYXJndl9vcmlnKQorKyAgICBmcmVlKHByb2Nlc3Nfb3B0cy5hcmd2X29yaWcpOworKyNlbmRpZgorICAgZ19wcm9jZXNzX3JlbW92ZV9waWRmaWxlKCk7CisgfQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvYWZzcWwtYWZzcWxfZGRfaW5zZXJ0X2RiLXJlZmFjdG9yLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvYWZzcWwtYWZzcWxfZGRfaW5zZXJ0X2RiLXJlZmFjdG9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyZTE4MWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9hZnNxbC1hZnNxbF9kZF9pbnNlcnRfZGItcmVmYWN0b3IucGF0Y2gKQEAgLTAsMCArMSw0OTQgQEAKK0Zyb20gMjNlODBiNzU1MDgxODdiYWFhODIzYTY4ZWEwMTliNzJlMGIyMzA1YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEJ1ZGFpIExhc3psbyA8bGJ1ZGFpQGJhbGFiaXQuaHU+CitEYXRlOiBUdWUsIDEyIE5vdiAyMDEzIDEzOjE5OjA0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGFmc3FsOiBhZnNxbF9kZF9pbnNlcnRfZGIoKSByZWZhY3RvcgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK0EgbG90IG9mIHRoZSBjb2RlIHRoYXQgd2FzIHByZXZpb3VzbHkgaW4gYWZzcWxfZGRfaW5zZXJ0X2RiKCkgaGF2ZSBiZWVuCitleHRyYWN0ZWQgdG8gc21hbGxlciBmdW5jdGlvbnMsIGFuZCBhZnNxbF9kZF9pbnNlcnRfZGIoKSB3YXMgcmVidWlsdCBvbgordG9wIG9mIHRoZXNlLiBBdCB0aGUgc2FtZSB0aW1lLCBtZW1vcnkgbGVha3Mgd2VyZSBwbHVnZ2VkLCBhbmQgaW4gY2FzZQorb2YgYSB0cmFuc2FjdGlvbiBlcnJvciwgYmFja2xvZyByZXdpbmRpbmcgaGFzIGJlZW4gZml4ZWQgdG9vLCB0byBub3QKK2xvb3NlIG1lc3NhZ2VzIHNpbmNlIHRoZSBsYXN0IEJFR0lOIGNvbW1hbmQuCisKK1NpZ25lZC1vZmYtYnk6IEp1aGFzeiBWaWt0b3IgPGp2aWt0b3JAYmFsYWJpdC5odT4KK1NpZ25lZC1vZmYtYnk6IExhc3psbyBCdWRhaSA8bGJ1ZGFpQGJhbGFiaXQuaHU+CistLS0KKyBtb2R1bGVzL2Fmc3FsL2Fmc3FsLmMgfCAzMDEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTkyIGluc2VydGlvbnMoKyksIDEwOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvYWZzcWwvYWZzcWwuYyBiL21vZHVsZXMvYWZzcWwvYWZzcWwuYworaW5kZXggMTJmNmFhYi4uYTZhODE5MCAxMDA2NDQKKy0tLSBhL21vZHVsZXMvYWZzcWwvYWZzcWwuYworKysrIGIvbW9kdWxlcy9hZnNxbC9hZnNxbC5jCitAQCAtNDU2LDI0ICs0NTYsMjEgQEAgYWZzcWxfZGRfY3JlYXRlX2luZGV4KEFGU3FsRGVzdERyaXZlciAqcworICAqCisgICogTk9URTogVGhpcyBmdW5jdGlvbiBjYW4gb25seSBiZSBjYWxsZWQgZnJvbSB0aGUgZGF0YWJhc2UgdGhyZWFkLgorICAqKi8KKy1zdGF0aWMgR1N0cmluZyAqCistYWZzcWxfZGRfdmFsaWRhdGVfdGFibGUoQUZTcWxEZXN0RHJpdmVyICpzZWxmLCBMb2dNZXNzYWdlICptc2cpCisrc3RhdGljIGdib29sZWFuCisrYWZzcWxfZGRfdmFsaWRhdGVfdGFibGUoQUZTcWxEZXN0RHJpdmVyICpzZWxmLCBHU3RyaW5nICp0YWJsZSkKKyB7CistICBHU3RyaW5nICpxdWVyeV9zdHJpbmcsICp0YWJsZTsKKysgIEdTdHJpbmcgKnF1ZXJ5X3N0cmluZzsKKyAgIGRiaV9yZXN1bHQgZGJfcmVzOworICAgZ2Jvb2xlYW4gc3VjY2VzcyA9IEZBTFNFOworICAgZ2ludCBpOworIAorLSAgdGFibGUgPSBnX3N0cmluZ19zaXplZF9uZXcoMzIpOworLSAgbG9nX3RlbXBsYXRlX2Zvcm1hdChzZWxmLT50YWJsZSwgbXNnLCAmc2VsZi0+dGVtcGxhdGVfb3B0aW9ucywgTFRaX0xPQ0FMLCAwLCBOVUxMLCB0YWJsZSk7CistCisgICBpZiAoc2VsZi0+ZmxhZ3MgJiBBRlNRTF9EREZfRE9OVF9DUkVBVEVfVEFCTEVTKQorLSAgICByZXR1cm4gdGFibGU7CisrICAgIHJldHVybiBUUlVFOworIAorICAgYWZzcWxfZGRfY2hlY2tfc3FsX2lkZW50aWZpZXIodGFibGUtPnN0ciwgVFJVRSk7CisgCisgICBpZiAoZ19oYXNoX3RhYmxlX2xvb2t1cChzZWxmLT52YWxpZGF0ZWRfdGFibGVzLCB0YWJsZS0+c3RyKSkKKy0gICAgcmV0dXJuIHRhYmxlOworKyAgICByZXR1cm4gVFJVRTsKKyAKKyAgIHF1ZXJ5X3N0cmluZyA9IGdfc3RyaW5nX3NpemVkX25ldygzMik7CisgICBnX3N0cmluZ19wcmludGYocXVlcnlfc3RyaW5nLCAiU0VMRUNUICogRlJPTSAlcyBXSEVSRSAwPTEiLCB0YWJsZS0+c3RyKTsKK0BAIC01NDQsMTQgKzU0MSw5IEBAIGFmc3FsX2RkX3ZhbGlkYXRlX3RhYmxlKEFGU3FsRGVzdERyaXZlciAKKyAgICAgICAvKiB3ZSBoYXZlIHN1Y2Nlc3NmdWxseSBjcmVhdGVkL2FsdGVyZWQgdGhlIGRlc3RpbmF0aW9uIHRhYmxlLCByZWNvcmQgdGhpcyBpbmZvcm1hdGlvbiAqLworICAgICAgIGdfaGFzaF90YWJsZV9pbnNlcnQoc2VsZi0+dmFsaWRhdGVkX3RhYmxlcywgZ19zdHJkdXAodGFibGUtPnN0ciksIEdVSU5UX1RPX1BPSU5URVIoVFJVRSkpOworICAgICB9CistICBlbHNlCistICAgIHsKKy0gICAgICBnX3N0cmluZ19mcmVlKHRhYmxlLCBUUlVFKTsKKy0gICAgICB0YWJsZSA9IE5VTEw7CistICAgIH0KKyAgIGdfc3RyaW5nX2ZyZWUocXVlcnlfc3RyaW5nLCBUUlVFKTsKKyAKKy0gIHJldHVybiB0YWJsZTsKKysgIHJldHVybiBzdWNjZXNzOworIH0KKyAKKyAvKioKK0BAIC01ODEsNiArNTczLDIwIEBAIGFmc3FsX2RkX2JlZ2luX3R4bihBRlNxbERlc3REcml2ZXIgKnNlbGYKKyB9CisgCisgLyoqCisrICogYWZzcWxfZGRfaGFuZGxlX3RyYW5zYWN0aW9uX2Vycm9yOgorKyAqCisrICogSGFuZGxlIGVycm9ycyBpbnNpZGUgZHVyaW5nIGEgU1FMIHRyYW5zYWN0aW9uIChlLmcuIElOU0VSVCBvciBDT01NSVQgZmFpbHVyZXMpLgorKyAqCisrICogTk9URTogVGhpcyBmdW5jdGlvbiBjYW4gb25seSBiZSBjYWxsZWQgZnJvbSB0aGUgZGF0YWJhc2UgdGhyZWFkLgorKyAqKi8KKytzdGF0aWMgdm9pZAorK2Fmc3FsX2RkX2hhbmRsZV90cmFuc2FjdGlvbl9lcnJvcihBRlNxbERlc3REcml2ZXIgKnNlbGYpCisreworKyAgbG9nX3F1ZXVlX3Jld2luZF9iYWNrbG9nKHNlbGYtPnF1ZXVlKTsKKysgIHNlbGYtPmZsdXNoX2xpbmVzX3F1ZXVlZCA9IDA7CisrfQorKworKy8qKgorICAqIGFmc3FsX2RkX2JlZ2luX3R4bjoKKyAgKgorICAqIENvbW1pdCBTUUwgdHJhbnNhY3Rpb24uCitAQCAtNTk2LDE0ICs2MDIsMTQgQEAgYWZzcWxfZGRfY29tbWl0X3R4bihBRlNxbERlc3REcml2ZXIgKnNlbAorICAgaWYgKHN1Y2Nlc3MpCisgICAgIHsKKyAgICAgICBsb2dfcXVldWVfYWNrX2JhY2tsb2coc2VsZi0+cXVldWUsIHNlbGYtPmZsdXNoX2xpbmVzX3F1ZXVlZCk7CisrICAgICAgc2VsZi0+Zmx1c2hfbGluZXNfcXVldWVkID0gMDsKKyAgICAgfQorICAgZWxzZQorICAgICB7CistICAgICAgbXNnX25vdGljZSgiU1FMIHRyYW5zYWN0aW9uIGNvbW1pdCBmYWlsZWQsIHJld2luZGluZyBiYWNrbG9nIGFuZCBzdGFydGluZyBhZ2FpbiIsCistICAgICAgICAgICAgICAgICBOVUxMKTsKKy0gICAgICBsb2dfcXVldWVfcmV3aW5kX2JhY2tsb2coc2VsZi0+cXVldWUpOworKyAgICAgIG1zZ19lcnJvcigiU1FMIHRyYW5zYWN0aW9uIGNvbW1pdCBmYWlsZWQsIHJld2luZGluZyBiYWNrbG9nIGFuZCBzdGFydGluZyBhZ2FpbiIsCisrICAgICAgICAgICAgICAgIE5VTEwpOworKyAgICAgIGFmc3FsX2RkX2hhbmRsZV90cmFuc2FjdGlvbl9lcnJvcihzZWxmKTsKKyAgICAgfQorLSAgc2VsZi0+Zmx1c2hfbGluZXNfcXVldWVkID0gMDsKKyAgIHJldHVybiBzdWNjZXNzOworIH0KKyAKK0BAIC02NDQsMTIgKzY1MCwxMyBAQCBhZnNxbF9kZF9zZXRfZGJkX29wdF9udW1lcmljKGdwb2ludGVyIGtlCisgfQorIAorIHN0YXRpYyBnYm9vbGVhbgorLWFmc3FsX2RkX2Nvbm5lY3QoQUZTcWxEZXN0RHJpdmVyICpzZWxmKQorK2Fmc3FsX2RkX2Vuc3VyZV9pbml0aWFsaXplZF9jb25uZWN0aW9uKEFGU3FsRGVzdERyaXZlciAqc2VsZikKKyB7CisgICBpZiAoc2VsZi0+ZGJpX2N0eCkKKyAgICAgcmV0dXJuIFRSVUU7CisgCisgICBzZWxmLT5kYmlfY3R4ID0gZGJpX2Nvbm5fbmV3KHNlbGYtPnR5cGUpOworKworICAgaWYgKCFzZWxmLT5kYmlfY3R4KQorICAgICB7CisgICAgICAgbXNnX2Vycm9yKCJObyBzdWNoIERCSSBkcml2ZXIiLAorQEAgLTY1OSwxMCArNjY2LDEyIEBAIGFmc3FsX2RkX2Nvbm5lY3QoQUZTcWxEZXN0RHJpdmVyICpzZWxmKQorICAgICB9CisgCisgICBkYmlfY29ubl9zZXRfb3B0aW9uKHNlbGYtPmRiaV9jdHgsICJob3N0Iiwgc2VsZi0+aG9zdCk7CisrCisgICBpZiAoc3RyY21wKHNlbGYtPnR5cGUsICJteXNxbCIpKQorICAgICBkYmlfY29ubl9zZXRfb3B0aW9uKHNlbGYtPmRiaV9jdHgsICJwb3J0Iiwgc2VsZi0+cG9ydCk7CisgICBlbHNlCisgICAgIGRiaV9jb25uX3NldF9vcHRpb25fbnVtZXJpYyhzZWxmLT5kYmlfY3R4LCAicG9ydCIsIGF0b2koc2VsZi0+cG9ydCkpOworKworICAgZGJpX2Nvbm5fc2V0X29wdGlvbihzZWxmLT5kYmlfY3R4LCAidXNlcm5hbWUiLCBzZWxmLT51c2VyKTsKKyAgIGRiaV9jb25uX3NldF9vcHRpb24oc2VsZi0+ZGJpX2N0eCwgInBhc3N3b3JkIiwgc2VsZi0+cGFzc3dvcmQpOworICAgZGJpX2Nvbm5fc2V0X29wdGlvbihzZWxmLT5kYmlfY3R4LCAiZGJuYW1lIiwgc2VsZi0+ZGF0YWJhc2UpOworQEAgLTY5MSw2ICs3MDAsNyBAQCBhZnNxbF9kZF9jb25uZWN0KEFGU3FsRGVzdERyaXZlciAqc2VsZikKKyAgICAgICAgICAgICAgICAgZXZ0X3RhZ19zdHIoImRhdGFiYXNlIiwgc2VsZi0+ZGF0YWJhc2UpLAorICAgICAgICAgICAgICAgICBldnRfdGFnX3N0cigiZXJyb3IiLCBkYmlfZXJyb3IpLAorICAgICAgICAgICAgICAgICBOVUxMKTsKKysKKyAgICAgICByZXR1cm4gRkFMU0U7CisgICAgIH0KKyAKK0BAIC03MTMsMTA0ICs3MjMsMTQ1IEBAIGFmc3FsX2RkX2Nvbm5lY3QoQUZTcWxEZXN0RHJpdmVyICpzZWxmKQorICAgcmV0dXJuIFRSVUU7CisgfQorIAorLXN0YXRpYyBnYm9vbGVhbgorLWFmc3FsX2RkX2luc2VydF9mYWlsX2hhbmRsZXIoQUZTcWxEZXN0RHJpdmVyICpzZWxmLCBMb2dNZXNzYWdlICptc2csCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2dQYXRoT3B0aW9ucyAqcGF0aF9vcHRpb25zKQorK3N0YXRpYyBHU3RyaW5nICoKKythZnNxbF9kZF9lbnN1cmVfYWNjZXNzaWJsZV9kYXRhYmFzZV90YWJsZShBRlNxbERlc3REcml2ZXIgKnNlbGYsIExvZ01lc3NhZ2UgKm1zZykKKyB7CistICBpZiAoc2VsZi0+ZmFpbGVkX21lc3NhZ2VfY291bnRlciA8IHNlbGYtPm51bV9yZXRyaWVzIC0gMSkKKy0gICAgeworLSAgICAgIGxvZ19xdWV1ZV9wdXNoX2hlYWQoc2VsZi0+cXVldWUsIG1zZywgcGF0aF9vcHRpb25zKTsKKy0KKy0gICAgICAvKiBkYXRhYmFzZSBjb25uZWN0aW9uIHN0YXR1cyBzYW5pdHkgY2hlY2sgYWZ0ZXIgZmFpbGVkIHF1ZXJ5ICovCistICAgICAgaWYgKGRiaV9jb25uX3Bpbmcoc2VsZi0+ZGJpX2N0eCkgIT0gMSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgY29uc3QgZ2NoYXIgKmRiaV9lcnJvcjsKKy0KKy0gICAgICAgICAgZGJpX2Nvbm5fZXJyb3Ioc2VsZi0+ZGJpX2N0eCwgJmRiaV9lcnJvcik7CistICAgICAgICAgIG1zZ19lcnJvcigiRXJyb3IsIG5vIFNRTCBjb25uZWN0aW9uIGFmdGVyIGZhaWxlZCBxdWVyeSBhdHRlbXB0IiwKKy0gICAgICAgICAgICAgICAgICAgIGV2dF90YWdfc3RyKCJ0eXBlIiwgc2VsZi0+dHlwZSksCistICAgICAgICAgICAgICAgICAgICBldnRfdGFnX3N0cigiaG9zdCIsIHNlbGYtPmhvc3QpLAorLSAgICAgICAgICAgICAgICAgICAgZXZ0X3RhZ19zdHIoInBvcnQiLCBzZWxmLT5wb3J0KSwKKy0gICAgICAgICAgICAgICAgICAgIGV2dF90YWdfc3RyKCJ1c2VybmFtZSIsIHNlbGYtPnVzZXIpLAorLSAgICAgICAgICAgICAgICAgICAgZXZ0X3RhZ19zdHIoImRhdGFiYXNlIiwgc2VsZi0+ZGF0YWJhc2UpLAorLSAgICAgICAgICAgICAgICAgICAgZXZ0X3RhZ19zdHIoImVycm9yIiwgZGJpX2Vycm9yKSwKKy0gICAgICAgICAgICAgICAgICAgIE5VTEwpOworLSAgICAgICAgICByZXR1cm4gRkFMU0U7CistICAgICAgICB9CisrICBHU3RyaW5nICp0YWJsZSA9IGdfc3RyaW5nX3NpemVkX25ldygzMik7CisrICBsb2dfdGVtcGxhdGVfZm9ybWF0KHNlbGYtPnRhYmxlLCBtc2csICZzZWxmLT50ZW1wbGF0ZV9vcHRpb25zLCBMVFpfTE9DQUwsIDAsIE5VTEwsIHRhYmxlKTsKKyAKKy0gICAgICBzZWxmLT5mYWlsZWRfbWVzc2FnZV9jb3VudGVyKys7CistICAgICAgcmV0dXJuIEZBTFNFOworKyAgaWYgKCFhZnNxbF9kZF92YWxpZGF0ZV90YWJsZShzZWxmLCB0YWJsZSkpCisrICAgIHsKKysgICAgICAvKiBJZiB2YWxpZGF0ZSB0YWJsZSBpcyBGQUxTRSB0aGVuIGNsb3NlIHRoZSBjb25uZWN0aW9uIGFuZCB3YWl0IHRpbWVfcmVvcGVuIHRpbWUgKG5leHQgY2FsbCkgKi8KKysgICAgICBtc2dfZXJyb3IoIkVycm9yIGNoZWNraW5nIHRhYmxlLCBkaXNjb25uZWN0aW5nIGZyb20gZGF0YWJhc2UsIHRyeWluZyBhZ2FpbiBzaG9ydGx5IiwKKysgICAgICAgICAgICAgICAgZXZ0X3RhZ19pbnQoInRpbWVfcmVvcGVuIiwgc2VsZi0+dGltZV9yZW9wZW4pLAorKyAgICAgICAgICAgICAgICBOVUxMKTsKKysgICAgICBnX3N0cmluZ19mcmVlKHRhYmxlLCBUUlVFKTsKKysgICAgICByZXR1cm4gTlVMTDsKKyAgICAgfQorIAorLSAgbXNnX2Vycm9yKCJNdWx0aXBsZSBmYWlsdXJlcyB3aGlsZSBpbnNlcnRpbmcgdGhpcyByZWNvcmQgaW50byB0aGUgZGF0YWJhc2UsIG1lc3NhZ2UgZHJvcHBlZCIsCistICAgICAgICAgICAgZXZ0X3RhZ19pbnQoImF0dGVtcHRzIiwgc2VsZi0+bnVtX3JldHJpZXMpLAorLSAgICAgICAgICAgIE5VTEwpOworLSAgc3RhdHNfY291bnRlcl9pbmMoc2VsZi0+ZHJvcHBlZF9tZXNzYWdlcyk7CistICBsb2dfbXNnX2Ryb3AobXNnLCBwYXRoX29wdGlvbnMpOworLSAgc2VsZi0+ZmFpbGVkX21lc3NhZ2VfY291bnRlciA9IDA7CistICByZXR1cm4gVFJVRTsKKysgIHJldHVybiB0YWJsZTsKKyB9CisgCisgc3RhdGljIEdTdHJpbmcgKgorLWFmc3FsX2RkX2NvbnN0cnVjdF9xdWVyeShBRlNxbERlc3REcml2ZXIgKnNlbGYsIEdTdHJpbmcgKnRhYmxlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBMb2dNZXNzYWdlICptc2cpCisrYWZzcWxfZGRfYnVpbGRfaW5zZXJ0X2NvbW1hbmQoQUZTcWxEZXN0RHJpdmVyICpzZWxmLCBMb2dNZXNzYWdlICptc2csIEdTdHJpbmcgKnRhYmxlKQorIHsKKy0gIEdTdHJpbmcgKnZhbHVlOworLSAgR1N0cmluZyAqcXVlcnlfc3RyaW5nOworLSAgZ2ludCBpOworKyAgR1N0cmluZyAqaW5zZXJ0X2NvbW1hbmQgPSBnX3N0cmluZ19zaXplZF9uZXcoMjU2KTsKKysgIEdTdHJpbmcgKnZhbHVlID0gZ19zdHJpbmdfc2l6ZWRfbmV3KDUxMik7CisrICBnaW50IGksIGo7CisgCistICB2YWx1ZSA9IGdfc3RyaW5nX3NpemVkX25ldygyNTYpOworLSAgcXVlcnlfc3RyaW5nID0gZ19zdHJpbmdfc2l6ZWRfbmV3KDUxMik7CisrICBnX3N0cmluZ19wcmludGYoaW5zZXJ0X2NvbW1hbmQsICJJTlNFUlQgSU5UTyAlcyAoIiwgdGFibGUtPnN0cik7CisgCistICBnX3N0cmluZ19wcmludGYocXVlcnlfc3RyaW5nLCAiSU5TRVJUIElOVE8gJXMgKCIsIHRhYmxlLT5zdHIpOworICAgZm9yIChpID0gMDsgaSA8IHNlbGYtPmZpZWxkc19sZW47IGkrKykKKyAgICAgeworLSAgICAgIGdfc3RyaW5nX2FwcGVuZChxdWVyeV9zdHJpbmcsIHNlbGYtPmZpZWxkc1tpXS5uYW1lKTsKKy0gICAgICBpZiAoaSAhPSBzZWxmLT5maWVsZHNfbGVuIC0gMSkKKy0gICAgICAgIGdfc3RyaW5nX2FwcGVuZChxdWVyeV9zdHJpbmcsICIsICIpOworKyAgICAgIGlmICgoc2VsZi0+ZmllbGRzW2ldLmZsYWdzICYgQUZTUUxfRkZfREVGQVVMVCkgPT0gMCAmJiBzZWxmLT5maWVsZHNbaV0udmFsdWUgIT0gTlVMTCkKKysgICAgICAgIHsKKysgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZChpbnNlcnRfY29tbWFuZCwgc2VsZi0+ZmllbGRzW2ldLm5hbWUpOworKworKyAgICAgICAgICAgaiA9IGkgKyAxOworKyAgICAgICAgICAgd2hpbGUgKGogPCBzZWxmLT5maWVsZHNfbGVuICYmIChzZWxmLT5maWVsZHNbal0uZmxhZ3MgJiBBRlNRTF9GRl9ERUZBVUxUKSA9PSBBRlNRTF9GRl9ERUZBVUxUKQorKyAgICAgICAgICAgICBqKys7CisrCisrICAgICAgICAgICBpZiAoaiA8IHNlbGYtPmZpZWxkc19sZW4pCisrICAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZChpbnNlcnRfY29tbWFuZCwgIiwgIik7CisrICAgICAgICB9CisgICAgIH0KKy0gIGdfc3RyaW5nX2FwcGVuZChxdWVyeV9zdHJpbmcsICIpIFZBTFVFUyAoIik7CisrCisrICBnX3N0cmluZ19hcHBlbmQoaW5zZXJ0X2NvbW1hbmQsICIpIFZBTFVFUyAoIik7CisgCisgICBmb3IgKGkgPSAwOyBpIDwgc2VsZi0+ZmllbGRzX2xlbjsgaSsrKQorICAgICB7CisgICAgICAgZ2NoYXIgKnF1b3RlZDsKKyAKKy0gICAgICBpZiAoc2VsZi0+ZmllbGRzW2ldLnZhbHVlID09IE5VTEwpCistICAgICAgICB7CistICAgICAgICAgIC8qIHRoZSBjb25maWcgdXNlZCB0aGUgJ2RlZmF1bHQnIHZhbHVlIGZvciB0aGlzIGNvbHVtbiAtPiB0aGUgZmllbGRzW2ldLnZhbHVlIGlzIE5VTEwsIHVzZSBTUUwgZGVmYXVsdCAqLworLSAgICAgICAgICBnX3N0cmluZ19hcHBlbmQocXVlcnlfc3RyaW5nLCAiREVGQVVMVCIpOworLSAgICAgICAgfQorLSAgICAgIGVsc2UKKysgICAgICBpZiAoKHNlbGYtPmZpZWxkc1tpXS5mbGFncyAmIEFGU1FMX0ZGX0RFRkFVTFQpID09IDAgJiYgc2VsZi0+ZmllbGRzW2ldLnZhbHVlICE9IE5VTEwpCisgICAgICAgICB7CisgICAgICAgICAgIGxvZ190ZW1wbGF0ZV9mb3JtYXQoc2VsZi0+ZmllbGRzW2ldLnZhbHVlLCBtc2csICZzZWxmLT50ZW1wbGF0ZV9vcHRpb25zLCBMVFpfU0VORCwgc2VsZi0+c2VxX251bSwgTlVMTCwgdmFsdWUpOworLQorICAgICAgICAgICBpZiAoc2VsZi0+bnVsbF92YWx1ZSAmJiBzdHJjbXAoc2VsZi0+bnVsbF92YWx1ZSwgdmFsdWUtPnN0cikgPT0gMCkKKyAgICAgICAgICAgICB7CistICAgICAgICAgICAgICBnX3N0cmluZ19hcHBlbmQocXVlcnlfc3RyaW5nLCAiTlVMTCIpOworKyAgICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5kKGluc2VydF9jb21tYW5kLCAiTlVMTCIpOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgIGRiaV9jb25uX3F1b3RlX3N0cmluZ19jb3B5KHNlbGYtPmRiaV9jdHgsIHZhbHVlLT5zdHIsICZxdW90ZWQpOworICAgICAgICAgICAgICAgaWYgKHF1b3RlZCkKKyAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZChxdWVyeV9zdHJpbmcsIHF1b3RlZCk7CisrICAgICAgICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5kKGluc2VydF9jb21tYW5kLCBxdW90ZWQpOworICAgICAgICAgICAgICAgICAgIGZyZWUocXVvdGVkKTsKKyAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5kKHF1ZXJ5X3N0cmluZywgIicnIik7CisrICAgICAgICAgICAgICAgICBnX3N0cmluZ19hcHBlbmQoaW5zZXJ0X2NvbW1hbmQsICInJyIpOworICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQorLSAgICAgICAgfQorIAorLSAgICAgIGlmIChpICE9IHNlbGYtPmZpZWxkc19sZW4gLSAxKQorLSAgICAgICAgZ19zdHJpbmdfYXBwZW5kKHF1ZXJ5X3N0cmluZywgIiwgIik7CisrICAgICAgICAgIGogPSBpICsgMTsKKysgICAgICAgICAgd2hpbGUgKGogPCBzZWxmLT5maWVsZHNfbGVuICYmIChzZWxmLT5maWVsZHNbal0uZmxhZ3MgJiBBRlNRTF9GRl9ERUZBVUxUKSA9PSBBRlNRTF9GRl9ERUZBVUxUKQorKyAgICAgICAgICAgIGorKzsKKysgICAgICAgICAgaWYgKGogPCBzZWxmLT5maWVsZHNfbGVuKQorKyAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZChpbnNlcnRfY29tbWFuZCwgIiwgIik7CisrICAgICAgICB9CisgICAgIH0KKy0gIGdfc3RyaW5nX2FwcGVuZChxdWVyeV9zdHJpbmcsICIpIik7CisrCisrICBnX3N0cmluZ19hcHBlbmQoaW5zZXJ0X2NvbW1hbmQsICIpIik7CisgCisgICBnX3N0cmluZ19mcmVlKHZhbHVlLCBUUlVFKTsKKyAKKy0gIHJldHVybiBxdWVyeV9zdHJpbmc7CisrICByZXR1cm4gaW5zZXJ0X2NvbW1hbmQ7CisrfQorKworK3N0YXRpYyBpbmxpbmUgZ2Jvb2xlYW4KKythZnNxbF9kZF9pc190cmFuc2FjdGlvbl9oYW5kbGluZ19lbmFibGVkKGNvbnN0IEFGU3FsRGVzdERyaXZlciAqc2VsZikKKyt7CisrICByZXR1cm4gc2VsZi0+Zmx1c2hfbGluZXNfcXVldWVkICE9IC0xOworK30KKysKKytzdGF0aWMgaW5saW5lIGdib29sZWFuCisrYWZzcWxfZGRfc2hvdWxkX3N0YXJ0X25ld190cmFuc2FjdGlvbihjb25zdCBBRlNxbERlc3REcml2ZXIgKnNlbGYpCisreworKyAgcmV0dXJuIHNlbGYtPmZsdXNoX2xpbmVzX3F1ZXVlZCA9PSAwOworK30KKysKKytzdGF0aWMgaW5saW5lIGdib29sZWFuCisrYWZzcWxfZGRfc2hvdWxkX2NvbW1pdF90cmFuc2FjdGlvbihjb25zdCBBRlNxbERlc3REcml2ZXIgKnNlbGYpCisreworKyAgcmV0dXJuIGFmc3FsX2RkX2lzX3RyYW5zYWN0aW9uX2hhbmRsaW5nX2VuYWJsZWQoc2VsZikgJiYgc2VsZi0+Zmx1c2hfbGluZXNfcXVldWVkID09IHNlbGYtPmZsdXNoX2xpbmVzOworK30KKysKKytzdGF0aWMgaW5saW5lIGdib29sZWFuCisrYWZzcWxfZGRfaGFuZGxlX2luc2VydF9yb3dfZXJyb3JfZGVwZW5kaW5nX29uX2Nvbm5lY3Rpb25fYXZhaWxhYmlsaXR5KEFGU3FsRGVzdERyaXZlciAqc2VsZiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9nTWVzc2FnZSAqbXNnLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2dQYXRoT3B0aW9ucyAqcGF0aF9vcHRpb25zKQorK3sKKysgIGNvbnN0IGdjaGFyICpkYmlfZXJyb3IsICplcnJvcl9tZXNzYWdlOworKworKyAgaWYgKGRiaV9jb25uX3Bpbmcoc2VsZi0+ZGJpX2N0eCkgPT0gMSkKKysgICAgeworKyAgICAgIGxvZ19xdWV1ZV9wdXNoX2hlYWQoc2VsZi0+cXVldWUsIG1zZywgcGF0aF9vcHRpb25zKTsKKysgICAgICByZXR1cm4gVFJVRTsKKysgICAgfQorKworKyAgaWYgKGFmc3FsX2RkX2lzX3RyYW5zYWN0aW9uX2hhbmRsaW5nX2VuYWJsZWQoc2VsZikpCisrICAgIHsKKysgICAgICBlcnJvcl9tZXNzYWdlID0gIlNRTCBjb25uZWN0aW9uIGxvc3QgaW4gdGhlIG1pZGRsZSBvZiBhIHRyYW5zYWN0aW9uLCIKKysgICAgICAgICAgICAgICAgICAgICAgIiByZXdpbmRpbmcgYmFja2xvZyBhbmQgc3RhcnRpbmcgYWdhaW4iOworKyAgICAgIGFmc3FsX2RkX2hhbmRsZV90cmFuc2FjdGlvbl9lcnJvcihzZWxmKTsKKysgICAgfQorKyAgZWxzZQorKyAgICB7CisrICAgICAgZXJyb3JfbWVzc2FnZSA9ICJFcnJvciwgbm8gU1FMIGNvbm5lY3Rpb24gYWZ0ZXIgZmFpbGVkIHF1ZXJ5IGF0dGVtcHQiOworKyAgICAgIGxvZ19xdWV1ZV9wdXNoX2hlYWQoc2VsZi0+cXVldWUsIG1zZywgcGF0aF9vcHRpb25zKTsKKysgICAgfQorKworKyAgZGJpX2Nvbm5fZXJyb3Ioc2VsZi0+ZGJpX2N0eCwgJmRiaV9lcnJvcik7CisrICBtc2dfZXJyb3IoZXJyb3JfbWVzc2FnZSwKKysgICAgICAgICAgICBldnRfdGFnX3N0cigidHlwZSIsIHNlbGYtPnR5cGUpLAorKyAgICAgICAgICAgIGV2dF90YWdfc3RyKCJob3N0Iiwgc2VsZi0+aG9zdCksCisrICAgICAgICAgICAgZXZ0X3RhZ19zdHIoInBvcnQiLCBzZWxmLT5wb3J0KSwKKysgICAgICAgICAgICBldnRfdGFnX3N0cigidXNlcm5hbWUiLCBzZWxmLT51c2VyKSwKKysgICAgICAgICAgICBldnRfdGFnX3N0cigiZGF0YWJhc2UiLCBzZWxmLT5kYXRhYmFzZSksCisrICAgICAgICAgICAgZXZ0X3RhZ19zdHIoImVycm9yIiwgZGJpX2Vycm9yKSwKKysgICAgICAgICAgICBOVUxMKTsKKysKKysgIHJldHVybiBGQUxTRTsKKyB9CisgCisgLyoqCitAQCAtODI0LDYxICs4NzUsOTMgQEAgYWZzcWxfZGRfY29uc3RydWN0X3F1ZXJ5KEFGU3FsRGVzdERyaXZlcgorIHN0YXRpYyBnYm9vbGVhbgorIGFmc3FsX2RkX2luc2VydF9kYihBRlNxbERlc3REcml2ZXIgKnNlbGYpCisgeworLSAgR1N0cmluZyAqdGFibGUsICpxdWVyeV9zdHJpbmc7CisrICBHU3RyaW5nICp0YWJsZSA9IE5VTEw7CisrICBHU3RyaW5nICppbnNlcnRfY29tbWFuZCA9IE5VTEw7CisgICBMb2dNZXNzYWdlICptc2c7CisgICBnYm9vbGVhbiBzdWNjZXNzOworICAgTG9nUGF0aE9wdGlvbnMgcGF0aF9vcHRpb25zID0gTE9HX1BBVEhfT1BUSU9OU19JTklUOworIAorLSAgYWZzcWxfZGRfY29ubmVjdChzZWxmKTsKKysgIGlmICghYWZzcWxfZGRfZW5zdXJlX2luaXRpYWxpemVkX2Nvbm5lY3Rpb24oc2VsZikpCisrICAgIHJldHVybiBGQUxTRTsKKyAKKy0gIHN1Y2Nlc3MgPSBsb2dfcXVldWVfcG9wX2hlYWQoc2VsZi0+cXVldWUsICZtc2csICZwYXRoX29wdGlvbnMsIChzZWxmLT5mbGFncyAmIEFGU1FMX0RERl9FWFBMSUNJVF9DT01NSVRTKSwgRkFMU0UpOworKyAgLyogY29ubmVjdGlvbiBlc3RhYmxpc2hlZCwgdHJ5IHRvIGluc2VydCBhIG1lc3NhZ2UgKi8KKysgIHN1Y2Nlc3MgPSBsb2dfcXVldWVfcG9wX2hlYWQoc2VsZi0+cXVldWUsICZtc2csICZwYXRoX29wdGlvbnMsIEZBTFNFLCBzZWxmLT5mbGFncyAmIEFGU1FMX0RERl9FWFBMSUNJVF9DT01NSVRTKTsKKyAgIGlmICghc3VjY2VzcykKKyAgICAgcmV0dXJuIFRSVUU7CisgCisgICBtc2dfc2V0X2NvbnRleHQobXNnKTsKKyAKKy0gIHRhYmxlID0gYWZzcWxfZGRfdmFsaWRhdGVfdGFibGUoc2VsZiwgbXNnKTsKKysgIHRhYmxlID0gYWZzcWxfZGRfZW5zdXJlX2FjY2Vzc2libGVfZGF0YWJhc2VfdGFibGUoc2VsZiwgbXNnKTsKKysKKyAgIGlmICghdGFibGUpCisgICAgIHsKKy0gICAgICAvKiBJZiB2YWxpZGF0ZSB0YWJsZSBpcyBGQUxTRSB0aGVuIGNsb3NlIHRoZSBjb25uZWN0aW9uIGFuZCB3YWl0IHRpbWVfcmVvcGVuIHRpbWUgKG5leHQgY2FsbCkgKi8KKy0gICAgICBtc2dfZXJyb3IoIkVycm9yIGNoZWNraW5nIHRhYmxlLCBkaXNjb25uZWN0aW5nIGZyb20gZGF0YWJhc2UsIHRyeWluZyBhZ2FpbiBzaG9ydGx5IiwKKy0gICAgICAgICAgICAgICAgZXZ0X3RhZ19pbnQoInRpbWVfcmVvcGVuIiwgc2VsZi0+dGltZV9yZW9wZW4pLAorLSAgICAgICAgICAgICAgICBOVUxMKTsKKy0gICAgICBtc2dfc2V0X2NvbnRleHQoTlVMTCk7CistICAgICAgZ19zdHJpbmdfZnJlZSh0YWJsZSwgVFJVRSk7CistICAgICAgcmV0dXJuIGFmc3FsX2RkX2luc2VydF9mYWlsX2hhbmRsZXIoc2VsZiwgbXNnLCAmcGF0aF9vcHRpb25zKTsKKysgICAgICBzdWNjZXNzID0gRkFMU0U7CisrICAgICAgZ290byBvdXQ7CisgICAgIH0KKyAKKy0gIHF1ZXJ5X3N0cmluZyA9IGFmc3FsX2RkX2NvbnN0cnVjdF9xdWVyeShzZWxmLCB0YWJsZSwgbXNnKTsKKysgIGlmIChhZnNxbF9kZF9zaG91bGRfc3RhcnRfbmV3X3RyYW5zYWN0aW9uKHNlbGYpICYmICFhZnNxbF9kZF9iZWdpbl90eG4oc2VsZikpCisrICAgIHsKKysgICAgICBzdWNjZXNzID0gRkFMU0U7CisrICAgICAgZ290byBvdXQ7CisrICAgIH0KKyAKKy0gIGlmIChzZWxmLT5mbHVzaF9saW5lc19xdWV1ZWQgPT0gMCAmJiAhYWZzcWxfZGRfYmVnaW5fdHhuKHNlbGYpKQorLSAgICByZXR1cm4gRkFMU0U7CisrICBpbnNlcnRfY29tbWFuZCA9IGFmc3FsX2RkX2J1aWxkX2luc2VydF9jb21tYW5kKHNlbGYsIG1zZywgdGFibGUpOworKyAgc3VjY2VzcyA9IGFmc3FsX2RkX3J1bl9xdWVyeShzZWxmLCBpbnNlcnRfY29tbWFuZC0+c3RyLCBGQUxTRSwgTlVMTCk7CisgCistICBzdWNjZXNzID0gYWZzcWxfZGRfcnVuX3F1ZXJ5KHNlbGYsIHF1ZXJ5X3N0cmluZy0+c3RyLCBGQUxTRSwgTlVMTCk7CisgICBpZiAoc3VjY2VzcyAmJiBzZWxmLT5mbHVzaF9saW5lc19xdWV1ZWQgIT0gLTEpCisgICAgIHsKKyAgICAgICBzZWxmLT5mbHVzaF9saW5lc19xdWV1ZWQrKzsKKyAKKy0gICAgICBpZiAoc2VsZi0+Zmx1c2hfbGluZXMgJiYgc2VsZi0+Zmx1c2hfbGluZXNfcXVldWVkID09IHNlbGYtPmZsdXNoX2xpbmVzICYmICFhZnNxbF9kZF9jb21taXRfdHhuKHNlbGYpKQorLSAgICAgICAgcmV0dXJuIEZBTFNFOworKyAgICAgIGlmIChhZnNxbF9kZF9zaG91bGRfY29tbWl0X3RyYW5zYWN0aW9uKHNlbGYpICYmICFhZnNxbF9kZF9jb21taXRfdHhuKHNlbGYpKQorKyAgICAgICAgeworKyAgICAgICAgICAvKiBBc3N1bWluZyB0aGF0IGluIGNhc2Ugb2YgZXJyb3IsIHRoZSBxdWV1ZSBpcyByZXdvdW5kIGJ5IGFmc3FsX2RkX2NvbW1pdF90eG4oKSAqLworKworKyAgICAgICAgICBnX3N0cmluZ19mcmVlKGluc2VydF9jb21tYW5kLCBUUlVFKTsKKysgICAgICAgICAgbXNnX3NldF9jb250ZXh0KE5VTEwpOworKworKyAgICAgICAgICByZXR1cm4gRkFMU0U7CisrICAgICAgICB9CisgICAgIH0KKyAKKy0gIGdfc3RyaW5nX2ZyZWUodGFibGUsIFRSVUUpOworLSAgZ19zdHJpbmdfZnJlZShxdWVyeV9zdHJpbmcsIFRSVUUpOworKyBvdXQ6CisrCisrICBpZiAodGFibGUgIT0gTlVMTCkKKysgICAgZ19zdHJpbmdfZnJlZSh0YWJsZSwgVFJVRSk7CisrCisrICBpZiAoaW5zZXJ0X2NvbW1hbmQgIT0gTlVMTCkKKysgICAgZ19zdHJpbmdfZnJlZShpbnNlcnRfY29tbWFuZCwgVFJVRSk7CisgCisgICBtc2dfc2V0X2NvbnRleHQoTlVMTCk7CisgCistICBpZiAoIXN1Y2Nlc3MpCistICAgIHJldHVybiBhZnNxbF9kZF9pbnNlcnRfZmFpbF9oYW5kbGVyKHNlbGYsIG1zZywgJnBhdGhfb3B0aW9ucyk7CisrICBpZiAoc3VjY2VzcykKKysgICAgeworKyAgICAgIGxvZ19tc2dfYWNrKG1zZywgJnBhdGhfb3B0aW9ucyk7CisrICAgICAgbG9nX21zZ191bnJlZihtc2cpOworKyAgICAgIHN0ZXBfc2VxdWVuY2VfbnVtYmVyKCZzZWxmLT5zZXFfbnVtKTsKKysgICAgICBzZWxmLT5mYWlsZWRfbWVzc2FnZV9jb3VudGVyID0gMDsKKysgICAgfQorKyAgZWxzZQorKyAgICB7CisrICAgICAgaWYgKHNlbGYtPmZhaWxlZF9tZXNzYWdlX2NvdW50ZXIgPCBzZWxmLT5udW1fcmV0cmllcyAtIDEpCisrICAgICAgICB7CisrICAgICAgICAgIGlmICghYWZzcWxfZGRfaGFuZGxlX2luc2VydF9yb3dfZXJyb3JfZGVwZW5kaW5nX29uX2Nvbm5lY3Rpb25fYXZhaWxhYmlsaXR5KHNlbGYsIG1zZywgJnBhdGhfb3B0aW9ucykpCisrICAgICAgICAgICAgcmV0dXJuIEZBTFNFOworIAorLSAgLyogd2Ugb25seSBBQ0sgaWYgZWFjaCBJTlNFUlQgaXMgYSBzZXBhcmF0ZSB0cmFuc2FjdGlvbiAqLworLSAgaWYgKChzZWxmLT5mbGFncyAmIEFGU1FMX0RERl9FWFBMSUNJVF9DT01NSVRTKSA9PSAwKQorLSAgICBsb2dfbXNnX2Fjayhtc2csICZwYXRoX29wdGlvbnMpOworLSAgbG9nX21zZ191bnJlZihtc2cpOworLSAgc3RlcF9zZXF1ZW5jZV9udW1iZXIoJnNlbGYtPnNlcV9udW0pOworLSAgc2VsZi0+ZmFpbGVkX21lc3NhZ2VfY291bnRlciA9IDA7CisrICAgICAgICAgIHNlbGYtPmZhaWxlZF9tZXNzYWdlX2NvdW50ZXIrKzsKKysgICAgICAgIH0KKysgICAgICBlbHNlCisrICAgICAgICB7CisrICAgICAgICAgIG1zZ19lcnJvcigiTXVsdGlwbGUgZmFpbHVyZXMgd2hpbGUgaW5zZXJ0aW5nIHRoaXMgcmVjb3JkIGludG8gdGhlIGRhdGFiYXNlLCBtZXNzYWdlIGRyb3BwZWQiLAorKyAgICAgICAgICAgICAgICAgICAgZXZ0X3RhZ19pbnQoImF0dGVtcHRzIiwgc2VsZi0+bnVtX3JldHJpZXMpLAorKyAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisrICAgICAgICAgIHN0YXRzX2NvdW50ZXJfaW5jKHNlbGYtPmRyb3BwZWRfbWVzc2FnZXMpOworKyAgICAgICAgICBsb2dfbXNnX2Ryb3AobXNnLCAmcGF0aF9vcHRpb25zKTsKKysgICAgICAgICAgc2VsZi0+ZmFpbGVkX21lc3NhZ2VfY291bnRlciA9IDA7CisrICAgICAgICAgIHN1Y2Nlc3MgPSBUUlVFOworKyAgICAgICAgfQorKyAgICB9CisgCistICByZXR1cm4gVFJVRTsKKysgIHJldHVybiBzdWNjZXNzOworIH0KKyAKKyBzdGF0aWMgdm9pZAorQEAgLTg5NSw3ICs5NzgsNyBAQCBhZnNxbF9kZF9tZXNzYWdlX2JlY2FtZV9hdmFpbGFibGVfaW5fdGhlCisgc3RhdGljIHZvaWQKKyBhZnNxbF9kZF93YWl0X2Zvcl9zdXNwZW5zaW9uX3dha2V1cChBRlNxbERlc3REcml2ZXIgKnNlbGYpCisgeworLSAgLyogd2UgZ290IHN1c3BlbmRlZCwgcHJvYmFibHkgYmVjYXVzZSBvZiBhIGNvbm5lY3Rpb24gZXJyb3IsICAKKysgIC8qIHdlIGdvdCBzdXNwZW5kZWQsIHByb2JhYmx5IGJlY2F1c2Ugb2YgYSBjb25uZWN0aW9uIGVycm9yLAorICAgICogZHVyaW5nIHRoaXMgdGltZSB3ZSBvbmx5IGdldCB3YWtldXBzIGlmIHdlIG5lZWQgdG8gYmUKKyAgICAqIHRlcm1pbmF0ZWQuICovCisgICBpZiAoIXNlbGYtPmRiX3RocmVhZF90ZXJtaW5hdGUpCitAQCAtOTc0LDggKzEwNTcsNyBAQCBhZnNxbF9kZF9kYXRhYmFzZV90aHJlYWQoZ3BvaW50ZXIgYXJnKQorIAorICAgICAgIGFmc3FsX2RkX2NvbW1pdF90eG4oc2VsZik7CisgICAgIH0KKy0KKy0gZXhpdDoKKytleGl0OgorICAgYWZzcWxfZGRfZGlzY29ubmVjdChzZWxmKTsKKyAKKyAgIG1zZ192ZXJib3NlKCJEYXRhYmFzZSB0aHJlYWQgZmluaXNoZWQiLAorLS0gCisxLjguNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2NvbmZpZ3VyZS5hYy1hZGQtb3B0aW9uLWVuYWJsZS10aHJlYWQtdGxzLXRvLW1hbmFnZS0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9jb25maWd1cmUuYWMtYWRkLW9wdGlvbi1lbmFibGUtdGhyZWFkLXRscy10by1tYW5hZ2UtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjOGQxMTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9jb25maWd1cmUuYWMtYWRkLW9wdGlvbi1lbmFibGUtdGhyZWFkLXRscy10by1tYW5hZ2UtLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK2NvbmZpZ3VyZS5hYzogYWRkIG9wdGlvbiAtLWVuYWJsZS10aHJlYWQtdGxzIHRvIG1hbmFnZSB0aHJlYWQgc3NsIHN1cHBvcnQKKworQWRkIG9wdGlvbiAtLWVuYWJsZS10aHJlYWQtdGxzIHRvIG1hbmFnZSB0aGUgaW5jbHVkaW5nIG9mIHRocmVhZAorbG9jYWwgc3RvcmFnZSwgc28gd2UgY291bGQgZXhwbGljaXRseSBkaXNhYmxlIGl0LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMTcgKysrKysrKysrKystLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNDc0ZTA5NC4uY2VkY2E1NCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTIwLDYgKzEyMCw5IEBAIEFDX0FSR19FTkFCTEUobWVtdHJhY2UsCisgQUNfQVJHX0VOQUJMRShzc2wsCisgICAgICAgICAgICAgICBbICAtLWVuYWJsZS1zc2wgICAgICAgIEVuYWJsZSBTU0wgc3VwcG9ydC5dLCxlbmFibGVfc3NsPSJhdXRvIikKKyAKKytBQ19BUkdfRU5BQkxFKHRocmVhZC10bHMsCisrICAgICAgICAgICAgICBbICAtLWVuYWJsZS10aHJlYWQtdGxzICAgICAgICBFbmFibGUgVGhyZWFkIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSBzdXBwb3J0Ll0sLGVuYWJsZV90aHJlYWRfdGxzPSJubyIpCisrCisgQUNfQVJHX0VOQUJMRShkeW5hbWljLWxpbmtpbmcsCisgICAgICAgICAgICAgICBbICAtLWVuYWJsZS1keW5hbWljLWxpbmtpbmcgICAgICAgIExpbmsgZXZlcnl0aGluZyBkeW5hbWljYWxseS5dLCxlbmFibGVfZHluYW1pY19saW5raW5nPSJhdXRvIikKKyAKK0BAIC0zODEsMTIgKzM4NCwxNCBAQCBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgZG5sIElzIHRoZSBfX3RocmVhZCBrZXl3b3JkIGF2YWlsYWJsZT8KKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCistQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTSgKKy1bWyNpbmNsdWRlIDxwdGhyZWFkLmg+CistX190aHJlYWQgaW50IGE7CistXV0sCistW2E9MDtdKV0sCistW2FjX2N2X2hhdmVfdGxzPXllczsgQUNfREVGSU5FX1VOUVVPVEVEKEhBVkVfVEhSRUFEX0tFWVdPUkQsIDEsICJXaGV0aGVyIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSBpcyBzdXBwb3J0ZWQgYnkgdGhlIHN5c3RlbSIpXSkKKytpZiB0ZXN0ICJ4JGVuYWJsZV90aHJlYWRfdGxzIiAhPSAieG5vIjsgdGhlbgorKyAgICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKAorKyAgICBbWyNpbmNsdWRlIDxwdGhyZWFkLmg+CisrICAgIF9fdGhyZWFkIGludCBhOworKyAgICBdXSwKKysgICAgW2E9MDtdKV0sCisrICAgIFthY19jdl9oYXZlX3Rscz15ZXM7IEFDX0RFRklORV9VTlFVT1RFRChIQVZFX1RIUkVBRF9LRVlXT1JELCAxLCAiV2hldGhlciBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkgaXMgc3VwcG9ydGVkIGJ5IHRoZSBzeXN0ZW0iKV0pCisrZmkKKyAKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgZG5sIEhvdyB0byBkbyBzdGF0aWMgbGlua2luZz8KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwOWY1OGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorSW5kZXg6IHN5c2xvZy1uZy0zLjUuNC4xL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHN5c2xvZy1uZy0zLjUuNC4xLm9yaWcvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMTM6NDk6MzYuNzk0MTQxNDQxICswMDAwCisrKysgc3lzbG9nLW5nLTMuNS40LjEvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMTQ6MjM6NTcuNzM4MTk3NjA2ICswMDAwCitAQCAtOCw3ICs4LDggQEAgZG5sIFNOQVBTSE9UX1ZFUlNJT04gICAtIHNuYXBzaG90IHZlcnNpb24gdG8gYWRkIHRvIHZlcnNpb24gbnVtYmVyCisgZG5sIEJJTkFSWV9CUkFOQ0ggICAgICAtIHRoZSB2YWx1ZSBpcyBhZGRlZCB0byBhbGwgc291cmNlL2JpbmFyeSBwYWNrYWdlcworIGRubCBTT1VSQ0VfUkVWSVNJT04gICAgLSBSZXZpc2lvbiBvZiB0aGUgc291cmNlLXRyZWUsIHdpbGwgYWRkZWQgdG8gdGhlIHZlcnNpb24gc3RyaW5nCisgZG5sCistQUNfSU5JVChzeXNsb2ctbmcvbWFpbi5jKQorK0FDX0lOSVQoc3lzbG9nLW5nLCAzLjUuNC4xKQorK0FDX0NPTkZJR19TUkNESVIoc3lzbG9nLW5nL21haW4uYykKKyBBQ19DT05GSUdfTUFDUk9fRElSKFttNF0pCisgbTRfaWZkZWYoW0FNX1NJTEVOVF9SVUxFU10sIFtBTV9TSUxFTlRfUlVMRVMoW3llc10pXSkKKyAKK0BAIC01Myw3ICs1NCw3IEBAIGVsc2UKKyAgICAgICAgIENVUlJEQVRFPWBkYXRlICsiJWEsICVkICViICVZICVIOiVNOiVTICVaImAKKyBmaQorIAorLUFNX0lOSVRfQVVUT01BS0UoJFBBQ0tBR0UsICRWRVJTSU9OLCBbZm9yZWlnbiBuby1kZWZpbmUgc3ViZGlyLW9iamVjdHNdKQorK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ24gbm8tZGVmaW5lIHN1YmRpci1vYmplY3RzXSkKKyBfQU1fUFJPR19UQVIoW3VzdGFyXSkKKyBpZiB0ZXN0IC1uICIkU05BUFNIT1RfVkVSU0lPTiI7IHRoZW4KKyAJVkVSU0lPTj0kVkVSU0lPTiskU05BUFNIT1RfVkVSU0lPTgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZGJpZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZGJpZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1ZGZiNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9kYmlmaXgucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorSW5kZXg6IHN5c2xvZy1uZy0zLjUuNC4xL2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHN5c2xvZy1uZy0zLjUuNC4xLm9yaWcvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMTQ6MzU6MDMuMTM0MjE1NzQwICswMDAwCisrKysgc3lzbG9nLW5nLTMuNS40LjEvY29uZmlndXJlLmFjCTIwMTQtMDctMTggMTU6MzE6NTIuNTEwMzA4NjUzICswMDAwCitAQCAtNTc2LDEzICs1NzYsMTQgQEAKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCisgQUNfQ0hFQ0tfTElCKGRsLCBkbHN5bSwgRExfTElCUz0iLWxkbCIpCisraWYgdGVzdCAieCRlbmFibGVfc3FsIiAhPSAieG5vIjsgdGhlbgorIFBLR19DSEVDS19NT0RVTEVTKExJQkRCSSwgZGJpID49ICRMSUJEQklfTUlOX1ZFUlNJT04sIGxpYmRiaV9wa2djb25maWdfbm90X2ZvdW5kPSIwIiwgbGliZGJpX3BrZ2NvbmZpZ19ub3RfZm91bmQ9IjEiKQorIAorIGlmIHRlc3QgIiRsaWJkYmlfcGtnY29uZmlnX25vdF9mb3VuZCIgLWVxIDE7IHRoZW4KKyAJZG5sIGlmIGxpYmRiaSBoYXMgbm8gLnBjIGZpbGUsIHRyeSBpdCB3aXRob3V0IG9uZQorIAlBQ19DSEVDS19MSUIoZGJpLCBkYmlfaW5pdGlhbGl6ZSwgTElCREJJX0xJQlM9Ii1sZGJpIjsgTElCREJJX0NGTEFHUz0iLUkvdXNyL2luY2x1ZGUiKQorIGZpCistCisrZmkKKyBpZiB0ZXN0ICJ4JGVuYWJsZV9zcWwiID0gInhhdXRvIjsgdGhlbgorIAlBQ19NU0dfQ0hFQ0tJTkcod2hldGhlciB0byBlbmFibGUgU1FMIHN1cHBvcnQpCisgCWlmIHRlc3QgIngkTElCREJJX0xJQlMiICE9ICJ4IjsgdGhlbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZGVpbml0LXRoZS1uZXctY29uZmlnLXdoZW4tcmV2ZXJ0aW5nLXRvLXRoZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2RlaW5pdC10aGUtbmV3LWNvbmZpZy13aGVuLXJldmVydGluZy10by10aGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDg0YWY3ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2RlaW5pdC10aGUtbmV3LWNvbmZpZy13aGVuLXJldmVydGluZy10by10aGUucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSA4Njg0MmRmOGJmZjVjOTdlNDRmYzU1ZDJmYjdmYzZjMTBmNTZhYjg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogR2VyZ2VseSBOYWd5IDxhbGdlcm5vbkBiYWxhYml0Lmh1PgorRGF0ZTogRnJpLCAxMyBEZWMgMjAxMyAxMzo0NjoxNSArMDEwMAorU3ViamVjdDogW1BBVENIXSBtYWlubG9vcDogRGVpbml0IHRoZSBuZXcgY29uZmlnIHdoZW4gcmV2ZXJ0aW5nIHRvIHRoZSBvbGQgb25lCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworV2hlbiByZWxvYWRpbmcsIGFuZCB0aGUgbmV3IGNvbmZpZyBmYWlscywgZGVpbml0IGl0IGJlZm9yZSBpbml0aWFsaXppbmcKK3RoZSBvbGQgY29uZmlnLiBUaGlzIGlzIHNvIHRoYXQgY29uZmxpY3RpbmcgdGhpbmdzIGRvIG5vdCByZW1haW4gaGVsZCBieQordGhlIGhhbGYtaW5pdGlhbGl6ZWQgbmV3IGNvbmZpZywgd2hpbGUgdGhlIG9sZCB0cmllcyB0byB0YWtlIGl0CitvdmVyLiAoSXQgYWxzbyByZW1vdmVkIGEgY291cGxlIG9mIG1lbW9yeSBsZWFrcywgbW9zdCBsaWtlbHkuKQorCitUaGUgcmVhc29uIHdlIGNhbiBkbyB0aGlzLCBpcyBiZWNhdXNlIGNmZ190cmVlX3N0b3AoKSAoY2FsbGVkIGJ5CitjZmdfZGVpbml0KCkpIGdvZXMgb3ZlciBhbGwgdGhlIGtub3duIG5vZGVzLCBhbmQgbG9nX3BpcGVfZGVpbml0KCkgaXMKK2Fsc28gc21hcnQgZW5vdWdoIHRvIG5vdCBkZWluaXQgYSBub2RlIHRoYXQgaGFzIG5vdCBiZWVuIGluaXRlZCBiZWZvcmUuCisKK1NpZ25lZC1vZmYtYnk6IEdlcmdlbHkgTmFneSA8YWxnZXJub25AYmFsYWJpdC5odT4KKy0tLQorIGxpYi9tYWlubG9vcC5jIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9saWIvbWFpbmxvb3AuYyBiL2xpYi9tYWlubG9vcC5jCitpbmRleCAzNDY1NWZhLi5lNmZiYjU5IDEwMDY0NAorLS0tIGEvbGliL21haW5sb29wLmMKKysrKyBiL2xpYi9tYWlubG9vcC5jCitAQCAtNTEwLDYgKzUxMCw3IEBAIG1haW5fbG9vcF9yZWxvYWRfY29uZmlnX2FwcGx5KHZvaWQpCisgICAgIHsKKyAgICAgICBtc2dfZXJyb3IoIkVycm9yIGluaXRpYWxpemluZyBuZXcgY29uZmlndXJhdGlvbiwgcmV2ZXJ0aW5nIHRvIG9sZCBjb25maWciLCBOVUxMKTsKKyAgICAgICBjZmdfcGVyc2lzdF9jb25maWdfbW92ZShtYWluX2xvb3BfbmV3X2NvbmZpZywgbWFpbl9sb29wX29sZF9jb25maWcpOworKyAgICAgIGNmZ19kZWluaXQobWFpbl9sb29wX25ld19jb25maWcpOworICAgICAgIGlmICghY2ZnX2luaXQobWFpbl9sb29wX29sZF9jb25maWcpKQorICAgICAgICAgeworICAgICAgICAgICAvKiBobW0uIGhtbW0sIGVycm9yIHJlaW5pdGlhbGl6aW5nIG9sZCBjb25maWd1cmF0aW9uLCB3ZSdyZSBob3NlZC4KKy0tIAorMS44LjQuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9maXgtYS1tZW1vcnktbGVhay1pbi1sb2dfZHJpdmVyX2ZyZWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9maXgtYS1tZW1vcnktbGVhay1pbi1sb2dfZHJpdmVyX2ZyZWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjYwMzQ3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZpeC1hLW1lbW9yeS1sZWFrLWluLWxvZ19kcml2ZXJfZnJlZS5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIGEyNjk2NjliYTNjYjZkMWMwNmEzMzIyYjRhNmEwMzVjYjc4N2QwODUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBHZXJnZWx5IE5hZ3kgPGFsZ2Vybm9uQGJhbGFiaXQuaHU+CitEYXRlOiBUdWUsIDE0IEphbiAyMDE0IDEzOjU4OjA1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRyaXZlcjogRml4IGEgbWVtb3J5IGxlYWsgaW4gbG9nX2RyaXZlcl9mcmVlKCkKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitBZnRlciBmcmVlaW5nIHVwIHRoZSBtZW1iZXJzIG9mIHNlbGYtPnBsdWdpbnMsIGZyZWUgc2VsZi0+cGx1Z2lucyBpdHNlbGYKK3Rvby4KKworU2lnbmVkLW9mZi1ieTogR2VyZ2VseSBOYWd5IDxhbGdlcm5vbkBiYWxhYml0Lmh1PgorLS0tCisgbGliL2RyaXZlci5jIHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliL2RyaXZlci5jIGIvbGliL2RyaXZlci5jCitpbmRleCBkNzdmZTU3Li5hNjg2N2I5IDEwMDY0NAorLS0tIGEvbGliL2RyaXZlci5jCisrKysgYi9saWIvZHJpdmVyLmMKK0BAIC05MSw2ICs5MSwxMCBAQCBsb2dfZHJpdmVyX2ZyZWUoTG9nUGlwZSAqcykKKyAgICAgeworICAgICAgIGxvZ19kcml2ZXJfcGx1Z2luX2ZyZWUoKExvZ0RyaXZlclBsdWdpbiAqKSBsLT5kYXRhKTsKKyAgICAgfQorKyAgaWYgKHNlbGYtPnBsdWdpbnMpCisrICAgIHsKKysgICAgICBnX2xpc3RfZnJlZShzZWxmLT5wbHVnaW5zKTsKKysgICAgfQorICAgaWYgKHNlbGYtPmdyb3VwKQorICAgICBnX2ZyZWUoc2VsZi0+Z3JvdXApOworICAgaWYgKHNlbGYtPmlkKQorLS0gCisxLjguNC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZpeC1jb25maWctbGlibmV0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZml4LWNvbmZpZy1saWJuZXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzU1ODAzYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZpeC1jb25maWctbGlibmV0LnBhdGNoCkBAIC0wLDAgKzEsNjYgQEAKK1N1YmplY3Q6IFtQQVRDSF0gYWRkIGxpYm5ldCBlbmFibGUgb3B0aW9uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitUaGlzIHdvdWxkIGF2b2lkIGEgaW1wbGljaXQgYXV0by1kZXRlY3RpbmcgcmVzdWx0LgorCitTaWduZWQtb2ZmLWJ5OiBNaW5nIExpdSA8bWluZy5saXVAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAgIDI3ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGIxZTE4YjQuLjhlMTMwMjUgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTczLDYgKzczLDkgQEAgQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmgpCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCBBcmd1bWVudHMKKyAKKytBQ19BUkdfRU5BQkxFKGxpYm5ldCwgCisrICAgICAgICAgICAgICBbICAtLWVuYWJsZS1saWJuZXQgICAgICBFbmFibGUgbGlibmV0IHN1cHBvcnQuXSwsIGVuYWJsZV9saWJuZXQ9Im5vIikKKysKKyBBQ19BUkdfV0lUSChsaWJuZXQsCisgICAgWyAgLS13aXRoLWxpYm5ldD1wYXRoICAgICAgdXNlIHBhdGggdG8gbGlibmV0LWNvbmZpZyBzY3JpcHRdLAorICAgICwKK0BAIC03NjgsMjIgKzc3MSwyNiBAQCBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgZG5sIGxpYm5ldCBoZWFkZXJzL2xpYnJhcmllcworIGRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyBBQ19NU0dfQ0hFQ0tJTkcoZm9yIExJQk5FVCkKKy1pZiB0ZXN0ICJ4JHdpdGhfbGlibmV0IiA9ICJ4IjsgdGhlbgorLSAgICAgICAgTElCTkVUX0NPTkZJRz0iYHdoaWNoIGxpYm5ldC1jb25maWdgIgorLWVsc2UKKy0gICAgICAgIExJQk5FVF9DT05GSUc9IiR3aXRoX2xpYm5ldC9saWJuZXQtY29uZmlnIgorLWZpCisraWYgdGVzdCAieCRlbmFibGVfbGlibmV0IiA9IHh5ZXM7IHRoZW4KKysgICAgICAgIGlmIHRlc3QgIngkd2l0aF9saWJuZXQiID0gIngiOyB0aGVuCisrICAgICAgICAgICAgICAgIExJQk5FVF9DT05GSUc9ImB3aGljaCBsaWJuZXQtY29uZmlnYCIKKysgICAgICAgIGVsc2UKKysgICAgICAgICAgICAgICAgTElCTkVUX0NPTkZJRz0iJHdpdGhfbGlibmV0L2xpYm5ldC1jb25maWciCisrICAgICAgICBmaQorKyAKKysgICAgICAgIGlmIHRlc3QgLW4gIiRMSUJORVRfQ09ORklHIiAtYSAteCAiJExJQk5FVF9DT05GSUciOyB0aGVuCisrICAgICAgICAgICAgICAgIExJQk5FVF9DRkxBR1M9ImAkTElCTkVUX0NPTkZJRyAtLWRlZmluZXNgIgorKyAgICAgICAgICAgICAgICBMSUJORVRfTElCUz0iYCRMSUJORVRfQ09ORklHIC0tbGlic2AiCisrICAgICAgICAgICAgICAgIEFDX01TR19SRVNVTFQoeWVzKQorKyAgICAgICAgZWxzZQorKyAgICAgICAgICAgICAgICBBQ19NU0dfRVJST1IoW0NvdWxkIG5vdCBmaW5kIGxpYm5ldCwgYW5kIGxpYm5ldCBzdXBwb3J0IHdhcyBleHBsaWNpdGx5IGVuYWJsZWQuXSkKKysgICAgICAgIGZpCisgCistaWYgdGVzdCAtbiAiJExJQk5FVF9DT05GSUciIC1hIC14ICIkTElCTkVUX0NPTkZJRyI7IHRoZW4KKy0gICAgICAgIExJQk5FVF9DRkxBR1M9ImAkTElCTkVUX0NPTkZJRyAtLWRlZmluZXNgIgorLSAgICAgICAgTElCTkVUX0xJQlM9ImAkTElCTkVUX0NPTkZJRyAtLWxpYnNgIgorLSAgICAgICAgQUNfTVNHX1JFU1VMVCh5ZXMpCisgZWxzZQorICAgICAgICAgTElCTkVUX0xJQlM9CisgICAgICAgICBBQ19NU0dfUkVTVUxUKG5vKQorIGZpCisgCistCisgaWYgdGVzdCAieCRlbmFibGVfc3Bvb2Zfc291cmNlIiA9ICJ4YXV0byI7IHRoZW4KKyAJQUNfTVNHX0NIRUNLSU5HKHdoZXRoZXIgdG8gZW5hYmxlIHNwb29mIHNvdXJjZSBzdXBwb3J0KQorICAgICAgICAgaWYgdGVzdCAieCRMSUJORVRfTElCUyIgIT0gIngiOyB0aGVuCistLSAKKzEuNy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZpeC1pbnZhbGlkLW93bmVyc2hpcC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZpeC1pbnZhbGlkLW93bmVyc2hpcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWY5NjcyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvZml4LWludmFsaWQtb3duZXJzaGlwLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK3N5c2xvZy1uZzogZml4IHdyb25nIG93bmVyc2hpcCBpc3N1ZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworVGhlIG93bmVyc2hpcCBvZiBidWlsZCB1c2VyIGlzIHByZXNlcnZlZCBmb3Igc29tZSB0YXJnZXQgZmlsZXMsIGZpeGVkIGl0IGJ5CithZGRpbmcgLS1uby1zYW1lLW93bmVyIG9wdGlvbiB0byB0YXIgd2hlbiBleHRyYWN0aW5nIGZpbGVzLiAKKworU2lnbmVkLW9mZi1ieTogTWluZyBMaXUgPG1pbmcubGl1QHdpbmRyaXZlci5jb20+CistLS0KKyBzY2wvTWFrZWZpbGUuYW0gfCAgICAyICstCisgMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zY2wvTWFrZWZpbGUuYW0gYi9zY2wvTWFrZWZpbGUuYW0KK2luZGV4IDU3ZmFkNWQuLjJhMjljYTUgMTAwNjQ0CistLS0gYS9zY2wvTWFrZWZpbGUuYW0KKysrKyBiL3NjbC9NYWtlZmlsZS5hbQorQEAgLTE0LDcgKzE0LDcgQEAgc2NsLWluc3RhbGwtZGF0YS1sb2NhbDoKKyAJCWZpOyBcCisgCWRvbmUKKyAJJChta2luc3RhbGxkaXJzKSAkKERFU1RESVIpLyQoc2NsZGlyKQorLQkoY2QgJChzcmNkaXIpL3NjbDsgdGFyIGNmIC0gJChTQ0xfU1VCRElSUykpIHwgKGNkICQoREVTVERJUikvJChzY2xkaXIpICYmIHRhciB4ZiAtKQorKwkoY2QgJChzcmNkaXIpL3NjbDsgdGFyIGNmIC0gJChTQ0xfU1VCRElSUykpIHwgKGNkICQoREVTVERJUikvJChzY2xkaXIpICYmIHRhciB4ZiAtIC0tbm8tc2FtZS1vd25lcikKKyAJY2htb2QgLVIgdStyd1ggJChERVNURElSKS8kKHNjbGRpcikKKyAKKyBzY2wtdW5pbnN0YWxsLWxvY2FsOgorLS0gCisxLjcuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9mcmVlLWdsb2JhbC1Mb2dUZW1wbGF0ZU9wdGlvbnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9mcmVlLWdsb2JhbC1Mb2dUZW1wbGF0ZU9wdGlvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQzOWEyNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2ZyZWUtZ2xvYmFsLUxvZ1RlbXBsYXRlT3B0aW9ucy5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIDNlZjZjYTgwNDQyNjBjNzcxMThlZGNhNmRlYWQ4MDdhMmVkY2I1ZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBCYWxhenMgU2NoZWlkbGVyIDxiYXpzaUBiYWxhYml0Lmh1PgorRGF0ZTogVGh1LCAzMSBPY3QgMjAxMyAxMzoyMDoxMiArMDEwMAorU3ViamVjdDogW1BBVENIXSBjZmc6IGZyZWUgZ2xvYmFsIExvZ1RlbXBsYXRlT3B0aW9ucworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1RoaXMgZml4ZXMgYSBwb3RlbnRpYWwgbWVtb3J5IGxlYWsgd2hlbiBnbG9iYWwgdGVtcGxhdGUgc3BlY2lmaWMKK29wdGlvbnMgd2VyZSBzcGVjaWZpZWQsIHN1Y2ggYXMgbG9jYWwtdGltZS16b25lKCksIHNlbmQtdGltZS16b25lKCkgZXRjLgorCitTaWduZWQtb2ZmLWJ5OiBCYWxhenMgU2NoZWlkbGVyIDxiYXpzaUBiYWxhYml0Lmh1PgorLS0tCisgbGliL2NmZy5jIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9saWIvY2ZnLmMgYi9saWIvY2ZnLmMKK2luZGV4IDdmMDQwYjguLmFkZWFhZjggMTAwNjQ0CistLS0gYS9saWIvY2ZnLmMKKysrKyBiL2xpYi9jZmcuYworQEAgLTQxMSw2ICs0MTEsNyBAQCBjZmdfZnJlZShHbG9iYWxDb25maWcgKnNlbGYpCisgICBnX2ZyZWUoc2VsZi0+cHJvdG9fdGVtcGxhdGVfbmFtZSk7ICAKKyAgIGxvZ190ZW1wbGF0ZV91bnJlZihzZWxmLT5maWxlX3RlbXBsYXRlKTsKKyAgIGxvZ190ZW1wbGF0ZV91bnJlZihzZWxmLT5wcm90b190ZW1wbGF0ZSk7CisrICBsb2dfdGVtcGxhdGVfb3B0aW9uc19kZXN0cm95KCZzZWxmLT50ZW1wbGF0ZV9vcHRpb25zKTsKKyAKKyAgIGlmIChzZWxmLT5iYWRfaG9zdG5hbWVfY29tcGlsZWQpCisgICAgIHJlZ2ZyZWUoJnNlbGYtPmJhZF9ob3N0bmFtZSk7CistLSAKKzEuOC40LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvaW5pdHNjcmlwdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2luaXRzY3JpcHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTEwMDMwZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL2luaXRzY3JpcHQKQEAgLTAsMCArMSw2MiBAQAorIyEgL2Jpbi9zaAorIworIyBUaGlzIGlzIGFuIGluaXQgc2NyaXB0IGZvciBvcGVuZW1iZWRkZWQKKyMgQ29weSBpdCB0byAvZXRjL2luaXQuZC9zeXNsb2ctbmcgYW5kIHR5cGUKKyMgPiB1cGRhdGUtcmMuZCBzeXNsb2ctbmcgZGVmYXVsdHMgNQorIworCisjIFNvdXJjZSBmdW5jdGlvbiBsaWJyYXJ5CisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCitzeXNsb2dfbmc9L3Vzci9zYmluL3N5c2xvZy1uZwordGVzdCAteCAiJHN5c2xvZ19uZyIgfHwgZXhpdCAwCisKK1BJREZJTEU9L3Zhci9ydW4vc3lzbG9nLW5nL3N5c2xvZy1uZy5waWQKKworY3JlYXRlX3hjb25zb2xlKCkgeworICB0ZXN0IC1lIC9kZXYveGNvbnNvbGUgfHwgbWtub2QgLW0gNjQwIC9kZXYveGNvbnNvbGUgcAorICB0ZXN0IC14IC9zYmluL3Jlc3RvcmVjb24gJiYgL3NiaW4vcmVzdG9yZWNvbiAvZGV2L3hjb25zb2xlCit9CisKK1JFVFZBTD0wCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBbICIke1ZFUkJPU0V9IiAhPSAibm8iIF0gJiYgZWNobyAtbiAiU3RhcnRpbmcgc3lzbG9nLW5nOiIKKyAgICBjcmVhdGVfeGNvbnNvbGUKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFIC0tZXhlYyAkc3lzbG9nX25nCisgICAgWyAiJHtWRVJCT1NFfSIgIT0gIm5vIiBdICYmIGVjaG8gIi4iCisgICAgOzsKKyAgc3RvcCkKKyAgICBbICIke1ZFUkJPU0V9IiAhPSAibm8iIF0gJiYgZWNobyAtbiAiU3RvcHBpbmcgc3lzbG9nLW5nOiIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXBpZGZpbGUgJFBJREZJTEUKKyAgICBbICIke1ZFUkJPU0V9IiAhPSAibm8iIF0gJiYgZWNobyAiLiIKKyAgICA7OworICByZWxvYWR8Zm9yY2UtcmVsb2FkKQorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tc2lnbmFsIDEgLS1leGVjICRzeXNsb2dfbmcKKyAgICA7OworICByZXN0YXJ0KQorICAgIGVjaG8gIlN0b3BwaW5nIHN5c2xvZy1uZzoiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1waWRmaWxlICRQSURGSUxFCisgICAgZWNobyAtbiAiV2FpdGluZyBmb3Igc3lzbG9nLW5nIHRvIGRpZSBvZmYiCisgICAgZm9yIGkgaW4gMSAyIDMgOworICAgIGRvCisgICAgICAgIHNsZWVwIDEKKyAgICAgICAgZWNobyAtbiAiLiIKKyAgICBkb25lCisgICAgZWNobyAiIgorICAgIGVjaG8gLW4gIlN0YXJ0aW5nIHN5c2xvZy1uZzoiCisgICAgY3JlYXRlX3hjb25zb2xlCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tcGlkZmlsZSAkUElERklMRSAtLWV4ZWMgJHN5c2xvZ19uZworICAgIGVjaG8gIi4iCisgICAgOzsKKyAgc3RhdHVzKQorICAgIHN0YXR1cyAkc3lzbG9nX25nCisgICAgUkVUVkFMPSQ/CisgICAgOzsKKyAgKikKKyAgICBlY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8cmVsb2FkfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfHN0YXR1c30iCisgICAgZXhpdCAxCitlc2FjCisKK2V4aXQgJFJFVFZBTApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvbG9nd3JpdGVyLWRvbnQtYWxsb2NhdGUtYS1uZXctYnVmZmVyLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvbG9nd3JpdGVyLWRvbnQtYWxsb2NhdGUtYS1uZXctYnVmZmVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllM2Q2NGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9sb2d3cml0ZXItZG9udC1hbGxvY2F0ZS1hLW5ldy1idWZmZXIucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorbG9nd3JpdGVyOiBEb24ndCBhbGxvY2F0ZSBhIG5ldyBidWZmZXIgaWYgZmFpbHMgdG8gY29uc3VtZSBjdXJyZW50IGl0ZW0KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFh1ZmVuZyBaaGFuZyA8eHVmZW5nLnpoYW5nQHdpbmRyaXZlci5jb20+CistLS0KKy0tLSBhL2xpYi9sb2d3cml0ZXIuYworKysrIGIvbGliL2xvZ3dyaXRlci5jCitAQCAtMTAxMCw3ICsxMDEwLDcgQEAKKyAgICAgICAgIHsKKyAgICAgICAgICAgc3RhdHVzID0gbG9nX3Byb3RvX2NsaWVudF9wb3N0KHByb3RvLCAoZ3VjaGFyICopIHNlbGYtPmxpbmVfYnVmZmVyLT5zdHIsIHNlbGYtPmxpbmVfYnVmZmVyLT5sZW4sICZjb25zdW1lZCk7CisgCistICAgICAgICAgIGlmIChjb25zdW1lZCkKKysgICAgICAgICAgaWYgKGNvbnN1bWVkICYmIHN0YXR1cyAhPSBMUFNfRVJST1IpCisgICAgICAgICAgICAgbG9nX3dyaXRlcl9yZWFsbG9jX2xpbmVfYnVmZmVyKHNlbGYpOworIAorICAgICAgICAgICBpZiAoc3RhdHVzID09IExQU19FUlJPUikKK0BAIC0xMDI4LDcgKzEwMjgsNyBAQAorICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgIGNvbnN1bWVkID0gVFJVRTsKKyAgICAgICAgIH0KKy0gICAgICBpZiAoY29uc3VtZWQpCisrICAgICAgaWYgKGNvbnN1bWVkICYmIHN0YXR1cyAhPSBMUFNfRVJST1IpCisgICAgICAgICB7CisgICAgICAgICAgIGlmIChsbS0+ZmxhZ3MgJiBMRl9MT0NBTCkKKyAgICAgICAgICAgICBzdGVwX3NlcXVlbmNlX251bWJlcigmc2VsZi0+c2VxX251bSk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9yZXdyaXRlLWV4cHItZ3JhbW1hci55bS1GcmVlLXVwLXRva2VuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvcmV3cml0ZS1leHByLWdyYW1tYXIueW0tRnJlZS11cC10b2tlbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTUxYWY5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvcmV3cml0ZS1leHByLWdyYW1tYXIueW0tRnJlZS11cC10b2tlbi5wYXRjaApAQCAtMCwwICsxLDE3IEBACityZXdyaXRlLWV4cHItZ3JhbW1hci55bTogRnJlZSB1cCB0b2tlbi4KKworVXBzdGVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1JlcG9ydGVkLWJ5OiBYdWZlbmcgWmhhbmcgPHh1ZmVuZy56aGFuZ0B3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogVmlrdG9yIFR1c2EgPHR1c2F2aWtAZ21haWwuY29tPgorLS0tCistLS0gYS9saWIvcmV3cml0ZS9yZXdyaXRlLWV4cHItZ3JhbW1hci55bQorKysrIGIvbGliL3Jld3JpdGUvcmV3cml0ZS1leHByLWdyYW1tYXIueW0KK0BAIC03OCw2ICs3OCw3IEBACisgCisgCSAgICAkJCA9IGxvZ190ZW1wbGF0ZV9uZXcoY29uZmlndXJhdGlvbiwgJDEpOworIAkgICAgQ0hFQ0tfRVJST1IobG9nX3RlbXBsYXRlX2NvbXBpbGUoJCQsICQxLCAmZXJyb3IpLCBAMSwgIkVycm9yIGNvbXBpbGluZyB0ZW1wbGF0ZSAoJXMpIiwgZXJyb3ItPm1lc3NhZ2UpOworKyAgICAgICAgICAgIGZyZWUoJDEpOworIAkgIH0KKyAJOworIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3RpbGwtZnJlZS10aGUtdW5jb25zdW1lZC1pdGVtLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3RpbGwtZnJlZS10aGUtdW5jb25zdW1lZC1pdGVtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhMTg2ODIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9zdGlsbC1mcmVlLXRoZS11bmNvbnN1bWVkLWl0ZW0ucGF0Y2gKQEAgLTAsMCArMSw5MCBAQAorRnJvbSAzNjUwMjBjNWMwODIzYzkxYTgwMTFlMzQ1OTdmOTcwYTdjZmI0ZmIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVHVzYSBWaWt0b3IgPHR1c2F2aWtAZ21haWwuY29tPgorRGF0ZTogV2VkLCAyMyBBcHIgMjAxNCAxNzoxMDo1OCArMDAwMAorU3ViamVjdDogW1BBVENIXSBsb2d3cml0ZXI6IHN0aWxsIGZyZWUgdGhlIHVuY29uc3VtZWQgaXRlbSBkdXJpbmcgcmVsb2FkaW5nCisgY29uZmlndXJhdGlvbgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK090aGVyd2lzZSB3ZSBoYXZlIG5vIGNoYW5jZSB0byBmcmVlIHRoaXMgc3R1ZmYuCisKK1JlcG9ydGVkLWJ5OiBYdWZlbmcgWmhhbmcgPHh1ZmVuZy56aGFuZ0B3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogVHVzYSBWaWt0b3IgPHR1c2F2aWtAZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogR2VyZ2VseSBOYWd5IDxhbGdlcm5vbkBtYWRob3VzZS1wcm9qZWN0Lm9yZz4KKy0tLQorIGxpYi9sb2dwcm90by9sb2dwcm90by1jbGllbnQuaCAgICAgIHwgICAgMiArLQorIGxpYi9sb2dwcm90by9sb2dwcm90by10ZXh0LWNsaWVudC5jIHwgICAxMSArKysrKysrKysrKworIGxpYi9sb2d3cml0ZXIuYyAgICAgICAgICAgICAgICAgICAgIHwgICAgOSArKysrKysrLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWIvbG9ncHJvdG8vbG9ncHJvdG8tY2xpZW50LmggYi9saWIvbG9ncHJvdG8vbG9ncHJvdG8tY2xpZW50LmgKK2luZGV4IDI1NGVjZjkuLjVhZGM5MTcgMTAwNjQ0CistLS0gYS9saWIvbG9ncHJvdG8vbG9ncHJvdG8tY2xpZW50LmgKKysrKyBiL2xpYi9sb2dwcm90by9sb2dwcm90by1jbGllbnQuaAorQEAgLTQ3LDcgKzQ3LDYgQEAgdm9pZCBsb2dfcHJvdG9fY2xpZW50X29wdGlvbnNfZGVmYXVsdHMoTG9nUHJvdG9DbGllbnRPcHRpb25zICpvcHRpb25zKTsKKyB2b2lkIGxvZ19wcm90b19jbGllbnRfb3B0aW9uc19pbml0KExvZ1Byb3RvQ2xpZW50T3B0aW9ucyAqb3B0aW9ucywgR2xvYmFsQ29uZmlnICpjZmcpOworIHZvaWQgbG9nX3Byb3RvX2NsaWVudF9vcHRpb25zX2Rlc3Ryb3koTG9nUHJvdG9DbGllbnRPcHRpb25zICpvcHRpb25zKTsKKyAKKy0KKyBzdHJ1Y3QgX0xvZ1Byb3RvQ2xpZW50CisgeworICAgTG9nUHJvdG9TdGF0dXMgc3RhdHVzOworQEAgLTEwNyw2ICsxMDYsNyBAQCBsb2dfcHJvdG9fY2xpZW50X3Jlc2V0X2Vycm9yKExvZ1Byb3RvQ2xpZW50ICpzKQorIGdib29sZWFuIGxvZ19wcm90b19jbGllbnRfdmFsaWRhdGVfb3B0aW9ucyhMb2dQcm90b0NsaWVudCAqc2VsZik7Cisgdm9pZCBsb2dfcHJvdG9fY2xpZW50X2luaXQoTG9nUHJvdG9DbGllbnQgKnMsIExvZ1RyYW5zcG9ydCAqdHJhbnNwb3J0LCBjb25zdCBMb2dQcm90b0NsaWVudE9wdGlvbnMgKm9wdGlvbnMpOworIHZvaWQgbG9nX3Byb3RvX2NsaWVudF9mcmVlKExvZ1Byb3RvQ2xpZW50ICpzKTsKKyt2b2lkIGxvZ19wcm90b19jbGllbnRfZnJlZV9tZXRob2QoTG9nUHJvdG9DbGllbnQgKnMpOworIAorICNkZWZpbmUgREVGSU5FX0xPR19QUk9UT19DTElFTlQocHJlZml4KSBcCisgICBzdGF0aWMgZ3BvaW50ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorZGlmZiAtLWdpdCBhL2xpYi9sb2dwcm90by9sb2dwcm90by10ZXh0LWNsaWVudC5jIGIvbGliL2xvZ3Byb3RvL2xvZ3Byb3RvLXRleHQtY2xpZW50LmMKK2luZGV4IDMyNDg3NTkuLmE1MTAwZjMgMTAwNjQ0CistLS0gYS9saWIvbG9ncHJvdG8vbG9ncHJvdG8tdGV4dC1jbGllbnQuYworKysrIGIvbGliL2xvZ3Byb3RvL2xvZ3Byb3RvLXRleHQtY2xpZW50LmMKK0BAIC0xNDYsMTIgKzE0NiwyMyBAQCBsb2dfcHJvdG9fdGV4dF9jbGllbnRfcG9zdChMb2dQcm90b0NsaWVudCAqcywgZ3VjaGFyICptc2csIGdzaXplIG1zZ19sZW4sIGdib29sZQorIH0KKyAKKyB2b2lkCisrbG9nX3Byb3RvX3RleHRfY2xpZW50X2ZyZWUoTG9nUHJvdG9DbGllbnQgKnMpCisreworKyAgTG9nUHJvdG9UZXh0Q2xpZW50ICpzZWxmID0gKExvZ1Byb3RvVGV4dENsaWVudCAqKXM7CisrICBpZiAoc2VsZi0+cGFydGlhbF9mcmVlKQorKyAgICBzZWxmLT5wYXJ0aWFsX2ZyZWUoc2VsZi0+cGFydGlhbCk7CisrICBzZWxmLT5wYXJ0aWFsID0gTlVMTDsKKysgIGxvZ19wcm90b19jbGllbnRfZnJlZV9tZXRob2Qocyk7CisrfTsKKysKKyt2b2lkCisgbG9nX3Byb3RvX3RleHRfY2xpZW50X2luaXQoTG9nUHJvdG9UZXh0Q2xpZW50ICpzZWxmLCBMb2dUcmFuc3BvcnQgKnRyYW5zcG9ydCwgY29uc3QgTG9nUHJvdG9DbGllbnRPcHRpb25zICpvcHRpb25zKQorIHsKKyAgIGxvZ19wcm90b19jbGllbnRfaW5pdCgmc2VsZi0+c3VwZXIsIHRyYW5zcG9ydCwgb3B0aW9ucyk7CisgICBzZWxmLT5zdXBlci5wcmVwYXJlID0gbG9nX3Byb3RvX3RleHRfY2xpZW50X3ByZXBhcmU7CisgICBzZWxmLT5zdXBlci5mbHVzaCA9IGxvZ19wcm90b190ZXh0X2NsaWVudF9mbHVzaDsKKyAgIHNlbGYtPnN1cGVyLnBvc3QgPSBsb2dfcHJvdG9fdGV4dF9jbGllbnRfcG9zdDsKKysgIHNlbGYtPnN1cGVyLmZyZWVfZm4gPSBsb2dfcHJvdG9fdGV4dF9jbGllbnRfZnJlZTsKKyAgIHNlbGYtPnN1cGVyLnRyYW5zcG9ydCA9IHRyYW5zcG9ydDsKKyAgIHNlbGYtPm5leHRfc3RhdGUgPSAtMTsKKyB9CitkaWZmIC0tZ2l0IGEvbGliL2xvZ3dyaXRlci5jIGIvbGliL2xvZ3dyaXRlci5jCitpbmRleCAzMjkyZTMxLi40NzBiY2RiIDEwMDY0NAorLS0tIGEvbGliL2xvZ3dyaXRlci5jCisrKysgYi9saWIvbG9nd3JpdGVyLmMKK0BAIC0xMDYzLDggKzEwNjMsMTMgQEAgbG9nX3dyaXRlcl9mbHVzaChMb2dXcml0ZXIgKnNlbGYsIExvZ1dyaXRlckZsdXNoTW9kZSBmbHVzaF9tb2RlKQorICAgICAgICAgfQorICAgICAgIGVsc2UKKyAgICAgICAgIHsKKy0gICAgICAgICAgLyogcHVzaCBiYWNrIHRvIHRoZSBxdWV1ZSAqLworLSAgICAgICAgICBsb2dfcXVldWVfcHVzaF9oZWFkKHNlbGYtPnF1ZXVlLCBsbSwgJnBhdGhfb3B0aW9ucyk7CisrICAgICAgICAgIGlmIChmbHVzaF9tb2RlID09IExXX0ZMVVNIX1FVRVVFKQorKyAgICAgICAgICAgIGxvZ19tc2dfdW5yZWYobG0pOworKyAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgLyogcHVzaCBiYWNrIHRvIHRoZSBxdWV1ZSAqLworKyAgICAgICAgICAgICAgbG9nX3F1ZXVlX3B1c2hfaGVhZChzZWxmLT5xdWV1ZSwgbG0sICZwYXRoX29wdGlvbnMpOworKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgbXNnX3NldF9jb250ZXh0KE5VTEwpOworICAgICAgICAgICBsb2dfbXNnX3JlZmNhY2hlX3N0b3AoKTsKKyAgICAgICAgICAgYnJlYWs7CistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3N5c2xvZy1uZy12ZXJpZnktdGhlLWxpc3QtYmVmb3JlLWRlbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3N5c2xvZy1uZy12ZXJpZnktdGhlLWxpc3QtYmVmb3JlLWRlbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODExOWI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3lzbG9nLW5nLXZlcmlmeS10aGUtbGlzdC1iZWZvcmUtZGVsLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK1ZlcmlmeSB0aGUgdmFsaWRpdHkgb2YgdGhlIHBvaW50ZXIgYmVmb3JlIGRlbGV0ZSBpdAorCitPdGhlcndpc2UsIHdlIGdvdCBhIGNyYXNoIGF0IGxvZ3F1ZXVlLWZpZm8uYzozNDQKKyAgMzQ0IGl2X2xpc3RfZGVsKCZub2RlLT5saXN0KTsKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFh1ZmVuZyBaaGFuZyA8eHVmZW5nLnpoYW5nQHdpbmRyaXZlci5jb20+CistLS0KKy0tLSBhL2xpYi9sb2dxdWV1ZS1maWZvLmMKKysrKyBiL2xpYi9sb2dxdWV1ZS1maWZvLmMKK0BAIC0zMzksMTUgKzMzOSwxOCBAQAorICAgICAgICptc2cgPSBub2RlLT5tc2c7CisgICAgICAgcGF0aF9vcHRpb25zLT5hY2tfbmVlZGVkID0gbm9kZS0+YWNrX25lZWRlZDsKKyAgICAgICBzZWxmLT5xb3ZlcmZsb3dfb3V0cHV0X2xlbi0tOworLSAgICAgIGlmICghcHVzaF90b19iYWNrbG9nKQorKyAgICAgIGlmICgoJm5vZGUtPmxpc3QpICYmICgmbm9kZS0+bGlzdCktPm5leHQgJiYgKCZub2RlLT5saXN0KS0+cHJldikKKyAgICAgICAgIHsKKy0gICAgICAgICAgaXZfbGlzdF9kZWwoJm5vZGUtPmxpc3QpOworLSAgICAgICAgICBsb2dfbXNnX2ZyZWVfcXVldWVfbm9kZShub2RlKTsKKy0gICAgICAgIH0KKy0gICAgICBlbHNlCistICAgICAgICB7CistICAgICAgICAgIGl2X2xpc3RfZGVsX2luaXQoJm5vZGUtPmxpc3QpOworLSAgICAgICAgfQorKyAgICAgICAgICBpZiAoIXB1c2hfdG9fYmFja2xvZykKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICBpdl9saXN0X2RlbCgmbm9kZS0+bGlzdCk7CisrICAgICAgICAgICAgICBsb2dfbXNnX2ZyZWVfcXVldWVfbm9kZShub2RlKTsKKysgICAgICAgICAgICB9CisrICAgICAgICAgIGVsc2UKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICBpdl9saXN0X2RlbF9pbml0KCZub2RlLT5saXN0KTsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisgICAgIH0KKyAgIGVsc2UKKyAgICAgewpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3lzbG9nLW5nLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9zeXNsb2ctbmcuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGRhMmI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3lzbG9nLW5nLmNvbmYKQEAgLTAsMCArMSwxNTUgQEAKK0B2ZXJzaW9uOiAzLjUKKyMKKyMgU3lzbG9nLW5nIGNvbmZpZ3VyYXRpb24gZmlsZSwgY29tcGF0aWJsZSB3aXRoIGRlZmF1bHQgRGViaWFuIHN5c2xvZ2QKKyMgaW5zdGFsbGF0aW9uLiBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkgYW5vbnltb3VzIChJIGNhbid0IGZpbmQgaGlzIG5hbWUpCisjIFJldmlzZWQsIGFuZCByZXdyaXRlZCBieSBtZSAoU1pBTEFZIEF0dGlsYSA8c2FzYUBkZWJpYW4ub3JnPikKKworIyBGaXJzdCwgc2V0IHNvbWUgZ2xvYmFsIG9wdGlvbnMuCitvcHRpb25zIHsgY2hhaW5faG9zdG5hbWVzKG9mZik7IGZsdXNoX2xpbmVzKDApOyB1c2VfZG5zKG5vKTsgdXNlX2ZxZG4obm8pOworCSAgb3duZXIoInJvb3QiKTsgZ3JvdXAoImFkbSIpOyBwZXJtKDA2NDApOyBzdGF0c19mcmVxKDApOworCSAgYmFkX2hvc3RuYW1lKCJeZ2NvbmZkJCIpOworfTsKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFNvdXJjZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBUaGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHN5c2tsb2dkIHBhY2thZ2UKKyMgTG9ncyBtYXkgY29tZSBmcm9tIHVuaXggc3RyZWFtLCBidXQgbm90IGZyb20gYW5vdGhlciBtYWNoaW5lLgorIworc291cmNlIHNfc3JjIHsgdW5peC1kZ3JhbSgiL2Rldi9sb2ciKTsgaW50ZXJuYWwoKTsKKyAgICAgICAJICAgICBmaWxlKCIvcHJvYy9rbXNnIiBwcm9ncmFtX292ZXJyaWRlKCJrZXJuZWwiKSk7Cit9OworCisjIElmIHlvdSB3aXNoIHRvIGdldCBsb2dzIGZyb20gcmVtb3RlIG1hY2hpbmUgeW91IHNob3VsZCB1bmNvbW1lbnQKKyMgdGhpcyBhbmQgY29tbWVudCB0aGUgYWJvdmUgc291cmNlIGxpbmUuCisjCisjc291cmNlIHNfbmV0IHsgdGNwKGlwKDEyNy4wLjAuMSkgcG9ydCgxMDAwKSBhdXRoZW50aWNhdGlvbihyZXF1aXJlZCkgZW5jcnlwdChhbGxvdykpOyB9OworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgRGVzdGluYXRpb25zCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgRmlyc3Qgc29tZSBzdGFuZGFyZCBsb2dmaWxlCisjCitkZXN0aW5hdGlvbiBkX2F1dGggeyBmaWxlKCIvdmFyL2xvZy9hdXRoLmxvZyIpOyB9OworZGVzdGluYXRpb24gZF9jcm9uIHsgZmlsZSgiL3Zhci9sb2cvY3Jvbi5sb2ciKTsgfTsKK2Rlc3RpbmF0aW9uIGRfZGFlbW9uIHsgZmlsZSgiL3Zhci9sb2cvZGFlbW9uLmxvZyIpOyB9OworZGVzdGluYXRpb24gZF9rZXJuIHsgZmlsZSgiL3Zhci9sb2cva2Vybi5sb2ciKTsgfTsKK2Rlc3RpbmF0aW9uIGRfbHByIHsgZmlsZSgiL3Zhci9sb2cvbHByLmxvZyIpOyB9OworZGVzdGluYXRpb24gZF9tYWlsIHsgZmlsZSgiL3Zhci9sb2cvbWFpbC5sb2ciKTsgfTsKK2Rlc3RpbmF0aW9uIGRfc3lzbG9nIHsgZmlsZSgiL3Zhci9sb2cvc3lzbG9nIik7IH07CitkZXN0aW5hdGlvbiBkX3VzZXIgeyBmaWxlKCIvdmFyL2xvZy91c2VyLmxvZyIpOyB9OworZGVzdGluYXRpb24gZF91dWNwIHsgZmlsZSgiL3Zhci9sb2cvdXVjcC5sb2ciKTsgfTsKKworIyBUaGlzIGZpbGVzIGFyZSB0aGUgbG9nIGNvbWUgZnJvbSB0aGUgbWFpbCBzdWJzeXN0ZW0uCisjCitkZXN0aW5hdGlvbiBkX21haWxpbmZvIHsgZmlsZSgiL3Zhci9sb2cvbWFpbC9tYWlsLmluZm8iKTsgfTsKK2Rlc3RpbmF0aW9uIGRfbWFpbHdhcm4geyBmaWxlKCIvdmFyL2xvZy9tYWlsL21haWwud2FybiIpOyB9OworZGVzdGluYXRpb24gZF9tYWlsZXJyIHsgZmlsZSgiL3Zhci9sb2cvbWFpbC9tYWlsLmVyciIpOyB9OworCisjIExvZ2dpbmcgZm9yIElOTiBuZXdzIHN5c3RlbQorIworZGVzdGluYXRpb24gZF9uZXdzY3JpdCB7IGZpbGUoIi92YXIvbG9nL25ld3MvbmV3cy5jcml0Iik7IH07CitkZXN0aW5hdGlvbiBkX25ld3NlcnIgeyBmaWxlKCIvdmFyL2xvZy9uZXdzL25ld3MuZXJyIik7IH07CitkZXN0aW5hdGlvbiBkX25ld3Nub3RpY2UgeyBmaWxlKCIvdmFyL2xvZy9uZXdzL25ld3Mubm90aWNlIik7IH07CisKKyMgU29tZSBgY2F0Y2gtYWxsJyBsb2dmaWxlcy4KKyMKK2Rlc3RpbmF0aW9uIGRfZGVidWcgeyBmaWxlKCIvdmFyL2xvZy9kZWJ1ZyIpOyB9OworZGVzdGluYXRpb24gZF9lcnJvciB7IGZpbGUoIi92YXIvbG9nL2Vycm9yIik7IH07CitkZXN0aW5hdGlvbiBkX21lc3NhZ2VzIHsgZmlsZSgiL3Zhci9sb2cvbWVzc2FnZXMiKTsgfTsKKworIyBUaGUgcm9vdCdzIGNvbnNvbGUuCisjCitkZXN0aW5hdGlvbiBkX2NvbnNvbGUgeyB1c2VydHR5KCJyb290Iik7IH07CisKKyMgVmlydHVhbCBjb25zb2xlLgorIworZGVzdGluYXRpb24gZF9jb25zb2xlX2FsbCB7IGZpbGUoIi9kZXYvdHR5MTAiKTsgfTsKKworIyBUaGUgbmFtZWQgcGlwZSAvZGV2L3hjb25zb2xlIGlzIGZvciB0aGUgbnNvbGUnIHV0aWxpdHkuICBUbyB1c2UgaXQsCisjIHlvdSBtdXN0IGludm9rZSBuc29sZScgd2l0aCB0aGUgLWZpbGUnIG9wdGlvbjoKKyMKKyMgICAgJCB4Y29uc29sZSAtZmlsZSAvZGV2L3hjb25zb2xlIFsuLi5dCisjCitkZXN0aW5hdGlvbiBkX3hjb25zb2xlIHsgcGlwZSgiL2Rldi94Y29uc29sZSIpOyB9OworCisjIFNlbmQgdGhlIG1lc3NhZ2VzIHRvIGFuIG90aGVyIGhvc3QKKyMKKyNkZXN0aW5hdGlvbiBkX25ldCB7IHRjcCgiMTI3LjAuMC4xIiBwb3J0KDEwMDApIGF1dGhlbnRpY2F0aW9uKG9uKSBlbmNyeXB0KG9uKSBsb2dfZmlmb19zaXplKDEwMDApKTsgfTsKKworIyBEZWJpYW4gb25seQorZGVzdGluYXRpb24gZF9wcHAgeyBmaWxlKCIvdmFyL2xvZy9wcHAubG9nIik7IH07CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBGaWx0ZXJzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgSGVyZSdzIGNvbWUgdGhlIGZpbHRlciBvcHRpb25zLiBXaXRoIHRoaXMgcnVsZXMsIHdlIGNhbiBzZXQgd2hpY2gKKyMgbWVzc2FnZSBnbyB3aGVyZS4KKworZmlsdGVyIGZfZGJnIHsgbGV2ZWwoZGVidWcpOyB9OworZmlsdGVyIGZfaW5mbyB7IGxldmVsKGluZm8pOyB9OworZmlsdGVyIGZfbm90aWNlIHsgbGV2ZWwobm90aWNlKTsgfTsKK2ZpbHRlciBmX3dhcm4geyBsZXZlbCh3YXJuKTsgfTsKK2ZpbHRlciBmX2VyciB7IGxldmVsKGVycik7IH07CitmaWx0ZXIgZl9jcml0IHsgbGV2ZWwoY3JpdCAuLiBlbWVyZyk7IH07CisKK2ZpbHRlciBmX2RlYnVnIHsgbGV2ZWwoZGVidWcpIGFuZCBub3QgZmFjaWxpdHkoYXV0aCwgYXV0aHByaXYsIG5ld3MsIG1haWwpOyB9OworZmlsdGVyIGZfZXJyb3IgeyBsZXZlbChlcnIgLi4gZW1lcmcpIDsgfTsKK2ZpbHRlciBmX21lc3NhZ2VzIHsgbGV2ZWwoaW5mbyxub3RpY2Usd2FybikgYW5kCisgICAgICAgICAgICAgICAgICAgIG5vdCBmYWNpbGl0eShhdXRoLGF1dGhwcml2LGNyb24sZGFlbW9uLG1haWwsbmV3cyk7IH07CisKK2ZpbHRlciBmX2F1dGggeyBmYWNpbGl0eShhdXRoLCBhdXRocHJpdikgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl9jcm9uIHsgZmFjaWxpdHkoY3JvbikgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl9kYWVtb24geyBmYWNpbGl0eShkYWVtb24pIGFuZCBub3QgZmlsdGVyKGZfZGVidWcpOyB9OworZmlsdGVyIGZfa2VybiB7IGZhY2lsaXR5KGtlcm4pIGFuZCBub3QgZmlsdGVyKGZfZGVidWcpOyB9OworZmlsdGVyIGZfbHByIHsgZmFjaWxpdHkobHByKSBhbmQgbm90IGZpbHRlcihmX2RlYnVnKTsgfTsKK2ZpbHRlciBmX2xvY2FsIHsgZmFjaWxpdHkobG9jYWwwLCBsb2NhbDEsIGxvY2FsMywgbG9jYWw0LCBsb2NhbDUsCisgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbDYsIGxvY2FsNykgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl9tYWlsIHsgZmFjaWxpdHkobWFpbCkgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl9uZXdzIHsgZmFjaWxpdHkobmV3cykgYW5kIG5vdCBmaWx0ZXIoZl9kZWJ1Zyk7IH07CitmaWx0ZXIgZl9zeXNsb2czIHsgbm90IGZhY2lsaXR5KGF1dGgsIGF1dGhwcml2LCBtYWlsKSBhbmQgbm90IGZpbHRlcihmX2RlYnVnKTsgfTsKK2ZpbHRlciBmX3VzZXIgeyBmYWNpbGl0eSh1c2VyKSBhbmQgbm90IGZpbHRlcihmX2RlYnVnKTsgfTsKK2ZpbHRlciBmX3V1Y3AgeyBmYWNpbGl0eSh1dWNwKSBhbmQgbm90IGZpbHRlcihmX2RlYnVnKTsgfTsKKworZmlsdGVyIGZfY25ld3MgeyBsZXZlbChub3RpY2UsIGVyciwgY3JpdCkgYW5kIGZhY2lsaXR5KG5ld3MpOyB9OworZmlsdGVyIGZfY290aGVyIHsgbGV2ZWwoZGVidWcsIGluZm8sIG5vdGljZSwgd2Fybikgb3IgZmFjaWxpdHkoZGFlbW9uLCBtYWlsKTsgfTsKKworZmlsdGVyIGZfcHBwIHsgZmFjaWxpdHkobG9jYWwyKSBhbmQgbm90IGZpbHRlcihmX2RlYnVnKTsgfTsKK2ZpbHRlciBmX2NvbnNvbGUgeyBsZXZlbCh3YXJuIC4uIGVtZXJnKTsgfTsKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIExvZyBwYXRocworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9hdXRoKTsgZGVzdGluYXRpb24oZF9hdXRoKTsgfTsKK2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX2Nyb24pOyBkZXN0aW5hdGlvbihkX2Nyb24pOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfZGFlbW9uKTsgZGVzdGluYXRpb24oZF9kYWVtb24pOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfa2Vybik7IGRlc3RpbmF0aW9uKGRfa2Vybik7IH07Citsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9scHIpOyBkZXN0aW5hdGlvbihkX2xwcik7IH07Citsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9zeXNsb2czKTsgZGVzdGluYXRpb24oZF9zeXNsb2cpOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfdXNlcik7IGRlc3RpbmF0aW9uKGRfdXNlcik7IH07Citsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl91dWNwKTsgZGVzdGluYXRpb24oZF91dWNwKTsgfTsKKworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfbWFpbCk7IGRlc3RpbmF0aW9uKGRfbWFpbCk7IH07CisjbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfbWFpbCk7IGZpbHRlcihmX2luZm8pOyBkZXN0aW5hdGlvbihkX21haWxpbmZvKTsgfTsKKyNsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9tYWlsKTsgZmlsdGVyKGZfd2Fybik7IGRlc3RpbmF0aW9uKGRfbWFpbHdhcm4pOyB9OworI2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX21haWwpOyBmaWx0ZXIoZl9lcnIpOyBkZXN0aW5hdGlvbihkX21haWxlcnIpOyB9OworCitsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9uZXdzKTsgZmlsdGVyKGZfY3JpdCk7IGRlc3RpbmF0aW9uKGRfbmV3c2NyaXQpOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfbmV3cyk7IGZpbHRlcihmX2Vycik7IGRlc3RpbmF0aW9uKGRfbmV3c2Vycik7IH07Citsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9uZXdzKTsgZmlsdGVyKGZfbm90aWNlKTsgZGVzdGluYXRpb24oZF9uZXdzbm90aWNlKTsgfTsKKyNsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9jbmV3cyk7IGRlc3RpbmF0aW9uKGRfY29uc29sZV9hbGwpOyB9OworI2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX2NvdGhlcik7IGRlc3RpbmF0aW9uKGRfY29uc29sZV9hbGwpOyB9OworCisjbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfcHBwKTsgZGVzdGluYXRpb24oZF9wcHApOyB9OworCitsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9kZWJ1Zyk7IGRlc3RpbmF0aW9uKGRfZGVidWcpOyB9OworbG9nIHsgc291cmNlKHNfc3JjKTsgZmlsdGVyKGZfZXJyb3IpOyBkZXN0aW5hdGlvbihkX2Vycm9yKTsgfTsKK2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX21lc3NhZ2VzKTsgZGVzdGluYXRpb24oZF9tZXNzYWdlcyk7IH07CisKK2xvZyB7IHNvdXJjZShzX3NyYyk7IGZpbHRlcihmX2NvbnNvbGUpOyBkZXN0aW5hdGlvbihkX2NvbnNvbGVfYWxsKTsKKwkJCQkgICAgZGVzdGluYXRpb24oZF94Y29uc29sZSk7IH07Citsb2cgeyBzb3VyY2Uoc19zcmMpOyBmaWx0ZXIoZl9jcml0KTsgZGVzdGluYXRpb24oZF9jb25zb2xlKTsgfTsKKworIyBBbGwgbWVzc2FnZXMgc2VuZCB0byBhIHJlbW90ZSBzaXRlCisjCisjbG9nIHsgc291cmNlKHNfc3JjKTsgZGVzdGluYXRpb24oZF9uZXQpOyB9OwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3lzbG9nLW5nLnNlcnZpY2UtdGhlLXN5c2xvZy1uZy1zZXJ2aWNlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvc3lzbG9nLW5nLnNlcnZpY2UtdGhlLXN5c2xvZy1uZy1zZXJ2aWNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1M2M2MDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9maWxlcy9zeXNsb2ctbmcuc2VydmljZS10aGUtc3lzbG9nLW5nLXNlcnZpY2UucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSAwYmU5YzA4ZGQzZjgyNWU5MmZhMDJkNGEwOGQ4YWZmNzQzMTA5ZTYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGkgeGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorRGF0ZTogV2VkLCAxNyBKdW4gMjAxNSAxNDo0NjozMCArMDkwMAorU3ViamVjdDogW1BBVENIXSBzeXNsb2ctbmcuc2VydmljZTogdGhlIHN5c2xvZy1uZyBzZXJ2aWNlIGNhbiBub3Qgc3RhcnQKKyBzdWNjZXNzZnVsbHksc28gbW9kaWZ5IGl0LgorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTGkgWGluIDxsaXhpbi5mbnN0QGNuLmZ1aml0c3UuY29tPgorLS0tCisgY29udHJpYi9zeXN0ZW1kL3N5c2xvZy1uZy5zZXJ2aWNlIHwgNSArKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbigrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbnRyaWIvc3lzdGVtZC9zeXNsb2ctbmcuc2VydmljZSBiL2NvbnRyaWIvc3lzdGVtZC9zeXNsb2ctbmcuc2VydmljZQoraW5kZXggZmMxNmY4ZC4uOGUwOWRlYiAxMDA2NDQKKy0tLSBhL2NvbnRyaWIvc3lzdGVtZC9zeXNsb2ctbmcuc2VydmljZQorKysrIGIvY29udHJpYi9zeXN0ZW1kL3N5c2xvZy1uZy5zZXJ2aWNlCitAQCAtMyw5ICszLDggQEAgRGVzY3JpcHRpb249U3lzdGVtIExvZ2dlciBEYWVtb24KKyBEb2N1bWVudGF0aW9uPW1hbjpzeXNsb2ctbmcoOCkKKyAKKyBbU2VydmljZV0KKy1UeXBlPW5vdGlmeQorLUV4ZWNTdGFydD0vdXNyL3NiaW4vc3lzbG9nLW5nIC1GCistRXhlY1JlbG9hZD0vYmluL2tpbGwgLUhVUCAkTUFJTlBJRAorK0V4ZWNTdGFydD1AU0JJTkRJUkAvc3lzbG9nLW5nIC1GIC1wIEBMT0NBTFNUQVRFRElSQC9ydW4vc3lzbG9nZC5waWQKKytFeGVjUmVsb2FkPUBCQVNFQklORElSQC9raWxsIC1IVVAgJE1BSU5QSUQKKyBTdGFuZGFyZE91dHB1dD1qb3VybmFsCisgU3RhbmRhcmRFcnJvcj1qb3VybmFsCisgUmVzdGFydD1vbi1mYWlsdXJlCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvZmlsZXMvdm9sYXRpbGVzLjAzX3N5c2xvZy1uZyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3ZvbGF0aWxlcy4wM19zeXNsb2ctbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M0YTUwZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL2ZpbGVzL3ZvbGF0aWxlcy4wM19zeXNsb2ctbmcKQEAgLTAsMCArMSBAQAorZCByb290IHJvb3QgMDc1NSAvdmFyL3J1bi9zeXNsb2ctbmcgbm9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvc3lzbG9nLW5nLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUwZjY5NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZy5pbmMKQEAgLTAsMCArMSwxMTggQEAKK1NVTU1BUlkgPSAiQWx0ZXJuYXRpdmUgc3lzdGVtIGxvZ2dlciBkYWVtb24iCitERVNDUklQVElPTiA9ICJzeXNsb2ctbmcsIGFzIHRoZSBuYW1lIHNob3dzLCBpcyBhIHN5c2xvZ2QgcmVwbGFjZW1lbnQsIFwKK2J1dCB3aXRoIG5ldyBmdW5jdGlvbmFsaXR5IGZvciB0aGUgbmV3IGdlbmVyYXRpb24uIFRoZSBvcmlnaW5hbCBzeXNsb2dkIFwKK2FsbG93cyBtZXNzYWdlcyBvbmx5IHRvIGJlIHNvcnRlZCBiYXNlZCBvbiBwcmlvcml0eS9mYWNpbGl0eSBwYWlyczsgXAorc3lzbG9nLW5nIGFkZHMgdGhlIHBvc3NpYmlsaXR5IHRvIGZpbHRlciBiYXNlZCBvbiBtZXNzYWdlIGNvbnRlbnRzIHVzaW5nIFwKK3JlZ3VsYXIgZXhwcmVzc2lvbnMuIFRoZSBuZXcgY29uZmlndXJhdGlvbiBzY2hlbWUgaXMgaW50dWl0aXZlIGFuZCBwb3dlcmZ1bC4gXAorRm9yd2FyZGluZyBsb2dzIG92ZXIgVENQIGFuZCByZW1lbWJlcmluZyBhbGwgZm9yd2FyZGluZyBob3BzIG1ha2VzIGl0IFwKK2lkZWFsIGZvciBmaXJld2FsbGVkIGVudmlyb25tZW50cy4gXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5iYWxhYml0LmNvbS9uZXR3b3JrLXNlY3VyaXR5L3N5c2xvZy1uZy9vcGVuc291cmNlLWxvZ2dpbmctc3lzdGVtIgorCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lMGU4NjU4ZDliZTI0OGYwMWI3OTMzZGYyNGRjMTQwOCIKKworIyB1dGlsLWxpbnV4IGFkZGVkIHRvIGdldCBsaWJ1dWlkCitERVBFTkRTID0gImxpYnBjcmUgZmxleCBldmVudGxvZyBnbGliLTIuMCB1dGlsLWxpbnV4IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuYmFsYWJpdC5jb20vZG93bmxvYWRzL2ZpbGVzL3N5c2xvZy1uZy9zb3VyY2VzLyR7UFZ9L3NvdXJjZS8ke0JQTn1fJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3N5c2xvZy1uZy5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2luaXRzY3JpcHQgXAorICAgICAgICAgICBmaWxlOi8vdm9sYXRpbGVzLjAzX3N5c2xvZy1uZyBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUuYWMtYWRkLW9wdGlvbi1lbmFibGUtdGhyZWFkLXRscy10by1tYW5hZ2UtLnBhdGNoIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgc3lzdGVtZCBwa2djb25maWcgdXBkYXRlLWFsdGVybmF0aXZlcyB1cGRhdGUtcmMuZAorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWVuYWJsZS1keW5hbWljLWxpbmtpbmcgXAorICAgIC0tZGlzYWJsZS1zdWItc3RyZWFtcyBcCisgICAgLS1kaXNhYmxlLXBhY2N0IFwKKyAgICAtLWxvY2Fsc3RhdGVkaXI9JHtsb2NhbHN0YXRlZGlyfS9saWIvJHtCUE59IFwKKyAgICAtLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS8ke0JQTn0gXAorICAgIC0td2l0aC1tb2R1bGUtZGlyPSR7bGliZGlyfS8ke0JQTn0gXAorICAgIC0td2l0aC1zeXNyb290PSR7U1RBR0lOR19ESVJfSE9TVH0gXAorICAgIC0td2l0aC1saWJtb25nby1jbGllbnQ9bm8gLS1kaXNhYmxlLW1vbmdvZGIgXAorICAgIC0td2l0aC1saWJyYWJiaXRtcS1jbGllbnQ9bm8gXAorICAgICR7Q09ORklHX1RMU30gXAorIgorCitDT05GSUdfVExTID0gIi0tZW5hYmxlLXRocmVhZC10bHMiCitDT05GSUdfVExTX2FybSA9ICIke0BiYXNlX2NvbmRpdGlvbmFsKCAiREVCVUdfQlVJTEQiLCAiMSIsICIgLS1kaXNhYmxlLXRocmVhZC10bHMiLCAiIC0tZW5hYmxlLXRocmVhZC10bHMiLCBkICl9IgorCitQQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJ2lwdjYnLCAnJywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnc3lzdGVtZCcsICcnLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLWVuYWJsZS1zc2wsLS1kaXNhYmxlLXNzbCxvcGVuc3NsLCIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwsIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywtLWRpc2FibGUtc3lzdGVtZCAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsc3lzdGVtZCwiCitQQUNLQUdFQ09ORklHW2xpbnV4LWNhcHNdID0gIi0tZW5hYmxlLWxpbnV4LWNhcHMsLS1kaXNhYmxlLWxpbnV4LWNhcHMsbGliY2FwLCIKK1BBQ0tBR0VDT05GSUdbcGNyZV0gPSAiLS1lbmFibGUtcGNyZSwtLWRpc2FibGUtcGNyZSxsaWJwY3JlLCIKK1BBQ0tBR0VDT05GSUdbZGJpXSA9ICItLWVuYWJsZS1zcWwsLS1kaXNhYmxlLXNxbCxsaWJkYmksIgorUEFDS0FHRUNPTkZJR1tsaWJuZXRdID0gIi0tZW5hYmxlLWxpYm5ldCAtLXdpdGgtbGlibmV0PSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9LC0tZGlzYWJsZS1saWJuZXQsbGlibmV0LCIKK1BBQ0tBR0VDT05GSUdbc210cF0gPSAiLS1lbmFibGUtc210cCAtLXdpdGgtbGliZXNtdHA9JHtTVEFHSU5HX0xJQkRJUn0sLS1kaXNhYmxlLXNtdHAsbGliZXNtdHAsIgorUEFDS0FHRUNPTkZJR1tqc29uXSA9ICItLWVuYWJsZS1qc29uLC0tZGlzYWJsZS1qc29uLGpzb24tYywiCitQQUNLQUdFQ09ORklHW3RjcC13cmFwcGVyXSA9ICItLWVuYWJsZS10Y3Atd3JhcHBlciwtLWRpc2FibGUtdGNwLXdyYXBwZXIsdGNwLXdyYXBwZXJzLCIKK1BBQ0tBR0VDT05GSUdbZ2VvaXBdID0gIi0tZW5hYmxlLWdlb2lwLC0tZGlzYWJsZS1nZW9pcCxnZW9pcCwiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGV2YWwgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGFyZ2VmaWxlJywgJycsICdzZWQgLWkgLWUgInMvLURfTEFSR0VGSUxFX1NPVVJDRS8vIiAtZSAicy8tRF9GSUxFX09GRlNFVF9CSVRTPTY0Ly8iICR7U30vY29uZmlndXJlLmluJywgZCl9IgorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsICR7V09SS0RJUn0vc3lzbG9nLW5nLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vJHtCUE59LyR7QlBOfS5jb25mCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9pbml0c2NyaXB0ICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvc3lzbG9nLiR7QlBOfQorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLworICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vdm9sYXRpbGVzLjAzX3N5c2xvZy1uZyAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvMDNfc3lzbG9nLW5nCisgICAgaW5zdGFsbCAtZCAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfQorICAgICMgUmVtb3ZlIC92YXIvcnVuIGFzIGl0IGlzIGNyZWF0ZWQgb24gc3RhcnR1cAorICAgIHJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KKyAgICBzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgJHtTfS9jb250cmliL3N5c3RlbWQvKi5zZXJ2aWNlCisgICAgc2VkIC1pIC1lICdzLEBMT0NBTFNUQVRFRElSQCwke2xvY2Fsc3RhdGVkaXJ9LGcnICR7U30vY29udHJpYi9zeXN0ZW1kLyouc2VydmljZQorICAgIHNlZCAtaSAtZSAncyxAQkFTRUJJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgJHtTfS9jb250cmliL3N5c3RlbWQvKi5zZXJ2aWNlCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2luY2x1ZGUvc2NsLyAke2RhdGFkaXJ9L3hzZCAke2RhdGFkaXJ9L3Rvb2xzIgorUkRFUEVORFNfJHtQTn0gKz0gImdhd2siCisKKyMgVGhpcyBvdmVyY29tZXMgdGhlIHN5c2xvZy1uZyByZGVwZW5kcyBvbiBzeXNsb2ctbmctZGV2IFFBIEVycm9yCitQQUNLQUdFUyA9KyAiJHtQTn0tbGlicyAke1BOfS1saWJzLWRldiAke1BOfS1saWJzLWRiZyIKK0ZJTEVTXyR7UE59LWxpYnMgPSAiJHtsaWJkaXJ9LyR7QlBOfS8qLnNvICR7bGliZGlyfS9saWJzeXNsb2ctbmctKi5zbyoiCitGSUxFU18ke1BOfS1saWJzLWRldiA9ICIke2xpYmRpcn0vJHtCUE59L2xpYioubGEiCitGSUxFU18ke1BOfS1saWJzLWRiZyA9ICIke2xpYmRpcn0vJHtCUE59Ly5kZWJ1ZyIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiA9ICIke2xpYmRpcn0vJHtCUE59L2xpYnRlc3QvKi5hIgorSU5TQU5FX1NLSVBfJHtQTn0tbGlicyA9ICJkZXYtc28iCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tbGlicyIKKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vJHtCUE59LmNvbmYgJHtzeXNjb25mZGlyfS9zY2wuY29uZiIKKworIyBzeXNsb2cgaW5pdHNjcmlwdCBpcyBoYW5kbGVkIGV4cGxpY2l0bHkgYmVjYXVzZSBvcmRlciBvZgorIyB1cGRhdGUtcmMuZCBhbmQgdXBkYXRlLWFsdGVybmF0aXZlcyBpcyBpbXBvcnRhbnQKK1JERVBFTkRTXyR7UE59ICs9ICIgJHtAYmFzZV9jb25kaXRpb25hbCgiT05MSU5FX1BBQ0tBR0VfTUFOQUdFTUVOVCIsICJub25lIiwgIiIsICJ1cGRhdGUtcmMuZCIsIGQpfSIKKworUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKKworIyBubyBzeXNsb2ctaW5pdCBmb3Igc3lzdGVtZAorcHl0aG9uICgpIHsKKyAgICBpZiBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgVHJ1ZSwgRmFsc2UsIGQpOgorICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicsIFRydWUpCisgICAgICAgIHN5c2NvbmZkaXIgPSBkLmdldFZhcignc3lzY29uZmRpcicsIFRydWUpCisgICAgICAgIGQuYXBwZW5kVmFyKCdBTFRFUk5BVElWRV8lcycgJSAocG4pLCAnIHN5c2xvZy1pbml0JykKKyAgICAgICAgZC5zZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9QUklPUklUWScsICdzeXNsb2ctaW5pdCcsICcyMDAnKQorICAgICAgICBkLnNldFZhckZsYWcoJ0FMVEVSTkFUSVZFX0xJTktfTkFNRScsICdzeXNsb2ctaW5pdCcsICclcy9pbml0LmQvc3lzbG9nJyAlIChzeXNjb25mZGlyKSkKKworICAgIGlmIGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIFRydWUsIEZhbHNlLCBkKToKKyAgICAgICAgcG4gPSBkLmdldFZhcignUE4nLCBUcnVlKQorICAgICAgICBkLmFwcGVuZFZhcignQUxURVJOQVRJVkVfJXMnICUgKHBuKSwgJyBzeXNsb2ctc2VydmljZScpCisgICAgICAgIGQuc2V0VmFyRmxhZygnQUxURVJOQVRJVkVfTElOS19OQU1FJywgJ3N5c2xvZy1zZXJ2aWNlJywgJyVzL3N5c3RlbWQvc3lzdGVtL3N5c2xvZy5zZXJ2aWNlJyAlIChkLmdldFZhcignc3lzY29uZmRpcicsIFRydWUpKSkKKyAgICAgICAgZC5zZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9UQVJHRVQnLCAnc3lzbG9nLXNlcnZpY2UnLCAnJXMvc3lzdGVtLyR7QlBOfS5zZXJ2aWNlJyAlIChkLmdldFZhcignc3lzdGVtZF91bml0ZGlyJywgVHJ1ZSkpKQorfQorCitJTklUU0NSSVBUX05BTUUgPSAic3lzbG9nIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMjAgMiAzIDQgNSAuIHN0b3AgOTAgMCAxIDYgLiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZ18zLjYuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZ18zLjYuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzYwOWFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvc3lzbG9nLW5nXzMuNi40LmJiCkBAIC0wLDAgKzEsMTUgQEAKK3JlcXVpcmUgc3lzbG9nLW5nLmluYworCitTUkNfVVJJICs9ICIgXAorICAgIGZpbGU6Ly9maXgtYS1tZW1vcnktbGVhay1pbi1sb2dfZHJpdmVyX2ZyZWUucGF0Y2ggXAorICAgIGZpbGU6Ly9maXgtY29uZmlnLWxpYm5ldC5wYXRjaCBcCisgICAgZmlsZTovL2ZpeC1pbnZhbGlkLW93bmVyc2hpcC5wYXRjaCBcCisgICAgZmlsZTovL0ZpeC10aGUtbWVtb3J5LWxlYWstcHJvYmxlbS1mb3ItbXV0ZXgucGF0Y2ggXAorICAgIGZpbGU6Ly9GaXgtdGhlLW1lbW9yeS1sZWFrLXByb2JsZW0td2hlbi1IQVZFX0VOVklST04tZGVmaW5lZC5wYXRjaCBcCisgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCBcCisgICAgZmlsZTovL2RiaWZpeC5wYXRjaCBcCisgICAgZmlsZTovL3N5c2xvZy1uZy5zZXJ2aWNlLXRoZS1zeXNsb2ctbmctc2VydmljZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlOWY0MDE2MTVlOTJlNWViMjczOTZjOTk1YzE0NDZiYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YmUxMWRmMzFhYzdkNzE2ZjFmOTUyZTIyYjVhZThlMjA0OWVkZDYzM2E0MWIyMjM3NzZhODUzZDkxMDZmNGU3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXN0ZW0tY29uZmlnLWtleWJvYXJkL3N5c3RlbS1jb25maWcta2V5Ym9hcmRfMS40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c3RlbS1jb25maWcta2V5Ym9hcmQvc3lzdGVtLWNvbmZpZy1rZXlib2FyZF8xLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzhmY2VhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXN0ZW0tY29uZmlnLWtleWJvYXJkL3N5c3RlbS1jb25maWcta2V5Ym9hcmRfMS40LjAuYmIKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT04gPSAiYSBncmFwaGljYWwgdXNlciBpbnRlcmZhY2UgdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gXAorY2hhbmdlIHRoZSBkZWZhdWx0IGtleWJvYXJkIG9mIHRoZSBzeXN0ZW0iCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorU1JDX1VSSSA9ICJodHRwczovL2ZlZG9yYWhvc3RlZC5vcmcvcmVsZWFzZXMvcy95LyR7QlBOfS8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImMyNjdkYjBlZTdhMjEzMWJhNDE4Mzk5ZGMxN2Y5ZTcyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIxOGM4ODNlNGUyYmZjYzgyYmZlMDdlNzg1NzA3YjVjMmVjZTI4ZGY3NzJmMjE1NWZkMDQ0YjliYjE2MTQyODQiCitpbmhlcml0IHB5dGhvbi1kaXIKKworaW5oZXJpdCBweXRob24tZGlyIGdldHRleHQKK0RFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIgorCitFWFRSQV9PRU1BS0UgPSAiIFwKKyAgICBQWVRIT049JyR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfScvcHl0aG9uLW5hdGl2ZS9weXRob24gXAorICAgIFBZVEhPTl9TSVRFTElCPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IFwKKyIKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBybSAtcmYgJHtEfS91c3IKK30KKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059LyogXAorICAgJHtkYXRhZGlyfS8qIFwKKyIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXN0ZW0tc2V0dXAta2V5Ym9hcmQvc3lzdGVtLXNldHVwLWtleWJvYXJkXzAuOC44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXN0ZW0tc2V0dXAta2V5Ym9hcmQvc3lzdGVtLXNldHVwLWtleWJvYXJkXzAuOC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiYmZhM2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c3RlbS1zZXR1cC1rZXlib2FyZC9zeXN0ZW0tc2V0dXAta2V5Ym9hcmRfMC44LjguYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJ4b3JnLmNvbmYga2V5Ym9hcmQgbGF5b3V0IGNhbGxvdXQiCitERVNDUklQVElPTiA9ICJzeXN0ZW0tc2V0dXAta2V5Ym9hcmQgaXMgYSBkYWVtb24gdG8gbW9uaXRvciB0aGUga2V5Ym9hcmQgbGF5b3V0IGNvbmZpZ3VyZWQgaW4gXAorL2V0Yy9zeXNjb25maWcva2V5Ym9hcmQgYW5kIHRyYW5zZmVyIHRoaXMgaW50byB0aGUgbWF0Y2hpbmcgeG9yZy5jb25mLmQgc25pcHBldC4iCisKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0LmZlZG9yYWhvc3RlZC5vcmcvZ2l0L3N5c3RlbS1zZXR1cC1rZXlib2FyZC5naXQiCitTRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXQuZmVkb3JhaG9zdGVkLm9yZy9jZ2l0LyR7UE59LmdpdC9zbmFwc2hvdC8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMzk5MDAzOTY4Y2NjNzM5Y2RkZDljYzM3MGFmMzc3YTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWVmNmVmNzljMzU4OGU4NWQ3ZjQyZTk5ZWI4MGEyZTQ1OWY5NjYyODRjZjAyOWMyZDZmYzFiNjQ1YWJjYjg2MCIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iZjU3OTY5YTU5NjEyYzVhY2EwMDdiMzQwYzQ5ZDNhMiIKKworaW5oZXJpdCBweXRob25uYXRpdmUKKworREVQRU5EUyA9ICJnbGliLTIuMCBzeXN0ZW0tY29uZmlnLWtleWJvYXJkLW5hdGl2ZSIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICAke1BZVEhPTn0gLXYgZ2V0X2xheW91dHMucHkgPiBrZXlib2FyZHMuaAorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KKyAgICBpbnN0YWxsIC1kICR7RH0vZXRjL1gxMS94b3JnLmNvbmYuZAorICAgIHRvdWNoICR7RH0vZXRjL1gxMS94b3JnLmNvbmYuZC8wMC1zeXN0ZW0tc2V0dXAta2V5Ym9hcmQuY29uZgorfQorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8ke0JQTn0uc2VydmljZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYi9hbGxvdy10by1idWlsZC1mb3Itb2xkZXItYXJtLWNvcmVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90YmIvdGJiL2FsbG93LXRvLWJ1aWxkLWZvci1vbGRlci1hcm0tY29yZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2QyZWM5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYi9hbGxvdy10by1idWlsZC1mb3Itb2xkZXItYXJtLWNvcmVzLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb206IE1hcmNpbiBKdXN6a2lld2ljeiA8bWFyY2luLmp1c3praWV3aWN6QGxpbmFyby5vcmc+CitEZXNjcmlwdGlvbjogQWxsb3cgdG8gYnVpbGQgVEJCIGZvciBBUk0gY29yZXMgb2xkZXIgdGhhbiBBUk12N2EKKworfCAuLi8uLi9pbmNsdWRlL3RiYi9tYWNoaW5lL2djY19hcm12Ny5oOjM5OjI6IGVycm9yOiAjZXJyb3IgVGhyZWFkaW5nCitCdWlsZGluZyBCbG9ja3MgQVJNIHBvcnQgcmVxdWlyZXMgYW4gQVJNdjctYSBhcmNoaXRlY3R1cmUuCit8IG1ha2VbMV06ICoqKiBbY29uY3VycmVudF9oYXNoX21hcC5vXSBFcnJvciAxCisKK2h0dHBzOi8vYnVncy5sYXVuY2hwYWQubmV0L2xpbmFyby1vZS8rYnVnLzExNjcxNDQKKworVXBzdHJlYW0tc3RhdHVzOiBwZW5kaW5nCisKKy0tLQorIGluY2x1ZGUvdGJiL3RiYl9tYWNoaW5lLmggfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKKy0tLSB0YmI0MV8yMDEzMDMxNG9zcy5vcmlnL2luY2x1ZGUvdGJiL3RiYl9tYWNoaW5lLmgKKysrKyB0YmI0MV8yMDEzMDMxNG9zcy9pbmNsdWRlL3RiYi90YmJfbWFjaGluZS5oCitAQCAtMjM3LDExICsyMzcsMTEgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgYXRvbWljX3NlbGVjdG9yPDg+IHsKKyAgICAgICAgICNpbmNsdWRlICJtYWNoaW5lL2xpbnV4X2ludGVsNjQuaCIKKyAgICAgI2VsaWYgX19pYTY0X18KKyAgICAgICAgICNpbmNsdWRlICJtYWNoaW5lL2xpbnV4X2lhNjQuaCIKKyAgICAgI2VsaWYgX19wb3dlcnBjX18KKyAgICAgICAgICNpbmNsdWRlICJtYWNoaW5lL21hY19wcGMuaCIKKy0gICAgI2VsaWYgX19hcm1fXworKyAgICAjZWxpZiBfX0FSTV9BUkNIXzdBX18KKyAgICAgICAgICNpbmNsdWRlICJtYWNoaW5lL2djY19hcm12Ny5oIgorICAgICAjZWxpZiBfX1RCQl9HQ0NfQlVJTFRJTl9BVE9NSUNTX1BSRVNFTlQKKyAgICAgICAgICNpbmNsdWRlICJtYWNoaW5lL2djY19nZW5lcmljLmgiCisgICAgICNlbmRpZgorICAgICAjaW5jbHVkZSAibWFjaGluZS9saW51eF9jb21tb24uaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYi9jcm9zcy1jb21waWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90YmIvdGJiL2Nyb3NzLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk3MGEzNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYi9jcm9zcy1jb21waWxlLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK0F1dGhvcjogTWFyY2luIEp1c3praWV3aWN6IDxtYXJjaW4uanVzemtpZXdpY3pAbGluYXJvLm9yZz4KKworVXBzdHJlYW0tU3RhdHVzOiB1bnN1aXRhYmxlCistLS0KKyBidWlsZC9saW51eC5nY2MuaW5jIHwgICAgNSArKystLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKKy0tLSB0YmI0MV8yMDEyMTAwM29zcy5vcmlnL2J1aWxkL2xpbnV4LmdjYy5pbmMKKysrKyB0YmI0MV8yMDEyMTAwM29zcy9idWlsZC9saW51eC5nY2MuaW5jCitAQCAtNDAsMTIgKzQwLDEzIEBAIERZTElCX0tFWSA9IC1zaGFyZWQKKyBFWFBPUlRfS0VZID0gLVdsLC0tdmVyc2lvbi1zY3JpcHQsCisgTElCREwgPSAtbGRsCisgCisgVEJCX05PU1RSSUNUID0gMQorIAorLUNQTFVTID0gZysrCistQ09OTFkgPSBnY2MKKytDUExVUyA9ICQoQ1hYKQorK0NPTkxZID0gJChDQykKKytDUExVU19GTEFHUyA9ICQoQ1hYRkxBR1MpCisgTElCX0xJTktfRkxBR1MgPSAkKERZTElCX0tFWSkgLVdsLC1zb25hbWU9JChCVUlMRElOR19MSUJSQVJZKQorIExJQlMgKz0gLWxwdGhyZWFkIC1scnQKKyBMSU5LX0ZMQUdTID0gLVdsLC1ycGF0aC1saW5rPS4KKyBDX0ZMQUdTID0gJChDUExVU19GTEFHUykKKyAjIGdjYyA0LjQgYW5kIGhpZ2hlciBzdXBwb3J0IC1zdGQ9YysrMHgKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYi90YmIucGMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmIvdGJiLnBjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NGI2NGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmIvdGJiLnBjCkBAIC0wLDAgKzEsMTEgQEAKK3ByZWZpeD0vdXNyCitleGVjX3ByZWZpeD0ke3ByZWZpeH0KK2xpYmRpcj0ke2V4ZWNfcHJlZml4fS9saWIKK2luY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUKKworTmFtZTogVGhyZWFkaW5nIEJ1aWxkaW5nIEJsb2NrcworRGVzY3JpcHRpb246IEludGVsJ3MgcGFyYWxsZWxpc20gbGlicmFyeSBmb3IgQysrCitVUkw6IGh0dHA6Ly93d3cudGhyZWFkaW5nYnVpbGRpbmdibG9ja3Mub3JnLworVmVyc2lvbjogMy4wK3IwMTgKK0xpYnM6IC1MJHtsaWJkaXJ9IC1sdGJiCitDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfSAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGJiL3RiYl80LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmJfNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5ZWQ2ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RiYi90YmJfNC4xLmJiCkBAIC0wLDAgKzEsNDAgQEAKK0RFU0NSSVBUSU9OID0gIlBhcmFsbGVsaXNtIGxpYnJhcnkgZm9yIEMrKyAtIHJ1bnRpbWUgZmlsZXMgXAorICAgIFRCQiBpcyBhIGxpYnJhcnkgdGhhdCBoZWxwcyB5b3UgbGV2ZXJhZ2UgbXVsdGktY29yZSBwcm9jZXNzb3IgXAorICAgIHBlcmZvcm1hbmNlIHdpdGhvdXQgaGF2aW5nIHRvIGJlIGEgdGhyZWFkaW5nIGV4cGVydC4gSXQgcmVwcmVzZW50cyBhIFwKKyAgICBoaWdoZXItbGV2ZWwsIHRhc2stYmFzZWQgcGFyYWxsZWxpc20gdGhhdCBhYnN0cmFjdHMgcGxhdGZvcm0gZGV0YWlscyBcCisgICAgYW5kIHRocmVhZGluZyBtZWNoYW5pc20gZm9yIHBlcmZvcm1hbmNlIGFuZCBzY2FsYWJpbGl0eS4iCitIT01FUEFHRSA9ICJodHRwOi8vdGhyZWFkaW5nYnVpbGRpbmdibG9ja3Mub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yYzdmMmNhZjI3N2EzOTMzZTNhY2RmN2Y4OWQ1NGNjMSIKK1BSREFURSA9ICIyMDEzMDMxNCIKK1BSID0gInIke1BSREFURX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL3RocmVhZGluZ2J1aWxkaW5nYmxvY2tzLm9yZy9zaXRlcy9kZWZhdWx0L2ZpbGVzL3NvZnR3YXJlX3JlbGVhc2VzL3NvdXJjZS90YmI0MV8ke1BSREFURX1vc3Nfc3JjLnRneiBcCisgICAgICAgICAgIGZpbGU6Ly9jcm9zcy1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2FsbG93LXRvLWJ1aWxkLWZvci1vbGRlci1hcm0tY29yZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGJiLnBjIgorCitTID0gIiR7V09SS0RJUn0vdGJiNDFfJHtQUkRBVEV9b3NzLyIKKworU1JDX1VSSVttZDVzdW1dID0gImVkNGFmN2NjZmExMjJmMTZjZjk5MjBiMjQxNjMzYTNhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMyZmQ1OTc5OTcxYjc3MmNhYTk2ZDQwNjQ2Y2VlNTg1ZWQwMDcwNTE2YmEyZGJiY2IxZjliNjAzM2QwOGE5MmQiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSBjb21waWxlcj1nY2MgYXJjaD0ke0hPU1RfQVJDSH0gcnVudGltZT1jYzQKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9ICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnCisgICAgcm0gJHtTfS9pbmNsdWRlL3RiYi9pbmRleC5odG1sIC1mCisgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtTfS9pbmNsdWRlL3RiYiAke0R9JHtpbmNsdWRlZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke0J9L2J1aWxkL2xpbnV4XypfcmVsZWFzZS9saWIqLnNvKiAke0R9JHtsaWJkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vdGJiLnBjICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnCit9CisKKyMgZmFpbHMgd2l0aCB0aHVtYiBlbmFibGVkOgorIyB8IGFybS1vZS1saW51eC1nbnVlYWJpLWcrKyAgLW1hcmNoPWFybXY3LWEgLW10aHVtYiAtbXRodW1iLWludGVyd29yayAtbWZsb2F0LWFiaT1zb2Z0ZnAgLW1mcHU9bmVvbiAtbXR1bmU9Y29ydGV4LWE5IC1tY3B1PWNvcnRleC1hOSAtRF9fQVJNX18gLURfX0xJTlVYX0FSTV9BUkNIX189NyAtZnVud2luZC10YWJsZXMgLW12ZWN0b3JpemUtd2l0aC1uZW9uLXF1YWQgLXJkeW5hbWljIC0tc3lzcm9vdD0vT0Uvc3lzcm9vdHMvbTE0dHYgLWMgLU1NRCAtRFRCQl9VU0VfREVCVUcgIC1nIC1PMCAtRFVTRV9QVEhSRUFEIC1mUElDIC1EX19UQkJfQlVJTEQ9MSAtV2FsbCAtV25vLXBhcmVudGhlc2VzIC1Xbm8tbm9uLXZpcnR1YWwtZHRvciAtTzIgLXBpcGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIC1mcGVybWlzc2l2ZSAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gICAtSS4uLy4uL3NyYyAtSS4uLy4uL3NyYy9ybWwvaW5jbHVkZSAtSS4uLy4uL2luY2x1ZGUgLi4vLi4vc3JjL3RiYi9jb25jdXJyZW50X3F1ZXVlLmNwcAorIyB8IHtzdGFuZGFyZCBpbnB1dH06IEFzc2VtYmxlciBtZXNzYWdlczoKKyMgfCB7c3RhbmRhcmQgaW5wdXR9OjI1MDogRXJyb3I6IHRodW1iIGNvbmRpdGlvbmFsIGluc3RydWN0aW9uIHNob3VsZCBiZSBpbiBJVCBibG9jayAtLSBgc3RyZXhlcSByMixyMyxbcjRdJworIyAuLi4KKyMgfCBtYWtlWzFdOiAqKiogW2NvbmN1cnJlbnRfcXVldWUub10gRXJyb3IgMQorQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RvbW95by10b29scy90b21veW8tdG9vbHNfMi41LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RvbW95by10b29scy90b21veW8tdG9vbHNfMi41LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM4NTkzYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdG9tb3lvLXRvb2xzL3RvbW95by10b29sc18yLjUuMC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIlRPTU9ZTyBMaW51eCB0b29scyIKK0RFU0NSSVBUSU9OID0gIlRPTU9ZTyBMaW51eCBpcyBhIE1hbmRhdG9yeSBBY2Nlc3MgQ29udHJvbCAoTUFDKSBpbXBsZW1lbnRhdGlvbiBcCitmb3IgTGludXggdGhhdCBjYW4gYmUgdXNlZCB0byBpbmNyZWFzZSB0aGUgc2VjdXJpdHkgb2YgYSBzeXN0ZW0sIHdoaWxlIGFsc28gXAorYmVpbmcgdXNlZnVsIHB1cmVseSBhcyBhIHN5c3RlbSBhbmFseXNpcyB0b29sLiIKK0hPTUVQQUdFID0gImh0dHA6Ly90b21veW8uc291cmNlZm9yZ2UuanAvIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvS2VybmVsIgorCitTUkNfVVJJID0gImh0dHA6Ly9qYWlzdC5kbC5zb3VyY2Vmb3JnZS5qcC90b21veW8vNTMzNTcvJHtCUH0tMjAxNDA2MDEudGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjg4ODg2OWI3OTMxMjdmMDBkNjQzOWEzMjQ2NTk4YjgzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjExOGVmNmJhMWZiZjdjMGI4MzAxOGMzYTBkNGQ1NDg1ZGZiOWI1YjdmNjQ3ZjM3Y2U5ZjYzODQxYTMxMzNjMmEiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLnRvbW95bzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0ZJTEVTXyR7UE59ICAgICArPSAiJHtsaWJkaXJ9L3RvbW95byIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3RvbW95by8uZGVidWciCisKK0RFUEVORFMgPSAibGludXgtbGliYy1oZWFkZXJzIG5jdXJzZXMiCisKK0VYVFJBX09FTUFLRSA9ICItZSBVU1JMSUJESVI9JHtsaWJkaXJ9IgorCitkb19jb21waWxlICgpIHsKKwlvZV9ydW5tYWtlICdDQz0ke0NDfScKK30KKworZG9faW5zdGFsbCgpIHsKKwlvZV9ydW5tYWtlIGluc3RhbGwgSU5TVEFMTERJUj0ke0R9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Rvc2NvdGVybS90b3Njb3Rlcm1fZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90b3Njb3Rlcm0vdG9zY290ZXJtX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGY4MTNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90b3Njb3Rlcm0vdG9zY290ZXJtX2dpdC5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkEgdmVyeSBzbWFsbCBhbmQgc2ltcGxlIHRlcm1pbmFsIGVtdWxhdG9yIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb25zIgorREVQRU5EUyA9ICJ2dGUiCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9tYWluLmM7c3RhcnRfbGluZT01O2VuZF9saW5lPTE2O21kNT05YWU0YmYyMGNhZjI5MWFmYTk0NTMwMDI2YmQxNTIyOSIKKworIyAwLjIgdmVyc2lvbgorU1JDUkVWID0gIjg1ODZkNjE3YWVkMTlmYzc1ZjVhZTFlMDcyNzA3NTJjMWIyZjlhMzAiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vT1NTeXN0ZW1zL3Rvc2NvdGVybS5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgZ2l0cGtndiBwa2djb25maWcKKworZG9fY29tcGlsZSgpIHsKKyAgICBvZV9ydW5tYWtlIFwKKyAgICAgICAgQ0M9IiR7Q0N9IiBcCisgICAgICAgIENGTEFHUz0iYHBrZy1jb25maWcgLS1jZmxhZ3MgdnRlYCR7Q0ZMQUdTfSIgXAorICAgICAgICBMREZMQUdTPSJgcGtnLWNvbmZpZyAtLWxpYnMgdnRlYCAke0xERkxBR1N9IgorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgUFJFRklYPSIke3ByZWZpeH0iIERFU1RESVI9IiR7RH0iIGluc3RhbGwKK30KKworUkRFUEVORFNfJHtQTn1fYXBwZW5kX2xpYmMtZ2xpYmMgKz0gImdsaWJjLWdjb252LWlibTQzNyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdHJlZS90cmVlXzEuNy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90cmVlL3RyZWVfMS43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU4ZWJkYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdHJlZS90cmVlXzEuNy4wLmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiQSByZWN1cnNpdmUgZGlyZWN0b3J5IGxpc3RpbmcgY29tbWFuZCIKK0hPTUVQQUdFID0gImh0dHA6Ly9tYW1hLmluZHN0YXRlLmVkdS91c2Vycy9pY2UvdHJlZS8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MzkzYTVjYTQ0NWY2OTY1ODczZWNhMDI1OWExN2Y4MzMiCisKK1NSQ19VUkkgPSAiZnRwOi8vbWFtYS5pbmRzdGF0ZS5lZHUvbGludXgvJHtCUE59LyR7QlB9LnRneiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhYmUzZTAzZTQ2OWM1NDJkOGUxNTdjZGQ5M2Y0ZDhhNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2OTU3YzIwZTgyNTYxYWM0MjMxNjM4OTk2ZTc0ZjRjZmE0ZTZmYWFiYzVhMmY1MTFmMGI0ZTM5NDBlOGY3YjEyIgorCisjIHRyZWUncyBkZWZhdWx0IENGTEFHUyBmb3IgTGludXgKK0NGTEFHUyArPSAiLVdhbGwgLURMSU5VWCAtRF9MQVJHRUZJTEU2NF9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKKworRVhUUkFfT0VNQUtFID0gIkNDPScke0NDfScgQ0ZMQUdTPScke0NGTEFHU30nIExERkxBR1M9JyR7TERGTEFHU30nIgorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9LyR7QlBOfSAke0R9JHtiaW5kaXJ9LworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzLzAwMDEtZml4LWJ1aWxkLXdpdGgtbmV3ZXItZ2xpYmMtdmVyc2lvbnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MvMDAwMS1maXgtYnVpbGQtd2l0aC1uZXdlci1nbGliYy12ZXJzaW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjA2NTVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzLzAwMDEtZml4LWJ1aWxkLXdpdGgtbmV3ZXItZ2xpYmMtdmVyc2lvbnMucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSA5ODI5MTUyYjEyYTg5MjRkMmUwOTFhMDAxMzNlZDFhM2E3YmE3NWMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZHJlIFJvc3RvdnRzZXYgPHRldHJvbWlub0BnZW50b28ub3JnPgorRGF0ZTogRnJpLCAyOSBNYXkgMjAxNSAyMTowOTozOSAtMDQwMAorU3ViamVjdDogW1BBVENIXSBmaXggYnVpbGQgd2l0aCBuZXdlciBnbGliYyB2ZXJzaW9ucworCitodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05MDc3OAorCitVcHN0cmVhbS1TdGF0dXM6IEFwcGxpZWQgWzFdCisKK1sxXSBodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvdWRpc2tzL2NvbW1pdC8/aD11ZGlza3MxJmlkPTk4MjkxNTJiMTJhODkyNGQyZTA5MWEwMDEzM2VkMWEzYTdiYTc1YzAKKy0tLQorIHNyYy9oZWxwZXJzL2pvYi1kcml2ZS1kZXRhY2guYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2hlbHBlcnMvam9iLWRyaXZlLWRldGFjaC5jIGIvc3JjL2hlbHBlcnMvam9iLWRyaXZlLWRldGFjaC5jCitpbmRleCBlZWFmY2FiLi5kMTIyYTFmIDEwMDY0NAorLS0tIGEvc3JjL2hlbHBlcnMvam9iLWRyaXZlLWRldGFjaC5jCisrKysgYi9zcmMvaGVscGVycy9qb2ItZHJpdmUtZGV0YWNoLmMKK0BAIC0xOCw2ICsxOCw3IEBACisgICoKKyAgKi8KKyAKKysjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CistLSAKKzIuMS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrcy9vcHRpb25hbC1kZXBlbmRzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzL29wdGlvbmFsLWRlcGVuZHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjEzMTcwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrcy9vcHRpb25hbC1kZXBlbmRzLnBhdGNoCkBAIC0wLDAgKzEsNDg0IEBACitGcm9tIDFiNzBiN2E3OThlZWVlYzU1NGFiNWFhOWZjZmZmOTZhMjJlOTE3NzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBHdXN0YXZvIFN2ZXJ6dXQgQmFyYmllcmkgPGJhcmJpZXJpQHByb2Z1c2lvbi5tb2JpPgorRGF0ZTogVGh1LCAyNiBNYXkgMjAxMSAxNzozMDowNCAtMDMwMAorU3ViamVjdDogW1BBVENIXSBBbGxvdyBkaXNhYmxpbmcgYXRhc21hcnQsIGx2bTIgYW5kIGRldmljZW1hcHBlciBzdXBwb3J0LgorCitodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzY0NworCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA2MmNjMzVkLi5iNjY0MTM1IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0xNTUsMTMgKzE1NSwzMyBAQCBQS0dfQ0hFQ0tfTU9EVUxFUyhQT0xLSVRfR09CSkVDVF8xLCBbcG9sa2l0LWdvYmplY3QtMSA+PSAwLjk3XSkKKyBBQ19TVUJTVChQT0xLSVRfR09CSkVDVF8xX0NGTEFHUykKKyBBQ19TVUJTVChQT0xLSVRfR09CSkVDVF8xX0xJQlMpCisgCistUEtHX0NIRUNLX01PRFVMRVMoTElCUEFSVEVELCBbbGlicGFydGVkID49IDEuOC44XSkKKy1BQ19TVUJTVChMSUJQQVJURURfQ0ZMQUdTKQorLUFDX1NVQlNUKExJQlBBUlRFRF9MSUJTKQorLQorLVBLR19DSEVDS19NT0RVTEVTKERFVk1BUFBFUiwgW2Rldm1hcHBlciA+PSAxLjAyXSkKKy1BQ19TVUJTVChERVZNQVBQRVJfQ0ZMQUdTKQorLUFDX1NVQlNUKERFVk1BUFBFUl9MSUJTKQorK2hhdmVfcGFydGVkPW5vCisrQUNfQVJHX0VOQUJMRShwYXJ0ZWQsIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtcGFydGVkXSwgW2Rpc2FibGUgZGlzayBwYXJ0aXRpb25pbmddKSkKKytpZiB0ZXN0ICJ4JGVuYWJsZV9wYXJ0ZWQiICE9ICJ4bm8iOyB0aGVuCisrICBQS0dfQ0hFQ0tfTU9EVUxFUyhMSUJQQVJURUQsIFtsaWJwYXJ0ZWQgPj0gMS44LjhdLAorKyAgICAgICAgICAgICAgICAgICAgW0FDX0RFRklORShVU0VfUEFSVEVELCAxLCBbRGVmaW5lIGlmIHBhcnRlZCBzaG91bGQgYmUgdXNlZF0pIGhhdmVfcGFydGVkPXllc10sCisrICAgICAgICAgICAgICAgICAgICBoYXZlX3BhcnRlZD1ubykKKysgIEFDX1NVQlNUKExJQlBBUlRFRF9DRkxBR1MpCisrICBBQ19TVUJTVChMSUJQQVJURURfTElCUykKKysgIGlmIHRlc3QgIngkaGF2ZV9wYXJ0ZWQiID0geG5vIC1hICJ4JGVuYWJsZV9wYXJ0ZWQiID0geHllczsgdGhlbgorKyAgICBBQ19NU0dfRVJST1IoW3BhcnRlZCBzdXBwb3J0IHJlcXVlc3RlZCBidXQgbGlicmFyaWVzIG5vdCBmb3VuZF0pCisrICBmaQorK2ZpCisrQU1fQ09ORElUSU9OQUwoSEFWRV9QQVJURUQsIFt0ZXN0ICIkaGF2ZV9wYXJ0ZWQiID0gInllcyJdKQorKworK2hhdmVfZGV2bWFwcGVyPW5vCisrQUNfQVJHX0VOQUJMRShkZXZtYXBwZXIsIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtZGV2bWFwcGVyXSwgW2Rpc2FibGUgZGV2aWNlIG1hcHBlciBzdXBwb3J0XSkpCisraWYgdGVzdCAieCRlbmFibGVfZGV2bWFwcGVyIiAhPSAieG5vIjsgdGhlbgorKyAgUEtHX0NIRUNLX01PRFVMRVMoREVWTUFQUEVSLCBbZGV2bWFwcGVyID49IDEuMDJdLAorKyAgICAgICAgICAgICAgICAgICAgW0FDX0RFRklORShIQVZFX0RFVk1BUFBFUiwgMSwgW0RlZmluZSBpZiBkZXZpY2UgbWFwcGVyIGlzIGF2YWlsYWJsZV0pIGhhdmVfZGV2bWFwcGVyPXllc10sCisrICAgICAgICAgICAgICAgICAgICBoYXZlX2Rldm1hcHBlcj1ubykKKysgIEFDX1NVQlNUKERFVk1BUFBFUl9DRkxBR1MpCisrICBBQ19TVUJTVChERVZNQVBQRVJfTElCUykKKysgIGlmIHRlc3QgIngkaGF2ZV9kZXZtYXBwZXIiID0geG5vIC1hICJ4JGVuYWJsZV9kZXZtYXBwZXIiID0geHllczsgdGhlbgorKyAgICBBQ19NU0dfRVJST1IoW2Rldm1hcHBlciBzdXBwb3J0IHJlcXVlc3RlZCBidXQgbGlicmFyaWVzIG5vdCBmb3VuZF0pCisrICBmaQorK2ZpCisrQU1fQ09ORElUSU9OQUwoSEFWRV9ERVZNQVBQRVIsIFt0ZXN0ICIkaGF2ZV9kZXZtYXBwZXIiID0gInllcyJdKQorIAorIGhhdmVfbHZtMj1ubworIEFDX0FSR19FTkFCTEUobHZtMiwgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1sdm0yXSwgW2Rpc2FibGUgTFZNMiBzdXBwb3J0XSkpCitAQCAtMTg1LDkgKzIwNSwxOSBAQCBpZiB0ZXN0ICJ4JGVuYWJsZV9kbW1wIiAhPSAieG5vIjsgdGhlbgorIGZpCisgQU1fQ09ORElUSU9OQUwoSEFWRV9ETU1QLCBbdGVzdCAiJGhhdmVfZG1tcCIgPSAieWVzIl0pCisgCistUEtHX0NIRUNLX01PRFVMRVMoTElCQVRBU01BUlQsIFtsaWJhdGFzbWFydCA+PSAwLjE0XSkKKy1BQ19TVUJTVChMSUJBVEFTTUFSVF9DRkxBR1MpCistQUNfU1VCU1QoTElCQVRBU01BUlRfTElCUykKKytoYXZlX2xpYmF0YXNtYXJ0PW5vCisrQUNfQVJHX0VOQUJMRShsaWJhdGFzbWFydCwgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1saWJhdGFzbWFydF0sIFtkaXNhYmxlIGxpYmF0YXNtYXJ0IHN1cHBvcnRdKSkKKytpZiB0ZXN0ICJ4JGVuYWJsZV9saWJhdGFzbWFydCIgIT0gInhubyI7IHRoZW4KKysgIFBLR19DSEVDS19NT0RVTEVTKExJQkFUQVNNQVJULCBbbGliYXRhc21hcnQgPj0gMC4xNF0sCisrICAgICAgICAgICAgICAgICAgICBbQUNfREVGSU5FKEhBVkVfTElCQVRBU01BUlQsIDEsIFtEZWZpbmUgaWYgbGliYXRhc21hcnQgaXMgYXZhaWxhYmxlXSkgaGF2ZV9saWJhdGFzbWFydD15ZXNdLAorKyAgICAgICAgICAgICAgICAgICAgaGF2ZV9saWJhdGFzbWFydD1ubykKKysgIEFDX1NVQlNUKExJQkFUQVNNQVJUX0NGTEFHUykKKysgIEFDX1NVQlNUKExJQkFUQVNNQVJUX0xJQlMpCisrICBpZiB0ZXN0ICJ4JGhhdmVfbGliYXRhc21hcnQiID0geG5vIC1hICJ4JGVuYWJsZV9saWJhdGFzbWFydCIgPSB4eWVzOyB0aGVuCisrICAgIEFDX01TR19FUlJPUihbbGliYXRhc21hcnQgc3VwcG9ydCByZXF1ZXN0ZWQgYnV0IGxpYnJhcmllcyBub3QgZm91bmRdKQorKyAgZmkKKytmaQorK0FNX0NPTkRJVElPTkFMKEhBVkVfTElCQVRBU01BUlQsIFt0ZXN0ICIkaGF2ZV9saWJhdGFzbWFydCIgPSAieWVzIl0pCisgCisgUEtHX0NIRUNLX01PRFVMRVMoTElCVURFViwgW2xpYnVkZXYgPj0gMTQzXSkKKyBBQ19TVUJTVChMSUJVREVWX0NGTEFHUykKK0BAIC0yNjcsOSArMjk3LDEyIEBAIGVjaG8gIgorICAgICAgICAgY3BwZmxhZ3M6ICAgICAgICAgICAgICAgICAgICR7Q1BQRkxBR1N9CisgICAgICAgICB4c2x0cHJvYzogICAgICAgICAgICAgICAgICAgJHtYU0xUUFJPQ30KKyAKKysgICAgICAgIFBhcnRlZCBzdXBwb3J0OiAgICAgICAgICAgICAke2hhdmVfcGFydGVkfQorKyAgICAgICAgRGV2aWNlIE1hcHBlciBzdXBwb3J0OiAgICAgICR7aGF2ZV9kZXZtYXBwZXJ9CisgICAgICAgICBMVk0yIHN1cHBvcnQ6ICAgICAgICAgICAgICAgJHtoYXZlX2x2bTJ9CisgICAgICAgICBkbS1tdWx0aXBhdGg6ICAgICAgICAgICAgICAgJHtoYXZlX2RtbXB9CisgICAgICAgICBSZW1vdGUgQWNjZXNzOiAgICAgICAgICAgICAgJHtyZW1vdGVfYWNjZXNzfQorKyAgICAgICAgbGliYXRhc21hcnQgc3VwcG9ydDogICAgICAgICR7aGF2ZV9saWJhdGFzbWFydH0KKyAKKyAgICAgICAgIE1haW50YWluZXIgbW9kZTogICAgICAgICAgICAke1VTRV9NQUlOVEFJTkVSX01PREV9CisgICAgICAgICBQcm9maWxpbmc6ICAgICAgICAgICAgICAgICAgJHtlbmFibGVfcHJvZmlsaW5nfQorZGlmZiAtLWdpdCBhL3NyYy9hZGFwdGVyLXByaXZhdGUuaCBiL3NyYy9hZGFwdGVyLXByaXZhdGUuaAoraW5kZXggMzQwOWUyMS4uZWY1ODRlMyAxMDA2NDQKKy0tLSBhL3NyYy9hZGFwdGVyLXByaXZhdGUuaAorKysrIGIvc3JjL2FkYXB0ZXItcHJpdmF0ZS5oCitAQCAtMjMsNyArMjMsNiBAQAorIAorICNpbmNsdWRlIDxkYnVzL2RidXMtZ2xpYi5oPgorICNpbmNsdWRlIDxndWRldi9ndWRldi5oPgorLSNpbmNsdWRlIDxhdGFzbWFydC5oPgorIAorICNpbmNsdWRlICJ0eXBlcy5oIgorIAorZGlmZiAtLWdpdCBhL3NyYy9hZGFwdGVyLmMgYi9zcmMvYWRhcHRlci5jCitpbmRleCBiODVhMGVmLi44MDI0MjBiIDEwMDY0NAorLS0tIGEvc3JjL2FkYXB0ZXIuYworKysrIGIvc3JjL2FkYXB0ZXIuYworQEAgLTMwLDcgKzMwLDYgQEAKKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWIuaD4KKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWItbG93bGV2ZWwuaD4KKyAjaW5jbHVkZSA8Z3VkZXYvZ3VkZXYuaD4KKy0jaW5jbHVkZSA8YXRhc21hcnQuaD4KKyAKKyAjaW5jbHVkZSAiZGFlbW9uLmgiCisgI2luY2x1ZGUgImFkYXB0ZXIuaCIKK2RpZmYgLS1naXQgYS9zcmMvZGFlbW9uLmMgYi9zcmMvZGFlbW9uLmMKK2luZGV4IDYwNzI1MDIuLmQwNDNjYjAgMTAwNjQ0CistLS0gYS9zcmMvZGFlbW9uLmMKKysrKyBiL3NyYy9kYWVtb24uYworQEAgLTE3NDUsNiArMTc0NSw3IEBAIG1kc3RhdF9jaGFuZ2VkX2V2ZW50IChHSU9DaGFubmVsICpjaGFubmVsLAorICAgcmV0dXJuIFRSVUU7CisgfQorIAorKyNpZmRlZiBIQVZFX0xJQkFUQVNNQVJUCisgc3RhdGljIGdib29sZWFuCisgcmVmcmVzaF9hdGFfc21hcnRfZGF0YSAoRGFlbW9uICpkYWVtb24pCisgeworQEAgLTE3NzMsNiArMTc3NCw3IEBAIHJlZnJlc2hfYXRhX3NtYXJ0X2RhdGEgKERhZW1vbiAqZGFlbW9uKQorIAorICAgcmV0dXJuIEZBTFNFOworIH0KKysjZW5kaWYKKyAKKyBzdGF0aWMgZ2Jvb2xlYW4KKyByZWdpc3Rlcl9kaXNrc19kYWVtb24gKERhZW1vbiAqZGFlbW9uKQorQEAgLTE5ODQsMTIgKzE5ODYsMTQgQEAgZGFlbW9uX25ldyAodm9pZCkKKyAgIG1vdW50X2ZpbGVfY2xlYW5fc3RhbGUgKGwpOworICAgZ19saXN0X2ZyZWUgKGwpOworIAorKyNpZmRlZiBIQVZFX0xJQkFUQVNNQVJUCisgICAvKiBzZXQgdXAgdGltZXIgZm9yIHJlZnJlc2hpbmcgQVRBIFNNQVJUIGRhdGEgLSB3ZSBkb24ndCB3YW50IHRvIHJlZnJlc2ggaW1tZWRpYXRlbHkgYmVjYXVzZQorICAgICogd2hlbiBhZGRpbmcgYSBkZXZpY2Ugd2UgYWxzbyBkbyB0aGlzLi4uCisgICAgKi8KKyAgIGRhZW1vbi0+cHJpdi0+YXRhX3NtYXJ0X3JlZnJlc2hfdGltZXJfaWQgPSBnX3RpbWVvdXRfYWRkX3NlY29uZHMgKEFUQV9TTUFSVF9SRUZSRVNIX0lOVEVSVkFMX1NFQ09ORFMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR1NvdXJjZUZ1bmMpIHJlZnJlc2hfYXRhX3NtYXJ0X2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYWVtb24pOworKyNlbmRpZgorIAorICAgUFJPRklMRSAoImRhZW1vbl9uZXcoKTogZW5kIik7CisgICByZXR1cm4gZGFlbW9uOworZGlmZiAtLWdpdCBhL3NyYy9kZXZpY2UtcHJpdmF0ZS5jIGIvc3JjL2RldmljZS1wcml2YXRlLmMKK2luZGV4IDIyYTBkMzUuLmZiOTY1MjUgMTAwNjQ0CistLS0gYS9zcmMvZGV2aWNlLXByaXZhdGUuYworKysrIGIvc3JjL2RldmljZS1wcml2YXRlLmMKK0BAIC0xMzc4LDcgKzEzNzgsNyBAQCBkZXZpY2Vfc2V0X2RyaXZlX2F0YV9zbWFydF90aW1lX2NvbGxlY3RlZCAoRGV2aWNlICpkZXZpY2UsCisgCisgdm9pZAorIGRldmljZV9zZXRfZHJpdmVfYXRhX3NtYXJ0X3N0YXR1cyAoRGV2aWNlICpkZXZpY2UsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTa1NtYXJ0T3ZlcmFsbCB2YWx1ZSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50IHZhbHVlKQorIHsKKyAgIGlmIChHX1VOTElLRUxZIChkZXZpY2UtPnByaXYtPmRyaXZlX2F0YV9zbWFydF9zdGF0dXMgIT0gdmFsdWUpKQorICAgICB7CitkaWZmIC0tZ2l0IGEvc3JjL2RldmljZS1wcml2YXRlLmggYi9zcmMvZGV2aWNlLXByaXZhdGUuaAoraW5kZXggYTZkYjdmMi4uNzE0NzNhNiAxMDA2NDQKKy0tLSBhL3NyYy9kZXZpY2UtcHJpdmF0ZS5oCisrKysgYi9zcmMvZGV2aWNlLXByaXZhdGUuaAorQEAgLTIzLDcgKzIzLDYgQEAKKyAKKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWIuaD4KKyAjaW5jbHVkZSA8Z3VkZXYvZ3VkZXYuaD4KKy0jaW5jbHVkZSA8YXRhc21hcnQuaD4KKyAKKyAjaW5jbHVkZSAidHlwZXMuaCIKKyAKK0BAIC0yMjQsNyArMjIzLDcgQEAgc3RydWN0IERldmljZVByaXZhdGUKKyAKKyAgIGdib29sZWFuIGRyaXZlX2F0YV9zbWFydF9pc19hdmFpbGFibGU7CisgICBndWludDY0IGRyaXZlX2F0YV9zbWFydF90aW1lX2NvbGxlY3RlZDsKKy0gIFNrU21hcnRPdmVyYWxsIGRyaXZlX2F0YV9zbWFydF9zdGF0dXM7CisrICBndWludCBkcml2ZV9hdGFfc21hcnRfc3RhdHVzOworICAgdm9pZCAqZHJpdmVfYXRhX3NtYXJ0X2Jsb2I7CisgICBnc2l6ZSBkcml2ZV9hdGFfc21hcnRfYmxvYl9zaXplOworIAorQEAgLTM5MSw3ICszOTAsNyBAQCB2b2lkIGRldmljZV9zZXRfaG9sZGVyc19vYmpwYXRoIChEZXZpY2UgKmRldmljZSwgR1N0cnYgdmFsdWUpOworIAorIHZvaWQgZGV2aWNlX3NldF9kcml2ZV9hdGFfc21hcnRfaXNfYXZhaWxhYmxlIChEZXZpY2UgKmRldmljZSwgZ2Jvb2xlYW4gdmFsdWUpOworIHZvaWQgZGV2aWNlX3NldF9kcml2ZV9hdGFfc21hcnRfdGltZV9jb2xsZWN0ZWQgKERldmljZSAqZGV2aWNlLCBndWludDY0IHZhbHVlKTsKKy12b2lkIGRldmljZV9zZXRfZHJpdmVfYXRhX3NtYXJ0X3N0YXR1cyAoRGV2aWNlICpkZXZpY2UsIFNrU21hcnRPdmVyYWxsIHZhbHVlKTsKKyt2b2lkIGRldmljZV9zZXRfZHJpdmVfYXRhX3NtYXJ0X3N0YXR1cyAoRGV2aWNlICpkZXZpY2UsIGd1aW50IHZhbHVlKTsKKyB2b2lkIGRldmljZV9zZXRfZHJpdmVfYXRhX3NtYXJ0X2Jsb2Jfc3RlYWwgKERldmljZSAqZGV2aWNlLCBnY2hhciAqYmxvYiwgZ3NpemUgYmxvYl9zaXplKTsKKyAKKyBHX0VORF9ERUNMUworZGlmZiAtLWdpdCBhL3NyYy9kZXZpY2UuYyBiL3NyYy9kZXZpY2UuYworaW5kZXggNmEzNDk0MC4uN2E1YTRhOSAxMDA2NDQKKy0tLSBhL3NyYy9kZXZpY2UuYworKysrIGIvc3JjL2RldmljZS5jCitAQCAtNTAsNyArNTAsOSBAQAorICNpbmNsdWRlIDxkYnVzL2RidXMtZ2xpYi5oPgorICNpbmNsdWRlIDxkYnVzL2RidXMtZ2xpYi1sb3dsZXZlbC5oPgorICNpbmNsdWRlIDxndWRldi9ndWRldi5oPgorKyNpZmRlZiBIQVZFX0xJQkFUQVNNQVJUCisgI2luY2x1ZGUgPGF0YXNtYXJ0Lmg+CisrI2VuZGlmCisgCisgI2luY2x1ZGUgImRhZW1vbi5oIgorICNpbmNsdWRlICJkZXZpY2UuaCIKK0BAIC02NTksMTAgKzY2MSwxNCBAQCBnZXRfcHJvcGVydHkgKEdPYmplY3QgKm9iamVjdCwKKyAgICAgY2FzZSBQUk9QX0RSSVZFX0FUQV9TTUFSVF9TVEFUVVM6CisgICAgICAgeworICAgICAgICAgY29uc3QgZ2NoYXIgKnN0YXR1czsKKy0gICAgICAgIGlmIChkZXZpY2UtPnByaXYtPmRyaXZlX2F0YV9zbWFydF9zdGF0dXMgPT0gKFNrU21hcnRPdmVyYWxsKSAtIDEpCisrI2lmZGVmIEhBVkVfTElCQVRBU01BUlQKKysgICAgICAgIGlmIChkZXZpY2UtPnByaXYtPmRyaXZlX2F0YV9zbWFydF9zdGF0dXMgPT0gKGd1aW50KSAtIDEpCisgICAgICAgICAgIHN0YXR1cyA9ICIiOworICAgICAgICAgZWxzZQorICAgICAgICAgICBzdGF0dXMgPSBza19zbWFydF9vdmVyYWxsX3RvX3N0cmluZyAoZGV2aWNlLT5wcml2LT5kcml2ZV9hdGFfc21hcnRfc3RhdHVzKTsKKysjZWxzZQorKyAgICAgICAgc3RhdHVzID0gIiI7CisrI2VuZGlmCisgICAgICAgICBnX3ZhbHVlX3NldF9zdHJpbmcgKHZhbHVlLCBzdGF0dXMpOworICAgICAgIH0KKyAgICAgICBicmVhazsKK0BAIC01MTE0LDYgKzUxMjAsNyBAQCBkZXZpY2VfbmV3IChEYWVtb24gKmRhZW1vbiwKKyAgICAgICBnb3RvIG91dDsKKyAgICAgfQorIAorKyNpZmRlZiBIQVZFX0xJQkFUQVNNQVJUCisgICAvKiBpZiBqdXN0IGFkZGVkLCB1cGRhdGUgdGhlIHNtYXJ0IGRhdGEgaWYgYXBwbGljYWJsZSAqLworICAgaWYgKGRldmljZS0+cHJpdi0+ZHJpdmVfYXRhX3NtYXJ0X2lzX2F2YWlsYWJsZSkKKyAgICAgeworQEAgLTUxMjEsNiArNTEyOCw3IEBAIGRldmljZV9uZXcgKERhZW1vbiAqZGFlbW9uLAorICAgICAgIGdjaGFyICphdGFfc21hcnRfcmVmcmVzaF9kYXRhX29wdGlvbnNbXSA9IHsgTlVMTCB9OworICAgICAgIGRldmljZV9kcml2ZV9hdGFfc21hcnRfcmVmcmVzaF9kYXRhIChkZXZpY2UsIGF0YV9zbWFydF9yZWZyZXNoX2RhdGFfb3B0aW9ucywgTlVMTCk7CisgICAgIH0KKysjZW5kaWYKKyAKKyAgIFBST0ZJTEUgKCJkZXZpY2VfbmV3KG5hdGl2ZV9wYXRoPSVzKTogZW5kIiwgbmF0aXZlX3BhdGgpOworICBvdXQ6CitAQCAtOTc5NCwxNiArOTgwMiwxOCBAQCBkcml2ZV9hdGFfc21hcnRfcmVmcmVzaF9kYXRhX2NvbXBsZXRlZF9jYiAoREJ1c0dNZXRob2RJbnZvY2F0aW9uICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdGRvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdwb2ludGVyIHVzZXJfZGF0YSkKKyB7CisrI2lmZGVmIEhBVkVfTElCQVRBU01BUlQKKyAgIGdpbnQgcmM7CistICBTa0Rpc2sgKmQ7CisrICBTa0Rpc2sgKmQgPSBOVUxMOworKyAgU2tTbWFydE92ZXJhbGwgb3ZlcmFsbDsKKyAgIGdjaGFyICpibG9iOworICAgZ3NpemUgYmxvYl9zaXplOworICAgdGltZV90IHRpbWVfY29sbGVjdGVkOworLSAgU2tTbWFydE92ZXJhbGwgb3ZlcmFsbDsKKysjZW5kaWYKKyAKKyAgIFBST0ZJTEUgKCJkcml2ZV9hdGFfc21hcnRfcmVmcmVzaF9kYXRhX2NvbXBsZXRlZF9jYihkZXZpY2U9JXMpIHN0YXJ0IiwgZGV2aWNlLT5wcml2LT5uYXRpdmVfcGF0aCk7CisgCistICBkID0gTlVMTDsKKysjaWZkZWYgSEFWRV9MSUJBVEFTTUFSVAorICAgYmxvYiA9IE5VTEw7CisgCisgICBpZiAoam9iX3dhc19jYW5jZWxsZWQgfHwgc3Rkb3V0ID09IE5VTEwpCitAQCAtOTkwNyw2ICs5OTE3LDExIEBAIGRyaXZlX2F0YV9zbWFydF9yZWZyZXNoX2RhdGFfY29tcGxldGVkX2NiIChEQnVzR01ldGhvZEludm9jYXRpb24gKmNvbnRleHQsCisgICBnX2ZyZWUgKGJsb2IpOworICAgaWYgKGQgIT0gTlVMTCkKKyAgICAgc2tfZGlza19mcmVlIChkKTsKKysKKysjZWxzZQorKyAgdGhyb3dfZXJyb3IgKGNvbnRleHQsIEVSUk9SX0ZBSUxFRCwgImxpYmF0YXNtYXJ0IHN1cHBvcnQgZGlzYWJsZWQiKTsKKysjZW5kaWYKKysKKyAgIFBST0ZJTEUgKCJkcml2ZV9hdGFfc21hcnRfcmVmcmVzaF9kYXRhX2NvbXBsZXRlZF9jYihkZXZpY2U9JXMpIGVuZCIsIGRldmljZS0+cHJpdi0+bmF0aXZlX3BhdGgpOworIH0KKyAKK2RpZmYgLS1naXQgYS9zcmMvZXhwYW5kZXItcHJpdmF0ZS5oIGIvc3JjL2V4cGFuZGVyLXByaXZhdGUuaAoraW5kZXggZWY0ZjQ0MC4uOThhODMwMCAxMDA2NDQKKy0tLSBhL3NyYy9leHBhbmRlci1wcml2YXRlLmgKKysrKyBiL3NyYy9leHBhbmRlci1wcml2YXRlLmgKK0BAIC0yMyw3ICsyMyw2IEBACisgCisgI2luY2x1ZGUgPGRidXMvZGJ1cy1nbGliLmg+CisgI2luY2x1ZGUgPGd1ZGV2L2d1ZGV2Lmg+CistI2luY2x1ZGUgPGF0YXNtYXJ0Lmg+CisgCisgI2luY2x1ZGUgInR5cGVzLmgiCisgCitkaWZmIC0tZ2l0IGEvc3JjL2V4cGFuZGVyLmMgYi9zcmMvZXhwYW5kZXIuYworaW5kZXggNzM0ZWMwYS4uZTc5OWYxMyAxMDA2NDQKKy0tLSBhL3NyYy9leHBhbmRlci5jCisrKysgYi9zcmMvZXhwYW5kZXIuYworQEAgLTM0LDcgKzM0LDYgQEAKKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWIuaD4KKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWItbG93bGV2ZWwuaD4KKyAjaW5jbHVkZSA8Z3VkZXYvZ3VkZXYuaD4KKy0jaW5jbHVkZSA8YXRhc21hcnQuaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgCisgI2luY2x1ZGUgImRhZW1vbi5oIgorZGlmZiAtLWdpdCBhL3NyYy9oZWxwZXJzL01ha2VmaWxlLmFtIGIvc3JjL2hlbHBlcnMvTWFrZWZpbGUuYW0KK2luZGV4IDRiODYzYzAuLmQzZWM0ZTkgMTAwNjQ0CistLS0gYS9zcmMvaGVscGVycy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2hlbHBlcnMvTWFrZWZpbGUuYW0KK0BAIC0xOSwxNSArMTksOSBAQCBJTkNMVURFUyA9IFwKKyAKKyBsaWJleGVjX1BST0dSQU1TID0gCQkJCQlcCisgCXVkaXNrcy1oZWxwZXItbWtmcyAgICAgICAgICAgICAgICAgICAgCQlcCistCXVkaXNrcy1oZWxwZXItZGVsZXRlLXBhcnRpdGlvbiAgICAgICAgCQlcCistCXVkaXNrcy1oZWxwZXItY3JlYXRlLXBhcnRpdGlvbiAgICAgICAgCQlcCistCXVkaXNrcy1oZWxwZXItbW9kaWZ5LXBhcnRpdGlvbiAgICAgICAgCQlcCistCXVkaXNrcy1oZWxwZXItY3JlYXRlLXBhcnRpdGlvbi10YWJsZQkJXAorIAl1ZGlza3MtaGVscGVyLWNoYW5nZS1maWxlc3lzdGVtLWxhYmVsIAkJXAorIAl1ZGlza3MtaGVscGVyLWxpbnV4LW1kLXJlbW92ZS1jb21wb25lbnQJCVwKKyAJdWRpc2tzLWhlbHBlci1mc3RhYi1tb3VudGVyCQkJXAorLQl1ZGlza3MtaGVscGVyLWF0YS1zbWFydC1jb2xsZWN0CQkJXAorLQl1ZGlza3MtaGVscGVyLWF0YS1zbWFydC1zZWxmdGVzdAkJXAorIAl1ZGlza3MtaGVscGVyLWRyaXZlLWRldGFjaAkJCVwKKyAJdWRpc2tzLWhlbHBlci1kcml2ZS1wb2xsCQkJXAorIAl1ZGlza3MtaGVscGVyLWxpbnV4LW1kLWNoZWNrCQkJXAorQEAgLTQ4LDYgKzQyLDEzIEBAIHVkaXNrc19oZWxwZXJfbWtmc19TT1VSQ0VTID0gam9iLXNoYXJlZC5oIGpvYi1ta2ZzLmMKKyB1ZGlza3NfaGVscGVyX21rZnNfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQorIHVkaXNrc19oZWxwZXJfbWtmc19MREFERCA9ICQoR0xJQl9MSUJTKQorIAorK2lmIEhBVkVfUEFSVEVECisrbGliZXhlY19QUk9HUkFNUyArPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrCXVkaXNrcy1oZWxwZXItZGVsZXRlLXBhcnRpdGlvbiAgICAgICAgCQlcCisrCXVkaXNrcy1oZWxwZXItY3JlYXRlLXBhcnRpdGlvbiAgICAgICAgCQlcCisrCXVkaXNrcy1oZWxwZXItbW9kaWZ5LXBhcnRpdGlvbiAgICAgICAgCQlcCisrCXVkaXNrcy1oZWxwZXItY3JlYXRlLXBhcnRpdGlvbi10YWJsZQorKworIHVkaXNrc19oZWxwZXJfZGVsZXRlX3BhcnRpdGlvbl9TT1VSQ0VTID0gam9iLXNoYXJlZC5oIGpvYi1kZWxldGUtcGFydGl0aW9uLmMKKyB1ZGlza3NfaGVscGVyX2RlbGV0ZV9wYXJ0aXRpb25fQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQorIHVkaXNrc19oZWxwZXJfZGVsZXRlX3BhcnRpdGlvbl9MREFERCA9ICQoR0xJQl9MSUJTKSBsaWJwYXJ0dXRpbC5sYQorQEAgLTYzLDExICs2NCwxNyBAQCB1ZGlza3NfaGVscGVyX21vZGlmeV9wYXJ0aXRpb25fTERBREQgPSAkKEdMSUJfTElCUykgbGlicGFydHV0aWwubGEKKyB1ZGlza3NfaGVscGVyX2NyZWF0ZV9wYXJ0aXRpb25fdGFibGVfU09VUkNFUyA9IGpvYi1zaGFyZWQuaCBqb2ItY3JlYXRlLXBhcnRpdGlvbi10YWJsZS5jCisgdWRpc2tzX2hlbHBlcl9jcmVhdGVfcGFydGl0aW9uX3RhYmxlX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKKyB1ZGlza3NfaGVscGVyX2NyZWF0ZV9wYXJ0aXRpb25fdGFibGVfTERBREQgPSAkKEdMSUJfTElCUykgbGlicGFydHV0aWwubGEKKytlbmRpZgorIAorIHVkaXNrc19oZWxwZXJfY2hhbmdlX2ZpbGVzeXN0ZW1fbGFiZWxfU09VUkNFUyA9IGpvYi1zaGFyZWQuaCBqb2ItY2hhbmdlLWZpbGVzeXN0ZW0tbGFiZWwuYworIHVkaXNrc19oZWxwZXJfY2hhbmdlX2ZpbGVzeXN0ZW1fbGFiZWxfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQorIHVkaXNrc19oZWxwZXJfY2hhbmdlX2ZpbGVzeXN0ZW1fbGFiZWxfTERBREQgPSAkKEdMSUJfTElCUykKKyAKKytpZiBIQVZFX0xJQkFUQVNNQVJUCisrbGliZXhlY19QUk9HUkFNUyArPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrCXVkaXNrcy1oZWxwZXItYXRhLXNtYXJ0LWNvbGxlY3QJCQlcCisrCXVkaXNrcy1oZWxwZXItYXRhLXNtYXJ0LXNlbGZ0ZXN0CisrCisgdWRpc2tzX2hlbHBlcl9hdGFfc21hcnRfc2VsZnRlc3RfU09VUkNFUyA9IGpvYi1zaGFyZWQuaCBqb2ItYXRhLXNtYXJ0LXNlbGZ0ZXN0LmMKKyB1ZGlza3NfaGVscGVyX2F0YV9zbWFydF9zZWxmdGVzdF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpICQoTElCQVRBU01BUlRfQ0ZMQUdTKSAkKEdMSUJfQ0ZMQUdTKQorIHVkaXNrc19oZWxwZXJfYXRhX3NtYXJ0X3NlbGZ0ZXN0X0xEQUREID0gJChMSUJBVEFTTUFSVF9MSUJTKSAkKEdMSUJfTElCUykKK0BAIC03NSw2ICs4Miw3IEBAIHVkaXNrc19oZWxwZXJfYXRhX3NtYXJ0X3NlbGZ0ZXN0X0xEQUREID0gJChMSUJBVEFTTUFSVF9MSUJTKSAkKEdMSUJfTElCUykKKyB1ZGlza3NfaGVscGVyX2F0YV9zbWFydF9jb2xsZWN0X1NPVVJDRVMgPSBqb2ItYXRhLXNtYXJ0LWNvbGxlY3QuYworIHVkaXNrc19oZWxwZXJfYXRhX3NtYXJ0X2NvbGxlY3RfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKSAkKExJQkFUQVNNQVJUX0NGTEFHUykgJChHTElCX0NGTEFHUykKKyB1ZGlza3NfaGVscGVyX2F0YV9zbWFydF9jb2xsZWN0X0xEQUREID0gJChMSUJBVEFTTUFSVF9MSUJTKSAkKEdMSUJfTElCUykKKytlbmRpZgorIAorIHVkaXNrc19oZWxwZXJfbGludXhfbWRfcmVtb3ZlX2NvbXBvbmVudF9TT1VSQ0VTID0gam9iLXNoYXJlZC5oIGpvYi1saW51eC1tZC1yZW1vdmUtY29tcG9uZW50LmMKKyB1ZGlza3NfaGVscGVyX2xpbnV4X21kX3JlbW92ZV9jb21wb25lbnRfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKQorZGlmZiAtLWdpdCBhL3NyYy9oZWxwZXJzL3BhcnR1dGlsLmMgYi9zcmMvaGVscGVycy9wYXJ0dXRpbC5jCitpbmRleCA3MmE4ZmUzLi44ODkzYTM5IDEwMDY0NAorLS0tIGEvc3JjL2hlbHBlcnMvcGFydHV0aWwuYworKysrIGIvc3JjL2hlbHBlcnMvcGFydHV0aWwuYworQEAgLTYyLDcgKzYyLDYgQEAgREVCVUcgKGNvbnN0IGdjaGFyICpmb3JtYXQsCisgIyAgaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBVU0VfUEFSVEVECisgI2lmZGVmIFVTRV9QQVJURUQKKyAjaW5jbHVkZSA8cGFydGVkL3BhcnRlZC5oPgorICNlbmRpZgorQEAgLTkyOCw2ICs5MjcsNyBAQCBwYXJ0X3RhYmxlX3BhcnNlX2FwcGxlIChpbnQgZmQsCisgICByZXR1cm4gcDsKKyB9CisgCisrI2lmZGVmIFVTRV9QQVJURUQKKyBzdGF0aWMgUGFydGl0aW9uVGFibGUgKgorIHBhcnRfdGFibGVfbG9hZF9mcm9tX2Rpc2tfZnJvbV9maWxlIChjaGFyICpkZXZpY2VfZmlsZSkKKyB7CitAQCAtOTQ4LDYgKzk0OCw3IEBAIHBhcnRfdGFibGVfbG9hZF9mcm9tX2Rpc2tfZnJvbV9maWxlIChjaGFyICpkZXZpY2VfZmlsZSkKKyAgb3V0OgorICAgcmV0dXJuIHJldDsKKyB9CisrI2VuZGlmCisgCisgUGFydGl0aW9uVGFibGUgKgorIHBhcnRfdGFibGVfbG9hZF9mcm9tX2Rpc2sgKGludCBmZCkKK2RpZmYgLS1naXQgYS9zcmMvcG9ydC1wcml2YXRlLmggYi9zcmMvcG9ydC1wcml2YXRlLmgKK2luZGV4IGNjNDgzNzYuLmE5MTUzMmYgMTAwNjQ0CistLS0gYS9zcmMvcG9ydC1wcml2YXRlLmgKKysrKyBiL3NyYy9wb3J0LXByaXZhdGUuaAorQEAgLTIzLDcgKzIzLDYgQEAKKyAKKyAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWIuaD4KKyAjaW5jbHVkZSA8Z3VkZXYvZ3VkZXYuaD4KKy0jaW5jbHVkZSA8YXRhc21hcnQuaD4KKyAKKyAjaW5jbHVkZSAidHlwZXMuaCIKKyAKK2RpZmYgLS1naXQgYS9zcmMvcHJvYmVycy9NYWtlZmlsZS5hbSBiL3NyYy9wcm9iZXJzL01ha2VmaWxlLmFtCitpbmRleCAwNmJiNTY2Li4wMWM2OTNiIDEwMDY0NAorLS0tIGEvc3JjL3Byb2JlcnMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9wcm9iZXJzL01ha2VmaWxlLmFtCitAQCAtMjIsOCArMjIsNiBAQCBJTkNMVURFUyA9IFwKKyAKKyB1ZGV2aGVscGVyZGlyID0gJChzbGFzaGxpYmRpcikvdWRldgorIHVkZXZoZWxwZXJfUFJPR1JBTVMgPQl1ZGlza3MtcGFydC1pZCAJCQlcCistCQkJdWRpc2tzLWRtLWV4cG9ydCAJCVwKKy0JCSAgICAgIAl1ZGlza3MtcHJvYmUtYXRhLXNtYXJ0IAkJXAorIAkJCXVkaXNrcy1wcm9iZS1zYXMtZXhwYW5kZXIgCVwKKyAJCQkkKE5VTEwpCisgCitAQCAtMzUsMTcgKzMzLDIzIEBAIHVkaXNrc19wYXJ0X2lkX1NPVVJDRVMgPSBwYXJ0LWlkLmMKKyB1ZGlza3NfcGFydF9pZF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpICQoTElCVURFVl9DRkxBR1MpCisgdWRpc2tzX3BhcnRfaWRfTERBREQgPSAkKEdMSUJfTElCUykgJChMSUJVREVWX0xJQlMpICQodG9wX2J1aWxkZGlyKS9zcmMvaGVscGVycy9saWJwYXJ0dXRpbC5sYQorIAorK2lmIEhBVkVfREVWTUFQUEVSCisrdWRldmhlbHBlcl9QUk9HUkFNUyArPSB1ZGlza3MtZG0tZXhwb3J0CisgdWRpc2tzX2RtX2V4cG9ydF9TT1VSQ0VTID0gdWRpc2tzLWRtLWV4cG9ydC5jCisgdWRpc2tzX2RtX2V4cG9ydF9DUFBGTEFHUyA9ICQoQU1fQ1BQRkxBR1MpICQoREVWTUFQUEVSX0NGTEFHUykgJChHTElCX0NGTEFHUykKKyB1ZGlza3NfZG1fZXhwb3J0X0xEQUREID0gJChERVZNQVBQRVJfTElCUykgJChHTElCX0xJQlMpCisrZW5kaWYKKyAKKyB1ZGlza3NfbHZtX3B2X2V4cG9ydF9TT1VSQ0VTID0gdWRpc2tzLWx2bS1wdi1leHBvcnQuYworIHVkaXNrc19sdm1fcHZfZXhwb3J0X0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykgJChERVZNQVBQRVJfQ0ZMQUdTKSAkKExWTTJfQ0ZMQUdTKSAkKEdMSUJfQ0ZMQUdTKQorIHVkaXNrc19sdm1fcHZfZXhwb3J0X0xEQUREID0gJChERVZNQVBQRVJfTElCUykgJChMVk0yX0xJQlMpICQoR0xJQl9MSUJTKQorIAorK2lmIEhBVkVfTElCQVRBU01BUlQKKyt1ZGV2aGVscGVyX1BST0dSQU1TICs9IHVkaXNrcy1wcm9iZS1hdGEtc21hcnQKKyB1ZGlza3NfcHJvYmVfYXRhX3NtYXJ0X1NPVVJDRVMgPSB1ZGlza3MtcHJvYmUtYXRhLXNtYXJ0LmMKKyB1ZGlza3NfcHJvYmVfYXRhX3NtYXJ0X0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykgJChMSUJBVEFTTUFSVF9DRkxBR1MpCisgdWRpc2tzX3Byb2JlX2F0YV9zbWFydF9MREFERCA9ICQoTElCQVRBU01BUlRfTElCUykKKytlbmRpZgorIAorIHVkaXNrc19wcm9iZV9zYXNfZXhwYW5kZXJfU09VUkNFUyA9IHVkaXNrcy1wcm9iZS1zYXMtZXhwYW5kZXIuYworIHVkaXNrc19wcm9iZV9zYXNfZXhwYW5kZXJfQ1BQRkxBR1MgPSAkKEFNX0NQUEZMQUdTKSAkKEdMSUJfQ0ZMQUdTKQorZGlmZiAtLWdpdCBhL3Rvb2xzL3VkaXNrcy5jIGIvdG9vbHMvdWRpc2tzLmMKK2luZGV4IDZmYmQ2YTYuLmUwYzRmYmIgMTAwNjQ0CistLS0gYS90b29scy91ZGlza3MuYworKysrIGIvdG9vbHMvdWRpc2tzLmMKK0BAIC00Myw3ICs0Myw5IEBACisgI2luY2x1ZGUgPGRidXMvZGJ1cy1nbGliLmg+CisgI2luY2x1ZGUgPGRidXMvZGJ1cy1nbGliLWxvd2xldmVsLmg+CisgCisrI2lmZGVmIEhBVkVfTElCQVRBU01BUlQKKyAjaW5jbHVkZSA8YXRhc21hcnQuaD4KKysjZW5kaWYKKyAKKyAjaW5jbHVkZSAidWRpc2tzLWRhZW1vbi1nbHVlLmgiCisgI2luY2x1ZGUgInVkaXNrcy1kZXZpY2UtZ2x1ZS5oIgorQEAgLTk3OSw2ICs5ODEsNyBAQCBlbmRfaGlnaGxpZ2h0ICh2b2lkKQorICAgICBnX3ByaW50ICgiXHgxQlswbSIpOworIH0KKyAKKysjaWZkZWYgSEFWRV9MSUJBVEFTTUFSVAorIHN0YXRpYyBjb25zdCBnY2hhciAqCisgYXRhX3NtYXJ0X3N0YXR1c190b19kZXNjIChjb25zdCBnY2hhciAqc3RhdHVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gKm91dF9oaWdobGlnaHQpCitAQCAtMTE1OSw2ICsxMTYyLDcgQEAgcHJpbnRfYXRhX3NtYXJ0X2F0dHIgKFNrRGlzayAqZCwKKyAgIGdfZnJlZSAodGhyZXNob2xkX3N0cik7CisgICBnX2ZyZWUgKHByZXR0eSk7CisgfQorKyNlbmRpZgorIAorIHN0YXRpYyB2b2lkCisgZG9fc2hvd19pbmZvIChjb25zdCBjaGFyICpvYmplY3RfcGF0aCkKK0BAIC0xNDQwLDcgKzE0NDQsNyBAQCBkb19zaG93X2luZm8gKGNvbnN0IGNoYXIgKm9iamVjdF9wYXRoKQorICAgICAgICAgZ19wcmludCAoIiAgICBpZiBzcGVlZDogICAgICAgICAgICAgICAgICAlIiBHX0dJTlQ2NF9GT1JNQVQgIiBiaXRzL3NcbiIsIHByb3BzLT5kcml2ZV9jb25uZWN0aW9uX3NwZWVkKTsKKyAKKyAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCistCisrI2lmZGVmIEhBVkVfTElCQVRBU01BUlQKKyAgICAgICBpZiAoIXByb3BzLT5kcml2ZV9hdGFfc21hcnRfaXNfYXZhaWxhYmxlKQorICAgICAgICAgeworICAgICAgICAgICBnX3ByaW50ICgiICAgIEFUQSBTTUFSVDogICAgICAgICAgICAgICAgIG5vdCBhdmFpbGFibGVcbiIpOworQEAgLTE0OTMsNyArMTQ5Nyw5IEBAIGRvX3Nob3dfaW5mbyAoY29uc3QgY2hhciAqb2JqZWN0X3BhdGgpCisgICAgICAgICAgICAgfQorIAorICAgICAgICAgfQorLQorKyNlbHNlCisrICAgICAgICAgIGdfcHJpbnQgKCIgICAgQVRBIFNNQVJUOiAgICAgICAgICAgICAgICAgbm90IHN1cHBvcnRlZFxuIik7CisrI2VuZGlmCisgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworIAorICAgICB9CistLSAKKzEuNy41LnJjMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MvdWRpc2tzLTEuMC41LWZpeC1zZXJ2aWNlLWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MvdWRpc2tzLTEuMC41LWZpeC1zZXJ2aWNlLWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVlODRkMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrcy91ZGlza3MtMS4wLjUtZml4LXNlcnZpY2UtZmlsZS5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDdkNjFhZDA0ODg1NmVlMjM5ODcwYjkxN2Q2OTMzZTNhZDYzZjA3ODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEYXZpZCBLaW5nIDxhbWlnYWRhdmVAYW1pZ2FkYXZlLmNvbT4KK0RhdGU6IFRodSwgMiBKdWwgMjAxNSAxMzo0OToyMiArMDEwMAorU3ViamVjdDogW1BBVENIXSBGaXggc3lzdGVtZCBzZXJ2aWNlIGZpbGUKKwordWRpc2tzLWRhZW1vbiBpcyBpbnN0YWxsZWQgdG8gJChsaWJleGVjZGlyKSwgbm90ICQocHJlZml4KS9saWIvdWRpc2tzLgorCitodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTEyMzg2NjQKK2h0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMTkxCisKK1Rha2VuLUZyb206IFsxXQorWzFdIGh0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL2NnaXQvdWRpc2tzLmdpdC90cmVlL3VkaXNrcy0xLjAuNS1maXgtc2VydmljZS1maWxlLnBhdGNoCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgZGF0YS9NYWtlZmlsZS5hbSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2RhdGEvTWFrZWZpbGUuYW0gYi9kYXRhL01ha2VmaWxlLmFtCitpbmRleCA0MTFlYTBmLi4wOGFmNWY0IDEwMDY0NAorLS0tIGEvZGF0YS9NYWtlZmlsZS5hbQorKysrIGIvZGF0YS9NYWtlZmlsZS5hbQorQEAgLTMxLDcgKzMxLDcgQEAgc3lzdGVtZHNlcnZpY2VkaXIgICAgICAgPSAkKHN5c3RlbWRzeXN0ZW11bml0ZGlyKQorIHN5c3RlbWRzZXJ2aWNlX0RBVEEgICAgID0gJChzeXN0ZW1kc2VydmljZV9pbl9maWxlczouc2VydmljZS5pbj0uc2VydmljZSkKKyAKKyAkKHN5c3RlbWRzZXJ2aWNlX0RBVEEpOiAkKHN5c3RlbWRzZXJ2aWNlX2luX2ZpbGVzKSBNYWtlZmlsZQorLQlAc2VkIC1lICJzfFxAbGliZXhlY2RpclxAfCQocHJlZml4KS9saWIvdWRpc2tzfCIgJDwgPiAkQAorKwlAc2VkIC1lICJzfFxAbGliZXhlY2RpclxAfCQobGliZXhlY2Rpcil8IiAkPCA+ICRACisgZW5kaWYKKyAKKyB1ZGV2cnVsZXNkaXIgPSAkKHNsYXNobGliZGlyKS91ZGV2L3J1bGVzLmQKKy0tIAorMi40LjUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrczJfMi4xLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MyXzIuMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNjVjZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MyXzIuMS41LmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAidWRpc2tzIHByb3ZpZGVzIGRidXMgaW50ZXJmYWNlcyBmb3IgZGlza3MgYW5kIHN0b3JhZ2UgZGV2aWNlcyIKK0xJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWRkNzlmNmRiYmZmZGJjOGU4NmIwODZhOGYwYzBlZjQzIgorCitERVBFTkRTID0gImFjbCBsaWJhdGFzbWFydCBwb2xraXQgbGliZ3VkZXYgZGJ1cy1nbGliIGdsaWItMi4wIGludGx0b29sLW5hdGl2ZSBnbm9tZS1jb21tb24tbmF0aXZlIgorREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IgorCitSREVQRU5EU18ke1BOfSA9ICJhY2wiCisKK1NSQ19VUkkgPSAiaHR0cDovL3VkaXNrcy5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvdWRpc2tzLSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiNzM2MzI1MDEwMDJlNmRlODI0NGY4MzFlMzhiMmI5OGUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmNmY2Y1NjA0NDdlYTQ0Y2JhMmE2ODMzNDJjNzA2MmFhYWYzNWU0ZWI1NTRiZWQ2NGFjMmRkNTVhNzBhNWZiNiIKKworaW5oZXJpdCBhdXRvdG9vbHMgc3lzdGVtZCBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitTID0gIiR7V09SS0RJUn0vdWRpc2tzLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW1hbiIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9wb2xraXQtMS9leHRlbnNpb25zLyouc28gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xLyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisgICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2LyogXAorICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9JHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGlza3MyLyogXAorIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbGlicyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYmFzaC1jb21wbGV0aW9uIgorRklMRVNfJHtQTn0tbGlicyA9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTfSIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2V4ZWNfcHJlZml4fSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRpc2tzMi8uZGVidWciCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrc18xLjAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrc18xLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWM2OTMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzXzEuMC41LmJiCkBAIC0wLDAgKzEsMzkgQEAKK0RFU0NSSVBUSU9OID0gIkEgc3RvcmFnZSBkYWVtb24gdGhhdCBpbXBsZW1lbnRzIHdlbGwtZGVmaW5lZCBELUJ1cyBpbnRlcmZhY2VzIHRoYXQgY2FuIGJlIHVzZWQgdG8gcXVlcnkgYW5kIG1hbmlwdWxhdGUgc3RvcmFnZSBkZXZpY2VzLiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzNkODNhZWJlN2U0YjYyMzQ2YWZkZTgwZTBlOTQyNzMiCisKK0RFUEVORFMgPSAibGliYXRhc21hcnQgc2czLXV0aWxzIHBvbGtpdCBsaWJndWRldiBkYnVzLWdsaWIgZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIGx2bTIiCisjIG9wdGlvbmFsIGRlcGVuZGVuY2llczogZGV2aWNlLW1hcHBlciBwYXJ0ZWQKKworREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL2hhbC5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci5nejtuYW1lPSR7QlBOfSBcCisgICAgZmlsZTovL29wdGlvbmFsLWRlcGVuZHMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLWZpeC1idWlsZC13aXRoLW5ld2VyLWdsaWJjLXZlcnNpb25zLnBhdGNoIFwKKyAgICBmaWxlOi8vdWRpc2tzLTEuMC41LWZpeC1zZXJ2aWNlLWZpbGUucGF0Y2ggXAorIgorCitTUkNfVVJJW3VkaXNrcy5tZDVzdW1dID0gIjcwZDQ4ZGNmZTUyM2E3NGNkN2M3ZmJiYzI4NDdmY2RkIgorU1JDX1VSSVt1ZGlza3Muc2hhMjU2c3VtXSA9ICJmMmVjODJlYjBlYTdlMDFkYzI5OWI1YjI5YjNjMThjZGY4NjEyMzZlYzQzZGNmZjY2YjM1NTJiNGIzMWM2ZjcxIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgc3lzdGVtZCBndGstZG9jCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3BhcnRlZF0gPSAiLS1lbmFibGUtcGFydGVkLC0tZGlzYWJsZS1wYXJ0ZWQscGFydGVkIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW1hbi1wYWdlcyIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9wb2xraXQtMS9leHRlbnNpb25zLyouc28gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xLyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisgICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2LyogXAorIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi8uZGVidWciCisKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAidWRpc2tzLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VpbS91aW0vMDAwMS1maXgtYnVnLWZvci1jcm9zcy1jb21waWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91aW0vdWltLzAwMDEtZml4LWJ1Zy1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjgyYjA3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91aW0vdWltLzAwMDEtZml4LWJ1Zy1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIDI5MTgxOTZiYTc4MmRmYTQ0MDFiZGNhOTE3YWQ0ZGUxOTEwNTA1ZTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMZWkgTWFvaHVpIDxsZWltYW9odWlAY24uZnVqaXRzdS5jb20+CitEYXRlOiBGcmksIDIxIEF1ZyAyMDE1IDE1OjU4OjQyICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBidWcgZm9yIGNyb3NzIGNvbXBpbGUKKworU2lnbmVkLW9mZi1ieTogTGVpIE1hb2h1aSA8bGVpbWFvaHVpQGNuLmZ1aml0c3UuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggOWJlODc5Yy4uOTI0OWJmZCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTIwOCw4ICsxMjA4LDggQEAgQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1saWJlZGl0Wz1ESVJdLCBFbmFibGUgbGliZWRpdCBzdXBwb3J0CisgaWYgdGVzdCAieCR1c2VfbGliZWRpdCIgIT0gInhubyI7IHRoZW4KKyAgICAgc2F2ZWRfQ1BQRkxBR1M9JENQUEZMQUdTCisgICAgIHNhdmVkX0xERkxBR1M9JExERkxBR1MKKy0gICAgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1JJGxpYmVkaXRfcGF0aC9pbmNsdWRlIgorLSAgICBMREZMQUdTPSIke0xERkxBR1N9IC1MJGxpYmVkaXRfcGF0aC9saWIiCisrICAgIENQUEZMQUdTPSIke0NQUEZMQUdTfSAiCisrICAgIExERkxBR1M9IiR7TERGTEFHU30gIgorICAgICBBQ19DSEVDS19MSUIoY3Vyc2VzLCB0Z2V0ZW50LCBMSUJFRElUX0xJQlM9Ii1sY3Vyc2VzIiwKKyAgICAgICAgIFtBQ19DSEVDS19MSUIobmN1cnNlcywgdGdldGVudCwgTElCRURJVF9MSUJTPSItbG5jdXJzZXMiLAorICAgICAgICAgICAgIEFDX01TR19XQVJOKCJsaWJlZGl0IG5lZWRzIGxpYmN1cnNlcyBvciBsaWJuY3Vyc2VzLiBkaXNhYmxlZC4uLiIpCistLSAKKzEuOC40LjIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91aW0vdWltL3VpbS1tb2R1bGUtbWFuYWdlci5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWltL3VpbS91aW0tbW9kdWxlLW1hbmFnZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU2OWJmMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWltL3VpbS91aW0tbW9kdWxlLW1hbmFnZXIucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIHVpbS0xLjEuMC9zY20vTWFrZWZpbGUuYW1+CTIwMDYtMDYtMDkgMTA6NDY6MTIuMDAwMDAwMDAwICswOTAwCisrKysgdWltLTEuMS4wL3NjbS9NYWtlZmlsZS5hbQkyMDA2LTA2LTE5IDIzOjAwOjE1LjYyMDAwMDAwMCArMDkwMAorQEAgLTU4LDcgKzU4LDcgQEAKKyAgIG1vZHVsZV9uYW1lcyArPSAic2NpbSIKKyBlbmRpZgorIAorLVVJTV9NT0RVTEVfTUFOQUdFUiA9ICQodG9wX2J1aWxkZGlyKS91aW0vdWltLW1vZHVsZS1tYW5hZ2VyCisrVUlNX01PRFVMRV9NQU5BR0VSID0gdWltLW1vZHVsZS1tYW5hZ2VyCisgVUlNX01PRFVMRV9NQU5BR0VSX0VOViA9IFwKKyAgICAgICAgIExJQlVJTV9TQ01fRklMRVM9JChhYnNfc3JjZGlyKSBcCisgICAgICAgICBMSUJVSU1fUExVR0lOX0xJQl9ESVI9JChhYnNfdG9wX2J1aWxkZGlyKS91aW0vLmxpYnMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWltL3VpbV8xLjguNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWltL3VpbV8xLjguNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Mjc4OGU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91aW0vdWltXzEuOC42LmJiCkBAIC0wLDAgKzEsMTUyIEBACitERVNDUklQVElPTiA9ICJBIG11bHRpbGluZ3VhbCB1c2VyIGlucHV0IG1ldGhvZCBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3VpbS5mcmVlZGVza3RvcC5vcmcvIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UgJiBMR1BMdjIrIgorU0VDVElPTiA9ICJpbnB1dG1ldGhvZHMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3VpbS5nb29nbGVjb2RlLmNvbS9maWxlcy91aW0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiZmlsZTovL3VpbS1tb2R1bGUtbWFuYWdlci5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWJ1Zy1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzI0NjNmZDI5YWEzMDNmYjIzNjBmYWVlYWUxNzI1NmIiCitTUkNfVVJJW21kNXN1bV0gPSAiZWNlYTRjNTk3YmFiMWZkNGJhOThlYTg0ZWRjZWNlNTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2IxZWE4MDNjNzNmMzQ3ODkxNzE2NmYwNGY2N2NjZTZlNDVhZDdlYTVhYjZkZjk5Yjk0OGMxN2ViMWNiMjM1ZiIKKworREVQRU5EUyA9ICJhbnRoeSBmb250Y29uZmlnIGxpYnhmdCBsaWJ4dCBnbGliLTIuMCBuY3Vyc2VzIGludGx0b29sIgorREVQRU5EU19jbGFzcy10YXJnZXQgKz0gImd0aysgZ3RrKzMgdWltLW5hdGl2ZSB0YWthby1mb250cyIKKworUkRFUEVORFNfdWltID0gImxpYnVpbTAgbGliZWRpdCIKK1JERVBFTkRTX3VpbS1hbnRoeSA9ICJ0YWthby1mb250cyBhbnRoeSBsaWJhbnRoeTAiCisKK0xFQURfU09OQU1FID0gImxpYnVpbS5zby4xIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAorCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1lbWFjcyBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1zY2ltIFwKKyAgICAgICAgICAgICAgICAgLS13aXRob3V0LW0xN25saWIgXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtcHJpbWUgXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtY2FubmEgXAorICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbWFuYSBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1lYiIKKworQ09ORklHVVJFT1BUU19yZW1vdmVfY2xhc3MtdGFyZ2V0ID0gIi0tZGlzYWJsZS1zaWxlbnQtcnVsZXMiCisKKyNCZWNhdXNlIG00IGZpbGUncyBmaW5kIG1heGRlcHRoPTIsIHNvIGNvcHkgdGhlIG00IGZpbGVzIG9mIHRoZSBkZWVwIGRlcHRoLgorZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIGNwICR7U30vc2lnc2NoZW1lL200LyogJHtTfS9tNC8KK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm0gLXJmICR7RH0vJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMKK30KKworUEFDS0FHRVMgKz0gInVpbS14aW0gdWltLXV0aWxzIHVpbS1za2sgdWltLWd0azIuMCB1aW0tZ3RrMyB1aW0tZmVwIHVpbS1jb21tb24gdWltLWFudGh5IGxpYnVpbTAgbGlidWltLWRldiIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9L3VpbS1oZWxwIFwKKyAgICAgICAgICAgICAgICR7bGliZGlyfS91aW0vcGx1Z2luL2xpYnVpbS0qIFwKKyAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJ1aW0tc2NtKiBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vbGliZ2Nyb290cyogXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3VpbS9wbHVnaW4vbGlidWltLSoiCisKK0ZJTEVTX2xpYnVpbTAgPSAiJHtsaWJkaXJ9L3VpbS9wbHVnaW4vbGlidWltLWN1c3RvbS1lbmFibGVyLiogXAorICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlidWltLWN1c3RvbS5zby4qIFwKKyAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9sb2NhbGUvamEvTENfTUVTU0FHRVMvdWltLm1vIFwKKyAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9sb2NhbGUvZnIvTENfTUVTU0FHRVMvdWltLm1vIFwKKyAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9sb2NhbGUva28vTENfTUVTU0FHRVMvdWltLm1vIFwKKyAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYnVpbS5zby4qIgorCitGSUxFU19saWJ1aW0tZGV2ID0gIiR7bGliZGlyfS9saWJ1aW0qLmEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlidWltKi5sYSBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJ1aW0qLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS91aW0gXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL3VpbS5wYyIKKworRklMRVNfdWltLWFudGh5ID0gIiR7bGliZGlyfS91aW0vcGx1Z2luL2xpYnVpbS1hbnRoeS4qIFwKKyAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3VpbS9hbnRoeSouc2NtIgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8qLyovKi8uZGVidWcgJHtsaWJkaXJ9LyovKi8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS91aW0vcGx1Z2luLyoubGEiCisKK0ZJTEVTX3VpbS11dGlscyA9ICIke2JpbmRpcn0vdWltLXNoIFwKKyAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdWltLW1vZHVsZS1tYW5hZ2VyIFwKKwkJICAgJHtsaWJleGVjZGlyfS91aW0taGVscGVyLXNlcnZlciIKKworRklMRVNfdWltLXhpbSA9ICIke2JpbmRpcn0vdWltLXhpbSBcCisgICAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vdWltLWNhbmR3aW4tKmd0ayBcCisgICAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vdWltLWNhbmR3aW4tKmd0azMgXAorICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L21hbi9tYW4xL3VpbS14aW0uMSBcCisgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vWDExL3hpbml0L3hpbnB1dC5kL3VpbSoiCisKK0ZJTEVTX3VpbS1jb21tb24gPSAiJHtkYXRhZGlyfS91aW0vcGl4bWFwcy8qLnBuZyBcCisgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vdWltIgorCitGSUxFU191aW0tZmVwID0gIiR7YmluZGlyfS91aW0tZmVwKiIKKworRklMRVNfdWltLWd0azIuMCA9ICIke2xpYmRpcn0vZ3RrLTIuMCBcCisgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS91aW0tdG9vbGJhci1ndGsgXAorICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdWltLXRvb2xiYXItZ3RrLXN5c3RyYXkgXAorICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdWltLSotZ3RrIFwKKyAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3VpbS1pbnB1dC1wYWQtamEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vdWltL3VpbS0qLWd0ayIKKworRklMRVNfdWltLWd0azMgPSAiJHtsaWJkaXJ9L2d0ay0zLjAgXAorICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS91aW0tdG9vbGJhci1ndGszIFwKKyAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdWltLXRvb2xiYXItZ3RrMy1zeXN0cmF5IFwKKyAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdWltLSotZ3RrMyBcCisgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3VpbS91aW0tKi1ndGszIgorCitGSUxFU191aW0tc2trID0gIiR7bGliZGlyfS91aW0vcGx1Z2luL2xpYnVpbS1za2suKiBcCisgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vdWltL3Nrayouc2NtIgorCitwa2dfcG9zdGluc3RfdWltLWFudGh5KCkgeworICAgIGlmIFsgLWYgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIF07IHRoZW4KKyAgICAgICAgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIC0tcmVnaXN0ZXIgYW50aHkgLS1wYXRoIC9ldGMvdWltCisgICAgZmkKK30KKworcGtnX3Bvc3RybV91aW0tYW50aHkoKSB7CisgICAgaWYgWyAtZiAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgXTsgdGhlbgorICAgICAgICAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgLS1wYXRoIC9ldGMvdWltIC0tdW5yZWdpc3RlciBhbnRoeQorICAgIGZpCit9CisKK3BrZ19wcmVybV91aW0tYW50aHkoKSB7CisgICAgaWYgWyAtZiAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgXTsgdGhlbgorICAgICAgICAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgLS1yZWdpc3RlciBhbnRoeSAtLXBhdGggL2V0Yy91aW0KKyAgICBmaQorfQorCitwa2dfcG9zdGluc3RfdWltLWd0azIuMCgpIHsKKyAgICBndGstcXVlcnktaW1tb2R1bGVzLTIuMCA+IC9ldGMvZ3RrLTIuMC9ndGsuaW1tb2R1bGVzCit9CisKK3BrZ19wb3N0aW5zdF91aW0tc2trKCkgeworICAgIGlmIFsgLWYgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIF07IHRoZW4KKyAgICAgICAgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIC0tcmVnaXN0ZXIgc2trIC0tcGF0aCAvZXRjL3VpbQorICAgIGZpCit9CisKK3BrZ19wb3N0cm1fdWltLXNraygpIHsKKyAgICBpZiBbIC1mIC91c3IvYmluL3VpbS1tb2R1bGUtbWFuYWdlciBdOyB0aGVuCisgICAgICAgIC91c3IvYmluL3VpbS1tb2R1bGUtbWFuYWdlciAtLXBhdGggL2V0Yy91aW0gLS11bnJlZ2lzdGVyIHNraworICAgIGZpCit9CisKK3BrZ19wb3N0aW5zdF91aW0tY29tbW9uKCkgeworICAgIGlmIFsgLWYgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIF07IHRoZW4KKyAgICAgICAgL3Vzci9iaW4vdWltLW1vZHVsZS1tYW5hZ2VyIC0tcGF0aCAvZXRjL3VpbSAtLXJlZ2lzdGVyIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1dGNvZGUgdGNvZGUgaGFuZ3VsIHZpcXIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXBhLXgtc2FtcGEgbGF0aW4gYnllb3J1CisgICAgZmkKK30KKworcGtnX3ByZXJtX3VpbS1jb21tb24oKSB7CisgICAgaWYgWyAtZiAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgXTsgdGhlbgorICAgICAgICAvdXNyL2Jpbi91aW0tbW9kdWxlLW1hbmFnZXIgLS1wYXRoIC9ldGMvdWltIC0tcmVnaXN0ZXIgXAorICAgICAgICB0dXRjb2RlIHRjb2RlIGhhbmd1bCB2aXFyIGlwYS14LXNhbXBhIGxhdGluIGJ5ZW9ydQorICAgIGZpCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91cG93ZXIvdXBvd2VyXzAuOS4xNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjkuMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDJjNTk0MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjkuMTQuYmIKQEAgLTAsMCArMSwzNSBAQAorREVTQ1JJUFRJT04gPSAiVVBvd2VyIGlzIGFuIGFic3RyYWN0aW9uIGZvciBlbnVtZXJhdGluZyBwb3dlciBkZXZpY2VzLCBsaXN0ZW5pbmcgdG8gZGV2aWNlIGV2ZW50cyBhbmQgcXVlcnlpbmcgaGlzdG9yeSBhbmQgc3RhdGlzdGljcy4gIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wZGU4ZmJmMWQ5N2ExNDBkMWQ5M2I5ZjE0ZGNmYmYwOCIKKworUFIgPSAicjIiCisKK0RFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIGxpYnVzYjEgbGliZ3VkZXYgZ2xpYi0yLjAgZGJ1cy1nbGliIHBvbGtpdCIKKworU1JDX1VSSSA9ICJodHRwOi8vdXBvd2VyLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjE4ODAzZjgyMTAyZDU2YWFjOTA5NDlkMWU0MjUxNjQ1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgxZWI0NGMwNDUzYjI2NGE3MzdkMzJmNzYzYTMxZDViMTc3NmYwNTBhNDdkNWJlODVmYzVlOWNhZjg3NGE0YzUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tpZGV2aWNlXSA9ICItLXdpdGgtaWRldmljZSwtLXdpdGhvdXQtaWRldmljZSxsaWJpbW9iaWxlZGV2aWNlIGxpYnBsaXN0IgorCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aC1iYWNrZW5kPWxpbnV4IgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgczotbm9uZXQ6XDpnICR7U30vZG9jL21hbi9NYWtlZmlsZS5hbQorICAgIHNlZCAtaSAtZSAnczogZG9jIDogOmcnICR7U30vTWFrZWZpbGUuYW0KK30gICAgCisKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gInBtLXV0aWxzIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xLyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9wb2xraXQtMS8gXAorICAgICAgICAgICAgICAgICR7YmFzZV9saWJkaXJ9L3VkZXYvKiBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtiYXNlX2xpYmRpcn0vdWRldi8uZGVidWciCisKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNDA1MjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNDA1MjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI2NTQxMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNiLW1vZGVzd2l0Y2gvdXNiLW1vZGVzd2l0Y2gtZGF0YV8yMDE0MDUyOS5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkRhdGEgZmlsZXMgZm9yIHVzYm1vZGVzd2l0Y2giCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgYWxsYXJjaAorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZHJhaXNiZXJnaG9mLmRlL3VzYl9tb2Rlc3dpdGNoLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZGZmOTQxNzc3ODEyOThhYWYwYjNjMmEzYzNkZWE2YjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTM4ODkxNTc5MzcxMDllMDRkYWZlODk3YzA5OGVjOTRmM2Y0NGY5YzBjODNmYzZlYzg0MTdhYTlhNTg3ZTUzNiIKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Cit9CisKK1JERVBFTkRTXyR7UE59ID0gInVzYi1tb2Rlc3dpdGNoICg+PSAyLjIuMCkiCitGSUxFU18ke1BOfSArPSAiJHtiYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS91c2JfbW9kZXN3aXRjaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNiLW1vZGVzd2l0Y2gvdXNiLW1vZGVzd2l0Y2hfMi4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyYTJmNTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuMi4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQSBtb2RlIHN3aXRjaGluZyB0b29sIGZvciBjb250cm9sbGluZyAnZmxpcCBmbG9wJyAobXVsdGlwbGUgZGV2aWNlKSBVU0IgZ2VhciIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJsaWJ1c2IxIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZHJhaXNiZXJnaG9mLmRlL3VzYl9tb2Rlc3dpdGNoLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiZjMyM2ZlNzAwZWRkNmVhNDA0YzQwOTM0ZGRmMzJiMjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjc1MjEwM2RlMTcxZWQ1ZjZjOGQ2YTZlM2U3M2UxNmM5ZWUzZThlMzk0ZGQzOWM1OTkxZjc2ODBlYjkwOGEzYSIKKworRVhUUkFfT0VNQUtFID0gIlRDTD0ke2JpbmRpcn0vdGNsc2giCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfSAke3N5c2NvbmZkaXJ9ICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi91c2JfbW9kZXN3aXRjaCAke3NiaW5kaXJ9ICR7bG9jYWxzdGF0ZWRpcn0vbGliL3VzYl9tb2Rlc3dpdGNoIgorUkRFUEVORFNfJHtQTn0gPSAidGNsIgorUlJFQ09NTUVORFNfJHtQTn0gPSAidXNiLW1vZGVzd2l0Y2gtZGF0YSIKKworZG9faW5zdGFsbCgpIHsKKwlvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYnBhdGgvdXNicGF0aC9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYnBhdGgvdXNicGF0aC9jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjcxZTZhNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNicGF0aC91c2JwYXRoL2NvbmZpZ3VyZS5wYXRjaApAQCAtMCwwICsxLDExIEBACitJbmRleDogdXNicGF0aC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB1c2JwYXRoLm9yaWcvY29uZmlndXJlLmFjCTIwMTQtMDctMTcgMjA6NDA6MjYuMDAwMDAwMDAwICswMDAwCisrKysgdXNicGF0aC9jb25maWd1cmUuYWMJMjAxNC0wNy0xOCAwNzowMTo0MC45MzM0NzQ0MjAgKzAwMDAKK0BAIC0xLDUgKzEsNSBAQAorIEFDX0lOSVQoW3VzYnBhdGhdLFswLjFdKQorLUFNX0lOSVRfQVVUT01BS0UoQUNfUEFDS0FHRV9OQU1FLCBBQ19QQUNLQUdFX1ZFUlNJT04pCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgCisgQUNfUFJPR19DQworIEFDX1BST0dfUkFOTElCCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYnBhdGgvdXNicGF0aF9zdm4uYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYnBhdGgvdXNicGF0aF9zdm4uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmM5Y2QwNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNicGF0aC91c2JwYXRoX3N2bi5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkNvbnZlcnQgdGhlIHBoeXNpY2FsIGxvY2F0aW9ucyBvZiBhIFVTQiBkZXZpY2UgdG8vZnJvbSBpdHMgbnVtYmVyIgorQVVUSE9SID0gIldlcm5lciBBbG1lc2JlcmdlciA8d2VybmVyQG9wZW5tb2tvLm9yZz4iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3VzYnBhdGguYztlbmRsaW5lPTIwO21kNT0wYWE4YzdkMmFmOTExMGM3OGE5OWZiZjlhNTA0ZGMzZiIKK0RFUEVORFMgPSAidmlydHVhbC9saWJ1c2IwIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAidmlydHVhbC9saWJ1c2IwLW5hdGl2ZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ1JFViA9ICIzMTcyIgorUFYgPSAiMC4wK3N2bnIke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJzdm46Ly9zdm4ub3Blbm1va28ub3JnL3RydW5rL3NyYy9ob3N0O21vZHVsZT11c2JwYXRoO3Byb3RvY29sPWh0dHAgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLnBhdGNoIgorCitTID0gIiR7V09SS0RJUn0vdXNicGF0aCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1JERVBFTkRTXyR7UE59ICs9ICJwZXJsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzEuOS43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzEuOS43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyYTlmMmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0aGFzaC91dGhhc2hfMS45LjcuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJIYXNoIHRhYmxlIGZvciBDIHN0cnVjdHVyZXMiCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NTY0ZjljNDQ5MjdmNjI0N2RjODEwYmY1NTdlMmIyNDAiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQfS50YXIuYnoyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWYxNGJiZWU3ZWU3M2VkMGNlYjM1NDlmOGNmMzc4YjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTU2ZjVjOTk3OTgzNDljNDEzMjc1ZmU0YzlmZjEyOGQ3MmUyODA2NTVkYWRiZTQzNjVmOGU5ZmJkYTkxMzkzZiIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZG03NTUgJHtEfSR7aW5jbHVkZWRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvKi5oICR7RH0ke2luY2x1ZGVkaXJ9Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dG91Y2gvdXRvdWNoLWV2ZW11X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1ldmVtdV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRkNWE4NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1ldmVtdV9naXQuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJLZXJuZWwgZXZkZXYgZGV2aWNlIGVtdWxhdGlvbiIKK0RFU0NSSVBUSU9OID0gIlRoZSBldmVtdSBsaWJyYXJ5IGFuZCB0b29scyBhcmUgdXNlZCB0byBkZXNjcmliZSBkZXZpY2VzLCByZWNvcmQgZGF0YSwgY3JlYXRlIGRldmljZXMgYW5kIHJlcGxheSBkYXRhIGZyb20ga2VybmVsIGV2ZGV2IGRldmljZXMuICIKK0hPTUVQQUdFID0gImh0dHA6Ly9iaXRtYXRoLm9yZy9jb2RlL2V2ZW11LyIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IgorCitpbmhlcml0IGF1dG90b29scworCitTUkNfVVJJID0gImdpdDovL2JpdG1hdGgub3JnL2dpdC9ldmVtdS5naXQ7cHJvdG9jb2w9aHR0cCIKK1NSQ1JFViA9ICI5NzUyYjUwZTkyMjU3MmU0Y2QyMTRhYzQ1ZWQ5NWU0ZWU0MTBmZTI0IgorCitQViA9ICIxLjAuNStnaXQke1NSQ1BWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdC8iCisKK1BBUkFMTEVMX01BS0UgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dG91Y2gvdXRvdWNoLWZyYW1lX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1mcmFtZV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDliMzhhZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1mcmFtZV9naXQuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJUb3VjaCBGcmFtZSBMaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiVGhlIGZyYW1lIGxpYnJhcnkgYW5kIHRvb2xzIGFyZSB1c2VkIHRvIGhhbmRsZSB0b3VjaCBmcmFtZXMsIGkuZS4sIGNvbGxlY3Rpb25zIG9mIHRyYWNrZWQgY29udGFjdHMuIEJpbmRpbmdzIGZvciBtdGRldiBhbmQgWEkyLjEuIgorSE9NRVBBR0UgPSAiaHR0cDovL2JpdG1hdGgub3JnL2NvZGUvZnJhbWUvIgorCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmYzMWIyNjZkMzQ0MGRkN2VlNTBmOTJjZjY3ZDhlNmMiCisKK0RFUEVORFMgKz0gIm10ZGV2IHV0b3VjaC1ldmVtdSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiZ2l0Oi8vYml0bWF0aC5vcmcvZ2l0L2ZyYW1lLmdpdDtwcm90b2NvbD1odHRwIgorU1JDUkVWID0gIjk1MzYzZDVhMWY3Mzk0ZDcxMTQ0YmYzYjQwOGVmNGU2ZGI0MzUwZmMiCisKK1BWID0gIjEuMS4yK2dpdCR7U1JDUFZ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0LyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1tdHZpZXdfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dG91Y2gvdXRvdWNoLW10dmlld19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNiMTgwZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXRvdWNoL3V0b3VjaC1tdHZpZXdfZ2l0LmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiTXVsdGl0b3VjaCB2aWV3ZXIiCitERVNDUklQVElPTiA9ICJtdHZpZXcgaXMgYSBzbWFsbCBYIGFwcGxpY2F0aW9uIHRoYXQgc2hvd3MgYSBncmFwaGljYWwgdmlldyBvZiB5b3VyIE1ULWVuYWJsZWQgaGFyZHdhcmUuIEl0IHVzZXMgbXRkZXYuIgorSE9NRVBBR0UgPSAiaHR0cDovL2JpdG1hdGgub3JnL2NvZGUvbXR2aWV3LyIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRjNjFiODk1MGRjMWFhYjRkMmFhN2MyYWU2YjFjZmIzIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vYml0bWF0aC5vcmcvZ2l0L210dmlldy5naXQ7cHJvdG9jb2w9aHR0cCIKK1NSQ1JFViA9ICJhZDQzN2MzOGRjMTExY2YzOTkwYTAzYWJmMTRlZmUxYjVkODk2MDRiIgorCitERVBFTkRTICs9ICJtdGRldiB1dG91Y2gtZnJhbWUgdXRvdWNoLWV2ZW11IGxpYngxMSIKKworUFYgPSAiMS4xLjcrZ2l0JHtTUkNQVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92YWxhLXRlcm1pbmFsL3ZhbGEtdGVybWluYWxfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92YWxhLXRlcm1pbmFsL3ZhbGEtdGVybWluYWxfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3ZmYzMTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZhbGEtdGVybWluYWwvdmFsYS10ZXJtaW5hbF9naXQuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJBIGxpZ2h0d2VpZ2h0IFRlcm1pbmFsIEVtdWxhdG9yIGJhc2VkIG9uIGxpYnZ0ZSwgd3JpdHRlbiBpbiBWYWxhIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb25zIgorREVQRU5EUyA9ICJ2dGUgaW50bHRvb2wtbmF0aXZlIgorU1JDUkVWID0gIjBmZWZhMzgwODc1ODFmODVmYTA2MzFiNDA1MDBiOTQyODM2OWMxNDYiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCitQViA9ICIxLjMrZ2l0ciR7U1JDUFZ9IgorUEUgPSAiMSIKK1BSID0gInIxIgorCitQTkJMQUNLTElTVFt2YWxhLXRlcm1pbmFsXSA/PSAiQlJPS0VOOiBEb2Vzbid0IHdvcmsgd2l0aCBCIT1TLCB0b3VjaDogY2Fubm90IHRvdWNoIGBzcmMvLnN0YW1wJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGVybG5hdGl2ZSB2YWxhCisKK1NSQ19VUkkgPSAiJHtGUkVFU01BUlRQSE9ORV9HSVR9L3ZhbGEtdGVybWluYWwuZ2l0O2JyYW5jaD1tYXN0ZXIiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitSREVQRU5EU18ke1BOfSA9ICJ0dGYtbGliZXJhdGlvbi1tb25vIgorUlJFUExBQ0VTXyR7UE59ID0gIm9wZW5tb2tvLXRlcm1pbmFsMiIKK1JQUk9WSURFU18ke1BOfSA9ICJvcGVubW9rby10ZXJtaW5hbDIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVycy9NYWtlZmlsZS51dGlscyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzL01ha2VmaWxlLnV0aWxzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3NDliOTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVycy9NYWtlZmlsZS51dGlscwpAQCAtMCwwICsxLDQzIEBACisjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyMKKyMjICAgQ29weXJpZ2h0IDIwMDEtMjAwOCBILiBQZXRlciBBbnZpbiAtIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyMjCisjIyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUzIFRlbXBsZSBQbGFjZSBTdGUgMzMwLAorIyMgICBCb3N0b24gTUEgMDIxMTEtMTMwNywgVVNBOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyMgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uOyBpbmNvcnBvcmF0ZWQgaGVyZWluIGJ5IHJlZmVyZW5jZS4KKyMjCisjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitJTkNMVURFUyA9IC1JLiAtSS4uL3Zib3hzZgorQ0ZMQUdTCSA9ICR7SU5DTFVERVN9CitMREZMQUdTCSA9CisKK1NSQ1MgICAgID0gbW91bnQudmJveHNmLmMgXAorICAgICAgICAgICB2YnNmbW91bnQuYworCitPQkpTCSA9ICQocGF0c3Vic3QgJS5jLCUubywkKG5vdGRpciAkKFNSQ1MpKSkKKworLlNVRkZJWEVTOiAuYyAubyAuaSAucyAuUworCisKK2FsbDogbW91bnQudmJveHNmCisKK2NsZWFuOgorCS1ybSAtZiAqLm8gbW91bnQudmJveHNmCisKK3Nwb3RsZXNzOiBjbGVhbgorCS1ybSAtZiAqfgorCittb3VudC52Ym94c2Y6ICQoT0JKUykKKwkkKENDKSAkKExERkxBR1MpIC1vICRAICReCisKKyUubzogJS5jCisJJChDQykgJChVTUFLRURFUFMpICQoQ0ZMQUdTKSAtYyAtbyAkQCAkPAorJS5pOiAlLmMKKwkkKENDKSAkKFVNQUtFREVQUykgJChDRkxBR1MpIC1FIC1vICRAICQ8CislLnM6ICUuYworCSQoQ0MpICQoVU1BS0VERVBTKSAkKENGTEFHUykgLVMgLW8gJEAgJDwKKworLWluY2x1ZGUgLiouZCAqLnRtcApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92Ym94Z3Vlc3Rkcml2ZXJzL3Zib3hndWVzdGRyaXZlcnNfNC4zLjM2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92Ym94Z3Vlc3Rkcml2ZXJzL3Zib3hndWVzdGRyaXZlcnNfNC4zLjM2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4MWUzZDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVyc180LjMuMzYuYmIKQEAgLTAsMCArMSw2NSBAQAorU1VNTUFSWSA9ICJWaXJ0dWFsQm94IExpbnV4IEd1ZXN0IERyaXZlcnMiCitTRUNUSU9OID0gImNvcmUiCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9LyR7VkJPWF9OQU1FfS9DT1BZSU5HO21kNT1lMTk3ZDU2NDFiYjM1YjI5ZDQ2Y2E4YzRiZjdmMjY2MCIKKworREVQRU5EUyA9ICJ2aXJ0dWFsL2tlcm5lbCIKKworaW5oZXJpdCBtb2R1bGUga2VybmVsLW1vZHVsZS1zcGxpdAorCitDT01QQVRJQkxFX01BQ0hJTkUgPSAiKHFlbXV4ODZ8cWVtdXg4Ni02NCkiCisKK1ZCT1hfTkFNRSA9ICJWaXJ0dWFsQm94LSR7UFZ9IgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC52aXJ0dWFsYm94Lm9yZy92aXJ0dWFsYm94LyR7UFZ9LyR7VkJPWF9OQU1FfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL01ha2VmaWxlLnV0aWxzIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NjM1Mzg3ZGVjNmNiZmQ1NzZiYTQ1MzM1NWQ0ZGMwYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhZjA3NzZkZjZkMDNiMjcwOWNiNzZhNjlmMDU1NDg3YmYxMmJkYjNiNDE2M2UyYTgyOTU5ODYwMzAwMjgzMDQ2IgorCitTID0gIiR7V09SS0RJUn0vdmJveF9tb2R1bGUiCisKK2V4cG9ydCBCVUlMRF9UQVJHRVRfQVJDSD0iJHtBUkNIfSIKK2V4cG9ydCBCVUlMRF9UQVJHRVRfQVJDSF94ODYtNjQ9ImFtZDY0IgorZXhwb3J0IEtFUk5fRElSPSIke1NUQUdJTkdfS0VSTkVMX0RJUn0iCisKK2FkZHRhc2sgZXhwb3J0X3NvdXJjZXMgYmVmb3JlIGRvX3BhdGNoIGFmdGVyIGRvX3VucGFjaworCitkb19leHBvcnRfc291cmNlcygpIHsKKyAgICBta2RpciAtcCAiJHtTfSIKKyAgICAke1dPUktESVJ9LyR7VkJPWF9OQU1FfS9zcmMvVkJveC9BZGRpdGlvbnMvbGludXgvZXhwb3J0X21vZHVsZXMgJHtUfS92Ym94X21vZHVsZXMudGFyLmd6CisgICAgdGFyIC1DICIke1N9IiAteHpmICR7VH0vdmJveF9tb2R1bGVzLnRhci5negorCisgICAgIyBhZGQgYSBtb3VudCB1dGlsaXR5IHRvIHVzZSBzaGFyZWQgZm9sZGVyIGZyb20gVkJveCBBZGRpdGlvbiBTb3VyY2UgQ29kZQorICAgIG1rZGlyIC1wICIke1N9L3V0aWxzIgorICAgIGluc3RhbGwgJHtXT1JLRElSfS8ke1ZCT1hfTkFNRX0vc3JjL1ZCb3gvQWRkaXRpb25zL2xpbnV4L3NoYXJlZGZvbGRlcnMvbW91bnQudmJveHNmLmMgJHtTfS91dGlscworICAgIGluc3RhbGwgJHtXT1JLRElSfS8ke1ZCT1hfTkFNRX0vc3JjL1ZCb3gvQWRkaXRpb25zL2xpbnV4L3NoYXJlZGZvbGRlcnMvdmJzZm1vdW50LmMgJHtTfS91dGlscworICAgIGluc3RhbGwgJHtTfS8uLi9NYWtlZmlsZS51dGlscyAke1N9L3V0aWxzL01ha2VmaWxlCisKK30KKworIyBjb21waWxlIGFuZCBpbnN0YWxsIG1vdW50IHV0aWxpdHkKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIG9lX3J1bm1ha2UgLUMgJHtTfS91dGlscworfQorCittb2R1bGVfZG9faW5zdGFsbCgpIHsKKyAgICBNT0RVTEVfRElSPSR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L21vZHVsZXMvJHtLRVJORUxfVkVSU0lPTn0va2VybmVsL21pc2MKKyAgICBpbnN0YWxsIC1kICRNT0RVTEVfRElSCisgICAgaW5zdGFsbCAtbSA2NDQgdmJveGd1ZXN0LmtvICRNT0RVTEVfRElSCisgICAgaW5zdGFsbCAtbSA2NDQgdmJveHNmLmtvICRNT0RVTEVfRElSCisgICAgaW5zdGFsbCAtbSA2NDQgdmJveHZpZGVvLmtvICRNT0RVTEVfRElSCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9zYmluZGlyfQorICAgIGluc3RhbGwgLW0gNzU1ICR7U30vdXRpbHMvbW91bnQudmJveHNmICR7RH0ke2Jhc2Vfc2JpbmRpcn0KK30KKworUEFDS0FHRVMgKz0gImtlcm5lbC1tb2R1bGUtdmJveGd1ZXN0IGtlcm5lbC1tb2R1bGUtdmJveHNmIGtlcm5lbC1tb2R1bGUtdmJveHZpZGVvIgorUlJFQ09NTUVORFNfJHtQTn0gKz0gImtlcm5lbC1tb2R1bGUtdmJveGd1ZXN0IGtlcm5lbC1tb2R1bGUtdmJveHNmIGtlcm5lbC1tb2R1bGUtdmJveHZpZGVvIgorCitGSUxFU18ke1BOfSA9ICIke2Jhc2Vfc2JpbmRpcn0iCisKKyMgYXV0b2xvYWQgaWYgaW5zdGFsbGVkCitLRVJORUxfTU9EVUxFX0FVVE9MT0FEICs9ICJ2Ym94Z3Vlc3QgdmJveHNmIHZib3h2aWRlbyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjgyNGU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvZGlzYWJsZV9hY2xfaGVhZGVyX2NoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworCitEb24ndCBjaGVjayAnc3lzL2FjbC5oJyBpZiBhY2wgc3VwcG9ydCBkaXNhYmxlZCBmb3IgdmltL3ZpbS10aW55LgorCitTaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL3NyYy9jb25maWd1cmUuaW4gYi9zcmMvY29uZmlndXJlLmluCitpbmRleCBmYjk2NWU1Li5kNzM0MDY0IDEwMDY0NAorLS0tIGEvc3JjL2NvbmZpZ3VyZS5pbgorKysrIGIvc3JjL2NvbmZpZ3VyZS5pbgorQEAgLTI1MTEsNyArMjUxMSw3IEBAIEFDX0NIRUNLX0hFQURFUlMoc3RkYXJnLmggc3RkaW50Lmggc3RkbGliLmggc3RyaW5nLmggXAorIAlzeXMvc3lzdGVtaW5mby5oIGxvY2FsZS5oIHN5cy9zdHJlYW0uaCB0ZXJtaW9zLmggXAorIAlsaWJjLmggc3lzL3N0YXRmcy5oIHBvbGwuaCBzeXMvcG9sbC5oIHB3ZC5oIFwKKyAJdXRpbWUuaCBzeXMvcGFyYW0uaCBsaWJpbnRsLmggbGliZ2VuLmggXAorLQl1dGlsL2RlYnVnLmggdXRpbC9tc2cxOG4uaCBmcmFtZS5oIHN5cy9hY2wuaCBcCisrCXV0aWwvZGVidWcuaCB1dGlsL21zZzE4bi5oIGZyYW1lLmggXAorIAlzeXMvYWNjZXNzLmggc3lzL3N5c2luZm8uaCB3Y2hhci5oIHdjdHlwZS5oKQorIAorIGRubCBzeXMvcHRlbS5oIGRlcGVuZHMgb24gc3lzL3N0cmVhbS5oIG9uIFNvbGFyaXMKK0BAIC0zMTEyLDYgKzMxMTIsNyBAQCBBQ19BUkdfRU5BQkxFKGFjbCwKKyAJLCBbZW5hYmxlX2FjbD0ieWVzIl0pCisgaWYgdGVzdCAiJGVuYWJsZV9hY2wiID0gInllcyI7IHRoZW4KKyBBQ19NU0dfUkVTVUxUKG5vKQorK0FDX0NIRUNLX0hFQURFUlMoc3lzL2FjbC5oKQorIEFDX0NIRUNLX0xJQihwb3NpeDFlLCBhY2xfZ2V0X2ZpbGUsIFtMSUJTPSIkTElCUyAtbHBvc2l4MWUiXSwKKyAJQUNfQ0hFQ0tfTElCKGFjbCwgYWNsX2dldF9maWxlLCBbTElCUz0iJExJQlMgLWxhY2wiCisgCQkgIEFDX0NIRUNLX0xJQihhdHRyLCBmZ2V0eGF0dHIsIExJQlM9IiRMSUJTIC1sYXR0ciIsLCldLCwpLCkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL3ZpbS1hZGQta25vYi13aGV0aGVyLWVsZi5oLWFyZS1jaGVja2VkLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvdmltLWFkZC1rbm9iLXdoZXRoZXItZWxmLmgtYXJlLWNoZWNrZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkzZDEzMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL3ZpbS1hZGQta25vYi13aGV0aGVyLWVsZi5oLWFyZS1jaGVja2VkLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK3ZpbTogYWRkIGtub2Igd2hldGhlciBlbGYuaCBhcmUgY2hlY2tlZAorCitQcmV2aW91c2x5LCBpdCBzdGlsbCB3YXMgY2hlY2tlZCB3aGVuIHRoZXJlIHdhcyBubyBlbGYgbGlicmFyeSBpbiBzeXNyb290cyBkaXJlY3RvcnkuCitBZGQga25vYiB0byBkZWNpZGUgd2hldGhlciBlbGYuaCBhcmUgY2hlY2tlZCBvciBub3QuCisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBDaG9uZyBMdSA8Q2hvbmcuTHVAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9jb25maWd1cmUuaW4gfCAgICA3ICsrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvY29uZmlndXJlLmluIGIvc3JjL2NvbmZpZ3VyZS5pbgoraW5kZXggZDczNDA2NC4uZjUwNGZhNiAxMDA2NDQKKy0tLSBhL3NyYy9jb25maWd1cmUuaW4KKysrKyBiL3NyYy9jb25maWd1cmUuaW4KK0BAIC0yNDgzLDExICsyNDgzLDE4IEBAIEFDX1RSWV9DT01QSUxFKFsjaW5jbHVkZSA8c3RkaW8uaD5dLCBbaW50IHggX19hdHRyaWJ1dGVfXygodW51c2VkKSk7XSwKKyAJQUNfTVNHX1JFU1VMVChubykpCisgCisgZG5sIENoZWNrcyBmb3IgaGVhZGVyIGZpbGVzLgorK0FDX01TR19DSEVDS0lORyh3aGV0aGVyIG9yIG5vdCB0byBsb29rIGZvciBlbGYuaCkKKytBQ19BUkdfRU5BQkxFKGVsZi1jaGVjaywKKysgICAgICAgIFsgIC0tZW5hYmxlLWVsZi1jaGVjayAgICAgIElmIGVsZnV0aWxzLCBjaGVjayBmb3IgZWxmLmggW2RlZmF1bHQ9bm9dXSwKKysgICAgICAgICwgZW5hYmxlX2VsZl9jaGVjaz0ibm8iKQorK0FDX01TR19SRVNVTFQoJGVuYWJsZV9lbGZfY2hlY2spCisraWYgdGVzdCAieCRlbmFibGVfZWxmX2NoZWNrIiAhPSAieG5vIjsgdGhlbgorIEFDX0NIRUNLX0hFQURFUihlbGYuaCwgSEFTX0VMRj0xKQorIGRubCBBQ19DSEVDS19IRUFERVIoZHdhcmYuaCwgU1ZSND0xKQorIGlmIHRlc3QgIiRIQVNfRUxGIiA9IDE7IHRoZW4KKyAgIEFDX0NIRUNLX0xJQihlbGYsIG1haW4pCisgZmkKKytmaQorIAorIEFDX0hFQURFUl9ESVJFTlQKKyAKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW0tdGlueV83LjQuNzY5LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltLXRpbnlfNy40Ljc2OS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjhmMmI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltLXRpbnlfNy40Ljc2OS5iYgpAQCAtMCwwICsxLDEzIEBACityZXF1aXJlIHZpbV8ke1BWfS5iYgorCitTVU1NQVJZICs9ICIgKHdpdGggdGlueSBmZWF0dXJlcykiCisKK1BBQ0tBR0VDT05GSUcgKz0gInRpbnkiCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L3ZpbSAke0R9LyR7YmluZGlyfS92aW0udGlueQorfQorCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICI5MCIKK0FMVEVSTkFUSVZFX1RBUkdFVCA9ICIke2JpbmRpcn0vdmltLnRpbnkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fNy40Ljc2OS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbV83LjQuNzY5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4ZTUwMjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fNy40Ljc2OS5iYgpAQCAtMCwwICsxLDEwOSBAQAorU1VNTUFSWSA9ICJWaSBJTXByb3ZlZCAtIGVuaGFuY2VkIHZpIGVkaXRvciIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0RFUEVORFMgPSAibmN1cnNlcyBnZXR0ZXh0LW5hdGl2ZSIKKyMgdmltZGlmZiBkb2Vzbid0IGxpa2UgYnVzeWJveCBkaWZmCitSU1VHR0VTVFNfJHtQTn0gPSAiZGlmZnV0aWxzIgorTElDRU5TRSA9ICJ2aW0iCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9ydW50aW1lL2RvYy91Z2FuZGEudHh0O21kNT1jNzRlYzBhZGE5YTY4MzU0Zjk0NjFlODFkMzU5NmY2MSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3ZpbS92aW0uZ2l0IFwKKyAgICAgICAgICAgZmlsZTovL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaDtwYXRjaGRpcj0uLiBcCisgICAgICAgICAgIGZpbGU6Ly92aW0tYWRkLWtub2Itd2hldGhlci1lbGYuaC1hcmUtY2hlY2tlZC5wYXRjaDtwYXRjaGRpcj0uLiBcCisiCitTUkNSRVYgPSAiMjY5M2NhMjFjZWU4YTcyOWQ3NDY4MmZkODZhNDgxOGYyYjA1MDIyOCIKKworUyA9ICIke1dPUktESVJ9L2dpdC9zcmMiCisKK1ZJTURJUiA9ICJ2aW0ke0BkLmdldFZhcignUFYnLDEpLnNwbGl0KCcuJylbMF19JHtAZC5nZXRWYXIoJ1BWJywxKS5zcGxpdCgnLicpWzFdfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKKyMgdmltIGNvbmZpZ3VyZS5pbiBjb250YWlucyBmdW5jdGlvbnMgd2hpY2ggZ290ICdkcm9wcGVkJyBieSBhdXRvdG9vbHMuYmJjbGFzcworZG9fY29uZmlndXJlICgpIHsKKyAgICBybSAtZiBhdXRvLyoKKyAgICB0b3VjaCBhdXRvL2NvbmZpZy5taworICAgIGFjbG9jYWwKKyAgICBhdXRvY29uZgorICAgIG9lX3J1bmNvbmYKKyAgICB0b3VjaCBhdXRvL2NvbmZpZ3VyZQorICAgIHRvdWNoIGF1dG8vY29uZmlnLm1rIGF1dG8vY29uZmlnLmgKK30KKworI0F2YWlsYWJsZSBQQUNLQUdFQ09ORklHIG9wdGlvbnMgYXJlIGd0a2d1aSwgYWNsLCB4MTEsIHRpbnkKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCcsICdhY2wnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJRyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXgnLCAnJywgZCl9IgorCitQQUNLQUdFQ09ORklHW2d0a2d1aV0gPSAiLS1lbmFibGUtZ3RrMi10ZXN0IC0tZW5hYmxlLWd1aT1ndGsyLC0tZW5hYmxlLWd1aT1ubyxndGsrLCIKK1BBQ0tBR0VDT05GSUdbYWNsXSA9ICItLWVuYWJsZS1hY2wsLS1kaXNhYmxlLWFjbCxhY2wsIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14LC0td2l0aG91dC14LHh0LCIKK1BBQ0tBR0VDT05GSUdbdGlueV0gPSAiLS13aXRoLWZlYXR1cmVzPXRpbnksLS13aXRoLWZlYXR1cmVzPWJpZywsIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLWVuYWJsZS1zZWxpbnV4LC0tZGlzYWJsZS1zZWxpbnV4LGxpYnNlbGludXgsIgorUEFDS0FHRUNPTkZJR1tlbGZ1dGlsc10gPSAiLS1lbmFibGUtZWxmLWNoZWNrLCxlbGZ1dGlscywiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1ncG0gXAorICAgIC0tZGlzYWJsZS1ndGt0ZXN0IFwKKyAgICAtLWRpc2FibGUteGltIFwKKyAgICAtLWRpc2FibGUtbmV0YmVhbnMgXAorICAgIC0td2l0aC10bGliPW5jdXJzZXMgXAorICAgIGFjX2N2X3NtYWxsX3djaGFyX3Q9bm8gXAorICAgIHZpbV9jdl9nZXRjd2RfYnJva2VuPW5vIFwKKyAgICB2aW1fY3ZfbWVtbW92ZV9oYW5kbGVzX292ZXJsYXA9eWVzIFwKKyAgICB2aW1fY3Zfc3RhdF9pZ25vcmVzX3NsYXNoPW5vIFwKKyAgICB2aW1fY3ZfdGVybWluZm89eWVzIFwKKyAgICB2aW1fY3ZfdGdlbnQ9bm9uLXplcm8gXAorICAgIHZpbV9jdl90b3VwcGVyX2Jyb2tlbj1ubyBcCisgICAgdmltX2N2X3R0eV9ncm91cD13b3JsZCBcCisgICAgU1RSSVA9L2Jpbi90cnVlIFwKKyIKKworZG9faW5zdGFsbCgpIHsKKyAgICBhdXRvdG9vbHNfZG9faW5zdGFsbAorCisgICAgIyBXb3JrIGFyb3VuZCBycG0gcGlja2luZyB1cCBjc2ggb3IgYXdrIG9yIHBlcmwgYXMgYSBkZXAKKyAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzL3ZpbTEzMgorICAgIGNobW9kIC14ICR7RH0ke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMvbXZlLmF3aworICAgIGNobW9kIC14ICR7RH0ke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMvKi5wbAorCisgICAgIyBJbnN0YWxsIGV4YW1wbGUgdmltcmMgZnJvbSBydW50aW1lIGZpbGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IC4uL3J1bnRpbWUvdmltcmNfZXhhbXBsZS52aW0gJHtEfS8ke2RhdGFkaXJ9LyR7QlBOfS92aW1yYworCisgICAgIyB3ZSB1c2UgLS13aXRoLWZlYXR1cmVzPWJpZyBhcyBkZWZhdWx0CisgICAgbXYgJHtEfSR7YmluZGlyfS8ke0JQTn0gJHtEfSR7YmluZGlyfS8ke0JQTn0uJHtCUE59Cit9CisKK1BBUkFMTEVMX01BS0VJTlNUID0gIiIKKworUEFDS0FHRVMgPSsgIiR7UE59LWNvbW1vbiAke1BOfS1zeW50YXggJHtQTn0taGVscCAke1BOfS10dXRvciAke1BOfS12aW1yYyIKK0ZJTEVTXyR7UE59LXN5bnRheCA9ICIke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vc3ludGF4IgorRklMRVNfJHtQTn0taGVscCA9ICIke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vZG9jIgorRklMRVNfJHtQTn0tdHV0b3IgPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3R1dG9yICR7YmluZGlyfS8ke0JQTn10dXRvciIKK0ZJTEVTXyR7UE59LXZpbXJjID0gIiR7ZGF0YWRpcn0vJHtCUE59L3ZpbXJjIgorRklMRVNfJHtQTn0tZGF0YSA9ICIke2RhdGFkaXJ9LyR7QlBOfSIKK0ZJTEVTXyR7UE59LWNvbW1vbiA9ICIgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS8qLnZpbSBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2F1dG9sb2FkIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vY29sb3JzIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vY29tcGlsZXIgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9mdHBsdWdpbiBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2luZGVudCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2tleW1hcCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2xhbmcgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9tYWNyb3MgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9wbHVnaW4gXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9wcmludCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3NwZWxsIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMgXAorIgorCitSREVQRU5EU18ke1BOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvLWJhc2UiCisjIFJlY29tbWVuZCB0aGF0IHJ1bnRpbWUgZGF0YSBpcyBpbnN0YWxsZWQgYWxvbmcgd2l0aCB2aW0KK1JSRUNPTU1FTkRTXyR7UE59ID0gIiR7UE59LXN5bnRheCAke1BOfS1oZWxwICR7UE59LXR1dG9yICR7UE59LXZpbXJjICR7UE59LWNvbW1vbiIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAidmkgdmltIgorQUxURVJOQVRJVkVfVEFSR0VUID0gIiR7YmluZGlyfS8ke0JQTn0uJHtCUE59IgorQUxURVJOQVRJVkVfTElOS19OQU1FW3ZpXSA9ICIke2Jhc2VfYmluZGlyfS92aSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt2aW1dID0gIiR7YmluZGlyfS92aW0iCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3dtaWNvbmZpZy93bWljb25maWdfc3ZuLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC93bWljb25maWcvd21pY29uZmlnX3N2bi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTZhNGU2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC93bWljb25maWcvd21pY29uZmlnX3N2bi5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkF0aGVyb3MgNksgV2lmaSBjb25maWd1cmF0aW9uIHV0aWxpdHkiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vd21pY29uZmlnLmM7ZW5kbGluZT0xOTttZDU9NDM5NGE1NmJjYTFjNWIyNDQ2YzlmOGU0MDZjODI5MTEiCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK1NSQ1JFViA9ICI1Mzk0IgorUFYgPSAiMC4wLjArc3ZuciR7U1JDUFZ9IgorUFIgPSAicjIiCisKK1NSQ19VUkkgPSAic3ZuOi8vc3ZuLm9wZW5tb2tvLm9yZy90cnVuay9zcmMvdGFyZ2V0O21vZHVsZT1BUjZrU0RLLmJ1aWxkX3N3LjE4O3Byb3RvY29sPWh0dHAiCitTID0gIiR7V09SS0RJUn0vQVI2a1NESy5idWlsZF9zdy4xOC9ob3N0L3Rvb2xzL3dtaWNvbmZpZyIKKworQ0xFQU5CUk9LRU4gPSAiMSIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSB3bWljb25maWcgJHtEfSR7YmluZGlyfQorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3hjaGF0L3hjaGF0LTIuOC44L2F1dG9tYWtlLWZvcmVpZ24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3hjaGF0L3hjaGF0LTIuOC44L2F1dG9tYWtlLWZvcmVpZ24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ZhMmY2YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXQtMi44LjgvYXV0b21ha2UtZm9yZWlnbi5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gYS9jb25maWd1cmUuaW4JMjAxNC0wOC0xOCAwMToyNTo0My45MTE1OTcwMjMgLTA3MDAKKysrKyBiL2NvbmZpZ3VyZS5pbgkyMDE0LTA4LTE4IDAxOjI2OjI3Ljc2Mzc4NjYyOSAtMDcwMAorQEAgLTgsNyArOCw3IEBACisgQUNfQ09ORklHX0hFQURFUlMoW2NvbmZpZy5oXSkKKyBBQ19DT05GSUdfU1JDRElSKFtjb25maWd1cmUuaW5dKQorIAorLUFNX0lOSVRfQVVUT01BS0UoWzEuOSBkaXN0LWJ6aXAyIHN1YmRpci1vYmplY3RzIG5vLWRlZmluZV0pCisrQU1fSU5JVF9BVVRPTUFLRShbMS45IGZvcmVpZ24gZGlzdC1iemlwMiBzdWJkaXItb2JqZWN0cyBuby1kZWZpbmVdKQorIAorIEFNX01BSU5UQUlORVJfTU9ERQorIEFDX1BST0dfQ0MKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXQtMi44LjgvZml4LWluY2x1ZGVzLWZvci1zZXBhcmF0ZS1idWlsZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXQtMi44LjgvZml4LWluY2x1ZGVzLWZvci1zZXBhcmF0ZS1idWlsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Mzk0ZTUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94Y2hhdC94Y2hhdC0yLjguOC9maXgtaW5jbHVkZXMtZm9yLXNlcGFyYXRlLWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsNzggQEAKK2RpZmYgLXVyIHhjaGF0LTIuOC44LW9yaWcvcGx1Z2lucy9wZXJsL3BlcmwuYyB4Y2hhdC0yLjguOC9wbHVnaW5zL3BlcmwvcGVybC5jCistLS0geGNoYXQtMi44Ljgtb3JpZy9wbHVnaW5zL3BlcmwvcGVybC5jCTIwMTQtMDgtMzAgMTQ6MDk6MDUuMTI1MTE2Mjg2IC0wNzAwCisrKysgeGNoYXQtMi44LjgvcGx1Z2lucy9wZXJsL3BlcmwuYwkyMDE0LTA4LTMwIDE0OjA5OjQ1LjI4MTEwNjUzMiAtMDcwMAorQEAgLTMxLDcgKzMxLDcgQEAKKyAjZW5kaWYKKyAKKyAjdW5kZWYgUEFDS0FHRQorLSNpbmNsdWRlICIuLi8uLi9jb25maWcuaCIJCSAgLyogZm9yICNkZWZpbmUgT0xEX1BFUkwgKi8KKysjaW5jbHVkZSA8Y29uZmlnLmg+CQkgIC8qIGZvciAjZGVmaW5lIE9MRF9QRVJMICovCisgI2luY2x1ZGUgInhjaGF0LXBsdWdpbi5oIgorIAorIHN0YXRpYyB4Y2hhdF9wbHVnaW4gKnBoOwkJICAvKiBwbHVnaW4gaGFuZGxlICovCitkaWZmIC11ciB4Y2hhdC0yLjguOC1vcmlnL3NyYy9jb21tb24vbmV0d29yay5jIHhjaGF0LTIuOC44L3NyYy9jb21tb24vbmV0d29yay5jCistLS0geGNoYXQtMi44Ljgtb3JpZy9zcmMvY29tbW9uL25ldHdvcmsuYwkyMDE0LTA4LTMwIDE0OjA5OjA1LjEzNzExNjIyMiAtMDcwMAorKysrIHhjaGF0LTIuOC44L3NyYy9jb21tb24vbmV0d29yay5jCTIwMTQtMDgtMzAgMTQ6MTM6NTIuNzI5MTE2MzIzIC0wNzAwCitAQCAtMjQsNyArMjQsNyBAQAorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjaW5jbHVkZSA8Z2xpYi5oPgorIAorLSNpbmNsdWRlICIuLi8uLi9jb25maWcuaCIJCQkJICAvKiBncmFiIFVTRV9JUFY2IGFuZCBMT09LVVBEIGRlZmluZXMgKi8KKysjaW5jbHVkZSA8Y29uZmlnLmg+CQkJCSAgLyogZ3JhYiBVU0VfSVBWNiBhbmQgTE9PS1VQRCBkZWZpbmVzICovCisgCisgI2RlZmluZSBXQU5UU09DS0VUCisgI2RlZmluZSBXQU5UQVJQQQorZGlmZiAtdXIgeGNoYXQtMi44Ljgtb3JpZy9zcmMvY29tbW9uL3NzbC5jIHhjaGF0LTIuOC44L3NyYy9jb21tb24vc3NsLmMKKy0tLSB4Y2hhdC0yLjguOC1vcmlnL3NyYy9jb21tb24vc3NsLmMJMjAxNC0wOC0zMCAxNDowOTowNS4xMzcxMTYyMjIgLTA3MDAKKysrKyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3NzbC5jCTIwMTQtMDgtMzAgMTQ6MTQ6MDguNDQ5MTMzODk5IC0wNzAwCitAQCAtMjMsNyArMjMsNyBAQAorICNpbmNsdWRlIDxzdHJpbmcuaD4JCQkJICAvKiBzdHJuY3B5KCkgKi8KKyAjaW5jbHVkZSAic3NsLmgiCQkJCQkgIC8qIHN0cnVjdCBjZXJ0X2luZm8gKi8KKyAjaW5jbHVkZSAiaW5ldC5oIgorLSNpbmNsdWRlICIuLi8uLi9jb25maWcuaCIJCSAgLyogSEFWRV9TTlBSSU5URiAqLworKyNpbmNsdWRlIDxjb25maWcuaD4JCSAgLyogSEFWRV9TTlBSSU5URiAqLworIAorICNpZm5kZWYgSEFWRV9TTlBSSU5URgorICNkZWZpbmUgc25wcmludGYgZ19zbnByaW50ZgorZGlmZiAtdXIgeGNoYXQtMi44Ljgtb3JpZy9zcmMvY29tbW9uL3V0aWwuYyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3V0aWwuYworLS0tIHhjaGF0LTIuOC44LW9yaWcvc3JjL2NvbW1vbi91dGlsLmMJMjAxNC0wOC0zMCAxNDowOTowNS4xMzMxMTYyNDMgLTA3MDAKKysrKyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3V0aWwuYwkyMDE0LTA4LTMwIDE0OjEwOjIzLjYzMzExNjA3MCAtMDcwMAorQEAgLTQxLDcgKzQxLDcgQEAKKyAjaW5jbHVkZSAieGNoYXRjLmgiCisgI2luY2x1ZGUgPGN0eXBlLmg+CisgI2luY2x1ZGUgInV0aWwuaCIKKy0jaW5jbHVkZSAiLi4vLi4vY29uZmlnLmgiCisrI2luY2x1ZGUgPGNvbmZpZy5oPgorIAorICNkZWZpbmUgV0FOVFNPQ0tFVAorICNpbmNsdWRlICJpbmV0LmgiCitkaWZmIC11ciB4Y2hhdC0yLjguOC1vcmlnL3NyYy9jb21tb24veGNoYXQuaCB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3hjaGF0LmgKKy0tLSB4Y2hhdC0yLjguOC1vcmlnL3NyYy9jb21tb24veGNoYXQuaAkyMDE0LTA4LTMwIDE0OjA5OjA1LjEzMzExNjI0MyAtMDcwMAorKysrIHhjaGF0LTIuOC44L3NyYy9jb21tb24veGNoYXQuaAkyMDE0LTA4LTMwIDE0OjEzOjQyLjc5NzExNjQ3MiAtMDcwMAorQEAgLTEsNCArMSw0IEBACistI2luY2x1ZGUgIi4uLy4uL2NvbmZpZy5oIgorKyNpbmNsdWRlIDxjb25maWcuaD4KKyAKKyAjaW5jbHVkZSA8Z2xpYi5oPgorICNpbmNsdWRlIDx0aW1lLmg+CQkJLyogbmVlZCB0aW1lX3QgKi8KK2RpZmYgLXVyIHhjaGF0LTIuOC44LW9yaWcvc3JjL2ZlLWd0ay9mZS1ndGsuaCB4Y2hhdC0yLjguOC9zcmMvZmUtZ3RrL2ZlLWd0ay5oCistLS0geGNoYXQtMi44Ljgtb3JpZy9zcmMvZmUtZ3RrL2ZlLWd0ay5oCTIwMTQtMDgtMzAgMTQ6MDk6MDUuMTI5MTE2MjcyIC0wNzAwCisrKysgeGNoYXQtMi44Ljgvc3JjL2ZlLWd0ay9mZS1ndGsuaAkyMDE0LTA4LTMwIDE0OjEwOjEzLjMwOTExNTk1MSAtMDcwMAorQEAgLTEsNCArMSw0IEBACistI2luY2x1ZGUgIi4uLy4uL2NvbmZpZy5oIgorKyNpbmNsdWRlIDxjb25maWcuaD4KKyAKKyAjaWZkZWYgV0lOMzIKKyAvKiBJZiB5b3UncmUgY29tcGlsaW5nIHRoaXMgZm9yIFdpbmRvd3MsIHlvdXIgcmVsZWFzZSBpcyB1bi1vZmZpY2lhbAorZGlmZiAtdXIgeGNoYXQtMi44Ljgtb3JpZy9zcmMvZmUtZ3RrL3h0ZXh0LmMgeGNoYXQtMi44Ljgvc3JjL2ZlLWd0ay94dGV4dC5jCistLS0geGNoYXQtMi44Ljgtb3JpZy9zcmMvZmUtZ3RrL3h0ZXh0LmMJMjAxNC0wOC0zMCAxNDowOTowNS4xMjkxMTYyNzIgLTA3MDAKKysrKyB4Y2hhdC0yLjguOC9zcmMvZmUtZ3RrL3h0ZXh0LmMJMjAxNC0wOC0zMCAxNDoxMDowMC4zMTMxMzgyNTQgLTA3MDAKK0BAIC01MSw3ICs1MSw3IEBACisgI2luY2x1ZGUgPGd0ay9ndGt3aW5kb3cuaD4KKyAKKyAjaWZkZWYgWENIQVQKKy0jaW5jbHVkZSAiLi4vLi4vY29uZmlnLmgiCQkJLyogY2FuIGRlZmluZSBVU0VfWExJQiBoZXJlICovCisrI2luY2x1ZGUgPGNvbmZpZy5oPgkJCS8qIGNhbiBkZWZpbmUgVVNFX1hMSUIgaGVyZSAqLworICNlbHNlCisgI2RlZmluZSBVU0VfWExJQgorICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94Y2hhdC94Y2hhdC0yLjguOC9nbGliLTIuMzIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3hjaGF0L3hjaGF0LTIuOC44L2dsaWItMi4zMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWJjZTZhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94Y2hhdC94Y2hhdC0yLjguOC9nbGliLTIuMzIucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorLS0tIHhjaGF0LTIuOC44Lm9yaWcvc3JjL2NvbW1vbi94Y2hhdC5oCTIwMDktMDgtMTYgMTE6NDA6MTYuMDAwMDAwMDAwICswMjAwCisrKysgeGNoYXQtMi44Ljgvc3JjL2NvbW1vbi94Y2hhdC5oCTIwMTItMDUtMDYgMDg6MzA6MTYuMTI1NzU1NDk3ICswMjAwCitAQCAtMSwxMCArMSw2IEBACisgI2luY2x1ZGUgIi4uLy4uL2NvbmZpZy5oIgorIAorLSNpbmNsdWRlIDxnbGliL2dzbGlzdC5oPgorLSNpbmNsdWRlIDxnbGliL2dsaXN0Lmg+CistI2luY2x1ZGUgPGdsaWIvZ3V0aWxzLmg+CistI2luY2x1ZGUgPGdsaWIvZ2lvY2hhbm5lbC5oPgorLSNpbmNsdWRlIDxnbGliL2dzdHJmdW5jcy5oPgorKyNpbmNsdWRlIDxnbGliLmg+CisgI2luY2x1ZGUgPHRpbWUuaD4JCQkvKiBuZWVkIHRpbWVfdCAqLworIAorICNpZm5kZWYgWENIQVRfSAorLS0tIHhjaGF0LTIuOC44Lm9yaWcvc3JjL2NvbW1vbi9zZXJ2bGlzdC5jCTIwMTAtMDUtMTYgMDk6MjQ6MjYuMDAwMDAwMDAwICswMjAwCisrKysgeGNoYXQtMi44Ljgvc3JjL2NvbW1vbi9zZXJ2bGlzdC5jCTIwMTItMDUtMDYgMDg6MzA6NDUuNjgxNzU4MDE5ICswMjAwCitAQCAtMjQsNyArMjQsNiBAQAorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAKKyAjaW5jbHVkZSAieGNoYXQuaCIKKy0jaW5jbHVkZSA8Z2xpYi9naGFzaC5oPgorIAorICNpbmNsdWRlICJjZmdmaWxlcy5oIgorICNpbmNsdWRlICJmZS5oIgorLS0tIHhjaGF0LTIuOC44Lm9yaWcvc3JjL2NvbW1vbi91dGlsLmMJMjAwOS0wOC0xNiAxMTo0MDoxNi4wMDAwMDAwMDAgKzAyMDAKKysrKyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3V0aWwuYwkyMDEyLTA1LTA2IDA4OjMxOjEwLjM4OTc2MDEyMiArMDIwMAorQEAgLTM5LDcgKzM5LDYgQEAKKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSAieGNoYXQuaCIKKyAjaW5jbHVkZSAieGNoYXRjLmgiCistI2luY2x1ZGUgPGdsaWIvZ21hcmt1cC5oPgorICNpbmNsdWRlIDxjdHlwZS5oPgorICNpbmNsdWRlICJ1dGlsLmgiCisgI2luY2x1ZGUgIi4uLy4uL2NvbmZpZy5oIgorLS0tIHhjaGF0LTIuOC44Lm9yaWcvc3JjL2NvbW1vbi90ZXh0LmMJMjAxMC0wNS0zMCAwNDoxNDo0MS4wMDAwMDAwMDAgKzAyMDAKKysrKyB4Y2hhdC0yLjguOC9zcmMvY29tbW9uL3RleHQuYwkyMDEyLTA1LTA2IDA4OjMxOjIyLjMwMDc2MTEzNyArMDIwMAorQEAgLTI4LDcgKzI4LDYgQEAKKyAjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyAKKyAjaW5jbHVkZSAieGNoYXQuaCIKKy0jaW5jbHVkZSA8Z2xpYi9naGFzaC5oPgorICNpbmNsdWRlICJjZmdmaWxlcy5oIgorICNpbmNsdWRlICJjaGFub3B0LmgiCisgI2luY2x1ZGUgInBsdWdpbi5oIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94Y2hhdC94Y2hhdF8yLjguOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXRfMi44LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRhMTFjZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGNoYXQveGNoYXRfMi44LjguYmIKQEAgLTAsMCArMSwzNyBAQAorU1VNTUFSWSA9ICJGdWxsLWZlYXR1cmVkIElSQyBjaGF0IGNsaWVudCB3aXRoIHNjcmlwdGluZyBzdXBwb3J0IgorTElDRU5TRSA9ICJHUEx2MisiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnhjaGF0Lm9yZyIKK1NFQ1RJT04gPSAieDExL25ldHdvcmsiCisKK0RFUEVORFMgPSAibGliZ2NyeXB0IHpsaWIgZ3RrKyBsaWJzZXh5IgorREVQRU5EUyArPSAiZ2RrLXBpeGJ1Zi1uYXRpdmUiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM5M2MwNTUwYmQzMTczZjQ1MDRiMmNiZDg5OTFlNTBiIgorCitQUiA9ICJyMiIKKworU1JDX1VSSSA9ICJodHRwOi8veGNoYXQub3JnL2ZpbGVzL3NvdXJjZS8yLjgveGNoYXQtJHtQVn0udGFyLmJ6MiBcCisgICAgZmlsZTovL2dsaWItMi4zMi5wYXRjaCBcCisgICAgZmlsZTovL2F1dG9tYWtlLWZvcmVpZ24ucGF0Y2ggXAorICAgIGZpbGU6Ly9maXgtaW5jbHVkZXMtZm9yLXNlcGFyYXRlLWJ1aWxkLnBhdGNoIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gImRidXMiCitQQUNLQUdFQ09ORklHW2RidXNdID0gIi0tZW5hYmxlLWRidXMsLS1kaXNhYmxlLWRidXMsZGJ1cy1nbGliIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLWVuYWJsZS1vcGVuc3NsLC0tZGlzYWJsZS1vcGVuc3NsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS1lbmFibGUtcHl0aG9uLC0tZGlzYWJsZS1weXRob24scHl0aG9uIgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgIC0tZW5hYmxlLW1haW50YWluZXItbW9kZSBcCisgICAgLS1kaXNhYmxlLXBlcmwgXAorICAgIC0tZGlzYWJsZS10Y2wgXAorIgorCitSREVQRU5EU18ke1BOfSArPSAiZGJ1cyIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3hjaGF0L3BsdWdpbnMvLmRlYnVnIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjc3NWM0NGYzOGU4NGQwNmMwNmMzMzZiMzJjNGE0NTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGQ2ZDY5NDM3YjVlMWU0NWYzZTY2MjcwZmUzNjkzNDQ5NDNkZThhMTE5MGU0OThmYWZhNTI5NjMxNWEyN2RiMCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGRlbHRhL3hkZWx0YTNfMy4wLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94ZGVsdGEveGRlbHRhM18zLjAuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY2OWQ5YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveGRlbHRhL3hkZWx0YTNfMy4wLjExLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiWGRlbHRhIGlzIGEgdG9vbCBmb3IgZGlmZmVyZW50aWFsIGNvbXByZXNzaW9uIgorREVTQ1JJUFRJT04gPSAiT3Blbi1zb3VyY2UgYmluYXJ5IGRpZmYsIGRpZmZlcmVudGlhbCBjb21wcmVzc2lvbiB0b29scywgXAorICAgICAgICAgICAgICAgVkNESUZGIChSRkMgMzI4NCkgZGVsdGEgY29tcHJlc3Npb24uIgorSE9NRVBBR0UgPSAiaHR0cDovL3hkZWx0YS5vcmcvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzkzYTVjYTQ0NWY2OTY1ODczZWNhMDI1OWExN2Y4MzMiCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9qbWFjZC94ZGVsdGEtZGV2ZWwvcmVsZWFzZXMvZG93bmxvYWQvdiR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3ogIFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiNDQ1ZDhiZTJhYzUxMjExM2Q1Y2E2MDFhZTgzNTk2MjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGNjYzk3NTFjZWFhNGQ5MGQ2YjA2OTM4YTRkZWRkYjQ4MTgxNmY1ZDkyODRiZDA3ZDJlNzI4NjA5Y2IzMDBhYSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworIyBPcHRpb25hbCBzZWNvbmRhcnkgY29tcHJlc3Npb24KK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2x6bWFdID0gIi0td2l0aC1saWJsem1hLC0td2l0aG91dC1saWJsem1hLHh6IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94bWxzdGFybGV0L2ZpbGVzLzAwMDEtdXNhZ2UyYy5hd2stZml4LXdyb25nLWJhc2VuYW1lLXJlZ2V4cC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveG1sc3RhcmxldC9maWxlcy8wMDAxLXVzYWdlMmMuYXdrLWZpeC13cm9uZy1iYXNlbmFtZS1yZWdleHAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRiMTg3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQveG1sc3RhcmxldC9maWxlcy8wMDAxLXVzYWdlMmMuYXdrLWZpeC13cm9uZy1iYXNlbmFtZS1yZWdleHAucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW3NvdXJjZWZvcmdlXQorCitGcm9tIDc1ZDc4OWQwZWE5NzE2YzlhOWFlNzJmNDJhMmZjZmE5MDdjZjRhMTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0aGlldSBDcmFwZXQgPG1jcmFwZXRAZ21haWwuY29tPgorRGF0ZTogTW9uLCAzMCBKdW4gMjAxNCAxMzo1MjoyNSArMDIwMAorU3ViamVjdDogW1BBVENIXSB1c2FnZTJjLmF3azogZml4IHdyb25nIGJhc2VuYW1lIHJlZ2V4cAorCitQcmV2aW91c2x5IG5vdCBtYXRjaGluZyB3aXRoIGZpbGVuYW1lIGFyZ3VtZW50IHdpdGggYWJzb2x1dGUgcGF0aC4KKworU2lnbmVkLW9mZi1ieTogTWF0dGhpZXUgQ3JhcGV0IDxtY3JhcGV0QGdtYWlsLmNvbT4KKy0tLQorIHVzYWdlMmMuYXdrIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3VzYWdlMmMuYXdrIGIvdXNhZ2UyYy5hd2sKK2luZGV4IDk0Yjg5N2EuLjlhZWEyMTIgMTAwNzU1CistLS0gYS91c2FnZTJjLmF3aworKysrIGIvdXNhZ2UyYy5hd2sKK0BAIC02LDEzICs2LDEzIEBAIEJFR0lOIHsKKyB9CisgCisgIyB0ZXh0IGluIHNyYy9mb28tYmFyLnR4dCByZXN1bHRzIGluCistIyAgIHN0YXRpYyBjb25zdCBjaGFyIGZvb190ZXh0W10gPSB7CisrIyAgIHN0YXRpYyBjb25zdCBjaGFyIGZvb19iYXJbXSA9IHsKKyAjICAgICAndCcsICdoJywgJ2UnLCAnICcsICd0JywgJ2UnLCAneCcsICd0JywgLi4uCisgIyAgIH0KKyBsZW5ndGgoY29tbWFuZF9uYW1lKSA9PSAwIHsKKyAgICAgY29tbWFuZF9uYW1lID0gRklMRU5BTUU7CisgICAgIHN1YigvXC50eHQkLywgIiIsIGNvbW1hbmRfbmFtZSk7CistICAgIHN1YigvXihbXlwvXStcLykqLywgIiIsIGNvbW1hbmRfbmFtZSk7CisrICAgIHN1YigvXi4qXC8vLCAiIiwgY29tbWFuZF9uYW1lKTsKKyAgICAgZ3N1YigvLS8sICJfIiwgY29tbWFuZF9uYW1lKTsKKyAgICAgcHJpbnRmKCJzdGF0aWMgY29uc3QgY2hhciAlc1tdID0ge1xuIiwgY29tbWFuZF9uYW1lKTsKKyAgICAgcHJvZ3MgPSAwOworLS0gCisyLjAuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3htbHN0YXJsZXQvZmlsZXMvY29uZmlndXJlLmFjLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94bWxzdGFybGV0L2ZpbGVzL2NvbmZpZ3VyZS5hYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTVmNGYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94bWxzdGFybGV0L2ZpbGVzL2NvbmZpZ3VyZS5hYy5wYXRjaApAQCAtMCwwICsxLDI4IEBACitjb25maWd1cmUuYWM6IGRvbid0IHVzZSB4bWwtY29uZmlnIGlmIC0td2l0aC1saWJ4bWwtcHJlZml4IGlzIHNwZWNpZmllZCB0byBjb25maWd1cmUKKworU2FtZSBiZWhhdmlvciBmb3IgeHNsdC1jb25maWcuCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGVkMDRlMGMuLjM5ZDVkNGMgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTQwLDcgKzQwLDggQEAgQUNfQVJHX1BST0dSQU0gICAgICAgICAgZG5sIFRyYW5zZm9ybWluZyBQcm9ncmFtIE5hbWVzIFdoZW4gSW5zdGFsbGluZworIEFDX1BST0dfU0VECisgQUNfUFJPR19BV0sKKyAKKy1YU1RBUl9MSUJfQ0hFQ0soW0xJQlhNTF0sIFt4bWwyLWNvbmZpZ10pCisrQVNfSUYoW3Rlc3QgIngkTElCWE1MX1BSRUZJWCIgPSB4XSwKKysgICAgICBbWFNUQVJfTElCX0NIRUNLKFtMSUJYTUxdLCBbeG1sMi1jb25maWddKV0pCisgCisgQVNfSUYoW3Rlc3QgIngkTElCWE1MX1NSQ0RJUiIgIT0geF0sCisgICAgICAgW0xJQlhNTF9JTkNESVI9IiRMSUJYTUxfU1JDRElSL2luY2x1ZGUiXSkKK0BAIC01Niw3ICs1Nyw4IEBAIEFTX0lGKFt0ZXN0ICJ4JFNUQVRJQ19MSUJTIiAhPSB4bm9dLAorIFtMSUJYTUxfTERGTEFHUz0iLUwkTElCWE1MX0xJQkRJUiJdCisgCisgCistWFNUQVJfTElCX0NIRUNLKFtMSUJYU0xUXSwgW3hzbHQtY29uZmlnXSkKKytBU19JRihbdGVzdCAieCRMSUJYU0xUX1BSRUZJWCIgPSB4XSwKKysgICAgICBbWFNUQVJfTElCX0NIRUNLKFtMSUJYU0xUXSwgW3hzbHQtY29uZmlnXSldKQorIAorIEFTX0lGKFt0ZXN0ICJ4JExJQlhTTFRfU1JDRElSIiAhPSB4XSwKKyAgICAgICBbWFNMVFBST0NfUEFUSD0iJExJQlhTTFRfU1JDRElSL3hzbHRwcm9jOiRQQVRIIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94bWxzdGFybGV0L3htbHN0YXJsZXRfMS41LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3htbHN0YXJsZXQveG1sc3RhcmxldF8xLjUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjk5YWZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC94bWxzdGFybGV0L3htbHN0YXJsZXRfMS41LjAuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJDb21tYW5kIGxpbmUgWE1MIHRvb2xraXQiCitERVNDUklQVElPTiA9ICJYTUxTdGFybGV0IGlzIGEgY29tbWFuZCBsaW5lIFhNTCB0b29sa2l0IHdoaWNoIGNhbiBiZSB1c2VkIHRvIFwKKyAgICAgICAgICAgICAgIHRyYW5zZm9ybSwgcXVlcnksIHZhbGlkYXRlLCBhbmQgZWRpdCBYTUwgZG9jdW1lbnRzIGFuZCBmaWxlcyBcCisgICAgICAgICAgICAgICB1c2luZyAgc2ltcGxlIHNldCBvZiBzaGVsbCBjb21tYW5kcyBpbiBzaW1pbGFyIHdheSBpdCBpcyBkb25lIFwKKyAgICAgICAgICAgICAgIGZvciBwbGFpbiB0ZXh0IGZpbGVzIHVzaW5nIGdyZXAvc2VkL2F3ay90ci9kaWZmL3BhdGNoLiIKK0hPTUVQQUdFID0gImh0dHA6Ly94bWxzdGFyLnNvdXJjZWZvcmdlLm5ldC8iCitCVUdUUkFDS0VSID0gImh0dHA6Ly94bWxzdGFyLnNvdXJjZWZvcmdlLm5ldC9idWdzLyIKKworU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMDQ3NjBkMDllOGIwZmU3MzI4M2QwY2M5ZThiZWE1MyIKKworREVQRU5EUyA9ICJsaWJ4bWwyIGxpYnhzbHQiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3htbHN0YXIvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5hYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXVzYWdlMmMuYXdrLWZpeC13cm9uZy1iYXNlbmFtZS1yZWdleHAucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiMGM2ZGIyOTVkMGNmOWZmMGQ0MzllZGI3NTViN2U4ZjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDdiNGVkMDQyZWEyOTA5MjU3ZjJhMzg2MDAxYWY0OWZjZWIzMDNmODRkYTcyMTQ3NzljY2Y5OWZmZmM2YmJiYSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworIyBkb2MgYnVpbGQ6IHJlcXVpcmVzIChuYXRpdmUpIHhzdGxwcm9jLCBmb3AsIHBkZjJwcworRVhUUkFfT0VDT05GPSItLWRpc2FibGUtYnVpbGQtZG9jcyBcCisgIC0td2l0aC1saWJ4bWwtcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKKyAgLS13aXRoLWxpYnhzbHQtcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9Ly4uIgorCisjTWFrZWZpbGU6MjExNjogcmVjaXBlIGZvciB0YXJnZXQgJ3NyYy9lbGVtLXVzYWdlLmMnIGZhaWxlZAorI21ha2VbMV06ICoqKiBbc3JjL2VsZW0tdXNhZ2UuY10gRXJyb3IgMQorIy9iaW4vYmFzaDogc3JjL2VzY2FwZS11c2FnZS5jOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisjTWFrZWZpbGU6MjExNjogcmVjaXBlIGZvciB0YXJnZXQgJ3NyYy9lc2NhcGUtdXNhZ2UuYycgZmFpbGVkCisjbWFrZVsxXTogKioqIFtzcmMvZXNjYXBlLXVzYWdlLmNdIEVycm9yIDEKK1BBUkFMTEVMX01BS0UgPSAiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC96aWxlL2ZpbGVzL3JlbW92ZS1oZWxwMm1hbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvemlsZS9maWxlcy9yZW1vdmUtaGVscDJtYW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFhNjNmNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvemlsZS9maWxlcy9yZW1vdmUtaGVscDJtYW4ucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggNTRiYzU5Zi4uNDZjMjY1MCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTM2LDcgKzM2LDYgQEAgUEVSTF9CVUlMRFRJTUUgPQkJCQkJXAorIAorIEVYVFJBX0RJU1QgPQkJCQkJCVwKKyAJRkFRCQkJCQkJXAorLQlidWlsZC1hdXgvemlsZS1oZWxwMm1hbi13cmFwcGVyCQkJXAorIAkkKFBFUkxfQlVJTERUSU1FKQorIAorIGRvY19EQVRBID0gQVVUSE9SUyBGQVEgTkVXUworZGlmZiAtLWdpdCBhL2RvYy9NYWtlZmlsZS5hbSBiL2RvYy9NYWtlZmlsZS5hbQoraW5kZXggNjM5ZjU5Yy4uOGM1MTIzZSAxMDA2NDQKKy0tLSBhL2RvYy9NYWtlZmlsZS5hbQorKysrIGIvZG9jL01ha2VmaWxlLmFtCitAQCAtMzMsOSArMzMsMyBAQCBkb2MvemlsZS4xOiAkKHNyY2RpcikvZG9jL3ppbGUuMS5pbiBkb2MvTWFrZWZpbGUuYW0gY29uZmlnLnN0YXR1cworIAkkKGVkaXQpICQoYWJzX3NyY2RpcikvZG9jL3ppbGUuMS5pbiA+JEAudG1wCisgCW12ICRALnRtcCAkQAorIAorLSQoc3JjZGlyKS9kb2MvemlsZS4xLmluOiBkb2MvbWFuLWV4dHJhcyBidWlsZC1hdXgvemlsZS1oZWxwMm1hbi13cmFwcGVyIGNvbmZpZ3VyZS5hYyAkKGJ1aWxkZGlyKS9zcmMvemlsZSQoRVhFRVhUKQorLQlAdGVzdCAtZCBkb2MgfHwgbWtkaXIgZG9jCistIyMgRXhpdCBncmFjZWZ1bGx5IGlmIHppbGUuMS5pbiBpcyBub3Qgd3JpdGVhYmxlLCBzdWNoIGFzIGR1cmluZyBkaXN0Y2hlY2shCistCSQoQU1fVl9HRU4paWYgKCB0b3VjaCAkQC53ICYmIHJtIC1mICRALnc7ICkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuIFwKKy0JICAkKHNyY2RpcikvYnVpbGQtYXV4L21pc3NpbmcgLS1ydW4gJChIRUxQMk1BTikgLS1vdXRwdXQ9JEAgLS1uby1pbmZvIC0tbmFtZT0iWmlsZSBJcyBMb3NzeSBFbWFjcyIgLS1pbmNsdWRlICQoc3JjZGlyKS9kb2MvbWFuLWV4dHJhcyAkKHNyY2RpcikvYnVpbGQtYXV4L3ppbGUtaGVscDJtYW4td3JhcHBlcjsgXAorLQlmaQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC96aWxlL3ppbGVfMi40LjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ppbGUvemlsZV8yLjQuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTUxYTgwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC96aWxlL3ppbGVfMi40LjkuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJaaWxlIGlzIGxvc3N5IEVtYWNzIgorSE9NRVBBR0UgPSAiaHR0cDovL3ppbGUuc291cmNlZm9yZ2UubmV0LyIKK0RFUEVORFMgPSAibmN1cnNlcyBiZHdnYyIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ251Lm9yZy9nbnUvemlsZS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLWhlbHAybWFuLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjg0YTBhZjU4ZmI0ZmJlM2FmMTZiZGUyZWYyYjhmNWFlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM3MTk1OWM3YWNhMDJhYzY2YmU1MjZlY2NjYmM3OTU0ZmIwZWE3NTkxZWQzYzEzMzExYTk1ZThmMDQwYjAwNDkiCisKK2luaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2Z3dHMvZnd0c19naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2Z3dHMvZnd0c19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk0M2Q2ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZnd0cy9md3RzX2dpdC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIkZpcm13YXJlIHRlc3RzdWl0ZSIKK0RFU0NSSVBUSU9OID0gIlRoZSB0b29sIGZ3dHMgY29tcHJpc2VzIG9mIG92ZXIgZmlmdHkgdGVzdHMgdGhhdCBhcmUgZGVzaWduZWQgdG8gZXhlcmNpc2UgYW5kIHRlc3QgZGlmZmVyZW50IGFzcGVjdHMgb2YgYSBtYWNoaW5lJ3MgZmlybXdhcmUuIE1hbnkgb2YgdGhlc2UgdGVzdHMgbmVlZCBzdXBlciB1c2VyIGFjY2VzcyB0byByZWFkIEJJT1MgZGF0YSBhbmQgQUNQSSB0YWJsZXMsIHNvIHRoZSB0b29sIHJlcXVpcmVzIHJ1bm5pbmcgd2l0aCBzdXBlciB1c2VyIHByaXZpbGVnZXMgKGUuZy4gd2l0aCBzdWRvKS4iCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kudWJ1bnR1LmNvbS9LZXJuZWwvUmVmZXJlbmNlL2Z3dHMiCisKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3JjL21haW4uYztiZWdpbmxpbmU9MTtlbmRsaW5lPTE2O21kNT1kZWI4YWY1Mzg4ZTgzOGQxMzNlYWEwMzZmNGQxNDk2ZiIKKworUFYgPSAiMTQuMTIuMDAiCisKK1NSQ1JFViA9ICJlZmMxOGQxNjI5NGY0OTJiN2Y3MmJiYTY0MzQ0YjJlZWQ1MGU2YTY5IgorU1JDX1VSSSA9ICJnaXQ6Ly9rZXJuZWwudWJ1bnR1LmNvbS9od2UvZnd0cy5naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RFUEVORFMgPSAibGlicGNyZSBqc29uLWMgZ2xpYi0yLjAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitDRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0vanNvbi1jIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2Z3dHMvbGliKiR7U09MSUJTfSIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2Z3dHMvbGliKiR7U09MSUJTREVWfSAke2xpYmRpcn0vZnd0cy9saWIqLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZnd0cy9saWIqYSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2Z3dHMvLmRlYnVnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9nbW9jay9nbW9jay9jbWFrZS1BZGQtaW5zdGFsbC1jb21tYW5kLWZvci1saWJyYXJpZXMtYW5kLWhlYWRlcnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2dtb2NrL2dtb2NrL2NtYWtlLUFkZC1pbnN0YWxsLWNvbW1hbmQtZm9yLWxpYnJhcmllcy1hbmQtaGVhZGVycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmE2MzkzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9nbW9jay9nbW9jay9jbWFrZS1BZGQtaW5zdGFsbC1jb21tYW5kLWZvci1saWJyYXJpZXMtYW5kLWhlYWRlcnMucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSBiYTBhN2Q2NWM5MThjYjdlM2YyMDczNTUzYzRjYzdhZjU4NThlZDAzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK0RhdGU6IFRodSwgMzEgSnVsIDIwMTQgMTY6NTQ6MDAgLTAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gY21ha2U6IEFkZCBpbnN0YWxsIGNvbW1hbmQgZm9yIGxpYnJhcmllcyBhbmQgaGVhZGVycworT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIENNYWtlTGlzdHMudHh0IHwgNiArKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCA1NzJkMDQ0Li45MGU3OTdhIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtNjMsNiArNjMsOCBAQCBpbmNsdWRlX2RpcmVjdG9yaWVzKCIke2dtb2NrX1NPVVJDRV9ESVJ9L2luY2x1ZGUiCisgICAgICAgICAgICAgICAgICAgICAjIFRlc3Qgc291cmNlcy4KKyAgICAgICAgICAgICAgICAgICAgICIke2d0ZXN0X1NPVVJDRV9ESVJ9IikKKyAKKytpbnN0YWxsKERJUkVDVE9SWSAke2dtb2NrX1NPVVJDRV9ESVJ9L2luY2x1ZGUvZ21vY2sgREVTVElOQVRJT04gaW5jbHVkZSkKKysKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjCisgIyBEZWZpbmVzIHRoZSBnbW9jayAmIGdtb2NrX21haW4gbGlicmFyaWVzLiAgVXNlciB0ZXN0cyBzaG91bGQgbGluaworQEAgLTgyLDYgKzg0LDEwIEBAIGN4eF9saWJyYXJ5KGdtb2NrX21haW4KKyAgICAgICAgICAgICBzcmMvZ21vY2stYWxsLmNjCisgICAgICAgICAgICAgc3JjL2dtb2NrX21haW4uY2MpCisgCisrCisraW5zdGFsbChUQVJHRVRTIGdtb2NrIERFU1RJTkFUSU9OIGxpYikKKytpbnN0YWxsKFRBUkdFVFMgZ21vY2tfbWFpbiBERVNUSU5BVElPTiBsaWIpCisrCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIworICMgR29vZ2xlIE1vY2sncyBvd24gdGVzdHMuCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ21vY2svZ21vY2svY21ha2UtZ21vY2sucGMuaW4tQWRkLXBrZy1jb25maWctc3VwcG9ydC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ21vY2svZ21vY2svY21ha2UtZ21vY2sucGMuaW4tQWRkLXBrZy1jb25maWctc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTM4ZmU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9nbW9jay9nbW9jay9jbWFrZS1nbW9jay5wYy5pbi1BZGQtcGtnLWNvbmZpZy1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAKK0Zyb20gNDU2NjExODNhN2M3OGQ4YzRmNzVhZGNmNTNjNmRkZDY2M2RjOGIyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmlvIERvbWVuZWNoIEdvdWxhcnQgPG1hcmlvQG9zc3lzdGVtcy5jb20uYnI+CitEYXRlOiBNb24sIDIwIE9jdCAyMDE0IDE3OjEyOjU4IC0wMjAwCitTdWJqZWN0OiBbUEFUQ0hdIENNYWtlTGlzdHMsIGdtb2NrLnBjLmluOiBBZGQgcGtnLWNvbmZpZyBzdXBwb3J0CitPcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgorCitTaWduZWQtb2ZmLWJ5OiBNYXJpbyBEb21lbmVjaCBHb3VsYXJ0IDxtYXJpb0Bvc3N5c3RlbXMuY29tLmJyPgorLS0tCisgQ01ha2VMaXN0cy50eHQgfCA3ICsrKysrKy0KKyBnbW9jay5wYy5pbiAgICB8IDkgKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdtb2NrLnBjLmluCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCA5MGU3OTdhLi45OGZkODI0IDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMjcsNiArMjcsOSBAQCBpZiAoQ09NTUFORCBwcmVfcHJvamVjdF9zZXRfdXBfaGVybWV0aWNfYnVpbGQpCisgICBwcmVfcHJvamVjdF9zZXRfdXBfaGVybWV0aWNfYnVpbGQoKQorIGVuZGlmKCkKKyAKKysjIHBrZy1jb25maWcgc3VwcG9ydAorK2NvbmZpZ3VyZV9maWxlKCJnbW9jay5wYy5pbiIgImdtb2NrLnBjIiBAT05MWSkKKysKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjCisgIyBQcm9qZWN0LXdpZGUgc2V0dGluZ3MKK0BAIC04Nyw3ICs5MCw5IEBAIGN4eF9saWJyYXJ5KGdtb2NrX21haW4KKyAKKyBpbnN0YWxsKFRBUkdFVFMgZ21vY2sgREVTVElOQVRJT04gbGliKQorIGluc3RhbGwoVEFSR0VUUyBnbW9ja19tYWluIERFU1RJTkFUSU9OIGxpYikKKy0KKytpbnN0YWxsKEZJTEVTICIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ21vY2sucGMiCisrICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9saWIvcGtnY29uZmlnLyIKKyspICAKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjCisgIyBHb29nbGUgTW9jaydzIG93biB0ZXN0cy4KK2RpZmYgLS1naXQgYS9nbW9jay5wYy5pbiBiL2dtb2NrLnBjLmluCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMDhhZDhkMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ21vY2sucGMuaW4KK0BAIC0wLDAgKzEsOSBAQAorK05hbWU6IGxpYmdtb2NrCisrVmVyc2lvbjogMS43LjAKKytEZXNjcmlwdGlvbjogR29vZ2xlJ3MgZnJhbWV3b3JrIGZvciB3cml0aW5nIEMrKyB0ZXN0cyBvbiBhIHZhcmlldHkgb2YgcGxhdGZvcm1zCisrIAorK3ByZWZpeD1AQ01BS0VfSU5TVEFMTF9QUkVGSVhACisraW5jbHVkZWRpcj0ke3ByZWZpeH0vaW5jbHVkZQorK2xpYmRpcj0ke3ByZWZpeH0vbGliCisrQ2ZsYWdzOi1JJHtpbmNsdWRlZGlyfS9nbW9jaworK0xpYnM6IC1MJHtsaWJkaXJ9IC1sZ21vY2sgLWxnbW9ja19tYWluCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ21vY2svZ21vY2tfMS43LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2dtb2NrL2dtb2NrXzEuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1MzdmNGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2dtb2NrL2dtb2NrXzEuNy4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK0RFU0NSSVBUSU9OID0gIkdvb2dsZSBDKysgTW9ja2luZyBGcmFtZXdvcmsiCitTRUNUSU9OID0gImxpYnMiCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZ29vZ2xlbW9jay8iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWNiYmQyNzU5NGFmZDA4OWRhYTE2MGQzYTE2ZGQ1MTVhIgorCitTUkNfVVJJID0gIlwKKyAgICBodHRwOi8vZ29vZ2xlbW9jay5nb29nbGVjb2RlLmNvbS9maWxlcy8ke0JQTn0tJHtQVn0uemlwIFwKKyAgICBmaWxlOi8vY21ha2UtQWRkLWluc3RhbGwtY29tbWFuZC1mb3ItbGlicmFyaWVzLWFuZC1oZWFkZXJzLnBhdGNoIFwKKyAgICBmaWxlOi8vY21ha2UtZ21vY2sucGMuaW4tQWRkLXBrZy1jb25maWctc3VwcG9ydC5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNzNiOTg0ZDg3OThlYTE1OTRmNWU0NGQ4NWIyMGQ2NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNmZjYmI1OTI1Yjc0YWQ1ZmM4YzI2YjA0OTVkZmM5NjM1M2Y0ZDU1MzQ5MmViOTdlODVhOGE2ZDJmNDMwOTViIgorCitpbmhlcml0IGxpYl9wYWNrYWdlIGNtYWtlCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCitBTExPV19FTVBUWV8ke1BOfS1kYmcgPSAiMSIKKworUkRFUEVORFNfJHtQTn0tZGV2ICs9ICIke1BOfS1zdGF0aWNkZXYiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ3Rlc3QvZ3Rlc3QvQ01ha2VMaXN0cy1ndGVzdC5wYy5pbi1BZGQtcGtnLWNvbmZpZy1zdXBwb3J0LXRvLWd0ZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ3Rlc3QvZ3Rlc3QvQ01ha2VMaXN0cy1ndGVzdC5wYy5pbi1BZGQtcGtnLWNvbmZpZy1zdXBwb3J0LXRvLWd0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWNlMTM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9ndGVzdC9ndGVzdC9DTWFrZUxpc3RzLWd0ZXN0LnBjLmluLUFkZC1wa2ctY29uZmlnLXN1cHBvcnQtdG8tZ3RlLnBhdGNoCkBAIC0wLDAgKzEsNTUgQEAKK0Zyb20gZDRiMjVjZTcyMzgxMmZhZjc4ZDhlZTAzOGI3Y2JlZDAwY2JiYTY4MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvZHJpZ28gQ2FpbWkgPGNhaW1pQGRhdGFjb20uaW5kLmJyPgorRGF0ZTogVHVlLCA3IE9jdCAyMDE0IDE1OjM3OjEwIC0wMzAwCitTdWJqZWN0OiBbUEFUQ0hdIENNYWtlTGlzdHMsIGd0ZXN0LnBjLmluOiBBZGQgcGtnLWNvbmZpZyBzdXBwb3J0IHRvIGd0ZXN0CisgMS43LjAKKworU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBDYWltaSA8Y2FpbWlAZGF0YWNvbS5pbmQuYnI+CistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDYgKysrKysrCisgZ3Rlc3QucGMuaW4gICAgfCA5ICsrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBndGVzdC5wYy5pbgorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggMjgxYzRjMi4uZTQzNTRhOCAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTI5LDYgKzI5LDkgQEAgaWYgKENPTU1BTkQgcHJlX3Byb2plY3Rfc2V0X3VwX2hlcm1ldGljX2J1aWxkKQorICAgcHJlX3Byb2plY3Rfc2V0X3VwX2hlcm1ldGljX2J1aWxkKCkKKyBlbmRpZigpCisgCisrIyBwa2ctY29uZmlnIHN1cHBvcnQKKytjb25maWd1cmVfZmlsZSgiZ3Rlc3QucGMuaW4iICJndGVzdC5wYyIgQE9OTFkpCisrCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIworICMgUHJvamVjdC13aWRlIHNldHRpbmdzCitAQCAtNzUsNiArNzgsOSBAQCB0YXJnZXRfbGlua19saWJyYXJpZXMoZ3Rlc3RfbWFpbiBndGVzdCkKKyAKKyBpbnN0YWxsKFRBUkdFVFMgZ3Rlc3QgREVTVElOQVRJT04gbGliKQorIGluc3RhbGwoVEFSR0VUUyBndGVzdF9tYWluIERFU1RJTkFUSU9OIGxpYikKKytpbnN0YWxsKEZJTEVTICIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ3Rlc3QucGMiCisrICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9saWIvcGtnY29uZmlnLyIKKyspCisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIworZGlmZiAtLWdpdCBhL2d0ZXN0LnBjLmluIGIvZ3Rlc3QucGMuaW4KK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi41N2IxMDQ5CistLS0gL2Rldi9udWxsCisrKysgYi9ndGVzdC5wYy5pbgorQEAgLTAsMCArMSw5IEBACisrTmFtZTogbGliZ3Rlc3QKKytWZXJzaW9uOiAxLjcuMAorK0Rlc2NyaXB0aW9uOiBHb29nbGUncyBmcmFtZXdvcmsgZm9yIHdyaXRpbmcgQysrIHRlc3RzIG9uIGEgdmFyaWV0eSBvZiBwbGF0Zm9ybXMKKysKKytwcmVmaXg9QENNQUtFX0lOU1RBTExfUFJFRklYQAorK2luY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUKKytsaWJkaXI9JHtwcmVmaXh9L2xpYgorK0NmbGFnczotSSR7aW5jbHVkZWRpcn0vZ3Rlc3QKKytMaWJzOiAtTCR7bGliZGlyfSAtbGd0ZXN0IC1sZ3Rlc3RfbWFpbgorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2d0ZXN0L2d0ZXN0L2NtYWtlLUFkZC1pbnN0YWxsLWNvbW1hbmQtZm9yLWxpYnJhcmllcy1hbmQtaGVhZGVycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ3Rlc3QvZ3Rlc3QvY21ha2UtQWRkLWluc3RhbGwtY29tbWFuZC1mb3ItbGlicmFyaWVzLWFuZC1oZWFkZXJzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjMTYwYjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2d0ZXN0L2d0ZXN0L2NtYWtlLUFkZC1pbnN0YWxsLWNvbW1hbmQtZm9yLWxpYnJhcmllcy1hbmQtaGVhZGVycy5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDUzMTg5ODM1NjJiZTZiYWJlYjVhNjk5NmU3ZGRhNGIzMWFjZmRiYTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorRGF0ZTogV2VkLCAzMCBKdWwgMjAxNCAxNjo0OTo1MyAtMDMwMAorU3ViamVjdDogW1BBVENIXSBjbWFrZTogQWRkIGluc3RhbGwgY29tbWFuZCBmb3IgbGlicmFyaWVzIGFuZCBoZWFkZXJzCitPcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorLS0tCisgQ01ha2VMaXN0cy50eHQgfCA1ICsrKysrCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNTc0NzBjOC4uMjgxYzRjMiAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTU2LDYgKzU2LDggQEAgaW5jbHVkZV9kaXJlY3RvcmllcygKKyAgICR7Z3Rlc3RfU09VUkNFX0RJUn0vaW5jbHVkZQorICAgJHtndGVzdF9TT1VSQ0VfRElSfSkKKyAKKytpbnN0YWxsKERJUkVDVE9SWSAke2d0ZXN0X1NPVVJDRV9ESVJ9L2luY2x1ZGUvZ3Rlc3QgREVTVElOQVRJT04gaW5jbHVkZSkKKysKKyAjIFdoZXJlIEdvb2dsZSBUZXN0J3MgbGlicmFyaWVzIGNhbiBiZSBmb3VuZC4KKyBsaW5rX2RpcmVjdG9yaWVzKCR7Z3Rlc3RfQklOQVJZX0RJUn0vc3JjKQorIAorQEAgLTcxLDYgKzczLDkgQEAgY3h4X2xpYnJhcnkoZ3Rlc3QgIiR7Y3h4X3N0cmljdH0iIHNyYy9ndGVzdC1hbGwuY2MpCisgY3h4X2xpYnJhcnkoZ3Rlc3RfbWFpbiAiJHtjeHhfc3RyaWN0fSIgc3JjL2d0ZXN0X21haW4uY2MpCisgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGd0ZXN0X21haW4gZ3Rlc3QpCisgCisraW5zdGFsbChUQVJHRVRTIGd0ZXN0IERFU1RJTkFUSU9OIGxpYikKKytpbnN0YWxsKFRBUkdFVFMgZ3Rlc3RfbWFpbiBERVNUSU5BVElPTiBsaWIpCisrCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIworICMgU2FtcGxlcyBvbiBob3cgdG8gbGluayB1c2VyIHRlc3RzIHdpdGggZ3Rlc3Qgb3IgZ3Rlc3RfbWFpbi4KKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9ndGVzdC9ndGVzdF8xLjcuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ3Rlc3QvZ3Rlc3RfMS43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRlZWFiNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvZ3Rlc3QvZ3Rlc3RfMS43LjAuYmIKQEAgLTAsMCArMSwyMyBAQAorREVTQ1JJUFRJT04gPSAiR29vZ2xlJ3MgZnJhbWV3b3JrIGZvciB3cml0aW5nIEMrKyB0ZXN0cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9nb29nbGV0ZXN0LyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9Y2JiZDI3NTk0YWZkMDg5ZGFhMTYwZDNhMTZkZDUxNWEiCisKK1NSQ19VUkkgPSAiXAorICAgIGh0dHA6Ly9nb29nbGV0ZXN0Lmdvb2dsZWNvZGUuY29tL2ZpbGVzLyR7QlBOfS0ke1BWfS56aXAgXAorICAgIGZpbGU6Ly9jbWFrZS1BZGQtaW5zdGFsbC1jb21tYW5kLWZvci1saWJyYXJpZXMtYW5kLWhlYWRlcnMucGF0Y2ggXAorICAgIGZpbGU6Ly9DTWFrZUxpc3RzLWd0ZXN0LnBjLmluLUFkZC1wa2ctY29uZmlnLXN1cHBvcnQtdG8tZ3RlLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjJkNmVjOGNjZGY1YzQ2YjA1YmE1NGE5ZmQxZDEzMGQ3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0N2NhMThkZDgzZjUzZGViMTMyOGJlMTdlNGIxYmUzMTUxNGNlZGZjMWUzNDI0ZjY3MmJmMTFmZDdlMGQ2MGQiCisKK2luaGVyaXQgbGliX3BhY2thZ2UgY21ha2UKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKK0FMTE9XX0VNUFRZXyR7UE59LWRiZyA9ICIxIgorCitSREVQRU5EU18ke1BOfS1kZXYgKz0gIiR7UE59LXN0YXRpY2RldiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3NpdGUvZW5kaWFuLWJpZyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9zaXRlL2VuZGlhbi1iaWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E5NjhlMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9zaXRlL2VuZGlhbi1iaWcKQEAgLTAsMCArMSwyIEBACisjIHJwLXBwcG9lCitycHBwb2VfY3ZfcGFja19iaXRmaWVsZHM9JHtycHBwb2VfY3ZfcGFja19iaXRmaWVsZHM9bm9ybWFsfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3NpdGUvZW5kaWFuLWxpdHRsZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9zaXRlL2VuZGlhbi1saXR0bGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJjZDk2NgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9zaXRlL2VuZGlhbi1saXR0bGUKQEAgLTAsMCArMSwyIEBACisjIHJwLXBwcG9lCitycHBwb2VfY3ZfcGFja19iaXRmaWVsZHM9JHtycHBwb2VfY3ZfcGFja19iaXRmaWVsZHM9cmV2fQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvQ09QWUlORy5NSVQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9DT1BZSU5HLk1JVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWRlMzU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvQ09QWUlORy5NSVQKQEAgLTAsMCArMSwxNyBAQAorUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKK2luIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKK3RvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKK2NvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KK2FsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorCitUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKK0FVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKK0xJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCitPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCitUSEUgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZjNWMxYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL1JFQURNRQpAQCAtMCwwICsxLDkyIEBACittZXRhLXBlcmwKKz09PT09PT09PQorVGhpcyBsYXllciBwcm92aWRlcyBjb21tb25seS11c2VkIHBlcmwgcmVsYXRlZCByZWNpcGVzIHN1Y2ggYXMgcGVybCBsaWJyYXJpZXMKK2luIHRoZSBDb21wcmVoZW5zaXZlIFBlcmwgQXJjaGl2ZSBOZXR3b3JrLgorCitDb250ZW50cyBhbmQgSGVscAorLS0tLS0tLS0tLS0tLS0tLS0KKworSW4gdGhpcyBzZWN0aW9uIHRoZSBjb250ZW50cyBvZiB0aGUgbGF5ZXIgaXMgbGlzdGVkLCBhbG9uZyB3aXRoIGEgc2hvcnQKK2hlbHAgZm9yIGVhY2ggcGFja2FnZS4KKworICAgICAgICAgLS0gbGliZGJpLXBlcmwgLS0KKyAgICAgICAgIFRoZSBEQkkgaXMgYSBkYXRhYmFzZSBhY2Nlc3MgbW9kdWxlIGZvciB0aGUgUGVybCBwcm9ncmFtbWluZyBsYW5ndWFnZS4KKyAgICAgICAgIEl0IGRlZmluZXMgYSBzZXQgb2YgbWV0aG9kcywgdmFyaWFibGVzLCBhbmQgY29udmVudGlvbnMgdGhhdCBwcm92aWRlCisgICAgICAgICBhIGNvbnNpc3RlbnQgZGF0YWJhc2UgaW50ZXJmYWNlLCBpbmRlcGVuZGVudCBvZiB0aGUgYWN0dWFsIGRhdGFiYXNlCisgICAgICAgICBiZWluZyB1c2VkLgorICAgICAgICAgICAgICAgICAgICAgIHw8LSBTY29wZSBvZiBEQkkgLT58CisgICAgICAgICAgICAgICAgICAgICAgICAgICAuLS4gICAuLS0tLS0tLS0tLS0tLS0uICAgLi0tLS0tLS0tLS0tLS0uCisgICAgICAgICAgIC4tLS0tLS0tLiAgICAgICB8IHwtLS18IFhZWiBEcml2ZXIgICB8LS0tfCBYWVogRW5naW5lICB8CisgICAgICAgICAgIHwgUGVybCAgfCAgICAgICB8IHwgICBgLS0tLS0tLS0tLS0tLS0nICAgYC0tLS0tLS0tLS0tLS0nCisgICAgICAgICAgIHwgc2NyaXB0fCAgfEF8ICB8RHwgICAuLS0tLS0tLS0tLS0tLS0uICAgLi0tLS0tLS0tLS0tLS0uCisgICAgICAgICAgIHwgdXNpbmcgfC0tfFB8LS18QnwtLS18T3JhY2xlIERyaXZlciB8LS0tfE9yYWNsZSBFbmdpbmV8CisgICAgICAgICAgIHwgREJJICAgfCAgfEl8ICB8SXwgICBgLS0tLS0tLS0tLS0tLS0nICAgYC0tLS0tLS0tLS0tLS0nCisgICAgICAgICAgIHwgQVBJICAgfCAgICAgICB8IHwuLi4KKyAgICAgICAgICAgfG1ldGhvZHN8ICAgICAgIHwgfC4uLiBPdGhlciBkcml2ZXJzCisgICAgICAgICAgIGAtLS0tLS0tJyAgICAgICB8IHwuLi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGAtJworCisgICAgICAgIC0tIGxpYmRiZC1zcWxpdGUtcGVybCAtLQorICAgICAgICBEQkQ6OlNRTGl0ZSBpcyBhIFBlcmwgREJJIGRyaXZlciBmb3IgU1FMaXRlLCB0aGF0IGluY2x1ZGVzIHRoZSBlbnRpcmUKKyAgICAgICAgdGhpbmcgaW4gdGhlIGRpc3RyaWJ1dGlvbi4gU28gaW4gb3JkZXIgdG8gZ2V0IGEgZmFzdCB0cmFuc2FjdGlvbiBjYXBhYmxlCisgICAgICAgIFJEQk1TIHdvcmtpbmcgZm9yIHlvdXIgcGVybCBwcm9qZWN0IHlvdSBzaW1wbHkgaGF2ZSB0byBpbnN0YWxsIHRoaXMKKyAgICAgICAgbW9kdWxlLCBhbmQgbm90aGluZyBlbHNlLgorCisgICAgICAgIHVzYWdlOiB0aGVyZSBpcyBhIHRlc3QgY2FzZSB0byBzaG93IHlvdSBob3cgaXQgd29ya3MKKworICAgICAgICAxKSB2aW0gbG9jYWwuY29uZjoKKyAgICAgICAgLi4uCisgICAgICAgIElNQUdFX0lOU1RBTExfYXBwZW5kID0gIiBsaWJkYmQtc3FsaXRlLXBlcmwiCisgICAgICAgIFBFUkxfREJNX1RFU1QgPSAiMSIKKyAgICAgICAgLi4uCisgICAgICAgIDIpIGJ1aWxkIGNvcmUtaW1hZ2Utc2F0byBhbmQgYm9vdCB0aGUgdGFyZ2V0CisKKyAgICAgICAgMykgcnVuICJzcWxpdGUtcGVybC10ZXN0LnBsIiBvbiB0YXJnZXQuIFRoaXMgc2NyaXB0IGluY2x1ZGVzIGZpdmUKKyAgICAgICAgICAgb3BlcmF0aW9ucyBjcmVhdGUvaW5zZXJ0L3VwZGF0ZS9kZWxldGUvc2VsZWN0IHRvIGRvIHdpdGggYSB0YWJsZS4KKworICAgICAgICBNb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiB0aGUgcmVjaXBlJ3MgZ2l0IGxvZy4KKworRGVwZW5kZW5jaWVzCistLS0tLS0tLS0tLS0KKworVGhpcyBsYXllciBkZXBlbmRzIG9uOgorCisgIFVSSTogZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkLWNvcmUKKyAgYnJhbmNoOiBrcm9nb3RoIAorICByZXZpc2lvbjogSEVBRAorICBwcmlvOiBkZWZhdWx0CisKK0FkZGluZyB0aGUgbWV0YS1wZXJsIGxheWVyIHRvIHlvdXIgYnVpbGQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitJbiBvcmRlciB0byB1c2UgdGhpcyBsYXllciwgeW91IG5lZWQgdG8gbWFrZSB0aGUgYnVpbGQgc3lzdGVtIGF3YXJlIG9mCitpdC4KKworQXNzdW1pbmcgdGhlIG1ldGEtcGVybCBsYXllciBleGlzdHMgYXQgdGhlIHRvcC1sZXZlbCBvZiB5b3VyCit5b2N0byBidWlsZCB0cmVlLCB5b3UgY2FuIGFkZCBpdCB0byB0aGUgYnVpbGQgc3lzdGVtIGJ5IGFkZGluZyB0aGUKK2xvY2F0aW9uIG9mIHRoZSBtZXRhLXBlcmwgbGF5ZXIgdG8gYmJsYXllcnMuY29uZiwgYWxvbmcgd2l0aCBhbnkKK290aGVyIGxheWVycyBuZWVkZWQuIGUuZy46CisKKyAgQkJMQVlFUlMgPz0gIiBcCisgICAgL3BhdGgvdG8vb2UtY29yZS9tZXRhIFwKKyAgICAvcGF0aC90by9sYXllci9tZXRhLXBlcmwgXAorCitNYWludGVuYW5jZQorLS0tLS0tLS0tLS0KKworU2VuZCBwYXRjaGVzIC8gcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoCisnW21ldGEtcGVybF1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0LgorCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2luZyBzb21ldGhpbmcgbGlrZToKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1wZXJsXVtrcm9nb3RoXVtQQVRDSCcKKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKK0xpY2Vuc2UKKy0tLS0tLS0KKworQWxsIG1ldGFkYXRhIGlzIE1JVCBsaWNlbnNlZCB1bmxlc3Mgb3RoZXJ3aXNlIHN0YXRlZC4gU291cmNlIGNvZGUgaW5jbHVkZWQKK2luIHRyZWUgZm9yIGluZGl2aWR1YWwgcmVjaXBlcyBpcyB1bmRlciB0aGUgTElDRU5TRSBzdGF0ZWQgaW4gZWFjaCByZWNpcGUKKyguYmIgZmlsZSkgdW5sZXNzIG90aGVyd2lzZSBzdGF0ZWQuCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL2NvbmYvbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDg1YWM4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMTYgQEAKKyMgV2UgaGF2ZSBhIGNvbmYgYW5kIGNsYXNzZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJQQVRICitCQlBBVEggLj0gIjoke0xBWUVSRElSfSIKKworIyBXZSBoYXZlIHJlY2lwZXMtKiBkaXJlY3RvcmllcywgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgXAorCSR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQiCisKK0JCRklMRV9DT0xMRUNUSU9OUyArPSAicGVybC1sYXllciIKK0JCRklMRV9QQVRURVJOX3BlcmwtbGF5ZXIgOj0gIl4ke0xBWUVSRElSfS8iCitCQkZJTEVfUFJJT1JJVFlfcGVybC1sYXllciA9ICI2IgorCisjIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jcmVtZW50ZWQgb24gc2lnbmlmaWNhbnQgY2hhbmdlcyB0aGF0IHdpbGwKKyMgY2F1c2UgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBvdGhlciBsYXllcnMKK0xBWUVSVkVSU0lPTl9wZXJsLWxheWVyID0gIjEiCisKK0xBWUVSREVQRU5EU19wZXJsLWxheWVyID0gImNvcmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL21pbWUtY29uc3RydWN0L2ZpbGVzL2ZpeC1taW1lLWNvbnN0cnVjdC1oZWxwLXJldHVybi12YWx1ZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtZXh0ZW5kZWQvbWltZS1jb25zdHJ1Y3QvZmlsZXMvZml4LW1pbWUtY29uc3RydWN0LWhlbHAtcmV0dXJuLXZhbHVlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlNDI4MWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL21pbWUtY29uc3RydWN0L2ZpbGVzL2ZpeC1taW1lLWNvbnN0cnVjdC1oZWxwLXJldHVybi12YWx1ZS5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDJiOWVkMDY4NTA0MTBkNzAzNzFiMzFkZTVmMTMxZTQ4NGJhMWM4NTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMdSBDaG9uZyA8Q2hvbmcuTHVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMTcgT2N0IDIwMTMgMTY6MDY6MDQgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IG1pbWUtY29uc3RydWN0IC0taGVscCByZXR1cm4gdmFsdWUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEx1IENob25nIDxDaG9uZy5MdUB3aW5kcml2ZXIuY29tPgorCistLS0KKyBtaW1lLWNvbnN0cnVjdCB8ICAgIDUgKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbWltZS1jb25zdHJ1Y3QgYi9taW1lLWNvbnN0cnVjdAoraW5kZXggY2FkN2QwZS4uNzA3ZWQxOSAxMDA3NTUKKy0tLSBhL21pbWUtY29uc3RydWN0CisrKysgYi9taW1lLWNvbnN0cnVjdAorQEAgLTM5LDcgKzM5LDcgQEAgdXNhZ2U6ICRNZSBzd2l0Y2guLi4KKyAKKyAgIEdsb2JhbCBzZXR0aW5nczoKKyAgICAgLS1kZWJ1ZwkJdHVybiBkZWJ1Z2dpbmcgb24KKy0gICAgLS1oZWxwCQlzaG93IHRoaXMgYW5kIHRoZW4gZGllCisrICAgIC0taGVscAkJc2hvdyB0aGlzCisgICAgIC0tb3V0cHV0CQlkb25cJ3QgbWFpbCwgb3V0cHV0IHRvIHN0ZG91dCAobG9zZXMgYmNjIGluZm8pCisgICAgIC0tc3VicGFydAkJZ2VuZXJhdGUgc3VicGFydCByYXRoZXIgdGhhbiB3aG9sZSBtZXNzYWdlICh0dXJucworICAgICAJICAgIAkgICAgCW9uIC0tb3V0cHV0LCBjaGFuZ2VzIG90aGVyIHNlbWFudGljcyBhIGJpdCkKK0BAIC0xNTAsNyArMTUwLDggQEAgc3ViIHh3YXJuIHsKKyAKKyBzdWIgdXNhZ2UgeworICAgICB4d2FybiBAXyBpZiBAXzsKKy0gICAgZGllICRVc2FnZTsKKysgICAgcHJpbnQgJFVzYWdlOworKyAgICBleGl0IDA7CisgfQorIAorIHN1YiBpbml0IHsKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL21pbWUtY29uc3RydWN0L21pbWUtY29uc3RydWN0XzEuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL21pbWUtY29uc3RydWN0L21pbWUtY29uc3RydWN0XzEuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAxZjNiZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtZXh0ZW5kZWQvbWltZS1jb25zdHJ1Y3QvbWltZS1jb25zdHJ1Y3RfMS4xMS5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIkNvbnN0cnVjdCBhbmQgb3B0aW9uYWxseSBtYWlsIE1JTUUgbWVzc2FnZXMiCitERVNDUklQVElPTiA9ICJDb25zdHJ1Y3RzIGFuZCAoYnkgZGVmYXVsdCkgbWFpbHMgTUlNRSBtZXNzYWdlcy4gXAorICAgICAgICAgICAgICAgSXQgaXMgZW50aXJlbHkgZHJpdmVuIGZyb20gdGhlIGNvbW1hbmQgbGluZSwgaXQgaXMgXAorICAgICAgICAgICAgICAgZGVzaWduZWQgdG8gYmUgdXNlZCBieSBvdGhlciBwcm9ncmFtcywgb3IgcGVvcGxlIHdobyBhY3QgXAorICAgICAgICAgICAgICAgbGlrZSBwcm9ncmFtcy4iCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35yb3NjaC9taW1lLWNvbnN0cnVjdC9taW1lLWNvbnN0cnVjdCIKK1NFQ1RJT04gPSAibWFpbCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9NWUyZTVkYTYxOWFjOGVmOGM4NDc2N2NjYzQ2NTZlOTYiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9SL1JPL1JPU0NIL21pbWUtY29uc3RydWN0LSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovL2ZpeC1taW1lLWNvbnN0cnVjdC1oZWxwLXJldHVybi12YWx1ZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MzgzNGVhNzgwZmJlYTgxYjg5ZGJkOWIyZmI1NGY1OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0Y2Q3YmI2MWI1MWQ0MTE5MmQxNDk4YzEwNTFhYTZhNGNjZDc1YWViMDliNzFkMmVjNzA2YTcwODRhNGE5MzAzIgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAibGlibWltZS10eXBlcy1wZXJsIGxpYnByb2Mtd2FpdHN0YXQtcGVybCBtc210cCBcCisgICAgcGVybC1tb2R1bGUtZmlsZWhhbmRsZSBwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCBwZXJsLW1vZHVsZS1taW1lLXF1b3RlZHByaW50IHBlcmwtbW9kdWxlLXBvc2l4IFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAjY2hhbmdlIHRoZSBpbnRlcnByZXRlciBpbiBmaWxlCisgICBzZWQgLWkgLWUgInN8JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3BlcmwtbmF0aXZlL3BlcmwgLXd8JHtiaW5kaXJ9L2VudiBwZXJsfGciIFwKKyAgICAgICR7RH0vJHtiaW5kaXJ9L21pbWUtY29uc3RydWN0Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvYWRkdXNlci9hZGR1c2VyXzMuMTE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2FkZHVzZXIvYWRkdXNlcl8zLjExNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjRjMGM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2FkZHVzZXIvYWRkdXNlcl8zLjExNC5iYgpAQCAtMCwwICsxLDU1IEBACitTVU1NQVJZID0gImEgdXRpbGl0eSB0byBhZGQgdXNlcnMvZ3JvdXBzIHRvIHRoZSBzeXN0ZW0iCitERVNDUklQVElPTiA9ICJhZGR1c2VyLCBhZGRncm91cCAtIGFkZCBhIHVzZXIgb3IgZ3JvdXAgdG8gdGhlIHN5c3RlbSIKK0hPTUVQQUdFID0gImh0dHA6Ly9hbGlvdGguZGViaWFuLm9yZy9wcm9qZWN0cy9hZGR1c2VyLyIKK1NFQ1RJT04gPSAiYmFzZS91dGlscyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PWNhZWQ0OWFiMTY2ZjIyZWYzMWJmMTEyN2Y1NThkMGVmIgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZGUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL2EvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vYWRkdXNlci1hZGQtTS1vcHRpb24tZm9yLXVzZXJhZGQtd2hlbi1uby1jcmVhdGUtaG9tZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzYTA3OWRkNGU0MWQ1YTFmYmFjY2FhYjAzYWFjZDg4MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2OTNiNDViYjBkMjc5MzhmZmYyZWNlZTU0NDJlYTJhYzFiODgwNDQ3MmZmMGJiOGZhZmZkMzk2MTZlNTgyMTFmIgorCitpbmhlcml0IGNwYW4tYmFzZSB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tMy4xMTMrbm11NCIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vYWRkdXNlciAke0R9JHtzYmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2RlbHVzZXIgJHtEfSR7c2JpbmRpcn0KKworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wZXJsLyR7UEVSTFZFUlNJT059L0RlYmlhbgorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L0FkZHVzZXJDb21tb24ucG0gJHtEfSR7bGliZGlyfS9wZXJsLyR7UEVSTFZFUlNJT059L0RlYmlhbgorICAgIHNlZCAtaSAtZSAicy9WRVJTSU9OLyR7UFZ9LyIgJHtEfSR7c2JpbmRpcn0vKgorCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS8qLmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuNQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2RvYy8qLmNvbmYuNSAke0R9JHttYW5kaXJ9L21hbjUKKyAgICBpbnN0YWxsIC1kICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2RvYy8qLjggJHtEfSR7bWFuZGlyfS9tYW44CisgICAgaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9LyR7QlBOfQorICAgIGNwIC1yZiAke1N9L2V4YW1wbGVzICR7RH0ke2RvY2Rpcn0vJHtCUE59Cit9CisKK1JERVBFTkRTXyR7UE59ICs9ICJcCisgICAgc2hhZG93IFwKKyAgICBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBcCisgICAgcGVybC1tb2R1bGUtb3ZlcmxvYWRpbmcgXAorICAgIHBlcmwtbW9kdWxlLWZpbGUtZmluZCBcCisgICAgcGVybC1tb2R1bGUtZmlsZS10ZW1wIFwKKyIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAiYWRkdXNlciBkZWx1c2VyIGFkZGdyb3VwIGRlbGdyb3VwIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiNjAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbYWRkdXNlcl0gPSAiJHtzYmluZGlyfS9hZGR1c2VyIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2RlbHVzZXJdID0gIiR7c2JpbmRpcn0vZGVsdXNlciIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVthZGRncm91cF0gPSAiJHtzYmluZGlyfS9hZGRncm91cCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtkZWxncm91cF0gPSAiJHtzYmluZGlyfS9kZWxncm91cCIKK0FMVEVSTkFUSVZFX1RBUkdFVFthZGRncm91cF0gPSAiJHtzYmluZGlyfS9hZGR1c2VyLiR7QlBOfSIKK0FMVEVSTkFUSVZFX1RBUkdFVFtkZWxncm91cF0gPSAiJHtzYmluZGlyfS9kZWx1c2VyLiR7QlBOfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9hZGR1c2VyL2ZpbGVzL2FkZHVzZXItYWRkLU0tb3B0aW9uLWZvci11c2VyYWRkLXdoZW4tbm8tY3JlYXRlLWhvbWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvYWRkdXNlci9maWxlcy9hZGR1c2VyLWFkZC1NLW9wdGlvbi1mb3ItdXNlcmFkZC13aGVuLW5vLWNyZWF0ZS1ob21lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiMGEwM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvYWRkdXNlci9maWxlcy9hZGR1c2VyLWFkZC1NLW9wdGlvbi1mb3ItdXNlcmFkZC13aGVuLW5vLWNyZWF0ZS1ob21lLnBhdGNoCkBAIC0wLDAgKzEsNTcgQEAKK0Zyb20gODA5ZjAwYTZlZjAyMjRiNDFiMmUxMjA3MTk0YzhkYTNjZDNlM2M3ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDE4IERlYyAyMDE0IDE3OjIzOjM3ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGFkZHVzZXI6IGFkZCAtTSBvcHRpb24gZm9yIHVzZXJhZGQgd2hlbiAtLW5vLWNyZWF0ZS1ob21lIGlzIHNwZWNpZmllZAorCitUaGUgdXNlcmFkZCAoZnJvbSBwYWNrYWdlIHBhc3N3ZCkgaW4gZGViaWFuIGJhc2VkIHN5c3RlbSBzZXRzIC1NICgtLW5vLWNyZWF0ZS1ob21lKSBieSBkZWZhdWx0LAorYnV0IHRoZSBvbmUgd2UgYXJlIHVzaW5nIChmcm9tIHBhY2thZ2Ugc2hhZG93KSBzZXRzIC1tICgtLWNyZWF0ZS1ob21lKSBieSBkZWZhdWx0LCBzbyB3ZQorbmVlZCB0byBleHBsaWNpdGx5IGFkZCAtTSBvcHRpb24gZm9yIHVzZXJhZGQgY2FsbCB3aGVuIC0tbm8tY3JlYXRlLWhvbWUgaXMgc3BlY2lmaWVkIGZvciBhZGR1c2VyLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGFkZHVzZXIgfCAgIDIwICsrKysrKysrKysrKysrKystLS0tCisgMSBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWRkdXNlciBiL2FkZHVzZXIKK2luZGV4IGMzYmQ4YjAuLjlhMDdmOWYgMTAwNzU1CistLS0gYS9hZGR1c2VyCisrKysgYi9hZGR1c2VyCitAQCAtNDM0LDggKzQzNCwxNCBAQCBpZiAoJGFjdGlvbiBlcSAiYWRkc3lzdXNlciIpIHsKKyAgICAgJHNoZWxsID0gJHNwZWNpYWxfc2hlbGwgfHwgJy9iaW4vZmFsc2UnOworICAgICAkdW5kb3VzZXIgPSAkbmV3X25hbWU7CisgICAgIG15ICR1c2VyYWRkID0gJndoaWNoKCd1c2VyYWRkJyk7CistICAgICZzeXN0ZW1jYWxsKCR1c2VyYWRkLCAnLWQnLCAkaG9tZV9kaXIsICctZycsICRpbmdyb3VwX25hbWUsICctcycsCistCQkkc2hlbGwsICctdScsICRuZXdfdWlkLCAkbmV3X25hbWUpOworKyAgICBpZiAoJG5vX2NyZWF0ZV9ob21lKSB7CisrICAgICAgICAmc3lzdGVtY2FsbCgkdXNlcmFkZCwgJy1kJywgJGhvbWVfZGlyLCAnLWcnLCAkaW5ncm91cF9uYW1lLCAnLXMnLAorKwkJICAgICRzaGVsbCwgJy11JywgJG5ld191aWQsICctTScsICRuZXdfbmFtZSk7CisrICAgIH0KKysgICAgZWxzZSB7CisrICAgICAgICAmc3lzdGVtY2FsbCgkdXNlcmFkZCwgJy1kJywgJGhvbWVfZGlyLCAnLWcnLCAkaW5ncm91cF9uYW1lLCAnLXMnLAorKyAgICAgICAgICAgICAgICAgICAgJHNoZWxsLCAnLXUnLCAkbmV3X3VpZCwgJG5ld19uYW1lKTsKKysgICAgfQorICAgICBpZighJGRpc2FibGVkX2xvZ2luKSB7CisgICAgICAgICBteSAkdXNlcm1vZCA9ICZ3aGljaCgndXNlcm1vZCcpOworICAgICAgICAgJnN5c3RlbWNhbGwoJHVzZXJtb2QsICctcCcsICcqJywgJG5ld19uYW1lKTsKK0BAIC01MjQsOCArNTMwLDE0IEBAIGlmICgkYWN0aW9uIGVxICJhZGR1c2VyIikgeworIAkkc2hlbGwgPSAkc3BlY2lhbF9zaGVsbCB8fCAkY29uZmlneyJkc2hlbGwifTsKKyAgICAgJHVuZG91c2VyID0gJG5ld19uYW1lOworICAgICBteSAkdXNlcmFkZCA9ICZ3aGljaCgndXNlcmFkZCcpOworLSAgICAmc3lzdGVtY2FsbCgkdXNlcmFkZCwgJy1kJywgJGhvbWVfZGlyLCAnLWcnLCAkaW5ncm91cF9uYW1lLCAnLXMnLAorLQkJJHNoZWxsLCAnLXUnLCAkbmV3X3VpZCwgJG5ld19uYW1lKTsKKysgICAgaWYgKCRub19jcmVhdGVfaG9tZSkgeworKyAgICAgICAgJnN5c3RlbWNhbGwoJHVzZXJhZGQsICctZCcsICRob21lX2RpciwgJy1nJywgJGluZ3JvdXBfbmFtZSwgJy1zJywKKysJICAgIAkgICAgJHNoZWxsLCAnLXUnLCAkbmV3X3VpZCwgJy1NJywgJG5ld19uYW1lKTsKKysgICAgfQorKyAgICBlbHNlIHsKKysgICAgICAgICZzeXN0ZW1jYWxsKCR1c2VyYWRkLCAnLWQnLCAkaG9tZV9kaXIsICctZycsICRpbmdyb3VwX25hbWUsICctcycsCisrCSAgICAJICAgICRzaGVsbCwgJy11JywgJG5ld191aWQsICRuZXdfbmFtZSk7CisrICAgIH0KKyAgICAgJmludmFsaWRhdGVfbnNjZCgpOworIAorICAgICBjcmVhdGVfaG9tZWRpciAoMSk7ICMgY29weSBza2VsZXRvbiBkYXRhCistLSAKKzEuNy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJhbGdvcml0aG0vbGliYWxnb3JpdGhtLWRpZmYtcGVybF8xLjE1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmFsZ29yaXRobS9saWJhbGdvcml0aG0tZGlmZi1wZXJsXzEuMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE1NWZhZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJhbGdvcml0aG0vbGliYWxnb3JpdGhtLWRpZmYtcGVybF8xLjE1LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiQWxnb3JpdGhtOjpEaWZmIC0gQ29tcHV0ZSAnaW50ZWxsaWdlbnQnIGRpZmZlcmVuY2VzIGJldHdlZW4gdHdvIFwKK2ZpbGVzL2xpc3RzIgorREVTQ1JJUFRJT04gPSAiVGhpcyBpcyBhIG1vZHVsZSBmb3IgY29tcHV0aW5nIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIGZpbGVzLCBcCit0d28gc3RyaW5ncywgb3IgYW55IG90aGVyIHR3byBsaXN0cyBvZiB0aGluZ3MuICBJdCB1c2VzIGFuICBpbnRlbGxpZ2VudCBcCithbGdvcml0aG0gc2ltaWxhciB0byAob3IgaWRlbnRpY2FsIHRvKSB0aGUgb25lIHVzZWQgYnkgdGhlIFVuaXggYGRpZmYnIFwKK3Byb2dyYW0uICAgSXQgaXMgZ3VhcmFudGVlZCB0byBmaW5kIHRoZSAqc21hbGxlc3QgcG9zc2libGUqIHNldCBvZiBcCitkaWZmZXJlbmNlcy4gXAorIgorU0VDVElPTiA9ICJsaWJzIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+bmVka29uei9BbGdvcml0aG0tRGlmZi8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9saWIvQWxnb3JpdGhtL0RpZmYucG07YmVnaW5saW5lPTQwNjtlbmRsaW5lPTQwOTttZDU9ZDM5M2I4YWQzYjg5OTRiOWQwYWU5Mjk5YjhhOGExZWUiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9OL05FL05FREtPTlovQWxnb3JpdGhtLURpZmYtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjQ1N2NkNDk3YTA0MTFhODhiNDdkMzc0MWViMTc2MDcxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFhODQ4Yjc1YWQzZWNjMzJkMzFlODY1MTkwOTU1MWU4NTFjY2VlZjc0YTMyODIyYzdhM2NiMzVjMjU5ZjUxOTAiCisKK1MgPSAiJHtXT1JLRElSfS9BbGdvcml0aG0tRGlmZi0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmF1dGhlbi9maWxlcy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliYXV0aGVuL2ZpbGVzL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWY5Y2E5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmF1dGhlbi9maWxlcy9ydW4tcHRlc3QKQEAgLTAsMCArMSwxNiBAQAorIyEvYmluL3NoCisKK2ZvciBjYXNlIGluIGBmaW5kIHQgLXR5cGUgZiAtbmFtZSAnKi50J2A7IGRvCisgICAgcGVybCAkY2FzZSA+JGNhc2Uub3V0cHV0IDI+JjEKKyAgICByZXQ9JD8KKyAgICBjYXQgJGNhc2Uub3V0cHV0CisgICAgaWYgWyAkcmV0IC1uZSAwIF07IHRoZW4KKyAgICAgICAgZWNobyAiRkFJTDogJHtjYXNlJS50fSIKKyAgICBlbGlmIGdyZXAgLWkgJ1NLSVAnICRjYXNlLm91dHB1dDsgdGhlbgorICAgICAgICBlY2hvICJTS0lQOiAke2Nhc2UlLnR9IgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiUEFTUzogJHtjYXNlJS50fSIKKyAgICBmaQorCisgICAgcm0gLWYgJGNhc2Uub3V0cHV0Citkb25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliYXV0aGVuL2xpYmF1dGhlbi1zYXNsLXBlcmxfMi4xNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJhdXRoZW4vbGliYXV0aGVuLXNhc2wtcGVybF8yLjE2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2NThhNWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliYXV0aGVuL2xpYmF1dGhlbi1zYXNsLXBlcmxfMi4xNi5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIlNBU0wgQXV0aGVudGljYXRpb24gZnJhbWV3b3JrIGZvciBQZXJsIgorREVTQ1JJUFRJT04gPSAiU0FTTCBpcyBhIGdlbmVyaWMgbWVjaGFuaXNtIGZvciBhdXRoZW50aWNhdGlvbiB1c2VkIGJ5IHNldmVyYWwgbmV0d29yayBcCitwcm90b2NvbHMuIEF1dGhlbjo6U0FTTCBwcm92aWRlcyBhbiBpbXBsZW1lbnRhdGlvbiBmcmFtZXdvcmsgdGhhdCBhbGwgXAorcHJvdG9jb2xzIHNob3VsZCBiZSBhYmxlIHRvIHNoYXJlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvZGlzdC9BdXRoZW4tU0FTTC8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vbGliL0F1dGhlbi9TQVNML1BlcmwucG07YmVnaW5saW5lPTE7ZW5kbGluZT0zO21kNT0xNzEyMzMxNWJiY2RhMTlmNDg0YzA3MjI3NTk0YTYwOSIKKworREVQRU5EUyA9ICJwZXJsIgorUkRFUEVORFNfJHtQTn0gPSAibGliZGlnZXN0LWhtYWMtcGVybCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmNwYW4ub3JnL2F1dGhvcnMvaWQvRy9HQi9HQkFSUi9BdXRoZW4tU0FTTC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiN2MwM2E2ODlkNGM2ODllNWE5ZTJmMThhMWM1ODZiMmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjYxNGZhNzUxOGYwOTRmODUzNzQxYjYzYzczZjM2MjcxNjhjNWQzYWNhODliMWQwMmIxMDE2ZGMzMjg1NGUwOSIKKworUyA9ICIke1dPUktESVJ9L0F1dGhlbi1TQVNMLSR7UFZ9IgorCitpbmhlcml0IGNwYW4gcHRlc3QKKworZG9faW5zdGFsbF9wdGVzdCAoKSB7CisgICAgY3AgLXIgJHtCfS90ICR7RH0ke1BURVNUX1BBVEh9Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNhcHR1cmUvbGliY2FwdHVyZS10aW55LXBlcmxfMC4zNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJjYXB0dXJlL2xpYmNhcHR1cmUtdGlueS1wZXJsXzAuMzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc3ZGQ3NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJjYXB0dXJlL2xpYmNhcHR1cmUtdGlueS1wZXJsXzAuMzYuYmIKQEAgLTAsMCArMSwzNyBAQAorU1VNTUFSWSA9ICJDYXB0dXJlOjpUaW55IC0gQ2FwdHVyZSBTVERPVVQgYW5kIFNUREVSUiBmcm9tIFBlcmwsIFhTIG9yIGV4dGVybmFsIHByb2dyYW1zLiIKK0RFU0NSSVBUSU9OID0gIkNhcHR1cmU6OlRpbnkgcHJvdmllcyBhIHNpbXBsZSwgcG9ydGFibGUgd2F5IHRvIGNhcHR1cmUgXAorYWxtb3N0IGFueXRoaW5nIHNlbnQgdG8gU1RET1VUIG9yIFNUREVSUiwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGNvbWVzIFwKK2Zyb20gUGVybCwgZnJvbSBYUyBjb2RlIG9yIGZyb20gYW4gZXh0ZXJuYWwgcHJvZ3JhbS4gT3B0aW9uYWxseSwgb3V0cHV0IGNhbiBcCitiZSB0ZWVkIHNvIHRoYXQgaXQgaXMgY2FwdHVyZWQgd2hpbGUgYmVpbmcgcGFzc2VkIHRocm91Z2ggdG8gdGhlIG9yaWdpbmFsIFwKK2ZpbGVoYW5kbGVzLiBZZXMsIGl0IGV2ZW4gd29ya3Mgb24gV2luZG93cyAodXN1YWxseSkuIFN0b3AgZ3Vlc3Npbmcgd2hpY2ggb2YgXAorYSBkb3plbiBjYXB0dXJpbmcgbW9kdWxlcyB0byB1c2UgaW4gYW55IHBhcnRpY3VsYXIgc2l0dWF0aW9uIGFuZCBqdXN0IHVzZSBcCit0aGlzIG9uZS4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmRhZ29sZGVuL0NhcHR1cmUtVGlueS8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zN2E0OTE4YTMwYWNlMjQzOTUwMjBlNWI4YzAzYjgzZiIKKworU1JDTkFNRSA9ICJDYXB0dXJlLVRpbnkiCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvRC9EQS9EQUdPTERFTi8ke1NSQ05BTUV9LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYjY0NDQxMTFjMzBhYzAxYTc2YTRjMTE4MjQxYzdiNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYjg3NDJlNTNhZDIwNGE0MjFiYzgyZDU4MTNmM2M0Yzg1Yzc2NTgxZWExMGQ5MTBkMGFlZmMxNjFmOGNiMDNkIgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1zY2FsYXItdXRpbCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtaW8tZmlsZSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXNwZWMgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jYXJwIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXN0LW1vcmUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtbGliIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1vdmVybG9hZGluZyBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNsYXNzL2xpYmNsYXNzLW1ldGhvZC1tb2RpZmllcnMtcGVybF8yLjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNsYXNzL2xpYmNsYXNzLW1ldGhvZC1tb2RpZmllcnMtcGVybF8yLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5NzliMzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliY2xhc3MvbGliY2xhc3MtbWV0aG9kLW1vZGlmaWVycy1wZXJsXzIuMTIuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJDbGFzczo6TWV0aG9kOjpNb2RpZmllcnMgLSBwcm92aWRlcyBNb29zZS1saWtlIG1ldGhvZCBtb2RpZmllcnMiCitERVNDUklQVElPTiA9ICJNZXRob2QgbW9kaWZpZXJzIGFyZSBhIGNvbnZlbmllbnQgZmVhdHVyZSBmcm9tIHRoZSBDTE9TIFwKKyhDb21tb24gTGlzcCBPYmplY3QgU3lzdGVtKSB3b3JsZC4iCisKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL21vb3NlL0NsYXNzLU1ldGhvZC1Nb2RpZmllcnMvIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MTZmZDBlYzdiNzNjMGUxNTg0MjZmNzUzOTQzZjEwNTgiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9FL0VUL0VUSEVSL0NsYXNzLU1ldGhvZC1Nb2RpZmllcnMtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImY1NTQwMGM3YTgxMzRhY2YzNjU3ZjhhZjg5YmRkN2FmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU0NGMxMDczMDIwYmY1NWI4Yzk3OTc1ZWQ3NzIzNWZkN2UyYTZhNTZmMjliNWM3MDIzMDE3MjExODRlMjdhYzgiCisKK1MgPSAiJHtXT1JLRElSfS9DbGFzcy1NZXRob2QtTW9kaWZpZXJzLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWJhc2UgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWNhcnAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1zdHJpY3QgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliY3J5cHQvbGliY3J5cHQtb3BlbnNzbC1yYW5kb20tcGVybF8wLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNyeXB0L2xpYmNyeXB0LW9wZW5zc2wtcmFuZG9tLXBlcmxfMC4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDU2ZTMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNyeXB0L2xpYmNyeXB0LW9wZW5zc2wtcmFuZG9tLXBlcmxfMC4xMS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkNyeXB0IE9wZW5zc2wgUmFuZG9tIGNwYW4gbW9kdWxlIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDg5YzE4ZDYzNWFlMjczZTE3MjdlYzM4NWU2NDA2M2IiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jcGFuLm9yZy9tb2R1bGVzL2J5LW1vZHVsZS9DcnlwdC9DcnlwdC1PcGVuU1NMLVJhbmRvbS0ke1BWfS50YXIuZ3ogIgorU1JDX1VSSVttZDVzdW1dID0gIjVkNzEzMzc1MDNlMDM1NmNlMWNlMTQ4MTUwNGU1ODg1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJiOGM4MWM2YTM5YjliMTNhMjJkODE4ZWU5YTc0NjI0MmYxMzZmMGZhZGNlYjZiOTc3NmFlNjE1ZTc1MjRjN2EiCisKK1MgPSAiJHtXT1JLRElSfS9DcnlwdC1PcGVuU1NMLVJhbmRvbS0ke1BWfSIKKworREVQRU5EUyArPSAiIG9wZW5zc2wgXAorIgoraW5oZXJpdCBjcGFuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliY3J5cHQvbGliY3J5cHQtb3BlbnNzbC1yc2EtcGVybF8wLjI4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNyeXB0L2xpYmNyeXB0LW9wZW5zc2wtcnNhLXBlcmxfMC4yOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGM2MTBmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmNyeXB0L2xpYmNyeXB0LW9wZW5zc2wtcnNhLXBlcmxfMC4yOC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIkNyeXB0IE9wZW5zc2wgUlNBIGNwYW4gbW9kdWxlIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTM4NWM1NTY1Mzg4NmFjYWMzODIxOTk5YTNjY2QxN2IzIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuY3Bhbi5vcmcvbW9kdWxlcy9ieS1tb2R1bGUvQ3J5cHQvQ3J5cHQtT3BlblNTTC1SU0EtJHtQVn0udGFyLmd6ICIKKworU1JDX1VSSVttZDVzdW1dID0gIjg2MjE3YTUwMzZmYzYzNzc5YzMwNDIwYjVmZDg0MTI5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUzNTdmOTc3NDY0YmIzYTgxODRjZjJkMzM0MTg1MWExMGQ1NTE1YjRiMmIwZGZiODhiZjc4OTk1YzBkZWQ3YmUiCisKK0RFUEVORFMgKz0gIm9wZW5zc2wiCisKK1JERVBFTkRTXyR7UE59PSJsaWJjcnlwdC1vcGVuc3NsLXJhbmRvbS1wZXJsIgorCitFWFRSQV9DUEFORkxBR1MgPSAiSU5DPSctSSR7U1RBR0lOR19JTkNESVJ9JyBMSUJTPSctTCR7U1RBR0lOR19MSUJESVJ9IC1sc3NsIC1MJHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtiYXNlX2xpYmRpcn0gLWxjcnlwdG8nIgorCitTID0gIiR7V09SS0RJUn0vQ3J5cHQtT3BlblNTTC1SU0EtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitkb19jb21waWxlKCkgeworICAgIGV4cG9ydCBPVEhFUkxERkxBR1M9Jy1XbCwtcnBhdGgnCisgICAgY3Bhbl9kb19jb21waWxlCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliY3Vyc2VzL2xpYmN1cnNlcy1wZXJsXzEuMzQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliY3Vyc2VzL2xpYmN1cnNlcy1wZXJsXzEuMzQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTdlOWQ5MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJjdXJzZXMvbGliY3Vyc2VzLXBlcmxfMS4zNC5iYgpAQCAtMCwwICsxLDI2IEBACitERVNDUklQVElPTiA9ICJsaWItY3Vyc2VzIHByb3ZpZGVzIGFuIGludGVyZmFjZSBiZXR3ZWVuIFBlcmwgcHJvZ3JhbXMgYW5kIFwKK3RoZSBjdXJzZXMgbGlicmFyeS4iCisKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MjY7ZW5kbGluZT0zMDttZDU9MGIzNzM1NmM1ZTllMjgwODBhMzQyMmQ4MmFmOGFmMDkiCisKK0RFUEVORFMgKz0gInBlcmwgbmN1cnNlcyAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5jcGFuLm9yZy9hdXRob3JzL2lkL0cvR0kvR0lSQUZGRUQvQ3Vyc2VzLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjg3NGMyMTAzY2M1MzU1MmEwZmFhMzcxYzRkOTExOWY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgwOGU0NGQ1OTQ2YmUyNjVhZjVmZjBiOTBmM2QwODAyMTA4ZTdkMWIzOWIwZmU2OGE0YTQ0NmZlMjg0ZDMyMmIiCisKK1MgPSAiJHtXT1JLRElSfS9DdXJzZXMtJHtQVn0iCisKK0VYVFJBX0NQQU5GTEFHUyA9ICJJTkM9LUkke1NUQUdJTkdfSU5DRElSfSBMSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0iCisKK2luaGVyaXQgY3BhbgorCitkb19jb21waWxlKCkgeworICAgIGV4cG9ydCBMSUJDPSIkKGZpbmQgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9LyAtbmFtZSAnbGliYy0qLnNvJykiCisgICAgY3Bhbl9kb19jb21waWxlCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmQtc3FsaXRlLXBlcmwvc3FsaXRlLXBlcmwtdGVzdC5wbCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmQtc3FsaXRlLXBlcmwvc3FsaXRlLXBlcmwtdGVzdC5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MGY1OTE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRiL2xpYmRiZC1zcWxpdGUtcGVybC9zcWxpdGUtcGVybC10ZXN0LnBsCkBAIC0wLDAgKzEsNjkgQEAKKyMhIC91c3IvYmluL2VudiBwZXJsCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisjCisjIENvcHlyaWdodCAoQykgMjAxMyBXaW5kIFJpdmVyIFN5c3RlbXMsIEluYy4KKyMKKyMgLSBJdCB0ZXN0cyBEQkkgYW5kIERCRDo6U1FMaXRlIGNvdWxkIHdvcmsgY29ycmVjdGx5IHdoaWNoIG1lYW5zIG9uZSBjb3VsZAorIyAgIG1hbmlwdWxhdGUgc3FsaXRlIGRhdGFiYXNlIGluIHBlcmwKKyMgLSBUaGUgdGVzdCBpbmNsdWRlcyBjcmVhdGUvaW5zZXJ0L3VwZGF0ZS9kZWxldGUvc2VsZWN0LCB0aGUgZml2ZSBpbXBvcnRhbnQKKyMgICB0aGluZ3Mgb25lIGNhbiBkbyB3aXRoIGEgdGFibGUKK3VzZSBEQkk7CisKK3N1YiBleGVjdXRlX3NxbCB7CisgICAgbXkgJGRiaCA9ICRfWzBdOworICAgIG15ICRzcWwgPSAkX1sxXTsKKyAgICBteSAkc3RoID0gJGRiaC0+cHJlcGFyZSgkc3FsKQorICAgICAgICBvciBkaWUgIkNvdWxkbid0IHByZXBhcmUgc3RhdGVtZW50OiAiIC4gJGRiaC0+ZXJyc3RyOworICAgICRzdGgtPmV4ZWN1dGUoKTsKKyAgICBwcmludCAiJHNxbFxuIjsKKyAgICByZXR1cm4gJHN0aDsKK30KKworc3ViIHNlbGVjdF9hbGwgeworICAgIG15ICRkYmggPSAkX1swXTsKKyAgICBteSAkdGFibGUgPSAkX1sxXTsKKyAgICBteSAkc3RoID0gJmV4ZWN1dGVfc3FsKCRkYmgsICJTZWxlY3QgKiBmcm9tICR0YWJsZSIpOworCisgICAgcHJpbnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iOworICAgIHdoaWxlIChAZGF0YSA9ICRzdGgtPmZldGNocm93X2FycmF5KCkpIHsKKyAgICAgICAgbXkgJG5hbWUgPSAkZGF0YVswXTsKKyAgICAgICAgbXkgJGlkID0gJGRhdGFbMV07CisgICAgICAgIHByaW50ICIkbmFtZTogJGlkXG4iOworICAgIH0KKyAgICBwcmludCAiXG4iOworCisgICAgJHN0aC0+ZmluaXNoOworICAgIHJldHVybiAkc3RoOworfQorCisjIEEgcHJpdmF0ZSwgdGVtcG9yYXJ5IGluLW1lbW9yeSBkYXRhYmFzZSBpcyBjcmVhdGVkIGZvciB0aGUgY29ubmVjdGlvbi4KKyMgVGhpcyBpbi1tZW1vcnkgZGF0YWJhc2Ugd2lsbCB2YW5pc2ggd2hlbiB0aGUgZGF0YWJhc2UgY29ubmVjdGlvbiBpcworIyBjbG9zZWQuIEl0IGlzIGhhbmR5IGZvciB5b3VyIGxpYnJhcnkgdGVzdHMuCitteSAkZGJmaWxlID0gIjptZW1vcnk6IjsKK215ICRkYmggPSBEQkktPmNvbm5lY3QoIkRCSTpTUUxpdGU6ZGJuYW1lPSRkYmZpbGUiLCIiLCIiKQorICAgICAgICBvciBkaWUgIkNvdWxkbid0IGNvbm5lY3QgdG8gZGF0YWJhc2U6ICIgLiBEQkktPmVycnN0cjsKK3ByaW50ICJDb25uZWN0IHRvIFNRTGl0ZSdzIGluLW1lbW9yeSBkYXRhYmFzZVxuIjsKKworJmV4ZWN1dGVfc3FsKCRkYmgsICJDcmVhdGUgdGFibGUgdGJsMShuYW1lIHZhcmNoYXIoMTApLCBpZCBzbWFsbGludCkiKTsKKyZleGVjdXRlX3NxbCgkZGJoLCAiSW5zZXJ0IGludG8gdGJsMSB2YWx1ZXMoJ3lvY3RvJywxMCkiKTsKKyZleGVjdXRlX3NxbCgkZGJoLCAiSW5zZXJ0IGludG8gdGJsMSB2YWx1ZXMoJ3dpbmRyaXZlcicsIDIwKSIpOworJnNlbGVjdF9hbGwoJGRiaCwgInRibDEiKTsKKworJmV4ZWN1dGVfc3FsKCRkYmgsICJVcGRhdGUgdGJsMSBzZXQgbmFtZSA9ICdvZS1jb3JlJyB3aGVyZSBpZCA9IDEwIik7CismZXhlY3V0ZV9zcWwoJGRiaCwgIkRlbGV0ZSBmcm9tIHRibDEgd2hlcmUgaWQgPSAyMCIpOworJnNlbGVjdF9hbGwoJGRiaCwgInRibDEiKTsKKworJGRiaC0+ZGlzY29ubmVjdDsKK3ByaW50ICJUZXN0IFN1Y2Nlc3NcbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmQtc3FsaXRlLXBlcmxfMS41MC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmQtc3FsaXRlLXBlcmxfMS41MC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGJmZDY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRiL2xpYmRiZC1zcWxpdGUtcGVybF8xLjUwLmJiCkBAIC0wLDAgKzEsMzkgQEAKK1NVTU1BUlkgPSAiQSBQZXJsIERCSSBkcml2ZXIgZm9yIFNRTGl0ZSIKK0RFU0NSSVBUSU9OID0gIkRCRDo6U1FMaXRlIGlzIGEgUGVybCBEQkkgZHJpdmVyIGZvciBTUUxpdGUsIHRoYXQgaW5jbHVkZXMgdGhlIGVudGlyZSBcCit0aGluZyBpbiB0aGUgZGlzdHJpYnV0aW9uLiBTbyBpbiBvcmRlciB0byBnZXQgYSBmYXN0IHRyYW5zYWN0aW9uIGNhcGFibGUgXAorUkRCTVMgd29ya2luZyBmb3IgeW91ciBwZXJsIHByb2plY3QgeW91IHNpbXBseSBoYXZlIHRvIGluc3RhbGwgdGhpcyBcCittb2R1bGUsIGFuZCBub3RoaW5nIGVsc2UuIFwKKyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmlzaGlnYWtpL0RCRC1TUUxpdGUvIgorCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorREVQRU5EUyArPSAibGliZGJpLXBlcmwtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gKz0gImxpYmRiaS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBzcWxpdGUzIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jb25zdGFudCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtbG9jYWxlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10aWUtaGFzaCBcCisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTE3MjZlMjExNzQ5NGJhM2UxM2UxYzNkOTNmNzk1MzYwIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL0kvSVMvSVNISUdBS0kvREJELVNRTGl0ZS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc3FsaXRlLXBlcmwtdGVzdC5wbCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkNTZlZWJmYjVmMmExNGJlOTQxM2IwMjVlN2RjYTlmZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYWM1MTNhYjczOTQ0ZmQ3ZDRiNjcyZTFmZTg4NWRjNTIyYjYzNjlkMzhmNDZhNjhlNjdlMDA0NWJmMTU5Y2UxIgorCitTID0gIiR7V09SS0RJUn0vREJELVNRTGl0ZS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpZiBbICR7UEVSTF9EQk1fVEVTVH0gPSAiMSIgXTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1tIDc1NSAtRCAke1dPUktESVJ9L3NxbGl0ZS1wZXJsLXRlc3QucGwgJHtEfS8ke2JpbmRpcn0vc3FsaXRlLXBlcmwtdGVzdC5wbAorICAgIGZpCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmktcGVybF8xLjYzNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkYi9saWJkYmktcGVybF8xLjYzNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjM4NzgxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRiL2xpYmRiaS1wZXJsXzEuNjM0LmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NVTU1BUlkgPSAiVGhlIFBlcmwgRGF0YWJhc2UgSW50ZXJmYWNlIgorREVTQ1JJUFRJT04gPSAiREJJIGlzIGEgZGF0YWJhc2UgYWNjZXNzIEFwcGxpY2F0aW9uIFByb2dyYW1taW5nIEludGVyZmFjZSBcCisoQVBJKSBmb3IgdGhlIFBlcmwgTGFuZ3VhZ2UuIFRoZSBEQkkgQVBJIFNwZWNpZmljYXRpb24gZGVmaW5lcyBhIHNldCBcCitvZiBmdW5jdGlvbnMsIHZhcmlhYmxlcyBhbmQgY29udmVudGlvbnMgdGhhdCBwcm92aWRlIGEgY29uc2lzdGVudCBcCitkYXRhYmFzZSBpbnRlcmZhY2UgaW5kZXBlbmRlbnQgb2YgdGhlIGFjdHVhbCBkYXRhYmFzZSBiZWluZyB1c2VkLiBcCisiCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvREJJLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitSREVQRU5EU18ke1BOfSA9ICIgcGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXhwb3J0ZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5IFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1keW5hbG9hZGVyIFwKKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vREJJLnBtO2JlZ2lubGluZT04MTQ3O2VuZGxpbmU9ODE1MTttZDU9ZDRlNzNmMjYxNmIyYjQxMzM0Y2YyZjdkMjVkODI3YTIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvVC9USS9USU1CL0RCSS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNGFkMTVhOWMyY2M5YjY4ZTNmZTFmNWNhZGY5Y2RiMzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjUwNzEyZjM4NTg2NDgxOGFiZmJhNDA5NDIwZDE2ZDllZTYxZjFjYzczYWM4NTE1OWQwNTRhNWVlODZkMTQ1MCIKKworUyA9ICIke1dPUktESVJ9L0RCSS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRldmVsL2xpYmRldmVsLWdsb2JhbGRlc3RydWN0aW9uLXBlcmxfMC4xMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkZXZlbC9saWJkZXZlbC1nbG9iYWxkZXN0cnVjdGlvbi1wZXJsXzAuMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE1OTNjZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkZXZlbC9saWJkZXZlbC1nbG9iYWxkZXN0cnVjdGlvbi1wZXJsXzAuMTMuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJGdW5jdGlvbiByZXR1cm5pbmcgXCIke15HTE9CQUxfUEhBU0V9IGVxIFwnREVTVFJVQ1RcJ1wiIgorREVTQ1JJUFRJT04gPSAiUGVybCdzIGdsb2JhbCBkZXN0cnVjdGlvbiBpcyBhIGxpdHRsZSB0cmljayB0byBkZWFsIHdpdGggXAorV1JUIGZpbmFsaXplcnMgYmVjYXVzZSBpdCdzIG5vdCBvcmRlcmVkIGFuZCBvYmplY3RzIGNhbiBzb21ldGltZXMgZGlzYXBwZWFyLiIKKworU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwczovL21ldGFjcGFuLm9yZy9wb2QvRGV2ZWwtR2xvYmFsRGVzdHJ1Y3Rpb24vIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT01MztlbmRsaW5lPTU1O21kNT05MzVkYWRiOTQyMzc3NGY1MzU0OGU1Y2Q1MDU1ZDQxYSIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0gvSEEvSEFBUkcvRGV2ZWwtR2xvYmFsRGVzdHJ1Y3Rpb24tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImU3YmUwMDA0MDgyN2UyMDRiMmI2Y2JhMmYzMTY2MDc0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIyOTgyNGRjMGQzMjJlNTZkYTMyNWYwNTE4NTM2N2ViNDQzNjk0NzE2MDEwYjM2NjkzZGQ1MmZmYmU4ZWM0NjIiCisKK1MgPSAiJHtXT1JLRElSfS9EZXZlbC1HbG9iYWxEZXN0cnVjdGlvbi0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBsaWJzdWItZXhwb3J0ZXItcHJvZ3Jlc3NpdmUtcGVybCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRpZ2VzdC9maWxlcy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGlnZXN0L2ZpbGVzL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWY5Y2E5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRpZ2VzdC9maWxlcy9ydW4tcHRlc3QKQEAgLTAsMCArMSwxNiBAQAorIyEvYmluL3NoCisKK2ZvciBjYXNlIGluIGBmaW5kIHQgLXR5cGUgZiAtbmFtZSAnKi50J2A7IGRvCisgICAgcGVybCAkY2FzZSA+JGNhc2Uub3V0cHV0IDI+JjEKKyAgICByZXQ9JD8KKyAgICBjYXQgJGNhc2Uub3V0cHV0CisgICAgaWYgWyAkcmV0IC1uZSAwIF07IHRoZW4KKyAgICAgICAgZWNobyAiRkFJTDogJHtjYXNlJS50fSIKKyAgICBlbGlmIGdyZXAgLWkgJ1NLSVAnICRjYXNlLm91dHB1dDsgdGhlbgorICAgICAgICBlY2hvICJTS0lQOiAke2Nhc2UlLnR9IgorICAgIGVsc2UKKyAgICAgICAgZWNobyAiUEFTUzogJHtjYXNlJS50fSIKKyAgICBmaQorCisgICAgcm0gLWYgJGNhc2Uub3V0cHV0Citkb25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGlnZXN0L2xpYmRpZ2VzdC1obWFjLXBlcmxfMS4wMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkaWdlc3QvbGliZGlnZXN0LWhtYWMtcGVybF8xLjAzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMWM5OGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZGlnZXN0L2xpYmRpZ2VzdC1obWFjLXBlcmxfMS4wMy5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIktleWVkLUhhc2hpbmcgZm9yIE1lc3NhZ2UgQXV0aGVudGljYXRpb24iCitERVNDUklQVElPTiA9ICJLZXllZC1IYXNoaW5nIGZvciBNZXNzYWdlIEF1dGhlbnRpY2F0aW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+Z2Fhcy9EaWdlc3QtSE1BQy0xLjAzLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjB8R1BMdjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0xMztlbmRsaW5lPTE3O21kNT1kYTk4MGNkYzAyNmZhYTA2NWU1ZDUwMDQxMTUzMzRlNiIKKworUkRFUEVORFNfJHtQTn0gPSAibGliZGlnZXN0LXNoYTEtcGVybCBwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgcGVybC1tb2R1bGUtZGlnZXN0LW1kNSIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9HL0dBL0dBQVMvRGlnZXN0LUhNQUMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImU2YTVkNmY1NTJkYTE2ZWFjYjUxNTdlYTQzNjlmZjlkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNiYzcyYzZkM2ZmMTQ0ZDczYWVmYjkwZTlhNzhkMzM2MTJkNThjZjFjZDE2MzFlY2ZiODk4NWJhOTZkYTRhNTkiCisKK1MgPSAiJHtXT1JLRElSfS9EaWdlc3QtSE1BQy0ke1BWfSIKKworaW5oZXJpdCBjcGFuIHB0ZXN0CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworICAgIGNwIC1yICR7Qn0vdCAke0R9JHtQVEVTVF9QQVRIfQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkaWdlc3QvbGliZGlnZXN0LXNoYTEtcGVybF8yLjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmRpZ2VzdC9saWJkaWdlc3Qtc2hhMS1wZXJsXzIuMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDM3MWVhNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJkaWdlc3QvbGliZGlnZXN0LXNoYTEtcGVybF8yLjEzLmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiUGVybCBpbnRlcmZhY2UgdG8gdGhlIFNIQS0xIGFsZ29yaXRobSAiCitERVNDUklQVElPTiA9ICJEaWdlc3Q6OlNIQTEgLSBQZXJsIGludGVyZmFjZSB0byB0aGUgU0hBLTEgYWxnb3JpdGhtIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+Z2Fhcy9EaWdlc3QtU0hBMS0yLjEzLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjB8R1BMdjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0xMDtlbmRsaW5lPTE0O21kNT1mZjU4NjdlYmI0YmMxMTAzYTdhNDE2YWVmMmZjZTAwYSIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9HL0dBL0dBQVMvRGlnZXN0LVNIQTEtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImJkMjIzODhmMjY4NDM0ZjJiMjRmNjRlMjhiZjFhYTM1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY4YzFkYWMyMTg3NDIxZjBlYjdhYmY3MTQ1MmEwNmYxOTAxODFiOGZjNGIyOGVkZWRmNWI5MDI5NmZiOTQzY2MiCisKK1MgPSAiJHtXT1JLRElSfS9EaWdlc3QtU0hBMS0ke1BWfSIKKworaW5oZXJpdCBjcGFuIHB0ZXN0CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworICAgIGNwIC1yICR7Qn0vdCAke0R9JHtQVEVTVF9QQVRIfQorfQorCitCQkNMQVNTRVhURU5EPSJuYXRpdmUiCisKK0ZJTEVTXyR7UE59LWRiZyA9KyAiJHtsaWJkaXJ9L3BlcmwvdmVuZG9yX3BlcmwvKi9hdXRvL0RpZ2VzdC9TSEExLy5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZW5jb2RlL2xpYmVuY29kZS1sb2NhbGUtcGVybF8xLjA1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmVuY29kZS9saWJlbmNvZGUtbG9jYWxlLXBlcmxfMS4wNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDhmNzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmVuY29kZS9saWJlbmNvZGUtbG9jYWxlLXBlcmxfMS4wNS5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIkVuY29kZTo6TG9jYWxlIC0gRGV0ZXJtaW5lIHRoZSBsb2NhbGUgZW5jb2RpbmciCitBVVRIT1IgPSAiR2lzbGUgQWFzIDxnaXNsZUBhY3RpdmVzdGF0ZS5jb20+IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9tZXRhY3Bhbi5vcmcvbW9kdWxlL0VuY29kZTo6TG9jYWxlIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTttZDU9MTRlODAwNmMyMTM0MDQ1NzI1ZmQ4MTI5MmEzMjNkMjQiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9HL0dBL0dBQVMvRW5jb2RlLUxvY2FsZS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZmNmZGI4ZTRlZTM0YmNmNjJhZWQ0MjliNGEyM2RiMjciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTc2ZmEwMjc3MWY1NDJhNGVmYjFkYmMyYTRjOTI4ZThmNDM5MWJmNDA3ODQ3M2JkNjA0MGQ4ZjExYWRiMGVjMSIKKworUyA9ICIke1dPUktESVJ9L0VuY29kZS1Mb2NhbGUtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSArPSAibGliZW5jb2RlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1hbGlhcy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1iYXNlIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZW5jb2RlL2xpYmVuY29kZS1wZXJsXzIuODMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZW5jb2RlL2xpYmVuY29kZS1wZXJsXzIuODMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWU4YzY3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJlbmNvZGUvbGliZW5jb2RlLXBlcmxfMi44My5iYgpAQCAtMCwwICsxLDU0IEBACitTVU1NQVJZID0gIkVuY29kZSAtIGNoYXJhY3RlciBlbmNvZGluZ3MiCitERVNDUklQVElPTiA9ICJUaGUgXCJFbmNvZGVcIiBtb2R1bGUgcHJvdmlkZXMgdGhlIGludGVyZmFjZXMgYmV0d2VlbiBcCitQZXJsJ3Mgc3RyaW5ncyBhbmQgdGhlIHJlc3Qgb2YgdGhlIHN5c3RlbS4gIFBlcmwgc3RyaW5ncyBhcmUgc2VxdWVuY2VzIFwKK29mIGNoYXJhY3RlcnMuIgorCitBVVRIT1IgPSAiRGFuIEtvZ2FpIDxkYW5rb2dhaStjcGFuQGdtYWlsLmNvbT4iCitIT01FUEFHRSA9ICJodHRwczovL21ldGFjcGFuLm9yZy9yZWxlYXNlL0VuY29kZSIKK1NFQ1RJT04gPSAibGliIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL01FVEEuanNvbjttZDU9ZmRiZWJjODJlOTI1ZDhhY2JjZTQyY2ZhZDEzMWM0ZDEiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9EL0RBL0RBTktPR0FJL0VuY29kZS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMGQzZjU5ZThlYTcwNDQ5NzY0N2VkZWQ2NjU5MTkwNTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWQzYTkwZTMwYWFiZTc4ZGZjZjVlODE2ZmZiMWRhMWUzMzQ3NTg5MmRiZDAwNzUzMjAzMTVjZGNlNTY4Mjk4OCIKKworUyA9ICIke1dPUktESVJ9L0VuY29kZS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ICs9ICIgcGVybC1tb2R1bGUtYnl0ZXMgXAorICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jb25zdGFudCBcCisgICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXhzbG9hZGVyIFwKKyIKKworUlBST1ZJREVTXyR7UE59ICs9ICJsaWJlbmNvZGUtYWxpYXMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1ieXRlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtY2prY29uc3RhbnRzLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtY24tcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1jbi1oei1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWNvbmZpZy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWViY2RpYy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWVuY29kZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1lbmNvZGluZy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWdzbTAzMzgtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1ndWVzcy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWpwLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtanAtaDJ6LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtanAtamlzNy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLWtyLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUta3ItMjAyMl9rci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLW1pbWUtaGVhZGVyLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtbWltZS1uYW1lLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtc3ltYm9sLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtdHctcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS11bmljb2RlLS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLXVuaWNvZGUtdXRmNy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RpbmctcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmVuY29kZS1pbnRlcm5hbC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLW1pbWUtaGVhZGVyLWlzb18yMDIyX2pwLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJlbmNvZGUtdXRmOC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliZW5jb2RlLXV0Zl9lYmNkaWMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtY29uZmlnLXBlcmxfMC4wMDguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtY29uZmlnLXBlcmxfMC4wMDguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkzZDM4OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJleHR1dGlscy9saWJleHR1dGlscy1jb25maWctcGVybF8wLjAwOC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIkV4dFV0aWxzOjpDb25maWcgLSBBIHdyYXBwZXIgZm9yIHBlcmwncyBjb25maWd1cmF0aW9uIgorREVTQ1JJUFRJT04gPSAiRXh0VXRpbHM6OkNvbmZpZyBpcyBhbiBhYnN0cmFjdGlvbiBhcm91bmQgdGhlICVDb25maWcgaGFzaC4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmxlb250L0V4dFV0aWxzLUNvbmZpZy8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xOTMyYWI0ZDhiODRjMjVmZDc5NjdhYTE4MDg4ZTU3ZSIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0wvTEUvTEVPTlQvRXh0VXRpbHMtQ29uZmlnLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NjVhN2IwOWM3Y2FjNTkwN2EyNWJiZTJjOTU5YTcxNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhZTUxMDRmNjM0NjUwZGNlOGE3OWI3ZWQxM2ZiNTlkNjdhMzljMjEzYTY3NzZjZmRhYTNlZTc0OWU2MmYxYThjIgorCitTID0gIiR7V09SS0RJUn0vRXh0VXRpbHMtQ29uZmlnLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXRlc3QtbW9yZSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS10ZW1wIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtY3BwZ3Vlc3MtcGVybF8wLjA5LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWNwcGd1ZXNzLXBlcmxfMC4wOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTNjYjAzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWNwcGd1ZXNzLXBlcmxfMC4wOS5iYgpAQCAtMCwwICsxLDM3IEBACitTVU1NQVJZID0gIkV4dFV0aWxzOjpDcHBHdWVzcyAtIGd1ZXNzIEMrKyBjb21waWxlciBhbmQgZmxhZ3MiCitERVNDUklQVElPTiA9ICJFeHRVdGlsczo6Q3BwR3Vlc3MgYXR0ZW1wdHMgdG8gZ3Vlc3MgdGhlIHN5c3RlbSdzIEMrKyBcCitjb21waWxlciB0aGF0IGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgQyBjb21waWxlciB0aGF0IHlvdXIgcGVybCB3YXMgYnVpbHQgXAord2l0aC4gXAorSXQgY2FuIGdlbmVyYXRlIHRoZSBuZWNlc3Nhcnkgb3B0aW9ucyB0byB0aGUgTW9kdWxlOjpCdWlsZCBjb25zdHJ1Y3RvciBvciBcCit0byBFeHRVdGlsczo6TWFrZU1ha2VyJ3MgV3JpdGVNYWtlZmlsZSBmdW5jdGlvbi4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfnNtdWVsbGVyL0V4dFV0aWxzLUNwcEd1ZXNzLyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9ODE7ZW5kbGluZT04NDttZDU9ODRjMDM5MGI5MGVhOGM2NzAyY2U2NTliNjdiZWQ2OTkiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9FL0VUL0VUSi9FeHRVdGlscy1DcHBHdWVzcy0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjhhZGEzOGVlNGFkODZhNGYxZTIwZDg1MjVjZTBjOTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDg2MjUxOTVhODhjMGYyZGRjMzdiYmQ3YTA2MzQ2YWE2OGZmYjY5NDhiYTc4ZGEzYWVhNDdjMGRiMjU0MGY2NSIKKworUyA9ICIke1dPUktESVJ9L0V4dFV0aWxzLUNwcEd1ZXNzLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworZG9faW5zdGFsbCAoKSB7CisgICAgICAgIGNwYW5fZG9faW5zdGFsbAorfQorCitSREVQRU5EU18ke1BOfSA9ICIgbGliY2FwdHVyZS10aW55LXBlcmwgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXNjYWxhci11dGlsIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1pby1maWxlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtc3BlYyBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXhwb3J0ZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWNhcnAgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtbGliIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtaGVscGVycy1wZXJsXzAuMDIyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWhlbHBlcnMtcGVybF8wLjAyMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTAyMzRlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWhlbHBlcnMtcGVybF8wLjAyMi5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkV4dFV0aWxzOjpIZWxwZXJzIC0gVmFyaW91cyBwb3J0YWJpbGl0eSB1dGlsaXRpZXMgZm9yIG1vZHVsZSBidWlsZGVycyIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIHByb3ZpZGVzIHZhcmlvdXMgcG9ydGFibGUgaGVscGVyIGZ1bmN0aW9uIGZvciBtb2R1bGUgYnVpbGRpbmcgbW9kdWxlcy4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmxlb250L0V4dFV0aWxzLUhlbHBlcnMvIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MzA3MDU3Y2UyMzI4OTlmNWNhYTg4NTg1NjBjNzI3NGIiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9ML0xFL0xFT05UL0V4dFV0aWxzLUhlbHBlcnMtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImNmNGZkNmY4Y2FhNmRhYWMzM2IxMTExYzllOTMxNjJiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzZjhjZjcwMGZiMzQxNGNhMTI2MDA4OTc1NWNiZjY0MDQxNDU1ZTRiNzQ0MTEwNjc3YjFiYTViYjlhM2FhOTUiCisKK1MgPSAiJHtXT1JLRElSfS9FeHRVdGlscy1IZWxwZXJzLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWZpbGUtY29weSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWxvYWQgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWluc3RhbGxwYXRocy1wZXJsXzAuMDExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmV4dHV0aWxzL2xpYmV4dHV0aWxzLWluc3RhbGxwYXRocy1wZXJsXzAuMDExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlYjQzNGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtaW5zdGFsbHBhdGhzLXBlcmxfMC4wMTEuYmIKQEAgLTAsMCArMSwyNSBAQAorU1VNTUFSWSA9ICJFeHRVdGlsczo6SW5zdGFsbFBhdGhzIC0gQnVpbGQuUEwgaW5zdGFsbCBwYXRoIGxvZ2ljIG1hZGUgZWFzeSIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIHRyaWVzIHRvIG1ha2UgaW5zdGFsbCBwYXRoIHJlc29sdXRpb24gYXMgZWFzeSBcCithcyBwb3NzaWJsZS4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmxlb250L0V4dFV0aWxzLUluc3RhbGxQYXRocy8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iNmZhNTRkODczY2U2YmNmNDgwOWVhODhiZGY5Nzc2OSIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0wvTEUvTEVPTlQvRXh0VXRpbHMtSW5zdGFsbFBhdGhzLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5Yzc1ODk0YzNjOGM4OTlhYjZiZmFmYzVlYWE5Nzk5OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3NjA5ZmEwNDhjZGNmMTQ1MWNhZDViMWQ3ZDQ5NGYzMGUzZDViYWQwNjcyZDE1NDA0ZjFlYTYwZTFkZjAwNjdjIgorCitTID0gIiR7V09SS0RJUn0vRXh0VXRpbHMtSW5zdGFsbFBhdGhzLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXRlc3QtbW9yZSBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS10ZW1wIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtcGFyc2V4cy1wZXJsXzMuMjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliZXh0dXRpbHMvbGliZXh0dXRpbHMtcGFyc2V4cy1wZXJsXzMuMjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU2NmY3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJleHR1dGlscy9saWJleHR1dGlscy1wYXJzZXhzLXBlcmxfMy4yNC5iYgpAQCAtMCwwICsxLDQ3IEBACitTVU1NQVJZID0gIkV4dFV0aWxzOjpQYXJzZVhTIC0gY29udmVydHMgUGVybCBYUyBjb2RlIGludG8gQyBjb2RlIgorREVTQ1JJUFRJT04gPSAiXCJFeHRVdGlsczo6UGFyc2VYU1wiIHdpbGwgY29tcGlsZSBYUyBjb2RlIGludG8gQyBjb2RlIGJ5IFwKK2VtYmVkZGluZyB0aGUgY29uc3RydWN0cyBuZWNlc3NhcnkgdG8gbGV0IEMgZnVuY3Rpb25zIG1hbmlwdWxhdGUgUGVybCBcCit2YWx1ZXMgYW5kIGNyZWF0ZXMgdGhlIGdsdWUgbmVjZXNzYXJ5IHRvIGxldCBQZXJsIGFjY2VzcyB0aG9zZSBmdW5jdGlvbnMuIFwKK1RoZSBjb21waWxlciB1c2VzIHR5cGVzbWFwZXMgdG8gZGV0ZXJtaW5lIGhvdyB0byBtYXAgQyBmdW5jdGlvbiBwYXJhbWV0ZXJzIFwKK2FuZCB2YXJpYWJsZXMgdG8gUGVybCB2YWx1ZXMuIgorCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9tZXRhcGFuLm9yZy9yZWxlYXNlL0V4dFV0aWxzLVBhcnNlWFMvIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0xMjE7ZW5kbGluZT0xMzA7bWQ1PTEwZGRiM2E2NzNiNGM3MzIwMjJhYzg5OTk2OGVhOWNjIgorCitTUkNOQU1FID0gIkV4dFV0aWxzLVBhcnNlWFMiCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvUy9TTS9TTVVFTExFUi8ke1NSQ05BTUV9LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNmJlM2YxZDQ5M2UwNGVkODA1NTc2MTA0Y2Y0MzI4YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMGI2MGI4MjA4ZmM5Yjc3NDZlZDkzNGI2NzhiYjk2MThhOGYyODk5NGRhZTg3NzQ1NDgzNTNhN2I1NTAzNzFlIgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1jYXJwIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jd2QgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWR5bmFsb2FkZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyIFwKKwkJICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXNwZWMgXAorCQkgICBwZXJsLW1vZHVsZS1saWIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXN5bWJvbCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyIKKworUlBST1ZJREVTXyR7UE59ICs9ICIgbGliZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy1wYXJzZXhzLWNvdW50bGluZXMtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy1wYXJzZXhzLWV2YWwtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgIGxpYmV4dHV0aWxzLXR5cGVtYXBzLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICAgbGliZXh0dXRpbHMtdHlwZW1hcHMtY21kLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICAgbGliZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy10eXBlbWFwcy10eXBlLXBlcmwgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJodG1sL2ZpbGVzL2Jpbi1odG1sdHJlZS1maXgtc2hlYmFuZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJodG1sL2ZpbGVzL2Jpbi1odG1sdHJlZS1maXgtc2hlYmFuZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjY2ZjA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmh0bWwvZmlsZXMvYmluLWh0bWx0cmVlLWZpeC1zaGViYW5nLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK0Zyb20gMjhlZTk5NDc4MDQ1OWMzNTUyZDNjYmJkNmIwMTFkMDU0YTQxYzQzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFN1biwgOCBOb3YgMjAxNSAyMzozMzozMSAtMDUwMAorU3ViamVjdDogW1BBVENIXSBiaW4vaHRtbHRyZWU6IGZpeCBzaGViYW5nCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBiaW4vaHRtbHRyZWUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9iaW4vaHRtbHRyZWUgYi9iaW4vaHRtbHRyZWUKK2luZGV4IDhiZjNkYjIuLmY5OTI3ZTUgMTAwNzU1CistLS0gYS9iaW4vaHRtbHRyZWUKKysrKyBiL2Jpbi9odG1sdHJlZQorQEAgLTEsNCArMSw0IEBACistIyEvdXNyL2Jpbi9wZXJsCisrIyEvdXNyL2Jpbi9lbnYgcGVybAorICMgVGltZS1zdGFtcDogIjIwMDAtMTAtMDIgMTQ6NDg6MTUgTURUIgorICMKKyAjIFBhcnNlIHRoZSBnaXZlbiBIVE1MIGZpbGUocykgYW5kIGR1bXAgdGhlIHBhcnNlIHRyZWUKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmh0bWwvbGliaHRtbC1wYXJzZXItcGVybF8zLjcyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmh0bWwvbGliaHRtbC1wYXJzZXItcGVybF8zLjcyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwNDdkOWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaHRtbC9saWJodG1sLXBhcnNlci1wZXJsXzMuNzIuYmIKQEAgLTAsMCArMSwyNSBAQAorREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBQYXJzZXIucG0gbW9kdWxlIHdpdGggZnJpZW5kcy4iCisKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTttZDU9YjA0NTllNDQyNmI5NDc1M2I5YTliOGExNWYxMjIzYjgiCisKK0RFUEVORFMgKz0gInBlcmwiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvRy9HQS9HQUFTL0hUTUwtUGFyc2VyLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImViNzUwNWU1ZjYyNjkxMzM1MGRmOWRkNGEwM2Q1NGE4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVjMjhjN2UxZDllNjdjNDVlY2ExOTcwNzdmN2NkYzQxZWFkMWJiNGM1MzhjN2YwMmEzMjk2YTRiYjkyZjYwOGIiCisKK1MgPSAiJHtXT1JLRElSfS9IVE1MLVBhcnNlci0ke1BWfSIKKworRVhUUkFfQ1BBTkZMQUdTID0gIkVYUEFUTElCUEFUSD0ke1NUQUdJTkdfTElCRElSfSBFWFBBVElOQ1BBVEg9JHtTVEFHSU5HX0lOQ0RJUn0iCisKK2luaGVyaXQgY3BhbgorCitkb19jb21waWxlKCkgeworCWV4cG9ydCBMSUJDPSIkKGZpbmQgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9LyAtbmFtZSAnbGliYy0qLnNvJykiCisJY3Bhbl9kb19jb21waWxlCit9CitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJodG1sL2xpYmh0bWwtdHJlZS1wZXJsXzUuMDMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaHRtbC9saWJodG1sLXRyZWUtcGVybF81LjAzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlYjBlMDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaHRtbC9saWJodG1sLXRyZWUtcGVybF81LjAzLmJiCkBAIC0wLDAgKzEsNDIgQEAKK1NVTU1BUlkgPSAiSFRNTDo6VHJlZUJ1aWxkZXIgLSBQYXJzZXIgdGhhdCBidWlsZHMgYSBIVE1MIHN5bnRheCB0cmVlIgorREVTQ1JJUFRJT04gPSAiVGhpcyBkaXN0cmlidXRpb24gY29udGFpbnMgYSBzdWl0ZSBvZiBtb2R1bGVzIGZvciByZXByZXNlbnRpbmcsIFwKK2NyZWF0aW5nLCBhbmQgZXh0cmFjdGluZyBpbmZvcm1hdGlvbiBmcm9tIEhUTUwgc3ludGF4IHRyZWVzOyB0aGVyZSBpcyBcCithbHNvIHJlbGV2ZW50IGRvY3VtZW50YXRpb24uICBUaGVzZSBtb2R1bGVzIHVzZWQgdG8gYmUgcGFydCBvZiB0aGUgXAorbGlid3d3LXBlcmwgZGlzdHJpYnV0aW9uLCBidXQgYXJlIG5vdyB1bmJ1bmRsZWQgaW4gb3JkZXIgdG8gZmFjaWxpdGF0ZSBcCithIHNlcGFyYXRlIGRldmVsb3BtZW50IHRyYWNrLiIKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jcGFuLm9yZy9hdXRob3JzL2lkL0MvQ0ovQ0pNL0hUTUwtVHJlZS0ke1BWfS5yZWFkbWUiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zZWI1N2E4OTU4Y2FlNzNjYjY1ZTdkMGMyNjMzOTI0MiIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0MvQ0ovQ0pNL0hUTUwtVHJlZS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vYmluLWh0bWx0cmVlLWZpeC1zaGViYW5nLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkOTI3MWQ2MGI4NzJlZDZmYmU2OGIyZDBmZThjNDUwZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3ZDZkNzNmY2E2MjJhYTc0ODU1YThiMDg4ZmFhMzk0NTRhMGY5MWI3YWY4M2M5ZWMwMzg3ZjAxZWVmYzIxNDhmIgorCitTID0gIiR7V09SS0RJUn0vSFRNTC1UcmVlLSR7UFZ9IgorCitpbmhlcml0IGNwYW5fYnVpbGQKKworREVQRU5EUyArPSAibGlibW9kdWxlLWJ1aWxkLXBlcmwtbmF0aXZlIFwKKyIKKworUlBST1ZJREVTXyR7UE59ID0gIiBsaWJodG1sLWVsZW1lbnQtcGVybCBcCisJCSAgICBsaWJodG1sLXRyZWUtYXNzdWJzLXBlcmwgXAorCQkgICAgbGliaHRtbC10cmVlLXBlcmwgXAorCQkgICAgbGliaHRtbC10cmVlYnVpbGRlci1wZXJsIFwKKyIKKworUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWJhc2UgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXN0cmljdCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtd2FybmluZ3MgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1jYXJwIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpbXBvcnQvbGliaW1wb3J0LWludG8tcGVybF8xLjAwMjAwNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpbXBvcnQvbGliaW1wb3J0LWludG8tcGVybF8xLjAwMjAwNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjA4ZDYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmltcG9ydC9saWJpbXBvcnQtaW50by1wZXJsXzEuMDAyMDA0LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiSW1wb3J0OjpJbnRvIC0gaW1wb3J0IHBhY2thZ2VzIGludG8gb3RoZXIgcGFja2FnZXMiCitERVNDUklQVElPTiA9ICJXcml0aW5nIGV4cG9ydGVycyBpcyBhIHBhaW4uIFNvbWUgdXNlIFwiRXhwb3J0ZXJcIiwgc29tZSB1c2UgXAorXCJTdWI6OkV4cG9ydGVyXCIsIHNvbWUgdXNlIFwiTW9vc2U6OkV4cG9ydGVyXCIsIHNvbWUgdXNlIFwKK1wiRXhwb3J0ZXI6OkRlY2xhcmVcIi4uLiBhbmQgc29tZSB0aGluZ3MgYXJlIHByYWdtYXMuXAorXAorRXhwb3J0aW5nIG9uIHNvbWVvbmUgZWxzZSdzIGJlaGFsZiBpcyBoYXJkZXIuIFRoZSBleHBvcnRlcnMgZG9uJ3QgcHJvdmlkZSBhIFwKK2NvbnNpc3RlbnQgQVBJIGZvciB0aGlzLCBhbmQgcHJhZ21hcyBuZWVkIHRvIGhhdmUgdGhlaXIgaW1wb3J0IG1ldGhvZCBjYWxsZWQgXAorZGlyZWN0bHksIHNpbmNlIHRoZXkgZWZmZWN0IHRoZSBjdXJyZW50IHVuaXQgb2YgY29tcGlsYXRpb24uIFwKK1wKK1wiSW1wb3J0OjpJbnRvXCIgcHJvdmlkZXMgZ2xvYmFsIG1ldGhvZHMgdG8gbWFrZSB0aGlzIHBhaW5sZXNzLiIKKworU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwczovL21ldGFjcGFuLm9yZy9wb2QvSW1wb3J0LUludG8vIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0yMDk7ZW5kbGluZT0yMjM7bWQ1PTNjZjM2M2YxZTQwNWRlYTZkYjJjNmNkMGVmMjM2ODBjIgorCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvRS9FVC9FVEhFUi9JbXBvcnQtSW50by0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNzBmMmYzYjA4YTViNzA2ZWUzODJhODQ0OGMzNDZjYjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGVjYjI1OWJjMmZmMDE1ZmUzZGFjODVlNGEyODdkNDEyOGU5YjA1MDZhMGIyYzVmYTcyNDQ4MzZhNjhiMTA4NCIKKworUyA9ICIke1dPUktESVJ9L0ltcG9ydC1JbnRvLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIGxpYm1vZHVsZS1ydW50aW1lLXBlcmwgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXN0cmljdCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtd2FybmluZ3MgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9maWxlcy9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaW8vZmlsZXMvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ZjljYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaW8vZmlsZXMvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMTYgQEAKKyMhL2Jpbi9zaAorCitmb3IgY2FzZSBpbiBgZmluZCB0IC10eXBlIGYgLW5hbWUgJyoudCdgOyBkbworICAgIHBlcmwgJGNhc2UgPiRjYXNlLm91dHB1dCAyPiYxCisgICAgcmV0PSQ/CisgICAgY2F0ICRjYXNlLm91dHB1dAorICAgIGlmIFsgJHJldCAtbmUgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIkZBSUw6ICR7Y2FzZSUudH0iCisgICAgZWxpZiBncmVwIC1pICdTS0lQJyAkY2FzZS5vdXRwdXQ7IHRoZW4KKyAgICAgICAgZWNobyAiU0tJUDogJHtjYXNlJS50fSIKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIlBBU1M6ICR7Y2FzZSUudH0iCisgICAgZmkKKworICAgIHJtIC1mICRjYXNlLm91dHB1dAorZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXNvY2tldC1zc2wtcGVybF8xLjk5Ny5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMS45OTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE1Nzg4YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMS45OTcuYmIKQEAgLTAsMCArMSw0MyBAQAorU1VNTUFSWSA9ICJQZXJsIGxpYnJhcnkgZm9yIHRyYW5zcGFyZW50IFNTTCIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIGlzIGEgdHJ1ZSBkcm9wLWluIHJlcGxhY2VtZW50IGZvciBJTzo6U29ja2V0OjpJTkVUIHRoYXQgXAordXNlcyBTU0wgdG8gZW5jcnlwdCBkYXRhIGJlZm9yZSBpdCBpcyB0cmFuc2ZlcnJlZCB0byBhIHJlbW90ZSBzZXJ2ZXIgXAorb3IgY2xpZW50LiBJTzo6U29ja2V0OjpTU0wgc3VwcG9ydHMgYWxsIHRoZSBleHRyYSBmZWF0dXJlcyB0aGF0IG9uZSBcCituZWVkcyB0byB3cml0ZSBhIGZ1bGwtZmVhdHVyZWQgU1NMIGNsaWVudCBvciBzZXJ2ZXIgYXBwbGljYXRpb246IFwKK211bHRpcGxlIFNTTCBjb250ZXh0cywgY2lwaGVyIHNlbGVjdGlvbiwgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uLCBhbmQgXAorU1NMIHZlcnNpb24gc2VsZWN0aW9uLiBBcyBhbiBleHRyYSBib251cywgaXQgd29ya3MgcGVyZmVjdGx5IHdpdGggXAorbW9kX3BlcmwuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9kaXN0L0lPLVNvY2tldC1TU0wvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMHxHUEx2MSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9NRVRBLnltbDtiZWdpbmxpbmU9MTE7ZW5kbGluZT0xMTttZDU9OTYzY2UyODIyODM0Nzg3NWFjZTY4MmRlNTZlZWY4ZTgiCisKK1JERVBFTkRTXyR7UE59ICs9ICJwZXJsLW1vZHVsZS1zY2FsYXItdXRpbCBsaWJuZXQtc3NsZWF5LXBlcmwiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvUy9TVS9TVUxMUi9JTy1Tb2NrZXQtU1NMLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYTYyNjhiYjQyZGE4MWU2OWQxYzFmZWIyZmNiMGVlYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhY2RiNjdiNWI2M2FlYTViN2U3MGMzZTRjNzBhMTYxMjg4MTAzMjk1OTJiNjM3NTNhMzhjNzk0YWZmNzZhMWRkIgorCitTID0gIiR7V09SS0RJUn0vSU8tU29ja2V0LVNTTC0ke1BWfSIKKworaW5oZXJpdCBjcGFuIHB0ZXN0CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBta2RpciAtcCAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwICR7U30vQlVHUyAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwICR7U30vQ2hhbmdlcyAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwICR7U30vUkVBRE1FICR7RH0ke2RvY2Rpcn0vJHtQTn0vCisgICAgY3AgLXBSUCAke1N9L2RvY3MgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KKyAgICBjcCAtcFJQICR7U30vY2VydHMgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KKyAgICBjcCAtcFJQICR7U30vZXhhbXBsZSAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwIC1wUlAgJHtTfS91dGlsICR7RH0ke2RvY2Rpcn0vJHtQTn0vCit9CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworICAgIGNwIC1yICR7Qn0vdCAke0R9JHtQVEVTVF9QQVRIfQorICAgIGNwIC1yICR7Qn0vY2VydHMgJHtEfSR7UFRFU1RfUEFUSH0KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaW8vbGliaW8tc3RyaW5neS1wZXJsXzIuMTExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXN0cmluZ3ktcGVybF8yLjExMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODkwYTNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXN0cmluZ3ktcGVybF8yLjExMS5iYgpAQCAtMCwwICsxLDMxIEBACitTVU1NQVJZID0gIklPLXN0cmluZ3kgLSBJL08gb24gaW4tY29yZSBvYmplY3RzIGxpa2Ugc3RyaW5ncyBhbmQgYXJyYXlzIgorREVTQ1JJUFRJT04gPSAiVGhpcyB0b29sa2l0IHByaW1hcmlseSBwcm92aWRlcyBtb2R1bGVzIGZvciBwZXJmb3JtaW5nIGJvdGggXAordHJhZGl0aW9uYWwgYW5kIG9iamVjdC1vcmllbnRlZCBpL28gb24gdGhpbmdzICpvdGhlciogdGhhbiBub3JtYWwgXAorZmlsZWhhbmRsZXM7IGluIHBhcnRpY3VsYXIsIElPOjpTY2FsYXIsIElPOjpTY2FsYXJBcnJheSwgYW5kIElPOjpMaW5lcy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuemVlZ2VlLmNvbS9wcm9kdWN0cy9JTy1zdHJpbmd5LyIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDE0MDZlNGZmMmU2MGQ4OGQ0MmVmMWNhZWJkZDAwMTEiCisKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0QvRFMvRFNLT0xML0lPLXN0cmluZ3ktJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImU5MWFjZjBhODAwYjE5MGQxMzU4NWE0N2RlNzc1YmRkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhjNjdmZDY2MDhjM2M0ZTc0ZjczMjRmMTQwNGE4NTZjMzMxZGJmNDhkOWRlZGE2YWFhODI5NmVhNDFiZjE5OWQiCisKK1MgPSAiJHtXT1JLRElSfS9JTy1zdHJpbmd5LSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUlBST1ZJREVTXyR7UE59ICs9ICIgbGliaW8tYXRvbWljZmlsZS1wZXJsIFwKKwkJICAgICBsaWJpby1pbm5lcmZpbGUtcGVybCBcCisgICAgICAgICAgICAgICAgICAgICBsaWJpby1saW5lcy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgIGxpYmlvLXNjYWxhci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgIGxpYmlvLXNjYWxhcmFycmF5LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICAgbGliaW8td3JhcC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgIGxpYmlvLXdyYXB0aWUtcGVybCBcCisJCSAgICAgbGliaW8td3JhcHRpZS1tYXN0ZXItcGVybCBcCisJCSAgICAgbGliaW8td3JhcHRpZS1zbGF2ZS1wZXJsIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGliaXBjL2xpYmlwYy1zaWduYWwtcGVybF8xLjAwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlwYy9saWJpcGMtc2lnbmFsLXBlcmxfMS4wMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTE4MTY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlwYy9saWJpcGMtc2lnbmFsLXBlcmxfMS4wMC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIklQQzo6U2lnbmFsIC0gVXRpbGl0eSBmdW5jdGlvbnMgZGVhbGluZyB3aXRoIHNpZ25hbHMiCitERVNDUklQVElPTiA9ICJJUEM6OlNpZ25hbCAtIFRoaXMgbW9kdWxlIGNvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBcCitkZWFsaW5nIHdpdGggc2lnbmFscy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfnJvc2NoL0lQQy1TaWduYWwtMS4wMC8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTHYxKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MTY7ZW5kbGluZT0xODttZDU9ZjM2NTUwZjU5YTBhZTVlNmUzYjBiZTZhNGRhNjBkMjYiCisKK1MgPSAiJHtXT1JLRElSfS9JUEMtU2lnbmFsLSR7UFZ9IgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1IvUk8vUk9TQ0gvSVBDLVNpZ25hbC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0Y2ViZjE3ZmRmMTc4NWVhZjhjMTUxYmYyZThjMzYwYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YzIxZjljOGMyZDBjMGYwZjBmNDZlNzdkZTdjM2Q4NzlkZDU2MjY2OGRkZjA1MjU4NzVjMzhjZWYyMDc2ZmQwIgorCitpbmhlcml0IGNwYW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtaW1lL2ZpbGVzL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtaW1lL2ZpbGVzL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWY5Y2E5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1pbWUvZmlsZXMvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMTYgQEAKKyMhL2Jpbi9zaAorCitmb3IgY2FzZSBpbiBgZmluZCB0IC10eXBlIGYgLW5hbWUgJyoudCdgOyBkbworICAgIHBlcmwgJGNhc2UgPiRjYXNlLm91dHB1dCAyPiYxCisgICAgcmV0PSQ/CisgICAgY2F0ICRjYXNlLm91dHB1dAorICAgIGlmIFsgJHJldCAtbmUgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIkZBSUw6ICR7Y2FzZSUudH0iCisgICAgZWxpZiBncmVwIC1pICdTS0lQJyAkY2FzZS5vdXRwdXQ7IHRoZW4KKyAgICAgICAgZWNobyAiU0tJUDogJHtjYXNlJS50fSIKKyAgICBlbHNlCisgICAgICAgIGVjaG8gIlBBU1M6ICR7Y2FzZSUudH0iCisgICAgZmkKKworICAgIHJtIC1mICRjYXNlLm91dHB1dAorZG9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1pbWUvbGlibWltZS10eXBlcy1wZXJsXzIuMDQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibWltZS9saWJtaW1lLXR5cGVzLXBlcmxfMi4wNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjUzMDI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1pbWUvbGlibWltZS10eXBlcy1wZXJsXzIuMDQuYmIKQEAgLTAsMCArMSwyNiBAQAorU1VNTUFSWSA9ICJNSU1FOjpUeXBlcyAtIERlZmluaXRpb24gb2YgTUlNRSB0eXBlcyIKK0RFU0NSSVBUSU9OID0gIk1JTUUgdHlwZXMgYXJlIHVzZWQgaW4gTUlNRSBjb21wbGlhbnQgbGluZXMsIGZvciBpbnN0YW5jZSBcCithcyBwYXJ0IG9mIGUtbWFpbCBhbmQgSFRUUCB0cmFmZmljLCB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiBjb250ZW50IHdoaWNoIFwKK2lzIHRyYW5zbWl0dGVkLiBTb21ldGltZXMgcmVhbCBrbm93bGVkZ2UgYWJvdXQgYSBtaW1lLXR5cGUgaXMgbmVlZC5cCitcblwKK1RoaXMgbW9kdWxlIG1haW50YWlucyBhIHNldCBvZiBNSU1FOjpUeXBlIG9iamVjdHMsIHdoaWNoIGVhY2ggZGVzY3JpYmUgXAorb25lIGtub3duIG1pbWUgdHlwZS4iCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35tYXJrb3YvTUlNRS1UeXBlcy0ke1BWfSIKK1NFQ1RJT04gPSAibGlicmFyaWVzIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMHxHUEx2MSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9NRVRBLnltbDtiZWdpbmxpbmU9MTE7ZW5kbGluZT0xMTttZDU9OTYzY2UyODIyODM0Nzg3NWFjZTY4MmRlNTZlZWY4ZTgiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvTS9NQS9NQVJLT1YvTUlNRS1UeXBlcy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiZTI5MmJiZjc3NTZiYjQ5OTk0MDdmM2Y2NjA2OTcxNjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjJiNjA2OWQzNzJkNTg3YjFmMmVjYzZkMGFhZjUwZmI1YzY0OTIwY2FlZDhjMjE0Yjk4ODRlNjQ1MzhhY2M4ZiIKKworUyA9ICIke1dPUktESVJ9L01JTUUtVHlwZXMtJHtQVn0iCisKK2luaGVyaXQgY3BhbiBwdGVzdAorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKyAgICBjcCAtciAke0J9L3QgJHtEfSR7UFRFU1RfUEFUSH0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLWJ1aWxkLXBlcmxfMC4zMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLWJ1aWxkLXBlcmxfMC4zMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGZhMDZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1vZHVsZS9saWJtb2R1bGUtYnVpbGQtcGVybF8wLjMxLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiTW9kdWxlOjpCdWlsZDo6VGlueSAtIEEgdGlueSByZXBsYWNlbWVudCBmb3IgTW9kdWxlOjpCdWlsZCIKK0RFU0NSSVBUSU9OID0gIk1hbnkgUGVybCBkaXN0cmlidXRpb25zIHVzZSBhIEJ1aWxkLlBMIGZpbGUgaW5zdGVhZCBvZiBhIFwKK01ha2VmaWxlLlBMIGZpbGUgdG8gZHJpdmUgZGlzdHJpYnV0aW9uIGNvbmZpZ3VyYXRpb24sIGJ1aWxkLCB0ZXN0IGFuZCBcCitpbnN0YWxsYXRpb24uIFRyYWRpdGlvbmFsbHksIEJ1aWxkLlBMIHVzZXMgTW9kdWxlOjpCdWlsZCBhcyB0aGUgdW5kZXJseWluZyBcCitidWlsZCBzeXN0ZW0uIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlLCBsaWdodHdlaWdodCwgZHJvcC1pbiByZXBsYWNlbWVudC4gXAorV2hlcmVhcyBNb2R1bGU6OkJ1aWxkIGhhcyBvdmVyIDYsNzAwIGxpbmVzIG9mIGNvZGU7IHRoaXMgbW9kdWxlIGhhcyBsZXNzIHRoYW4gXAorMTIwLCB5ZXQgc3VwcG9ydHMgdGhlIGZlYXR1cmVzIG5lZWRlZCBieSBtb3N0IGRpc3RyaWJ1dGlvbnMuIgorU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35rd2lsbGlhbXMvTW9kdWxlLUJ1aWxkLTAuMzEvIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NDMzMzlkOGY5ZDNhOTU2ZWU5ZWNlYjA3NzE3ZWU5NWUiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9LL0tXL0tXSUxMSUFNUy9Nb2R1bGUtQnVpbGQtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjNkNGZkZmZlNThmNjIzNjI1Mzc2N2U1YTcxZWRmMjliIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUyZjcyM2JlOGQ2YzcwYjRkZGJjYTNiNWUzMmU1MmU2ZTk4ZWFlOGY0M2UzNGQ3ZWRlODdlZmNiMTc5NmJiYjUiCisKK1MgPSAiJHtXT1JLRElSfS9Nb2R1bGUtQnVpbGQtJHtQVn0iCisKK2luaGVyaXQgY3Bhbl9idWlsZAorCitkb19pbnN0YWxsICgpIHsKKyAgICAgICAgY3Bhbl9idWlsZF9kb19pbnN0YWxsCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1vZHVsZS9saWJtb2R1bGUtYnVpbGQtdGlueS1wZXJsXzAuMDM2LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1vZHVsZS9saWJtb2R1bGUtYnVpbGQtdGlueS1wZXJsXzAuMDM2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MWYxN2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibW9kdWxlL2xpYm1vZHVsZS1idWlsZC10aW55LXBlcmxfMC4wMzYuYmIKQEAgLTAsMCArMSw1NCBAQAorU1VNTUFSWSA9ICJNb2R1bGU6OkJ1aWxkOjpUaW55IC0gQSB0aW55IHJlcGxhY2VtZW50IGZvciBNb2R1bGU6OkJ1aWxkIgorREVTQ1JJUFRJT04gPSAiTWFueSBQZXJsIGRpc3RyaWJ1dGlvbnMgdXNlIGEgQnVpbGQuUEwgZmlsZSBpbnN0ZWFkIG9mIGEgXAorTWFrZWZpbGUuUEwgZmlsZSB0byBkcml2ZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiwgYnVpbGQsIHRlc3QgYW5kIFwKK2luc3RhbGxhdGlvbi4gVHJhZGl0aW9uYWxseSwgQnVpbGQuUEwgdXNlcyBNb2R1bGU6OkJ1aWxkIGFzIHRoZSB1bmRlcmx5aW5nIFwKK2J1aWxkIHN5c3RlbS4gVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUsIGxpZ2h0d2VpZ2h0LCBkcm9wLWluIHJlcGxhY2VtZW50LiBcCitXaGVyZWFzIE1vZHVsZTo6QnVpbGQgaGFzIG92ZXIgNiw3MDAgbGluZXMgb2YgY29kZTsgdGhpcyBtb2R1bGUgaGFzIGxlc3MgdGhhbiBcCisxMjAsIHlldCBzdXBwb3J0cyB0aGUgZmVhdHVyZXMgbmVlZGVkIGJ5IG1vc3QgZGlzdHJpYnV0aW9ucy4iCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvfmxlb250L01vZHVsZS1CdWlsZC1UaW55LyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWFhY2E2MTQxMjk2MmNmOTcyYWVjMGNkYWQ5OWQwYTg0IgorCitERVBFTkRTID0gImxpYmV4dHV0aWxzLWNvbmZpZy1wZXJsLW5hdGl2ZSBsaWJleHR1dGlscy1oZWxwZXJzLXBlcmwtbmF0aXZlIGxpYmV4dHV0aWxzLWluc3RhbGxwYXRocy1wZXJsLW5hdGl2ZSIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0wvTEUvTEVPTlQvTW9kdWxlLUJ1aWxkLVRpbnktJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImJmYzkyYzY1NTE1OGNlNjIzZjBjZWQ5NGY0ZWYwMmU1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2NzA2YmYzNWUwODBlNWFmMjBjY2NmNGZkNTY1Y2M4YWY5YzJhMWUyZTIwNzVjZWUwYTdkZTQyY2YwZDZkZjkiCisKK1MgPSAiJHtXT1JLRElSfS9Nb2R1bGUtQnVpbGQtVGlueS0ke1BWfSIKKworaW5oZXJpdCBjcGFuX2J1aWxkCisKK2RvX2luc3RhbGwgKCkgeworICAgICAgICBjcGFuX2J1aWxkX2RvX2luc3RhbGwKK30KKworUkRFUEVORFNfJHtQTn0gPSAiIGxpYmV4dHV0aWxzLWNvbmZpZy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBsaWJleHR1dGlscy1oZWxwZXJzLXBlcmwgXAorICAgICAgICAgICAgICAgICAgIGxpYmV4dHV0aWxzLWluc3RhbGxwYXRocy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS14c2xvYWRlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1pby1oYW5kbGUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzLWVudiBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtaXBjLW9wZW4zIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlLXBhdGggXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWNwYW4gXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWxvYWQgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtdGVtcCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXBvZC1tYW4gXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWpzb24tcHAgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLXBsdWdnYWJsZS1wZXJsXzUuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLXBsdWdnYWJsZS1wZXJsXzUuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NmNhYzUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1vZHVsZS9saWJtb2R1bGUtcGx1Z2dhYmxlLXBlcmxfNS4yLmJiCkBAIC0wLDAgKzEsMzkgQEAKK1NVTU1BUlkgPSAiQXV0b21hdGljYWxseSBnaXZlIHlvdXIgbW9kdWxlIHRoZSBhYmlsaXR5IHRvIGhhdmUgcGx1Z2lucyIKK0RFU0NSSVBUSU9OID0gIlByb3ZpZGVzIGEgc2ltcGxlIGJ1dCwgaG9wZWZ1bGx5LCBleHRlbnNpYmxlIHdheSBvZiBcCitoYXZpbmcgJ3BsdWdpbnMnIGZvciB5b3VyIG1vZHVsZS4gT2J2aW91c2x5IHRoaXMgaXNuJ3QgZ29pbmcgdG8gYmUgdGhlIFwKK2JlIGFsbCBhbmQgZW5kIGFsbCBvZiBzb2x1dGlvbnMgYnV0IGl0IHdvcmtzIGZvciBtZS5cCitcCitFc3NlbnRpYWxseSBhbGwgaXQgZG9lcyBpcyBleHBvcnQgYSBtZXRob2QgaW50byB5b3VyIG5hbWVzcGFjZSB0aGF0IFwKK2xvb2tzIHRocm91Z2ggYSBzZWFyY2ggcGF0aCBmb3IgLnBtIGZpbGVzIGFuZCB0dXJuIHRob3NlIGludG8gY2xhc3MgXAorbmFtZXMuXAorXAorT3B0aW9uYWxseSBpdCBpbnN0YW50aWF0ZXMgdGhvc2UgY2xhc3NlcyBmb3IgeW91LiIKK1NFQ1RJT04gPSAibGlicyIKKworQVVUSE9SID0gIlNpbW9uIFdpc3RvdyA8c2ltb25AdGhlZ2VzdGFsdC5vcmc+IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3NpbW9ud2lzdG93L01vZHVsZS1QbHVnZ2FibGUiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTMyMjtlbmRsaW5lPTMyNTttZDU9MDg2NDUwY2UwMTBmNmZkYTI1ZGIwYjM4ZmNjNDEwODYiCisKK1NSQ05BTUUgPSAiTW9kdWxlLVBsdWdnYWJsZSIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL21vdG8tdGltby8ke1NSQ05BTUV9L2FyY2hpdmUvJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImUzMjQ3NWQ2ZmY1ODQzZjczOGNlZGFjZDNiN2EyY2RiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU4YzYyMjkyZWVhNmQwNjk1OWViYTFiOTc1OTg2NTA4MTMyMTEyNjU0MDMyNDJkNTdlZmIyZjYwNWM5NjA1OWYiCisKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUkRFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLWJhc2UgXAorCQkgICBwZXJsLW1vZHVsZS1kZXByZWNhdGUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgXAorCQkgICBwZXJsLW1vZHVsZS1maWxlLWZpbmQgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWZpbGUtc3BlYyBcCisJCSAgIHBlcmwtbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMgXAorCQkgICBwZXJsLW1vZHVsZS1pZiBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLXJ1bnRpbWUtcGVybF8wLjAxNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb2R1bGUvbGlibW9kdWxlLXJ1bnRpbWUtcGVybF8wLjAxNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTI4NDJjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1vZHVsZS9saWJtb2R1bGUtcnVudGltZS1wZXJsXzAuMDE1LmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiTW9kdWxlOjpSdW50aW1lIC0gcnVudGltZSBtb2R1bGUgaGFuZGxpbmciCitERVNDUklQVElPTiA9ICJUaGUgZnVuY3Rpb25zIGV4cG9ydGVkIGJ5IHRoaXMgbW9kdWxlIGRlYWwgd2l0aCBydW50aW1lIFwKK2hhbmRsaW5nIG9mIFBlcmwgbW9kdWxlcywgd2hpY2ggYXJlIG5vcm1hbGx5IGhhbmRsZWQgYXQgY29tcGlsZSB0aW1lLiBUaGlzIFwKK21vZHVsZSBhdm9pZHMgdXNpbmcgYW55IG90aGVyIG1vZHVsZXMsIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgaW4gbG93LWxldmVsIFwKK2luZnJhc3RydWN0dXJlLiBcCitUaGUgcGFydHMgb2YgdGhpcyBtb2R1bGUgdGhhdCB3b3JrIHdpdGggbW9kdWxlIG5hbWVzIGFwcGx5IHRoZSBzYW1lIHN5bnRheCBcCit0aGF0IGlzIHVzZWQgZm9yIGJhcmV3b3JkcyBpbiBQZXJsIHNvdXJjZS4gSW4gcHJpbmNpcGxlIHRoaXMgc3ludGF4IGNhbiB2YXJ5IFwKK2JldHdlZW4gdmVyc2lvbnMgb2YgUGVybCwgYW5kIHRoaXMgbW9kdWxlIGFwcGxpZXMgdGhlIHN5bnRheCBvZiB0aGUgUGVybCBvbiBcCit3aGljaCBpdCBpcyBydW5uaW5nLiBJbiBwcmFjdGljZSB0aGUgdXNhYmxlIHN5bnRheCBoYXNuJ3QgY2hhbmdlZCB5ZXQsIGJ1dCBcCit0aGVyZSdzIGEgZ29vZCBjaGFuY2Ugb2YgaXQgY2hhbmdpbmcgaW4gUGVybCA1LjE4LiBcCitUaGUgZnVuY3Rpb25zIG9mIHRoaXMgbW9kdWxlIHdob3NlIHB1cnBvc2UgaXMgdG8gbG9hZCBtb2R1bGVzIGluY2x1ZGUgXAord29ya2Fyb3VuZHMgZm9yIHRocmVlIG9sZCBQZXJsIGNvcmUgYnVncyByZWdhcmRpbmcgcmVxdWlyZS4gVGhlc2Ugd29ya2Fyb3VuZHMgXAorYXJlIGFwcGxpZWQgb24gYW55IFBlcmwgdmVyc2lvbiB3aGVyZSB0aGUgYnVncyBleGlzdCwgZXhjZXB0IGZvciBhIGNhc2Ugd2hlcmUgXAorb25lIG9mIHRoZSBidWdzIGNhbm5vdCBiZSBhZGVxdWF0ZWx5IHdvcmtlZCBhcm91bmQgaW4gcHVyZSBQZXJsLiIKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9+emVmcmFtL01vZHVsZS1SdW50aW1lLyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9NDU7ZW5kbGluZT00NjttZDU9NjJlMjRhOTMzNDJmZWRlNzIyMWQ2NjMzNWM3MTZmMzQiCisKK1NSQ05BTUUgPSAibW9kdWxlLXJ1bnRpbWUiCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9tb3RvLXRpbW8vJHtTUkNOQU1FfS9hcmNoaXZlLyR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZDZjYTE3OWM5NzhhYTAyYWM4YWEyOTI0NGVmOWJlYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1OWVmZmE4MmIzZjY5ODZkMjhkZTYxNTRhOGYyNDI4MTU3NjkxMDA0ZDk1MWY5MzZhODFlODUxZjRkYmNiMDQ1IgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS10ZXN0LW1vcmUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXN0cmljdCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm1vby9saWJtb28tcGVybF8yLjAwMDAwMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb28vbGlibW9vLXBlcmxfMi4wMDAwMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmUxMTlmYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJtb28vbGlibW9vLXBlcmxfMi4wMDAwMDIuYmIKQEAgLTAsMCArMSw0NCBAQAorU1VNTUFSWSA9ICJNb28gLSBNaW5pbWFsaXN0IE9iamVjdCBPcmllbnRhdGlvbiAod2l0aCBNb29zZSBjb21wYXRpYmlsaXR5KSIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIHVzIGFuIGV4dHJlbWVseSBsaWdodC13ZWlnaHQgc3Vic2V0IG9mIFwiTW9vc2VcIiBcCitvcHRpbWlzZWQgZm9yIHJhcGlkIHN0YXJ0dXAgYW5kIFwicGF5IG9ubHkgZm9yIHdoYXQgeW91IHVzZVwiLiIKKworU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vbWV0YXBhbi5vcmcvcmVsZWFzZS9Nb28vIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT02ODg7ZW5kbGluZT03MzM7bWQ1PTI3ZWZlZGQxNzVlZWFkZGJkMThmNGUzNTcyYmQ3MmE4IgorCitTUkNfVVJJID0gIiR7Q1BBTl9NSVJST1J9L2F1dGhvcnMvaWQvSC9IQS9IQUFSRy9Nb28tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjhiODRhNzI4OWZjNjI0N2RlNWVjNWQxNTExMDVmZDZiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZiNGJmYTc1MWYwZGQwNmJkNzBmMmUwNmU4MTFmODVhNjQwNTAxZjI2M2MyMjhhOGVmYWZiZjZiMjY2OTFmZDQiCisKK1MgPSAiJHtXT1JLRElSfS9Nb28tJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSA9ICIgbGliY2xhc3MtbWV0aG9kLW1vZGlmaWVycy1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBsaWJkZXZlbC1nbG9iYWxkZXN0cnVjdGlvbi1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBsaWJtb2R1bGUtcnVudGltZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICBsaWJyb2xlLXRpbnktcGVybCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtY29uc3RhbnQgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1tcm8gXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXNjYWxhci11dGlsIFwKKyIKKworUlBST1ZJREVTXyR7UE59ID0gIiBsaWJtZXRob2QtaW5saW5lci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlibWV0aG9kLWdlbmVyYXRlLWFjY2Vzc29yLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJtZXRob2QtZ2VuZXJhdGUtYnVpbGRhbGwtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYm1ldGhvZC1nZW5lcmF0ZS1jb25zdHJ1Y3Rvci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlibWV0aG9kLWdlbmVyYXRlLWRlbW9saXNoYWxsLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJtb28tcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYm1vby1oYW5kbGVtb29zZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlibW9vLWhhbmRsZW1vb3NlLWZha2VtZXRhY2xhc3MtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYm1vby1vYmplY3QtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYm1vby1yb2xlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJzdWItZGVmZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnN1Yi1xdW90ZS1wZXJsIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2ZpbGVzLzAwMDEtbGlibmV0LXNzbGVheS1wZXJsLURpc2FibGUtdGVzdC10aGF0LWZhaWxzLXdpdGgtb3Blbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvZmlsZXMvMDAwMS1saWJuZXQtc3NsZWF5LXBlcmwtRGlzYWJsZS10ZXN0LXRoYXQtZmFpbHMtd2l0aC1vcGVuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5M2VlMTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2ZpbGVzLzAwMDEtbGlibmV0LXNzbGVheS1wZXJsLURpc2FibGUtdGVzdC10aGF0LWZhaWxzLXdpdGgtb3Blbi5wYXRjaApAQCAtMCwwICsxLDcwIEBACitGcm9tIGU3YTJkM2E1N2ZkNTFmMGQ0ZDViM2ZjYjY2NjliMTg3NmQ0YjE4ZDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDEwIE5vdiAyMDE1IDAxOjIzOjE4IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBsaWJuZXQtc3NsZWF5LXBlcmw6IERpc2FibGUgdGVzdCB0aGF0IGZhaWxzIHdpdGgKKyBvcGVuc3NsLTEuMC4yYiBvciBhYm92ZQorCitSdW4gdGVzdHN1aXRzOgordC9sb2NhbC8zM194NTA5X2NyZWF0ZV9jZXJ0Li4uLi4uLi4uLi4uTk9LIDM5LzEyMworbm90IG9rIDM5IC0gUEVNX2dldF9zdHJpbmdfUHJpdmF0ZUtleStwYXNzd2QrZW5jX2FsZworfCAgIEZhaWxlZCB0ZXN0ICdQRU1fZ2V0X3N0cmluZ19Qcml2YXRlS2V5K3Bhc3N3ZCtlbmNfYWxnJworfCAgIGF0IHQvbG9jYWwvMzNfeDUwOV9jcmVhdGVfY2VydC50IGxpbmUgMTA0LgorfCAgICAgICAgICAgICAgICAgICB1bmRlZgorfCAgICAgZG9lc24ndCBtYXRjaCAnKD9eOi0tLS0tQkVHSU4gKEVOQ1JZUFRFRHxSU0EpIFBSSVZBVEUgS0VZLS0tLS0pJworCitUaGlzIGlzIGR1ZSB0byB0aGUgZm9sbG93aW5nIGNoYW5nZSBpbiBPcGVuU1NMOgorKGdpdDovL2dpdC5vcGVuc3NsLm9yZy9vcGVuc3NsLmdpdCkKKy4uLi4uLgorNGQ5ZGMwYzI2OWJlODdiOTJkYTE4OGRmMWZiZDhiZmVlNDcwMGViMyBpcyB0aGUgZmlyc3QgYmFkIGNvbW1pdAorY29tbWl0IDRkOWRjMGMyNjliZTg3YjkyZGExODhkZjFmYmQ4YmZlZTQ3MDBlYjMKK0F1dGhvcjogRHIuIFN0ZXBoZW4gSGVuc29uIDxzdGV2ZUBvcGVuc3NsLm9yZz4KK0RhdGU6IFRodSBNYXkgMjggMTU6NDQ6MjAgMjAxNSArMDEwMAorCitjaGVjayBmb3IgZXJyb3Igd2hlbiBjcmVhdGluZyBQS0NTIzggc3RydWN0dXJlCisKK1Jldmlld2VkLWJ5OiBSaWNoIFNhbHogPHJzYWx6QG9wZW5zc2wub3JnPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjg0OTcwN2ZhNjVkMjgwM2U2ZDFjMTYwM2ZkZDNmZDFmZGM0YzZjYykKKy4uLi4uLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IGZyb20gdXBzdHJlYW0gbGF0ZXN0IDEuNzI6CitodHRwOi8vd3d3LmNwYW4ub3JnL2F1dGhvcnMvaWQvTS9NSS9NSUtFTS9OZXQtU1NMZWF5LTEuNzIudGFyLmd6CisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIHQvbG9jYWwvMzNfeDUwOV9jcmVhdGVfY2VydC50IHwgMTMgKysrKysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90L2xvY2FsLzMzX3g1MDlfY3JlYXRlX2NlcnQudCBiL3QvbG9jYWwvMzNfeDUwOV9jcmVhdGVfY2VydC50CitpbmRleCAyZjJjMDEzLi4zZTY1M2NlIDEwMDc1NQorLS0tIGEvdC9sb2NhbC8zM194NTA5X2NyZWF0ZV9jZXJ0LnQKKysrKyBiL3QvbG9jYWwvMzNfeDUwOV9jcmVhdGVfY2VydC50CitAQCAtMiw3ICsyLDcgQEAKKyAKKyB1c2Ugc3RyaWN0OworIHVzZSB3YXJuaW5nczsKKy11c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAxMjM7CisrdXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMTIxOworIHVzZSBOZXQ6OlNTTGVheSBxdy9NQlNUUklOR19BU0MgTUJTVFJJTkdfVVRGOCBFVlBfUEtfUlNBIEVWUF9QS1RfU0lHTiBFVlBfUEtUX0VOQy87CisgdXNlIEZpbGU6OlNwZWM7CisgdXNlIHV0Zjg7CitAQCAtOTksMTAgKzk5LDEzIEBAIGlzKE5ldDo6U1NMZWF5OjpYNTA5X05BTUVfY21wKCRjYV9pc3N1ZXIsICRjYV9zdWJqZWN0KSwgMCwgIlg1MDlfTkFNRV9jbXAiKTsKKyAgIH0KKyAgIG9rKG15ICRhbGcxID0gTmV0OjpTU0xlYXk6OkVWUF9nZXRfY2lwaGVyYnluYW1lKCJERVMtRURFMy1DQkMiKSwgIkVWUF9nZXRfY2lwaGVyYnluYW1lIik7CisgICBsaWtlKG15ICRrZXlfcGVtMyA9IE5ldDo6U1NMZWF5OjpQRU1fZ2V0X3N0cmluZ19Qcml2YXRlS2V5KCRwaywicGFzc3dvcmQiLCRhbGcxKSwgcXIvLS0tLS1CRUdJTiAoRU5DUllQVEVEfFJTQSkgUFJJVkFURSBLRVktLS0tLS8sICJQRU1fZ2V0X3N0cmluZ19Qcml2YXRlS2V5K3Bhc3N3ZCtlbmNfYWxnIik7CistICAKKy0gIG9rKG15ICRhbGcyID0gTmV0OjpTU0xlYXk6OkVWUF9nZXRfY2lwaGVyYnluYW1lKCJERVMtRURFMy1PRkIiKSwgIkVWUF9nZXRfY2lwaGVyYnluYW1lIik7CistICBsaWtlKG15ICRrZXlfcGVtNCA9IE5ldDo6U1NMZWF5OjpQRU1fZ2V0X3N0cmluZ19Qcml2YXRlS2V5KCRwaywicGFzc3dvcmQiLCRhbGcyKSwgcXIvLS0tLS1CRUdJTiAoRU5DUllQVEVEfFJTQSkgUFJJVkFURSBLRVktLS0tLS8sICJQRU1fZ2V0X3N0cmluZ19Qcml2YXRlS2V5K3Bhc3N3ZCtlbmNfYWxnIik7CistICAKKysKKysjIERFUy1FREUzLU9GQiBoYXMgbm8gQVNOMSBzdXBwb3J0LCBkZXRlY3RlZCBieSBjaGFuZ2VzIHRvIGRvX3BrOHBrZXkgYXMgb2Ygb3BlbnNzbCAxLjAuMW4KKysjIGh0dHBzOi8vZ2l0Lm9wZW5zc2wub3JnLz9wPW9wZW5zc2wuZ2l0O2E9Y29tbWl0O2g9NGQ5ZGMwYzI2OWJlODdiOTJkYTE4OGRmMWZiZDhiZmVlNDcwMGViMworKyMgdGhpcyB0ZXN0IG5vdyBmYWlscworKyMgIG9rKG15ICRhbGcyID0gTmV0OjpTU0xlYXk6OkVWUF9nZXRfY2lwaGVyYnluYW1lKCJERVMtRURFMy1PRkIiKSwgIkVWUF9nZXRfY2lwaGVyYnluYW1lIik7CisrIyAgbGlrZShteSAka2V5X3BlbTQgPSBOZXQ6OlNTTGVheTo6UEVNX2dldF9zdHJpbmdfUHJpdmF0ZUtleSgkcGssInBhc3N3b3JkIiwkYWxnMiksIHFyLy0tLS0tQkVHSU4gKEVOQ1JZUFRFRHxSU0EpIFBSSVZBVEUgS0VZLS0tLS0vLCAiUEVNX2dldF9zdHJpbmdfUHJpdmF0ZUtleStwYXNzd2QrZW5jX2FsZyIpOworKworICAgaXMoTmV0OjpTU0xlYXk6Olg1MDlfTkFNRV9wcmludF9leCgkbmFtZSksICJPPUNvbXBhbnkgTmFtZSxDPVVLLENOPUNvbW1vbiBuYW1lIHRleHQgWDUwOSIsICJYNTA5X05BTUVfcHJpbnRfZXgiKTsgIAorIAorICAgIyAyMDE0LTA2LTA2OiBTaWdoLCBzb21lIHZlcnNpb25zIG9mIG9wZW5zc2wgaGF2ZSB0aGlzIHBhdGNoLCB3aGljaCBhZmZmZWN0cyB0aGUgcmVzdWx0cyBvZiB0aGlzIHRlc3Q6CistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvZmlsZXMvMDAwMi1SZWNlbnQtMS4wLjItYmV0YXMtaGF2ZS1kcm9wcGVkLXRoZS1TU0x2M19tZXRob2QtZnVuLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9maWxlcy8wMDAyLVJlY2VudC0xLjAuMi1iZXRhcy1oYXZlLWRyb3BwZWQtdGhlLVNTTHYzX21ldGhvZC1mdW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM2NTBiOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvZmlsZXMvMDAwMi1SZWNlbnQtMS4wLjItYmV0YXMtaGF2ZS1kcm9wcGVkLXRoZS1TU0x2M19tZXRob2QtZnVuLnBhdGNoCkBAIC0wLDAgKzEsNzUgQEAKK0Zyb20gZDk0ZjJkM2Y5NmRiNTI5MzgzYjIyZjJkYzI5NDg0NzE5MGQxYmZiZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMTAgTm92IDIwMTUgMDI6MTE6MzAgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIFJlY2VudCAxLjAuMiBiZXRhcyBoYXZlIGRyb3BwZWQgdGhlIFNTTHYzX21ldGhvZAorIGZ1bmN0aW9uLiBUaGlzIHBhdGNoIGxlYXZlcyBvdXQgdGhlIGZ1bmN0aW9uIG9uIG5ld2VyIHZlcnNpb25zLCBtdWNoIHRoZSBzYW1lCisgYXMgdGhlIFNTTHYyIGRlcHJlY2F0aW9uIGlzIGhhbmRsZWQuIEl0IGFsc28gZml4ZXMgdGhlIEFMUE4gdGVzdCwgd2hpY2ggd2FzCisgaW5jb3JyZWN0bHkgZmFpbGluZyBvbiBPcGVuU1NMIGR1ZSB0byB0aGUgTGlicmVTU0wgY2hlY2sgKGVhcmxpZXIgdmVyc2lvbnMKKyBiYWlsZWQgb3V0IGJlZm9yZSB0aGF0IGxpbmUpLiBTaWduZWQtb2ZmLWJ5OiBQYXRjaCBmcm9tIFRvbSBNb2xlc3dvcnRoCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgZnJvbSB1cHN0cmVhbSAxLjY3CitodHRwOi8vd3d3LmNwYW4ub3JnL2F1dGhvcnMvaWQvTS9NSS9NSUtFTS9OZXQtU1NMZWF5LTEuNjcudGFyLmd6CitodHRwczovL3J0LmNwYW4ub3JnL1B1YmxpYy9CdWcvRGlzcGxheS5odG1sP2lkPTEwMTQ4NAorCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBTU0xlYXkueHMgICAgICAgICAgICAgICAgIHwgMTIgKysrKysrKysrKysrCisgdC9sb2NhbC80MV9hbHBuX3N1cHBvcnQudCB8ICAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9TU0xlYXkueHMgYi9TU0xlYXkueHMKK2luZGV4IGMzMTM5NmQuLjFmZDRmYWIgMTAwNjQ0CistLS0gYS9TU0xlYXkueHMKKysrKyBiL1NTTGVheS54cworQEAgLTE0MDksNiArMTQwOSw5IEBAIFNTTF9DVFhfdjJfbmV3KCkKKyAjZW5kaWYKKyAjZW5kaWYKKyAKKysjaWZuZGVmIE9QRU5TU0xfTk9fU1NMMworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDAwMjAwMEwKKysKKyBTU0xfQ1RYICoKKyBTU0xfQ1RYX3YzX25ldygpCisgICAgICBDT0RFOgorQEAgLTE0MTYsNiArMTQxOSw5IEBAIFNTTF9DVFhfdjNfbmV3KCkKKyAgICAgIE9VVFBVVDoKKyAgICAgIFJFVFZBTAorIAorKyNlbmRpZgorKyNlbmRpZgorKworIFNTTF9DVFggKgorIFNTTF9DVFhfdjIzX25ldygpCisgICAgICBDT0RFOgorQEAgLTM3NTgsOSArMzc2NCwxNSBAQCBTU0x2Ml9tZXRob2QoKQorICNlbmRpZgorICNlbmRpZgorIAorKyNpZm5kZWYgT1BFTlNTTF9OT19TU0wzCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMDAyMDAwTAorKworIGNvbnN0IFNTTF9NRVRIT0QgKgorIFNTTHYzX21ldGhvZCgpCisgCisrI2VuZGlmCisrI2VuZGlmCisrCisgY29uc3QgU1NMX01FVEhPRCAqCisgVExTdjFfbWV0aG9kKCkKKyAKK2RpZmYgLS1naXQgYS90L2xvY2FsLzQxX2FscG5fc3VwcG9ydC50IGIvdC9sb2NhbC80MV9hbHBuX3N1cHBvcnQudAoraW5kZXggYmE5ODRiNS4uODdhMDIxNCAxMDA2NDQKKy0tLSBhL3QvbG9jYWwvNDFfYWxwbl9zdXBwb3J0LnQKKysrKyBiL3QvbG9jYWwvNDFfYWxwbl9zdXBwb3J0LnQKK0BAIC0xMSw3ICsxMSw3IEBAIHVzZSBDb25maWc7CisgCisgQkVHSU4geworICAgcGxhbiBza2lwX2FsbCA9PiAib3BlbnNzbCAxLjAuMiByZXF1aXJlZCIgdW5sZXNzIE5ldDo6U1NMZWF5OjpTU0xlYXkgPj0gMHgxMDAwMjAwMDsKKy0gIHBsYW4gc2tpcF9hbGwgPT4gImxpYnJlc3NsIG5vdCBzdXBwb3J0ZWQiIGlmICZOZXQ6OlNTTGVheTo6TElCUkVTU0xfVkVSU0lPTl9OVU1CRVI7CisrICBwbGFuIHNraXBfYWxsID0+ICJsaWJyZXNzbCBub3Qgc3VwcG9ydGVkIiBpZiBkZWZpbmVkICZOZXQ6OlNTTGVheTo6TElCUkVTU0xfVkVSU0lPTl9OVU1CRVI7CisgICBwbGFuIHNraXBfYWxsID0+ICJmb3JrKCkgbm90IHN1cHBvcnRlZCBvbiAkXk8iIHVubGVzcyAkQ29uZmlne2RfZm9ya307CisgfQorIAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2ZpbGVzL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvZmlsZXMvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ZjljYTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2ZpbGVzL3J1bi1wdGVzdApAQCAtMCwwICsxLDE2IEBACisjIS9iaW4vc2gKKworZm9yIGNhc2UgaW4gYGZpbmQgdCAtdHlwZSBmIC1uYW1lICcqLnQnYDsgZG8KKyAgICBwZXJsICRjYXNlID4kY2FzZS5vdXRwdXQgMj4mMQorICAgIHJldD0kPworICAgIGNhdCAkY2FzZS5vdXRwdXQKKyAgICBpZiBbICRyZXQgLW5lIDAgXTsgdGhlbgorICAgICAgICBlY2hvICJGQUlMOiAke2Nhc2UlLnR9IgorICAgIGVsaWYgZ3JlcCAtaSAnU0tJUCcgJGNhc2Uub3V0cHV0OyB0aGVuCisgICAgICAgIGVjaG8gIlNLSVA6ICR7Y2FzZSUudH0iCisgICAgZWxzZQorICAgICAgICBlY2hvICJQQVNTOiAke2Nhc2UlLnR9IgorICAgIGZpCisKKyAgICBybSAtZiAkY2FzZS5vdXRwdXQKK2RvbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvbGlibmV0LWRucy1wZXJsXzAuODEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8wLjgxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkYzQyNjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8wLjgxLmJiCkBAIC0wLDAgKzEsMjUgQEAKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgRE5TLnBtIG1vZHVsZSB3aXRoIGZyaWVuZHMuIgorCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7bWQ1PTUyNGRhOTZhMzM2NWYyY2FmZjczZmVhMGFlNjdjM2EwIgorCitERVBFTkRTICs9ICJwZXJsIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL04vTkwvTkxORVRMQUJTL05ldC1ETlMtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjYzNzVkNDMxMGJlYjEwOGIwZTJiM2JmMzA0MDNlZTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjM2YzhlYWQ2ZWRmNjhkYTVkOWRlMmIwYTIyYTQ3ZDcyMTZlMmQ3ZWI1MmM4Y2RlOTY3MjQ5ODhmNjhhNmQ0NiIKKworUyA9ICIke1dPUktESVJ9L05ldC1ETlMtJHtQVn0iCisKK0VYVFJBX0NQQU5GTEFHUyA9ICJFWFBBVExJQlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0gRVhQQVRJTkNQQVRIPSR7U1RBR0lOR19JTkNESVJ9IgorCitpbmhlcml0IGNwYW4KKworZG9fY29tcGlsZSgpIHsKKwlleHBvcnQgTElCQz0iJChmaW5kICR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfS8gLW5hbWUgJ2xpYmMtKi5zbycpIgorCWNwYW5fZG9fY29tcGlsZQorfQorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1saWJpZG4tcGVybC0wLjEyL2xpYmlkbi13ci1jcm9zcy1jb21waWxlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtbGliaWRuLXBlcmwtMC4xMi9saWJpZG4td3ItY3Jvc3MtY29tcGlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzljYWEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtbGliaWRuLXBlcmwtMC4xMi9saWJpZG4td3ItY3Jvc3MtY29tcGlsZS5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitwZXJsLU5ldC1MaWJJRE46IGNyb3NzLWNvbXBpbGUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0FkZCBzdXBwb3J0IGZvciBjcm9zcy1jb21waWxlIGFsbG93aW5nIHRoZSBjb21waWxlciBiaW5hcnkgdG8gYmUKK3NwZWNpZmllZCBpbnRvIHRoZSBwZXJsIE1ha2VmaWxlIGluc3RlYWQgb2YgdXNpbmcgdGhlIGRlZmF1bHQgJ2djYycuCisKK1NpZ25lZC1vZmYtYnk6IEdyZWcgTW9mZmF0dCA8Z3JlZy5tb2ZmYXR0QHdpbmRyaXZlci5jb20+CistLS0KKworLS0tIHBlcmwtTmV0LUxpYklETi0wLjEyLm9yaWcvTWFrZWZpbGUuUEwJMjAwOS0wMi0yNiAwNzowOTo0NS4wMDAwMDAwMDAgLTA1MDAKKysrKyBwZXJsLU5ldC1MaWJJRE4tMC4xMi9NYWtlZmlsZS5QTAkyMDEwLTEwLTE5IDA5OjM0OjIyLjgxMTE3Mzk2NSAtMDQwMAorQEAgLTksNiArOSw3IEBACisgbXkgJG9wdGlvbnM7CisgbXkgJHRlc3Rubz0xOworIG15ICVNYWtlUGFyYW1zID0gSW5pdE1ha2VQYXJhbXMoKTsKKytteSAkY29tcGlsZXI7CisgCisgV3JpdGVNYWtlZmlsZSglTWFrZVBhcmFtcyk7CisgCitAQCAtNDQsNyArNDUsOCBAQAorIAkoCisgCQkid2l0aC1saWJpZG49cyIgPT4gXCRsaWJkaXIsCisgCQkid2l0aC1saWJpZG4taW5jPXMiID0+IFwkaW5jZGlyLAorLQkJImRpc2FibGUtdGxkIiA9PiBcJGRpc2FibGVfdGxkCisrCQkiZGlzYWJsZS10bGQiID0+IFwkZGlzYWJsZV90bGQsCisrCQkiY29tcGlsZXI9cyIgPT4gXCRjb21waWxlcgorIAkpOworIAorIAlpZiAoJGxpYmRpcikKK0BAIC0xNjUsMTIgKzE2NywxNyBAQAorIAkJcmV0dXJuIDA7CisgCX0KKyAKKy0JZm9yZWFjaCBteSAkY2MgKHF3L2NjIGdjYy8pCisrCWZvcmVhY2ggbXkgJGNjICgkY29tcGlsZXIsIHF3L2NjIGdjYy8pCisgCXsKKyAJCXVubGluaygkdGVzdCk7CisgCQlzeXN0ZW0gIiRjYyAkY2ZsYWdzIC1vICR0ZXN0ICR0ZXN0LmMgJGxkZmxhZ3MiOworIAkJbmV4dCBpZiAoJD8gPj4gOCk7CisgCisrCQlpZiAoJGNvbXBpbGVyID09ICRjYykKKysJCXsKKysJCQlyZXR1cm4gMTsKKysJCX0KKysKKyAJCWlmIChvcGVuKEZJTEUsICIuLyR0ZXN0fCIpKQorIAkJeworIAkJCW15ICRtYXRjaDsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJuZXQvbGlibmV0LWxpYmlkbi1wZXJsXzAuMTIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1saWJpZG4tcGVybF8wLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkM2ZmOGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1saWJpZG4tcGVybF8wLjEyLmJiCkBAIC0wLDAgKzEsMzQgQEAKK1NVTU1BUlkgPSAiTmV0OjpMaWJJRE4gLSBQZXJsIGJpbmRpbmdzIGZvciBHTlUgTGliaWRuIgorREVTQ1JJUFRJT04gPSAiXAorUHJvdmlkZXMgYmluZGluZ3MgZm9yIEdOVSBMaWJpZG4sIGEgQyBsaWJyYXJ5IGZvciBoYW5kbGluZyBJbnRlcm5hdGlvbmFsaXplZCBcCitEb21haW4gTmFtZXMgYWNjb3JkaW5nIHRvIElETkEgKFJGQyAzNDkwKSwgaW4gYSB3YXkgdmVyeSBtdWNoIGluc3BpcmVkIGJ5IFwKK1R1cmJvIEZyZWRyaWtzc29uJ3MgUEhQLUlETi4gXAorIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEx2MSsiCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvTmV0LUxpYklETi8iCitERVBFTkRTICs9ICJsaWJpZG4iCisjIFdlIG11c3QgbmVlZCBnbGliYy1nY29udnMgdG8gZW5hYmxlIGNoYXJzZXQgcmVsYXRlZCBmdW5jdGlvbnMsCisjIHN1Y2ggYXMgTmV0OjpMaWJJRE46Omlkbl90b19hc2NpaSgpLgorUkRFUEVORFNfJHtQTn0gKz0gImdsaWJjLWdjb252cyIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9UL1RIL1RIT1IvTmV0LUxpYklETi0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYzNlNGRlMjA2NTAwOWQ2N2JjYjFkZjBhZmI0NzNlMTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmY4YWNjOTQ0MmIzODY2ZWM3ZGM2M2NkNDQ5ZmM2OTNhZTNlOTMwZDVkM2U1ZTk0MzBmYmI2ZjM5M2JkYmIxNyIKKworU1JDX1VSSSArPSAiZmlsZTovL2xpYmlkbi13ci1jcm9zcy1jb21waWxlLnBhdGNoIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTQyO2VuZGxpbmU9OTI7bWQ1PTMzNzRlYTAzNjljYTNlYWQ2MDQ3NTIwNDc3YTQzMTQ3IgorCitTID0gIiR7V09SS0RJUn0vTmV0LUxpYklETi0ke1BWfSIKKworRVhUUkFfQ1BBTkZMQUdTID0gIi0td2l0aC1saWJpZG49JHtTVEFHSU5HX0xJQkRJUn0gLS13aXRoLWxpYmlkbi1pbmM9JHtTVEFHSU5HX0lOQ0RJUn0gLS1jb21waWxlcj0nJHtDQ30nIgorRVhUUkFfQ1BBTkZMQUdTICs9ICItLWRpc2FibGUtdGxkIgorCitpbmhlcml0IGNwYW4KKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGVybC92ZW5kb3JfcGVybC8qL2F1dG8vTmV0L0xpYklETi8uZGVidWcvIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKwlybSAtcmYgJHtTfS8ucGMvCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1zc2xlYXktcGVybF8xLjY1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtc3NsZWF5LXBlcmxfMS42NS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmQ2ZjUxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtc3NsZWF5LXBlcmxfMS42NS5iYgpAQCAtMCwwICsxLDUxIEBACitTVU1NQVJZID0gIk5ldDo6U1NMZWF5IC0gUGVybCBleHRlbnNpb24gZm9yIHVzaW5nIE9wZW5TU0wiCitERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBvZmZlcnMgc29tZSBoaWdoIGxldmVsIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyBmb3IgYWNjZXNzaW5nIFwKK3dlYiBwYWdlcyBvbiBTU0wgc2VydmVycyAoZm9yIHN5bW1ldHJ5LCBzYW1lIEFQSSBpcyBvZmZlcmVkIGZvciBcCithY2Nlc3NpbmcgaHR0cCBzZXJ2ZXJzLCB0b28pLCBhIHNzbGNhdCgpIGZ1bmN0aW9uIGZvciB3cml0aW5nIHlvdXIgb3duIFwKK2NsaWVudHMsIGFuZCBmaW5hbGx5IGFjY2VzcyB0byB0aGUgU1NMIGFwaSBvZiBTU0xlYXkvT3BlblNTTCBwYWNrYWdlIFwKK3NvIHlvdSBjYW4gd3JpdGUgc2VydmVycyBvciBjbGllbnRzIGZvciBtb3JlIGNvbXBsaWNhdGVkIGFwcGxpY2F0aW9ucy4iCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvTmV0LVNTTGVheS8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiT3BlblNTTCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9Mjc0O2VuZGxpbmU9Mjk0O21kNT00OWY0MTU5ODRiMzg3YmU5OTllZTJhZDBlNWM2OTJmZSIKKworREVQRU5EUyA9ICJvcGVuc3NsIHpsaWIiCitSREVQRU5EU18ke1BOfSArPSAicGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXJybm8gXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXNvY2tldCBcCisgICAgICAgICAgICAgICAgICAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvTS9NSS9NSUtFTS9OZXQtU1NMZWF5LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxpYm5ldC1zc2xlYXktcGVybC1EaXNhYmxlLXRlc3QtdGhhdC1mYWlscy13aXRoLW9wZW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1SZWNlbnQtMS4wLjItYmV0YXMtaGF2ZS1kcm9wcGVkLXRoZS1TU0x2M19tZXRob2QtZnVuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjE5NjAwYzAzNmU5ZTBiYmZiZjkxNTdmMDgzZTQwNzU1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJmYjEzNzExMjBiODVmMDE4OTQ0ZDk1NzM2YzEwNzE2M2YwNGJhNTZiNjAyOWMwNzA5YTJjM2Q2MjQ3YjljMDYiCisKK1MgPSAiJHtXT1JLRElSfS9OZXQtU1NMZWF5LSR7UFZ9IgorCitpbmhlcml0IGNwYW4gcHRlc3QKKworRVhUUkFfQ1BBTkZMQUdTID0gIkxJQlM9Jy1MPSR7U1RBR0lOR19MSUJESVJ9IC1MPSR7U1RBR0lOR19CQVNFTElCRElSfScgXAorICAgICAgICAgICAgICAgICAgIElOQz0tST0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgICAgJ0VYVFJBTElCUz0tbHNzbCAtbGNyeXB0byAtbHonIFwKKyAgICAgICAgICAgICAgICAgICAnTERMT0FETElCUz0tbHNzbCAtbGNyeXB0byAtbHonIFwKKyAgICAgICAgICAgICAgICAgICIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgZXhwb3J0IE9QRU5TU0xfUFJFRklYPSR7U1RBR0lOR19ESVJfTkFUSVZFfSR7cHJlZml4X25hdGl2ZX0KK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKyAgICBjcCAtciAke0J9L3QgJHtEfSR7UFRFU1RfUEFUSH0KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK0ZJTEVTXyR7UE59LWRiZyA9KyAiJHtsaWJkaXJ9L3BlcmwvdmVuZG9yX3BlcmwvKi9hdXRvL05ldC9TU0xlYXkvLmRlYnVnLyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiIHBlcmwiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlicHJvYy9saWJwcm9jLXdhaXRzdGF0LXBlcmxfMS4wMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJwcm9jL2xpYnByb2Mtd2FpdHN0YXQtcGVybF8xLjAwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1OTllNjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlicHJvYy9saWJwcm9jLXdhaXRzdGF0LXBlcmxfMS4wMC5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIkludGVycHJldCBhbmQgYWN0IG9uIHdhaXQoKSBzdGF0dXMgdmFsdWVzIgorREVTQ1JJUFRJT04gPSAiVGhpcyBtb2R1bGUgY29udGFpbnMgZnVuY3Rpb25zIGZvciBpbnRlcnByZXRpbmcgYW5kIGFjdGluZyBcCitvbiB3YWl0IHN0YXR1cyB2YWx1ZXMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35yb3NjaC9Qcm9jLVdhaXRTdGF0LyIKK1NFQ1RJT04gPSAibGlicmFyaWVzIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMHxHUEx2MSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTIxO2VuZGxpbmU9MjM7bWQ1PWYzNjU1MGY1OWEwYWU1ZTZlM2IwYmU2YTRkYTYwZDI2IgorCitSREVQRU5EU18ke1BOfSArPSAicGVybCBsaWJpcGMtc2lnbmFsLXBlcmwiCisKK1MgPSAiJHtXT1JLRElSfS9Qcm9jLVdhaXRTdGF0LSR7UFZ9IgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1IvUk8vUk9TQ0gvUHJvYy1XYWl0U3RhdC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiOTExYmQ1NzliNmIxNDIzOTFiMjFkZTFlZmEzMGM5NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMDc1NjNmNWU3ODc5MDlkMTZlNzM5MDI0MWU4NzdmNDlhYjczOWIxZGU5ZDBlMmVhMWE0MWJkMGJmNDQ3NGJjIgorCitpbmhlcml0IGNwYW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJyb2xlL2xpYnJvbGUtdGlueS1wZXJsXzIuMDAwMDAxLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnJvbGUvbGlicm9sZS10aW55LXBlcmxfMi4wMDAwMDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDgzNjBjNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJyb2xlL2xpYnJvbGUtdGlueS1wZXJsXzIuMDAwMDAxLmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiUm9sZTo6VGlueSAtIFJvbGVzLiBMaWtlIGEgbm91dmVsbGUgY291c2luZSBwb3J0aW9uIHNpemUgb2YgTW9vc2UuIgorREVTQ1JJUFRJT04gPSAiXCJSb2xlOjpUaW55XCIgaXMgYSBtaW5pbWFsaXN0IHJvbGUgY29tcG9zaXRpb24gdG9vbC4iCisKK1NFQ1RJT04gPSAibGlicyIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly9tZXRhY3Bhbi5vcmcvcG9kL1JvbGU6OlRpbnkiCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTE3MjtlbmRsaW5lPTIwOTttZDU9MjZkZjdlN2MyMDU1MWZiMTkwNmUyMjg2NjI0ZjBiNzEiCisKK1NSQ19VUkkgPSAiJHtDUEFOX01JUlJPUn0vYXV0aG9ycy9pZC9IL0hBL0hBQVJHL1JvbGUtVGlueS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjM1MGYxZjhjMTM2NTJiZjg1ZGExNzIzODBiMzllYzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzE4ODM0MTBhN2M4NWQ2ZGM3NTAxYzcxOGIxZjgzZWRiYTAxM2E3YjliYmNjZjAzMzhhMTAzM2MzOTFmMjk2ZCIKKworUyA9ICIke1dPUktESVJ9L1JvbGUtVGlueS0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK1JERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtc3RyaWN0IFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXN0LW1vcmUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKKyIKKworUlBST1ZJREVTXyR7UE59ID0gIiBsaWJyb2xlLXRpbnktcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnJvbGUtdGlueS13aXRoLXBlcmwgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJzdHJpY3R1cmVzL2xpYnN0cmljdHVyZXMtcGVybF8yLjAwMDAwMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJzdHJpY3R1cmVzL2xpYnN0cmljdHVyZXMtcGVybF8yLjAwMDAwMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMWE2ZTUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnN0cmljdHVyZXMvbGlic3RyaWN0dXJlcy1wZXJsXzIuMDAwMDAyLmJiCkBAIC0wLDAgKzEsNDUgQEAKK1NVTU1BUlkgPSAic3RyaWN0dXJlcyAtIHR1cm4gb24gc3RyaWN0IGFuZCBtYWtlIGFsbCB3YXJuaW5ncyBmYXRhbCIKK0RFU0NSSVBUSU9OID0gIkkndmUgYmVlbiB3cml0aW5nIHRoZSBlcXVpdmFsZW50IG9mIHRoaXMgbW9kdWxlIGF0IHRoZSB0b3AgXAorb2YgbXkgY29kZSBmb3IgYWJvdXQgYSB5ZWFyIG5vdy4gSSBmaWd1cmVkIGl0IHdhcyB0aW1lIHRvIG1ha2UgaXQgc2hvcnRlci4gXAorXAorVGhpbmdzIGxpa2UgdGhlIGltcG9ydGVyIGluIFwidXNlIE1vb3NlXCIgZG9uJ3QgaGVscCBtZSBiZWNhdXNlIHRoZXkgdHVybiBcCit3YXJuaW5ncyBvbiBidXQgZG9uJ3QgbWFrZSB0aGVtIGZhdGFsIC0tIHdoaWNoIGZyb20gbXkgcG9pbnQgb2YgdmlldyBpcyBcCit1c2VsZXNzIGJlY2F1c2UgSSB3YW50IGFuIGV4Y2VwdGlvbiB0byB0ZWxsIG1lIG15IGNvZGUgaXNuJ3Qgd2FybmluZ3MtY2xlYW4uIFwKK1wKK0FueSB0aW1lIEkgc2VlIGEgd2FybmluZyBmcm9tIG15IGNvZGUsIHRoYXQgaW5kaWNhdGVzIGEgbWlzdGFrZS4gXAorXAorQW55IHRpbWUgbXkgY29kZSBlbmNvdW50ZXJzIGEgbWlzdGFrZSwgSSB3YW50IGEgY3Jhc2ggLS0gbm90IHNwZXcgdG8gU1RERVJSIFwKK2FuZCB0aGVuIHVua25vd24gKGFuZCBwcm9iYWJseSB1bmRlc2lyZWQpIHN1YnNlcXVlbnQgYmVoYXZpb3VyLiBcCitcCitJIGFsc28gd2FudCB0byBlbnN1cmUgdGhhdCBvYnZpb3VzIGNvZGluZyBtaXN0YWtlcywgbGlrZSBpbmRpcmVjdCBvYmplY3QgXAorc3ludGF4IChhbmQgbm90IHNvIG9idmlvdXMgbWlzdGFrZXMgdGhhdCBjYXVzZSB0aGluZ3MgdG8gYWNjaWRlbnRhbGx5IGNvbXBpbGUgXAorYXMgc3VjaCkgZ2V0IGNhdWdodCwgYnV0IG5vdCBhdCB0aGUgY29zdCBvZiBhbiBYUyBkZXBlbmRlbmN5IGFuZCBub3QgYXQgdGhlIFwKK2Nvc3Qgb2YgYmxvd2luZyB0aGluZ3MgdXAgb24gYW5vdGhlciBtYWNoaW5lLiBcCitcCitUaGVyZWZvcmUsIFwic3RyaWN0dXJlc1wiIHR1cm5zIG9uIGFkZGl0aW9uYWwgY2hlY2tpbmcsIGJ1dCBvbmx5IHdoZW4gaXQgXAordGhpbmtzIGl0J3MgcnVubmluZyBpbiBhIHRlc3QgZmlsZSBpbiBhIFZDUyBjaGVja291dCAtLSBhbHRob3VnaCBpZiB0aGlzIFwKK2NhdXNlcyB1bmRlc2lyZWQgYmVoYXZpb3VyIHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gYnkgc2V0dGluZyB0aGUgXAorUEVSTF9TVFJJQ1RVUkVTX0VYVFJBIGVudmlyb25tZW50IHZhcmlhYmxlLiIKKworU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwczovL21ldGFjcGFuLm9yZy9wb2Qvc3RyaWN0dXJlcyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MjQ2O2VuZGxpbmU9MjYyO21kNT00M2JlNTU4Y2Y0ZjE5ODIzY2RkNmFmMjIxMzVjZjVmOCIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0gvSEEvSEFBUkcvc3RyaWN0dXJlcy0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZmIxZmFkYTgyNjA5OTJiYzg1ZTEyNmMyMWZmY2M2ZDUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTMwMzU1ZGNiM2FmZDhjM2M4MjEzYzI0YjkyNGU3MWRlYjdlMWUxMTk3ZGE4ZjkwYzVhZTE5MTc2NmFhNDEwMCIKKworUyA9ICIke1dPUktESVJ9L3N0cmljdHVyZXMtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSA9ICIgcGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtc3RyaWN0IFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS10ZXN0LW1vcmUgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKKyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlic3ViL2xpYnN1Yi1leHBvcnRlci1wcm9ncmVzc2l2ZS1wZXJsXzAuMDAxMDExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnN1Yi9saWJzdWItZXhwb3J0ZXItcHJvZ3Jlc3NpdmUtcGVybF8wLjAwMTAxMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmExMzA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnN1Yi9saWJzdWItZXhwb3J0ZXItcHJvZ3Jlc3NpdmUtcGVybF8wLjAwMTAxMS5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIlN1Yjo6RXhwb3J0ZXI6OlByb2dyZXNzaXZlIC0gT25seSB1c2UgU3ViOjpFeHBvcnRlciBpZiB5b3UgbmVlZCBpdC4iCitERVNDUklQVElPTiA9ICJcIlN1Yjo6RXhwb3J0ZXJcIiBpcyBhbiBpbmNyZWRpYmx5IHBvd2VyZnVsIG1vZHVsZSwgYnV0IHdpdGggXAordGhhdCBwb3dlciBjb21lcyBncmVhdCByZXNwb25zaWJpbGl0eSwgZXItIGFzIHdlbGwgYXMgc29tZSBydW50aW1lIHBlbmFsdGllcy4gXAorVGhpcyBtb2R1bGUgaXMgYSBcIlN1Yjo6RXhwb3J0ZXJcIiB3cmFwcGVyIHRoYXQgd2lsbCBsZXQgeW91ciB1c2VycyBqdXN0IHVzZSBcCitcIkV4cG9ydGVyXCIgaWYgYWxsIHRoZXkgYXJlIGRvaW5nIGlzIHBpY2tpbmcgZXhwb3J0cywgYnV0IHVzZSBcCitcIlN1Yjo6RXhwb3J0ZXJcIiBpZiB5b3VyIHVzZXJzIHRyeSB0byB1c2UgXCJTdWI6OkV4cG9ydGVyJ3NcIiBtb3JlIGFkdmFuY2VkIFwKK2ZlYXR1cmVzLCBsaWtlIHJlbmFtaW5nIGV4cG9ydHMsIGlmIHRoZXkgdHJ5IHRvIHVzZSB0aGVtLiIKKworU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwczovL21ldGFjcGFuLm9yZy9wb2QvU3ViLUV4cG9ydGVyLVByb2dyZXNzaXZlLyIKKworTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9NTE7ZW5kbGluZT01MzttZDU9YTE3MWQyZTlmODY4OGE0NGU1ZjFiNmRjYzYyMDI5ZTYiCisKK0RFUEVORFNfJHtQTn0gPSAiIHBlcmwtbW9kdWxlLXRlc3QtbW9yZSIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0YvRlIvRlJFVy9TdWItRXhwb3J0ZXItUHJvZ3Jlc3NpdmUtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImJiNTBiM2JhMTUzODkwMmIxOTdjMDQ4MThhODQyMzBhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA2MThjNmU2OWM2YzA1NDBjNDFlNzU2MGQ1MTk4MTQwN2E2YTA3NjhmMTMzMGJlZjZkNmFjM2M2ZjFmYTdjMDYiCisKK1MgPSAiJHtXT1JLRElSfS9TdWItRXhwb3J0ZXItUHJvZ3Jlc3NpdmUtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSArPSAiIHBlcmwtbW9kdWxlLWNhcnAgXAorICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1saXN0LXV0aWwgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ0ZXN0L2xpYnRlc3QtaGFybmVzcy1wZXJsXzMuMzYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlidGVzdC9saWJ0ZXN0LWhhcm5lc3MtcGVybF8zLjM2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmYjdlMjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlidGVzdC9saWJ0ZXN0LWhhcm5lc3MtcGVybF8zLjM2LmJiCkBAIC0wLDAgKzEsODAgQEAKK1NVTU1BUlkgPSAiVGVzdDo6SGFybmVzcyAtIFJ1biBQZXJsIHN0YW5kYXJkIHRlc3Qgc2NyaXB0cyB3aXRoIHN0YXRpc3RpY3MiCitERVNDUklQVElPTiA9ICJBbHRob3VnaCwgZm9yIGhpc3RvcmljYWwgcmVhc29ucywgdGhlIFRlc3Q6Okhhcm5lc3MgXAorZGlzdHJpYnV0aW9uIHRha2VzIGl0cyBuYW1lIGZyb20gdGhpcyBtb2R1bGUgaXQgbm93IGV4aXN0cyBvbmx5IHRvIHByb3ZpZGUgXAorVEFQOjpIYXJuZXNzIHdpdGggYW4gaW50ZXJmYWNlIHRoYXQgaXMgc29tZXdoYXQgYmFja3dhcmRzIGNvbXBhdGlibGUgXAord2l0aCBUZXN0OjpIYXJuZXNzIDIueHguIElmIHlvdSdyZSB3cml0aW5nIG5ldyBjb2RlIGNvbnNpZGVyIHVzaW5nIFwKK1RBUDo6SGFybmVzcyBkaXJlY3RseSBpbnN0ZWFkLiBcCitcIAorRW11bGF0aW9uIGlzIHByb3ZpZGVkIGZvciBydW50ZXN0cyBhbmQgZXhlY3V0ZV90ZXN0cyBidXQgdGhlIFwKK3BsdWdnYWJsZSAnU3RyYXBzJyBpbnRlcmZhY2UgdGhhdCBwcmV2aW91cyB2ZXJzaW9ucyBvZiBUZXN0OjpIYXJuZXNzIFwKK3N1cHBvcnRlZCBpcyBub3QgcmVwcm9kdWNlZCBoZXJlLiBTdHJhcHMgaXMgbm93IGF2YWlsYWJsZSBhcyBhIHN0YW5kIFwKK2Fsb25lIG1vZHVsZTogVGVzdDo6SGFybmVzczo6U3RyYXBzLiBcCitcCitTZWUgVEFQOjpQYXJzZXIsIFRBUDo6SGFybmVzcyBmb3IgdGhlIG1haW4gZG9jdW1lbnRhdGlvbiBmb3IgdGhpcyBcCitkaXN0cmlidXRpb24uIgorCitTRUNUSU9OID0gImxpYnMiCisKK0hPTUVQQUdFID0gImh0dHA6Ly90ZXN0YW55dGhpbmcub3JnIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0yOTtlbmRsaW5lPTMwO21kNT1iMDhkYjQzNjBlZWMxMTllODc1ZGRkZDdjYjhhNWRkZCIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL0wvTEUvTEVPTlQvVGVzdC1IYXJuZXNzLSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0YzhkOWM3N2U4ZTA2Y2E5NmM3MzgzYzA1YzhmMzYxNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNzU2NmYxM2IwNDFkMDI4YjU2ZjE4NGI3N2VjMjU0NWVjNmYwYmI1YTBmOGY1MzY4ZjdlNGEwOGI0OTZiNjNlIgorCitTID0gIiR7V09SS0RJUn0vVGVzdC1IYXJuZXNzLSR7UFZ9IgorCitpbmhlcml0IGNwYW4KKworUlBST1ZJREVTXyR7UE59ICs9ICJsaWJhcHAtcHJvdmUtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYmFwcC1wcm92ZS1zdGF0ZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliYXBwLXByb3ZlLXN0YXRlLXJlc3VsdC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGliYXBwLXByb3ZlLXN0YXRlLXJlc3VsdC10ZXN0LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtYmFzZS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLWZvcm1hdHRlci1iYXNlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtZm9ybWF0dGVyLWNvbG9yLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1mb3JtYXR0ZXItY29uc29sZS1wYXJhbGxlbHNlc3Npb24tcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1mb3JtYXR0ZXItY29uc29sZS1zZXNzaW9uLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtZm9ybWF0dGVyLWZpbGUtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtZm9ybWF0dGVyLXNlc3Npb24tcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1oYXJuZXNzLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtaGFybmVzcy1lbnYtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1vYmplY3QtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItYWdncmVnYXRvci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1ncmFtbWFyLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLWl0ZXJhdG9yLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1tdWx0aXBsZXhlci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1yZXN1bHQtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzc2VyLXJlc3VsdC1iYWlsb3V0LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXJlc3VsdC1jb21tZW50LXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXJlc3VsdC1wbGFuLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItcmVzdWx0LXRlc3QtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItcmVzdWx0LXVua25vd24tcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItcmVzdWx0LXZlcnNpb24tcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItcmVzdWx0LXlhbWwtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeS1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1zY2hlZHVsZXItcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYi1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1zb3VyY2UtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUtcGVybCBcCisgICAgICAgICAgICAgICAgICAgIGxpYnRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlLXBlcmwgXAorICAgICAgICAgICAgICAgICAgICBsaWJ0YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcC1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci15YW1saXNoLXJlYWRlci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgbGlidGFwLXBhcnNlci15YW1saXNoLXdyaXRlci1wZXJsIFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ0ZXh0L2xpYnRleHQtZGlmZi1wZXJsXzEuNDEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlidGV4dC9saWJ0ZXh0LWRpZmYtcGVybF8xLjQxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0YzI0NmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlidGV4dC9saWJ0ZXh0LWRpZmYtcGVybF8xLjQxLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiVGV4dDo6RGlmZiAtIFBlcmZvcm0gZGlmZnMgb24gZmlsZXMgYW5kIHJlY29yZCBzZXRzIgorREVTQ1JJUFRJT04gPSAiZGlmZigpIHByb3ZpZGVzIGEgYmFzaWMgc2V0IG9mIHNlcnZpY2VzIGFraW4gdG8gdGhlIEdOVSBkaWZmIFwKK3V0aWxpdHkuIEl0IGlzIG5vdCBhbnl3aGVyZSBuZWFyIGFzIGZlYXR1cmUgY29tcGxldGUgYXMgR05VIGRpZmYsIGJ1dCBpdCBpcyBcCitiZXR0ZXIgaW50ZWdyYXRlZCB3aXRoIFBlcmwgYW5kIGF2YWlsYWJsZSBvbiBhbGwgcGxhdGZvcm1zLiBJdCBpcyBvZnRlbiBcCitmYXN0ZXIgdGhhbiBzaGVsbGluZyBvdXQgdG8gYSBzeXN0ZW0ncyBkaWZmIGV4ZWN1dGFibGUgZm9yIHNtYWxsIGZpbGVzLCBcCithbmQgZ2VuZXJhbGx5IHNsb3dlciBvbiBsYXJnZXIgZmlsZXMuIgorU0VDVElPTiA9ICJsaWJzIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL35vdmlkL1RleHQtRGlmZi8iCisKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTIuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zODVjNTU2NTM4ODZhY2FjMzgyMTk5OWEzY2NkMTdiMyIKKworU1JDX1VSSSA9ICIke0NQQU5fTUlSUk9SfS9hdXRob3JzL2lkL08vT1YvT1ZJRC9UZXh0LURpZmYtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjMwZDU2ZTZkZDU1NTFjYTE2YjhlMTZjYzcyOTlkYzIxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE2N2Y1MGE0OGUzMTNjMTY4MGNjNjYyMTA5Y2U1ZjkxM2VhNzE0NTRkYjM1NWQwY2Y0ZGI4N2FjODlkMmQyZmEiCisKK1MgPSAiJHtXT1JLRElSfS9UZXh0LURpZmYtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitSREVQRU5EU18ke1BOfSA9ICIgbGliYWxnb3JpdGhtLWRpZmYtcGVybCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnRleHQvbGlidGV4dC1pY29udi1wZXJsXzEuNy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ0ZXh0L2xpYnRleHQtaWNvbnYtcGVybF8xLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTM0YmUwMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ0ZXh0L2xpYnRleHQtaWNvbnYtcGVybF8xLjcuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJQZXJsIGludGVyZmFjZSB0byBpY29udigpIGNvZGVzZXQgY29udmVyc2lvbiBmdW5jdGlvbiIKK0RFU0NSSVBUSU9OID0gIlwKK1RoZSBUZXh0OjpJY29udiBtb2R1bGUgcHJvdmlkZXMgYSBQZXJsIGludGVyZmFjZSB0byB0aGUgaWNvbnYoKSBcCitmdW5jdGlvbiBhcyBkZWZpbmVkIGJ5IHRoZSBTaW5nbGUgVU5JWCBTcGVjaWZpY2F0aW9uLiBUaGUgY29udmVydCgpIFwKK21ldGhvZCBjb252ZXJ0cyB0aGUgZW5jb2Rpbmcgb2YgY2hhcmFjdGVycyBpbiB0aGUgaW5wdXQgc3RyaW5nIGZyb20gXAordGhlIGZyb21jb2RlIGNvZGVzZXQgdG8gdGhlIHRvY29kZSBjb2Rlc2V0LCBhbmQgcmV0dXJucyB0aGUgcmVzdWx0LiBcCitTZXR0aW5ncyBvZiBmcm9tY29kZSBhbmQgdG9jb2RlIGFuZCB0aGVpciBwZXJtaXR0ZWQgY29tYmluYXRpb25zIGFyZSBcCitpbXBsZW1lbnRhdGlvbi1kZXBlbmRlbnQuIFZhbGlkIHZhbHVlcyBhcmUgc3BlY2lmaWVkIGluIHRoZSBzeXN0ZW0gXAorZG9jdW1lbnRhdGlvbi4iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO2JlZ2lubGluZT0zO2VuZGxpbmU9NjttZDU9ZmFkZjI5MTljNzEyOGU4ODdkMjZiNGQ5MDVmOTA2NDkiCitSUkVDT01NRU5EU18ke1BOfSArPSAiZ2xpYmMtZ2NvbnZzIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL00vTVAvTVBJT1RSL1RleHQtSWNvbnYtJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiODFiMjZlMDY5ZWFlYmIwODRlOTFlYTNjMDA5YjY3YWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWI4MGI3ZDVlNzA5ZDM0MzkzYmNiYTg4OTcxODY0YTE3YjQ0YTViZjBmOWU0YmNlZTM4M2QwMjllN2QyZDVjMyIKKworUyA9ICIke1dPUktESVJ9L1RleHQtSWNvbnYtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovYXV0by9UZXh0L0ljb252Ly5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1maWx0ZXItYnVmZmVydGV4dC1wZXJsXzEuMDEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1maWx0ZXItYnVmZmVydGV4dC1wZXJsXzEuMDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdkZDYxNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWZpbHRlci1idWZmZXJ0ZXh0LXBlcmxfMS4wMS5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIlhNTDo6RmlsdGVyOjpCdWZmZXJUZXh0IC0gRmlsdGVyIHRvIHB1dCBhbGwgY2hhcmFjdGVycygpIGluIG9uZSBldmVudCIKK0RFU0NSSVBUSU9OID0gIlwKK1RoZSBYTUw6OkZpbHRlcjo6QnVmZmVyVGV4dCBtb2R1bGUgaXMgYSB2ZXJ5IHNpbXBsZSBmaWx0ZXIuICBPbmUgY29tbW9uIFwKK2NhdXNlIG9mIGdyaWVmIChhbmQgcHJvZ3JhbW1lciBlcnJvcikgaXMgdGhhdCBYTUwgcGFyc2VycyBhcmVuJ3QgcmVxdWlyZWQgXAordG8gcHJvdmlkZSBjaGFyYWN0ZXIgZXZlbnRzIGluIG9uZSBjaHVuay4gIFRoZXkgY2FuLCBidXQgYXJlIG5vdCBmb3JjZWQgXAordG8sIGFuZCBtb3N0IGRvbid0LiAgVGhpcyBmaWx0ZXIgZG9lcyB0aGUgdHJpdmlhbCBidXQgb2Z0LXJlcGVhdGVkIHRhc2sgXAorb2YgcHV0dGluZyBhbGwgY2hhcmFjdGVycyBpbnRvIGEgc2luZ2xlIGV2ZW50LiBcCisiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTHYxKyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvZGlzdC9YTUwtRmlsdGVyLUJ1ZmZlclRleHQvIgorREVQRU5EUyArPSAibGlieG1sLXNheC1wZXJsLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ICs9ICJsaWJ4bWwtc2F4LXBlcmwiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvUi9SQi9SQkVSSk9OL1hNTC1GaWx0ZXItQnVmZmVyVGV4dC0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMjk5MmMwMzg3NjMyNTgzYjk2NmFiOWM5NjViMjU1MTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGZkMjEyNmQzYmVlYzU1NGRmODUyOTE5ZjQ3MzllNjg5MjAyY2JiYTZhMTc1MDZlOWI2NmVhMTY1ODQxYTc1YyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQnVmZmVyVGV4dC5wbTtiZWdpbmxpbmU9ODg7ZW5kbGluZT05MDttZDU9NDk3YWE2ZDc5Y2M4NGMzZDc2OWEyYTAwMTZiZWU5MjgiCisKK1MgPSAiJHtXT1JLRElSfS9YTUwtRmlsdGVyLUJ1ZmZlclRleHQtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL2Rpc2FibGUtbGlieG1sMi1jaGVjay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL2Rpc2FibGUtbGlieG1sMi1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGU3Y2MxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmwvZGlzYWJsZS1saWJ4bWwyLWNoZWNrLnBhdGNoCkBAIC0wLDAgKzEsNzkgQEAKK0RvIG5vdCB1c2UgdGhlIF9saWJ4bWxfY2hlY2tfbGliKCkgb24gY3Jvc3MtY29tcGlsZQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dIAorCit4bWwyIGhhdmUgYmVlbiBhZGRlZCBpbnRvIHBhY2thZ2UncyBERVBFTkRTLCBzbyBub3QgbmVlZCB0byB1c2UgdGhlCitfbGlieG1sX2NoZWNrX2xpYigpIHRvIGNoZWNrIGl0IGFnYWluLCBhbmQgX2xpYnhtbF9jaGVja19saWIoKSBhbHdheXMKK3JldHVybiBmYWxzZSBvbiBjcm9zcy1jb21waWxlIGVudmlyb25tZW50CisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIE1ha2VmaWxlLlBMIHwgICA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuUEwgYi9NYWtlZmlsZS5QTAoraW5kZXggYzA0ODVmMS4uMDljNjc2YiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLlBMCisrKysgYi9NYWtlZmlsZS5QTAorQEAgLTQxMSwzMiArNDExLDMyIEBAIHN1YiBfbGlieG1sX2NoZWNrX2xpYiB7CisgICAgIH0KKyB9CisgCistcHJpbnQgIkNoZWNraW5nIGZvciBhYmlsaXR5IHRvIGxpbmsgYWdhaW5zdCB4bWwyLi4uIjsKKy1pZiAoIF9saWJ4bWxfY2hlY2tfbGliKCd4bWwyJykgKSB7CistICAgIHByaW50ICJ5ZXNcbiI7CistfQorLWVsc2UgeworLSAgICBwcmludCAibm9cbiI7CistICAgIHByaW50ICJDaGVja2luZyBmb3IgYWJpbGl0eSB0byBsaW5rIGFnYWluc3QgbGlieG1sMi4uLiI7CistICAgIGlmICggX2xpYnhtbF9jaGVja19saWIoJ2xpYnhtbDInKSkgeworLSAgICAgICAgcHJpbnQgInllc1xuIjsKKy0gICAgfQorLSAgICBlbHNlIHsKKy0gICAgICAgIHByaW50IFNUREVSUiA8PCJERUFUSCI7CistbGlieG1sMiwgemxpYiwgYW5kL29yIHRoZSBNYXRoIGxpYnJhcnkgKC1sbSkgaGF2ZSBub3QgYmVlbiBmb3VuZC4KKy1Ucnkgc2V0dGluZyBMSUJTIGFuZCBJTkMgdmFsdWVzIG9uIHRoZSBjb21tYW5kIGxpbmUKKy1PciBnZXQgbGlieG1sMiBmcm9tCistICBodHRwOi8veG1sc29mdC5vcmcvCistSWYgeW91IGluc3RhbGwgdmlhIFJQTXMsIG1ha2Ugc3VyZSB5b3UgYWxzbyBpbnN0YWxsIHRoZSAtZGV2ZWwKKy1SUE1zLCBhcyB0aGlzIGlzIHdoZXJlIHRoZSBoZWFkZXJzICguaCBmaWxlcykgYXJlLgorLQorLUFsc28sIHlvdSBtYXkgdHJ5IHRvIHJ1biBwZXJsIE1ha2VmaWxlLlBMIHdpdGggdGhlIERFQlVHPTEgcGFyYW1ldGVyCistdG8gc2VlIHRoZSBleGFjdCByZWFzb24gd2h5IHRoZSBkZXRlY3Rpb24gb2YgbGlieG1sMiBpbnN0YWxsYXRpb24KKy1mYWlsZWQgb3Igd2h5IE1ha2VmaWxlLlBMIHdhcyBub3QgYWJsZSB0byBjb21waWxlIGEgdGVzdCBwcm9ncmFtLgorLURFQVRICistICAgICAgICBleGl0IDA7ICMgMCByZWNvbW1lbmRlZCBieSBodHRwOi8vY3BhbnRlc3QuZ3JhbmdvLm9yZyAoTm90ZXMgZm9yIENQQU4gQXV0aG9ycykKKy0gICAgfQorLX0KKysjcHJpbnQgIkNoZWNraW5nIGZvciBhYmlsaXR5IHRvIGxpbmsgYWdhaW5zdCB4bWwyLi4uIjsKKysjaWYgKCBfbGlieG1sX2NoZWNrX2xpYigneG1sMicpICkgeworKyMgICAgcHJpbnQgInllc1xuIjsKKysjfQorKyNlbHNlIHsKKysjICAgIHByaW50ICJub1xuIjsKKysjICAgIHByaW50ICJDaGVja2luZyBmb3IgYWJpbGl0eSB0byBsaW5rIGFnYWluc3QgbGlieG1sMi4uLiI7CisrIyAgICBpZiAoIF9saWJ4bWxfY2hlY2tfbGliKCdsaWJ4bWwyJykpIHsKKysjICAgICAgICBwcmludCAieWVzXG4iOworKyMgICAgfQorKyMgICAgZWxzZSB7CisrIyAgICAgICAgcHJpbnQgU1RERVJSIDw8IkRFQVRIIjsKKysjbGlieG1sMiwgemxpYiwgYW5kL29yIHRoZSBNYXRoIGxpYnJhcnkgKC1sbSkgaGF2ZSBub3QgYmVlbiBmb3VuZC4KKysjVHJ5IHNldHRpbmcgTElCUyBhbmQgSU5DIHZhbHVlcyBvbiB0aGUgY29tbWFuZCBsaW5lCisrI09yIGdldCBsaWJ4bWwyIGZyb20KKysjICBodHRwOi8veG1sc29mdC5vcmcvCisrI0lmIHlvdSBpbnN0YWxsIHZpYSBSUE1zLCBtYWtlIHN1cmUgeW91IGFsc28gaW5zdGFsbCB0aGUgLWRldmVsCisrI1JQTXMsIGFzIHRoaXMgaXMgd2hlcmUgdGhlIGhlYWRlcnMgKC5oIGZpbGVzKSBhcmUuCisrIworKyNBbHNvLCB5b3UgbWF5IHRyeSB0byBydW4gcGVybCBNYWtlZmlsZS5QTCB3aXRoIHRoZSBERUJVRz0xIHBhcmFtZXRlcgorKyN0byBzZWUgdGhlIGV4YWN0IHJlYXNvbiB3aHkgdGhlIGRldGVjdGlvbiBvZiBsaWJ4bWwyIGluc3RhbGxhdGlvbgorKyNmYWlsZWQgb3Igd2h5IE1ha2VmaWxlLlBMIHdhcyBub3QgYWJsZSB0byBjb21waWxlIGEgdGVzdCBwcm9ncmFtLgorKyNERUFUSAorKyMgICAgICAgIGV4aXQgMDsgIyAwIHJlY29tbWVuZGVkIGJ5IGh0dHA6Ly9jcGFudGVzdC5ncmFuZ28ub3JnIChOb3RlcyBmb3IgQ1BBTiBBdXRob3JzKQorKyMgICAgfQorKyN9CisgCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCisgIyBfTk9XXyB3cml0ZSB0aGUgTWFrZWZpbGUKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmwvZml4LUNBVEFMT0ctY29uZGl0aW9uYWwtY29tcGlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL2ZpeC1DQVRBTE9HLWNvbmRpdGlvbmFsLWNvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRkOWZiMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL2ZpeC1DQVRBTE9HLWNvbmRpdGlvbmFsLWNvbXBpbGUucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorW1BBVENIXSBGaXggYSBjb21waWxlIGVycm9yIAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworRml4IGEgY29tcGlsZSBlcnJvciBieSBjb25kaXRpb25hbCB1c2luZyAnY2F0YWwnIHNpbmNlIGNhdGFsCitpcyBvbmx5IGRlZmluZWQgd2hlbiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVEIGlzIGVuYWJsZWQuCisKK1NpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIExpYlhNTC54cyB8ICAgIDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9MaWJYTUwueHMgYi9MaWJYTUwueHMKK2luZGV4IDY2ZGEwNGIuLjQ1ZGE2ODEgMTAwNjQ0CistLS0gYS9MaWJYTUwueHMKKysrKyBiL0xpYlhNTC54cworQEAgLTI3NzcsOSArMjc3NywxMSBAQCBfZGVmYXVsdF9jYXRhbG9nKCBzZWxmLCBjYXRhbG9nICkKKyAgICAgICAgIHhtbENhdGFsb2dQdHIgY2F0YWwgPSBJTlQyUFRSKHhtbENhdGFsb2dQdHIsU3ZJVihTdlJWKGNhdGFsb2cpKSk7CisgI2VuZGlmCisgICAgIElOSVQ6CisrI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKKyAgICAgICAgIGlmICggY2F0YWwgPT0gTlVMTCApIHsKKyAgICAgICAgICAgICBjcm9hayggImVtcHR5IGNhdGFsb2dcbiIgKTsKKyAgICAgICAgIH0KKysjZW5kaWYKKyAgICAgQ09ERToKKyAgICAgICAgIHdhcm4oICJ0aGlzIGZlYXR1cmUgaXMgbm90IGltcGxlbWVudGVkIiApOworICAgICAgICAgUkVUVkFMID0gMDsKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmwvdXNpbmctRE9DQi1jb25kaXRpb25hbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL3VzaW5nLURPQ0ItY29uZGl0aW9uYWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI1NWVjNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsL3VzaW5nLURPQ0ItY29uZGl0aW9uYWwucGF0Y2gKQEAgLTAsMCArMSw5MSBAQAorW1BBVENIXSBGaXggYSBjb21waWxlIGVycm9yIAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworYnkgY29uZGl0aW9uYWwgdXNpbmcgJ1hNTF9ET0NCX0RPQ1VNRU5UX05PREUnIHNpbmNlIGl0IGlzIG9ubHkKK2RlZmluZWQgd2hlbiBMSUJYTUxfRE9DQl9FTkFCTEVEIGlzIGVuYWJsZWQgaW4geG1sdmVyc2lvbi5oLgorCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBMaWJYTUwueHMgICAgICAgIHwgICAgOSArLQorIGRvbS5jICAgICAgICAgICAgfCAgICAyICsKKyBwZXJsLWxpYnhtbC1tbS5jIHwgICAgNCArCisgNCBmaWxlcyBjaGFuZ2VkLCA2NzggaW5zZXJ0aW9ucygrKSwgNjU4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTGliWE1MLnhzIGIvTGliWE1MLnhzCitpbmRleCBiMjk5YmE0Li42NmRhMDRiIDEwMDY0NAorLS0tIGEvTGliWE1MLnhzCisrKysgYi9MaWJYTUwueHMKK0BAIC01MDI2LDcgKzUwMjYsOSBAQCBhZGRDaGlsZCggc2VsZiwgbk5vZGUgKQorICAgICAgICAgICAgIFhTUkVUVVJOX1VOREVGOworICAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERSA6CisgICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREUgOgorKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisgICAgICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREUgOgorKyNlbmRpZgorICAgICAgICAgICAgIGNyb2FrKCJhZGRDaGlsZDogSElFUkFSQ0hZX1JFUVVFU1RfRVJSXG4iKTsKKyAgICAgICAgICAgICBYU1JFVFVSTl9VTkRFRjsKKyAgICAgICAgIGNhc2UgWE1MX05PVEFUSU9OX05PREUgOgorQEAgLTUyODYsNyArNTI4OCw5IEBAIF90b1N0cmluZ0MxNE4oc2VsZiwgY29tbWVudHM9MCwgeHBhdGg9JlBMX3N2X3VuZGVmLCBleGNsdXNpdmU9MCwgaW5jX3ByZWZpeF9saXN0CisgICAgICAgICBpZiAoIG5vZGVwYXRoID09IE5VTEwKKyAgICAgICAgICAgICAgJiYgc2VsZi0+dHlwZSAhPSBYTUxfRE9DVU1FTlRfTk9ERQorICAgICAgICAgICAgICAmJiBzZWxmLT50eXBlICE9IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUKKysjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgICAgICAgICAgICAmJiBzZWxmLT50eXBlICE9IFhNTF9ET0NCX0RPQ1VNRU5UX05PREUKKysjZW5kaWYKKyAgICAgICAgICAgICkgeworICAgICAgICAgICAgIGlmIChjb21tZW50cykKKyAJICAgICAgbm9kZXBhdGggPSB4bWxTdHJkdXAoIChjb25zdCB4bWxDaGFyICopICIoLiB8IC4vL25vZGUoKSB8IC4vL0AqIHwgLi8vbmFtZXNwYWNlOjoqKSIgKTsKK0BAIC01Mjk3LDcgKzUzMDEsMTAgQEAgX3RvU3RyaW5nQzE0TihzZWxmLCBjb21tZW50cz0wLCB4cGF0aD0mUExfc3ZfdW5kZWYsIGV4Y2x1c2l2ZT0wLCBpbmNfcHJlZml4X2xpc3QKKyAgICAgICAgIGlmICggbm9kZXBhdGggIT0gTlVMTCApIHsKKyAgICAgICAgICAgICBpZiAoIHNlbGYtPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX05PREUKKyAgICAgICAgICAgICAgICAgIHx8IHNlbGYtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERQorLSAgICAgICAgICAgICAgICAgfHwgc2VsZi0+dHlwZSA9PSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFICkgeworKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisrICAgICAgICAgICAgICAgICB8fCBzZWxmLT50eXBlID09IFhNTF9ET0NCX0RPQ1VNRU5UX05PREUKKysjZW5kaWYKKysJICAgICkgeworICAgICAgICAgICAgICAgICByZWZOb2RlID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoIHNlbGYtPmRvYyApOworICAgICAgICAgICAgIH0KKyAJICAgIGlmIChTdk9LKHhwYXRoX2NvbnRleHQpKSB7CitkaWZmIC0tZ2l0IGEvZG9tLmMgYi9kb20uYworaW5kZXggODdlYjYxZC4uY2JkMzkxYiAxMDA2NDQKKy0tLSBhL2RvbS5jCisrKysgYi9kb20uYworQEAgLTY1NCw3ICs2NTQsOSBAQCBkb21OYW1lKHhtbE5vZGVQdHIgbm9kZSkgeworIAorICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFIDoKKyAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFIDoKKysjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREUgOgorKyNlbmRpZgorICAgICAgICAgbmFtZSA9IChjb25zdCB4bWxDaGFyICopICIjZG9jdW1lbnQiOworICAgICAgICAgYnJlYWs7CisgCitkaWZmIC0tZ2l0IGEvcGVybC1saWJ4bWwtbW0uYyBiL3BlcmwtbGlieG1sLW1tLmMKK2luZGV4IGQxNjJiMDYuLjdhYzU0MzYgMTAwNjQ0CistLS0gYS9wZXJsLWxpYnhtbC1tbS5jCisrKysgYi9wZXJsLWxpYnhtbC1tbS5jCitAQCAtMzMxLDcgKzMzMSw5IEBAIFBtbU5ld05vZGUoeG1sTm9kZVB0ciBub2RlKQorICAgICAgICAgc3dpdGNoICggbm9kZS0+dHlwZSApIHsKKyAgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisrI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKyAgICAgICAgIGNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKysjZW5kaWYKKyAgICAgICAgICAgICBwcm94eSA9IChQcm94eU5vZGVQdHIpeG1sTWFsbG9jKHNpemVvZihzdHJ1Y3QgX0RvY1Byb3h5Tm9kZSkpOworICAgICAgICAgICAgIGlmIChwcm94eSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICgoRG9jUHJveHlOb2RlUHRyKXByb3h5KS0+cHN2aV9zdGF0dXMgPSBQbW1fTk9fUFNWSTsKK0BAIC01NTAsNyArNTUyLDkgQEAgUG1tTm9kZVRvU3YoIHhtbE5vZGVQdHIgbm9kZSwgUHJveHlOb2RlUHRyIG93bmVyICkKKyAgICAgICAgIHN3aXRjaCAoIG5vZGUtPnR5cGUgKSB7CisgICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisgICAgICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisrI2VuZGlmCisgICAgICAgICAgICAgaWYgKCAoKHhtbERvY1B0cilub2RlKS0+ZW5jb2RpbmcgIT0gTlVMTCApIHsKKyAgICAgICAgICAgICAgICAgU2V0UG1tRU5DT0RJTkcoZGZQcm94eSwgKGludCl4bWxQYXJzZUNoYXJFbmNvZGluZyggKGNvbnN0IGNoYXIqKSgoeG1sRG9jUHRyKW5vZGUpLT5lbmNvZGluZyApKTsKKyAgICAgICAgICAgICB9CistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsXzIuMDEyMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsXzIuMDEyMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTk3YTA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmxfMi4wMTIxLmJiCkBAIC0wLDAgKzEsNDMgQEAKK1NVTU1BUlkgPSAiUGVybCBpbnRlcmZhY2UgdG8gdGhlIGxpYnhtbDIgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIGlzIGFuIGludGVyZmFjZSB0byBsaWJ4bWwyLCBwcm92aWRpbmcgWE1MIGFuZCBIVE1MIHBhcnNlcnMgXCAKK3dpdGggRE9NLCBTQVggYW5kIFhNTFJlYWRlciBpbnRlcmZhY2VzLCBhIGxhcmdlIHN1YnNldCBvZiBET00gTGF5ZXIgMyBcCitpbnRlcmZhY2UgYW5kIGEgWE1MOjpYUGF0aC1saWtlIGludGVyZmFjZSB0byBYUGF0aCBBUEkgb2YgbGlieG1sMi4gXAorVGhlIG1vZHVsZSBpcyBzcGxpdCBpbnRvIHNldmVyYWwgcGFja2FnZXMgd2hpY2ggYXJlIG5vdCBkZXNjcmliZWQgaW4gdGhpcyBcCitzZWN0aW9uOyB1bmxlc3Mgc3RhdGVkIG90aGVyd2lzZSwgeW91IG9ubHkgbmVlZCB0byB1c2UgWE1MOjpMaWJYTUw7IGluIFwKK3lvdXIgcHJvZ3JhbXMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvWE1MLUxpYlhNTC0xLjk5LyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTHYxKyIKK0RFUEVORFMgKz0gImxpYnhtbDIgXAorICAgICAgICBsaWJ4bWwtc2F4LXBlcmwtbmF0aXZlIFwKKyAgICAgICAgemxpYiBcCisiCitSREVQRU5EU18ke1BOfSArPSAibGlieG1sMiBcCisgICAgICAgIGxpYnhtbC1zYXgtcGVybCBcCisgICAgICAgIGxpYnhtbC1zYXgtYmFzZS1wZXJsIFwKKyAgICAgICAgemxpYiBcCisiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvUy9TSC9TSExPTUlGL1hNTC1MaWJYTUwtJHtQVn0udGFyLmd6O25hbWU9bGlieG1sIFwKKwlmaWxlOi8vZGlzYWJsZS1saWJ4bWwyLWNoZWNrLnBhdGNoIFwKKwlmaWxlOi8vZml4LUNBVEFMT0ctY29uZGl0aW9uYWwtY29tcGlsZS5wYXRjaCBcCisJZmlsZTovL3VzaW5nLURPQ0ItY29uZGl0aW9uYWwucGF0Y2ggXAorIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9NzVlMDIxZTM1YTkwNjM0N2Y0NmM5ZmYxNjM2NTNlMmEgXAorCQkJZmlsZTovL0xJQ0VOU0U7bWQ1PTk3ODcxYmRlMTUwZGFlYjVlNjFhZDk1MTM3ZmYyNDQ2IgorU1JDX1VSSVtsaWJ4bWwubWQ1c3VtXSA9ICIxNTQ0YWI5YWMxMTBmNWRhMjk2MDE1MzQ2NTYxY2UwMiIKK1NSQ19VUklbbGlieG1sLnNoYTI1NnN1bV0gPSAiZWM0MzEwMTFjYjM3YTA0NjQwZmQyMzE2ZjY0ZDA0MDVhMjc0ZWVjZTJjNmYzODQ3ZjdmYmQzMzZlYjFjMGRjOSIKKworUyA9ICIke1dPUktESVJ9L1hNTC1MaWJYTUwtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitFWFRSQV9DUEFORkxBR1MgPSAiSU5DPS1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlieG1sMiBMSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitDRkxBR1MgKz0gIiAtRF9HTlVfU09VUkNFICIKK0JVSUxEX0NGTEFHUyArPSAiIC1EX0dOVV9TT1VSQ0UgIgorCitGSUxFU18ke1BOfS1kYmcgPSsgIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovYXV0by9YTUwvTGliWE1MLy5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1zYXgtd3JpdGVyLXBlcmxfMC41Ni5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLXNheC13cml0ZXItcGVybF8wLjU2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2MWNlZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1zYXgtd3JpdGVyLXBlcmxfMC41Ni5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIlhNTDo6U0FYOjpXcml0ZXIgLSBTQVgyIFdyaXRlciIKK0RFU0NSSVBUSU9OID0gIlwKK1hNTDo6U0FYOjpXcml0ZXIgaGVscHMgdG8gc2VyaWFsaXplIFNBWDIgcmVwcmVzZW50YXRpb25zIG9mIFhNTCBkb2N1bWVudHMgdG8gXAorc3RyaW5ncywgZmlsZXMsIGFuZCBvdGhlciBmbGF0IHJlcHJlc2VudGF0aW9ucy4gSXQgaGFuZGxlcyBjaGFyc2V0IGVuY29kaW5ncywgXAorWE1MIGVzY2FwaW5nIGNvbnZlbnRpb25zLCBhbmQgc28gZm9ydGguIEl0IGlzIHN0aWxsIGNvbnNpZGVyZWQgYWxwaGEsIFwKK2FsdGhvdWdoIGl0IGhhcyBiZWVuIHB1dCB0byBsaW1pdGVkIHVzZSBpbiBzZXR0aW5ncyBzdWNoIGFzIFhNTDo6TGliWE1MIGFuZCBcCit0aGUgQXhLaXQgWE1MIEFwcGxpY2F0aW9uIFNlcnZlci4gXAorIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEx2MSsiCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvWE1MLVNBWC1Xcml0ZXIvIgorREVQRU5EUyArPSAibGlieG1sLWZpbHRlci1idWZmZXJ0ZXh0LXBlcmwtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gKz0gImxpYnhtbC1maWx0ZXItYnVmZmVydGV4dC1wZXJsIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1AvUEUvUEVSSUdSSU4vWE1MLVNBWC1Xcml0ZXItJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImU1ZmE1ZTJiMmY2ODY3YjFhY2E5YjViNDNlMWNlMzYxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQwNzNmN2EyNTA3MmM4MTUwMzE3Yjg2Yjk5ZDA3MDMxMzE2YTE1YmZmYWI5OWU2M2U1YWZlNTkxYzgyMTdkMDMiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9NDU7ZW5kbGluZT00NjttZDU9ZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UiCisKK1MgPSAiJHtXT1JLRElSfS9YTUwtU0FYLVdyaXRlci0ke1BWfSIKKworaW5oZXJpdCBjcGFuCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vQ09QWUlORy5NSVQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI5NTBkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vQ09QWUlORy5NSVQKQEAgLTAsMCArMSwxNyBAQAorUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSAKK29mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIAoraW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyAKK3RvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgCitjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgCitmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiAKK2FsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorCitUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiAKK0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCAKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSAKK0FVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCAKK09VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gCitUSEUgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL1JFQURNRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2ZTc2YmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL1JFQURNRQpAQCAtMCwwICsxLDUxIEBACittZXRhLXB5dGhvbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworSW50cm9kdWN0aW9uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoaXMgbGF5ZXIgaXMgaW50ZW5kZWQgdG8gYmUgdGhlIGhvbWUgb2YgcHl0aG9uIG1vZHVsZXMgZm9yIE9wZW5FbWJlZGRlZC4KK01vZHVsZXMgaW4gdGhpcyBsYXllciBuZWVkIHRvIGJlIGluZGVwZW5kZW50IG9mIG9wZW5lbWJlZGRlZC1jb3JlIGFuZAorbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS4gQmVjYXVzZSBvZiB0aGlzLCBtb2R1bGVzIHJlcXVpcmVkIGJ5ICdnYXRlb25lJworYW5kICdhbmtpJyBhcmUgbm90IGluY2x1ZGVkIGFuZCByZW1haW4gaW46CisgICAgICAgIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9weXRob24uCisKK0RlcGVuZGVuY2llcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgbWV0YS1weXRob24gbGF5ZXIgZGVwZW5kcyBvbjoKKworCVVSSTogZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkLWNvcmUKKwlsYXllcnM6IG1ldGEKKwlicmFuY2g6IGtyb2dvdGggCisJcmV2aXNpb246IEhFQUQKKworCVVSSTogZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvbWV0YS1vcGVuZW1iZWRkZWQKKwlsYXllcnM6IG1ldGEtb2UKKwlicmFuY2g6ICBrcm9nb3RoCisJcmV2aXNpb246IEhFQUQKKworUGxlYXNlIGZvbGxvdyB0aGUgcmVjb21tZW5kZWQgc2V0dXAgcHJvY2VkdXJlcyBvZiB5b3VyIE9FIGRpc3RyaWJ1dGlvbi4KK0ZvciBBbmdzdHJvbSB0aGF0IGlzOgorICAgICAgICBodHRwOi8vd3d3LmFuZ3N0cm9tLWRpc3RyaWJ1dGlvbi5vcmcvYnVpbGRpbmctYW5nc3Ryb20sCitvdGhlciBkaXN0cm9zIHNob3VsZCBoYXZlIHNpbWlsYXIgb25saW5lIHJlc291cmNlcy4KKworQ29udHJpYnV0aW5nCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBtZXRhLW9wZW5lbWJlZGRlZCBtYWlsaW5nbGlzdAorKG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnKSBpcyB1c2VkIGZvciBxdWVzdGlvbnMsCitjb21tZW50cyBhbmQgcGF0Y2ggcmV2aWV3LiBJdCBpcyBzdWJzY3JpYmVyIG9ubHksIHNvIHBsZWFzZSByZWdpc3RlcgorYmVmb3JlIHBvc3RpbmcuCisKK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoCisnW21ldGEtcHl0aG9uXVtrcm9nb3RoXScgaW4gdGhlIHN1YmplY3QuCisKK1doZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzZSBzb21ldGhpbmcgbGlrZTogCisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10bz1vcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtcHl0aG9uXVtrcm9nb3RoXVtQQVRDSCcKKworTWFpbnRlbmFuY2UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL2NsYXNzZXMvcHlwaS5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jbGFzc2VzL3B5cGkuYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTllMWMwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jbGFzc2VzL3B5cGkuYmJjbGFzcwpAQCAtMCwwICsxLDIzIEBACitkZWYgcHlwaV9wYWNrYWdlKGQpOgorICAgIGJwbiA9IGQuZ2V0VmFyKCdCUE4nLCBUcnVlKQorICAgIGlmIGJwbi5zdGFydHN3aXRoKCdweXRob24tJyk6CisgICAgICAgIHJldHVybiBicG5bNzpdCisgICAgZWxpZiBicG4uc3RhcnRzd2l0aCgncHl0aG9uMy0nKToKKyAgICAgICAgcmV0dXJuIGJwbls4Ol0KKyAgICByZXR1cm4gYnBuCisKK1BZUElfUEFDS0FHRSA/PSAiJHtAcHlwaV9wYWNrYWdlKGQpfSIKK1BZUElfUEFDS0FHRV9FWFQgPz0gInRhci5neiIKKworZGVmIHB5cGlfc3JjX3VyaShkKToKKyAgICBwYWNrYWdlID0gZC5nZXRWYXIoJ1BZUElfUEFDS0FHRScsIFRydWUpCisgICAgcGFja2FnZV9leHQgPSBkLmdldFZhcignUFlQSV9QQUNLQUdFX0VYVCcsIFRydWUpCisgICAgcHYgPSBkLmdldFZhcignUFYnLCBUcnVlKQorICAgIHJldHVybiAnaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvc291cmNlLyVzLyVzLyVzLSVzLiVzJyAlIChwYWNrYWdlWzBdLCBwYWNrYWdlLCBwYWNrYWdlLCBwdiwgcGFja2FnZV9leHQpCisKK1BZUElfU1JDX1VSSSA/PSAiJHtAcHlwaV9zcmNfdXJpKGQpfSIKKworSE9NRVBBR0UgPz0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvJHtQWVBJX1BBQ0tBR0V9LyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorU1JDX1VSSSArPSAiJHtQWVBJX1NSQ19VUkl9IgorUyA9ICIke1dPUktESVJ9LyR7UFlQSV9QQUNLQUdFfS0ke1BWfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY29uZi9sYXllci5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jb25mL2xheWVyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDUzNjc3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMTcgQEAKKyMgV2UgbWlnaHQgaGF2ZSBhIGNvbmYgYW5kIGNsYXNzZXMgZGlyZWN0b3J5LCBhcHBlbmQgdG8gQkJQQVRICitCQlBBVEggLj0gIjoke0xBWUVSRElSfSIKKworIyBXZSBoYXZlIHJlY2lwZXMgZGlyZWN0b3JpZXMsIGFkZCB0byBCQkZJTEVTCitCQkZJTEVTICs9ICIke0xBWUVSRElSfS9yZWNpcGVzKi8qLyouYmIgJHtMQVlFUkRJUn0vcmVjaXBlcyovKi8qLmJiYXBwZW5kIgorCitCQkZJTEVfQ09MTEVDVElPTlMgKz0gIm1ldGEtcHl0aG9uIgorQkJGSUxFX1BBVFRFUk5fbWV0YS1weXRob24gOj0gIl4ke0xBWUVSRElSfS8iCitCQkZJTEVfUFJJT1JJVFlfbWV0YS1weXRob24gPSAiNyIKKworIyBUaGlzIHNob3VsZCBvbmx5IGJlIGluY3JlbWVudGVkIG9uIHNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCB3aWxsCisjIGNhdXNlIGNvbXBhdGliaWxpdHkgaXNzdWVzIHdpdGggb3RoZXIgbGF5ZXJzCitMQVlFUlZFUlNJT05fbWV0YS1weXRob24gPSAiMSIKKworTEFZRVJERVBFTkRTX21ldGEtcHl0aG9uID0gImNvcmUgb3BlbmVtYmVkZGVkLWxheWVyIgorCitMSUNFTlNFX1BBVEggKz0gIiR7TEFZRVJESVJ9L2xpY2Vuc2VzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9saWNlbnNlcy9Vbmljb2RlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9saWNlbnNlcy9Vbmljb2RlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkMmNjNGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL2xpY2Vuc2VzL1VuaWNvZGUKQEAgLTAsMCArMSwzNyBAQAorQ09QWVJJR0hUIEFORCBQRVJNSVNTSU9OIE5PVElDRQorCitDb3B5cmlnaHQgMTk5MS0yMDE1IFVuaWNvZGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KK0Rpc3RyaWJ1dGVkIHVuZGVyIHRoZSBUZXJtcyBvZiBVc2UgaW4KK2h0dHA6Ly93d3cudW5pY29kZS5vcmcvY29weXJpZ2h0Lmh0bWwuCisKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZworYSBjb3B5IG9mIHRoZSBVbmljb2RlIGRhdGEgZmlsZXMgYW5kIGFueSBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24KKyh0aGUgIkRhdGEgRmlsZXMiKSBvciBVbmljb2RlIHNvZnR3YXJlIGFuZCBhbnkgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uCisodGhlICJTb2Z0d2FyZSIpIHRvIGRlYWwgaW4gdGhlIERhdGEgRmlsZXMgb3IgU29mdHdhcmUKK3dpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsCitjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKK3RoZSBEYXRhIEZpbGVzIG9yIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgRGF0YSBGaWxlcworb3IgU29mdHdhcmUgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgcHJvdmlkZWQgdGhhdAorKGEpIHRoaXMgY29weXJpZ2h0IGFuZCBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgd2l0aCBhbGwgY29waWVzCitvZiB0aGUgRGF0YSBGaWxlcyBvciBTb2Z0d2FyZSwKKyhiKSB0aGlzIGNvcHlyaWdodCBhbmQgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFzc29jaWF0ZWQKK2RvY3VtZW50YXRpb24sIGFuZAorKGMpIHRoZXJlIGlzIGNsZWFyIG5vdGljZSBpbiBlYWNoIG1vZGlmaWVkIERhdGEgRmlsZSBvciBpbiB0aGUgU29mdHdhcmUKK2FzIHdlbGwgYXMgaW4gdGhlIGRvY3VtZW50YXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBEYXRhIEZpbGUocykgb3IKK1NvZnR3YXJlIHRoYXQgdGhlIGRhdGEgb3Igc29mdHdhcmUgaGFzIGJlZW4gbW9kaWZpZWQuCisKK1RIRSBEQVRBIEZJTEVTIEFORCBTT0ZUV0FSRSBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRgorQU5ZIEtJTkQsIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUKK1dBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKK05PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJUWSBSSUdIVFMuCitJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBIT0xERVJTIElOQ0xVREVEIElOIFRISVMKK05PVElDRSBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgT1IgQU5ZIFNQRUNJQUwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTAorREFNQUdFUywgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwKK0RBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIKK1RPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKK1BFUkZPUk1BTkNFIE9GIFRIRSBEQVRBIEZJTEVTIE9SIFNPRlRXQVJFLgorCitFeGNlcHQgYXMgY29udGFpbmVkIGluIHRoaXMgbm90aWNlLCB0aGUgbmFtZSBvZiBhIGNvcHlyaWdodCBob2xkZXIKK3NoYWxsIG5vdCBiZSB1c2VkIGluIGFkdmVydGlzaW5nIG9yIG90aGVyd2lzZSB0byBwcm9tb3RlIHRoZSBzYWxlLAordXNlIG9yIG90aGVyIGRlYWxpbmdzIGluIHRoZXNlIERhdGEgRmlsZXMgb3IgU29mdHdhcmUgd2l0aG91dCBwcmlvcgord3JpdHRlbiBhdXRob3JpemF0aW9uIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmUvODBvZS5jb25mLmluIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmUvODBvZS5jb25mLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1MDNkYTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhdGVvbmUvZ2F0ZW9uZS84MG9lLmNvbmYuaW4KQEAgLTAsMCArMSwyNCBAQAorLy8gU29tZSBjdXN0b20gR2F0ZSBPbmUgc2V0dGluZ3MgZm9yIE9wZW5FbWJlZGRlZAoreworICAgICIqIjogeworICAgICAgICAiZ2F0ZW9uZSI6IHsgLy8gVGhlc2Ugc2V0dGluZ3MgYXBwbHkgdG8gYWxsIG9mIEdhdGUgT25lCisgICAgICAgICAgICAibG9nX2ZpbGVfcHJlZml4IjogIkBsb2NhbHN0YXRlQC9sb2cvZ2F0ZW9uZS5sb2ciLCAvLyBkZWZhdWx0IHdvdWxkIGJlIC92YXIvbG9nL2dhdGVvbmUvZ2F0ZW9uZS5sb2cKKyAgICAgICAgICAgICJsb2dfZmlsZV9tYXhfc2l6ZSI6IDUyNDI4ODAsIC8vIDUgbWVnYWJ5dGUgbG9ncyBmb3IgT0UgYnkgZGVmYXVsdCAoZGVmYXVsdCB3b3VsZCBub3JtYWxseSBiZSAxMDBNYikKKyAgICAgICAgICAgICJsb2dfZmlsZV9udW1fYmFja3VwcyI6IDIsIC8vIERlZmF1bHQgaXMgbm9ybWFsbHkgMTAKKyAgICAgICAgICAgICJvcmlnaW5zIjogWyIqIl0sIC8vIEV2ZXJ5IGRldmljZSBoYXMgYSB1bmlxdWUgb3JpZ2luCisgICAgICAgICAgICAibG9nZ2luZyI6ICJpbmZvIiwKKyAgICAgICAgICAgICJwaWRfZmlsZSI6ICIvcnVuL2dhdGVvbmUucGlkIiwKKyAgICAgICAgICAgICJzZXNzaW9uX2RpciI6ICIvdG1wL2dhdGVvbmUiLAorICAgICAgICAgICAgInVzZXJfZGlyIjogIkBsb2NhbHN0YXRlQC9saWIvZ2F0ZW9uZS91c2VycyIKKyAgICAgICAgfSwKKyAgICAgICAgInRlcm1pbmFsIjogeworICAgICAgICAgICAgLy8gRGlzYWJsaW5nIHNlc3Npb24gbG9nZ2luZyBmb3IgZW1iZWRkZWQgZGV2aWNlcyBpcyBhIGdvb2QgaWRlYSAobGltaXRlZC9zbG93IHN0b3JhZ2UpCisgICAgICAgICAgICAic2Vzc2lvbl9sb2dnaW5nIjogZmFsc2UsCisgICAgICAgICAgICAic3lzbG9nX3Nlc3Npb25fbG9nZ2luZyI6IGZhbHNlCisvLyAgICAgICAgICAgICAiY29tbWFuZHMiOiB7CisvLyAgICAgICAgICAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uIHRoaXMgZG9lc24ndCB3b3JrIChuZXZlciBhc2tzIGZvciB0aGUgcGFzc3dvcmQpCisvLyAgICAgICAgICAgICAgICAgImxvZ2luIjogInNldHNpZCAvYmluL2xvZ2luIiAvLyBOb3JtYWxseSB0aGlzIHdvdWxkIGVtdWxhdGUgbG9nZ2luZyBpbnRvIHRoZSBob3N0IGNvbnNvbGUKKy8vICAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lL2dhdGVvbmUtYXZhaGkuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lL2dhdGVvbmUtYXZhaGkuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjYxM2QxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmUvZ2F0ZW9uZS1hdmFoaS5zZXJ2aWNlCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0nbm8nPz48IS0tKi1ueG1sLSotLT4KKzwhRE9DVFlQRSBzZXJ2aWNlLWdyb3VwIFNZU1RFTSAiYXZhaGktc2VydmljZS5kdGQiPgorCis8c2VydmljZS1ncm91cD4KKyAgPG5hbWUgcmVwbGFjZS13aWxkY2FyZHM9InllcyI+R2F0ZU9uZSBvbiAlaDwvbmFtZT4KKyAgPHNlcnZpY2U+CisgICAgPHR5cGU+X2h0dHBzLl90Y3A8L3R5cGU+CisgICAgPHBvcnQ+NDQzPC9wb3J0PgorICA8L3NlcnZpY2U+Cis8L3NlcnZpY2UtZ3JvdXA+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhdGVvbmUvZ2F0ZW9uZS9nYXRlb25lLWluaXQuaW4gYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhdGVvbmUvZ2F0ZW9uZS9nYXRlb25lLWluaXQuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZkNjU1YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lL2dhdGVvbmUtaW5pdC5pbgpAQCAtMCwwICsxLDQ3IEBACisjIS9iaW4vc2ggLWUKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIGdhdGVvbmUKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgIG5ldHdvcmtpbmcKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBHYXRlb25lIEhUTUw1IHNzaCBjbGllbnQKKyMgRGVzY3JpcHRpb246ICAgICAgIEdhdGVvbmUgSFRNTDUgdGVybWluYWwgZW11bGF0b3IgYW5kIFNTSCBjbGllbnQuCisjIyMgRU5EIElOSVQgSU5GTworCisuIC9ldGMvaW5pdC5kL2Z1bmN0aW9ucworCitOQU1FPWdhdGVvbmUKK0RBRU1PTj1AYmluZGlyQC9nYXRlb25lCitQSURGSUxFPS9ydW4vZ2F0ZW9uZS5waWQKK1dPUktESVI9QGxvY2Fsc3RhdGVAL2xpYi9nYXRlb25lCisKK2RvX3N0YXJ0KCkgeworICAgIGNkICRXT1JLRElSCisgICAgQGJpbmRpckAvcHl0aG9uICREQUVNT04gPiAvZGV2L251bGwgMj4mMSAmCisgICAgY2QgJE9MRFBXRAorfQorCitkb19zdG9wKCkgeworICAgIGtpbGwgLVRFUk0gYGNhdCAkUElERklMRWAKK30KKworY2FzZSAiJDEiIGluCisgICAgc3RhcnQpCisgICAgICAgIGVjaG8gIlN0YXJ0aW5nIGdhdGVvbmUiCisgICAgICAgIGRvX3N0YXJ0CisgICAgICAgIDs7CisgICAgc3RvcCkKKyAgICAgICAgZWNobyAiU3RvcHBpbmcgZ2F0ZW9uZSIKKyAgICAgICAgZG9fc3RvcAorICAgICAgICA7OworICAgIHJlc3RhcnR8Zm9yY2UtcmVsb2FkKQorICAgICAgICBlY2hvICJSZXN0YXJ0IGdhdGVvbmUiCisgICAgICAgIGRvX3N0b3AKKyAgICAgICAgc2xlZXAgMQorICAgICAgICBkb19zdGFydAorICAgICAgICA7OworICAgICopCisgICAgICAgIGVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iID4mMgorICAgICAgICBleGl0IDEKKyAgICAgICAgOzsKK2VzYWMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lL2dhdGVvbmUuc2VydmljZS5pbiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvZ2F0ZW9uZS9nYXRlb25lL2dhdGVvbmUuc2VydmljZS5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDY2NzI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmUvZ2F0ZW9uZS5zZXJ2aWNlLmluCkBAIC0wLDAgKzEsMTAgQEAKK1tVbml0XQorRGVzY3JpcHRpb249R2F0ZU9uZSBkYWVtb24KK0NvbmRpdGlvblBhdGhFeGlzdHM9fEBsb2NhbHN0YXRlQC9saWIvZ2F0ZW9uZQorCitbU2VydmljZV0KK1dvcmtpbmdEaXJlY3Rvcnk9QGxvY2Fsc3RhdGVAL2xpYi9nYXRlb25lCitFeGVjU3RhcnQ9QGJpbmRpckAvcHl0aG9uIEBiaW5kaXJAL2dhdGVvbmUKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmVfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9nYXRlb25lL2dhdGVvbmVfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmZjc1M2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L2dhdGVvbmUvZ2F0ZW9uZV9naXQuYmIKQEAgLTAsMCArMSw4OSBAQAorU1VNTUFSWSA9ICJIVE1MNSAocGx1Z2luLWZyZWUpIHdlYi1iYXNlZCB0ZXJtaW5hbCBlbXVsYXRvciBhbmQgU1NIIGNsaWVudCIKK0xJQ0VOU0UgPSAiQUdQTC0zLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9ODM0Y2JjNjk5NWRiODg0MzNkYjE3Y2RmODk1M2E0MjgiCitIT01FUEFHRSA9ICJodHRwOi8vbGlmdG9mZnNvZnR3YXJlLmNvbS9Qcm9kdWN0cy9HYXRlT25lIgorCitQViA9ICIxLjIrZ2l0JHtTUkNQVn0iCitTUkNSRVYgPSAiZjdhOWJlNDZjYjkwZjU3NDU5ZWJkMzYzZDI0NzAyZGUwZTY1MTAzNCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9saWZ0b2ZmL0dhdGVPbmUuZ2l0O2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vZ2F0ZW9uZS1hdmFoaS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovLzgwb2UuY29uZi5pbiBcCisgICAgICAgICAgIGZpbGU6Ly9nYXRlb25lLnNlcnZpY2UuaW4gXAorICAgICAgICAgICBmaWxlOi8vZ2F0ZW9uZS1pbml0LmluIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBkaXN0dXRpbHMgcHl0aG9uLWRpciBzeXN0ZW1kIHVwZGF0ZS1yYy5kCitleHBvcnQgcHJlZml4ID0gIiR7bG9jYWxzdGF0ZWRpcn0iCisKK0RJU1RVVElMU19JTlNUQUxMX0FSR1MgPSAiLS1yb290PSR7RH0gXAorICAgIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgLS1pbnN0YWxsLWxpYj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSBcCisgICAgLS1pbnN0YWxsLWRhdGE9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gXAorICAgIC0taW5zdGFsbC1zY3JpcHRzPSR7YmluZGlyfSBcCisgICAgLS1za2lwX2luaXRfc2NyaXB0cyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisKKyAgICAjIGZpeCB1cCBoYXJkY29kZWQgcGF0aHMKKyAgICBmb3IgZmlsZSBpbiBnYXRlb25lLnNlcnZpY2UgZ2F0ZW9uZS1pbml0IDgwb2UuY29uZjsgZG8KKyAgICAgICAgc2VkIC1lIHM6QGJpbmRpckA6JHtiaW5kaXJ9OmcgXAorICAgICAgICAgICAgLWUgczpAbG9jYWxzdGF0ZUA6JHtsb2NhbHN0YXRlZGlyfTpnIFwKKyAgICAgICAgICAgIDwgJHtXT1JLRElSfS8kZmlsZS5pbiBcCisgICAgICAgICAgICA+ICR7V09SS0RJUn0vJGZpbGUKKyAgICBkb25lCisgICAgCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2dhdGVvbmUuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9nYXRlb25lLWluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2dhdGVvbmUKKyAgICAKKyAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0vYXZhaGkvc2VydmljZXMvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZ2F0ZW9uZS1hdmFoaS5zZXJ2aWNlICR7RH0ke3N5c2NvbmZkaXJ9L2F2YWhpL3NlcnZpY2VzLworCisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L2dhdGVvbmUvY29uZi5kLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzgwb2UuY29uZiAke0R9JHtzeXNjb25mZGlyfS9nYXRlb25lL2NvbmYuZC84MG9lLmNvbmYKKworICAgIGluc3RhbGwgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2dhdGVvbmUKK30KKworRklMRVNfJHtQTn0gPSAiJHtsb2NhbHN0YXRlZGlyfS9saWIgJHtiaW5kaXJ9ICR7YmFzZV9saWJkaXJ9ICR7c3lzY29uZmRpcn0gJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0iCitSREVQRU5EU18ke1BOfSA9ICJtaW1lLXN1cHBvcnQgXAorICAgICAgICAgICAgICAgICAgb3BlbnNzaC1zc2ggXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWNvbXByZXNzaW9uIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1jb250ZXh0bGliIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1jcnlwdCBcCisgICAgICAgICAgICAgICAgICBweXRob24tZGF0ZXRpbWUgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWVtYWlsIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1mY250bCBcCisgICAgICAgICAgICAgICAgICBweXRob24tZnV0dXJlcyBcCisgICAgICAgICAgICAgICAgICBweXRob24taHRtbCBcCisgICAgICAgICAgICAgICAgICBweXRob24taW1hZ2luZyBcCisgICAgICAgICAgICAgICAgICBweXRob24taW8gXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWpzb24gXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWxvZ2dpbmcgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLW1pc2MgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLW11bHRpcHJvY2Vzc2luZyBcCisgICAgICAgICAgICAgICAgICBweXRob24tbmV0Y2xpZW50IFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1wa2d1dGlsIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1weW9wZW5zc2wgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXJlIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1yZWFkbGluZSBcCisgICAgICAgICAgICAgICAgICBweXRob24tc2V0dXB0b29scyBcCisgICAgICAgICAgICAgICAgICBweXRob24tc2hlbGwgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXNpbXBsZWpzb24gXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXN1YnByb2Nlc3MgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXN5c2xvZyBcCisgICAgICAgICAgICAgICAgICBweXRob24tdGVybWluYWwgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXRleHR1dGlscyBcCisgICAgICAgICAgICAgICAgICBweXRob24tdG9ybmFkbyBcCisgICAgICAgICAgICAgICAgICBweXRob24tdW5peGFkbWluIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi14bWwgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWh0bWw1bGliIFwKKyAgICAgICAgICAgICAgICAgIGJhc2ggXAorIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiZ2F0ZW9uZS5zZXJ2aWNlIgorSU5JVFNDUklQVF9OQU1FID0gImdhdGVvbmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1weXJvNC9weXRob24tcHlybzRfNC4zOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLXB5cm80L3B5dGhvbi1weXJvNF80LjM5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1Yjc5M2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1weXJvNC9weXRob24tcHlybzRfNC4zOS5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlB5dGhvbiBSZW1vdGUgT2JqZWN0cyIKK0hPTUVQQUdFID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvUHlybzQvIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWI0OGI2MmRkMjcwYzQ2OTFmYWJhYTg1YmUzMjM2MDMwIgorCitTUkNOQU1FID0gIlB5cm80IgorCitTUkNfVVJJID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9QLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3NWVkNWNkMTQyODAzYjBhOGQ1ODdkYzhiNmJiNTFlZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzOWM2Y2E3Zjg2YjBmMGJlYmZlYWRhNjg3YTVhOGI5OWY2NjQ3MGE1MmIwZjgxNTE5NWFlNjNjNjgzMjY2ZjI0IgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi10aHJpZnQvcHl0aG9uLXRocmlmdF8wLjkuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLXRocmlmdC9weXRob24tdGhyaWZ0XzAuOS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwYzRhZjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi10aHJpZnQvcHl0aG9uLXRocmlmdF8wLjkuMi5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlB5dGhvbiBiaW5kaW5ncyBmb3IgdGhlIEFwYWNoZSBUaHJpZnQgUlBDIHN5c3RlbSIKK0hPTUVQQUdFID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvYW1xcC8iCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT1kZjE3YTU5Y2M5ZTEzMjdlYzQ5YzIyODVlMTNhYzQ3NyIKKworU1JDTkFNRSA9ICJ0aHJpZnQiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvc291cmNlL3QvJHtTUkNOQU1FfS8ke1NSQ05BTUV9LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjkxZjFjMjI0YzQ2YTI1N2JiNDI4NDMxOTQzMzg3ZGZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA4ZjY2NWU0YjAzM2M5ZDJkMGI2MTc0ZDg2OTI3MzEwNDM2MmM4MGU3N2VlNGMwMTA1NGE3NDE0MWUzNzhhZmEiCisKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitpbmhlcml0IHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLXR4d3MvcHl0aG9uLXR4d3NfMC45LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi10eHdzL3B5dGhvbi10eHdzXzAuOS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiMmFjMTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi10eHdzL3B5dGhvbi10eHdzXzAuOS4xLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiVHdpc3RlZCBXZWIgU29ja2V0cyIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9Nb3N0QXdlc29tZUR1ZGUvdHhXUyIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NzY2OTk4MzBkYjdmYTllODk3ZjZhMWFkMDVmOThlYzgiCisKK0RFUEVORFMgPSAicHl0aG9uLXR3aXN0ZWQgcHl0aG9uLXNpeCBweXRob24tdmN2ZXJzaW9uZXIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9Nb3N0QXdlc29tZUR1ZGUvdHhXUy5naXQiCitTUkNSRVY9ICI4OGNmNmQ5YjliNjg1ZmZhMTcyMDY0NGJkNTNjNzQyYWZiMTBhNDE0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IHNldHVwdG9vbHMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXJ0bV8wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5cnRtXzAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDM4MmI5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXJ0bV8wLjIuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlB5dGhvbiBpbnRlcmZhY2UgZm9yIFJlbWVtYmVyIFRoZSBNaWxrIEFQSSIKK0FVVEhPUiA9ICJTcmlkaGFyIFJhdG5ha3VtYXIgLyBzcmlkIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTztiZWdpbmxpbmU9ODtlbmRsaW5lPTg7bWQ1PWE1M2NiYzdjYjc1NjYwNjk0ZTEzOGJhOTczYzE0OGRmIgorCitpbmhlcml0IHB5cGkgZGlzdHV0aWxzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNDQyM2YzOWNhZjdkZjhhOWRiOGUyNDNiZTljZjFhMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkOWQ0NmQwOTZhMzhjYjY5MmI1NWY0ZWU5ZjM2NGQ1NDM0ODI5OGU5NDk3YjExYzFlZjA1NzUzOWI1ZGUxNTY3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXV0b2JhaG5fMC44LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1hdXRvYmFobl8wLjguNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjRkZDhmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXV0b2JhaG5fMC44LjYuYmIKQEAgLTAsMCArMSwxNiBAQAorREVTQ1JJUFRJT04gPSAiQXV0b2JhaG5QeXRob24gcHJvdmlkZXMgYSBXZWJTb2NrZXQgKFJGQzY0NTUsIEh5YmktMTAgdG8gLTE3LCBIaXhpZS03NikgZnJhbWV3b3JrIGZvciBjcmVhdGluZyBXZWJTb2NrZXQtYmFzZWQgY2xpZW50cyBhbmQgc2VydmVycy4gXAorQXV0b2JhaG5QeXRob24gYWxzbyBpbmNsdWRlcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBXQU1QIChUaGUgV2ViU29ja2V0cyBBcHBsaWNhdGlvbiBNZXNzYWdpbmcgUHJvdG9jb2wpLCBhIGxpZ2h0LXdlaWdodCwgIFwKK2FzeW5jaHJvbm91cyBSUEMvUHViU3ViIG92ZXIgSlNPTi9XZWJTb2NrZXQgcHJvdG9jb2wuIgorSE9NRVBBR0UgPSAiaHR0cDovL2F1dG9iYWhuLndzL3B5dGhvbiIKKworTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICIgZmlsZTovL2F1dG9iYWhuL19faW5pdF9fLnB5O2JlZ2lubGluZT0xO2VuZGxpbmU9MTc7bWQ1PTFmZGVjY2Y2ZTViNzBjZGE2NGNjMTM0NTU5N2MxOGUzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTYwNDI5ZTdmYjA0Mzk0MGU3OWFhN2Y0ZWJiYWI1N2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTRhZTVjNmYzN2Y5ZmU3YzlkM2YxMmMxNzBmY2MyNzNhZmVkNDEwNGExYzU1MDhiMjZkNjAxNGJiOWU2MzczZSIKKworUFlQSV9QQUNLQUdFX0VYVCA9ICJ6aXAiCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJweXRob24gcHl0aG9uLXBwcmludCBweXRob24tdHdpc3RlZC1wcm90b2NvbHMgcHl0aG9uLW5ldHNlcnZlciBweXRob24tdHdpc3RlZC13ZWIiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJhY2twb3J0cy1zc2xfMy40LjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJhY2twb3J0cy1zc2xfMy40LjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTJkMTc0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYmFja3BvcnRzLXNzbF8zLjQuMC4yLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiVGhlIHNzbC5tYXRjaF9ob3N0bmFtZSgpIGZ1bmN0aW9uIGZyb20gUHl0aG9uIDMuNCIKK0RFU0NSSVBUSU9OID0gIlRoZSBTZWN1cmUgU29ja2V0cyBsYXllciBpcyBvbmx5IGFjdHVhbGx5IHNlY3VyZSBpZiB5b3UgY2hlY2sgdGhlIGhvc3RuYW1lIGluIHRoZSBcCitjZXJ0aWZpY2F0ZSByZXR1cm5lZCBieSB0aGUgc2VydmVyIHRvIHdoaWNoIHlvdSBhcmUgY29ubmVjdGluZywgYW5kIHZlcmlmeSB0aGF0IGl0IG1hdGNoZXMgdG8gaG9zdG5hbWUgXAordGhhdCB5b3UgYXJlIHRyeWluZyB0byByZWFjaC4gQnV0IHRoZSBtYXRjaGluZyBsb2dpYywgZGVmaW5lZCBpbiBSRkMyODE4LCBjYW4gYmUgYSBiaXQgdHJpY2t5IHRvIGltcGxlbWVudCBcCitvbiB5b3VyIG93bi4gU28gdGhlIHNzbCBwYWNrYWdlIGluIHRoZSBTdGFuZGFyZCBMaWJyYXJ5IG9mIFB5dGhvbiAzLjIgYW5kIGdyZWF0ZXIgbm93IGluY2x1ZGVzIGEgXAorbWF0Y2hfaG9zdG5hbWUoKSBmdW5jdGlvbiBmb3IgcGVyZm9ybWluZyB0aGlzIGNoZWNrIGluc3RlYWQgb2YgcmVxdWlyaW5nIGV2ZXJ5IGFwcGxpY2F0aW9uIHRvIFwKK2ltcGxlbWVudCB0aGUgY2hlY2sgc2VwYXJhdGVseS4gVGhpcyBiYWNrcG9ydCBicmluZ3MgbWF0Y2hfaG9zdG5hbWUoKSB0byB1c2VycyBvZiBlYXJsaWVyIHZlcnNpb25zIG9mIFB5dGhvbiIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT03N2I2ODQ5NjBiODZiN2E0YmI0YTQ1MGZmZGUwODYwNSIKKworU1JDX1VSSVttZDVzdW1dID0gIjc4ODIxNGYyMDIxNGM2NDYzMWYwODU5ZGM3OWYyM2M2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3NDEwZTdmYjA5YWFiN2JkYWY1ZTYxOGRlNjZjM2RhYzg0ZTJlM2Q2MjgzNTI4MTRkYzRjMzdkZTMyMWQ2YWUiCisKK1BZUElfUEFDS0FHRSA9ICJiYWNrcG9ydHMuc3NsX21hdGNoX2hvc3RuYW1lIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJjcnlwdF8yLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJjcnlwdF8yLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zY2JlMzNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYmNyeXB0XzIuMC4wLmJiCkBAIC0wLDAgKzEsMTUgQEAKK0RFU0NSSVBUSU9OID0gIk1vZGVybiBwYXNzd29yZCBoYXNoaW5nIGZvciB5b3VyIHNvZnR3YXJlIGFuZCB5b3VyIHNlcnZlcnMuIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9ZTE5ZDBmZTQwYzVjZTQxMDllNmJjYmY0YWFiMmE1YmQiCisKK0RFUEVORFMgPSAicHl0aG9uLWNmZmktbmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTdmYjE3YmU0NjkwNGNkYjJhZTZhMDYyODU5ZWU1OGMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGIyZDE5N2VmMjIwZDEwZWI3NDYyNWRkZTdhZjNiMTBkYWE5NzNhZTlhMWVhZGQ2MzY2Zjc2M2ZhZDQzODdmYSIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIHB5dGhvbi1jZmZpIFwKKyAgICBweXRob24tc2l4IFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJlaGF2ZV8xLjIuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJlaGF2ZV8xLjIuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDFhNzlkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYmVoYXZlXzEuMi41LmJiCkBAIC0wLDAgKzEsMTAgQEAKK1NVTU1BUlkgPSAiQSBiZWhhdmlvci1kcml2ZW4gZGV2ZWxvcG1lbnQgZnJhbWV3b3JrLCBQeXRob24gc3R5bGUiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWQ5NTA0MzllOGVhNmVkMjMzZTQyODhmNWUxYTQ5YzA2IgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2FmNGJjMjg4NmQyYmU5ODJlNDFiZmFiYTYxZGEzYmMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODFiNzMxYWM1MTg3ZTMxZTRhYWQyNTk0OTQ0ZmE5MTQ5NDM2ODNhOTgxODMyMDg0NmQwMzdjNWViZDZkNWQwYiIKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1kaWZmbGliIHB5dGhvbi1zZXR1cHRvb2xzIHB5dGhvbi1wa2d1dGlsIHB5dGhvbi1taXNjIHB5dGhvbi1hcmdwYXJzZSBweXRob24teG1sIHB5dGhvbi1pbXBvcnRsaWIgcHl0aG9uLWVudW0zNCBweXRob24tcGFyc2UgcHl0aG9uLXBhcnNlLXR5cGUgcHl0aG9uLXNpeCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJpdGFycmF5XzAuOC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYml0YXJyYXlfMC44LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ1ZjFmYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWJpdGFycmF5XzAuOC4xLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiQSBoaWdoLWxldmVsIFB5dGhvbiBlZmZpY2llbnQgYXJyYXlzIG9mIGJvb2xlYW5zIC0tIEMgZXh0ZW5zaW9uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2lsYW5zY2huZWxsL2JpdGFycmF5IgorTElDRU5TRSA9ICJQU0YiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zYmE0NjkzNTNmOWYyYTI0NGIyMDc1OTAyMzUxZTM3ZCIKKworU1JDX1VSSVttZDVzdW1dID0gIjM4MjUxODRmNTRmNGQ5MzUwOGEyODAzMWI0YzY1ZDNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdkYTUwMTM1NmU0OGE4M2M2MWY0NzkzOTM2ODFjMWJjNGI5NGU1YTM0YWNlN2UwOGNiMjllN2RkOTI5MGFiMTgiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYmxpbmtlcl8xLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ibGlua2VyXzEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wY2UxNDFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYmxpbmtlcl8xLjQuYmIKQEAgLTAsMCArMSw4IEBACitERVNDUklQVElPTiA9ICJGYXN0LCBzaW1wbGUgb2JqZWN0LXRvLW9iamVjdCBhbmQgYnJvYWRjYXN0IHNpZ25hbGluZy4iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT05NDZkN2U4OWFmNmY3NzMzYWVhZWJlZDU2MzVkMjY4MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjhiMzcyMjM4MWY4M2MyODEzYzUyZGUzMDE2YjY4ZDMzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ3MWFlZTI1ZjM5OTJiZDMyNWFmYTM3NzJmMTA2M2RiZGJiY2E5NDdhMDQxYjhiODk0NjZkYzAwZDYwNmY4YjYiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jZXJ0aWZpLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNlcnRpZmkuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmZThiMTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jZXJ0aWZpLmluYwpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIlB5dGhvbiBwYWNrYWdlIGZvciBwcm92aWRpbmcgTW96aWxsYSdzIENBIEJ1bmRsZS4iCitERVNDUklQVElPTiA9ICJUaGlzIGluc3RhbGxhYmxlIFB5dGhvbiBwYWNrYWdlIGNvbnRhaW5zIGEgQ0EgQnVuZGxlIHRoYXQgeW91IGNhbiByZWZlcmVuY2UgaW4geW91ciBcCitQeXRob24gY29kZS4gVGhpcyBpcyB1c2VmdWwgZm9yIHZlcmlmeWluZyBIVFRQIHJlcXVlc3RzLCBmb3IgZXhhbXBsZS4gIFRoaXMgaXMgdGhlIHNhbWUgQ0EgQnVuZGxlIFwKK3doaWNoIHNoaXBzIHdpdGggdGhlIFJlcXVlc3RzIGNvZGViYXNlLCBhbmQgaXMgZGVyaXZlZCBmcm9tIE1vemlsbGEgRmlyZWZveCdzIGNhbm9uaWNhbCBzZXQuIgorSE9NRVBBR0UgPSAiIGh0dHA6Ly9jZXJ0aWZpLmlvLyIKKworTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mNzdmNjFkMTRlZTZmZWFjNDIyOGQzZWJkMjZjYzFmMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjVkNjcyYWE3NjZlMWY3NzNjNzVjZmVjY2QwMmQzNjUwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVlOGVjY2Y5NTkyNDY1OGM5N2I5OTBiNTA1NTJhZGRiNjRmNTVlMWUzZGZlNDg4MDQ1NmFjMWYyODdkYzc5ZDAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jZXJ0aWZpXzIwMTYuMi4yOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNlcnRpZmlfMjAxNi4yLjI4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkZmU2MjMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jZXJ0aWZpXzIwMTYuMi4yOC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1jZXJ0aWZpLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2ZmaV8xLjUuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNmZmlfMS41LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIyNTg3NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNmZmlfMS41LjIuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJGb3JlaWduIEZ1bmN0aW9uIEludGVyZmFjZSBmb3IgUHl0aG9uIGNhbGxpbmcgQyBjb2RlIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01Njc3ZTJmZGJmN2NkZGE2MWQ2ZGQyYjU3ZGY1NDdiZiIKK0RFUEVORFMgPSAibGliZmZpIHB5dGhvbi1weWNwYXJzZXIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYTc2NjEzM2Y3Mjk5NDY0YzhiZjg1N2UwYzk2NmE4MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYTliZGU5OTg3MmU0NmY3YmI1Y2ZmNDBhOWIxY2MwODQwNjc2NWVmYWZiNTgzYzcwNGRlMTA4YjZjYjgyMWRkIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNoYXJkZXRfMi4zLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jaGFyZGV0XzIuMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmYzk3OWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jaGFyZGV0XzIuMy4wLmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJVbml2ZXJzYWwgZW5jb2RpbmcgZGV0ZWN0b3IgZm9yIFB5dGhvbiAyIGFuZCAzIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWE2Zjg5ZTIxMDBkOWI2Y2RmZmNlYTRmMzk4ZTM3MzQzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjUyNzRkNjY0Y2NiNTEzMGFkYWUwODA0NzQxNmUxYTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTUzZTM4YjNhNGFmZTZkMTEzMmRlNjJiNzQwMGE0YWMzNjM0NTJkYzVkZmNmOGQ4OGU4ZTBjY2U2NjNjNjhhYSIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNoZWV0YWhfMi40LjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jaGVldGFoXzIuNC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwZmMyZmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jaGVldGFoXzIuNC40LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIHRlbXBsYXRlIGVuZ2luZSBhbmQgY29kZSBnZW5lcmF0aW9uIHRvb2wiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWFmZjExMDc1MTRhYTZhYWU5NDhmOWZlNzFmZGMzOTNiIgorCitQUiA9ICJyMyIKKworUFlQSV9QQUNLQUdFID0gIkNoZWV0YWgiCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tcGlja2xlIHB5dGhvbi1wcHJpbnQiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NTM5MTcxMTZlNzMxYWZiYzhjOGE0M2MzN2U2ZGRiYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZTMwODIyOWYwYzFlNWU1YWY0ZjI3ZDdlZTA2ZDkwYmIxOWU2YWYzMDU5Nzk0ZTVmZDUzNmE2ZjI5YTliNTUwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xvdWRlZWJ1c18wLjYuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNsb3VkZWVidXNfMC42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTIwYThhNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNsb3VkZWVidXNfMC42LjAuYmIKQEAgLTAsMCArMSwzNSBAQAorREVTQ1JJUFRJT04gPSAiQSBjb21wb25lbnQgd2hpY2ggZW5hYmxlcyBjYWxsaW5nIERCdXMgbWV0aG9kcyBhbmQgcmVnaXN0ZXJpbmcgb24gREJ1cyBzaWduYWxzIGZyb20gSmF2YXNjcmlwdCIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS8wMW9yZy9jbG91ZGVlYnVzIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yZWU0MTExMmE0NGZlNzAxNGRjZTMzZTI2NDY4YmE5MyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tLzAxb3JnL2Nsb3VkZWVidXMuZ2l0O3Byb3RvY29sPWh0dHA7YnJhbmNoPW1hc3RlciAiCitTUkNSRVYgPSAiYjVjYzk1N2VlYWJmZTk4Y2I5OTZiYWY4ZTVhMGFjODQ4OTkzYzNkNCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBkaXN0dXRpbHMgCisKK0RFUEVORFNfJHtQTn0gPSAicHl0aG9uIHB5dGhvbi1kaXN0cmlidXRlIgorUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uIHB5dGhvbi1kYnVzIHB5dGhvbi1qc29uIHB5dGhvbi1hcmdwYXJzZSBweXRob24tcHlnb2JqZWN0IHB5dGhvbi1hdXRvYmFobiBweXRob24tdHdpc3RlZCBweXRob24tc3VicHJvY2VzcyIKKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICBpbnN0YWxsIC1kICR7RH0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8ke1BOfQorfQorCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTID0gIi0tcm9vdD0ke0R9IFwKKyAgICAtLXNpbmdsZS12ZXJzaW9uLWV4dGVybmFsbHktbWFuYWdlZCBcCisgICAgLS1wcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtLWluc3RhbGwtbGliPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IFwKKyAgICAtLWluc3RhbGwtZGF0YT0ke2RhdGFkaXJ9IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgZGlzdHV0aWxzX2RvX2luc3RhbGwKKyAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9kb2MvJHtCUE59LworICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9SRUFETUUubWQgJHtEfSR7ZGF0YWRpcn0vZG9jLyR7QlBOfS8KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vY2xvdWRlZWJ1cyIKK0ZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuY2xvdWRlZWJ1cy5jb25mIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jbWQyXzAuNi44LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY21kMl8wLjYuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDk2MmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY21kMl8wLjYuOC5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkV4dHJhIGZlYXR1cmVzIGZvciBzdGFuZGFyZCBsaWJyYXJ5J3MgY21kIG1vZHVsZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9wYWNrYWdlcy5weXRob24ub3JnL2NtZDIvIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zZXR1cC5weTtiZWdpbmxpbmU9MjE7ZW5kbGluZT0yMTttZDU9YTAwMDQ3YjdlOTJlMDc4MTQ1MmQwYmViYTRlN2I0NGUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMzJjOWE4OTdlMDEwYzk3N2I1MGMxZGRjMTNmMDlmZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYzc4MGQ4YzMxZmMxMDdiZjZiNGVkY2JjZWE3MTFkZTRmZjc3NmQ1OWQ4OWJiMTY3Zjg4MTlkMmQ4Mzc2NGE4IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLXB5cGFyc2luZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTUwZTUwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5LXZlY3RvcnNfMS4xLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiVGVzdCB2ZWN0b3JzIGZvciB0aGUgY3J5cHRvZ3JhcGh5IHBhY2thZ2UuIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkFwYWNoZS0yLjAgfCBCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04YzM2MTdkYjRmYjZmYWUwMWYxZDI1M2FiOTE1MTFlNCIKK0RFUEVORFMgPSAicHl0aG9uLWNyeXB0b2dyYXBoeSIKK1NSQ05BTUUgPSAiY3J5cHRvZ3JhcGh5X3ZlY3RvcnMiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvc291cmNlL2MvY3J5cHRvZ3JhcGh5LXZlY3RvcnMvJHtTUkNOQU1FfS0ke1BWfS50YXIuZ3oiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjBhZDQyMjUwMTA3NDkyOWMwNmI3ZWRkNDBkZjQxODQ0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE5MjlmYmIwZWFjMzkxYzkzYzU3NDU0NTFhNGQ0MTU3YThiYzE4ZWIyZTY5ZmFmM2FmMWQ4MjVjZWFjYmYzMmMiCisKK2luaGVyaXQgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5L0NvbW1lbnRfbGluZ2VyaW5nX1NTTHYyX3N5bWJvbC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9Db21tZW50X2xpbmdlcmluZ19TU0x2Ml9zeW1ib2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI4ZTdlZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9Db21tZW50X2xpbmdlcmluZ19TU0x2Ml9zeW1ib2wucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorRnJvbSBmMzI2ZTRhOTdjY2U2Yjk0Nzk1NjBjZTBjNjVhZDE4ZDU0MzkzZjk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ29yeSBCZW5maWVsZCA8bHVrYXNhb3pAZ21haWwuY29tPgorRGF0ZTogTW9uLCAxNCBEZWMgMjAxNSAxNTozNzo0NiArMDAwMAorU3ViamVjdDogW1BBVENIXSBDb21tZW50IGxpbmdlcmluZyBTU0x2MiBzeW1ib2wuCisKKy0tLQorIHNyYy9fY2ZmaV9zcmMvb3BlbnNzbC9zc2wucHkgfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK0luZGV4OiBjcnlwdG9ncmFwaHktMS4xL3NyYy9fY2ZmaV9zcmMvb3BlbnNzbC9zc2wucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjcnlwdG9ncmFwaHktMS4xLm9yaWcvc3JjL19jZmZpX3NyYy9vcGVuc3NsL3NzbC5weQorKysrIGNyeXB0b2dyYXBoeS0xLjEvc3JjL19jZmZpX3NyYy9vcGVuc3NsL3NzbC5weQorQEAgLTQyMSw2ICs0MjEsMTAgQEAgY29uc3QgbG9uZyBTU0xfT1BfTEVHQUNZX1NFUlZFUl9DT05ORUNUCisgc3RhdGljIGNvbnN0IGxvbmcgQ3J5cHRvZ3JhcGh5X0hBU19TRUNVUkVfUkVORUdPVElBVElPTiA9IDE7CisgI2VuZGlmCisgCisrLyogQ3J5cHRvZ3JhcGh5IG5vdyBjb21waWxlcyBvdXQgYWxsIFNTTHYyIGJpbmRpbmdzLiBUaGlzIGV4aXN0cyB0byBhbGxvdworKyAqIGNsaWVudHMgdGhhdCB1c2UgaXQgdG8gY2hlY2sgZm9yIFNTTHYyIHN1cHBvcnQgdG8ga2VlcCBmdW5jdGlvbmluZyBhcworKyAqIGV4cGVjdGVkLgorKyAqLworIHN0YXRpYyBjb25zdCBsb25nIENyeXB0b2dyYXBoeV9IQVNfU1NMMiA9IDA7CisgCisgI2lmZGVmIE9QRU5TU0xfTk9fU1NMM19NRVRIT0QKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9SZW1vdmVfU1NMdjJfYmluZGluZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkvUmVtb3ZlX1NTTHYyX2JpbmRpbmdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1MjIzMjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkvUmVtb3ZlX1NTTHYyX2JpbmRpbmdzLnBhdGNoCkBAIC0wLDAgKzEsNzUgQEAKK0Zyb20gOTBjNmE1M2E4ODVkZDVjNjY5OTIzMDllMGFmOThhYzU1NGYxYmI5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENvcnkgQmVuZmllbGQgPGx1a2FzYW96QGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTQgRGVjIDIwMTUgMDg6MzU6MjAgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlIFNTTHYyIGJpbmRpbmdzLgorCitUaGlzIGNvbW1pdCByZW1vdmVzIGJpbmRpbmdzIHRoYXQgYWxsb3cgdXNlcnMgdG8gc2V0IFNTTHYyIGhhbmRzaGFrZQorbWV0aG9kcy4gVGhlc2UgYXJlIHJlZ2FyZGVkIGFzIHVubmVjZXNzYXJ5IGFuZCBvdXQtb2YtZGF0ZTogc2VlICMyNTI3LgorVGhpcyBjb21taXQgZG9lcyBsZWF2ZSBpbiBhIGZldyBvcHRpb25zIHRoYXQgcmVmZXIgdG8gU1NMdjIgaW4gb3JkZXIgdG8KK2F2b2lkIGJyZWFraW5nIGRlcGxveW1lbnRzIHRoYXQgcmVseSBvbiB0aGVtLCBhbmQgaW4gb3JkZXIgdG8gYWxsb3cKK3VzZXJzIHRvIGNvbnRpbnVlIHRvIHJlcXVlc3QgdGhhdCBTU0x2MiBub3QgYmUgZW5hYmxlZCBhdCBhbGwgaW4gdGhlaXIKK09wZW5TU0wuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworVGhpcyBmaXhlcyB0aGUgY29tcGlsZSBpc3N1ZSBhZnRlciB1cGRhdGluZyB0byBvcGVuc3NsIDEuMC4yaAorU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyQG12aXN0YS5jb20+CisKKy0tLQorIHNyYy9fY2ZmaV9zcmMvb3BlbnNzbC9zc2wucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNyArLS0tLS0tLS0tLS0tLS0tLQorIC4uLi9oYXptYXQvYmluZGluZ3Mvb3BlbnNzbC9fY29uZGl0aW9uYWwucHkgICAgICAgICAgICAgfCAgNiAtLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyMiBkZWxldGlvbnMoLSkKKworSW5kZXg6IGNyeXB0b2dyYXBoeS0xLjEvc3JjL19jZmZpX3NyYy9vcGVuc3NsL3NzbC5weQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNyeXB0b2dyYXBoeS0xLjEub3JpZy9zcmMvX2NmZmlfc3JjL29wZW5zc2wvc3NsLnB5CisrKysgY3J5cHRvZ3JhcGh5LTEuMS9zcmMvX2NmZmlfc3JjL29wZW5zc2wvc3NsLnB5CitAQCAtMjkyLDE1ICsyOTIsNiBAQCB1bnNpZ25lZCBsb25nIFNTTF9DVFhfYWRkX2V4dHJhX2NoYWluX2NlCisgCisgLyogIG1ldGhvZHMgKi8KKyAKKy0vKiBTU0x2MiBzdXBwb3J0IGlzIGNvbXBpbGVkIG91dCBvZiBzb21lIHZlcnNpb25zIG9mIE9wZW5TU0wuICBUaGVzZSB3aWxsCistICogZ2V0IHNwZWNpYWwgc3VwcG9ydCB3aGVuIHdlIGdlbmVyYXRlIHRoZSBiaW5kaW5ncyBzbyB0aGF0IGlmIHRoZXkgYXJlCistICogYXZhaWxhYmxlIHRoZXkgd2lsbCBiZSB3cmFwcGVkLCBidXQgaWYgdGhleSBhcmUgbm90IHRoZXkgd29uJ3QgY2F1c2UKKy0gKiBwcm9ibGVtcyAobGlrZSBsaW5rIGVycm9ycykuCistICovCistY29uc3QgU1NMX01FVEhPRCAqU1NMdjJfbWV0aG9kKHZvaWQpOworLWNvbnN0IFNTTF9NRVRIT0QgKlNTTHYyX3NlcnZlcl9tZXRob2Qodm9pZCk7CistY29uc3QgU1NMX01FVEhPRCAqU1NMdjJfY2xpZW50X21ldGhvZCh2b2lkKTsKKy0KKyAvKgorICAqIFRMU3YxXzEgYW5kIFRMU3YxXzIgYXJlIHJlY2VudCBhZGRpdGlvbnMuICBPbmx5IHN1ZmZpY2llbnRseSBuZXcgdmVyc2lvbnMgb2YKKyAgKiBPcGVuU1NMIHN1cHBvcnQgdGhlbS4KK0BAIC00MjksMTQgKzQyMCw4IEBAIGNvbnN0IGxvbmcgU1NMX09QX0xFR0FDWV9TRVJWRVJfQ09OTkVDVAorICNlbHNlCisgc3RhdGljIGNvbnN0IGxvbmcgQ3J5cHRvZ3JhcGh5X0hBU19TRUNVUkVfUkVORUdPVElBVElPTiA9IDE7CisgI2VuZGlmCistI2lmZGVmIE9QRU5TU0xfTk9fU1NMMgorKworIHN0YXRpYyBjb25zdCBsb25nIENyeXB0b2dyYXBoeV9IQVNfU1NMMiA9IDA7CistU1NMX01FVEhPRCogKCpTU0x2Ml9tZXRob2QpKHZvaWQpID0gTlVMTDsKKy1TU0xfTUVUSE9EKiAoKlNTTHYyX2NsaWVudF9tZXRob2QpKHZvaWQpID0gTlVMTDsKKy1TU0xfTUVUSE9EKiAoKlNTTHYyX3NlcnZlcl9tZXRob2QpKHZvaWQpID0gTlVMTDsKKy0jZWxzZQorLXN0YXRpYyBjb25zdCBsb25nIENyeXB0b2dyYXBoeV9IQVNfU1NMMiA9IDE7CistI2VuZGlmCisgCisgI2lmZGVmIE9QRU5TU0xfTk9fU1NMM19NRVRIT0QKKyBzdGF0aWMgY29uc3QgbG9uZyBDcnlwdG9ncmFwaHlfSEFTX1NTTDNfTUVUSE9EID0gMDsKK0luZGV4OiBjcnlwdG9ncmFwaHktMS4xL3NyYy9jcnlwdG9ncmFwaHkvaGF6bWF0L2JpbmRpbmdzL29wZW5zc2wvX2NvbmRpdGlvbmFsLnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY3J5cHRvZ3JhcGh5LTEuMS5vcmlnL3NyYy9jcnlwdG9ncmFwaHkvaGF6bWF0L2JpbmRpbmdzL29wZW5zc2wvX2NvbmRpdGlvbmFsLnB5CisrKysgY3J5cHRvZ3JhcGh5LTEuMS9zcmMvY3J5cHRvZ3JhcGh5L2hhem1hdC9iaW5kaW5ncy9vcGVuc3NsL19jb25kaXRpb25hbC5weQorQEAgLTI3NCwxMiArMjc0LDYgQEAgQ09ORElUSU9OQUxfTkFNRVMgPSB7CisgICAgICAgICAiVExTdjFfMl9jbGllbnRfbWV0aG9kIiwKKyAgICAgXSwKKyAKKy0gICAgIkNyeXB0b2dyYXBoeV9IQVNfU1NMMiI6IFsKKy0gICAgICAgICJTU0x2Ml9tZXRob2QiLAorLSAgICAgICAgIlNTTHYyX2NsaWVudF9tZXRob2QiLAorLSAgICAgICAgIlNTTHYyX3NlcnZlcl9tZXRob2QiLAorLSAgICBdLAorLQorICAgICAiQ3J5cHRvZ3JhcGh5X0hBU19TU0wzX01FVEhPRCI6IFsKKyAgICAgICAgICJTU0x2M19tZXRob2QiLAorICAgICAgICAgIlNTTHYzX2NsaWVudF9tZXRob2QiLApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5L2J1aWxkX2ZpeF9vcGVuc3NsXzEuMC4xZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9idWlsZF9maXhfb3BlbnNzbF8xLjAuMWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA4OTk0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS9idWlsZF9maXhfb3BlbnNzbF8xLjAuMWcucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorYnVpbGQgaXNzdWUgZG8gdG8gb3BlbnNzbCAxLjAuMWcgdXBncmFkZQorCitCSU8gKkJJT19uZXdfbWVtX2J1Zih2b2lkICosIGludCk7CisgICAgICBeCitJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMvcWVtdWFybS91c3IvaW5jbHVkZS9vcGVuc3NsL2FzbjEuaDo2NTowLAorZnJvbSBidWlsZC90ZW1wLmxpbnV4LXg4Nl82NC0yLjcvX29wZW5zc2wuYzo0MTM6CisKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK3NlZW1zIHRvIGJlIGEga25vd24gaXNzdWUKK2h0dHBzOi8vZ2l0aHViLmNvbS9weWNhL2NyeXB0b2dyYXBoeS9pc3N1ZXMvMjc1MAorCitTaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KKworSW5kZXg6IHNyYy9fY2ZmaV9zcmMvb3BlbnNzbC9iaW8ucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9fY2ZmaV9zcmMvb3BlbnNzbC9iaW8ucHkKKysrKyBiL3NyYy9fY2ZmaV9zcmMvb3BlbnNzbC9iaW8ucHkKK0BAIC05OSw3ICs5OSw3IEBAIEJJTyAqQklPX3BvcChCSU8gKik7CisgQklPICpCSU9fbmV4dChCSU8gKik7CisgQklPICpCSU9fZmluZF90eXBlKEJJTyAqLCBpbnQpOworIEJJT19NRVRIT0QgKkJJT19zX21lbSh2b2lkKTsKKy1CSU8gKkJJT19uZXdfbWVtX2J1Zih2b2lkICosIGludCk7CisrQklPICpCSU9fbmV3X21lbV9idWYoY29uc3Qgdm9pZCAqLCBpbnQpOworIEJJT19NRVRIT0QgKkJJT19zX2ZpbGUodm9pZCk7CisgQklPICpCSU9fbmV3X2ZpbGUoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworIEJJTyAqQklPX25ld19mcChGSUxFICosIGludCk7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkvcnVuLXB0ZXN0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5L3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmEyMzljCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5L3J1bi1wdGVzdApAQCAtMCwwICsxLDIgQEAKKyMhL2Jpbi9zaAorcHkudGVzdApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5XzEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeV8xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjY1YTRjYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeV8xLjEuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJQcm92aWRlcyBjcnlwdG9ncmFwaGljIHJlY2lwZXMgYW5kIHByaW1pdGl2ZXMgdG8gUHl0aG9uIGRldmVsb3BlcnMiCitMSUNFTlNFID0gIkFwYWNoZS0yLjAgfCBCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04YzM2MTdkYjRmYjZmYWUwMWYxZDI1M2FiOTE1MTFlNCIKK0RFUEVORFMgKz0gIiBweXRob24tY2ZmaS1uYXRpdmUgcHl0aG9uLWNmZmkgcHl0aG9uLWVudW0zNCBweXRob24tc2l4IHB5dGhvbi1weWFzbjEiCitTUkNOQU1FID0gImNyeXB0b2dyYXBoeSIKKworU1JDX1VSSSA9ICJmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL2J1aWxkX2ZpeF9vcGVuc3NsXzEuMC4xZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9SZW1vdmVfU1NMdjJfYmluZGluZ3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vQ29tbWVudF9saW5nZXJpbmdfU1NMdjJfc3ltYm9sLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGQwNmRhNDE1MzUxODRmNDhmMmM4ZThiNzRkZDU3MGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDU5YmM2NDI4YjFkMGUyMzE3ZjUwNTY5ODYwMjY0MmYxZDhkZGE1YjEyMGVjNTczYTU5YTQzMGQ4Y2I3YTMyZCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLXB5YXNuMVwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1zaXhcCisgICAgICAgICAgICAgICAgICBweXRob24tY2ZmaVwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1lbnVtMzRcCisgICAgICAgICAgICAgICAgICBweXRob24tc2V0dXB0b29sc1wKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1weWNwYXJzZXJcCisgICAgICAgICAgICAgICAgICBweXRob24tc3VicHJvY2Vzc1wKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi10aHJlYWRpbmdcCisgICAgICAgICAgICAgICAgICBweXRob24tbnVtYmVyc1wKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1jb250ZXh0bGliXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWlwYWRkcmVzc1wKKyAgICAgICAgICAgICAgICAgIHB5dGhvbi1weWFzbjFcCisgICAgICAgICAgICAgICAgICBweXRob24taWRuYVwKKyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiXAorICAgICAgICAgICAgICAgICAgICAgICAke1BOfVwKKyAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLXB5dGVzdFwKKyAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uLXByZXRlbmRcCisgICAgICAgICAgICAgICAgICAgICAgIHB5dGhvbi1pc284NjAxXAorICAgICAgICAgICAgICAgICAgICAgICBweXRob24tY3J5cHRvZ3JhcGh5LXZlY3RvcnNcCisiCisKK2luaGVyaXQgcHRlc3QKKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCisgICAgY3AgLXJmICR7U30vdGVzdHMvKiAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8KKyAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL2hhem1hdAorICAgIGNwIC1yZiAke1N9L3Rlc3RzL2hhem1hdC8qICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL2hhem1hdC8KK30KKworRklMRVNfJHtQTn0tZGJnICs9ICIgXAorICAgICR7bGliZGlyfS9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy8ke1NSQ05BTUV9L2hhem1hdC9iaW5kaW5ncy8uZGVidWcgXAorICAgICIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWN5dGhvbi5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jeXRob24uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1OTQ1YjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jeXRob24uaW5jCkBAIC0wLDAgKzEsMjEgQEAKK0RFU0NSSVBUSU9OID0gIkN5dGhvbiBpcyBhIGxhbmd1YWdlIHNwZWNpYWxseSBkZXNpZ25lZCBmb3Igd3JpdGluZyBQeXRob24gZXh0ZW5zaW9uIG1vZHVsZXMuIFwKK0l0J3MgZGVzaWduZWQgdG8gYnJpZGdlIHRoZSBnYXAgYmV0d2VlbiB0aGUgbmljZSwgaGlnaC1sZXZlbCwgZWFzeS10by11c2Ugd29ybGQgb2YgUHl0aG9uIFwKK2FuZCB0aGUgbWVzc3ksIGxvdy1sZXZlbCB3b3JsZCBvZiBDLiIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWUyM2ZhZGQ2Y2VlZjhjNjE4ZmMxYzY1MTkxZDg0NmZhIgorU1JDTkFNRSA9ICJDeXRob24iCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmN5dGhvbi5vcmcvcmVsZWFzZS8ke1NSQ05BTUV9LSR7UFZ9LnRhci5neiIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTRmYmM5NzBmNGE4NTY4NDVlNjMzY2JjMDllNjEwNDgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmRlNDRkOGM0ODIxMjhlZmMxMjMzNDY0MTM0N2E5YzNlNTA5OGQ4MDdkZDNjNjllODY3ZmE4Zjg0ZWMyYTNmMSIKKworUkRFUEVORFNfJHtQTn0gKz0gIlwKKyAgICAke1BZVEhPTl9QTn0tbmV0c2VydmVyIFwKKyAgICAke1BZVEhPTl9QTn0tc3VicHJvY2VzcyBcCisgICAgJHtQWVRIT05fUE59LXNoZWxsIFwKKyIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jeXRob25fMC4yNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWN5dGhvbl8wLjI0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiZTBiMWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jeXRob25fMC4yNC5iYgpAQCAtMCwwICsxLDYgQEAKK2luaGVyaXQgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tY3l0aG9uLmluYworCitSREVQRU5EU18ke1BOfSArPSAiXAorICAgIHB5dGhvbi1kaXN0cmlidXRlIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRhZW1vbml6ZV8yLjQuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRhZW1vbml6ZV8yLjQuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTdiMzY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGFlbW9uaXplXzIuNC42LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSB0byBlbmFibGUgeW91ciBjb2RlIHJ1biBhcyBhIGRhZW1vbiBwcm9jZXNzIG9uIFVuaXgtbGlrZSBzeXN0ZW1zIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xM2U5ODJiZjFiN2IxNjRiOWQ2ZDE2NjVkYWM4Mzg3MyIKK1NSQ05BTUUgPSAiZGFlbW9uaXplIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgICAgICAgICAgICBweXRob24tZmNudGwgXAorICAgICAgICAgICAgICAgcHl0aG9uLXVuaXhhZG1pbiBcCisgICAgICAgICAgICAgICBweXRob24tbG9nZ2luZyBcCisgICAgICAgICAgICAgICBweXRob24tcmVzb3VyY2UgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTdiYzc4OGE4NTI0YjEwNGQ0NjM5YTY4NjIzNDYxZTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGFhNjZiYWQ5YWExMGM2ODIzMDJhNGVhOTY3NTg3NDE5MTMwNGFkZWIzMjM5ZTA3NzZmMWNhMzA0MWQzMDYxOSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRhdGV1dGlsLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRhdGV1dGlsLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTQ0ZWYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGF0ZXV0aWwuaW5jCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiRXh0ZW5zaW9ucyB0byB0aGUgc3RhbmRhcmQgUHl0aG9uIGRhdGV0aW1lIG1vZHVsZSIKK0RFU0NSSVBUSU9OID0gIlRoZSBkYXRldXRpbCBtb2R1bGUgcHJvdmlkZXMgcG93ZXJmdWwgZXh0ZW5zaW9ucyB0byB0aGUgZGF0ZXRpbWUgbW9kdWxlIGF2YWlsYWJsZSBpbiB0aGUgUHl0aG9uIHN0YW5kYXJkIGxpYnJhcnkuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9kYXRldXRpbC5yZWFkdGhlZG9jcy5vcmciCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTUxNDMwYjMzYzkwMGY0NWY5OTljNDU5ZWUyOWNhNDkzIgorUFIgPSAicjAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWZlMTY4ZThmNDA0YmYzODQ1MTRmNTExNmVlZGJiNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNjM5MDdlZjQ3ZjZlMTg3YjhmZTA3Mjg5NTJlNGVmZmI1ODdhMzRmMmRjMzU2ODg4NjQ2ZjliNzFmYmIyZTRiIgorCitQWVBJX1BBQ0tBR0UgPSAicHl0aG9uLWRhdGV1dGlsIgoraW5oZXJpdCBweXBpIAorCitQQUNLQUdFUyA9KyAiJHtQTn0tem9uZWluZm8iCitGSUxFU18ke1BOfS16b25laW5mbyA9ICIke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2RhdGV1dGlsL3pvbmVpbmZvIgorCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgJHtQWVRIT05fUE59LWNvcmUgXAorICAgICR7UFlUSE9OX1BOfS1kYXRldGltZSBcCisgICAgJHtQWVRIT05fUE59LXNpeCBcCisgICAgIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGF0ZXV0aWxfMi41LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYXRldXRpbF8yLjUuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmFlNGMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGF0ZXV0aWxfMi41LjIuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLWRhdGV1dGlsLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGJ1c21vY2svMDAwMS1BZGQtZnVuY3Rpb25hbGl0eS10by1hZGQtb3duLW9iamVjdHMtdG8taW50ZXJuYWwtb2JqLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGJ1c21vY2svMDAwMS1BZGQtZnVuY3Rpb25hbGl0eS10by1hZGQtb3duLW9iamVjdHMtdG8taW50ZXJuYWwtb2JqLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkZDAwYjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYnVzbW9jay8wMDAxLUFkZC1mdW5jdGlvbmFsaXR5LXRvLWFkZC1vd24tb2JqZWN0cy10by1pbnRlcm5hbC1vYmoucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorRnJvbSBlZWJlMGY2NjQzNWM0ZDgyMWIwZjVmOTNmNjllZmUxN2I0YTM4NGMyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU2ltb24gQnVzY2ggPHNpbW9uLmJ1c2NoQGxnZS5jb20+CitEYXRlOiBXZWQsIDkgQXByIDIwMTQgMTM6MTg6MzMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIEFkZCBmdW5jdGlvbmFsaXR5IHRvIGFkZCBvd24gb2JqZWN0cyB0byBpbnRlcm5hbCBvYmplY3QKKyBsaXN0CisKK0luIHNvbWUgY2FzZSB0aGUgdGVzdHMgbWlnaHQgd2FudCB0byBjcmVhdGUgZHluYW1pY2FsbHkgZGJ1cyBvYmplY3RzIHdoaWNoIGV4dGVuZGVkCitmdW5jdGlvbmFsaXR5IGZyb20gb3duIGNsYXNzIGRlZmluaXRpb25zIHdpdGhpbiB0ZW1wbGF0ZXMuIEluIHN1Y2ggY2FzZXMgd2UgbmVlZCB0bworcmVnaXN0ZXIgdGhvc2Ugb2JqZWN0cyB3aXRoIHRoZSBpbnRlcm5hbCBvYmplY3QgbWFuYWdlciBvZiBkYnVzbW9jay4KKworU2lnbmVkLW9mZi1ieTogU2ltb24gQnVzY2ggPHNpbW9uLmJ1c2NoQGxnZS5jb20+CistLS0KKyBkYnVzbW9jay9fX2luaXRfXy5weSAgIHwgICAgNCArKy0tCisgZGJ1c21vY2svbW9ja29iamVjdC5weSB8ICAgIDggKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kYnVzbW9jay9fX2luaXRfXy5weSBiL2RidXNtb2NrL19faW5pdF9fLnB5CitpbmRleCBmNzk5Y2M3Li42NzE4YzA2IDEwMDY0NAorLS0tIGEvZGJ1c21vY2svX19pbml0X18ucHkKKysrKyBiL2RidXNtb2NrL19faW5pdF9fLnB5CitAQCAtMTQsOCArMTQsOCBAQCBfX2xpY2Vuc2VfXyA9ICdMR1BMIDMrJworIF9fdmVyc2lvbl9fID0gJzAuMTAuMScKKyAKKyBmcm9tIGRidXNtb2NrLm1vY2tvYmplY3QgaW1wb3J0IChEQnVzTW9ja09iamVjdCwgTU9DS19JRkFDRSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPQkpFQ1RfTUFOQUdFUl9JRkFDRSwgZ2V0X29iamVjdCwgZ2V0X29iamVjdHMpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0JKRUNUX01BTkFHRVJfSUZBQ0UsIGdldF9vYmplY3QsIGdldF9vYmplY3RzLCBhZGRfb2JqZWN0KQorIGZyb20gZGJ1c21vY2sudGVzdGNhc2UgaW1wb3J0IERCdXNUZXN0Q2FzZQorIAorIF9fYWxsX18gPSBbJ0RCdXNNb2NrT2JqZWN0JywgJ01PQ0tfSUZBQ0UnLCAnT0JKRUNUX01BTkFHRVJfSUZBQ0UnLAorLSAgICAgICAgICAgJ0RCdXNUZXN0Q2FzZScsICdnZXRfb2JqZWN0JywgJ2dldF9vYmplY3RzJ10KKysgICAgICAgICAgICdEQnVzVGVzdENhc2UnLCAnZ2V0X29iamVjdCcsICdnZXRfb2JqZWN0cycsICdhZGRfb2JqZWN0J10KK2RpZmYgLS1naXQgYS9kYnVzbW9jay9tb2Nrb2JqZWN0LnB5IGIvZGJ1c21vY2svbW9ja29iamVjdC5weQoraW5kZXggOTdiNzljZS4uYTk4ZTAzZCAxMDA2NDQKKy0tLSBhL2RidXNtb2NrL21vY2tvYmplY3QucHkKKysrKyBiL2RidXNtb2NrL21vY2tvYmplY3QucHkKK0BAIC02ODIsNiArNjgyLDE0IEBAIGRidXMuc2VydmljZS5fbWV0aG9kX2xvb2t1cCA9IF9kYnVzbW9ja19tZXRob2RfbG9va3VwCisgIyBIZWxwZXIgQVBJIGZvciB0ZW1wbGF0ZXMKKyAjCisgCisrZGVmIGFkZF9vYmplY3QocGF0aCwgb2JqKToKKysgICAgaWYgcGF0aCBpbiBvYmplY3RzOgorKyAgICAgICAgcmFpc2UgZGJ1cy5leGNlcHRpb25zLkRCdXNFeGNlcHRpb24oCisrICAgICAgICAgICAgICAgICdvcmcuZnJlZWRlc2t0b3AuREJ1cy5Nb2NrLk5hbWVFcnJvcicsCisrICAgICAgICAgICAgICAgICdvYmplY3QgJXMgYWxyZWFkeSBleGlzdHMnICUgcGF0aCkKKysKKysgICAgb2JqZWN0c1twYXRoXSA9IG9iagorKworIAorIGRlZiBnZXRfb2JqZWN0cygpOgorICAgICAnJydSZXR1cm4gYWxsIGV4aXN0aW5nIG9iamVjdCBwYXRocycnJworLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRidXNtb2NrLzAwMDItQWRkLXBvc3NpYmlsaXR5LXRvLWltcG9ydC10ZW1wbGF0ZXMtZnJvbS1wYWNrYWdlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRidXNtb2NrLzAwMDItQWRkLXBvc3NpYmlsaXR5LXRvLWltcG9ydC10ZW1wbGF0ZXMtZnJvbS1wYWNrYWdlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODE2OTRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGJ1c21vY2svMDAwMi1BZGQtcG9zc2liaWxpdHktdG8taW1wb3J0LXRlbXBsYXRlcy1mcm9tLXBhY2thZ2VzLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gZmYxZGZmZDU2NzNiY2QyY2JkOTU1NGFkNjI0NzZkMTA4ZGJjMThhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNpbW9uIEJ1c2NoIDxzaW1vbi5idXNjaEBsZ2UuY29tPgorRGF0ZTogV2VkLCA5IEFwciAyMDE0IDEzOjIwOjMzICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBBZGQgcG9zc2liaWxpdHkgdG8gaW1wb3J0IHRlbXBsYXRlcyBmcm9tIHBhY2thZ2VzCisKK0RvZXMgbm90IGhhdmUgYW55IHVuaXQgdGVzdHMgeWV0LgorCitTaWduZWQtb2ZmLWJ5OiBTaW1vbiBCdXNjaCA8c2ltb24uYnVzY2hAbGdlLmNvbT4KKy0tLQorIGRidXNtb2NrL21vY2tvYmplY3QucHkgfCAgICAzICsrKworIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2RidXNtb2NrL21vY2tvYmplY3QucHkgYi9kYnVzbW9jay9tb2Nrb2JqZWN0LnB5CitpbmRleCBhOThlMDNkLi45NTMwYzJhIDEwMDY0NAorLS0tIGEvZGJ1c21vY2svbW9ja29iamVjdC5weQorKysrIGIvZGJ1c21vY2svbW9ja29iamVjdC5weQorQEAgLTQ5LDYgKzQ5LDkgQEAgZGVmIGxvYWRfbW9kdWxlKG5hbWUpOgorIAorICAgICAgICAgcmV0dXJuIG1vZHVsZQorIAorKyAgICBpZiAnLicgaW4gbmFtZToKKysgICAgICAgIHJldHVybiBpbXBvcnRsaWIuaW1wb3J0X21vZHVsZShuYW1lKQorKworICAgICByZXR1cm4gaW1wb3J0bGliLmltcG9ydF9tb2R1bGUoJ2RidXNtb2NrLnRlbXBsYXRlcy4nICsgbmFtZSkKKyAKKyAKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYnVzbW9ja18wLjEwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kYnVzbW9ja18wLjEwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjUyMGJmYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRidXNtb2NrXzAuMTAuMS5iYgpAQCAtMCwwICsxLDIxIEBACisjIENvcHlyaWdodCAoYykgMjAxNCBMRyBFbGVjdHJvbmljcywgSW5jLgorCitTVU1NQVJZID0gIldpdGggdGhpcyBwcm9ncmFtL1B5dGhvbiBsaWJyYXJ5IHlvdSBjYW4gZWFzaWx5IGNyZWF0ZSBtb2NrIG9iamVjdHMgb24gRC1CdXMiCitBVVRIT1IgPSAiTWFydGluIFBpdHQgPG1hcnRpbi5waXR0QHVidW50dS5jb20+IgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCisKK0xJQ0VOU0UgPSAiR1BMLTMuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU2YTYwMGZkNWUxZDljYmRlMmQ5ODM2ODAyMzNhZDAyIgorCitERVBFTkRTICs9ICJweXRob24tcHlnb2JqZWN0IHB5dGhvbi1kYnVzIgorCitTUkNfVVJJID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC8ke0JQTn0vdHJ1bmsvJHtQVn0vK2Rvd25sb2FkLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MzcwZDMyNWM0YTc1NDk0ZGQ3MTg4NWNhNjViNzllOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwM2FhZGM5M2JkYzI2ZWExOGQ0ZDc4ZmNmZjdiNmNiMzRmNGUxODYyM2JjNWNjNDFjZjk1MzlkNjYzY2VlMTFlIgorCitTUkNfVVJJICs9ICIgXAorICAgIGZpbGU6Ly8wMDAxLUFkZC1mdW5jdGlvbmFsaXR5LXRvLWFkZC1vd24tb2JqZWN0cy10by1pbnRlcm5hbC1vYmoucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLUFkZC1wb3NzaWJpbGl0eS10by1pbXBvcnQtdGVtcGxhdGVzLWZyb20tcGFja2FnZXMucGF0Y2ggXAorIgorCitpbmhlcml0IHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRlY29yYXRvci5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kZWNvcmF0b3IuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3MTAwMTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kZWNvcmF0b3IuaW5jCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIGRlY29yYXRvciB1dGlsaXRpZXMiCitERVNDUklQVElPTiA9ICJcCitUaGUgYWltIG9mIHRoZSBkZWNvcmF0b3IgbW9kdWxlIGl0IHRvIHNpbXBsaWZ5IHRoZSB1c2FnZSBvZiBkZWNvcmF0b3JzIFwKK2ZvciB0aGUgYXZlcmFnZSBwcm9ncmFtbWVyLCBhbmQgdG8gcG9wdWxhcml6ZSBkZWNvcmF0b3JzIGJ5IHNob3dpbmcgXAordmFyaW91cyBub24tdHJpdmlhbCBleGFtcGxlcy4gT2YgY291cnNlLCBhcyBhbGwgdGVjaG5pcXVlcywgZGVjb3JhdG9ycyBcCitjYW4gYmUgYWJ1c2VkIGFuZCB5b3Ugc2hvdWxkIG5vdCB0cnkgdG8gc29sdmUgZXZlcnkgcHJvYmxlbSB3aXRoIGEgXAorZGVjb3JhdG9yLCBqdXN0IGJlY2F1c2UgeW91IGNhbi4iCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTQxZTI0ZTBlMjM1YTk3ZTYwY2RiNWM0MTM3ZmEyY2QwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjEyYzU2NTFjY2Q3MDdlMTJhMGFiYWE0Zjc2Y2Q2OWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTAwMjJlODMzMTYzNjM3ODhhNTUzNTJmZTM5Y2ZiZWQzNTdhYTNhNzFkOTBlNWYyODAzYTM1NDcxZGU0YmJhOCIKKworaW5oZXJpdCBweXBpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kZWNvcmF0b3JfNC4wLjkuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kZWNvcmF0b3JfNC4wLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjI2MjE2OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRlY29yYXRvcl80LjAuOS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tZGVjb3JhdG9yLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGphbmdvLXNvdXRoXzEuMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGphbmdvLXNvdXRoXzEuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMDcxYzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kamFuZ28tc291dGhfMS4wLjIuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJNaWdyYXRpb25zIGZvciBEamFuZ28iCitERVNDUklQVElPTiA9ICJTb3V0aCBpcyBhbiBpbnRlbGxpZ2VudCBkYXRhYmFzZSBtaWdyYXRpb25zIGxpYnJhcnkgZm9yIHRoZSBEamFuZ28gd2ViIGZyYW1ld29yay4gSXQgaXMgZGF0YWJhc2UtaW5kZXBlbmRlbnQgYW5kIERWQ1MtZnJpZW5kbHksIGFzIHdlbGwgYXMgYSB3aG9sZSBob3N0IG9mIG90aGVyIGZlYXR1cmVzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3V0aC5hZXJhY29kZS5vcmcvIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87YmVnaW5saW5lPTE3O2VuZGxpbmU9MTg7bWQ1PTIxNTVkOGFlMjFlN2MyMzEwMWQ1ZmViYWM2OTZiMjdlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzc2YTk3NThiMjAxMWJjM2I2YzM5Zjg4MWJiYTJmNjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDM2MGJkMzE4OThmOWRmNTlmNmZhYTc4NjU1MTA2NWJiYTQ1YjM1ZTdlZTNjMzliMzgxYjRmYmZlZjczOTJmNCIKKworUFlQSV9QQUNLQUdFID0gIlNvdXRoIgoraW5oZXJpdCBweXBpIGRpc3R1dGlscworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRqYW5nb18xLjguOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRqYW5nb18xLjguOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTZjNTU1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZGphbmdvXzEuOC44LmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiQSBoaWdoLWxldmVsIFB5dGhvbiBXZWIgZnJhbWV3b3JrIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5kamFuZ29wcm9qZWN0LmNvbS8iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWYwOWViNDcyMDY2MTRhNDk1NGM1MWRiOGE5NDg0MGZhIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDhlY2Y4M2I3ZTlkMDY0ZWQ3ZTM5ODFkZGMzYThhMTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODI1NTI0MmZhMGQ5ZTBiZjMzMTI1OWE2YmRiODEzNjQ5MzNhY2JlODg2MzI5MTY2MTU1OGZmZGIyZmM5ZWQ3MCIKKworUFlQSV9QQUNLQUdFID0gIkRqYW5nbyIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RqYW5nbyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kb21pbmF0ZV8yLjIuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWRvbWluYXRlXzIuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmZWFhN2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1kb21pbmF0ZV8yLjIuMC5iYgpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIkRvbWluYXRlIGlzIGEgUHl0aG9uIGxpYnJhcnkgZm9yIGNyZWF0aW5nIGFuZCBtYW5pcHVsYXRpbmcgSFRNTCBkb2N1bWVudHMgdXNpbmcgYW4gZWxlZ2FudCBET00gQVBJLiIKK0xJQ0VOU0UgPSAiTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87YmVnaW5saW5lPTg7ZW5kbGluZT04O21kNT1hMzBiOWE4ZDBhNTU4NWM0ODJjNmM1YTZkNTRhYWViYyIKKworU1JDX1VSSVttZDVzdW1dID0gIjE0ZWUwMzYxZGI3ZmJhZWQ5ODIyMjBjMDllZjhlMGI5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUwMzI1NTllMGYwODM1NDE5NzYzYjNkMWQ4OGFkMzFlYTRmZTQwOTM1NzEyZGI4NjAxNGYyYTM0MWM4OWZhM2QiCisKK1BZUElfUEFDS0FHRV9FWFQgPSAiemlwIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZW51bTM0XzEuMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZW51bTM0XzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwODNiZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lbnVtMzRfMS4xLjIuYmIKQEAgLTAsMCArMSw4IEBACitTVU1NQVJZID0gImJhY2twb3J0IG9mIFB5dGhvbiAzLjQncyBlbnVtIHBhY2thZ2UiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2VudW0vTElDRU5TRTttZDU9MGE5N2E1M2E1MTQ1NjRjMjBlZmQ3YjJlODk3NmM4N2UiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMjViYjcxYjNmOWQyZmFkMTVkMGVlNTNlNDhkYzg3MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNDc1ZDdmY2RkZjU5NTFlOTJmZjU0Njk3Mjc1ODgwMmRlNTI2MGJmNDA5MzE5YTlmMTkzNGU2YmJjOGIxZGM3IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZXB5ZG9jXzMuMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZXB5ZG9jXzMuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0NzUyZDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1lcHlkb2NfMy4wLjEuYmIKQEAgLTAsMCArMSwxMSBAQAorREVTQ1JJUFRJT04gPSAiRXB5ZG9jIGlzIGEgdG9vbCBmb3IgZ2VuZXJhdGluZyBBUEkgZG9jdW1lbnRhdGlvbiBmb3IgUHl0aG9uIG1vZHVsZXMsIGJhc2VkIG9uIHRoZWlyIGRvY3N0cmluZ3MiIAorTElDRU5TRSA9ICJNSVQiIAorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTAxMWMwZDc4ZWI2MDU0ZDczMWM4NzkxMzJkNzMxM2YwIgorSE9NRVBBR0UgPSAiaHR0cDovL2VweWRvYy5zb3VyY2Vmb3JnZS5uZXQvIiAKKworU1JDX1VSSVttZDVzdW1dID0gImNkZDZmNmM3NmRkOGJhYjVlNjUzYTM0M2EwNTQ0Mjk0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ0ZTVjOGQ5MDkzN2QwMWIwNTE3MGY1OTJjMWZhOWIyOWU5ZWQwNDk4ZGZlN2YwZWIyYTNhZjYxNzI1YjZhZDEiCisKK2luaGVyaXQgcHlwaSBkaXN0dXRpbHMgCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZXZkZXZfMC42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ldmRldl8wLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTU1NTUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZXZkZXZfMC42LjAuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJQeXRob24gZXZkZXYgbGliIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2d2YWxrb3YvcHl0aG9uLWV2ZGV2IgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTE4ZGViZGRiYjNmNTJjNjYxYTEyOTcyNGE4ODNhOGUyIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9ndmFsa292L3B5dGhvbi1ldmRldi9hcmNoaXZlL3Yke1BWfS56aXAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyNGU0ZmZhOThlMzM4YjUzNWVhZTQ0ZDkxZDYwOTAwNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MWY2ODkzZDgwZGE4N2E5OTVlNTc4MWM3NGQyMmEzOTQ0OGIxYjMyMDA0ZmZhYzJmMzE4MTcwMTc3MDliZTA0IgorCitpbmhlcml0IHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZlZWRmb3JtYXR0ZXIuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmVlZGZvcm1hdHRlci5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWEwMmE0ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZlZWRmb3JtYXR0ZXIuaW5jCkBAIC0wLDAgKzEsMTEgQEAKK0RFU0NSSVBUSU9OID0gIkEgUHl0aG9uIGxpYnJhcnkgZm9yIGdlbmVyYXRpbmcgbmV3cyBmZWVkcyBpbiBSU1MgYW5kIEF0b20gZm9ybWF0cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9mZWVkZm9ybWF0dGVyLyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNThlM2YzOWUyMzgzZmJkMDExMDM1ZDA0MzExMDA4ZCIKK1NSQ1JFViA9ICI3MzkxMTkzYzgzZTEwNDIwYjVhMmQ4ZWY4NDZkMjNmYzM2OGM2ZDg1IgorUFIgPSAicjAiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9tYXJpYW5vZ3VlcnJhL2ZlZWRmb3JtYXR0ZXIuZ2l0IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmVlZGZvcm1hdHRlcl8wLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mZWVkZm9ybWF0dGVyXzAuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzVmOTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmVlZGZvcm1hdHRlcl8wLjQuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLWZlZWRmb3JtYXR0ZXIuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mZWVkcGFyc2VyXzUuMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmVlZHBhcnNlcl81LjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWMxOGIwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmVlZHBhcnNlcl81LjIuMS5iYgpAQCAtMCwwICsxLDkgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIEF0b20gYW5kIFJTUyBmZWVkIHBhcnNlciIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzIxYTc3MTNlZjZkYzFiOTk2NDQwNjFjMzk3ZTdjMmEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkNTUyZjdhMmE1NWU4ZTMzYjJhM2ZlMTA4MjUwNWI0MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZDAzMDY1MmMyZDA4NTMyYzAzNGMyN2ZjZDdjODU4NjhlN2ZhM2NiMmIxN2YyMzBhNDRhNmJiYzkyNTE5YmY5IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1iY3J5cHRfMC43LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1iY3J5cHRfMC43LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA4ODgzZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLWJjcnlwdF8wLjcuMS5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJCcmNyeXB0IGhhc2hpbmcgZm9yIEZsYXNrLiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MGVlMmVlNWJlZTdmZTk2NTk3NzcwZTkyZGI1NzE5YTgiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMzQ1YzM2YWM2NjM3ZDNjYTlmYTk0MmUyMzhkMDBjYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNzFjODU4NWIyZWUxYzYyMDI0MzkyZWJkYmM0NDc0Mzg1NjRlMmM4YzAyYjRlNTdiNTZhNGNhZmQ4ZDEzYzVmIgorCitQWVBJX1BBQ0tBR0UgPSAiRmxhc2stQmNyeXB0IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tYmNyeXB0IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stYm9vdHN0cmFwXzMuMy41LjcuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1ib290c3RyYXBfMy4zLjUuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2Y4OWFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stYm9vdHN0cmFwXzMuMy41LjcuYmIKQEAgLTAsMCArMSwxMCBAQAorREVTQ1JJUFRJT04gPSAiQW4gZXh0ZW5zaW9uIHRoYXQgaW5jbHVkZXMgQm9vdHN0cmFwIGluIHlvdXIgcHJvamVjdCwgd2l0aG91dCBhbnkgYm9pbGVycGxhdGUgY29kZS4iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT1mMjcwZmJiN2QzZWE4ODczMWJmYzAwOTE2NzUwYzZiYyIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ0NzFhZDY4ZGJmNzFhM2M2OGUwMGJkMGUxMzAxYTlmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAyMGJmOWZjY2E2ZDY5ZGNlM2IxOWJjYjgwODUyZGE5MjlhMmIxYWRkZTZjYjRkNDdhNDQwMmY1Y2U1NGVmNzgiCisKK1BZUElfUEFDS0FHRSA9ICJGbGFzay1Cb290c3RyYXAiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1sb2dpbi5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1sb2dpbi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTVjNDQyOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLWxvZ2luLmluYwpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIlVzZXIgc2Vzc2lvbiBtYW5hZ2VtZW50IGZvciBGbGFzayIKK0RFU0NSSVBUSU9OID0gIkZsYXNrLUxvZ2luIHByb3ZpZGVzIHVzZXIgc2Vzc2lvbiBtYW5hZ2VtZW50IGZvciBGbGFzay4gXAorSXQgaGFuZGxlcyB0aGUgY29tbW9uIHRhc2tzIG9mIGxvZ2dpbmcgaW4sIGxvZ2dpbmcgb3V0LCBhbmQgcmVtZW1iZXJpbmcgXAoreW91ciB1c2Vyc+KAmSBzZXNzaW9ucyBvdmVyIGV4dGVuZGVkIHBlcmlvZHMgb2YgdGltZS4iCitIT01FUEFHRSA9ICIgaHR0cHM6Ly9naXRodWIuY29tL21heGNvdW50cnltYW4vZmxhc2stbG9naW4iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PThhYTg3YTFjZDlmYTQxZDk2OWFkMzJjZmRhYzJjNTk2IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzBhN2VhZjI4NjIzZjBhZWFjNDkyOWRjMDVhN2EwNjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODNkNWYxMGU1YzRmMjE0ZmVlZDZjYzQxYzIxMmRiNjNhNThhMTVhYzMyZTU2ZGY4MTU5MWJmYTBhNWNlZTNlNSIKKworUFlQSV9QQUNLQUdFID0gIkZsYXNrLUxvZ2luIgorCitSREVQRU5EU18ke1BOfSA9ICIke1BZVEhPTl9QTn0tZmxhc2siCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1sb2dpbl8wLjIuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1sb2dpbl8wLjIuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTEwY2VkZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLWxvZ2luXzAuMi4xMS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1mbGFzay1sb2dpbi5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLW5hdmlnYXRpb25fMC4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1uYXZpZ2F0aW9uXzAuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmZjZhYmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1uYXZpZ2F0aW9uXzAuMi4wLmJiCkBAIC0wLDAgKzEsMTIgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBuYXZpZ2F0aW9uIG9mIEZsYXNrIGFwcGxpY2F0aW9uLiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87bWQ1PWFmMmVjNjk1ZGMxZjNlYjdiZDc0Zjc5YTY4YTBkNzg5IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDEwNzVlZTAyYTNmNjlkYTM3ZTVjYWRhZDMzOTVmMzEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzQyZDMwZWZhOTg5Y2E4Nzc0NDRhNDEwZThhMWNkMjU2MzU0NmY5ZWZmZTNkOWZlMzg4ZWVkZjdhNmM2OTI4NSIKKworUFlQSV9QQUNLQUdFID0gIkZsYXNrLU5hdmlnYXRpb24iCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbi1ibGlua2VyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stcHltb25nby5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbGFzay1weW1vbmdvLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzkxMTNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stcHltb25nby5pbmMKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJQeU1vbmdvIHN1cHBvcnQgZm9yIEZsYXNrIGFwcGxpY2F0aW9ucyIKK0RFU0NSSVBUSU9OID0gIlB5TW9uZ28gc3VwcG9ydCBmb3IgRmxhc2sgYXBwbGljYXRpb25zLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9taXRzdWhpa28vZmxhc2svIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2ZsYXNrX3B5bW9uZ28vd3JhcHBlcnMucHk7c3RhcnRsaW5lPTE7ZW5kbGluZT0yNDttZDU9ZGZmOTk4ZDVhODQ2OTUwMzYxMmVlNzc1N2YzYTIwNTIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NTdhMjEwZjM1YmE0OWQyNjIzZGJjZjI3ZmJiODllMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3MDdkZGZmOTJmNWI3YmRjMzRkNDAxZjFmMzg1N2EzZDFhOWY1ZGJhNzZlNmExNDIyY2NiYzM2NTFlMmNhNTIxIgorCitQWVBJX1BBQ0tBR0UgPSAiRmxhc2stUHlNb25nbyIKKworUkRFUEVORFNfJHtQTn0gPSAiJHtQWVRIT05fUE59LXB5bW9uZ28gJHtQWVRIT05fUE59LWZsYXNrIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stcHltb25nb18wLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXB5bW9uZ29fMC40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQxZDAyMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXB5bW9uZ29fMC40LjAuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tZmxhc2stcHltb25nby5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXNxbGFsY2hlbXlfMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2stc3FsYWxjaGVteV8yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI1ODcxMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXNxbGFsY2hlbXlfMi4xLmJiCkBAIC0wLDAgKzEsMTIgQEAKK0RFU0NSSVBUSU9OID0gIkFkZHMgU1FMQWxjaGVteSBzdXBwb3J0IHRvIHlvdXIgRmxhc2sgYXBwbGljYXRpb24uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01ZWQxYjhjYzc0MTUxNWE4MzVhN2Y2YmYyZjYyZWY0YSIKKworU1JDX1VSSVttZDVzdW1dID0gImRjMTVmZTA4YjA3YjQzNGQzZDJjNDA2M2I0Njc0YjcyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM1MjQ0ZGU0NGNjODVkMjI2NzExNTYyNGQ4M2ZhZWYzZjllOGYwODg3NTY3ODg2OTRmMzA1YTVkNWFkMTM3YzUiCisKK1BZUElfUEFDS0FHRSA9ICJGbGFzay1TUUxBbGNoZW15IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tc3FsYWxjaGVteSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXd0Zi9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2std3RmL2ltcG9ydC1zaW1wbGVqc29uLWFzLWpzb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc4ZjcwNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXd0Zi9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU3ViamVjdDogW1BBVENIXSBpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCisKK0F0IHJ1bnRpbWUgcHl0aG9uLUZsYXNrLVdURiB0cmllcyB0byBpbXBvcnQganNvbiwgYnV0IHRoZSBtb2R1bGUgaXMgbm90IAorYXZhaWxhYmxlLCBpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uIHNvbHZlIHRoZSBpc3N1ZS4KKworU2lnbmVkLW9mZi1ieTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIGZsYXNrX3d0Zi9yZWNhcHRjaGEvdmFsaWRhdG9ycy5weSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2ZsYXNrX3d0Zi9yZWNhcHRjaGEvdmFsaWRhdG9ycy5weSBiL2ZsYXNrX3d0Zi9yZWNhcHRjaGEvdmFsaWRhdG9ycy5weQoraW5kZXggYmNmZjIzZC4uNGEyNDRiYiAxMDA2NDQKKy0tLSBhL2ZsYXNrX3d0Zi9yZWNhcHRjaGEvdmFsaWRhdG9ycy5weQorKysrIGIvZmxhc2tfd3RmL3JlY2FwdGNoYS92YWxpZGF0b3JzLnB5CitAQCAtOCw3ICs4LDcgQEAgZnJvbSBmbGFzayBpbXBvcnQgcmVxdWVzdCwgY3VycmVudF9hcHAKKyBmcm9tIHd0Zm9ybXMgaW1wb3J0IFZhbGlkYXRpb25FcnJvcgorIGZyb20gd2Vya3pldWcgaW1wb3J0IHVybF9lbmNvZGUKKyBmcm9tIC4uX2NvbXBhdCBpbXBvcnQgdG9fYnl0ZXMsIHRvX3VuaWNvZGUKKy1pbXBvcnQganNvbgorK2ltcG9ydCBzaW1wbGVqc29uIGFzIGpzb24KKyAKKyBSRUNBUFRDSEFfVkVSSUZZX1NFUlZFUiA9ICdodHRwczovL3d3dy5nb29nbGUuY29tL3JlY2FwdGNoYS9hcGkvc2l0ZXZlcmlmeScKKyBSRUNBUFRDSEFfRVJST1JfQ09ERVMgPSB7CistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXd0Zl8wLjEyLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2std3RmXzAuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzlhZmFmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLXd0Zl8wLjEyLmJiCkBAIC0wLDAgKzEsMTcgQEAKK0RFU0NSSVBUSU9OID0gIlNpbXBsZSBpbnRlZ3JhdGlvbiBvZiBGbGFzayBhbmQgV1RGb3Jtcy4iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTUwN2U4NjM1ZjI1YTA2ZGM0ZjA0MWEzYTFiMzM1OWIzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzUzYTc0ZThiYTQ4MWJmNTM0MDVmZDVlZmRmMDMzOWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmQ5OTMxNmM5N2VkMWQxY2I5MGI4ZjBjMjQyYzg2NDIwYTg5MWE2YTIwNThmMjA3MTdlNDI0YmY1YjBiYjgwZSIKKworU1JDX1VSSSArPSAiIGZpbGU6Ly9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoIgorCitQWVBJX1BBQ0tBR0UgPSAiRmxhc2stV1RGIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgcHl0aG9uLXd0Zm9ybXMgXAorICAgIHB5dGhvbi1zaW1wbGVqc29uIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTIzNzI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2suaW5jCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiQSBtaWNyb2ZyYW1ld29yayBiYXNlZCBvbiBXZXJremV1ZywgSmluamEyIGFuZCBnb29kIGludGVudGlvbnMiCitERVNDUklQVElPTiA9ICJcCitGbGFzayBpcyBhIG1pY3JvZnJhbWV3b3JrIGZvciBQeXRob24gYmFzZWQgb24gV2Vya3pldWcsIEppbmphIDIgYW5kIGdvb2QgXAoraW50ZW50aW9ucy4gQW5kIGJlZm9yZSB5b3UgYXNrOiBJdOKAmXMgQlNEIGxpY2Vuc2VkISIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9taXRzdWhpa28vZmxhc2svIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT03OWFhOGI3YmM0Zjc4MTIxMGQ2YjVjMDZkNjQyNGNiMCIKKworU1JDX1VSSVttZDVzdW1dID0gIjM3ODY3MGZlNDU2OTU3ZWIzYzI3ZGRhZWY2MGIyYjI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRjODM4MjlmZjgzZDQwOGI1ZTFkNDk5NTQ3MjI2NTQxMWQyYzQxNDExMjI5OGYyZWI0YjM1OWQ5ZTQ1NjMzNzMiCisKK1BZUElfUEFDS0FHRSA9ICJGbGFzayIKKworUkRFUEVORFNfJHtQTn0gPSAiJHtQWVRIT05fUE59LXdlcmt6ZXVnICR7UFlUSE9OX1BOfS1qaW5qYTIgJHtQWVRIT05fUE59LWl0c2Rhbmdlcm91cyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrXzAuMTAuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWZsYXNrXzAuMTAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMGEyOGFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmxhc2tfMC4xMC4xLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLWZsYXNrLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmx1ZmwtZW51bV80LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1mbHVmbC1lbnVtXzQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjEwODQ4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZmx1ZmwtZW51bV80LjEuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSAgPSAiQSBQeXRob24gZW51bWVyYXRpb24gcGFja2FnZS4iCitERVNDUklQVElPTiA9ICJUaGUgZmx1ZmwuZW51bSBsaWJyYXJ5IGlzIGEgUHl0aG9uIGVudW1lcmF0aW9uIHBhY2thZ2UuIEl0cyBnb2FsIGlzIHRvIHByb3ZpZGUgc2ltcGxlLCBcCitzcGVjaWZpYywgY29uY2lzZSBzZW1hbnRpY3MgaW4gYW4gZWFzeSB0byByZWFkIGFuZCB3cml0ZSBzeW50YXguIGZsdWZsLmVudW0gaGFzIGp1c3QgZW5vdWdoIG9mIHRoZSBcCitmZWF0dXJlcyBuZWVkZWQgdG8gbWFrZSBlbnVtZXJhdGlvbnMgdXNlZnVsLCBidXQgd2l0aG91dCBhIGxvdCBvZiBleHRyYSBiYWdnYWdlIHRvIHdlaWdoIHRoZW0gZG93bi4gIgorCitMSUNFTlNFID0gIkxHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO3N0YXJ0bGluZT04O2VuZGxpbmU9OTttZDU9MjUwYWRiNGM3NGMzNTliNzA0OWFiY2Q5ZDZiMTE1ZTciCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NjE3NzkzODRjMDdlZDJiNWY1NTRhNWQ1MWEwMDBjNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NGRhMTQxM2JhMDg1NDczNjUyZjgxNTY1ODQ3OTEzZWExNTQzZDE3Mzk5NzJlY2JkNmFmZTU3ZDdiMWI2OGI0IgorCitQWVBJX1BBQ0tBR0UgPSAiZmx1ZmwuZW51bSIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1BBQ0tBR0VTID0rICJcICAKKyAgICAke1BOfS10ZXN0IFwKKyIKKworRklMRVNfJHtQTn0tZG9jICs9ICJcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9mbHVmbC9lbnVtLyoucnN0IFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL2ZsdWZsL2VudW0vZG9jcyBcCisiCisKK0ZJTEVTXyR7UE59LXRlc3QgKz0gIiR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvZmx1ZmwvZW51bS90ZXN0cyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdkYXRhXzEuMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ2RhdGFfMS4yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjIwNTU4NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdkYXRhXzEuMi40LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiR29vZ2xlIERhdGEgQVBJcyBQeXRob24gQ2xpZW50IExpYnJhcnkiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRS50eHQ7bWQ1PTQ3M2JkNGRmZjBkZGNhMWY5NTgyNDRiMmRjN2ExNjJjIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dkYXRhLXB5dGhvbi1jbGllbnQvIgorCitpbmhlcml0IGRpc3R1dGlscworCitTUkNfVVJJID0gImh0dHA6Ly9nZGF0YS1weXRob24tY2xpZW50Lmdvb2dsZWNvZGUuY29tL2ZpbGVzL2dkYXRhLnB5LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MjFmMzNhMzc3ZDY0ZjhhNjUwNWJhMTE5NDE1Yjc4NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmYzVkZGI4Zjc2YjE3YWJkNzI4NzIxYTBlMDE3N2VhMzVmNTVhNzAxMDZmNDRkYzkwMTBiMjJlY2ViMDZhYmRlIgorCitTID0gIiR7V09SS0RJUn0vZ2RhdGEucHktJHtQVn0iCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9IgorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24teG1sIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ2V2ZW50XzAuMTMuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudF8wLjEzLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFjMGEzYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudF8wLjEzLjguYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJBIGNvcm91dGluZS1iYXNlZCBQeXRob24gbmV0d29ya2luZyBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiZ2V2ZW50IGlzIGEgY29yb3V0aW5lLWJhc2VkIFB5dGhvbiBuZXR3b3JraW5nIGxpYnJhcnkgdGhhdCB1c2VzIGdyZWVubGV0IHRvIHByb3ZpZGUgXAorYSBoaWdoLWxldmVsIHN5bmNocm9ub3VzIEFQSSBvbiB0b3Agb2YgdGhlIGxpYmV2ZW50IGV2ZW50IGxvb3AuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nZXZlbnQub3JnIgorTElDRU5TRSA9ICJNSVQgJiBCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yZGJiMzNkMDBlMWZkMzFjNzA0MTQ2MGE4MWFjMGJkMiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MSUNFTlNFLnB5ZXZlbnQ7bWQ1PTcxODA3MGM2M2RlMjQzMDUzZTJjNjE2MjY4YjAwZmRkIgorREVQRU5EUyArPSAicHl0aG9uLWdyZWVubGV0IGxpYmV2ZW50IgorUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1ncmVlbmxldCBweXRob24tbWltZSBweXRob24tcHByaW50IHB5dGhvbi1yZSIKKworU1JDX1VSSVttZDVzdW1dID0gImNhOWRjYWE3ODgwNzYyZDhlYmJjMjY2YjExMjUyOTYwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU0YjhkMjYzMDBjZTQwOGMwOTE2YTNlNjNlZjZjZDNlNmFjYTc2MjMwODMzNTU4ZGViN2RlMTUxOTZlZDk1NWUiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JlZW5sZXRfMC40LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTY5ZWI2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC43LmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIGxpZ2h0d2VpZ2h0IGluLXByb2Nlc3MgY29uY3VycmVudCBwcm9ncmFtbWluZyIKK0xJQ0VOU0UgPSAiTUlUICYgUFNGIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDMxNDNkN2ExYTlmNWQ4YTBmZWU4MjVmMjRjYTljMzYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRS5QU0Y7bWQ1PWMxMDY5MzFkOTQyOWVkYTA0OTI2MTdmMDM3YjhmNjlhIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzIzMzNhOGZmMzBmYTc1YzVkNWVjMGU2N2I0NjEwODYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjMyYzRmYTRlMDY0NDNlMWJkYjBkMzJiNjllNzYxN2MyNWZmNzcyYzNmZmM2ZDBhYTYzZDE5MmU5ZmQ3OTVmZSIKKworUFlQSV9QQUNLQUdFX0VYVCA9ICJ6aXAiCitpbmhlcml0IHB5cGkgZGlzdHV0aWxzCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWh0bWw1bGliXzAuOTk5OTk5OS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWh0bWw1bGliXzAuOTk5OTk5OS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjkyZTU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taHRtbDVsaWJfMC45OTk5OTk5LmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJIVE1MIHBhcnNlciBiYXNlZCBvbiB0aGUgV0hBVFdHIEhUTUwgc3BlY2lmY2F0aW9uIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xYmE1YWRhOWU2ZmVhZDFmZGMzMmY0M2M5ZjEwYmE3YyIKKworU1JDX1VSSVttZDVzdW1dID0gImVmNDNjYjA1ZTllNzk5ZjI1ZDY1ZDExMzU4MzhhOTZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI2MTJhMTkxYThkNTg0MmJmYTA1N2U0MWJhNTBiYmI5ZGNiNzIyNDE5ZDI0MDhjNzhjZmY0NzU4ZDA3NTQ4NjgiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pZG5hXzIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlkbmFfMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwZjQ3YWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pZG5hXzIuMS5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkludGVybmF0aW9uYWxpc2VkIERvbWFpbiBOYW1lcyBpbiBBcHBsaWNhdGlvbnMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20va2pkL2lkbmEiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSAmIFB5dGhvbi0yLjAgJiBVbmljb2RlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5yc3Q7bWQ1PTEzNGJkYWQ3OTQ5MWMzN2JkYWUzMjgxMTU3MmI0YmM2IgorCitERVBFTkRTICs9ICJweXRob24tcGlwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjY0NzNjYWE5YzVlMGNjMWFkM2ZkNWQwNGMzYzExNGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWQzNmYyODFhZWJmM2NkMDc5N2YxNjNiYjE2NWQ4NGMzMTUwN2NlZGQxNTkyOGIwOTViMTY3NWUyZDA0YzY3NiIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlwYWRkcmVzc18xLjAuMTYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pcGFkZHJlc3NfMS4wLjE2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlOTdlZjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pcGFkZHJlc3NfMS4wLjE2LmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIDMuMysncyBpcGFkZHJlc3MgZm9yIFB5dGhvbiAyLjYsIDIuNywgMy4yLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9waGloYWcvaXBhZGRyZXNzIgorTElDRU5TRSA9ICJQeXRob24tMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9N2Y1Mzg1ODRjYzM0MDdiZjc2MDQyZGVmNzE2ODU0OGEiCisKK0RFUEVORFMgKz0gInB5dGhvbi1waXAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxZTI3YjYyYWEyMGY1YjZmYzIwMGIyYmRiZjBkMDg0NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1YTMxODJiMzIyYTcwNjUyNWM0NjI4MmNhNmYwNjRkMjdhMDJjZmZiZDQ0OWY5ZjQ3NDE2ZjFkYzk2YWE3MWIwIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXNvODYwMV8wLjEuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pc284NjAxXzAuMS4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODRjZjEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXNvODYwMV8wLjEuMTEuYmIKQEAgLTAsMCArMSw4IEBACitTVU1NQVJZID0gIlNpbXBsZSBtb2R1bGUgdG8gcGFyc2UgSVNPIDg2MDEgZGF0ZXMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWIwNTYyNWYyMzM2ZmEwMjRlOGQ1N2U2NWM2NTk1ODQ0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjA2ZDExY2QxNGE2NDA5NmY5MDcwODYwNDRmMGZlMzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZThmYjUyZjc4ODgwYWUwNjMzMzZjOTRlYjViODdiMTgxZTZhMGNjMzNhNmMwMDg1MTFiYWM5YTZlOTgwZWYzMCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWl0c2Rhbmdlcm91cy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pdHNkYW5nZXJvdXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczOTUxZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pdHNkYW5nZXJvdXMuaW5jCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJWYXJpb3VzIGhlbHBlcnMgdG8gcGFzcyB0cnVzdGVkIGRhdGEgdG8gdW50cnVzdGVkIGVudmlyb25tZW50cyBhbmQgYmFjay4iCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0aHViLmNvbS9taXRzdWhpa28vaXRzZGFuZ2Vyb3VzIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iNjE4NDFlMmJmNWYwNzg4NDE0OGUyYTZmMWJjYWIwYyIKKworU1JDX1VSSVttZDVzdW1dID0gImEzZDU1YWE3OTM2OWFlZjUzNDVjMDM2YThhMjYzMDdmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImNiYjNmY2Y4ZDNlMzNkZjg2MTcwOWVjYWY4OWQ5ZTY2MjljZmYwYTIxN2JjMjg0OGYxYjQxY2QzMGQzNjA1MTkiCisKK0NMRUFOQlJPS0VOID0gIjEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pdHNkYW5nZXJvdXNfMC4yNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWl0c2Rhbmdlcm91c18wLjI0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlMTU2YmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pdHNkYW5nZXJvdXNfMC4yNC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1pdHNkYW5nZXJvdXMuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qaW5qYTIuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmVlNzliCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYwpAQCAtMCwwICsxLDE1IEBACitERVNDUklQVElPTiA9ICJQeXRob24gSmluamEyOiBBIHNtYWxsIGJ1dCBmYXN0IGFuZCBlYXN5IHRvIHVzZSBzdGFuZC1hbG9uZSB0ZW1wbGF0ZSBlbmdpbmUgd3JpdHRlbiBpbiBwdXJlIHB5dGhvbi4iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTIwYzgzMWY5MWRkM2JkNDg2MDIwZjY3MmJhMmJlMzg2IgorCitQUiA9ICJyMCIKK1BZUElfUEFDS0FHRSA9ICJKaW5qYTIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZGI1MTY5M2ZlMjJjNTNjZWU1NDAzNzc1YzcxYTk5ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiYzFmZjJmZjg4ZGJmYWNlZmRlNGRkZGU0NzFkMTQxN2QzYjMwNGU4ZGYxMDNhN2E5NDM3ZDQ3MjY5MjAxYmY0IgorCitSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LWlvICR7UFlUSE9OX1BOfS1waWNrbGUgJHtQWVRIT05fUE59LWNyeXB0IFwKKyAgICAke1BZVEhPTl9QTn0tbWF0aCAke1BZVEhPTl9QTn0tbmV0Y2xpZW50ICR7UFlUSE9OX1BOfS1yZSAke1BZVEhPTl9QTn0tdGV4dHV0aWxzIFwKKyAgICAke1BZVEhPTl9QTn0tbGFuZyAke1BZVEhPTl9QTn0tcHByaW50ICR7UFlUSE9OX1BOfS1zaGVsbCAke1BZVEhPTl9QTn0tbWFya3Vwc2FmZSIKKworQ0xFQU5CUk9LRU4gPSAiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWppbmphMl8yLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qaW5qYTJfMi44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjOGU3ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qaW5qYTJfMi44LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLWppbmphMi5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWpzb25wYXRjaF8xLjEzLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tanNvbnBhdGNoXzEuMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg1YmE1OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWpzb25wYXRjaF8xLjEzLmJiCkBAIC0wLDAgKzEsMTIgQEAKK1NVTU1BUlkgID0gIkFwcGxpbmcgSlNPTiBwYXRjaGVzIGluIFB5dGhvbiAyLjYrIGFuZCAzLngiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vc3RlZmFua29lZ2wvcHl0aG9uLWpzb24tcGF0Y2giCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTMyYjE1Yzg0M2I3YTMyOTEzMGY0ZTI2NmEyODFlYmIzIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitTUkNfVVJJW21kNXN1bV0gPSAiNGQ2NjUwY2VkNjgzZjYzMmUxMTdiYWZlNWQ5ZjA5M2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTQ3MDY1NmEwODAwMmUzMDk2MzJiNTk3NzJiMjA2Y2UwNTY0YzlhNzdiNDRjMjVmMDVmNDlkZDJjYWQyNDhkNSIKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1yZSBweXRob24tanNvbiBweXRob24tanNvbnBvaW50ZXIiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWpzb25wb2ludGVyXzEuMTAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qc29ucG9pbnRlcl8xLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlYzg3NzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1qc29ucG9pbnRlcl8xLjEwLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUmVzb2x2ZSBKU09OIFBvaW50ZXJzIGluIFB5dGhvbiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zdGVmYW5rb2VnbC9weXRob24tanNvbi1wb2ludGVyIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zMmIxNWM4NDNiN2EzMjkxMzBmNGUyNjZhMjgxZWJiMyIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworU1JDX1VSSVttZDVzdW1dID0gImQ2OGMwYzZhZDY4ODllOWM5NGVjMGZlYmE3MTllNDVlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlmYTVkY2FjMzVlZWZkNTNlMjVkNmNkNGMzMTBkOTYzYzlmMGI4OTc2NDE3NzJjZDZlNWU3Yjg5ZGY3ZWUwYjEiCisKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24tcmUgcHl0aG9uLWpzb24iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1sZGFwL3NldHVwLmNmZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWxkYXAvc2V0dXAuY2ZnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3MDNkMzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1sZGFwL3NldHVwLmNmZy5wYXRjaApAQCAtMCwwICsxLDE0IEBACistLS0gcHl0aG9uLWxkYXAtMi4zLjkvc2V0dXAuY2ZnLm9yaWcgICAgMjAwOS0wOC0xMyAxMTowNzoyMy4wMDAwMDAwMDAgKzAyMDAKKysrKyBweXRob24tbGRhcC0yLjMuOS9zZXR1cC5jZmcgMjAwOS0wOC0xMyAxMTowNzozNy4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xLDkgKzEsOSBAQAorIFtfbGRhcF0KKyBleHRyYV9vYmplY3RzID0gCisgZXh0cmFfY29tcGlsZV9hcmdzID0gCistbGlicyA9IGxkYXBfciBsYmVyIHNhc2wyIHNzbCBjcnlwdG8KKytsaWJzID0gbGRhcF9yIGxiZXIgc3NsIGNyeXB0bworIGxpYnJhcnlfZGlycyA9IC9vcHQvb3BlbmxkYXAtUkUyNC9saWIKKy1pbmNsdWRlX2RpcnMgPSAvb3B0L29wZW5sZGFwLVJFMjQvaW5jbHVkZSAvdXNyL2luY2x1ZGUvc2FzbAorK2luY2x1ZGVfZGlycyA9IC9vcHQvb3BlbmxkYXAtUkUyNC9pbmNsdWRlCisKKyBbZWdnX2luZm9dCisgdGFnX2J1aWxkID0gIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbGRhcF8yLjMuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWxkYXBfMi4zLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRlNjVlYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWxkYXBfMi4zLjkuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJMREFQIGNsaWVudCBBUEkgZm9yIFB5dGhvbiwgQyB3cmFwcGVyIG1vZHVsZSBhcm91bmQgT3BlbkxEQVAgMi54IHdpdGggYW4gb2JqZWN0LW9yaWVudGVkIEFQSSIgCitMSUNFTlNFID0gIlB5dGhvbi1zdHlsZSIgCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFO21kNT1hNDFjODJlZGZmYTA0OTEyMDA3Y2FlMWQyMGNhYzU1NSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucHl0aG9uLWxkYXAub3JnLyIgCitERVBFTkRTID0gInB5dGhvbiBvcGVubGRhcCIgCisKK1NSQ19VUkkgPSAiZmlsZTovL3NldHVwLmNmZy5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhOWY5ZjE2MzM4Mjg4ZDExOGExYWU2MjY2Yzk5MzI0NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MmY3NWIyMWM1ZWU3NDQ0MDhjOWQ4YjU5ODc4MzI4YjNiZGY0Nzg5OWQzMGU4YWJmMGMwOWIzZmZiODkzZWQ0IgorCitQWVBJX1BBQ0tBR0UgPSAicHl0aG9uLWxkYXAiCitpbmhlcml0IHB5cGkgc2V0dXB0b29scyAgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1sZGFwXzIuNC4xMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWxkYXBfMi40LjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhNmFlN2UKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1sZGFwXzIuNC4xMC5iYgpAQCAtMCwwICsxLDI0IEBACisjCisjIENvcHlyaWdodCAoQykgMjAxMiBXaW5kIFJpdmVyIFN5c3RlbXMsIEluYy4KKyMKK1NVTU1BUlkgPSAiUHJvdmlkZXMgYSB3cmFwcGVyIGluIFB5dGhvbiB0byBMREFQIgorREVTQ1JJUFRJT04gPSAiVGhpcyBtb2R1bGUgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBMREFQIFwKKyhMaWdodHdlaWdodCBEaXJlY3RvcnkgQWNjZXNzIFByb3RvY29sKSB0aHJvdWdoIFB5dGhvbiBvcGVyYXRpb25zIFwKK2luc3RlYWQgb2YgQyBBUEkuIFRoZSBtb2R1bGUgbWFpbmx5IGFjdHMgYXMgYSB3cmFwcGVyIGZvciB0aGUgXAorT3BlbkxEQVAgMi54IGxpYnJhcmllcy4gRXJyb3JzIHdpbGwgYXBwZWFyIGFzIGV4Y2VwdGlvbnMuIgorCitMSUNFTlNFID0gIlBTRiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucHl0aG9uLWxkYXAub3JnLyIKK0RFUEVORFMgPSAicHl0aG9uIG9wZW5sZGFwIGN5cnVzLXNhc2wiCisKK1BZUElfUEFDS0FHRSA9ICJweXRob24tbGRhcCIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzICAKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRTttZDU9YTQxYzgyZWRmZmEwNDkxMjAwN2NhZTFkMjBjYWM1NTUiCitTUkNfVVJJW21kNXN1bV0gPSAiYTE1ODI3Y2ExM2M5MGU5MTAxZTVlOTQwNWMxZDgzYmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjdjYzc4MDFiZjI0YzI5Mzg2YWI5OTk2NmNlYjY4ZDZhNjBmYTllMDU2NmNjOTVhNGZiYjJjNDY5NWE4Y2U1NCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pIC1lICdzOl5saWJyYXJ5X2RpcnMgPS4qOjonIHNldHVwLmNmZworICAgIHNlZCAtaSAtZSAnczpeaW5jbHVkZV9kaXJzID0uKjppbmNsdWRlX2RpcnMgPSA9L3Vzci9pbmNsdWRlL3Nhc2wvOicgc2V0dXAuY2ZnCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWx4bWwuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0NzM0MTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sLmluYwpAQCAtMCwwICsxLDQzIEBACitTVU1NQVJZID0gIlBvd2VyZnVsIGFuZCBQeXRob25pYyBYTUwgcHJvY2Vzc2luZyBsaWJyYXJ5IGNvbWJpbmluZyBsaWJ4bWwyL2xpYnhzbHQgd2l0aCB0aGUgRWxlbWVudFRyZWUgQVBJLiIKK0RFU0NSSVBUSU9OID0gImx4bWwgaXMgYSBQeXRob25pYywgbWF0dXJlIGJpbmRpbmcgZm9yIHRoZSBsaWJ4bWwyIGFuZCBcCitsaWJ4c2x0IGxpYnJhcmllcy4gSXQgcHJvdmlkZXMgc2FmZSBhbmQgY29udmVuaWVudCBhY2Nlc3MgdG8gdGhlc2UgXAorbGlicmFyaWVzIHVzaW5nIHRoZSBFbGVtZW50VHJlZSBBUEkuIEl0IGV4dGVuZHMgdGhlIEVsZW1lbnRUcmVlIEFQSSBcCitzaWduaWZpY2FudGx5IHRvIG9mZmVyIHN1cHBvcnQgZm9yIFhQYXRoLCBSZWxheE5HLCBYTUwgU2NoZW1hLCBYU0xULCBcCitDMTROIGFuZCBtdWNoIG1vcmUuIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGVzcGVhay5uZXQvbHhtbCIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QgJiBHUEx2MiAmIE1JVCAmIFBTRiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0VTLnR4dDttZDU9ZjlmMWRjMjRmNzIwYzE0M2MyMjQwZGY0MWZlNTA3M2IgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jL2xpY2Vuc2VzL2VsZW1lbnR0cmVlLnR4dDttZDU9ZWIzNGQwMzZhNmUzZDU2MzE0ZWU0OWE2ODUyYWM4OTEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jL2xpY2Vuc2VzL0JTRC50eHQ7bWQ1PTcwMGExZmMxN2Y0Nzk3ZDRmMmQzNDk3MGM4ZWU2OTRiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RvYy9saWNlbnNlcy9HUEwudHh0O21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvbHhtbC9pc29zY2hlbWF0cm9uL3Jlc291cmNlcy9ybmcvaXNvLXNjaGVtYXRyb24ucm5nO3N0YXJ0bGluZT0yO2VuZGxpbmU9NzttZDU9YTI5MTRkMTJhY2M3MDY2YjNmNWI2MGU4Zjk0YTAxMmUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2x4bWwvaXNvc2NoZW1hdHJvbi9yZXNvdXJjZXMveHNsL2lzby1zY2hlbWF0cm9uLXhzbHQxL2lzb19zY2hlbWF0cm9uX21lc3NhZ2UueHNsO3N0YXJ0bGluZT0yO2VuZGxpbmU9MjQ7bWQ1PTk2OTc2ZGNjNjYyNDljNTFlODAyNmIxNTljYTVlNzU1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9seG1sL2lzb3NjaGVtYXRyb24vcmVzb3VyY2VzL3hzbC9STkcyU2NodHJuLnhzbDtzdGFydGxpbmU9MjtlbmRsaW5lPTc7bWQ1PTVjYWM0YWQ0YjVlMTMxYTEwZTlhZjc1NWIxMGZiYmI3IFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitERVBFTkRTICs9ICJsaWJ4bWwyIGxpYnhzbHQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1OTU3Y2MzODRiZDZlODM5MzRiZTM1YzA1N2VjMDNiNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5Yzc0Y2EyOGE3ZjBjMzBkY2E4ODcyMjgxYjNjNDc3MDVlMjEyMTdjOGJjNjM5MTJkOTVjOWUyYTdjYWM2YmRmIgorCitESVNUVVRJTFNfQlVJTERfQVJHUyArPSAiIFwKKyAgICAgICAgICAgICAgICAgICAgIC0td2l0aC14c2x0LWNvbmZpZz0ncGtnLWNvbmZpZyBsaWJ4c2x0JyBcCisgICAgICAgICAgICAgICAgICAgICAtLXdpdGgteG1sMi1jb25maWc9J3BrZy1jb25maWcgbGlieG1sLTIuMCcgXAorIgorCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTICs9ICIgXAorICAgICAgICAgICAgICAgICAgICAgLS13aXRoLXhzbHQtY29uZmlnPSdwa2ctY29uZmlnIGxpYnhzbHQnIFwKKyAgICAgICAgICAgICAgICAgICAgIC0td2l0aC14bWwyLWNvbmZpZz0ncGtnLWNvbmZpZyBsaWJ4bWwtMi4wJyBcCisiCisKK2luaGVyaXQgcHlwaQorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWkgLWUgJ3MvLS12ZXJzaW9uLy0tbW9kdmVyc2lvbi8nICR7Qn0vc2V0dXBpbmZvLnB5Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworUkRFUEVORFNfJHtQTn0gKz0gImxpYnhtbDIgbGlieHNsdCAke1BZVEhPTl9QTn0tY29tcHJlc3Npb24iCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAibGlieG1sMi1uYXRpdmUgbGlieHNsdC1uYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sXzMuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbF8zLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWNjYjEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbF8zLjYuMC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tbHhtbC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW0yY3J5cHRvLzAwMDEtTTJDcnlwdG8tRXJyb3ItZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbTJjcnlwdG8vMDAwMS1NMkNyeXB0by1FcnJvci1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE3NGI2OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW0yY3J5cHRvLzAwMDEtTTJDcnlwdG8tRXJyb3ItZml4LnBhdGNoCkBAIC0wLDAgKzEsMTYyIEBACitGcm9tIDAyYTI0YWM1NDFkZjY4MDMzZDRlZmQ3ZTJmOGExYjkyZGM0OTMyOGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMaSB4aW4gPGxpeGluLmZuc3RAY24uZnVqaXRzdS5jb20+CitEYXRlOiBNb24sIDI3IEp1bCAyMDE1IDA1OjA2OjIwICswOTAwCitTdWJqZWN0OiBbUEFUQ0hdIE0yQ3J5cHRvOiBFcnJvciBmaXguCisKK0FmdGVyIHN3aWcgdXBncmFkZSBmcm9tIDMuMC4yIHRvIDMuMC42LGJ1aWxkIHRoZSByZWNpcGVzIHdoaWNoCitkZXBlbmRzIG9uIHB5dGhvbi1tMmNyeXB0byB3aWxsIG9jY3VyIGVycm9ycyBsaWtlIHRoaXM6CitTQUxUX0xFTiA9IG0yLlBLQ1M1X1NBTFRfTEVOCitBdHRyaWJ1dGVFcnJvcjogJ21vZHVsZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ1BLQ1M1X1NBTFRfTEVOJworc2luY2UgcHl0aG9uLW0yY3J5cHRvIGRlcGVuZHMgb24gc3dpZy1uYXRpdmUKKworUmVmOgoraHR0cHM6Ly9naXRodWIuY29tL21hcnRpbnBhbGphay9NMkNyeXB0by9pc3N1ZXMvNjAjaXNzdWVjb21tZW50LTc1NzM1NDg5CisKK1RoaXMgcGF0Y2ggaXMgZnJvbToKK2h0dHA6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL2NnaXQvbTJjcnlwdG8uZ2l0L3RyZWUvbTJjcnlwdG8tMC4yMS4xLXN3aWctMy4wLjUucGF0Y2gKKworVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFhpbiA8bGl4aW4uZm5zdEBjbi5mdWppdHN1LmNvbT4KKy0tLQorIE0yQ3J5cHRvL19faW5pdF9fLnB5IHwgIDQgKystLQorIE0yQ3J5cHRvL20yLnB5ICAgICAgIHwgIDIgKy0KKyBTV0lHL19saWIuaSAgICAgICAgICB8ICA0ICsrKysKKyBTV0lHL19wa2NzNy5pICAgICAgICB8ICAxICsKKyBzZXR1cC5weSAgICAgICAgICAgICB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrKystCisgNSBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTTJDcnlwdG8vX19pbml0X18ucHkgYi9NMkNyeXB0by9fX2luaXRfXy5weQoraW5kZXggZTdhY2ZlNy4uMDJmNGQyOCAxMDA2NDQKKy0tLSBhL00yQ3J5cHRvL19faW5pdF9fLnB5CisrKysgYi9NMkNyeXB0by9fX2luaXRfXy5weQorQEAgLTE5LDcgKzE5LDcgQEAgQ29weXJpZ2h0IDIwMDgtMjAxMSBIZWlra2kgVG9pdm9uZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgdmVyc2lvbl9pbmZvID0gKDAsIDIxLCAxKQorIHZlcnNpb24gPSAnLicuam9pbihbc3RyKF92KSBmb3IgX3YgaW4gdmVyc2lvbl9pbmZvXSkKKyAKKy1pbXBvcnQgX19tMmNyeXB0bworK2ltcG9ydCBfbTJjcnlwdG8KKyBpbXBvcnQgbTIKKyBpbXBvcnQgQVNOMQorIGltcG9ydCBBdXRoQ29va2llCitAQCAtNTcsNCArNTcsNCBAQCBpbXBvcnQgdXRpbAorIGVuY3J5cHQ9MQorIGRlY3J5cHQ9MAorIAorLV9fbTJjcnlwdG8ubGliX2luaXQoKQorK19tMmNyeXB0by5saWJfaW5pdCgpCitkaWZmIC0tZ2l0IGEvTTJDcnlwdG8vbTIucHkgYi9NMkNyeXB0by9tMi5weQoraW5kZXggZTRiYjY5NS4uODIyMTQzZiAxMDA2NDQKKy0tLSBhL00yQ3J5cHRvL20yLnB5CisrKysgYi9NMkNyeXB0by9tMi5weQorQEAgLTI1LDcgKzI1LDcgQEAgUG9ydGlvbnMgY3JlYXRlZCBieSBPcGVuIFNvdXJjZSBBcHBsaWNhdGlvbnMgRm91bmRhdGlvbiAoT1NBRikgYXJlCisgQ29weXJpZ2h0IChDKSAyMDA0IE9TQUYuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgIiIiCisgCistZnJvbSBfX20yY3J5cHRvIGltcG9ydCAqCisrZnJvbSBfbTJjcnlwdG8gaW1wb3J0ICoKKyBsaWJfaW5pdCgpCisgCisgCitkaWZmIC0tZ2l0IGEvU1dJRy9fbGliLmkgYi9TV0lHL19saWIuaQoraW5kZXggNDJkYzE4MC4uNDdhNTNiOCAxMDA2NDQKKy0tLSBhL1NXSUcvX2xpYi5pCisrKysgYi9TV0lHL19saWIuaQorQEAgLTEwMCw2ICsxMDAsNyBAQCBpbnQgc3NsX3ZlcmlmeV9jYWxsYmFjayhpbnQgb2ssIFg1MDlfU1RPUkVfQ1RYICpjdHgpIHsKKyAgICAgaW50IGNyZXQ7CisgICAgIGludCBuZXdfc3R5bGVfY2FsbGJhY2sgPSAwLCB3YXJuaW5nX3JhaXNlZF9leGNlcHRpb249MDsKKyAgICAgUHlHSUxTdGF0ZV9TVEFURSBnaWxzdGF0ZTsKKysgICAgUHlPYmplY3QgKnNlbGYgPSBOVUxMOyAvKiBidWcgaW4gU1dJR19OZXdQb2ludGVyT2JqIGFzIG9mIDMuMC41ICovCisgCisgICAgIHNzbCA9IChTU0wgKilYNTA5X1NUT1JFX0NUWF9nZXRfYXBwX2RhdGEoY3R4KTsKKyAKK0BAIC0xODUsNiArMTg2LDcgQEAgaW50IHNzbF92ZXJpZnlfY2FsbGJhY2soaW50IG9rLCBYNTA5X1NUT1JFX0NUWCAqY3R4KSB7Cisgdm9pZCBzc2xfaW5mb19jYWxsYmFjayhjb25zdCBTU0wgKnMsIGludCB3aGVyZSwgaW50IHJldCkgeworICAgICBQeU9iamVjdCAqYXJndiwgKnJldHZhbCwgKl9TU0w7CisgICAgIFB5R0lMU3RhdGVfU1RBVEUgZ2lsc3RhdGU7CisrICAgIFB5T2JqZWN0ICpzZWxmID0gTlVMTDsgLyogYnVnIGluIFNXSUdfTmV3UG9pbnRlck9iaiBhcyBvZiAzLjAuNSAqLworIAorICAgICBnaWxzdGF0ZSA9IFB5R0lMU3RhdGVfRW5zdXJlKCk7CisgCitAQCAtMjA0LDYgKzIwNiw3IEBAIERIICpzc2xfc2V0X3RtcF9kaF9jYWxsYmFjayhTU0wgKnNzbCwgaW50IGlzX2V4cG9ydCwgaW50IGtleWxlbmd0aCkgeworICAgICBQeU9iamVjdCAqYXJndiwgKnJldCwgKl9zc2w7CisgICAgIERIICpkaDsKKyAgICAgUHlHSUxTdGF0ZV9TVEFURSBnaWxzdGF0ZTsKKysgICAgUHlPYmplY3QgKnNlbGYgPSBOVUxMOyAvKiBidWcgaW4gU1dJR19OZXdQb2ludGVyT2JqIGFzIG9mIDMuMC41ICovCisgCisgICAgIGdpbHN0YXRlID0gUHlHSUxTdGF0ZV9FbnN1cmUoKTsKKyAKK0BAIC0yMjcsNiArMjMwLDcgQEAgUlNBICpzc2xfc2V0X3RtcF9yc2FfY2FsbGJhY2soU1NMICpzc2wsIGludCBpc19leHBvcnQsIGludCBrZXlsZW5ndGgpIHsKKyAgICAgUHlPYmplY3QgKmFyZ3YsICpyZXQsICpfc3NsOworICAgICBSU0EgKnJzYTsKKyAgICAgUHlHSUxTdGF0ZV9TVEFURSBnaWxzdGF0ZTsKKysgICAgUHlPYmplY3QgKnNlbGYgPSBOVUxMOyAvKiBidWcgaW4gU1dJR19OZXdQb2ludGVyT2JqIGFzIG9mIDMuMC41ICovCisgCisgICAgIGdpbHN0YXRlID0gUHlHSUxTdGF0ZV9FbnN1cmUoKTsKKyAKK2RpZmYgLS1naXQgYS9TV0lHL19wa2NzNy5pIGIvU1dJRy9fcGtjczcuaQoraW5kZXggMTc0ZjQwYS4uN2JmZmJmYyAxMDA2NDQKKy0tLSBhL1NXSUcvX3BrY3M3LmkKKysrKyBiL1NXSUcvX3BrY3M3LmkKK0BAIC0xNTcsNiArMTU3LDcgQEAgUHlPYmplY3QgKnNtaW1lX3JlYWRfcGtjczcoQklPICpiaW8pIHsKKyAgICAgQklPICpiY29udCA9IE5VTEw7CisgICAgIFBLQ1M3ICpwNzsKKyAgICAgUHlPYmplY3QgKnR1cGxlLCAqX3A3LCAqX0JJTzsKKysgICAgUHlPYmplY3QgKnNlbGYgPSBOVUxMOyAvKiBidWcgaW4gU1dJR19OZXdQb2ludGVyT2JqIGFzIG9mIDMuMC41ICovCisgCisgICAgIGlmIChCSU9fbWV0aG9kX3R5cGUoYmlvKSA9PSBCSU9fVFlQRV9NRU0pIHsKKyAgICAgICAgIC8qIE9wZW5TU0wgRkFRIGV4cGxhaW5zIHRoYXQgdGhpcyBpcyBuZWVkZWQgZm9yIG1lbSBCSU8gdG8gcmV0dXJuIEVPRiwKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCBlN2M0OWViLi5iOThhYmUwIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtMjAsNiArMjAsNyBAQCBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgIGZyb20gZGlzdHV0aWxzLmNvbW1hbmQgaW1wb3J0IGJ1aWxkX2V4dAorIAorIGZyb20gZGlzdHV0aWxzLmNvcmUgaW1wb3J0IEV4dGVuc2lvbgorK2Zyb20gZGlzdHV0aWxzLmZpbGVfdXRpbCBpbXBvcnQgY29weV9maWxlCisgCisgCisgY2xhc3MgX00yQ3J5cHRvQnVpbGRFeHQoYnVpbGRfZXh0LmJ1aWxkX2V4dCk6CitAQCAtNTcsNyArNTgsMTcgQEAgY2xhc3MgX00yQ3J5cHRvQnVpbGRFeHQoYnVpbGRfZXh0LmJ1aWxkX2V4dCk6CisgICAgICAgICBzZWxmLnN3aWdfb3B0cy5hcHBlbmQoJy1pbmNsdWRlYWxsJykKKyAgICAgICAgICNzZWxmLnN3aWdfb3B0cy5hcHBlbmQoJy1EX19pMzg2X18nKSAjIFVuY29tbWVudCBmb3IgZWFybHkgT3BlblNTTCAwLjkuNyB2ZXJzaW9ucywgb3Igb24gRmVkb3JhIENvcmUgaWYgYnVpbGQgZmFpbHMKKyAgICAgICAgICNzZWxmLnN3aWdfb3B0cy5hcHBlbmQoJy1ET1BFTlNTTF9OT19FQycpICMgVHJ5IHVuY29tbWVudGluZyBpZiB5b3UgY2FuJ3QgYnVpbGQgd2l0aCBFQyBkaXNhYmxlZAorLSAgICAgICAgCisrICAgICAgICBzZWxmLnN3aWdfb3B0cy5hcHBlbmQoJy1tb2Rlcm4nKQorKyAgICAgICAgc2VsZi5zd2lnX29wdHMuYXBwZW5kKCctYnVpbHRpbicpCisrCisrICAgICAgICAjIFRoZXNlIHR3byBsaW5lcyBhcmUgYSB3b3JrYXJvdW5kIGZvcgorKyAgICAgICAgIyBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMjYyNCAsIGhhcmQtY29kaW5nIHRoYXQgd2UgYXJlIG9ubHkKKysgICAgICAgICMgYnVpbGRpbmcgYSBzaW5nbGUgZXh0ZW5zaW9uIHdpdGggYSBrbm93biBwYXRoOyBhIHByb3BlciBwYXRjaCB0bworKyAgICAgICAgIyBkaXN0dXRpbHMgd291bGQgYmUgaW4gdGhlIHJ1biBwaGFzZSwgd2hlbiBleHRlbnNpb24gbmFtZSBhbmQgcGF0aCBhcmUKKysgICAgICAgICMga25vd24uCisrICAgICAgICBzZWxmLnN3aWdfb3B0cy5hcHBlbmQoJy1vdXRkaXInKQorKyAgICAgICAgc2VsZi5zd2lnX29wdHMuYXBwZW5kKG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX2xpYiwgJ00yQ3J5cHRvJykpCisrCisgICAgICAgICBzZWxmLmluY2x1ZGVfZGlycyArPSBbb3MucGF0aC5qb2luKHNlbGYub3BlbnNzbCwgb3BlbnNzbEluY2x1ZGVEaXIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihvcy5nZXRjd2QoKSwgJ1NXSUcnKV0gICAgICAgIAorICAgICAgICAgICAgIAorQEAgLTcxLDYgKzgyLDE5IEBAIGNsYXNzIF9NMkNyeXB0b0J1aWxkRXh0KGJ1aWxkX2V4dC5idWlsZF9leHQpOgorICAgICAgICAgICAgICAgIAorICAgICAgICAgc2VsZi5saWJyYXJ5X2RpcnMgKz0gW29zLnBhdGguam9pbihzZWxmLm9wZW5zc2wsIG9wZW5zc2xMaWJyYXJ5RGlyKV0KKyAKKysgICAgZGVmIHJ1bihzZWxmKToKKysgICAgICAgICcnJ092ZXJsb2FkZWQgYnVpbGRfZXh0IGltcGxlbWVudGF0aW9uIHRvIGFsbG93IGlucGxhY2U9MSB0byB3b3JrLAorKyAgICAgICAgd2hpY2ggaXMgbmVlZGVkIGZvciAocHl0aG9uIHNldHVwLnB5IHRlc3QpLicnJworKyAgICAgICAgIyBUaGlzIGlzIGFub3RoZXIgd29ya2Fyb3VuZCBmb3IgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTI2MjQgKyB0aGUKKysgICAgICAgICMgY29ycmVzcG9uZGluZyBsYWNrIG9mIHN1cHBvcnQgaW4gc2V0dXB0b29scycgdGVzdCBjb21tYW5kLiBOb3RlIHRoYXQKKysgICAgICAgICMganVzdCB1c2luZyBzZWxmLmlucGxhY2UgaW4gZmluYWxpemVfb3B0aW9ucygpIGFib3ZlIGRvZXMgbm90IHdvcmsKKysgICAgICAgICMgYmVjYXVzZSBzd2lnIGlzIG5vdCByZXJ1biBpZiB0aGUgX19tMmNyeXB0by5zbyBleHRlbnNpb24gZXhpc3RzLgorKyAgICAgICAgIyBBZ2FpbiwgaGFyZC1jb2Rpbmcgb3VyIGV4dGVuc2lvbiBuYW1lIGFuZCBsb2NhdGlvbi4KKysgICAgICAgIGJ1aWxkX2V4dC5idWlsZF9leHQucnVuKHNlbGYpCisrICAgICAgICBpZiBzZWxmLmlucGxhY2U6CisrICAgICAgICAgICAgY29weV9maWxlKG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX2xpYiwgJ00yQ3J5cHRvJywgJ19tMmNyeXB0by5weScpLAorKyAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oJ00yQ3J5cHRvJywgJ19tMmNyeXB0by5weScpLAorKyAgICAgICAgICAgICAgICAgICAgICB2ZXJib3NlPXNlbGYudmVyYm9zZSwgZHJ5X3J1bj1zZWxmLmRyeV9ydW4pCisgCisgaWYgc3lzLnZlcnNpb25faW5mbyA8ICgyLDQpOgorIAorLS0gCisxLjguNC4yCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW0yY3J5cHRvLzAwMDEtc2V0dXAucHktbGluay1pbi1zeXNyb290LW5vdC1pbi1ob3N0LWRpcmVjdG9yaWVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbTJjcnlwdG8vMDAwMS1zZXR1cC5weS1saW5rLWluLXN5c3Jvb3Qtbm90LWluLWhvc3QtZGlyZWN0b3JpZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE5YzhlNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW0yY3J5cHRvLzAwMDEtc2V0dXAucHktbGluay1pbi1zeXNyb290LW5vdC1pbi1ob3N0LWRpcmVjdG9yaWVzLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gZjExYjljNzEwODA1MTNmOWI4NjdiYThmNDA2MTNiYTJlYmM2ZTk2MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDE1OjE3OjE3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHNldHVwLnB5OiBsaW5rIGluIHN5c3Jvb3QsIG5vdCBpbiBob3N0IGRpcmVjdG9yaWVzCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CisKK1Vwc3RyZWFtLXN0YXR1czogVW5rbm93bgorLS0tCisgc2V0dXAucHkgfCA2ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK0luZGV4OiBNMkNyeXB0by0wLjIzLjAvc2V0dXAucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBNMkNyeXB0by0wLjIzLjAub3JpZy9zZXR1cC5weQorKysrIE0yQ3J5cHRvLTAuMjMuMC9zZXR1cC5weQorQEAgLTYyLDcgKzYyLDcgQEAgY2xhc3MgX00yQ3J5cHRvQnVpbGRFeHQoYnVpbGRfZXh0LmJ1aWxkXworICAgICAgICAgICAgIHNlbGYub3BlbnNzbCA9ICdjOlxccGtnJworICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBzZWxmLmxpYnJhcmllcyA9IFsnc3NsJywgJ2NyeXB0byddCistICAgICAgICAgICAgc2VsZi5vcGVuc3NsID0gJy91c3InCisrICAgICAgICAgICAgc2VsZi5vcGVuc3NsID0gb3MuZW52aXJvbi5nZXQoICJTVEFHSU5HX0RJUiIgKQorIAorICAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgICcnJ092ZXJsb2FkZWQgYnVpbGRfZXh0IGltcGxlbWVudGF0aW9uIHRvIGFwcGVuZCBjdXN0b20gb3BlbnNzbAorQEAgLTc1LDggKzc1LDggQEAgY2xhc3MgX00yQ3J5cHRvQnVpbGRFeHQoYnVpbGRfZXh0LmJ1aWxkXworICAgICAgICAgaWYgX29wZW5zc2wgYW5kIG9zLnBhdGguaXNkaXIoX29wZW5zc2wpOgorICAgICAgICAgICAgIHNlbGYub3BlbnNzbCA9IF9vcGVuc3NsCisgCistICAgICAgICBzZWxmLmluY2x1ZGVfZGlycy5hcHBlbmQob3MucGF0aC5qb2luKHNlbGYub3BlbnNzbCwgJ2luY2x1ZGUnKSkKKy0gICAgICAgIG9wZW5zc2xfbGlicmFyeV9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5vcGVuc3NsLCAnbGliJykKKysgICAgICAgIHNlbGYuaW5jbHVkZV9kaXJzLmFwcGVuZChvcy5lbnZpcm9uLmdldCggIlNUQUdJTkdfSU5DRElSIiApKQorKyAgICAgICAgb3BlbnNzbF9saWJyYXJ5X2RpciA9IG9zLmVudmlyb24uZ2V0KCAiU1RBR0lOR19MSUJESVIiICkKKyAKKyAgICAgICAgIGlmIHBsYXRmb3JtLnN5c3RlbSgpID09ICJMaW51eCI6CisgICAgICAgICAgICAgaWYgX211bHRpYXJjaDogICMgb24gRmVkb3JhL1JIRUwgaXQgaXMgYW4gZW1wdHkgc3RyaW5nCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tMmNyeXB0b18wLjIzLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tMmNyeXB0b18wLjIzLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjZmMGUxZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW0yY3J5cHRvXzAuMjMuMC5iYgpAQCAtMCwwICsxLDUyIEBACitTVU1NQVJZID0gIkEgUHl0aG9uIGNyeXB0byBhbmQgU1NMIHRvb2xraXQiCitIT01FUEFHRSA9ICJodHRwOi8vY2hhbmRsZXJwcm9qZWN0Lm9yZy9iaW4vdmlldy9Qcm9qZWN0cy9NZVRvb0NyeXB0byIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9NjhmNzg4MGRlOTQ5NDEyYjJlYTI0ODkzMmQ5N2VkNTQiCisKK1NSQ05BTUUgPSAiTTJDcnlwdG8iCitTUkNfVVJJID0gImh0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvc291cmNlL00vTTJDcnlwdG8vTTJDcnlwdG8tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiODk1NTc3MzBlMjQ1Mjk0YTZjYWIwNmRlOGFkNGZiNDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWFjM2I2ZWFmYTVmZjdlMmEwNzk2Njc1MzE2ZDc1NjliMjhhYWRhNDVhN2FiNzQwNDJhZDA4OWQxNWE5NTY3ZiIKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtc2V0dXAucHktbGluay1pbi1zeXNyb290LW5vdC1pbi1ob3N0LWRpcmVjdG9yaWVzLnBhdGNoICIKKworUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgc2V0dXB0b29scworCitERVBFTkRTICs9ICJvcGVuc3NsIHN3aWctbmF0aXZlIgorCitESVNUVVRJTFNfQlVJTERfQVJHUyArPSAiYnVpbGRfZXh0IC0tb3BlbnNzbD0ke1NUQUdJTkdfRElSX0hPU1R9IC1JJHtTVEFHSU5HX0lOQ0RJUn0iCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTICs9ICJidWlsZF9leHQgLS1vcGVuc3NsPSR7U1RBR0lOR19ESVJfSE9TVH0iCisKK2luaGVyaXQgc2V0dXB0b29scworCitTV0lHX0ZFQVRVUkVTX3g4Ni02NCA9ICItRF9feDg2XzY0X18iCitTV0lHX0ZFQVRVUkVTID89ICIiCitleHBvcnQgU1dJR19GRUFUVVJFUworCisjIEdldCBhcm91bmQgYSBwcm9ibGVtIHdpdGggc3dpZywgYnV0IG9ubHkgaWYgdGhlCisjIG11bHRpbGliIGhlYWRlciBmaWxlIGV4aXN0cy4KKyMKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBpZiBbICIke1NJVEVJTkZPX0JJVFN9IiA9ICI2NCIgXTt0aGVuCisgICAgICAgIGJpdD0iNjQiCisgICAgZWxzZQorICAgICAgICBiaXQ9IjMyIgorICAgIGZpCisKKyAgICBpZiBbIC1lICR7U1RBR0lOR19JTkNESVJ9L29wZW5zc2wvb3BlbnNzbGNvbmYtJHtiaXR9LmggXSA7dGhlbgorICAgICAgICBmb3IgaSBpbiBTV0lHL19lYy5pIFNXSUcvX2V2cC5pOyBkbworICAgICAgICAgICAgc2VkIC1pIC1lICJzL29wZW5zc2xjb25mLipcLi9vcGVuc3NsY29uZi0ke2JpdH1cLi8iICIkaSIKKyAgICAgICAgZG9uZQorICAgIGVsaWYgWyAtZSAke1NUQUdJTkdfSU5DRElSfS9vcGVuc3NsL29wZW5zc2xjb25mLW4ke2JpdH0uaCBdIDt0aGVuCisgICAgICAgIGZvciBpIGluIFNXSUcvX2VjLmkgU1dJRy9fZXZwLmk7IGRvCisgICAgICAgICAgICBzZWQgLWkgLWUgInMvb3BlbnNzbGNvbmYuKlwuL29wZW5zc2xjb25mLW4ke2JpdH1cLi8iICIkaSIKKyAgICAgICAgZG9uZQorICAgIGZpCit9CisKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXJrdXBzYWZlLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hcmt1cHNhZmUuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkN2Q5YmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXJrdXBzYWZlLmluYwpAQCAtMCwwICsxLDE0IEBACitERVNDUklQVElPTiA9ICJJbXBsZW1lbnRzIGEgWE1ML0hUTUwvWEhUTUwgTWFya3VwIHNhZmUgc3RyaW5nIGZvciBQeXRob24iCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0aHViLmNvbS9taXRzdWhpa28vbWFya3Vwc2FmZSIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzZkMWFkY2Y0NWQ2OTM1OWYyNTZjMWNlYTMyNTQxMjciCisKK1BSID0gInIwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjVhYjNkZWVlNGMzN2NkNmE5MjJmYjgxZTczMGRhNmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTRlYzFhZmY1OWI5NWExNGI0NWViMmUyMzc2MWEwMTc5ZTk4MzE5ZGE1YTdlYjc2YjU2ZWE4Y2RjN2I4NzFjMyIKKworUFlQSV9QQUNLQUdFID0gIk1hcmt1cFNhZmUiCitpbmhlcml0IHB5cGkKKworUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS1yZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hcmt1cHNhZmVfMC4yMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hcmt1cHNhZmVfMC4yMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTZlZmYxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWFya3Vwc2FmZV8wLjIzLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1tYXJrdXBzYWZlLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWF0cGxvdGxpYi9maXhfc2V0dXAucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXRwbG90bGliL2ZpeF9zZXR1cC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzgxNTgzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWF0cGxvdGxpYi9maXhfc2V0dXAucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorVGhpcyBmaXhlcyB0aGUgZGVwZW5kZW5jeSBjaGVja3MgaW5zaWRlIG9mIHNldHVwLnB5IHNpbmNlIHRoaW5ncyBsaWtlCisnaW1wb3J0IG51bXB5JyB3b24ndCB3b3JrIHdpdGggYml0YmFrZS4KKworZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKK2luZGV4IDJmMTM4MjEuLmU2ZDZlZDAgMTAwNjQ0CistLS0gYS9zZXR1cC5weQorKysrIGIvc2V0dXAucHkKK0BAIC0xMTMsMTIgKzExMyw2IEBAIGlmIDE6CisgICAgIGJhc2VsaW5lX2ltYWdlcyA9IFtjaG9wX3BhY2thZ2UoZikgZm9yIGYgaW4gYmFzZWxpbmVfaW1hZ2VzXQorICAgICBwYWNrYWdlX2RhdGFbJ21hdHBsb3RsaWInXS5leHRlbmQoYmFzZWxpbmVfaW1hZ2VzKQorIAorLWlmIG5vdCBjaGVja19mb3JfbnVtcHkoKToKKy0gICAgc3lzLmV4aXQoMSkKKy0KKy1pZiBub3QgY2hlY2tfZm9yX2ZyZWV0eXBlKCk6CistICAgIHN5cy5leGl0KDEpCistCisgYnVpbGRfZnQyZm9udChleHRfbW9kdWxlcywgcGFja2FnZXMpCisgYnVpbGRfdHRjb252KGV4dF9tb2R1bGVzLCBwYWNrYWdlcykKKyBidWlsZF9jb250b3VyKGV4dF9tb2R1bGVzLCBwYWNrYWdlcykKK0BAIC0xMjksNyArMTIzLDcgQEAgYnVpbGRfdHJpKGV4dF9tb2R1bGVzLCBwYWNrYWdlcykKKyAKKyBwcmludF9yYXcoIiIpCisgcHJpbnRfcmF3KCJPUFRJT05BTCBCQUNLRU5EIERFUEVOREVOQ0lFUyIpCistaGFzX2xpYnBuZyA9IGNoZWNrX2Zvcl9saWJwbmcoKQorK2hhc19saWJwbmcgPSBUcnVlCisgCisgaWYgaGFzX2xpYnBuZyBhbmQgb3B0aW9uc1snYnVpbGRfYWdnJ106CisgICAgIGJ1aWxkX2FnZyhleHRfbW9kdWxlcywgcGFja2FnZXMpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXRwbG90bGliL2ZpeF9zZXR1cGV4dC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hdHBsb3RsaWIvZml4X3NldHVwZXh0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhMTNhMTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXRwbG90bGliL2ZpeF9zZXR1cGV4dC5wYXRjaApAQCAtMCwwICsxLDQwIEBACitUaGlzIGZpeGVzIHRoZSBudW1weSBpbXBvcnQgcHJvYmxlbSBpbiBzZXR1cGV4dC5weSB1c2luZyBhIGhhcmQtY29kZWQgcGF0aC4KKworSW5kZXg6IG1hdHBsb3RsaWItMS4xLjAvc2V0dXBleHQucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBtYXRwbG90bGliLTEuMS4wLm9yaWcvc2V0dXBleHQucHkKKysrKyBtYXRwbG90bGliLTEuMS4wL3NldHVwZXh0LnB5CitAQCAtMTIyLDggKzEyMiw4IEBAIG51bXB5X2luY19kaXJzID0gW10KKyAjIG1hdHBsb3RsaWIgYnVpbGQgb3B0aW9ucywgd2hpY2ggY2FuIGJlIGFsdGVyZWQgdXNpbmcgc2V0dXAuY2ZnCisgb3B0aW9ucyA9IHsnZGlzcGxheV9zdGF0dXMnOiBUcnVlLAorICAgICAgICAgICAgJ3ZlcmJvc2UnOiBGYWxzZSwKKy0gICAgICAgICAgICdwcm92aWRlX3B5dHonOiAnYXV0bycsCistICAgICAgICAgICAncHJvdmlkZV9kYXRldXRpbCc6ICdhdXRvJywKKysgICAgICAgICAgICdwcm92aWRlX3B5dHonOiBGYWxzZSwKKysgICAgICAgICAgICdwcm92aWRlX2RhdGV1dGlsJzogRmFsc2UsCisgICAgICAgICAgICAnYnVpbGRfYWdnJzogVHJ1ZSwKKyAgICAgICAgICAgICdidWlsZF9ndGsnOiAnYXV0bycsCisgICAgICAgICAgICAnYnVpbGRfZ3RrYWdnJzogJ2F1dG8nLAorQEAgLTE3NiwxMCArMTc2LDcgQEAgaWYgb3MucGF0aC5leGlzdHMoc2V0dXBfY2ZnKToKKyAgICAgZXhjZXB0OiBwYXNzCisgCisgIyBGb3IgZ2V0X2Jhc2VfZmxhZ3M6CistaWYgb3B0aW9uc1snYmFzZWRpcmxpc3QnXToKKy0gICAgYmFzZWRpcmxpc3QgPSBvcHRpb25zWydiYXNlZGlybGlzdCddLnNwbGl0KCkKKy1lbHNlOgorLSAgICBiYXNlZGlybGlzdCA9IGJhc2VkaXJbc3lzLnBsYXRmb3JtXQorK2Jhc2VkaXJsaXN0ID0gW29zLmVudmlyb25bJ1NUQUdJTkdfTElCRElSJ11dCisgcHJpbnQoImJhc2VkaXJsaXN0IGlzOiAlcyIgJSBiYXNlZGlybGlzdCkKKyAKKyBpZiBvcHRpb25zWydkaXNwbGF5X3N0YXR1cyddOgorQEAgLTU1NSw4ICs1NTIsOCBAQCBkZWYgY2hlY2tfZm9yX251bXB5KCk6CisgCisgZGVmIGFkZF9udW1weV9mbGFncyhtb2R1bGUpOgorICAgICAiQWRkIHRoZSBtb2R1bGVzIGZsYWdzIHRvIGJ1aWxkIGV4dGVuc2lvbnMgd2hpY2ggdXNlIG51bXB5IgorLSAgICBpbXBvcnQgbnVtcHkKKy0gICAgbW9kdWxlLmluY2x1ZGVfZGlycy5hcHBlbmQobnVtcHkuZ2V0X2luY2x1ZGUoKSkKKysgICAgIyBIYXJkLWNvZGVkIHBhdGggZm9yIE9FIHNpbmNlIEkga25vdyB0aGlzIGlzIHdoZXJlIG51bXB5J3MgaW5jbHVkZSBkaXIgd2lsbCBiZQorKyAgICBtb2R1bGUuaW5jbHVkZV9kaXJzLmFwcGVuZChvcy5wYXRoLmpvaW4ob3MuZW52aXJvblsnU1RBR0lOR19MSUJESVInXSwgJ3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL251bXB5L2NvcmUvaW5jbHVkZS8nKSkKKyAKKyBkZWYgYWRkX3BuZ19mbGFncyhtb2R1bGUpOgorICAgICB0cnlfcGtnY29uZmlnKG1vZHVsZSwgJ2xpYnBuZycsICdwbmcnKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWF0cGxvdGxpYl8xLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hdHBsb3RsaWJfMS4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjlmNzFjNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hdHBsb3RsaWJfMS4xLjAuYmIKQEAgLTAsMCArMSwzNiBAQAorREVTQ1JJUFRJT04gPSAibWF0cGxvdGxpYiBpcyBhIHB5dGhvbiAyRCBwbG90dGluZyBsaWJyYXJ5IHdoaWNoIHByb2R1Y2VzIHB1YmxpY2F0aW9uIHF1YWxpdHkgZmlndXJlcyBpbiBhIHZhcmlldHkgb2YgaGFyZGNvcHkgZm9ybWF0cyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJQU0YiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUUudHh0O21kNT04M2M1YmY4YjE2YTVmOTk1MDdmMmY0N2EyMWFlM2I4MSIKK1BSID0gInIxIgorCitERVBFTkRTICs9ICJweXRob24tbnVtcHkgZnJlZXR5cGUgbGlicG5nIHB5dGhvbi1kYXRldXRpbCBweXRob24tcHl0eiIKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbi1jb3JlIHB5dGhvbi1kaXN0dXRpbHMgcHl0aG9uLW51bXB5IGZyZWV0eXBlIGxpYnBuZyBweXRob24tZGF0ZXV0aWwgcHl0aG9uLXB5dHoiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L21hdHBsb3RsaWIvbWF0cGxvdGxpYi0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZml4X3NldHVwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeF9zZXR1cGV4dC5wYXRjaCBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9tYXRwbG90bGliLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRvY3MgLS13aXRoLXB5dGhvbi1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfS8uLi8iCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBCVUlMRF9TWVM9JHtCVUlMRF9TWVN9IEhPU1RfU1lTPSR7SE9TVF9TWVN9IFwKKyAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vcHl0aG9uIHNldHVwLnB5IGJ1aWxkICR7RElTVFVUSUxTX0JVSUxEX0FSR1N9IHx8IFwKKyAgICB0cnVlCit9CisKKyMgbmVlZCB0byBleHBvcnQgdGhlc2UgdmFyaWFibGVzIGZvciBweXRob24tY29uZmlnIHRvIHdvcmsKK2V4cG9ydCBQWVRIT05QQVRICitleHBvcnQgQlVJTERfU1lTCitleHBvcnQgSE9TVF9TWVMKK2V4cG9ydCBTVEFHSU5HX0lOQ0RJUgorZXhwb3J0IFNUQUdJTkdfTElCRElSCisKKworU1JDX1VSSVttZDVzdW1dID0gIjU3YTYyN2YzMGIzYjI3ODIxZjgwODY1OTg4OTUxNGMyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJlMzdlMWQ4NmM2NWVjYWNhZTY2ODNmODgwNWUwNTFlOTkwNGU1ZjJlMDJiZjJiN2EzNDI2MmM0NmE2ZDA2YTciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tY2NhYmVfMC40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tY2NhYmVfMC40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk1OGY3NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1jY2FiZV8wLjQuMC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIk1jQ2FiZSBjaGVja2VyLCBwbHVnaW4gZm9yIGZsYWtlOCIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9kcmVhbWhvc3QvY2xpZmYiCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUUucnN0O21kNT1mOGI1MGZiYTE3MTFlY2FjNmJjZGI2MzI0Zjg1YTY2ZCIKKworU1JDX1VSSVttZDVzdW1dID0gIjhjNDI1ZGIwNWYzMTBhZGNkNGJiMTc0Yjk5MWYyNmY1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlhMmIxMmViZDg3NmU3N2M3MmU0MWViZjQwMWNjMmU3YzViNTY2NjQ5ZDUwMTA1Y2E0OTgyMjY4ODY0MjIwN2IiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ICs9ICIgXAorICAgIHB5dGhvbi1wcmV0dHl0YWJsZSBcCisgICAgcHl0aG9uLWNtZDIgXAorICAgIHB5dGhvbi1weXBhcnNpbmciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tb2NrXzEuMy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbW9ja18xLjMuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTc4OTRjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbW9ja18xLjMuMC5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIkEgUHl0aG9uIE1vY2tpbmcgYW5kIFBhdGNoaW5nIExpYnJhcnkgZm9yIFRlc3RpbmciCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9ZGU5ZGZiZjc4MDQ0NmIxOGFhYjExZjAwYmFhZjViN2UiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3M2VlOGE0YWZiM2ZmNGRhMWI0YWZhMjg3ZjM5ZmRlYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxZTI0N2RiZWNjNmNlMDU3Mjk5ZWI3ZWUwMTlhZDY4MzE0YmI5MzE1MmU4MWQ5YTYxMTBkMzVmNGQ1ZWNhMGY2IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICBweXRob24tcHJldHR5dGFibGUgXAorICAgIHB5dGhvbi1jbWQyIFwKKyAgICBweXRob24tcHlwYXJzaW5nIFwKKyAgICBweXRob24tbWNjYWJlIFwKKyAgICBweXRob24tcGVwOCBcCisgICAgcHl0aG9uLXB5Zmxha2VzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbW9ub3RvbmljXzEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1vbm90b25pY18xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQyMzdiNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1vbm90b25pY18xLjAuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJBbiBpbXBsZW1lbnRhdGlvbiBvZiB0aW1lLm1vbm90b25pYygpIGZvciBQeXRob24gMi4wIHRocm91Z2ggMy4yIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDI3OTRjMGRmNWI5MDdmZGFjZTIzNWE2MTlkODAzMTQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNjkyYmZmMmM1ZTA3ZGRlMjJhZDIxMjhkODE4ZDE1YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0N2Q3ZDA0NWIzZjJhMDhiZmZlNjgzZDc2MWVmN2Y5MTMxYTI1OThkYjFjZWM3NTMyYTA2NzIwNjU2Y2Y3MTlkIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LWN0eXBlcyAke1BZVEhPTl9QTn0tcmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tc2dwYWNrXzAuNC43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFja18wLjQuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYjc4NTNlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFja18wLjQuNy5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIk1lc3NhZ2VQYWNrIChkZSlzZXJpYWxpemVyIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9Y2Q5NTIzMTgxZDlkNGZiZjdmZmNhNTJlYWEyYTU3NTEiCisKK1BSID0gInIwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWIyYWFkMTA4MTUzNGVmM2E5ZjMyYTBlY2QzNTBiOWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWUwMDEyMjlhNTQxODBhMDJkY2RkNTlkYjIzYzk5NzgzNTFhZjU1YjEyOTBjMjdiYzU0OWUzODFmNDNhY2Q2YiIKKworUFlQSV9QQUNLQUdFID0gIm1zZ3BhY2stcHl0aG9uIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW5ldGFkZHJfMC43LjE4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbmV0YWRkcl8wLjcuMTguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZkYmYxOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW5ldGFkZHJfMC43LjE4LmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJBIG5ldHdvcmsgYWRkcmVzcyBtYW5pcHVsYXRpb24gbGlicmFyeSBmb3IgUHl0aG9uLiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YjI3NzQyNWY4N2YzYjA2ZDI1YWY0NWQ4Yjk2Zjk2ODIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNjViYjM0ZjhiZWRmYmJjYTBiMzE2YzQ5MGNkMTNhMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhMWY1YzlmY2Y3NWFjMjU3OWI5OTk1Yzg0M2RhZGUzMzAwOTU0M2MwNGYyMThmZjdjMDA3YjNjODE2OTViZDE5IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbnVtZXJpYy9uby1sYXBhY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1udW1lcmljL25vLWxhcGFjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTkxNmI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbnVtZXJpYy9uby1sYXBhY2sucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorCisjCisjIFBhdGNoIG1hbmFnZWQgYnkgaHR0cDovL3d3dy5ob2xnZXJzY2h1cmlnLmRlL3BhdGNoZXIuaHRtbAorIworCistLS0gTnVtZXJpYy0yMy43L3NldHVwLnB5fm5vbGFwYWNrCisrKysgTnVtZXJpYy0yMy43L3NldHVwLnB5CitAQCAtMzIsNyArMzIsNyBAQAorICAgICBtYXRobGlicyA9IFtdCisgCisgIyBkZWxldGUgYWxsIGJ1dCB0aGUgZmlyc3Qgb25lIGluIHRoaXMgbGlzdCBpZiB1c2luZyB5b3VyIG93biBMQVBBQ0svQkxBUworLXNvdXJjZWxpc3QgPSBbb3MucGF0aC5qb2luKCdTcmMnLCAnbGFwYWNrX2xpdGVtb2R1bGUuYycpLAorK3NvdXJjZWxpc3QgPSBbCisgICAgICAgICAgICAgICAjb3MucGF0aC5qb2luKCdTcmMnLCAnYmxhc19saXRlLmMnKSwgCisgICAgICAgICAgICAgICAjb3MucGF0aC5qb2luKCdTcmMnLCAnZjJjX2xpdGUuYycpLCAKKyAgICAgICAgICAgICAgICNvcy5wYXRoLmpvaW4oJ1NyYycsICd6bGFwYWNrX2xpdGUuYycpLAorQEAgLTQwLDEyICs0MCwxMiBAQAorICAgICAgICAgICAgICBdCisgIyBzZXQgdGhlc2UgdG8gdXNlIHlvdXIgb3duIEJMQVM7CisgCistbGlicmFyeV9kaXJzX2xpc3QgPSBbJy91c3IvbGliL2F0bGFzJ10KKy1saWJyYXJpZXNfbGlzdCA9IFsnbGFwYWNrJywgJ2NibGFzJywgJ2Y3N2JsYXMnLCAnYXRsYXMnLCAnZzJjJ10gCisrbGlicmFyeV9kaXJzX2xpc3QgPSBbXQorK2xpYnJhcmllc19saXN0ID0gW10gCisgCisgIyBzZXQgdG8gdHJ1ZSAoMSksIGlmIHlvdSBhbHNvIHdhbnQgQkxBUyBvcHRpbWl6ZWQgbWF0cml4bXVsdGlwbHkvZG90L2lubmVycHJvZHVjdAorLXVzZV9kb3RibGFzID0gMSAKKy1pbmNsdWRlX2RpcnMgPSBbJy91c3IvaW5jbHVkZS9hdGxhcyddICAKKyt1c2VfZG90YmxhcyA9IDAKKytpbmNsdWRlX2RpcnMgPSBbXSAgCisgICAgICAgICAgICAgICAgICAgICMgWW91IG1heSBuZWVkIHRvIHNldCB0aGlzIHRvIGZpbmQgY2JsYXMuaAorICAgICAgICAgICAgICAgICAgICAjICBlLmcuIG9uIFVOSVggdXNpbmcgQVRMQVMgdGhpcyBzaG91bGQgYmUgWycvdXNyL2luY2x1ZGUvYXRsYXMnXQorIGV4dHJhX2xpbmtfYXJncyA9IFtdCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1udW1lcmljXzI0LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1udW1lcmljXzI0LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBiMDRlMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW51bWVyaWNfMjQuMi5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkEgc29waGlzdGljYXRlZCBOdW1lcmljIFByb2Nlc3NpbmcgUGFja2FnZSBmb3IgUHl0aG9uIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIlBTRiAmIExMTkwiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MZWdhbC5odG07bWQ1PWUzY2U3NWRlZGQ0MDQzOTE4ZDE1OTc5YWU0M2UzMTJlIgorCitQUiA9ICJtbDMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L251bXB5L051bWVyaWMtJHtQVn0udGFyLmd6IgorUyA9ICIke1dPUktESVJ9L051bWVyaWMtJHtQVn0iCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYWU2NzI2NTZlMDY3MTZhMTQ5YWNiMDQ4Y2NhMzA5MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZjcyZTcyOWViNmZmNTc0NDJmMmEzOGJmYzk5MzE3MzhiNTllNTA3NzkyOGUyZTcwZDIyYjQ2MTBmZjE1MjU4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0XzEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhaG8tbXF0dF8xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjhmNWYzZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhaG8tbXF0dF8xLjEuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJNUVRUIHZlcnNpb24gMy4xLzMuMS4xIGNsaWVudCBsaWJyYXJ5IgorTElDRU5TRSA9ICJFUEwtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWViNDhjNmVlMmNiOWY1YjhiOWZlNzVlNmY4MTdiZGZjIgorU1JDTkFNRSA9ICJwYWhvLW1xdHQiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICAgICAgICAgICAgIHB5dGhvbi1tYXRoIFwKKyAgICAgICAgICAgICAgIHB5dGhvbi1pbyBcCisgICAgICAgICAgICAgICBweXRob24tdGhyZWFkaW5nIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImE2NDA3Yjc0ZWI1ZTU0MTFlMTU3YmUxZGU1YzExMzY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBmN2E2MjllZmU2ZTNhMmM2MWI1OWQzNTUwYWE5ZjJjNDUyOWI1Njg5YTY1ZmRlNDVlNmYxYWMzNmI5YTI2MWUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYW1fMS44LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYW1fMS44LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDViZGRkNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhbV8xLjguMi5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJQeXRob24gUEFNIG1vZHVsZSB1c2luZyBjdHlwZXMsIHB5My9weTIuIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTzttZDU9NjQzMjZkNDI0NzFiNDkzYzVjMDg4MzA1MzY0YWQ1ZGEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYjcxYjZiOTk5MjQ2ZmIwNWQ3OGVjZmJlMTY2NjI5ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNmVmZTRlNzliODY5YjEwZjk3Y2Q4YzRhNmJiYjA0YTRlNTRkNDExODYzNjRlOTc1YjQxMDhjOWMwNzE4MTJjIgorCitQWVBJX1BBQ0tBR0UgPSAicHl0aG9uLXBhbSIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAibGlicGFtIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFyc2UtdHlwZV8wLjMuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhcnNlLXR5cGVfMC4zLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRjMzdjZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhcnNlLXR5cGVfMC4zLjQuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJTaW1wbGlmaWVzIGJ1aWxkaW5nIHBhcnNlIHR5cGVzIGJhc2VkIG9uIHRoZSBwYXJzZSBtb2R1bGUiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWJlMzg0MDJlYjRiNmMyMjRlNDkxNGZkODJlMGUxNDM2IgorUFlQSV9QQUNLQUdFID0gInBhcnNlX3R5cGUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMGJhNzBiYzVjYTY3NjI0MjA3YjBkZmNlZDAxZGM4YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZGQwYjMyM2JhZmNiOGMyNWUwMDBjZTU1ODkwNDJhMWM5OWNiYTljM2JlYzc3YjlmNTkxZTQ2YmM5NjA2MTQ3IgorCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLXBhcnNlIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFyc2VfMS42LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYXJzZV8xLjYuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWI1MmEzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFyc2VfMS42LjYuYmIKQEAgLTAsMCArMSw4IEBACitTVU1NQVJZID0gIlBhcnNlIHN0cmluZ3MgdXNpbmcgYSBzcGVjaWZpY2F0aW9uIGJhc2VkIG9uIHRoZSBQeXRob24gZm9ybWF0KCkgc3ludGF4IgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9wYXJzZS5weTttZDU9ZTA2N2JhMmEwOGI3MzcyMWRiZTczNTZkYzAyODI5MTg7c3RhcnRsaW5lPTExMDg7ZW5kbGluZT0xMTI2IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTFiYzhjNjBhMzBmZTUyZGI0YWM5YTgyNzY1M2QwY2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzE0MzVhYWFjNDk0ZTA4Y2VjNzZkZTY0NmRlMmFhYjgzOTJjMTE0ZTU2ZmUzZjgxYzU2NWVjYzdlYjg4NjE3OCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhc3NsaWIuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzc2xpYi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQzZThlMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhc3NsaWIuaW5jCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiY29tcHJlaGVuc2l2ZSBwYXNzd29yZCBoYXNoaW5nIGZyYW1ld29yayBzdXBwb3J0aW5nIG92ZXIgMzAgc2NoZW1lcyIKK0RFU0NSSVBUSU9OID0gIlwKK1Bhc3NsaWIgaXMgYSBwYXNzd29yZCBoYXNoaW5nIGxpYnJhcnkgZm9yIFB5dGhvbiAyICYgMywgd2hpY2ggcHJvdmlkZXMgY3Jvc3MtcGxhdGZvcm0gXAoraW1wbGVtZW50YXRpb25zIG9mIG92ZXIgMzAgcGFzc3dvcmQgaGFzaGluZyBhbGdvcml0aG1zLCBhcyB3ZWxsIGFzIGEgZnJhbWV3b3JrIGZvciBcCittYW5hZ2luZyBleGlzdGluZyBwYXNzd29yZCBoYXNoZXMuIEl04oCZcyBkZXNpZ25lZCB0byBiZSB1c2VmdWwgZm9yIGEgd2lkZSByYW5nZSBvZiBcCit0YXNrcywgZnJvbSB2ZXJpZnlpbmcgYSBoYXNoIGZvdW5kIGluIC9ldGMvc2hhZG93LCB0byBwcm92aWRpbmcgZnVsbC1zdHJlbmd0aCBwYXNzd29yZCBcCitoYXNoaW5nIGZvciBtdWx0aS11c2VyIGFwcGxpY2F0aW9ucy4iCitIT01FUEFHRSA9ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvZWNvbGxpbnMvcGFzc2xpYiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YmFlOGZhYTNlMjY4OWVlMGRmM2YyMTI3ZmM0NTE3ZjUiCitQUiA9ICJyMCIKKworU1JDX1VSSVttZDVzdW1dID0gImQyZWRkNmM0MmNkZTEzNmE1MzhiNDhkOTBhMDZhZDY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE4M2QzNGY1M2RjOWIxN2FhNDJjOWEzNWMzZmJjYzUxMjBmM2ZjYjA3ZjdmODcyMWVjNDVlNmEyN2JlMzQ3ZmMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYXNzbGliXzEuNi41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzc2xpYl8xLjYuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMWM1OThhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzc2xpYl8xLjYuNS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1wYXNzbGliLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMi4wLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYXN0ZV8yLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjQwMTlmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMi4wLjMuYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJUb29scyBmb3IgdXNpbmcgYSBXZWIgU2VydmVyIEdhdGV3YXkgSW50ZXJmYWNlIHN0YWNrIgorSE9NRVBBR0UgPSAiaHR0cDovL3B5dGhvbnBhc3RlLm9yZy8iCitMSUNFTlNFID0gIk1JVCIKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbi1zaXgiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvY3MvbGljZW5zZS50eHQ7bWQ1PTE3OThmMjlkNTUwODBjNjAzNjVlNjI4M2NiNDk3NzljIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTIzMWUxNGVhZTYyZmE3ZWQ3NmU5MTMwYjA0YmM2MWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjM0NmEzNDc4MjRjMzI2NDFiZjAyMGMxNzk2N2I0OWFlNzRkMzMxMGVjMWJjOWI5NThkNGI4NGUyZDk4NTIxOCIKKworUFlQSV9QQUNLQUdFID0gIlBhc3RlIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworRklMRVNfJHtQTn0gKz0gIi91c3IvbGliLyoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wZXA4XzEuNy4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGVwOF8xLjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjJiODYyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGVwOF8xLjcuMC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIlB5dGhvbiBzdHlsZSBndWlkZSBjaGVja2VyIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2RyZWFtaG9zdC9jbGlmZiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRS5yc3Q7bWQ1PWQ4ZWJiYmU4MzEyNTljZTAxMDE3OWQyZjMxMGIwZjNlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmIwMzEwOWIwNjE4YWZlM2IwNGIzZTYzYjMzNGFjOWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTExM2Q1ZjVhZDdhN2FiYWNlZjlkZjVlYzNmMmFmMjNhMjBhMjgwMDU5MjE1NzdiMTVkZDU4NGQwOTlkNTkwMCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gKz0gIiBcCisgICAgcHl0aG9uLXByZXR0eXRhYmxlIFwKKyAgICBweXRob24tY21kMiBcCisgICAgcHl0aG9uLXB5cGFyc2luZyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBpcF84LjEuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBpcF84LjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGMyNjNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGlwXzguMS4xLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUElQIGlzIGEgdG9vbCBmb3IgaW5zdGFsbGluZyBhbmQgbWFuYWdpbmcgUHl0aG9uIHBhY2thZ2VzIgorTElDRU5TRSA9ICJNSVQgJiBMR1BMLTIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0yNWZiYTQ1MTA5NTY1Zjg3ZGUyMGJhZTg1YmMzOTQ1MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjZiODZmMTE4NDFlODljODI0MWQ2ODk5NTZiYTk5ZWQ3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNlNzhkMzA2NmFhZWI2MzNkMTg1YTU3YWZkY2NmNzAwYWEyZTY2MDQzNmI0YWY2MThiY2I2ZmYwZmE1MTE3OTgiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKKyMgU2luY2UgUElQIGlzIGxpa2UgQ1BBTiBmb3IgUEVSTCB3ZSBuZWVkIHRvIGRyYWcgaW4gYWxsIHB5dGhvbiBtb2R1bGVzIHRvIGVuc3VyZSBldmVyeXRoaW5nIHdvcmtzCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tbW9kdWxlcyBweXRob24tZGlzdHJpYnV0ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXByZXRlbmRfMS4wLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wcmV0ZW5kXzEuMC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkYzdiNjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wcmV0ZW5kXzEuMC44LmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJBIGxpYnJhcnkgZm9yIHN0dWJiaW5nIGluIFB5dGhvbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5yc3Q7bWQ1PTQxMTc4MGMwYjdmYTc1Njc1M2U5NGFmZmVlZTViYzk5IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzE0NzA1MGE5NWM5ZjQ5NDI0ODU1N2I0MmI1OGFkNzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTMwZjJjMWUxODUwM2U4ZjhjNDAzYWJlMmUwMjE2NmM0YTg4MTk0MTc0NTE0N2U3MTJjZGQ0ZjQ5ZjNmYjk2NCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXByZXR0eXRhYmxlXzAuNy4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHJldHR5dGFibGVfMC43LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhmN2I1ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXByZXR0eXRhYmxlXzAuNy4yLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIGxpYnJhcnkgZm9yIGRpc3BsYXlpbmcgdGFidWxhciBkYXRhIGluIGEgQVNDSUkgdGFibGUgZm9ybWF0IgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3ByZXR0eXRhYmxlIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zZTczNTAwZmZhNTJkZTUwNzFjZmY2NTk5MDA1NTI4MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjBjMTM2MTEwNGNhZmY4YjA5ZjIyMDc0OGY5ZDY5ODk5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE1M2RhM2I0M2Q3YTVjMjI5YjVlM2NhMjg5MmVmOTgyYzQ2Yjc5MjNiNTFlOThmMGRiNDk5NTY1MzEyMTFjNGYiCisKK1NSQ05BTUUgPSAicHJldHR5dGFibGUiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvc291cmNlL1AvUHJldHR5VGFibGUvJHtTUkNOQU1FfS0ke1BWfS56aXAiCisKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitpbmhlcml0IHNldHVwdG9vbHMKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcGVybV9maWxlcz1gZmluZCAiJHtEfSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyIgLW5hbWUgInRvcF9sZXZlbC50eHQiYAorICAgIGZvciBmIGluICRwZXJtX2ZpbGVzOyBkbworICAgICAgICBjaG1vZCA2NDQgIiR7Zn0iCisgICAgZG9uZQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHN1dGlsXzQuMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHN1dGlsXzQuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMjEwZWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wc3V0aWxfNC4xLjAuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJBIGNyb3NzLXBsYXRmb3JtIHByb2Nlc3MgYW5kIHN5c3RlbSB1dGlsaXRpZXMgbW9kdWxlIGZvciBQeXRob24iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTBmMDJlOTlmN2YzYzlhN2ZlOGVjZmM1ZDQ0YzJiZTYyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDE3ZTEwMjM0ODRlYmY0MzZkMzUxNGViZWFmMmU3ZTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzZhYmViZWM5Yzg4MzNiYWFmMWM1MWRkMWIwMjU5MjQ2ZDFkNTBiOWI1MGU5YTRhYTY2ZjMzYjFlOThiOGQxNyIKKworUkRFUEVORFNfJHtQTn0gKz0gIiBcCisgICAgcHl0aG9uLXN1YnByb2Nlc3MgXAorICAgICIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5XzEuNC4zMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5XzEuNC4zMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTJiYzA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlfMS40LjMxLmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IHdpdGggY3Jvc3MtcHl0aG9uIHBhdGgsIGluaS1wYXJzaW5nLCBpbywgY29kZSwgbG9nIGZhY2lsaXRpZXMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWE2YmIwMzIwYjA0YTBhNTAzZjEyZjY5ZmVhNDc5ZGU5IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNWQyYzYzYzU2ZGMzZjIxMTVlYzM1YzA2NmVjZDU4MmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTY1MDE5NjNjNzI1ZmMyNTU0ZGFiZmVjZThhZTlhOGZiNWUxNDljMGFjMGE0MmZkMmIwMmM1YzFjNTdmYzExNCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5YWxzYWF1ZGlvXzAuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5YWxzYWF1ZGlvXzAuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTY2MGFkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlhbHNhYXVkaW9fMC40LmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiU3VwcG9ydCBmb3IgdGhlIExpbnV4IDIuNi54IEFMU0EgU291bmQgU3lzdGVtIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitERVBFTkRTID0gImFsc2EtbGliIgorTElDRU5TRSA9ICJQU0YiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xYTNiMTYxYWEwZmNlYzMyYTBjODkwN2EyMjE5YWQ5ZCIKK1NSQ05BTUUgPSAicHlhbHNhYXVkaW8iCitQUiA9ICJtbDIiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3B5YWxzYWF1ZGlvLyR7U1JDTkFNRX0tJHtQVn0udGFyLmd6IgorUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiMzEyYzI4ZWZiYTdkYjA0OTQ4MzZhNzlmMGE0OTg5OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNzE0OGNlMTYwMjQ3MjRiMTdjYzI0YzUxZDBmNGZiNzhhZjIxNGIwOWI3ZGM4ZGNiN2IwNmU1NjQ3ZjRjNTgyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlhc24xXzAuMS45LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlhc24xXzAuMS45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxN2FkZmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWFzbjFfMC4xLjkuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJQeXRob24gbGlicmFyeSBpbXBsZW1lbnRpbmcgQVNOLjEgdHlwZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3B5YXNuMS5zb3VyY2Vmb3JnZS5uZXQvIgorTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NDI1ZTYyMzIwZDQzMDIxOTczNjEzOWIxMzRkYjJmYzQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMDBhMDJhNjMxZDQwMTY4MTg2NTlkMWNjMzhkMjI5YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NTNjYWNkOTZkMWY3MDFkZGQ2N2FhMDNlY2MwNWY1MTg5MDEzNWI3MjYyZTkyMjcxMDExMmYxMmEyZWQyYTdmIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLWxhbmcgcHl0aG9uLXNoZWxsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyXzIuMTQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWNwYXJzZXJfMi4xNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODAwNmNhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyXzIuMTQuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJQYXJzZXIgb2YgdGhlIEMgbGFuZ3VhZ2UsIHdyaXR0ZW4gaW4gcHVyZSBQeXRob24iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PThmYjM2NDc3MmIxNDQxODIxZDM5MTU5MWYzNDBjMzVhIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTJiYzhkMjhjOTIzYjRmZTJiMmMzYjRiNTFhNGY5MzUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzk1OWI0YTc0YWJkYzI3YjMxMmZlZDFjMjFlNmNhZjkzMDljZTBiMjllYTg2YjU5MWZkMmU5OWVjZGYyN2Y3MyIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYWtlc18xLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Zmxha2VzXzEuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlN2Q0NzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYWtlc18xLjEuMC5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gInBhc3NpdmUgY2hlY2tlciBvZiBQeXRob24gcHJvZ3JhbXMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vZHJlYW1ob3N0L2NsaWZmIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FLnJzdDttZDU9ZmU3MTlkNDVmNGM2MDRjNmUyYzg2ODcyYjZlOTQ4NWYiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMGJmODU0Y2Q1YWJkNDUyN2UxNDk2OTI5MjViODJlYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNWY5NTk5MzE5ODdlMmJlMTc4NzgxNTU0YjQ4NWQ1MjM0MmVjOWYxYjQzZjg5MWQyZGFkMDdhNjkxYzdhODlhIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICBweXRob24tcHJldHR5dGFibGUgXAorICAgIHB5dGhvbi1jbWQyIFwKKyAgICBweXRob24tcHlwYXJzaW5nIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlncGdtZS9ydW4tcHRlc3QgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWdwZ21lL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzg2N2UyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlncGdtZS9ydW4tcHRlc3QKQEAgLTAsMCArMSwzIEBACisjIS9iaW4vc2gKKworR1BHX0FHRU5UX0lORk89IHB5dGhvbiB0ZXN0X2FsbC5weSAtdgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlncGdtZV8wLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWdwZ21lXzAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wM2M0NzkwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlncGdtZV8wLjMuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJBIFB5dGhvbiBtb2R1bGUgZm9yIHdvcmtpbmcgd2l0aCBPcGVuUEdQIG1lc3NhZ2VzIgorREVTQ1JJUFRJT04gPSAiUHlHUEdNRSBpcyBhIFB5dGhvbiBtb2R1bGUgdGhhdCBsZXRzIHlvdSBzaWduLCB2ZXJpZnksIFwKKyAgICAgICAgICAgICAgIGVuY3J5cHQgYW5kIGRlY3J5cHQgbWVzc2FnZXMgdXNpbmcgdGhlIE9wZW5QR1AgZm9ybWF0LiIKK0hPTUVQQUdFID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC9weWdwZ21lIgorCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87YmVnaW5saW5lPTg7ZW5kbGluZT04O21kNT02NTE3YmRjOGYyNDE2ZjI3YWI3MjVkNDcwMmY3YWFjMyIKKworU1JDX1VSSSA9ICJmaWxlOi8vcnVuLXB0ZXN0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDM4MzU1YWY3M2YwMzUyY2RlM2Q0MTBiMjVmMzRmZDAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWZkODg3YzQwNzAxNTI5NmE4ZmQzZjRiODY3ZmUwZmNjYTMxNzlkZTk3Y2NkZTkwNDQ5ODUzYTNkZmI4MDJlMSIKKworREVQRU5EUyArPSAiZ3BnbWUiCitSREVQRU5EU18ke1BOfSArPSAiZ251cGciCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzIHB0ZXN0CisKK2RvX2luc3RhbGxfcHRlc3QoKXsKKyAgICBpbnN0YWxsICR7U30vdGVzdF9hbGwucHkgJHtEfSR7UFRFU1RfUEFUSH0KKyAgICBjcCAtciAke1N9L3Rlc3RzICR7RH0ke1BURVNUX1BBVEh9Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWhhbWNyZXN0XzEuOS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHloYW1jcmVzdF8xLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMmQ0ZjU0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHloYW1jcmVzdF8xLjkuMC5iYgpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIkhhbWNyZXN0IGZyYW1ld29yayBmb3IgbWF0Y2hlciBvYmplY3RzIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9ZjZkZjEzMThjNjA3MWRkMTcwN2Y1ZTNiNmMxMWYyNGYiCisKK1BZUElfUEFDS0FHRSA9ICJQeUhhbWNyZXN0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGI4MzNhM2ZhMzAxOTc0NTVkZjc5NDI0ZjMwYzhjM2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGZmYWEwYTUzZGE1N2U4OWRlMTRjZWQ3MTg1YWM3NDYyMjdhODg5NGRiZDVhM2M3MThiZjA1ZGRiZDFkNTZjZCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5aW5vdGlmeS5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZWRiMmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jCkBAIC0wLDAgKzEsMTEgQEAKK0RFU0NSSVBUSU9OID0gIlB5dGhvbiBweWlub3RpZnk6IExpbnV4IGZpbGVzeXN0ZW0gZXZlbnRzIG1vbml0b3JpbmciCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWFiMTczY2FkZTc5NjViNDExNTI4NDY0NTg5YTA4MzgyIgorCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLXRocmVhZGluZyBweXRob24taW8gcHl0aG9uLXN1YnByb2Nlc3MgcHl0aG9uLW1pc2MgcHl0aG9uLXNoZWxsIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGU1ODBmYTFmZjM5NzFmOTRhNmY4MTY3MmI3NmM0MDYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWM5OThhNWQ3NjA2Y2E4MzUwNjVjZGFiYzAxM2FlNmM2NmViOWVhNzZhMDBhMWUzYmM2ZTBjZmUyYjRmNzFmNCIKKworUFlQSV9QQUNLQUdFID0gInB5aW5vdGlmeSIKK2luaGVyaXQgcHlwaQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlpbm90aWZ5XzAuOS42LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlpbm90aWZ5XzAuOS42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxZjg0YzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnlfMC45LjYuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXB5aW5vdGlmeS5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5bWlzcC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1pc3AuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljZDA4NDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1pc3AuaW5jCkBAIC0wLDAgKzEsMTAgQEAKK0RFU0NSSVBUSU9OID0gIlB5dGhvbiBBUEkgZm9yIE1JU1AiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vTUlTUC9QeU1JU1AiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT1jMGEzZTgwMWI3NDBlZjMxZDFmNWRkZmU3NmJjYTUzOCIKK1BSID0gInIwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMzk4NDA4Mzg4OTAyYzEwOGUzYjM3ODE1MmI2YzFkMjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDcwZTc0YzUyOGYwNDBmNWZmODEzNzMzN2YxNzU4YWViNjNhNTk2NmI1OGIyOTdmMjE3MWY1M2NiOWRmMDMzZSIKKworUkRFUEVORFNfJHtQTn0gKz0gIiAke1BZVEhPTl9QTn0tcmVxdWVzdHMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1pc3BfMi4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHltaXNwXzIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjFmYmU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHltaXNwXzIuMy5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1weW1pc3AuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1vbmdvLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5bW9uZ28uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwZjUyZGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1vbmdvLmluYwpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIlB5dGhvbiBkcml2ZXIgZm9yIE1vbmdvREIgPGh0dHA6Ly93d3cubW9uZ29kYi5vcmc+IgorREVTQ1JJUFRJT04gPSAiXAorVGhlIFB5TW9uZ28gZGlzdHJpYnV0aW9uIGNvbnRhaW5zIHRvb2xzIGZvciBpbnRlcmFjdGluZyB3aXRoIE1vbmdvREIgXAorZGF0YWJhc2UgZnJvbSBQeXRob24uIFRoZSBic29uIHBhY2thZ2UgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlIEJTT04gXAorZm9ybWF0IGZvciBQeXRob24uIFRoZSBweW1vbmdvIHBhY2thZ2UgaXMgYSBuYXRpdmUgUHl0aG9uIGRyaXZlciBmb3IgXAorTW9uZ29EQi4gVGhlIGdyaWRmcyBwYWNrYWdlIGlzIGEgZ3JpZGZzIGltcGxlbWVudGF0aW9uIG9uIHRvcCBvZiBweW1vbmdvLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9naXRodWIuY29tL21vbmdvZGIvbW9uZ28tcHl0aG9uLWRyaXZlciIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTJhOTQ0OTQyZTE0OTZhZjE4ODY5MDNkMjc0ZGVkYjEzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzA0MDhmODExNWQ3YWE1MmZiNmVlZjBlNTUyODM0YTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjIwMTgxNjU4MjNiMzQxZDgzZDM5ODE2NWQxYzYyNWU1ZGI1Y2M3NzllN2M0NGMxMDcwMzQ0MDc4MDg0NjNiNiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5bW9uZ29fMy4yLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1vbmdvXzMuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNzc4YjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW1vbmdvXzMuMi4yLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXB5bW9uZ28uaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weW9wZW5zc2xfMC4xNS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlvcGVuc3NsXzAuMTUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDI3YzZkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlvcGVuc3NsXzAuMTUuMS5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIlNpbXBsZSBQeXRob24gd3JhcHBlciBhcm91bmQgdGhlIE9wZW5TU0wgbGlicmFyeSIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNiODNlZjk2Mzg3ZjE0NjU1ZmM4NTRkZGMzYzZiZDU3IgorCitERVBFTkRTID0gIm9wZW5zc2wgcHl0aG9uLWNyeXB0b2dyYXBoeSIKK1BFID0gIjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmNDQ3NjQ0YWZjYmQ1ZjBhMWY0NzM1MGZlYzYzYTRjNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMGEyNjA3MGQ2ZGIwODgxZGU4YmNjNzg0NjkzNGI3YzNjOTMwZDhmOWM3OWQ0NTg4M2VlNDg5ODRiYzBkNjcyIgorCitQWVBJX1BBQ0tBR0UgPSAicHlPcGVuU1NMIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUEFDS0FHRVMgPSsgIiR7UE59LXRlc3RzIgorRklMRVNfJHtQTn0tdGVzdHMgPSAiJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy9PcGVuU1NML3Rlc3QiCisKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbi10aHJlYWRpbmcgcHl0aG9uLXNpeCBweXRob24tY3J5cHRvZ3JhcGh5IgorUkRFUEVORFNfJHtQTn0tdGVzdHMgPSAiJHtQTn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXBhcnNpbmdfMi4xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXBhcnNpbmdfMi4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTRhOTllNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5cGFyc2luZ18yLjEuMS5iYgpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIlB5dGhvbiBwYXJzaW5nIG1vZHVsZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9weXBhcnNpbmcud2lraXNwYWNlcy5jb20vIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mYjQ2MzI5OTM4ZTZiYzgyOWIyNTZlMzdkNWMxZTMxYSIKKworU1JDX1VSSVttZDVzdW1dID0gIjJhMWQzYTYzZGRjMmVjOWEzZGE5NjFkMWI3ZjI1OGIyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRiZDA0YmFkZmRhMzliMWUyZmQwZDc3Y2I3OGI0ODhjODgxZDg4YzMxNzM0NzkxYTBhZTkwMjk3OWFlMTA1NzUiCisKK1BZUElfUEFDS0FHRV9FWFQgPSAiemlwIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5cm91dGUyL2ltcG9ydC1zaW1wbGVqc29uLWFzLWpzb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXJvdXRlMi9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3M2RhMDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXJvdXRlMi9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbd3JvbmcgZGVwZW5kZW5jeV0KKworU3ViamVjdDogW1BBVENIXSBpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCisKK0F0IHJ1bnRpbWUgcHl0aG9uLXB5cm91dGUyIHRyaWVzIHRvIGltcG9ydCBqc29uLCBidXQgdGhlIG1vZHVsZSBpcyBub3QgCithdmFpbGFibGUsIGltcG9ydCBzaW1wbGVqc29uIGFzIGpzb24gc29sdmUgdGhlIGlzc3VlLgorCitTaWduZWQtb2ZmLWJ5OiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgorLS0tCisgcHlyb3V0ZTIvbmV0bGluay9ydG5sL2lmaW5mbXNnLnB5IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvcHlyb3V0ZTIvbmV0bGluay9ydG5sL2lmaW5mbXNnLnB5IGIvcHlyb3V0ZTIvbmV0bGluay9ydG5sL2lmaW5mbXNnLnB5CitpbmRleCA0ZjE0ZjI1Li41NTY0M2ViIDEwMDY0NAorLS0tIGEvcHlyb3V0ZTIvbmV0bGluay9ydG5sL2lmaW5mbXNnLnB5CisrKysgYi9weXJvdXRlMi9uZXRsaW5rL3J0bmwvaWZpbmZtc2cucHkKK0BAIC0xLDUgKzEsNSBAQAorIGltcG9ydCBvcworLWltcG9ydCBqc29uCisraW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgorIGltcG9ydCBlcnJubworIGltcG9ydCBzZWxlY3QKKyBpbXBvcnQgc3RydWN0CistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5cm91dGUyXzAuMy4xNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5cm91dGUyXzAuMy4xNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2M2Y2VjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlyb3V0ZTJfMC4zLjE0LmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiQSBwdXJlIFB5dGhvbiBuZXRsaW5rIGFuZCBMaW51eCBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gbGlicmFyeSIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5HUEwudjI7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UuQXBhY2hlLnYyO21kNT0zYjgzZWY5NjM4N2YxNDY1NWZjODU0ZGRjM2M2YmQ1NyIKKworU1JDX1VSSVttZDVzdW1dID0gIjFlN2U3NzE3MDIwNTZlNjFjZjUyMmNjY2MzOWVhMDllIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFlZDc0MmE3ZGJlNTVlYjdmMDJkYmIyNjcxOWY1NTRiOWU5MjE5OGM0YjNjN2FjNTAxYWQwM2JiYjY0MjE5NjIiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9pbXBvcnQtc2ltcGxlanNvbi1hcy1qc29uLnBhdGNoIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAiXAorICBweXRob24tZGlzdHV0aWxzIFwKKyAgcHl0aG9uLXNpbXBsZWpzb24gXAorICBweXRob24tbXVsdGlwcm9jZXNzaW5nIFwKKyAgcHl0aG9uLWlvIHB5dGhvbi1wcHJpbnQgXAorICBweXRob24tcGlja2xlIFwKKyAgcHl0aG9uLWxvZ2dpbmcgXAorICBweXRob24tdGhyZWFkaW5nIFwKKyAgcHl0aG9uLXRleHR1dGlscyBcCisgIHB5dGhvbi1zdWJwcm9jZXNzIFwKKyAgcHl0aG9uLW5ldGNsaWVudCBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXNlcmlhbC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXNlcmlhbC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhlZWY3NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5c2VyaWFsLmluYwpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlNlcmlhbCBQb3J0IFN1cHBvcnQgZm9yIFB5dGhvbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTAwNTFhMGRjODExZWUzZmRiMTdhMmZkMGJlNDRmM2FkIgorCisjIEZJWE1FIG1pZ2h0IHN0b3AgcGFja2FnaW5nIHNlcmlhbHdpbjMyIGFuZCBzZXJpYWxqYXZhIGZpbGVzCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICAke1BZVEhPTl9QTn0tZmNudGwgXAorICAgICR7UFlUSE9OX1BOfS1pbyBcCisgICAgJHtQWVRIT05fUE59LXN0cmluZ29sZCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjODUyMWU0OWY4ODUyMTk2YWFjMzk0MzFlMDkwMTcwMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NjljYjY0MDVkMWQ4N2Y4OTYwY2Y5YzEwZjU5N2FlNThmODVkYTJmYjk3NjlkYmE5NmY0YWVlYWFkZTU0NjU2IgorCitpbmhlcml0IHB5cGkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5c2VyaWFsXzMuMC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlzZXJpYWxfMy4wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQyYjM1MAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5c2VyaWFsXzMuMC4xLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1weXNlcmlhbC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dGVzdF8yLjkuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dGVzdF8yLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTUzZGM0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl0ZXN0XzIuOS4xLmJiCkBAIC0wLDAgKzEsMTAgQEAKK1NVTU1BUlkgPSAiU2ltcGxlIHBvd2VyZnVsIHRldGluZyB3aXRoIFB5dGhvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDhhNTYwOTYwOGQ5YTVhMTgwNzA1YjBmYTI5OGFlMDEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNTE2NTc0MGVhNTA5MjhlNGU5NzEzNzg2MzAxNjNlYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwZDQ4ZDI3YTEyNzY0NGZiZTdjODE1ODE1N2UwOGIzNWY4MjU1MDQ1ZDQ0NzZkZjY5NGI5MWViM2E4MTQ3ZTY1IgorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24tcHkiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXR6XzIwMTYuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dHpfMjAxNi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhNGUyZDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXR6XzIwMTYuMy5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIldvcmxkIHRpbWV6b25lIGRlZmluaXRpb25zLCBtb2Rlcm4gYW5kIGhpc3RvcmljYWwiCitIT01FUEFHRSA9ICIgaHR0cDovL3B5dGhvbmhvc3RlZC5vcmcvcHl0eiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTIyYjM4OTUxZWI4NTdjZjI4NWE0NTYwYTkxNGI3Y2Q2IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgcHl0aG9uLWNvcmUgXAorICAgIHB5dGhvbi1kYXRldGltZSBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhYmFlOTJjMzMwMWIyN2JkOGE5ZjU2YjE0ZjUyY2IyOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNDQ5ZGExOTA1MTY1NWQ0YzBiYjVjMzcxOTEzMzE3NDhiY2FkMTU4MDRkODE2NzZhODg0NTFlZjI5OTM3MGE4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl1ZGV2XzAuMTkuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dWRldl8wLjE5LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWEyNmRjNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dWRldl8wLjE5LjAuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJBIGxpYnVkZXYgYmluZGluZyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyIKKworU1JDX1VSSVttZDVzdW1dID0gIjExNTFlOWQwNWJhZjZjZTdiNDNlNzU3NGRjMGVmMTU0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVhYmNiZDAzZTQ5NjUxMTBkMWZlZGNiZGQ1NTMyOTc0Y2I0NjM4Y2VlZjM0MzM3YWEyZDU3NThlY2ViNTRhZDMiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAiL2ltcG9ydCBweXVkZXYvZCIgJHtTfS9zZXR1cC5weQorICAgIHNlZCAtaSAicy9zdHIocHl1ZGV2Ll9fdmVyc2lvbl9fKS8nJHtQVn0nL2ciICR7U30vc2V0dXAucHkKK30KKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIHB5dGhvbi1jdHlwZXMgXAorICAgIHB5dGhvbi1zdWJwcm9jZXNzIFwKKyAgICBweXRob24tbWlzYyBcCisgICAgcHl0aG9uLWNvbnRleHRsaWIgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl1c2JfMS4wLjBiMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dXNiXzEuMC4wYjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI3OWFiYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5dXNiXzEuMC4wYjIuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJQeVVTQiBwcm92aWRlcyBVU0IgYWNjZXNzIG9uIHRoZSBQeXRob24gbGFuZ3VhZ2UiCitIT01FUEFHRSA9ICJodHRwOi8vcHl1c2Iuc291cmNlZm9yZ2UubmV0LyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NTBkNDZiZGE2MjQ4YTBiNGE0NmE2ZDU5YTY2ZWUwOGUiCitERVBFTkRTID0gImxpYnVzYjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiYzEyZTgzZmYzZWYxMDQ1ZDQzMDZkMTNhOTk1NWZjMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNGVjNjYwNzdiZGNkNmYxYWE5ZTg5MmEwYTM1YTU0YmIzYzFlYzU2YWE3NDBlYWQ2NDM0OWMxOGYwMTg2ZDE5IgorCitpbmhlcml0IHB5cGkgZGlzdHV0aWxzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXlhbWwvc2V0dXAucHkgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weXlhbWwvc2V0dXAucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmVkMWM5NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5eWFtbC9zZXR1cC5weQpAQCAtMCwwICsxLDY0IEBACitOQU1FID0gJ1B5WUFNTCcKK1ZFUlNJT04gPSAnMy4xMCcKK0RFU0NSSVBUSU9OID0gIllBTUwgcGFyc2VyIGFuZCBlbWl0dGVyIGZvciBQeXRob24iCitMT05HX0RFU0NSSVBUSU9OID0gIiIiXAorWUFNTCBpcyBhIGRhdGEgc2VyaWFsaXphdGlvbiBmb3JtYXQgZGVzaWduZWQgZm9yIGh1bWFuIHJlYWRhYmlsaXR5IGFuZAoraW50ZXJhY3Rpb24gd2l0aCBzY3JpcHRpbmcgbGFuZ3VhZ2VzLiAgUHlZQU1MIGlzIGEgWUFNTCBwYXJzZXIgYW5kCitlbWl0dGVyIGZvciBQeXRob24uCisKK1B5WUFNTCBmZWF0dXJlcyBhIGNvbXBsZXRlIFlBTUwgMS4xIHBhcnNlciwgVW5pY29kZSBzdXBwb3J0LCBwaWNrbGUKK3N1cHBvcnQsIGNhcGFibGUgZXh0ZW5zaW9uIEFQSSwgYW5kIHNlbnNpYmxlIGVycm9yIG1lc3NhZ2VzLiAgUHlZQU1MCitzdXBwb3J0cyBzdGFuZGFyZCBZQU1MIHRhZ3MgYW5kIHByb3ZpZGVzIFB5dGhvbi1zcGVjaWZpYyB0YWdzIHRoYXQgYWxsb3cKK3RvIHJlcHJlc2VudCBhbiBhcmJpdHJhcnkgUHl0aG9uIG9iamVjdC4KKworUHlZQU1MIGlzIGFwcGxpY2FibGUgZm9yIGEgYnJvYWQgcmFuZ2Ugb2YgdGFza3MgZnJvbSBjb21wbGV4Citjb25maWd1cmF0aW9uIGZpbGVzIHRvIG9iamVjdCBzZXJpYWxpemF0aW9uIGFuZCBwZXJzaXN0YW5jZS4iIiIKK0FVVEhPUiA9ICJLaXJpbGwgU2ltb25vdiIKK0FVVEhPUl9FTUFJTCA9ICd4aUByZXNvbHZlbnQubmV0JworTElDRU5TRSA9ICJNSVQiCitQTEFURk9STVMgPSAiQW55IgorVVJMID0gImh0dHA6Ly9weXlhbWwub3JnL3dpa2kvUHlZQU1MIgorRE9XTkxPQURfVVJMID0gImh0dHA6Ly9weXlhbWwub3JnL2Rvd25sb2FkL3B5eWFtbC8lcy0lcy50YXIuZ3oiICUgKE5BTUUsIFZFUlNJT04pCitDTEFTU0lGSUVSUyA9IFsKKyAgICAiRGV2ZWxvcG1lbnQgU3RhdHVzIDo6IDUgLSBQcm9kdWN0aW9uL1N0YWJsZSIsCisgICAgIkludGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMiLAorICAgICJMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBNSVQgTGljZW5zZSIsCisgICAgIk9wZXJhdGluZyBTeXN0ZW0gOjogT1MgSW5kZXBlbmRlbnQiLAorICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24iLAorICAgICJUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBMaWJyYXJpZXMgOjogUHl0aG9uIE1vZHVsZXMiLAorICAgICJUb3BpYyA6OiBUZXh0IFByb2Nlc3NpbmcgOjogTWFya3VwIiwKK10KKworZnJvbSBkaXN0dXRpbHMuY29yZSBpbXBvcnQgc2V0dXAKK2Zyb20gZGlzdHV0aWxzLmV4dGVuc2lvbiBpbXBvcnQgRXh0ZW5zaW9uCitmcm9tIEN5dGhvbi5EaXN0dXRpbHMgaW1wb3J0IGJ1aWxkX2V4dAorCitpbXBvcnQgc3lzLCBvcy5wYXRoCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKworICAgIHNldHVwKAorICAgICAgICBuYW1lPU5BTUUsCisgICAgICAgIHZlcnNpb249VkVSU0lPTiwKKyAgICAgICAgZGVzY3JpcHRpb249REVTQ1JJUFRJT04sCisgICAgICAgIGxvbmdfZGVzY3JpcHRpb249TE9OR19ERVNDUklQVElPTiwKKyAgICAgICAgYXV0aG9yPUFVVEhPUiwKKyAgICAgICAgYXV0aG9yX2VtYWlsPUFVVEhPUl9FTUFJTCwKKyAgICAgICAgbGljZW5zZT1MSUNFTlNFLAorICAgICAgICBwbGF0Zm9ybXM9UExBVEZPUk1TLAorICAgICAgICB1cmw9VVJMLAorICAgICAgICBkb3dubG9hZF91cmw9RE9XTkxPQURfVVJMLAorICAgICAgICBjbGFzc2lmaWVycz1DTEFTU0lGSUVSUywKKworICAgICAgICBwYWNrYWdlX2Rpcj17Jyc6ICdsaWInfSwKKyAgICAgICAgcGFja2FnZXM9Wyd5YW1sJ10sCisKKyAgICAgICAgZXh0X21vZHVsZXMgPSBbCisgICAgICAgIEV4dGVuc2lvbiggIl95YW1sIiwgWyJleHQvX3lhbWwucHl4Il0sIGxpYnJhcmllcyA9IFsieWFtbCJdICkKKyAgICAgICAgXSwKKworICAgICAgICBjbWRjbGFzcz17CisgICAgICAgICAgICAnYnVpbGRfZXh0JzogYnVpbGRfZXh0LAorICAgICAgICB9LAorICAgICkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5eWFtbF8zLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl5YW1sXzMuMTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTAxN2UwZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5eWFtbF8zLjExLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIHN1cHBvcnQgZm9yIFlBTUwiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnB5eWFtbC5vcmciCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NjAxNWYwODg3NTliMTBlMGJjMmJmNjQ4OThkNGFlMTciCitERVBFTkRTID0gImxpYnlhbWwgcHl0aG9uLWN5dGhvbi1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3B5eWFtbC5vcmcvZG93bmxvYWQvcHl5YW1sL1B5WUFNTC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc2V0dXAucHkgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjUwZTA4ZWYwZmU1NTE3ODQ3OWQzYTYxOGVmZTIxZGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzM2YzkzOGE4NzJlNWZmNDk0OTM4YjMzYjE0YWFhMTU2Y2I0MzllYzY3NTQ4ZmNhYjM1MzViYjc4YjA4NDZlOCIKKworUyA9ICIke1dPUktESVJ9L1B5WUFNTC0ke1BWfSIKKworaW5oZXJpdCBkaXN0dXRpbHMKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyB1cHN0cmVhbSBzZXR1cC5weSBvdmVyY29tcGxpY2F0ZWQsIHVzZSBvdXJzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc2V0dXAucHkgJHtTfQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5em1xL2NsdWItcnBhdGgtb3V0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl6bXEvY2x1Yi1ycGF0aC1vdXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRjM2I3MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5em1xL2NsdWItcnBhdGgtb3V0LnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA2MmRmNDQ1Li4xZmRiZGViIDEwMDc1NQorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtMjEzLDEyICsyMTMsNiBAQCBkZWYgc2V0dGluZ3NfZnJvbV9wcmVmaXgocHJlZml4PU5vbmUsIGJ1bmRsZV9saWJ6bXFfZHlsaWI9RmFsc2UpOgorICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgICMgdW51c2VkIHJwYXRoIGFyZ3MgZm9yIE9TIFg6CisgICAgICAgICAgICAgICAgICMgc2V0dGluZ3NbJ2V4dHJhX2xpbmtfYXJncyddID0gWyctV2wsLXJwYXRoJywnLVdsLCRPUklHSU4vLi4nXQorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHNldHRpbmdzWydydW50aW1lX2xpYnJhcnlfZGlycyddICs9IFsnJE9SSUdJTi8uLiddCistICAgICAgICBlbGlmIHN5cy5wbGF0Zm9ybSAhPSAnZGFyd2luJzoKKy0gICAgICAgICAgICBzZXR0aW5nc1sncnVudGltZV9saWJyYXJ5X2RpcnMnXSArPSBbCistICAgICAgICAgICAgICAgIG9zLnBhdGguYWJzcGF0aCh4KSBmb3IgeCBpbiBzZXR0aW5nc1snbGlicmFyeV9kaXJzJ10KKy0gICAgICAgICAgICBdCisgICAgIAorICAgICByZXR1cm4gc2V0dGluZ3MKKyAKK0BAIC01OTIsOCArNTg2LDYgQEAgY2xhc3MgQ29uZmlndXJlKGJ1aWxkX2V4dCk6CisgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgICAgICAgIyB1bnVzZWQgcnBhdGggYXJncyBmb3IgT1MgWDoKKyAgICAgICAgICAgICAgICAgIyBzZXR0aW5nc1snZXh0cmFfbGlua19hcmdzJ10gPSBbJy1XbCwtcnBhdGgnLCctV2wsJE9SSUdJTi8uLi96bXEnXQorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHNldHRpbmdzWydydW50aW1lX2xpYnJhcnlfZGlycyddID0gWyBvcy5wYXRoLmFic3BhdGgocGpvaW4oJy4nLCAnem1xJykpIF0KKyAgICAgICAgIAorICAgICAgICAgbGluZSgpCisgICAgICAgICBpbmZvKCJDb25maWd1cmU6IEF1dG9kZXRlY3RpbmcgWk1RIHNldHRpbmdzLi4uIikKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5em1xXzE0LjcuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5em1xXzE0LjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWJhZjgyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHl6bXFfMTQuNy4wLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiUHl6bXEgcHJvdmlkZXMgWmVybyBtZXNzYWdlIHF1ZXVlIGFjY2VzcyBmb3IgdGhlIFB5dGhvbiBsYW5ndWFnZSIKK0hPTUVQQUdFID0gImh0dHA6Ly96ZXJvbXEub3JnL2JpbmRpbmdzOnB5dGhvbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5CU0Q7bWQ1PTExYzY1NjgwZjYzN2MzZGY3ZjU4YmJjOGQxMzNlOTZlIgorREVQRU5EUyA9ICJ6ZXJvbXEiCisKK1NSQ19VUkkgPSAiZmlsZTovL2NsdWItcnBhdGgtb3V0LnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjg3ZTNhYmIzM2FmNTc5NGRiNWFlODVjNjY3YmJmMzI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc3OTk0ZjgwMzYwNDg4ZTcxNTNlNjRlNTk1OWRjNTQ3MTUzMWQxNjQ4ZTNhNGJmZjE0YTcxNGQwNzRhMzhjYzIiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzIHBrZ2NvbmZpZworCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLW11bHRpcHJvY2Vzc2luZyIKKworRklMRVNfJHtQTn0tZGJnID0rICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS96bXEvYmFja2VuZC9jeXRob24vLmRlYnVnIgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgZWNobyBbZ2xvYmFsXSA+ICR7U30vc2V0dXAuY2ZnCisgICAgZWNobyB6bXFfcHJlZml4ID0gJHtTVEFHSU5HX0RJUl9IT1NUfSA+PiAke1N9L3NldHVwLmNmZworICAgIGVjaG8gaGF2ZV9zeXNfdW5faCA9IFRydWUgPj4gJHtTfS9zZXR1cC5jZmcKKyAgICBlY2hvIHNraXBfY2hlY2tfem1xID0gVHJ1ZSA+PiAke1N9L3NldHVwLmNmZworICAgIGVjaG8gbGliem1xX2V4dGVuc2lvbiA9IEZhbHNlID4+ICR7U30vc2V0dXAuY2ZnCisgICAgZWNobyBub19saWJ6bXFfZXh0ZW5zaW9uID0gVHJ1ZSA+PiAke1N9L3NldHVwLmNmZworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVkaXMuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVkaXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2NGYwNDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZWRpcy5pbmMKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlB5dGhvbiBjbGllbnQgZm9yIFJlZGlzIGtleS12YWx1ZSBzdG9yZSIKK0RFU0NSSVBUSU9OID0gIlRoZSBQeXRob24gaW50ZXJmYWNlIHRvIHRoZSBSZWRpcyBrZXktdmFsdWUgc3RvcmUuIgorSE9NRVBBR0UgPSAiaHR0cDovL2dpdGh1Yi5jb20vYW5keW1jY3VyZHkvcmVkaXMtcHkiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTUxZDlhZDU2Mjk5YWI2MGJhN2JlNjVhNjIxMDA0ZjI3IgorUFIgPSAicjAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzYjI2YzJiOTcwM2I0YjU2YjMwYTFhZDUwOGUzMTA4MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZGZiYWU2YWNmYzU0ZWRmMGE3YTQxNWI5OWUwYjIxYzBhM2MyN2E3Zjc4N2IyOTJlZWE3MjdiMWZhY2M1NTMzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVkaXNfMi4xMC41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVkaXNfMi4xMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjM2NhODUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZWRpc18yLjEwLjUuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tcmVkaXMuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJjZTI1MwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLmluYwpAQCAtMCwwICsxLDkgQEAKK0RFU0NSSVBUSU9OID0gIlB5dGhvbiBIVFRQIGZvciBIdW1hbnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3B5dGhvbi1yZXF1ZXN0cy5vcmciCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01OGM3ZTE2M2M5ZjhlZTAzNzI0NmRhMTAxYzZhZmQxZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjBiN2Y0ODBkMTkwMTJlYzUyYmFiNzgyOTJlZmQ5NzZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM1Nzc4MTVkZDAwZjEzOTQyMDNmYzQ0ZWI5Nzk3MjRiMDk4Zjg4MjY0YTllZjg5OGVlNDViOGU1ZTljZjU4N2YiCisKK1JERVBFTkRTXyR7UE59ID0gIiR7UFlUSE9OX1BOfS1lbWFpbCAke1BZVEhPTl9QTn0tanNvbiAke1BZVEhPTl9QTn0tbmV0c2VydmVyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi45LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0c18yLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjdiYzk1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi45LjEuYmIKQEAgLTAsMCArMSw0IEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tcmVxdWVzdHMuaW5jCisKK1JERVBFTkRTXyR7UE59ICs9ICIke1BZVEhPTl9QTn0temxpYiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpeC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zaXguaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwOGM2MGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zaXguaW5jCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIDIgYW5kIDMgY29tcGF0aWJpbGl0eSBsaWJyYXJ5IgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT02ZjAwZDRhNTA3MTNmYTg1OTg1OGRkOWFiYWEzNWIyMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjM0ZWVkNTA3NTQ4MTE3YjJhYjUyM2FiMTRiMmY4YjU1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwNWY4ZDY4NjE2ZjgyNDhlMjRiZjBlOTM3MmVmMDRkM2NjMTAxMDRmMTk4MGY1NGQ1N2IyY2U3M2E1YWQ1NmEiCisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIGV4cG9ydCBCVUlMRF9TWVM9JHtCVUlMRF9TWVN9IEhPU1RfU1lTPSR7SE9TVF9TWVN9CisgICAgJHtQWVRIT059IHNldHVwLnB5IC1xIGJkaXN0X2VnZyAtLWRpc3QtZGlyIC4vCit9Citkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS8qLmVnZyAke0R9LyR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LworfQorCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLWlvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2l4XzEuMTAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpeF8xLjEwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTA3NTc0NQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpeF8xLjEwLjAuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tc2l4LmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2xpcC1kYnVzXzAuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2xpcC1kYnVzXzAuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3MTRmNDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXNfMC42LjAuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJDb252ZW5pZW5jZSBmdW5jdGlvbnMgZm9yIGRidXMgc2VydmljZXMgaW4gUHl0aG9uIDIueCIKK0hPTUVQQUdFID0gImh0dHA6Ly9ucGhpbGlwcC5mZWRvcmFwZW9wbGUub3JnL3B5dGhvbi1zbGlwLyIKK0RFU0NSSVBUSU9OID0gIlwKK1RoZSBTaW1wbGUgTGlicmFyeSBmb3IgUHl0aG9uIDIueCBwYWNrYWdlcyBjb250YWluIG1pc2NlbGxhbmVvdXMgY29kZSBmb3IgXAorY29udmVuaWVuY2UsIGV4dGVuc2lvbiBhbmQgd29ya2Fyb3VuZCBwdXJwb3Nlcy4gXAorXAorVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHNsaXAuZGJ1cy5zZXJ2aWNlLk9iamVjdCwgd2hpY2ggaXMgYSBkYnVzLnNlcnZpY2UuT2JqZWN0IFwKK2Rlcml2YXRpdmUgdGhhdCBlbmRzIGl0c2VsZiBhZnRlciBhIGNlcnRhaW4gdGltZSB3aXRob3V0IGJlaW5nIHVzZWQgYW5kL29yIGlmIFwKK3RoZXJlIGFyZSBubyBjbGllbnRzIGFueW1vcmUgb24gdGhlIG1lc3NhZ2UgYnVzLCBhcyB3ZWxsIGFzIGNvbnZlbmllbmNlIFwKK2Z1bmN0aW9ucyBhbmQgZGVjb3JhdG9ycyBmb3IgaW50ZWdyYXRpbmcgYSBkYnVzIHNlcnZpY2Ugd2l0aCBQb2xpY3lLaXQuIgorCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTU3NGM2OTY1YWU1ZjU4M2U1NTg4MGUzOTdmYmIwMTgiCitTUkNOQU1FID0gInB5dGhvbi1zbGlwIgorCitTUkNfVVJJID0gImh0dHBzOi8vZmVkb3JhaG9zdGVkLm9yZy9yZWxlYXNlZC8ke1NSQ05BTUV9LyR7U1JDTkFNRX0tJHtQVn0udGFyLmJ6MiIKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgorCitpbmhlcml0IHNldHVwdG9vbHMKKworU1JDX1VSSVttZDVzdW1dID0gImZiMzI5OWQ3NWFmMWE2N2NhNjY3OWQ5NmNlODM5ZGE2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY0NzM2MWVjNTJiNjA4MzA5YjgzYzcxOTA1ZTY5MmI2YjM2M2VhZjNiOGE3YWZkZWZmODY2Y2Q5NDQ2M2FkNWMiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWUgJ3MvQFZFUlNJT05ALyR7UFZ9L2cnIHNldHVwLnB5LmluID4gc2V0dXAucHkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNtYnVzXzMuMS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc21idXNfMy4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY0N2RmNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNtYnVzXzMuMS4xLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiU2V0IG9mIGkyYyB0b29scyBmb3IgbGludXggLSBQeXRob24gbW9kdWxlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NtYnVzbW9kdWxlLmM7c3RhcnRsaW5lPTE7ZW5kbGluZT0xNzttZDU9ZmEyNGRmMzIxYTUyMGZmOGUxMGYyMDM0MjVhYjlmYTgiCisKK1NSQ19VUkkgPSAiaHR0cDovL2RsLmxtLXNlbnNvcnMub3JnL2kyYy10b29scy9yZWxlYXNlcy9pMmMtdG9vbHMtJHtQVn0udGFyLmJ6MiBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMGZkYmZmNTNlYmQwYjhkOTI0OTI1NmQ2YzU2NDgwYjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTRkNGQ3ZDYwZDFjMTJlNDNmMmJlZmUyMzljNjgyYTVjNDRjMjc2ODJmMTUzZDRiNThjMWUzOTJkMmRiMTcwMCIKKworREVQRU5EUyA9ICJpMmMtdG9vbHMiCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK1MgPSAiJHtXT1JLRElSfS9pMmMtdG9vbHMtJHtQVn0vcHktc21idXMvIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIEFkanVzdCBmb3IgT0UgaGVhZGVyIHJlbmFtZQorICAgIHNlZCAtaSBzOmxpbnV4L2kyYy1kZXYuaDpsaW51eC9pMmMtZGV2LXVzZXIuaDogTW9kdWxlLm1rCisgICAgc2VkIC1pIHM6bGludXgvaTJjLWRldi5oOmxpbnV4L2kyYy1kZXYtdXNlci5oOiBzbWJ1c21vZHVsZS5jCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbmFrZWZvb2RfMS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc25ha2Vmb29kXzEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGE2ZDc2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc25ha2Vmb29kXzEuNC5iYgpAQCAtMCwwICsxLDUxIEBACitTVU1NQVJZID0gIkRlcGVuZGVuY3kgZ3JhcGhpbmcgZm9yIFB5dGhvbiIKK0RFU0NSSVBUSU9OID0gIiBHZW5lcmF0ZSBkZXBlbmRlbmN5IGdyYXBocyBmcm9tIFB5dGhvbiBjb2RlLiBUaGlzIFwKK2RlcGVuZGVuY3kgdHJhY2tlciBwYWNrYWdlIGhhcyBhIGZldyBkaXN0aW5ndWlzaGluZyBjaGFyYWN0ZXJpc3RpY3MgXAorXAorICAgICogSXQgdXNlcyB0aGUgQVNUIHRvIHBhcnNlIHRoZSBQeXRob24gZmlsZXMuIFRoaXMgaXMgdmVyeSByZWxpYWJsZSwgXAorICAgICAgaXQgYWx3YXlzIHJ1bnMuXAorICAgICogTm8gbW9kdWxlIGlzIGxvYWRlZC4gTG9hZGluZyBtb2R1bGVzIHRvIGZpZ3VyZSBvdXQgZGVwZW5kZW5jaWVzIGlzIFwKKyAgICAgIGFsbW9zdCBhbHdheXMgcHJvYmxlbSwgYmVjYXVzZSBhIGxvdCBvZiBjb2RlYmFzZXMgcnVuIGluaXRpYWxpemF0aW9uIFwKKyAgICAgIGNvZGUgaW4gdGhlIGdsb2JhbCBuYW1lc3BhY2UsIHdoaWNoIG9mdGVuIHJlcXVpcmVzIGFkZGl0aW9uYWwgc2V0dXAuIFwKKyAgICAgIFNuYWtlZm9vZCBpcyBndWFyYW50ZWVkIG5vdCB0byBoYXZlIHRoaXMgcHJvYmxlbSAoaXQganVzdCBydW5zLCBubyBcCisgICAgICBtYXR0ZXIgd2hhdCkuXAorICAgICogSXQgd29ya3Mgb24gYSBzZXQgb2YgZmlsZXMsIGkuZS4geW91IGRvIG5vdCBoYXZlIHRvIHNwZWNpZnkgYSBzaW5nbGUgXAorICAgICAgc2NyaXB0LCB5b3UgY2FuIHNlbGVjdCBhIGRpcmVjdG9yeSAocGFja2FnZSBvciBlbHNlKSBvciBhIHNldCBvZiBmaWxlcy5cCisgICAgICBJdCBmaW5kcyBhbGwgdGhlIFB5dGhvbiBmaWxlcyByZWN1cnNpdmVseSBhdXRvbWF0aWNhbGx5LlwKKyAgICAqIEF1dG9tYXRpYy9ubyBjb25maWd1cmF0aW9uOiB5b3VyIFBZVEhPTlBBVEggaXMgYXV0b21hdGljYWxseSBhZGp1c3RlZCBcCisgICAgICB0byBpbmNsdWRlIHRoZSByZXF1aXJlZCBwYWNrYWdlIHJvb3RzLiBJdCBmaWd1cmVzIG91dCB0aGUgcGF0aHMgdGhhdCBcCisgICAgICBhcmUgcmVxdWlyZWQgZnJvbSB0aGUgZmlsZXMvZGlyZWN0b3JpZXMgZ2l2ZW4gYXMgaW5wdXQuIFlvdSBzaG91bGQgbm90IFwKKyAgICAgIGhhdmUgdG8gc2V0dXAgQU5ZVEhJTkcuXAorICAgICogSXQgZG9lcyBub3QgaGF2ZSB0byBhdXRvbWF0aWNhbGx5ICdmb2xsb3cnIGRlcGVuZGVuY2llcyBiZXR3ZWVuIG1vZHVsZXMsXAorICAgICAgaS5lLiBieSBkZWZhdWx0IGl0IG9ubHkgY29uc2lkZXJzIHRoZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgeW91IHNwZWNpZnkgXAorICAgICAgb24gdGhlIGNvbW1hbmQtbGluZSBhbmQgdGhlaXIgaW1tZWRpYXRlIGRlcGVuZGVuY2llcy4gSXQgYWxzbyBoYXMgYW4gXAorICAgICAgb3B0aW9uIHRvIGF1dG9tYXRpY2FsbHkgaW5jbHVkZSBvbmx5IHRoZSBkZXBlbmRlbmNpZXMgd2l0aGluIHRoZSBcCisgICAgICBwYWNrYWdlcyBvZiB0aGUgZmlsZXMgeW91IHNwZWNpZnkuXAorICAgICogSXQgZm9sbG93cyB0aGUgVU5JWCBwaGlsb3NvcGh5IG9mIHNtYWxsIHByb2dyYW1zIHRoYXQgZG8gb25lIHRoaW5nIHdlbGw6XAorICAgICAgaXQgY29uc2lzdHMgb2YgYSBmZXcgc2ltcGxlIHByb2dyYW1zIHdob3NlIG91dHB1dHMgeW91IGNvbWJpbmUgdmlhIFwKKyAgICAgIHBpcGVzLiBHcmFwaGluZyBkZXBlbmRlbmNpZXMgYWx3YXlzIHJlcXVpcmVzIHRoZSB1c2VyIHRvIGZpbHRlciBhbmQgXAorICAgICAgY2x1c3RlciB0aGUgZmlsZW5hbWVzLCBzbyB0aGlzIGlzIGFwcHJvcHJpYXRlLiBZb3UgY2FuIGNvbWJpbmUgaXQgd2l0aCBcCisgICAgICB5b3VyIGZhdm91cml0ZSB0b29scywgZ3JlcCwgc2VkLCBldGMuXAorXAorQSBwcm9ibGVtIHdpdGggZGVwZW5kZW5jeSB0cmFja2VycyB0aGF0IHJ1biBjb2RlIGlzIHRoYXQgdGhleSBhcmUgdW5yZWxpYWJsZSwgXAorZHVlIHRvIHRoZSBkeW5hbWljIG5hdHVyZSBvZiBQeXRob24gKHRoZSBwcmVzZW5jZSBvZiBpbXBvcnRzIHdpdGhpbiBmdW5jdGlvbiBcCitjYWxscyBhbmQgX19pbXBvcnRfXyBob29rcyBtYWtlcyBpdCBhbG1vc3QgaW1wb3NzaWJsZSB0byBhbHdheXMgZG8gdGhlIHJpZ2h0IFwKK3RoaW5nKS4gVGhpcyBzY3JpcHQgYWltcyBhdCBiZWluZyByaWdodCA5OSUgb2YgdGhlIHRpbWUsIGFuZCB3ZSB0aGluayB0aGF0IFwKK2dpdmVuIHRoZSB0cmFkZS1vZmZzLCA5OSUgaXMgZ29vZCBlbm91Z2ggZm9yIDk5JSBvZiB0aGUgdXNlcy5cCisiCitBVVRIT1IgPSAiTWFydGluIEJsYWlzIDxibGFpc0BmdXJpdXMuY2E+IgorSE9NRVBBR0UgPSAiaHR0cDovL2Z1cml1cy5jYS9zbmFrZWZvb2QiCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworU1JDX1VSSVttZDVzdW1dID0gIjU2Yzg4NjY3YTMzZDg5MDliMGFhYmYyYWI2OTAzYmRmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI5NTc4NDY2ODAzMjI1NGU3MzkxY2E5OWJhNzA2MGVkZDNhZTRlY2ExYTMzMGFjMTE2MjdiMThhYjU5MjNiNzciCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gIiBweXRob24tbG9nZ2luZyBweXRob24tY29tcGlsZXIgcHl0aG9uLXNoZWxsIgorIyB0aGUgYWJvdmUgbW9kdWxlcyBkbyBub3QgaGF2ZSBhIC1uYXRpdmUgY291bnRlcnBhcnQKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zcGFydHNfMC43LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zcGFydHNfMC43LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTEyNTMxMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNwYXJ0c18wLjcuMy5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIHJhcGlkIHNlcnZpY2UgcHJvdG90eXBpbmcgd2l0aCBtaW5pbWFsIGJvaWxlcnBsYXRlIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wYzE1NTQ2MzZhNTY0ZGEzYmFmMDM3YWM2NTJmYzgzMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjZhYTg4MTU2NTJjNmY1ZTVlOGU1YjJhYzE4MTNkZDg3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIyNTcwN2MzNDkwNzlhN2M4ODgxNTVlN2ZkZmQ4Mzk0ZGYyZGE5YWNhOWM4ZWVlNGUyMDU1MjhjYjE2Yjc2NjIiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICAgICAgICAgICAgIHB5dGhvbi1zdWJwcm9jZXNzIFwKKyAgICAgICAgICAgICAgIHB5dGhvbi1zaXggXAorICAgICAgICAgICAgICAgcHl0aG9uLWFyZ3BhcnNlIFwKKyAgICAgICAgICAgICAgIHB5dGhvbi1yZSBcCisgICAgICAgICAgICAgICBweXRob24tc2hlbGwgXAorICAgICAgICAgICAgICAgcHl0aG9uLXRocmVhZGluZyBcCisgICAgICAgICAgICAgICBweXRob24tbG9nZ2luZyBcCisgICAgICAgICAgICAgICBweXRob24tdW5peGFkbWluIFwKKyAgICAgICAgICAgICAgIHB5dGhvbi1kaXN0dXRpbHMgXAorICAgICAgICAgICAgICAgcHl0aG9uLWRhZW1vbml6ZSBcCisgICAgICAgICAgICAgICBweXRob24tZnV0dXJlcyBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zcWxhbGNoZW15XzAuNy45LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc3FsYWxjaGVteV8wLjcuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2I0YjdlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc3FsYWxjaGVteV8wLjcuOS5iYgpAQCAtMCwwICsxLDE0IEBACitERVNDUklQVElPTiA9ICJQeXRob24gU1FMIHRvb2xraXQgYW5kIE9iamVjdCBSZWxhdGlvbmFsIE1hcHBlciB0aGF0IGdpdmVzIFwKK2FwcGxpY2F0aW9uIGRldmVsb3BlcnMgdGhlIGZ1bGwgcG93ZXIgYW5kIGZsZXhpYmlsaXR5IG9mIFNRTCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuc3FsYWxjaGVteS5vcmcvIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iYWZmYzVlNWY0ODA0YzkyZmM5YmUxNTVmZWQ3MGQ0MSIKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24tbnVtYmVycyIKKworU1JDTkFNRSA9ICJTUUxBbGNoZW15IgorU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vc3FsYWxjaGVteS8ke1NSQ05BTUV9LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNDg1MmQ1ODZkOTVhNTlmYmM5MzU4ZjQ0Njc4NzVkNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmN2EzMDVhZDEyMjE0NGYzNjRjZTA5YTJkOWVkNTE1OWQ1ZjQ2ZWM0MzY1MDY1MzU5M2U3ZGZhMDVkMzI5NGExIgorUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCisKK2luaGVyaXQgc2V0dXB0b29scwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkby1yZWRpc18yLjQuMTguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvLXJlZGlzXzIuNC4xOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NmEyMGE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkby1yZWRpc18yLjQuMTguYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSAgPSAiVG9ybmFkby1SZWRpcyBpcyBhbiBhc3luY3Jvbm91cyBSZWRpcyBjbGllbnQgZm9yIHRoZSBUb3JuYWRvIFdlYiBTZXJ2ZXIiCitERVNDUklQVElPTiA9ICJUb3JuYWRvLVJlZGlzIGlzIGEgUmVkaXMgY2xpZW50IHRoYXQgdXNlcyBUb3JuYWRvJ3MgbmF0aXZlICd0b3JuYWRvLWdlbicgaW50ZXJmYWNlLiBcCitJdCBjYW4gYmUgdXNlZCBhbG9uZ3NpZGUgcmVkaXMtcHkgaW4gVG9ybmFkbyBhcHBsaWNhdGlvbnM6IFwKK3Rvcm5hZG8tcmVkaXMgdG8gc3Vic2NyaWJlIHRvIFB1Yi9TdWIgbm90aWZpY2F0aW9ucyBhbmQgZm9yIGJsb2NraW5nIGNvbW1hbmRzIChzdWNoIGFzIEJMUE9QLCBCUlBPUCwgQlJQT1BMUFVTSCk7IFwKK3JlZGlzLXB5IGZvciBvdGhlciBjb21tYW5kcy4iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbGVwb3JvL3Rvcm5hZG8tcmVkaXMiCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO2JlZ2lubGluZT04O2VuZGxpbmU9ODttZDU9Y2EzMDdlOGYzN2I1ZmE3ZjhkYmJlYzAzM2Y3ZGI3ZGUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxYzdlYzBmNjQ1ZDE1NDAwODcxMTQxYzExNDllNjkzNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZmQzYjMyNDE1ODI5MWFkNWZiN2Y1ZjhkYzJlODc2M2IyODk1NTU2YmQyYTQ0ZjJkZDcyMWI3MDNjNjY5MDQ2IgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uLXRvcm5hZG8iCisKK1JERVBFTkRTXyR7UE59LXRlc3QgKz0gIiR7UE59IHB5dGhvbi10b3JuYWRvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkby5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTNhYzhjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkby5pbmMKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSAgPSAiVG9ybmFkbyBpcyBhbiBvcGVuIHNvdXJjZSB2ZXJzaW9uIG9mIHRoZSBzY2FsYWJsZSwgbm9uLWJsb2NraW5nIHdlYiBzZXJ2ZXIgYW5kIHRvb2xzIHRoYXQgcG93ZXIgRnJpZW5kRmVlZC4iCitERVNDUklQVElPTiA9ICJUb3JuYWRvIGlzIGEgUHl0aG9uIHdlYiBmcmFtZXdvcmsgYW5kIGFzeW5jaHJvbm91cyBuZXR3b3JraW5nIGxpYnJhcnksIG9yaWdpbmFsbHkgZGV2ZWxvcGVkIGF0IEZyaWVuZEZlZWQuIFwKK0J5IHVzaW5nIG5vbi1ibG9ja2luZyBuZXR3b3JrIEkvTywgVG9ybmFkbyBjYW4gc2NhbGUgdG8gdGVucyBvZiB0aG91c2FuZHMgb2Ygb3BlbiBjb25uZWN0aW9ucywgbWFraW5nIGl0IGlkZWFsIGZvciBsb25nIFwKK3BvbGxpbmcsIFdlYlNvY2tldHMsIGFuZCBvdGhlciBhcHBsaWNhdGlvbnMgdGhhdCByZXF1aXJlIGEgbG9uZy1saXZlZCBjb25uZWN0aW9uIHRvIGVhY2ggdXNlci4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnRvcm5hZG93ZWIub3JnL2VuL3N0YWJsZS8iCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zZXR1cC5weTtzdGFydGxpbmU9MjtlbmRsaW5lPTE1O21kNT01YWI3NTcxYTc5YWQ2MmQwY2E3YWVhMzA4YmFjNzU2MCIKKworU1JDX1VSSVttZDVzdW1dID0gImQxM2E5OWRjMGI2MGJhNjlmNWY4ZWMxMjM1ZTViMjMyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM5YzJkMzI1OTNkMTZlZWRmMmNlYzFiNmE0MTg5MzYyNmEyNjQ5YjQwYjIxY2E5YzRjYWM0MjQzYmRlMmVmYmYiCisKK1JERVBFTkRTXyR7UE59ICs9ICIke1BZVEhPTl9QTn0tY29tcHJlc3Npb24gJHtQWVRIT05fUE59LW51bWJlcnMgJHtQWVRIT05fUE59LWVtYWlsICR7UFlUSE9OX1BOfS1zdWJwcm9jZXNzIFwKKyAgICAgICAgICAgICAgICAgICAke1BZVEhPTl9QTn0tcGtndXRpbCAke1BZVEhPTl9QTn0taHRtbCAke1BZVEhPTl9QTn0tanNvbiAke1BZVEhPTl9QTn0tY2VydGlmaSIKKworUkRFUEVORFNfJHtQTn0tdGVzdCArPSAiJHtQTn0gJHtQWVRIT05fUE59LXVuaXR0ZXN0IgorCitQQUNLQUdFUyA9KyAiXAorICAgICR7UE59LXRlc3QgXAorIgorCitGSUxFU18ke1BOfS10ZXN0ID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy8qL3Rlc3QgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvKi90ZXN0aW5nLnB5KiBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvLzAwMDEtZGlzYWJsZS1BSV9BRERSQ09ORklHLWZsYWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvLzAwMDEtZGlzYWJsZS1BSV9BRERSQ09ORklHLWZsYWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIwZDQ3MQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRvcm5hZG8vMDAwMS1kaXNhYmxlLUFJX0FERFJDT05GSUctZmxhZy5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIGQ3ZmIwYTZlZjNmM2NiZGZjMWYyMWY1YTY3ZDU0ZmE5ZDJjMWUxODMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogV2VkLCAyIE5vdiAyMDExIDExOjA3OjI0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRpc2FibGUgQUlfQUREUkNPTkZJRyBmbGFnCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CisKK1Vwc3RyZWFtLVN0YXR1czogdW5rbm93bgorLS0tCisgdG9ybmFkby9uZXR1dGlsLnB5IHwgICAgNiAtLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rvcm5hZG8vbmV0dXRpbC5weSBiL3Rvcm5hZG8vbmV0dXRpbC5weQoraW5kZXggY2ZmZjBiYS4uYzE4MWYyNCAxMDA2NDQKKy0tLSBhL3Rvcm5hZG8vbmV0dXRpbC5weQorKysrIGIvdG9ybmFkby9uZXR1dGlsLnB5CitAQCAtMjM4LDEyICsyMzgsNiBAQCBkZWYgYmluZF9zb2NrZXRzKHBvcnQsIGFkZHJlc3M9Tm9uZSwgZmFtaWx5PXNvY2tldC5BRl9VTlNQRUMsIGJhY2tsb2c9MTI4KToKKyAgICAgaWYgYWRkcmVzcyA9PSAiIjoKKyAgICAgICAgIGFkZHJlc3MgPSBOb25lCisgICAgIGZsYWdzID0gc29ja2V0LkFJX1BBU1NJVkUKKy0gICAgaWYgaGFzYXR0cihzb2NrZXQsICJBSV9BRERSQ09ORklHIik6CistICAgICAgICAjIEFJX0FERFJDT05GSUcgZW5zdXJlcyB0aGF0IHdlIG9ubHkgdHJ5IHRvIGJpbmQgb24gaXB2NgorLSAgICAgICAgIyBpZiB0aGUgc3lzdGVtIGlzIGNvbmZpZ3VyZWQgZm9yIGl0LCBidXQgdGhlIGZsYWcgZG9lc24ndAorLSAgICAgICAgIyBleGlzdCBvbiBzb21lIHBsYXRmb3JtcyAoc3BlY2lmaWNhbGx5IFdpblhQLCBhbHRob3VnaAorLSAgICAgICAgIyBuZXdlciB2ZXJzaW9ucyBvZiB3aW5kb3dzIGhhdmUgaXQpCistICAgICAgICBmbGFncyB8PSBzb2NrZXQuQUlfQUREUkNPTkZJRworICAgICBmb3IgcmVzIGluIHNldChzb2NrZXQuZ2V0YWRkcmluZm8oYWRkcmVzcywgcG9ydCwgZmFtaWx5LCBzb2NrZXQuU09DS19TVFJFQU0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIGZsYWdzKToKKyAgICAgICAgIGFmLCBzb2NrdHlwZSwgcHJvdG8sIGNhbm9ubmFtZSwgc29ja2FkZHIgPSByZXMKKy0tIAorMS43LjIuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvXzIuMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkb18yLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODAyNmIzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdG9ybmFkb18yLjIuMS5iYgpAQCAtMCwwICsxLDE2IEBACitERVNDUklQVElPTiA9ICJUb3JuYWRvIGlzIGFuIG9wZW4gc291cmNlIHZlcnNpb24gb2YgdGhlIHNjYWxhYmxlLCBub24tYmxvY2tpbmcgd2ViIHNlcnZlciBhbmQgdG9vbHMgdGhhdCBwb3dlciBGcmllbmRGZWVkLiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTttZDU9ZTdmYjk5NTQwMDNkN2NkOTMzMjJjY2YyODIyMTBkMWMiCisKK1BWID0gIjIuMi4xK2dpdCR7U1JDUFZ9IgorCitTUkNSRVYgPSAiYzUwMTkxN2ViYTQ2ZGVjMzBiMWYyZWYxMjQ5N2RmZmM0YmVlYzUwNSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9mYWNlYm9vay90b3JuYWRvLmdpdDticmFuY2g9YnJhbmNoMi4yIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZGlzYWJsZS1BSV9BRERSQ09ORklHLWZsYWcucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IHNldHVwdG9vbHMKKworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvXzQuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRvcm5hZG9fNC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1YTQ4YjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10b3JuYWRvXzQuMy5iYgpAQCAtMCwwICsxLDMgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi10b3JuYWRvLmluYworUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS1iYWNrcG9ydHMtc3NsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpc3RlZF8xMy4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2lzdGVkXzEzLjIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzg4YWM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpc3RlZF8xMy4yLjAuYmIKQEAgLTAsMCArMSwyNDUgQEAKK0RFU0NSSVBUSU9OID0gIlR3aXN0ZWQgaXMgYW4gZXZlbnQtZHJpdmVuIG5ldHdvcmtpbmcgZnJhbWV3b3JrIHdyaXR0ZW4gaW4gUHl0aG9uIGFuZCBsaWNlbnNlZCB1bmRlciB0aGUgTEdQTC4gXAorVHdpc3RlZCBzdXBwb3J0cyBUQ1AsIFVEUCwgU1NML1RMUywgbXVsdGljYXN0LCBVbml4IHNvY2tldHMsIGEgbGFyZ2UgbnVtYmVyIG9mIHByb3RvY29scyAgICAgICAgICAgICAgICAgICBcCisoaW5jbHVkaW5nIEhUVFAsIE5OVFAsIElNQVAsIFNTSCwgSVJDLCBGVFAsIGFuZCBvdGhlcnMpLCBhbmQgbXVjaCBtb3JlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudHdpc3RlZG1hdHJpeC5jb20iCisKKyN0d2lzdGVkL3RvcGZpbGVzL05FV1M6NjU1OiAtIFJlbGljZW5zZWQ6IE5vdyB1bmRlciB0aGUgTUlUIGxpY2Vuc2UsIHJhdGhlciB0aGFuIExHUEwuCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTU2MDJkNzIyOGRhZjU5YTE2ZjBmMWIyNjQwYzQ2YmNhIgorCitTUkNfVVJJW21kNXN1bV0gPSAiODNmZTZjMGM5MTFjYzE2MDJkYmZmYjAzNmJlMGJhNzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDk1MTc1NjM4YzAxOWFjN2MwNjA0ZjRjMjkxNzI0YTE2ZmYxYWNkMDYyZTE4MWIwMTI5M2JmNGRjYmM2MmNmMyIKKworUFlQSV9QQUNLQUdFID0gIlR3aXN0ZWQiCitQWVBJX1BBQ0tBR0VfRVhUID0gInRhci5iejIiCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIHJlbW92ZSBzb21lIHVzZWxlc3MgZmlsZXMgYmVmb3JlIHBhY2thZ2luZworICAgIGZpbmQgJHtEfSBcKCAtbmFtZSAiKi5iYXQiIC1vIC1uYW1lICIqLmMiIC1vIC1uYW1lICIqLmgiIFwpIC1leGVjIHJtIC1mIHt9IFw7Cit9CisKK1BBQ0tBR0VTICs9ICJcCisgICAgJHtQTn0tenNoIFwKKyAgICAke1BOfS10ZXN0IFwKKyAgICAke1BOfS1wcm90b2NvbHMgXAorICAgICR7UE59LWNvbmNoIFwKKyAgICAke1BOfS1sb3JlIFwKKyAgICAke1BOfS1tYWlsIFwKKyAgICAke1BOfS1uYW1lcyBcCisgICAgJHtQTn0tbmV3cyBcCisgICAgJHtQTn0tcnVubmVyIFwKKyAgICAke1BOfS13ZWIgXAorICAgICR7UE59LXdvcmRzIFwKKyAgICAke1BOfS1mbG93IFwKKyAgICAke1BOfS1wYWlyIFwKKyAgICAke1BOfS1jb3JlIFwKKyIKKworUEFDS0FHRVMgPSsgIlwKKyAgICAke1BOfS1zcmMgXAorICAgICR7UE59LWJpbiBcCisiCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICAke1BOfS1iaW4gXAorICAgICR7UE59LWNvbmNoIFwKKyAgICAke1BOfS1sb3JlIFwKKyAgICAke1BOfS1tYWlsIFwKKyAgICAke1BOfS1uYW1lcyBcCisgICAgJHtQTn0tbmV3cyBcCisgICAgJHtQTn0tcnVubmVyIFwKKyAgICAke1BOfS13ZWIgXAorICAgICR7UE59LXdvcmRzIFwKKyIKKworUkRFUEVORFNfJHtQTn0tY29yZSA9ICJweXRob24tY29yZSBweXRob24tem9wZWludGVyZmFjZSBweXRob24tY29udGV4dGxpYiIKK1JERVBFTkRTXyR7UE59LXRlc3QgPSAiJHtQTn0iCitSREVQRU5EU18ke1BOfS1jb25jaCA9ICIke1BOfS1jb3JlICR7UE59LXByb3RvY29scyIKK1JERVBFTkRTXyR7UE59LWxvcmUgPSAiJHtQTn0tY29yZSIKK1JERVBFTkRTXyR7UE59LW1haWwgPSAiJHtQTn0tY29yZSAke1BOfS1wcm90b2NvbHMiCitSREVQRU5EU18ke1BOfS1uYW1lcyA9ICIke1BOfS1jb3JlIgorUkRFUEVORFNfJHtQTn0tbmV3cyA9ICIke1BOfS1jb3JlICR7UE59LXByb3RvY29scyIKK1JERVBFTkRTXyR7UE59LXJ1bm5lciA9ICIke1BOfS1jb3JlICR7UE59LXByb3RvY29scyIKK1JERVBFTkRTXyR7UE59LXdlYiArPSAiJHtQTn0tY29yZSAke1BOfS1wcm90b2NvbHMiCitSREVQRU5EU18ke1BOfS13b3JkcyArPSAiJHtQTn0tY29yZSIKK1JERVBFTkRTXyR7UE59LWZsb3cgKz0gIiR7UE59LWNvcmUiCitSREVQRU5EU18ke1BOfS1wYWlyICs9ICIke1BOfS1jb3JlIgorUkRFUEVORFNfJHtQTn0tZGJnID0gIiR7UE59IgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorRklMRVNfJHtQTn0gPSAiIgorCitGSUxFU18ke1BOfS10ZXN0ID0gIiBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3Rlc3QgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qL3Rlc3QgXAorIgorCitGSUxFU18ke1BOfS1wcm90b2NvbHMgPSAiIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHJvdG9jb2xzLyoucHkqIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHJvdG9jb2xzL2dwcy8gXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wcm90b2NvbHMvbWljZS8gXAorIgorCitGSUxFU18ke1BOfS16c2ggPSAiIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3pzaCBcCisgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi96c2hjb21wLiogXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vdHdpc3RlZC1jb21wbGV0aW9uLnpzaCBcCisiCisKK0ZJTEVTXyR7UE59LWNvbmNoID0gIiBcCisgICAgJHtiaW5kaXJ9L2NrZXlnZW4gXAorICAgICR7YmluZGlyfS90a2NvbmNoIFwKKyAgICAke2JpbmRpcn0vY29uY2ggXAorICAgICR7YmluZGlyfS9jb25jaGZ0cCBcCisgICAgJHtiaW5kaXJ9L2NmdHAgXAorICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfY29uY2gucHkqIFwKKyAgICAke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvY29uY2ggIFwKKyIKKworRklMRVNfJHtQTn0tY29yZSA9ICIgXAorJHtiaW5kaXJ9L21hbmhvbGUgXAorJHtiaW5kaXJ9L21rdGFwIFwKKyR7YmluZGlyfS90d2lzdGQgXAorJHtiaW5kaXJ9L3RhcDJkZWIgXAorJHtiaW5kaXJ9L3RhcDJycG0gXAorJHtiaW5kaXJ9L3RhcGNvbnZlcnQgXAorJHtiaW5kaXJ9L3RrbWt0YXAgXAorJHtiaW5kaXJ9L3RyaWFsIFwKKyR7YmluZGlyfS9lYXN5X2luc3RhbGwqIFwKKyR7YmluZGlyfS9weWh0bWxpemVyIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vKi5zbyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvKi5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvX19pbml0X18ucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL25vdGVzdHBsdWdpbi5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdGVzdHBsdWdpbi5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9mdHAucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfaW5ldC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9tYW5ob2xlLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX3BvcnRmb3J3YXJkLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX3NvY2tzLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX3RlbG5ldC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF90cmlhbC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvZHJvcGluLmNhY2hlIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9hcHBsaWNhdGlvbiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvY3JlZCBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvZW50ZXJwcmlzZSBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvaW50ZXJuZXQgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL21hbmhvbGUgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL21hbmhvbGUgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BlcnNpc3RlZCBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHJvdG9jb2xzXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvblwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vdGltZW91dHF1ZXVlLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2ZpbGVwYXRoLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2R4cHJvZmlsZS5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9wbHVnaW4ucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vaHRtbGl6ZXIucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vX19pbml0X18ucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vZGlzcGF0Y2gucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vaG9vay5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi90aHJlYWRwb29sLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL290cC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi91c2FnZS5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9yb290cy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi92ZXJzaW9ucy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi91cmxwYXRoLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3V0aWwucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vY29tcG9uZW50cy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9sb2dmaWxlLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3J1bnRpbWUucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vcmVmbGVjdC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9jb250ZXh0LnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3RocmVhZGFibGUucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vcmVidWlsZC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9mYWlsdXJlLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2xvY2tmaWxlLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2Zvcm1tZXRob2QucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vZmluYWxpemUucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vd2luMzIucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vZGlzdC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9zaG9ydGN1dC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi96aXBzdHJlYW0ucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vcmVsZWFzZS5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi9zeXNsb2cucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vbG9nLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL2NvbXBhdC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi96c2hjb21wLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL3Byb2N1dGlscy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3B5dGhvbi90ZXh0LnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uL190d2lzdGVkX3pzaF9zdHViIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9zY3JpcHRzLyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvc3ByZWFkLyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvdGFwLyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvdHJpYWwvIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9fX2luaXRfXy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL192ZXJzaW9uLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvY29weXJpZ2h0LnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvaW0ucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcHl0aG9uLyoucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zLyoucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC90b3BmaWxlcyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL1R3aXN0ZWQqZWdnLWluZm8gXAorIgorCitGSUxFU18ke1BOfS1sb3JlID0gIiBcCiske2JpbmRpcn0vYm9va2lmeSBcCiske2JpbmRpcn0vbG9yZSBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX2xvcmUucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9sb3JlIFwKKyIKKworRklMRVNfJHtQTn0tbWFpbCA9ICIgXAorJHtiaW5kaXJ9L21haWxtYWlsIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfbWFpbC5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL21haWwgXAorIgorCitGSUxFU18ke1BOfS1uYW1lcyA9ICIgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9uYW1lcy5weSogXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL25hbWVzIFwKKyIKKworRklMRVNfJHtQTn0tbmV3cyA9ICIgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9uZXdzLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvbmV3cyBcCisiCisKK0ZJTEVTXyR7UE59LXJ1bm5lciA9ICIgXAorJHtsaWJkaXJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9ydW5uZXIvcG9ydG1hcC5zbyBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcnVubmVyXAorIgorCitGSUxFU18ke1BOfS13ZWIgPSAiIFwKKyR7YmluZGlyfS93ZWJzZXRyb290IFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfd2ViLnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvd2ViXAorIgorCitGSUxFU18ke1BOfS13b3JkcyA9ICIgXAorJHtiaW5kaXJ9L2ltIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wbHVnaW5zL3R3aXN0ZWRfd29yZHMucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC93b3Jkc1wKKyIKKworRklMRVNfJHtQTn0tZmxvdyA9ICIgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkL3BsdWdpbnMvdHdpc3RlZF9mbG93LnB5KiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvZmxvdyBcIgorCitGSUxFU18ke1BOfS1wYWlyID0gIiBcCiske2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvcGx1Z2lucy90d2lzdGVkX3BhaXIucHkqIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9wYWlyIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIgXAorJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkLyovLmRlYnVnIFwKKyR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qLyovLmRlYnVnIFwKKyIKKworUkRFUEVORFNfe1BOfS1zcmMgPSAiJHtQTn0iCitGSUxFU18ke1BOfS1zcmMgPSAiIFwKKwkke2xpYmRpcn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL3R3aXN0ZWQvKi5weSBcCisJJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkLyovKi5weSBcCisJJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkLyovKi8qLnB5IFwKKwkiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi11anNvbl8xLjM1LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdWpzb25fMS4zNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTIwN2YzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdWpzb25fMS4zNS5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZICA9ICJVbHRyYSBmYXN0IEpTT04gZW5jb2RlciBhbmQgZGVjb2RlciBmb3IgUHl0aG9uIgorREVTQ1JJUFRJT04gPSAiVWx0cmFKU09OIGlzIGFuIHVsdHJhIGZhc3QgSlNPTiBlbmNvZGVyIGFuZCBkZWNvZGVyIHdyaXR0ZW4gaW4gcHVyZSBDIHdpdGggYmluZGluZ3MgZm9yIFB5dGhvbiAyLjUrIGFuZCAzLiIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTztzdGFydGxpbmU9ODtlbmRsaW5lPTk7bWQ1PTRmMzY5YjNjM2MyOTBiNGFlZGU4Nzk2YTQwNjVlNWFiIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDJmNzdiMGNjZTY4NmRmYTRkYTJlNjg0ODBiMWRkMjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjY2MDczZTU1MDZlOTFkMjA0YWIwYzYxNGExNDhkNWFhOTM4YmRiZjEwNDc1MWJlNjZmOGFkN2EyMjJmNWY4NiIKKworUFlQSV9QQUNLQUdFID0gInVqc29uIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1udW1iZXJzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdXJsbGliM18xLjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdXJsbGliM18xLjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlMzA5OTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi11cmxsaWIzXzEuMTQuYmIKQEAgLTAsMCArMSwxMSBAQAorU1VNTUFSWSA9ICJQeXRob24gSFRUUCBsaWJyYXJ5IHdpdGggdGhyZWFkLXNhZmUgY29ubmVjdGlvbiBwb29saW5nLCBmaWxlIHBvc3Qgc3VwcG9ydCwgc2FuaXR5IGZyaWVuZGx5LCBhbmQgbW9yZSIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zaGF6b3cvdXJsbGliMyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTNiZTM3MDdjNWYyNGE2OTcwOTY4MjI2NWUyOTU2NmZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNWUxNDA3NDI4YWMzM2I1MjFjNzFhN2FjMjczYjM4NDciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZGQ0ZmIxM2E0Y2U1MGIxODMzOGM3ZTRkNjY1YjIxZmQzODYzMmM1ZDRiMWQ5ZjFhMTM3OTI3NmJkM2MwOGQzNyIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1uZXRjbGllbnQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi12Y3ZlcnNpb25lcl8yLjE0LjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXZjdmVyc2lvbmVyXzIuMTQuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4N2U1MGYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi12Y3ZlcnNpb25lcl8yLjE0LjAuMC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIlB5dGhvbiB2Y3ZlcnNpb25lciwgYXV0b21hZ2ljYWxseSB1cGRhdGUgdGhlIHByb2plY3QncyB2ZXJzaW9uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2hhYm5hYml0L3ZjdmVyc2lvbmVyIgorCitMSUNFTlNFID0gIklTQyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT0yNjA2MjVkNjk1YzVlMGM5ZGQyYzJlZjg5ODgzM2M3ZCIKKworU1JDX1VSSVttZDVzdW1dID0gIjc4NDhhMzY1Y2VkOTk0MTA1M2JjMjVkOWE5ZjhmNGI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFjZDQzNjg2ZTkyZTZjOGJiZWI0ZjJlZWY1NDQwODU2N2E3YWRlYTk2OTJmYTcyZDU5MWVlYzUzNTdjMDNiODYiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIGV4cG9ydCBCVUlMRF9TWVM9JHtCVUlMRF9TWVN9IEhPU1RfU1lTPSR7SE9TVF9TWVN9CisgICAgJHtQWVRIT059IHNldHVwLnB5IC1xIGJkaXN0X2VnZyAtLWRpc3QtZGlyIC4vCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3ZjdmVyc2lvbmVyKi5lZ2cgJHtEfS8ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi12aXNpdG9yXzAuMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdmlzaXRvcl8wLjEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTMwOTFlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdmlzaXRvcl8wLjEuMi5iYgpAQCAtMCwwICsxLDggQEAKK1NVTU1BUlkgPSAiQSB0aW55IHB5dGhvbmljIHZpc2l0b3IgaW1wbGVtZW50YXRpb24uIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTztiZWdpbmxpbmU9ODtlbmRsaW5lPTg7bWQ1PTgyMjcxODAxMjY3OTdhMDE0OGY5NGY0ODNmM2UxNDg5IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTk0NzFiNDRlNWQ0MjZiMGFkZjVkMjc2OTQ1OThiZTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDk0NDRmZmNhNTZhNDZhOTIwNzE5NDYwZDQ5NTJmOGM4OGY4ZmVmOTdmMWVhN2QyYjFmN2M1MGY2NzUwMjJiZCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXZvYmplY3RfMC44LjFjLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdm9iamVjdF8wLjguMWMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI4YzAyZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXZvYmplY3RfMC44LjFjLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiUHl0aG9uIHBhY2thZ2UgZm9yIHBhcnNpbmcgYW5kIGdlbmVyYXRpbmcgdkNhcmQgYW5kIHZDYWxlbmRhciBmaWxlcyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIiAKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIgCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLTIuMC50eHQ7bWQ1PTNiODNlZjk2Mzg3ZjE0NjU1ZmM4NTRkZGMzYzZiZDU3IgorSE9NRVBBR0UgPSAiaHR0cDovL3ZvYmplY3Quc2t5aG91c2Vjb25zdWx0aW5nLmNvbS8iIAorU1JDTkFNRSA9ICJ2b2JqZWN0IiAKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbiBweXRob24tZGF0ZXV0aWwiCitQUiA9ICJyNCIKKworU1JDX1VSSSA9ICJodHRwOi8vdm9iamVjdC5za3lob3VzZWNvbnN1bHRpbmcuY29tLyR7U1JDTkFNRX0tJHtQVn0udGFyLmd6IiAKK1MgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IiAKKworaW5oZXJpdCBzZXR1cHRvb2xzICAKKworU1JDX1VSSVttZDVzdW1dID0gImM5Njg2ZGQ3NGQzOWZkYWUxNDA4OTBkOWM2OTRjMDc2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU5NDExMzExN2YyMDE3ZWQ4MzdjOGYzY2U3Mjc2MTZmOTA1M2JhYTVhNTQ2M2E3NDIwYzgyNDliOGZjNTU2ZjUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13ZWJkYXZfMC4xLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13ZWJkYXZfMC4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E2NDM3ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlYmRhdl8wLjEuMi5iYgpAQCAtMCwwICsxLDE5IEBACitERVNDUklQVElPTiA9ICJUaGlzIHByb2plY3QgYWltcyB0byBwcm92aWRlIGFuIG9iamVjdC1vcmllbnRlZCBQeXRob24gV2ViREFWIGNsaWVudC1zaWRlIGxpYnJhcnlcCisgICAgICAgICAgICAgICBiYXNlZCBvbiBQeXRob25gcyBzdGFuZGFyZCBodHRwbGliIGFuZCBHcmVnIFN0ZWluYHMgZGF2bGliLlwKKyAgICAgICAgICAgICAgIFRoZSBjbGllbnQgc2hhbGwgZnVsbHkgc3VwcG9ydCBSRkNzIDQ5MTggKGJhc2ljIHNwZWNpZmljYXRpb24pLFwKKyAgICAgICAgICAgICAgIDM3NDQgKGFjY2VzcyBjb250cm9sKSwgYW5kIDMyNTMgKHZlcnNpb25pbmcpLiIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3JjL3dlYmRhdi9XZWJkYXZDbGllbnQucHk7ZW5kbGluZT0xNTttZDU9YTE1MjBmYWQ4NTlmZWI3YjBkN2YwNTI3N2JjNmNlNDgiCitIT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL3B5dGhvbndlYmRhdmxpYi8iCitTUkNOQU1FID0gIlB5dGhvbl9XZWJEQVZfTGlicmFyeSIKK0RFUEVORFMgPSAicHl0aG9uIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9weXRob253ZWJkYXZsaWIvUHl0aG9uJTIwV2ViREFWJTIwTGlicmFyeSUyMC0lMjAke1BWfS8ke1NSQ05BTUV9LSR7UFZ9LnppcCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4ZTQ5ZTBlY2M1YjQzMjdjNGY3NTJhNTQ0ZWUxMGUxYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3MmMwMjlhZDFlMjVkZTk1MGY1OWMyZjE4MTJkMDA5ZDJjMTY5MWI3MGU0YjViMDlmMWFmOTAwNmU4ZmQ1ZjIzIgorCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBkaXN0dXRpbHMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td2Vya3pldWcuaW5jIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td2Vya3pldWcuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNTQ0NjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13ZXJremV1Zy5pbmMKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJUaGUgU3dpc3MgQXJteSBrbmlmZSBvZiBQeXRob24gd2ViIGRldmVsb3BtZW50IgorREVTQ1JJUFRJT04gPSAiXAorV2Vya3pldWcgc3RhcnRlZCBhcyBzaW1wbGUgY29sbGVjdGlvbiBvZiB2YXJpb3VzIHV0aWxpdGllcyBmb3IgV1NHSSBcCithcHBsaWNhdGlvbnMgYW5kIGhhcyBiZWNvbWUgb25lIG9mIHRoZSBtb3N0IGFkdmFuY2VkIFdTR0kgdXRpbGl0eSBtb2R1bGVzLiBcCitJdCBpbmNsdWRlcyBhIHBvd2VyZnVsIGRlYnVnZ2VyLCBmdWxsIGZlYXR1cmVkIHJlcXVlc3QgYW5kIHJlc3BvbnNlIG9iamVjdHMsIFwKK0hUVFAgdXRpbGl0aWVzIHRvIGhhbmRsZSBlbnRpdHkgdGFncywgY2FjaGUgY29udHJvbCBoZWFkZXJzLCBIVFRQIGRhdGVzLCBcCitjb29raWUgaGFuZGxpbmcsIGZpbGUgdXBsb2FkcywgYSBwb3dlcmZ1bCBVUkwgcm91dGluZyBzeXN0ZW0gYW5kIGEgYnVuY2ggXAorb2YgY29tbXVuaXR5IGNvbnRyaWJ1dGVkIGFkZG9uIG1vZHVsZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3dlcmt6ZXVnLnBvY29vLm9yZy8iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWE2OGY1MzYxYTJiMmNhOWZkZjI2YjM4YWFlY2I2ZmFhIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGFmNDQzYTkzOTQ1OWUxMmYxNGZkMmU0NjU4YTI2ZGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWZkYjA0ZjE4M2VlZjNiMjA4MjdlYjQ1MjBkY2I3NWMxY2QxZjBiYTdhN2RlM2Y0NjNmZjdhNDYyZWVlODE2NCIKKworUFlQSV9QQUNLQUdFID0gIldlcmt6ZXVnIgorCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICBweXRob24tZGlmZmxpYiBcCisgICAgcHl0aG9uLWVtYWlsIFwKKyAgICBweXRob24taHRtbCBcCisgICAgcHl0aG9uLWpzb24gXAorICAgIHB5dGhvbi1uZXRzZXJ2ZXIgXAorICAgIHB5dGhvbi1udW1iZXJzIFwKKyAgICBweXRob24tcGtndXRpbCBcCisgICAgcHl0aG9uLXN1YnByb2Nlc3MgXAorICAgIHB5dGhvbi10aHJlYWRpbmcgXAorICAgIHB5dGhvbi11bml4YWRtaW4gXAorICAgIHB5dGhvbi16bGliIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlcmt6ZXVnXzAuMTEuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlcmt6ZXVnXzAuMTEuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDE0NjA4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td2Vya3pldWdfMC4xMS41LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXdlcmt6ZXVnLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td2hvb3NoLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdob29zaC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGEyY2YzYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdob29zaC5pbmMKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJGYXN0LCBwdXJlLVB5dGhvbiBmdWxsIHRleHQgaW5kZXhpbmcsIHNlYXJjaCwgYW5kIHNwZWxsIGNoZWNraW5nIGxpYnJhcnkuIgorREVTQ1JJUFRJT04gPSAiXAorV2hvb3NoIGlzIGEgZmFzdCwgZmVhdHVyZWZ1bCBmdWxsLXRleHQgaW5kZXhpbmcgYW5kIHNlYXJjaGluZyBsaWJyYXJ5IFwKK2ltcGxlbWVudGVkIGluIHB1cmUgUHl0aG9uLiBQcm9ncmFtbWVycyBjYW4gdXNlIGl0IHRvIGVhc2lseSBhZGQgc2VhcmNoIFwKK2Z1bmN0aW9uYWxpdHkgdG8gdGhlaXIgYXBwbGljYXRpb25zIGFuZCB3ZWJzaXRlcy4gRXZlcnkgcGFydCBvZiBob3cgXAorV2hvb3NoIHdvcmtzIGNhbiBiZSBleHRlbmRlZCBvciByZXBsYWNlZCB0byBtZWV0IHlvdXIgbmVlZHMgZXhhY3RseS4iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0wNTMwMzE4NmRlZmM2MTQxMTQzNjI5OTYxYzdjOGE2MCIKKworU1JDX1VSSVttZDVzdW1dID0gIjg5MzQzM2U5YzA1MjVhYzA0M2RmMzNlNmUwNGNhYWIyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUwODU3Mzc1ZjYzZTkwNDFlMDNmZWRkNWI3NTQxZjk3Y2Y3ODkxN2FjMWI2YjA2YzFmY2M5YjQ1Mzc1ZGRhNjkiCisKK1BZUElfUEFDS0FHRSA9ICJXaG9vc2giCitQWVBJX1BBQ0tBR0VfRVhUID0gInppcCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdob29zaF8yLjcuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdob29zaF8yLjcuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGRmMzYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24td2hvb3NoXzIuNy40LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXdob29zaC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXd0Zm9ybXNfMi4wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13dGZvcm1zXzIuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlNjA1ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13dGZvcm1zXzIuMC4yLmJiCkBAIC0wLDAgKzEsMTMgQEAKK0RFU0NSSVBUSU9OID0gIkEgZmxleGlibGUgZm9ybXMgdmFsaWRhdGlvbiBhbmQgcmVuZGVyaW5nIGxpYnJhcnkgZm9yIHB5dGhvbiB3ZWIgZGV2ZWxvcG1lbnQuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9XVEZvcm1zIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT1lOTM3N2Y1ZTRiZmFkODJiNDBlZDYzZjBmZDRkMWNjZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjYxM2NmNzIzYWI0MDUzNzcwNWJlYzAyNzMzYzc4ZDk1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwNzM3NzU4Y2VhZTAzYjUzMDIxZjNhYTdlODFiZmM4ZGQ2ZjY3OWM4NzlmZmViNWU2NGFjNjU3MGZhY2I2YzEiCisKK1BZUElfUEFDS0FHRSA9ICJXVEZvcm1zIgorUFlQSV9QQUNLQUdFX0VYVCA9ICJ6aXAiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi14bHJkLmluYyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXhscmQuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjMGQyNmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi14bHJkLmluYwpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIGRldmVsb3BlcnMgdG8gZXh0cmFjdCBkYXRhIGZyb20gTWljcm9zb2Z0IEV4Y2VsICh0bSkgc3ByZWFkc2hlZXQgZmlsZXMiCitERVNDUklQVElPTiA9ICJFeHRyYWN0IGRhdGEgZnJvbSBFeGNlbCBzcHJlYWRzaGVldHMgKC54bHMgYW5kIC54bHN4LFwKKyB2ZXJzaW9ucyAyLjAgb253YXJkcykgb24gYW55IHBsYXRmb3JtLiBQdXJlIFB5dGhvbiAoMi42LCAyLjcsIDMuMispLiBcCitTdHJvbmcgc3VwcG9ydCBmb3IgRXhjZWwgZGF0ZXMuIFVuaWNvZGUtYXdhcmUuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5weXRob24tZXhjZWwub3JnLyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8veGxyZC9saWNlbmNlcy5weTttZDU9YjU5ZGFjZTVjYzFkYjYwNGM0MjE5MTAwYjA0MjI4MTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MTE4MzlmNTM0ZDI5ZmUwNDUyNWVmOGNkODhmZTg2NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZThkMzM1OWYzOTU0MWE2ZmY5MzdmNDAzMGRiNTQ4NjQ4MzZhMDZlNDI5ODhjNDUyZGI1YjZiODZkMjllYTcyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24teGxyZF8wLjkuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXhscmRfMC45LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E0ZDcwOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXhscmRfMC45LjQuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29scworcmVxdWlyZSBweXRob24teGxyZC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXpvcGVpbnRlcmZhY2VfNC4xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi16b3BlaW50ZXJmYWNlXzQuMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1ZjhlMjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi16b3BlaW50ZXJmYWNlXzQuMS4xLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiSW50ZXJmYWNlIGRlZmluaXRpb25zIGZvciBab3BlIHByb2R1Y3RzIgorTElDRU5TRSA9ICJaUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87YmVnaW5saW5lPTg7ZW5kbGluZT04O21kNT1lNTRmZDc3NjI3NGMxYjc0MjNlYzEyODk3NGJkOWQ0NiIKKworU1JDX1VSSVttZDVzdW1dID0gImVkY2Q1ZjcxOWM1ZWIyZTE4ODk0YzRkMDZlMjliNmM2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkxY2JhN2I3Y2Q3Y2I4MmY2ZjRlMDIzZmU3N2Y5NGRjM2RmNGFlNTI4N2ZkNTVkZWYyMTQ4ZGMyMzJkMGM3ZGEiCisKK1BZUElfUEFDS0FHRSA9ICJ6b3BlLmludGVyZmFjZSIKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKK1JQUk9WSURFU18ke1BOfSArPSAiem9wZS1pbnRlcmZhY2VzIgorRklMRVNfJHtQTn0tZGJnICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qLmVnZy8qLyovLmRlYnVnIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS96b3BlL2ludGVyZmFjZS8qLmMiCitGSUxFU18ke1BOfS1kb2MgKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L3pvcGUvaW50ZXJmYWNlLyoudHh0IgorRklMRVNfJHtQTn0tdGVzdHMgPSAiIFwKKyAgICAgICAgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vem9wZS9pbnRlcmZhY2UvdGVzdHMgXAorICAgICAgICAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS96b3BlL2ludGVyZmFjZS9jb21tb24vdGVzdHMgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNlcnRpZmlfMjAxNi4yLjI4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNlcnRpZmlfMjAxNi4yLjI4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwZjY3NGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY2VydGlmaV8yMDE2LjIuMjguYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLWNlcnRpZmkuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3l0aG9uXzAuMjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3l0aG9uXzAuMjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNlNmJkYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1jeXRob25fMC4yNC5iYgpAQCAtMCwwICsxLDE4IEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1jeXRob24uaW5jCisKK1JERVBFTkRTXyR7UE59ICs9ICJcCisgICAgcHl0aG9uMy1zZXR1cHRvb2xzIFwKKyIKKworIyBydW5uaW5nIGJ1aWxkX2V4dCBhIHNlY29uZCB0aW1lIGR1cmluZyBpbnN0YWxsIGZhaWxzLCBiZWNhdXNlIFB5dGhvbgorIyB3b3VsZCB0aGVuIGF0dGVtcHQgdG8gaW1wb3J0IGN5dGhvbml6ZWQgbW9kdWxlcyBidWlsdCBmb3IgdGhlIHRhcmdldAorIyBhcmNoaXRlY3R1cmUuCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTICs9ICItLXNraXAtYnVpbGQiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgcmVuYW1lIHNjcmlwdHMgdGhhdCB3b3VsZCBjb25mbGljdCB3aXRoIHRoZSBQeXRob24gMiBidWlsZCBvZiBDeXRob24KKyAgICBtdiAke0R9JHtiaW5kaXJ9L2N5dGhvbiAke0R9JHtiaW5kaXJ9L2N5dGhvbjMKKyAgICBtdiAke0R9JHtiaW5kaXJ9L2N5dGhvbml6ZSAke0R9JHtiaW5kaXJ9L2N5dGhvbml6ZTMKKyAgICBtdiAke0R9JHtiaW5kaXJ9L2N5Z2RiICR7RH0ke2JpbmRpcn0vY3lnZGIzCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZGF0ZXV0aWxfMi41LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZGF0ZXV0aWxfMi41LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQyYmFmNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1kYXRldXRpbF8yLjUuMi5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLWRhdGV1dGlsLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWRlY29yYXRvcl80LjAuOS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1kZWNvcmF0b3JfNC4wLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQ0Y2JkYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1kZWNvcmF0b3JfNC4wLjkuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1kZWNvcmF0b3IuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmVlZGZvcm1hdHRlcl8wLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmVlZGZvcm1hdHRlcl8wLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTVhNTQwNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1mZWVkZm9ybWF0dGVyXzAuNC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLWZlZWRmb3JtYXR0ZXIuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmxhc2stbG9naW5fMC4yLjExLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWZsYXNrLWxvZ2luXzAuMi4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDIzZmUxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWZsYXNrLWxvZ2luXzAuMi4xMS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tZmxhc2stbG9naW4uaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmxhc2stcHltb25nb18wLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1mbGFzay1weW1vbmdvXzAuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxMDI1NTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmxhc2stcHltb25nb18wLjQuMC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tZmxhc2stcHltb25nby5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1mbGFza18wLjEwLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmxhc2tfMC4xMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkNDM5OTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZmxhc2tfMC4xMC4xLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1mbGFzay5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1pdHNkYW5nZXJvdXNfMC4yNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1pdHNkYW5nZXJvdXNfMC4yNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDMwODI1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWl0c2Rhbmdlcm91c18wLjI0LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1pdHNkYW5nZXJvdXMuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtamluamEyXzIuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1qaW5qYTJfMi44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxMTU2YjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtamluamEyXzIuOC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tamluamEyLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWx4bWxfMy42LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbHhtbF8zLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjRiYzdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWx4bWxfMy42LjAuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1seG1sLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW1hcmt1cHNhZmVfMC4yMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1tYXJrdXBzYWZlXzAuMjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzY1ZTNjOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1tYXJrdXBzYWZlXzAuMjMuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1tYXJrdXBzYWZlLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBhc3NsaWJfMS42LjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGFzc2xpYl8xLjYuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODE4MGEwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBhc3NsaWJfMS42LjUuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXBhc3NsaWIuaW5jClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5aW5vdGlmeV8wLjkuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWlub3RpZnlfMC45LjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNiYWI5OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWlub3RpZnlfMC45LjYuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1weWlub3RpZnkuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHltaXNwXzIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weW1pc3BfMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1MjNkOWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHltaXNwXzIuMy5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tcHltaXNwLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5bW9uZ29fMy4yLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHltb25nb18zLjIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTY0YjE4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5bW9uZ29fMy4yLjIuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXB5bW9uZ28uaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHlzZXJpYWxfMy4wLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHlzZXJpYWxfMy4wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdlZDNmOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weXNlcmlhbF8zLjAuMS5iYgpAQCAtMCwwICsxLDcgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXB5c2VyaWFsLmluYworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAtZiAke0R9JHtiaW5kaXJ9L21pbml0ZXJtLnB5CisgICAgcm1kaXIgJHtEfSR7YmluZGlyfQorfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlZGlzXzIuMTAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1yZWRpc18yLjEwLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE5MmVkOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1yZWRpc18yLjEwLjUuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXJlZGlzLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzXzIuOS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzXzIuOS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1MjIwZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcmVxdWVzdHNfMi45LjEuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXJlcXVlc3RzLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjEwLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc2l4XzEuMTAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Zjc2MTU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjEwLjAuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXNpeC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10b3JuYWRvXzQuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10b3JuYWRvXzQuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWNjMWYwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRvcm5hZG9fNC4zLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi10b3JuYWRvLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXdlcmt6ZXVnXzAuMTEuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy13ZXJremV1Z18wLjExLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWYyZDg2YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy13ZXJremV1Z18wLjExLjUuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXdlcmt6ZXVnLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXdob29zaF8yLjcuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy13aG9vc2hfMi43LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ4YWYzMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy13aG9vc2hfMi43LjQuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXdob29zaC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy14bHJkXzAuOS40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXhscmRfMC45LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdiZDk2OQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy14bHJkXzAuOS40LmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi14bHJkLmluYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weXBhcnRlZC9weXRob24tcHlwYXJ0ZWQvMDAwMS1maXgtdmVyc2lvbi1mbG9hdC1jaGVjay5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlwYXJ0ZWQvcHl0aG9uLXB5cGFydGVkLzAwMDEtZml4LXZlcnNpb24tZmxvYXQtY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGIzYWI5ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlwYXJ0ZWQvcHl0aG9uLXB5cGFydGVkLzAwMDEtZml4LXZlcnNpb24tZmxvYXQtY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorY2hlY2tfbW9kX3ZlcnNpb24gYnJlYWtzIGlmIG1vZHVsZSB2ZXJzaW9uIGlzIG9mIHgueS56IGZvcm0KK3VzZSBhIHJlZ2V4IHRvIGhlbHAgY2FzdCB4LnkueiB2ZXJzaW9uIHRvIGEgZmxvYXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0luZGV4OiBnaXQvc2V0dXAucHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9zZXR1cC5weQorKysrIGdpdC9zZXR1cC5weQorQEAgLTI1LDYgKzI1LDcgQEAgaW1wb3J0IGdsb2IKKyBpbXBvcnQgb3MKKyBpbXBvcnQgcGxhdGZvcm0KKyBpbXBvcnQgc3lzCisraW1wb3J0IHJlCisgZnJvbSBkaXN0dXRpbHMuY2NvbXBpbGVyIGltcG9ydCBuZXdfY29tcGlsZXIKKyBmcm9tIGRpc3R1dGlscy5lcnJvcnMgaW1wb3J0IENvbXBpbGVFcnJvcgorIGZyb20gZGlzdHV0aWxzLmVycm9ycyBpbXBvcnQgTGlua0Vycm9yCitAQCAtNTEsNiArNTIsOCBAQCBkZWYgcGtnY29uZmlnKCpwYWNrYWdlcywgKiprd2FyZ3MpOgorIAorIGRlZiBjaGVja19tb2RfdmVyc2lvbihtb2R1bGUsIHZlcnNpb24pOgorICAgICBtb2R2ZXJzaW9uID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJwa2ctY29uZmlnIiwgIi0tbW9kdmVyc2lvbiIsIG1vZHVsZV0pCisrICAgIG1hdGNoID0gcmUuc2VhcmNoKCcoWzAtOV0rXC5bMC05XSspJywgbW9kdmVyc2lvbikKKysgICAgbW9kdmVyc2lvbiA9IG1hdGNoLmdyb3VwKDApCisgICAgIGlmIG5vdCBmbG9hdChtb2R2ZXJzaW9uKSA+PSBmbG9hdCh2ZXJzaW9uKToKKyAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIioqKiBNaW5pbXVtIHJlcXVpcmVkICVzIHZlcnNpb246ICVzLCBmb3VuZDogJXNcbiIgJSAobW9kdWxlLCB2ZXJzaW9uLCBtb2R2ZXJzaW9uLCkpCisgICAgICAgICBzeXMuZXhpdCgxKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weXBhcnRlZC9weXRob24tcHlwYXJ0ZWRfMy4xMC43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weXBhcnRlZC9weXRob24tcHlwYXJ0ZWRfMy4xMC43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxMmM0YjkKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLXB5cGFydGVkL3B5dGhvbi1weXBhcnRlZF8zLjEwLjcuYmIKQEAgLTAsMCArMSwyNyBAQAorREVTQ1JJUFRJT04gPSAicHlwYXJ0ZWQgaXMgYSBzZXQgb2YgUHl0aG9uIG1vZHVsZXMgdGhhdCBwcm92aWRlIFB5dGhvbiBwcm9ncmFtbWVycyBcCithbiBpbnRlcmZhY2UgdG8gbGlicGFydGVkLCB0aGUgR05VIHBhcnRlZCBsaWJyYXJ5IGZvciBkaXNrIHBhcnRpdGlvbmluZyBhbmQgXAorZmlsZXN5c3RlbSBtYW5pcHVsYXRpb24uIgorU1VNTUFSWSA9ICJQeXRob24gYmluZGluZ3MgZm9yIGxpYnBhcnRlZCIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9weXBhcnRlZCIKK0xJQ0VOU0UgPSAiR1BMLTIuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gIlwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIgXAorICAgIGZpbGU6Ly9zcmMvX3BlZG1vZHVsZS5jO3N0YXJ0bGluZT0xMDtlbmRsaW5lPTIyO21kNT1lYmNiMjVkZGUxYWM5YzQ2ZTk4NmRlYzc5YjQwNGU3ZSBcCisiCitERVBFTkRTICs9ICJwYXJ0ZWQgcHl0aG9uLXJlIgorCitQViA9ICIzLjEwLjcrZ2l0JHtTUkNQVn0iCisKKyMgdXBzdHJlYW0gb25seSBwdWJsaXNoZXMgcmVsZWFzZXMgaW4gZ2l0aHViIGFyY2hpdmVzIHdoaWNoIGFyZSBkaXNjb3VyYWdlZAorU1JDUkVWID0gIjY5YzRhNDc4ZTQzZDNlZmY2YWUzYTAxMTZmYTM4ZGEwNjc3NmQ1ZjUiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvcHlwYXJ0ZWQuZ2l0O3Byb3RvY29sPWh0dHBzIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LXZlcnNpb24tZmxvYXQtY2hlY2sucGF0Y2ggXAorIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBkaXN0dXRpbHMKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1zdHJpbmdvbGQgcHl0aG9uLWNvZGVjcyBweXRob24tbWF0aCBwYXJ0ZWQgKD49IDIuMykiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorCitCQkNMQVNTRVhURU5EICs9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9DT1BZSU5HLk1JVCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L0NPUFlJTkcuTUlUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiOTUwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9DT1BZSU5HLk1JVApAQCAtMCwwICsxLDE3IEBACitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IAorb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgCitpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIAordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCAKK2NvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyAKK2Z1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIAorYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIAorSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIAorRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIAorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiAKK0xJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIAorT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiAKK1RIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L1JFQURNRSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2ZkZGU5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXJ1YnkvUkVBRE1FCkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CiticmFuY2g6IGtyb2dvdGgKK3JldmlzaW9uOiBIRUFECisKK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1ydWJ5XVtrcm9nb3RoXScgaW4gdGhlIHN1YmplY3QnCisKK1doZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzaW5nIHNvbWV0aGluZyBsaWtlOgorJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLXJ1YnldW2tyb2dvdGhdW1BBVENIJworCitrcm9nb3RoIEJyYW5jaCBNYWludGFpbmVyOgorQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L2NsYXNzZXMvcnVieS5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXJ1YnkvY2xhc3Nlcy9ydWJ5LmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY4NDRmMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L2NsYXNzZXMvcnVieS5iYmNsYXNzCkBAIC0wLDAgKzEsMTMxIEBACitCUFYgPz0gIiR7UFZ9IgorCitERVBFTkRTICs9ICIgXAorICAgIHJ1YnktbmF0aXZlIFwKKyIKK1JERVBFTkRTXyR7UE59ICs9ICIgXAorICAgIHJ1YnkgXAorIgorCitkZWYgZ2V0X3J1Ynl2ZXJzaW9uKHApOgorICAgIGltcG9ydCByZQorICAgIGZyb20gb3MucGF0aCBpbXBvcnQgaXNmaWxlCisgICAgaW1wb3J0IHN1YnByb2Nlc3MKKyAgICBmb3VuZF92ZXJzaW9uID0gIlNPTUVUSElORyBGQUlMRUQhIgorCisgICAgY21kID0gIiVzL3J1YnkiICUgcAorCisgICAgaWYgbm90IGlzZmlsZShjbWQpOgorICAgICAgIHJldHVybiBmb3VuZF92ZXJzaW9uCisKKyAgICB2ZXJzaW9uID0gc3VicHJvY2Vzcy5Qb3BlbihbY21kLCAiLS12ZXJzaW9uIl0sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpLmNvbW11bmljYXRlKClbMF0KKyAgICAKKyAgICByID0gcmUuY29tcGlsZSgicnVieSAoWzAtOV0rXC5bMC05XStcLlswLTldKykqIikKKyAgICBtID0gci5tYXRjaCh2ZXJzaW9uKQorICAgIGlmIG06CisgICAgICAgIGZvdW5kX3ZlcnNpb24gPSBtLmdyb3VwKDEpCisKKyAgICByZXR1cm4gZm91bmRfdmVyc2lvbgorCitkZWYgZ2V0X3J1YnlnZW1zbG9jYXRpb24ocCk6CisgICAgaW1wb3J0IHJlCisgICAgZnJvbSBvcy5wYXRoIGltcG9ydCBpc2ZpbGUKKyAgICBpbXBvcnQgc3VicHJvY2VzcworICAgIGZvdW5kX2xvYyA9ICJTT01FVEhJTkcgRkFJTEVEISIKKworICAgIGNtZCA9ICIlcy9nZW0iICUgcAorCisgICAgaWYgbm90IGlzZmlsZShjbWQpOgorICAgICAgIHJldHVybiBmb3VuZF9sb2MKKworICAgIGxvYyA9IHN1YnByb2Nlc3MuUG9wZW4oW2NtZCwgImVudiJdLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKS5jb21tdW5pY2F0ZSgpWzBdCisKKyAgICByID0gcmUuY29tcGlsZSgiLipcLSAoL3Vzci4qL3J1YnkvZ2Vtcy8uKikiKQorICAgIGZvciBsaW5lIGluIGxvYy5zcGxpdCgnXG4nKToKKyAgICAgICAgbSA9IHIubWF0Y2gobGluZSkKKyAgICAgICAgaWYgbToKKyAgICAgICAgICAgIGZvdW5kX2xvYyA9IG0uZ3JvdXAoMSkKKyAgICAgICAgICAgIGJyZWFrCisKKyAgICByZXR1cm4gZm91bmRfbG9jCisKK2RlZiBnZXRfcnVieWdlbXN2ZXJzaW9uKHApOgorICAgIGltcG9ydCByZQorICAgIGZyb20gb3MucGF0aCBpbXBvcnQgaXNmaWxlCisgICAgaW1wb3J0IHN1YnByb2Nlc3MKKyAgICBmb3VuZF92ZXJzaW9uID0gIlNPTUVUSElORyBGQUlMRUQhIgorCisgICAgY21kID0gIiVzL2dlbSIgJSBwCisKKyAgICBpZiBub3QgaXNmaWxlKGNtZCk6CisgICAgICAgcmV0dXJuIGZvdW5kX3ZlcnNpb24KKworICAgIHZlcnNpb24gPSBzdWJwcm9jZXNzLlBvcGVuKFtjbWQsICJlbnYiLCAiZ2VtZGlyIl0sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpLmNvbW11bmljYXRlKClbMF0KKyAgICAKKyAgICByID0gcmUuY29tcGlsZSgiLiooWzAtOV0rXC5bMC05XStcLlswLTldKykkIikKKyAgICBtID0gci5tYXRjaCh2ZXJzaW9uKQorICAgIGlmIG06CisgICAgICAgIGZvdW5kX3ZlcnNpb24gPSBtLmdyb3VwKDEpCisKKyAgICByZXR1cm4gZm91bmRfdmVyc2lvbgorCitSVUJZX1ZFUlNJT04gPz0gIiR7QGdldF9ydWJ5dmVyc2lvbigiJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9Iil9IgorUlVCWV9HRU1fRElSRUNUT1JZID89ICIke0BnZXRfcnVieWdlbXNsb2NhdGlvbigiJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9Iil9IgorUlVCWV9HRU1fVkVSU0lPTiA/PSAiJHtAZ2V0X3J1YnlnZW1zdmVyc2lvbigiJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9Iil9IgorCitleHBvcnQgR0VNX0hPTUUgPSAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9saWIvcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0iCisKK1JVQllfQlVJTERfR0VNUyA/PSAiJHtCUE59LmdlbXNwZWMiCitSVUJZX0lOU1RBTExfR0VNUyA/PSAiJHtCUE59LSR7QlBWfS5nZW0iCisKK1JVQllfQ09NUElMRV9GTEFHUyA/PSAnTEFORz0iZW5fVVMuVVRGLTgiIExDX0FMTD0iZW5fVVMuVVRGLTgiJworCitydWJ5X2RvX2NvbXBpbGUoKSB7CisJZm9yIGdlbSBpbiAke1JVQllfQlVJTERfR0VNU307IGRvCisJCSR7UlVCWV9DT01QSUxFX0ZMQUdTfSBnZW0gYnVpbGQgJGdlbQorCWRvbmUKK30KKworCitydWJ5X2RvX2luc3RhbGwoKSB7CisJZm9yIGdlbSBpbiAke1JVQllfSU5TVEFMTF9HRU1TfTsgZG8KKwkJZ2VtIGluc3RhbGwgLS1pZ25vcmUtZGVwZW5kZW5jaWVzIC0tbG9jYWwgLS1lbnYtc2hlYmFuZyAtLWluc3RhbGwtZGlyICR7RH0vJHtsaWJkaXJ9L3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059LyAkZ2VtCisJZG9uZQorCisJIyBjcmVhdGUgc3ltbGluayBmcm9tIHRoZSBnZW1zIGJpbiBkaXJlY3RvcnkgdG8gL3Vzci9iaW4KKwlmb3IgaSBpbiAke0R9LyR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9iaW4vKjsgZG8KKwkJaWYgWyAtZSAiJGkiIF07IHRoZW4KKwkJCWlmIFsgISAtZCAke0R9LyR7YmluZGlyfSBdOyB0aGVuIG1rZGlyIC1wICR7RH0vJHtiaW5kaXJ9OyBmaQorCQkJYj1gYmFzZW5hbWUgJGlgCisJCQlsbiAtc2YgJHtsaWJkaXJ9L3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059L2Jpbi8kYiAke0R9LyR7YmluZGlyfS8kYgorCQlmaQorCWRvbmUKK30KKworRVhQT1JUX0ZVTkNUSU9OUyBkb19jb21waWxlIGRvX2luc3RhbGwKKworUEFDS0FHRVMgPSAiJHtQTn0tZGJnICR7UE59ICR7UE59LWRvYyAke1BOfS1kZXYiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiIFwKKyAgICAgICAgJHtsaWJkaXJ9L3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059L2dlbXMvKi8qLy5kZWJ1ZyBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9nZW1zLyovKi8qLy5kZWJ1ZyBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9nZW1zLyovKi8qLyovLmRlYnVnIFwKKyAgICAgICAgJHtsaWJkaXJ9L3J1YnkvZ2Vtcy8ke1JVQllfR0VNX1ZFUlNJT059L2dlbXMvKi8qLyovKi8qLy5kZWJ1ZyBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9leHRlbnNpb25zLyovKi8uZGVidWcgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vZXh0ZW5zaW9ucy8qLyovKi8uZGVidWcgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vZXh0ZW5zaW9ucy8qLyovKi8qLy5kZWJ1ZyBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9leHRlbnNpb25zLyovKi8qLyovKi8uZGVidWcgXAorICAgICAgICAiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vZ2VtcyBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9jYWNoZSBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9iaW4gXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vc3BlY2lmaWNhdGlvbnMgXAorICAgICAgICAke2xpYmRpcn0vcnVieS9nZW1zLyR7UlVCWV9HRU1fVkVSU0lPTn0vYnVpbGRfaW5mbyBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9leHRlbnNpb25zIFwKKyAgICAgICAgIgorCitGSUxFU18ke1BOfS1kb2MgKz0gIiBcCisgICAgICAgICR7bGliZGlyfS9ydWJ5L2dlbXMvJHtSVUJZX0dFTV9WRVJTSU9OfS9kb2MgXAorICAgICAgICAiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9jb25mL2xheWVyLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9jb25mL2xheWVyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjUyNmE1ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L2NvbmYvbGF5ZXIuY29uZgpAQCAtMCwwICsxLDE1IEBACisjIFdlIGhhdmUgYSBjb25mIGFuZCBjbGFzc2VzIGRpcmVjdG9yeSwgYXBwZW5kIHRvIEJCUEFUSCAKK0JCUEFUSCAuPSAiOiR7TEFZRVJESVJ9IgorCisjIFdlIGhhdmUgYSByZWNpcGVzIGRpcmVjdG9yeSwgYWRkIHRvIEJCRklMRVMKK0JCRklMRVMgKz0gIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKKworQkJGSUxFX0NPTExFQ1RJT05TICs9ICJydWJ5LWxheWVyIgorQkJGSUxFX1BBVFRFUk5fcnVieS1sYXllciA6PSAiXiR7TEFZRVJESVJ9LyIKK0JCRklMRV9QUklPUklUWV9ydWJ5LWxheWVyID0gIjciCisKKyMgVGhpcyBzaG91bGQgb25seSBiZSBpbmNyZW1lbnRlZCBvbiBzaWduaWZpY2FudCBjaGFuZ2VzIHRoYXQgd2lsbAorIyBjYXVzZSBjb21wYXRpYmlsaXR5IGlzc3VlcyB3aXRoIG90aGVyIGxheWVycworTEFZRVJWRVJTSU9OX3J1YnktbGF5ZXIgPSAiMSIKKworTEFZRVJERVBFTkRTX3J1YnktbGF5ZXIgPSAiY29yZSBvcGVuZW1iZWRkZWQtbGF5ZXIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvYnVuZGxlcl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcnVieS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvYnVuZGxlcl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzFlNzJlNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1ydWJ5L3JlY2lwZXMtZGV2dG9vbHMvcnVieS9idW5kbGVyX2dpdC5iYgpAQCAtMCwwICsxLDMxIEBACitTVU1NQVJZID0gIk1ha2VzIHN1cmUgUnVieSBhcHBsaWNhdGlvbnMgcnVuIHRoZSBzYW1lIGNvZGUgb24gZXZlcnkgbWFjaGluZS4iCitERVNDUklQVElPTiA9ICJCdW5kbGVyIG1ha2VzIHN1cmUgUnVieSBhcHBsaWNhdGlvbnMgcnVuIHRoZSBzYW1lIGNvZGUgXAorb24gZXZlcnkgbWFjaGluZS4gSXQgZG9lcyB0aGlzIGJ5IG1hbmFnaW5nIHRoZSBnZW1zIHRoYXQgdGhlIFwKK2FwcGxpY2F0aW9uIGRlcGVuZHMgb24uIEdpdmVuIGEgbGlzdCBvZiBnZW1zLCBpdCBjYW4gYXV0b21hdGljYWxseSBcCitkb3dubG9hZCBhbmQgaW5zdGFsbCB0aG9zZSBnZW1zLCBhcyB3ZWxsIGFzIGFueSBvdGhlciBnZW1zIG5lZWRlZCBieSBcCit0aGUgZ2VtcyB0aGF0IGFyZSBsaXN0ZWQuIEJlZm9yZSBpbnN0YWxsaW5nIGdlbXMsIGl0IGNoZWNrcyB0aGUgXAordmVyc2lvbnMgb2YgZXZlcnkgZ2VtIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZXkgYXJlIGNvbXBhdGlibGUsIGFuZCBjYW4gXAorYWxsIGJlIGxvYWRlZCBhdCB0aGUgc2FtZSB0aW1lLiBBZnRlciB0aGUgZ2VtcyBoYXZlIGJlZW4gaW5zdGFsbGVkLCBcCitCdW5kbGVyIGNhbiBoZWxwIHlvdSB1cGRhdGUgc29tZSBvciBhbGwgb2YgdGhlbSB3aGVuIG5ldyB2ZXJzaW9ucyBcCitiZWNvbWUgYXZhaWxhYmxlLiBGaW5hbGx5LCBpdCByZWNvcmRzIHRoZSBleGFjdCB2ZXJzaW9ucyB0aGF0IGhhdmUgXAorYmVlbiBpbnN0YWxsZWQsIHNvIHRoYXQgb3RoZXJzIGNhbiBpbnN0YWxsIHRoZSBleGFjdCBzYW1lIGdlbXMuIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UubWQ7bWQ1PTE5NmJiOTYzZTYwMTYwOTgxN2Q3ZTlhYzlhNjRhODY3IgorCitTUkNSRVYgPSAiMDZkYzg0NzJiOTE0MmZkNmFhZWZmZjc4MGQ2ZDI1MmMyMGRjMmEwNCIKKworQlJBTkNIID0gIjEtOS1zdGFibGUiCitQViA9ICIxLjkuNCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworU1JDX1VSSSA9ICIgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vYnVuZGxlci9idW5kbGVyLmdpdDticmFuY2g9JHtCUkFOQ0h9IFwKKyAgICAiCisKK2luaGVyaXQgcnVieQorCitSREVQRU5EU18ke1BOfSA9ICJnaXQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvUkVBRE1FIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzOWUyMzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9SRUFETUUKQEAgLTAsMCArMSwyNiBAQAorVGhpcyBsYXllciBkZXBlbmRzIG9uOgorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0CiticmFuY2g6IGtyb2dvdGgKK3JldmlzaW9uOiBIRUFECisKK0FuZCB3ZSdyZSB3b3JraW5nIHRvIGJyZWFrIHRoZSBkZXBlbmRlbmN5IG9uIHRoaXMgb25lOgorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CiticmFuY2g6IGtyb2dvdGgKK3JldmlzaW9uOiBIRUFECisKK1RvIG1ha2UgQkJNQVNLJ2luZyBwZXIgbGF5ZXIgcG9zc2libGUgdGhlIGZvbGxvd2luZyBkaXJlY3Rvcnkgc3RydWN0dXJlIGlzCit1c2VkOgorCiskW0xBWUVSRElSfS88bGF5ZXIgbmFtZT4vcmVjaXBlcy08Z3JvdXAtbmFtZT4vPHJlY2lwZS1uYW1lPi88cmVjaXBlLW5hbWU+LmJiYXBwZW5kCisKK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1vZV1bbWV0YS1zeXN0ZW1kXVtrcm9nb3RoXScgaW4gdGhlIHN1YmplY3QnCisKK1doZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzZSBzb21ldGhpbmcgbGlrZToKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1vZV1bbWV0YS1zeXN0ZW1kXVtrcm9nb3RoXVtQQVRDSCcKKworWW91IGFyZSBlbmNvdXJhZ2VkIHRvIGZvcmsgdGhlIG1pcnJvciBvbiBnaXRodWIgaHR0cHM6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLyB0byBzaGFyZSB5b3VyIHBhdGNoZXMsIHRoaXMgaXMgcHJlZmVycmVkIGZvciBwYXRjaCBzZXRzIGNvbnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBwYXRjaC4gT3RoZXIgc2VydmljZXMgbGlrZSBnaXRvcmlvdXMsIHJlcG8ub3IuY3ogb3Igc2VsZiBob3N0ZWQgc2V0dXBzIGFyZSBvZiBjb3Vyc2UgYWNjZXB0ZWQgYXMgd2VsbCwgJ2dpdCBmZXRjaCA8cmVtb3RlPicgd29ya3MgdGhlIHNhbWUgb24gYWxsIG9mIHRoZW0uIFdlIHJlY29tbWVuZCBnaXRodWIgYmVjYXVzZSBpdCBpcyBmcmVlLCBlYXN5IHRvIHVzZSwgaGFzIGJlZW4gcHJvdmVuIHRvIGJlIHJlbGlhYmxlIGFuZCBoYXMgYSByZWFsbHkgZ29vZCB3ZWIgR1VJLgorCitrcm9nb3RoIEJyYW5jaCBNYWludGFpbmVyOgorQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL2NvbmYvbGF5ZXIuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTYzZjQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvY29uZi9sYXllci5jb25mCkBAIC0wLDAgKzEsMzIgQEAKKyMgSXQgcmVhbGx5IGRlcGVuZHMgb24gb3JkZXIgb2YgdGhlIGxheWVycyBhcHBlYXJpbmcgaW4gQkJMQVlFUlMKKyMgdmFyaWFibGUgaW4gdG9wbGV2ZWwgYmJsYXllcnMuY29uZiBmaWxlLCB3aGVyZSBiaXRiYWtlIHdpbGwgc2VhcmNoCisjIGZvciAuaW5jIGZpbGVzIGFuZCBvdGhlcnMgd2hlcmUgYml0YmFrZSB1c2VzIEJCUEFUSCBzaW5jZSBpdCB3aWxsCisjIHNlYXJjaCB0aGUgZGlyZWN0b3JpZXMgZnJvbSBmaXJzdCB0byBsYXN0IGFzIHNwZWNpZmllZCBpbiBCQlBBVEgKKyMgVGhlcmVmb3JlIGlmIHlvdSB3YW50IGEgZ2l2ZW4gbGF5ZXIgdG8gYmUgY29uc2lkZXJlZCBoaWdoIHByaW9yaXR5CisjIGZvciB0aGUgLmluYyBhbmQgLmNvbmYgZXRjLiB0aGVuIGNvbnNpZGVyIGl0IGFkZGluZyBhdCB0aGUgYmVnaW5uaW5nCisjIG9mIEJCUEFUSC4gRm9yIGJibGF5ZXJzIGJpdGJha2Ugd2lsbCB1c2UgQkJGSUxFU19QUklPUklUWSB0byByZXNvbHZlCisjIHRoZSByZWNpcGUgY29udGVudGlvbiBzbyB0aGUgb3JkZXIgb2YgZGlyZWN0b3JpZXMgaW4gQkJGSUxFUyBkb2VzIAorIyBub3QgbWF0dGVyLgorCisjIFdlIGhhdmUgYSBjb25mIGFuZCBjbGFzc2VzIGRpcmVjdG9yeSwgYXBwZW5kIHRvIEJCUEFUSAorQkJQQVRIIC49ICI6JHtMQVlFUkRJUn0iCisKKyMgV2UgaGF2ZSBhIHJlY2lwZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJGSUxFUworQkJGSUxFUyArPSAiXAorICAke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiIFwKKyAgJHtMQVlFUkRJUn0vb2UtY29yZS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIFwKKyIKKworQkJGSUxFX0NPTExFQ1RJT05TICs9ICJzeXN0ZW1kLWxheWVyIgorQkJGSUxFX1BBVFRFUk5fc3lzdGVtZC1sYXllciA6PSAiXiR7TEFZRVJESVJ9LyIKKworIyBEZWZpbmUgdGhlIHByaW9yaXR5IGZvciByZWNpcGVzICguYmIgZmlsZXMpIGZyb20gdGhpcyBsYXllciwKKyMgY2hvb3NpbmcgY2FyZWZ1bGx5IGhvdyB0aGlzIGxheWVyIGludGVyYWN0cyB3aXRoIGFsbCBvZiB0aGUKKyMgb3RoZXIgbGF5ZXJzLgorCitCQkZJTEVfUFJJT1JJVFlfc3lzdGVtZC1sYXllciA9ICI3IgorCitTSUdHRU5fRVhDTFVERVJFQ0lQRVNfQUJJU0FGRSArPSAiIFwKKyAgc3lzdGVtZC1zZXJpYWxnZXR0eSBcCisiCitMQVlFUkRFUEVORFNfc3lzdGVtZC1sYXllciA9ICJjb3JlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWJzcC9rZXltYXBzL2tleW1hcHNfMS4wLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWJzcC9rZXltYXBzL2tleW1hcHNfMS4wLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4MWI4NzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtYnNwL2tleW1hcHMva2V5bWFwc18xLjAuYmJhcHBlbmQKQEAgLTAsMCArMSw0IEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2F2YWhpL2F2YWhpXyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2F2YWhpL2F2YWhpXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgxYjg3OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvYXZhaGkvYXZhaGlfJS5iYmFwcGVuZApAQCAtMCwwICsxLDQgQEAKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuXyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbl8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMDZiM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbl8lLmJiYXBwZW5kCkBAIC0wLDAgKzEsMyBAQAorUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcC9kaGNwL2RoY2xpZW50LnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC9kaGNsaWVudC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NjIwY2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC9kaGNsaWVudC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTMgQEAKK1tVbml0XQorRGVzY3JpcHRpb249RHluYW1pYyBIb3N0IENvbmZpZ3VyYXRpb24gUHJvdG9jb2wgKERIQ1ApCitBZnRlcj1zeXNsb2cudGFyZ2V0IG5ldHdvcmsudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitQSURGaWxlPS92YXIvcnVuL2RoY2xpZW50LnBpZAorRW52aXJvbm1lbnRGaWxlPS0vZXRjL2RlZmF1bHQvZGhjcC1jbGllbnQKK0V4ZWNTdGFydD0vc2Jpbi9kaGNsaWVudCAtY2YgL2V0Yy9kaGNwL2RoY2xpZW50LmNvbmYgLXEgLWxmIC92YXIvbGliL2RoY3AvZGhjbGllbnQubGVhc2VzICRJTlRFUkZBQ0VTCisKK1tJbnN0YWxsXQorV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3BfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcC9kaGNwXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTRkN2JkNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcC9kaGNwXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwyNCBAQAorIyBsb29rIGZvciBmaWxlcyBpbiB0aGUgbGF5ZXIgZmlyc3QKK0ZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke1RISVNESVJ9LyR7UE59OiIKKworU1lTVEVNRF9QQUNLQUdFUyArPSAiZGhjcC1jbGllbnQiCitTWVNURU1EX1NFUlZJQ0VfZGhjcC1jbGllbnQgPSAiZGhjbGllbnQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEVfZGhjcC1jbGllbnQgPSAiZGlzYWJsZSIKKworRklMRVNfJHtQTn0tY2xpZW50ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2RoY2xpZW50LnNlcnZpY2UiCitSUFJPVklERVNfZGhjcC1zZXJ2ZXIgKz0gImRoY3Atc2VydmVyLXN5c3RlbWQiCitSUkVQTEFDRVNfZGhjcC1zZXJ2ZXIgKz0gImRoY3Atc2VydmVyLXN5c3RlbWQiCitSQ09ORkxJQ1RTX2RoY3Atc2VydmVyICs9ICJkaGNwLXNlcnZlci1zeXN0ZW1kIgorUlBST1ZJREVTX2RoY3AtcmVsYXkgKz0gImRoY3AtcmVsYXktc3lzdGVtZCIKK1JSRVBMQUNFU19kaGNwLXJlbGF5ICs9ICJkaGNwLXJlbGF5LXN5c3RlbWQiCitSQ09ORkxJQ1RTX2RoY3AtcmVsYXkgKz0gImRoY3AtcmVsYXktc3lzdGVtZCIKK1JQUk9WSURFU18ke1BOfS1jbGllbnQgKz0gImRoY3AtY2xpZW50LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0tY2xpZW50ICs9ICJkaGNwLWNsaWVudC1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfS1jbGllbnQgKz0gImRoY3AtY2xpZW50LXN5c3RlbWQiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9kaGNsaWVudC5zZXJ2aWNlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9kaGNsaWVudC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2Zvbm8vb2Zvbm9fJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2Zvbm8vb2Zvbm9fJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2EzMTI0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vZm9uby9vZm9ub18lLmJiYXBwZW5kCkBAIC0wLDAgKzEsNSBAQAorUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKKworU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NoL29wZW5zc2hfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGFkYmMxNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitSUFJPVklERVNfJHtQTn0tc3NoZCArPSAiJHtQTn0tc3NoZC1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59LXNzaGQgKz0gIiR7UE59LXNzaGQtc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0tc3NoZCArPSAiJHtQTn0tc3NoZC1zeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9wb3J0bWFwL3BvcnRtYXBfNi4wLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9wb3J0bWFwL3BvcnRtYXBfNi4wLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZTZlNzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L3BvcnRtYXAvcG9ydG1hcF82LjAuYmJhcHBlbmQKQEAgLTAsMCArMSw1IEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50XyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50XyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAwNmIzZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnRfJS5iYmFwcGVuZApAQCAtMCwwICsxLDMgQEAKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3hfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveF8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0MmQ0NTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3hfJS5iYmFwcGVuZApAQCAtMCwwICsxLDMgQEAKK1JQUk9WSURFU18ke1BOfS1zeXNsb2cgKz0gIiR7UE59LXN5c2xvZy1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59LXN5c2xvZyArPSAiJHtQTn0tc3lzbG9nLXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59LXN5c2xvZyArPSAiJHtQTn0tc3lzbG9nLXN5c3RlbWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9kYnVzL2RidXNfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL2RidXMvZGJ1c18lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMDZiM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9kYnVzL2RidXNfJS5iYmFwcGVuZApAQCAtMCwwICsxLDMgQEAKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtY29yZS9kcm9wYmVhci9kcm9wYmVhcl8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXJfJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODFiODc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXJfJS5iYmFwcGVuZApAQCAtMCwwICsxLDQgQEAKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVhYTU0NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8lLmJiYXBwZW5kCkBAIC0wLDAgKzEsMyBAQAorUlBST1ZJREVTX3VkZXYgKz0gInVkZXYtc3lzdGVtZCIKK1JSRVBMQUNFU191ZGV2ICs9ICJ1ZGV2LXN5c3RlbWQiCitSQ09ORkxJQ1RTX3VkZXYgKz0gInVkZXYtc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eF8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4XyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAwNmIzZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eF8lLmJiYXBwZW5kCkBAIC0wLDAgKzEsMyBAQAorUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9hdC9hdF8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0XyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgxYjg3OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9hdC9hdF8lLmJiYXBwZW5kCkBAIC0wLDAgKzEsNCBAQAorUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL2Nyb25pZS9jcm9uaWVfJS5iYmFwcGVuZCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9jcm9uaWUvY3JvbmllXyUuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAwNmIzZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL29lLWNvcmUvcmVjaXBlcy1leHRlbmRlZC9jcm9uaWUvY3JvbmllXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkXyUuYmJhcHBlbmQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGRfJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDA2YjNmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvb2UtY29yZS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8lLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMDZiM2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtc3lzdGVtZC9vZS1jb3JlL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXN5c3RlbWQvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC1tYWNoaW5lLXVuaXRzXzEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtbWFjaGluZS11bml0c18xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE2NmFjMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1zeXN0ZW1kL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtbWFjaGluZS11bml0c18xLjAuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJNYWNoaW5lIHNwZWNpZmljIHN5c3RlbWQgdW5pdHMiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAiCisKK1BBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCisKK1BSID0gInIxOCIKKworaW5oZXJpdCBzeXN0ZW1kCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiIgorTkFUSVZFX1NZU1RFTURfU1VQUE9SVCA9ICIxIgorQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvQ09QWUlORy5NSVQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL0NPUFlJTkcuTUlUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiOTUwZGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL0NPUFlJTkcuTUlUCkBAIC0wLDAgKzEsMTcgQEAKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgCitvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCAKK2luIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgCit0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIAorY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIAorZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gCithbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IgCitJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgCitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgCitBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIAorTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgCitPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIAorVEhFIFNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODQyMjc5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9SRUFETUUKQEAgLTAsMCArMSw3MCBAQAorbWV0YS13ZWJzZXJ2ZXIKKz09PT09PT09PT09PT09CisKK1RoaXMgbGF5ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgYnVpbGRpbmcgd2ViIHNlcnZlcnMsIHdlYi1iYXNlZAorYXBwbGljYXRpb25zIGFuZCByZWxhdGVkIHNvZnR3YXJlLgorCisKKworRGVwZW5kZW5jaWVzCistLS0tLS0tLS0tLS0KKworVGhpcyBsYXllciBkZXBlbmRzIG9uOgorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0CitzdWJkaXJlY3Rvcnk6IG1ldGEKK2JyYW5jaDoga3JvZ290aCAKK3JldmlzaW9uOiBIRUFECisKK0ZvciBzb21lIHJlY2lwZXMsIHRoZSBtZXRhLW9lIGxheWVyIGlzIHJlcXVpcmVkOgorCitVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CitzdWJkaXJlY3Rvcnk6IG1ldGEtb2UKK2JyYW5jaDoga3JvZ290aCAKK3JldmlzaW9uOiBIRUFECisKKworCitMYXlvdXQKKy0tLS0tLQorCityZWNpcGVzLWh0dHBkLyAgICAgIFdlYiBzZXJ2ZXJzCityZWNpcGVzLXBocC8gICAgICAgIFBIUCBhcHBsaWNhdGlvbnMKK3JlY2lwZXMtc3VwcG9ydC8gICAgTWlzY2VsbGFuZW91cyBzdXBwb3J0IHJlY2lwZXMKK3JlY2lwZXMtd2ViYWRtaW4vICAgU3RhbmRhbG9uZSB3ZWIgYWRtaW5pc3RyYXRpb24gaW50ZXJmYWNlcworCisKK05vdGVzCistLS0tLQorCisqIFRoaXMgbGF5ZXIgdXNlZCB0byBwcm92aWRlIGEgbW9kcGhwIHJlY2lwZSB0aGF0IGJ1aWx0IG1vZF9waHAsIGJ1dAorICB0aGlzIGlzIG5vdyBidWlsdCBhcyBwYXJ0IG9mIHRoZSBwaHAgcmVjaXBlIGluIG1ldGEtb2UuIEhvd2V2ZXIsIHNpbmNlCisgIGFwYWNoZTIgaXMgcmVxdWlyZWQgdG8gYnVpbGQgbW9kX3BocCwgYW5kIGFwYWNoZTIgcmVjaXBlIGlzIGluIHRoaXMKKyAgbGF5ZXIgYW5kIHJlY2lwZXMgaW4gbWV0YS1vZSBjYW4ndCBkZXBlbmQgb24gaXQsIG1vZF9waHAgaXMgbm90IGJ1aWx0CisgIGJ5IGRlZmF1bHQuIElmIHlvdSBkbyB3aXNoIHRvIHVzZSBtb2RfcGhwLCB5b3UgbmVlZCB0byBhZGQgImFwYWNoZTIiCisgIHRvIHRoZSBQQUNLQUdFQ09ORklHIHZhbHVlIGZvciB0aGUgcGhwIHJlY2lwZSBpbiBvcmRlciB0byBlbmFibGUgaXQuCisgIFNlZSBoZXJlIGZvciBpbmZvIG9uIGhvdyB0byBkbyB0aGF0OgorCisgIGh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzL2N1cnJlbnQvcmVmLW1hbnVhbC9yZWYtbWFudWFsLmh0bWwjdmFyLVBBQ0tBR0VDT05GSUcKKworCitNYWludGVuYW5jZQorLS0tLS0tLS0tLS0KK1NlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1zeXN0ZW1kXVtrcm9nb3RoXScgaW4gdGhlIHN1YmplY3QnCisKK1doZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzZSBzb21ldGhpbmcgbGlrZToKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1zeXN0ZW1kXVtrcm9nb3RoXVtQQVRDSCcKKworCitrcm9nb3RoIEJyYW5jaCBNYWludGFpbmVyOgorQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKworTGljZW5zZQorLS0tLS0tLQorCitBbGwgbWV0YWRhdGEgaXMgTUlUIGxpY2Vuc2VkIHVubGVzcyBvdGhlcndpc2Ugc3RhdGVkLiBTb3VyY2UgY29kZSBpbmNsdWRlZAoraW4gdHJlZSBmb3IgaW5kaXZpZHVhbCByZWNpcGVzIGlzIHVuZGVyIHRoZSBMSUNFTlNFIHN0YXRlZCBpbiBlYWNoIHJlY2lwZQorKC5iYiBmaWxlKSB1bmxlc3Mgb3RoZXJ3aXNlIHN0YXRlZC4KKworVGhpcyBSRUFETUUgZG9jdW1lbnQgaXMgQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2NvbmYvbGF5ZXIuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvY29uZi9sYXllci5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNTA4YTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2NvbmYvbGF5ZXIuY29uZgpAQCAtMCwwICsxLDI0IEBACisjIExheWVyIGNvbmZpZ3VyYXRpb24gZm9yIG1ldGEtd2Vic2VydmVyIGxheWVyCisjIENvcHlyaWdodCAyMDEyIEludGVsIENvcnBvcmF0aW9uCisKKyMgV2UgaGF2ZSBhIGNvbmYgYW5kIGNsYXNzZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJQQVRICitCQlBBVEggLj0gIjoke0xBWUVSRElSfSIKKworIyBXZSBoYXZlIHZhcmlvdXMgcmVjaXBlLSogZGlyZWN0b3JpZXMsIGFkZCB0byBCQkZJTEVTCitCQkZJTEVTICs9ICIke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiICR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQiCisKK0JCRklMRV9DT0xMRUNUSU9OUyArPSAid2Vic2VydmVyIgorQkJGSUxFX1BBVFRFUk5fd2Vic2VydmVyIDo9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX3dlYnNlcnZlciA9ICI2IgorCisjIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jcmVtZW50ZWQgb24gc2lnbmlmaWNhbnQgY2hhbmdlcyB0aGF0IHdpbGwKKyMgY2F1c2UgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBvdGhlciBsYXllcnMKK0xBWUVSVkVSU0lPTl93ZWJzZXJ2ZXIgPSAiMSIKKworTEFZRVJERVBFTkRTX3dlYnNlcnZlciA9ICJjb3JlIgorCitMSUNFTlNFX1BBVEggKz0gIiR7TEFZRVJESVJ9L2xpY2Vuc2VzIgorCitTSUdHRU5fRVhDTFVERV9TQUZFX1JFQ0lQRV9ERVBTICs9ICIgXAorICBwaHBteWFkbWluLT5iYXNoIFwKKyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvbGljZW5zZXMvT01MIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9saWNlbnNlcy9PTUwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U2YmRmZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvbGljZW5zZXMvT01MCkBAIC0wLDAgKzEsMjggQEAKK1RoaXMgRmFzdENHSSBhcHBsaWNhdGlvbiBsaWJyYXJ5IHNvdXJjZSBhbmQgb2JqZWN0IGNvZGUgKHRoZQorIlNvZnR3YXJlIikgYW5kIGl0cyBkb2N1bWVudGF0aW9uICh0aGUgIkRvY3VtZW50YXRpb24iKSBhcmUKK2NvcHlyaWdodGVkIGJ5IE9wZW4gTWFya2V0LCBJbmMgKCJPcGVuIE1hcmtldCIpLiAgVGhlIGZvbGxvd2luZyB0ZXJtcworYXBwbHkgdG8gYWxsIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgU29mdHdhcmUgYW5kIERvY3VtZW50YXRpb24KK3VubGVzcyBleHBsaWNpdGx5IGRpc2NsYWltZWQgaW4gaW5kaXZpZHVhbCBmaWxlcy4KKworT3BlbiBNYXJrZXQgcGVybWl0cyB5b3UgdG8gdXNlLCBjb3B5LCBtb2RpZnksIGRpc3RyaWJ1dGUsIGFuZCBsaWNlbnNlCit0aGlzIFNvZnR3YXJlIGFuZCB0aGUgRG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UsIHByb3ZpZGVkIHRoYXQKK2V4aXN0aW5nIGNvcHlyaWdodCBub3RpY2VzIGFyZSByZXRhaW5lZCBpbiBhbGwgY29waWVzIGFuZCB0aGF0IHRoaXMKK25vdGljZSBpcyBpbmNsdWRlZCB2ZXJiYXRpbSBpbiBhbnkgZGlzdHJpYnV0aW9ucy4gIE5vIHdyaXR0ZW4KK2FncmVlbWVudCwgbGljZW5zZSwgb3Igcm95YWx0eSBmZWUgaXMgcmVxdWlyZWQgZm9yIGFueSBvZiB0aGUKK2F1dGhvcml6ZWQgdXNlcy4gIE1vZGlmaWNhdGlvbnMgdG8gdGhpcyBTb2Z0d2FyZSBhbmQgRG9jdW1lbnRhdGlvbiBtYXkKK2JlIGNvcHlyaWdodGVkIGJ5IHRoZWlyIGF1dGhvcnMgYW5kIG5lZWQgbm90IGZvbGxvdyB0aGUgbGljZW5zaW5nCit0ZXJtcyBkZXNjcmliZWQgaGVyZS4gIElmIG1vZGlmaWNhdGlvbnMgdG8gdGhpcyBTb2Z0d2FyZSBhbmQKK0RvY3VtZW50YXRpb24gaGF2ZSBuZXcgbGljZW5zaW5nIHRlcm1zLCB0aGUgbmV3IHRlcm1zIG11c3QgYmUgY2xlYXJseQoraW5kaWNhdGVkIG9uIHRoZSBmaXJzdCBwYWdlIG9mIGVhY2ggZmlsZSB3aGVyZSB0aGV5IGFwcGx5LgorCitPUEVOIE1BUktFVCBNQUtFUyBOTyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVFkgV0lUSCBSRVNQRUNUIFRPIFRIRQorU09GVFdBUkUgT1IgVEhFIERPQ1VNRU5UQVRJT04sIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZCitXQVJSQU5UWSBPRiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBJTgorTk8gRVZFTlQgU0hBTEwgT1BFTiBNQVJLRVQgQkUgTElBQkxFIFRPIFlPVSBPUiBBTlkgVEhJUkQgUEFSVFkgRk9SIEFOWQorREFNQUdFUyBBUklTSU5HIEZST00gT1IgUkVMQVRJTkcgVE8gVEhJUyBTT0ZUV0FSRSBPUiBUSEUKK0RPQ1VNRU5UQVRJT04sIElOQ0xVRElORywgV0lUSE9VVCBMSU1JVEFUSU9OLCBBTlkgSU5ESVJFQ1QsIFNQRUNJQUwgT1IKK0NPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBTSU1JTEFSIERBTUFHRVMsIElOQ0xVRElORyBMT1NUIFBST0ZJVFMgT1IKK0xPU1QgREFUQSwgRVZFTiBJRiBPUEVOIE1BUktFVCBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorU1VDSCBEQU1BR0VTLiAgVEhFIFNPRlRXQVJFIEFORCBET0NVTUVOVEFUSU9OIEFSRSBQUk9WSURFRCAiQVMgSVMiLgorT1BFTiBNQVJLRVQgSEFTIE5PIExJQUJJTElUWSBJTiBDT05UUkFDVCwgVE9SVCwgTkVHTElHRU5DRSBPUgorT1RIRVJXSVNFIEFSSVNJTkcgT1VUIE9GIFRISVMgU09GVFdBUkUgT1IgVEhFIERPQ1VNRU5UQVRJT04uCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2xpY2Vuc2VzL1hkZWJ1ZyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvbGljZW5zZXMvWGRlYnVnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjZGJmMDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2xpY2Vuc2VzL1hkZWJ1ZwpAQCAtMCwwICsxLDYwIEBACistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAKKyAgICAgICAgICAgICAgICAgVGhlIFhkZWJ1ZyBMaWNlbnNlLCB2ZXJzaW9uIDEuMDEKKyAgICAgICAgICAgICAoQmFzZWQgb24gIlRoZSBQSFAgTGljZW5zZSIsIHZlcnNpb24gMy4wKQorICAgQ29weXJpZ2h0IChjKSAyMDAzLTIwMTIgRGVyaWNrIFJldGhhbnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAKKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGlzIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworYXJlIG1ldDoKKworICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgCisgIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgICAgIGRpc3RyaWJ1dGlvbi4KKyAKKyAgMy4gVGhlIG5hbWUgIlhkZWJ1ZyIgbXVzdCBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIEZvcgorICAgICB3cml0dGVuIHBlcm1pc3Npb24sIHBsZWFzZSBjb250YWN0IGRlcmlja0B4ZGVidWcub3JnLgorICAKKyAgNC4gUHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgbWF5IG5vdCBiZSBjYWxsZWQgIlhkZWJ1ZyIsIG5vcgorICAgICBtYXkgIlhkZWJ1ZyIgYXBwZWFyIGluIHRoZWlyIG5hbWUsIHdpdGhvdXQgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uCisgICAgIGZyb20gZGVyaWNrQHhkZWJ1Zy5vcmcuCisgCisgIDUuIERlcmljayBSZXRoYW5zIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZiB0aGUKKyAgICAgbGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gRWFjaCB2ZXJzaW9uIHdpbGwgYmUgZ2l2ZW4gYQorICAgICBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gIE9uY2UgY292ZXJlZCBjb2RlIGhhcyBiZWVuCisgICAgIHB1Ymxpc2hlZCB1bmRlciBhIHBhcnRpY3VsYXIgdmVyc2lvbiBvZiB0aGUgbGljZW5zZSwgeW91IG1heQorICAgICBhbHdheXMgY29udGludWUgdG8gdXNlIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGF0IHZlcnNpb24uIFlvdQorICAgICBtYXkgYWxzbyBjaG9vc2UgdG8gdXNlIHN1Y2ggY292ZXJlZCBjb2RlIHVuZGVyIHRoZSB0ZXJtcyBvZiBhbnkKKyAgICAgc3Vic2VxdWVudCB2ZXJzaW9uIG9mIHRoZSBsaWNlbnNlIHB1Ymxpc2hlZCBieSBEZXJpY2sgUmV0aGFucy4gTm8KKyAgICAgb25lIG90aGVyIHRoYW4gRGVyaWNrIFJldGhhbnMgaGFzIHRoZSByaWdodCB0byBtb2RpZnkgdGhlIHRlcm1zCisgICAgIGFwcGxpY2FibGUgdG8gY292ZXJlZCBjb2RlIGNyZWF0ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLgorCisgIDYuIFJlZGlzdHJpYnV0aW9ucyBvZiBhbnkgZm9ybSB3aGF0c29ldmVyIG11c3QgcmV0YWluIHRoZSBmb2xsb3dpbmcKKyAgICAgYWNrbm93bGVkZ21lbnQ6ICJUaGlzIHByb2R1Y3QgaW5jbHVkZXMgWGRlYnVnLCBmcmVlbHkgYXZhaWxhYmxlCisgICAgIGZyb20gPGh0dHA6Ly94ZGVidWcub3JnLz4iLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIERFUklDSyBSRVRIQU5TIGBgQVMgSVMnJyBBTkQgQU5ZCitFWFBSRVNTRUQgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCitJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKK1BVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUEhQIERFVkVMT1BNRU5UIFRFQU0gT1IKK0lUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKK1NQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKK0xJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCitUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKK09GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoaXMgc29mdHdhcmUgY29uc2lzdHMgb2Ygdm9sdW50YXJ5IGNvbnRyaWJ1dGlvbnMgbWFkZSBieSBzb21lCitpbmRpdmlkdWFscyBvbiBiZWhhbGYgb2YgRGVyaWNrIFJldGhhbnMuCisKK0RlcmljayBSZXRoYW5zIGNhbiBiZSBjb250YWN0ZWQgdmlhIGUtbWFpbCBhdCBkZXJpY2tAeGRlYnVnLm9yZy4KKworRm9yIG1vcmUgaW5mb3JtYXRpb24gWGRlYnVnLCBwbGVhc2Ugc2VlIDxodHRwOi8veGRlYnVnLm9yZz4uCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlLW1vZC9hcGFjaGUtd2Vic29ja2V0X2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUtbW9kL2FwYWNoZS13ZWJzb2NrZXRfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhMzMxMTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlLW1vZC9hcGFjaGUtd2Vic29ja2V0X2dpdC5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIldlYnNvY2tldCBtb2R1bGUgZm9yIEFwYWNoZSB3ZWIgc2VydmVyIgorREVTQ1JJUFRJT04gPSAiUHJvY2VzcyByZXF1ZXN0cyB1c2luZyB0aGUgV2ViU29ja2V0IHByb3RvY29sIChSRkMgNjQ1NSkiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vamNoYW1waW8vJHtQTn0vIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworREVQRU5EUyA9ICJhcGFjaGUyIGFwYWNoZTItbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gKz0gImFwYWNoZTIiCisKKyMgT3JpZ2luYWwgKGdpdGh1Yi5jb20vZGlzY29ubmVjdC9hcGFjaGUtd2Vic29ja2V0KSBpcyBkZWFkIHNpbmNlIDIwMTIsIHRoZQorIyBmb3JrIGNvbnRhaW5zIHBhdGNoZXMgZnJvbSB0aGUgbW9kdWxlcyBNTCBhbmQgZml4ZXMgQ1ZFIGNvbXBsaWFuY2UgaXNzdWVzCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vamNoYW1waW8vYXBhY2hlLXdlYnNvY2tldC5naXQiCisKK1NSQ1JFViA9ICJmNTIzMGQ4YzUyMGRjY2Y4NjMxZGE5NGJmOTBjMjNmM2MxMTAwZGNjIgorCitQViA9ICIwLjEuMSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MmVlNDExMTJhNDRmZTcwMTRkY2UzM2UyNjQ2OGJhOTMiCisKK0VYVFJBX09FQ09ORiA9ICJBUEFDSEVDVEw9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtzYmluZGlyfS9hcGFjaGVjdGwgXAorICAgICAgICAgICAgICAgIExJQlRPT0w9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS8ke0hPU1RfU1lTfS1saWJ0b29sIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9hcGFjaGUyL21vZHVsZXMvCisgICAgaW5zdGFsbCAke0J9Ly5saWJzL21vZF93ZWJzb2NrZXQuc28gJHtEfSR7bGliZGlyfS9hcGFjaGUyL21vZHVsZXMvCit9CisKK0ZJTEVTXyR7UE59ICs9ICIgJHtsaWJkaXJ9L2FwYWNoZTIvbW9kdWxlcy8qICIKK0ZJTEVTXyR7UE59LWRiZyArPSAiICR7bGliZGlyfS9hcGFjaGUyL21vZHVsZXMvLmRlYnVnLyogIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi1uYXRpdmVfMi40LjIwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi1uYXRpdmVfMi40LjIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5MzJkMTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyLW5hdGl2ZV8yLjQuMjAuYmIKQEAgLTAsMCArMSw0NSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIEFwYWNoZSBIVFRQIFNlcnZlciBpcyBhIHBvd2VyZnVsLCBlZmZpY2llbnQsIGFuZCBcCitleHRlbnNpYmxlIHdlYiBzZXJ2ZXIuIgorU1VNTUFSWSA9ICJBcGFjaGUgSFRUUCBTZXJ2ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iCitERVBFTkRTID0gImV4cGF0LW5hdGl2ZSBwY3JlLW5hdGl2ZSBhcHItbmF0aXZlIGFwci11dGlsLW5hdGl2ZSIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgbmF0aXZlCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5hcGFjaGUub3JnL2Rpc3QvaHR0cGQvaHR0cGQtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0Y2ggXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2h0dHBkLSR7UFZ9IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kYmZmNWEyYjU0MmZhNTg4NTQ0NTViZjFhMGI5NGI4MyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzZmY0ZjAwZWUwNTFjZjVkNTMwNGI0N2IxYmM0MThiOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwZTc2YTM3NWVkM2RiYWM2MzZmNTBhYzM5ZGU5NjZlY2U0NDM3NTFmZTRkNjIzOTJmOWEzNjBhMTlkOTRkMGRhIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWFwcj0ke1NUQUdJTkdfQklORElSX0NST1NTfS9hcHItMS1jb25maWcgXAorICAgICAgICAgICAgICAgIC0td2l0aC1hcHItdXRpbD0ke1NUQUdJTkdfQklORElSX0NST1NTfS9hcHUtMS1jb25maWcgXAorICAgICAgICAgICAgICAgIC0tcHJlZml4PSR7cHJlZml4fSAtLWRhdGFkaXI9JHtkYXRhZGlyfS9hcGFjaGUyIFwKKyAgICAgICAgICAgICAgICIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9ICR7RH0ke2xpYmRpcn0KKyAgICBjcCBzZXJ2ZXIvZ2VuX3Rlc3RfY2hhciAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgc3VwcG9ydC9hcHhzICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSA3NTUgaHR0cGQgJHtEfSR7YmluZGlyfS8KKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2FwYWNoZTIvYnVpbGQKKyAgICBjcCAke1N9L2J1aWxkLyoubWsgJHtEfSR7ZGF0YWRpcn0vYXBhY2hlMi9idWlsZAorICAgIGNwIGJ1aWxkLyoubWsgJHtEfSR7ZGF0YWRpcn0vYXBhY2hlMi9idWlsZAorICAgIGNwICR7U30vYnVpbGQvaW5zdGRzby5zaCAke0R9JHtkYXRhZGlyfS9hcGFjaGUyL2J1aWxkCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2FwYWNoZTIKKyAgICBjcCAke1N9L2luY2x1ZGUvKiAke0R9JHtpbmNsdWRlZGlyfS9hcGFjaGUyCisgICAgY3AgaW5jbHVkZS8qICR7RH0ke2luY2x1ZGVkaXJ9L2FwYWNoZTIKKyAgICBjcCAke1N9L29zL3VuaXgvb3MuaCAke0R9JHtpbmNsdWRlZGlyfS9hcGFjaGUyCisgICAgY3AgJHtTfS9vcy91bml4L3VuaXhkLmggJHtEfSR7aW5jbHVkZWRpcn0vYXBhY2hlMgorCisgICAgY3Agc3VwcG9ydC9lbnZ2YXJzLXN0ZCAke0R9JHtiaW5kaXJ9L2VudnZhcnMKKyAgICBjaG1vZCA3NTUgJHtEfSR7YmluZGlyfS9lbnZ2YXJzCit9CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvYXBhY2hlLWNvbmZpZ3VyZV9wZXJsYmluLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9hcGFjaGUtY29uZmlndXJlX3BlcmxiaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkwMjc5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvYXBhY2hlLWNvbmZpZ3VyZV9wZXJsYmluLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKKyMgQXV0aG9yOiBlY2hvIDxmZWkuZ2VuZ0B3aW5kcml2ZXIuY29tPgorIyBEYXRlOiBBcHJpbCAyOCAyMDA5CisjIFN1bW1hcnk6Rml4IHBlcmwgaW5zdGFsbCBkaXJlY3RvcnkgdG8gL3Vzci9iaW4KKyMKKyMgVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTYzOCwxMCArNjM4LDcgQEAKKyBBQ19ERUZJTkVfVU5RVU9URUQoQVBBQ0hFX01QTV9ESVIsICIkTVBNX0RJUiIsCisgCVtMb2NhdGlvbiBvZiB0aGUgc291cmNlIGZvciB0aGUgY3VycmVudCBNUE1dKQorIAorLXBlcmxiaW49YCRhY19hdXhfZGlyL1ByaW50UGF0aCBwZXJsYAorLWlmIHRlc3QgIngkcGVybGJpbiIgPSAieCI7IHRoZW4KKy0gICAgcGVybGJpbj0iL3JlcGxhY2Uvd2l0aC9wYXRoL3RvL3BlcmwvaW50ZXJwcmV0ZXIiCistZmkKKytwZXJsYmluPScvdXNyL2Jpbi9wZXJsJworIEFDX1NVQlNUKHBlcmxiaW4pCisgCisgZG5sIElmIHdlIGFyZSBydW5uaW5nIG9uIEJTRC9PUywgd2UgbmVlZCB0byB1c2UgdGhlIEJTRCAuaW5jbHVkZSBzeW50YXguCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2FwYWNoZS1zc2wtbHRtYWluLXJwYXRoLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9hcGFjaGUtc3NsLWx0bWFpbi1ycGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTNkYzUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9hcGFjaGUtc3NsLWx0bWFpbi1ycGF0aC5wYXRjaApAQCAtMCwwICsxLDg0IEBACisgYnVpbGQvbHRtYWluLnNoIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2J1aWxkL2x0bWFpbi5zaCBiL2J1aWxkL2x0bWFpbi5zaAoraW5kZXggNWVjYTRhZS4uODA1YjQ2MSAxMDA2NDQKKy0tLSBhL2J1aWxkL2x0bWFpbi5zaAorKysrIGIvYnVpbGQvbHRtYWluLnNoCitAQCAtNjk0NCw3ICs2OTQ0LDcgQEAgZnVuY19tb2RlX2xpbmsgKCkKKyAJZGlyPSRmdW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQKKyAJIyBXZSBuZWVkIGFuIGFic29sdXRlIHBhdGguCisgCWNhc2UgJGRpciBpbgorLQlbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIDs7CisrCT0qIHwgW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSA7OworIAkqKQorIAkgIGFic2Rpcj1gY2QgIiRkaXIiICYmIHB3ZGAKKyAJICB0ZXN0IC16ICIkYWJzZGlyIiAmJiBcCitAQCAtODEzNyw3ICs4MTM3LDcgQEAgZnVuY19tb2RlX2xpbmsgKCkKKyAJICAgICRFQ0hPICIqKiogJGxpbmtsaWIgaXMgbm90IHBvcnRhYmxlISIKKyAJICBmaQorIAkgIGlmIHRlc3QgbGliID0gIiRsaW5rbW9kZSIgJiYKKy0JICAgICB0ZXN0IHllcyA9ICIkaGFyZGNvZGVfaW50b19saWJzIjsgdGhlbgorKwkgICAgIHRlc3QgIngkd3JzX3VzZV9ycGF0aHMiID0gInh5ZXMiICYmIHRlc3QgIiRoYXJkY29kZV9pbnRvX2xpYnMiID0geWVzOyB0aGVuCisgCSAgICAjIEhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBhdGguCisgCSAgICAjIFNraXAgZGlyZWN0b3JpZXMgdGhhdCBhcmUgaW4gdGhlIHN5c3RlbSBkZWZhdWx0IHJ1bi10aW1lCisgCSAgICAjIHNlYXJjaCBwYXRoLgorQEAgLTg0MDQsNyArODQwNCw3IEBAIGZ1bmNfbW9kZV9saW5rICgpCisgCisgCWlmIHRlc3QgbGliID0gIiRsaW5rbW9kZSI7IHRoZW4KKyAJICBpZiB0ZXN0IC1uICIkZGVwZW5kZW5jeV9saWJzIiAmJgorLQkgICAgIHsgdGVzdCB5ZXMgIT0gIiRoYXJkY29kZV9pbnRvX2xpYnMiIHx8CisrICAgICAgICAgICAgICB7IHRlc3QgeWVzICE9ICIkaGFyZGNvZGVfaW50b19saWJzIiB8fCB0ZXN0ICJ4JHdyc191c2VfcnBhdGhzIiAhPSAieHllcyIgfHwKKyAJICAgICAgIHRlc3QgeWVzID0gIiRidWlsZF9vbGRfbGlicyIgfHwKKyAJICAgICAgIHRlc3QgeWVzID0gIiRsaW5rX3N0YXRpYyI7IH07IHRoZW4KKyAJICAgICMgRXh0cmFjdCAtUiBmcm9tIGRlcGVuZGVuY3lfbGlicworQEAgLTkwMjUsNyArOTAyNSw4IEBAIGZ1bmNfbW9kZV9saW5rICgpCisgCSAgKikgZnVuY19hcHBlbmQgZmluYWxpemVfcnBhdGggIiAkbGliZGlyIiA7OworIAkgIGVzYWMKKyAJZG9uZQorLQlpZiB0ZXN0IHllcyAhPSAiJGhhcmRjb2RlX2ludG9fbGlicyIgfHwgdGVzdCB5ZXMgPSAiJGJ1aWxkX29sZF9saWJzIjsgdGhlbgorKyAgICAgICAgaWYgdGVzdCB5ZXMgIT0gIiRoYXJkY29kZV9pbnRvX2xpYnMiICB8fCB0ZXN0ICJ4JHdyc191c2VfcnBhdGhzIiAhPSAieHllcyIgfHwKKysgICAgICAgICAgIHRlc3QgeWVzID0gIiRidWlsZF9vbGRfbGlicyI7IHRoZW4KKyAJICBkZXBlbmRlbmN5X2xpYnM9IiR0ZW1wX3hycGF0aCAkZGVwZW5kZW5jeV9saWJzIgorIAlmaQorICAgICAgIGZpCitAQCAtOTQ3Myw3ICs5NDc0LDcgQEAgRU9GCisgCWNhc2UgJGFyY2hpdmVfY21kcyBpbgorIAkgICpcJExEXCAqKSB3bD0gOzsKKyAgICAgICAgIGVzYWMKKy0JaWYgdGVzdCB5ZXMgPSAiJGhhcmRjb2RlX2ludG9fbGlicyI7IHRoZW4KKysJaWYgdGVzdCB5ZXMgPSAiJGhhcmRjb2RlX2ludG9fbGlicyIgJiYgdGVzdCAieCR3cnNfdXNlX3JwYXRocyIgPSAieHllcyI7IHRoZW4KKyAJICAjIEhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBhdGhzCisgCSAgaGFyZGNvZGVfbGliZGlycz0KKyAJICBkZXBfcnBhdGg9CitAQCAtMTAyMTEsNiArMTAyMTIsMjcgQEAgRU9GCisgICAgICAgIyBOb3cgaGFyZGNvZGUgdGhlIGxpYnJhcnkgcGF0aHMKKyAgICAgICBycGF0aD0KKyAgICAgICBoYXJkY29kZV9saWJkaXJzPQorKworKyAgICAgICMgc2hvcnQgY2lyY3VpdCBwdXR0aW5nIHJwYXRocyBpbiBleGVjdXRhYmxlcworKyAgICAgICMKKysgICAgICBpZiB0ZXN0ICJ4JHdyc191c2VfcnBhdGhzIiAhPSAieHllcyIgOyB0aGVuCisrICAgICAgICBmbGFnPQorKyAgICAgICAgZm9yIGxpYmRpciBpbiAkY29tcGlsZV9ycGF0aDsgZG8KKysgICAgICAgICAgY2FzZSAkKGVjaG8gJGxpYmRpciB8ICR7U0VEfSAncywvWy9dKiwvLGcnKSBpbgorKyAgICAgICAgICAgIC91c3IvbGliLyogfCAvdXNyL2xpYjMyLyogfCAvdXNyL2xpYjY0LyogKSBmbGFnPSIkZmxhZyAkbGliZGlyIiA7OworKyAgICAgICAgICBlc2FjCisrICAgICAgICBkb25lCisrICAgICAgICBjb21waWxlX3JwYXRoPSIkZmxhZyIKKysKKysgICAgICAgIGZsYWc9CisrICAgICAgICBmb3IgbGliZGlyIGluICRmaW5hbGl6ZV9ycGF0aDsgZG8KKysgICAgICAgICAgY2FzZSAkKGVjaG8gJGxpYmRpciB8ICR7U0VEfSAncywvWy9dKiwvLGcnKSBpbgorKyAgICAgICAgICAgIC91c3IvbGliLyogfCAvdXNyL2xpYjMyLyogfCAvdXNyL2xpYjY0LyogKSBmbGFnPSIkZmxhZyAkbGliZGlyIiA7OworKyAgICAgICAgICBlc2FjCisrICAgICAgICBkb25lCisrICAgICAgICBmaW5hbGl6ZV9ycGF0aD0iJGZsYWciCisrICAgICAgZmkKKysKKyAgICAgICBmb3IgbGliZGlyIGluICRjb21waWxlX3JwYXRoICRmaW5hbGl6ZV9ycGF0aDsgZG8KKyAJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCisgCSAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvZml4LWxpYnRvb2wtbmFtZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvZml4LWxpYnRvb2wtbmFtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjdhZjA0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9maXgtbGlidG9vbC1uYW1lLnBhdGNoCkBAIC0wLDAgKzEsNTUgQEAKK0ZpeCBidWlsZCBzY3JpcHRzIHRvIHVzZSBjb3JyZWN0IGxpYnRvb2wgZmlsZW5hbWUKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCistLS0KKyBodHRwZC0yLjQuMi9idWlsZC9jb25maWdfdmFycy5zaC5pbiB8ICAgIDIgKy0KKyBodHRwZC0yLjQuMi9jb25maWd1cmUgICAgICAgICAgICAgICB8ICAgIDIgKy0KKyBodHRwZC0yLjQuMi9jb25maWd1cmUuaW4gICAgICAgICAgICB8ICAgIDIgKy0KKyBodHRwZC0yLjQuMi9zdXBwb3J0L2FweHMuaW4gICAgICAgICB8ICAgIDIgKy0KKyA0IGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworLS0tIGEvYnVpbGQvY29uZmlnX3ZhcnMuc2guaW4KKysrKyBiL2J1aWxkL2NvbmZpZ192YXJzLnNoLmluCitAQCAtMzUsNyArMzUsNyBAQCBlbHNlCisgICAgQVBVX0NPTkZJRz1AQVBVX0NPTkZJR0AKKyBmaQorIAorLUFQUl9MSUJUT09MPSJgJHtBUFJfQ09ORklHfSAtLWFwci1saWJ0b29sYCIKKytBUFJfTElCVE9PTD0iYCR7QVBSX0NPTkZJR30gLS1hcHItbGlidG9vbCB8IHNlZCAtZSBzLGxpYnRvb2wsJHtob3N0X2FsaWFzfS1saWJ0b29sLGAiCisgQVBSX0lOQ0xVREVESVI9ImAke0FQUl9DT05GSUd9IC0taW5jbHVkZWRpcmAiCisgdGVzdCAtbiAiQEFQVV9DT05GSUdAIiAmJiBBUFVfSU5DTFVERURJUj0iYCR7QVBVX0NPTkZJR30gLS1pbmNsdWRlZGlyYCIKKyAKKy0tLSBhL2NvbmZpZ3VyZQorKysrIGIvY29uZmlndXJlCitAQCAtNjIwNSw3ICs2MjA1LDcgQEAgY2FzZSAkaG9zdCBpbgorICAgICAgIGlmIHRlc3QgIngkTFRGTEFHUyIgPSAieCI7IHRoZW4KKyAgICAgICAgICAgTFRGTEFHUz0nLS1zaWxlbnQnCisgICAgICAgZmkKKy0gICAgICBteV9saWJ0b29sPWAkYXByX2NvbmZpZyAtLWFwci1saWJ0b29sYAorKyAgICAgIG15X2xpYnRvb2w9YCRhcHJfY29uZmlnIC0tYXByLWxpYnRvb2wgfCBzZWQgLWUgcyxsaWJ0b29sLCR7aG9zdF9hbGlhc30tbGlidG9vbCxgCisgICAgICAgTElCVE9PTD0iJG15X2xpYnRvb2wgXCQoTFRGTEFHUykiCisgICAgICAgbGlidG9vbHZlcnNpb249YCRteV9saWJ0b29sIC0tdmVyc2lvbmAKKyAgICAgICBjYXNlICRsaWJ0b29sdmVyc2lvbiBpbgorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0yNjQsNyArMjY0LDcgQEAgY2FzZSAkaG9zdCBpbgorICAgICAgIGlmIHRlc3QgIngkTFRGTEFHUyIgPSAieCI7IHRoZW4KKyAgICAgICAgICAgTFRGTEFHUz0nLS1zaWxlbnQnCisgICAgICAgZmkKKy0gICAgICBteV9saWJ0b29sPWAkYXByX2NvbmZpZyAtLWFwci1saWJ0b29sYAorKyAgICAgIG15X2xpYnRvb2w9YCRhcHJfY29uZmlnIC0tYXByLWxpYnRvb2wgfCBzZWQgLWUgcyxsaWJ0b29sLCR7aG9zdF9hbGlhc30tbGlidG9vbCxgCisgICAgICAgTElCVE9PTD0iJG15X2xpYnRvb2wgXCQoTFRGTEFHUykiCisgICAgICAgbGlidG9vbHZlcnNpb249YCRteV9saWJ0b29sIC0tdmVyc2lvbmAKKyAgICAgICBjYXNlICRsaWJ0b29sdmVyc2lvbiBpbgorLS0tIGEvc3VwcG9ydC9hcHhzLmluCisrKysgYi9zdXBwb3J0L2FweHMuaW4KK0BAIC0zNTIsNyArMzUyLDcgQEAgaWYgKCRhcHJfbWFqb3JfdmVyc2lvbiA8IDIpIHsKKyAgICAgfQorIH0KKyAKKy1teSAkbGlidG9vbCA9IGAkYXByX2NvbmZpZyAtLWFwci1saWJ0b29sYDsKKytteSAkbGlidG9vbCA9IGAkYXByX2NvbmZpZyAtLWFwci1saWJ0b29sfCBzZWQgLWUgcyxsaWJ0b29sLCR7aG9zdF9hbGlhc30tbGlidG9vbCxgOworIGNob21wKCRsaWJ0b29sKTsKKyAKKyBteSAkYXByX2luY2x1ZGVkaXIgPSBgJGFwcl9jb25maWcgLS1pbmNsdWRlc2A7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2h0dHBkLTIuNC4xLWNvcmVsaW1pdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvaHR0cGQtMi40LjEtY29yZWxpbWl0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4ZTQxMDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2h0dHBkLTIuNC4xLWNvcmVsaW1pdC5wYXRjaApAQCAtMCwwICsxLDM3IEBACisKK0J1bXAgdXAgdGhlIGNvcmUgc2l6ZSBsaW1pdCBpZiBDb3JlRHVtcERpcmVjdG9yeSBpcworY29uZmlndXJlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIAorCitOb3RlOiB1cHN0cmVhbWluZyB3YXMgZGlzY3Vzc2VkIGJ1dCB0aGVyZSBhcmUgY29tcGV0aW5nIGRlc2lyZXM7CisJdGhlcmUgYXJlIHBvcnRhYmlsaXR5IG9kZGl0aWVzIGhlcmUgdG9vLgorCistLS0gaHR0cGQtMi40LjEvc2VydmVyL2NvcmUuYy5jb3JlbGltaXQKKysrKyBodHRwZC0yLjQuMS9zZXJ2ZXIvY29yZS5jCitAQCAtNDQzMyw2ICs0NDMzLDI1IEBAIHN0YXRpYyBpbnQgY29yZV9wb3N0X2NvbmZpZyhhcHJfcG9vbF90ICoKKyAgICAgfQorICAgICBhcHJfcG9vbF9jbGVhbnVwX3JlZ2lzdGVyKHBjb25mLCBOVUxMLCBhcF9tcG1fZW5kX2dlbl9oZWxwZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXByX3Bvb2xfY2xlYW51cF9udWxsKTsKKysKKysjaWZkZWYgUkxJTUlUX0NPUkUKKysgICAgaWYgKGFwX2NvcmVkdW1wZGlyX2NvbmZpZ3VyZWQpIHsKKysgICAgICAgIHN0cnVjdCBybGltaXQgbGltOworKworKyAgICAgICAgaWYgKGdldHJsaW1pdChSTElNSVRfQ09SRSwgJmxpbSkgPT0gMCAmJiBsaW0ucmxpbV9jdXIgPT0gMCkgeworKyAgICAgICAgICAgIGxpbS5ybGltX2N1ciA9IGxpbS5ybGltX21heDsKKysgICAgICAgICAgICBpZiAoc2V0cmxpbWl0KFJMSU1JVF9DT1JFLCAmbGltKSA9PSAwKSB7CisrICAgICAgICAgICAgICAgIGFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19OT1RJQ0UsIDAsIE5VTEwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29yZSBkdW1wIGZpbGUgc2l6ZSBsaW1pdCByYWlzZWQgdG8gJWx1IGJ5dGVzIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbS5ybGltX2N1cik7CisrICAgICAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX05PVElDRSwgZXJybm8sIE5VTEwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29yZSBkdW1wIGZpbGUgc2l6ZSBpcyB6ZXJvLCBzZXRybGltaXQgZmFpbGVkIik7CisrICAgICAgICAgICAgfQorKyAgICAgICAgfQorKyAgICB9CisrI2VuZGlmCisrCisgICAgIHJldHVybiBPSzsKKyB9CisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2h0dHBkLTIuNC4xLXNlbGludXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL2h0dHBkLTIuNC4xLXNlbGludXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODczMzI4ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvaHR0cGQtMi40LjEtc2VsaW51eC5wYXRjaApAQCAtMCwwICsxLDYzIEBACisKK0xvZyB0aGUgU0VMaW51eCBjb250ZXh0IGF0IHN0YXJ0dXAuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb3RoZXJdCisKK05vdGU6IHVubGlrZWx5IHRvIGJlIGFueSBpbnRlcmVzdCBpbiB0aGlzIHVwc3RyZWFtCisKKy0tLSBodHRwZC0yLjQuMS9jb25maWd1cmUuaW4uc2VsaW51eAorKysrIGh0dHBkLTIuNC4xL2NvbmZpZ3VyZS5pbgorQEAgLTQ1OCw2ICs0NTgsMTEgQEAgZm9wZW42NAorIGRubCBjb25maXJtIHRoYXQgYSB2b2lkIHBvaW50ZXIgaXMgbGFyZ2UgZW5vdWdoIHRvIHN0b3JlIGEgbG9uZyBpbnRlZ2VyCisgQVBBQ0hFX0NIRUNLX1ZPSURfUFRSX0xFTgorIAorK0FDX0NIRUNLX0xJQihzZWxpbnV4LCBpc19zZWxpbnV4X2VuYWJsZWQsIFsKKysgICBBQ19ERUZJTkUoSEFWRV9TRUxJTlVYLCAxLCBbRGVmaW5lZCBpZiBTRUxpbnV4IGlzIHN1cHBvcnRlZF0pCisrICAgQVBSX0FERFRPKEFQX0xJQlMsIFstbHNlbGludXhdKQorK10pCisrCisgQUNfQ0FDSEVfQ0hFQ0soW2ZvciBnZXR0aWQoKV0sIGFjX2N2X2dldHRpZCwKKyBbQUNfVFJZX1JVTigjZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorLS0tIGh0dHBkLTIuNC4xL3NlcnZlci9jb3JlLmMuc2VsaW51eAorKysrIGh0dHBkLTIuNC4xL3NlcnZlci9jb3JlLmMKK0BAIC01OCw2ICs1OCwxMCBAQAorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjZW5kaWYKKyAKKysjaWZkZWYgSEFWRV9TRUxJTlVYCisrI2luY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgorKyNlbmRpZgorKworIC8qIExpbWl0UmVxdWVzdEJvZHkgaGFuZGxpbmcgKi8KKyAjZGVmaW5lIEFQX0xJTUlUX1JFUV9CT0RZX1VOU0VUICAgICAgICAgKChhcHJfb2ZmX3QpIC0xKQorICNkZWZpbmUgQVBfREVGQVVMVF9MSU1JVF9SRVFfQk9EWSAgICAgICAoKGFwcl9vZmZfdCkgMCkKK0BAIC00NDUyLDYgKzQ0NTYsMjggQEAgc3RhdGljIGludCBjb3JlX3Bvc3RfY29uZmlnKGFwcl9wb29sX3QgKgorICAgICB9CisgI2VuZGlmCisgCisrI2lmZGVmIEhBVkVfU0VMSU5VWAorKyAgICB7CisrICAgICAgICBzdGF0aWMgaW50IGFscmVhZHlfd2FybmVkID0gMDsKKysgICAgICAgIGludCBpc19lbmFibGVkID0gaXNfc2VsaW51eF9lbmFibGVkKCkgPiAwOworKyAgICAgICAgCisrICAgICAgICBpZiAoaXNfZW5hYmxlZCAmJiAhYWxyZWFkeV93YXJuZWQpIHsKKysgICAgICAgICAgICBzZWN1cml0eV9jb250ZXh0X3QgY29uOworKyAgICAgICAgICAgIAorKyAgICAgICAgICAgIGlmIChnZXRjb24oJmNvbikgPT0gMCkgeworKyAgICAgICAgICAgICAgICAKKysgICAgICAgICAgICAgICAgYXBfbG9nX2Vycm9yKEFQTE9HX01BUkssIEFQTE9HX05PVElDRSwgMCwgTlVMTCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTRUxpbnV4IHBvbGljeSBlbmFibGVkOyAiCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaHR0cGQgcnVubmluZyBhcyBjb250ZXh0ICVzIiwgY29uKTsKKysgICAgICAgICAgICAgICAgCisrICAgICAgICAgICAgICAgIGFscmVhZHlfd2FybmVkID0gMTsKKysgICAgICAgICAgICAgICAgCisrICAgICAgICAgICAgICAgIGZyZWVjb24oY29uKTsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisrICAgIH0KKysjZW5kaWYKKysKKyAgICAgcmV0dXJuIE9LOworIH0KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvaHR0cGQtMi40LjQtZXhwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9odHRwZC0yLjQuNC1leHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWZiZWQ4ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTIvaHR0cGQtMi40LjQtZXhwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKKworVGhlcmUgaXMgbm8gbmVlZCB0byAic3VjayBpbiIgdGhlIGFwci9hcHItdXRpbCBzeW1ib2xzIHdoZW4gdXNpbmcKK2Egc2hhcmVkIGxpYmFwcnssdXRpbH0sIGl0IGp1c3QgYmxvYXRzIHRoZSBzeW1ib2wgdGFibGU7IHNvIGRvbid0LgorCitVcHN0cmVhbS1IRUFEOiBuZWVkZWQKK1Vwc3RyZWFtLTIuMDogb21pdAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK05vdGU6IEVYUE9SVF9ESVJTIGNoYW5nZSBpcyBjb25kaXRpb25hbCBvbiB1c2luZyBzaGFyZWQgYXByCisKKy0tLSBodHRwZC0yLjQuNC9zZXJ2ZXIvTWFrZWZpbGUuaW4uZXhwb3J0CisrKysgaHR0cGQtMi40LjQvc2VydmVyL01ha2VmaWxlLmluCitAQCAtNTcsOSArNTcsNiBAQCBleHBvcnRfZmlsZXM6CisgCSggZm9yIGRpciBpbiAkKEVYUE9SVF9ESVJTKTsgZG8gXAorIAkgICAgICBscyAkJGRpci8qLmggOyBcCisgCSAgZG9uZTsgXAorLQkgIGZvciBkaXIgaW4gJChFWFBPUlRfRElSU19BUFIpOyBkbyBcCistCSAgICAgIGxzICQkZGlyL2FwW3J1XS5oICQkZGlyL2FwW3J1XV8qLmggMj4vZGV2L251bGw7IFwKKy0JICBkb25lOyBcCisgCSkgfCBzZWQgLWUgcywvLywvLGcgfCBzb3J0IC11ID4gJEAKKyAKKyBleHBvcnRzLmM6IGV4cG9ydF9maWxlcwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9yZXBsYWNlLWx5bngtdG8tY3VybC1pbi1hcGFjaGVjdGwtc2NyaXB0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9yZXBsYWNlLWx5bngtdG8tY3VybC1pbi1hcGFjaGVjdGwtc2NyaXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NGRkYzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL3JlcGxhY2UtbHlueC10by1jdXJsLWluLWFwYWNoZWN0bC1zY3JpcHQucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSA3NjBjY2JiMmZiMDQ2NjIxYTJhZWFlY2FiYjJiMWVmOWFhMjgwY2YxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogWXVsb25nIFBlaSA8WXVsb25nLnBlaUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAxIFNlcCAyMDExIDAxOjAzOjE0ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlcGxhY2UgbHlueCB0byBjdXJsIGluIGFwYWNoZWN0bCBzY3JpcHQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBZdWxvbmcgUGVpIDxZdWxvbmcucGVpQHdpbmRyaXZlci5jb20+CistLS0KKyBzdXBwb3J0L2FwYWNoZWN0bC5pbiB8ICAgMTQgKysrKysrKysrKy0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zdXBwb3J0L2FwYWNoZWN0bC5pbiBiL3N1cHBvcnQvYXBhY2hlY3RsLmluCitpbmRleCBkNGRmZjM4Li4xMDllYTEzIDEwMDY0NAorLS0tIGEvc3VwcG9ydC9hcGFjaGVjdGwuaW4KKysrKyBiL3N1cHBvcnQvYXBhY2hlY3RsLmluCitAQCAtNTEsMTEgKzUxLDExIEBAIGZpCisgIyBhIGNvbW1hbmQgdGhhdCBvdXRwdXRzIGEgZm9ybWF0dGVkIHRleHQgdmVyc2lvbiBvZiB0aGUgSFRNTCBhdCB0aGUKKyAjIHVybCBnaXZlbiBvbiB0aGUgY29tbWFuZCBsaW5lLiAgRGVzaWduZWQgZm9yIGx5bngsIGhvd2V2ZXIgb3RoZXIKKyAjIHByb2dyYW1zIG1heSB3b3JrLiAgCistTFlOWD0iQExZTlhfUEFUSEAgLWR1bXAiCisrQ1VSTD0iL3Vzci9iaW4vY3VybCIKKyAjCisgIyB0aGUgVVJMIHRvIHlvdXIgc2VydmVyJ3MgbW9kX3N0YXR1cyBzdGF0dXMgcGFnZS4gIElmIHlvdSBkbyBub3QKKyAjIGhhdmUgb25lLCB0aGVuIHN0YXR1cyBhbmQgZnVsbHN0YXR1cyB3aWxsIG5vdCB3b3JrLgorLVNUQVRVU1VSTD0iaHR0cDovL2xvY2FsaG9zdDpAUE9SVEAvc2VydmVyLXN0YXR1cyIKKytTVEFUVVNVUkw9Imh0dHA6Ly9sb2NhbGhvc3Q6QFBPUlRALyIKKyAjCisgIyBTZXQgdGhpcyB2YXJpYWJsZSB0byBhIGNvbW1hbmQgdGhhdCBpbmNyZWFzZXMgdGhlIG1heGltdW0KKyAjIG51bWJlciBvZiBmaWxlIGRlc2NyaXB0b3JzIGFsbG93ZWQgcGVyIGNoaWxkIHByb2Nlc3MuIFRoaXMgaXMKK0BAIC05MSwxMCArOTEsMTYgQEAgY29uZmlndGVzdCkKKyAgICAgRVJST1I9JD8KKyAgICAgOzsKKyBzdGF0dXMpCistICAgICRMWU5YICRTVEFUVVNVUkwgfCBhd2sgJyAvcHJvY2VzcyQvIHsgcHJpbnQ7IGV4aXQgfSB7IHByaW50IH0gJworKyAgICAkQ1VSTCAtcyAkU1RBVFVTVVJMIHwgZ3JlcCAtbyAiSXQgd29ya3MhIgorKyAgICBpZiBbICQ/ICE9IDAgXSA7IHRoZW4KKysgICAgICAgIGVjaG8gVGhlIGh0dHBkIHNlcnZlciBkb2VzIG5vdCB3b3JrIQorKyAgICBmaQorICAgICA7OworIGZ1bGxzdGF0dXMpCistICAgICRMWU5YICRTVEFUVVNVUkwKKysgICAgJENVUkwgLXMgJFNUQVRVU1VSTCB8IGdyZXAgLW8gIkl0IHdvcmtzISIKKysgICAgaWYgWyAkPyAhPSAwIF0gOyB0aGVuCisrICAgICAgICBlY2hvIFRoZSBodHRwZCBzZXJ2ZXIgZG9lcyBub3Qgd29yayEKKysgICAgZmkKKyAgICAgOzsKKyAqKQorICAgICAkSFRUUEQgJEFSR1YKKy0tIAorMS42LjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9zZXJ2ZXItbWFrZWZpbGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyL3NlcnZlci1tYWtlZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTM0OWNiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMi9zZXJ2ZXItbWFrZWZpbGUucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGh0dHAtMi4wLjU0L3NlcnZlci9NYWtlZmlsZS5pbi1vbGQJMjAwNS0xMi0yMCAxMzoyNjo1Ni4wMDAwMDAwMDAgLTA1MDAKKysrKyBodHRwLTIuMC41NC9zZXJ2ZXIvTWFrZWZpbGUuaW4JMjAwNS0xMi0yMCAxMzoyNzoyMi4wMDAwMDAwMDAgLTA1MDAKK0BAIC0yNyw3ICsyNyw3IEBACisgCSQoTElOSykgJChFWFRSQV9MREZMQUdTKSAkKGdlbl90ZXN0X2NoYXJfT0JKRUNUUykgJChFWFRSQV9MSUJTKQorIAorIHRlc3RfY2hhci5oOiBnZW5fdGVzdF9jaGFyCistCS4vZ2VuX3Rlc3RfY2hhciA+IHRlc3RfY2hhci5oCisrCWdlbl90ZXN0X2NoYXIgPiB0ZXN0X2NoYXIuaAorIAorIHV0aWwubG86IHRlc3RfY2hhci5oCisgCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyXzIuNC4yMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTJfMi40LjIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMTUxZDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyXzIuNC4yMC5iYgpAQCAtMCwwICsxLDE4MSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIEFwYWNoZSBIVFRQIFNlcnZlciBpcyBhIHBvd2VyZnVsLCBlZmZpY2llbnQsIGFuZCBcCitleHRlbnNpYmxlIHdlYiBzZXJ2ZXIuIgorU1VNTUFSWSA9ICJBcGFjaGUgSFRUUCBTZXJ2ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iCitERVBFTkRTID0gImxpYnRvb2wtbmF0aXZlIGFwYWNoZTItbmF0aXZlIG9wZW5zc2wgZXhwYXQgcGNyZSBhcHIgYXByLXV0aWwiCitTRUNUSU9OID0gIm5ldCIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9odHRwZC9odHRwZC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3NlcnZlci1tYWtlZmlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9odHRwZC0yLjQuMS1jb3JlbGltaXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaHR0cGQtMi40LjQtZXhwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2h0dHBkLTIuNC4xLXNlbGludXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXBhY2hlLWNvbmZpZ3VyZV9wZXJsYmluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JlcGxhY2UtbHlueC10by1jdXJsLWluLWFwYWNoZWN0bC1zY3JpcHQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXBhY2hlLXNzbC1sdG1haW4tcnBhdGgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaHR0cGQtMi40LjMtZml4LXJhY2UtaXNzdWUtb2YtZGlyLWluc3RhbGwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS1hbGxvdy10by1kaXNhYmxlLXNlbGludXgtc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2FwYWNoZTItdm9sYXRpbGUuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9hcGFjaGUyLnNlcnZpY2UgXAorICAgICAgICAgICIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZGJmZjVhMmI1NDJmYTU4ODU0NDU1YmYxYTBiOTRiODMiCitTUkNfVVJJW21kNXN1bV0gPSAiM2ZmNGYwMGVlMDUxY2Y1ZDUzMDRiNDdiMWJjNDE4YjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGU3NmEzNzVlZDNkYmFjNjM2ZjUwYWMzOWRlOTY2ZWNlNDQzNzUxZmU0ZDYyMzkyZjlhMzYwYTE5ZDk0ZDBkYSIKKworUyA9ICIke1dPUktESVJ9L2h0dHBkLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBwa2djb25maWcgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiYXBhY2hlMi5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRV8ke1BOfSA9ICJkaXNhYmxlIgorCitTU1RBVEVfU0NBTl9GSUxFUyArPSAiYXB4cyBjb25maWdfdmFycy5tayBjb25maWcubmljZSIKKworQ0ZMQUdTX2FwcGVuZCA9ICIgLURQQVRIX01BWD00MDk2IgorQ0ZMQUdTX3ByZXBlbmQgPSAiLUkke1NUQUdJTkdfSU5DRElSfS9vcGVuc3NsICIKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zc2wgXAorICAgIC0td2l0aC1zc2w9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAorICAgIC0td2l0aC1leHBhdD0ke1NUQUdJTkdfTElCRElSfS8uLiBcCisgICAgLS13aXRoLWFwcj0ke1NUQUdJTkdfQklORElSX0NST1NTfS9hcHItMS1jb25maWcgXAorICAgIC0td2l0aC1hcHItdXRpbD0ke1NUQUdJTkdfQklORElSX0NST1NTfS9hcHUtMS1jb25maWcgXAorICAgIC0tZW5hYmxlLWluZm8gXAorICAgIC0tZW5hYmxlLXJld3JpdGUgXAorICAgIC0td2l0aC1kYm09c2RibSBcCisgICAgLS13aXRoLWJlcmtlbGV5LWRiPW5vIFwKKyAgICAtLWxvY2Fsc3RhdGVkaXI9L3Zhci8ke0JQTn0gXAorICAgIC0td2l0aC1nZGJtPW5vIFwKKyAgICAtLXdpdGgtbmRibT1ubyBcCisgICAgLS1pbmNsdWRlZGlyPSR7aW5jbHVkZWRpcn0vJHtCUE59IFwKKyAgICAtLWRhdGFkaXI9JHtkYXRhZGlyfS8ke0JQTn0gXAorICAgIC0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9LyR7QlBOfSBcCisgICAgLS1saWJleGVjZGlyPSR7bGliZGlyfS8ke0JQTn0vbW9kdWxlcyBcCisgICAgYXBfY3Zfdm9pZF9wdHJfbHRfbG9uZz1ubyBcCisgICAgLS1lbmFibGUtbXBtcy1zaGFyZWQgXAorICAgIGFjX2N2X2hhdmVfdGhyZWFkc2FmZV9wb2xsc2V0PW5vIgorCitQQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NlbGludXgnLCAnc2VsaW51eCcsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHW3NlbGludXhdID0gIi0tZW5hYmxlLXNlbGludXgsLS1kaXNhYmxlLXNlbGludXgsbGlic2VsaW51eCxsaWJzZWxpbnV4IgorUEFDS0FHRUNPTkZJR1tvcGVubGRhcF0gPSAiLS1lbmFibGUtbGRhcCAtLWVuYWJsZS1hdXRobnotbGRhcCwtLWRpc2FibGUtbGRhcCAtLWRpc2FibGUtYXV0aG56LWxkYXAsb3BlbmxkYXAiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGNhdCAke1dPUktESVJ9L2luaXQgfCBcCisgICAgICAgIHNlZCAtZSAncywvdXNyL3NiaW4vLCR7c2JpbmRpcn0vLGcnIFwKKyAgICAgICAgICAgIC1lICdzLC91c3IvYmluLywke2JpbmRpcn0vLGcnIFwKKyAgICAgICAgICAgIC1lICdzLC91c3IvbGliLCR7bGliZGlyfS8sZycgXAorICAgICAgICAgICAgLWUgJ3MsL2V0Yy8sJHtzeXNjb25mZGlyfS8sZycgXAorICAgICAgICAgICAgLWUgJ3MsL3Vzci8sJHtwcmVmaXh9LyxnJyA+ICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvJHtCUE59CisgICAgY2htb2QgNzU1ICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvJHtCUE59CisgICAgIyByZW1vdmUgdGhlIGdvb2Z5IG9yaWdpbmFsIGZpbGVzLi4uCisgICAgcm0gLXJmICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0vb3JpZ2luYWwKKyAgICAjIEV4cGF0IHNob3VsZCBiZSBmb3VuZCBpbiB0aGUgc3RhZ2luZyBhcmVhIHZpYSBERVBFTkRTLi4uCisgICAgcm0gLWYgJHtEfS8ke2xpYmRpcn0vbGliZXhwYXQuKgorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS8ke0JQTn0vY29uZi5kCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS8ke0JQTn0vbW9kdWxlcy5kCisKKyAgICAjIEVuc3VyZSBjb25maWd1cmF0aW9uIGZpbGUgcHVsbHMgaW4gY29uZi5kIGFuZCBtb2R1bGVzLmQKKyAgICBwcmludGYgIlxuSW5jbHVkZU9wdGlvbmFsICR7c3lzY29uZmRpcn0vJHtCUE59L2NvbmYuZC8qLmNvbmYiID4+ICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0vaHR0cGQuY29uZgorICAgIHByaW50ZiAiXG5JbmNsdWRlT3B0aW9uYWwgJHtzeXNjb25mZGlyfS8ke0JQTn0vbW9kdWxlcy5kLyouY29uZlxuXG4iID4+ICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0vaHR0cGQuY29uZgorICAgICMgbWF0Y2ggd2l0aCB0aGF0IGlzIGluIGluaXQgc2NyaXB0CisgICAgcHJpbnRmICJcblBpZEZpbGUgL3J1bi9odHRwZC5waWQiID4+ICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0vaHR0cGQuY29uZgorICAgICMgU2V0ICdTZXJ2ZXJOYW1lJyB0byBmaXggZXJyb3IgbWVzc2FnZXMgd2hlbiByZXN0YXJ0IGFwYWNoZSBzZXJ2aWNlCisgICAgc2VkIC1pICdzL14jU2VydmVyTmFtZSB3d3cuZXhhbXBsZS5jb20vU2VydmVyTmFtZSBsb2NhbGhvc3QvJyAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59L2h0dHBkLmNvbmYKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuIAorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2FwYWNoZTItdm9sYXRpbGUuY29uZiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLworICAgIGZpCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYXBhY2hlMi5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2FwYWNoZTIuc2VydmljZQorICAgIHNlZCAtaSAtZSAncyxAQkFTRV9CSU5ESVJALCR7YmFzZV9iaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2FwYWNoZTIuc2VydmljZQorCisgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0KK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgIHNlZCAtaSAtZSAncywke1NUQUdJTkdfRElSX0hPU1R9LCxnJyBcCisgICAgICAgICAgIC1lICdzLEFQVV9JTkNMVURFRElSID0gLiosQVBVX0lOQ0xVREVESVIgPSAsZycgXAorICAgICAgICAgICAtZSAncyxBUFVfQ09ORklHID0gLiosQVBVX0NPTkZJRyA9ICxnJyAke0R9JHtkYXRhZGlyfS9hcGFjaGUyL2J1aWxkL2NvbmZpZ192YXJzLm1rCisKKyAgICBzZWQgLWkgLWUgJ3MsJHtTVEFHSU5HX0RJUl9IT1NUfSwsZycgXAorICAgICAgICAgICAtZSAncywiLiovY29uZmlndXJlIiwiY29uZmlndXJlIixnJyAke0R9JHtkYXRhZGlyfS9hcGFjaGUyL2J1aWxkL2NvbmZpZy5uaWNlCit9CisKK1NZU1JPT1RfUFJFUFJPQ0VTU19GVU5DUyArPSAiYXBhY2hlX3N5c3Jvb3RfcHJlcHJvY2VzcyIKKworYXBhY2hlX3N5c3Jvb3RfcHJlcHJvY2VzcyAoKSB7CisgICAgaW5zdGFsbCAtZCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworICAgIGluc3RhbGwgLW0gNzU1ICR7RH0ke2JpbmRpcn0vYXB4cyAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworICAgIGluc3RhbGwgLWQgJHtTWVNST09UX0RFU1RESVJ9JHtzYmluZGlyfS8KKyAgICBpbnN0YWxsIC1tIDc1NSAke0R9JHtzYmluZGlyfS9hcGFjaGVjdGwgJHtTWVNST09UX0RFU1RESVJ9JHtzYmluZGlyfS8KKyAgICBzZWQgLWkgJ3MhbXkgJGluc3RhbGxidWlsZGRpciA9IC4qIW15ICRpbnN0YWxsYnVpbGRkaXIgPSAiJHtTVEFHSU5HX0RJUl9IT1NUfS8ke2RhdGFkaXJ9LyR7QlBOfS9idWlsZCI7IScgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS9hcHhzCisgICAgc2VkIC1pICdzIW15ICRsaWJ0b29sID0gLiohbXkgJGxpYnRvb2wgPSAiJHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vJHtUQVJHRVRfUFJFRklYfWxpYnRvb2wiOyEnICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vYXB4cworCisgICAgc2VkIC1pICdzIV5BUFJfQ09ORklHID0gLiohQVBSX0NPTkZJRyA9ICR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L2Fwci0xLWNvbmZpZyEnICR7U1lTUk9PVF9ERVNURElSfSR7ZGF0YWRpcn0vJHtCUE59L2J1aWxkL2NvbmZpZ192YXJzLm1rCisgICAgc2VkIC1pICdzIV5BUFVfQ09ORklHID0gLiohQVBVX0NPTkZJRyA9ICR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L2FwdS0xLWNvbmZpZyEnICR7U1lTUk9PVF9ERVNURElSfSR7ZGF0YWRpcn0vJHtCUE59L2J1aWxkL2NvbmZpZ192YXJzLm1rCisgICAgc2VkIC1pICdzIV5pbmNsdWRlZGlyID0gLiohaW5jbHVkZWRpciA9ICR7U1RBR0lOR19JTkNESVJ9L2FwYWNoZTIhJyAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9LyR7QlBOfS9idWlsZC9jb25maWdfdmFycy5taworICAgIHNlZCAtaSAncyFeQ0ZMQUdTID0gLUlbXiBdKiFDRkxBR1MgPSAtSSR7U1RBR0lOR19JTkNESVJ9L29wZW5zc2whJyAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9LyR7QlBOfS9idWlsZC9jb25maWdfdmFycy5taworICAgIHNlZCAtaSAncyFeRVhUUkFfTERGTEFHUyA9IC4qIUVYVFJBX0xERkxBR1MgPSAtTCR7U1RBR0lOR19MSUJESVJ9IScgJHtTWVNST09UX0RFU1RESVJ9JHtkYXRhZGlyfS8ke0JQTn0vYnVpbGQvY29uZmlnX3ZhcnMubWsKKyAgICBzZWQgLWkgJ3MhXkVYVFJBX0lOQ0xVREVTID0gLiohRVhUUkFfSU5DTFVERVMgPSAtSSQoaW5jbHVkZWRpcikgLUkuIC1JJHtTVEFHSU5HX0lOQ0RJUn0hJyAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9LyR7QlBOfS9idWlsZC9jb25maWdfdmFycy5taworICAgIHNlZCAtaSAncyEtLXN5c3Jvb3Q9W14gXSohLS1zeXNyb290PSR7U1RBR0lOR19ESVJfSE9TVH0hJyAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9LyR7QlBOfS9idWlsZC9jb25maWdfdmFycy5taworfQorCisjCisjIGltcGxpY2F0aW9ucyAtIHVzZWQgYnkgdXBkYXRlLXJjLmQgc2NyaXB0cworIworSU5JVFNDUklQVF9OQU1FID0gImFwYWNoZTIiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyA5MSAyMCIKK0xFQURfU09OQU1FID0gImxpYmFwci0xLnNvLjAiCisKK1BBQ0tBR0VTID0gIiR7UE59LXNjcmlwdHMgJHtQTn0tZG9jICR7UE59LWRldiAke1BOfS1kYmcgJHtQTn0iCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9LyR7QlBOfS9odHRwZC5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9LyR7QlBOfS9tYWdpYyBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS8ke0JQTn0vbWltZS50eXBlcyBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvJHtCUE59ICIKKworIyB3ZSBvdmVycmlkZSBoZXJlIHJhdGhlciB0aGFuIGFwcGVuZCBzbyB0aGF0IC5zbyBsaW5rcyBhcmUKKyMgaW5jbHVkZWQgaW4gdGhlIHJ1bnRpbWUgcGFja2FnZSByYXRoZXIgdGhhbiBoZXJlICgtZGV2KQorIyBhbmQgdG8gZ2V0IGJ1aWxkLCBpY29ucywgZXJyb3IgaW50byB0aGUgLWRldiBwYWNrYWdlCitGSUxFU18ke1BOfS1kZXYgPSAiJHtkYXRhZGlyfS8ke0JQTn0vYnVpbGQgXAorICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtCUE59L2ljb25zIFwKKyAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7QlBOfS9lcnJvciBcCisgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2Fwci1jb25maWcgJHtiaW5kaXJ9L2FwdS1jb25maWcgXAorICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9hcHIqLmV4cCBcCisgICAgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS8ke0JQTn0gXAorICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vKi5hIFwKKyAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vYXB4cyBcCisgICAgICAgICAgICAgICAgIgorCisKKyMgbWFudWFsIHRvIG1hbnVhbAorRklMRVNfJHtQTn0tZG9jICs9ICIgJHtkYXRhZGlyfS8ke0JQTn0vbWFudWFsIgorCitGSUxFU18ke1BOfS1zY3JpcHRzICs9ICIke2JpbmRpcn0vZGJtbWFuYWdlIgorCisjCisjIG92ZXJyaWRlIHRoaXMgdG9vIC0gaGVyZSBpcyB0aGUgZGVmYXVsdCwgbGVzcyBkYXRhZGlyCisjCitGSUxFU18ke1BOfSA9ICAiJHtiaW5kaXJ9ICR7c2JpbmRpcn0gJHtsaWJleGVjZGlyfSAke2xpYmRpcn0vbGliKi5zby4qICR7c3lzY29uZmRpcn0gXAorICAgICAgICAgICAgICAgICR7c2hhcmVkc3RhdGVkaXJ9ICR7bG9jYWxzdGF0ZWRpcn0gL2JpbiAvc2JpbiAvbGliLyouc28qIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vJHtCUE59IgorCisjIHdlIHdhbnQgaHRkb2NzIGFuZCBjZ2ktYmluIHRvIGdvIHdpdGggdGhlIGJpbmFyeQorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vJHtCUE59L2h0ZG9jcyAke2RhdGFkaXJ9LyR7QlBOfS9jZ2ktYmluIgorCisjbWFrZSBzdXJlIHRoZSBsb25lIC5zbyBsaW5rcyBhbHNvIGdldCB3cmFwcGVkIGluIHRoZSBiYXNlIHBhY2thZ2UKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGliKi5zbyAke2xpYmRpcn0vcGtnY29uZmlnLyoiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9LyR7QlBOfS9tb2R1bGVzLy5kZWJ1ZyIKKworUkRFUEVORFNfJHtQTn0gKz0gIm9wZW5zc2wgbGliZ2NjIgorUkRFUEVORFNfJHtQTn0tc2NyaXB0cyArPSAicGVybCAke1BOfSIKK1JERVBFTkRTXyR7UE59LWRldiA9ICJwZXJsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLVBDUkUtZGV0ZWN0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzMDk2ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9maWxlcy8wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItUENSRS1kZXRlY3Rpb24ucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSBkODgzNzc1NmYyYTQ4YWRjZmU1ZDY0NWMzOWNmMTYzZDk2ZWFjNzZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29lbiBLb29pIDxrb2VuLmtvb2lAbGluYXJvLm9yZz4KK0RhdGU6IFR1ZSwgMTcgSnVuIDIwMTQgMDk6MTA6NTcgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyBmb3IgUENSRSBkZXRlY3Rpb24KKworU2lnbmVkLW9mZi1ieTogS29lbiBLb29pIDxrb2VuLmtvb2lAbGluYXJvLm9yZz4KK1Vwc3RyZWFtLVN0YXR1czogcGVuZGluZworLS0tCisgY29uZmlndXJlLmluIHwgMjcgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IDg2NGQ3YzcuLmRhNDEzOGUgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuaW4KKysrKyBiL2NvbmZpZ3VyZS5pbgorQEAgLTIxNSwyOCArMjE1LDExIEBAIGZpCisgQUNfQVJHX1dJVEgocGNyZSwKKyBBUEFDSEVfSEVMUF9TVFJJTkcoLS13aXRoLXBjcmU9UEFUSCxVc2UgZXh0ZXJuYWwgUENSRSBsaWJyYXJ5KSkKKyAKKy1BQ19QQVRIX1BST0coUENSRV9DT05GSUcsIHBjcmUtY29uZmlnLCBmYWxzZSkKKy1pZiB0ZXN0IC1kICIkd2l0aF9wY3JlIiAmJiB0ZXN0IC14ICIkd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZyI7IHRoZW4KKy0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlL2Jpbi9wY3JlLWNvbmZpZworLWVsaWYgdGVzdCAteCAiJHdpdGhfcGNyZSI7IHRoZW4KKy0gICBQQ1JFX0NPTkZJRz0kd2l0aF9wY3JlCistZmkKKy0KKy1pZiB0ZXN0ICIkUENSRV9DT05GSUciICE9ICJmYWxzZSI7IHRoZW4KKy0gIGlmICRQQ1JFX0NPTkZJRyAtLXZlcnNpb24gPi9kZXYvbnVsbCAyPiYxOyB0aGVuIDo7IGVsc2UKKy0gICAgQUNfTVNHX0VSUk9SKFtEaWQgbm90IGZpbmQgcGNyZS1jb25maWcgc2NyaXB0IGF0ICRQQ1JFX0NPTkZJR10pCistICBmaQorLSAgY2FzZSBgJFBDUkVfQ09ORklHIC0tdmVyc2lvbmAgaW4KKy0gIFtbMS01XS4qXSkKKy0gICAgQUNfTVNHX0VSUk9SKFtOZWVkIGF0IGxlYXN0IHBjcmUgdmVyc2lvbiA2LjBdKQorLSAgICA7OworLSAgZXNhYworLSAgQUNfTVNHX05PVElDRShbVXNpbmcgZXh0ZXJuYWwgUENSRSBsaWJyYXJ5IGZyb20gJFBDUkVfQ09ORklHXSkKKy0gIEFQUl9BRERUTyhQQ1JFX0lOQ0xVREVTLCBbYCRQQ1JFX0NPTkZJRyAtLWNmbGFnc2BdKQorLSAgQVBSX0FERFRPKFBDUkVfTElCUywgW2AkUENSRV9DT05GSUcgLS1saWJzYF0pCistZWxzZQorLSAgQUNfTVNHX0VSUk9SKFtwY3JlLWNvbmZpZyBmb3IgbGlicGNyZSBub3QgZm91bmQuIFBDUkUgaXMgcmVxdWlyZWQgYW5kIGF2YWlsYWJsZSBmcm9tIGh0dHA6Ly9wY3JlLm9yZy9dKQorLWZpCisrUEtHX0NIRUNLX01PRFVMRVMoW1BDUkVdLCBbbGlicGNyZV0sIFsKKysgIEFDX0RFRklORShbSEFWRV9QQ1JFXSwgWzFdLCBbRGVmaW5lIGlmIHlvdSBoYXZlIFBDUkUgbGlicmFyeV0pCisrXSwgWworKyAgQUNfTVNHX0VSUk9SKFskUENSRV9QS0dfRVJST1JTXSkKKytdKQorIEFQQUNIRV9TVUJTVChQQ1JFX0xJQlMpCisgCisgQUNfTVNHX05PVElDRShbXSkKKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvYXBhY2hlMi12b2xhdGlsZS5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvYXBhY2hlMi12b2xhdGlsZS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmMmM1ODcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9maWxlcy9hcGFjaGUyLXZvbGF0aWxlLmNvbmYKQEAgLTAsMCArMSwyIEBACitkICAvdmFyL3J1bi9hcGFjaGUyIDA3NTUgcm9vdCByb290IC0KK2QgIC92YXIvbG9nL2FwYWNoZTIgMDc1NSByb290IHJvb3QgLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvYXBhY2hlMi5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvYXBhY2hlMi5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliNTU0OGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9maWxlcy9hcGFjaGUyLnNlcnZpY2UKQEAgLTAsMCArMSwxNCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1UaGUgQXBhY2hlIEhUVFAgU2VydmVyCitBZnRlcj1uZXR3b3JrLnRhcmdldCByZW1vdGUtZnMudGFyZ2V0IG5zcy1sb29rdXAudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1zaW1wbGUKK0Vudmlyb25tZW50PUxBTkc9QworRXhlY1N0YXJ0PUBTQklORElSQC9odHRwZCAtREZPUkVHUk9VTkQgLUQgU1NMIC1EIFBIUDUgLWsgc3RhcnQKK0V4ZWNTdG9wPUBCQVNFX0JJTkRJUkAva2lsbCAtV0lOQ0ggJHtNQUlOUElEfQorS2lsbFNpZ25hbD1TSUdDT05UCitQcml2YXRlVG1wPXRydWUKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvY29uZmlndXJlLWFsbG93LXRvLWRpc2FibGUtc2VsaW51eC1zdXBwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvY29uZmlndXJlLWFsbG93LXRvLWRpc2FibGUtc2VsaW51eC1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViNWMyOTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9maWxlcy9jb25maWd1cmUtYWxsb3ctdG8tZGlzYWJsZS1zZWxpbnV4LXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSBkMjNkZDMzZTM3MzM0MGY2ZmRkZjExOTA0ODM5ZDFhMTE4ODI0NDAxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDEgRGVjIDIwMTQgMDI6MDg6MjcgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gYXBhY2hlMjogYWxsb3cgdG8gZGlzYWJsZSBzZWxpbnV4IHN1cHBvcnQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmluIHwgICAxNCArKysrKysrKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCBkZjk0ZWU1Li44YzNhYjIxIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC00NjYsMTAgKzQ2NiwxNiBAQCBnZXRsb2FkYXZnCisgZG5sIGNvbmZpcm0gdGhhdCBhIHZvaWQgcG9pbnRlciBpcyBsYXJnZSBlbm91Z2ggdG8gc3RvcmUgYSBsb25nIGludGVnZXIKKyBBUEFDSEVfQ0hFQ0tfVk9JRF9QVFJfTEVOCisgCistQUNfQ0hFQ0tfTElCKHNlbGludXgsIGlzX3NlbGludXhfZW5hYmxlZCwgWworLSAgIEFDX0RFRklORShIQVZFX1NFTElOVVgsIDEsIFtEZWZpbmVkIGlmIFNFTGludXggaXMgc3VwcG9ydGVkXSkKKy0gICBBUFJfQUREVE8oQVBfTElCUywgWy1sc2VsaW51eF0pCistXSkKKysjIFNFTGludXggc3VwcG9ydAorK0FDX0FSR19FTkFCTEUoc2VsaW51eCxBUEFDSEVfSEVMUF9TVFJJTkcoLS1lbmFibGUtc2VsaW51eCxFbmFibGUgU0VMaW51eCBzdXBwb3J0IFtkZWZhdWx0PWF1dG9dKSwKKysgICAgW10sW2VuYWJsZV9zZWxpbnV4PWF1dG9dKQorKworK2lmIHRlc3QgeCRlbmFibGVfc2VsaW51eCAhPSB4bm87IHRoZW4KKysgICAgQUNfQ0hFQ0tfTElCKHNlbGludXgsIGlzX3NlbGludXhfZW5hYmxlZCwgWworKyAgICAgICAgQUNfREVGSU5FKEhBVkVfU0VMSU5VWCwgMSwgW0RlZmluZWQgaWYgU0VMaW51eCBpcyBzdXBwb3J0ZWRdKQorKyAgICAgICAgQVBSX0FERFRPKEFQX0xJQlMsIFstbHNlbGludXhdKQorKyAgICBdKQorK2ZpCisgCisgQUNfQ0FDSEVfQ0hFQ0soW2ZvciBnZXR0aWQoKV0sIGFjX2N2X2dldHRpZCwKKyBbQUNfVFJZX1JVTigjZGVmaW5lIF9HTlVfU09VUkNFCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvaHR0cGQtMi40LjMtZml4LXJhY2UtaXNzdWUtb2YtZGlyLWluc3RhbGwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9maWxlcy9odHRwZC0yLjQuMy1maXgtcmFjZS1pc3N1ZS1vZi1kaXItaW5zdGFsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTQ4NzUzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvaHR0cGQtMi40LjMtZml4LXJhY2UtaXNzdWUtb2YtZGlyLWluc3RhbGwucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK2ZpeCBmb2xsb3dpbmcgcmFjZSBpc3N1ZSB3aGVuIGRvIHBhcmFsbGVsIGluc3RhbGwKK3wgbWtkaXI6IGNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5IGAvaG9tZS9teXBjL3dvcmtzcGFjZS9wb2t5L2J1aWxkX3A0MDgwZHNfcmVsZWFzZS90bXAvd29yay9wcGNlNTAwbWMtZnNsX25ldHdvcmtpbmctbGludXgvYXBhY2hlMi8yLjQuMy1yMS9pbWFnZS91c3Ivc2hhcmUvYXBhY2hlMic6IEZpbGUgZXhpc3RzCisuLi4KK3wgbWtkaXI6IGNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5IGAvaG9tZS9teXBjL3dvcmtzcGFjZS9wb2t5L2J1aWxkX3A0MDgwZHNfcmVsZWFzZS90bXAvd29yay9wcGNlNTAwbWMtZnNsX25ldHdvcmtpbmctbGludXgvYXBhY2hlMi8yLjQuMy1yMS9pbWFnZS91c3Ivc2hhcmUvYXBhY2hlMic6IEZpbGUgZXhpc3RzCit8IG1ha2VbMV06ICoqKiBbaW5zdGFsbC1tYW5dIEVycm9yIDEKK3wgbWFrZVsxXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KKworLVNpZ25lZC1vZmYtYnk6IFpoZW5odWEgTHVvIDx6aGVuaHVhLmx1b0BmcmVlc2NhbGUuY29tPgorLS0tIGh0dHBkLTIuNC4zL2J1aWxkL21rZGlyLnNoLm9yaWcJMjAxMy0wMS0yNSAwMzo0NzoyMS41NjUyNTU0MjAgLTA2MDAKKysrKyBodHRwZC0yLjQuMy9idWlsZC9ta2Rpci5zaAkyMDEzLTAxLTI1IDAzOjQ2OjE3LjgzMzA1MTIzMCAtMDYwMAorQEAgLTM5LDcgKzM5LDcgQEAKKyAgICAgICAgIGVzYWMKKyAgICAgICAgIGlmIHRlc3QgISAtZCAiJHBhdGhjb21wIjsgdGhlbgorICAgICAgICAgICAgIGVjaG8gIm1rZGlyICRwYXRoY29tcCIgMT4mMgorLSAgICAgICAgICAgIG1rZGlyICIkcGF0aGNvbXAiIHx8IGVycnN0YXR1cz0kPworKyAgICAgICAgICAgIG1rZGlyIC1wICIkcGF0aGNvbXAiIHx8IGVycnN0YXR1cz0kPworICAgICAgICAgZmkKKyAgICAgICAgIHBhdGhjb21wPSIkcGF0aGNvbXAvIgorICAgICBkb25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9maWxlcy9pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvaW5pdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NThkMTMzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvZmlsZXMvaW5pdApAQCAtMCwwICsxLDIzMCBAQAorIyEvYmluL3NoCisjIyMgQkVHSU4gSU5JVCBJTkZPCisjIFByb3ZpZGVzOiBodHRwZAorIyBSZXF1aXJlZC1TdGFydDogJGxvY2FsX2ZzICRyZW1vdGVfZnMgJG5ldHdvcmsgJG5hbWVkCisjIFJlcXVpcmVkLVN0b3A6ICRsb2NhbF9mcyAkcmVtb3RlX2ZzICRuZXR3b3JrCisjIFNob3VsZC1TdGFydDogZGlzdGNhY2hlCisjIFNob3J0LURlc2NyaXB0aW9uOiBzdGFydCBhbmQgc3RvcCBBcGFjaGUgSFRUUCBTZXJ2ZXIKKyMgRGVzY3JpcHRpb246IFRoZSBBcGFjaGUgSFRUUCBTZXJ2ZXIgaXMgYW4gZXh0ZW5zaWJsZSBzZXJ2ZXIKKyMgIGltcGxlbWVudGluZyB0aGUgY3VycmVudCBIVFRQIHN0YW5kYXJkcy4KKyMjIyBFTkQgSU5JVCBJTkZPCisKK0FSR1M9Ii1EIFNTTCAtRCBQSFA1IC1rIHN0YXJ0IgorTkFNRT1hcGFjaGUyCitQQVRIPS9iaW46L3Vzci9iaW46L3NiaW46L3Vzci9zYmluCitEQUVNT049L3Vzci9zYmluL2h0dHBkCitTVUVYRUM9L3Vzci9saWIvYXBhY2hlL3N1ZXhlYworUElERklMRT0vcnVuL2h0dHBkLnBpZAorQ09ORj0vZXRjL2FwYWNoZTIvaHR0cGQuY29uZgorQVBBQ0hFQ1RMPS91c3Ivc2Jpbi9hcGFjaGVjdGwgCisKK3RyYXAgIiIgMQorZXhwb3J0IExBTkc9QworZXhwb3J0IFBBVEgKKwordGVzdCAtZiAkREFFTU9OIHx8IGV4aXQgMAordGVzdCAtZiAkQVBBQ0hFQ1RMIHx8IGV4aXQgMAorCisjIGVuc3VyZSB3ZSBkb24ndCBsZWFrIGVudmlyb25tZW50IHZhcnMgaW50byBhcGFjaGVjdGwKK0FQQUNIRUNUTD0iZW52IC1pIExBTkc9JHtMQU5HfSBQQVRIPSR7UEFUSH0gJEFQQUNIRUNUTCIKKworYXBhY2hlX2NvbmZ0ZXN0KCkgeworICAgIGlmICQoJEFQQUNIRUNUTCBjb25maWd0ZXN0ID4gL2Rldi9udWxsIDI+JjEgKTsgdGhlbgorICAgICAgICByZXR1cm4gMAorICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIDEKKyAgICBmaQorfQorCithcGFjaGVfd2FpdF9zdGFydCgpIHsKKyAgICBsb2NhbCBTVEFUVVM9JDEKKworICAgIGlmIFsgJFNUQVRVUyAhPSAwIF0gOyB0aGVuCisgICAgICAgIHJldHVybiAkU1RBVFVTCisgICAgZmkKKworICAgIGxvY2FsIGk9MAorICAgIHdoaWxlIDogOyBkbworICAgICAgICAgICAgUElEVE1QPSQocGlkb2YgJERBRU1PTiB8IHRyICcgJyAnXG4nIHwgZ3JlcCAtdyAkKGNhdCAkUElERklMRSkpCisgICAgICAgICAgICBpZiBbIC1uICIke1BJRFRNUDotfSIgXSAmJiBraWxsIC0wICIke1BJRFRNUDotfSIgMj4gL2Rldi9udWxsOyB0aGVuCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAkU1RBVFVTCisgICAgICAgICAgICBmaQorCisgICAgICAgICAgICBpZiBbICRpID0gIjIwIiBdIDsgdGhlbgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gMgorICAgICAgICAgICAgZmkKKworICAgICAgICAgICAgc2xlZXAgMQorICAgICAgICAgICAgaT0kKCgkaSsxKSkKKyAgICBkb25lCit9CisKK2FwYWNoZV93YWl0X3N0b3AoKSB7CisgICAgbG9jYWwgU1RBVFVTPSQxCisKKyAgICBpZiBbICRTVEFUVVMgIT0gMCBdIDsgdGhlbgorICAgICAgICByZXR1cm4gJFNUQVRVUworICAgIGZpCisKKyAgICBQSURUTVA9JChwaWRvZiAkREFFTU9OIHwgdHIgJyAnICdcbicgfCBncmVwIC13ICQoY2F0ICRQSURGSUxFKSkKKyAgICBpZiBbIC1uICIke1BJRFRNUDotfSIgXSAmJiBraWxsIC0wICIke1BJRFRNUDotfSIgMj4gL2Rldi9udWxsOyB0aGVuCisgICAgICAgICAgICBsb2NhbCBpPTAKKyAgICAgICAgICAgIHdoaWxlIGtpbGwgLTAgIiR7UElEVE1QOi19IiAyPiAvZGV2L251bGw7ICBkbworICAgICAgICAgICAgICAgICAgICBpZiBbICRpID0gJzYwJyBdOyB0aGVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RBVFVTPTIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgICAgICBmaQorICAgICAgICAgICAgICAgICAgICBzbGVlcCAxCisgICAgICAgICAgICAgICAgICAgIGk9JCgoJGkrMSkpCisgICAgICAgICAgICBkb25lCisgICAgICAgICAgICByZXR1cm4gJFNUQVRVUworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuICRTVEFUVVMKKyAgICBmaQorfQorCisjCisjIEZ1bmN0aW9uIHRoYXQgc3RhcnRzIHRoZSBkYWVtb24vc2VydmljZQorIworZG9fc3RhcnQoKQoreworICAgICMgUmV0dXJuCisgICAgIyAgIDAgaWYgZGFlbW9uIGhhcyBiZWVuIHN0YXJ0ZWQKKyAgICAjICAgMSBpZiBkYWVtb24gd2FzIGFscmVhZHkgcnVubmluZworICAgICMgICAyIGlmIGRhZW1vbiBjb3VsZCBub3QgYmUgc3RhcnRlZAorCisgICAgaWYgWyAtZSAkUElERklMRSBdICYmIHBpZG9mICREQUVNT04gfCB0ciAnICcgJ1xuJyB8IGdyZXAgLXcgJChjYXQgJFBJREZJTEUpID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuCisgICAgICAgICAgICByZXR1cm4gMQorICAgIGZpCisKKyAgICBpZiBhcGFjaGVfY29uZnRlc3QgOyB0aGVuCisgICAgICAgICAgICAkQVBBQ0hFQ1RMIHN0YXJ0CisgICAgICAgICAgICBhcGFjaGVfd2FpdF9zdGFydCAkPworICAgICAgICAgICAgcmV0dXJuICQ/CisgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIDIKKyAgICBmaQorfQorCisjCisjIEZ1bmN0aW9uIHRoYXQgc3RvcHMgdGhlIGRhZW1vbi9zZXJ2aWNlCisjCitkb19zdG9wKCkKK3sKKyAgICAjIFJldHVybgorICAgICMgICAwIGlmIGRhZW1vbiBoYXMgYmVlbiBzdG9wcGVkCisgICAgIyAgIDEgaWYgZGFlbW9uIHdhcyBhbHJlYWR5IHN0b3BwZWQKKyAgICAjICAgMiBpZiBkYWVtb24gY291bGQgbm90IGJlIHN0b3BwZWQKKyAgICAjICAgb3RoZXIgaWYgYSBmYWlsdXJlIG9jY3VycmVkCisKKyAgICAgICAgbG9jYWwgQVBfUkVUPTAKKworICAgICAgICBpZiBwaWRvZiAkREFFTU9OID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuCisgICAgICAgICAgICAgICAgaWYgWyAtZSAkUElERklMRSBdICYmIHBpZG9mICREQUVNT04gfCB0ciAnICcgJ1xuJyB8IGdyZXAgLXcgJChjYXQgJFBJREZJTEUpID4gL2Rldi9udWxsIDI+JjEgOyB0aGVuCisgICAgICAgICAgICAgICAgICAgICAgICBBUF9SRVQ9MgorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIEFQX1JFVD0xCisgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgQVBfUkVUPTAKKyAgICAgICAgZmkKKworICAgICAgICAjIEFQX1JFVCBpczoKKyAgICAgICAgIyAwIGlmIEFwYWNoZSAod2hpY2hldmVyKSBpcyBub3QgcnVubmluZworICAgICAgICAjIDEgaWYgQXBhY2hlICh3aGljaGV2ZXIpIGlzIHJ1bm5pbmcKKyAgICAgICAgIyAyIGlmIEFwYWNoZSBmcm9tIHRoZSBQSURGSUxFIGlzIHJ1bm5pbmcKKworICAgICAgICBpZiBbICRBUF9SRVQgPSAwIF0gOyB0aGVuCisgICAgICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgZmkKKworICAgICAgICBpZiBbICRBUF9SRVQgPSAyIF0gJiYgYXBhY2hlX2NvbmZ0ZXN0IDsgdGhlbgorICAgICAgICAgICAgICAgICRBUEFDSEVDVEwgc3RvcAorICAgICAgICAgICAgICAgIGFwYWNoZV93YWl0X3N0b3AgJD8KKyAgICAgICAgICAgICAgICByZXR1cm4gJD8KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGlmIFsgJEFQX1JFVCA9IDIgXTsgdGhlbgorICAgICAgICAgICAgICAgICAgICAgICAga2lsbCAkKHBpZG9mICREQUVNT04gfCB0ciAnICcgJ1xuJyB8IGdyZXAgLXcgJChjYXQgJFBJREZJTEUpKQorICAgICAgICAgICAgICAgICAgICAgICAgYXBhY2hlX3dhaXRfc3RvcCAkPworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICQ/CisgICAgICAgICAgICAgICAgZWxpZiBbICRBUF9SRVQgPSAxIF0gOyB0aGVuCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMgorICAgICAgICAgICAgICAgIGZpCisgICAgICAgIGZpCisKK30KKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgIGVjaG8gLW4gIlN0YXJ0aW5nIHdlYiBzZXJ2ZXI6ICROQU1FIgorICAgIGRvX3N0YXJ0CisgICAgY2FzZSAkPyBpbgorICAgICAgICAwfDEpCisgICAgICAgICAgICBlY2hvIC4KKyAgICAgICAgICAgIGV4aXQgMAorICAgICAgICAgICAgOzsKKyAgICAgICAgMikKKyAgICAgICAgICAgIGVjaG8gZmFpbGVkCisgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgICAgIDs7CisgICAgZXNhYworICAgIDs7CisKKyAgc3RvcCkKKyAgICBlY2hvIC1uICJTdG9wcGluZyB3ZWIgc2VydmVyOiAkTkFNRSIKKyAgICBkb19zdG9wCisgICAgY2FzZSAkPyBpbgorICAgICAgICAwfDEpCisgICAgICAgICAgICBlY2hvIC4KKyAgICAgICAgICAgIGV4aXQgMAorICAgICAgICAgICAgOzsKKyAgICAgICAgMikKKyAgICAgICAgICAgIGVjaG8gZmFpbGVkCisgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgICAgIDs7CisgICAgZXNhYworICAgIDs7CisKKyAgcmVsb2FkKQorICAgIGVjaG8gLW4gIlJlbG9hZGluZyAkTkFNRSBjb25maWd1cmF0aW9uIgorICAgIGtpbGwgLUhVUCBgY2F0ICRQSURGSUxFYAorICAgIDs7CisKKyAgcmVsb2FkLW1vZHVsZXMpCisgICAgZWNobyAtbiAiUmVsb2FkaW5nICROQU1FIG1vZHVsZXMiCisgICAgJEFQQUNIRUNUTCByZXN0YXJ0CisgICAgOzsKKworICByZXN0YXJ0KQorICAgIGVjaG8gIlJlc3RhcnRpbmcgd2ViIHNlcnZlcjogJE5BTUUiCisgICAgZG9fc3RvcAorICAgIGNhc2UgIiQ/IiBpbgorICAgICAgICAwfDEpCisgICAgICAgICAgICBkb19zdGFydAorICAgICAgICAgICAgZXhpdCAkPworICAgICAgICAgICAgOzsKKyAgICAgICAgKikKKyAgICAgICAgICAgICMgRmFpbGVkIHRvIHN0b3AKKyAgICAgICAgICAgIGV4aXQgMQorICAgICAgICAgICAgOzsKKyAgICBlc2FjCisgICAgOzsKKworICBmb3JjZS1yZWxvYWQpCisgICAgJDAgcmVsb2FkLW1vZHVsZXMKKyAgICBleGl0ICQ/CisgICAgOzsKKworICAqKQorICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC8kTkFNRSB7c3RhcnR8c3RvcHxyZWxvYWR8cmVsb2FkLW1vZHVsZXN8Zm9yY2UtcmVsb2FkfHJlc3RhcnR9IgorICAgIGV4aXQgMQorICAgIDs7Citlc2FjCisKK2lmIFsgJD8gPSAwIF07IHRoZW4KKwllY2hvIC4KKwlleGl0IDAKK2Vsc2UKKwllY2hvIGZhaWxlZAorCWV4aXQgMQorZmkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZS9jaGVyb2tlZS1pbnN0YWxsLWNvbmZpZ3VyZWQucHktb25jZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZS9jaGVyb2tlZS1pbnN0YWxsLWNvbmZpZ3VyZWQucHktb25jZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzM2ZjdkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlL2NoZXJva2VlLWluc3RhbGwtY29uZmlndXJlZC5weS1vbmNlLnBhdGNoCkBAIC0wLDAgKzEsNDAgQEAKK0Zyb20gOThhMGYxOWRmMGEzMWQ1NjQ5YWQ4OWQzOTVmZDFiOGRlNTU5MTgyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAzIEFwciAyMDE0IDIxOjMzOjI1ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGFkbWluL01ha2VmaWxlLmFtOiBvbmx5IGluc3RhbGwgY29uZmlndXJlZC5weSBvbmNlCisKK0JvdGggdGhlIHR3byBydWxlcyBpbnN0YWxsLWFkbWlucHlEQVRBIGFuZCBpbnN0YWxsLWdlbmVyYXRlZERBVEEgd2lsbAoraW5zdGFsbCB0aGUgY29uZmlndXJlZC5weSB0byB0aGUgc2FtZSBsb2NhdGlvbiwgdGhleSBjYW4gcnVuIHBhcmFsbGVsLAorYW5kIHRoZXkgdXNlICJpbnN0YWxsIC1tIiwgd2hpY2ggd291bGQgbWlnaHQgYnVpbGQgZmFpbHVyZXM6CisKKy91c3IvYmluL2luc3RhbGw6IHNldHRpbmcgcGVybWlzc2lvbnMgZm9yIGAvcGF0aC90by9jb25maWd1cmVkLnB5JzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorCitUaGlzIGlzIGJlY2F1c2UgdGhlIGZpcnN0IGluc3RhbGwgaXMgc2V0dGluZyB0aGUgcGVybWlzc2lvbiB3aGlsZSB0aGUKK3NlY29uZCBpbnN0YWxsIGlzIHJlbW92aW5nIHRoZSBmaWxlIGFuIHJlLWluc3RhbGwuCisKK09ubHkgaW5zdGFsbCB0aGUgY29uZmlndXJlZC5weSBvbmNlIHdpbGwgZml4IHRoZSBwcm9ibGVtLCBJIHRoaW5rIHRoYXQKK3RoZXJlIGlzIG5vIHNpZGUgZWZmZWN0IHNpbmNlIGl0IGluc3RhbGxlZCB0aGUgc2FtZSBmaWxlIHRvIHRoZSBzYW1lCitsb2NhdGlvbiB0d2ljZSBpbiB0aGUgcGFzdC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgYWRtaW4vTWFrZWZpbGUuYW0gfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYWRtaW4vTWFrZWZpbGUuYW0gYi9hZG1pbi9NYWtlZmlsZS5hbQoraW5kZXggY2U1OTM3Yi4uNmY5NjkzNCAxMDA2NDQKKy0tLSBhL2FkbWluL01ha2VmaWxlLmFtCisrKysgYi9hZG1pbi9NYWtlZmlsZS5hbQorQEAgLTczLDcgKzczLDYgQEAgU3lzdGVtU3RhdHNXaWRnZXRzLnB5IFwKKyBXaXphcmQucHkgXAorIFhNTFNlcnZlckRpZ2VzdC5weSBcCisgY29uZmlnX3ZlcnNpb24ucHkgXAorLWNvbmZpZ3VyZWQucHkgXAorIGNvbnN0cy5weSBcCisgdXRpbC5weSBcCisgcG9wZW4ucHkgXAorLS0gCisxLjguMi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZS9jaGVyb2tlZS5pbml0IGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlL2NoZXJva2VlLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTM2MDNiOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9jaGVyb2tlZS9jaGVyb2tlZS9jaGVyb2tlZS5pbml0CkBAIC0wLDAgKzEsMzIgQEAKKyMhL2Jpbi9zaAorREFFTU9OPS91c3Ivc2Jpbi9jaGVyb2tlZQorQ09ORklHPS9ldGMvY2hlcm9rZWUvY2hlcm9rZWUuY29uZgorUElERklMRT0vdmFyL3J1bi9jaGVyb2tlZS5waWQKK05BTUU9ImNoZXJva2VlIgorREVTQz0iQ2hlcm9rZWUgaHR0cCBzZXJ2ZXIiCisKK3Rlc3QgLXIgL2V0Yy9kZWZhdWx0L2NoZXJva2VlICYmIC4gL2V0Yy9kZWZhdWx0L2NoZXJva2VlCit0ZXN0IC14ICIkREFFTU9OIiB8fCBleGl0IDAKK3Rlc3QgISAtciAiJENPTkZJRyIgJiYgZXhpdCAwCisgICAgICAgIAorY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgIGVjaG8gIlN0YXJ0aW5nICRERVNDOiAiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1va25vZG8gLVMgLXggJERBRU1PTiAtLSAtZCAtQyAkQ09ORklHCisgICAgOzsKKworICBzdG9wKQorICAgIGVjaG8gIlN0b3BwaW5nICRERVNDOiIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAtcCAkUElERklMRQorICAgIDs7CisKKyAgcmVzdGFydCkKKyAgICAkMCBzdG9wID4vZGV2L251bGwgMj4mMQorICAgICQwIHN0YXJ0CisgICAgOzsKKworICAqKQorICAgIGVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxyZXN0YXJ0fSIKKyAgICBleGl0IDAKKyAgICA7OworZXNhYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlL2NoZXJva2VlLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvY2hlcm9rZWUvY2hlcm9rZWUvY2hlcm9rZWUuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmQ3MDMxCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlL2NoZXJva2VlLnNlcnZpY2UKQEAgLTAsMCArMSwxMCBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1DaGVyb2tlZSB3ZWIgc2VydmVyCitBZnRlcj1zeXNsb2cudGFyZ2V0CisKK1tTZXJ2aWNlXQorVHlwZT1mb3JraW5nCitFeGVjU3RhcnQ9L3Vzci9zYmluL2NoZXJva2VlIC1kIC1DIC9ldGMvY2hlcm9rZWUvY2hlcm9rZWUuY29uZgorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvY2hlcm9rZWUvY2hlcm9rZWVfMS4yLjk4LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlXzEuMi45OC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Mjg3ZWE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2NoZXJva2VlL2NoZXJva2VlXzEuMi45OC5iYgpAQCAtMCwwICsxLDY4IEBACitTVU1NQVJZID0gIkNoZXJva2VlIFdlYiBTZXJ2ZXIgZmFzdCBhbmQgc2VjdXJlIgorU1VNTUFSWV9jZ2V0ID0gIlNtYWxsIGRvd25sb2FkZXIgYmFzZWQgaW4gdGhlIENoZXJva2VlIGNsaWVudCBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jaGVyb2tlZS1wcm9qZWN0LmNvbS8iCitTRUNUSU9OID0gIm5ldHdvcmsiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK1BSID0gInI5IgorCitERVBFTkRTID0gImxpYnBjcmUgb3BlbnNzbCBteXNxbDUgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmNoZXJva2VlLXByb2plY3QuZGUvbWlycm9ycy9jaGVyb2tlZS8xLjIvJHtQVn0vY2hlcm9rZWUtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NoZXJva2VlLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vY2hlcm9rZWUuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9jaGVyb2tlZS1pbnN0YWxsLWNvbmZpZ3VyZWQucHktb25jZS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMjFiMDFlN2Q0NWMwZTgyZWNjMGM0MjU3YTljMjdmZWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDQyYjU2ODdiMWEzZGIzY2E4MTgxNjc1NDhjZTVkMzJjMzVlMjI3YzY2NDA3MzJkY2I2MjJhNmY0YTA3OGI3ZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZyB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2ZmbXBlZ10gPSAiLS13aXRoLWZmbXBlZywtLXdpdGhvdXQtZmZtcGVnLGxpYmF2IgorUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLXdpdGgtbGRhcCwtLXdpdGhvdXQtbGRhcCxvcGVubGRhcCIKK1BBQ0tBR0VDT05GSUdbZ2VvaXBdID0gIi0td2l0aC1nZW9pcCwtLXdpdGhvdXQtZ2VvaXAsZ2VvaXAiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtc3RhdGljIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbmxzIFwKKyAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJy0tZW5hYmxlLXBhbScsICctLWRpc2FibGUtcGFtJywgZCl9IFwKKyAgICAgICAgICAgICAgIC0td2l0aC13d3dyb290PSR7bG9jYWxzdGF0ZWRpcn0vd3d3L2NoZXJva2VlIFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2NoZXJva2VlLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NoZXJva2VlCisKKyAgICAjIGNsZWFuIHVwIC5sYSBmaWxlcyBmb3IgcGx1Z2lucworICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vY2hlcm9rZWUvKi5sYQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2NoZXJva2VlLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKK30KKworIyBQdXQgLWRldiBuZWFyIHRoZSBmcm9udCBzbyB3ZSBjYW4gbW92ZSB0aGUgLmxhIGZpbGVzIGludG8gaXQgd2l0aCBhIHdpbGRjYXJkCitQQUNLQUdFUyA9KyAibGliY2hlcm9rZWUtc2VydmVyIGxpYmNoZXJva2VlLWNsaWVudCBsaWJjaGVyb2tlZS1iYXNlIGNnZXQiCisKK0ZJTEVTX2NnZXQgPSAiJHtiaW5kaXJ9L2NnZXQiCitGSUxFU19saWJjaGVyb2tlZS1zZXJ2ZXIgPSAiJHtsaWJkaXJ9L2xpYmNoZXJva2VlLXNlcnZlciR7U09MSUJTfSIKK0ZJTEVTX2xpYmNoZXJva2VlLWNsaWVudCA9ICIke2xpYmRpcn0vbGliY2hlcm9rZWUtY2xpZW50JHtTT0xJQlN9IgorRklMRVNfbGliY2hlcm9rZWUtYmFzZSA9ICIke2xpYmRpcn0vbGliY2hlcm9rZWUtYmFzZSR7U09MSUJTfSIKKworIyBQYWNrIHRoZSBodGRvY3MKK0ZJTEVTXyR7UE59ICs9ICIke2xvY2Fsc3RhdGVkaXJ9L3d3dy9jaGVyb2tlZSIKKworQ09ORkZJTEVTXyR7UE59ID0gIiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9jaGVyb2tlZS9jaGVyb2tlZS5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9jaGVyb2tlZSBcCisiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJjaGVyb2tlZSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDkxIDkxIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImNoZXJva2VlLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvaGlhd2F0aGEvZmlsZXMvaGlhd2F0aGEtaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9oaWF3YXRoYS9maWxlcy9oaWF3YXRoYS1pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3ZmMwODcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvaGlhd2F0aGEvZmlsZXMvaGlhd2F0aGEtaW5pdApAQCAtMCwwICsxLDQ0IEBACisjIS9iaW4vc2gKKworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgaGlhd2F0aGEgaHR0cGQgaHR0cGQtY2dpCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkc3lzbG9nICRuZXR3b3JrICRyZW1vdGVfZnMKKyMgUmVxdWlyZWQtU3RvcDogICAgICRzeXNsb2cgJG5ldHdvcmsgJHJlbW90ZV9mcworIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IEhpYXdhdGhhIHdlYnNlcnZlcgorIyBEZXNjcmlwdGlvbjogICAgICAgSGlhd2F0aGEsIGEgc2VjdXJlIGFuZCBhZHZhbmNlZCB3ZWJzZXJ2ZXIuCisjIyMgRU5EIElOSVQgSU5GTworCitQQVRIPS9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluCitEQUVNT049c2VkX3NiaW5fcGF0aC9oaWF3YXRoYQorTkFNRT1oaWF3YXRoYQorREVTQz0iSGlhd2F0aGEgV2ViIFNlcnZlciIKK09QVFM9IiIKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorCWVjaG8gLW4gIlN0YXJ0aW5nICRERVNDOiAiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAteCAiJERBRU1PTiIgLS0gJE9QVFMKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgc3RvcCkKKwllY2hvIC1uICJTdG9wcGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAteCAiJERBRU1PTiIKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgcmVzdGFydHxmb3JjZS1yZWxvYWQpCisJZWNobyAtbiAiUmVzdGFydGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAteCAiJERBRU1PTiIKKwlzbGVlcCAxCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAteCAiJERBRU1PTiIgLS0gJE9QVFMKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgKikKKwlOPS9ldGMvaW5pdC5kLyROQU1FCisJZWNobyAiVXNhZ2U6ICROIHtzdGFydHxzdG9wfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfSIgPiYyCisJZXhpdCAxCisJOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvaGlhd2F0aGEvZmlsZXMvaGlhd2F0aGEuc2VydmljZSBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9oaWF3YXRoYS9maWxlcy9oaWF3YXRoYS5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2Y2I4ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvaGlhd2F0aGEvZmlsZXMvaGlhd2F0aGEuc2VydmljZQpAQCAtMCwwICsxLDE2IEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPUhpYXdhdGhhIFdlYiBTZXJ2ZXIKK0FmdGVyPW5ldHdvcmsudGFyZ2V0IHJlbW90ZS1mcy50YXJnZXQgbnNzLWxvb2t1cC50YXJnZXQKKworW1NlcnZpY2VdCitUeXBlPXNpbXBsZQorU3lzbG9nSWRlbnRpZmllcj1oaWF3YXRoYQorRXhlY1N0YXJ0UHJlPS91c3Ivc2Jpbi9oaWF3YXRoYSAtayA7IC91c3Ivc2Jpbi93aWd3YW0KK0V4ZWNTdGFydD0gL3Vzci9zYmluL2hpYXdhdGhhIC1kCitUaW1lb3V0U2VjPTEwCisjKGRvZXNuJ3QgbGlrZSB0aGlzIHNldHRpbmcuIENhbid0IGZpbmQgZmlsZXMpIFByaXZhdGVUbXA9dHJ1ZQorTGltaXROT0ZJTEU9aW5maW5pdHkKK0NhcGFiaWxpdHlCb3VuZGluZ1NldD1DQVBfTkVUX0JJTkRfU0VSVklDRSBDQVBfQ0hPV04gQ0FQX0RBQ19PVkVSUklERSBDQVBfRk9XTkVSIENBUF9GU0VUSUQgQ0FQX1NFVEdJRCBDQVBfU0VUVUlEIAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvaGlhd2F0aGEvaGlhd2F0aGFfOS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2hpYXdhdGhhL2hpYXdhdGhhXzkuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDYyMTc0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2hpYXdhdGhhL2hpYXdhdGhhXzkuMi5iYgpAQCAtMCwwICsxLDY1IEBACitTVU1NQVJZID0gIkxpZ2h0d2VpZ2h0IHNlY3VyZSB3ZWIgc2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5oaWF3YXRoYS13ZWJzZXJ2ZXIub3JnIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorREVQRU5EUyA9ICJsaWJ4bWwyIGxpYnhzbHQiCisKK1NFQ1RJT04gPSAibmV0IgorCitTUkNfVVJJID0gImh0dHA6Ly9oaWF3YXRoYS13ZWJzZXJ2ZXIub3JnL2ZpbGVzLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9oaWF3YXRoYS1pbml0IFwKKyAgICAgICAgICAgZmlsZTovL2hpYXdhdGhhLnNlcnZpY2UgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTc3ZjA0NDYzNDg4NGM0Y2M1ZDIxZGFiNDRlODIyYTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWQ5Y2RlYzUxYzYxOGJiM2VmYWI3NDcwMzBlNTkzZDliZDQ5ZGZhZjMyMzYyNTRjOGUwY2I2MDcxNTcxNmRiZiIKKworSU5JVFNDUklQVF9OQU1FID0gImhpYXdhdGhhIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgNzAiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJoaWF3YXRoYS5zZXJ2aWNlIgorCitpbmhlcml0IGNtYWtlIHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworRVhUUkFfT0VDTUFLRSA9ICIgLURFTkFCTEVfSVBWNj1PRkYgXAorICAgICAgICAgICAgICAgICAgLURFTkFCTEVfQ0FDSEU9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1ERU5BQkxFX0RFQlVHPU9GRiBcCisgICAgICAgICAgICAgICAgICAtREVOQUJMRV9TU0w9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1ERU5BQkxFX1RPT0xLSVQ9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1ERU5BQkxFX0NIUk9PVD1PRkYgXAorICAgICAgICAgICAgICAgICAgLURFTkFCTEVfWFNMVD1PTiBcCisgICAgICAgICAgICAgICAgICAtREVOQUJMRV9UT01BSEFXSz1PRkYgXAorICAgICAgICAgICAgICAgICAgLURDTUFLRV9JTlNUQUxMX01BTkRJUj0ke21hbmRpcn0gXAorICAgICAgICAgICAgICAgICAgLURDTUFLRV9JTlNUQUxMX0JJTkRJUj0ke2JpbmRpcn0gXAorICAgICAgICAgICAgICAgICAgLURDTUFLRV9JTlNUQUxMX1NCSU5ESVI9JHtzYmluZGlyfSBcCisgICAgICAgICAgICAgICAgICAtRENNQUtFX0lOU1RBTExfU1lTQ09ORkRJUj0ke3N5c2NvbmZkaXJ9IFwKKyAgICAgICAgICAgICAgICAgIC1EQ01BS0VfSU5TVEFMTF9MSUJESVI9JHtsaWJkaXJ9IFwKKyAgICAgICAgICAgICAgICAgIC1ETE9HX0RJUj0vdmFyL2xvZy9oaWF3YXRoYSBcCisgICAgICAgICAgICAgICAgICAtRFBJRF9ESVI9L3Zhci9ydW4gXAorICAgICAgICAgICAgICAgICAgLURXRUJST09UX0RJUj0vdmFyL3d3dy9oaWF3YXRoYSBcCisgICAgICAgICAgICAgICAgICAtRFdPUktfRElSPS92YXIvbGliL2hpYXdhdGhhICIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBDb3B5IG92ZXIgaW5pdCBzY3JpcHQgYW5kIHNlZCBpbiB0aGUgY29ycmVjdCBzYmluIHBhdGgKKyAgICBzZWQgLWkgJ3Msc2VkX3NiaW5fcGF0aCwke3NiaW5kaXJ9LCcgJHtXT1JLRElSfS9oaWF3YXRoYS1pbml0CisgICAgbWtkaXIgLXAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaGlhd2F0aGEtaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvaGlhd2F0aGEKKworICAgICMgY29uZmlndXJlIHBocC1mY2dpIHRvIGhhdmUgYSB3b3JraW5nIGNvbmZpZ3VyYXRpb24KKyAgICAjIGJ5IGRlZmF1bHQgaWYgcGhwIGlzIGluc3RhbGxlZAorICAgIGVjaG8gIlNlcnZlciA9ICR7YmluZGlyfS9waHAtY2dpIDsgMiA7IDEyNy4wLjAuMToyMDA1IDsgbm9ib2R5Om5vYm9keSA7ICR7c3lzY29uZmRpcn0vcGhwL2hpYXdhdGhhLXBocDUvcGhwLmluaSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vaGlhd2F0aGEvcGhwLWZjZ2kuY29uZgorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L2hpYXdhdGhhLnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgZmkKKworICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKK30KKworQ09ORkZJTEVTXyR7UE59ID0gIiBcCisgICAgJHtzeXNjb25mZGlyfS9oaWF3YXRoYS9jZ2ktd3JhcHBlci5jb25mIFwKKyAgICAke3N5c2NvbmZkaXJ9L2hpYXdhdGhhL2hpYXdhdGhhLmNvbmYgXAorICAgICR7c3lzY29uZmRpcn0vaGlhd2F0aGEvaW5kZXgueHNsdCBcCisgICAgJHtzeXNjb25mZGlyfS9oaWF3YXRoYS9taW1ldHlwZS5jb25mIFwKKyAgICAke3N5c2NvbmZkaXJ9L2hpYXdhdGhhL3BocC1mY2dpLmNvbmYgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL21vbmtleS9maWxlcy9tb25rZXkuaW5pdCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9tb25rZXkvZmlsZXMvbW9ua2V5LmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBiMjExOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9tb25rZXkvZmlsZXMvbW9ua2V5LmluaXQKQEAgLTAsMCArMSwzNCBAQAorIyEvYmluL3NoCisKK1BBVEg9L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KK0RBRU1PTj0vdXNyL2Jpbi9tb25rZXkKK05BTUU9bW9ua2V5CitERVNDPSJNb25rZXkgSFRUUCBTZXJ2ZXIiCitPUFRTPSItLWRhZW1vbiIKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorCWVjaG8gLW4gIlN0YXJ0aW5nICRERVNDOiAiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAteCAiJERBRU1PTiIgLS0gJE9QVFMKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgc3RvcCkKKwllY2hvIC1uICJTdG9wcGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAteCAiJERBRU1PTiIKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgcmVzdGFydHxmb3JjZS1yZWxvYWQpCisJZWNobyAtbiAiUmVzdGFydGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAteCAiJERBRU1PTiIKKwlzbGVlcCAxCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAteCAiJERBRU1PTiIgLS0gJE9QVFMKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgKikKKwlOPS9ldGMvaW5pdC5kLyROQU1FCisJZWNobyAiVXNhZ2U6ICROIHtzdGFydHxzdG9wfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfSIgPiYyCisJZXhpdCAxCisJOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbW9ua2V5L2ZpbGVzL21vbmtleS5zZXJ2aWNlIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL21vbmtleS9maWxlcy9tb25rZXkuc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWFhNTdmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL21vbmtleS9maWxlcy9tb25rZXkuc2VydmljZQpAQCAtMCwwICsxLDEyIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPU1vbmtleSBIVFRQIFNlcnZlcgorQWZ0ZXI9bmV0d29yay50YXJnZXQgcmVtb3RlLWZzLnRhcmdldAorCitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworRXhlY1N0YXJ0PS91c3IvYmluL21vbmtleSAtLWRhZW1vbgorUElERmlsZT0vdmFyL3J1bi9tb25rZXkucGlkLjIwMDEKK1RpbWVvdXRTZWM9MTAKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL21vbmtleS9tb25rZXlfMS41LjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbW9ua2V5L21vbmtleV8xLjUuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZThlZDM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL21vbmtleS9tb25rZXlfMS41LjYuYmIKQEAgLTAsMCArMSw2NSBAQAorU1VNTUFSWSA9ICJGYXN0IGFuZCBMaWdodHdlaWdodCBIVFRQIFNlcnZlciBmb3IgTGludXgiCitIT01FUEFHRSA9ICJodHRwOi8vbW9ua2V5LXByb2plY3QuY29tIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vbW9ua2V5L21vbmtleS9pc3N1ZXMiCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTJlZTQxMTEyYTQ0ZmU3MDE0ZGNlMzNlMjY0NjhiYTkzIgorCitTRUNUSU9OID0gIm5ldCIKKworU1JDX1VSSSA9ICJodHRwOi8vbW9ua2V5LXByb2plY3QuY29tL3JlbGVhc2VzLzEuNS9tb25rZXktJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL21vbmtleS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL21vbmtleS5pbml0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTY5OWU0YzllYTZjZTZiOTg5OTA3YzI1MmFlODAyNTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2MzZDg0NTMwNmFhNzRlZTZlZmZkN2FiNjE2OWQxNmFjNGU2NDUwZTU2NDk1NGQwZDBiYWEyZDFlOWJlMWEyMiIKKworRVhUUkFfT0VDT05GID0gIi0tcGx1Z2Rpcj0ke2xpYmRpcn0vbW9ua2V5LyBcCisgICAgICAgICAgICAgICAgLS1sb2dkaXI9JHtsb2NhbHN0YXRlZGlyfS9sb2cvbW9ua2V5LyBcCisgICAgICAgICAgICAgICAgLS1waWRmaWxlPSR7bG9jYWxzdGF0ZWRpcn0vcnVuL21vbmtleS5waWQgXAorICAgICAgICAgICAgICAgIC0tZGVmYXVsdC11c2VyPXd3dy1kYXRhIFwKKyAgICAgICAgICAgICAgICAtLWRhdGFkaXI9JHtsb2NhbHN0YXRlZGlyfS93d3cvbW9ua2V5LyBcCisgICAgICAgICAgICAgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0vbW9ua2V5LyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtcGx1Z2lucz0qIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtcGx1Z2lucz1tYmVkdGxzIFwKKyAgICAgICAgICAgICAgICAtLWRlYnVnIFwKKyAgICAgICAgICAgICAgICAtLW1hbGxvYy1saWJjIgorRElTQUJMRV9TVEFUSUMgPSAiIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworSU5JVFNDUklQVF9OQU1FID0gIm1vbmtleSIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDcwIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibW9ua2V5LnNlcnZpY2UiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xvY2Fsc3RhdGVkaXJ9L3d3dy9tb25rZXkvIgorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9tb25rZXkvbW9ua2V5LmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3NpdGVzL2RlZmF1bHQgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L21vbmtleS5taW1lIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zLmxvYWQgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3BsdWdpbnMvcHJveHlfcmV2ZXJzZS9wcm94eV9yZXZlcnNlLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3BsdWdpbnMvbWFuZHJpbC9tYW5kcmlsLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3BsdWdpbnMvZmFzdGNnaS9mYXN0Y2dpLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3BsdWdpbnMvbG9nZ2VyL2xvZ2dlci5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zL2NnaS9jZ2kuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb25rZXkvcGx1Z2lucy9jaGVldGFoL2NoZWV0YWguY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb25rZXkvcGx1Z2lucy9kaXJsaXN0aW5nL2Rpcmh0bWwuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb25rZXkvcGx1Z2lucy9kaXJsaXN0aW5nL3RoZW1lcy9ndWluZW8vaGVhZGVyLnRoZW1lIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zL2Rpcmxpc3RpbmcvdGhlbWVzL2d1aW5lby9mb290ZXIudGhlbWUgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9ua2V5L3BsdWdpbnMvZGlybGlzdGluZy90aGVtZXMvZ3VpbmVvL2VudHJ5LnRoZW1lIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zL2F1dGgvUkVBRE1FIFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L21vbmtleS9wbHVnaW5zL2F1dGgvbW9ua2V5LnVzZXJzIFwKKyAgICAgICAgICAgICAgICAgICAiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCisgICAgbWtkaXIgLXAgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbW9ua2V5LmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL21vbmtleQorCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vbW9ua2V5LnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgZmkKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC1jcm9zcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC1jcm9zcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Njc5MmJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LWNyb3NzLnBhdGNoCkBAIC0wLDAgKzEsMjE4IEBACitXZSBkbyBub3QgaGF2ZSBjYXBhYmlsaXR5IHRvIHJ1biBiaW5hcmllcyB3aGVuIGNyb3NzIGNvbXBpbGluZworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vZmVhdHVyZSBuZ2lueC0xLjAuMTEvYXV0by9mZWF0dXJlCistLS0gbmdpbngtMS4wLjExLm9yaWcvYXV0by9mZWF0dXJlCTIwMTEtMDUtMTEgMDY6NTA6MTkuMDAwMDAwMDAwIC0wNTAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vZmVhdHVyZQkyMDExLTEyLTI3IDEzOjU2OjQyLjMyMzM3MDA0MCAtMDYwMAorQEAgLTQ4LDEyICs0OCwyMCBAQAorIAorIGlmIFsgLXggJE5HWF9BVVRPVEVTVCBdOyB0aGVuCisgCisrICAgIGlmIFsgIi4kTkdYX0NST1NTX0NPTVBJTEUiID0gIi55ZXMiIF07IHRoZW4KKysgICAgICAgIE5HWF9BVVRPVEVTVF9FWEVDPSJ0cnVlIgorKwlOR1hfRk9VTkRfTVNHPSIgKG5vdCB0ZXN0ZWQsIGNyb3NzIGNvbXBpbGluZykiCisrICAgIGVsc2UKKysgICAgICAgIE5HWF9BVVRPVEVTVF9FWEVDPSIkTkdYX0FVVE9URVNUIgorKwlOR1hfRk9VTkRfTVNHPSIiCisrICAgIGZpCisrCisgICAgIGNhc2UgIiRuZ3hfZmVhdHVyZV9ydW4iIGluCisgCisgICAgICAgICB5ZXMpCisgICAgICAgICAgICAgIyAvYmluL3NoIGlzIHVzZWQgdG8gaW50ZXJjZXB0ICJLaWxsZWQiIG9yICJBYm9ydCB0cmFwIiBtZXNzYWdlcworLSAgICAgICAgICAgIGlmIC9iaW4vc2ggLWMgJE5HWF9BVVRPVEVTVCA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCistICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCIKKysgICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1RfRVhFQyA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCisrICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCROR1hfRk9VTkRfTVNHIgorICAgICAgICAgICAgICAgICBuZ3hfZm91bmQ9eWVzCisgCisgICAgICAgICAgICAgICAgIGlmIHRlc3QgLW4gIiRuZ3hfZmVhdHVyZV9uYW1lIjsgdGhlbgorQEAgLTY3LDE3ICs3NSwyNyBAQAorIAorICAgICAgICAgdmFsdWUpCisgICAgICAgICAgICAgIyAvYmluL3NoIGlzIHVzZWQgdG8gaW50ZXJjZXB0ICJLaWxsZWQiIG9yICJBYm9ydCB0cmFwIiBtZXNzYWdlcworLSAgICAgICAgICAgIGlmIC9iaW4vc2ggLWMgJE5HWF9BVVRPVEVTVCA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCistICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCIKKysgICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1RfRVhFQyA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCisrICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCROR1hfRk9VTkRfTVNHIgorICAgICAgICAgICAgICAgICBuZ3hfZm91bmQ9eWVzCisgCistICAgICAgICAgICAgICAgIGNhdCA8PCBFTkQgPj4gJE5HWF9BVVRPX0NPTkZJR19ICisrICAgICAgICAgICAgICAgIGlmIFsgIi4kTkdYX0NST1NTX0NPTVBJTEUiID0gIi55ZXMiIF07IHRoZW4KKysgICAgICAgICAgICAgICAgICAgIGNhdCA8PCBFTkQgPj4gJE5HWF9BVVRPX0NPTkZJR19ICisgCisgI2lmbmRlZiAkbmd4X2ZlYXR1cmVfbmFtZQorLSNkZWZpbmUgJG5neF9mZWF0dXJlX25hbWUgIGAkTkdYX0FVVE9URVNUYAorKyNkZWZpbmUgJG5neF9mZWF0dXJlX25hbWUgICQoZXZhbCAiZWNobyBcJE5HWF9XSVRIXyR7bmd4X2ZlYXR1cmVfbmFtZX0iKQorICNlbmRpZgorIAorIEVORAorKwkJZWxzZQorKyAgICAgICAgICAgICAgICAgICAgY2F0IDw8IEVORCA+PiAkTkdYX0FVVE9fQ09ORklHX0gKKysKKysjaWZuZGVmICRuZ3hfZmVhdHVyZV9uYW1lCisrI2RlZmluZSAkbmd4X2ZlYXR1cmVfbmFtZSAgYCROR1hfQVVUT1RFU1RfRVhFQ2AKKysjZW5kaWYKKysKKytFTkQKKysgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCBidXQgaXMgbm90IHdvcmtpbmciCisgICAgICAgICAgICAgZmkKK0BAIC04NSw3ICsxMDMsNyBAQAorIAorICAgICAgICAgYnVnKQorICAgICAgICAgICAgICMgL2Jpbi9zaCBpcyB1c2VkIHRvIGludGVyY2VwdCAiS2lsbGVkIiBvciAiQWJvcnQgdHJhcCIgbWVzc2FnZXMKKy0gICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1QgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMTsgdGhlbgorKyAgICAgICAgICAgIGlmIC9iaW4vc2ggLWMgJE5HWF9BVVRPVEVTVF9FWEVDID4+ICROR1hfQVVUT0NPTkZfRVJSIDI+JjE7IHRoZW4KKyAgICAgICAgICAgICAgICAgZWNobyAiIG5vdCBmb3VuZCIKKyAKKyAgICAgICAgICAgICBlbHNlCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vb3B0aW9ucyBuZ2lueC0xLjAuMTEvYXV0by9vcHRpb25zCistLS0gbmdpbngtMS4wLjExLm9yaWcvYXV0by9vcHRpb25zCTIwMTEtMTItMTQgMDc6MzQ6MTYuMDAwMDAwMDAwIC0wNjAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vb3B0aW9ucwkyMDExLTEyLTI3IDEzOjU2OjQyLjMyMzM3MDA0MCAtMDYwMAorQEAgLTI4OSw2ICsyODksMTggQEAKKyAgICAgICAgIC0tdGVzdC1idWlsZC1ydHNpZykgICAgICAgICAgICAgIE5HWF9URVNUX0JVSUxEX1JUU0lHPVlFUyAgIDs7CisgICAgICAgICAtLXRlc3QtYnVpbGQtc29sYXJpcy1zZW5kZmlsZXYpICBOR1hfVEVTVF9CVUlMRF9TT0xBUklTX1NFTkRGSUxFVj1ZRVMgOzsKKyAKKysgICAgICAgICMgY3Jvc3MgY29tcGlsZSBzdXBwb3J0CisrICAgICAgICAtLXdpdGgtaW50PSopICAgICAgICAgICAgICAgICAgICBOR1hfV0lUSF9JTlQ9IiR2YWx1ZSIgICAgICAgICAgOzsKKysgICAgICAgIC0td2l0aC1sb25nPSopICAgICAgICAgICAgICAgICAgIE5HWF9XSVRIX0xPTkc9IiR2YWx1ZSIgICAgICAgICA7OworKyAgICAgICAgLS13aXRoLWxvbmctbG9uZz0qKSAgICAgICAgICAgICAgTkdYX1dJVEhfTE9OR19MT05HPSIkdmFsdWUiICAgIDs7CisrICAgICAgICAtLXdpdGgtcHRyLXNpemU9KikgICAgICAgICAgICAgICBOR1hfV0lUSF9QVFJfU0laRT0iJHZhbHVlIiAgICAgOzsKKysgICAgICAgIC0td2l0aC1zaWctYXRvbWljLXQ9KikgICAgICAgICAgIE5HWF9XSVRIX1NJR19BVE9NSUNfVD0iJHZhbHVlIiA7OworKyAgICAgICAgLS13aXRoLXNpemUtdD0qKSAgICAgICAgICAgICAgICAgTkdYX1dJVEhfU0laRV9UPSIkdmFsdWUiICAgICAgIDs7CisrICAgICAgICAtLXdpdGgtb2ZmLXQ9KikgICAgICAgICAgICAgICAgICBOR1hfV0lUSF9PRkZfVD0iJHZhbHVlIiAgICAgICAgOzsKKysgICAgICAgIC0td2l0aC10aW1lLXQ9KikgICAgICAgICAgICAgICAgIE5HWF9XSVRIX1RJTUVfVD0iJHZhbHVlIiAgICAgICA7OworKyAgICAgICAgLS13aXRoLXN5cy1uZXJyPSopICAgICAgICAgICAgICAgTkdYX1dJVEhfTkdYX1NZU19ORVJSPSIkdmFsdWUiIDs7CisrICAgICAgICAtLXdpdGgtZW5kaWFuPSopICAgICAgICAgICAgICAgICBOR1hfV0lUSF9FTkRJQU49IiR2YWx1ZSIgICAgICAgOzsKKysKKyAgICAgICAgICopCisgICAgICAgICAgICAgZWNobyAiJDA6IGVycm9yOiBpbnZhbGlkIG9wdGlvbiBcIiRvcHRpb25cIiIKKyAgICAgICAgICAgICBleGl0IDEKK0BAIC00MzQsNiArNDQ2LDE3IEBACisgCisgICAtLXdpdGgtZGVidWcgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSBkZWJ1ZyBsb2dnaW5nCisgCisrICAtLXdpdGgtaW50PVZBTFVFICAgICAgICAgICAgICAgICAgIGZvcmNlIGludCBzaXplCisrICAtLXdpdGgtbG9uZz1WQUxVRSAgICAgICAgICAgICAgICAgIGZvcmNlIGxvbmcgc2l6ZQorKyAgLS13aXRoLWxvbmctbG9uZz1WQUxVRSAgICAgICAgICAgICBmb3JjZSBsb25nIGxvbmcgc2l6ZQorKyAgLS13aXRoLXB0ci1zaXplPVZBTFVFICAgICAgICAgICAgICBmb3JjZSBwb2ludGVyIHNpemUKKysgIC0td2l0aC1zaWctYXRvbWljLXQ9VkFMVUUgICAgICAgICAgZm9yY2Ugc2lnX2F0b21pY190IHNpemUKKysgIC0td2l0aC1zaXplLXQ9VkFMVUUgICAgICAgICAgICAgICAgZm9yY2Ugc2l6ZV90IHNpemUKKysgIC0td2l0aC1vZmYtdD1WQUxVRSAgICAgICAgICAgICAgICAgZm9yY2Ugb2ZmX3Qgc2l6ZQorKyAgLS13aXRoLXRpbWUtdD1WQUxVRSAgICAgICAgICAgICAgICBmb3JjZSB0aW1lX3Qgc2l6ZQorKyAgLS13aXRoLXN5cy1uZXJyPVZBTFVFICAgICAgICAgICAgICBmb3JjZSBzeXNfbmVyciB2YWx1ZQorKyAgLS13aXRoLWVuZGlhbj1WQUxVRSAgICAgICAgICAgICAgICBmb3JjZSBzeXN0ZW0gZW5kaWFuZXNzCisrCisgRU5ECisgCisgICAgIGV4aXQgMQorQEAgLTQ1NSw2ICs0NzgsOCBAQAorIAorIGlmIFsgIi4kTkdYX1BMQVRGT1JNIiA9ICIud2luMzIiIF07IHRoZW4KKyAgICAgTkdYX1dJTkU9JFdJTkUKKytlbGlmIFsgISAteiAiJE5HWF9QTEFURk9STSIgXTsgdGhlbgorKyAgICBOR1hfQ1JPU1NfQ09NUElMRT0ieWVzIgorIGZpCisgCisgCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vdHlwZXMvc2l6ZW9mIG5naW54LTEuMC4xMS9hdXRvL3R5cGVzL3NpemVvZgorLS0tIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vdHlwZXMvc2l6ZW9mCTIwMDYtMDYtMjggMTE6MDA6MjYuMDAwMDAwMDAwIC0wNTAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vdHlwZXMvc2l6ZW9mCTIwMTEtMTItMjcgMTM6NTY6NDIuMzIzMzcwMDQwIC0wNjAwCitAQCAtMTIsOSArMTIsMTIgQEAKKyAKKyBFTkQKKyAKKy1uZ3hfc2l6ZT0KKytuZ3hfc2l6ZT0kKGV2YWwgImVjaG8gXCROR1hfV0lUSF8ke25neF9wYXJhbX0iKQorIAorLWNhdCA8PCBFTkQgPiAkTkdYX0FVVE9URVNULmMKKytpZiBbICIuJG5neF9zaXplIiAhPSAiLiIgXTsgdGhlbgorKyAgICBlY2hvICIgJG5neF9zaXplIGJ5dGVzIgorK2Vsc2UKKysgICAgY2F0IDw8IEVORCA+ICROR1hfQVVUT1RFU1QuYworIAorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KK0BAIC0zMywyMCArMzYsMjAgQEAKKyBFTkQKKyAKKyAKKy1uZ3hfdGVzdD0iJENDICRDQ19URVNUX0ZMQUdTICRDQ19BVVhfRkxBR1MgXAorLSAgICAgICAgICAtbyAkTkdYX0FVVE9URVNUICROR1hfQVVUT1RFU1QuYyAkTkdYX0xEX09QVCAkbmd4X2ZlYXR1cmVfbGlicyIKKysgICAgbmd4X3Rlc3Q9IiRDQyAkQ0NfVEVTVF9GTEFHUyAkQ0NfQVVYX0ZMQUdTIFwKKysJICAgICAgLW8gJE5HWF9BVVRPVEVTVCAkTkdYX0FVVE9URVNULmMgJE5HWF9MRF9PUFQgJG5neF9mZWF0dXJlX2xpYnMiCisgCistZXZhbCAiJG5neF90ZXN0ID4+ICROR1hfQVVUT0NPTkZfRVJSIDI+JjEiCisrICAgIGV2YWwgIiRuZ3hfdGVzdCA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxIgorIAorIAorLWlmIFsgLXggJE5HWF9BVVRPVEVTVCBdOyB0aGVuCistICAgIG5neF9zaXplPWAkTkdYX0FVVE9URVNUYAorLSAgICBlY2hvICIgJG5neF9zaXplIGJ5dGVzIgorLWZpCisrICAgIGlmIFsgLXggJE5HWF9BVVRPVEVTVCBdOyB0aGVuCisrCW5neF9zaXplPWAkTkdYX0FVVE9URVNUYAorKwllY2hvICIgJG5neF9zaXplIGJ5dGVzIgorKyAgICBmaQorIAorIAorLXJtIC1yZiAkTkdYX0FVVE9URVNUKgorLQorKyAgICBybSAtcmYgJE5HWF9BVVRPVEVTVCoKKytmaQorIAorIGNhc2UgJG5neF9zaXplIGluCisgICAgIDQpCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vdW5peCBuZ2lueC0xLjAuMTEvYXV0by91bml4CistLS0gbmdpbngtMS4wLjExLm9yaWcvYXV0by91bml4CTIwMTEtMTItMTQgMDc6MzQ6MTYuMDAwMDAwMDAwIC0wNjAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vdW5peAkyMDExLTEyLTI3IDEzOjU2OjQyLjMyNzM3MDA2MCAtMDYwMAorQEAgLTM5MywxMyArMzkzLDEzIEBACisgCisgIyBDIHR5cGVzCisgCistbmd4X3R5cGU9ImludCI7IC4gYXV0by90eXBlcy9zaXplb2YKKytuZ3hfdHlwZT0iaW50Ijsgbmd4X3BhcmFtPSJJTlQiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisgCistbmd4X3R5cGU9ImxvbmciOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9ImxvbmciOyBuZ3hfcGFyYW09IkxPTkciOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisgCistbmd4X3R5cGU9ImxvbmcgbG9uZyI7IC4gYXV0by90eXBlcy9zaXplb2YKKytuZ3hfdHlwZT0ibG9uZyBsb25nIjsgbmd4X3BhcmFtPSJMT05HX0xPTkciOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisgCistbmd4X3R5cGU9InZvaWQgKiI7IC4gYXV0by90eXBlcy9zaXplb2Y7IG5neF9wdHJfc2l6ZT0kbmd4X3NpemUKKytuZ3hfdHlwZT0idm9pZCAqIjsgbmd4X3BhcmFtPSJQVFJfU0laRSI7IC4gYXV0by90eXBlcy9zaXplb2Y7IG5neF9wdHJfc2l6ZT0kbmd4X3NpemUKKyBuZ3hfcGFyYW09TkdYX1BUUl9TSVpFOyBuZ3hfdmFsdWU9JG5neF9zaXplOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyAKKyAKK0BAIC00MTYsNyArNDE2LDcgQEAKKyAKKyBuZ3hfdHlwZT0idWludDY0X3QiOyBuZ3hfdHlwZXM9InVfaW50NjRfdCI7IC4gYXV0by90eXBlcy90eXBlZGVmCisgCistbmd4X3R5cGU9InNpZ19hdG9taWNfdCI7IG5neF90eXBlcz0iaW50IjsgLiBhdXRvL3R5cGVzL3R5cGVkZWYKKytuZ3hfdHlwZT0ic2lnX2F0b21pY190Ijsgbmd4X3BhcmFtPSJTSUdfQVRPTUlDX1QiOyBuZ3hfdHlwZXM9ImludCI7IC4gYXV0by90eXBlcy90eXBlZGVmCisgLiBhdXRvL3R5cGVzL3NpemVvZgorIG5neF9wYXJhbT1OR1hfU0lHX0FUT01JQ19UX1NJWkU7IG5neF92YWx1ZT0kbmd4X3NpemU7IC4gYXV0by90eXBlcy92YWx1ZQorIAorQEAgLTQzMiwxNSArNDMyLDE1IEBACisgCisgLiBhdXRvL2VuZGlhbmVzcworIAorLW5neF90eXBlPSJzaXplX3QiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9InNpemVfdCI7IG5neF9wYXJhbT0iU0laRV9UIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIG5neF9wYXJhbT1OR1hfTUFYX1NJWkVfVF9WQUxVRTsgbmd4X3ZhbHVlPSRuZ3hfbWF4X3ZhbHVlOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyBuZ3hfcGFyYW09TkdYX1NJWkVfVF9MRU47IG5neF92YWx1ZT0kbmd4X21heF9sZW47IC4gYXV0by90eXBlcy92YWx1ZQorIAorLW5neF90eXBlPSJvZmZfdCI7IC4gYXV0by90eXBlcy9zaXplb2YKKytuZ3hfdHlwZT0ib2ZmX3QiOyBuZ3hfcGFyYW09Ik9GRl9UIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIG5neF9wYXJhbT1OR1hfTUFYX09GRl9UX1ZBTFVFOyBuZ3hfdmFsdWU9JG5neF9tYXhfdmFsdWU7IC4gYXV0by90eXBlcy92YWx1ZQorIG5neF9wYXJhbT1OR1hfT0ZGX1RfTEVOOyBuZ3hfdmFsdWU9JG5neF9tYXhfbGVuOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyAKKy1uZ3hfdHlwZT0idGltZV90IjsgLiBhdXRvL3R5cGVzL3NpemVvZgorK25neF90eXBlPSJ0aW1lX3QiOyBuZ3hfcGFyYW09IlRJTUVfVCI7IC4gYXV0by90eXBlcy9zaXplb2YKKyBuZ3hfcGFyYW09TkdYX1RJTUVfVF9TSVpFOyBuZ3hfdmFsdWU9JG5neF9zaXplOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyBuZ3hfcGFyYW09TkdYX1RJTUVfVF9MRU47IG5neF92YWx1ZT0kbmd4X21heF9sZW47IC4gYXV0by90eXBlcy92YWx1ZQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LXZvbGF0aWxlLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbngtdm9sYXRpbGUuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2YzYzY2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LXZvbGF0aWxlLmNvbmYKQEAgLTAsMCArMSwyIEBACitkIHd3dyB3d3ctZGF0YSAwNzU1IC9ydW4vbmdpbnggbm9uZQorZCByb290IHJvb3QgMDc1NSAvdmFyL2xvZy9uZ2lueCBub25lCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiN2U0YjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguY29uZgpAQCAtMCwwICsxLDExOCBAQAorCit1c2VyICB3d3ctZGF0YTsKK3dvcmtlcl9wcm9jZXNzZXMgIDE7CisKK2Vycm9yX2xvZyAgL3Zhci9sb2cvbmdpbngvZXJyb3IubG9nOworI2Vycm9yX2xvZyAgbG9ncy9lcnJvci5sb2cgIG5vdGljZTsKKyNlcnJvcl9sb2cgIGxvZ3MvZXJyb3IubG9nICBpbmZvOworCitwaWQgICAgICAgIC9ydW4vbmdpbngvbmdpbngucGlkOworCisKK2V2ZW50cyB7CisgICAgd29ya2VyX2Nvbm5lY3Rpb25zICAxMDI0OworfQorCisKK2h0dHAgeworICAgIGluY2x1ZGUgICAgICAgbWltZS50eXBlczsKKyAgICBkZWZhdWx0X3R5cGUgIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTsKKworICAgIGxvZ19mb3JtYXQgIG1haW4gICckcmVtb3RlX2FkZHIgLSAkcmVtb3RlX3VzZXIgWyR0aW1lX2xvY2FsXSAiJHJlcXVlc3QiICcKKyAgICAgICAgICAgICAgICAgICAgICAnJHN0YXR1cyAkYm9keV9ieXRlc19zZW50ICIkaHR0cF9yZWZlcmVyIiAnCisgICAgICAgICAgICAgICAgICAgICAgJyIkaHR0cF91c2VyX2FnZW50IiAiJGh0dHBfeF9mb3J3YXJkZWRfZm9yIic7CisKKyAgICBhY2Nlc3NfbG9nICAvdmFyL2xvZy9uZ2lueC9hY2Nlc3MubG9nICBtYWluOworCisgICAgc2VuZGZpbGUgICAgICAgIG9uOworICAgICN0Y3Bfbm9wdXNoICAgICBvbjsKKworICAgICNrZWVwYWxpdmVfdGltZW91dCAgMDsKKyAgICBrZWVwYWxpdmVfdGltZW91dCAgNjU7CisKKyAgICAjZ3ppcCAgb247CisKKyAgICBzZXJ2ZXIgeworICAgICAgICBsaXN0ZW4gICAgICAgODA7CisgICAgICAgIHNlcnZlcl9uYW1lICBsb2NhbGhvc3Q7CisKKyAgICAgICAgI2NoYXJzZXQga29pOC1yOworCisgICAgICAgICNhY2Nlc3NfbG9nICBsb2dzL2hvc3QuYWNjZXNzLmxvZyAgbWFpbjsKKworICAgICAgICBsb2NhdGlvbiAvIHsKKyAgICAgICAgICAgIHJvb3QgICAvdmFyL3d3dy9sb2NhbGhvc3QvaHRtbDsKKyAgICAgICAgICAgIGluZGV4ICBpbmRleC5odG1sIGluZGV4Lmh0bTsKKyAgICAgICAgfQorCisgICAgICAgICNlcnJvcl9wYWdlICA0MDQgICAgICAgICAgICAgIC80MDQuaHRtbDsKKworICAgICAgICAjIHJlZGlyZWN0IHNlcnZlciBlcnJvciBwYWdlcyB0byB0aGUgc3RhdGljIHBhZ2UgLzUweC5odG1sCisgICAgICAgICMKKyAgICAgICAgZXJyb3JfcGFnZSAgIDUwMCA1MDIgNTAzIDUwNCAgLzUweC5odG1sOworICAgICAgICBsb2NhdGlvbiA9IC81MHguaHRtbCB7CisgICAgICAgICAgICByb290ICAgL3Zhci93d3cvbG9jYWxob3N0L2h0bWw7CisgICAgICAgIH0KKworICAgICAgICAjIHByb3h5IHRoZSBQSFAgc2NyaXB0cyB0byBBcGFjaGUgbGlzdGVuaW5nIG9uIDEyNy4wLjAuMTo4MAorICAgICAgICAjCisgICAgICAgICNsb2NhdGlvbiB+IFwucGhwJCB7CisgICAgICAgICMgICAgcHJveHlfcGFzcyAgIGh0dHA6Ly8xMjcuMC4wLjE7CisgICAgICAgICN9CisKKyAgICAgICAgIyBwYXNzIHRoZSBQSFAgc2NyaXB0cyB0byBGYXN0Q0dJIHNlcnZlciBsaXN0ZW5pbmcgb24gMTI3LjAuMC4xOjkwMDAKKyAgICAgICAgIworICAgICAgICAjbG9jYXRpb24gfiBcLnBocCQgeworICAgICAgICAjICAgIHJvb3QgICAgICAgICAgIGh0bWw7CisgICAgICAgICMgICAgZmFzdGNnaV9wYXNzICAgMTI3LjAuMC4xOjkwMDA7CisgICAgICAgICMgICAgZmFzdGNnaV9pbmRleCAgaW5kZXgucGhwOworICAgICAgICAjICAgIGZhc3RjZ2lfcGFyYW0gIFNDUklQVF9GSUxFTkFNRSAgL3NjcmlwdHMkZmFzdGNnaV9zY3JpcHRfbmFtZTsKKyAgICAgICAgIyAgICBpbmNsdWRlICAgICAgICBmYXN0Y2dpX3BhcmFtczsKKyAgICAgICAgI30KKworICAgICAgICAjIGRlbnkgYWNjZXNzIHRvIC5odGFjY2VzcyBmaWxlcywgaWYgQXBhY2hlJ3MgZG9jdW1lbnQgcm9vdAorICAgICAgICAjIGNvbmN1cnMgd2l0aCBuZ2lueCdzIG9uZQorICAgICAgICAjCisgICAgICAgICNsb2NhdGlvbiB+IC9cLmh0IHsKKyAgICAgICAgIyAgICBkZW55ICBhbGw7CisgICAgICAgICN9CisgICAgfQorCisKKyAgICAjIGFub3RoZXIgdmlydHVhbCBob3N0IHVzaW5nIG1peCBvZiBJUC0sIG5hbWUtLCBhbmQgcG9ydC1iYXNlZCBjb25maWd1cmF0aW9uCisgICAgIworICAgICNzZXJ2ZXIgeworICAgICMgICAgbGlzdGVuICAgICAgIDgwMDA7CisgICAgIyAgICBsaXN0ZW4gICAgICAgc29tZW5hbWU6ODA4MDsKKyAgICAjICAgIHNlcnZlcl9uYW1lICBzb21lbmFtZSAgYWxpYXMgIGFub3RoZXIuYWxpYXM7CisKKyAgICAjICAgIGxvY2F0aW9uIC8geworICAgICMgICAgICAgIHJvb3QgICBodG1sOworICAgICMgICAgICAgIGluZGV4ICBpbmRleC5odG1sIGluZGV4Lmh0bTsKKyAgICAjICAgIH0KKyAgICAjfQorCisKKyAgICAjIEhUVFBTIHNlcnZlcgorICAgICMKKyAgICAjc2VydmVyIHsKKyAgICAjICAgIGxpc3RlbiAgICAgICA0NDM7CisgICAgIyAgICBzZXJ2ZXJfbmFtZSAgbG9jYWxob3N0OworCisgICAgIyAgICBzc2wgICAgICAgICAgICAgICAgICBvbjsKKyAgICAjICAgIHNzbF9jZXJ0aWZpY2F0ZSAgICAgIGNlcnQucGVtOworICAgICMgICAgc3NsX2NlcnRpZmljYXRlX2tleSAgY2VydC5rZXk7CisKKyAgICAjICAgIHNzbF9zZXNzaW9uX3RpbWVvdXQgIDVtOworCisgICAgIyAgICBzc2xfcHJvdG9jb2xzICBTU0x2MiBTU0x2MyBUTFN2MTsKKyAgICAjICAgIHNzbF9jaXBoZXJzICBISUdIOiFhTlVMTDohTUQ1OworICAgICMgICAgc3NsX3ByZWZlcl9zZXJ2ZXJfY2lwaGVycyAgIG9uOworCisgICAgIyAgICBsb2NhdGlvbiAvIHsKKyAgICAjICAgICAgICByb290ICAgaHRtbDsKKyAgICAjICAgICAgICBpbmRleCAgaW5kZXguaHRtbCBpbmRleC5odG07CisgICAgIyAgICB9CisgICAgI30KKworfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LmluaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguaW5pdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZjM4YjljCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LmluaXQKQEAgLTAsMCArMSw1MiBAQAorIyEgL2Jpbi9zaAorUEFUSD0vc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbgorREFFTU9OPS91c3Ivc2Jpbi9uZ2lueAorTkFNRT1uZ2lueAorREVTQz1uZ2lueAorUElEPS92YXIvcnVuL25naW54L25naW54LnBpZAorCit0ZXN0IC14ICREQUVNT04gfHwgZXhpdCAwCisKKyMgSW5jbHVkZSBuZ2lueCBkZWZhdWx0cyBpZiBhdmFpbGFibGUKK2lmIFsgLWYgL2V0Yy9kZWZhdWx0L25naW54IF0gOyB0aGVuCisgICAgICAgIC4gL2V0Yy9kZWZhdWx0L25naW54CitmaQorCitzZXQgLWUKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgICAgICBlY2hvIC1uICJTdGFydGluZyAkREVTQzogIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1waWRmaWxlICRQSUQgXAorICAgICAgICAgICAgICAgIC0tbmFtZSAkTkFNRSAtLWV4ZWMgJERBRU1PTiAtLSAkREFFTU9OX09QVFMKKyAgICAgICAgZWNobyAiJE5BTUUuIgorICAgICAgICA7OworICBzdG9wKQorICAgICAgICBlY2hvIC1uICJTdG9wcGluZyAkREVTQzogIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAtLXF1aWV0IC0tcGlkZmlsZSAkUElEIFwKKyAgICAgICAgICAgICAgICAtLW5hbWUgJE5BTUUKKyAgICAgICAgZWNobyAiJE5BTUUuIgorICAgICAgICA7OworICByZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKyAgICAgICAgZWNobyAtbiAiUmVzdGFydGluZyAkREVTQzogIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtSyAtLXF1aWV0IC0tcGlkZmlsZSAkUElEIFwKKyAgICAgICAgICAgICAgICAtLW5hbWUgJE5BTUUKKyAgICAgICAgc2xlZXAgMQorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1waWRmaWxlICRQSUQgXAorICAgICAgICAgICAgICAgIC0tbmFtZSAkTkFNRSAtLWV4ZWMgJERBRU1PTiAtLSAkREFFTU9OX09QVFMKKyAgICAgICAgZWNobyAiJE5BTUUuIgorICAgICAgICA7OworICByZWxvYWQpCisgICAgICBlY2hvIC1uICJSZWxvYWRpbmcgJERFU0MgY29uZmlndXJhdGlvbjogIgorICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tc2lnbmFsIEhVUCAtLXF1aWV0IC0tcGlkZmlsZSAkUElEIFwKKyAgICAgICAgICAtLWV4ZWMgJERBRU1PTgorICAgICAgZWNobyAiJE5BTUUuIgorICAgICAgOzsKKyAgKikKKyAgICAgICAgTj0vZXRjL2luaXQuZC8kTkFNRQorICAgICAgICBlY2hvICJVc2FnZTogJE4ge3N0YXJ0fHN0b3B8cmVzdGFydHxmb3JjZS1yZWxvYWR9IiA+JjIKKyAgICAgICAgZXhpdCAxCisgICAgICAgIDs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTI2YTRiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LnNlcnZpY2UKQEAgLTAsMCArMSwxMiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1OZ2lueCBTZXJ2ZXIKK0FmdGVyPW5ldHdvcmsudGFyZ2V0CitbU2VydmljZV0KK1R5cGU9Zm9ya2luZworUElERmlsZT1AU1lTQ09ORkRJUkAvbmdpbngvcnVuL25naW54LnBpZAorRXhlY1N0YXJ0UHJlPUBCQVNFQklORElSQC9ta2RpciAtcCBATE9DQUxTVEFURURJUkAvbG9nL25naW54CitFeGVjU3RhcnQ9QFNZU0NPTkZESVJAL2luaXQuZC9uZ2lueCBzdGFydAorRXhlY1N0b3A9QFNZU0NPTkZESVJAL2luaXQuZC9uZ2lueCBzdG9wCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueC0xLjkuMTQvbmdpbngtY3Jvc3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbngtMS45LjE0L25naW54LWNyb3NzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlOTY2NDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbngtMS45LjE0L25naW54LWNyb3NzLnBhdGNoCkBAIC0wLDAgKzEsMjExIEBACitXZSBkbyBub3QgaGF2ZSBjYXBhYmlsaXR5IHRvIHJ1biBiaW5hcmllcyB3aGVuIGNyb3NzIGNvbXBpbGluZworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vZmVhdHVyZSBuZ2lueC0xLjAuMTEvYXV0by9mZWF0dXJlCistLS0gbmdpbngtMS4wLjExLm9yaWcvYXV0by9mZWF0dXJlCTIwMTEtMDUtMTEgMDY6NTA6MTkuMDAwMDAwMDAwIC0wNTAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vZmVhdHVyZQkyMDExLTEyLTI3IDEzOjU2OjQyLjMyMzM3MDA0MCAtMDYwMAorQEAgLTQ5LDEyICs0OSwyMCBAQAorIAorIGlmIFsgLXggJE5HWF9BVVRPVEVTVCBdOyB0aGVuCisgCisrICAgIGlmIFsgIi4kTkdYX0NST1NTX0NPTVBJTEUiID0gIi55ZXMiIF07IHRoZW4KKysgICAgICAgIE5HWF9BVVRPVEVTVF9FWEVDPSJ0cnVlIgorKwlOR1hfRk9VTkRfTVNHPSIgKG5vdCB0ZXN0ZWQsIGNyb3NzIGNvbXBpbGluZykiCisrICAgIGVsc2UKKysgICAgICAgIE5HWF9BVVRPVEVTVF9FWEVDPSIkTkdYX0FVVE9URVNUIgorKwlOR1hfRk9VTkRfTVNHPSIiCisrICAgIGZpCisrCisgICAgIGNhc2UgIiRuZ3hfZmVhdHVyZV9ydW4iIGluCisgCisgICAgICAgICB5ZXMpCisgICAgICAgICAgICAgIyAvYmluL3NoIGlzIHVzZWQgdG8gaW50ZXJjZXB0ICJLaWxsZWQiIG9yICJBYm9ydCB0cmFwIiBtZXNzYWdlcworLSAgICAgICAgICAgIGlmIC9iaW4vc2ggLWMgJE5HWF9BVVRPVEVTVCA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCistICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCIKKysgICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1RfRVhFQyA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCisrICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCROR1hfRk9VTkRfTVNHIgorICAgICAgICAgICAgICAgICBuZ3hfZm91bmQ9eWVzCisgCisgICAgICAgICAgICAgICAgIGlmIHRlc3QgLW4gIiRuZ3hfZmVhdHVyZV9uYW1lIjsgdGhlbgorQEAgLTY4LDE3ICs3NSwyNyBAQAorIAorICAgICAgICAgdmFsdWUpCisgICAgICAgICAgICAgIyAvYmluL3NoIGlzIHVzZWQgdG8gaW50ZXJjZXB0ICJLaWxsZWQiIG9yICJBYm9ydCB0cmFwIiBtZXNzYWdlcworLSAgICAgICAgICAgIGlmIC9iaW4vc2ggLWMgJE5HWF9BVVRPVEVTVCA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCistICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCIKKysgICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1RfRVhFQyA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxOyB0aGVuCisrICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCROR1hfRk9VTkRfTVNHIgorICAgICAgICAgICAgICAgICBuZ3hfZm91bmQ9eWVzCisgCistICAgICAgICAgICAgICAgIGNhdCA8PCBFTkQgPj4gJE5HWF9BVVRPX0NPTkZJR19ICisrICAgICAgICAgICAgICAgIGlmIFsgIi4kTkdYX0NST1NTX0NPTVBJTEUiID0gIi55ZXMiIF07IHRoZW4KKysgICAgICAgICAgICAgICAgICAgIGNhdCA8PCBFTkQgPj4gJE5HWF9BVVRPX0NPTkZJR19ICisgCisgI2lmbmRlZiAkbmd4X2ZlYXR1cmVfbmFtZQorLSNkZWZpbmUgJG5neF9mZWF0dXJlX25hbWUgIGAkTkdYX0FVVE9URVNUYAorKyNkZWZpbmUgJG5neF9mZWF0dXJlX25hbWUgICQoZXZhbCAiZWNobyBcJE5HWF9XSVRIXyR7bmd4X2ZlYXR1cmVfbmFtZX0iKQorICNlbmRpZgorIAorIEVORAorKwkJZWxzZQorKyAgICAgICAgICAgICAgICAgICAgY2F0IDw8IEVORCA+PiAkTkdYX0FVVE9fQ09ORklHX0gKKysKKysjaWZuZGVmICRuZ3hfZmVhdHVyZV9uYW1lCisrI2RlZmluZSAkbmd4X2ZlYXR1cmVfbmFtZSAgYCROR1hfQVVUT1RFU1RfRVhFQ2AKKysjZW5kaWYKKysKKytFTkQKKysgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgIGVjaG8gIiBmb3VuZCBidXQgaXMgbm90IHdvcmtpbmciCisgICAgICAgICAgICAgZmkKK0BAIC04Niw3ICsxMDUsNyBAQAorIAorICAgICAgICAgYnVnKQorICAgICAgICAgICAgICMgL2Jpbi9zaCBpcyB1c2VkIHRvIGludGVyY2VwdCAiS2lsbGVkIiBvciAiQWJvcnQgdHJhcCIgbWVzc2FnZXMKKy0gICAgICAgICAgICBpZiAvYmluL3NoIC1jICROR1hfQVVUT1RFU1QgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMTsgdGhlbgorKyAgICAgICAgICAgIGlmIC9iaW4vc2ggLWMgJE5HWF9BVVRPVEVTVF9FWEVDID4+ICROR1hfQVVUT0NPTkZfRVJSIDI+JjE7IHRoZW4KKyAgICAgICAgICAgICAgICAgZWNobyAiIG5vdCBmb3VuZCIKKyAKKyAgICAgICAgICAgICBlbHNlCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vb3B0aW9ucyBuZ2lueC0xLjAuMTEvYXV0by9vcHRpb25zCistLS0gbmdpbngtMS4wLjExLm9yaWcvYXV0by9vcHRpb25zCTIwMTEtMTItMTQgMDc6MzQ6MTYuMDAwMDAwMDAwIC0wNjAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vb3B0aW9ucwkyMDExLTEyLTI3IDEzOjU2OjQyLjMyMzM3MDA0MCAtMDYwMAorQEAgLTM1Myw2ICszNTMsMTggQEAKKyAgICAgICAgIC0tdGVzdC1idWlsZC1lcG9sbCkgICAgICAgICAgICAgIE5HWF9URVNUX0JVSUxEX0VQT0xMPVlFUyAgIDs7CisgICAgICAgICAtLXRlc3QtYnVpbGQtc29sYXJpcy1zZW5kZmlsZXYpICBOR1hfVEVTVF9CVUlMRF9TT0xBUklTX1NFTkRGSUxFVj1ZRVMgOzsKKyAKKysgICAgICAgICMgY3Jvc3MgY29tcGlsZSBzdXBwb3J0CisrICAgICAgICAtLXdpdGgtaW50PSopICAgICAgICAgICAgICAgICAgICBOR1hfV0lUSF9JTlQ9IiR2YWx1ZSIgICAgICAgICAgOzsKKysgICAgICAgIC0td2l0aC1sb25nPSopICAgICAgICAgICAgICAgICAgIE5HWF9XSVRIX0xPTkc9IiR2YWx1ZSIgICAgICAgICA7OworKyAgICAgICAgLS13aXRoLWxvbmctbG9uZz0qKSAgICAgICAgICAgICAgTkdYX1dJVEhfTE9OR19MT05HPSIkdmFsdWUiICAgIDs7CisrICAgICAgICAtLXdpdGgtcHRyLXNpemU9KikgICAgICAgICAgICAgICBOR1hfV0lUSF9QVFJfU0laRT0iJHZhbHVlIiAgICAgOzsKKysgICAgICAgIC0td2l0aC1zaWctYXRvbWljLXQ9KikgICAgICAgICAgIE5HWF9XSVRIX1NJR19BVE9NSUNfVD0iJHZhbHVlIiA7OworKyAgICAgICAgLS13aXRoLXNpemUtdD0qKSAgICAgICAgICAgICAgICAgTkdYX1dJVEhfU0laRV9UPSIkdmFsdWUiICAgICAgIDs7CisrICAgICAgICAtLXdpdGgtb2ZmLXQ9KikgICAgICAgICAgICAgICAgICBOR1hfV0lUSF9PRkZfVD0iJHZhbHVlIiAgICAgICAgOzsKKysgICAgICAgIC0td2l0aC10aW1lLXQ9KikgICAgICAgICAgICAgICAgIE5HWF9XSVRIX1RJTUVfVD0iJHZhbHVlIiAgICAgICA7OworKyAgICAgICAgLS13aXRoLXN5cy1uZXJyPSopICAgICAgICAgICAgICAgTkdYX1dJVEhfTkdYX1NZU19ORVJSPSIkdmFsdWUiIDs7CisrICAgICAgICAtLXdpdGgtZW5kaWFuPSopICAgICAgICAgICAgICAgICBOR1hfV0lUSF9FTkRJQU49IiR2YWx1ZSIgICAgICAgOzsKKysKKyAgICAgICAgICopCisgICAgICAgICAgICAgZWNobyAiJDA6IGVycm9yOiBpbnZhbGlkIG9wdGlvbiBcIiRvcHRpb25cIiIKKyAgICAgICAgICAgICBleGl0IDEKK0BAIC01MzMsNiArNDQ1LDE3IEBACisgCisgICAtLXdpdGgtZGVidWcgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSBkZWJ1ZyBsb2dnaW5nCisgCisrICAtLXdpdGgtaW50PVZBTFVFICAgICAgICAgICAgICAgICAgIGZvcmNlIGludCBzaXplCisrICAtLXdpdGgtbG9uZz1WQUxVRSAgICAgICAgICAgICAgICAgIGZvcmNlIGxvbmcgc2l6ZQorKyAgLS13aXRoLWxvbmctbG9uZz1WQUxVRSAgICAgICAgICAgICBmb3JjZSBsb25nIGxvbmcgc2l6ZQorKyAgLS13aXRoLXB0ci1zaXplPVZBTFVFICAgICAgICAgICAgICBmb3JjZSBwb2ludGVyIHNpemUKKysgIC0td2l0aC1zaWctYXRvbWljLXQ9VkFMVUUgICAgICAgICAgZm9yY2Ugc2lnX2F0b21pY190IHNpemUKKysgIC0td2l0aC1zaXplLXQ9VkFMVUUgICAgICAgICAgICAgICAgZm9yY2Ugc2l6ZV90IHNpemUKKysgIC0td2l0aC1vZmYtdD1WQUxVRSAgICAgICAgICAgICAgICAgZm9yY2Ugb2ZmX3Qgc2l6ZQorKyAgLS13aXRoLXRpbWUtdD1WQUxVRSAgICAgICAgICAgICAgICBmb3JjZSB0aW1lX3Qgc2l6ZQorKyAgLS13aXRoLXN5cy1uZXJyPVZBTFVFICAgICAgICAgICAgICBmb3JjZSBzeXNfbmVyciB2YWx1ZQorKyAgLS13aXRoLWVuZGlhbj1WQUxVRSAgICAgICAgICAgICAgICBmb3JjZSBzeXN0ZW0gZW5kaWFuZXNzCisrCisgRU5ECisgCisgICAgIGV4aXQgMQorQEAgLTU1NCw2ICs1NzcsOCBAQAorIAorIGlmIFsgIi4kTkdYX1BMQVRGT1JNIiA9ICIud2luMzIiIF07IHRoZW4KKyAgICAgTkdYX1dJTkU9JFdJTkUKKytlbGlmIFsgISAteiAiJE5HWF9QTEFURk9STSIgXTsgdGhlbgorKyAgICBOR1hfQ1JPU1NfQ09NUElMRT0ieWVzIgorIGZpCisgCisgCitkaWZmIC11cmFOIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vdHlwZXMvc2l6ZW9mIG5naW54LTEuMC4xMS9hdXRvL3R5cGVzL3NpemVvZgorLS0tIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vdHlwZXMvc2l6ZW9mCTIwMDYtMDYtMjggMTE6MDA6MjYuMDAwMDAwMDAwIC0wNTAwCisrKysgbmdpbngtMS4wLjExL2F1dG8vdHlwZXMvc2l6ZW9mCTIwMTEtMTItMjcgMTM6NTY6NDIuMzIzMzcwMDQwIC0wNjAwCitAQCAtMTIsOSArMTIsMTIgQEAKKyAKKyBFTkQKKyAKKy1uZ3hfc2l6ZT0KKytuZ3hfc2l6ZT0kKGV2YWwgImVjaG8gXCROR1hfV0lUSF8ke25neF9wYXJhbX0iKQorIAorLWNhdCA8PCBFTkQgPiAkTkdYX0FVVE9URVNULmMKKytpZiBbICIuJG5neF9zaXplIiAhPSAiLiIgXTsgdGhlbgorKyAgICBlY2hvICIgJG5neF9zaXplIGJ5dGVzIgorK2Vsc2UKKysgICAgY2F0IDw8IEVORCA+ICROR1hfQVVUT1RFU1QuYworIAorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KK0BAIC0zMywxNSArMzYsMTYgQEAKKyBFTkQKKyAKKyAKKy1uZ3hfdGVzdD0iJENDICRDQ19URVNUX0ZMQUdTICRDQ19BVVhfRkxBR1MgXAorLSAgICAgICAgICAtbyAkTkdYX0FVVE9URVNUICROR1hfQVVUT1RFU1QuYyAkTkdYX0xEX09QVCAkbmd4X2ZlYXR1cmVfbGlicyIKKysgICAgbmd4X3Rlc3Q9IiRDQyAkQ0NfVEVTVF9GTEFHUyAkQ0NfQVVYX0ZMQUdTIFwKKysgICAgICAgICAgICAgIC1vICROR1hfQVVUT1RFU1QgJE5HWF9BVVRPVEVTVC5jICROR1hfTERfT1BUICRuZ3hfZmVhdHVyZV9saWJzIgorIAorLWV2YWwgIiRuZ3hfdGVzdCA+PiAkTkdYX0FVVE9DT05GX0VSUiAyPiYxIgorKyAgICBldmFsICIkbmd4X3Rlc3QgPj4gJE5HWF9BVVRPQ09ORl9FUlIgMj4mMSIKKyAKKyAKKy1pZiBbIC14ICROR1hfQVVUT1RFU1QgXTsgdGhlbgorLSAgICBuZ3hfc2l6ZT1gJE5HWF9BVVRPVEVTVGAKKy0gICAgZWNobyAiICRuZ3hfc2l6ZSBieXRlcyIKKysgICAgaWYgWyAteCAkTkdYX0FVVE9URVNUIF07IHRoZW4KKysgICAgICAgIG5neF9zaXplPWAkTkdYX0FVVE9URVNUYAorKyAgICAgICAgZWNobyAiICRuZ3hfc2l6ZSBieXRlcyIKKysgICAgZmkKKyBmaQorIAorIAorZGlmZiAtdXJhTiBuZ2lueC0xLjAuMTEub3JpZy9hdXRvL3VuaXggbmdpbngtMS4wLjExL2F1dG8vdW5peAorLS0tIG5naW54LTEuMC4xMS5vcmlnL2F1dG8vdW5peAkyMDExLTEyLTE0IDA3OjM0OjE2LjAwMDAwMDAwMCAtMDYwMAorKysrIG5naW54LTEuMC4xMS9hdXRvL3VuaXgJMjAxMS0xMi0yNyAxMzo1Njo0Mi4zMjczNzAwNjAgLTA2MDAKK0BAIC0zOTMsMTMgKzM5MywxMyBAQAorIAorICMgQyB0eXBlcworIAorLW5neF90eXBlPSJpbnQiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9ImludCI7IG5neF9wYXJhbT0iSU5UIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIAorLW5neF90eXBlPSJsb25nIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorK25neF90eXBlPSJsb25nIjsgbmd4X3BhcmFtPSJMT05HIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIAorLW5neF90eXBlPSJsb25nIGxvbmciOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9ImxvbmcgbG9uZyI7IG5neF9wYXJhbT0iTE9OR19MT05HIjsgLiBhdXRvL3R5cGVzL3NpemVvZgorIAorLW5neF90eXBlPSJ2b2lkICoiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mOyBuZ3hfcHRyX3NpemU9JG5neF9zaXplCisrbmd4X3R5cGU9InZvaWQgKiI7IG5neF9wYXJhbT0iUFRSX1NJWkUiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mOyBuZ3hfcHRyX3NpemU9JG5neF9zaXplCisgbmd4X3BhcmFtPU5HWF9QVFJfU0laRTsgbmd4X3ZhbHVlPSRuZ3hfc2l6ZTsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgCisgCitAQCAtNDE2LDcgKzQxNiw3IEBACisgCisgbmd4X3R5cGU9InVpbnQ2NF90Ijsgbmd4X3R5cGVzPSJ1X2ludDY0X3QiOyAuIGF1dG8vdHlwZXMvdHlwZWRlZgorIAorLW5neF90eXBlPSJzaWdfYXRvbWljX3QiOyBuZ3hfdHlwZXM9ImludCI7IC4gYXV0by90eXBlcy90eXBlZGVmCisrbmd4X3R5cGU9InNpZ19hdG9taWNfdCI7IG5neF9wYXJhbT0iU0lHX0FUT01JQ19UIjsgbmd4X3R5cGVzPSJpbnQiOyAuIGF1dG8vdHlwZXMvdHlwZWRlZgorIC4gYXV0by90eXBlcy9zaXplb2YKKyBuZ3hfcGFyYW09TkdYX1NJR19BVE9NSUNfVF9TSVpFOyBuZ3hfdmFsdWU9JG5neF9zaXplOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyAKK0BAIC00MzIsMTUgKzQzMiwxNSBAQAorIAorIC4gYXV0by9lbmRpYW5lc3MKKyAKKy1uZ3hfdHlwZT0ic2l6ZV90IjsgLiBhdXRvL3R5cGVzL3NpemVvZgorK25neF90eXBlPSJzaXplX3QiOyBuZ3hfcGFyYW09IlNJWkVfVCI7IC4gYXV0by90eXBlcy9zaXplb2YKKyBuZ3hfcGFyYW09TkdYX01BWF9TSVpFX1RfVkFMVUU7IG5neF92YWx1ZT0kbmd4X21heF92YWx1ZTsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgbmd4X3BhcmFtPU5HWF9TSVpFX1RfTEVOOyBuZ3hfdmFsdWU9JG5neF9tYXhfbGVuOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyAKKy1uZ3hfdHlwZT0ib2ZmX3QiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisrbmd4X3R5cGU9Im9mZl90Ijsgbmd4X3BhcmFtPSJPRkZfVCI7IC4gYXV0by90eXBlcy9zaXplb2YKKyBuZ3hfcGFyYW09TkdYX01BWF9PRkZfVF9WQUxVRTsgbmd4X3ZhbHVlPSRuZ3hfbWF4X3ZhbHVlOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyBuZ3hfcGFyYW09TkdYX09GRl9UX0xFTjsgbmd4X3ZhbHVlPSRuZ3hfbWF4X2xlbjsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgCistbmd4X3R5cGU9InRpbWVfdCI7IC4gYXV0by90eXBlcy9zaXplb2YKKytuZ3hfdHlwZT0idGltZV90Ijsgbmd4X3BhcmFtPSJUSU1FX1QiOyAuIGF1dG8vdHlwZXMvc2l6ZW9mCisgbmd4X3BhcmFtPU5HWF9USU1FX1RfU0laRTsgbmd4X3ZhbHVlPSRuZ3hfc2l6ZTsgLiBhdXRvL3R5cGVzL3ZhbHVlCisgbmd4X3BhcmFtPU5HWF9USU1FX1RfTEVOOyBuZ3hfdmFsdWU9JG5neF9tYXhfbGVuOyAuIGF1dG8vdHlwZXMvdmFsdWUKKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueC5pbmMgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViZjkyNmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jCkBAIC0wLDAgKzEsMTM3IEBACitTVU1NQVJZID0gIkhUVFAgYW5kIHJldmVyc2UgcHJveHkgc2VydmVyIgorCitERVNDUklQVElPTiA9ICJOZ2lueCBpcyBhIHdlYiBzZXJ2ZXIgYW5kIGEgcmV2ZXJzZSBwcm94eSBzZXJ2ZXIgZm9yIFwKK0hUVFAsIFNNVFAsIFBPUDMgYW5kIElNQVAgcHJvdG9jb2xzLCB3aXRoIGEgc3Ryb25nIGZvY3VzIG9uIGhpZ2ggIFwKK2NvbmN1cnJlbmN5LCBwZXJmb3JtYW5jZSBhbmQgbG93IG1lbW9yeSB1c2FnZS4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9uZ2lueC5vcmcvIgorTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCisKK1NFQ1RJT04gPSAibmV0IgorCitERVBFTkRTID0gImxpYnBjcmUgZ3ppcCBvcGVuc3NsIgorCitTUkNfVVJJID0gIiBcCisJaHR0cDovL25naW54Lm9yZy9kb3dubG9hZC9uZ2lueC0ke1BWfS50YXIuZ3ogXAorCWZpbGU6Ly9uZ2lueC1jcm9zcy5wYXRjaCBcCisJZmlsZTovL25naW54LmNvbmYgXAorCWZpbGU6Ly9uZ2lueC5pbml0IFwKKwlmaWxlOi8vbmdpbngtdm9sYXRpbGUuY29uZiBcCisJZmlsZTovL25naW54LnNlcnZpY2UgXAorIgorCitpbmhlcml0IHVwZGF0ZS1yYy5kIHVzZXJhZGQKKworQ0ZMQUdTX2FwcGVuZCA9ICIgLWZQSUUgLXBpZSIKK0NYWEZMQUdTX2FwcGVuZCA9ICIgLWZQSUUgLXBpZSIKKworTkdJTlhfV1dXRElSID89ICIke2xvY2Fsc3RhdGVkaXJ9L3d3dy9sb2NhbGhvc3QiCitOR0lOWF9VU0VSICAgPz0gInd3dyIKKworRVhUUkFfT0VDT05GID0gIiIKK0RJU0FCTEVfU1RBVElDID0gIiIKKworZG9fY29uZmlndXJlICgpIHsKKwlpZiBbICIke1NJVEVJTkZPX0JJVFN9IiA9ICI2NCIgXTsgdGhlbgorCQlQVFJTSVpFPTgKKwllbHNlCisJCVBUUlNJWkU9NAorCWZpCisKKwllY2hvICRDRkxBR1MKKwllY2hvICRMREZMQUdTCisKKwkuL2NvbmZpZ3VyZSBcCisJLS1jcm9zc2J1aWxkPUxpbnV4OiR7VFVORV9BUkNIfSBcCisJLS13aXRoLWVuZGlhbj0ke0BiYXNlX2NvbmRpdGlvbmFsKCdTSVRFSU5GT19FTkRJQU5ORVNTJywgJ2xlJywgJ2xpdHRsZScsICdiaWcnLCBkKX0gXAorCS0td2l0aC1pbnQ9NCBcCisJLS13aXRoLWxvbmc9JHtQVFJTSVpFfSBcCisJLS13aXRoLWxvbmctbG9uZz04IFwKKwktLXdpdGgtcHRyLXNpemU9JHtQVFJTSVpFfSBcCisJLS13aXRoLXNpZy1hdG9taWMtdD0ke1BUUlNJWkV9IFwKKwktLXdpdGgtc2l6ZS10PSR7UFRSU0laRX0gXAorCS0td2l0aC1vZmYtdD0ke1BUUlNJWkV9IFwKKwktLXdpdGgtdGltZS10PSR7UFRSU0laRX0gXAorCS0td2l0aC1zeXMtbmVycj0xMzIgXAorCS0tY29uZi1wYXRoPSR7c3lzY29uZmRpcn0vbmdpbngvbmdpbnguY29uZiBcCisJLS1odHRwLWxvZy1wYXRoPSR7bG9jYWxzdGF0ZWRpcn0vbG9nL25naW54L2FjY2Vzcy5sb2cgXAorCS0tZXJyb3ItbG9nLXBhdGg9JHtsb2NhbHN0YXRlZGlyfS9sb2cvbmdpbngvZXJyb3IubG9nIFwKKwktLXBpZC1wYXRoPS9ydW4vbmdpbngvbmdpbngucGlkIFwKKwktLXByZWZpeD0ke3ByZWZpeH0gXAorCS0td2l0aC1odHRwX3NzbF9tb2R1bGUgXAorCS0td2l0aC1odHRwX2d6aXBfc3RhdGljX21vZHVsZSBcCisJJHtFWFRSQV9PRUNPTkZ9Cit9CisKK2RvX2luc3RhbGwgKCkgeworCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorCXJtIC1mciAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4gJHtEfS9ydW4KKwlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKwkJZWNobyAiZCAvcnVuLyR7QlBOfSAtIC0gLSAtIiBcCisJCSAgICAgPiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLyR7QlBOfS5jb25mCisJZmkKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9LyR7QlBOfQorCWxuIC1zbmYgJHtsb2NhbHN0YXRlZGlyfS9ydW4vJHtCUE59ICR7RH0ke3N5c2NvbmZkaXJ9LyR7QlBOfS9ydW4KKwlpbnN0YWxsIC1kICR7RH0ke05HSU5YX1dXV0RJUn0KKwltdiAke0R9L3Vzci9odG1sICR7RH0ke05HSU5YX1dXV0RJUn0vCisJY2hvd24gJHtOR0lOWF9VU0VSfTp3d3ctZGF0YSAtUiAke0R9JHtOR0lOWF9XV1dESVJ9CisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L25naW54LmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL25naW54CisJc2VkIC1pICdzLC91c3Ivc2Jpbi8sJHtzYmluZGlyfS8sZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL25naW54CisJc2VkIC1pICdzLC9ldGMvLCR7c3lzY29uZmRpcn0vLGcnICAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbmdpbngKKworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uZ2lueC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L25naW54LmNvbmYKKwlzZWQgLWkgJ3MsL3Zhci8sJHtsb2NhbHN0YXRlZGlyfS8sZycgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngvbmdpbnguY29uZgorCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngvc2l0ZXMtZW5hYmxlZAorCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25naW54LXZvbGF0aWxlLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfbmdpbngKKwlzZWQgLWkgJ3MsL3Zhci8sJHtsb2NhbHN0YXRlZGlyfS8sZycgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfbmdpbngKKworICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9O3RoZW4KKyAgICAgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25naW54LnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgICAgICAgICBzZWQgLWkgLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAorICAgICAgICAgICAgICAgICAgICAtZSAncyxATE9DQUxTVEFURURJUkAsJHtsb2NhbHN0YXRlZGlyfSxnJyBcCisgICAgICAgICAgICAgICAgICAgIC1lICdzLEBCQVNFQklORElSQCwke2Jhc2VfYmluZGlyfSxnJyBcCisgICAgICAgICAgICAgICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL25naW54LnNlcnZpY2UKKyAgICAgICAgZmkKK30KKworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKKwlpZiBbIC16ICIkRCIgXTsgdGhlbgorCQlpZiB0eXBlIHN5c3RlbWQtdG1wZmlsZXMgPi9kZXYvbnVsbDsgdGhlbgorCQkJc3lzdGVtZC10bXBmaWxlcyAtLWNyZWF0ZQorCQllbGlmIFsgLWUgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggXTsgdGhlbgorCQkJJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCisJCWZpCisJZmkKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bG9jYWxzdGF0ZWRpcn0vIFwKKyAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL25naW54LnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICIKKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vbmdpbngvbmdpbnguY29uZiBcCisJCSR7c3lzY29uZmRpcn0vbmdpbngvZmFzdGNnaS5jb25mXAorCQkke3N5c2NvbmZkaXJ9L25naW54L2Zhc3RjZ2lfcGFyYW1zIFwKKwkJJHtzeXNjb25mZGlyfS9uZ2lueC9rb2ktdXRmIFwKKwkJJHtzeXNjb25mZGlyfS9uZ2lueC9rb2ktd2luIFwKKwkJJHtzeXNjb25mZGlyfS9uZ2lueC9taW1lLnR5cGVzIFwKKwkJJHtzeXNjb25mZGlyfS9uZ2lueC9zY2dpX3BhcmFtcyBcCisJCSR7c3lzY29uZmRpcn0vbmdpbngvdXdzZ2lfcGFyYW1zIFwKKwkJJHtzeXNjb25mZGlyfS9uZ2lueC93aW4tdXRmIFwKKyIKKworSU5JVFNDUklQVF9OQU1FID0gIm5naW54IgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgOTIgMjAiCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIiBcCisgICAgLS1zeXN0ZW0gLS1uby1jcmVhdGUtaG9tZSBcCisgICAgLS1ob21lICR7TkdJTlhfV1dXRElSfSBcCisgICAgLS1ncm91cHMgd3d3LWRhdGEgXAorICAgIC0tdXNlci1ncm91cCAke05HSU5YX1VTRVJ9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuOC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuOC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4OWY1NDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS44LjEuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlIG5naW54LmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zODQ1ODUyYWVkZmE4ZDZkNzc2NWY1NWQwNmNjM2ViZCIKKworU1JDX1VSSVttZDVzdW1dID0gIjJlOTE2OTUwNzRkYmRmYmYxYmNlYzBhZGE5ZmRhNDYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhmNGIzYzYzMDk2NmMwNDRlYzcyNzE1NzU0MzM0ZDFmZGY3NDFjYWExZDU3OTVmYjQ2NDZjMjdkMDlmNzk3YjciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS45LjE0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuOS4xNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODVjNTJjCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuOS4xNC5iYgpAQCAtMCwwICsxLDEyIEBACityZXF1aXJlIG5naW54LmluYworCisjIDEuOS54IGlzIHRoZSBjdXJyZW50IG1haW5saW5lIGJyYW5jaGVzIGNvbnRhaW5pbmcgYWxsIG5ldyBmZWF0dXJlcworIyAxLjgueCBicmFuY2ggaXMgdGhlIGN1cnJlbnQgc3RhYmxlIGJyYW5jaCwgdGhlIHJlY29tbWVuZGVkIGRlZmF1bHQKK0RFRkFVTFRfUFJFRkVSRU5DRSA9ICItMSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MGJiNThlZDBkZmQ0ZjVkYmVjZTNiNTJhYmE3OWYwMjMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhMjU4MTgwMzlmMzRiNWQ1NGIwMTdkNDRjNzYzMjFjNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyYjQ4OTMwNzZkMjhlNmI0Mzg0YmJhOGM0ZmRlYmZjYTZkZTZmOGY2OGVjNDhhMWNhOTRiOWI4NTVmZjQ1N2QyIgorCitESVNBQkxFX1NUQVRJQyA9ICIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vZmlsZXMvMDAwMS1HTlVtYWtlZmlsZS1hZGQtcG9zc2liaWxpdHktdG8tb3ZlcnJpZGUtdmFyaWFibGVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzLzAwMDEtR05VbWFrZWZpbGUtYWRkLXBvc3NpYmlsaXR5LXRvLW92ZXJyaWRlLXZhcmlhYmxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2YwMTFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzLzAwMDEtR05VbWFrZWZpbGUtYWRkLXBvc3NpYmlsaXR5LXRvLW92ZXJyaWRlLXZhcmlhYmxlcy5wYXRjaApAQCAtMCwwICsxLDE0MSBAQAorRnJvbSA3ZmEwZDMxZWM1YzBiZTlkY2E4NGEwMzg1MWIyZDQ0ZjYxNTI3ZWM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0VyaWM9MjBCPUMzPUE5bmFyZD89IDxlcmljQGV1a3JlYS5jb20+CitEYXRlOiBTdW4sIDQgRGVjIDIwMTEgMTY6MDE6MDQgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gR05VbWFrZWZpbGU6IGFkZCBwb3NzaWJpbGl0eSB0byBvdmVycmlkZSB2YXJpYWJsZXMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKwordGhpcyBpcyB1c2VmdWwgZm9yIGNyb3NzIGNvbXBpbGF0aW9uCisKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQsOpbmFyZCA8ZXJpY0BldWtyZWEuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorIHNyYy9saWJic2QvR05VbWFrZWZpbGUgfCAgIDEwICsrKysrLS0tLS0KKyBzcmMvbGlibXkvR05VbWFrZWZpbGUgIHwgICAyNiArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQorIHNyYy9uaHR0cGQvR05VbWFrZWZpbGUgfCAgIDEyICsrKysrKy0tLS0tLQorIHNyYy90b29scy9HTlVtYWtlZmlsZSAgfCAgICA4ICsrKystLS0tCisgNCBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWJic2QvR05VbWFrZWZpbGUgYi9zcmMvbGliYnNkL0dOVW1ha2VmaWxlCitpbmRleCBlMmQwMWEzLi5iMDM0YmM2IDEwMDY0NAorLS0tIGEvc3JjL2xpYmJzZC9HTlVtYWtlZmlsZQorKysrIGIvc3JjL2xpYmJzZC9HTlVtYWtlZmlsZQorQEAgLTEsMTIgKzEsMTIgQEAKKy1DQ0ZMQUdTID0gLU8yIC1waXBlIC1XYWxsIC1XZXJyb3IgLVdzdHJpY3QtcHJvdG90eXBlcyAtYworK0NGTEFHUyA6PSAtTzIgLXBpcGUgLVdhbGwgLVdlcnJvciAtV3N0cmljdC1wcm90b3R5cGVzIC1jCisgCisgbGliYnNkLmE6CXN0cmxjcHkubyBzdHJsY2F0Lm8KKy0JCWFyIC1yIGxpYmJzZC5hIHN0cmxjcHkubyBzdHJsY2F0Lm8KKy0JCXJhbmxpYiBsaWJic2QuYQorKwkJJChBUikgLXIgbGliYnNkLmEgc3RybGNweS5vIHN0cmxjYXQubworKwkJJChSQU5MSUIpIGxpYmJzZC5hCisgCisgc3RybGNweS5vOglzdHJsY3B5LmMKKy0JCWNjICR7Q0NGTEFHU30gc3RybGNweS5jCisrCQkkKENDKSAkKENGTEFHUykgc3RybGNweS5jCisgc3RybGNhdC5vOglzdHJsY2F0LmMKKy0JCWNjICR7Q0NGTEFHU30gc3RybGNhdC5jCisrCQkkKENDKSAkKENGTEFHUykgc3RybGNhdC5jCisgY2xlYW46CisgCQlybSAtZiBsaWJic2QuYSAqLm8KK2RpZmYgLS1naXQgYS9zcmMvbGlibXkvR05VbWFrZWZpbGUgYi9zcmMvbGlibXkvR05VbWFrZWZpbGUKK2luZGV4IGNlOTBkZDkuLjg5MWZmZWEgMTAwNjQ0CistLS0gYS9zcmMvbGlibXkvR05VbWFrZWZpbGUKKysrKyBiL3NyYy9saWJteS9HTlVtYWtlZmlsZQorQEAgLTEsMzAgKzEsMzAgQEAKKy1DQ0ZMQUdTID0gLU8yIC1XYWxsIC1XZXJyb3IgLVdzdHJpY3QtcHJvdG90eXBlcyAtYworK0NGTEFHUyA6PSAtTzIgLVdhbGwgLVdlcnJvciAtV3N0cmljdC1wcm90b3R5cGVzIC1jCisgCisgbGlibXkuYToJc3RyY3V0bC5vIHN0cmN1dHcubyBzdHJjdXRzLm8gc3RyY3V0aS5vIHN0cmN1dGYubyBmbG9nLm8gZmxvZ2QubyBmcGFyc2UubyBzdHJsb3dlci5vIHN0cmI2NGQubworLQkJYXIgLXIgbGlibXkuYSBzdHJjdXRsLm8gc3RyY3V0dy5vIHN0cmN1dHMubyBzdHJjdXRpLm8gc3RyY3V0Zi5vIGZsb2cubyBmbG9nZC5vIGZwYXJzZS5vIHN0cmxvd2VyLm8gc3RyYjY0ZC5vCistCQlyYW5saWIgbGlibXkuYQorKwkJJChBUikgLXIgbGlibXkuYSBzdHJjdXRsLm8gc3RyY3V0dy5vIHN0cmN1dHMubyBzdHJjdXRpLm8gc3RyY3V0Zi5vIGZsb2cubyBmbG9nZC5vIGZwYXJzZS5vIHN0cmxvd2VyLm8gc3RyYjY0ZC5vCisrCQkkKFJBTkxJQikgbGlibXkuYQorIAorIHN0cmN1dGwubzoJc3RyY3V0bC5jCistCQljYyAke0NDRkxBR1N9IHN0cmN1dGwuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmN1dGwuYworIHN0cmN1dHcubzoJc3RyY3V0dy5jCistCQljYyAke0NDRkxBR1N9IHN0cmN1dHcuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmN1dHcuYworIHN0cmN1dHMubzoJc3RyY3V0cy5jCistCQljYyAke0NDRkxBR1N9IHN0cmN1dHMuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmN1dHMuYworIHN0cmN1dGkubzoJc3RyY3V0aS5jCistCQljYyAke0NDRkxBR1N9IHN0cmN1dGkuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmN1dGkuYworIHN0cmN1dGYubzoJc3RyY3V0Zi5jCistCQljYyAke0NDRkxBR1N9IHN0cmN1dGYuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmN1dGYuYworIHN0cmxvd2VyLm86CXN0cmxvd2VyLmMKKy0JCWNjICR7Q0NGTEFHU30gc3RybG93ZXIuYworKwkJJChDQykgJChDRkxBR1MpIHN0cmxvd2VyLmMKKyBzdHJiNjRkLm86CXN0cmI2NGQuYworLQkJY2MgJHtDQ0ZMQUdTfSBzdHJiNjRkLmMKKysJCSQoQ0MpICQoQ0ZMQUdTKSBzdHJiNjRkLmMKKyAKKyBmbG9nLm86CQlmbG9nLmMKKy0JCWNjICR7Q0NGTEFHU30gZmxvZy5jCisrCQkkKENDKSAkKENGTEFHUykgZmxvZy5jCisgZmxvZ2QubzoJZmxvZ2QuYworLQkJY2MgJHtDQ0ZMQUdTfSBmbG9nZC5jCisrCQkkKENDKSAkKENGTEFHUykgZmxvZ2QuYworIGZwYXJzZS5vOglmcGFyc2UuYworLQkJY2MgJHtDQ0ZMQUdTfSBmcGFyc2UuYworKwkJJChDQykgJChDRkxBR1MpIGZwYXJzZS5jCisgCisgY2xlYW46CisgCQlybSAtZiBsaWJteS5hICoubworZGlmZiAtLWdpdCBhL3NyYy9uaHR0cGQvR05VbWFrZWZpbGUgYi9zcmMvbmh0dHBkL0dOVW1ha2VmaWxlCitpbmRleCBmNmQxMmRlLi45NTI0OTExIDEwMDY0NAorLS0tIGEvc3JjL25odHRwZC9HTlVtYWtlZmlsZQorKysrIGIvc3JjL25odHRwZC9HTlVtYWtlZmlsZQorQEAgLTEsMTggKzEsMTggQEAKKy1DQ0ZMQUdTID0gLU8yIC1waXBlIC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMgLWMKKytDRkxBR1MgOj0gLU8yIC1waXBlIC1XYWxsIC1Xc3RyaWN0LXByb3RvdHlwZXMgLWMKKyAKKyBuaHR0cGQ6CW1haW4ubyBodHRwLm8gc3lzLm8KKy0JY2MgLUwuLi9saWJteSAtTC4uL2xpYmJzZCAtbyBuaHR0cGQgbWFpbi5vIGh0dHAubyBzeXMubyAtbG15IC1sYnNkIC1sc3NsIC1sY3J5cHQKKy0Jc3RyaXAgbmh0dHBkCisrCSQoQ0MpIC1MLi4vbGlibXkgLUwuLi9saWJic2QgLW8gbmh0dHBkIG1haW4ubyBodHRwLm8gc3lzLm8gLWxteSAtbGJzZCAtbHNzbCAtbGNyeXB0CisrIwkkKFNUUklQKSBuaHR0cGQKKyAJbnJvZmYgLVRhc2NpaSAtYyAtbWFuZG9jIG5odHRwZC44ID4gbmh0dHBkLmNhdDgKKyAKKyBtYWluLm86CW1haW4uYworLQljYyAke0NDRkxBR1N9IG1haW4uYworKwkkKENDKSAkKENGTEFHUykgbWFpbi5jCisgCisgaHR0cC5vOglodHRwLmMKKy0JY2MgJHtDQ0ZMQUdTfSBodHRwLmMKKysJJChDQykgJChDRkxBR1MpIGh0dHAuYworIAorIHN5cy5vOglzeXMuYworLQljYyAke0NDRkxBR1N9IHN5cy5jCisrCSQoQ0MpICQoQ0ZMQUdTKSBzeXMuYworIAorIGNsZWFuOgorIAlybSAtZiBuaHR0cGQgbmh0dHBkLmNhdDggKi5vCitkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL0dOVW1ha2VmaWxlIGIvc3JjL3Rvb2xzL0dOVW1ha2VmaWxlCitpbmRleCAxNWJlYTYxLi42NjNkZGI1IDEwMDY0NAorLS0tIGEvc3JjL3Rvb2xzL0dOVW1ha2VmaWxlCisrKysgYi9zcmMvdG9vbHMvR05VbWFrZWZpbGUKK0BAIC0xLDExICsxLDExIEBACistQ0NGTEFHUyA9IC1PMiAtcGlwZSAtV2FsbCAtV2Vycm9yIC1Xc3RyaWN0LXByb3RvdHlwZXMgLWMKKytDQ0ZMQUdTIDo9IC1PMiAtcGlwZSAtV2FsbCAtV2Vycm9yIC1Xc3RyaWN0LXByb3RvdHlwZXMKKyAKKyBjcnlwdDoJCWNyeXB0Lm8KKy0JCWNjIC1vIGNyeXB0IGNyeXB0Lm8gLWxjcnlwdAorLQkJc3RyaXAgY3J5cHQKKysJCSQoQ0MpICQoQ0ZMQUdTKSAtbyBjcnlwdCBjcnlwdC5vIC1sY3J5cHQKKysjCQkkKFNUUklQKSBjcnlwdAorIAorIGNyeXB0Lm86CWNyeXB0LmMKKy0JCWNjICR7Q0NGTEFHU30gY3J5cHQuYworKwkJJChDQykgJChDRkxBR1MpIC1jIGNyeXB0LmMKKyAKKyBjbGVhbjoKKyAJCXJtIC1mIGNyeXB0ICoubworLS0gCisxLjcuNi40CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9maWxlcy9uaHR0cGQuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9maWxlcy9uaHR0cGQuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Njc0YmI2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL25odHRwZC5jb25mCkBAIC0wLDAgKzEsNTUgQEAKKyMgTUFJTiBbTUFOREFUT1JZXQorCitzZXJ2ZXJuYW1lCQlsb2NhbGhvc3QKKyNzZXJ2ZXJuYW1lCQl3d3cubmF6Z3VsLmNoOjgwODAKK3NlcnZlcmxpc3RlbgkJKgorI3NlcnZlcmxpc3RlbgkJODEuMjIxLjIxLjI1MCAxMjcuMC4wLjEgOjoxCitzZXJ2ZXJhZG1pbgkJd2VibWFzdGVyQGxvY2FsaG9zdAorc2VydmVycm9vdAkJL3Zhci9ub3N0cm9tbworc2VydmVybWltZXMJCS92YXIvbm9zdHJvbW8vY29uZi9taW1lcworZG9jcm9vdAkJCS92YXIvbm9zdHJvbW8vaHRkb2NzCitkb2NpbmRleAkJaW5kZXguaHRtbAorCisjIExPR1MgW09QVElPTkFMXQorCitsb2dwaWQJCQkvdmFyL3J1bi9ub3N0cm9tby9uaHR0cGQucGlkCisjbG9nYWNjZXNzCQkvdmFyL2xvZy9ub3N0cm9tby9hY2Nlc3NfbG9nCisKKyMgU0VUVUlEIFtSRUNPTU1FTkRFRF0KKwordXNlcgkJCXd3dy1kYXRhCisKKyMgQkFTSUMgQVVUSEVOVElDQVRJT04gW09QVElPTkFMXQorCisjaHRhY2Nlc3MJCS5odGFjY2VzcworI2h0cGFzc3dkCQkvdmFyL25vc3Ryb21vL2NvbmYvLmh0cGFzc3dkCisjaHRwYXNzd2QJCStic2RhdXRoCisjaHRwYXNzd2QJCStic2RhdXRobm9zc2wKKworIyBTU0wgW09QVElPTkFMXQorCisjc3NscG9ydAkJNDQzCisjc3NsY2VydAkJL2V0Yy9zc2wvc2VydmVyLmNydAorI3NzbGNlcnRrZXkJCS9ldGMvc3NsL3NlcnZlci5rZXkKKworIyBDVVNUT00gUkVTUE9OU0VTIFtPUFRJT05BTF0KKyMKKyMgVGhlIGN1c3RvbSByZXNwb25zZXMgYXJlIHNlYXJjaGVkIGluIHRoZSBjb3JyZXNwb25kaW5nIGRvY3VtZW50IHJvb3QuCisKKyNjdXN0b21fNDAxCQljdXN0b21fNDAxLmh0bWwKKyNjdXN0b21fNDAzCQljdXN0b21fNDAzLmh0bWwKKyNjdXN0b21fNDA0CQljdXN0b21fNDA0Lmh0bWwKKworIyBBTElBU0VTIFtPUFRJT05BTF0KKworL2ljb25zCQkJL3Zhci9ub3N0cm9tby9pY29ucworCisjIFZJUlRVQUwgSE9TVFMgW09QVElPTkFMXQorCisjd3d3LnJhaGVsLmNoCQkvdmFyL25vc3Ryb21vL2h0ZG9jcy93d3cucmFoZWwuY2gKKyN3d3cucmFoZWwuY2g6ODA4MAkvdmFyL25vc3Ryb21vL2h0ZG9jcy93d3cucmFoZWwuY2gKKworIyBIT01FRElSUyBbT1BUSU9OQUxdCisKKyNob21lZGlycwkJL2hvbWUKKyNob21lZGlyc19wdWJsaWMJcHVibGljX3d3dwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL25vc3Ryb21vIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL25vc3Ryb21vCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhMjg4NjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vZmlsZXMvbm9zdHJvbW8KQEAgLTAsMCArMSwzNCBAQAorIyEvYmluL3NoCisKK1BBVEg9L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KK0RBRU1PTj1uaHR0cGQKK05BTUU9bmh0dHBkCitERVNDPSJOb3N0cm9tbyBXZWIgU2VydmVyIgorT1BUUz0iLWMgL2V0Yy9uaHR0cGQuY29uZiIKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorCWVjaG8gLW4gIlN0YXJ0aW5nICRERVNDOiAiCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAteCAiJERBRU1PTiIgLS0gJE9QVFMKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgc3RvcCkKKwllY2hvIC1uICJTdG9wcGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAteCAiJERBRU1PTiIKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgcmVzdGFydHxmb3JjZS1yZWxvYWQpCisJZWNobyAtbiAiUmVzdGFydGluZyAkREVTQzogIgorCXN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAteCAiJERBRU1PTiIKKwlzbGVlcCAxCisJc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAteCAiJERBRU1PTiIgLS0gJE9QVFMKKwllY2hvICIkTkFNRS4iCisJOzsKKyAgKikKKwlOPS9ldGMvaW5pdC5kLyROQU1FCisJZWNobyAiVXNhZ2U6ICROIHtzdGFydHxzdG9wfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfSIgPiYyCisJZXhpdCAxCisJOzsKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vZmlsZXMvdG1wZmlsZXMuY29uZiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9ub3N0cm9tby9maWxlcy90bXBmaWxlcy5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YTlmNDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vZmlsZXMvdG1wZmlsZXMuY29uZgpAQCAtMCwwICsxIEBACitkIC9ydW4vbm9zdHJvbW8gLSB3d3ctZGF0YSB3d3ctZGF0YSAtCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vZmlsZXMvdm9sYXRpbGVzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL3ZvbGF0aWxlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDkyNDk2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL2ZpbGVzL3ZvbGF0aWxlcwpAQCAtMCwwICsxLDIgQEAKK2Qgd3d3LWRhdGEgd3d3LWRhdGEgMDc3NSAvdmFyL3J1bi9ub3N0cm9tbyBub25lCitkIHd3dy1kYXRhIHd3dy1kYXRhIDA3NzUgL3Zhci9sb2cvbm9zdHJvbW8gbm9uZQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL25vc3Ryb21vXzEuOS41LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25vc3Ryb21vL25vc3Ryb21vXzEuOS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2MmVjZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbm9zdHJvbW8vbm9zdHJvbW9fMS45LjUuYmIKQEAgLTAsMCArMSw2OSBAQAorU1VNTUFSWSA9ICJBIHNpbXBsZSwgZmFzdCBhbmQgc2VjdXJlIEhUVFAgc2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uYXpndWwuY2gvZGV2X25vc3Ryb21vLmh0bWwiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9uaHR0cGQvbWFpbi5jO2JlZ2lubGluZT0yO2VuZGxpbmU9MTQ7bWQ1PWU1ZWMzZmE3MjNiMjliN2Q1OWQyMDVhZmQ4ZDM2OTM4IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubmF6Z3VsLmNoL2Rldi8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtR05VbWFrZWZpbGUtYWRkLXBvc3NpYmlsaXR5LXRvLW92ZXJyaWRlLXZhcmlhYmxlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uaHR0cGQuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly92b2xhdGlsZXMgXAorICAgICAgICAgICBmaWxlOi8vdG1wZmlsZXMuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9ub3N0cm9tbyBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYzZjZmQ2YjVhYWUwNGMzNzBjN2Y4MThmYTdiZGU1NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZjYyNTc4Mjg1ZTAyNDQ5NDA2YjQ2Y2YwNmE3ODg4ZmUzZGM0YTkwYmVkZjU4Y2MxODUyM2JhZDYyZjZiOTE0IgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworREVQRU5EUyA9ICJvcGVuc3NsIgorCitpbmhlcml0IHVwZGF0ZS1yYy5kIHVzZXJhZGQKKworSU5JVFNDUklQVF9OQU1FID0gIm5vc3Ryb21vIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgNzAiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZQorfQorCisjIHdlIG5lZWQgdXNlci9ncm91cCB3d3ctZGF0YSB0byBleGlzdCB3aGVuIHdlIGluc3RhbGwKKyMKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC1nIHd3dy1kYXRhIHd3dy1kYXRhIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS8ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IHNyYy9uaHR0cGQvbmh0dHBkICR7RH0vJHtzYmluZGlyfS9uaHR0cGQKKyAgICBpbnN0YWxsIC1tIDA3NTUgc3JjL3Rvb2xzL2NyeXB0ICR7RH0vJHtzYmluZGlyfS9jcnlwdAorICAgIGluc3RhbGwgLWQgJHtEfS8ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLW0gMDQ0NCBzcmMvbmh0dHBkL25odHRwZC44ICR7RH0vJHttYW5kaXJ9L21hbjgvbmh0dHBkLjgKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L25vc3Ryb21vL2NvbmYKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L25vc3Ryb21vL2h0ZG9jcy9jZ2ktYmluCisgICAgaW5zdGFsbCAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ub3N0cm9tby9pY29ucworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNjQ0IGNvbmYvbWltZXMgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbm9zdHJvbW8vY29uZi9taW1lcworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25odHRwZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbm9zdHJvbW8gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vdm9sYXRpbGVzICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzL25vc3Ryb21vCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vdG1wZmlsZXMuY29uZiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL25vc3Ryb21vLmNvbmYKKyAgICBmaQorICAgIGluc3RhbGwgLW0gMDY0NCBodGRvY3MvaW5kZXguaHRtbCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ub3N0cm9tby9odGRvY3MvaW5kZXguaHRtbAorICAgIGluc3RhbGwgLW0gMDY0NCBodGRvY3Mvbm9zdHJvbW8uZ2lmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L25vc3Ryb21vL2h0ZG9jcy9ub3N0cm9tby5naWYKKyAgICBpbnN0YWxsIC1tIDA2NDQgaWNvbnMvZGlyLmdpZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ub3N0cm9tby9pY29ucy9kaXIuZ2lmCisgICAgaW5zdGFsbCAtbSAwNjQ0IGljb25zL2ZpbGUuZ2lmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L25vc3Ryb21vL2ljb25zL2ZpbGUuZ2lmCisgICAgY2hvd24gLVIgd3d3LWRhdGE6d3d3LWRhdGEgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L25vc3Ryb21vCit9CisKK0NPTkZGSUxFU18ke1BOfSArPSAiL3Zhci9ub3N0cm9tby9jb25mL21pbWVzICR7c3lzY29uZmRpcn0vbmh0dHBkLmNvbmYiCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisgICAgaWYgWyAteiAiJEQiIF07IHRoZW4KKyAgICAgICAgaWYgWyAtZSAvc3lzL2ZzL2Nncm91cC9zeXN0ZW1kIF07IHRoZW4KKyAgICAgICAgICAgIHN5c3RlbWQtdG1wZmlsZXMgLS1jcmVhdGUgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL25vc3Ryb21vLmNvbmYKKyAgICAgICAgZWxpZiBbIC1lICR7c3lzY29uZmRpcn0vaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIF07IHRoZW4KKyAgICAgICAgICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIHVwZGF0ZQorICAgICAgICBmaQorICAgIGZpCit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkL2luaXQgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkL2luaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVmN2IwMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9zdGh0dHBkL3N0aHR0cGQvaW5pdApAQCAtMCwwICsxLDUyIEBACisjIS9iaW4vc2gKKworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgdGh0dHBkCisjIFJlcXVpcmVkLVN0YXJ0OiAgICAkcmVtb3RlX2ZzICRzeXNsb2cKKyMgUmVxdWlyZWQtU3RvcDogICAgICRyZW1vdGVfZnMgJHN5c2xvZworIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IFNtYWxsIGh0dHAgc2VydmVyCisjIERlc2NyaXB0aW9uOiAgICAgICB0aHR0cGQgaXMgYSBzaW1wbGUsIHNtYWxsLCBwb3J0YWJsZSwgZmFzdCwgYW5kIHNlY3VyZSBIVFRQIHNlcnZlci4KKyMjIyBFTkQgSU5JVCBJTkZPCisKKwordGh0dHBkPS91c3Ivc2Jpbi90aHR0cGQKK3Rlc3QgLXggIiR0aHR0cGQiIHx8IGV4aXQgMAorCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKyAgICBlY2hvIC1uICJTdGFydGluZyB0aHR0cGQiCisgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdGFydCAtLXF1aWV0IC0tZXhlYyAkdGh0dHBkIC0tIC1DIEBAQ09ORkZJTEUKKyAgICBlY2hvICIuIgorICAgIDs7CisgIHN0b3ApCisgICAgZWNobyAtbiAiU3RvcHBpbmcgdGh0dHBkIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tZXhlYyAkdGh0dHBkCisgICAgZWNobyAiLiIKKyAgICA7OworICByZWxvYWR8Zm9yY2UtcmVsb2FkKQorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tc2lnbmFsIDEgLS1leGVjICR0aHR0cGQKKyAgICA7OworICByZXN0YXJ0KQorICAgIGVjaG8gLW4gIlN0b3BwaW5nIHRodHRwZCIKKyAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLWV4ZWMgJHRodHRwZCAtLSAtQyBAQENPTkZGSUxFCisgICAgZWNobyAiLiIKKyAgICBlY2hvIC1uICJXYWl0aW5nIGZvciB0aHR0cGQgdG8gZGllIG9mZiIKKyAgICBmb3IgaSBpbiAxIDIgMyA7CisgICAgZG8KKyAgICAgICAgc2xlZXAgMQorICAgICAgICBlY2hvIC1uICIuIgorICAgIGRvbmUKKyAgICBlY2hvICIiCisgICAgZWNobyAtbiAiU3RhcnRpbmcgdGh0dHBkIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgJHRodHRwZCAtLSAtQyBAQENPTkZGSUxFCisgICAgZWNobyAiLiIKKyAgICA7OworICAqKQorICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC90aHR0cGQge3N0YXJ0fHN0b3B8cmVsb2FkfHJlc3RhcnR8Zm9yY2UtcmVsb2FkfSIKKyAgICBleGl0IDEKK2VzYWMKKworZXhpdCAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkL3RodHRwZC5jb25mIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL3N0aHR0cGQvc3RodHRwZC90aHR0cGQuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTc5ODRmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL3N0aHR0cGQvc3RodHRwZC90aHR0cGQuY29uZgpAQCAtMCwwICsxIEBACitkaXI9QEBTUlZESVIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9zdGh0dHBkL3N0aHR0cGQvdGh0dHBkLnNlcnZpY2UgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkL3RodHRwZC5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxMDk1MDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkL3RodHRwZC5zZXJ2aWNlCkBAIC0wLDAgKzEsMTAgQEAKK1tVbml0XQorRGVzY3JpcHRpb249VGlueS9UdXJiby9UaHJvdHRsaW5nIFdlYiBTZXJ2ZXIKKworW1NlcnZpY2VdCitUeXBlPWZvcmtpbmcKK0V4ZWNTdGFydD0vdXNyL3NiaW4vdGh0dHBkIC1DIEBAQ09ORkZJTEUgLWMgY2dpLWJpbi8qIC1pIC92YXIvcnVuL3RodHRwZC5waWQKK1BJREZpbGU9L3Zhci9ydW4vdGh0dHBkLnBpZAorCitbSW5zdGFsbF0KK1dhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkXzIuMjYuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9zdGh0dHBkL3N0aHR0cGRfMi4yNi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwMzQ5MjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvc3RodHRwZC9zdGh0dHBkXzIuMjYuNC5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIkEgc2ltcGxlLCBzbWFsbCwgcG9ydGFibGUsIGZhc3QsIGFuZCBzZWN1cmUgSFRUUCBzZXJ2ZXIiCitERVNDUklQVElPTiA9ICJBIHNpbXBsZSwgc21hbGwsIHBvcnRhYmxlLCBmYXN0LCBhbmQgc2VjdXJlIEhUVFAgc2VydmVyIChzdXBwb3J0ZWQgZm9yayBvZiB0aHR0cGQpLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9vcGVuc291cmNlLmR5Yy5lZHUvc3RodHRwZCIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3JjL3RodHRwZC5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjY7bWQ1PTBjNTc2MmMyYzM0ZGNiZTllYjE4ODE1NTE2NTAyODcyIgorCitTUkNfVVJJID0gImh0dHA6Ly9vcGVuc291cmNlLmR5Yy5lZHUvcHViL3N0aHR0cGQvc3RodHRwZC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vdGh0dHBkLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vdGh0dHBkLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vaW5pdCIKKworU1JDX1VSSVttZDVzdW1dID0gImU2NDVhODVhOTdkM2NiODgzMDExYTM1YmMyMjExODE1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc4ZTg3OTc5MTQwY2JkYTEyM2M4MWI0MDUxNTUyMjQyZGJiZmZiNWRlYzFhMTdlNWY5NWVjNDgyNmIxZWFkZGIiCisKK1MgPSAiJHtXT1JLRElSfS9zdGh0dHBkLSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK1NSVl9ESVIgPz0gIiR7c2VydmljZWRpcn0vd3d3IgorCitFWFRSQV9PRU1BS0UgKz0gIidXRUJESVI9JHtTUlZfRElSfSciCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLWMgLW0gNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvdGh0dHBkCisgICAgaW5zdGFsbCAtYyAtbSA3NTUgJHtXT1JLRElSfS90aHR0cGQuY29uZiAke0R9JHtzeXNjb25mZGlyfQorICAgIHNlZCAtaSAtZSAncyxAQENPTkZGSUxFLCR7c3lzY29uZmRpcn0vdGh0dHBkLmNvbmYsZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3RodHRwZAorICAgIHNlZCAtaSAtZSAncyxAQFNSVkRJUiwke1NSVl9ESVJ9LGcnICR7RH0ke3N5c2NvbmZkaXJ9L3RodHRwZC5jb25mCisgICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3RodHRwZAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3RodHRwZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vdGh0dHBkLnNlcnZpY2UKKyAgICBzZWQgLWkgJ3MhL3Zhci8hJHtsb2NhbHN0YXRlZGlyfS8hZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vdGh0dHBkLnNlcnZpY2UKKyAgICBzZWQgLWkgLWUgJ3MsQEBDT05GRklMRSwke3N5c2NvbmZkaXJ9L3RodHRwZC5jb25mLGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3RodHRwZC5zZXJ2aWNlCit9CisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJ0aHR0cGQiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInRodHRwZC5zZXJ2aWNlIgorCitGSUxFU18ke1BOfSArPSAiJHtTUlZfRElSfSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtTUlZfRElSfS9jZ2ktYmluLy5kZWJ1ZyIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vUG9ydC1jb250ZW50LXNwb29maW5nLWZpeC1DVkUtMjAxNS03ODczLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vUG9ydC1jb250ZW50LXNwb29maW5nLWZpeC1DVkUtMjAxNS03ODczLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNmJjYmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3BocG15YWRtaW4vcGhwbXlhZG1pbi9Qb3J0LWNvbnRlbnQtc3Bvb2ZpbmctZml4LUNWRS0yMDE1LTc4NzMucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorRnJvbSBhZTdlYWUxY2M4OGNiZGYyZDI3YTZmMTBmMDk3ZWY3MzE4MjM2ODllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CitEYXRlOiBTYXQsIDE0IE5vdiAyMDE1IDAyOjAxOjU0IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIFBvcnQgY29udGVudCBzcG9vZmluZyBmaXgKKworQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0IGZvciBmaXhpbmcgQ1ZFLTIwMTUtNzg3MzoKKyAgaHR0cHM6Ly9naXRodWIuY29tL3BocG15YWRtaW4vcGhwbXlhZG1pbi9jb21taXQvY2QwOTc2NTY3NThmOTgxZjgwZmI5MDI5YzdkNmI0Mjk0NTgyYjcwNgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IE1hcmMgRGVsaXNsZSA8bWFyY0BpbmZvbWFyYy5pbmZvPgorU2lnbmVkLW9mZi1ieTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CistLS0KKyBDaGFuZ2VMb2cgfCA0ICsrKysKKyB1cmwucGhwICAgfCAzICsrLQorIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKK2luZGV4IDRjYjY3MDguLjk2OTM2YzggMTAwNjQ0CistLS0gYS9DaGFuZ2VMb2cKKysrKyBiL0NoYW5nZUxvZworQEAgLTEwNyw2ICsxMDcsMTAgQEAgcGhwTXlBZG1pbiAtIENoYW5nZUxvZworIC0gaXNzdWUgIzExNDQ4IENsYXJpZnkgZG9jIGFib3V0IHRoZSBNZW1vcnlMaW1pdCBkaXJlY3RpdmUKKyAtIGlzc3VlICMxMTQ4OSBDYW5ub3QgY29weSBhIGRhdGFiYXNlIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucworIAorKzQuNC4xNS4xICgyMDE1LTEwLTIzKQorKy0gaXNzdWUgIzExNDY0IHBocE15QWRtaW4gc3VnZ2VzdHMgdXBncmFkaW5nIHRvIG5ld2VyIHZlcnNpb24gbm90IHVzYWJsZSBvbiB0aGF0IHN5c3RlbQorKy0gaXNzdWUgW3NlY3VyaXR5XSBDb250ZW50IHNwb29maW5nIG9uIHVybC5waHAKKysKKyA0LjQuMTUuMCAobm90IHlldCByZWxlYXNlZCkKKyAtIGlzc3VlICMxMTQxMSBVbmRlZmluZWQgInJlcGxhY2UiIGZ1bmN0aW9uIG9uIG51bWVyaWMgc2NhbGFyCisgLSBpc3N1ZSAjMTE0MjEgU3RvcmVkLXByb2MgLyByb3V0aW5lIC0gYnJva2VuIHBhcmFtZXRlciBwYXJzaW5nCitkaWZmIC0tZ2l0IGEvdXJsLnBocCBiL3VybC5waHAKK2luZGV4IGVlYzc4YTUuLjljNGM4ODQgMTAwNjQ0CistLS0gYS91cmwucGhwCisrKysgYi91cmwucGhwCitAQCAtMzIsNiArMzIsNyBAQCBpZiAoISBQTUFfaXNWYWxpZCgkX1JFUVVFU1RbJ3VybCddKQorICAgICAgICAgICAgIH0KKyAgICAgICAgIDwvc2NyaXB0PiI7CisgICAgIC8vIERpc3BsYXkgcmVkaXJlY3RpbmcgbXNnIG9uIHNjcmVlbi4KKy0gICAgcHJpbnRmKF9fKCdUYWtpbmcgeW91IHRvICVzLicpLCBodG1sc3BlY2lhbGNoYXJzKCRfUkVRVUVTVFsndXJsJ10pKTsKKysgICAgLy8gRG8gbm90IGRpc3BsYXkgdGhlIHZhbHVlIG9mICRfUkVRVUVTVFsndXJsJ10gdG8gYXZvaWQgc2hvd2luZyBpbmplY3RlZCBjb250ZW50CisrICAgIGVjaG8gX18oJ1Rha2luZyB5b3UgdG8gdGhlIHRhcmdldCBzaXRlLicpOworIH0KKyBkaWUoKTsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vYXBhY2hlLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3BocG15YWRtaW4vcGhwbXlhZG1pbi9hcGFjaGUuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGNiZDg2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vYXBhY2hlLmNvbmYKQEAgLTAsMCArMSw0MiBAQAorIyBwaHBNeUFkbWluIGRlZmF1bHQgQXBhY2hlIGNvbmZpZ3VyYXRpb24KKworQWxpYXMgL3BocG15YWRtaW4gL3Vzci9zaGFyZS9waHBteWFkbWluCisKKzxEaXJlY3RvcnkgL3Vzci9zaGFyZS9waHBteWFkbWluPgorCU9wdGlvbnMgRm9sbG93U3ltTGlua3MKKwlEaXJlY3RvcnlJbmRleCBpbmRleC5waHAKKwlSZXF1aXJlIGFsbCBncmFudGVkCisKKwk8SWZNb2R1bGUgbW9kX3BocDUuYz4KKwkJQWRkVHlwZSBhcHBsaWNhdGlvbi94LWh0dHBkLXBocCAucGhwCisKKwkJcGhwX2ZsYWcgbWFnaWNfcXVvdGVzX2dwYyBPZmYKKwkJcGhwX2ZsYWcgdHJhY2tfdmFycyBPbgorCQlwaHBfZmxhZyByZWdpc3Rlcl9nbG9iYWxzIE9mZgorCQlwaHBfYWRtaW5fZmxhZyBhbGxvd191cmxfZm9wZW4gT2ZmCisJCXBocF92YWx1ZSBpbmNsdWRlX3BhdGggLgorCQlwaHBfYWRtaW5fdmFsdWUgdXBsb2FkX3RtcF9kaXIgL3Zhci9saWIvcGhwbXlhZG1pbi90bXAKKwkJcGhwX2FkbWluX3ZhbHVlIG9wZW5fYmFzZWRpciAvdXNyL3NoYXJlL3BocG15YWRtaW4vOi9ldGMvcGhwbXlhZG1pbi86L3Zhci9saWIvcGhwbXlhZG1pbi8KKwk8L0lmTW9kdWxlPgorPC9EaXJlY3Rvcnk+CisKKyMgQXV0aG9yaXplIGZvciBzZXR1cAorPERpcmVjdG9yeSAvdXNyL3NoYXJlL3BocG15YWRtaW4vc2V0dXA+CisgICAgPElmTW9kdWxlIG1vZF9hdXRobl9maWxlLmM+CisgICAgQXV0aFR5cGUgQmFzaWMKKyAgICBBdXRoTmFtZSAicGhwTXlBZG1pbiBTZXR1cCIKKyAgICBBdXRoVXNlckZpbGUgL2V0Yy9waHBteWFkbWluL2h0cGFzc3dkLnNldHVwCisgICAgPC9JZk1vZHVsZT4KKyAgICBSZXF1aXJlIHZhbGlkLXVzZXIKKzwvRGlyZWN0b3J5PgorCisjIERpc2FsbG93IHdlYiBhY2Nlc3MgdG8gZGlyZWN0b3JpZXMgdGhhdCBkb24ndCBuZWVkIGl0Cis8RGlyZWN0b3J5IC91c3Ivc2hhcmUvcGhwbXlhZG1pbi9saWJyYXJpZXM+CisgICAgT3JkZXIgRGVueSxBbGxvdworICAgIERlbnkgZnJvbSBBbGwKKzwvRGlyZWN0b3J5PgorPERpcmVjdG9yeSAvdXNyL3NoYXJlL3BocG15YWRtaW4vc2V0dXAvbGliPgorICAgIE9yZGVyIERlbnksQWxsb3cKKyAgICBEZW55IGZyb20gQWxsCis8L0RpcmVjdG9yeT4KKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vcGhwbXlhZG1pbi1DVkUtMjAxNS04NjY5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW4vcGhwbXlhZG1pbi1DVkUtMjAxNS04NjY5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1ZmZmNjQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3BocG15YWRtaW4vcGhwbXlhZG1pbi9waHBteWFkbWluLUNWRS0yMDE1LTg2NjkucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorW1NlY3VyaXR5XSBQYXRoIGRpc2Nsb3N1cmUsIHNlZSBQTUFTQS0yMDE1LTYKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNwb3J0CisKK1NpZ25lZC1vZmYtYnk6IE1hcmMgRGVsaXNsZSA8bWFyY0BpbmZvbWFyYy5pbmZvPgorCitkaWZmIC1OdXIgcGhwTXlBZG1pbi00LjUuMC4yLWFsbC1sYW5ndWFnZXMub3JpZy9saWJyYXJpZXMvY29uZmlnL21lc3NhZ2VzLmluYy5waHAgcGhwTXlBZG1pbi00LjUuMC4yLWFsbC1sYW5ndWFnZXMvbGlicmFyaWVzL2NvbmZpZy9tZXNzYWdlcy5pbmMucGhwCistLS0gcGhwTXlBZG1pbi00LjUuMC4yLWFsbC1sYW5ndWFnZXMub3JpZy9saWJyYXJpZXMvY29uZmlnL21lc3NhZ2VzLmluYy5waHAJMjAxNi0wMS0yMCAxNToxMToxNS40MTAxMDY4ODggKzA4MDAKKysrKyBwaHBNeUFkbWluLTQuNS4wLjItYWxsLWxhbmd1YWdlcy9saWJyYXJpZXMvY29uZmlnL21lc3NhZ2VzLmluYy5waHAJMjAxNi0wMS0yMCAxNToxNDowNS43NTgxMDgwNzYgKzA4MDAKK0BAIC0xMSw3ICsxMSw3IEBACisgICovCisgCisgaWYgKCFmdW5jdGlvbl9leGlzdHMoJ19fJykpIHsKKy0gICAgUE1BX2ZhdGFsRXJyb3IoJ0JhZCBpbnZvY2F0aW9uIScpOworKyAgICBleGl0KCk7CisgfQorIAorICRzdHJDb25maWdBbGxvd0FyYml0cmFyeVNlcnZlcl9kZXNjID0gX18oCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3BocG15YWRtaW4vcGhwbXlhZG1pbl80LjUuMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW5fNC41LjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzMyMTg1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC9waHBteWFkbWluL3BocG15YWRtaW5fNC41LjAuMi5iYgpAQCAtMCwwICsxLDM4IEBACitTVU1NQVJZID0gIldlYi1iYXNlZCBNeVNRTCBhZG1pbmlzdHJhdGlvbiBpbnRlcmZhY2UiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnBocG15YWRtaW4ubmV0IgorIyBNYWluIGNvZGUgaXMgR1BMdjIsIGxpYnJhcmllcy90Y3BkZiBpcyB1bmRlciBMR1BMdjMsIGpzL2pxdWVyeSBpcyB1bmRlciBNSVQKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjMgJiBNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJyYXJpZXMvdGNwZGYvTElDRU5TRS5UWFQ7bWQ1PTVjODdiNjZhNTM1OGViY2M0OTViMDNlMGFmY2QzNDJjIgorCitTUkNfVVJJID0gImh0dHBzOi8vZmlsZXMucGhwbXlhZG1pbi5uZXQvcGhwTXlBZG1pbi80LjUuMC4yL3BocE15QWRtaW4tNC41LjAuMi1hbGwtbGFuZ3VhZ2VzLnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9Qb3J0LWNvbnRlbnQtc3Bvb2ZpbmctZml4LUNWRS0yMDE1LTc4NzMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXBhY2hlLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vcGhwbXlhZG1pbi1DVkUtMjAxNS04NjY5LnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjJkMDhkMmZjYzhmNzBmODhhMTFhMTQ3MjNlM2NhMjc1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQyZTkwZWE0ODZkOTBiNGViZTVlYjAyZDdhZDM0OWFkMjkxNmMxMmE4OTgxZjk4NTUzMzk1ZWY3OGQyMmE4ZWMiCisKK1MgPSAiJHtXT1JLRElSfS9waHBNeUFkbWluLSR7UFZ9LWFsbC1sYW5ndWFnZXMiCisKK2luaGVyaXQgYWxsYXJjaAorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vJHtCUE59CisgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgKiAke0R9JHtkYXRhZGlyfS8ke0JQTn0KKyAgICBjaG93biAtUiByb290OnJvb3QgJHtEfSR7ZGF0YWRpcn0vJHtCUE59CisgICAgIyBEb24ndCBpbnN0YWxsIHBhdGNoZXMgdG8gdGFyZ2V0CisgICAgcm0gLXJmICR7RH0ke2RhdGFkaXJ9LyR7QlBOfS9wYXRjaGVzCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2FwYWNoZTIvY29uZi5kCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYXBhY2hlLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vYXBhY2hlMi9jb25mLmQvcGhwbXlhZG1pbi5jb25mCisKKyAgICAjIFJlbW92ZSBhIGZldyBzY3JpcHRzIHRoYXQgZXhwbGljaXRseSByZXF1aXJlIGJhc2ggKCEpCisgICAgcm0gLWYgJHtEfSR7ZGF0YWRpcn0vcGhwbXlhZG1pbi9saWJyYXJpZXMvdHJhbnNmb3JtYXRpb25zLyouc2gKK30KKworRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS8ke0JQTn0gXAorICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9hcGFjaGUyL2NvbmYuZCIKKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2giCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3hkZWJ1Zy94ZGVidWdfMi4yLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3hkZWJ1Zy94ZGVidWdfMi4yLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVjYWM4OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAveGRlYnVnL3hkZWJ1Z18yLjIuNi5iYgpAQCAtMCwwICsxLDM0IEBACitTVU1NQVJZID0gIkRlYnVnZ2luZyBhbmQgcHJvZmlsaW5nIGV4dGVuc2lvbiBmb3IgUEhQIgorTElDRU5TRSA9ICJYZGVidWciCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zNGRmM2EyNzRhYTEyYjc5NTQxN2M2NTYzNGMwN2YxNiIKKworREVQRU5EUyA9ICJwaHAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3hkZWJ1Zy5vcmcvZmlsZXMveGRlYnVnLSR7UFZ9LnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gImYyMTYzNTY4NjFlMjcyODQ1ODBkMDIwODA2MGVhN2ZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZkZDFjYmEwNjA1ZTc1MDA5MzMxYWEzNjI1YTE5ZWY0OWFkZTVhNzVhYTlmZTJmZjhhODE4MTA4ZDJjY2U4NGUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUteGRlYnVnIC13aXRoLXBocC1jb25maWc9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30vcGhwLWNvbmZpZyIKKworZG9fY29uZmlndXJlKCkgeworICAgIGNkICR7U30KKyAgICAke1NUQUdJTkdfQklORElSX0NST1NTfS9waHBpemUKKyAgICBjZCAke0J9CisKKyAgICAjIFJ1bm5pbmcgYXV0b3JlY29uZiBhcyBhdXRvdG9vbHNfZG9fY29uZmlndXJlIHdvdWxkIGRvIGhlcmUKKyAgICAjIGJyZWFrcyB0aGUgbGlidG9vbCBjb25maWd1cmF0aW9uIHJlc3VsdGluZyBpbiBhIGZhaWx1cmUgbGF0ZXIKKyAgICAjIGluIGRvX2NvbXBpbGUuIEl0J3MgcG9zc2libGUgdGhpcyBtYXkgYmUgZml4YWJsZSwgaG93ZXZlciB0aGUKKyAgICAjIGVhc2llc3QgY291cnNlIG9mIGFjdGlvbiBmb3IgdGhlIG1vbWVudCBpcyB0byBhdm9pZCBkb2luZyB0aGF0LgorICAgIG9lX3J1bmNvbmYKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgSU5TVEFMTF9ST09UPSR7RH0KK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9waHA1L2V4dGVuc2lvbnMvKi8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGhwNS9leHRlbnNpb25zLyovLmRlYnVnIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9mY2dpL2ZjZ2kvRml4X0VPRl9ub3RfZGVjbGFyZWRfaXNzdWUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9mY2dpL2ZjZ2kvRml4X0VPRl9ub3RfZGVjbGFyZWRfaXNzdWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTFkZGVhYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1zdXBwb3J0L2ZjZ2kvZmNnaS9GaXhfRU9GX25vdF9kZWNsYXJlZF9pc3N1ZS5wYXRjaApAQCAtMCwwICsxLDE3IEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworRml4IEVPRiBub3QgZGVjbGFyZWQgaXNzdWUsIGZvbGxvd2luZyBpcyB0aGUgZXJyb3IgbG9nLgorZmNnaW8uY3BwOjcwOjcyOiBlcnJvcjogJ0VPRicgd2FzIG5vdCBkZWNsYXJlZCBpbiB0aGlzIHNjb3BlCisgICAgICAgICAgICAgIGlmIChGQ0dYX1B1dFN0cihwYmFzZSgpLCBwbGVuLCB0aGlzLT5mY2d4KSAhPSBwbGVuKSByZXR1cm4gRU9GOworCitTaWduZWQtb2ZmLWJ5OiBZYW5nIEhhaWJvIDxiNDA4NjlAZnJlZXNjYWxlLmNvbT4KKy0tLSBmY2dpLW9yaS9saWJmY2dpL2ZjZ2lvLmNwcCAyMDE0LTA3LTI4IDE4OjAxOjAwLjAwMDAwMDAwMCArMDgwMAorKysrIGZjZ2ktMi40LjAvbGliZmNnaS9mY2dpby5jcHAgICAgICAgMjAxNC0wNy0yOCAxODowMToyMi4wMDAwMDAwMDAgKzA4MDAKK0BAIC0yMiw2ICsyMiw3IEBACisgI2RlZmluZSBETExBUEkgIF9fZGVjbHNwZWMoZGxsZXhwb3J0KQorICNlbmRpZgorCisrI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPGxpbWl0cy5oPgorICNpbmNsdWRlICJmY2dpby5oIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9mY2dpL2ZjZ2kvYWRkX2ZvcmVpZ25fdG9fQU1fSU5JVF9BVVRPTUFLRS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1zdXBwb3J0L2ZjZ2kvZmNnaS9hZGRfZm9yZWlnbl90b19BTV9JTklUX0FVVE9NQUtFLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjYTY5NGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9mY2dpL2ZjZ2kvYWRkX2ZvcmVpZ25fdG9fQU1fSU5JVF9BVVRPTUFLRS5wYXRjaApAQCAtMCwwICsxLDE4IEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKwordXNlIGF1dG9tYWtlIG9wdGlvbnMgImZvcmVpZ24iIHRvIHNldCB0aGUgc3RyaWN0bmVzcyBhcyBhcHByb3ByaWF0ZQorCitTaWduZWQtb2ZmLWJ5OiBZYW5nIEhhaWJvIDxiNDA4NjlAZnJlZXNjYWxlLmNvbT4KKy0tLSBmY2dpLW9yaS9jb25maWd1cmUuaW4JMjAxNC0wOC0wNSAxNDo1ODozNS4wMDAwMDAwMDAgKzA4MDAKKysrKyBmY2dpLTIuNC4wL2NvbmZpZ3VyZS5pbgkyMDE0LTA4LTA1IDE0OjU5OjA4LjAwMDAwMDAwMCArMDgwMAorQEAgLTQsOCArNCw4IEBACisgZG5sICAgICBnZW5lcmF0ZSB0aGUgZmlsZSAiY29uZmlndXJlIiwgd2hpY2ggaXMgcnVuIGR1cmluZyB0aGUgYnVpbGQKKyBkbmwgICAgIHRvIGNvbmZpZ3VyZSB0aGUgc3lzdGVtIGZvciB0aGUgbG9jYWwgZW52aXJvbm1lbnQuCisgCistQUNfSU5JVAorLUFNX0lOSVRfQVVUT01BS0UoZmNnaSwgMi40LjApCisrQUNfSU5JVChbZmNnaV0sIFsyLjQuMF0pCisrQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCisgCisgQU1fQ09ORklHX0hFQURFUihmY2dpX2NvbmZpZy5oKQorIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXN1cHBvcnQvZmNnaS9mY2dpXzIuNC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXN1cHBvcnQvZmNnaS9mY2dpXzIuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4YzU5NDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9mY2dpL2ZjZ2lfMi40LjAuYmIKQEAgLTAsMCArMSwxNSBAQAorREVTQ1JJUFRJT04gPSAiRmFzdENHSSBpcyBhIHByb3RvY29sIGZvciBpbnRlcmZhY2luZyBpbnRlcmFjdGl2ZSBwcm9ncmFtcyB3aXRoIGEgd2ViIHNlcnZlci4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZhc3RjZ2kuY29tIgorTElDRU5TRSA9ICJPTUwiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLlRFUk1TO21kNT1lM2FhY2FjM2E2NDdhZjZlN2UzMWYxODFjZGEwYTA2YSIKKworU1JDX1VSSSA9ICJodHRwOi8vZm9zc2llcy5vcmcvbGludXgvd3d3L29sZC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vRml4X0VPRl9ub3RfZGVjbGFyZWRfaXNzdWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYWRkX2ZvcmVpZ25fdG9fQU1fSU5JVF9BVVRPTUFLRS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiZDE1MDYwYTgxM2I5MTM4M2E5ZjNjNjZmYWY4NDg2N2UiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjZmYzQ1YzZiMzZhMjFiZjJmYmJiNjhlOTBmNzgwY2MyMWE5ZGExZmZmYmFlNzVlNzZkMmI0NDAyZDNmMDViOSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUEFSQUxMRUxfTUFLRSA9ICIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9zcGF3bi1mY2dpL3NwYXduLWZjZ2ktMS42LjQvZml4X2NvbmZpZ3VyZV9pcHY2X3Rlc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtc3VwcG9ydC9zcGF3bi1mY2dpL3NwYXduLWZjZ2ktMS42LjQvZml4X2NvbmZpZ3VyZV9pcHY2X3Rlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQwOWRkMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1zdXBwb3J0L3NwYXduLWZjZ2kvc3Bhd24tZmNnaS0xLjYuNC9maXhfY29uZmlndXJlX2lwdjZfdGVzdC5wYXRjaApAQCAtMCwwICsxLDM1IEBACitUZXN0aW5nIGZvciBJUHY2IHN1cHBvcnQgZ290IGJyb2tlbiBieSBjb25maWd1cmUuYWMgY2hhbmdlcyBpbiAxLjYuNAorQXMgYSB0ZW1wIHdvcmthcm91bmQsIHJldmVydCBiYWNrIHRvIHRoZSAxLjYuMyB2ZXJzaW9uLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworLS0tIHNwYXduLWZjZ2ktMS42LjQvY29uZmlndXJlLmFjCisrKysgc3Bhd24tZmNnaS0xLjYuMy9jb25maWd1cmUuYWMKK0BAIC02Niw4ICs0Nyw4IEBACisgIyBDaGVjayBmb3IgSVB2NiBzdXBwb3J0CisgCisgQUNfQVJHX0VOQUJMRShpcHY2LAorLSAgQUNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1pcHY2XSxbZGlzYWJsZSBJUHY2IHN1cHBvcnRdKSwKKy0gIFtjYXNlICIke2VuYWJsZXZhbH0iIGluCisrIEFDX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtaXB2Nl0sW2Rpc2FibGUgSVB2NiBzdXBwb3J0XSksCisrIFtjYXNlICIke2VuYWJsZXZhbH0iIGluCisgICAgeWVzKSBpcHY2PXRydWUgOzsKKyAgICAgbm8pIGlwdjY9ZmFsc2UgOzsKKyAgICAgICopIEFDX01TR19FUlJPUihiYWQgdmFsdWUgJHtlbmFibGV2YWx9IGZvciAtLWVuYWJsZS1pcHY2KSA7OworQEAgLTc1LDEzICs1NiwxMCBAQAorIAorIGlmIHRlc3QgeCRpcHY2ID0geHRydWU7IHRoZW4KKyAgIEFDX0NBQ0hFX0NIRUNLKFtmb3IgSVB2NiBzdXBwb3J0XSwgYWNfY3ZfaXB2Nl9zdXBwb3J0LAorLSAgICBbQUNfVFJZX0xJTksoW1sKKy0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisrICBbQUNfVFJZX0xJTksoWyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKy0jaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorLSAgICBdXSwgW1sKKy1zdHJ1Y3Qgc29ja2FkZHJfaW42IHM7IHN0cnVjdCBpbjZfYWRkciB0PWluNmFkZHJfYW55OyBpbnQgaT1BRl9JTkVUNjsgczsgdC5zNl9hZGRyWzBdID0gMDsKKy0gICAgXV0sIFthY19jdl9pcHY2X3N1cHBvcnQ9eWVzXSwgW2FjX2N2X2lwdjZfc3VwcG9ydD1ub10pXSkKKysjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPl0sIFtzdHJ1Y3Qgc29ja2FkZHJfaW42IHM7IHN0cnVjdCBpbjZfYWRkciB0PWluNmFkZHJfYW55OyBpbnQgaT1BRl9JTkVUNjsgczsgdC5zNl9hZGRyWzBdID0gMDsgXSwKKysgIFthY19jdl9pcHY2X3N1cHBvcnQ9eWVzXSwgW2FjX2N2X2lwdjZfc3VwcG9ydD1ub10pXSkKKyAKKyAgIGlmIHRlc3QgIiRhY19jdl9pcHY2X3N1cHBvcnQiID0geWVzOyB0aGVuCisgICAgIEFDX0RFRklORShIQVZFX0lQVjYsMSxbV2hldGhlciB0byBlbmFibGUgSVB2NiBzdXBwb3J0XSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1zdXBwb3J0L3NwYXduLWZjZ2kvc3Bhd24tZmNnaV8xLjYuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1zdXBwb3J0L3NwYXduLWZjZ2kvc3Bhd24tZmNnaV8xLjYuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWU1OGJkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXN1cHBvcnQvc3Bhd24tZmNnaS9zcGF3bi1mY2dpXzEuNi40LmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlJZID0gInNwYXduLWZjZ2kgaXMgdXNlZCB0byBzcGF3biBGYXN0Q0dJIGFwcGxpY2F0aW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly9yZWRtaW5lLmxpZ2h0dHBkLm5ldC9wcm9qZWN0cy9zcGF3bi1mY2dpIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU0ZGFjNWM2YWIxNjlhYTIxMmZlYjUwMjg4NTNhNTc5IgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5saWdodHRwZC5uZXQvc3Bhd24tZmNnaS9yZWxlYXNlcy0xLjYueC9zcGF3bi1mY2dpLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maXhfY29uZmlndXJlX2lwdjZfdGVzdC5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImU5NzBkZTRlZmU4MDQ1YzAxZGQ3NjI4MGYzOTkwMWFhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFiMzI3NDYyY2I5OTg5NGEzNjk5Zjg3NDQyNWE0MjFkOTM0Zjk1N2NiMjQyMjFmMDBiYjg4ODEwOGQ5ZGQwOWUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgImlwdjYiLCAiaXB2NiIsICIiLCBkKX0iCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9kaXNhYmxlLXZlcnNpb24tY2hlY2sucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL2Rpc2FibGUtdmVyc2lvbi1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWVlNDA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9kaXNhYmxlLXZlcnNpb24tY2hlY2sucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRGlzYWJsZSBPUyB2ZXJzaW9uIGNoZWNrIGluIHN0YXR1cyBzY3JlZW4KKworVGhlIGNvZGUgaXMgbm90IGFibGUgdG8gYWNjdXJhdGVseSBkZXRlY3QgdGhlIGNvcnJlY3QgZGlzdHJvL3ZlcnNpb24gYXQKK3RoZSBtb21lbnQuCisKK1Vwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZQorCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworZGlmZiAtLWdpdCBhL3dlYm1pbi93ZWJtaW4tbGliLnBsIGIvd2VibWluL3dlYm1pbi1saWIucGwKK2luZGV4IDU3YTM3ZjcuLjgzOGI5NDQgMTAwNzU1CistLS0gYS93ZWJtaW4vd2VibWluLWxpYi5wbAorKysrIGIvd2VibWluL3dlYm1pbi1saWIucGwKK0BAIC0xMDU5LDE4ICsxMDU5LDE5IEBAIG15ICVtaW5pc2VydjsKKyAmbG9hZF90aGVtZV9saWJyYXJ5KCk7CSMgU28gdGhhdCBVSSBmdW5jdGlvbnMgd29yaworIAorICMgTmVlZCBPUyB1cGdyYWRlCistbXkgJXJlYWxvcyA9ICZkZXRlY3Rfb3BlcmF0aW5nX3N5c3RlbSh1bmRlZiwgMSk7CistaWYgKCgkcmVhbG9zeydvc192ZXJzaW9uJ30gbmUgJGdjb25maWd7J29zX3ZlcnNpb24nfSB8fAorLSAgICAgJHJlYWxvc3snb3NfdHlwZSd9IG5lICRnY29uZmlneydvc190eXBlJ30pICYmCistICAgICRyZWFsb3N7J29zX3ZlcnNpb24nfSAmJiAkcmVhbG9zeydvc190eXBlJ30gJiYKKy0gICAgJmZvcmVpZ25fYXZhaWxhYmxlKCJ3ZWJtaW4iKSkgeworLQlwdXNoKEBub3RpZnMsIAorLQkJJnVpX2Zvcm1fc3RhcnQoIiRnY29uZmlneyd3ZWJwcmVmaXgnfS93ZWJtaW4vZml4X29zLmNnaSIpLgorLQkJJnRleHQoJ29zX2luY29ycmVjdCcsICRyZWFsb3N7J3JlYWxfb3NfdHlwZSd9LAorLQkJCQkgICAgJHJlYWxvc3sncmVhbF9vc192ZXJzaW9uJ30pLiI8cD5cbiIuCistCQkmdWlfZm9ybV9lbmQoWyBbIHVuZGVmLCAkdGV4dHsnb3NfZml4J30gXSBdKQorLQkJKTsKKy0JfQorKyMgRGlzYWJsZWQgZm9yIG5vdyBhcyBvcy1jaG9vc2VyLnBsIGRvZXMgbm90IHdvcmsgb24gb3VyIHN5c3RlbQorKyNteSAlcmVhbG9zID0gJmRldGVjdF9vcGVyYXRpbmdfc3lzdGVtKHVuZGVmLCAxKTsKKysjaWYgKCgkcmVhbG9zeydvc192ZXJzaW9uJ30gbmUgJGdjb25maWd7J29zX3ZlcnNpb24nfSB8fAorKyMgICAgICRyZWFsb3N7J29zX3R5cGUnfSBuZSAkZ2NvbmZpZ3snb3NfdHlwZSd9KSAmJgorKyMgICAgJHJlYWxvc3snb3NfdmVyc2lvbid9ICYmICRyZWFsb3N7J29zX3R5cGUnfSAmJgorKyMgICAgJmZvcmVpZ25fYXZhaWxhYmxlKCJ3ZWJtaW4iKSkgeworKyMJcHVzaChAbm90aWZzLCAKKysjCQkmdWlfZm9ybV9zdGFydCgiJGdjb25maWd7J3dlYnByZWZpeCd9L3dlYm1pbi9maXhfb3MuY2dpIikuCisrIwkJJnRleHQoJ29zX2luY29ycmVjdCcsICRyZWFsb3N7J3JlYWxfb3NfdHlwZSd9LAorKyMJCQkJICAgICRyZWFsb3N7J3JlYWxfb3NfdmVyc2lvbid9KS4iPHA+XG4iLgorKyMJCSZ1aV9mb3JtX2VuZChbIFsgdW5kZWYsICR0ZXh0eydvc19maXgnfSBdIF0pCisrIwkJKTsKKysjCX0KKyAKKyAjIFBhc3N3b3JkIGNsb3NlIHRvIGV4cGlyeQorIG15ICR3YXJuX2RheXMgPSAkY29uZmlneyd3YXJuX2RheXMnfTsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvZXhwb3J0cy1saWIucGwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL2V4cG9ydHMtbGliLnBsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3N2Q4YTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL2V4cG9ydHMtbGliLnBsLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gN2ViYTRjOThjNjk1M2ZhNmVhNzZjMTYyMGQxOTUyNGJjZmEzYTU3NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtldmluIFN0cmFzc2VyIDxrZXZpbi5zdHJhc3NlckBsaW51eC5pbnRlbC5jb20+CitEYXRlOiBXZWQsIDEgQXVnIDIwMTIgMTE6NTE6MjYgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gbmZzIGV4cG9ydDogcmVtb3ZlIG5mc2QgY2hlY2sKKworbmZzZCBydW5zIGFzIGEga2VybmVsIHByb2Nlc3MgYW5kIGRvZXMgbm90IGhhdmUgYSBwaWQuIFRoaXMgbWVhbnMKK3RoYXQgdGhlIGNvbW1hbmQgYXNzaWduZWQgdG8gYXBwbHlfY21kIHdpbGwgbmV2ZXIgYmUgZXhlY3V0ZWQgd2hlbgordGhlIHVzZXIgdHJpZXMgdG8gYXBwbHkgY2hhbmdlcyB0byBuZnMgZXhwb3J0cy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK1NpZ25lZC1vZmYtYnk6IEtldmluIFN0cmFzc2VyIDxrZXZpbi5zdHJhc3NlckBsaW51eC5pbnRlbC5jb20+CistLS0KKyBleHBvcnRzL2V4cG9ydHMtbGliLnBsIHwgICAgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZXhwb3J0cy9leHBvcnRzLWxpYi5wbCBiL2V4cG9ydHMvZXhwb3J0cy1saWIucGwKK2luZGV4IDIyODkxYzAuLjFjNjc0OTQgMTAwNzU1CistLS0gYS9leHBvcnRzL2V4cG9ydHMtbGliLnBsCisrKysgYi9leHBvcnRzL2V4cG9ydHMtbGliLnBsCitAQCAtMjczLDcgKzI3Myw3IEBAIHJldHVybiAhJmhhc19jb21tYW5kKCJycGMubmZzZCIpICYmICEmaGFzX2NvbW1hbmQoIm5mc2QiKSAmJgorIHN1YiByZXN0YXJ0X21vdW50ZAorIHsKKyAjIFRyeSBleHBvcnRmcyAtciBmaXJzdAorLWlmICgkY29uZmlneydhcHBseV9jbWQnfSAmJiAmZmluZF9ieW5hbWUoIm5mc2QiKSAmJiAmZmluZF9ieW5hbWUoIm1vdW50ZCIpKSB7CisraWYgKCRjb25maWd7J2FwcGx5X2NtZCd9ICYmICZmaW5kX2J5bmFtZSgibW91bnRkIikpIHsKKyAJbXkgJG91dCA9ICZiYWNrcXVvdGVfbG9nZ2VkKCIkY29uZmlneydhcHBseV9jbWQnfSAyPiYxIDwvZGV2L251bGwiKTsKKyAJaWYgKCEkPyAmJiAkb3V0ICF+IC9pbnZhbGlkfGVycm9yfGZhaWxlZC9pKSB7CisgCQkjIExvb2tzIGxpa2UgaXQgd29ya2VkIQorLS0gCisxLjcuOS41CisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvaW5pdC1leGNsdWRlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9pbml0LWV4Y2x1ZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU2MzIyNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvaW5pdC1leGNsdWRlLnBhdGNoCkBAIC0wLDAgKzEsNzggQEAKKyMgSGFjayBpbiBzdXBwb3J0IGZvciBhbiAiZXhjbHVkZSIgY29uZmlnIG9wdGlvbiBmb3IgdGhlIGluaXQgbW9kdWxlLCBzbworIyB3ZSBjYW4gaGlkZSBjZXJ0YWluIHN5c3RlbSBzZXJ2aWNlcyB0aGF0IHNob3VsZG4ndCByZWFsbHkgYmUgY29uZmlndXJhYmxlCisjIHZpYSB0aGUgd2ViIGludGVyZmFjZQorIworIyBVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKKyMKKyMgU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CisjIFNpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBpbml0L2luZGV4LmNnaSAgIHwgMjcgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCisgaW5pdC9pbml0LWxpYi5wbCB8ICA1ICsrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luaXQvaW5kZXguY2dpIGIvaW5pdC9pbmRleC5jZ2kKK2luZGV4IGQ0OGI3OTMuLjMwZGFmZDQgMTAwNzU1CistLS0gYS9pbml0L2luZGV4LmNnaQorKysrIGIvaW5pdC9pbmRleC5jZ2kKK0BAIC00NSwxOSArNDUsMjAgQEAgZWxzaWYgKCRpbml0X21vZGUgZXEgImluaXQiICYmICRhY2Nlc3N7J2Jvb3R1cCd9KSB7CisgCQkJCQkgICAgIDogIiRjb25maWd7J2luaXRfZGlyJ30vJGFjWzBdIik7CisgCQl9CisgCUBydW5sZXZlbHMgPSAmbGlzdF9ydW5sZXZlbHMoKTsKKy0JZm9yZWFjaCAkciAoQHJ1bmxldmVscykgeworLQkJZm9yZWFjaCAkdyAoIlMiLCAiSyIpIHsKKy0JCQlmb3JlYWNoICRhICgmcnVubGV2ZWxfYWN0aW9ucygkciwgJHcpKSB7CistCQkJCUBhYyA9IHNwbGl0KC9ccysvLCAkYSk7CistCQkJCWlmICghJG5vZGVtYXB7JGFjWzJdfSkgeworLQkJCQkJcHVzaChAYWN0cywgJGFjWzFdKTsKKy0JCQkJCXB1c2goQGFjdHNsLAorLQkJCQkJICAgICAiMSskciskYWNbMF0rJGFjWzFdKyRhY1syXSskdyIpOworLQkJCQkJcHVzaChAYWN0c2YsICIkY29uZmlneydpbml0X2Jhc2UnfS9yYyRyLmQvJHckYWNbMF0kYWNbMV0iKTsKKy0JCQkJCX0KKy0JCQkJfQorLQkJCX0KKy0JCX0KKysJIyBBc3N1bWUgdGhlcmUgd29uJ3QgYmUgYW55IG9mIHRoZXNlIGJyb2tlbiBhY3Rpb25zCisrCSNmb3JlYWNoICRyIChAcnVubGV2ZWxzKSB7CisrCSMJZm9yZWFjaCAkdyAoIlMiLCAiSyIpIHsKKysJIwkJZm9yZWFjaCAkYSAoJnJ1bmxldmVsX2FjdGlvbnMoJHIsICR3KSkgeworKwkjCQkJQGFjID0gc3BsaXQoL1xzKy8sICRhKTsKKysJIwkJCWlmICghJG5vZGVtYXB7JGFjWzJdfSkgeworKwkjCQkJCXB1c2goQGFjdHMsICRhY1sxXSk7CisrCSMJCQkJcHVzaChAYWN0c2wsCisrCSMJCQkJICAgICAiMSskciskYWNbMF0rJGFjWzFdKyRhY1syXSskdyIpOworKwkjCQkJCXB1c2goQGFjdHNmLCAiJGNvbmZpZ3snaW5pdF9iYXNlJ30vcmMkci5kLyR3JGFjWzBdJGFjWzFdIik7CisrCSMJCQkJfQorKwkjCQkJfQorKwkjCQl9CisrCSMJfQorIAorIAkjIEZvciBlYWNoIGFjdGlvbiwgbG9vayBhdCAvZXRjL3JjKi5kLyogZmlsZXMgdG8gc2VlIGlmIGl0IGlzIAorIAkjIHN0YXJ0ZWQgYXQgYm9vdAorZGlmZiAtLWdpdCBhL2luaXQvaW5pdC1saWIucGwgYi9pbml0L2luaXQtbGliLnBsCitpbmRleCBlYWQyMWVkLi5iNDE3OTRiIDEwMDc1NQorLS0tIGEvaW5pdC9pbml0LWxpYi5wbAorKysrIGIvaW5pdC9pbml0LWxpYi5wbAorQEAgLTExOSw4ICsxMTksOSBAQCBMaXN0IGJvb3QgdGltZSBhY3Rpb24gbmFtZXMgZnJvbSBpbml0LmQsIHN1Y2ggYXMgaHR0cGQgYW5kIGNyb24uCisgPWN1dAorIHN1YiBsaXN0X2FjdGlvbnMKKyB7CistbG9jYWwoJGRpciwgJGYsIEBzdGJ1ZiwgQHJ2KTsKKytsb2NhbCgkZGlyLCAkZiwgQHN0YnVmLCBAcnYsIEBleGNsdWRlKTsKKyAkZGlyID0gJGNvbmZpZ3tpbml0X2Rpcn07CisrQGV4Y2x1ZGUgPSBzcGxpdCgvLC8sICRjb25maWd7ZXhjbHVkZX0pOworIG9wZW5kaXIoRElSLCAkZGlyKTsKKyBmb3JlYWNoICRmIChzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSByZWFkZGlyKERJUikpIHsKKyAJaWYgKCRmIGVxICIuIiB8fCAkZiBlcSAiLi4iIHx8ICRmID1+IC9cLmJhayQvIHx8ICRmIGVxICJmdW5jdGlvbnMiIHx8CitAQCAtMTI4LDcgKzEyOSw3IEBAIGZvcmVhY2ggJGYgKHNvcnQgeyBsYygkYSkgY21wIGxjKCRiKSB9IHJlYWRkaXIoRElSKSkgeworIAkgICAgLWQgIiRkaXIvJGYiIHx8ICRmID1+IC9cLnN3cCQvIHx8ICRmIGVxICJza2VsZXRvbiIgfHwKKyAJICAgICRmID1+IC9cLmxvY2skLyB8fCAkZiA9fiAvXC5kcGtnLShvbGR8ZGlzdCkkLyB8fAorIAkgICAgJGYgPX4gL15cLmRlcGVuZFwuLyB8fCAkZiBlcSAnLmxlZ2FjeS1ib290b3JkZXJpbmcnIHx8CistCSAgICAkZiA9fiAvXm1hbmRyYWtlLykgeyBuZXh0OyB9CisrCSAgICAkZiA9fiAvXm1hbmRyYWtlLyB8fCBncmVwIHskXyBlcSAkZn0gQGV4Y2x1ZGUgKSB7IG5leHQ7IH0KKyAJaWYgKEBzdGJ1ZiA9IHN0YXQoIiRkaXIvJGYiKSkgeworIAkJcHVzaChAcnYsICIkZiAkc3RidWZbMV0iKTsKKyAJCX0KKy0tCisyLjAuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL21lZGlhLXRvbWIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL21lZGlhLXRvbWIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDZmMzEwOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbWVkaWEtdG9tYi5wYXRjaApAQCAtMCwwICsxLDY1IEBACitkaWZmIC1OcnUgd2VibWluLTEuNTcwLmJhay9tZWRpYXRvbWIvaW5kZXguY2dpIHdlYm1pbi0xLjU3MC9tZWRpYXRvbWIvaW5kZXguY2dpCistLS0gd2VibWluLTEuNTcwLmJhay9tZWRpYXRvbWIvaW5kZXguY2dpCTE5NjktMTItMzEgMTY6MDA6MDAuMDAwMDAwMDAwIC0wODAwCisrKysgd2VibWluLTEuNTcwL21lZGlhdG9tYi9pbmRleC5jZ2kJMjAxMS0xMC0yNiAxMDowMDowNS45OTI1MjIwMzYgLTA3MDAKK0BAIC0wLDAgKzEsMTMgQEAKKysjIS91c3IvYmluL3BlcmwKKysjIGluZGV4LmNnaQorKyMgRGlzcGxheSBNZWRpYVRvbWIgb3B0aW9uIGNhdGVnb3JpZXMKKysKKytyZXF1aXJlICcuL21lZGlhdG9tYi1saWIucGwnOworKworK3VpX3ByaW50X2hlYWRlcih1bmRlZiwgJHRleHR7J2luZGV4X3RpdGxlJ30sICIiLCB1bmRlZiwgMSwgMSk7CisrCisrCisrJGlwYWRkcmVzcyA9ICZnZXRfbXlfYWRkcmVzcygpOworK3ByaW50ICZ0ZXh0KCdpbmRleF9kZXNjJywgJGlwYWRkcmVzcyksIjxwPlxuIjsKKysKKyt1aV9wcmludF9mb290ZXIoIi8iLCAkdGV4dHsnaW5kZXgnfSk7CitkaWZmIC1OcnUgd2VibWluLTEuNTcwLmJhay9tZWRpYXRvbWIvbGFuZy9lbiB3ZWJtaW4tMS41NzAvbWVkaWF0b21iL2xhbmcvZW4KKy0tLSB3ZWJtaW4tMS41NzAuYmFrL21lZGlhdG9tYi9sYW5nL2VuCTE5NjktMTItMzEgMTY6MDA6MDAuMDAwMDAwMDAwIC0wODAwCisrKysgd2VibWluLTEuNTcwL21lZGlhdG9tYi9sYW5nL2VuCTIwMTEtMTAtMjYgMTA6MDE6MTMuMzQwNTIyMTg2IC0wNzAwCitAQCAtMCwwICsxLDIgQEAKKytpbmRleF90aXRsZT1NZWRpYVRvbWIKKytpbmRleF9kZXNjPU1lZGlhVG9tYiBpcyBhbiBvcGVuIHNvdXJjZSAoR1BMKSBVUG5QIE1lZGlhU2VydmVyIHdpdGggYSBuaWNlIHdlYiB1c2VyIGludGVyZmFjZS4gWW91IGNhbiBhY2Nlc3MgaXQgdmlhIDxhIGhyZWY9J2h0dHA6Ly8kMTo0OTE1Myc+aGVyZTwvYT4uCitkaWZmIC1OcnUgd2VibWluLTEuNTcwLmJhay9tZWRpYXRvbWIvbWVkaWF0b21iLWxpYi5wbCB3ZWJtaW4tMS41NzAvbWVkaWF0b21iL21lZGlhdG9tYi1saWIucGwKKy0tLSB3ZWJtaW4tMS41NzAuYmFrL21lZGlhdG9tYi9tZWRpYXRvbWItbGliLnBsCTE5NjktMTItMzEgMTY6MDA6MDAuMDAwMDAwMDAwIC0wODAwCisrKysgd2VibWluLTEuNTcwL21lZGlhdG9tYi9tZWRpYXRvbWItbGliLnBsCTIwMTEtMTAtMjYgMTA6MDE6MzQuNjkyNTIyMDc5IC0wNzAwCitAQCAtMCwwICsxLDMxIEBACisrIyEvdXNyL2Jpbi9wZXJsCisrIyBtZWRpYXRvbWItbGliLnBsCisrIyBDb21tb24gZnVuY3Rpb25zIGZvciB0aGUgTWVkaWFUb21iIG1vZHVsZQorKworK0JFR0lOIHsgcHVzaChASU5DLCAiLi4iKTsgfTsKKyt1c2UgV2VibWluQ29yZTsKKysmaW5pdF9jb25maWcoKTsKKysKKytzdWIgZ2V0X215X2FkZHJlc3MKKyt7CisrbXkgJG15aXA7CisraWYgKCZmb3JlaWduX2NoZWNrKCJuZXQiKSkgeworKyAgICAgICAgIyBUcnkgdG8gZ2V0IGV0aGVybmV0IGludGVyZmFjZQorKyAgICAgICAgJmZvcmVpZ25fcmVxdWlyZSgibmV0IiwgIm5ldC1saWIucGwiKTsKKysgICAgICAgIG15IEBhY3QgPSAmbmV0OjphY3RpdmVfaW50ZXJmYWNlcygpOworKyAgICAgICAgbXkgQGlmYWNlcyA9IGdyZXAgeyAmbmV0OjppZmFjZV90eXBlKCRfLT57J2Z1bGxuYW1lJ30pID1+IC9ldGhlci9pIH0KKysgICAgICAgICAgICAgICAgICAgICAgICAgIEBhY3Q7CisrICAgICAgICBAaWZhY2VzID0gKCAkYWN0WzBdICkgaWYgKCFAaWZhY2VzICYmIEBhY3QpOworKyAgICAgICAgaWYgKEBpZmFjZXMpIHsKKysgICAgICAgICAgICAgICAgcmV0dXJuIHdhbnRhcnJheSA/ICggbWFwIHsgJF8tPnsnYWRkcmVzcyd9IH0gQGlmYWNlcyApCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkaWZhY2VzWzBdLT57J2FkZHJlc3MnfTsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgfQorKyRteWlwID0gJnRvX2lwYWRkcmVzcygmZ2V0X3N5c3RlbV9ob3N0bmFtZSgpKTsKKytpZiAoJG15aXApIHsKKysgICAgICAgICMgQ2FuIHJlc29sdmUgaG9zdG5hbWUgLi4gdXNlIHRoYXQKKysgICAgICAgIHJldHVybiB3YW50YXJyYXkgPyAoICRteWlwICkgOiAkbXlpcDsKKysgICAgICAgIH0KKytyZXR1cm4gd2FudGFycmF5ID8gKCApIDogdW5kZWY7CisrfQorKworZGlmZiAtTnJ1IHdlYm1pbi0xLjU3MC5iYWsvbWVkaWF0b21iL21vZHVsZS5pbmZvIHdlYm1pbi0xLjU3MC9tZWRpYXRvbWIvbW9kdWxlLmluZm8KKy0tLSB3ZWJtaW4tMS41NzAuYmFrL21lZGlhdG9tYi9tb2R1bGUuaW5mbwkxOTY5LTEyLTMxIDE2OjAwOjAwLjAwMDAwMDAwMCAtMDgwMAorKysrIHdlYm1pbi0xLjU3MC9tZWRpYXRvbWIvbW9kdWxlLmluZm8JMjAxMS0xMC0yNiAwOTo1OTo1MC40Mjg1MjgzNjkgLTA3MDAKK0BAIC0wLDAgKzEsMyBAQAorK2Rlc2M9TWVkaWFUb21iCisrY2F0ZWdvcnk9b3RoZXJzCisrbG9uZ2Rlc2M9TWVkaWFUb21iIGFjY2VzcyBtb2R1bGUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbW91bnQtZXhjbHVkZWZzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9tb3VudC1leGNsdWRlZnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNiNzRjNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvbW91bnQtZXhjbHVkZWZzLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK0FkZCBleGNsdWRlZnMgY29uZmlnIG9wdGlvbiB0byBtb3VudCBtb2R1bGUKKworQWRkcyBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIChjdXJyZW50bHkgaGlkZGVuKSB0byBhbGxvdyB0aGUgZGlzdHJvIHRvCitoaWRlIGNlcnRhaW4gZmlsZXN5c3RlbXMgZnJvbSB0aGUgbW91bnQgbW9kdWxlIHdpdGhpbiBXZWJtaW4gKGUuZy4gL2RldikKK3NpbmNlIHRoZXNlIHNob3VsZG4ndCBiZSBtb2RpZmllZCBmcm9tIHRoZSB3ZWIgaW50ZXJmYWNlLgorCitTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKworVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCisKKy0tLSB3ZWJtaW4tMS41NzAub3JpZy9tb3VudC9pbmRleC5jZ2kKKysrKyB3ZWJtaW4tMS41NzAvbW91bnQvaW5kZXguY2dpCitAQCAtMzMsMTAgKzMzLDEyIEBAIGVsc2lmICgkY29uZmlneydzb3J0X21vZGUnfSA9PSAxKSB7CisgCX0KKyAKKyAjIEJ1aWxkIHZpc2libGUgZmlsZXN5c3RlbXMgbGlzdAorK0BleGNsdWRlZnMgPSBzcGxpdCgvLC8sICRjb25maWd7ZXhjbHVkZWZzfSk7CisgZm9yZWFjaCAkbSAoQGFsbCkgeworIAlAbWluZm8gPSBAJG07CisgCSRwID0gJnNpbXBsaWZ5X21vdW50X3BhdGgoJG1pbmZvWzBdLCAkbWluZm9bMl0pOworIAluZXh0IGlmICgkaWdub3JleyRtaW5mb1syXX0pOworKwluZXh0IGlmIChncmVwIHskXyBlcSAkbWluZm9bMl19IEBleGNsdWRlZnMpOworIAlAbW1vZGVzID0gJm1vdW50X21vZGVzKCRtaW5mb1syXSwgJG1pbmZvWzBdLCAkbWluZm9bMV0pOworIAkkY2FuZWRpdCA9ICRjYW5fZWRpdHskbWluZm9bMl19ICYmICEkbW1vZGVzWzRdICYmCisgICAgICAgICAgICAgCSAgICZjYW5fZWRpdF9mcyhAbWluZm8pOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9teXNxbC1jb25maWctZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9teXNxbC1jb25maWctZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjYmM2MjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL215c3FsLWNvbmZpZy1maXgucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSA3MTkyMDZkZjYwNmFjZDdhNjIzZThkNzVkYTI5M2MyNTQ4OWI3ODg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGllZ28gUm9uZGluaSA8ZGllZ28ubWxAem9oby5jb20+CitEYXRlOiBUaHUsIDE4IEZlYiAyMDE2IDE1OjQ0OjA2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkanVzdCBNeXNxbCBjb25maWcgZGVmYXVsdHMKKworVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBEaWVnbyBSb25kaW5pIDxkaWVnby5tbEB6b2hvLmNvbT4KKy0tLQorIG15c3FsL2NvbmZpZyB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9teXNxbC9jb25maWcgYi9teXNxbC9jb25maWcKK2luZGV4IGU1YjZmYjMuLjc3YmZlNjkgMTAwNjQ0CistLS0gYS9teXNxbC9jb25maWcKKysrKyBiL215c3FsL2NvbmZpZworQEAgLTEsMTMgKzEsMTMgQEAKKy1zdGFydF9jbWQ9Y2QgL3Vzci9sb2NhbC9teXNxbCA7ICguL2Jpbi9zYWZlX215c3FsZCB8fCAuL2Jpbi9teXNxbGRfc2FmZSkgJgorK3N0YXJ0X2NtZD0vdXNyL2Jpbi9teXNxbGRfc2FmZQorIHBlcnBhZ2U9MjUKKy1teXNxbD0vdXNyL2xvY2FsL215c3FsL2Jpbi9teXNxbAorLW15c3FsZHVtcD0vdXNyL2xvY2FsL215c3FsL2Jpbi9teXNxbGR1bXAKKy1teXNxbGltcG9ydD0vdXNyL2xvY2FsL215c3FsL2Jpbi9teXNxbGltcG9ydAorLXBhc3M9Zm9vCistbXlzcWxzaG93PS91c3IvbG9jYWwvbXlzcWwvYmluL215c3Fsc2hvdworK215c3FsPS91c3IvYmluL215c3FsCisrbXlzcWxkdW1wPS91c3IvYmluL215c3FsZHVtcAorK215c3FsaW1wb3J0PS91c3IvYmluL215c3FsaW1wb3J0CisrcGFzcz0KKytteXNxbHNob3c9L3Vzci9iaW4vbXlzcWxzaG93CisgbG9naW49cm9vdAorLW15c3FsX2xpYnM9L3Vzci9sb2NhbC9teXNxbC9saWIKKy1teXNxbGFkbWluPS91c3IvbG9jYWwvbXlzcWwvYmluL215c3FsYWRtaW4KKytteXNxbF9saWJzPS91c3IvbGliCisrbXlzcWxhZG1pbj0vdXNyL2Jpbi9teXNxbGFkbWluCisgc3R5bGU9MAorIGFkZF9tb2RlPTEKKyBub2RiaT0wCitAQCAtMTUsNyArMTUsNyBAQCBhY2Nlc3M9KjogKgorIGJsb2JfbW9kZT0wCisgZGF0ZV9zdWJzPTAKKyBwYXNzd2RfbW9kZT0wCistbXlzcWxfZGF0YT0vdXNyL2xvY2FsL215c3FsL3ZhcgorK215c3FsX2RhdGE9L3Zhci9saWIvbXlzcWwKKyBtYXhfZGJzPTUwCisgbXlfY25mPS9ldGMvbXkuY25mCisgbWF4X3RleHQ9MTAwMAorLS0gCisyLjUuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL25ldC1nZW5lcmljLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZXQtZ2VuZXJpYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDIwYWZmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZXQtZ2VuZXJpYy5wYXRjaApAQCAtMCwwICsxLDIxIEBACisjIEFkZCBzdXBwb3J0IGZvciBjb25maWd1cmluZyBuZXR3b3JrIGludGVyZmFjZXMgb24gYSBnZW5lcmljIGxpbnV4IHN5c3RlbQorIworIyBVcHN0cmVhbS1zdGF0dXM6IE5vdCBhcHByb3ByaWF0ZSBbY29uZmlnXQorIworIyBTaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KKy0tLSB3ZWJtaW4tMS41NzAub3JpZy9uZXQvbW9kdWxlLmluZm8KKysrKyB3ZWJtaW4tMS41NzAvbmV0L21vZHVsZS5pbmZvCitAQCAtMTEsNyArMTEsNyBAQCBkZXNjX2tvX0tSLlVURi04PeuEpO2KuOybjO2BrCDqtazshLEKKyBuYW1lPU5ldHdvcmtpbmcKKyBkZXNjX3RyPUHwIFlhcP1sYW5k/XJtYXP9CisgZGVzY19kZT1OZXR6d2Vya2tvbmZpZ3VyYXRpb24KKy1vc19zdXBwb3J0PXNvbGFyaXMgY29oZXJlbnQtbGludXggcmVkaGF0LWxpbnV4LzUuMC0qIG1hbmRyYWtlLWxpbnV4IHVuaXRlZC1saW51eCBzdXNlLWxpbnV4LzYuMC0qIG9wZW4tbGludXggdW5peHdhcmUgdHVyYm8tbGludXgvNC4wIGZyZWVic2QvMy4yLSogb3BlbmJzZCBkZWJpYW4tbGludXgvMi4yLSogY29iYWx0LWxpbnV4LzIuMi0qIG1zYy1saW51eCBnZW50b28tbGludXggbWFjb3MvMS41LSogdHJ1c3RpeC1saW51eCBzbGFja3dhcmUtbGludXgvOC4wLSogb3Blbm1hbWJhLWxpbnV4IGN5Z3dpbiB3aW5kb3dzIHBhcmR1cy1saW51eAorK29zX3N1cHBvcnQ9Z2VuZXJpYy1saW51eCBzb2xhcmlzIGNvaGVyZW50LWxpbnV4IHJlZGhhdC1saW51eC81LjAtKiBtYW5kcmFrZS1saW51eCB1bml0ZWQtbGludXggc3VzZS1saW51eC82LjAtKiBvcGVuLWxpbnV4IHVuaXh3YXJlIHR1cmJvLWxpbnV4LzQuMCBmcmVlYnNkLzMuMi0qIG9wZW5ic2QgZGViaWFuLWxpbnV4LzIuMi0qIGNvYmFsdC1saW51eC8yLjItKiBtc2MtbGludXggZ2VudG9vLWxpbnV4IG1hY29zLzEuNS0qIHRydXN0aXgtbGludXggc2xhY2t3YXJlLWxpbnV4LzguMC0qIG9wZW5tYW1iYS1saW51eCBjeWd3aW4gd2luZG93cyBwYXJkdXMtbGludXgKKyBkZXNjX3NrPUtvbmZpZ3Vy4WNpYSBzaWV0ZQorIGRlc2NfemhfQ049zfjC58Xk1sMKKyByaXNrPWxvdyBtZWRpdW0gaGlnaAorLS0tIC9kZXYvbnVsbAorKysrIHdlYm1pbi0xLjU3MC9uZXQvZ2VuZXJpYy1saW51eC1saWIucGwKK0BAIC0wLDAgKzEsMiBAQAorK2RvICdsaW51eC1saWIucGwnOworKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZXQtbGliLnBsLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZXQtbGliLnBsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkYmE1ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL25ldC1saWIucGwucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK1hYWDogbmVlZCB0byB3b3JrIG91dCBhIGJldHRlciBmaXguCisKK1NpZ25lZC1vZmYtYnk6IERleHVhbiBDdWkgPGRleHVhbi5jdWlAaW50ZWwuY29tPgorCitkaWZmIC1OcnUgd2VibWluLTEuNTcwLm9yaWcvL25ldC9uZXQtbGliLnBsIHdlYm1pbi0xLjU3MC9uZXQvbmV0LWxpYi5wbAorLS0tIHdlYm1pbi0xLjU3MC5vcmlnLy9uZXQvbmV0LWxpYi5wbAkyMDExLTEwLTAzIDA5OjAxOjQ4LjAwMDAwMDAwMCArMDgwMAorKysrIHdlYm1pbi0xLjU3MC9uZXQvbmV0LWxpYi5wbAkyMDExLTEwLTI4IDEzOjUyOjU2LjEzODg3MzY2NCArMDgwMAorQEAgLTIxLDcgKzIxLDggQEAKKyAJZG8gIiRnY29uZmlneydvc190eXBlJ30tOS4xLUFMTC1saWIucGwiOworIAl9CisgZWxzZSB7CistCWRvICIkZ2NvbmZpZ3snb3NfdHlwZSd9LWxpYi5wbCI7CisrCSNkbyAiJGdjb25maWd7J29zX3R5cGUnfS1saWIucGwiOworKwlkbyAiZGViaWFuLWxpbnV4LWxpYi5wbCI7CisgCX0KKyAKKyAjIGxpc3RfaG9zdHMoKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZnMtZXhwb3J0LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9uZnMtZXhwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxN2UzYjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL25mcy1leHBvcnQucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorY29tbWl0IGU0OGY2MWQyZjZkZjMyYTUxOGJjYjg0ZGI4YzZlYWNmZTU0MzVjMzIKK0F1dGhvcjogWXUgS2UgPGtlLnl1QGludGVsLmNvbT4KK0RhdGU6ICAgRnJpIE9jdCAyOCAxNDo0MDo1MSAyMDExICswODAwCisKK05GUyBleHBvcnQ6IGZpeCBzeW50YXggaXNzdWUKKworZml4IHR3byBzeW50YXggaXNzdWUgaW4gL2V0Yy9leHBvcnRzOgorMS4gaWYgaXQgaXMgZXhwb3J0ZWQgdG8gZXZlcnlvbmUsIHNob3VsZCB1c2UgIioiLCBlLmcuICIvZXhwb3J0ICAqKHh4eCkiCisyLiBleHBsaWNpdGx5IHNwZWNpZnkgc3VidHJlZV9jaGVjayBvciBub19zdWJ0cmVlX2NoZWNrLCByZXF1aXJlZCBieSBsYXRlc3QgbmZzLXV0aWxzCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBZdSBLZSA8a2UueXVAaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvZXhwb3J0cy9zYXZlX2V4cG9ydC5jZ2kgYi9leHBvcnRzL3NhdmVfZXhwb3J0LmNnaQoraW5kZXggM2JjMmY5Ny4uM2U2MDI5OCAxMDA3NTUKKy0tLSBhL2V4cG9ydHMvc2F2ZV9leHBvcnQuY2dpCisrKysgYi9leHBvcnRzL3NhdmVfZXhwb3J0LmNnaQorQEAgLTQwLDcgKzQwLDcgQEAgZWxzZSB7CisgCQkJJmVycm9yKCZ0ZXh0KCdzYXZlX2VuZXRtYXNrJywgJGlueyduZXRtYXNrJ30pKTsKKyAJCSRleHB7J2hvc3QnfSA9ICRpbnsnbmV0d29yayd9LiIvIi4kaW57J25ldG1hc2snfTsKKyAJCX0KKy0JZWxzaWYgKCRpbnsnbW9kZSd9ID09IDMpIHsgJGV4cHsnaG9zdCd9ID0gIiI7IH0KKysJZWxzaWYgKCRpbnsnbW9kZSd9ID09IDMpIHsgJGV4cHsnaG9zdCd9ID0gIioiOyB9CisgCWVsc2UgeworIAkJJGlueydob3N0J30gPX4gL1wqLyB8fCAmdG9faXBhZGRyZXNzKCRpbnsnaG9zdCd9KSB8fAorIAkJCSZlcnJvcigmdGV4dCgnc2F2ZV9laG9zdCcsICRpbnsnaG9zdCd9KSk7CitAQCAtNzAsNiArNzAsMTEgQEAgZWxzZSB7CisgCisgCWRlbGV0ZSgkb3B0c3snbm9fc3VidHJlZV9jaGVjayd9KTsgZGVsZXRlKCRvcHRzeydzdWJ0cmVlX2NoZWNrJ30pOworIAkkb3B0c3snbm9fc3VidHJlZV9jaGVjayd9ID0gIiIgaWYgKCRpbnsnbm9fc3VidHJlZV9jaGVjayd9KTsKKysJaWYgKCRpbnsnbm9fc3VidHJlZV9jaGVjayd9KSB7CisrCQkkb3B0c3snbm9fc3VidHJlZV9jaGVjayd9ID0gIiI7CisrCX0gZWxzZSB7CisrCQkkb3B0c3snc3VidHJlZV9jaGVjayd9ID0gIiI7CisrCX0KKyAKKyAJZGVsZXRlKCRvcHRzeydub2hpZGUnfSk7IGRlbGV0ZSgkb3B0c3snaGlkZSd9KTsKKyAJJG9wdHN7J25vaGlkZSd9ID0gIiIgaWYgKCRpbnsnbm9oaWRlJ30pOwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9wcm9mdHBkLWNvbmZpZy1maXgucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3Byb2Z0cGQtY29uZmlnLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTJhNjUyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9wcm9mdHBkLWNvbmZpZy1maXgucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBaaGFpIEVkd2luIDxlZHdpbi56aGFpQGludGVsLmNvbT4KKworSW5kZXg6IHdlYm1pbi0xLjU3MC9wcm9mdHBkL2NvbmZpZworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHdlYm1pbi0xLjU3MC5vcmlnL3Byb2Z0cGQvY29uZmlnCTIwMTEtMTAtMjUgMjA6MTg6MzcuMDAwMDAwMDAwICswODAwCisrKysgd2VibWluLTEuNTcwL3Byb2Z0cGQvY29uZmlnCTIwMTEtMTAtMjUgMjA6MjE6MTMuMDAwMDAwMDAwICswODAwCitAQCAtMSw2ICsxLDYgQEAKKy1wcm9mdHBkX3BhdGg9L3Vzci9sb2NhbC9zYmluL3Byb2Z0cGQKKy1wcm9mdHBkX2NvbmY9L3Vzci9sb2NhbC9ldGMvcHJvZnRwZC5jb25mCistcGlkX2ZpbGU9L3Vzci9sb2NhbC92YXIvcHJvZnRwZC5waWQKKytwcm9mdHBkX3BhdGg9L3Vzci9zYmluL3Byb2Z0cGQKKytwcm9mdHBkX2NvbmY9L2V0Yy9wcm9mdHBkLmNvbmYKKytwaWRfZmlsZT0vdmFyL3Byb2Z0cGQucGlkCisgZnRwdXNlcnM9L2V0Yy9mdHB1c2VycworIHRlc3RfY29uZmlnPTEKKyB0ZXN0X2Fsd2F5cz0wCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3JlbW92ZS1weXRob24yLjMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3JlbW92ZS1weXRob24yLjMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVlNWJkMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvcmVtb3ZlLXB5dGhvbjIuMy5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIDZmMDQ2OTlkNWQ0MTcxMjJiNjdlODExOGZkMTk1NWM3NjlmMTdlNzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMiBTZXAgMjAxNCAwMDoxMTowNSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBhamF4dGVybS9hamF4dGVybS9xd2ViLnB5OiBmaXggaGFyZGNvZGUgb2YgcHl0aG9uMi4zCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGFqYXh0ZXJtL2FqYXh0ZXJtL3F3ZWIucHkgfCAgICAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9hamF4dGVybS9hamF4dGVybS9xd2ViLnB5IGIvYWpheHRlcm0vYWpheHRlcm0vcXdlYi5weQoraW5kZXggMjBjNTA5Mi4uYzY1OGE2YiAxMDA2NDQKKy0tLSBhL2FqYXh0ZXJtL2FqYXh0ZXJtL3F3ZWIucHkKKysrKyBiL2FqYXh0ZXJtL2FqYXh0ZXJtL3F3ZWIucHkKK0BAIC0xLDQgKzEsNCBAQAorLSMhL3Vzci9iaW4vcHl0aG9uMi4zCisrIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisgIworICMgdmltOnNldCBldCB0cz00IGZkYz0wIGZkbj0yIGZkbD0wOgorICMKKy0tIAorMS43LjkuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3JlbW92ZS1zdGFydHVwLW9wdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvcmVtb3ZlLXN0YXJ0dXAtb3B0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NTdmNGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3JlbW92ZS1zdGFydHVwLW9wdGlvbi5wYXRjaApAQCAtMCwwICsxLDI5IEBACisjIFJlbW92ZSAic3RhcnQgb24gYm9vdCIgb3B0aW9uIGZyb20gd2VibWluIGNvbmZpZ3VyYXRpb24sIGFzCisjIGVuZC11c2VycyBzaG91bGQgbm90IG5lZWQgdG8gY29uZmlndXJlIHRoaXMgZnJvbSB0aGUgd2ViIGludGVyZmFjZQorIworIyBVcHN0cmVhbS1zdGF0dXM6IEluYXBwcm9wcmlhdGUKKyMKKyMgU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CistLS0gd2VibWluLTEuNTcwLm9yaWcvd2VibWluL2luZGV4LmNnaQorKysrIHdlYm1pbi0xLjU3MC93ZWJtaW4vaW5kZXguY2dpCitAQCAtNzksMjAgKzc5LDYgQEAgcHJpbnQgJnVpX2J1dHRvbnNfc3RhcnQoKTsKKyBteSAlbWluaXNlcnY7CisgJmdldF9taW5pc2Vydl9jb25maWcoXCVtaW5pc2Vydik7CisgCistaWYgKCZmb3JlaWduX2NoZWNrKCJpbml0IikpIHsKKy0JJmZvcmVpZ25fcmVxdWlyZSgiaW5pdCIpOworLQlteSAkc3RhcnRpbmcgPSAmaW5pdDo6YWN0aW9uX3N0YXR1cygid2VibWluIik7CistCXByaW50ICZ1aV9idXR0b25zX3JvdygiYm9vdHVwLmNnaSIsCistCSAgICAgICR0ZXh0eydpbmRleF9ib290J30sCistCSAgICAgICR0ZXh0eydpbmRleF9ib290bXNnJ30uCistCSAgICAgICgkbWluaXNlcnZ7J2luZXRkJ30gPyAiPGI+JHRleHR7J2luZGV4X2luZXRkJ308L2I+IiA6CistCSAgICAgICAhJEVOVnsnTUlOSVNFUlZfQ09ORklHJ30gPyAiPGI+JHRleHR7J2luZGV4X2FwYWNoZSd9PC9iPiIgOiAiIiksCistCSAgICAgICZ1aV9oaWRkZW4oInN0YXJ0aW5nIiwgJHN0YXJ0aW5nKSwKKy0JICAgICAgJnVpX3JhZGlvKCJib290IiwgJHN0YXJ0aW5nID09IDIgPyAxIDogMCwKKy0JCQlbIFsgMSwgJHRleHR7J3llcyd9IF0sCistCQkJICBbIDAsICR0ZXh0eydubyd9IF0gXSkpOworLQl9CistCisgIyBSZXN0YXJ0IFdlYm1pbgorIGlmICghJG1pbmlzZXJ2eydpbmV0ZCd9ICYmICRFTlZ7J01JTklTRVJWX0NPTkZJRyd9KSB7CisgCXByaW50ICZ1aV9idXR0b25zX3JvdygicmVzdGFydC5jZ2kiLApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9zYW1iYS1jb25maWctZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9zYW1iYS1jb25maWctZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2NjQ1YWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vd2VibWluL2ZpbGVzL3NhbWJhLWNvbmZpZy1maXgucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBaaGFpIEVkd2luIDxlZHdpbi56aGFpQGludGVsLmNvbT4KKworSW5kZXg6IHdlYm1pbi0xLjU3MC9zYW1iYS9jb25maWctZ2VuZXJpYy1saW51eAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHdlYm1pbi0xLjU3MC5vcmlnL3NhbWJhL2NvbmZpZy1nZW5lcmljLWxpbnV4CTIwMTEtMTAtMjUgMjA6MTE6MzUuMDAwMDAwMDAwICswODAwCisrKysgd2VibWluLTEuNTcwL3NhbWJhL2NvbmZpZy1nZW5lcmljLWxpbnV4CTIwMTEtMTAtMjUgMjA6MTU6NDEuMDAwMDAwMDAwICswODAwCitAQCAtMSwxNSArMSwxNSBAQAorIGxpc3RfcHJpbnRlcnNfY29tbWFuZD1scGMgc3RhdHVzIHwgZ3JlcCAiW0EtejAtOV06IiB8IHNlZCAtZSAncy86Ly9nJworLXNtYl9wYXNzd2Q9L3Vzci9sb2NhbC9zYW1iYS9wcml2YXRlL3NtYnBhc3N3ZAorK3NtYl9wYXNzd2Q9L3Vzci9iaW4vc21icGFzc3dkCisgdGV4dF9saXN0cz0wCisgZG9udF9jb252ZXJ0PS00OTkKKy1uYW1lX3NlcnZlcj0vdXNyL2xvY2FsL3NhbWJhL2Jpbi9ubWJkCistc21iX2NvbmY9L3Vzci9sb2NhbC9zYW1iYS9saWIvc21iLmNvbmYKKy1zYW1iYV9zZXJ2ZXI9L3Vzci9sb2NhbC9zYW1iYS9iaW4vc21iZAorK25hbWVfc2VydmVyPS91c3Ivc2Jpbi9ubWJkCisrc21iX2NvbmY9L2V0Yy9zYW1iYS9zbWIuY29uZgorK3NhbWJhX3NlcnZlcj0vdXNyL3NiaW4vc21iZAorIHJ1bl9mcm9tX2luZXRkPTAKKy1zYW1iYV9wYXNzd29yZF9wcm9ncmFtPS91c3IvbG9jYWwvc2FtYmEvYmluL3NtYnBhc3N3ZAorLXNhbWJhX3N0YXR1c19wcm9ncmFtPS91c3IvbG9jYWwvc2FtYmEvYmluL3NtYnN0YXR1cworK3NhbWJhX3Bhc3N3b3JkX3Byb2dyYW09L3Vzci9iaW4vc21icGFzc3dkCisrc2FtYmFfc3RhdHVzX3Byb2dyYW09L3Vzci9iaW4vc21ic3RhdHVzCisgc3dhdF9wYXRoPS91c3IvbG9jYWwvc2FtYmEvYmluL3N3YXQKKyBzb3J0X21vZGU9MAorIHNtYmdyb3VwZWRpdD0vdXNyL2xvY2FsL3NhbWJhL2Jpbi9zbWJncm91cGVkaXQKKy1wZGJlZGl0PS91c3IvbG9jYWwvc2FtYmEvYmluL3BkYmVkaXQKKy1uZXQ9L3Vzci9sb2NhbC9zYW1iYS9iaW4vbmV0CisrcGRiZWRpdD0vdXNyL2Jpbi9wZGJlZGl0CisrbmV0PS91c3IvYmluL25ldApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi9maWxlcy9zZXR1cC5zaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvc2V0dXAuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGQyNGY5MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vZmlsZXMvc2V0dXAuc2gKQEAgLTAsMCArMSwzNDAgQEAKKyMhL2Jpbi9zaAorIyBNb2RpZmllZCB2ZXJzaW9uIG9mIHNldHVwLnNoIGRpc3RyaWJ1dGVkIHdpdGggd2VibWluCisKK2lmIFsgIiR3YWRpciIgPSAiIiBdOyB0aGVuCisJZWNobyAiRVJST1I6IHdhZGlyIG5vdCBzcGVjaWZpZWQiCisJZWNobyAiIgorCWV4aXQgMQorZmkKKworY29uZmlnX2Rpcl9ydW50aW1lPSRjb25maWdfZGlyCitjb25maWdfZGlyPSRwcmVmaXgkY29uZmlnX2RpcgorCit3YWRpcl9ydW50aW1lPSR3YWRpcgord2FkaXI9JHByZWZpeCR3YWRpcgorCit2ZXI9YGNhdCAiJHdhZGlyL3ZlcnNpb24iYAorCitjZCAiJHdhZGlyIgorCisjIFdvcmsgb3V0IHBlcmwgbGlicmFyeSBwYXRoCitQRVJMTElCPSR3YWRpcgorCisjIFZhbGlkYXRlIHNvdXJjZSBkaXJlY3RvcnkKK2FsbG1vZHM9YGNkICIkd2FkaXIiOyBlY2hvICovbW9kdWxlLmluZm8gfCBzZWQgLWUgJ3MvXC9tb2R1bGUuaW5mby8vZydgCitpZiBbICIkYWxsbW9kcyIgPSAiIiBdOyB0aGVuCisJZWNobyAiRVJST1I6IEZhaWxlZCB0byBnZXQgbW9kdWxlIGxpc3QiCisJZWNobyAiIgorCWV4aXQgMQorZmkKK2VjaG8gIiIKKworaWYgWyAiJGxvZ2luIiA9ICJ3ZWJtaW4iIF07IHRoZW4KKwllY2hvICJFUlJPUjogVXNlcm5hbWUgJ3dlYm1pbicgaXMgcmVzZXJ2ZWQgZm9yIGludGVybmFsIHVzZSIKKwllY2hvICIiCisJZXhpdCAxNAorZmkKKworIyBDcmVhdGUgd2Vic2VydmVyIGNvbmZpZyBmaWxlCitlY2hvICRwZXJsID4gJGNvbmZpZ19kaXIvcGVybC1wYXRoCitlY2hvICR2YXJfZGlyID4gJGNvbmZpZ19kaXIvdmFyLXBhdGgKK2VjaG8gIkNyZWF0aW5nIHdlYiBzZXJ2ZXIgY29uZmlnIGZpbGVzLi4iCitjZmlsZT0kY29uZmlnX2Rpci9taW5pc2Vydi5jb25mCitlY2hvICJwb3J0PSRwb3J0IiA+PiAkY2ZpbGUKK2VjaG8gInJvb3Q9JHdhZGlyX3J1bnRpbWUiID4+ICRjZmlsZQorZWNobyAibWltZXR5cGVzPSR3YWRpcl9ydW50aW1lL21pbWUudHlwZXMiID4+ICRjZmlsZQorZWNobyAiYWRkdHlwZV9jZ2k9aW50ZXJuYWwvY2dpIiA+PiAkY2ZpbGUKK2VjaG8gInJlYWxtPVdlYm1pbiBTZXJ2ZXIiID4+ICRjZmlsZQorZWNobyAibG9nZmlsZT0kdmFyX2Rpci9taW5pc2Vydi5sb2ciID4+ICRjZmlsZQorZWNobyAiZXJyb3Jsb2c9JHZhcl9kaXIvbWluaXNlcnYuZXJyb3IiID4+ICRjZmlsZQorZWNobyAicGlkZmlsZT0kdmFyX2Rpci9taW5pc2Vydi5waWQiID4+ICRjZmlsZQorZWNobyAibG9ndGltZT0xNjgiID4+ICRjZmlsZQorZWNobyAicHBhdGg9JHBwYXRoIiA+PiAkY2ZpbGUKK2VjaG8gInNzbD0kc3NsIiA+PiAkY2ZpbGUKK2VjaG8gImVudl9XRUJNSU5fQ09ORklHPSRjb25maWdfZGlyX3J1bnRpbWUiID4+ICRjZmlsZQorZWNobyAiZW52X1dFQk1JTl9WQVI9JHZhcl9kaXIiID4+ICRjZmlsZQorZWNobyAiYXRib290PSRhdGJvb3QiID4+ICRjZmlsZQorZWNobyAibG9nb3V0PSRjb25maWdfZGlyX3J1bnRpbWUvbG9nb3V0LWZsYWciID4+ICRjZmlsZQoraWYgWyAiJGxpc3RlbiIgIT0gIiIgXTsgdGhlbgorCWVjaG8gImxpc3Rlbj0kbGlzdGVuIiA+PiAkY2ZpbGUKK2Vsc2UKKwllY2hvICJsaXN0ZW49MTAwMDAiID4+ICRjZmlsZQorZmkKK2VjaG8gImRlbnlmaWxlPVxcLnBsXCQiID4+ICRjZmlsZQorZWNobyAibG9nPTEiID4+ICRjZmlsZQorZWNobyAiYmxvY2tob3N0X2ZhaWx1cmVzPTUiID4+ICRjZmlsZQorZWNobyAiYmxvY2tob3N0X3RpbWU9NjAiID4+ICRjZmlsZQorZWNobyAic3lzbG9nPTEiID4+ICRjZmlsZQoraWYgWyAiJGFsbG93IiAhPSAiIiBdOyB0aGVuCisJZWNobyAiYWxsb3c9JGFsbG93IiA+PiAkY2ZpbGUKK2ZpCitpZiBbICIkc2Vzc2lvbiIgIT0gIiIgXTsgdGhlbgorCWVjaG8gInNlc3Npb249JHNlc3Npb24iID4+ICRjZmlsZQorZWxzZQorCWVjaG8gInNlc3Npb249MSIgPj4gJGNmaWxlCitmaQoraWYgWyAiJHBhbSIgIT0gIiIgXTsgdGhlbgorCWVjaG8gInBhbT0kcGFtIiA+PiAkY2ZpbGUKK2ZpCitpZiBbICIkbm9fcGFtIiAhPSAiIiBdOyB0aGVuCisgICAgZWNobyAibm9fcGFtPSRub19wYW0iID4+ICRjZmlsZQorZmkKK2VjaG8gcHJlbW9kdWxlcz1XZWJtaW5Db3JlID4+ICRjZmlsZQorZWNobyAic2VydmVyPU1pbmlTZXJ2LyR2ZXIiID4+ICRjZmlsZQorCittZDVwYXNzPWAkcGVybCAtZSAncHJpbnQgY3J5cHQoInRlc3QiLCAiXFwkMVxcJEE5d0IzTzE4XFwkemFaZ3FyRW1iOVZObHRXVEw0NTRSLyIpIGVxICJcXCQxXFwkQTl3QjNPMThcXCR6YVpncXJFbWI5Vk5sdFdUTDQ1NFIvIiA/ICIxXG4iIDogIjBcbiInYAorCit1ZmlsZT0kY29uZmlnX2Rpci9taW5pc2Vydi51c2VycworaWYgWyAiJGNyeXB0IiAhPSAiIiBdOyB0aGVuCisJZWNobyAiJGxvZ2luOiRjcnlwdDowIiA+ICR1ZmlsZQorZWxzZQorCWlmIFsgIiRtZDVwYXNzIiA9ICIxIiBdOyB0aGVuCisJCSRwZXJsIC1lICdwcmludCAiJEFSR1ZbMF06IixjcnlwdCgkQVJHVlsxXSwgIlwkMVwkWFhYWFhYWFgiKSwiOjBcbiInICIkbG9naW4iICIkcGFzc3dvcmQiID4gJHVmaWxlCisJZWxzZQorCQkkcGVybCAtZSAncHJpbnQgIiRBUkdWWzBdOiIsY3J5cHQoJEFSR1ZbMV0sICJYWCIpLCI6MFxuIicgIiRsb2dpbiIgIiRwYXNzd29yZCIgPiAkdWZpbGUKKwlmaQorZmkKK2NobW9kIDYwMCAkdWZpbGUKK2VjaG8gInVzZXJmaWxlPSRjb25maWdfZGlyX3J1bnRpbWUvbWluaXNlcnYudXNlcnMiID4+ICRjZmlsZQorCitrZmlsZT0kY29uZmlnX2Rpci9taW5pc2Vydi5wZW0KK29wZW5zc2wgdmVyc2lvbiA+L2Rldi9udWxsIDI+JjEKK2lmIFsgIiQ/IiA9ICIwIiBdOyB0aGVuCisJIyBXZSBjYW4gZ2VuZXJhdGUgYSBuZXcgU1NMIGtleSBmb3IgdGhpcyBob3N0CisJaG9zdD1gaG9zdG5hbWVgCisJb3BlbnNzbCByZXEgLW5ld2tleSByc2E6NTEyIC14NTA5IC1ub2RlcyAtb3V0ICR0ZW1wZGlyL2NlcnQgLWtleW91dCAkdGVtcGRpci9rZXkgLWRheXMgMTgyNSA+L2Rldi9udWxsIDI+JjEgPDxFT0YKKy4KKy4KKy4KK1dlYm1pbiBXZWJzZXJ2ZXIgb24gJGhvc3QKKy4KKyoKK3Jvb3RAJGhvc3QKK0VPRgorCWlmIFsgIiQ/IiA9ICIwIiBdOyB0aGVuCisJCWNhdCAkdGVtcGRpci9jZXJ0ICR0ZW1wZGlyL2tleSA+JGtmaWxlCisJZmkKKwlybSAtZiAkdGVtcGRpci9jZXJ0ICR0ZW1wZGlyL2tleQorZmkKK2lmIFsgISAtciAka2ZpbGUgXTsgdGhlbgorCSMgRmFsbCBiYWNrIHRvIHRoZSBidWlsdC1pbiBrZXkKKwljcCAiJHdhZGlyL21pbmlzZXJ2LnBlbSIgJGtmaWxlCitmaQorY2htb2QgNjAwICRrZmlsZQorZWNobyAia2V5ZmlsZT0kY29uZmlnX2Rpcl9ydW50aW1lL21pbmlzZXJ2LnBlbSIgPj4gJGNmaWxlCisKK2NobW9kIDYwMCAkY2ZpbGUKK2VjaG8gIi4uZG9uZSIKK2VjaG8gIiIKKworZWNobyAiQ3JlYXRpbmcgYWNjZXNzIGNvbnRyb2wgZmlsZS4uIgorYWZpbGU9JGNvbmZpZ19kaXIvd2VibWluLmFjbAorcm0gLWYgJGFmaWxlCitpZiBbICIkZGVmYXVsdG1vZHMiID0gIiIgXTsgdGhlbgorCWVjaG8gIiRsb2dpbjogJGFsbG1vZHMiID4+ICRhZmlsZQorZWxzZQorCWVjaG8gIiRsb2dpbjogJGRlZmF1bHRtb2RzIiA+PiAkYWZpbGUKK2ZpCitjaG1vZCA2MDAgJGFmaWxlCitlY2hvICIuLmRvbmUiCitlY2hvICIiCisKK2lmIFsgIiRsb2dpbiIgIT0gInJvb3QiIC1hICIkbG9naW4iICE9ICJhZG1pbiIgXTsgdGhlbgorCSMgQWxsb3cgdXNlIG9mIFJQQyBieSB0aGlzIHVzZXIKKwllY2hvIHJwYz0xID4+JGNvbmZpZ19kaXIvJGxvZ2luLmFjbAorZmkKKworaWYgWyAiJG5vcGVybHBhdGgiID0gIiIgXTsgdGhlbgorCWVjaG8gIkluc2VydGluZyBwYXRoIHRvIHBlcmwgaW50byBzY3JpcHRzLi4iCisJKGZpbmQgIiR3YWRpciIgLW5hbWUgJyouY2dpJyAtcHJpbnQgOyBmaW5kICIkd2FkaXIiIC1uYW1lICcqLnBsJyAtcHJpbnQpIHwgJHBlcmwgIiR3YWRpci9wZXJscGF0aC5wbCIgJHBlcmxfcnVudGltZSAtCisJZWNobyAiLi5kb25lIgorCWVjaG8gIiIKK2ZpCisKK2VjaG8gIkNyZWF0aW5nIHN0YXJ0IGFuZCBzdG9wIHNjcmlwdHMuLiIKK3JtIC1mICRjb25maWdfZGlyL3N0b3AgJGNvbmZpZ19kaXIvc3RhcnQgJGNvbmZpZ19kaXIvcmVzdGFydCAkY29uZmlnX2Rpci9yZWxvYWQKK2VjaG8gIiMhL2Jpbi9zaCIgPj4kY29uZmlnX2Rpci9zdGFydAorZWNobyAiZWNobyBTdGFydGluZyBXZWJtaW4gc2VydmVyIGluICR3YWRpcl9ydW50aW1lIiA+PiRjb25maWdfZGlyL3N0YXJ0CitlY2hvICJ0cmFwICcnIDEiID4+JGNvbmZpZ19kaXIvc3RhcnQKK2VjaG8gIkxBTkc9IiA+PiRjb25maWdfZGlyL3N0YXJ0CitlY2hvICJleHBvcnQgTEFORyIgPj4kY29uZmlnX2Rpci9zdGFydAorZWNobyAiI1BFUkxJTz06cmF3IiA+PiRjb25maWdfZGlyL3N0YXJ0CitlY2hvICJ1bnNldCBQRVJMSU8iID4+JGNvbmZpZ19kaXIvc3RhcnQKK2VjaG8gImV4cG9ydCBQRVJMSU8iID4+JGNvbmZpZ19kaXIvc3RhcnQKK2VjaG8gIlBFUkxMSUI9JFBFUkxMSUIiID4+JGNvbmZpZ19kaXIvc3RhcnQKK2VjaG8gImV4cG9ydCBQRVJMTElCIiA+PiRjb25maWdfZGlyL3N0YXJ0Cit1bmFtZSAtYSB8IGdyZXAgLWkgJ0hQLypVWCcgPi9kZXYvbnVsbAoraWYgWyAkPyA9ICIwIiBdOyB0aGVuCisJZWNobyAiZXhlYyAnJHdhZGlyX3J1bnRpbWUvbWluaXNlcnYucGwnICRjb25maWdfZGlyX3J1bnRpbWUvbWluaXNlcnYuY29uZiAmIiA+PiRjb25maWdfZGlyL3N0YXJ0CitlbHNlCisJZWNobyAiZXhlYyAnJHdhZGlyX3J1bnRpbWUvbWluaXNlcnYucGwnICRjb25maWdfZGlyX3J1bnRpbWUvbWluaXNlcnYuY29uZiIgPj4kY29uZmlnX2Rpci9zdGFydAorZmkKKworZWNobyAiIyEvYmluL3NoIiA+PiRjb25maWdfZGlyL3N0b3AKK2VjaG8gImVjaG8gU3RvcHBpbmcgV2VibWluIHNlcnZlciBpbiAkd2FkaXJfcnVudGltZSIgPj4kY29uZmlnX2Rpci9zdG9wCitlY2hvICJwaWRmaWxlPVxgZ3JlcCBcIl5waWRmaWxlPVwiICRjb25maWdfZGlyX3J1bnRpbWUvbWluaXNlcnYuY29uZiB8IHNlZCAtZSAncy9waWRmaWxlPS8vZydcYCIgPj4kY29uZmlnX2Rpci9zdG9wCitlY2hvICJraWxsIFxgY2F0IFwkcGlkZmlsZVxgIiA+PiRjb25maWdfZGlyL3N0b3AKKworZWNobyAiIyEvYmluL3NoIiA+PiRjb25maWdfZGlyL3Jlc3RhcnQKK2VjaG8gIiRjb25maWdfZGlyX3J1bnRpbWUvc3RvcCAmJiAkY29uZmlnX2Rpcl9ydW50aW1lL3N0YXJ0IiA+PiRjb25maWdfZGlyL3Jlc3RhcnQKKworZWNobyAiIyEvYmluL3NoIiA+PiRjb25maWdfZGlyL3JlbG9hZAorZWNobyAiZWNobyBSZWxvYWRpbmcgV2VibWluIHNlcnZlciBpbiAkd2FkaXJfcnVudGltZSIgPj4kY29uZmlnX2Rpci9yZWxvYWQKK2VjaG8gInBpZGZpbGU9XGBncmVwIFwiXnBpZGZpbGU9XCIgJGNvbmZpZ19kaXJfcnVudGltZS9taW5pc2Vydi5jb25mIHwgc2VkIC1lICdzL3BpZGZpbGU9Ly9nJ1xgIiA+PiRjb25maWdfZGlyL3JlbG9hZAorZWNobyAia2lsbCAtVVNSMSBcYGNhdCBcJHBpZGZpbGVcYCIgPj4kY29uZmlnX2Rpci9yZWxvYWQKKworY2htb2QgNzU1ICRjb25maWdfZGlyL3N0YXJ0ICRjb25maWdfZGlyL3N0b3AgJGNvbmZpZ19kaXIvcmVzdGFydCAkY29uZmlnX2Rpci9yZWxvYWQKK2VjaG8gIi4uZG9uZSIKK2VjaG8gIiIKKworaWYgWyAiJHVwZ3JhZGluZyIgPSAxIF07IHRoZW4KKwllY2hvICJVcGRhdGluZyBjb25maWcgZmlsZXMuLiIKK2Vsc2UKKwllY2hvICJDb3B5aW5nIGNvbmZpZyBmaWxlcy4uIgorZmkKK25ld21vZHM9YCRwZXJsICIkd2FkaXIvY29weWNvbmZpZy5wbCIgIiRvc190eXBlLyRyZWFsX29zX3R5cGUiICIkb3NfdmVyc2lvbi8kcmVhbF9vc192ZXJzaW9uIiAiJHdhZGlyIiAkY29uZmlnX2RpciAiIiAkYWxsbW9kc2AKKyMgU3RvcmUgdGhlIE9TIGFuZCB2ZXJzaW9uCitlY2hvICJvc190eXBlPSRvc190eXBlIiA+PiAkY29uZmlnX2Rpci9jb25maWcKK2VjaG8gIm9zX3ZlcnNpb249JG9zX3ZlcnNpb24iID4+ICRjb25maWdfZGlyL2NvbmZpZworZWNobyAicmVhbF9vc190eXBlPSRyZWFsX29zX3R5cGUiID4+ICRjb25maWdfZGlyL2NvbmZpZworZWNobyAicmVhbF9vc192ZXJzaW9uPSRyZWFsX29zX3ZlcnNpb24iID4+ICRjb25maWdfZGlyL2NvbmZpZworaWYgWyAtciAvZXRjL3N5c3RlbS5jbmYgXTsgdGhlbgorCSMgRm91bmQgYSBjYWxkZXJhIHN5c3RlbSBjb25maWcgZmlsZSAuLiBnZXQgdGhlIGxhbmd1YWdlCisJc291cmNlIC9ldGMvc3lzdGVtLmNuZgorCWlmIFsgIiRDT05GX0xTVF9MQU5HIiA9ICJ1cyIgXTsgdGhlbgorCQlDT05GX0xTVF9MQU5HPWVuCisJZWxpZiBbICIkQ09ORl9MU1RfTEFORyIgPSAidWsiIF07IHRoZW4KKwkJQ09ORl9MU1RfTEFORz1lbgorCWZpCisJZ3JlcCAibGFuZz0kQ09ORl9MU1RfTEFORywiICIkd2FkaXIvbGFuZ19saXN0LnR4dCIgPi9kZXYvbnVsbCAyPiYxCisJaWYgWyAiJD8iID0gMCBdOyB0aGVuCisJCWVjaG8gImxhbmc9JENPTkZfTFNUX0xBTkciID4+ICRjb25maWdfZGlyL2NvbmZpZworCWZpCitmaQorCisjIFR1cm4gb24gbG9nZ2luZyBieSBkZWZhdWx0CitlY2hvICJsb2c9MSIgPj4gJGNvbmZpZ19kaXIvY29uZmlnCisKKyMgVXNlIGxpY2VuY2UgbW9kdWxlIHNwZWNpZmllZCBieSBlbnZpcm9ubWVudCB2YXJpYWJsZQoraWYgWyAiJGxpY2VuY2VfbW9kdWxlIiAhPSAiIiBdOyB0aGVuCisJZWNobyBsaWNlbmNlX21vZHVsZT0kbGljZW5jZV9tb2R1bGUgPj4kY29uZmlnX2Rpci9jb25maWcKK2ZpCisKKyMgRGlzYWxsb3cgdW5rbm93biByZWZlcmVycyBieSBkZWZhdWx0CitlY2hvICJyZWZlcmVyc19ub25lPTEiID4+JGNvbmZpZ19kaXIvY29uZmlnCitlY2hvICR2ZXIgPiAkY29uZmlnX2Rpci92ZXJzaW9uCitlY2hvICIuLmRvbmUiCitlY2hvICIiCisKKyMgU2V0IHBhc3N3ZF8gZmllbGRzIGluIG1pbmlzZXJ2LmNvbmYgZnJvbSBnbG9iYWwgY29uZmlnCitmb3IgZmllbGQgaW4gcGFzc3dkX2ZpbGUgcGFzc3dkX3VpbmRleCBwYXNzd2RfcGluZGV4IHBhc3N3ZF9jaW5kZXggcGFzc3dkX21pbmRleDsgZG8KKwlncmVwICRmaWVsZD0gJGNvbmZpZ19kaXIvbWluaXNlcnYuY29uZiA+L2Rldi9udWxsCisJaWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCisJCWdyZXAgJGZpZWxkPSAkY29uZmlnX2Rpci9jb25maWcgPj4gJGNvbmZpZ19kaXIvbWluaXNlcnYuY29uZgorCWZpCitkb25lCitncmVwIHBhc3N3ZF9tb2RlPSAkY29uZmlnX2Rpci9taW5pc2Vydi5jb25mID4vZGV2L251bGwKK2lmIFsgIiQ/IiAhPSAiMCIgXTsgdGhlbgorCWVjaG8gcGFzc3dkX21vZGU9MCA+PiAkY29uZmlnX2Rpci9taW5pc2Vydi5jb25mCitmaQorCisjIElmIFBlcmwgY3J5cHQgc3VwcG9ydHMgTUQ1LCB0aGVuIG1ha2UgaXQgdGhlIGRlZmF1bHQKK2lmIFsgIiRtZDVwYXNzIiA9ICIxIiBdOyB0aGVuCisJZWNobyBtZDVwYXNzPTEgPj4gJGNvbmZpZ19kaXIvY29uZmlnCitmaQorCisjIFNldCBhIHNwZWNpYWwgdGhlbWUgaWYgbm9uZSB3YXMgc2V0IGJlZm9yZQoraWYgWyAiJHRoZW1lIiA9ICIiIF07IHRoZW4KKwl0aGVtZT1gY2F0ICIkd2FkaXIvZGVmYXVsdHRoZW1lIiAyPi9kZXYvbnVsbGAKK2ZpCitvbGR0aGVtZWxpbmU9YGdyZXAgIl50aGVtZT0iICRjb25maWdfZGlyL2NvbmZpZ2AKK29sZHRoZW1lPWBlY2hvICRvbGR0aGVtZWxpbmUgfCBzZWQgLWUgJ3MvdGhlbWU9Ly9nJ2AKK2lmIFsgIiR0aGVtZSIgIT0gIiIgXSAmJiBbICIkb2xkdGhlbWVsaW5lIiA9ICIiIF0gJiYgWyAtZCAiJHdhZGlyLyR0aGVtZSIgXTsgdGhlbgorCXRoZW1lbGlzdD0kdGhlbWUKK2ZpCisKKyMgU2V0IGEgc3BlY2lhbCBvdmVybGF5IGlmIG5vbmUgd2FzIHNldCBiZWZvcmUKK2lmIFsgIiRvdmVybGF5IiA9ICIiIF07IHRoZW4KKwlvdmVybGF5PWBjYXQgIiR3YWRpci9kZWZhdWx0b3ZlcmxheSIgMj4vZGV2L251bGxgCitmaQoraWYgWyAiJG92ZXJsYXkiICE9ICIiIF0gJiYgWyAiJHRoZW1lIiAhPSAiIiBdICYmIFsgLWQgIiR3YWRpci8kb3ZlcmxheSIgXTsgdGhlbgorCXRoZW1lbGlzdD0iJHRoZW1lbGlzdCAkb3ZlcmxheSIKK2ZpCisKKyMgQXBwbHkgdGhlIHRoZW1lIGFuZCBtYXliZSBvdmVybGF5CitpZiBbICIkdGhlbWVsaXN0IiAhPSAiIiBdOyB0aGVuCisJZWNobyAidGhlbWU9JHRoZW1lbGlzdCIgPj4gJGNvbmZpZ19kaXIvY29uZmlnCisJZWNobyAicHJlcm9vdD0kdGhlbWVsaXN0IiA+PiAkY29uZmlnX2Rpci9taW5pc2Vydi5jb25mCitmaQorCisjIFNldCB0aGUgcHJvZHVjdCBmaWVsZCBpbiB0aGUgZ2xvYmFsIGNvbmZpZworZ3JlcCBwcm9kdWN0PSAkY29uZmlnX2Rpci9jb25maWcgPi9kZXYvbnVsbAoraWYgWyAiJD8iICE9ICIwIiBdOyB0aGVuCisJZWNobyBwcm9kdWN0PXdlYm1pbiA+PiAkY29uZmlnX2Rpci9jb25maWcKK2ZpCisKK2lmIFsgIiRtYWtlYm9vdCIgPSAiMSIgXTsgdGhlbgorCWVjaG8gIkNvbmZpZ3VyaW5nIFdlYm1pbiB0byBzdGFydCBhdCBib290IHRpbWUuLiIKKwkoY2QgIiR3YWRpci9pbml0IiA7IFdFQk1JTl9DT05GSUc9JGNvbmZpZ19kaXIgV0VCTUlOX1ZBUj0kdmFyX2RpciAiJHdhZGlyL2luaXQvYXRib290LnBsIiAkYm9vdHNjcmlwdCkKKwllY2hvICIuLmRvbmUiCisJZWNobyAiIgorZmkKKworIyBJZiBwYXNzd29yZCBkZWxheXMgYXJlIG5vdCBzcGVjaWZpY2FsbHkgZGlzYWJsZWQsIGVuYWJsZSB0aGVtCitncmVwIHBhc3NkZWxheT0gJGNvbmZpZ19kaXIvbWluaXNlcnYuY29uZiA+L2Rldi9udWxsCitpZiBbICIkPyIgIT0gIjAiIF07IHRoZW4KKwllY2hvIHBhc3NkZWxheT0xID4+ICRjb25maWdfZGlyL21pbmlzZXJ2LmNvbmYKK2ZpCisKK2VjaG8gIkNoYW5naW5nIG93bmVyc2hpcCBhbmQgcGVybWlzc2lvbnMgLi4iCisjIE1ha2UgYWxsIGNvbmZpZyBkaXJzIG5vbi13b3JsZC1yZWFkYWJsZQorZm9yIG0gaW4gJG5ld21vZHM7IGRvCisJY2hvd24gLVIgcm9vdCAkY29uZmlnX2Rpci8kbQorCWNoZ3JwIC1SIGJpbiAkY29uZmlnX2Rpci8kbQorCWNobW9kIC1SIG9nLXJ3ICRjb25maWdfZGlyLyRtCitkb25lCisjIE1ha2UgbWluaXNlcnYgY29uZmlnIGZpbGVzIG5vbi13b3JsZC1yZWFkYWJsZQorZm9yIGYgaW4gbWluaXNlcnYuY29uZiBtaW5pc2Vydi5wZW0gbWluaXNlcnYudXNlcnM7IGRvCisJY2hvd24gLVIgcm9vdCAkY29uZmlnX2Rpci8kZgorCWNoZ3JwIC1SIGJpbiAkY29uZmlnX2Rpci8kZgorCWNobW9kIC1SIG9nLXJ3ICRjb25maWdfZGlyLyRmCitkb25lCitjaG1vZCArciAkY29uZmlnX2Rpci92ZXJzaW9uCitpZiBbICIkbm9jaG93biIgPSAiIiBdOyB0aGVuCisJIyBNYWtlIHByb2dyYW0gZGlyZWN0b3J5IG5vbi13b3JsZC13cml0YWJsZSwgYnV0IGV4ZWN1dGFibGUKKwljaG93biAtUiByb290ICIkd2FkaXIiCisJY2hncnAgLVIgYmluICIkd2FkaXIiCisJY2htb2QgLVIgb2ctdyAiJHdhZGlyIgorCWNobW9kIC1SIGErcnggIiR3YWRpciIKK2ZpCitpZiBbICR2YXJfZGlyICE9ICIvdmFyIiBdOyB0aGVuCisJIyBNYWtlIGxvZyBkaXJlY3Rvcnkgbm9uLXdvcmxkLXJlYWRhYmxlIG9yIHdyaXRhYmxlCisJY2hvd24gLVIgcm9vdCAkcHJlZml4JHZhcl9kaXIKKwljaGdycCAtUiBiaW4gJHByZWZpeCR2YXJfZGlyCisJY2htb2QgLVIgb2ctcnd4ICRwcmVmaXgkdmFyX2RpcgorZmkKKyMgRml4IHVwIGJhZCBwZXJtaXNzaW9ucyBmcm9tIHNvbWUgb2xkZXIgaW5zdGFsbHMKK2ZvciBtIGluIGxkYXAtY2xpZW50IGxkYXAtc2VydmVyIGxkYXAtdXNlcmFkbWluIG1haWxib3hlcyBteXNxbCBwb3N0Z3Jlc3FsIHNlcnZlcnMgdmlydHVhbC1zZXJ2ZXI7IGRvCisJaWYgWyAtZCAiJGNvbmZpZ19kaXIvJG0iIF07IHRoZW4KKwkJY2hvd24gcm9vdCAkY29uZmlnX2Rpci8kbQorCQljaGdycCBiaW4gJGNvbmZpZ19kaXIvJG0KKwkJY2htb2Qgb2ctcncgJGNvbmZpZ19kaXIvJG0KKwkJY2htb2Qgb2ctcncgJGNvbmZpZ19kaXIvJG0vY29uZmlnIDI+L2Rldi9udWxsCisJZmkKK2RvbmUKKworaWYgWyAiJG5vcG9zdGluc3RhbGwiID0gIiIgXTsgdGhlbgorCWVjaG8gIlJ1bm5pbmcgcG9zdGluc3RhbGwgc2NyaXB0cyAuLiIKKwkoY2QgIiR3YWRpciIgOyBXRUJNSU5fQ09ORklHPSRjb25maWdfZGlyIFdFQk1JTl9WQVI9JHZhcl9kaXIgIiR3YWRpci9ydW4tcG9zdGluc3RhbGxzLnBsIikKKwllY2hvICIuLmRvbmUiCisJZWNobyAiIgorZmkKKworIyBFbmFibGUgYmFja2dyb3VuZCBjb2xsZWN0aW9uCitpZiBbICIkdXBncmFkaW5nIiAhPSAxIC1hIC1yICRjb25maWdfZGlyL3N5c3RlbS1zdGF0dXMvZW5hYmxlLWNvbGxlY3Rpb24ucGwgXTsgdGhlbgorCWVjaG8gIkVuYWJsaW5nIGJhY2tncm91bmQgc3RhdHVzIGNvbGxlY3Rpb24gLi4iCisJJGNvbmZpZ19kaXIvc3lzdGVtLXN0YXR1cy9lbmFibGUtY29sbGVjdGlvbi5wbCA1CisJZWNobyAiLi5kb25lIgorCWVjaG8gIiIKK2ZpCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vd2VibWluXzEuNzUwLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL3dlYm1pbi93ZWJtaW5fMS43NTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQwNTJhMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi93ZWJtaW4vd2VibWluXzEuNzUwLmJiCkBAIC0wLDAgKzEsMTU1IEBACitTVU1NQVJZID0gIldlYi1iYXNlZCBhZG1pbmlzdHJhdGlvbiBpbnRlcmZhY2UiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LndlYm1pbi5jb20iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0U7bWQ1PTAzNzNhYzlmNjExZTU0MmRkZWJlMWVjNjM5NGFmYzNjIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS93ZWJhZG1pbi93ZWJtaW4tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3NldHVwLnNoIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQtZXhjbHVkZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uZXQtZ2VuZXJpYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtc3RhcnR1cC1vcHRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS12ZXJzaW9uLWNoZWNrLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25mcy1leHBvcnQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZXhwb3J0cy1saWIucGwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbW91bnQtZXhjbHVkZWZzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NhbWJhLWNvbmZpZy1maXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcHJvZnRwZC1jb25maWctZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25ldC1saWIucGwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbWVkaWEtdG9tYi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtcHl0aG9uMi4zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL215c3FsLWNvbmZpZy1maXgucGF0Y2ggXAorICAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDAwN2MzOTAzMjNkODQwZjI2YzJlMGY0M2M1YzgxYTMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTExMWY4MjBhZGM2ZmJjYTk5N2E1OGQ0YjJmYTE4NmRhYzZjZGVkOWNmZjBlNzA3MjRmOGNhZTYwMjExMjNkOSIKKworaW5oZXJpdCBwZXJsbmF0aXZlIHVwZGF0ZS1yYy5kCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICAjIFJlbW92ZSBiaW5hcmllcyBhbmQgcGx1Z2lucyBmb3Igb3RoZXIgcGxhdGZvcm1zCisgICAgcm0gLXJmIGFjbC9BdXRoZW4tU29sYXJpc1JCQUMtMC4xKgorICAgIHJtIC1yZiBmb3JtYXQgYnNkZXhwb3J0cyBocHV4ZXhwb3J0cyBzZ2lleHBvcnRzCisgICAgcm0gLXJmIHpvbmVzIHJiYWMgc21mIGlwZncgaXBmaWx0ZXIgZGZzYWRtaW4KKyAgICBybSAtZiBtb3VudC9mcmVlYnNkLW1vdW50cyogbW91bnQvbmV0YnNkLW1vdW50cyoKKyAgICBybSAtZiBtb3VudC9vcGVuYnNkLW1vdW50cyogbW91bnQvbWFjb3MtbW91bnRzKgorCisgICAgIyBSZW1vdmUgc29tZSBwbHVnaW5zIGZvciB0aGUgbW9tZW50CisgICAgcm0gLXJmIGxpbG8gZnJveCB3dWZ0cGQgdGVsbmV0IHBzZXJ2ZXIgY3BhbiBzaG9yZXdhbGwgd2ViYWxpemVyIGNmZW5naW5lIGZzZHVtcCBwYXAKKyAgICBybSAtcmYgbWFqb3Jkb21vIGZldGNobWFpbCBzZW5kbWFpbCBtYWlsYm94ZXMgcHJvY21haWwgZmlsdGVyIG1haWxjYXAgZG92ZWNvdCBleGltIHNwYW0gcW1haWxhZG1pbiBwb3N0Zml4CisgICAgcm0gLXJmIHN0dW5uZWwgc3F1aWQgc2FyZyBwcHRwLWNsaWVudCBwcHRwLXNlcnZlciBqYWJiZXIgb3BlbnNscCBzZW50cnkgY2x1c3Rlci0qIHZnZXR0eSBidXJuZXIgaGVhcnRiZWF0CisKKyAgICAjIEFkanVzdCBjb25maWdzCisgICAgWyAtZiBpbml0L2NvbmZpZy1kZWJpYW4tbGludXggXSAmJiBtdiBpbml0L2NvbmZpZy1kZWJpYW4tbGludXggaW5pdC9jb25maWctZ2VuZXJpYy1saW51eAorICAgIHNlZCAtaSAicy9zaHV0ZG93bl9jb21tYW5kPS4qL3NodXRkb3duX2NvbW1hbmQ9cG93ZXJvZmYvIiBpbml0L2NvbmZpZy1nZW5lcmljLWxpbnV4CisgICAgZWNobyAiZXhjbHVkZT1ib290bWlzYy5zaCxzaW5nbGUsaGFsdCxyZWJvb3QsaG9zdG5hbWUuc2gsbW9kdXRpbHMuc2gsbW91bnRhbGwuc2gsbW91bnRuZnMuc2gsbmV0d29ya2luZyxwb3B1bGF0ZS12b2xhdGlsZS5zaCxybW5vbG9naW4uc2gsc2F2ZS1ydGMuc2gsdW1vdW50ZnMsdW1vdW50bmZzLnNoLGh3Y2xvY2suc2gsY2hlY2tyb290LnNoLGJhbm5lci5zaCx1ZGV2LHVkZXYtY2FjaGUsZGV2cHRzLnNoLHBzcGxhc2guc2gsc2VuZHNpZ3MsZmJzZXR1cCxib290bG9nZCxzdG9wLWJvb3Rsb2dkLHN5c2ZzLnNoLHN5c2xvZyxzeXNsb2cuYnVzeWJveCx1cmFuZG9tLHdlYm1pbixmdW5jdGlvbnMuaW5pdHNjcmlwdHMscmVhZC1vbmx5LXJvb3Rmcy1ob29rLnNoIiA+PiBpbml0L2NvbmZpZy1nZW5lcmljLWxpbnV4CisgICAgZWNobyAiZXhjbHVkZWZzPWRldnB0cyxkZXZ0bXBmcyx1c2JkZXZmcyxwcm9jLHRtcGZzLHN5c2ZzLGRlYnVnZnMiID4+IG1vdW50L2NvbmZpZy1nZW5lcmljLWxpbnV4CisKKyAgICBbIC1mIGV4cG9ydHMvY29uZmlnLWRlYmlhbi1saW51eCBdICYmIG12IGV4cG9ydHMvY29uZmlnLWRlYmlhbi1saW51eCBleHBvcnRzL2NvbmZpZy1nZW5lcmljLWxpbnV4CisgICAgc2VkIC1pICJzL2tpbGxhbGwgLUhVUCBycGMubmZzZCAmJiAvLyIgZXhwb3J0cy9jb25maWctZ2VuZXJpYy1saW51eAorICAgIHNlZCAtaSAicy9uZXRzdGRfbmZzL25mc3NlcnZlci9nIiBleHBvcnRzL2NvbmZpZy1nZW5lcmljLWxpbnV4CisKKyAgICAjIEZpeCBpbnNhbmUgbmFtaW5nIHRoYXQgY2F1c2VzIHByb2JsZW1zIGF0IHBhY2thZ2luZyB0aW1lIChtdXN0IGJlIGRvbmUgYmVmb3JlIGRlbGV0aW5nIGJlbG93KQorICAgIGZpbmQgLiAtbmFtZSAiKlwqKiIgfCB3aGlsZSByZWFkIGZyb20KKyAgICBkbworICAgICAgICB0bz1gZWNobyAiJGZyb20iIHwgc2VkICJzLyovQUxMLyJgCisgICAgICAgIG12ICIkZnJvbSIgIiR0byIKKyAgICBkb25lCisKKyAgICAjIFJlbW92ZSBzb21lIG90aGVyIGZpbGVzIHdlIGRvbid0IG5lZWQKKyAgICBmaW5kIC4gLW5hbWUgImNvbmZpZy0qIiAtYSBcISAtbmFtZSAiY29uZmlnLWdlbmVyaWMtbGludXgiIC1hIFwhIC1uYW1lICJjb25maWctQUxMLWxpbnV4IiAtYSBcISAtbmFtZSAiKi5wbCIgLWRlbGV0ZQorICAgIGZpbmQgLiAtcmVnZXh0eXBlIHBvc2l4LWV4dGVuZGVkIC1yZWdleCAiLiovKG9wZW5zZXJ2ZXJ8YWl4fG9zZjF8b3NmfG9wZW5ic2R8bmV0YnNkfGZyZWVic2R8dW5peHdhcmV8c29sYXJpc3xtYWNvc3xpcml4fGhwdXh8Y3lnd2lufHdpbmRvd3MpLWxpYlwucGwiIC1kZWxldGUKKyAgICBybSAtZiB3ZWJtaW4tZ2VudG9vLWluaXQgd2VibWluLWNhbGRlcmEtaW5pdCB3ZWJtaW4tZGViaWFuLXBhbSB3ZWJtaW4tcGFtCisKKyAgICAjIERvbid0IG5lZWQgdGhlc2UgYXQgcnVudGltZSAoYW5kIHdlIGhhdmUgb3VyIG93biBzZXR1cCBzY3JpcHQpCisgICAgcm0gLWYgc2V0dXAuc2gKKyAgICBybSAtZiBzZXR1cC5wbAorCisgICAgIyBVc2UgcGlkb2YgZm9yIGZpbmRpbmcgUElEcworICAgIHNlZCAtaSAicy9maW5kX3BpZF9jb21tYW5kPS4qL2ZpbmRfcGlkX2NvbW1hbmQ9cGlkb2YgTkFNRS8iIGNvbmZpZy1nZW5lcmljLWxpbnV4Cit9CisKK1dFQk1JTl9MT0dJTiA/PSAiYWRtaW4iCitXRUJNSU5fUEFTU1dPUkQgPz0gInBhc3N3b3JkIgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3dlYm1pbgorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1IHdlYm1pbi1pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC93ZWJtaW4KKworICAgIGluc3RhbGwgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3dlYm1pbgorCisgICAgaW5zdGFsbCAtZCAke0R9JHtsaWJleGVjZGlyfS93ZWJtaW4KKyAgICBjZCAke1N9IHx8IGV4aXQgMQorICAgIHRhciAtLW5vLXNhbWUtb3duZXIgLS1leGNsdWRlPScuL3BhdGNoZXMnIC0tZXhjbHVkZT0nLi8ucGMnIC1jcGYgLSAuIFwKKyAgICAgICAgfCB0YXIgLS1uby1zYW1lLW93bmVyIC14cGYgLSAtQyAke0R9JHtsaWJleGVjZGlyfS93ZWJtaW4KKworICAgIHJtIC1mICR7RH0ke2xpYmV4ZWNkaXJ9L3dlYm1pbi93ZWJtaW4taW5pdAorICAgIHJtIC1mICR7RH0ke2xpYmV4ZWNkaXJ9L3dlYm1pbi9hamF4dGVybS9hamF4dGVybS9jb25maWd1cmUuaW5pdGQuZ2VudG9vCisgICAgcm0gLXJmICR7RH0ke2xpYmV4ZWNkaXJ9L3dlYm1pbi9wYXRjaGVzCisKKyAgICAjIFJ1biBzZXR1cCBzY3JpcHQKKyAgICBleHBvcnQgcGVybD1wZXJsCisgICAgZXhwb3J0IHBlcmxfcnVudGltZT0ke2JpbmRpcn0vcGVybAorICAgIGV4cG9ydCBwcmVmaXg9JHtEfQorICAgIGV4cG9ydCB0ZW1wZGlyPSR7U30vaW5zdGFsbF90bXAKKyAgICBleHBvcnQgd2FkaXI9JHtsaWJleGVjZGlyfS93ZWJtaW4KKyAgICBleHBvcnQgY29uZmlnX2Rpcj0ke3N5c2NvbmZkaXJ9L3dlYm1pbgorICAgIGV4cG9ydCB2YXJfZGlyPSR7bG9jYWxzdGF0ZWRpcn0vd2VibWluCisgICAgZXhwb3J0IG9zX3R5cGU9Z2VuZXJpYy1saW51eAorICAgIGV4cG9ydCBvc192ZXJzaW9uPTAKKyAgICBleHBvcnQgcmVhbF9vc190eXBlPSIke0RJU1RST19OQU1FfSIKKyAgICBleHBvcnQgcmVhbF9vc192ZXJzaW9uPSIke0RJU1RST19WRVJTSU9OfSIKKyAgICBleHBvcnQgcG9ydD0xMDAwMAorICAgIGV4cG9ydCBsb2dpbj0ke1dFQk1JTl9MT0dJTn0KKyAgICBleHBvcnQgcGFzc3dvcmQ9JHtXRUJNSU5fUEFTU1dPUkR9CisgICAgZXhwb3J0IHNzbD0wCisgICAgZXhwb3J0IGF0Ym9vdD0xCisgICAgZXhwb3J0IG5vX3BhbT0xCisgICAgbWtkaXIgLXAgJHRlbXBkaXIKKyAgICAke1N9Ly4uL3NldHVwLnNoCit9CisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJ3ZWJtaW4iCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA5OSA1IDMgMiAuIHN0b3AgMTAgMCAxIDYgLiIKKworIyBGSVhNRTogc29tZSBvZiB0aGlzIHNob3VsZCBiZSBmaWd1cmVkIG91dCBhdXRvbWF0aWNhbGx5CitSREVQRU5EU18ke1BOfSArPSAicGVybCBwZXJsLW1vZHVsZS1zb2NrZXQgcGVybC1tb2R1bGUtZXhwb3J0ZXIgcGVybC1tb2R1bGUtZXhwb3J0ZXItaGVhdnkgcGVybC1tb2R1bGUtY2FycCBwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU18ke1BOfSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MgcGVybC1tb2R1bGUteHNsb2FkZXIgcGVybC1tb2R1bGUtcG9zaXggcGVybC1tb2R1bGUtYXV0b2xvYWRlciIKK1JERVBFTkRTXyR7UE59ICs9ICJwZXJsLW1vZHVsZS1mY250bCBwZXJsLW1vZHVsZS10aWUtaGFzaCBwZXJsLW1vZHVsZS12YXJzIHBlcmwtbW9kdWxlLXRpbWUtbG9jYWwgcGVybC1tb2R1bGUtY29uZmlnIHBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfJHtQTn0gKz0gInBlcmwtbW9kdWxlLWZpbGUtZ2xvYiBwZXJsLW1vZHVsZS1maWxlLWNvcHkgcGVybC1tb2R1bGUtc2RibS1maWxlIHBlcmwtbW9kdWxlLWZlYXR1cmUiCisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIndlYm1pbi1tb2R1bGUtKiB3ZWJtaW4tdGhlbWUtKiIKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJ3ZWJtaW4tbW9kdWxlLXN5c3RlbS1zdGF0dXMiCisKK1BBQ0tBR0VTICs9ICIke1BOfS1tb2R1bGUtcHJvYyAke1BOfS1tb2R1bGUtcmFpZCAke1BOfS1tb2R1bGUtZXhwb3J0cyAke1BOfS1tb2R1bGUtZmRpc2sgJHtQTn0tbW9kdWxlLWx2bSIKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1wcm9jID0gInByb2NwcyIKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1yYWlkID0gIm1kYWRtIgorUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cG9ydHMgPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSBwZXJsLW1vZHVsZS1maWxlLXBhdGggcGVybC1tb2R1bGUtY3dkIHBlcmwtbW9kdWxlLWZpbGUtc3BlYyBwZXJsLW1vZHVsZS1maWxlLXNwZWMtdW5peCIKK1JSRUNPTU1FTkRTXyR7UE59LW1vZHVsZS1mZGlzayA9ICJwYXJ0ZWQiCitSUkVDT01NRU5EU18ke1BOfS1tb2R1bGUtbHZtID0gImx2bTIiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgeworICAgIGltcG9ydCBvcywgb3MucGF0aAorCisgICAgd2FkaXIgPSBiYi5kYXRhLmV4cGFuZCgnJHtsaWJleGVjZGlyfS93ZWJtaW4nLCBkKQorICAgIHdhZGlyX2ltYWdlID0gYmIuZGF0YS5leHBhbmQoJyR7RH0nLCBkKSArIHdhZGlyCisgICAgbW9kdWxlcyA9IFtdCisgICAgdGhlbWVzID0gW10KKyAgICBmb3IgbW9kIGluIG9zLmxpc3RkaXIod2FkaXJfaW1hZ2UpOgorICAgICAgICBtb2RpbmZvID0gb3MucGF0aC5qb2luKHdhZGlyX2ltYWdlLCBtb2QsICJtb2R1bGUuaW5mbyIpCisgICAgICAgIHRoZW1laW5mbyA9IG9zLnBhdGguam9pbih3YWRpcl9pbWFnZSwgbW9kLCAidGhlbWUuaW5mbyIpCisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG1vZGluZm8pOgorICAgICAgICAgICAgbW9kdWxlcy5hcHBlbmQobW9kKQorICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKHRoZW1laW5mbyk6CisgICAgICAgICAgICB0aGVtZXMuYXBwZW5kKG1vZCkKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHdhZGlyLCAnXiglcykkJyAlICJ8Ii5qb2luKG1vZHVsZXMpLCAnd2VibWluLW1vZHVsZS0lcycsICdXZWJtaW4gbW9kdWxlIGZvciAlcycsIGFsbG93X2RpcnM9VHJ1ZSwgcHJlcGVuZD1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHdhZGlyLCAnXiglcykkJyAlICJ8Ii5qb2luKHRoZW1lcyksICd3ZWJtaW4tdGhlbWUtJXMnLCAnV2VibWluIHRoZW1lIGZvciAlcycsIGFsbG93X2RpcnM9VHJ1ZSwgcHJlcGVuZD1UcnVlKQorfQorCisjIFRpbWUtc2F2ZXJzCitwYWNrYWdlX2RvX3BrZ2NvbmZpZygpIHsKKyAgICA6Cit9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9SRUFETUUgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUwY2ExMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL1JFQURNRQpAQCAtMCwwICsxLDIzIEBACitUaGlzIGxheWVyIGRlcGVuZHMgb246CisKK1VSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb2UtY29yZS5naXQKK2JyYW5jaDoga3JvZ290aAorcmV2aXNpb246IEhFQUQKKworVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLmdpdAorYnJhbmNoOiBrcm9nb3RoCityZXZpc2lvbjogSEVBRAorbWV0YS14ZmNlIGRlcGVuZHMgb24gbWV0YS1vZSwgbWV0YS1nbm9tZSBhbmQgbWV0YS1tdWx0aW1lZGlhIGluIHRoaXMgcmVwb3NpdG9yeS4KKworVG8gYXZvaWQgZGVwZW5kZW5jaWVzIG9uIG1ldGEtbXVsdGltZWRpYSB5b3UgbmVlZCB0byBtYXNrIHJlY2lwZXMgYnkgYWRkaW5nCit0aGlzIHRvIGxvY2FsLmNvbmY6CisKK0JCTUFTSyA9ICJtZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhIgorCitTZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEteGZjZV1ba3JvZ290aF0nIGluIHRoZSBzdWJqZWN0JworCitXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2luZyBzb21ldGhpbmcgbGlrZToKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS14ZmNlXVtrcm9nb3RoXVtQQVRDSCcKKwora3JvZ290aCBCcmFuY2ggTWFpbnRhaW5lcjoKK0FybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3RodW5hci1wbHVnaW4uYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NsYXNzZXMvdGh1bmFyLXBsdWdpbi5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlYzA3M2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3RodW5hci1wbHVnaW4uYmJjbGFzcwpAQCAtMCwwICsxLDEwIEBACitpbmhlcml0IHhmY2UKKworREVQRU5EUyArPSAidGh1bmFyIgorCitTUkNfVVJJID0gImh0dHA6Ly9hcmNoaXZlLnhmY2Uub3JnL3NyYy90aHVuYXItcGx1Z2lucy8ke0JQTn0vJHtAJyR7UFZ9J1swOjNdfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90aHVuYXJ4LTIvKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3RodW5hcngtMi8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS90aHVuYXJ4LTIvKi5sYSIKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY2xhc3Nlcy94ZmNlLWFwcC5iYmNsYXNzIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY2xhc3Nlcy94ZmNlLWFwcC5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3ODBlYmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UtYXBwLmJiY2xhc3MKQEAgLTAsMCArMSw0IEBACitpbmhlcml0IHhmY2UKKworU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMvYXBwcy8ke0JQTn0vJHtAeGZjZV92ZXJkaXIoIiR7UFZ9Iil9LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UtZ2l0LmJiY2xhc3MgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UtZ2l0LmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ZjMThkMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NsYXNzZXMveGZjZS1naXQuYmJjbGFzcwpAQCAtMCwwICsxLDcgQEAKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICAgIGNkICR7U30KKyAgICAgICBOT0NPTkZJR1VSRT15ZXMgLi9hdXRvZ2VuLnNoCisgICAgICAgY2QgJHtCfQorfQorCitBVVRPVE9PTFNfQ09QWUFDTE9DQUwgPSAiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NsYXNzZXMveGZjZS1wYW5lbC1wbHVnaW4uYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NsYXNzZXMveGZjZS1wYW5lbC1wbHVnaW4uYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmYwNjc4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY2xhc3Nlcy94ZmNlLXBhbmVsLXBsdWdpbi5iYmNsYXNzCkBAIC0wLDAgKzEsMTEgQEAKK2luaGVyaXQgeGZjZQorCitERVBFTkRTICs9ICJsaWJ4ZmNlNHVpIGxpYnhmY2U0dXRpbCB4ZmNlNC1wYW5lbCIKKworU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMvcGFuZWwtcGx1Z2lucy8ke0JQTn0vJHtAJyR7UFZ9J1swOjNdfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0veGZjZTQvcGFuZWwtcGx1Z2lucy8iCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0veGZjZTQvcGFuZWwtcGx1Z2lucy8qLnNvIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZXhlY2Rpcn0veGZjZTQvcGFuZWwtcGx1Z2lucy8uZGVidWciCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UuYmJjbGFzcyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NsYXNzZXMveGZjZS5iYmNsYXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0OWJiYTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jbGFzc2VzL3hmY2UuYmJjbGFzcwpAQCAtMCwwICsxLDIyIEBACitkZWYgeGZjZV92ZXJkaXIodik6CisgICAgaW1wb3J0IHJlCisgICAgbSA9IHJlLm1hdGNoKCJeKFswLTldKylcLihbMC05XSspIiwgdikKKyAgICByZXR1cm4gIiVzLiVzIiAlIChtLmdyb3VwKDEpLCBtLmdyb3VwKDIpKQorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnhmY2Uub3JnIgorU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMveGZjZS8ke0JQTn0vJHtAeGZjZV92ZXJkaXIoIiR7UFZ9Iil9LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IGd0ay1pY29uLWNhY2hlIHBrZ2NvbmZpZworCitERVBFTkRTICs9ICJpbnRsdG9vbC1uYXRpdmUiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zLyogJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMvKiAke2xpYmRpcn0veGZjZTQvbW9kdWxlcy8qLnNvKiIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS94ZmNlNC9kb2MiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3hmY2U0LyovKi5sYSIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3hmY2U0LyovKi8qLmxhIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0veGZjZTQvKi8qLmEiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS94ZmNlNC8qLyovKi5hIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0veGZjZTQvKi8uZGVidWciCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS94ZmNlNC8qLyovLmRlYnVnIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jb25mL2xheWVyLmNvbmYgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jb25mL2xheWVyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRiMTA3NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NvbmYvbGF5ZXIuY29uZgpAQCAtMCwwICsxLDIzIEBACisjIFdlIGhhdmUgYSBjb25mIGFuZCBjbGFzc2VzIGRpcmVjdG9yeSwgYXBwZW5kIHRvIEJCUEFUSAorQkJQQVRIIC49ICI6JHtMQVlFUkRJUn0iCisKKyMgV2UgaGF2ZSBhIHJlY2lwZXMgZGlyZWN0b3J5LCBhZGQgdG8gQkJGSUxFUworQkJGSUxFUyArPSAiJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5iYiAke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgorCitCQkZJTEVfQ09MTEVDVElPTlMgKz0gInhmY2UtbGF5ZXIiCitCQkZJTEVfUEFUVEVSTl94ZmNlLWxheWVyIDo9ICJeJHtMQVlFUkRJUn0vIgorQkJGSUxFX1BSSU9SSVRZX3hmY2UtbGF5ZXIgPSAiNyIKKworIyBUaGlzIHNob3VsZCBvbmx5IGJlIGluY3JlbWVudGVkIG9uIHNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCB3aWxsCisjIGNhdXNlIGNvbXBhdGliaWxpdHkgaXNzdWVzIHdpdGggb3RoZXIgbGF5ZXJzCitMQVlFUlZFUlNJT05feGZjZS1sYXllciA9ICIxIgorCitMQVlFUkRFUEVORFNfeGZjZS1sYXllciA9ICJjb3JlIgorTEFZRVJERVBFTkRTX3hmY2UtbGF5ZXIgKz0gIm9wZW5lbWJlZGRlZC1sYXllciIKK0xBWUVSREVQRU5EU194ZmNlLWxheWVyICs9ICJnbm9tZS1sYXllciIKK0xBWUVSREVQRU5EU194ZmNlLWxheWVyICs9ICJvcGVuZW1iZWRkZWQtbGF5ZXIiCitMQVlFUkRFUEVORFNfeGZjZS1sYXllciArPSAibWV0YS1weXRob24iCisKK1NJR0dFTl9FWENMVURFX1NBRkVfUkVDSVBFX0RFUFMgKz0gIiBcCisgIHhmY2U0LXNlc3Npb24tPm1hY2hpbmUtaG9zdCBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvZ2lnb2xvL2dpZ29sb18wLjQuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9naWdvbG8vZ2lnb2xvXzAuNC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NDZlNzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvZ2lnb2xvL2dpZ29sb18wLjQuMi5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkdpZ29sbyBpcyBhIGZyb250ZW5kIHRvIGVhc2lseSBtYW5hZ2UgY29ubmVjdGlvbnMgdG8gcmVtb3RlIGZpbGVzeXN0ZW1zIHVzaW5nIEdJTy9HVmZzIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAiZ3RrKyBpbnRsdG9vbC1uYXRpdmUgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSIKKworaW5oZXJpdCB4ZmNlLWFwcAorCitTUkNfVVJJW21kNXN1bV0gPSAiNGFiYzZmZGU1NjU3MmFkZjNlYzNhMDE4MTA5MjU4NGMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTUzZmM3OGZlNGU3YmQyZjAxZjM4NTFiYWVhN2U2M2Y2NDE0ZmU2NTJkZmI0YjA4YzYwYjVjNGIyYjkwOTE2NCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9tb3VzZXBhZC9tb3VzZXBhZF8wLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9tb3VzZXBhZC9tb3VzZXBhZF8wLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Y2EyMWE2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL21vdXNlcGFkL21vdXNlcGFkXzAuNC4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQSBzaW1wbGUgdGV4dCBlZGl0b3IgZm9yIFhmY2UiCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworIyBpbnRsdG9vbCB0byBwcm92aWRlIGludGx0b29sLm00IHdpdGggQUNfUFJPR19JTlRMVE9PTAorIyB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGZvciBYRFRfSTE4TiBtYWNybyBhbmQgbW9yZSBpbXBvcnRhbnRseSBYRFRfQ0hFQ0tfT1BUSU9OQUxfUEFDS0FHRQorIyB3aGljaCBmaXhlcyBtb3VzZXBhZC9NYWtlZmlsZS5hbTo3MjogZXJyb3I6IEhBVkVfREJVUyBkb2VzIG5vdCBhcHBlYXIgaW4gQU1fQ09ORElUSU9OQUwKK0RFUEVORFMgPSAiZ3RrKyBkYnVzIGRidXMtZ2xpYiBndGtzb3VyY2V2aWV3MiBpbnRsdG9vbC1uYXRpdmUgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSIKKworaW5oZXJpdCB4ZmNlLWFwcCBnc2V0dGluZ3MKKworU1JDX1VSSVttZDVzdW1dID0gImY1NTMxNGM1ZGRhNjMyMzg4MzI0MWU2Y2YwMTU1MGE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYwMTE0NDMxZWFjOGRiNmJiNmNlMThiZDM4ZjE2MzBjY2NiNjg0Mzc1Yjk3YTQ0NWExYjZmZDYxOTg0OGQxMzIiCisKKyMgd2UgaGF2ZSBubyBndGtzb3VyY2V2aWV3IDMueCBhcm91bmQKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZ3RrMyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9vcmFnZS9vcmFnZV80LjEyLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvb3JhZ2Uvb3JhZ2VfNC4xMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyZjI1NjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvb3JhZ2Uvb3JhZ2VfNC4xMi4xLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiWGZjZSBDYWxlbmRlciIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlhYzJlN2NmZjFkZGFmNDhiNmVhYjYwMjhmMjNlZjg4IgorREVQRU5EUyA9ICJndGsrIHhmY2U0LXBhbmVsIGxpYmljYWwgcG9wdCIKKworaW5oZXJpdCB4ZmNlLWFwcAorCitTUkNfVVJJW21kNXN1bV0gPSAiMmI3ZjVkMzhjYjVjNmVkYmNjNjVkMGY1MmE3NDJlNDYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2NmOWFhNDQxYWU4M2M4Njg4ODY1ZjgyMjE3MDI1Y2RmM2ViYWExNTJjY2U0NTcxNzc3YjhjMmFhOGRkOTA2MiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1saWJub3RpZnksLS1kaXNhYmxlLWxpYm5vdGlmeSxsaWJub3RpZnkiCisKK1BBQ0tBR0VTID0rICJ4ZmNlNC1vcmFnZWNsb2NrLXBsdWdpbiIKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvLmRlYnVnIgorRklMRVNfeGZjZTQtb3JhZ2VjbG9jay1wbHVnaW4gPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvKi5zbyAke2RhdGFkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9yaXN0cmV0dG8vcmlzdHJldHRvXzAuOC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3Jpc3RyZXR0by9yaXN0cmV0dG9fMC44LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjYzOTljZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9yaXN0cmV0dG8vcmlzdHJldHRvXzAuOC4wLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiVGlueSBpbWFnZS12aWV3ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9hcHBsaWNhdGlvbnMvcmlzdHJldHRvIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzVkMTQ1NDI5YWQzY2JmNTMwOGQxZGM5M2Y2NjM3NmIiCitERVBFTkRTID0gImV4byBsaWJleGlmIGd0aysgZGJ1cy1nbGliIGxpYnhmY2U0dWkgbGlieGZjZTR1dGlsIHhmY29uZiBjYWlybyIKKworaW5oZXJpdCB4ZmNlLWFwcAorCitSUkVDT01NRU5EU18ke1BOfSArPSAidHVtYmxlciIKKworU1JDX1VSSVttZDVzdW1dID0gIjk0Yzc3ODg1MDMyNWE0ZTVhMTJlMzQzM2M4YTA1NDMyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjcxNjI1MzI0Y2VjZGE3MTk5YWNiYzk1YTNlYTUxMzJkMGRjYmY4MDg3NzFlN2EyMDllYTJiOTUwM2FlNGYzMjgiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2FwcGRhdGEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGFyY2hpdmVyL3hhcmNoaXZlcl9naXQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGFyY2hpdmVyL3hhcmNoaXZlcl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2EyOTkyMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94YXJjaGl2ZXIveGFyY2hpdmVyX2dpdC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIkxpZ2h0d2VpZ2h0LCBkZXNrdG9wIGluZGVwZW5kZW50IEdUSysgYXJjaGl2ZSBtYW5hZ2VyIgorSE9NRVBBR0UgPSAiaHR0cDovL3hhcmNoaXZlci5zb3VyY2Vmb3JnZS5uZXQiCitTRUNUSU9OID0gIngxMSIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworREVQRU5EUyA9ICJndGsrIGdsaWItMi4wIHhmY2U0LWRldi10b29scy1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2Nobml0emVsdG9ueS94YXJjaGl2ZXIuZ2l0O2JyYW5jaD1tYXN0ZXIiCitTUkNSRVYgPSAiZTgwZTkwNTI4YzlhYWIyZmUzNmQ5MDc4Yjk0NWI0NGMwNWNjMjBkMyIKK1BWID0gIjAuNS4zIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCB4ZmNlLWdpdCBnZXR0ZXh0IHBrZ2NvbmZpZyBhdXRvdG9vbHMgZ3RrLWljb24tY2FjaGUKKworIyBpbnN0YWxsIHRhcCBmaWxlcyBmb3IgdGh1bmFyLWFyY2hpdmUtcGx1Z2luIGluICR7bGliZGlyfS90aHVuYXItYXJjaGl2ZS1wbHVnaW4KK0VYVFJBX09FQ09ORiArPSAiLS1saWJleGVjZGlyPSR7bGliZGlyfSIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1tYWludGFpbmVyLW1vZGUiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vdGh1bmFyLWFyY2hpdmUtcGx1Z2luIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJsem9wIHppcCB0YXIgYnppcDIgdW56aXAgeHoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZS1wb2xraXQveGZjZS1wb2xraXRfMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2UtcG9sa2l0L3hmY2UtcG9sa2l0XzAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmI0YTViCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2UtcG9sa2l0L3hmY2UtcG9sa2l0XzAuMi5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkEgc2ltcGxlIFBvbGljeUtpdCBhdXRoZW50aWNhdGlvbiBhZ2VudCBmb3IgWEZDRSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT03NThiMDNmODcyYTg4Yzk5ZmMzNmQ1MGM1OTMyMDkxYyIKKworREVQRU5EUyA9ICJsaWJ4ZmNlNHVpIHBvbGtpdCIKKworaW5oZXJpdCB4ZmNlLWFwcAorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbmNvcGEvJHtCUE59LmdpdCIKK1NSQ1JFViA9ICI2YWQxZWU4MzNjOWUyMmU0ZGQ3MmE4ZjdkNTQ1NjJkMDQ2OTY1MjgzIgorUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1taXhlci94ZmNlNC1taXhlcl80LjExLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIveGZjZTQtbWl4ZXJfNC4xMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkYmVjNDUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIveGZjZTQtbWl4ZXJfNC4xMS4wLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiQSB2b2x1bWUgY29udHJvbCBhcHBsaWNhdGlvbiBiYXNlZCBvbiBHU3RyZWFtZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAiZ2xpYi0yLjAgZ3N0LXBsdWdpbnMtYmFzZSBndGsrIHhmY29uZiBsaWJ1bmlxdWUiCisKK1NSQ19VUkkgPSAiaHR0cDovL2FyY2hpdmUueGZjZS5vcmcvc3JjL2FwcHMvJHtCUE59LyR7QHhmY2VfdmVyZGlyKCIke1BWfSIpfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjFiMzc1M2I5MTIyNDg2N2EzYTJkZmRkZGEyMzljMjhkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZiMGMxZGYyMDFlZDExMzBmNTRmMTViOTE0Y2JlNWE1OTI4NmU5OTRhMTM3YWNkYTU2MDk1NzBjNTcxMTJkZTIiCisKK1JERVBFTkRTXyR7UE59ID0gImdzdC1tZXRhLWF1ZGlvIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LW5vdGlmeWQveGZjZTQtbm90aWZ5ZF8wLjIuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1ub3RpZnlkL3hmY2U0LW5vdGlmeWRfMC4yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWY4NzRhZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1ub3RpZnlkL3hmY2U0LW5vdGlmeWRfMC4yLjQuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJFYXNpbHkgdGhlbWFibGUgbm90aWZpY2F0aW9uIGRhZW1vbiB3aXRoIHRyYW5zcGFyZW5jeSBlZmZlY3RzIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvYXBwbGljYXRpb25zL3hmY2U0LW5vdGlmeWQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCitERVBFTkRTID0gImxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIHhmY29uZiBndGsrIGRidXMgZGJ1cy1nbGliIGxpYm5vdGlmeSIKKworaW5oZXJpdCB4ZmNlLWFwcAorCitTUkNfVVJJW21kNXN1bV0gPSAiMDk0YmU2ZjI5MjA2YWFjODI5OWYyNzA4NGUyODRlODgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGM3ZWQ2MmY5NDk2ODE2ZDEzOTEyODFmNzdkMWIzMjIxNmY5YmY2ZmQyMmZiZTRmNmYzZjRlMDdhNmJiY2VkMCIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworCW1rZGlyIC1wIHhmY2U0LW5vdGlmeWQKK30KKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtsaWJkaXJ9L3hmY2U0L25vdGlmeWQgXAorICAgICR7ZGF0YWRpcn0vdGhlbWVzIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMSBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLWNyZWF0ZS1vdXB1dC1kaXJlY3RvcnktZm9yLWRlc2t0b3AtZmlsZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1zY3JlZW5zaG9vdGVyL2ZpbGVzLzAwMDEtTWFrZWZpbGUuYW0tY3JlYXRlLW91cHV0LWRpcmVjdG9yeS1mb3ItZGVza3RvcC1maWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyYmZmZWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci9maWxlcy8wMDAxLU1ha2VmaWxlLmFtLWNyZWF0ZS1vdXB1dC1kaXJlY3RvcnktZm9yLWRlc2t0b3AtZmlsZS5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIGM4NWJmN2NjNWMxZTE3ODBkMjE1ZjZmZTIzM2UzZWQ0NTk3YzcyZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyMSBTZXAgMjAxNSAwNjo1NDoyOCArMDAwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogY3JlYXRlIG91cHV0IGRpcmVjdG9yeSBmb3IgZGVza3RvcCBmaWxlCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFsxXQorCitbMV06IGh0dHA6Ly9idWctYXR0YWNobWVudC54ZmNlLm9yZy9hdHRhY2htZW50LmNnaT9pZD02NDYwCisKK1NpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBNYWtlZmlsZS5hbSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggYTIyZmMyMC4uMmVmMGU1NCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTEyMiw2ICsxMjIsNyBAQCBhcHBfZGVza3RvcF9EQVRBID0gJChhcHBfZGVza3RvcF9pbl9maWxlczouZGVza3RvcC5pbj0uZGVza3RvcCkKKyAKKyBzcmMveGZjZTQtc2NyZWVuc2hvb3Rlci5kZXNrdG9wLmluOiBzcmMveGZjZTQtc2NyZWVuc2hvb3Rlci5kZXNrdG9wLmluLmluCisgCSQoQU1fVl9HRU4pICggXAorKwkJJChNS0RJUl9QKSAkKGRpciAkQCk7IFwKKyAJCXNlZCAtZSAic15AUExVR0lOX1BBVEhAXiQobGliZXhlY2RpcikvYXBwbGljYXRpb25zXiIgXAorIAkJCSQ8ID4gJEAgXAorIAkpCistLSAKKzIuMC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1zY3JlZW5zaG9vdGVyL3hmY2U0LXNjcmVlbnNob290ZXJfMS44LjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlMmJjNjEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOC4yLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiQXBwbGljYXRpb24gdG8gdGFrZSBzY3JlZW5zaG90cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL2FwcGxpY2F0aW9ucy94ZmNlNC1zY3JlZW5zaG9vdGVyIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDc5MTcyOGEwNzNiYzAwOWI0ZmZhZjAwYjc1OTk4NTUiCitERVBFTkRTID0gInhmY2U0LXBhbmVsIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGdkay1waXhidWYgZ3RrKyBnbGliLTIuMCBsaWJzb3VwLTIuNCBleG8gbGlieGZpeGVzIHhleHQgdmlydHVhbC9saWJ4MTEiCisKK2luaGVyaXQgeGZjZS1hcHAKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tY3JlYXRlLW91cHV0LWRpcmVjdG9yeS1mb3ItZGVza3RvcC1maWxlLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2EzMmVjYzU1NjY0NTNhNThmNmE0ZGRkNzA2NDk0NDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWRjZTJkZGZhYTg3ZjcwM2U4NzBlMjliYWUxM2YzZmM4MmExYjNmMDZiNDRmODM4NjY0MGU0NWExMzVmNWY2OSIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworCW1rZGlyIC1wIGxpYgorfQorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2FwcGRhdGEgXAorICAgICR7ZGF0YWRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucyBcCisgICAgJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXRhc2ttYW5hZ2VyL3hmY2U0LXRhc2ttYW5hZ2VyXzEuMS4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXRhc2ttYW5hZ2VyL3hmY2U0LXRhc2ttYW5hZ2VyXzEuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiMWJlNjcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtdGFza21hbmFnZXIveGZjZTQtdGFza21hbmFnZXJfMS4xLjAuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJFYXN5IHRvIHVzZSB0YXNrIG1hbmFnZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1hcHAKKworREVQRU5EUyArPSAiZ3RrKyBjYWlybyBsaWJ3bmNrIHhmY2U0LWRldi10b29scy1uYXRpdmUgZXhvLW5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjdkYTQ2NWE0Nzk4NjI5ZWJkODY1MGZlZjYyNzcwYWI3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJlMWViMTYxZjk2NmNiZmJkNjhiZDAyOWZiNTkxMTViYzVhYjBjMDcwNGNiNTAwZDIwZTdkNzM5NjdlNTllY2IiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtdGVybWluYWwveGZjZTQtdGVybWluYWxfMC42LjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtdGVybWluYWwveGZjZTQtdGVybWluYWxfMC42LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA0OWIyNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC10ZXJtaW5hbC94ZmNlNC10ZXJtaW5hbF8wLjYuMy5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIlRlcm1pbmFsIGVtdWxhdG9yIGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorREVQRU5EUyA9ICJnbGliLTIuMCBndGsrIHZ0ZSBsaWJ4ZmNlNHVpIgorCitpbmhlcml0IHhmY2UtYXBwCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hmY2U0IFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2dub21lLWNvbnRyb2wtY2VudGVyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNmEyODE2ZDhiMDkzM2NkNzA3ZWQ0NTZjZWI3MzEzOTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTEyZjQ3MTZjMjM5NWExNGE4MDYyMGVmOTgyYjRhZjFlMmE2N2E4ZGY5YTFlZjBiODAyZWNhZTgyNjA1N2UwOCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L2N1cnNvci10aGVtZXMvb3BlbnpvbmVfMS4yLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC9jdXJzb3ItdGhlbWVzL29wZW56b25lXzEuMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1NDc3MzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC9jdXJzb3ItdGhlbWVzL29wZW56b25lXzEuMi4zLmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiWDExIE1vdXNlIFRoZW1lIgorSE9NRVBBR0UgPSAiaHR0cDovL3hmY2UtbG9vay5vcmcvY29udGVudC9zaG93LnBocC9PcGVuWm9uZT9jb250ZW50PTExMTM0MyIKK1NFQ1RJT04gPSAieDExL3dtIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hMmY1NjJmYjhmYjFlMTM4YjgxMGQ2OTUyMWM0YmNkNyIKK0RFUEVORFMgPSAiaWNvbi1zbGljZXItbmF0aXZlIHhjdXJzb3JnZW4tbmF0aXZlIgorCitpbmhlcml0IGFsbGFyY2gKKworU1JDX1VSSSA9ICJodHRwOi8veGZjZS1sb29rLm9yZy9DT05URU5UL2NvbnRlbnQtZmlsZXMvMTExMzQzLU9wZW5ab25lLSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZGFlOTY4Y2JkNTI1MDcyNjY0ZWY3YTRmYzdjNDE1NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYzIwZjk3YTQ5ZTFmZjFiZWNmNzg1M2VmNWYxMzdlZDMwYTRjMjc0OTA1NDBlNzU1MDIxZDc4ZDMzOWVmZDkyIgorCitTID0gIiR7V09SS0RJUn0vT3BlblpvbmUiCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9pY29ucworICAgIGZvciB0aGVtZSBpbiBgZmluZCAtbmFtZSAnKi50YXIueHonYDsgZG8KKyAgICAgICAgdGFyIC1KeGYgJHt0aGVtZX0gLUMgJHtEfSR7ZGF0YWRpcn0vaWNvbnMKKyAgICBkb25lCit9CisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBpY29uZGlyID0gYmIuZGF0YS5leHBhbmQoJyR7ZGF0YWRpcn0vaWNvbnMnLCBkKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGljb25kaXIsICdeKC4qKScsICclcycsICdPcGVuIFpvbmUgY3Vyc29ycyAlcycsIGFsbG93X2RpcnM9VHJ1ZSkKK30KKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXm9wZW56b25lLS4qIgorQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L3JvZGVudC1pY29uLXRoZW1lL3JvZGVudC1pY29uLXRoZW1lXzUuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L3JvZGVudC1pY29uLXRoZW1lL3JvZGVudC1pY29uLXRoZW1lXzUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGJhMzQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcnQvcm9kZW50LWljb24tdGhlbWUvcm9kZW50LWljb24tdGhlbWVfNS4wLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiUm9kZW50LWljb24tdGhlbWUgKHdhcyB4ZmNlNC1pY29uLXRoZW1lKSBpcyBhIHN2ZyBpY29uIHRoZW1lIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorCitpbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzIGd0ay1pY29uLWNhY2hlCisKK1NSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy94ZmZtL2ZpbGVzLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjRiMDk3ZDM0NGExNjBkNjQ5N2M2NDk4OTg1YzhkZjE1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZlZDAwZDE2ZmFhMWY1NWIzYmI3YjEzODYyZGUxZDdmNWNmZDk3OGI5M2U0MjQ4N2RlZDIxNTk1ZDBkYmUyMDgiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zIgorCitSUkVQTEFDRVNfJHtQTn0gKz0gInhmY2U0LWljb24tdGhlbWUiCitSUFJPVklERVNfJHtQTn0gKz0gInhmY2U0LWljb24tdGhlbWUiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICJ4ZmNlNC1pY29uLXRoZW1lIgorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC94ZmNlLWR1c2stZ3RrMy94ZmNlLWR1c2stZ3RrM18xLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFydC94ZmNlLWR1c2stZ3RrMy94ZmNlLWR1c2stZ3RrM18xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA1Yzc0OAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L3hmY2UtZHVzay1ndGszL3hmY2UtZHVzay1ndGszXzEuMy5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIk1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIHhmY2UtZHVzayB0aGVtZSB0byBzdXBwb3J0IGFsc28gZ3RrIDMueCB0b28iCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OGYwZTJjZDQwZTA1MTg5ZWM4MTIzMmRhODRiZDZlMWEiCisKK2luaGVyaXQgYWxsYXJjaAorCitTUkNfVVJJID0gImh0dHA6Ly94ZmNlLWxvb2sub3JnL0NPTlRFTlQvY29udGVudC1maWxlcy8xNDE0MDQteGZjZV9kdXNrX2d0azMtMV8zLnRhci5nejtzdWJkaXI9JHtCUE59LSR7UFZ9IgorU1JDX1VSSVttZDVzdW1dID0gImIzYWQzN2FkODE3M2IxNGVjMDkwZTYwYTgwZTY1ZDhmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJmYThhODg2MDdkMWExZGE1YmQwYjllNGUwNzU3NjdjNTQ0MDBhM2M1YTBmYWU4OGI2MTllZDcxNTMyZjMwYjQiCisKK2RvX2NvbmZpZ3VyZSgpIHsKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L3RoZW1lcworICAgIGNwIC1yIFhmY2UtZHVzay1ndGszICR7RH0ke2RhdGFkaXJ9L3RoZW1lcy9YZmNlLWR1c2stZ3RrMworfQorCitGSUxFU18ke1BOfSA9ICIke2RhdGFkaXJ9L3RoZW1lcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L3hmd200LXRoZW1lcy94ZndtNC10aGVtZXNfNC4xMC4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcnQveGZ3bTQtdGhlbWVzL3hmd200LXRoZW1lc180LjEwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzAzMGY3YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXJ0L3hmd200LXRoZW1lcy94ZndtNC10aGVtZXNfNC4xMC4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQWRkaXRpb25hbCAob2xkKSB0aGVtZXMgZm9yIFhmd200IgorU0VDVElPTiA9ICJ4MTEvd20iCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK2luaGVyaXQgeGZjZQorCitTUkNfVVJJID0gImh0dHA6Ly9hcmNoaXZlLnhmY2Uub3JnL3NyYy9hcnQvJHtCUE59LyR7QCcke1BWfSdbMDo0XX0vJHtCUH0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWE1ODM2MjA1M2EzNTQ5YzhiZTBiMzJlZmQzYzU0ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMjE0ZDVmMDBlOTcwM2I1ZThjOWU3YzMyODdkNjA2ZGVkZWM3Mjg1Y2ViNGQ1ZGIzMzJlOTNhZGE2NmZkNTc1IgorCisjIHVzaW5nIHhmd200LXRoZW1lIGFzIGluIHhmd200IG1pZ2h0IGNhdXNlIHdhcm5pbmdzIG9mIHBhY2thZ2VzIHN1cHBsaWVkIGJ5CisjIG11bHRpcGxlIHByb3ZpZGVycy4gU28gd2UgdXNlIHhmd200LW9sZC10aGVtZSBoZXJlLgorcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIHRoZW1lZGlyID0gZC5leHBhbmQoJyR7ZGF0YWRpcn0vdGhlbWVzJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCB0aGVtZWRpciwgJ14oLiopJywgJ3hmd200LW9sZC10aGVtZS0lcycsICdYRldNNCB0aGVtZSAlcycsIGFsbG93X2RpcnM9VHJ1ZSkKK30KKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXnhmd200LW9sZC10aGVtZS0uKiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYmluZGluZ3MvdmFsYS94ZmNlNC12YWxhXzQuMTAuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYmluZGluZ3MvdmFsYS94ZmNlNC12YWxhXzQuMTAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmQwODVhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1iaW5kaW5ncy92YWxhL3hmY2U0LXZhbGFfNC4xMC4zLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiWGZjZTQgVmFsYSBwcm92aWRlcyBiaW5kaW5ncyBmb3IgdGhlIFhmY2UgZnJhbWV3b3JrIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI0M2I3MjVkNzFiYjVkZjRhMWU1OTIwYjM0NGI4NmFkIgorREVQRU5EUyA9ICJsaWJ4ZmNlNHV0aWwgZ2FyY29uIHhmY29uZiBsaWJ4ZmNlNHVpIHhmY2U0LXBhbmVsIGV4byB2YWxhIHhmY2U0LWRldi10b29scy1uYXRpdmUiCisKK2luaGVyaXQgeGZjZQorCitTUkNfVVJJID0gImh0dHA6Ly9hcmNoaXZlLnhmY2Uub3JnL3NyYy9iaW5kaW5ncy8ke0JQTn0vJHtAeGZjZV92ZXJkaXIoIiR7UFZ9Iil9LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjBiYmIxZDZlNDczZTBmZTliMzM1YjdiMWI0OWQ4YTcxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3YThmMmI3YzA5ZmNkZDNkODZlMGM1MmFkZWEzYzU4Y2EwMTFkMDE0MmE5Mzk5N2EwMWI0YWY3NzI2MGFlN2IiCisKK0VYVFJBX09FQ09ORiA9ICItd2l0aC12YWxhLWFwaT0wLjMwIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS92YWxhLSovdmFwaSIKKworUkRFUEVORFNfJHtQTn0gPSAidmFsYSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtY29yZS9pbWFnZXMvY29yZS1pbWFnZS1taW5pbWFsLXhmY2UuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWNvcmUvaW1hZ2VzL2NvcmUtaW1hZ2UtbWluaW1hbC14ZmNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzOTAwZjgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWNvcmUvaW1hZ2VzL2NvcmUtaW1hZ2UtbWluaW1hbC14ZmNlLmJiCkBAIC0wLDAgKzEsMTcgQEAKK0RFU0NSSVBUSU9OID0gIkEgWEZDRSBtaW5pbWFsIGRlbW8gaW1hZ2UuIgorCitJTUFHRV9JTlNUQUxMID0gInBhY2thZ2Vncm91cC1jb3JlLWJvb3QgXAorICAgICR7Uk9PVEZTX1BLR01BTkFHRV9CT09UU1RSQVB9IFwKKyAgICBwYWNrYWdlZ3JvdXAtY29yZS14MTEgXAorICAgIHBhY2thZ2Vncm91cC14ZmNlLWJhc2UgXAorIgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitJTUFHRV9MSU5HVUFTID89ICIgIgorCitMSUNFTlNFID0gIk1JVCIKKworZXhwb3J0IElNQUdFX0JBU0VOQU1FID0gImNvcmUtaW1hZ2UtbWluaW1hbC14ZmNlIgorCitpbmhlcml0IGNvcmUtaW1hZ2UKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5ncy9ndGstaXMtcmVxdWlyZWQtYnktbm90aWZ5LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1leHRlbmRlZC9pbXNldHRpbmdzL2d0ay1pcy1yZXF1aXJlZC1ieS1ub3RpZnkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQyMzU4ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5ncy9ndGstaXMtcmVxdWlyZWQtYnktbm90aWZ5LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK2d0aysgaXMgcmVxdWlyZWQgYnkgbGlubm90aWZ5LiBTbyBtYWtlIHN1cmUgZ3RrIGJlIGxpbmtlZCBiZWZvcmUgbGlibm90aWZ5CisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorCitkaWZmIC1OdXJwIGltc2V0dGluZ3MtMS42Ljcub3JpZy9jb25maWd1cmUuYWMgaW1zZXR0aW5ncy0xLjYuNy9jb25maWd1cmUuYWMKKy0tLSBpbXNldHRpbmdzLTEuNi43Lm9yaWcvY29uZmlndXJlLmFjCTIwMTMtMTEtMjYgMTY6MDk6MDkuMDAwMDAwMDAwICswODAwCisrKysgaW1zZXR0aW5ncy0xLjYuNy9jb25maWd1cmUuYWMJMjAxNC0xMi0zMCAxMToyNzo0NC4zNzAwMDMyMDkgKzA4MDAKK0BAIC05Myw4ICs5Myw4IEBAIFBLR19DSEVDS19NT0RVTEVTKExJQk5PVElGWSwgbGlibm90aWZ5LAorIAkJaGFzX29sZF9saWJub3RpZnk9eWVzCisgCQlQS0dfQ0hFQ0tfTU9EVUxFUyhHVEssIGd0aystMi4wID49ICRHVEtfUkVRVUlSRUQpCisgCQlBQ19ERUZJTkUoSEFTX09MRF9MSUJOT1RJRlksLCBbVXNpbmcgb2xkZXIgbGlibm90aWZ5XSkKKy0JCUlNREFFTU9OX0NGTEFHUz0iJEdUS19DRkxBR1MgJExJQk5PVElGWV9PTERfQ0ZMQUdTIgorLQkJSU1EQUVNT05fTElCUz0iJEdUS19MSUJTICRMSUJOT1RJRllfT0xEX0xJQlMiXSxbCisrCQlJTURBRU1PTl9DRkxBR1M9IiRMSUJOT1RJRllfT0xEX0NGTEFHUyAkR1RLX0NGTEFHUyIKKysJCUlNREFFTU9OX0xJQlM9IiRMSUJOT1RJRllfT0xEX0xJQlMgJEdUS19MSUJTIl0sWworIAkJaGFzX29sZF9saWJub3RpZnk9bm8KKyAJCUlNREFFTU9OX0NGTEFHUz0iJExJQk5PVElGWV9DRkxBR1MiCisgCQlJTURBRU1PTl9MSUJTPSIkTElCTk9USUZZX0xJQlMiXSkKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5ncy9tdWx0aS1saW5lLUFDTE9DQUxfQU1GTEFHUy1pc25vdC1zdXBwb3J0ZWQtYnktYXV0b3JlY29uZi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5ncy9tdWx0aS1saW5lLUFDTE9DQUxfQU1GTEFHUy1pc25vdC1zdXBwb3J0ZWQtYnktYXV0b3JlY29uZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZTMxODQ3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1leHRlbmRlZC9pbXNldHRpbmdzL211bHRpLWxpbmUtQUNMT0NBTF9BTUZMQUdTLWlzbm90LXN1cHBvcnRlZC1ieS1hdXRvcmVjb25mLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK211bHRpLWxpbmUgQUNMT0NBTF9BTUZMQUdTIGlzbid0IHN1cHBvcnRlZCBieSBhdXRvcmVjb25mLgorSXQgd2lsbCBjYXVzZSBjb25maWd1cmUgZXJyb3IgYXMgZm9sbG93LgorCisgIGFjbG9jYWw6IGVycm9yOiBub24tb3B0aW9uIGFyZ3VtZW50cyBhcmUgbm90IGFjY2VwdGVkOiAnXCcuCisKK1NpZ25lZC1vZmYtYnk6IEJpYW4gTmFpbWVuZyA8Ymlhbm5tQGNuLmZ1aml0c3UuY29tPgorCitkaWZmIC1OdXJwIGltc2V0dGluZ3MtMS42Ljgub3JpZy9NYWtlZmlsZS5hbSBpbXNldHRpbmdzLTEuNi44L01ha2VmaWxlLmFtCistLS0gaW1zZXR0aW5ncy0xLjYuOC5vcmlnL01ha2VmaWxlLmFtCTIwMTMtMDItMDggMTE6MzM6NTkuMDAwMDAwMDAwICswOTAwCisrKysgaW1zZXR0aW5ncy0xLjYuOC9NYWtlZmlsZS5hbQkyMDE1LTA2LTI0IDE0OjE1OjMyLjA3MDAwMDAwNyArMDkwMAorQEAgLTEsOSArMSw3IEBACisgTlVMTCA9CisgU1VCRElSUyA9IGRhdGEgaW1zZXR0aW5ncyBpbXNldHRpbmdzLWRhZW1vbiBiYWNrZW5kcyB1dGlscyBwbyB0ZXN0cyBkb2NzCisgCistQUNMT0NBTF9BTUZMQUdTID0JCQlcCistCS1JIG00bWFjcm9zCQkJXAorLQkkKE5VTEwpCisrQUNMT0NBTF9BTUZMQUdTID0gLUkgbTRtYWNyb3MgJChOVUxMKQorIAorIENPTkZJR1VSRV9ERVBFTkRFTkNJRVMgPQkJXAorIAlyZXF1aXJlcwkJCVwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5nc18xLjYuOC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtZXh0ZW5kZWQvaW1zZXR0aW5nc18xLjYuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTk1NDdkCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1leHRlbmRlZC9pbXNldHRpbmdzXzEuNi44LmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiRGVsaXZlcnkgZnJhbWV3b3JrIGZvciBnZW5lcmFsIElucHV0IE1ldGhvZCBjb25maWd1cmF0aW9uIgorREVTQ1JJUFRJT04gPSAiSU1TZXR0aW5ncyBpcyBhIGZyYW1ld29yayB0aGF0IGRlbGl2ZXJzIElucHV0IE1ldGhvZCBcCitzZXR0aW5ncyBhbmQgYXBwbGllcyB0aGUgY2hhbmdlcyBzbyB0aGV5IHRha2UgZWZmZWN0IFwKK2ltbWVkaWF0ZWx5IHdpdGhvdXQgYW55IG5lZWQgdG8gcmVzdGFydCBhcHBsaWNhdGlvbnMgXAorb3IgdGhlIGRlc2t0b3AuIFwKK1RoaXMgcGFja2FnZSBjb250YWlucyB0aGUgY29yZSBEQnVzIHNlcnZpY2VzIGFuZCBzb21lIHV0aWxpdGllcy4iCitIT01FUEFHRSA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvaW1zZXR0aW5ncy8iCitTRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIGd0ay1kb2MKKworU1JDX1VSSSA9ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvdGFnb2gvaW1zZXR0aW5ncy9kb3dubG9hZHMvJHtCUE59LSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vZ3RrLWlzLXJlcXVpcmVkLWJ5LW5vdGlmeS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9tdWx0aS1saW5lLUFDTE9DQUxfQU1GTEFHUy1pc25vdC1zdXBwb3J0ZWQtYnktYXV0b3JlY29uZi5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImMzMTQyOWYxZDYwZTM2ZDdmODExZjg3MWM3NWI2YzQxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI2MjBmZmJmOWE2ZGM4NDJkYmY5OTRiNDc3M2Q0ZmUzNTVlYjc3MDc2Y2NmMzNmNzI2YmE2M2YxNmMwZDA4YmEiCisKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXhpbnB1dHNoPTUwLXhpbnB1dC5zaCBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXN0YXRpYyBcCisgICAgICAgICAgICAgICAiCisKK0RFUEVORFMgPSAiZ3RrKyBnY29uZiBsaWJub3RpZnkgZGJ1cy1nbGliIGxpYmd4aW0geGZjb25mIgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xLyoiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteGZjZS1tdWx0aW1lZGlhLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtbXVsdGltZWRpYS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmE5NmYzCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtbXVsdGltZWRpYS5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkFsbCBwYWNrYWdlcyBtdWx0aW1lZGlhIHBhY2thZ2VzIGF2YWlsYWJsZSBmb3IgWEZDRSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1JERVBFTkRTXyR7UE59ID0gIiBcCisgICAgcGFyb2xlIFwKKyAgICB4Zm1wYyBcCisgICAgeGZjZTQtbXBjLXBsdWdpbiBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEvcGFyb2xlL3Bhcm9sZV8wLjguMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS9wYXJvbGUvcGFyb2xlXzAuOC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyNzM5NmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEvcGFyb2xlL3Bhcm9sZV8wLjguMS5iYgpAQCAtMCwwICsxLDM2IEBACitERVNDUklQVElPTiA9ICJQYXJvbGUgaXMgYSBtb2Rlcm4gc2ltcGxlIG1lZGlhIHBsYXllciBiYXNlZCBvbiB0aGUgR1N0cmVhbWVyIGZyYW1ld29yayIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL2FwcGxpY2F0aW9ucy9wYXJvbGUiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK2luaGVyaXQgeGZjZS1hcHAgZ3RrLWRvYyBtaW1lCisKK0RFUEVORFMgKz0gIiBcCisgICAgZ2xpYi0yLjAgXAorICAgIGRidXMtZ2xpYiBcCisgICAgZ3RrKzMgXAorICAgIFwKKyAgICB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIFwKKyAgICBsaWJ4ZmNlNHV0aWwgXAorICAgIGxpYnhmY2U0dWkgXAorICAgIHhmY29uZiBcCisgICAgXAorICAgIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UgXAorICAgIHRhZ2xpYiBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNjFlMzA1OWYxMjYzYzc2YTM3MTFkYjJjN2MxYTk3YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YjIxNmY1MjAwNDkwZjhkMmE5YmYxYjNmY2Q5YThiMjA4MzRjOTUyNDliZjEzYjkxNzBjODJlMWZjYmQ4MGY0IgorCitSREVQRU5EU18ke1BOfSArPSAiZ3N0cmVhbWVyMS4wLXBsdWdpbnMtZ29vZCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm5vdGlmeSIKK1BBQ0tBR0VDT05GSUdbY2x1dHRlcl0gPSAiLS1lbmFibGUtY2x1dHRlciwgLS1kaXNhYmxlLWNsdXR0ZXIsIGNsdXR0ZXIiCitQQUNLQUdFQ09ORklHW25vdGlmeV0gPSAiLS1lbmFibGUtbm90aWZ5LXBsdWdpbiwgLS1kaXNhYmxlLW5vdGlmeS1wbHVnaW4sIGxpYm5vdGlmeSIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKKyAgICAke2xpYmRpcn0vcGFyb2xlLTAvKi5zbyBcCisiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9wYXJvbGUtMC8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9wYXJvbGUtMC8qLmxhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hmY2U0LW1wYy1wbHVnaW4veGZjZTQtbXBjLXBsdWdpbl8wLjQuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC40LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY0ZjVkMwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC40LjUuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJTaW1wbGUgY2xpZW50IHBsdWdpbiBmb3IgTXVzaWMgUGxheWVyIERhZW1vbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtbXBjLXBsdWdpbiIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNjA0ZDk4N2U2ZGZkZmM2NzJjNzU0ZDA4OTUzYjBlMCIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitERVBFTkRTICs9ICJsaWJtcGQiCisKKyMgZm9yIG5vdyB3ZSByZWNvbW1lbmQgb3VyIG93biBtcGQtc2VydmVyCitSUkVDT01NRU5EU18ke1BOfSA9ICJtcGQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MThlNjQ3NDhlNDY5MDhhNDRjZDBiOTZlYWNiZGEyOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNzFmNTdhMjg5MTVjNTc0NTlkNmNlMGVlZWVlMWQwOTM0ZjUyM2MwZWQwODMxNThjM2QzYjM4MzZmYzA2ZmNmIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hmbXBjL3hmbXBjXzAuMi4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1tdWx0aW1lZGlhL3hmbXBjL3hmbXBjXzAuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxY2FiZDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEveGZtcGMveGZtcGNfMC4yLjIuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJNdXNpYyBQbGF5ZXIgRGFlbW9uIChNUEQpIGNsaWVudCB3cml0dGVuIGluIEdUSysiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9hcHBsaWNhdGlvbnMveGZtcGMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCitERVBFTkRTID0gImd0aysgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgbGlibXBkIHZhbGEtbmF0aXZlIgorCisjIGZvciBub3cgd2UgcmVjb21tZW5kIG91ciBvd24gbXBkLXNlcnZlcgorUlJFQ09NTUVORFNfJHtQTn0gPSAibXBkIgorCitpbmhlcml0IHhmY2UtYXBwCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNGUxOTg4NTBjMjQ2N2M0Nzc4Mzk2OWFjOWMxNmVjMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlZDBjYzI5NDBiZDU5MjhiYjMwZmFiMTUzMWMyMjE4NWE5N2JkMGNjNWJlYWNkOWUzYmU0ZDRjZDk5NGE2ODYyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2JhdHRlcnkveGZjZTQtYmF0dGVyeS1wbHVnaW4vZml4LWJ1aWxkLW9uLWFhcmNoNjQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvYmF0dGVyeS94ZmNlNC1iYXR0ZXJ5LXBsdWdpbi9maXgtYnVpbGQtb24tYWFyY2g2NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDRlZWMwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2JhdHRlcnkveGZjZTQtYmF0dGVyeS1wbHVnaW4vZml4LWJ1aWxkLW9uLWFhcmNoNjQucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBmcm9tIAorCitodHRwOi8vZ2l0LnhmY2Uub3JnL3BhbmVsLXBsdWdpbnMveGZjZTQtYmF0dGVyeS1wbHVnaW4vY29tbWl0Lz9pZD0wZjY5MjY0Nzk3MjhjYTc4NGEyMGI2M2Q3YzE0NmE5MWUzN2Q5OGZiCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCitGcm9tIDBmNjkyNjQ3OTcyOGNhNzg0YTIwYjYzZDdjMTQ2YTkxZTM3ZDk4ZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMYW5kcnkgQnJldWlsIDxsYW5kcnlAeGZjZS5vcmc+CitEYXRlOiBUaHUsIDE5IE1hciAyMDE1IDIwOjQyOjI0ICswMTAwCitTdWJqZWN0OiBGaXggYnVpbGQgb24gYWFyY2g2NCAoYnVnICMxMTcyNCkKKworCitkaWZmIC0tZ2l0IGEvcGFuZWwtcGx1Z2luL2xpYmFjcGkuYyBiL3BhbmVsLXBsdWdpbi9saWJhY3BpLmMKK2luZGV4IDUzMDE5NGQuLmVmYjVjOWMgMTAwNjQ0CistLS0gYS9wYW5lbC1wbHVnaW4vbGliYWNwaS5jCisrKysgYi9wYW5lbC1wbHVnaW4vbGliYWNwaS5jCitAQCAtMjksNiArMjksNyBAQAorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8ZGlyZW50Lmg+CisgI2luY2x1ZGUgPGdsb2IuaD4KKysjaW5jbHVkZSA8dW5pc3RkLmg+CisgCisgI2lmZGVmIF9fRnJlZUJTRF9fCisgI2luY2x1ZGUgPGZjbnRsLmg+CitAQCAtNTIsNyArNTMsNiBAQCBzdGF0aWMgaW50ICAgICAgYWNwaWZkOworICNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+CisgI2luY2x1ZGUgPGVyci5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorLSNpbmNsdWRlIDx1bmlzdGQuaD4KKyAKKyAjZW5kaWYKKyAKKy0tIAorY2dpdCB2MC4xMC4xCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvYmF0dGVyeS94ZmNlNC1iYXR0ZXJ5LXBsdWdpbl8xLjAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyOTNjOWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvYmF0dGVyeS94ZmNlNC1iYXR0ZXJ5LXBsdWdpbl8xLjAuNS5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkEgYmF0dGVyeSBtb25pdG9yIHBhbmVsIHBsdWdpbiBmb3IgWGZjZTQsIGNvbXBhdGlibGUgd2l0aCBBUE0gYW5kIEFDUCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtYmF0dGVyeS1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSSArPSAiZmlsZTovL2ZpeC1idWlsZC1vbi1hYXJjaDY0LnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiY2EyZDM5NGU0MTFhMjA0NDJhNTE5ZWZhMGQxNGY4ZWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjY1OWIxYWY0MGFiNzJjOTM0NDhhZmZhYTY5M2FiNTUxODI3YTU2MDBjZTliOTdhNzk5YjdjMjQxOWJkZWIxMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jYWxjdWxhdG9yL3hmY2U0LWNhbGN1bGF0b3ItcGx1Z2luXzAuNS4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NhbGN1bGF0b3IveGZjZTQtY2FsY3VsYXRvci1wbHVnaW5fMC41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2IxZmE1ZQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jYWxjdWxhdG9yL3hmY2U0LWNhbGN1bGF0b3ItcGx1Z2luXzAuNS4xLmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJBIGNhbGN1bGF0b3IgcGx1Z2luIGZvciB0aGUgWGZjZSBwYW5lbCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtY2FsY3VsYXRvci1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gIjhkN2JmMDdhNjY5YTI4ODRhNDA5YTdiMDNmODliZTVjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdkY2IwNGEzZGE3Yjg1Y2IxZjM1ZjU0NmMzNjZmZTg1MjlmMWMxNWYxYzhjMjkwZWRiOTFkMTZjMDdmNWZkNmQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2xpcG1hbi94ZmNlNC1jbGlwbWFuLXBsdWdpbl8xLjIuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jbGlwbWFuL3hmY2U0LWNsaXBtYW4tcGx1Z2luXzEuMi42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwN2YzY2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2xpcG1hbi94ZmNlNC1jbGlwbWFuLXBsdWdpbl8xLjIuNi5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIkNsaXBtYW4gaXMgYSBjbGlwYm9hcmQgbWFuYWdlciBmb3IgWGZjZSIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtY2xpcG1hbi1wbHVnaW4iCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitERVBFTkRTICs9ICJ4ZmNvbmYgeHByb3RvIGxpYnh0c3QiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmN2YyNDQwNjQ3NDkzMjQzY2JkNzc4N2VhZWU5MmZjYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyMzA0M2Y5OWMzZTUyNTdkMWYzZDY4YjVlZTUxMjVlMzQ2OWMxNTYyMGQwOThlMjJjNjI1MDM4NjE5N2Y0OGE1IgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1t1bmlxdWVdID0gIi0tZW5hYmxlLXVuaXF1ZSwtLWRpc2FibGUtdW5pcXVlLGxpYnVuaXF1ZSIKK1BBQ0tBR0VDT05GSUdbcXJlbmNvZGVdID0gIi0tZW5hYmxlLWxpYnFyZW5jb2RlLC0tZGlzYWJsZS1saWJxcmVuY29kZSxxcmVuY29kZSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYXBwZGF0YSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jbG9zZWJ1dHRvbi94ZmNlNC1jbG9zZWJ1dHRvbi1wbHVnaW5fZ2l0LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2Nsb3NlYnV0dG9uL3hmY2U0LWNsb3NlYnV0dG9uLXBsdWdpbl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQxMTA3ZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jbG9zZWJ1dHRvbi94ZmNlNC1jbG9zZWJ1dHRvbi1wbHVnaW5fZ2l0LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiUGx1Z2luIGRpc3BsYXlpbmcgY2xvc2UgYnV0dG9uIGZvciBhcHBsaWNhdGlvbiBjdXJyZW50bHkgYWN0aXZlIgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjY5NTJkOWE0N2ZjMmFkMGYzMTU1MTBlMTI5MDQ1NWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4geGZjZS1naXQgZ3RrLWljb24tY2FjaGUgcGVybG5hdGl2ZQorCitERVBFTkRTICs9ICJleG8tbmF0aXZlIGxpYnduY2sgeGZjb25mIgorCitQViA9ICIwLjEuMCtnaXRyJHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zY2huaXR6ZWx0b255L3hmY2U0LWNsb3NlYnV0dG9uLXBsdWdpbi5naXQ7YnJhbmNoPW1hc3RlciIKK1NSQ1JFViA9ICJiZDc2MTU0YWZlMjZiYThhNTI1MWExODg3ZDg4ZjlkODU1MzAxODUwIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1tYWludGFpbmVyLW1vZGUiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hmY2U0L2Nsb3NlYnV0dG9uL3RoZW1lcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jcHVmcmVxL3hmY2U0LWNwdWZyZXEtcGx1Z2luXzEuMS4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NwdWZyZXEveGZjZTQtY3B1ZnJlcS1wbHVnaW5fMS4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWMyYTgxMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jcHVmcmVxL3hmY2U0LWNwdWZyZXEtcGx1Z2luXzEuMS4yLmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJQYW5lbCBwbHVnaW4gdG8gZGlzcGxheSBmcmVxdWVuY3kgb2YgYWxsIGNwdXMiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWNwdWZyZXEtcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFmNmYxYzBiZTMyNDkxYTBjOGQyOTE1NjA3YTI4ZjM2IgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZmM0YzgyNzdjYjAwOTQzOWZiNGM3YWVjODY3OTEyNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZDljYTkxYjk5ZTgzMGM2YjA5NjJhMDdlYjI2OWNlODE0ZWQ3NzNjZDYwMDgwODE3NzFmZDA0MDYwZmU2Y2U5IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NwdWdyYXBoL3hmY2U0LWNwdWdyYXBoLXBsdWdpbl8xLjAuNS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jcHVncmFwaC94ZmNlNC1jcHVncmFwaC1wbHVnaW5fMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNlMmJiNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jcHVncmFwaC94ZmNlNC1jcHVncmFwaC1wbHVnaW5fMS4wLjUuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlBhbmVsIHBsdWdpbiB3aXRoIGdyYXBoaWNhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY3B1IGZyZXF1ZW5jeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtY3B1Z3JhcGgtcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQxNTY1NGY1OWQ4ZmE3MGZlNGVhYzJjM2Y4NmM4ZjVlIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMGViZmFiYjI3M2FkZjY5MzYxYjM3YTNmYTRiNzkxMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NWRhMGVjODlhYWNmZDMxZTBiYmFmY2VmZWEzN2NkY2E2MThkNjJlNjgxYzFjOWRhOGJkZDQ5MmYwMjhmNGM3IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2RhdGV0aW1lL3hmY2U0LWRhdGV0aW1lLXBsdWdpbl8wLjYuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9kYXRldGltZS94ZmNlNC1kYXRldGltZS1wbHVnaW5fMC42LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk3YmE2YwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9kYXRldGltZS94ZmNlNC1kYXRldGltZS1wbHVnaW5fMC42LjIuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlBhbmVsIHBsdWdpbiBkaXNwbGF5aW5nIGRhdGUgYW5kIHRpbWUgYW5kIGEgY2FsZW5kYXIgd2hlbiBsZWZ0LWNsaWNrZWQiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWRhdGV0aW1lLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiZmU2MDRhMjUxZWFkYmM1YjBmMmI0NzM3Yjg1ZDkyYzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTczNGRhNjcxZThkMWQ3ZGU1ZmFlOTIwOTNhMDVkNjUzYzkyNDViODM4NTQyZmI5YWZmM2UxMDM2OGNjOWUyYyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9kaXNrcGVyZi94ZmNlNC1kaXNrcGVyZi1wbHVnaW5fMi41LjUuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZGlza3BlcmYveGZjZTQtZGlza3BlcmYtcGx1Z2luXzIuNS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwMTY5OWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZGlza3BlcmYveGZjZTQtZGlza3BlcmYtcGx1Z2luXzIuNS41LmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJQYW5lbCBwbHVnaW4gZGlzcGxheWluZyBpbnN0YW50IGRpc2svcGFydGl0aW9uIHBlcmZvcm1hbmNlIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1kaXNrcGVyZi1wbHVnaW4iCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzZTYyNzc5OGQ2YTYwYmVjZTQ3YWE4YjM1MzJlMWYxIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxOTllNDM2NWNiM2ExZmNkNWY2MTY0MDQ0YWVkYmExNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYmViMGMwMGY5NzM2MmVlZjNmMTM1YWZiNzc5NDdhZWY3M2U5MzhiYWUwMzg2MjUwYTEyMmFjNjY0NGI1MjFiIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2VtYmVkL3hmY2U0LWVtYmVkLXBsdWdpbl8xLjAuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9lbWJlZC94ZmNlNC1lbWJlZC1wbHVnaW5fMS4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJkNmVkZgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9lbWJlZC94ZmNlNC1lbWJlZC1wbHVnaW5fMS4wLjAuYmIKQEAgLTAsMCArMSwxMiBAQAorREVTQ1JJUFRJT04gPSAiQSBwYW5lbCBwbHVnaW4gdGhhdCBlbWJlZHMgYXJiaXRyYXJ5IHdpbmRvd3MgKG9yIEd0a1BsdWcgd2lkZ2V0cykgaW50byB0aGUgcGFuZWwuIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1lbWJlZC1wbHVnaW4iCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCisjIERFUEVORFMgKz0gInhmY29uZiB4cHJvdG8gbGlieHRzdCIKKworU1JDX1VSSVttZDVzdW1dID0gImM1Yjg2Y2JjMWM1NGVlN2MxZDJlOTVhNDUwMmZlZDhlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM1ZDRjNmM1NmRkNjQ2OGMwZTVhZmU2NmY2NTdjMTUyNmYyZDgzMGE1NzcxMDVhNTFkYTQzNjU3NjUxODMyZTMiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZXF1YWtlL3hmY2U0LWVxdWFrZS1wbHVnaW5fMS4zLjguYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZXF1YWtlL3hmY2U0LWVxdWFrZS1wbHVnaW5fMS4zLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZkMjVmOAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9lcXVha2UveGZjZTQtZXF1YWtlLXBsdWdpbl8xLjMuOC5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJFcXVha2UgWEZDRSBpcyBhIHBhbmVsIHBsdWdpbiBmb3IgdGhlIFhGQ0UgcGFuZWwgd2hpY2ggbW9uaXRvcnMgZWFydGhxdWFrZXMgYW5kIGRpc3BsYXlzIGFuIHVwZGF0ZSBlYWNoIHRpbWUgYSBuZXcgZWFydGhxdWFrZSBvY2N1cnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL2ZyZWVjb2RlLmNvbS9wcm9qZWN0cy9lcXVha2UteGZjZSIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjOGY2Y2IyYWVjNjI1MTNjMzQzMjgxZWFjYzRmYzM5NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0MzE1NzVkYTNkNDlmZWEzYWZhNjBmMDJlODNjOGQ3NGUyMGU5YTIyOWM5YzRlYzgyYzIxZDQ1ZTJjOTg2OTI1IgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsLXBsdWdpbnMveGZjZTQtZXF1YWtlLXBsdWdpbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9leWVzL3hmY2U0LWV5ZXMtcGx1Z2luXzQuNC40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2V5ZXMveGZjZTQtZXllcy1wbHVnaW5fNC40LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWUzMjIxOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9leWVzL3hmY2U0LWV5ZXMtcGx1Z2luXzQuNC40LmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUGFuZWwgcGx1Z2luIHdpdGggZ3JhcGhpY2FsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjcHUgZnJlcXVlbmN5IgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1leWVzLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTM2ZjUyYTI1NmZhZDhjZmQyOWZiMjk3NmUwOGViYzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjQwY2U4NWI2OGQzZDE2MWYyNzZlYmJlYTk3MDcyZGQ2ZWUzZGY3NzA2MmZkMDczYmY2ZWViNGQzZDE0MDBjYSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0veGZjZTQvZXllcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9mc2d1YXJkL3hmY2U0LWZzZ3VhcmQtcGx1Z2luXzEuMC4yLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2ZzZ3VhcmQveGZjZTQtZnNndWFyZC1wbHVnaW5fMS4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY5MTk5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9mc2d1YXJkL3hmY2U0LWZzZ3VhcmQtcGx1Z2luXzEuMC4yLmJiCkBAIC0wLDAgKzEsOSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIEZTR3VhcmQgcGFuZWwgcGx1Z2luIGNoZWNrcyBmcmVlIHNwYWNlIG9uIGEgY2hvc2VuIG1vdW50IHBvaW50IGZyZXF1ZW50bHkgYW5kIGRpc3BsYXlzIGEgbWVzc2FnZSB3aGVuIGEgbGltaXQgaXMgcmVhY2hlZCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtZnNndWFyZC1wbHVnaW4/JiNyZWNldF9yZWxlYXNlcyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGI3NzQxZDE4MjdlNDI4YjAwNWU5NGQyNWUyZWMwMGEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTJjOGQ1OTM4NmFlM2QyM2NmNmJkZDA2YTFjZGQ3YTFiOTQ3M2NmNmYzOGFlMTA2NjAwYjE5NGM2MDEwNDBhZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9nZW5tb24vZmlsZXMvMDAwMS1BbGxvdy10aW1lci1wZXJpb2QtdG8tYmUtc2V0LWF0LTI1MG1zLXJlc29sdXRpb24uLVBhLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2dlbm1vbi9maWxlcy8wMDAxLUFsbG93LXRpbWVyLXBlcmlvZC10by1iZS1zZXQtYXQtMjUwbXMtcmVzb2x1dGlvbi4tUGEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhjMGViMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9nZW5tb24vZmlsZXMvMDAwMS1BbGxvdy10aW1lci1wZXJpb2QtdG8tYmUtc2V0LWF0LTI1MG1zLXJlc29sdXRpb24uLVBhLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gMmQ1ZmEzMDc4MjdhN2IzMmFmNGY3YjJhZTA2MDRmOTQzZTNhNmU5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvaG4gTGluZGdyZW4gPGpvaG4ubGluZGdyZW5AYW9sLmNvbT4KK0RhdGU6IFR1ZSwgMjEgQXVnIDIwMTIgMTk6MzM6NDUgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWxsb3cgdGltZXIgcGVyaW9kIHRvIGJlIHNldCBhdCAyNTBtcyByZXNvbHV0aW9uLiAgUGF0Y2gKKyBmcm9tIE1pZ3VlbCBHdWVkZXMuICBDbG9zZXM6ICM5MTAyLgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEFwcGxpZWQgWzFdCisKK1sxXSBodHRwOi8vZ2l0LnhmY2Uub3JnL3BhbmVsLXBsdWdpbnMveGZjZTQtZ2VubW9uLXBsdWdpbi9jb21taXQvP2lkPTJkNWZhMzA3ODI3YTdiMzJhZjRmN2IyYWUwNjA0Zjk0M2UzYTZlOTkKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgcGFuZWwtcGx1Z2luL2NvbmZpZ19ndWkuYyB8ICAgIDQgKystLQorIDEgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcGFuZWwtcGx1Z2luL2NvbmZpZ19ndWkuYyBiL3BhbmVsLXBsdWdpbi9jb25maWdfZ3VpLmMKK2luZGV4IGE0Yzg5MWQuLjkwZTU1YzEgMTAwNjQ0CistLS0gYS9wYW5lbC1wbHVnaW4vY29uZmlnX2d1aS5jCisrKysgYi9wYW5lbC1wbHVnaW4vY29uZmlnX2d1aS5jCitAQCAtMTA2LDggKzEwNiw4IEBAIGludCBnZW5tb25fQ3JlYXRlQ29uZmlnR1VJIChHdGtXaWRnZXQgKnZib3gxLAorICAgICBndGtfd2lkZ2V0X3Nob3cgKGFsaWdubWVudDEpOworICAgICBndGtfY29udGFpbmVyX2FkZCAoR1RLX0NPTlRBSU5FUiAoZXZlbnRib3gxKSwgYWxpZ25tZW50MSk7CisgCistICAgIHdTY19QZXJpb2RfYWRqID0gZ3RrX2FkanVzdG1lbnRfbmV3ICgxNSwgMSwgNjAqNjAqMjQsIDEsIDEsIDApOworLSAgICB3U2NfUGVyaW9kID0gZ3RrX3NwaW5fYnV0dG9uX25ldyAoR1RLX0FESlVTVE1FTlQgKHdTY19QZXJpb2RfYWRqKSwgMSwgMCk7CisrICAgIHdTY19QZXJpb2RfYWRqID0gZ3RrX2FkanVzdG1lbnRfbmV3ICgxNSwgLjI1LCA2MCo2MCoyNCwgLjI1LCAxLCAwKTsKKysgICAgd1NjX1BlcmlvZCA9IGd0a19zcGluX2J1dHRvbl9uZXcgKEdUS19BREpVU1RNRU5UICh3U2NfUGVyaW9kX2FkaiksIC4yNSwgMik7CisgICAgIGd0a193aWRnZXRfc2hvdyAod1NjX1BlcmlvZCk7CisgICAgIGd0a19jb250YWluZXJfYWRkIChHVEtfQ09OVEFJTkVSIChhbGlnbm1lbnQxKSwgd1NjX1BlcmlvZCk7CisgICAgIGd0a190b29sdGlwc19zZXRfdGlwICh0b29sdGlwcywgd1NjX1BlcmlvZCwKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZ2VubW9uL3hmY2U0LWdlbm1vbi1wbHVnaW5fMy40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvZ2VubW9uL3hmY2U0LWdlbm1vbi1wbHVnaW5fMy40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTEzZGI2MgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9nZW5tb24veGZjZTQtZ2VubW9uLXBsdWdpbl8zLjQuMC5iYgpAQCAtMCwwICsxLDEzIEBACitERVNDUklQVElPTiA9ICJUaGlzIHBsdWdpbiBjeWNsaWNhbGx5IHNwYXducyB0aGUgaW5kaWNhdGVkIHNjcmlwdC9wcm9ncmFtLCBjYXB0dXJlcyBpdHMgb3V0cHV0IChzdGRvdXQpIGFuZCBkaXNwbGF5cyB0aGUgcmVzdWx0aW5nIHN0cmluZyBpbnRvIHRoZSBwYW5lbC4iCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWdlbm1vbi1wbHVnaW4iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NjhhZDYyYzY0Y2M2YzYyMDEyNjI0MWZkNDI5ZTY4ZmUiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtQWxsb3ctdGltZXItcGVyaW9kLXRvLWJlLXNldC1hdC0yNTBtcy1yZXNvbHV0aW9uLi1QYS5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjI0MTA4YjMzOWJiMDQwZWQzNjAyNjZmNTNhMjQ1MjI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIwYTUzMzdiNDljODU2MjNkYzg5ZjNjOWU0N2M3Mzc0YjFkNDY2YWYyNDE4MDMzZDJkNmRmYzU3YTk3OTAzODciCisKK1MgPSAiJHtXT1JLRElSfS94ZmNlNC1nZW5tb24tcGx1Z2luLTMuNCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ob3Rjb3JuZXIveGZjZTQtaG90Y29ybmVyLXBsdWdpbl8wLjAuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ob3Rjb3JuZXIveGZjZTQtaG90Y29ybmVyLXBsdWdpbl8wLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODZjOTJlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2hvdGNvcm5lci94ZmNlNC1ob3Rjb3JuZXItcGx1Z2luXzAuMC4yLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAiUGx1Z2luIHByb3ZpZGluZyBob3Rjb3JuZXJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRS5tZDtiZWdpbmxpbmU9NDg7ZW5kbGluZT01MzttZDU9MmM2OTRiOGUwZjczMjc0YjEzNDY1YjUwOWU0ZjU0MjciCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4gY21ha2UKKworREVQRU5EUyArPSAibGlid25jazMiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2JyaWFuaHN1LyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS8ke0JQTn0tJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImFjMzFiNDVjZGExODY3Y2I2YmQ2OWJiMjg1NjM4MjYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk0MjY4NGM5MmY5NmExNThlMTQxN2U1OTc5NDdmODIyNzY5YWM1NmFhMTk5M2E4YzlmMTY2ZWU2MzNlZjJiOGQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMva2JkbGVkcy94ZmNlNC1rYmRsZWRzLXBsdWdpbl8wLjAuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9rYmRsZWRzL3hmY2U0LWtiZGxlZHMtcGx1Z2luXzAuMC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhZjU1MDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMva2JkbGVkcy94ZmNlNC1rYmRsZWRzLXBsdWdpbl8wLjAuNi5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIlhGQ0UgcGFuZWwgcGx1Z2luIGRpc3BsYXlpbmcgc3RhdHVzIG9mIGtleWJvYXJkIExFRHMiCitERVNDUklQVElPTiA9ICJUaGlzIHBsdWdpbiBzaG93cyB0aGUgc3RhdGUgb2YgeW91ciBrZXlib2FyZCBMRURzOiBDYXBzLCBTY3JvbGwgYW5kIE51bSBMb2NrIGluIFhmY2UgcGFuZWwiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWtiZGxlZHMtcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiIFwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MjUyODkwZDllZWUyNmFhYjdiNDMyZThiOGE2MTY0NzUgXAorIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYjZhZDhlMzUwMmYzMzczZjA4N2JhMjAzNDE0MTU1MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZDI4MGFkNzIwN2JjYjljYzg3YzI3OWRjM2FiOTA4NGZkOTMzMjVlODdmNjc4NThlODkxNzcyOWI1MDIwMWNkIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsLXBsdWdpbnMveGZjZTQta2JkbGVkcy1wbHVnaW4iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvbWFpbHdhdGNoL3hmY2U0LW1haWx3YXRjaC1wbHVnaW5fMS4yLjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvbWFpbHdhdGNoL3hmY2U0LW1haWx3YXRjaC1wbHVnaW5fMS4yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA4NTlhMQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9tYWlsd2F0Y2gveGZjZTQtbWFpbHdhdGNoLXBsdWdpbl8xLjIuMC5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIk11bHRpLXByb3RvY29sLCBtdWx0aS1tYWlsYm94IG1haWwgd2F0Y2hlciBmb3IgdGhlIFhmY2U0IHBhbmVsIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1tYWlsd2F0Y2gtcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK0RFUEVORFMgKz0gImdudXRscyBsaWJnY3J5cHQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MjYzMTE0ZWMwZjI5ODdhM2FmZjE1YWZlZWI0NTU3NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MjRhY2M4MjI5YTg1OTNjMGRmZWIyOGY4ODNmNDk1ODExOWE3MTVjYzgxY2VjZGJhZjI5ZWZjOGFiMWVkY2FkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL21vdW50L3hmY2U0LW1vdW50LXBsdWdpbl8wLjYuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9tb3VudC94ZmNlNC1tb3VudC1wbHVnaW5fMC42LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRjMmMxNwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9tb3VudC94ZmNlNC1tb3VudC1wbHVnaW5fMC42LjQuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJNb3VudC91bW91bnQgdXRpbGl0eSBmb3IgdGhlIHhmY2UgcGFuZWwiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LW1vdW50LXBsdWdpbiIKK1NFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmNTkxN2U5YWEyYTA2YmM2YTg3MmNjMTBkMmVlNGY2ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NDFkN2FmODRkN2QwYjAwYWU1NDdhYTFmNDM4ZTJmYWM1MWVlNDE5NWM0ZDBhMTcxNzNjNGY3MmFjY2IyMjdkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL25ldGxvYWQveGZjZTQtbmV0bG9hZC1wbHVnaW5fMS4yLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvbmV0bG9hZC94ZmNlNC1uZXRsb2FkLXBsdWdpbl8xLjIuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWY3YTJhCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL25ldGxvYWQveGZjZTQtbmV0bG9hZC1wbHVnaW5fMS4yLjQuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlBhbmVsIHBsdWdpbiBkaXNwbGF5aW5nIGN1cnJlbnQgbG9hZCBvZiB0aGUgbmV0d29yayBpbnRlcmZhY2VzIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1uZXRsb2FkLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNWE3MjAzYzQxYjg2ZDE1NTQ2ZGRkYzA1OTk1Zjk3ZiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiY2U1M2UxMTM1ZTRiZmY1YWZjZDg5OTYyNzExMGJkMTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmZhY2U5MTg4MjJjMDEyZDgwNjcxNzExNjU2NmU1NDk0N2FkNzYxM2I5MjkwYjQ1YTE4ZTJkNWZmYjg3MzBkMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ub3Rlcy9maWxlcy8wMDAxLW1haW4tc3RhdHVzLWljb24uYy1yZW1vdmUtZGVwcmVjYXRlZC1nX3R5cGVfaW5pdC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ub3Rlcy9maWxlcy8wMDAxLW1haW4tc3RhdHVzLWljb24uYy1yZW1vdmUtZGVwcmVjYXRlZC1nX3R5cGVfaW5pdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWVkZTI3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL25vdGVzL2ZpbGVzLzAwMDEtbWFpbi1zdGF0dXMtaWNvbi5jLXJlbW92ZS1kZXByZWNhdGVkLWdfdHlwZV9pbml0LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gMDIxOGU1ZWJmMzhmOTRkNThiOTA4ZmNhNDUxYmEzNzg5ZWZhODg5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjAgU2VwIDIwMTMgMjM6MDk6MjUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWFpbi1zdGF0dXMtaWNvbi5jIHJlbW92ZSBkZXByZWNhdGVkIGdfdHlwZV9pbml0CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK3RoaXMgZmlsZSB3YXMgYXV0byBjcmVhdGVkIGJ5IHZhbGFjIGFuZCB4ZmNlLXZhbGEgd2hlbiBjcmVhdGluZyB0YXJiYWxsLiBTbworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW290aGVyXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBzcmMvbWFpbi1zdGF0dXMtaWNvbi5jIHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9tYWluLXN0YXR1cy1pY29uLmMgYi9zcmMvbWFpbi1zdGF0dXMtaWNvbi5jCitpbmRleCBjNmQ3M2Y4Li5mN2RiNzczIDEwMDY0NAorLS0tIGEvc3JjL21haW4tc3RhdHVzLWljb24uYworKysrIGIvc3JjL21haW4tc3RhdHVzLWljb24uYworQEAgLTI5MCw3ICsyOTAsNiBAQCBnaW50IF92YWxhX21haW4gKGNoYXIqKiBhcmdzLCBpbnQgYXJnc19sZW5ndGgxKSB7CisgCisgCisgaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqIGFyZ3YpIHsKKy0JZ190eXBlX2luaXQgKCk7CisgCXJldHVybiBfdmFsYV9tYWluIChhcmd2LCBhcmdjKTsKKyB9CisgCistLSAKKzEuOC4zLjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL25vdGVzL3hmY2U0LW5vdGVzLXBsdWdpbl8xLjguMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ub3Rlcy94ZmNlNC1ub3Rlcy1wbHVnaW5fMS44LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzEzNTM0YgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9ub3Rlcy94ZmNlNC1ub3Rlcy1wbHVnaW5fMS44LjEuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJOb3RlcyBwbHVnaW4gZm9yIHRoZSBYZmNlIFBhbmVsIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1ub3Rlcy1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAiZ3RrKyBsaWJ4ZmNlNHVpIHhmY2U0LXBhbmVsIHhmY29uZiBsaWJ1bmlxdWUiCisKK1NSQ19VUkkgKz0gIiBcCisgICAgZmlsZTovLzAwMDEtbWFpbi1zdGF0dXMtaWNvbi5jLXJlbW92ZS1kZXByZWNhdGVkLWdfdHlwZV9pbml0LnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMWNiOTUyMGIwMTUxMmE5NDM0NDc3MGI0YmVmZGIzYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwN2E0YzNlNzE0MzFjMjRmOTdkMmUyNzA0NTJkZDBmYTUxZmYwYmRiNjIxOWExM2EyMGQwYmZhOGQ5ZGU1NGIyIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsLXBsdWdpbnMvKi5zby4qIgorCisjICouc28gYXJlIHJlcXVpcmVkIGZvciBwbHVnaW4gZGV0ZWN0aW9uCitJTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvcGxhY2VzL3hmY2U0LXBsYWNlcy1wbHVnaW5fMS43LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvcGxhY2VzL3hmY2U0LXBsYWNlcy1wbHVnaW5fMS43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZiZTA5ZAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9wbGFjZXMveGZjZTQtcGxhY2VzLXBsdWdpbl8xLjcuMC5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJQYW5lbCBwbHVnaW4gZGlzcGxheWluZyBtZW51IHdpdGggcXVpY2sgYWNjZXNzIHRvIGZvbGRlcnMsIGRvY3VtZW50cywgYW5kIHJlbW92YWJsZSBtZWRpYSIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtcGxhY2VzLXBsdWdpbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iNjk1MmQ5YTQ3ZmMyYWQwZjMxNTUxMGUxMjkwNDU1ZiIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiZmNhZTliMzhhOGFmZmNkODI2OTlhOTQ5OTFiYmEyOWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDE3NWM2MTQ3NDlhYmJiNWJjZjZmNDljODgxMjVmYjBkZDM2ZGI2OWY0YzM3NGRmMjM1NjM5MDdiMTZlMmMzZiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1ub3RpZmljYXRpb25zLC0tZGlzYWJsZS1ub3RpZmljYXRpb25zLGxpYm5vdGlmeSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9wdWxzZWF1ZGlvL3hmY2U0LXB1bHNlYXVkaW8tcGx1Z2luXzAuMi40LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3B1bHNlYXVkaW8veGZjZTQtcHVsc2VhdWRpby1wbHVnaW5fMC4yLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjUwMjZhYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9wdWxzZWF1ZGlvL3hmY2U0LXB1bHNlYXVkaW8tcGx1Z2luXzAuMi40LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiUHVsc2VhdWRpbyBtaXhlciBmb3IgdGhlIHhmY2UgcGFuZWwiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjVlYWM2YmIwZDZlYzBkYzY1NWU0MTc3ODFkNDAxNWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4gZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwdWxzZWF1ZGlvIgorCitERVBFTkRTICs9ICJwdWxzZWF1ZGlvIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTBmZmRlNDE5ZmEwMzBmMWY5YmQwYjU2ZTMyNjRhMWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGQ5MzMwZGRmMWQ0NGE4NjRhMzZkNTY2Y2NlNGI3NmQ0Zjg1OWM1OTg0YmJhNzY1M2Q3ZGMzOWFhMjRkNWMzZSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbGlibm90aWZ5XSA9ICItLWVuYWJsZS1saWJub3RpZnksLS1kaXNhYmxlLWxpYm5vdGlmeSxsaWJub3RpZnkiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gInBhdnVjb250cm9sIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3NlbnNvcnMveGZjZTQtc2Vuc29ycy1wbHVnaW5fMS4yLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc2Vuc29ycy94ZmNlNC1zZW5zb3JzLXBsdWdpbl8xLjIuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmUwZWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3NlbnNvcnMveGZjZTQtc2Vuc29ycy1wbHVnaW5fMS4yLjYuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJTZW5zb3JzIHBsdWdpbiBmb3IgdGhlIFhmY2UgUGFuZWwiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LXNlbnNvcnMtcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI5NDc4OWJlZDlhZWMwM2I5NjU2YTljYzUzOThjNzA2IgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzM2MyZTM0M2MxMjI0ZDljNGFlNzU3YTcwY2JlMDhlYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyMzVlZjg0MmJkNDVlNzAxYmNlZWJiMjFhMzg0YWIwOWYyMWFmY2VlYThlZDk1ZjkxYmI0YzZjZjNhYmUxYmMwIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtcHJvY2FjcGkgXAorICAgIC0tZGlzYWJsZS1zeXNmc2FjcGkgXAorICAgIC0tZGlzYWJsZS14bnZjdHJsIFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgc2VkIC1pICdzOkxJQlNFTlNPUlNfQ0ZMQUdTPS4qOkxJQlNFTlNPUlNfQ0ZMQUdTPS1JJHtTVEFHSU5HX0lOQ0RJUn06ZycgJHtTfS9jb25maWd1cmUuYWMKK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gImxpYnNlbnNvcnMiCitQQUNLQUdFQ09ORklHW2xpYnNlbnNvcnNdID0gIi0tZW5hYmxlLWxpYnNlbnNvcnMsLS1kaXNhYmxlLWxpYnNlbnNvcnMsIGxtc2Vuc29ycyIKK1BBQ0tBR0VDT05GSUdbaGRkdGVtcF0gICAgPSAiLS1lbmFibGUtaGRkdGVtcCwtLWRpc2FibGUtaGRkdGVtcCwgaGRkdGVtcCIKK1BBQ0tBR0VDT05GSUdbbmV0Y2F0XSAgICAgPSAiLS1lbmFibGUtbmV0Y2F0LC0tZGlzYWJsZS1uZXRjYXQsIG5ldGNhdCIKK1BBQ0tBR0VDT05GSUdbbGlibm90aWZ5XSAgPSAiLS1lbmFibGUtbm90aWZpY2F0aW9uLC0tZGlzYWJsZS1ub3RpZmljYXRpb24sIGxpYm5vdGlmeSIKKworRklMRVNfU09MSUJTREVWID0gIiR7bGliZGlyfS94ZmNlNC9tb2R1bGVzL2xpYioke1NPTElCU0RFVn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc21hcnRib29rbWFyay94ZmNlNC1zbWFydGJvb2ttYXJrLXBsdWdpbl8wLjQuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9zbWFydGJvb2ttYXJrL3hmY2U0LXNtYXJ0Ym9va21hcmstcGx1Z2luXzAuNC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmNDdmMDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc21hcnRib29rbWFyay94ZmNlNC1zbWFydGJvb2ttYXJrLXBsdWdpbl8wLjQuNi5iYgpAQCAtMCwwICsxLDkgQEAKK1NVTU1BUlkgPSAiUGFuZWwgcGx1Z2luIGFsbG93aW5nIHRvIHNlbmQgcmVxdWVzdHMgZGlyZWN0bHkgdG8gYnJvd3NlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtc21hcnRib29rbWFyay1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gIjAxYjc3MzVkNGQ5YWIwMTUwZDRkZGQzYmVjYjk0ZDVmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNiZWQyYjMyMmNkMzljZTU4NDVkNmRhMDc5MzhjNzAyMjYwZjNmMWE5NzAwYjY5MGVmMzc3ZmJhNzUyYmEyNGYiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc3lzdGVtbG9hZC94ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbl8xLjEuMi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9zeXN0ZW1sb2FkL3hmY2U0LXN5c3RlbWxvYWQtcGx1Z2luXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyMTJmODgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc3lzdGVtbG9hZC94ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbl8xLjEuMi5iYgpAQCAtMCwwICsxLDExIEBACitERVNDUklQVElPTiA9ICJQYW5lbCBwbHVnaW4gZGlzcGxheWluZyBjdXJyZW50IENQVSBsb2FkLCB0aGUgbWVtb3J5IGluIHVzZSwgdGhlIHN3YXAgc3BhY2UgYW5kIHRoZSBzeXN0ZW0gdXB0aW1lIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbiIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWFjYjE3MmE5M2ZmNmM0M2NjZTJhZmY3OTBhOGFlZjgiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAidXBvd2VyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjhjOWQyMGIzNTJjMTNmM2ViNmIzOWEwZDlmZTJiYTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjQ2OWI2YjNhMDhlYzI5YjkwNjExNTE5NTBkODc2ZDM2YmYyNWEzMTA2ZWM3NzI1NjkyM2ZkZDZiNWQxOGE3YyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy90aW1lLW91dC94ZmNlNC10aW1lLW91dC1wbHVnaW5fMS4wLjIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvdGltZS1vdXQveGZjZTQtdGltZS1vdXQtcGx1Z2luXzEuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhY2JiMGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvdGltZS1vdXQveGZjZTQtdGltZS1vdXQtcGx1Z2luXzEuMC4yLmJiCkBAIC0wLDAgKzEsMTAgQEAKK1NVTU1BUlkgPSAiVGhpcyBwbHVnaW4gbWFrZXMgaXQgcG9zc2libGUgdG8gdGFrZSBwZXJpb2RpY2FsIGJyZWFrcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtdGltZS1vdXQtcGx1Z2luIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gImQ3ZDc0Mzc5NGE3NjZiYTFiMDA2NDc4MjhhMDk5MDUzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM2OWZiNzIxOGM2ODVlNTE2NDU0ODEwMjkxYzUyNDVjNDlhODBkNzc0YTZiZGVkNTljNjQ1YTFhZjQyN2M0ZTUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvdGltZXIveGZjZTQtdGltZXItcGx1Z2luXzEuNi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3RpbWVyL3hmY2U0LXRpbWVyLXBsdWdpbl8xLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjEyMzVmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3RpbWVyL3hmY2U0LXRpbWVyLXBsdWdpbl8xLjYuMC5iYgpAQCAtMCwwICsxLDEwIEBACitTVU1NQVJZID0gIlhGQ0UgcGFuZWwgcGx1Z2luIHRvIGdlbmVyYXRlIGFsYXJtIG1lc3NhZ2VzIgorREVTQ1JJUFRJT04gPSAiVGhpcyBpcyBhIHNpbXBsZSBwbHVnaW4gdGhhdCBsZXRzIHRoZSB1c2VyIHJ1biBhbiBhbGFybSBhdCBhIHNwZWNpZmllZCB0aW1lIG9yIGF0IHRoZSBlbmQgb2YgYSBzcGVjaWZpZWQgY291bnRkb3duIHBlcmlvZCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtdGltZXItcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWFlMzkyNzEyNjdmZDYzZWI3NjE5NDMyZmYyNGU3ZmYxIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzYmUyYTRjY2ZiMmFmMjA0NDFiMWQyNWMyY2VhNWYyOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzOWQ3ZDIxZjA5OWJjNDIxOWY2YTYxNTYxNDJmMGJiYjgzNzQ5ODZlZTE5NzBhOWMwYzhkYzEzOGI4N2Y4NjdjIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3ZlcnZlL3hmY2U0LXZlcnZlLXBsdWdpbl8xLjEuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy92ZXJ2ZS94ZmNlNC12ZXJ2ZS1wbHVnaW5fMS4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU1MDNhNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy92ZXJ2ZS94ZmNlNC12ZXJ2ZS1wbHVnaW5fMS4xLjAuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIlZlcnZlIHBhbmVsIHBsdWdpbiBpcyBhIGNvbWZvcnRhYmxlIGNvbW1hbmQgbGluZSBwbHVnaW4gZm9yIHRoZSBYZmNlIHBhbmVsIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC12ZXJ2ZS1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gImRkZDAxOTBhZTU2ZjYxMTdkYmNmOWZmMmJmNWE4Y2JmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEzMTk2ZjgxOGM3YWQ1N2QxOWNkNjU4MWUxNjhmZDJiOWY5NmRlMDcwMjQ2YWVhNzBjMzVjZTJlNWY5ZDljODQiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2F2ZWxhbi94ZmNlNC13YXZlbGFuLXBsdWdpbl8wLjUuMTIuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2F2ZWxhbi94ZmNlNC13YXZlbGFuLXBsdWdpbl8wLjUuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNjZDU1NwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93YXZlbGFuL3hmY2U0LXdhdmVsYW4tcGx1Z2luXzAuNS4xMi5iYgpAQCAtMCwwICsxLDkgQEAKK1NVTU1BUlkgPSAiUGFuZWwgcGx1Z2luIGRpc3BsYXlpbmcgc3RhdHMgZnJvbSBhIHdpcmVsZXNzIGxhbiBpbnRlcmZhY2UiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LXdhdmVsYW4tcGx1Z2luIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lMWU1ODcyZGY5YzVjZjFhMjNmMTY0OTNkOTEwNDkyMCIKKworaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2JhNWVlMDYyNjYxMjk0MmQyNDlkNGE4MGExYTY3YjciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjdkY2U0NTczOWYwNjNiOTVlMmJjMjIzMmM2MjUyNzc2ODU4ODdiMWY4NDA4ODMxNmQ5MTk2NzFiNTUwMGFjNCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93ZWF0aGVyL3hmY2U0LXdlYXRoZXItcGx1Z2luXzAuOC43LmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3dlYXRoZXIveGZjZTQtd2VhdGhlci1wbHVnaW5fMC44LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUxOWY0YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93ZWF0aGVyL3hmY2U0LXdlYXRoZXItcGx1Z2luXzAuOC43LmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiUGFuZWwgcGx1Z2luIHRvIGRpc3BsYXkgY3VycmVudCB0ZW1wZXJhdHVyZSBhbmQgd2VhdGhlciBjb25kaXRpb24iCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LXdlYXRoZXItcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK0RFUEVORFMgKz0gImxpYnNvdXAtMi40IGRidXMtZ2xpYiB1cG93ZXIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlY2FiMGVhYWQ4NzBlNDYwZGE0NTk3ZTc2ZjQzZTZlNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNzFlNzExMDY4NjhjN2Q5MGM5MzYyNTZkODM3Y2E4MzRkMGNhNmY1NGRhZWE1OWE5YjVmYzExYjMxOGU2NWIwIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC93ZWF0aGVyIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8xLjUuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93aGlza2VybWVudS94ZmNlNC13aGlza2VybWVudS1wbHVnaW5fMS41LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBiZjExNAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93aGlza2VybWVudS94ZmNlNC13aGlza2VybWVudS1wbHVnaW5fMS41LjMuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIkFuIGFsdGVybmF0ZSBtZW51IGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL2dvdHRjb2RlLm9yZy94ZmNlNC13aGlza2VybWVudS1wbHVnaW4vIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luIGNtYWtlCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZjUxMjM0MTE3ZGFiZGYwMmYyZjQxNTY0M2Q4NThkNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2OGE4MjczMzk1NjcxZDUxNjNmZDhjZDlhNzM3NTVlZjAzZDRlYTc0ODkxMjA0NDk4YTIxNTgyYTljMmU5MjViIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3hrYi94ZmNlNC14a2ItcGx1Z2luXzAuNy4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3hrYi94ZmNlNC14a2ItcGx1Z2luXzAuNy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmYTE2MzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMveGtiL3hmY2U0LXhrYi1wbHVnaW5fMC43LjEuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJYS0IgbGF5b3V0IHN3aXRjaGluZyBwYW5lbCBwbHVnLWluIGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC14a2ItcGx1Z2luIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDk2ZjA5ZjA4NGIwZjdlNmYwMmY3NjlhODQ0OTBjNmIiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gIjJmNjhlMGQ1M2JhZjY4ZWNjMWE3MTY1YWQzM2MyNmE5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYxZmUyZTMzZmU5OTkzOWQ1ZDA2YTY4MmU5NGU0MGUwNWVmODQ0YzkzMGFkNjEyMTU0MDkwZDE1OGIyY2U2ODEiCisKK0RFUEVORFMgKz0gImxpYnhrbGF2aWVyIGxpYnduY2sgbGlicnN2ZyBnYXJjb24iCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hmY2U0L3hrYiIKKworUkRFUEVORFNfJHtQTn0gPSAieGZjZTQtc2V0dGluZ3MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbV8lLmJiYXBwZW5kIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTQwM2U2Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fJS5iYmFwcGVuZApAQCAtMCwwICsxLDYgQEAKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCSMgVGhlIG1vdXNlIGJlaW5nIGF1dG9lbmFibGVkIGlzIGp1c3QgYW5ub3lpbmcgaW4geGZjZTQtdGVybWluYWwgKG1vdXNlCisJIyBkcmFnIG1ha2UgdmltIGdvIGludG8gdmlzdWFsIG1vZGUgYW5kIHRoZXJlIGlzIG5vIHJpZ2h0IGNsaWNrIG1lbnUpLAorCSMgZGVsZXRlIHRoZSBibG9jay4KKwlzZWQgLWkgJy90aGUgbW91c2Ugd29ya3MganVzdCBmaW5lLywrNGQnICR7RH0vJHtkYXRhZGlyfS8ke0JQTn0vdmltcmMKK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtdGh1bmFyLXBsdWdpbnMvYXJjaGl2ZS90aHVuYXItYXJjaGl2ZS1wbHVnaW5fMC4zLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXRodW5hci1wbHVnaW5zL2FyY2hpdmUvdGh1bmFyLWFyY2hpdmUtcGx1Z2luXzAuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwYWI2YWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXRodW5hci1wbHVnaW5zL2FyY2hpdmUvdGh1bmFyLWFyY2hpdmUtcGx1Z2luXzAuMy4xLmJiCkBAIC0wLDAgKzEsMTIgQEAKK0RFU0NSSVBUSU9OID0gIlRodW5hciBBcmNoaXZlIFBsdWdpbiBhbGxvd3MgeW91IHRvIGNyZWF0ZSBhbmQgZXh0cmFjdCBhcmNoaXZlIGZpbGVzIHVzaW5nIGZpbGUgY29udGV4dCBtZW51cyBpbiBUaHVuYXIiCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy90aHVuYXItcGx1Z2lucy90aHVuYXItYXJjaGl2ZS1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjUyODkwZDllZWUyNmFhYjdiNDMyZThiOGE2MTY0NzUiCisKK2luaGVyaXQgdGh1bmFyLXBsdWdpbgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDI1ZjRmYWFhY2U2ZGM3YTQ3MTZhMzViNzc5NTQ2M2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWFkNTU5YjBjMTEzMDhmNjg5N2FkNTY2MDRlNWEwNmRjOGYzNjlmNjQ5ZWIyMDEyMGIyZDMwMThlZjVkYTU0YyIKKworIyBpbnN0YWxsIHRhcCBmaWxlcyBpbiAke2xpYmRpcn0vdGh1bmFyLWFyY2hpdmUtcGx1Z2luCitFWFRSQV9PRUNPTkYgKz0gIi0tbGliZXhlY2Rpcj0ke2xpYmRpcn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXRodW5hci1wbHVnaW5zL21lZGlhLXRhZ3MvdGh1bmFyLW1lZGlhLXRhZ3MtcGx1Z2luXzAuMi4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy10aHVuYXItcGx1Z2lucy9tZWRpYS10YWdzL3RodW5hci1tZWRpYS10YWdzLXBsdWdpbl8wLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGYxNTBiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy10aHVuYXItcGx1Z2lucy9tZWRpYS10YWdzL3RodW5hci1tZWRpYS10YWdzLXBsdWdpbl8wLjIuMS5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkFkZHMgSUQzL09HRyB0YWcgc3VwcG9ydCB0byB0aGUgVGh1bmFyIGJ1bGsgcmVuYW1lIGRpYWxvZyIKK0hPTUVQQUdFID0gImh0dHA6Ly90aHVuYXIueGZjZS5vcmciCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgdGh1bmFyLXBsdWdpbgorCitERVBFTkRTICs9ICJ0YWdsaWIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMTA2ZTkwMDcxNGY4NmNjYmFmZGM3MjIzOGQzY2Y4ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNTZkMDEyYTEwNDAzZWUzZTJlNTViNmZmMmZhZWNiNzk2ODIxZGU5ZWJlZTAwMDMxNTU4OWI5NWQ5NWVkMjUzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG8vY29uZmlndXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG8vY29uZmlndXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmMjdlNDIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4by9jb25maWd1cmUucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorLS0tIGEvY29uZmlndXJlLmFjCTIwMDctMTItMDIgMTA6Mzc6MDYuMDAwMDAwMDAwIC0wMjAwCisrKysgYi9jb25maWd1cmUuYWMJMjAwOC0wNi0wNSAxNzoyMTo0Mi4wMDAwMDAwMDAgLTAzMDAKK0BAIC0xMjcsMjIgKzEyNywyNCBAQAorIGRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyBkbmwgKioqIENoZWNrIGZvciBzdHJmdGltZSgpIGV4dGVuc2lvbnMgKioqCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLUFDX1RSWV9SVU4oWworLSAgI2luY2x1ZGUgPHN0cmluZy5oPgorLSAgI2luY2x1ZGUgPHRpbWUuaD4KKy0gIGludAorLSAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorLSAgeworLSAgICBzdHJ1Y3QgdG0gdG07CistICAgIGNoYXIgICAgICBidWZmZXJbMTZdOworLSAgICB0bS50bV95ZWFyID0gODE7CistICAgIGlmIChzdHJmdGltZSAoYnVmZmVyLCAxNiwgIiVFWSIsICZ0bSkgPT0gNCAmJiBzdHJjbXAgKGJ1ZmZlciwgIjE5ODEiKSA9PSAwKQorLSAgICAgIHJldHVybiAwOworLSAgICByZXR1cm4gMTsKKy0gIH0KKy1dLCBbCistICBBQ19ERUZJTkUoW0hBVkVfU1RSRlRJTUVfRVhURU5TSU9OXSwgMSwgW0RlZmluZSBpZiBzdHJmdGltZSBzdXBwb3J0cyAlRSBhbmQgJU8gbW9kaWZpZXJzLl0pCistXSkKKytkbmwgZ3JycnIuLi4gIHRoaXMgZG9lc24ndCB3b3JrIGZvciBjcm9zcyBjb21waWxpbmcsIGRlZmluZSBpdCBmb3IgT0UKKytBQ19ERUZJTkUoW0hBVkVfU1RSRlRJTUVfRVhURU5TSU9OXSwgMSwgW0RlZmluZSBpZiBzdHJmdGltZSBzdXBwb3J0cyAlRSBhbmQgJU8gbW9kaWZpZXJzLl0pCisrZG5sIEFDX1RSWV9SVU4oWworK2RubCAgICNpbmNsdWRlIDxzdHJpbmcuaD4KKytkbmwgICAjaW5jbHVkZSA8dGltZS5oPgorK2RubCAgIGludAorK2RubCAgIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKKytkbmwgICB7CisrZG5sICAgICBzdHJ1Y3QgdG0gdG07CisrZG5sICAgICBjaGFyICAgICAgYnVmZmVyWzE2XTsKKytkbmwgICAgIHRtLnRtX3llYXIgPSA4MTsKKytkbmwgICAgIGlmIChzdHJmdGltZSAoYnVmZmVyLCAxNiwgIiVFWSIsICZ0bSkgPT0gNCAmJiBzdHJjbXAgKGJ1ZmZlciwgIjE5ODEiKSA9PSAwKQorK2RubCAgICAgICByZXR1cm4gMDsKKytkbmwgICAgIHJldHVybiAxOworK2RubCAgIH0KKytkbmwgXSwgWworK2RubCAgIEFDX0RFRklORShbSEFWRV9TVFJGVElNRV9FWFRFTlNJT05dLCAxLCBbRGVmaW5lIGlmIHN0cmZ0aW1lIHN1cHBvcnRzICVFIGFuZCAlTyBtb2RpZmllcnMuXSkKKytkbmwgXSkKKyAKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgZG5sICoqKiBDaGVjayBmb3IgaTE4biBzdXBwb3J0ICoqKgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG8vZXhvLW5vLXRlc3RzLTAuOC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvL2V4by1uby10ZXN0cy0wLjgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM4YmNhNQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvL2V4by1uby10ZXN0cy0wLjgucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA1ZjFlMTk4NjBkODk2NDc0ODhiZGQzMmEwMmZiMzMyZjY5NDM0NDA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogRnJpLCAxOCBNYXkgMjAxMiAyMToxMzowMCArMDIwMAorU3ViamVjdDogW1BBVENIXSBEbyBub3QgcnVuIHRlc3RzIGF0IGJ1aWxkIHRpbWUKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKK1Vwc3RyZWFtLVN0YXR1czogTm90LUFwcGxpY2FibGUKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgTWFrZWZpbGUuYW0gfCAgICAzICstLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggMGFiMzg1My4uM2U3MjM5MSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTgsOCArOCw3IEBAIFNVQkRJUlMgPQkJCQkJCQkJXAorIAlkb2NzCQkJCQkJCQlcCisgCWljb25zCQkJCQkJCQlcCisgCXBpeG1hcHMJCQkJCQkJCVwKKy0JcG8JCQkJCQkJCVwKKy0JdGVzdHMKKysJcG8KKyAKKyBBVVRPTUFLRV9PUFRJT05TID0JCQkJCQkJXAorIAkxLjkJCQkJCQkJCVwKKy0tIAorMS43LjQuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4by9yZWR1Y2UtYnVpbGQtdG8tZXhvLWNzb3VyY2Utb25seS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvL3JlZHVjZS1idWlsZC10by1leG8tY3NvdXJjZS1vbmx5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0NjUxMWMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4by9yZWR1Y2UtYnVpbGQtdG8tZXhvLWNzb3VyY2Utb25seS5wYXRjaApAQCAtMCwwICsxLDgyIEBACitGcm9tIGU3MTBkOGQ0YTNlMzQ4MDQxNjgyNmM3MGQ1NmVhM2QyNTk4YTc3ZTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBUaHUsIDI4IE1hciAyMDEzIDIzOjQxOjAzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlZHVjZSBidWlsZCB0byBleG8tY3NvdXJjZSBvbmx5CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK2V4by1jc291cmNlIGNyZWF0ZXMgYy1oZWFkZXIgZmlsZXMgZnJvbSBnbGFkZSByZXNvdXJjZSBvdXRwdXQgZmlsZXMuIFdoZW4KK2J1aWxkaW5nIHhmY2UtcGFja2FnZXMgZnJvbSBnaXQgaW5zdGVhZCBvZiB0YXJiYWxsIHRoaXMgZXhvLWNzb3VyY2UtbmF0aXZlIGlzCityZXF1aXJlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZS5hbSAgfCAxMCArLS0tLS0tLS0tCisgY29uZmlndXJlLmFjIHwgMjAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IGFkN2M2Y2UuLjNhY2Q5NGEgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0xLDE1ICsxLDcgQEAKKyBBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBtNCAke0FDTE9DQUxfRkxBR1N9CisgCisgU1VCRElSUyA9CQkJCQkJCQlcCistCWV4bwkJCQkJCQkJXAorLQlleG8tY3NvdXJjZQkJCQkJCQlcCistCWV4by1kZXNrdG9wLWl0ZW0tZWRpdAkJCQkJCVwKKy0JZXhvLWhlbHBlcgkJCQkJCQlcCistCWV4by1vcGVuCQkJCQkJCVwKKy0JZG9jcwkJCQkJCQkJXAorLQlpY29ucwkJCQkJCQkJXAorLQlwaXhtYXBzCQkJCQkJCQlcCistCXBvCisrCWV4by1jc291cmNlCisgCisgZGlzdGNsZWFuLWxvY2FsOgorIAlybSAtcmYgKi5jYWNoZSAqfgorZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYmI5YmUwNS4uMjM0NzFkMCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTE2LDE1ICsxMTYsNiBAQCBBQ19QUk9HX0NDKCkKKyBBTV9QUk9HX0NDX0NfTygpCisgQUNfUFJPR19JTlNUQUxMKCkKKyBJVF9QUk9HX0lOVExUT09MKFtpbnRsdG9vbF9taW5pbXVtX3ZlcnNpb25dLCBbbm8teG1sXSkKKy1BQ19DSEVDS19QUk9HUyhbUEVSTF0sIFtwZXJsNSBwZXJsXSkKKy0KKy1kbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCistZG5sICoqKiBDaGVjayBmb3IgcmVxdWlyZWQgUGVybCBtb2R1bGVzICoqKgorLWRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy1BQ19QUk9HX1BFUkxfTU9EVUxFUyhbVVJJOjpFc2NhcGUgVVJJOjpmaWxlIFVSSTo6VVJMXSwgW10sCistWworLSAgQUNfTVNHX0VSUk9SKFtBdGxlYXN0IG9uZSBvZiB0aGUgcmVxdWlyZWQgUGVybCBtb2R1bGVzIChVUkk6OkVzY2FwZSwgVVJJOjpmaWxlIGFuZCBVUkk6OlVSTCkgd2FzIG5vdCBmb3VuZCBvbiB5b3VyIHN5c3RlbV0pCistXSkKKyAKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgZG5sICoqKiBDaGVjayBmb3Igc3RhbmRhcmQgaGVhZGVyIGZpbGVzICoqKgorQEAgLTE3MSwxNyArMTYyLDYgQEAgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgZG5sICoqKiBDaGVjayBmb3IgcmVxdWlyZWQgcGFja2FnZXMgKioqCisgZG5sICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgWERUX0NIRUNLX1BBQ0tBR0UoW0dMSUJdLCBbZ2xpYi0yLjBdLCBbMi4zMC4wXSkKKy1YRFRfQ0hFQ0tfUEFDS0FHRShbR0lPXSwgW2dpby0yLjBdLCBbMi4zMC4wXSkKKy1YRFRfQ0hFQ0tfUEFDS0FHRShbR1RLXSwgW2d0aystMi4wXSwgWzIuMjQuMF0pCistWERUX0NIRUNLX1BBQ0tBR0UoW0dUSFJFQURdLCBbZ3RocmVhZC0yLjBdLCBbMi4zMC4wXSkKKy1YRFRfQ0hFQ0tfUEFDS0FHRShbTElCWEZDRTRVVElMXSwgW2xpYnhmY2U0dXRpbC0xLjBdLCBbNC4xMC4wXSkKKy1YRFRfQ0hFQ0tfUEFDS0FHRShbTElCWEZDRTRVSV0sIFtsaWJ4ZmNlNHVpLTFdLCBbNC4xMC4wXSkKKy1YRFRfQ0hFQ0tfT1BUSU9OQUxfUEFDS0FHRShbR0lPX1VOSVhdLCBbZ2lvLXVuaXgtMi4wXSwgWzIuMzAuMF0sIFtnaW8tdW5peF0sIFtHSU8tVW5peCBmZWF0dXJlc10pCistCistZG5sICoqKioqKioqKioqKioqKioqKioqKgorLWRubCAqKiogQ2hlY2sgZm9yIFgxMSAqKioKKy1kbmwgKioqKioqKioqKioqKioqKioqKioqCistWERUX0NIRUNLX0xJQlgxMV9SRVFVSVJFKCkKKyAKKyBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKgorIGRubCAqKiogQ2hlY2sgZm9yIGd0ay1kb2MgKioqCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTAuNi5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWI1YWU1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG9fMC4xMC42LmJiCkBAIC0wLDAgKzEsMzYgQEAKK0RFU0NSSVBUSU9OPSJBcHBsaWNhdGlvbiBsaWJyYXJ5IGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCitERVBFTkRTID0gImd0aysgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgdmlydHVhbC9saWJ4MTEgbGlidXJpLXBlcmwtbmF0aXZlIGNhaXJvIgorREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiZ2xpYi0yLjAtbmF0aXZlIHhmY2U0LWRldi10b29scy1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IHhmY2UgcHl0aG9ubmF0aXZlIHBlcmxuYXRpdmUgZ3RrLWRvYworCisjIFNSQ19VUkkgbXVzdCBmb2xsb3cgaW5oZXJpdGVkIG9uZQorU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vZXhvLW5vLXRlc3RzLTAuOC5wYXRjaCBcCisgICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCBcCisiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgXAorICAgIGZpbGU6Ly9yZWR1Y2UtYnVpbGQtdG8tZXhvLWNzb3VyY2Utb25seS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4OTVlNGYzOGQyY2ZlNThkNjk2NzllMjkwMmEzMzVhNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxY2MwZTVhNDMyZTA1MGE1ZTVhYTY0ZDEyNmI5ODhmNDQ0MGRhNGYyNzQ3NGFhZjQyYTRkOGUxMzY1MWQwNzUyIgorCitQQUNLQUdFUyA9KyAiZXhvLWNzb3VyY2UiCisKKyMgTm90ZTogcHl0aG9uIGJpbmRpbmdzIGRpZCBub3Qgd29yayBpbiBvZS1kZXYgYW5kIGFyZSBhYm91dCB0byBiZSBtb3ZlZCB0bworIyBweXhmY2Ugc2VlIGh0dHA6Ly9jb21tZW50cy5nbWFuZS5vcmcvZ21hbmUuY29tcC5kZXNrdG9wLnhmY2UuZGV2ZWwudmVyc2lvbjQvMTk1NjAKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hmY2U0LyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3hmY2U0L2V4by0xIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvLmRlYnVnIFwKKyIKKworRklMRVNfZXhvLWNzb3VyY2UgKz0gIiR7YmluZGlyfS9leG8tY3NvdXJjZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ2FyY29uL2ZpbGVzLzAwMDEteGZjZS1hcHBsaWNhdGlvbnMubWVudS1kb24tdC1ibG9hdC1zZXR0aW5ncy1tZW51LWJ5LS5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZmlsZXMvMDAwMS14ZmNlLWFwcGxpY2F0aW9ucy5tZW51LWRvbi10LWJsb2F0LXNldHRpbmdzLW1lbnUtYnktLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1YWQ0ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ2FyY29uL2ZpbGVzLzAwMDEteGZjZS1hcHBsaWNhdGlvbnMubWVudS1kb24tdC1ibG9hdC1zZXR0aW5ncy1tZW51LWJ5LS5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIGY1Mzk4YjQ5Y2M2ZmQ3YTUzNTYyYWFlMmFiYmFjMGQ5YzY1NjU1OWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBXZWQsIDE1IE1heSAyMDEzIDE0OjE3OjQ5ICswMjAwCitTdWJqZWN0OiBbZ2FyY29uXSB4ZmNlLWFwcGxpY2F0aW9ucy5tZW51OiBkb24ndCBibG9hdCBzZXR0aW5ncyBtZW51IGJ5CisgZW50cmllcyBmb3VuZCBpbiBzZXR0aW5ncyBtYW5hZ2VyCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFsxXQorCitbMV0gaHR0cHM6Ly9idWd6aWxsYS54ZmNlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwOTIKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgZGF0YS94ZmNlL3hmY2UtYXBwbGljYXRpb25zLm1lbnUgfCAgICAzICsrKworIDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZGF0YS94ZmNlL3hmY2UtYXBwbGljYXRpb25zLm1lbnUgYi9kYXRhL3hmY2UveGZjZS1hcHBsaWNhdGlvbnMubWVudQoraW5kZXggZGMzMDU2Yi4uYzJhYTBiYiAxMDA2NDQKKy0tLSBhL2RhdGEveGZjZS94ZmNlLWFwcGxpY2F0aW9ucy5tZW51CisrKysgYi9kYXRhL3hmY2UveGZjZS1hcHBsaWNhdGlvbnMubWVudQorQEAgLTM0LDYgKzM0LDkgQEAKKyAgICAgICAgIDxJbmNsdWRlPgorICAgICAgICAgICAgIDxDYXRlZ29yeT5TZXR0aW5nczwvQ2F0ZWdvcnk+CisgICAgICAgICA8L0luY2x1ZGU+CisrICAgICAgICA8RXhjbHVkZT4KKysgICAgICAgICAgICA8Q2F0ZWdvcnk+WC1YRkNFLVNldHRpbmdzRGlhbG9nPC9DYXRlZ29yeT4KKysgICAgICAgIDwvRXhjbHVkZT4KKyAKKyAgICAgICAgIDxMYXlvdXQ+CisgICAgICAgICAgICAgPEZpbGVuYW1lPnhmY2Utc2V0dGluZ3MtbWFuYWdlci5kZXNrdG9wPC9GaWxlbmFtZT4KKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ2FyY29uL2dhcmNvbl8wLjQuMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxZjZjZTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ2FyY29uL2dhcmNvbl8wLjQuMC5iYgpAQCAtMCwwICsxLDEzIEBACitERVNDUklQVElPTj0iWGZjZSBNZW51IExpYnJhcnkiCitTRUNUSU9OID0gIngxMS9saWJzIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNGEwMWFiY2JkYWJmZmFlMWNhMjYzMzVhMjkzMjc2YiIKK0RFUEVORFMgPSAieGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSBsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSBpbnRsdG9vbC1uYXRpdmUiCisKK2luaGVyaXQgeGZjZSBndGstZG9jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXhmY2UtYXBwbGljYXRpb25zLm1lbnUtZG9uLXQtYmxvYXQtc2V0dGluZ3MtbWVudS1ieS0ucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiYWJhNjJiODA3ODdhYWMyOTUwODNiZjdhZmQ0MTlmZmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzg3ZGM4NTk3MTNiNjUxODk5MmQ3NjBkNGI4NThmYjAyZThhMzA3MDVlNmY2ZTg3MWQ3YTE0Y2M5N2JjYTk3MiIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGVza3RvcC1kaXJlY3RvcmllcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9ndGsteGZjZS1lbmdpbmUvZ3RrLXhmY2UtZW5naW5lXzMuMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2d0ay14ZmNlLWVuZ2luZS9ndGsteGZjZS1lbmdpbmVfMy4yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk4MzVhYgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9ndGsteGZjZS1lbmdpbmUvZ3RrLXhmY2UtZW5naW5lXzMuMi4wLmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NVTU1BUlkgPSAiWEZDRSB0aGVtZSBmb3IgR1RLIgorU0VDVElPTiA9ICJ4MTEvbGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKK0RFUEVORFMgPSAiZ3RrKyB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIgorCitpbmhlcml0IHhmY2UKKworU1JDX1VSSVttZDVzdW1dID0gIjM2M2Q2YzE2YTQ4YTAwZTI2ZDQ1YzQ1YzJlMWZkNzM5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg3NWM5YzNiZGE5NmZhZjA1MGEyMjI0NjQ5Y2M0MjEyOWZmYjY2MmM0ZGUzM2FkZDhjMGZkMWZiODYwYjQ3ZWQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJndGszIgorUEFDS0FHRUNPTkZJR1tndGszXSA9ICItLWVuYWJsZS1ndGszLC0tZGlzYWJsZS1ndGszLCBndGsrMywgZ3RrMy14ZmNlLWVuZ2luZSIKKworUEFDS0FHRVMgKz0gIiR7UE59LXRoZW1lcyBndGszLXhmY2UtZW5naW5lIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9ndGstMi4wLyovZW5naW5lcy8qLnNvIgorRklMRVNfZ3RrMy14ZmNlLWVuZ2luZSArPSAiJHtsaWJkaXJ9L2d0ay0zLjAvKi90aGVtaW5nLWVuZ2luZXMvKi5zbyIKK0ZJTEVTXyR7UE59LXRoZW1lcyArPSAiJHtkYXRhZGlyfS90aGVtZXMiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2d0ay0zLjAvKi90aGVtaW5nLWVuZ2luZXMvLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2d0ay0yLjAvKi9lbmdpbmVzLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2d0ay0yLjAvKi9lbmdpbmVzLyoubGEgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vZ3RrLTMuMC8qL3RoZW1pbmctZW5naW5lcy8qLmxhIgorCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tdGhlbWVzIgorUkRFUEVORFNfZ3RrMy14ZmNlLWVuZ2luZSArPSAiJHtQTn0tdGhlbWVzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2xpYnhmY2U0dWkvZmlsZXMvMDAwMS1saWJ4ZmNlNGtiZC1wcml2YXRlLXhmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwtZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2xpYnhmY2U0dWkvZmlsZXMvMDAwMS1saWJ4ZmNlNGtiZC1wcml2YXRlLXhmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwtZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4YzkxNzgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvbGlieGZjZTR1aS9maWxlcy8wMDAxLWxpYnhmY2U0a2JkLXByaXZhdGUteGZjZTQta2V5Ym9hcmQtc2hvcnRjdXRzLnhtbC1maXgucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA3MDhlNTljYWFmMWMwYzI3MWE5NmE0ZDFmZTQ2YjEyMmFmZjQ1ZTM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogTW9uLCAyNyBBdWcgMjAxMiAwOToxNjoyOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBsaWJ4ZmNlNGtiZC1wcml2YXRlL3hmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWw6IGZpeCB4ZndtNAorIGNyYXNoIG9uIGZpcnN0IHN0YXJ0CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgbGlieGZjZTRrYmQtcHJpdmF0ZS94ZmNlNC1rZXlib2FyZC1zaG9ydGN1dHMueG1sIHwgICAgNCArKysrCisgMSBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJ4ZmNlNGtiZC1wcml2YXRlL3hmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwgYi9saWJ4ZmNlNGtiZC1wcml2YXRlL3hmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwKK2luZGV4IDcyM2ExMGQuLmU2NTAyZjMgMTAwNjQ0CistLS0gYS9saWJ4ZmNlNGtiZC1wcml2YXRlL3hmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwKKysrKyBiL2xpYnhmY2U0a2JkLXByaXZhdGUveGZjZTQta2V5Ym9hcmQtc2hvcnRjdXRzLnhtbAorQEAgLTY2LDQgKzY2LDggQEAKKyAgICAgICA8cHJvcGVydHkgbmFtZT0iJmx0O0NvbnRyb2wmZ3Q7RjEyIiB0eXBlPSJzdHJpbmciIHZhbHVlPSJ3b3Jrc3BhY2VfMTJfa2V5Ii8+CisgICAgIDwvcHJvcGVydHk+CisgICA8L3Byb3BlcnR5PgorKyAgPHByb3BlcnR5IG5hbWU9InByb3ZpZGVycyIgdHlwZT0iYXJyYXkiPgorKyAgICA8dmFsdWUgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iY29tbWFuZHMiLz4KKysgICAgPHZhbHVlIHR5cGU9InN0cmluZyIgdmFsdWU9Inhmd200Ii8+CisrICA8L3Byb3BlcnR5PgorIDwvY2hhbm5lbD4KKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvbGlieGZjZTR1aS9saWJ4ZmNlNHVpXzQuMTIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9saWJ4ZmNlNHVpL2xpYnhmY2U0dWlfNC4xMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyM2MyMGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvbGlieGZjZTR1aS9saWJ4ZmNlNHVpXzQuMTIuMS5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIlhmY2U0IFdpZGdldCBsaWJyYXJ5IGFuZCBYIFdpbmRvdyBTeXN0ZW0gaW50ZXJhY3Rpb24iCitTRUNUSU9OID0gIngxMS9saWJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI1Mjg5MGQ5ZWVlMjZhYWI3YjQzMmU4YjhhNjE2NDc1IgorREVQRU5EUyA9ICJwZXJsLW5hdGl2ZSBnbGliLTIuMCBndGsrIGd0ayszIGludGx0b29sIGxpYnhmY2U0dXRpbCB4ZmNvbmYgeGZjZTQtZGV2LXRvb2xzIHZpcnR1YWwvbGlieDExIGxpYnNtIGxpYmljZSIKKworaW5oZXJpdCB4ZmNlIGF1dG90b29scyBnZXR0ZXh0IGd0ay1kb2MKKworU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vMDAwMS1saWJ4ZmNlNGtiZC1wcml2YXRlLXhmY2U0LWtleWJvYXJkLXNob3J0Y3V0cy54bWwtZml4LnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYTlmYWQ3ZDA1OWZlOGY1MzFmZThkYjQyZGFiYjVhOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzZDYxOTgxMWJmYmU3NDc4YmI5ODRjMTY1NDNkOTgwY2FkZDA4NTg2MzY1YTdiYzI1ZTU5ZTNjYTYzODRmZjQzIgorCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC12ZW5kb3ItaW5mbz0ke0RJU1RST30iCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2dsYWRldWldID0gIi0tZW5hYmxlLWdsYWRldWksLS1kaXNhYmxlLWdsYWRldWksZ2xhZGUzIgorUEFDS0FHRUNPTkZJR1tzdGFydHVwLW5vdGlmaWNhdGlvbl0gPSAiLS1lbmFibGUtc3RhcnR1cC1ub3RpZmljYXRpb24sLS1kaXNhYmxlLXN0YXJ0dXAtbm90aWZpY2F0aW9uLHN0YXJ0dXAtbm90aWZpY2F0aW9uIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tZ3RrMiAke1BOfS1ndGszIgorRklMRVNfJHtQTn0tZ3RrMiArPSAiJHtsaWJkaXJ9L2xpYnhmY2U0dWktMS5zby4qICR7bGliZGlyfS9saWJ4ZmNlNGtiZC1wcml2YXRlLTIuc28uKiIKK0ZJTEVTXyR7UE59LWd0azMgKz0gIiR7bGliZGlyfS9saWJ4ZmNlNHVpLTIuc28uKiAke2xpYmRpcn0vbGlieGZjZTRrYmQtcHJpdmF0ZS0zLnNvLioiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dsYWRlMy9tb2R1bGVzLy5kZWJ1ZyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dsYWRlMy9tb2R1bGVzLyoubGEgXAorICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ2xhZGUzL2NhdGFsb2dzLyouaW4iCitQQUNLQUdFUyArPSAiJHtQTn0tZ2xhZGUiCitGSUxFU18ke1BOfS1nbGFkZSA9ICIke2xpYmRpcn0vZ2xhZGUzIFwKKyAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ2xhZGUzIgorCitSREVQRU5EU18ke1BOfS1ndGsyID0gIiR7UE59IgorUkRFUEVORFNfJHtQTn0tZ3RrMyA9ICIke1BOfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9saWJ4ZmNlNHV0aWwvbGlieGZjZTR1dGlsXzQuMTIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9saWJ4ZmNlNHV0aWwvbGlieGZjZTR1dGlsXzQuMTIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTg1YTAwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2xpYnhmY2U0dXRpbC9saWJ4ZmNlNHV0aWxfNC4xMi4xLmJiCkBAIC0wLDAgKzEsMTAgQEAKK1NVTU1BUlkgPSAiQmFzaWMgdXRpbGl0eSBsaWJyYXJ5IGZvciBYZmNlNCIKK1NFQ1RJT04gPSAieDExL2xpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjUyODkwZDllZWUyNmFhYjdiNDMyZThiOGE2MTY0NzUiCitERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGdsaWItMi4wIgorCitpbmhlcml0IHhmY2UgZ3RrLWRvYworCitTUkNfVVJJW21kNXN1bV0gPSAiNGViMDEyYjZjMTI5MmNlZWRiM2E4M2ViZmMxZmYwOGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODc2YmRlZmEyZTEzY2JmNjhiNjI2YjIxNTg4OTJmYjkzZTgyNGUxZWY1OWNmOTUxMTIzYTk2Y2VmYmM4ODgxZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC14ZmNlLWJhc2UuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteGZjZS1iYXNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4Y2ZjN2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteGZjZS1iYXNlLmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiQWxsIHBhY2thZ2VzIHJlcXVpcmVkIGZvciBhIGJhc2UgaW5zdGFsbGF0aW9uIG9mIFhGQ0UiCitTRUNUSU9OID0gIngxMS93bSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAiCitQUiA9ICJyNSIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAKKworUkRFUEVORFNfJHtQTn0gPSAiIFwKKyAgICB4ZndtNCBcCisgICAgeGZjZTQtc2Vzc2lvbiBcICAgICAKKyAgICB4ZmNvbmYgXAorICAgIHhmZGVza3RvcCBcCisgICAgeGZjZTQtcGFuZWwgXAorICAgIFwKKyAgICBndGsteGZjZS1lbmdpbmUgXAorICAgIFwKKyAgICB4ZmNlNC1wYW5lbC1wbHVnaW4tYWN0aW9ucyBcCisgICAgeGZjZTQtcGFuZWwtcGx1Z2luLWFwcGxpY2F0aW9uc21lbnUgXAorICAgIHhmY2U0LXBhbmVsLXBsdWdpbi1jbG9jayBcCisgICAgeGZjZTQtcGFuZWwtcGx1Z2luLWRpcmVjdG9yeW1lbnUgXAorICAgIHhmY2U0LXBhbmVsLXBsdWdpbi1sYXVuY2hlciBcCisgICAgeGZjZTQtcGFuZWwtcGx1Z2luLXBhZ2VyIFwKKyAgICB4ZmNlNC1wYW5lbC1wbHVnaW4tc2VwYXJhdG9yIFwKKyAgICB4ZmNlNC1wYW5lbC1wbHVnaW4tc2hvd2Rlc2t0b3AgXAorICAgIHhmY2U0LXBhbmVsLXBsdWdpbi1zeXN0cmF5IFwKKyAgICB4ZmNlNC1wYW5lbC1wbHVnaW4tdGFza2xpc3QgXAorICAgIHhmY2U0LXBhbmVsLXBsdWdpbi13aW5kb3dtZW51IFwgICAKKyAgICB4ZmNlNC1zZXR0aW5ncyBcCisgICAgXAorICAgIHhmY2U0LW5vdGlmeWQgXAorICAgIHhmY2U0LXRlcm1pbmFsIFwKKyAgICB0aHVuYXIgXAorICAgIHRodW5hci12b2xtYW4gXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtZXh0ZW5kZWQuYmIgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteGZjZS1leHRlbmRlZC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDcxODhmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtZXh0ZW5kZWQuYmIKQEAgLTAsMCArMSw2OCBAQAorU1VNTUFSWSA9ICJBbGwgcGFja2FnZXMgZm9yIGZ1bGwgWEZDRSBpbnN0YWxsYXRpb24iCitTRUNUSU9OID0gIngxMS93bSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vTElDRU5TRTttZDU9NGQ5MmNkMzczYWJkYTM5MzdjMmJjNDdmYmM0OWQ2OTAiCisKK1BSID0gInIxMCIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAKKworIyBtYW5kYXRvcnkKK1JERVBFTkRTXyR7UE59ID0gIiBcCisgICAgcGFja2FnZWdyb3VwLXhmY2UtYmFzZSBcCisiCisKKyMgbmljZSB0byBoYXZlCitSUkVDT01NRU5EU18ke1BOfSA9ICIgXAorICAgIHhmd200LXRoZW1lLWRhbG9hIFwKKyAgICB4ZndtNC10aGVtZS1rb2tvZGkgXAorICAgIHhmd200LXRoZW1lLW1vaGVsaSBcCisgICAgXAorICAgIHhmY2UtZHVzay1ndGszIFwKKyAgICBcCisgICAgeGZjZTQtY3B1ZnJlcS1wbHVnaW4gXAorICAgIHhmY2U0LWNwdWdyYXBoLXBsdWdpbiBcCisgICAgeGZjZTQtZGF0ZXRpbWUtcGx1Z2luIFwKKyAgICB4ZmNlNC1leWVzLXBsdWdpbiBcCisgICAgeGZjZTQtY2xpcG1hbi1wbHVnaW4gXAorICAgIHhmY2U0LWRpc2twZXJmLXBsdWdpbiBcCisgICAgeGZjZTQtbmV0bG9hZC1wbHVnaW4gXAorICAgIHhmY2U0LWdlbm1vbi1wbHVnaW4gXAorICAgIHhmY2U0LXhrYi1wbHVnaW4gXAorICAgIHhmY2U0LXdhdmVsYW4tcGx1Z2luIFwKKyAgICB4ZmNlNC1wbGFjZXMtcGx1Z2luIFwKKyAgICB4ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbiBcCisgICAgeGZjZTQtdGltZS1vdXQtcGx1Z2luIFwKKyAgICB4ZmNlNC10aW1lci1wbHVnaW4gXAorICAgIHhmY2U0LWVtYmVkLXBsdWdpbiBcCisgICAgeGZjZTQtd2VhdGhlci1wbHVnaW4gXAorICAgIHhmY2U0LWZzZ3VhcmQtcGx1Z2luIFwKKyAgICB4ZmNlNC1iYXR0ZXJ5LXBsdWdpbiBcCisgICAgeGZjZTQtbW91bnQtcGx1Z2luIFwKKyAgICB4ZmNlNC1wb3dlcm1hbmFnZXItcGx1Z2luIFwKKyAgICB4ZmNlNC1jbG9zZWJ1dHRvbi1wbHVnaW4gXAorICAgIHhmY2U0LWVxdWFrZS1wbHVnaW4gXAorICAgIHhmY2U0LW5vdGVzLXBsdWdpbiBcCisgICAgeGZjZTQtd2hpc2tlcm1lbnUtcGx1Z2luIFwKKyAgICB4ZmNlNC1tYWlsd2F0Y2gtcGx1Z2luIFwKKyAgICB4ZmNlNC1rYmRsZWRzLXBsdWdpbiBcCisgICAgeGZjZTQtc21hcnRib29rbWFyay1wbHVnaW4gXAorICAgIHhmY2U0LWhvdGNvcm5lci1wbHVnaW4gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHVsc2VhdWRpbycsICd4ZmNlNC1wdWxzZWF1ZGlvLXBsdWdpbicsICcnLCBkKX0gXAorICAgIHhmY2U0LXNlbnNvcnMtcGx1Z2luIFwKKyAgICB4ZmNlNC1jYWxjdWxhdG9yLXBsdWdpbiBcCisgICAgeGZjZTQtdmVydmUtcGx1Z2luIFwKKyAgICBcCisgICAgeGZjZS1wb2xraXQgXAorICAgIFwKKyAgICB0aHVuYXItbWVkaWEtdGFncy1wbHVnaW4gXAorICAgIHRodW5hci1hcmNoaXZlLXBsdWdpbiBcCisgICAgXAorICAgIHhmY2U0LWFwcGZpbmRlciBcCisgICAgeGZjZTQtc2NyZWVuc2hvb3RlciBcCisgICAgeGZjZTQtcG93ZXItbWFuYWdlciBcCisgICAgeGZjZTQtbWl4ZXIgXAorICAgIHJpc3RyZXR0byBcCisgICAgeGZjZTQtdGFza21hbmFnZXIgXAorICAgIGdpZ29sbyBcCisiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOC4xLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci12b2xtYW4vdGh1bmFyLXZvbG1hbl8wLjguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGU2ZjViCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci12b2xtYW4vdGh1bmFyLXZvbG1hbl8wLjguMS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkF1dG9tYXRpYyBtYW5hZ2VtZW50IG9mIHJlbW92YWJsZSBkcml2ZXMgYW5kIG1lZGlhIGZvciB0aHVuYXIiCitTRUNUSU9OID0gIngxMSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK0RFUEVORFMgPSAiZXhvIGdsaWItMi4wIGd0aysgbGlieGZjZTR1aSBsaWJ4ZmNlNHV0aWwgeGZjb25mIGxpYm5vdGlmeSBsaWJndWRldiIKKworaW5oZXJpdCB4ZmNlCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NWFiNmUwNWIyZTgwOGQxZGNjOGQzNjY4M2E1OWI3ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1YTA4YmI1Y2UzMmMyOTZhNjRkZmJkYjI0MDZkNGU0NWEyMDhiMmM5MWU0ZWZhODMxZGMyOGYxZDZjMmFjMmJkIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tub3RpZnldID0gIi0tZW5hYmxlLW5vdGlmaWNhdGlvbnMsLS1kaXNhYmxlLW5vdGlmaWNhdGlvbnMsbGlibm90aWZ5IgorCitSREVQRU5EU18ke1BOfSA9ICJlamVjdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuNi4xMC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuNi4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDg1OTI0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci90aHVuYXJfMS42LjEwLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiRmlsZSBtYW5hZ2VyIGZvciB0aGUgWGZjZSBEZXNrdG9wIEVudmlyb25tZW50IgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCitERVBFTkRTID0gImV4byBnbGliLTIuMCBndGsrIGdkay1waXhidWYgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgeGZjb25mIGxpYnNtIGRidXMtZ2xpYiBzdGFydHVwLW5vdGlmaWNhdGlvbiBsaWJub3RpZnkgeGZjZTQtcGFuZWwgdWRldiIKKworaW5oZXJpdCB4ZmNlCisKK1NSQ19VUkkgPSAiaHR0cDovL2FyY2hpdmUueGZjZS5vcmcvc3JjL3hmY2UvJHtCUE59LyR7QCcke1BWfSdbMDozXX0vVGh1bmFyLSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiMzA4OWUxZGNhNmU0MDg2NDFiMDdjZDljNzU5ZGVhNWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2U5ZDI0MDY3MjY4OTAwZTVlNDRkMzMyNWU2MGExYTJiMmY4ZjU1NmVjMjM4ZWMxMjU3NGZiZWExNWZkZWU4YSIKKworUyA9ICIke1dPUktESVJ9L1RodW5hci0ke1BWfS8iCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3BjcmVdID0gIi0tZW5hYmxlLXBjcmUsLS1kaXNhYmxlLXBjcmUsbGlicGNyZSIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtsaWJkaXJ9L3RodW5hcngtMi8qIFwKKyAgICAke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucy8qIFwKKyAgICAke2xpYmRpcn0vVGh1bmFyL1tUdF1odW5hciogXAorICAgICR7ZGF0YWRpcn0vYXBwZGF0YSBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAorICAgICR7ZGF0YWRpcn0vVGh1bmFyIFwKKyAgICAke2RhdGFkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvKiBcCisiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3RodW5hcngtMi8uZGVidWcvIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvLmRlYnVnLyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9UaHVuYXIvLmRlYnVnLyIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAiZ3ZmcyBndmZzZC10cmFzaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90dW1ibGVyL3R1bWJsZXIvMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLWZyZWV0eXBlMi5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90dW1ibGVyL3R1bWJsZXIvMDAwMS1jb25maWd1cmUtdXNlLXBrZy1jb25maWctZm9yLWZyZWV0eXBlMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZWNjMzVlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3R1bWJsZXIvdHVtYmxlci8wMDAxLWNvbmZpZ3VyZS11c2UtcGtnLWNvbmZpZy1mb3ItZnJlZXR5cGUyLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gZjVjMjgzYjEyNTFhZDAwNWRhNzM0MmU2NTRjZDJlYzVhZTllNWZiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjYgU2VwIDIwMTQgMTM6NDQ6MzYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyBmb3IgZnJlZXR5cGUyCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLXN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBhY2luY2x1ZGUubTQgfCAxNiArLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2FjaW5jbHVkZS5tNCBiL2FjaW5jbHVkZS5tNAoraW5kZXggNjZlNzlkMS4uNGM3MGIwMCAxMDA2NDQKKy0tLSBhL2FjaW5jbHVkZS5tNAorKysrIGIvYWNpbmNsdWRlLm00CitAQCAtNTIsMjEgKzUyLDcgQEAgaWYgdGVzdCB4IiRhY190dW1ibGVyX2ZvbnRfdGh1bWJuYWlsZXIiID0geCJ5ZXMiOyB0aGVuCisgICBQS0dfQ0hFQ0tfTU9EVUxFUyhbR0RLX1BJWEJVRl0sIFtnZGstcGl4YnVmLTIuMCA+PSAyLjE0XSwgCisgICBbCisgICAgIGRubCBDaGVjayBmb3IgRnJlZVR5cGUgMi54CistICAgIEZSRUVUWVBFX0xJQlM9IiIKKy0gICAgRlJFRVRZUEVfQ0ZMQUdTPSIiCistICAgIEFDX1BBVEhfUFJPRyhbRlJFRVRZUEVfQ09ORklHXSwgW2ZyZWV0eXBlLWNvbmZpZ10sIFtub10pCistICAgIGlmIHRlc3QgeCIkRlJFRVRZUEVfQ09ORklHIiAhPSB4Im5vIjsgdGhlbgorLSAgICAgIEFDX01TR19DSEVDS0lORyhbRlJFRVRZUEVfQ0ZMQUdTXSkKKy0gICAgICBGUkVFVFlQRV9DRkxBR1M9ImAkRlJFRVRZUEVfQ09ORklHIC0tY2ZsYWdzYCIKKy0gICAgICBBQ19NU0dfUkVTVUxUKFskRlJFRVRZUEVfQ0ZMQUdTXSkKKy0gICAgCistICAgICAgQUNfTVNHX0NIRUNLSU5HKFtGUkVFVFlQRV9MSUJTXSkKKy0gICAgICBGUkVFVFlQRV9MSUJTPSJgJEZSRUVUWVBFX0NPTkZJRyAtLWxpYnNgIgorLSAgICAgIEFDX01TR19SRVNVTFQoWyRGUkVFVFlQRV9MSUJTXSkKKy0gICAgZWxzZQorLSAgICAgIGRubCBXZSBjYW4gb25seSBidWlsZCB0aGUgZm9udCB0aHVtYm5haWxlciBpZiBGcmVlVHlwZSAyLnggaXMgYXZhaWxhYmxlCistICAgICAgYWNfdHVtYmxlcl9mb250X3RodW1ibmFpbGVyPW5vCistICAgIGZpCisrICAgIFBLR19DSEVDS19NT0RVTEVTKEZSRUVUWVBFLCBmcmVldHlwZTIsICwgW2FjX3R1bWJsZXJfZm9udF90aHVtYm5haWxlcj1ub10pCisgICAgIEFDX1NVQlNUKFtGUkVFVFlQRV9DRkxBR1NdKQorICAgICBBQ19TVUJTVChbRlJFRVRZUEVfTElCU10pCisgICBdLCBbYWNfdHVtYmxlcl9mb250X3RodW1ibmFpbGVyPW5vXSkKKy0tIAorMS44LjMuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdHVtYmxlci90dW1ibGVyXzAuMS4zMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90dW1ibGVyL3R1bWJsZXJfMC4xLjMxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2Mzg1YTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdHVtYmxlci90dW1ibGVyXzAuMS4zMS5iYgpAQCAtMCwwICsxLDI5IEBACitERVNDUklQVElPTj0iVGh1bWJuYWlsIHNlcnZpY2UgaW1wbGVtZW50aW5nIHRoZSB0aHVtYm5haWwgbWFuYWdlbWVudCBELUJ1cyBzcGVjaWZpY2F0aW9uIgorU0VDVElPTiA9ICJ4MTEvbGlicyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKK0RFUEVORFMgPSAiZGJ1cy1nbGliIGZyZWV0eXBlIGdkay1waXhidWYgcG9wcGxlciBjdXJsIHhmY2U0LWRldi10b29scy1uYXRpdmUgbGlieG1sMiBsaWJnc2YiCisKK2luaGVyaXQgeGZjZSBndGstZG9jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMDY3MDU0ZTZmMWY5MGExM2Y5MGZhYWRmY2ExZTg5ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMGZkMzI5MjczZmY2YWM5ODg4NWVhZGU0YzNkOGM4N2E0ZGQwODE2ZjcxMzY0NjEzMDgwOGJmYTkwYjg3MTczIgorU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtY29uZmlndXJlLXVzZS1wa2ctY29uZmlnLWZvci1mcmVldHlwZTIucGF0Y2giCisKK0lOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbZ3N0cmVhbWVyLXRodW1ibmFpbGVyXSA9ICItLWVuYWJsZS1nc3RyZWFtZXItdGh1bWJuYWlsZXIsLS1kaXNhYmxlLWdzdHJlYW1lci10aHVtYm5haWxlcixnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vdHVtYmxlci0xL3R1bWJsZXJkIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vdHVtYmxlci0xL3BsdWdpbnMvKi5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3R1bWJsZXItMS9wbHVnaW5zL2NhY2hlLyouc28gXAorIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS90dW1ibGVyLTEvcGx1Z2lucy8qLmxhIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3R1bWJsZXItMS9wbHVnaW5zL2NhY2hlLyoubGEiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS90dW1ibGVyLTEvLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3R1bWJsZXItMS9wbHVnaW5zLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS90dW1ibGVyLTEvcGx1Z2lucy9jYWNoZS8uZGVidWcgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LWFwcGZpbmRlci94ZmNlNC1hcHBmaW5kZXJfNC4xMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LWFwcGZpbmRlci94ZmNlNC1hcHBmaW5kZXJfNC4xMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ZTA2ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtYXBwZmluZGVyL3hmY2U0LWFwcGZpbmRlcl80LjEyLjAuYmIKQEAgLTAsMCArMSwxMiBAQAorREVTQ1JJUFRJT049IlhmY2U0IEFwcGxpY2F0aW9uIEZpbmRlciIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUz0iZ2xpYi0yLjAgZ3RrKyBsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSBnYXJjb24gZGJ1cy1nbGliIHhmY29uZiIKKworaW5oZXJpdCB4ZmNlCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYjIzOGIzMDY4NjM4OGM1MDdjMTE5YjEyNjY0ZjFhMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyYWQ0YTU4MDE5YTc2YTZiNjRhODE2MDUwZGIyNWY5Njg1NDkxN2MyZjJlODlkNmE5ZGY2YzE4ZTZjODRjNTY3IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9hcHBkYXRhIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LWRldi10b29scy94ZmNlNC1kZXYtdG9vbHNfNC4xMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LWRldi10b29scy94ZmNlNC1kZXYtdG9vbHNfNC4xMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1NTdmNmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtZGV2LXRvb2xzL3hmY2U0LWRldi10b29sc180LjEyLjAuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJYZmNlNCBkZXZlbG9wbWVudCB0b29scyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cueGZjZS5vcmciCitTRUNUSU9OID0gIngxMS9saWJzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlhYzJlN2NmZjFkZGFmNDhiNmVhYjYwMjhmMjNlZjg4IgorREVQRU5EUyA9ICJnbGliLTIuMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNfVVJJID0gImh0dHA6Ly9hcmNoaXZlLnhmY2Uub3JnL3NyYy94ZmNlLyR7QlBOfS8ke0AnJHtQVn0nWzA6NF19LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjU1OTIwMmM0ZDk2NTBlMjM2OTZjNDRhYTk0Y2ZjNWE5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUyZTNhNjU0ZmU5MTEwZGY4MWY4YzI0ODNjOWNiZmE2ZDY1NmZlZDE1ZDVlNWU3MTdkNmVmMTBiZDBmNWI1Y2IiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vYWNsb2NhbAorICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vbTRtYWNyb3MvKi5tNCAke0R9JHtkYXRhZGlyfS9hY2xvY2FsLworfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC9kZXYtdG9vbHMvbTRtYWNyb3MvKi5tNCIKKworUkRFUEVORFNfJHtQTn0gPSAiYmFzaCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wYW5lbC9maWxlcy8wMDAxLUZpeC1jb21waWxlci13YXJuaW5nLWluLWNsb2NrLXBsdWdpbi1hYm91dC1zaGFkb3dlZC0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwvZmlsZXMvMDAwMS1GaXgtY29tcGlsZXItd2FybmluZy1pbi1jbG9jay1wbHVnaW4tYWJvdXQtc2hhZG93ZWQtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NzFmY2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwvZmlsZXMvMDAwMS1GaXgtY29tcGlsZXItd2FybmluZy1pbi1jbG9jay1wbHVnaW4tYWJvdXQtc2hhZG93ZWQtLnBhdGNoCkBAIC0wLDAgKzEsNjA2IEBACitGcm9tIDVhOWU5NGFiN2JkNjI4ZjViZjZiNDZlYTdlYTkxY2Y0MGI0YWVlOTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IFRoaXJ0eXR3byA8bWF0dC41OTQ5MUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDIgTWFyIDIwMTUgMjE6MTg6NDEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gY2xvY2sgcGx1Z2luIGFib3V0IHNoYWRvd2VkICd0aW1lJworIHZhcmlhYmxlCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgWzFdCisKK1sxXSBodHRwOi8vZ2l0LnhmY2Uub3JnL3hmY2UveGZjZTQtcGFuZWwvY29tbWl0Lz9pZD01YTllOTRhYjdiZDYyOGY1YmY2YjQ2ZWE3ZWE5MWNmNDBiNGFlZTk4CisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKworLS0tCisgcGx1Z2lucy9jbG9jay9jbG9jay1hbmFsb2cuYyAgfCAyMCArKysrKystLS0tLS0tCisgcGx1Z2lucy9jbG9jay9jbG9jay1iaW5hcnkuYyAgfCAyOCArKysrKysrKystLS0tLS0tLS0KKyBwbHVnaW5zL2Nsb2NrL2Nsb2NrLWRpZ2l0YWwuYyB8ICA4ICsrLS0tCisgcGx1Z2lucy9jbG9jay9jbG9jay1mdXp6eS5jICAgfCAgNiArKy0tCisgcGx1Z2lucy9jbG9jay9jbG9jay1sY2QuYyAgICAgfCAzNCArKysrKysrKysrKy0tLS0tLS0tLS0tCisgcGx1Z2lucy9jbG9jay9jbG9jay10aW1lLmMgICAgfCA2OCArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcGx1Z2lucy9jbG9jay9jbG9jay5jICAgICAgICAgfCAxMiArKysrLS0tLQorIDcgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKSwgODggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWFuYWxvZy5jIGIvcGx1Z2lucy9jbG9jay9jbG9jay1hbmFsb2cuYworaW5kZXggMmU5NmEwOS4uOTEwNDUwZCAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvY2xvY2svY2xvY2stYW5hbG9nLmMKKysrKyBiL3BsdWdpbnMvY2xvY2svY2xvY2stYW5hbG9nLmMKK0BAIC0yMTYsNyArMjE2LDcgQEAgeGZjZV9jbG9ja19hbmFsb2dfZXhwb3NlX2V2ZW50IChHdGtXaWRnZXQgICAgICAqd2lkZ2V0LAorICAgZ2RvdWJsZSAgICAgICAgICB4YywgeWM7CisgICBnZG91YmxlICAgICAgICAgIGFuZ2xlLCByYWRpdXM7CisgICBjYWlyb190ICAgICAgICAgKmNyOworLSAgR0RhdGVUaW1lICAgICAgICp0aW1lOworKyAgR0RhdGVUaW1lICAgICAgICpkYXRlX3RpbWU7CisgCisgICBwYW5lbF9yZXR1cm5fdmFsX2lmX2ZhaWwgKFhGQ0VfQ0xPQ0tfSVNfQU5BTE9HIChhbmFsb2cpLCBGQUxTRSk7CisgCitAQCAtMjM5LDcgKzIzOSw3IEBAIHhmY2VfY2xvY2tfYW5hbG9nX2V4cG9zZV9ldmVudCAoR3RrV2lkZ2V0ICAgICAgKndpZGdldCwKKyAgICAgICBjYWlyb19jbGlwIChjcik7CisgCisgICAgICAgLyogZ2V0IHRoZSBsb2NhbCB0aW1lICovCistICAgICAgdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKGFuYWxvZy0+dGltZSk7CisrICAgICAgZGF0ZV90aW1lID0gY2xvY2tfdGltZV9nZXRfdGltZSAoYW5hbG9nLT50aW1lKTsKKyAKKyAgICAgICAvKiBzZXQgdGhlIGxpbmUgcHJvcGVydGllcyAqLworICAgICAgIGNhaXJvX3NldF9saW5lX3dpZHRoIChjciwgMSk7CitAQCAtMjUxLDIwICsyNTEsMjAgQEAgeGZjZV9jbG9ja19hbmFsb2dfZXhwb3NlX2V2ZW50IChHdGtXaWRnZXQgICAgICAqd2lkZ2V0LAorICAgICAgIGlmIChhbmFsb2ctPnNob3dfc2Vjb25kcykKKyAgICAgICAgIHsKKyAgICAgICAgICAgLyogc2Vjb25kIHBvaW50ZXIgKi8KKy0gICAgICAgICAgYW5nbGUgPSBUSUNLU19UT19SQURJQU5TIChnX2RhdGVfdGltZV9nZXRfc2Vjb25kICh0aW1lKSk7CisrICAgICAgICAgIGFuZ2xlID0gVElDS1NfVE9fUkFESUFOUyAoZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAoZGF0ZV90aW1lKSk7CisgICAgICAgICAgIHhmY2VfY2xvY2tfYW5hbG9nX2RyYXdfcG9pbnRlciAoY3IsIHhjLCB5YywgcmFkaXVzLCBhbmdsZSwgMC43LCBUUlVFKTsKKyAgICAgICAgIH0KKyAKKyAgICAgICAvKiBtaW51dGUgcG9pbnRlciAqLworLSAgICAgIGFuZ2xlID0gVElDS1NfVE9fUkFESUFOUyAoZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAodGltZSkpOworKyAgICAgIGFuZ2xlID0gVElDS1NfVE9fUkFESUFOUyAoZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAoZGF0ZV90aW1lKSk7CisgICAgICAgeGZjZV9jbG9ja19hbmFsb2dfZHJhd19wb2ludGVyIChjciwgeGMsIHljLCByYWRpdXMsIGFuZ2xlLCAwLjgsIEZBTFNFKTsKKyAKKyAgICAgICAvKiBob3VyIHBvaW50ZXIgKi8KKy0gICAgICBhbmdsZSA9IEhPVVJTX1RPX1JBRElBTlMgKGdfZGF0ZV90aW1lX2dldF9ob3VyICh0aW1lKSwgZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAodGltZSkpOworKyAgICAgIGFuZ2xlID0gSE9VUlNfVE9fUkFESUFOUyAoZ19kYXRlX3RpbWVfZ2V0X2hvdXIgKGRhdGVfdGltZSksIGdfZGF0ZV90aW1lX2dldF9taW51dGUgKGRhdGVfdGltZSkpOworICAgICAgIHhmY2VfY2xvY2tfYW5hbG9nX2RyYXdfcG9pbnRlciAoY3IsIHhjLCB5YywgcmFkaXVzLCBhbmdsZSwgMC41LCBGQUxTRSk7CisgCisgICAgICAgLyogY2xlYW51cCAqLworLSAgICAgIGdfZGF0ZV90aW1lX3VucmVmICh0aW1lKTsKKysgICAgICBnX2RhdGVfdGltZV91bnJlZiAoZGF0ZV90aW1lKTsKKyAgICAgICBjYWlyb19kZXN0cm95IChjcik7CisgICAgIH0KKyAKK0BAIC0zNDcsMTIgKzM0NywxMiBAQCB4ZmNlX2Nsb2NrX2FuYWxvZ19kcmF3X3BvaW50ZXIgKGNhaXJvX3QgKmNyLAorIAorIHN0YXRpYyBnYm9vbGVhbgorIHhmY2VfY2xvY2tfYW5hbG9nX3VwZGF0ZSAoWGZjZUNsb2NrQW5hbG9nICphbmFsb2csCistICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICAgICAgKnRpbWUpCisrICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICAgICAgKmNsb2NrX3RpbWUpCisgeworICAgR3RrV2lkZ2V0ICp3aWRnZXQgPSBHVEtfV0lER0VUIChhbmFsb2cpOworIAorICAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0NMT0NLX0lTX0FOQUxPRyAoYW5hbG9nKSwgRkFMU0UpOworLSAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKHRpbWUpLCBGQUxTRSk7CisrICBwYW5lbF9yZXR1cm5fdmFsX2lmX2ZhaWwgKFhGQ0VfSVNfQ0xPQ0tfVElNRSAoY2xvY2tfdGltZSksIEZBTFNFKTsKKyAKKyAgIC8qIHVwZGF0ZSBpZiB0aGUgd2lkZ2V0IGlmIHZpc2libGUgKi8KKyAgIGlmIChHX0xJS0VMWSAoR1RLX1dJREdFVF9WSVNJQkxFICh3aWRnZXQpKSkKK0BAIC0zNjQsMTEgKzM2NCwxMSBAQCB4ZmNlX2Nsb2NrX2FuYWxvZ191cGRhdGUgKFhmY2VDbG9ja0FuYWxvZyAqYW5hbG9nLAorIAorIAorIEd0a1dpZGdldCAqCisteGZjZV9jbG9ja19hbmFsb2dfbmV3IChDbG9ja1RpbWUgKnRpbWUpCisreGZjZV9jbG9ja19hbmFsb2dfbmV3IChDbG9ja1RpbWUgKmNsb2NrX3RpbWUpCisgeworICAgWGZjZUNsb2NrQW5hbG9nICphbmFsb2cgPSBnX29iamVjdF9uZXcgKFhGQ0VfQ0xPQ0tfVFlQRV9BTkFMT0csIE5VTEwpOworIAorLSAgYW5hbG9nLT50aW1lID0gdGltZTsKKysgIGFuYWxvZy0+dGltZSA9IGNsb2NrX3RpbWU7CisgICBhbmFsb2ctPnRpbWVvdXQgPSBjbG9ja190aW1lX3RpbWVvdXRfbmV3IChDTE9DS19JTlRFUlZBTF9NSU5VVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmFsb2ctPnRpbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLICh4ZmNlX2Nsb2NrX2FuYWxvZ191cGRhdGUpLCBhbmFsb2cpOworZGlmZiAtLWdpdCBhL3BsdWdpbnMvY2xvY2svY2xvY2stYmluYXJ5LmMgYi9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWJpbmFyeS5jCitpbmRleCA0NzUxYzUxLi40NmI4NTJjIDEwMDY0NAorLS0tIGEvcGx1Z2lucy9jbG9jay9jbG9jay1iaW5hcnkuYworKysrIGIvcGx1Z2lucy9jbG9jay9jbG9jay1iaW5hcnkuYworQEAgLTI2Miw3ICsyNjIsNyBAQCB4ZmNlX2Nsb2NrX2JpbmFyeV9leHBvc2VfZXZlbnRfdHJ1ZV9iaW5hcnkgKFhmY2VDbG9ja0JpbmFyeSAqYmluYXJ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3RrQWxsb2NhdGlvbiAgICphbGxvYykKKyB7CisgICBHZGtDb2xvciAgICAqYWN0aXZlLCAqaW5hY3RpdmU7CistICBHRGF0ZVRpbWUgICAqdGltZTsKKysgIEdEYXRlVGltZSAgICpkYXRlX3RpbWU7CisgICBnaW50ICAgICAgICAgcm93LCByb3dzOworICAgc3RhdGljIGdpbnQgIGJpbmFyeV90YWJsZVtdID0geyAzMiwgMTYsIDgsIDQsIDIsIDEgfTsKKyAgIGdpbnQgICAgICAgICBjb2wsIGNvbHMgPSBHX05fRUxFTUVOVFMgKGJpbmFyeV90YWJsZSk7CitAQCAtMjgyLDcgKzI4Miw3IEBAIHhmY2VfY2xvY2tfYmluYXJ5X2V4cG9zZV9ldmVudF90cnVlX2JpbmFyeSAoWGZjZUNsb2NrQmluYXJ5ICpiaW5hcnksCisgICAgICAgYWN0aXZlID0gJihHVEtfV0lER0VUIChiaW5hcnkpLT5zdHlsZS0+ZGFya1tHVEtfU1RBVEVfU0VMRUNURURdKTsKKyAgICAgfQorIAorLSAgdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKGJpbmFyeS0+dGltZSk7CisrICBkYXRlX3RpbWUgPSBjbG9ja190aW1lX2dldF90aW1lIChiaW5hcnktPnRpbWUpOworIAorICAgLyogaW5pdCBzaXplcyAqLworICAgcmVtYWluX2ggPSBhbGxvYy0+aGVpZ2h0OworQEAgLTI5MywxMSArMjkzLDExIEBAIHhmY2VfY2xvY2tfYmluYXJ5X2V4cG9zZV9ldmVudF90cnVlX2JpbmFyeSAoWGZjZUNsb2NrQmluYXJ5ICpiaW5hcnksCisgICAgIHsKKyAgICAgICAvKiBnZXQgdGhlIHRpbWUgdGhpcyByb3cgcmVwcmVzZW50cyAqLworICAgICAgIGlmIChyb3cgPT0gMCkKKy0gICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X2hvdXIgKHRpbWUpOworKyAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfaG91ciAoZGF0ZV90aW1lKTsKKyAgICAgICBlbHNlIGlmIChyb3cgPT0gMSkKKy0gICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAodGltZSk7CisrICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9taW51dGUgKGRhdGVfdGltZSk7CisgICAgICAgZWxzZQorLSAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfc2Vjb25kICh0aW1lKTsKKysgICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAoZGF0ZV90aW1lKTsKKyAKKyAgICAgICAvKiByZXNldCBzaXplcyAqLworICAgICAgIHJlbWFpbl93ID0gYWxsb2MtPndpZHRoOworQEAgLTMzNiw3ICszMzYsNyBAQCB4ZmNlX2Nsb2NrX2JpbmFyeV9leHBvc2VfZXZlbnRfdHJ1ZV9iaW5hcnkgKFhmY2VDbG9ja0JpbmFyeSAqYmluYXJ5LAorICAgICAgIG9mZnNldF95ICs9IGg7CisgICAgIH0KKyAKKy0gIGdfZGF0ZV90aW1lX3VucmVmICh0aW1lKTsKKysgIGdfZGF0ZV90aW1lX3VucmVmIChkYXRlX3RpbWUpOworIH0KKyAKKyAKK0BAIC0zNDgsNyArMzQ4LDcgQEAgeGZjZV9jbG9ja19iaW5hcnlfZXhwb3NlX2V2ZW50X2JpbmFyeSAoWGZjZUNsb2NrQmluYXJ5ICpiaW5hcnksCisgeworICAgR2RrQ29sb3IgICAgKmFjdGl2ZSwgKmluYWN0aXZlOworICAgc3RhdGljIGdpbnQgIGJpbmFyeV90YWJsZVtdID0geyA4MCwgNDAsIDIwLCAxMCwgOCwgNCwgMiwgMSB9OworLSAgR0RhdGVUaW1lICAgKnRpbWU7CisrICBHRGF0ZVRpbWUgICAqZGF0ZV90aW1lOworICAgZ2ludCAgICAgICAgIHJvdywgcm93cyA9IEdfTl9FTEVNRU5UUyAoYmluYXJ5X3RhYmxlKSAvIDI7CisgICBnaW50ICAgICAgICAgY29sLCBjb2xzOworICAgZ2ludCAgICAgICAgIGRpZ2l0OworQEAgLTM2OCw3ICszNjgsNyBAQCB4ZmNlX2Nsb2NrX2JpbmFyeV9leHBvc2VfZXZlbnRfYmluYXJ5IChYZmNlQ2xvY2tCaW5hcnkgKmJpbmFyeSwKKyAgICAgICBhY3RpdmUgPSAmKEdUS19XSURHRVQgKGJpbmFyeSktPnN0eWxlLT5kYXJrW0dUS19TVEFURV9TRUxFQ1RFRF0pOworICAgICB9CisgCistICB0aW1lID0gY2xvY2tfdGltZV9nZXRfdGltZSAoYmluYXJ5LT50aW1lKTsKKysgIGRhdGVfdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKGJpbmFyeS0+dGltZSk7CisgCisgICByZW1haW5fdyA9IGFsbG9jLT53aWR0aDsKKyAgIG9mZnNldF94ID0gYWxsb2MtPng7CitAQCAtMzc5LDExICszNzksMTEgQEAgeGZjZV9jbG9ja19iaW5hcnlfZXhwb3NlX2V2ZW50X2JpbmFyeSAoWGZjZUNsb2NrQmluYXJ5ICpiaW5hcnksCisgICAgIHsKKyAgICAgICAvKiBnZXQgdGhlIHRpbWUgdGhpcyByb3cgcmVwcmVzZW50cyAqLworICAgICAgIGlmIChjb2wgPT0gMCkKKy0gICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X2hvdXIgKHRpbWUpOworKyAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfaG91ciAoZGF0ZV90aW1lKTsKKyAgICAgICBlbHNlIGlmIChjb2wgPT0gMikKKy0gICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAodGltZSk7CisrICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9taW51dGUgKGRhdGVfdGltZSk7CisgICAgICAgZWxzZSBpZiAoY29sID09IDQpCistICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKHRpbWUpOworKyAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfc2Vjb25kIChkYXRlX3RpbWUpOworIAorICAgICAgIC8qIHJlc2V0IHNpemVzICovCisgICAgICAgcmVtYWluX2ggPSBhbGxvYy0+aGVpZ2h0OworQEAgLTUyMCw3ICs1MjAsNyBAQCB4ZmNlX2Nsb2NrX2JpbmFyeV9leHBvc2VfZXZlbnQgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCisgCisgc3RhdGljIGdib29sZWFuCisgeGZjZV9jbG9ja19iaW5hcnlfdXBkYXRlIChYZmNlQ2xvY2tCaW5hcnkgICAgICpiaW5hcnksCistICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICAgICAgICAgICp0aW1lKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAgICAgICAgICAqY2xvY2tfdGltZSkKKyB7CisgICBHdGtXaWRnZXQgKndpZGdldCA9IEdUS19XSURHRVQgKGJpbmFyeSk7CisgCitAQCAtNTM2LDExICs1MzYsMTEgQEAgeGZjZV9jbG9ja19iaW5hcnlfdXBkYXRlIChYZmNlQ2xvY2tCaW5hcnkgICAgICpiaW5hcnksCisgCisgCisgR3RrV2lkZ2V0ICoKKy14ZmNlX2Nsb2NrX2JpbmFyeV9uZXcgKENsb2NrVGltZSAqdGltZSkKKyt4ZmNlX2Nsb2NrX2JpbmFyeV9uZXcgKENsb2NrVGltZSAqY2xvY2tfdGltZSkKKyB7CisgICBYZmNlQ2xvY2tCaW5hcnkgKmJpbmFyeSA9IGdfb2JqZWN0X25ldyAoWEZDRV9DTE9DS19UWVBFX0JJTkFSWSwgTlVMTCk7CisgCistICBiaW5hcnktPnRpbWUgPSB0aW1lOworKyAgYmluYXJ5LT50aW1lID0gY2xvY2tfdGltZTsKKyAgIGJpbmFyeS0+dGltZW91dCA9IGNsb2NrX3RpbWVfdGltZW91dF9uZXcgKENMT0NLX0lOVEVSVkFMX01JTlVURSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmFyeS0+dGltZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKHhmY2VfY2xvY2tfYmluYXJ5X3VwZGF0ZSksIGJpbmFyeSk7CitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9jbG9jay9jbG9jay1kaWdpdGFsLmMgYi9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWRpZ2l0YWwuYworaW5kZXggYzI5M2VkMi4uMzRlNzAxOSAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvY2xvY2svY2xvY2stZGlnaXRhbC5jCisrKysgYi9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWRpZ2l0YWwuYworQEAgLTE5NCwxMiArMTk0LDEyIEBAIHhmY2VfY2xvY2tfZGlnaXRhbF9maW5hbGl6ZSAoR09iamVjdCAqb2JqZWN0KQorIAorIHN0YXRpYyBnYm9vbGVhbgorIHhmY2VfY2xvY2tfZGlnaXRhbF91cGRhdGUgKFhmY2VDbG9ja0RpZ2l0YWwgKmRpZ2l0YWwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAgICAgICAqdGltZSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICAgICAgICpjbG9ja190aW1lKQorIHsKKyAgIGdjaGFyICAgICAgICAgICAgKnN0cmluZzsKKyAKKyAgIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoWEZDRV9DTE9DS19JU19ESUdJVEFMIChkaWdpdGFsKSwgRkFMU0UpOworLSAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKHRpbWUpLCBGQUxTRSk7CisrICBwYW5lbF9yZXR1cm5fdmFsX2lmX2ZhaWwgKFhGQ0VfSVNfQ0xPQ0tfVElNRSAoY2xvY2tfdGltZSksIEZBTFNFKTsKKyAKKyAgIC8qIHNldCB0aW1lIHN0cmluZyAqLworICAgc3RyaW5nID0gY2xvY2tfdGltZV9zdHJkdXBfc3RyZnRpbWUgKGRpZ2l0YWwtPnRpbWUsIGRpZ2l0YWwtPmZvcm1hdCk7CitAQCAtMjEyLDExICsyMTIsMTEgQEAgeGZjZV9jbG9ja19kaWdpdGFsX3VwZGF0ZSAoWGZjZUNsb2NrRGlnaXRhbCAqZGlnaXRhbCwKKyAKKyAKKyBHdGtXaWRnZXQgKgorLXhmY2VfY2xvY2tfZGlnaXRhbF9uZXcgKENsb2NrVGltZSAqdGltZSkKKyt4ZmNlX2Nsb2NrX2RpZ2l0YWxfbmV3IChDbG9ja1RpbWUgKmNsb2NrX3RpbWUpCisgeworICAgWGZjZUNsb2NrRGlnaXRhbCAqZGlnaXRhbCA9IGdfb2JqZWN0X25ldyAoWEZDRV9DTE9DS19UWVBFX0RJR0lUQUwsIE5VTEwpOworIAorLSAgZGlnaXRhbC0+dGltZSA9IHRpbWU7CisrICBkaWdpdGFsLT50aW1lID0gY2xvY2tfdGltZTsKKyAgIGRpZ2l0YWwtPnRpbWVvdXQgPSBjbG9ja190aW1lX3RpbWVvdXRfbmV3IChjbG9ja190aW1lX2ludGVydmFsX2Zyb21fZm9ybWF0IChkaWdpdGFsLT5mb3JtYXQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZ2l0YWwtPnRpbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoeGZjZV9jbG9ja19kaWdpdGFsX3VwZGF0ZSksIGRpZ2l0YWwpOworZGlmZiAtLWdpdCBhL3BsdWdpbnMvY2xvY2svY2xvY2stZnV6enkuYyBiL3BsdWdpbnMvY2xvY2svY2xvY2stZnV6enkuYworaW5kZXggN2IwYWE0MS4uNGIzNjFkZCAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvY2xvY2svY2xvY2stZnV6enkuYworKysrIGIvcGx1Z2lucy9jbG9jay9jbG9jay1mdXp6eS5jCitAQCAtMjc1LDcgKzI3NSw3IEBAIHhmY2VfY2xvY2tfZnV6enlfZmluYWxpemUgKEdPYmplY3QgKm9iamVjdCkKKyAKKyBzdGF0aWMgZ2Jvb2xlYW4KKyB4ZmNlX2Nsb2NrX2Z1enp5X3VwZGF0ZSAoWGZjZUNsb2NrRnV6enkgKmZ1enp5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICAgICAqdGltZSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAgICAgKmNsb2NrX3RpbWUpCisgeworICAgR0RhdGVUaW1lICAgICAgKmRhdGVfdGltZTsKKyAgIGdpbnQgICAgICAgICAgICBzZWN0b3I7CitAQCAtMzUzLDExICszNTMsMTEgQEAgeGZjZV9jbG9ja19mdXp6eV91cGRhdGUgKFhmY2VDbG9ja0Z1enp5ICpmdXp6eSwKKyAKKyAKKyBHdGtXaWRnZXQgKgorLXhmY2VfY2xvY2tfZnV6enlfbmV3IChDbG9ja1RpbWUgKnRpbWUpCisreGZjZV9jbG9ja19mdXp6eV9uZXcgKENsb2NrVGltZSAqY2xvY2tfdGltZSkKKyB7CisgICBYZmNlQ2xvY2tGdXp6eSAqZnV6enkgPSBnX29iamVjdF9uZXcgKFhGQ0VfQ0xPQ0tfVFlQRV9GVVpaWSwgTlVMTCk7CisgCistICBmdXp6eS0+dGltZSA9IHRpbWU7CisrICBmdXp6eS0+dGltZSA9IGNsb2NrX3RpbWU7CisgICBmdXp6eS0+dGltZW91dCA9IGNsb2NrX3RpbWVfdGltZW91dF9uZXcgKENMT0NLX0lOVEVSVkFMX01JTlVURSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnV6enktPnRpbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKHhmY2VfY2xvY2tfZnV6enlfdXBkYXRlKSwgZnV6enkpOworZGlmZiAtLWdpdCBhL3BsdWdpbnMvY2xvY2svY2xvY2stbGNkLmMgYi9wbHVnaW5zL2Nsb2NrL2Nsb2NrLWxjZC5jCitpbmRleCA4NGU3NGU2Li5iMTgwZDMwIDEwMDY0NAorLS0tIGEvcGx1Z2lucy9jbG9jay9jbG9jay1sY2QuYworKysrIGIvcGx1Z2lucy9jbG9jay9jbG9jay1sY2QuYworQEAgLTI4NSw3ICsyODUsNyBAQCB4ZmNlX2Nsb2NrX2xjZF9leHBvc2VfZXZlbnQgKEd0a1dpZGdldCAgICAgICp3aWRnZXQsCisgICBnaW50ICAgICAgICAgIHRpY2tzLCBpOworICAgZ2RvdWJsZSAgICAgICBzaXplOworICAgZ2RvdWJsZSAgICAgICByYXRpbzsKKy0gIEdEYXRlVGltZSAgICAqdGltZTsKKysgIEdEYXRlVGltZSAgICAqZGF0ZV90aW1lOworIAorICAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0NMT0NLX0lTX0xDRCAobGNkKSwgRkFMU0UpOworIAorQEAgLTMxNywxMCArMzE3LDEwIEBAIHhmY2VfY2xvY2tfbGNkX2V4cG9zZV9ldmVudCAoR3RrV2lkZ2V0ICAgICAgKndpZGdldCwKKyAgICAgICBjYWlyb19zZXRfbGluZV93aWR0aCAoY3IsIE1BWCAoc2l6ZSAqIDAuMDUsIDEuNSkpOworIAorICAgICAgIC8qIGdldCB0aGUgbG9jYWwgdGltZSAqLworLSAgICAgIHRpbWUgPSBjbG9ja190aW1lX2dldF90aW1lIChsY2QtPnRpbWUpOworKyAgICAgIGRhdGVfdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKGxjZC0+dGltZSk7CisgCisgICAgICAgLyogZHJhdyB0aGUgaG91cnMgKi8KKy0gICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9ob3VyICh0aW1lKTsKKysgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9ob3VyIChkYXRlX3RpbWUpOworIAorICAgICAgIC8qIGNvbnZlcnQgMjRoIGNsb2NrIHRvIDEyaCBjbG9jayAqLworICAgICAgIGlmICghbGNkLT5zaG93X21pbGl0YXJ5ICYmIHRpY2tzID4gMTIpCitAQCAtMzMzLDggKzMzMyw4IEBAIHhmY2VfY2xvY2tfbGNkX2V4cG9zZV9ldmVudCAoR3RrV2lkZ2V0ICAgICAgKndpZGdldCwKKyAgICAgICAgKiBiZWNhdXNlIHdlIG1pZ2h0IG1pc3MgdGhlIGV4YWN0IHNlY29uZCAoZHVlIHRvIHNsaWdodGx5IGRlbGF5ZWQKKyAgICAgICAgKiB0aW1lb3V0KSB3ZSBxdWV1ZSBhIHJlc2l6ZSB0aGUgZmlyc3QgMyBzZWNvbmRzIG9yIGFueXRoaW5nIGluCisgICAgICAgICogdGhlIGZpcnN0IG1pbnV0ZSAqLworLSAgICAgIGlmICgodGlja3MgPT0gMTAgfHwgdGlja3MgPT0gMCkgJiYgZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAodGltZSkgPT0gMAorLSAgICAgICAgICAmJiAoIWxjZC0+c2hvd19zZWNvbmRzIHx8IGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKHRpbWUpIDwgMykpCisrICAgICAgaWYgKCh0aWNrcyA9PSAxMCB8fCB0aWNrcyA9PSAwKSAmJiBnX2RhdGVfdGltZV9nZXRfbWludXRlIChkYXRlX3RpbWUpID09IDAKKysgICAgICAgICAgJiYgKCFsY2QtPnNob3dfc2Vjb25kcyB8fCBnX2RhdGVfdGltZV9nZXRfc2Vjb25kIChkYXRlX3RpbWUpIDwgMykpCisgICAgICAgICBnX29iamVjdF9ub3RpZnkgKEdfT0JKRUNUIChsY2QpLCAic2l6ZS1yYXRpbyIpOworIAorICAgICAgIGlmICh0aWNrcyA+PSAxMCkKK0BAIC0zNTIsNyArMzUyLDcgQEAgeGZjZV9jbG9ja19sY2RfZXhwb3NlX2V2ZW50IChHdGtXaWRnZXQgICAgICAqd2lkZ2V0LAorICAgICAgICAgICBpZiAoaSA9PSAwKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgIC8qIGdldCB0aGUgbWludXRlcyAqLworLSAgICAgICAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfbWludXRlICh0aW1lKTsKKysgICAgICAgICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X21pbnV0ZSAoZGF0ZV90aW1lKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICB7CitAQCAtMzYxLDExICszNjEsMTEgQEAgeGZjZV9jbG9ja19sY2RfZXhwb3NlX2V2ZW50IChHdGtXaWRnZXQgICAgICAqd2lkZ2V0LAorICAgICAgICAgICAgICAgICBicmVhazsKKyAKKyAgICAgICAgICAgICAgIC8qIGdldCB0aGUgc2Vjb25kcyAqLworLSAgICAgICAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfc2Vjb25kICh0aW1lKTsKKysgICAgICAgICAgICAgIHRpY2tzID0gZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAoZGF0ZV90aW1lKTsKKyAgICAgICAgICAgICB9CisgCisgICAgICAgICAgIC8qIGRyYXcgdGhlIGRvdHMgKi8KKy0gICAgICAgICAgaWYgKGxjZC0+Zmxhc2hfc2VwYXJhdG9ycyAmJiAoZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAodGltZSkgJSAyKSA9PSAxKQorKyAgICAgICAgICBpZiAobGNkLT5mbGFzaF9zZXBhcmF0b3JzICYmIChnX2RhdGVfdGltZV9nZXRfc2Vjb25kIChkYXRlX3RpbWUpICUgMikgPT0gMSkKKyAgICAgICAgICAgICBvZmZzZXRfeCArPSBzaXplICogUkVMQVRJVkVfU1BBQ0UgKiAyOworICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgb2Zmc2V0X3ggPSB4ZmNlX2Nsb2NrX2xjZF9kcmF3X2RvdHMgKGNyLCBzaXplLCBvZmZzZXRfeCwgb2Zmc2V0X3kpOworQEAgLTM4MCwxNCArMzgwLDE0IEBAIHhmY2VfY2xvY2tfbGNkX2V4cG9zZV9ldmVudCAoR3RrV2lkZ2V0ICAgICAgKndpZGdldCwKKyAgICAgICBpZiAobGNkLT5zaG93X21lcmlkaWVtKQorICAgICAgICAgeworICAgICAgICAgICAvKiBhbSBvciBwbT8gKi8KKy0gICAgICAgICAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfaG91ciAodGltZSkgPj0gMTIgPyAxMSA6IDEwOworKyAgICAgICAgICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9ob3VyIChkYXRlX3RpbWUpID49IDEyID8gMTEgOiAxMDsKKyAKKyAgICAgICAgICAgLyogZHJhdyB0aGUgZGlnaXQgKi8KKyAgICAgICAgICAgb2Zmc2V0X3ggPSB4ZmNlX2Nsb2NrX2xjZF9kcmF3X2RpZ2l0IChjciwgdGlja3MsIHNpemUsIG9mZnNldF94LCBvZmZzZXRfeSk7CisgICAgICAgICB9CisgCisgICAgICAgLyogZHJvcCB0aGUgcHVzaGVkIGdyb3VwICovCistICAgICAgZ19kYXRlX3RpbWVfdW5yZWYgKHRpbWUpOworKyAgICAgIGdfZGF0ZV90aW1lX3VucmVmIChkYXRlX3RpbWUpOworICAgICAgIGNhaXJvX3BvcF9ncm91cF90b19zb3VyY2UgKGNyKTsKKyAgICAgICBjYWlyb19wYWludCAoY3IpOworICAgICAgIGNhaXJvX2Rlc3Ryb3kgKGNyKTsKK0BAIC00MDMsMTYgKzQwMywxNiBAQCB4ZmNlX2Nsb2NrX2xjZF9nZXRfcmF0aW8gKFhmY2VDbG9ja0xjZCAqbGNkKQorIHsKKyAgIGdkb3VibGUgICAgcmF0aW87CisgICBnaW50ICAgICAgIHRpY2tzOworLSAgR0RhdGVUaW1lICp0aW1lOworKyAgR0RhdGVUaW1lICpkYXRlX3RpbWU7CisgCisgICAvKiBnZXQgdGhlIGxvY2FsIHRpbWUgKi8KKy0gIHRpbWUgPSBjbG9ja190aW1lX2dldF90aW1lIChsY2QtPnRpbWUpOworKyAgZGF0ZV90aW1lID0gY2xvY2tfdGltZV9nZXRfdGltZSAobGNkLT50aW1lKTsKKyAKKyAgIC8qIDg6OChzcGFjZSk4ICovCisgICByYXRpbyA9ICgzICogUkVMQVRJVkVfRElHSVQpICsgUkVMQVRJVkVfRE9UUyArIFJFTEFUSVZFX1NQQUNFOworIAorLSAgdGlja3MgPSBnX2RhdGVfdGltZV9nZXRfaG91ciAodGltZSk7CistICBnX2RhdGVfdGltZV91bnJlZiAodGltZSk7CisrICB0aWNrcyA9IGdfZGF0ZV90aW1lX2dldF9ob3VyIChkYXRlX3RpbWUpOworKyAgZ19kYXRlX3RpbWVfdW5yZWYgKGRhdGVfdGltZSk7CisgCisgICBpZiAoIWxjZC0+c2hvd19taWxpdGFyeSAmJiB0aWNrcyA+IDEyKQorICAgICB0aWNrcyAtPSAxMjsKK0BAIC01ODQsNyArNTg0LDcgQEAgeGZjZV9jbG9ja19sY2RfZHJhd19kaWdpdCAoY2Fpcm9fdCAqY3IsCisgCisgc3RhdGljIGdib29sZWFuCisgeGZjZV9jbG9ja19sY2RfdXBkYXRlIChYZmNlQ2xvY2tMY2QgKmxjZCwKKy0gICAgICAgICAgICAgICAgICAgICAgIENsb2NrVGltZSAgICAqdGltZSkKKysgICAgICAgICAgICAgICAgICAgICAgIENsb2NrVGltZSAgICAqY2xvY2tfdGltZSkKKyB7CisgICBHdGtXaWRnZXQgKndpZGdldCA9IEdUS19XSURHRVQgKGxjZCk7CisgCitAQCAtNjAwLDExICs2MDAsMTEgQEAgeGZjZV9jbG9ja19sY2RfdXBkYXRlIChYZmNlQ2xvY2tMY2QgKmxjZCwKKyAKKyAKKyBHdGtXaWRnZXQgKgorLXhmY2VfY2xvY2tfbGNkX25ldyAoQ2xvY2tUaW1lICp0aW1lKQorK3hmY2VfY2xvY2tfbGNkX25ldyAoQ2xvY2tUaW1lICpjbG9ja190aW1lKQorIHsKKyAgIFhmY2VDbG9ja0xjZCAqbGNkID0gZ19vYmplY3RfbmV3IChYRkNFX0NMT0NLX1RZUEVfTENELCBOVUxMKTsKKyAKKy0gIGxjZC0+dGltZSA9IHRpbWU7CisrICBsY2QtPnRpbWUgPSBjbG9ja190aW1lOworICAgbGNkLT50aW1lb3V0ID0gY2xvY2tfdGltZV90aW1lb3V0X25ldyAoQ0xPQ0tfSU5URVJWQUxfTUlOVVRFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGNkLT50aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoeGZjZV9jbG9ja19sY2RfdXBkYXRlKSwgbGNkKTsKK2RpZmYgLS1naXQgYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLXRpbWUuYyBiL3BsdWdpbnMvY2xvY2svY2xvY2stdGltZS5jCitpbmRleCAxNmIwZjg5Li5iMDE1YjEzIDEwMDY0NAorLS0tIGEvcGx1Z2lucy9jbG9jay9jbG9jay10aW1lLmMKKysrKyBiL3BsdWdpbnMvY2xvY2svY2xvY2stdGltZS5jCitAQCAtMTA3LDEwICsxMDcsMTAgQEAgY2xvY2tfdGltZV9jbGFzc19pbml0IChDbG9ja1RpbWVDbGFzcyAqa2xhc3MpCisgCisgCisgc3RhdGljIHZvaWQKKy1jbG9ja190aW1lX2luaXQgKENsb2NrVGltZSAqdGltZSkKKytjbG9ja190aW1lX2luaXQgKENsb2NrVGltZSAqY2xvY2tfdGltZSkKKyB7CistICB0aW1lLT50aW1lem9uZV9uYW1lID0gZ19zdHJkdXAgKERFRkFVTFRfVElNRVpPTkUpOworLSAgdGltZS0+dGltZXpvbmUgPSBnX3RpbWVfem9uZV9uZXdfbG9jYWwgKCk7CisrICBjbG9ja190aW1lLT50aW1lem9uZV9uYW1lID0gZ19zdHJkdXAgKERFRkFVTFRfVElNRVpPTkUpOworKyAgY2xvY2tfdGltZS0+dGltZXpvbmUgPSBnX3RpbWVfem9uZV9uZXdfbG9jYWwgKCk7CisgfQorIAorIAorQEAgLTExOCwxMSArMTE4LDExIEBAIGNsb2NrX3RpbWVfaW5pdCAoQ2xvY2tUaW1lICp0aW1lKQorIHN0YXRpYyB2b2lkCisgY2xvY2tfdGltZV9maW5hbGl6ZSAoR09iamVjdCAqb2JqZWN0KQorIHsKKy0gIENsb2NrVGltZSAqdGltZSA9IFhGQ0VfQ0xPQ0tfVElNRSAob2JqZWN0KTsKKysgIENsb2NrVGltZSAqY2xvY2tfdGltZSA9IFhGQ0VfQ0xPQ0tfVElNRSAob2JqZWN0KTsKKyAKKy0gIGdfZnJlZSAodGltZS0+dGltZXpvbmVfbmFtZSk7CisrICBnX2ZyZWUgKGNsb2NrX3RpbWUtPnRpbWV6b25lX25hbWUpOworIAorLSAgZ190aW1lX3pvbmVfdW5yZWYgKHRpbWUtPnRpbWV6b25lKTsKKysgIGdfdGltZV96b25lX3VucmVmIChjbG9ja190aW1lLT50aW1lem9uZSk7CisgCisgICBHX09CSkVDVF9DTEFTUyAoY2xvY2tfdGltZV9wYXJlbnRfY2xhc3MpLT5maW5hbGl6ZSAob2JqZWN0KTsKKyB9CitAQCAtMTM1LDEyICsxMzUsMTIgQEAgY2xvY2tfdGltZV9nZXRfcHJvcGVydHkgKEdPYmplY3QgICAgKm9iamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgR1ZhbHVlICAgICAqdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIEdQYXJhbVNwZWMgKnBzcGVjKQorIHsKKy0gIENsb2NrVGltZSAqdGltZSA9IFhGQ0VfQ0xPQ0tfVElNRSAob2JqZWN0KTsKKysgIENsb2NrVGltZSAqY2xvY2tfdGltZSA9IFhGQ0VfQ0xPQ0tfVElNRSAob2JqZWN0KTsKKyAKKyAgIHN3aXRjaCAocHJvcF9pZCkKKyAgICAgeworICAgICBjYXNlIFBST1BfVElNRVpPTkU6CistICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nICh2YWx1ZSwgdGltZS0+dGltZXpvbmVfbmFtZSk7CisrICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nICh2YWx1ZSwgY2xvY2tfdGltZS0+dGltZXpvbmVfbmFtZSk7CisgICAgICAgYnJlYWs7CisgCisgICAgIGRlZmF1bHQ6CitAQCAtMTU3LDI5ICsxNTcsMjkgQEAgY2xvY2tfdGltZV9zZXRfcHJvcGVydHkgKEdPYmplY3QgICAgICAqb2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHVmFsdWUgKnZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBHUGFyYW1TcGVjICAgKnBzcGVjKQorIHsKKy0gIENsb2NrVGltZSAgICAgKnRpbWUgPSBYRkNFX0NMT0NLX1RJTUUgKG9iamVjdCk7CisrICBDbG9ja1RpbWUgICAgICpjbG9ja190aW1lID0gWEZDRV9DTE9DS19USU1FIChvYmplY3QpOworICAgY29uc3QgZ2NoYXIgICAqc3RyX3ZhbHVlOworIAorICAgc3dpdGNoIChwcm9wX2lkKQorICAgICB7CisgICAgIGNhc2UgUFJPUF9USU1FWk9ORToKKyAgICAgICBzdHJfdmFsdWUgPSBnX3ZhbHVlX2dldF9zdHJpbmcgKHZhbHVlKTsKKy0gICAgICBpZiAoZ19zdHJjbXAwICh0aW1lLT50aW1lem9uZV9uYW1lLCBzdHJfdmFsdWUpICE9IDApCisrICAgICAgaWYgKGdfc3RyY21wMCAoY2xvY2tfdGltZS0+dGltZXpvbmVfbmFtZSwgc3RyX3ZhbHVlKSAhPSAwKQorICAgICAgICAgeworLSAgICAgICAgICBnX2ZyZWUgKHRpbWUtPnRpbWV6b25lX25hbWUpOworLSAgICAgICAgICBnX3RpbWVfem9uZV91bnJlZiAodGltZS0+dGltZXpvbmUpOworKyAgICAgICAgICBnX2ZyZWUgKGNsb2NrX3RpbWUtPnRpbWV6b25lX25hbWUpOworKyAgICAgICAgICBnX3RpbWVfem9uZV91bnJlZiAoY2xvY2tfdGltZS0+dGltZXpvbmUpOworICAgICAgICAgICBpZiAoc3RyX3ZhbHVlID09IE5VTEwgfHwgZ19zdHJjbXAwIChzdHJfdmFsdWUsICIiKSA9PSAwKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgIHRpbWUtPnRpbWV6b25lX25hbWUgPSBnX3N0cmR1cCAoREVGQVVMVF9USU1FWk9ORSk7CistICAgICAgICAgICAgICB0aW1lLT50aW1lem9uZSA9IGdfdGltZV96b25lX25ld19sb2NhbCAoKTsKKysgICAgICAgICAgICAgIGNsb2NrX3RpbWUtPnRpbWV6b25lX25hbWUgPSBnX3N0cmR1cCAoREVGQVVMVF9USU1FWk9ORSk7CisrICAgICAgICAgICAgICBjbG9ja190aW1lLT50aW1lem9uZSA9IGdfdGltZV96b25lX25ld19sb2NhbCAoKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICB7CistICAgICAgICAgICAgICB0aW1lLT50aW1lem9uZV9uYW1lID0gZ19zdHJkdXAgKHN0cl92YWx1ZSk7CistICAgICAgICAgICAgICB0aW1lLT50aW1lem9uZSA9IGdfdGltZV96b25lX25ldyAoc3RyX3ZhbHVlKTsKKysgICAgICAgICAgICAgIGNsb2NrX3RpbWUtPnRpbWV6b25lX25hbWUgPSBnX3N0cmR1cCAoc3RyX3ZhbHVlKTsKKysgICAgICAgICAgICAgIGNsb2NrX3RpbWUtPnRpbWV6b25lID0gZ190aW1lX3pvbmVfbmV3IChzdHJfdmFsdWUpOworICAgICAgICAgICAgIH0KKyAKKy0gICAgICAgICAgZ19zaWduYWxfZW1pdCAoR19PQkpFQ1QgKHRpbWUpLCBjbG9ja190aW1lX3NpZ25hbHNbVElNRV9DSEFOR0VEXSwgMCk7CisrICAgICAgICAgIGdfc2lnbmFsX2VtaXQgKEdfT0JKRUNUIChjbG9ja190aW1lKSwgY2xvY2tfdGltZV9zaWduYWxzW1RJTUVfQ0hBTkdFRF0sIDApOworICAgICAgICAgfQorICAgICAgIGJyZWFrOworIAorQEAgLTE5MiwxNCArMTkyLDE0IEBAIGNsb2NrX3RpbWVfc2V0X3Byb3BlcnR5IChHT2JqZWN0ICAgICAgKm9iamVjdCwKKyAKKyAKKyBHRGF0ZVRpbWUgKgorLWNsb2NrX3RpbWVfZ2V0X3RpbWUgKENsb2NrVGltZSAqdGltZSkKKytjbG9ja190aW1lX2dldF90aW1lIChDbG9ja1RpbWUgKmNsb2NrX3RpbWUpCisgeworICAgR0RhdGVUaW1lICpkYXRlX3RpbWU7CisgCistICBwYW5lbF9yZXR1cm5fdmFsX2lmX2ZhaWwgKFhGQ0VfSVNfQ0xPQ0tfVElNRSAodGltZSksIE5VTEwpOworKyAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKGNsb2NrX3RpbWUpLCBOVUxMKTsKKyAKKy0gIGlmICh0aW1lLT50aW1lem9uZSAhPSBOVUxMKQorLSAgICBkYXRlX3RpbWUgPSBnX2RhdGVfdGltZV9uZXdfbm93ICh0aW1lLT50aW1lem9uZSk7CisrICBpZiAoY2xvY2tfdGltZS0+dGltZXpvbmUgIT0gTlVMTCkKKysgICAgZGF0ZV90aW1lID0gZ19kYXRlX3RpbWVfbmV3X25vdyAoY2xvY2tfdGltZS0+dGltZXpvbmUpOworICAgZWxzZQorICAgICBkYXRlX3RpbWUgPSBnX2RhdGVfdGltZV9uZXdfbm93X2xvY2FsICgpOworIAorQEAgLTIwOSwxNSArMjA5LDE1IEBAIGNsb2NrX3RpbWVfZ2V0X3RpbWUgKENsb2NrVGltZSAqdGltZSkKKyAKKyAKKyBnY2hhciAqCistY2xvY2tfdGltZV9zdHJkdXBfc3RyZnRpbWUgKENsb2NrVGltZSAgICAgICAqdGltZSwKKytjbG9ja190aW1lX3N0cmR1cF9zdHJmdGltZSAoQ2xvY2tUaW1lICAgICAgICpjbG9ja190aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgKmZvcm1hdCkKKyB7CisgICBHRGF0ZVRpbWUgKmRhdGVfdGltZTsKKyAgIGdjaGFyICAgICAqc3RyOworIAorLSAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKHRpbWUpLCBOVUxMKTsKKysgIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoWEZDRV9JU19DTE9DS19USU1FIChjbG9ja190aW1lKSwgTlVMTCk7CisgCistICBkYXRlX3RpbWUgPSBjbG9ja190aW1lX2dldF90aW1lICh0aW1lKTsKKysgIGRhdGVfdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKGNsb2NrX3RpbWUpOworICAgc3RyID0gZ19kYXRlX3RpbWVfZm9ybWF0IChkYXRlX3RpbWUsIGZvcm1hdCk7CisgCisgICBnX2RhdGVfdGltZV91bnJlZiAoZGF0ZV90aW1lKTsKK0BAIC0yNjIsNyArMjYyLDcgQEAgc3RhdGljIGdib29sZWFuCisgY2xvY2tfdGltZV90aW1lb3V0X3J1bm5pbmcgKGdwb2ludGVyIHVzZXJfZGF0YSkKKyB7CisgICBDbG9ja1RpbWVUaW1lb3V0ICp0aW1lb3V0ID0gdXNlcl9kYXRhOworLSAgR0RhdGVUaW1lICAgICAgICAqdGltZTsKKysgIEdEYXRlVGltZSAgICAgICAgKmRhdGVfdGltZTsKKyAKKyAgIGdfc2lnbmFsX2VtaXQgKEdfT0JKRUNUICh0aW1lb3V0LT50aW1lKSwgY2xvY2tfdGltZV9zaWduYWxzW1RJTUVfQ0hBTkdFRF0sIDApOworIAorQEAgLTI3MCw4ICsyNzAsOCBAQCBjbG9ja190aW1lX3RpbWVvdXRfcnVubmluZyAoZ3BvaW50ZXIgdXNlcl9kYXRhKQorICAgaWYgKHRpbWVvdXQtPmludGVydmFsID09IENMT0NLX0lOVEVSVkFMX01JTlVURSkKKyAgICAgeworICAgICAgIC8qIHN5bmMgYWdhaW4gd2hlbiB3ZSBkb24ndCBydW4gb24gdGltZSAqLworLSAgICAgIHRpbWUgPSBjbG9ja190aW1lX2dldF90aW1lICh0aW1lb3V0LT50aW1lKTsKKy0gICAgICB0aW1lb3V0LT5yZXN0YXJ0ID0gKGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKHRpbWUpICE9IDApOworKyAgICAgIGRhdGVfdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKHRpbWVvdXQtPnRpbWUpOworKyAgICAgIHRpbWVvdXQtPnJlc3RhcnQgPSAoZ19kYXRlX3RpbWVfZ2V0X3NlY29uZCAoZGF0ZV90aW1lKSAhPSAwKTsKKyAgICAgfQorIAorICAgcmV0dXJuICF0aW1lb3V0LT5yZXN0YXJ0OworQEAgLTMxMiwxMyArMzEyLDEzIEBAIGNsb2NrX3RpbWVfdGltZW91dF9zeW5jIChncG9pbnRlciB1c2VyX2RhdGEpCisgCisgQ2xvY2tUaW1lVGltZW91dCAqCisgY2xvY2tfdGltZV90aW1lb3V0X25ldyAoZ3VpbnQgICAgICAgaW50ZXJ2YWwsCistICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tUaW1lICAqdGltZSwKKysgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1RpbWUgICpjbG9ja190aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgIEdDYWxsYmFjayAgIGNfaGFuZGxlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRlciAgICBnb2JqZWN0KQorIHsKKyAgIENsb2NrVGltZVRpbWVvdXQgKnRpbWVvdXQ7CisgCistICBwYW5lbF9yZXR1cm5fdmFsX2lmX2ZhaWwgKFhGQ0VfSVNfQ0xPQ0tfVElNRSAodGltZSksIE5VTEwpOworKyAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKGNsb2NrX3RpbWUpLCBOVUxMKTsKKyAKKyAgIHBhbmVsX3JldHVybl92YWxfaWZfZmFpbCAoaW50ZXJ2YWwgPiAwLCBOVUxMKTsKKyAKK0BAIC0zMjYsMTAgKzMyNiwxMCBAQCBjbG9ja190aW1lX3RpbWVvdXRfbmV3IChndWludCAgICAgICBpbnRlcnZhbCwKKyAgIHRpbWVvdXQtPmludGVydmFsID0gMDsKKyAgIHRpbWVvdXQtPnRpbWVvdXRfaWQgPSAwOworICAgdGltZW91dC0+cmVzdGFydCA9IEZBTFNFOworLSAgdGltZW91dC0+dGltZSA9IHRpbWU7CisrICB0aW1lb3V0LT50aW1lID0gY2xvY2tfdGltZTsKKyAKKyAgIHRpbWVvdXQtPnRpbWVfY2hhbmdlZF9pZCA9CistICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZCAoR19PQkpFQ1QgKHRpbWUpLCAidGltZS1jaGFuZ2VkIiwKKysgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkIChHX09CSkVDVCAoY2xvY2tfdGltZSksICJ0aW1lLWNoYW5nZWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNfaGFuZGxlciwgZ29iamVjdCk7CisgCisgICBnX29iamVjdF9yZWYgKEdfT0JKRUNUICh0aW1lb3V0LT50aW1lKSk7CitAQCAtMzQ1LDcgKzM0NSw3IEBAIHZvaWQKKyBjbG9ja190aW1lX3RpbWVvdXRfc2V0X2ludGVydmFsIChDbG9ja1RpbWVUaW1lb3V0ICp0aW1lb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50ICAgICAgICAgICAgIGludGVydmFsKQorIHsKKy0gIEdEYXRlVGltZSAqdGltZTsKKysgIEdEYXRlVGltZSAqZGF0ZV90aW1lOworICAgZ3VpbnQgICAgICBuZXh0X2ludGVydmFsOworICAgZ2Jvb2xlYW4gICByZXN0YXJ0OworIAorQEAgLTM3Miw4ICszNzIsOCBAQCBjbG9ja190aW1lX3RpbWVvdXRfc2V0X2ludGVydmFsIChDbG9ja1RpbWVUaW1lb3V0ICp0aW1lb3V0LAorICAgLyogZ2V0IHRoZSBzZWNvbmRzIHRvIHRoZSBuZXh0IGludGVybmFsICovCisgICBpZiAoaW50ZXJ2YWwgPT0gQ0xPQ0tfSU5URVJWQUxfTUlOVVRFKQorICAgICB7CistICAgICAgdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKHRpbWVvdXQtPnRpbWUpOworLSAgICAgIG5leHRfaW50ZXJ2YWwgPSA2MCAtIGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKHRpbWUpOworKyAgICAgIGRhdGVfdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKHRpbWVvdXQtPnRpbWUpOworKyAgICAgIG5leHRfaW50ZXJ2YWwgPSA2MCAtIGdfZGF0ZV90aW1lX2dldF9zZWNvbmQgKGRhdGVfdGltZSk7CisgICAgIH0KKyAgIGVsc2UKKyAgICAgeworZGlmZiAtLWdpdCBhL3BsdWdpbnMvY2xvY2svY2xvY2suYyBiL3BsdWdpbnMvY2xvY2svY2xvY2suYworaW5kZXggNmM4MDk3OC4uZTA3YzE3YiAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvY2xvY2svY2xvY2suYworKysrIGIvcGx1Z2lucy9jbG9jay9jbG9jay5jCitAQCAtMTExMywxNyArMTExMywxNyBAQCBzdGF0aWMgdm9pZAorIGNsb2NrX3BsdWdpbl9jYWxlbmRhcl9zaG93X2V2ZW50IChHdGtXaWRnZXQgICAqY2FsZW5kYXJfd2luZG93LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9ja1BsdWdpbiAqcGx1Z2luKQorIHsKKy0gIEdEYXRlVGltZSAqdGltZTsKKysgIEdEYXRlVGltZSAqZGF0ZV90aW1lOworIAorICAgcGFuZWxfcmV0dXJuX2lmX2ZhaWwgKFhGQ0VfSVNfUEFORUxfUExVR0lOIChwbHVnaW4pKTsKKyAKKyAgIGNsb2NrX3BsdWdpbl9yZXBvc2l0aW9uX2NhbGVuZGFyIChwbHVnaW4pOworIAorLSAgdGltZSA9IGNsb2NrX3RpbWVfZ2V0X3RpbWUgKHBsdWdpbi0+dGltZSk7CistICBndGtfY2FsZW5kYXJfc2VsZWN0X21vbnRoIChHVEtfQ0FMRU5EQVIgKHBsdWdpbi0+Y2FsZW5kYXIpLCBnX2RhdGVfdGltZV9nZXRfbW9udGggKHRpbWUpIC0gMSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfZGF0ZV90aW1lX2dldF95ZWFyICh0aW1lKSk7CistICBndGtfY2FsZW5kYXJfc2VsZWN0X2RheSAoR1RLX0NBTEVOREFSIChwbHVnaW4tPmNhbGVuZGFyKSwgZ19kYXRlX3RpbWVfZ2V0X2RheV9vZl9tb250aCAodGltZSkpOworLSAgZ19kYXRlX3RpbWVfdW5yZWYgKHRpbWUpOworKyAgZGF0ZV90aW1lID0gY2xvY2tfdGltZV9nZXRfdGltZSAocGx1Z2luLT50aW1lKTsKKysgIGd0a19jYWxlbmRhcl9zZWxlY3RfbW9udGggKEdUS19DQUxFTkRBUiAocGx1Z2luLT5jYWxlbmRhciksIGdfZGF0ZV90aW1lX2dldF9tb250aCAoZGF0ZV90aW1lKSAtIDEsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX2RhdGVfdGltZV9nZXRfeWVhciAoZGF0ZV90aW1lKSk7CisrICBndGtfY2FsZW5kYXJfc2VsZWN0X2RheSAoR1RLX0NBTEVOREFSIChwbHVnaW4tPmNhbGVuZGFyKSwgZ19kYXRlX3RpbWVfZ2V0X2RheV9vZl9tb250aCAoZGF0ZV90aW1lKSk7CisrICBnX2RhdGVfdGltZV91bnJlZiAoZGF0ZV90aW1lKTsKKyB9CisgCisgCistLSAKKzIuNS4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wYW5lbC9maWxlcy8wMDAyLWNsb2NrLXRpbWUtbWFrZS1jaGFuZ2Utb2Ytc3lzdGVtLXMtdGltZXpvbmUtY2hhbmdlLXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwvZmlsZXMvMDAwMi1jbG9jay10aW1lLW1ha2UtY2hhbmdlLW9mLXN5c3RlbS1zLXRpbWV6b25lLWNoYW5nZS10LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkY2EzYmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwvZmlsZXMvMDAwMi1jbG9jay10aW1lLW1ha2UtY2hhbmdlLW9mLXN5c3RlbS1zLXRpbWV6b25lLWNoYW5nZS10LnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gYzU4MjMzOGVmNGYzM2IzZGMwN2EyNjM2MzQwZDU1YjlmYjUzMDY1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTcgRmViIDIwMTYgMDA6MTU6NDQgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gY2xvY2stdGltZTogbWFrZSBjaGFuZ2Ugb2Ygc3lzdGVtJ3MgdGltZXpvbmUgY2hhbmdlIHRpbWUgZm9yCisgREVGQVVMVF9USU1FWk9ORQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitjbG9ja190aW1lLT50aW1lem9uZSBpcyBzZXQgaW4gY2xvY2tfdGltZV9pbml0IHNvIHRoZSBjb25kaXRpb24KKworJ2Nsb2NrX3RpbWUtPnRpbWV6b25lICE9IE5VTEwKKworaXMgbWF0Y2hpbmcgYWx3YXlzLgorCitUZXN0ZWQgYnkgc2VsZWN0aW5nIHNlY29uZHMgZGlzcGxheWVkICgtPiBxdWljayB1cGRhdGUpIGFuZCBjaGFuZ2luZyB0aW1lem9uZS4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgWzFdCisKK1sxXSBodHRwczovL2J1Z3ppbGxhLnhmY2Uub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ1MworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBwbHVnaW5zL2Nsb2NrL2Nsb2NrLXRpbWUuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3BsdWdpbnMvY2xvY2svY2xvY2stdGltZS5jIGIvcGx1Z2lucy9jbG9jay9jbG9jay10aW1lLmMKK2luZGV4IGIwMTViMTMuLjQ0NTliODUgMTAwNjQ0CistLS0gYS9wbHVnaW5zL2Nsb2NrL2Nsb2NrLXRpbWUuYworKysrIGIvcGx1Z2lucy9jbG9jay9jbG9jay10aW1lLmMKK0BAIC0xOTgsNyArMTk4LDcgQEAgY2xvY2tfdGltZV9nZXRfdGltZSAoQ2xvY2tUaW1lICpjbG9ja190aW1lKQorIAorICAgcGFuZWxfcmV0dXJuX3ZhbF9pZl9mYWlsIChYRkNFX0lTX0NMT0NLX1RJTUUgKGNsb2NrX3RpbWUpLCBOVUxMKTsKKyAKKy0gIGlmIChjbG9ja190aW1lLT50aW1lem9uZSAhPSBOVUxMKQorKyAgaWYgKGdfc3RyY21wMCAoY2xvY2tfdGltZS0+dGltZXpvbmVfbmFtZSwgREVGQVVMVF9USU1FWk9ORSkgIT0gMCkKKyAgICAgZGF0ZV90aW1lID0gZ19kYXRlX3RpbWVfbmV3X25vdyAoY2xvY2tfdGltZS0+dGltZXpvbmUpOworICAgZWxzZQorICAgICBkYXRlX3RpbWUgPSBnX2RhdGVfdGltZV9uZXdfbm93X2xvY2FsICgpOworLS0gCisyLjUuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwveGZjZTQtcGFuZWxfNC4xMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTJiOTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTIuMC5iYgpAQCAtMCwwICsxLDQxIEBACitTVU1NQVJZID0gIlhmY2U0IFBhbmVsIgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjZhOGJkNzVkOGY4NDk4YmRiYmU2NGEyNzc5MWQ0ZWUiCitERVBFTkRTID0gImxpYnhmY2U0dXRpbCBnYXJjb24gbGlieGZjZTR1aSB4ZmNvbmYgZXhvIGd0aysgZ3RrKzMgZGJ1cyBjYWlybyB2aXJ0dWFsL2xpYngxMSBsaWJ4bWwyIGxpYnduY2siCisKK2luaGVyaXQgeGZjZSBndGstZG9jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1YTMzM2FmNzA0ZTM4NmM5MGFkODI5YjZiYWYxYTc1OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzMDkyMGZjMmUyZmMyNjI3OWE4MmI1MjYxYTE1NWMyY2MxNWFiMmFhMWNlZDIyNzU2ODRhNmZmODI2MWI5N2IwIgorU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vMDAwMS1GaXgtY29tcGlsZXItd2FybmluZy1pbi1jbG9jay1wbHVnaW4tYWJvdXQtc2hhZG93ZWQtLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1jbG9jay10aW1lLW1ha2UtY2hhbmdlLW9mLXN5c3RlbS1zLXRpbWV6b25lLWNoYW5nZS10LnBhdGNoIFwKKyIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1ndGszIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKKyAgICBwbHVnaW5fZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLycpCisgICAgcGx1Z2luX25hbWUgPSBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5fZGlyLCAnXmxpYiguKikuc28kJywgcGx1Z2luX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgJyR7UE59IHBsdWdpbiBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgYXV4X2ZpbGVzX3BhdHRlcm49Wycke2RhdGFkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvJXMuZGVza3RvcCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke3N5c2NvbmZkaXJ9L3hkZy94ZmNlL3BhbmVsLyVzLSonLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yLzQ4eDQ4L2FwcHMvKi0lcy5wbmcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtiaW5kaXJ9LyolcyonXSkKK30KKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7UE59LXBsdWdpbi0uKiIKKworUEFDS0FHRVMgPSsgIiR7UE59LWd0azMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0veGZjZTQvcGFuZWwvbWlncmF0ZSBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3dyYXBwZXItMS4wIgorCitGSUxFU18ke1BOfS1ndGszID0gIiBcCisgICAgJHtsaWJkaXJ9L2xpYnhmY2U0cGFuZWwtMi4wJHtTT0xJQlN9IFwKKyAgICAke2xpYmRpcn0veGZjZTQvcGFuZWwvd3JhcHBlci0yLjAgXAorIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucy8uZGVidWcgXAorIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBvd2VyLW1hbmFnZXIveGZjZTQtcG93ZXItbWFuYWdlcl8xLjQuNC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wb3dlci1tYW5hZ2VyL3hmY2U0LXBvd2VyLW1hbmFnZXJfMS40LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA3MGRiMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wb3dlci1tYW5hZ2VyL3hmY2U0LXBvd2VyLW1hbmFnZXJfMS40LjQuYmIKQEAgLTAsMCArMSw0MiBAQAorU1VNTUFSWSA9ICJQb3dlciBtYW5hZ2VyIGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvYXBwbGljYXRpb25zL3hmY2U0LXBvd2VyLW1hbmFnZXIiCitTRUNUSU9OID0gIngxMSIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKKworaW5oZXJpdCB4ZmNlCisKK0RFUEVORFMgKz0gImd0aysgZ2xpYi0yLjAgZGJ1cy1nbGliIHhmY29uZiBsaWJ4ZmNlNHVpIGxpYnhmY2U0dXRpbCBsaWJub3RpZnkgXAorICAgICAgICAgICBsaWJ4cmFuZHIgdmlydHVhbC9saWJ4MTEgbGlieGV4dCB4ZmNlNC1wYW5lbCB1cG93ZXIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlN2QwMDU0OGU1OGJmMTkyMjllNzI3ODE4MTg0YzFlMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNTBlYzhhYTdlNzg0OGM1N2MwZjg1NmRjZWI4MTMyZWI1ZjM3NTg1ZjBhYzE2Mjc0NTlhYjhjODgyYzczYjA3IgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWVuYWJsZS1uZXR3b3JrLW1hbmFnZXIgXAorICAgIC0tZW5hYmxlLXBhbmVsLXBsdWdpbnMgXAorIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCdzeXN0ZW1kJywnJyxkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0tZW5hYmxlLXBvbGtpdCwgLS1kaXNhYmxlLXBvbGtpdCwgcG9sa2l0IgorCitQQUNLQUdFUyArPSAieGZjZTQtcG93ZXJtYW5hZ2VyLXBsdWdpbiIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisgICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKKyIKKworRklMRVNfeGZjZTQtcG93ZXJtYW5hZ2VyLXBsdWdpbiA9ICIgXAorICAgICR7bGliZGlyfS94ZmNlNCBcCisgICAgJHtkYXRhZGlyfS94ZmNlNCBcCisiCisKK1JERVBFTkRTX3hmY2U0LXBvd2VybWFuYWdlci1wbHVnaW4gPSAiJHtQTn0iCitSREVQRU5EU18ke1BOfSA9ICJuZXR3b3JrbWFuYWdlciAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJycsJ2NvbnNvbGVraXQnLGQpfSIKKworIyB4ZmNlNC1icmlnaHRuZXNzLXBsdWdpbiB3YXMgcmVwbGFjZWQgYnkgeGZjZTQtcG93ZXJtYW5hZ2VyLXBsdWdpbgorUlBST1ZJREVTX3hmY2U0LXBvd2VybWFuYWdlci1wbHVnaW4gKz0gInhmY2U0LWJyaWdodG5lc3MtcGx1Z2luIgorUlJFUExBQ0VTX3hmY2U0LXBvd2VybWFuYWdlci1wbHVnaW4gKz0gInhmY2U0LWJyaWdodG5lc3MtcGx1Z2luIgorUkNPTkZMSUNUU194ZmNlNC1wb3dlcm1hbmFnZXItcGx1Z2luICs9ICJ4ZmNlNC1icmlnaHRuZXNzLXBsdWdpbiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXNzaW9uL21hY2hpbmUtaG9zdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXNzaW9uL21hY2hpbmUtaG9zdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wM2JkMjA1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXNlc3Npb24vbWFjaGluZS1ob3N0LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiTWV0YSBwYWNrYWdlIGFkZGluZyBtYWNoaW5lIG5hbWUgdG8ga25vd24gaG9zdHMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIgorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitMT0NBTEhPU1RNQUNISU5FID0gIjEyNy4wLjAuMSAgICAke01BQ0hJTkV9IgorCisjIG9uIHNvbWUgbWFjaGluZXMgc3RhcnRpbmcgYXBwbGljYXRpb25zIGFzIHhmY2U0LXRlcm1pbmFsIHRha2UgYWdlcyB3aXRob3V0CisjIG1hY2hpbmUgbmFtZSBpbiBob3N0cworcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKK2lmICEgZ3JlcCAtcSAnJHtMT0NBTEhPU1RNQUNISU5FfScgJEQvZXRjL2hvc3RzIDsgdGhlbgorICAgIGVjaG8gJyR7TE9DQUxIT1NUTUFDSElORX0nID4+ICREL2V0Yy9ob3N0cworZmkKK30KKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXNzaW9uL3hmY2U0LXNlc3Npb24vMDAwMS1jb25maWd1cmUuaW4taGFyZC1jb2RlLXBhdGgtdG8taWNlYXV0aC5wYXRjaCBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXNzaW9uL3hmY2U0LXNlc3Npb24vMDAwMS1jb25maWd1cmUuaW4taGFyZC1jb2RlLXBhdGgtdG8taWNlYXV0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjE5Y2RlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXNlc3Npb24veGZjZTQtc2Vzc2lvbi8wMDAxLWNvbmZpZ3VyZS5pbi1oYXJkLWNvZGUtcGF0aC10by1pY2VhdXRoLnBhdGNoCkBAIC0wLDAgKzEsNDAgQEAKK0Zyb20gYTYyOWIwNTFmNGU1NDYyMTUwYzc3Yjk1NTc0YmJjN2EzM2JjOTY2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMzEgRGVjIDIwMTIgMTY6MzU6MjkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLmFjOiBoYXJkIGNvZGUgcGF0aCB0byBpY2VhdXRoCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK3dvcmthcm91bmQgQUNfUEFUSF9QUk9HIHdoaWNoIHdhcyBtZWFudCB0byBmaW5kIHByb2dyYW1zIHJlcXVpcmVkIGF0IGJ1aWxkLXRpbWUKK25vdCBhdCBydW4tdGltZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWddCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8ICAgIDggKy0tLS0tLS0KKyAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggM2NmMzUxMC4uNTA1ZTc0NCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTExLDEzICsxMTEsNyBAQCBYRFRfRkVBVFVSRV9ERUJVRyhbeGZzbV9kZWJ1Z19kZWZhdWx0XSkKKyBkbmwgQ2hlY2sgZm9yIGxpbmtlciBvcHRpbWl6YXRpb25zCisgWERUX0ZFQVRVUkVfTElOS0VSX09QVFMoKQorIAorLWRubCBDaGVjayBmb3IgaWNlYXV0aAorLUFDX1BBVEhfUFJPRyhbSUNFQVVUSF0sIFtpY2VhdXRoXSkKKy1pZiB0ZXN0IHgiJElDRUFVVEgiICE9IHgiIjsgdGhlbgorLSAgQUNfREVGSU5FX1VOUVVPVEVEKFtJQ0VBVVRIX0NNRF0sIFsiJElDRUFVVEgiXSwgW3BhdGggdG8gaWNlYXV0aF0pCistZWxzZQorLSAgQUNfTVNHX0VSUk9SKFtpY2VhdXRoIG1pc3NpbmcsIHBsZWFzZSBjaGVjayB5b3VyIFgxMSBpbnN0YWxsYXRpb25dKQorLWZpCisrQUNfREVGSU5FX1VOUVVPVEVEKFtJQ0VBVVRIX0NNRF0sIFsiJGJpbmRpci9pY2VhdXRoIl0sIFtwYXRoIHRvIGljZWF1dGhdKQorIAorIGRubCBGaW5kIGEgbG9jYXRpb24gZm9yIHRoZSBzZXNzaW9uIGRlc2t0b3AgZmlsZQorIEFDX01TR19DSEVDS0lORyhbd2hhdCB4c2Vzc2lvbi1wcmVmaXggdG8gdXNlXSkKKy0tIAorMS43LjQuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtc2Vzc2lvbi94ZmNlNC1zZXNzaW9uXzQuMTIuMS5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXNzaW9uL3hmY2U0LXNlc3Npb25fNC4xMi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxNWFlYzMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtc2Vzc2lvbi94ZmNlNC1zZXNzaW9uXzQuMTIuMS5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gInhmY2U0LXNlc3Npb24gaXMgYSBzZXNzaW9uIG1hbmFnZXIgZm9yIFhmY2UgNCBEZXNrdG9wIEVudmlyb25tZW50IgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWFjMmU3Y2ZmMWRkYWY0OGI2ZWFiNjAyOGYyM2VmODgiCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGxpYnNtIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGd0aysgbGlid25jayBkYnVzIGRidXMtZ2xpYiB4ZmNvbmYgcG9sa2l0IgorUkRFUEVORFNfJHtQTn0gPSAibmV0YmFzZSB4aW5pdCBkYnVzLXgxMSBpY2VhdXRoIHVwb3dlciIKKworaW5oZXJpdCB4ZmNlIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworU1JDX1VSSVttZDVzdW1dID0gImY0OTIxZmIyZTYwNmU3NDY0M2RhZjEyMTIyNjMwNzZjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk3ZDdmMmEyZDBhZjdmMzYyM2I2OGQxZjA0MDkxZTAyOTEzYjI4Zjk1NTVkYWI4YjBkMjZjOGExMjk5ZDA4ZmQiCitTUkNfVVJJICs9ICIgXAorICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5pbi1oYXJkLWNvZGUtcGF0aC10by1pY2VhdXRoLnBhdGNoIFwKKyIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAieC1zZXNzaW9uLW1hbmFnZXIiCitBTFRFUk5BVElWRV9UQVJHRVRbeC1zZXNzaW9uLW1hbmFnZXJdID0gIiR7YmluZGlyfS94ZmNlNC1zZXNzaW9uIgorQUxURVJOQVRJVkVfUFJJT1JJVFlfJHtQTn0gPSAiMTAwIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2xpYmRpcn0veGZjZTQvKi8qLyouc28gXAorICAgICR7bGliZGlyfS94ZmNlNC9zZXNzaW9uLyotKi0qIFwKKyAgICAke2RhdGFkaXJ9L3hzZXNzaW9ucyBcCisgICAgJHtkYXRhZGlyfS90aGVtZXMvRGVmYXVsdC9iYWxvdS8qIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0veGZjZTQvKi8qLy5kZWJ1ZyIKKworUkRFUEVORFNfJHtQTn0gKz0gIm1hY2hpbmUtaG9zdCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXR0aW5ncy9maWxlcy8wMDAxLXhzZXR0aW5ncy54bWwtU2V0LWRlZmF1bHQtdGhlbWVzLnBhdGNoIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXNldHRpbmdzL2ZpbGVzLzAwMDEteHNldHRpbmdzLnhtbC1TZXQtZGVmYXVsdC10aGVtZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdkZjA1YQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXR0aW5ncy9maWxlcy8wMDAxLXhzZXR0aW5ncy54bWwtU2V0LWRlZmF1bHQtdGhlbWVzLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gMjIxOGJhOGEyMWU5ZjU3MTViNjUyYzY0MTZjMmRkYjU1MjY4NmIxNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjAgTWF5IDIwMTIgMTU6MjI6MDkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0geHNldHRpbmdzLnhtbDogU2V0IGRlZmF1bHQgdGhlbWVzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyYW0gc3RhdHVzOiAgSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgeGZzZXR0aW5nc2QveHNldHRpbmdzLnhtbCB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS94ZnNldHRpbmdzZC94c2V0dGluZ3MueG1sIGIveGZzZXR0aW5nc2QveHNldHRpbmdzLnhtbAoraW5kZXggNjViYTFlZS4uOWVmYjNjZCAxMDA2NDQKKy0tLSBhL3hmc2V0dGluZ3NkL3hzZXR0aW5ncy54bWwKKysrKyBiL3hmc2V0dGluZ3NkL3hzZXR0aW5ncy54bWwKK0BAIC0xLDggKzEsOCBAQAorIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CisgPGNoYW5uZWwgbmFtZT0ieHNldHRpbmdzIiB2ZXJzaW9uPSIxLjAiPgorICAgPHByb3BlcnR5IG5hbWU9Ik5ldCIgdHlwZT0iZW1wdHkiPgorLSAgICA8cHJvcGVydHkgbmFtZT0iVGhlbWVOYW1lIiB0eXBlPSJlbXB0eSIvPgorLSAgICA8cHJvcGVydHkgbmFtZT0iSWNvblRoZW1lTmFtZSIgdHlwZT0iZW1wdHkiLz4KKysgICAgPHByb3BlcnR5IG5hbWU9IlRoZW1lTmFtZSIgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iWGZjZSIvPgorKyAgICA8cHJvcGVydHkgbmFtZT0iSWNvblRoZW1lTmFtZSIgdHlwZT0ic3RyaW5nIiB2YWx1ZT0iQWR3YWl0YSIvPgorICAgICA8cHJvcGVydHkgbmFtZT0iRG91YmxlQ2xpY2tUaW1lIiB0eXBlPSJpbnQiIHZhbHVlPSI0MDAiLz4KKyAgICAgPHByb3BlcnR5IG5hbWU9IkRvdWJsZUNsaWNrRGlzdGFuY2UiIHR5cGU9ImludCIgdmFsdWU9IjUiLz4KKyAgICAgPHByb3BlcnR5IG5hbWU9IkRuZERyYWdUaHJlc2hvbGQiIHR5cGU9ImludCIgdmFsdWU9IjgiLz4KKy0tIAorMi4xLjAKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXNldHRpbmdzL3hmY2U0LXNldHRpbmdzX2dpdC5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXR0aW5ncy94ZmNlNC1zZXR0aW5nc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVlZDA0NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1zZXR0aW5ncy94ZmNlNC1zZXR0aW5nc19naXQuYmIKQEAgLTAsMCArMSwzOCBAQAorU1VNTUFSWSA9ICJYZmNlNCBzZXR0aW5ncyIKK1NFQ1RJT04gPSAieDExL3dtIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJleG8gZXhvLW5hdGl2ZSBnYXJjb24gZ3RrKyBsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSB4ZmNvbmYgZGJ1cy1nbGliIGxpYnhpIHZpcnR1YWwvbGlieDExIHhyYW5kciBsaWJ4Y3Vyc29yIGxpYnhrbGF2aWVyIHVwb3dlciIKKworaW5oZXJpdCB4ZmNlIHhmY2UtZ2l0CisKKyMgc2Nobml0emVsdG9ueSBnaXQgcmVwbyBpcyB0aGUgbWFpbmxpbmUgcmVwbworIyArIGRhdGV0aW1lLXNldHRlciAtIHNlbnQgdG8gbWFpbmxpbmUgYnV0IHN0cmFuZ2UgcmVzcG9uc2UKKyMgKyBtaW5vciBidWdmaXhlcyAtIHNlbnQgbWFpbmxpbmUgYnV0IG5vIHJlc3BvbnNlCisjICsgb3B0aW9uIHRvIGhpZGUgbW91c2Vwb2ludGVyIGZvciBhIHNwZWNpZmljICh0b3VjaCkgaW5wdXQgZGV2aWNlIC0gc2VudCBtYWlubGluZSBidXQgbm8gcmVzcG9uc2UKK1NSQ19VUkkgPSAiIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL3NjaG5pdHplbHRvbnkveGZjZTQtc2V0dGluZ3MuZ2l0O3Byb3RvY29sPWdpdDticmFuY2g9Zm9yLW9lLTQuMTIuMC0xIFwKKyAgICBmaWxlOi8vMDAwMS14c2V0dGluZ3MueG1sLVNldC1kZWZhdWx0LXRoZW1lcy5wYXRjaCBcCisiCitTUkNSRVYgPSAiYzY2ODNjYjJjZmY0ODljMTZjMmM3YjVlYWI0MDE3YmI0NjFmMDdmMSIKK1MgPSAiJHtXT1JLRElSfS9naXQiCitQViA9ICI0LjEyLjArZ2l0JHtTUkNQVn0iCisgCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLW1haW50YWluZXItbW9kZSAtLWRpc2FibGUtZGVidWciCisKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywnZGF0ZXRpbWUtc2V0dGVyJywnJyxkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdhbHNhJywnc291bmQtc2V0dGVyJywgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3B1bHNlYXVkaW8nLCdzb3VuZC1zZXR0ZXInLCcnLGQpLGQpfSBcCisiCitQQUNLQUdFQ09ORklHW2RhdGV0aW1lLXNldHRlcl0gPSAiLS1lbmFibGUtZGF0ZXRpbWUtc2V0dGluZ3MsIC0tZGlzYWJsZS1kYXRldGltZS1zZXR0aW5ncywsIHR6ZGF0YSIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1saWJub3RpZnksLS1kaXNhYmxlLWxpYm5vdGlmeSxsaWJub3RpZnkiCitQQUNLQUdFQ09ORklHW3NvdW5kLXNldHRlcl0gPSAiLS1lbmFibGUtc291bmQtc2V0dGluZ3MsIC0tZGlzYWJsZS1zb3VuZC1zZXR0aW5ncywgbGliY2FuYmVycmEsIGxpYmNhbmJlcnJhLWd0azIgc291bmQtdGhlbWUtZnJlZWRlc2t0b3AiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7bGliZGlyfS94ZmNlNCBcCisgICAgJHtkYXRhZGlyfS94ZmNlNCBcCisiCisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJhZHdhaXRhLWljb24tdGhlbWUiCitSUkVDT01NRU5EU18ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ2Fsc2EnLCdsaWJjYW5iZXJyYS1hbHNhJywnJyxkKX0iCitSUkVDT01NRU5EU18ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3B1bHNlYXVkaW8nLCdsaWJjYW5iZXJyYS1wdWxzZScsJycsZCl9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY29uZi94ZmNvbmZfNC4xMi4wLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY29uZi94ZmNvbmZfNC4xMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmMWRmYTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjb25mL3hmY29uZl80LjEyLjAuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJYZmNlIGNvbmZpZ3VyYXRpb24gZGFlbW9uIGFuZCB1dGlsaXRpZXMiCitTRUNUSU9OID0gIngxMS93bSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKK0RFUEVORFMgPSAiZGJ1cy1nbGliIGxpYnhmY2U0dXRpbCBwZXJsIGludGx0b29sLW5hdGl2ZSB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIgorCitpbmhlcml0IHhmY2UgZ3RrLWRvYworCitFWFRSQV9PRUNPTkYgKz0gIlBFUkw9JHtTVEFHSU5HX0RJUl9UQVJHRVR9L3Vzci9iaW4vcGVybCIKKworU1JDX1VSSVttZDVzdW1dID0gIjhlYmZhYzUwN2I0ZDZjZTNmNGJhYzlkMjU3YzI4NTNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk5MTBlYWVhODQwNTMzNjQxNWQ0ZDdmMzA1NjQwM2Y4YzY3YmMyM2JhMGRjZTI1MWVhYzM1MjA1YzYwM2IxNTYiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0veGZjZTQveGZjb25mL3hmY29uZmQgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzL29yZy54ZmNlLlhmY29uZi5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmZGVza3RvcC94ZmRlc2t0b3BfNC4xMi4zLmJiIGIvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmZGVza3RvcC94ZmRlc2t0b3BfNC4xMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmNGI2Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZkZXNrdG9wL3hmZGVza3RvcF80LjEyLjMuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJYZmNlNCBEZXNrdG9wIE1hbmFnZXIiCitTRUNUSU9OID0gIngxMS9iYXNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJnbGliLTIuMCBndGsrIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGxpYnduY2sgeGZjb25mIGRidXMtZ2xpYiB0aHVuYXIgZ2FyY29uIGV4byIKKworaW5oZXJpdCB4ZmNlCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjYjM0ZjRmMzMzZDdkMTIyZjE2ODhkMmYxNTUyMDJjOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhOGE4ZDkzNzQ0ZDg0MmNhNmFjMWY5YmQyYzg3ODllZTE3ODkzN2JjYTdlMTcwZTUyMzljYmRiZWYzMDUyMGFjIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tub3RpZnldID0gIi0tZW5hYmxlLW5vdGlmaWNhdGlvbnMsLS1kaXNhYmxlLW5vdGlmaWNhdGlvbnMsbGlibm90aWZ5IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9iYWNrZ3JvdW5kcyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZndtNC9maWxlcy8wMDAxLWRvbi10LWJsb2NrLWRpc3BsYXktZXZlbnRzLXdoZW4tdGltZS1pcy1zZXQtYmFja3dhcmQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZ3bTQvZmlsZXMvMDAwMS1kb24tdC1ibG9jay1kaXNwbGF5LWV2ZW50cy13aGVuLXRpbWUtaXMtc2V0LWJhY2t3YXJkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4ZmQ3NmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZ3bTQvZmlsZXMvMDAwMS1kb24tdC1ibG9jay1kaXNwbGF5LWV2ZW50cy13aGVuLXRpbWUtaXMtc2V0LWJhY2t3YXJkLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gZTg3OTc3Njk2ZjAzYjBjOWY3Mjg4NGY4ZTNlM2VjMzI0OGRmZDgwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTggSnVuIDIwMTMgMTI6NDY6NDIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gZG9uJ3QgYmxvY2sgZGlzcGxheSBldmVudHMgd2hlbiB0aW1lIGlzIHNldCBiYWNrd2FyZHMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgWzFdCisKK1sxXSBodHRwczovL2J1Z3ppbGxhLnhmY2Uub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE4NAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBzcmMvZGlzcGxheS5jIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Rpc3BsYXkuYyBiL3NyYy9kaXNwbGF5LmMKK2luZGV4IDAwMzE4ZDUuLjY1MWJjN2EgMTAwNjQ0CistLS0gYS9zcmMvZGlzcGxheS5jCisrKysgYi9zcmMvZGlzcGxheS5jCitAQCAtNzMzLDcgKzczMyw3IEBAIG15RGlzcGxheVVwZGF0ZUN1cnJlbnRUaW1lIChEaXNwbGF5SW5mbyAqZGlzcGxheSwgWEV2ZW50ICpldikKKyAgICAgICAgICAgICBicmVhazsKKyAgICAgfQorIAorLSAgICBpZiAoKHRpbWVzdGFtcCAhPSAoZ3VpbnQzMikgQ3VycmVudFRpbWUpICYmIFRJTUVTVEFNUF9JU19CRUZPUkUoZGlzcGxheS0+Y3VycmVudF90aW1lLCB0aW1lc3RhbXApKQorKyAgICBpZiAoKHRpbWVzdGFtcCAhPSAoZ3VpbnQzMikgQ3VycmVudFRpbWUpIC8qJiYgVElNRVNUQU1QX0lTX0JFRk9SRShkaXNwbGF5LT5jdXJyZW50X3RpbWUsIHRpbWVzdGFtcCkqLykKKyAgICAgeworICAgICAgICAgZGlzcGxheS0+Y3VycmVudF90aW1lID0gdGltZXN0YW1wOworICAgICB9CistLSAKKzEuNy42LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmd200L3hmd200XzQuMTIuMy5iYiBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZndtNC94ZndtNF80LjEyLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFkYWEwMAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZndtNC94ZndtNF80LjEyLjMuYmIKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT049IlhmY2U0IFdpbmRvdyBNYW5hZ2VyIgorU0VDVElPTiA9ICJ4MTEvd20iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDc5MTcyOGEwNzNiYzAwOWI0ZmZhZjAwYjc1OTk4NTUiCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGxpYnhwbSBndGsrIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIHhmY29uZiBsaWJ3bmNrIGRidXMtZ2xpYiBzdGFydHVwLW5vdGlmaWNhdGlvbiBleG8tbmF0aXZlIgorCitpbmhlcml0IHhmY2UgdXBkYXRlLWFsdGVybmF0aXZlcworCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1kb24tdC1ibG9jay1kaXNwbGF5LWV2ZW50cy13aGVuLXRpbWUtaXMtc2V0LWJhY2t3YXJkLnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gIjE5N2VmMDg3Y2E2YTI2MzYyN2YxYmVhNmQ1YTc5ZDZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY0YTk4OGZiYzRlMGRmN2U4NTgzYzc4MWQyNzE1NTllNTZmZDI4Njk2MDkyZjk0YWUwNTJlOWU2ZWRiMDllYWMiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICB0aGVtZWRpciA9IGQuZXhwYW5kKCcke2RhdGFkaXJ9L3RoZW1lcycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgdGhlbWVkaXIsICdeKC4qKScsICd4ZndtNC10aGVtZS0lcycsICdYRldNNCB0aGVtZSAlcycsIGFsbG93X2RpcnM9VHJ1ZSkKK30KKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXnhmd200LXRoZW1lLS4qIgorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJ4LXdpbmRvdy1tYW5hZ2VyIgorQUxURVJOQVRJVkVfVEFSR0VUW3gtd2luZG93LW1hbmFnZXJdID0gIiR7YmluZGlyfS94ZndtNCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZW3gtd2luZG93LW1hbmFnZXJdID0gIjMwIgorCitSREVQRU5EU18ke1BOfSA9ICJ4ZndtNC10aGVtZS1kZWZhdWx0IgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS94ZmNlNC94ZndtNC9oZWxwZXItZGlhbG9nIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3hmd200L2RlZmF1bHRzIFwKKyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJleGVjZGlyfS94ZmNlNC94ZndtNC8uZGVidWcvKiIKKwo=